/*--------------
custom add css
--------------*/
/*common*/
@media (min-width: 769px) {
.sp-view {
display: none;
}
.pc-view {
    display: initial;
}
}
@media (max-width: 768px) {
.sp-view {
display: initial;
}
.pc-view {
display: none;
}
}
.block {
    display: block;
}
@media (max-width: 768px) {
.sp-block {
    display: block;
}
}
.inblock {
    display: inline-block;
}
h2 {
    text-align: center;
    margin-bottom: 80px;
}
p {
    letter-spacing: 0.07em;
}
.bold {
    font-weight: 600;
}
.navy {
    color: #07305f;
}
.black {
    color: #000;
}
.yellow {
    color: #f0a733;
}
.bg-lightGrey {
background-color: #F8F9FB;
}
.bg-lightBlue {
    background-color: #9BB9D9;
}
.bg-blue {
    background-color: #6F97C3;
}
.bg-navy {
    background-color: #073061;
}

.fs1 {
    font-size: 1rem;
}
.fs12 {
    font-size: 1.2rem;
}
.fs18 {
    font-size: 1.8rem;
}
.fs20 {
    font-size: 2rem;
}

.btn-detail a {
    margin-top: 50px;
    text-align: center;
    background-color: #07305f;
    padding: 20px 5px;
    border-radius: 2px;
    color: #fff;
    display: block;
}
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 20px;
    bottom: 20px;
  background: transparent;
  opacity: 1;
  border-radius: 50%;
  border: 1px solid #07305f;
  }
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    content: '\f062';
    font-size: 25px;
    color: #07305f;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -20px;
    bottom: 0;
    right: 1px;
    left: 0;
    margin: auto;
    text-align: center;
}

/*nav*/
#ftco-nav .navbar-toggler {
    position: absolute;
    right: 0px;
    top: 0px;
}
.ftco-navbar-light.scrolled {
    height: 80px;
}
.ftco-navbar-light .top-logo {
    width: 160px;
}
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link_contact {
    background-color: #f08433;
    color: #fff !important;
    padding-left: 50px;
    padding-right: 50px;
    border-radius: 2px;
}
header .navbar-logo {
    display: none;
}

/*テキスト隠す*/
.hidden_box {
    margin: 2em 0;
    padding: 0;
}
.hidden_box label {
    cursor: pointer;
    width: 60px;
    background-size: 60px;
    height: 80px;
    }

#arrowClick-01,
#arrowClick-02,
#arrowClick-03,
#arrowClick-04,
#arrowClick-05,
#arrowClick-06{
    background: url(../images/arrow-open.png) 0 0 no-repeat;
    background-size: 60px;
}
#arrowClick-01.close,
#arrowClick-02.close,
#arrowClick-03.close,
#arrowClick-04.close,
#arrowClick-05.close,
#arrowClick-06.close {
    background: url(../images/arrow-close.png)0 0 no-repeat;
    background-size: 60px;
    opacity: 1;
}

.hidden_box {
    margin: 2em 0;
    padding: 0;
}
.hidden_box label:hover {
    opacity: 0.8;
}
.hidden_box input {
    display: none;
}
.hidden_box .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}
.hidden_box input:checked ~ .hidden_show {
    height: auto;
    opacity: 1;
}
.hidden_show p{
    background-color: #fff;
}
.hidden_box input {
    display: none;
}

/*--------------------
        section
--------------------*/

/*top visual*/
#topVisual {
     background: url(../images/bg-topvisual.jpg) 0 0 no-repeat;
     background-size: cover;
}
#topVisual .container.topVisual {
    max-width: 100%;
    padding-left: 0px;
}
.topVisual-menu ul {
    padding-top: 50px;
}
.topVisual-menu ul li{
    width: 26px;
    margin-bottom: 33px;
}
.topVisual-menu ul li img {
    width: 100%;
}
.topVisual-text {
padding-left: 3%;
padding-top: 24%;
}
.topVisual-text h1 {
font-weight: 500;
color: #000;
margin-bottom: 30px;
font-size: 2.3rem;
}
.topVisual-text p {
    color: #000;
    font-size: 1.2rem;
    letter-spacing: 0.08em;
}
.topVisual-box {
padding-top: 80px;
padding-bottom: 80px;   
}

