@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1+Code&family=M+PLUS+1p:wght@300;400;500&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

body,
html {
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.8;
    background-color: #ffffff;
    color: #333;
    margin: 0;
    padding: 0;
    font-family: "Noto Sans JP";
    font-weight: 400;
    font-size: 14px;
    scroll-behavior: smooth;
}

*,
*:before,
*:after {
    box-sizing: border-box;
}


div img {
    width: 100%;
}

.ws {
    white-space: nowrap;
}

#wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
}


header {
    background-color: #fff;
    padding: 15px 5px;
    width: 100%;
    position: fixed;
    z-index: 2000;
}




.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}

main {
    padding-top: 50px;
}

.logo {
    width: 120px;
    margin-right: 80px;
}

.logo img {
    min-width: 60px;
}

@media screen and (min-width: 870px) {
    .head-button {
        display: flex;
    }
}

.contact a,
.register a {
    width: 90px;
    height: 30px;
    color: #fff;
    border-radius: 8px;
    padding: 3px 10px;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    display: block;
    margin: 10px;
}

.contact a {
    background: #008ecc;
}

.contact a:hover,
.register a:hover {
    color: gold;
}

.register a {
    background: #ea4553;
}

@media screen and (max-width: 768px) {
    .head-button {
        display: flex;
        margin-right: 80px;
    }



    .contact a,
    .register a {
        width: 85px;
        margin: 7px;
    }
}

@media screen and (max-width: 400px) {
    .logo {
        margin-right: 20px;
    }
}


/*  intro part */

.intro {
    text-align: center;
    padding: 30px;
    background-color: #FFFAE5;
    width: 100%;
}

.intro-inner {
    display: flex;
    align-items: top;
    max-width: 1200px;
    margin: auto;
    justify-content: center;
    flex-wrap: wrap;
}

.intro-inner img {
    height: 300px;
    width: auto;
}

@media screen and (max-width: 768px) {
    .intro-inner img {
        height: 200px;
        width: auto;
    }
}

.intro h1 {
    background: linear-gradient(#e75621, #bf1021);
    background: -webkit-linear-gradient(270deg, #e75621, #bf1021);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 40px;
    margin-bottom: 15px;
    font-weight: bold;
    font-family: "source-han-serif-jp-subset", sans-serif;
    font-weight: 900;
    font-style: normal;
    padding: 0;
}

.intro h2 {
    font-size: 16px;
    margin-bottom: 20px;
    color: #4a4948;
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: bold;
    font-style: normal;
    padding: 0;
    line-height: 1.3em;
}

.intro h3 {
    color: #a48100;
    font-size: 36px;
    font-family: "source-han-serif-jp-subset", sans-serif;
    font-weight: 900;
    font-style: normal;
    margin: 25px 0 0 0;
}

.feature {
    font-size: 18px;
    background: #00afc4;
    color: #fff;
    display: inline-block;
    border-radius: 20px;
    padding: 0 30px;
    box-shadow: #00afc4 0 0 15px;
    margin: 0;
}

.slogan {
    font-size: 1.8vw;
    border-top: solid 3px #00afc4;
    border-bottom: solid 3px #00afc4;
    color: #00afc4;
    font-family: "source-han-serif-jp-subset", sans-serif;
    font-weight: 900;
    font-style: normal;
}

.intro .price,
.intro .yen {
    color: #ea5520;
    font-weight: bold;
    font-family: "franklin-gothic-urw", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.intro .price {
    font-size: 48px;
    margin-left: 5px;
}

@media screen and (max-width: 600px) {
    .intro {
        padding: 5px;
    }

    .woman {
        order: 1;
        width: 50%;
        text-align: center;
    }

    .intro .center {
        order: 3;
        width: 100%;
    }

    .man {
        order: 2;
        width: 50%;
        text-align: center;
    }

    .intro h1 {
        font-size: 8vw;
    }

    .feature {
        width: 90%;
        font-size: 4.7vw;
        padding: 5px 10px;
    }

    .intro h3 {
        font-size: 7.5vw;
    }

    .slogan {
        font-size: 6vw;
    }

    .explane {
        font-size: 4.1vw;
        font-weight: 600;
    }
}


.speechBubble {
    position: relative;
    display: inline-block;
    margin: 0 auto 20px auto;
    padding: 6px 60px;
    border: 3px solid #00afc3;
    border-radius: 40px;
    background-color: #ffffff;
    text-align: center;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.5;
    color: #00afc3 !important;
    box-shadow: 8px 8px 0px 0px rgba(0, 175, 196, 1);
    width: 300px;
}

.speechBubble::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 20px 16px 0 16px;
    border-color: #00afc3 transparent transparent;
    translate: -50% 100%;
    filter: drop-shadow(8px 8px 0px rgba(0, 175, 196, 1))
}

.speechBubble::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 15.2px 12.2px 0 12.2px;
    border-color: #ffffff transparent transparent;
    translate: -50% 100%;
}

.recommendation {
    padding: 0 20px 30px 0;
}

.recommendation h2 {
    text-align: center;
    font-size: 2.5em;
    margin-bottom: 30px;
    color: #333;
}

.recommendation-options {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    gap: 30px;
    max-width: 800px;
    margin: 0 auto;
    flex-wrap: wrap;
}

.option {
    background-color: #fff;
    border-radius: 15px;
    text-align: center;
    flex: 1;
    max-width: 300px;
    width: 48%;
    margin-top: 25px;
}

.option img {
    height: auto;
    margin-bottom: 20px;
    width: 150px;
}

.option h3 {
    margin-bottom: 15px;
    font-size: 1.8em;
    line-height: 1.3em;
}

.option h3 span {
    color: #00afc3;
    background: linear-gradient(180deg, #fff 0%, #fff 60%, #f9f472 40%, #f9f472 100%);
}

p.arrows {
    color: #00afc3;
    font-size: 24px;
    font-weight: 9bold;
}

.reco-box {
    border: solid 2px #00afc3;
    border-radius: 8px;
    padding: 0;
    background: #fffdee;
    box-shadow: 10px 10px 0 0 #cdddea;
    width: 300px;
    text-align: center;

}

.reco-box p:first-child {
    background: #00afc3;
    color: #fff;
    margin: 0;
    font-size: 20px;
}

.reco-box img {
    height: 60px;
    margin: 15px;
    width: auto;
}

.choice {
    color: #ea5420;
    font-size: 20px;
    font-weight: 600;
}

.choice2 {
    color: #ea5420;
    font-size: 28px;
    font-weight: 600;
    line-height: 1em;
}

.choice3 {
    color: #ea5420;
    font-size: 18px;
    font-weight: 600;
}

@media screen and (max-width: 600px) {
    .recommendation {
        padding: 50px 5px;
    }

    .option {
        padding: 25px 0;
    }
}

#activity-flow,
#pricing,
#reasons,
#youtube,
#certification,
#explanation {
    background-color: #f0f8fa;
    padding: 80px 0;
    text-align: center;
    position: relative;
}

#demerit,
#voice-section,
#required-documents,
#faq {
    background-color: #fff;
    padding: 80px 0;
    text-align: center;
    position: relative;
}

