@charset "UTF-8";

/* ─── カラー（common.min.css デフォルト値と同値に統一） ─── */
:root {
  --color-bg:          #1b434e;
  --color-bg2:         #284e58;
  --color-blend:       #001714;
  --color-blend2:      #000000;
  --color-overlay:     rgba(0, 23, 20, 0.6);
  --color-txt4:        #1b434e;
  --color-line2:       #1b434e;
  --color-circle:      #5b7880;
  --color-icon:        #6f878e;
  --color-icon2:       #82989e;
  --color-icon3:       #7a9198;
  --color-gradation:   linear-gradient(180deg, #1b434e 0%, #05323e 85.8%);
  --color-gradation2:  linear-gradient(0deg, rgba(27,67,78,0) 0%, #05323e 85.8%);
}
body {
  background-color: #1b434e;
  font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","ヒラギノ明朝 Pro","Hiragino Mincho Pro","Shippori Mincho B1",serif;
}

/* ─── JS非依存の表示補正 ─── */
.js-fade,
.js-fadeup,
.js-fadeups > * {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}
.js-loopslider .js-loopslider__content{animation-play-state:running!important}
.home-outro__inner::before{width:100%}

/* ─── ロゴテキスト ─── */
.logo-txt{font-family:var(--font-sans-serif);font-weight:300;letter-spacing:.22em;color:currentColor;font-size:inherit}

/* ─── サイトマップ（メニューオーバーレイ）─── */
.l-sitemap{position:fixed!important;top:0;left:0;width:100%;height:100vh;z-index:200000000!important;overflow-y:auto;display:block!important}
body.is-menu-open .home-catch{opacity:0!important;pointer-events:none!important}
@media screen and (max-width:1023px){
  .l-sitemap{padding:7rem 3rem 4rem 6rem}
  .l-sitemap__main{gap:2rem}
  .l-sitemap__parent span{font-size:var(--font-size15)}
  .l-sitemap__children{margin-top:1.2rem;gap:1.2rem}
  .l-sitemap__children span{font-size:var(--font-size11)}
  .l-sitemap__instagram{margin-top:2rem}
}
@media screen and (min-width:1024px){
  .l-sitemap{padding:10rem 18rem}
  .l-sitemap__main{gap:4rem}
  .l-sitemap__parent span{font-size:var(--font-size22)}
  .l-sitemap__children{margin-top:2rem;gap:2rem}
  .l-sitemap__children span{font-size:var(--font-size14)}
  .l-sitemap__instagram{margin-top:3rem}
}

/* ─── ハンバーガーボタン ─── */
.l-header__button{position:fixed!important;cursor:pointer;z-index:300000000!important}
@media screen and (min-width:1024px){.l-header__button{top:6.4rem;right:4.1rem}}
@media screen and (max-width:1023px){.l-header__button{top:2rem;right:0.7rem}}
.l-header__button:hover::before,.l-header__button.is-open::before{-webkit-transform:translate(-50%,-50%) scale(1)!important;transform:translate(-50%,-50%) scale(1)!important}
.l-header__button:hover,.l-header__button.is-open{color:var(--color-bg)!important}
.l-header__button.is-open .l-header__button__cell{position:absolute!important;top:50%!important;left:50%!important;width:1.8rem!important;margin-left:-0.9rem!important;margin-top:0!important}
.l-header__button.is-open .l-header__button__cell:nth-of-type(1) span:nth-of-type(1){transform:rotate(45deg)!important;width:1.8rem!important}
.l-header__button.is-open .l-header__button__cell:nth-of-type(2) span:nth-of-type(1){transform:rotate(-45deg)!important;width:1.8rem!important}

/* ─── jp-sub ─── */
.c-title__txt .jp-sub{display:block;font-family:var(--font-sans-serif);font-weight:300;letter-spacing:calc(130 / 1000 * 1em);color:var(--color-txt2);margin-top:.8em}
@media screen and (min-width:1024px){.c-title__txt .jp-sub{font-size:var(--font-size9)}}
@media screen and (max-width:1023px){.c-title__txt .jp-sub{font-size:var(--font-size7)}}

/* ─── World Upgrade フォント（Cinzel）─── */
.home-catch__inner p,.home-outro__catch-en{font-family:'Trajan Pro','Trajan',Cinzel,serif!important}

/* ─── フォント上書き ─── */
:root{--font-mincho:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","ヒラギノ明朝 Pro","Hiragino Mincho Pro","Shippori Mincho B1",serif}

/* ═══════════════════════════════════════
   HOME MAIN
═══════════════════════════════════════ */
body{padding-bottom:0.1px}
.home-main{position:relative;--kv-catch-sticky-scroll:60vh;--intro-space-top:60vh}
@media screen and (min-width:1024px){.home-main{margin-bottom:-18.5rem;--intro-space-top:0px}}
@media screen and (max-width:1023px){.home-main{margin-bottom:-11.8rem;--intro-space-top:15vh}}

/* ─── home-catch ─── */
.home-catch{position:absolute;top:0;left:0;z-index:var(--z-index-home-catch);width:100%;height:calc(var(--wh) + var(--kv-catch-sticky-scroll));color:var(--color-txt4);pointer-events:none}
body.is-op2 .home-catch{color:var(--color-txt);transition:color var(--transition-loading-fadeout)}
.home-catch__inner{position:absolute;left:0;bottom:0;width:100%;height:var(--kv-catch-sticky-scroll)}
.home-catch__inner p{position:sticky;top:calc(50% - var(--height,0px) / 2);font-family:var(--font-sans-serif);padding-top:0.1px;padding-bottom:0.1px;font-weight:300;letter-spacing:calc(210 / 1000 * 1em)}
.home-catch__inner p::before,.home-catch__inner p::after{content:'';display:block;width:0;height:0;font-size:inherit}
.home-catch__inner p::before{margin-top:var(--font-sans-serif-top)}
.home-catch__inner p::after{margin-bottom:var(--font-sans-serif-bottom)}
@media screen and (min-width:1024px){
  .home-catch__inner p{text-align:center;font-size:var(--font-size66);margin-top:-15.4rem}
  .home-catch__inner p{top:76vh!important}
}
@media screen and (max-width:1023px){
  .home-catch__inner p{margin-top:-17.9rem;margin-left:3.8rem;font-size:var(--font-size40);--line-height:calc(55 / 40)}
  .home-catch__inner p{top:16vh!important}
  .home-main{--intro-space-top:-5vh}
}

/* ─── home-kv ─── */
.home-kv{position:relative;z-index:11;background-color:var(--color-bg)}
.home-kv__scroll{width:0.7px;position:absolute;bottom:-2.5rem}
@media screen and (min-width:1024px){.home-kv__scroll{height:17.3rem;left:5.3rem}}
@media screen and (max-width:1023px){.home-kv__scroll{height:12.6rem;left:2rem}}
.home-kv__scroll::before,.home-kv__scroll::after{content:'';display:block;width:100%;height:100%;position:absolute;top:0;left:0;background-color:var(--color-line3)}
.home-kv__scroll::before{opacity:.3}
.home-kv__scroll::after{-webkit-animation:scaleY-InOut var(--animation-scroll);animation:scaleY-InOut var(--animation-scroll)}

/* ─── home-video ─── */
.home-video{position:fixed;top:0;left:0;z-index:0;width:100%;height:100%}

/* ─── home-intro ─── */
.home-intro{position:relative;z-index:1;padding-top:calc(var(--kv-catch-sticky-scroll) + var(--intro-space-top));background-color:#1b434e!important}
.home-intro__inner{position:relative;z-index:10}
.home-intro__block{display:flex;flex-direction:column;justify-content:center;max-height:var(--max-wh);min-height:var(--min-wh);height:100vh;margin:0 auto}
@media screen and (min-width:1024px){.home-intro__block{min-width:80.4rem;width:calc((804 / var(--base-width)) * 100%);padding:20rem 0}}
@media screen and (max-width:1023px){.home-intro__block{width:calc((265 / var(--base-width)) * 100%);padding:10rem 0}}
.home-intro__block__ja{font-family:var(--font-mincho);font-weight:400;white-space:nowrap}
.home-intro__block__en,.home-intro__block__en2{font-family:var(--font-sans-serif);padding-top:0.1px;padding-bottom:0.1px;font-weight:300}
.home-intro__block__en::before,.home-intro__block__en::after,.home-intro__block__en2::before,.home-intro__block__en2::after{content:'';display:block;width:0;height:0;font-size:inherit}
.home-intro__block__en::before,.home-intro__block__en2::before{margin-top:var(--font-sans-serif-top)}
.home-intro__block__en::after,.home-intro__block__en2::after{margin-bottom:var(--font-sans-serif-bottom)}
@media screen and (min-width:1024px){.home-intro__block__en,.home-intro__block__en2{margin-left:0.5rem}}
.home-intro__block__en span,.home-intro__block__en2 span{opacity:.8}
@media screen and (min-width:1024px){.home-intro__block__en{margin-top:7.2rem}}
@media screen and (max-width:1023px){.home-intro__block__en{margin-top:5.6rem}}

/* profile block */
@media screen and (min-width:1024px){
  .home-intro__block--profile{height:auto;min-height:100vh!important;max-height:none!important;padding:5rem 0 20rem}
  .home-intro__block__en--name{margin-top:1.5rem !important}
  .home-intro__block__ja--profile-title{margin-top:5rem}
  .home-intro__block__ja--profile-title h3{font-size:24px!important;font-weight:300}
  .intro-bio{font-size:max(1.8rem,18px) !important;--line-height:calc(30/18);margin-top:0.4rem;white-space:normal !important;overflow-wrap:break-word;word-break:break-all}
}
@media screen and (max-width:1023px){
  .home-intro__block--profile{height:auto;min-height:0;padding:5rem 0 10rem}
  .home-intro__block__en--name{margin-top:1rem !important}
  .home-intro__block__ja--profile-title{margin-top:3.5rem}
  .intro-bio{font-size:var(--font-size17) !important;--line-height:calc(28/17);margin-top:0.4rem;white-space:normal !important;overflow-wrap:break-word;word-break:break-all}
}

/* why block */
.home-intro-why-block{margin:0 auto}
@media screen and (min-width:1024px){.home-intro-why-block{min-width:80.4rem;width:calc((804 / var(--base-width)) * 100%);padding-top:22rem;padding-bottom:20rem}}
@media screen and (max-width:1023px){.home-intro-why-block{width:calc((265 / var(--base-width)) * 100%);padding-top:14rem;padding-bottom:6rem}}
@media screen and (min-width:1024px){.home-intro-why-block .home-story__txt-ja{font-size:max(2.0rem,18px)!important;--line-height:2.2}}
@media screen and (min-width:1024px){.home-origin-content .home-story__txt-ja{--line-height:2.2}}

/* origin content - 古い指定は削除済み（.home-origin-section で管理） */
@media screen and (max-width:1023px){.home-story__txt-ja{white-space:normal!important;overflow-wrap:break-word;word-break:break-all}}

/* ─── home-products ─── */
.home-products{position:relative;z-index:1;overflow:hidden;background-color:var(--color-bg)}
@media screen and (min-width:1024px){.home-products{padding:29.6rem 0 24rem}}
@media screen and (max-width:1023px){.home-products{padding:10rem 0 15.2rem}}
.home-product__header{position:relative;padding-right:5rem}
@media screen and (min-width:1024px){.home-product__title{display:flex;align-items:flex-end}}
.home-product__title__en{font-family:var(--font-sans-serif);padding-top:0.1px;padding-bottom:0.1px;font-weight:300;letter-spacing:calc(143 / 1000 * 1em)}
.home-product__title__en::before,.home-product__title__en::after{content:'';display:block;width:0;height:0;font-size:inherit}
.home-product__title__en::before{margin-top:var(--font-sans-serif-top)}
.home-product__title__en::after{margin-bottom:var(--font-sans-serif-bottom)}
@media screen and (min-width:1024px){.home-product__title__en{font-size:var(--font-size42)}}
@media screen and (max-width:1023px){.home-product__title__en{font-size:var(--font-size26)}}
.home-product__title__ja{font-family:var(--font-mincho);font-weight:400;letter-spacing:calc(60 / 1000 * 1em)}
@media screen and (min-width:1024px){.home-product__title__ja{font-size:var(--font-size12);margin-left:2rem;margin-bottom:0.2rem}}
@media screen and (max-width:1023px){.home-product__title__ja{font-size:var(--font-size10);margin-top:2rem}}
.home-product__catch-ja{font-family:var(--font-mincho);font-weight:400;letter-spacing:calc(120 / 1000 * 1em);margin-top:8.2rem}
@media screen and (min-width:1024px){.home-product__catch-ja{font-size:var(--font-size34);margin-left:-0.7rem}}
@media screen and (max-width:1023px){.home-product__catch-ja{font-size:var(--font-size18);--line-height:calc(35 / 18)}}
.home-product__catch-en{font-family:var(--font-sans-serif);padding-top:0.1px;padding-bottom:0.1px;font-weight:300}
.home-product__catch-en::before,.home-product__catch-en::after{content:'';display:block;width:0;height:0;font-size:inherit}
.home-product__catch-en::before{margin-top:var(--font-sans-serif-top)}
.home-product__catch-en::after{margin-bottom:var(--font-sans-serif-bottom)}
@media screen and (min-width:1024px){.home-product__catch-en{margin-top:3.8rem}}
@media screen and (max-width:1023px){.home-product__catch-en{margin-top:2.8rem}}

/* ループスライダー */
.home-product__loopslider{position:relative;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);left:50%!important;transform:translateX(-50%)!important;margin-left:0!important}
.home-product__loopslider li{position:relative}
.home-product__loopslider li::before{content:'';display:block;padding-top:calc(812/1026*100%)}
.home-product__loopslider li img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media screen and (min-width:1024px){.home-product__loopslider{margin-top:8.2rem;--all-width:500rem!important}}
@media screen and (max-width:1023px){.home-product__loopslider{margin-top:6.2rem;--all-width:300rem!important}}
@media screen and (min-width:1024px){.home-product__loopslider li{min-width:50rem;width:50rem}}
@media screen and (max-width:1023px){.home-product__loopslider li{min-width:30rem;width:30rem}}
.js-loopslider{-webkit-perspective:1000px;perspective:1000px}
.js-loopslider__content{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform}

/* ポイントカード */
.home-product__point{position:relative}
@media screen and (min-width:1024px){.home-product__point{margin-top:6.2rem}}
@media screen and (max-width:1023px){.home-product__point{margin-top:5.5rem}}
.home-product__point__contents{overflow-x:auto;scrollbar-width:none}
.home-product__point__contents::-webkit-scrollbar{display:none}
.home-product__point__cell{height:auto;border-left:var(--solid)}
@media screen and (min-width:1024px){.home-product__point__cell{min-width:33.6rem;width:calc(336 / 1500 * var(--ww));padding:1rem 4rem 2.2rem}}
@media screen and (max-width:1023px){.home-product__point__cell{width:25.5rem;padding:0.9rem 2.6rem 1.7rem}}
.home-product__point__cell:last-of-type{border-right:var(--solid)}
.home-product__point__num{color:var(--color-txt6);font-family:var(--font-mincho);font-weight:400}
@media screen and (min-width:1024px){.home-product__point__num{font-size:var(--font-size14)}}
@media screen and (max-width:1023px){.home-product__point__num{font-size:var(--font-size11)}}
.home-product__point__ja{font-family:var(--font-mincho);letter-spacing:calc(80 / 1000 * 1em);white-space:nowrap}
@media screen and (min-width:1024px){.home-product__point__ja{font-size:var(--font-size18);--line-height:calc(30 / 18);margin-top:2.9rem}}
@media screen and (max-width:1023px){.home-product__point__ja{font-size:var(--font-size14);--line-height:calc(24 / 14);margin-top:2.3rem}}
.home-product__point__en{color:var(--color-txt5);font-family:var(--font-sans-serif);padding-top:0.1px;padding-bottom:0.1px;font-weight:400}
.home-product__point__en::before,.home-product__point__en::after{content:'';display:block;width:0;height:0;font-size:inherit}
.home-product__point__en::before{margin-top:var(--font-sans-serif-top)}
.home-product__point__en::after{margin-bottom:var(--font-sans-serif-bottom)}
@media screen and (min-width:1024px){.home-product__point__en{margin-top:2.8rem}}
@media screen and (max-width:1023px){.home-product__point__en{margin-top:2.2rem}}
.home-product__point__arrows{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg)}
@media screen and (min-width:1024px){.home-product__point__arrows{flex-direction:column;gap:1.4rem;width:var(--contents-md-outside);height:100%;position:absolute;top:0;right:100%;padding-left:1.4rem;padding-bottom:2rem}}
@media screen and (max-width:1023px){.home-product__point__arrows{gap:0.8rem;margin-top:0.8rem}}
.home-product__price__txt__ja{font-family:var(--font-mincho);font-weight:400;letter-spacing:calc(60 / 1000 * 1em)}
@media screen and (min-width:1024px){.home-product__price__txt__ja{width:calc((672 / var(--base-width)) * 100%)}}
@media screen and (min-width:1024px){.home-product__price__txt{display:flex;align-items:flex-start;justify-content:space-between;margin-top:7rem}}
@media screen and (max-width:1023px){.home-product__price__txt{margin-top:4.2rem}}
@media screen and (max-width:1023px){.five-rings-arrow-wrap{padding-right:1.13vw!important}}

/* PC セクションタイトル調整 */
@media screen and (min-width:1024px){
  .c-txt-xxxs{font-size:12px!important}
  .c-txt-xs2{font-size:15px!important}
  .home-product__title{display:block!important}
  .home-product__title__ja{display:block;margin-left:0!important;margin-top:2rem;white-space:normal;overflow-wrap:break-word;font-size:15px!important}
}
@media screen and (max-width:1023px){
  .c-txt-xxxs{font-size:12px!important}
  .home-product__title__ja{font-size:15px!important;margin-top:1.2rem}
}

/* ─── home-story ─── */
.home-story{position:relative;z-index:1;background-color:#284e58}
@media screen and (min-width:1024px){.home-story{padding:37.5rem 0 38.2rem}}
@media screen and (max-width:1023px){.home-story{padding:26.4rem 0 28.4rem}}
.home-story__inner{position:relative;margin:0 auto}
@media screen and (min-width:1024px){.home-story__inner{min-width:calc(var(--base-width) * 0.1rem);display:flex;align-items:flex-start;justify-content:space-between}}
.home-story__txt-ja{font-family:var(--font-mincho);font-weight:400}
@media screen and (min-width:1024px){.home-story__txt-ja{flex:1}}
@media screen and (max-width:1023px){.home-story__txt-ja{white-space:nowrap}}
@media screen and (min-width:1024px){.home-story__logo{width:15.4rem;align-self:flex-end;flex-shrink:0;margin-left:3rem}}
@media screen and (max-width:1023px){.home-story__logo{width:12rem;margin-top:8.2rem;display:flex;justify-content:flex-end;width:100%}}
.home-story__logo img{width:100%}
@media screen and (min-width:1024px){#target-story{padding-bottom:28rem!important}}
@media screen and (min-width:1024px){#target-implementation{padding-bottom:20rem!important}}
@media screen and (max-width:1023px){#target-implementation{padding-bottom:14rem!important}}
@media screen and (min-width:1024px){#target-about{padding-bottom:20rem!important}}
@media screen and (max-width:1023px){#target-about{padding-bottom:14rem!important}}

/* ─── home-about ─── */
.home-about{position:relative;z-index:1;background-color:#284e58}
@media screen and (min-width:1024px){.home-about{padding:37.5rem 0 38.2rem}}
@media screen and (max-width:1023px){.home-about{padding:26.4rem 0 28.4rem}}

/* ─── home-contact ─── */
.home-contact{position:relative;z-index:1;background-color:var(--color-bg)}
@media screen and (min-width:1024px){.home-contact{padding:37.5rem 0 21.5rem}}
@media screen and (max-width:1023px){.home-contact{padding:26.4rem 0 9rem}}
.home-contact__ja>*{font-family:var(--font-mincho);letter-spacing:calc(60 / 1000 * 1em)}
@media screen and (min-width:1024px){.home-contact .c-title.-position3{padding-top:6.2rem!important}}
@media screen and (max-width:1023px){.home-contact .c-title.-position3{padding-top:3rem!important}}

/* explore sep */
.explore-sep{display:block}
@media screen and (max-width:1023px){.explore-sep{margin:-0.3em 0;line-height:0}}
@media screen and (min-width:1024px){.explore-sep{margin:-1.4em 0;line-height:0}}

/* ─── home-outro ─── */
.home-outro{position:relative;z-index:1;background-color:var(--color-bg);border-bottom:var(--solid)}
.home-outro::before{content:'';display:block;width:100%;height:30.5rem;position:absolute;left:0;bottom:0;z-index:0;background:var(--color-gradation)}
.home-outro__inner{position:relative;z-index:10}
@media screen and (min-width:1024px){.home-outro__inner{padding:16.3rem 0 22.6rem}}
@media screen and (max-width:1023px){.home-outro__inner{padding:10rem 0 18.8rem}}
.home-outro__inner::before{content:'';display:block;position:absolute;top:0;left:0;width:0;height:0;border-top:var(--solid);transition:width var(--transition-line)}
.home-outro__inner.is-shown::before{width:100%}
.home-outro__catch-en{color:var(--color-txt5);font-family:var(--font-sans-serif);padding-top:0.1px;padding-bottom:0.1px;font-weight:300;letter-spacing:calc(180 / 1000 * 1em)}
.home-outro__catch-en::before,.home-outro__catch-en::after{content:'';display:block;width:0;height:0;font-size:inherit}
.home-outro__catch-en::before{margin-top:var(--font-sans-serif-top)}
.home-outro__catch-en::after{margin-bottom:var(--font-sans-serif-bottom)}
@media screen and (min-width:1024px){.home-outro__catch-en{text-align:center;font-size:5.8vw}}
@media screen and (min-width:1441px){.home-outro__catch-en{font-size:var(--font-size87)}}
@media screen and (max-width:1023px){.home-outro__catch-en{font-size:var(--font-size40);--line-height:calc(55 / 40)}}
.home-outro__contents{width:100%;margin:0 auto}
@media screen and (min-width:1024px){.home-outro__contents{display:flex;align-items:flex-start;justify-content:space-between;max-width:calc(var(--base-width) * 0.1rem);margin-top:11.5rem}}
@media screen and (max-width:1023px){.home-outro__contents{margin-top:11.2rem}}
.home-outro__ja{white-space:nowrap}
.home-outro__ja p{font-family:var(--font-mincho);font-weight:400}
.home-outro__catch-ja{letter-spacing:calc(60 / 1000 * 1em)}
@media screen and (min-width:1024px){.home-outro__catch-ja{font-size:var(--font-size24)}}
@media screen and (max-width:1023px){.home-outro__catch-ja{font-size:var(--font-size20)}}
@media screen and (min-width:1024px){.home-outro__txt-ja{margin-top:4.5rem}}
@media screen and (max-width:1023px){.home-outro__txt-ja{margin-top:4rem}}
@media screen and (min-width:1024px){.home-outro__en{width:41.5rem}}
@media screen and (max-width:1023px){.home-outro__en{margin-top:6.5rem}}
.home-outro__en p{font-family:var(--font-sans-serif);padding-top:0.1px;padding-bottom:0.1px;font-weight:300}
.home-outro__en p::before,.home-outro__en p::after{content:'';display:block;width:0;height:0;font-size:inherit}
.home-outro__en p::before{margin-top:var(--font-sans-serif-top)}
.home-outro__en p::after{margin-bottom:var(--font-sans-serif-bottom)}
.home-outro__catch-en2{letter-spacing:calc(60 / 1000 * 1em)}
@media screen and (min-width:1024px){.home-outro__catch-en2{font-size:var(--font-size16)}}
@media screen and (max-width:1023px){.home-outro__catch-en2{font-size:var(--font-size11)}}
.home-outro__txt-en{color:var(--color-txt5)}
@media screen and (min-width:1024px){.home-outro__txt-en{margin-top:5rem}}
@media screen and (max-width:1023px){.home-outro__txt-en{margin-top:3rem}}

/* ─── ヘッダーブランドロゴ ─── */
.l-header__brand{margin:0;line-height:1}
.l-header__brand a{font-family:"Trajan Pro","Cinzel",serif;font-weight:400;letter-spacing:.18em;text-decoration:none;color:inherit;white-space:nowrap}
@media screen and (min-width:1024px){.l-header__brand{margin-top:2rem}.l-header__brand a{font-size:30px!important}.l-header__nav{margin-top:-90px!important}}
@media screen and (max-width:1023px){.l-header__brand a{font-size:22px!important;line-height:1.8!important}}
.l-sitemap__catch-ja{line-height:1.45!important}
.l-sitemap__catch-en{font-size:max(2.2rem,18px)!important}

/* ─── フッター ─── */
.l-footer__instagram__txt{font-size:14px!important}
@media screen and (min-width:1024px){.l-footer__instagram{padding-bottom:5.5rem!important}}
.l-footer__nav__parent span{font-size:14px!important}
.l-footer__nav__sub a{font-family:var(--font-sans-serif)!important;font-size:14px!important;font-weight:300!important;letter-spacing:calc(130/1000*1em)!important}
.l-footer__catch-en{font-size:14px!important}
.l-footer__fluctuation{display:none!important}
.l-footer__inner{border-top:var(--solid)!important}
.l-footer__profile{height:auto!important}
@media screen and (min-width:1024px){
  body[data-page="home"] .l-footer__profile{padding-top:16rem!important}
  body[data-page="home"] .l-footer__nav{padding-top:16rem!important}
  body[data-page="home"] .l-footer__copyright{padding-top:16rem!important}
  body[data-page="sub"] .l-footer__inner{margin-top:0!important}
  body[data-page="sub"] .l-footer__main{padding-top:0!important}
  body[data-page="sub"] .l-footer__profile{padding-top:6rem!important}
  body[data-page="sub"] .l-footer__nav{padding-top:6rem!important;margin-top:0!important}
  body[data-page="sub"] .l-footer__copyright{padding-top:6rem!important}
  .l-footer__nav .l-footer__nav__sub{margin-top:4rem!important}
}
@media screen and (max-width:1023px){
  body[data-page="sub"] .l-footer__inner{margin-top:0!important}
  .l-footer__inner{margin-top:8rem}
  .l-footer__main{padding-top:4rem}
  .l-footer__nav{margin-top:5rem;padding-top:2rem}
  .l-footer__copyright{padding-top:5rem}
  .l-footer__logo{margin-top:2rem}
  .l-footer__nav__sub{padding-bottom:3rem!important}
  .l-footer__instagram{margin-top:0!important;padding-top:0!important}
  .l-footer__instagram__txt{display:block;margin-top:0!important;transform:translateY(1.8rem)}
  .l-footer__copyright{padding-top:6rem!important}
}
@media screen and (min-width:1024px){
  .l-footer__nav__sub{padding-bottom:3rem!important}
}

/* ─── ノートパソコン：本文テキスト 19px ─── */
@media screen and (min-width:1281px) and (max-width:2389px){
  .c-txt-xxxl2{font-size:19px!important}
  .home-story__txt-ja{font-size:19px!important}
}

/* ─── サブページ共通 ─── */
.sub-hero{width:100%;height:60vh;min-height:32rem;background-color:#284e58;display:flex;align-items:flex-end;justify-content:flex-start;position:relative;overflow:hidden}
.sub-hero::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--color-line3);opacity:.3}
.sub-hero__inner{padding:0 0 6rem}
@media screen and (min-width:1024px){.sub-hero__inner{padding:0 calc((243/1500)*100vw) 8rem}}
@media screen and (max-width:1023px){.sub-hero__inner{padding:0 calc((45.5/375)*100vw) 6rem}}
.sub-hero__en{font-family:var(--font-sans-serif);font-weight:300;letter-spacing:.22em;color:rgba(255,255,255,.45)}
@media screen and (min-width:1024px){.sub-hero__en{font-size:1.2rem}}
@media screen and (max-width:1023px){.sub-hero__en{font-size:1.1rem}}
.sub-hero__ja{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-weight:400;letter-spacing:.08em;color:rgba(255,255,255,.88);margin-top:1.2rem}
@media screen and (min-width:1024px){.sub-hero__ja{font-size:var(--font-size42)}}
@media screen and (max-width:1023px){.sub-hero__ja{font-size:var(--font-size26)}}

/* サブページコンテンツ */
.sub-content{position:relative;z-index:1;background-color:#284e58}
.sub-section{margin:0 auto}
@media screen and (min-width:1024px){.sub-section{min-width:80.4rem;width:calc((804/1500)*100%);padding:16rem 0}}
@media screen and (max-width:1023px){.sub-section{width:calc((265/375)*100%);padding:10rem 0}}
.sub-section+.sub-section{border-top:var(--solid)}
.sub-section__label{font-family:var(--font-sans-serif);font-weight:300;letter-spacing:.22em;color:rgba(255,255,255,.4);text-transform:uppercase}
@media screen and (min-width:1024px){.sub-section__label{font-size:1.1rem}}
@media screen and (max-width:1023px){.sub-section__label{font-size:1rem}}
.sub-section__heading{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-weight:400;letter-spacing:.08em;color:rgba(255,255,255,.88);margin-top:2rem}
@media screen and (min-width:1024px){.sub-section__heading{font-size:var(--font-size34)}}
@media screen and (max-width:1023px){.sub-section__heading{font-size:var(--font-size22)}}
.sub-section__body{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-weight:400;color:rgba(255,255,255,.75);line-height:2.2;margin-top:4rem}
@media screen and (min-width:1024px){.sub-section__body{font-size:max(1.8rem,17px)}}
@media screen and (max-width:1023px){.sub-section__body{font-size:max(1.5rem,14px);line-height:2.0}}

/* structure ページ */
.mh-structure-diagram{margin:6rem 0}
.mh-structure-node{border:1px solid rgba(255,255,255,.2);padding:3rem 4rem;text-align:center;position:relative;background:rgba(255,255,255,.03)}
.mh-structure-node__label{font-family:var(--font-sans-serif);font-weight:300;letter-spacing:.2em;font-size:1.1rem;color:rgba(255,255,255,.4);text-transform:uppercase}
.mh-structure-node__name{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-weight:400;letter-spacing:.08em;color:rgba(255,255,255,.88);margin-top:1rem}
@media screen and (min-width:1024px){.mh-structure-node__name{font-size:2.8rem}}
@media screen and (max-width:1023px){.mh-structure-node__name{font-size:2rem}}
.mh-structure-node__sub{font-family:var(--font-sans-serif);font-weight:300;letter-spacing:.15em;color:rgba(255,255,255,.5);margin-top:.6rem}
@media screen and (min-width:1024px){.mh-structure-node__sub{font-size:1.2rem}}
@media screen and (max-width:1023px){.mh-structure-node__sub{font-size:1.1rem}}
.mh-structure-arrow{text-align:center;padding:2rem 0;color:rgba(255,255,255,.25);font-size:2rem;letter-spacing:.1em}
.mh-structure-children{display:grid;gap:1.6rem;margin-top:0}
@media screen and (min-width:1024px){.mh-structure-children{grid-template-columns:repeat(3,1fr)}}
@media screen and (max-width:1023px){.mh-structure-children{grid-template-columns:1fr}}
.mh-structure-node--child{padding:2rem 2.4rem}
.mh-structure-node--child .mh-structure-node__name{font-size:1.6rem}
.mh-structure-node--child .mh-structure-node__sub{font-size:1.0rem}

/* Five Rings カード */
.mh-rings-grid{display:grid;gap:2rem;margin:6rem 0}
@media screen and (min-width:1024px){.mh-rings-grid{grid-template-columns:repeat(5,1fr)}}
@media screen and (max-width:1023px){.mh-rings-grid{grid-template-columns:1fr}}
.mh-ring-card{border-left:2px solid rgba(255,255,255,.25);padding:3rem 2.4rem;background:rgba(255,255,255,.03)}
.mh-ring-card__symbol{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-size:3rem;color:rgba(255,255,255,.88);letter-spacing:.05em}
.mh-ring-card__en{font-family:var(--font-sans-serif);font-weight:300;letter-spacing:.18em;font-size:1.1rem;color:rgba(255,255,255,.4);text-transform:uppercase;margin-top:.8rem}
.mh-ring-card__title{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-weight:400;font-size:1.6rem;color:rgba(255,255,255,.8);margin-top:1.6rem;letter-spacing:.06em;line-height:1.6}
.mh-ring-card__desc{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-weight:400;font-size:1.3rem;color:rgba(255,255,255,.5);margin-top:1.2rem;line-height:1.9}

/* Vision ページ */
.mh-vision-item{padding:6rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
.mh-vision-item:first-child{border-top:1px solid rgba(255,255,255,.1)}
.mh-vision-item__label{font-family:var(--font-sans-serif);font-weight:300;letter-spacing:.25em;font-size:1.1rem;color:rgba(255,255,255,.4);text-transform:uppercase}
.mh-vision-item__heading{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-weight:400;letter-spacing:.1em;color:rgba(255,255,255,.88);margin-top:1.6rem}
@media screen and (min-width:1024px){.mh-vision-item__heading{font-size:var(--font-size34)}}
@media screen and (max-width:1023px){.mh-vision-item__heading{font-size:var(--font-size22)}}
.mh-vision-item__body{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-weight:400;color:rgba(255,255,255,.7);line-height:2.2;margin-top:3rem}
@media screen and (min-width:1024px){.mh-vision-item__body{font-size:max(1.8rem,17px)}}
@media screen and (max-width:1023px){.mh-vision-item__body{font-size:max(1.5rem,14px)}}

/* company ページ */
.mh-company-table{width:100%;border-collapse:collapse;margin:4rem 0}
.mh-company-table tr{border-bottom:1px solid rgba(255,255,255,.1)}
.mh-company-table th{font-family:var(--font-sans-serif);font-weight:300;letter-spacing:.15em;color:rgba(255,255,255,.45);text-align:left;vertical-align:top;padding:2.4rem 0;width:28%;font-size:1.2rem}
.mh-company-table td{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-weight:400;color:rgba(255,255,255,.8);padding:2.4rem 0;line-height:1.8}
@media screen and (min-width:1024px){.mh-company-table td{font-size:max(1.7rem,16px)}}
@media screen and (max-width:1023px){.mh-company-table th{width:36%;font-size:1.1rem}.mh-company-table td{font-size:max(1.4rem,13px)}}

/* projects ページ */
.mh-project-section{padding:8rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
.mh-project-section:first-child{border-top:1px solid rgba(255,255,255,.1)}
.mh-project-ring{display:inline-flex;align-items:center;gap:1.2rem;margin-bottom:2.4rem}
.mh-project-ring__symbol{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-size:2.4rem;color:rgba(255,255,255,.88)}
.mh-project-ring__name{font-family:var(--font-sans-serif);font-weight:300;letter-spacing:.2em;font-size:1.2rem;color:rgba(255,255,255,.45);text-transform:uppercase}
.mh-project-title{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-weight:400;letter-spacing:.08em;color:rgba(255,255,255,.88);margin-bottom:2.4rem}
@media screen and (min-width:1024px){.mh-project-title{font-size:var(--font-size27)}}
@media screen and (max-width:1023px){.mh-project-title{font-size:var(--font-size18)}}
.mh-project-desc{font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro W3","Shippori Mincho B1",serif;font-weight:400;color:rgba(255,255,255,.7);line-height:2.2}
@media screen and (min-width:1024px){.mh-project-desc{font-size:max(1.7rem,16px)}}
@media screen and (max-width:1023px){.mh-project-desc{font-size:max(1.4rem,13px)}}
.mh-project-tag{display:inline-block;border:1px solid rgba(255,255,255,.2);padding:.4rem 1.2rem;margin:.6rem .4rem 0 0;font-family:var(--font-sans-serif);font-weight:300;letter-spacing:.15em;font-size:1.1rem;color:rgba(255,255,255,.5)}

/* ─── 区切り線 ─── */
.mh-rule{border:none;border-top:1px solid rgba(255,255,255,.1);margin:0}

/* ─── #target-implementation セクション修正 ─── */
#target-implementation {
  position: relative !important;
  background-color: #1b434e !important;
  padding-top: 17rem !important;
  margin-top: 0 !important;
  overflow: hidden;
}

#target-implementation .c-bg {
  background: #1b434e !important;
}

/* タイトルは上部余白の中に配置 */
#target-implementation .implementation-title {
  position: absolute !important;
  top: 6.5rem !important;
  left: 0 !important;
  z-index: 10 !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none;
}

/* このセクション内だけ .c-title.-position2 の特殊な位置・高さを解除 */
#target-implementation .implementation-title .c-title,
#target-implementation .implementation-title .c-title.-position2 {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 0 0 5rem !important;
  transform: none !important;
}

#target-implementation .implementation-title .c-title__txt {
  position: relative !important;
  transform: none !important;
  margin: 0 !important;
}

/* スライダーはセクション上部余白の下から開始 */
#target-implementation > .home-product__loopslider {
  margin-top: 3.5rem !important;
  margin-bottom: 3rem !important;
  padding-top: 0 !important;
  position: relative;
  z-index: 2;
}

/* スライダー内の余白は不要 */
#target-implementation > .home-product__loopslider ul,
#target-implementation > .home-product__loopslider li {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* organization見出し以下の余白 */
#target-implementation .c-inner-sm.-contents-xs {
  padding-top: 2rem !important;
}

@media screen and (max-width:1023px) {
  #target-implementation {
    padding-top: 10rem !important;
  }

  #target-implementation .implementation-title {
    top: 2rem !important;
  }

  #target-implementation .implementation-title .c-title,
  #target-implementation .implementation-title .c-title.-position2 {
    padding-left: 2rem !important;
  }
}

/* ─── home-intro 背景色：Five Rings と同じ色に統一 ─── */

#target-introduction {
  background-color: #1b434e !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  isolation: isolate;
}

#target-introduction::before,
#target-introduction::after {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
  background: transparent !important;
}

