@charset "UTF-8";
@-webkit-keyframes fadein {
    0% {
        opacity: 0;
        transform: translateY(calc(-100%))
    }
    to {
        opacity: 1;
        transform: translateY(calc(-100% - 8px))
    }
}

@keyframes fadein {
    0% {
        opacity: 0;
        transform: translateY(calc(-100%))
    }
    to {
        opacity: 1;
        transform: translateY(calc(-100% - 8px))
    }
}

:root {
    --color-white: #fff;
    --color-black: #2e2e2e;
    --color-primary-heavy: #7a8098;
    --color-primary-base: #d5dae4;
    --color-primary-light: #ecf1f4;
    --color-accent: #cf6363;
    --color-success: #21bf73;
    --color-gold: #b09772;
    --color-border: var(--color-primary-base);
    --color-modal-mask-background: rgba(0, 0, 0, 0.5);
    --color-slider-nav-background: rgba(255, 255, 255, 0.2);
    --color-status-label-font: var(--color-white);
    --color-status-label-background: var(--color-accent);
    --color-flashmessage-background: rgba(46, 46, 46, 0.8);
    --unchecked-star: "☆";
    --checked-star: "★";
    --color-unchecked-star: var(--color-primary-base);
    --color-checked-star: var(--color-primary-heavy);
    --palette-red: #cf6363;
    --palette-orange: #dfb190;
    --palette-yellow: #f2e4b3;
    --palette-green: #a9cda3;
    --palette-blue: #9daedb;
    --palette-purple: #cdb9e0;
    --palette-pink: #eed7e8;
    --palette-brown: #8b7070;
    --palette-beige: #d6c4ae;
    --palette-gray: #9a9a9a;
    --palette-black: #2e2e2e;
    --palette-white: #ffffff;
    --palette-rainbow: linear-gradient(135deg, rgba(223, 177, 144, 0.7) 1.79%, rgba(242, 228, 179, 0.7) 26.95%, rgba(157, 174, 219, 0.7) 48.69%, rgba(204, 185, 224, 0.7) 75%);
    --font-sans-serif: "YuGothic", "メイリオ", "Meiryo", "Helvetica", "Arial", sans-serif;
    --font-serif-EN: "Cormorant Garamond";
    --font-serif-JP: "Noto Serif JP";
    --font-serif: var(--font-serif-EN), var(--font-serif-JP), "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    --font-extend: "pnum" on, "lnum" on;
    --form-text-color: var(--color-black);
    --form-attention-color: var(--color-accent);
    --form-border-color: var(--color-primary-base);
    --form-placeholder-color: var(--color-primary-heavy);
    --form-disabled-color: var(--color-primary-heavy);
    --form-focus-color: #3b96fc;
    --efo-message-borderColor: var(--color-accent);
    --efo-message-textColor: var(--color-white);
    --efo-message-backgroundColor: var(--color-accent);
    --efo-progress-borderColor: var(--color-black);
    --efo-progress-textColor: var(--color-black);
    --efo-progress-accentColor: var(--color-success);
    --efo-progress-backgroundColor: #f2f2f2;
    --efo-error-form-borderColor: var(--color-accent);
    --efo-error-form-textColor: var(--color-accent);
    --efo-error-form-backgroundColor: #FAEFEF;
    --efo-success-form-borderColor: var(--color-success);
    --efo-success-form-textColor: var(--color-black);
    --efo-success-form-backgroundColor: #E8F8F1;
    --pagetop-bg-color: var(--color-black);
    --pagetop-arrow-color: var(--color-white);
    --swiper-pagination-color: var(--color-black);
    --ease-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
    --ease-linear: cubic-bezier(0, 0, 1, 1);
    --ease-in: cubic-bezier(0.42, 0, 1, 1);
    --ease-out: cubic-bezier(0, 0, 0.58, 1);
    --ease-in-out: cubic-bezier(0.42, 0, 0.58, 1);
    --ease-in-sine: cubic-bezier(0.47, 0, 0.745, 0.715);
    --ease-out-sine: cubic-bezier(0.39, 0.575, 0.565, 1);
    --ease-in-out-sine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
    --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
    --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
    --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
    --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
    --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
    --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
    --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
    --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
    --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
    --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
    --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
    --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
    --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
    --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
    --ease-in-back: cubic-bezier(0.6, -0.28, 0.735, 0.045);
    --ease-out-back: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --ease-in-out-back: cubic-bezier(0.68, -0.55, 0.265, 1.55)
}

.svg {
    display: inline-block;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    fill: var(--color-black)
}

.svg-icon-eye,
.svg-icon-eye-close {
    width: 24px;
    height: 24px
}

.lp-birthday::after {
    display: block;
    clear: both;
    content: ""
}

.js-efo-error {
    position: absolute;
    z-index: 10;
    padding: 4px 8px;
    border-radius: 3px;
    transition: .3s var(--ease-out-quad);
    transform: translateY(calc(-100% - 8px));
    -webkit-animation: fadein .3s var(--ease-out-cubic) forwards;
    animation: fadein .3s var(--ease-out-cubic) forwards
}

.js-efo-error::before {
    position: absolute;
    top: 100%;
    left: 16px;
    content: "";
    border: 6px solid transparent;
    border-top: 6px solid var(--efo-message-backgroundColor)
}

.js-efo-error p {
    font-size: 16px;
    line-height: 1.5;
    white-space: nowrap
}

.js-efo-progress {
    margin-top: 10px
}

.js-efo-progress span {
    padding: 0 2px;
    font-size: 24px;
    font-weight: 700
}

.p-form--horizontal {
    gap: 32px
}

.p-form--horizontal,
.p-form-item--center {
    display: flex;
    justify-content: center
}

.p-form-item+.p-form-item {
    margin-top: 16px
}

.p-lp,
.p-lp #regular_cycle_area table td,
.p-lp #regular_cycle_area table th,
.p-lp form,
.p-lp table td,
.p-lp table td #class_category,
.p-lp table th,
.p-lp table th #class_category,
.p-lp__payment table td {
    overflow: visible !important
}

.p-lp__already {
    padding: 32px 16px;
    background-color: #eef5fb
}

.p-lp__already-title {
    margin-bottom: 32px
}

.p-lp__already-section+.p-lp__already-section {
    margin-top: 24px
}

.p-lp__already-text {
    margin-top: 16px
}