@charset "UTF-8";

/*
■ リセット

■ テキスト・フォント
■ フォント・ロード処理
■ 変数
■ カラー
■ 横幅
■ 背景・テキスチャ

■ ヘッダー
■ グローバルナビ
■ フッターナビ
■ フッター
■ ページの先頭へ

■ パン屑リスト
■ ローカルナビ

■ 見出し
■ リード・画像

■ セクション
■ 関連情報

■ カラム

■ リスト
■ 記述リスト
■ 表組み
■ 囲み

■ テキストリンクアイコン
■ リンクアイコン
■ ボタン
■ アイコン

■ 動画埋め込み
■ マップ埋め込み

■ ページネーション
■ 検索窓

■ ステップナビ

■ フォーム

■ 個別調整

■ 印刷用設定

■ JSライブラリ
*/



/* ■ リセット ==================================================================================== */

* { margin: 0; padding: 0; }
*,*:before,*:after,*::before,*::after { box-sizing: border-box; }
body { line-height: 1; -webkit-text-size-adjust: none; }
*:focus { outline: none; }
figure,img,picture,video,canvas,svg { display: block; width: 100%; height: auto; border: none; vertical-align: bottom; }
form { margin: 0; padding: 0; }
li { list-style-type: none; }
table { width: 100%; border-collapse: collapse; border-spacing: 0; }
strong, em { font-style: normal; }
input, select, textarea, button { border-style: none; font-size: inherit; }
button { cursor: pointer; }
address { font-style: normal; }



/* ■ テキスト・フォント ==================================================================================== */

body {
font-size: 1.6rem;
letter-spacing: 0.05em;
font-weight: 400;
font-family: "Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",Sans-Serif;
/* font-feature-settings: "palt"; */
}

input, select, textarea, button {
letter-spacing: 0.05em;
font-weight: 400;
font-family: "Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",Sans-Serif;
}

.WF1 {
font-weight: 400;
font-family: "Anton", sans-serif;
}

.WF2 {
font-weight: 600;
font-family: "Barlow Condensed", sans-serif;
}

.WF3 {
font-weight: 300;
font-family: "Outfit", sans-serif;
font-optical-sizing: auto;
}

h1 {
font-weight: 700;
}

h2,h3,h4,h5,h6,th,dt,strong,em {
font-weight: 500;
}

small {
font-size: calc(1.6rem * 0.9);
}

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

	html {
	font-size: calc(10 / 16 * 100%);
	}

}

@media print, screen and (min-width: 768px) {

	html {
	font-size: calc(9 / 16 * 100%);
	}

}

@media print, screen and (min-width: 1110px) {

	html {
	font-size: calc(10 / 16 * 100%);
	}

}



/* ■ フォント・ロード処理 ==================================================================================== */

/*
html.wf-loading body :where(h1, h2, h3, h4, h5, h6, p, a) {
filter: opacity(0);
}

html.wf-active body :where(h1, h2, h3, h4, h5, h6, p, a) {
filter: opacity(1);
}
*/



/* ■ 変数 ==================================================================================== */

/*
カラー
余白
フォントサイズ
border-radius
*/


/* カラー --------------------------------------------------- */

:root {
--c-1: #219962;
--c-2: #f1f1f1;
--c-3: #000;
--c-link: #517db4;
--c-alert: #cc0000;
}


/* 余白 --------------------------------------------------- */

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

	:root {
	--m-lr: 3rem;
	}

}

@media print, screen and (min-width: 768px) {

	:root {
	--m-lr: 10.7%;
	}

}


/* フォントサイズ・行間 --------------------------------------------------- */

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

	:root {
	--f-m: 1.3rem;
	}

	:root {
	--l-m: 2.2;
	}

}

@media print, screen and (min-width: 768px) {

	:root {
	--f-m: 1.5rem;
	}

	:root {
	--l-m: 2.2;
	}

}


/* border-radius --------------------------------------------------- */

:root {
--r-1: 0.2rem;
--r-2: 0.2rem;
}



/* ■ カラー ==================================================================================== */

/*
テキスト・背景
リンク
アラート
*/


/* テキスト・背景 --------------------------------------------------- */

body {
color: var(--c-3);
background-color: #fff;
}


/* リンク --------------------------------------------------- */

a:link {
color: var(--c-link);
text-decoration: none;
}

a:active {
color: var(--c-link);
text-decoration: none;
}

a:visited {
color: var(--c-link);
text-decoration: none;
}

a:hover {
color: var(--c-link);
text-decoration: none;
}

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

}

@media print, screen and (min-width: 768px) {

}

@media print, screen and (min-width: 1110px) {

	a:link {
	transition: color 0.3s ease 0.01s, background-color 0.3s ease 0.01s, opacity 0.3s ease 0.01s;
	}

	a:hover {
	opacity: 0.8;
	}

}


/* アラート --------------------------------------------------- */

.Alert {
color: var(--c-alert) !important;
}

.Box.Alert {
border-color: var(--c-alert) !important;
}

.ListDisc.Alert li:before,
.ListDiscS.Alert li:before {
background-color: var(--c-alert) !important;
}



/* ■ 横幅 ==================================================================================== */


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

	.Wrapper {
	min-width: 32rem;
	}

}

@media print, screen and (min-width: 768px) {

	.Wrapper {
	max-width: 200rem;
	margin: 0 auto;
	}

}



/* ■ 背景・テキスチャ ==================================================================================== */

/*
Box
*/


/* Box --------------------------------------------------- */

.Texture_Box_L,
.Texture_Box_R {
position: relative;
}

.Texture_Box_L::after,
.Texture_Box_R::after {
position: absolute;
top: 0;
z-index: -1;
background-color: var(--c-2);
content: "";
}

.Texture_Box_L::after {
left: 0;
}

.Texture_Box_R::after {
right: 0;
}


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

	.Texture_Box_L::after,
	.Texture_Box_R::after {
	width: 63%;
	}

}

@media print, screen and (min-width: 768px) {

	.Texture_Box_L::after,
	.Texture_Box_R::after {
	width: 68%;
	}

}



/* ■ ヘッダー ==================================================================================== */

.Header {
position: sticky;
top: 0;
z-index: 2000;
background-color: #fff;
}

.Header_ a {
display: block;
color: var(--c-3);
}

.Header_Inner {
display: flex;
align-items: center;
}

.Header_Menu {
display: flex;
align-items: center;
margin-left: auto;
}

a.Header_Menu_Hamburger,
a.Header_Menu_Contact {
position: relative;
letter-spacing: 0.1em;
text-align: center;
}

a.Header_Menu_Hamburger {
color: var(--c-3);
}

a.Header_Menu_Hamburger.is_Opened {
background-color: #fff;
}

a.Header_Menu_Hamburger .HamburgerItem {
display: block;
position: absolute;
height: 0.2rem;
background-color: var(--c-3);
transition: var(--a-dur-s) var(--a-ease-1);
}

a.Header_Menu_Contact {
color: #fff;
background-color: var(--c-1);
}

a.Header_Menu_Contact::before {
position: absolute;
left: 50%;
mask-image: url(/assets/img/common/icon/Icon_Contact.svg);
mask-size: contain;
mask-repeat: no-repeat;
background-color: #fff; 
content: "";
}

/* is_Opened */
.Header.is_Opened::after {
width: 100% !important;
}

/* is_Scrolled */
/*
.Header.is_Scrolled {
opacity: 0.9 !important;
}
*/

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

	.Header_Inner {
	height: 5.5rem;
	padding-left: 1rem;
	}

	.Header_Logo_ServiceName img {
	width: 8.7rem;
	}

	a.Header_Menu_Hamburger,
	a.Header_Menu_Contact {
	height: 5.5rem;
	padding-top: 3.3rem;
	font-size: 0.95rem;
	}

	a.Header_Menu_Hamburger {
	width: 6.7rem;
	}

	a.Header_Menu_Hamburger .HamburgerItem {
	left: 1.55rem;
	top: 2.1rem;
	width: 3.5rem;
	}

	a.Header_Menu_Hamburger .HamburgerItem:nth-child(1) {
	transform: translateY(-6px);
	}

	a.Header_Menu_Hamburger.is_Opened .HamburgerItem:nth-child(1) {
	transform: translateY(-2px) rotate(8deg);
	}
	
	a.Header_Menu_Hamburger.is_Opened .HamburgerItem:nth-child(2) {
	transform: translateY(-2px) rotate(-8deg);
	}

	a.Header_Menu_Contact {
	width: 5.5rem;
	padding-left: 0.1rem;
	}

	a.Header_Menu_Contact::before {
	top: 1.4rem;
	width: 1.5rem;
	height: 1.1rem;
	margin-left: -0.75rem;
	}

	/* 背景・テクスチャ */
	.Header::after {
	height: 5.5rem;
	}

}

@media print, screen and (min-width: 768px) {

	.Header_Inner {
	height: 10rem;
	padding-left: 3.8rem;
	}

	.Header_Logo_ServiceName img {
	width: 16rem;
	}

	a.Header_Menu_Hamburger,
	a.Header_Menu_Contact {
	height: 10rem;
	padding-top: 6.5rem;
	font-size: 1.4rem;
	}

	a.Header_Menu_Hamburger {
	width: 12rem;
	}

	a.Header_Menu_Hamburger .HamburgerItem {
	left: 2.9rem;
	top: 4.2rem;
	width: 6rem;
	}

	a.Header_Menu_Hamburger .HamburgerItem:nth-child(1) {
	transform: translateY(-8px);
	}

	a.Header_Menu_Hamburger.is_Opened .HamburgerItem:nth-child(1) {
	transform: translateY(-4px) rotate(8deg);
	}
	
	a.Header_Menu_Hamburger.is_Opened .HamburgerItem:nth-child(2) {
	transform: translateY(-4px) rotate(-8deg);
	}

	a.Header_Menu_Contact {
	width: 10rem;
	}

	a.Header_Menu_Contact::before {
	top: 3rem;
	width: 2.3rem;
	height: 1.7rem;
	margin-left: -1.15rem;
	}

	/* 背景・テクスチャ */
	.Header::after {
	height: 10rem;
	}

}

@media (hover: hover) {

	.Header_Logo_ServiceName:hover {
	opacity: 1;
	}

	a.Header_Menu_Hamburger:hover {
	background-color: #fff;
	opacity: 1;
	}

	a.Header_Menu_Contact:hover {
	background-color: var(--c-3);
	opacity: 1;
	}

}



/* ■ グローバルナビ ==================================================================================== */

.GlobalNav {
position: fixed;
top: 0;
left: 0;
z-index: 1000;
width: 100%;
height: 100vh;
background-color: #fff;
opacity: 0;
visibility: hidden;
transform: translateY(-1rem);
transition:
opacity var(--a-dur-s) var(--a-ease-1),
visibility 0s var(--a-dur-s),
transform var(--a-dur-s) var(--a-ease-1);
}

.GlobalNav.is_Opened {
opacity: 1;
visibility: visible;
transform: translateY(0);
transition:
opacity var(--a-dur-s) var(--a-ease-1),
visibility 0s,
transform var(--a-dur-s) var(--a-ease-1);
}

.GlobalNav_InnerWrapper {
width: 100%;
height: 100%;
background-color: #fff;
}

.GlobalNav_Inner {
height: 100%;
overflow-y: auto;
}

.GlobalNav_Menu {
max-width: 120rem;
margin: 0 auto;
}

.GlobalNav_Menu a {
display: block;
}

a.GlobalNav_Level_1_Parent {
font-weight: 500;
color: var(--c-1);
}

a.GlobalNav_Level_2_Parent {
position: relative;
font-weight: 500;
color: var(--c-3);
}

/* 矢印アイコン */
a.GlobalNav_Level_2_Parent::before,
a.GlobalNav_Level_2_Parent::after {
position: absolute;
content: "";
}

a.GlobalNav_Level_2_Parent::before {
background-color: var(--c-1);
}

a.GlobalNav_Level_2_Parent::after {
background-color: #fff;
clip-path: polygon(0 0, 0 100%, 100% 50%);
}

