/**
 * uaplus.css version 0.0.1
 */
*,*::after,*::before{box-sizing:border-box}:focus-visible{outline-offset:3px}:where(html){-webkit-text-size-adjust:none;text-size-adjust:none}:where(html){line-height:1.5}:where(html){scrollbar-gutter:stable}:where(h1){font-size:2em;margin-block:.67em}:where(abbr[title]){cursor:help;text-decoration-line:underline;text-decoration-style:dotted}@media (forced-colors:active){mark{color:HighlightText;background-color:Highlight}}:where(del,ins,s)::before,:where(del,ins,s)::after{clip-path:inset(100%);clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap;content:"test"}:where(s)::before{content:"stricken text start "}:where(s)::after{content:" stricken text end"}:where(del)::before{content:"deletion start "}:where(del)::after{content:" deletion end"}:where(ins)::before{content:"insertion start "}:where(ins)::after{content:" insertion end"}:where(audio,iframe,img,svg,video){max-block-size:100%;max-inline-size:100%}:where(fieldset){min-inline-size:0}:where(label):has(+:where(textarea,input,select)){display:block}:where(textarea:not([rows])){min-block-size:6em}:where(button,input,select,textarea){font-family:inherit;font-size:inherit}:where([type="search"]){-webkit-appearance:textfield}@supports (-webkit-touch-callout:none){:where([type="search"]){border:1px solid -apple-system-secondary-label;background-color:canvas}}:where([type="tel"],[type="url"],[type="email"],[type="number"]):not(:placeholder-shown){direction:ltr}:where(table){border-collapse:collapse;border:1px solid}:where(th,td){border:1px solid;padding:.25em .5em}:where(dialog)::backdrop{background:oklch(0% 0 0 / .3)}:where(dialog),:where(dialog)::backdrop{opacity:0;transition:opacity 300ms ease-out,display 300ms allow-discrete,overlay 300ms allow-discrete}:where(dialog[open]),:where(dialog[open])::backdrop{opacity:1}@starting-style{:where(dialog[open]),:where(dialog[open])::backdrop{opacity:0}}[hidden]:not([hidden="until-found"]){display:none!important}

body {
    color: #070707;
    font-family: Noto Sans JP, 游ゴシック体, YuGothic, Yu Gothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, ＭＳ Ｐゴシック, MS P Gothic, sans-serif;
    font-feature-settings: "palt";
    -moz-font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    font-size: 16px;
    font-weight: 400;
    height: 100%;
    letter-spacing: .045em;
    line-height: 1.5;
    text-align: left;
    margin: 0;
    -webkit-text-size-adjust: 100%;
    -webkit-overflow-scrolling: touch;
}
img {
    vertical-align: top;
}
.pc-image {
    display: none;
}
.pc-image img {
    display: none;
}
@media screen and (min-width: 580px) {
    .pc-image {
        display: block;
        position: fixed;
        width: 100%;
        height: 100%;
        background: url(../images/pc_bg.png) center top no-repeat;
        background-size: cover;
        z-index: -1;
    }
    .pc-image img {
        position: absolute;
        display: block;
        width: 110px;
        top: 38px;
        left: 35px;
    }
}
.wrappr {
    margin: 0 auto;
    max-width: 580px;
    position:relative;
}
.ct_box{
    background-color: #faf6db;
}
.ct_btn{
    display: block;
    width: 100%;
    margin: 0 auto;
}
.fix {
    display: block;
    position: fixed;
    bottom: 10px;
    left: 50%;
    margin: 0 auto;
    width: 100%;
    max-width: 580px;
    transform: translate(-50%);
    z-index: 1;
}
footer {
    margin-bottom: 28%;
}
.movie {
    position: relative;
}
.youtube {
    width: 85%;
    aspect-ratio: 16 / 9;
    position: absolute;
    bottom: 19%;
    left: 50%;
    transform: translate(-50%);
    box-shadow: 10px 10px 0px 0px rgba(0, 48, 100, 0.6);
}
.youtube iframe {
    width: 100%;
    height: 100%;
}

/* ハンバーガーメニューのスタイル */
#hamburger {
    position: fixed;
    top: 20px;
    right: 12px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 1000;
    display: block;
}
#hamburger img {
    width: 80%;
    height: 100%;
    object-fit: contain;
}
/* ハンバーガーメニューが開いている時のボタン画像変更 */
#hamburger.active {
    top: 15px;
}
#hamburger.active img {
    content: url('../images/navi/navi_close.png');
}
@media screen and (min-width: 580px) {
    #hamburger {
        position: fixed;
        top: 25px;
        right: calc(50% - 290px + 20px);
        transform: none;
    }
    #hamburger.active {
        top: 25px;
    }
    #hamburger img {
        width: 100%;
    }
}

/* ナビゲーションメニューのスタイル */
#nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    background-color: #75b2cd;
    z-index: 999;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
@media screen and (min-width: 580px) {
    #nav {
        max-width: 580px;
        margin: 0 auto;
        left: 50% !important;
        transform: translate(-50%);
    }
}
.nav_icon {
    width: 19%;
    position: absolute;
    top: 25px;
    left: 20px;
}
@media screen and (min-width: 580px) {
    .nav_icon {
        top: 38px;
        left: 29px;
    }
}
#nav.active {
    display: block;
    opacity: 1;
}
#nav_list {
    position: relative;
    top: 90px; /* ロゴの下から開始 */
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    width: 80%;
    padding-bottom: 120px; /* 下部が切れないよう余白 */
}
@media screen and (min-width: 580px) {
    #nav_list {
        top: 120px; /* PC幅では少し下げる */
    }
}
#nav_list ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#nav_list ul li {
    margin-bottom: 20px;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease;
}
#nav.active #nav_list ul li {
    opacity: 1;
    transform: translateY(0);
}
#nav_list ul li:nth-child(1) { transition-delay: 0.1s; }
#nav_list ul li:nth-child(2) { transition-delay: 0.2s; }
#nav_list ul li:nth-child(3) { transition-delay: 0.3s; }
#nav_list ul li:nth-child(4) { transition-delay: 0.4s; }
#nav_list ul li:nth-child(5) { transition-delay: 0.5s; }
#nav_list ul li:nth-child(6) { transition-delay: 0.6s; }
#nav_list ul li:nth-child(7) { transition-delay: 0.7s; }
#nav_list ul li:nth-child(8) { transition-delay: 0.8s; }
#nav_list ul li:nth-child(9) { transition-delay: 0.9s; }
#nav_list ul li a {
    display: block;
    text-decoration: none;
}
#nav_list ul li a img {
    width: 100%;
    height: auto;
}
.navi_btn {
    display: block;
    margin-top: 30px;
    text-decoration: none;
}
.navi_btn img {
    width: 100%;
    height: auto;
}
.menber_btn {
    display: block;
    line-height: 0;
    font-size: 0;
}

/* FAQアコーディオンのスタイル */
.faq_box {
    margin: 0;
    padding: 0;
}
.faq_box dt {
    transition: all 0.3s ease;
}
.faq_box dd {
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.5s ease;
    opacity: 0;
}
.faq_box dd.active {
    opacity: 1;
}
.faq_box dt img,
.faq_box dd img {
    width: 100%;
    height: auto;
    display: block;
}

/* スクロール制御のスタイル */
body.scroll-locked {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
}

/* ナビゲーション表示時の背景維持 */
#nav.active {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    -ms-overflow-style: none;
    scrollbar-width: none;
}