﻿@charset "utf-8";
/* CSS Document */

:root{
    font-size:62.5%;
}
html {font-size:62.5%;}
body{
    font-size:18px; 
	font-size:min(calc(14px + ((1vw - 11px)*0.5)),18px); 
	color:#000000;
	font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-family: "zen-maru-gothic", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
	margin:0;
	position: relative;
}
h1,h2,h3,h4,h5,h6,p,li,th,td,dt,dd,a,span,div{  
    line-height:1.3;
}
a{
	color:#000000;
	text-decoration:none;
    transition: 0.3s;
}
a:hover{
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}
img {
	border: none;
	vertical-align: bottom;
    max-width: 100%;
	height: auto;
}
a img { 
	border: none;
}
a.nolink{
    pointer-events: none;
}
ul {
	list-style-type: none;
}
table{
	border-collapse: collapse;
}
.clearfix:after {
	content: "";
	display: block;
	overflow: hidden;
	clear: both;
}
.fix-flex{
    display: flex;
}
.leftBox{
	float:left;
}
.rightBox{
	float:right;
}
.sp{
	display:none !important;
}
.center{
    text-align: center;
}
.spacer{
    width:100%;
}
h2.style001{
    font-family: shippori-mincho, sans-serif;
    font-size:2.3333vw; 
    font-weight: 400;
    line-height: 1.3;
    position: relative;    
}
@media (max-width: 768px) {
    body{
        font-size:14px; 
    }
    .pc{
        display:none !important;
    }
    .sp{
        display:block !important;
    }
    .leftBox{
        float:none !important;
    }
    .rightBox{
        float:none !important;
    }
    h2.style001{
        font-size:24px; 
    }
}

/*--------------------------------------
    header
--------------------------------------*/

