@charset "UTF-8";



.site-taiken .page-wrap{
	padding-top:0;
}

.sub-header {

}

.sub-header h1 {
/*	background-color:#3293cd; */
	margin:0;
	width:100%;
/*	height:150px;
	overflow:hidden;
	position:relative;
 */

}

.sub-header h1 img {
	width:100%;
	height:100%;
	display:block;
    object-fit: cover;
    object-position: center center;
}



.taiken-navigation {
	margin-top:30px;

/*
	background-color:#3293cd;
	border-radius:30px;
*/
}

.taiken-navigation ul {
	flex-wrap:wrap;
	justify-content:center;
}

.taiken-navigation li {
	list-style:none;
	flex-basis:45%;
}

.taiken-navigation li:nth-of-type(even){
	flex-grow:2;
}

.taiken-navigation li a {
border:1px solid #83bedc;
	color:#fff;
	display:block;
	font-size:12px;
	padding:10px;
	text-align:center;
	/* background-color:#3293cd; */
background: #2170bf;
background: linear-gradient(0deg,rgba(33, 112, 191, 1) 0%, rgba(22, 135, 184, 1) 100%);
}


.taiken-navigation li a:hover {
	/*background-color:#1d7ac0; */
	background:#0b5994;
}

/* ----------- 一覧ページ ----------- */
.col-md-9 .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.blog .cat-links {
	display:flex;
	flex-wrap:wrap;
	gap:5px;
}
/* ----------- シングルページ(content-single-taiken) ----------- */
.content-inner {
	background-color:#fff;
	padding:15px;
}


.single.site-taiken .plan-wrapper {
	flex-direction:column;
	gap:20px;
}

.single.site-taiken .sidebar{
	margin-top:0;
}

.single.site-taiken .sidebar .taiken-info {
	border:1px solid #F30;
	margin-bottom:30px;
}

.single.site-taiken .sidebar .taiken-info h2{
	background-color:#F30;
	color:#fff;
	text-align:center;
	margin:0;
	padding:5px;
	font-size:18px;
}

.single.site-taiken .sidebar .taiken-info p{
	margin-bottom:0;
	padding:10px;
}

.taiken-meta {
	border:1px solid #ccc;
	padding:10px;
	margin-bottom:10px;
}

.taiken-meta .inner-link {
	padding-bottom:10px;
	border-bottom:1px dotted #ccc;
}

.taiken-meta .inner-link a {
	display:block;
	background-color:#FFD700;
	color:#000;
	font-weight:bold;
	text-align:center;
	padding:10px;
}

.taiken-meta .meta-category,
.taiken-meta .meta-taxonomy,
.taiken-meta .print-link {
	border-bottom:1px dotted #ccc;
	padding:10px 0;
}



.taiken-meta .meta-category h3,
.taiken-meta .meta-taxonomy h3 {
	font-size:14px;
	margin:0;
}

.taiken-meta .meta-taxonomy ul {
	padding-left:30px;
}

.taiken-meta .print-link a {
	display:block;
	background-color:#f2f2f2;
	color:#000;
	padding:10px;
	border-radius:6px;
	text-align:center;
	font-size:0.9rem;
}

.taiken-meta .print-link a::before {
	font-family: "Font Awesome 6 Free";
	font-weight:bold;
	content: "\f02f";
	color:#16627E;
	margin-right:5px;
}

/*　お気に入りボタン */

.taiken-meta .bookmark-link{
	padding-top:10px;
}

.taiken-meta .bookmark-link a,
.taiken-meta .bookmark-link button {
	display:block;
	background-color:#faf5dd;
	border:1px solid #faf5dd;
	color:#000;
	padding:10px;
	border-radius:6px;
	text-align:center;
	font-size:0.9rem;
	width:100%;
}

.taiken-meta .bookmark-link button::before {
	font-family: "Font Awesome 6 Free";
	font-weight:normal;
	content:"\f005";
	color:#ffa244;
}

.taiken-meta .bookmark-link button.active{
	background-color:#fff;
	border:1px solid #ffa244;
	opacity: unset;
}

.taiken-meta .bookmark-link button.active::before {
	font-family: "Font Awesome 6 Free";
	font-weight:900;
	content:"\f005";
	color:#ffa244;
}

.taiken-meta .bookmark-link a i {
	color:#ffa244;
}

