@charset "utf-8";
/* CSS Document */

:root{
  --content-color-blue: #002975;
  --content-color-red: #e50012;
  --content-color-bg: #efdfb6;
  --content-color-hover: #337F99;
  --content-color-link: #000d99;
  --content-color_beige: #F8F2E1;
  --bg-img-setting: no-repeat center center / contain;
  --content-width: min((710vw / 7.5), 1104px);
  --font-size-pc: 16px;
  --font-size-sp: calc(24vw / 7.5);
  --font-sans: 'Noto Sans JP', sans-serif;
  --content-font-size: min(var(--font-size-sp), var(--font-size-pc));
  --content-hover-speed: 0.3s;
  --content-border_s: 1px solid;
  --content-border_m: 2px solid;
  --content-border_l: 4px solid;
}

body{
  font-family: var(--font-sans);
	scroll-behavior: smooth;
}
.main{
  font-size: var(--content-font-size);
  font-weight: 400;
  position: relative;
  -webkit-text-size-adjust: none;
}
.main *{
  box-sizing: border-box;
}
.inner{
  width: var(--content-width);
  margin: auto;
}
a{
  transition: var(--content-hover-speed);
}

@media screen and (min-width: 769px){
  .nopc{
    display: none
  }
  .nosp{
    display: block
  }
}
@media screen and (max-width: 768px){
  .nopc{
    display: block
  }
  .nosp{
    display: none
  }
}

.title__wrapper{
  background: var(--content-color-blue);
}
.main__title {
  width: var(--content-width);
  margin: auto;
  padding: min(calc(32vw / 7.5), 32px);
  font-size: min(calc(48vw / 7.5), 48px);
  font-weight: 900;
  color: #FFF;
  text-align: center;
}
.main__title span {
	display: block;
	padding-top: min(calc(14vw / 7.5), 8px);
	font-size: min(calc(26vw / 7.5), 24px);
	font-weight: normal;
}
.nav__wrapper{
  border-bottom: var(--content-border_m) var(--content-color-blue);
}
.nav__list{
  width: var(--content-width);
  margin: auto;
  display: flex;
}
.nav__list>li{
  width: calc(100% / 3);
  border-left: var(--content-border_s) var(--content-color-blue);
}
.nav__list>li:last-child{
  border-right: var(--content-border_s) var(--content-color-blue);
}
.nav__list>li>a{
  display: block;
  padding: min(calc(16vw / 7.5), 16px);
  text-align: center;
  font-size: min(calc(28vw / 7.5), 18px);
  font-weight: bold;
  color: var(--content-color-blue);
}
@media screen and (min-width: 769px){
  .nav__list>li>a:hover{
    background: var(--content-color-blue);
    color: #FFF;
  }
  .hotel__nav>li{
    width: calc((100% - (16px * 3)) / 4);
  }
  .hotel__nav>li>a:hover{
    background: var(--content-color-hover)
  }
}
@media screen and (max-width: 768px){
  .hotel__nav>li{
    width: calc((100% - ((10vw / 7.5) * 2)) / 3);
    min-height: calc(100vw / 7.5)
  }
  .nav__list{
    width: 100vw;
  }
  .nav__list>li{
    border-left: none
  }
  .nav__list>li:last-child{
    border-right: none;
  }
  .nav__list>li:nth-child(2){
    border-right: var(--content-border_s) var(--content-color-blue);
    border-left: var(--content-border_s) var(--content-color-blue);
  }
}

