:root{--navy:#08153f;--navy2:#111d52;--ink:#101946;--purple:#6251c7;--pink:#ff5b8e;--cyan:#20c8cf;--yellow:#f5e55d;--paper:#f8f8fb;--muted:#66708c}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;background:var(--navy);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.content-wrap{width:min(1100px,calc(100% - 48px));margin:0 auto}
.site-header{height:82px;padding:0 clamp(24px,5vw,78px);display:flex;align-items:center;justify-content:space-between;color:#fff;background:rgba(8,21,63,.94);border-bottom:1px solid rgba(255,255,255,.12);position:sticky;top:0;z-index:50;backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:13px;font-family:Georgia,"Times New Roman",serif;font-size:26px;font-weight:700;letter-spacing:.02em}.brand-mark{width:42px;height:42px;display:grid;place-items:center;position:relative;color:#fff;background:linear-gradient(135deg,var(--pink),#7554d6 56%,var(--cyan));clip-path:polygon(50% 0,100% 18%,92% 84%,50% 100%,8% 84%,0 18%)}.brand-mark:before{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.65);clip-path:inherit}.brand-mark i{position:relative;font-style:normal;font-size:23px}.brand-copy{line-height:.85}.brand small{display:block;margin-top:7px;font-family:sans-serif;font-size:8px;letter-spacing:.28em;color:#b9c7f1}
nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:700;color:#dbe3ff}nav a{padding:10px 0;position:relative}nav a:not(.top-link):after{content:"";position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--cyan);transform:scaleX(0);transition:.2s}nav a:hover:after,nav a:focus-visible:after{transform:scaleX(1)}.top-link{padding:11px 18px!important;border:1px solid rgba(255,255,255,.34);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.top-link span{color:var(--cyan)}.menu-button{display:none;width:42px;height:42px;padding:10px;border:1px solid rgba(255,255,255,.28);background:transparent}.menu-button span{display:block;height:1px;margin:5px 0;background:#fff;transition:.2s}
.hero{min-height:700px;padding:100px clamp(24px,8vw,140px);display:grid;grid-template-columns:1.08fr .92fr;align-items:center;overflow:hidden;position:relative;color:#fff;background:radial-gradient(circle at 76% 48%,rgba(89,75,202,.55),transparent 30%),radial-gradient(circle at 72% 43%,rgba(32,200,207,.16),transparent 43%),linear-gradient(135deg,#07133c,#111b52 60%,#221558)}.hero:before{content:"";position:absolute;width:180px;height:100%;left:52%;top:0;background:linear-gradient(180deg,rgba(32,200,207,.08),rgba(255,91,142,.07));transform:skewX(-20deg)}.hero-grid{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(113,201,237,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(113,201,237,.22) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(90deg,transparent,#000)}.orb{position:absolute;border-radius:50%}.orb-one{width:400px;height:400px;right:4%;top:14%;border:1px solid rgba(32,200,207,.2)}.orb-two{width:250px;height:250px;right:28%;bottom:-5%;background:rgba(255,91,142,.1)}
.hero-copy{position:relative;z-index:2;max-width:700px}.eyebrow,.card-kicker{margin:0 0 20px;color:var(--cyan);font-size:11px;font-weight:700;letter-spacing:.26em}.eyebrow{display:flex;align-items:center;gap:13px}.eyebrow:before{content:"";width:42px;height:2px;background:linear-gradient(90deg,var(--pink),var(--cyan))}h1{margin:0;font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(38px,3.65vw,55px);font-weight:600;line-height:1.45;text-shadow:0 10px 30px rgba(0,0,0,.24)}.title-small{display:block;margin-bottom:12px;color:#ffd3e1;font-family:sans-serif;font-size:.38em;font-weight:700;letter-spacing:.18em}.title-line{display:block;white-space:nowrap}.lead{margin:34px 0 30px;color:#d9e3ff;font-size:clamp(15px,1.5vw,18px);line-height:2}.hero-link{display:inline-flex;align-items:center;gap:18px;padding:14px 22px;background:linear-gradient(90deg,rgba(255,91,142,.19),rgba(32,200,207,.14));border:1px solid rgba(255,255,255,.28);font-size:12px;font-weight:700;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.hero-link span{color:var(--cyan);font-size:18px}
.hero-art{position:relative;height:500px;z-index:1}.moon{width:270px;height:270px;position:absolute;top:92px;left:50%;transform:translateX(-50%) rotate(-12deg);border-radius:50%;background:linear-gradient(145deg,#ff6a9c,#764ac5 44%,#1b2b75);box-shadow:0 0 85px rgba(93,83,216,.75),inset -25px -30px 50px rgba(8,21,63,.4)}.moon:before{content:"";position:absolute;width:220px;height:220px;top:-24px;right:-35px;border-radius:50%;background:linear-gradient(135deg,#101a4c,#17265d)}.moon span{position:absolute;width:40px;height:40px;left:45px;bottom:48px;border:7px solid rgba(255,255,255,.14);border-radius:50%}.rhythm-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(98,225,228,.35);border-radius:50%;transform:translate(-50%,-50%)}.ring-one{width:360px;height:360px}.ring-two{width:440px;height:440px;border-style:dashed;border-color:rgba(255,116,158,.3)}.ring-three{width:510px;height:510px;border-color:rgba(255,255,255,.1)}.star{color:var(--pink);font-size:28px}.hero-art .star{position:absolute}.star-one{left:7%;top:21%;font-size:42px}.star-two{right:8%;top:29%;color:var(--cyan)}.star-three{right:20%;bottom:9%;color:var(--yellow)}.music-note{position:absolute;left:9%;bottom:18%;color:var(--cyan);font-size:50px;transform:rotate(-12deg)}.diamond{position:absolute;width:12px;height:12px;background:var(--pink);transform:rotate(45deg)}.d-one{right:1%;top:16%}.d-two{left:28%;top:1%;width:7px;height:7px;background:var(--yellow)}
.intro{padding:125px 0;position:relative;background:linear-gradient(140deg,#fff,#f4f6ff 60%,#edfafa)}.intro:before{content:"";position:absolute;left:0;top:0;width:100%;height:8px;background:linear-gradient(90deg,var(--pink) 0 28%,var(--purple) 28% 67%,var(--cyan) 67%)}.section-label{display:flex;align-items:center;gap:14px;margin-bottom:46px;color:#435083;font-size:11px;font-weight:700;letter-spacing:.15em}.section-label:after{content:"";width:62px;height:1px;background:linear-gradient(90deg,currentColor,transparent)}.section-label span{width:42px;height:30px;display:grid;place-items:center;color:#fff;background:var(--ink);font-family:Georgia,serif;clip-path:polygon(9px 0,100% 0,calc(100% - 9px) 100%,0 100%)}.intro-content{margin-left:clamp(0px,8vw,110px);max-width:870px}.intro-main{margin:0;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(21px,2.2vw,29px);font-weight:600;line-height:2}.intro-main span{color:var(--purple);white-space:nowrap}.intro-message{margin:50px 0 34px;padding:22px 28px 22px 34px;position:relative;color:#4f5979;background:rgba(255,255,255,.75);border-left:3px solid var(--pink);box-shadow:14px 14px 0 rgba(32,200,207,.08)}.intro-message p{margin:0;line-height:2.1}.quote-mark{position:absolute;left:-7px;top:-35px;color:#ffb2c9;font-family:Georgia,serif;font-size:66px}.intro-note{margin:0;color:var(--muted);font-size:14px}
.allowed{padding:100px 0 120px;background:#edfafa}.allowed-card{min-height:250px;padding:54px 66px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:40px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(115deg,#16235f,#41328c);border:1px solid rgba(255,255,255,.25);clip-path:polygon(22px 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%,0 22px);box-shadow:18px 18px 0 rgba(32,200,207,.25)}.allowed-card:after{content:"";width:320px;height:320px;position:absolute;right:-70px;top:-100px;border:1px solid rgba(255,91,142,.4);border-radius:50%}.allowed-icon{width:94px;height:94px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),#8260d4);clip-path:polygon(50% 0,100% 20%,90% 85%,50% 100%,10% 85%,0 20%)}.allowed-icon span{font-family:Georgia,serif;font-size:46px;transform:rotate(-12deg)}.allowed-card .card-kicker{color:#72e9e4}.allowed-card h2{margin:0 0 14px;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(22px,2.4vw,32px)}.allowed-card p:last-child{margin:0;color:#dce5ff;line-height:1.8}.allowed-star{z-index:1;color:var(--yellow)}
.not-allowed{padding:110px 0 135px;background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:48px}.section-heading h2,.check-copy h2,.closing h2{margin:0;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(27px,3.2vw,42px);font-weight:600;line-height:1.55}.section-heading>p{margin:0 0 8px;color:var(--muted);font-size:13px;line-height:1.8}.rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rule-card{position:relative;padding:36px 38px 38px;background:#fff;border:1px solid #dfe3ef;border-top:5px solid var(--purple);clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));box-shadow:0 16px 45px rgba(17,29,82,.07)}.rule-card.mint{border-top-color:var(--cyan)}.rule-card.coral{border-top-color:var(--pink)}.rule-card.blue{border-top-color:#3b75d7}.rule-card.important{background:linear-gradient(135deg,#fff,#fff1f6)}.rule-number{position:absolute;right:28px;top:12px;color:rgba(16,25,70,.08);font-family:Georgia,serif;font-size:58px;font-weight:700}.rule-card h3{margin:0 0 28px;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:18px}.rule-card ul{list-style:none;padding:0;margin:0}.rule-card li{position:relative;padding:13px 0 13px 24px;color:#58617b;border-top:1px solid #e8eaf1;font-size:14px;line-height:1.75}.rule-card li:before{content:"◆";position:absolute;left:0;top:15px;color:var(--purple);font-size:9px}.rule-card.mint li:before{color:var(--cyan)}.rule-card.coral li:before{color:var(--pink)}.rule-card.blue li:before{color:#3b75d7}.rule-note{margin:16px 0 0;padding:14px 16px;color:#a13861;background:rgba(255,91,142,.09);border-left:2px solid var(--pink);font-size:12px;font-weight:700;line-height:1.7}
.check-section{padding:115px 0;color:#fff;background:radial-gradient(circle at 10% 85%,rgba(255,91,142,.2),transparent 28%),linear-gradient(135deg,#0b1948,#25206b);position:relative;overflow:hidden}.check-section:before{content:"";position:absolute;inset:0;opacity:.18;background-image:linear-gradient(30deg,transparent 48%,rgba(32,200,207,.28) 49%,transparent 50%),linear-gradient(150deg,transparent 48%,rgba(255,91,142,.22) 49%,transparent 50%);background-size:86px 86px}.check-shell{position:relative}.section-label.light{color:#d7e1ff}.section-label.light span{color:var(--navy);background:var(--cyan)}.check-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:85px;align-items:center}.check-copy .card-kicker{color:var(--pink)}.check-copy>p:nth-of-type(2){margin:24px 0;color:#c7d1ef;line-height:1.9}.check-decoration{margin-top:55px;display:flex;align-items:center;gap:20px}.check-circle{width:72px;height:72px;display:grid;place-items:center;color:var(--navy);background:var(--cyan);clip-path:polygon(50% 0,100% 20%,90% 85%,50% 100%,10% 85%,0 20%);font-size:31px;font-weight:900}.check-list{padding:0;margin:0;list-style:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);overflow:hidden}.check-list li{min-height:78px;display:grid;grid-template-columns:42px 1fr 28px;align-items:center;gap:18px;padding:14px 26px;border-bottom:1px solid rgba(255,255,255,.12)}.check-list li:last-child{border:0}.check-list span{color:#8fe7e6;font-family:Georgia,serif}.check-list p{margin:0;font-size:14px;line-height:1.65}.check-list i{width:26px;height:26px;display:grid;place-items:center;color:var(--navy);background:var(--pink);font-style:normal;font-weight:900;clip-path:polygon(50% 0,100% 22%,90% 86%,50% 100%,10% 86%,0 22%)}
.closing{padding:135px 24px 120px;text-align:center;color:#fff;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(98,81,199,.52),transparent 36%),var(--navy)}.closing:before,.closing:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(32,200,207,.2);border-radius:50%;top:50%;transform:translateY(-50%)}.closing:before{left:-270px}.closing:after{right:-270px;border-color:rgba(255,91,142,.22)}.closing>.star{display:block;margin-bottom:24px;color:var(--yellow)}.closing .card-kicker{color:var(--cyan)}.closing>p:not(.card-kicker){margin:26px 0 36px;color:#cdd7f4;line-height:2}.closing a{display:inline-flex;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--pink);font-size:12px;font-weight:700}
footer{color:#fff;background:#050d2b;border-top:1px solid rgba(255,255,255,.11)}.footer-main{min-height:130px;padding:28px clamp(24px,6vw,96px);display:flex;align-items:center;justify-content:space-between}.footer-top-link{padding:13px 18px;color:#d8e2ff;border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:700}.footer-top-link span{margin-left:14px;color:var(--cyan)}.footer-bottom{padding:20px clamp(24px,6vw,96px);display:flex;justify-content:space-between;gap:24px;color:#8795bd;background:#030820;font-size:10px}.footer-bottom p{margin:0}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:860px){.menu-button{display:block}nav{display:none;position:absolute;left:0;right:0;top:70px;padding:18px;background:#08153f;border-bottom:1px solid rgba(255,255,255,.15);flex-direction:column;align-items:stretch;gap:4px}nav.is-open{display:flex}nav a{padding:13px 10px!important}.site-header{height:70px}.hero{min-height:850px;grid-template-columns:1fr;padding-top:78px;text-align:center}.hero-copy{margin:auto}.eyebrow{justify-content:center}.hero-art{height:350px}.moon{width:190px;height:190px;top:75px}.moon:before{width:150px;height:150px}.ring-one{width:260px;height:260px}.ring-two{width:320px;height:320px}.ring-three{width:370px;height:370px}.intro-content{margin-left:0}.allowed-card{padding:42px;grid-template-columns:auto 1fr}.allowed-star{display:none}.section-heading{align-items:start;flex-direction:column}.rule-grid{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr;gap:48px}.check-decoration{display:none}}
@media(max-width:560px){.site-header{padding:0 18px}.brand{font-size:21px}.brand-mark{width:36px;height:36px}.hero{min-height:735px;padding:66px 20px 28px}h1{font-size:34px}.title-line{white-space:normal}.lead{font-size:14px}.hero-art{height:285px}.moon{width:150px;height:150px;top:64px}.moon:before{width:120px;height:120px;top:-14px;right:-18px}.ring-one{width:210px;height:210px}.ring-two{width:260px;height:260px}.ring-three{width:300px;height:300px}.content-wrap{width:min(100% - 36px,1100px)}.intro,.allowed,.not-allowed{padding:84px 0}.wide-break{display:none}.section-label{margin-bottom:32px}.intro-main{font-size:20px}.intro-message{padding:23px 20px}.intro-message p,.intro-note{font-size:13px}.allowed-card{padding:34px 25px;grid-template-columns:1fr}.allowed-icon{width:72px;height:72px}.section-heading h2,.check-copy h2,.closing h2{font-size:27px}.rule-card{padding:31px 24px}.rule-number{right:20px;font-size:44px}.rule-card li{font-size:13px}.check-section{padding:84px 0}.check-list li{grid-template-columns:32px 1fr 24px;gap:10px;padding:15px 16px}.check-list p{font-size:13px}.closing{padding:100px 20px 90px}.footer-main{padding:38px 20px;flex-direction:column;gap:28px}.footer-bottom{padding:20px;flex-direction:column;align-items:center;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
/* Topページと同じremサイズ基準 */
html {
    font-size: 2.6667vw;
  }
  
  /* ガイドライン本文の文字サイズは維持 */
  body {
    font-size: 16px;
  }
  
  @media screen and (min-width: 900px) {
    html {
      font-size: 0.6944vw;
    }
  }
  
  @media screen and (min-width: 1440px) {
    html {
      font-size: 10px;
    }
  }
/* =========================================================
   Risdomロゴ・ファーストビュー人物画像：ここから
   ========================================================= */

/* ヘッダーのロゴリンク */
.site-header > .brand {
    gap: 0;
    flex-shrink: 0;
  }
  
  /* ヘッダーのRisdomロゴ */
  .brand-logo {
    display: block;
    width: 118px;
    height: auto;
    max-height: 76px;
    object-fit: contain;
  }
  
  /* 人物と既存装飾を重ねるための基準 */
  .hero-art {
    isolation: isolate;
  }
  
  /* 円形装飾を人物より後ろに表示 */
  .hero-art .moon,
  .hero-art .rhythm-ring {
    z-index: 1;
  }
  
  /* 星・音符などを人物の手前に表示 */
  .hero-art .star,
  .hero-art .music-note,
  .hero-art .diamond {
    z-index: 4;
  }
  
  /* PCでの人物画像 */
  .hero-character {
    position: absolute;
    z-index: 3;
  
    /* 左右位置 */
    left: 50%;
  
    /* 上下位置 */
    bottom: -110px;
  
    /* PCでの人物サイズ */
    width: auto;
    height: clamp(560px, 49vw, 690px);
    max-width: none;
  
    transform: translateX(-50%);
    filter: drop-shadow(0 24px 34px rgba(4, 10, 42, 0.42));
  
    pointer-events: none;
    user-select: none;
  }
  
  /* タブレット */
  @media screen and (max-width: 860px) {
    .brand-logo {
      width: 104px;
      max-height: 64px;
    }
  
    .hero-character {
      left: 50%;
      bottom: -76px;
      height: 440px;
    }
  }
  
  /* スマートフォン */
  @media screen and (max-width: 560px) {
    .brand-logo {
      width: 92px;
      max-height: 58px;
    }
  
    .hero-character {
      left: 52%;
      bottom: -58px;
      height: 330px;
    }
  }
  
  /* =========================================================
     Risdomロゴ・ファーストビュー人物画像：ここまで
     ========================================================= */
/* =========================================================
   Topページと同じサイズ基準
   ========================================================= */

   html {
    font-size: 2.6667vw;
  }
  
  /* ガイドライン本文の標準サイズを維持 */
  body {
    font-size: 16px;
  }
  
  @media screen and (min-width: 900px) {
    html {
      font-size: 0.6944vw;
    }
  }
  
  @media screen and (min-width: 1440px) {
    html {
      font-size: 10px;
    }
  }
  
  
  /* =========================================================
     公式フッター：ここから
     ========================================================= */
  
  .footer {
    position: relative;
    z-index: 100;
    padding-top: 1.8rem;
    padding-bottom: 0;
    color: #fff;
    border-top: 0;
  
    background:
      url("../assets/img/footer_bg_002.png")
      repeat-x 0 0;
    background-size: 1.5rem 1.8rem;
  }
  
  @media screen and (min-width: 900px) {
    .footer {
      padding-bottom: 1.25rem;
  
      background:
        url("../assets/img/footer_bg_002.png") repeat-x 0 0,
        url("../assets/img/footer_bg_003.png") repeat-x 0 100%;
      background-size:
        1.5rem 1.8rem,
        1.5rem 1.25rem;
    }
  }
  
  .footer__inner {
    position: relative;
    overflow: hidden;
  }
  
  .footer__inner::before {
    content: "";
    position: absolute;
    z-index: 101;
    inset: 0;
  
    background:
      #373b5d
      url("../assets/img/footer_bg_001.png")
      repeat 0 0;
    background-size: 10.4rem 10.4rem;
  }
  
  @media screen and (min-width: 900px) {
    .footer__inner::before {
      background-size: 10.1rem 10.1rem;
    }
  }
  
  .footer__inner::after {
    content: "";
    position: absolute;
    z-index: 102;
    top: -1px;
    left: 0;
  
    width: 100%;
    height: 1px;
  
    box-shadow: 0 0 1.5rem 0.2rem #000;
  }
  
  .footer__container {
    position: relative;
    z-index: 102;
  
    padding: 18.8rem 1.2rem 4.4rem;
  
    background:
      url("../assets/img/footer_bg_003.png")
      repeat-x 0 100%;
    background-size: 1.5rem 1.25rem;
  }
  
  @media screen and (min-width: 900px) {
    .footer__container {
      width: 144rem;
      margin: 0 auto;
      padding: 5.8rem 14rem 1.7rem;
      background: none;
    }
  }
  
  
  /* X・LINE */
  
  .footer__sns {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  
  .footer__sns img,
  .footer__sns picture {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  
  .footer__sns__twitter {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 8rem;
  
    width: 11.2rem;
    height: 18.1rem;
  }
  
  .footer__sns__line {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0.2rem;
  
    width: 10.4rem;
    height: 18.1rem;
  }
  
  @media screen and (min-width: 900px) {
    .footer__sns__twitter {
      right: 24rem;
      width: 13.6rem;
      height: 26.3rem;
    }
  
    .footer__sns__line {
      right: 12rem;
      width: 13.6rem;
      height: 26.3rem;
    }
  }
  
  
  /* 注意書き・お問い合わせ */
  
  .footer__row {
    margin-bottom: 6.8rem;
  }
  
  @media screen and (min-width: 900px) {
    .footer__row {
      margin-right: 27.8rem;
      margin-bottom: 6.4rem;
    }
  }
  
  .footer__col {
    margin-bottom: 7.2rem;
  }
  
  @media screen and (min-width: 900px) {
    .footer__col {
      margin-bottom: 3.2rem;
    }
  }
  
  .footer__note {
    margin: 0 0 1.6rem;
  
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  
  .footer__title {
    margin: 0 0 2.8rem;
  
    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.5;
  }
  
  @media screen and (min-width: 900px) {
    .footer__title {
      margin-bottom: 2.4rem;
      font-size: 2.2rem;
    }
  }
  
  
  /* お問い合わせリンク */
  
  .footer__list {
    margin: 0;
    padding: 0;
  
    list-style: none;
    font-family: "Noto Sans JP", sans-serif;
  }
  
  .footer__list > li:first-child {
    margin-bottom: 2.4rem;
  }
  
  .footer__list > li + li {
    margin-top: 1.8rem;
  }
  
  @media screen and (min-width: 900px) {
    .footer__list > li:first-child {
      margin-bottom: 1.6rem;
    }
  
    .footer__list > li + li {
      margin-top: 1.6rem;
    }
  }
  
  .footer__list__link {
    display: block;
    position: relative;
  
    padding-left: 3.6rem;
  
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.5;
    text-decoration: none;
  }
  
  @media screen and (min-width: 900px) {
    .footer__list__link {
      display: inline-block;
      font-size: 1.8rem;
    }
  }
  
  .footer__list__link::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
  
    width: 2rem;
    height: 2.5rem;
  
    background:
      url("../assets/img/footer_ic_002.png")
      no-repeat 0 0;
    background-size: 100% 100%;
  
    transform: translateY(-50%);
  }
  
  .footer__list__link::after {
    content: "";
    display: inline-block;
    position: relative;
    top: -0.2rem;
  
    width: 1.6rem;
    height: 1.6rem;
    margin-left: 0.8rem;
  
    vertical-align: middle;
  
    background:
      url("../assets/img/footer_ic_003.png")
      no-repeat 0 0;
    background-size: 100% 100%;
  }
  
  
  /* Benesse・SEGA XD */
  
  .footer__logo {
    display: flex;
    align-items: center;
    justify-content: center;
  
    margin: 0 -1.2rem 3.2rem;
    padding: 2.4rem 4rem;
  
    list-style: none;
    background-color: #fff;
  }
  
  @media screen and (min-width: 900px) {
    .footer__logo {
      margin: 0 -50vw 1.6rem;
    }
  }
  
  .footer__logo > li {
    display: flex;
    align-items: center;
    height: 4.4rem;
  }
  
  .footer__logo img {
    display: block;
    width: 100%;
    height: auto;
  }
  
  .footer__logo__benesse {
    width: 17.2rem;
    height: 4.2rem;
  }
  
  .footer__logo__segaxd {
    position: relative;
  
    width: 9rem;
    height: 4.4rem;
    margin-left: 6.4rem;
  }
  
  @media screen and (min-width: 900px) {
    .footer__logo__segaxd {
      margin-left: 8rem;
    }
  }
  
  
  /* コピーライト */
  
  .footer__copyright {
    margin: 0;
  
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.2rem;
    line-height: 1.5;
    text-align: center;
  }
  
  @media screen and (min-width: 900px) {
    .footer__copyright {
      font-size: 1.4rem;
    }
  }
  
  /* =========================================================
     公式フッター：ここまで
     ========================================================= */
  
  
  /* =========================================================
     「今すぐプレイ！」：ここから
     ========================================================= */
  
  .application {
    position: fixed;
    z-index: 10000;
    right: 0;
    bottom: 0;
    left: 0;
  
    height: 15rem;
    padding-top: 2.4rem;
  
    background:
      url("../assets/img/application_bg_001.png")
      no-repeat 0 100%;
    background-size: 100% 100%;
  }
  
  .application img,
  .application source {
    display: block;
    width: 100%;
    height: auto;
  }
  
  .application__title {
    width: 20.4rem;
    height: 3.4rem;
    margin: 0 auto 1.8rem;
  }
  
  .application__links {
    display: flex;
    gap: 1rem;
    padding: 0 1.6rem;
  }
  
  .application__link {
    display: block;
  }
  
  @media screen and (min-width: 900px) {
    .application {
      right: 0;
      bottom: 2.4rem;
      left: auto;
  
      width: 24.4rem;
      height: 24.1rem;
      padding-top: 2rem;
      padding-left: 0.4rem;
  
      background-image:
        url("../assets/img/application_bg_001_pc.png");
    }
  
    .application__title {
      margin-bottom: 2.6rem;
    }
  
    .application__links {
      display: block;
  
      width: 19.6rem;
      margin: 0 auto;
      padding: 0;
    }
  
    .application__link {
      margin-top: 1.2rem;
    }
  }
  
  /* スマートフォンで固定ボタンとページ末尾が重ならないようにする */
  @media screen and (max-width: 899px) {
    body {
      padding-bottom: 15rem;
    }
  }
  
  /* =========================================================
     「今すぐプレイ！」：ここまで
     ========================================================= */

/* =========================================================
   二次創作ガイドライン本文：シンプル構成
   見出しと本文を区切り線で並べ、カード装飾は使用しない
   ========================================================= */

.guideline-content {
  position: relative;
  padding: 112px 0 128px;
  background: linear-gradient(145deg, #ffffff, #f5f6ff 62%, #eefbfb);
}

.guideline-content::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background: linear-gradient(
    90deg,
    var(--pink) 0 28%,
    var(--purple) 28% 67%,
    var(--cyan) 67%
  );
}

.guideline-document {
  width: min(960px, 100%);
  margin: 0 auto;
}

.guideline-document__header {
  padding-bottom: 56px;
}

.guideline-document__eyebrow {
  margin: 0 0 18px;
  color: var(--purple);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.24em;
}

.guideline-document__header h2 {
  margin: 0 0 24px;
  color: var(--ink);
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 600;
  line-height: 1.5;
}

.guideline-document__header > p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 2;
}

.guideline-section {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 52px;
  padding: 48px 0;
  border-top: 1px solid #dce1ee;
}

.guideline-section h2 {
  margin: 0;
  color: var(--ink);
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.65;
}

.guideline-section h2::before {
  content: "";
  display: block;
  width: 42px;
  height: 3px;
  margin-bottom: 16px;
  background: linear-gradient(90deg, var(--pink), var(--cyan));
}

.guideline-body {
  color: #505a78;
  font-size: 15px;
  line-height: 2;
}

.guideline-body p {
  margin: 0;
}

.guideline-body p + p {
  margin-top: 20px;
}

.guideline-body ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.guideline-body li {
  position: relative;
  padding: 10px 0 10px 24px;
  border-bottom: 1px solid #e6e9f2;
}

.guideline-body li:first-child {
  padding-top: 0;
}

.guideline-body li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.guideline-body li::before {
  content: "◆";
  position: absolute;
  top: 12px;
  left: 0;
  color: var(--purple);
  font-size: 9px;
}

.guideline-body li:first-child::before {
  top: 2px;
}

.guideline-top-link {
  display: table;
  margin: 48px 0 0 auto;
  padding-bottom: 9px;
  color: var(--ink);
  border-bottom: 1px solid var(--pink);
  font-size: 12px;
  font-weight: 700;
}

.guideline-top-link span {
  margin-left: 12px;
  color: var(--cyan);
}

@media screen and (max-width: 760px) {
  .guideline-content {
    padding: 80px 0 92px;
  }

  .guideline-document__header {
    padding-bottom: 38px;
  }

  .guideline-document__header h2 {
    font-size: 29px;
  }

  .guideline-section {
    display: block;
    padding: 38px 0;
  }

  .guideline-section h2 {
    margin-bottom: 24px;
    font-size: 20px;
  }

  .guideline-section h2::before {
    margin-bottom: 12px;
  }

  .guideline-body {
    font-size: 14px;
    line-height: 1.9;
  }
}
