:root {
    --white-clr: 255, 255, 255;
    --base-clr: 113, 93, 101;
    --link-clr: 8, 146, 165;
    --orange-clr: 255, 114, 95;
    --brown-clr: 127, 107, 115;
    --grad-p-clr: 240, 235, 255;
    --grad-b-clr: 218, 241, 255;
    --grad-g-clr: 220, 248, 235;
    --grad--p-clr: 249, 224, 216
}

body {
    --clr-text: #071A54;
    --clr-line: #B1B9D3;
    --clr-del: #7A8299
}

* {
    box-sizing: border-box
}

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

::selection {
    background: var(--clr-text);
    color: rgb(var(--white-clr))
}

html,
body {
    font-family: "Noto Sans JP", sans-serif;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: none;
    color: var(--clr-text);
    font-size: 3.72vw;
    font-size: clamp(14px, 3.733vw, 28px);
    min-width: 320px;
    font-weight: 500;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%
}

body {
    min-height: 100%;
    overscroll-behavior: none;
    -webkit-overflow-scrolling: touch
}

a {
    display: inline-block;
    position: relative;
    color: var(--clr-text);
    text-decoration: none;
    cursor: pointer;
    transition: .3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

h1,
h2,
h3,
h4,
h5,
h6 {
    position: relative;
    vertical-align: middle;
    font-weight: 500;
    font-feature-settings: "palt";
    line-height: 1.36
}

p {
    margin: 0;
    font-feature-settings: "palt";
    line-height: 1.6;
    vertical-align: middle
}

small {
    display: inline-block;
    font-size: .7142857143rem;
    line-height: 1.6
}

picture {
    display: block;
    max-width: 100%
}

picture img {
    width: 100%;
    height: auto
}

@media(min-width: 601px) {

    html,
    body,
    a,
    p {
        font-size: 15px
    }
}

main {
    position: relative;
    width: 100%;
    overflow-x: hidden
}

@media(min-width: 601px) {
    main {
        overflow: hidden
    }
}

main .sp {
    display: block !important
}

@media(min-width: 601px) {
    main .sp {
        display: none !important
    }
}

main .pc {
    display: none !important
}

@media(min-width: 601px) {
    main .pc {
        display: block !important
    }
}

main a[href*="tel:"] {
    color: #2b50cc;
    text-decoration: underline
}

@media(min-width: 601px) {
    main a[href*="tel:"] {
        color: var(--clr-text);
        pointer-events: none;
        cursor: default;
        text-decoration: none
    }
}

section {
    margin: 0 auto;
    width: 100%;
    position: relative
}

section .inner {
    margin: 0 auto;
    padding: 1rem 1rem 2.8571428571rem;
    width: 100%;
    max-width: 750px
}

@media(min-width: 601px) {
    section .inner {
        padding-left: 0;
        padding-right: 0
    }
}

section#kv .inner {
    padding: 0
}

section.round {
    margin-bottom: 2.8571428571rem;
    border-radius: 9.3vw
}

@media(min-width: 601px) {
    section.round {
        border-radius: 70px
    }
}

section[id^=ladies] {
    background: #dbefe5
}

section[id^=ladies] .inner {
    padding-top: 2.8571428571rem
}

section[id^=mens] {
    background: rgb(var(--grad-b-clr))
}

section[id^=mens] .inner {
    padding-top: 2.8571428571rem
}

section#beauty {
    background: #e0e1f5
}

section#beauty .inner {
    padding-top: 2.8571428571rem
}

section#beauty .sml thead th:first-child {
    display: none
}

@media(min-width: 601px) {
    section#beauty .sml thead th:first-child {
        display: table-cell;
        width: 220px
    }
}

section#beauty .sml tbody tr {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(2, 1fr);
    width: calc(100vw - 2rem)
}

@media(min-width: 601px) {
    section#beauty .sml tbody tr {
        display: table-row !important
    }
}

section#beauty .sml tbody tr td {
    display: flex;
    justify-content: center;
    align-items: center
}

@media(min-width: 601px) {
    section#beauty .sml tbody tr td {
        display: table-cell !important;
        border: 1px solid var(--clr-line) !important
    }
}

section#beauty .sml tbody tr th:nth-of-type(1) {
    grid-area: 1/1/2/6
}

section#beauty .sml tbody tr td:nth-of-type(1) {
    grid-area: 2/1/3/2;
    border-top: none;
    border-right: none
}

