@charset "UTF-8";

/* breadcrumb
--------------------------------*/
#breadcrumb.breadcrumb_bg {
    padding: 13px 0 300px;
    background: url(../img/request/breadcrumb_bg.jpg) no-repeat center center /cover;
}

@media screen and (max-width: 768px) {
    #breadcrumb {
        display: none;
    }
}

/* request
--------------------------------*/
#request {
    padding: 50px 0 65px;
}

#request .wrap {
    max-width: 740px;
}

#request .en_ttl {
    font-size: 1.8rem;
    text-align: center;
}

#request .request_lead {
    line-height: 2;
    text-align: center;
    margin-top: 17px;
}

#request .request_lead + .request_lead {
    margin-top: 10px;
}

#request .request_lead.colona {
    margin: 60px 0 40px;
}

#request .request_lead.colona a {
    font-size: inherit;
}

#request .request_link {
    display: flex;
    justify-content: space-between;
    margin-top: 9%;
}

#request .request_link li {
    width: 33%;
    pointer-events: auto;
}

#request .request_link li a {
    font-size: 1.8rem;
    line-height: 1.4;
    letter-spacing: .1em;
    text-align: center;
    display: block;
    padding-bottom: 35px;
    position: relative;
}

#request .request_link li .en {
    color: #b6a6bf;
    display: block;
}

#request .request_link li .jp {
    font-size: 1.2rem;
    display: block;
}

#request .request_link li a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 10px;
    height: 10px;
    transform: translateX(-50%) rotate(45deg);
    border-bottom: 1px solid #3e3a39;
    border-right: 1px solid #3e3a39;
}

#request .request_link li a::after {
    content: '';
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    max-width: 130px;
    height: 2px;
    background: #3e3a39;
}

#request .request_link li a:hover::before {
    border-color: #b6a6bf;
}

#request .request_link li a:hover::after {
    height: 4px;
    background: #b6a6bf;
}

#request .tel_yoyaku {
    padding: 0 0 70px;
}

#request .tel_yoyaku .tel_ttl {
    font-size: 2.6rem;
    font-weight: 600;
    text-align: center;
}

#request .tel_yoyaku .tel_txt {
    font-size: 1.7rem;
    text-align: center;
    margin-top: 10px;
}

#request .tel_yoyaku .tel_open {
    font-size: 1.2rem;
    text-align: center;
    margin-top: 5px;
}

#request .tel_yoyaku .tel_btn_block {
    margin-top: 25px;
}

#request .tel_yoyaku .tel_btn_txt {
    font-size: 1.7rem;
    text-align: center;
}

#request .tel_yoyaku .tel_btn {
    margin-top: 5px;
}

#request .tel_yoyaku .tel_btn a {
    font-size: 3.1rem;
    letter-spacing: .1em;
    width: 312px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    font-variant-ligatures: none;
}

@media screen and (max-width: 768px) {
    #request {
        padding: 11% 0 9%;
    }

    #request .request_img {
        margin-top: 2%;
    }

    #request .en_ttl {
        font-size: 4.7vw;
    }

    #request .request_lead {
        font-size: 3.6vw;
        line-height: 1.75;
        margin-top: 8%;
    }

    #request .request_lead + .request_lead {
        margin-top: 5%;
    }

    #request .request_lead.sp_tal {
        text-align: left;
    }

    #request .request_lead .sp_mt {
        display: block;
        margin-top: .5em;
    }

    #request .request_lead.colona {
        margin: 10% 0 7%;
        text-align: left;
        font-size: 3.1vw;
    }

    #request .request_link {
        display: flex;
        justify-content: space-between;
        margin-top: 13%;
    }

    #request .request_link li {
        width: 32%;
        pointer-events: auto;
    }

    #request .request_link li a {
        font-size: 3.2vw;
        letter-spacing: 0;
        padding-bottom: 22%;
    }

    #request .request_link li .en {
        letter-spacing: 0;
    }

    #request .request_link li .jp {
        font-size: 2.6vw;
    }

    #request .request_link li a::before {
        bottom: 0;
        left: 50%;
        width: 2vw;
        height: 2vw;
    }

    #request .request_link li a::after {
        bottom: 27%;
        left: 0;
        width: 90%;
        max-width: 100%;
        height: 1px;
    }

    #request .tel_yoyaku {
        padding: 0 0 11%;
    }

    #request .tel_yoyaku .tel_ttl {
        font-size: 4.7vw;
    }

    #request .tel_yoyaku .tel_open {
        font-size: 3.1vw;
        margin-top: 2%;
    }

    #request .tel_yoyaku .tel_btn_block {
        margin-top: 6%;
    }

    #request .tel_yoyaku .tel_btn_txt {
        font-size: 3.1vw;
    }

    #request .tel_yoyaku .tel_btn_txt small {
        font-size: 2.6vw;
    }

    #request .tel_yoyaku .tel_btn {
        margin-top: 2%;
    }

    #request .tel_yoyaku .tel_btn a {
        font-size: 8.8vw;
        width: 100%;
        height: 14.5vw;
        font-variant-ligatures: none;
        pointer-events: auto;
    }
}

/* about
--------------------------------*/
#about {
    padding: 100px 0;
    background: url(../img/request/about_bg.png) no-repeat center top /cover;
}

#about .wrap {
    max-width: 950px;
}

#about .ttl_sec {
    font-size: 1.8rem;
    line-height: 1.4;
    text-align: center;
}

#about .ttl_sec .jp {
    font-size: 1.2rem;
    text-align: center;
    display: block;
}

#about .ttl_sec .en {
    text-align: center;
    display: block;
}

#about .flex {
    justify-content: space-between;
    margin-top: 47px;
}

#about .ttl_box {
    font-size: 1.2rem;
}

#about .txt {
    letter-spacing: .06em;
    line-height: 2;
}

#about .txt + .ttl_box {
    margin-top: 35px;
}

#about .txt .catch {
    font-size: 2rem;
    letter-spacing: .1em;
    display: block;
    margin-bottom: 16px;
}

@media screen and (max-width: 768px) {
    #about {
        padding: 11% 0;
        background: url(../img/request/about_bg.png) no-repeat center top /cover;
    }

    #about .wrap {
        max-width: 950px;
    }

    #about .ttl_sec {
        font-size: 4.6vw;
        line-height: 1.4;
        text-align: center;
    }

    #about .ttl_sec .jp {
        font-size: 2.9vw;
        text-align: center;
        display: block;
    }

    #about .ttl_sec .en {
        text-align: center;
        display: block;
    }

    #about .flex {
        display: block;
        margin-top: 7%;
    }

    #about .img {
        width: 87%;
        margin: 0 auto;
    }

    #about .ttl_box {
        font-size: 2.6vw;
        text-align: center;
        margin-top: 7%;
    }

    #about .txt {
        font-size: 3.6vw;
        letter-spacing: .05em;
        line-height: 2;
    }

    #about .txt + .ttl_box {
        margin-top: 10%;
    }

    #about .txt .sp_mt {
        display: inline-block;
        margin-top: 3.5%;
    }

    #about .txt .catch {
        font-size: 3.9vw;
        display: block;
        margin-bottom: 5%;
        text-align: center;
    }
}

/* course
--------------------------------*/
#course {
    padding: 100px 0;
}

#course .wrap {
    max-width: 1050px;
}

#course .ttl_sec {
    font-size: 1.8rem;
    line-height: 1.4;
    text-align: center;
}

#course .ttl_sec .jp {
    font-size: 1.2rem;
    text-align: center;
    display: block;
}

#course .ttl_sec .en {
    text-align: center;
    display: block;
}

#course .lead {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.075em;
    text-align: center;
    margin-top: 31px;
}

#course .lead .kome {
    font-size: 1rem;
}

#course .tab {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    border-bottom: 2px solid #e5e6e6;
    margin-top: 60px;
}