/* 開いた時のbodyの制御 */
body.is_Opened {
padding-right: var(--scrollbar-width, 0px);
overflow: hidden;
}

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

	.GlobalNav_InnerWrapper {
	padding-bottom: 4rem;
	}

	.GlobalNav_Inner {
	padding: 8rem 2rem 6rem;
	}

	/* Level_1 */
	a.GlobalNav_Level_1_Parent {
	padding: 1.8rem 0.8rem;
	font-size: 2.5rem;
	border-bottom: 1px solid  var(--c-1);
	}

	a.GlobalNav_Level_1_Parent.is_Opened {
	box-shadow: 0px 6px 8px -7px rgba(0, 0, 0, 0.3);
	}

	/* Level_2 */
	.GlobalNav_Level_2 {
	display: none;
	background-color: var(--c-2);
	}

	a.GlobalNav_Level_2_Parent {
	padding: 1.8rem 3.6rem 1.8rem 1.8rem;
	border-bottom: 1px solid #fff;
	font-size: 1.2rem;
	line-height: 1.4;
	}

	a.GlobalNav_Level_1_Parent.Icon_Plus::before,
	a.GlobalNav_Level_1_Parent.Icon_Plus::after {
	right: 1.2rem;
	}

	/* 矢印アイコン */
	a.GlobalNav_Level_2_Parent::before {
	right: 1.15rem;
	top: 50%;
	width: 1.5rem;
	height: 1.5rem;
	margin-top: -0.75rem;
	}
	
	a.GlobalNav_Level_2_Parent::after {
	right: 1.6rem;
	top: 50%;
	width: 0.5rem;
	height: 0.5rem;
	margin-top: -0.25rem;
	}

}

@media print, screen and (min-width: 768px) {

	.GlobalNav_Inner {
	padding: 21rem 3rem 10rem;
	}

	body:not(.is_Opened) .GlobalNav_Inner {
	overflow: hidden;
	}

	body.is_NoScroll .GlobalNav_Inner {
	overflow: auto;
	}

	.GlobalNav_Menu {
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8rem 5rem;
	}

	/* Level_1 */
	.GlobalNav_Level_1 {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	gap: 0;
	}

	.GlobalNav_Level_1.is_Span2 {
	grid-column: span 2;
	}

	a.GlobalNav_Level_1_Parent {
	padding-bottom: 1.8rem;
	border-bottom: 1px solid  var(--c-1);
	font-size: 4rem;
	pointer-events: none;
	}

	a.GlobalNav_Level_1_Parent.Icon_Plus {
	padding-right: 0;
	}

	a.GlobalNav_Level_1_Parent.Icon_Plus::before,
	a.GlobalNav_Level_1_Parent.Icon_Plus::after {
	display: none;
	}

	/* Level_2 */
	.GlobalNav_Level_2 {
	display: block !important;
	margin-top: 1.8rem;
	}

	.GlobalNav_Level_1:first-child .GlobalNav_Level_2 {
	display: grid !important;
	grid-template-rows: repeat(3, auto);
	grid-auto-flow: column;
	gap: 0 1rem;
	width: 85%;
	}

	a.GlobalNav_Level_2_Parent {
	padding: 0.7rem 1rem 0.8rem 2.4rem;
	font-size: 1.4rem;
	line-height: 1.5;
	}

	/* 矢印アイコン */
	a.GlobalNav_Level_2_Parent::before {
	left: 0;
	top: 1.11rem;
	width: 1.3rem;
	height: 1.3rem;
	}
	
	a.GlobalNav_Level_2_Parent::after {
	left: 0.45rem;
	top: 1.51rem;
	width: 0.5rem;
	height: 0.5rem;
	}

}

@media print, screen and (min-width: 1110px) {

	/* Level_2 */
	.GlobalNav_Level_2 {
	display: grid !important;
    grid-template-columns: repeat(2, 1fr);
	gap: 0 1rem;
	}

	.GlobalNav_Level_1:first-child .GlobalNav_Level_2 {
	gap: 0 5rem;
	}

/*
	.GlobalNav_Level_1:last-child .GlobalNav_Level_2 {
	grid-template-rows: repeat(3, auto);
	grid-auto-flow: column;
	}
*/

	.GlobalNav_Level_1:last-child .GlobalNav_Level_2 {
    grid-template-columns: repeat(1, 1fr);
	}

	/* 矢印アイコン */
	a.GlobalNav_Level_2_Parent::before {
	top: 1.22rem;
	}
	
	a.GlobalNav_Level_2_Parent::after {
	top: 1.61rem;
	}

}

@media (hover: hover) {

	/* Level_2 */
	a.GlobalNav_Level_2_Parent:hover {
	color: var(--c-1);
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 4px;
	opacity: 1;
	}

}



/* ■ フッターナビ ==================================================================================== */

.FooterNav {
position: relative;
background-color: #fff;
}

a.FooterNav_Contact_Btn {
display: flex;
align-items: center;
position: relative;
letter-spacing: 0.1em;
color: #fff;
background-color: var(--c-1);
}

a.FooterNav_Contact_Btn::before,
a.FooterNav_Contact_Btn::after {
position: absolute;
top: 50%;
background-color: #fff; 
content: "";
}

a.FooterNav_Contact_Btn::before {
mask-image: url(/assets/img/common/icon/Icon_Contact.svg);
mask-size: contain;
mask-repeat: no-repeat;
}

a.FooterNav_Contact_Btn::after {
clip-path: polygon(0 0, 0 100%, 100% 50%);
}

.FooterNav_Inner {
display: flex;
}

.FooterNav_Menu a {
display: block;
}

a.FooterNav_Level_1_Parent {
font-weight: 500;
color: var(--c-1);
}

a.FooterNav_Level_2_Parent {
position: relative;
font-weight: 500;
color: var(--c-3);
}

/* 矢印アイコン */
a.FooterNav_Level_2_Parent::before,
a.FooterNav_Level_2_Parent::after {
position: absolute;
content: "";
}

a.FooterNav_Level_2_Parent::before {
background-color: var(--c-1);
}

a.FooterNav_Level_2_Parent::after {
background-color: #fff;
clip-path: polygon(0 0, 0 100%, 100% 50%);
}

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

	.FooterNav {
	padding: 0.1rem 3rem 2.5rem 3rem;
	}

	a.FooterNav_Contact_Btn {
	height: 5.5rem;
	margin-top: -2.9rem;
	padding-left: 5rem;
	font-size: 1.75rem;
	}

	a.FooterNav_Contact_Btn::before {
	left: 2rem;
	width: 1.8rem;
	height: 1.3rem;
	margin-top: -0.65rem;
	}

	a.FooterNav_Contact_Btn::after {
	right: 1.6rem;
	top: 50%;
	width: 0.9rem;
	height: 0.9rem;
	margin-top: -0.45rem;
	}

	.FooterNav_Inner {
	flex-flow: column;
	margin-top: 4rem;
	}

	a.FooterNav_Logo {
	order: 2;
	width: 14rem;
	margin: 7rem auto 0;
	}

	.FooterNav_Menu {
	order: 1;
	}

	/* Level_1 */
	a.FooterNav_Level_1_Parent {
	padding: 1.8rem 0.8rem;
	font-size: 1.5rem;
	border-bottom: 1px solid  var(--c-1);
	}

	.FooterNav_Level_1:first-child a.FooterNav_Level_1_Parent {
	border-top: 1px solid  var(--c-1);
	}

	a.FooterNav_Level_1_Parent.is_Opened {
	box-shadow: 0px 6px 8px -7px rgba(0, 0, 0, 0.3);
	}

	/* Level_2 */
	.FooterNav_Level_2 {
	display: none;
	background-color: var(--c-2);
	}

	a.FooterNav_Level_2_Parent {
	padding: 1.8rem 3.6rem 1.8rem 1.8rem;
	border-bottom: 1px solid #fff;
	font-size: 1.2rem;
	line-height: 1.4;
	}

	a.FooterNav_Level_1_Parent.Icon_Plus::before,
	a.FooterNav_Level_1_Parent.Icon_Plus::after {
	right: 1.2rem;
	}

	/* 矢印アイコン */
	a.FooterNav_Level_2_Parent::before {
	right: 1.15rem;
	top: 50%;
	width: 1.5rem;
	height: 1.5rem;
	margin-top: -0.75rem;
	}
	
	a.FooterNav_Level_2_Parent::after {
	right: 1.6rem;
	top: 50%;
	width: 0.5rem;
	height: 0.5rem;
	margin-top: -0.25rem;
	}

}

@media print, screen and (min-width: 768px) {

	.FooterNav {
	padding: 0.1rem 4rem 6rem 6rem;
	}

	.FooterNav_Contact {
	display: flex;
	justify-content: flex-end;
	margin-top: -3.5rem;
	}

	a.FooterNav_Contact_Btn {
	width: 46%;
	height: 7rem;
	padding-left: 6rem;
	padding-top: 0.1rem;
	font-size: 2.4rem;
	}

	a.FooterNav_Contact_Btn::before {
	left: 2rem;
	width: 2.3rem;
	height: 1.7rem;
	margin-top: -0.85rem;
	}

	a.FooterNav_Contact_Btn::after {
	right: 2.3rem;
	top: 50%;
	width: 0.9rem;
	height: 0.9rem;
	margin-top: -0.45rem;
	}

	.FooterNav_Inner {
	margin-top: 5rem;
	}

	a.FooterNav_Logo {
	width: 15rem;
	}

	.FooterNav_Menu {
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8rem 5rem;
	flex: 1;
	margin-left: auto;
	padding-left: 10.5%;
	}

	/* Level_1 */
	.FooterNav_Level_1 {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	gap: 0;
	}

	.FooterNav_Level_1.is_Span2 {
	grid-column: span 2;
	}

	a.FooterNav_Level_1_Parent {
	font-size: 1.8rem;
	pointer-events: none;
	}

	a.FooterNav_Level_1_Parent.Icon_Plus {
	padding-right: 0;
	}

	a.FooterNav_Level_1_Parent.Icon_Plus::before,
	a.FooterNav_Level_1_Parent.Icon_Plus::after {
	display: none;
	}

	/* Level_2 */
	.FooterNav_Level_2 {
	display: block !important;
	margin-top: -0.3rem;
	padding-top: 1.2rem;
	border-top: 1px solid  var(--c-1);
	}

	.FooterNav_Level_1:first-child .FooterNav_Level_2 {
	display: grid !important;
	grid-template-rows: repeat(3, auto);
	grid-auto-flow: column;
	gap: 0 1rem;
	}

	a.FooterNav_Level_2_Parent {
	padding: 0.7rem 1rem 0.8rem 2.4rem;
	font-size: 1.3rem;
	line-height: 1.5;
	}

	/* 矢印アイコン */
	a.FooterNav_Level_2_Parent::before {
	left: 0;
	top: 1.09rem;
	width: 1.3rem;
	height: 1.3rem;
	}
	
	a.FooterNav_Level_2_Parent::after {
	left: 0.45rem;
	top: 1.48rem;
	width: 0.5rem;
	height: 0.5rem;
	}

}

@media print, screen and (min-width: 1110px) {

	/* Level_2 */
	.FooterNav_Level_1:first-child .FooterNav_Level_2 {
	display: grid !important;
    grid-template-columns: repeat(2, 1fr);
	gap: 0 5rem;
	}

	/* 矢印アイコン */
	a.FooterNav_Level_2_Parent::before {
	top: 1.14rem;
	}
	
	a.FooterNav_Level_2_Parent::after {
	top: 1.53rem;
	}

}

@media (hover: hover) {

	a.FooterNav_Logo:hover {
	opacity: 1;
	}

	a.FooterNav_Contact_Btn {
	background-image: linear-gradient(var(--c-3) 0 0);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 0% 100%;
	transition: background-size var(--a-dur-s) var(--a-ease-1);
	}

	a.FooterNav_Contact_Btn:hover {
	background-size: 100% 100%;
	opacity: 1;
	}

	/* Level_2 */
	a.FooterNav_Level_2_Parent:hover {
	color: var(--c-1);
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 4px;
	opacity: 1;
	}

}



/* ■ フッター ==================================================================================== */

.Footer_Credit_Name {
font-weight: 500;
}

.Footer_Credit_Tel a {
color: var(--c-3);
}

.Footer_Utility_Menu {
display: flex;
align-items: flex-start;
justify-content: center;
flex-wrap: wrap;
}

.Footer_Utility_Menu li {
display: flex;
align-items: center;
position: relative;
color: var(--c-1);
}

.Footer_Utility_Menu li:not(:first-child):not(:last-child)::before {
content: "/";
}

.Footer_Utility_Menu a {
color: var(--c-1);
}

