@charset "UTF-8";

/*
■ リセット

■ テキスト・フォント設定
■ 変数設定
■ カラー設定
■ 横幅最大値・左右余白設定

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

■ 下層ページレイアウト
■ パン屑リスト
■ コンテンツ領域
■ ローカルナビ

■ 見出し
■ リード・画像

■ セクション
■ 関連情報

■ カラム

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

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

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

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

■ フォーム

■ 個別調整

■ 印刷用設定

■ JSライブラリ
*/



/* ■ リセット（#Beta） ==================================================================================== */

* { margin: 0; padding: 0; }
*,*:before,*:after,*::before,*::after { box-sizing: border-box; }
body { line-height: 1.0; -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; font-family: Shorai Sans StdN Medium; }
input, select, textarea, button { border-style: none; font-size: inherit; }
button { cursor: pointer; }

pre {
max-height: 300px;
margin-top: 1rem;
padding: 0 2rem;
border: 1px solid #ededed;
font-size: 1.4rem;
line-height: 1.6em;
background-color: #f8f8f8;
overflow: scroll;
}



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

body {
font-family: Shorai Sans StdN;
}

/* フォームにもフォントを指定する場合（#Beta） */
input, select, textarea {
font-family: Shorai Sans StdN;
}

/* 和文 Light */
.WF_JP_L {
font-family: Shorai Sans StdN Light;
}

/* 和文 Medium */
.WF_JP_M {
font-family: Shorai Sans StdN Medium;
}

/* 和文 Demi */
.WF_JP_D {
font-family: Shorai Sans StdN Demi;
}

/* 英文 Avenir Next Regular */
.WF_En_R {
font-family: AvenirNextLTPro-Regular;
}

/* 英文 Avenir Next Medium */
.WF_En_M {
font-family: AvenirNextLTPro-Medium;
}

/* 英文 Avenir Next Demi */
.WF_En_D {
font-family: AvenirNextLTPro-Demi;
}

h1,h2,h3,h4,h5,h6,th,dt,strong,em {
font-family: Shorai Sans StdN Medium;
font-weight: normal;
}

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

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

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

	body {
	font-size: 1.5rem;
	}

}

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

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

	body {
	font-size: 1.6rem;
	}

}

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

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

}



/* ■ 変数設定 ==================================================================================== */

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


/* フォントサイズ --------------------------------------------------- */

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

	:root {
	--fontsize-int: 1.5rem;
	}

}

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

	:root {
	--fontsize-int: 1.6rem;
	}

}


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

:root {
--color-main: #000;
--color-sub1: #555;
--color-sub2: #c1c1c1;
--color-sub3: #ff4e00;
--color-sub4: #27db2b;
--color-link: #c1c1c1;
--color-alert: #ff4e00;
}


/* gap（余白） --------------------------------------------------- */

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

	/* パーツ初期値 */
	:root {
	--gap-int: 1.5rem;
	}

}

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

	/* パーツ初期値 */
	:root {
	--gap-int: 2rem;
	}

}


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

:root {
--border-r1: 0.2rem;
--border-r2: 5rem;
--border-r3: 50%;
--border-r4: 1rem;
--border-r5: 0.5rem;
}



/* ■ カラー設定 ==================================================================================== */

/* 
bodyテキスト色・背景色
リンク色
アラート色
テキスト色
ボーダー色
背景色
*/


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

body {
color: #000;
background-color: #fff;
}


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

a:link {
color: var(--color-main);
text-decoration: none;
transition: color 0.2s ease 0.01s, background-color 0.2s ease 0.01s, opacity 0.2s ease 0.01s;
}

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

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


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

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

}


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

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

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

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


/* テキスト色 --------------------------------------------------- */

.TxtColorWhite {
color: #fff !important;
}

.TxtColor1 {
color: #555555 !important;
}

.TxtColor2 {
color: #C1C1C1 !important;
}


/* ボーダー色 --------------------------------------------------- */

.BorderColor {
border-color: #000 !important;
}


/* 背景色 --------------------------------------------------- */

.BgColor1 {
background-color: var(--color-sub1) !important;
}

.BgColor2 {
background-color: var(--color-sub2) !important;
}

.BgColor3 {
background-color: var(--color-sub5) !important;
}



/* ■ 横幅最大値・左右余白設定 ==================================================================================== */

body {
min-width: 320px;
}

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

	#Layout1,
	#Layout2,
	#Layout3,
	.Width1 {
	padding: 0 2.4rem;
	}
	
	.Width1_SP {
	padding: 0 2.4rem;
	}

}

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

	#GlobalNavUnit,
	#GlobalNavUnit2,
	#FooterNavUnit,
	#FooterUnit,
	#Layout1,
	#Layout2,
	.Width1 {
	max-width: 109rem;
	margin: 0 auto;
	padding: 0 2.5rem;
	}

	.Width1_PC {
	max-width: 109rem;
	margin: 0 auto;
	padding: 0 2.5rem;
	}

	.Width2_PC {
	max-width: 64rem;
	margin: 0 auto;
	}
	
	#HeaderUnit {
	max-width: 100%;	
	padding: 0 2.5rem;
	}

	#Layout3 {
	}

	.Width2 {
	}

	.Width3 {
	}

}

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

	#GlobalNavUnit,
	#GlobalNavUnit2,
	#FooterNavUnit,
	#FooterUnit,
	#Layout1,
	#Layout2,
	.Width1 {
	padding: 0 0;
	}

	.Width1_PC,
	.Width2_PC {
	padding: 0 0;
	}

}



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

.HeaderNews_Unit {
display: flex;
width: 100%;
background-color: var(--color-main);
}

.HeaderNews_In {
position: relative;
width: 100%;
height: 4.2rem;
background-color: var(--color-main);
line-height: 4rem;
overflow: hidden;
}

.HeaderNews_In ul {
position: relative;
list-style: none;
height: 100%;
padding: 0;
margin: 0;
}

.HeaderNews_Lead {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
padding-right: 0;
opacity: 0;
}

.HeaderNews_Lead a {
display: inline-block;
width: auto;
white-space: nowrap;
text-decoration: none;
transition: transform 5s linear;
}

.fadeInDown {
  opacity: 0;
}
.fadeInDown.run {
  animation: fadeInDown 0.8s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
.fadeOutDown {
  opacity: 1;
}
.fadeOutDown.run {
  animation: fadeOutDown 0.8s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(0.6rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-0.6rem);
  }
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

#HeaderNews a {
color: #fff;
}

.HeaderNews_ViewMore a {
font-family: AvenirNextLTPro-Regular;
}

