@charset "UTF-8";

/* 
hai
------------------------ 
*/

/* section01 */

#hai .sec01 {
    background: #fbe7ed;
}

#hai .sec01 .ba_area ul li {
    margin-bottom: 7%;
}

#hai .sec01 .ba_area ul li:last-child {
    margin-bottom: 2%;;
}

#hai .sec01 .ba_area figure {
    width: 90%;
    margin: 4% auto 1%;
}

#hai .sec01 .ba_area figure img {
    width: 100%;
}

#hai .sec01 .ba_area .cap {
    /* text-align: right; */
    padding: 1% 2% 2% 6%;
    font-size: 2.5rem;
}

#hai .sec01 .sec01_top .inner {
    padding-top: 4%
}

#hai .sec01 .border_box {
    padding: 4% 4.2%;
    border: 5px solid #ea85a4;
    box-sizing: border-box;
    box-shadow: 5px 5px 0px 0px rgba(235, 196, 209, 1);
}

#hai .sec01 .border_box .bold_txt {
    color: #e57496;
}

@media screen and (max-width: 549px) {
    #hai .sec01 .ba_area figure {
        width: 95%;
    }

    #hai .sec01 .ba_area .cap {
        padding: 1% 2% 2% 4%;
    }

    #hai .sec01 .border_box {
        border: 3px solid #b8617b;
    }
}

#hai .sec01 .sec01_bottom {
    background: #fff;
}

#hai .sec01 .sec01_bottom .inner {
    padding-bottom: 10%;
    background: url("../images/menu/hai/sec1_img2.png") no-repeat bottom left;
    background-size: 46%;
}

#hai .sec01 .sec01_bottom h4 {
    font-size: 4.3rem;
    text-align: center;
    letter-spacing: 0.07em;
}

#hai .sec01 .sec01_bottom h4 .bg_txt_half {
    background: linear-gradient(transparent 70%, #fcd6e1 30%);
}

#hai .sec01_bottom .txt_wrap {
    width: 58%;
    margin: 6% 0 0 auto;
}

#hai .sec01_bottom .txt_wrap .checkbox {
    margin: 20% 0 10%;
    position: relative;
}

#hai .sec01_bottom .txt_wrap .checkbox .shape {
    position: absolute;
    left: -13%;
    top: -20%;
    width: 18%;
}

#hai .sec01_bottom ul li {
    align-items: center;
    margin-bottom: 4%;
}

#hai .sec01_bottom ul li figure {
    width: 9%;
}

#hai .sec01_bottom ul li p {
    font-size: 2.8rem;
    margin-left: 3%;
    border-bottom: 2px dashed #e57496;
} 

#hai .sec01_bottom ul li p span {
    color: #dd5d84;
}

#hai .sec01_bottom .w_bg {
    padding: 8% 8%;
    background: #fce7ee;
}

/* section02 */

#hai .sec02 {
    background: #fff;
}

#hai .sec02 .inner {
    padding-top: 1%;
    padding-bottom: 8%;
}

#hai .sec02 .sec02_top h4 {
    transform: scale(1.05);
    margin-top: 3%;
}

#hai .sec02 .sec02_top p {
    padding: 4% 4%;
}

#hai .sec02 .sec02_top p .bold_txt {
    color: #e57496;
}

#hai .sec02 .bg_area {
    background: #fce7ee;
    padding: 6% 4% 9%;
    position: relative;
}

#hai .sec02 .bg_area ul li {
    margin-bottom: 8%;
}

#hai .sec02 .bg_area .ttl_area {
    position: relative;
}

#hai .sec02 .bg_area .ttl_area figure {
    position: absolute;
    right: -1%;
    top: 24%;
    width: 6%;
}

#hai .sec02 .bg_area .li2 .ttl_area figure {
    right: 14%;
    top: -24%;
    width: 6%;
}

#hai .sec02 .bg_area h5 {
    font-size: 3rem;
    margin-bottom: 4%;
}

#hai .sec02 .bg_area h5 .bg_txt_half {
    font-size: 3.8rem;
    background: linear-gradient(transparent 70%, #fdf0ec 30%);
}

/* #hai .sec02 .bg_area figure img {
    width: 80%;
} */

/* #hai .sec02 .bg_area .li2 figure img {
    width: 60%;
} */

#hai .sec02 .bg_area p {
    padding: 6% 0 4%;
}

#hai .sec02 .bg_area p .bold_txt {
    color: #e57496;
}

#hai .sec02 .bg_area p .border_txt {
    border-bottom: 1px solid #e57496;
}

