@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=LINE+Seed+JP:wght@100;400;700;800&display=swap');
html {
	scroll-behavior: smooth;
	scroll-padding-top: 50px;
}
body {
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
}
a {
	transition: .3s;
}
a:link, a:visited {
	color: #0952a4;
}
a:hover {
	opacity: 0.7;
}
a:focus, button:focus, input:focus {
	outline: none;
}
a:focus-visible, button:focus-visible, input:focus-visible, .swiper-pagination-bullet:focus-visible {
	outline: 2px solid #000 !important;
	outline-offset: 2px !important;
}
.textCenter {
	text-align: center;
}
.red {
	color: #FF0000;
}
:root {
	--sbeige: #fffcf5;
	--sorange: #fed488;
	--spink: #ff7bad;
	--ssky1: #89e0fe;
	--ssky2: #b8edff;
	--sblue: #45b3e7;
	--yellow: #ffff00;
	--yellowRGB: 255 255 0;
	--red: #ff0000;
	--orange: #f29a16;
	--mainFont: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif; /*bodyに使用*/
	--subFont1: "LINE Seed JP", sans-serif;
	--subFont2: Arial, Helvetica, "sans-serif";
}
article img {
	width: 100%;
}
article b {
	font-size: 1.2em;
}
.noWrap {
	white-space: nowrap;
}
.small {
	font-size: .9em;
}
.small2 {
	font-size: .85em;
}
article {
	background-image: repeating-linear-gradient(to right, var(--ssky1), var(--ssky1) 20px, var(--ssky2) 20px, var(--ssky2) 40px);
}
section {
	padding: clamp(3rem, 2.015rem + 4.92vw, 5rem) .5em .5em;
}
section:nth-of-type(6) {
	padding: clamp(3rem, 2.015rem + 4.92vw, 5rem) .5em;
}
.inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 4em clamp(0.3rem, -0.045rem + 1.72vw, 1rem) 2em;
	background: var(--sbeige);
	background-image: radial-gradient(circle, var(--sorange) 4.5px, transparent 5px);
	background-position: left -1px top 3px;
	background-repeat: repeat-x;
	background-size: 18px 12px;
	position: relative;
}
.inner::before {
	content: "";
	background: url(../images/im_tape.png) no-repeat center / contain;
	width: 100px;
	height: 50px;
	position: absolute;
	top: -21px;
	left: 50%;
	translate: -50% 0;
	transform: rotate(-6deg);
	z-index: 2;
}

/*ボタン*/
.Btn a {
	display: block;
	max-width: 800px;
	margin: .1em auto 0;
	position: relative;
	padding: .5em 1.5em .5em 1em;
	font-weight: 700;
	color: #fff;
	background: var(--orange);
	box-shadow: 0 1px 2px 0 rgba(60, 61, 71, 1);
	transition: .3s;
	text-wrap: pretty;
	text-align: center;
	border-radius: 5px;
}
.Btn a:hover {
	box-shadow: 0 0 0 0 rgba(60, 61, 71, 1);
	transform: translate(1px, 2px);
}
.Btn a::after {
	content: "";
	border-top: solid 2px;
	border-right: solid 2px;
	width: 10px;
	height: 10px;
	position: absolute;
	top: 50%;
	right: 1.5em;
	translate: 100% -50%;
	transform: rotate(45deg);
}
.comprehensive.Btn {
	margin-top: 1.5em;
}
.comprehensive a::before {
	font-family: "Material Symbols Rounded";
	font-weight: 400;
	font-size: 1.3em;
	vertical-align: -5px;
	display: inline-block;
	content: "\e8b6";
}
ul.midpoint > li, ul.square > li, ul.dot > li {
	line-height: 1.4;
	padding-top: .3em;
	text-indent: -1em;
	margin-left: 1em;
}
ul.square > li:before {
	content: '■';
	padding-right: .1em;
}
ul.midpoint > li:before {
	content: '●';
	font-size: .8em;
	padding-right: .1em;
	vertical-align: .1em;
}
ul.dot > li:before {
	content: '・';
	font-size: .8em;
	padding-right: .1em;
	vertical-align: .1em;
}
/*タイトル*/
.h2main {
	font-family: var(--subFont1);
	color: var(--sblue);
	font-size: 1.7em;
	font-weight: 700;
	line-height: 1.7;
	text-wrap: pretty;
	text-align: center;
	margin: 0 0 1em;
}
.h2main::before {
	content: "";
	background: url(../images/ic_flagBlue.png) no-repeat center / contain;
	padding-left: 1.2em;
	margin-right: .2em;
}
.stylePint {
	width: fit-content;
	font-size: 1.2em;
	font-weight: 700;
	line-height: 1.8;
	margin: auto;
}

