@charset "utf-8";

.fs13 {
	font-size: 1.3rem !important;
}

.fs15 {
	font-size: 1.5rem !important;
}

/* コンテンツ幅 フル */
.contentsInr {
	width: auto;
	padding: 0px;
}

.ctm_contentsFull {
	padding-top: 0;
}

/* コンテンツ幅 950px */
.contentsInr .contentsUnit {
	padding: 0 10px;
}

@media all and (min-width: 740px) {
	.contentsInr .contentsUnit {
		width: 950px;
		padding: 0px;
		margin: 0 auto;
	}
}

/* アコーディオン */
.accordion-SP .acodBlock {
	text-align: center;
}

.accordion-SP .acodBlock>.heading {
	display: inline-block;
	background-color: #fff;
	border: 1px solid #af9b76;
}

.accordion-SP .acodBlock>.heading>.inr {
	padding: 0 10px;
	color: #af9b76;
}

.accordion-SP .acodBlock>.content {
	background-color: transparent;
	border: none;
	padding: 0;
	text-align: left;
}

.accordion-SP .acodBlock .ctm_pageTtl .ttlLv3 .heading {
	border-left: none;
}

@media all and (min-width: 740px) {
	.accordion-SP .acodBlock {
		margin-top: 0;
	}

	.accordion-SP .acodBlock>.content {
		display: block !important;
	}

	.accordion-SP .acodBlock>.heading {
		display: none !important;
	}

	.accordion-SP .acodBlock .clm_1_3col.colWrap .col {
		margin-left: 25px;
	}

	.accordion-SP .acodBlock .clm_3_3col.colWrap .col:nth-child(3n+1),
	.accordion-SP .acodBlock .clm_1_3col.colWrap .col:nth-child(3n+1) {
		margin-left: 0px;
	}
}

.accordionGrid .acodBlock {
	margin-top: 0;
	text-align: center;
}

.accordionGrid .acodBlock>.heading {
	display: inline-block;
	background-color: transparent;
	border: 1px solid #b2ac52;
}

.accordionGrid .acodBlock>.heading>.inr {
	padding: 0 10px;
	color: #b2ac52;
}

.accordionGrid .acodBlock>.content {
	background-color: transparent;
	border: none;
	padding: 0;
	text-align: left;
}

.accordionGrid .acodBlock .ctm_pageTtl .ttlLv3 .heading {
	border-left: none;
}

@media all and (min-width: 740px) {
	.accordionGrid .acodBlock .clm_1_3col.colWrap .col {
		margin-left: 25px;
	}

	.accordionGrid .acodBlock .clm_3_3col.colWrap .col:nth-child(3n+1),
	.accordionGrid .acodBlock .clm_1_3col.colWrap .col:nth-child(3n+1) {
		margin-left: 0px;
	}
}

/* font */
.tctour .ctm_pageTtl .heading,
.tctour .lead {
	font-family: 'Zen Old Mincho', serif;
	font-weight: 600;
}

.tctour em,
.tctour li em {
	color: #989129;
}

#Point strong,
#Schedule strong {
	color: #007f34;
}

/* ctm_pageTtl */
.tctour .ctm_pageTtl .ttlLv1 {
	margin-top: 80px;
	padding-top: 5.5rem;
	position: relative;
}

.tctour .ctm_pageTtl .ttlLv1::before {
	content: "";
	position: absolute;
	display: block;
	top: 20px;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 360px;
	height: 180px;
	-webkit-mask-image: url(/content/dam/sites/wwwjalcojp/jp/ja/intltour/eur/tctour/northspain/img_sites/ornament03.svg);
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-image: url(/content/dam/sites/wwwjalcojp/jp/ja/intltour/eur/tctour/northspain/img_sites/ornament03.svg);
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	background-color: #af9b76;
}

@media all and (max-width: 739px) {
	.tctour .ctm_pageTtl .ttlLv1 {
		margin-top: 50px;
		padding-top: 5.0rem;
	}

	.tctour .ctm_pageTtl .ttlLv1::before {
		width: 340px;
		height: 170px;
	}
}

.tctour .ctm_pageTtl h2 {
	font-weight: 700;
	border-bottom: thick double #c9b590
	;
	padding-bottom: 10px;
	display: inline-block;
}

.tctour .ctm_pageTtl h2 sup {
	vertical-align: 0.3rem;
}