/* MASTER HOLDINGS */
#target-introduction .home-intro__block--profile {
  background-color: #1b434e !important;
}

/* World Upgrade */
#target-introduction .home-intro-why-block {
  background-color: #1b434e !important;
}

/* 横幅いっぱいに背景を広げる（MASTER HOLDINGS と World Upgrade） */
#target-introduction .home-intro__block--profile,
#target-introduction .home-intro-why-block {
  position: relative;
  z-index: 1;
}

#target-introduction .home-intro__block--profile::before,
#target-introduction .home-intro-why-block::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  z-index: -1;
}

#target-introduction .home-intro__block--profile::before {
  background-color: #1b434e;
}

#target-introduction .home-intro-why-block::before {
  background-color: #1b434e;
}

/* ─── Be The Upgrade 停止位置と intro 余白調整 ─── */

/* PC：Be The Upgrade 下の余白を狭める */
@media screen and (min-width:1024px) {
  .home-main {
    --kv-catch-sticky-scroll: 42vh !important;
    --intro-space-top: 0px !important;
  }

  .home-intro {
    padding-top: 42vh !important;
  }

  .home-catch__inner p {
    top: 72vh !important;
  }
}

/* ワイドモニター（1920px以上）：さらに余白を狭める */
@media screen and (min-width:1920px) {
  .home-main {
    --kv-catch-sticky-scroll: 38vh !important;
    --intro-space-top: 0px !important;
  }

  .home-intro {
    padding-top: 38vh !important;
  }

  .home-catch__inner p {
    top: 70vh !important;
  }
}

