@charset "UTF-8";
/*
Theme Name:UNIVERSAL
Theme URI:http://www.techport.co.jp/
Description:有限会社ユニバーサル サイトテーマ（「TECHNO-PORT BASIC」の子テーマ）
Template:tp-basic-2
Author:テクノポート株式会社
Author URI:http://www.techport.co.jp/
Version:2.0.0
*/
/***** Common *****/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;400;500;600;700;900&display=swap");
html, body { font-family: 'Noto Sans JP', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; color: #000; }

html { font-size: 62.5%; line-height: 1.5; }

body { font-size: 1.5rem; font-weight: 500; }
@media only screen and (max-width: 991px) { body { font-size: 1.3rem; padding-top: 60px !important; } }

.sp { display: none; }
@media only screen and (max-width: 991px) { .sp { display: block; } }

@media only screen and (max-width: 991px) { .pc { display: none; } }

/* 中央寄せ */
.text-center { text-align: center !important; }

/* 右寄せ */
.text-right { text-align: right !important; }

/* 左寄せ */
.text-left { text-align: left !important; }

.tp-btn { background: #da391c; min-width: 254px; height: 60px; border-radius: 0; border-bottom: none; font-weight: 500; color: white; line-height: 60px; padding: 0 40px 0 0; }
@media only screen and (max-width: 991px) { .tp-btn { min-width: 160px; height: 38px; line-height: 38px; } }
.tp-btn:hover { background: #595959; }
.tp-btn:before { content: ''; width: 43px; height: 13px; background: url("img/arrow_001.png") center center no-repeat; background-size: contain; top: 24px; }
@media only screen and (max-width: 991px) { .tp-btn:before { width: 27px; height: 8.5px; top: 15px; } }

/***** Header *****/
.header__pc { padding: 0; background: black; color: white; border-bottom: none; }
.header__pc .header_content { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; }
.header__pc .header_content .main_content { padding-right: 12px; }
.header__pc .header_content .buttons { display: -webkit-flex; display: -ms-flexbox; display: flex; }
.header__pc .header_content .buttons .header__btn { height: 100%; }
.header__pc .header_content .buttons .header__btn a { background: #ddd; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; flex-direction: column; align-items: center; font-size: 1.3rem; font-weight: 600; color: #fff; height: 100%; width: 100px; padding-bottom: 1em; position: relative; }
@media only screen and (max-width: 1280px) { .header__pc .header_content .buttons .header__btn a { width: 54px; padding-bottom: 0; } }
.header__pc .header_content .buttons .header__btn a .txt { display: block; position: absolute; left: 0; bottom: 8px; width: 100%; text-align: center; }
@media only screen and (max-width: 1280px) { .header__pc .header_content .buttons .header__btn a .txt { display: none; } }
.header__pc .header_content .buttons .header__btn a:hover { background: #da391c; }
.header__pc .header_content .buttons .header__btn .btn_online { background: #3c3c3c; width: 130px; }
@media only screen and (max-width: 1280px) { .header__pc .header_content .buttons .header__btn .btn_online { width: 54px; } }
.header__pc .header_content .buttons .header__btn .btn_contact { background: #646464; }
.header__pc .header_content .buttons .header__btn .btn_global { background: #000; }
.header__pc .nav__global-inner { width: 100%; }
.header__pc .header__info { -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; font-weight: 600; color: #999999; margin-top: 10px; margin-right: 13px; }
.header__pc .nav__global .menu { position: static; margin-right: 0; }
.header__pc .nav__global .menu li { position: static; line-height: 42px; }
.header__pc .nav__global .menu li a { padding: 0 1em; color: #fff; }
@media only screen and (max-width: 1280px) { .header__pc .nav__global .menu li a { padding: 0 0.5em; } }
.header__pc .nav__global .menu li a:hover { color: #da391c; }
.header__pc .nav__global .menu .menu-item-has-children:hover .header-nav-child { visibility: visible; opacity: 1; transform: translate3d(0, 0, 0); }
.header__pc .nav__global .menu .menu-item-has-children:hover .header-nav-child .sub-menu { visibility: visible; opacity: 1; transform: translate3d(0, 0, 0); }
.header__pc .nav__global .menu .menu-item-has-children .header-nav-child { background: #212121; position: absolute; left: 0; top: 100%; width: 100%; transform: translate3d(0, -6px, 0); visibility: hidden; opacity: 0; -moz-transition: 0.3s; -webkit-transition: 0.3s; -ms-transition: 0.3s; transition: 0.3s; }
.header__pc .nav__global .menu .menu-item-has-children .header-nav-child .sub-menu { position: relative; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; }
.header__pc .nav__global .menu .menu-item-has-children .header-nav-child .sub-menu li a { background: none; min-width: auto; padding: 0 0.5em; }
.header__pc .nav__global .menu .menu-item-has-children .header-nav-child .sub-menu li a:before { content: '>'; margin-right: 3px; }

.header__info-call { font-size: 18px; }

.header__info-time { font-size: 13px; margin-left: 14px; }

.header__logo-inner { width: 98%; margin-right: 0; }

.header__sp { background: black; padding: 10px 12px; }
.header__sp .header__logo-image { display: -webkit-flex; display: -ms-flexbox; display: flex; align-items: flex-end; }
.header__sp .header__logo-image a { margin-top: 12px; }
.header__sp .header__logo-image img { height: 22px; margin-top: 0; }
.header__sp .header__logo-image .header__logo-text { line-height: 1; max-height: none; color: white; }

.header .menu-toggle { background: black; }

.mobile_header_fix .header__sp { background: black; }

/***** Footer *****/
@media only screen and (max-width: 767px) { .footer { margin-top: 0; } }

#footer_cta { background: #3c3c3c; border-bottom: 1px solid white; padding-top: 20px; padding-bottom: 30px; margin-top: 30px; }
@media only screen and (max-width: 991px) { #footer_cta { margin-top: 20px; } }
#footer_cta .cta_btns { margin-bottom: 25px; }
@media only screen and (max-width: 767px) { #footer_cta .cta_btns li { width: 70%; } }
#footer_cta .cta_btns .cta_btn { height: 70px; background: none; border: 2px solid #a7a7a7; border-radius: 0; color: #a7a7a7; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; align-items: center; }
@media only screen and (max-width: 767px) { #footer_cta .cta_btns .cta_btn { height: 50px; } }
#footer_cta .cta_btns .cta_btn:hover { background: #da391c; }
#footer_cta .cta_btns .cta_btn .cta_icon { display: -webkit-flex; display: -ms-flexbox; display: flex; align-items: center; }
@media only screen and (max-width: 767px) { #footer_cta .cta_btns .cta_btn .cta_icon { height: 30px; } }
#footer_cta .cta_btns .cta_btn .cta_icon img { vertical-align: middle; max-height: 100%; }
#footer_cta .cta_btns .cta_btn .cta_title { margin: 0 0 0 1em; }
@media only screen and (max-width: 767px) { #footer_cta .cta_btns .cta_btn .cta_title { margin: 0 0 0 1.5em; } }
#footer_cta .cta_tel_time { font-size: 1.3rem; color: #a7a7a7; text-align: center; margin-bottom: 25px; }
#footer_cta .cta_tel { font-size: 4rem; font-weight: bold; color: #fff; text-align: center; }
@media only screen and (max-width: 767px) { #footer_cta .cta_tel { font-size: 3rem; } }
#footer_cta .cta_tel .cta_tel_num { font-size: 6rem; }
@media only screen and (max-width: 767px) { #footer_cta .cta_tel .cta_tel_num { font-size: 3rem; } }

.footer_cta_title { font-size: 7rem; color: #da391c; margin-bottom: 24px; }
@media only screen and (max-width: 767px) { .footer_cta_title { font-size: 5rem; margin-bottom: 0; } }

.footer__widget { background: #212121; }

.footer__menu { width: 100%; }
.footer__menu .menu { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; }
.footer__menu .menu li { font-size: 1.4rem; font-weight: 400; }
.footer__menu .menu li a { color: #999; padding: 0 2em; margin-bottom: 0.5em; border-bottom: none; border-left: 1px solid #999; line-height: 1; }
.footer__menu .menu li a:hover { color: #da391c; }
.footer__menu .menu li:last-child a { border-right: 1px solid #999; }
.footer__menu .sub-menu li { font-size: 1.3rem; letter-spacing: -0.1em; width: auto; padding: 0; margin-top: 15px; }
.footer__menu .sub-menu li a { border-left: none; padding: 0; }
.footer__menu .sub-menu li:last-child a { border-right: none; }

.copyright { background: #141414; }
.copyright .company_name { margin-right: 1em; }
@media only screen and (max-width: 991px) { .copyright .company_name { margin-right: 0; margin-top: 5px; } }
.copyright .addr { margin-right: 1em; }
@media only screen and (max-width: 991px) { .copyright .addr { margin-right: 0; margin-top: 5px; } }

.copyright__inner { -webkit-justify-content: flex-start; -ms-flex-pack: start; justify-content: flex-start; }
@media only screen and (max-width: 991px) { .copyright__inner { flex-direction: column; height: auto; } }

.copyright_info { flex-direction: column; align-items: flex-start; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; }
@media only screen and (max-width: 991px) { .copyright_info { align-items: center; } }

.footer__info-title { margin-right: 20px; }
@media only screen and (max-width: 991px) { .footer__info-title { margin-right: 0; margin-top: 2em; } }

.footer__info-address { margin-left: 0; line-height: 1.2; margin-top: 10px; display: -webkit-flex; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
@media only screen and (max-width: 991px) { .footer__info-address { flex-direction: column; align-items: center; } }

.footer__info-call { margin-top: 0; margin-left: 0; margin-right: 1em; }
@media only screen and (max-width: 991px) { .footer__info-call { margin-right: 0; margin-top: 5px; } }
@media only screen and (max-width: 767px) { .footer__info-call { line-height: 1.2; } }

.copy_text { color: #999; line-height: 1.2; margin-top: 10px; }
@media only screen and (max-width: 991px) { .copy_text { margin-bottom: 1em; } }

.sns_info {margin-left: 20px; width: 50px;}
@media only screen and (max-width: 991px) { .sns_info { margin-left: 0; margin-bottom: 1em;} }
@media only screen and (max-width: 767px) { .sns_info { margin-left: 0; margin-bottom: 1em;} }

/***** Layout *****/
/***** Front *****/
.signage_movie { width: 100%; height: 56.25vw; overflow: hidden; position: relative; }
.signage_movie video { width: 100%; }
.signage_movie .signage_title { position: absolute; top: 50%; left: 50%; width: 100%; transform: translate(-50%, -50%); font-size: 100px; font-weight: 900; color: white; letter-spacing: 0.1em; text-align: center; margin: 0; z-index: 10; }
@media only screen and (max-width: 1280px) { .signage_movie .signage_title { font-size: 8vw; } }
.signage_movie .signage_title .sub_title { font-size: 0.22em; margin-top: 3.6em; }
@media only screen and (max-width: 767px) { .signage_movie .signage_title .sub_title { font-size: 0.3em; margin-top: 0.6em; } }
.signage_movie .signage_title .tick_wrap { width: 100%; height: 1.2em; }
.signage_movie .signage_title .tick { display: inline-block; }

@keyframes ticker { /*アニメーション設定。右から左に流す、を繰り返す*/
  0% { transform: translate(0, 0); visibility: visible; }
  100% { transform: translate(-100%, 0); } }
.index_content { overflow: hidden; }
.index_content .headline { margin: 3em 0; }
.index_content .headline_title { font-size: 3.6rem; font-weight: bold; }
@media only screen and (max-width: 991px) { .index_content .headline_title { font-size: 1.8rem; } }

.index_good { background: url("img/bg_good.jpg"); background-size: cover; color: white; padding-bottom: 75px; }
@media only screen and (max-width: 991px) { .index_good { padding-bottom: 40px; } }
.index_good .inner { width: 98%; }
@media only screen and (max-width: 991px) { .index_good .inner { width: 88.88889%; } }
.index_good .headline { margin-top: 6em; }
@media only screen and (max-width: 991px) { .index_good .headline { margin-top: 3em; margin-bottom: 0; } }
.index_good .headline_title { font-size: 3.4rem; font-weight: 900; letter-spacing: 0.2em; }
@media only screen and (max-width: 991px) { .index_good .headline_title { font-size: 1.8rem; } }

.index_good_features { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
@media only screen and (max-width: 991px) { .index_good_features { flex-direction: column; align-items: center; } }
.index_good_features .feature_item { width: 370px; margin: 15px; padding: 20px 20px 12px; background: rgba(0, 0, 0, 0.5); border: 3px solid #a7a7a7; text-align: center; }
@media only screen and (max-width: 991px) { .index_good_features .feature_item { width: 100%; max-width: 480px; margin: 15px 0; border-width: 2px; } }
.index_good_features .feature_item .item_desc { font-size: 1.8rem; font-weight: 600; line-height: 1.5; }
@media only screen and (max-width: 991px) { .index_good_features .feature_item .item_desc { font-size: 1.3rem; } }
.index_good_features .feature_item .item_title { font-size: 3.6rem; font-weight: bold; color: #da391c; margin-top: 0.4em; }
@media only screen and (max-width: 991px) { .index_good_features .feature_item .item_title { font-size: 2.2rem; } }
.index_good_features .feature_item .arrow_icon { margin-top: 24px; }
@media only screen and (max-width: 991px) { .index_good_features .feature_item .arrow_icon img { height: 16px; } }

.index_good_content { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-justify-content: flex-end; -ms-flex-pack: end; justify-content: flex-end; margin-top: 120px; }
@media only screen and (max-width: 991px) { .index_good_content { flex-direction: column; margin-top: 40px; } }
.index_good_content .copy { font-size: 4.4rem; font-weight: bold; line-height: 1.5; color: #da391c; margin-right: 65px; }
@media only screen and (max-width: 991px) { .index_good_content .copy { font-size: 2.5rem; } }
.index_good_content .content { max-width: 470px; }
@media only screen and (max-width: 991px) { .index_good_content .content { padding-left: 75px; margin-top: 1em; max-width: none; } }
.index_good_content .content p { font-size: 1.6rem; line-height: 2.5; color: #ccc; }
@media only screen and (max-width: 991px) { .index_good_content .content p { font-size: 1.3rem; } }
.index_good_content .content .btn { text-align: right; margin-top: 20px; }
@media only screen and (max-width: 991px) { .index_good_content .content .btn { text-align: left; } }

.index_difficult { background-image: url("img/bg_difficult_001.png"); background-repeat: no-repeat; background-position: top 10px right 0; background-color: black; color: white; }
.index_difficult .inner { width: 98%; max-width: 1250px; }
.index_difficult .headline { margin-top: 6em; }
@media only screen and (max-width: 991px) { .index_difficult .headline { margin: 30px 0 0px; } }
.index_difficult .headline_title { color: #da391c; }
@media only screen and (max-width: 991px) { .index_difficult .material_list { width: 96%; } }
.index_difficult .material_list ul { display: -webkit-flex; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
@media only screen and (max-width: 991px) { .index_difficult .material_list ul { margin-bottom: 0; } }
.index_difficult .material_list ul li { font-size: 22px; margin: 15px 18px; }
@media only screen and (max-width: 991px) { .index_difficult .material_list ul li { font-size: 16px; margin: 8px; } }
.index_difficult .material_list ul li a { display: inline-block; background: #131313; border: 1px solid #818181; border-radius: 10px; color: #da391c; padding: 12px 40px; }
@media only screen and (max-width: 991px) { .index_difficult .material_list ul li a { padding: 8px 26px; border-width: 1px; } }
.index_difficult .material_list ul li a:hover { background: #da391c; color: #fff; }

.index_difficult_features { display: -webkit-flex; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; padding-bottom: 100px; }
@media only screen and (max-width: 991px) { .index_difficult_features { flex-direction: column; align-items: center; padding-bottom: 38px; } }
.index_difficult_features .feature_item { width: calc(50% - 15px); background: rgba(0, 0, 0, 0.5); border: 2px solid #da391c; margin-top: 30px; padding: 15px 6% 30px; position: relative; }
@media only screen and (max-width: 991px) { .index_difficult_features .feature_item { width: 96%; max-width: 480px; padding: 15px 5% 15px; } }
.index_difficult_features .feature_item:nth-child(2n) { margin-left: 30px; }
@media only screen and (max-width: 991px) { .index_difficult_features .feature_item:nth-child(2n) { margin-left: 0; } }
.index_difficult_features .feature_item .item_header { color: #da391c; text-align: center; }
.index_difficult_features .feature_item .item_header .icon { height: 65px; }
@media only screen and (max-width: 991px) { .index_difficult_features .feature_item .item_header .item_title { font-size: 1.5rem; } }
.index_difficult_features .feature_item .desc { font-size: 1.4rem; line-height: 2.2; }
@media only screen and (max-width: 991px) { .index_difficult_features .feature_item .desc { font-size: 1.3rem; } }
.index_difficult_features .feature_item .num { position: absolute; font-family: Arial, serif; font-size: 100px; font-weight: 900; font-style: italic; color: #da391c; top: 0; left: 0; }
@media only screen and (max-width: 991px) { .index_difficult_features .feature_item .num { font-size: 50px; top: 10px; left: 16px; } }

.index_quality { margin-top: 80px; }
@media only screen and (max-width: 991px) { .index_quality { margin-top: 36px; } }
@media only screen and (max-width: 991px) { .index_quality .headline { margin: 32px 0 26px; } }
.index_quality .inner { width: 100%; max-width: 1170px; background: #f0f0f0; overflow: hidden; }
.index_quality .index_quality_content { display: -webkit-flex; display: -ms-flexbox; display: flex; margin-top: 45px; margin-bottom: 60px; margin-left: 8.5%; }
@media only screen and (max-width: 991px) { .index_quality .index_quality_content { flex-direction: column; align-items: flex-end; margin: 20px 0 30px; } }
.index_quality .index_quality_content .desc { line-height: 2.2; padding-right: 145px; }
@media only screen and (max-width: 991px) { .index_quality .index_quality_content .desc { font-size: 1.3rem; padding: 0; } }
@media only screen and (max-width: 991px) { .index_quality .index_quality_content .btn { margin-top: 1.6em; } }

.index_content_footer { margin-top: 86px; position: relative; }
@media only screen and (max-width: 991px) { .index_content_footer { margin-top: 32px; } }
.index_content_footer:before { content: ''; position: absolute; left: 0; top: 150px; background: #da391c; width: 100%; height: calc(100% - 150px); z-index: -1; }
.index_content_footer .movie { text-align: center; }
.index_content_footer .movie_title { font-size: 2.2rem; color: #da391c; }
.index_content_footer .movie_content { width: 89%; max-width: 640px; position: relative; margin: 10px auto; }
.index_content_footer .movie_content .movie_wrap { position: relative; padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/ height: 0; overflow: hidden; }
.index_content_footer .movie_content .movie_wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.index_content_info { display: -webkit-flex; display: -ms-flexbox; display: flex; margin-top: 60px; }
@media only screen and (max-width: 991px) { .index_content_info { flex-direction: column; margin-top: 30px; } }
.index_content_info .info_content { width: 50%; height: 380px; display: -webkit-flex; display: -ms-flexbox; display: flex; flex-direction: column; -webkit-justify-content: center; -ms-flex-pack: center; justify-content: center; align-items: center; }
@media only screen and (max-width: 991px) { .index_content_info .info_content { width: 100%; height: 180px; } }
.index_content_info .info_content_title { font-size: 2.8rem; color: white; }
@media only screen and (max-width: 991px) { .index_content_info .info_content_title { font-size: 1.8rem; } }
.index_content_info .tp-btn { background: rgba(0, 0, 0, 0.5); border: 2px solid rgba(0, 0, 0, 0); }
@media only screen and (max-width: 991px) { .index_content_info .tp-btn { border-width: 1px; } }
.index_content_info .tp-btn:hover { border-color: #e5e5e5; }
.index_content_info .info_01 { background: url("img/bg_company.jpg"); background-size: cover; }
.index_content_info .info_02 { background: url("img/bg_falicility.jpg"); background-size: cover; }

.index_case_container .inner { width: 90%; max-width: 1170px; }
@media only screen and (max-width: 991px) { .index_case_container .inner { width: 100%; } }
.index_case_container .index_case_list { width: 61.5%; }
.index_case_container .index_case_list .case__item { padding-right: 30px; height: 615px; }
@media only screen and (max-width: 991px) { .index_case_container .index_case_list .case__item { height: 48vw; min-height: 168px; } }
.index_case_container .index_case_list .case__item img { height: 100%; width: auto; }
.index_case_container .case_cnt { display: -webkit-flex; display: -ms-flexbox; display: flex; margin-top: 20px; }
.index_case_container .case_desc_content { display: -webkit-flex; display: -ms-flexbox; display: flex; margin-top: 50px; }
@media only screen and (max-width: 991px) { .index_case_container .case_desc_content { flex-direction: column; } }
.index_case_container .case_desc_content .btn { margin-left: 200px; }
@media only screen and (max-width: 991px) { .index_case_container .case_desc_content .btn { margin-left: 0; margin-top: 20px; text-align: right; } }
.index_case_container .case__desc { line-height: 1.8; padding-left: 60px; display: none; }
@media only screen and (max-width: 991px) { .index_case_container .case__desc { padding-left: 0; } }
.index_case_container .case__desc.desc_0 { display: block; }
.index_case_container .slick-list { overflow: visible; }
.index_case_container .slick-prev, .index_case_container .slick-next { width: 26px; height: 28px; top: auto; bottom: -60px; z-index: 1000; }
.index_case_container .slick-prev:before, .index_case_container .slick-next:before { content: ''; width: 100%; height: 100%; display: block; opacity: 1; }
.index_case_container .slick-prev:hover:before, .index_case_container .slick-next:hover:before { opacity: 0.75; }
.index_case_container .slick-next { right: 40px; }
.index_case_container .slick-next:before { background: url("img/icon_slide_next.png") center center no-repeat; background-size: contain; }
.index_case_container .slick-prev { left: auto; right: 70px; }
.index_case_container .slick-prev:before { background: url("img/icon_slide_prev.png") center center no-repeat; background-size: contain; }


	
	.link_btn a{
		color: #ffffff !important;
		border-radius: 0.25em 0.25em 0.25em 0.25em;
		background: #dd3333;
		border-width: 1px 0;
		border: 1px solid #dd3333;
		font-size: 1em;
		padding: 1em;
		text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05);
		padding-inline: 2em;
		text-align: center;
		width: 40%;
		margin:30px auto;
		display: block;
		transition: 0.5s;	
	}
	
	
	.link_btn a:hover{
		background: #e0a244;
		border-color: #e0a244;
		color: #ffffff !important;
}
	

@media only screen and (max-width: 991px) { 
	.link_btn a{	
	width: 100%;
	}
}


/*# sourceMappingURL=style.css.map */
