@charset "UTF-8";
/* ============================================================
   富士山 DREAM PROJECT 概要・作品紹介 LP
   カンプ：【PC】1920×11500 /【SP】750×17200（モリサワ TBUDゴシック Std）
   実装：アートボード方式。--dv-s でステージ全体を等倍スケールするため
         すべての数値はカンプ実寸の px のまま記述している。
   ============================================================ */

:root{
  --navy:#242e50;
  --green:#e7f0e4;
  --red:#d0402c;
  --olive:#c7c058;
  --ink:#0e0f0e;
  --font-jp:"Helvetica Neue",Helvetica,Arial,"BIZ UDGothic","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--green);
  color:var(--ink);
  font-family:var(--font-jp);
  -webkit-text-size-adjust:100%;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:none;border:0;}
a{text-decoration:none;color:inherit;}
h1,h2,p{margin:0;}

/* ---- ステージ（カンプと同じ座標系） ---- */
.dv-root{
  position:relative;
  overflow:hidden;
  width:100%;
  height:calc(var(--dv-h,11500) * 1px * var(--dv-s,1));
}
.dv-stage{
  position:absolute;
  top:0; left:0;
  width:1920px;
  height:11500px;
  transform:translateX(calc(var(--dv-x,0) * 1px)) scale(var(--dv-s,1));
  transform-origin:0 0;
  background:var(--green);
}
.dv-el{position:absolute;}

