@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; max-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.1em;
font-weight: 400;
font-family: "Helvetica Neue",Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",Sans-Serif;
font-feature-settings: "palt";
}

input, select, textarea {
letter-spacing: 0.1em;
font-weight: 400;
font-family: "Helvetica Neue",Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo",Sans-Serif;
font-feature-settings: "palt";
}

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: #1EAC4B;
--c-2: #FC6D08;
--c-3: #3c3c3c; /* 本文 */
--c-4: #FFFFE5;
--c-5: #e3e3e3;
--c-6: #c4c4c4;
--c-7: #feeee2; /* hover */
--c-link: #517db4;
--c-alert: #cc0000;
}


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

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


/* font-size --------------------------------------------------- */

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

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

}

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

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

}


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

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


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

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;
	}

	.Contents {
	max-width: 90rem;
	margin: 0 auto;
	padding: 4.8rem 4rem 6rem;
	}

}



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

.Header {
border-bottom: 1px solid var(--c-1);
background-color: #fff;
}

.Header_ a {
display: block;
}

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

	.Header {
	display: flex;
	align-items: center;
	height: 5rem;
	padding: 0.4rem 2rem 0;
	}

	.Header_Logo img {
	width: 18rem;
	}

}

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

	 .Header {
	 padding: 19px 3rem;
	}

}

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

	 .Header {
	 padding-left: calc(50vw - 60rem);
	 padding-right: calc(50vw - 60rem);
	}

}

@media (hover: hover) {

	.Header_Logo a:hover {
	opacity: 1;
	}

}



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

.Footer {
text-align: center;
color: #fff;
background-color: var(--c-1);
}

.Footer a {
color: #fff;
}

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

	.Footer {
	padding: 1.6rem 1.6rem;
	}

	.Footer_Copyright {
	font-size: 1rem;
	}

}

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

	.Footer {
	padding: 2rem 3rem;
	}

	.Footer_Copyright {
	font-size: 1.3rem;
	}

}



/* ■ ページタイトル ==================================================================================== */

.PageTitle {
text-align: center;
}

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

	.PageTitle {
	margin-top: 3.2rem;
	padding: 0 2rem;
	font-size: 2.6rem;
	line-height: 1.4;
	}

}

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

	.PageTitle {
	font-size: 3.6rem;
	}

}



/* ■ 導入リード ==================================================================================== */

.Intro_Lead_1 {
font-weight: 500;
}

.Intro_Lead_2 {
font-weight: 700;
color: var(--c-2);
}

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

	.Intro {
	margin-top: 2rem;
	padding: 0 3rem;
	}

	.Intro_Lead_1 {
	margin-top: 0.8rem;
	font-size: 1.4rem;
	line-height: 1.7;
	}

	.Intro_Lead_2 {
	margin-top: 0.8rem;
	font-size: 1.4rem;
	line-height: 1.7;
	}

}

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

	.Intro {
	margin-top: 3rem;
	text-align: center;
	}

	.Intro_Lead_1 {
	font-size: 1.6rem;
	line-height: 2;
	}

	.Intro_Lead_2 {
	margin-top: 1.2rem;
	font-size: 1.8rem;
	line-height: 1.8;
	}

}



/* ■ インセンティブ ==================================================================================== */

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

	.Incentive {
	margin-top: 2.4rem;
	padding: 0 2rem;
	}

}

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

	.Incentive {
	margin-top: 3rem;
	}

	.Incentive_Photo {
	padding: 0 13%;
	}

}



/* ■ 店舗選択 ==================================================================================== */


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

	.SelectShop {
	margin-top: 40px !important;
	}

}

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

	.SelectShop {
	margin-top: 60px !important;
	}

}



/* ■ 注釈 ==================================================================================== */

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

	.SelectDate_Notice {
	margin-top: 3rem;
	padding: 0 2rem;
	}

}

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

	.SelectDate_Notice {
	margin-top: 4rem;
	}

}



/* ■ 店舗一覧 ==================================================================================== */

.Shop {
border-radius: var(--r-1);
background-color: var(--c-4);
}

.Shop_Mds {
text-align: center;
}

.Shop_Mds_Tel {
display: flex;
align-items: center;
justify-content: center;
}