@media all and (max-width: 739px) {
	.tctour .ctm_pageTtl .ttlLv1 h2 {
		font-size: 2.6rem;
	}

	.tctour .ctm_pageTtl .ttlLv2 h3 {
		font-size: 2.2rem;
	}

	.tctour .ctm_pageTtl .ttlLv3 h4 {
		font-size: 2.0rem;
	}
}

@media all and (min-width: 740px) {
	.tctour .ctm_pageTtl .ttlLv1 h2 {
		font-size: 3.6rem;
	}

	.tctour .ctm_pageTtl .ttlLv1 h2 sup {
		font-size: 2.4rem;
	}

	.tctour .ctm_pageTtl .ttlLv2 h3 {
		font-size: 2.6rem;
	}
}

/* figcaption */
.tctour .imgParts figcaption span {
	font-size: 1.2rem;
}

/* column */
@media all and (max-width: 739px) {

	.tctour #Sights .accordion-SP .column:nth-child(n+2),
	.tctour #TCtour .column:nth-child(n+2) {
		margin-top: 10px !important;
	}
}

/* Botton type horizon */
.tctour .ctm_btnList_horizon .btnBox {
	display: block;
	width: 100%;
	height: 100%;
}

.tctour .ctm_btnList_horizon .col>div {
	height: 100%;
}

.tctour .ctm_btnList_horizon .col .btn {
	display: table;
	width: 100%;
	height: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-top: 0px;
}

.tctour .ctm_btnList_horizon .col .btnInr {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	height: 100%;
}

/* anchorList */
@media all and (max-width: 739px) {
	.tctour .anchorList .btn {
		margin-top: 0;
	}
}



/* Info */
#Info.ctm_contentsFull {
	background: linear-gradient(90deg, rgba(252, 220, 194, 0.5) 0%, rgba(252, 220, 194, 0.3) 50%, rgba(252, 220, 194, 0.5) 100%);
}

@media all and (max-width: 739px) {
	#Info.ctm_contentsFull {
		background: linear-gradient(90deg, rgba(252, 220, 194, 0.25) 0%, rgba(252, 220, 194, 0.25) 50%, rgba(252, 220, 194, 0.4) 100%);
	}
}

#Info .infoColumn .col:nth-of-type(n+2) {
	margin-top: 0;
}

#Info .infoColumn .txtList>li {
	padding-bottom: 0.5rem !important;
	border-bottom: 1px solid #bca57a;
}

#Info .infoColumn .txtList>li li {
	padding-bottom: 0 !important;
	border-bottom: none;
}

#Info .infoColumn .txtList>li+li {
	margin-top: 0.5em;
}

#Info .infoColumn .txtList>li strong {
	color: #af9b76;
}

#Info .infoColumn .txtList>li:before {
	background-color: #af9b76;
}

#Info .infoColumn .txtList>li .txtList>li:before {
	background-color: #333;
}



/* Point */
#Point.ctm_contentsFull {
	background: #fff;
}

#Point .pointListBlock .numList li {
	font-size: 1.6rem;
}

#Point .pointListBlock .numList>li {
	padding: 0 0 1.0rem 3.5rem !important;
	border-bottom: 1px solid #ab946a;
}

#Point .pointListBlock .numList>li+li {
	margin-top: 1.5rem;
}

#Point .pointListBlock .numList>li:before {
	font-family: 'Petit Formal Script', cursive;
	font-size: 3.0rem;
	color: #ab946a;
	top: 1.0rem;
	width: 3.5rem;
	padding-right: 1.0rem;
}



/* Focus */
#Focus.ctm_contentsFull {
	background: linear-gradient(90deg, rgba(239, 237, 213, 1.0) 0%, rgba(239, 237, 213, 0.5) 35%, rgba(239, 237, 213, 0.5) 100%);
}

#Focus .ctm_pageTtl .ttlLv1 {
	margin-bottom: 0;
}

#Focus .ctm_pageTtl .ttlLv1 h2 {
	border-bottom: none;
	padding-bottom: 10px;
}

#Focus .ctm_pageTtl .ttlLv2 {
	margin-top: 50px;
	padding-top: 20px;
	border-top: thick double #191a6c;
	color: #191a6c;
}

#Focus .ctm_pageTtl .ttlLv3 {
	margin-bottom: 10px;
}

#Focus .ctm_pageTtl .ttlLv3 h4.heading {
	color: #989129;
}

@media all and (max-width: 739px) {
	#Focus .ctm_pageTtl .ttlLv3 {
		margin-top: 40px;
	}
}

