/*横スクロール対策暫定*/
.ATS-section,
.ATS-Report {
	overflow: hidden
}



/*swiper関連*/
.swiper01 {
	overflow: visible;
	z-index: 999
}

.view-top-right {
	z-index: 99
}

.view-bottom-left {
	padding-left: 5rem !important;
}

.indicator-main {
	display: grid;
	gap: 30px;
	position: absolute;
	left: 2.7rem;
	top: 7rem;
}

.indicator-main .dot-wrapper {
	padding-top: 50px;
	display: flex;
	flex-direction: column;
	column-gap: 30px;
	grid-row-gap: 30px;
	position: relative;
	width: 30px;
	height: auto;
}

.indicator-main .swiper-pagination-bullet {
	position: relative;
	width: 1px;
	height: 80px;
	background: #fff;
	opacity: 0.5;
	transition: opacity 0.3s, transform 0.3s;
}

.indicator-main .swiper-pagination-bullet.swiper-pagination-bullet-active {
	opacity: 1;
}

.indicator-main .swiper-pagination-bullet::before {
	position: absolute;
	bottom: 25px;
	left: -45px;
	font-family: serif;
	font-size: 13px;
	font-weight: 100;
	color: #fff;
	transform: rotate(90deg);
	padding: 1rem 0rem 0rem 4rem;
}

.indicator-main .swiper-pagination-bullet:nth-child(1)::before {
	content: "01";
}

.indicator-main .swiper-pagination-bullet:nth-child(2)::before {
	content: "02";
}

.indicator-main .swiper-pagination-bullet:nth-child(3)::before {
	content: "03";
}

.indicator-main .swiper-pagination-bullet:nth-child(4)::before {
	content: "04";
}

.indicator-main .swiper-pagination-bullet:nth-child(5)::before {
	content: "05";
}

.indicator-main .swiper-pagination-bullet::after {
	content: "";
	position: absolute;
	left: -2px;
	bottom: -3px;
	width: 0;
	height: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-right: 5px solid #fff;
	transform: rotate(90deg);
}


.swiper-child1 {
	width: 100%;
	height: auto;
	position: relative;
	z-index: 88
}

.swiper-child1 .swiper-slide img {
	width: 90%;
	height: auto;
	display: block;
	aspect-ratio: 804 / 919;
	object-fit: cover;


}

.swiper-child2 {
	opacity: 1;
	overflow: hidden;
	width: 100%;
	transition: opacity 0.8s ease;
}

.swiper-child2.is-fading {
	opacity: 0;
	transition: opacity 0.8s ease;
	/* メイン speed:800 と揃える */

}

ul.view-bottom-right-imglist {
	display: flex;
	width: -webkit-fill-available;
	margin: 0 0 0 auto;
	align-items: baseline;
}


.view-bottom-right {
	width: 100%;
	display: flex;
	align-items: end;
}

ul.view-bottom-right-imglist li {
	margin: 0;
	width: 362px !important;
	/* 固定幅 */
	flex-shrink: 0;
}

ul.view-bottom-right-imglist li img {
	object-fit: cover;
	display: block;
	aspect-ratio: 362 / 420;
	width: 100%;
}


/**/
.indicator-main-tour {
	display: grid;
	gap: 20px;
	position: absolute;
	left: 2.1rem;
	top: 2rem;
	z-index: 1000;
}

.indicator-main-tour .dot-tour-wrapper {
	display: flex;
	flex-direction: column;
	column-gap: 30px;
	grid-row-gap: 30px;
	position: relative;
	width: 30px;
	height: auto;
}

.indicator-main-tour .swiper-pagination-bullet {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 60px;
	cursor: pointer;
	background: #00409D;
	opacity: 0.5;
	transition: opacity 0.3s, transform 0.3s;
}

.indicator-main-tour .swiper-pagination-bullet.swiper-pagination-bullet-active {
	opacity: 1;
}

.indicator-main-tour .swiper-pagination-bullet::before {
	position: absolute;
	bottom: 15px;
	left: -35px;
	font-family: serif;
	font-size: 13px;
	font-weight: 100;
	color: #00409D;
	transform: rotate(90deg);
	padding: 1rem 0rem 0rem 3rem;
}

.indicator-main-tour .swiper-pagination-bullet:nth-child(1)::before {
	content: "01";
}