.Shop_Mds_Tel::before {
display: block;
background-color: var(--c-1);
mask-image: url(/assets_reservation/img/Icon_Tel.svg);
mask-repeat: no-repeat;
mask-size: contain;
content: "";
}

.Shop_List {
display: grid;
}

.Shop_List_Each {
border: 1px solid #ccc;
border-radius: var(--r-1);
text-align: center;
background-color: #fff;
}

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

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

.Shop_List_Tel {
font-weight: 500;
color: var(--c-3);
}

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

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

	.Shop {
	margin-top: 3rem;
	padding: 3rem 2rem;
	}

	.Shop_Mds {
	font-size: 2rem;
	}

	.Shop_Mds_Tel::before {
	width: 2.6rem;
	height: 3rem;
	margin-right: 0.4rem;
	transform: translateY(0.2rem);
	}

	.Shop_List {
	grid-template-columns: repeat(1, 1fr);
	gap: 1rem;
	margin-top: 3rem;
	}

	.Shop_List_Each {
	padding: 1.6rem;
	}

	.Shop_List_Mds {
	font-size: 1.8rem;
	}

	.Shop_List_Address {
	margin-top: 0.8rem;
	font-size: 1.2rem;
	line-height: 1.5;
	}

	.Shop_List_Tel {
	margin-top: 0.6rem;
	font-size: 2.2rem;
	}

	.Shop_List_Lead {
	margin-top: 0.6rem;
	font-size: 1.2rem;
	}

}

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

	.Shop {
	margin-top: 6rem;
	padding: 6rem;
	}

	.Shop_Mds {
	font-size: 2.4rem;
	}

	.Shop_Mds_Tel::before {
	width: 3rem;
	height: 3.5rem;
	margin-right: 0.4rem;
	transform: translateY(0.2rem);
	}

	.Shop_List {
	grid-template-columns: repeat(3, 1fr);
	gap: 2.5rem;
	margin-top: 4rem;
	}

	.Shop_List_Each {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 4;
	gap: 0;
	padding: 1.8rem 1.2rem 2rem;
	}

	.Shop_List_Mds {
	font-size: 2.2rem;
	}

	.Shop_List_Address {
	margin-top: 1rem;
	font-size: 1.2rem;
	line-height: 1.5;
	}

	.Shop_List_Tel {
	margin-top: 0.5rem;
	font-size: 2.4rem;
	}

	.Shop_List_Lead {
	margin-top: 0.8rem;
	font-size: 1.2rem;
	}

}

@media (hover: hover) {

	a.Shop_List_Each:hover {
	opacity: 1;
	}

}


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

.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(/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;
	}

}



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

/*
マーカーなし（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;
}



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

.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;
	}

}



/* ■ 認証マーク ==================================================================================== */

.Certification_Inner {
display: flex;
align-items: center;
border: 1px solid #e3e3e3;
}

.Certification_Lead {
flex: 1;
}

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

	.Certification {
	margin-top: 3rem;
	padding: 0 2rem;
	}

	.Certification_Inner {
	padding: 2.4rem 2.4rem;
	}

	.Certification_Photo {
	width: 7rem;
	}

	.Certification_Lead {
	padding-left: 3rem;
	font-size: 1.3rem;
	line-height: 1.8;
	}

}

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

	.Certification {
	margin-top: 4rem;
	}

	.Certification_Inner {
	padding: 3rem 3rem;
	}

	.Certification_Photo {
	width: 8rem;
	}

	.Certification_Lead {
	padding-left: 3rem;
	font-size: 1.5rem;
	line-height: 1.8;
	}

}



/* ■ ローディング ==================================================================================== */


.Loading {
display: none;
position: fixed;
left: 0;
top: 0;
z-index: 1000;
width: 100%;
height: 100vh;
background-color: rgba(255, 255, 255, 0.8);
}

.Loading_Inner {
position: absolute;
left: 50%;
top: 20%;
z-index: 1001;
transform: translate(-50%, -50%);
}

.Loading_Icon {
width: 60px;
aspect-ratio: 1;
border-radius: 50%;
border: 10px solid var(--c-5);
border-right-color: var(--c-1);
animation: Loading_Icon 1s infinite linear;
}