.upd-date {
	font-size:14px;
	margin-bottom:30px;
}

.program-detail {
	display:flex;
	flex-direction:column;
}

.program-detail h2,
.calendar-area h2 {
	font-size:1.2rem;
	border:1px solid #efefef;
	background:linear-gradient(to bottom, #ffffff, #efefef);
	padding:5px 14px;
	border-top:3px solid #4795ce;
}

.program-detail strong {
	font-size:1.1rem;
}


.program-detail dt {
	color:#553e14;
	border:1px solid #FFBD35;
	background-color:#FFEEB9;
	font-weight:bold;
	padding-left:14px;
	margin-bottom:10px;
}

.program-detail dd {
	margin-bottom:20px;
}

.calendar-area .term {
	display:flex;
	gap:10px;
	color:#000;
}

.calendar-area .d-flex{
	gap:20px;
}

.calendar-area .term dt {
	border:1px solid #000;
	padding:0 10px;
	font-size:0.9rem;
}

.calendar-area .term dd {
	font-weight:bold;
}

.calendar-area .calatend {
	font-weight:bold;
	font-size:1.1rem;
}

.calendar-area .form-area {
	flex-direction:column;
}


.mark-meaning h3 {
	font-size:1.2rem;
	margin:0;
	
}

.mark-meaning {
	font-size:0.9rem;
	margin-bottom:20px;
}

.calendar-area .booking-flow {
	background-color:#e4f5a0;
	padding:10px 20px;
}

.calendar-area .booking-flow h3 {
	font-size: 0.9rem;
	border-radius: 1.4rem;
	border: 1px solid #ccc;
	font-family: sans-serif;
	padding: 10px;
	text-align: center;
	color: #fff;
	background-color: #365c31;
}



.calendar-area .booking-flow ol {
	display:flex;
	flex-wrap:wrap;
	gap:30px;
list-style: none;

}

.calendar-area .booking-flow ol li {
	font-family:sans-serif;
	font-size:14px;
	border:2px solid #a6d96d;
	border-radius:6px;
	padding:10px;
	position:relative;
	flex-basis:100%;
	background-color:#fff;
}

.calendar-area .booking-flow ol li::after {
	font-family: "Font Awesome 6 Free";
	font-weight:bold;
  content: "\f358";
  position: absolute;
    top: auto;
    bottom: -36px; /* liの下に矢印を配置 */
    left: 50%;
    transform: translateX(-50%);
	font-size:1.4rem;
	color:#ff8000;
}

.calendar-area .booking-flow ol li:last-child::after {
  content: none;

}

.about-place .d-flex {
	gap:20px;
	flex-direction:column;
}

.about-place .map {
	flex-basis:100%;
}

.about-place dl {
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin-bottom:20px;
}

.about-place dt{
	color:#553e14;
	flex-basis:130px;
	border:1px solid #FFBD35;
	background-color:#FFEEB9;
	font-weight:bold;
	text-align:center;
	font-size:0.9rem;
}

.about-place dd{
	flex-basis:calc(100% - 150px);
}

.place-info h4 {
	margin-bottom:5px;
	font-size:0.9rem;
}

ul#menu-about-tour {
	list-style-position:inside;
	font-size:0.9rem;
}

ul#menu-about-tour li {
	border-bottom:1px solid #dfdfdf;
	padding:5px;
}

.recommend h2 {
	font-size: 1.2rem;
	border: 1px solid #efefef;
	background: linear-gradient(to bottom, #ffffff, #efefef);
	padding: 5px 14px;
	border-top: 3px solid #4795ce;
}

.recommend .d-flex {
	gap:30px;
	flex-direction:column;
}

.recommend-cell {
	flex-basis:calc((100% - 90px) / 4);
	display:flex;
	flex-direction:column;
	/* justify-content:space-between; */
	background-color:#fff;
	margin-bottom:30px;
}

.recommend-cell .content-inner {
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	height:100%;
}

.recommend-cell .n-thumb {
	text-align:center;
	margin-bottom:10px;
}

.recommend-cell .post-category {
	font-size:0.8rem;
	color:#000;
	padding:0 10px;
	display:inline-block;
	border-radius:3px;
	font-family:sans-serif;
	border:1px solid #000;
}

.recommend-cell .entry-title {
	font-weight:bold;
	margin-bottom:16px;
}


.recommend-cell .entry-meta {
    justify-content: start;
}
.recommend-cell .excerpt {
	flex-grow:1;
}

.recommend-cell .btn-area{
	text-align:right;
}

.recommend-cell a.btn {
 color:#000;
font-family:sans-serif;
font-size:13px;
	border-bottom:1px solid #000;
}

.recommend-cell a.btn:hover {
	border-bottom:none;
}
/* -------------- サイドバー ------------ */
#secondary, #secondary a:not(.wp-block-button__link){
	color:unset;
}