.indicator-main-tour .swiper-pagination-bullet:nth-child(2)::before {
	content: "02";
}

.indicator-main-tour .swiper-pagination-bullet:nth-child(3)::before {
	content: "03";
}

.indicator-main-tour .swiper-pagination-bullet:nth-child(4)::before {
	content: "04";
}

.indicator-main-tour .swiper-pagination-bullet:nth-child(5)::before {
	content: "05";
}

.indicator-main-tour .swiper-pagination-bullet::after {
	content: "";
	position: absolute;
	left: -2px;
	bottom: -3px;
	width: 0;
	height: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-right: 5px solid #00409D;
	transform: rotate(90deg);
}

.indicator-main-tour .dot-tour {
	cursor: pointer;
}



.tour-list-contents {
	padding-right: 20px;
	position: relative;
	padding-left: 120px;
}

ul.tour-list-card {
	display: flex;
	position: relative;
	width: auto;
	padding-bottom: 4rem;
	transition: 0
}

ul.tour-list-card::-webkit-scrollbar {
	display: none;
}


ul.tour-list-card li {
	width: 360px;
	height: 450px;
	position: relative;
}

ul.tour-list-card li img.tour-list-img {
	object-fit: cover;
	height: 360px;
	width: 360px;
}

.tour-list-text {
	width: 260px;
	margin: auto;
	padding: 15px 10px;
	background-color: rgba(230, 230, 230, 0.7);
	transform: translateY(-60px);
	position: relative;
	min-height: 122px;
}

.tour-list-text h2 {
	font-size: 14px;
	background: #00409D;
	color: #fff;
	padding: 0.5rem;
	position: absolute;
	width: auto;
	top: -30px;
	left: -15px;
	z-index: 1000;
}

.tour-list-text p {
	color: #4D4D4D;
	font-size: 14px;
	margin-bottom: 0.5rem;
}

.tour-list-text a {
	color: #00409d;
	font-size: 14px;
	position: relative;
}

.tour-list-text a {
	color: #00409d;
	font-size: 14px;
	position: relative;
	display: flex;
	justify-content: flex-start;
	gap: 10px;
	align-items: center;
}

.tour-list-text a img {
	transform: translateY(2px);
}

ul.tour-list-card li:nth-child(even) {
	margin-top: 3rem;
	margin-bottom: 0;
}

.top-list-card {
	scroll-snap-type: none !important;
	scroll-snap-align: none !important;
	scroll-behavior: auto !important;

}

li.top-list-card:nth-child(1) {
	transform: translateX(0);
	z-index: 100;
	position: relative;
}

li.top-list-card:nth-child(2) {
	transform: translateX(-15px);
	z-index: 90;
	position: relative;
}

li.top-list-card:nth-child(3) {
	transform: translateX(-30px);
	z-index: 80;
	position: relative;
}

li.top-list-card:nth-child(4) {
	transform: translateX(-45px);
	z-index: 70;
	position: relative;
}

li.top-list-card:nth-child(5) {
	transform: translateX(-60px);
	z-index: 60;
	position: relative;
}

/* Swiper側ははみ出し可、各スライドは固定幅＆はみ出し許可 */
.tour-swiper {
	overflow: hidden;
}

.tour-swiper .swiper-wrapper {
	overflow: visible;
}

.tour-swiper .swiper-slide.top-list-card {
	width: 362px !important;
	overflow: visible;
	/* はみ出す重なりを見せる */
	position: relative;
	transition: transform 0.7s ease;
	/* ← Swiper speed(700ms)と合わせる */
}

/* 画像サイズは固定 */
.tour-swiper .tour-list-img {
	width: 362px;
	height: 360px;
	object-fit: cover;
	display: block;


}

/* ▼「表示位置」に応じた重なり＆上下ズレ（slot0〜slot4） */
.tour-swiper .swiper-slide.slot0 {
	transform: translate(-0px, 0rem);
}

.tour-swiper .swiper-slide.slot1 {
	transform: translate(-15px, 3rem);
}

.tour-swiper .swiper-slide.slot2 {
	transform: translate(-30px, 0rem);
}

.tour-swiper .swiper-slide.slot3 {
	transform: translate(-45px, 3rem);
}