@keyframes Loading_Icon {
	to { transform: rotate(1turn) }
}

.Loading_Lead {
font-weight: 700;
color: var(--c-1);
}

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

	.Loading_Lead {
	margin-top: 1rem;
	font-size: 1.6rem;
	}

}

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

	.Loading_Lead {
	margin-top: 1rem;
	font-size: 1.8rem;
	}

}



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

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

アクションボタン

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

プライバシーポリシー

完了画面
*/


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

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

::placeholder {
color: #ccc;
}

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


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

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

.FormUnit_Mds {
font-weight: 700;
}

.FormList {
border-top: 1px solid var(--c-5);
}

.FormList dl {
display: flex;
line-height: 1.6;
}

.FormList dt,
.FormList dd {
padding: 0.75rem 1.5rem;
}

.FormList dt {
background-color: #f1f1f1;
}

.FormList dd {
flex: 1;
}

/* 変更ボタン */
.FormUnit_Reservation_Date {
display: flex;
}

.FormUnit_Reservation_Edit {
margin-left: auto;
}

.FormUnit_Reservation_Edit a {
display: inline-block;
border: 1px solid var(--c-1);
border-radius: 100vh;
font-weight: 500;
color: var(--c-1);
}

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

	.Form_Input,
	.Form_Confirm,
	.Form_Complete {
	padding-bottom: 3.2rem;
	}

	.FormUnit_Reservation {
	margin-top: 3.2rem;
	}

	.FormUnit_Customer {
	margin-top: 3rem;
	}

	.FormUnit_Mds_Wrap {
	padding: 0 1.6rem;
	}

	.FormUnit_Mds {
	font-size: 1.9rem;
	}

	.FormList {
	margin-top: 1.6rem;
	}

	.FormUnit dl {
	flex-flow: column;
	}

	.FormUnit dt {
	padding: 0.6rem 1.6rem;
	}

	.FormUnit dd {
	padding: 1.5rem 1.6rem;
	border-bottom: 1px solid var(--c-5);
	}

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

	/* 変更ボタン */
	.FormUnit_Reservation_Edit a {
	padding: 0.8rem 1.8rem;
	font-size: 1.3rem;
	}

}

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

	.FormUnit_Reservation {
	margin-top: 5rem;
	}

	.FormUnit_Customer {
	margin-top: 4rem;
	}

	.FormUnit_Mds {
	font-size: 2.4rem;
	}

	.FormList {
	margin-top: 1.6rem;
	}

	.FormList dl {
	border-left: 1px solid var(--c-5);
	}

	.FormUnit dt,
	.FormUnit dd {
	padding: 2rem;
	border-right: 1px solid var(--c-5);
	border-bottom: 1px solid var(--c-5);
	}

	.FormUnit dt {
	width: 30%;
	}

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

	/* 変更ボタン */
	.FormUnit_Reservation_Edit a {
	padding: 0.8rem 2rem;
	font-size: 1.4rem;
	}

}

@media (hover: hover) {

	/* 変更ボタン */
	.FormUnit_Reservation_Edit a:hover {
	color: #fff;
	background-color: var(--c-1);
	opacity: 1;
	}

}


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

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

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

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

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

}

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

	.Form_Required::before {
	top: 0.1rem;
	padding: 0.5rem 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: 2px solid var(--c-3);
border-radius: var(--r-1);
font-weight: 500;
color: var(--c-3);
background: url(/assets_reservation/img/Icon_Below.svg) no-repeat;
background-size: 1.5rem auto;
cursor: pointer;
}

@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: 1.6rem;
	padding-right: 6rem;
	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 {
cursor: pointer;
}

.Form_Action_Confirm {
display: inline-block;
border-radius: 100vh;
font-weight: 700;
color: #fff;
background-color: var(--c-1);
}

.Form_Action_Send {
display: inline-block;
border-radius: 100vh;
font-weight: 700;
color: #fff;
background-color: var(--c-2);
}