.pickup {
    margin: 0 0 30px 0;
	background-color:#fff;
/*
    border-top: 4px solid #FFD700;
    border-left: 1px solid #ddd;
    border-right: 3px solid #B4B4B4;
    border-bottom: 3px solid #B4B4B4;
    padding: 13px 15px 0px 15px;
*/
}

.pickup-cell {
	padding:15px;
}

.pickup h2 {
    /* background-image: url('../images-taiken/title_osu.gif'); */
    background-repeat: no-repeat;
	font-size:18px;
	margin:0;
}

.pickup h3 {
	font-size:16px;
}

.pickup h4 {
	font-size:14px;
	margin:0;
}


.pickup p{
	font-size:14px;
}


.pickup dl{
	display:flex;
	flex-wrap:wrap;
	font-size:14px;
}

.pickup dt {
	flex-basis:40px;
}

.pickup dt:after {
	content:" : ";
}

.pickup dd {
	flex-basis: calc(100% - 40px);
}

.pickup .btn-area {
	text-align:right;
}

.pickup a.btn{
 color:#000;
font-family:sans-serif;
font-size:13px;
	border-bottom:1px solid #000;
}
.postviews-ranking {
    margin: 0 0 30px 0;
	padding:15px;
	background-color:#fff;
/*
    border-top: 4px solid #FFD700;
    border-left: 1px solid #ddd;
    border-right: 3px solid #B4B4B4;
    border-bottom: 3px solid #B4B4B4;
    padding: 13px 15px 0px 15px;
*/
}

.postviews-ranking h2 {
	font-size:18px;
	text-align:center;
}

.postviews-ranking h2 .fa-crown{
	color:#ffb100;
	margin-right:3px;
}

.postviews-ranking ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

.postviews-ranking li {
  display: flex;
  align-items: flex-start;
  gap: 1em;
  margin-bottom: 0.5em;
	padding-bottom:0.5em;
	border-bottom:1px dashed #ccc;
	font-size:14px;
	line-height:1.4rem;
}

.postviews-ranking li a:first-child {
  display: block;
  width: 80px; /* 正方形の幅 */
  height: 80px;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
}

.postviews-ranking li a:first-child img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* ← 正方形にトリミング */
  display: block;
}


.yoyaku-info {
  background-image: repeating-linear-gradient(
    45deg,
    #fff6af,
    #fff6af 5px,
    #f9dba7 5px,
    #f9dba7 10px
  );
	padding:10px;
	margin-bottom:30px;
}

.yoyaku-info .inner {
	background-color:#fff;
	padding:10px 20px;
}

.yoyaku-info h2 {
	font-size:18px;
}

.yoyaku-info article {
	border-bottom:1px dotted #ccc;
	padding-bottom:10px;
}

.yoyaku-info article:first-of-type {
	border-top:1px dotted #ccc;
}

.yoyaku-info article h3 {
	font-size:0.9rem;
	display:inline-block;
	margin-bottom:0;
	font-weight:normal;
}

.yoyaku-info article .upd-date {
	font-size:0.8em;
}

.yoyaku-info article h3::before {
  content: "\f138";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.5em;
  color: #bbbbbb;
}

.yoyaku-info article p{
	font-weight:bold;
	color:#f30;
	margin-bottom:0;
	font-size:0.9rem;
}

.sidebar-category-list {
	background-color:#fff;
	padding:15px;
}

.sidebar-category-list h2 {
	font-size:18px;
	margin-bottom:10px;
}


.sidebar-category-list li {
	list-style:none;
	border-bottom:1px dotted #ccc;
	padding:10px 0;
}

.sidebar-category-list li:first-of-type{
	border-top:1px dotted #ccc;
}