.topVisual-box ul li{
float: left;
    width: 31%;
    padding: 20px 5px;
    font-size: 1rem;
    letter-spacing: 0.15em;
    border: solid 2px;
    color: #072f5f;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.68);
    margin: 10px 7px;
    border-radius: 2px;
}

/*nayami*/
#nayami {
    padding-bottom: 80px;
    padding-top: 80px;
}
#nayami h2 {
    text-align: center;
    margin-bottom: 80px;
}
#nayami img {
    width: 85%;
    float: right;
}
.nayami-title {
    font-size: 1.4rem;
    font-weight: 500;
    color: #072f5f;
}
.nayami-text {
    font-size: 1.2rem;
    line-height: 2.5em;
}

.nayami-last {
    text-align: center;
    font-size: 1.5rem;
    color: #000;
    margin-top: 50px;
}
#nayami .nayami-last {
    text-align: center;
    font-size: 1.3rem;
    color: #f08433;
    margin-top: 30px;
    border: 3px solid;
    padding: 20px 0;
    border-radius: 10px;
}

/*point*/
#point {
    background-color: #F8F9FB;
    padding-top: 80px;
    padding-bottom: 80px;
}
#point .point-box01 {
    background: url(../images/img-point01.png) 0 0 no-repeat;
    background-size: 120px;
    margin-bottom: 50px;
    border-bottom: solid #9BB9D9 1px;
    padding-bottom: 50px;
}
#point .point-box02 {
    background: url(../images/img-point02.png) 0 0 no-repeat;
    background-size: 120px;
    margin-bottom: 50px;
    border-bottom: solid #9BB9D9 1px;
    padding-bottom: 50px;
}
#point .point-box03 {
    background: url(../images/img-point03.png) 0 0 no-repeat;
    background-size: 120px;
}
#point .point-title {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    color: #07305f;
    margin-bottom: 50px;
}

/*profile*/
#profile {
    margin-bottom: 80px;
    margin-top: 80px;
    background: url(../images/img-profile02.png) center 0 no-repeat;
    background-size: 24%;
}

#profile .profile-title {
    text-align: right;
    margin-top: 50px;
    margin-bottom: 50px;
}
#profile .profile-text {
    background-color: #F8F9FB;
    position: absolute;
    padding: 50px 30px;
    margin-left: -60px;
}
#profile .profile-img {
    height: 540px;
}

#profile .profile-sub {
    margin-top: 80px;
}
#profile .profile-subTitle {
    text-align: center;
    margin-bottom: 50px;
}
#profile .profile-subText {
    text-align: center;
     color: #000;
    line-height: 2.2em;
}
#profile .profile-img-sp {
    display: none;
}

/*kantei*/
#kantei {
    background-color: #F8F9FB;
    padding-bottom: 80px;
   padding-top: 80px;
}
#kantei .kantei-text {
    color: #000;
    text-align: center;
    margin-bottom: 50px;
    font-size: 1.15rem;
}
#kantei .kantei-subText {
    text-align: right;
    font-size: 0.7rem;
}

/*customer*/
#customer {
    padding-top: 80px;
    padding-bottom: 40px;
}
.customer01, .customer02, .customer03, .customer04, .customer05 {
    border-bottom: solid 1px #f08432;
    margin-bottom: 80px;
}

.customer-info {
    color: #000;
}
.customer-title {
    font-size: 1.3rem;
    color: #f08432;
}
.customer-img-sp {
    display: none;
}

/*price*/
#price {
    padding-top: 80px;
    padding-bottom: 80px;
}
#price h2 {
    margin-bottom: 40px;
}
#price .price-text01 {
    font-weight: 600;
    font-size: 2.2rem;
    color: #07305f;
    border-bottom: solid 1px #f08432;
}
#price .price-text02 {
    color: #000;
}
#price .price-subtext-box {
    color: #f08432;
    margin-top: 80px;
    border: solid 5px #f08433;
    padding: 30px 5px;
    border-radius: 10px;
    color: #f08433;
}

#price .price-subtext01 {
    font-weight: 500;
    font-size: 2rem;
}

#price .price-subtext02 {
    font-size: 1.3rem;
    font-weight: 500;
}
#price .price-subtext03 {
    font-size: 3rem;
    font-weight: 600;
    color: #F06532;
}
#price .price-subtext03 img {
    width: 30px;
}

#price .priceOff {
    font-size: 2rem;
    text-decoration: line-through;
    color: #f0a733;
}
#btnPrice {
    margin-top: 0px;
    padding-bottom: 50px;
}