#HeaderNews {
position: sticky;
top: 6.1rem;
z-index: 10000;
}

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

	.HeaderNews_In ul {
	margin-right: 2rem;
	}

	.HeaderNews_Lead a {
	font-size: 1.2rem;
	}

	.HeaderNews_Lead::before {
	width: 1.6rem;
	height: 1.2rem;
	margin-top: -0.2rem;
	}

	.HeaderNews_In {
	position: relative;
	width: 68%;
	height: 4.1rem;
	padding-left: 1rem;
	line-height: 3.9rem;
	}

	.HeaderNews_In:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: -1rem;
    right: auto;
	z-index: 2;
    width: 2rem;
    height: 100%;
    margin: 0 auto;
    text-align: center;
    background-image: -webkit-linear-gradient(left, transparent, #000 55%, transparent);
    background-image: linear-gradient(to right, #000 55%, transparent);
    background-position: center;
    background-repeat: no-repeat;
	}

	.HeaderNews_In:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: auto;
    right: 0;
	z-index: 2;
    width: 2rem;
    height: 100%;
    margin: 0 auto;
    text-align: center;
    background-image: -webkit-linear-gradient(left, transparent, #000 55%, transparent);
    background-image: linear-gradient(to left, #000 55%, transparent);
    background-position: center;
    background-repeat: no-repeat;
	}

	.HeaderNews_Date {
	margin-right: 1.2rem;
	}

	.HeaderNews_ViewMore {
	position: absolute;
	right: 1.3rem;
	top: 1.5rem;
	font-size: 1.2rem;
	}
	
	.HeaderCaution {
	position: relative;
	width: 3rem;
	background-image: url(/img/common/icon/Icon_Caution.svg);
	background-repeat: no-repeat;
	background-size: 1.5rem 1.2rem;
	background-position: 95% 50%;
	}

}

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

	.HeaderNews_In {
	width: 56%;
	}

}

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



	.HeaderNews_Unit {
	text-align: center;
	}

	.HeaderNews_Lead a {
	font-size: 1.4rem;
	}

	.HeaderNews_Lead::before {
	display: inline-block;
	width: 1.9rem;
	height: 1.5rem;
	margin-top: -0.3rem;
	margin-right: 1rem;
	vertical-align: middle;
	background-image: url(/img/common/icon/Icon_Caution.svg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: right center;
	content: '';
	}

	.HeaderNews_Date {
	margin-right: 1.2rem;
	}

	.HeaderNews_ViewMore {
	position: absolute;
	right: 2.5rem;
	top: 1.5rem;
	margin-left: 2rem;
	font-size: 1.4rem;
	}

	.HeaderNews_ViewMore a {
	display: block;
	font-size: 1.2rem;
	}

	.HeaderNews_In ul {
	width: 80%;
	margin: 0 auto;
	}

}

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

	#HeaderNews a:hover {
	opacity: 0.8;
	}

}



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

#Header {
position: sticky;
top: 0;
z-index: 10000;
border-bottom: 1px solid var(--color-main);
background-color: #fff;
}

#HeaderUnit {
display: grid;
align-items: center;
grid-template-columns: 1fr 3fr 1fr;
height: 6rem;
}

/* SNS */
.Header_SNS {
display: flex;
}

.Header_SNS li:last-child {
margin-right: 0;
}

/* ロゴ */
.Header_Logo {
margin-right: auto;
margin-left: auto;
}

/* MENU */
.Header_Menu {
text-align: right;
}

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

	#HeaderUnit {
	padding: 0 1.5rem;
	}

	/* SNS */
	.Header_SNS {
	visibility: hidden;
	}

	.Header_SNS li {
	margin-right: 1rem;
	}

	.Header_SNS li:nth-child(2n) {
	margin-right: 0;	
	}

	.Header_SNS li:last-child {
	display: none;
	}

	/* ロゴ */
	.Header_ServiceName {
	width: 10rem;
	}

}

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

	/* SNS */
	.Header_SNS li {
	margin-right: 1.25rem;
	}

	/* ロゴ */
	.Header_ServiceName {
	width: 11rem;
	}

}



/* ■ グローバルナビ（GlobalNav） ==================================================================================== */

#GlobalNav {
display: none;
position: fixed;
left: 0;
z-index: 10001;
width: 100%;
height: 100vh;
background-color: var(--color-main);
}

#GlobalNavUnit,
.GlobalNavUnit2In {
display: flex;
flex-flow: column;
align-items: center;
height: 100vh;
text-align: center;
}

#GlobalNavUnit2 {
display: none;
}

.GlobalNav_Main a,
.GlobalNav_Sub a {
display: inline-block;
color: #fff;
}

/* サブ */
.GlobalNav_Sub li {
margin-top: 1.5rem;
}

.GlobalNav_Sub a {
font-size: 1.6rem;
}

/* SNS */
.GlobalNav_SNS {
display: flex;
}

.GlobalNav_SNS li {
margin: 0 1.5rem;
}

/* 外国語 */
.GlobalNav_LanguageList a {
padding: 13px 30px;
}

.GlobalNav_LanguageList .Current {
color: var(--color-main);
background-color: #fff;
}

/* 閉じるボタン */
#GlobalNavClose {
position: fixed;
color: #fff;
}

.disp_none {
display: none !important;
}

/* fadeUp */

.fadeUp {
animation-name:fadeUpAnime;
animation-duration: 0.7s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px) scale(0.5);
  }

  to {
   opacity: 1;
  transform: translateY(0) scale(1);
  }
}

.fadeUp2 {
animation-name:fadeUpAnime2;
animation-duration: 1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime2{
  from {
    opacity: 0;
  transform: translateY(-50px);
  }

  to {
   opacity: 1;
  transform: translateY(0);
  }
}

.fadeUp3 {
animation-name:fadeUpAnime3;
animation-duration: 1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime3{
  from {
    opacity: 0;
  transform: translateY(50px);
  }

  to {
   opacity: 1;
  transform: translateY(0);
  }
}


/* fadeOut */

.fadeOut {
animation-name:fadeOutAnime;
animation-duration: 1s;
animation-fill-mode:forwards;
opacity: 1;
}

@keyframes fadeOutAnime{
  from {
    opacity: 1;
  transform: translateY(100px);
  }

  to {
   opacity: 0;
  transform: translateY(0) scale(0.5);
  }
}

.fadeOut2 {
animation-name:fadeOutAnime2;
animation-duration: 1s;
animation-fill-mode:forwards;
opacity: 1;
}

@keyframes fadeOutAnime2{
  from {
    opacity: 1;
  transform: translateY(100px);
  }

  to {
   opacity: 0;
  transform: translateY(0);
  }
}


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

	#GlobalNav {
	top: 0;
	bottom: 0;
	margin: auto;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	}

	#GlobalNavUnit {
	justify-content: center;
	}
	
	.GlobalNavUnit2In {
	justify-content: center;
	}

	/* メイン */
	.GlobalNav_Main a {
	/* padding: 1.2rem 0; */
	padding: 1rem 0;
	font-size: 2.8rem;
	}

	.GlobalNav_Main li:first-child a {
	padding-top: 0;
	}

	/* サブ */
	.GlobalNav_Sub {
	/* margin-top: 1rem; */
	}

	/* SNS */
	.GlobalNav_SNS {
	/* margin-top: 5rem; */
	margin-top: 3rem;
	}

	/* 外国語 */
	.GlobalNav_LanguageList li {
	margin-bottom: 1.5rem;
	}	

	.GlobalNav_LanguageList a {
	font-size: 1.8rem;
	}

	.GlobalNav_BackBtn {
	margin-top: 5rem;
	}

	/* 閉じるボタン */
	#GlobalNavClose {
	top: 1.8rem;
	right: 1.5rem;
	}

}

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

	#GlobalNav {
	top: 0;
	}

	#GlobalNavUnit,
	.GlobalNavUnit2In {
	justify-content: center;
	}

	/* メイン */
	.GlobalNav_Main a {
	padding: 1.4rem 0;
	font-size: 3.2rem;
	}

	/* サブ */
	.GlobalNav_Sub {
	margin-top: 2rem;
	}

	/* SNS */
	.GlobalNav_SNS {
	margin-top: 8rem;
	}
	
	/* 外国語 */
	.GlobalNav_LanguageList li {
	margin-bottom: 2.3rem;
	}

	.GlobalNav_LanguageList a {
	font-size: 2.4rem;
	}	
	
	.GlobalNav_BackBtn {
	margin-top: 5rem;
	}
	
	/* 閉じるボタン */
	#GlobalNavClose {
	top: 1.7rem;
	right: 2.5rem;
	}

}

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

	.GlobalNav_Main a:hover,
	.GlobalNav_Sub a:hover {
	color: var(--color-sub1);
	}

	/* 閉じるボタン */
/*
	#GlobalNavClose:hover {
	color: var(--color-main);
	background-color: #fff;
	}
*/

}

@media print, screen and (max-height: 600px) {

	#GlobalNav {
	padding-bottom: 5rem;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	}

	#GlobalNavUnit {
	justify-content: flex-start;
	padding-top: 8rem;
	}

	/* SNS */
	.GlobalNav_SNS {
	padding-bottom: 5rem;
	}

}