#hai .sec02 .bg_area .sec02_img4 {
    position: absolute;
    bottom: -11.5%;
    width: 100%;
    left: 0;
    transform: scale(110.9%);
}
@media screen and (max-width: 550px) {
    #hai .sec02 .bg_area .sec02_img4 {
        transform: scale(106.5%);
    }
} 

#hai .sec02 .sec02_bottom {
    padding: 48% 0 0;
}

#hai .sec02 .sec02_bottom .p_txt {
    padding: 0 4%;
}

#hai .sec02 .sec02_bottom .bg_txt {
    background: #ea85a4;
    color: #fff;
}

#hai .sec02 .sec02_bottom .table_ttl {
    font-size: 2.8rem;
    color: #ea85a4;
    font-weight: 700;
    margin: 8% auto 2%;
    width: 100%;
    display: flex;
    justify-content: center;
    position: relative;
}
@media screen and (max-width: 749px) {
    #hai .sec02 .sec02_bottom .table_ttl {
        font-size: 3.8vw;
    }
}

#hai .sec02 .sec02_bottom .table_ttl::before {
    content: '';
    width: .3%;
    aspect-ratio: 1 / 17;
    background: #ea85a4;
    transform: rotate(-20deg);
    margin-right: 2%
}

#hai .sec02 .sec02_bottom .table_ttl::after {
    content: '';
    width: .3%;
    aspect-ratio: 1 / 17;
    background: #ea85a4;
    transform: rotate(20deg);
    margin-left: 2%
}

/* section03 */

#hai .sec03 {
    background: #ea85a4;
    position: relative;
}

#hai .sec03::before {
    content: '';
    width: 100%;
    aspect-ratio: 750 / 59;
    background: url("../images/menu/hai/sec3_top.png") no-repeat;
    background-size: cover;
    position: absolute;
    top: -5%;
    left: 0;
}

#hai .sec03 .inner {
    padding-top: 1%;
}

#hai .sec03 h3 {
    position: relative;
    /* margin-bottom: 6%; */
    width: 96%;
    margin: 1% auto 5%;
}

#hai .sec03 .w_bg p {
    padding: 4% 4%;
}

/* section04 */

#hai .sec04 {
    background: url(../images/menu/hai/sec4_bg.png) no-repeat top center;
    background-size: contain;
    background-color: #fcdced;
}

#hai .sec04 .sec04_top {
    position: relative;
    padding-top: 54%;
}

#hai .sec04 .sec04_top figure {
    position: absolute;
    left: 0;
    top: 10%;
    width: 44%;
}

#hai .sec04 .sec04_top .txt_wrap {
    position: absolute;
    right: 0;
    top: 12%;
    width: 60%;
    z-index: 3;
}

#hai .sec04 .sec04_top .txt_wrap h3 {
    font-size: 3.5rem;
    line-height: 1.5;
    letter-spacing: .22rem;
    text-shadow:2px 2px 0 #FFF, -2px -2px 0 #FFF,
              -2px 2px 0 #FFF, 2px -2px 0 #FFF,
              0px 2px 0 #FFF,  0-2px 0 #FFF,
              -2px 0 0 #FFF, 2px 0 0 #FFF;
}

.iPhone #hai .sec04 .sec04_top .txt_wrap h3 .txt1 {
    letter-spacing: .34rem;
}

.Android #hai .sec04 .sec04_top .txt_wrap h3 .txt1 {
    letter-spacing: .35rem;
}


#hai .sec04 .sec04_top .txt_wrap h3 .txt2 {
    letter-spacing: .35rem;
}

#hai .sec04 .sec04_top .txt_wrap h3 .bg_txt {
    background: #fff;
    padding: 0 2%;
    font-size: 4.5rem;
    letter-spacing: .38rem;
}

#hai .sec04 .sec04_top .txt_wrap h3 .txt_s {
    font-size: 3.4rem;
}
@media screen and (max-width: 749px) {
    #hai .sec04 .sec04_top .txt_wrap h3 {
        font-size: 4.7vw;
    }
    #hai .sec04 .sec04_top .txt_wrap h3 .bg_txt {
        font-size: 6vw;
    }
    #hai .sec04 .sec04_top .txt_wrap h3 .txt_s {
        font-size: 4.5vw;
    }
}

.Android #hai .sec04 .sec04_top .txt_wrap h3 .bg_txt {
    padding: 0 2%;
    line-height: 1.6;
}

.iPhone #hai .sec04 .sec04_top .txt_wrap h3 .bg_txt {
    padding: 1.5% 2%;
    line-height: 1.55;
}

#hai .sec04 .w_bg {
    padding: 6% 4% 4%;
}

#hai .sec04 .w_bg figure {
    padding: 6% 0;
}

