@charset "UTF-8";

/* 
armpit-b
------------------------ 
*/

/* section01 */

#ab .sec01 {
    background: #eef7ff;
}

#ab .sec01 h3 {
    font-size: 4.7rem;
    text-align: center;
    margin: 4% 0 6%;
}

#ab .sec01 h3 .border_txt {
    color: #638096;
    font-size: 5.8rem;
    border-bottom: 3px solid #638096;
    background-image: radial-gradient(circle at center, #638096 12%, transparent 12%); /* 点の色とサイズ調整 */
    background-position: top right; 
    background-repeat: repeat-x; 
    background-size: 1em 0.4em; 
    padding-top: .35em; 
}
@media screen and (max-width: 749px) {
    #ab .sec01 h3 {
        font-size: 6.2vw;
    }
    #ab .sec01 h3 .border_txt {
        font-size: 7.6vw;
    }
}
@media screen and (max-width: 420px) {
    #ab .sec01 h3 .border_txt {
        border-bottom: 2px solid #638096;
    }
}

#ab .sec01 .txt_box {
    position: relative;
}

#ab .sec01 .txt_box::before {
    content: '';
    width: 100%;
    height: 100%;
    background: #badefa;
    position: absolute;
    display: block;
    top: 2%;
    left: 1.3%;
    border-radius: 10px;
}

#ab .sec01 .w_bg {
    padding: 5% 5% 2%;
    border-radius: 10px;
    position: relative;
}

#ab .sec01 .w_bg .border_txt {
    color: #638096;
    border-bottom: 2px solid #638096;
    line-height: 1.1;
    display: inline-block;
}
@media screen and (max-width: 420px) {
    #ab .sec01 .w_bg .border_txt {
        border-bottom: 1px solid #638096;
    }
}

#ab .sec01 .w_bg ul li {
    margin-bottom: 4%;
    align-items: start;
}

#ab .sec01 .w_bg ul li figure {
    margin-right: 2%;
    width: 6%;
}

#ab .sec01 .w_bg ul li .p_txt {
    width: 92%;
}


/* section02 */

#ab .sec02 .top_txt {
    padding: 8% 3% 7%;
}

#ab .sec02 .top_txt .flex {
    justify-content: center;
}

#ab .sec02 .top_txt .flex .p_txt {
    font-size: 4rem;
    font-weight: 700;
}
@media screen and (max-width: 749px) {
    #ab .sec02 .top_txt .flex .p_txt {
        font-size: 5.4vw;
    }
}

#ab .sec02 .top_txt .flex .rotate_txt {
    transform: rotate(4deg);
    width: 52%;
    text-align: center;
    position: relative;
}

#ab .sec02 .top_txt .flex .rotate_txt::before {
    content: '';
    display: block;
    background: url("../images/menu/armpit-b/sec2_shape.png") no-repeat center;
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 100%;
    transform: rotate(-1.6deg);
}

#ab .sec02 .top_txt h3 {
    font-size: 7rem;
    line-height: 1.4;
}

.iPhone #ab .sec02 .top_txt h3 {
    font-feature-settings: "palt";
}

#ab .sec02 .top_txt .color_txt {
    color: #4da6eb;
    letter-spacing: .03em;
}

#ab .sec02 .top_txt .txt_s {
    font-size: 5.5rem;
}

#ab .sec02 .top_txt .txt_l {
    font-size: 9rem;
}
@media screen and (max-width: 749px) {
    #ab .sec02 .top_txt h3 {
        font-size: 9.5vw;
    }
    #ab .sec02 .top_txt .txt_s {
        font-size: 7vw;
    }
}

#ab .sec02 .top_txt .bg_txt_half {
    background: linear-gradient(transparent 60%, #faf0b8 40%);
    padding: 0 1%;
}

#ab .sec02 .arrow_area {
    background: url("../images/menu/armpit-b/sec2_arrow.png") no-repeat center;
    background-size: cover;
    padding: 9% 0;
    position: relative;
}

#ab .sec02 .arrow_area h4 {
    font-size: 4rem;
    color: #fff;
    letter-spacing: .1em;
    line-height: 1.6;
    text-shadow: 2px 2px 10px #5caeeb ,
                -2px 2px 10px #5caeeb ,
                2px -2px 10px #5caeeb ,
                -2px -2px 10px #5caeeb;
}

#ab .sec02 .arrow_area h4 .border_txt {
    font-size: 5rem;
    border-bottom: 1px solid #fff;
    padding: 0 1%;
    line-height: .8;
}
@media screen and (max-width: 749px) {
    #ab .sec02 .arrow_area h4 {
        font-size: 5.2vw;
    }
    #ab .sec02 .arrow_area h4 .border_txt {
        font-size: 6.5vw;
    }
}

#ab .sec02 .bg_area {
    background: url("../images/menu/armpit-b/sec2_bg.jpg") no-repeat top center;
    background-size: cover;
    margin-top: -4%;
    padding: 2% 0 2%;
}