/* ■ フッターナビ（FooterNav） ==================================================================================== */

#FooterNav {
background-color: var(--color-main);
}

.FooterNav_Menu a {
color: #fff;
}

/* 親メニュー */
.Footer_Mds {
color: #fff;
font-family: AvenirNextLTPro-Demi;
}

/* SNS */


.Footer_SNS li {
margin-right: 3rem;
}

.Footer_SNS li:last-child {
margin-right: 0;
}

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

	#FooterNav {
	padding: 4.2rem 2rem 6rem 2rem;
	text-align: center;
	}

	/* 親メニュー */
	.FooterNav_Level1 {
	margin-top: 5rem;
	}

	.FooterNav_Level1:first-child {
	margin-top: 4rem;
	}
	
	.FooterNav_Level1 .Footer_Mds {
	display: block;
	font-size: 1.8rem;
	letter-spacing: 0.01em;
	}

	/* 子メニュー */
	.FooterNav_Level2 {
	margin-top: 2.2rem;	
	}
	
	.FooterNav_Level2 li {
	margin-top: 1.4rem;
	}

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

	/* SNS */
	.Footer_SNS {
	display: flex;
	justify-content: center;
	margin-top: 5rem;
	}
	
	.Footer_SNS .Icon_SNS span,
	.Footer_Mds.Footer_SNSMds {
	display: none;
	}

}

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

	#FooterNav {
	padding-top: 8.3rem;
	padding-bottom: 8rem;
	}

	.FooterNav_Menu {
	display: flex;
	}

	.FooterNav_Menu .FooterNav_Level1 {
	width: 22%;
	}

	.FooterNav_Menu .FooterNav_Level1:last-child {
	width: 12%;
	}

	.FooterNav_Level1 .Footer_Mds {
	font-size: 1.8rem;
	}
	
	/* 親メニュー */
	.FooterNav_Level1_Parent {
	font-size: 1.8rem;
	}
	
	.FooterNav_Level1 .Icon_SNS {
	justify-content: flex-start;
	}

	/* 子メニュー */
	.FooterNav_Level2 {
	display: block !important;
	margin-top: 2.2rem;
	}

	.FooterNav_Level2 li {
	margin-bottom: 1.1rem;
	}

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

	.FooterNav_Level2_Parent {
	margin-top: 1rem;
	font-size: 1.5rem;
	}

	/* SNS */
	.Footer_SNS {
	justify-content: flex-end;
	margin-top: 1.8rem;
	}

	.Footer_SNS .Icon_SNS {
	position: relative;
	}
	
	.Footer_SNS .Icon_SNS:before {
    display: inline-block;
	position: absolute;
	left: 0;
	width: 2.4rem;
    height: 2.4rem;
	border: 1px solid #fff;
	border-radius: var(--border-r2);
	content: "";
	}
	
	.Footer_SNS li:first-child .Icon_SNS:after {
	display: block;
    position: absolute;
    left: -0.5rem;
    right: 0;
    margin: auto;
	width: 1.03rem;
	height: 1.033rem;
	background: url(/img/common/icon/Icon_Instagram.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain !important;
	content: "";
	}

	.Footer_SNS li:nth-child(2) .Icon_SNS:after {
	display: block;
    position: absolute;
    left: -0.5rem;
    right: 0;
    margin: auto;
	width: 1rem;
	height: 0.81rem;
	background: url(/img/common/icon/Icon_X.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain !important;
	content: "";
	}

	.Footer_SNS li:nth-child(3) .Icon_SNS:after {
	display: block;
    position: absolute;
    left: -0.5rem;
    right: 0;
    margin: auto;
	width: 0.53rem;
	height: 1rem;
	background: url(/img/common/icon/Icon_Facebook.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain !important;
	content: "";
	}

	.Footer_SNS li:nth-child(4) .Icon_SNS:after {
	display: block;
    position: absolute;
    left: -0.5rem;
    right: 0;
    margin: auto;
	width: 1.3rem;
	height: 0.46rem;
	background: url(/img/common/icon/Icon_Line.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain !important;
	content: "";
	}

	.Footer_SNS li:nth-child(5) .Icon_SNS:after {
	display: block;
    position: absolute;
    left: -0.5rem;
    right: 0;
    margin: auto;
	width: 1.3rem;
	height: 0.46rem;
	background: url(/img/common/icon/Icon_Tiktoke.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain !important;
	content: "";
	}

	.Footer_SNS .Icon_SNS span {
	display: inline-block;
	margin-left: 3.6rem;
	font-size: 1.3rem;
	}

	.Footer_SNS li {
	margin-bottom: 0.8rem;
	}

	.Footer_SNS .Icon_SNS img {
	display: none;
	}
	
	.Footer_SNS .Icon_SNS_Reverse {
	border: 1px solid transparent;
	background: var(--color-main);
	}
	
}

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

	.FooterNav_Menu a:hover {
	color: var(--color-sub1);
	}
	
	.FooterNav_Level1 > a:hover {
	color: #fff;
	}

}

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

	.Footer_SNS .Icon_SNS:hover:after {
	filter: invert(89%) sepia(55%) saturate(13%) hue-rotate(206deg) brightness(107%) contrast(103%);
	content: "";
	}

	.Footer_SNS .Icon_SNS:hover:before {
	border: 1px solid transparent;
	background: #fff;
	}

}

/* ■ フッター（Footer） ==================================================================================== */

#Footer {
text-align: center;
background: #000;
}

/* コピーライト */
.Footer_Copyright {
color: #fff;
}

.Footer_Credit {
position: relative;
}

/* .Footer_Credit:before {
display: block;
position: absolute;
left: 0;
right: 0;
margin: auto;
background: url(/img/common/footer/Logo.svg) no-repeat;
background-size: 100% auto;
content: "";
}  */

.Footer_Logo a {
display: block;
}

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

	#Footer {
	padding: 4rem 2rem 8rem 2rem;	
	}

	#FooterUnit.FooterUnit2 {
	height: auto;
	padding-top: 4.5rem;
	padding-bottom: 0.5rem;
	}

	/* コピーライト */
	.Footer_Copyright {
	font-size: 1.2rem;
	line-height: 2.2;
	letter-spacing: 0.04em;
	}

	.Footer_Credit {
	padding-top: 0;
	}

	.Footer_Credit:before {
	top: 0;
	width: 8.46rem;
	height: 4.22rem;
	}
	
	.Footer_Logo {
	width: 8.46rem;
	margin: 0 auto;	
	}
	
	.Footer_Copyright {
	margin-top: 2.5rem;
	}

}

@media only screen and (max-width: 372px) {
	
	/* コピーライト */
	.Footer_Copyright {
	font-size: 1rem;
	}

}

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

	#FooterUnit {
	height: 13.2rem;
	padding-top: 2rem;
	}

	#FooterUnit.FooterUnit2 {
	height: auto;
	padding-top: 4rem;
	padding-bottom: 4rem;
	}
	
	/* コピーライト */
	.Footer_Copyright {
	padding-top: 2.1rem;
	font-size: 1rem;
	letter-spacing: 0.04em;
	}
	
	.Footer_Logo {
	display: flex;
	justify-content: center;
	}

	.Footer_Credit:before {
	width: 8.55rem;
	height: 4.28rem;
	}

}



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

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

}



/* ■ 下層ページレイアウト ==================================================================================== */

/*
レイアウト1
レイアウト2
*/


/* レイアウト1 --------------------------------------------------- */

#Layout1 {
display: flex;
flex-wrap: wrap;
}

#Layout1 .BreadCrumb {
width: 100%;
}
	
