@charset "UTF-8";
/*common*/
.pc-only { display: block !important; }

.sp-only { display: none !important; }

section, main { position: relative; display: block; }

body { width: 100%; overflow-x: hidden; }

img { max-width: 100%; }

.mt20 { margin-top: 2.0rem; }

@media screen and (max-width: 767px) {
    .pc-only { display: none !important; }
    .sp-only { display: block !important; }
    html, body { width: 100%; overflow-x: hidden; }
}

/*no-js*/
/*.no-js .js-scroll-fade,
.no-js .top_main_txt,
.no-js .top_main_txt .catch,
.no-js .top_main_txt .read,3634
.no-js .top_main_scroll { opacity: 1!important; }
.no-js body.home #loading { display: none; }
.no-js body#home #header {-webkit-transform: translateY(0);transform: translateY(0);}
.no-js body:not(.home) #loading { display: none; }*/
/*loading*/

body #loading { background: #fff; display: block; height: 100%; left: 0; position: fixed; top: 0; width: 100%; z-index: 100010; pointer-events: none; -webkit-transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s; transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.5s; }

body #loading.is-animation { opacity: 0; }

/*loop*/
@keyframes loop {
    0% { transform: translateX(100%); }
  to { transform: translateX(-100%); }
}
@keyframes loop2 {
    0% { transform: translateX(0); }
  to { transform: translateX(-200%); }
}

/*fade*/
.js-scroll-fade:not(.top_about_ph):not(.hd_anime) { opacity: 0; }

.isActive:not(.top_about_ph):not(.hd_anime) { -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.8s; animation-duration: 1.8s; -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(50px); transform: translateY(50px); }
  10% { opacity: 0; }
  to { opacity: 1; -webkit-transform: none; trfooter_logo_setansform: none; } 
}
@keyframes fadeUp { 
    0% { opacity: 0; -webkit-transform: translateY(50px); transform: translateY(50px); }
  10% { opacity: 0; }
  to { opacity: 1; -webkit-transform: none; transform: none; } 
}

/*parts*/
.header_box { width: 100%; padding: 18.2rem 0 7.9rem; position: relative;  }
.header_box > .inner { display: flex; flex-direction: row-reverse; margin: 0 calc(214 / 1600 *100vw) 0 calc(99 / 1600 *100vw); justify-content: space-between; box-sizing: border-box; }
.header_logo { width: calc(150 / 1600 *100vw); min-width: 10.0rem; line-height: 1; }
.header_logo img { width: 100%; line-height: 0; }
.global_nav { margin-right: calc(187 / 1600 *100vw); }
.main_nav { display: flex; flex-direction: row-reverse; width: 100%; box-sizing: border-box; }
.main_nav > li { margin-left: calc(65 / 1600 *100vw); }
.main_nav li > * {  font-size: 2.0rem; line-height: 1.0; letter-spacing: 1.0em; position: relativse; writing-mode: vertical-rl; }

.sub_nav { display: grid; grid-template-rows: repeat(3, 1fr); grid-auto-flow: column; grid-column-gap: 4.0rem; grid-row-gap: 4.0rem; align-self: flex-start; }
.sub_nav li { font-size: 1.2rem; line-height: 1.5; letter-spacing: 0.05em; }

.company_name { margin-right: calc(65 / 1600 *100vw); letter-spacing: 0.05em; }