#course .tab li {
    font-size: 1.8rem;
    line-height: 50px;
    text-align: center;
    width: 45%;
    max-width: 423px;
    height: 50px;
    border: 2px solid #e5e6e6;
    border-bottom: 0;
    cursor: pointer;
    border-radius: 5px 5px 0 0;
    background: #d5d5d7;
    color: #fff;
    margin-bottom: -2px;
}

#course .tab li:nth-child(1) {
    border-right-width: 1px;
}

#course .tab li:nth-child(2) {
    border-left-width: 1px;
}

#course .tab li.current {
    /*	color: #636569;
	background: #fff;*/
    color: #FFF;
    background: #af9670;
    border-color: #ede6dd;
}

#course .tab_box_wrap {
    margin-top: 60px;
}

#course .course_head {
    position: relative;
    border-top: 1px solid #717171;
    max-width: 704px;
    width: 100%;
    margin: 0 auto;
}

#course .course_head_in {
    padding-bottom: 15px;
    position: relative;
    border-bottom: 1px solid #717171;
}

#course .course_head::before,
#course .course_head::after,
#course .course_head_in::before,
#course .course_head_in::after {
    content: '';
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #717171;
}

#course .course_head::before {
    top: -3px;
    left: 0;
}

#course .course_head::after {
    top: -3px;
    right: 0;
}

#course .course_head_in::before {
    bottom: -3px;
    left: 0;
}

#course .course_head_in::after {
    bottom: -3px;
    right: 0;
}

#course .course_type {
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    text-align: center;
    color: #b6a6bf;
    margin-top: -1em;
}

#course .course_type span {
    padding: 0 1em;
    background: rgb(241 241 241);
}

#course .course_box {
    padding: 35px 25px 31px;
    margin: 20px auto 0;
    background: rgba(186, 170, 196, .2);
    max-width: 845px;
}

#course .course_box:first-child {
    margin-top: 0;
}

#course .course_ttl {
    font-size: 2.6rem;
    text-align: center;
    color: #b6a6bf;
    margin-top: 20px;
    margin-bottom: 15px;
}

#course .course_lead {
    font-size: 1.4rem;
    text-align: center;
    letter-spacing: .075em;
    margin-top: 30px;
}

#course .course_lead .kome {
    font-size: 1rem;
    line-height: 1.6;
    display: block;
    margin-top: 5px;
}

#course .course_lead .kome + .kome {
    margin-top: 0;
}

#course .course_text {
    font-size: 1.2rem;
    letter-spacing: 0.075em;
    font-weight: 500;
    color: #717171;
    text-align: center;
    margin-top: 20px;
}

#course .course_text span:not(.pc) {
    background: #fff;
    border-radius: 25px;
    padding: 0.2em 2em;
    display: inline-block;
}

#course .efficacy {
    display: flex;
    justify-content: center;
    margin-top: 15px;
}

#course .efficacy li {
    font-size: 1.2rem;
    line-height: 1.33;
    color: #fff;
    background: #baaac4;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin: 0 10px;
}

#course .efficacy li span {
    text-align: center;
    padding-top: 0.5em;
}

#course .efficacy li sup {
    transform: scale(0.8);
    display: inline-block;
}

#course .price {
    text-align: center;
    margin-top: 15px;
}

#course .flow {
    display: flex;
    justify-content: center;
    background: #ffffff;
    margin-top: 20px;
}

#course .flow li {
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-align: center;
    height: 60px;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

#course .flow li a {
    text-decoration: underline;
}

#course .flow li a:hover {
    font-weight: 700;
}

#course .flow li::before,
#course .flow li::after {
    content: '';
    position: absolute;
    top: 0;
    left: -20px;
    width: 20px;
    background: transparent;
    border-right: 3px solid rgba(186, 170, 196, .2);
    height: 50%;
    transform: skewX(25deg);
}

#course .flow li::after {
    top: auto;
    bottom: 0;
    transform: skewX(-25deg);
}

#course .flow li:first-child::before,
#course .flow li:first-child::after {
    display: none;
}

#course .request_btn {
    margin-top: 30px;
}

#course .request_btn a {
    font-size: 1.4rem;
    padding: 3px 0;
    max-width: 210px;
    height: 32px;
    transition: opacity .4s;
    width: 100%;
}

#course .request_btn a:hover {
    opacity: .7;
    background: #b6a6bf;
}

#course .request_note {
    font-size: 1rem;
    padding-top: 5px;
    padding-left: 1em;
    text-indent: -1em;
    position: relative;
}

#course .course_type.winter {
    color: #a38457;
}

#course .course_box.winter {
    background-image: url(../img/request/winter_icon01.png), url(../img/request/winter_icon01.png), url(../img/request/winter_icon01.png), url(../img/request/winter_icon01.png);
    background-position: left 8px top 8px, right 8px top 8px, right 8px bottom 8px, left 8px bottom 8px;
    background-repeat: no-repeat;
    background-color: rgba(180, 151, 110, 0.15);
}

#course .course_box.winter .img {
    text-align: center;
    margin-bottom: 5px;
}

#course .course_box.winter .course_ttl {
    color: #a38457;
}

#course .course_box.winter .request_box {
    border-left-color: #a38457;
}

#course .course_box.winter .request_btn a {
    background: #a38457;
}

#course .course_box.winter .course_lead .time {
    display: inline-block;
    margin-bottom: 0.5em;
}

#course .course_box.winter .course_lead .small {
    font-size: 1rem;
}

#course li.small {
    transform: scale(0.9);
    white-space: nowrap;
}

#course .ea_course_box .course_head,
#course .face_ea_course_box .course_head {
    border-top-color: #b6a6bf;
}

#course .ea_course_box .course_head_in,
#course .face_ea_course_box .course_head_in {
    border-bottom-color: #b6a6bf;
}

#course .ea_course_box .course_head::before,
#course .ea_course_box .course_head::after,
#course .ea_course_box .course_head_in::before,
#course .ea_course_box .course_head_in::after,
#course .face_ea_course_box .course_head::before,
#course .face_ea_course_box .course_head::after,
#course .face_ea_course_box .course_head_in::before,
#course .face_ea_course_box .course_head_in::after {
    background: #b6a6bf;
}

#course .ea_course_box .course_type span,
#course .face_ea_course_box .course_type span {
    background: rgb(241 238 243);
}

#course .ea_course_box .course_text,
#course .face_ea_course_box .course_text {
    color: #b6a6bf;
}

#course .summer_course_box .course_head::before,
#course .summer_course_box .course_head::after,
#course .summer_course_box .course_head_in::before,
#course .summer_course_box .course_head_in::after {
    display: none;
}

#course .summer_course_box .course_type {
    margin-top: 0;
}

#course .summer_course_box .course_head {
    border-top: 0;
    padding-bottom: 0;
}

#course .summer_course_box .course_head_in {
    border-bottom: 0;
    padding-bottom: 0;
}

#course .summer_course_box {
    background: rgba(180, 151, 110, .15);
}

#course .summer_course_box .course_text {
    letter-spacing: 0.075em;
}

#course .summer_course_box .course_text span,
#course .summer_course_box .course_type,
#course .summer_course_box .course_ttl {
    color: #b4976e;
}

#course .summer_course_box .efficacy li,
#course .summer_course_box .request_btn a {
    background: #b4976e;
}

#course .summer_course_box .efficacy li::before,
#course .summer_course_box .efficacy li::after {
    background: rgba(180, 151, 110, .15);
}

#course .short_course_box {
    background: rgba(113, 113, 113, .1);
}

#course .short_course_box .course_type,
#course .short_course_box .course_ttl {
    color: #717171;
}

#course .short_course_box .efficacy li,
#course .short_course_box .request_btn a {
    background: #717171;
}

#course .short_course_box .efficacy li::before,
#course .short_course_box .efficacy li::after {
    border-right: rgba(113, 113, 113, .1);
}

#course .embe_course_box .course_head {
    border-top-color: #829c8a;
}