#pricing:before,
#reasons:before,
#activity-flow:before,
#demerit::before,
#certification::before,
#youtube::before,
#required-documents::before,
#faq::before,
#youtube::before,
#explanation::before,
#voice-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 30px;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    z-index: 100;
}

#activity-flow:before,
#youtube::before,
#pricing:before,
#reasons:before,
#explanation::before,
#certification::before {
    background-color: #fff;
}

#demerit::before,
#voice-section::before,
#required-documents::before,
#faq::before {
    background-color: #f0f8fa;
}



.pricing h2,
.comparison h2,
#reasons h2,
#demerit h2,
#youtube h1{
    text-align: center;
    font-size: 42px;
    margin-bottom: 10px;
    color: #ea5420;
    border-bottom: solid #f4971e 2px;
    padding-bottom: 2px;
    display: inline-block;
}



.pricing-header span,
.reasons-header {
    background: linear-gradient(180deg, #f0f8fa 0%, #f0f8fa 60%, #f9f472 40%, #f9f472 100%);
    text-align: center;
    display: inline-block;
    font-size: 18px;
}

.comparison-header span,
.demerit-header span {
    background: linear-gradient(180deg, #fff 0%, #fff 60%, #f9f472 40%, #f9f472 100%);
    text-align: center;
    display: inline-block;
    font-size: 18px;
}



.pricing-details {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    gap: 30px;
    max-width: 800px;
    margin: 0 auto;
    flex-wrap: wrap;
}

.detail {
    border: solid 2px #00afc3;
    border-radius: 8px;
    padding: 0;
    background: #fff;
    box-shadow: 15px 15px 0 0 #cdddea;
    width: 300px;
    text-align: center;
    font-size: 20px;
}

.detail h3 {
    background: #00afc3;
    color: #fff;
    margin: 0;
}

.detail img {
    height: 100px;
    margin: 15px 0 0 0;
    width: auto;
}

.details-summary {
    margin: 40px auto 30px auto;
    display: flex;
    flex-wrap: wrap;
    font-family: "m-plus-rounded-2p", sans-serif;
    font-weight: 700;
    font-style: normal;
    padding-top: 15px;
    font-size: 22px;
    justify-content: center;
    max-width: 700px;
    line-height: 1.3em;
}

#comparison,
#demerit {
    background-color: #fff;
    padding: 80px 0;
    text-align: center;
    position: relative;
}

#comparison:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 30px;
    background-color: #f0f8fa;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.comparison-table {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    border-collapse: collapse;
    background-color: #fff;
}

.comparison-table th:first-child,
.comparison-table td:first-child {
    border: none;
    padding: 5px;
}

.biu img {
    width: 120px;
    margin: 25px;
}

.items {
    background: #f2981e;
    color: #fff;
    border-radius: 5px;
    padding: 20px;
}



.source {
    text-align: right;
    font-size: 12px;
    width: 100%;
    max-width: 1000px;
    margin: auto;
}

.comparison-table th:nth-last-child(-n+3),
.comparison-table td:nth-last-child(-n+3) {
    border: 1px solid #ddd;
    padding: 20px;
    text-align: center;
    font-size: 1.2em;
}

.comparison-table th:nth-child(2),
.comparison-table td:nth-child(2) {
    border: 2px solid #00afc3;
    background: #f3fbfe;
    font-family: "m-plus-rounded-2p", sans-serif;
    font-weight: 900;
    font-style: normal;
    color: #ea541f;
    font-size: 24px;
}

.comparison-table th:nth-child(2) {
    background-color: #00afc3;
    color: #fff;
}

.comparison-table th:nth-child(3),
.comparison-table th:nth-child(4) {
    background: #a0a0a0;
    color: #fff;
}

@media screen and (min-width: 600px) {

    .comparison-table-mobile,
    .mobile {
        display: none;
    }
}

@media screen and (max-width: 599px) {
    .comparison-table, .pc {
        display: none !important;
    }


    .comparison-table-mobile {
        padding: 15px 5px;
    }

    .comparison-mobile-header {
        background: #f2981e;
        color: #fff;
        border-radius: 5px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        font-weight: 600;
    }



    .comparison-mobile-data {
        box-sizing: border-box;
        align-items: center;
        height: 50px;
        width: 100%;
        margin-bottom: 10px;
    }

    .comparison-mobile-data tr:first-child td:first-child {
        background-color: #00afc3;
        color: #fff;
        font-size: 24px;
        width: 50%;
        border: 2px solid #00afc3;
        height: 50px;
    }


    .comparison-mobile-data tr:first-child td:last-child {
        border: 2px solid #00afc3;
        background: #f3fbfe;
        font-family: "m-plus-rounded-2p", sans-serif;
        font-weight: 900;
        font-style: normal;
        color: #ea541f;
        font-size: 24px;
        width: 50%;
    }

    .comparison-mobile-data tr:nth-child(n+2) td:first-child {
        background: #a0a0a0;
        color: #fff;
        width: 50%;
        border-bottom: 1px solid #fff;
        height: 100%;
    }

    .comparison-mobile-data tr:nth-child(n+2) td:last-child {
        border: 1px solid #ddd;
        padding: 10px;
        text-align: center;
        font-size: 1.2em;
        width: 50%;
    }


}

