body {
  max-width: 1000px; /* 最大幅の設定 */
  margin: 0 auto;    /* 左右中央寄せ */
  font-size: 80%;
}
H1 { margin:0px padding:0px;  color : #660000; font-style:normal; font-size: 14px;}
H2 { font-size:12px;   margin:0px padding:0px;  color : #000000; font-style:normal; font-family: "ＭＳＰ 明朝",serif; display : inline; }
DIV { padding:0px; line-height: 150%;}
.scr {
  overflow: auto;   /* スクロール表示 */ 
  width: 520px;
  height:385px;
  margin:0px padding:10px;
  font-family: "ＭＳ ゴシック",sans-serif;
  font-size: 12px;
  text-align: left
}
table {
  max-width: 1000px; /* 最大幅の設定 */
  margin: 0 auto;    /* 左右中央寄せ */
}

.chr00 {font-size:13px; line-height: 140%; font-family: "メイリオ","Meiryo"; font-weight: nomal;}
.char01 {line-height: 120%;}
.char02 {font-size:17px; line-height: 140%;font-family: "メイリオ","Meiryo"; font-weight: Bolder; text-align: left;}
.char021 {font-size:16px; line-height: 140%;font-family: "メイリオ","Meiryo"; font-weight: Bolder; color: #285385;}
.char03 {font-size:14px; line-height: 140%;font-family: "メイリオ","Meiryo"; font-weight: Bolder;}
.char04 {font-weight: Bolder;}
.char05 {font-size:13px; line-height: 140%;font-family: "メイリオ","Meiryo"; font-weight: nomal;}
.obj_pdf {margin:0px padding:0px; width:750px; height:1090px;}

h4 {
	margin		 : 0;
	padding		 : 0;
	font-size	 : 14px;
}
h5 {
	top              : 100px;
	left             : 25px;
	font-size	 : 15px;
}
#booking_inner {
	width		 : 200px;
	margin		 : 0;
	padding		 : 0;
	line-height	 : 1.5em;
	font-size	 : 12px;
}
.bookingengine {
	color		 : #D6D6D6;
}
.booking {
	font-size	 : 12px;
	font-weight	 : bold;
}
.booking_date {
	margin		 : 0;
	padding		 : 0;
	float		 : left;
	display		 : block;
}
.booking_date_2col {
	float		 : left;
	display		 : block;
	width		 : 80px;
	margin-right	 : 5px;
	padding		 : 0 5px;
}
input,select {
	margin		 : 2px 1px;
	padding		 : 2px 3px;
}
input.button {
	width		 : 180px;
	margin		 : 3px 3px 3px 10px;
	text-align	 : center;
}
hr {
	clear		 : both;
	width		 : 98%;
	height		 : 0;
	margin		 : 0;
	padding		 : 0;
	border		 : none;
	border-bottom	 : 1px dotted #CCCCCC;
}

#nitteiarea,
#ninzuarea,
#ryokinarea,
#searchtypearea {
	width		 : 100%;
	margin		 : 0;
	padding		 : 5px;
	border		 : none;
}
#searchtypearea label {
}

input#chkymd,
input#chkpsn {
	margin		 : 0;
	padding		 : 0;
}

#calidif,
#apple_overlayif {
	width		 : 0;
	height		 : 0;
	position	 : absolute;
	display		 : block;
}
/*-------------------------------------------*/
/*<!--[画像カルーセル]-->*/
/*-------------------------------------------*/
.carousel {
  max-width: 1000px;
  position: relative;
}

.content {
  display: grid; 
  grid-auto-columns: 100%;
  grid-auto-flow: column;
  place-items: center;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  height: 100%;
  scroll-behavior: smooth;
  scroll-marker-group: after;

  &::scroll-button(right) {
    position: absolute;
    top: 45%;
    right: 5%;
    content: "▶";
  }

  &::scroll-button(left) {
    position: absolute;
    top: 45%;
    left: 5%;
    content: "◀";
  }

  &::scroll-button(*) {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    color: #444;
    border: 1px solid #444;
  }

  &::scroll-button(*):hover {
    background-color: #999;
    color: #444;
    cursor: pointer;
  }

  &::scroll-button(*):disabled {
    opacity: 0.3;
    cursor: not-allowed;
    background-color: #eee;
  }

  &::scroll-marker-group {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    gap: 10px;
  }
}

