@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500&family=Noto+Serif+JP:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Limelight&display=swap');

.font01{
    font-family: 'M PLUS 1p', sans-serif !important;
    font-weight: 400 !important;
}

/* ------------------------------
reset
------------------------------ */
figure{
    margin: 0;
    padding: 0;
}
a{
	color: #333;
	text-decoration: none;
}
a:hover {
	text-decoration: none;
} 
html{
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
}
@media screen and (max-width : 750px) {
	html {
		font-size: 2.4vw;
	}
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form, input, textarea {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-style: normal;
	text-align: left;
	color: #000;
}
img { vertical-align: bottom; }
.min{ font-family: 'Noto Serif JP', serif;}

/* ------------------------------
base
------------------------------ */

body{
	position: relative;
	font-size: 1.6rem;
	max-width: 750px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

p,table,dl,ol,ul li  {
	font-size: 1.8rem;
	line-height: 2;
}
.object-fit-img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;'
}
.pc{
    display:block!important;
}
.sp{
    display:none!important;
}

.no-link{ pointer-events: none;}

@media screen and (max-width : 750px){
	.pc{
		display:none!important;
	}
	.sp{
		display:block!important;
	}
    body{
        max-width: inherit;
    }
    img{
        width: 100%;
        height: auto;
    }
}
/* ------------------------------
contents
------------------------------ */
.wrap{
	width: 100%;
    max-width: 750px;
	box-sizing: border-box;
	margin: 0 auto;
}
.inner{
    width: 90%;
    max-width: 670px;
	box-sizing: border-box;
	margin: 0 auto;
}
@media screen and (max-width : 750px){
    .inner{
        width: 90%;
        max-width: inherit;
    }

}
/* header */
.is-fixed .headerWrap{
	transform: inherit;
}

#header{
	position: fixed;
	top: 0;
	left: 0;
    right: 0;
    margin: 0 auto;
	width: 100%;
    max-width: 750px;
	z-index: 10;
}
.headerWrap{
	display: flex;
    align-items: center;
    justify-content: flex-start;
	background: #fff;
    padding: 5px 0;
    box-shadow: 0 20px 10px -10px rgba(0,0,0,.05);
    box-sizing: border-box;
	transition: 0.3s;
}

.headerWrap .h_logo{
    padding-left: 2%;
    box-sizing: border-box;
}
.headerWrap .h_btn{
    margin-left: 70px;
}

.menuWrap{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 12%;
    min-width: 114px;
    height: 100%;
}
.menu-trigger{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999;
    cursor: pointer;
}
.gnav_wrap .menu-trigger{
    position: absolute;
    right: 2%;
    top:32px;
}
.menu-trigger span{
    display: block;
    justify-content: center;
    width: 50px;
    height: 4px;
    background: #001f4b;
    transition: .4s;
}

.menu-trigger span+span{ margin-top: 12px;}
.open .menu-trigger span:nth-of-type(2){ display: none;}
.open .menu-trigger span:nth-of-type(1){
    transform: rotate(-45deg);
}
.open .menu-trigger span:nth-of-type(3){
    transform: rotate(45deg);
    margin-top: -4px;
}

.gnav_wrap{
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 77px;
    width: 100%;
    padding: 0;
    -webkit-overflow-scrolling:touch;
    overflow-y: auto;
    box-sizing: border-box;
    z-index: 997;
    background: #333333;
}

.gnav_wrap{ display: none;}

.gnav_wrap .gnav li{
    position: relative;
    padding: 10px 0 12px 0;
    text-align: center;
    border-bottom: 1px solid #FFF;
    box-sizing: border-box;
}
.gnav_wrap .gnav li a{
    position: relative;
    font-size: 2.4rem;
    color: #FFF;
}

@media screen and (max-width : 750px){
    #header{
        max-width: inherit;
    }
    .headerWrap{
        justify-content: space-between;
        padding: 5px 14vw 5px 0;
        box-shadow: 0 20px 10px -10px rgba(0,0,0,.05);
    }

    .headerWrap .h_logo{
        width: 48.8vw;
        padding-left: 4%;
    }
    .headerWrap .h_btn{
        width: 24vw;
        margin-left: 8%;
    }

    .menuWrap{
        width: 6.667vw;
        min-width: inherit;
        right: 4%;
    }

    .gnav_wrap .menu-trigger{
        right: 0;
        top:32px;
    }
    .menu-trigger span{
        width: 6.667vw;
        height: 2px;
    }

    .menu-trigger span+span{ margin-top: 1.6vw;}
    .open .menu-trigger span:nth-of-type(3){
        margin-top: -2px;
    }

    .gnav_wrap{
        top: 12.2vw;
        width: 100%;
        padding: 0;
        -webkit-overflow-scrolling:touch;
        overflow-y: auto;
        box-sizing: border-box;
        z-index: 997;
        background: #333333;
    }

    .gnav_wrap{ display: none;}

    .gnav_wrap .gnav li{
        position: relative;
        padding: 10px 0 12px 0;
        text-align: center;
        border-bottom: 1px solid #FFF;
        box-sizing: border-box;
    }
    .gnav_wrap .gnav li a{
        font-size:3.2vw;
    }
}