/* -------------- フッター footer ------------ */
.booking-guidance {
	flex-direction:column;
	margin-bottom:50px;
	gap:20px;
}

.booking-guidance h2 {
	font-size:1rem;
	border:1px solid #efefef;
	background:linear-gradient(to bottom, #ffffff, #efefef);
	padding:5px 14px;
	border-top:3px solid #4795ce;
	margin-bottom:10px;
	margin-top:0;
}

.booking-guidance ul {
	padding-left:30px;
}

.booking-guidance .guidance-links {
	background-color:#fff;
	padding:15px;
}
.booking-guidance .booking-flow {
	background-color:#fff;
	padding:15px;
}

.booking-guidance .booking-flow a {
	display:block;
	text-align:center;
}
/* -------------- プラグイン由来 お気に入り一覧 -------------- */
.favorites-list {
}

.favorites-list p {
	margin-bottom:0;
}

.favorites-list li:last-of-type {
	border-bottom:1px solid rgba(0,0,0,.2);
}

.favorites-list button {
	font-family:sans-serif;
	padding:2px 10px;
	font-size:12px;
	margin-right:10px;
	background-color:#fff;
	color:#000;
	border:1px solid #000;
	border-radius:3px;
}

/* ================================
ブレイクポイント
================================== */
@media (min-width: 480px) {

}

@media (min-width: 768px) {
	/* ---- シングルページ ---- */
}

@media (min-width: 991px){
	.content-area.col-md-9 {
	    float: right;
	}
}

@media (min-width: 1024px) {
	.taiken-navigation ul {
background: #2170bf;
background: linear-gradient(0deg,rgba(33, 112, 191, 1) 0%, rgba(22, 135, 184, 1) 100%);
	}

	.taiken-navigation li {
		flex-basis:unset;
	}

	.taiken-navigation li:nth-of-type(even) {
		flex-grow:unset;
	}

	.taiken-navigation li a {
		border-left:1px solid #83bedc;
		padding:10px 30px;
		border-top:none;
		border-bottom:none;
		border-right:none;
	}

	.taiken-navigation li:last-of-type a{
		border-right:1px solid #83bedc;
	}

	.sub-header h1 {
		/* height:240px; */
	}

/* -- シングルページ */
.single.site-taiken .plan-wrapper,
.print .plan-wrapper  {
	flex-direction:row;
}
.single.site-taiken .plan-wrapper .entry-thumb,
.print .plan-wrapper .entry-thumb {
	flex-basis:calc(100% - 250px);
}

.print .entry-thumb {
	display:none;
}

.single.site-taiken .plan-wrapper .sidebar,
.print .plan-wrapper .sidebar {
	flex-basis:250px;
}

.program-detail {
	flex-direction:row;
	flex-wrap:wrap;
	gap:20px;
	justify-content:space-between;
}

.program-detail h2 {
	width:100%;
}

.program-detail dl {
	flex-basis:48%;
}



.calendar-area .term-area {
	justify-content:space-between;
}

.calendar-area .mark-meaning {
	flex-basis:250px;
}

.calendar-area .form-area {
	flex-direction:row;
	align-items:start;
}

.calendar-area .booking-flow {
	flex-basis:250px;
	order:2;
	margin-top:50px;
	flex-grow:unset;
}

.calendar-area .infotablecal {
	flex-grow:2;
}

.about-place .d-flex {
	flex-direction:row;
}

.print .about-place .d-flex {
	display:grid;
	grid-template-columns:1fr 1fr;
}

	.recommend .d-flex {
		flex-direction:row;
	}

	.booking-guidance {
		justify-content:space-between;
		flex-direction:row;
	}

	.booking-guidance .guidance-links h2 {
		white-space:nowrap;
	}

	.booking-guidance .booking-flow {
		flex-grow:2;
	}
}

@media (min-width: 1320px) {
	.sub-header h1 {
		/* height:300px; */
	}



}

@media (min-width: 1920px) {
	.sub-header h1 img {
		object-fit:contain;
	}
}

@media print {
	.print .entry-thumb {
		display:none;
	}
	.print .about-place .d-flex {
		display:grid;
		grid-template-columns:1fr 1fr;
	}
	.program-detail {
		flex-direction:row;
		flex-wrap:wrap;
		gap:20px;
		justify-content:space-between;
	}
}