@charset "utf-8";
@font-face {font-family: Futura; src: url(../fonts/FuturaPTMedium.otf);}

/* Reset */
html{overflow-x: hidden; scroll-behavior: smooth; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch;}
body{color: #303030; 
  /* line-height: 1.7;  */
  word-spacing: 0; font-size: 1.3rem; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -moz-text-size-adjust: 100%; background: #e6e6df; }

*{margin: 0; padding: 0; box-sizing: border-box; border: 0;}
h1, h2, h3, h4, h5, h6{font-size: 100%;}
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; transition: all 0.1s;}
a:hover {opacity: 0.6;}
img{vertical-align: bottom; max-width: 100%;}

textarea,
select,
option,
optgroup,
button{-webkit-appearance: none; appearance: none; border-radius: 0; outline: none;}
textarea {border: 1px solid #d9d9d3;}


.container{margin: 0 auto; max-width: 1400px; width: 92%;}
.flexBox {display: flex; flex-wrap: wrap; justify-content: space-between;}

.hoverBg {position: relative; box-sizing: border-box; display: inline-block; overflow: hidden; z-index: 0;}
.hoverBg:before { position: absolute; content: ''; background: #d0c2ab; transition-duration: .3s; z-index: -1; top: 0; right: auto; bottom: auto; left: 0; width: 0; height: 100%; opacity: 1;}
.hoverBg:hover:before { width: 100%; height: 100%; opacity: 1;}

.hoverZoom {overflow: hidden;}
.hoverZoom img {transition: transform .5s ease;}
.hoverZoom:hover img {transform: scale(1.1);}

@media only screen and (min-width: 768px){
    a[href^="tel:"]{pointer-events: none;}
    .onlySp{display: none;}
}

@media only screen and (max-width: 767px){
    a[href^="tel:"]{pointer-events: auto;}
    .onlyPc{display: none;}
}

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


/* Header */
/* .sticky header {background: rgba(0, 0, 0, 0.2);} */

/* header {display: flex; flex-wrap: wrap; justify-content: space-between; padding: 15px; position: fixed; top: 0; left: 0; width: 100%; color: #fff; z-index: 9997; transition: all 0.5s;} */
header .headRight {width: 900px; align-items: center;}
header .headRight .row01 {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; margin-bottom: 20px;}
header .headRight .row01 .gNav {display: flex; flex-wrap: wrap; justify-content: space-between; width: calc(100% - 64px); align-items: center;}
header .headRight .row01 .gNav > li a {font-family: 'Futura', sans-serif; font-weight: 300; display: block; /*line-height: 1; padding-top: 1rem;*/}
header .headRight .row01 .gNav > li a img {vertical-align: middle;}
header .headRight .row01 .gNav > li .active {opacity: 0.6;}
header .headRight .row01 .gNav > li.parent:hover ul {display: block;}
header .headRight .row01 .gNav > li.parent ul {position: absolute; color: #fff; padding: 3rem 0 0; display: none;}
header .headRight .row01 .gNav > li.parent ul:before {content: ''; position: absolute; top: 0; left: 0; right: 0; margin: 0 auto; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-bottom: 5px solid #1c2449; top: 2.5rem;}
header .headRight .row01 .gNav > li.parent ul li {float: left;}
header .headRight .row01 .gNav > li.parent ul li a {display: block; padding: 2rem 1rem; background: #1c2449;}
header .headRight .row01 .gNav > li.parent ul li:first-child a {padding-left: 4rem;}
header .headRight .row01 .gNav > li.parent ul li:last-child a {padding-right: 4rem;}
header .headRight .row01 .gNav > li.parent ul li a:hover {opacity: 1; color: #ccc;}

header .headRight .row01 .gNav > li:nth-of-type(10) {margin-right: 1rem;}
header .headRight .row01 .gNav > li:nth-of-type(11) {margin-right: 1rem;}

/* .header-search{border-bottom: 1px solid #fff; position: relative;} */
/* .header-search input{width: 100%; padding: 0 20px 5px 0; background: transparent; width: 120px; color: #fff; font-family: 'Futura', sans-serif; font-weight: 300; -webkit-appearance: none; appearance: none; border-radius: 0; outline: none;}
.header-search input::placeholder {color: #fff; opacity: 1;}
.header-search button {background: none; position: absolute; top: 0; right: 0; cursor: pointer; margin-top: 4px;} */

/* #childPage .header-search {border-bottom: 1px solid #000;}
#childPage .header-search input{color: #000;}
#childPage .header-search input::placeholder {color: #000; opacity: 1;} */

header .headRight .row02 {text-align: right;}
header .headRight .row02 a {display: inline-block; border-bottom: 1px solid #fff; padding: 10px 10px; line-height: 1;}

#btn-menu{width: 40px; height: 17px; position: relative; cursor: pointer; z-index: 99999;}
#btn-menu span{width: 100%; height: 1px; background: #fff; display: block;}
#btn-menu:before,
#btn-menu:after{content: ''; position: absolute; top: 0; width: 100%; height: 1px; background: #fff; display: block; transition: transform .3s;}
#btn-menu:before{top: 8px;}
#btn-menu:after{top: 16px;}
#btn-menu.close span{display: none;}
#btn-menu.close:before,
#btn-menu.close:after{top: 8px;}
#btn-menu.close:before{transform: rotate(45deg);}
#btn-menu.close:after{transform: rotate(-45deg);}

#menuWrap {position: fixed; top: 0; right: 0; width: 100%; background: rgba(11, 16, 35, 0.8);; padding: 5vw 3.5%; z-index: 9998; height: 100%;  font-family: 'Futura', sans-serif; font-weight: 300; color: #fff; display: none;}
#menuWrap .instagram {margin-bottom: 3rem;}
#menuWrap .instagram a * {display: inline-block; vertical-align: middle; font-size: 1.5rem;}
#menuWrap .instagram a img {margin-right: 1rem;}

#menuWrap .inner { width: 80%; left: 0; right: 0; margin: 0 auto;}
#menuWrap .inner > ul {align-items: stretch; font-size: 3.9rem;}
#menuWrap .inner > ul > li:nth-of-type(1) {width: 25%;}
#menuWrap .inner > ul > li:nth-of-type(2) {width: 25%;}
#menuWrap .inner > ul > li:nth-of-type(3) {width: 25%; position: relative;}
#menuWrap .inner > ul > li:nth-of-type(4) {width: 25%; position: relative; }
#menuWrap .inner > ul li .item{margin-bottom:6vw;}
#menuWrap .inner > ul li .item:last-child{margin-bottom:0;}
#menuWrap .inner > ul > li a {display: block; font-weight: 400; font-size:3vw;}
#menuWrap .inner > ul > li .sub-menu li a {font-size: 1.5vw;}
#menuWrap .inner > ul > li .active {opacity: 0.6;}
#menuWrap .inner .reserBtn {margin:3vw 0 0 0; max-width: 320px; width: 100%; font-family: "游ゴシック体", "YuGothic", "游ゴシック Regular", "Yu Gothic Regular", "游ゴシック", "Yu Gothic", sans-serif;}
#menuWrap .inner .reserBtn a {border: 1px solid #fff; text-align: center; padding: 15px 1vw; font-size: 1.5rem; font-weight: 600;}
#menuWrap .inner .reserBtn a:nth-of-type(1) {margin-bottom: 10px;}
#menuWrap .inner .reserBtn a:hover {color: #000;}

#menuWrap .menuWrapSearch {border-bottom: 1px solid #fff; position: relative; margin-bottom: 3vw; width: 25%;}
#menuWrap .menuWrapSearch input{width: 100%; padding: 0 20px 5px 0; background: transparent; color: #fff; font-family: 'Futura', sans-serif; font-weight: 300; -webkit-appearance: none; appearance: none; border-radius: 0; outline: none;}
#menuWrap .menuWrapSearch input::placeholder {color: #fff; opacity: 1;}
#menuWrap .menuWrapSearch button {background: none; position: absolute; top: 0; right: 0; cursor: pointer; margin-top: 4px;}

/* #topPage.sticky header {background: rgba(0, 0, 0, 0.2);} */
#childPage.sticky header {background: #e6e6df;}

#topPage .forTop {display: block;}
#topPage .forChild {display: none;}

#childPage .forTop {display: none;}
#childPage .forChild {display: block;}

#childPage header {color: #000; align-items: center;}
#childPage header .headRight .row01 {margin: 0;}
#childPage header .headRight .row02 {display: none;}
#childPage #btn-menu span {background: #000;}
#childPage #btn-menu:before,
#childPage #btn-menu:after {background: #000;}
#childPage #btn-menu.close span {background: #fff;}
#childPage #btn-menu.close:before,
#childPage #btn-menu.close:after {background: #fff;}


/*main*/
.main {margin-bottom: 4rem;}
.titH3 {text-align: center; font-size: 3rem; padding-top: 3rem; margin-bottom: 3rem; line-height: 1; font-family: 'Futura', sans-serif; font-weight: 300;}
.mainTxt {line-height: 2; letter-spacing: 0.2rem;}
#childPage {background: #fff;}
#childPage .main {margin-top: 80px;}
.btn-back a {display: block; width: 240px; margin: 0 auto; text-align: center; font-family: 'Futura', sans-serif; font-weight: 300; border: 1px solid #000; padding: 1.2rem 1rem;}
.error_txt {color: #ff0000;}

/*footer*/
#menuBottom .container {border-top: 1px solid #000; display: flex; flex-wrap: wrap; justify-content: space-between; padding: 40px 0 50px; font-family: 'Futura', sans-serif; font-weight: 300;}
#menuBottom .container .fNav {width: calc(100% - 202px);}
#menuBottom .container .fNav > li .item a {font-size: 2.6rem; display: block;}
#menuBottom .container .fNav > li .item a.active {opacity: 0.6;}
#menuBottom .container .fNav > li:nth-of-type(3) .item a {font-size: 1.6rem;}
#menuBottom .container .fNav > li:nth-of-type(4) .item a {font-size: 1.6rem;}
#menuBottom .container .fNav > li:nth-of-type(4) .item:nth-of-type(4) {margin-top: 20px;}
#menuBottom .container .fNav > li:nth-of-type(4) .item:nth-of-type(4) a,
#menuBottom .container .fNav > li:nth-of-type(4) .item:nth-of-type(5) a{font-size: 1.4rem; font-family: "游ゴシック体", "YuGothic", "游ゴシック Regular", "Yu Gothic Regular", "游ゴシック", "Yu Gothic", sans-serif;}
#menuBottom .container .fNav > li .parent ul li a {font-size: 1.4rem;}

#menuBottom .container .icons {width: 202px; position: relative; text-align: right;}
#menuBottom .container .icons a:nth-of-type(1) {font-size: 1.6rem;}
#menuBottom .container .icons a:nth-of-type(1) img {vertical-align: middle; margin-right: 10px;}

footer {background: #d0c2ab; padding: 20px 0; 
  /* font-size: 2rem;  */
  text-align: center; position: relative;}
footer .copyRight {margin-top: 40px; font-size: 1.2rem;}
#pagetop {position: fixed; bottom: 20px; right: 20px; cursor: pointer; display: none; z-index: 9999; transition: all 0.5s;}

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

    #menuWrap .inner > ul {font-size: 4.7vw;}
    #menuWrap .inner > ul li .item{
        margin-bottom:3vw;
    }
    #menuWrap .inner > ul > li:nth-of-type(1) {}
    #menuWrap .inner > ul > li:nth-of-type(2) {}
    #menuWrap .inner > ul > li:nth-of-type(3) {}
    #menuWrap .inner .reserBtn a {padding: 1rem;}

    #menuBottom .container .fNav li a {font-size: 2.5rem;}
    #menuBottom .container .fNav li:nth-of-type(3) a,
    #menuBottom .container .fNav li:nth-of-type(4) a {font-size: 1.8rem;}
    #menuBottom .container .icons a:nth-of-type(1) {font-size: 1.8rem;}

    #pagetop img {width: 35px;}
}
#menuWrap .inner > ul li .item.parent{
    position:relative;
}
#menuWrap .inner > ul li .item.parent .menu__item__link{
  position:absolute;
  top:0;
  left:9.5vw;
  display:block;
  width:1.8vw;
}
#menuWrap .inner > ul li .item.parent .menu__item__link.sh{
  position:absolute;
  top:0;
  left:15vw;
}
/* .submenu {
    display: none;
  } */
  .submenu__item a{
    color: #fff;
    font-size:2.6vw;
    margin-bottom:0.5vw;
  }
@media only screen and (max-width: 1080px){
    .sticky header {background: #e6e6df;}

    /* header {padding: 10px; align-items: center;} */

    header h1 a .onlyPc {display: none;}
    header h1 a .onlySp {display: block;}
    header .headRight .row01 {margin: 0;}
    header .headRight .row01 .gNav {display: none;}
    header .headRight .row02 {display: none;}
    header .headRight {width: auto;}


    #menuWrap {width: 100%; padding: 7rem 3.5rem; }
    #menuWrap .inner{width:95%;}
    #menuWrap .inner .reserBtn a {font-size: 1.2rem;}
    #menuWrap .inner > ul > li a {margin-bottom: 0.5rem; font-size:3.5rem;}


    #menuBottom .container .fNav {width: 100%;}
    #menuBottom .container .icons {text-align: left; margin-top: 10px;}
    #menuBottom .container .icons a:nth-of-type(2) {position: static;}
    #menuBottom .container .icons a:nth-of-type(1) {font-size: 1.6rem;}
    #menuBottom .container .icons a:nth-of-type(2) {margin: 10px auto 0; display: block; text-align: center; padding: 10px;}
}

@media only screen and (max-width: 767px){
    #topPage h1 a img.forTop {width: 70px;}
    #menuWrap {width: 100%; height:100%; padding: 8rem 3.5rem; overflow-y: scroll;}

    #menuWrap .inner {position:relative; top: unset; transform: unset; -webkit-transform: unset; line-height: 1.3;}
    #menuWrap .inner > ul {display: flex; flex-flow: column; align-items: center;position: relative; font-size: 2rem; line-height: 1.3; width:fit-content;}
    #menuWrap .inner > ul > li:nth-of-type(1) {width: 100%; line-height: 1.3;}
    #menuWrap .inner > ul > li:nth-of-type(2) {width: 100%;line-height: 1.3;}
    #menuWrap .inner > ul > li:nth-of-type(3) {position: relative; top: 0; right: 0;line-height: 1.3; max-width:unset; width: 100%;}
    #menuWrap .inner > ul > li:nth-of-type(4){width: 100%; }
    #menuWrap .inner > ul > li a {font-size:6.2vw; width:fit-content; display: inline-block;}
    #menuWrap .inner > ul > li:nth-of-type(3) a{font-size: 6.2vw;}
    #menuWrap .inner .reserBtn {position: static;}
    #menuWrap .inner .reserBtn a {font-size: 3vw;}
    #menuWrap .inner > ul > li .sub-menu li a {font-size: 3vw; line-height:1.5rem;}
    #menuWrap .menuWrapSearch {width: 100%; margin-bottom: 2rem;}

    .main {margin-bottom: 80px;}
    .titH3 {font-size: 2.6rem;}

    #menuBottom .container .fNav > li {width: 48%;}
    #menuBottom .container .fNav > li .item a {font-size: 1.8rem;}
    #menuBottom .container .fNav > li:nth-of-type(4) .item a,
    #menuBottom .container .fNav > li:nth-of-type(5) .item a {font-size: 1.4rem;}
    #menuBottom .container .fNav > li .parent ul li a {font-size: 1.2rem;}
    #menuBottom .container .icons a:nth-of-type(2) {font-size: 1.4rem;}

    #pagetop{bottom: 4vw; right: 4%;}
    #menuWrap .inner > ul li .item:last-child{margin-bottom:4vw;}
    #menuWrap .inner > ul li .item.parent{width: fit-content; min-width:20vw;}
    #menuWrap .inner > ul li .item.parent .menu__item__link{ left: 21vw; top:0px;width:4vw;}
    #menuWrap .inner > ul li .item.parent .menu__item__link.sh{ left: 32vw; top:4px;}
}

@media only screen and (max-width: 480px){
    #menuWrap .inner > ul > li .reserBtn a {font-size: 2.2vw;}
}

@media only screen and (max-width: 320px){
    #menuWrap .inner > ul {font-size: 1.8rem;}
    #menuWrap .inner > ul > li .sub-menu li a {font-size: 1rem;}
}
@media only screen and (min-width: 481px) and (max-width: 1023px){
    #menuWrap .inner > ul{
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        position: relative;
        font-size: 2rem;
        line-height: 1.3;
        width: auto;
    }
    #menuWrap .inner > ul li .item.parent .menu__item__link{
        left:10vw;
        width:2vw;
    }
    #menuWrap .inner > ul li .item:last-child{
        margin-bottom:3vw;
    }
    #menuWrap .inner > ul > li a{
        font-size:3vw;
    }
    #menuWrap .inner > ul > li .sub-menu li a{
        font-size:2.5vw;
    }
    #menuWrap .menuWrapSearch{
        width:50%;
    }
    #menuWrap .menuWrapSearch input{
        font-size:2.5vw;
    }
    #menuWrap .inner .reserBtn a{
        font-size:1.8rem;
    }
    #menuWrap .inner .reserBtn{
        max-width:100%;
    }
    #menuWrap .inner > ul li .item.parent .menu__item__link.sh{
        left:16vw;
    }
}
@media only screen and (min-width: 1179px) and (max-width: 1200px){
    #menuWrap .inner > ul li .item.parent .menu__item__link{
        position:absolute;
        top:0;
        left:10vw;
        display:block;
        width:20px;
      }
      #menuWrap .inner > ul li .item.parent .menu__item__link.sh{
        position:absolute;
        top:0;
        left:16vw;
      }
}
.grecaptcha-badge { visibility: hidden; }
p.recapcha-text { font-size: 11px; text-align: center;margin-bottom:20px;}