header{
    width:100%;
    height:78px;
    display: flex;
    align-items: center;
    position: fixed;
    top:0;
    left:0;
    right:0;
    bottom:auto;
    margin: auto auto auto auto;
    z-index: 999;
    background: #FFFFFF;
}
header h1{
    width: 178px;
    width: min(calc(130px + ((1vw - 11px)*6)),178px);
    margin-left: 90px;
    margin-left: min(calc(26px + ((1vw - 11px)*8)),90px); 
}
header .g-nav{
    display: flex;
    gap: 50px;
    gap: min(calc(10px + ((1vw - 11px)*5)),50px);
    margin-left: 65px;
    margin-left: min(calc(25px + ((1vw - 11px)*5)),65px); 
}
header .g-nav li a{
    display: block;
    font-size:16px;
    font-size:min(calc(14px + ((1vw - 11px)*0.25)),16px);
    font-weight: 700;
    font-feature-settings: "palt";
}
header .homeBtn{
    width:350px;
    width:min(calc(270px + ((1vw - 11px)*10)),350px);
    height:100%;
    font-size:16px;
    font-size:min(calc(12px + ((1vw - 11px)*0.5)),16px);
    font-weight: 700;
    color:#FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    padding: 0 min(calc(6px + ((1vw - 11px)*0.5)),10px) 0 min(calc(44px + ((1vw - 11px)*2.5)),64px);
    position: relative;
    margin-left: auto;
    background: #159365;
    font-feature-settings: "palt";
}
header .homeBtn::before{
    content: "";
    width:51px;
    height:48px;
    background: url("../images/common/icon_home.png") no-repeat center center/contain;
    position: absolute;
    top:0;
    left:12px;
    left:min(calc(6px + ((1vw - 11px)*1)),14px);
    right:auto;
    bottom:0;
    margin: auto auto auto auto;
}
header .spbtn,
header .spmenu{
    display: none;
}
@media (max-width: 768px) {
    header{
        height:60px;
    }
    header h1{
        width: 142px;
        margin-left: 15px;
    }
    header .g-nav{
        display: none;
    }
    header .homeBtn{
        display: none;
    }
    header .spbtn,
    header .spmenu{
        display: block;
    }
    header .spbtn{
        position: absolute;
        top:0;
        bottom:0;
        right:0;
        margin: 0;
        width: 60px;
        height: 60px;
        transition: 0.3s;
        z-index: 10000;
        background: #159365;
    }
    header .spbtn,
    header .spbtn span {
        display: inline-block;
        -webkit-transition: all 0.3s; 
        -moz-transition: all 0.3s; 
        -o-transition: all 0.3s; 
        transition: all 0.3s;
        box-sizing: border-box;
    }
    header .spbtn span {
        position: absolute;
        left: 0;
        right:0;
        margin: auto;
        width: 32px;
        height: 2px;
        background-color: #FFFFFF;
        transition: 0.3s;
    }
    header .spbtn span:nth-of-type(1) {
        top: 19px;
    }
    header .spbtn span:nth-of-type(2) {
        top: 29px;
    }
    header .spbtn span:nth-of-type(3) {
        top: 39px;
    }
    header.select .spbtn{
        background: #159365;
    }
    header.select .spbtn span:nth-of-type(1) {
        transform: translate(0,10px) rotate(-45deg);
        background-color: #FFFFFF;
    }
    header.select .spbtn span:nth-of-type(2) {
        opacity: 0;
    }
    header.select .spbtn span:nth-of-type(3) {
        transform: translate(0,-10px) rotate(45deg);
        background-color: #FFFFFF;
    }
    header .spmenu{
        width:240px;
        height:auto;
        box-sizing: border-box;
        padding: 15px 15px 20px 15px;
        position: fixed;
        top:60px;
        right:0;
        transform: translate(100%,0);
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        -o-transition: all 0.3s;
        transition: all 0.3s;
        overflow-y: scroll;
        background: #159365;
        z-index: 120;
    }
    header.select .spmenu{
        transform: translate(0,0);
    }
    header .spmenu ul li{
        text-align: left;
        display: block;
    }
    header .spmenu ul li a{
        font-size:14px;
        font-weight: 700;
        display:block;
        padding:0 20px 0 0;
        line-height: 30px;
        color:#FFFFFF;
        position: relative;
        box-sizing: border-box;
    }
    header .spmenu ul li a:after{
        content: "";
        display: block;
        width:10px;
        height:10px;
        position: absolute;
        top:0;
        left:auto;
        right:5px;
        bottom:0;
        margin: auto auto auto auto;
        border-top:5px solid transparent;
        border-left:5px solid #FFFFFF;
        border-bottom:5px solid transparent;
        box-sizing: border-box;
    }
    header .spmenu .homebtn{
        font-size:14px;
        font-weight: bold;
        color:#FFFFFF;
        margin-top: 20px;
        padding-left: 36px;
        display: block;
        position: relative;
    }
    header .spmenu .homebtn::before{
        content: "";
        width:26px;
        height:24px;
        background: url("../images/common/icon_home.png") no-repeat center center/contain;
        position: absolute;
        top:0;
        left:0px;
        right:auto;
        bottom:0;
        margin: auto auto auto auto;
    }
    header .spmenu .homebtn::after{
        content: "";
        width:100%;
        height:2px;
        background: #FFFFFF;
        position: absolute;
        top:-9px;
        left:0px;
        right:0px;
        bottom:auto;
        margin: auto auto auto auto;
    }
}

/*--------------------------------------
    common
--------------------------------------*/

main{
    padding-top: 78px;
}
@media (max-width: 768px) {
    main{
        padding-top: 60px;
    }
}

/*--------------------------------------
    contactArea
--------------------------------------*/

