/* index 専用のCSS。STUDIO 書き出しのインライン <style> から抽出。
   共通部分は base.css。読み込み順は base.css → このファイル で固定。
   もとの <style media="..."> は @media でラップしてある。順序も原本どおり。 */

/* :root のフォント変数（もとは base.css より前のインライン <style>）*/
:root { --s-font-44a3a023:'Noto Sans';--s-font-bb8e9a58:Lato;--s-font-b1ac8367:'Noto Sans JP';--s-font-1f838639:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;--s-font-53bd3d95:'M PLUS 1p'; }

.sd-1 { align-content:center; align-items:center; background:#080404; border-radius:0; flex-direction:column; flex-wrap:nowrap; height:100%; justify-content:flex-start; margin:0; opacity:1; padding:0px; width:100%; max-width:100%; }
/* カレント表示の下線を削除: [data-current] .symbol-1__sd-7 */
/* カレント表示の下線を削除: [data-current] .symbol-1__sd-10 */
/* カレント表示の下線を削除: [data-current] .symbol-1__sd-13 */
.sd-2 { align-content:center; align-items:center; background:#080404; flex:none; flex-direction:column; flex-wrap:nowrap; height:500px; justify-content:center; margin:-80px -10px 0px 0px; overflow-x:hidden; overflow-y:hidden; padding:0px; width:calc(100% + 10px); z-index:0; max-width:calc(100% + 10px); }
.sd-2.appear { opacity:0; transition-delay:200ms; transition-duration:400ms; }
.sd-2 > .image__bg-container::before { background-position:right bottom; background-repeat:no-repeat; background-size:cover; }
.sd-3 { color:#f5f5f5; flex:none; font-family:var(--s-font-bb8e9a58); font-size:36px; font-style:normal; font-weight:700; height:auto; letter-spacing:0.05em; line-height:2; margin:90px 0px 45px; padding:0px; text-align:left; width:750px; justify-content:flex-start; max-width:100%; }
.sd-3.appear { opacity:0; transition-delay:600ms; transition-duration:400ms; translate:-50px 0px; }
.sd-4 { background:rgba(255, 255, 255, 0.8); border-radius:8px; color:#000000; flex:none; font-family:var(--s-font-1f838639); font-size:18px; font-weight:500; height:auto; letter-spacing:0.05em; line-height:1.8; margin:0px 0px 25px; padding:20px 20px 19px; text-align:left; width:750px; justify-content:flex-start; max-width:100%; }
.sd-4.appear { opacity:0; transition-delay:1000ms; transition-duration:400ms; translate:-50px 0px; }
.sd-5 { background:#f5f5f5; border-radius:0; flex:none; height:auto; margin:0px; overflow-y:auto; padding:50px 0px; width:100%; max-width:100%; }
.sd-5.appear { opacity:0; transition-duration:200ms; }
.sd-6 { background:rgba(0,0,0,0.0); border-radius:0; height:100%; margin:0px 40px; opacity:1; overflow-x:visible; overflow-y:visible; padding:0px; width:1100px; max-width:calc(100% - 80px); }
.sd-6.appear { opacity:0; transition-delay:1400ms; transition-duration:600ms; translate:0px -50px; }
.sd-7 { align-content:center; align-items:center; flex-direction:column; flex-wrap:nowrap; justify-content:center; margin:0px; padding:16px; max-width:100%; }
.sd-8 { align-content:center; align-items:center; flex-direction:row; flex-wrap:nowrap; justify-content:center; padding:0px; }
.sd-9 { color:#029fc8; font-size:64px; padding:0px 5px 0px 0px; }
.sd-10 { color:#029fc8; flex:none; font-family:var(--s-font-b1ac8367); font-size:36px; font-weight:800; height:auto; letter-spacing:0.05em; line-height:1; margin:0px; padding:0px; text-align:center; width:auto; justify-content:center; max-width:100%; }
.sd-11 { border-radius:0; font-family:var(--s-font-b1ac8367); font-size:16px; font-weight:400; letter-spacing:0em; line-height:1; margin:0px 0px 50px; opacity:1; padding:0; text-align:center; width:600px; justify-content:center; max-width:100%; }
.sd-12 { align-content:center; align-items:center; background:#FFFFFF; border-radius:12px; flex-wrap:nowrap; justify-content:center; margin:0px 0px 30px; padding:16px; max-width:100%; }
.sd-13 { color:#333; font-family:var(--s-font-b1ac8367); font-size:20px; font-weight:700; height:auto; line-height:1; margin:0px 0px 15px; padding:0px; text-align:center; width:auto; justify-content:center; max-width:100%; }
.sd-14 { border-radius:0; font-family:var(--s-font-b1ac8367); font-size:16px; font-weight:400; letter-spacing:0em; line-height:1.6; margin:0px; opacity:1; padding:0; text-align:center; width:600px; justify-content:center; max-width:100%; }
.sd-15 { align-content:center; align-items:center; background:#FFFFFF; border-radius:12px; flex-wrap:nowrap; justify-content:center; padding:16px; }
.sd-16 { color:#333; font-family:var(--s-font-b1ac8367); font-size:20px; font-weight:700; height:auto; line-height:1; margin:0px 0px 15px; padding:0px; text-align:center; width:auto; justify-content:center; max-width:100%; }
.sd-17 { border-radius:0; font-family:var(--s-font-b1ac8367); font-size:16px; font-weight:400; letter-spacing:0em; line-height:1.6; margin:0px; opacity:1; padding:0; text-align:center; width:600px; justify-content:center; max-width:100%; }
.sd-18 { align-content:center; align-items:center; background:#FFFFFF; box-shadow:none; flex:none; flex-direction:column; flex-wrap:nowrap; height:auto; justify-content:flex-start; margin:0px 0px -1px; padding:50px 0px; width:100%; max-width:100%; }
.sd-19 { align-content:center; align-items:center; flex-direction:column; flex-wrap:nowrap; justify-content:center; padding:0px; }
.sd-19.appear { opacity:0; transition-delay:200ms; transition-duration:400ms; translate:0px -50px; }
.sd-20 { align-content:center; align-items:center; flex-direction:column; flex-wrap:nowrap; justify-content:center; margin:0px; padding:16px; max-width:100%; }
.sd-21 { align-content:center; align-items:center; flex-direction:row; flex-wrap:nowrap; justify-content:center; padding:0px; }
.sd-22 { color:#029fc8; font-size:64px; padding:0px 5px 0px 0px; }
.sd-23 { color:#029fc8; flex:none; font-family:var(--s-font-b1ac8367); font-size:36px; font-weight:800; height:auto; letter-spacing:0.05em; line-height:1; margin:0px; padding:0px; text-align:center; width:auto; justify-content:center; max-width:100%; }
.sd-24 { color:#333; font-family:var(--s-font-b1ac8367); font-size:16px; font-weight:400; height:auto; line-height:1; margin:0px 0px 40px; text-align:center; width:auto; justify-content:center; max-width:100%; }
.sd-25 { align-content:center; align-items:center; background:#FFFFFF; border-bottom:8px solid #EEEEEE; border-left:8px solid #EEEEEE; border-radius:16px; border-right:8px solid #EEEEEE; border-top:8px solid #EEEEEE; box-shadow:none; flex:none; flex-direction:row; flex-wrap:nowrap; height:auto; justify-content:center; margin:10px; padding:0px; width:960px; max-width:calc(100% - 20px); }
.sd-25:hover { opacity:0.7; }
.sd-26 { border-radius:16px; flex:none; height:300px; width:45%; max-width:45%; }
.sd-27 { align-content:flex-start; align-items:flex-start; background:rgba(0,0,0,0.0); flex:1; flex-direction:column; flex-wrap:nowrap; height:auto; justify-content:space-between; padding:35px; width:auto; max-width:100%; min-width:0; }
.sd-28 { align-content:flex-start; align-items:flex-start; flex:none; flex-direction:column; flex-wrap:nowrap; height:auto; justify-content:flex-start; margin:0px; width:auto; max-width:100%; }
.sd-29 { align-content:center; align-items:center; flex-direction:row; flex-wrap:nowrap; justify-content:center; margin:0px 0px 15px; padding:0px; max-width:100%; }
.sd-30 { color:#333; font-size:28px; margin:0px 5px 0px 0px; max-width:calc(100% - 5px); }
.sd-31 { color:#333; font-family:var(--s-font-b1ac8367); font-size:28px; font-weight:700; height:auto; line-height:1; margin:0px; text-align:left; width:auto; justify-content:flex-start; max-width:100%; }
.sd-32 { color:#666666; flex:none; font-family:var(--s-font-b1ac8367); font-size:16px; font-weight:400; height:73px; line-height:1.8; margin:0px 0px 20px; text-align:left; width:auto; justify-content:flex-start; max-width:100%; }
.sd-33 { align-content:center; align-items:center; background:#029fc8; border-radius:36px; box-shadow:0px 0px 0px 0px rgba(0,0,0,0.2); color:#333; flex:none; flex-direction:row; flex-wrap:nowrap; font-size:15px; justify-content:center; margin:7px 24px 0px 0px; opacity:1; padding:10px 20px 10px 40px; width:300px; max-width:calc(100% - 24px); }
.sd-25:hover .sd-33 { background:#029fc8; }
.sd-34 { border-radius:0; color:#FFFFFF; flex:none; font-family:var(--s-font-b1ac8367); font-size:16px; font-weight:700; height:auto; letter-spacing:0em; line-height:1; margin:0; opacity:1; padding:0px 0px 2px; text-align:center; width:auto; justify-content:center; max-width:100%; }
.sd-35 { color:#ffffff; font-size:18px; margin:0px 0px 0px 10px; max-width:calc(100% - 10px); }
.sd-25:hover .sd-35 { translate:5px 0px; }
.sd-36 { align-content:center; align-items:center; background:#FFFFFF; border-bottom:8px solid #EEEEEE; border-left:8px solid #EEEEEE; border-radius:16px; border-right:8px solid #EEEEEE; border-top:8px solid #EEEEEE; box-shadow:none; flex:none; flex-direction:row; flex-wrap:nowrap; height:auto; justify-content:center; margin:51px 10px 10px; padding:0px; width:960px; max-width:calc(100% - 20px); }
.sd-36:hover { opacity:0.7; }
.sd-37 { border-radius:16px; flex:none; height:300px; width:45%; max-width:45%; }
.sd-38 { align-content:flex-start; align-items:flex-start; background:rgba(0,0,0,0.0); flex:1; flex-direction:column; flex-wrap:nowrap; height:auto; justify-content:space-between; padding:35px; width:auto; max-width:100%; min-width:0; }
.sd-39 { align-content:flex-start; align-items:flex-start; flex:none; flex-direction:column; flex-wrap:nowrap; height:auto; justify-content:flex-start; margin:0px; width:100%; max-width:100%; }
.sd-40 { align-content:center; align-items:center; flex-direction:row; flex-wrap:nowrap; justify-content:center; margin:0px 0px 15px; padding:0px; max-width:100%; }
.sd-41 { color:#333; font-size:28px; margin:0px 5px 0px 0px; padding:0px; max-width:calc(100% - 5px); }
.sd-42 { color:#333; font-family:var(--s-font-b1ac8367); font-size:28px; font-weight:700; height:auto; line-height:1; margin:0px; text-align:left; width:auto; justify-content:flex-start; max-width:100%; }
.sd-43 { color:#666666; font-family:var(--s-font-b1ac8367); font-size:16px; font-weight:400; height:auto; line-height:1.8; margin:0px 0px 20px; text-align:left; width:auto; justify-content:flex-start; max-width:100%; min-width:0; }
.sd-44 { align-content:center; align-items:center; background:#029fc8; border-radius:36px; box-shadow:0px 0px 0px 0px rgba(0,0,0,0.2); color:#333; flex:none; flex-direction:row; flex-wrap:nowrap; font-size:15px; justify-content:center; margin:7px 24px 0px 0px; opacity:1; padding:10px 20px 10px 40px; width:300px; max-width:calc(100% - 24px); }
.sd-36:hover .sd-44 { background:#029fc8; }
.sd-45 { border-radius:0; color:#FFFFFF; flex:none; font-family:var(--s-font-b1ac8367); font-size:16px; font-weight:700; height:auto; letter-spacing:0em; line-height:1; margin:0; opacity:1; padding:0px 0px 2px; text-align:center; width:auto; justify-content:center; max-width:100%; }
.sd-46 { color:#ffffff; font-size:18px; margin:0px 0px 0px 10px; max-width:calc(100% - 10px); }
.sd-36:hover .sd-46 { translate:5px 0px; }
.sd-47 { align-content:center; align-items:center; flex-direction:column; flex-wrap:nowrap; justify-content:center; padding:0px; }
.sd-48 { background:#333333; border-radius:8px; box-shadow:0px 0px 0px 0px rgba(0,0,0,0.2); color:#333; flex:none; flex-direction:row; flex-wrap:nowrap; font-family:var(--s-font-bb8e9a58); font-size:15px; font-weight:400; justify-content:center; letter-spacing:0em; line-height:1.4; margin:50px 0px 0px; opacity:1; padding:15px; text-align:left; width:auto; max-width:100%; }
.sd-48:hover { background:#029fc8; }
.sd-49 { border-radius:0; color:#FFFFFF; font-family:var(--s-font-44a3a023); font-size:16px; font-weight:700; letter-spacing:0em; line-height:1; margin:0; opacity:1; padding:0px 0px 2px; text-align:center; justify-content:center; max-width:100%; }
.sd-50 { color:#ffffff; font-size:18px; margin:0px 0px 0px 5px; padding:0px 0px 2px; max-width:calc(100% - 5px); }
.sd-51 { color:#333; font-family:var(--s-font-44a3a023); font-size:14px; font-weight:400; height:auto; line-height:1.4; margin:15px 0px 0px; opacity:0; text-align:center; width:auto; justify-content:center; max-width:100%; }
/* カレント表示の下線を削除: [data-current] .symbol-2__sd-8 */
/* カレント表示の下線を削除: [data-current] .symbol-2__sd-11 */
/* カレント表示の下線を削除: [data-current] .symbol-2__sd-14 */

/* もと <style media="(max-width: 840px)"> */
@media (max-width: 840px) {
  .symbol-1 { bottom:auto; left:0px; right:0px; top:0px; }
  .symbol-1__sd-3 { color:#87977e; display:none; font-size:32px; }
  .modal-1__sd-1 { align-content:center; align-items:center; flex:none; flex-direction:column; flex-wrap:nowrap; height:auto; justify-content:flex-start; }
  .sd-2 { margin:-80px -10px 0px 0px; width:calc(100% + 10px); max-width:calc(100% + 10px); }
  .sd-3 { flex:none; font-size:28px; margin:90px 0px; width:80%; max-width:80%; }
  .sd-4 { flex:none; font-size:16px; padding:20px 20px 19px; width:80%; max-width:80%; }
  .sd-12 { flex:none; width:100%; max-width:100%; }
  .sd-14 { padding:16px; width:100%; max-width:100%; }
  .sd-15 { flex:none; width:100%; max-width:100%; }
  .sd-17 { background:#FFFFFF; padding:16px; width:100%; max-width:100%; }
  .sd-25 { align-content:center; align-items:center; flex:none; justify-content:space-between; margin:30px; width:calc(100% - 60px); max-width:calc(100% - 60px); }
  .sd-27 { flex:none; padding:25px 25px; width:55%; max-width:55%; }
  .sd-30 { font-size:24px; }
  .sd-31 { font-size:24px; line-height:1.2; }
  .sd-32 { flex:1; font-size:15px; height:auto; }
  .sd-33 { flex:none; margin:7px 0px 0px; width:100%; max-width:100%; }
  .sd-36 { align-content:center; align-items:center; flex:none; justify-content:space-between; margin:30px; width:calc(100% - 60px); max-width:calc(100% - 60px); }
  .sd-38 { flex:none; padding:25px 25px; width:55%; max-width:55%; }
  .sd-41 { font-size:24px; }
  .sd-42 { font-size:24px; line-height:1.2; }
  .sd-43 { flex:1; font-size:15px; height:auto; }
  .sd-44 { flex:none; margin:7px 0px 0px; width:100%; max-width:100%; }
  .symbol-2 { flex:none; height:auto; }
  .symbol-2__sd-1 { flex:none; height:auto; }
  .symbol-2__sd-19 { color:#f5f5f5; }
}

/* もと <style media="(max-width: 540px)"> */
@media (max-width: 540px) {
  .symbol-1 { bottom:auto; flex:none; height:56px; padding:0px 24px; top:0px; width:100%; max-width:100%; }
  .symbol-1__sd-3 { display:flex; }
  .symbol-1__sd-4 { display:none; }
  .sd-2 { align-content:flex-start; align-items:flex-start; flex:none; height:515px; justify-content:flex-start; margin:-80px -40px 0px 0px; width:calc(100% + 40px); max-width:calc(100% + 40px); }
  .sd-2 > .image__bg-container::before { background-size:cover; }
  .sd-3 { flex:none; font-size:20px; height:auto; letter-spacing:0.08em; margin:90px 0px 45px; padding:20px 20px 0px; width:auto; max-width:100%; }
  .sd-4 { background:rgba(255, 255, 255, 0.85); flex:none; font-size:14px; font-weight:500; line-height:1.6; margin:110px 20px 25px; padding:10px 20px; width:calc(90% - 40px); max-width:calc(90% - 40px); }
  .sd-6 { margin:0px 20px; max-width:calc(100% - 40px); height:100%; }
  .sd-9 { font-size:36px; }
  .sd-10 { flex:none; font-size:28px; height:auto; padding:0px; width:auto; max-width:100%; }
  .sd-11 { margin:0px 0px 30px; max-width:100%; }
  .sd-13 { margin:5px 0px; max-width:100%; }
  .sd-14 { padding:5px 15px; }
  .sd-16 { margin:5px 0px; max-width:100%; }
  .sd-17 { padding:5px 15px; }
  .sd-18 { padding:30px 0px 50px; }
  .sd-22 { font-size:36px; }
  .sd-23 { flex:none; font-size:28px; height:auto; padding:0px; width:auto; max-width:100%; }
  .sd-24 { flex:none; line-height:1.6; margin:0px 0px 20px; width:90%; max-width:90%; }
  .sd-25 { flex-direction:column-reverse; flex-wrap:nowrap; }
  .sd-26 { display:flex; flex:none; width:100%; max-width:100%; }
  .sd-27 { flex:none; padding:15px 18px 0px 16px; width:100%; max-width:100%; }
  .sd-28 { align-content:center; align-items:center; justify-content:center; }
  .sd-31 { font-size:20px; padding:0px; }
  .sd-32 { flex:none; font-size:14px; height:calc(100% - 15px); margin:0px 0px 15px; max-width:100%; }
  .sd-33 { display:flex; flex:none; margin:0px 0px 15px; width:100%; max-width:100%; }
  .sd-36 { align-content:center; align-items:center; background:#FFFFFF; flex-direction:column-reverse; flex-wrap:nowrap; justify-content:flex-start; }
  .sd-37 { display:flex; flex:none; width:100%; max-width:100%; }
  .sd-38 { background:#FFFFFF; border-radius:16px; flex:none; padding:15px 16px 0px; width:100%; max-width:100%; }
  .sd-39 { align-content:center; align-items:center; justify-content:flex-start; }
  .sd-42 { font-size:20px; }
  .sd-43 { font-size:14px; margin:0px 0px 15px; max-width:100%; }
  .sd-44 { display:flex; flex:none; margin:0px 0px 15px; width:100%; max-width:100%; }
  .sd-48 { margin:30px 0px 0px; max-width:100%; }
  .symbol-2 { flex:none; height:auto; }
  .symbol-2__sd-1 { flex:none; height:auto; padding:15px; width:100%; max-width:100%; }
  .symbol-2__sd-2 { align-content:flex-end; align-items:flex-end; justify-content:flex-start; margin:15px 0px 30px; max-width:100%; }
  .symbol-2__sd-3 { flex:none; margin:0px 8px 0px 0px; width:80px; max-width:calc(100% - 8px); }
  .symbol-2__sd-4 { font-size:14px; }
  .symbol-2__sd-5 { align-content:flex-start; align-items:flex-start; display:flex; flex-direction:column; flex-wrap:nowrap; justify-content:flex-start; }
  .symbol-2__sd-6 { align-content:center; align-items:center; flex:none; justify-content:flex-start; margin:0px 0px 15px; width:100%; max-width:100%; }
  .symbol-2__sd-7 { font-size:13px; }
  .symbol-2__sd-8 { display:none; }
  .symbol-2__sd-6:hover .symbol-2__sd-8 { width:100%; max-width:100%; }
  /* カレント表示の下線を削除: [data-current] .symbol-2__sd-8 */
  .symbol-2__sd-9 { align-content:center; align-items:center; flex:none; justify-content:flex-start; margin:0px 0px 15px; width:100%; max-width:100%; }
  .symbol-2__sd-10 { font-size:13px; }
  .symbol-2__sd-11 { display:none; }
  .symbol-2__sd-9:hover .symbol-2__sd-11 { width:100%; max-width:100%; }
  /* カレント表示の下線を削除: [data-current] .symbol-2__sd-11 */
  .symbol-2__sd-12 { align-content:center; align-items:center; flex:none; justify-content:flex-start; margin:0px; width:100%; max-width:100%; }
  .symbol-2__sd-13 { font-size:13px; }
  .symbol-2__sd-14 { display:none; }
  .symbol-2__sd-12:hover .symbol-2__sd-14 { width:100%; max-width:100%; }
  /* カレント表示の下線を削除: [data-current] .symbol-2__sd-14 */
  .symbol-2__sd-15 { align-content:center; align-items:center; justify-content:flex-start; margin:0px 0px 15px; max-width:100%; }
  .symbol-2__sd-16 { font-size:28px; margin:0px 15px 0px 0px; padding:0px; max-width:calc(100% - 15px); }
  .symbol-2__sd-17 { font-size:28px; padding:0px; }
  .symbol-2__sd-19 { color:#f5f5f5; }
}

/* もと style="--img-*" 属性。画像URLを渡すカスタムプロパティ */
.sd-2 {
  --img-origin:url(../img/s-2400x720_v-frms_webp_a0cf9be8-e341-4251-8b85-ce7e98640c63.webp);
  --img-small:url(../img/s-2400x720_v-frms_webp_a0cf9be8-e341-4251-8b85-ce7e98640c63_small.webp);
  --img-middle:url(../img/s-2400x720_v-frms_webp_a0cf9be8-e341-4251-8b85-ce7e98640c63_middle.webp);
  --img-regular:url(../img/s-2400x720_v-frms_webp_a0cf9be8-e341-4251-8b85-ce7e98640c63_regular.webp);
}
.sd-26 {
  --img-origin:url(../img/s-866x599_v-fs_webp_8acb4178-741e-4a1c-955a-f0438ae667f4.webp);
  --img-small:url(../img/s-866x599_v-fs_webp_8acb4178-741e-4a1c-955a-f0438ae667f4_small.webp);
  --img-middle:url(../img/s-866x599_v-fs_webp_8acb4178-741e-4a1c-955a-f0438ae667f4.webp);
  --img-regular:url(../img/s-866x599_v-fs_webp_8acb4178-741e-4a1c-955a-f0438ae667f4.webp);
}
.sd-37 {
  --img-origin:url(../img/s-866x605_v-fs_webp_dc4a2e58-f14a-4dd5-ba03-7cceb81cc49f.webp);
  --img-small:url(../img/s-866x605_v-fs_webp_dc4a2e58-f14a-4dd5-ba03-7cceb81cc49f_small.webp);
  --img-middle:url(../img/s-866x605_v-fs_webp_dc4a2e58-f14a-4dd5-ba03-7cceb81cc49f.webp);
  --img-regular:url(../img/s-866x605_v-fs_webp_dc4a2e58-f14a-4dd5-ba03-7cceb81cc49f.webp);
}