#course .embe_course_box .course_head_in {
    border-bottom-color: #829c8a;
}

#course .embe_course_box .course_head::before,
#course .embe_course_box .course_head::after,
#course .embe_course_box .course_head_in::before,
#course .embe_course_box .course_head_in::after {
    background: #829c8a;
}

#course .embe_course_box .course_type span {
    background: #f2f5f3;
}

#course .embe_course_box .course_text {
    color: #829c8a;
}

#course .embe_course_box {
    background: rgba(130, 156, 138, .1);
}

#course .embe_course_box .course_type,
#course .embe_course_box .course_ttl {
    color: #829c8a;
}

#course .embe_course_box .efficacy li,
#course .embe_course_box .request_btn a {
    background: #829c8a;
}

#course .embe_course_box .efficacy li::before,
#course .embe_course_box .efficacy li::after {
    border-right: rgba(130, 156, 138, .1);
}

#course .exvie_course_box {
    background: rgba(184, 178, 116, .2);
}

#course .exvie_course_box .course_type,
#course .exvie_course_box .course_ttl {
    color: #b8b274;
}

#course .exvie_course_box .efficacy li,
#course .exvie_course_box .request_btn a {
    background: #b8b274;
}

#course .exvie_course_box .efficacy li::before,
#course .exvie_course_box .efficacy li::after {
    border-right: rgba(184, 178, 116, .2);
}

#course .exvie_course_box .course_head {
    border-top-color: #b8b274;
}

#course .exvie_course_box .course_head_in {
    border-bottom-color: #b8b274;
}

#course .exvie_course_box .course_head::before,
#course .exvie_course_box .course_head::after,
#course .exvie_course_box .course_head_in::before,
#course .exvie_course_box .course_head_in::after {
    background: #b8b274;
}

#course .exvie_course_box .course_type span {
    background: #f1f0e3;
}

#course .exvie_course_box .course_text {
    color: #b8b274;
}

#course .bd_course_box {
    background: #F2F0E3;
}

#course .bd_course_box .course_head {
    border-top-color: #B8B274;
}

#course .bd_course_box .course_head_in {
    border-bottom-color: #B8B274;
}

#course .bd_course_box .course_head::before,
#course .bd_course_box .course_head::after,
#course .bd_course_box .course_head_in::before,
#course .bd_course_box .course_head_in::after {
    background: #B8B274;
}

#course .bd_course_box .course_type span {
    background: #F2F0E3;
}

#course .bd_course_box .course_ttl {
    color: #B8B274;
}

#course .bd_course_box .course_text {
    color: #B8B274;
}

#course .bd_course_box .request_btn a {
    background: #B8B274;
}

#course .line {
    margin-top: 55px;
    border: 0;
    border-top: 3px solid #e5e6e6;
}

@media screen and (max-width: 768px) {
    #course {
        padding: 10% 0 14%;
    }

    #course .wrap {
        max-width: 100%;
    }

    #course .ttl_sec {
        font-size: 4.6vw;
        text-align: left;
    }

    #course .ttl_sec .jp {
        font-size: 2.9vw;
        text-align: center;
        display: block;
    }

    #course .ttl_sec .en {
        text-align: center;
        display: block;
    }

    #course .lead {
        font-size: 3.6vw;
        line-height: 1.7;
        letter-spacing: 0;
        text-align: left;
        margin-top: 6%;
    }

    #course .lead .kome {
        font-size: 3.1vw;
        line-height: 1.67;
        display: block;
        padding-left: 1em;
        text-indent: -1em;
        margin-top: 2%;
    }

    #course .tab {
        border-bottom: 2px solid #e5e6e6;
        margin: 10% -5.5% 0;
    }

    #course .tab li {
        font-size: 3.4vw;
        line-height: 1.4;
        width: 50%;
        max-width: 100%;
        height: 13vw;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 1.5vw 1.5vw 0 0;
    }

    #course .tab li:nth-child(1) {
        border-left: 0;
        border-right-width: 1px;
    }

    #course .tab li:nth-child(2) {
        border-right: 0;
        border-left-width: 1px;
    }

    #course .tab_box_wrap {
        margin-top: 6%;
    }

    #course .tab_box {
        margin: 0 -5.5%;
    }

    #course .course_box {
        padding: 7% 6% 4%;
        margin: 3% auto 0;
    }

    #course .course_head_in {
        padding-bottom: 3vw;
    }

    #course .course_head::before,
    #course .course_head::after,
    #course .course_head_in::before,
    #course .course_head_in::after {
        width: 5px;
        height: 5px;
    }

    #course .course_head::before {
        top: -3px;
        left: 0;
    }

    #course .course_head::after {
        top: -3px;
        right: 0;
    }

    #course .course_head_in::before {
        bottom: -3px;
        left: 0;
    }

    #course .course_head_in::after {
        bottom: -3px;
        right: 0;
    }

    #course .course_text {
        font-size: 3.1vw;
        margin-top: 4vw;
    }

    #course .course_text span:not(.pc) {
        padding: 0.3em 1em;
        display: block;
    }

    #course .course_type {
        font-size: 3.1vw;
        margin-top: -1em;
    }

    #course .course_ttl {
        font-size: 5.7vw;
        margin-top: 3vw;
        margin-bottom: 4vw;
    }

    #course .course_lead {
        font-size: 3.6vw;
        line-height: 1.4;
        text-align: left;
        letter-spacing: 0;
        margin-top: 7%;
    }

    #course .course_lead .bold {
        display: block;
        text-align: center;
        margin-bottom: 1.5%;
    }

    #course .course_lead .kome {
        font-size: 2.6vw;
        margin-top: 1%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        text-align: left;
        padding-left: 1em;
        text-indent: -1em;
    }

    #course .efficacy {
        margin-top: 4%;
    }

    #course .efficacy li {
        font-size: 2.87vw;
        width: 17.5vw;
        height: 17.5vw;
        margin: 0 2vw;
    }

    #course .efficacy li sup {
        transform: scale(0.8);
        display: inline-block;
    }

    #course .price {
        font-size: 4.4vw;
        margin-top: 6%;
    }

    #course .flow {
        margin-top: 4%;
    }

    #course .flow li {
        font-size: 1.95vw;
        letter-spacing: 0;
        height: 11.7vw;
    }

    #course .flow li.diamond {
        padding-right: 0.3em;
    }

    #course .flow li::before,
    #course .flow li::after {
        left: -3vw;
        width: 3vw;
        border-right-width: 2px;
    }

    #course .request_btn {
        margin-top: 4%;
    }

    #course .request_btn a {
        font-size: 4.1vw;
        padding: 2.5% 0;
        max-width: 100%;
        height: 10.7vw;
    }

    #course .request_note {
        font-size: 2.6vw;
        padding-top: 2%;
    }

    #course .course_type.winter {
        color: #a38457;
    }

    #course .course_box.winter {
        background-size: 4vw;
        background-position: left 3vw top 3vw, right 3vw top 3vw, right 3vw bottom 3vw, left 3vw bottom 3vw;
        background-repeat: no-repeat;
        background-color: rgba(180, 151, 110, 0.15);
        padding: 7% 6% 12%;
        border-radius: 0;
    }

    #course .course_box.winter .img {
        text-align: center;
        width: 63%;
        margin: 0 auto 3%;
    }

    #course .course_box.winter .request_box {
        margin-top: 3%;
    }

    #course .course_box.winter .course_lead .time {
        display: block;
        margin-bottom: 0.5em;
        text-align: center;
    }

    #course .course_box.winter .course_lead .small {
        font-size: 1rem;
    }

    #course .line {
        display: none;
    }

    #course .summer_course_box .course_type img {
        width: 52%;
    }
}

/* flow
--------------------------------*/
#flow {
    padding: 100px 0 84px;
    background: rgba(181, 181, 182, .15);
}

#flow .wrap {
    max-width: 950px;
}

