@charset "UTF-8";
/* =========================================================================
   SD-KA Layout Clone — 骨組みのみ
   PC: 1440px 基準の vw / SP: 375px 基準の vw / BP: 768-769px
   詳細ルールは ../LAYOUT-SYSTEM.md を参照
   ========================================================================= */

:root{
  --c-bg:      var(--c-base, #F7F7F7);
  --c-txt:     var(--c-text, #3D3D3D);
  --c-teal:    var(--c-main, #4A8B9A);
  --c-teal-h:  #68AEBE;
  --c-yellow:  var(--c-accent, #FFF200);
  --c-yellow-h:#FFFBB2;
  --c-tile:    #F5F5F5;
  --c-red:     #FF5555;
  --c-line:    rgba(65,65,65,.5);
  --c-deco:      #E0E0E0; /* 背景装飾 */
  --c-deco-line: #C4C4C4; /* 引き出し線（地色に埋もれないよう1段濃く） */
  --ease-clip: cubic-bezier(.25,.46,.45,.94);
  --ease-blk:  cubic-bezier(.33,1,.68,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--c-bg);
  color:var(--c-txt);
  font-family:var(--font-body, "Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic Medium","Meiryo",sans-serif);
  font-size:14px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.is-modal-open{overflow:hidden}
img{max-width:100%;vertical-align:top}
ul,ol{margin:0;padding:0;list-style:none}
h2,h3,h4,p,figure{margin:0}
a{color:inherit;text-decoration:none;outline:none}
table{border-collapse:collapse}
svg{display:block}

.site{position:relative;width:100%;margin:0 auto;background:var(--c-bg);overflow:hidden}

/* ---------- 表示切替 ---------- */
@media all and (max-width:768px){ .pc-only{display:none !important} }
@media screen and (min-width:769px){ .sp-only{display:none !important} }
@media screen and (min-width:769px){ .site{min-width:1000px} }

/* =========================================================================
   スクロールリビール
   ========================================================================= */
.u-img       {clip-path:inset(0 100% 0 0); transition:clip-path .8s var(--ease-clip)}
.u-img-right {clip-path:inset(0 0 0 100%); transition:clip-path .8s var(--ease-clip)}
.u-img-up    {clip-path:inset(100% 0 0 0); transition:clip-path .5s var(--ease-clip)}
.u-img-down  {clip-path:inset(0 0 100% 0); transition:clip-path 1s  var(--ease-clip)}
.u-img.is-in,.u-img-right.is-in,.u-img-up.is-in,.u-img-down.is-in{clip-path:inset(0 0 0 0)}
.u-block,.u-block2{opacity:0;transform:translateY(20px);transition:opacity .5s var(--ease-blk),transform .5s var(--ease-blk)}
.u-block2{transition-delay:.8s}
.u-block.is-in,.u-block2.is-in{opacity:1;transform:translateY(0)}

@keyframes zoomOutPc{from{transform:scale(1.1)}to{transform:scale(1)}}
@keyframes zoomOutSp{from{transform:scale(1.2)}to{transform:scale(1)}}
@keyframes scrollbar{0%{height:0;top:0}30%{height:100%}100%{top:100%}}
@keyframes mqLeft {from{transform:translateX(0)}   to{transform:translateX(-50%)}}
@keyframes mqRight{from{transform:translateX(-50%)}to{transform:translateX(0)}}

/* =========================================================================
   [0] HEADER / [1] BREADCRUMB
   ========================================================================= */
.hd{position:fixed;top:0;left:0;width:100%;background:#fff;z-index:1000;display:flex;align-items:center}
.hd__wrap{display:flex;align-items:center;width:100%}
.hd__logo{flex:0 0 auto}
.hd__nav{margin-left:auto}
.hd__nav ul{display:flex;align-items:center}
.hd__nav a{font-size:13px;letter-spacing:.06em;color:#3D3D3D}
.hd__nav a.is-current{color:#2A6FB8}
.hd__search{border:0;background:none;padding:0;cursor:pointer;color:#2A6FB8}
.crumb{background:#E4E4E4}
.crumb ol{display:flex;flex-wrap:wrap;align-items:center;font-size:12px;color:#555}
.crumb li+li::before{content:">";margin:0 .6em;color:#888}
.crumb a{color:#2A6FB8}

@media screen and (min-width:769px){
  .hd{height:110px;padding:0 3.47222vw}
  .hd__logo img{width:183px;height:auto}
  .hd__nav ul{gap:2.2vw}
  .hd__search{margin-left:2.4vw;width:29px}
  .crumb{padding:110px 0 0}
  .crumb ol{width:83.33333vw;margin:0 auto;padding:18px 0}
}
@media all and (max-width:768px){
  .hd{height:14.93333vw;padding:0 4.26667vw}
  .hd__logo img{width:32vw;height:auto}
  .hd__nav{display:none}
  .hd__search{width:6.4vw;margin-left:auto}
  .crumb{padding:14.93333vw 0 0}
  .crumb ol{padding:2.66667vw 4.26667vw;font-size:10px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}
}

/* =========================================================================
   [2] HERO
   ========================================================================= */
.hero{position:relative;width:100%;z-index:2}
.hero::before{content:"";display:block;position:absolute;inset:0;background:#000;z-index:3;pointer-events:none;transition:.6s linear}
.site.is-in .hero::before{opacity:0}
.hero__inner{position:relative;width:100%}
.hero__photo{position:absolute;inset:0;display:block}
.hero__photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero__tit,.hero__copy{clip-path:inset(0 100% 0 0);transition:clip-path .8s var(--ease-clip)}
.site.is-in .hero__tit,.site.is-in .hero__copy{clip-path:inset(0 0 0 0)}
.hero__tit img,.hero__copy img{width:100%;height:auto;display:block}
.hero__cta{
  position:absolute;background:var(--c-yellow);color:#000;
  display:flex;align-items:center;justify-content:center;text-align:center;
  opacity:0;transform:translateY(5px);
  transition:background .3s var(--ease-blk),opacity .8s var(--ease-blk),transform .8s var(--ease-blk);
}
.site.is-in2 .hero__cta{opacity:1;transform:translateY(0)}
.hero__cta:hover{background:var(--c-yellow-h)}
.hero__cta .txt{font-weight:500}

@media screen and (min-width:769px){
  .hero,.hero__inner{height:44.09722vw}
  .hero{overflow:hidden}
  .hero__photo img{transform:scale(1.1);animation:zoomOutPc 1.5s ease-out forwards}
  /* 見出し left:5.55556vw / CTA left:5.13889vw ＝ わざと 0.41667vw ズラす */
  .hero__tit {position:absolute;top:3.88889vw; left:5.55556vw;width:39.16667vw}
  .hero__copy{position:absolute;top:17.56944vw;left:5.55556vw;width:32.43056vw}
  .hero__cta{
    top:32.70833vw;left:5.13889vw;width:23.95833vw;height:4.16667vw;
    border-radius:4.16667vw;
  }
  .hero__cta .ico{position:absolute;left:6.25vw;width:1.875vw;height:auto;transition:.3s}
  .hero__cta:hover .ico{transform:scale(1.1)}
  .hero__cta .txt{font-size:1.11111vw;line-height:1.78;letter-spacing:1.6px;padding:0 0 .13889vw 2.77778vw}
  .hero__scroll{position:absolute;left:50%;bottom:15px;margin-left:-25px;width:50px;opacity:0;transition:.8s var(--ease-blk)}
  .site.is-in2 .hero__scroll{opacity:1}
  .hero__scroll::after{content:"";position:absolute;width:1px;height:15px;transform:rotate(45deg);transform-origin:bottom left;left:50%;bottom:0;background:#fff}
  .hero__scroll-txt{display:block;color:#fff;font-size:11px;letter-spacing:.18em;text-align:center}
  .hero__scroll-bar{position:relative;display:block;width:100%;height:35px;overflow:hidden}
  .hero__scroll-bar::before{content:"";position:absolute;width:1px;height:40px;top:0;left:50%;background:#fff;animation:scrollbar 2s ease-in-out infinite}
  .hero__scroll-bar::after {content:"";position:absolute;width:1px;height:40px;top:0;left:50%;background:#fff;opacity:.5}
}
@media all and (max-width:768px){
  .hero__inner{overflow:hidden;min-height:152vw}
  .hero__photo img{transform:scale(1.2);animation:zoomOutSp 2s ease-out forwards}
  .hero__tit {position:absolute;top:6.66667vw; left:6.4vw;width:79.2vw}
  .hero__copy{position:absolute;top:33.97333vw;left:6.8vw;width:65.6vw}
  /* SP：正円。ヒーロー下端を 12.8vw 突き抜けて次セクションに重なる */
  .hero__cta{
    top:133.6vw;right:5.33333vw;width:31.2vw;height:31.2vw;
    border-radius:50%;flex-direction:column;gap:1.6vw;
  }
  .hero__cta .ico{width:8vw;height:auto}
  .hero__cta .txt{font-size:3.73333vw;line-height:1.78;letter-spacing:.7px;padding:0 0 .53333vw}
}

/* =========================================================================
   [3] INTRO
   ========================================================================= */
.intro{position:relative}
.intro__inner{position:relative}
.intro__tit{display:flex;flex-direction:column;align-items:flex-start;letter-spacing:.1em;line-height:1.75}
.intro__tit .txt{background:var(--c-txt);color:#fff;font-weight:800}
.intro__txt{letter-spacing:.1em;font-weight:500}
.intro__photo{display:block;position:absolute}
.intro__photo img{width:100%;height:auto;display:block}

@media screen and (min-width:769px){
  .intro{padding:0;min-height:60.55556vw}
  .intro__tit{position:absolute;left:8.33333vw;top:15.41667vw;gap:1.04167vw}
  .intro__tit .txt{padding:0 0 .06944vw .69444vw;font-size:1.80556vw;line-height:1.3;letter-spacing:2.6px}
  .intro__txt{position:absolute;left:8.33333vw;top:24.65278vw;font-size:1.25vw;letter-spacing:1.26px;line-height:2.3}
  /* 写真3枚：サイズ・高さ・重なりをすべて不揃いにする */
  .intro__photo.pic01{left:75.13889vw;top: 6.25vw;   width:19.23611vw}
  .intro__photo.pic02{left:47.56944vw;top:13.95833vw;width:22.43056vw}
  .intro__photo.pic03{left:67.08333vw;top:35.34722vw;width:24.58333vw;z-index:2}
}
@media all and (max-width:768px){
  /* 左右パディングが 6.66667 / 6.13333 と非対称なのは仕様 */
  .intro{padding:14.66667vw 6.66667vw 14.66667vw 6.13333vw;min-height:264.53333vw}
  .intro__tit{gap:2.66667vw}
  .intro__tit .txt{padding:0 0 .26667vw 2.66667vw;font-size:5.33333vw;line-height:1.4;letter-spacing:2px}
  .intro__txt{margin:5.06667vw 0 0;font-size:4vw;line-height:2.26;letter-spacing:1.05px}
  .intro__photo.pic01{left:45.33333vw;top:116.26667vw;width:54.66667vw}
  .intro__photo.pic02{left:0;         top:140vw;      width:37.6vw;z-index:2}
  .intro__photo.pic03{left:25.06667vw;top:183.2vw;    width:68.26667vw}
}

/* =========================================================================
   [4] FEATURE
   ========================================================================= */
.feat{position:relative}
.feat__inner{position:relative;width:100%}
.feat__photo{position:absolute;top:0;left:0;display:block;width:100%}
.feat__photo img{width:100%;height:auto;display:block}
.feat__tit img{width:100%;height:auto;display:block}
.feat__label{display:block;position:absolute;margin:0}
.feat__label img{width:100%;height:auto;display:block}
.feat__line{display:block;position:absolute}
.feat__line svg{width:100%;height:auto;display:block;overflow:visible}

@media screen and (min-width:769px){
  .feat{min-height:52.63889vw}
  /* 見出しはセクション上端より上へはみ出して前セクションに重なる */
  .feat__tit{position:absolute;top:-2.15278vw;left:4.16667vw;width:29.09722vw;z-index:2}
  .feat__label.type1{left:21.52778vw;top: 7.56944vw;width:13.6vw}
  .feat__label.type2{left:21.52778vw;top:17.84722vw;width:16.37778vw}
  .feat__label.type3{left:21.52778vw;top:32.63889vw;width:16.30833vw}
  .feat__label.type4{left:63.88889vw;top: 5.41667vw;width:14.98889vw}
  .feat__label.type5{left:63.88889vw;top:18.81944vw;width:15vw}
  .feat__label.type6{left:63.88889vw;top:30.76389vw;width:18.11389vw}
  .feat__label.type7{left:63.88889vw;top:42.01389vw;width:14.36389vw}
  /* 右側4本の right 値がわずかに違うのは仕様。揃えない */
  .feat__line.type1{left:35.97222vw; top:11.66667vw;width:13.68056vw}
  .feat__line.type2{left:34.75694vw; top:16.73611vw;width:12.32639vw}
  .feat__line.type3{left:38.54167vw; top:38.47222vw;width: 4.51389vw}
  .feat__line.type4{right:33.41319vw;top: 9.375vw;  width:12.63889vw}
  .feat__line.type5{right:33.47222vw;top:22.98611vw;width:11.875vw}
  .feat__line.type6{right:33.47222vw;top:34.79167vw;width:13.68056vw}
  .feat__line.type7{right:33.45694vw;top:46.06389vw;width:14.28611vw}
}
@media all and (max-width:768px){
  .feat{min-height:144.53333vw}
  .feat__tit{position:absolute;top:-4.8vw;left:5.6vw;width:62.13333vw;z-index:2}
  /* 右列は基準が left → right に反転する */
  .feat__label.type1{left:4.26667vw; top: 21.06667vw;width:46.66667vw}
  .feat__label.type2{left:4.26667vw; top: 41.6vw;    width:41.2vw}
  .feat__label.type3{left:4.26667vw; top: 93.33333vw;width:37.33333vw}
  .feat__label.type4{right:4.26667vw;top: 17.06667vw;width:41.33333vw}
  .feat__label.type5{right:4.26667vw;top: 47.73333vw;width:33.86667vw}
  .feat__label.type6{right:4.26667vw;top: 82.66667vw;width:37.33333vw}
  .feat__label.type7{right:4.26667vw;top:112.8vw;    width:32.26667vw}
  .feat__line.type1{left:4.26667vw; top: 21.06667vw;width:47.46667vw}
  .feat__line.type2{left:4.26667vw; top: 41.6vw;    width:41.2vw}
  .feat__line.type3{left:4.26667vw; top: 93.33333vw;width:37.33333vw}
  .feat__line.type4{right:4.26667vw;top: 17.06667vw;width:41.33333vw}
  .feat__line.type5{right:4.26667vw;top: 47.73333vw;width:33.86667vw}
  .feat__line.type6{right:4.26667vw;top: 82.66667vw;width:37.33333vw}
  .feat__line.type7{right:4.26667vw;top:112.8vw;    width:45.33333vw}
}

/* =========================================================================
   [5][6][7] POINTS
   ========================================================================= */
.pt{position:relative}
.pt-cont{position:relative}
.pt__tit{position:relative;display:block}
.pt__tit::before{content:"";display:block;position:absolute;height:1px;width:100%;bottom:0;left:0;background:#000}
.pt__tit img{position:relative;display:block}
.pt__tit .txt{font-weight:700}
.pt-subtit{display:flex;flex-direction:column;align-items:flex-start;letter-spacing:.1em;line-height:1.75}
.pt-subtit .txt{background:var(--c-txt);color:#fff;font-weight:700}
.pt-txt{letter-spacing:.1em;font-weight:500}
.pt-green {background:var(--c-teal)}
.pt-green__tit{text-align:center;color:#fff;font-weight:700}
.pt-green2{background:var(--c-teal)}
.pt-green2__tit{text-align:center;color:#fff;font-weight:500}
.pt-green2__txt{color:#fff;font-weight:400}
.pt-scene__item{position:relative}
.pt-scene__ico{position:absolute;display:block}
.pt-scene__txt{color:#fff;font-weight:500}
.pt-badge{position:absolute;display:block;z-index:3}
.pt-card{position:relative}
.pt-card__vline{position:absolute;display:block}
.pt-card__vline svg{width:100%;height:auto;display:block}
.pt-card__tit{font-weight:700;letter-spacing:.9px}
.pt-card__txt{font-weight:500;letter-spacing:.75px}
.pt-notice{position:relative}
.pt-notice__photo{display:block}
.pt-notice__tit{font-weight:700}
.pt-notice__txt{font-weight:400;letter-spacing:.1px}
.pt-notice__txt .col{font-weight:700;color:var(--c-red)}

@media screen and (min-width:769px){
  .pt{padding:10.41667vw 0 3.47222vw}
  .pt__tit{margin:0 0 2.08333vw;padding:0 0 1.38889vw;z-index:2}
  .pt__tit img{top:0;left:4.16667vw;width:24.375vw}
  .pt__tit.type1 img{width:22.91667vw}
  /* ロゴと日本語コピーの間に約27vwの空白を空ける */
  .pt__tit .txt{position:absolute;display:block;top:2.77778vw;left:31.25vw;font-size:1.94444vw;letter-spacing:2.8px;line-height:1}
  .pt-cont.type3{min-height:99.30556vw}

  .pt-row{position:relative;margin:5.55556vw auto 0;display:flex;align-items:center;width:82.77778vw;gap:4.86111vw;z-index:1}
  .pt-row.type2{margin:5.55556vw 0 0 8.33333vw;width:91.66667vw;gap:1.73611vw}
  .pt-row.type3{margin:5.55556vw 0 0 0;      width:91.66667vw;gap:5.55556vw;align-items:flex-start}

  .pt-photobox{position:relative;width:50.625vw}
  .pt-photobox.type2  {order:2;width:59.02778vw}
  .pt-photobox.pctype3{order:0;width:59.02778vw}
  .pt-photobox img{width:100%;height:auto;display:block}

  /* flexの中央揃えから 3.95833vw 持ち上げる（意図的なズレ） */
  .pt-txtbox{position:relative;top:-3.95833vw}
  .pt-txtbox.type2{width:30.76389vw;padding:0}
  .pt-txtbox.type3{width:27.08333vw;padding:5.20833vw 0 0}

  .pt-subtit{margin:0 -1.38889vw 0 0;gap:.90278vw}
  .pt-subtit .txt{padding:0 .34722vw .06944vw .69444vw;line-height:1.4;font-size:1.66667vw;letter-spacing:1.8px}
  .pt-subtit.type2{margin:1.31944vw -1.38889vw 0 0}
  .pt-txt{display:block;margin:2.22222vw -2.08333vw 0 0;font-size:1.11111vw;width:28.47222vw;min-width:28.47222vw;letter-spacing:1.12px;line-height:1.87}

  .pt-badge{left:1.18056vw;top:1.31944vw;width:8.40278vw}
  .pt-badge.type2{width:13.88889vw;left:auto;top:auto;bottom:-6.94444vw;right:5.55556vw}
  .pt-badge.type3{width:16.66667vw;top:41.94444vw;left:4.86111vw}

  /* 右端を 1.389vw はみ出させ、上に 5.972vw 食い込ませる */
  .pt-green{position:relative;left:16.66667vw;top:-5.97222vw;width:84.72222vw;height:43.19444vw;padding:10.83333vw 0 1.80556vw}
  .pt-green__tit{font-size:1.94444vw;line-height:1.6;letter-spacing:2.8px}
  .pt-scene__track{display:flex;justify-content:center;gap:3.33333vw;width:66.66667vw;margin:0 auto}
  .pt-scene__item{margin:3.81944vw 0 0;width:20vw}
  .pt-scene__ico{width:6.31944vw;top:-.69444vw;left:-.69444vw}
  .pt-scene__txt{margin:1.04167vw auto 0;font-size:1.37236vw;line-height:2;letter-spacing:1.976px;text-align:center}

  .pt-green2{margin:2.43056vw 0 0;padding:2.43056vw 2.70833vw 2.70833vw;width:27.08333vw}
  .pt-green2__tit{font-size:1.25vw;margin:0 -1.38889vw;line-height:1.4;letter-spacing:1.68px}
  .pt-green2__tit .txt {font-size:1.66667vw}
  .pt-green2__tit .txt2{font-size:1.94444vw;display:block;letter-spacing:2.8px}
  .pt-green2__tit .txt2 sup{font-size:1.04167vw}
  .pt-green2__txt{margin:2.08333vw 0 0;font-size:.76389vw;line-height:1.6}

  .pt-cards{display:flex;justify-content:flex-start;margin:5.55556vw 0 0;gap:2.91667vw;width:83.33333vw;height:50.55556vw}
  .pt-cards.pctype1{margin:0}
  /* マイナスマージンで上のブロックに重ねる */
  .pt-cards.type2{position:relative;margin:-6.94444vw 0 0 10.69444vw;height:40.55556vw;z-index:2}
  /* セクション内に絶対配置で浮かせる */
  .pt-cards.pctype3{position:absolute;top:45.97222vw;right:8.19444vw;width:27.15278vw;height:auto;margin:0}

  .pt-card{width:40.20833vw}
  .pt-card.pctype2{width:35.83333vw}
  .pt-card__photo img{width:100%;height:auto;display:block}
  .pt-card__txtbox{position:relative;margin:1.59722vw 0 0;padding:0 0 0 4.65278vw}
  .pt-card__txtbox::before{content:"";position:absolute;height:90%;width:1px;background:#000;left:2.77778vw;top:.69444vw}
  .pt-card__txtbox.type2{padding:0 0 0 1.94444vw}
  .pt-card__txtbox.type2::before{left:0}
  .pt-card__txtbox.pctype2{position:absolute;right:-23.47222vw;top:16.25vw;padding:0 0 0 2.22222vw}
  .pt-card__txtbox.pctype3{position:absolute;margin:1.38889vw -6.25vw 0 0;top:-11.11111vw;padding:0 0 0 2.22222vw}
  .pt-card__txtbox.pctype3::before{left:0;height:85%}
  .pt-card__tit{font-size:1.66667vw;line-height:1.87;letter-spacing:2.4px}
  .pt-card__tit sup{font-size:.97222vw}
  .pt-card__txt{margin:.41667vw 0 0;font-size:1.11111vw;line-height:1.87;letter-spacing:1.12px}
  .pt-card__txt.pctype2{margin:.69444vw 0 0}
  .pt-card__vline{width:.97222vw}
  .pt-card__vline.type1{right:-2.22222vw;top:0;width:.875vw}
  .pt-card__vline.type2{left:-2.36111vw; top:0;width:.90278vw}

  .pt-notice{margin:14.86111vw auto 0;width:66.66667vw;display:flex;justify-content:flex-start;align-items:center}
  .pt-notice__photo{width:15.27778vw;min-width:15.27778vw}
  .pt-notice__txtbox{padding:.27778vw 0 0 2.08333vw}
  .pt-notice__tit{font-size:1.38889vw;letter-spacing:2px}
  .pt-notice__txt{margin:.83333vw -.69444vw 0 0;font-size:1.11111vw;font-weight:500;line-height:1.87;letter-spacing:1.12px}
}

@media all and (max-width:768px){
  .pt{padding:0 0 34.13333vw}
  .pt-cont{padding:22.93333vw 6.4vw 0}
  .pt-cont.type2,.pt-cont.type3{padding-top:25.33333vw}

  /* 見出し帯はパディングを打ち消して全幅に伸ばす（左右に 0.53333vw はみ出す） */
  .pt__tit{margin:0 -6.93333vw 8vw;padding:0 0 1.33333vw;z-index:2}
  .pt__tit img{top:0;left:6.93333vw;width:52vw}
  .pt__tit.type1{margin:0 -6.93333vw 4vw}
  .pt__tit.type1 img{width:48vw}
  .pt__tit .txt{position:relative;display:block;left:6.93333vw;font-size:4vw;letter-spacing:1.5px;line-height:2.8}

  .pt-row{position:relative}
  .pt-photobox{position:relative;margin:0 -6.4vw}
  .pt-photobox img{width:100%;height:auto;display:block}

  .pt-subtit{margin:10.4vw -5.33333vw 0 0;gap:1.6vw}
  .pt-subtit .txt{padding:0 1.33333vw .26667vw 2.66667vw;line-height:1.4;font-size:4.8vw;letter-spacing:1.8px}
  .pt-txt{margin:3.2vw -1.33333vw 0 0;font-size:4vw;letter-spacing:.75px;line-height:1.73}

  .pt-badge{width:18.66667vw;left:2.13333vw;top:2.13333vw}
  .pt-badge.type2{width:32.26667vw;left:2.66667vw;top:2.66667vw}
  .pt-badge.type3{width:32vw;left:65.33333vw;top:2.66667vw}

  .pt-green{margin:14.66667vw -6.93333vw 0;padding:9.33333vw 0 6.93333vw}
  .pt-green__tit{font-size:4.8vw;line-height:1.55;letter-spacing:1.8px}
  /* PCの3列 → SPは1.34枚見えの横スワイプ（縦積みにしない） */
  .pt-scene{position:relative;margin:3.2vw auto 0}
  .pt-scene__track{display:flex;gap:5.86667vw;overflow-x:auto;scroll-snap-type:x mandatory;
    padding:5.33333vw 12.66667vw 12vw;scroll-padding:0 12.66667vw;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .pt-scene__track::-webkit-scrollbar{display:none}
  .pt-scene__item{flex:0 0 74.66667vw;width:74.66667vw;scroll-snap-align:center}
  .pt-scene__ico{width:23.53333vw;top:-2.66667vw;left:-2.66667vw}
  .pt-scene__txt{margin:2.93333vw auto 0;font-size:4.26667vw;line-height:1.87;letter-spacing:1.12px;text-align:center}
  .pt-scene__pager{position:absolute;left:0;bottom:1.33333vw;width:100%;display:flex;justify-content:center;align-items:center;gap:1.86667vw}
  .pt-scene__pager span{display:block;width:11.46667vw;height:.8vw;border-radius:1.33333vw;background:#fff;opacity:.5}
  .pt-scene__pager span.is-act{height:1.33333vw;opacity:1}

  .pt-green2{margin:9.33333vw 0 16vw;padding:6.4vw 7.46667vw 6.93333vw}
  .pt-green2__tit{font-size:4.8vw;line-height:1.1;letter-spacing:1.25px}
  .pt-green2__tit .txt {font-size:4.8vw}
  .pt-green2__tit .txt2{font-size:6.66667vw;display:block;letter-spacing:1.25px}
  .pt-green2__tit .txt2 sup{font-size:4vw}
  .pt-green2__txt{margin:3.2vw 0 0;font-size:2.8vw;line-height:1.5;letter-spacing:-.525px}

  /* 補足カードは左右へ交互にズラす */
  .pt-card{margin:16vw auto 0;width:87.2vw}
  .pt-card.type1{margin:16vw 0 0 -6.93333vw}
  .pt-card.type1.last{margin:13.33333vw 0 0 -6.93333vw}
  .pt-card.type2{margin:12.53333vw 0 0 6.93333vw}
  .pt-card__photo img{width:100%;height:auto;display:block}
  .pt-card__txtbox{position:relative;margin:2.66667vw 0 0;padding:0 0 0 10.66667vw}
  .pt-card__txtbox::before{content:"";position:absolute;height:80%;width:1px;background:#000;left:5.33333vw;top:3.2vw}
  .pt-card__txtbox.min::before{height:12vw}
  .pt-card__txtbox.type2{padding:0 0 0 5.33333vw}
  .pt-card__txtbox.type2.min::before{left:0;top:2.93333vw;height:12vw}
  .pt-card__txtbox.pctype3::before{height:26.66667vw}
  .pt-card__tit{font-size:4.8vw;line-height:2.2}
  .pt-card__tit sup{font-size:2.93333vw}
  .pt-card__txt{margin:-.8vw 0 0;font-size:4vw;line-height:1.73}
  .pt-card__vline{width:2.29333vw}
  .pt-card__vline.type1{right:-5.33333vw;top:0}
  .pt-card__vline.type2{left:-5.33333vw; top:0}

  /* SPでも横並びのまま */
  .pt-notice{margin:9.6vw auto 0;display:flex;justify-content:flex-start}
  .pt-notice__photo{width:28.8vw;min-width:28.8vw}
  .pt-notice__txtbox{padding:5.06667vw 5.86667vw 0}
  .pt-notice__tit{font-size:3.73333vw;margin:0 -1.33333vw 0 0}
  .pt-notice__txt{margin:3.2vw -1.33333vw 0 0;font-size:3.2vw;line-height:1.65}
}

/* ---------- [8] マーキー帯A（文字・左流れ） ---------- */
.mqA{position:absolute;display:block;width:100%;overflow:hidden;bottom:0;left:0}
.mqA__track{display:flex;width:max-content;animation:mqLeft 40s linear infinite}
@media screen and (min-width:769px){ .mqA__track img{width:126.66667vw;margin:0 2.77778vw 0 0} }
@media all and (max-width:768px){
  .mqA__track{animation-duration:50s}
  .mqA__track img{width:245.6vw;margin:0 10.66667vw 0 0}
}

/* =========================================================================
   [9] LINE UP
   ========================================================================= */
.lu{position:relative;background:var(--c-teal)}
.lu__inner{position:relative;z-index:1}
.lu__tit img{width:100%;height:auto;display:block}
.lu-item{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;background:var(--c-tile)}
.lu-item__tit{position:absolute;line-height:1}
.lu-item__tit::before{content:"";position:absolute;display:block;height:1px;background:#3d3d3d}
.lu-item__stage{position:relative;display:flex;justify-content:center;align-items:flex-end}
.lu-item__photo{display:none}
.lu-item__photo.is-act{display:block}
.lu-item__col{display:flex;justify-content:center;align-items:flex-end}
.lu-item__col li{position:relative;top:0;cursor:pointer}
.lu-item__col li.col1{background:#3D3D3D}
.lu-item__col li.col2{background:#B8B2AD}
.lu-item__col li.col3{background:#C6DEBD}
.lu-item__col li.col4{background:#39C4DF}
.lu-item__col li.col5{background:#D9D9D9}
.lu-item__prev,.lu-item__next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:none;padding:0;color:#3D3D3D;cursor:pointer;z-index:2}

@media screen and (min-width:769px){
  .lu{padding:10.20833vw 0 12.5vw}
  .lu__inner{width:83.33333vw;margin:0 auto}
  .lu__tit{width:21.94444vw}
  /* 見出しと同じ行の右端。5px上げる */
  .lu__cta{position:absolute;top:-.34722vw;right:0;margin:0}
  .lu-items{margin:2.77778vw auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.66667vw}
  .lu-item{min-height:37.29167vw;padding:0 0 4.375vw}
  .lu-item__tit{top:1.38889vw;left:1.38889vw;width:5.76389vw}
  .lu-item__tit img{width:auto;height:.90278vw}
  /* 下線はラベルより左に飛び出してカード端に触れる */
  .lu-item__tit::before{left:-1.38889vw;bottom:-.69444vw;width:5.76389vw}
  .lu-item__tit.type2::before{width:6.38889vw}
  .lu-item__stage{width:19.58333vw}
  .lu-item__photo{position:relative;left:.34722vw;width:7.91667vw;transform:scale(1);transition:transform .3s}
  .lu-item__photo.type3,.lu-item__photo.type4{width:8.75vw}
  .lu-item:hover .lu-item__photo{transform:scale(1.05)}
  .lu-item__col{margin:1.80556vw auto 0;gap:.41667vw;height:.20833vw}
  .lu-item__col li{border-radius:.41667vw;width:2.70833vw;height:.20833vw}
  .lu-item__col li.is-act{top:-.03472vw;height:.48611vw}
}
@media all and (max-width:768px){
  .lu{padding:18.66667vw 4.26667vw 13.6vw}
  .lu__tit{margin:0 auto;width:52.8vw}
  .lu__cta{position:static;margin:10.66667vw auto 0}
  .lu-items{margin:8vw auto 0;width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:2.4vw}
  .lu-item{width:44.53333vw;min-height:80vw;padding:0 0 8vw}
  .lu-item.type1,.lu-item.type2{padding:0 0 9.6vw}
  .lu-item__tit{top:4.26667vw;left:3.2vw;width:16.53333vw}
  .lu-item__tit img{width:auto;height:2.66667vw}
  .lu-item__tit::before{left:-3.2vw;bottom:-1.06667vw;width:16vw}
  .lu-item__tit.type2::before{width:18.13333vw}
  .lu-item__stage{width:44.53333vw}
  .lu-item__photo{position:relative;left:.8vw;width:16.53333vw}
  .lu-item__photo.type3,.lu-item__photo.type4{width:18.13333vw}
  .lu-item__col{margin:3.2vw auto 0;gap:1.06667vw;height:2.4vw}
  .lu-item__col li{border-radius:1.6vw;width:6.93333vw;height:1.6vw}
  .lu-item__col li.is-act{top:.26667vw;height:2.4vw}
  .lu-item__prev{left:2.66667vw}
  .lu-item__next{right:2.66667vw}
  .lu-item__prev svg,.lu-item__next svg{width:4.8vw;height:auto}
}

/* ---------- [10] マーキー帯B（写真・右流れ） ---------- */
.mqB{position:relative}
.mqB__slide{position:relative;display:block;width:100%;overflow:hidden}
.mqB__track{display:flex;width:max-content;animation:mqRight 30s linear infinite}
.mqB__unit{display:flex}
.mqB__unit img{width:25%;height:auto;display:block}
@media screen and (min-width:769px){
  .mqB{padding:5.55556vw 0 13.88889vw}
  .mqB__unit{width:114.86111vw;margin:0 1.25vw 0 0}
}
@media all and (max-width:768px){
  .mqB{padding:2.93333vw 0 16vw}
  .mqB__unit{width:213.33333vw;margin:0 2.4vw 0 0}
}

/* =========================================================================
   [11] SPEC
   ========================================================================= */
.sec-tit{position:relative;width:auto;padding:0}
.sec-tit::before{content:"";display:block;position:absolute;bottom:0;left:0;width:100%;height:1px;background:#000}
.sec-tit img{display:block}
.sp{position:relative}
.sp__inner{position:relative}
.sp__tit2{display:flex;justify-content:center}
.sp__tit2 figure{position:relative;display:inline-block}
.sp__tit2 img{position:relative;display:block;width:auto}
.sp-list{display:grid}
.sp-list p{text-align:center;letter-spacing:.05em;line-height:1.5}
.sp table{width:100%;border-top:1px solid var(--c-line)}
.sp table th,.sp table td{padding:10px;text-align:center;font-weight:400;border-bottom:1px solid var(--c-line)}
.sp table th{letter-spacing:.1em}
.sp__txt{letter-spacing:0;line-height:1.45}

@media screen and (min-width:769px){
  .sec-tit{padding:0 0 1.38889vw}
  .sec-tit.spec img{position:relative;left:4.09722vw;width:15.13889vw}
  .sp{padding:0 0 6.25vw}
  .sp__inner{width:83.33333vw;margin:0 auto}
  /* ::before の 18.3% は表の見出し列幅と同じ。画像列と表を目で揃えるための仕掛け */
  .sp-boxs{margin:5.55556vw 0 0;display:flex;justify-content:space-between}
  .sp-boxs::before{content:"";display:block;width:18.3%}
  .sp-box{width:40.8%}
  .sp__tit2 figure{height:.90278vw}
  .sp__tit2 img{height:.90278vw}
  .sp-list{margin:1.52778vw auto 0;width:20.69444vw;grid-template-columns:repeat(3,1fr)}
  .sp-list.last{margin-top:2.77778vw}
  .sp-list.type2{width:29.86111vw;grid-template-columns:repeat(5,1fr)}
  .sp-list li{height:16.04167vw;display:flex;align-items:center;flex-direction:column;justify-content:flex-end}
  .sp-list figure{width:3.19444vw;margin:0 auto}
  .sp-list figure.type750 {width:3.19444vw}
  .sp-list figure.type1000{width:3.68056vw}
  .sp-list figure.type1200{width:3.47222vw}
  .sp-list.type2 figure{width:3.61111vw;margin:0 auto}
  .sp-list p{margin:.76389vw 0 0;font-size:.76389vw;line-height:1.36;letter-spacing:.77px}
  .sp table{margin:1.94444vw auto 0}
  .sp table th,.sp table td{height:3.88889vw;letter-spacing:1.4px;font-size:.97222vw}
  .sp table th{width:18.3%}
  .sp table td{width:40.8%}
  .sp table sup{font-size:.69444vw}
  .sp__txt{margin:1.11111vw 0 0;font-size:.76389vw;line-height:1.63}
}
@media all and (max-width:768px){
  .sec-tit{padding:0 0 5.33333vw}
  .sec-tit.spec img{position:relative;left:5.33333vw;width:36.53333vw}
  .sp{padding:10.66667vw 0 0}
  .sp__inner{padding:0 4vw}
  .sp-box{margin:13.33333vw 0 0}
  .sp-box.first{margin:16vw 0 0}
  .sp-box.type1000{margin:18.66667vw 0 0}
  .sp-box:nth-of-type(2){margin:18.66667vw 0 0}
  .sp__tit2 figure{height:3.46667vw}
  .sp__tit2 img{height:3.73333vw}
  .sp-list{margin:12.53333vw auto 0;width:72vw;grid-template-columns:repeat(3,1fr)}
  .sp-list.type750{margin-top:8vw}
  .sp-list.last,.sp-list.type2.last{margin-top:13.33333vw}
  .sp-list.type2{margin:14.13333vw auto 0;width:90.66667vw;grid-template-columns:repeat(5,1fr)}
  .sp-list figure{width:12vw;min-height:33.17333vw;margin:0 auto;display:flex;align-items:flex-end}
  .sp-list figure.type750 {width:11.73333vw;min-height:38.4vw}
  .sp-list figure.type1000{width:13.33333vw;min-height:39.06667vw}
  .sp-list figure.type1200{width:12.8vw;   min-height:42.93333vw}
  .sp-list.type2 figure{width:13.86667vw;margin:0 auto}
  .sp-list p{position:relative;margin:2.13333vw 0 0;font-size:3.2vw;line-height:1.3;letter-spacing:.84px}
  /* PCの3列比較表 → SPは商品ごとの2列表に分解 */
  .sp table{margin:6.66667vw 0 0}
  .sp table th,.sp table td{padding:2.26667vw 0;font-size:3.46667vw;height:16.26667vw;letter-spacing:0}
  .sp table th{width:40%}
  .sp table td{width:60%}
  .sp table sup{font-size:2.66667vw}
  .sp__txt{margin:4.26667vw 0 0;font-size:2.8vw;line-height:1.52;letter-spacing:-.525px}
}

/* =========================================================================
   ボタン（3種類）
   ========================================================================= */
.btn-buy,.btn-teal,.btn-modal{display:flex;justify-content:center;align-items:center;text-align:center}
.btn-buy  {background:var(--c-yellow);color:#000}
.btn-teal {background:var(--c-teal);color:#fff}
.btn-modal{position:relative;background:var(--c-teal);color:#fff}
.btn-buy .txt{color:var(--c-txt);font-weight:500}
.btn-teal .txt,.btn-modal .txt{color:#fff;font-weight:500}
.btn-modal .plus{position:absolute;top:50%;transform:translateY(-50%)}

@media screen and (min-width:769px){
  .btn-buy{border-radius:4.16667vw;width:23.81944vw;min-height:4.16667vw;gap:1.38889vw}
  .btn-buy .ico{width:2.08333vw;height:auto;transition:.3s}
  .btn-buy:hover{background:var(--c-yellow-h)}
  .btn-buy:hover .ico{transform:scale(1.1)}
  .btn-buy .txt{font-size:1.11111vw;padding:0 .69444vw .13889vw 0;letter-spacing:1.6px;line-height:1}

  .btn-teal{margin:5.55556vw auto 0;border-radius:4.16667vw;width:19.58333vw;min-height:4.65278vw}
  .btn-teal .txt{font-size:1.11111vw;padding:0 1.04167vw .20833vw 0;letter-spacing:3.2px;line-height:1}
  .btn-teal svg{position:relative;left:.27778vw;width:1.52778vw;height:auto;transition:.3s}
  .btn-teal:hover{background:var(--c-teal-h)}
  .btn-teal:hover svg{transform:scale(1.15)}

  .btn-modal{margin:2.22222vw 0 0;border-radius:4.16667vw;width:19.58333vw;min-height:4.51389vw}
  .btn-modal .txt{font-size:1.11111vw;padding:0 2.36111vw .13889vw 0;letter-spacing:1.12px;line-height:1}
  .btn-modal .plus{right:2.43056vw;width:1.31944vw;height:1.31944vw}
  .btn-modal .plus svg{width:100%;height:100%}
  .btn-modal:hover{background:var(--c-teal-h)}
}
@media all and (max-width:768px){
  .btn-buy{margin:10.66667vw auto 0;width:76.26667vw;border-radius:16vw;min-height:15.46667vw;gap:1.6vw}
  .btn-buy .ico{width:8vw;height:auto}
  .btn-buy .txt{font-size:3.73333vw;padding:0 0 .26667vw;letter-spacing:1.4px;line-height:1}

  .btn-teal{margin:10.66667vw auto 0;width:72vw;border-radius:16vw;min-height:17.06667vw;gap:8vw}
  .btn-teal .txt{font-size:4.48vw;padding:0 0 .53333vw 2.66667vw;letter-spacing:3.36px;line-height:1}
  .btn-teal svg{position:relative;left:1.33333vw;width:6.33493vw;height:auto}

  .btn-modal{margin:10.66667vw auto 0;width:80.53333vw;border-radius:16vw;min-height:16.53333vw}
  .btn-modal .txt{font-size:4.8vw;padding:0 8vw .26667vw 0;letter-spacing:1.26px;line-height:1.8}
  .btn-modal .plus{right:8.53333vw;width:5.06667vw;height:5.06667vw}
  .btn-modal .plus svg{width:100%;height:100%}
}

/* =========================================================================
   [12] BANNERS / [13] SNS
   ========================================================================= */
.bnr-wrap,.sns-wrap{position:relative;overflow:hidden}
.sns{display:flex;justify-content:center}
.sns a{display:flex;align-items:center;justify-content:center;color:var(--c-txt)}
@media screen and (min-width:769px){
  .bnr{max-width:1100px;margin:60px auto 0;width:100%}
  .bnr ul{display:flex;justify-content:center;margin:0 -50px;position:relative}
  .bnr ul li{width:28%;margin:0 25px;position:relative}
  .sns{margin:0 auto;padding:85px 0 100px;width:210px;justify-content:space-between}
  .sns li{width:36px}
  .sns li svg{width:36px;height:auto}
  .sns li.tw{width:44px}
  .sns li.tw svg{width:42px;height:auto;position:relative;top:-3px}
  .sns li.fb svg{width:28px;height:auto}
}
@media all and (max-width:768px){
  .bnr{padding:5.33333vw 10.66667vw 0}
  .bnr li{margin:10.66667vw 0 0}
  .sns{padding:10.66667vw 6.66667vw;margin:0 auto;width:50%}
  .sns li{width:30%}
  .sns li svg{width:5.33333vw;height:auto;margin:0 auto}
  .sns li.tw svg{width:5.86667vw;position:relative;top:-.26667vw;left:.26667vw}
  .sns li.fb svg{width:4vw}
}

/* =========================================================================
   MODAL
   ========================================================================= */
.modal{display:none;position:fixed;inset:0;background:var(--c-teal);z-index:10001;overflow:auto}
.modal.is-open{display:block}
.modal__content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;text-align:center;z-index:10000}
.modal__close{position:absolute;border:0;background:none;padding:0;color:#fff;cursor:pointer}
.modal__tit{display:flex;justify-content:center}
.modal__txt{font-weight:700;display:block;text-align:center;letter-spacing:.1em;line-height:1.8;color:var(--c-txt)}
.modal__photo img{display:block;max-width:100%}
@media screen and (min-width:769px){
  .modal__content{max-width:958px;width:100%;margin:30px 0 0}
  .modal__inner{padding:30px 0 56px}
  .modal__close{top:-80px;right:-20px;width:80px;height:80px}
  .modal__close svg{width:80px;height:80px}
  .modal__tit img{display:block;width:72px}
  .modal__txt{margin:44px 0 0;padding:0 0 6px;font-size:28px;line-height:1.6;letter-spacing:2.8px}
  .modal__photo{max-width:786px;margin:62px auto 0}
}
@media all and (max-width:768px){
  .modal__content{width:74.66667vw;padding:5.6vw 4.8vw 14.66667vw}
  .modal__close{width:16vw;height:16vw;top:-16vw;right:-4vw}
  .modal__close svg{width:100%;height:100%}
  .modal__tit img{width:11.46667vw}
  .modal__txt{margin:5.33333vw -4.8vw 0;padding:0 0 .8vw;font-size:4.26667vw;line-height:1.5;letter-spacing:1.6px}
  .modal__photo{margin:2.66667vw 0 0}
}

/* =========================================================================
   [14] CATEGORY NAV / [15] FOOTER
   ========================================================================= */
.catnav{background:#417D8C}
.catnav ul{display:flex;justify-content:center}
.catnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;height:100%}
.catnav .ic svg{width:28px;height:28px;margin:0 auto}
.catnav span{font-size:12px;line-height:1.4;letter-spacing:.04em}
@media screen and (min-width:769px){
  .catnav{padding:20px 0}
  .catnav li{width:110px;height:110px}
  .catnav a{gap:10px}
}
@media all and (max-width:768px){
  .catnav{padding:4vw 0}
  .catnav ul{flex-wrap:wrap}
  .catnav li{width:25%;padding:3.2vw 0}
  .catnav a{gap:2vw}
  .catnav .ic svg{width:6.4vw;height:6.4vw}
  .catnav span{font-size:2.93333vw}
}

.ft{background:#F6F6F6}
.ft__top{background:#F6F6F6}
.ft__bottom{background:#DDD}
.ft__main{display:flex;flex-wrap:wrap}
.ft__sub{display:flex;flex-wrap:wrap}
.ft__sns ul{display:flex;flex-wrap:wrap}
.ft__sns svg{width:24px;height:24px;color:#3D3D3D}
.ft__links{display:flex;flex-wrap:wrap}
.ft a{font-size:12px;color:#3D3D3D}
.ft__copy{font-size:11px;color:#666}
@media screen and (min-width:769px){
  .ft__wrap {width:735px;margin:0 auto;padding:27px 0 19px}
  .ft__wrap2{width:950px;margin:0 auto;padding:18px 0 27px}
  .ft__main{gap:0 34px}
  .ft__sub {gap:0 26px;margin-top:18px}
  .ft__sns {margin-top:26px}
  .ft__sns-tit{font-size:12px;margin:0 0 12px}
  .ft__sns ul{gap:16px}
  .ft__sns-other{margin:16px 0 0}
  .ft__links{gap:8px 22px}
  .ft__copy{margin:14px 0 0}
}
@media all and (max-width:768px){
  .ft__wrap {padding:8vw 6.4vw}
  .ft__wrap2{padding:5.33333vw 6.4vw 8vw}
  .ft__main,.ft__sub,.ft__links{gap:3.2vw 5.33333vw}
  .ft__sub{margin-top:4.26667vw}
  .ft__sns{margin-top:6.4vw}
  .ft__sns-tit{font-size:3.2vw;margin:0 0 3.2vw}
  .ft__sns ul{gap:4.26667vw}
  .ft__sns-other{margin:4.26667vw 0 0}
  .ft__copy{margin:4.26667vw 0 0}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  .u-img,.u-img-right,.u-img-up,.u-img-down{clip-path:inset(0 0 0 0)}
  .u-block,.u-block2{opacity:1;transform:none}
}