@media only screen and (max-width: 767px) {

	#Layout1 .BreadCrumb {
	order: 3;
	}

	#Layout1 #Contents {
	order: 1;
	width: 100%;
	}

	#Layout1 #LocalNav {
	order: 2;
	width: 100%;
	}

}

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

	#Layout1 {
	padding-top: 1rem;
	padding-bottom: 8rem;
	}

	#Layout1 #Contents {
	width: 100%;
	}

	#Layout1 #LocalNav {
	width: 100%;
	}

}

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

	#Layout1 .BreadCrumb {
	order: 1;
	}

	#Layout1 #Contents {
	order: 3;
	width: 75%;
	padding-left: 5%;
	}

	#Layout1 #LocalNav {
	order: 2;
	width: 25%;
	}

}


/* レイアウト2 --------------------------------------------------- */

#Layout2 {
display: flex;
flex-wrap: wrap;
}

#Layout2 .BreadCrumb,
#Layout2 #Contents {
width: 100%;
}
	
@media only screen and (max-width: 767px) {

	#Layout2 .BreadCrumb {
	order: 2;
	}

	#Layout2 #Contents {
	order: 1;
	}

}

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

	#Layout2 {
	padding-top: 1rem;
	padding-bottom: 8rem;
	}

}

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

}


/* ■ コンテンツ領域 ==================================================================================== */

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

	#Contents {
	padding-top: 0;
	padding-bottom: 3rem;
	}

}

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

	#Contents {

	}

}



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

/* 見出し */
.LocalNav_Mds {
text-align: center;
color: #fff;
background-color: var(--color-main);
}

.LocalNav_Menu li {
border-bottom: 1px solid #b8b8b8;
}	

/* 親メニュー */
.LocalNav_Menu li a,
.LocalNav_Menu li.Disabled {
display: block;
}

/* 親メニュー：Disabled */
.LocalNav_Menu li.Disabled {
background-image: none;
}

.LocalNav_Menu li.Disabled span {
opacity: 0.25;
}

/* 親メニュー：カレント */
.LocalNav_Menu li.Current {
background-color: #bb2218;
}

.LocalNav_Menu li > ul li {
border-bottom: none;
font-weight: normal;
}

/* 子メニュー */
/* 子メニュー：カレント */
.LocalNav_Menu li > ul li.Current a {
background-color: #fff;
}

/* 子メニュー */
.LocalNav_Menu li > ul {
padding: 5px 0;
background-color: #fff;
}

.LocalNav_Menu li > ul li a,
.LocalNav_Menu li > ul li.Disabled {
}

/* Extraナビ */
.ExtraNav1 li,
.ExtraNav2 li {
margin-bottom: 10px;
}

.ExtraNav1 {
margin-bottom: 20px;
}

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

	/* 見出し */
	.LocalNav_Menu {
	padding: 10px 15px;
	font-size: 108%;
	background-color: #000;
	}

	/* 親メニュー */
	.LocalNav_Menu li a,
	.LocalNav_Menu li.Disabled {
	padding: 15px 30px 15px 15px;
	line-height: 1.5em;
	background-position: 97% 50%;	
	}

	/* 親メニュー：カレント */
	.LocalNav_Menu li.Current {
	font-weight: bold;
	}

	/* 子メニュー */
	.LocalNav_Menu li > ul li a,
	.LocalNav_Menu li > ul li.Disabled {
	padding: 6px 15px 4px 25px;
	font-size: 93%;
	background-position: 13px 11px;
	}

	/* Extraナビ */
	.ExtraNav1,
	.ExtraNav2 {
	padding: 0 15px;
	}

	.ExtraNav1 li,
	.ExtraNav2 li {
	width: 100%;
	}

}

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

	#LocalNav {
	margin-top: 2em;
	}
	
	/* 見出し（カテゴリ名） */
	.LocalNav_Mds {
	padding: 0.75em 0.5em;
	font-size: 1.8rem;
	font-weight: normal;
	}

	/* 親メニュー */
	.LocalNav_Menu {
	background-color: #f2f2f2;
	}

	.LocalNav_Menu li:first-child {
	border-top: none;
	}
	
	.LocalNav_Menu li a,
	.LocalNav_Menu li.Disabled {
	padding: 10px 15px 10px 25px;
	font-size: 100%;
	line-height: 1.6em;
	background-position: 10px 19px;
	}

	.LocalNav_Menu li.Current a {
	color: #fff;
	}

	/* 親メニュー：ホバー */
	.LocalNav_Menu li a:hover {
	}
	
	.LocalNav_Menu li > ul li a,
	.LocalNav_Menu li > ul li.Disabled {
	padding: 6px 15px 4px 25px;
	font-size: 93%;
	color: #000 !important;
	background-position: 13px 11px;
	}

	/* 子メニュー：ホバー */
	.LocalNav_Menu li > ul li a:hover,
	.LocalNav_Menu li > ul li.Current a:hover {
	background-color: #efefef;
	}

}



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

/* 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 {
	font-size: 3rem;
	line-height: 1.5;
	}
	
	/* h2 */
	.MdsH2 {
	padding-bottom: 0.5rem;
	font-size: 2rem;
	line-height: 1.6;
	}
	
	/* h3 */
	.MdsH3 {
	padding: 0.5rem 1rem;
	font-size: 1.8rem;
	line-height: 1.3;
	}
	
	/* 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 {
	font-size: 3.2rem;
	line-height: 1.25;
	}
	
	/* h2 */
	.MdsH2 {
	font-size: 2.4rem;
	line-height: 1.5;
	}
	
	/* h3 */
	.MdsH3 {
	padding: 0.8rem 1.5rem;
	font-size: 1.8rem;
	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) {

	.SectionSub {
	padding-top: 2rem;
	}

}

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

	.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 {
margin-top: var(--gap-int);
}

.List li {
position: relative;
}

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

/* ディスク：中（ListDisc） */
.ListDisc li::before {
border-radius: 100%;
background-color: #000;
content: '';
}

/* ディスク：小（ListDiscS） */
.ListDiscS li::before {
border-radius: 100%;
background-color: #000;
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 li,
	.ListDisc li,
	.ListKome li,
	.ListNum li {
	margin-top: 1rem;
	font-size: 1.5rem;
	line-height: 1.8;
	}
	
	.ListDiscS li,
	.ListKomeS li,
	.ListNumS li,
	.ListKomeNumS li {
	margin-top: 0.75rem;
	font-size: 1.4rem;
	line-height: 1.7;
	}

}

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

	.ListNoMarker li,
	.ListDisc li,
	.ListKome li,
	.ListNum li {
	margin-top: 1rem;
	font-size: 1.6rem;
	line-height: 1.8;
	}
	
	.ListDiscS li,
	.ListKomeS li,
	.ListNumS li,
	.ListKomeNumS li {
	margin-top: 0.75rem;
	font-size: 1.4rem;
	line-height: 1.7;
	}

}


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


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

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

.ListDisc li {
position: relative;
}

.ListDisc li:before {
position: absolute;
}


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

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

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

	/* 入れ子時 */
	.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.7rem;
	height: 0.7rem;
	}

	.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） --------------------------------------------------- */

.ListNum li {
position: relative;
}

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

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

	.ListNum li::before {
	position: absolute;
	left: 0;
	}

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

}

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

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

	.ListNum li::before {
	position: absolute;
	left: 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;
line-height: 1.6;
}

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

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

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

.DLTable dt {
background: #F7F7F7;
}

.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,
.Table2 {
margin-top: var(--gap-int);
}

.Table1 th,
.Table2 th,
.Table1 td,
.Table2 td {
padding: 0.75rem 1.5rem;
border: 1px solid var(--color-sub4);
line-height: 1.6;
}

.Table1 th,
.Table2 th {
background-color: var(--color-sub5);
}

.Table1 td,
.Table2 td {
background-color: #fff;
}

.Table1 th {
text-align: left;
}

@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;
font-weight: 700;
}

.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;
font-weight: 700;
}

.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.5rem;
top: 0.2rem;
width: 2rem;
height: 2rem;
background: url(/img/common/icon/Icon_Window.svg);
background-repeat: no-repeat;
}

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

}


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

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