/* スマホ：Be The Upgrade を少し上で止める */
@media screen and (max-width:1023px) {
  .home-catch__inner p {
    top: 6vh !important;
  }

  .home-main {
    --intro-space-top: -5vh !important;
  }

  .home-intro {
    padding-top: calc(var(--kv-catch-sticky-scroll) + var(--intro-space-top)) !important;
  }
}


/* ─── スマホ：本文テキストサイズ最終統一 ─── */
@media screen and (max-width:1023px) {

  /* 各セクション本文 20px */
  .home-story__txt-ja {
    font-size: 20px !important;
    line-height: 2.05 !important;
    letter-spacing: 0.06em !important;
  }

  /* MASTER HOLDINGS本文 18px */
  .intro-bio {
    font-size: 18px !important;
    line-height: 2.05 !important;
    letter-spacing: 0.06em !important;
  }

  /* その他本文 18px */
  .c-txt-xxxl2,
  .home-product__price__txt__ja,
  .home-product__price__txt__ja p,
  .c-txt-lg2,
  .home-outro__txt-ja,
  .c-txt-lg3 {
    font-size: 18px !important;
    line-height: 2.05 !important;
    letter-spacing: 0.06em !important;
  }

  /* 英語の小さい補足やカード内テキストは対象外にする */
  .home-product__point__en,
  .home-product__catch-en,
  .home-product__title__ja,
  .home-product__point__ja {
    font-size: inherit;
  }
}

