:root {
	--white: #fff;
	--black: #000;
	--red: #BF0010;
	--blue: #305CCD;
	--skyblue: #4AA0DF;
	--darkblue: #23328B;
	--lightgray: #D9D9D9;
	--dakgray: #7A8892;
	--darkred: #A40C21;
}

img {
	width: 100%;
	height: auto;
}

.fc_red {
	color: var(--red)
}

body {
	font-family: 'Noto sans JP', 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	/* font-feature-settings: "palt" 1; */
	line-height: 1.4;
	color: var(--black);
}


.pconly {
	display: block;
}

.sponly {
	display: none;
}

@media (max-width: 750px) {
	.pconly {
		display: none;
	}

	.sponly {
		display: block;
	}
}

/* pagetop */
.scrollTop {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 999;
	display: none;
	cursor: pointer;
	transition: all 1s;
}

.scrollTop__link img {
	width: 55px;
	height: 55px;
}

/* all wrap */
.contents_wrapper {
	/* min-width: 1200px; */
	overflow: hidden;
	box-sizing: border-box;
}

.contents_wrapper a {
	text-decoration: none;
}

.contents {
	display: flex;
	flex-direction: column;
}

.contents h1,
.contents h2,
.contents h3,
.contents h4 {
	margin: 0;
	padding: 0;
}

/* LOCAL HEADER */
#header_pc {
	display: block;
	background-color: var(--skyblue);

}

.is-fixed {
	position: fixed;
	left: 0;
	z-index: 100;
	width: 100%;
}

.l-header {
	background: url(../../img/swift/nav_bg.png) no-repeat top right;
	background-size: cover;
	position: relative;
}

.header-inner {
	max-width: 80%;
	margin: 0 9.5% 0 10.5%;
	display: flex;
}

.swift-logo {
	width: 245px;
	height: 87px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
	position: relative;
	padding: 22px;
}

.swift-logo .logo {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding-top: 32px;
	padding-bottom: 37px;
}

.swift-logo .logo:hover {
	background: rgba(40, 150, 200, 0.3);
}

.header-nav {
	width: calc(100% - 245px);
}

.header-nav__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: 100%;
}

.header-nav__list--item {
	width: calc(100% / 3);
	border-right: 1px solid #fff;
	background: var(--blue);
}

.header-nav__list--item a {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
	font-family: 'Noto Sans JP';
	font-style: normal;
	line-height: 23px;
}

.header-nav__list--item a.txt_blue {
	color: #1D1038;
}

.header-nav__list--item a:hover {
	background: #1267cf;
	text-decoration: none;
}

#header_sp {
	display: none;
}

@media (max-width: 750px) {
	#header_sp {
		display: block;
	}

	#header_pc {
		display: none;
	}

	#header_sp {
		padding: 10px;
		background: #ccc;
		margin-top: 50px;
	}

	#nav-drawer {
		width: 10%;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		padding-right: 8px;
	}

	.nav-unshown {
		display: none;
	}

#nav-open {
	display: inline-block;
	width: 30px;
	height: 22px;
	vertical-align: middle;
	margin-bottom: unset;
}

	#nav-open span,
	#nav-open span:before,
	#nav-open span:after {
		position: absolute;
		height: 3px;
		width: 25px;
		border-radius: 3px;
		background: #555;
		display: block;
		content: '';
		cursor: pointer;
	}

	#nav-open span:before {
		bottom: -8px;
	}

	#nav-open span:after {
		bottom: -16px;
	}

	#nav-close {
		display: none;
		position: fixed;
		z-index: 99;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: black;
		opacity: 0;
		transition: .3s ease-in-out;
	}

	#nav-content {
		overflow: auto;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 9999;
		width: 90%;
		max-width: 330px;
		height: 100%;
		background: #000;
		transition: .3s ease-in-out;
		-webkit-transform: translateX(105%);
		transform: translateX(105%);
	}

	#nav-input:checked~#nav-close {
		display: block;
		opacity: .5;
	}

	#nav-input:checked~#nav-content {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
		box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
	}

	.header-logo-menu {
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		align-items: center;
	}

	.logo-area {
		width: 90%;
		padding-left: 5px;
	}

	.logo-area img {
		width: 83%;
		height: auto;
	}

	div#nav-content ul li {
		text-align: center;
		border-bottom: 1px solid #6f6b6a;
		height: 60px;
		vertical-align: middle;
		position: relative;
	}

	div#nav-content ul li a {
		color: #fff;
		text-decoration: none;
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		padding-top: 20px;
	}
}

/* item_btns */
.btns_outer {
	display: flex;
	/* flex-wrap: wrap; */
	justify-content: center;
	gap: 15px;
	padding-right: 0;
	position: relative;
}

.btn_container {
	text-align: left;
	width: 14.2vw;
	overflow: visible;
	margin: 0 2px;
	min-width: 193px;
}

.diagonal-btn {
	display: block;
	position: relative;
	height: 10.9vw;
	overflow: hidden;
	border-radius: 0;
	transform: skew(-17deg);
	transform-origin: left bottom;
	/* border: solid 1px red; */
	transition: transform 0.3s ease;
	min-width: 161px;
	min-height: 132px;
}

.diagonal-btn .item_photo {
	position: absolute;
	top: 0;
	left: -12%;
	width: 125%;
	height: 100%;
	transform: skew(17deg);
	transition: background-size 0.5s ease;
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center;
}

.btn_container:hover .item_photo {
	background-size: 120%;
}

.item_name {
	display: block;
	text-decoration: none;
}

/* ------------------------------------- */
/* 0. 共通アウター */
/* ------------------------------------- */
.common_btn_outer {
	width: 100%;
	text-align: center;
}

/* ------------------------------------- */
/* 1. 共通ボタン (a.common_btn) - 基盤とトランジション */
/* ------------------------------------- */
a.common_btn {
	/* サイズと配置 */
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 336px;
	min-width: 240px;
	height: 60px;
	padding: 0 8px;
	/* パディングはボタン全体で制御 */

	/* アニメーションの基盤 */
	position: relative;
	overflow: hidden;
	/* ★必須: スライドレイヤーの切り抜き */
	z-index: 0;

	/* テキストとボーダーのトランジション */
	transition: color 0.3s ease, border-color 0.3s ease;
	text-decoration: none;

	/* 初期ボーダーは白 */
	border: 1px solid var(--white);
}

