@charset "UTF-8";

/* BASE
------------------------------------*/

html {
  font-size: 16px;
  height: 100%;
}
body {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  color: #333333;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
}

header,
footer {
  position: relative;
  width: 100%;
}
.pageWidth {
  max-width: 1224px;
  width: 100%;
  padding: 0 50px;
  margin: 0 auto;
}
.container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 50px;
}

@media (max-width: 767px) {
  header,
  footer {
    min-width: initial;
  }
  .pageWidth {
    width: 100%;
    padding: 0 20px !important;
  }
  main {
    width: 100% !important;
    max-width: 100% !important;
  }
  aside {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 50px;
  }
} /* end @media */


/* COMMON
------------------------------------*/
a {
  cursor: pointer;
}
a:not([class]):not(.postBody a) {
  text-decoration: none;
}
ul:not(.postBody ul) ,
ol:not(.postBody ol) ,
li:not(.postBody li) {
  list-style: none;
}
p {
  line-height: 1.5em;
}

.fwb {
  font-weight: 700;
}
.red {
  color: #FF0000;
}

.center{ margin: 0 auto; }

.textRight {
  text-align: right;
}
.textCenter {
  text-align: center;
}
.textCenterSpLeft {
  text-align: center;
}

.mt1em {
  margin-top: 1em;
}
.mtS {
  margin-top: 3.33em;
}
.mtM {
  margin-top: 4.66em;
}
.mtL {
  margin-top: 6.66em;
}

.linkStyle {
  color: #3799ED;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .linkStyle:hover {
    text-decoration: none;
  }
} /* end @media */

.linkHover {
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .linkHover:hover {
    opacity: 0.6;
  }
} /* end @media */

.linkButton {
  background-color: #FFFFFF;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .linkButton:hover {
    background-color: #E3EDFF;
  }
} /* end @media */

.sp { display: none; }

@media (max-width: 767px) {

  .textCenterSpLeft {
    text-align: left;
  }
  
  .mtS {
    margin-top: 2.33em;
  }
  .mtM {
    margin-top: 3.33em;
  }
  .mtL {
    margin-top: 4.66em;
  }

  .pc { display: none !important; }
  .sp { display: inherit; }

} /* end @media */



/* Header
------------------------------------*/

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #FFFFFF;
  height: 70px;
  padding: 0 16px;
}
.header__logo {
  width: 207px;
}
.gMenu {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 55%;
}
.gMenu__item {
  padding: 10px 0;
}
.gMenu__item + .gMenu__item {
  margin-left: 30px;
}
.gMenu__item a {
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s;
}
.gMenu__item a.is-active {
  color: #3799ED;
}
@media (min-width: 768px) {
  .gMenu__item a:hover {
    color: #3799ED;
  }
  /* メニューアイテムのホバースタイル */
  .gMenu__item:hover .gMenu__category {
    opacity: 1;
    visibility: visible; 
  }
} /* end @media */

/* ドロップダウンメニュー */
.has-category {
  position: relative;
}
.gMenu__category {
  position: absolute;
  left: 0;
  top: 100%;
  transform-origin: center top; /* 変形を適応する基準を設定 */
  background-color: #FFFFFF;
  border-radius: 4px;
  width: 250px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
  z-index: 9;
  opacity: 0;
  visibility: hidden; 
  transition: all .3s; /* 表示の変化をアニメーション化 */
}
.gMenu__category::before {
  content: '';
  display: inline-block;
  position: absolute;
  left: 20px;
  top: -10px;
  background: #3799ED;
  height: 9px;
  width: 14px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);  
}
.gMenu__category__item {
  border-bottom: 1px solid #EEEEEE;
}
.gMenu__category__item:last-child {
  border-bottom: none;
}
.gMenu__category__item a {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 15px 32px;
}
.gMenu__category__item a::before {
  content: url(../img/arrow_right@s.svg);
  display: inline-block;
  position: absolute;
  left: 16.5px;
  top: 50%;
  transform: translateY(-50%);
}
@media (min-width: 768px) {
  .gMenu__category__item:hover {
    opacity: .8; /* ドロップダウンメニューアイテムのホバー時の不透明度 */
    transition: opacity .3s; /* 不透明度の変化をアニメーション化 */
  }
} /* end @media */


.header__subMenu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 13%;
}
.header__favorite {
  position: relative;
  display: inline-block;
  border: 1px solid #3799ED;
  border-radius: 18px;
  width: 148px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.0em;
  color: #3799ED;
  padding: 10px 22px 10px 40px;
}
.header__favorite::before {
  content: url(../img/icon_favorite.svg);
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 18.2px;
}
.menuButton {
  display: none;
  z-index: 30;
}
.menuBox {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.80);
  padding: 70px 10px 30px 10px;
  z-index: 20;
  overflow: auto;  
}

@media (max-width: 767px) {
  header {
    height: 52px;
    padding: 0 72px 0 10px; 
  }
  .header__logo {
    width: 159px;
  }
  .gMenu {
    display: none;
  }

  .header__subMenu {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 96px;
  }
  .header__favorite {
    border-radius: 22px;
    width: 96px;
    font-size: 11px;
    padding: 6px 14px 6px 37px;
  }
  .header__favorite::before {
    content: url(../img/icon_favorite.svg);
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 18.2px;
  }
  

  .menuButton {
    /*ボタン内側の基点となるためrelativeを指定。
  追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
    display: inline-block;
    position: fixed;
    top: 10px;
    right: 10px;
    background-color: #FFFFFF;
    border-radius: 50%;
    width: 50px;
    height:50px;
    text-align: center;
    padding-top: 20px;
    cursor: pointer;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.16);
  }
  /*ボタン内側*/
  .menuButton span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 10px;
    height: 1px;
    background-color: #333333;
  }
  .menuButton span:nth-of-type(1) {
    top: 15px;	
    width: 60%;
  }
  .menuButton span:nth-of-type(2) {
    top: 22px;
    width: 30%;
  }
  /*activeクラスが付与されると線が回転して×に*/
  .menuButton.active span:nth-of-type(1) {
    top: 13px;	
    left: 7px;
    transform: translateY(6px) rotate(-15deg);
    width: 70%;
  }
  .menuButton.active span:nth-of-type(2) {
    top: 25px;
    left: 7px;
    transform: translateY(-6px) rotate(15deg);
    width: 70%;
  }  
  .menuButton label {
    font-size: 11px;
    line-height: 11px;
  }

  .menuBox__nav {
    background-color: #EEEEEE;
    border-radius: 4px;
    padding: 30px;
    margin-top: 50px;
  }
  .menuBox__navParent button ,
  .menuBox__navLink a {
    font-size: 18px;
  }
  .menuBox__navParent button {
    position: relative;
    padding-right: 21px;
  }
  .menuBox__navParent button::after {
    content: url(../img/icon_spread.svg);
    display: inline-block;
    position: absolute;
    right: 0;
    top: 5px;
    width: 12px;
    height: 7px;
    line-height: 12px;
  }
  .menuBox__navParent.is-open button::after {
    transform: rotate(180deg);
    top: 15px;
  }
  .menuBox__navParent:not(:first-child),
  .menuBox__navLink:not(:first-child) {
    margin-top: 16px;
  }
  .menuBox__navChild {
    display: none;
    padding: 10px 0;
  }
  .menuBox__navChild ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
  }
  .menuBox__navChild ul li {
    margin: 0 6px 10px 0;
  }
  .menuBox__navCategory {
    display: inline-block;
    background-color: #FFFFFF;
    border: 1px solid #3799ED;
    border-radius: 31px;
    font-size: 12px;
    font-weight: 500;
    line-height: 12px;
    color: #3799ED;
    padding: 5px 20px;
  }
  .menuBox__navMap {
    text-align: center;
    margin-top: 30px;
  }
  .menuBox__navMap img {
    width: 300px;
  }

} /* end @media */


/* FOOTER
------------------------------------*/