.content::-webkit-scrollbar {
  display: none;
}

li {
  list-style: none;
  scroll-snap-align: center;
  background-color: black;

  &::scroll-marker {
    content: "";
    border: 1px solid #444;
    width: 20px;
    height: 20px;
    border-radius: 50%;
  }

  &::scroll-marker:target-current {
    background-color: #444;
  }
}


/*-------------------------------------------*/
/*<!-- ハンバーガーmenu  !-->*/
/*-------------------------------------------*/
.menu-wrapper {
  position: relative;
}

.menu-icon {
  width: 40px;
  height: 30px;
  position: fixed; /* ← fixedにして常に左上固定 */
  top: 20px;
  left: 20px;
  cursor: pointer;
  z-index: 3;
  display: inline-block;
}

.menu-icon span {
  display: block;
  height: 4px;
  margin: 6px 0;
  background: #333;
  border-radius: 2px;
  transition: 0.4s;
}

/* ハンバーガーがXに変形 */
#menu-toggle:checked + .menu-icon span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
#menu-toggle:checked + .menu-icon span:nth-child(2) {
  opacity: 0;
}
#menu-toggle:checked + .menu-icon span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

/* オーバーレイ背景 */
.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  opacity: 0;
  pointer-events: none;
  transition: 0.4s;
  z-index: 1;
}

#menu-toggle:checked ~ .overlay {
  opacity: 1;
  pointer-events: auto;
}

/* メニュー本体（左から出す） */
.menu {
  position: fixed;
  top: 0;
  left: -250px; /* ← 初期位置を左へ */
  width: 250px;
  height: 100%;
  background: #fff;
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  transition: left 0.4s ease;
  z-index: 2;
}

#menu-toggle:checked ~ .menu {
  left: 0; /* ← 開いたときは左0へ */
}

.menu ul {
  list-style: none;
  padding: 60px 20px;
  height: 80%;
  overflow-y: scroll;
}

.menu li {
  margin: 20px 0;
}

.menu a {
  text-decoration: none;
  color: #fff;
  font-size: 1.2rem;
  transition: color 0.3s;
}

.menu a:hover {
  color: #007bff;
}


/*-------------------------------------------*/
/** 横並びメニュー **/
/*-------------------------------------------*/
.nav2 ul{
  max-width: 1000px;
display: table;
margin: 0 auto;
padding: 0 ;
width: 791px;
text-align: center;
}
.nav2 li{
display: table-cell;
min-width: 50px;
background: #660000;
font-size: 1.0rem;
}
.nav2 a{
display: block;
width: 100%;
text-decoration: none;
color: #fff;
padding-top: 5px;
padding-bottom: 5px;
}
.nav2 li.current{
border-bottom: 3px solid #92D050;
}
.nav2 li:hover{
color: #E7DA66;
border-bottom: 3px solid #F0E475;
}



/*-------------------------------------------*/
/** Googleマップ **/
/*-------------------------------------------*/
.gmap_iframe {
    aspect-ratio: 16 / 9;
    max-width: 1000px;
    width: 80%;
    height: auto;
}

/*-------------------------------------------*/
/** PC/スマホ 表示/非表示 **/
/*-------------------------------------------*/
/* 共通のスタイル */
.hogehoge {
  /* 共通の基本スタイル */
  padding: 20px;           /* 内側の余白 */
  background-color: #fff; /* 背景色 */
  border-radius: 5px;      /* 角丸 */
  margin-bottom: 20px;     /* 下マージン */
}

/* PCでのみ表示（スマホでは非表示） */
.pc-only {
  display: block;          /* 通常時は表示 */
}

/* スマホでのみ表示（PCでは非表示） */
.sp-only {
  display: none;           /* 通常時は非表示 */
}

/* スマホサイズ（768px未満）の設定 */
@media (max-width: 767px) {
  .pc-only {
    display: none;        /* スマホサイズでは非表示 */
  }
  
  .sp-only {
    display: block;       /* スマホサイズでは表示 */
  }
}