.biuname {
    font-size: 18px;
    font-weight: 400;
}

.biu-info {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 20px;
    font-size: 20px;
    color: #333;
    line-height: 1.4em;
    font-weight: 600;
}

.about-lowest-price {
    background: #fef7e7;
    padding: 15px;
    max-width: 750px;
    margin: auto;
    font-size: 18px;
    font-weight: 600;
}

.about-lowest-price h2 {
    text-decoration: none;
    display: block;
    border: none;
    margin-top: 0;
}

.about-lowest-price ul {
    font-size: 8px !important;
    list-style: none;
    text-align: left;
}

.grouplist {
    font-size: 14px;
    font-weight: 400;
}

.kaigyo {
    width: 100%;
}

.available_japanwide {
    background: #f6f6f6;
    max-width: 600px;
    margin: 25px auto;
    padding: 5px;
    text-align: center;
    border-radius: 10px;
    border: solid 2px #00aec4;
}

.available_japanwide h3 {
    font-weight: 600;
    font-size: 28px;
    color: #00aec4;
    margin: 0;
    line-height: 1.2em;
}

.reasons-container {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    gap: 30px;
    max-width: 800px;
    margin: 0 auto;
    flex-wrap: wrap;
}

.reason-card {
    border: solid 2px #00afc3;
    border-radius: 8px;
    padding: 20px 10px;
    background: #fff;
    box-shadow: 15px 15px 0 0 #cdddea;
    width: 300px;
    text-align: center;
}

.reason-card h3 {
    color: #ea541f;
    margin: 0;
    font-size: 24px;
}

h3.multi {
    font-size: 22px;
}

.reason-card img,
.demerit-card img {
    width: 80px;
    margin: 15px;
}

.solution {
    color: #00afc3;
    font-weight: 700;
    font-size: 18px;
    border-bottom: 1px solid #00afc3;
}

.demerit-container {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    gap: 30px;
    max-width: 1000px;
    margin: 0 auto;
    flex-wrap: wrap;
}

.demerit-card {
    border: solid 2px #00afc3;
    border-radius: 8px;
    padding: 20px 0;
    background: #fff;
    width: 300px;
    text-align: center;
    background: #f3fbfe;
    font-family: "source-han-serif-japanese", serif;
    font-weight: 900;
    font-size: 16px;
}

.demerit-card h3 {
    color: #ea541f;
    margin: 0;
    font-size: 26px;
    font-weight: 400;
    font-family: "ta-marugo-gf-03", sans-serif;
    line-height: 1.2em;
}

#activity-flow h1 {
    color: #ea5420;
    font-size: 42px;
    border-bottom: solid 2px #ea5420;
    display: inline-block;
}

.step {
    padding: 0 15px;
}

.step-inner {
    background-color: #fff;
    border-radius: 8px;
    max-width: 800px;
    padding: 20px;
    margin: 20px auto;
    text-align: left;
}

.step-header {
    background-color: #00afc3;
    color: #fff;
    font-weight: bold;
    padding: 0 10px 5px 10px;
    border-radius: 40px;
    font-size: 32px;
    margin-bottom: 15px;
    max-width: 1000px;
    margin: auto;
    text-align: left;
}

.number {
    background: #fff;
    border-radius: 50%;
    color: #00afc3;
    width: 27px;
    height: 40px;
    width: 40px;
    display: inline-block;
    font-size: 24px;
    line-height: 40px;
    padding-left: 13px;
}

.arrow {
    height: calc(60px / 2);
    width: 100px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #00afc3;
    margin: auto;
}

.arrow2-center{
    width: 40px;
    margin: auto;
}

.arrow2 {
    height: calc(60px / 2);
    width: 40px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #00afc3;
    margin: auto;
}

.note {
    background-color: #fef7e7;
    padding: 5px 10px 10px 10px;
    margin-top: 15px;
    border-radius: 8px;
    font-weight: 700;
}

.step p {
    font-size: 18px;
    font-weight: 700;
}

.note p:first-child {
    font-weight: bold;
    color: #ea5420;
    margin-bottom: 5px;
    font-size: 24px;
}

.note ul {
    padding-left: 20px;
    list-style: disc;
    font-size: 18px;
    font-weight: 700;
}

.note img {
    height: 28px;
    width: auto;
}

.note p {
    display: flex;
    align-items: center;
}

.register-button {
    background: #ea4555;
    color: #fff;
    padding: 10px;
    border-radius: 30px !important;
    text-decoration: none;
    font-size: 20px;
    margin: 20px;
    display: inline-block;
    width: 250px;
}

a.register-button:hover {
    color: #fbff00 !important;
}

.center {
    text-align: center;
}

.fee-timing {
    border-radius: 8px;
}

.timing-row {
    margin-bottom: 20px;
    padding: 10px;
}

.timing-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.current-month {
    background-color: #d6edfb;
}

.next-month {
    background-color: #e0f5e0;
}


.timing-title {
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
    border: solid 2px #106eb8;
    border-radius: 30px;
    background: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 30px;
}

.timing-title strong {
    color: #000;
}

.title-color1 {
    color: #106eb8 !important;
    font-size: 20px !important;
}

.title-color2 {
    color: #039844 !important;
    font-size: 20px !important;
}

.black {
    color: #333;
}

.tougetu {
    color: #106eb8 !important;
    font-size: 20px;
    font-weight: bold;
    padding-left: 15px;
}


.timing-box {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-wrap: wrap;
}