footer {
  margin-top: 150px;
}
.footerBox {
  background-color: #EEEEEE;
  padding: 70px 0 60px 0;
}
.footerBox__flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.footerBox__flex01 {
  max-width: 235px;
  width: 100%;
  margin-top: -25px;
}
.footer__logo img {
  max-width: 235px;
}
.footerBox__flex02 {
  max-width: calc(100% - 235px - 20%);
  width: 100%;
}
.footerBox__title:not(:first-child) {
  margin-top: 40px;
}
.footerBox__title a {
  font-size: 18px;
}
@media (min-width: 768px) {
  .footerBox__title a:hover {
    text-decoration: underline !important;
  }
} /* end @media */
.footerBox__title a strong {
  font-weight: 700;
}
.footerBox__category {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 20px;
}
.footer__menu {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 60px;
}
.footer__menu li {
  margin: 0 20px 10px 20px;
}
.footer__menu li a {
  font-size: 15px;
}
@media (min-width: 768px) {
  .footer__menu li a:hover {
    text-decoration: underline !important;
  }
} /* end @media */
.footerCr {
  text-align: center;
  font-size: 15px;
  padding: 20px 0;
}
#scroll-to-top-btn{
	position: fixed;
	bottom: 10px;
	right: 10px;
	height: 50px;
	background-color:#9E9E9E;
	border: none;
	border-radius: 50%;
	width: 50px;
  text-align: center;
	font-size: 30px;
	font-weight: bold;
	color: #FFF;
	opacity: 0;
  cursor: pointer;
	transition-duration: 0.5s;
}

@media (max-width: 767px) {

  footer {
    margin-top: 100px;
  }
  .footerBox {
    padding: 70px 0;
  }
  .footerBox__flex01 {
    max-width: 100%;
    text-align: center;
    margin-top: 0x;
  }
  .footerBox__flex02 {
    max-width: 100%;
    width: 100%;
    margin-top: 70px;
  }
  .footer__menu {
    display: block;
  }
  .footer__menu li {
    margin: 0;
  }
  .footer__menu li + li {
    margin-top: 20px;
  }
      
} /* end @media */


/* common perts
------------------------------------*/
.breadcrumb {
  background-color: #EEEEEE;
  padding: 14px 30px;
}
.breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.breadcrumb ul li {
  font-size: 12px;
}
.breadcrumb ul li + li {
  font-size: 12px;
  margin-left: 12px;
}
.breadcrumb ul li + li::before {
  content: url(../img/breadcrumb.svg);
  vertical-align: middle;
  margin-right: 12px;
}
.breadcrumb ul li a {
  color: #999999;
  text-decoration: underline !important;
}
@media (min-width: 768px) {
  .breadcrumb ul li a:hover {
    text-decoration: none !important;
  }
} /* end @media */

.modal {
  display: none;
  background: rgba(0,0,0,0.80);
  position: fixed;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: 9999;
  overflow: auto;
}
.modal__bg {
  height: 100%;
  width: 100%;
}
.modal__content {
  position: absolute;
  left: 50%;
  top: 20%;
  transform: translate(-50%,0);
  background-color: #FFFFFF;
  border-radius: 20px;
  max-width: 900px;
  width: 95%;
  padding: 40px 60px 30px 60px;
}
.modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  cursor: pointer;
  z-index: 1;
}
.modal__helpText01 {
  display: inline-block;
  background-color: #EEEEEE;
  font-size: 17px;
  font-weight: 700;
  padding: 2px 10px;
  margin-right: 70px;
}
.modal__helpList01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 30px;
}
.modal__helpList01::after {
  content: "";
  display: block;
  width: 31%;
}
.modal__helpList01 li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 31%;
  margin-bottom: 20px;
}
.modal__helpList01 li img {
  width: 40px;
  height: 40px;
}
.modal__helpList01 li span {
  display: inline-block;
  width: calc(100% - 40px - 12px);
  font-size: 14px;
}

.searchBox {
  position: relative;
  max-width: 850px;
  width: 100%;
  margin: 0 auto 0 auto;
  z-index: 1;
}
.searchBox__tabBox {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #FFFFFF;
  border-radius: 10px;
  max-width: 505px;
  width: 100%;
  padding: 0 40px;
  margin: 0 auto -30px auto;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
}
.searchBox__tab {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: 4px solid transparent;
  height: 60px;
  font-size: 16px;
  padding: 0 10px;
  cursor: pointer;
  transition: all 0.3s;
}
.searchBox__tab.is-active {
  border-bottom: 4px solid #3799ED;
  color: #3799ED;
}
@media (min-width: 768px) {
  .searchBox__tab:hover {
    border-bottom: 4px solid #3799ED;
    color: #3799ED;
  }
} /* end @media */
.searchBox__tab--hotel::before {
  content: url(../img/icon_hotel.svg);
  height: 20px;
  width: 24px;
  vertical-align: middle;
  margin-right: 5px;
}
.searchBox__tab--hotel.is-active::before {
  content: url(../img/icon_hotel@active.svg);
}
@media (min-width: 768px) {
  .searchBox__tab--hotel:hover::before {
    content: url(../img/icon_hotel@active.svg);
  }
} /* end @media */
.searchBox__tab--restaurant::before {
  content: url(../img/icon_restaurant.svg);
  height: 20px;
  width: 24px;
  vertical-align: middle;
  margin-right: 5px;
}
.searchBox__tab--restaurant.is-active::before {
  content: url(../img/icon_restaurant@active.svg);
}
@media (min-width: 768px) {
  .searchBox__tab--restaurant:hover::before {
    content: url(../img/icon_restaurant@active.svg);
  }
} /* end @media */
.searchBox__tab--shop::before {
  content: url(../img/icon_shop.svg);
  height: 20px;
  width: 24px;
  vertical-align: middle;
  margin-right: 5px;
}
.searchBox__tab--shop.is-active::before {
  content: url(../img/icon_shop@active.svg);
}
@media (min-width: 768px) {
  .searchBox__tab--shop:hover::before {
    content: url(../img/icon_shop@active.svg);
  }
} /* end @media */
.searchBox__tab--locate {
  color: #BABABA;
  cursor: default;
  pointer-events: none;
}
.searchBox__tab--locate::before {
  content: url(../img/icon_locate.svg);
  height: 20px;
  width: 24px;
  vertical-align: middle;
  margin-right: 5px;
}
.searchBox__tab--locate::after {
  content: ' Comming Soon...';
  position: absolute;
  bottom: 5px;
  right: 3px;
  font-size: 10px;
  color: #E58E8E;
  white-space: nowrap;
}
.searchBox__panelBox {
  background-color: #EEEEEE;
  border-radius: 20px;
  padding: 50px 50px 60px 50px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
.searchBox__panel {
  display: none;
}
.searchBox__panel.is-active {
  display: block;
}
.searchBox__conditions01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 11px;
}
.searchBox__conditions01 input,
.searchBox__conditions01 select {
  background-color: #FFFFFF;
  border: 1px solid #DDDFE1;
  border-radius: 8px;
  max-width: 370px;
  width: 49.5%;
  font-size: 14px;
  padding: 16px 16px 16px 40px;
}
.searchBox__panel--restaurant input.searchBox__keyword {
  max-width: 100% !important;
  width: 100% !important;
  margin-top: 13px;
}
.searchBox__conditions01 input {
  background-image: url(../img/icon_keyword.svg);
  background-repeat: no-repeat;
  background-position: top 18px left 15px;
}
.searchBox__area {
  background-image: url(../img/icon_area.svg),url(../img/arrow_down.svg);
  background-repeat: no-repeat,no-repeat;
  background-position: top 18px left 17px,top 24px right 16px;
}
.searchBox__genre {
  background-image: url(../img/icon_genre.svg),url(../img/arrow_down.svg);
  background-repeat: no-repeat,no-repeat;
  background-position: top 18px left 17px,top 24px right 16px;
}
.searchBox__contitionOaC {
  position: relative;
  font-size: 14px;
  line-height: 17px;
  cursor: pointer;
}
.searchBox__contitionOaC::before {
  content: url(../img/icon_open.svg);
  display: inline-block;
  width: 17px;
  height: 18px;
  vertical-align: middle;
  margin-right: 5px;
}
.searchBox__contitionOaC.is-open::before {
  content: url(../img/icon_close.svg);
}
.searchBox__conditions02  {
  display: none;
  margin-top: 20px;
}
.searchBox__propertyBox {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.searchBox__propertyBox::after{
  content:"";
  display: block;
  width: 245px;
}
.searchBox__property {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #DBDBDB;
  border-radius: 4px;
  width: 245px;
  padding: 10px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: background-color 0.3s;
}
.searchBox__property input[type="checkbox"] {
  display: none;
}
.searchBox__property:has(input[type="checkbox"]:checked) {
  background-color: #FFFFFF;
  border: 2px solid #4BA057;
  padding: 9px;
}
.searchBox__property:has(input[type="checkbox"]:checked)::after {
  content: url(../img/icon_checked.svg);
  display: inline-block;
  position: absolute;
  right: 11px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
}
.searchBox__property img {
  border-radius: 8px;
  width: 40px;
  height: 40px;
}
.searchBox__property span {
  display: inline-block;
  width: calc(100% - 40px - 10px);
  font-size: 13px;
  padding-right: 23px;
}
.searchBox__submit {
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #3799ED;
  border-radius: 31px;
  max-width: 434px;
  width: 100%;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 60px;
  color: #FFFFFF;
  cursor: pointer;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .searchBox__submit:hover {
    background-color: #70B8F5;
  }
} /* end @media */

aside .searchBox__tabBox {
  background-color: #EEEEEE;
  border-radius: 4px;
  max-width: 100%;
  width: 100%;
  padding: 0;
  margin: 0 auto -30px auto;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
}
aside .searchBox__tab {
  display: inline-block;
  background-color: #FFFFFF;
  border-bottom: 4px solid transparent;
  height: 67px;
  width: 33%;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  padding: 12px 0 14px 0;
}
aside .searchBox__tab::before {
  display: block;
  margin: 0 auto;
}
aside .searchBox__tab--locate::after {
  content: none;
}

aside .searchBox__panelBox {
  border-radius: 4px;
  padding: 50px 20px 48px 20px;
  box-shadow: none;
}
aside .searchBox__conditions01 input,
aside .searchBox__conditions01 select {
  max-width: 100%;
  width: 100%;
}
aside .searchBox__genre {
  margin-top: 10px;
}
aside .searchBox__keyword {
  margin-top: 10px;
}
aside .searchBox__propertyBox {
  display: block;
}
aside .searchBox__propertyBox::after{
  content: none;
}
aside .searchBox__property {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%; 
  margin-bottom: 11px;
}
aside .searchBox__submit {
  max-width: 235px;
  width: 100%;
  text-align: center;
  font-size: 20px;
}

.listSide__map {
  margin-top: 60px;
}
.listSide__area {
  margin-top: 30px;
}
.listSide__area h2 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
}
.listSide__area ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.listSide__area ul li,
.footerBox__category li {
  margin: 0 6px 10px 0;
}
.listSide__areaLink,
.footerBox__category li a {
  display: inline-block;
  border: 1px solid #3799ED;
  border-radius: 31px;
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  line-height: 25px;
  color: #3799ED;
  padding: 0 20px;
}
.listSide__ad {
  width: 100%;
  margin-top: 50px;
}
.listSide__ad + .listSide__ad  {
  margin-top: 20px;
}

