@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap');



/* Base Setting
==========================================================*/

html {
  font-size: 62.5%;
  height: 100%;
}

body {
  font-size: 1.4rem;
  line-height: 1.9;
  font-family: 'Lato', "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, sans-serif;
  font-weight: 400;
  margin: 0;
  padding: 0;
  color: #333;
  -webkit-text-size-adjust: 100%;
  letter-spacing: .15rem;
  height: 100%;
  background: #fff;
}

@media all and (min-width: 769px) and (-ms-high-contrast: none) {
  body {
    letter-spacing: 0.05em;
    line-height: 1.7;
  }
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.clearfix:before {
  content: "";
  display: block;
  clear: both;
}

.clearfix {
  display: block;
}

a {
  text-decoration: none;
  color: #333;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s;
  cursor: pointer;
}

a:hover {
  text-decoration: none;
}

a.underline {
  text-decoration: underline;
  color: #3e6ec3;
}

a.block {
  display: block;
}

img {
  -ms-interpolation-mode: bicubic;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

:focus {
  outline: 0;
}

::-moz-selection {
  background: #80a7ed;
  color: #333;
}

::selection {
  background: #80a7ed;
  color: #333;
}

/* fonts */
.fn-LatoB {
  font-family: 'Lato', sans-serif;
  font-weight: 700;
  font-style: normal;
}

.lesp-2 {
  letter-spacing: .2rem;
}

.lesp-3 {
  letter-spacing: .3rem;
}

.lesp-4 {
  letter-spacing: .4rem;
}

/* color */
.c_white {
  color: #fff;
}

.c_blue {
  color: #3e6ec3;
}

.c_red {
  color: #d4221c;
}

.c_gray {
  color: #505050;
}

.bg_white {
  background: #fff;
}

.bg_beige {
  background: #f0ede4;
}

.bg_blue {
  background: #3e6ec3;
}

.bg_sky {
  background: #eef3f8;
}

.bg_gray {
  background: #ececec;
}

/* 2行目字下げ */
.indent li {
  margin-left: 1.5rem;
  text-indent: -1.5rem;
}

/* object fit */
.obf {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;';
  height: auto;
  width: 100%;
}

.obi.obf.top {
  height: 100%;
}

/* slider */
.slide ul {
  display: none;
}

.slide ul.slick-initialized {
  display: block;
}

.disable {
  pointer-events: none;
  opacity: 0.3;
  -moz-opacity: 0.3;
  filter: alpha(opacity=30);
}


/* hack
========================================================== */

.sp-hide {
  display: block;
}

.sp-hide-inline {
  display: inline;
}

.sp-show {
  display: none;
}

.sp-show-inline {
  display: none;
}

.sp-show-350,
.sp-show-420,
.sp-show-520,
.sp-show-620 {
  display: none;
}

.sp-hide-350,
.sp-hide-420,
.sp-hide-520,
.sp-hide-620 {
  display: inline;
}


/* ------------------------------------ */


@media screen and (max-width: 768px) {

  .sp-hide-inline,
  .sp-hide {
    display: none !important;
  }

  .sp-show {
    display: block;
  }

  .sp-show-inline {
    display: inline;
  }

  .sp-br-none br,
  br.sp-br-none {
    display: none;
  }

  .sp-no-flex {
    display: block;
  }

  @media screen and (max-width: 620px) {
    .sp-show-620 {
      display: inline;
    }

    .sp-hide-620 {
      display: none;
    }
  }

  @media screen and (max-width: 520px) {
    .sp-show-520 {
      display: inline;
    }

    .sp-hide-520 {
      display: none;
    }
  }

  @media screen and (max-width: 420px) {
    .sp-show-420 {
      display: inline;
    }

    .sp-hide-420 {
      display: none;
    }
  }

  @media screen and (max-width: 350px) {
    .sp-show-350 {
      display: inline;
    }

    .sp-hide-350 {
      display: none;
    }
  }

  body {
    font-size: 1.3rem;
    line-height: 1.8;
    letter-spacing: .1rem;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  .lesp-2 {
    letter-spacing: .1rem;
  }

  .lesp-3 {
    letter-spacing: .15rem;
  }

  .lesp-4 {
    letter-spacing: .2rem;
  }


}



/* main-layout
==========================================================*/

#wrapper {
  width: 100%;
  overflow-x: hidden;
}

.wrap {
  width: 92%;
  margin: 0 auto;
}

.wrapframe {
  width: -webkit-calc(100% - 20px);
  width: -moz-calc(100% - 20px);
  width: calc(100% - 20px);
  margin: 0 auto;
}

.wrapframe-mt10 {
  margin-top: 10px;
}

.wrapframe-mt50 {
  margin-top: 50px;
}

.detail_wrap .wrapframe-mt85 {
  margin-top: 85px;
}

.wrapframe-bt85,
.Faq_Box.wrapframe-bt85 {
  margin-bottom: 85px;
}

.wrapframe-mt100 {
  margin-top: 100px;
}

.wrapInner {
  padding: 100px 0 130px;
}

/* 下層のみ */
.wrapInner.wrapInner02 {
  padding: 100px 0 50px;
}

/* schoolのみ */
/* .wrap1400 { width: 92%; margin: 0 auto; max-width: 1400px;}
.wrap1300 { width: 92%; margin: 0 auto; max-width: 1300px;}*/
.wrap100per {
  width: 100%;
  margin: 0 auto;
  max-width: 100%;
}

.wrap1260 {
  width: 92%;
  margin: 0 auto;
  max-width: 1260px;
}

.wrap1060 {
  width: 92%;
  margin: 0 auto;
  max-width: 1060px;
}

.wrap860 {
  width: 92%;
  margin: 0 auto;
  max-width: 860px;
}

.wrap500 {
  width: 92%;
  margin: 0 auto;
  max-width: 500px;
}

/* .wrap1200 { width: 92%; margin: 0 auto; max-width: 1200px;}
.wrap700 { width: 92%; margin: 0 auto; max-width: 700px;} */

.col {}

.col-l {
  float: left;
}

.col-r {
  float: right;
}

.order1 {
  order: 1;
}

@media screen and (max-width: 768px) {
  .wrapInner {
    padding: 15vw 0 17vw;
  }
}

@media screen and (max-width: 450px) {
  .wrapframe-mt10 {
    margin-top: 5px;
  }

  .wrapframe {
    width: -webkit-calc(100% - 10px);
    width: -moz-calc(100% - 10px);
    width: calc(100% - 10px);
  }
}





/* header
==========================================================*/

#headerContainer {
  position: fixed;
  width: 100%;
  z-index: 99991;
  margin: 0 auto;
  line-height: 100px;
  height: 100px;
}

#headerContainer .headerInner {
  width: 90%;
  margin: 0 auto;
}

#headerContainer .logo {
  transition: -webkit-transition: all .5s ease;
  transition: all .5s ease;
  margin-top: -2px;
}

#headerContainer .logo.active {
  opacity: 0 !important;
}

#headerContainer .logo img.logo-blue {
  display: none !important;
}

.TYPEB-PAGE #headerContainer .logo img.logo-blue {
  display: inline-block !important;
}

.TYPEB-PAGE #headerContainer .logo img.logo-white {
  display: none !important;
}

/* .indexPage #headerContainer .logo { opacity: 0;}
.indexPage #headerContainer .logo.fixed { opacity: 1;}
@media screen and (max-width: 768px) {
.indexPage #headerContainer .logo { opacity: 1;}
} */

/* 多言語ボタン */
.btn_lang_Container {
  font-size: 1.6rem;
  margin-right: 70px;
  position: relative;
  z-index: 99991;
}

.btn_lang_Container .btn_lang {
  padding: 0 10px 0 8px;
  cursor: pointer;
  -webkit-transition: all .3s;
  transition: all .3s;
  height: 80px;
}

.btn_lang_Container .btn_lang .btn_lang_triangle {
  display: inline-block;
  margin-right: 8px;
  position: relative;
  top: -3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 4px 0 4px;
  border-color: #fff transparent transparent transparent;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.btn_lang_Container .btn_lang.active {
  color: #fff !important;
}

.btn_lang_Container .btn_lang.active .btn_lang_triangle {
  border-color: #fff transparent transparent transparent !important;
}

.btn_lang_Container ul {
  display: none;
  background: #fff;
  padding: 8px 0;
}

.btn_lang_Container ul li {
  line-height: 1;
  height: 30px;
}

.btn_lang_Container ul li a {
  display: block;
  padding: 5px 10px;
  text-align: center;
}

.btn_lang_Container ul li.current a {
  pointer-events: none;
  opacity: 0.2;
  -moz-opacity: 0.2;
  filter: alpha(opacity=20);
}

@media screen and (min-width: 769px) {
  .btn_lang_Container .btn_lang:hover {
    -webkit-opacity: 0.6;
    opacity: 0.6;
  }
}


.navInner {
  display: block !important;
  z-index: 99991;
  width: 60px;
  height: 60px;
  right: 5%;
  top: 20px;
  position: fixed;
}

.menu-trigger {
  width: 32px;
  height: 30px;
  line-height: inherit;
  cursor: pointer;
  position: relative;
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
  top: 14px;
  left: 13px;
}

.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #fff;
}

.menu-trigger span:nth-of-type(1) {
  top: 0;
}

.menu-trigger span:nth-of-type(2) {
  top: 13px;
}

.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger:not(.active):hover span:nth-of-type(1) {
  top: 1px;
}

.menu-trigger:not(.active):hover span:nth-of-type(3) {
  bottom: 1px;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(13px) rotate(-45deg);
  transform: translateY(13px) rotate(-45deg);
  background-color: #fff;
}

.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
  background-color: #fff;
}

.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-13px) rotate(45deg);
  transform: translateY(-13px) rotate(45deg);
  background-color: #fff;
}

#menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background: #006ec6;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  z-index: 9999;
  max-width: 100%;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

#menu::-webkit-scrollbar {
  display: none;
}

.menu_inner {
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  min-height: 500px;
}

.menu_Container {
  max-width: 970px;
  width: 86%;
}

.menu_Container .menu_left {
  width: 41.7%;
  align-items: center;
  border-right: 1px solid #fff;
}

.menu_Container .menu_right {
  width: 380px;
  justify-content: center;
  align-items: center;
  padding: 85px 0 100px;
}

.menu_Container .menu_right ul li {
  margin-bottom: 32px;
}

.menu_Container .menu_right ul li a {
  color: #fff;
}

.menu_Container .menu_left_logo .sns_box {
  margin-top: 25px;
  width: 225px;
  text-align: right;
}

.menu_Container .menu_left_logo .sns_box a.sns.s02 {
  margin-left: 10px;
}

@media screen and (max-width: 960px) {
  .menu_Container .menu_left {
    width: 39%;
  }

  .menu_Container .menu_right {
    width: 320px;
  }
}

@media screen and (max-width: 768px) {
  #headerContainer {
    line-height: 60px;
    height: 60px;
  }

  #headerContainer .headerInner {
    width: 92%;
    margin: 0 auto;
  }

  #headerContainer .logo {
    width: 160px;
  }

  .menu_Container .menu_left_logo .sns_box {
    width: 100%;
    text-align: center;
  }

  .btn_lang_Container {
    margin-right: 50px;
  }

  .btn_lang_Container .btn_lang {
    height: 60px;
  }

  .btn_lang_Container ul li {
    height: 26px;
  }

  .navInner {
    top: 2px;
    right: 5px;
  }

  .menu_inner {
    min-height: 600px;
  }

  .menu_Container .menu_left {
    width: 100%;
    border-right: 0;
    display: block;
    text-align: center;
  }

  .menu_Container .menu_right {
    width: 86%;
    max-width: 400px;
    padding: 60px 0 10vw;
    margin: 0 auto;
  }

  .menu_Container .menu_right ul li {
    margin-bottom: 10px;
  }

  .menu_Container .menu_right ul li a {
    display: block;
    padding: 10px 0;
  }
}

@media screen and (max-width: 520px) {
  .menu_Container .menu_right {
    padding: 10vw 0 10vw;
  }
}

@media screen and (max-width: 400px) {
  .menu_inner {
    min-height: 520px;
  }

  .menu_Container .menu_left_logo {
    width: 70%;
    margin: 0 auto;
  }

  .menu_Container .menu_right {
    width: 92%;
  }

  .menu_Container .menu_right ul li {
    font-size: 1.4rem;
    margin-bottom: 4px;
  }

  .menu_Container .menu_right ul li a {
    padding: 8px 0;
  }
}

/* TYPEB-PAGE */
.TYPEB-PAGE .menu-trigger span {
  background-color: #333;
}

.TYPEB-PAGE .btn_lang_Container .btn_lang {
  color: #333;
}

.TYPEB-PAGE .btn_lang_Container .btn_lang .btn_lang_triangle {
  border-color: #333 transparent transparent transparent;
}

.TYPEB-PAGE .Container {
  margin-top: 100px;
}

@media screen and (max-width: 768px) {
  .TYPEB-PAGE .Container {
    margin-top: 60px;
  }
}




/* footer
==========================================================*/

#footerContainer {
  margin: 10px auto;
}

#footerContainer a {
  color: #fff;
}

#footerContainer a.sns img {
  width: 30px;
  height: auto;
  margin-top: 20px;
}

#footerContainer a.sns.s02 img {
  margin-left: 5px;
}

.footerInner {
  padding: 100px 0;
}

.footerInner .footer_left {
  width: 320px;
}

.footerInner .footer_left .footer_add {
  margin-top: 30px;
}

.footerInner .footer_left .footer_add p {
  margin-bottom: 8px;
}

.footerInner .footer_right {
  max-width: 900px;
  width: -webkit-calc(100% - 380px);
  width: -moz-calc(100% - 380px);
  width: calc(100% - 380px);
}

.footerInner .footer_right ul {
  display: inline-block;
  font-size: 0;
}

.footerInner .footer_right .footer_main_nav ul li {
  display: inline-block;
  font-size: 1.3rem;
  margin-right: 30px;
  margin-bottom: 16px;
}

.footerInner .footer_right .footer_sub_nav {
  margin-top: 22px;
  margin-bottom: 45px;
}

.footerInner .footer_right .footer_sub_nav ul li {
  display: inline-block;
  font-size: 1.1rem;
  margin-right: 40px;
  position: relative;
}

.footerInner .footer_right .footer_sub_nav ul li:not(:last-child)::after {
  content: "｜";
  color: rgba(179, 179, 179, 0.5);
  font-size: 2rem;
  position: absolute;
  right: -30px;
  top: -6px;
}

.footerInner .footer_right .pagetop {
  margin-top: -20px;
}

.footer_group {
  padding: 24px 0;
}

.footer_group:after {
  content: "";
  background: rgba(179, 179, 179, 0.5);
  width: -webkit-calc(100% - 20px);
  width: -moz-calc(100% - 20px);
  width: calc(100% - 20px);
  top: 0;
  left: 10px;
  height: 1px;
  position: absolute;
}

.footer_group .footer_group_ttl {
  width: 210px;
}

.footer_group ul {
  width: -webkit-calc(100% - 210px);
  width: -moz-calc(100% - 210px);
  width: calc(100% - 210px);
  border-left: 1px solid rgba(179, 179, 179, 0.5);
  align-items: center;
}

.footer_group ul li {
  width: 33.33%;
  border-right: 1px solid rgba(179, 179, 179, 0.5);
}

.footer_group ul li a {
  display: block;
  line-height: 1.4;
  padding: 0 20px;
}

