@charset "utf-8";

/* all */
*{
    padding:0;
    margin:0;
    font-family: "Zen Old Mincho", serif;
    font-size: 18px;
}
img,
video{
    width:100%;
    vertical-align: bottom;
}
ul,li{
    list-style-type: none;
}
a{
    text-decoration: none;
    color:#231815;
}
.sp{
    display: none;
}
.relative{
    position: relative;
}
.absolute{
    position: absolute;
    top: 0;
    left: 0;
}
.scroll_fadeIn{
    opacity:0;
    transform:translateY(5px);
    transition:0.5s opacity ease-in,0.5s transform ease-in;
}
.scroll_fadeIn.active{
    opacity:1;
    transform:translateY(0px);
}
.leaflet-top, .leaflet-bottom {
    z-index: 980;
}
@media (max-width:768px){
    .pc{
        display:none;
    }
    .sp{
        display:block;
    }
}

/* body */
body{
    min-width: 1100px;
}
@media (max-width:768px){
    body{
        min-width: 100%;
    }
}

/* fixedHeader */
.fixedHeader{
    position: sticky;
    top: 0;
    left: 0;
    z-index: 990;
}
header{
    background-color: rgba(255, 255, 255, 0);
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
    transition: background-color .4s ease,backdrop-filter .4s ease,-webkit-backdrop-filter .4s ease;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;              
}
header.scrolled{
    background-color: rgba(255, 255, 255, 0.75);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.headerWrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 98%;
    margin: 0 auto;
}
.headerWrap>h1{
    max-width: 200px;
    width: 75%;
}
.headerWrap>h1>a{
    display: block;
    font-size: 0.8em;
    font-weight: 400;
    line-height: 1.4;
    transition: 0.5s all;
}
.headerWrap>h1>a:hover,
.headerWrap>h1>a:active{
    opacity: 0.5;
}
.pcNav{
    display: flex;
    justify-content: center;
    align-items: center;
}
.mainNav{
    display: flex;
    justify-content: center;
    margin-right: 10px;
}
.mainNav>li>a{
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding: 1em 1em 0em 1em;
    box-sizing: border-box;
    transition: 0.5s all;
}
.mainNav>li>a:hover,
.mainNav>li>a:active{
    opacity: 0.5;
}
.mainNav>li>a>span.en{
    font-family: "EB Garamond", serif;
    font-size: 0.75em;
}
.mainNav>li>a>span.jp{
    font-family: "Shippori Mincho B1", serif;
    font-size: 0.65em;
    color: #878787;
}
.mainNav>li>a>span.btnAbs{
    font-family: "EB Garamond", serif;
    font-size: 0.5em;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,0);
    color: #fff;
    background-color: #500014;
    padding: 0.25em 0.5em;
    box-sizing: border-box;
}
.subNav>li{
    line-height: 1;
}
.subNav>li:nth-child(1){
    margin-bottom: 5px;
}
.subNav>li>a{
    font-family: "Shippori Mincho B1", serif;
    font-size: 0.65em;
    letter-spacing: 0.1em;
    padding-left: 15px;
    position: relative;
    transition: 0.5s all;           
}
.subNav>li>a:hover,
.subNav>li>a:active{
    opacity: 0.5;           
}
.subNav>li>a:before{
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 8px;
    height: 8px;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    transform: translate(0,-50%) rotate(45deg);            
}
.contactBtn>ul>li>a{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.75em;
    letter-spacing: 0.1em;
    color: #fff;
    background-color: #9a884b;
    padding: 0.75em 3em 0.75em 2em;
    border-radius: 50px;
    position: relative;
    transition: 0.5s all;
}
.contactBtn>ul>li>a:hover,
.contactBtn>ul>li>a:active{
    opacity: 0.5;
}
.contactBtn>ul>li>a:after{
    content: "";
    position: absolute;
    top: 50%;
    right: 1em;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translate(0,-50%) rotate(45deg);
}
.noEvent{
    pointer-events: none;
}
@keyframes gradientMove {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
@media (max-width:768px){
    .headerWrap{
        width: 90%;
        justify-content: center;
    }
    .headerWrap>h1{
        max-width: 250px;
        width: 60%;
    }
    .pcNav,
    .contactBtn{
        display: none;
    }
}

/* contact */
.contact{
    padding: 50px 0;
    box-sizing: border-box;
}
.contactWrap{
    max-width: 1000px;
    width: 80%;
    margin: 0 auto;
    text-align: center;
}
.contactWrap>p>a{
    transition: 0.5s all;
}
.contactWrap>p>a:hover,
.contactWrap>p>a:active{
    opacity: 0.5;
}
.limitedWrap{
    width: 90%;
    margin: 0 auto;
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: center;
}
.limitedWrap>h3{
    font-size: 1em;
    font-weight: 400;
    display: inline-block;
    padding: 0.5em 2em;
    border-bottom: 1px solid #000;
    margin-bottom: 20px;
}
.limitedWrap>p{
    font-size: 0.65em;
    line-height: 1.4;
}
.limitedWrap>p.mainTxt{
    margin-bottom: 20px;
}
.pageNotice_wrap{
    width: 90%;
    margin: 0 auto;
}
.pageNotice_wrap>p{
    font-size: 0.65em;
    line-height: 1.4;
    text-align: center;
}
@media (max-width:1024px){
    .contactWrap>ul{
        flex-direction: column;
        align-items: center;
    }
    /*.contactWrap>ul>li:nth-child(1){
        margin-bottom: 20px;
    }*/
}
@media (max-width:768px){
    .contactWrap{
        width: 90%;
    }
    .contactWrap>ul>li{
        width: 80%;
    }
    .contactWrap>ul>li>a{
        font-size: 0.9em;
    }
    .limitedWrap>p,
    .pageNotice_wrap>p{
        font-size: 0.55em;
        text-align: left;
    }
}

/* footer */
footer{
    padding: 0 0 10px 0;
    background-color: #fff;
}
.footerWrap{
    max-width: 768px;
    width: 90%;
    margin: 0 auto;
}
.footerWrap>.addressWrap{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 50px;
}
.footerWrap>.addressWrap>.addressBox{
    width: 55%;
    display: flex;
    /*align-items: center;*/
}
.footerWrap>.addressWrap>.addressBox>.titleBox{
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 1px solid #000;
    margin-right: 10px;
}
.footerWrap>.addressWrap>.addressBox>.titleBox>h3{
    font-size: 0.75em;
    font-weight: 400;            
    padding: 10px;
    box-sizing: border-box;            
}
.footerWrap>.addressWrap>.addressBox>.contentBox{
    display: flex;
    align-items: center;
}
.footerWrap>.addressWrap>.addressBox>.contentBox>h4{
    max-width: 180px;
    margin-right: 10px;
}
.footerWrap>.addressWrap>.addressBox>.contentBox>h4>span{
    display: inline-block;
    font-size: 0.65em;
    line-height: 1;
    font-weight: 400;
}
.footerWrap>.addressWrap>.addressBox>.contentBox>h4>span>a{
    transition: 0.5s all;
}
.footerWrap>.addressWrap>.addressBox>.contentBox>h4>span>a:hover,
.footerWrap>.addressWrap>.addressBox>.contentBox>h4>span>a:active{
    opacity: 0.5;
}
.footerWrap>.addressWrap>.addressBox>.contentBox>p{
    font-size: 0.65em;
    line-height: 1.4;
}
.footerWrap>.addressWrap>.contactBox{
    width: 45%;
    display: flex;
    /*align-items: center;*/
}
.footerWrap>.addressWrap>.contactBox>.titleBox{
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 1px solid #000;
    margin-right: 10px;
}
.footerWrap>.addressWrap>.contactBox>.titleBox>h3{
    font-size: 0.75em;
    font-weight: 400;            
    padding: 10px;
    box-sizing: border-box;            
}
/*.footerWrap>.addressWrap>.contactBox>.contentBox{
    display: flex;
    align-items: center;
}*/
.footerWrap>.addressWrap>.contactBox>.contentBox>h4{
    max-width: 250px;
    /*margin-right: 10px;*/
}
.footerWrap>.addressWrap>.contactBox>.contentBox>h4>span{
    font-size: 0.65em;
    font-weight: 400;
}
.footerWrap>.addressWrap>.contactBox>.contentBox>h4>span>a{
    transition: 0.5s all;
}
.footerWrap>.addressWrap>.contactBox>.contentBox>h4>span>a:hover,
.footerWrap>.addressWrap>.contactBox>.contentBox>h4>span>a:active{
    opacity: 0.5;
}
.footerWrap>.addressWrap>.contactBox>.contentBox>p{
    font-size: 0.65em;
    line-height: 1.4;
    margin-top: 5px;
}
.smallWrap{
    text-align: center;
}
.smallWrap>small{
    display: inline-block;
    font-size: 0.5em;
    letter-spacing: 0.1em;
    line-height: 1.4;
    color: #595757;
}
@media (max-width:768px){
    footer{
        padding: 0 0 70px 0;
    }
    .footerWrap>.addressWrap{
        flex-direction: column;
    }
    .footerWrap>.addressWrap>.addressBox,
    .footerWrap>.addressWrap>.contactBox{
        width: 100%;
        flex-direction: column;
    }
    .footerWrap>.addressWrap>.addressBox{
        margin-bottom: 30px;
    }
    .footerWrap>.addressWrap>.addressBox>.titleBox,
    .footerWrap>.addressWrap>.contactBox>.titleBox{
        border-right: none;
        margin-right: 0px;
    }
    .footerWrap>.addressWrap>.addressBox>.titleBox>h3,
    .footerWrap>.addressWrap>.contactBox>.titleBox>h3{
        border-right: none;
        border-bottom: 1px solid #000;
        margin-right: 0;
    }
    .footerWrap>.addressWrap>.addressBox>.contentBox,
    .footerWrap>.addressWrap>.contactBox>.contentBox{
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .footerWrap>.addressWrap>.addressBox>.contentBox>h4{
        max-width: 180px;
        margin-right: 0px;
        margin-bottom: 10px;
    }
    .footerWrap>.addressWrap>.contactBox>.contentBox>h4{
        max-width: 250px;
        margin-right: 0px;
    }
    .overSp{
        display: none;
    }    
}

/* footerNav */
.footerNav{
    display: none;
}
@media (max-width:768px){
    .footerNav{
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 998;
        width: 100%;

        transform: translateY(100%);
        transition: transform 0.5s ease;
    }
    .footerNav.is-show{
        transform: translateY(0);
    }
    .footerNav>ul{
        display: flex;
    }
    .footerNav>ul>li{
        flex: 1;
        height: 60px;                    
    }
    .footerNav>ul>li>a{                    
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        width: 100%;
        height: 100%;
        transition: 0.5s all;
        padding: 10px 0;
        box-sizing: border-box;
    }
    .footerNav>ul>li>a:hover,
    .footerNav>ul>li>a:active{ 
        opacity: 0.5;
    }
    .footerNav>ul>li:nth-child(1)>a{
        background-color: #031538;
    }
    .footerNav>ul>li:nth-child(2)>a{
        background-color: #9a884b;
    }
    .footerNav>ul>li:nth-child(3)>a{
        background-color: #ced9dc;
    }
    .footerNav>ul>li:nth-child(4)>a{
        background-color: #000;
    }
    .footerNav>ul>li>a>span:nth-child(1){
        width: 20px;
        height: 20px;
    }
    .footerNav>ul>li:nth-child(1)>a>span:nth-child(1){
        background-image: url(../images/common/icon01.svg);
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }
    .footerNav>ul>li:nth-child(2)>a>span:nth-child(1){
        background-image: url(../images/common/icon02.svg);
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }
    .footerNav>ul>li:nth-child(3)>a>span:nth-child(1){
        background-image: url(../images/common/icon03.svg);
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }
    .footerNav>ul>li:nth-child(4)>a>span:nth-child(1){
        background-image: url(../images/common/icon04.svg);
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }
    .footerNav>ul>li>a>span:nth-child(2){
        font-family: "Noto Sans JP", sans-serif;
        font-size: 0.55em;
    }
    .footerNav>ul>li>a>span:nth-child(2){
        color: #fff;
    }
    .footerNav>ul>li:nth-child(3)>a>span:nth-child(2){
        color: #000;
    }
}

/* spNav */
.spNav{
    display: none;
}
@media (max-width:768px){
    .spNav{
        position: fixed;
        left: 0;
        bottom: 60px;
        z-index: 995;
        width: 100%;
        display: block;
        /* 追加 */
        transform: translateY(200%);
        transition: transform 0.5s ease;
    }
    /* 追加 */
    .spNav.is-show{
        transform: translateY(0);
    }
    .spNav>ul{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        background-color: rgba(154, 136, 75, 0.9);
    }
    .spNav>ul>li{
        width: 50%;
    }
    .spNav>ul>li>a{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 0.75em 0;
        box-sizing: border-box;
        border: 0.5px solid #fff;
        position: relative;
        transition: 0.5s all;                   
    }
    .spNav>ul>li>a:hover,
    .spNav>ul>li>a:active{
        opacity: 0.5;                   
    }
    .spNav>ul>li>a>span.en{
        font-family: "EB Garamond", serif;
        font-size: 0.75em;
        color: #fff;
    }
    .spNav>ul>li>a>span.jp{
        font-family: "Shippori Mincho B1", serif;
        font-size: 0.65em;
        color: #fff;
    }
    .spNav>ul>li>a>span.btnAbs{
        font-family: "EB Garamond", serif;
        font-size: 0.5em;
        position: absolute;
        top: 0;
        right: 0;
        color: #fff;
        background-color: #500014;
        padding: 0.25em 0.5em;
        box-sizing: border-box;
    }
}