@media (max-width: 767px) {

  .breadcrumb {
    display: none;
  }

  .modal__content {
    top: 10%;
    padding: 40px 20px 30px 20px;
  }
  .modal__helpList01 li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 20px;
  }
    
  .searchBox {
    max-width: 100%;
    width: 100%;
  }
  aside .searchBox__conditions01 input,
  aside .searchBox__conditions01 select {
    max-width: 370px;
    width: 49.5%;
  }
  aside .searchBox__genre,
  aside .searchBox__keyword {
    margin-top: 0;
  }
  .secTopAbout .searchBox {
    max-width: 100vw;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .searchBox__tabBox {
    background-color: #EEEEEE;
    border-radius: 4px;
    max-width: 80% !important;
    width: 100%;
    padding: 0;
    margin: 0 auto -30px auto;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
    overflow: hidden;
  }
  .searchBox__tab {
    display: inline-block;
    background-color: #FFFFFF;
    border-bottom: 4px solid transparent;
    height: 67px;
    width: 33%;
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    padding: 12px 0 14px 0;
  }
  .searchBox__tab::before {
    display: block;
    margin: 0 auto;
  }
  .searchBox__tab--locate::after {
    content: none;
  }
  .searchBox__panelBox {
    border-radius: 4px;
    padding: 50px 20px 48px 20px;
    box-shadow: none;
  }
  aside .searchBox__panelBox,
  .menuBox .searchBox__panelBox {
    padding: 50px 20px 38px 20px;
  }
  .searchBox__area {
    background-position: top 18px left 17px,top 24px right 10px;
  }
  .searchBox__genre {
    background-position: top 18px left 17px,top 24px right 10px;
  }
  .searchBox__propertyBox {
    display: block;
  }
  .searchBox__propertyBox::after{
    content: none;
  }
  .searchBox__property {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%; 
    margin-bottom: 11px;
  }
  .searchBox__submit {
    max-width: 235px;   
  }
  aside .searchBox__submit,
  .menuBox .searchBox__submit {
    bottom: -15px;
    max-width: 150px !important;
    text-align: center;
    font-size: 17px !important;
    line-height: 36px;
  }

  .listSide__map,
  .listSide__area,
  .listSide__ad {
    display: none;
  }
  
} /* end @media */

/* HOME
------------------------------------*/
.secTopMain {
  position: relative;
  height: 356px;
  width: 100%;
}
.secTopMain__slide ,
.secTopMain__slide li {
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
}
.secTopMain__slide li {
  position: relative;
}
.secTopMain__slide li picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.secTopMain__slide .swiper-slide {
  overflow: hidden;
}
.secTopMain__slide .swiper-slide-prev picture img,
.secTopMain__slide .swiper-slide-active picture img,
.secTopMain__slide .swiper-slide-duplicate-active picture img {
  animation-name: zoom;
  animation-duration: 10s;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}
@keyframes zoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}
.secTopMain__text {
	position: absolute;
  top: 50px;
  width: 100%;
  text-align: center;
  color: #FFFFFF;
  z-index: 2;
}
.secTopMain__text01 {
  font-size: 38px;
  font-weight: 700;
}
.secTopMain__text02 {
  font-size: 21px;
}

.secTopAbout {
  padding: 0;
  margin-top: -180px;
}

.secTopAbout__box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 97px;
}
.secTopAbout__box01 {
  position: relative;
  display: flex;
  align-items: flex-end;
  border-radius: 20px;
  max-width: 500px;
  width: 48%;
  aspect-ratio: 5 / 4.4;
  padding: 3%;
  overflow: hidden;
}
.secTopAbout__box01::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.29);
  width: 100%;
  height: 100%;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .secTopAbout__box01:hover::after {
    background-color: rgba(0, 0, 0, 0);
  }  
} /* end @media */
.secTopAbout__image {
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .secTopAbout__box01:hover .secTopAbout__image {
    transform: scale(1.1);
  }  
} /* end @media */
.secTopAbout__text {
  position: relative;
  z-index: 1;
}
.secTopAbout__box01 p {
  font-size: 30px;
  font-weight: 700;
  color: #FFFFFF;
}
.secTopAbout__view {
  display: inline-block;
  font-size: 18px;
  font-weight: 500;
  color: #FFFFFF;
  margin-top: 20px;
}
.secTopAbout__view::before {
  content: url(../img/icon_link.svg);
  display: inline-block;
  height: 60px;
  vertical-align: middle;
  margin-right: 17px;
}
.secTopAbout__box02 {
  max-width: 555px;
  width: 49%;
}
.secTopAbout__box02 h2 {
  font-size: 24px;
  font-weight: 700;
}
.secTopAbout__text01 {
  font-size: 12px;
  color: #A8A8A8;
}
.secTopAbout__infomationLink {
  text-align: center;
  margin-top: 40px;
}
.secTopAbout__infomationLink a {
  display: inline-block;
  border: 1px solid #3799ED;
  border-radius: 30px;
  max-width: 240px;
  width: 100%;
  text-align: center;
  font-size: 16px;
  color: #3799ED;
  font-weight: 500;
  line-height: 58px;
}