@media screen and (max-width: 1000px) {
  .footerInner .footer_right {
    width: -webkit-calc(100% - 350px);
    width: -moz-calc(100% - 350px);
    width: calc(100% - 350px);
  }

  .footerInner .footer_right .footer_main_nav ul li {
    font-size: 1.2rem;
    margin-right: 20px;
    margin-bottom: 12px;
  }

  .footer_group .footer_group_ttl {
    width: 130px;
  }

  .footer_group ul {
    width: -webkit-calc(100% - 130px);
    width: -moz-calc(100% - 130px);
    width: calc(100% - 130px);
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 800px) {
  .footerInner {
    padding: 100px 0 60px;
  }

  .footerInner .footer_right .footer_sub_nav ul li {
    display: block;
    font-size: 1.1rem;
    margin-right: 0;
    margin-bottom: 10px;
  }

  .footerInner .footer_right .footer_sub_nav ul li:not(:last-child)::after {
    content: none;
  }

  .footerInner .footer_right .pagetop {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .footerInner {
    padding: 15vw 0 6vw;
  }

  .footerInner .footer_left {
    width: 100%;
    text-align: center;
    margin-bottom: 10vw;
  }

  .footerInner .footer_right {
    width: 100%;
    text-align: center;
    max-width: 500px;
    margin: 0 auto;
  }

  .footerInner .footer_right ul,
  .footerInner .footer_right ul li a {
    display: block;
    padding: 6px;
    box-sizing: border-box;
  }

  .footerInner .footer_right .footer_main_nav ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .footerInner .footer_right .footer_main_nav ul li {
    margin-right: 0;
    width: 50%;
    margin-bottom: 2px;
  }

  .footerInner .footer_right .footer_sub_nav {
    margin: 3vw 0 6vw;
  }

  .footerInner .footer_right .footer_sub_nav ul li {
    margin-bottom: 0;
  }

  .footerInner .footer_right .pagetop {
    text-align: center;
    margin-top: 30px;
  }

  .footer_group {
    padding: 30px 0;
  }

  .footer_group .footer_groupInner.wrap {
    width: 100%;
  }

  .footer_group .footer_group_ttl {
    width: 100%;
    text-align: center;
  }

  .footer_group ul {
    width: 100%;
    margin-top: 10px;
  }
}

@media screen and (max-width: 550px) {
  .footer_group ul {
    display: block;
    border-left: 0;
  }

  .footer_group ul li {
    width: 100%;
    border-right: 0;
  }

  .footer_group ul li a {
    line-height: 38px;
  }
}

@media screen and (max-width: 450px) {
  #footerContainer {
    margin: 5px auto;
  }

  .footerInner .footer_right .footer_main_nav ul li {
    letter-spacing: 0.05rem;
  }
}



/* INDEX
==========================================================*/

/* loader */
.loader {
  align-items: center;
  background: #FFFBF7;
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 99999;
}

.loader.indloader::after {
  content: '';
  height: 60px;
  width: 50%;
  max-width: 360px;
  background: url(../images/common/logo-b.svg?a) center center no-repeat;
  background-size: contain;
}


/* ファーストビュー */
#ind_firstview {
  width: 100%;
  height: 100vh;
}

@media screen and (max-width: 1180px) {
  #ind_firstview {
    height: 100%;
  }
}

/* メインビジュアル */
#ind_mainvisual {
  width: 100%;
  overflow: hidden;
}

#ind_mainvisual #main_slideshow li {
  height: -webkit-calc(100vh - 96px);
  height: -moz-calc(100vh - 96px);
  height: calc(100vh - 96px);
}

#ind_mainvisual #main_slideshow li p {
  bottom: 25px;
  right: 35px;
}

#ind_mainvisual .ind_mainvisual_txt {
  top: 0;
  bottom: 0;
  left: 5%;
  margin: auto;
  width: 80%;
  height: 106px;
  transform: translateY(50%);
}

@media screen and (max-height: 650px) {
  #ind_mainvisual .ind_mainvisual_txt {
    transform: translateY(0);
  }
}

#ind_mainvisual .ind_mainvisual_bnr {
  right: 5%;
  bottom: 70px;
}

#ind_mainvisual .ind_mainvisual_news {
  left: 5%;
  bottom: 50px;
  width: -webkit-calc(100% - 350px);
  width: -moz-calc(100% - 350px);
  width: calc(100% - 350px);
  max-width: 800px;
}

#ind_mainvisual .ind_mainvisual_news a {
  display: block;
  background: rgba(110, 110, 110, 0.4);
  padding: 17px 35px 17px 20px;
  box-sizing: border-box;
  position: relative;
}

#ind_mainvisual .ind_mainvisual_news a:after {
  content: "";
  background: url(../images/index/btn_indnews_arrow.png);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  width: 4px;
  height: 8px;
  background-size: cover;
  background-repeat: no-repeat;
  margin: auto;
}

#ind_mainvisual .ind_mainvisual_news dl {
  margin-top: 10px;
}

#ind_mainvisual .ind_mainvisual_news dl dt {
  margin-right: 1rem;
}

@media screen and (max-width: 768px) {
  #ind_mainvisual #main_slideshow li {
    min-height: 500px;
  }

  #ind_mainvisual #main_slideshow li p {
    bottom: 10px;
    right: 4%;
    font-size: 1.1rem;
  }

  #ind_mainvisual .ind_mainvisual_bnr {
    right: 5%;
    bottom: auto;
    top: 70px;
    width: 35%;
    max-width: 180px;
  }

  #ind_mainvisual .ind_mainvisual_news {
    left: 4%;
    bottom: 4vw;
    width: 92%;
  }

  @media screen and (max-height: 650px) {
    #ind_mainvisual .ind_mainvisual_txt {
      transform: translateY(50%);
    }
  }
}

@media screen and (max-width: 520px) {
  #ind_mainvisual .ind_mainvisual_news dl {
    display: block;
  }

  #ind_mainvisual .ind_mainvisual_news dl dt {
    margin-bottom: 5px;
  }

  #ind_mainvisual .ind_mainvisual_news a {
    padding: 15px 30px 15px 15px;
  }
}


/* 宿泊予約検索 */
#ind_search {
  height: 96px;
}

#ind_search .ind_searchInner {
  padding-top: 20px;
}

#ind_search .ind_search_ttl {
  padding-top: 7px;
  margin-right: 50px;
}

#ind_search .ind_search_form dl {
  margin-right: 20px;
}

#ind_search .ind_search_form dl dt {
  font-size: 1.1rem;
  line-height: 1;
  margin-bottom: 5px;
}

#ind_search .ind_search_form select::-ms-expand {
  display: none;
}

#ind_search .ind_search_form select {
  margin-right: 5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
  background-image: url(../images/common/pulldown_arrow.png);
  background-repeat: no-repeat;
  background-size: 8px 4px;
  background-position: right 10px center;
  font-family: 'Lato', "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, sans-serif;
  font-weight: 400;
  color: #333;
  font-size: 1.4rem;
  cursor: pointer;
  border: 1px solid #dedede;
  border-radius: 0;
  height: 40px;
  line-height: 40px;
  padding: 0 40px 0 20px;
  box-sizing: border-box;
  border: 1px solid #c1c1c1;
}

#ind_search .ind_search_form .btn_search a {
  display: block;
  background: #3e6ec3;
  line-height: 40px;
  height: 40px;
  padding: 0 35px 0 30px;
  margin-top: 16px;
}

#ind_search .ind_search_form .btn_search img {
  display: inline-block;
  margin-right: .8rem;
  position: relative;
  top: -2px;
}

@media screen and (max-width: 1400px) {
  #ind_search .ind_search_form select {
    padding: 0 30px 0 10px;
  }

  #ind_search .ind_search_form select#year,
  #ind_search .ind_search_form select#year2 {
    padding: 0 30px 0 15px;
  }
}

@media screen and (max-width: 1180px) {
  #ind_search {
    height: auto;
  }

  #ind_search .ind_searchInner {
    padding: 25px 0;
  }

  #ind_search .ind_search_form {
    width: 600px;
  }

  #ind_search .ind_search_form dl.nin {
    margin-right: 30px;
  }

  #ind_search .ind_search_form dl.day {
    margin-bottom: 20px;
    margin-right: 20px;
  }

  #ind_search .ind_search_form .btn_search a {
    padding: 0 60px 0 50px;
  }
}

@media screen and (max-width: 768px) {
  #ind_search .ind_search_ttl {
    padding-top: 7px;
    margin-right: 0;
    margin-bottom: 20px;
  }

  #ind_search .ind_search_form select {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 540px) {
  #ind_search .ind_search_form {
    width: 100%;
  }

  #ind_search .ind_search_form .ind_search_DLwrap {
    display: block;
  }

  #ind_search .ind_search_form dl {
    margin-right: 0 !important;
  }

  #ind_search .ind_search_form dl.day {
    margin-bottom: 15px;
  }

  #ind_search .ind_search_form .btn_search {
    text-align: center;
  }

  #ind_search .ind_search_form .btn_search a {
    margin-top: 20px;
    line-height: 46px;
    height: 46px;
    margin-bottom: 10px;
  }
}

/* Special */
#ind_Special {}

.ind_Special_Container ul li {
  width: 25%;
  max-width: 230px;
}
.ind_Special_Container ul li .mt30 {
  margin-top: 40px;
}
.ind_Special_Container ul li.ind_Big_img {
  margin-top: 40px;
  width: 100%;
  max-width: 1060px;
}

@media screen and (max-width: 768px) {
  .ind_Special_Container ul {
    max-width: 460px;
    margin: 0 auto;
  }

  .ind_Special_Container ul li,
  .ind_Special_Container ul li.ind_Big_img {
    width: 50%;
    text-align: center;
    max-width: 100%;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 500px) {
  .ind_Special_Container ul {
    max-width: 400px;
    margin: 0 auto;
    width: 90%;
  }

  .ind_Special_Container ul li,
  .ind_Special_Container ul li.ind_Big_img {
    width: 45%;
  }
}

/* PICK UP */
#ind_Pickup {}

.ind_Pickup_Container {
  margin-bottom: -35px;
}

.ind_Pickup_left {
  width: 46.1%;
  max-width: 580px;
}

.ind_Pickup_left ul.Pickup_temp li {
  width: 100%;
  max-width: 100%;
}

.ind_Pickup_left ul.Pickup_temp li .Pickup_temp_txt {
  padding: 22px 25px 25px;
}

.ind_Pickup_left ul.Pickup_temp li .Pickup_temp_txt .Pickup_temp_txt_date,
.ind_Pickup_left ul.Pickup_temp li .Pickup_temp_txt .Pickup_temp_txt_ttl {
  padding-bottom: 15px;
}

.ind_Pickup_left ul.Pickup_temp li .Pickup_temp_txt .pickup_temp_txt_cnt {
  padding-bottom: 50px;
}

.ind_Pickup_left ul.Pickup_temp li .pickup_temp_btn {
  right: 25px;
  bottom: 25px;
}

.ind_Pickup_right {
  width: 50.3%;
  max-width: 635px;
}

.ind_Pickup_right ul.Pickup_temp li {
  width: 47.5%;
  max-width: 300px;
  margin-bottom: 35px;
}

/* tag */
ul.Pickup_temp li.tag {
  position: relative;
}

ul.Pickup_temp li.tag::before {
  content: "";
  display: block;
  width: 70px;
  height: 70px;
  position: absolute;
  top: -20px;
  left: -20px;
  z-index: 1;
}

.ind_Pickup_left ul.Pickup_temp li.tag::before {
  width: 90px;
  height: 90px;
}

ul.Pickup_temp li.tag_event::before {
  background: url(../images/index/tag_event.png?1023) center no-repeat;
  background-size: cover;
}

ul.Pickup_temp li.tag_pickup::before {
  background: url(../images/index/tag_pickup.png?1023) center no-repeat;
  background-size: cover;
}

@media screen and (max-width: 960px) {
  .ind_Pickup_Container {
    display: block;
    max-width: 635px;
    margin: 0 auto -35px;
  }

  .ind_Pickup_left {
    width: 100%;
    max-width: 100%;
    margin-bottom: 40px;
  }

  .ind_Pickup_right {
    width: 100%;
    max-width: 100%;
  }
}

@media screen and (max-width: 600px) {
  .ind_Pickup_Container {
    margin-bottom: -1.8vw;
  }

  .ind_Pickup_left ul.Pickup_temp li .Pickup_temp_txt .Pickup_temp_txt_ttl {
    font-size: 1.8rem;
    margin-top: 0;
  }

  .ind_Pickup_right ul.Pickup_temp li {
    width: 49%;
    max-width: 100%;
    margin-bottom: 1.8vw;
  }

  .ind_Pickup_right ul.Pickup_temp li .Pickup_temp_txt .Pickup_temp_txt_ttl {
    font-size: 1.3rem;
  }

  ul.Pickup_temp li.tag::before {
    width: 60px;
    height: 60px;
    top: -15px;
    left: -15px;
  }

  .ind_Pickup_left ul.Pickup_temp li.tag::before {
    width: 75px;
    height: 75px;
  }
}

@media screen and (max-width: 420px) {
  .ind_Pickup_Container {
    margin-bottom: 0;
  }

  .ind_Pickup_left {
    margin-bottom: 15px;
  }

  .ind_Pickup_left ul.Pickup_temp li .Pickup_temp_txt {
    padding: 20px 15px 15px;
  }

  .ind_Pickup_left ul.Pickup_temp li .Pickup_temp_txt .Pickup_temp_txt_ttl {
    font-size: 1.5rem;
    margin-top: 0;
    padding-bottom: 10px;
  }

  .ind_Pickup_left ul.Pickup_temp li .Pickup_temp_txt .pickup_temp_txt_cnt {
    padding-bottom: 40px;
    font-size: 1.2rem;
  }

  .ind_Pickup_left ul.Pickup_temp li .pickup_temp_btn {
    bottom: 15px;
    right: 15px;
  }

  .ind_Pickup_right ul.Pickup_temp {
    display: block;
  }

  .ind_Pickup_right ul.Pickup_temp li {
    width: 100%;
    margin-bottom: 15px;
  }

  .ind_Pickup_right ul.Pickup_temp li .Pickup_temp_txt {
    padding: 20px 15px 15px;
    min-height: auto;
  }

  .ind_Pickup_right ul.Pickup_temp li .Pickup_temp_txt .Pickup_temp_txt_date {
    padding-bottom: 5px;
  }

  .ind_Pickup_right ul.Pickup_temp li .Pickup_temp_txt .Pickup_temp_txt_ttl {
    font-size: 1.5rem;
  }

  .ind_Pickup_right ul.Pickup_temp li .pickup_temp_btn {
    bottom: 15px;
    right: 15px;
    font-size: 1.3rem;
  }

  .ind_Pickup_left ul.Pickup_temp li.tag::before {
    width: 60px;
    height: 60px;
  }
}


.ind_section {
  margin-top: 10px;
}

.ind_sectionInner {
  padding: 90px 0 100px;
}

.bg_sky .ind_sectionInner {
  padding: 100px 0 110px;
}

.ind_h2ttl_black {
  margin-bottom: 70px;
}

.ind_h2ttl_black h2 {
  font-size: 3.5rem;
}

.ind_h2ttl_black p {
  margin-top: 15px;
}

.ind_h2ttl_white_Container {
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ind_h2ttl_white h2 {
  font-size: 4rem;
}

.ind_h2ttl_white p {
  margin-top: 15px;
}

.ind_section_link a {
  display: block;
  max-height: 500px;
}

.ind_btn_more a {
  margin: 60px auto 0;
  display: block;
  max-width: 280px;
  width: 100%;
  line-height: 70px;
  height: 70px;
}

.ind_btn_more a img {
  display: inline-block;
  margin-right: 1.5rem;
  position: relative;
  top: -2px;
}

@media screen and (max-width: 1100px) {
  .ind_section_link a {
    height: 40vw;
  }
}

@media screen and (max-width: 768px) {
  .ind_sectionInner {
    padding: 14vw 0 15vw;
  }

  .bg_sky .ind_sectionInner {
    padding: 15vw 0 16vw;
  }

  .ind_h2ttl_black {
    margin-bottom: 8vw;
  }

  .ind_h2ttl_black h2 {
    font-size: 2.5rem;
  }

  .ind_h2ttl_black p {
    margin-top: 12px;
  }

  .ind_h2ttl_white h2 {
    font-size: 2.8rem;
  }

  .ind_h2ttl_white p {
    margin-top: 12px;
  }

  .ind_section_link a {
    height: 50vw;
  }
}

@media screen and (max-width: 450px) {
  .ind_section {
    margin-top: 5px;
  }

  .ind_h2ttl_black {
    margin-bottom: 10vw;
  }

  .ind_h2ttl_black h2 {
    font-size: 2.2rem;
  }

  .ind_h2ttl_black p {
    margin-top: 8px;
    font-size: 1.2rem;
  }

  .ind_h2ttl_white h2 {
    font-size: 2.5rem;
  }

  .ind_h2ttl_white p {
    margin-top: 10px;
    font-size: 1.3rem;
  }

  .ind_btn_more a {
    margin: 40px auto 0;
    display: block;
    max-width: 400px;
    line-height: 60px;
    height: 60px;
  }
}


/* 動画 */
/* #ind_Movie .ind_MovieInner { width: 100%; height: 50vw; background-size: cover; overflow: hidden; }
.videowrap { width: 100%; height: 100%; overflow: hidden; position: relative; }
.videowrap video { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: 0; transform-origin: center center; width: auto; height: auto; min-width: 100%; min-height: 100%; vertical-align: bottom; background: url('../movie/ind_movie_thumb.jpg') no-repeat; background-size: cover; z-index: 0; top: 50%; left: 50%; transform: translate(-50%,-50%);} */
#ind_Movie video {
  width: 100%;
  vertical-align: bottom;
}


/* USJ */
#USJ {}

.USJ_Container .USJ_img {
  width: 61.5%;
}

.USJ_Container .USJ_txt {
  width: 38.6%;
  background: #f5de5a;
  justify-content: center;
  align-items: center;
  padding: 75px 15px 70px;
  box-sizing: border-box;
}

.USJ_Container .USJ_txt .USJ_txtInner {
  max-width: 470px;
}

.USJ_Container .USJ_txt .USJ_txt_h3ttl {
  margin: 50px 0 20px;
}

.USJ_Container .USJ_txt .USJ_txtInner .USJ_copy {
  margin-top: 50px;
}

@media screen and (max-width: 1160px) {
  .USJ_Container .USJ_img {
    width: 58%;
  }

  .USJ_Container .USJ_txt {
    width: 42%;
    padding: 7vw 20px 8vw;
    box-sizing: border-box;
  }

  .USJ_Container .USJ_txt .USJ_txtInner {
    max-width: 390px;
  }

  .USJ_Container .USJ_txt .USJ_txt_h3ttl {
    margin: 4vw 0 2vw;
  }

  .USJ_Container .USJ_txt .USJ_txt_h3ttl h3 {
    letter-spacing: 0.1rem;
  }
}

@media screen and (max-width: 960px) {
  .USJ_Container {
    display: block;
  }

  .USJ_Container .USJ_img {
    width: 100%;
  }

  .USJ_Container .USJ_txt {
    width: 100%;
    padding: 6vw 20px 7vw;
    box-sizing: border-box;
  }

  .USJ_Container .USJ_txt .USJ_txtInner {
    max-width: 100%;
  }

  .USJ_Container .USJ_txt .USJ_txt_h3ttl {
    font-size: 1.4rem;
    margin: 30px 0 20px;
  }

  .USJ_Container .USJ_txt br.sp-show-inline {
    display: inline-block;
  }

  .USJ_Container .USJ_txt .USJ_txtInner .USJ_copy {
    margin-top: 30px;
  }
}

@media screen and (max-width: 500px) {
  .USJ_Container .USJ_txt .USJ_txtInner {
    max-width: 100%;
  }

  .USJ_Container .USJ_txt .USJ_txt_h3ttl h3 {
    line-height: 1.5 !important;
  }

  .USJ_Container .USJ_txt .USJ_copy br {
    display: none;
  }
}

@media screen and (max-width: 420px) {
  .USJ_Container .USJ_txt {
    padding: 7vw 15px 9vw;
  }

  .USJ_Container .USJ_txt .USJ_txt_h3ttl {
    font-size: 1.6rem;
    letter-spacing: normal;
  }

  .USJ_Container .USJ_txt .USJ_txtInner .USJ_copy {
    margin-top: 20px;
  }
}



/* SIGHTSEEING */
#ind_Sightseeing {}

#ind_Sightseeing_slideshow ul li .ind_Sightseeing_txt {
  margin-top: 22px;
  font-size: 1.7rem;
}

