@charset "utf-8";

/*common*/
.pc-only { display: block!important; }
.sp-only { display: none!important; }

section, main {position: relative; display: block;}
body, html { width: 100%; overflow-x: hidden; }

.page_wrapper { padding-top: 100px; -webkit-transition: all 0.6s cubic-bezier(0.36, 0.14, 0, 1) 0.0s; transition: all 0.6s cubic-bezier(0.36, 0.14, 0, 1) 0.0s; }
.page_wrapper.loadingFin { padding-top: 0; }

img { max-width: 100%; }

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

/*fade*/
.js-scroll-fade:not(.top_company_ph):not(.text-span) { opacity: 0; }
.isActive:not(.top_company_ph):not(.text-span) {
    -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-name: fadeUp;
    animation-name: fadeUp;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
@-webkit-keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}
	to{opacity:1;-webkit-transform:none;transform:none}
}
@keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}
	to{opacity:1;-webkit-transform:none;transform:none}
}

/*navi*/
.btn_humberger_box { display: none; }

.nav { display: flex; align-items: center; z-index: 10; width: 100%; padding: 28px 3.89%; background: var(--paper); justify-content: space-between; box-sizing: border-box; -webkit-transition: padding 0.5s cubic-bezier(.16,1,.3,1); transition: padding 0.5s cubic-bezier(.16,1,.3,1); }