/*pageNavi*/
#pNav {
	position: sticky;
	top: 0;
	z-index: 10;
	background: var(--sblue);
}
#pNav ul {
	max-width: 1080px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	rule: 2px solid var(--ssky1);
}
#pNav li {
	width: calc(100% / 3);
	text-align: center;
}
#pNav a {
	line-height: 1.2;
	font-weight: 700;
	display: block;
	align-content: center;
	color: var(--yellow);
	position: relative;
	height: 3em;
	text-align: center;
	padding: 0 1em 0 0;
}
#pNav a::after {
	content: "";
	border-top: solid 2px var(--ssky2);
	border-right: solid 2px var(--ssky2);
	width: 7px;
	height: 7px;
	position: absolute;
	bottom: 50%;
	left: 90%;
	translate: 0 50%;
	transform: rotate(135deg);
	transition: all .2s;
}
#pNav a:hover::after {
	translate: -50% 3px;
}
.topNavi{
	line-height: 1.2!important;
}
/*splide*/
.splide {
	margin: 1.5em auto 0;
	position: relative;
}
/* 3. 左矢印を余白部分へ移動 */
.splide__arrow {
	position: absolute;
	top: 40%;
	translate: 0 -40%;
}
.splide__arrow svg {
	fill: #fff;
}
.splide__arrow svg {
	width: 35px;
	height: 35px;
	padding: 5px;
	border-radius: 50%;
	background: var(--sblue);
	box-shadow: 1px 1px 2px #999;
}
.splide__arrow:hover {
	opacity: .8;
}
.splide__arrow:hover svg {
	fill: #ffffff;
}
.splide__arrow:disabled, .splide__arrow.is-disabled {
	display: none; /* 非活性の矢印を非表示 */
}
.splide__arrow--prev {
	transform: rotate(180deg);
	left: -10px;
	z-index: 5;
}
.splide__arrow--next {
	right: -10px;
	z-index: 5;
}
.splide:not(.is-overflow) .splide__pagination, .splide:not(.is-overflow) .splide__arrows {
	display: flex !important; /* 3枚以下で非表示（display: none）になる制限を解除して強制表示 */
}
.splide__pagination {
	font-size: 1.1em;
	position: relative;
	flex-wrap: nowrap;
	margin: 0 0 .8em 0;
}
.splide__pagination__page {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 15px;
	height: 15px;
	margin: 7px 5px;
	border-radius: 50%;
	color: var(--sblue);
	font-size: 1.5em;
	font-weight: 800;
	background: var(--ssky2);
}
/* アクティブなドットの色*/
.splide__pagination__page.is-active {
	background: var(--sblue);
	box-shadow: 1px 1px 2px #999;
	color: #fff;
}
.splide__pagination__page:hover {
	opacity: .8;
	border: 1px solid var(--sblue);
}
.splide__slide {
	display: grid;
	align-content: space-between;
	background: #fff;
	border: 2px solid var(--ssky1);
}
.h3main {
	color: #fff;
	font-size: 1.2em;
	font-weight: 700;
	background: var(--spink);
	padding: .4em .5em .4em .5em;
}
.h3main::before {
	content: "";
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	background: url(../images/ic_flagWhite.png) no-repeat center / contain;
	margin-right: .1em;
	vertical-align: -3px;
}
.eria {
	display: inline-block;
	padding: 3px 3px 3px 3px;
	line-height: 1;
	color: var(--spink);
	background: #fff;
	margin: 4px 6px 0 0;
	font-size: .85em;
}
.detailBox {
	background: #fff;
	padding: 1em 1em .8em 1em;
}
.point1 {
	padding: .5em 0 0;
	line-height: 1.4;
	text-indent: -1.2em;
	margin-left: 1.2em;
	font-size: 1.05em;
	color: var(--spink);
	font-weight: 700;
}
.point1::before {
	content: "";
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	background: url(../images/ic_point.png) no-repeat center / contain;
	margin-right: .1em;
	vertical-align: -3px;
}
.detailInner {
	border-top: 1px solid var(--spink);
	padding: .5em 0 0;
	margin: .5em 0 0;
}
.prefecture {
	line-height: 1.4;
	padding: .3em 0 0;
	text-indent: -1.2em;
	margin-left: 1.2em;
}
.prefecture::before {
	content: "";
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	background: url(../images/ic_prefecture.png) no-repeat center / contain;
	margin-right: .1em;
	vertical-align: -3px;
}
.inn {
	line-height: 1.4;
	padding: .3em 0 0;
	text-indent: -1.2em;
	margin-left: 1.2em;
}
.inn::before {
	content: "";
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	background: url(../images/ic_inn.png) no-repeat center / contain;
	margin-right: .1em;
	vertical-align: -3px;
}
.origin {
	line-height: 1.4;
	padding: .4em 0 0;
	text-indent: -1.2em;
	margin-left: 1.2em;
}
.origin::before {
	content: "";
	display: inline-block;
	width: 2.1em;
	height: 1.1em;
	background: url(../images/ic_origin.png) no-repeat center / contain;
	margin-right: .2em;
	vertical-align: -2px;
}
.example {
	margin: .6em 0 0 -.5em;
	font-size: .9em;
}
.price {
	text-align: center;
	color: var(--red);
}
.price b {
	font-family: var(--subFont2);
	font-size: 1.8em;
	font-weight: 700;
}
.terms {
	font-size: .8em;
	line-height: 1.3;
	padding: .3em 0 0;
}
.btnBox {
	padding: 0 1em 1em;
}
/*キャンペーン#campaign*/
#campaign li {
	width: min(700px, 90%);
	margin: 0 auto;
}
#campaign li p {
	margin-top: .5em;
}
/*その他おすすめプラン#others,tabiwaチケット#tabiwaticket*/
.unit {
	display: grid;
	gap: .6rem;
	grid-template-columns: repeat(2, 1fr);
}
.unit > li {
	padding: .5rem;
	border-radius: 5px;
	background: #fff;
	display: grid;
	align-content: space-between;
	box-shadow: 1px 1px 3px #555;
}
.unit h3 {
	margin-top: .2em;
	font-weight: 700;
}
.unit p {
	margin-top: .2em;
}
.unit a:link, .unit a:visited {
	color: #444 !important;
}
@media screen and (max-width: 759.9px) {
	.spnone {
		display: none !important;
	}
	article {
		font-size: 14px;
		line-height: 1.3;
	}
	/*メインビジュアル#title*/
	img.titlePc {
		display: none !important;
	}
	img.titleSp {
		margin: 25% 0 20%;
	}
	.title {
		margin-top: 20px;
		position: relative;
		background: url("../images/ti_bgSp.jpg?date251121") repeat-x center/cover;
		animation: slide1 250s linear infinite;
	}
	.title::before {
		content: "";
		position: absolute;
		background: url("../images/ti_waveSp.webp?date251121") repeat-x center/cover;
		width: 100%;
		height: 20%;
		top: 10%;
		animation: slide2 30s linear infinite;
	}
	.title::after {
		content: "";
		position: absolute;
		background: url("../images/ti_waveSp.webp?date251121") repeat-x center/cover;
		width: 100%;
		height: 15%;
		bottom: 10%;
		animation: slide2 40s linear infinite;
	}
	.title figure {
		position: relative;
		background: url("../images/ti_figureSp.webp?date251121") repeat-x center/cover;
		animation: slide1 145s linear infinite;
		z-index: 2;
	}
	@keyframes slide1 {
		0% {
			background-position: 1400px 0;
		}
		100% {
			background-position: 0 0;
		}
	}
	@keyframes slide2 {
		0% {
			background-position: 0 0;
			transform: scale(100%, 100%);
		}
		50% {
			transform: scale(100%, 90%);
		}
		100% {
			background-position: 1400px 0;
			transform: scale(100%, 100%);
		}
	}
	/*	以下削除不可====================================================*/
	#newsImportant {
		margin: 0 5px 5px;
		display: flex;
		font-size: 11px;
	}
	#newsImportant dt {
		width: 72px;
		height: fit-content;
		background: #e62d2d;
		color: #FFF;
		text-align: center;
		border-radius: 3px;
		margin-top: 2px;
		padding: 3px 0;
	}
	#newsImportant dd {
		width: 100%;
		padding: 0 10px;
	}
	#newsImportant li {
		padding: 5px 3px 5px 12px;
		position: relative;
	}
	#newsImportant li:nth-of-type(n+2) {
		border-top: 1px dotted #ccc;
	}
	#newsImportant li:before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		border-left: 6px solid #555555;
		border-right: 0;
		position: absolute;
		top: 7px;
		left: 0;
	}
	#dirPathBlock, #anchorLinkBlock {
		font-size: 12px;
		margin: 1%;
	}
	main h1 {
		font-size: 12px;
		margin: 0 1%;
	}
	/*.inner {
	width: 98%;
	margin: 0 1%;
	padding: 5% 0;
}*/
	/*pagetop*/
	#pagetop {
		display: none;
		position: fixed;
		right: 10px;
		bottom: 10px;
		z-index: 100;
	}
	#pagetop a {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 auto;
		width: 3em;
		height: 3em;
		background-color: rgba(255, 255, 255, .5);
		border: solid 1px #152a8c;
		border-radius: 50vh;
	}
	#pagetop a::after {
		content: '';
		width: 7px;
		height: 7px;
		border-style: solid;
		border-width: 0 6px 9px 6px;
		border-color: transparent transparent #152a8c transparent;
	}
}
@media screen and (min-width: 760px), print {
	.pcnone {
		display: none !important;
	}
	.PCtextCenter {
		text-align: center;
	}
	article {
		line-height: 1.4;
	}
	/*メインビジュアル#title*/
	img.titleSp {
		display: none !important;
	}
	img.titlePc {
		display: block !important;
		height: 480px;
		object-fit: contain;
	}
	.title {
		margin-top: 20px;
		position: relative;
		background: url("../images/ti_bgPc.jpg?date251121") repeat-x center/cover;
		height: 480px;
		animation: slide3 250s linear infinite;
	}
	.title::before {
		content: "";
		position: absolute;
		background: url("../images/ti_wavePc.webp?date251121") repeat-x center/cover;
		width: 100%;
		height: 480px;
		animation: slide4 25s linear infinite;
	}
	.title figure {
		position: relative;
		background: url("../images/ti_figurePc.webp?date251121") repeat-x center/cover;
		height: 480px;
		z-index: 2;
		animation: slide3 145s linear infinite;
	}
	@keyframes slide3 {
		0% {
			background-position: 2600px 0;
		}
		100% {
			background-position: 0 0;
		}
	}
	@keyframes slide4 {
		0% {
			background-position: 0 0;
			transform: scale(100%, 100%);
		}
		50% {
			transform: scale(100%, 50%);
		}
		100% {
			background-position: 2600px 0;
			transform: scale(100%, 100%);
		}
	}
	#pNav ul {
		max-width: 1080px;
		margin: 0 auto;
		padding: .5em 0;
		flex-wrap: nowrap;
		justify-content: normal;
	}
	#pNav li:first-child {
		border-left: 2px solid var(--ssky1);
	}
	#pNav li:last-child {
		border-right: 2px solid var(--ssky1);
	}
	#pNav a {
		letter-spacing: .1em;
		margin: -.5em auto 0;
		height: 50px;
		padding: 0;
	}
	#pNav a::after {
		border-top: solid 2px var(--ssky2);
		border-right: solid 2px var(--ssky2);
		width: 9px;
		height: 9px;
		bottom: 0;
		left: 50%;
		translate: -50% 0;
		transform: rotate(135deg);
	}
	#pNav a:hover::after {
		translate: -50% 3px;
	}
	.unit {
		grid-template-columns: repeat(4, 1fr);
	}
	/*以下削除不可==================================================== */
	#newsImportant {
		width: 100%;
		max-width: 1080px;
		min-width: 760px;
		margin: 0 auto 5px;
		display: flex;
		font-size: 12px;
	}
	#newsImportant dt {
		width: 72px;
		height: fit-content;
		background: #e62d2d;
		color: #FFF;
		text-align: center;
		border-radius: 3px;
		margin-top: 1px;
		padding: 3px 0;
	}
	#newsImportant dd {
		width: 100%;
		padding: 0 10px;
	}
	#newsImportant li {
		padding: 3px 3px 3px 12px;
		position: relative;
	}
	#newsImportant li:nth-of-type(n+2) {
		border-top: 1px dotted #ccc;
	}
	#newsImportant li:before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 5px solid transparent;
		border-bottom: 5px solid transparent;
		border-left: 6px solid #555;
		border-right: 0;
		position: absolute;
		top: 7px;
		left: 0;
	}
	#dirPathBlock, #anchorLinkBlock {
		width: 100%;
		max-width: 1080px;
		min-width: 760px;
		margin: 0 auto;
		font-size: 12px;
	}
	main h1 {
		font-size: 12px;
		width: 100%;
		max-width: 1080px;
		min-width: 760px;
		margin: 0 auto 5px;
	}
	/*.inner {
	width: 100%;
	max-width:1080px;
	min-width:760px;
	margin: auto;
	padding: 25px 0;
}*/
	/*pagetop*/
	#pagetop {
		display: none;
		position: fixed;
		right: 50px;
		bottom: 50px;
		cursor: pointer;
		z-index: 100;
	}
	#pagetop a {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 auto;
		width: 80px;
		height: 80px;
		background-color: rgba(255, 255, 255, .5);
		border: solid 1px #152a8c;
		border-radius: 50vh;
	}
	#pagetop a::after {
		content: '';
		width: 7px;
		height: 7px;
		border-style: solid;
		border-width: 0 6px 9px 6px;
		border-color: transparent transparent #152a8c transparent;
	}
	#pagetop a:hover {
		background-color: #152a8c;
	}
	#pagetop a:hover::after {
		border-width: 0 6px 9px 6px;
		border-color: transparent transparent #fff transparent;
	}
}
@media screen and (min-width: 2601px), print {
	.title {
		background: url("../images/ti_bgPc.jpg?date251121") repeat-x center/contain;
	}
	.title::before {
		background: url("../images/ti_wavePc.webp?date251121") repeat-x center/contain;
	}
	.title figure {
		background: url("../images/ti_figurePc.webp?date251121") repeat-x center/contain;
	}
}