#ind_Sightseeing_slideshow ul li .ind_Sightseeing_txt .ind_Sightseeing_txt_min {
  margin-top: 10px;
}

#ind_Sightseeing_slideshow ul li .ind_Sightseeing_txt .ind_Sightseeing_txt_min img {
  display: inline-block;
  margin-right: 1rem;
  position: relative;
  top: -2px;
}

@media screen and (max-width: 1160px) {
  #ind_Sightseeing_slideshow ul li .ind_Sightseeing_txt {
    font-size: 1.5vw;
  }
}

@media screen and (max-width: 768px) {
  #ind_Sightseeing_slideshow ul li .ind_Sightseeing_txt {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 400px) {
  #ind_Sightseeing_slideshow ul li .ind_Sightseeing_txt {
    font-size: 1.3rem;
  }
}

/* FACILITIES・ACCESS */
.ind_kasoulink_Container {}

.ind_kasoulink {
  width: -webkit-calc(50% - 5px);
  width: -moz-calc(50% - 5px);
  width: calc(50% - 5px);
}

.ind_kasoulink .ind_kasoulink_img {
  width: 57%;
}

.ind_kasoulink .ind_kasoulink_txt {
  width: 43%;
  justify-content: center;
  align-items: center;
  padding: 100px 5%;
  box-sizing: border-box;
}

.ind_kasoulink .ind_kasoulink_txt .ind_h2ttl_black {
  margin-bottom: 0;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.ind_kasoulink .ind_kasoulink_txt .ind_h2ttl_black h2 {
  font-size: 2.4rem;
}

.ind_kasoulink .ind_kasoulink_txt .ind_h2ttl_black p {
  margin-top: 10px;
  font-size: 1.3rem;
}

@media screen and (min-width: 769px) {
  .ind_kasoulink a:hover .ind_kasoulink_txt .ind_h2ttl_black {
    -webkit-opacity: 0.6;
    opacity: 0.6;
  }
}

@media screen and (max-width: 768px) {
  .ind_kasoulink {
    width: 100%;
  }

  .ind_kasoulink:first-child {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 520px) {
  .ind_kasoulink a .flex {
    display: block;
  }

  .ind_kasoulink .ind_kasoulink_txt {
    width: 100%;
    padding: 10vw 5%;
  }

  .ind_kasoulink .ind_kasoulink_img {
    width: 100%;
    height: 50vw;
  }
}

@media screen and (max-width: 450px) {
  .ind_kasoulink .ind_kasoulink_txt .ind_h2ttl_black h2 {
    font-size: 2.2rem;
  }

  .ind_kasoulink .ind_kasoulink_txt .ind_h2ttl_black p {
    margin-top: 8px;
    font-size: 1.2rem;
  }
}


/* AWARD */
#ind_Award {}

.ind_Award_Container ul li {
  width: 25%;
  max-width: 150px;
}

@media screen and (max-width: 768px) {
  .ind_Award_Container ul {
    max-width: 460px;
    margin: 0 auto;
  }

  .ind_Award_Container ul li {
    width: 50%;
    text-align: center;
    max-width: 100%;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 500px) {
  .ind_Award_Container ul {
    max-width: 400px;
    margin: 0 auto;
    width: 90%;
  }

  .ind_Award_Container ul li {
    width: 45%;
  }
}

/* WEATHER */
#ind_Weather {}

.ind_Weather_Container ul {
  border-left: 1px solid rgba(179, 179, 179, 0.5);
}

.ind_Weather_Container ul li {
  width: 20%;
  border-right: 1px solid rgba(179, 179, 179, 0.5);
  padding: 20px;
  box-sizing: border-box;
  font-size: 1.3rem;
}

.ind_Weather_Container ul li .ind_Weather_date {
  margin-left: 2rem;
}

.ind_Weather_Container ul li .ind_Weather_icon {
  margin: 25px 0 30px;
}

.ind_Weather_Container ul li .ind_Weather_lowest {
  margin-top: 15px;
}

@media screen and (max-width: 960px) {
  .ind_Weather_Container ul li .ind_Weather_date {
    margin-left: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .ind_Weather_Container ul li .ind_Weather_date {
    margin-left: 0;
  }
}

@media screen and (max-width: 550px) {
  .ind_Weather_Container ul {
    border-left: none;
    display: block;
    border-top: 1px solid rgba(179, 179, 179, 0.5);
  }

  .ind_Weather_Container ul li {
    border-right: none;
    width: 100%;
    padding: 0;
    border-bottom: 1px solid rgba(179, 179, 179, 0.5);
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    padding: 10px 0;
  }

  .ind_Weather_Container ul li .ind_Weather_date {
    line-height: 40px !important;
    width: 120px;
  }

  .ind_Weather_Container ul li .ind_Weather_icon {
    margin: 0;
    width: 40px;
    margin-right: 30px;
  }

  .ind_Weather_Container ul li .ind_Weather_highest {
    line-height: 40px !important;
    text-align: left;
    width: 50px;
  }

  .ind_Weather_Container ul li .ind_Weather_lowest {
    margin: 0;
    line-height: 40px !important;
    text-align: left;
    width: 50px;
  }
}

table.mamewaza_weather {
  font-size: 1.3rem !important;
}

div.mamewaza_weather > div {
  background: none !important;
}

div.mamewaza_weather td {
  border-bottom: none !important;
}

div.mamewaza_weather th {
  border-bottom: none !important;
}

div.mamewaza_weather th {
  display: none;
}

div.mamewaza_weather td:nth-child(1) {
  border-left: 1px solid rgba(179, 179, 179, 0.5);
}

div.mamewaza_weather td {
  border-right: 1px solid rgba(179, 179, 179, 0.5) !important;
}

div.mamewaza_weather td:nth-child(n+6) {
  display: none;
}

div.mamewaza_weather span.mamewaza_weather_icon {
  display: inline-block;
  padding: 15px 0 20px;
}

div.mamewaza_weather div.mamewaza_weather_exp,
div.mamewaza_weather div.mamewaza_weather_exp a {
  font-size: 0.8rem !important;
  opacity: 0.5;
  letter-spacing: normal;
  text-align: center;
  margin-top: 20px;
}

@media screen and (max-width: 550px) {
  table.mamewaza_weather {
    font-size: 1.2rem !important;
  }

  div.mamewaza_weather tr td:nth-child(n+5) {
    display: none;
  }
}

@media screen and (max-width: 450px) {
  div.mamewaza_weather tr td:nth-child(n+4) {
    display: none;
  }
}

/* ポップアップ サンセットチャペル
==========================================================*/
#popup_Chapel {
  padding-top: 120px;
}

.popup_Chapel_ttlBox {
  margin-bottom: 115px;
}

.popup_Chapel_ttlBox .popup_Chapel_ttl {
  margin-bottom: 30px;
}

.popup_Chapel_cnt {}

.popup_Chapel_cnt .popup_Chapel_cnt_img,
.popup_Chapel_cnt .popup_Chapel_cnt_txt {
  width: 47.2%;
  max-width: 500px;
}

.popup_Chapel_cnt .popup_Chapel_cnt_txt p:last-child {
  margin-top: 30px;
}

.popup_Chapel_cnt .popup_Chapel_cnt_txt .popup_Chapel_cnt_txt_ttl {
  margin-bottom: 20px;
}

.popup_Chapel_slide_Container {
  margin-top: 110px;
}

.popup_Chapel_slide_ttl {
  margin-bottom: 35px;
}

.popup_Chapel_slide_ttl img {
  display: inline-block;
  margin-right: 1.5rem;
  position: relative;
  top: -1px;
}

#popup_Chapel_slideshow {
  max-height: 500px;
  margin-top: 40px;
}

#popup_Chapel_slideshow ul {
  width: 100%;
  padding-bottom: 160px;
}

#popup_Chapel_slideshow ul .slick-slide {
  margin: 0 5px 0;
}

#popup_Chapel_slideshow .slick-slide img {
  width: 90vw;
  max-width: 810px;
  height: auto;
}


@media screen and (max-width: 768px) {
  #popup_Chapel {
    padding-top: 80px;
  }

  .popup_Chapel_ttlBox {
    margin-bottom: 40px;
  }

  .popup_Chapel_ttlBox .popup_Chapel_ttl {
    margin-bottom: 20px;
  }

  .popup_Chapel_cnt .popup_Chapel_cnt_img {
    width: 100%;
    max-width: 100%;
    margin-bottom: 35px;
  }

  .popup_Chapel_cnt .popup_Chapel_cnt_txt {
    width: 100%;
    max-width: 100%;
  }

  .popup_Chapel_cnt .popup_Chapel_cnt_txt p:last-child {
    margin-top: 20px;
  }

  .popup_Chapel_cnt .popup_Chapel_cnt_txt .popup_Chapel_cnt_txt_ttl {
    margin-bottom: 15px;
  }

  .popup_Chapel_slide_Container {
    margin-top: 15vw;
  }

  .popup_Chapel_slide_ttl {
    margin-bottom: 25px;
  }

  .popup_Chapel_slide_ttl img {
    display: inline-block;
    margin-right: 1.5rem;
    position: relative;
    top: -1px;
  }

  .popup_Chapel_slide_Container p.fns115 {
    font-size: 1.4rem;
  }

  #popup_Chapel_slideshow {
    margin-top: 30px;
  }

  #popup_Chapel_slideshow ul {
    padding-bottom: 18vw;
  }

  #popup_Chapel_slideshow ul .slick-slide {
    margin: 0 2px 0;
  }
}

@media screen and (max-width: 500px) {
  .popup_Chapel_slide_ttl {
    font-size: 1.5em;
  }

  .popup_Chapel_slide_ttl img {
    margin-right: 1rem;
  }

  #popup_Chapel .fns15 {
    font-size: 1.3em;
  }
}


/* 共通
==========================================================*/

.ind_sec {}

.kasou_sec {
  margin-bottom: 100px;
}


.btn_more a {
  display: block;
  line-height: 60px;
  height: 60px;
  max-width: 240px;
  width: 100%;
  margin: 50px auto 0;
  padding-left: 20px;
  box-sizing: border-box;
}

.btn_more a img {
  vertical-align: text-top;
  display: inline-block;
  margin-left: 1rem;
}

.exlink_more a {
  display: block;
  line-height: 90px;
  height: 90px;
  max-width: 420px;
  width: 90%;
  margin: 0 auto;
  padding: 0 40px;
  box-sizing: border-box;
  position: relative;
}

.exlink_more a:after {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url(../images/common/exlink-w.png) center no-repeat;
  background-size: contain;
  position: absolute;
  right: 35px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.exlink_more:not(:last-child) {
  margin-bottom: 50px;
}

.hover_scale img {
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
}

@media screen and (min-width: 769px) {

  .hover_scale a:hover img,
  a:hover .hover_scale img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    opacity: .9;
  }
}

.hover_expansion {
  overflow: hidden;
  background: #2c62c2;
}

.hover_expansion img {
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

@media screen and (min-width: 769px) {

  .hover_expansion a:hover img,
  a:hover .hover_expansion img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    opacity: .6;
  }
}

@media screen and (max-width: 768px) {
  .exlink_more:not(:last-child) {
    margin-bottom: 8vw;
  }

  .btn_more a {
    margin-top: 8vw;
  }
}

@media screen and (max-width: 500px) {
  .exlink_more a {
    font-size: 1.6rem;
    line-height: 68px;
    height: 68px;
    max-width: 420px;
    padding: 0 25px;
  }

  .exlink_more a:after {
    width: 15px;
    height: 15px;
    right: 25px;
  }

  .exlink_more:not(:last-child) {
    margin-bottom: 6vw;
  }

}