/* footer */
.f_btm{ margin-top: 5px;}
.pagetop_wrap{
    width: 750px;
    margin: 0 auto;
    position: fixed;
    bottom: 90px;
    z-index: 99;
    box-sizing: border-box;
}
.pagetop{
    position: absolute;
    right: 2%;
    display: inline-block;
    margin: 0 0 0 auto;
    cursor: pointer;
}

#footer{
	position: relative;
	padding: 60px 0 10px 0;
}
#footer .f_logo{
    text-align: center;
    margin: 0 auto 45px auto;
}
#footer .flex{
    width: 92%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
#footer .flex:nth-of-type(2){
    justify-content: center;
    align-items: center;
}
#footer .flex+.flex{ margin-top: 80px;}

#footer .info p{
    font-size: 2.0rem;
    line-height: 1.8;
}
#footer .info p.name{
    font-size: 2.4rem;
    font-weight: 700;
    margin-bottom: 25px;
}

#footer .flex:nth-of-type(2) .bn{
    margin-right: 55px;
}
#footer .flex:nth-of-type(2) .sns{
    text-align: center;
}
#footer .flex:nth-of-type(2) .sns p{
    text-align: end;
    font-size: 1.8rem;
    font-weight: 700;
}

#footer .copy{
    margin: 45px 0 0 0;
}
#footer .copy .txt{
	text-align: center;
	font-size: 1.8rem;
    color: #999999;
}

@media screen and (max-width : 750px){
    .f_btm{ margin-top: 0.667vw;}
    .pagetop_wrap{
        width: 100%;
        bottom: 90px;
    }
    .pagetop{
        right: 4%;
        width: 9.333vw;
    }

    #footer{
        padding: 8vw 0 1.333vw 0;
    }
    #footer .f_logo{
        width: 48.667vw;
        margin: 0 auto 6vw auto;
    }
    #footer .flex:nth-of-type(2){
        justify-content: center;
        align-items: center;
    }
    #footer .flex+.flex{ margin-top: 10.667vw;}

    #footer .info p{
        font-size: 2.667vw;
        line-height: 1.8;
    }
    #footer .info p.name{
        font-size: 3.2vw;
        margin-bottom: 3.333vw;
    }

    #footer .flex:nth-of-type(2) .bn{
        margin-right: 3.667vw;
        /*margin-right: 6.667vw;*/
        width: 59.6vw;
    }
    #footer .flex:nth-of-type(2) .sns img{
        width: 6.667vw;
    }
    #footer .flex:nth-of-type(2) .sns p{
        font-size: 2.4vw;
    }

    #footer .copy{
        margin: 6vw 0 0 0;
    }
    #footer .copy .txt{
        font-size: 2.4vw;
    }
}

/* lower */
.entry_wrap{
    padding: 50px 0;
    background: #F1581C;
    box-sizing: border-box;
}
.entry_wrap h2{
    text-align: center;
}
.entry_wrap .btn_entry{
    text-align: center;
    margin: 36px auto 20px auto;
}

.entry_wrap .tel_wrap{
    display: flex;
    justify-content: space-between;
}
.entry_wrap .tel_wrap .btn{}

.btn{
    position: relative;
    width: 49%;
    max-width: 325px;
    display: block;
    text-align: center;
    background: #FFF;
    padding: 11px 10px 23px 10px;
    border-radius: 8px;
    border: 3px solid #000000;
    box-sizing: border-box;
}
.btn p{
    font-size: 2.8rem;
    font-weight: 700 !important;
    text-align: center;
    color: #000000;
    margin-bottom: 15px;
}
.btn .ico{ position: relative;}
.btn .ico.tel:before{ 
    position: relative;
    top: -4px;
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
    content: '';
    background: url("../img/common/ico_tel.svg") no-repeat center center;
    background-size: 100% auto;
    width: 35px;
    height: 35px;
}
@media screen and (max-width : 750px){
    .entry_wrap{
        padding: 6.667vw 0;
    }
    .entry_wrap .btn_entry{
        margin: 4.8vw auto 2.667vw auto;
    }

    .btn{
        max-width: inherit;
        padding: 11px 10px 23px 10px;
        border-radius: 8px;
        border: 2px solid #000000;
    }
    .btn p{
        font-size: 3.733vw;
        margin-bottom: 7px;
    }
    .btn .ico{ position: relative;}
    .btn .ico.tel:before{
        top: -.3vw;
        margin-right: 5px;
        width: 4vw;
        height: 4vw;
    }
    .btn img{ width: 98%;}

}

@media screen and (min-width : 768px){
	a[href*="tel:"] {
		pointer-events: none;
	}
	.ie11 a[href*="tel:"] {
		pointer-events: none;
		display: inline-block;
		cursor: default;
	}
	a{
		transition: all 0.3s ease;
		text-decoration: none;
	}
	a:hover{
		opacity: 0.7;
	}
}