#flow .ttl_sec {
    font-size: 1.8rem;
    line-height: 1.4;
    text-align: center;
}

#flow .ttl_sec .jp {
    font-size: 1.2rem;
    text-align: center;
    display: block;
}

#flow .ttl_sec .en {
    text-align: center;
    display: block;
}

#flow .lead {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.075em;
    text-align: center;
    margin-top: 48px;
}

#flow .lead_kome li {
    font-size: 1rem;
    text-align: center;
    line-height: 1.6;
}

#flow .flow {
    display: flex;
    justify-content: space-between;
    margin-top: 25px;
}

#flow .flow li {
    width: 115px;
    position: relative;
}

#flow .flow li:last-child::before {
    display: none;
}

#flow .flow li::before {
    content: '';
    position: absolute;
    top: 49px;
    right: -20px;
    width: 1.2em;
    height: 1.2em;
    background: url(../img/request/arw.svg) no-repeat center center /contain;
}

#flow .flow li .circle {
    font-size: 1.4rem;
    text-align: center;
    color: #fff;
    letter-spacing: 0.1em;
    line-height: 1.57;
    width: 115px;
    height: 115px;
    background: #d5ccdc;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
}

#flow .flow li.color2 .circle {
    background: #baaac4;
}

#flow .flow li .circle .small {
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: 0;
    text-align: center;
    position: absolute;
    bottom: 13px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

#flow .flow li .txt {
    font-size: 1rem;
    line-height: normal;
    text-align: center;
    color: #baaac4;
    margin-top: 10px;
}

#flow .box {
    background: #fff;
    margin-top: 48px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

#flow .box .img {
    position: absolute;
    top: -30px;
    right: -35px;
}

#flow .mark {
    width: 100%;
    padding: 45px;
    position: relative;
}

#flow .box::before,
#flow .box::after,
#flow .mark::before,
#flow .mark::after {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #b6a6bf;
}

#flow .box::after {
    left: auto;
    right: 10px;
}

#flow .mark::before {
    top: auto;
    bottom: 10px;
}

#flow .mark::after {
    top: auto;
    left: auto;
    right: 10px;
    bottom: 10px;
}

#flow .box .ttl {
    font-size: 1.8rem;
    text-align: center;
}

#flow .box .center {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#flow .box .check {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    max-width: 600px;
    margin-top: 20px;
}

#flow .box p {
    font-size: 1.4rem;
    margin-left: 15px;
}

#flow .box .check li {
    letter-spacing: .075em;
    position: relative;
    padding-left: 1.2em;
    width: 25%;
    margin-top: 13px;
}

#flow .box .check li:nth-child(2),
#flow .box .check li:nth-child(5) {
    width: 30%;
}

#flow .box .check li:nth-child(3),
#flow .box .check li:nth-child(6) {
    width: 45%;
}

#flow .box .check li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 52%;
    transform: translateY(-50%);
    width: .9em;
    height: .9em;
    background: url(../img/request/check.svg) no-repeat center center /contain;
}

#flow .box .note {
    font-size: 1rem;
    color: #636569;
    line-height: 1.6;
    color: #636569;
    text-align: center;
    margin-top: 30px;
}

@media screen and (max-width: 768px) {
    #flow {
        padding: 14% 0;
    }

    #flow .ttl_sec {
        font-size: 4.6vw;
        text-align: left;
    }

    #flow .ttl_sec .jp {
        font-size: 2.9vw;
        text-align: center;
        display: block;
    }

    #flow .ttl_sec .en {
        text-align: center;
        display: block;
    }

    #flow .lead {
        font-size: 3.6vw;
        line-height: 1.7;
        letter-spacing: 0;
        text-align: left;
        margin-top: 6%;
    }

    #flow .lead_kome {
        margin-top: 2%;
    }

    #flow .lead_kome li {
        font-size: 3.1vw;
        line-height: 1.67;
        text-align: left;
        padding-left: 1em;
        text-indent: -1em;
    }

    #flow .flow {
        display: block;
        width: 92%;
        margin: 9% auto 0;
    }

    #flow .flow li {
        width: auto;
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    #flow .flow li + li {
        margin-top: 4.8%;
    }

    #flow .flow li::before {
        top: auto;
        bottom: -3.5vw;
        right: auto;
        left: 21vw;
        width: 0.8em;
        height: 0.8em;
        transform: rotate(90deg);
    }

    #flow .flow li .circle {
        font-size: 3.39vw;
        letter-spacing: 0;
        line-height: 1.57;
        width: 45.8vw;
        height: 7.2vw;
        border-radius: 7vw;
        margin-right: 2vw;
    }

    #flow .flow li .txt {
        font-size: 2.6vw;
        line-height: 1.2;
        text-align: left;
        margin-top: 0;
    }

    #flow .box {
        margin-top: 9%;
    }

    #flow .box .img {
        top: -22vw;
        right: -1vw;
        width: 25.6vw;
    }

    #flow .mark {
        padding: 12% 5%;
    }

    #flow .box .center {
        justify-content: flex-start;
    }

    #flow .box::before,
    #flow .box::after,
    #flow .mark::before,
    #flow .mark::after {
        top: 2.5vw;
        left: 2.5vw;
        width: 1.3vw;
        height: 1.3vw;
    }

    #flow .box::after {
        left: auto;
        right: 2.5vw;
    }

    #flow .mark::before {
        top: auto;
        bottom: 2.5vw;
    }

    #flow .mark::after {
        top: auto;
        left: auto;
        right: 2.5vw;
        bottom: 2.5vw;
    }

    #flow .box .ttl {
        font-size: 4.1vw;
    }

    #flow .box p {
        font-size: 2.6vw;
        margin-left: 0;
    }

    #flow .box .check {
        max-width: 100%;
        width: calc(100% - 2em);
        margin-top: 6%;
    }

    #flow .box .check li,
    #flow .box .check li:nth-child(5),
    #flow .box .check li:nth-child(3) {
        font-size: 3.2vw;
        padding-left: 1.2em;
        width: 39%;
        margin-top: 3.2%;
    }

    #flow .box .check li:nth-child(2),
    #flow .box .check li:nth-child(4),
    #flow .box .check li:nth-child(6) {
        width: 61%;
    }

    #flow .box .check li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 52%;
        transform: translateY(-50%);
        width: .9em;
        height: .9em;
        background: url(../img/request/check.svg) no-repeat center center /contain;
    }

    #flow .box .note {
        font-size: 2.6vw;
        text-align: left;
        padding-left: 1em;
        text-indent: -1em;
        margin-top: 6%;
    }
}

/* gift
--------------------------------*/
#gift {
    padding: 100px 0;
}

#gift .wrap {
    padding: 50px 20px 40px;
    max-width: 950px;
    border: 4px solid #ede6dd;
}

#gift .ttl_sec {
    font-size: 1.8rem;
    line-height: 1.4;
    text-align: center;
}

#gift .ttl_sec .jp {
    font-size: 1.2rem;
    text-align: center;
    display: block;
    color: #a38457;
}

#gift .lead {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.075em;
    text-align: center;
    margin-top: 10px;
}

#gift .main_img {
    text-align: center;
    margin-top: 20px;
}

#gift .txt {
    color: #a38457;
    letter-spacing: 0.1em;
    text-align: center;
    margin-top: 43px;
}

#gift .select {
    display: flex;
    justify-content: center;
    margin-top: 15px;
}

#gift .select li {
    margin: 0 20px;
}

#gift .select p {
    font-size: 1.4rem;
    line-height: 1.4;
    letter-spacing: 0.025em;
    text-align: center;
    color: #a38457;
}

#gift .select p .price {
    display: inline-block;
    margin-top: 0.5em;
}

#gift .select p .price .small {
    font-size: 0.8em;
}

#gift .select + .txt {
    margin-top: 42px;
}

#gift .note {
    margin-top: 43px;
}