/* ─── why now セクション（.home-origin-section） ─── */

.home-origin-section {
  background-color: #284e58;
  position: relative;
  z-index: 1;
}

.home-origin-section .home-section-fig {
  margin-top: 4rem;
}

.home-origin-section .home-origin-content {
  padding-top: 8rem;
}

/* PC */
@media screen and (min-width:1024px) {
  .home-origin-section .home-origin-content {
    padding-bottom: 14rem;
  }
}

/* スマホ */
@media screen and (max-width:1023px) {
  .home-origin-section .home-origin-content {
    padding-bottom: 20rem;
  }
}

/* ─── PC：ヘッダーロゴ位置調整 ─── */
@media screen and (min-width:1024px) {
  .l-header__brand {
    margin-top: 0 !important;
    transform: translate(-1.3rem, -4.3rem);
  }

  .l-header__brand a {
    font-size: 24px !important;
    letter-spacing: .16em !important;
  }
}

/* ─── 下層ページ：複数行見出しの行間調整 ─── */
.sub-section__heading {
  line-height: 1.65 !important;
}

.mh-vision-item__heading,
.mh-project-title,
.mh-structure-node__name {
  line-height: 1.6 !important;
}

@media screen and (max-width:1023px) {
  .sub-section__heading {
    line-height: 1.7 !important;
  }

  .mh-vision-item__heading,
  .mh-project-title,
  .mh-structure-node__name {
    line-height: 1.65 !important;
  }
}