section#beauty .sml tbody tr td:nth-of-type(2) {
    grid-area: 2/2/3/3;
    border-top: none;
    border-right: none
}

section#beauty .sml tbody tr td:nth-of-type(3) {
    grid-area: 2/3/3/4;
    border-top: none;
    border-right: none
}

section#beauty .sml tbody tr td:nth-of-type(4) {
    grid-area: 2/4/3/5;
    border-top: none;
    border-right: none
}

section#beauty .sml tbody tr td:nth-of-type(5) {
    grid-area: 2/5/3/6;
    border-top: none
}

section#beauty .sml td span {
    font-size: .7857142857rem
}

section#beauty .sml td span>span {
    display: block;
    line-height: 1.3;
    font-size: .6428571429rem
}

@media(min-width: 601px) {
    section#beauty .sml td span>span {
        font-size: .7142857143rem
    }
}

@media(min-width: 601px) {
    section#beauty .sml td span {
        font-size: 1rem
    }
}

section#clinic .inner {
    padding-top: 2.8571428571rem;
    padding-bottom: 21.4285714286rem
}

section#clinic .clinic__menu {
    margin: 2rem auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    justify-items: stretch;
    align-items: stretch
}

@media(min-width: 601px) {
    section#clinic .clinic__menu {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
        max-width: 590px
    }
}

section#clinic .clinic__menu a {
    padding-left: 1.4rem
}

section#clinic .clinic__menu a::before {
    position: absolute;
    top: .1em;
    bottom: 0;
    left: .1em;
    margin: auto;
    content: "";
    display: inline-block;
    vertical-align: middle;
    color: var(--clr-line);
    line-height: 1;
    width: .7142857143rem;
    height: .7142857143rem;
    border: .2em solid;
    border-left: 0;
    border-bottom: 0;
    transform: translateY(-25%) rotate(135deg)
}

section h1 {
    margin: 0
}

section h2 {
    margin: 0 auto 1rem;
    font-size: 1.5714285714rem;
    font-weight: 700;
    text-align: center;
    padding-bottom: 1rem;
    border-bottom: 1px solid
}

section h3 {
    margin: 2rem auto 1rem;
    font-size: 1.1428571429rem;
    font-weight: 700;
    padding-left: .5rem;
    border-left: .3571428571rem solid
}

section table {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
    margin-bottom: .4285714286rem
}

section table th,
section table td {
    padding: 1em 0;
    text-align: center;
    font-size: 1rem
}

section table tr th {
    border: 1px solid var(--clr-line)
}

section table tr td {
    border: 1px solid var(--clr-line)
}

section table tr:nth-of-type(odd) {
    background: rgb(var(--white-clr))
}

section table tr:nth-of-type(even) {
    background: #fafafa
}

section table thead tr th {
    width: 33.3333333333%;
    background: #edf1ff
}

section table thead tr th>span {
    font-size: .7142857143rem
}

section table tbody th {
    font-size: 1rem
}

section table tbody th span {
    display: block;
    font-size: .7142857143rem;
    line-height: 1.33
}

section table tbody td {
    color: var(--clr-del);
    font-size: .8571428571rem
}

section table tbody td span {
    color: var(--clr-text);
    font-size: 1rem
}

section table tbody td span.del {
    color: var(--clr-del);
    font-size: .8571428571rem
}

section table tbody td del {
    color: var(--clr-del);
    font-size: .8571428571rem
}

section table.clinic tr:nth-child(odd) {
    background: #fafafa
}

section table.clinic tr:nth-child(even) {
    background: rgb(var(--white-clr))
}

section table.clinic tr th,
section table.clinic tr td {
    padding: 1rem 1.1428571429rem;
    border-left: none;
    border-right: none
}

section table.clinic tr th {
    text-align: left
}

section table.clinic tr td {
    text-align: left
}

section .subttl {
    margin: 0 auto 1rem;
    font-size: 1.7142857143rem;
    font-weight: 500;
    text-align: center
}

section .attentiion {
    margin-bottom: 1rem;
    background: rgb(var(--white-clr));
    border-radius: 1.7142857143rem;
    padding: .8571428571rem 1rem
}

section .attentiion p {
    margin: 0
}

section .attentiion p.ex {
    font-size: .8571428571rem
}

#addmenu_header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .7142857143rem 0
}

#addmenu_header img {
    width: 5.4285714286rem
}