.secTopFacility {
  overflow: hidden;
  padding: 100px 0 0 0;
}
.secTopFacility h2,
.secTopTourist h2 {
  text-align: center;
  font-size: 30px;
  margin-bottom: 50px;
}
.secTopFacility h2 strong,
.secTopTourist h2 strong {
  font-weight: 700;
}
.secTopFacility__band {
  background-color: #EEEEEE;
  padding: 10px 0 5px 0;
  margin-bottom: 40px;
}
.secTopFacility__tabBox {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  padding-bottom: 5px;
  overflow-x: auto;
  scrollbar-width: thin;
}
 .secTopFacility__tab {
  border-radius: 4px;
  font-size: 16px;
  line-height: 42px;
  padding: 0 20px;
  cursor: pointer;
}
.secTopFacility__tab.is-active {
  background-color: #3799ED;
  color: #FFFFFF;
  font-weight: 700;
  pointer-events: none;
}
@media (min-width: 768px) {
  .secTopFacility__tab:hover {
    background-color: #F8F8F8;
  }  
} /* end @media */
.secTopFacility__panel {
  display: none;
}
.secTopFacility__panel.is-active {
  display: block;
}
.secTopFacility__panel .swiper {
  overflow: visible;
}
.facilitySlide__item {
  position: relative;
  width: 304px;
}
.facilitySlide__link {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.facilitySlide__iamge {
  border-radius: 10px;
  overflow: hidden;
}
.facilitySlide__iamge img {
  width: 304px;
  height: 203px;
  object-fit: cover;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .facilitySlide__item:hover .facilitySlide__iamge img {
    transform: scale(1.1);
  }
} /* end @media */

.facilitySlide__item h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5em;
  padding-bottom: 10px;
  margin-top: 16px;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .facilitySlide__item:hover h3 {
    color: #3799ED;
  }
} /* end @media */
.facility__category,
.facilitySlide__category,
.facilityList__category {
  position: relative;
  display: flex;
  z-index: 2;
}
.facility__areaLink,
.facilitySlide__areaLink,
.facilityList__areaLink,
.categoryLink {
  display: inline-block;
  background-color: #E3EDFF;
  border-radius: 2px;
  font-size: 13px;
  font-weight: 500;
  color: #3799ED !important;
  padding: 1px 10px;
  margin-bottom: 6px;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .facility__areaLink:hover,
  .facilitySlide__areaLink:hover,
  .facilityList__areaLink:hover,
  .categoryLink:hover {
    opacity: 0.6;
  }  
} /* end @media */
.facility__areaLink + .facility__areaLink,
.facilitySlide__areaLink + .facilitySlide__areaLink,
.facilityList__areaLink + .facilityList__areaLink,
.categoryLink + .categoryLink {
  margin-left: 5px;
}
.facility__area + .facility__genre,
.facilitySlide__area + .facilitySlide__genre,
.facilityList__area + .facilityList__genre {
  margin-left: 10px;
}
.facility__genreLink,
.facilitySlide__genreLink,
.facilityList__genreLink {
  font-size: 13px;
  font-weight: 500;
  color: #3799ED;
  text-decoration: underline;
  margin-bottom: 6px;
}
@media (min-width: 768px) {
  .facility__genreLink:hover,
  .facilitySlide__genreLink:hover,
  .facilityList__genreLink:hover {
    text-decoration: none;
  }  
} /* end @media */
.facility__genreLink + .facility__genreLink::before,
.facilitySlide__genreLink + .facilitySlide__genreLink::before,
.facilityList__genreLink + .facilityList__genreLink::before {
  content: ', ';
}
.facility__property,
.facilitySlide__property,
.facilityList__property {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  padding-top: 10px;
}
.facility__property li,
.facilitySlide__property li,
.facilityList__property li {
  width: 40px;
  margin: 0 4px 4px 0;
}
.facilitySlide__property li:nth-of-type(7n) {
  margin-right: 0;
}
.facility__property li img,
.facilitySlide__property li img,
.facilityList__property li img {
  border-radius: 8px;
}
.propertyHelp {
  position: relative;
  padding-left: 6px;
  cursor: pointer;
  z-index: 2;
}
.propertyHelp::after {
  content: url(../img/icon_help.svg);
  display: inline-block;
  height: 20px;
  width: 20px;
  vertical-align: middle;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .propertyHelp:hover::after {
    content: url(../img/icon_help@h.svg);
  }
} /* end @media */
.facility__property2,
.facilitySlide__property2,
.facilityList__property2 {
  display: flex;
  font-size: 12px;
  line-height: 15px;
  margin-top: 13px;
}
.facility__wifi::before,
.facilitySlide__wifi::before,
.facilityList__wifi::before {
  content: url(../img/icon_wifi.svg);
  display: inline-block;
  height: 15px;
  width: 17px;
  vertical-align: middle;
  margin-right: 8px;
}
.facility__wifi + .facility__foreignSupport,
.facilitySlide__wifi + .facilitySlide__foreignSupport,
.facilityList__wifi + .facilityList__foreignSupport {
  margin-left: 16px;
}
.facility__foreignSupport::before,
.facilitySlide__foreignSupport::before,
.facilityList__foreignSupport::before {
  content: url(../img/icon_foreign.svg);
  display: inline-block;
  height: 15px;
  width: 17px;
  vertical-align: middle;
  margin-right: 8px;
}
.facility__google,
.facilitySlide__google,
.facilityList__google,
.gmapBalloon__google {
  display: flex;
  align-items: center;
  height: 21px;
  margin-top: 12px;
}
.gmapBalloon__google{
  align-items: flex-start;
  height: auto;
  margin-top: 10px;
}
.gstar {
  position: relative;
  display: inline-block;
  width: 75px;
  height: 15px;
  font-size: 15px;  
  font-weight: 700;
}
.gstar::before,
.gstar::after {
  position: absolute;
  display: inline-block;
  height: 15px;
  content: '★★★★★';
  line-height: 15px;
}
.gstar::before {
  color: #FCD9BA; 
}
.gstar::after {
  overflow: hidden;
  width: calc(var(--score) * 15px);
  color: #FF7600;
}
.gnum {
  font-size: 14px;
  font-weight: 700;
  color: #FF7600;
  margin-right: 10px;
}
.facility__rating {
  position: relative;
  z-index: 2;
}
.facility__rating a {
  display: flex;
  width: 100%;
  align-items: center;
  flex-wrap: wrap;
}
.facility__google small,
.facilitySlide__google small,
.facilityList__google small,
.gmapBalloon__google small {
  min-height: 21px;
  font-size: 10px;
  color: #999999;
  padding-top: 2px;
}
.gmapBalloon__google small {
  display: block;
}
@media (min-width: 768px) {
  .facility__rating a:hover small {
    text-decoration: underline;
  }
} /* end @media */
.facilitySlide__item .simplefavorite-button,
.facilityList__item .simplefavorite-button {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  cursor: pointer;
}
.facility article .btn_favorite::after,
.facilitySlide__item .btn_favorite::after,
.facilityList__item .btn_favorite::after {
  content: url(../img/icon_favorite@off.svg);
  display: inline-block;
  width: 22px;
  height: 20px;
}
.facility article .btn_favorited::after,
.facilitySlide__item .btn_favorited::after,
.facilityList__item .btn_favorited::after {
  content: url(../img/icon_favorite@on.svg);
  display: inline-block;
  width: 22px;
  height: 20px;
}
.btn_favorite::after,
.btn_favorited::after {
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .btn_favorite:hover:after,
  .btn_favorited:hover:after {
    transform: scale(1.1);
  }
} /* end @media */