@media all and (min-width: 740px) {
	#Focus .ctm_pageTtl .ttlLv3 h4.heading {
		font-size: 1.8rem;
	}
}

#Focus .ttlLv3 .heading {
	border-left: 3px solid #cac574;
}

#Focus .ttlLv4 {
	padding-top: 0;
	color: #989129;
}



/* Schedule */
#Schedule.ctm_contentsFull {
	background: #fff;
}

#Schedule .mapBlock {
	text-align: center;
}

@media all and (min-width: 740px) {
	#Schedule .mapBlock .cmp-image__image {
		width: 54%;
	}
}

#Schedule .itineraryBlock {
	max-height: 650px;
	overflow-y: scroll;
}

#Schedule .itineraryBlock .ctm_pageTtl .ttlLv2 {
	padding: 0;
	color: #ab946a;
}

#Schedule .itineraryBlock .ctm_pageTtl .ttlLv2 h3.heading {
	font-family: 'Petit Formal Script', cursive;
}

#Schedule .itineraryBlock .ctm_pageTtl .ttlLv2 h3.heading span {
	padding-left: 0.6rem;
	font-size: 4.6rem;
}

#Schedule .itineraryBlock table {
	border: none;
}

#Schedule .itineraryBlock table .cell01 {
	width: 15%;
}

#Schedule .itineraryBlock table th,
#Schedule .itineraryBlock table td {
	border: 1px solid #d0d0d0;
	border-left: none;
	border-top: none;
}

#Schedule .itineraryBlock table th {
	text-align: center;
	font-weight: normal;
	color: #ab946a;
	background-color: rgba(156, 156, 156, 0.1);
}

#Schedule .itineraryBlock table thead th {
	color: #333;
	font-size: 2.0rem;
	font-family: 'Zen Old Mincho', serif;
	font-weight: 600;
}

@media all and (max-width: 739px) {
	#Schedule .itineraryBlock table .cell01 {
		width: 18%;
	}

	#Schedule .itineraryBlock table thead th {
		font-size: 1.8rem;
	}

	#Schedule .itineraryBlock table th {
		padding: 10px 8px;
		font-size: 1.4rem;
	}
}

#Schedule .itineraryBlock table .material-symbols-outlined {
	padding-right: 0.5rem;
	vertical-align: middle;
	font-variation-settings: 'FILL' 0, 'wght' 200, 'GRAD' 0, 'opsz' 24;
}

#Schedule .itineraryBlock table .noteList,
#Schedule .itineraryBlock table .noteList_star {
	padding-left: 0;
	list-style-type: none;
}

#Schedule .itineraryBlock table [class^="ctm_iconTxt_br"] {
	padding-top: 4px;
	line-height: 1.2;
}

#Schedule .itineraryBlock .table-bottom {
	line-height: 2.4rem;
	padding: 10px 15px;
	background: #f5f5f5;
	border: 1px solid #d0d0d0;
	border-left: none;
	border-top: none;
}

#Schedule .itineraryBlock .table-bottom .mealItem span {
	border: 1px solid #d0d0d0;
	padding: 0.2em 0.5em;
}

#Schedule .itineraryBlock .table-bottom .mealItem span:nth-child(odd) {
	color: #ab946a;
}

@media all and (max-width: 739px) {
	#Schedule .itineraryBlock .table-bottom .mealItem {
		margin-top: 10px;
		text-align: right;
		font-size: 1.4rem;
	}
}

@media all and (min-width: 740px) {
	#Schedule .itineraryBlock .table-bottom {
		display: flex;
		justify-content: space-between;
	}
}



/* Sights */
#Sights.ctm_contentsFull {
	background: transparent;
}

#Sights .col {
	background: #fff;
}

#Sights .ctm_pageTtl .ttlLv2 {
	margin: 0;
	padding: 0;
	color: #af9b76;
}

#Sights .ctm_pageTtl .ttlLv2 h3.heading {
	font-family: 'Petit Formal Script', cursive;
	font-size: 3.6rem;
}

#Sights .ctm_pageTtl .ttlLv2 h3.heading span {
	font-size: 1.8rem;
	padding-right: 0.6rem;
}

#Sights .ctm_pageTtl .ttlLv3 {
	margin: 10px 0;
	padding-top: 0;
}

@media all and (max-width: 739px) {
	#Sights .ctm_pageTtl .ttlLv3 h4.heading {
		font-size: 2.2rem;
	}
}