.LinkIconPlus::before,
.LinkIconPlus::after {
display: block;
position: absolute;
top: 50%;
right: 1.5rem;
width: 1.5rem;
height: 0.1rem;
background-color: #000;
content: "";
}

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

.LinkIconPlus.Current::after {
display: none;
}

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

	.LinkIconPlus {
	padding-right: 4rem;
	}

}

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

	.LinkIconPlus {
	padding-right: 8rem;
	}

}



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

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

/* カラー：1 */
.BtnColor1,
a.BtnColor1 {
color: var(--color-main);
background-color: var(--color-sub5);
border: 1px solid;
}

/* カラー：2 */
.BtnColor2,
a.BtnColor2 {
color: #fff;
border: 1px solid #fff;
}

/* カラー：3 */
.BtnColor3,
a.BtnColor3 {
color: #000;
background-color: #efefef;
border: 1px solid var(--color-main);
}

/* カラー：4 */
.BtnColor4,
a.BtnColor4 {
color: #000;
background-color: var(--color-sub1);
border: 1px solid;
}

/* カラー：5 */
.BtnColor5,
a.BtnColor5 {
color: #fff;
background-color: var(--color-main);
border: 1px solid var(--color-main);
}


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

	.BtnS {
	padding: 0.6rem 1rem;
	font-size: 1.2rem;
	}

	.BtnM {
	padding: 0.7rem 1rem;
	}

	.BtnL {
	padding: 1.3rem 0;
	}

}

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

	.BtnS {
	padding: 0.6rem 1rem;
	font-size: 1.4rem;
	}
	
	.BtnM {
	padding: 0.7rem 1rem;
	}
	
	.BtnL {
	padding: 1.8rem 0;
	}

}

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

	/* カラー：1 */
	.BtnColor1:hover,
	a.BtnColor1:hover {
	color: #fff;
	background-color: var(--color-main);
	border: 1px solid;
	}
	
	/* カラー：2 */
	.BtnColor2:hover,
	a.BtnColor2:hover {
	color: #000;
	background-color: #fff;
	}
	
	/* カラー：3 */
	.BtnColor3:hover,
	a.BtnColor3:hover {
	color: #fff;
	background-color: var(--color-main);
	}

	/* カラー：4 */
	.BtnColor4:hover,
	a.BtnColor4:hover {
	color: #000;
	background-color: var(--color-sub2);
	}

	/* カラー：5 */
	.BtnColor5:hover,
	a.BtnColor5:hover {
	color: var(--color-main);
	background-color:  #fff;
	border: 1px solid var(--color-main);
	}

}



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


/*
SNS
*/


/* SNS --------------------------------------------------- */

.Icon_SNS {
display: flex;
align-items: center;
justify-content: center;
width: 3.0rem;
height: 3.0rem;
border: 1px solid var(--color-main);
border-radius: var(--border-r3);
background-color: var(--color-main);
}

.Icon_Instagram {
width: 1.5rem;
}

.Icon_Twitter {
width: 1.5rem;
}

.Icon_Facebook {
width: 0.9rem;
}

.Icon_Line {
width: 1.8rem;
}

.Icon_Tiktoke {
width: 1.6rem;
}

/* カラー反転 */
.Icon_SNS_Reverse {
border: 1px solid #fff;
background-color: #fff;
}

.Icon_SNS_Reverse img {
filter: invert(89%) sepia(55%) saturate(13%) hue-rotate(206deg) brightness(107%) contrast(103%);
}

/* サイズ：小 */
.Icon_SNS_S {
display: flex;
align-items: center;
justify-content: center;
width: 2.5rem;
height: 2.5rem;
border: 1px solid var(--color-main);
border-radius: var(--border-r3);
background-color: var(--color-main);
}

.Icon_SNS_S .Icon_Instagram {
width: calc(1.5rem * 0.9);
}

.Icon_SNS_S .Icon_Twitter {
width: calc(1.5rem * 0.9);
}

.Icon_SNS_S .Icon_Facebook {
width: calc(0.9rem * 0.9);
}

.Icon_SNS_S .Icon_Line {
width: calc(1.8rem * 0.9);
}

.Icon_SNS_S .Icon_Tiktoke {
width: calc(1.6rem * 0.9);
}

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

}

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

}

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

	.Icon_SNS:hover {
	background-color: #fff;
	}
	
	.Icon_SNS:hover img {
	filter: invert(89%) sepia(55%) saturate(13%) hue-rotate(206deg) brightness(107%) contrast(103%);
	}

	/* カラー反転 */
	.Icon_SNS_Reverse:hover {
	background-color: #000;
	}

	.Icon_SNS_Reverse:hover img {
	filter: none;
	}

}



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

/* 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 span {
display: block;
border-radius: var(--border-r1);
}

.PageNation_Prev span,
.PageNation_Next span {
position: relative;
width: 5.9rem;
height: 2.8rem;
border: 1px solid var(--color-main);
border-radius: var(--border-r2);
color: var(--color-main);
text-indent: -9999px;
}

.PageNation_Prev a,
.PageNation_Next a {
display: block;
position: relative;
width: 5.9rem;
height: 2.8rem;
}

.PageNation_Prev span:before,
.PageNation_Next span:before {
display: block;
position: absolute;
top: 30%;
width: 1rem;
height: 1.1rem;
background-image: url(/img/common/icon/Icon_AllowR.svg);
background-size: 100% auto;
background-repeat: no-repeat;
content: '';
}

.PageNation_Prev span:before {
right: 0;
left: 40%;
transform: rotate(180deg);
}

.PageNation_Next span:before {
right: 0;
left: 46%;
}

.Disable.PageNation_Prev span,
.Disable.PageNation_Next span {
border: 1px solid var(--color-sub2);
color: var(--color-sub2);
}

.Disable.PageNation_Prev span:before,
.Disable.PageNation_Next span:before {
background-image: url(/img/common/icon/Icon_AllowR_Current.svg);
}

.Disable.PageNation_Prev span:before {
right: 0;
left: 40%;
transform: rotate(0deg);
}

.Disable.PageNation_Next span:before {
right: 40%;
left: auto;
transform: rotate(180deg);
}


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

	.PageNation {
	position: relative;
	margin-top: var(--gap-int);
	}
	
	.Top_News_List .PageNation {
	display: none;
	}
	
	.PageNation_Menu {
	display: flex;
	justify-content: space-between;	
	}

}

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



}

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

	.PageNation {
	display: flex;
	justify-content: center;
	margin-top: 4rem;
	}

	.PageNation_Menu {
	display: flex;
	}

	.PageNation_Current {
	padding: 0.8rem 8.8rem;
	font-size: 1.3rem;
	color: var(--color-main);
	}

}

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

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

	.PageNation_Prev span:hover:before,
	.PageNation_Next span:hover:before {
	filter: invert(89%) sepia(55%) saturate(13%) hue-rotate(206deg) brightness(107%) contrast(103%);
	}

	.Disable.PageNation_Prev span:hover,
	.Disable.PageNation_Next span:hover {
	border: 1px solid var(--color-sub2);
	color: var(--color-sub2);
	background: #fff;
	}

	.Disable.PageNation_Prev span:hover:before,
	.Disable.PageNation_Next span:hover:before {
	background-image: url(/img/common/icon/Icon_AllowR_Current.svg);
	filter: inherit;
	}

}




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

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

}



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

/*
リセット・変数
レイアウト設定
必須アイコン
注釈等
フリー入力欄（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;
}


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

.Form_MdsSub {
font-weight: 700;
}

.Form_PrivacyLink .LinkNewWin {
font-weight: normal;
text-decoration: underline;
}

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

	.FormList {
	margin-top: 2.5rem;
	}

	.FormUnit dt {
	padding: 0.5rem 1rem;
	}

	.FormUnit dd {
	padding: 1.5rem 1rem;
	}

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

	.Form_MdsSub {
	margin-bottom: 0.5rem;
	}

	.From_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: 2rem;
	}
	
	.FormUnit dt {
	width: 30%;
	}

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

	.Form_MdsSub {
	margin-bottom: 0.5rem;
	}

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

	.Form_PrivacyLink {
	margin-bottom: 1rem;
	}

}


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

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

.Form_Required::before {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    width: 5.7rem;
    padding: 0 0;
    font-size: 1.2rem;
    letter-spacing: 0.03em;
    font-family: Shorai Sans StdN;
    color: #fff;
    background: var(--color-sub3);
    border-radius: var(--border-r2);
    box-sizing: border-box;
    text-align: center;
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.1rem 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;
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(/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: 2rem;
	}

	.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: 4rem;
	}

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

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


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

.Form_ErrMsg {
background-color: #fff6f2;
}

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

	.Form_ErrMsg_Mds {
	font-size: 1.8rem;
	}

}

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

	.Form_ErrMsg_Mds {
	font-size: 2.2rem;
	}

}


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

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

.Form_ErrTip::after {
position: absolute;
left: 2rem;
bottom: -1.7rem;
width: 0;
height: 0;
border: 10px solid transparent;
border-top: 10px solid var(--color-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(--color-alert);
background-color: #ffebeb !important;
}

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


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

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

	#Layout1,
	#Layout2,
	#Layout3,
	#Layout4,
	#Layout5 {
	padding-bottom: 0 !important;
	}

	#Contents {
	width: 100% !important;
	padding-left: 0 !important;
	}

	/* メインセクションで改ページさせない場合は以下をコメントアウト */
	.SectionMain:not(:first-of-type) {
	page-break-before: always;
	}

}