.tour-swiper .swiper-slide.slot4 {
	transform: translate(-60px, 0rem);
}

/* 旧: nth-child の指定は無効化しておく（あれば） */
ul.tour-list-card li.top-list-card {
	transform: none;
	margin-top: 0;
	z-index: auto;
}


@media screen and (max-width: 768px) {
	.sp-view-top-swiper img {
		object-fit: cover;
		width: 100%;
		height: auto;
		aspect-ratio: 794 / 908;

	}

	.indicator-main.sp-ver {
		left: 1rem;
		top: 0;
		grid-row-gap: 30px;
	}

	.indicator-main.sp-ver .sp-swiper-pagination {
		top: 2rem;
		left: 1rem;

	}

	/* 子1は初期完全非表示（描画しない） */
	.sp-view-top-swiper {
		opacity: 0;
	}

	.sp-view-top-swiper.is-ready {
		opacity: 1;
		transition: opacity .6s;
	}

	.tour-swiper {
		margin-left: 60px
	}

	ul.tour-list-card {
		padding-left: 0
	}

	.tour-list-contents {
		padding-left: 0px;
		margin-left: 0px;
		padding-right: 0px
	}

	.indicator-main-tour {
		left: 1rem
	}

	.tour-swiper .swiper-slide.top-list-card {
		overflow: hidden;
	}
}

@media screen and (max-width: 440px) {
	.tour-swiper .swiper-slide.top-list-card {
		overflow: hidden;
		padding-right: 20px !important;
		width: calc(100% - 20px) !important
	}

	.tour-list-text {
		width: 70%;
		margin: auto;
		padding: 15px 10px;
		background-color: rgba(230, 230, 230, 0.7);
		transform: translateY(-60px);
		position: relative;
		min-height: 122px;
	}

	.tour-list-text h2 {
		font-size: 14px;
		background: #00409D;
		color: #fff;
		padding: 0.5rem;
		position: absolute;
		width: auto;
		top: -30px;
		left: -5px;
		z-index: 1000;
	}

	ul.tour-list-card li img.tour-list-img {
		object-fit: cover;
		height: auto;
		width: 100%;
		aspect-ratio: 1/1;

	}

	.tour-swiper .swiper-slide.slot0 {
		transform: translate(-0px, 0rem);
	}

	.tour-swiper .swiper-slide.slot1 {
		transform: translate(-35px, 3rem);
	}

	.tour-swiper .swiper-slide.slot2 {
		transform: translate(-70px, 0rem);
	}

	.tour-swiper .swiper-slide.slot3 {
		transform: translate(-105px, 3rem);
	}

	.tour-swiper .swiper-slide.slot4 {
		transform: translate(-140px, 0rem);
	}

	.tour-swiper-pagination {
		position: relative;
		opacity: 1 !important;
		z-index: 5;
		pointer-events: auto !important;
	}


}

.news-section {
	position: relative;
	z-index: 888
}

header {
	position: fixed;
	width: 100%;
}

main {
	padding-top: 116px
}

.slide-menu {
	top: 116px;
}

@media screen and (max-width: 768px) {

	main {
		padding-top: 79px
	}

	.slide-menu {
		top: 79px;
	}
}

p.news-contents-item-status span {
	display: inline-block;
	width: auto;
	max-width: none;
	min-width: 120px
}


/*1121*/
@media screen and (max-width: 768px) {
	.footer-top-menu a {
		width: 100%;
		box-sizing: border-box;
		display: block;
		background-position-y: 25%;
	}

	hr.bar {
		height: 1px;
		margin: 0;
	}
}

.tour-list-text {
	position: relative;
	padding: 0 10px 15px 10px;
	/* 全体の余白 */
	background-color: transparent;
	margin-top: -30px;

}

/* タイトル：ちょっとだけ上にかぶせる用 */
.tour-list-text h2.tour-list-title {
	position: relative;
	margin: 0;
	padding: 0.5em;
	display: flex;
	align-items: center;
	top: 0;
	left: -10px;
	/* ここで“はみ出し感”を出す */
	transform: translateY(-0px);
	z-index: 2;
}

/* 本文側ラッパー：ここにだけ背景を付ける */
.tour-list-body {
	position: relative;
	background-color: rgba(230, 230, 230, 0.7);
	padding: 45px 10px 15px 10px;
	z-index: 1;
	/* タイトルに少しかぶせたい場合はここで調整 */
	margin-top: -30px;
}