#addmenu_intro {
    background: linear-gradient(92deg, #BBE3F3, #C2C8F4, #E8C0DA)
}

#addmenu_intro .inner {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.2857142857rem 0
}

#nav {
    margin-top: 2rem;
    text-align: center
}

@media(min-width: 601px) {
    #nav.grid {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: center;
        align-items: stretch
    }
}

#nav a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative;
    width: 100%;
    min-height: 7.1428571429rem;
    border: var(--clr-line) solid 1px;
    margin: 0 auto .5714285714rem;
    padding: 1.4285714286rem;
    text-align: center
}

#nav a>div {
    width: 100%
}

@media(min-width: 601px) {
    #nav a {
        margin: 0;
        width: min(100%, 370px)
    }
}

#nav a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1rem;
    margin: auto;
    content: "";
    display: inline-block;
    vertical-align: middle;
    color: var(--clr-line);
    line-height: 1;
    width: 1em;
    height: 1em;
    border: .2em solid;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg)
}

#nav a:last-child {
    margin-bottom: 0
}

#nav a span {
    font-size: 1rem;
    font-weight: 500
}

#nav a span.big {
    display: block;
    font-size: 1.1428571429rem;
    font-weight: 700;
    margin-bottom: .4285714286rem
}

#footer {
    margin-top: 4.2857142857rem;
    padding: 2rem 0;
    background: linear-gradient(270deg, #F2F0F5 0%, #E1E9F8 48%, #EAEFF0 100%)
}

#footer svg {
    max-width: 100px;
    width: 30vw
}

#footer svg path {
    fill: var(--clr-text)
}

#footer div.copy {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center
}

#footer div.copy>p {
    margin-top: 1.3rem;
    margin-bottom: 0;
    font-size: 2.32vw;
    color: #7c8396
}

@media(min-width: 601px) {
    #footer div.copy>p {
        font-size: 10px
    }
}


/* ==================================================
   addmenu : contact移植 (#sec_1 / #sec_3)
   Base = SP / PC = media query
================================================== */

#sec_1,
#sec_3 {
    margin: 0 auto 2.8571428571rem;
    font-weight: 400;
}

#sec_1 .round_corner.blue {
    background-color: rgb(var(--grad-b-clr));
}

#sec_3 .round_corner.light_green {
    background-color: #dcefe6;
}

#sec_1 .section_decoration_svg,
#sec_3 .section_decoration_svg {
    display: none;
}

#sec_1 .round_corner,
#sec_3 .round_corner {
    border-radius: 9.3vw;
    padding: 0;
}

#sec_1 .round_corner p,
#sec_3 .round_corner p {
    font-size: 4.186vw;
}

#sec_1 .inner,
#sec_3 .inner {
    padding: 2.8571428571rem 1rem;
}

#sec_1 h2.lower_title,
#sec_3 h2.lower_title {
    margin: 0 0 6vw;
    padding: 0;
    border: 0;
    line-height: 1.36;
}

/* small */
#sec_1 small,
#sec_3 small {
    display: block;
    position: relative;
    padding: 0 0 0 1em;
    text-align: left;
    font-size: 3.2558vw;
    font-weight: 400;
    line-height: 1.47;
}

#sec_1 small::before,
#sec_3 small::before {
    content: "＊";
    position: absolute;
    top: 0;
    left: 0;
}

/* ==================================================
   sec_1
================================================== */

#sec_1 p.mb {
    margin: 0 0 3vw;
    text-align: left;
}

#sec_1 p.mb + p.mb {
    margin-bottom: 0;
}

#sec_1 .counseling_center {
    width: 100%;
    max-width: 800px;
    margin: 5vw auto 0;
}

#sec_1 .counseling_center > dt,
#sec_1 .counseling_center > dd {
    width: 100%;
    box-sizing: border-box;
    background-color: rgb(var(--white-clr));
    margin: 0;
}

#sec_1 .counseling_center > dt {
    position: relative;
    padding: 7.4419vw 0;
    border-radius: 4.65vw 4.65vw 0 0;
    text-align: center;
    font-size: 4.65vw;
    font-weight: 600;
}

#sec_1 .counseling_center > dt::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.5814vw;
    height: 1.1628vw;
    width: 89.5%;
    background: url(../img/border_dot_purple.svg) repeat-x center / auto 1.1628vw;
    margin: 0 auto;
}