.grey-box {
    background-color: #666;
    color: #fff;
    padding: 5px;
    text-align: center;
    border-radius: 4px;
    font-weight: bold;
    line-height: 1.2;
    height: 70px;
    width: 150px;
    margin: 15px;
    vertical-align: middle;
}

.plus {
    font-size: 32px;
    margin: 0 10px;

}

.arrow2,
.arrow3,
.dotted-arrow {
    font-weight: bold;
    font-size: 20px;
    margin-left: 10px;
}

.arrow2 {
    color: #0073b7;
}

.arrow3 {
    color: #1b8a1f;
}

.dotted-arrow {
    color: #1b8a1f;
    font-size: 14px;
    margin: 0 10px;
    font-size: 20px;
    line-height: 1.2em;
}

.box-color1 {
    background: #d6edfb;
    border-radius: 5px
}

.box-color2 {
    background: #e1efe0;
    border-radius: 5px
}

.grey-border {
    border-left: dashed 3px #96938e;
    width: 20px;
    height: 80px;
    margin-left: 20px;
}

.small-a {
    font-size: 14px;
}

.small-text {
    font-size: 12px;
    color: #ccc;
    font-weight: normal;
}

@media screen and (max-width: 619px) {
    .step-header {
        background-color: #00afc3;
        color: #fff;
        font-weight: bold;
        padding: 7px;
        border-radius: 30px;
        font-size: 18px;
        margin-bottom: 15px;
        max-width: 1000px;
        margin: auto;
        text-align: left;
    }

    .number {
        background: #fff;
        border-radius: 50%;
        color: #00afc3;
        width: 24px;
        height: 24px;
        display: inline-block;
        font-size: 18px;
        line-height: 20px;
        padding-left: 6px;
        padding-top: -2px;
        margin-top: 3px;
    }

    .step p {
        font-size: 16px;
    }

    .note p:first-child {
        font-size: 18px;
    }

    .timing-title,
    .title-color1 {
        font-size: 16px !important;
        ;
    }

    .grey-border {
        border-top: dashed 3px #96938e;
        border-left: none;
        width: 90%;
        height: 20px;
        margin-top: 20px;
    }

}


#required-documents {
    font-family: sans-serif;
    margin: 0 auto;
    padding: 20px;
}

#required-documents h2 {
    font-size: 24px;
    color: #ea5520;
    margin-top: 80px;
}

.required-documents {
    max-width: 600px;
    margin: auto;
    width: 100%;
}

.section-title {
    font-size: 28px !important;
    color: #ea5421;
    margin: 20px 0;
    text-align: center;
}

.subtitle {
    font-size: 14px;
    color: #333;
    text-align: center;
    background-color: #f0f0f0;
    padding: 5px 10px;
    font-weight: 700;
    border-radius: 30px;
    margin: 0 5px 20px 5px;
    border: 1px solid #9a9a9a;
}

.document-section {
    margin-bottom: 20px;
}

.document-wrap {
    display: flex;
    align-items: center;
    border-bottom: solid 1px #333;
    margin-top: 25px;
}

.document-header {
    display: inline-block;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    border-radius: 4px;
    height: 24px;
    width: 60px;
}

.all-members {
    background-color: #d1343f;
}

.target-only {
    background-color: #717171;
}

.document-title {
    font-weight: bold;
    font-size: 18px;
    margin-left: 10px;
    font-family: "m-plus-rounded-2p", sans-serif;
}

.document-detail {
    font-size: 16px;
    color: #333;
    text-align: left;
    padding-left: 70px;
    font-weight: 700;
    line-height: 1.2em;
}


.separator {
    text-align: center;
    font-size: 18px;
    color: #333;
    margin: 20px 0;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.separator::before,
.separator::after {
    content: "";
    flex: 1;
    border-bottom: 3px dotted #333;
    margin: 0 10px;
}

.certification {
    max-width: 600px;
    margin: auto;
}

@media screen and (max-width: 619px) {
    .document-detail {
        padding-left: 15px;
    }
}

.qualification-list {
    list-style-type: disc;
    padding-left: 20px;
    margin-top: 10px;
    margin-bottom: 20px;
    color: #333;
    font-size: 15px;
    text-align: left;
    line-height: 1.3em;
    font-weight: 600;
}

.qualification-list li {
    margin-bottom: 10px;
}

.explanation {
    font-size: 14px;
    color: #333;
    line-height: 1.6;
    margin-bottom: 20px;
    text-align: center;
    padding: 5px;
}

.explanation p {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.register-button {
    display: block;
    margin: 20px auto;
    padding: 10px 20px;
    background-color: #f2685d;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    box-shadow: 3px 3px 3px #888;
}



.pagetop {
    display: none;
    position: fixed;
    bottom: 50px;
    right: 15px;
    width: 67px;
    height: 30px;
    text-align: center;
    font-size: 42px;
    text-decoration: none;
    line-height: 30px;
}

.pagetop a {
    color: rgb(1, 70, 150, .5);
}

.pagetop a:hover {
    color: rgb(1, 70, 150, .9) !important;
}

.footer {
    color: #fff;
    font-family: sans-serif;
}

.footer-content {
    background-color: #00a7ce;
    padding: 25px;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}


.footer-content ul {
    list-style: none;
    font-size: 15px;
    margin: 0;
    padding: 0;
}


.footer-content a {
    color: #fff;
    text-decoration: none;
}

.footer-content a:hover {
    text-decoration: underline;
}

.footer-bottom {
    background: #fff;
    text-align: center;
    margin-top: 10px;
    font-size: 12px;
    color: rgba(26, 26, 26, 0.7);
}

.footer-logo {
    width: 100px;
}

.footer-logo img {
    width: 100%;
}

.sns {
    display: flex;
    justify-content: space-between;
}

.sns img {
    height: 28px;
    width: auto;
}

@media screen and (min-width: 660px) {
    .footer-content {
        display: flex;
        justify-content: space-around;
    }

}

@media screen and (max-width: 659px) {
    .footer-logo {
        margin: auto;
    }

    .footer-content ul {
        text-align: center;
    }

    .middle-menu li:last-child {
        display: none;
    }
}

#container {
    margin: 0 auto;
    background-color: #E8F2F4;
    padding: 50px 20px 30px 20px;
    width: 100%;
    flex: 1;
}

#container2 {
    margin: 0 auto;
    background-color: #E8F2F4;
    padding: 50px 20px 30px 20px;
    width: 100%;
    flex: 1;
}