/* ---- ヘッダー ---- */
.dv-head{left:0;top:0;width:1920px;height:183px;z-index:100;background:#fff;}
.dv-head__logo{position:absolute;left:80px;top:40px;}
.dv-head__logo img{width:489px;height:121px;}
.dv-head__txt{
  position:absolute;left:618px;top:61px;
  font-size:24.5px;line-height:41px;letter-spacing:.01em;
}

/* ---- ヒーロー ---- */
.dv-hero__img{width:100%;height:100%;object-fit:cover;}
.dv-hero__h1{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;
}

/* ---- 赤CTAボタン ---- */
.dv-btn{
  display:flex;align-items:center;justify-content:center;
  background:url(../img/btn-red.webp) center/100% 100% no-repeat;
  color:#fff;font-size:32px;line-height:1;letter-spacing:.01em;
  text-align:center;
  transition:opacity .2s ease;
}
.dv-btn:hover{opacity:.85;}

/* ---- 濃紺カード（手でちぎった縁） ---- */
.dv-card{
  border:10px solid transparent;
  border-image:url(../img/card-navy.webp) 20 fill / 10px round;
  color:#fff;
  padding:82px 20px 0 90px;   /* 上端から見出しキャップ天 102px になる値 */
}
.dv-card__ttl{
  font-size:50px;line-height:55px;font-weight:400;letter-spacing:.03em;
}
.dv-card__sub{
  margin-top:5px;
  font-size:18px;line-height:27px;letter-spacing:.01em;
}
.dv-card__txt{
  margin-top:25px;
  font-size:23px;line-height:40px;letter-spacing:.01em;
}

/* ---- 写真・イラスト ---- */
.dv-pic,.dv-kid{width:100%;height:100%;object-fit:contain;}
.dv-pic--fill{object-fit:fill;}

/* ---- ※注記 ---- */
.dv-note-sake{color:var(--navy);font-size:18px;line-height:30px;}

/* ---- THEATER 動画 ---- */
.dv-theater{margin:0;background:#fff;}
/* プレーヤー枠：カンプの仮画像（1080×620の中に角丸の16:9プレーヤー）に合わせる */
.dv-theater__video,.dv-theater iframe{position:absolute;left:12px;top:13px;width:1061px;height:597px;border:0;border-radius:11px;display:block;background:#000;object-fit:cover;}
/* 再生前：プレーヤー全面が再生ボタン（中央に丸い再生マーク） */
.dv-theater__play{position:absolute;left:12px;top:13px;width:1061px;height:597px;margin:0;padding:0;border:0;border-radius:11px;background:rgba(0,0,0,.12);cursor:pointer;transition:background-color .2s;}
.dv-theater__play[hidden]{display:none;}
.dv-theater__play::before{content:"";position:absolute;left:50%;top:50%;width:132px;height:132px;margin:-66px 0 0 -66px;border-radius:50%;background:rgba(0,0,0,.55);box-shadow:0 0 0 4px rgba(255,255,255,.9);transition:background-color .2s,transform .2s;}
.dv-theater__play::after{content:"";position:absolute;left:50%;top:50%;margin:-28px 0 0 -16px;border-style:solid;border-width:28px 0 28px 48px;border-color:transparent transparent transparent #fff;}
.dv-theater__play:hover,.dv-theater__play:focus-visible{background:rgba(0,0,0,.04);}
.dv-theater__play:hover::before,.dv-theater__play:focus-visible::before{background:var(--red);transform:scale(1.06);}
.dv-theater__play:focus-visible{outline:4px solid #fff;outline-offset:-8px;}

/* ---- スポンサー ---- */
.dv-sponsor{background:var(--olive);text-align:center;}
.dv-sponsor__ttl{
  position:absolute;left:0;right:0;top:147px;
  font-size:64px;line-height:70px;font-weight:700;letter-spacing:.01em;
}
.dv-sponsor__txt{
  position:absolute;left:0;right:0;top:274px;
  font-size:25px;line-height:50px;letter-spacing:.01em;
}
.dv-sponsor-cta{
  display:block;
  background:url(../img/sponsor-cta.webp) center/100% 100% no-repeat;
  transition:opacity .2s ease;
}
.dv-sponsor-cta:hover{opacity:.88;}
.dv-sponsor-cta__label{
  position:absolute;left:0;right:0;top:50%;
  transform:translateY(-50%);
  margin-top:1px;
  font-size:64.5px;line-height:1;font-weight:700;letter-spacing:.01em;
  color:var(--ink);
}

/* ---- フッター ---- */
.dv-foot{background:#fff;text-align:center;}
.dv-foot__link{
  position:absolute;left:0;right:0;top:143px;
  font-size:20px;line-height:30px;
}
.dv-foot__link:hover{text-decoration:underline;}
.dv-foot__copy{
  position:absolute;left:0;right:0;top:193px;
  font-size:20px;line-height:30px;letter-spacing:.145em;text-indent:.145em;
}

/* ============================================================
   PC（カンプ 1920px）座標
   ============================================================ */
.dv-hero{display:block;left:0px;top:183px;width:1920px;height:1098px;z-index:1}
.dv-cta1{display:flex;left:609px;top:1328px;width:702px;height:119px;z-index:2}
.dv-kid01{display:block;left:441px;top:1380px;width:172px;height:240px;z-index:4}
.dv-magnet-main{display:block;left:797px;top:1625px;width:501px;height:501px;z-index:17}
.dv-kid02{display:block;left:1287px;top:1786px;width:222px;height:241px;z-index:6}
.dv-card-magnet{display:block;left:271px;top:1872px;width:600px;height:426px;z-index:5}
.dv-magnet-car{display:block;left:1226px;top:1980px;width:601px;height:334px;z-index:19}
.dv-magnet-case{display:block;left:722px;top:2135px;width:501px;height:417px;z-index:18}
.dv-kid03{display:block;left:308px;top:2194px;width:283px;height:241px;z-index:7}
.dv-magnet-s1{display:block;left:211px;top:2651px;width:352px;height:236px;z-index:20}
.dv-magnet-s2{display:block;left:593px;top:2651px;width:352px;height:236px;z-index:21}
.dv-magnet-s3{display:block;left:975px;top:2651px;width:352px;height:236px;z-index:22}
.dv-magnet-s4{display:block;left:1356px;top:2651px;width:353px;height:236px;z-index:23}
.dv-sake-gift{display:block;left:832px;top:3233px;width:451px;height:601px;z-index:36}
.dv-card-sake{display:block;left:271px;top:3351px;width:600px;height:619px;z-index:11}
.dv-sake-sale{display:block;left:1267px;top:3369px;width:451px;height:601px;z-index:37}
.dv-note-sake{display:block;left:1455px;top:3990px;width:300px;height:30px;z-index:3}
.dv-shirt-top{display:block;left:708px;top:4115px;width:501px;height:501px;z-index:24}
.dv-card-shirt{display:block;left:271px;top:4320px;width:600px;height:467px;z-index:8}
.dv-shirt-right{display:block;left:1225px;top:4326px;width:451px;height:601px;z-index:26}
.dv-shirt-bottom{display:block;left:766px;top:4621px;width:501px;height:386px;z-index:25}
.dv-kid04{display:block;left:464px;top:4721px;width:208px;height:241px;z-index:10}
.dv-card-screen{display:block;left:271px;top:5290px;width:600px;height:514px;z-index:12}
.dv-screen-pic{display:block;left:676px;top:5158px;width:1137px;height:871px;z-index:28}
.dv-kid05{display:block;left:353px;top:5733px;width:168px;height:241px;z-index:13}
.dv-badge-group{display:block;left:929px;top:6148px;width:683px;height:361px;z-index:30}
.dv-kid06{display:block;left:594px;top:6189px;width:201px;height:241px;z-index:34}
.dv-card-badge{display:block;left:271px;top:6261px;width:600px;height:427px;z-index:14}
.dv-badge-r1{display:block;left:924px;top:6578px;width:343px;height:333px;z-index:31}
.dv-badge-r2{display:block;left:1282px;top:6581px;width:329px;height:339px;z-index:32}
.dv-card-sticker{display:block;left:271px;top:6989px;width:600px;height:427px;z-index:15}
.dv-sticker-group{display:block;left:922px;top:6997px;width:680px;height:590px;z-index:33}
.dv-kid07{display:block;left:666px;top:7321px;width:170px;height:241px;z-index:35}
.dv-card-calendar{display:block;left:271px;top:7718px;width:600px;height:467px;z-index:9}
.dv-calendar3{display:block;left:970px;top:7718px;width:596px;height:421px;z-index:38}
.dv-kid08{display:block;left:458px;top:8128px;width:189px;height:200px;z-index:41}
.dv-calendar8{display:block;left:970px;top:8158px;width:596px;height:421px;z-index:39}
.dv-kid09{display:block;left:657px;top:8205px;width:186px;height:241px;z-index:40}
.dv-card-theater{display:block;left:271px;top:8688px;width:600px;height:428px;z-index:16}
.dv-theater{display:block;left:420px;top:9216px;width:1080px;height:620px;z-index:3}
.dv-kid10{display:block;left:1270px;top:4155px;width:162px;height:301px;z-index:27}
.dv-kid11{display:block;left:1402px;top:5318px;width:209px;height:240px;z-index:29}
.dv-cta2{display:flex;left:583px;top:9984px;width:753px;height:119px;z-index:3}
.dv-sponsor{display:block;left:0px;top:10380px;width:1920px;height:810px;z-index:1}
.dv-sponsor-cta{display:block;left:609px;top:406px;width:718px;height:338px;z-index:4}
.dv-foot{display:block;left:0px;top:11190px;width:1920px;height:310px;z-index:1}

/* ============================================================
   SP（カンプ 750px）座標
   ============================================================ */
@media (max-width:899px){
  :root{--dv-h:17200;}
  .dv-stage{width:750px;height:17200px;}

  .dv-head{width:750px;height:118px;}
  .dv-card{padding-top:84px;}
  .dv-head__logo{left:30px;top:20px;}
  .dv-head__logo img{width:325px;height:80px;}
  .dv-head__txt{left:386px;top:32px;font-size:22px;line-height:41px;}

  .dv-sponsor__ttl{top:147px;}
  .dv-sponsor__txt{top:283px;}

  .dv-foot__link{top:99px;}
  .dv-foot__copy{top:150px;}
  .dv-hero{display:block;left:0px;top:118px;width:750px;height:1087px;z-index:1}
  .dv-cta1{display:flex;left:24px;top:1246px;width:703px;height:119px;z-index:2}
  .dv-kid01{display:block;left:25px;top:1385px;width:172px;height:240px;z-index:4}
  .dv-magnet-main{display:block;left:77px;top:2230px;width:501px;height:501px;z-index:6}
  .dv-kid02{display:block;left:133px;top:2593px;width:222px;height:241px;z-index:7}
  .dv-card-magnet{display:block;left:75px;top:1646px;width:600px;height:426px;z-index:3}
  .dv-magnet-car{display:block;left:73px;top:2785px;width:601px;height:334px;z-index:8}
  .dv-magnet-case{display:block;left:74px;top:3139px;width:501px;height:417px;z-index:9}
  .dv-kid03{display:block;left:113px;top:1968px;width:283px;height:241px;z-index:5}
  .dv-magnet-s1{display:block;left:9px;top:3594px;width:352px;height:236px;z-index:10}
  .dv-magnet-s2{display:block;left:391px;top:3594px;width:352px;height:236px;z-index:11}
  .dv-magnet-s3{display:block;left:8px;top:3871px;width:352px;height:236px;z-index:12}
  .dv-magnet-s4{display:block;left:390px;top:3871px;width:353px;height:236px;z-index:13}
  .dv-sake-gift{display:block;left:237px;top:4879px;width:451px;height:601px;z-index:30}
  .dv-card-sake{display:block;left:75px;top:4207px;width:600px;height:619px;z-index:29}
  .dv-sake-sale{display:block;left:59px;top:5441px;width:451px;height:601px;z-index:31}
  .dv-note-sake{display:block;left:82px;top:6019px;width:360px;height:30px;z-index:3}
  .dv-shirt-top{display:block;left:75px;top:6809px;width:501px;height:501px;z-index:16}
  .dv-card-shirt{display:block;left:75px;top:6142px;width:600px;height:467px;z-index:14}
  .dv-shirt-right{display:block;left:75px;top:7332px;width:451px;height:601px;z-index:17}
  .dv-shirt-bottom{display:block;left:175px;top:7948px;width:501px;height:386px;z-index:19}
  .dv-kid04{display:block;left:268px;top:6550px;width:208px;height:241px;z-index:15}
  .dv-card-screen{display:block;left:75px;top:8434px;width:600px;height:514px;z-index:20}
  .dv-screen-pic{display:block;left:25px;top:9137px;width:701px;height:1267px;z-index:22}
  .dv-kid05{display:block;left:158px;top:8878px;width:168px;height:241px;z-index:21}
  .dv-badge-group{display:block;left:34px;top:10996px;width:683px;height:361px;z-index:24}
  .dv-kid06{display:block;left:398px;top:10462px;width:201px;height:241px;z-index:28}
  .dv-card-badge{display:block;left:75px;top:10534px;width:600px;height:427px;z-index:27}
  .dv-badge-r1{display:block;left:29px;top:11396px;width:343px;height:333px;z-index:25}
  .dv-badge-r2{display:block;left:386px;top:11399px;width:329px;height:339px;z-index:26}
  .dv-card-sticker{display:block;left:75px;top:11921px;width:600px;height:427px;z-index:33}
  .dv-sticker-group{display:block;left:27px;top:12397px;width:680px;height:590px;z-index:32}
  .dv-kid07{display:block;left:470px;top:12253px;width:170px;height:241px;z-index:34}
  .dv-card-calendar{display:block;left:75px;top:13118px;width:600px;height:467px;z-index:38}
  .dv-calendar3{display:block;left:77px;top:13780px;width:596px;height:421px;z-index:36}
  .dv-kid08{display:block;left:262px;top:13527px;width:189px;height:200px;z-index:40}
  .dv-calendar8{display:block;left:77px;top:14220px;width:596px;height:421px;z-index:37}
  .dv-kid09{display:block;left:462px;top:13605px;width:186px;height:241px;z-index:39}
  .dv-card-theater{display:block;left:66px;top:14740px;width:600px;height:428px;z-index:35}
  .dv-theater{display:block;left:0px;top:15228px;width:750px;height:431px;z-index:3}
  .dv-theater__video,.dv-theater iframe,.dv-theater__play{left:8px;top:9px;width:737px;height:415px;border-radius:8px}
  .dv-kid10{display:block;left:119px;top:7162px;width:162px;height:301px;z-index:18}
  .dv-kid11{display:block;left:314px;top:9396px;width:209px;height:240px;z-index:23}
  .dv-cta2{display:flex;left:23px;top:15807px;width:703px;height:119px;z-index:41}
  .dv-sponsor{display:block;left:0px;top:16100px;width:750px;height:810px;z-index:1}
  .dv-sponsor-cta{display:block;left:17px;top:404px;width:720px;height:339px;z-index:4}
  .dv-foot{display:block;left:0px;top:16910px;width:750px;height:290px;z-index:1}
}