#hai .sec04 .w_bg .txt_box {
    background: #fdedf2;
    padding: 9% 6% 6%;
    position: relative;
    margin: 10% 0 0;
}

#hai .sec04 .w_bg .txt_box h4 {
    position: absolute;
    top: -7.5%;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    font-size: 3rem;
    width: 70%;
    text-align: center;
    background: #ea85a4;
    color: #fff;
    border-radius: 30px;
    padding: 1.5% 3%;
}

#hai .sec04 .w_bg .txt_box ul li {
    margin-bottom: 2%;
    position: relative;
    align-items: start;
}

#hai .sec04 .w_bg .txt_box ul li::before {
    content: '';
    width: 5.5%;
    aspect-ratio: 40 / 39;
    background: url("../images/menu/hai/sec4_check.png") no-repeat;
    background-size: contain;
    margin-right: 2%;
    margin-top: .6%;
}

#hai .sec04 .w_bg .txt_box ul li p {
    width: 92%;
}

#hai .sec04 .w_bg .txt_box .add_txt {
    font-size: 2.5rem;
    margin-top: 4%;
}

/* section05 */

#hai .sec05 {
    background: url("../images/menu/hai/sec5_bg.jpg") repeat-y;
    background-size: contain;
    margin-bottom: 6%;
}

#hai .sec05 .bg_box {
    background: #ca6c88;
    padding: 8% 6% 6%;
    position: relative;
}

#hai .sec05 .bg_box figure {
    position: absolute;
    top: -2.5%;
    left: 2%;
    width: 19%;
}

#hai .sec05 .bg_box h3 {
    color: #fff;
    font-size: 4rem;
    text-align: center;
    line-height: 1.5;
    border-bottom: 2px solid #fff;
    margin-bottom: 6%;
}

#hai .sec05 .bg_box p {
    color: #fff;
}

#hai .sec05 .bg_box p .bold_txt {
    color: #fcf496;
}

/* section06 */

#hai .sec06 .add_txt {
    padding: 4% 4% 0;
}

#hai .sec06 .add_txt .txt_xs {
    font-size: 1.6rem;
}

#hai .sec06 h4 {
    font-size: 4rem;
    text-align: center;
    margin: 2% 0 3%;
    color: #ea85a4;
}

#hai .sec06 .fee_wrap2 h4 {
    color: #eb8f86;
    margin-top: 8%;
}

#hai .sec06 ul li {
    margin-bottom: 3%;
}

#hai .sec06 h5 {
    background: #ea85a4;
    text-align: center;
    font-size: 3.8rem;
    color: #fff;
    padding: 1% 0;
}

#hai .sec06 .fee_wrap2 h5 {
    background: #eb8f86;
    text-align: center;
    font-size: 3.8rem;
    color: #fff;
    padding: 1% 0;
}

#hai .sec06 .fee_box {
    padding: 2% 2%;
    background: hsl(342, 77%, 95%);
    align-items: center;
}

#hai .sec06 .fee_wrap2 .fee_box {
    background: #fceeed;
}

#hai .sec06 .fee_box .fee_box_left {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 58%;
}

#hai .sec06 .fee_box .pk_txt {
    font-size: 2.9rem;
}

#hai .sec06 .fee_wrap2 .fee_box .pk_txt {
    color: #eb8f86;
}

#hai .sec06 .fee_box .price {
    font-size: 5rem;
    font-weight: 700;
}

#hai .sec06 .fee_box .fee_box_right {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #fdfafb;
    width: 42%;
    padding: 2% 2% 1%;
}

#hai .sec06 .fee_wrap2 .fee_box .fee_box_right {
    background: #fffbfc;
}

#hai .sec06 .fee_box .fee_box_right .bold_txt {
    font-size: 3rem;
    letter-spacing: -.01em;
}

/* 価格改定1001 */
#hai .sec06 .fee_wrap1 .fee_box .add_txt_s {
    font-size: 2.5rem;
    padding: 1% 0;
    text-align: center;
    margin: 1.5% 0 0;
    display: none;
}

/* renewal 2411 */
#hai .pk_txt {
    color: #e57496;
}

#hai_pr .pk_txt {
    color: #e57496;
}

/* #hai .bottom_info .pk_txt {
    color: #4fb0dd;
}

#hai .approval .pk_txt {
    color: #4fb0dd;
} */


/* メニューエリア */

#hai .menu_area {
    background: #fdd3e1;
    margin-bottom: 4%;
}

#hai .menu_inner {
    padding: 0 4% 4%;
}

#hai .hai_menu_list {
    margin-bottom: 4%;
}

#hai .menu_inner ul li {
    text-align: center;
    padding: 4% 4%;
}

#hai .menu_inner ul li figure {
    width: 44%;
    max-width: 304px;
    margin: 0 auto 2%;
}