/* ------------------------------------- */
/* 2. コンテンツラッパー (.button-content-wrapper) */
/* ------------------------------------- */
.button-content-wrapper {
	/* テキストとアイコンをFlexで中央に配置 */
	display: flex;
	justify-content: center;
	align-items: center;

	/* 最前面に配置 */
	position: relative;
	z-index: 2;

	/* テキストは Flex で横方向に伸びるようにする */
	flex-grow: 1;
	font-weight: 700;
}

/* ------------------------------------- */
/* 3. スライドレイヤー (span.slide-layer) - アニメーション本体 */
/* ------------------------------------- */
.slide-layer {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	/* コンテンツの下、ボタン背景の上に配置 */

	width: 0;
	/* 初期幅ゼロ */
	height: 100%;

	background-color: var(--white);
	/* スライドインする色 */
	transition: width 0.3s ease;
	/* ★アニメーション本体: 幅の変化をアニメーション化 */
}

/* ------------------------------------- */
/* 4. アイコン (.icon-arrow) の設定 */
/* ------------------------------------- */
.icon-arrow {
	display: block;
	position: absolute;
	width: 12px;
	height: 24px;
	margin-left: 10px;
	background: url(../../img/swift/weui_arrow-outlined.png) center / cover no-repeat;
	filter: none;
	transition: filter 0.3s ease;
	right: 7px;
}

/* ------------------------------------- */
/* 5. ホバー時の動作 (アニメーションと色反転) */
/* ------------------------------------- */

/* 白いレイヤーを左からスライドイン */
a.common_btn:hover .slide-layer {
	width: 100%;
}

/* ホバー時のテキストとボーダーの色反転 */
a.common_btn:hover {
	/* opacity: 0.8; の古い設定は削除 */
}

/* ホバー時にアイコンを元の色に戻す */
a.common_btn:hover .icon-arrow {
	filter: invert(100%) brightness(200%);
}


/* ------------------------------------- */
/* 6. 各色クラスの設定 */
/* ------------------------------------- */

/* BLUE ボタン: 初期 青背景・白文字 → ホバー 白背景・青文字 */
a.blue_btn {
	background-color: #23328B;
	color: var(--white);
	/* 初期文字色 */
	border-color: #23328B;
	/* 初期ボーダー色 */
}

a.blue_btn:hover {
	color: #23328B;
	/* ホバーでテキストを青に反転 */
	border-color: #23328B;
}


/* BROWN ボタン: 初期 茶背景・白文字 → ホバー 白背景・茶文字 */
a.brown_btn {
	background-color: #76594A;
	color: var(--white);
	border-color: #76594A;
	margin-bottom: 7px;
}

a.brown_btn:hover {
	color: #76594A;
	border-color: #76594A;
}


/* RED ボタン: 初期 赤背景・白文字 → ホバー 白背景・赤文字 */
a.red_btn {
	background-color: var(--darkred);
	color: var(--white);
	border-color: var(--darkred);
}

a.red_btn:hover {
	color: var(--darkred);
	border-color: var(--darkred);
}




/* mainvisual */
.mainvisual {
	width: 100vw;
	position: relative;
	overflow: hidden;
}

.hero_title {
	position: absolute;
	width: 30.1vw;
	top: 67.8%;
	left: 26%;
	transform: translate(-50%, -50%);
	opacity: 0;
	animation: heroFadeUp 0.5s ease-out 0.1s forwards;
}

.hero_title h1 {
	display: flex;
	flex-direction: column;
	justify-content: center;

}

.hero_title p {
	font-style: normal;
	font-weight: 700;
	font-size: 20px;
	text-align: center;
	color: #FFFFFF;
	padding: 0;
	margin: 15px 0 0;
}

@keyframes heroFadeUp {
	from {
		opacity: 0;
		transform: translate(-50%, -30%);
		filter: blur(8px);
	}

	to {
		opacity: 1;
		transform: translate(-50%, -50%);
		filter: blur(0);
	}
}

@media (max-width: 750px) {
	.hero_title {
		width: 67%;
		position: absolute;
		top: 108vw;
		left: 50%;
		transform: translate(50%, 50%);
	}
}

/* leadtext */
.leadtext {
	width: 100vw;
	overflow: hidden;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	padding: 32px 20px;
	gap: 30px;
	/* margin: 0 13%; */
}

.leadtext>div:nth-child(1) {
	flex: 0 0 46%;
}

.leadtext>div:nth-child(2) {
	flex: 0 0 26.5%;
}

.leadtext_p {
	font-style: normal;
	font-weight: 400;
	font-size: 14px;
	line-height: 150%;
	color: #333333;
	margin: 0;
}

@media (max-width: 750px) {
	.leadtext {
		flex-wrap: wrap;
	}

	.leadtext>div:nth-child(1),
	.leadtext>div:nth-child(2) {
		flex: 0 0 100%;
	}

}

/* pagelink */
.pagelinks {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 40px 20px 64px;
	gap: 33px;
}

.pagelink_title img {
	margin: 0 auto;
	width: 25vw;
}

.pagelink_btns {
	width: 59.35%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 10px;
	min-width: 784px;
}

@media (max-width: 750px) {
	.pagelink_title img {
		margin: 0 auto;
		width: 70vw;
	}

	.pagelink_btns {
		width: 91vw;
		min-width: unset;
		gap: 10px;
	}
}

.pagelink_btns>div {
	flex: 1 1 30%;
}

.pagelink_btns a {
	display: block;
	transition: all ease 0.3s;
}

.pagelink_btns a:hover {
	transform: translateY(10px);
	opacity: 0.9;
}

/* sportystyle */
.sportystyle {
	position: relative;
	display: block;
	color: var(--white);
	width: 100vw;
}

.sportystyle .bg {
	background: url(../../img/swift/image_sporty_pc.jpg);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-size: cover;
}

.sportystyle,
.sportystyle .bg {
	height: 74.5vw;
}

.sportystyle .sporty_inners {
	width: 74vw;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 33vw auto 0;
	min-width: 1040px;
	padding: 0 20px;
}

.styles_lead p {
	font-style: normal;
	font-weight: 700;
	font-size: 20px;
	color: var(--white);

}

.styles_lead {
	width: 100%;
}

.styles_lead p {
	padding: 0;
	margin: 0 0 15px;
}

