@charset "UTF-8";

/* --------------------------
 * base style
-------------------------- */
/* pc large min */
body,html { width: 100%; height: 100%; min-height:600px;}

.sp_dspl { display:none;}
.pc_dspl { display:block;}


/* header #ffdd1e #1eaa39 #e07f00 #9e2d30*/

#contents {padding: 0px;background-color: #fff;}
#contents .title {margin-top:0px;position: relative; z-index: 9;text-align: center;padding-top: 50px;background-image: url(../images/bread_03.png); background-position: center top; background-repeat: no-repeat; background-size: 80px 41px;margin-bottom: 75px;}
#contents .title .top { font-weight: bold;font-size:30px; letter-spacing: 2px;line-height: 1.6em;margin-bottom: 10px;}
#contents .title .bottom {padding-top: 15px;display: inline-block; border-top: 3px solid #199030; font-weight: 400;font-family: 'Playfair Display', serif; font-size:14px; font-style: italic; letter-spacing: 4px; color:#1eaa39;}
#contents .section {padding-top: 75px; }

#contents #list {}
#contents #list .block {margin-bottom: 40px; position: relative;}
#contents #list .block .icon {position: absolute; top: -30px;left: 40px;}
#contents #list .block .icon img {width: 60px; height:60px;}
#contents #list .block figure {display: block;}
#contents #list .block figure img {border-radius: 0.5em;-moz-border-radius: 0.5em;-webkit-border-radius: 0.5em;-o-border-radius: 0.5em;-ms-border-radius: 0.5em;}
#contents #list .block h2 {margin-top: 20px;position: relative; font-size: 14px; font-weight: bold;display: block;}
#contents #list .block h2 span {display:block; float: right;font-weight: 400;font-family: 'Old Standard TT', serif; font-size: 20px;}
#contents #list .block .text { background-color: #fff; padding: 20px 0px 0px; font-size: 12px; min-height: 90px; line-height: 1.6em;}

#contents #gallery {}
#contents #gallery .row {}
#contents #gallery .row > .block {}
#contents #gallery .row > .block .inner {cursor:crosshair; overflow: hidden;display: block; position: relative; width: 100%; height: 100%; background-color: #000;-webkit-transition:all 0.5s;-moz-transition:all 0.5s;-o-transition:all 0.5s;-ms-transition:all 0.5s;}
#contents #gallery .row > .block .inner figure { z-index: 1; overflow: hidden;}
#contents #gallery .row > .block .inner figure img {filter:alpha(opacity=50); -moz-opacity: 0.5; opacity: 0.5;-moz-transition: -moz-transform 0.5s linear;-webkit-transition: -webkit-transform 0.5s linear;-o-transition: -o-transform 0.5s linear;-ms-transition: -ms-transform 0.5s linear;transition: transform 0.5s linear;-webkit-transform: scale(1.01);-moz-transform: scale(1.01);-o-transform: scale(1.01);-ms-transform: scale(1.05);transform: scale(1.01);}
#contents #gallery .row > .block:hover .inner figure img {filter:alpha(opacity=100); -moz-opacity:1; opacity: 1;-webkit-transform: scale(1.05);-moz-transform: scale(1.05);-o-transform: scale(1.05);-ms-transform: scale(1.05);transform: scale(1.05);}
#contents #gallery .row > .block:hover .inner {background-color:#FFF;}
#contents #gallery .row > .block .inner h2 { letter-spacing: 2px;font-size: 24px;color:#FFF;position: absolute;top: 70%;margin-top: -0.5em;display: block; width: 100%; height: 100%; position: absolute;left: 0px; text-align: center;font-family: 'Lato', sans-serif; font-weight: 400;}
#contents #gallery .row > .block .inner h2 span { display: block; font-size: 13px;margin-top: 5px; font-weight: normal;font-family:'ヒラギノ逞ゴ Pro W3','Hiragino Kaku Gothic Pro','Hiragino Kaku Gothic ProN', 'ヒラギノ逞ゴ ProN W3','メイリオ',Meiryo,'掴ゴシック','YuGothic',sans-serif;}
#contents #gallery .row > .block:hover .inner h2 { color: #ffdd1e;}
#contents #gallery .text {margin-bottom: 50px; text-align: center; font-size: 14px; line-height: 1.8em;}

#map_canvas {width: 100%; height: 400px;}

#interval { height: 500px; width: 100%; background-position: center; background-size: cover; background-repeat: no-repeat; background-attachment: fixed;}
#interval.first { background-image: url(../images/interval_02.jpg);}
#interval.second { background-image: url(../images/interval_03.jpg);}
#interval.third { background-image: url(../images/interval_01.jpg);}