#gift .note li {
    font-size: 1rem;
    line-height: 1.8;
    color: #636569;
    letter-spacing: .074em;
    padding-left: 1em;
    text-indent: -1em;
    text-align: center;
}

@media screen and (max-width: 768px) {
    #gift {
        padding: 12% 0 17%;
    }

    #gift .wrap {
        padding: 8% 4%;
        max-width: 950px;
        border-width: 3px;
    }

    #gift .ttl_sec {
        font-size: 3.6vw;
    }

    #gift .ttl_sec img {
        width: 73%;
    }

    #gift .ttl_sec .jp {
        font-size: 2.9vw;
        margin-top: -1vw;
    }

    #gift .lead {
        font-size: 3.6vw;
        line-height: 1.7;
        letter-spacing: 0;
        text-align: left;
        margin-top: 6%;
    }

    #gift .main_img {
        margin-top: 6%;
    }

    #gift .txt {
        margin-top: 10%;
    }

    #gift .select {
        display: block;
        margin: 3% -3% 0;
    }

    #gift .select li {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin: 0;
    }

    #gift .select .img {
        width: 30vw;
        margin-right: 1vw;
    }

    #gift .select p {
        font-size: 3.9vw;
        text-align: left;
        letter-spacing: 0;
    }

    #gift .select + .txt {
        margin-top: 1%;
    }

    #gift .note {
        margin-top: 8%;
    }

    #gift .note li {
        font-size: 2.6vw;
        line-height: 1.8;
        letter-spacing: .05em;
        text-align: left;
    }
}

/* club
--------------------------------*/
#club {
    padding-bottom: 100px;
}

#club .box {
    border: 1px solid #beb875;
    max-width: 600px;
    margin: 0 auto;
}

#club .box a {
    display: flex;
    justify-content: space-between;
}

#club .box a:hover img {
    opacity: 1;
}

#club .img {
    background: #f8f8f1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 15px 20px 20px;
}

#club .img img {
    max-width: 221px;
}

#club .box_txt {
    padding: 30px;
}

#club .club_ttl {
    font-size: 2.2rem;
    text-align: left;
    color: #beb875;
}

#club .club_ttl small {
    font-size: 1.8rem;
}

#club .club_subttl {
    font-size: 1.6rem;
    text-align: left;
    margin-top: 12px;
}

#club .txt {
    font-size: 1.4rem;
    line-height: 1.875;
    margin-top: 10px;
}

#club .btn {
    margin-top: 15px;
}

#club .btn span {
    font-size: 1.2rem;
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    #club {
        margin-bottom: 18%;
        padding: 14% 0 14%;
        background: #f8f8f1;
    }

    #club .flex {
        display: block;
    }

    #club .box {
        border: 0;
        max-width: 100%;
        margin: 0 auto;
    }

    #club .box a {
        display: block;
    }

    #club .img {
        width: 77%;
        padding: 0;
        margin: 9% auto 0;
    }

    #club .img img {
        max-width: 100%;
    }

    #club .box_txt {
        padding: 0;
    }

    #club .club_ttl {
        font-size: 6.2vw;
        text-align: center;
    }

    #club .club_ttl small {
        font-size: 5.2vw;
    }

    #club .club_subttl {
        font-size: 4.2vw;
        text-align: center;
        margin-top: 3%;
    }

    #club .txt {
        font-size: 3.9vw;
        line-height: 1.8;
        text-align: center;
        margin-top: 3%;
    }

    #club .more {
        text-align: center;
        margin-top: 3%;
    }

    #club .more a {
        display: inline-block;
    }
}

/* modal
--------------------------------*/
.mfp-bg {
    opacity: .5;
}

.modal_course {
    max-width: 950px;
    min-height: 520px;
    background: #fff;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.ie .modal_course {
    min-height: 0;
    padding: 100px 0;
}

.modal_course .btn_close_modal {
    position: absolute;
    top: 20px;
    left: 25px;
    width: 20px;
    height: 20px;
    cursor: pointer;
}

.modal_course .btn_close_modal img {
    vertical-align: middle;
}

.mfp-close-btn-in .modal_course .mfp-close {
    display: none;
}

.modal_course .box {
    max-width: 540px;
    margin: 0;
    width: 90%;
}

.modal_course .ttl {
    font-size: 1.8rem;
    letter-spacing: 0.075em;
    text-align: center;
}

.modal_diamond .flex {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.modal_diamond .img {
    width: 285px;
}

.modal_diamond .txt {
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.075em;
    max-width: 225px;
}

.modal_mask .box {
    max-width: 820px;
}

.modal_mask .txt {
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.075em;
    text-align: center;
}

.modal_mask .list {
    display: flex;
    justify-content: space-between;
    margin-top: 15px;
}

.modal_mask .list > li {
    border: 1px solid #baaac4;
    width: 265px;
    height: 265px;
    border-radius: 50%;
    padding: 38px 40px 0;
}

.modal_mask .list dt {
    color: #b6a6bf;
    text-align: center;
    margin: 0 auto;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #b6a6bf;
}

.modal_mask .list dd {
    font-size: 1.2rem;
    letter-spacing: 0.05em;
}

.modal_mask .list dd .bold {
    text-align: center;
    display: block;
    margin-top: 5px;
}

.modal_mask .efficacy {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

.modal_mask .efficacy li {
    font-size: 1rem;
    line-height: 1;
    color: #fff;
    letter-spacing: -0.02em;
    background: #baaac4;
    border-radius: 50%;
    width: 55px;
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin: 0 3px;
}

.modal_mask .efficacy li span {
    text-align: center;
    padding-top: 6px;
    display: inline-block;
}

.modal_mask .efficacy li sup {
    transform: scale(0.8);
    display: inline-block;
}

.modal_mask .note {
    font-size: 1rem;
    text-align: right;
    margin-top: 10px;
}

@media screen and (max-width: 768px) {
    .mfp-bg {
        opacity: .5;
    }

    .modal_course {
        max-width: 90%;
        min-height: 0;
        max-height: 90vh;
        padding: 12% 0;
        overflow-y: auto;
        display: block;
    }

    .modal_course .btn_close_modal {
        position: absolute;
        top: 1vw;
        left: 3vw;
        width: 4.5vw;
        height: 4.5vw;
        cursor: pointer;
    }

    .modal_course .btn_close_modal img {
        vertical-align: middle;
    }

    .mfp-close-btn-in .modal_course .mfp-close {
        display: none;
    }

    .modal_course .box {
        max-width: 100%;
        margin: 0 auto;
        width: 70%;
    }

    .modal_course .ttl {
        font-size: 4.6vw;
    }

    .modal_diamond .flex {
        display: block;
        margin-top: 6%;
    }

    .modal_diamond .img {
        width: auto;
    }

    .modal_diamond .txt {
        font-size: 3.6vw;
        letter-spacing: 0;
        max-width: 100%;
        margin-top: 6%;
    }

    .modal_mask .box {
        max-width: 100%;
    }

    .modal_mask .txt {
        font-size: 3.6vw;
        letter-spacing: 0;
        text-align: left;
        margin-top: 3%;
    }

    .modal_mask .list {
        display: block;
        margin-top: 6%;
    }

    .modal_mask .list > li {
        border: 1px solid #baaac4;
        width: auto;
        height: auto;
        border-radius: 2vw;
        padding: 4% 3%;
    }

    .modal_mask .list > li + li {
        margin-top: 5%;
    }

    .modal_mask .list dt {
        font-size: 3.9vw;
        padding-bottom: 0.4em;
        letter-spacing: 0.05em;
        border-bottom: 1px solid #b6a6bf;
    }

    .modal_mask .list dd {
        font-size: 3.1vw;
    }

    .modal_mask .list dd .bold {
        margin-top: 3%;
    }

    .modal_mask .efficacy {
        margin-top: 3%;
    }

    .modal_mask .efficacy li {
        font-size: 2.6vw;
        width: 14.5vw;
        height: 14.5vw;
        margin: 0 .8vw;
    }

    .modal_mask .efficacy li span {
        padding-top: .5em;
    }

    .modal_mask .note {
        font-size: 2.6vw;
        margin-top: 4%;
    }
}

/* sp_contact
--------------------------------*/
@media screen and (max-width: 768px) {
    .sp_contact {
        position: fixed;
        bottom: 1vw;
        left: 0;
        display: none;
        width: 100%;
        display: flex;
        justify-content: space-around;
        z-index: 99;
    }

    .sp_contact li {
        width: 49%;
    }

    .sp_contact li a {
        height: 100%;
        color: #fff;
        display: block;
        background: #b6a6bf;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 5%;
    }

    .sp_contact li img {
        width: 3.2vw;
        margin-right: 2vw;
    }
}

/* form
--------------------------------*/
#form {
    padding: 70px 0 95px;
}

#form .disabled {
    color: #AAA;
}