/* ■ JSライブラリ ==================================================================================== */

/*
アコーディオンメニュー
タブメニュー
slick
Magnific Popup
Modaal
*/


/* アコーディオンメニュー：初期設定 --------------------------------------------------- */

.AccoTarget {
display: none;
}


/* タブメニュー：初期設定 --------------------------------------------------- */

.TabContent {
display: none;
}

.TabContent.Current {
display: block;
}


/* slick 初期設定 --------------------------------------------------- */

.slick-slider {
position: relative;
display: block;
box-sizing: border-box;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-touch-callout: none;
-khtml-user-select: none;
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list {
position: relative;
display: block;
overflow: hidden;
margin: 0;
padding: 0;
}

.slick-list:focus {
outline: none;
}

.slick-list.dragging {
cursor: pointer;
cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}

.slick-track {
position: relative;
top: 0;
left: 0;
display: block;
margin-left: auto;
margin-right: auto;
}

.slick-track:before,
.slick-track:after {
display: table;
content: '';
}

.slick-track:after {
clear: both;
}

.slick-loading .slick-track {
visibility: hidden;
}

.slick-slide {
display: none;
float: left;
height: 100%;
min-height: 1px;
}

[dir='rtl'] .slick-slide {
float: right;
}

.slick-slide img {
display: block;
width: 100%;
}

.slick-slide.slick-loading img {
display: none;
}

.slick-slide.dragging img {
pointer-events: none;
}

.slick-initialized .slick-slide {
display: block;
}

.slick-loading .slick-slide {
visibility: hidden;
}

.slick-vertical .slick-slide {
display: block;
height: auto;
border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
display: none;
}


/* Magnific Popup 初期設定 --------------------------------------------------- */

.mfp-bg {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1042;
overflow: hidden;
position: fixed;
background: #0b0b0b;
opacity: 0.8;
}

.mfp-wrap {
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1043;
position: fixed;
outline: none !important;
-webkit-backface-visibility: hidden;
}

.mfp-container {
text-align: center;
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
padding: 0 8px;
box-sizing: border-box;
}

.mfp-container:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
display: none;
}

.mfp-content {
position: relative;
display: inline-block;
vertical-align: middle;
margin: 0 auto;
text-align: left;
z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
width: 100%;
cursor: auto;
}

.mfp-ajax-cur {
cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
cursor: -moz-zoom-out;
cursor: -webkit-zoom-out;
cursor: zoom-out;
}

.mfp-zoom {
cursor: pointer;
cursor: -webkit-zoom-in;
cursor: -moz-zoom-in;
cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}

.mfp-loading.mfp-figure {
display: none;
}

.mfp-hide {
display: none !important;
}

.mfp-preloader {
color: #ccc;
position: absolute;
top: 50%;
width: auto;
text-align: center;
margin-top: -0.8em;
left: 8px;
right: 8px;
z-index: 1044;
}

.mfp-preloader a {
color: #ccc;
}

.mfp-preloader a:hover {
color: #fff;
}

.mfp-s-ready .mfp-preloader {
display: none;
}

.mfp-s-error .mfp-content {
display: none;
}

button.mfp-close,
button.mfp-arrow {
overflow: visible;
cursor: pointer;
background: transparent;
border: 0;
-webkit-appearance: none;
display: block;
outline: none;
padding: 0;
z-index: 1046;
box-shadow: none;
touch-action: manipulation;
}

button::-moz-focus-inner {
padding: 0;
border: 0;
}

.mfp-close {
width: 44px;
height: 44px;
line-height: 44px;
position: absolute;
right: 0;
top: 0;
text-decoration: none;
text-align: center;
opacity: 0.65;
padding: 0 0 18px 10px;
color: #FFF;
font-style: normal;
font-size: 28px;
font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
opacity: 1;
}

.mfp-close:active {
top: 1px;
}

.mfp-close-btn-in .mfp-close {
color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
color: #FFF;
right: -6px;
text-align: right;
padding-right: 6px;
width: 100%;
}

.mfp-counter {
position: absolute;
top: 0;
right: 0;
color: #CCC;
font-size: 12px;
line-height: 18px;
white-space: nowrap;
}

.mfp-arrow {
position: absolute;
opacity: 0.65;
margin: 0;
top: 50%;
margin-top: -55px;
padding: 0;
width: 90px;
height: 110px;
-webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
content: '';
display: block;
width: 0;
height: 0;
position: absolute;
left: 0;
top: 0;
margin-top: 35px;
margin-left: 35px;
border: medium inset transparent;
}

.mfp-arrow:after {
border-top-width: 13px;
border-bottom-width: 13px;
top: 8px;
}

.mfp-arrow:before {
border-top-width: 21px;
border-bottom-width: 21px;
opacity: 0.7;
}

.mfp-arrow-left {
left: 0;
}

.mfp-arrow-left:after {
border-right: 17px solid #fff;
margin-left: 31px;
}

.mfp-arrow-left:before {
margin-left: 25px;
border-right: 27px solid #3f3f3f;
}

.mfp-arrow-right {
right: 0;
}

.mfp-arrow-right:after {
border-left: 17px solid #fff;
margin-left: 39px;
}

.mfp-arrow-right:before {
border-left: 27px solid #3f3f3f;
}

.mfp-iframe-holder {
padding-top: 40px;
padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
line-height: 0;
width: 100%;
max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
top: -40px;
}

.mfp-iframe-scaler {
width: 100%;
height: 0;
overflow: hidden;
padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
position: absolute;
display: block;
top: 0;
left: 0;
width: 100%;
height: 100%;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #000;
}

/* Main image in popup */
img.mfp-img {
width: auto;
max-width: 100%;
height: auto;
display: block;
line-height: 0;
box-sizing: border-box;
padding: 40px 0 40px;
margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
line-height: 0;
}

.mfp-figure:after {
content: '';
position: absolute;
left: 0;
top: 40px;
bottom: 40px;
display: block;
right: 0;
width: auto;
height: auto;
z-index: -1;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
background: #444;
}

.mfp-figure small {
color: #BDBDBD;
display: block;
font-size: 12px;
line-height: 14px;
}

.mfp-figure figure {
margin: 0;
}