#days180 {
    padding-top: 40px;
    padding-bottom: 40px;
    color: #07305f;
}
#days180 .days180-title {
color: #07305f;
margin-bottom: 40px;
}

#days180 ul{
    padding-left: 0px;
    font-size: 0.8rem;
}

/* recommend */
#recommend {
    padding-top: 80px;
    padding-bottom: 80px;
}
.recommend-img {
    background: url(../images/bg-recommend.png) 0 0 no-repeat;
    background-size: cover;
}
#recommend .recommend-text {
    background-color: #f08432;
    padding: 20px;
    color: #fff;
     margin-left: -1px;
}

#bg-reservation {
    min-height: 260px;
    background: url(../images/bg-reservation.png) 0 0 no-repeat;
    background-size: 100%;
    margin-bottom: 80px;
}

/* step */
#step {
    padding-top: 80px;
    padding-bottom: 30px;
}
#step .row {
    margin-bottom: 50px;
}

#qna {
    padding-top: 80px;
    padding-bottom: 80px;
}
#qna ul {
    margin-bottom: 50px;
}
#qna ul li {
    padding-left: 50px;
    margin-bottom: 20px;
}
#qna .qna-labelQ {
    background: url(../images/img-q.png) 0 0 no-repeat;
    background-size: 20px;
    color: #000;
}
#qna .qna-labelA {
    background: url(../images/img-a.png) 0 0 no-repeat;
    background-size: 20px;
}
#qna .qna-labelA-top {
    background: url(../images/img-a.png) 0 0 no-repeat;
    background-size: 20px;
}

/* footer */
footer .logo {
    width: 230px;
}
footer .iconNote {
    background: url(../images/icon-noteNavy.png) right 0 no-repeat;
    background-size: 26px;
}
footer .iconNote:hover {
    background: url(../images/icon-noteWhite.png) right 0 no-repeat;
    background-size: 26px;
}
footer .ftco-footer-social,
footer .footer-menu {
    width: 100%;
    display: inline-block;
    text-align: right;
    margin-bottom: 0px;
}

footer .footer-menu li {
    font-size: 0.8rem;
    border-right: solid 1px #000;
    padding-right: 10px;
    padding-left: 10px;
    line-height: 1rem;
    display: inline-block;
    margin-bottom: 10px;
}
footer .footer-menu li:last-child {
    border-right: none;
}

footer .copyright {
    width: 100%;
    text-align: right;
    font-size: 0.7rem;
    color: #000;
    display: inline-block;
    float: right;
}

/*--------- PAGE message ----------*/
.pages .ftco-navbar-light{
   top: 0;
    background-color: #fff !important;
    height: 80px;
}

.pages #pageTitle {
    height: 250px;
    margin-top: 80px;
}

.pages.message #pageTitle .pageTitle-left {
    background: url(../images/bg-messageLeft.png) center center no-repeat;
    background-size: cover;
    height: 250px;
    width: 50%;
    float: left;
}
.pages.message #pageTitle .pageTitle-right {
    background: url(../images/bg-messageRight.png) center center no-repeat;
    background-size: cover;
    height: 250px;
    width: 50%;
    float: left;
}
.pages #pageTitle h1 {
    font-weight: 500;
    text-align: center;
    padding-top: 15%;
}

.pages .messageTitle {
    margin-top: 50px;
    margin-bottom: 50px;
}
.pages #messageText {
    margin-bottom: 80px;
}
.pages .message-name {
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 30px;
    text-align: right;
}
.pages .message-name a {
    color: #000;
}

/*--------- PAGE price ----------*/
.pages.price #pageTitle .pageTitle-left {
    background: url(../images/bg-priceLeft.png) center center no-repeat;
    background-size: cover;
    height: 250px;
    width: 50%;
    float: left;
}
.pages.price #pageTitle .pageTitle-right {
    background: url(../images/bg-priceRight.png) center center no-repeat;
    background-size: cover;
    height: 250px;
    width: 50%;
    float: left;
}
.pages.price .addprice {
    font-size: 1.4rem;
    font-weight: 500;
    padding-left: 20px;
}
.pages.price h2 {
    font-size: 2rem;
    margin: 0 auto;
    padding-bottom: 80px;
    padding-top: 80px;
}
.pages #price {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
}