.contactArea{
    padding: 3.3333vw 0 3.3333vw 0;
    background: #D5A29E;
    color:#FFFFFF;
}
.contactArea h2.style001{
    margin-bottom: 2.2222vw;
}
.contactArea .boxArea{
    width:50.4444vw;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap:4.6667vw;
    margin: 0 auto 0 auto;
}
.contactArea .boxArea .box{
    font-size:1.5556vw;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height:6.6667vw;
    position: relative;
    background: #9F5E68;
}
.contactArea .boxArea .box::before{
    content: "";
    width:3.3333vw;
    height:4.2778vw;
    background: url("../images/common/icon_contact.png") no-repeat center center/contain;
    position: absolute;
    top:0;
    right:auto;
    bottom:0;
    margin: auto auto auto auto;
}
.contactArea .boxArea .box:nth-child(1){
    padding-left: 4.4444vw;
    text-align: center;
}
.contactArea .boxArea .box:nth-child(1)::before{
    left:0.5556vw;
}
.contactArea .boxArea .box:nth-child(2){
    padding-left: 7.7778vw;
    align-items:flex-start;
    font-size:1.5556vw;
    font-weight: 700;
    color:#FFFFFF;
}
.contactArea .boxArea .box:nth-child(2)::before{
    left:2.2222vw;
}
.contactArea .boxArea .box:nth-child(2)::after{
    content: "";
    display: block;
    width:1.3333vw;
    height:1.3333vw;
    position: absolute;
    top:0;
    left:auto;
    right:0.6667vw;
    bottom:0;
    margin: auto auto auto auto;
    border-top:0.6667vw solid transparent;
    border-left:0.6667vw solid #FFFFFF;
    border-bottom:0.6667vw solid transparent;
    box-sizing: border-box;
}
.contactArea .boxArea .box p.text{
    font-size:1.2778vw;
    font-weight: bold;
}
.contactArea .boxArea .box p.comment{
    font-size:1vw;
    font-weight: bold;
}
.contactArea .boxArea .box span.tel,
.contactArea .boxArea .box span.tel a{
    font-size:1.8333vw;
    font-weight: bold;
    display: block;
}
@media (max-width: 768px) {
    .contactArea{
        padding: 30px 20px 30px 20px;
    }
    .contactArea h2.style001{
        margin-bottom: 20px;
    }
    .contactArea .boxArea{
        width:100%;
        grid-template-columns: 1fr;
        gap:10px;
    }
    .contactArea .boxArea .box{
        font-size:16px;
        height:100px;
        padding-left: 80px;
    }
    .contactArea .boxArea .box::before{
        width:60px;
        height:70px;
        left:10px;
    }
    .contactArea .boxArea .box:nth-child(1),
    .contactArea .boxArea .box:nth-child(2){
        padding-left: 80px;
    }
    .contactArea .boxArea .box:nth-child(2){
        font-size:19px;
        align-items: center;
    }
    .contactArea .boxArea .box:nth-child(1):before,
    .contactArea .boxArea .box:nth-child(2):before{
        left: 10px;
    }
    .contactArea .boxArea .box:nth-child(2)::after{
        width:20px;
        height:20px;
        right:10px;
        border-top:10px solid transparent;
        border-left:10px solid #FFFFFF;
        border-bottom:10px solid transparent;
    }
    .contactArea .boxArea .box p.text{
        font-size:16px;
    }
    .contactArea .boxArea .box p.comment{
        font-size:14px;
    }
    .contactArea .boxArea .box span.tel,
    .contactArea .boxArea .box span.tel a{
        font-size:24px;
        color:#FFFFFF;
    }
}

/*--------------------------------------
    footer
--------------------------------------*/

footer{
    padding: 3vw 0 0.5vw 0;
}
footer .infoArea{
    width: 47.3333vw;
    display: flex;
    justify-content: center;
    gap:5vw;
    margin: 0 auto 3.6111vw auto;
}
footer nav{
    width:74.4444vw;
    margin: 0 auto 2.2778vw auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap:0.5vw;
}
footer nav ul li a{
    font-size:1.2778vw;
    font-weight: 700;
    color:#876821;
    line-height: 1.8;
}
footer .copyArea{
    font-size:0.9444vw;
    text-align: center;
    color:#9A927F;
}
@media (max-width: 768px) {
    footer{
        padding: 30px 20px 9px 20px;
    }
    footer .infoArea{
        width: 100%;
        display: block;
        margin: 0 auto 30px auto;
    }
    footer .infoArea h2{
        margin: 0 auto 30px auto;
    }
    footer .infoArea .logo{
        width:47vw;
        margin: 0 auto 30px auto;
    }
    footer nav{
        display: none;
    }
    footer .copyArea{
        font-size:11px;
        text-align: center;
        color:#9A927F;
    }
}