.main__content{
  padding: 48px 0;
  background: var(--content-color-bg);
}
.content__wrapper+.content__wrapper{
  margin-top: 80px;
}
.head-title{
  font-size: min(calc(48vw / 7.5), 40px);
  font-weight: 900;
  text-align: center;
  margin-bottom: min(calc(16vw / 7.5), 16px);
}
/*.inner__content{
  background: #FFF;
  padding: min(calc(16vw / 7.5), 16px)
}
*/
.hotel__nav{
  display: flex;
  flex-wrap: wrap;
  gap: min(calc(10vw / 7.5), 16px);
  margin-bottom: min(calc(30vw / 7.5), 64px);
}
.hotel__nav>li{
  display: flex;
  flex-direction: column;
  justify-content: center
}
.hotel__nav>li>a{
  display: flex;
  background: var(--content-color-blue);
  font-size: min(calc(24vw / 7.5), 16px);
  color: #FFF;
  text-align: center;
  position: relative;
  padding: min((8vw / 7.5), 8px) 0;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
  text-decoration: none;
}
.hotel__list>li+li{
  margin-top: min(calc(60vw / 7.5), 24px);
}
.hotel__name{
  font-size: min(calc(36vw / 7.5), 24px);
  font-weight: 900;
  color: var(--content-color-blue);
}
.tokuten__wrapper{
  background: #FFF;
  padding: min(calc(8vw / 7.5), 8px) 0;
}
.tokuten__list, .tokuten__table, .notice__list {
  padding: min(calc(16vw / 7.5), 8px) min(calc(16vw / 7.5), 16px);
}

.tokuten__list:nth-child(even){
  background: var(--content-color_beige)
}
.tokuten__list>li:not(.icon){
  padding-left: 1.0em;
  text-indent: -1.0em;
}
.tokuten__midashi{
  display: inline-block;
  font-size:  min(calc(28vw / 7.5), 16px);
  font-weight: 900;
  color: #FFF;
  text-align: center;
  background: var(--content-color-blue);
  padding: 0 min(calc(4vw / 7.5), 4px);
  margin-right: min(calc(16vw / 7.5), 8px);
}
.tokuten__midashi:has(+table),
.tokuten__midashi:has(+.sp_scroll){
	margin-bottom: 8px;
}
.tokuten__text, .tokuten_note {
  font-size: 14px;
}
.tokuten__sub{
  font-size:  min(calc(25vw / 7.5), 14px);
}
.tokuten__note {
	font-size:  min(calc(22vw / 7.5), 12px);
}
.red__txt{
  color: var(--content-color-red);
  font-weight:  bold
}
.s__txt{
  font-size: min(calc(22vw / 7.5), 12px);
}
.note__midashi{
  font-weight: bold;
  margin-top: min((16vw / 7.5), 8px);
}

.notice__list a,
.tokuten__list a{
  color: var(--content-color-link);
  text-decoration: underline
}

/*テーブルレイアウト*/
.tokuten__table {
	& table {
		width: 100%;
		border-collapse: collapse;
		background-color: #fff;
		border: solid 2px #999;
		font-size: 14px;
		
		& th {
			font-weight: bold;
			padding: 2px 4px;
			background-color: #efefef;
			.is-sp & {
				text-align: left;
			}
			& .small {
				font-size: 12px;
				font-weight: normal;
				margin-left: 8px;
			}
		}
		
		& td {
			border: solid 1px #ccc;
			padding: 2px 4px;
      vertical-align: top;
		}
	}
}
.sp .tokuten__table {
	& .sp_scroll {
		width: 100%;
		margin: 0 auto;
		overflow-x: scroll;
    padding: 0;
	}
	& table {
		width: 970px;
		min-height: 60px;
		-webkit-text-size-adjust: 100%;
	}
}
.notice__list {
	
	& .notice__midashi {
		font-size: 14px;
		font-weight: bold;
	}
	& .notice__text {
		font-size: 12px;
	}
}

/*テーブルレイアウト*/
/*----------------------------------------------
ページトップ
------------------------------------------------*/
.goTop {
  display: none;
	position: fixed;
    bottom: 10px;
    right: 10px;
    transform: translateZ(0);
    z-index: 200;
	& a {
		display: flex;
		cursor: pointer;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		background-color: rgba(105, 113, 128, .5);
		width: 48px;
		height: 48px;
		& img {
				width: 24px;
				height: 24px;
		}
	}
}