/* 下層共通
==========================================================*/

.TYPEA_mainvisual {}

.TYPEA_mainvisual .TYPEA_mainvisualInner {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  align-items: center;
}

.TYPEA_h1ttl {
  margin-top: 30px;
}

.TYPEA_h1ttl h1 {
  font-size: 8rem;
  display: inline-block;
  margin-right: 1.5rem;
  position: relative;
  top: 5px;
}

.TYPEA_h2ttl {
  margin-bottom: 50px;
  font-size: 3rem;
}

.TYPEA_h2ttl p {
  margin-top: 15px;
  font-size: 1.4rem;
}

.TYPEB_h1ttl {
  margin-bottom: 70px;
  font-size: 5rem;
}

.TYPEB_h1ttl p {
  margin-top: 15px;
  font-size: 1.4rem;
}

.TYPEB_lead {
  margin-bottom: 55px;
}

.TYPEE_h2ttl {
  margin-bottom: 10px;
  font-size: 2rem;
  margin-top: 30px;
}

.TYPEE_h2ttl p {
  margin-top: 15px;
  font-size: 1.4rem;
}

.kasou_lead {}

.kasou_lead .kasou_lead_ttl {
  margin-bottom: 30px;
}

dl.DL-borderTYPE {
  border-top: 1px solid #969696;
}

dl.DL-borderTYPE dt,
dl.DL-borderTYPE dd {
  border-bottom: 1px solid #969696;
  padding: 20px 0;
}

dl.DL-room_temp dt {
  width: 150px;
}

dl.DL-room_temp dd {
  width: -webkit-calc(100% - 150px);
  width: -moz-calc(100% - 150px);
  width: calc(100% - 150px);
}

dl.DL-school_temp {
  border-top: 1px solid #969696;
}

dl.DL-school_temp dt,
dl.DL-school_temp dd {
  border-bottom: 1px solid #969696;
  padding: 10px 0;
}

dl.DL-school_temp dt {
  width: 300px;
}

dl.DL-school_temp dd {
  width: -webkit-calc(100% - 300px);
  width: -moz-calc(100% - 300px);
  width: calc(100% - 300px);
}

@media screen and (max-width: 1100px) {
  .TYPEA_mainvisual {
    height: 400px;
  }

  .TYPEA_h1ttl {
    margin-top: 25px;
  }

  .TYPEA_h1ttl h1 {
    font-size: 7rem;
  }
}

@media screen and (max-width: 900px) {
  dl.DL-room_temp dt {
    width: 120px;
  }

  dl.DL-room_temp dd {
    width: -webkit-calc(100% - 120px);
    width: -moz-calc(100% - 120px);
    width: calc(100% - 120px);
  }
}

@media screen and (max-width: 768px) {
  .TYPEA_mainvisual {
    height: 60vw;
  }

  .TYPEA_h1ttl {
    margin-top: 15px;
  }

  .TYPEA_h1ttl h1 {
    font-size: 10vw;
    display: block;
    margin-right: 0;
    margin-bottom: 10px;
  }

  .TYPEA_h1ttl span {
    font-size: 3.2vw;
  }

  .TYPEA_h2ttl {
    margin-bottom: 8vw;
    font-size: 2.2rem;
  }

  .TYPEA_h2ttl p {
    margin-top: 12px;
    font-size: 1.3rem;
  }

  .TYPEB_h1ttl {
    margin-bottom: 12vw;
    font-size: 3.2rem;
  }

  .TYPEB_h1ttl p {
    margin-top: 10px;
    font-size: 1.3rem;
  }

  .TYPEB_lead {
    margin-bottom: 8vw;
  }

  .kasou_lead {}

  .kasou_lead .kasou_lead_ttl {
    margin-bottom: 5vw;
  }
}

@media screen and (max-width: 450px) {
  .TYPEA_mainvisual {
    height: 70vw;
  }

  .TYPEA_h2ttl {
    font-size: 2rem;
  }

  .TYPEA_h2ttl p {
    margin-top: 8px;
    font-size: 1.2rem;
  }

  .kasou_lead {}

  .kasou_lead .kasou_lead_ttl {
    font-size: 1.25em;
  }

  dl.DL-room_temp {
    font-size: 1.2rem;
  }

  dl.DL-room_temp dt {
    width: 95px;
  }

  dl.DL-room_temp dd {
    width: -webkit-calc(100% - 95px);
    width: -moz-calc(100% - 95px);
    width: calc(100% - 95px);
  }
}


/* FeaturePage
==========================================================*/
#Feature {
  margin-bottom: -100px;
}

#Feature #USJ {
  margin-bottom: 110px;
}

.Feature_sec {
  margin-bottom: -40px;
}

.Feature_sec .Feature_img {
  width: 91.2%;
}

.Feature_sec .Feature_txt {
  position: relative;
  z-index: 1;
  top: -140px;
  width: 65%;
  max-width: 600px;
  margin-left: auto;
  padding: 45px 60px;
  box-sizing: border-box;
}

.Feature_sec .Feature_txt .Feature_txt_num {}

.Feature_sec .Feature_txt .Feature_txt_h3ttl {
  margin: 25px 0 15px;
}

.Feature_sec .Feature_txt .Feature_txt_memo {
  top: -80px;
  right: 0;
}

.Feature_sec .Feature_txt .Feature_txt_h3ttl #Feature_sec03_p {
  letter-spacing: 0.2rem;
  margin-left: -8px;
  font-size: 1.5rem;
}

/* 偶数 */
.Feature_sec.Feature_sec_even .Feature_img {
  margin-left: auto;
}

.Feature_sec.Feature_sec_even .Feature_txt {
  margin-left: 0;
}

@media screen and (max-width: 1000px) {
  .Feature_sec .Feature_img {
    width: 91.2%;
    height: 55vw;
  }

  .Feature_sec .Feature_txt {
    width: 58%;
    padding: 45px 35px;
  }

  .Feature_sec .Feature_txt .Feature_txt_h3ttl {
    letter-spacing: .3rem;
  }
}

@media screen and (max-width: 768px) {
  #Feature {
    margin-bottom: -15vw;
  }

  #Feature #USJ {
    margin-bottom: 15vw;
  }

  .Feature_sec {
    margin-bottom: -5vw;
  }

  .Feature_sec .Feature_img {
    width: 95%;
  }

  .Feature_sec .Feature_txt {
    width: 85%;
    padding: 35px 30px;
    top: -40px;
    margin-bottom: 10vw;
  }

  .Feature_sec .Feature_txt .Feature_txt_memo {
    width: 130px;
    top: -65px;
  }

  .Feature_sec .Feature_txt .Feature_txt_num {
    font-size: 1.25em;
  }

  .Feature_sec .Feature_txt .Feature_txt_h3ttl {
    font-size: 1.35em;
    margin: 15px 0 10px;
  }

  .Feature_sec .Feature_txt .Feature_txt_h3ttl #Feature_sec03_p {
    letter-spacing: 0.1rem;
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 450px) {
  .Feature_sec {
    margin-bottom: 12vw;
  }

  .Feature_sec .Feature_img {
    height: 60vw;
    width: 100%;
  }

  .Feature_sec .Feature_txt {
    width: 100%;
    padding: 25px 20px;
    top: 0;
  }

  .Feature_sec .Feature_txt .Feature_txt_memo {
    width: 100px;
    top: -60px;
    right: -10px;
  }

  .Feature_sec .Feature_txt .Feature_txt_h3ttl {
    letter-spacing: .1rem;
    ;
  }

  .Feature_sec .Feature_txt p {
    letter-spacing: normal;
  }
}


/* StayPage
==========================================================*/
#Stay {}

#Stay ul li {
  width: -webkit-calc(50% - 5px);
  width: -moz-calc(50% - 5px);
  width: calc(50% - 5px);
  margin-bottom: 10px;
}

#Stay ul li:nth-last-child(-n+2) {
  margin-bottom: 0;
}

#Stay ul li a,
#Stay ul li .Stay_img {
  height: 100%;
}

#Stay ul li .Stay_txt {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}

#Stay ul li .Stay_txt .Stay_txt_h2ttl {
  margin-bottom: 25px;
}

#Stay ul li .Stay_txt .Stay_txt_h2ttl p {
  margin-top: 10px;
}

#Stay ul li .Stay_txt .Stay_txt_lead {
  margin-bottom: 10px;
}

@media screen and (max-width: 1000px) {
  #Stay ul li {
    height: 40vw;
  }

  #Stay ul li:nth-last-child(-n+2) {
    margin-bottom: 10px;
  }

  #Stay ul li .Stay_txt .Stay_txt_h2ttl h2 {
    font-size: 3vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_h2ttl p {
    margin-top: 1vw;
    font-size: 1.4vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_lead {
    margin-bottom: 1vw;
    font-size: 2vw;
    letter-spacing: .1em;
  }

  #Stay ul li .Stay_txt .Stay_txt_detail {
    font-size: 1.4vw;
  }
}

@media screen and (max-width: 768px) {
  #Stay ul li {
    width: 100%;
    max-width: 100%;
    height: 45vw;
  }

  #Stay ul li:nth-last-child(-n+2) {
    margin-bottom: 10px;
  }

  #Stay ul li:last-child {
    margin-bottom: 0;
  }

  #Stay ul li .Stay_txt .Stay_txt_h2ttl {
    margin-bottom: 2.4vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_h2ttl h2 {
    font-size: 4vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_h2ttl p {
    margin-top: 1.5vw;
    font-size: 2vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_lead {
    margin-bottom: 1.5vw;
    font-size: 3vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_detail {
    font-size: 2vw;
  }
}

@media screen and (max-width: 550px) {
  #Stay ul li {
    height: 55vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_h2ttl {
    margin-bottom: 2.4vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_h2ttl h2 {
    font-size: 5.2vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_h2ttl p {
    margin-top: 1.5vw;
    font-size: 2.8vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_lead {
    margin-bottom: 2vw;
    font-size: 4.1vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_detail {
    font-size: 2.8vw;
  }
}

@media screen and (max-width: 450px) {

  #Stay ul li,
  #Stay ul li:nth-last-child(-n+2) {
    margin-bottom: 5px;
  }
}

@media screen and (max-width: 380px) {
  #Stay ul li .Stay_txt .Stay_txt_h2ttl {
    margin-bottom: 3vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_h2ttl p {
    margin-top: 1.7vw;
    font-size: 3vw;
  }

  #Stay ul li .Stay_txt .Stay_txt_detail {
    font-size: 3vw;
  }
}

#Cancel {}

.Cancel_Container {}

.Cancel_Container .mb_15 {
  margin-bottom: 15px;
}

.Cancel_table {
  /*margin-top: 50px;*/
  width: 100%;
  min-width: 470px;
  margin-bottom: 60px;
}

.Cancel_table.Price_table {
  margin-bottom: 0px;
}

.Cancel_table th,
.Cancel_table td {
  padding: 15px 5px;
  box-sizing: border-box;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
  width: 11.11%;
}

.Cancel_table thead td {
  border-left: 1px solid #fff;
  box-sizing: border-box;
}

.Cancel_table tbody th {
  background: #bacff4;
  /*color: #fff;*/
  border-bottom: 1px solid #fff;
  min-width: 92px;
}

.Cancel_table tbody td {
  background: #fff;
  padding: 20px 5px;
  box-sizing: border-box;
  border-bottom: 1px solid #969696;
  border-right: 1px solid #969696;
}

.Cancel_table tbody tr:last-child th,
.Cancel_table tbody tr:last-child td {
  border-bottom: none;
}

.Cancel_table tbody tr td:last-child {
  border-right: none;
}

.Cancel_bikou {
  padding: 30px 45px 25px;
  box-sizing: border-box;
  margin-top: 30px;
}

.Cancel_bikou ul li {
  position: relative;
  margin-bottom: 5px;
  margin-left: 2rem;
}

.Cancel_bikou ul li:before {
  position: absolute;
  left: -2rem;
  top: 0;
  content: "※";
}

@media screen and (max-width: 768px) {
  .Cancel_table {
    font-size: 1.1rem;
  }

  .Cancel_table td.fn095 {
    letter-spacing: -0.05em;
  }

  .Cancel_table th,
  .Cancel_table td {
    padding: 15px 2px;
  }

  .Cancel_table tbody th {
    min-width: 80px;
  }

  .Cancel_bikou {
    padding: 25px 6% 20px;
  }

  .Cancel_bikou ul {
    font-size: .9em;
  }
}

@media screen and (max-width: 550px) {
  .Cancel_table {
    margin-top: 8vw;
  }

  .table-wrapper-scroll {
    width: 100%;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

#Plan {}

.Plan_Container {}

.Plan_Container ul li {
  width: 30.5%;
  max-width: 320px;
}

.Plan_Container ul li .Plan_txt {
  margin-top: 30px;
}

.Plan_Container ul li .Plan_txt .Plan_h3ttl {
  margin-bottom: 15px;
}

.Plan_Container ul li .icon_recommend {
  left: -40px;
  top: -40px;
}

@media screen and (max-width: 900px) {
  .Plan_Container ul li {
    width: 48%;
    max-width: 100%;
    margin-bottom: 50px;
  }

  .Plan_Container ul li:last-child {
    margin-bottom: 0;
  }

  .Plan_Container ul li .Plan_txt {
    margin-top: 25px;
  }

  .Plan_Container ul li .icon_recommend {
    left: -25px;
    top: -25px;
    width: 90px;
  }
}

@media screen and (max-width: 600px) {
  .Plan_Container ul {
    display: block;
  }

  .Plan_Container ul li {
    width: 100%;
    margin-bottom: 10vw;
  }

  .Plan_Container ul li .Plan_txt .Plan_h3ttl {
    font-size: 1.25em;
    margin-bottom: 10px;
  }

  .Plan_Container ul li .icon_recommend {
    left: -10px;
    top: -30px;
    width: 80px;
  }
}


/* StayPage > ROOM-PAGE 客室詳細ページ
==========================================================*/
.ROOM-PAGE {}

.ROOM-PAGE h1 {
  display: block;
  margin-right: 0;
  margin-bottom: 10px;
}

#Room_slideshow {
  max-height: 500px;
  margin-top: 85px;
}

#Room_slideshow ul {
  width: 100%;
}

#Room_slideshow ul .slick-slide {
  margin: 0 5px 0;
}

#Room_slideshow .slick-slide img {
  width: 90vw;
  max-width: 800px;
  height: auto;
}

@media screen and (max-width: 768px) {
  #Room_slideshow {
    margin-top: 50px;
  }

  #Room_slideshow ul .slick-slide {
    margin: 0 2px 0;
  }
}

#Spec_room {}

.Spec_room_Container {}

.Spec_room_img {
  max-width: 500px;
  width: 47.2%;
}

.Spec_room_txt {
  max-width: 510px;
  width: 48.2%;
}

.Spec_room_plan_btn a {
  display: block;
  margin-top: 60px;
  width: 100%;
  line-height: 80px;
  height: 80px;
  border-radius: 100px;
}

.Spec_room_plan_btn a img {
  display: inline-block;
  margin-right: 1.6rem;
  position: relative;
  top: -3px;
}

@media screen and (max-width: 768px) {
  .Spec_room_img {
    max-width: 100%;
    width: 100%;
    margin-bottom: 8vw;
  }

  .Spec_room_txt {
    max-width: 100%;
    width: 100%;
  }

  .Spec_room_plan_btn a {
    margin-top: 10vw;
    line-height: 65px;
    height: 65px;
    font-size: 1.2em;
  }

  .Spec_room_plan_btn a img {
    width: 22px;
    margin-right: 1.2rem;
    position: relative;
    top: -3px;
  }
}

@media screen and (max-width: 350px) {
  .Spec_room_plan_btn a {
    letter-spacing: normal;
  }
}

