/* Add font */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap');
/* Add font */
:root {
	--m-color: #000;
	--s-color: #8A5A26;
	--m-font: 'Noto Sans JP', sans-serif ;
	--s-font: 'Lato', sans-serif ;
}
/* responsive */
.pc{}
.sp560,
.sp480,
.sp420,
.sp320,
.sp380,
.sp{display: none}


@media screen and (min-width: 751px) {
.contact_box02 .contact_ct:hover{transform: translateY(-10px);}
.contact_box02 .call:hover{transform: translateY(0);}
.box4_mail:hover{transform: translateY(-10px);}
.backtoTop:hover{background-color: #fff;}
.backtoTop:hover p{border-bottom: 20px solid #000835;}
.contact_box02 .line:hover{transform: translateY(0);}
.box06_mail:hover{transform: translateY(-10px);}
.header_menu li a:hover{color: #27c35e;}
.contact_mail:hover{background-color: #fff;}
.contact_mail:hover .txt p{color: #000835;}
.contact_mail:hover .icon p{background-color: #000835;}
.hover a:hover{opacity: 0.7}
.contact_box02{padding-left: 15px;}
.box02 .text_intro {padding-left: 25px;}
.box02 .text_outro{padding-left: 30px;}
.box4_textarea p{margin-top: -5px;}
/* .box4_mail{margin-left: 23px;} */
.box4_plugin_flex{justify-content: space-between;}
/* .box07_main{margin-left: 22px;} */
.box07_body .tag_intro{justify-content: center;margin-top: -13px;margin-left: -70px;}
/* .box9_bg .title_h3{margin-left: 20px;} */
.box9_content{margin-top: -125px;position: relative;}
.box9 .inner{width: 1080px;}
/* .box11_list{margin-left: 20px;} */
}

@media screen and (max-width: 1600px) {
    .header_contact .contact_line{
        width: 70px;
        height: 80px;
    }
    .box02 .text_outro p,.box02 .text_outro span{
        transform: translateY(15px);
    }
    .img9{
        left: -5px;
        width: calc((100% + 10px));
    }
    /* .txt_visual.fix_hei{
        top: 5vh;
    } */
    .box9_bg .title_h3{
        padding: 50px 0 0 100px;
    }
    .contact_mail{
        height: 80px;
        padding: 10px;
        width: 245px;
    }
    .header_call .txt p{
        font-size: 30px;
    }
    .header_menu li a{
        font-size: 16px;
    }
    .header_contact{
        margin-top: 10px;
    }
    .header_contact .contact_mail .txt p{
        font-size: 18px;
    }
    .header_contact .contact_mail .icon{
        margin-top: 0;
    }
    header{
        height: 70px;
    }
    #main{
        margin-top: 70px;
    }
    .header_logo{
        margin-left: 10px;
        width: 105px;
        /* width: 85px; */
    }
    .header_call{
        margin-right: 20px;
    }
    .header_menu li{
        margin-right: 20px;
    }
    .bg_visual{
        /* height: 580px; */
        background-position: top;
        height: 610px;
        /* height: calc((100vh - 70px)); */
    }
    .txt_visual{
        /* width: 282px;
        left: calc((100% - 282px)/2);
        top: 15vh; */
        width: 400px;
        left: calc((100% - 400px)/2);
        top: 4vh;
    }
    .girl_visual{
        left: 25px;
        /* width: 20vw; */
        width: 370px;
    }
    .boy_visual{
        right: 60px;
        /* width: 18vw; */
        width: 320px;
    }
    .content_visual{
        /* display: none; */
        left: 50%;
        transform: translateX(-50%);
        /* bottom: 33vh; */
        bottom: 195px;
    }
    .txt3_visual{
        /* bottom: 120px; */
        bottom: 85px;
    }
    .txt_large{
        left: 50%;
        transform: translateX(-50%);
        white-space: nowrap;
    }
    .txt_large p{
        font-size: 82px;
    }
    .txt3_visual p{
        /* font-size: 22px; */
        font-size: 32px;
    }
    .txt3_visual p span::before{
        width: 8px;
        height: 8px;
        left: calc((100% - 8px)/2);
        top: -7px;
    }
    .txt_bg1 p{
        /* font-size: 28px; */
        font-size: 42px;
        padding: 0 15px;
    }
    .txt_bg1 p em{
        font-size: 24px;
    }
    .txt_bg2 p{
        /* font-size: 32px; */
        font-size: 52px;
        padding: 0 20px;
    }
    .txt_bg2 p span{
        /* font-size: 24px; */
        font-size: 42px;
    }
    .txt_bg1 p::before{
        width: 31px;
        height: 39px;
        top: -25px;
        left: -27px;
    }
    .txt_bg2 p::before{
        width: 32px;
        height: 37px;
        bottom: -27px;
        right: -27px;
    }
    /* .txt3_visual{
        bottom: 14vh;
    } */
    .txt_bg2{
        margin-top: 10px;
    }
    .contact_box02 .contact_ct{
        height: 100px;
        padding: 10px 0;
    }
    .call .number_phone{
        margin-bottom: 5px;
    }
    .call .text_top{
        margin-bottom: 5px;
    }
    .mail .text_top p{
        margin-bottom: 10px;
        font-size: 22px;
    }
    .box02 .text_outro{
        padding-left: 0;
        margin-top: 0;
        padding-bottom: 25px;
    }
    .mail .text_top span{
        font-size: 18px;
    }
    .line .text_line p{
        font-size: 22px;
    }
    .line .text_line p span{
        font-size: 26px;
    }
    .line .text_line p::before{
        top: 0;
    }
    .box02{
        height: auto;
        padding-bottom: 0;
        background-size: 100%;
        padding-top: 50px;
        background-image: url(../images/box2_laptop.jpg);
    }
    .box02::after{
        content: '';
        position: absolute;
        top: 99.8%;
        left: 0;
        width: 0;
        height: 0;
        border-left: 50vw solid transparent;
        border-right: 50vw solid transparent;
        border-top: 5vw solid #000835;
    }
    .contact_box02{
        margin-top: 20px;
        padding-left: 0;
    }
    .box02 .text_outro span{
        font-size: 24px;
    }
    .box02 .text_outro p{
        font-size: 44px;
    }
    .call .text_top p{
        font-size: 16px;
    }
    .call .number_phone p{
        font-size: 32px;
    }
    .call .number_phone p::before{
        top: 0;
    }
    .call .text_bot p{
        font-size: 14px;
    }
    .row1{
        padding-top: 130px;
        padding-left: 0;
        justify-content: center;
    }
    .box03{
        padding-bottom: 60px;
    }
    .box03 .q4{
        width: 378px;
        height: 184px;
        padding-top: 60px;
    }
    .box03 .quote_list{
        justify-content: center;
    }
    .inner1400{
        width: 100%;
    }
    .number_in_quote{
        width: 70px;
        height: 70px;
    }
    .number_in_quote p{
        font-size: 16px;
    }
    .number_in_quote span{
        font-size: 22px;
    }
    .text_in_quote p{
        font-size: 22px;
    }
    .text_in_quote p span{
        font-size: 26px;
    }
    .box03 .q1{
        width: 318px;
        height: 274px;
        padding: 70px 0 0 54px;
    }
    .box03 .q2{
        width: 410px;
        height: 194px;
        padding: 65px 0 0 55px;
    }
    .box03 .q3{
        width: 406px;
        height: 182px;
        padding: 45px 0 0 84px;
    }
    .box03 .quote_ct{
        background-size: contain;
    }
    .box03 .q5{
        width: 358px;
        height: 180px;
        padding-top: 67px;
    }
    .q5 .tag_quote{
        right: 0;
    }
    .boy_row3{
        transform: translate(0,27px);
    }
    .box03 .q6{
        width: 357px;
        padding-top: 54px;
    }
    .box03 .q7{
        width: 340px;
    }
    .box04{
        padding: 80px 0;
    }
    .box4_plugin{
        height: auto;
        padding: 10px 0;
    }
    .box05{
        padding: 80px 0;
    }
    .box05 .text_demo{
        margin-top: 20px;
    }
    .box05_main{
        margin-top: 25px;
    }
    .box9_content{
        margin-top: -55px;
    }
    .box08 .box06{
        padding: 80px 0;
    }
    .box07{
        padding: 80px 0;
    }
    .box9_bg{
        padding-top: 60px;
        height: 360px;
    }
    .box10_flex{
        max-width: 85vw;
        width: 100%;
        justify-content: space-between;
    }
    .box10_img{
        min-width: auto;
        width: 550px;
    }
    .box10 .title_h3{
        margin-bottom: 25px;
    }
    .box10_desc{
        margin-top: 30px;
    }
    .box10{
        padding: 60px 0 80px 0;
    }
    .box12{
        padding-bottom: 80px;
    }
    .box11{
        padding: 60px 0;
    }
    .bg_box13{
        padding-top: 75px;
    }
    .backtoTop{
        width: 65px;
        height: 65px;
    }
    .box10_desc p{
        font-size: 17px;
    }
    .box9_form{
        padding: 20px;
    }
    .box06{
        padding: 80px 0;
    }
    .txt3_visual p span{
        font-size: 30px;
    }
}

@media screen and (max-width: 1500px) {
    .box10_flex{
        max-width: 87vw;
    }
}

@media screen and (max-width: 1400px) {
    .box10_flex{
        max-width: 92vw;
    }
    .txt_bg2 p{
        font-size: 46px;
    }
    .txt_bg2 p span{
        font-size: 36px;
    }
    .txt_bg1 p{
        font-size: 38px;
    }
    .content_visual{
        bottom: 215px;
    }
    .txt3_visual{
        bottom: 105px;
    }
}

@media screen and (max-width: 1300px) {
    .girl_visual{
        left: 0;
        width: 350px;
    }
    .boy_visual{
        right: 20px;
        width: 300px;
    }
}

@media screen and (max-width: 752px) and (min-width: 751px) {
    .box02::after{
        border-left: 630px solid transparent;
        border-right: 630px solid transparent;
        border-top: 8vw solid #000835;
        top: 99.8%;
    }
    .box10_flex{
        max-width: 93%;
    }
}

@media screen and (max-width: 750px) {
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input,
    button,
    textarea,
    select,
    p,
    blockquote,
    th,
    td,
    pre,
    address,
    li,
    dt,
    dd{font-size: 14px;}



    #wrapper,
    header,
    main,
    footer,
    .inner,
    .inner2{width: 100% !important;min-width: inherit !important;}
    .inner {box-sizing: border-box;padding: 0 15px;}
    .sp {display: block;}
    .pc {display: none;}
    .isplugin{
        max-width: 320px;
        width: 100%;
        height: 100px;
        padding: 10px;
        background-color: #fff;
        display: block;
        margin-bottom: 20px;
        display: flex;
        align-items: center;
    }
    #en1671531033_01_label.fmail_label_disabled{
        height: 55px !important;
    }
    #en1671531033_01_label input.fmail{
        margin-top: 4px !important;
        margin-right: 5px !important;
    }
    .fmail_section .privacy .content2{
        line-height: 1.6;
    }
    .fmail_section .content2{
        font-size: 20px;
    }
    .submit_confirm_button, .submit_send_button, .submit_cancel_button, .under #content .site_top a{
        margin-top: 10px !important;
    }
    .fmail_section .privacy .privacy-box{
        height: 200px;
    }
    .fmail_section .privacy .content2{
        margin-bottom: 20px;
    }
    .button form.fmail_submit,.button form.fmail_cancel{
        width: 100%;
        text-align: center;
    }
    .fmail_section .privacy{
        margin-top: 40px;
    }
    .txt_fix{font-size: 14px;margin-bottom: 10px;}
    .box07_body .tag_intro{
        justify-content: center;
        padding-left: 20px;
    }
    .footer_bottom_info{
        flex-direction: column-reverse;
    }
    .button form.fmail_submit, .button form.fmail_cancel{
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
    .footer_bottom_info span{
        margin-top: 0;
    }
    .footer_text_out{
        display: flex;
        flex-direction: column;
    }
    .box02 .text_outro span,.box02 .text_outro p{
        transform: translateY(0);
    }
    #fmail textarea.fmail::placeholder{font-size: 14px;}
    #main{
        margin-top: 50px;
    }
    .box14_info{
        margin-right: 0;
        max-width: 540px;
        width: 100%;
    }
    .box9_bg .title_h3{
        padding: 0;
    }
    .is_call .text p{
        font-size: 36px;
        color: #2c2c2c;
        font-weight: 900;
        font-family: var(--s-font);
    }
    .header_logo{
        width: 85px;
    }
    .backtoTop p{
        border-bottom-width: 20px;
    }
    .tb_custom_fun{
        max-width: 600px;
        width: 100%;
        margin-right: auto;
        margin-left: auto;
    }
    .fmail_section{
        width: 100%;
    }
    .fmail_section .clearfix{
        width: 100%;
    }
    .backtoTop.active{
        bottom: 70px;
    }
    .iframe_map_new{
        height: 390px;
    }
    .is_call .text span{
        font-size: 14px;
        font-weight: 700;
        color: #2c2c2c;
    }
    .isplugin .icon{
        margin-right: 10px;
    }
    .contact_in_menu .is_list{
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0 15px;
    }
    .is_mail .icon span{
        display: flex;
        width: 26px;
        height: 18px;
    }
    .is_mail .icon span img{
        width: 100%;
        height: 100%;
    }
    .is_call .icon span{
        display: flex;
        width: 18px;
        height: 30px;
    }
    .is_call .icon span img{
        width: 100%;
        height: 100%;
    }
    .is_call .icon p{
        width: 40px;
        height: 40px;
        background-color: #fce100;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .plugin_bottom{
        position: fixed;
        bottom: -100%;
        width: 100%;
        left: 0;
        z-index: 995;
        opacity: 0;
        height: 50px;
        transition: .3s ease-in-out;
    }
    .backtoTop{
        width: 55px;
        height: 55px;
    }
    .plugin_bottom.active{
        /* bottom: 0; */
        top: 50px;
        opacity: 1;
    }
    .plugin_bottom .list{
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: space-between;
    }
    /* body{padding-bottom: 50px;} */
    .plugin_bottom .call{
        background-color: #fff;
    }
    .plugin_b .icon{
        display: flex;
        width: 100%;
        height: 100%;
        align-items: center;
        justify-content: center;
    }
    .plugin_b .icon p{
        height: auto;
    }
    .plugin_bottom .mail{
        background-color: #fce100;
    }
    .plugin_bottom .line{
        background-color: #45c15d;
    }
    .plugin_bottom .plugin_b{
        width: 33.33%;
        height: 100%;
    }
    .is_mail{
        background-color: #fbe133;
    }
    .is_mail .icon p{
        width: 40px;
        height: 40px;
        background-color: #009d57;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .is_mail .text p{
        font-size: 24px;
        font-weight: 700;
        color: #000;
    }
    .isplugin:last-child{
        margin-bottom: 0;
    }
    .is_line .icon p{
        width: 35px;
        height: 35px;
    }
    .is_line .text p{
        font-size: 24px;
        font-weight: 700;
        color: #000;
    }
    .is_line .text span{
        color: #00ba51;
    }
    /*---*/
	.txt-note {
		margin: 20px 0 0;
	}

    /*==========================================================================*/
    /*                               ALL                                        */
    /*==========================================================================*/
    .header_menu{
        margin-right: 0;
        position: fixed;
        top: 0;
        left: 100%;
        transition: .3s ease-in-out;
        width: 100%;
        height: 100%;
        background-color:#020735;
        overflow-y: auto;
        padding-bottom: 30px;
    }
    .header_menu.active{
        left: 0;
    }
    .contact_in_menu .contact_box02 .contact_ct{
        align-items: flex-start;
        padding: 10px;
        height: 70px;
        max-width: 300px;
        border-radius: 10px;
    }
    .contact_in_menu .mail .text_top p{
        padding-left: 35px;
    }
    .contact_in_menu .line .text_line p::before{
        left: 0;
    }
    .contact_in_menu .contact_box02 .contact_ct:last-child{
        padding: 10px;
    }
    .ovl{
        overflow: hidden;
    }
    .header_menu ul{
        flex-direction: column;
        padding: 20px;
        margin-top: 50px;
        height: auto;
    }
    .header_menu ul li{
        width: 100%;
        margin-right: 0;
    }
    .header_menu ul li a{
        color: #fff;
        padding: 15px 10px;
        display: block;
        border-bottom: 1px solid #fff;
    }
    .header_call{
        display: none;
    }
    .header_contact{
        display: none;
    }
    .hamburger_btn{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        width: 40px;
        height: 50px;
        transform: translateY(-5px);
        transition: .3s ease-in-out;
    }
    .hamburger_btn.active .text p{
        color: #fff;
    }
    .hamburger_btn.active  .icon p{
        background-color: transparent;
    }
    .hamburger_btn.active  .icon p::after{
        transform: rotate(45deg);
        bottom: 0;
        background-color: #fff;
    }
    .hamburger_btn.active  .icon p::before{
        transform: rotate(-45deg);
        top: 0;
        background-color: #fff;
    }
    .hamburger_btn .text p{
        transform: translateY(-10px);
        color: #009d57;
        font-weight: 500;
        transition: .3s ease-in-out;
    }
    .hamburger_btn .icon p{
        width: 30px;
        height: 2px;
        border-radius: 999px;
        background-color: #009d57;
        position: relative;
        transition: .3s ease-in-out;
    }
    .hamburger_btn .icon p::before{
        content: '';
        position: absolute;
        top: -7px;
        width: 30px;
        height: 2px;
        border-radius: 999px;
        background-color: #009d57;
        transition: .3s ease-in-out;
    }
    .hamburger_btn .icon p::after{
        content: '';
        position: absolute;
        bottom: -7px;
        border-radius: 999px;
        width: 30px;
        height: 2px;
        background-color: #009d57;
        transition: .3s ease-in-out;
    }
    .header_logo{
        margin-left: 0;
    }
    .header_main{
        padding: 0 15px;
    }
    .txt_visual,.girl_visual,.boy_visual,.content_visual,.txt3_visual,.txt_large{
        display: none;
    }
    .bg_visual{
        height: 480px;
        /* height: 550px; */
        background-size: contain;
        background-position: bottom;
        background-image: url(../images/bg_visual_sp750.jpg);
    }
    .bg_visual::after{
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        background-image: url(../images/bg_visual_after.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        height: 100%;
        width: 100%;
        z-index: -1;
    }
    .contact_box02{
        flex-direction: column;
        align-items: center;
    }
    .box02{
        background-image: url(../images/box2_sp.jpg);
    }
    .box02 .text_intro p{
        font-size: 18px;
    }
    .contact_box02 .contact_ct{
        margin-right: 0;
        margin-bottom: 20px;
        max-width: 300px;
    }
    .box02 .text_outro span{
        font-size: 18px;
    }
    .box02 .text_outro p{
        font-size: 26px;
    }
    .box4_plugin_flex .line .icon p{
        width: 35px;
        height: 35px;
    }
    .box4_plugin_flex .call .icon p span{
        width: 20px;
        height: 28px;
        left: 10px;
    }
    .box4_plugin_flex .call .icon p{
        width: 40px;
        height: 40px;
    }
    .row1{
        padding-top: 40px;
    }
    .box03 .quote_list{
        flex-direction: column;
        align-items: center;
    }
    .box03 .quote_ct{
        background-image: none;
        border: 5px solid #fce100;
        width: 100%;
        max-width: 320px;
        height: auto;
        padding: 15px 10px 10px 60px;
        margin: 10px 0;
    }
    .q2 .tag_quote{
        top: -5px;
    }
    .girl_row1{
        transform: translate(0);
    }
    .text_in_quote p{
        font-size: 18px;
    }
    .text_in_quote p span{
        font-size: 20px;
    }
    .row2{
        margin-top: 0;
    }
    .tag_quote{
        right: unset;
        left: -5px ;
        padding: 0;
        top: -5px ;
        background-color: transparent;
    }
    .number_in_quote{
        width: 55px;
        height: 55px;
    }
    .girl_row1{
        display: none;
    }
    .boy_row3{
        display: none;
    }
    .q7 .tag_quote,.q3 .tag_quote,.q5 .tag_quote,.q6 .tag_quote{
        top: -5px;
        left: -5px;
    }
    .box03{
        padding-bottom: 40px;
    }
    .box4_flex{
        flex-direction: column-reverse;
    }
    .box04{
        padding: 60px 15px;
    }
    .box4_man{
        margin: 20px auto 1px auto;
        width: 50%;
    }
    .box4_textarea{
        width: 100%;
        height: auto;
        margin: 0 auto;
        padding: 15px;
        max-width: 350px;
    }
    .fsize_14{
        font-size: 11px;
    }
    .box4_textarea p{
        font-size: 16px;
    }
    .box4_f2,.box4_f1,.box4_f3,.box4_f4{
        width: 35px;
        height: 35px;
    }
    .box4_f2{
        top: -10px;
        right: -10px;
    }
    .box4_f1{
        top: -10px;
        left: -10px;
    }
    .box4_f3{
        bottom: -10px;
        left: -10px;
    }
    .box4_f4{
        bottom: -10px;
        right: -10px;
    }
    .box4_title{
        margin: 30px auto 30px auto;
        max-width: 360px;
        width: 100%;
        align-items: center;
        flex-direction: column;
    }
    .box4_title p{
        font-size: 20px;
        margin-right: 0;
    }
    .box4_title span{
        margin: 5px 0 0 0;
        font-size: 14px;
    }
    .box4_man p{
        width: 100%;
        height: 100%;
    }
    .box4_man p img{
        height: 100%;
        object-fit: cover;
        width: 100%;
        object-position: top;
    }
    .box4_mail{
        width: 100%;
        max-width: 340px;
        padding: 15px;
        margin-top: 0;
        margin-left: auto;
        margin-right: auto;
    }
    .box4_mail .icon p{
        background-color: transparent;
        width: 36px;
        height: 29px;
    }
    .box4_mail .text p{
        font-size: 20px;
    }
    .box04 .number_in_text{
        display: none;
    }
    .box4_mail .icon p span{
        width: 36px;
        height: 29px;
        top: 0;
        right: unset;
        left: 0;
    }
    .box4_mail .icon{
        margin-right: 20px;
    }
    .backtoTop{
        bottom: 50px;
        right: 10px;
    }
    .box04 .contact_box02{
        position: relative;
        z-index: 2;
        margin-top: 0;
    }
    .contact_box02 .contact_ct:last-child{
        margin-bottom: 0;
    }
    .title_h3{
        font-size: 22px;
        line-height: 1.5;
    }
    .text_demo p{
        font-size: 14px;
    }
    .box05{
        padding: 40px 0;
    }
    .box05 .text_demo{
        padding: 0 15px;
    }
    .box05_main{
        padding: 0 15px;
    }
    .box_05_ct{
        border-width: 7px;
        padding: 30px 20px;
        border-bottom: 3px solid #000835;
    }
    .box_05_ct:last-child{
        border-bottom: 7px solid #000835;
    }
    .box_05_body{
        flex-direction: column;
        margin-top: 20px;
    }
    .box05_img{
        margin: 0 auto 20px auto;
        min-width: auto;
        width: 170px;
    }
    .inner1140{
        width: 100%;
    }
    .box05_info{
        margin-left: 0;
    }
    .box06{
        padding: 40px 0;
    }
    .box06_mail{
        height: auto;
        padding: 15px 10px;
        margin-top: 30px;
        max-width: 340px;
        margin-left: auto;
        margin-right: auto;
    }
    .box06 .box4_plugin{
        max-width: 340px;
    }
    .box06_mail .info .text p{
        font-size: 18px;
    }
    .box06_mail .info{
        margin-left: 20px;
    }
    .box4_plugin_flex .call .info .text p{
        font-size: 18px;
    }
    .box4_plugin_flex .call .info .text span{
        font-size: 12px;
        line-height: 1.5;
        display: block;
    }
    .box4_plugin_flex .call .info .number p{
        font-size: 36px;
    }
    .box06_mail .info .number p{
        font-size: 14px;
        padding: 5px 25px;
        width: auto;
        height: auto;
    }
    .box06_mail .icon span{
        width: 36px;
        height: 29px;
        top: -10px;
        left: 10px;
    }
    .box06_mail .info .number{
        margin-top: 5px;
    }
    .box06_mail .icon p{
        width: 40px;
        height: 40px;
    }
    .box06_mail .info .number span{
        font-size: 18px;
    }
    .box06 .box4_plugin_flex{
        flex-wrap: wrap;
        flex-direction: column;
        margin-top: 20px;
        justify-content: center;
        align-items: center;
    }
    .box06 .box4_plugin:first-child{
        margin-bottom: 20px;
        margin-right: 0;
    }
    .box06 .box4_plugin{
        width: 100%;
        margin-right: 0;
        height: 110px;
        padding: 15px 10px;
        justify-content: flex-start;
    }
    .box05_circle{
        width: 93px;
        height: 93px;
        top: -10px;
        left: -10px;
    }
    .box_05_head{
        padding-left: 100px;
        padding-bottom: 10px;
    }
    .box05_circle p{
        font-size: 14px;
    }
    .box_05_head p{
        font-size: 16px;
    }
    .box05_tag_ct span{
        font-size: 12px;
    }
    .box05_tag_ct p{
        font-size: 14px;
        width: 70px;
        height: 35px;
    }
    .box05_tag_ct{
        margin-right: 10px;
        margin-bottom: 15px;
    }
    .box05_list_tag:not(:last-child){
        margin-bottom: 0;
    }
    .box05_list_tag .box05_tag_ct:last-child{
        margin-bottom: 0;
    }
    .box05_list_tag{
        flex-direction: column;
    }
    .box05_list_tag:last-child .box05_tag_ct{
        margin-right: 0;
    }
    .flexneh{
        display: flex;
        justify-content: center;
    }
    .box05_list_text .title p{
        font-size: 18px;
    }
    .box05_list_text .desc{
        margin-top: 10px;
    }
    .box05_list_text{
        margin-top: 20px;
    }
    .box05_list_text .desc p{
        font-size: 14px;
    }
    .box4_plugin_flex .line .text p{
        font-size: 22px;
    }
    .box4_plugin_flex .line .text span{
        font-size: 26px;
    }
    .box4_plugin_flex .line .icon,.box4_plugin_flex .call .icon{
        margin-right: 15px;
    }
    .box07{
        padding: 40px 0;
    }
    .box07_main{
        margin-top: 25px;
    }
    .box07_head .title{
        padding: 15px;
        height: auto;
    }
    .box07_head .title p{
        font-size: 18px;
    }
    .price_ct p{
        font-size: 16px;
    }
    .price_ct span{
        font-size: 16px;
    }
    .price_ct{
        padding: 10px 0;
    }
    /*==========================================================================*/
    /*                               MAIN                                       */
    /*==========================================================================*/
    .box07_body{
        padding: 10px;
        margin-top: 20px;
    }
    .box07_body .tag_ct span{
        font-size: 14px;
    }
    .box07_body .tag_ct p{
        margin-right: 5px;
        width: 67px;
        height: 34px;
    }
    .box07_body .tag_ct{
        margin-right: 15px;
    }
    .box07_body .tag_intro span, .box07_body .tag_intro p{
        font-size: 14px;
    }
    .box07_desc p{
        font-size: 14px;
    }
    .box07_desc{
        padding: 15px;
    }
    .box07_list{
        margin-bottom: 0;
        justify-content: space-between;
    }
    .box07_ct{
        margin-right: 0;
        margin-bottom: 20px;
        width: 48%;
    }
    .box08 .box06{
        padding: 40px 0;
    }
    .price{
        padding: 0 15px;
    }
    .box9_bg{
        height: auto;
    }
    .box9_content{
        padding-bottom: 20px;
    }
    .box9_bg{
        height: auto;
        padding-top: 40px;
    }
    .box9_form{
        padding: 30px;
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
    }
    .box10::after{
        height: 120px;
        bottom: 0;
        width: 100%;
    }
    .box9_head .title{
        margin: 0 0 0 20px ;
    }
    .box9_head .title p{
        font-size: 20px;
        margin-bottom: 10px;
    }
    .box9_head .title span{
        font-size: 16px;
    }
    .box9_body{
        margin-top: 20px;
        padding: 10px;
    }
    .box9_body p{
        font-size: 14px;
    }
    .box9_form:not(:last-child){
        margin-bottom: 20px;
    }
    .box10_img{
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
    .box10_flex{
        flex-wrap: wrap;
        max-width: 100%;
    }
    .box10{
        padding: 40px 15px;
    }
    .box10 .title_h3{
        margin-bottom: 10px;
    }
    .box10_desc{
        margin-top: 20px;
        margin-bottom: 30px;
        position: relative;
        max-width: 100%;
    }
    .box10_desc::after{
        content: '';
        position: absolute;
        bottom: -10px;
        left: -10px;
        width: calc((100% + 10px));
        background-color: #fef7c7;
        height: 300px;
        z-index: -1;
        pointer-events: none;
        display: none;
    }
    .box10_intro p{
        font-size: 22px;
    }
    .box10_desc p{
        font-size: 14px;
    }
    /* ===========  OVERNOTE ===========  */
    .box11{
        padding: 35px 0;
    }
    .box11_list{
        flex-wrap: wrap;
        justify-content: center;
        margin-top: 20px;
    }
    .box11_ct{
        margin-right: 0;
        margin-bottom: 20px;
        padding: 10px;
        max-width: 292px;
    }
    .box11_ct:last-child{
        margin-right: 0;
        margin-bottom: 0;
    }
    .box11_number p{
        font-size: 16px;
    }
    .box11_number span{
        font-size: 20px;
    }
    .box11_number{
        width: 55px;
        height: 55px;
        bottom: -27px;
    }
    .box11_title{
        margin-top: 40px;
    }
    .box11_desc{
        margin-top: 10px;
    }
    .box11_title p{
        font-size: 16px;
    }
    .box11_desc p{
        font-size: 14px;
    }
    .box12 .title_en p{
        font-size: 22px;
    }
    .box12 .title_ja h3{
        font-size: 20px;
    }
    .box12 .title{
        width: 100%;
        height: auto;
        padding: 15px 0 ;
    }
    .box_12_ct{
        padding: 30px;
        max-width: 292px;
    }
    .box_12_ct:last-child{
        margin-bottom: 0;
    }
    .box_12_ct::after{
        right: -13px;
    }
    .box_12_list{
        flex-wrap: wrap;
        justify-content: center;
        margin-left: 0;
        margin-top: 30px;
        flex-direction: column;
        align-items: center;
    }
    .box_12_ct{
        padding: 0;
        margin-bottom: 65px;
    }
    .box9_form{
        padding: 15px;
    }
    .box_12_ct::after{
        top: calc((100% + 20px));
        right: calc((100% - 20px)/2);
        transform: rotate(90deg);
        width: 12px;
        height: 20px;
    }
    .bg_box13{
        padding-top: 40px;
    }
    .box13 .title h3{
        font-size: 22px;
        line-height: 1.5;
    }
    .box13 .title h3 span{
        font-size: 20px;
    }
    .box13 .text_demo p{
        font-size: 16px;
    }
    .box13 .title_form p{
        font-size: 18px;
    }
    .bg_box13 .title{
        padding: 0 15px;
    }
    .box12_number p{
        font-size: 16px;
    }
    .box12_number span{
        font-size: 20px;
    }
    .box12_number{
        width: 55px;
        height: 55px;
    }
    .box_12_ct span{
        font-size: 16px;
    }
    .box13 .text_demo{
        margin-top: 15px;
    }
    .box13 .title_form{
        margin-top: 15px;
    }
    .box14_flex{
        flex-wrap: wrap;
        justify-content: center;
        flex-direction: column-reverse;
        align-items: center;
    }
    .box14_img{
        margin-bottom: 60px;
        margin-top: 0;
    }
    .box14_info_ct p{
        max-width: 120px;
        font-size: 14px;
        width: 100%;
    }
    .box13{
        padding-bottom: 40px;
    }
    .box14_info_ct span{
        font-size: 14px;
        margin-left: 15px;
    }
    .box14_img::before{
        z-index: -1;
        height: 300px;
    }
    .box4_plugin_flex{
        flex-wrap: wrap;
        margin-top: 20px;
        max-width: 340px;
        width: 100%;
        margin-right: auto;
        margin-left: auto;
    }
    .box4_plugin:not(:last-child){
        margin-right: 0;
        margin-bottom: 20px;
    }
    .footer_bottom_info p{
        font-size: 18px;
        margin-bottom: 15px;
    }
    .footer_bottom_logo{
        position: unset;
        transform: translateY(0);
        margin-bottom: 15px;
    }
    .img9{
        position: unset;
        margin-top: 30px;
        display: flex;
        justify-content: center;
    }
    .img9 p{
        width: 60%;
    }
    .box9_head .img p{
        min-width: 100px;
        width: 100px;
        height: 100px;
    }
    .box14_info_ct{
        align-items: flex-start;
    }
    .box02 .text_outro{
        margin-top: 30px;
    }
    .inner1400{
        padding: 0 15px;
    }
    /* .call .number_phone p{
        font-size: 20px;
        padding-left: 20px;
    } */
    /* .call .number_phone p::before {
        top: 0;
        width: 17px;
        height: 24px;
    } */
    .call .text_top p{
        font-size: 14px;
    }
    /* /* .mail .text_top p::before{
        width: 26px;
        height: 19px;
        top: 5px;
    }
    .mail .text_top p{
        font-size: 18px;
        padding-left: 20px;
    }
    .mail .text_top span{
        font-size: 14px;
    } */
    /* .line .text_line p::before{
        width: 35px;
        height: 35px;
        top: -5px;
    } */
    /* .line .text_line p{
        font-size: 16px;
        padding-left: 40px;
    } */
    /* .line .text_line p span{
        font-size: 18px;
    } */
    .line .text_line p::before{
        left: -6px;
    }
    .contact_box02 .contact_ct:last-child{
        padding: 20px 0;
    }
    .plugin_bottom .line p{
        width: 34px;
    }
    .plugin_bottom .call p{
        width: 20px;
    }
    .plugin_bottom .mail p{
        width: 30px;
    }
    .box14{
        padding-bottom: 90px;
    }
    header{
        height: 50px;
    }
    .box07_body .tag_list{
        margin-bottom: 10px;
    }

    #fmail li input.fmail{margin-top: 6px;}
}
@media screen and (max-width: 640px) {
    .bg_visual{height: 410px;}
}
@media screen and (max-width: 480px) {
.txt_underimg{font-size: 14px;}
.pc480{display: none}
.sp480{display: block}
.box14_img::before{
    height: 210px;
}
.txt_fix{padding: 5px 10px}
.couple_row4 .boys{
    justify-content: flex-end;
}
.couple_row4 .girl{
    justify-content: flex-start;
}
.couple_row4 .boys p{
    width: 109px;
}
.couple_row4 .girl p{
    width: 95px;
}
.couple_row4 .boys img,.couple_row4 .girl img{
    width: 100%;
}
.box4_man{
    width: 100%;
    /* height: 300px; */
}
.bg_visual{
    height: 509px;
    background-image: url(../images/bg_visual_sp.jpg);
}
.box4_man p{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.box12_img{
    height: 176px;
}
.box12_img p{
    width: 78px;
    height: 78px;
}
.fmail_section{
    padding: 15px;
}
.iframe_map_new{
    height: 190px;
}
.contact_box02 .contact_ct{
    height: 100px;
    padding: 10px;
}
.img9 p{
    width: 100%;
}
.box_12_ct{
    padding: 0;
    margin-bottom: 65px;
}
.box9_form{
    padding: 15px;
}
.box_12_ct::after{
    top: calc((100% + 15px));
    right: calc((100% - 20px)/2);
    transform: rotate(90deg);
    width: 12px;
    height: 20px;
}
.box_12_ct:nth-child(2)::after{
    top: calc((100% + 15px));
    right: calc((100% - 20px)/2);
}
.box12{
    padding-bottom: 40px;
}
.box_12_list{
    margin-top: 50px;
}
.box05_circle{
    width: 80px;
    height: 80px;
    top: 0;
    left: 0;
}
.box14_flex{
    justify-content: space-between;
}
.box07_ct{
    width: 100% ;
}
.box11_ct{
    max-width: 340px;
}
.box12_number p{
    width: auto;
    height: auto;
}
}

@media screen and (max-width: 349px) {
    .fmail_section .privacy .content2{
        font-size: 18px;
    }
    .is_call .text p{
        font-size: 30px;
    }
    .box4_plugin_flex .line .text p{font-size: 18px;}
    .box02 .text_intro p{font-size: 14px;}
    .bg_visual{height: 410px;}
    .box02 .text_outro span{
        font-size: 14px;
    }
    .text_in_quote p span{
        font-size: 16px;
    }
    .box4_textarea{
        padding: 5px;
    }
    .box02 .text_outro{margin-top: 10px;}
    .box02 .text_outro p{
        font-size: 20px;
    }
    .box4_title p{
        font-size: 17px;
    }
    .sp320{
        display: block;
    }
    .box05_tag_ct p{
        width: 50px;
        height: 25px;
        font-size: 10px;
    }
    .title_h3{
        font-size: 18px;
    }
    .box06_mail .info .text p{
        font-size: 16px;
    }
    .box10_intro p{
        font-size: 19px;
    }
    .box_12_list{
        padding: 0 20px;
    }
    .box13 .text_demo p{
        font-size: 15px;
    }
    .box13 .title_form p{
        font-size: 16px;
    }
    .contact_box02 .contact_ct{
        height: 115px;
    }
    .box07_body .tag_intro{
        padding-left: 50px;
    }
    .box07_body .tag_intro span, .box07_body .tag_intro p{
        font-size: 12px;
    }
    .box4_plugin_flex .call .info .number p{
        font-size: 26px;
    }
    .box4_plugin_flex .call .info .text p{
        font-size: 14px;
    }
}