.sportystyle .title_and_leadcap {
	width: 50%;
	display: flex;
	flex-direction: column;
	gap: 0px;
	margin-top: 0px;
	margin-bottom: clamp(15px, 1vw, 50px);
	order: 0;
}

.sportystyle .title {
	max-width: 427px;
	margin-top: 6px;
}

.main_caption {
	font-style: normal;
	font-weight: 400;
	font-size: 14px;
	line-height: 150%;
	color: var(--white);
	padding: 0;
	margin: 0;
}

.sportystyle .main_caption {
	margin: 23px 20px 0 0;
}

.sportystyle .first_row_btn {
	margin-top: clamp(10px, 2vw, 30px);
	width: 46%;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	margin-left: auto;
}

.sportystyle .second_row_btn {
	width: 100%;
	margin: 1.4vw 0 0 5vw;
}

.sportystyle .sporty_btn_01 .btn_container:nth-child(1) .item_photo {
	background-image: url(../../img/swift/img_sporty01.jpg);
}

.sportystyle .sporty_btn_01 .btn_container:nth-child(2) .item_photo {
	background-image: url(../../img/swift/img_sporty02.jpg);
}

.sportystyle .sporty_btn_02 .btn_container:nth-child(1) .item_photo {
	background-image: url(../../img/swift/img_sporty03.jpg);
}

.sportystyle .sporty_btn_02 .btn_container:nth-child(2) .item_photo {
	background-image: url(../../img/swift/img_sporty04.jpg);
}

.sportystyle .sporty_btn_02 .btn_container:nth-child(3) .item_photo {
	background-image: url(../../img/swift/img_sporty05.jpg);
}

.sportystyle .sporty_btn_02 .btn_container:nth-child(4) .item_photo {
	background-image: url(../../img/swift/img_sporty06.jpg);
}

.item_name {
	color: white;
	font-size: 14px;
	font-weight: 700;
	padding: 10px 0 0;
	margin: 0;
}

@media (max-width: 1200px) and (min-width: 751px) {

	.sportystyle,
	.sportystyle .bg {
		height: calc(74.5vw + (1200px - 100vw) * 0.6);
	}
}