#Other_room {
  padding-top: 90px;
}

#Other_room ul {
  margin-top: 60px;
}

#Other_room ul li {
  width: -webkit-calc(25% - 8px);
  width: -moz-calc(25% - 8px);
  width: calc(25% - 8px);
  margin-top: 10px;
}

#Other_room ul li a,
#Other_room ul li .Other_room_img {
  height: 100%;
}

#Other_room ul li .Other_room_txt {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.3);
}

#Other_room ul li .Other_room_txt .Other_room_txt_h3ttl p {
  margin-top: 10px;
}

@media screen and (max-width: 1260px) {
  #Other_room ul li {
    height: 200px;
  }

  #Other_room ul li .Other_room_txt .Other_room_txt_h3ttl p {
    letter-spacing: normal;
  }
}

@media screen and (max-width: 1060px) {
  #Other_room ul li {
    width: -webkit-calc(33.33% - 7px);
    width: -moz-calc(33.33% - 7px);
    width: calc(33.33% - 7px);
  }
}

@media screen and (max-width: 768px) {
  #Other_room {
    padding-top: 15vw;
  }

  #Other_room ul {
    margin-top: 10vw;
  }

  #Other_room ul li {
    height: 200px;
    width: -webkit-calc(50% - 5px);
    width: -moz-calc(50% - 5px);
    width: calc(50% - 5px);
  }
}

@media screen and (max-width: 450px) {
  #Other_room ul li {
    height: 36vw;
    width: 100%;
    margin-top: 5px;
  }
}




/* FoodPage
==========================================================*/
#Dishes {
  margin-top: 100px;
}

.Dishes_Container ul li {
  max-width: 320px;
  width: 30%;
}

.Dishes_Container ul li .Dishes_ttlBox {
  margin-bottom: 20px;
}

.Dishes_Container ul li .Dishes_ttlBox .Dishes_time {
  background: #d1c17a;
  height: 34px;
  line-height: 34px;
  padding: 0 25px;
  box-sizing: border-box;
  border-radius: 50px;
  position: relative;
  top: 1px;
  text-align: center;
}

@media screen and (max-width: 1000px) {
  .Dishes_Container ul li .Dishes_ttlBox {
    display: block;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  #Dishes {
    margin-top: 12vw;
  }

  .Dishes_Container ul li {
    max-width: 100%;
    width: 100%;
    margin-bottom: 30px;
  }

  .Dishes_Container ul li:last-child {
    margin-bottom: 0;
  }

  .Dishes_Container ul li .Dishes_ttlBox {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    margin-bottom: 15px;
  }

  .Dishes_Container ul li .Dishes_ttlBox .Dishes_h3ttl {
    font-size: 1.25em;
  }

  .Dishes_Container ul li .Dishes_ttlBox .Dishes_time {
    height: 28px;
    line-height: 28px;
  }
}

#Morning {
  margin-bottom: 120px;
}

#Lunch,
#Dinner {
  margin-bottom: -10px;
}

.Food_slideshow {
  max-height: 500px;
  margin-top: 40px;
}

.Food_slideshow ul {
  width: 100%;
}

.Food_slideshow ul .slick-slide {
  margin: 0 5px 0;
}

.Food_slideshow .slick-slide img {
  width: 90vw;
  max-width: 800px;
  height: auto;
}

@media screen and (max-width: 768px) {
  #Morning {
    margin-bottom: 18vw;
  }

  #Lunch,
  #Dinner {
    margin-bottom: 0;
  }

  .Food_slideshow {
    margin-top: 30px;
  }

  .Food_slideshow ul .slick-slide {
    margin: 0 2px 0;
  }
}

#Soraniwa {}

.Soraniwa_Box {
  margin-bottom: 60px;
}

.Soraniwa_Box .Soraniwa_img {
  width: 52.9%;
  max-width: 560px;
}

.Soraniwa_Box .Soraniwa_txt {
  width: 42.5%;
  max-width: 450px;
}

.Soraniwa_Box .Soraniwa_txt .Soraniwa_txt_h3ttl {
  margin-bottom: 50px;
}

.Soraniwa_annai {
  padding: 40px 125px 45px;
  box-sizing: border-box;
}

.Soraniwa_annai .Soraniwa_annai_ttl {
  margin-bottom: 20px;
}

@media screen and (max-width: 1000px) {
  .Soraniwa_annai {
    padding: 40px 60px 45px;
  }
}

@media screen and (max-width: 768px) {
  .sp-Soraniwa_txt_h3ttl {
    margin-bottom: 30px;
  }

  .Soraniwa_Box {
    margin-bottom: 12vw;
  }

  .Soraniwa_Box .Soraniwa_img {
    width: 100%;
    max-width: 100%;
    margin-bottom: 25px;
  }

  .Soraniwa_Box .Soraniwa_txt {
    width: 100%;
    max-width: 100%;
  }

  .Soraniwa_annai {
    padding: 30px 5% 35px;
  }

  .Soraniwa_annai .Soraniwa_annai_ttl {
    font-size: 1.2em;
  }
}

@media screen and (max-width: 420px) {
  .Soraniwa_Box {
    margin-bottom: 15vw;
  }
}






/* FacilitiesPage
==========================================================*/
#Facilities_lead {}

.Facilities_lead_img {
  width: 57%;
}

.Facilities_lead_txt {
  width: -webkit-calc(43% - 10px);
  width: -moz-calc(43% - 10px);
  width: calc(43% - 10px);
  padding: 130px 0 120px;
  justify-content: center;
  align-items: center;
}

.Facilities_lead_txt .Facilities_lead_txtInner {
  width: 80%;
  max-width: 450px;
}

.Facilities_lead_txt .Facilities_lead_txt_ttl {
  margin-bottom: 30px;
}

@media screen and (max-width: 1000px) {
  .Facilities_lead_img {
    width: 54%;
  }

  .Facilities_lead_txt {
    width: -webkit-calc(46% - 10px);
    width: -moz-calc(46% - 10px);
    width: calc(46% - 10px);
    padding: 100px 0 90px;
  }

  .Facilities_lead_txt .Facilities_lead_txtInner {
    width: 82%;
    max-width: 100%;
  }

  .Facilities_lead_txt .Facilities_lead_txt_ttl {
    margin-bottom: 20px;
    letter-spacing: .3rem;
    font-size: 1.6em;
  }
}

@media screen and (max-width: 768px) {
  .Facilities_lead_img {
    width: 100%;
    max-width: 100%;
  }

  .Facilities_lead_txt {
    width: 100%;
    max-width: 100%;
    padding: 8vw 0;
  }

  .Facilities_lead_txt .Facilities_lead_txtInner {
    width: 92%;
    text-align: center;
  }

  .Facilities_lead_txt .Facilities_lead_txt_ttl {
    margin-bottom: 20px;
    letter-spacing: .2rem;
    font-size: 1.3em;
  }

  .Facilities_lead_txt p {
    text-align: center;
  }
}

#HotelInfo {}

.HotelInfo_img {
  max-width: 500px;
  width: 47.2%;
}

.HotelInfo_txt {
  max-width: 510px;
  width: 48.2%;
}

.HotelInfo_txt dl dt {
  width: 140px;
}

.HotelInfo_txt dl dd {
  width: -webkit-calc(100% - 140px);
  width: -moz-calc(100% - 140px);
  width: calc(100% - 140px);
}

.HotelInfo_txt dl dd ul li:not(:last-child) {
  margin-bottom: 7px;
}

@media screen and (max-width: 1000px) {
  .HotelInfo_img {
    width: 45%;
  }

  .HotelInfo_txt {
    width: 50%;
  }

  .HotelInfo_txt dl dt {
    width: 115px;
  }

  .HotelInfo_txt dl dd {
    width: -webkit-calc(100% - 115px);
    width: -moz-calc(100% - 115px);
    width: calc(100% - 115px);
  }
}

@media screen and (max-width: 900px) {
  .HotelInfo_Container {
    display: block;
  }

  .HotelInfo_img {
    max-width: 100%;
    width: 100%;
    margin-bottom: 5vw;
  }

  .HotelInfo_txt {
    max-width: 100%;
    width: 100%;
  }
}

@media screen and (max-width: 900px) {
  .HotelInfo_img {
    margin-bottom: 8vw;
  }

  .HotelInfo_txt dl dt {
    width: 95px;
  }

  .HotelInfo_txt dl dd {
    width: -webkit-calc(100% - 95px);
    width: -moz-calc(100% - 95px);
    width: calc(100% - 95px);
  }
}

#Facilities {}

.Facilities_Container {
  margin-bottom: -80px;
}

.Facilities_Container ul li {
  max-width: 500px;
  width: 47.5%;
  margin-bottom: 80px;
}

.Facilities_Container ul li .Facilities_txt {
  margin-top: 20px;
}

.Facilities_Container ul li .Facilities_txt .Facilities_txt_h3ttl {
  margin-bottom: 10px;
}

.Facilities_Container ul li .Facilities_txt .Facilities_more {
  margin-top: 30px;
}

.Facilities_Container ul li .Facilities_txt .Facilities_more img {
  display: inline-block;
  margin-right: 1rem;
  position: relative;
  top: -2px;
}

.Facilities_Container ul li .Facilities_memo {
  font-size: 1.3rem;
  border-radius: 60px;
  width: 120px;
  height: 120px;
  justify-content: center;
  align-items: center;
  right: -20px;
  top: -20px;
  background: #d1c17a;
}

@media screen and (max-width: 900px) {
  .Facilities_Container ul li {
    margin-bottom: 50px;
  }

  .Facilities_Container ul li .Facilities_memo {
    font-size: 1.2rem;
    width: 100px;
    height: 100px;
    right: -20px;
    top: -30px;
  }
}

@media screen and (max-width: 768px) {
  .Facilities_Container ul li .Facilities_txt .Facilities_txt_h3ttl {
    font-size: 1.35em;
  }
}

@media screen and (max-width: 500px) {
  .Facilities_Container ul {
    display: block;
  }

  .Facilities_Container ul li {
    width: 100%;
    margin-bottom: 10vw;
  }

  .Facilities_Container ul li .Facilities_txt .Facilities_txt_h3ttl {
    font-size: 1.25em;
  }

  .Facilities_Container ul li .Facilities_memo {
    font-size: 1.1rem;
    width: 85px;
    height: 85px;
    right: -10px;
    top: -20px;
  }
}

@media screen and (max-width: 450px) {
  .Facilities_Container {
    margin-top: 15vw;
  }
}


/* BanquetPage
==========================================================*/
#Banquet {}

.Banquet_sec:not(:last-child) {
  padding-bottom: 60px;
  margin-bottom: 60px;
  border-bottom: 1px solid #969696;
}

.Banquet_sec .Banquet_img {
  width: 500px;
  width: 47.2%;
}

.Banquet_sec .Banquet_img .photo01 {
  margin-bottom: 60px;
}

.Banquet_sec .Banquet_img .photo {
  max-width: 95%;
  margin: 20px auto 0;
}

.Banquet_sec .Banquet_img .photo02 {
  max-width: 90%;
  margin: 0 auto 0;
}

.Banquet_sec .Banquet_txt {
  width: 510px;
  width: 48.2%;
}

.Banquet_sec .Banquet_txt .Banquet_txt_h3ttl {
  margin-bottom: 20px;
}

.Banquet_sec .f_map {
  width: 100%;
  margin-bottom: 40px;
}

.Banquet_sec .Banquet_txt dl {
  margin-top: 35px;
}

.Banquet_sec .Banquet_txt .Banquet_btn a {
  display: block;
  margin-top: 40px;
  width: 100%;
  line-height: 60px;
  height: 60px;
}

#Plan_dantai .wrap1260 {
  padding: 60px 0;
}

#Plan_dantai .wrap1260 .jpttl {
  font-size: 2.1rem;
}

#Plan_dantai .wrap1260 ul.flex {
  justify-content: space-between;
  margin-top: 40px;
  flex-wrap: wrap;
}

#Plan_dantai .wrap1260 ul.flex li {
  width: 30%;
}

#Plan_dantai .wrap1260 ul.flex li p {
  font-size: 1.8rem;
  line-height: 1.4;
  margin-top: 10px;
}


@media screen and (max-width: 768px) {
  .Banquet_sec:not(:last-child) {
    padding-bottom: 12vw;
    margin-bottom: 12vw;
  }

  .Banquet_sec .Banquet_img {
    width: 100%;
    width: 100%;
    margin-bottom: 30px;
  }

  .Banquet_sec .Banquet_txt {
    width: 100%;
    width: 100%;
  }

  .Banquet_sec .Banquet_txt .Banquet_txt_h3ttl {
    margin-bottom: 15px;
    font-size: 1.25em;
  }

  .Banquet_sec .Banquet_txt dl {
    margin-top: 25px;
  }

  .Banquet_sec .Banquet_txt .Banquet_btn a {
    display: block;
    margin-top: 30px;
    width: 100%;
    line-height: 60px;
    height: 60px;
  }

  #Plan_dantai .wrap1260 ul.flex {
    margin-top: 30px;
  }

  #Plan_dantai .wrap1260 ul.flex li {
    width: 49%;
  }

  #Plan_dantai .wrap1260 ul.flex li:last-child {
    margin-top: 2%;
  }

  #Plan_dantai .wrap1260 ul.flex li p {
    font-size: 1.4rem;
  }

  #Plan_dantai .wrap1260 .jpttl {
    font-size: 1.6rem;
    padding: 0 10px;
  }
}

@media screen and (max-width: 600px) {
  #Plan_dantai .wrap1260 {
    padding: 50px 0;
  }

  #Plan_dantai .wrap1260 ul.flex li {
    width: 100%;
  }

  #Plan_dantai .wrap1260 ul.flex li:not(:first-child) {
    margin-top: 2%;
  }
}



/* BanquetPage > 個別Page （海鴎・潮・磯）
==========================================================*/

#Tableplan {
  margin-bottom: 95px;
}

.Tableplan_Container {}

.Tableplan_Container ul li {
  max-width: 500px;
  width: 47.2%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.Tableplan_Container ul li .Tableplan_txt {
  margin-top: 25px;
}

.Tableplan_Container ul li .Tableplan_txt_h3ttl {
  margin-bottom: 10px;
}

.Tableplan_Container ul li .Tableplan_btn {
  margin-top: auto;
}

.Tableplan_Container ul li .Tableplan_btn a {
  display: block;
  margin-top: 40px;
  width: 100%;
  line-height: 60px;
  height: 60px;
}

.Tableplan_Container ul li .Tableplan_btn a img {
  display: inline-block;
  margin-right: 1.2rem;
  position: relative;
  top: -1px;
}


@media screen and (max-width: 768px) {
  #Tableplan {
    margin-bottom: 18vw;
  }

  .Tableplan_Container ul li {
    max-width: 100%;
    width: 100%;
    margin-bottom: 12vw
  }

  .Tableplan_Container ul li .Tableplan_txt_h3ttl {
    font-size: 1.25em;
  }

  .Tableplan_Container ul li .Tableplan_btn a {
    margin-top: 30px;
    line-height: 60px;
    height: 60px;
    font-size: 1.4rem;
  }

  .Tableplan_Container ul li .Tableplan_btn a img {
    display: inline-block;
    margin-right: 1.2rem;
    position: relative;
    top: -1px;
  }
}

#Spec {}

.Spec_Container {}

.Spec_img {
  max-width: 500px;
  width: 47.2%;
}

.Spec_txt {
  max-width: 510px;
  width: 48.2%;
}

.Spec_txt ul li {
  margin-bottom: 60px;
}

.Spec_txt ul li .Spec_txt_h3ttl {
  margin-bottom: 15px;
}

.Spec_txt dl dd ul li {
  margin-bottom: 0;
}

.Spec_txt dl dd ul li:not(:last-child) {
  margin-bottom: 14px;
}

.Spec_bikou {
  padding: 40px 55px 35px;
  box-sizing: border-box;
}