.global_nav { display: flex; align-items: center; }
.main_nav { font-family: 'Manrope', sans-serif; font-weight: 500; display: flex; }
.main_nav li { font-size: 1.6rem; line-height: 1.35; margin-left: 41px; position: relative; }
.btn_contanct { font-family: 'Manrope', 'Noto Sans JP', sans-serif; padding: 5px 23px; margin-left: 37px; font-size: 1.4rem; background: var(--navy); border: 1px solid var(--navy); box-sizing: border-box; border-radius: 30px; color: #fff; font-weight: 500; }

.header_logo { width: auto; display: flex; align-items: center; position: relative; z-index: 9999; line-height: 1; }
.header_logo img { width: 100%; line-height: 0; }
.header_logo__link { font-family: 'Jost', sans-serif; font-weight: 300; font-style: normal; font-size: 2.1rem; letter-spacing: 0.3em; color: var(--navy) !important; text-decoration: none; }

.sp_global_nav { display: none; }

@media screen and (min-width: 901px) {
    #header { position: absolute; width: 100%; top: 0; left: 0; z-index: 9999; }
    #header.set { position: fixed; -webkit-transform: translateY(calc(-100% - 1px)); transform: translateY(calc(-100% - 1px)); }
    #header.fixed { -webkit-transition: transform 0.5s cubic-bezier(.16,1,.3,1); transition: transform 0.5s cubic-bezier(.16,1,.3,1); }
    #header.disp { position: fixed; -webkit-transform: translateY(0); transform: translateY(0); -webkit-transition: transform 0.5s cubic-bezier(.16,1,.3,1); transition: transform 0.5s cubic-bezier(.16,1,.3,1); }
    #header.fixed .header_logo,
    #header.disp .header_logo { width: auto; }
    #header.fixed .nav,
    #header.disp .nav { padding: 14px 3.89%; border-bottom: 1px solid #000; }
}

@media screen and (max-width: 900px) {
    .main_nav li { font-size: 1.4rem; line-height: 1.35; margin-left: 41px; position: relative; }
    .btn_contanct { padding: 5px 23px; margin-left: 37px; font-size: 1.3rem; background: var(--navy); border-radius: 30px; color: #fff; font-weight: 700; }
}

@media screen and (max-width: 768px) {
    .nav { display: flex; align-items: center; z-index: 10; width: 100%; padding: 19px 6.66% 0; justify-content: space-between; box-sizing: border-box; }

    .global_nav { display: none; }
    
    .btn_humberger_box { display: block; position: fixed; top: 23px; right: 4.26%; z-index: 10001; mix-blend-mode: difference; }
    body.open .btn_humberger_box { mix-blend-mode: initial; }
    .btn_humberger { position: relative; }
    .btn_humberger .open_btn { display: flex; align-items: center; -webkit-transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    body.open .btn_humberger .open_btn { opacity: 0; }
    .btn_humberger .circle { width: 9px; height: 9px; border-radius: 50%; border: 1px solid #999; box-sizing: border-box; }
    .btn_humberger .close_btn { opacity: 0; display: flex; align-items: center; position: absolute; top: 0; -webkit-transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    body.open .btn_humberger .close_btn { opacity: 1; }
    .btn_humberger .ico { width: 9px; height: 9px; position: relative; }
    .btn_humberger .ico:before, .btn_humberger .ico:after { content: ""; display: block; width: 9px; height: 1px; position: absolute; top: 50%; background: #000; }
    .btn_humberger .ico:before { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
    .btn_humberger .ico:after { -webkit-transform: rotate(45deg); transform: rotate(45deg); }
    .btn_humberger .txt { font-size: 1.0rem; color: #999; margin-left: 6.5px; }
    body.open .btn_humberger .txt { color: #000; }
    
    .sp_global_nav { opacity: 0; pointer-events: none; display: block; align-items: center; z-index: 10000; width: 100%; height: 100vh; padding: 89px 0; overflow-y: scroll; box-sizing: border-box; position: fixed; top: 0; background: var(--paper); -webkit-transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    body.open .sp_global_nav { opacity: 1; pointer-events: visible; }
    .sp_main_nav li { border-bottom: 1px solid #000; }
    .sp_main_nav li:first-child { border-top: 1px solid #000; }
    .sp_main_nav li a { display: block; padding: 15px 6.66%; }
    .sp_main_nav li .font_en { font-size: 2.5rem; line-height: 1.2; display: block; }
    .sp_main_nav li .font_ja { font-size: 1.0rem; line-height: 1.5; display: block; }
    .sp_global_nav .link_privacy { display: block; padding: 10px 6.66%; margin-top: 10px; }
    
    .nav_end { margin: 55px 6.66% 70px; display: flex; justify-content: space-between; align-items: flex-end; }
    
    .header_logo { width: auto; display: flex; align-items: center; position: relative; z-index: 9999; line-height: 1; }
    
}

/*loading*/
#loading{ width: 100%; height: 100vh; position: fixed; top: 0; left: 0; z-index: 10010; }
#loadingInner { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1; background: var(--paper);
    -webkit-animation: loadingBg 1.2s cubic-bezier(.8,0,.15,1) 0.0s forwards;
    animation: loadingBg 1.2s cubic-bezier(.8,0,.15,1) 0.0s forwards }
#loading:before {
    content: "";
    display: block; 
    transform: scaleY(0);
    opacity: 0;
    background: var(--navy);
    width: 100%;
    height: 100%;
    position: absolute; top: 0; left: 0; z-index: 2;
    transform-origin: center top;
    -webkit-animation: imgCoverBf 1.2s cubic-bezier(.8,0,.15,1) 0.0s forwards;
    animation: imgCoverBf 1.2s cubic-bezier(.8,0,.15,1) 0.0s forwards }
#loading:after {
    content: "";
    display: block; 
    transform: scaleY(0);
    background: var(--navy);
    width: 100%;
    height: 100%;
    position: absolute; top: 0; left: 0; z-index: 2;
    transform-origin: center bottom;
    -webkit-animation: imgCoverAf 1.2s cubic-bezier(.8,0,.15,1) 0.0s forwards;
    animation: imgCoverAf 1.2s cubic-bezier(.8,0,.15,1) 0.0s forwards }

.top_main_copy { opacity: 0; -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1) .3s; transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1) .3s; }
.top_main_copy.is-animation { opacity: 1; }
.top_main_copy .catch { width: 19.13vw; max-width: 350px; min-width: 200px; }
.top_main_copy .catch > div,
.footer_copy > div { display: flex; align-items: flex-end; }
.top_main_copy .catch .catch02,
.footer_copy .catch02 { margin-top: calc(25.39 / 300 * 100%); }
.top_main_copy img, .footer_copy img { width: 100%; }
.catch01, .catch02 { overflow: hidden; }
.top_main_copy .catch01 span { -webkit-transform: translateY(105%); transform: translateY(105%); -webkit-transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1) 0.3s; transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1) 0.3s; }
.top_main_copy .catch02 span { -webkit-transform: translateY(105%); transform: translateY(105%); -webkit-transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1) 0.4s; transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1) 0.4s; }
.top_main_copy .catch.is-animation span { -webkit-transform: translateX(0); transform: translateX(0); }
.top_main_copy .catch01-01,
.footer_copy .catch01-01 { width: 100%; }
.top_main_copy .catch02-01,
.footer_copy .catch02-01 { width: 100%; }

@keyframes bodyup {
  0% {
       padding-top: 20px;
  }
  100% {
       padding-top: 0px;
  }
}

@-webkit-keyframes topSlideMv {
    0% {
        opacity: 0%;
    }

    46.84% {
        opacity: 0%;
    }

    46.85%,to {
        opacity: 100%;
    }
}

@keyframes topSlideMv {
    0% {
        opacity: 0%;
    }

    46.84% {
        opacity: 0%;
    }

    46.85%,to {
        opacity: 100%;
    }
}

@-webkit-keyframes loadingBg {
    0% {
        opacity: 100%;
    }

    46.84% {
        opacity: 100%;
    }

    46.85%,to {
        opacity: 0%;
    }
}

@keyframes loadingBg {
    0% {
        opacity: 100%;
    }

    46.84% {
        opacity: 100%;
    }

    46.85%,to {
        opacity: 0%;
    }
}

@-webkit-keyframes imgCoverAf {
    0% {
        opacity: 100%;
        transform: scaleY(0)
    }

    46.84% {
        opacity: 100%;
        transform: scale(1)
    }

    46.85%,to {
        opacity: 0
    }
}

@keyframes imgCoverAf {
    0% {
        opacity: 100%;
        transform: scaleY(0)
    }

    46.84% {
        opacity: 100%;
        transform: scale(1)
    }

    46.85%,to {
        opacity: 0
    }
}

@-webkit-keyframes imgCoverBf {
    0%,46.84% {
        opacity: 0;
        transform: scaleY(0)
    }

    46.85% {
        opacity: 100%;
        transform: scale(1)
    }

    65.85% {
        opacity: 100%;
        transform: scale(1)
    }

    to {
        opacity: 100%;
        transform: scaleY(0)
    }
}

@keyframes imgCoverBf {
    0%,46.84% {
        opacity: 0;
        transform: scaleY(0)
    }

    46.85% {
        opacity: 100%;
        transform: scale(1)
    }

    65.85% {
        opacity: 100%;
        transform: scale(1)
    }

    to {
        opacity: 100%;
        transform: scaleY(0)
    }
}

@media screen and (max-width: 768px) {
    .top_main_copy { position: relative; }
    .top_main_copy .catch { width: 41.15%; max-width: 250px; min-width: auto; position: absolute; top: 0; -webkit-transform:translateY(-100%);transform:translateY(-100%) }
.top_main_copy .catch > div,
.footer_copy > div { display: flex; align-items: flex-end; }
.top_main_copy .catch .catch02,
.footer_copy .catch02 { margin-top: calc(25.39 / 300 * 100%); }
}

/*top*/
.top_main { margin-top: 195px; }
.top_main > .inner { display: flex; justify-content: space-between; flex-direction: row-reverse; }
.top_main_copy { width: 48.98%; display: flex; align-items: flex-end; flex-direction: column; }

.top_main_ph { width: 38.78%; position: relative; -webkit-transition: all 1.35s cubic-bezier(0.36, 0.14, 0, 1) 0.6s; transition: all 1.35s cubic-bezier(0.36, 0.14, 0, 1) 0.6s; -webkit-transform: translateY(150px); transform: translateY(150px); }
.top_main_ph.is-animation { -webkit-transform: translateY(0); transform: translateY(0); }
.top_main_ph:after { content: ""; display: block; width: 100%; height: 9.56vw; background: var(--paper); position: absolute; bottom: 0; left: 0; }
.top_main_ph.is-animation .ph_img_inner {
    opacity: 0;
    -webkit-animation: topSlideMv .65s cubic-bezier(.33,0,.24,1) 0.8s forwards;
    animation: topSlideMv .65s cubic-bezier(.33,0,.24,1) 0.8s forwards;
    -webkit-transform: translateY(0); transform: translateY(0);}
.top_main_ph.is-animation .ph_img:before {
    content: "";
    display: block; 
    transform: scaleX(0);
    opacity: 0;
    background: var(--navy);
    width: 100%; height: 100%;
    position: absolute; top: 0; left: 0; z-index: 2;
    transform-origin: center top;
    -webkit-animation: imgCoverBf .65s cubic-bezier(.73,0,.83,1) 0.8s forwards;
    animation: imgCoverBf .65s cubic-bezier(.73,0,.83,1) 0.8s forwards }
.top_main_ph.is-animation .ph_img:after {
    content: "";
    display: block; 
    transform: scaleX(0);
    background: var(--navy);
    width: 100%; height: 100%;
    position: absolute; top: 0; left: 0; z-index: 2;
    transform-origin: center bottom;
    -webkit-animation: imgCoverAf .65s cubic-bezier(.73,0,.83,1) 0.8s forwards;
    animation: imgCoverAf .65s cubic-bezier(.73,0,.83,1) 0.8s forwards }

.top_main_copy .txt { width: 58.33%; }
.top_main_copy .read { margin-top: 40px; font-weight: 700; opacity: 0; -webkit-transform: translateY(5px); transform: translateY(5px); -webkit-transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1) 1.5s; transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1) 1.5s; }
.top_main_copy .read.is-animation { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
.top_main_copy .ph { margin-top: 70px; position: relative; -webkit-transition: all 1.35s cubic-bezier(0.36, 0.14, 0, 1) 0.6s; transition: all 1.35s cubic-bezier(0.36, 0.14, 0, 1) 0.6s; -webkit-transform: translateY(150px); transform: translateY(150px); }
.top_main_copy.is-animation .ph { -webkit-transform: translateY(0); transform: translateY(0); }

.top_main_copy.is-animation .ph .ph_img_inner {
    opacity: 0;
    -webkit-animation: topSlideMv .65s cubic-bezier(.33,0,.24,1) 0.9s forwards;
    animation: topSlideMv .65s cubic-bezier(.33,0,.24,1) 0.9s forwards;}
.top_main_copy.is-animation .ph .ph_img:before {
    content: "";
    display: block; 
    transform: scaleX(0);
    opacity: 0;
    background: var(--navy);
    width: 100%; height: 100%;
    position: absolute; top: 0; left: 0; z-index: 2;
    transform-origin: center top;
    -webkit-animation: imgCoverBf .65s cubic-bezier(.73,0,.83,1) 0.9s forwards;
    animation: imgCoverBf .65s cubic-bezier(.73,0,.83,1) 0.9s forwards }
.top_main_copy.is-animation .ph .ph_img:after {
    content: "";
    display: block; 
    transform: scaleX(0);
    background: var(--navy);
    width: 100%; height: 100%;
    position: absolute; top: 0; left: 0; z-index: 2;
    transform-origin: center bottom;
    -webkit-animation: imgCoverAf .65s cubic-bezier(.73,0,.83,1) 0.9s forwards;
    animation: imgCoverAf .65s cubic-bezier(.73,0,.83,1) 0.9s forwards }

.top_main_slide { width: 34.43%; position: relative; left: 42.85%; margin-top: -6.37vw; overflow: hidden; -webkit-transition: all 1.35s cubic-bezier(0.36, 0.14, 0, 1) 0.6s; transition: all 1.35s cubic-bezier(0.36, 0.14, 0, 1) 0.6s; -webkit-transform: translateY(150px); transform: translateY(150px); }
.top_main_slide.is-animation { -webkit-transform: translateY(0); transform: translateY(0); }
.top_main_slide.swiper-creative .swiper-slide { transition-timing-function: cubic-bezier(.16,1,.3,1); }
.top_main_slide.is-animation .slide_img_inner {
    opacity: 0;
    -webkit-animation: topSlideMv .65s cubic-bezier(.33,0,.24,1) 0.95s forwards;
    animation: topSlideMv .65s cubic-bezier(.33,0,.24,1) 0.95s forwards; }
.top_main_slide.is-animation .slide_img:before {
    content: "";
    display: block; 
    transform: scaleX(0);
    opacity: 0;
    background: var(--navy);
    width: 100%; height: 100%;
    position: absolute; top: 0; left: 0; z-index: 2;
    transform-origin: center top;
    -webkit-animation: imgCoverBf .65s cubic-bezier(.73,0,.83,1) 0.95s forwards;
    animation: imgCoverBf .65s cubic-bezier(.73,0,.83,1) 0.95s forwards; }
.top_main_slide.is-animation .slide_img:after {
    content: "";
    display: block; 
    transform: scaleX(0);
    background: var(--navy);
    width: 100%; height: 100%;
    position: absolute; top: 0; left: 0; z-index: 2;
    transform-origin: center bottom;
    -webkit-animation: imgCoverAf .65s cubic-bezier(.73,0,.83,1) 0.95s forwards;
    animation: imgCoverAf .65s cubic-bezier(.73,0,.83,1) 0.95s forwards; }

.top_common_hd { font-size: 4.0rem; line-height: 1.2; }
.top_common_ttl { font-family: 'Manrope', 'Noto Sans JP', sans-serif; font-size: 1.2rem; font-weight: 500; margin-top: 5px; color: var(--ink-soft); }
.top_recruit .top_common_ttl { margin-top: 0; }

.top_service { margin-top: 70px; }
.top_service_head { margin: 0 6.12% 30px; }

/*why*/
.why-head { margin: 0 6.12% 30px; }
.why-head .top_common_ttl { margin-top: 5px; }
.why-head .read { margin-top: 16px; font-size: 1.6rem; line-height: 2.0; }

.top_service_item { display: flex; padding: 38px 6.12%; border-bottom: 1px solid #000; position: relative; }
.top_service_item:first-child { border-top: 1px solid #000; }
.top_service_item .num { font-size: 2.0rem; width: calc(50 / 1376 * 100%); min-width: 45px; order: 1; }
.top_service_item .name { font-size: 4.5rem; font-weight: 600; width: calc(526 / 1376 * 100%); line-height: 1; order: 2; }
.top_service_item .txt { width: calc(352 / 1376 * 100%); order: 3; }
.top_service_item .ph { width: calc(384 / 1376 * 100%); margin-left: calc(64 / 1376 * 100%); order: 4; position: relative; }

.top_news { margin: 200px 6.12% 0; }
.top_news > .inner { display: flex; justify-content: space-between; }
.top_news_head { width: calc(300 / 1376 * 100%); }
.top_news_body { width: calc(800 / 1376 * 100%); }
.news_item { display: flex; padding: 40px 0; border-bottom: 1px solid #000; }
.news_item:first-child { border-top: 1px solid #000; }
.news_item .date { font-size: 1.4rem; width: 7em; }
.news_item .cat { font-size: 1.4rem; margin-left: 35px; width: 10em; }
.news_item .ttl { font-size: 1.6rem; line-height: 1.5; flex-shrink: 2; }
.top_news_body .link_more { text-align: right; margin-top: 30px; }
.top_news .cat_list { margin-top: 40px; }
.cat_list a { display: inline-block; padding: 7px 0; font-size: 1.2rem; }

.top_recruit { margin-top: 159px; }
.top_recruit > .inner { position: relative; }
.top_recruit_bg img { width: 100%; height: 967px; object-fit: cover; }
.top_recruit_body { background: var(--paper); width: 480px; padding: 40px 0 70px 60px; box-sizing: border-box; position: absolute; left: 12.24%; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); }
.top_recruit_ph02 { width: 167px; position: absolute; right: -47px; bottom: -170px; }
.top_recruit_ph01 { width: 240px; position: absolute; top: -81px; right: 10.9%; }
.top_recruit .read { margin: 40px 0 70px; }
.top_recruit .read p { font-size: 3.0rem; font-weight: 700; line-height: 1.5; }
.top_recruit .read p + p { margin-top: 1em; }

.footer_contanct { background: var(--navy); }
.footer_contanct * { color: #fff; }
.footer_contanct > .inner { display: flex; padding: 75px 6.12%; }
.footer_contanct_hd { width: calc(420 / 1376 * 100%); }
.footer_contanct_txt { width: calc(572 / 1376 * 100%); }
.footer_contanct_txt p { font-size: 2.0rem; }
.footer_contanct_func p { font-size: 2.0rem; }
.tel_read { font-size: 2.0rem; margin-top: 90px; }
.page_common_head .tel_read { margin-top: 50px; }
.tel_num { font-size: 3.0rem; line-height: 1.0; }
.tel_notes { font-size: 1.4rem; }
.footer_contanct_func { min-width: 349px; }
.footer_contanct_func .link { font-size: 2.0rem; }
.footer_contanct_func .link a { display: flex; align-items: center; }
.footer_contanct_func .link .arrow { width: 62px; height: 62px; margin-left: 20px; background: url("../img/arrow_contanct.svg") no-repeat center / contain; -webkit-transition: background 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: background 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
.footer_contanct_func .link a:hover .arrow { background: url("../img/arrow_contanct@hv.svg") no-repeat center / contain; }

.footer_function { display: flex; justify-content: space-between; align-items: flex-start; margin: 78px 6.12% 0; }
.footer_nav { width: calc(476 / 1376 * 100%); text-align: right; margin-top: 50px; }
.footer_nav li { margin-bottom: 15px; }
.footer_nav a { font-size: 2.0rem; font-weight: 700; }
.footer_nav .font_en { font-size: 1.1rem; }
.footer_nav .footer_nav_privacy { margin-top: 25px; }
.company_info { display: flex; justify-content: space-between; margin-top: 50px; }
.footer_company { width: calc(900 / 1376 * 100%); }
.footer_slide { overflow: hidden; width: calc(412 / 900 * 100%); }
.footer_slide.swiper-creative .swiper-slide { transition-timing-function: cubic-bezier(.16,1,.3,1); }
.footer_company .name { font-size: 2.0rem; font-weight: 700; line-height: 1.5; margin-bottom: 15px; }
.footer_company address, .footer_company p { font-size: 1.6rem; font-style: normal; line-height: 1.5; }

.footer_slide .slide_img_inner {
    opacity: 0;
    -webkit-animation: topSlideMv .65s cubic-bezier(.33,0,.24,1) 0.3s forwards;
    animation: topSlideMv .65s cubic-bezier(.33,0,.24,1) 0.3s forwards;
    -webkit-animation-play-state: paused;
    animation-play-state: paused; }
.footer_slide .slide_img:before {
    content: "";
    display: block; 
    transform: scaleX(0);
    opacity: 0;
    background: var(--navy);
    width: 100%; height: 100%;
    position: absolute; top: 0; left: 0; z-index: 2;
    transform-origin: center top;
    -webkit-animation: imgCoverBf .65s cubic-bezier(.73,0,.83,1) 0.3s forwards;
    animation: imgCoverBf .65s cubic-bezier(.73,0,.83,1) 0.3s forwards;
    -webkit-animation-play-state: paused;
    animation-play-state: paused; }
.footer_slide .slide_img:after {
    content: "";
    display: block; 
    transform: scaleX(0);
    background: var(--navy);
    width: 100%; height: 100%;
    position: absolute; top: 0; left: 0; z-index: 2;
    transform-origin: center bottom;
    -webkit-animation: imgCoverAf .65s cubic-bezier(.73,0,.83,1) 0.3s forwards;
    animation: imgCoverAf .65s cubic-bezier(.73,0,.83,1) 0.3s forwards;
    -webkit-animation-play-state: paused;
    animation-play-state: paused; }
.footer_slide.isActive .slide_img_inner,
.footer_slide.isActive .slide_img:before,
.footer_slide.isActive .slide_img:after { animation-play-state: running; }

.footer_end { margin: 0 6.12% 70px; display: flex; justify-content: space-between; align-items: flex-end; }
.footer_copy { width: 12.78vw; max-width: 250px; min-width: 150px; }
.footer_copyrights { font-family: 'Manrope', sans-serif; font-size: 1.1rem; color: var(--ink-soft); }

.link_more { margin-top: 15px; }
.link_more > * { display: inline-block; font-size: 1.4rem; color: #fff; line-height: 1; position: relative; background: var(--navy); border: 1px solid var(--navy); box-sizing: border-box; padding: 10px 26px; border-radius: 20px; }

@media screen and (max-width: 1100px) {
    .top_service_item .name { font-size: 4.5rem; }
    
    .footer_contanct_txt p { font-size: 1.6rem; }
    .footer_contanct_func p { font-size: 1.6rem; }
    .footer_contanct_func { min-width: 348px; }
    .tel_read { font-size: 1.6rem; margin-top: 90px; }
    .tel_num { font-size: 2.4rem; line-height: 1.0; }
    .tel_notes { font-size: 1.2rem; }
    .link { font-size: 1.6rem; }
}


@media screen and (max-width: 900px) {
    .top_service_item { display: flex; flex-wrap: wrap; padding: 38px 6.12%; border-bottom: 1px solid #000; }
.top_service_item .num { font-size: 2.0rem; width: 50px; }
    .top_service_item .name { font-size: 6.0rem; font-weight: 700; width: calc(100% - 50px); margin-bottom: 30px; line-height: 1; }
    .top_service_item .txt { width: calc(50% - 50px); margin-left: 50px; }
    .top_service_item .ph { width: calc(50% - 50px); margin-left: 50px; }
    
    .top_news > .inner { display: block; justify-content: space-between; }
    .top_news_head { width: auto; }
    .top_news_body { width: auto; margin-top: 30px; }
    .cat_list { display: flex; }
    .cat_list * + * { margin-left: 20px; }
    
    .footer_contanct > .inner { display: block; padding: 75px 6.12%; }
    .footer_contanct_hd { width: auto; }
    .footer_contanct_txt { width: auto; margin-left: 9.84%; margin-top: 30px; }
    .footer_contanct_func { margin-left: 9.84%; margin-top: 30px;}
}

@media screen and (max-width: 768px) {
    .top_main { margin-top: 0; }
    .top_main > .inner { display: block; justify-content: space-between; }
    .top_main_copy { width: auto; display: flex; align-items: flex-start; justify-content: flex-start; }
    .top_main_ph { width: auto; position: relative; margin-left: 56.67%; }
    .top_main_ph:after { display: none; }
    .top_main_copy .txt { width: 86.68%; margin: 0 auto; }
    .top_main_copy .read { margin-top: 20px; font-weight: 700; }
    .top_main_copy .ph { width: 52%; margin-top: 30px; }
    .top_main_slide { width: 40.26%; position: relative; left: 48.0%; top: 0; margin-top: 30px; overflow: hidden; }

    .top_common_hd { font-size: 3.0rem; line-height: 1.2; }
.top_common_ttl { font-size: 1.2rem; font-weight: 700; margin-top: 5px; }
.top_recruit .top_common_ttl { margin-top: 0; }

.top_service { margin-top: 70px; }
.top_service_head { margin: 0 6.12% 30px; }

    /*why mobile*/
    .why-head { margin: 0 6.66% 24px; }
    .why-head .read { font-size: 1.3rem; }

    .top_service_item { display: block; padding: 23px 6.66% 45px 7.46%; border-bottom: 1px solid #000; position: relative; }
.top_service_item:first-child { border-top: 1px solid #000; }
    .top_service_item .num { font-size: 1.2rem; width: 30px; min-width: auto; position: absolute; left: 7.46%; }
    .top_service_item .name { font-size: 3.6rem; margin-left: 30px; margin-bottom: 20px; font-weight: 700; width: auto; line-height: 1; }
    .top_service_item .txt { width: auto; margin-left: 30px; margin-top: 20px; }
    .top_service_item .ph { width: auto; margin-left: 30px; }
    .top_service_item .link_more { text-align: right; }
    
    .top_news { margin: 60px 6.66% 0; }
    .top_news > .inner { display: block; justify-content: space-between; }
    .top_news_head { width: auto; }
    .top_news_body { width: auto; margin-top: 40px; }
    .news_item { display: flex; flex-wrap: wrap; padding: 15px 0; border-bottom: 1px solid #000; }
.news_item:first-child { border-top: 1px solid #000; }
    .news_item .date { font-size: 1.0rem; width: 7em; }
    .news_item .cat { font-size: 1.0rem; margin-left: 14px; width: 10em; }
    .news_item .ttl { width: 100%; margin-top: 7px; font-size: 1.3rem; line-height: 1.5; flex-shrink: 2; }
.top_news_body .link_more { text-align: right; margin-top: 30px; }
    .top_news .cat_list { display: flex; margin-top: 30px; }
    .cat_list * + * { margin-left: 20px; }
.cat_list a { display: inline-block; padding: 7px 0; font-size: 1.2rem; }

    .top_recruit { margin-top: 80px; }
.top_recruit > .inner { position: relative; }
    .top_recruit_bg img { width: 100%; height: auto; object-fit: unset; }
    .top_recruit_body { background: var(--paper); width: 84%; margin-top: -95px; padding: 30px 0 70px 6.66%; box-sizing: border-box; position: relative; left: auto; top: auto; -webkit-transform: translateY(0%); transform: translateY(0%); }
    .top_recruit_ph02 { width: 61px; position: absolute; right: -40px; bottom: auto; top: 146px; }
    .top_recruit_ph01 { width: 89px; position: absolute; top: -23px; right: -10px; }
    .top_recruit .read { margin: 25px 0; }
    .top_recruit .read p { font-size: 1.9rem; font-weight: 700; line-height: 1.5; }
.top_recruit .read p + p { margin-top: 1em; }
    
    .footer_contanct > .inner { display: block; padding: 39px 6.66% 57px; }
    .footer_contanct_hd { width: auto; }
    .footer_contanct_txt { width: auto; margin-left: 9.84%; margin-top: 30px; }
    .footer_contanct_func { margin-left: 9.84%; margin-top: 30px;}
    .footer_contanct_txt p { font-size: 1.3rem; }
.footer_contanct_func p { font-size: 2.0rem; }
    .tel_read { font-size: 1.5rem; }
    .footer_contanct_func .tel_read { margin-top: 30px; }
.page_common_head .tel_read { margin-top: 50px; }
    .tel_num { display: block; font-size: 2.0rem; line-height: 1.0; }
    .tel_notes { display: block; font-size: 1.1rem; }
    .tel_link { display: block; border: 1px solid #fff; margin-top: 10px; padding: 20px 0 15px; text-align: center; border-radius: 50px; }
    .page_common_head .tel_link { border: 1px solid #000; }
    .footer_contanct_func { min-width: auto; }
    .footer_contanct_func .link { font-size: 1.6rem; }
    .footer_contanct_func .link a { display: block; text-align: center; border: 1px solid #fff; padding: 20px 0; border-radius: 50px; }
    .footer_contanct_func .link .arrow { display: none; }

    .footer_function { display: block; justify-content: space-between; margin: 50px 0 0; }
    .footer_nav { width: 100%; margin: 66px 0 33px; padding: 30px 6.66%; box-sizing: border-box; text-align: left; display: flex; justify-content: space-between; border-top: 1px solid #000; border-bottom: 1px solid #000; }
    .footer_nav ul { text-align: right; }
    .footer_nav li { margin-bottom: 5px; }
    .footer_nav a { font-size: 1.3rem; font-weight: 700; }
.footer_nav .font_en { font-size: 1.1rem; }
.footer_nav .footer_nav_privacy { margin-top: 25px; }
    .company_info { display: block; justify-content: space-between; margin-top: 50px; }
    .footer_company { width: auto; }
    .footer_company  .logo { width: 115px; margin: 0 auto; }
    .footer_slide { display: none; }
    .footer_company .name { font-size: 2.0rem; font-weight: 700; line-height: 1.5; text-align: center; }
    .footer_company address, .footer_company p { font-size: 1.6rem; font-style: normal; line-height: 1.5; text-align: center; }

    .footer_end { margin: 0 6.66% 33px; display: block; justify-content: space-between; align-items: flex-end; text-align: center; }
.footer_copy { width: 12.78vw; max-width: 250px; min-width: 130px; }
    .footer_copyrights { font-size: 0.9rem; }
    
    .link_more > * { display: inline-block; font-size: 1.0rem; color: #fff; line-height: 1; position: relative; background: var(--navy); border: 1px solid var(--navy); box-sizing: border-box; padding: 10px 26px; border-radius: 20px; }
}


/*common*/
.page_head { margin-top: 139px; padding: 55px 3.76% 45px; border-top: 1px solid #000; border-bottom: 1px solid #000; display: flex; justify-content: space-between; }
.page_head .en, .page_ttl_en { font-size: 4.0rem; line-height: 1; }
.page_head .ja, .page_ttl_ja { font-size: 1.2rem; margin-top: 5px; }
.page_head .btn { padding-top: 5px; }
.page_head .btn a { background: var(--brass); font-size: 1.4rem; font-weight: 700; display: inline-block; width: 128px; padding: 4px 0; text-align: center; margin-left: 10px; border-radius: 20px;}

.page_common_hd { font-size: 2.0rem; line-height: 1; }
.page_common_ttl { font-size: 4.0rem; font-weight: 700; line-height: 1.2; margin-top: 12px; }
.page_common_ttl + .read { margin-top: 25px;}

.page_common { padding-top: 105px; margin-bottom: 150px; border-top: 1px solid #000; }
.page_common_first { margin-top: 28px; }
.page_head + .page_common { border-top: none; }
.page_common > .inner { display: flex; justify-content: space-between; margin: 0 6.12%; }
.page_common_head { width: 41.78%; padding-right: 5%; box-sizing: border-box; }
.page_common_body { width: 58.13%; }

.common_data { width: 100%; }
.common_data th, .common_data td { font-size: 1.8rem; line-height: 1.8; font-weight: 500; border-bottom: 1px solid #000; padding: 50px 0 20px; }
.common_data th { width: 10em; }

._slidein ._cover {
    opacity: 0;
    -webkit-animation: topSlideMv .65s cubic-bezier(.73,0,.83,1) 0.3s forwards;
    animation: topSlideMv .65s cubic-bezier(.73,0,.83,1) 0.3s forwards;
    -webkit-animation-play-state: paused;
    animation-play-state: paused;}
._slidein:before {
    content: "";
    display: block; 
    transform: scaleX(0);
    opacity: 0;
    background: var(--navy);
    width: 100%; height: 100%;
    position: absolute; top: 0; left: 0; z-index: 2;
    transform-origin: center top;
    -webkit-animation: imgCoverBf .65s cubic-bezier(.73,0,.83,1) 0.3s forwards;
    animation: imgCoverBf .65s cubic-bezier(.73,0,.83,1) 0.3s forwards;
    -webkit-animation-play-state: paused;
    animation-play-state: paused; }
._slidein:after {
    content: "";
    display: block; 
    transform: scaleX(0);
    background: var(--navy);
    width: 100%; height: 100%;
    position: absolute; top: 0; left: 0; z-index: 2;
    transform-origin: center bottom;
    -webkit-animation: imgCoverAf .65s cubic-bezier(.73,0,.83,1) 0.3s forwards;
    animation: imgCoverAf .65s cubic-bezier(.73,0,.83,1) 0.3s forwards;
    -webkit-animation-play-state: paused;
    animation-play-state: paused; }
.isActive ._cover,
.isActive ._slidein:before,
.isActive ._slidein:after { animation-play-state: running; }

.top_recruit_ph02._slidein ._cover,
.top_recruit_ph02._slidein:before,
.top_recruit_ph02._slidein:after { animation-delay: 0.45s; }

/*.js-parallax { -webkit-transition: transform 0.1s cubic-bezier(.16,1,.3,1); transition: transform 0.1s cubic-bezier(.16,1,.3,1); }*/

@media screen and (max-width: 900px) {
    .page_common > .inner { display: block; justify-content: space-between; margin: 0 6.12%; }
    .page_common .page_common_head { width: auto; padding-right: 0; }
    .page_common .page_common_body { width: auto; }
}

@media screen and (max-width: 768px) {
    .page_head { margin-top: 20px; padding: 20px 7.20%; border-top: 1px solid #000; border-bottom: 1px solid #000; display: flex; justify-content: space-between; align-items: center; }
    .page_head .en, .page_ttl_en { font-size: 3.0rem; line-height: 1; }
    .page_head .ja, .page_ttl_ja { font-size: 1.0rem; margin-top: 5px; }
    .page_head .btn { padding-top: 0; }
    .page_head .btn a { background: var(--brass); font-size: 1.0rem; text-align: center; display: inline-block; width: 74px; padding: 3px 0; margin-left: 7px; border-radius: 20px;}
    
    .page_common_head { margin-bottom: 25px; }
    .page_common_hd { font-size: 1.0rem; line-height: 1; }
    .page_common_ttl { font-size: 2.0rem; font-weight: 700; }

    .page_common { padding-top: 35px; margin-bottom: 70px; border-top: 1px solid #000; }
.page_common_first { margin-top: 28px; }
.page_head + .page_common { border-top: none; }
    .page_common > .inner { display: block; justify-content: space-between; margin: 0 6.66%; }
    .page_common_head,
    .page_common_body { width: auto; }
    .page_common_body .read { margin-left: 35px; }

    .common_data { width: 100%; border-top: 1px solid #000; }
    .common_data th, .common_data td { font-size: 1.3rem; line-height: 1.8; font-weight: 500; border-bottom: 1px solid #000; padding: 20px 0; }
    .common_data th { width: 8.5em; }
}

/*about*/
.about_top > .inner { display: flex; justify-content: space-between; align-items: flex-start; margin: 1.27% 0; }
.about_top_txt { width: 30.61%; margin-left: 6.12%; padding-top: 138px; }
.about_top_txt .en { font-size: 1.6rem; }
.about_top_txt .catch { font-size: 5.1vw; font-weight: 700; line-height: 1.2; margin-bottom: 70px; }
.about_top_txt p { font-size: 2.0rem; font-weight: 700;}
.about_top_txt p + p { margin-top: 2em; }
.about_top_ph.pc { width: 55.86%; margin-right: 1.27%; display: flex; flex-wrap: wrap; justify-content: space-between; }
.about_top_ph.sp { display: none; }
.about_top_ph01 { width: 100%; margin-bottom: 2.29%; }
.about_top_ph02 { width: 54.79%; }
.about_top_ph03 { width: 42.92%; }

.about_top_txt .catch { width: 25.76vw; max-width: 404px; min-width: 250px; }
.about_top_txt .catch > div { display: flex; align-items: flex-end; }
.about_top_txt .catch .catch01 { margin-top: calc(22.92 / 404 * 100%); }
.about_top_txt .catch .catch02 { margin-top: calc(24.40 / 404 * 100%); }
.about_top_txt img { width: 100%; }
.catch01, .catch02 { overflow: hidden; }
.about_top_txt .catch01 span { -webkit-transform: translateY(105%); transform: translateY(105%); -webkit-transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1) 0.6s; transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1) 0.6s; line-height: 0; }
.about_top_txt .catch02 span { -webkit-transform: translateY(105%); transform: translateY(105%); -webkit-transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1) 0.7s; transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1) 0.7s; line-height: 0; }
.about_top_txt .catch.is-animation span { -webkit-transform: translateX(0); transform: translateX(0); }
.about_top_txt .catch01-01 { width: calc(67.60 / 404 * 100%); }
.about_top_txt .catch01-02 { width: calc(71.84 / 404 * 100%); margin-left: calc(6.40 / 404 * 100%); }
.about_top_txt .catch01-03 { width: calc(59.20 / 404 * 100%); margin-left: calc(10.48 / 404 * 100%); }
.about_top_txt .catch01-04 { width: calc(69.04 / 404 * 100%); margin-left: calc(11.76 / 404 * 100%); }
.about_top_txt .catch01-05 { width: calc(56.24 / 404 * 100%); margin-left: calc(13.20 / 404 * 100%); }
.about_top_txt .catch01-06 { width: calc(23.76 / 404 * 100%); margin-left: calc(13.04 / 404 * 100%); }
.about_top_txt .catch02-01 { width: calc(71.44 / 404 * 100%); }
.about_top_txt .catch02-02 { width: calc(69.68 / 404 * 100%); margin-left: calc(5.04 / 404 * 100%); }
.about_top_txt .catch02-03 { width: calc(50.48 / 404 * 100%); margin-left: calc(16.40 / 404 * 100%); }
.about_top_txt .catch02-04 { width: calc(61.04 / 404 * 100%); margin-left: calc(21.68 / 404 * 100%); }
.about_top_txt .catch02-05 { width: calc(24.72 / 404 * 100%); margin-left: calc(8.96 / 404 * 100%); }

.about_greeting { border-top: 1px solid #000; padding-top: 100px; }
.about_greeting > .inner { display: flex; justify-content: space-between; margin: 0 6.12%; }
.about_greeting_head { width: 58.13%; }
.about_greeting_head .ph { width: 112%; margin-left: -12%; position: relative; margin-top: 172px; }
.about_greeting_head .ph .read { width: 100px; position: absolute; top: -124px; right: 20%; }
.about_greeting_body { width: 34.88%; margin-bottom: 60px; }
.about_greeting_body p + p { margin-top: 2em; }
.about_greeting_body .name { font-size: 2.4rem; line-height: 1.2; margin-top: 2em; }
.about_greeting_body .name span { font-size: 1.6rem; }

.about_sdgs_read { display: flex; justify-content: space-between; }
.about_sdgs_read .ph { width: 146px; }
.about_sdgs_read .read { width: calc(100% - 186px); }
.about_sdgs_item { display: flex; margin-top: 60px; padding-top: 30px; border-top: 1px solid #000; }
.about_sdgs_item .num { width: 60px; font-size: 2.0rem; }
.about_sdgs_item .main { width: calc(100% - 60px); }
.about_sdgs_item .ttl { font-size: 2.5rem; line-height: 1.4; }
.about_sdgs_item .point { margin: 25px 0 15px; }
.about_sdgs_item .point span { display: inline-block; padding: 5px 25px; font-size: 1.6rem; border: 1px solid #000; border-radius: 30px; }

.about_slide { margin-bottom: 180px; }
.about_slide .swiper-wrapper { transition-timing-function: linear; }
.about_slide .swiper-slide { width: 62.43vw!important; max-width: 979px; }

.googlemap { position: relative; width: 100%; height: 0; padding-top: 67.5%; }
.googlemap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media screen and (max-width: 768px) {
    .about_top > .inner { display: block; justify-content: space-between; align-items: flex-start; margin: 0 0 59px; }
    .about_top_txt { width: auto; margin: 0 6.66%; padding-top: 45px; }
    .about_top_txt .en { font-size: 0.9rem; }
    .about_top_txt .catch { width: 50.76vw; max-width: 404px; min-width: 200px; font-size: 3.9rem; font-weight: 700; line-height: 1.2; margin-bottom: 30px; margin-top: 5px; }
    .about_top_txt p { font-size: 1.3rem; font-weight: 700;}
.about_top_txt p + p { margin-top: 2em; }
    .about_top_ph.sp { width: 55.86%; margin-right: 1.27%; margin-top: 40px; display: flex; flex-wrap: wrap; justify-content: space-between; }
    .about_top_ph.pc { display: none; }
    .about_top_ph .swiper-wrapper { transition-timing-function: linear; }
    .about_top_ph01 { width: calc(876 / 667 * 53vw)!important; margin-bottom: 0; }
    .about_top_ph02 { width: calc(480 / 500 * 53vw)!important; margin-bottom: 0; }
    .about_top_ph03 { width: calc(376 / 340 * 53vw)!important; margin-bottom: 0; }
    
    .about_greeting { border-top: 1px solid #000; padding-top: 35px; }
    .about_greeting > .inner { display: block;  margin: 0 6.66%; }
    .about_greeting_head { width: auto; }
    .about_greeting_head .ph { width: auto; margin-left: 0; position: relative; margin-top: 91px; }
    .about_greeting_head .ph .read { width: 66px; position: absolute; top: -76px; right: 20%; }
    .about_greeting_body { width: auto; margin: 55px 0 60px 35px; margin-top: 55px; }
    .about_greeting_body p { font-size: 1.6rem; }
.about_greeting_body p + p { margin-top: 2em; }
    .about_greeting_body .name { font-size: 1.8rem; line-height: 1.2; margin-top: 2em; }
    .about_greeting_body .name span { font-size: 1.2rem; }
    
    .about_sdgs_read .ph { width: 95px; }
    .about_sdgs_read .read { width: calc(100% - 135px); }
    .about_sdgs_read { display: flex; justify-content: space-between; margin-top: 25px; }
.about_sdgs_item { display: flex; margin-top: 60px; padding-top: 30px; border-top: 1px solid #000; }
    .about_sdgs_item .num { width: 35px; font-size: 1.1rem; }
    .about_sdgs_item .main { width: calc(100% - 35px); }
    .about_sdgs_item .ttl { font-size: 1.5rem; line-height: 1.4; }
.about_sdgs_item .point { margin: 25px 0 15px; }
    .about_sdgs_item .point span { display: inline-block; padding: 3px 25px; font-size: 1.2rem; border: 1px solid #000; border-radius: 30px; }
    
    .about_slide { margin-bottom: 90px; }
    
    .googlemap { position: relative; width: 100%; height: 0; padding-top: 61.53%; }
}

/*service*/
.service_menu { display: flex; border-bottom: 1px solid #000; }
.service_menu a { width: 25%; padding: 3vw 0; text-align: center; font-size: 3.0rem; font-weight: 700; position: relative; }
.service_menu .num { font-size: 2.0rem; position: absolute; top: 19px; left: 22px; }
.service_menu a + a { border-left: 1px solid #000; }
.service_menu .here { background: var(--navy); color: #fff; }

.service_top_txt { display: flex; justify-content: space-between; margin: 0 6.12%; padding: 80px 0 70px; }
.service_top_txt .catch { width: 64.24%; font-size: 3.0rem; font-weight: 700; line-height: 1.5; }
.service_top_txt .read { width: 34.88%; }
.service_top_ph { display: flex; justify-content: space-between; margin-bottom: 152px; }
.service_top_ph > div:first-child { width: 62.5%; }
.service_top_ph > div:last-child { width: 36.73%; }
.service_top_ph > div img { width: 100%; height: 41.7vw; object-fit: cover; }

@media screen and (max-width: 768px) {
.service_menu { display: flex; border-bottom: 1px solid #000; }
    .service_menu a { width: 25%; padding: 4vw 0; text-align: center; font-size: 1.3rem; font-weight: 700; position: relative; }
    .service_menu .num { font-size: 0.7rem; position: absolute; top: 6px; left: 6px; }
.service_menu a + a { border-left: 1px solid #000; }
.service_menu .here { background: var(--navy); color: #fff; }

    .service_top_txt { display: block; justify-content: space-between; margin: 0 6.12%; padding: 30px 0 35px; }
    .service_top_txt .catch { width: auto; font-size: 1.5rem; font-weight: 700; line-height: 1.5; }
    .service_top_txt .read { width: auto; margin-left: 35px; margin-top: 30px; }
    .service_top_ph { display: flex; justify-content: space-between; margin-bottom: 80px; }
    .service_top_ph > div:first-child { width: 62.5%; }
    .service_top_ph > div:last-child { width: 36.73%; }
    .service_top_ph > div img { width: 100%; height: 53.33vw; object-fit: cover; }
    
}

/*recruit*/
.recruit_top_ph img { width: 100%; height: 61.86vw; max-height: 970px; object-fit: cover; }
.recruit_top_txt { width: 580px; background: var(--paper); padding: 50px 0 0 6.12%; margin-top: -131px; position: relative; }
.recruit_top_txt .catch { font-size: 5.0rem; font-weight: 600; line-height: 1.4; letter-spacing: 0em; }
.recruit_top_txt .read { margin-top: 30px; }
.recruit_top_txt .read p { font-size: 2.5rem; line-height: 1.6; font-weight: 700; }

.recruit_feature { border-top: 1px solid #000; margin-top: 115px; }
.recruit_feature > .inner { display: flex; justify-content: space-between; align-items: flex-start; padding: 1.27% 0; }
.recruit_feature_txt { width: 34.63%; margin-left: 6.12%; padding-top: 80px; }
.recruit_feature_ph { width: 55.86%; margin-right: 1.27%; }
.recruit_feature_item { border-top: 1px solid #000; margin-top: 60px; }
.recruit_feature_item .item { display: flex; border-bottom: 1px solid #000; padding: 20px 0; }
.recruit_feature_item .item .num { width: 50px; font-size: 2.0rem; }
.recruit_feature_item .item .main { width: calc(100% - 50px); }
.recruit_feature_item .item .name { font-size: 3.5rem; line-height: 1.0; font-weight: 700; }
.recruit_feature .link_more { text-align: right; margin-top: 30px; }

.recruit_feature_ph { display: flex; flex-wrap: wrap; justify-content: space-between; }
.recruit_feature_ph .ph01 { width: 100%; margin-bottom: 2.29%; }
.recruit_feature_ph .ph02 { width: 43.83%; }
.recruit_feature_ph .ph03-04 { width: 53.88%; display: flex; flex-direction: column; justify-content: space-between;}

.recruit_interview { border-top: 1px solid #000; }
.recruit_interview_head { margin: 100px 6.12% 45px; }
.recruit_interview_body { display: flex; }
.recruit_interview_body .item { width: 33.33%; }
.recruit_interview_body .item + .item { border-left: 1px solid #000; }
.recruit_interview_body .item .ph { padding-bottom: 67.41%; overflow: hidden; position: relative; }
.recruit_interview_body .item .ph img { width: 100%; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
.recruit_interview_body .txt { display: flex; padding: 50px 8.43%; }
.recruit_interview_body .num { width: 50px; font-size: 2.0rem; }
.recruit_interview_body .main { width: calc(100% - 50px); }
.recruit_interview_body .name { font-size: 3.0rem; line-height: 1.2; }
.recruit_interview_body .data { font-size: 1.6rem; margin-top: 5px; }
.recruit_interview_body p { font-size: 2.2rem; font-weight: 700;line-height: 1.8; margin-top: 25px; }
.recruit_interview_body .link_more { text-align: right; margin-top: 50px; }

.btn_wide a { display: block; background: var(--navy); border: 1px solid var(--navy); padding: 20px; text-align: center; font-size: 2.5rem; color: #fff; border-radius: 50px; margin-top: 50px; } 

@media screen and (max-width: 900px) {
    .recruit_top_txt { width: 500px; background: var(--paper); padding: 50px 0 0 6.12%; margin-top: -131px; position: relative; box-sizing: border-box; }
    .recruit_top_txt .catch { font-size: 4.0rem; line-height: 1.4; }
    
    .recruit_feature_item .item .name { font-size: 2.5rem; line-height: 1.0; font-weight: 700; }
}

@media screen and (max-width: 768px) {
    .recruit_top_ph img { width: 100%; height: 106.67vw; max-height: 400px; object-fit: cover; }
    .recruit_top_txt { width: 340px; min-width: auto; background: var(--paper); padding: 30px 0 0 6.66%; margin-top: -75px; position: relative; }
    .recruit_top_txt .catch { font-size: 2.6rem; line-height: 1.4; font-weight: 600; }
.recruit_top_txt .read { margin-top: 20px; }
    .recruit_top_txt .read p { font-size: 1.5rem; line-height: 1.6; font-weight: 700; }

    .recruit_feature { border-top: 1px solid #000; margin-top: 50px; }
    .recruit_feature > .inner { display: block; padding: 35px 6.66% 80px; }
    .recruit_feature_txt { width: auto; margin-left: 0; padding-top: 0; }
    .recruit_feature_txt p { margin-top: 20px; }
    .recruit_feature_ph { width: auto; margin-right: 0; margin-top: 35px; }
    .recruit_feature_item { border-top: 1px solid #000; margin-top: 30px; }
.recruit_feature_item .item { display: flex; border-bottom: 1px solid #000; padding: 20px 0; }
    .recruit_feature_item .item .num { width: 40px; font-size: 1.3rem; }
.recruit_feature_item .item .main { width: calc(100% - 40px); }
    .recruit_feature_item .item .name { font-size: 2.0rem; line-height: 1.0; font-weight: 700; }
.recruit_feature .link_more { text-align: right; margin-top: 30px; }

.recruit_feature_ph { display: flex; flex-wrap: wrap; justify-content: space-between; }
.recruit_feature_ph .ph01 { width: 100%; margin-bottom: 2.29%; }
.recruit_feature_ph .ph02 { width: 43.83%; }
.recruit_feature_ph .ph03-04 { width: 53.88%; display: flex; flex-direction: column; justify-content: space-between;}

.recruit_interview { border-top: 1px solid #000; }
    .recruit_interview_head { margin: 35px 6.66%; }
    .recruit_interview_body { display: block; }
    .recruit_interview_body .item { width: auto; }
    .recruit_interview_body .item + .item { border-left: none; }
    .recruit_interview_body .txt { display: flex; padding: 20px 6.66% 50px; }
    .recruit_interview_body .num { width: 38px; font-size: 1.3rem; }
    .recruit_interview_body .main { width: calc(100% - 38px); }
    .recruit_interview_body .name { font-size: 1.6rem; line-height: 1.2; }
    .recruit_interview_body .data { font-size: 1.2rem; margin-top: 5px; }
    .recruit_interview_body p { font-size: 1.8rem; font-weight: 700;line-height: 1.8; margin-top: 15px; }
    .recruit_interview_body .link_more { text-align: right; margin-top: 15px; }

    .btn_wide a { background: var(--navy); padding: 20px; text-align: center; font-size: 1.4rem; color: #fff; border-radius: 50px; margin-top: 50px; } 
}

/*feature*/
.page_feature { margin: 139px 0 15px; padding: 55px 0 45px; }
.page_feature .en { font-size: 2.0rem; }
.page_feature .catch { font-size: 5.0rem; line-height: 1.2; margin-bottom: 45px; }

.feature_item_ttl { display: flex; }
.feature_item_ttl .num { width: 50px; font-size: 2.0rem; padding-top: 10px; }
.feature_item_ttl .ttl { font-size: 3.5rem; line-height: 1.7; }

.feature_item { padding: 20px 0 60px; margin: 0 6.12%; }
.feature_item > .inner { margin: 0; }
.feature_item .ph { margin-bottom: 25px; }
.feature_item .subttl { margin: 20px 0 10px; font-size: 2.0rem; font-weight: 700; }
.feature_item ul { font-size: 1.6rem; }

.feature_list_hd { font-size: 3.5rem; font-weight: 700; line-height: 1.2; }
.feature_list { display: flex; flex-wrap: wrap; justify-content: space-between; }
.feature_list_item { width: 30.52%; margin-top: 35px; }
.feature_list_item .caption { font-size: 1.6rem; margin-top: 8px; }

@media screen and (max-width: 768px) {
.page_feature { margin: 28px 0 15px; padding: 55px 0 45px; }
    .page_feature .en { font-size: 1.0rem; }
    .page_feature .catch { font-size: 2.6rem; line-height: 1.2; margin-bottom: 25px; }
    .page_feature p { margin-left: 35px; }
    .page_feature .page_common_head { margin-bottom: 8px; }

.feature_item_ttl { display: flex; }
    .feature_item_ttl .num { width: 35px; font-size: 1.1rem; padding-top: 5px; }
    .feature_item_ttl .ttl { font-size: 1.5rem; line-height: 1.7; }

    .feature_item { padding: 24px 0 60px; margin: 0 6.12%; }
.feature_item > .inner { margin: 0; }
    .feature_item .page_common_body { margin-left: 35px; }
.feature_item .ph { margin-bottom: 25px; }
    .feature_item .subttl { margin: 20px 0 10px; font-size: 1.4rem; font-weight: 700; }
    .feature_item ul { font-size: 1.3rem; }

    .feature_list_hd { font-size: 1.5rem; font-weight: 700; line-height: 1.2; }
    .feature_list { display: block; margin-left: 35px; }
    .feature_list_item { width: auto; margin-top: 35px; }
    .feature_list_item .caption { font-size: 1.3rem; margin-top: 8px; }
}

/*interview*/
.interview_head { display: flex; justify-content: space-between; margin-top: 139px; padding: 55px 0 60px; border-top: 1px solid #000; }
.interview_head .hd { margin-left: 6.12%; width: 18.36%; font-size: 2.0rem; line-height: 1; padding-top: 10px; }
.interview_head .copy { margin-right: 6.12%; width: 67.34%; font-size: 5.0rem; font-weight: 600; line-height: 1.4; letter-spacing: 0em; }

.interview_top { display: flex; justify-content: space-between; flex-direction: row-reverse; }
.interview_top_data { margin-left: 6.12%; width: 18.36%; }
.interview_top_ph { width: 73.46%; }
.interview_top_data table { border-top: 1px solid #000; width: 100%; }
.interview_top_data table th, .interview_top_data table td { border-bottom: 1px solid #000; padding: 20px 0; }
.interview_top_data table th { font-size: 1.2rem; width: 7em; }
.interview_top_data table td { font-size: 1.6rem; line-height: 1.7; }
.interview_top_data table td .notes { font-size: 1.3rem; }

.interview_body { width: 51.02%; margin-left: 42.85%; margin-top: 130px; }
.interview_body h2 { font-size: 2.5rem; margin: 55px 0 25px; }
.interview_body figure { margin: 30px 0; }
.interview_body figure.mt60 { margin-top: 60px; }
.interview_body .favorite { display: flex; border: 1px solid #000; font-size: 1.6rem; margin: 108px 0 35px; }
.interview_body .favorite dt { width: 200px; background: #000; color: #fff; text-align: center;padding: 7px 0; line-height: 2; }
.interview_body .favorite dd { padding: 7px 20px; }

.interview_post { border-top: 1px solid #000; margin-top: 100px; width: 51.02%; padding: 100px 6.13% 100px 42.85%; }
.interview_post .item { display: flex; justify-content: space-between; }
.interview_post .item + .item { margin-top: 70px;}
.interview_post .item .ph { width: 43.75%; position: relative; }
.interview_post .item .txt { width: 51.87%; display: flex; }
.interview_post .item .txt .num { width: 50px; font-size: 2.0rem; }
.interview_post .item .txt .main { width: calc(100% - 50px); }
.interview_post .item .txt .name { font-size: 3.0rem; line-height: 1.5; }
.interview_post .item .txt .data { font-size: 1.6rem; line-height: 1.5; margin: 5px 0 25px; }
.interview_post .item .txt p { font-size: 2.0rem; line-height: 1.5; font-weight: 700; }


@media screen and (max-width: 900px) {
    .interview_head { display: block; justify-content: space-between; margin-top: 28px; padding: 55px 6.66% 60px; border-top: 1px solid #000; }
    .interview_head .hd { margin-left: 0; width: auto; font-size: 2.0rem; line-height: 1; padding-top: 10px; }
    .interview_head .copy { margin-right: 0; width: auto; font-size: 5.0rem; line-height: 1.4; }

    .interview_top { display: block; justify-content: space-between; }
    .interview_top_data { margin: 50px 6.66% 0; width: auto; }
    .interview_top_ph { width: auto; }
    
    .interview_body { width: auto; margin: 70px 6.66% 0; padding-left: 16.66%; }
    
    .interview_post { border-top: 1px solid #000; margin-top: 89px; width: auto; padding: 40px 6.66% 80px; }
}

@media screen and (max-width: 768px) {
    .interview_head { display: block; justify-content: space-between; margin-top: 28px; padding: 25px 6.66%; border-top: 1px solid #000; }
    .interview_head .hd { margin-left: 0; width: auto; font-size: 1.0rem; line-height: 1; padding-top: 0; }
    .interview_head .copy { margin-right: 0; width: auto; font-size: 2.6rem; line-height: 1.4; margin-top: 5px; }

    .interview_top { display: block; justify-content: space-between; }
    .interview_top_data { margin: 40px 6.66% 0; width: auto; }
    .interview_top_ph { width: auto; }
.interview_top_data table { border-top: 1px solid #000; width: 100%; }
.interview_top_data table th, .interview_top_data table td { border-bottom: 1px solid #000; padding: 20px 0; }
    .interview_top_data table th { font-size: 1.2rem; width: 10em; }
    .interview_top_data table td { font-size: 1.3rem; }

    .interview_body { width: auto; margin: 45px 6.66% 0; padding-left: 35px; }
    .interview_body h2 { font-size: 1.5rem; margin: 30px 0 25px -35px; }
.interview_body figure { margin: 30px 0; }
.interview_body figure.mt60 { margin-top: 60px; }
    .interview_body .favorite { display: block; border: none; margin: 50px 0 17px; }
    .interview_body .favorite dt { width: 80px; background: #000; color: #fff; text-align: center;padding: 1px 2px; font-size: 1.2rem; }
    .interview_body .favorite dd { padding: 7px 20px; font-size: 1.4rem; border: 1px solid #000; }

    .interview_post { border-top: 1px solid #000; margin-top: 89px; width: auto; padding: 40px 6.66% 80px; }
.interview_post .item { display: flex; justify-content: space-between; }
    .interview_post .item + .item { margin-top: 30px;}
    .interview_post .item .ph { width: 30.76%; }
    .interview_post .item .txt { width: 65.23%; display: flex; }
    .interview_post .item .txt .num { width: 35px; font-size: 1.3rem; }
    .interview_post .item .txt .main { width: calc(100% - 35px); }
    .interview_post .item .txt .name { font-size: 1.3rem; line-height: 1.5; }
    .interview_post .item .txt .data { font-size: 1.1rem; line-height: 1.5; margin: 3px 0 12px; }
    .interview_post .item .txt p { font-size: 1.3rem; line-height: 1.5; font-weight: 700; }
}

/*news*/
.page_nav { display: flex; justify-content: space-between; margin-top: 60px; }
.page_nav a { display: block; width: 100px; padding: 5px 0; text-align: center; background: var(--navy); border: 1px solid var(--navy); color: #fff; border-radius: 30px; font-size: 1.4rem; }
.page_nav > div { width: 100px; }
.page_nav .index { line-height: 2;}

@media screen and (max-width: 768px) {
    .page_nav { display: flex; justify-content: space-between; margin-top: 35px; }
    .page_nav a { display: block; width: 100px; padding: 3px 0; text-align: center; background: var(--navy); color: #fff; border-radius: 30px; font-size: 1.1rem; }
.page_nav > div { width: 100px; }
    .page_nav .prev, .page_nav .next,
    .page_nav .prev a, .page_nav .next a { width: 70px; }
    
}

/*news single*/
.news_single_body .ttl { font-size: 3.0rem; line-height: 1.5; }
.news_single_body .meta { font-size: 1.4rem; margin-top: 15px; }
.news_single_body .meta > * + * { margin-left: 35px; }
.news_single_body .edit { border-top: 1px solid #000; border-bottom: 1px solid #000; margin-top: 25px; padding: 50px 0 100px; }
.news_single_body .edit > * + * { margin-top: 50px; }
.news_single_body h2 { font-size: 2.0rem; }
.news_single_body h3, .news_single_body h4, .news_single_body h5, .news_single_body h6 { font-size: 1.6rem; }
.news_single_body h2 + *, .news_single_body h3 + *, .news_single_body h4 + *, .news_single_body h5 + *, .news_single_body h6 + * { margin-top: 25px!important; }
.news_single_body ul { margin-left: 2em; }
.news_single_body ul li { font-size: 1.6rem; list-style: disc; }
.news_single_body ol { margin-left: 2em; }
.news_single_body ol li { font-size: 1.6rem; list-style: decimal; }

@media screen and (max-width: 768px) {
    .news_single_body .ttl { font-size: 1.5rem; line-height: 1.5; }
    .news_single_body .meta { font-size: 1.0rem; margin-top: 10px; }
    .news_single_body .meta > * + * { margin-left: 14px; }
    .news_single_body .edit { border-top: 1px solid #000; border-bottom: 1px solid #000; margin-top: 10px; padding: 35px 0 35px 35px; }
    
}

/*privacy*/
.privacy_body section + section { margin-top: 80px; }
.privacy_body h2 { font-size: 2.0rem; margin-bottom: 12px; line-height: 1.5; }    
.privacy_body p + p { margin-top: 2em; }

@media screen and (max-width: 768px) {
    .privacy_body { margin-left: 35px; }
    .privacy_body section + section { margin-top: 30px; }
    .privacy_body h2 { font-size: 1.5rem; margin-bottom: 8px; line-height: 1.5; }    
}

/*contact*/
.contact_body .ttl { font-size: 2.5rem; }
.contact_item { font-size: 1.8rem; margin-top: 20px; }
.contact_item th, .contact_item td { border-bottom: 1px solid #000; padding: 50px 0 20px; vertical-align: top; }
.contact_item th { width: 200px; }
.privacy_notes { font-size: 1.2rem; }

.required { display: inline-block; position: relative; width: 10px; height: 1em; }
.required:after { content: ""; display: inline-block; width: 6px; height: 6px; background: #DC3A86; border-radius: 50%; position: absolute; top: calc(50% - 3px); }
.contact_item .required { margin-left: 10px; }
.input_txt { width: 100%; box-sizing: border-box; border: none; font-size: 1.8rem; }
textarea.message { width: 100%; height: 50px; box-sizing: border-box; border: none; font-size: 1.8rem; }
.input_txt::placeholder, textarea.message::placeholder { color: #A3A3A3; }
select.pref { width: 100%; border: none; font-size: 1.8rem; }
.label_type { display: flex; flex-wrap: wrap; }
.label_type > span { max-width: 250px; width: 50%; margin-bottom: 10px; margin-left: 0!important; }
.check_privacy { font-size: 1.8rem; text-align: center; margin-top: 65px; }
.btn_submit input { background: var(--navy); color: #fff; font-size: 2.0rem; font-weight: 700; text-align: center; width: 100%; padding: 30px 0; margin-top: 60px; border-radius: 50px; }
.btn_submit input:disabled { background: #ccc; }

.contact_privacy .formErrorContent { display: none!important; }

@media screen and (max-width: 900px) {
    .contact_body { margin-top: 65px; }
}

@media screen and (max-width: 768px) {
    .contact_body .ttl { font-size: 1.5rem; margin-bottom: 10px; }
    .contact_item { font-size: 1.2rem; margin-top: 45px; border-top: 1px solid #000; }
    .contact_item, .contact_item thead, .contact_item tr, .contact_item th, .contact_item td { display: block; }
.contact_item th, .contact_item td { border-bottom: 1px solid #000; padding: 15px 0 10px; vertical-align: top; }
    .contact_item th { width: auto; border: none; padding: 15px 0 0; }
    .privacy_notes { font-size: 1.2rem; margin-top: 15px; }

.required { display: inline-block; position: relative; width: 10px; height: 1em; }
.required:after { content: ""; display: inline-block; width: 6px; height: 6px; background: #DC3A86; border-radius: 50%; position: absolute; top: calc(50% - 3px); }
.contact_item .required { margin-left: 10px; }
    .input_txt { width: 100%; box-sizing: border-box; border: none; font-size: 1.4rem; }
    textarea.message { width: 100%; height: 50px; box-sizing: border-box; border: none; font-size: 1.4rem; }
    select.pref { width: 100%; border: none; font-size: 1.4rem; }
    .label_type { display: flex; flex-wrap: wrap; }
.label_type > span { max-width: none; width: 100%; margin-bottom: 10px; margin-left: 0; }
    .check_privacy { font-size: 1.4rem; text-align: left; margin-top: 49px; }
    .btn_submit input { background: var(--navy); color: #fff; font-size: 1.4rem; font-weight: 700; text-align: center; width: 100%; padding: 20px 0; margin-top: 39px; border-radius: 50px; }
.btn_submit input:disabled { background: #ccc; }

.contact_privacy .formErrorContent { display: none!important; }
}

/*thanks*/
.thanks_body { margin-top: 133px; }
.thanks_txt { text-align: center; }
body.thanks .contents_footer_illust,
body.error404 .contents_footer_illust { margin-top: 100px;}

@media screen and (max-width: 768px) {
    body.thanks .common_page_ttl { display: none; }
    .thanks_body { margin: 80px auto 0; width: 81.53%; }
    .thanks_txt { text-align: left; }
    body.thanks .contents_footer_illust,
    body.error404 .contents_footer_illust { margin-top: 73px;}
}

/*form*/
.wpcf7-not-valid-tip { display: none!important; }
.formError .formErrorContent { font-size: 1.4rem!important; color: #B51C1F!important; margin-top: 5px; background: none!important; }
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output { display: none!important; }

.grecaptcha-badge { visibility: hidden; }
.notes_privacy { font-size: 1.2rem; color: #999; text-align: center; margin-top: 20px; }
.wpcf7-spinner { display: none!important; }

/*link*/
.news_single_body .edit a,
a.link_txt { text-decoration: underline; }

@media screen and (min-width: 900px) {   
    .news_single_body .edit a:hover,
    a.link_txt:hover { text-decoration: none; }
    
    .news_item *,
    .cat_list a,
    .main_nav a,
    .main_nav span,
    .footer_nav a,
    .service_menu a:not(.here) span { -webkit-transition: color 0.1s cubic-bezier(0.19, 1, 0.22, 1); transition: color 0.1s cubic-bezier(0.19, 1, 0.22, 1);}
    .news_item:hover *,
    .cat_list a:hover,
    .main_nav a:hover,
    .main_nav span:hover,
    .footer_nav a:hover,
    .service_menu a:not(.here):hover span { color: var(--navy); }
    
    .link_more > a,
    .recruit_interview_body .item .link_more > span,
    .top_service_item .link_more > span,
    .btn_contanct,
    .btn_wide a,
    .page_nav a { -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    .link_more > a:hover,
    .recruit_interview_body .item:hover .link_more > span,
    .top_service_item:hover .link_more > span,
    .btn_contanct:hover,
    .btn_wide a:hover,
    .page_nav a:hover { background: var(--paper); color: var(--navy); }
    
    .page_head .btn a { -webkit-transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    .page_head .btn a:hover { opacity: 0.7; }
    
    .recruit_interview_body .item .ph img { -webkit-transition: transform 1.5s cubic-bezier(.16,1,.3,1); transition: transform 1.5s cubic-bezier(.16,1,.3,1); -webkit-transform-origin: left top; transform-origin: left top; }
    .recruit_interview_body .item:hover .ph img { -webkit-transform: scale(1.05) translate(-50%, -50%); transform: scale(1.05) translate(-50%, -50%); }
    
    .top_service_item .ph ._cover,
    .interview_post .item .ph ._cover { display: block; padding-bottom: 66.66%;
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
    transition: clip-path .8s cubic-bezier(.16,1,.3,1);
    transition: clip-path .8s cubic-bezier(.16,1,.3,1), -webkit-clip-path .8s cubic-bezier(.16,1,.3,1); }
    .top_service_item .ph ._cover img,
    .interview_post .item .ph ._cover img { position: absolute; top: 0; left: 0; -webkit-transition: all .8s cubic-bezier(.16,1,.3,1); transition: all .8s cubic-bezier(.16,1,.3,1); }
    .top_service_item:hover .ph ._cover,
    .interview_post .item:hover .ph ._cover { -webkit-clip-path: inset(3%); clip-path: inset(3%); overflow: hidden; }
    .top_service_item:hover .ph ._cover img,
    .interview_post .item:hover .ph ._cover img { position: absolute; top: 0; left: 0; -webkit-transform: scale(1.05) rotate(.1deg); transform: scale(1.05) rotate(.1deg); }
    
    /*.top_service_item { -webkit-transition: background 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: background 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    .top_service_item:hover { background: #f6f6f6; }*/

}

/*──────────────────────────────────────────
  Hero — video background
──────────────────────────────────────────*/
.top_main--hero {
    position: relative;
    margin-top: 0;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.top_main--hero > .inner {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-end;
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: 100vh;
    padding: 0 10% 12vh 10%;
    box-sizing: border-box;
}
.top_main__video {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    z-index: 0;
}
.top_main__overlay {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(10, 37, 64, 0.45);
    z-index: 1;
}
.top_main__logo {
    position: absolute;
    top: 100px; left: 32px;
    z-index: 3;
    font-family: 'Jost', sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 1rem;
    letter-spacing: 0.2em;
    color: #fff !important;
    text-decoration: none;
}

/* Override copy layout for right-bottom hero */
.top_main--hero .top_main_copy {
    width: auto;
    max-width: 540px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex-direction: column;
    margin-left: auto;
    margin-right: 0;
}
.top_main--hero .top_main_copy .txt {
    width: auto;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.top_main--hero .top_main_copy .catch {
    width: 28vw;
    max-width: 420px;
    min-width: 220px;
}
.top_main--hero .top_main_copy .read {
    color: #fff;
    font-weight: 500;
    text-shadow: 0 1px 6px rgba(0,0,0,0.3);
}
.top_main--hero .top_main_copy .read * {
    color: #fff;
}

@media screen and (max-width: 768px) {
    .top_main--hero > .inner {
        padding: 0 7% 10vh;
        align-items: flex-end;
        justify-content: flex-end;
    }
    .top_main--hero .top_main_copy {
        max-width: none;
    }
    .top_main--hero .top_main_copy .catch {
        width: 48vw;
        max-width: 260px;
        min-width: 160px;
        position: static;
        -webkit-transform: none;
        transform: none;
    }
    .top_main--hero .top_main_copy .txt {
        width: auto;
        margin: 0;
    }
    .top_main--hero .top_main_copy .read {
        margin-top: 24px;
    }
    .top_main__video {
        object-position: 58% center;
    }
}







