@charset "utf-8";

/* Reset CSS
-------------------------------*/

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
    margin:0;
    padding:0;
}
table{
    border-collapse:collapse;
    border-spacing:0;
}
fieldset,img{
    border:0;
}
address,caption,cite,code,dfn,em,strong,th,var{
    font-style:normal;
    font-weight:normal;
}
ul,ol,li{
    list-style:none;
}
caption,th{
    text-align:left;
}
h1,h2,h3,h4,h5,h6{
    font-size:100%;
    font-weight:normal;
}
q:before,q:after{
    content:'';
}
abbr,acronym {border:0;font-variant:normal;}
sup {vertical-align:text-top;}
sub {vertical-align:text-bottom;}
hr {display:none;}
input,textarea,select{
    font-family:inherit;
    font-size:inherit;
    font-weight:inherit;
    *font-size:100%;
}
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* フルードイメージ */
img{
    max-width:100%;
    height:auto;
    vertical-align: middle;
    margin:0;
    padding:0;
}

.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}
.clearfix {display: inline-block;}/*IE7用*/

/* Hides from IE-mac \*/
* html .clearfix { height:1%;}
.clearfix { display:block;}
/* End hide from IE-mac */

.alpha a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}


/* スムーススクロール　（IE以外） */
html {scroll-behavior: smooth;}

/* layout */
.fl { float: left; }
.fr { float: right; }
.clear { clear: both; }
.ar { text-align: right; }
.al { text-align: left; }
.ac { text-align: center; }
.strong{font-weight:bold;}

@font-face {
  font-family: "NSans-B";
  src: url("fonts/NotoSansJP-Bold.otf") format("opentype");
}
@font-face {
  font-family: "NSans-M";
  src: url("fonts/NotoSansJP-Medium.otf") format("opentype");
}
@font-face {
  font-family: "NSans-R";
  src: url("fonts/NotoSansJP-Regular.otf") format("opentype");
}


/* Basic setting
-------------------------------*/

body {
    font-family: "NSans-M", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	line-height: 1.8em;
	color: #000;
	-webkit-text-size-adjust: 100%;
}
#wrapper{
    width: 100%;
    max-width: 1000px;
    margin: auto;
	padding:0;
	overflow:hidden;
}



/* リンク設定
-------------------------------*/
a {
  outline:none;
  color: #2e2e2e;
}
a:hover {
  text-decoration: none;
    filter: alpha(opacity=80);
    -moz-opacity:0.80;
    opacity:0.80;
}
a,a:hover,a:hover img {
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}

/* PCで電話リンクしない */
@media(min-width: 768px){
    a[href^="tel:"]{
        pointer-events: none;
    }
}


.cont{
    margin-bottom: 20px;
    text-align: center;
}



.vlt01{
    text-align: center;
    padding: 0 5%;
    font-family: "NSans-B",sans-serif;
    color: #42210b;
    font-size: 40px;
    line-height: 1.8em;
}

@media only screen and (max-width:945px){
    .vlt01{
        font-size: 4vw;
        line-height: 1.8em;
    }
}
@media only screen and (max-width:640px){
    .vlt01{
        text-align: left;
        font-size: 18px;
        line-height: 1.8em;
    }
    .vlt01 br{
        display: none;
    }

}


.box_btn{
    position: relative;
}
.box_btn .otoku{
    position: absolute;
    left: 0;
    bottom: 100px;
    width: 100%;
}
@media only screen and (max-width:999px){
    .box_btn .otoku{
        bottom: 10vw;
    }
    .box_btn .otoku img{
        width: 89%;
        height: auto;
    }

}

.vlt14{
    background-color: #efc8c7;
    padding-top: 40px;
    padding-bottom: 40px;
    
}
.vlt14 .ttl{
    padding: 0 3%;
    margin-bottom: 20px;
}
.vlt14 dl{
    width: 90%;
    max-width: 845px;
    margin: 0 auto 40px;
    text-align: left;
    font-size: 32px;
    line-height: 1.7em;
}
.vlt14 dt{
    font-family: "NSans-B",sans-serif;
    font-size: 110%;
    line-height: 1.5em;
    color: #d5252b;
}
.vlt14 dd{
    margin-bottom: 1em;
}

@media only screen and (max-width:640px){
    .vlt14{
        padding-top: 30px;
        padding-bottom: 30px;

    }
    .vlt14 dl{
        font-size: 18px;
        line-height: 1.6em;
    }

}