.secTopFacility__controller {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 40px;
}
.secTopFacility__navi {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: 100px;
}
.secTopFacility__panel .swiper-button-prev,
.secTopFacility__panel .swiper-button-next {
  position: relative;
  top: initial;
  left: initial;
  right: initial;
  width: 46px;
  margin: 0;
}
.secTopFacility__panel .swiper-button-prev:after,
.secTopFacility__panel .swiper-button-next:after {
  content: "";
  width: 10px;
  height: 10px;
  content: "";
  border: 2px solid #4B8CFA;
  border-width: 2px 2px 0 0;
}
.secTopFacility__panel .swiper-button-prev:before {
  content: "";
  background-color: #E3EDFF;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  transition: all 0.3s;
}
.secTopFacility__panel .swiper-button-prev:after {
  margin-left: 0.4rem;
  transform: rotate(-135deg);
}
.secTopFacility__panel .swiper-button-next:before {
  content: "";
  background-color: #E3EDFF;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  transition: all 0.3s;
}
.secTopFacility__panel .swiper-button-next:after {
  margin-right: 0.4rem;
  transform: rotate(45deg);
}
@media (min-width: 768px) {
  .secTopFacility__panel .swiper-button-prev:hover:before,
  .secTopFacility__panel .swiper-button-next:hover:before {
    background-color: #BED5FD;
  }
} /* end @media */
.secTopFacility__panel .swiper-pagination {
  position: relative;
  bottom: initial;
  width: calc(100% - 100px - 30px);
  text-align: left;
}
.secTopFacility__viewall {
  text-align: center;
  margin-top: 50px;
}
.secTopFacility__viewall a,
.secTopTourist__viewall a {
  display: inline-block;
  border: 1px solid #3799ED;
  border-radius: 30px;
  max-width: 500px;
  width: 100%;
  text-align: center;
  font-size: 16px;
  color: #3799ED;
  font-weight: 500;
  line-height: 58px;
}

.secTopAd {
  background-color: #EEEEEE;
  padding: 40px 0 60px 0;
  margin-top: 100px;
}
.secTopAd__box {
  max-width: 700px;
  width: 100%;
  margin: 0 auto;
}

.secTopTourist {
  padding-top: 100px;
}
.secTopTourist .pageWidth {
  max-width: 1000px;
}
.touristList {
  margin-top: 70px;
}
.touristList__item{
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.touristList__item + .touristList__item {
  margin-top: 50px;
}
.touristList__link {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.touristList__image {
  border-radius: 10px;
  max-width: 300px;
  width: 34%;
  overflow: hidden;
}
.touristList__image img {
  width: 300px;
  height: 200px;
  object-fit: cover;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .touristList__item:hover .touristList__image img {
    transform: scale(1.1);
  }
} /* end @media */
.touristList__text {
  max-width: 560px;
  width: 63%;
}
.touristList__text h3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5em;
  margin-bottom: 16px;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .touristList__item:hover .touristList__text h3 {
    color: #3799ED;
  }
} /* end @media */
.touristList__text p {
  font-size: 16px;
  line-height: 1.5em;
}
.touristList__button {
  text-align: right;
  margin-top: 20px;
}
.touristList__button button {
  position: relative;
  display: inline-block;
  font-size: 16px;
  font-weight: 500;
  line-height: 16px;
  color: #3799ED;
  text-decoration: underline;
  padding-right: 16px;
}
.touristList__button button::after {
  content: url(../img/arrow_right.svg);
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  width: 6px;
  height: 12px;
}
@media (min-width: 768px) {
  .touristList__item:hover .touristList__button button {
    text-decoration: none;
  }
} /* end @media */
.secTopTourist__viewall {
  text-align: center;
  margin-top: 70px;
}

@media (max-width: 767px) {

  .secTopMain {
    height: 219px;
  }
  .secTopMain__text {
    top: 30px;
  }      
  .secTopMain__text01 {
    font-size: 24px;
    font-weight: 400;
  }
  .secTopMain__text01 strong {
    font-size: 36px;
    font-weight: 700;
  }
  .secTopMain__text02 {
    font-size: 15px;
  }
  .secTopAbout {
    margin-top: -40px;
  }

  .secTopAbout__box {
    display: block;
    margin-top: 0;
  }
  .secTopAbout__box01 {
    border-radius: 0;
    max-width: 100vw;
    width: 100vw;
    padding: 30px 20px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .secTopAbout__box01 p {
    font-size: 24px;
    font-weight: 700;
  }
    
  .secTopAbout__box02 {
    max-width: 100%;
    width: 100%;
    margin-top: 50px;
  }
  .secTopAbout__box02 h2 {
    text-align: center;
  }
  .secTopAbout__text01 {
    text-align: center;
  }
  .secTopAbout .postList {
    margin-top: 30px;
  }
  .secTopAbout__infomationLink a {
    max-width: 500px;
  }

  .secTopFacility {
    padding: 70px 0 0 0;
  }
  .secTopFacility h2,
  .secTopTourist h2 {
    font-size: 24px;
    margin-bottom: 30px;
  }

  .touristList {
    margin-top: 40px;
  }
  .touristList__image {
    max-width: 100%;
    width: 100%;
    overflow: hidden;
  }
  .touristList__image img {
    width: 100%;
    height: auto;
  }
  .touristList__text {
    max-width: 100%;
    width: 100%;
    margin-top: 20px;
  }
      
} /* end @media */


/* Facility List
------------------------------------*/
.container--list aside {
  width: 300px;
}
.container--list main,
.container--favorite main {
  max-width: 754px;
  width: calc(100% - 300px - 2%);
}

.listTitle {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.5em;
}
.listText01 {
  font-size: 14px;
  line-height: 1.5em;
}

.facilityList {
  display: block;
  margin-top: 20px;
}
.facilityList__item {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.facilityList__item + .facilityList__item {
  margin-top: 40px;
}
.facilityList__link {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.facilityList__item01 {
  position: relative;
  max-width: 318px;
  width: 43%;
}
.facilityList__iamge {
  border-radius: 10px;
  overflow: hidden;
}
.facilityList__iamge img {
  width: 318px;
  height: 212px;
  object-fit: cover;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .facilityList__item:hover .facilityList__iamge img {
    transform: scale(1.1);
  }
} /* end @media */
.facilityList__item02 {
  max-width: 396px;
  width: 53%;
}
.facilityList__item02 h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5em;
  margin-bottom: 10px;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .facilityList__item:hover .facilityList__item02 h3 {
    color: #3799ED;
  }
} /* end @media */
.facilityList__property li {
  width: 33px;
  margin: 0 4px 4px 0;
}
.facilityList__button {
  text-align: right;
  margin-top: 13px;
}
.facilityList__button button {
  display: inline-block;
  border: 1px solid #3799ED;
  border-radius: 31px;
  width: 114px;
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  line-height: 25px;
  color: #3799ED;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .facilityList__item:hover .facilityList__button button {
    background-color: #E3EDFF;
  }
} /* end @media */

.facilityPagenavi {
  margin-top: 110px;
  text-align: center;
}
.facilityPagenavi .page,
.facilityPagenavi .current {
  display: inline-block;
  background-color: #FFFFFF;
  border: 1px solid#3799ED;
  border-radius: 50%;
  width: 45px;
  font-size: 18px;
  font-weight: 700;
  line-height: 43px;
  color: #3799ED;
  margin: 0 6px;
  transition: all 0.3s;
}
.facilityPagenavi .current {
  background-color: #3799ED;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .facilityPagenavi .page:hover {
    background-color: #E3EDFF;
  }
} /* end @media */
.facilityPagenavi .previouspostslink,
.facilityPagenavi .nextpostslink,
.facilityPagenavi .first,
.facilityPagenavi .last,
.facilityPagenavi .extend {
  color: #3799ED;
  font-size: 20px;
  font-weight: 700;
  margin: 0 8px;
}

@media (max-width: 767px) {

  .container--list aside {
    margin-top: -30px;
  }
  .container--list main {
    margin-top: 40px;
  }

  .facilityList__item {
    display: block;
    border-bottom: 1px solid #EEEEEE;
    padding-bottom: 20px;
  }
  .facilityList__item + .facilityList__item {
    margin-top: 20px;
  }
  .facilityList__item01 {
    float: left;
    width: 150px;
    margin-right: 20px;
  }
  .facilityList__iamge img {
    width: 150px;
    height: 100px;
  }
  .facilityList__item02 {
    max-width: 100%;
    width: 100%;
  }
  .facilityList__item02 h3 {
    font-size: 16px;
    margin-bottom: 6px;
  }
  .facilityList__property {
    clear: both;
  }


} /* end @media */


/* Mosque & Prayspace List
------------------------------------*/
.container--single {
  display: block;
}
.tableWrap {
  margin-top: 70px;
  width: 100%;
  overflow-x: scroll;
}
.mosqueTable {
  border-collapse: collapse;
  border-spacing: 0;
  width: 1124px;
}
.mosqueTable th {
  background-color: #eeeeee;
  border: 1px solid #cccccc;
  font-size: 15px;
  font-weight: 700;
  padding: 20px;
}
.mosqueTable td {
  border: 1px solid #cccccc;
  font-size: 15px;
  padding: 20px;
}
.mosqueTable__url {
  word-break: break-all;
}

@media (max-width: 767px) {
  
} /* end @media */


/* Facility Single
------------------------------------*/
.facility .pageWidth,
.post .pageWidth {
  max-width: 1100px;
}
.container--facility aside {
  position: sticky;
  top: 0;
  max-width: 300px;
  width: 30%;
}
.container--facility main,
.container--post main,
.container--category main {
  max-width: 640px;
  width: 68%;
}
.facility article {
  position: relative;
}
.facility article .btn_favorite,
.facility article .btn_favorited {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  background-color: #EEEEEE;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  cursor: pointer;
}
.facility article .btn_favorite::after {
  position: absolute;
  top: 50%;
  left: 50%;
  right: initial;
  transform: translate(-50%,-50%);
}
.facility article .btn_favorited::after {
  position: absolute;
  top: 50%;
  left: 50%;
  right: initial;
  transform: translate(-50%,-50%);
}
.facility article h1 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.3em;
  padding-right: 60px;
}
.facility__property li {
  width: 33px;
}
.facility__slide {
  margin-top: 20px;
}
.facility__slide .swiper-slide {
  border-radius: 10px;
  max-width: 640px;
  max-height: 426px;
  aspect-ratio: 640/426;
  overflow: hidden;
}
.facility__slide .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.facility__slide .swiper-button-next,
.facility__slide .swiper-button-prev {
  height: 56.66px;
  width: 29.33px;
}
.facility__slide .swiper-button-next {
  right: 26px;
}
.facility__slide .swiper-button-prev {
  left: 26px;
}
/* 前へ次への矢印カスタマイズ */
.facility__slide .swiper-button-prev::after,
.facility__slide .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 56.66px;
  width: 29.33px;
  margin: auto;
}
/* 前への矢印カスタマイズ */
.facility__slide .swiper-button-prev::after {
  background-image: url(../img/swiper_prev.svg);
}
/* 次への矢印カスタマイズ */
.facility__slide .swiper-button-next::after {
  background-image: url(../img/swiper_next.svg);
}
.facility__slide .swiper-button-next.swiper-button-disabled,
.facility__slide .swiper-button-prev.swiper-button-disabled {
  opacity: .5;
}
.facility__thumbnail {
  overflow: hidden;
  margin-top: 16px;
}
.facility__thumbnail .swiper-slide {
  border-radius: 8px;
  overflow: hidden;
}
.facility__thumbnail .swiper-slide img {
  aspect-ratio: 3/2;
  object-fit: cover;
}