.Footer_Utility_PageTop a {
display: block;
position: relative;
text-indent: -9999px;
}

.Footer_Utility_PageTop a::before,
.Footer_Utility_PageTop a::after {
position: absolute;
left: 50%;
background-color: var(--c-1);
transform: translateX(-50%);
content: "";
}

.Footer_Utility_PageTop a::before {
height: 1px;
}

.Footer_Utility_PageTop a::after {
clip-path: polygon(50% 0, 0 100%, 100% 100%);
}

.Footer_Utility_Copyright {
font-weight: 500;
}

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

	.Footer {
	position: relative;
	padding: 0 3rem 4rem;
	}

	.Footer_Credit {
	text-align: center;
	}

	.Footer_Credit_Name {
	font-size: 1.3rem;
	letter-spacing: -0.05em;
	}

	.Footer_Credit_Address,
	.Footer_Credit_Tel {
	margin-top: 1rem;
	font-size: 1.3rem;
	}

	.Footer_Logo {
	width: 11rem;
	margin: 2.5rem auto 0;
	}

	.Footer_Utility {
	margin-top: 3rem;
	}

	.Footer_Utility_Menu li {
	margin-left: 0.6rem;
	font-size: 1.3rem;
	}

	.Footer_Utility_Menu li:not(:first-child):not(:last-child)::before {
	padding-right: 0.6rem;
	}

	.Footer_Utility_Menu a {
	font-size: 1.3rem;
	}

	.Footer_Utility_PageTop {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-top: 2rem;
	}

	.Footer_Utility_PageTop a {
	width: 6rem;
	height: 6rem;
	border: 1px solid #fff;
	}

	.Footer_Utility_PageTop a::before {
	top: 1.8rem;
	width: 4rem;
	}

	.Footer_Utility_PageTop a::after {
	top: 3.5rem;
	width: 1rem;
	height: 1rem;
	}

	.Footer_Utility_Copyright {
	margin-top: 2rem;
	text-align: center;
	font-size: 0.9rem;
	}

}

@media print, screen and (min-width: 768px) {

	.Footer {
	position: relative;
	padding: 1rem 4rem 6rem 6rem;
	}

	.Footer_Credit_Name {
	font-size: 1.4rem;
	}

	.Footer_Credit_Address,
	.Footer_Credit_Tel {
	display: inline-block;
	margin-top: 1.6rem;
	font-size: 1.4rem;
	}

	.Footer_Credit_Tel {
	margin-left: 0.6rem;
	}

	.Footer_Logo {
	position: absolute;
	left: 6rem;
	top: -17rem;
	width: 15rem;
	}

	.Footer_Utility {
	display: flex;
	margin-top: 2rem;
	}

	.Footer_Utility_Menu {
	order: 2;
	margin-left: auto;
	}

	.Footer_Utility_Menu li {
	margin-left: 0.6rem;
	font-size: 1.3rem;
	}

	.Footer_Utility_Menu li:not(:first-child):not(:last-child)::before {
	padding-right: 0.6rem;
	}

	.Footer_Utility_Menu a {
	font-size: 1.3rem;
	}

	.Footer_Utility_PageTop {
	padding-left: 3rem;
	margin-top: -2.5rem;
	}

	.Footer_Utility_PageTop a {
	width: 6rem;
	height: 6rem;
	border: 1px solid #fff;
	}

	.Footer_Utility_PageTop a::before {
	top: 1.8rem;
	width: 4rem;
	}

	.Footer_Utility_PageTop a::after {
	top: 3.5rem;
	width: 1rem;
	height: 1rem;
	}

	.Footer_Utility_Copyright {
	order: 1;
	font-size: 1.1rem;
	}

}

@media (hover: hover) {

	.Footer_Utility_Menu a:hover {
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 4px;
	opacity: 1;
	}

	.Footer_Utility_PageTop a {
	transition: border 0.3s ease 0.01s;
	}

	.Footer_Utility_PageTop a:hover {
	border: 1px solid #ccdbd4;
	opacity: 1;
	}

	.Footer_Utility_PageTop a::after {
	transition: transform 0.3s ease 0.01s;
	}

	.Footer_Utility_PageTop a:hover::after {
	transform: translate(-50%, -40%);
	}

}



/* ■ ページの先頭へ ==================================================================================== */

#PageTop {
display: none;
position: fixed;
z-index: 3000;
opacity: 0.5;
}

#PageTop a {
display: inline-block;
position: relative;
text-indent: -9999px;
background-color: var(--color-main);
}

#PageTop a::after {
display: block;
position: absolute;
left: 50%;
top: 50%;
border-top: solid 2px #fff;
border-right: solid 2px #fff;
transform: rotate(-45deg);
content: '';
}

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

	#PageTop {
	right: 1rem;
	bottom: 3rem;
	}

	#PageTop a {
	width: 4rem;
	height: 4rem;
	}

	#PageTop a::after {
	width: 1rem;
	height: 1rem;
	margin-left: -0.5rem;
	margin-top: -0.3rem;
	}

}

@media print, screen and (min-width: 768px) {

	#PageTop {
	right: 2rem;
	bottom: 2rem;
	}

	#PageTop a {
	width: 6rem;
	height: 6rem;
	}

	#PageTop a::after {
	width: 1.2rem;
	height: 1.2rem;
	margin-left: -0.6rem;
	margin-top: -0.4rem;
	}

}



/* ■ パン屑リスト ==================================================================================== */

.BreadCrumb_List {
display: flex;
}

.BreadCrumb_List a {
color: var(--c-1);
}

.BreadCrumb_List li:last-child a {
color: var(--c-3);
pointer-events: none;
}

.BreadCrumb_List li {
position: relative;
}

.BreadCrumb_List li:first-child::before,
.BreadCrumb_List li:not(:last-child)::after {
position: absolute;
content: "";
}

.BreadCrumb_List li:first-child::before {
background-image: url(/assets/img/common/icon/Icon_PathHome.png);
background-repeat: no-repeat;
background-size: cover;
}

.BreadCrumb_List li:not(:last-child)::after {
background-color: var(--c-1);
clip-path: polygon(0 0, 0 100%, 100% 50%);
}

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

	.BreadCrumb {
	padding: 2rem 1.5rem;
	font-size: 1.2rem;
	-webkit-overflow-scrolling: touch;
	overflow-x: scroll;
	white-space: nowrap;
	}

	.BreadCrumb_List {
	gap: 2rem;
	}

	.BreadCrumb_List a {
	padding: 1rem 0;
	}

	.BreadCrumb_List li:first-child a {
	padding-left: 1.8rem;
	}

	.BreadCrumb_List li:first-child::before {
	left: 0;
	top: 0.12rem;
	width: 1rem;
	height: 1rem;
	}

	.BreadCrumb_List li:not(:last-child)::after {
	right: -1.2rem;
	top: 0.45rem;
	width: 0.5rem;
	height: 0.5rem;
	}

}

@media print, screen and (min-width: 768px) {

	.BreadCrumb {
	padding: 2.5rem 6rem;
	font-size: 1.2rem;
	}

	.BreadCrumb_List {
	gap: 2rem;
	}

	.BreadCrumb_List a {
	padding: 1rem 0;
	}

	.BreadCrumb_List li:first-child a {
	padding-left: 1.8rem;
	}

	.BreadCrumb_List li:first-child::before {
	left: 0;
	top: 0.12rem;
	width: 1rem;
	height: 1rem;
	}

	.BreadCrumb_List li:not(:last-child)::after {
	right: -1.2rem;
	top: 0.45rem;
	width: 0.5rem;
	height: 0.5rem;
	}

}

@media (hover: hover) {

	.BreadCrumb_List a:hover {
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 4px;
	opacity: 1;
	}

}



/* ■ ローカルナビ ==================================================================================== */



/* ■ 見出し（h1〜） ==================================================================================== */

.MdsH1,
.MdsH2 {
border-bottom: 1px solid var(--color-sub4);
}

/* h1 */
.MdsH1 {
line-height: 1.2;
}

/* h2 */
.MdsH2 {
line-height: 1.4;
}

/* h3 */
.MdsH3 {
background-color: var(--color-sub5);
}

/* h4 */
.MdsH4 {
position: relative;
}

.MdsH4::before {
position: absolute;
left: 0;
background: #000;
content: "";
}

/* h5 */
.MdsH5 {
line-height: 1.4;
}

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

	/* h1 */
	.MdsH1 {
	padding-bottom: 1rem;
	font-size: 3rem;
	}

	/* h2 */
	.MdsH2 {
	padding-bottom: 0.5rem;
	font-size: 2.5rem;
	}

	/* h3 */
	.MdsH3 {
	padding: 0.5rem 1rem;
	font-size: 1.8rem;
	line-height: 1.6;
	}

	/* h4 */
	.MdsH4 {
	margin-top: 1.5rem;
	padding-left: 1.6rem;
	font-size: 1.8rem;
	line-height: 1.4;
	}

	.MdsH4::before {
	top: 0.7rem;
	width: 1.1rem;
	height: 1.1rem;
	}

	/* h5 */
	.MdsH5 {
	margin-top: 1.5rem;
	font-size: 1.6rem;
	line-height: 1.4;
	}

}

@media print, screen and (min-width: 768px) {

	/* h1 */
	.MdsH1 {
	padding-bottom: 1.5rem;
	font-size: 4rem;
	}

	/* h2 */
	.MdsH2 {
	padding-bottom: 1rem;
	font-size: 3rem;
	}

	/* h3 */
	.MdsH3 {
	padding: 0.8rem 1.5rem;
	font-size: 2rem;
	line-height: 1.5;
	}

	/* h4 */
	.MdsH4 {
	margin-top: 2.5rem;
	padding-left: 1.8rem;
	font-size: 1.8rem;
	line-height: 1.5;
	}

	.MdsH4::before {
	top: 0.9rem;
	width: 1rem;
	height: 1rem;
	}

	/* h5 */
	.MdsH5 {
	margin-top: 2.5rem;
	font-size: 1.6rem;
	line-height: 1.8;
	}

}



/* ■ リード・画像 ==================================================================================== */

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

	.LeadMain {
	margin-top: 1em;
	line-height: 1.8;
	}

	.Lead {
	margin-top: 1.5rem;
	line-height: 1.8;
	}

	.Photo {
	margin-top: 1.5rem;
	}

}

@media print, screen and (min-width: 768px) {

	.LeadMain {
	margin-top: 2em;
	font-size: 1.8rem;
	line-height: 1.8;
	}

	.Lead {
	margin-top: 2.5rem;
	line-height: 2;
	}

	.Photo {
	margin-top: 2.5rem;
	}

}



/* ■ セクション ==================================================================================== */

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

	.SectionMain {
	padding-top: 4rem;
	}

	.SectionSub {
	padding-top: 2rem;
	}

}

@media print, screen and (min-width: 768px) {

	.SectionMain {
	padding-top: 6rem;
	}

	.SectionSub {
	padding-top: 4rem;
	}

}



/* ■ 関連情報 ==================================================================================== */

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

	.RelatedInfo {
	margin-top: 2rem;
	}

	.RelatedInfo_Mds {
	font-size: 2rem;
	}

	.RelatedInfo_Menu {
	margin-top: 2rem;
	}

	.RelatedInfo_Menu li {
	margin-top: 1.25rem;
	}

}

@media print, screen and (min-width: 768px) {

	.RelatedInfo {
	margin-top: 3rem;
	}

	.RelatedInfo_Mds {
	font-size: 2rem;
	}

	.RelatedInfo_Menu {
	margin-top: 2rem;
	}

	.RelatedInfo_Menu li {
	margin-top: 1.5rem;
	}

}



/* ■ カラム ==================================================================================== */

/*
成り行き
固定
*/


.Cols {
display: grid;
gap: 2rem;
margin-top: var(--gap-int);
}


/* 成り行き --------------------------------------------------- */

.ColAuto3 {
grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
}

.ColAuto4 {
grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
}


/* 固定 --------------------------------------------------- */

.Col2 {
grid-template-columns: repeat(2, 1fr);
}

.Col3 {
grid-template-columns: repeat(3, 1fr);
}

.Col4 {
grid-template-columns: repeat(4, 1fr);
}

.Col5 {
grid-template-columns: repeat(5, 1fr);
}