/* contact */
#contact { color: #FFF;}
#contact.cover {margin: 0;padding: 0; height: auto;background-size: cover; background-repeat: no-repeat; background-position: center; background-image: url(../images/contact_bg_img.jpg);}
#contact .inner {margin: 0;padding: 0; padding: 75px 0px; text-align: left;}
#contact .inner h2 {margin-top: 0;margin-bottom: 25px; font-size: 24px; font-weight: bold;}
#contact .inner h2 span { margin-left: 1px;color: #ffdd1e;font-size: 18px;display: block;margin-top: 15px;font-family: 'Lato', sans-serif; font-weight: 400;letter-spacing: 2px;}
#contact .inner .tel {font-family: 'Lato', sans-serif; font-weight: 700; font-size: 36px;letter-spacing: 2px; margin-bottom:30px;color: #FFF;}
#contact .inner .tel span { font-size: 60px;margin-left: 5px;}
#contact .inner .note { font-size: 14px;margin-top: 5px;font-weight: bold; text-align: left; width: 400px;display: block;}
#contact .inner .note span {color:#ffdd1e;margin-left: 10px;}

/* footer */
#footer {display: block;line-height: 1.6em;position: relative;z-index: 0;height:400px; background-color: #ffdd1e;}
#footer .footlogo {position: absolute; bottom:180px;width: 100%; text-align: center;}
#footer .footlogo img { width: 300px; height: auto;}
#footer .sns {position: absolute; bottom:120px;width: 100%; text-align: center;}
#footer .address {font-size: 14px; text-align: center;margin-bottom: 50px;color:#000;}
#footer .address span { font-size: 12px; display: block;}
#footer .pagetop {height: 35px; width: 100%; position: absolute; bottom: 60px; left: 0; display: block;}
#footer .pagetop span { display: block; width: 70px;height: 35px; cursor: pointer; margin: 0 auto;background-color: #1eaa39; text-align: center; line-height: 40px; font-size: 30px;border-top-right-radius : 5em;-moz-border-top-right-radius : 5em;-webkit-border-top-right-radius : 5em;-o-border-top-right-radius : 5em;-ms-border-top-right-radius : 5em;border-top-left-radius : 5em;-moz-border-top-left-radius : 5em;-webkit-border-top-left-radius : 5em;-o-border-top-left-radius : 5em;-ms-border-top-left-radius : 5em;}
#footer .pagetop span .fa {color:#FFF;}
#footer .copyright {width: 100%;position: absolute; bottom:0; left:0;color: #fff;line-height: 60px;text-align:center;font-family: 'Lato', sans-serif; font-weight: 400; letter-spacing: 1px;background-color: #1eaa39;}
#footer .copyright .container { position: relative;font-size: 11px; display: block;}
#footer .copyright ul { position: absolute; right:25px; top: 0; text-align: right;}
#footer .copyright ul li { display: inline-block;margin-left: 15px;}
#footer .copyright ul li a {color: #FFF;}
#footer .copyright ul li a .fa { margin-right: 5px;color:#ffdd1e;}

#spNav {display: none; background-color:rgba(0,0,0,0.8);; z-index: 9999; position: fixed; top: 0; left: 0; width: 100%; height: 100%; overflow-y: auto;}
#spNav ul {padding: 50px 0px 0px; text-align: center;}
#spNav ul li {display: block;line-height: 40px;}
#spNav ul li a  {font-size: 18px;color: #fff;}
#spNav ul li a .fa {margin-left: 25px;}
#spNav ul li a:hover{color: #1eaa39;}
#spNav ul li a:hover,
#spNav ul li a:focus,
#spNav ul li a:active { text-decoration: none;}
#spNav .btn { display: block;width: 150px; margin: 25px auto 0px;}
#spNav .btn:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}
#spNav .btn a { color: #000;box-sizing: border-box;-moz-border-radius: 2em;-webkit-border-radius: 2em;-o-border-radius: 2em;-ms-border-radius: 2em; position: relative; font-size: 16px; display: block; background-color: #FFF;color:#000; text-align: center; height:40px;line-height:40px; transition:all 0.3s;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;-ms-transition:all 0.3s;}
#spNav .btn a:hover {background-color:#1eaa39;color:#fff;}