.facility__image {
  margin-top: 20px;
}
.facility__text {
  margin-top: 30px;
}
.facility__text p {
  font-size: 15px;
}
.facility__supplement {
  margin-top: 50px;
}
.facility__supplementFlex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.facility__supplementFlex + .facility__supplementFlex {
  margin-top: 30px;
}
.facility__supplementImage {
  max-width: 180px;
  width: 29%;
}
.facility__supplementImage img {
  border-radius: 8px;
}
.facility__supplementText {
  width: 100%;
}
.facility__supplementImage + .facility__supplementText {
  max-width: 440px;
  width: 68;
}
.facility__supplementText h3 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
}
.facility__supplementText p {
  font-size: 15px;
  white-space: pre-wrap;
}
.facility__supplementBox {
  display: none;
  margin-top: 30px;
}
.facility__supplementView {
  position: relative;
  background-color: #E3EDFF;
  margin-top: 30px;
  text-align: center;
  font-size: 12px;
  color: #3799ED;
  padding: 15px 0 24px 0;
  cursor: pointer;
}
.facility__supplementView::before {
  content: 'View more';
}
.facility__supplementView::after {
  content: url(../img/arrow_down.svg);
  display: inline-block;
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
}
.facility__supplementView.is-open::before {
  content: 'View less';
}
.facility__supplementView.is-open::after {
  transform: translateX(-50%) rotate(180deg);
  bottom: 7px;
}
.facility__detail {
  border-top: 1px solid #EEEEEE;
  margin-top: 50px;
}
.facility__detail dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-bottom: 1px solid #EEEEEE;
}
.facility__detail dt {
  width: 26%;
  font-size: 14px;
  font-weight: 700;
  padding: 20px 20px 20px 0;
}
.facility__detail dd {
  width: 72%;
  font-size: 14px;
  word-break: break-all;
  padding: 20px 0;
}
.facility__address dd {
  position: relative;
  padding-left: 22px;
}
.facility__address dd::before {
  content: url(../img/icon_area.svg);
  display: inline-block;
  position: absolute;
  top: 21px;
  left: 0;
  width: 14px;
  height: 16.9px;
}
.facility__access {
  font-size: 14px;
  margin-top: 30px;
}
.facility__gmap {
  width: 100%;
  height: 350px;
  margin-top: 19px;
}
.facility__mapLink {
  text-align: center;
  margin-top: 30px;
}
.facility__mapLink a {
  position: relative;
  display: inline-block;
  background-color: #333333;
  border-radius: 21px;
  width: 174px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  color: #FFFFFF;
  line-height: 41px;
  z-index: 1;
}
.facility__mapLink img {
  vertical-align: middle;
  margin-left: 10px;
}

.facilitySide__booknow h2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 24px;
  margin-bottom: 18px;
}
.facilitySide__booknow h2 strong {
  font-weight: 700;
}
.facilitySide__booknow h2::before {
  content: '';
  display: inline-block;
  background-color: #CCCCCC;
  height: 1px;
  width: 25%;
}
.facilitySide__booknow h2::after {
  content: '';
  display: inline-block;
  background-color: #CCCCCC;
  height: 1px;
  width: 25%;
}
.facilitySide__booknow a {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #3799ED;
  border-radius: 30px;
  width: 100%;
  height: 60px;
  text-align: center;
}
.facilitySide__booknow a + a {
  margin-top: 10px;
}
.facilitySide__booking::before {
  content: url(../img/logo_booking.svg);
  display: inline-block;
  height: 20px;
}
.facilitySide__expedia::before {
  content: url(../img/logo_expedia.svg);
  display: inline-block;
  height: 33px;
}
.facilitySide__agoda::before {
  content: url(../img/logo_agoda.svg);
  display: inline-block;
  height: 22px;
}
.facilityBottom__booknow,
.facilityBottom__contact {
  display: none;
}

.facilitySide__ad,
.postSide__ad {
  width: 100%;
  margin-top: 50px;
}