.container {
    background: #fff;
    max-width: 800px;
    border-radius: 15px;
    margin: 50px auto;
    padding: 20px;
}

.regist-title {
    text-align: center;
}

.price-board {
    background-color: #00aec4;
    color: #fff;
    font-size: 18px;
    padding: 10px;
    border-radius: 5px;
    display: block;
    width: 80%;
    text-align: center;
    margin: auto;
}

.registration-form {
    min-width: 320px;
    margin: 25px auto;
    text-align: center;
    display: block;
    max-width: 400px;
}

.form-group {
    margin: 20px 0;
    text-align: left;
}

.form-group label {
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
}

.required {
    background: #f15a24;
    border-radius: 5px;
    color: #fff;
    padding: 1px 5px;
    margin-right: 5px;
}

.first-name,
.last-name {
    min-width: 140px;
    width: 46% !important;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.name-fields {
    display: flex;

    justify-content: space-between;
}


.name-fields input {
    width: 140px;
}

#birth_year,
#birth_month,
#birth_day {
    width: 30%;
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

.mini {
    max-width: 400px;
    margin: 25px auto;
}

.gender-options,
.birth {
    display: flex;
    justify-content: left;
}

.gender {
    border: 1px solid #ccc;
    width: 150px;
    padding: 3px 10px 3px 0;
    border-radius: 4px;
}

.gender-options label {
    margin-right: 20px;
}

.birth {
    display: flex;
}

.select-group {
    position: relative;
    display: flex;
    align-items: center;
    margin-right: 30px;
}


select {
    appearance: none;
    /* デフォルトのスタイルを無効化 */
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 10px 30px 10px 10px;
    /* 右側にアイコン用のスペースを確保 */
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
    width: 80px;
    /* 任意の幅に調整 */
    box-sizing: border-box;
    background-color: #fff;
    background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"%3E%3Cpath fill="%23333" d="M7 10l5 5 5-5z"/%3E%3C/svg%3E');
    /* 矢印アイコン */
    background-repeat: no-repeat;
    background-position: right 0 center;
    background-size: 32px;
    /* アイコンサイズを調整 */
}

.tel-input,
.mail-input {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 100%;
}

.label {
    position: absolute;
    right: -16px;
    font-size: 16px;
    color: #333;
}



.prefectures {
    width: 150px;
}

.note {
    font-size: 12px;
    color: #888;
    margin-top: 5px;
}

.payment-info {
    background-color: #fffef9;
    padding: 15px;
    border: 2px solid #965134;
    margin: 20px auto;
    max-width: 700px;
}

.payment-header {
    font-weight: bold;
    font-size: 24px;
    color: #8a5d3b;
    text-align: center;
    margin-bottom: 10px;
    border-bottom: #965134 solid 2px;
    display: flex;
    align-items: center;
}

.credit,
.credit2 {
    height: 30px;
    width: auto;
}

.credit {
    margin-right: 10px;
}

.card-info {
    background: #dcdddd;
    display: flex;
    padding: 10px;
    align-items: center;
    flex-wrap: wrap;
}

.kind-of-card {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.card-info label {
    width: 200px;
}

.card-info select:first-child {
    margin-right: 10px;
}

.card-info select:last-child {
    margin-left: 10px;
}

.card-info input {
    padding: 10px;
    width: 100%;
    max-width: 400px;
}

.fee-info {
    background-color: #f5f5f5;
    padding: 15px;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    margin-bottom: 20px;
}

.terms {
    margin-bottom: 20px;
}

.tabs {
    justify-content: space-between;
    display: flex;
}

.tab-btn {
    padding: 8px 15px;
    background-color: #e0e0e0;
    color: #727171;
    border: none;
    cursor: pointer;
    width: 33%;
    font-weight: 900;
}

.tab-btn.active {
    background-color: #009cb7;
    color: #fff;
}

.tab-content {
    padding: 15px;
    border: 1px solid #ccc;
    margin-top: 10px;
    height: 300px;
    overflow: scroll;
}


.agreement {
    display: inline-block;
    margin: 50px auto;
    font-size: 14px;
    width: 100%;
    text-align: center;
}

.submit-button {
    background-color: #f15a24;
    color: #fff;
    font-size: 18px;
    padding: 10px;
    width: 100%;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-weight: bold;
}

@media screen and (max-width: 500px) {
    .payment-header {
        font-size: 16px;
    }

    .card-image {
        width: 100%;
    }

    .card-info label {
        display: block;
        width: 100%;
    }

}

#privacy {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    max-width: 800px;
    margin: 20px auto;
}

#privacy h1 {
    font-size: 24px;
    color: #333;
    margin-bottom: 20px;
}

#privacy h2 {
    font-size: 18px;
    color: #333;
    margin-top: 15px;
    margin-bottom: 10px;
}

#privacy ul {
    list-style-type: disc;
    margin: 10px;
    padding: 0px;
}

#privacy ul li {
    margin-bottom: 5px;
}

#privacy p {
    font-size: 14px;
    color: #555;
    margin-bottom: 10px;
}

#privacy strong {
    font-weight: bold;
}

#privacy ol {
    margin-left: 0;
    padding-left: 20px;
}

#privacy ol li {
    margin-bottom: 15px;
}

.coolingoff {
    border: #f00 solid 2px;
    color: #f00;
    padding: 15px;
}

.legal-info h1 {
    font-size: 20px;
    text-align: left;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
}

.profile {
    max-width: 1000px;
    margin: auto;
    padding-top: 80px;
}