.Spec_bikou ul li {
  position: relative;
  margin-bottom: 5px;
  margin-left: 2rem;
}

.Spec_bikou ul li:before {
  position: absolute;
  left: -2rem;
  top: 0;
  content: "■";
}

.Spec_plan_btn a {
  display: block;
  margin-top: 40px;
  width: 100%;
  line-height: 60px;
  height: 60px;
  /* border-radius: 60px;*/
}

.Spec_plan_btn a img {
  display: inline-block;
  margin-right: 1.2rem;
  position: relative;
  top: -1px;
}

/*.Spec_plan_btn a { display: block; margin-top: 60px; width: 100%; line-height: 80px; height: 80px; border-radius: 100px;}
.Spec_plan_btn a img { display: inline-block; margin-right: 1.6rem; position: relative; top: -3px;}*/
.Spec_img .photo {
  max-width: 95%;
  margin: 20px auto 0;
}

.Spec_img .photo01 {
  margin-bottom: 60px;
}

@media screen and (max-width: 768px) {
  .Spec_img {
    max-width: 100%;
    width: 100%;
    margin-bottom: 8vw;
    padding: 25px 15px;
    box-sizing: border-box;
    background: #fff;
  }

  .Spec_txt {
    max-width: 100%;
    width: 100%;
  }

  .Spec_txt ul li {
    margin-bottom: 10vw;
  }

  .Spec_txt ul li .Spec_txt_h3ttl {
    font-size: 1.25em;
    margin-bottom: 10px;
  }

  .Spec_bikou {
    padding: 25px 6% 20px;
  }

  .Spec_bikou ul {
    font-size: .9em;
  }

  .Spec_plan_btn a {
    margin-top: 40px;
    line-height: 60px;
    height: 60px;
    font-size: 1.2em;
  }

  .Spec_plan_btn a img {
    width: 22px;
    margin-right: 1.2rem;
    position: relative;
    top: -1px;
  }

  /*.Spec_plan_btn a { margin-top: 10vw; line-height: 65px; height: 65px; font-size: 1.2em;}
.Spec_plan_btn a img { width: 22px; margin-right: 1.2rem; position: relative; top: -3px;}*/
}

@media screen and (max-width: 350px) {
  .Spec_plan_btn a {
    letter-spacing: normal;
  }
}


/* SightseeingPage
==========================================================*/
#Sightseeing {}

.Sightseeing_Container {
  margin-bottom: -50px;
  margin-top: 80px;
}

.Sightseeing_Container ul li {
  width: 30.5%;
  max-width: 320px;
  margin-bottom: 50px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.Sightseeing_Container ul li .place_img {
  overflow: hidden;
}

.Sightseeing_Container ul li .place_txt {
  margin-top: 25px;
  margin-bottom: 30px;
}

.Sightseeing_Container ul li .place_txt .place_h3ttl {
  margin-bottom: 15px;
}

.Sightseeing_Container ul li .memo {
  border-radius: 80px;
  width: 120px;
  height: 120px;
  justify-content: center;
  align-items: center;
  right: -60px;
  top: -60px;
  background: #d1c17a;
  padding: 5px;
}

@media screen and (max-width: 1000px) {
  .Sightseeing_Container ul li .place_txt .place_h3ttl br {
    display: none;
  }
}

@media screen and (max-width: 900px) {
  .Sightseeing_Container ul li {
    width: 48%;
    max-width: 100%;
    margin-bottom: 50px;
  }

  .Sightseeing_Container ul li .memo {
    font-size: 1.2rem;
    width: 100px;
    height: 100px;
    right: -20px;
    top: -30px;
  }

  .Sightseeing_Container ul li .place_txt {
    margin-top: 20px;
  }

  .Sightseeing_Container ul li .place_txt .place_h3ttl {
    margin-top: 0;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 768px) {
  .Sightseeing_Container {
    margin-top: 12vw;
  }

  .Sightseeing_Container ul li .place_txt .place_h3ttl {
    font-size: 1.35em;
  }
}

@media screen and (max-width: 500px) {
  .Sightseeing_Container ul {
    display: block;
  }

  .Sightseeing_Container ul li {
    width: 100%;
    margin-bottom: 10vw;
  }

  .Sightseeing_Container ul li .place_txt .place_h3ttl {
    font-size: 1.25em;
  }

  .Sightseeing_Container ul li .memo {
    font-size: 1.1rem;
    width: 85px;
    height: 85px;
    right: -10px;
    top: -20px;
  }
}

@media screen and (max-width: 450px) {
  .Sightseeing_Container {
    margin-top: 15vw;
  }
}

#Transfer {}

.Sightseeing_Container.school {
  margin-bottom: 0;
  margin-top: 80px;
}

/* AccessPage
==========================================================*/
#Access {}

.Access_txt {
  margin-top: 50px;
}

.Access_txt .Access_people {
  width: 48%;
  max-width: 510px;
}

.Access_txt .Access_btn {
  width: 280px;
}

.Access_txt .Access_btn a {
  margin-top: 0;
}

@media screen and (max-width: 768px) {
  .Access_txt .Access_people {
    width: 100%;
    max-width: 100%;
  }

  .Access_txt .Access_btn {
    width: 100%;
    margin-top: 30px;
  }
}

@media screen and (max-width: 450px) {
  .Access_txt {
    margin-top: 25px;
  }

  .Access_txt .Access_people dl dt {
    width: 120px;
  }

  .Access_txt .Access_people dl dd {
    width: -webkit-calc(100% - 120px);
    width: -moz-calc(100% - 120px);
    width: calc(100% - 120px);
  }
}

#Access_Howto {}

.Access_Howto_sec:not(:last-child) {
  margin-bottom: 100px;
}

@media screen and (max-width: 768px) {
  .Access_Howto_sec:not(:last-child) {
    margin-bottom: 12vw;
  }
}



/* FaqPage
==========================================================*/
#Faq {}

.Faq_Container {}

/* #tab */
#tab {
  margin-bottom: 65px;
}

#tab li {
  max-width: 340px;
  width: 32%;
  box-sizing: border-box;
  /*  padding: 45px 45px 75px;*/
  cursor: pointer;
  background: #d1c17a;
  text-align: center;
  -webkit-transition: all .3s;
  transition: all .3s;
  margin-bottom: 20px;
  position: relative;
}

#tab li {
  color: #fff;
  padding: 45px 45px 75px;
}

#tab li a {
  /*  padding: 45px 45px 75px;*/
  display: block;
}

#tab li::after {
  position: absolute;
  content: "";
  background: url(../images/qanda/btn_faq.png);
  width: 25px;
  height: 25px;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
  background-size: cover;
}

#tab li.select {
  background: #fff;
  color: #d1c17a;
}

#tab li.select a {
  background: #fff;
  color: #d1c17a;
}

#tab li.select::after {
  background: url(../images/qanda/btn_faq-on.png);
  background-size: cover;
}

@media screen and (min-width: 769px) {
  #tab li:hover {
    -webkit-opacity: 0.6;
    opacity: 0.6;
  }
}

.disnon {
  display: none;
}

@media screen and (max-width: 1200px) {
  #tab li {
    padding: 45px 25px 75px;
  }

  #tab li p {
    font-size: 1.05vw;
  }
}

@media screen and (max-width: 960px) {
  #tab li {
    padding: 45px 15px 75px;
    margin-bottom: 1.6vw;
  }

  #tab li .tab_h2ttl {
    font-size: 1.68vw;
  }
}

@media screen and (max-width: 850px) {
  #tab li {
    width: 49%;
    max-width: 100%;
    margin-bottom: 1.8vw;
    padding: 35px 25px 65px;
  }

  #tab li p {
    font-size: 1.1rem;
  }

  #tab li .tab_h2ttl {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 650px) {
  #tab {
    margin-bottom: 10vw;
  }

  #tab li {
    padding: 25px 25px 65px;
  }

  #tab li p {
    font-size: 1.7vw;
  }

  #tab li .tab_h2ttl {
    font-size: 1.5rem;
    letter-spacing: normal;
  }
}

@media screen and (max-width: 500px) {
  #tab li {
    width: 100%;
    padding: 15px 50px 45px;
    margin-bottom: 10px;
  }

  #tab li p {
    font-size: 1.1rem;
    margin-bottom: 5px !important;
  }

  #tab li::after {
    width: 23px;
    height: 23px;
    bottom: 12px;
  }
}

@media screen and (max-width: 380px) {
  #tab li {
    padding: 15px 15px 45px;
    margin-bottom: 6px;
  }
}

.Faq_Box {
  margin-bottom: 20px;
}

.Faq_Box dl dt {
  padding: 20px 45px 20px 70px;
  box-sizing: border-box;
}

.Faq_Box dl dt::before {
  position: absolute;
  content: "Q";
  left: 28px;
  top: 12px;
  font-size: 2.4rem;
  color: #fff;
}

.Faq_Box dl dd {
  padding: 35px 45px 35px 70px;
  box-sizing: border-box;
}

.Faq_Box dl dd::before {
  position: absolute;
  content: "A";
  left: 28px;
  top: 25px;
  font-size: 2.4rem;
  color: #3e6ec3;
  font-weight: bold;
}


table.Faq_table {
  margin-top: 20px;
  border-top: 1px solid #969696;
  width: 100%;
}

table.Faq_table tr {
  border-bottom: 1px solid #969696;
}

table.Faq_table th {
  width: 200px;
  vertical-align: middle;
  padding: 15px 0;
}

table.Faq_table td {
  width: -webkit-calc(100% - 200px);
  width: -moz-calc(100% - 200px);
  width: calc(100% - 200px);
  vertical-align: middle;
  padding: 15px 0;
}

table.Faq_table#Faq_sec03_area th {
  width: 320px;
}

table.Faq_table#Faq_sec05_howto th {
  width: 100px;
}

table.Faq_table#Faq_sec05_food th {
  width: 280px;
}

table.Faq_table#Faq_sec06_cancel01 th,
table.Faq_table#Faq_sec06_cancel02 th {
  width: 360px;
}

@media screen and (max-width: 768px) {
  .Faq_Box dl dt {
    padding: 15px 20px 15px 50px;
  }

  .Faq_Box dl dt::before {
    left: 20px;
    top: 10px;
    font-size: 2rem;
  }

  .Faq_Box dl dd {
    padding: 20px 20px 25px 50px;
    letter-spacing: normal;
  }

  .Faq_Box dl dd::before {
    left: 20px;
    top: 14px;
    font-size: 2rem;
  }

  table.Faq_table th {
    width: 100%;
    display: block;
    padding-bottom: 0;
    font-weight: bold;
  }

  table.Faq_table td {
    width: 100%;
    display: block;
    padding-top: 5px;
  }

  table.Faq_table#Faq_sec03_area th,
  table.Faq_table#Faq_sec05_howto th,
  table.Faq_table#Faq_sec05_food th,
  table.Faq_table#Faq_sec06_cancel01 th,
  table.Faq_table#Faq_sec06_cancel02 th {
    width: 100%;
  }
}


/* school  Page
==========================================================*/
/* download */
.Faq_Box.download dl dt::before,
.Faq_Box.download dl dd::before,
.Faq_Box.access dl dt::before,
.Faq_Box.access dl dd::before {
  display: none;
}

.Faq_Box.download dl dd table.Faq_table td {
  position: relative;
  padding-left: 25px;
}

.manual_Container table.Evacuation_route td.pdf {
  position: relative;
  padding-left: 35px;
}

.Faq_Box.download dl dd table.Faq_table td::before,
.manual_Container table.Evacuation_route td.pdf:before {
  position: absolute;
  content: url(../../school/images/ico_pdf.svg);
  left: 0;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  font-size: 2.4rem;
  color: #3e6ec3;
  font-weight: bold;
  width: 20px;
}

.manual_Container table.Evacuation_route td.pdf:before {
  top: 0;
  -webkit-transform: translate(0, -20%);
  -ms-transform: translate(0, -20%);
  transform: translate(0, -20%);
}

.Faq_Box.download dl dd table.Faq_table td.web::before {
  content: url(../../school/images/ico_web.svg);
}

.floor_box {
  margin-top: 80px;
}

.school_img {
  margin-top: 20px;
}

.school.Banquet_txt dl dt {
  width: 140px;
}

.school.Banquet_txt dl dd {
  width: -webkit-calc(100% - 140px);
  width: -moz-calc(100% - 140px);
  width: calc(100% - 140px);
}

#gmap {
  width: 100%;
  height: 560px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 2px solid #b4b4b4;
}

#Cancel_fee {
  margin-top: 100px;
}

#Cancel_fee02 {
  margin-top: 80px;
}

.Scool_room_box {
  margin-top: 100px;
}

.Banquet_sec.School_box .Banquet_img img {
  width: 100%;
  height: auto;
}

.Banquet_sec.School_box .Banquet_img .slick-dots li {
  width: 32%;
  height: auto;
  margin: 0;
}

.Banquet_sec.School_box .Banquet_img .slider.banquet.room .slick-dots li {
  width: 16%;
  height: auto;
  margin: 0;
}

.Banquet_sec.School_box .Banquet_img .slick-dots li.slick-active img {
  opacity: 0.6;
}

.Banquet_sec.School_box .Banquet_img .slick-dots li + li {
  margin-left: 2%;
}

.Banquet_sec.School_box .Banquet_img .slider.banquet.room .slick-dots li + li {
  margin-left: 0.8%;
}

.Banquet_sec.School_box .Banquet_img .slider.banquet.room .slick-dots li:nth-child(6n+1) {
  margin-left: 0;
}

.Banquet_sec.School_box .Banquet_img .slider.banquet.room .slick-dots li:nth-child(n+7) {
  margin-top: 3px;
}

.Banquet_sec.School_box .Banquet_img .slick-dots {
  position: absolute;
  bottom: -105px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: left;
}

.Banquet_sec.School_box .Banquet_img .slick-dotted.slick-slider {
  margin-bottom: 106px;
}

.school.Banquet_sec .room_num {
  width: 100%;
  margin-top: 10px;
  margin-bottom: 50px;
  border: 1px solid #666;
  line-height: 2.5em;
}

.school.Banquet_sec .room_num tr {
  border-top: 1px solid #666;
}

.school.Banquet_sec .room_num th {
  text-align: center;
  background-color: #f0ede4;
}

.school.Banquet_sec .room_num.rn01 th {
  text-align: center;
  background-color: #f0ede4;
  width: 150px;
}

.school.Banquet_sec .room_num td {
  background-color: #fff;
}

.school.Banquet_sec .room_num.rn01 td {
  padding-left: 10px;
  width: calc(100% - 150px);
}

.school.Banquet_sec .room_num th,
.school.Banquet_sec .room_num td {
  border-left: 1px solid #666;
}

.school.Banquet_sec .room_name {
  width: 100%;
  margin-top: 10px;
  margin-bottom: 80px;
}

.school.Banquet_sec .room_name dt {
  float: left;
  clear: left;
  border: 1px solid #666;
  padding: 1px 3px;
  width: 35px;
  font-size: 0.85em;
  line-height: 1.5em;
  background: #fff;
}

.school.Banquet_sec .room_name dd {
  margin-left: 80px;
  text-align: left;
}

.school.Banquet_sec .kinkyu_table {
  margin: 20px auto;
  width: 95%;
  border: 1px solid #ddd;
}

.school.Banquet_sec .kinkyu_table th,
.school.Banquet_sec .kinkyu_table td {
  border-left: 1px solid #ddd;
}

.school.Banquet_sec .kinkyu_table tr {
  border-top: 1px solid #ddd;
}

.school_Facilities {
  width: 100%;
  margin-top: 60px;
}

.school_Facilities.s02 {
  width: 100%;
  margin-top: 120px;
}

.school_Facilities li {
  width: 24%;
}

.school_Facilities.f02 li {
  width: 32%;
}

.school_Facilities h3 {
  font-size: 0.65em;
  margin-bottom: 15px;
}