.facilitySide__url a {
  display: inline-block;
  border: 1px solid #3799ED;
  border-radius: 30px;
  width: 100%;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 58px;
  color: #3799ED;
}
.facilitySide__url a::after {
  content: url(../img/icon_externallink.svg);
  display: inline-block;
  width: 18px;
  height: 15px;
  vertical-align: middle;
  line-height: 15px;
  margin-left: 10px;
} 
.facilitySide__tel {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 22.07px;
  margin-top: 19px;
}
.facilitySide__tel a::before {
  content: url(../img/icon_tel.svg);
  display: inline-block;
  width: 16.93px;
  height: 22.07px;
  vertical-align: middle;
  line-height: 20.07px;
  margin-right: 8px;
} 

@media (max-width: 767px) {
  
	.facility .container { margin-top: 30px; }
  .facility__slide {
    width: 100vw;    
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .facility__slide .swiper-slide {
    border-radius: 0;
    max-width: 100%;
    max-height: initial;
    aspect-ratio: 640/426;
  }
  .facility__slide .swiper-button-next,
  .facility__slide .swiper-button-prev {
    height: 35.48px;
    width: 18.74px;
  }
  .facility__slide .swiper-button-next {
    right: 17px;
  }
  .facility__slide .swiper-button-prev {
    left: 17px;
  }
  /* 前へ次への矢印カスタマイズ */
  .facility__slide .swiper-button-prev::after,
  .facility__slide .swiper-button-next::after {
    height: 35.48px;
    width: 18.74px;
  }
  /* 前への矢印カスタマイズ */
  .facility__slide .swiper-button-prev::after {
    background-image: url(../img/swiper_prev@sp.svg);
  }
  /* 次への矢印カスタマイズ */
  .facility__slide .swiper-button-next::after {
    background-image: url(../img/swiper_next@sp.svg);
  }
  .facility__thumbnail {
    padding-left: calc(50vw - 50%);
    margin-top: 10px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .facility__gmap {
    width: 100vw;
    margin-top: 20px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  
  .facilityBottom__booknow,
  .facilityBottom__contact {
    position: fixed;
    left: 0;
    bottom: 0;
    display: flex;
    width: 100%;
    background-color: #FFFFFF;
    box-shadow: 0 -3px 6px rgba(0, 0, 0, 0.16);
    z-index: 1;
  }
  .facilityBottom__booknow h2 {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #3799ED;
    width: 64px;
    height: 68px;
    font-size: 15px;
	  line-height: 1.2em;
	  text-align: center;
    color: #FFFFFF;
  }
  .facilityBottom__booknow h2 strong {
    display: block;
  }
  .facilityBottom__booknow h2::before,
  .facilityBottom__booknow h2::after {
    content: none;
  }
  .facilityBottom__booknowLink {
    display: flex;
    width: calc(100% - 54px);
  }
  .facilityBottom__booknow a {
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    border-radius: 0;
    width: 100%;
    height: 68px;
  }
  .facilityBottom__booknow a + a {
    border-left: 1px solid #DDDDDD;
    margin-top: 0;
  }
  .facilityBottom__booking::before {
    content: url(../img/logo_booking@sp.svg);
    height: 14px;
  }
  .facilityBottom__expedia::before {
    content: url(../img/logo_expedia@sp.svg);
    height: 33px;
  }
  .facilityBottom__agoda::before {
    content: url(../img/logo_agoda@sp.svg);
    height: 31px;
  }
  .facilityBottom__url {
    width: 100%;
  }
  .facilityBottom__url a {
    display: inline-block;
    background-color: #3799ED;
    border: none;
    border-radius: 0;
    width: 100%;
    font-size: 16px;
    font-weight: 500;
    line-height: 58px;
    text-align: center;
    color: #FFFFFF;
  }
  .facilityBottom__url a::after {
    content: url(../img/icon_externallink@sp.svg);
    display: inline-block;
    width: 18px;
    height: 15px;
    vertical-align: middle;
    line-height: 15px;
    margin-left: 10px;
  } 
  .facilityBottom__tel {
    text-align: center;
    width: 100%;
    line-height: 58px;
    margin-top: 0;
  }
  .facilityBottom__tel a::after {
    content: url(../img/icon_tel@sp.svg);
    display: inline-block;
    width: 14px;
    height: 18.26px;
    vertical-align: middle;
    line-height: 18.26px;
    margin-left: 10px;
  } 
  .facilityBottom__tel span {
    font-size: 16px;
    font-weight: 500;
  } 

  .facility footer {
    padding-bottom: 58px;
  }
  .facility #scroll-to-top-btn {
    bottom: 68px;
  }
} /* end @media */


/* Information List
------------------------------------*/
.postList {
  margin-top: 20px;
}
.postList__item {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.postList__item + .postList__item {
  margin-top: 20px;
}
.postList__item > a {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.postList__image {
  border-radius: 4px;
  overflow: hidden;
}
.postList__image img {
  width: 126px;
  height: 77px;
  object-fit: cover;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .postList__item:hover .postList__image img {
    transform: scale(1.1);
  }
} /* end @media */
.postList__text {
  width: calc(100% - 126px - 13px);
}
.postList__category {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  z-index: 2;
}
.postList__category li {
  margin: 0 8px 8px 0;
}
.postList__item h3 {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 16px;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .postList__item:hover h3 {
    color: #3799ED;
  }
} /* end @media */


/* Post Single
------------------------------------*/
.container--post aside,
.container--category aside {
  max-width: 300px;
  width: 30%;
}
.post article h1 {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.5em;
  margin-bottom: 40px;
}
.postSide__title {
  border-top: 1px solid #707070;
  font-size: 20px;
  font-weight: 700;
  padding-top: 20px;
  margin-bottom: 20px;
}
.postSideList {
  margin-top: 20px;
}
.postSideList__item {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.postSideList__item + .postSideList__item {
  margin-top: 16px;
}
.postSideList__item > a {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.postSideList__image {
  border-radius: 4px;
  overflow: hidden;
}
.postSideList__image img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .postSideList__item:hover .postSideList__image img {
    transform: scale(1.1);
  }
} /* end @media */
.postSideList__text {
  display: flex;
  width: calc(100% - 80px - 12px);
}
.postSideList__text h3 {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  font-size: 12px;
  font-weight: 700;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .postSideList__item:hover .postSideList__text h3 {
    color: #3799ED;
  }
} /* end @media */


/* Post category
------------------------------------*/
.container--category main {
  max-width: 754px;
  width: calc(100% - 300px - 2%);
}


/* PAGE
------------------------------------*/
.pageTitle {
  text-align: center;
  font-size: 40px;
  margin-bottom: 70px;
}


/* PAGE About Us
------------------------------------*/
.about_table {
	width:100%;
}
.about_table th {
	padding:20px;
	border:1px solid #ccc;
	font-size:15px;
	font-weight: bold;
}
.about_table td {
	padding:20px;
	border:1px solid #ccc;
	font-size:15px;
}
.about_dl dd {
	margin:-16px 0 10px 50px;
}

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

  .about_table { border-bottom: 1px solid #ccc; }
  .about_table th {
    border-bottom: 0;
    background:#fafafa;
    display: block;
  }

  .about_table td {
    display: block;
    border-bottom: 0;
  }

}


/* PAGE policy
------------------------------------*/
.policy h2 {
	font-size: 28px;
	line-height: 1.3em;
	margin-bottom: 30px;
	margin-top:100px;
	padding-bottom: 30px;
	border-bottom: 1px solid #ccc;
	text-align: center;
}
.policy p {
	font-size:15px;
	line-height: 1.5em;
	margin-bottom: 30px;
}
.policy li {
	list-style-type : disc;
	font-size:15px;
	line-height: 1.5em;
	margin-bottom: 20px;
}


/* PAGE 掲載のご案内
------------------------------------*/
.contact_table {
	width:100%;
	margin-top: 16px;
	border: solid 16px #eee;
	border-collapse: collapse;
	line-height:180%;
}
.contact_table tr:hover {
	background-color:#fcfcfc;
}

.contact_table th {
	font-size:14px;
	border: solid 1px #eee;
	text-align:left;
	font-weight: normal;
	width : 30%;
	padding : 16px 20px;
}
.contact_table td {
	text-align:left;
	font-size:14px;
	border: solid 1px #eee;
	padding: 16px 20px;
	vertical-align:top;
}

.contact_table th span {
	background:#eb6877;
	padding:4px 10px;
	border-radius:16px;
	color:#fff;
	font-size:11px;
}

.contact_table input[type="text"],
.contact_table input[type="email"],
.contact_table input[type="tel"] {
	-webkit-appearance: none;
	border:1px solid #ccc;
	width:100%;
	padding:8px;
	border-radius:4px;
	font-size:14px;
	background:#fafafa;
	box-sizing: border-box;
}
.contact_table input[type="text"]:focus,
.contact_table input[type="email"]:focus,
.contact_table input[type="tel"]:focus {
	background:#eee;
}


.contact_table textarea {
	-webkit-appearance: none;
	width:100%;
	height:200px;
	border:1px solid #ccc;
	border-radius:4px;
	padding:6px;
	font-size:14px;
	line-height:1.7em;
	background:#fafafa;
	box-sizing: border-box;
}
.contact_table textarea:focus {
	background:#eee;
	outline:none;	
}


.contact_table th.f_table_title {
	text-align:center;
	background:#eee;
}

#form_bt {
	width:100%;
	text-align:center;
	margin-top:30px;
}
#form_bt input {
	-webkit-appearance: none;
	border:none;
	padding:10px 80px;
	border-radius:30px;
	font-size:14px;
	text-align:center;
	color:#fff;
}

#form_bt input[type="submit"] {
	background:#385f5f;
}
#form_bt input[type="submit"]:hover {
	background:#578181;
	cursor:pointer;
}
#form_bt input#btn_reset,
#btn_rtn {
	background:#999;
	text-decoration:none;
}
#form_bt input#btn_reset:hover,
#btn_rtn:hover {
	background:#aaa;
	cursor:pointer;
}
#btn_rtn {
	-webkit-appearance: none;
	border:none;
	padding:13px 50px;
	border-radius:30px;
	font-size:14px;
	text-align:center;
	color:#fff;
}