#form .wrap {
    max-width: 740px;
}

#form .en_ttl {
    font-size: 1.8rem;
    text-align: center;
}

#form .form_lead {
    font-size: 1.5rem;
    text-align: center;
    margin-top: 25px;
}

#form .form_lead .margin {
    display: block;
    margin: .5em 0 0;
}

#form .form_yoyaku {
    margin-top: 45px;
}

#form .form_yoyaku > p {
    font-size: 1.1rem;
    font-weight: 700;
    margin-top: 20px;
}

#form .form_yoyaku > p:first-child {
    margin-top: 0;
}

#form .form_yoyaku .list {
    margin-top: 5px;
}

#form .form_yoyaku .list li {
    font-size: 1.1rem;
    line-height: 1.67;
    padding-left: 1em;
    text-indent: -1em;
}

#form .form_yoyaku .table {
    display: flex;
    justify-content: space-between;
    border: 1px solid #3d3a39;
    margin-top: 3px;
}

#form .form_yoyaku .table li {
    padding: 6px;
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#form .form_yoyaku .table li {
    border-left: 1px solid #3d3a39;
}

#form .form_yoyaku .table li:first-child {
    border-left: 0;
}

#form .form_yoyaku .table li p {
    font-size: 1.1rem;
    line-height: 1.4;
}

#form .form {
    margin-top: 50px;
    padding: 100px 0;
    border-top: 1px solid rgba(61, 58, 57, .5);
    border-bottom: 1px solid rgba(61, 58, 57, .5);
}

#form .form_ttl {
    font-size: 2.2rem;
    font-weight: 600;
    text-align: center;
}

#form .form_note {
    font-size: 1rem;
    text-align: center;
    margin-top: 20px;
}

#form.confirm .form_ttl {
    display: none;
}

#form.confirm .form_note {
    display: none;
}

#form .form input[type="text"],
#form .form input[type="email"],
#form .form input[type="tel"],
#form .form select,
#form .form textarea,
#form .form .minict_wrapper span {
    font-size: 1.4rem;
    padding: 0 10px;
    max-width: 400px;
    width: 100%;
    height: 42px;
    border: 1px solid #3d3a39;
}

#form .form input::-webkit-input-placeholder {
    font-size: 1.2rem;
    color: #b3b3b3;
}

#form .form input:-ms-input-placeholder {
    font-size: 1.2rem;
    color: #b3b3b3;
}

#form .form input::-moz-placeholder {
    font-size: 1.2rem;
    color: #b3b3b3;
}

#form .form textarea::-webkit-input-placeholder {
    font-size: 1.2rem;
    color: #b3b3b3;
}

#form .form textarea:-ms-input-placeholder {
    font-size: 1.2rem;
    color: #b3b3b3;
}

#form .form textarea::-moz-placeholder {
    font-size: 1.2rem;
    color: #b3b3b3;
}

#form .form .minict_wrapper * {
    font-family: 'Noto Sans JP', sans-serif !important;
}

#form .form .minict_wrapper {
    height: 100%;
    width: auto;
    border-radius: 0;
}

#form .form .minict_wrapper:after {
    display: none;
}

#form .form .minict_wrapper span {
    line-height: 41px;
    position: relative;
}

#form .form .minict_wrapper span:empty:before {
    font-size: 1.2rem;
    pointer-events: none;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #b3b3b3;
}

#form .form .minict_wrapper ul {
    top: 42px;
    width: 100%;
    margin: 0;
    border: 1px solid #000;
    border-top: 0;
    border-radius: 0;
}

#form .form .minict_wrapper ul li {
    font-size: 1.4rem;
    height: auto;
    padding: 5px 10px;
}

#form .form .minict_wrapper ul li.selected {
    color: #3e3a39;
    background: #f0f0f0;
}

#form .form .radio {
    display: inline-block;
    margin-right: 20px;
    cursor: pointer;
}

#form .form .radio input {
    position: absolute;
    width: 1px;
    visibility: hidden;
}

#form .form .radio span {
    line-height: 1.6;
    display: inline-block;
    position: relative;
    padding-left: 20px;
}

#form .form .radio span::before,
#form .form .radio span::after {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 16px;
    height: 16px;
    border: 1px solid #3d3a39;
    background: #fff;
    border-radius: 50%;
}

#form .form .radio span::after {
    top: 7px;
    left: 2px;
    width: 12px;
    height: 12px;
    background: #3d3a39;
    border: 0;
    opacity: 0;
}

#form .form #member_limited {
    padding-top: 10px;
}

#form .form .radio input:checked + span::after {
    opacity: 1;
}

#form .form .mwform-checkbox-field {
    display: inline-block;
    margin-right: 20px;
    cursor: pointer;
}

#form .form .mwform-checkbox-field input {
    position: absolute;
    width: 1px;
    visibility: hidden;
}

#form .form .mwform-checkbox-field span {
    line-height: 1.6;
    display: inline-block;
    position: relative;
    padding-left: 20px;
}

#form .form .mwform-checkbox-field span::before,
#form .form .mwform-checkbox-field span::after {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    width: 16px;
    height: 16px;
    border: 1px solid #3d3a39;
    background: #fff;
    border-radius: 50%;
}

#form .form .mwform-checkbox-field span::after {
    top: 7px;
    left: 2px;
    width: 12px;
    height: 12px;
    background: #3d3a39;
    border: 0;
    opacity: 0;
}

#form .form .mwform-checkbox-field input:checked + span::after {
    opacity: 1;
}

#form .form textarea {
    padding: 10px;
    height: 120px;
    max-width: 100%;
}

#form .form .arrow {
    position: relative;
}

#form .form .arrow::before {
    content: '';
    pointer-events: none;
    position: absolute;
    top: 13px;
    margin-top: 4px;
    right: 10px;
    border: 6px solid transparent;
    border-top: 10px solid #b3b3b3;
    z-index: 1;
}

#form .form .select.arrow::before {
    top: 14px;
}

#form.confirm .form .arrow::before {
    display: none;
}

#form .form dl {
    margin-top: 95px;
}

#form .form dl dt {
    font-weight: 500;
    margin-top: 40px;
}

#form .form dl dt .small {
    font-size: 1.2rem;
}

#form .form dl .req {
    font-size: 1.2rem;
    color: #baaac4;
}

#form.confirm .form dl dt .req {
    display: none;
}

#form .form dl dd {
    margin-top: 5px;
}

#form .form dl dd > * + * {
    margin-top: 10px;
}

#form.confirm .mail2 {
    display: none;
}

#form .form dl dd .label_txt {
    font-size: 1.2rem;
    margin-bottom: 3px;
}

#form .form dl dd .col2 {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}

#form .form dl dd .col2 > * {
    max-width: 196px;
    width: 50%;
}

#form .form dl dd .col2 > *:nth-child(2) {
    margin-left: 8px;
}

#form .form .note,
#form .form .note li {
    font-size: 1rem;
}

#form .form .note li {
    padding-left: 1em;
    text-indent: -1em;
}

#form.confirm .form p.note {
    display: none;
}