#sec_1 .counseling_center > dd {
    padding: 6.9767vw 5.3488vw 6.9767vw 6.9767vw;
    border-radius: 0 0 4.65vw 4.65vw;
}

#sec_1 .counseling_center > dd dl {
    display: block;
    font-size: 4.186vw;
    text-align: left;
}

#sec_1 .counseling_center > dd dl + dl {
    margin-top: 5.5814vw;
}

#sec_1 .counseling_center > dd dl > dt {
    font-weight: 600;
    margin: 0 0 2.7907vw;
}

#sec_1 .counseling_center > dd dl > dd {
    margin: 0;
    line-height: 1.38;
}

#sec_1 .counseling_center > dd dl > dd a {
    display: inline-block;
    color: rgb(var(--link-clr));
}

#sec_1 .ff_din {
    font-family: "din-2014", "Helvetica Neue", Arial, sans-serif;
    font-weight: 600;
}

#sec_1 .counseling_center .tel {
    line-height: 1;
}

#sec_1 .counseling_center .tel a {
    font-size: 5.5814vw;
    text-decoration: underline;
}

/* ==================================================
   sec_3 top
================================================== */

#sec_3.contact_form {
    padding: 0;
}

#sec_3 .wrap,
#sec_3 .form_wrap {
    width: 100%;
    max-width: none;
    margin: 0 auto;
}

#sec_3 .text {
    margin: 0 0 8vw;
    text-align: left;
    line-height: 1.778;
}

#sec_3 .support {
    display: block;
    padding: 8.6047vw 4.65vw 9.5349vw;
    margin: 0 0 6.9767vw;
    border-radius: 4.65vw;
    border: 1px solid rgb(var(--brown-clr));
}

#sec_3 .support dt {
    font-size: 4.65vw;
    margin: 0 0 4.65vw;
    padding-right: 0;
    text-align: center;
    font-weight: 600;
}

#sec_3 .support dd {
    font-size: 4.186vw;
    margin: 0;
    text-align: left;
    font-weight: 400;
    line-height: 1.38;
}

#sec_3 .qa_box {
    padding: 8.3721vw 6.2791vw 10vw;
    margin: 0 0 8vw;
    border-radius: 4.65vw;
    background-color: rgb(var(--white-clr));
}

#sec_3 .qa_box p {
    text-align: left;
    margin: 0 0 4.186vw;
}

#sec_3 .qa_box .standard_btn {
    text-align: center;
}

#sec_3 .qa_box .standard_btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 19.7674vw;
    margin: 0 auto;
    padding: 0 3.4884vw 0 0;
    border-radius: 10vw;
    color: rgb(var(--white-clr));
    font-weight: 600;
    background: rgb(var(--brown-clr)) url("../img/btn_icon_bg_white_arrow_orange.svg") no-repeat right 4.186vw center / 11.6279vw;
}

/* ==================================================
   sec_3 form - SP
================================================== */

#sec_3 .form_wrap {
    text-align: left;
}

#sec_3 .form_wrap dl {
    position: relative;
    display: block;
    min-height: auto;
    padding: 5.814vw 0;
    font-size: 4.186vw;
}

#sec_3 .form_wrap dl.hide {
    display: none !important;
}

#sec_3 .form_wrap dl.show {
    display: block;
}

#sec_3 .form_wrap dl::before {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    top: -0.5814vw;
    height: 1.1628vw;
    background: url(../img/border_dot_white.svg) repeat-x center / auto 1.1628vw;
}

#sec_3 .form_wrap dl dt {
    margin: 0 0 4.65vw;
    padding-top: 0;
    line-height: 1.4;
}

#sec_3 .form_wrap:not(.confirm) dl:not(.center) dt {
    padding-top: 0;
}

#sec_3 .form_wrap dl dd {
    padding-right: 0;
}

#sec_3 .form_wrap dl dt .item {
    display: block;
    position: relative;
    padding-left: 16.2791vw;
    padding-right: 0;
    font-weight: 600;
}

#sec_3 .form_wrap dl dt .item .imp {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 3.72vw;
    line-height: 5.814vw;
    padding: 0 3.2558vw;
    border-radius: 6.9767vw;
    color: rgb(var(--orange-clr));
    border: 1px solid rgb(var(--orange-clr));
}