#hai .menu_inner ul li h4 {
    font-size: 4rem;
    color: #330917;
    margin-bottom: 3%;
}

#hai .menu_inner ul li dl {
    flex-wrap: wrap;
    width: 70%;
    margin: 0 auto 1%;
}

#hai .menu_inner ul li dt {
    width: 50%;
    text-align: center;
    font-size: 2.8rem;
    color: #330917;
    font-weight: 700;
    background: #fdc8da;
    border: 2px solid #fdc8da;
    padding: 1% 0;
}

#hai .menu_inner ul li dt.data_top {
    border-bottom: 1px solid #fff;
}

#hai .menu_inner ul li dt.data_bottom {
    border-top: 1px solid #fff;
}

#hai .menu_inner ul li dd {
    width: 50%;
    border: 2px solid #fdc8da;
    padding: 1% 0;
    text-align: center;
}

#hai .menu_inner ul li dd.data_top {
    border-bottom: 1px solid #fdc8da;
}

#hai .menu_inner ul li dd.data_bottom {
    border-top: 1px solid #fdc8da;
}

#hai .menuBtn_wrap .btn_ttl {
    font-size: 3rem;
    color: #fff;
    background: #ea85a4;
    padding: 4% 0;
    width: 100%;
    margin: 4% auto 0;
    position: relative;
}

#hai .menuBtn_wrap .btn_ttl::after {
    font-family: 'Material Icons';
    content: "arrow_right";
    font-size: 5rem;
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    transition: all .2s ease-in-out;
}

#hai .menuBtn_wrap .btn_ttl.active::after {
    content: "arrow_drop_down";
}

#hai .menuBtn_wrap .menu_content {
    display: none;
    background: #ea85a4;
    padding: 3% 4%;
    width: 100%;
}

#hai .menuBtn_wrap .tab_area {
    justify-content: center;
}

#hai .menuBtn_wrap .tab_area li {
    font-size: 2.8rem;
    font-weight: bold;
    margin: 0 6% 6%;
    width: 30%;
    background: #fff;
    border: 2px solid #fff;
    border-radius: 20px;
    padding: 3% 3%;
    color: #ea4d7d;
}

#hai .menuBtn_wrap .tab_area li.rp_ttl {
    color: #c08e9d;
}

#hai .menuBtn_wrap .tab_area li.t-active {
    background: #f96091;
    color: #fff;
}

#hai .menuBtn_wrap .tab_area li.t-active.rp_ttl {
    background: #c08e9d;
    color: #fff;
}

#hai .menuBtn_wrap .panel {
    display: none;
}

#hai .menuBtn_wrap .panel.t-active {
    display: block;
}

#hai .menuBtn_wrap .mb_list {
    padding: 0;
}

#hai .menuBtn_wrap .mb_btn {
    font-size: 2.8rem;
    background: #f96091;
    border: 2px solid #fff;
    color: #fff;
    padding: 3% 4%;
    width: 100%;
    margin: 0 auto 4%;
    position: relative;
    text-align: center;
}

#hai .menuBtn_wrap .mb_btn a {
    display: block;
}

#hai .menuBtn_wrap .txt_s {
    font-size: 2.3rem;
}

#hai .menuBtn_wrap .y_txt {
    color: rgb(253, 253, 162);
}

#hai .menuBtn_wrap .repeat_wrap .mb_btn {
    background: #c08e9d;
}

#hai .menuBtn_wrap .mb_btn::after {
    font-family: 'Material Icons';
    content: "arrow_right";
    font-size: 4.3rem;
    color: #fff;
    position: absolute;
    right: 1%;
    top: 50%;
    transform: translateY(-50%);
}

#hai .menuBtn_wrap .mb_btn.active::after {
    content: "arrow_drop_down";
}

#hai .menuBtn_wrap .mb_btn_m.active {
    width: 100%;
    margin: 0 auto 0;
    text-align: center;
    border-bottom: none;
}

#hai .menuBtn_wrap .menu_content_m {
    display: none;
    background: #c08e9d;
    padding: 1% 3% 0;
    margin-bottom: 4%;
    border: 2px solid #fff;
    border-top: none;
}

#hai .menuBtn_wrap .menu_content_m .mb_s_list {
    padding: 0;
}

#hai .menuBtn_wrap .menu_content_m .mb_s {
    font-size: 2.4rem;
    background: #fff;
    color: #c08e9d;
    padding: 2% 2% 2% 6%;
    width: 100%;
    margin: 0 auto 4%;
    position: relative;
    text-align: left;
}

#hai .menuBtn_wrap .top_txt_area {
    color: #fff;
    padding: 0 0 6%;
}