/* pc */
@media screen and (min-width: 768px) {
    .container {min-width: 1100px;}

    #header {background-color: #ffdd1e;position: relative;display: block;height: 700px;}
    #header .inner { position: absolute;top:0px; left: 0px; width: 100%;}
    #header .container { position: relative;top:0px;}
    #header .container .logo { width: 360px; height: auto; position: absolute;z-index: 9999; top: 25px; left:100px;}
    #header .container .contact { width: 260px; height: auto; position: absolute;z-index: 9999; top: 60px; right: 100px;}
    #header .container .lead { width: 540px; height: auto; position: absolute;z-index: 9999;top: 170px; left: 100px;}
    #header .container .deco { width: 320px; height: auto; position: absolute;z-index: 9999;top:430px; right: 100px;}
    #header .sliderWrap {min-width: 1100px;position: absolute;height: 700px;width: 100%;z-index: 0;display: block;top: 0; left:0;overflow: hidden;}
    #header .sliderWrap .slider {width: 100%; height: 700px;margin-top: -75px;}
    #header .sliderWrap .mainVisual li {outline: none; padding: 0 25px;}
    #header .container .sns { position: absolute; top: 25px; right: 10px;}
    #header .{background-color: #ffdd1e; height: 600px;}
    #header .inner .hamburger { display: none;}

    #gnav { height: 100px; background-color: #1eaa39;margin-top:-100px;position: relative; z-index: 9; min-width: 1000px;}
    #gnav ul {height: 100px;text-align: center;}
    #gnav ul li { display:inline-block;height: 100px;border-right: 2px solid #20B73D;transition:all 0.3s;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;-ms-transition:all 0.3s;}
    #gnav ul li:first-child {border-left: 2px solid #20B73D;}
    #gnav ul li a {display: block;height: 50px; padding: 25px 25px; }
    #gnav ul li a img {height: 45px;}
    #gnav ul li:hover { background-color: #199030;}

    #topNav { display: none;}

    #contents #concept {padding-top: 450px; background-image: url(../images/concept_bg_img.jpg);}
    #contents #concept h2 {padding: 0px 0px;z-index: 99;font-weight: bold;display: block; position: relative; text-align: center;font-size:28px; letter-spacing: 2px;line-height: 1.4em;margin:0px 0px 25px;}
    #contents #concept h2 span {font-weight: 400;font-family: 'Playfair Display', serif; display: block;font-size:36px; font-style: italic; letter-spacing: 8px; color:#e07f00;margin-bottom: 50px;}
    #contents #concept .text { padding: 0 50px;font-size: 16px; line-height: 2em;margin-bottom: 75px;}
}


/* smartphone */
@media screen and (max-width: 767px) {
    .sp_dspl { display:block;}
    .pc_dspl { display:none;}
    .container {margin: 0;padding: 0 25px;}

    #header {background-color: #ffdd1e; height: 600px;}
    #header .inner {position: relative;top: 0;left:0;height: 600px;width: 100%;display: block;}
    #header .inner .logo {width: 360px;height: auto;position:absolute; left:20px; top: 20px;z-index: 999;}
    #header .inner .contact {width: 230px; height: auto;position: absolute;z-index: 999;bottom:15px;left: 15px;}
    #header .inner .deco { width: 400px; height: auto; position: absolute;z-index: 9999;bottom:15px; right: 25px;}
    #header .inner .lead { width: 100%; max-width: 540px; height: auto; padding: 0 15px;position: absolute;z-index: 9999;top: 200px; left: 0px;}
    #header .inner .sns {display: none;}
    #header .inner .hamburger {display:block; width: 40px; height: 40px;cursor: pointer;position: absolute; top: 25px; right: 25px;background-image:url(../images/hamburger.png); background-position: center; background-size: 40px; background-repeat: no-repeat; z-index: 9999;}
    #header .sliderWrap {width: 100%;position:absolute; top: 0px; left: 0px; z-index: 0; height: 600px;margin:0px auto;display: block; overflow: hidden;}
    #header .sliderWrap .slider {width: 100%; height: auto;margin-top: -25px;}
    #header .slider li {outline: none;}

    #gnav{ display: none;}
    #topNav { display: block;}
    #topNav .row {margin-left: -1px;}
    #topNav .row .block { height: 100px; display: block; float: left;margin-bottom: 1px;padding-left: 1px;}
    #topNav .row .block a {padding-top: 20px;text-align: center;height: 100px; background-color:#1eaa39; color: #fff;display: block; line-height: 30px; font-weight: bold; font-size: 14px;}
    #topNav .row .block a img { width: 30px;height: auto; margin: 0px auto; display: block;}

    #contents #concept {padding-top: 50px; background-image: url(../images/concept_bg_img_sp.jpg);}
    #contents #concept h2 {padding: 0px;z-index: 99;font-weight: bold;display: block; position: relative; text-align: left;font-size:28px; letter-spacing: 2px;line-height: 1.4em;margin:0px;margin-bottom: 25px;}
    #contents #concept h2 span {text-align: center;font-weight: 400;font-family: 'Playfair Display', serif; display: block;font-size:21px; font-style: italic; letter-spacing: 2px; color:#e07f00;margin-bottom: 25px;}
    #contents #concept .text { padding: 0px;font-size: 14px; line-height: 1.8em;margin-bottom: 50px;}

    #contents #list .block .text { padding: 20px 25px 0px;}
    #contents #list .block h2 {padding: 0 25px;}

    #contents #contact .inner h2 {text-align: center;}
    #contents #contact .inner .tel {text-align: center;font-size: 24px;}
    #contents #contact .inner .tel span { font-size: 48px;}
    #contents #contact .inner .note {text-align: center; width: 100%;}
    #contents #contact .inner .note span {color:#ffdd1e;margin-left: 10px;}

    #contents #gallery figure { position: relative;}
    #contents #gallery .text {padding: 0 25px;text-align: left;}
    #contents #gallery .text br { display: none;}

    #interval { height: 300px; background-position: center; background-size:cover; background-repeat: no-repeat; background-attachment: inherit;;}
    #interval.first { background-image: url(../images/interval_02_sp.jpg);}
    #interval.second { background-image: url(../images/interval_03_sp.jpg);}
    #interval.third { background-image: url(../images/interval_01_sp.jpg);}

    #footer {height:350px;}
    #footer .footlogo img { width: 200px; height: auto;}
}