.mfp-bottom-bar {
margin-top: -36px;
position: absolute;
top: 100%;
left: 0;
width: 100%;
cursor: auto;
}

.mfp-title {
text-align: left;
line-height: 18px;
color: #F3F3F3;
word-wrap: break-word;
padding-right: 36px;
}

.mfp-image-holder .mfp-content {
max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {

	/* Remove all paddings around the image on small screen */
	
	.mfp-img-mobile .mfp-image-holder {
	padding-left: 0;
	padding-right: 0;
	}
	
	.mfp-img-mobile img.mfp-img {
	padding: 0;
	}
	
	.mfp-img-mobile .mfp-figure:after {
	top: 0;
	bottom: 0;
	}
	
	.mfp-img-mobile .mfp-figure small {
	display: inline;
	margin-left: 5px;
	}
	
	.mfp-img-mobile .mfp-bottom-bar {
	background: rgba(0, 0, 0, 0.6);
	bottom: 0;
	margin: 0;
	top: auto;
	padding: 3px 5px;
	position: fixed;
	box-sizing: border-box;
	}
	
	.mfp-img-mobile .mfp-bottom-bar:empty {
	padding: 0;
	}
	
	.mfp-img-mobile .mfp-counter {
	right: 5px;
	top: 3px;
	}
	
	.mfp-img-mobile .mfp-close {
	top: 0;
	right: 0;
	width: 35px;
	height: 35px;
	line-height: 35px;
	background: rgba(0, 0, 0, 0.6);
	position: fixed;
	text-align: center;
	padding: 0;
	}

}

@media all and (max-width: 900px) {

	.mfp-arrow {
	-webkit-transform: scale(0.75);
	transform: scale(0.75);
	}
	
	.mfp-arrow-left {
	-webkit-transform-origin: 0;
	transform-origin: 0;
	}
	
	.mfp-arrow-right {
	-webkit-transform-origin: 100%;
	transform-origin: 100%;
	}
	
	.mfp-container {
	padding-left: 6px;
	padding-right: 6px;
	}

}


/* Modaal 初期設定 --------------------------------------------------- */

/*
Modaal - accessible modals - v0.4.4
by Humaan, for all humans.
http://humaan.com
*/

.modaal-noscroll {
overflow: hidden;
}

.modaal-accessible-hide {
position: absolute !important;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px);
padding: 0 !important;
border: 0 !important;
height: 1px !important;
width: 1px !important;
overflow: hidden;
}

.modaal-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999;
opacity: 0;
}

.modaal-wrapper {
display: block;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9999;
overflow: auto;
opacity: 1;
box-sizing: border-box;
-webkit-overflow-scrolling: touch;
-webkit-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}

.modaal-wrapper * {
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-backface-visibility: hidden;
}

.modaal-wrapper .modaal-close {
border: none;
background: transparent;
padding: 0;
-webkit-appearance: none;
}

.modaal-wrapper.modaal-start_none {
display: none;
opacity: 1;
}

.modaal-wrapper.modaal-start_fade {
opacity: 0;
}

.modaal-wrapper *[tabindex="0"] {
outline: none !important;
}

.modaal-wrapper.modaal-fullscreen {
overflow: hidden;
}

.modaal-outer-wrapper {
display: table;
position: relative;
width: 100%;
height: 100%;
}

.modaal-fullscreen .modaal-outer-wrapper {
display: block;
}

.modaal-inner-wrapper {
display: table-cell;
width: 100%;
height: 100%;
position: relative;
vertical-align: middle;
text-align: center;
padding: 80px 25px;
}

.modaal-fullscreen .modaal-inner-wrapper {
padding: 0;
display: block;
vertical-align: top;
}

.modaal-container {
position: relative;
display: inline-block;
width: 100%;
margin: auto;
text-align: left;
color: #000;
max-width: 1000px;
border-radius: 0px;
background: #fff;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
cursor: auto;
}

.modaal-container.is_loading {
height: 100px;
width: 100px;
overflow: hidden;
}

.modaal-fullscreen .modaal-container {
max-width: none;
height: 100%;
overflow: auto;
}

.modaal-close {
position: fixed;
right: 20px;
top: 20px;
color: #fff;
cursor: pointer;
opacity: 1;
width: 50px;
height: 50px;
background: rgba(0, 0, 0, 0);
border-radius: 100%;
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}

.modaal-close:focus,
.modaal-close:hover {
outline: none;
background: #fff;
}

.modaal-close:focus:before,
.modaal-close:focus:after,
.modaal-close:hover:before,
.modaal-close:hover:after {
background: #b93d0c;
}

.modaal-close span {
position: absolute !important;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px);
padding: 0 !important;
border: 0 !important;
height: 1px !important;
width: 1px !important;
overflow: hidden;
}

.modaal-close:before,
.modaal-close:after {
display: block;
content: " ";
position: absolute;
top: 14px;
left: 23px;
width: 4px;
height: 22px;
border-radius: 4px;
background: #fff;
-webkit-transition: background 0.2s ease-in-out;
transition: background 0.2s ease-in-out;
}

.modaal-close:before {
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.modaal-close:after {
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}

.modaal-fullscreen .modaal-close {
background: #afb7bc;
right: 10px;
top: 10px;
}

.modaal-content-container {
padding: 30px;
}

.modaal-confirm-wrap {
padding: 30px 0 0;
text-align: center;
font-size: 0;
}

.modaal-confirm-btn {
font-size: 14px;
display: inline-block;
margin: 0 10px;
vertical-align: middle;
cursor: pointer;
border: none;
background: transparent;
}

.modaal-confirm-btn.modaal-ok {
padding: 10px 15px;
color: #fff;
background: #555;
border-radius: 3px;
-webkit-transition: background 0.2s ease-in-out;
transition: background 0.2s ease-in-out;
}

.modaal-confirm-btn.modaal-ok:hover {
background: #2f2f2f;
}

.modaal-confirm-btn.modaal-cancel {
text-decoration: underline;
}

.modaal-confirm-btn.modaal-cancel:hover {
text-decoration: none;
color: #2f2f2f;
}

.modaal-instagram .modaal-container {
width: auto;
background: transparent;
box-shadow: none !important;
}

.modaal-instagram .modaal-content-container {
padding: 0;
background: transparent;
}

.modaal-instagram .modaal-content-container > blockquote {
width: 1px !important;
height: 1px !important;
opacity: 0 !important;
}

.modaal-instagram iframe {
opacity: 0;
margin: -6px !important;
border-radius: 0 !important;
width: 1000px !important;
max-width: 800px !important;
box-shadow: none !important;
-webkit-animation: instaReveal 1s linear forwards;
animation: instaReveal 1s linear forwards;
}

.modaal-image .modaal-inner-wrapper {
padding-left: 140px;
padding-right: 140px;
}

.modaal-image .modaal-container {
width: auto;
max-width: 100%;
}

.modaal-gallery-wrap {
position: relative;
color: #fff;
}

.modaal-gallery-item {
display: none;
}

.modaal-gallery-item img {
display: block;
}

.modaal-gallery-item.is_active {
display: block;
}

.modaal-gallery-label {
position: absolute;
left: 0;
width: 100%;
margin: 20px 0 0;
font-size: 18px;
text-align: center;
color: #fff;
}

.modaal-gallery-label:focus {
outline: none;
}

.modaal-gallery-control {
position: absolute;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
opacity: 1;
cursor: pointer;
color: #fff;
width: 50px;
height: 50px;
background: rgba(0, 0, 0, 0);
border: none;
border-radius: 100%;
-webkit-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}

.modaal-gallery-control.is_hidden {
opacity: 0;
cursor: default;
}

.modaal-gallery-control:focus,
.modaal-gallery-control:hover {
outline: none;
background: #fff;
}

.modaal-gallery-control:focus:before,
.modaal-gallery-control:focus:after,
.modaal-gallery-control:hover:before,
.modaal-gallery-control:hover:after {
background: #afb7bc;
}

.modaal-gallery-control span {
position: absolute !important;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px);
padding: 0 !important;
border: 0 !important;
height: 1px !important;
width: 1px !important;
overflow: hidden;
}