#form .form .submit {
    display: flex;
    justify-content: space-between;
    margin-top: 45px;
}

#form .form .submit .back,
#form .form .submit button {
    width: 267px;
}

#form .form .submit .back a,
#form .form .submit button {
    font-size: 1.4rem;
    margin: 0;
}

#form .form .submit .back a {
    width: 100%;
}

#form.confirm .form .submit .back {
    display: none;
}

#form .tel_yoyaku {
    padding: 100px 0;
    border-bottom: 1px solid rgba(61, 58, 57, .5);
}

#form .tel_yoyaku .tel_ttl {
    font-size: 2.2rem;
    font-weight: 600;
    text-align: center;
}

#form .tel_yoyaku .tel_txt {
    font-size: 1.4rem;
    text-align: center;
    margin-top: 10px;
}

#form .tel_yoyaku .tel_open {
    font-size: 1rem;
    text-align: center;
    margin-top: 5px;
}

#form .tel_yoyaku .tel_btn_block {
    margin-top: 25px;
}

#form .tel_yoyaku .tel_btn_txt {
    font-size: 1.4rem;
    text-align: center;
}

#form .tel_yoyaku .tel_btn {
    margin-top: 5px;
}

#form .tel_yoyaku .tel_btn a {
    font-size: 2.6rem;
    letter-spacing: .1em;
    width: 268px;
    height: 42px;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    font-variant-ligatures: none;
}

#form .cancel {
    padding-top: 95px;
}

#form .cancel.confirm {
    display: none;
}

#form.confirm .cancel.confirm {
    display: block;
}

#form .cancel .form_yoyaku {
    margin-top: 0;
}

#form .form dt.error,
#form .form dt.error .req {
    color: #ff0000;
}

#form .form dd.error input[type="text"],
#form .form dd.error input[type="email"],
#form .form dd.error input[type="tel"],
#form .form dd.error select,
#form .form dd.error textarea,
#form .form dd.error .minict_wrapper span {
    background: #f0f0f0;
}

#form .form .error_txt {
    color: #ff0000;
    text-align: center;
    margin-top: 40px;
}

#form .form .error_txt + .submit {
    margin-top: 30px;
}

.ui-widget.ui-widget-content {
    border: 0;
    padding: 40px 20px 20px;
}

.ui-datepicker {
    background: #f3f3f3;
    border-radius: 5px;
    width: auto;
}

.ui-datepicker .ui-datepicker-header {
    border-radius: 0;
    background: transparent;
    border: 0;
    padding: 0;
    margin-bottom: 20px;
}

.ui-datepicker .ui-datepicker-title {
    font-size: 2rem;
    font-weight: 400;
    margin: 0;
    font-family: 'Noto Sans JP', sans-serif;
}

.ui-datepicker table {
    margin-bottom: 0;
}

.ui-datepicker th {
    font-size: 1.6rem;
    color: #9fa0a0;
    font-weight: 400;
    width: 51px;
    padding: 0;
}

.ui-datepicker td {
    font-size: 1.7rem;
    color: #040000;
    font-weight: 400;
    padding: 0;
    width: 51px;
    height: 51px;
    transition: opacity .3s;
    cursor: pointer;
}

.ui-datepicker td:hover {
    opacity: .7;
}

th.ui-datepicker-week-end {
    color: #baaac4;
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
    opacity: 1;
    color: #c9caca;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
.ui-button.ui-state-disabled:hover,
.ui-button.ui-state-disabled:active {
    border: 0;
    background: transparent;
    color: inherit;
    font-weight: 400;
}

.ui-datepicker td span,
.ui-datepicker td a {
    text-align: center;
    padding: 0;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
    position: relative;
}

.ui-state-active::before,
.ui-widget-content .ui-state-active::before,
.ui-widget-header .ui-state-active::before,
a.ui-button:active::before,
.ui-button:active::before,
.ui-button.ui-state-active:hover::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 28px;
    height: 28px;
    background: rgba(201, 202, 202, .7);
    border-radius: 50%;
    z-index: -1;
}

.ui-datepicker .ui-datepicker-next,
.ui-datepicker .ui-datepicker-prev {
    line-height: 0;
    position: absolute;
    right: 35px;
    z-index: 1;
    left: auto;
    width: 30px;
    height: 30px;
    transition: opacity .3s;
}

.ui-datepicker .ui-datepicker-next {
    right: 5px;
    left: auto;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    text-indent: 101%;
    overflow: hidden;
    font-size: 0;
    position: relative;
    cursor: pointer;
    background: none;
    width: 100%;
    height: 100%;
    margin: 0;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
}

.ui-datepicker .ui-datepicker-prev span::before,
.ui-datepicker .ui-datepicker-next span::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    transition: .3s;
}

.ui-datepicker .ui-datepicker-prev span::before {
    margin-left: 5px;
    border-top: 2px solid #999999;
    border-left: 2px solid #999999;
    transform: translate(-50%, -50%) rotate(-45deg);
}

.ui-datepicker .ui-datepicker-next span::before {
    margin-left: -5px;
    border-bottom: 2px solid #999999;
    border-right: 2px solid #999999;
    transform: translate(-50%, -50%) rotate(-45deg);
}

.ui-datepicker .ui-datepicker-prev.ui-state-disabled span::before,
.ui-datepicker .ui-datepicker-next.ui-state-disabled span::before {
    border-color: #c9caca;
}

.ui-datepicker .ui-datepicker-prev.ui-state-hover,
.ui-datepicker .ui-datepicker-next.ui-state-hover {
    border: 0;
    background: transparent;
    top: 2px;
    opacity: .7;
}