@media screen and (min-width: 521px) {

    .bread {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        max-width: 800px;
        margin: auto;
        flex: 1;
        width: 100%;
    }
}

.bread-items {
    border: solid 2px #00aec4;
    padding: 5px 10px;
    color: #00aec4;
    font-size: 14px;
    white-space: nowrap;
    margin: 5px;
    background: #fff;
}

.bread-current {
    color: #fff;
    font-size: 14px;

    padding: 5px 10px;
    background: #00aec4;
    border: solid 2px #00aec4;
    white-space: nowrap;
    margin: 5px;
}

.triangle {
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 27px solid #00aec4;
    border-right: 0;
}

@media screen and (min-width:521px) and (max-width: 800px) {

    .bread-items,
    .bread-current {
        padding: 5px;
        font-weight: 13px;
    }

    .triangle {
        width: 0;
        height: 0;
        border-style: solid;
        border-top: 9px solid transparent;
        border-bottom: 9px solid transparent;
        border-left: 16px solid #00aec4;
        border-right: 0;
    }
}

@media screen and (max-width: 520px) {

    .bread-items,
    .bread-current {
        padding: 0 3px;
        font-size: 12px;
        width: 100%;
        text-align: center;
    }

    .bread {
        display: grid;
        place-items: center;
    }

    .triangle {
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 10px solid #00aec4;
        display: inline-block;
        width: 15px;
    }
}

.anounce {
    text-align: center;
    color: #00aec4;
    font-size: 18px;
}

.file-upload {
    max-width: 1000px;
    margin: 0 auto;
    background: #fff;
    padding-top: 80px;
    padding-bottom: 30px;
}

.upload-section {
    max-width: 600px;
    margin: auto;
}

.upload-explanation {
    border: solid 2px #e60012;
    padding: 15px;
    color: #e60012;
    display: flex;
    align-items: center;
    font-size: 16px;
    line-height: 1.3em;
    font-weight: 600;
}

.upload-explanation img {
    width: 50px;
    height: auto;
}

.upload-explanation ul {
    margin: 0 0 0 25px;
    padding: 0;
    background: #fff !important;
}

.section-title {
    font-size: 18px;
    margin-bottom: 10px;
}

.required2 {
    color: #fff;
    font-weight: bold;
    background: #d2333e;
    border-radius: 5px;
    padding: 3px 10px;
    font-size: 16px;
}

.optional {
    color: #fff;
    font-weight: 400;
    background: #727171;
    border-radius: 5px;
    padding: 0 5px;
    font-size: 16px;
}

.file-preview {
    text-align: left;
    margin-top: 10px;
    margin-bottom: 10px;
}

.file-preview img {
    width: 250px;
    height: auto;
    border: 1px dashed #ccc;
    margin-bottom: 10px;
}

.file-preview p {
    font-size: 14px;
    color: #777;
}

.upload-button {
    display: block;
    padding: 0px 5px;
    background: linear-gradient(#fff, #cfd0d0);
    border: 1px solid #ccc;
    cursor: pointer;
    font-size: 18px;
    font-weight: 600;
    color: #666464;
}

.upload-button:hover {
    background-color: #ddd;
}

.submit button {
    display: block;
    margin: auto;
    padding: 10px 20px;
    background-color: #007bff;
    color: #fff;
    border: none;
    cursor: pointer;
}

.submit button:hover {
    background-color: #0056b3;
}

.upload-item {
    margin-top: 50px;
}

.upload-item ul {
    background: #efefef;
    padding: 7px 7px 7px 25px;
    margin: 0;
    font-weight: 600;
}

.upload-item li {
    font-weight: 500;
    font-size: 16px;
}

.upload-section h3 {
    text-align: left;
    border-bottom: solid 1px #333;
    color: #333;
}

.profile-info,
.upload-info {
    background: #e83428;
    color: #fff;
    padding: 5px;
    display: flex;
    border-radius: 7px;
    width: 100%;
    max-width: 800px;
    margin: 25px auto;
    font-family: "m-plus-rounded-2p", sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4em;
}

.upload-info {
    text-align: center;
    width: 100%;
    align-items: center;
    justify-content: center;
}

.profile-info img,
.upload-info img {
    height: 45px;
    width: auto;
    margin-right: 1em;
}

.profile-form input,
.profile-form select,
.profile-form textarea {
    width: 48%;
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 0;
}

.prof-exp {
    font-size: 12px;
    font-weight: 500;
    color: #c83648;
}

.pr_comment {
    width: 100% !important;
    height: 120px;
}

.cohabitation input {
    height: 22px;
}


.table-form {
    border-collapse: collapse;
    width: 100%;
    margin: auto;
    max-width: 800px;
}

.table-form td {
    padding: 5px;
    border: solid 1px #fff;
}

.table-form td:first-child {
    background: #ddecf4;
    font-weight: 600;
    white-space: nowrap;
}

.table-form td:last-child {
    background: #dfe6e9;
}

.table-form label {
    white-space: nowrap;
}

td.profile-header {
    background: #00aec4 !important;
    font-size: 18px;
    border: solid 1px #00aec4;
    color: #fff;
    padding: 3px;
    font-weight: 600;
}

.gender {
    width: 200px;
    border: none;
}

.cohabitationyes {
    min-width: 150px;
}

.remove-row-btn,
#add-row-btn {
    padding: 3px 7px;
    background: #00aec4;
    color: #fff;
    font-weight: 500;
    border-radius: 5px;
    cursor: pointer;
    border: none;
}

#add-row-btn {
    width: 80%;
    text-align: center;
    margin: 2px auto 15px auto;
    display: block;
}

.flex {
    display: flex;
}

.font-11 {
    font-size: 11px;
}

.width-half {
    width: 48% !important;
}

.width-trisection {
    width: 30%;
}

.w-wrap {
    white-space: wrap;
}

.family-ex {
    line-height: 1.3em;
    margin-left: 10px;
}

.family select {
    width: 100%;
}

.red {
    color: #e60012;
}