#ab .sec02 .bg_area .w_bg {
    padding: 6% 5% 10%;
    position: relative;
    border-radius: 10px;
    border: 3px solid #4aa3e7;
    box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.15);
}

#ab .sec02 .bg_area figure {
    position: absolute;
    bottom: -.5%;
    right: 3%;
    width: 20%;
}

#ab .sec02 .bg_area .w_bg .bg_txt_half {
    font-weight: 700;
    background: linear-gradient(transparent 60%, #faf0b8 40%);
    color: #4da6eb;
}

@media screen and (max-width: 749px) {
    #ab .sec02 .bg_area .w_bg .p_txt {
        font-size: 3.5vw;
    }
}

/* section03 */

#ab .sec03 .heading_area {
    background: url("../images/menu/armpit-b/sec3_img.jpg") no-repeat;
    background-size: cover;
    padding: 8% 6%;
}

#ab .sec03 .heading_area .p_txt {
    font-size: 4.5rem;
    line-height: 1.6;
}

#ab .sec03 .heading_area .p_txt .wave_border {
    background: url("../images/menu/armpit-b/sec3_wave.png") repeat-x bottom;
    padding-bottom: 1%;
    background-size: 5%;
}

.iPhone #ab .sec03 .heading_area .p_txt .wave_border {
    padding-bottom: 2%;
}

.Android #ab .sec03 .heading_area .p_txt .wave_border {
    padding-bottom: 1%;
}

#ab .sec03 .heading_area h3 {
    font-size: 4.5rem;
    font-weight: 500;
    margin-top: 4%;
}

#ab .sec03 .heading_area h3 .color_txt {
    color: #419fe7;
    font-size: 5.5rem;
    font-weight: 700;
    letter-spacing: .1em;
}

@media screen and (max-width: 749px) {
    #ab .sec03 .heading_area .p_txt {
        font-size: 6vw;
    }
    #ab .sec03 .heading_area h3 {
        font-size: 6vw;
    }
    #ab .sec03 .heading_area h3 .color_txt {
        font-size: 7.5vw;
    }
}

#ab .sec03 .bg_area {
    background: #dbedfb;
}

#ab .sec03 .bg_area .p_txt {
    padding: 0 3%;
}

#ab .sec03 .bg_area .bg_txt_half {
    background: linear-gradient(transparent 60%, #fff 40%);
    color: #419fe7;
    font-weight: 700;
}

/* section04 */

#ab .sec04 {
    background: url("../images/menu/armpit-b/sec4_bg.jpg") no-repeat;
    background-size: cover;
    padding: 6% 0 0;
    margin-bottom: 10%;
}

#ab .sec04 h3 {
    color: #419fe7;
    font-size: 5.5rem;
    letter-spacing: .1em;
    margin-bottom: 13%;
    position: relative;
}

#ab .sec04 h3 .txt_s {
    font-size: 4.5rem;
}

#ab .sec04 h3::after {
    content: 'Flow of treatment';
    position: absolute;
    font-size: 2.35rem;
    font-weight: 500;
    display: block;
    left: 0;
    right: 0;
    bottom: -80%;
}

#ab .sec04 .flex .bold_txt {
    font-size: 3rem;
    padding-top: .7%;
    width: 90.5%;
    margin-bottom: 1%;
}

#ab .sec04 .flex .txt_wrap {
    width: 90.5%;
}

#ab .sec04 .flex .txt_wrap .p_txt {
    width: 100%;
}

#ab .sec04 .flex {
    align-items: start;
    margin-top: 5%;
}

#ab .sec04 .flex figure {
    width: 9.5%;
    margin-right: 2%;
}

#ab .sec04 ul {
    padding: 0 2%;
}

#ab .sec04 ul li {
    margin-bottom: 16%;
}

#ab .sec04 ul li:last-child {
    margin-bottom: 12%;
}

#ab .sec04 .bottom_txt {
    background: url("../images/menu/armpit-b/sec4_img5.jpg") no-repeat;
    background-size: cover;
    padding: 7% 6% 9%;
    width: 100%;
}

#ab .sec04 .bottom_txt figure {
    margin: 0 1% 2%;
    width: 41%;
}

#ab .sec04 .bottom_txt .p_txt {
    font-size: 4rem;
    letter-spacing: .17em;
}
@media screen and (max-width: 749px) {
    #ab .sec04 .bottom_txt .p_txt {
        font-size: 5.2vw;
    }
}

#ab .sec04 .bottom_txt .p_txt .color_txt {
    color: #419fe7;
    font-weight: 700;
}

/* section05 */

#ab .sec05 .top_txt {
    font-size: 3rem;
    margin: 0 0 4%;
    letter-spacing: .1em;
}

#ab .fee_list {
    margin-bottom: 4%;
}

#ab .fee_list li {
    border: 3px solid #b6defe;
    margin-bottom: 3%;
}

#ab .fee_list li .flex {
    flex-direction: column;
}

#ab .fee_list li dl dt {
    width: 100%;
}