.Col6 {
grid-template-columns: repeat(6, 1fr);
}


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

	.Col2_SP {
	grid-template-columns: repeat(2, 1fr);
	}

	.Col3_SP {
	grid-template-columns: repeat(3, 1fr);
	}

	.Col4_SP {
	grid-template-columns: repeat(4, 1fr);
	}

	.Col5_SP {
	grid-template-columns: repeat(5, 1fr);
	}

	.Col6_SP {
	grid-template-columns: repeat(6, 1fr);
	}

	/* 2対1 */
	.Col2v1 {
	grid-template-columns: 1fr;
	}

	/* 1対2 */
	.Col1v2 {
	grid-template-columns: 1fr;
	}

}

@media print, screen and (min-width: 768px) {

	.Col2_PC {
	grid-template-columns: repeat(2, 1fr);
	}

	.Col3_PC {
	grid-template-columns: repeat(3, 1fr);
	}

	.Col4_PC {
	grid-template-columns: repeat(4, 1fr);
	}

	.Col5_PC {
	grid-template-columns: repeat(5, 1fr);
	}

	.Col6_PC {
	grid-template-columns: repeat(6, 1fr);
	}

	/* 2対1 */
	.Col2v1 {
	grid-template-columns: 2fr 1fr;
	}

	/* 1対2 */
	.Col1v2 {
	grid-template-columns: 1fr 2fr;
	}

}



/* ■ リスト各種 ==================================================================================== */

/*
マーカーなし（ListNoMarker）
ディスク：中（ListDisc）
ディスク：小（ListDiscS）
米印：中（ListKome）
米印：小（ListKomeS）
連番：中（ListNum）
連番：小（ListNumS）
連番米印：小（ListKomeNumS）
入れ子調整
*/

.List {
display: grid;
grid-template-columns: repeat(1, 1fr);
}

.List li {
position: relative;
}

.List li::before {
display: inline-block;
position: absolute;
}

/* ディスク：中（ListDisc） */
.ListDisc li::before {
border-radius: 100%;
background-color: var(--c-1);
content: '';
}

/* ディスク：小（ListDiscS） */
.ListDiscS li::before {
border-radius: 100%;
background-color: var(--c-1);
content: '';
}

/* 米印：中（ListKome） */
.ListKome li::before {
content: '※';
}

/* 米印：小（ListKomeS） */
.ListKomeS li::before {
content: '※';
}

/* 連番：中（ListNum） */
.ListNum {
counter-reset: ListNum;
}

.ListNum li::before {
counter-increment: ListNum;
content: counter(ListNum)".";
}

/* 連番：小（ListNumS） */
.ListNumS {
counter-reset: ListNumS;
}

.ListNumS li::before {
counter-increment: ListNumS;
content: counter(ListNumS)".";
}

/* 連番米印：小（ListKomeNumS） */
.ListKomeNumS {
counter-reset: ListKomeNumS;
}

.ListKomeNumS li::before {
counter-increment: ListKomeNumS;
content: "※"counter(ListKomeNumS);
}

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

	.ListNoMarker,
	.ListDisc,
	.ListKome,
	.ListNum {
	gap: 0.2rem 0;
	}

	.ListNoMarker li,
	.ListDisc li,
	.ListKome li,
	.ListNum li {
	font-size: var(--f-m);
	line-height: 1.6;
	}

	.ListDiscS li,
	.ListKomeS li,
	.ListNumS li,
	.ListKomeNumS li {
	font-size: 1.4rem;
	line-height: 1.7;
	}

}

@media print, screen and (min-width: 768px) {

	.ListNoMarker li,
	.ListDisc li,
	.ListKome li,
	.ListNum li {
	font-size: var(--f-m);
	line-height: 1.8;
	}

	.ListDiscS li,
	.ListKomeS li,
	.ListNumS li,
	.ListKomeNumS li {
	font-size: 1.3rem;
	line-height: 1.7;
	}

}


/* マーカーなし（ListNoMarker） --------------------------------------------------- */


/* ディスク：中（ListDisc） --------------------------------------------------- */

.ListDisc li > .ListDisc li::before {
width: 0.8rem;
height: 0.1rem;
border-radius: 0;
}

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

	.ListDisc li {
	padding-left: 1.7rem;
	}

	.ListDisc li::before {
	left: 0.2rem;
	top: 0.7rem;
	width: 0.8rem;
	height: 0.8rem;
	}

	/* 入れ子時 */
	.ListDisc li > .ListDisc li {
	padding-left: 1.8rem;
	}

	.ListDisc li > .ListDisc li::before {
	top: 1.4rem;
	}

	/* Android */
	.Android .ListDisc li::before {
	top: 0.9rem;
	}

	.Android .ListDisc li > .ListDisc li::before {
	top: 1.3rem;
	}

}

@media print, screen and (min-width: 768px) {

	.ListDisc li {
	padding-left: 1.8rem;
	}

	.ListDisc li::before {
	left: 0.2rem;
	top: 0.9rem;
	width: 0.8rem;
	height: 0.8rem;
	}

	.Mac .ListDisc li::before {
	top: 1rem;
	}

	/* 入れ子時 */
	.ListDisc li > .ListDisc li {
	padding-left: 2rem;
	}

	.ListDisc li > .ListDisc li::before {
	left: 0.3rem;
	top: 1.3rem;
	}

}

/* Firefox */
@-moz-document url-prefix() {

	.ListDisc li::before {
	top: 1rem;
	}

	.Mac .ListDisc li::before {
	top: 1.1rem;
	}

	/* 入れ子時 */
	.ListDisc li > .ListDisc li::before {
	top: 1.4rem;
	}

}


/* ディスク：小（ListDiscS） --------------------------------------------------- */

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

	.ListDiscS li {
	padding-left: 1.6rem;
	}

	.ListDiscS li::before {
	left: 0.4rem;
	top: 0.9rem;
	width: 0.6rem;
	height: 0.6rem;
	}

	/* Android */
	.Android .ListDiscS li:before {
	top: 0.7rem;
	}

}

@media print, screen and (min-width: 768px) {

	.ListDiscS li {
	padding-left: 1.6rem;
	}

	.ListDiscS li::before {
	left: 0.4rem;
	top: 0.8rem;
	width: 0.6rem;
	height: 0.6rem;
	}

	.Mac .ListDiscS li::before {
	top: 0.9rem;
	}

	/* Safari */
	_::-webkit-full-page-media,
	_:future, :root .ListDiscS li::before {
	top: 0.8rem;
	}

}


/* 米印：中（ListKome） --------------------------------------------------- */

.ListKome li:before {
left: 0.2rem;
}

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

	.ListKome li {
	padding-left: 1.7rem;
	}

	.ListKome li::before {
	top: -0.1rem;
	font-size: 1.5rem;
	}

	/* Android */
	.Android .ListKome li::before {
	top: 0;
	}

}

@media print, screen and (min-width: 768px) {

	.ListKome li {
	padding-left: 2.2rem;
	}

	.Mac .ListKome li {
	padding-left: 1.8rem;
	}

	.ListKome li::before {
	top: 0;
	}

	.Mac .ListKome li::before {
	top: -0.15rem;
	}

}


/* 米印：小（ListKomeS） --------------------------------------------------- */

.ListKomeS li::before {
left: 0.2rem;
}

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

	.ListKomeS li {
	padding-left: 1.6rem;
	}

	.ListKomeS li::before {
	top: -0.15rem;
	}

	/* Android */
	.Android .ListKomeS li::before {
	top: 0;
	}

}

@media print, screen and (min-width: 768px) {

	.ListKomeS li {
	padding-left: 2rem;
	}

	.Mac .ListKomeS li {
	padding-left: 1.5rem;
	}

	.ListKomeS li::before {
	top: 0;
	}

	.Mac .ListKomeS li::before {
	top: -0.1rem;
	}

}


/* 連番：中（ListNum） --------------------------------------------------- */

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

	.ListNum {
	padding-left: 0.5rem;
	}

	.ListNum li {
	padding-left: 1.8rem;
	}

	.ListNum li::before {
	left: 0.1rem;
	top: 0;
	}

	.ListNum li:nth-child(n+10)::before {
	left: -0.7rem;
	}

}

@media print, screen and (min-width: 768px) {

	.ListNum {
	padding-left: 1.2rem;
	}

	.ListNum li {
	padding-left: 1rem;
	}

	.ListNum li::before {
	left: -0.8rem;
	top: 0;
	}

	.ListNum li:nth-child(n+10)::before {
	left: -1.6rem;
	}

}


/* 連番：小（ListNumS） --------------------------------------------------- */

.ListNumS {
padding-left: 0.4rem;
}

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

	.ListNumS li {
	padding-left: 1.7rem;
	}

	.ListNumS li::before {
	left: 0.1rem;
	top: 0;
	}

	.ListNumS li:nth-child(n+10)::before {
	left: -0.7rem;
	}

}

@media print, screen and (min-width: 768px) {

	.ListNumS li {
	padding-left: 1.7rem;
	}

	.ListNumS li::before {
	left: 0.1rem;
	top: 0;
	}

	.ListNumS li:nth-child(n+10)::before {
	left: -0.45rem;
	}

}


/* 連番米印：小（ListKomeNumS） --------------------------------------------------- */

.ListKomeNumS {
padding-left: 0.4rem;
}

.ListKomeNumS li::before {
letter-spacing: 0.1em;
}

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

	.ListKomeNumS li {
	padding-left: 2.4rem;
	}

	.ListKomeNumS li::before {
	left: 0.1rem;
	top: 0;
	}

	.ListKomeNumS li:nth-child(n+10)::before {
	left: -0.7rem;
	}

}

@media print, screen and (min-width: 768px) {

	.ListKomeNumS li {
	padding-left: 3rem;
	}

	.Mac .ListKomeNumS li {
	padding-left: 2.4rem;
	}

	.ListKomeNumS li::before {
	left: 0.1rem;
	top: 0;
	}

	.ListKomeNumS li:nth-child(n+10)::before {
	left: -0.45rem;
	}

}


/* インライン表示 --------------------------------------------------- */

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

	.List.ListInline_SP li {
	display: inline-block;
	margin-right: 1rem;
	}

}

@media print, screen and (min-width: 768px) {

	.List.ListInline_PC li {
	display: inline-block;
	margin-right: 1rem;
	}

}


/* 入れ子調整 --------------------------------------------------- */

.List li > .List {
margin-top: 0;
}



/* ■ 記述リスト（DLHori、DLVert、DLTable） ==================================================================================== */

/*
左右（dlh）
上下（dlv）
テーブルスタイル（dlt）
*/


/* 左右（dlh） --------------------------------------------------- */

.DLHori dl {
display: flex;
font-size: var(--f-m);
line-height: 1.6;
}

.DLHori dt {
color: var(--c-1);
}

.DLHori dd {
flex: 1;
}

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

	/* 縦並び */
	.DLHori_SP dl {
	flex-flow: column;
	}

}



/* 上下（dlv） --------------------------------------------------- */

.DLVert dl {
line-height: 1.6;
}

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

}

@media print, screen and (min-width: 768px) {

}


/* テーブルスタイル（dlt） --------------------------------------------------- */

.DLTable {
margin-top: var(--gap-int);
border-top: 1px solid var(--color-sub4);
}

.DLTable dl {
display: flex;
line-height: 1.6;
border-left: 1px solid var(--color-sub4);
}

.DLTable dt,
.DLTable dd {
padding: 0.75rem 1.5rem;
border-right: 1px solid var(--color-sub4);
border-bottom: 1px solid var(--color-sub4);
}

.DLTable dt {
background: var(--color-sub5);
}

.DLTable dd {
flex: 1;
}

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

	.DLTable dt {
	width: 40%;
	}

	/* 縦並び */
	.DLTable_SP dl {
	flex-flow: column;
	}

	.DLTable_SP dt {
	width: 100%;
	}

}

@media print, screen and (min-width: 768px) {

	.DLTable dt {
	width: 30%;
	}

}



/* ■ 表組み（Table1、Table2） ==================================================================================== */

.Table1 th,
.Table2 th,
.Table1 td,
.Table2 td {
line-height: 1.3;
}

.Table1 th,
.Table2 th {
padding: 1.6rem 1.5rem;
color: #fff;
background-color: var(--c-1);
}

.Table1 td,
.Table2 td {
padding: 2.4rem 1.5rem;
background-color: #fff;
}

.Table1 th {
text-align: left;
}

.Table2 th {
border-right: 1px solid #82c6a7;
}