#sec_3 .form_wrap dl dd input[type="text"],
#sec_3 .form_wrap dl dd input[type="email"],
#sec_3 .form_wrap dl dd select {
    width: 100%;
    padding: 3.0233vw 3.95vw 2.7907vw;
    border: none;
    border-radius: 2.3256vw;
    outline: none;
    color: inherit;
    font-weight: 400;
    background-color: rgb(var(--white-clr));
    box-sizing: border-box;
}

#sec_3 .form_wrap dl dd select {
    background: rgb(var(--white-clr)) url("../img/icon_arrow_brown_select.svg") no-repeat right 3.72vw center / 3.72vw 2.093vw;
    appearance: none;
}

#sec_3 .form_wrap dl dd textarea {
    appearance: none;
    resize: none;
    width: 100%;
    height: 46.5116vw;
    padding: 3.0233vw 3.95vw 2.7907vw;
    border: none;
    border-radius: 2.3256vw;
    outline: none;
    line-height: 1.667;
    font-weight: 400;
    color: inherit;
    background-color: rgb(var(--white-clr));
    box-sizing: border-box;
}

/* radio SP */
#sec_3 .form_wrap dl dd input[type="radio"] {
    display: none;
}

#sec_3 .form_wrap dl dd .mwform-radio-field + .mwform-radio-field {
    margin-left: 8.6047vw;
}

#sec_3 .form_wrap dl dd .mwform-radio-field-text {
    display: inline-block;
    position: relative;
    width: 27.907vw;
    padding: 4.1vw 0 4vw;
    border-radius: 16.2791vw;
    text-align: center;
    background-color: rgb(var(--white-clr));
}

#sec_3 .form_wrap dl dd input[type="radio"]:checked + .mwform-radio-field-text {
    color: rgb(var(--white-clr));
    background-color: rgb(var(--brown-clr));
}

#sec_3 .form_wrap dl dd input[type="radio"]:checked + .mwform-radio-field-text::after {
    content: "";
    position: absolute;
    left: 2.7907vw;
    top: 50%;
    width: 3.4884vw;
    height: 3.4884vw;
    transform: translateY(-50%);
    background: url(../img/icon_check.svg) no-repeat center / cover;
}

/* checkbox SP */
#sec_3 .form_wrap .agree {
    text-align: center;
    margin: 3.4884vw 0 9.3023vw;
    padding-left: 0;
}

#sec_3 .form_wrap .agree input[type="checkbox"] {
    display: none;
}

#sec_3 .form_wrap .agree input[type="checkbox"] + .mwform-checkbox-field-text {
    position: relative;
    padding-left: 4.65vw;
}

#sec_3 .form_wrap .agree input[type="checkbox"] + .mwform-checkbox-field-text::before {
    content: "";
    position: absolute;
    width: 3.0233vw;
    height: 3.0233vw;
    top: 50%;
    left: 0;
    transform: translateY(-42%);
    border: 1px solid rgb(var(--base-clr));
    box-sizing: border-box;
}

#sec_3 .form_wrap .agree input[type="checkbox"]:checked + .mwform-checkbox-field-text::after {
    content: "";
    position: absolute;
    top: 1.6279vw;
    left: .6977vw;
    width: 2.5581vw;
    height: 1.1628vw;
    border-left: .4651vw solid rgb(var(--base-clr));
    border-bottom: .4651vw solid rgb(var(--base-clr));
    transform: rotate(-45deg);
}

/* submit SP */
#sec_3 .form_wrap #submit-area {
    display: block;
    margin: 0 0 11.6279vw;
}

#sec_3 .form_wrap #submit-area > div input[type="submit"] {
    position: relative;
    width: 100%;
    height: 19.7674vw;
    font-size: 4.41vw;
    font-weight: 600;
    line-height: 1.25;
    color: rgb(var(--white-clr));
    border-radius: 10vw;
    box-sizing: border-box;
    appearance: none;
    border: none;
    outline: none;
    z-index: 1;
}

#sec_3 .form_wrap #submit-area > div:not(#form-back) input[type="submit"] {
    width: 100%;
    padding: 0 3.4884vw 0 0;
    background: rgb(var(--brown-clr)) url("../img/btn_icon_bg_white_arrow_orange.svg") no-repeat right 4.186vw center / 11.6279vw;
}

#sec_3 .form_wrap #submit-area > div#form-back input[type="submit"] {
    width: 100%;
    margin: 0 0 4.65vw;
    padding: 0 0 0 3.4884vw;
    background: #939192 url("../img/btn_icon_bg_white_arrow_orange_back.svg") no-repeat left 4.186vw center / 11.6279vw;
}