.modaal-gallery-control:before,
.modaal-gallery-control:after {
display: block;
content: " ";
position: absolute;
top: 16px;
left: 25px;
width: 4px;
height: 18px;
border-radius: 4px;
background: #fff;
-webkit-transition: background 0.2s ease-in-out;
transition: background 0.2s ease-in-out;
}

.modaal-gallery-control:before {
margin: -5px 0 0;
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.modaal-gallery-control:after {
margin: 5px 0 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}

.modaal-gallery-next-inner {
left: 100%;
margin-left: 40px;
}

.modaal-gallery-next-outer {
right: 45px;
}

.modaal-gallery-prev:before,
.modaal-gallery-prev:after {
left: 22px;
}

.modaal-gallery-prev:before {
margin: 5px 0 0;
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}

.modaal-gallery-prev:after {
margin: -5px 0 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}

.modaal-gallery-prev-inner {
right: 100%;
margin-right: 40px;
}

.modaal-gallery-prev-outer {
left: 45px;
}

.modaal-video-wrap {
margin: auto 50px;
position: relative;
}

.modaal-video-container {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
max-width: 100%;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
background: #000;
max-width: 1300px;
margin-left: auto;
margin-right: auto;
}

.modaal-video-container iframe,
.modaal-video-container object,
.modaal-video-container embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.modaal-iframe .modaal-content {
width: 100%;
height: 100%;
}

.modaal-iframe-elem {
width: 100%;
height: 100%;
display: block;
}

.modaal-loading-spinner {
background: none;
position: absolute;
width: 200px;
height: 200px;
top: 50%;
left: 50%;
margin: -100px 0 0 -100px;
-webkit-transform: scale(0.25);
-ms-transform: scale(0.25);
transform: scale(0.25);
}

.modaal-loading-spinner > div {
width: 24px;
height: 24px;
margin-left: 4px;
margin-top: 4px;
position: absolute;
}

.modaal-loading-spinner > div > div {
width: 100%;
height: 100%;
border-radius: 15px;
background: #fff;
}

.modaal-loading-spinner > div:nth-of-type(1) > div {
-webkit-animation: modaal-loading-spinner 1s linear infinite;
animation: modaal-loading-spinner 1s linear infinite;
-webkit-animation-delay: 0s;
animation-delay: 0s;
}

.modaal-loading-spinner > div:nth-of-type(2) > div,
.modaal-loading-spinner > div:nth-of-type(3) > div {
-ms-animation: modaal-loading-spinner 1s linear infinite;
-moz-animation: modaal-loading-spinner 1s linear infinite;
-webkit-animation: modaal-loading-spinner 1s linear infinite;
-o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(1) {
-ms-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
-webkit-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(2) > div {
-webkit-animation: modaal-loading-spinner 1s linear infinite;
animation: modaal-loading-spinner 1s linear infinite;
-webkit-animation-delay: .12s;
animation-delay: .12s;
}

.modaal-loading-spinner > div:nth-of-type(2) {
-ms-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
-webkit-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(3) > div {
-webkit-animation: modaal-loading-spinner 1s linear infinite;
animation: modaal-loading-spinner 1s linear infinite;
-webkit-animation-delay: .25s;
animation-delay: .25s;
}

.modaal-loading-spinner > div:nth-of-type(4) > div,
.modaal-loading-spinner > div:nth-of-type(5) > div {
-ms-animation: modaal-loading-spinner 1s linear infinite;
-moz-animation: modaal-loading-spinner 1s linear infinite;
-webkit-animation: modaal-loading-spinner 1s linear infinite;
-o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(3) {
-ms-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
-webkit-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(4) > div {
-webkit-animation: modaal-loading-spinner 1s linear infinite;
animation: modaal-loading-spinner 1s linear infinite;
-webkit-animation-delay: .37s;
animation-delay: .37s;
}

.modaal-loading-spinner > div:nth-of-type(4) {
-ms-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
-webkit-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(5) > div {
-webkit-animation: modaal-loading-spinner 1s linear infinite;
animation: modaal-loading-spinner 1s linear infinite;
-webkit-animation-delay: .5s;
animation-delay: .5s;
}

.modaal-loading-spinner > div:nth-of-type(6) > div,
.modaal-loading-spinner > div:nth-of-type(7) > div {
-ms-animation: modaal-loading-spinner 1s linear infinite;
-moz-animation: modaal-loading-spinner 1s linear infinite;
-webkit-animation: modaal-loading-spinner 1s linear infinite;
-o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(5) {
-ms-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
-webkit-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(6) > div {
-webkit-animation: modaal-loading-spinner 1s linear infinite;
animation: modaal-loading-spinner 1s linear infinite;
-webkit-animation-delay: .62s;
animation-delay: .62s;
}

.modaal-loading-spinner > div:nth-of-type(6) {
-ms-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
-webkit-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(7) > div {
-webkit-animation: modaal-loading-spinner 1s linear infinite;
animation: modaal-loading-spinner 1s linear infinite;
-webkit-animation-delay: .75s;
animation-delay: .75s;
}

.modaal-loading-spinner > div:nth-of-type(7) {
-ms-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
-webkit-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(8) > div {
-webkit-animation: modaal-loading-spinner 1s linear infinite;
animation: modaal-loading-spinner 1s linear infinite;
-webkit-animation-delay: .87s;
animation-delay: .87s;
}

.modaal-loading-spinner > div:nth-of-type(8) {
-ms-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
-webkit-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
}

@media only screen and (min-width: 1400px) {

	.modaal-video-container {
	padding-bottom: 0;
	height: 731px;
	}

}

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

	.modaal-image .modaal-inner-wrapper {
	padding-left: 25px;
	padding-right: 25px;
	}
	
	.modaal-gallery-control {
	top: auto;
	bottom: 20px;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
	background: rgba(0, 0, 0, 0.7);
	}
	
	.modaal-gallery-control:before,
	.modaal-gallery-control:after {
	background: #fff;
	}
	
	.modaal-gallery-next {
	left: auto;
	right: 20px;
	}
	
	.modaal-gallery-prev {
	left: 20px;
	right: auto;
	}

}

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

	.modaal-instagram iframe {
	width: 500px !important;
	}

}

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

	.modaal-instagram iframe {
	width: 280px !important;
	}

}

@media screen and (max-height: 1100px) {

	.modaal-instagram iframe {
	width: 700px !important;
	}

}

@media screen and (max-height: 1000px) {

	.modaal-inner-wrapper {
	padding-top: 60px;
	padding-bottom: 60px;
	}
	
	.modaal-instagram iframe {
	width: 600px !important;
	}

}

@media screen and (max-height: 900px) {

	.modaal-instagram iframe {
	width: 500px !important;
	}
	
	.modaal-video-container {
	max-width: 900px;
	max-height: 510px;
	}

}

@media only screen and (max-height: 820px) {

	.modaal-gallery-label {
	display: none;
	}

}

@keyframes instaReveal {

	0% {
	opacity: 0;
	}
	
	100% {
	opacity: 1;
	}

}

@-webkit-keyframes instaReveal {

	0% {
	opacity: 0;
	}
	
	100% {
	opacity: 1;
	}

}

@-webkit-keyframes modaal-loading-spinner {

	0% {
	opacity: 1;
	-ms-transform: scale(1.5);
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
	}
	
	100% {
	opacity: .1;
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	}

}

@keyframes modaal-loading-spinner {

	0% {
	opacity: 1;
	-ms-transform: scale(1.5);
	-webkit-transform: scale(1.5);
	transform: scale(1.5);
	}
	
	100% {
	opacity: .1;
	-ms-transform: scale(1);
	-webkit-transform: scale(1);
	transform: scale(1);
	}

}