@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500&family=Noto+Serif+JP:wght@300;600&display=swap');
 
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
	-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
    color:#000000;
    font-family: 'Noto Sans JP', sans-serif;
}
img{
	vertical-align: bottom;
	max-width: 100%;
}
body, html {
    width: 100%;
    height: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.75em;
    font-family: 'Noto Sans JP', sans-serif;
}

body {
    overflow-x: hidden;
    letter-spacing: 0.14em;
    max-width: 2000px;
    margin: 0 auto;
    position: relative;
    padding-top: 84px;
}
 
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}
 
nav ul , li{
    list-style:none;
    margin-bottom: 45px;
}
 
blockquote, q {
    quotes:none;
}
 
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
 
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

p{
    line-height: 200%;
}
 
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
 
/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}
 
del {
    text-decoration: line-through;
}
 
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
 
table {
    border-collapse:collapse;
    border-spacing:0;
}
 
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
 
input, select {
    vertical-align:middle;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

a:hover{
    opacity: 0.8;
}

.sp{
		display:none;	
	}
.cf:after {
	content: "";
	clear: both;
	display: block;
}

a{
    color: #000000;
    text-decoration: none;
}


.wf-hannari,
.wf-hannari *{ font-family: "Hannari",'Noto Serif JP', serif; }


    .mainSp{
        display: none;
    }


/*---------------------
common
----------------------*/

.tab{
    display: none;
}
 
.sp{
    display: none;
}

.content{
        margin: auto;
        width: 1000px;
    }

.content_b{
        margin: auto;
        width: 1100px;
    }

.content_C{
	margin: auto;
        width: 1280px;
	
}
    
.pcBtn{
    position: absolute;
    top:0;
    right: 0;
    display: flex;
    width: 280px;
}


/*---------------------
header
----------------------*/


@media screen and (min-width:680px){
    header.top{
        position: fixed;
        width: 100%;
        z-index: 99999;
        height: 84px;
        top: 0;
        left: 0;
        background: #ffffff;
    }
    
    header.top h1{
        position: absolute;
        top: 16px;
        left:20px;
    }

    .sns_icon {
        position: absolute;
        top:15px;;
        left: 0;
    }
    
    .sns_icon > div{
        margin-right: 20px;
    }
    
    .head_contact{
        position: absolute;
        top:-15px;
        right: 0;
    }
    
    header.top nav ul li:last-child:after{
        content: none;
    }
    
    header.top nav ul{
        position: absolute;
        top:35px;
        right:20px;
        display: flex;
        justify-content: center;
        margin-bottom: 0;
    }
    
}    

.mainimage{
    position: relative;
    height: 76vh;
    background: url(../img/mainBack@2x.png) center no-repeat;
    background-size: auto 100%;
}

.mainimageImg{
    position: absolute;
    top: calc(50% - 40%);
    text-align: center;
    vertical-align: bottom;
    z-index: 1;
}

.mainimage.pc_tab img{
	width: 40%;
	height: 40%;
}

   #Sec01{
        padding-top: 40px;
        padding-bottom: 0px;
       position: relative;
    }  
    
    h2.title01{
        text-align: center;
        padding-bottom: 64px;
    }
    
    h2.title01 span{
        position: relative;
        padding-top: 150px;
        color: #b8302e;
        font-size: 37px;
        text-align: center;
        display: inline-block;
        letter-spacing: 0;
    }
    
    h2.title01 img{
        position: absolute;
        top:0;
        left: -100px;
    }
    
    .sec01List{
        display: flex;
        justify-content: space-between;
    }
    
    .sec01List li{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 350px;
        height: 350px;
        background: url("../img/sec01Back@2x.jpg");
        background-size: cover;
        text-align: center;
        color:#491b04;
        font-size: 21px;
        line-height: 1.5em;
    } 

    .sec01List li:nth-child(2){
        margin-top: 280px;
    }

.icon01{
    position: absolute;
    right: 0;
    top:0;
}

.icon02{
    position: absolute;
    left: 30px;
    bottom: 80px;
}

.icon03{
    position: absolute;
    left: 0;
    top:80px;
}

.icon04{
    position: absolute;
    right: 0;
    top:-400px;
}

.peple01{
        position: absolute;
    right: calc(50% - 480px);
    bottom: -180px;
    z-index: -1;
}

.peple02{
        position: absolute;
    right: calc(50% + 300px);
    top: -200px;
    z-index: -1;
}


    h2.title02{
        text-align: center;
        padding-bottom: 54px;
    }
    
    h2.title02 span{
        position: relative;
        padding-top: 150px;
        color: #b8302e;
        font-size: 37px;
        text-align: center;
        display: inline-block;
        letter-spacing: 0;
    }
    
    h2.title02 img{
        position: absolute;
        top:0;
        right: -100px;
    }

#Sec02{
    background: #f4ece0;
    padding: 0px 0 ;
    position: relative;
    z-index: -1;
}

.wave01{
    margin-bottom: -2px;
}

.wave02{
   background:#f4ece0;
    position: relative;
        z-index: -1;
	margin-bottom: 200px;
}