.Form_Action_Back {
display: inline-block;
border: 1px solid var(--c-5);
border-radius: 100vh;
font-weight: 700;
color: var(--c-3);
background-color: #fff;
}

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

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

	.Form_Action button:nth-of-type(2) {
	margin-top: 2rem;
	}

	.Form_Action_Confirm {
	padding: 1.6rem 3rem;
	font-size: 1.8rem;
	}

	.Form_Action_Send {
	padding: 1.6rem 3rem;
	font-size: 1.8rem;
	}

	.Form_Action_Back {
	padding: 1rem 3rem;
	font-size: 1.6rem;
	}

}

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

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

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

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

	.Form_Action_Confirm {
	padding: 2rem 8rem;
	font-size: 2rem;
	}

	.Form_Action_Send {
	padding: 2rem 8rem;
	font-size: 2rem;
	}

	.Form_Action_Back {
	padding: 1rem 6rem;
	font-size: 1.6rem;
	}

}

@media (hover: hover) {

	.Form_Action_Confirm,
	.Form_Action_Send {
	transition: 0.3s ease 0.01s;
	}

	.Form_Action_Confirm:hover,
	.Form_Action_Send:hover {
	opacity: 0.8;
	}

}


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

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

.Form_ErrMsg_Innter {
border: 1px solid var(--c-alert);
}

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

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

	.Form_ErrMsg_Innter {
	padding: 2.4rem 2.4rem 2rem;
	}

	.Form_ErrMsg_Mds {
	font-size: 2.2rem;
	}

	.Form_ErrMsg_Lead {
	margin-top: 1rem;
	font-size: 1.5rem;
	line-height: 1.8;
	}

}

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

	.Form_ErrMsg {
	margin-top: 6rem;
	}

	.Form_ErrMsg_Innter {
	padding: 3rem 3rem 2.5rem;
	}

	.Form_ErrMsg_Mds {
	font-size: 2.6rem;
	}

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

}


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

.Form_ErrTip  {
display: inline-block;
position: relative;
border-radius: var(--r-2);
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;
	}

}


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

dd.Form_Err input {
background-color: #ffecec !important;
}


/* プライバシーポリシー --------------------------------------------------- */

.Form_Privacy {
text-align: center;
}

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

	.Form_Privacy {
	margin-top: 3rem;
	padding: 0 2.4rem;
	font-size: 1.3rem;
	line-height: 1.6;
	}

}

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

	.Form_Privacy {
	margin-top: 4rem;
	font-size: 1.5rem;
	line-height: 1.6;
	}

}


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

.Form_CompleteMsg_Inner {
display: flex;
align-items: center;
border: 1px solid var(--c-1);
border-radius: var(--r-1);
}

.Form_CompleteMsg_Lead {
flex: 1;
}

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

a.Form_CompleteLink_Btn {
display: inline-block;
border-radius: 100vh;
font-weight: 700;
color: #fff;
background-color: var(--c-1);
}

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

	.Form_CompleteMsg {
	margin-top: 2rem;
	}

	.Form_CompleteLink {
	margin-top: 4rem;
	}

	.Form_CompleteLink_Btn {
	padding: 1.6rem 4rem;
	font-size: 1.8rem;
	}

	.Form_CompleteMsg {
	margin-top: 3rem;
	padding: 0 2rem;
	}

	.Form_CompleteMsg_Inner {
	flex-flow: column;
	padding: 3rem 3rem;
	}

	.Form_CompleteMsg_Photo {
	width: 14rem;
	}

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

	.Form_CompleteNotice {
	margin-top: 2rem;
	padding: 0 2rem;
	}

}

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

	.Form_CompleteMsg {
	margin-top: 6rem;
	}

	.Form_CompleteMsg_Inner {
	padding: 4rem 4rem;
	}

	.Form_CompleteMsg_Photo {
	width: 20rem;
	}

	.Form_CompleteMsg_Lead {
	padding-left: 3rem;
	font-size: 1.8rem;
	line-height: 2;
	}

	.Form_CompleteNotice {
	margin-top: 4rem;
	}

	.Form_CompleteLink {
	margin-top: 6rem;
	}

	.Form_CompleteLink_Btn {
	padding: 2rem 8rem;
	font-size: 2rem;
	}

}



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

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


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

/* ボーダー無し */
.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ライブラリ ==================================================================================== */