/*--------------------------------------
    .modaal-content-container
--------------------------------------*/

.modaal-wrapper .modaal-container{
    max-width: 74.2778vw;
    padding: 1.1111vw 0.8333vw 1.1111vw 0.8333vw;
    box-sizing: border-box;
}
.modaal-wrapper .modaal-content-container{
    width:100%;
    max-height:80vh;
    overflow-y: scroll;
    padding: 1.6667vw 4.4444vw 1.6667vw 2.7778vw;
    box-sizing: border-box;
}
.modaal-wrapper .modaal-content-container::-webkit-scrollbar{
    width: 1.1111vw;
}
.modaal-wrapper .modaal-content-container::-webkit-scrollbar-track{
    background-color: #EDEDED;
    border-radius: 0.6667vw 0.6667vw 0.6667vw 0.6667vw;
}
.modaal-wrapper .modaal-content-container::-webkit-scrollbar-thumb{
    background-color: #D5A29E;
    border-radius: 0.6667vw 0.6667vw 0.6667vw 0.6667vw;
}
.modaal-wrapper .modaal-content-container h3{
    font-size:1.5555vw;
    font-weight: 700;
    line-height: 2.9444vw;
    text-align: center;
    color:#FFFFFF;
    background: #876821;
    margin-bottom: 1.6667vw;
}
.modaal-wrapper .modaal-content-container h4{
    font-size:1.2778vw;
    font-weight: 700;
    line-height: 2.7222vw;
    text-align: center;
    color:#876821;
    border:0.1111vw solid #876821;
    margin-bottom: 1.1111vw;
    border-radius: 1.5556vw;
}
.modaal-wrapper .modaal-content-container p,
.modaal-wrapper .modaal-content-container ul{
    margin-bottom: 3.3333vw;
}
.modaal-wrapper .modaal-content-container p:last-child,
.modaal-wrapper .modaal-content-container ul:last-child{
    margin-bottom: 0px;
}
.modaal-wrapper .modaal-content-container p,
.modaal-wrapper .modaal-content-container li{
    font-size:1.1111vw;
    font-weight: 700;
    line-height: 1.6;
}
.modaal-wrapper .modaal-content-container li::before{
    content: "・";
}

.floatBnr{
    width:120px;
    display: none;
    position: fixed;
    right:10px;
    bottom:10px;
    z-index: 9999;
}
.floatBnr a{
    display: block;
    margin-top: 10px;
}
@media (max-width: 768px) {
    .modaal-wrapper .modaal-container{
        max-width: calc(100vw - 40px);
        padding: 20px 15px 20px 15px;
    }
    .modaal-wrapper .modaal-content-container{
        padding: 10px 20px 10px 10px;
    }
    .modaal-wrapper .modaal-content-container::-webkit-scrollbar{
        width: 10px;
    }
    .modaal-wrapper .modaal-content-container::-webkit-scrollbar-track{
        border-radius: 5px 5px 5px 5px;
    }
    .modaal-wrapper .modaal-content-container::-webkit-scrollbar-thumb{
        border-radius: 5px 5px 5px 5px;
    }
    .modaal-wrapper .modaal-content-container h3{
        font-size:18px;
        line-height: 1.5;
        padding: 5px;
        margin-bottom: 20px;
    }
    .modaal-wrapper .modaal-content-container h4{
        font-size:16px;
        line-height: 1.5;
        border:1px solid #876821;
        margin-bottom: 15px;
        border-radius: 16px 16px 16px 16px;
        padding: 5px;
    }
    .modaal-wrapper .modaal-content-container p,
    .modaal-wrapper .modaal-content-container ul{
        margin-bottom: 30px;
    }
    .modaal-wrapper .modaal-content-container p,
    .modaal-wrapper .modaal-content-container li{
        font-size:13px;
    }
    
    .floatBnr{
        width:80px;
    }
}