@charset "utf-8";
/* CSS Document */

/* 共通 
body {
  background:#0b0b0d;
  color: #333;
  font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
  line-height: 1.8;
}*/

/* 共通 */
body {
  background:#FFFFFF;
  color: #333;
  font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
  line-height: 1.8;
word-break: break-all;
text-align: justify;
}


main {
  padding: 30px 60px;
  max-width: 1100px; 
  margin-left: auto;
  margin-right: auto;
background-color: #FFFFFF;
}
					
figcaption{
	font-size: 80%;
}

h1,h2,h3 {line-height:1.4;}
h2 {font-size:1.4rem; margin-bottom:12px;}
section h3 {

  font-size: 1.3rem;
  margin-bottom: 12px;
  padding-left: 12px;
  border-left: 5px solid #1d2088;
  color: #222;
margin-top: 2rem;
}

li{
	margin-bottom: 6px;
}

/* 日付・重要表示（.day）を強調 */
.day {font-size:1.25rem; font-weight:900; color:#1d2088; margin:8px 0;}

/* 表のレスポンシブ対応 */
.table-wrap {overflow:auto; -webkit-overflow-scrolling:touch; border-radius:8px; margin-bottom:14px; box-shadow:0 6px 16px rgba(0,0,0,0.04);}
table {width:100%; border-collapse:collapse;  background:#fff;}
th,td {padding:10px 6px; border:1px solid #e6e6e6; text-align:left; vertical-align:top;}
th {background:#fafafa; font-weight:700;}

.pay td{
	vertical-align: middle;
}

/* spot images */
.spot{
	margin-top: 1rem;
}
.spot_image {display:flex; gap:12px;}
.spot_image figure {flex:1 1 calc(50% - 12px); background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 6px 18px rgba(0,0,0,0.04);}
.spot_image img {display:block; width:100%; height:auto; object-fit:cover;}
.spot_name {font-weight:700; font-size:1.12rem; margin-bottom:8px; color:#e60033;}
.spot_name span {display:inline-block; background:#e60033; color:#fff; font-size:0.9rem; padding:2px 8px; margin-right:8px; border-radius:4px;}

/* small screens adjust */
@media (max-width:900px) {
  .spot_image figure {flex-basis:100%;}
  
}

/* small screens adjust */
@media (max-width:600px) {
.spot_image {display:block;}
}


/* conditions dl */
.conditions dl {background:#fff; border:1px solid #eee; padding:15px 30px; border-radius:8px;margin-top: 16px;}
.conditions dt{font-weight:700; margin-top:12px;}
.conditions dd{margin-bottom:12px;}
.conditions table {width:100%; border-collapse:collapse; margin-top:10px;}
.conditions table td {border:1px solid #e6e6e6; padding:10px;}

/* application steps */
.application .step {background:#fff; border-radius:10px; padding:18px 30px; box-shadow:0 6px 16px rgba(0,0,0,0.04); margin-bottom:12px;}
.application .step.arrow {background:transparent; box-shadow:none; text-align:center;}
.application .arrow-icon {font-size:1.3rem; color:#e60033; display:inline-block; transform:translateY(-6px);}
.step_title {text-align:center; font-weight:900; font-size:1.05rem; color:#fff; background-color:#494747; display:block; padding:8px 14px; border-radius:8px; position:relative;  margin:0 auto 10px;}
.step_title::before {content:""; position:absolute; inset:-6px; background:linear-gradient(90deg,#e60033,#ff7b9b); z-index:-1; border-radius:10px; opacity:0.95;}

/* CTA */
.center-cta {text-align:center; margin-top:30px;margin-bottom: 20px;}
.cta-button {display:inline-block; background:linear-gradient(90deg,#ff416c,#ff7300); color:#fff; padding:14px 26px; border-radius:40px; font-weight:800; box-shadow:0 8px 24px rgba(255,80,100,0.18); transition:transform .16s ease; border: none;width: 80%!important;font-size: 1.4rem;text-decoration: none!important;}
.cta-button:hover, .cta-button:focus {transform:translateY(-3px); outline:none;}

.qa a{
		text-decoration: none;
			text-align: center;
		margin:  0 auto;
	}

/* footer */
footer {background:#111; color:#fff; padding:20px 10px; text-align:center; font-size:0.9rem;}
footer a {color:#fff; opacity:0.9;}

/* header small */
header.scrolled {box-shadow:0 6px 20px rgba(0,0,0,0.08);}
@media (max-width:520px) {

  .top-title h1 {font-size:1.05rem;}
}

/* --- global readability overrides --- */
.container { max-width: 1050px; margin-left:auto; margin-right:auto; padding-left:20px; padding-right:20px; }
body { line-height:1.75; }
.section { padding-top:36px; padding-bottom:36px; }

@media (max-width:600px){
  body { line-height:1.6; font-size:15px; }
  .top .top-title h1 { font-size:22px; }
  .top-slider .slide { height:300px; }
}

/* Spot photos: 2 columns on desktop, single column on mobile */
.spot-gallery { display:flex; flex-wrap:wrap; gap:16px; }
.spot-gallery .spot { flex:1 1 calc(50% - 16px); min-width:260px; }
.spot-gallery .spot img { width:100%; height:auto; display:block; }
@media (max-width:800px){
  .spot-gallery .spot { flex-basis:100%; }
}

/* ==============================
   リスト・リンク
============================== */
ul {
  list-style: disc;
  margin-left: 1.5em;
}
ol {
  list-style: decimal;
  margin-left: 1.5em;
}

li{
	margin-bottom: 6px;
}

a {
  color: #06c;
  text-decoration: underline;
}

.conditions ul,.conditions ol{
	margin-left: 1.2em;
	text-align: justify;
}
/* ==============================
   出発日・金額（重要情報）
============================== */
.info p.day {
  font-weight: bold;
  color: #1d2088;
  margin: 10px 0;
  font-size: 1.2rem;
}

/* ==============================
   テーブル
============================== */
/* 共通：schedule以外 */
table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}
th, td {
  border: 1px solid #ccc;

}
th {
  background: #f6f6f6;
  font-weight: bold;
  text-align: center;
}
td {
  text-align: center;
}


.pay th{
	vertical-align: middle!important;
}

/* schedule専用 */
.schedule {
  overflow-x: auto;
	min-width: 600px!important;
}
.schedule table {
  min-width: 600px!important;
}
.schedule th {
  text-align: center;
vertical-align: middle;
border: 2px solid #ccc!important;
}
.schedule td {
  text-align: left;
font-size: 85%;
border-right: 2px solid #ccc!important;
border-left: 2px solid #ccc!important;
border-top: 1px 1px solid #EEEEEE;
border-bottom: 1px solid #EEEEEE;
}
.border-t{
	border-top: 2px solid #ccc!important;
}

.border-b{
	border-bottom: 2px solid #ccc!important;
}
/* torikeshi */

.torikeshi td {
  vertical-align: middle!important;

}

.application button {
  display: inline-block;
  margin-top: 20px;
  padding: 18px 50px;
  font-size: 1.3rem;
  font-weight: bold;
  background: #e60033;
  color: #fff;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: background 0.3s;
}
.application button:hover {
  background: #c10029;
}

.t-c{text-align: center!important;	
}

.t-l{text-align: left!important;
	
}

.t-r{text-align: right!important;}
.pink{
	color: #ff416c;
}
.fwb{
	font-weight: bold;
}

.small{font-size: 85%;
	
}

.pc{
	display: block!important;
}
.sp{
	display: none!important;
}

@media (max-width:600px){
	main{
		padding: 20px;
	}
	.conditions dl,.step {
		padding: 18px!important;
	}
	
.pc{
	display: none!important;
}
.sp{
	display: block!important;
}
}


	.knt-logo{
		width: 300px;
		margin: 10px;
	}
	.knt-logo img{
		width: 280px;
	}

/* YES/NOボタン共通 */
.yes_no {
  display: flex;
  justify-content: center;
  gap: 24px; /* ボタンの間隔を広めに */
  margin: 28px 0 12px;

}

.mokofo {
  display: inline-block;
  padding: 16px 40px; /* 大きめサイズ */
  font-size: 1.4rem;
  font-weight: 800;
  text-decoration: none;
  color: #fff;
  border-radius: 10px;
  transition: background 0.2s ease, transform 0.2s ease;
text-align: center;
}

/* 色指定 */
.mokofo.yes {
  background: #007bff; /* 青 */
}

.mokofo.no {
  background: #dc3545; /* 赤 */
}

.mokofo:hover {
  transform: translateY(-3px);
  opacity: 0.9;
}

/* 説明文 */
.yes_no-caption {
  text-align: center;
  font-size: 1rem;
  color: #555;
}

/* スマホでは縦並び */
@media (max-width: 600px) {
  .yes_no {
    flex-direction: column;
    gap: 16px;
  }
  .mokofo {
    text-align: center;
  }
}

.bank{
	border: dotted darkgray 1px;
	margin: 10px auto;
	padding: 10px;
	
}

strong{
	color: #004DA0!important;
}
.red{
	color: red;
	font-weight: bold;
}

.fp {font-size:1.1rem; font-weight:600; color:#e60033;}

.vc{
	vertical-align: middle;
}

/* TOP */
/* ビジュアルセクション */
#visual {
  position: relative;
  width: 100%;
  height: auto; /* または適切な高さ */
  overflow: hidden;
}

.visual-container {
  position: relative;
  width: 100%;
  height: 100%;
}

/* メイン画像 */
#visual img {
  width: 100%;
	height: auto;
  object-fit: cover; /* 画像のアスペクト比を保持しつつ領域を埋める */
  display: block;

}

/* タイトルオーバーレイ */
.tour-header {
  position: absolute;
 bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  text-align: center;
  width: 100%;
}

.title-wrap {
  /*background: rgba(255, 255, 255, 0.5); /* 半透明の背景 */
  padding: 10px 40px 30px 40px;
  backdrop-filter: blur(5px); /* 背景ぼかし効果（モダンブラウザ対応） */
}

.title-wrap p{
	text-align: center!important;
}
.title-wrap img{
	max-width: 700px;
	text-align: center!important;
	margin: 0 auto;
}
.tour-title {
  color: #ffffff;
  font-size: 2.4rem;
  font-weight: 700;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8); /* テキストに影を追加 */
  margin: 0;
  line-height: 1.2;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
#visual {
  position: relative;
  width: 100%;
  overflow: hidden;
margin-top: 120px;
height: auto;
  }
.title-wrap {
  padding: 100px 60px 10px 60px;
backdrop-filter: none;
text-align: center!important;
margin: 0 auto;
}
	.tour-title {font-size: 1.5rem;
	text-align: center!important;
	}	
	
}

@media (max-width: 480px) {
  .tour-title {
    font-size: 1.2rem;
  }
  
	.tour-header{
		position: absolute;
	}
}

/* 小さなフェード演出 */
@keyframes fade-in {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* 幅調整 */



.fs80{
	font-size: 80%;
}

.fs70{
	font-size: 70%;
}

.kome ul {
      list-style-type: none;
    }

.kome li {
  padding-left: 1.6em; /* リストマーカーを「※」の代わりに表示するためのスペースを確保 */
  text-indent: -0.75em; /* 最初の行を左に移動させる */
}

.kome li::before {
      content: "※"; /* ここに表示したい文字を入れる */
      display: inline-block;
      padding-right: 0.4em; /* 適切なマージンを設定 */
    }

.kaisei-decol-regular {
  font-family: "Kaisei Decol", serif;
  font-weight: 400;
  font-style: normal;
}

.kaisei-decol-medium {
  font-family: "Kaisei Decol", serif;
  font-weight: 500;
  font-style: normal;
}

.kaisei-decol-bold {
  font-family: "Kaisei Decol", serif;
  font-weight: 700;
  font-style: normal;
}
.kiwi-maru-light {
  font-family: "Kiwi Maru", serif;
  font-weight: 300;
  font-style: normal;
}

.kiwi-maru-regular {
  font-family: "Kiwi Maru", serif;
  font-weight: 400;
  font-style: normal;
}

.kiwi-maru-medium {
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
  font-style: normal;
}
.yusei-magic-regular {
  font-weight: 400;
  font-style: normal;
}

.margin20{
	margin: 20px 0;
}
	
.va-m{
		vertical-align: middle!important;
	}

	#inquiry{
		text-align: left!important;
	}