@media screen and (max-width: 768px) {
    #form {
        padding: 10% 0 12%;
    }

    #form .en_ttl {
        font-size: 4.7vw;
    }

    #form .form_lead {
        font-size: 3.6vw;
        margin-top: 7%;
    }

    #form .form_yoyaku {
        margin-top: 7%;
    }

    #form .form_yoyaku > p {
        font-size: 3.4vw;
        margin-top: 5%;
    }

    #form .form_yoyaku > p:first-child {
        margin-top: 0;
    }

    #form .form_yoyaku .list {
        margin-top: 2%;
    }

    #form .form_yoyaku .list li {
        font-size: 3.4vw;
        padding-left: 1em;
        text-indent: -1em;
    }

    #form .form_yoyaku .table {
        display: block;
        border: 1px solid #3d3a39;
        margin-top: 2%;
    }

    #form .form_yoyaku .table li {
        font-size: 3.1vw;
        padding: 3%;
    }

    #form .form_yoyaku .table li {
        border-left: 0;
        border-top: 1px solid #3d3a39;
    }

    #form .form_yoyaku .table li:first-child {
        border-left: 0;
        border-top: 0;
    }

    #form .form_yoyaku .table li p {
        font-size: 3.1vw;
    }

    #form .form {
        margin-top: 13%;
        padding: 13% 0;
    }

    #form .form_ttl {
        font-size: 4.7vw;
    }

    #form .form_note {
        font-size: 3.2vw;
        line-height: 1.66;
        padding-left: 1em;
        text-indent: -1em;
        text-align: left;
        margin-top: 4%;
    }

    #form .form input[type="text"],
    #form .form input[type="email"],
    #form .form input[type="tel"],
    #form .form select,
    #form .form textarea,
    #form .form .minict_wrapper span {
        font-size: 3.9vw;
        padding: 0 .5em;
        max-width: 100%;
        width: 100%;
        height: 11vw;
    }

    #form .form input[type="text"],
    #form .form input[type="email"],
    #form .form input[type="tel"] {
        line-height: calc(11vw - 1px);
    }

    #form .form input::-webkit-input-placeholder {
        font-size: 3.1vw;
    }

    #form .form input:-ms-input-placeholder {
        font-size: 3.1vw;
    }

    #form .form input::-moz-placeholder {
        font-size: 3.1vw;
    }

    #form .form textarea::-webkit-input-placeholder {
        font-size: 3.1vw;
    }

    #form .form textarea:-ms-input-placeholder {
        font-size: 3.1vw;
    }

    #form .form textarea::-moz-placeholder {
        font-size: 3.1vw;
    }

    #form .form .minict_wrapper span {
        line-height: calc(11vw - 1px);
    }

    #form .form .minict_wrapper span:empty:before {
        font-size: 3.1vw;
        left: .5em;
    }

    #form .form .minict_wrapper ul {
        top: 11vw;
    }

    #form .form .minict_wrapper ul li {
        font-size: 3.9vw;
        padding: 2vw .5em;
    }

    #form .form .radio {
        margin-right: 5vw;
    }

    #form .form .radio span {
        padding-left: 5vw;
    }

    #form .form .radio span::before {
        top: 1.2vw;
        width: 4.2vw;
        height: 4.2vw;
    }

    #form .form .radio span::after {
        top: 1.7vw;
        left: .5vw;
        width: 3.2vw;
        height: 3.2vw;
    }

    #form .form textarea {
        padding: .5em;
        height: 25vw;
    }

    #form .form .arrow::before {
        top: 3.5vw;
        margin-top: 1vw;
        right: 5%;
        border-width: 1.5vw;
        border-top-width: 2.7vw;
    }

    #form .form .select.arrow::before {
        top: calc(3.5vw + 1px);
    }

    #form .form dl {
        margin-top: 6%;
    }

    #form .form dl dt {
        font-size: 3.9vw;
        margin-top: 6%;
    }

    #form .form dl dt .small {
        font-size: 3.1vw;
    }

    #form .form dl .req {
        font-size: 3.1vw;
        color: #baaac4;
    }

    #form .form dl dd {
        font-size: 3.9vw;
        margin-top: 2%;
    }

    #form .form dl dd > * + * {
        margin-top: 2%;
    }

    #form .form dl dd .label_txt {
        font-size: 3.1vw;
        margin-bottom: 1%;
    }

    #form .form dl dd .col2 > * {
        max-width: calc(50% - 1.5vw);
        width: calc(50% - 1.5vw);
    }

    #form .form dl dd .col2 > *:nth-child(2) {
        margin-left: 3vw;
    }

    #form.confirm .form dl dd .name .input {
        display: flex;
        justify-content: space-between;
    }

    #form .form .note,
    #form .form .note li {
        font-size: 3.1vw;
    }

    #form .form .submit {
        display: block;
        margin-top: 9%;
    }

    #form .form .submit .back,
    #form .form .submit button {
        width: 100%;
    }

    #form .form .submit button {
        margin-top: 3%;
    }

    #form .form .submit .back a,
    #form .form .submit button {
        font-size: 3.7vw;
    }

    #form .tel_yoyaku {
        padding: 13% 0;
    }

    #form .tel_yoyaku .tel_ttl {
        font-size: 4.7vw;
    }

    #form .tel_yoyaku .tel_open {
        font-size: 3.1vw;
        margin-top: 2%;
    }

    #form .tel_yoyaku .tel_btn_block {
        margin-top: 6%;
    }

    #form .tel_yoyaku .tel_btn_txt {
        font-size: 3.1vw;
    }

    #form .tel_yoyaku .tel_btn_txt small {
        font-size: 2.6vw;
    }

    #form .tel_yoyaku .tel_btn {
        margin-top: 2%;
    }

    #form .tel_yoyaku .tel_btn a {
        font-size: 8.8vw;
        width: 100%;
        height: 14.5vw;
        font-variant-ligatures: none;
        pointer-events: auto;
    }

    #form .cancel {
        padding-top: 13%;
    }

    #form .form .error_txt {
        margin-top: 9%;
    }

    #form .form .error_txt + .submit {
        margin-top: 6%;
    }

    .ui-widget.ui-widget-content {
        border: 0;
        padding: 11% 4% 6%;
    }

    .ui-datepicker {
        border-radius: 1vw;
    }

    .ui-datepicker .ui-datepicker-header {
        margin-bottom: 4%;
    }

    .ui-datepicker .ui-datepicker-title {
        font-size: 4.5vw;
    }

    .ui-datepicker th {
        font-size: 3.6vw;
        width: 11.5vw;
    }

    .ui-datepicker td {
        font-size: 3.9vw;
        width: 11.5vw;
        height: 11.5vw;
    }

    .ui-state-active::before,
    .ui-widget-content .ui-state-active::before,
    .ui-widget-header .ui-state-active::before,
    a.ui-button:active::before,
    .ui-button:active::before,
    .ui-button.ui-state-active:hover::before {
        width: 8vw;
        height: 8vw;
    }

    .ui-datepicker .ui-datepicker-next,
    .ui-datepicker .ui-datepicker-prev {
        right: 8vw;
        width: 8vw;
        height: 8vw;
        top: 0;
    }

    .ui-datepicker .ui-datepicker-next {
        right: 0vw;
        left: auto;
    }

    .ui-datepicker .ui-datepicker-prev span::before,
    .ui-datepicker .ui-datepicker-next span::before {
        width: 3vw;
        height: 3vw;
    }

    .ui-datepicker .ui-datepicker-prev span::before {
        margin-left: 1vw;
    }

    .ui-datepicker .ui-datepicker-next span::before {
        margin-left: -1vw;
    }

    .ui-datepicker .ui-datepicker-prev.ui-state-hover,
    .ui-datepicker .ui-datepicker-next.ui-state-hover {
        top: 0;
    }
}

/* form_confirm
--------------------------------*/
#form.confirm .form {
    margin-top: 0;
    padding: 0;
    border: 0;
}

#form.confirm .form .radio span::after {
    opacity: 1;
}

#form.confirm .form .input {
    min-height: 32px;
    padding-left: 1em;
}

#form.confirm .form .textarea {
    min-height: 165px;
    padding-left: 1em;
}

#form.confirm .form .cancel {
    padding-top: 20px;
}

#form.confirm .form .submit {
    margin-top: 70px;
}

@media screen and (max-width: 768px) {
    #form.confirm .form {
        margin-top: 0;
        padding: 0;
        border: 0;
    }

    #form.confirm .form .radio span::after {
        opacity: 1;
    }

    #form .form dl dt {
        margin-top: 9%;
    }

    #form .form dl dd {
        margin-top: 4%;
    }

    #form.confirm .form .input {
        min-height: 7vw;
        padding-left: 1em;
    }

    #form.confirm .form .label_txt + .input {
        margin-top: 5%;
    }

    #form .form dl dd .col2 + .label_txt {
        margin-top: 3%;
    }

    #form.confirm .form .textarea {
        min-height: 26vw;
    }

    #form.confirm .form .cancel {
        padding-top: 6%;
    }

    #form.confirm .form .submit {
        margin-top: 13%;
    }
}

/* form_thanks
--------------------------------*/
#form.thanks .form_ttl {
    margin-top: 60px;
}

#form.thanks .thanks_txt {
    font-size: 1.4rem;
    line-height: 1.71;
    text-align: center;
    margin-top: 5px;
}

#form.thanks .thanks_txt small {
    font-size: 1.2rem;
}

#form.thanks .form_yoyaku {
    margin-top: 20px;
}

#form.thanks .btn {
    margin-top: 55px;
}

#form.thanks .btn a {
    font-size: 1.4rem;
    width: 267px;
}

@media screen and (max-width: 768px) {
    #form.thanks .form_ttl {
        margin-top: 6%;
    }

    #form.thanks .thanks_txt {
        font-size: 3.6vw;
        margin-top: 7%;
    }

    #form.thanks .thanks_txt small {
        font-size: 3.1vw;
    }

    #form.thanks .form_yoyaku {
        margin-top: 6%;
    }

    #form.thanks .btn {
        margin-top: 9%;
    }

    #form.thanks .btn a {
        font-size: 5.1vw;
        width: 100%;
    }
}