.Table2 td {
border-right: 1px solid #d6d6d6;
}

.Table2 th:last-child,
.Table2 td:last-child {
border-right: none;
}

.Table2 tr:nth-child(odd) td {
background-color: #e8eeeb;
}

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

	.Table1 th {
	width: 40%;
	}

	/* 縦並び */
	.Table1_SP th,
	.Table1_SP td {
	display: block;
	}

	.Table1_SP tr:not(:first-of-type) th,
	.Table1_SP td {
	border-top: none;
	}

	.Table1_SP th {
	width: 100%;
	}

	/* 横スクロール表示 */
	.TableScroll {
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	}

}

@media print, screen and (min-width: 768px) {

	.Table1 th {
	width: 30%;
	}

}



/* ■ 囲み（Box） ==================================================================================== */

.Box {
margin-top: var(--gap-int);
border: 1px solid var(--color-sub4);
}

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

	.Box {
	padding: 1.25em 1.25em;
	}

}

@media print, screen and (min-width: 768px) {

	.Box {
	padding: 1.5em 1.5em;
	}

}



/* ■ テキストリンクアイコン ==================================================================================== */

.LinkFwd,
.LinkBack,
.LinkDown,
.LinkUp,
.LinkNewWin,
.LinkPDF {
line-height: 1.8;
}

.LinkFwd,
.LinkBack,
.LinkDown,
.LinkUp {
display: inline-block;
position: relative;
padding-left: 1.6rem;
}

.LinkFwd::after,
.LinkBack::after,
.LinkDown::after,
.LinkUp::after {
display: block;
position: absolute;
left: 0;
top: 1.4rem;
width: 0.8rem;
height: 0.8rem;
margin-top: -0.4rem;
border-top: 2px solid;
border-right: 2px solid;
content: '';
}

.LinkNewWin,
.LinkPDF {
display: inline-block;
position: relative;
}

.LinkNewWin {
padding-right: 1.5rem;
}

.LinkPDF {
padding-left: 2rem;
}

.LinkNewWin::before,
.LinkPDF::before,
.LinkNewWin::after,
.LinkPDF::after {
display: block;
position: absolute;
content: '';
}

/* 進む（LinkFwd） */
.LinkFwd::after {
transform: rotate(45deg);
}

/* 戻る（LinkBack） */
.LinkBack::after {
left: 0.2rem;
transform: rotate(225deg);
}

/* 下へ（LinkDown） */
.LinkDown::after {
margin-top: -0.5rem;
transform: rotate(135deg);
}

/* 下へ（LinkUp） */
.LinkUp::after {
margin-top: -0.2rem;
transform: rotate(-45deg);
}

/* 別ウインドウ（LinkNewWin） */
.LinkNewWin::before {
right: 0;
top: 1.4rem;
width: 0.9rem;
height: 0.7rem;
margin-top: -0.2rem;
border: 1px solid var(--c-link);
background-color: #fff;
}

.LinkNewWin::after {
right: -0.2rem;
top: 1.1rem;
width: 0.9rem;
height: 0.7rem;
margin-top: -0.2rem;
border: 1px solid var(--c-link);
border-top: 2px solid;
background-color: #fff;
}

/* PDF（LinkPDF） */
.LinkPDF::before {
left: 0;
top: 1.4rem;
width: 1.3rem;
height: 1.6rem;
margin-top: -0.8rem;
border: 1px solid #a6a6a6;
background-color: #fff;
}

.LinkPDF::after {
left: -0.2rem;
top: 1rem;
width: 1rem;
height: 0.4rem;
font-size: 0.6rem;
background-color: #cc0000;
}

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

}

@media print, screen and (min-width: 768px) {

}



/* ■ リンクアイコン ==================================================================================== */

/*
矢印1
プラス・マイナス
*/


/* 矢印1 --------------------------------------------------- */

.LinkIcon1 {
display: block;
position: relative;
}

.LinkIcon1::before {
display: block;
position: absolute;
border-top: solid 1px #000;
border-right: solid 1px #000;
transform: rotate(45deg);
content: '';
}

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

	.LinkIcon1 {
	padding-right: 4rem;
	}

	.LinkIcon1::before {
	top: 50%;
	right: 1.5rem;
	width: 0.8rem;
	height: 0.8rem;
	margin-top: -0.4rem;
	}

}

@media print, screen and (min-width: 768px) {

	.LinkIcon1 {
	padding-left: 1.3rem;
	padding-left: 1.3rem;
	line-height: 1.5;
	}

	.LinkIcon1::before {
	left: 0;
	top: 0.8rem;
	width: 0.6rem;
	height: 0.6rem;
	}

}


/* プラス・マイナス --------------------------------------------------- */

.Icon_Plus {
display: block;
position: relative;
}

.Icon_Plus::before,
.Icon_Plus::after {
display: block;
position: absolute;
top: 50%;
right: 1.5rem;
width: 1.5rem;
height: 0.1rem;
background-color: var(--c-1);
content: "";
}

.Icon_Plus::after {
transform: rotate(90deg);
}

.Icon_Plus.is_Opened::after {
display: none;
}

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

	.Icon_Plus {
	padding-right: 4rem;
	}

}

@media print, screen and (min-width: 768px) {

	.Icon_Plus {
	padding-right: 8rem;
	}

}



/* ■ ボタン ==================================================================================== */

.BtnS,
.BtnM,
.BtnL {
display: inline-block;
position: relative;
border-radius: var(--border-r1);
font-weight: 500;
text-align: center;
}

/* 文字サイズ */
.BtnS {
font-size: calc(1.6rem * 0.9);
}

.BtnM {
font-size: calc(1.6rem * 1);
}

.BtnL {
font-size: calc(1.6rem * 1.2);
}

/* 矢印 */
.BtnAllowLeft::after,
.BtnAllowRight::after,
.BtnAllowBack::after,
.BtnAllowDownLeft::after,
.BtnAllowDownRight::after,
.BtnAllowUpLeft::after,
.BtnAllowUpRight::after {
display: block;
position: absolute;
top: 50%;
width: 1rem;
height: 1rem;
margin-top: -0.5rem;
border-top: solid 2px;
border-right: solid 2px;
content: '';
}

/* 矢印：左 */
.BtnAllowLeft::after {
left: 1rem;
transform: rotate(45deg);
}

/* 矢印：右 */
.BtnAllowRight::after {
right: 1.5rem;
transform: rotate(45deg);
}

/* 矢印：戻る */
.BtnAllowBack::after {
left: 1.5rem;
transform: rotate(225deg);
}

/* 矢印：下向き左 */
.BtnAllowDownLeft::after {
left: 1.5rem;
margin-top: -0.7rem;
transform: rotate(135deg);
}

/* 矢印：下向き右 */
.BtnAllowDownRight::after {
right: 1.5rem;
margin-top: -0.7rem;
transform: rotate(135deg);
}

/* 矢印：上向き左 */
.BtnAllowUpLeft::after {
left: 1.5rem;
margin-top: -0.3rem;
transform: rotate(-45deg);
}

/* 矢印：上向き右 */
.BtnAllowUpRight::after {
right: 1.5rem;
margin-top: -0.3rem;
transform: rotate(-45deg);
}

/* 閉じる */
.BtnClose::before,
.BtnClose::after {
display: block;
position: absolute;
left: 2rem;
top: 50%;
height: 1.4rem;
margin-top: -0.7rem;
border: 1px solid;
content: "";
}

.BtnClose::before {
transform: rotate(-45deg);
}

.BtnClose::after {
transform: rotate(45deg);
}

/* カラー：1 */
.BtnColor1,
a.BtnColor1 {
color: #fff;
background-color: var(--c-1);
}

.BtnColor1::after {
border-color: #fff;
}

/* カラー：2 */
.BtnColor2,
a.BtnColor2 {
color: #fff;
background-color: #e85700;
}

.BtnColor2::after {
border-color: #fff;
}

/* カラー：3 */
.BtnColor3,
a.BtnColor3 {
color: #fff;
background-color: #9f9f9f;
}

.BtnColor3::after {
border-color: #fff;
}

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

	.BtnS {
	padding: 1rem 4rem;
	}

	.BtnM {
	padding: 1.8rem 4rem;
	}

	.BtnL {
	padding: 1.8rem 4rem;
	}

	/* 矢印：左 */
	.BtnAllowLeft,
	.BtnAllowBack,
	.BtnAllowDownLeft,
	.BtnAllowUpLeft,
	.BtnClose {
	padding-left: 5rem;
	}

}

@media print, screen and (min-width: 768px) {

	.BtnS {
	padding: 0.8rem 4rem;
	}

	.BtnM {
	padding: 1.4rem 4rem;
	}

	.BtnL {
	padding: 1.8rem 4rem 2rem;
	}

	/* 矢印：左 */
	.BtnAllowLeft,
	.BtnAllowBack,
	.BtnAllowDownLeft,
	.BtnAllowUpLeft,
	.BtnClose {
	padding-left: 5rem;
	}

}



/* ■ アイコン ==================================================================================== */

.Icon {
display: inline-block;
line-height: 1;
text-align: center;
color: #fff;
}

.Icon_New {
background-color: var(--color-alert);
}

.Icon_1 {
background-color: var(--color-sub2);
}

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

}

@media print, screen and (min-width: 768px) {

}



/* ■ 動画埋め込み ==================================================================================== */

/* video */
video {
margin-top: var(--gap-int);
}

/* iframe */
.MovieWrap {
position: relative;
width: 100%;
margin-top: var(--gap-int);
padding-top: 56.25%;
/* aspect-ratio: 16 / 9; */
overflow: hidden;
}

.MovieWrap iframe {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}



/* ■ マップ埋め込み ==================================================================================== */

.MapWrap {
position: relative;
width: 100%;
/* aspect-ratio: 16 / 9; */
margin-top: var(--gap-int);
padding-top: 56.25%;
overflow: hidden;
}

.MapWrap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}



/* ■ ページネーション ==================================================================================== */

.PageNation_Num {
font-feature-settings: "palt";
}

.PageNation_Menu a {
display: block;
border: 1px solid var(--color-sub4);
border-radius: var(--border-r1);
}

.PageNation_Prev a,
.PageNation_Next a {
position: relative;
border: 1px solid var(--color-main);
color: #fff;
background-color: var(--color-main);
}

.PageNation_Prev a:before,
.PageNation_Next a:before {
display: block;
position: absolute;
top: 50%;
width: 0.8rem;
height: 0.8rem;
margin-top: -0.4rem;
border-top: solid 2px #fff;
border-right: solid 2px #fff;
content: '';
}

.PageNation_Prev a:before {
left: 1rem;
transform: rotate(225deg);
}

.PageNation_Next a:before {
right: 1rem;
transform: rotate(45deg);
}

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

	.PageNation {
	position: relative;
	margin-top: var(--gap-int);
	}

	.PageNation_Num {
	position: absolute;
	top: 1.5rem;
	width: 100%;
	font-size: 1.3rem;
	text-align: center;
	}

	.PageNation_Menu {
	display: flex;
	}

	.PageNation_Menu li:not(.PageNation_Prev):not(.PageNation_Next) {
	display: none;
	}

	.PageNation_Prev {
	margin-right: auto;
	}

	.PageNation_Prev a {
	padding: 1.25rem 1.5rem 1.25rem 2.5rem;
	}

	.PageNation_Next a {
	padding: 1.25rem 2.5rem 1.25rem 1.5rem;
	}

}

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

	.PageNation_Num {
	font-size: 1.2rem;
	}

	.PageNation_Prev a {
	padding: 1.25rem 1rem 1.25rem 2.25rem;
	}

	.PageNation_Next a {
	padding: 1.25rem 2.25rem 1.25rem 1rem;
	}

}

@media print, screen and (min-width: 768px) {

	.PageNation {
	display: flex;
	margin-top: var(--gap-int);
	}

	.PageNation_Num {
	margin-right: auto;
	padding: 1rem 0;
	}

	.PageNation_Menu {
	display: flex;
	}

	.PageNation_Menu li {
	margin-left: 0.5rem;
	}

	.PageNation_Menu a {
	padding: 1rem 1.5rem;
	}

	.PageNation_Prev a {
	padding: 1rem 1.5rem 1rem 2.5rem;
	}

	.PageNation_Next a {
	padding: 1rem 2.5rem 1rem 1.5rem;
	}

	.PageNation_Current a {
	color: #000;
	background-color: var(--color-sub5);
	}

	.PageNation_Abbr {
	display: block;
	padding: 0.75rem 0.2rem;
	}

}