.vlt16 dl{
    width: 90%;
    margin: 40px auto;
    padding-bottom: 40px;
    background: url(../img/giri16_kei.png) center bottom no-repeat;
    font-size: 25px;
    line-height: 1.8em;
    text-align: left;
}
.vlt16 dl.end{
    padding-bottom: 0;
    background: none;
}
.vlt16 dt{
    font-family: "NSans-B",sans-serif;
    font-size: 128%;
    line-height: 1.5em;
}

.vlt16 dd span{
    color: #a91d22;
    background-color: #eeda9e;
    padding: 0 3px;
}


@media only screen and (max-width:640px){
    .vlt16 dl{
        margin: 25px auto;
        padding-bottom: 20px;
        font-size: 16px;
        line-height: 1.7em;
        background-size: 150% auto;
    }

}



.vlt22{
    background-color: #f6f4e8;
    padding-top: 40px;
    padding-bottom: 40px;
}
.vlt22 .ttl{
    padding: 0 3%;
    margin-bottom: 20px;
}

.abt01{
    width: 100%;
    padding-top: 40px;
    padding-bottom: 40px;
    background: url(../img/abt01_bg.png) center top no-repeat;
    border-radius: 95px 95px 0 0;
    background-size: cover;
    margin-bottom: 20px;
}

.abt01 .ttl01{
    width: 90%;
    margin: 0 auto 20px;
}
.abt01 .in01{
    width: 90%;
    max-width: 840px;
    margin: auto;
    text-align: left;
    color: #fff;
    font-size: 40px;
    line-height: 1.6em;
}
.abt01 .img01{
    width: 90%;
    margin: 30px auto;
}

.abt02{
    width: 95%;
    margin: auto;
    padding: 5%;
    background-color: #fff;
    border-radius: 46px;
    text-align: left;
    position: relative;
}
.abt02 .img02{
    position: absolute;
    top: -10px;
    right: -10px;
}
.abt02 .ttl02{
    margin-bottom: 20px;
}

.abt02 .in02{
    padding-right: 250px;
    font-size: 30px;
    line-height: 1.7em;
}

.abt04{
    width: 90%;
    margin: 40px auto 0;
    border: solid 3px #4f6a46;
    border-radius: 28px;
    padding: 5%;
    background-color: #fff;
    text-align: left;
    font-size: 37px;
    line-height: 1.8em;
}

.abt04 .img{
    text-align: center;
    margin-bottom: 30px;
}
.abt04 p span{
    font-family: "NSans-B",sans-serif;
    color: #f53d2a;
}

@media only screen and (max-width:999px){
    .abt01{
        border-radius: 9.5vw 9.5vw 0 0;
    }
    .abt01 .in01{
        font-size: 4vw;
        line-height: 1.6em;
    }
    .abt02{
        border-radius: 4.6vw;
    }
    .abt02 .img02{
        top: -1vw;
        right: -1vw;
        width: 34.5vw;
    }
    .abt02 .ttl02{
        margin-bottom: 20px;
        width: 49vw;
    }

    .abt02 .in02{
        padding-right: 26vw;
        font-size: 3vw;
        line-height: 1.7em;
    }
    .abt04{
        font-size: 3.7vw;
        line-height: 1.8em;
    }
}

@media only screen and (max-width:640px){
    .abt01 .in01{
        font-size: 17px;
        line-height: 1.6em;
    }
    .abt01 .in01 p br{
        display: none;
    }
    .abt02 .in02{
        font-size: 15px;
        line-height: 1.5em;
    }
    .abt04{
        font-size: 17px;
        line-height: 1.8em;
    }

    
}



.f_ttl{
    margin-bottom: 30px;
}
.info01_img{
    text-align: center;
    padding: 0 10px;
}

.info .inner{
    width: 90%;
    margin: auto;
    text-align: left;
    font-size: 30px;
    line-height: 1.8em;
    padding-bottom: 40px;
}

.info .inner dd{
    margin-bottom: 1em;
}
.f_ttl2{
    font-family: "NSans-B",sans-serif;
    font-size: 47px;
    line-height: 1.5em;
    margin-bottom: 10px;

}

@media only screen and (max-width:768px){
    .f_ttl2{
        font-size: 5.7vw;
        line-height: 1.5em;

    }


}

@media only screen and (max-width:640px){

    .info .inner{
        font-size: 16px;
        line-height: 1.7em;
    }
}



#footer{
    margin-top: 5%;
    border-top: solid 1px #666;
    text-align: center;
    color: #666;
    font-size: 16px;
    line-height: 1.2em;
    padding: 20px 5%;
}
#footer span{
    display: inline-block;
}
@media only screen and (max-width:640px){
    #footer{
        font-size: 12px;
        line-height: 1.2em;
    }


}