.pages.price #price h3 {
    margin-bottom: 50px;
}
.pages.price #price .container {
    padding-top: 50px;
    padding-bottom: 50px;
}

.pages.price #price .price-text01 {
    border-bottom: none;
}

.pages.price #price .price-subtext-box {
    color: #f08432;
    margin-top: 30px;
    border: none;
    padding: 30px 5px 10px;
    border-radius: 10px;
    background-color: #fff;
    border: 1px solid rgba(221, 221, 221, 0.27);
}
.pages.price .price-add {
    color: #07305f;
    text-align: center;
    padding-top: 50px;
}

.pages.price .price-add .container {
    padding-top: 50px;
    padding-bottom: 50px;
    font-weight: 500;
}

.price-add-title p {
    font-size: 1.4rem;
    font-weight: 500;
    padding-left: 30px;
    padding-right: 30px;
    background: url(../images/bg-priceSubtitle.png) center 0 no-repeat;
    background-size: 100%;
    display: initial;
}
.pages.price .price-add ul {
    margin-top: 30px;
    font-size: 1.5rem;
}
.pages.price .price-add ul li {
    color: #000;
    line-height: 3;
}
.pages.price .place {
        margin-bottom: 80px;
}

.pages.price .place-text01 span {
    font-size: 1.1rem;
    font-weight: 500;
    color: #07305f;
    line-height: 0.8;
}
.pages.price .place-text02 {
    font-size: 0.8rem;
    margin-bottom: 50px;
}
.pages.price .place-img {
    background: url(../images/bg-placeimg.png) center 0 no-repeat;
    background-size: cover;
    margin-left: -15px;
    margin-right: -15px;
}
.pages.price .contactForm h2 {
    padding-top: 30px;
    padding-bottom: 40px;
}
.pages.price .contactForm .form-text01 {
     text-align: center;
    font-size: 1.2rem;
}
.pages.price .contactForm .form-text02 h3 {
    text-align: center;
    padding-top: 30px;
    padding-bottom: 30px;
}
.form-text02 ul li {
    text-align: center;
}
.form-text02 ul .flow01 {
    float: left;
    width: 40%;
    background: #9BB9D9 url(../images/img-flow.png) right -7px no-repeat;
    background-size: 40px;
    padding: 20px;
    color: #fff;
    height: 100px;
}
.form-text02 ul .flow02 {
    float: left;
    width: 30%;
    background-color: #9BB9D9;
    color: #fff;
    height: 100px;
    padding-top: 37px;
}
.form-text02 ul .flow03 {
    float: left;
    width: 30%;
    background: #9BB9D9 url(../images/img-flow.png) left -7px no-repeat;
    background-size: 40px;
    padding-top: 37px;
    color: #fff;
    height: 100px;
}
.contactForm {
       margin-top: 80px;
    padding-bottom: 50px;
    padding-top: 30px;
}

/*--------- PAGE policy ----------*/
.pages.policy h2 {
font-weight: 500;
}
.pages #law,
.pages .policy {
    padding-top: 80px;
    padding-bottom: 80px;
}
.pages #law {
    margin-top: 80px;
    border-bottom: 1px solid #ddd;
}
.pages h2{
    margin: 0 auto;
    padding-bottom: 50px;
}
.pages #law .row,
.pages .policy .row {
    margin-bottom: 20px;
}


/*--------------------- 
      media screen 
-----------------------*/
@media (max-width: 1278px) {
#topVisual {
    background: url(../images/bg-topvisual.jpg) center 0 no-repeat;
    background-size: cover;
}
header .navbar-logo {
    display: initial;
    width: 40%;
    margin: 0 auto;
    padding-top: 30px;
}
header #ftco-nav .navbar-toggler {
    position: absolute;
    right: 11px;
    top: 13px;
}
header .ftco-navbar-light.scrolled .nav-link {
      color: #000000;}
}