/* ■ 検索窓 ==================================================================================== */

.SearchBox_Txt {
width: 80%;
padding: 0 1rem;
vertical-align: middle;
background: #fff;
box-shadow: inset 1px 1px 1px 0px #d5d5d5;
}

.SearchBox_Btn {
width: 20%;
padding: 0 1rem;
border: 1px solid #000;
border-radius: 0 var(--border-r1) var(--border-r1) 0;
letter-spacing: 0.2em;
vertical-align: middle;
color: #fff;
background: var(--color-main);
cursor: pointer;
}

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

	.SearchBox_Txt {
	height: 3em;
	border: 1px solid var(--color-sub4);
	border-radius: var(--border-r1) 0 0 var(--border-r1);
	}

	.SearchBox_Btn {
	height: 3em;
	box-sizing: border-box;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	}

}

@media print, screen and (min-width: 768px) {

	.SearchBox_Txt {
	height: 2.4em;
	border-top: 1px solid var(--color-sub4);
	border-right: none;
	border-bottom: 1px solid var(--color-sub4);
	border-left: 1px solid var(--color-sub4);
	border-radius: var(--border-r1) 0 0 var(--border-r1);
	line-height: 2.4;
	}

	.Win .SearchBox_Txt {
	line-height: 2.2;
	}

	.SearchBox_Btn {
	height: 2.4em;
	line-height: 2.2;
	}

}



/* ■ ステップナビ ==================================================================================== */

.StepNav {
display: flex;
overflow: hidden;
}

.StepNav_Item {
display: flex;
align-items: center;
justify-content: center;
position: relative;
width: calc(100% / 3);
font-weight: 500;
color: var(--c-1);
background-color: #f1f1f1;
}

.StepNav_Item:first-child {
border-radius: var(--r-2) 0 0 var(--r-2);
}

.StepNav_Item:last-child {
border-radius: 0 var(--r-2) var(--r-2) 0;
}

.StepNav_Item:not(:last-child)::before,
.StepNav_Item:not(:last-child)::after {
position: absolute;
left: 99%;
top: 50%;
z-index: 2;
content: '';
}

/* Current */
.StepNav_Item.is_Current {
z-index: 1;
color: #fff;
background-color: var(--c-1);
}

.StepNav_Item.is_Current:not(:last-child)::after {
border-left-color: var(--c-1);
}

.StepNav_Item.is_Current:not(:last-child)::before {
border-left: none;
}

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

	.StepNav {
	max-width: 30rem;
	margin: 2rem auto 0;
	}
	
	.StepNav_Item {
	height: 3rem;
	padding-left: 1rem;
	font-size: 1.2rem;
	}
	
	.StepNav_Item:not(:last-child)::before,
	.StepNav_Item:not(:last-child)::after {
	margin-top: -2rem;
	border: 20px solid transparent;
	border-left: 8px solid #f1f1f1;
	content: '';
	}

	.StepNav_Item:not(:last-child)::before {
	margin-left: 0.2rem;
	border-left-color: #fff;
	}

}

@media print, screen and (min-width: 768px) {

	.StepNav {
	max-width: 60rem;
	margin: 3rem auto 0;
	}
	
	.StepNav_Item {
	height: 4rem;
	padding-left: 1rem;
	font-size: 1.5rem;
	}
	
	.StepNav_Item:not(:last-child)::before,
	.StepNav_Item:not(:last-child)::after {
	margin-top: -4rem;
	border: 40px solid transparent;
	border-left: 16px solid #f1f1f1;
	}

	.StepNav_Item:not(:last-child)::before {
	margin-left: 0.3rem;
	border-left-color: #fff;
	}

}



/* ■ フォーム ==================================================================================== */

/*
リセット・変数
レイアウト設定
必須アイコン
注釈等
フリー入力欄（type="text" textarea等）
セレクトボックス
ラジオボタン・チェックボックス
アクションボタン

エラーメッセージ
エラーチップ
エラー処理

完了画面
*/


/* リセット・変数 --------------------------------------------------- */

.FormUnit input,
.FormUnit textarea,
.FormUnit select {
-webkit-appearance: none;
appearance: none;
}

.FormUnit {
--color-border1: #bbb;
--color-bg1: #bbb;
--color-shadow1: #bbb;
--color-err1: #bbb;
--color-err2: #bbb;
--border-r: 0.2rem;
}

.FormList {
border-top: 1px solid #d7d7d7;
}

.FormList dl {
border-bottom: 1px solid #d7d7d7;
}

/* レイアウト設定 --------------------------------------------------- */

.Form_MdsSub {
font-weight: 700;
}

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

	.FormList {
	margin-top: 2.5rem;
	}

	.FormUnit dt {
	padding: 1.5rem 0 1rem;
	}

	.FormUnit dd {
	padding: 0 0 2rem;
	}

	.Form_MutiUnit:not(:first-of-type) {
	margin-top: 1.5rem;
	}

	.Form_MdsSub {
	margin-bottom: 0.5rem;
	}

	.Form_RadioCheckbox p:not(:first-of-type) {
	margin-top: 1.25rem;
	}

	.Form_PrivacyLink {
	margin-bottom: 1rem;
	}

}

@media print, screen and (min-width: 768px) {

	.FormList {
	margin-top: 3rem;
	}

	.FormUnit dt,
	.FormUnit dd {
	padding: 2.2rem 2rem;;
	}

	.FormUnit dt {
	width: 30%;
	}

	.Form_MutiUnit:not(:first-of-type) {
	margin-top: 1.5rem;
	}

	.Form_MdsSub {
	margin-bottom: 0.5rem;
	}

	.Form_RadioCheckbox p:not(:first-of-type) {
	margin-top: 0.5rem;
	}

	.Form_PrivacyLink {
	margin-bottom: 1rem;
	}

}


/* 必須アイコン --------------------------------------------------- */

.Form_Required {
display: block;
position: relative;
}

.Form_Required::before {
position: absolute;
right: 0;
border-radius: var(--border-r);
letter-spacing: 0.15em;
text-align: center;
color: #fff;
background-color: var(--c-alert);
content: "必須";
}

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

	.Form_Required::before {
	top: 0.15rem;
	padding: 0.1rem 0.75rem;
	font-size: 1.2rem;
	}

}

@media print, screen and (min-width: 768px) {

	.Form_Required::before {
	top: 0.1rem;
	padding: 0.01rem 1rem 0.1rem;
	font-size: 1.3rem;
	}

}


/* 注釈等  --------------------------------------------------- */

.Form_NoteUpper {
margin-bottom: 0.5rem;
font-size: 1.3rem;
line-height: 1.5;
}

.Form_NoteMiddle {
margin-top: 1rem;
margin-bottom: 1rem;
font-size: 1.4rem;
line-height: 1.5;
}

.Form_NoteLower {
margin-top: 0.5rem;
font-size: 1.3rem;
color: #808080;
}

.Form_NoteSide {
margin-left: 1rem;
font-size: 1.3rem;
color: #808080;
}

/* 単位 */
.Form_NoteUnit {
margin-left: 0.75rem;
vertical-align: middle;
}

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

}

@media print, screen and (min-width: 768px) {

}


/* フリー入力欄（type="text" textarea等）  --------------------------------------------------- */

.FormUnit input[type=text],
.FormUnit input[type=email],
.FormUnit input[type=tel],
.FormUnit input[type=password],
.FormUnit textarea {
border: 1px solid #bbb;
border-radius: var(--border-r);
vertical-align: middle;
background-color: #fff;
box-shadow: inset 1px 1px 1px 0px #d5d5d5;
transition: all 0.1s ease 0.1s;
}

.FormUnit input[type=text]:focus,
.FormUnit input[type=text]:focus,
.FormUnit input[type=email]:focus,
.FormUnit input[type=tel]:focus,
.FormUnit input[type=password]:focus,
.FormUnit textarea:focus {
background-color: #f7f7f7;
}

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

	.FormUnit input[type=text],
	.FormUnit input[type=email],
	.FormUnit input[type=tel],
	.FormUnit input[type=password] {
	padding: 0 1rem;
	line-height: 2.5;
	}

	.FormUnit textarea {
	width: 100%;
	height: 10em;
	padding: 1.5rem 1.5rem;
	line-height: 1.5;
	}

}

@media print, screen and (min-width: 768px) {

	.FormUnit input[type=text],
	.FormUnit input[type=email],
	.FormUnit input[type=tel],
	.FormUnit input[type=password] {
	padding: 0 1rem;
	line-height: 2.5;
	}

	.FormUnit textarea {
	width: 80%;
	height: 15em;
	padding: 1.5rem 1.5rem;
	line-height: 1.5;
	}

}


/* セレクトボックス --------------------------------------------------- */

.FormUnit select {
border: 1px solid #b1b1b1;
border-radius: var(--border-r);
color: #000;
background: url(/assets/img/common/icon/Allow_DoglegBelow.svg) no-repeat;
background-size: 1.5rem auto;
}

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

	.FormUnit select {
	line-height: 2.5;
	padding-left: 1rem;
	padding-right: 5rem;
	background-position: 94% 50%;
	}

}

@media print, screen and (min-width: 768px) {

	.FormUnit select {
	line-height: 2.5;
	padding-left: 1rem;
	padding-right: 4rem;
	background-position: 95% 50%;
	}

}

/* Firefox用調整 */
@-moz-document url-prefix() {
	.FormUnit select {
	padding-left: 0.6rem;
	}
}


/* ラジオボタン・チェックボックス --------------------------------------------------- */

/* 既成のラジオボタンとチェックボックスは非表示にして、labelの疑似要素で見た目を表現 */

.FormUnit input[type=radio],
.FormUnit input[type=checkbox] {
display: none;
}

.FormUnit input[type=radio] + label,
.FormUnit input[type=checkbox] + label {
display: inline-block;
position: relative;
cursor: pointer;
}

.FormUnit input[type=radio] + label::before,
.FormUnit input[type=checkbox] + label::before {
display: block;
position: absolute;
left: 0;
border: 1px solid #bbb;
background-color: #fff;
box-shadow: inset 1px 1px 1px 0px #d5d5d5;
content: "";
}

.FormUnit input[type=radio] + label::before {
border-radius: 100vh;
}

.FormUnit input[type=checkbox] + label::before {
border-radius: var(--border-r);
}

/* 選択時の背景色 */
.FormUnit input[type=radio]:checked + label::before,
.FormUnit input[type=checkbox]:checked + label::before {
border: none;
background-color: #777;
box-shadow: none;
}

.FormUnit input[type=radio]:checked + label::after,
.FormUnit input[type=checkbox]:checked + label::after {
display: block;
position: absolute;
content: "";
}

/* ラジオボタン選択時のドット */
.FormUnit input[type=radio]:checked + label::after {
border-radius: 100vh;
background-color: #fff;
}

/* チェックボックス選択時のチェックマーク */
.FormUnit input[type=checkbox]:checked + label::after {
border-left: 3px solid #fff;
border-bottom: 3px solid #fff;
transform: rotate(-45deg);
}

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

	.FormUnit input[type=radio] + label,
	.FormUnit input[type=checkbox] + label {
	padding-left: 3.2rem;
	}

	.FormUnit input[type=radio] + label::before,
	.FormUnit input[type=checkbox] + label::before {
	top: 0;
	width: 2.4rem;
	height: 2.4rem;
	}

	/* ラジオボタン選択時のドットのサイズ・位置 */
	.FormUnit input[type=radio]:checked + label::after {
	left: 0.6rem;
	top: 0.6rem;
	width: 1.2rem;
	height: 1.2rem;
	}

	/* チェックボックス選択時のチェックマークのサイズ・位置 */
	.FormUnit input[type=checkbox]:checked + label::after {
	left: 0.6rem;
	top: 0.6rem;
	width: 1.4rem;
	height: 0.8rem;
	}

}