.school_Facilities h3.nomal {
  font-size: 1em;
  margin-bottom: 0;
}

.school_Facilities .txjus {
  display: none;
}

#SchoolTrip #Dishes .Dishes_Container li .photobox {
  margin-bottom: 15px;
}

.Floor_guide_sec .Floor_guide_img {
  margin-bottom: 40px;
}

.Floor_guide_sec .Floor_guide_txt {
  margin-bottom: 30px;
}

.Floor_guide_sec .Floor_guide_txt h3 {
  margin-bottom: 15px;
  font-size: 0.85em;
}

table.floor_gide_table {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  font-size: 0.75em;
  text-align: center;
  border-spacing: 0;
  border-collapse: collapse;
}

.floor_gide_table td {
  width: 10%;
  padding: 3px 0;
}

.floor_gide_table td.line {
  border-top: 5px solid #a6e8db;
  border-left: 5px solid #a6e8db;
  border-right: 5px solid #a6e8db;
}

.floor_gide_table td.t_line {
  border-top: 5px solid #a6e8db;
}

.floor_gide_table td.l_line {
  border-left: 5px solid #a6e8db;
}

.floor_gide_table td.r_line {
  border-right: 5px solid #a6e8db;
}

.floor_gide_table td.b_line {
  border-bottom: 5px solid #a6e8db;
}

.bg_blue_tb {
  background-color: #d1daea;
}

.bg_blue_tb02 {
  background-color: #c3faff;
}

/* 修学旅行 パート２ */
.access_route_box .access_route h3 {
  font-weight: bold;
  margin-top: 50px;
  font-size: 1.2em;
}

.access_route_box .access_route ul {
  width: 100%;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 800px;
  position: relative;
}

.access_route_box .access_route ul li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 142px;
  height: 80px;
  background: #8da9d8;
  color: #fff;
  font-size: 12px;
  position: relative;
  text-align: center;
}



.access_route_box .access_route ul:nth-child(n+2) {
  margin-top: 25px;
}



.access_route_box .access_route li:before {
  content: "";
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
}

.access_route_box .access_route li.jr:before {
  border-bottom: 7px dashed #3c68b2;
}

.access_route_box .access_route li.chuo:before {
  border-bottom: 7px solid #3c68b2;
}

.access_route_box .access_route li.mido:before {
  border-bottom: 7px solid #3c68b2;
}

.access_route_box .access_route li .up {
  display: block;
  text-align: center;
  white-space: nowrap;
  font-size: 0.7em;
  position: absolute;
  color: #222;
}

.access_route_box .access_route li .up:before {
  content: "";
  background: url(../../school/images/ico_train.svg) no-repeat 0 0;
  display: inline-block;
  width: 19px;
  height: 24px;
  position: absolute;
  top: -40px;
  /* text-align: center; */
  left: 50%;
  transform: translate(-50%, 0);
}

.access_route_box .access_route li .up.bus:before {
  content: "";
  background: url(../../school/images/ico_bus.svg) no-repeat 0 0;
  display: inline-block;
  width: 20px;
  height: 24px;
  position: absolute;
  top: -40px;
  /* text-align: center; */
  left: 50%;
  transform: translate(-50%, 0);
}

.access_route_box .access_route ul.col03 {}

.access_route_box .access_route ul.col03 li:before {
  transform: translate(329px, -108%);
  width: 515px;
}

.access_route_box .access_route ul.col03 li .up {
  transform: translate(142px, 50%);
  width: 515px;
  left: 0;
}

.access_route_box .access_route ul.col03 li:nth-child(1),
.access_route_box .access_route ul.col03 li:nth-child(2) {}

.access_route_box .access_route ul.col04 {}

.access_route_box .access_route ul.col04 li:before {
  transform: translate(165px, -108%);
  width: 187px;
}

.access_route_box .access_route ul.col04 li .up {
  transform: translate(142px, 50%);
  width: 187px;
  left: 0;
}

.access_route_box .access_route ul.col04 li:nth-child(1),
.access_route_box .access_route ul.col04 li:nth-child(2) {}

.access_route_box .access_route ul.col04 li:nth-child(3) {}

.access_route_box .access_route ul.col05 {}

/*
  ul.col05 li:before {
  transform: translate(156%, 50%);
  width: 48%;
  }
*/
.access_route_box .access_route ul.col05 li:before {
  transform: translate(134px, -100%);
  width: 85px;
  height: 2px;
  left: 0;
  z-index: 100;
}

.access_route_box .access_route ul.col05 li .up {
  transform: translate(129%, 50%);
  width: 85px;
}

.access_route_box .access_route ul.col05 li:nth-child(1),
.access_route_box .access_route ul.col05 li:nth-child(2) {
  width: 135px;
  height: 80px;
}

.access_route_box .access_route ul.col05 li:nth-child(3) {
  width: 135px;
  height: 80px;
}

.access_route_box .access_route ul.col05 li:nth-child(4) {}

.access_route_box {
  margin: 0 auto;
  width: 100%;
  /*  overflow: hidden;*/
}

.access_route_box .access_route {
  position: relative;
  width: 1060px;
}

@media screen and (max-width: 768px) {
  .access_route_box {
    overflow-x: auto;
    white-space: nowrap;
    overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
  }

  .access_route_box .access_route {
    height: 1000px;
  }

}

.access_route_box .access_route:after {
  content: '';
  display: block;
  height: 100%;
  width: 115px;
  background: #3c68b2;
  position: absolute;
  top: 0;
  right: 0;
}

.access_route_box .access_route:before {
  content: '';
  background: url(../../school/images/seagull_logo.svg) no-repeat;
  display: block;
  height: 64px;
  width: 100px;
  /* background: #3c68b2; */
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 100;
  width: 82px;
  height: 100%;
  transform: translate(-20%, 0);
}

.access_route_box .access_route ul:before {
  content: "徒歩５分";
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 109%;
  width: 150px;
  transform: translate(-50%, -50%);
  top: 70%;
  font-size: 0.7em;
}

.access_route_box .access_route ul:after {
  content: "";
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  border-bottom: 7px dotted #3c68b2;
  background: url(../../school/images/ico_work.svg) no-repeat 70px 1px;
  right: -140px;
  width: 140px;
  transform: translate(0, -50%);
  top: 50%;
}


/* オーバーマウスアニメ */

table.floor_gide_table {
  width: 100%;
  max-width: 500px;
  margin: 0 0 50px 480px;
  font-size: 0.8em;
  text-align: center;
  border-spacing: 0;
  border-collapse: collapse;
}

.floor_gide_table td {
  width: 10%;
  padding: 2px 0;
  vertical-align: middle;
}

.floor_gide_table td.line {
  border-top: 5px solid #a6e8db;
  border-left: 5px solid #a6e8db;
  border-right: 5px solid #a6e8db;
}

.floor_gide_table td.t_line {
  border-top: 5px solid #a6e8db;
}

.floor_gide_table td.l_line {
  border-left: 5px solid #a6e8db;
}

.floor_gide_table td.r_line {
  border-right: 5px solid #a6e8db;
}

.floor_gide_table td.b_line {
  border-bottom: 5px solid #a6e8db;
}

.bg_blue_tb {
  background-color: #d1daea;
}

.bg_blue_tb02 {
  background-color: #c3faff;
}

.floor_gide_space {
  position: relative;
}

.floor_gide_image ul li {
  list-style: none;
}

.floor_gide_image ul li img {
  position: absolute;
  /*
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
*/
  left: 80px;
  top: 0%;
  max-width: 400px;
}

.floor_box.re {
  position: relative;
}

.floor_gide_image ul li img {
  /*
      -webkit-transform: scale(0);
      -ms-transform: scale(0);
      transform: scale(0);
*/
  -webkit-transition: -webkit-transform 2s;
  transition: -webkit-transform 2s;
  -o-transition: transform 2s;
  transition: transform 2s;
  transition: transform 2s, -webkit-transform 2s;
  opacity: 0;
}

.floor_gide_image ul li.floor_gide_00 img {
  /*
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1);
*/
  opacity: 1;
}

.floor_gide_image ul li.floor_gide_00 img.close {
  /*
      -webkit-transform: scale(0);
      -ms-transform: scale(0);
      transform: scale(0);
*/
  opacity: 0;
}

.floor_gide_image img.animated.bounceInLeft {
  /*
      -webkit-transform: scale(1);
      -ms-transform: scale(1);
      transform: scale(1);
*/
  opacity: 1;
}

.floor_gide_table td.c_p:hover {
  cursor: pointer;
}

@media screen and (max-width: 1024px) {
  table.floor_gide_table {
    width: 100%;
    max-width: 100%;
    margin: 0 0 50px 0;
  }

  .floor_gide_table td {
    padding: 10px 0;
    width: calc (95% / 9);
  }

  .floor_gide_table td:first-child {
    width: 5%;
  }

  .floor_gide_table tr:nth-child(-n+9) td:nth-child(4) {
    text-align: right;
    padding: 0 22px 0 0;
  }

  .floor_gide_image ul li img {
    top: 5%;
    max-width: 45%;
    left: 5%;
  }
}

@media screen and (max-width: 768px) {
  table.floor_gide_table {
    width: 100%;
    max-width: 100%;
    font-size: 1em;
    margin: 0 0 50px 0;
  }

  .floor_gide_table td {
    padding: 5px 0;
    width: calc (95% / 9);
  }

  .floor_gide_table td:first-child {
    width: 5%;
  }

  .floor_gide_table tr:nth-child(-n+9) td:nth-child(4) {
    text-align: right;
    padding: 0 22px 0 0;
  }

  .floor_gide_image ul li img {
    top: 16%;
    max-width: 40%;
  }
}

@media screen and (max-width: 500px) {
  table.floor_gide_table {
    width: 100%;
    max-width: 100%;
    font-size: 0.65em;
  }

  .floor_gide_image ul li img {
    top: 16%;
    max-width: 40%;
  }
}

/* オーバーマウスアニメ */

@media screen and (max-width: 768px) {
  .Banquet_sec.School_box .Banquet_img .slider.banquet.room .slick-dotted.slick-slider {
    width: 100%;
    width: 100%;
    margin-bottom: 190px;
  }

  .Banquet_sec.School_box .Banquet_img .slick-dotted.slick-slider {
    width: 100%;
    width: 100%;
    margin-bottom: 190px;
  }

  .Banquet_sec .Banquet_img .photo {
    max-width: 100%;
    margin: 20px auto 0;
  }

  .Banquet_sec.School_box .Banquet_img .slick-dots {
    position: absolute;
    bottom: -150px;
  }

  .Banquet_sec.School_box .Banquet_img img {
    max-width: auto;
    width: 100%;
    margin-bottom: 30px;
  }
}


/* emergency
==========================================================*/
#emergency .detail_wrap h3 {
  font-size: 0.8em;
}

#emergency .detail_wrap h3.title {
  font-size: 1em;
}

#emergency .detail_wrap h4 {
  display: block;
  font-size: 1.0em;
  padding-bottom: 25px;
  margin-left: 2.3rem;
  text-indent: -2.3rem;
}

.manual_Container {
  margin-bottom: 50px;
  padding: 20px 20px 30px 40px;
}

#emergency .Evacuation_route th {
  padding-right: 50px;
  font-weight: bold;
}

#emergency .Evacuation_route td {
  padding-bottom: 30px;
}

/* group campaign
==========================================================*/
.campaign_photos {
  width: 100%;
  margin-top: 40px;

}

.manual_Container.campaign h4 {
  line-height: 1.5em;
  font-size: 2.6rem;
  letter-spacing: 0.15em;
}

.manual_Container.campaign {
  margin-bottom: 80px;
  padding: 20px 20px 30px 40px;
}

.campaign_photos.f02 li {
  width: 32%;
}

.campaign_photos h3 {
  font-size: 0.65em;
  margin-bottom: 15px;
}

.campaign_lead {
  margin-top: 30px;
  font-weight: 500;
}

.campaign_lead .wrap612 {
  width: 92%;
  max-width: 612px;
  margin: 0 auto;
}

.campaign_lead .rem16 {
  font-size: 1.6rem;
}

#campaign_slideshow .slick-slide img {
  width: 25vw;
  max-width: 461px;
  height: auto;
}

.Spec_room_Container.cam .Spec_room_txt h3.nomal {
  font-size: 1em;
  margin-bottom: 0;
}

.Spec_room_Container.cam .Spec_room_txt .Banquet_txt_h3ttl {
  margin-bottom: 20px;
}

.manual_Container .campaign_lead .mt_30 {
  margin-top: 30px;
}

.manual_Container .campaign_lead ul {
  width: 92%;
  max-width: 612px;
  margin: 30px auto;
  padding: 25px 33px;
  text-align: left;
  box-sizing: border-box;
}

.manual_Container .campaign_lead ul small {
  margin-left: 5px;
  margin-top: 15px;
  display: block;
}

.manual_Container .campaign_lead ul li {
  margin-bottom: 5px;
  font-size: 1.5rem;
}

.manual_Container .campaign_lead ul li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f14a";

  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  margin-right: 15px;
  color: #3e6ec3;
}

.manual_Container .campaign_lead ul h3 {
  font-weight: bold;
  margin-bottom: 15px;
  font-size: 1.4em;
  letter-spacing: 0.3em;
  text-align: center;
}

.campaign_lead .btn a {
  margin: 15px auto 0;
  display: block;
  max-width: 612px;
  width: 92%;
  line-height: 70px;
  height: 70px;
  position: relative;
}

.campaign_lead .btn a i {
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.campaign_lead .btn a:hover {
  -webkit-opacity: .6;
  opacity: .6;
}

.campaign_lead .btn a:hover i {
  right: 5px;
}

.campaign_lead .btn {
  margin: 40px auto 40px;
}

/* CoronaPage
==========================================================*/
.Faq_Box.download.corona dl dd ul {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 15px;
}

.Faq_Box.download.corona dl dd ul li {
  width: calc(94% / 4);
  display: inline-block;
  margin-left: 2%;
  margin-bottom: 10px;
}

.Faq_Box.download.corona dl dd ul li:nth-child(4n+1) {
  margin-left: 0;
}

/* ContactPage
==========================================================*/
#Contact {}

.Contact_Container {}

/* bodyを引き継がせる（SP:16px以上必須） */
input,
textarea,
select {
  font-size: 1.4rem;
  line-height: 1.6;
  font-family: 'Lato', "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Helvetica, Arial, sans-serif;
  font-weight: bold;
  margin: 0;
  padding: 0;
  color: #333;
  -webkit-text-size-adjust: 100%;
  letter-spacing: .1rem;
}

table.inqtable {
  width: 100%;
}

table.inqtable th {
  padding: 0 0 40px;
  width: 260px;
  vertical-align: middle;
  line-height: 1.6;
  letter-spacing: .1rem;
  font-weight: bold;
}

table.inqtable td {
  padding: 0 0 40px;
  box-sizing: border-box;
}

table.inqtable td input,
table.inqtable td textarea {
  border: none;
  -webkit-appearance: none;
  border-radius: none;
  padding: 20px 30px;
  width: 100%;
  background: #fff;
  box-sizing: border-box;
}

table.inqtable td .half {
  width: 49%;
}

table.inqtable td .one_third {
  width: 35%;
  min-width: 210px;
}

table.inqtable th.va-top {
  vertical-align: top;
  padding-top: 25px;
}

@media screen and (max-width: 900px) {
  table.inqtable th {
    width: 200px;
  }
}

@media screen and (max-width: 768px) {

  input,
  textarea,
  select {
    font-size: 1.6rem;
  }

  table.inqtable th {
    display: block;
    width: 100%;
    padding-bottom: 10px;
    word-break: break-all;
    white-space: normal;
    font-size: 1.5rem;
  }

  table.inqtable td {
    display: block;
    width: 100%;
    word-break: break-all;
    padding-bottom: 6vw;
  }

  table.inqtable td.flex {
    display: flex;
  }

  table.inqtable td input,
  table.inqtable td textarea {
    padding: 15px 20px;
    border-radius: 0;
  }

  table.inqtable th.va-top {
    vertical-align: middle;
    line-height: 1.75;
    padding-top: 0;
  }
}


/* focus時 */
input[type="text"],
input[type="tel"],
textarea {
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s;
}

input[type="text"]:focus,
input[type="tel"]:focus,
textarea:focus {
  box-shadow: 0 0 3px #b8d8e8;
}

:placeholder-shown {
  color: #aaa;
}

::-webkit-input-placeholder {
  color: #aaa;
}

:-moz-placeholder {
  color: #aaa;
}

::-moz-placeholder {
  color: #aaa;
}

:-ms-input-placeholder {
  color: #aaa;
}

::-ms-input-placeholder {
  color: #aaa;
}

/* radioボタン */
input[type=radio] {
  display: none;
}

.radio {
  padding: 5px 30px 5px 42px;
  display: inline-block;
  box-sizing: border-box;
  position: relative;
  vertical-align: middle;
  cursor: pointer;
  font-size: 1.4rem;
  letter-spacing: .15rem;
}

.radio:before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -15px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  content: '';
  background: #fff;
  border: none;
}