/* Sub page typography */
body[data-page="sub"] .sub-hero__ja,
body[data-page="sub"] .sub-section__heading,
body[data-page="sub"] .mh-vision-item__heading,
body[data-page="sub"] .mh-project-title,
body[data-page="sub"] .mh-brand-card__name {
  font-family: var(--font-mincho) !important;
  font-weight: 400 !important;
  letter-spacing: calc(80 / 1000 * 1em) !important;
}

body[data-page="sub"] .sub-section__body,
body[data-page="sub"] .mh-vision-item__body,
body[data-page="sub"] .mh-project-desc,
body[data-page="sub"] .mh-project-lb-link,
body[data-page="sub"] .mh-project-cta__text,
body[data-page="sub"] .mh-brand-card__text,
body[data-page="sub"] .mh-brand-card__mvv,
body[data-page="sub"] .mh-company-table td {
  font-family: var(--font-mincho) !important;
  font-weight: 400 !important;
  letter-spacing: calc(60 / 1000 * 1em) !important;
}

@media screen and (min-width:1024px) {
  body[data-page="sub"] .sub-hero__ja,
  body[data-page="sub"] .sub-section__heading {
    font-size: 30px !important;
    line-height: 1.65 !important;
  }

  body[data-page="sub"] .mh-vision-item__heading {
    font-size: 30px !important;
    line-height: 1.6 !important;
  }

  body[data-page="sub"] .mh-project-title,
  body[data-page="sub"] .mh-brand-card__name {
    font-size: 24px !important;
    line-height: 1.6 !important;
  }

  body[data-page="sub"] .sub-section__body,
  body[data-page="sub"] .mh-vision-item__body,
  body[data-page="sub"] .mh-project-desc,
  body[data-page="sub"] .mh-project-lb-link,
  body[data-page="sub"] .mh-project-cta__text,
  body[data-page="sub"] .mh-brand-card__mvv {
    font-size: 19px !important;
    line-height: 2.05 !important;
  }

  body[data-page="sub"] .mh-brand-card__text,
  body[data-page="sub"] .mh-company-table td {
    font-size: 17px !important;
    line-height: 2.05 !important;
  }
}

@media screen and (max-width:1023px) {
  body[data-page="sub"] .sub-hero__ja,
  body[data-page="sub"] .sub-section__heading {
    font-size: 22px !important;
    line-height: 1.7 !important;
  }

  body[data-page="sub"] .mh-vision-item__heading,
  body[data-page="sub"] .mh-project-title,
  body[data-page="sub"] .mh-brand-card__name {
    font-size: 17px !important;
    line-height: 1.65 !important;
  }

  body[data-page="sub"] .sub-section__body,
  body[data-page="sub"] .mh-vision-item__body,
  body[data-page="sub"] .mh-project-desc,
  body[data-page="sub"] .mh-project-lb-link,
  body[data-page="sub"] .mh-project-cta__text,
  body[data-page="sub"] .mh-brand-card__mvv {
    font-size: 17px !important;
    line-height: 2.05 !important;
  }

  body[data-page="sub"] .mh-brand-card__text,
  body[data-page="sub"] .mh-company-table td {
    font-size: 16px !important;
    line-height: 2.05 !important;
  }
}