#form_checkbtn {
	width:100%;
	margin-top:30px;
	text-align:center;
	font-size:14px;
}

.msg { color:red; }

.wpcf7-response-output {
	font-size:16px;
	font-weight: bold!important;
	line-height:50px;
	text-align:center;
}
#wpcf7-f557-p560-o1,
#wpcf7-f591-p589-o1 { padding-top:35px; }


.wpcf7-validation-errors { border:6px solid rgba(255,180,0,1.00)!important; }
.wpcf7-mail-sent-ok { border:6px solid rgba(103,160,21,1.00)!important; }

.contact_table input.readonly,
.contact_table input[type="text"]:focus.readonly {
	border:none;
	background:none;
}

@media only screen and (max-width: 767px) { 
	.contact_table td,
	.contact_table th { display: block; width:100%; box-sizing: border-box; }

}


/* PAGE Favorite
------------------------------------*/
.favoriteSwitching {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 50px;
}
.favoriteSwitching span,
.favoriteSwitching a {
  display: inline-block;
  position: relative;
  font-size: 18px;
  font-weight: 700;
  padding-bottom: 5px;
  margin: 0 25px;
  transition: all 0.3s;
}
.favoriteSwitching span::after,
.favoriteSwitching a::after {
  position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #3799ED;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: center top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
  transition: transform 0.3s;   /*変形の時間*/
}
.favoriteSwitching span {
  color: #3799ED;
}
.favoriteSwitching span::after {
  transform: scale(1, 1);
}

@media (min-width: 768px) {
  .favoriteSwitching a:hover {
    color: #3799ED;
  }
  .favoriteSwitching a:hover::after {
    transform: scale(1, 1);
  }
} /* end @media */

.container--favorite {
  justify-content: center;
}


/* PAGE map
------------------------------------*/
.container--map {
  background-color: #EEEEEE;
  margin-top: 1px;
}
.map__formBox {
  width: 100%;
  padding: 12px 30px;
}
.map__formBox form {
  display: block;
  width: 100%;
}
.mapForm__flex {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}
.mapForm__flex01 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-right: 30px;
}
.mapForm__flex02 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.map__formBox input[type=text] {
  background-color: #FFFFFF;
  background-image: url(../img/icon_area.svg);
  background-repeat: no-repeat;
  background-position: top 13px left 14px;
  border: 1px solid #DDDFE1;
  border-radius: 8px;
  width: 400px;
  font-size: 14px;
  padding: 11px 11px 11px 40px;
}
.searchBox__type {
  cursor: pointer;
}
.searchBox__type + .searchBox__type {
  margin-left: 10px;
}
.searchBox__type input[type="checkbox"] {
  display: none;
}
.searchBox__type::after {
  content: '';
  display: inline-block;
  background-image: url(../img/map/icon_hotel.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 33px;
  height: 33px;
}
.searchBox__type--01::after {
  background-image: url(../img/map/icon_hotel@off.png);
}
.searchBox__type--02::after {
  background-image: url(../img/map/icon_restaurant@off.png);
}
.searchBox__type--03::after {
  background-image: url(../img/map/icon_mosque@off.png);
}
.searchBox__type--04::after {
  background-image: url(../img/map/icon_spot@off.png);
}
.searchBox__type--05::after {
  background-image: url(../img/map/icon_shop@off.png);
}
.searchBox__type--01:has(input[type="checkbox"]:checked)::after {
  background-image: url(../img/map/icon_hotel.png);
}
.searchBox__type--02:has(input[type="checkbox"]:checked)::after {
  background-image: url(../img/map/icon_restaurant.png);
}
.searchBox__type--03:has(input[type="checkbox"]:checked)::after {
  background-image: url(../img/map/icon_mosque.png);
}
.searchBox__type--04:has(input[type="checkbox"]:checked)::after {
  background-image: url(../img/map/icon_spot.png);
}
.searchBox__type--05:has(input[type="checkbox"]:checked)::after {
  background-image: url(../img/map/icon_shop.png);
}

.map__formBox button {
  background-color: #3799ED;
  border: none;
  border-radius: 8px;
  width: 68px;
  height: 45px;
  text-align: center;
  margin-left: 6px;
  cursor: pointer;
}
.map__formBox button img {
  vertical-align: middle;
}

.map__gmap {
  width: 100%;
  height: calc(100vh - 187px);
}
.map__gmap iframe + div {
  border: none !important;
}
.gmapBalloon {
  position: relative;
  width: 280px;
  color: #333333;
}
.gmapBalloon > a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.gmapBalloon__flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.gmapBalloon__image {
  border-radius: 10px;
  width: 120px;
  overflow: hidden;
}
.gmapBalloon__image img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
  transition: all 0.3s;
}
.gmapBalloon__text {
  width: 148px;
}
.gmapBalloon__text strong {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5em;
}

.page.map footer,
.page.map #scroll-to-top-btn {
  display: none;
}

@media (min-width: 768px) {
  .gmapBalloon:hover .gmapBalloon__image img  {
    transform: scale(1.1);
  }
  .gmapBalloon:hover .gmapBalloon__text strong  {
    text-decoration: underline;
  }
} /* end @media */

@media (max-width: 767px) {
  .map__formBox {
    width: 100%;
    padding: 16px 20px;
  }
  .map__formBox input[type=text] {
    width: calc(100% - 68px - 6px);
    font-size: 16px;
  }
  .mapForm__flex {
    display: block;
  }
  .mapForm__flex01 {
    width: 100%;
  }
  .mapForm__flex02 {
    margin-top: 12px;
  }

  .map__gmap {
    height: calc(100vh - 187px);
    height: calc(100dvh - 187px);
  }
  .gmapBalloon {
    width: 100%;
  }
  .gmapBalloon__text {
    width: calc(100% - 120px - 10px);
  }
    
} /* end @media */