#ab .fee_list li dl dt .part {
    font-size: 3.4rem;
    text-align: center;
    font-weight: bold;
    background-color: #d9ecfa;
    padding: 3% 6%;
}

#ab .fee_list li dl dt .part span {
    font-size: 2.4rem;
}

#ab .fee_list li dl dt .part .normal_txt {
    font-weight: 400;
}

#ab .fee_list li dl dd {
    width: 100%;
    padding: 0 0 0 6%;
    text-align: right;
    display: flex;
    justify-content: center;
    align-items: baseline;
    margin: 2% 0;
}

#ab .fee_list li dl dd .p_txt {
    font-feature-settings: "palt";
}

#ab .fee_list li dl dd .fee {
    font-size: 5.3rem;
    font-weight: bold;
    letter-spacing: .3rem;
    line-height: 1.2;
    margin-left: 2%;
    color: #419fe7;
}

#ab .fee_list li dl dd .fee span {
    font-size: 3.5rem;
}

#ab .sec05 .discount {
    padding: 8% 0 5%;
    text-align: center;
    position: relative;
    background: #f1f9fd;
    border-top: 3px solid #72c8e7;
    border-bottom: 3px solid #72c8e7;
    margin-bottom: 8%;
}

#ab .sec05 .discount figure {
    position: absolute;
    top: -16%;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
}

#ab .sec05 .discount .p_txt {
    text-align: left;
    width: 88%;
    margin: 0 auto;
    font-size: 2.9rem;
    line-height: 1.5;
}
@media screen and (max-width: 749px) {
    #ab .sec05 .discount .p_txt {
        font-size: 3.8vw;
    }
}

#ab .sec05 .discount .p_txt .bold_txt {
    color: #45b5de;
}

#ab .sec05 .bg_area {
    background: #e1f0fb;
    padding: 4% 4% 3% 7%;
    margin-bottom: 6%;
}

#ab .sec05 .bg_area .p_txt::before {
    content: '※';
    margin-left: -4.5%;
}

#ab .sec05 .caution img {
    margin: 0 auto 8%;
}


/* section06 */

#ab .sec06 h3 {
    text-align: center;
    font-size: 3.7rem;
    padding: 5% 0;
    background: #6ab4eb;
    color: #fff;
    letter-spacing: .1em;
}

#ab .sec06 .bg_area {
    background: url("../images/menu/armpit-b/sec6_bg.jpg") no-repeat;
    background-size: cover;
    padding: 6% 4%;
}

#ab .sec06 .bg_area .w_bg {
    padding: 6% 3%;
}

#ab .sec06 .bg_area .txt_area {
    padding: 0 3%;
}

#ab .sec06 .bg_area .w_bg table {
    margin: 8% 0 10%;
    width: 100%;
}

#ab .sec06 .bg_area .w_bg table th {
    width: 40%;
    background: #6ab4eb;
    color: #fff;
    font-size: 2.6rem;
    font-weight: 700;
    padding: 4% 0;
    text-align: center;
    border-bottom: 1px solid #fff;
}

#ab .sec06 .bg_area .w_bg table th.border-b-n {
    border-bottom: none;
}

#ab .sec06 .bg_area .w_bg table td {
    width: 60%;
    border: 1px solid #6ab4eb;
    border-bottom: none;
    font-size: 2.6rem;
    padding: 4% 6%;
}

#ab .sec06 .bg_area .w_bg table td.border-b {
    border-bottom: 1px solid #6ab4eb;
}

#ab .sec06 .bg_area .w_bg dl {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 8%;
}

#ab .sec06 .bg_area .w_bg dl:nth-child(2n) {
    margin-bottom: 0;
}

#ab .sec06 .bg_area .w_bg dl dt {
    font-size: 3.5rem;
    color: #419fe7;
    font-weight: 700;
    text-align: center;
    background: linear-gradient(transparent 60%, #e0f1ff 40%);
    display: inline-block;
    margin: 0 0 4%;
    padding: 0 1%;
}


/* section07 */

#ab .sec07 {
    padding-top: 3%;
}

#ab .sec07 h3 {
    font-size: 4.6rem;
    color: #419fe7;
    text-align: center;
}

#ab .sec07 h3::after {
    content: '';
    background: url("../images/menu/armpit-b/sec7_txt1.png")no-repeat;
    background-size: contain;
    width: 9%;
    display: block;
    aspect-ratio: 60 / 22;
    margin: 2% auto 4%;
}

#ab .sec07 ul li {
    margin-bottom: 8%;
}

#ab .sec07 ul li .flex {
    align-items: start;
}

#ab .sec07 ul li figure {
    width: 9%;
    margin-right: 4%;
}

#ab .sec07 ul li P {
    width: 87%;
    padding-top: 1.5%;
}

#ab .sec07 ul li .question {
    font-size: 2.9rem;
    font-weight: 700;
    color: #419fe7;
    margin-bottom: 4%;
}

#ab .sec07 ul li .p_txt {
    padding-top: 2.2%;
}