.radio:after {
  -webkit-transition: all .2s linear;
  transition: all .2s linear;
  position: absolute;
  top: 50%;
  left: 8px;
  display: block;
  margin-top: -7px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #3e6ec3;
  content: '';
  opacity: 0;
  z-index: 2;
}

input[type=radio]:checked + .radio:before {
  box-shadow: 0 0 3px #b8d8e8;
}

input[type=radio]:checked + .radio:after {
  opacity: 1;
}

/* checkboxボタン */
input[type=checkbox] {
  display: none;
}

.check {
  display: block;
  padding: 6px 3px 6px 35px;
  position: relative;
  cursor: pointer;
}

.check::before,
.check::after {
  position: absolute;
  content: '';
  top: 50%;
  -webkit-transition: all .2s;
  transition: all .2s;
}

.check::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  content: '';
  background: #fff;
  border: none;
}

.check::after {
  opacity: 0;
  top: 9px;
  left: 6px;
  width: 16px;
  height: 8px;
  border-left: 3px solid #3e6ec3;
  border-bottom: 3px solid #3e6ec3;
  -webkit-transform: rotate(-45deg) scale(.5);
  transform: rotate(-45deg) scale(.5);
}

input[type="checkbox"]:checked + .check::before {
  box-shadow: 0 0 3px #b8d8e8;
}

input[type="checkbox"]:checked + .check::after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
  transform: rotate(-45deg);
}

/* SELECTボタン indexとやや異なる */
table.inqtable select::-ms-expand {
  display: none;
}

table.inqtable select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
  background-image: url(../images/common/pulldown_arrow.png);
  background-repeat: no-repeat;
  background-size: 10px 6px;
  background-position: right 15px center;
  border: none;
  border-radius: 0;
  height: 60px;
  line-height: 60px;
  padding: 0 80px 0 30px;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  table.inqtable select {
    height: 55px;
    line-height: 55px;
    padding: 0 30px 0 20px;
    width: 100%;
  }
}

/* スマホオート入力の背景色削除 */
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
  box-shadow: 0 0 0px 1000px #fff inset;
}

/* ie用 */
@media all and (-ms-high-contrast: none) {
  .selectyaji {
    display: none;
  }
}

input::-ms-clear,
input::-ms-reveal {
  visibility: hidden;
}

/* 右に出てくるアイコン削除 */


/* 個人情報の取り扱いに同意する */
.douiwrap {
  margin-top: 35px;
  font-size: 1.5rem;
}

.douiwrap p {
  margin-top: 20px;
}

.douiwrap .checkbox {
  box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  margin-left: 30px;
}

.douiwrap .checkbox:after {
  position: absolute;
  top: 6px;
  left: -35px;
  display: block;
  border: 1px solid #333;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  content: '';
}

.douiwrap .checkbox:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  z-index: 2;
  top: 2px;
  left: -28px;
  display: block;
  width: 6px;
  height: 13px;
  border-right: 3px solid #3e6ec3;
  border-bottom: 3px solid #3e6ec3;
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.douiwrap input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}

@media (max-width: 768px) {
  .douiwrap p {
    font-size: 1.3rem;
  }

  .douiwrap .checkbox {
    letter-spacing: normal;
  }

  .douiwrap .checkbox::after {
    top: 5px;
    left: -30px;
  }

  .douiwrap .checkbox::before {
    top: 1px;
    left: -22px;
  }
}

/* エラーボックス */
.error_box {
  width: 100%;
  text-align: left;
  background: #FFF;
  border: 1px solid #d4221c;
  color: #d4221c;
  display: none;
  margin: 55px auto;
  padding: 20px 30px;
  box-sizing: border-box;
}

/* 送信ボタン */
.submitwrap input[type=submit],
.submitwrap input[type=button] {
  font-size: 1.8rem;
  width: 100%;
  max-width: 300px;
  height: 80px;
  line-height: 80px;
  margin: 55px auto 0;
  cursor: pointer;
  color: #fff;
  background: #3e6ec3;
  -webkit-transition: all .3s;
  transition: all .3s;
  border: none;
  -webkit-appearance: none;
  border-radius: 0;
  display: block;
  text-align: center;
  letter-spacing: .2rem;
  box-shadow: none;
  font-weight: bold;
  border-radius: none;
}

@media screen and (min-width: 769px) {

  .submitwrap input[type=submit]:hover,
  .submitwrap input[type=button]:hover {
    -webkit-opacity: 0.8;
    opacity: 0.8;
  }
}

@media (max-width: 768px) {

  .submitwrap input[type=submit],
  .submitwrap input[type=button] {
    font-size: 1.7rem;
    max-width: 100%;
    height: 60px;
    margin: 40px auto 0;
    line-height: 60px;
    letter-spacing: 0.1rem;
  }

  .error_box {
    margin: 30px auto 0;
    padding: 5%;
  }
}

/* OKページ */
.Contact_sended {
  padding-top: 30px;
}

.Contact_sended_h1ttl {
  font-size: 3rem;
  margin-bottom: 50px;
}

.Contact_sended_body p {
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .Contact_sended {
    padding-top: 0;
  }

  .Contact_sended_h1ttl {
    font-size: 2rem;
    margin-top: 10px;
    margin-bottom: 30px;
  }
}


/* 確認ページ */
.contact_kakunin table.inqtable th {
  padding-bottom: 20px;
}

.contact_kakunin table.inqtable td {
  padding-bottom: 20px;
}

.contact_kakunin table.inqtable th.va-top {
  vertical-align: top;
  padding-top: 5px;
}

.kakuninPage_btn {
  width: 48%;
}

.submitwrap input[type=button] {
  background: #ccc;
}

@media (max-width: 768px) {
  .contact_kakunin {
    margin-top: 35px;
  }

  .contact_kakunin table.inqtable th {
    padding-bottom: 5px;
  }

  .contact_kakunin table.inqtable td {
    padding-bottom: 20px;
    font-size: 1.5rem;
  }
}

@media (max-width: 520px) {
  .kakuninPage_btn_wrap {
    display: block;
    margin-top: 25px;
  }

  .kakuninPage_btn {
    width: 100%;
  }

  .kakuninPage_btn_wrap .submitwrap input[type="submit"],
  .submitwrap input[type="button"] {
    margin-top: 25px;
  }
}


/* PrivacyPage
==========================================================*/
#Privacy {}

.privacytab {}

.privacytab th {
  display: block;
  font-size: 1.3em;
  padding-bottom: 25px;
  margin-left: 2.3rem;
  text-indent: -2.3rem;
}

.privacytab td {
  display: block;
  padding-bottom: 60px;
}

.privacytab td .indent li {
  margin-left: 2rem;
  text-indent: -1.8rem;
}

@media screen and (max-width: 768px) {
  #Privacy .TYPEB_h1ttl {
    font-size: 2.9rem;
  }

  .privacytab th {
    font-size: 1.15em;
    padding-bottom: 10px;
  }

  .privacytab td {
    padding-bottom: 30px;
    word-break: break-all;
    letter-spacing: normal;
  }

  .privacytab td .indent li {
    margin-left: 1.5rem;
    text-indent: -1.3rem;
  }
}


/* CompanyPage
==========================================================*/
#Company {}

table.Company_table {
  border-top: 1px solid #969696;
  width: 100%;
}

table.Company_table tr {
  border-bottom: 1px solid #969696;
}

table.Company_table th {
  width: 200px;
  vertical-align: middle;
  padding: 15px 0;
}

table.Company_table td {
  width: -webkit-calc(100% - 200px);
  width: -moz-calc(100% - 200px);
  width: calc(100% - 200px);
  vertical-align: middle;
  padding: 15px 0;
}

@media screen and (max-width: 768px) {
  table.Company_table th {
    width: 100%;
    display: block;
    padding-bottom: 0;
    font-weight: bold;
  }

  table.Company_table td {
    width: 100%;
    display: block;
    padding-top: 5px;
  }
}


/* NewsPage
==========================================================*/
#News {}

.News_Container {
  padding-top: 30px;
}

.news_sec {
  padding-bottom: 75px;
  border-bottom: 1px solid #bebebe;
  margin-bottom: 75px;
}

.news_sec .news_ttl {
  margin: 15px 0 18px;
}

.paginationInner {
  display: flex;
  justify-content: center;
  margin: 0 auto 30px auto;
}

.pagination span,
.pagination a {
  display: block;
  height: 48px;
  line-height: 48px;
  width: 48px;
  color: #fff;
  background: #3e6ec3;
  font-size: 1.6rem;
  cursor: pointer;
  margin: 0 5px 5px
}

.pagination a.all_btn {
  display: block;
  height: 48px;
  line-height: 48px;
  width: 100px;
  color: #fff;
  background: #3e6ec3;
  font-size: 1.6rem;
  cursor: pointer;
}

.pagination a.all_btn span {
  position: relative;
  top: 1px;
  left: 3px;
  display: inline;
  margin: 0;
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  .News_Container {
    padding-top: 0;
  }

  .news_sec {
    padding-bottom: 12vw;
    margin-bottom: 12vw;
  }

  .paginationInner {
    margin: 0 -20px 20px auto;
  }

  .pagination span,
  .pagination a {
    margin: 0 10px 15px;
    height: 42px;
    line-height: 42px;
    width: 42px;
  }
}





/* PickupPage
==========================================================*/
#Pickup {}

.Pickup_Container {
  padding-top: 30px;
}

#Pickup ul.Pickup_temp {
  margin-bottom: 70px;
}

@media screen and (max-width: 768px) {
  .Pickup_Container {
    padding-top: 0;
  }
}

/* Pickup一覧テンプレート */
ul.Pickup_temp::before {
  content: "";
  display: block;
  width: 24.3%;
  max-width: 306px;
  order: 1;
}

ul.Pickup_temp::after {
  content: "";
  display: block;
  width: 24.3%;
  max-width: 306px;
}

ul.Pickup_temp li {
  width: 24.3%;
  max-width: 306px;
  background: #fff;
  margin-bottom: 13px;
}

ul.Pickup_temp li a {
  display: block;
  position: relative;
  height: 100%;
}

ul.Pickup_temp li .Pickup_temp_txt {
  padding: 18px 20px 18px;
  box-sizing: border-box;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  min-height: 130px;
}

ul.Pickup_temp li .Pickup_temp_txt .Pickup_temp_txt_date {
  padding-bottom: 10px;
}

ul.Pickup_temp li .Pickup_temp_txt .Pickup_temp_txt_ttl {
  padding-bottom: 50px;
}

ul.Pickup_temp li .pickup_temp_btn {
  position: absolute;
  bottom: 20px;
  right: 20px;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

ul.Pickup_temp li .pickup_temp_btn img {
  display: inline-block;
  margin-right: 1rem;
  position: relative;
  top: -2px;
}

@media screen and (min-width: 769px) {

  ul.Pickup_temp li a:hover .Pickup_temp_txt,
  ul.Pickup_temp li a:hover .pickup_temp_btn {
    -webkit-opacity: 0.6;
    opacity: 0.6;
  }
}

@media screen and (max-width: 960px) {
  ul.Pickup_temp li {
    width: 32.6%;
    max-width: 320px;
    margin-bottom: 1.1vw;
  }

  ul.Pickup_temp li .Pickup_temp_txt {
    padding: 15px 15px 20px;
  }

  ul.Pickup_temp::after {
    width: 32.6%;
    max-width: 320px;
  }

  ul.Pickup_temp::before {
    content: none;
  }
}

@media screen and (max-width: 600px) {
  ul.Pickup_temp li {
    width: 49%;
    max-width: 100%;
    margin-bottom: 1.8vw;
  }

  ul.Pickup_temp::after {
    width: 49%;
    max-width: 100%;
  }

  ul.Pickup_temp li .Pickup_temp_txt .Pickup_temp_txt_ttl {
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 420px) {
  #Pickup ul.Pickup_temp {
    margin-bottom: 10vw;
  }

  ul.Pickup_temp li {
    width: 100%;
    margin-bottom: 15px;
  }

  ul.Pickup_temp li .Pickup_temp_txt {
    padding: 20px 15px 15px;
    min-height: auto;
  }

  ul.Pickup_temp li .Pickup_temp_txt .Pickup_temp_txt_date {
    padding-bottom: 5px;
  }

  ul.Pickup_temp li .Pickup_temp_txt .Pickup_temp_txt_ttl {
    margin-top: 8px;
    font-size: 1.5rem;
    padding-bottom: 40px;
  }

  ul.Pickup_temp li .pickup_temp_btn {
    bottom: 15px;
    right: 15px;
    font-size: 1.3rem;
  }
}


/* 詳細ページ */
.Pickup_sec {
  padding-bottom: 75px;
  border-bottom: 1px solid #bebebe;
  margin-bottom: 75px;
}

.Pickup_sec .Pickup_ttl {
  margin: 15px 0 30px;
}

@media screen and (max-width: 768px) {
  .Pickup_sec {
    padding-bottom: 12vw;
    margin-bottom: 12vw;
  }
}


/* css追加 ページnav */
.pagenavwrap {
  background-color: #3e6ec2;
}

.pagenavwrap ul li {
  width: 50%;
  border-right: 1px solid #fff;
}

.pagenavwrap ul li a {
  color: #fff;
  display: block;
  padding: 12px 0;
}

.pagenavwrap ul li:first-child {
  border-left: 1px solid #fff;
}

.btn_tosite {
  display: block;
  margin-top: auto;
  width: 100%;
  line-height: 60px;
  height: 60px;
  color: #fff;
}

@media screen and (max-width: 600px) {
  .pagenavwrap ul li:first-child {
    border-left: none;
  }

  .pagenavwrap ul li:last-child {
    border-right: none;
  }
}

#Audio-Control {
  overflow: hidden;
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 99;
}

#Audio-Control button {
  display: none;
  background: none;
  border: none;
  padding: 15px;
  -webkit-transition: all 0.6s ease;
  -moz-transition: all 0.6s ease;
  -o-transition: all 0.6s ease;
  transition: all 0.6s ease;
}

#Audio-Control button.active {
  display: block;
}

#bgm {
  position: relative;
}

#Audio-Control:before {
  position: absolute;
  content: "";
  display: inline-block;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  animation: Audiobound 2.5s infinite linear;
}

@keyframes Audiobound {
  0% {
    transform: scale(0.6);
    opacity: 0;
  }

  30% {
    transform: scale(1.0);
    opacity: 1;
  }

  80% {
    transform: scale(0.8);
    opacity: 1;
  }

  100% {
    transform: scale(0.6);
    opacity: 0;
  }
}


#page_top {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0;
  background: #3e6ec3;
  opacity: 0.6;
  z-index: 100;
}

#page_top a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}

#page_top a img {
  position: absolute;
  width: 20px;
  height: auto;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