.op_global_nav { width: 100%; max-width: 50.0rem; height: 100vh; background: rgba(255,255,255,0.9); position: fixed; right: 0; top: 0; z-index: 9999; overflow-y: scroll; -ms-overflow-style: none; scrollbar-width: none; opacity: 0; pointer-events: none; }
body.open .op_global_nav { opacity: 1; pointer-events: visible; }
.op_global_nav .inner { width: 30.0rem; padding: 9.0rem 20%; }
.op_global_nav * { color: #4B4343; }
.op_global_nav .nav_main { font-size: 2.0rem; line-height: 1.5; letter-spacing: 0.2rem; }
.op_global_nav .nav_main li + li { margin-top: 3.0rem; }
.op_global_nav .nav_inq { margin-top: 7.0rem; font-size: 2.0rem; border-top: 1px solid #707070; }
.op_global_nav .nav_inq li { border-bottom: 1px solid #707070; }
.op_global_nav .nav_inq li a { display: block; padding: 1.0rem 1.2rem; letter-spacing: 0.2rem; }
.op_global_nav .nav_sub { display: grid; grid-template-columns: repeat(3,1fr); grid-row-gap: 2.0rem; font-size: 1.5rem; margin-top: 5.0rem; }
.op_global_nav .btn_humberger_box { position: absolute; top: 2.0rem; right: calc(27 / 1600 *100vw); }

.nav_fix { display: flex; align-items: center; width: 100%; height: 10.0rem; position: fixed; top: 0; left: 0; background: #E4E4D7; z-index: 9999; opacity: 0; transform: translateY(-100%); transition: transform 0.8s cubic-bezier(0.36, 0.14, 0, 1),opacity 0.5s cubic-bezier(0.36, 0.14, 0, 1); box-shadow: 0.5rem 0 1.0rem 0.1rem rgba(0, 0, 0, 0.1); }
body.open .nav_fix { opacity: 0; transform: translateY(-100%);}
.nav_fix.fixed { transform: translateY(0); opacity: 1; }
.nav_logo { width: 8.0rem; margin-left: calc(22 / 1600 *100vw); }
.nav_fix .btn_humberger_box { position: fixed; top: 2.0rem; right: calc(27 / 1600 *100vw); }
.fix_nav { display: flex; margin-left: 9.0rem; font-size: 1.8rem; }
.fix_nav li + li { margin-left: 7.5rem; }

.btn_humberger_box { width: 5.0rem; height: 5.0rem; }
.header_box .btn_humberger_box { position: absolute; top: 5.0rem; right: calc(56 / 1600 *100vw); }
body.open .header_box .btn_humberger_box { opacity: 0; }
.btn_humberger { width: 100%; height: 5.0rem; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); cursor: pointer; }
.btn_humberger_box .line > span { display: inline-block; width: 100%; height: 1px;background: #000; position: absolute; right: 0; }
.btn_humberger_box .line > span:nth-child(1) { top: 1.0rem; transition: transform 0.8s cubic-bezier(0.36, 0.14, 0, 1),top 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
.btn_humberger_box .line > span:nth-child(2) { width: 4.0rem; top: 50%; }
.btn_humberger_box .line > span:nth-child(3) { width: 3.0rem; bottom: 1.0rem; transition: transform 0.8s cubic-bezier(0.36, 0.14, 0, 1),width 0.5s cubic-bezier(0.36, 0.14, 0, 1),bottom 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
body.open .btn_humberger_box .line > span:nth-child(1) { top: 50%; transform: rotate(45deg); }
body.open .btn_humberger_box .line > span:nth-child(2) { opacity: 0; }
body.open .btn_humberger_box .line > span:nth-child(3) { width: 5.0rem; bottom: 50%; transform: rotate(-45deg); }

footer { margin-top: 28.0rem; border-top: 1.0rem solid #fff; }
body#home footer,
body.interview footer,
body.life footer { margin-top: 0; }
footer > .inner {  width: calc(1400 / 1600 *100vw); margin: 0 auto; padding: 13.5rem 0 4.0rem; }
.footer_company { display: flex; justify-content: space-between; }
.footer_company .logo { width: 12.0rem; }
.footer_company .name { font-size: 2.0rem; letter-spacing: 0.25em; writing-mode: vertical-rl; }

.footer_inq { margin-top: 16.0rem;}
.footer_inq a { display: inline-block; background: #4B4343; font-size: 2.0rem; color: #fff; padding: 0.5rem 6.0rem; }

.footer_info { display: flex; justify-content: space-between; margin-top: 9.0rem; }
.footer_info address { font-size: 2.0rem; line-height: 1.5; }
.footer_info .copy { font-size: 1.6rem; line-height: 1.8; text-align: right; }

.footer_function { display: flex; justify-content: space-between; align-items: center; margin-top: 10.0rem; }
.footer_function .sns { width: 40%; font-size: 1.5rem; color: #707070; }
.footer_function .sns a { display: inline-block; }
.footer_function .sns a + a { margin-left: 9.0rem; }
.footer_function .copyrights { width: 20%; min-width: 10.0rem; font-size: 1.5rem; color: #707070; text-align: center; }
.footer_function .en { width: 40%; font-size: 2.0rem; color: #707070; text-align: right; }

.main_nav span { display: inline-block; position: relative; }
.main_nav span:after { display: block; content: ""; width: 1px; height: calc(100% - 0.5em); background: #000; position: absolute; right: -0.5rem; top: 0; opacity: 0; }
body.kominka #nav01 span:after { opacity: 1; }
body.syokunin #nav02 span:after { opacity: 1; }
body.tekizami #nav03 span:after { opacity: 1; }
body.post-type-archive-works #nav04 span:after,
body.tax-works_cat #nav04 span:after,
body.single-works #nav04 span:after { opacity: 1; }
body.life #nav05 span:after { opacity: 1; }
body.dwell #nav06 span:after { opacity: 1; }

.sub_nav span { display: inline-block; position: relative; }
.sub_nav span:after { display: block; content: ""; width: 100%; height: 1px; background: #000; position: absolute; left: 0; bottom: 0; opacity: 0; }
body.contact #nav01s span:after { opacity: 1; }
body.company #nav02s span:after { opacity: 1; }
body.interview #nav04s span:after { opacity: 1; }
body.post-type-archive-news #nav05s span:after,
body.tax-news_cat #nav05s span:after,
body.single-news #nav05s span:after { opacity: 1; }

.fix_nav span { display: inline-block; position: relative; }
.fix_nav span:after { display: block; content: ""; width: 100%; height: 1px; background: #000; position: absolute; left: 0; bottom: 0; opacity: 0; }
body.kominka #nav01f span:after { opacity: 1; }
body.syokunin #nav02f span:after { opacity: 1; }
/*body.interview #nav03f span:after { opacity: 1; }*/
body.tekizami #nav03f span:after { opacity: 1; }
body.post-type-archive-works #nav04f span:after,
body.tax-works_cat #nav04f span:after,
body.single-works #nav04f span:after { opacity: 1; }
body.life #nav05f span:after { opacity: 1; }
body.dwell #nav06f span:after { opacity: 1; }
body.contact #nav07f span:after { opacity: 1; }

.lity-close path { stroke: #fff; }

@media screen and (max-width: 1300px) { 
    .fix_nav { display: flex; margin-left: 9.0rem; font-size: 1.4rem; }
    .fix_nav li + li { margin-left: 4.5rem; }
    
}

@media screen and (max-width: 1000px) { 
    .global_nav { margin-right: calc(90 / 1600 *100vw); }
}

@media screen and (max-width: 900px) { 
    .header_box { width: 100%; padding: 5.2rem 0; position: unset;  }
    .header_box > .inner { display: block; margin: 0; }
    .header_logo { width: calc(100 / 640 *100vw); line-height: 1; margin: 0 auto; }
.header_logo img { width: 100%; line-height: 0; }
.global_nav { margin-right: calc(187 / 1600 *100vw); }
    .main_nav { display: none; }
    .sub_nav { display: none; }

    .company_name { margin-right: 0; position: absolute; left: calc(12 / 640 *100vw); top: 1.0rem; }
    
    .nav_fix { display: none; }

    .header_box .btn_humberger_box { width: 5.0rem; height: 5.0rem; position: fixed; top: 2.0rem; right: calc(30 / 640 *100vw); z-index: 10000; }
    .header_box .btn_humberger { width: 100%; height: 5.0rem; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
.btn_humberger_box .line > span { display: inline-block; width: 100%; height: 1px;background: #000; position: absolute; }
.btn_humberger_box .line > span:nth-child(1) { top: 1.0rem; }
.btn_humberger_box .line > span:nth-child(2) { top: 50%; }
.btn_humberger_box .line > span:nth-child(3) { bottom: 1.0rem; }
    
    .op_global_nav .btn_humberger_box { position: absolute; top: 2.0rem; right: calc(30 / 640 *100vw); }

    footer { border-top: 1.0rem solid #fff; margin-top: 10.0rem; }
    body.life footer { margin-top: 0; }
    footer > .inner {  width: calc(534 / 640 *100vw); margin: 0 auto; padding: 8.0rem 0 2.0rem; }
.footer_company { display: flex; justify-content: space-between; }
    .footer_company .logo { width: calc(120 / 640 *100vw); }
.footer_company .name { font-size: 2.0rem; writing-mode: vertical-rl; }

    .footer_inq { margin-top: 11.0rem;}
.footer_inq a { display: inline-block; background: #4B4343; font-size: 2.0rem; color: #fff; padding: 0.5rem 6.0rem; }

    .footer_info { display: block; margin-top: 5.0rem; }
    .footer_info address { font-size: 2.0rem; line-height: 1.5; }
    .footer_info .copy { font-size: 1.6rem; line-height: 1.8; text-align: left; margin-top: 10.0rem; }

    .footer_function { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; margin-top: 4.0rem; }
    .footer_function .sns { width: 75%; font-size: 1.5rem; }
.footer_function .sns a { display: inline-block; }
    .footer_function .sns a + a { margin-left: 3.0rem; }
    .footer_function .copyrights { width: 100%; min-width: 10.0rem; margin-top: 3.5rem; font-size: 1.5rem; text-align: center; order: 2; }
    .footer_function .en { width: 25%; font-size: 2.0rem; text-align: right; }

}


/*top*/
.top_main { background: #fff; }
.top_main > .inner { padding: 1.0rem 1.0rem 0; }
.top_thumb_list { display: grid; grid-template-columns: repeat(3,1fr); grid-gap: 1.0rem; }
.top_thumb_item { position: relative; overflow: hidden; }
.top_thumb_item .cat { position: absolute; left: 2.0rem; top: 2.0rem; font-size: 1.2rem; color: #fff; line-height: 1.2; }
.top_thumb_item .arrow { color: #fff; margin-top: 2em; }
.top_thumb_item .ph img { position: relative; width: 100%; aspect-ratio: 520 / 900; object-fit: cover; }

@media screen and (max-width: 900px) { 
    .top_main { background: none; }
    .top_main > .inner { padding: 0; }
    .top_thumb_list { display: grid; grid-template-columns: repeat(3,1fr); grid-gap: 0.4rem; }
.top_thumb_item { position: relative; }
    .top_thumb_item .cat { position: absolute; left: 1.0rem; top: 1.0rem; font-size: 1.2rem; color: #fff; line-height: 1.2; }
.top_thumb_item .arrow { color: #fff; margin-top: 2em; }
    
}
/*common*/
.page_head { position: relative; margin: 0 1.0rem; }
.page_head_title { position: absolute; font-size: 5.0rem; color: #fff;writing-mode: vertical-rl; letter-spacing: 1.0em; white-space: nowrap; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.page_head .ph img { width: 100%; aspect-ratio: 1580 / 700; object-fit: cover;}

.page_common_head { display: flex; align-items: flex-start; min-height: 43.0rem; margin: 20.0rem 1.0rem 0; }
.page_common_head._company { margin-top: 9.5rem; }
.page_common_head .ph { width: calc(790 / 1600 *100vw); }
.page_common_head .txt { width: calc(418 / 1600 *100vw); margin-left: calc(82 / 1600 *100vw); padding-right: calc(118 / 1600 *100vw);  position: relative; box-sizing: border-box; }
.page_common_head .txt._wshort { padding-right: 14.5rem; }
.page_common_head .ttl { position: absolute; top: -1.0em; right: 0; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; white-space: nowrap; }
.page_common_head .ttl._large { font-size: 5.0rem; line-height: 1.5; top: -1.0em; right: -2em; }
.page_common_head .ttl .en { letter-spacing: 0.1em; }

.page_common_headwide { margin: 20.0rem calc(10 / 1600 *100vw) 0 calc(350 / 1600 *100vw); }
.page_common_headwide .ph { position: relative; }
.page_common_headwide .caption { position: absolute; bottom: 0.5em; left: 0; writing-mode: vertical-rl; font-size: 5.0rem; letter-spacing: 0.8em; line-height: 1.5; transform: translate(-50%,100%); white-space: nowrap; }
.page_common_headwide .notes { position: absolute; bottom: -1.0rem; width: 100%; padding-right: 1.5rem; box-sizing: border-box; text-align: right; transform: translateY(100%); font-size: 1.2rem; }
.page_common_headwide .txt { width: 67.08%; min-height: 25.0rem; margin: 18.0rem 0 0 9.52%; padding-right: 11.0rem; box-sizing: border-box; position: relative; }
.page_common_headwide .ttl { position: absolute; top: -0.5em; right: 0; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; }

.page_common_list { display: flex; flex-wrap: wrap; justify-content: space-between; width: calc(1000 / 1600 *100vw); margin: 0 auto; }
.page_common_item { width: 41.8%; margin-top: 15.8rem; }
.page_common_item .txt { min-height: 32.0rem; padding-right: 10.0rem; padding-bottom: 2em;  position: relative; }
.page_common_item .ttl { position: absolute; top: -0.5em; right: 0; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; }

.page_common + .page_head { margin-top: 20.0rem; }

.page_faq { border-top: 1px solid #000; margin-top: 20.0rem; padding: 14.0rem 0 0; }
.page_faq > .inner { width: calc(800 / 1600 *100vw); margin: 0 auto; }
.page_faq .ttl { font-size: 3.0rem; }
.faq_list { font-size: 2.0rem; margin-top: 7.5rem; border-bottom: 1px solid #000; cursor: pointer; }
.faq_list dt ,
.faq_list dd { padding: 2.5rem 7.0rem 2.5rem 6.5rem; position: relative; }
.faq_list dt { border-top: 1px solid #000; }
.faq_list dd { display: none; border-top: 1px dashed #000; }
.faq_list dd p { font-size: 2.0rem; }
.faq_list .q { display: block; width: 3.2rem; height: 3.2rem; border: 1px solid #000; border-radius: 50%; font-size: 1.5rem; line-height: 2; position: absolute; left: 2.0rem; top: 3.0rem; text-align: center; }
.faq_list .a { display: block; width: 3.2rem; height: 3.2rem; border: 1px solid #000; background: #000; border-radius: 50%; font-size: 1.5rem; color: #fff; line-height: 2; position: absolute; left: 2.0rem; top: 3.0rem; text-align: center; }
.faq_list .q > span,
.faq_list .a > span { display: block; width: 100%; text-align: center; line-height: 3.2rem; transform: translateY(-50%); position: absolute; top: 50%; }
.faq_list .ico_open { width: 1.5rem; height: 1.5rem; position: absolute; right: 2.4rem; top: 4.0rem; }
.faq_list .ico_open:before { content: ""; display: block; width: 100%; height: 1px;  position: absolute; top: 0.7rem; background: #000; }
.faq_list .ico_open:after { content: ""; display: block; width: 1px; height: 100%;  position: absolute; left: 0.7rem; background: #000; }
.faq_list .ico_close { width: 1.5rem; height: 1.5rem; position: absolute; right: 2.4rem; top: 4.0rem; }
.faq_list .ico_close:before { content: ""; display: block; width: 100%; height: 1px;  position: absolute; top: 0.7rem; background: #000; }

.mix { background-color: #E4E4D7; mix-blend-mode: multiply; }

.btn_common,
#load-more { display: block; width: 30.0rem; margin: 15.0rem auto 0; padding: 0.8rem 0; font-size: 2.0rem; text-align: center; color: #fff; background: #333333; border: none; cursor: pointer; }
.btn_back a { display: block; width: 60.0rem; margin: 11.0rem auto 0; padding: 0.8rem 0; font-size: 2.0rem; text-align: center; color: #fff; background: #333333; }

@media screen and (max-width: 900px) { 
.page_head { position: relative; margin: 0 1.0rem; }
    .page_head_title { position: absolute; font-size: 3.5rem; color: #fff;writing-mode: vertical-rl; letter-spacing: 1.0em; white-space: nowrap; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
    .page_head .ph img { width: 100%; aspect-ratio: 620 / 700; object-fit: cover;}

    .page_common_head { display: flex; flex-direction: column-reverse; align-items: center; margin: 7.5rem 0 0; }
    .page_common_head._reverse { flex-direction: column; }
    .page_common_head .ph { width: calc(620 / 640 *100%); margin-top: 5.0rem; }
    .page_common_head._company .ph { width: calc(425 / 640 *100vw); margin: 3.0rem auto 0; }
    .page_common_head .txt { width: calc(418 / 640 *100vw); margin-left: 0; padding-right: calc(118 / 640 *100vw);  position: relative; box-sizing: border-box; }
    .page_common_head .txt._wshort { width: calc(448 / 640 *100vw); padding-right: 12.5rem; }
    .page_common_head .txt._dwell { width: calc(540 / 640 *100vw); padding-right: 14.5rem; }
    .page_common_head._reverse .txt { margin-top: 8.0rem; }
    .page_common_head .txt._syokunin { min-height: 40.0rem; }
    .page_common_head .ttl { position: absolute; top: -1.0em; right: 0; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; line-height: 1.8; }

    .page_common_headwide { margin: 9.0rem calc(10 / 640 *100vw) 0; }
.page_common_headwide .ph { position: relative; }
    .page_common_headwide .caption { position: absolute; bottom: 0.3em; left: 0; writing-mode: vertical-rl; font-size: 5.0rem; letter-spacing: 0.8em; line-height: 1.5; transform: translate(0%,100%); white-space: nowrap; }
.page_common_headwide .notes { position: absolute; bottom: -1.0rem; width: 100%; padding-right: 1.5rem; box-sizing: border-box; text-align: right; transform: translateY(100%); font-size: 1.2rem; }
    .page_common_headwide .txt { width: 65.0%; min-height: 25.0rem; margin: 9.5rem 0 0 28.59%; padding-right: 11.0rem; box-sizing: border-box; position: relative; }
.page_common_headwide .ttl { position: absolute; top: -0.5em; right: 0; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; }
    .page_common_head .ttl._large { font-size: 3.5rem; line-height: 1.5; top: -1.0em; right: -2em; }
    .page_common_head .txt._dwell .ttl._large { right: -0.5em; }

.page_common_list { display: flex; flex-wrap: wrap; justify-content: space-between; width: calc(1000 / 1600 *100vw); margin: 0 auto; }
.page_common_item { width: 41.8%; margin-top: 15.8rem; }
.page_common_item .txt { min-height: 32.0rem; padding-right: 10.0rem;  position: relative; }
.page_common_item .ttl { position: absolute; top: -0.5em; right: 0; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; }

.page_common + .page_head { margin-top: 20.0rem; }

    .page_common_list { display: flex; flex-direction: column; width: calc(418 / 640 *100vw); margin: 0 auto; }
    .page_common_item { width: 100%; margin-top: 11.5rem; }
    .page_common_item .txt { min-height: 32.0rem; padding-right: calc(118 / 640 *100vw);  position: relative; }
.page_common_item .ttl { position: absolute; top: -0.5em; right: 0; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; }

    .page_common + .page_head { margin-top: 15.0rem; }

    .page_faq { border-top: 1px solid #000; margin-top: 15.0rem; padding: 14.0rem 0 0; }
    .page_faq > .inner { width: calc(620 / 640 *100%); margin: 0 auto; }
.page_faq .ttl { font-size: 3.0rem; }
.faq_list { font-size: 2.0rem; margin-top: 7.5rem; border-bottom: 1px solid #000;  }
.faq_list dt ,
.faq_list dd { padding: 2.5rem 7.0rem 2.5rem 6.5rem; position: relative; }
.faq_list dt { border-top: 1px solid #000; }
.faq_list dd { border-top: 1px dashed #000; }
.faq_list dd p { font-size: 2.0rem; }
.faq_list .q { display: block; width: 3.2rem; height: 3.2rem; border: 1px solid #000; border-radius: 50%; font-size: 1.5rem; line-height: 2; position: absolute; left: 2.0rem; top: 3.0rem; text-align: center; }
.faq_list .a { display: block; width: 3.2rem; height: 3.2rem; border: 1px solid #000; background: #000; border-radius: 50%; font-size: 1.5rem; color: #fff; line-height: 2; position: absolute; left: 2.0rem; top: 3.0rem; text-align: center; }

    .btn_common,
    #load-more { display: block; width: 30.0rem; margin: 10.0rem auto 0; padding: 0.8rem 0; font-size: 2.0rem; text-align: center; color: #fff; background: #333333; }
    .btn_back a { display: block; width: 30.0rem; margin: 5.0rem auto 0; padding: 0.8rem 0; font-size: 2.0rem; text-align: center; color: #fff; background: #333333; }
    
}

/*syokunin*/
.page_staff_list { display: flex; flex-wrap: wrap; justify-content: space-between; width: calc(1000 / 1600 *100vw); margin: 0 auto; }
.page_staff_item { width: 41.8%; margin-top: 9.0rem; }
.page_staff_item .ph,
.page_common_head .ph,
.interivew_movie_ph { position: relative; }
.page_staff_item .ph .arrow,
.page_common_head .ph .arrow { width: 3.0rem; height: 3.0rem; position: absolute; right: 1.5rem; bottom: 1.5rem; }
.interivew_movie_ph .arrow { width: 3.0rem; height: 3.0rem; position: absolute; right: 2.7rem; bottom: 2.7rem; }
.page_staff_list .txt { margin-top: 6.0rem; }
.staff_type { font-size: 1.4rem; line-heiht: 1.5; }
.staff_name { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 2.0rem; }
.staff_name .ja { font-size: 3.0rem; margin-right: 2.0rem; line-height: 1.5; }
.staff_name .en { font-size: 1.4rem; line-height: 1.5; }
.page_staff_list .sns,
.page_common_head .sns { margin-top: 4.5rem; }
.page_staff_list .sns a,
.page_common_head .sns a { display: inline-block; margin-right: 1.6rem; }

.page_supportm_hd { width: calc(1000 / 1600 *100vw); margin: 15.0rem auto 0; padding-top: 7.0rem; text-align: center; font-size: 2.0rem; line-height: 1.5; border-top: 1px solid #000; }
.page_supportm_hd._noline { border-top: none;}

@media screen and (max-width: 900px) { 
    .page_staff_list { display: flex; flex-wrap: wrap; flex-direction: column; justify-content: space-between; width: calc(418 / 640 *100vw); margin: 0 auto; }
    .page_staff_item { width: 100%; margin-top: 9.0rem; }
    ._mt50 { margin-top: 5.0rem!important; }
.page_staff_list .txt { margin-top: 6.0rem; }
.staff_type { font-size: 1.4rem; line-height: 1.5; }
.staff_name { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 2.0rem; }
.staff_name .ja { font-size: 3.0rem; margin-right: 2.0rem; line-height: 1.5; }
.staff_name .en { font-size: 1.4rem; line-height: 1.5; }
.page_staff_list .sns { margin-top: 4.5rem; }
.page_staff_list .sns a { display: inline-block; margin-right: 1.6rem; }

    .page_supportm_hd { width: calc(620 / 640 *100%); margin: 11.5rem auto 0; padding-top: 5.0rem; text-align: center; font-size: 2.0rem; line-height: 1.5; border-top: 1px solid #000; }
.page_supportm_hd._noline { border-top: none;}
    
}

/*inteview*/
.interview_title { position: absolute; top: 50%; width: 100%; text-align: center; transform: translateY(-55%); }
.interview_title .ttl { position: absolute; right: calc(220 / 1600 *100vw); top: 50%; transform: translateY(-40%); font-size: 5.0rem; color: #fff; writing-mode: vertical-rl; white-space: nowrap; letter-spacing: 1em; }
.interview_title .hd { font-size: 2.0rem; color: #fff; }
.interview_title .catch { width: 50.0rem; margin: 3.4rem auto 0; }

.inteview_wrapper { background: #fff; margin-top: 9.0rem; padding: 9.0rem 0 20.0rem; }
.inteview_wrapper._p0 { padding-top: 0; }
.inteview_wrapper .page_common_headwide { margin-top: 0; }

.page_common_nomalw { width: calc(1000 / 1600 *100vw); margin: 0 auto; }
.page_common_nomalw._line { margin-bottom: 7.0rem; padding-bottom: 6.0rem; border-bottom: 1px solid #000; }

.interview_item { display: grid; grid-template-columns: 4em 1fr; grid-gap: 2em 2.5rem; margin-top: 4.5rem; font-size: 2.0rem; line-height: 1.7; }
.interview_item dt { border-right: 1px solid #000; font-weight: 700; }
.interview_list .hd { margin-top: 5.0rem; font-size: 3.0rem; font-weight: 700; }
.interview_list > * + * { margin-top: 3.0rem; }
.interview_list .ph._half { display: grid; grid-template-columns: repeat(2,1fr); grid-column-gap: 0; }
.interview_list .ph._half img { display: block; width: 100%; height: auto; }

.interivew_movie_ph { display: block; margin-top: 6.0rem; position: relative; }
.interivew_movie_time { margin-top: 6.0rem; font-size: 1.6rem; text-align: center; color: #707070; }

@media screen and (max-width: 900px) { 
    .interview_title { position: absolute; top: 50%; width: 100%; text-align: center; transform: translateY(-50%); }
    .interview_title .ttl { position: absolute; right: 50%; top: 30%; transform: translate(50%,-100%); font-size: 5.0rem; color: #fff; writing-mode: vertical-rl; white-space: nowrap; letter-spacing: 1em; }
    .interview_title .hd { display: none; }
    .interview_title .catch { width: 44.0rem; margin: 3.4rem auto 0; }

    .inteview_wrapper { background: #fff; margin-top: 8.3rem; padding: 6.8rem 0 7.0rem; }
.inteview_wrapper._p0 { padding-top: 0; }
.inteview_wrapper .page_common_headwide { margin-top: 0; }
    .inteview_wrapper .page_common_headwide .txt { width: calc(550 / 640 *100vw); margin-left: calc(53 / 640 *100vw); }
    .inteview_wrapper .page_common_headwide .discription { padding-top: calc(90 / 640 *100vw); }

    .page_common_nomalw { width: calc(620 / 640 *100%); margin: 5.0rem auto 0; }
    .page_common_nomalw._line { margin-bottom: 0; padding-bottom: 6.0rem; border-bottom: 1px solid #000; }

    .interview_item { display: grid; grid-template-columns: 4em 1fr; grid-gap: 2em 2.5rem; margin-top: 4.5rem; padding: 0 0.9rem; font-size: 2.0rem; line-height: 1.7; }
.interview_item dt { border-right: 1px solid #000; font-weight: 700; }
    .interview_list .hd { margin-top: 9.0rem; padding: 0 0.9rem; font-size: 3.0rem; font-weight: 700; }
.interview_list > * + * { margin-top: 3.0rem; }
.interview_list .ph._half { display: grid; grid-template-columns: repeat(2,1fr); grid-column-gap: 0; }
.interview_list .ph._half img { display: block; width: 100%; height: auto; }

.interivew_movie_ph { display: block; margin-top: 6.0rem; }
.interivew_movie_time { margin-top: 6.0rem; font-size: 1.6rem; text-align: center; color: #707070; }
    
}

/*dwell*/
.dwell_head { position: relative; margin: 20.0rem 0 10.0rem; }
.dwell_head .ph { position: relative; }
.dwell_head .ttl_area { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.dwell_head .ttl_area .catch { width: 75.0rem; }
.dwell_head .ttl_area .ttl { width: 100%; font-size: 2.0rem; color: #fff; text-align: center; position: absolute; bottom: -5.8rem; transform: translateY(100%); }
.dwell_head .txt { width: calc(800 / 1600 *100vw); min-height: 30.0rem; margin: 0 auto; padding-top: 7.0rem; position: relative; }
.dwell_head .txt .discription { width: 82%; margin-left: 8.62%; }
.dwell_head .txt .ttl { font-size: 5.0rem; line-height: 1.5; writing-mode: vertical-rl; white-space: nowrap; letter-spacing: 1em; position: absolute; right: 0.8em; top: -0.5em; transform: translateX(100%); }
.dwell_item .read { font-size: 5.0rem; line-height: 1.5; writing-mode: vertical-rl; white-space: nowrap; letter-spacing: 1em; position: absolute; right: 0.8em; bottom: 4em; transform: translate(100%,100%); }
.dwell_item { width: calc(800 / 1600 *100vw); margin: 0 auto; }
.dwell_item .txt { width: 88.75%; }
.dwell_item .ph { position: relative; }
.dwell_item > * + * { margin-top: 6.5rem; }
.dwell_item  .ph._half { display: grid; grid-template-columns: repeat(2,1fr); grid-column-gap: 0; }
.dwell_item + .dwell_item { margin-top: 12.0rem; }

@media screen and (max-width: 900px) { 
    .dwell_head { position: relative; margin: 10.0rem 0 10.0rem; }
    .dwell_head .ph { position: relative; margin: 0 calc(10 / 640 *100vw); }
.dwell_head .ttl_area { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
    .dwell_head .ttl_area .catch { width: calc(496 / 640 *100vw); }
    .dwell_head .ttl_area .ttl { width: 100%; font-size: 2.0rem; color: #fff; text-align: center; position: absolute; bottom: -1.0rem; transform: translateY(100%); }
    .dwell_head .txt { width: calc(540 / 640 *100vw); min-height: 30.0rem; margin: 0 auto; padding-right: 14.5rem; box-sizing: border-box; position: relative; }
    .dwell_head .txt .discription { width: 100%; margin-left: 0; }
    .dwell_head .txt .ttl { font-size: 3.5rem; line-height: 1.5; writing-mode: vertical-rl; white-space: nowrap; letter-spacing: 1em; position: absolute; right: -0.5em; top: 1.0em; transform: translateX(0); }
    .dwell_item .read { font-size: 3.5rem; line-height: 1.5; writing-mode: vertical-rl; white-space: nowrap; letter-spacing: 1em; position: absolute; right: 0.5em; bottom: -1em; transform: translate(0,100%); }
    .dwell_item { width: calc(620 / 640 *100%); margin: 0 auto; }
    .dwell_item .txt { width: calc(540 / 640 *100vw); padding-right: 14.5rem; margin: 7.0rem auto 0; box-sizing: border-box; }
.dwell_item .ph { position: relative; }
    .dwell_item > * + * { margin-top: 4.5rem; }
.dwell_item  .ph._half { display: grid; grid-template-columns: repeat(2,1fr); grid-column-gap: 0; }
    .dwell_item + .dwell_item { margin-top: 9.0rem; }
    
}

/*life*/
.life_head { margin: 16.5rem calc(340 / 1600 *100vw) 0; position: relative; }
.life_head .discription { width: 74.78%; margin-left: 14.25%; }
.life_head .life_hd { position: absolute; left: -16.0rem; }
.life_head .ttl { position: absolute; top: -0.5em; right: 0; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; line-height: 1.5; white-space: nowrap; }


.life_item { display: flex; flex-direction: row-reverse; min-height: 32.5rem; margin: 12.0rem 1.0rem 0; }
.life_item:nth-child(2n + 1) { justify-content: flex-end; }
.life_item:nth-child(2n) { justify-content: flex-end; flex-direction: row; }
.life_item .ph { width: calc(700 / 1600 *100vw); }
.life_item .txt { width: calc(418 / 1600 *100vw); position: relative; box-sizing: border-box; }
.life_item:nth-child(2n + 1) .txt { margin-left: calc(82 / 1600 *100vw); padding-right: calc(118 / 1600 *100vw); }
.life_item:nth-child(2n) .txt { margin-right: calc(82 / 1600 *100vw); padding-left: calc(118 / 1600 *100vw); }
.life_item .ttl { position: absolute; top: -0.5em; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; }
.life_item:nth-child(2n + 1) .ttl { right: 0; }
.life_item:nth-child(2n) .ttl { left: 0; }
.life_item:nth-child(2n + 1) .ttl._wide { right: -2em; }

.life_section_head { margin: 20.0rem calc(10 / 1600 *100vw) 0 calc(350 / 1600 *100vw); position: relative; }
.life_section_head .txt { min-height: 30.0rem; padding-top: 11.0rem; position: relative; }
.life_section_head .ph { position: relative; }
.life_section_head .read { writing-mode: vertical-rl; font-size: 5.0rem; letter-spacing: 0.8em; line-height: 1.5; white-space: nowrap; position: absolute; left: 7.0rem; top: -0.5em; }
.life_section_head .discription { width: 56.24%; margin-left: 23.5rem; }
.life_section_head .life_hd { position: absolute; left: -16.0rem; }

.life_section_head._section02 { margin: 20.0rem calc(350 / 1600 *100vw) 0 calc(10 / 1600 *100vw);}
.life_section_head._section02 .read { right: 3.0rem; left: auto; }
.life_section_head._section02 .discription { width: 51.04%; margin-left: 21.88%; }
.life_section_head._section02 .life_hd { left: 11rem; }

@media screen and (max-width: 900px) { 
    .life_head { width: calc(527 / 640 *100vw); margin: 10.0rem 0 0 calc(63 / 640 *100vw); position: relative; }
    .life_head .discription { width: calc(100% - 9.7rem); margin-left: 0; }
    .life_head .life_hd { position: absolute; left: calc(-50 / 640 *100vw); top: -5.0rem; }
.life_head .ttl { position: absolute; top: -0.5em; right: 0; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; line-height: 1.5; white-space: nowrap; }


    .life_item { display: flex; flex-direction: column-reverse; min-height: 32.5rem; margin: 5.0rem 1.0rem 0; }
.life_item:nth-child(2n + 1) { justify-content: flex-end; }
    .life_item:nth-child(2n) { justify-content: flex-end; flex-direction: column-reverse; }
    .life_item .ph { width: 100%; margin: 0 auto; }
    .life_item .txt {  display: flex; justify-content: space-between; width: calc(448 / 640 *100vw); position: relative; box-sizing: border-box; }
    .life_item:nth-child(2n + 1) .txt { margin: 4.0rem auto 0; padding-right: 0; }
    .life_item:nth-child(2n) .txt { flex-direction: row-reverse; margin: 4.0rem auto 0; padding-left: 0; }
    .life_item .ttl { width: 7.8rem; position: relative; top: -0.5em; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; white-space: nowrap; }
    .life_item .discription { width: calc(100% - 11.8rem); }
.life_item:nth-child(2n + 1) .ttl { right: 0; }
.life_item:nth-child(2n) .ttl { left: 0; }
    .life_item:nth-child(2n + 1) .ttl._wide { right: 0; }

    .life_section_head { margin: 10.0rem calc(10 / 1600 *100vw) 0; position: relative; }
.life_section_head .txt { min-height: 30.0rem; padding-top: 5.0rem; position: relative; }
.life_section_head .ph { position: relative; }
    .life_section_head .read { writing-mode: vertical-rl; font-size: 3.5rem; letter-spacing: 0.8em; line-height: 1.5; white-space: nowrap; position: absolute; left: auto; right: calc(40 / 640 *100vw); top: -0.5em; }
    .life_section_head .discription { width: calc(300 / 640 *100vw); margin-left: calc(100 / 640 *100vw); }
    .life_section_head .life_hd { position: absolute; left: calc(10 / 640 *100vw); }

    .life_section_head._section02 { margin: 9.0rem calc(10 / 640 *100vw) 0;}
.life_section_head._section02 .read { right: 1.0rem; left: auto; }
.life_section_head._section02 .discription { width: calc(300 / 640 * 100vw); margin-left: calc(100 / 640 * 100vw); }
    .life_section_head._section02 .life_hd { left: calc(10 / 640 * 100vw); }
    
}

/*works*/
.works_cat { width: calc(1000 / 1600 *100vw); margin: 10.5rem auto; text-align: center; font-size: 1.8rem; }
.works_cat._company { margin: 6.0rem auto 0; }
.works_cat .active { border-bottom: 1px solid #000; }
.works_cat a { display: inline-block; margin: 0 2.0rem; }

.works_archive_list { display: grid; grid-template-columns: repeat(2,1fr); grid-gap: 5.0rem 4%; width: calc(1000 / 1600 *100vw); margin: 0 auto; }
.works_archive_item .ph { display: block; overflow: hidden; }
.works_archive_item .ph img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.works_archive_item .txt { display: flex; justify-content: space-between; margin-top: 1.5rem; }
.works_archive_item .ttl { font-size: 2.0rem; line-height: 1.5;}
.works_archive_item .cat { min-width: 8em; text-align: right; }
.works_archive_item .cat a { font-size: 1.6rem; border-bottom: 1px solid #000; }

@media screen and (max-width: 900px) { 
    .works_cat { display: flex; justify-content: space-between; flex-wrap: wrap; width: calc(580 / 640 *100vw); max-width: 44.8rem; margin: 5.0rem auto; text-align: center; font-size: 1.8rem; }
.works_cat._company { margin: 6.0rem auto 0; }
.works_cat .acrive { border-bottom: 1px solid #000; }
.works_cat a { display: inline-block; margin: 0 2.0rem 2.0rem; }

    .works_archive_list { display: grid; grid-template-columns: repeat(2,1fr); grid-gap: 5.0rem 4%; width: calc(580 / 640 *100vw); margin: 8.0rem auto 0; }
.works_archive_item .txt { display: flex; justify-content: space-between; margin-top: 1.5rem; }
.works_archive_item .ttl { font-size: 2.0rem; line-height: 1.5;}
    .works_archive_item .cat { min-width: 8em; text-align: right; }
.works_archive_item .cat a { font-size: 1.6rem; border-bottom: 1px solid #000; }
    
}

/*works single*/
.works_single { width: calc(1000 / 1600 *100vw); margin: 10.5rem auto; }
.works_gallery-main { margin: 10.0rem 0 2.8rem; position: relative; }
.works_gallery-main .swiper-button-prev { left: -9.2rem; width: 3.0rem; height: 3.0rem; border-radius: 50%; background: $green; }
.works_gallery-main .swiper-button-next { right: -9.2rem; width: 3.0rem; height: 3.0rem; border-radius: 50%; background: $green; }
.works_gallery-main .swiper-button-prev img,
.works_gallery-main .swiper-button-next img { width: 0.63rem; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);-webkit-transform: translate(-50%,-50%); }
.works_gallery-main .swiper-button-next img { transform: translate(-50%,-50%) scale(-1,1);-webkit-transform: translate(-50%,-50%) scale(-1,1); }
.works_gallery-main .swiper-button-prev:after,
.works_gallery-main .swiper-button-next:after { display: none; }
.works_gallery-thumb { position: relative; overflow: hidden; padding-bottom: 4.1rem; }
.works_gallery-thumb .swiper-scrollbar { width: 100%; left: 0; }
.works_gallery-thumb .swiper-scrollbar-drag { background: #000; }


.works_gallery-main .swiper-slide > div,
.works_gallery-thumb .swiper-slide > div { padding-bottom: 66.66%; position: relative; }
.works_gallery-main .swiper-slide > div img,
.works_gallery-thumb .swiper-slide > div img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.works_post_ttl { font-size: 2.0rem; margin-top: 11.0rem; }
.works_post_meta { display: flex; margin-top: 6.0rem; }
.works_post_table { width: 44.8rem; }
.works_post_table th { width: 8em; font-size: 1.6rem; font-weight: 700; padding: 0 0 2.0rem; }
.works_post_table td { font-size: 1.4rem; padding-bottom: 2.0rem; }
.works_post_data { width: 32.2rem; margin-left: 10.7rem; font-size: 1.6rem; }
.works_post_data p { font-size: 1.6rem; margin-top: 2em; }

.work_recommend_wrapper { position: relative; }
.work_recommend_box .hd { font-size: 1.8rem; text-align: center; }
.work_recommend_box { position: relative; margin-top: 9.0rem; padding-top: 5.0rem; border-top: 1px solid #000; }
.work_recommend_list { overflow: hidden; margin-top: 5.0rem; position: relative; }
.work_recommend_box .swiper-button-prev2 { position: absolute; top: 50%; left: -9.2rem; width: 3.0rem; height: 3.0rem; border-radius: 50%; background: #000; transform: translateY(-50%);-webkit-transform: translateY(-50%); }
.work_recommend_box .swiper-button-next2 {  position: absolute; top: 50%; right: -9.2rem; width: 3.0rem; height: 3.0rem; border-radius: 50%; background: #000; transform: translateY(-50%);-webkit-transform: translateY(-50%); }
.work_recommend_box .swiper-button-prev2 img,
.work_recommend_box .swiper-button-next2 img { width: 0.63rem; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);-webkit-transform: translate(-50%,-50%); }
.work_recommend_box .swiper-button-prev2 img { transform: translate(-50%,-50%) scale(-1,1);-webkit-transform: translate(-50%,-50%) scale(-1,1); }
.work_recommend_box .swiper-button-prev2:after,
.work_recommend_box .swiper-button-next2:after { display: none; }
.work_recommend_box .swiper-button-disabled { opacity: .35; }

@media screen and (max-width: 900px) { 
    .works_single { width: calc(620 / 640 *100%); margin: 5.0rem auto; }
.works_gallery-main { margin: 0 0 2.8rem; position: relative; }
.works_gallery-main .swiper-button-prev { left: -9.2rem; width: 3.0rem; height: 3.0rem; border-radius: 50%; background: $green; }
.works_gallery-main .swiper-button-next { right: -9.2rem; width: 3.0rem; height: 3.0rem; border-radius: 50%; background: $green; }
.works_gallery-main .swiper-button-prev img,
.works_gallery-main .swiper-button-next img { width: 0.63rem; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);-webkit-transform: translate(-50%,-50%); }
.works_gallery-main .swiper-button-next img { transform: translate(-50%,-50%) scale(-1,1);-webkit-transform: translate(-50%,-50%) scale(-1,1); }
.works_gallery-main .swiper-button-prev:after,
.works_gallery-main .swiper-button-next:after { display: none; }
.works_gallery-thumb { position: relative; overflow: hidden; padding-bottom: 4.1rem; }
.works_gallery-thumb .swiper-scrollbar { width: 100%; left: 0; }

.works_gallery-main .swiper-slide > div,
.works_gallery-thumb .swiper-slide > div { padding-bottom: 66.66%; position: relative; }
.works_gallery-main .swiper-slide > div img,
.works_gallery-thumb .swiper-slide > div img { width: 100%; height: 100%; position: absolute; object-fit: cover; }

    .works_post_ttl { font-size: 2.0rem; margin-top: 10.0rem; padding: 0 6.45%; }
    .works_post_meta { display: flex; flex-direction: column; margin-top: 6.0rem; padding: 0 6.45%; }
    .works_post_table { width: 100%; }
.works_post_table th { font-size: 1.6rem; font-weight: 700; padding: 0 0 2.0rem; }
.works_post_table td { font-size: 1.4rem; padding-bottom: 2.0rem; }
    .works_post_data { width: 100%; margin: 5.0rem 0 0; font-size: 1.6rem; }
.works_post_data p { font-size: 1.6rem; margin-top: 2em; }

.work_recommend_wrapper { position: relative; }
.work_recommend_box .hd { font-size: 1.8rem; text-align: center; }
    .work_recommend_box { position: relative; width: 93.54%; margin: 7.0rem auto 0; padding-top: 3.0rem; border-top: 1px solid #000; }
    .work_recommend_list { overflow: hidden; margin-top: 5.0rem; position: relative; }
    .work_recommend_box .swiper-button-prev2 { position: absolute; top: 14.5vw; left:0; width: 3.0rem; height: 3.0rem; border-radius: 50%; background: #000; transform: translate(-50%,0%);-webkit-transform: translate(-50%,0%); z-index: 2; }
    .work_recommend_box .swiper-button-next2 {  position: absolute; top: 14.5vw; right: 0; width: 3.0rem; height: 3.0rem; border-radius: 50%; background: #000; transform: translate(50%,0%);-webkit-transform: translate(50%,0%); z-index: 2; }
.work_recommend_box .swiper-button-prev2 img,
.work_recommend_box .swiper-button-next2 img { width: 0.63rem; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);-webkit-transform: translate(-50%,-50%); }
.work_recommend_box .swiper-button-prev2 img { transform: translate(-50%,-50%) scale(-1,1);-webkit-transform: translate(-50%,-50%) scale(-1,1); }
.work_recommend_box .swiper-button-prev2:after,
.work_recommend_box .swiper-button-next2:after { display: none; }
.work_recommend_box .swiper-button-disabled { opacity: .35; }
}

/*news*/
.news_archive_list { display: grid; grid-template-columns: repeat(2,1fr); grid-gap: 6.0rem 4%; width: calc(990 / 1600 *100vw); margin: 0 auto; }
.news_archive_list .ph { overflow: hidden; }
.news_archive_list .ph img {width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.news_archive_item .txt { margin-top: 1.5rem; }
.news_archive_item .date { font-size: 1.4rem; line-height: 1.5;}
.news_archive_item .ttl { font-size: 1.8rem; line-height: 1.5; margin-top: 1.0rem; }

@media screen and (max-width: 900px) { 
    .news_archive_list { display: grid; grid-template-columns: repeat(2,1fr); grid-gap: 3.5rem 3.44%; width: calc(580 / 640 *100vw); margin: 0 auto; }
.news_archive_item .txt { margin-top: 1.5rem; }
.news_archive_item .date { font-size: 1.4rem; line-height: 1.5;}
.news_archive_item .ttl { font-size: 1.8rem; line-height: 1.5; margin-top: 1.0rem; }
    
}

/*news single*/
.news_single { width: calc(1000 / 1600 *100vw); margin: 6.5rem auto; }
.news_single > .date { font-size: 1.4rem; }
.news_single > .ttl { font-size: 2.5rem; line-height: 1.5; border-bottom: 1px solid #000; margin-top: 1.0rem; padding-bottom: 3.0rem; }
.news_single > .edit { margin-top: 3.0rem; padding-bottom: 10.0rem; font-size: 2.0rem; border-bottom: 1px solid #000; }
.news_single > .edit p { font-size: 2.0rem; }
.news_single > .edit * + * { margin-top: 5.0rem; }
.news_single .cat { margin-top: 1.0rem; }
.news_single .cat a { display: inline-block; font-size: 1.6rem; border-bottom: 1px solid #000;}
.news_single .cat a + a { margin-left: 2.0rem; }
.work_recommend_box._news { position: relative; margin-top: 9.0rem; padding-top: 0; border-top: none; }

@media screen and (max-width: 900px) { 
    .news_single { width: calc(620 / 640 *100%); margin: 6.5rem auto; }
.news_single > .date { font-size: 1.4rem; }
    .news_single > .ttl { font-size: 2.5rem; line-height: 1.5; border-bottom: 1px solid #000; margin-top: 1.0rem; padding-bottom: 2.5rem; }
    .news_single > .edit { margin-top: 3.0rem; padding-bottom: 9.0rem; font-size: 2.0rem; border-bottom: 1px solid #000; }
.news_single > .edit p { font-size: 2.0rem; }
    .news_single > .edit * + * { margin-top: 3.0rem; }
.news_single .cat { margin-top: 1.0rem; }
.news_single .cat a { display: inline-block; font-size: 1.6rem; border-bottom: 1px solid #000;}
.news_single .cat a + a { margin-left: 2.0rem; }
    .work_recommend_box._news { position: relative; margin-top: 11.0rem; padding-top: 0; border-top: none; }
    
}

/*company*/
.company_data { width: calc(800 / 1600 *100vw); margin: 12.0rem auto 0; }
.company_data table { width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000;  }
.company_data table th, .company_data table td { font-size: 1.8rem; font-weight: 500; padding: 1.5rem 0 1.5rem 2.0rem; }
.company_data table th { width: 7em; }
.company_data table tr:nth-child(n + 2) th, .company_data:nth-child(n + 2) table td { border-top: 1px dashed #000; }

.company_access > .inner { width: calc(900 / 1600 *100vw); margin: 20.0rem auto 0; display: flex; justify-content: space-between; }
.company_access .item { width: 46.44%; }
.company_access .txt { min-height: 6.5em; position: relative; }
.company_access .ph { margin-top: 4.0rem; } 
.company_access .hd { position: absolute; top: -0.5em; right: 0; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; white-space: nowrap; }
.company_access .address { font-size: 1.6rem; padding-right: 3em; }

@media screen and (max-width: 900px) { 
    .company_data { width: calc(620 / 640 *100%); margin: 10.0rem auto 0; }
.company_data table { width: 100%; border-top: 1px solid #000; border-bottom: 1px solid #000;  }
    .company_data table th, .company_data table td { font-size: 1.8rem; font-weight: 500; padding: 1.5rem 0 1.5rem 2.0rem; }
.company_data table tr:nth-child(n + 2) th, .company_data:nth-child(n + 2) table td { border-top: 1px dashed #000; }

    .company_access > .inner { width: calc(418 / 640 *100vw); margin: 8.0rem auto 0; display: flex; flex-direction: column; justify-content: space-between; }
    .company_access .item { width: 100%; }
    .company_access .item + .item { margin-top: 6.0rem; }
.company_access .txt { min-height: 6.5em; position: relative; }
.company_access .ph { margin-top: 4.0rem; } 
.company_access .hd { position: absolute; top: -0.5em; right: 0; writing-mode: vertical-rl; font-size: 2.0rem; letter-spacing: 0.8em; white-space: nowrap; }
.company_access .address { font-size: 1.6rem; padding-right: 3em; }
    
}


/*tanks*/
.thanks_ttl { font-size: 3.4rem; text-align: center; }
.thanks_read { font-size: 1.5rem; text-align: center; margin-top: 3.0rem; }

@media screen and (max-width: 900px) { 
    .thanks_ttl { font-size: 2.6rem; text-align: left; }
    .thanks_read { font-size: 1.5rem; text-align: left; margin-top: 3.0rem; }
}


/*contact*/
.contact_head { width: calc(920 / 1600 *100vw); margin: 20.0rem auto 0; }
.contact_head .ttl { font-size: 1.8rem; text-align: center; }
.contact_body { width: calc(920 / 1600 *100vw); margin: 24.0rem auto 0; }
.contact_body._thanks { margin-top: 12.0rem; text-align: center; }
.contact_body > .inner form { display: flex; justify-content: space-between; }
.contact_body > .inner form > div { width: 48.91%; position: relative; }

.form_item { font-size: 1.4rem; }
.form_item + .form_item { margin-top: 2.0rem; }

.required { color: #B7282E; }
.form_item select,
.form_item input[type="text"],
.form_item input[type="tel"],
.form_item input[type="email"],
textarea { display: block; width: 100%; padding: 0.8rem 1.0rem; border: 1px solid #000; box-sizing: border-box; background: none; font-size: 1.6rem; }
textarea { height: 22.8rem; }

.form_type { position: absolute; top: -1.0rem; transform: translateY(-100%); }
.form_type label input { vertical-align: unset; margin-right: 0.5em; }
.form_type label { margin-right: 1.0rem; font-size: 1.4rem; }

.privacy_txt { display: block; margin-top: 3.0rem; padding: 1.0rem 0; box-sizing: border-box; text-align: center; border: 1px solid #000; font-size: 1.4rem; line-height: 1.5; }
.btn_submit[type="submit"] { width: 100%; margin-top: 3.0rem; padding: 1.0rem 0; text-align: center; background: #000; font-size: 1.4rem; color: #fff; line-height: 1.5; }

.hidden { display: none; }

.form_type .wpcf7-list-item { margin-left: 0; }


@media screen and (max-width: 900px) { 
    .contact_head { width: calc(450 / 640 *100vw); margin: 9.0rem auto 0; }
.contact_head .ttl { font-size: 1.8rem; text-align: center; }
    .contact_head .ttl span {border-bottom: 1px solid #000; padding-bottom: 0.3rem; }
    .contact_body { width: calc(450 / 640 *100vw); margin: 12.0rem auto 0; }
    .contact_body > .inner form { display: flex; flex-direction: column; }
    .contact_body > .inner form > div { width: 100%; position: relative; }
    .contact_body > .inner form > div + div { margin-top: 3.7rem; }

.form_item { font-size: 1.4rem; }
.form_item + .form_item { margin-top: 2.0rem; }

.required { color: #B7282E; }
.form_item select,
.form_item input[type="text"],
.form_item input[type="tel"],
.form_item input[type="email"],
textarea { display: block; width: 100%; padding: 0.8rem 1.0rem; border: 1px solid #000; box-sizing: border-box; background: none; }
textarea { height: 20.8rem; }

.form_type { position: absolute; top: -1.0rem; transform: translateY(-100%); }
.form_type label input { vertical-align: unset; margin-right: 0.5em; }
.form_type label { margin-right: 1.0rem; font-size: 1.4rem; }

.privacy_txt { display: block; margin-top: 3.0rem; padding: 1.0rem 0; box-sizing: border-box; text-align: center; border: 1px solid #000; font-size: 1.4rem; line-height: 1.5; }
.btn_submit[type="submit"] { width: 100%; margin-top: 3.0rem; padding: 1.0rem 0; text-align: center; background: #000; font-size: 1.4rem; color: #fff; line-height: 1.5; }

.hidden { display: none; }
    
}

/*form*/
.wpcf7-not-valid-tip { display: none!important; }
.formError .formErrorContent { font-size: 1.1rem!important; margin-top: 5px; }
.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; }

.error-message .undefinedformError { display: none!important; }
.error-message .parentFormcontact-form .formErrorContent { border-radius: 5px!important; }

.wpcf7-checkbox.acceptance .wpcf7-list-item-label { display: none!important; }

.privacy_txt .wpcf7-list-item { margin: 0 0.5rem 0 0; }
.form_item .wpcf7-list-item { margin-left: 0; }
.form_item .wpcf7-list-item + .wpcf7-list-item { margin-left: 3.0rem; }

.wpcf7-turnstile { text-align: center; margin-top: 8.0rem;}

.grecaptcha-badge { visibility: hidden; }
body.contact .grecaptcha-badge { visibility: visible; }

/*privacy*/
.page_main._privacy > * { padding-left: 9.37%; }
.privacy_hd { font-size: 2.5rem; font-weight: 700; margin-bottom: 1.0rem; }
p + .privacy_hd { margin-top: 5.5rem; }
.page_main._privacy p + p { margin-top: 2em; }

@media screen and (max-width: 767px) { 
    .page_main._privacy > * { padding-left: 0; }
    .privacy_hd { font-size: 1.5rem; font-weight: 700; margin-bottom: 1.0rem; }
    p + .privacy_hd { margin-top: 3.0rem; }
.page_main._privacy p + p { margin-top: 2em; }
    
}

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

@media (hover: hover) and (pointer: fine) {
    a.link_txt:hover { text-decoration: none; }
    
    .main_nav a,
    .sub_nav a,
    .fix_nav a,
    .footer_inq a,
    .footer_function a,
    .nav_main a,
    .nav_inq a,
    .nav_sub a { transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
    .main_nav a:hover,
    .sub_nav a:hover,
    .fix_nav a:hover,
    .footer_inq a:hover,
    .footer_function a:hover,
    .nav_main a:hover,
    .nav_inq a:hover,
    .nav_sub a:hover { opacity: 0.5; }
    
    .footer_contact_link a .link_arrow img,
    .common_btn a .link_arrow img,
    .common_btn .link_arrow img,
    .common_link a .link_arrow img,
    .top_lineup_item .btn a .link_arrow img,
    .top_company_link a .link_arrow img { position: relative; left: 0; -webkit-transition: left 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: left 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .footer_contact_link a:hover .link_arrow img,
     .common_btn a:hover .link_arrow img,
     .common_btn:hover .link_arrow img,
     .common_link a:hover .link_arrow img,
    .top_lineup_item .btn a:hover .link_arrow img,
    .top_company_link a:hover .link_arrow img { left: 7px; }
    
    .top_lineup_item a.name_main:hover .txt { text-decoration: none; }
    
    .news_archive_item .ph > div img,
    .works_archive_item .ph img,
    .top_thumb_item .ph img { -webkit-transition: transform 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: transform 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .news_archive_item:hover .ph > div img,
    .works_archive_item:hover .ph img,
    .top_thumb_item:hover .ph img  { -webkit-transform: scale(1.05); transform: scale(1.05); }
    
    .top_news_cat li a:before { -webkit-transition: background 1.0s cubic-bezier(0.16, 1, 0.3, 1); transition: background 1.0s cubic-bezier(0.16, 1, 0.3, 1); }
    .top_news_cat li a:hover:before { background: #B7282E; }

    
}

