/*****************************  common*/
body {background-color: rgba(250, 246, 234, 1.0);}
.bg-green {background-color: rgba(153, 189, 162, 1.0);}
.color-blue {color:rgba(19,81,139,1);}
.color-red {color:rgba(210,90,39,1);}
.btn-primary {background-color: #016ee4;border-color: #016ee4;}
a {color: #016ee4;}
@media screen and (max-width:576px){/*sp*/
	.img-sm-70 {width:70%;margin:0 auto 1rem;}
}
.img-50 img {width:50%;}

/*font*/
body:lang(ja) {font-family: ten-mincho-text, serif;}
h1:lang(ja),h2:lang(ja),h3:lang(ja),h4:lang(ja),h5:lang(ja) {font-family: ten-mincho, serif; line-height: 1.2;}
body:lang(en) {font-family: myriad-pro, sans-serif;}
h1:lang(en),h2:lang(en),h3:lang(en),h4:lang(en),h5:lang(en) {font-family: fertigo-pro, serif;}
/*font*/
body {
  font-family: ten-mincho-text, serif;
}
h1,h2,h3,h4,h5 {
  font-family: ten-mincho, serif;
  line-height: 1.2;
}

/* スムーススクロール */
html {　scroll-behavior: smooth; }
/***************************** navigation*/
.navbar {background-color: rgba(0, 57, 71, 0.9);}
.navbar-nav {padding:0 0 10px 0;}
@media screen and (min-width:577px){/*pc and tablet*/
	.navbar {transition: all 0.3s ease-out;	background-color: rgba(0, 57, 71, 0.9);}
	.fadein{transition: all 0.3s ease-out;	background-color: rgba(0, 57, 71, 0.9);}
	.navbar-nav {padding:0 10px 0 0;}
	.navbar-collapse {padding:0 10px 0 0;}
}
.navbar-dark .navbar-nav .nav-link{color: rgba(255,255,255,1);}
.navbar-dark .navbar-nav .nav-link:focus, .navbar-dark .navbar-nav .nav-link:hover { color: rgba(255,255,255,.75);}
.navbar-dark .navbar-toggler {border-color:rgba(255,255,255, 0.8);}
.navbar-dark .navbar-toggler-icon {  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");}

/*nav logo*/
@media screen and (min-width:577px){/*pc and tablet*/
	.navbar {padding-left: 110px;}
	.navbar-brand::after {content: "";background: url(img/kinoielogo.png) center center no-repeat;display:inline-block;background-size: contain;width: 70px;height: 56px;}
	.navbar-brand {position: absolute;top: 0;left: 0;background-color: #fff;border:1px rgba(0, 57, 71, .2) solid; padding:5px 10px;}
}
@media screen and (max-width:576px){/*sp*/
	.navbar {padding:5px 10px;}
	.navbar-brand {padding:0;margin:0;}
	.navbar-brand::after {content: "";background: url(img/kinoielogo-small.png) center bottom no-repeat;display:inline-block;background-size: contain;width: 80px;height: 38px;}
}

/***************************** header*/
.jumbotron {padding:6rem 0 1rem;background-position: center;background-size: cover;border-radius: 0;}
.jumbotron h1 {font-size:3rem;color:rgba(255,255,255, 1);}

.h1-home {font-size: 4rem;line-height:1.2;color:rgba(0, 57, 71, 1);}
.h1-home br {display:none;}
.h2-home {font-size: 3rem;line-height:1.2;letter-spacing: 2rem;color:rgba(71, 10, 0, 1);}
@media screen and (max-width:992px){/*lg*/
	.h1-home {font-size: 3rem;}
	.h2-home {font-size: 2rem;letter-spacing: 0.8rem;}
}
@media screen and (max-width:768px){/*md*/
	.h1-home br {display:inline;}
}
.h2-brown {font-size:2.5rem;color:rgba(96,80,47,1);}

.bg-about {background-image:url(img/about-head.jpg);}
.bg-room {background-image:url(img/room-head.jpg);}
.bg-explore {background-image:url(img/explore-head.jpg);}
.bg-book {background-image:url(img/book-head.jpg);}
.bg-resutaurant {background-image:url(img/restaurant-head.jpg);}
.bg-plan {background-image:url(img/plan-head.jpg);}
/***************************** contents*/

.home-image {background: no-repeat center center scroll;background-size: cover;background-image: url('img/home-image.jpg');}
@media screen and (min-width:1025px){
	.home-image {padding:25% 0;}
}
@media screen and (min-width:577px) and (max-width:1024px){
	.home-image {padding:40% 0;}
}
@media screen and (max-width:576px){
	.home-image {padding:65% 0;margin-top:55px;}
}
.insta-top img {width:30%;}

@media screen and (min-width:769px){/*pc*/
	.insta-top img {width:15%;}
	.insta-footer img {width:10%;}
}

/*room*/
@media screen and (min-width:577px){
	.room-cardset {display:flex;}
	.room-cardset .card {width:33%;}
	.room-cardset .card:nth-child(2) {margin-right:30px;margin-left:30px;}
}
@media screen and (max-width:576px){/*sp*/
	.room-cardset .card-img-top {width:60%;margin:auto;}
}

/*explore*/
.time-listset span {font-size:1.4rem;}
.time-listset ul li:nth-child(1) {background:#f9ebbd;}
@media screen and (min-width:577px){/*sp*/
	.time-listset {display:flex;}
}
.mapnum {counter-reset: map-counter;list-style: none;display:flex;flex-wrap:wrap;}
.mapnum li {  padding-right: 50px;}
.mapnum li:before {  content: counter(map-counter);  counter-increment: map-counter;background-color: #fabf3e;  color: #fff;  display: block;  float: left;  line-height: 22px;  margin-left: -30px;  text-align: center;  height: 22px;  width: 22px;  border-radius: 50%;}
.restaurant-cate1 {color:#e44e18;}
.restaurant-cate2 {color:#0a5899;}
.restaurant-cate3 {color:#fabf3e;}
.restaurant-cate4 {color:#13713a;}
.restaurant-bg { border-radius: 20px;}
.restaurant-bg1{background: #ecbfaf;}
.restaurant-bg2{background: #bed0e4;}
.restaurant-bg3{background: #f7d68d;}
.restaurant-bg4{background: #a3c7b2;}
.restaurant-photo img {width:48%;margin:1%;}
.restaurant-report {background:#e6f3e9;padding:10px 20px;}

/*book*/
.card-body .card-img-top {width:50%;}
.gotocp {border:10px #1cace1 solid;border-radius:10px;}

/*footer*/
footer.bg-green { margin-top: 100px; }
footer {background:rgba(0, 58, 71, 1);}
footer .sns a {width:20%;}
footer .logo {width:30%;}
@media screen and (min-width:577px) and (max-width:768px){/*tablet*/
	footer .sns a {width:30%;}
	footer .logo {width:40%;}
}
@media screen and (max-width:576px){/*sp*/
	footer .sns a {width:40%;}
	footer .logo {width:50%;}
}

/*plan*/
.plan-pack-title {background:#d0a325;color:#fff;}
.plan-pack-title span{font-size: 1rem;}
.plan-pack-sub {color:#753d1d;}
.plan-tel-link {font-size:2rem;}

/* Added custom border width for Bootstrap 4 */
.border-3 {
    border-width: 3px !important;
}
/* ▼▼▼ LP ▼▼▼ */
/* === Kids & Baby page polish === */

/* === Kids & Baby page (scoped) === */
.section { padding: 3rem 0; }
/* Font Awesome 読み込み（CDN） */
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css");

/* ▼ 質問ボタンのベース */
#faq .card-header button {
  position: relative;
  padding-left: 1.8em; /* アイコンのスペース */
  font-weight: 600;
  color: #5a4a3b;
  text-decoration: none;
}

/* ▼ デフォルト状態（閉じている） */
#faq .card-header button::before {
  font-family: "Font Awesome 6 Free";
  content: "\f067"; /* fa-plus */
  font-weight: 900;
  position: absolute;
  left: 0.4em;
  top: 50%;
  transform: translateY(-50%);
  color: #6c8a50;
  transition: all 0.2s ease;
}

/* ▼ 開いている状態（.collapsedが外れる） */
#faq .card-header button:not(.collapsed)::before {
  content: "\f068"; /* fa-minus */
  color: #5a4a3b;
  transform: translateY(-50%) rotate(0deg);
}
/* ▼お客様の声 */
/* === voice common style === */
#voice .voice-box {
  align-items: flex-start;
}
#voice .voice-img {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
}
#voice blockquote {
  font-size: 1rem;
  line-height: 1.7;
  margin: 0 0 .25rem;
}
#voice small {
  color: #6c757d;
/* LP 背景色指定 */
}
.bg-soft {
  background-color: #fdfdfd; /* ほんのりグレー。#f8f9fa より白に近い */
  border: 1px solid #dddddd;    /* 境界をやわらかく補助 */
}
/*  */
#tokyo-sightseeing-hotel_01 .row,
#food-shopping-hotel_01 .row,
#repeat-visitors-points .row {
	justify-content: center;
}
/* lp-repeat-visitors-hotel-tokyo */
.season-block {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  flex-wrap: wrap;
}
.season-block ul {
  margin: 0;
  padding-left: 20px;
}
.season-images {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.season-images img {
  width: calc(24% - 4px);
  height: auto;
}
@media (min-width: 769px) {
	.season-block ul {
	  flex: 1 1 300px;
	  margin: 0;
	  padding-left: 20px;
	}
	.season-images {
	  flex: 1 1 300px;
	  display: flex;
	  flex-wrap: wrap;
	  gap: 8px;
	}
}
@media (max-width: 768px) {
  .season-block {
    flex-direction: column;
  }
	.season-images img {
	  width: calc(50% - 4px);
	  height: auto;
	}
}
@media (max-width: 575.98px) {
  #voice .voice-img {
    width: 60px;
    height: 60px;
  }
}

@media (min-width: 992px) {
  .section { padding: 4rem 0; }
}

/* tokens */
.rounded-soft { border-radius: 0.75rem; }
.shadow-xs { box-shadow: 0 6px 18px rgba(0,0,0,.06); }
.img-frame { overflow: hidden; background: #fff; }

/* type */
.eyebrow {
  display:inline-block; font-size:.75rem; letter-spacing:.08em;
  text-transform:uppercase; color:#6c757d; margin-bottom:.25rem;
}
.lead-strong { font-size:1.1rem; line-height:1.8; }
.h2-brown { color:#5a4a3b; }

/* brand-ish buttons */
.btn-brand { color:#fff; background:#6c8a50; border-color:#6c8a50; }
.btn-brand:hover { color:#fff; background:#5c7a44; border-color:#5c7a44; }
.btn-outline-brand { color:#6c8a50; border-color:#6c8a50; }
.btn-outline-brand:hover { color:#fff; background:#6c8a50; border-color:#6c8a50; }

/* small utilities */
.gap-8 > * { margin-right:.5rem; }
.gap-8 > *:last-child { margin-right:0; }
.badge-k {
  background:#eee; color:#555; padding:.4rem .6rem;
  border-radius:999px; font-size:.75rem;
}

/* lists */
.list-check { list-style:none; padding-left:0; }
.list-check li { position:relative; padding-left:1.5rem; margin-bottom:.5rem; }
.list-check li::before {
  content:"✓"; position:absolute; left:0; top:0; color:#6c8a50;
}

/* flow/timeline */
.timeline { counter-reset: step; list-style:none; padding-left:0; }
.timeline li { position:relative; padding-left:2.25rem; margin-bottom:.75rem; }
.timeline li::before {
  counter-increment: step; content: counter(step);
  position:absolute; left:0; top:0; width:1.6rem; height:1.6rem; line-height:1.6rem;
  text-align:center; border-radius:50%;
  background:#6c8a50; color:#fff; font-size:.85rem;
}

/* cards / images */
#page-kids-baby .card-img-top,
#page-food-shopping .card-img-top,
#page-three-generations .card-img-top,
#page-repeat-visitors .card-img-top {
	object-fit:cover;
	height:180px;
}
@media (min-width: 992px) {
  #page-kids-baby  .card-img-top,
  #page-tokyo-sightseeing .card-img-top { height:160px; }
}

/* quote box */
.qbox blockquote { font-size:1rem; line-height:1.7; }
.qbox small { display:block; }

/* optional helpers for this page only */
.text-balance { text-wrap: balance; }

/* よくあるご質問 */
.qa-accordion {
  border-top: 1px solid #ddd;
}
.qa-item {
  border-bottom: 1px solid #ddd;
}
.qa-question {
  width: 100%;
  text-align: left;
  background: #f4efe6; /* Q 背景色 */
  border: 0;
  padding: 1rem 1rem;
  font-size: 1rem;
  line-height: 1.5;
  cursor: pointer;
  position: relative;
  display: flex;
  align-items: flex-start;
}
.qa-question:focus {
  outline: none;
}
.qa-q-label {
  font-weight: 700;
  margin-right: 0.5rem;
  white-space: nowrap;
}
.qa-question::after {
  content: "＋";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 700;
}
.qa-item.is-open .qa-question::after {
  content: "−";
}
.qa-answer-wrapper {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
.qa-answer {
  padding: 1rem 1rem 1rem;
  background: #faf7f0;
}
/* FAQページの見出しがヘッダーの下に隠れないようにする */
.faq h2[id] {
  scroll-margin-top: 80px;  /* ヘッダーの高さに合わせて調整（70〜100pxくらいで微調整） */
}
/* ページTOPボタン */
.pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: #006a4e;  /* kinoie の緑に合わせた色（変更OK） */
  color: #fff;
  padding: 10px 16px;
  border-radius: 30px;
  font-size: 14px;
  text-decoration: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
  z-index: 999;
}
.pagetop.show {
  opacity: 1;
  pointer-events: auto;
}
.pagetop:hover {
	color: #fff;
}
/* ページ内リンク */
#pageLink {
	  list-style: none;
}
#pageLink li {
  margin: 0;
}
#pageLink a {
  display: block;
  background: #f7f3ec;
  padding: 10px 12px;
  border-radius: 6px;
  text-decoration: none;
  color: #333;
  border: 1px solid #212529;
  transition: background 0.2s;
}
#pageLink a:hover {
  background: #e6ded0;
}
/* 国旗 */
.flag {
	width: 50px;
	height: auto;
	vertical-align: middle;
}
@media (min-width: 769px) {
	#pageLink {
	  padding: 0;
	  margin: 30px auto;
	  display: grid;
	  grid-template-columns: repeat(3, 1fr); /* 3列 */
	  gap: 10px 20px; /* 行・列のすき間（自由に調整） */
	  max-width: 1000px; /* コンテナ幅調整（お好みで） */
	}
	#pageLink a {
		text-align: center;
	}
}
/* Navigation Reserve */
#navbarResponsive .btn-reserve {
	border: solid 2px #ffffff;
	font-size: 20px;
}
/* Footer Reserve */
#footer-reserve {
	background: #2d6776;
}
#footer-reserve .container {
	padding-right: 0;
	padding-left: 0;
}
#footer-reserve .col-sm-12 {
	min-height: 347px;
	background: url(img/footer_bg01.jpg) 0 50% no-repeat;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center; /* 上下中央 */
	align-items: center;     /* 左右中央 */
}
#footer-reserve .col-sm-12 h2 {
	margin-top: 2.5rem;
	margin-bottom: 0.2rem;
e}
#footer-reserve .col-sm-12 p:first-of-type {
	margin-bottom: 3rem;
}
#footer-reserve .col-sm-12 h2,
#footer-reserve .col-sm-12 p:first-of-type {
	padding: 0.5rem;
	background: #2d6776;
	color: #ffffff;
}
#footer-reserve .col-sm-12 > *:last-child {
	margin-bottom: 0;
}
@media (min-width: 769px) {
	#footer-reserve .col-sm-12 h2 br,
	#footer-reserve .col-sm-12 p br {
		display: none;
	}
}
@media (max-width: 768px) {
/* Navigation Reserve */
	#navbarResponsive .btn-reserve {
		display: none;
	}
}