.sec02Text{
    line-height: 2em;
    font-size: 16px;
    color:#491b04;
    text-align: center;
    margin-bottom: 100px;
}
  
.sec02List{
    display: flex;
    justify-content: space-between;
}

.sec02List li{
        width: 360px;
    height: 380px;
    background-size: cover;
    padding: 90px 50px;
}

.sec02List li:nth-child(2){
    margin-top: 150px;
}


.sec02Title{
    font-size: 20px;
    line-height: 1.7em;
    text-align: center;
    color:#b8302e;
    margin-bottom: 25px;
}

.sec02Text02{
    line-height: 2em;
    font-size: 16px;
    color:#491b04;
    letter-spacing: 0;
}

.sec02Btn{
    margin-top: 80px;
    display: flex;
    justify-content: center;
}

.sec02Btn a{
    text-decoration: none;
    color:#ffffff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url("../img/btnBack.png");
    font-size: 30px;
    width: 460px;
    height: 85px;
}

#Sec03{
    position: relative;
    padding: 0 0 0px;
    margin-top: -2px;
    z-index: 1;
    background: #ffffff;
}

.title01 span.t_box{
    padding: 0;
    padding-bottom: 20px;
    border-bottom: 5px solid #f1dd2e;
    display: inline-block;
}

.sec03Text{
    line-height: 2em;
    font-size: 16px;
    color:#491b04;
    letter-spacing: 0;    
    text-align: center;
}

.sec03Table{
   
}

.icon05{
    position: absolute;
    left: 30px;
    bottom:80px;
}

footer .footcont01{
    /*background: #f7f1e8;*/
    padding-top: 95px;
    padding-bottom:0;
}

    .footFlex{
        display: flex;
        justify-content: space-between;
        margin-bottom: 100px;
    }
    
    .footBox01{
        display: flex;
        justify-content: space-between;
       
    }
    
    .footInner01{
        width:235px;
        border-right:1px solid #491b04;
        text-align: center;
    }
    
    .footInner02{
        padding-left: 60px;
    }
    
    .footText01{
        font-size: 22px;
        margin-bottom: 30px;
    }
    
    .footText02{
        font-size: 16px;
        line-height: 30px;
    }
    
    .footBox02{
        width: 435px;
    }
    
    .footTitle{
        font-size: 22px;
        margin-bottom: 25px;
    }
    
    .footList{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    
    .footList li{
        margin-bottom: 15px;
    }
    
    .footIcon{
        display: flex;
        justify-content: space-between;
        width: 400px;
        margin: 0 auto;
    }
    
    .footcont02{
        display: flex;
        justify-content: center;
        align-items: center;
        background:#491b04;
        font-size:16px;
        color:#ffffff;
        height: 140px;
    }



h3 {
    text-align: center;
    color: #b8302e;
    font-size: 22px;
    margin-bottom: 40px;
    margin-top: 54px;
}


/*よくあるご質問*/

#Sec04{
	padding-bottom: 180px;
}

.qa_box_q,
.qa_box_a{
    display: flex;
}

.qa_box_q p,
.qa_box_a p{
    line-height: 163%;
}


.qa_box_q {
    padding-bottom: 24px;
}

.qa_box_a {
    padding-bottom: 32px;
	margin-bottom: 32px;
	border-bottom: 1px #ECECEC solid;
}

.qa_box_qq span{
    background-color: #f7f1e8;
    border-radius: 50%;
    color: #be4140;
    width: 50px;
    height: 50px;
    text-align: center;
    vertical-align: revert;
    line-height: 50px;
    display: inline-block;
    font-weight: bold;
	margin-right: 24px;
}

.qa_box_qa  span{
    background-color: #be4140;
    border-radius: 50%;
    color: #f7f1e8;
    width: 50px;
    height: 50px;
    text-align: center;
    vertical-align: revert;
    line-height: 50px;
    display: inline-block;
    font-weight: bold;
	margin-right: 24px;
}


@media screen and (max-width:1550px){
    .icon01,
    .icon02,
    .icon03,
    .icon04,
    .icon05{
        display: none;
    }
    
    h2.title01 span, 
    h2.title02 span{
        font-size: 31px;
    }
    
    
}

@media screen and (max-width:1400px){
    .content,
    .content_b,
	.content_C{
        width: 90%;
        margin: 0 auto;
    }
    
    .sec01List{
        justify-content: center;
    }
    
    .sec01List li {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 350px;
        height: 350px;
        background: url(../img/sec01Back@2x.jpg);
        background-size: cover;
        text-align: center;
        color: #491b04;
        font-size: 21px;
        line-height: 1.5em;
    }
    
    img{
        max-width: 100%;
    }
    
    .sec02List {
        justify-content: center;
    }
    
    .sec02List li {
        width: 360px;
        height: 380px;
        background-size: cover;
        padding: 90px 50px;
    }
    
    .sec02Title {
        font-size: 20px;
        letter-spacing: 0;
    }
    
    .sec02Text02 {
        font-size: 16px;
    }
    
    .footIcon{
        margin-top: 90px;
    }
    
}