.upload-button {
    border: solid 2px #666464;
    border-radius: 7px;
    box-shadow: 0 0 3px #666464;
}

.file-upload-button,
.profile-button {
    color: #fff;
    background: #e94553 !important;
    font-weight: 600;
    padding: 5px;
    width: 250px;
    border: none;
    border-radius: 25px;
    font-size: 18px;
    margin: 25px auto !important;
    cursor: pointer !important;
    display: block;
}

.members-list,
.members-list-wrap {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    border-collapse: collapse;
}

.members-list-wrap {
    margin-top: 60px;
}

.members-list-wrap h1 {
    text-align: center;
    color: #00aec4;
}

.members-list tbody tr:nth-child(odd) {
    background: #dbf8fc;
}

.members-list tbody tr:nth-child(even) {
    background: #ffffff;
}

.members-list td,
.members-list th {
    border: solid 1px #ddd;
    padding: 5px;
    text-align: center;
}

.members-list th,
.members-list th a {
    background: #00aec4;
    color: #fff;
}

.female-class {
    color: #d40075;
}

.male-class {
    color: #00aec4;
}

.uploaded-documents {
    width: 100%;
    max-width: 800px;
    margin: auto;
}

.uploaded-documents h3 {
    border-bottom: solid 1px #333;
}

.uploaded-documents img {
    max-width: 300px;
}

.complete-register {
    text-align: center;
    color: #00aec4;
    font-weight: 600;
    font-size: 22px;
    vertical-align: middle;
}

.complete-register img {
    width: 24px;
    height: auto;
    margin-right: 5px;
    vertical-align: middle;
}

.complet-message {
    font-size: 15px;
    font-weight: 500;
    text-align: center;
    margin: 25px 5px;
}

.line-qr {
    max-width: 280px;
    margin: 25px auto;
}

.line-qr.img {
    width: 100%;
}

.line-flow {
    display: flex;
    justify-content: space-between;
    max-width: 600px;
    align-items: center;
    margin: auto;
}

.line-arrow {
    width: 33px;
    height: 23px;
}

.line-flow-image {
    width: calc(50% - 18px);
}

.cohabitation,
.cohabitation-radio {
    width: 100%;
}

.cohabitation_details,
#cohabDetailWrapper {
    width: 96% !important;
    margin-top: 5px;
    padding: 5px;
}

@media screen and (min-width: 600px) {
    .main-window-table td:first-child {
        width: 220px;
    }
}

@media screen and (max-width: 599px) {
    .main-window-table tr td {
        display: block;
        width: 100%;
    }

    .upload-item h3 {
        font-size: 20px !important;
    }

    .required2 {
        font-size: 16px;
    }
}

.error-highlight {
    border: 2px solid red;
    padding: 5px;
}

.error-message {
    color: red;
    font-weight: bold;
    margin-bottom: 10px;
    padding: 5px;
    border: 1px solid red;
    background-color: #ffe6e6;
}

.font-size-1 {
    font-size: 32px !important;
}

.reason-of-low-cost, .reduce-labor-costs {
    border: solid 5px #00aec4;
    border-radius: 15px;
    position: relative;
    margin: 30px auto;
    background: #fff;
    max-width: 800px;
    width: 100%;
}

.low-cost-content {
    padding: 25px;
}

.reduce-labor-costs {
    display: flex;
    justify-content: space-around;
    padding: 20px;
    list-style: none;
    align-items: flex-end;
    background: #dff1f9;
}

.reduce-labor-costs li {
    width: 45%;
    height: auto;
}

.reason-of-low-cost img {
    width: 100%;
    max-width: 600px;
    display: block;
    margin: auto;
}

.no-advoce {
    display: block;
    position: absolute;
    font-weight: 700;
    font-family: "m-plus-rounded-2p", sans-serif;
    top: -32px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 32px;
    margin: auto;
    background: #00aec4;
    border-radius: 50px;
    color: #fff100;
    padding: 0 20px;
    white-space: nowrap;
}

.no-need-counceler {
    color: #00aec4;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3em;
}

.no-need-counceler span {
    font-size: 28px;
    background: linear-gradient(180deg, #fff 0%, #fff 60%, #f9f472 40%, #f9f472 100%);
}

.low-cost-footer {
    font-size: 20px;
    font-weight: 500;
    background: #dff1f9;
    border-radius: 0 0 15px 15px;
    padding: 15px 0;
    line-height: 1.5em;
}

.bl{
    color: #00aec4;
    font-size: 32px;
    font-family: "m-plus-rounded-2p", sans-serif;
}

.deleted,
.confirmation,
.active-member {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    border: solid 1px #000;
    font-size: 12px;
    text-align: center !important;
}

.confirmation {
    background: #f00;
    color: #fff;
    border: solid 1px #f00;
}
.deleted {
    background: #595758;
    border: solid 1px #595758;
    color: #fff;
}

.youtube {
    text-align: center;
    margin: 50px auto;
    padding: 5px;
}
.youtube iframe {
    width: 100%;
    max-width: 700px;
    aspect-ratio: 16 / 9;  /* 560x315 の比率 */
    display: block;
    margin: 0 auto;
}

@media screen and (max-width: 599px) {

    .pricing h2,
    .comparison h2,
    #reasons h2,
    #demerit h2,
    #activity-flow h1 {
        font-size: 28px;
    }

    #youtube h1 {
        font-size: 5.5vw;
    }

    .flex-wrap {
        flex-wrap: wrap;
    }

    .no-need-counceler-ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .reduce-labor-costs li, .no-need-counceler-ul li{
        width:80% !important;
        margin: auto;
    }

    .multiple-league {
        font-size:6.8vw;
    }
}

                .members-data {
                    max-width: 1000px;
                    width: 100%;
                    margin: 15px auto;
                }
                .members-data img {
                    width: 100%;
                    height: auto;
                    display: block;
                }
#voice-section {
    padding: 48px 0 42px;
}

.voice-section {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 24px;
}

