@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300;600&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@300;400;500;700&display=swap');

/* Reset */
html{font-size: 62.5%; scroll-behavior: smooth; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch;}
body{color: #231f20; line-height: 1.7; word-spacing: 0; font-size: 1.4rem; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -moz-text-size-adjust: 100%; font-family: 'Noto Serif JP', serif;}

*{margin: 0; padding: 0; box-sizing: border-box; border: 0; outline: none;}
h1, h2, h3, h4, h5, h6{font-size: 100%; font-weight: normal;}
ol, ul{list-style: none;}
table{border-collapse: collapse; border-spacing: 0;}
th{text-align: left; font-weight: normal;}
a{color: inherit; text-decoration: none;}
img{vertical-align: bottom; max-width: 100%;}

input, 
textarea,
select,
option,
optgroup,
button{-webkit-appearance: none; border-radius: 0; outline: none; font-family: 'Noto Serif JP', serif; color: #231f20;}

.clearFix:after{display: block; clear: both; height: 0; visibility: hidden; content: ".";}

.cap,
[class*="cap-"]{font-size: 1rem; line-height: 1.4;}
.cap-abs_right{position: absolute; bottom: 7px; right: 7px; line-height: 1; text-align: right;}
.cap-abs_left{position: absolute; bottom: 7px; left: 7px; line-height: 1;}
.cap-right{padding-top: 10px; text-align: right;}
.cap-left{padding-top: 10px;}
.shadow{color: #fff !important; text-shadow: 0 0 1px rgba(0,0,0,.6), 0 0 2px rgba(0,0,0,.6), 0 0 3px rgba(0,0,0,.6), 0 0 4px rgba(0,0,0,.6), 0 0 5px rgba(0,0,0,.6), 0 0 6px rgba(0,0,0,.6), 0 0 7px rgba(0,0,0,.6), 0 0 8px rgba(0,0,0,.6), 0 0 9px rgba(0,0,0,.6), 0 0 10px rgba(0,0,0,.6);}

.center{text-align: center !important;}
.left{text-align: left !important;}
.right{text-align: right !important;}
.bold{font-weight: bold;}
.pink{color: #ec008c !important;}
.white{color: #fff !important}
.container{max-width: 1000px; margin: 0 auto;}
.txt-red{color: #ac4f5d;}
.highlight{background: rgba(255,255,0,.3);}
sup{font-size: 1.2rem;}
.only-tab{display: none !important;}
.only-tabsp{display: none !important;}


@media (min-width: 768px){
    a[href^="tel:"]{pointer-events: none;}
    .only-sp{display: none !important;}
    .container{width: calc(100% - 40px);}
}

@media (max-width: 1023px) and (min-width: 768px){
    .only-tab{display: block !important;}
    .only-tabsp{display: block !important;}
}

@media (max-width: 767px){
    body{padding-bottom: 13vw;}
    .only-pc{display: none !important;}
    .only-tabsp{display: block !important;}
    .container{width: 90%;}
}

.anchor{position: relative;}
.anchor > div{position: absolute; top: -136px;}
@media (max-width: 767px){
    .anchor > div{top: -80px;}
}

@media print {
    body{color-adjust: exact; -webkit-print-color-adjust: exact; print-color-adjust: exact;}
}

/* Header */
h1{position: absolute; top: 0; left: 0; opacity: 0; z-index: -1;}
header{position: fixed; top: 0; left: 0; width: 100%; background: #fff; z-index: 1000;}
.logo{margin: 20px; line-height: 1;}
.logo img{width: 500px;}

#btn-menu{display: none;}

.header-nav{position: absolute; top: 30px; right: 20px; display: flex;}
.header-nav a{border: 2px solid #3f865a; line-height: 1;  padding: 0 20px; height: 37px; margin: 0 0 0 5px; display: flex; align-items: center;}
.header-nav_link{color: #fff;background: #3f865a;}
.header-nav_exlink{background: #3f865a; color: #fff;}
.header-nav_line{border: 2px solid #3ab256 !important; background: #3ab256; color: #fff; padding: 0 7px !important;}
.header-nav_line:before{content: ''; background: url("../images/common/ic_line.svg") no-repeat top left/100% auto; width: 20px; height: 20px; margin: 0 7px 0 0;}

.header-nav_link:hover{background: #fff; color: #3f865a;}
.header-nav_exlink:hover{background: #fff; color: #3f865a;}
.header-nav_line:hover{opacity: .8;}

.menu{padding: 5px 20px 10px;}
.menu ul{display: flex; max-width: 1020px; margin: 0 auto;justify-content: center;}
.menu li:first-child{ border-left: 1px solid #231f20;}
.menu li{width: 11.111%; border-right: 1px solid #231f20;}
.menu a{display: block; text-align: center; padding: 10px 0; line-height: 1.4; transition: .3s; position: relative;}
.menu a.is-un{color: #bcbec0; pointer-events: none;}
.menu a:hover{color: #3f865a;}
.menu a.is-active{background: #3f865a; color: #fff;}

/* .menu li:nth-of-type(8) a:before, */
.menu li:nth-of-type(6) a:before{content: 'NEW'; position: absolute; top: 0; right: 0; background: #f00; color: #fff; font-size: 0.9rem; line-height: 1.2; padding: 0.2em 0.5em; letter-spacing: 0.1em;}

@media (max-width: 1360px){
    .logo img{width: 380px;}
    .header-nav a{padding: 0 10px 2px; font-size: 1.3rem;}
}

@media (max-width: 1199px){
    .logo img{width: 330px;}
    .header-nav{width: 380px; flex-wrap: wrap; justify-content: flex-end; top: 8px;}
    .header-nav a{margin-bottom: 5px; padding: 0 5px 2px;}
    .menu a{font-size: 1.3rem;}
}

@media (max-width: 767px){
    header{display: block;}
    .logo{padding: 10px 110px 10px 3.5%; position: relative; z-index: 900; background: #fff; margin: 0}
    
    #btn-menu{width: 46px; height: 26px; position: absolute; top: 50%; right: 3.5%; margin-top: -13px; z-index: 901; display: block;}
    #btn-menu span{position: absolute; left: 0; width: 100%; height: 2px; background: #000; display: block; transition: .3s;}
    #btn-menu span:nth-of-type(1){top: 0;}
    #btn-menu span:nth-of-type(2){top: 12px;}
    #btn-menu span:nth-of-type(3){top: 24px;}
    #btn-menu.is-open span:nth-of-type(1){top: 12px; transform: rotate(45deg); -webkit-transform: rotate(45deg);}
    #btn-menu.is-open span:nth-of-type(2){opacity: 0;}
    #btn-menu.is-open span:nth-of-type(3){top: 12px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}
    
    .header-wrap{position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #fff; z-index: 800; overflow: auto; opacity: 0; visibility: hidden; pointer-events: none; transition: .5s;}
    .header-wrap.is-open{opacity: 1; visibility: visible; pointer-events: auto;}
    
    .menu{margin-top: calc(18vw + 30px); margin-bottom: 40px; padding: 0;}
    .menu ul{flex-wrap: wrap; border-left: none; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc;}
    .menu li:first-child{ border-left:none;}

    .menu li{width: 100%; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc;}
    .menu li:nth-of-type(2n){border-right: none;}
    .menu li:last-of-type{border-bottom: none;}
    .menu a{font-size: 1.6rem; padding: 15px 0;}
        
    .header-nav{position: static; width: 94%; margin: 0 auto; justify-content: center; padding: 0 0 30px;}
    .header-nav a{width: 47%; margin: 0 1.5% 3%; font-size: 1.4rem; padding: 15px 0 !important; justify-content: center; text-align: center;}
    .header-nav_line:before{width: 25px; height: 25px; margin: 0 12px 0 0;}
}

/* Main */
#wrapper{isolation: isolate; overflow-x: hidden;}
.mv{background: #f1f0e8; padding: 45px 0 40px; text-align: center; font-size: 2.5rem; position: relative;}
.mv.bg-white{background: #fff; padding: 45px 0;}

.mv h2{opacity: 0; transform: scale(1.4, 1.4); -webkit-transform: scale(1.4, 1.4); transition: 2s;}
.mv p{opacity: 0; transition: opacity 1s .5s; color: #41595c; margin-top: 12px;}
.mv.is-view h2{opacity: 1; transform: scale(1, 1); -webkit-transform: scale(1, 1);}
.mv.is-view p{opacity: 1;}

.m-h2{font-size: 5rem; line-height: 1; color: #115300; text-align: center; font-family: 'Barlow Condensed', sans-serif; font-weight: 300; letter-spacing: 0.02em;}
.m-h2 span{font-size: 1.8rem; display: block; padding: 10px 0 0; font-family: 'Noto Serif JP', serif;}
.m-h2.big{font-size: 7rem; margin-bottom: 25px;}
.m-h2.black{color: #231f20;}

.m-h3{font-size: 2.8rem; color: #41595c; text-align: center; margin: 0 0 20px; letter-spacing: 0.1em;}
.m-h4{font-size: 2rem; line-height: 1.9; margin: 0 0 15px;}
.m-desc{font-size: 2rem; line-height: 1.9; text-align: center;}
.m-wrap{padding: 90px 0 120px;}

@media (min-width: 768px){
    .mv.bg-img{padding: 70px 0 60px;}    
}

@media (max-width: 1024px){
    .m-desc br{display: none;}
}

@media (max-width: 767px){
    .mv{font-size: 1.8rem;}
    .mv p{margin-top: 15px;}
    
    .m-h2{font-size: 4rem;}
    .m-h2 span{font-size: 1.6rem;}
    .m-h2.big{font-size: 4rem;}
    .m-h3{font-size: 2rem; letter-spacing: 0;}
    .m-h4{font-size: 1.8rem; line-height: 1.6; color: #41595c; text-align: center;}    
    .m-desc{font-size: 1.5rem; text-align: left;}    
    .m-wrap{padding: 40px 0 60px;}    
}

@media (max-width: 480px){
    .mv{font-size: 4.4vw;}
}

/* Main Bottom */
.main-bottom{padding: 100px 20px 70px;}
.main-cap{font-size: 1.2rem; max-width: 1100px; width: 100%; margin: 0 auto;}
.main-cap2{margin-top: 40px;}
.main-bottom .main-btn{margin-top: 100px;}
.main-bottom.not-cap .main-btn{margin-top: 0;}

.main-btn{display: flex; justify-content: space-between; max-width: 800px; margin: 0 auto;}
.main-btn a{width: 48%; height: 65px; display: flex; justify-content: center; align-items: center; font-size: 1.8rem; line-height: 1; position: relative; letter-spacing: 0.15em; z-index: 10;}
.main-btn span{font-size: 5rem; line-height: 0.85; font-family: 'Barlow Condensed', sans-serif; position: absolute; width: 100%; text-align: center; left: 0; letter-spacing: 0.03em; transition: .5s;}
.main-btn span:after{content: ''; position: absolute; bottom: 0; left: 0; right: 0; width: 210px; height: 1px; margin: 0 auto; z-index: -1;}
.main-btn_entry{background: #cdc23d;}
.main-btn_entry span{color: #fff; opacity: .3;}
.main-btn_entry span:after{background: #000;}
.main-btn_limited{background: #a9a19b; color: #fff;}
.main-btn_limited span{color: #231f20; opacity: .2;}
.main-btn_limited span:after{background: #fff;}

.main-btn a:hover span{letter-spacing: 0.2em; opacity: .8 !important;}
.main-btn a:hover span:after{opacity: 0;}

.main-btn_entry:hover{color: #cdc23d;}
.main-btn_limited:hover{color: #a9a19b;}

@media (max-width: 767px){
    .main-bottom{padding: 60px 5% 40px;}
    .main-cap{font-size: 1rem;}
    .main-bottom .main-btn{margin-top: 60px;}
    
    .main-btn{display: block; max-width: 590px; width: 100%;}
    .main-btn a{width: 100%; margin: 0 0 15px; letter-spacing: 0;}
}

/* Limited Contents */
.limitedCont{background: url("../images/common/limited_main.jpg") no-repeat center center/cover; color: #fff; text-align: center; padding: 45px 0; position: relative;}
.limitedCont-tit{font-size: 3.2rem; line-height: 1; font-family: 'Barlow Condensed', sans-serif; font-weight: 300; letter-spacing: 0.07em; margin-bottom: 25px;}
.limitedCont-txt{padding: 15px 0 25px;}

@media (max-width: 767px){
    .limitedCont{background: url("../images/common/limited_main_sp.jpg") no-repeat center center/cover; padding: 30px 0;}
    .limitedCont .main-btn{width: 90%;}
}

/* Nav Sp Fixed*/
@media (min-width: 768px){
    #navsp-fixed{display: none;}    
}

@media (max-width: 767px){
    #navsp-fixed{display: flex; justify-content: space-between; background: #fff; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 900;}
    #navsp-fixed a{width: 100%; background: #84a481; height: 13vw; display: flex; justify-content: center; align-items: center; line-height: 1.4; text-align: center; color: #fff; font-size: 3vw;}
}

/* Footer */
#pagetop{position: fixed; bottom: 0; right: 0; width: 50px; height: 50px; z-index: 800; background: #3f865a url("../images/common/pagetop.svg") no-repeat center center/auto 70%; display: none; cursor: pointer;}

.headerRecommend {
    background: #F5F5F5;
    border-top: 1px solid #3f865a;
    border-bottom: 4px solid #3f865a;
    padding-bottom: 100px;
}

.headerEnttl {
    font-family: "Marcellus";
    font-size: 32px;
    line-height: 1.188;
    text-align: center;
    margin: 60px 0;
}

#outside_include_ftlivio #include_ftlivio {background-color: #F5F5F5;}

footer{text-align: center; background: #fff; font-family: 'Noto Sans JP', sans-serif;}
.footer-tit{font-size: 2rem; font-weight: bold;}
.footer-tel{margin: 25px 0; line-height: 1;}
.footer-tel img{width: 378px; margin: auto;}
.footer-time{font-size: 1.5rem;}
.footer-time li{display: inline-block; padding: 0 1em;}
.footer-logo{padding: 90px 0 40px; display: flex; justify-content: center; align-items: flex-start;}
.footer-logo a{margin: 0 25px; display: flex; align-items: flex-start;}
.footer-logo p{font-size: 1.5rem; line-height: 1; padding: 22px 10px 0 0;}
.footer-logo1 img{width: 212px;}
.footer-logo2 img{width: 227px;}
.footer-logo3 img{width: 292px;}
.copyright{font-size: 1rem; line-height: 1.3; padding: 10px 0; background: #F5F5F5;}

.holiday{color: #ff0000; margin: 0 0 10px;}

.footer-link{display: flex; justify-content: center; flex-wrap: wrap; margin: 0 0 60px; color:#bababa;}
.footer-link li:not(:last-of-type){margin-right: 2.5em;}
.footer-link a:hover{text-decoration: underline; color: #000;}

@media (max-width: 1230px) and (min-width: 768px){
    .footer-logo a{margin: 0 2vw;}
    .footer-logo p{font-size: 1.2vw; padding: 2vw 1vw 0 0;}
    .footer-logo1 img{width: 21.13vw;}
    .footer-logo2 img{width: 17.96vw;}
    .footer-logo3 img{width: 23.73vw;}
}

@media (max-width: 767px){
    #pagetop{bottom: 13vw; width: 40px; height: 40px;}
    .footer-logo{display: block; max-width: 300px; width: 70%; margin: 0 auto; padding: 60px 0 10px;}
    .footer-logo a{display: inline-block; margin: 0 0 30px;}    
    .footer-logo p{padding: 0 0 5px;}
    .footer-logo2 p{padding: 0 0 15px;}    
    .footer-time li{display: block; padding: 0;}
    .copyright{padding: 20px 0;}
}

@media (max-width: 480px){
    .footer-tit{font-size: 4.3vw; margin-left: -0.3em;}
    .footer-tel{margin: 15px 0;}
    .footer-tel img{width: 80%;}
    .footer-time{font-size: 3.2vw;}
    .copyright{font-size: 2.7vw;}
    .footer-link{font-size: 3.2vw;}
}

/* Animate */
.fade-in{opacity: 0; filter: blur(5px) brightness(105%); transition: opacity 2s ease, filter 2s ease;}
.fade-in.is-view{opacity: 1; filter: blur(0) brightness(100%);}

.fade-up{opacity: 0; transform: translateY(40px); -webkit-transform: translateY(40px); filter: blur(5px) brightness(105%); transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;}
.fade-up.is-view{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0); filter: blur(0) brightness(100%);}

.fade-down{opacity: 0; transform: translateY(-40px); -webkit-transform: translateY(-40px); filter: blur(5px) brightness(105%); transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;}
.fade-down.is-view{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0); filter: blur(0) brightness(100%);}

.fade-left{opacity: 0; transform: translateX(-40px); -webkit-transform: translateX(-40px); filter: blur(5px) brightness(105%); transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;}
.fade-left.is-view{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0); filter: blur(0) brightness(100%);}

.fade-right{opacity: 0; transform: translateX(40px); -webkit-transform: translateX(40px); filter: blur(5px) brightness(105%); transition: opacity 1.5s ease, transform 1.5s ease, filter 1.5s ease;}
.fade-right.is-view{opacity: 1; transform: translateY(0); -webkit-transform: translateY(0); filter: blur(0) brightness(100%);}

.zoom-in{opacity: 0; overflow: hidden; transform: scale(0.7,0.7); -webkit-transform: scale(0.7,0.7); transition: opacity 1.5s ease, transform 1.5s ease;}
.zoom-in.is-view{opacity: 1; transform: scale(1,1); -webkit-transform: scale(1,1);}

.zoom-out{opacity: 0; overflow: hidden; transform: scale(1.2,1.2); -webkit-transform: scale(1.2,1.2); transition: opacity 1.5s ease, transform 1.5s ease;}
.zoom-out.is-view{opacity: 1; transform: scale(1,1); -webkit-transform: scale(1,1);}

.roll-left{position: relative; overflow: hidden;}
.roll-left img{opacity: 0; transition: opacity 1.5s ease .5s;}
.roll-left:after{content: ''; position: absolute; top: 0; bottom: 0; background: #f1f0e8;}
.roll-left.is-view img{opacity: 1;}
.roll-left.is-view:after{animation: rollLeft 1.5s ease;}

@keyframes rollLeft{
    0%{left: 0; right: 100%;}
    50%{left: 0; right: 0;}
    100%{left: 100%; right: 0;}
}
@-webkit-keyframes rollLeft{
    0%{left: 0; right: 100%;}
    50%{left: 0; right: 0;}
    100%{left: 100%; right: 0;}
}

.roll-right{position: relative; overflow: hidden;}
.roll-right img{opacity: 0; transition: opacity 1.5s ease .5s;}
.roll-right:after{content: ''; position: absolute; top: 0; bottom: 0; background: #f1f0e8;}
.roll-right.is-view img{opacity: 1;}
.roll-right.is-view:after{animation: rollRight 1.5s ease;}

@keyframes rollRight{
    0%{right: 0; left: 100%;}
    50%{right: 0; left: 0;}
    100%{right: 100%; left: 0;}
}
@-webkit-keyframes rollRight{
    0%{right: 0; left: 100%;}
    50%{right: 0; left: 0;}
    100%{right: 100%; left: 0;}
}

@media (min-width: 768px){
    .delay1{transition-delay: .4s;}
    .delay2{transition-delay: .6s;}
    .delay3{transition-delay: .8s;}
}

/* Recommend */
#outside_recommend_slider{background: #fff;}

#common_slider_wrap {
    background: #fff;
    padding: 0 0 3.5em;
    border-bottom: 0!important;
    margin-bottom: 0;
}

#common_slider_wrap .inner01 {
    border-bottom: 2px solid #1C9142;
    padding-bottom: 2em;
    margin-bottom: 2rem;
}