#sec_3 .form_wrap #submit-area > div input[type="submit"]:disabled {
    cursor: not-allowed;
    opacity: .3;
}

#sec_3 .form_wrap #re-captcha {
    font-size: 3.2558vw;
    font-weight: 400;
    line-height: 1.47;
}

#sec_3 .form_wrap #re-captcha a {
    color: rgb(var(--link-clr));
    text-decoration: underline;
}

#sec_3 .mw_wp_form form .error {
    display: block;
    width: 100%;
    margin-top: .5em;
    font-size: 86%;
    color: #eb305b;
}

/* ==================================================
   PC
================================================== */

@media (min-width: 601px) {
    #sec_1,
    #sec_3 {
        margin-bottom: 60px;
    }

    #sec_1 .round_corner,
    #sec_3 .round_corner {
        border-radius: 70px;
        padding: 0;
    }

    #sec_1 .round_corner p,
    #sec_3 .round_corner p {
        font-size: inherit;
    }

    #sec_1 .inner,
    #sec_3 .inner {
        max-width: 1000px;
        padding-top: 45px;
        padding-bottom: 45px;
    }

    #sec_1 h2.lower_title,
    #sec_3 h2.lower_title {
        margin: 0 0 32px;
    }

    #sec_1 p.mb {
        max-width: 800px;
        margin: 0 auto 14px;
    }

    #sec_1 small,
    #sec_3 small {
        font-size: 11px;
        line-height: 1.35;
    }

    #sec_1 .counseling_center {
        margin: 35px auto 0;
    }

    #sec_1 .counseling_center > dt {
        padding: 22px 0;
        border-radius: 20px 20px 0 0;
        font-size: 20px;
    }

    #sec_1 .counseling_center > dt::after {
        bottom: -2.5px;
        height: 5px;
        width: 95%;
        background-size: auto 5px;
    }

    #sec_1 .counseling_center > dd {
        padding: 22px 0 39px;
        border-radius: 0 0 20px 20px;
    }

    #sec_1 .counseling_center > dt span,
    #sec_1 .counseling_center > dd dl {
        max-width: 486px;
        margin-left: auto;
        margin-right: auto;
    }

    #sec_1 .counseling_center > dd dl {
        display: flex;
        align-items: baseline;
        font-size: 16px;
    }

    #sec_1 .counseling_center > dd dl + dl {
        margin-top: 28px;
    }

    #sec_1 .counseling_center > dd dl > dt {
        margin: 0 73px 0 0;
    }

    #sec_1 .ff_din {
        font-weight: 700;
    }

    #sec_1 .counseling_center .tel a {
        font-size: 24px;
        font-weight: 700;
        text-decoration: none;
    }

    #sec_3 .wrap,
    #sec_3 .form_wrap {
        max-width: 800px;
    }

    #sec_3 .text {
        margin: 0 0 35px;
        line-height: 1.667;
    }

    #sec_3 .support {
        padding: 39px 30px;
        margin: 0 0 27px;
        border-radius: 20px;
    }

    #sec_3 .support dt,
    #sec_3 .support dd {
        font-size: 16px;
    }

    #sec_3 .qa_box {
        padding: 40px 0;
        margin: 0 0 60px;
        border-radius: 20px;
    }

    #sec_3 .qa_box p {
        text-align: center;
        margin: 0 0 25px;
    }

    #sec_3 .qa_box .standard_btn a {
        width: 300px;
        height: 70px;
        padding: 0 15px 0 0;
        border-radius: 140px;
        background-position: right 20px center;
        background-size: 30px;
    }

    #sec_3 .form_wrap dl {
        font-size: 15px;
        padding: 23px 0;
    }

    #sec_3 .form_wrap dl::before {
        top: -2.5px;
        height: 5px;
        background-size: auto 5px;
    }

    #sec_3 .form_wrap dl dt .item {
        padding-left: 66px;
        padding-right: 36px;
    }

    #sec_3 .form_wrap dl dt .item .imp {
        font-size: 14px;
        line-height: 25px;
        padding: 0 13px;
        border-radius: 30px;
    }

    #sec_3 .form_wrap dl dd input[type="text"],
    #sec_3 .form_wrap dl dd input[type="email"],
    #sec_3 .form_wrap dl dd select {
        padding: 15px 29px 14px;
        border-radius: 10px;
    }

    #sec_3 .form_wrap dl dd select {
        background-position: right 20px center;
        background-size: 12px 7px;
    }

    #sec_3 .form_wrap dl dd textarea {
        height: 150px;
        padding: 15px 29px 14px;
        border-radius: 10px;
    }

    #sec_3 .form_wrap dl dd .mwform-radio-field + .mwform-radio-field {
        margin-left: 20px;
    }

    #sec_3 .form_wrap dl dd .mwform-radio-field-text {
        width: 120px;
        padding: 17px 0 18px;
        border-radius: 70px;
    }

    #sec_3 .form_wrap dl dd input[type="radio"]:checked + .mwform-radio-field-text::after {
        left: 20px;
        width: 15px;
        height: 15px;
    }

    #sec_3 .form_wrap .agree {
        margin: 13px 0 30px;
        padding-left: 23px;
    }

    #sec_3 .form_wrap .agree input[type="checkbox"] + .mwform-checkbox-field-text {
        padding-left: 23px;
    }

    #sec_3 .form_wrap .agree input[type="checkbox"] + .mwform-checkbox-field-text::before {
        width: 11px;
        height: 11px;
    }

    #sec_3 .form_wrap .agree input[type="checkbox"]:checked + .mwform-checkbox-field-text::after {
        top: 5px;
        left: 2px;
        width: 10px;
        height: 5px;
        border-left: 2px solid rgb(var(--base-clr));
        border-bottom: 2px solid rgb(var(--base-clr));
    }

    #sec_3 .form_wrap #submit-area {
        display: flex;
        justify-content: center;
        margin-bottom: 50px;
    }

    #sec_3 .form_wrap #submit-area > div input[type="submit"] {
        width: auto;
        height: 70px;
        font-size: inherit;
        border-radius: 140px;
    }

    #sec_3 .form_wrap #submit-area > div:not(#form-back) input[type="submit"] {
        width: 300px;
        padding: 0 15px 0 0;
        background-position: right 20px center;
        background-size: 30px;
    }

    #sec_3 .form_wrap #submit-area > div#form-back input[type="submit"] {
        width: 250px;
        margin: 0 30px 0 0;
        padding: 0 0 0 15px;
        background-position: left 20px center;
        background-size: 30px;
    }

    #sec_3 .form_wrap #re-captcha {
        font-size: 11px;
        line-height: 1.35;
    }
}