.voice-title {
    text-align: center;
    color: #e95721;
    font-size: 42px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0.04em;
    margin: 0 0 18px;
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 8px;
}

.voice-lead {
    text-align: center;
    color: #333;
    font-size: 21px;
    font-weight: 900;
    line-height: 1.5;
    margin: 0 0 26px;
}

.voice-lead span {
    display: inline;
    background: linear-gradient(transparent 58%, #fff36b 58%);
    padding: 0 4px;
}

.voice-box {
    width: 100%;
}

.voice-card {
    background: #fff;
    border-radius: 5px;
    overflow: hidden;
    margin: 0 0 24px;
}

.voice-card:last-child {
    margin-bottom: 0;
}

.voice-badge {
    background: #09aeca;
    color: #fff;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.4;
    text-align: center;
    padding: 10px 16px;
}

.voice-stars {
    color: #ffe75a;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.voice-card-body {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 22px 28px 24px;
}

.voice-icon {
    flex: 0 0 58px;
    width: 58px;
    text-align: center;
}

.voice-icon img {
    width: 58px;
    height: 58px;
    object-fit: contain;
    display: block;
    margin: 0 auto;
    opacity: 0.9;
}

.voice-text {
    flex: 1;
    color: #111;
    font-size: 18px;
    font-weight: 900;
    line-height: 1.35;
    text-align: left;
}

.dot-divider {
    margin: 34px 0 24px;
    border: none;
    border-top: 5px dotted #09aeca;
    height: 0;
}

.voice-footer {
    text-align: center;
    color: #333;
    font-size: 24px;
    line-height: 1.4;
    font-weight: 700;
    margin: 0;
}

/* スマホ調整 */
@media (max-width: 768px) {
    #voice-section {
        padding: 36px 0 34px;
    }

    .voice-section {
        padding: 0 16px;
    }

    .voice-title {
        font-size: 7vw;
        margin-bottom: 18px;
    }

    .voice-lead {
        font-size: 17px;
        margin-bottom: 22px;
    }

    .voice-badge {
        font-size: 14px;
        padding: 9px 10px;
    }

    .voice-card-body {
        align-items: flex-start;
        gap: 14px;
        padding: 18px 16px 20px;
    }

    .voice-icon {
        flex: 0 0 46px;
        width: 46px;
    }

    .voice-icon img {
        width: 46px;
        height: 46px;
    }

    .voice-text {
        font-size: 15px;
        line-height: 1.45;
    }

    .voice-text br {
        display: none;
    }

    .dot-divider {
        margin: 28px 0 22px;
    }

    .voice-footer {
        font-size: 3.9vw;
    }
}

.mm-faq-section {
  max-width: 640px;
  margin: 0 auto;
  padding: 40px 20px 34px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  color: #333;
}

.mm-faq-title {
  position: relative;
  margin: 0 0 42px;
  text-align: center;
  font-size: 32px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0.18em;
  color: #e55235;
}

.mm-faq-title::after {
  content: "";
  display: block;
  width: 202px;
  height: 2px;
  margin: 10px auto 0;
  background: #e55235;
}

.mm-faq-list {
  width: 100%;
}

.mm-faq-item {
  margin-bottom: 7px;
  border: 2px solid #05adbd;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}

.mm-faq-question {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 37px;
  padding: 6px 14px 6px 12px;
  border: 0;
  background: #05adbd;
  color: #fff;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.mm-faq-qmark {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 19px;
  height: 19px;
  margin-right: 8px;
  border-radius: 50%;
  background: #fff;
  color: #05adbd;
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
}

.mm-faq-question-text {
  flex: 1 1 auto;
  font-size: 17px;
  line-height: 1.35;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.mm-faq-icon {
  flex: 0 0 auto;
  margin-left: 12px;
  font-size: 20px;
  line-height: 1;
  font-weight: 900;
}

.mm-faq-answer {
  max-height: 0;
  overflow: hidden;
  background: #fff;
  transition: max-height 0.28s ease;
}

.mm-faq-answer-inner {
  display: flex;
  align-items: flex-start;
  padding: 17px 12px 18px;
}

.mm-faq-amark {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 19px;
  height: 19px;
  margin-right: 8px;
  border-radius: 50%;
  background: #05adbd;
  color: #fff;
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
}

.mm-faq-answer p {
  margin: 0;
  font-size: 11px;
  line-height: 1.75;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #111;
  text-align: left;
}

.mm-faq-item.is-open .mm-faq-icon {
  font-size: 22px;
}

.mm-faq-contact-text {
  margin: 44px 0 0;
  padding-top: 25px;
  border-top: 3px dotted #05adbd;
  text-align: center;
  font-size: 20px;
  line-height: 1.6;
  font-weight: 900;
  letter-spacing: 0.05em;
  color: #444;
}

@media (max-width: 640px) {
  .mm-faq-section {
    padding: 36px 16px 30px;
  }

  .mm-faq-title {
    font-size: 28px;
    margin-bottom: 34px;
  }

  .mm-faq-title::after {
    width: 180px;
  }

  .mm-faq-question {
    min-height: 36px;
    padding: 7px 10px;
  }

  .mm-faq-question-text {
    font-size: 15px;
  }

  .mm-faq-answer-inner {
    padding: 15px 10px 16px;
  }

  .mm-faq-answer p {
    font-size: 11px;
  }

.mm-faq-answer-inner p{
    text-align: left!important;
  }

  .mm-faq-contact-text {
    font-size: 17px;
  }
}

/* 入力欄と補足文を横並び */
.profile-input-line {
  display: flex;
  align-items: center;
  gap: 12px;
}

.profile-back-box {
    max-width: 800px;
    margin: 20px auto;
    padding: 15px 18px;
    background: #fff8f3;
    border: 1px solid #e3c2a9;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.7;
}

.profile-back-box p {
    margin: 0 0 10px;
}

.profile-back-btn {
    display: inline-block;
    padding: 10px 18px;
    background: #003a77;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
}

.profile-back-btn:hover {
    opacity: 0.85;
}