@charset "utf-8";
/*
0.702 -- 0.790 -- 0.889 -- 1.000 -- 1.125 -- 1.266 -- 1.424 -- 1.602 -- 1.802 -- 2.027 -- 2.281 -- 2.566 -- 2.887 -- 3.247 -- 3.653 -- 4.110 -- 4.624 -- 5.199 -- 5.852 -- 6.584 -- 7.401 -- 8.333 -- 9.375 -- 10.557 -- 11.877 -- 13.362 -- 15.032 -- 16.911
*/
/*----------------------------------- */
/*----------------------------------- */
/*-- Reset -------------------------- */
/*----------------------------------- */
/*----------------------------------- */
*, html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video{font-size: 100%;vertical-align: baseline;margin: 0;padding: 0;border: 0;}ol,ul{list-style: none; }article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display: block;}audio,canvas,video{display: inline-block;}audio:not([controls]){display: none;}img{vertical-align: top;margin: 0;padding: 0;border-style: none;}embed,iframe,object,video{max-width: 100%;}.container h1,.container h2,.container h3,.container h4,.container h5,.container h6,.container p,.container ol,.container ul,.container blockquote,.container dl,.container embed,.container iframe,.container object,.container video,.container table,
.header h1,.header h2,.header h3,.header h4,.header h5,.header h6,.header p,.header ol,.header ul,.header blockquote,.header dl,.header embed,.header iframe,.header object,.header video,.header table,.footer h1,.footer h2,.footer h3,.footer h4,.footer h5,.footer h6,.footer p,.footer ol,.footer ul,.footer blockquote,.footer dl,.footer embed,.footer iframe,.footer object,.footer video,.footer table{margin-bottom: 30px;}.container h1,.container h2,.container h3,.container h4,.container h5,.container h6,.header h1,.header h2,.header h3,.header h4,.header h5,.header h6,footer h1,.footer h2,.footer h3,.footer h4,.footer h5,.footer h6{font-weight: 400;}
*, *::after, *::before{box-sizing: border-box;}
/*----------------------------------- */
/*----------------------------------- */
/*-- Base --------------------------- */
/*----------------------------------- */
/*----------------------------------- */
html{font-size: 14px;}	
@media screen and (min-width: 768px){
html{font-size: 16px;}
}
html{scrollbar-gutter: stable;}
body{color: var(--color-slt-base);font-family: 'Jost', 'Kosugi', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-optical-sizing: auto;font-feature-settings: "palt";font-weight: 400;font-style: normal;font-size: 1rem;text-align: center;text-rendering: optimizeLegibility;line-height: 2;background: var(--color-slt-tint);padding: 0;margin: 0;-webkit-text-size-adjust: 100%;text-size-adjust: 100%;}
a:link, a:active, a:visited{color: var(--color-trq-base);text-decoration: none;outline: none;transition: color .3s ease, background-color .3s ease, border-color .3s ease;}
a:hover{color: var(--color-trq-base);text-decoration: none;}
/*----------------------------------- */
/*----------------------------------- */
/*-- img ---------------------------- */
/*----------------------------------- */
/*----------------------------------- */
img{display: block;width: 100%;max-width: 100%;height: auto;}
img[src*='.svg']{width: 100%;height: auto;}
/*----------------------------------- */
/*----------------------------------- */
/*-- strong ------------------------- */
/*----------------------------------- */
/*----------------------------------- */
strong{font-weight: 400;}
/*----------------------------------- */
/*----------------------------------- */
/*-- address ------------------------ */
/*----------------------------------- */
/*----------------------------------- */
address{font-style: normal;}
/*----------------------------------- */
/*----------------------------------- */
/*-- address ------------------------ */
/*----------------------------------- */
/*----------------------------------- */
em{font-style: normal;}
/*----------------------------------- */
/*----------------------------------- */
/*-- table -------------------------- */
/*----------------------------------- */
/*----------------------------------- */
table{text-align: center;table-layout:fixed;width: 100%;border-collapse: collapse;border-spacing: 0;margin-right: auto;margin-left: auto;}
table tr th{font-weight: 400;}
table tr th,
table tr td{word-wrap: break-word;vertical-align: middle;}
/*----------------------------------- */
/*----------------------------------- */
/*-- a.tel -------------------------- */
/*----------------------------------- */
/*----------------------------------- */
a.tel{color: var(--color-slt-base);text-decoration: none;cursor: default;}
a.mail{color: var(--color-slt-base);text-decoration: none;cursor: default;}
/*----------------------------------- */
/*----------------------------------- */
/*-- a.bdr -------------------------- */
/*----------------------------------- */
/*----------------------------------- */
a.bdr{color: var(--color-slt-base);display: inline-flex;position: relative;overflow: hidden;}
a.bdr::before,
a.bdr::after{content: '';display: block;width: 100%;height: 1px;position: absolute;bottom: 0;}
a.bdr::before{border-bottom: 1px dashed var(--color-slt-base);left: 0;transform: translateX(0);opacity: 1;transition: transform .8s ease, opacity .8s ease;}
a.bdr::after{border-bottom: 1px solid var(--color-slt-base);left: -100%;transition: left 1s ease;}
a.bdr:hover{color: var(--color-slt-base);}
a.bdr:hover::before{transform: translateX(100%);opacity: 0;}
a.bdr:hover::after{left: 0;}
/*----------------------------------- */
/*----------------------------------- */
/*-- .ast --------------------------- */
/*----------------------------------- */
/*----------------------------------- */
p.ast{font-size: .790rem;display: flex;align-items: baseline;}
p.ast::before{content: '※';}
ul.ast{font-size: .790rem;}
ul.ast > li{display: flex;align-items: baseline;}
ul.ast > li::before{content: '※';}
/*----------------------------------- */
/*----------------------------------- */
/*-- .dot --------------------------- */
/*----------------------------------- */
/*----------------------------------- */
ul.dot li{padding-left: 20px;position: relative;}
ul.dot li::before{content: '';background: var(--color-slt-base);display: block;width: 4px;height: 4px;margin: 0 5px;border-radius: 9999px;position: absolute;left: 0;top: .8em;}
/*----------------------------------- */
/*----------------------------------- */
/*-- .over -------------------------- */
/*----------------------------------- */
/*----------------------------------- */
.over .img{overflow: hidden !important;}
.over .img img{transition: transform .3s ease;}
.over:hover .img img{transform: scale(1.05);}
/*----------------------------------- */
/*----------------------------------- */
/*-- .underline --------------------- */
/*----------------------------------- */
/*----------------------------------- */
.underline{text-decoration: underline;}
/*----------------------------------- */
/*----------------------------------- */
/*-- #wrapper ----------------------- */
/*----------------------------------- */
/*----------------------------------- */
#wrapper{text-align: left;width: 100%;position: relative;}
/*----------------------------------- */
/*----------------------------------- */
/*-- @keyframes --------------------- */
/*----------------------------------- */
/*----------------------------------- */
@keyframes line-infinite{0%{transform: translate(-100%, -50%); opacity: 0;}10%{opacity: 1;}50%{transform: translate(0%, -50%); opacity: 1;}90%{opacity: 1;}100%{transform: translate(100%, -50%); opacity: 0;}}
@keyframes spin-infinite{from{transform: rotateY(0deg);}to{transform: rotateY(360deg);}}
@keyframes text-infinite{0%{transform: translateX(0%);} 100%{transform: translateX(-50%);}}
@keyframes char-fade-in{to{opacity: 1;transform: translateY(0);}}
/*----------------------------------- */
/*----------------------------------- */
/*-- :root -------------------------- */
/*----------------------------------- */
/*----------------------------------- */
:root{
--color-slt-tint: #EAECEF; 
--color-slt-base: #4F5C5F;
--color-blu-tint: #D6E0E6;
--color-blu-base: #8099A9;
--color-trq-base: #2C9A95;	
--color-nvy-base: #163646;
--color-nvy-alpha80: rgba(22,54,70,.8);			
--color-wht-base: #FFFFFF;
--color-wht-alpha00: rgba(255,255,255, 0);
--color-wht-alpha10: rgba(255,255,255,.1);
--color-wht-alpha20: rgba(255,255,255,.2);
--color-wht-alpha40: rgba(255,255,255,.4);
--color-wht-alpha60: rgba(255,255,255,.6);
--color-wht-alpha80: rgba(255,255,255,.8);	
--color-blk-alpha05: rgba(0,0,0,.05);
--color-blk-alpha10: rgba(0,0,0,.1);
--color-blk-alpha20: rgba(0,0,0,.2);
}
/*----------------------------------- */
/*----------------------------------- */
/*-- .header ------------------------ */
/*----------------------------------- */
/*----------------------------------- */
#header{position: relative;}
.header{width: 100%;height: 80px;position: fixed;top: 0;left: 0;right: 0;z-index: 9999;transition: transform .4s ease;}
.header.hide-up{transform: translateY(calc(-100% + -5px));}
/*----------------------------------- */
/*----------------------------------- */
/*-- .header-wrap ------------------ */
/*----------------------------------- */
/*----------------------------------- */
.header-title-wrap{background: var(--color-blk-alpha10);display: inline-flex;width: calc(100% - 10px);height: 70px;padding: 5px;border-radius: 5px;position: absolute;left: 5px;top: 5px;overflow: hidden;backdrop-filter: blur(6px);-webkit-backdrop-filter: blur(6px);}
.header-title{background: transparent;display: inline-flex;align-items: center;justify-content: center;height: 60px;}
.header-title a{display: flex;align-items: center;height: 60px;padding: 0 clamp(10px, 2.5vw, 20px);}
.header-title a .logo{background: transparent !important;display: block;width: auto;height: 45px;}
/*----------------------------------- */
/*----------------------------------- */
/*-- .header-trigger ---------------- */
/*----------------------------------- */
/*----------------------------------- */
.header-trigger{background: transparent;display: flex;flex-direction: column;align-items: center;justify-content: center;width: 50px;height: 50px;padding: 0;margin: 0;border: none;border-radius: 9999px;position: absolute;right: 15px;top: 15px;appearance: none;cursor: pointer;z-index: 9999;}
.header-trigger .trigger-btn{background: var(--color-trq-base);display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 10px;width: 50px;height: 50px;border-radius: 9999px;transition: background-color .3s ease;}
.header-trigger .trigger-bar{width: 20px;height: 20px;position: relative;}
.header-trigger .trigger-bar span{display: block;width: 100%;height: 2px;border-bottom: 2px solid var(--color-wht-base);position: absolute;left: 0;transition: transform .3s ease, opacity .3s ease;transform-origin: center;will-change: transform;}
.header-trigger .trigger-bar span:nth-child(1){top: 0;}
.header-trigger .trigger-bar span:nth-child(2){left: 5px;top: 50%;transform: translateY(-50%);}
.header-trigger .trigger-bar span:nth-child(3){bottom: 0;}
.header-trigger .trigger-text{color: var(--color-wht-base);font-family: 'Jost', sans-serif;font-size: .702rem;text-transform: uppercase;}
.header-trigger.open .trigger-bar span:nth-child(1){top: 50%;transform: rotate(45deg);}
.header-trigger.open .trigger-bar span:nth-child(2){opacity: 0;}
.header-trigger.open .trigger-bar span:nth-child(3){top: 50%;bottom: auto;transform: rotate(-45deg);}
.header-trigger.open .trigger-text{color: var(--color-trq-base);}
body.menu-open{width: 100%;height: 100%;position: fixed;top: 0;overflow: hidden;}
body.menu-open .header-trigger .trigger-btn{background: var(--color-wht-base);}
body.menu-open .header-trigger .trigger-bar span{border-bottom-color: var(--color-trq-base);}
/*----------------------------------- */
/*----------------------------------- */
/*-- .header-menu ------------------- */
/*----------------------------------- */
/*----------------------------------- */
.header-menu{background: transparent;width: 100%;height: 100vh;height: 100dvh;padding: 0;position: fixed;top: 0;left: 0;right: 0;display: none;/* JS無効時 */overflow-y: auto;touch-action: auto;-webkit-overflow-scrolling: touch;transform: translateY(-100%);transition: transform .3s ease-in-out;will-change: transform;z-index: 8888;}
body.js-enabled .header-menu{display: flex;flex-direction: column;/* JS有効時 */}
.header-menu.open{transform: translateY(0);}
.header-menu .menu-wrap{background: transparent;display: flex;flex-direction: column;width: 100%;height: 100%;flex: 1;opacity: 0;transform: translateY(-20px);transition: opacity .3s ease, transform .3s ease;}
.header-menu.open .menu-wrap.animate{opacity: 1;transform: translateY(0);}
/*-- .menu-row --------------------- */
.header-menu .menu-row{display: flex;flex-direction: column;width: 100%;height: 100%;position: relative;}
/*-- .menu-title ------------------- */
.header-menu .menu-title{color: var(--color-wht-base);display: inline-flex;flex-direction: column;justify-content: center;height: 100px;position: absolute;left: clamp(20px, 5vw, 40px);top: 20px;opacity: 0;transform: translateY(-10px);transition: opacity .5s ease .3s, transform .5s ease .3s;z-index: 9999;}
.header-menu .menu-title a{color: var(--color-wht-base);padding-left: 50px;position: relative;flex-direction: column;}
.header-menu .menu-title a strong,
.header-menu .menu-title a span.text{display: block;opacity: 0;transform: translateY(-10px);transition: opacity .5s ease .3s, transform .5s ease .3s;}
.header-menu .menu-title a strong{font-size: 1.266rem;}
.header-menu .menu-title a span.text{font-size: .889rem;}
.header-menu .menu-title a span.line,
.header-menu .menu-title a span.line::after{display: block;width: 30px;height: 2px;border-radius: 9999px;position: absolute;left: 0;top: 50%;transform: translateY(-50%);overflow: hidden;}
.header-menu .menu-title a span.line{background: var(--color-wht-alpha20);opacity: 0;transition: opacity .5s ease .8s;}
.header-menu .menu-title a span.line::after{content: '';background: var(--color-wht-base);animation: line-infinite 2.5s ease-in-out infinite;}
.header-menu.open .menu-title{opacity: 1;transform: translateY(0);}
.header-menu.open .menu-title a strong,
.header-menu.open .menu-title a span.text{opacity: 1;transform: translateY(0);}
.header-menu.open .menu-title a span.line{opacity: 1;}
/*-- .menu-col --------------------- */
.header-menu .menu-col{display: flex;flex-direction: column;flex: 1;}
.header-menu .menu-col.col-1{background: var(--color-trq-base);padding: 140px clamp(20px, 5vw, 80px) 30px;border-radius: 0;justify-content: center;}
.header-menu .menu-col.col-1 .nav ul{margin-bottom: 30px;border-top: 1px solid var(--color-wht-alpha20);}
.header-menu .menu-col.col-1 .nav ul li{border-bottom: 1px solid var(--color-wht-alpha20);}
.header-menu .menu-col.col-1 .nav ul li a{color: var(--color-wht-base);display: flex;align-items: baseline;padding: 10px;}
.header-menu .menu-col.col-1 .nav ul li a::before{content: attr(data-en);font-size: clamp(1.424rem, 2vw, 1.602rem);display: block;margin-right: 20px;}
.header-menu .menu-col.col-1 .nav ul li a .icon-arrow-wrap{color: var(--color-wht-base);display: inline-flex;align-items: center;justify-content: center;width: 30px;height: 30px;margin-left: auto;transition: margin-right .3s ease;}
.header-menu .menu-col.col-1 .nav ul li a:hover .icon-arrow-wrap{margin-right: 0;}
.header-menu .menu-col.col-1 .nav ul li a .icon-arrow-wrap .icon-arrow{display: block;width: 15px;height: 15px;}
.header-menu .menu-col.col-2{color: var(--color-wht-base);background: var(--color-nvy-base) no-repeat center / cover;justify-content: flex-end;padding: 140px clamp(20px, 5vw, 40px) 30px;border-radius: 0;position: relative;}
.header-menu .menu-col.col-2::after{content: '';background: var(--color-blk-alpha20);display: block;width: 100%;height: 100%;border-radius: 0;position: absolute;left: 0;top: 0;z-index: 1;}
.header-menu .menu-col.col-2 .text{position: relative;z-index: 2;}
.header-menu .menu-col-space{display: block;height: 0;flex-shrink: 0;}
@media screen and (min-width: 768px){	
.header{height: 100px;}
.header-title-wrap{width: calc(100% - 20px);height: 80px;padding: 10px;left: 10px;top: 10px;}
.header-title a .logo{height: 55px;}
.header-trigger{width: 60px;height: 60px;right: 40px;top: 20px;}
.header-trigger .trigger-btn{width: 60px;height: 60px;}
}
@media screen and (min-width: 1025px){
/*-- .header-menu ------------------- */
.header-menu{scrollbar-color: #8B8B8B #FCFCFC;scrollbar-width: thin;}
.header-menu::-webkit-scrollbar{width: 12px;}
.header-menu::-webkit-scrollbar-track{background: #FCFCFC;}
.header-menu::-webkit-scrollbar-thumb{background-color: #8B8B8B;border: 3px solid #FCFCFC;border-radius: 9999px;}
.header-menu .menu-row{flex-direction: row-reverse;}
.header-menu .menu-col{flex: 0 0 50%;justify-content: center;max-width: 50%;min-height: 100%;box-sizing: border-box;}
.header-menu .menu-col.col-1{padding-top: 60px;border-radius: 0 5px 5px 0;}
.header-menu .menu-col.col-2{padding-top: 60px;border-radius: 5px 0 0 5px;}
.header-menu .menu-col.col-2::after{border-radius: 5px 0 0 5px;}
.header-menu .menu-col-space{display: none;}	
}
/*----------------------------------- */
/*----------------------------------- */
/*-- .footer ------------------------ */
/*----------------------------------- */
/*----------------------------------- */
.footer{width: 100%;overflow-x: hidden;}
/*----------------------------------- */
/*----------------------------------- */
/*-- .footer .information ----------- */
/*----------------------------------- */
/*----------------------------------- */
.footer .information{padding-top: clamp(80px, 10vw, 120px);}
.footer .information .image-box.js-parallax{height: clamp(300px, 60vw, 600px);}
.footer .information .image-box.js-parallax .mask span{color: var(--color-wht-base);font-size: clamp(3.653rem, 7vw, 6.584rem);line-height: .7;flex-grow: 1;display: flex;flex-direction: column;justify-content: flex-end;padding-left: clamp(20px, 5vw, 40px);}
.footer .information .text-box .row{display: flex;flex-direction: column;width: 100%;}
.footer .information .text-box .col{padding: clamp(60px, 5vw, 80px) clamp(20px, 5vw, 40px) clamp(30px, 5vw, 50px);}
.footer .information .text-box .col:first-of-type{background: var(--color-slt-tint);}
.footer .information .text-box .col:last-of-type{background: var(--color-blu-tint);}
.footer .information .text-box .title{font-size: clamp(1.266rem, 2vw, 1.424rem);padding-bottom: 10px;margin-bottom: 30px;position: relative;}
.footer .information .text-box .title::before,
.footer .information .text-box .title::after{content: '';height: 1px;position: absolute;left: 0;bottom: 0;}
.footer .information .text-box .title::before{width: 60px;border-bottom: 1px solid var(--color-blk-alpha10);}
.footer .information .text-box .title::after{width: 30px;border-bottom: 1px solid var(--color-slt-base);}
.footer .information .text-box p{font-size: .889rem;}
@media screen and (min-width: 1025px){
.footer .information{padding-right: clamp(20px, 5vw, 40px);padding-left: clamp(20px, 5vw, 40px);}
.footer .information .image-box.js-parallax{height: 600px;min-height: 600px;}
.footer .information .text-box .row{background: var(--color-blu-tint);flex-direction: row;}
.footer .information .text-box .col:first-of-type{width: 60%;}
.footer .information .text-box .col:last-of-type{width: 40%;padding-top: clamp(60px, 5vw, 80px);}
}
/*----------------------------------- */
/*----------------------------------- */
/*-- .footer .copyright ------------- */
/*----------------------------------- */
/*----------------------------------- */
.footer .copyright{width: 100%;overflow: hidden;}
.footer .copyright .image-box{color: var(--color-wht-base);background: var(--color-nvy-base);}
.footer .copyright .image-box.js-parallax{height: clamp(500px, 60vw, 600px);}
.footer .copyright .image-box.js-parallax .mask .row{flex-grow: 1;display: flex;width: 100%;padding: 0 clamp(20px, 5vw, 40px);border-bottom: 1px solid var(--color-wht-alpha40);}
.footer .copyright .image-box.js-parallax .mask .col{display: flex;align-items: flex-end;}
.footer .copyright .image-box.js-parallax .mask .col:first-of-type{width: 60%;border-right: 1px solid var(--color-wht-alpha40);}
.footer .copyright .image-box.js-parallax .mask .col:last-of-type{width: 40%;}
.footer .copyright .image-box.js-parallax .mask .col address{font-size: clamp(.790rem, 1vw, .889rem);padding-bottom: clamp(20px, 5vw, 40px);padding-right: clamp(20px, 5vw, 40px);}
.footer .copyright .image-box.js-parallax .mask .col address .tel{color: var(--color-wht-base);}
.footer .copyright .text-box{color: var(--color-wht-base);background: var(--color-nvy-base);}
.footer .copyright .text-box ul li a{color: var(--color-wht-base);font-size: .889rem;display: inline-flex;position: relative;overflow: hidden;}
.footer .copyright .text-box ul li a::after{content: '';display: block;width: 100%;height: 1px;border-bottom: 1px solid var(--color-wht-base);position: absolute;left: -100%;bottom: 0;transition: left .5s ease;}
.footer .copyright .text-box ul li a:hover::after{left: 0;}
.footer .copyright .text-box .info .row{display: flex;flex-direction: column;padding: 0 clamp(20px, 5vw, 40px);border-top: 1px solid var(--color-wht-alpha20);}
.footer .copyright .text-box .info .col{padding: clamp(60px, 5vw, 80px) 0 30px;}
.footer .copyright .text-box .info .col:last-of-type{display: none;}
.footer .copyright .text-box .info .col ul{text-align: right;display: flex;flex-direction: column;}
.footer .copyright .text-box .copy{padding: 30px clamp(20px, 5vw, 40px);border-top: 1px solid var(--color-wht-alpha20);}
.footer .copyright .text-box .copy .row{width: 100%;display: flex;flex-direction: column;gap: 20px 40px;}
.footer .copyright .text-box .copy .col p{margin-bottom: 0;}
.footer .copyright .text-box .copy .col p a{color: var(--color-wht-base);}
.footer .copyright .text-box .copy .col ul{display: flex;gap: 0 20px;margin-bottom: 0;}
@media screen and (min-width: 1025px){
.footer .copyright{padding-top: clamp(80px, 10vw, 120px);}
.footer .copyright .image-box.js-parallax{height: 100vh;min-height: 600px;}
.footer .copyright .text-box .info .row{flex-direction: row;}
.footer .copyright .text-box .info .col:first-of-type{width: 60%;border-right: 1px solid var(--color-wht-alpha20);}
.footer .copyright .text-box .info .col:last-of-type{display: flex;align-items: flex-end;justify-content: flex-end;width: 40%;}
.footer .copyright .text-box .copy .row{flex-direction: row;}
}
/*----------------------------------- */
/*----------------------------------- */
/*-- #container --------------------- */
/*----------------------------------- */
/*----------------------------------- */
#container{width: 100%;display: flex;flex-direction: column;}
#container{width: 100%;transform: translateY(20px);opacity: 0;transition: transform .4s ease, opacity .4s ease-in-out;will-change: transform, opacity;}
body.page-enter #container{transform: translateY(0);opacity: 1;}
body.page-leave #container{transform: translateY(-10px);opacity: 0;}
@media (prefers-reduced-motion: reduce) {#container{transition: none !important;}}

.container{width: 100%;}
/*----------------------------------- */
/*----------------------------------- */
/*-- .contents ---------------------- */
/*----------------------------------- */
/*----------------------------------- */
.contents-wrap{width: 100%;} 
.contents-wrap.radius{background: var(--color-wht-alpha40);border-radius: 9999px 0 0 9999px;}
.contents{width: 100%;max-width: 1920px;padding: 0 clamp(10px, 5vw, 80px) clamp(50px, 10vw, 90px);margin: 0px auto;}
.contents.full{width: 100%;max-width: 100%;padding: 0;}
.contents.wide{max-width: 100%;padding-right: clamp(20px, 5vw, 40px);padding-left: clamp(20px, 5vw, 40px);}
.contents.narrow{max-width: 960px;}
.contents.slim{max-width: 640px;}
.contents.tall{padding-top: clamp(80px, 10vw, 120px);}
.block{width: 100%;}
/*----------------------------------- */
/*----------------------------------- */
/*-- .js-split-text ----------------- */
/*----------------------------------- */
/*----------------------------------- */
.js-split-text{display: block;}
.js-split-text span{display: inline-block;opacity: 0;transform: translateY(10px);will-change: transform, opacity;}
.js-split-text.active span{animation: char-fade-in .6s forwards;}
/*----------------------------------- */
/*----------------------------------- */
/*-- .js-reveal-onload -------------- */
/*----------------------------------- */
/*----------------------------------- */
.js-reveal-onload .reveal-target{display: block;opacity: .6;filter: blur(8px);transform: scale(1.05);transition: filter 600ms ease-out, opacity 600ms ease-out, transform 600ms ease-out;will-change: filter, opacity, transform;}
.js-reveal-onload .reveal-target.loaded{opacity: 1;filter: blur(0);transform: scale(1);}
/*----------------------------------- */
/*----------------------------------- */
/*-- .js-reveal-scroll -------------- */
/*----------------------------------- */
/*----------------------------------- */
.js-reveal-scroll{will-change: transform, opacity;}
.js-reveal-scroll.anim-fade-in{opacity: 0;transform: translateY(20px);transition: opacity .8s ease-out, transform .8s ease-out;}
.js-reveal-scroll.anim-slide-top{opacity: 0;transform: translateY(40px);transition: opacity .8s ease-out, transform .8s ease-out;}
.js-reveal-scroll.anim-slide-bottom{opacity: 0;transform: translateY(-40px);transition: opacity .8s ease-out, transform .8s ease-out;}
.js-reveal-scroll.anim-slide-left{opacity: 0;transform: translateX(40px);transition: opacity .8s ease-out, transform .8s ease-out;}
.js-reveal-scroll.anim-slide-right{opacity: 0;transform: translateX(-40px);transition: opacity .8s ease-out, transform .8s ease-out;}
.js-reveal-scroll.anim-fade-in.revealed{opacity: 1;transform: translateY(0);}
.js-reveal-scroll.anim-slide-top.revealed{opacity: 1;transform: translateY(0);}
.js-reveal-scroll.anim-slide-bottom.revealed{opacity: 1;transform: translateY(0);}
.js-reveal-scroll.anim-slide-left.revealed{opacity: 1;transform: translateX(0);}
.js-reveal-scroll.anim-slide-right.revealed{opacity: 1;transform: translateX(0);}
/*----------------------------------- */
/*----------------------------------- */
/*-- .js-parallax ------------------- */
/*----------------------------------- */
/*----------------------------------- */
.js-parallax{height: clamp(300px, 60vw, 600px);overflow: hidden;}
.js-parallax .parallax-image{display: flex;align-items: center;justify-content: center;width: 100%;height: auto;margin-right: auto;margin-left: auto;position: relative;overflow: hidden;z-index: 0;}
.js-parallax .parallax-image img{width: 100%;height: 100%;object-fit: cover;position: absolute;left: 50%;top: 0;transform: translate(-50%, 0) scale(1);pointer-events: none;z-index: -1;}
.js-parallax .parallax-image .mask{background: var(--color-blk-alpha10);display: flex;flex-direction: column;width: 100%;height: 100%;padding-bottom: 200px;position: absolute;left: 0;top: 0;}
@media screen and (min-width: 1025px){
.js-parallax{height: 800px;min-height: 600px;}
}
/*----------------------------------- */
/*----------------------------------- */
/*-- .js-masonry -------------------- */
/*----------------------------------- */
/*----------------------------------- */
.js-masonry .masonry-wrap{flex-direction: column;visibility: hidden;}
.js-masonry .masonry-wrap-col{display: block;}
@media screen and (min-width: 1025px){
.js-masonry .masonry-wrap{flex-direction: row;}
.js-masonry .masonry-wrap-col{display: flex;flex-direction: column;gap: clamp(50px, 5vw, 90px);flex: 1;}
}
/*----------------------------------- */
/*----------------------------------- */
/*-- .js-ticker --------------------- */
/*----------------------------------- */
/*----------------------------------- */
.js-ticker{display: flex;justify-content: center;position: relative;z-index: 3;}
.js-ticker .outer{background: var(--color-slt-tint);width: 100%;max-width: 720px;height: 100px;border-radius: 5px 0 0 0;position: relative;}
.js-ticker .outer::before,
.js-ticker .outer::after{content: '';background: transparent;display: block;width: 20px;height: 20px;border-radius: 0 0 5px 0;box-shadow: 10px 10px 0px var(--color-slt-tint);position: absolute;}
.js-ticker .outer::before{right: 0;;top: -20px;display: none;}
.js-ticker .outer::after{left: -20px;;bottom: 0;}
.js-ticker .inner{height: 100%;padding-right: 60px;position: relative;overflow: hidden;}
.js-ticker ul{margin-bottom: 0;}
.js-ticker ul li{height: 100px;padding: 20px;}
.js-ticker ul li a{color: var(--color-slt-base);font-size: .889rem;background: var(--color-blk-alpha05);display: flex;align-items: center;gap: 0 20px;height: 60px;padding: 0 20px;border-radius: 3px;overflow: hidden;}
.js-ticker ul li a:hover{background: var(--color-wht-alpha40);}
.js-ticker .btn{display: flex;flex-direction: column;width: 40px;height: 80px;position: absolute;right: 20px;top: 10px;}
.js-ticker .btn .ticker-arrow{text-indent: 100%;white-space: nowrap;background: transparent;width: 40px;height: 40px;position: relative;overflow: hidden;cursor: pointer;}
.js-ticker .btn .ticker-arrow::after{content: '';width: 8px;height: 8px;border-top: 2px solid var(--color-slt-base);border-left: 2px solid var(--color-slt-base);position: absolute;top: 50%;left: 50%;transition: border-color .3s ease;backface-visibility: hidden;will-change: transform;}
.js-ticker .btn .ticker-arrow.prev{border-bottom: 1px solid var(--color-blk-alpha20);}
.js-ticker .btn .ticker-arrow.prev::after{transform: translate(-50%, -50%) rotate(45deg);}
.js-ticker .btn .ticker-arrow.next::after{transform: translate(-50%, -50%) rotate(-135deg);}
.js-ticker .btn .ticker-arrow.prev:hover::after,
.js-ticker .btn .ticker-arrow.next:hover::after{border-top-color: var(--color-blu-base);border-left-color: var(--color-blu-base);}
@media screen and (min-width: 1025px){
.js-ticker{justify-content: flex-end;margin-top: -100px;}	
}
/*----------------------------------- */ 
/*-- .js-loop-image ----------------- */
/*----------------------------------- */ 
/*----------------------------------- */ 
/*-- .js-loop-image ----------------- */
/*----------------------------------- */ 
.js-loop-image{width: 100%;overflow: hidden;}
.js-loop-image ul{margin-bottom: 0;display: flex;gap: 0 1px;}
.js-loop-image ul li{flex: 0 0 auto;}
.js-loop-image ul li img{display: block;width: auto;height: clamp(200px, 40vw, 400px);}
/*----------------------------------- */
/*----------------------------------- */
/*-- js-accordion ------------------- */
/*----------------------------------- */
/*----------------------------------- */
.js-accordion .accordion-label{position: relative;cursor: pointer;}
.js-accordion .accordion-label span::before,
.js-accordion .accordion-label span::after{content: '';display: block;width: 15px;border-bottom: 2px solid var(--color-slt-base);border-radius: 9999px;position: absolute;right: clamp(20px, 5vw, 30px);top: 50%;transform: translateY(-50%);transition: transform .3s ease, opacity .3s ease, border-color .3s ease;}
.js-accordion .accordion-label span::before{transform: rotate(0deg);}
.js-accordion .accordion-label span::after{transform: rotate(90deg);}
.js-accordion .accordion-label.open span::before{transform: rotate(180deg);}
.js-accordion .accordion-label.open span::after{transform: rotate(360deg);opacity: 0;}
.js-accordion .accordion-panel{max-height: 0;overflow: hidden;transition: max-height .5s cubic-bezier(.25,.8,.25,1);}
/*----------------------------------- */
/*----------------------------------- */ 
/*-- .js-hover-list ----------------- */
/*----------------------------------- */
/*----------------------------------- */
.js-hover-list ul{margin-bottom: 0;}
.js-hover-list ul li:not(:last-of-type){border-bottom: 1px solid var(--color-blk-alpha10);}
.js-hover-list ul li a{color: var(--color-slt-base);font-size: clamp(1.125rem, 2vw, 1.266rem);display: block;display: flex;align-items: baseline;padding: 20px 30px;position: relative;overflow: hidden;transition: color .25s ease;z-index: 0;}
.js-hover-list ul li a span{color: var(--color-blk-alpha20);font-size: clamp(1.125rem, 2vw, 1.266rem);margin-left: auto;display: flex;align-items: center;}
.js-hover-list ul li a span::after{content: '';display: inline-flex;width: 8px;height: 8px;margin-left: 20px;border-top: 2px solid var(--color-blk-alpha20);border-right: 2px solid var(--color-blk-alpha20);transform: rotate(45deg);}
.js-hover-list ul li a::before,
.js-hover-list ul li a::after{content: '';background: var(--color-blu-tint);width: 100%;height: 100%;position: absolute;left: 0;top: 110%;z-index: -1;transition: top 0.7s cubic-bezier(.19,1,.22,1);}
.js-hover-list ul li a.no-trans::before,
.js-hover-list ul li a.no-trans::after{transition: none !important;}
.js-hover-list ul li a.enter-from-top::before,
.js-hover-list ul li a.enter-from-top::after{top: -110%;}
.js-hover-list ul li a.enter-from-bottom::before,
.js-hover-list ul li a.enter-from-bottom::after{top: 110%;}
.js-hover-list ul li a.animate-in::before,
.js-hover-list ul li a.animate-in::after{top: 0;}
.js-hover-list ul li a.leave-to-top::before,
.js-hover-list ul li a.leave-to-top::after{top: -110%;}
.js-hover-list ul li a.leave-to-bottom::before,
.js-hover-list ul li a.leave-to-bottom::after{top: 110%;}
/*----------------------------------- */
/*----------------------------------- */ 
/*-- .hero-slider ------------------- */
/*----------------------------------- */
/*----------------------------------- */
.hero-slider{width: 100%;height: 100vh;min-height: 600px;position: relative;overflow: hidden;}
.hero-slider-wrap{width: 100%;height: 100%;position: absolute;left: 0;top: 0;overflow: hidden;z-index: -1;}
.hero-slider-item{width: 100%;height: 100%;position: absolute;left: 0;top: 0;opacity: 0;visibility: hidden;transition: opacity 1s ease-in-out, visibility 0s linear 1s;}
.hero-slider-item.active{opacity: 1;visibility: visible;transition: opacity 1s ease-in-out, visibility 0s linear 0s;}
.hero-slider-item .image{background: var(--color-nvy-base);width: 100%;height: 100%;position: relative;overflow: hidden;}
.hero-slider-item .image::after{content: '';background: var(--color-blk-alpha10);width: 100%;height: 100%;position: absolute;left: 0;top: 0;}
.hero-slider-item .image img{width: 110%;height: 110%;object-fit: cover;transform: translateY(0) scale(1.1);transition: transform 10s linear;will-change: transform;}
.hero-slider-mover{width: 100%;height: 100%;position: absolute;left: 0;top: 0;will-change: transform;}
.hero-grid-wrap{color: var(--color-wht-base);width: 100%;position: absolute;left: 0;bottom: 0;z-index: 2;}
.hero-grid-item{display: flex;flex-direction: column;padding: 0 clamp(20px, 5vw, 40px);box-sizing: border-box;}
.hero-grid-item.item2,
.hero-grid-item.item4,
.hero-grid-item.item6,
.hero-grid-item.item7,
.hero-grid-item.item8{display: none;}
.hero-grid-item.item1 .hero-title-en{display: flex;flex-direction: column;gap: 10px;margin-bottom: 20px;}
.hero-grid-item.item1 .hero-title-en > span{display: block;}
.hero-grid-item.item1 .hero-title-en > span:first-of-type{font-size: clamp(3.653rem, 7vw, 6.584rem);line-height: 1;}
.hero-grid-item.item1 .hero-title-en > span:last-of-type{font-size: clamp(1.125rem, 2vw, 1.266rem);}
.hero-grid-item.item3 .hero-title-ja{font-size: clamp(1.424rem, 2vw, 1.602rem);margin-bottom: 20px;}
.hero-grid-item.item3 .hero-title-ja span{display: block;}
.hero-grid-item.item5{padding: 0;border-top: 1px solid var(--color-wht-alpha40);}
.hero-grid-item.item5 p{font-size: .889rem;width: 60%;padding: clamp(20px, 5vw, 40px);margin-bottom: 0;border-right: 1px solid var(--color-wht-alpha40);}
@media (min-width: 1025px) {
.hero-slider{height: auto;min-height: auto;}
.hero-grid-wrap{display: grid;grid-auto-rows: minmax(500px, auto);grid-template-columns: repeat(3, 1fr);gap: 0;position: relative;z-index: 1;}
.hero-grid-item{height: 100%;padding-top: clamp(20px, 5vw, 40px);padding-bottom: clamp(20px, 5vw, 40px);border-top: 1px solid var(--color-wht-alpha40);border-left: 1px solid var(--color-wht-alpha40);position: relative;}
.hero-grid-item.item2,
.hero-grid-item.item4,
.hero-grid-item.item6,
.hero-grid-item.item7,
.hero-grid-item.item8{display: flex;}
.hero-grid-item.item1{grid-row: 1;grid-column: 1 / span 2;align-items: center;justify-content: flex-end;border-top: none;border-left: none;}
.hero-grid-item.item2{grid-row: 1;grid-column: 3;border-top: none;}
.hero-grid-item.item3{grid-row: 2;grid-column: 1;border-left: none;}
.hero-grid-item.item4{grid-row: 2;grid-column: 2;}
.hero-grid-item.item5{grid-row: 2;grid-column: 3;background: var(--color-nvy-alpha80);justify-content: center;padding: clamp(20px, 5vw, 40px);}
.hero-grid-item.item5 p{width: 100%;padding: 0;margin-bottom: 0;border-right: none;}
.hero-grid-item.item6{grid-row: 3;grid-column: 1;border-left: none;}
.hero-grid-item.item7{grid-row: 3;grid-column: 2;}
.hero-grid-item.item8{grid-row: 3;grid-column: 3;}
.hero-grid-item.item2::before,
.hero-grid-item.item6::before{content: '';background: var(--color-wht-base);width: 100%;height: 100%;position: absolute;left: 0;top: 0;z-index: 1;
-webkit-mask: radial-gradient(circle clamp(100px, 15vw, 200px) at center, transparent 99%, var(--color-wht-alpha20) 100%);-webkit-mask-repeat: no-repeat;-webkit-mask-position: center;-webkit-mask-size: cover;
mask: radial-gradient(circle clamp(100px, 15vw, 200px) at center, transparent 99%, var(--color-wht-alpha20) 100%);mask-repeat: no-repeat;mask-position: center;mask-size: cover;}	
}
@media screen and (min-width: 1025px){
.index-flex-post .wrap{display: flex;flex-direction: row;}
.index-flex-post .item{padding: clamp(60px, 5vw, 80px) clamp(20px, 5vw, 40px) clamp(30px, 5vw, 50px);}
.index-flex-post .item:first-of-type{width: 60%;}
.index-flex-post .item:last-of-type{width: 40%;}
}
/*----------------------------------- */
/*----------------------------------- */ 
/*-- .index-menu-list --------------- */
/*----------------------------------- */
/*----------------------------------- */
.index-menu-list .wrap{border-top: 1px solid var(--color-blk-alpha10);border-bottom: 1px solid var(--color-blk-alpha10);}
.index-menu-list .item .row-text{padding: 60px clamp(20px, 5vw, 40px) 0;}
.index-menu-list .item .row-image{background: no-repeat center center / cover;width: 100%;height: clamp(200px, 40vw, 400px);}
@media screen and (min-width: 1025px){
.index-menu-list .wrap{display: flex;flex-direction: row;}
.index-menu-list .item{width: 50%;display: flex;flex-direction: column;justify-content: flex-start;}
.index-menu-list .item:first-of-type{border-right: 1px solid var(--color-blk-alpha10);}
.index-menu-list .item .row-text{flex: 1;padding-bottom: 30px;}
.index-menu-list .item .row-image{flex: 1;height: auto;}
}
/*----------------------------------- */
/*----------------------------------- */
/*-- .index-carousel ---------------- */
/*----------------------------------- */
/*----------------------------------- */
.index-carousel{background: var(--color-wht-alpha60);padding-top: clamp(80px, 10vw, 120px);position: relative;overflow: hidden;}
.index-carousel .wrap{background: var(--color-blk-alpha05);display: flex;gap: 1px;padding: 1px 0;transition: transform .3s ease;will-change: transform;}
.index-carousel .item{flex: 1;background: var(--color-wht-alpha60);display: flex;flex-direction: column;gap: 30px;padding: 20px 20px 80px;box-sizing: border-box;}
.index-carousel .item .text{flex: 1;display: flex;flex-direction: column;padding: 0 20px;}
.index-carousel .item .text::after{content: attr(data-label);font-size: .702rem;display: flex;justify-content: flex-end;width: 100%;padding-top: 20px;margin-top: auto;margin-bottom: 30px;border-top: 1px solid var(--color-blk-alpha10);}
.index-carousel .item .text .title{font-size: clamp(1.266rem, 2vw, 1.424rem);display: flex;align-items: baseline;margin-bottom: 20px;}
.index-carousel .item .text .title::before{content: attr(data-num);font-size: clamp(2.027rem, 3vw, 2.281rem);margin-right: 10px;}
.index-carousel .carousel-btn{color: var(--color-wht-base);display: flex;justify-content: space-between;width: 120px;position: absolute;left: 50%;bottom: 30px;transform: translateX(-50%);z-index: 1;}
.index-carousel .carousel-btn .prev,
.index-carousel .carousel-btn .next{background: var(--color-blu-base);display: flex;align-items: center;justify-content: center;width: 50px;height: 50px;cursor: pointer;border-radius: 9999px;}
.index-carousel .carousel-btn .icon-arrow-wrap{display: flex;align-items: center;justify-content: center;width: 30px;height: 30px;}
.index-carousel .carousel-btn .prev .icon-arrow-wrap{transform: rotate(180deg);}
.index-carousel .carousel-btn .next .icon-arrow-wrap{transform: rotate(0deg);}
.index-carousel .carousel-btn .icon-arrow-wrap .icon-arrow{display: block;width: 15px;height: 15px;}
.index-carousel .carousel-btn .prev.disabled,
.index-carousel .carousel-btn .next.disabled{background: var(--color-blk-alpha05);}
.index-carousel .carousel-btn .prev.disabled::after,
.index-carousel .carousel-btn .next.disabled::after{cursor: default;}
/*----------------------------------- */
/*----------------------------------- */
/*-- .layout ------------------------ */
/*----------------------------------- */
/*----------------------------------- */
@media screen and (min-width: 1025px){
.layout-type-column{display: flex;width: 100%;margin-bottom: clamp(80px, 10vw, 120px);}
.layout-type-column .column-sticky{width: 50%;}
.layout-type-column .column-sticky .sticky{position: sticky;top: 0;}
.layout-type-column .column-scroll{background: var(--color-wht-alpha20);padding-top: clamp(80px, 10vw, 100px);width: 50%;}
/*----.parallax init----------------- */
.layout-type-column .column-sticky .js-parallax .parallax-image{display: block;position: relative;}
.layout-type-column .column-sticky .js-parallax .parallax-image img{width: 100%;height: 100%;position: relative;left: auto;top: auto;transform: translate(0) scale(1) !important;}
.layout-type-column .column-sticky .js-parallax{height: 100vh;overflow: hidden;}
}
/*----------------------------------- */
/*----------------------------------- */
/*-- .page-hdr ---------------------- */
/*----------------------------------- */
/*----------------------------------- */
.page-header{width: 100%;position: relative;overflow: hidden;}
.page-header .text-box{display: flex;flex-direction: column;justify-content: flex-end;width: 100%;height: 100%;padding: 0px clamp(20px, 5vw, 40px);position: absolute;inset: 0;z-index: 2;}
.page-header .text-box .text{color: var(--color-wht-base);display: flex;flex-direction: column;}
.page-header .text-box .text .page-title-ja{font-size: clamp(1.424rem, 2vw, 1.602rem);margin-bottom: clamp(30px, 10vw, 140px);order: 2;}
.page-header .text-box .text .page-title-en{font-size: clamp(3.653rem, 7vw, 6.584rem);line-height: 1;margin-bottom: 30px;order: 1;}
.page-header .image-box.js-parallax{display: flex;flex-direction: column;height: clamp(500px, 60vw, 600px);}
.page-header .image-box.js-parallax .image.parallax-image{width: 100%;height: 100%;}
.page-header .image-box.js-parallax .image.parallax-image::after{content: '';display: block;background: var(--color-blk-alpha10);width: 100%;height: 100%;position: absolute;left: 0;top: 0;}
@media screen and (min-width: 1025px){
.page-header .image-box.js-parallax{height: 100vh;min-height: 600px;}	
}