@media (max-width: 992px) {
h2, .h2 {
font-size: 1.5rem;
margin-bottom: 50px;
}
header {
    z-index: 999;
    width: 100%;
}
.topVisual-menu ul {
    padding-top: 30px;
}
.topVisual-menu ul li {
    width: 19px;
    margin-bottom: 22px;
}
.topVisual-text {
    padding-left: 35px;
    padding-top: 18%;
}
.topVisual-text p {
    font-size: 1rem;
    padding-top: 20px;
}
.topVisual-text h1 {
    font-weight: 500;
    color: #000;
    margin-bottom: 30px;
    font-size: 1.5rem;
}
.topVisual-box {
    padding-top: 30px;
    padding-bottom: 30px;
}
.topVisual-box ul li {
    float: left;
    width: 48%;
    padding: 5px;
    font-size: 0.75rem;
    letter-spacing: 0.0em;
    border: solid 2px;
    color: #072f5f;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.68);
    margin: 5px 3px;
    border-radius: 2px;
}

#nayami {
    padding-bottom: 50px;
    padding-top: 50px;
}
.nayami-text {
    font-size: 1.1rem;
    line-height: 2em;
}
#nayami img {
    width: 100%;
    float: left;
  margin-bottom: 30px;
}

#point {
    padding-bottom: 0px;
}
#point .point-box01 {
    background: url(../images/img-point01.png) center 0 no-repeat;
    background-size: 120px;
    padding-top: 83px;
    margin-bottom: 30px;
    padding-bottom: 30px;
}
#point .point-box02 {
    background: url(../images/img-point02.png) center 0 no-repeat;
    background-size: 120px;
    padding-top: 83px;
     margin-bottom: 30px;
    padding-bottom: 30px;
}
#point .point-box03 {
    background: url(../images/img-point03.png) center 0 no-repeat;
    background-size: 120px;
    padding-top: 83px;
     margin-bottom: 30px;
    padding-bottom: 30px;
}

#profile {
    margin-bottom: 50px;
    margin-top: 0px;
    background: url(../images/img-profile02.png) center 300px no-repeat;
    background-size: 35%;
}
#profile .profile-img-sp {
    display: block;
    margin-left: -15px;
    margin-right: -15px;
}
#profile .profile-img-pc {
    display: none;
}
#profile .profile-img {
    height: 230px;
}
#profile .profile-title {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 30px;
    font-size: 1.5rem;
}
#profile .profile-text {
    background-color: #F8F9FB;
    position: inherit;
    padding: 30px;
    margin-left: 0px;
}
#profile .profile-sub {
    margin-top: 50px;
}
#profile .profile-subText {
    text-align: left;
}

#kantei {
    padding-bottom: 50px;
    padding-top: 50px;
}
#kantei .kantei-text {
    text-align: left;
    margin-bottom: 30px;
    font-size: 1.1rem;
}
.customer01, .customer02, .customer03, .customer04, .customer05 {
    margin-bottom: 50px;
}
.customer-img-sp {
    display: none;
}

.customer-img {
    width: 100%;
    margin: 0 auto;
    display: block;
}
.hidden_box label {
    height: 70px;
}

#price {
    padding-top: 50px;
    padding-bottom: 50px;
}
#price h2 {
    font-size: 1.8rem;
}
#price .price-subtext-box {
    margin-top: 30px;
    padding: 20px 10px;
}
#price .price-subtext01 {
    font-size: 1.5rem;
}
#price .price-subtext02 {
    line-height: 1.4;
}
#price .price-text01 {
    font-size: 1.9rem;

}
#price .price-subtext03 {
    font-size: 2.4rem;
}
#recommend .recommend-text {
    font-size: 0.8rem;
}
#bg-reservation {
    min-height: 200px;
    margin-bottom: 0px;
}
footer .footer-menu li {
    font-size: 0.75rem;
    padding-right: 7px;
    padding-left: 7px;
}
/* PAGES */
.pages #pageTitle h1 {
    text-align: center;
    padding-top: 16%;
    font-size: 2rem;
}
.form-text02 ul li {
    text-align: center;
    font-size: 0.8rem;
}

}

@media (max-width: 768px) {
header {
    position: fixed;
    background-color: #fff;
    border-bottom: 1px solid #efefef;
}
.pages header {
    margin-top: -60px;
}
.pages.policy header {
    margin-top: -80px;
}
#page_top {
    right: 10px;
    bottom: 10px;
}