a.news_list {
	color: #00409D;
	display: flex;
	align-items: center;
	flex-direction: row;
	gap: 4px;
}



/* archive-tour-readar */
.overviewpage.title-banner.tour-reader {
	background-image: url(../../../uploads/2025/11/Rectangle-2-1.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.inner-title-wh {
	background-color: rgba(255, 255, 255, 0.8);
	max-width: 450px;
	padding: 20px 40px 20px 60px;
	height: -webkit-fill-available;
	color: #fff;
	display: flex;
	align-items: center;
}

img.tour-reader-title {
	max-height: 41px !important;
}

h1.blue-title {
	color: #00409D;
}

.tour-reader-about-inner {
	position: relative;
	padding: 2rem 0;
}

.tour-reader-about::before {
	display: none;

}

.tour-reader-about {
	position: relative;
	background-color: #F4F9FF;
	margin-top: 64px;
	padding: 32px 0;
	margin-bottom: 126px
}

.tour-reader-about p {
	color: #00409D;
	font-family: "Noto Serif JP", serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 2.06;
	/* 206.25% */

}

.inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.tour-reader-about-box {
	display: flex;
	max-width: 850px;
	margin: 0 auto;
	justify-content: center;
	column-gap: 34px;
	align-items: center;
}

.tour-reader-about-box-text {
	width: 408px;
	text-align: left;
}

.tour-reader-about-box-img {
	width: calc(100% - 442px);
	position: relative;
}

.tour-reader-about-box-img img {
	position: relative;
	max-width: 100%;
	margin-top: -96px
}

@media screen and (max-width: 768px) {
	.tour-reader-about {
		margin-top: 0px;
		padding: 32px 0;
		margin-bottom: 63px
	}

	.tour-reader-about-box {
		display: flex;
		flex-wrap: wrap;
		grid-row-gap: 20px;
		max-width: 850px;
		align-items: center;
	}

	.tour-reader-about-box-text {
		width: 100%;
		text-align: left;
	}

	.tour-reader-about-box-img {
		width: 100%;
		position: relative;
	}

	.tour-reader-about-box-img img {
		position: relative;
		max-width: 100%;
		margin-top: -0px
	}

}


.tour-reader-listbox {
	padding-bottom: 80px;
}

.tour-reader-card {
	border-radius: 20px;
	background: #F2F2F2;
	padding: 72px 8.75% 68px;
	margin-bottom: 27px;
}

.tour-reader-card:nth-child(even) {
	background: #F4F9FF
}

.tour-reader-prof01 {
	display: flex;
	column-gap: 42px;
	margin-bottom: 53px
}

.tour-reader-prof01 dt {
	width: 171px;
}

.tour-reader-prof01 dd {
	width: calc(100% - 213px)
}

.tour-reader-prof01 dt img {
	width: 100%;
	height: auto;
	object-fit: cover;
	aspect-ratio: 1 / 1;
	border-radius: 50%
}

.tour-reader-prof01 dd h2 {
	background: url(./img/leader-icon.svg) 0 center no-repeat;
	padding-left: 34px;
	color: #00409D;
	font-size: 24px;
	margin-bottom: 30px;
	letter-spacing: 2.64px
}

.tour-reader-prof01 dd h2 .eng {
	font-size: 16px;
	margin-left: 1em
}

.tour-reader-prof01 dd p {
	font-size: 16px;
}

.tour-reader-prof02 {
	display: flex;
	column-gap: 22px;
}

.tour-reader-prof02 li {
	border-radius: 10px;
	font-size: 14px;
	margin-bottom: 0;
	box-sizing: border-box;
	padding: 25px 20px;
	background: #FFF;
}

.tour-reader-prof02 li h3 {
	font-size: 14px;
	color: #00409D;
	margin-bottom: 5px;

}

.tour-reader-prof02 li.tour-reader-history {
	width: 15.5%;
	min-width: 148px;
	text-align: center;
}

.tour-reader-prof02 li.tour-reader-area {
	width: 23%;
	min-width: 135px
}

.tour-reader-prof02 li.tour-reader-ex {
	width: 56%;

}

.tour-reader-history .cont {
	padding: 40% 0
}

@media screen and (max-width: 768px) {


	.inner-title-wh {
		padding: 20px;
	}

	img.tour-reader-title {
		max-height: 34px !important;
	}


	.tour-reader-listbox {
		padding-bottom: 40px;
	}

	.tour-reader-card {
		border-radius: 20px;
		padding: 36px 8.75% 34px;
		margin-bottom: 16px;
		word-break: break-all
	}


	.tour-reader-prof01 {
		display: flex;
		flex-wrap: wrap;
		grid-row-gap: 20px;
		column-gap: 20px;
		margin-bottom: 26px
	}

	.tour-reader-prof01 dt {
		width: 100%;
		text-align: center;
	}

	.tour-reader-prof01 dd {
		width: calc(100%)
	}

	.tour-reader-prof01 dt img {
		width: 50%;
		max-width: 171px;
		height: auto;
		object-fit: cover;
		aspect-ratio: 1 / 1;
		border-radius: 50%
	}

	.tour-reader-prof01 dd h2 {
		margin-bottom: 15px;
	}

	.tour-reader-prof01 dd h2 .eng {
		font-size: 16px;
		display: block;
		margin-left: 0em
	}

	.tour-reader-prof01 dd p {
		font-size: 16px;
	}

	.tour-reader-prof02 {
		display: flex;
		flex-wrap: wrap;
		grid-row-gap: 15px;
		column-gap: 22px;
	}

	.tour-reader-prof02 li {
		border-radius: 10px;
		font-size: 14px;
		margin-bottom: 0;
		box-sizing: border-box;
		padding: 25px;
		background: #FFF;
	}

	.tour-reader-prof02 li h3 {
		font-size: 14px;
		color: #00409D;
		margin-bottom: 5px;

	}

	.tour-reader-prof02 li.tour-reader-history {
		width: 100%;
		min-width: 148px;
		text-align: left;
	}

	.tour-reader-prof02 li.tour-reader-area {
		width: 100%;
		min-width: 135px
	}

	.tour-reader-prof02 li.tour-reader-ex {
		width: 100%;

	}

	.tour-reader-history .cont {
		padding: 0% 0
	}


}


/*1126*/

.grecaptcha-badge {
	z-index: 999
}

h3.archive-postitem-title a {
	text-decoration: underline !important
}

ul.tour-list li a {
	flex-wrap: wrap;
	grid-row-gap: 5px
}

.news_l {
	display: flex;
	align-items: center;
	column-gap: 1em
}

.news_l .date {
	margin-right: 0
}

@media screen and (max-width: 767px) {
	.news_l {
		width: 100%;
	}

	.status {
		margin-bottom: 0rem;
	}
}

.month-box {
	align-items: center
}

input.wpcf7-form-control.wpcf7-previous.submit-btn {
	background-color: #EA5532;
	border: 0;
	padding: 22.5px;
	color: #fff;
	font-weight: bold;
	font-size: 24px;
	border-radius: 7px;
	max-width: 400px;
	width: -webkit-fill-available;
	text-align: center;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	background-image: url(img/arrow-white-l.png);
	background-position-x: 20%;
	background-position-y: center;
	background-repeat: no-repeat;
	background-size: 15px;
	cursor: pointer;
}

.submit-btn-box p {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	row-gap: 20px;
}

.wpcf7-spinner {
	display: none;
}

/*1204*/
section.main-view {
	background-image: none !important
}

.simple-pagination {
	display: flex;
	width: 100%;
	column-gap: 20px;
	justify-content: space-between;
	flex-direction: row-reverse
}

.prev-page {
	display: flex;
	justify-content: end;
	color: #00409D;
	margin: 4rem 0;
	font-weight: 500;
}

.prev-page img {
	transform: rotate(180deg)
}

img.title-bg-top {
	position: absolute;
	top: -86px;
	transform: translateX(-7px);
}

img.title-bg {
	position: absolute;
	top: -32px;
	z-index: 10;
	transform: translateX(-6px);
}

@media screen and (max-width: 767px) {
	img.title-bg-top {
		position: absolute;
		width: 135px;
		top: -63px;
		transform: translateX(-7px);
	}

	img.title-bg {
		position: absolute;
		top: -32px;
		z-index: 10;
		transform: translateX(-6px);
	}
}