.clear{
	clear:both;
}
/* ------------------------------
clearfix
------------------------------ */

.cf:after{
	content: "."; 
	display: block; 
	height: 0; 
	font-size:0;	
	clear: both; 
	visibility:hidden;
}

.cf {display: inline-block;} 

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */ 



    .contact_cont {
        width: 90%;
        margin: 0 auto;
        padding: 40px 0;
    }
    .top_text {
        
    }
    .top_text h2 {
        font-size: 14px;
        font-weight: 700;
        line-height: 20px;
        letter-spacing: 1.8px;
        text-align: center;
        margin-bottom: 30px;
    }
    .top_text h2 span.color {
        color: #F1581C;
    }
    .top_text p {
        font-size: 12px;
        line-height: 1.8;
        text-align: center;
    }
    .top_text p span {
        display: inline-block;
        background-color: #F1581C;
        color: #fff;
        padding: 0 8px;
        margin: 8px 6px 0 0;
    }
    .wcm {
        margin: 40px 0 30px;
    }
    .wcm .main-line h2.cmn-title {
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 2px;
        text-align: center;
    }
    .wcm .main-line h3.cmn-title {
        font-size: 26px;
        font-weight: 700;
        text-align: center;
        letter-spacing: 2px;
    }
    .ttl_line {
        width: 60px;
        height: 2px;
        display: block;
        background-color: #F1581C;
        margin: 15px auto 0;
    }
    .contact_cont .form dl {
        margin-bottom: 20px;
    }
    .contact_cont .form dl dt {
        width: 100%;
        font-size: 13px;
        font-weight: 700;
        padding: 10px 0;
    }
    .contact_cont .form dl dt span {
        font-size: 13px;
        font-weight: 700;
        color: #fff;
        background-color: #F1581C;
        display: inline-block;
        padding: 5px 8px;
        margin-right: 14px;
    }
    .contact_cont .form dl dt span.no {
        background-color: #989898;
    }
    .contact_cont .form dl dd {
        width: 100%;
        min-height: 48px;
        font-size: 13px;
        font-weight: 700;
        box-sizing: border-box;
    }
    .wpcf7-form-control-wrap {
        position: relative;
    }
    .contact_cont .form select {
        width: 240px;
        font-size: 1em;
        font-family: inherit;
        color: inherit;
        border: 1px solid rgba(0, 0, 0, 0.16);
        border-radius: 0;
        cursor: pointer;
        padding: 1em 0.8em;
    }
    .contact_cont .form dl dd .place,
    .contact_cont .form dl dd .sex {
        padding: 1em 0;
        display: inline-block;
    }
    .contact_cont .form dl dd span.wpcf7-list-item {
        display: inline-block;
        margin: 0 2em 0 0;
    }
    .contact_cont .form input[type="text"],
    .contact_cont .form input[type="email"],
    .contact_cont .form input[type="tel"],
    .contact_cont .form input[type="number"] {
        width: 100%;
        font-size: 1em;
        font-family: inherit;
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        background-color: #F0F0F0;
        background-image: none;
        border: none;
        border-radius: 0;
        color: inherit;
        padding: 1em 0.8em;
        margin: 0;
        resize: none;
        box-sizing: border-box;
    }
    .contact_cont .form input[type="number"] {
        width: 100px;
    }
    .contact_cont .form textarea {
        width: 100%;
        height: 200px;
        font-size: 1em;
        font-family: inherit;
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        background-color: transparent;
        background-image: none;
        border: 1px solid rgba(0, 0, 0, 0.16);
        border-radius: 0;
        color: inherit;
        padding: 1em;
        margin: 0;
        resize: none;
        box-sizing: border-box;
    }
    .contact_cont .form dl dd p {
        font-size: 11px;
        line-height: 1.5;
        color: #808080;
        margin-top: 8px;
    }
    .contact_cont .form input.sub-btn {
        width: 70%;
        height: 50px;
        text-align: center;
        margin: 45px auto 0;
        background-color: #333;
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        letter-spacing: 0.2em;
        border: 1px solid #333;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -o-transition: 0.3s;
        -ms-transition: 0.3s;
        transition: 0.3s;
        resize: none;
        box-sizing: border-box;
        display: block;
    }
    .wpcf7 form .wpcf7-response-output {
        margin: 2em 0.5em 1em;
        padding: 0.2em 1em;
        border: 2px solid #00a0d2;
    }
    .wpcf7 form.init .wpcf7-response-output,
    .wpcf7 form.resetting .wpcf7-response-output,
    .wpcf7 form.submitting .wpcf7-response-output {
        display: none;
    }
    .contact-thanks {
        font-size: 16px;
        font-weight: 700;
        text-align: center;
        letter-spacing: 1.8px;
    }
    .thanks-area .btn-more {
        
    }
    .thanks-area .btn-more a {
        width: 70%;
        line-height: 50px;
        font-size: 12px;
        font-weight: 700;
        text-align: center;
        color: #fff;
        background-color: #333;
        display: block;
        margin: 45px auto 0;
        box-sizing: border-box;
    }