/* sp menu */
#nav-toggle {
  position: fixed;
  top: 23px;
    right: 15px;
    height: 32px;
    cursor: pointer;
}
#nav-toggle > div {
  position: relative;
  width: 30px;
}
#nav-toggle span {
  width: 100%;
  height: 5px;
  border-radius: 2px;
  left: 0;
  display: block;
  background: #083161;
  position: absolute;
  -webkit-transition: top .5s ease, -webkit-transform .3s ease-in-out;
  transition: top .5s ease, -webkit-transform .3s ease-in-out;
  transition: transform .3s ease-in-out, top .5s ease;
  transition: transform .3s ease-in-out, top .5s ease, -webkit-transform .3s ease-in-out;
  /* #nav-toggle close */
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 10px;
}
#nav-toggle span:nth-child(3) {
  top: 20px;
}
#nav-toggle:hover span:nth-child(1) {
  top: 0px;
}
#nav-toggle:hover span:nth-child(3) {
  top: 20px;
}

.open #nav-toggle span:nth-child(1) {
  top: 15px;
  background: #fff;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2) {
  top: 15px;
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 15px;
  background: #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.btn-contact-sp {
    position: absolute;
    right: 60px;
    top: 14px;
}
.btn-contact-sp a {
    background-color: #f08435;
    color: #fff;
    border-radius: 2px;
    font-size: 0.8rem;
}

/* z-index */
#nav-toggle {
  z-index: 1000;
}

#container {
  z-index: 900;
}

#gloval-nav nav {
  z-index: 999;
}

#gloval-nav {
  background-color:#073060 ;
  color: #fff;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  z-index: 990;
  display: -webkit-box;
  display: flex;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 0;
  -webkit-transform: translateX(770px);
          transform: translateX(770px);
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 0.8);
  transition: -webkit-transform 0.4s cubic-bezier(0.215, 0.61, 0.355, 0.8);
  transition: transform 0.4s cubic-bezier(0.7, 0.61, 0.355, 0.8);
  transition: transform 0.4s cubic-bezier(0.7, 0.61, 0.355, 0.8), -webkit-transform 0.8s cubic-bezier(0.7, 0.61, 0.355, 0.8);
}

.open #gloval-nav {
    display: block;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

#gloval-nav a {
  display: inline-block;
  font-size: 1.2rem;
    color: #fff;
    text-decoration: none;
    padding: 20px 0;
    -webkit-transition: color .6s ease;
    transition: color .6s ease;
}
#gloval-nav .nav-link_contact {
    background-color: #fff;
    width: 90%;
    color: #07305f;
    padding: 12px 0;
}
#gloval-nav ul {
  list-style: none;
}
#gloval-nav ul li {
  -webkit-transform: translateX(270px);
          transform: translateX(270px);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  position: relative;
}
#gloval-nav ul li:after {
  content: "";
  display: block;
  width: 500px;
  height: 2px;
  left: 600px;
  position: absolute;
  -webkit-transform: translateX(270px);
          transform: translateX(270px);
  -webkit-transition: -webkit-transform 1s ease;
  transition: -webkit-transform 1s ease;
  transition: transform 1s ease;
  transition: transform 1s ease, -webkit-transform 1s ease;
}
#gloval-nav ul li:hover:after {
  -webkit-transform: translateX(270px);
          transform: translateX(270px);
}
#gloval-nav ul li:nth-child(2) {
  -webkit-transition-delay: .1s;
          transition-delay: .1s;
}
#gloval-nav ul li:nth-child(3) {
  -webkit-transition-delay: .25s;
          transition-delay: .25s;
}
#gloval-nav ul li:nth-child(4) {
  -webkit-transition-delay: .4s;
          transition-delay: .4s;
}
#gloval-nav ul li:nth-child(5) {
  -webkit-transition-delay: .55s;
          transition-delay: .55s;
}
#gloval-nav ul li:nth-child(6) {
  -webkit-transition-delay: .75s;
          transition-delay: .75s;
}
#gloval-nav ul li:nth-child(7) {
  -webkit-transition-delay: .9s;
          transition-delay: .9s;
}

.open #gloval-nav li {
    text-align: center;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.nav-bg {
  opacity: 0;
  background-image: linear-gradient(-45deg, #FF00BF, #FFEA00);
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}
.nav-bg.active {
  opacity: 1;
}

.top-logo-sp img {
    width: 47%;
    display: block;
    margin: 0 auto;
}

.navbar-nav li a {
    text-align: center;
}
.navbar-nav li a img {
    width: 45%;
}

.ftco-navbar-light .top-logo {
   height: 60px;
    padding-left: 20px;
    display: contents;
}
.ftco-navbar-light .top-logo img {
display: block;
    height: 50px;
    width: auto;
    margin-top: 10px;
    margin-left: 20px;
    margin-bottom: 7px;
}
#ftco-nav {
    background-color: #07305f;
    margin-top: -67px;
    padding-top: 30px;
    margin-left: -15px;
    margin-right: -15px;
}
.ftco-navbar-light .navbar-nav {
    padding-bottom: 20px;
    margin-right: 0;
    width: 100%;
}
.navbar-toggler:not(:disabled):not(.disabled) {
    cursor: pointer;
    float: right;
    margin-top: 10px;
    margin-right: 10px;
}