/* Hotel */
#Hotel.ctm_contentsFull {
	background: #fff;
}

#Hotel .lead {
	color: #007f34;
	font-size: 2.1rem;
}

@media all and (min-width: 740px) {
	#Hotel .lead {
		font-size: 2.4rem;
	}
}

#Hotel .ctm_pageTtl .ttlLv2 {
	margin: 0;
	padding: 0;
	color: #af9b76;
}

#Hotel .ctm_pageTtl .ttlLv2 h3.heading {
	font-family: 'Petit Formal Script', cursive;
	font-size: 3.6rem;
}

#Hotel .ctm_pageTtl .ttlLv2 h3.heading span {
	font-size: 1.8rem;
	padding-right: 0.2rem;
	padding-left: 0.2rem;
}

#Hotel .ctm_pageTtl .ttlLv2 h3.heading span span {
	font-size: 2.4rem;
	padding-right: 0.4rem;
}

#Hotel .ctm_pageTtl .ttlLv3 {
	margin: 10px 0;
	padding-top: 0;
}

#Hotel .ctm_pageTtl .ttlLv3 h4.heading {
	font-size: 2.2rem;
}

#Hotel .ctm_pageTtl .ttlLv3 h4 sup {
	display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

#Hotel .ctm_pageTtl .ttlLv3 h4 sub {
	position: relative;
	display: inline-block;
	padding: 0 60px;
}

#Hotel .ctm_pageTtl .ttlLv3 h4 sub:before,
#Hotel .ctm_pageTtl .ttlLv3 h4 sub:after {
	content: '';
	position: absolute;
	display: inline-block;
	top: 50%;
	width: 40px;
	height: 1px;
	border-top: solid 1px #cac574;
}

#Hotel .ctm_pageTtl .ttlLv3 h4 sub:before {
	left: 0;
}

#Hotel .ctm_pageTtl .ttlLv3 h4 sub:after {
	right: 0;
}

@media all and (min-width: 740px) {
	#Hotel .ctm_pageTtl .ttlLv3 h4 sub {
		padding: 0 100px;
	}

	#Hotel .ctm_pageTtl .ttlLv3 h4 sub:before,
	#Hotel .ctm_pageTtl .ttlLv3 h4 sub:after {
		width: 80px;
	}
}

#Hotel .ctm_bdrColumn .imgParts {
	margin: 0 0 15px;
	padding: 0 5px;
}

#Hotel .ctm_bdrColumn .imgParts figcaption {
	margin-top: 5px;
}



/* Apply */
#Apply .ctm_pageTtl .ttlLv1 {
	margin-top: 30px;
}

@media all and (max-width: 739px) {

	.tctour .js-eqHeightCols .js-eqHeightCols-item,
	.tctour .js-eqHeightCols .js-eqHeightCols-item-2,
	.tctour .js-eqHeightCols .js-eqHeightCols-item-3,
	.tctour .js-eqHeightCols .js-eqHeightCols-item-4 {
		height: auto !important;
	}
}

@media all and (max-width: 739px) {}

@media all and (min-width: 740px) {}



/* スケジュール */
.map-discription {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	width: 52%;
	margin: auto;
	align-items: center;
}
.mapBlock .map-discription > .text:has(> .map-discription--stay, .map-discription--visit) {
	width: 90px;
    text-align: left;
}
.mapBlock .map-discription > .text:has(> .map-discription--stay, .map-discription--visit):nth-child(2){
	width: 150px;
    margin-left: 10px;
}
.map-discription .map-discription--stay {
	color: #6b8dcf;
}
.map-discription .map-discription--visit {
	color: #010100;
}
@media (max-width: 739px) {
	.map-discription{
		width: unset;
		margin: unset;
	}
	.mapBlock .map-discription > .text:has(> .map-discription--stay, .map-discription--visit) {
		width: 21vw;
		margin-left: 2.14vw;
		font-size: 3.2vw;
		text-align: left;
	}
	.mapBlock .map-discription > .text:has(> .map-discription--stay, .map-discription--visit):nth-child(2) {
		width: 34vw;
	}
	.mapBlock .map-discription > .text:has(> .map-discription--stay, .map-discription--visit) .fs2L {
		font-size: 3.9vw !important;
	}
}



/* ご宿泊のホテル */
@media (max-width: 739px) {
	.ctm_pageTtl .ttlLv3 .heading .hotel-city--text{
		margin-right: 2.7vw;
	}
}