@media screen and (max-width: 600px) {
    #header {height: 480px;}
    #header .inner {position: relative;top: 0;left:0;height: 480px;width: 100%;display: block;}
    #header .inner .logo {width: 350px;height: auto;position:absolute; left:20px; top: 20px;z-index: 999;}
    #header .inner .lead { width: 500px; height: auto;position: absolute;z-index: 9999;top: 160px; left: 0px;}
    #header .inner .contact {width: 200px;top:inherit;bottom:15px;right: 15px;}
    #header .inner .deco { width: 240px; height: auto; position: absolute;z-index: 9999;bottom:20px; right: 15px;}
    #header .sliderWrap {position:absolute; top: -10px; left: 0px;}
    #header .sliderWrap .slider {width: 110%; height: auto;margin-left: -5%;}
    #header .slider li {outline: none;}
    #header .inner .sns {display: none;}
}
@media screen and (max-width: 520px) {
    #header {height: 480px;}
    #header .inner {position: relative;top: 0;left:0;height: 480px;width: 100%;display: block;}
    #header .inner .logo {width: 100%;height: auto;padding: 20px 100px 20px 20px;position:absolute; left:0px; top: 0px;z-index: 999;}
    #header .inner .lead { width:100%; height: auto;padding: 20px;position: absolute;z-index: 9999;top: 180px; left: 0px;}
    #header .inner .contact {width: 150px;top:inherit;bottom: 15px;left: 15px;}
    #header .inner .deco { width: 200px; height: auto; position: absolute;z-index: 9999;bottom:20px; right: 15px;}
    #header .sliderWrap {position:absolute; top:0px; left: 0px;}
    #header .sliderWrap .slider {padding-top: 50px;width: 120%; height: auto;margin-left: -10%;}
}

@media screen and (max-width: 480px) {
    #contents #contact .inner .tel {text-align: center;font-size: 18px;}
    #contents #contact .inner .tel span { font-size: 36px;}
    #contents #contact .inner .note {text-align: center; width: 100%; font-size: 13px;}
}

@media screen and (min-width: 769px) {

.cal_wrapper-sp {
display: none !important;
max-width: 600px;
min-width: 450px;
margin: 2.0833% auto;
}

.googlecal {
position: relative;
padding-bottom: 100%;
height: 0;
}

.googlecal iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

}

@media only screen and (min-width: 768px) {
.googlecal { padding-bottom: 75%; }

}

@media screen and (max-width: 768px) {

.cal_wrapper-pc {
display: none !important;
max-width: 600px;
min-width: 450px;
margin: 2.0833% auto;
}

.googlecal {
position: relative;
padding-bottom: 100%;
height: 0;
}

.googlecal iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

.calendartittle { font-size: 26px; }

}

@media only screen and (min-width: 768px) {
.googlecal { padding-bottom: 75%; }
}