.ftco-navbar-light .navbar-nav > .nav-item > .nav-link span:before {
        background: transparent;
        }
.ftco-navbar-light .navbar-nav > .nav-item > .nav-link_contact {
    background-color: #ffffff;
    color: #07305f !important;
    padding-left: 50px;
    padding-right: 50px;
    border-radius: 2px;
    padding-top: 10px;
    padding-bottom: 10px;
    font-weight: 600;
    width: 90%;
    margin: 0 auto;
}
.ftco-navbar-light {
top: 0;
display: contents;
}
#ftco-nav {
    background-color: #07305f;
    margin-top: -67px;
    padding-top: 30px;
    margin-left: 0px;
    margin-right: 0px;
    width: 100%;
}

.navbar-collapse {
    background-color: #07305f;
    margin-top: -67px;
    padding-top: 20px;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
    -webkit-transform: translateY(-100px);
          transform: translateY(-100px);
  -webkit-transition: -webkit-transform 0.01s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.01s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.01s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.01s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.navbar-collapse.show {
    -webkit-transform: translateY(0);
          transform: translateY(0);
}
.navbar-logo {
    display: initial;
    width: 80%;
    margin: 0 auto;
    padding-top: 0px;
}
.navbar-toggler:not(:disabled):not(.disabled) {
    margin-top: 20px;
    margin-right: 20px;
}
#ftco-nav .navbar-toggler {
    position: absolute;
    top: 0;
    right: 0;
}

/* top visual */
#topVisual {
    background: url(../images/bg-topvisual.jpg) center 50px no-repeat;
    background-size: cover;
}

/* nayami */
#nayami h2 {
    text-align: center;
    margin-bottom: 50px;
}
.nayami-title {
    font-size: 1.2rem;
    font-weight: 500;
    color: #072f5f;
    line-height: 1.7rem;
    margin-bottom: 10px;
}
#nayami .nayami-last {
    border-radius: 5px;
    text-align: center;
    font-size: 1.1rem;
    color: #f08433;
    margin-top: 0px;
    border: 3px solid;
    padding: 15px 0;
}
#nayami ul {
    border-bottom: dashed 1px #f99747;
    margin-bottom: 30px;
    padding-bottom: 20px;
}
#nayami ul:last-child {
    border-bottom: none;
}
/* point */
#point {
    padding-bottom: 0px;
    padding-bottom: 50px;
}
#point .point-title {
    font-size: 1.4rem;
    margin-bottom: 10px;
}
#point .point-box03 {
    margin-bottom: 0;
}

/* profile */
#profile {
    margin-bottom: 50px;
    margin-top: 0px;
    background: url(../images/img-profile02.png) center 300px no-repeat;
    background-size: 36%;
}
#profile .profile-text {
    padding: 30px 10px;
}

#customer {
    padding-top: 50px;
    padding-bottom: 50px;
}
.customer-title {
    text-align: center;
}
.customer-info {
    text-align: center;
}
.customer-img-pc {
    display: none;
}
.customer-img-sp {
    display: initial;
}
.customer-img-sp img {
    width: 60%;
    margin: 0 auto;
    display: block;
}
#customer h2 {
    font-size: 1.8rem;
    margin-bottom: 30px;
}
#price .price-subtext-box {
    margin: 30px 15px 0;
    padding: 20px 5px;
}
#price .price-subtext03 img {
    width: 30px;
    display: block;
    margin: 10px auto 0px;
    transform: rotate(90deg);
}
#price .priceOff,
#price .priceOff50 {
    padding-left: 43px;
}
#recommend {
    padding-top: 50px;
    padding-bottom: 00px;
}
#bg-reservation {
    min-height: 150px;
    margin-bottom: 0px;
}
#recommend .recommend-text {
    font-size: 0.95rem;
}
#step {
    padding-top: 50px;
    padding-bottom: 0px;
}
#step .reservation-label img{
    margin: 0 auto;
    width: 45%;
    display: block;
    margin-bottom: 30px;
}
#qna {
    padding-top: 50px;
    padding-bottom: 10px;
}
#qna ul li {
    line-height: 1.5rem;
}
.ftco-footer {
    padding: 50px 0 30px;
}
footer .logo {
    width: 50%;
    margin: 0 auto;
}
footer .ftco-footer-social {
    text-align: center;
    display: block;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 20px;
    padding-top: 50px;
}
footer .ftco-footer-social li {
    float: none;
}
.icon-instagram {
    margin-left: 13px;
}
footer .footer-menu {
    display: block;
    float: none;
}
footer .copyright {
    display: block;
    float: none;
    text-align: center;
    padding-top: 10px;
}
footer .footer-menu.footer-menu-pc {
    display: none;
}
footer .footer-menu-sp {
    text-align: center;
    font-size: 0.8rem;
    color: #000;
}


