*{box-sizing:border-box}
html,body{margin:0;background:#EEF3F8}
body{color:#13294B;font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}
.page{width:100%;max-width:640px;margin:0 auto;background:#fff}
.part{position:relative;margin:0}
.part img{display:block;width:100%;height:auto}
.hit{position:absolute;display:block;border-radius:999px}
.hit:focus-visible{outline:3px solid #11804F;outline-offset:2px}
.movie{padding:32px 6% 36px;background:#fff}
.movie h2{margin:0 0 16px;font-size:clamp(22px,6vw,30px);font-weight:300;letter-spacing:.04em;line-height:1.4;text-align:center;word-break:keep-all;overflow-wrap:anywhere}
.frame{position:relative;border-radius:12px;overflow:hidden;background:#1b232a;aspect-ratio:16/9}
.frame video{display:block;width:100%;height:100%}
.play{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.play span{position:absolute;right:10px;bottom:10px;width:56px;height:56px;border-radius:50%;background:#13294B;box-shadow:0 4px 18px rgba(0,0,0,.35)}
.play span::after{content:"";position:absolute;left:22px;top:16px;border-style:solid;border-width:12px 0 12px 19px;border-color:transparent transparent transparent #fff}
.play:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.note{margin:10px 0 0;font-size:16px;line-height:1.7;text-align:center}
[hidden]{display:none!important}

.faq{padding:40px 6% 36px;background:#fff}
.faq h2{margin:0 0 18px;font-size:clamp(24px,6.4vw,32px);font-weight:300;letter-spacing:.04em;line-height:1.4}
.qa .q{padding:16px 0;border-top:1px solid #DCE3EA}
.qa .q:last-child{border-bottom:1px solid #DCE3EA}
.qa h3{position:relative;margin:0 0 8px;padding-left:40px;font-size:17px;font-weight:600;line-height:1.7}
.qa h3::before,.qa p::before{position:absolute;left:0;top:1px;width:28px;height:28px;border-radius:50%;font-size:15px;font-weight:600;line-height:28px;text-align:center}
.qa h3::before{content:"Q";background:#13294B;color:#fff}
.qa p::before{content:"A";background:#E4F6ED;color:#11804F}
.qa p{position:relative;margin:0;padding-left:40px;font-size:16px;line-height:1.85}
.ft{padding:28px 6% 104px;background:#F3F6FA;font-size:16px;line-height:1.8}
.ft p{margin:0 0 14px}
.ft b{font-weight:600}
.ft a{color:#13294B}
.stick{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(92vw,500px);min-height:54px;padding:13px 16px;border-radius:999px;background:#13294B;color:#fff;font-size:18px;text-align:center;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.28);z-index:10}

.part picture{display:block}
.hit.pc{display:none}
@media (min-width:900px){
  .page{max-width:640px}
  .hit.pc{display:block}
  .hit.sp{display:none}
  .movie{padding:56px 6% 60px}
  .movie h2{font-size:34px;margin-bottom:24px}
  .frame{max-width:860px;margin:0 auto}
  .faq{padding:64px 6% 56px}
  .faq h2{font-size:38px;margin-bottom:28px}
  .qa{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}
  .qa .q:nth-last-child(2){border-bottom:1px solid #DCE3EA}
  .ft{display:flex;flex-wrap:wrap;gap:12px 64px;padding:40px 6% 56px}
  .ft p{margin:0}
  .stick{left:auto;right:24px;bottom:24px;transform:none;width:260px}
}

ruby rt{font-size:.5em;letter-spacing:.1em;font-weight:400}
.movie h2{line-height:1.7}

.contact{padding:44px 6% 48px;background:#FFF7DE;scroll-margin-top:12px}
.contact .cs{margin:0;color:#11804F;font-size:16px;line-height:1.7;text-align:center}
.contact h2{margin:2px 0 22px;font-size:clamp(26px,7vw,36px);font-weight:300;letter-spacing:.04em;line-height:1.4;text-align:center}
#f{display:grid;gap:16px;max-width:640px;margin:0 auto;padding:24px 20px;background:#fff;border-radius:14px;border:1px solid #DCE3EA;position:relative}
#f .row{display:grid;gap:6px;min-width:0}
#f label,#f .lbl{font-size:15px;font-weight:600}
.req{display:inline-block;margin-left:8px;padding:0 7px;border-radius:4px;background:#13294B;color:#fff;font-size:12px;font-weight:600;line-height:20px;vertical-align:1px}
#f input:not([type=checkbox]),#f select,#f textarea{width:100%;min-width:0;padding:12px 14px;border:1px solid #C9D6E3;border-radius:10px;background:#fff;color:#13294B;font:inherit;font-size:16px}
#f input:focus-visible,#f select:focus-visible,#f textarea:focus-visible,.chips label:focus-within{outline:3px solid #11804F;outline-offset:1px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
#f .chips label{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 14px;border:1px solid #C9D6E3;border-radius:999px;font-weight:400;cursor:pointer}
#f .agree{display:flex;align-items:flex-start;gap:9px;font-weight:400;font-size:15px;line-height:1.7}
#f .agree input{margin-top:6px;flex:none}
#f .agree a{color:#13294B}
.agree-note{display:block;margin-top:4px;font-size:13px;line-height:1.7;color:#4A5563}
.err{margin:0;color:#B42318;font-size:15px;line-height:1.7}
.okm{margin:0;color:#11804F;font-size:16px;line-height:1.7}
.send{min-height:58px;border:0;border-radius:999px;background:#13294B;color:#fff;font:inherit;font-size:18px;font-weight:600;cursor:pointer}
.send:disabled{opacity:.6;cursor:default}
.send:focus-visible{outline:3px solid #11804F;outline-offset:2px}
@media (min-width:900px){.contact{padding:64px 6% 72px}.contact h2{font-size:38px}#f{padding:32px 36px}}

.part .hit.sp{display:block}
.stick{background:#13294B}
.booth{padding:22px 6%;background:#FEC428;text-align:center;font-weight:800;font-size:18px;color:#13294B}

/* 見出しの書体：チラシと同じ、しっかりした太いゴシックに */
.faq h2,.contact h2{font-weight:800!important;letter-spacing:.02em!important;color:#13294B}
.contact .cs{font-weight:700;color:#11804F}
.qa h3{font-weight:700}