@media print, screen and (min-width: 768px) {

	.FormUnit input[type=radio] + label,
	.FormUnit input[type=checkbox] + label {
	padding-left: 2.75rem;
	}

	.FormUnit input[type=radio] + label::before,
	.FormUnit input[type=checkbox] + label::before {
	top: 1.1rem;
	width: 2rem;
	height: 2rem;
	margin-top: -0.9rem;
	}

	/* ラジオボタン選択時のドットのサイズ・位置 */
	.FormUnit input[type=radio]:checked + label::after {
	left: 0.5rem;
	top: 1.2rem;
	width: 1rem;
	height: 1rem;
	margin-top: -0.5rem;
	}

	/* チェックボックス選択時のチェックマークのサイズ・位置 */
	.FormUnit input[type=checkbox]:checked + label::after {
	left: 0.5rem;
	top: 1.2rem;
	width: 1.2rem;
	height: 0.7rem;
	margin-top: -0.6rem;
	}

}


/* アクションボタン  --------------------------------------------------- */

.Form_Action {
display: flex;
justify-content: center;
}

.Form_Action input {
line-height: 1;
cursor: pointer;
}

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

	.Form_Action {
	flex-flow: column;
	margin-top: 3rem;
	}

	.Form_Action button:nth-of-type(2) {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	font-size: 1.6rem;
	}

}

@media print, screen and (min-width: 768px) {

	.Form_Action {
	gap: 2rem;
	margin-top: 6rem;
	}

	.Form_Action button:nth-of-type(1) {
	order: 2;
	padding-left: 10rem;
	padding-right: 10rem;
	}

	.Form_Action button:nth-of-type(2) {
	order: 1;
	}

}

@media (hover: hover) {

	.Form_Action button {
	transition: 0.3s ease 0.01s;
	}

	.Form_Action button:hover {
	opacity: 0.8;
	}

}


/* エラーメッセージ  --------------------------------------------------- */

.Form_ErrMsg {
border: 2px solid var(--c-alert);
color: var(--c-alert);
background-color: #fff;
}

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

	.Form_ErrMsg {
	margin-top: 2rem;
	padding: 2rem;
	}

	.Form_ErrMsg_Mds {
	font-size: 1.8rem;
	}

	.Form_ErrMsg_Lead {
	margin-top: 1rem;
	font-size: 1.4rem;
	line-height: 1.6;
	}

}

@media print, screen and (min-width: 768px) {

	.Form_ErrMsg {
	margin-top: 3rem;
	padding: 3rem;
	}

	.Form_ErrMsg_Mds {
	font-size: 2.4rem;
	}

	.Form_ErrMsg_Lead {
	margin-top: 1rem;
	font-size: 1.6rem;
	line-height: 2;
	}

}


/* エラーチップ  --------------------------------------------------- */

.Form_ErrTip  {
display: inline-block;
position: relative;
border-radius: var(--r-1);
font-feature-settings: "palt";
color: #fff;
background-color: var(--c-alert);
}

.Form_ErrTip::after {
position: absolute;
left: 2rem;
bottom: -1.7rem;
width: 0;
height: 0;
border: 10px solid transparent;
border-top: 10px solid var(--c-alert);
content: "";
}

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

	.Form_ErrTip  {
	margin-bottom: 1.5rem;
	padding: 0.5rem 1rem 0.6rem 1rem;
	font-size: 1.4rem;
	line-height: 1.5;
	}

}

@media print, screen and (min-width: 768px) {

	.Form_ErrTip  {
	margin-bottom: 1.5rem;
	padding: 0.5rem 1rem;
	font-size: 1.4rem;
	line-height: 1.6;
	}

}


/* エラー処理  --------------------------------------------------- */

dt.Form_Err {
color: var(--c-alert);
}

/* 完了画面 --------------------------------------------------- */

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

	.Form_Notice {
	margin-top: 2rem;
	}

	.Form_Notice_Mds {
	font-size: 1.8rem;
	line-height: 1.5;
	}

	.Form_Notice .Lead {
	margin-top: 1.5rem;
	font-size: 1.4rem;
	}

}

@media print, screen and (min-width: 768px) {

	.Form_Notice {
	margin-top: 4rem;
	}

	.Form_Notice_Mds {
	font-size: 2.5rem;
	line-height: 1.5;
	}

	.Form_Notice .Lead {
	margin-top: 1.5rem;
	}

}



/* ■ 個別調整 ==================================================================================== */

/*
汎用
左・右・中央 寄せ
マージントップ
マージンボトム
横幅「%」指定
フォントサイズ
非推奨
*/


/* 汎用 --------------------------------------------------- */

/* ボーダー無し */
.NoBorder {
border: none !important;
}

/* パディング無し */
.NoPadding {
padding: 0 !important;
}

/* 横幅「Inherit」 */
.WidthInherit {
width: inherit !important;
}

/* opacity:1 */
.Opacity1 {
opacity: 1 !important;
}

/* 太字にしない */
.FontWN {
font-weight: normal !important;
}

/* 文字詰め「palt」 */
.TxtPalt {
font-feature-settings: "palt" !important;
}

/* 箱組「TxtJustify」 */
.TxtJustify {
text-align: justify !important;
}

/* 非アクティブ */
.Disabled {
opacity: 0.3;
pointer-events: none;
}

.Disabled:hover {
opacity: 0.3;
}

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

	.PC {
	display: none !important;
	}

}

@media print, screen and (min-width: 768px) {

	.SP {
	display: none !important;
	}

}


/* 左・右・中央 寄せ --------------------------------------------------- */

.AlignL {
text-align: left !important;
}

.AlignC {
text-align: center !important;
}

.AlignR {
text-align: right !important;
}

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

	.AlignL_SP {
	text-align: left !important;
	}

	.AlignC_SP {
	text-align: center !important;
	}

	.AlignR_SP {
	text-align: right !important;
	}

}

@media print, screen and (min-width: 768px) {

	.AlignL_PC {
	text-align: left !important;
	}

	.AlignC_PC {
	text-align: center !important;
	}

	.AlignR_PC {
	text-align: right !important;
	}

}


/* マージントップ --------------------------------------------------- */

.MT0 {
margin-top: 0 !important;
}

.MT5 {
margin-top: 0.5rem !important;
}

.MT10 {
margin-top: 1rem !important;
}

.MT15 {
margin-top: 1.5rem !important;
}

.MT20 {
margin-top: 2rem !important;
}

.MT25 {
margin-top: 2.5rem !important;
}

.MT30 {
margin-top: 3rem !important;
}

.MT35 {
margin-top: 3.5rem !important;
}

.MT40 {
margin-top: 4rem !important;
}

.MT45 {
margin-top: 4.5rem !important;
}

.MT50 {
margin-top: 5rem !important;
}

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

	.MT0_SP {
	margin-top: 0 !important;
	}

	.MT5_SP {
	margin-top: 0.5rem !important;
	}

	.MT10_SP {
	margin-top: 1rem !important;
	}

	.MT15_SP {
	margin-top: 1.5rem !important;
	}

	.MT20_SP {
	margin-top: 2rem !important;
	}

	.MT25_SP {
	margin-top: 2.5rem !important;
	}

	.MT30_SP {
	margin-top: 3rem !important;
	}

	.MT35_SP {
	margin-top: 3.5rem !important;
	}

	.MT40_SP {
	margin-top: 4rem !important;
	}

	.MT45_SP {
	margin-top: 4.5rem !important;
	}

	.MT50_SP {
	margin-top: 5rem !important;
	}

}

@media print, screen and (min-width: 768px) {

	.MT0_PC {
	margin-top: 0rem !important;
	}

	.MT5_PC {
	margin-top: 0.5rem !important;
	}

	.MT10_PC {
	margin-top: 1rem !important;
	}

	.MT15_PC {
	margin-top: 1.5rem !important;
	}

	.MT20_PC {
	margin-top: 2rem !important;
	}

	.MT25_PC {
	margin-top: 2.5rem !important;
	}

	.MT30_PC {
	margin-top: 3rem !important;
	}

	.MT35_PC {
	margin-top: 3.5rem !important;
	}

	.MT40_PC {
	margin-top: 4rem !important;
	}

	.MT45_PC {
	margin-top: 4.5rem !important;
	}

	.MT50_PC {
	margin-top: 5rem !important;
	}

}


/* マージンボトム --------------------------------------------------- */

.MB0 {
margin-bottom: 0 !important;
}

.MB5 {
margin-bottom: 0.5rem !important;
}

.MB10 {
margin-bottom: 1rem !important;
}

.MB15 {
margin-bottom: 1.5rem !important;
}

.MB20 {
margin-bottom: 2rem !important;
}

.MB25 {
margin-bottom: 2.5rem !important;
}

.MB30 {
margin-bottom: 3rem !important;
}

.MB35 {
margin-bottom: 3.5rem !important;
}

.MB40 {
margin-bottom: 4rem !important;
}

.MB45 {
margin-bottom: 4.5rem !important;
}

.MB50 {
margin-bottom: 5rem !important;
}

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

	.MB0_SP {
	margin-bottom: 0 !important;
	}

	.MB5_SP {
	margin-bottom: 0.5rem !important;
	}

	.MB10_SP {
	margin-bottom: 1rem !important;
	}

	.MB15_SP {
	margin-bottom: 1.5rem !important;
	}

	.MB20_SP {
	margin-bottom: 2rem !important;
	}

	.MB25_SP {
	margin-bottom: 2.5rem !important;
	}

	.MB30_SP {
	margin-bottom: 3rem !important;
	}

	.MB35_SP {
	margin-bottom: 3.5rem !important;
	}

	.MB40_SP {
	margin-bottom: 4rem !important;
	}

	.MB45_SP {
	margin-bottom: 4.5rem !important;
	}

	.MB50_SP {
	margin-bottom: 5rem !important;
	}

}

@media print, screen and (min-width: 768px) {

	.MB0_PC {
	margin-bottom: 0rem !important;
	}

	.MB5_PC {
	margin-bottom: 0.5rem !important;
	}

	.MB10_PC {
	margin-bottom: 1rem !important;
	}

	.MB15_PC {
	margin-bottom: 1.5rem !important;
	}

	.MB20_PC {
	margin-bottom: 2rem !important;
	}

	.MB25_PC {
	margin-bottom: 2.5rem !important;
	}

	.MB30_PC {
	margin-bottom: 3rem !important;
	}

	.MB35_PC {
	margin-bottom: 3.5rem !important;
	}

	.MB40_PC {
	margin-bottom: 4rem !important;
	}

	.MB45_PC {
	margin-bottom: 4.5rem !important;
	}

	.MB50_PC {
	margin-bottom: 5rem !important;
	}

}


/* 横幅「%」指定 --------------------------------------------------- */

.W5 {
width: 5% !important;
}

.W10 {
width: 10% !important;
}

.W15 {
width: 15% !important;
}

.W20 {
width: 20% !important;
}

.W25 {
width: 25% !important;
}

.W30 {
width: 30% !important;
}

.W35 {
width: 35% !important;
}

.W40 {
width: 40% !important;
}

.W45 {
width: 45% !important;
}

.W50 {
width: 50% !important;
}

.W55 {
width: 55% !important;
}

.W60 {
width: 60% !important;
}

.W65 {
width: 65% !important;
}

.W70 {
width: 70% !important;
}

.W75 {
width: 75% !important;
}

.W80 {
width: 80% !important;
}

.W85 {
width: 85% !important;
}

.W90 {
width: 90% !important;
}

.W95 {
width: 95% !important;
}

.W100 {
width: 100% !important;
}

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

	.W5_SP {
	width: 5% !important;
	}

	.W10_SP {
	width: 10% !important;
	}

	.W15_SP {
	width: 15% !important;
	}

	.W20_SP {
	width: 20% !important;
	}

	.W25_SP {
	width: 25% !important;
	}

	.W30_SP {
	width: 30% !important;
	}

	.W35_SP {
	width: 35% !important;
	}

	.W40_SP {
	width: 40% !important;
	}

	.W45_SP {
	width: 45% !important;
	}

	.W50_SP {
	width: 50% !important;
	}

	.W55_SP {
	width: 55% !important;
	}

	.W60_SP {
	width: 60% !important;
	}

	.W65_SP {
	width: 65% !important;
	}

	.W70_SP {
	width: 70% !important;
	}

	.W75_SP {
	width: 75% !important;
	}

	.W80_SP {
	width: 80% !important;
	}

	.W85_SP {
	width: 85% !important;
	}

	.W90_SP {
	width: 90% !important;
	}

	.W95_SP {
	width: 95% !important;
	}

	.W100_SP {
	width: 100% !important;
	}

}