@media (min-width: 961px) {
    #sec_3 .form_wrap dl,
    #sec_3 .form_wrap dl.show {
        display: flex;
        box-sizing: border-box;
    }

    #sec_3 .form_wrap:not(.confirm) dl {
        min-height: 90px;
    }

    #sec_3 .form_wrap:not(.confirm) dl.center {
        align-items: center;
    }

    #sec_3 .form_wrap:not(.confirm) dl:not(.center) dt {
        padding-top: 13px;
    }

    #sec_3 .form_wrap dl dt {
        flex: 0 0 342px;
        margin: 0;
        box-sizing: border-box;
    }

    #sec_3 .form_wrap dl dd {
        flex: 1 1 auto;
        padding-right: 8px;
    }

    #sec_3 .support {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 30px;
    }

    #sec_3 .support dt {
        margin: 0;
        padding: 0;
        flex-shrink: 0;
        display: flex;
        align-items: center;
    }

    #sec_3 .support dd {
        margin: 0;
        display: flex;
        align-items: center;
        line-height: 1.5;
    }
}

@media (min-width: 601px) and (max-width: 960px) {
    #sec_3 .form_wrap dl dt {
        margin: 0 0 20px;
    }
}

@media (max-width: 600px) {
    #sec_3 .form_wrap dl {
        display: block;
        width: 100%;
    }

    #sec_3 .form_wrap dl dt,
    #sec_3 .form_wrap dl dd {
        width: 100%;
        box-sizing: border-box;
    }

    #sec_3 .form_wrap dl dt {
        margin: 0 0 4.65vw;
        padding: 0;
    }

    #sec_3 .form_wrap dl dd {
        margin: 0;
        padding: 0;
    }

    #sec_3 .form_wrap dl dt .item {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding-left: 16.2791vw;
        padding-right: 0;
    }

    #sec_3 .form_wrap dl dd input[type="text"],
    #sec_3 .form_wrap dl dd input[type="email"],
    #sec_3 .form_wrap dl dd select,
    #sec_3 .form_wrap dl dd textarea {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
}