/* PAGE message */
.pages #pageTitle {
    margin-top: 60px;
    height: 250px;
}
.pages #pageTitle h1 {
    display: none;
}
.pages.message #pageTitle .pageTitle-left {
    background: url(../images/bg-message-sp.png) center center no-repeat;
    background-size: 100%;
    height: 250px;
    width: 100%;
    float: left;
}
.pages.message #pageTitle .pageTitle-right {
    display: none;
}
.pages.message .messageTitle img {
    display: block;
    margin: 0 auto;
    width: 60%;
}

/* PAGE price */
.form-text02 ul li {
    font-size: 0.9rem;
    width: 100%;
}
.pages.price #pageTitle .pageTitle-left {
    background: url(../images/bg-price-sp.png) center center no-repeat;
    background-size: 100%;
    height: 250px;
    width: 100%;
    float: none;
}
.pages.price #pageTitle .pageTitle-right {
    display: none;
}
.pages.price #price .price-subtext-box {
    margin-left: 15px;
    margin-right: 15px;
}
.pages.price h2 {
    margin: 0 auto;
    padding-bottom: 50px;
    padding-top: 50px;
    font-size: 1.8rem;
}
.pages.price #price h3 {
    margin-bottom: 30px;
    font-size: 1.3rem;
}

.pages.price .price-add ul {
    margin-top: 30px;
    font-size: 1.3rem;
}
.pages.price .addprice {
    font-size: 1.3rem;
    font-weight: 500;
    padding-left: 0px;
}
.pages.price .place-img {
    background: url(../images/bg-placeimg.png) center center no-repeat;
    background-size: cover;
    margin-left: 0;
    margin-right: 0;
    height: 250px;
}

.pages.price .contactForm .form-text02 h3 {
    font-size: 1.3rem;
}
.form-text02 ul .flow01,
.form-text02 ul .flow02 {
    display: inline-table;
    width: 100%;
    background: #9BB9D9 url(../images/img-flowD.png) center 99% no-repeat;
    background-size: 48px;
    padding: 20px 5px;
}
.form-text02 ul .flow02 {
    padding-top: 30px;
}
.form-text02 ul .flow03 {
    width: 100%;
    padding: 20px 5px;
    background: #9BB9D9;
    background-size: 48px;
    color: #fff;
    height: auto;
}
}
@media (max-width: 576px) {
    #topVisual {
    background: url(../images/bg-topvisual.jpg) 73% 30px no-repeat;
    background-size: cover;
}
.topVisual-text {
    padding-left: 35px;
    padding-top: 30%;
}
.topVisual-text p {
   font-size: 0.83rem;
    padding-top: 28px;
    line-height: 1.35rem;
    color: #555;
}
    #profile {
    background: url(../images/img-profile02.png) center 300px no-repeat;
    background-size: 64%;
}
#bg-reservation {
    min-height: 79px;
    margin-bottom: 0px;
}
.pages.message .messageTitle img {
    display: block;
    margin: 0 auto;
    width: 70%;
}
.pages.message #pageTitle .pageTitle-left,
.pages.price #pageTitle .pageTitle-left {
    height: 200px;
}
.pages.message #pageTitle,
.pages.price #pageTitle {
    margin-top: 60px;
    height: 200px;
}
}

@media (max-width: 344px) {
    .topVisual-box ul li {
    width: 100%;
}
}