@media print, screen and (min-width: 768px) {

	.W5_PC {
	width: 5% !important;
	}

	.W10_PC {
	width: 10% !important;
	}

	.W15_PC {
	width: 15% !important;
	}

	.W20_PC {
	width: 20% !important;
	}

	.W25_PC {
	width: 25% !important;
	}

	.W30_PC {
	width: 30% !important;
	}

	.W35_PC {
	width: 35% !important;
	}

	.W40_PC {
	width: 40% !important;
	}

	.W45_PC {
	width: 45% !important;
	}

	.W50_PC {
	width: 50% !important;
	}

	.W55_PC {
	width: 55% !important;
	}

	.W60_PC {
	width: 60% !important;
	}

	.W65_PC {
	width: 65% !important;
	}

	.W70_PC {
	width: 70% !important;
	}

	.W75_PC {
	width: 75% !important;
	}

	.W80_PC {
	width: 80% !important;
	}

	.W85_PC {
	width: 85% !important;
	}

	.W90_PC {
	width: 90% !important;
	}

	.W95_PC {
	width: 95% !important;
	}

	.W100_PC {
	width: 100% !important;
	}

}


/* テキストサイズ（#Beta） --------------------------------------------------- */

.FontSizeSSS {
font-size: calc(var(--fontsize-int) * 0.7) !important;
}

.FontSizeSS {
font-size: calc(var(--fontsize-int) * 0.8) !important;
}

.FontSizeS {
font-size: calc(var(--fontsize-int) * 0.95) !important;
}

.FontSizeM {
font-size: var(--fontsize-int) !important;
}

.FontSizeL {
font-size: calc(var(--fontsize-int) * 1.25) !important;
}

.FontSizeLL {
font-size: calc(var(--fontsize-int) * 1.5) !important;
}

.FontSizeLLL {
font-size: calc(var(--fontsize-int) * 2) !important;
}

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

}

@media print, screen and (min-width: 768px) {

}


/* 非推奨 --------------------------------------------------- */

/* フロート */
.FloatL {
float: left;
margin: 3rem 3rem 1rem 0;
}

.FloatR {
float: right;
}

/* ClearFix */
.CF::after { display: block; clear: both; content: ""; }

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

	/* フロート */
	.FloatL {
	margin: 2rem 2rem 1rem 0;
	}

	.FloatR {
	margin: 2rem 0 1rem 2rem;
	}

}

@media print, screen and (min-width: 768px) {

	/* フロート */
	.FloatL {
	margin: 3.5rem 3rem 1rem 0;
	}

	.FloatR {
	margin: 3.5rem 0 1rem 3rem;
	}

}



/* ■ 印刷用設定 ==================================================================================== */

@media print {

	.Header_TagLine,
	.Header_Menu,
	.BreadCrumb,
	#GlobalNav,
	#LocalNav,
	#FooterNav,
	#Footer {
	display: none !important;
	}

}



/* ■ JSライブラリ ==================================================================================== */

/*
アコーディオンメニュー
Swiper
ScrollHint
*/


/* アコーディオンメニュー：初期設定 --------------------------------------------------- */

.AccoTarget {
display: none;
}


/* Swiper：初期設定 --------------------------------------------------- */

/**
 * Swiper 12.1.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 18, 2026
 */

:root{--swiper-theme-color:#007aff}:host{display:block;margin-left:auto;margin-right:auto;position:relative;z-index:1}.swiper{display:block;list-style:none;margin-left:auto;margin-right:auto;overflow:hidden;padding:0;position:relative;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{box-sizing:initial;display:flex;height:100%;position:relative;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);width:100%;z-index:1}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{display:block;flex-shrink:0;height:100%;position:relative;transition-property:transform;width:100%}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-cube-shadow,.swiper-slide{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:var(--swiper-centered-offset-after);min-width:1px;width:100%}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-bottom,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(0deg,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,#00000080,#0000)}}.swiper-lazy-preloader{border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top:4px solid #0000;box-sizing:border-box;height:42px;left:50%;margin-left:-21px;margin-top:-21px;position:absolute;top:50%;transform-origin:50%;width:42px;z-index:10}.swiper-watch-progress .swiper-slide-visible,.swiper:not(.swiper-watch-progress){.swiper-lazy-preloader{animation:swiper-preloader-spin 1s linear infinite}}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode{.swiper-wrapper:after{content:"";left:0;pointer-events:none;position:absolute;top:0}}.swiper-virtual.swiper-css-mode.swiper-horizontal{.swiper-wrapper:after{height:1px;width:var(--swiper-virtual-size)}}.swiper-virtual.swiper-css-mode.swiper-vertical{.swiper-wrapper:after{height:var(--swiper-virtual-size);width:1px}}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{align-items:center;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:var(--swiper-navigation-size);z-index:10;&.swiper-button-disabled{cursor:auto;opacity:.35;pointer-events:none}&.swiper-button-hidden{cursor:auto;opacity:0;pointer-events:none}.swiper-navigation-disabled &{display:none!important}svg{height:100%;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto;.swiper-navigation-icon{transform:rotate(180deg)}}.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}.swiper-horizontal{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{margin-left:0;margin-top:calc(0px - var(--swiper-navigation-size)/2);top:var(--swiper-navigation-top-offset,50%)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{left:var(--swiper-navigation-sides-offset,4px);right:auto}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev,&~.swiper-button-next,.swiper-button-next{left:auto;right:var(--swiper-navigation-sides-offset,4px)}&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next,&~.swiper-button-prev,.swiper-button-prev{.swiper-navigation-icon{transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{.swiper-navigation-icon{transform:rotate(0deg)}}}.swiper-vertical{.swiper-button-next,.swiper-button-prev,~.swiper-button-next,~.swiper-button-prev{left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}.swiper-button-prev,~.swiper-button-prev{bottom:auto;top:var(--swiper-navigation-sides-offset,4px);.swiper-navigation-icon{transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset,4px);top:auto;.swiper-navigation-icon{transform:rotate(90deg)}}}.swiper-pagination{position:absolute;text-align:center;transform:translateZ(0);transition:opacity .3s;z-index:10;&.swiper-pagination-hidden{opacity:0}&.swiper-pagination-disabled,.swiper-pagination-disabled>&{display:none!important}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);left:0;top:var(--swiper-pagination-top,auto);width:100%}.swiper-pagination-bullets-dynamic{font-size:0;overflow:hidden;.swiper-pagination-bullet{position:relative;transform:scale(.33)}.swiper-pagination-bullet-active,.swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullet-active-next-next{transform:scale(.33)}}.swiper-pagination-bullet{background:var(--swiper-pagination-bullet-inactive-color,#000);border-radius:var(--swiper-pagination-bullet-border-radius,50%);display:inline-block;height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));opacity:var(--swiper-pagination-bullet-inactive-opacity,.2);width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));button&{appearance:none;border:none;box-shadow:none;margin:0;padding:0}.swiper-pagination-clickable &{cursor:pointer}&:only-child{display:none!important}}.swiper-pagination-bullet-active{background:var(--swiper-pagination-color,var(--swiper-theme-color));opacity:var(--swiper-pagination-bullet-opacity,1)}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{left:var(--swiper-pagination-left,auto);right:var(--swiper-pagination-right,8px);top:50%;transform:translate3d(0,-50%,0);.swiper-pagination-bullet{display:block;margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0}&.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px;.swiper-pagination-bullet{display:inline-block;transition:transform .2s,top .2s}}}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-horizontal.swiper-pagination-bullets{.swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}&.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap;.swiper-pagination-bullet{transition:transform .2s,left .2s}}}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:transform .2s,right .2s}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,#00000040);position:absolute;.swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));height:100%;left:0;position:absolute;top:0;transform:scale(0);transform-origin:left top;width:100%}.swiper-rtl & .swiper-pagination-progressbar-fill{transform-origin:right top}&.swiper-pagination-horizontal,&.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-horizontal>&,.swiper-vertical>&.swiper-pagination-progressbar-opposite{height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0;width:100%}&.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,&.swiper-pagination-vertical,.swiper-horizontal>&.swiper-pagination-progressbar-opposite,.swiper-vertical>&{height:100%;left:0;top:0;width:var(--swiper-pagination-progressbar-size,4px)}}.swiper-pagination-lock{display:none}.swiper-scrollbar{background:var(--swiper-scrollbar-bg-color,#0000001a);border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;touch-action:none;&.swiper-scrollbar-disabled,.swiper-scrollbar-disabled>&{display:none!important}&.swiper-scrollbar-horizontal,.swiper-horizontal>&{bottom:var(--swiper-scrollbar-bottom,4px);height:var(--swiper-scrollbar-size,4px);left:var(--swiper-scrollbar-sides-offset,1%);position:absolute;top:var(--swiper-scrollbar-top,auto);width:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);z-index:50}&.swiper-scrollbar-vertical,.swiper-vertical>&{height:calc(100% - var(--swiper-scrollbar-sides-offset, 1%)*2);left:var(--swiper-scrollbar-left,auto);position:absolute;right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);width:var(--swiper-scrollbar-size,4px);z-index:50}}.swiper-scrollbar-drag{background:var(--swiper-scrollbar-drag-bg-color,#00000080);border-radius:var(--swiper-scrollbar-border-radius,10px);height:100%;left:0;position:relative;top:0;width:100%}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{align-items:center;display:flex;height:100%;justify-content:center;text-align:center;width:100%;>canvas,>img,>svg{max-height:100%;max-width:100%;object-fit:contain}}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification{left:0;opacity:0;pointer-events:none;position:absolute;top:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{margin:0 auto;transition-timing-function:ease-out}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-direction:column;flex-wrap:wrap}.swiper-fade{&.swiper-free-mode{.swiper-slide{transition-timing-function:ease-out}}.swiper-slide{pointer-events:none;transition-property:opacity;.swiper-slide{pointer-events:none}}.swiper-slide-active{pointer-events:auto;& .swiper-slide-active{pointer-events:auto}}}.swiper.swiper-cube{overflow:visible}.swiper-cube{.swiper-slide{backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1;.swiper-slide{pointer-events:none}}&.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}.swiper-slide-active,.swiper-slide-next,.swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube-shadow{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0;&:before{background:#000;bottom:0;content:"";filter:blur(50px);left:0;position:absolute;right:0;top:0}}}.swiper-cube{.swiper-slide-next+.swiper-slide{pointer-events:auto;visibility:visible}}.swiper-cube{.swiper-slide-shadow-cube.swiper-slide-shadow-bottom,.swiper-slide-shadow-cube.swiper-slide-shadow-left,.swiper-slide-shadow-cube.swiper-slide-shadow-right,.swiper-slide-shadow-cube.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper.swiper-flip{overflow:visible}.swiper-flip{.swiper-slide{backface-visibility:hidden;pointer-events:none;z-index:1;.swiper-slide{pointer-events:none}}.swiper-slide-active{&,& .swiper-slide-active{pointer-events:auto}}}.swiper-flip{.swiper-slide-shadow-flip.swiper-slide-shadow-bottom,.swiper-slide-shadow-flip.swiper-slide-shadow-left,.swiper-slide-shadow-flip.swiper-slide-shadow-right,.swiper-slide-shadow-flip.swiper-slide-shadow-top{backface-visibility:hidden;z-index:0}}.swiper-creative{.swiper-slide{backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}}.swiper.swiper-cards{overflow:visible}.swiper-cards{.swiper-slide{backface-visibility:hidden;overflow:hidden;transform-origin:center bottom}}


/* ScrollHint --------------------------------------------------- */

@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}

.scroll-hint-icon {
  position: absolute;
  top: calc(20%);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: auto;
  border-radius: 0;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, .7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, .4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #000;
}



.scroll-hint-shadow-wrap {
  position: relative;
}

.scroll-hint-shadow-wrap::after {
  content: "";
  width: 20px;
  height: 100%;
  background: linear-gradient(270deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}

.scroll-hint-shadow-wrap::before {
  content: "";
  width: 20px;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, .15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}

.scroll-hint-shadow-wrap:has(.scroll-hint.is-right-scrollable)::after,
.scroll-hint-shadow-wrap.is-right-scrollable::after
 {
  opacity: 1;
  visibility: visible;
}

.scroll-hint-shadow-wrap:has(.scroll-hint.is-left-scrollable)::before,
.scroll-hint-shadow-wrap.is-left-scrollable::before
 {
  opacity: 1;
  visibility: visible;
}