/* clone.css — base.css（本家寸法）に対する差分・補完。独自要素と本家に無い部分のみ */
:root{--ease:cubic-bezier(0.18,0.06,0.23,1);--linesize:1px;--line-offset:0rem}


body{font-family:"Noto Sans JP","Hiragino Sans",Meiryo,sans-serif}
.en{font-family:"Montserrat",sans-serif}
ul{list-style:none;margin:0;padding:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
p,dl,dd,dt,h1,h2,h3{margin:0}
button{font:inherit;cursor:pointer}
.sp-hidden{}
@media (min-width:850px){.pctb-hidden{display:none}}

/* ---- opening（本家: 白カバー＋中央ロゴ → ロゴが左上へ縮小移動 → カバーがフェードアウト） ---- */
.p-home-opening{position:fixed;inset:0;z-index:20;pointer-events:none}
.p-home-opening__cover{position:absolute;inset:0;background:#fff;transition:opacity .4s var(--ease)}
.p-home-opening__logo{position:absolute;left:50%;top:50%;translate:-50% -50%;display:grid;justify-items:center;row-gap:1.2rem;color:#83a2b2;opacity:0;transition:opacity .4s var(--ease), translate .9s var(--ease), scale .9s var(--ease), left .9s var(--ease), top .9s var(--ease)}
.p-home-opening__logo img{width:9rem;height:9rem}
.p-home-opening__logo span{font-weight:700;font-size:2.4rem;letter-spacing:.02em}
.p-home-opening.visible .p-home-opening__logo{opacity:1}
.p-home-opening.fit .p-home-opening__logo{left:14rem;top:5rem;scale:.3;translate:-50% -50%}
.p-home-opening.fit .p-home-opening__logo span{opacity:0;transition:opacity .3s}
.p-home-opening.hidden .p-home-opening__cover{opacity:0}
.p-home-opening.hidden .p-home-opening__logo{opacity:0;transition:opacity .3s var(--ease)}
.p-home-opening.done{display:none}

/* ---- 固定背景（本家 .p-home-bg は動画。ここでは SVG フィルタで絹のような波を再現） ---- */
.p-home-bg{transition:visibility .4s var(--ease),opacity .4s var(--ease);position:fixed;inset:0 0 auto;z-index:0;height:100vh;height:100lvh;background:#ebf0f2;overflow:hidden}
.p-home-bg::before{transition:opacity .4s var(--ease);content:"";display:block;position:absolute;inset:0;z-index:1;background:#83a2b2;opacity:0}
.p-home-bg__wave{display:block;width:100%;height:100%;position:relative;z-index:0}
.page-home.feature-inview .p-home-bg::before{opacity:1}
.page-home.feature-after .p-home-bg{visibility:hidden;opacity:0}

/* ---- header（本家 base.css にあるが、ロゴ画像・ナビの電話アイコン等の補完） ---- */
.header{position:absolute;inset:0 0 auto;height:10rem}
.header__logo img{width:22rem}
.header__logo::after{background-image:url(/clone/assets/logo-white.svg)}
.header__nav a{color:inherit}
.header__nav .ico-blank{width:1.2rem;margin-left:.5rem}
.header__drawer{position:fixed;inset:0;z-index:15;visibility:hidden;opacity:0;transition:all .4s var(--ease);background:rgba(36,46,51,.92);color:#fff;backdrop-filter:blur(10px)}
.header.drawer-open .header__drawer{visibility:visible;opacity:1}
.header__drawerInner{max-width:110rem;margin:0 auto;padding:14rem 7rem 6rem;display:grid;grid-template-columns:1fr 1fr;gap:6rem}
.drawer__list>li{margin-bottom:2.4rem}
.drawer__list>li>a{font-size:2.4rem;font-weight:600}
.drawer__list ul{margin-top:1rem;font-size:1.4rem;line-height:2.2;opacity:.85}
.drawer__tel a{font-family:"Montserrat",sans-serif;font-size:4rem;font-weight:700;display:block}
.drawer__tel small{display:block;font-size:1.3rem;margin-top:1rem;opacity:.8}
.header.drawer-open .header__menu .dot{opacity:0}
.header.drawer-open .header__menu::before,.header.drawer-open .header__menu::after{scale:1 1}

/* ---- FV（本家 .p-home-fv__logo::before は mask + 画像。独自ワードマーク SVG をマスク） ---- */
.p-home-fv__logo::before{-webkit-mask-size:contain;mask-size:contain}
.p-home-fv__copy .en{font-family:"Montserrat",sans-serif}
.p-home-fv__scroll::before{-webkit-mask-size:contain;mask-size:contain}
.p-home-fv__scroll{text-transform:none;letter-spacing:.08em}

/* ---- message copy（本家は JS が --sy をセット。線形式は本家と同じ） ---- */
.p-home-message__copy .line .letter{display:block;padding:0 .06em}
.p-home-message{position:relative}
.c-gallery .img{background:#f3f8fa}
.c-gallery .img img{object-fit:contain;padding:2rem;box-sizing:border-box;width:100% !important;height:100% !important;translate:0 !important;position:static !important}

/* ---- service pills（本家 .item__link は data-text を使う擬似要素つき） ---- */


/* ---- media banners (言語) 独自中身 ---- */
.c-media-banners .banner__link{display:flex;flex-direction:column;justify-content:center;align-items:center;aspect-ratio:200/100;border-radius:.5rem;background:#fff;color:#485b66;border:1px solid #e1e7eb}
.c-media-banners .banner__link b{font-size:1.8rem;font-weight:700}
.c-media-banners .banner__link small{font-size:1.1rem;color:#7493a3;margin-top:.4rem}
.footer__body .c-media-banners .banner__link{border:0}

/* ---- feature wave（本家: ::before 波画像 20s / ::after 文字マスク 60s） ---- */
.p-home-feature__wave::before{background-size:auto 100%;background-repeat:repeat-x;background-position:left bottom}
.p-home-feature__wave::after{-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;-webkit-mask-size:150rem auto;mask-size:150rem auto;-webkit-mask-position:0 center;mask-position:0 center}

/* ---- number ---- */
.p-home-number__items .item__num .small{font-size:3.6rem}

/* ---- client list（本家は画像1枚。ここでは国・エリアのカード） ---- */
.p-home-client__list li{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:3/2;border:1px solid #e1e7eb;border-radius:.5rem;background:#fff;color:#485b66}
.p-home-client__list li b{font-size:1.5rem;font-weight:700}
.p-home-client__list li small{font-size:1.1rem;color:#7493a3;margin-top:.3rem}

/* ---- recruit → 料金（本家は動画背景。ここは暗色グラデ＋イラスト） ---- */
.p-home-recruit__bg{position:absolute;inset:0;z-index:0;background:linear-gradient(100deg,#1c252a 0%,#2f3d45 45%,#485b66 100%)}
.p-home-recruit__bg::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 60% at 70% 50%,rgba(131,162,178,.35),transparent 70%)}
.p-home-recruit__bg img{position:absolute;right:-4%;bottom:0;width:56%;opacity:.22;filter:grayscale(1) brightness(1.6)}
.p-home-recruit__items .item__txt dd b{font-family:"Montserrat",sans-serif;font-weight:700;margin:0 .4em 0 .2em}

/* ---- news ---- */
.p-home-news__empty{padding:3.5rem 0;font-size:1.4rem;color:#7493a3}

/* ---- seminar / flow ---- */
.p-home-seminar__items .item__status--step{background:#83a2b2;font-family:"Montserrat",sans-serif;letter-spacing:.08em}
.p-home-seminar__items .item__img{background:#f3f8fa;overflow:hidden}
.p-home-seminar__items .item__img img{object-fit:contain;padding:1.6rem;box-sizing:border-box;width:100%}
.p-home-case__items .item__img{background:#f3f8fa}
.p-home-case__items .item__img img{object-fit:contain !important;padding:1.6rem;box-sizing:border-box}
.p-home-feature__items .item__img{background:#f3f8fa}
.p-home-feature__items .item__img img{object-fit:contain !important;padding:1rem;box-sizing:border-box}
.p-home-fv__pickup .pickup__img{background:#f3f8fa}
.p-home-fv__pickup .pickup__img img{object-fit:contain !important;padding:.8rem;box-sizing:border-box}

/* ---- floating（本家は SP のみ。PC では非表示＝本家準拠） ---- */
@media (min-width:850px){.p-home-floating{display:none}}
.p-home-floating.hidden{display:none !important}

/* ---- footer 補完 ---- */
.footer__contact .link__tel{font-family:"Montserrat",sans-serif;font-size:3rem;font-weight:700;color:#485b66;line-height:1.2}
.footer__banners .banner__img--card{display:grid;grid-template-columns:9.8rem 1fr;align-items:center;gap:1.2rem;aspect-ratio:340/98;background:#fff;border-radius:.5rem;color:#485b66;padding:0 1.6rem 0 0;box-sizing:border-box;overflow:hidden}
.footer__banners .banner__img--card img{height:100%;width:9.8rem;object-fit:contain;padding:.8rem;box-sizing:border-box;background:#f3f8fa}
.footer__banners .banner__img--card span{font-size:1.5rem;font-weight:700;line-height:1.4}
.footer__banners .banner__img--card small{display:block;font-size:1.1rem;font-weight:300;color:#7493a3;margin-top:.2rem}
.footer__sns .sns{display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:#fff;color:#7493a3;font-family:"Montserrat",sans-serif;font-size:1.1rem;font-weight:700}
.footer__pmark--text{width:auto;font-size:1.1rem;line-height:1.7;opacity:.9;padding:1rem 1.4rem;border:1px solid rgba(255,255,255,.4);border-radius:.5rem;display:inline-block}
.footer__address dd{margin:0}
.f-media{padding:0 0 7rem}
.f-media__head{display:grid;grid-template-columns:auto 1fr auto;gap:4rem;align-items:center;max-width:124rem;margin:0 auto 3rem;padding:0 7rem;box-sizing:border-box}
.f-media__ttl{font-size:1.6rem;font-weight:600;text-decoration:underline;text-underline-offset:.4rem}
.f-media__txt{font-size:1.2rem;line-height:1.7;opacity:.9}
.f-media__more{font-size:1.2rem;text-decoration:underline;text-underline-offset:.3rem}

/* ---- 出現アニメーション（本家: 各 section は opacity/translate のフェードイン） ---- */

@media only screen and (max-width: 849px){
  .header__drawerInner{grid-template-columns:1fr;padding:8rem 2.4rem 12rem;gap:3rem;overflow:auto;max-height:100vh;box-sizing:border-box}
  .drawer__list>li>a{font-size:2rem}
  .drawer__tel a{font-size:3.2rem}
  .header__drawer{overflow:auto}
}