@media (max-width: 750px) {
	.main_caption {

		font-size: 12px;

	}

	.btn_container {
		text-align: left;
		width: 47%;
		min-width: unset;
	}

	.btns_outer {
		gap: 15px 3px;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	.diagonal-btn {
		width: 39.9vw;
		height: 30vw;
		min-width: unset;
		min-height: unset;
	}

	.item_name {
		font-size: 12px;
		padding: 12px 0 0;
	}
}


@media (max-width: 750px) {
	.sportystyle .bg {
		background: url(../../img/swift/image_sporty_sp.jpg);
		background-size: 100vw;
		background-repeat: no-repeat;
	}

	.sportystyle {
		background-color: #131823;
		height: calc(259vw + (750px - 100vw) * 0.75);
	}

	.sportystyle .bg {
		height: 133vw;
	}

	.sportystyle .sporty_inners {
		width: 100%;
		position: relative;
		display: flex;
		flex-wrap: wrap;
		margin: 92vw auto;
		min-width: unset;
		padding: 20px;
	}

	.sportystyle .title {
		max-width: 85.2vw;
	}

	.styles_lead {
		margin-top: 17px;
	}

	.styles_lead p {
		font-size: 16px;
	}

	.sportystyle .title_and_leadcap {
		width: 100%;
		margin-bottom: clamp(10px, 1vw, 50px);
	}

	.sportystyle .main_caption {
		margin: 7px 0px 0 0;
	}

	.sportystyle .first_row_btn {
		margin-top: clamp(10px, 2vw, 30px);
		width: 100%;
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		margin-left: auto;
	}

	.sportystyle .second_row_btn {
		width: 100%;
		margin: 0;

	}


	.sporty_btn_01,
	.sporty_btn_02 {
		width: 88vw;
		margin-bottom: 17px;
	}


	.sportystyle .second_row_btn .sporty_btn_02 .btns_outer {
		display: flex;
		flex-wrap: wrap;
		gap: 15px 3px;
	}


}


/* Elegant Style */

.elegantstyle {
	position: relative;
	display: block;
	color: var(--white);
	width: 100vw;
}

.elegantstyle .bg {
	background: url(../../img/swift/image_elegant_pc.jpg);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-size: cover;
}


.elegantstyle,
.elegantstyle .bg {
	height: 86.5vw;
}

.elegantstyle .head_box {
	width: 100%;
	height: 36vw;
}

.elegantstyle .elegant_inners {
	/* width: 72.9vw; */
	/* height: 46.2vw; */
	position: relative;
	/* left: 13vw; */
	/* top: 37vw; */
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	max-width: 1040px;
	margin: 0 auto 0;
	padding: 0 20px;
	/* margin-top: 44vw; */
}

.elegantstyle .styles_lead p {
	padding: 0;
	margin: 0;
}

.elegantstyle .title_and_leadcap {
	margin: 15px 0;
}

.elegantstyle .title {
	width: 380px;
	margin-top: 17px;
}

.elegantstyle .first_row_btn {
	margin-left: 0;
	margin-top: 42px;
}

.elegantstyle .elegant_package_wrap {
	margin: 28px auto 0;
}

.elegantstyle .elegant_package {
	border: white solid 1px;
	padding: 6px 13px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
}


.elegant_package_btn {
	flex-basis: 35%;
	margin: 0 0 0 9px;
	margin-left: auto;
}

.elegant_package_content {
	width: 65%;
	margin-bottom: 8px;
}

.elegant_package_prices {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: flex-start;
	align-items: baseline;
	gap: 1px 15px;
}

.elegant_package_prices_grades {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: baseline;
	gap: 8px;
	margin-top: 1rem;
}

.elegant_package_prices_price {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.elegant_package_prices_price p {
	font-style: normal;
	font-weight: 700;
	font-size: 40px;
	color: #FFFFFF;
	margin: 0;
}

.elegant_package_prices_price p span {
	font-style: normal;
	font-weight: 700;
	font-size: 20px;
	line-height: 150%;
}

.est_time {
	background: #FFFFFF;
	border: 1px solid #333333;
	border-radius: 3px;
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 150%;
	color: #333333;
	padding: 0px 6px;
	display: inline-block;
}

.elegant_package_title {
	border-bottom: white 1px solid;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: baseline;
	gap: 19px;
	flex-basis: 100%;
}

.elegant_package_title h4 {
	font-style: normal;
	font-weight: 700;
	font-size: 32px;
	line-height: 150%;
	color: #FFFFFF;
	border: none;
}

.elegant_package_title p {
	font-style: normal;
	font-weight: 700;
	font-size: 16px;
	line-height: 150%;
	color: #FFFFFF;
	margin: 0;
}

.grade_icon {
	display: inline-flex;
	justify-content: center;
	align-items: flex-start;
	padding: 0px 8px;
	gap: 8px;
	background: #7A8892;
	border-radius: 3px;

	font-style: normal;
	font-weight: 400;
	font-size: 12px;
	line-height: 150%;
	color: #FFFFFF;
}

.elegant_package_prices_cap1 {
	font-style: normal;
	font-weight: 400;
	font-size: 14px;
	line-height: 150%;
	color: #FFFFFF;
}

.elegant_package_prices_cap2 {
	font-style: normal;
	font-weight: 400;
	font-size: 12px;
	line-height: 150%;
	color: #FFFFFF;
	padding-right: 1rem;
}

.elegantstyle .elegant_btn_01 .btn_container:nth-child(1) .item_photo {
	background-image: url(../../img/swift/img_elegant01.jpg);
}

.elegantstyle .elegant_btn_01 .btn_container:nth-child(2) .item_photo {
	background-image: url(../../img/swift/img_elegant02.jpg);
}

.elegantstyle .elegant_btn_01 .btn_container:nth-child(3) .item_photo {
	background-image: url(../../img/swift/img_elegant03.jpg);
}

.elegantstyle .elegant_btn_01 .btn_container:nth-child(4) .item_photo {
	background-image: url(../../img/swift/img_elegant04.jpg);
}

@media (min-width:1400px) {

	.elegantstyle,
	.elegantstyle .bg {
		height: calc(86.5vw - (100vw - 1400px) * 0.38);
	}
}

@media (max-width: 1230px) and (min-width: 751px) {

	.elegantstyle,
	.elegantstyle .bg {
		height: calc(97vw + (1200px - 100vw) * 0.95);
	}

	.elegantstyle .head_box {
		height: calc(36vw - (100vw - 1200px) * 0.4);
	}
}

@media (max-width: 750px) {
	.elegantstyle .bg {
		background: url(../../img/swift/image_elegant_sp.jpg);
		background-size: 100vw;
		background-repeat: no-repeat;
	}

	.elegantstyle {
		height: calc(279.5vw + (750px - 100vw) * 1.05);
		background-color: #36261A;
	}

	.elegantstyle .bg {
		height: 353.5vw;
	}

.elegantstyle .head_box {
	height: calc(104vw - (100vw - 750px) * 0.04);
}

	.elegantstyle .elegant_inners {
		width: 100vw;
		height: unset;
		/* left: 0; */
		/* top: 113.2vw; */
		padding: 0 20px;
		flex-direction: column;
		margin: 0;
	}

	.elegantstyle .title {
		width: 82.5vw;
	}

	.elegant_package_title {
		flex-direction: column;
		gap: 0;
		padding-bottom: 7px;
		margin-bottom: 16px;
	}

	.elegant_package_title h4 {
		font-size: 24px;
	}

	.elegant_package_content {
		width: 100%;
	}

	.elegantstyle .first_row_btn {
		margin-left: 0;
		margin-top: 4vw;
	}

	.elegantstyle .elegant_btn_01 {
		width: 88vw;
		margin-top: 6px;
		margin-bottom: 16px;
	}

	.elegant_package_wrap {
		max-width: 89vw;
	}

	.elegant_package_prices {
		display: flex;
		flex-direction: unset;
		flex-wrap: wrap;
		gap: 0px 13px;
	}

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

	.elegant_package_prices_grades {
		width: 100%;
	}

	.elegant_package_prices_price {
		width: 100%;
	}

	.elegant_package_prices_price p {
		font-size: 32px;
	}

	.elegant_package_prices_time {
		width: 14%;
	}

	.elegant_package_prices_cap1 {
		font-size: 12px;
		margin-bottom: 10px;
	}

	.elegant_package_btn {
		flex-basis: 100%;
		margin: 0;
	}

	a.brown_btn {
		background-color: #76594A;
		color: var(--white);
		border-color: #76594A;
		margin-bottom: 0;
		margin: 12px 0;
	}
}

/* active urban style */
.activeurbanstyle {
	position: relative;
	display: block;
	color: var(--white);
	width: 100vw;
}

.activeurbanstyle .bg {
	background: url(../../img/swift/image_urban_pc.jpg);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-size: cover;
}



.activeurbanstyle,
.activeurbanstyle .bg {
	height: 79vw;
}

.activeurbanstyle .activeurban_inners {
	width: 73vw;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin: 38vw auto 0;
	min-width: 1040px;
	padding: 0 20px;
}

.activeurbanstyle .styles_lead p {
	padding: 0;
	margin: 0;
}

.activeurbanstyle .title_and_lead {
	margin: 23px 20px 0 0;
}

.activeurbanstyle .title {
	max-width: 438px;
}

.activeurbanstyle .main_caption {
	width: 493px;
	margin-top: 15px;
}

.activeurbanstyle .first_row_btn {
	margin-top: 2.5vw;
	margin-left: 2vw;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}

.activeurbanstyle .second_row_btn {
	width: 100%;
	margin: 2vw 0 0 5vw;
}


.activeurbanstyle .urban_btn_01 .btn_container:nth-child(1) .item_photo {
	background-image: url(../../img/swift/img_urban01.jpg);
}

.activeurbanstyle .urban_btn_01 .btn_container:nth-child(2) .item_photo {
	background-image: url(../../img/swift/img_urban02.jpg);
}

.activeurbanstyle .urban_btn_02 .btn_container:nth-child(1) .item_photo {
	background-image: url(../../img/swift/img_urban03.jpg);
}

.activeurbanstyle .urban_btn_02 .btn_container:nth-child(2) .item_photo {
	background-image: url(../../img/swift/img_urban04.jpg);
}

.activeurbanstyle .urban_btn_02 .btn_container:nth-child(3) .item_photo {
	background-image: url(../../img/swift/img_urban05.jpg);
}

.activeurbanstyle .urban_btn_02 .btn_container:nth-child(4) .item_photo {
	background-image: url(../../img/swift/img_urban06.jpg);
}

@media (max-width: 1200px) and (min-width: 751px) {

	.activeurbanstyle,
	.activeurbanstyle .bg {
		height: calc(79vw + (1200px - 100vw) * 0.6);
	}
}

@media (max-width: 750px) {
	.activeurbanstyle .bg {
		background: url(../../img/swift/image_urban_sp.jpg);
		background-size: 100vw;
		background-repeat: no-repeat;
	}

	.activeurbanstyle {
		background-color: #000;
	}

	.activeurbanstyle,
	.activeurbanstyle .bg {
		height: calc(228.5vw + (750px - 100vw) * 0.67);
	}

	.activeurbanstyle .activeurban_inners {
		width: 100%;
		position: relative;
		display: flex;
		flex-wrap: wrap;
		margin: 67vw auto;
		min-width: unset;
		padding: 20px;
	}

	.activeurbanstyle .title_and_lead {
		margin: 0;
	}
.activeurbanstyle .title {
	max-width: 82.5vw;
}
	.activeurbanstyle .main_caption {
		width: 100%;
		margin-top: 22px;
		margin-bottom: 10px;
	}

	.activeurbanstyle .first_row_btn {
		margin-top: clamp(10px, 2vw, 30px);
		width: 100%;
		display: flex;
		flex-direction: row;
		justify-content: flex-start;
		margin-left: 0;
		margin-bottom: 18px;
	}

	.activeurbanstyle .second_row_btn {
		width: 100%;
		margin: 0;

	}

	.urban_btn_01,
	.urban_btn_02 {
		width: 89vw;
	}

	.activeurbanstyle .second_row_btn .urban_btn_02 .btns_outer {
		display: flex;
		flex-wrap: wrap;
		gap: 13px 0px;
	}

}

/*interior*/
.interiors_title {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
	padding: 49px 13.2%;
}

.interiors_title img {
	width: 314px;
}

.interiors_title p {
	font-style: normal;
	font-weight: 700;
	font-size: 20px;
	line-height: 150%;
	color: #333333;
	margin: 23px 0 0;
}

.interior01_wrap {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 78.2vw;
}

.interior01_kv {
	position: absolute;
	width: 86.4%;
	height: 41.7%;
	left: 6.8%;
	top: 25.4%;
	transform: translateY(-50%);
}

.interior01_kv_icon {
	position: absolute;
	width: 8.5vw;
	height: 8.5vw;
	top: 3.5%;
	left: 16%;
}

.red_interior {
	background-image: linear-gradient(108deg, #f4f4f4 50%, #FFFFFF 50%);
	min-height: 800px;
}

.interior01_details {
	background: var(--white);
	position: absolute;
	width: 68%;
	top: 40.5vw;
	left: 50%;
	padding: 8px 29px;
	transform: translateX(-50%);
	min-width: 720px;
}

.mono_title {
	width: 100%;
	margin-top: 7px;
	margin-bottom: -2px;
}

.mono_title h4 {
	display: inline-block;
	font-style: normal;
	font-weight: 700;
	font-size: 24px;
	line-height: 150%;
	color: #BF0010;
	padding: 6px;
	margin: 0;
	border-left: none;
	border-bottom: 2px solid #BF0010;
}

.mono_lead p {
	font-style: normal;
	font-weight: 700;
	font-size: 16px;
	line-height: 150%;
	color: #333333;
	margin: 0;
	padding: 10px 0 2px;
}

.mono_item_name {
	font-style: normal;
	font-weight: 700;
	font-size: 32px;
	line-height: 150%;

	color: #333333;

}


.mono_grades_and_link {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.mono_grades_and_price {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: baseline;
	gap: 0 15px;
	flex: 1 0 61%;
	min-width: 492px;
}

.mono_price p {
	font-style: normal;
	font-weight: 700;
	font-size: 40px;
	line-height: 150%;
	color: #333333;
	margin: 0;
	padding: 0;
}

.mono_price p span {

	font-style: normal;
	font-weight: 700;
	font-size: 20px;
	line-height: 150%;
	color: #333333;

}

.mono_caption {
	flex: 0 0 100%;
}

.mono_caption p {
	font-style: normal;
	font-weight: 400;
	font-size: 14px;
	line-height: 150%;
	color: #333333;
	margin: 0;
	padding: 0;

}

.mono_link {
	flex: 0 1 38%;
	margin-left: auto;
	margin-top: 19px;
	margin-right: auto;
}



.mono_items {
	width: 100%;
	display: flex;
	flex-direction: row;
	gap: 13px;
	margin-top: 25px;
}

.mono_items .mono_item {
	width: 100%;
	height: 145px;
	background-size: 105%;
	background-position: center;
	background-repeat: no-repeat;
	transition: background-size 0.5s ease;
}

.mono_items>div:nth-child(1) {
	width: 44%;
}

.mono_items>div:nth-child(2) {
	width: 27%;
}

.mono_items>div:nth-child(3) {
	width: 27%;
}

/* 個別画像 */
.mono_items .mono_item01 {

	background-image: url(../../img/swift/img_interior01.jpg);
}

.mono_items .mono_item02 {
	background-image: url(../../img/swift/img_interior02.jpg);
}

.mono_items .mono_item03 {
	background-image: url(../../img/swift/img_interior03.jpg);
}

/* hover時 */
.mono_items a:hover .mono_item {
	background-size: 120%;
}

.mono_items p {
	font-style: normal;
	font-weight: 700;
	font-size: 14px;
	line-height: 150%;
	color: #333333;
	margin: 0;
	padding: 6px 0;
}

.other_interior {
	background-image: linear-gradient(135deg, #FFFFFF 50%, #F4F4F4 50%);
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: 20px;
}

.other_interior_title {
	width: 100%;
	display: flex;
	justify-content: flex-start;
	flex-direction: column;
	margin-top: 37px;
	margin-bottom: 15px;
	max-width: 1200px;
	margin: 37px auto 15px;
}

.other_interior_title img {
	width: 370px;
}

.other_interior_title p{
	font-weight: 700;
	color: #333;

}

.other_interior_container {
	/* width: 75%; */
	display: flex;
	flex-direction: column;
	margin-bottom: 30px;
}

@media (min-width:1400px) {
	.interior01_wrap {
		padding-bottom: calc(78.2vw - (100vw - 1400px) * 0.38);
	}
}

@media (max-width: 1268px) and (min-width: 751px) {

	.red_interior {
		height: calc(86.5vw + (1268px - 100vw) * 0.6);
	}
}

@media (max-width:750px) {
	.interiors_title {
		padding: 48px 20px 0px;
	}

	.interiors_title img {
		width: 74vw;
	}

	.interiors_title p {
		font-size: 16px;
		margin: 23px 0 43px;
	}

	.interior01_wrap {
		position: relative;
		width: 100%;
		height: auto;
		padding-bottom: 7.5vw;
		overflow: hidden;
	}

	.interior01_kv {
		position: relative;
		width: 100%;
		top: unset;
		height: auto;
		left: unset;
		transform: none;
		margin-top: 11vw;
	}

	.interior01_kv_icon {
		position: absolute;
		width: 20.5vw;
		height: 20.5vw;
		top: 0;
		left: 6%;
	}

	.interior01_details {
		background: var(--white);
		position: relative;
		width: 100%;
		bottom: unset;
		left: unset;
		padding: 0 20px;
		transform: unset;
		top: unset;
		min-width: unset;
	}

	.mono_title {
		padding: 8px 0 0px;
		width: 100%;
	}

	.mono_title h4 {
		font-size: 20px;
		padding: 0 0 6px;
		margin: 5px 0;
	}

	.mono_lead {
		margin-top: -5px;
	}

	.mono_item_name {
		font-size: 24px;
	}

	.mono_grades_and_price {
		gap: 0 7px;
		flex: 1 0 61%;
		min-width: unset;
		margin-bottom: 17px;
	}

	.mono_grades_and_link {
		display: flex;
		flex-direction: column;
	}

	.mono_link {
		flex: 0 0 100%;
		margin: 0;
	}

	.mono_items {
		width: 100%;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 16px 13px;
		margin-top: 20px;
	}

	.mono_items .mono_item01 {
		background-image: url(../../img/swift/img_interior01.jpg);
		height: 35.5vw;
	}

	.mono_items .mono_item02,
	.mono_items .mono_item03 {
		height: 110px;
	}

	.mono_items>div:nth-child(1) {
		width: 100%;
	}

	.mono_items>div:nth-child(2),
	.mono_items>div:nth-child(3) {
		width: 48%;
	}

	.red_interior {
		background-image: none;
		background-color: white;
		min-height: 800px;
	}
}

/* ======================================= */
/* 1. レイアウトコンテナ (Gridベース) */
/* ======================================= */
.accessory-layout {
	display: grid;
	/* PCのデフォルト設定 */
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: auto auto;
	gap: 20px;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.main-visual {
	grid-column: 1 / span 3;
	grid-row: 1 / 2;
	position: relative;
	aspect-ratio: 898 / 524;
	overflow: hidden;
}

.main-visual .visual-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.item-seat-cover-wrap {
	grid-column: 4 / 5;
	grid-row: 1 / 2;
	display: flex;
	flex-direction: column;
}

.item-brake-cover-wrap {
	grid-column: 1 / 2;
	grid-row: 2 / 3;
}

.item-mat-wrap {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
}

.item-pedal-wrap {
	grid-column: 3 / 4;
	grid-row: 2 / 3;
}

.item-scuff-wrap {
	grid-column: 4 / 5;
	grid-row: 2 / 3;
}

/* 4. orderの明確化 (PC時) */
.item-brake-cover-wrap {
	order: 3;
}

.item-mat-wrap {
	order: 4;
}

.item-pedal-wrap {
	order: 5;
}

.item-scuff-wrap {
	order: 6;
}

/* 全体リンク（a.btn_text_link）に Flexboxを設定し、Grid領域の高さを利用 */
.btn_text_link {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	height: 100%;
}

/* ======================================= */
/* 2. アスペクト比固定とベーススタイル */
/* ======================================= */

.main-visual {
	position: relative;
	/* メインビジュアルの縦横比 (例: 3:2) */
	aspect-ratio: 898 / 524;
	background-color: #f0f0f0;
	overflow: hidden;
}

/* 画像コンテナ (div.sub-item) のみ */
.sub-item {
	position: relative;
	width: 100%;
	overflow: hidden;
}

/* 画像・コンテンツを親コンテナ内に配置 */
.visual-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* ★修正点2: imgの下の余白（謎の隙間）を消す ★ */
	display: block;
}

/* ------------------------------------- */
/* 縦横比の定義とFlex-growの調整 */
/* ------------------------------------- */

.item-brake-cover-wrap .sub-item,
.item-mat-wrap .sub-item,
.item-pedal-wrap .sub-item,
.item-scuff-wrap .sub-item {
	padding-bottom: 63%;
	flex-grow: 0;
	height: 0;
}

/* シートカバーの画像部分（PC時） */
.item-seat-cover-wrap .sub-item {
	height: 100%;
	/* 親の高さに合わせる */
	flex-grow: 1;
	padding-bottom: 0;
}

/* ======================================= */
/* 3. 背景画像とホバーアニメーション */
/* ======================================= */
.item-bg {
	display: block;

	transition: transform 0.5s ease;
	transform: scale(1);
	transition: transform 0.5s ease;
	transform: scale(1);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.btn_text_link:hover .item-bg {
	transform: scale(1.15);
}

/* ======================================= */
/* 4. ラベルのスタイル */
/* ======================================= */
.item-name {
	font-style: normal;
	font-weight: 700;
	font-size: 14px;
	line-height: 150%;
	color: #333333;
	margin: 0;
	padding: 8px 0;
	text-align: left;
	flex-shrink: 0;
}

/* ======================================= */
/* 5. サブアイテムごとの画像指定 */
/* ======================================= */
.item-bg-seat {
	background-size: 100%;
	background-image: url(../../img/swift/img_interior04.png);
}

.item-bg-brake {
	background-image: url(../../img/swift/img_interior05.jpg);
}

.item-bg-mat {
	background-image: url(../../img/swift/img_interior06.jpg);
}

.item-bg-pedal {
	background-image: url(../../img/swift/img_interior07.jpg);
}

.item-bg-scuff {
	background-image: url(../../img/swift/img_interior08.jpg);
}

/* ------------------------------------- */
/* SP LAYOUT (max-width: 750px) - 配置と並び替え */
/* ------------------------------------- */
@media (max-width: 750px) {
	.other_interior {
		background-image: none;
		background-color: #f4f4f4;
		min-height: 800px;
		padding: 20px 0;
	}

	.other_interior_container {
		width: 100%;
		margin-bottom: 30px;
	}

	.other_interior_title {
		margin: 14px auto 15px;
		padding: 0 20px;
	}

	.other_interior_title p {
		font-style: normal;
		font-weight: 700;
		font-size: 16px;
		line-height: 150%;
		color: #333333;

	}

	.other_interior_title img {
		width: 49vw;
	}

	.accessory-layout {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
		padding: 0;
	}

	/* 1. メインビジュアル: 1行目、全幅 (col 1-3) */
	.main-visual {
		grid-column: 1 / -1;
		grid-row: 1 / 2;
		aspect-ratio: 16 / 9;
		/* SP比率 */
		order: 1;
		/* 1番目 */
	}

	/* 2. シートカバー: 2行目-3行目、左側 (col 1) */
	.item-seat-cover-wrap {
		grid-column: 1 / 2;
		grid-row: 2 / span 2;
		/* 縦に2行分を占める */
		order: 2;
		/* 2番目 */
		display: flex;
		flex-direction: column;
	}

	/* 3. 本革ブレーキカバー: 2行目、右側 (col 2) */
	.item-brake-cover-wrap {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
		/* 2行目のみ */
		order: 3;
	}

	/* 4. フロアマット: 3行目、右側 (col 2) */
	.item-mat-wrap {
		grid-column: 2 / 3;
		grid-row: 3 / 4;
		/* 3行目のみ */
		order: 4;
	}

	/* 5. ステンレスペダル: 4行目、左側 (col 1) */
	.item-pedal-wrap {
		grid-column: 1 / 2;
		grid-row: 4 / 5;
		order: 5;
	}

	/* 6. サイドシルスカッフ: 4行目、右側 (col 2) */
	.item-scuff-wrap {
		grid-column: 2 / 3;
		grid-row: 4 / 5;
		order: 6;
	}

	/* ------------------------------------- */
	/* SP時のアスペクト比固定と高さ調整 */
	/* ------------------------------------- */

	.item-brake-cover-wrap .sub-item,
	.item-mat-wrap .sub-item,
	.item-pedal-wrap .sub-item,
	.item-scuff-wrap .sub-item {
		padding-bottom: 60%;
		height: 0;
		width: 100%;
		display: flex;
		flex-direction: column;
	}

	/* 縦長のシートカバー */
	.item-seat-cover-wrap .sub-item {
		height: 100%;
		/* 親の縦長Grid領域を埋める */
		padding-bottom: 0;
	}

	.item-seat-cover-wrap,
	.item-pedal-wrap {
		padding-left: 20px;
	}

	.item-brake-cover-wrap,
	.item-mat-wrap,
	.item-scuff-wrap {
		padding-right: 20px;
	}
}





/* option */
.cont-inner {
	width: 100%;
	max-width: 980px;
	margin: auto;
	position: relative;
	z-index: 1;
}

.option {
	padding: 40px 0 80px;
	background: url(../..//img/swift/bg_others.png) no-repeat center top/cover;
}

.option .section-headline {
	font-size: 28px;
	color: #333;
	font-weight: bold;
	text-align: center;
	letter-spacing: .15em;
	width: 322px;
	margin: auto;
	border-bottom: 1px solid #ccc;
	padding: 0 0 10px;
}

.option-box {
	padding: 40px 0;
	border-bottom: 1px solid rgba(0, 98, 160, 0.5);
}

.option-box__title {
	font-size: 18px;
	font-weight: bold;
	color: #305CCD;
	text-align: center;
	margin: 0 0 20px;
	border: none;
}

.option-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.option-inner .option-img {
	margin: 0 33px 0 0;
}

.option-inner .option-img.filter {
	min-width: 360px;
}

.option-inner .option-img.aircoorde {
	min-width: 432px;
}

.option-data {
	padding: 0 80px 0 0;
}

.option-data__text {
	font-size: 14px;
	margin: 0 0 16px;
	font-weight: 400;
	text-align: left;
	color: #333;
}

.option-data__text--strong {
	font-size: 18px;
	font-weight: bold;
	color: var(--cl-blue);
	margin: 0 0 15px;
}

.option-data .option-data__text--strong {
	color: #305CCD;
}

.option-data__text--strong__notes {
	font-size: 10px;
	display: inline-block;
	vertical-align: top;
	padding: 3px 0 0;
}

.option-data__pm25 {
	margin: 0 0 7px;
}

.option-data__pm25 img {
	max-width: 37%;
}

.option-data__item-name {
	font-size: 19px;
	font-weight: bold;
	text-align: left;
	margin: 0;
	color: #333;
}

.option-data__item-name--ja {
	font-size: 10px;
	letter-spacing: .45em;
	display: block;
	line-height: .5;
}

.option-data__price {
	font-size: 16px;
	display: flex;
	align-items: baseline;
	margin: 0 0 10px;
}

.option-data__price--value {
	font-size: 24px;
	font-weight: bold;
	color: #333;
	flex-shrink: 0;
}

.option-data__price--value span.small {
	font-size: 16px;
}

.option-data__price .est_time {
	margin-left: 15px;
}

.option-data__price--value__cautions {
	font-size: 12px;
	color: #f00;
	border: 1px solid #f00;
	padding: 6px;
	margin: 0 auto 0 7px;
}

.option-data__notes {
	font-size: 12px;
	text-align: left;
	text-indent: -2.5em;
	padding: 0 0 0 2.5em;
	margin: 0;
	font-weight: 400;
	color: #333;
}

.option-data__notes.type-02 {
	text-indent: 0;
	padding: 0 0 0 0;
}

.option-data__logo {
	margin: 0 0 10px;
	width: 250px;
}

.option-data__link {
	margin: 20px 0 0;
}

.option-data__link a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 310px;
	height: 38px;
	font-size: 19px;
	font-weight: bold;
	color: #233f93;
	background: #fff;
	border: 1px solid #233f93;
	-webkit-transition: .3s ease all;
	transition: .3s ease all;
}

.option-data__link a:hover {
	background: #233f93;
	color: #fff;
}

.option-banner {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 40px 0;
}

.option-banner a {
	transition: .3s ease all;
	margin: 0 auto;
	text-align: center;
}

.option-banner a:hover {
	opacity: .8;
}

.option_navi {
	display: flex;
	justify-content: center;
	padding: 40px 0;
	border-bottom: 1px solid rgba(0, 98, 160, 0.5);
}

.option_navi_link a {
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 673px;
	height: 50px;
	border: 2px solid #1D1038;
	font-size: 19px;
	font-weight: bold;
	color: white;
	position: relative;
	transition: .3s ease all;
	background-color: #1D1038;
	padding-bottom: 2px;
}

.option_navi_link a::after {
	content: '';
	background: url(../../img/swift/icon_arrow_b.png) no-repeat;
	background-size: cover;
	position: absolute;
	width: 5px;
	height: 10px;
	top: 50%;
	right: 20px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: .3s ease all;
	transition: .3s ease all;
}

.option_navi_link a:hover {
	text-decoration: none;
	background: white;
	color: #1D1038;
}

.option_navi_link a:hover::after {
	content: '';
	background: url(../../img/swift/icon_arrow.png) no-repeat;
	background-size: cover;
	width: 5px;
	height: 10px;
	right: 10px;
}

@media (max-width:767px) {
	.option_navi_link {
		width: 85%;
		margin: 0 0 30px;
	}

	.option_navi_link a {
		width: 100%;
		font-size: 14px;
		height: 40px;
	}

	.option_navi_link a::after {
		right: 15px;
	}
}

@media (max-width: 767px) {

	.text-color {
		color: #333333;
	}

	.sponly {
		font-size: 14px;
		text-align: left;
	}

	.option {
		padding: 40px 0 40px;
	}

	.option-box2 {
		padding: 0;
		border-bottom: 1px solid rgba(0, 98, 160, 0.5);
	}

	.contents main p.option-banner {
		padding: 0;
		text-align: center;
		border-bottom: none;
	}

	.option-data__logo {
		width: 60%;
		margin: 20px 0;
	}

	.option-data__logo img {
		max-width: 250px;
	}

	.option-inner img {
		width: 100%;
	}

	.option-inner .option-img.aircoorde {
		min-width: 0;
	}

	.option-inner {
		display: initial;
	}

	.option-inner .option-img {
		width: 85%;
		margin: 0 auto;
	}

	.option-data {
		margin: 0 auto;
		width: 90%;
	}

	.background_img {
		background-size: 100%;
	}

	.option-banner img {
		width: 85%;
	}

	.option-data__text {
		margin-top: 20px;
	}

	.option-data {
		padding: 0;
	}

	.option-data__pm25 {
		width: 100%;
	}

	.option-data__pm25 img {
		max-width: 37.5%;
	}

	.option-data__text--strong {
		font-size: 16px;
	}

	.option-data__item-name {
		font-size: 17px;
	}

	.option-data__notes {
		font-size: 10px;
		text-align: left;
		text-indent: -2.5em;
		padding: 0 0 0 2.5em;
	}

	.fsponly {
		text-align: left;
		margin: 0;
	}

	.option_text {
		font-size: 26px;
		font-weight: bold;
	}

	.option_text2 {
		text-align: left;
		margin: 0;
		font-size: 14px;
	}

	.option-data__notes.type-02 {
		margin: 0;
	}

	.fsponly .fsponly_text {
		margin-top: 0;
		margin-bottom: 0;
	}
}

@media screen and (max-width: 980px) and (min-width: 768px) {
	.cont-inner {
		width: 100%;
		padding: 0 1rem;
	}
}

@media (max-width: 767px) {
	.option-inner .option-img.filter {
		min-width: 80%;
	}
}

/* catalog */
.catalog {
	padding: 0 0 80px;
}



.catalog .section-headline {
	width: 100%;
	height: 50px;
	border-radius: 25px;
	border: 2px solid #4AA0DF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	font-size: 19px;
	font-weight: bold;
	color: #4AA0DF;
	margin: 0 0 17px;
}

.catalog-list {
	display: flex;
	flex-direction: row;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	margin: 0 0 28px;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
}

.catalog-list__item {
	flex-basis: calc(50% - 1rem);
}


.catalog-list__item a {
	-webkit-transition: .3s ease all;
	transition: .3s ease all;
}

.catalog-list__item img {
	width: 100%;
}

.catalog-list__item a:hover {
	opacity: .8;
}

.catalog-notes__list--item {
	font-size: 12px;
	margin-bottom: 6px;
	line-height: 140%;
}

.catalog-notes__list {
	text-indent: -0.7em;
	padding-left: 0.7em;
}

ul li img {
	margin-top: 8px;
}

@media (max-width: 767px) {
	.catalog-list__item {
		float: none;
	}

	.catalog-list__item:last-child {
		float: none;
		width: 90%;
		margin: 0 auto;
		margin-bottom: 10px;
	}

	.catalog-notes__list {
		text-indent: -0.7em;
		padding-left: 0.7em;
	}

	.catalog-inner .bt_accessory {
		width: 88%;
		margin-top: 21px;
		font-size: 86%;
		margin: 0px auto 20px;
	}

	.catalog-list__item {
		width: 90%;
		margin: 0 auto;
		margin-bottom: 10px;
	}

	.catalog-list__item img {
		width: 100%;
	}

	.catalog-list {
		display: initial;
	}

	.catalog-list .catalog-list__item img {
		margin-top: 0;
	}

	.catalog-notes__list {
		width: 95%;
		margin: 0 auto;
		padding-top: 10px;
	}

	.catalog {
		padding: 0;
	}
}

@media screen and (max-width: 980px) and (min-width: 768px) {
	.cont-inner {
		width: 100%;
		padding: 0 1rem;
	}
}

.est_time_caption--blank {
	display: inline-block;
	width: 30px;
	height: 17px;
	background: #FFFFFF;
	border: 1px solid #333333;
	border-radius: 3px;
	margin: 0 2px;
	vertical-align: bottom;
}
.est_time_caption {
	display: inline;
	background: #FFFFFF;
	border: 1px solid #333333;
	border-radius: 3px;
	padding: 0 4px;
	margin-right: 1px;
}