@charset "UTF-8";

/*
フォント設定
カラー設定
汎用
アイコン
横幅最大値・左右余白設定

ヘッダー（Header）
グローバルナビ（GlobalNav）
パン屑リスト（TopicPath）
常に横にいるボタン（ContactSideNavWrap）
常に下にいるボタン（ContactBottomNavWrap）
ページの先頭へ
フッターナビ（FooterNav）
フッター（Footer）
お問い合わせ（Contact）
ヘッダー・フッター以外の領域指定（Stage）

ローカルナビ（LocalNav）
コンテンツ領域（Contents）

見出し（h1〜）
メインリード（LeadMain）
メインセクション（SectionMain）
サブセクション（SectionSub）
関連情報（RelatedInfo）

記述リスト（DLHori、DLVert、DLTable）
表組み（Table1、Table2）
囲み（Box）
リスト各種
テキストリンクアイコン
ボタン
ページネーション
検索窓

フォーム

印刷用設定
*/



/* ■ フォント設定 ==================================================================================== */

/*
フォント
基準サイズ
*/


/* フォント --------------------------------------------------- */

/* WEBフォント：日本語 */
@font-face {
font-family: 'Noto Sans Japanese';
font-style: normal;
font-weight: 100;
src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff2) format('woff2'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff) format('woff'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.otf) format('opentype');
}

@font-face {
font-family: 'Noto Sans Japanese';
font-style: normal;
font-weight: 200;
src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format('woff2'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format('woff'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format('opentype');
}

@font-face {
font-family: 'Noto Sans Japanese';
font-style: normal;
font-weight: 300;
src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format('woff2'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format('woff'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format('opentype');
}

@font-face {
font-family: 'Noto Sans Japanese';
font-style: normal;
font-weight: 400;
src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2) format('woff2'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff) format('woff'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf) format('opentype');
}

@font-face {
font-family: 'Noto Sans Japanese';
font-style: normal;
font-weight: 500;
src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2) format('woff2'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff) format('woff'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf) format('opentype');
}

@font-face {
font-family: 'Noto Sans Japanese';
font-style: normal;
font-weight: 700;
src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2) format('woff2'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff) format('woff'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf) format('opentype');
}

@font-face {
font-family: 'Noto Sans Japanese';
font-style: normal;
font-weight: 900;
src: url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff2) format('woff2'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff) format('woff'),
url(https://fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.otf) format('opentype');
}

/* WEBフォント：英語 */
.WF1 {
font-family: 'Noto Serif JP', serif;
font-weight: normal;
letter-spacing: 0.08em;
}

.WF2 {
font-family: 'Amiri', serif;
letter-spacing: 0.08em;
}

.WF3 {
font-family: 'Roboto', sans-serif;
letter-spacing: 0.08em;
}

.WF4 {
font-family: 'Noto Serif JP', serif;
font-weight: normal;
}

/* フォントファミリー */
@media only screen and (max-width: 767px) {

	body {
	font-family: Sans-Serif;
	}

}

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

	body {
	font-family: "Noto Sans Japanese","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",Sans-Serif;
	}

}

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

}


/* 基準サイズ --------------------------------------------------- */

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

	body {
	font-size: 15px; 
	}

	h1,h2,h3,h4,h5,h6,p,th,td,dl,ul,ol,caption,blockquote,input,select,textarea,div {
	line-height: 1.8em;
	}

}

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

	body {
	font-size: 12px;
	}

	h1,h2,h3,h4,h5,h6,p,th,td,dl,ul,ol,caption,blockquote,input,select,textarea,div {
	line-height: 2.0em;
	}

}

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

	/* 基準フォントサイズ：15px */
	body {
	font-size: 15px;
	}

	h1,h2,h3,h4,h5,h6,p,th,td,dl,ul,ol,caption,blockquote,input,select,textarea,div {
	line-height: 2.0em;
	}

	/* 基準フォントサイズ：16px */
/*
	body {
	font-size: 16px;
	}

	h1,h2,h3,h4,h5,h6,p,th,td,dl,ul,ol,caption,blockquote,input,select,textarea,div {
	line-height: 2.2em;
	}
*/

}



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

/* 
本文・body背景
リンク
アラート
テキスト個別
ボーダー個別
背景個別
*/


/* 本文・body背景 --------------------------------------------------- */

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


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

a:link {
color: #1567a6;
text-decoration: none;
}

a:active {
color: #1567a6;
text-decoration: none;
}

a:visited {
color: #1567a6;
text-decoration: none;
}

a:hover {
color: #1567a6;
text-decoration: none;
}

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

}

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

}

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

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

	a:hover {
	opacity: 0.7;
	}

}


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

.Alert {
color: #e90000;
}

.Box.Alert,
.Box1.Alert {
border-color: #e90000;
}


/* テキスト個別 --------------------------------------------------- */

.TxtColor1 {
color: #b8b8b8 !important;
}

.TxtColor2 {
color: #b8b8b8 !important;
}

.TxtColor3 {
color: #b8b8b8 !important;
}


/* ボーダー個別 --------------------------------------------------- */

.BorderColor1 {
border-color: #ccc !important;
}

.BorderColor2 {
border-color: #ccc !important;
}

.BorderColor3 {
border-color: #ccc !important;
}


/* 背景個別 --------------------------------------------------- */

.BgColor1 {
background-color: #f6f4f1 !important;
}

.BgColor2 {

}

.BgColor3 {

}



/* ■ 汎用 ==================================================================================== */
#Wrapper {
min-width: 320px;
}

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

.Disabled:hover {
opacity: 0.3;
}

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

	.PC {
	display: none !important;
	}

	.SE {
	display: none !important;
	}
	
}

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

	.SP {
	display: none !important;
	}
	
	.SE {
	display: none !important;
	}
}

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

}


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

	.SE {
	display: block !important;
	}	
 
}



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



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

#Header,
#GlobalNav,
#FooterNav,
#BannerNav,
#Stage {
width: 100%;
}

@media only screen and (max-width: 767px) {
	
	.ContentsUnit,
	.Width1,
	.Width2 {
	padding: 0 15px;
	}

}

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

	#GlobalNavUnit,
	#FooterNavUnit,
	#PageWrap,
	.TopicPathUnit,
	.Width1,
	.Width2 {
	max-width: 1090px;
	margin: 0 auto;
	padding: 0 20px;
	}
	
	.BreadCrumbUnit {
	padding: 0 20px;
	}

}

@media print, screen and (min-width: 1090px) {
	
	#GlobalNavUnit,
	#FooterNavUnit,
	#PageWrap,
	.TopicPathUnit,
	.Width1,
	.Width2 {
	padding: 0 40px;
	}

}



/* ■ ヘッダー（Header） ==================================================================================== */

.HeaderWrap {
/* position: fixed; */
width: 100%;
background: #fff;
z-index: 2000;
}

/* Logo */
#HeaderUnit .Logo a {
display: block;
}

#HeaderUnit .ServiceName {
display: block;
line-height: 1.0em;
text-indent: -9999px;
background: url(/img/common/header/Logo.png) no-repeat;
background-size: cover;
}

#HeaderUnit .TagLine {
display: block;
line-height: 1.0em;
font-weight: 300;
color: #000;
}

#HeaderUnit .FreeDial .TelNum a {
color: #b9335f;
}

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

	#Header {
	width: 100%;
	height: 75px;
	border-bottom: 5px solid #b9335f;
	}
	
	#HeaderUnit {
	margin: 0 auto;
	}
		
	/* Logo */
	#HeaderUnit .Logo {
	padding: 10px 0 20px 0;
	}
	
	#HeaderUnit .TagLine {
	margin-bottom: 10px;
	font-size: 67%;
	text-align: center;
	}
	
	#HeaderUnit .ServiceName {
	width: 187px;
	height: 26px;
	margin: 0 auto;
	}

	/* SubNav */
	#HeaderUnit .SubNavWrap {
	display: none;
	}

}

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

	#Header {
	height: 90px;
	box-sizing: border-box;
	border-bottom: 1px solid #e9e9e9;
	}

	/* Logo */
	#HeaderUnit .Logo {
	float: left;
	width: 40%;
	padding: 16px 0 18px 25px;
	}

	#HeaderUnit .TagLine {
	margin-bottom: 14px;
	font-size: 87%;
	}
	
	#HeaderUnit .ServiceName {
	width: 220px;
	height: 30px;
	}
	
	/* SubNav */
	#HeaderUnit .SubNavWrap {
	float: right;
	width: 55%;
	}

	#HeaderUnit .FreeDial {
	float: left;
	width: 50%;
	padding-top: 22px;
	}
	
	#HeaderUnit .FreeDial .TelNum {
	position: relative;
	margin-bottom: 6px;
	padding-left: 37px;
	font-size: 192%;
	line-height: 1.0em;
	color: #b9335f;
	}
	
	#HeaderUnit .FreeDial .TelNum:before  {
	display: inline-block;
	position: absolute;
	top:0;
	left: 0;
	width: 31px;
	height: 17px;
	margin-top: 2px;
	background: url(/img/common/icon/Icon_FreeDial.png) no-repeat center top;
	background-size: contain;
	content: '';
	}
	
	#HeaderUnit .FreeDial .TelNum a {
	pointer-events: none;
	}
	
	#HeaderUnit .FreeDial .Reception {
	font-size: 93%;
	line-height: 1.0em;
	letter-spacing: 0.08em;
	color: #000;
	}
	
	#HeaderUnit .SubNav {
	float: left;
	width: 50%;
	}
	
	#HeaderUnit .SubNav li {
	display: inline;
	}
	
	#HeaderUnit .SubNav li a {
	display: block;
	float: left;
	position: relative;
	width: 50%;
	border-left: 1px solid #91294b;
	background: #b9335f;
	color: #fff;
	height: 90px;
	font-size: 87%;
	text-align: center;
	}
	
	#HeaderUnit .SubNav li a span {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
  	bottom: 12px;
  	margin: auto;
	}
	
	#HeaderUnit .SubNav li a:before {
	display: block;
	position: absolute;
	left: 50%;
	content: '';
	}
	
	#HeaderUnit .SubNav .Menu1 a:before {
	top: 25px;
	width: 23px;
	height: 17px;
	margin-left: -11px;
	background: url(/img/common/icon/Icon_Mail.png) no-repeat center top;
	background-size: contain;
	}

	#HeaderUnit .SubNav .Menu2 a:before {
	top: 24px;
	width: 28px;
	height: 20px;
	margin-left: -14px;
	background: url(/img/common/icon/Icon_Counselling.png) no-repeat center top;
	background-size: contain;
	}
	
}

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

	/* Logo */
	#HeaderUnit .Logo {
	width: 35%;
	}
	
	/* SubNav */
	#HeaderUnit .SubNavWrap {
	width: 50%;
	}
	
	#HeaderUnit .FreeDial {
	width: 45%;
	padding-top: 17px;
	}
	
	#HeaderUnit .FreeDial .TelNum {
	padding-left: 39px;
	}
	
	#HeaderUnit .FreeDial .TelNum:before  {
	width: 33px;
	height: 19px;
	margin-top: 3px;
	}
	
	#HeaderUnit .SubNav {
	width: 55%;
	}
	
	#HeaderUnit .SubNav li a {
	font-size: 94%;
	}

}



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

#GlobalNav {

}

#GlobalNavUnit li a {
display: block;
font-family: 'Noto Serif JP', serif;
font-weight: 300;
text-align: center;
letter-spacing: 0.08em;
color: #000;

}

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

	#GlobalNav {
	box-shadow: 0 32px 30px -25px rgba(53, 47, 47, 0.15);
	}
	
	#GlobalNavUnit li {
	float: left;
	width: 33.33333%;
	}

	#GlobalNavUnit .sm li {
	float: none;
	width: 100%;
	text-align: left;
	}
	
	#GlobalNavUnit li a {
	padding: 15px 0;
	border-right: 1px solid #dbdbdb;
	border-bottom: 1px solid #dbdbdb;
	box-sizing: border-box;
	font-size: 87%;
	line-height: 1.0em;
	}
	
	#GlobalNavUnit li:nth-child(3n) a {
	border-right: none;
	}

	#GlobalNavUnit li:nth-child(n+4) a {
	border-bottom: none;
	}
	
	#GlobalNavUnit li a:link,
	#GlobalNavUnit li a:active,
	#GlobalNavUnit li a:visited,
	#GlobalNavUnit li a:hover {
	text-decoration: none;
	}

}

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

	#GlobalNav {
	height: 60px;
	box-shadow: 0 32px 30px -25px rgba(53, 47, 47, 0.15);
	}

	#GlobalNavUnit {
	padding-top: 16px;
	}
	
	#GlobalNavUnit li {
	float: left;
	width: 16.6666%;
	}

	#GlobalNavUnit li a {
	box-sizing: border-box;
	border-left: 1px solid #dbdbdb;
	font-size: 114%;
	}
	
	#GlobalNavUnit li:last-child a {
	border-right: 1px solid #dbdbdb;
	}
	
	#GlobalNavUnit li.Current .Parent a {
	
	}

	/* 下層メニュー */
/*
	#GlobalNav .Level2 {
	position: absolute;
	z-index: 1000;
	}
	
	#GlobalNav .Level2 li {
	display: block;
	float: none;
	width: 100%;
	border: none;
	text-align: left;
	background-color: #ccc;
	}
	
*/
	/* SmartMenus設定 --------------------------------------------------- */

	/* 親メニュー選択時（.highlighted）基本hover色と同じ */
/*
	#GlobalNav .Parent a.highlighted {
	background-color: #bb2218;
	}
*/

}

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



}



/* ■ パン屑リスト（TopicPath） ==================================================================================== */

.TopicPathUnit li,
.BreadCrumbUnit li {
display: inline;
position: relative;
margin-right: 4px;
padding-left: 14px;
line-height: 1.5em;
}

.TopicPathUnit li:after,
.BreadCrumbUnit li:after {
display: block;
position: absolute;
left: -1px;
top: 50%;
width: 6px;
height: 6px;
margin-top: -3px;
border-top: solid 1px #b9335f;
border-right: solid 1px #b9335f;
-ms-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
content: '';
}

.TopicPathUnit li:first-child,
.BreadCrumbUnit li:first-child {
padding-left: 13px;
background-image: url(/img/common/icon/Icon_PathHome.png);
background-repeat: no-repeat;
}

.TopicPathUnit li:first-child:after,
.BreadCrumbUnit li:first-child:after {
display: none;
}

.TopicPathUnit li a,
.BreadCrumbUnit li a {
color: #b9335f;
}

.TopicPathUnit li:last-child a,
.BreadCrumbUnit li:last-child a {
color: #000;
text-decoration: none;
}

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

	.TopicPath,
	.BreadCrumb {
	margin-bottom: 15px;
	width: 100%;
	-webkit-overflow-scrolling: touch;
	overflow-x: scroll;
	white-space: nowrap;
	}

	.TopicPathUnit,
	.BreadCrumbUnit {
	width: 100%;
	white-space: nowrap;
	}

	.TopicPathUnit li,
	.BreadCrumbUnit li {
	display: inline-block;
	max-width: 200px;
	font-size: 72%;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	}

	.TopicPathUnit li:first-child,
	.BreadCrumbUnit li:first-child {
	background-size: 8px auto;
	background-position: 0 50%;
	}

}

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

	.TopicPath,
	.BreadCrumb {
	margin-bottom: 30px;
	}

	.TopicPathUnit li,
	.BreadCrumbUnit li {
	font-size: 79%;
	}

	.TopicPathUnit li:first-child,
	.BreadCrumbUnit li:first-child {
	background-size: 8px auto;
	background-position: 0 52%;
	}
	
}

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

	.TopicPath,
	.BreadCrumb {
	margin-bottom: 40px;
	}

}



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

#PageTop {
display: none;
position: fixed;
z-index: 3000;
right: 20px;
bottom: 20px;
}

@media only screen and (max-width: 767px) {
	
	#PageTop {
	right: 10px;
	bottom: 80px;
	}

	#PageTop img {
	width: 40px;
	height: auto;
	}

}

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

	#PageTop img {
	width: 60px;
	height: auto;
	}

}


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

}



/* ■ 常に横にいるボタン（ContactSideNavWrap） ==================================================================================== */

@media print, screen and (min-width: 768px) {
	
	#ContactSideNavWrap {
	display:none;
	}
	
	#ContactSideNavWrap .ContactNav {
	position: fixed;
	top: 100px;
	right: 0;
	z-index: 3;
	box-shadow: -2px 4px 8px rgba(53, 47, 47, 0.15);
	}
	
	#ContactSideNavWrap .ContactNav li a {
	display: block;
	position: relative;
	width: 90px;
	height: 90px;
	border-bottom: 1px solid #91294b;
	background: #b9335f;
	font-size: 74%;
	text-align: center;
	line-height: 1.5em;
	color: #fff;
	}
	
	#ContactSideNavWrap .ContactNav li:last-child a {
	border-bottom: none;
	}
	
	#ContactSideNavWrap .ContactNav li a:before {
	display: block;
	position: absolute;
	left: 50%;
	content: '';
	}
	
	#ContactSideNavWrap .ContactNav li.Menu1 a:before {
	top: 20px;
	width: 24px;
	height: 22px;
	margin-left: -9px;
	background: url(/img/common/icon/Icon_Tel.png) no-repeat center top;
	background-size: contain;
	}
	
	#ContactSideNavWrap .ContactNav li.Menu2 a:before {
	top: 20px;
	width: 23px;
	height: 17px;
	margin-left: -11px;
	background: url(/img/common/icon/Icon_Mail.png) no-repeat center top;
	background-size: contain;
	}
	
	#ContactSideNavWrap .ContactNav li.Menu3 a:before {
	top: 15px;
	width: 28px;
	height: 20px;
	margin-left: -10px;
	background: url(/img/common/icon/Icon_Counselling.png) no-repeat center top;
	background-size: contain;
	}
	
	#ContactSideNavWrap .ContactNav li a span {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 20px;
	margin: auto;
	}
	
	#ContactSideNavWrap .ContactNav li.Menu1 a span {
	display: block;
	position: absolute;
	left: 6px;
	}
	
	#ContactSideNavWrap .ContactNav li.Menu3 a span {
	display: block;
	position: absolute;
	bottom: 15px;
	}

}



/* ■ 常に下にいるボタン（ContactBottomNavWrap） ==================================================================================== */

@media only screen and (max-width: 767px) {
	
	#ContactBottomNavWrap {
	display:none;
	}
	
	#ContactBottomNavWrap .ContactNav {
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 3;
	box-shadow: 0 -8px 10px rgba(53, 47, 47, 0.15);
	}
	
	#ContactBottomNavWrap .ContactNav li {
	width: 30%;
	}
	
	#ContactBottomNavWrap .ContactNav li:last-child {
	width: 40%;
	}

	#ContactBottomNavWrap .ContactNav li a {
	display: block !important;
	position: relative;
	width: 100%;
	height: 70px;
	border-right: 1px solid #91294b;
	background: #b9335f;
	font-size: 74%;
	text-align: center;
	line-height: 1.5em;
	color: #fff;
	}
	
	#ContactBottomNavWrap .ContactNav li:last-child a {
	border-right: none;
	}
	
	#ContactBottomNavWrap .ContactNav li a:before {
	display: block;
	position: absolute;
	top: 12px;
	left: 50%;
	content: '';
	}
	
	#ContactBottomNavWrap .ContactNav li.Menu1 a:before {
	width: 24px;
	height: 22px;
	margin-left: -9px;
	background: url(/img/common/icon/Icon_Tel.png) no-repeat center top;
	background-size: contain;
	}
	
	#ContactBottomNavWrap .ContactNav li.Menu2 a:before {
	top: 14px;	
	width: 23px;
	height: 17px;
	margin-left: -11px;
	background: url(/img/common/icon/Icon_Mail.png) no-repeat center top;
	background-size: contain;
	}
	
	#ContactBottomNavWrap .ContactNav li.Menu3 a:before {
	width: 28px;
	height: 20px;
	margin-left: -10px;
	background: url(/img/common/icon/Icon_Counselling.png) no-repeat center top;
	background-size: contain;
	}
	
	#ContactBottomNavWrap .ContactNav li a span {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 12px;
	margin: auto;
	}
	
	#ContactBottomNavWrap .ContactNav li.Menu1 a span {
	display: block;
	position: absolute;
	left: 6px;
	}
	
	#ContactBottomNavWrap .ContactNav li.Menu3 a span {
	display: block;
	position: absolute;
	bottom: 15px;
	}
 
}



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

/* 見出し（カテゴリ名） */
#FooterNavUnit .Unit h2 {
font-family: 'Noto Serif JP', serif;
font-weight: 300;
letter-spacing: 0.08em;
}
	
#FooterNavUnit .Unit h2 a {
display: block;
}

@media only screen and (max-width: 767px) {
	
	#FooterNav {
	padding: 35px 0 40px 0;
	background: #f6f4f1;
	}

	.OpenCloseUnit {
	display: none;
	}

	#FooterNavUnit {
	padding: 0 15px;
	box-sizing: border-box;
	}

	#FooterNavUnit a {
	color: #000;
	}
	
	#FooterNavUnit .OpenCloseUnit a {
	display: block;
	position: relative;
	border-bottom: 1px solid #e9e8e5;
	background: #fff;
	padding: 15px 40px 15px 15px;
	}
	
	#FooterNavUnit .OpenCloseUnit a:after {
	display: inline-block;/*忘れずに！*/
	position: absolute;
	top: 50%;
	right: 15px;
	width: 19.5px;
	height: 7px;
	margin-top: -3.5px;
	background: url(/img/common/icon/Icon_LinkAllow1.png) no-repeat right center;
	background-size: contain;
	vertical-align: middle;
	content: '';
	}

	/* 見出し（カテゴリ名） */
	#FooterNavUnit .Unit h2 a {
	position: relative;
	padding: 18px 15px;
	border-bottom: 1px solid #8a7453;
	font-size: 120%;
	line-height: 1.0em;
	}

	#FooterNavUnit .Unit:first-of-type h2 a {
	border-top: 1px solid #8a7453;
	}

	#FooterNavUnit .Unit h2 a:before,
	#FooterNavUnit .Unit h2 a:after {
	display: block;
	position: absolute;
	background-color: #b9335f;
	content: "";
	}

	#FooterNavUnit .Unit h2 a:before {
	top: 50%;
	right: 18px;
	width: 14px;
	height: 1px;
	margin-top: -1px;
	}

	#FooterNavUnit .Unit h2 a:after {
	top: 50%;
	right: 24px;
	width: 1px;
	height: 14px;
	margin-top: -7px;
	}

	#FooterNavUnit .Unit h2 a.Current {
	background: #ad9e84;
	border-bottom: none;
	color: #fff;
	}

	#FooterNavUnit .Unit h2 a.Current:before {
	background-color: #fff;
	}

	#FooterNavUnit .Unit h2 a.Current:after {
	display: none;
	}

}

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

	#FooterNavUnit .OpenCloseUnit a {
	font-size: 80%;
	}
	
}

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

	#FooterNav {
	padding: 75px 0 90px 0;
	background: #f6f4f1;
	}
	
	#FooterNavUnit {	
	display: table;
	width: 100%;
	}
	
	#FooterNavUnit .Unit {
	display: table-cell;
	width: 25%;
	padding-left: 3%;
	overflow: hidden;
	}

	#FooterNavUnit .Unit:first-child {
	width: 55%;
	padding-left: 0;
	}

	/* 見出し（カテゴリ名） */
	#FooterNavUnit h2 {
	margin-bottom: 25px;
	padding-top: 20px;
	border-top: 1px solid #8a7453;
	font-size: 134%;
	line-height: 1.5em;
	}
	
	#FooterNavUnit h2 a {
	color: #8a7453;
	}

	/* 子メニュー */
	#FooterNavUnit ul {
	margin-bottom: 15px;
	}
	
	#FooterNavUnit .Unit:first-child ul {
	float: left;
	width: 46%;
	}
	
	#FooterNavUnit .Unit:first-child ul:last-child {
	float: right;
	}

	#FooterNavUnit ul li {
	margin-bottom: 16px;
	font-size: 87%;
	line-height: 1.6em;
	}
	
	#FooterNavUnit ul li a {
	display: block;
	position: relative;
	padding-left: 18px;
	color: #000;
	}

	#FooterNavUnit ul li a:before {
	position: absolute;
	top: 0.7em;
	left: 0;
	width: 8px;		
	border-top: 1px solid #b9335f;
	content: "";
	}

}

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

	
}



/* ■ バナーナビ（BannerNav） ==================================================================================== */

@media only screen and (max-width: 767px) {
	
	#BannerNav {
	padding: 22px 35px;
	box-sizing: border-box;
	background: #f1ece5;
	}
	
	/* 子メニュー */
	#BannerNavUnit ul {
	width: 100%;
	}
	
	#BannerNavUnit ul li {
	margin-bottom: 10px;
	}
	
	#BannerNavUnit ul li:last-child {
	margin-bottom: 0;
	}

}

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

	#BannerNav {
	padding: 45px 0;
	background: #f1ece5;
	}
	
	#BannerNavUnit {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
	}
	
	/* 子メニュー */
	#BannerNavUnit ul {
	width: 100%;
	}
	

	#BannerNavUnit ul li {
	float: left;
	width: 32%;
	margin-right: 2%;
	border: 1px solid #e9e9e9;
	box-sizing: border-box;
	}
	
	#BannerNavUnit ul li:last-child {
	margin-right: 0;	
	}
	

}

@media print, screen and (min-width: 1090px) {
	
	#BannerNavUnit {
	padding: 0;
	}

}





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

#FooterUnit .SubNav li {
display: inline;
}

#FooterUnit .Credit .Logo a {
display: block;
text-indent: -9999px;
background: url(/img/common/footer/Logo.png) no-repeat;
}

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

	#Footer {
	padding: 35px 15px 25px 15px;
	box-sizing: border-box;
	}
	
	/* SubNav */
	#FooterUnit .SubNav {
	margin-bottom: 35px;
	}

	#FooterUnit .SubNav li a {
	display: block;
	position: relative;
	padding: 15px 40px 15px 15px;
	border-bottom: 1px solid #e9e8e5;
	background: #fff;
	color: #000;
	}

	#FooterUnit .SubNav li a:after {
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 19.5px;
	height: 7px;
	margin-top: -3.5px;
	background: url(/img/common/icon/Icon_LinkAllow1.png) no-repeat right center;
	background-size: contain;
	vertical-align: middle;
	content: '';
	}

	#FooterUnit .SubNav li:first-child a {
	border-top: 1px solid #e9e8e5;
	}
	
	/* クレジット */
	#FooterUnit .Logo {
	margin-bottom: 10px;
	}
	
	#FooterUnit .Logo a {
	width: 183px;
	height: 23px;
	background-size: contain !important;
	}
	
	#FooterUnit .Copyright {
	display: inline-block;
	font-size: 65%;
	}

}

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

	#Footer {
	padding-top: 30px;
	padding-bottom: 40px;
	}
	
	#FooterUnit {
/* 	max-width: 685px; */
	max-width: 460px;
	margin: 0 auto;
	}
	
	/* SubNav */
	#FooterUnit .SubNav {
	display: block;
	margin-bottom: 65px;
	overflow: hidden;
	}
	
	#FooterUnit .SubNav li {
	zoom: 1;
	}
	
	#FooterUnit .SubNav li a {
	display: block;
	float: left;
/* 	width: 33.33333%; */
	width: 50%;
	box-sizing: border-box;
	border-left: 1px solid #dbdbdb;
	font-size: 94%;
	text-align: center;
	color: #000;
	}
	
	#FooterUnit .SubNav li:last-child a {
	border-right: 1px solid #dbdbdb;
	}
	
	/* クレジット */
	#FooterUnit .Credit {
	text-align: center;
	}
	
	#FooterUnit .Logo {
	margin-bottom: 25px;
	}
	
	#FooterUnit .Logo a {
	margin: 0 auto;
	width: 233px;
	height: 29px;
	background-size: contain !important;
	}
	
	#FooterUnit .Copyright {
	display: inline-block;
	font-size: 80%;
	}

}

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

}



/* ■ お問い合わせ（Contact） ==================================================================================== */

#Contact .ContactUnit {
box-sizing: border-box;
border: 1px solid #e3adbf;
}	

#Contact .LeadTitle {
text-align: center;
}

#Contact .FreeDial .TelNum span {
display: inline-block;
position: relative;
color: #b9335f;
}

#Contact .FreeDial .TelNum span:before  {
display: inline-block;
position: absolute;
top: 50%;
left: 0;
background: url(/img/common/icon/Icon_FreeDial.png) no-repeat center top;
background-size: contain;
content: '';
}

#Contact .ContactNav li a {
display: block;
position: relative;
background: #b9335f;
color: #fff;
font-family: 'Noto Serif JP', serif;
font-weight: normal;
letter-spacing: 0.06em;
text-align: center;
}

#Contact .ContactNav li a span {
display: block;
position: absolute;
left: 0;
right: 0;
margin: auto;
}

#Contact .ContactNav li a:before {
display: block;
position: absolute;
left: 50%;
content: '';
}

#Contact .ContactNav li.Menu1 a:before {
background: url(/img/common/icon/Icon_Mail.png) no-repeat center top;
background-size: contain;
}

#Contact .ContactNav li.Menu2 a:before {
background: url(/img/common/icon/Icon_Counselling.png) no-repeat center top;
background-size: contain;
}

@media only screen and (max-width: 767px) {
	
	#Contact .ContactUnit {
	padding: 25px 15px 15px 15px;
	box-sizing: border-box;
	}
	
	#Contact .LeadTitle {
	margin-bottom: 20px;
	font-size: 114%;
	}
	
	#Contact .FreeDial {
	margin: 0 auto 20px auto;
	text-align: center;
	}
	
	#Contact .FreeDial .TelNum {
	display: inline-block;
	margin-bottom: 15px;
	line-height: 1.0em;
	}
		
	#Contact .FreeDial .TelNum span {
	padding-left: 40px;
	font-size: 210%;
	}
	
	#Contact .FreeDial .TelNum span:before  {
	width: 35px;
	height: 20px;
	margin-top: -12px;
	}
	
	#Contact .FreeDial .Reception {
	font-size: 86%;
	line-height: 1.0em;
	}

	#Contact .ContactNav li a {
	height: 110px;
	font-size: 108%;
	line-height: 1.6em;
	}
	
	#Contact .ContactNav li.Menu1 a span {
	bottom: 25px;
	}
	
	#Contact .ContactNav li.Menu2 a span {
	bottom: 15px;
	}
	
	#Contact .ContactNav li.Menu1 a:before {
	top: 22px;
	width: 23px;
	height: 17px;
	margin-left: -11px;
	}
	
	#Contact .ContactNav li.Menu2 a:before {
	top: 22px;
	width: 28px;
	height: 20px;
	margin-left: -14px;
	}

}

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

	#Contact .LeadTitle {
	margin-bottom: 15px;
	font-size: 100%;
	}
	
	#Contact .FreeDial .TelNum span {
	padding-left: 35px;
	font-size: 200%;
	}
	
	#Contact .FreeDial .TelNum span:before  {
	width: 30px;
	height: 15px;
	margin-top: -7.5px;
	}
	
	#Contact .ContactNav li a {
	font-size: 94%;
	line-height: 1.5em;
	}
	
}

@media print, screen and (min-width: 768px) {
	
	#Contact .ContactUnit {
	padding: 60px 0 40px 0;
	}
	
	#Contact .InBox {
	max-width: 490px;
	margin: 0 auto;
	}
	
	#Contact .LeadTitle {
	margin-bottom: 35px;
	font-size: 172%;
	}
	
	#Contact .FreeDial {
	margin: 0 auto 45px auto;
	text-align: center;
	}
	
	#Contact .FreeDial a {
	pointer-events: none;
	}

	#Contact .FreeDial .TelNum {
	display: inline-block;
	margin-bottom: 20px;
	line-height: 1.0em;
	}
		
	#Contact .FreeDial .TelNum span {
	margin-bottom: 6px;
	padding-left: 58px;
	font-size: 390%;
	}
	
	#Contact .FreeDial .TelNum span:before  {
	width: 48px;
	height: 28px;
	margin-top: -14px;
	}
	
	#Contact .FreeDial .Reception {
	font-size: 108%;
	line-height: 1.0em;
	}
	
	#Contact .ContactNav li a {
	height: 110px;
	font-size: 134%;
	}
	
	#Contact .ContactNav li a span {
  	bottom: 30px;
	}
	
	#Contact .ContactNav li.Menu1 a:before {
	top: 25px;
	width: 23px;
	height: 17px;
	margin-left: -11px;
	}
	
	#Contact .ContactNav li.Menu2 a:before {
	top: 24px;
	width: 28px;
	height: 20px;
	margin-left: -14px;
	}	
		
}

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

	#Contact .InBox {
	max-width: 660px;
	}
	
}





/* ■ ヘッダー・フッター以外の領域指定（Stage） ==================================================================================== */

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

	#Stage {
	margin-bottom: 30px;
	}

}

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

	#Stage {
	margin-bottom: 50px;
	}

}

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

}



/* ■ ローカルナビ（LocalNav） ==================================================================================== */

/* 見出し（カテゴリ名） */
#LocalNavArea h2.Mds {
margin-bottom: 10px;
}

#LocalNavArea h2.Mds a {
display: block;
width: 100%;
background-color: #b9335f;
font-family: 'Noto Serif JP', serif;
font-weight: normal;
letter-spacing: 0.08em;
text-align: center;
line-height: 1em;
color: #fff;
}

.LocalNav li a,
.LocalNav li.Disabled {
display: block;
box-sizing: border-box;
font-weight: normal;
color: #000;
text-decoration: none;
}

/* 親メニュー */
.LocalNav .Parent a {
position: relative;
border-bottom: 1px solid #b9335f;
font-family: 'Noto Serif JP', serif;
letter-spacing: 0.05em;
}

.LocalNav .Level1:first-child .Parent a {
border-top: 1px solid #b9335f;
}


.LocalNav .Parent a:before,
.LocalNav .Parent a:after {
display: block;
position: absolute;
background-color: #b9335f;
content: "";
}

.LocalNav .Parent a:before {
top: 50%;
}

.LocalNav .Parent a:after {
top: 50%;
}

.LocalNav.NotOpen .Parent a:before {
display: none;
}

.LocalNav.NotOpen .Parent a:after {
top: 50%;
background: url(/img/common/icon/Icon_LinkAllow1.png) no-repeat right center;
background-size: contain;
vertical-align: middle;
}

.LocalNav .Current .Parent a {
background-color: #ad9e84;
border-top: none !important;
border-bottom: none !important;
color: #fff;
}

.LocalNav .Current .Parent a:before {
background-color: #fff;
}

.LocalNav .Current .Parent a:after {
display: none;
}

.LocalNav.NotOpen .Current .Parent a:before {
display: none;
}

/*
.LocalNav .InPage .Parent a {
pointer-events: none !important;
}

.LocalNav .InPage .Parent a:before {
display: none;
}
*/
		
/* 子メニュー */
.LocalNav .Level2 {
display: none;
}

.LocalNav .Current .Level2 {
display: block;
}

.LocalNav .Level2 li {
border-bottom: 1px solid #e9e8e5;
}

.LocalNav .Level2 li:last-child {
border-bottom: none;
}

.LocalNav .Level2 a {
position: relative;
background-color: #f6f4f1;
}

.LocalNav .Level2 a:after {
display: inline-block;
position: absolute;
top: 50%;
background: url(/img/common/icon/Icon_LinkAllow1.png) no-repeat right center;
background-size: contain;
vertical-align: middle;
content: '';
}

.LocalNav .Level2 .Current a {
background-color: #ebe7e1;
}

/*
.LocalNav li.Disabled {
background-image: none;
}

.LocalNav li.Disabled span {
opacity: 0.25;
}
*/


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

	#LocalNavArea {
	padding: 0 15px;
	}
	
	/* 見出し（カテゴリ名） */
	#LocalNavArea h2.Mds {
	margin-bottom: 10px;
	}
	
	#LocalNavArea h2.Mds a {
	font-size: 134%;
	padding: 15px 0;
	}
	
	/* 親メニュー */
	.LocalNav .Parent a {
	padding: 15px 60px 15px 15px;
	font-size: 100%;
	line-height: 1.5em;
	}

	.LocalNav .Parent a:before {
	right: 18px;
	width: 14px;
	height: 1px;
	margin-top: -1px;
	}
	
	.LocalNav .Parent a:after {
	right: 24px;
	width: 1px;
	height: 14px;
	margin-top: -7px;
	}
	
	.LocalNav.NotOpen .Parent a:after {
	right: 15px;
    width: 19.5px;
    height: 7px;
    margin-top: -3.5px;
	}

	/* 子メニュー */
	.LocalNav .Level2 a {
	padding: 15px 60px 15px 15px;
	font-size: 94%;
	line-height: 1.6em;
	}

	.LocalNav .Level2 a:after {
	right: 15px;
	width: 19.5px;
	height: 7px;
	margin-top: -3.5px;
	}

}

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

	#LocalNavArea {
	float: right;
	width: 25%;
	}
	
	/* 見出し（カテゴリ名） */
	#LocalNavArea h2.Mds a {
	font-size: 134%;
	padding: 25px 0;
	}

	/* 親メニュー */
	.LocalNav .Parent a {
	padding: 15px 45px 15px 15px;
	font-size: 107%;
	line-height: 1.5em;
	}

	.LocalNav .Parent a:before {
	right: 15px;
	width: 13px;
	height: 1px;
	margin-top: -0.5px;
	}
	
	.LocalNav .Parent a:after {
	right: 21px;
	width: 1px;
	height: 13px;
	margin-top: -6.5px;
	}

	.LocalNav.NotOpen .Parent a:after {
	right: 15px;
    width: 19.5px;
    height: 7px;
    margin-top: -3.5px;
	}

	/* 子メニュー */
	.LocalNav .Level2 a {
	padding: 15px 40px 15px 15px;
	font-size: 94%;
	line-height: 1.6em;
	}

	.LocalNav .Level2 a:after {
	right: 15px;
	width: 14px;
	height: 6px;
	margin-top: -3px;
	}

}

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

	/* 見出し（カテゴリ名） */
	#LocalNavArea h2.Mds a {
	padding: 25px 0;
	font-size: 147%;
	}

}



/* ■ コンテンツ領域（Contents） ==================================================================================== */

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

	#PageSubPage #Contents {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #e9e9e9;
	}

	#Contents2 {

	}

}

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

	#PageSubPage #Contents {
    float: left;
    width: 71.5%;
	}
	
	#Contents2 {
	}
	
	#Contents3 {
	}

}

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

}



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

/* h1 */
.MdsH1 {
font-family: 'Noto Serif JP', serif;
font-weight: normal;
/* letter-spacing: 0.10em; */
}
	
/* h2 */
.MdsH2 {
font-family: 'Noto Serif JP', serif;
font-weight: normal;
/* letter-spacing: 0.08em; */
line-height: 1.6em;
color: #8a7453;
}

/* h3 */
.MdsH3 {

}

/* h4 */
.MdsH4 {
position: relative;
margin-bottom: 5px;
}

.MdsH4:before {
position: absolute;
left: 0;
background: #000;
content: "";
}
	
/* h5 */
.MdsH5 {
margin-bottom: 0;
font-size: 100%;
line-height: 1.4em;
}

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

	/* h1 */
	.MdsH1 {
	font-size: 158%;
	}
	
	/* h2 */
	.MdsH2 {
	margin-bottom: 20px;
	font-size: 147%;
	}
	
	/* h3 */
	.MdsH3 {
	margin-bottom: 15px;
	font-size: 120%;
	line-height: 1.7em;
	}

	.MdsH3 span {
	color: #91294b;
	}

	/* h4 */
	.MdsH4 {
	padding-left: 16px;
	font-size: 108%;
	line-height: 1.4em;
	}

	.MdsH4:before {
	top: 5px;
	width: 11px;
	height: 11px;
	}

}

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

	/* h1 */
	.MdsH1 {
	max-width: 1090px;
	margin: 0 auto;
	font-size: 250%;
	padding: 0 20px;
	}
	
	/* h2 */
	.MdsH2 {
	margin-bottom: 25px;
	font-size: 200%;
	}
	
	/* h3 */
	.MdsH3 {
	margin-bottom: 15px;
	font-size: 134%;
	font-weight: 500;
	line-height: 1.8em;
	}

	.MdsH3 span {
	color: #91294b;
	}
	
	/* h4 */
	.MdsH4 {
	padding-left: 14px;
	font-size: 108%;
	line-height: 1.8em;
	}

	.MdsH4:before {
	top: 7px;
	width: 10px;
	height: 10px;
	}

}

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

	/* h1 */
	.MdsH1 {
	}
	
	/* h2 */
	.MdsH2 {
	margin-bottom: 30px;
	}
	
	/* h3 */
	.MdsH3 {
	}
	
	/* h4 */
	.MdsH4 {
	margin-bottom: 10px;
	padding-left: 18px;
	}

	.MdsH4:before {
	left: 0;
	top: 8px;
	width: 12px;
	height: 12px;
	}
	
	/* h5 */
	.MdsH5 {
	margin-bottom: 0;
	}

}

/* ボーダー */
.MdsH2BorderTop1 {
padding-top: 30px;
border-color: #8a7453;
border-top: 2px solid #8a7453;
}

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

	.MdsH2BorderTop1 {
	padding-top: 18px;
	border-top: 1px solid;
	}
}

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

	.MdsH2BorderTop1 {
	padding-top: 30px;
	border-top: 2px solid;
	}

}



/* ■ メインリード（LeadMain） ==================================================================================== */

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

	.LeadMain {
	margin-bottom: 20px;
	}

}

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

	.LeadMain {
	margin-bottom: 25px;
	}

}

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

	.LeadMain {
	margin-bottom: 30px;
	}

}



/* ■ メインセクション（SectionMain） ==================================================================================== */

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

	.SectionMain,
	.SectionBasic {
	margin-bottom: 40px;
	}

	.SectionMain .Lead1,	
	.SectionBasic .Lead1 {
	margin-bottom: 20px;
	line-height: 2.0em;
	}

	.SectionMain .Lead2,	
	.SectionBasic .Lead2 {
	margin-bottom: 20px;
	}

	.SectionMain .Photo,
	.SectionMain .PhotoM,	
	.SectionBasic .Photo,
	.SectionBasic .PhotoM {
	margin-bottom: 12px;
	}

}

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

	.SectionMain,
	.SectionBasic {
	margin-bottom: 50px;
	}

	.SectionMain .Lead1,	
	.SectionBasic .Lead1 {
	margin-bottom: 35px;
	line-height: 2.5em;
	}

	.SectionMain .Lead2,	
	.SectionBasic .Lead2 {
	margin-bottom: 22px;
	}

	.SectionMain .Photo,
	.SectionMain .PhotoM,	
	.SectionBasic .Photo,
	.SectionBasic .PhotoM {
	margin-bottom: 15px;
	}

}

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

	.SectionMain,
	.SectionBasic {
	margin-bottom: 70px;
	}

	.SectionMain .Lead1,	
	.SectionBasic .Lead1 {

	}

	.SectionMain .Lead2,	
	.SectionBasic .Lead2 {
	margin-bottom: 30px;
	}

	.SectionMain .Photo,
	.SectionMain .PhotoM,	
	.SectionBasic .Photo,
	.SectionBasic .PhotoM {
	margin-bottom: 20px;
	}

}



/* ■ サブセクション（SectionSub） ==================================================================================== */

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

	.SectionSub {
	margin-bottom: 35px;
	}
	
}

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

	.SectionSub {
	margin-bottom: 50px;
	}
	
}

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

	.SectionSub {
	margin-bottom: 70px;
	}

}



/* ■ 関連情報（RelatedInfo） ==================================================================================== */

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

	.RelatedInfo .Mds {
	margin-bottom: 5px;
	font-size: 108%;
	}
	
}

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

	.RelatedInfo .Mds {
	margin-bottom: 5px;
	font-size: 108%;
	}
	
}


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

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

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

.DLHori dl {
border-bottom: 1px solid #e7e7e7;
}

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

	/* 左右（dlh） */
	.DLHori {
	margin-top: -10px;
	}

	.DLHori dt,
	.DLHori dd {
	padding: 10px 0;
	}

}

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

	.DLHori {
	margin-top: -15px;
	}
	
	.DLHori dt,
	.DLHori dd {
	padding: 15px 0;
	}

}

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

}

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

.DLVert dl {
border-bottom: 1px solid #e7e7e7;
}

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

	.DLVert {
	margin-top: -10px;
	}

	.DLVert dl {
	padding: 10px 0;
	}

	.DLVert dt {
	margin-bottom: 3px;
	}

}

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

	.DLVert {
	margin-top: -15px;
	}

	.DLVert dl {
	padding: 15px 0;
	}

	.DLVert dt {
	margin-bottom: 5px;
	}

}

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

}

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

.DLTable {
border-top: 1px solid #b8b8b8;
}

.DLTable dl {
border-left: 1px solid #b8b8b8;
}

.DLTable dt,
.DLTable dd {
padding: 10px 15px;
border-right: 1px solid #b8b8b8;
border-bottom: 1px solid #b8b8b8;
}

.DLTable dt {
background: #f2f2f2;
}

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

}

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

}

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

}


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

.Table1 th,
.Table2 th,
.Table1 td,
.Table2 td {
padding: 10px 15px;
border: 1px solid #d0cbc4;
}

.Table1 th,
.Table2 th {
background: #ebe7e1;
}

.Table1 th {
text-align: center;
}

.Table2 th {
text-align: left;
}

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

@media only screen and (max-width: 767px) {
	
	.Table1 th,
	.Table2 th,
	.Table1 td,
	.Table2 td {
	padding: 12px 10px;
	}

}

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

}

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

}



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

.Box,
.Box1 {
border: 1px solid #b8b8b8;
}

.Box2 {
border: 1px solid #e3adbf;
}


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

	.Box,
	.Box1,
	.Box2 {
	margin-bottom: 15px;
	padding: 15px 15px;
	}

}

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

	.Box,
	.Box1,
	.Box2 {
	margin-bottom: 20px;
	padding: 15px 15px;
	}

}

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

	.Box,
	.Box1,
	.Box2 {
	margin-bottom: 20px;
	padding: 20px 20px;
	}

}



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

/*
ディスク（ListDisc）
ディスク：小（ListDiscS）
米印（ListKome）
米印：小（ListKomeS）
連番（ListNum）
連番：小（ListNumS）
米印連番：小（ListKomeNumS）
*/


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

.ListDisc li {
margin-bottom: 8px;
line-height: 1.8em;
}

.ListDisc li:before {
left: 2px;
border-radius: 100%;
background: #000;
}


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

	.ListDisc li {
	padding-left: 16px;
	}

	.ListDisc li:before {
	left: 2px;
	top: 10px;
	width: 8px;
	height: 8px;
	}

}

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

	.ListDisc li {
	padding-left: 15px;
	}
	
	.ListDisc li:before {
	left: 2px;
	top: 7px;
	width: 8px;
	height: 8px;
	}
	
}

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

	.ListDisc li {
	padding-left: 18px;
	}
	
	.ListDisc li:before {
	top: 9px;
	width: 9px;
	height: 9px;
	}

}

/* IE10以上 */
@media all and (-ms-high-contrast: none) {

	.ListDisc li:before {
	top: 9px;
	}

}

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

	.ListDisc li:before {
	top: 9px;
	}

}


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

.ListDiscS li {
margin-bottom: 5px;
}

.ListDiscS li:before {
border-radius: 100%;
background: #000;
}

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

	.ListDiscS li {
	padding-left: 16px;
	font-size: 86%;
	line-height: 1.7em;
	}
	
	.ListDiscS li:before {
	left: 4px;
	top: 8px;
	width: 6px;
	height: 6px;
	}

	.Android .ListDiscS li:before {
	top: 9px;
	}
	
}

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

	.ListDiscS li {
	padding-left: 15px;
	font-size: 88%;
	line-height: 1.8em;
	}
	
	.ListDiscS li:before {
	left: 4px;
	top: 7px;
	width: 6px;
	height: 6px;
	}
	
}

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

	.ListDiscS li {
	padding-left: 17px;
	}
	
	.ListDiscS li:before {
	top: 9px;
	width: 7px;
	height: 7px;
	}

}

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

	.ListDiscS li:before {
	top: 9px;
	}

}


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

.ListKome li {
margin-bottom: 5px;
}

.ListKome li:before {
left: 1px;
}


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

	.ListKome li {
	padding-left: 17px;
	line-height: 1.8em;
	}

	.ListKome li:before {
	top: 0px;
	font-size: 93%;
	}

	.Android .ListKome li:before {
	top: 1px;
	}
	
}

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

	.ListKome li {
	padding-left: 16px;
	line-height: 1.8em;
	}
	
	.ListKome li:before {
	top: 0;
	font-size: 90%;
	}

}

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

	.ListKome li {
	padding-left: 18px;
	}

	.Win .ListKome li:before {
	top: -1px;
	}

}

/* IE10以上 */
@media all and (-ms-high-contrast: none) {

	.Win .ListKome li:before {
	top: 1px;
	}

}

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

	.ListKome li:before {
	top: 1px;
	}

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

}


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

.ListKomeS li {
margin-bottom: 5px;
line-height: 1.8em;
}

.ListKomeS li:before {
left: 1px;
}

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

	.ListKomeS li {
	padding-left: 16px;
	font-size: 86%;
	}
	
	.ListKomeS li:before {
	top: 0;
	}
	
}

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

	.ListKomeS li {
	padding-left: 13px;
	font-size: 86%;
	}
	
	.ListKomeS li:before {
	top: 0;
	font-size: 84%;
	}
	
}

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

	.ListKomeS li {
	padding-left: 15px;
	}

	.ListKomeS li:before {
	top: 1px;
	font-size: 82%;
	}

	.Win .ListKomeS li:before {
	top: -1px;
	}

}

/* IE10以上 */
@media all and (-ms-high-contrast: none) {

	.Win .ListKomeS li:before {
	top: 1px;
	}

}


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

.ListNum {
padding-left: 4px;
}

.ListNum li {
margin-bottom: 10px;
line-height: 1.8em;
counter-increment: ListNum;
}

.ListNum li:before {
left: 1px;
top: 0;
font-size: 97%;
}

.ListNum li > ol {
margin-top: 10px;
padding-left: 0;
}

.ListNum li > ol li {
counter-increment: Sub;
}

.ListNum li > ol li:before {
content: counter(Sub)".";
}

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

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

	.ListNum li {
	padding-left: 18px;
	}
	
}

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

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

	.ListNum li {
	padding-left: 15px;
	}
	
}

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

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

	.ListNum li {
	padding-left: 18px;
	}

}


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

.ListNumS {
padding-left: 4px;
}

.ListNumS li {
margin-bottom: 5px;
font-size: 86%;
counter-increment: ListNum;
}

.ListNumS li:before {
left: 1px;
top: 0;
font-size: 97%;
}

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

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

	.ListNumS li {
	padding-left: 16px;
	line-height: 1.7em;
	}

	.Android .ListNumS li:before {
	top: 1px;
	}
	
}

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

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

	.ListNumS li {
	padding-left: 13px;
	font-size: 86%;
	line-height: 1.8em;
	}

}

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

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

	.ListNumS li {
	padding-left: 16px;
	}

}


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

.ListKomeNumS li {
margin-bottom: 5px;
counter-increment: ListNum;
}

.ListKomeNumS li:before {
left: 1px;
top: 0;
font-size: 97%;
}

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

	.ListKomeNumS li {
	padding-left: 26px;
	font-size: 86%;
	line-height: 1.7em;
	}

	.Android .ListKomeNumS li:before {
	top: 1px;
	}
	
}

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

	.ListKomeNumS li {
	padding-left: 22px;
	font-size: 88%;
	line-height: 1.8em;
	}
	
}

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

	.ListKomeNumS li {
	padding-left: 25px;
	}

}



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

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

.LinkFwd:after,
.LinkBack:after,
.LinkDown:after,
.LinkUp:after {
display: block;
position: absolute;
left: 0;
top: 50%;
width: 8px;
height: 8px;
margin-top: -4px;
border-top: solid 2px;
border-right: solid 2px;
content: '';
}

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

.LinkNewWin {
padding-right: 15px;
}

.LinkPDF {
padding-left: 20px;
}

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

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

/* 戻る（LinkBack） */
.LinkBack:after {
left: 2px;
-ms-transform: rotate(225deg);
-webkit-transform: rotate(225deg);
transform: rotate(225deg);
}

/* 下へ（LinkDown） */
.LinkDown:after {
margin-top: -5px;
-ms-transform: rotate(135deg);
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
}

/* 下へ（LinkUp） */
.LinkUp:after {
margin-top: -2px;
-ms-transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

/* 別ウインドウ（LinkNewWin） */
.LinkNewWin:before {
right: 0;
top: 50%;
width: 9px;
height: 7px;
margin-top: -2px;
border: 1px solid #185ea7;
background-color: #fff;
}

.LinkNewWin:after {
right: -2px;
top: 40%;
width: 9px;
height: 7px;
margin-top: -2px;
border: 1px solid #185ea7;
border-top: 2px solid;
background-color: #fff;
}

/* PDF（LinkPDF） */
.LinkPDF:before {
left: 0;
top: 50%;
width: 13px;
height: 16px;
margin-top: -8px;
border: 1px solid #a6a6a6;
background-color: #fff;
}

.LinkPDF:after {
left: -2px;
top: 35%;
width: 10px;
height: 4px;
font-size: 6px;
background-color: #cc0000;
}

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

	/* PDF（LinkPDF） */
	.LinkPDF {
	}

}

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

	/* PDF（LinkPDF） */
	.LinkPDF {
	}
	
}

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

	/* PDF（LinkPDF） */
	.LinkPDF {
	}

}



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

.BtnS,
.BtnM,
.BtnL {
display: inline-block;
position: relative;
line-height: 1.0em;
text-align: center;
}

/* 文字サイズ */
.BtnS {
font-size: 93%;
}

.BtnM {
font-size: 100%;
}

.BtnL {
font-size: 115%;
}

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

/* 矢印：左 */
.BtnAllowLeft:after {
left: 8px;
-ms-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

/* 矢印：右 */
.BtnAllowRight:after {
right: 10px;
-ms-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

/* 矢印：戻る */
.BtnAllowBack:after {
left: 10px;
-ms-transform: rotate(225deg);
-webkit-transform: rotate(225deg);
transform: rotate(225deg);
}

/* 矢印：下向き左 */
.BtnAllowDownLeft:after {
left: 10px;
margin-top: -6px;
-ms-transform: rotate(135deg);
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
}

/* 矢印：下向き右 */
.BtnAllowDownRight:after {
right: 10px;
margin-top: -6px;
-ms-transform: rotate(135deg);
-webkit-transform: rotate(135deg);
transform: rotate(135deg);
}

/* 矢印：上向き左 */
.BtnAllowUpLeft:after {
left: 10px;
margin-top: -3px;
-ms-transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

/* 矢印：上向き右 */
.BtnAllowUpRight:after {
right: 10px;
margin-top: -3px;
-ms-transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}

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

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

/* カラー：1 */
.BtnColor1:link,
.BtnColor1:active,
.BtnColor1:visited,
.BtnColor1:hover {
color: #b9335f;
}

.BtnColor1:after {

}

/* カラー：2 */
.BtnColor2:link,
.BtnColor2:active,
.BtnColor2:visited,
.BtnColor2:hover {
color: #fff;
background: #949494;
}

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

/* カラー：3 */
.BtnColor3:link,
.BtnColor3:active,
.BtnColor3:visited,
.BtnColor3:hover {
color: #fff;
background: #970092;
}

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

/* カラー：4 */
.BtnColor4:link,
.BtnColor4:active,
.BtnColor4:visited,
.BtnColor4:hover {
color: #fff;
background: #b9335f;
}


/* ボーダー */
.BtnBorder1 {
border: 1px solid #e3adbf;
box-sizing: border-box;
text-align: left;
}

/* 画像矢印 */
.BtnImgAllowRight1:after {
display: inline-block;
position: absolute;
top: 50%;
background: url(/img/common/icon/Icon_LinkAllow1.png) no-repeat right center;
background-size: contain;
vertical-align: middle;
content: '';
}

.BtnImgAllowRight2:after {
display: inline-block;
position: absolute;
top: 50%;
background: url(/img/common/icon/Icon_LinkAllow2.png) no-repeat right center;
background-size: contain;
vertical-align: middle;
content: '';
}

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

	.BtnImgAllowRight1:after {
	right: 10px;
	width: 19.5px;
	height: 7px;
	margin-top: -3.5px;
	}

	.BtnImgAllowRight2:after {
	right: 10px;
	width: 19.5px;
	height: 7px;
	margin-top: -3.5px;
	}
		
}

@media print, screen and (min-width: 768px) {
	
	.BtnImgAllowRight1:after {
	right: 10px;
	width: 19.5px;
	height: 7px;
	margin-top: -3.5px;
	}	

	.BtnImgAllowRight2:after {
	right: 10px;
	width: 19.5px;
	height: 7px;
	margin-top: -3.5px;
	}
		
}	
	

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

	.BtnS {

	}

	.BtnM {
	width: 100%;
	padding: 14px 16px;
	}
	
	.BtnL {

	}
	
}

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

	.BtnS {

	}
	
	.BtnM {
	width: 45%;
	padding: 12px 15px;

	}
	
	.BtnL {

	}

	/* 矢印：左 */
	.BtnAllowLeft,
	.BtnAllowBack,
	.BtnAllowUpLeft,
	.BtnClose {
	padding-left: 50px;
	}

}

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

	.BtnM {
	width: 40%;
	padding: 12px 15px;
	}
}



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

.PageNation li a {
display: block;
border-radius: 2px;
}

.PageNation li.Prev a,
.PageNation li.Next a {
position: relative;
border: 1px solid #1567a6;
text-indent: -9999px;
background-color: #1567a6;
}

.PageNation li.Prev a:before,
.PageNation li.Next a:before {
display: block;
position: absolute;
top: 50%;
width: 8px;
height: 8px;
margin-top: -5px;
border-top: solid 2px #fff;
border-right: solid 2px #fff;
content: '';
}

.PageNation li.Prev a:before {
left: 45%;
-ms-transform: rotate(225deg);
-webkit-transform: rotate(225deg);
transform: rotate(225deg);
}

.PageNation li.Next a:before {
right: 45%;
-ms-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

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

	.PageNation {
	margin-top: 20px;
	}
	
	.PageNation .Num {
	margin-bottom: -33px;
	font-size: 86%;
	text-align: center;
	}
	
	.PageNation li:not(.Prev):not(.Next) {
	display: none;
	}
	
	.PageNation li a {
	padding: 12px 18px;
	border: 1px solid #1567a6;
	line-height: 1.0em;
	text-indent: -9999px;
	}
	
	.PageNation li.Prev {
	float: left;
	}
	
	.PageNation li.Next {
	float: right;
	}

}

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

	.PageNation .Num {
	float: left;
	padding: 12px 0;
	line-height: 1.0em;
	}
	
	.PageNation ul {
	float: right;
	}
	
	.PageNation li {
	float: left;
	margin-left: 5px;
	line-height: 1.0em;
	}
	
	.PageNation li a {
	float: left;
	padding: 8px 12px;
	border: 1px solid #ccc;
	}
	
	.PageNation li a:link,
	.PageNation li a:active,
	.PageNation li a:visited {
	text-decoration: none;
	}
	
	.PageNation li.Current a {
	border: 1px solid #ccc;
	font-weight: bold;
	color: #000;
	background: #f2f2f2;
	}
	
	.PageNation li.Prev {
	margin-right: 10px;
	}
	
	.PageNation li.Prev a {
	padding: 8px 20px;
	}
	
	.PageNation li.Next {
	margin-left: 15px;
	}
	
	.PageNation li.Next a {
	padding: 8px 20px;
	}
	
	.PageNation .Abbr {
	display: block;
	padding: 9px 2px;
	}

}

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

}



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

.SearchBox .SearchTxt {
width: 80%;
padding: 0 10px;
box-shadow: inset 1px 1px 1px 0px #d5d5d5;
box-sizing: border-box;
vertical-align: middle;
background: #fff;
}

.SearchBox .BtnSearch {
width: 20%;
padding: 0 10px;
border: 1px solid #000;
border-radius: 0 5px 5px 0;
box-sizing: border-box;
letter-spacing: 0.2em;
vertical-align: middle;
color: #fff;
background: #000;
}

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

	.SearchBox .SearchTxt {
	height: 3em;
	border: 1px solid #bbb;
	border-radius: 5px 0 0 5px;
	}
	
	.SearchBox .BtnSearch {
	height: 3em;
	box-sizing: border-box;
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	}

}

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

	.SearchBox .SearchTxt {
	height: 2.4em;
	border-top: 1px solid #bbb;
	border-right: none;
	border-bottom: 1px solid #bbb;
	border-left: 1px solid #bbb;
	border-radius: 5px 0 0 5px;
	line-height: 2.4em;
	}
	
	.Win .SearchBox .SearchTxt {
	line-height: 2.2em;
	}
	
	.SearchBox .BtnSearch {
	height: 2.4em;
	line-height: 2.2em;
	}

}

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

}





/* ■ テキスト回り込み ==================================================================================== */


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

	.flex>p{
	width: 100%;
	margin-bottom: 15px;
	}

	.flex>img{
	width: 100%;
	}

}

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

	.flex{
	display: flex;
	justify-content: space-between;
	}

	.flex>p{
	width: 67%;
	}

	.flex>img{
	width: 30%;
	}

}

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

}




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

/*
基本ユニット
リード・注釈等
エラーチップ
アクションボタン
入力欄のスタイル
入力欄のサイズ
セレクトボックス装飾
ラジオボタン・チェックボックス装飾
完了画面
*/


/* 基本ユニット --------------------------------------------------- */

/* 項目欄の背景色（カラー設定） */
.FormUnit dt {
background: #eee;
}

/* レイアウト設定 */
.FormUnit {
margin-bottom: 30px;
}

/* 必須アイコン */
.FormUnit .Required {
display: block;
position: relative;
}

.FormUnit .Required:before {
position: absolute;
right: 0;
padding: 5px 10px;
border-radius: 2px;
letter-spacing: 0.15em;
text-align: center;
color: #fff;
background: #e90000;
content: "必須";
}

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

	/* 項目欄のborder色（カラー設定） */
	.FormUnit dt {
	border-top: 1px solid #bbb;
	}
	
	/* レイアウト設定 */
	.FormUnitWrap {
	}
	
	.FormUnit dt,
	.FormUnit dd {
	margin: 0;
	}
	
	.FormUnit dt {
	padding: 6px 15px;
	font-size: 93%;
	font-weight: bold;
	}
	
	.FormUnit dd  {
	padding: 12px 0 20px 0;
	}
	
	.FormUnit dd p {
	margin: 0 15px;
	}

	/* 必須アイコン */
	.FormUnit dt span:before {
	top: 1px;
	font-size: 93%;
	line-height: 1.1em;
	}

}

@media print, screen and (min-width: 768px) {
	
	/* border色（カラー設定） */
	.FormUnitWrap {
	border-left: solid 1px #ccc;
	border-top: solid 1px #ccc;
	}
	
	.FormUnit dt,
	.FormUnit dd {
	border-right: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
	}
	
	/* レイアウト設定 */
	.FormUnit dl {
	display: table;
	width: 100%;
	}
	
	.FormUnit dt,
	.FormUnit dd {
	display: table-cell;
	padding: 15px;
	vertical-align: top;
	}
	
	.FormUnit dt {
	width: 30%;
	font-weight: bold;
	}
	
	.FormUnit dd {
	width: 70%;
	}

	/* 必須アイコン */	
	.FormUnit dt span:before {
	top: 0;
	font-size: 86%;
	line-height: 1.0em;
	}

}

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

}

/* リード・注釈等  --------------------------------------------------- */

/* 単位 */
.FormUnit .NoteUnit {
margin-left: 6px;
vertical-align: middle;
}

/* 注釈 */
.FormUnit .NoteUpper {
margin-bottom: 5px;
font-size: 86%;
line-height: 1.5em;
}

.FormUnit .NoteMiddle {
margin-top: 10px;
margin-bottom: 10px;
font-size: 86%;
line-height: 1.5em;
}

.FormUnit .NoteLower {
font-size: 86%;
line-height: 1.0em;
color: #808080;
}
	
.FormUnit .NoteSide {
margin-left: 5px;
font-size: 86%;
color: #808080;
}

.FormUnit .KomeS {
position: relative;
}

.FormUnit .KomeS:before {
position: absolute;
display: inline-block;
top: 0;
left: 0;
content: '※';
}

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

	.FormUnit .KomeS {
	display: block;
	margin-top: 5px;
	padding-left: 15px;
	font-size: 86%;
	line-height: 1.6em;
	}	
	
}
	
@media print, screen and (min-width: 768px) {

	.FormUnit .KomeS {
	display: inline-block;
	margin-left: 5px;
	padding-left: 14px;
	font-size: 86%;
	}		
}


/* フッターNote  */
.FormUnit .FootNote li {
font-size: 86%;
line-height: 1.5em;
}

@media only screen and (max-width: 767px) {
	
	.FormUnit .LeadMain {
	font-size: 86%;
	font-weight: bold;
	}

	.FormUnit .LeadUnit {
	margin: 0 15px 30px 15px;
	}

	.FormUnit .LeadUnit .LeadMain {
	margin: 0;
	}
	
	.FormUnit .LeadUnit .ListKomeS {
	margin-top: 8px;
	}
		
	/* サブリード  */
	.FormUnit .LeadSub {
	margin: 0 15px;
	font-size: 86%;
	}
	
	/* メッセージBOX：アラート */
	.FormUnit .MsgBoxAlert {
	margin: 0 15px 30px 15px;
	}
	
	.FormUnit .MsgBoxAlert .Mds {
	font-size: 108%;
	}
	
	.FormUnit .MsgBoxAlert .Msg {
	font-size: 100%;
	}

	.FormUnit .NoteLower {
	margin-top: 7px;
	}
	
	/* フッターNote  */
	.FormUnit .FootNote {
	margin: 0 15px 30px 15px;
	}

}

@media print, screen and (min-width: 768px) {
	
	/* リード */	
	.FormUnit .LeadUnit {
	margin-bottom: 40px;
	}
	
	.FormUnit .LeadMain {
	margin-bottom: 40px;
	}

	.FormUnit .LeadUnit .LeadMain {
	margin-bottom: 20px;
	}
		
	.FormUnit .LeadSub {
	}
	
	.FormUnit .NoteLower {
	margin-top: 8px;
	}
	
	/* フッターNote  */
	.FormUnit .FootNote {
	margin-top: 10px;
	margin-bottom: 30px;
	}

}

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

}
		
/* エラーチップ（カラー設定）  --------------------------------------------------- */

.FormUnit .ErrTip  {
display: inline-block;
position: relative;
border-radius: 5px;
color: #ffffff;
background: #e90000;
}

.FormUnit .ErrTip:after {
position: absolute;
left: 25px;
width: 0;
height: 0;
border: 10px solid transparent;
border-top: 10px solid #e90000;
margin-left: -10px;
content: "";
}

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

	.FormUnit .ErrTip  {
	margin-bottom: 15px;
	padding: 5px 10px 5px 15px;
	line-height: 1.5em !important;
	}
	
	.FormUnit .ErrTip:after {
	top: 96%;
	}

}

@media print, screen and (min-width: 768px) {
	
	.FormUnit .ErrTip  {
	margin-bottom: 20px;
	padding: 6px 10px 6px 15px;
	line-height: 1.6em !important;
	}
	
	.FormUnit .ErrTip:after {
	top: 92%;
	}
	
	.FormUnit .RadioCheckboxUnit .ErrTip {
	margin-bottom: 15px;
	}

}

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

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

.FormUnit .FormAction {
text-align: center;
}

.FormUnit .FormAction input {
border-style: none;
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
cursor: pointer;
}

.FormUnit .FormAction button {
border-style: none;
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
cursor: pointer;
}

.FormUnit .FormAction .BtnNext {
display: block;
box-sizing: border-box;
border: 1px solid #e3adbf;
background: #fff url(/img/common/icon/Icon_LinkAllow1.png) no-repeat;
background-size: 19.5px auto;
background-position: 97% 50%;
line-height: 1.0em;
color: #b9335f;
}

.FormUnit .FormAction .BtnBack {
display: block;
box-sizing: border-box;
border: 1px solid #e3adbf;
background: #eee url(/img/common/icon/Icon_LinkAllowBack1.png) no-repeat;
background-size: 19.5px auto;
background-position: 3% 50%;
line-height: 1.0em;
color: #000;
}		

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

	.FormUnit .FormAction {
	margin: 0 15px;
	}
	
	.FormUnit .FormAction .BtnList {
	width: 100%;
	}
	
	.FormUnit .FormAction .BtnList li {
	float: none;
	width: 100%;
	}
	
	.FormUnit .FormAction .BtnNext {
	width: 100%;
    margin-top: 15px;
    padding: 15px;
    font-size: 115%;
	}
	
	.FormUnit .FormAction .BtnBack {
	width: 100%;
    margin-top: 15px;
    padding: 15px;
    font-size: 115%;
	}
	
}

@media print, screen and (min-width: 768px) {
	
	.FormUnit .FormAction {
	margin: 30px auto 0 auto;
	}

	.FormUnit .FormAction .BtnLine {
	width: 35%;
	margin: 0 auto;
	}

	.FormUnit .FormAction .BtnList {
	width: 60%;
	margin: 0 auto;
	}
	
	.FormUnit .FormAction .BtnList li {
	width: 48%;
	margin-right: 4%;
	}

	.FormUnit .FormAction .BtnList li:nth-child(2n) {
	margin-right: 0;
	}
			
	.FormUnit .FormAction .BtnNext {
	width: 100%;
	margin: 0 auto;
	padding: 15px 0;
	font-size: 108%;
	}	

	.FormUnit .FormAction .BtnBack {
	width: 100%;
	margin: 0 auto;
	padding: 15px 0;
	font-size: 108%;
	}	
	
	.FormUnit .FormAction input:hover {
	opacity: 0.9;
	-webkit-transition: all 0.05s cubic-bezier(.17,.67,.83,.67) 0s;
	transition: all 0.05s cubic-bezier(.17,.67,.83,.67) 0s;
	}
	
	.FormUnit .FormAction .BtnLeft {
	float: left;
	}
	
	.FormUnit .FormAction .BtnRight {
	float: right;
	}

}

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

}
			
/* 入力欄のスタイル  --------------------------------------------------- */

/*  border色とシャドー（カラー設定） */
.FormUnit input[type=text],
.FormUnit input[type=email],
.FormUnit input[type=tel],
.FormUnit input[type=password],
.FormUnit textarea {
border: 1px solid #bbb;
box-shadow: inset 1px 1px 1px 0px #d5d5d5;
}

.FormUnit input[type=text],
.FormUnit input[type=email],
.FormUnit input[type=tel],
.FormUnit input[type=password],
.FormUnit textarea {
border-radius: 2px;
box-sizing: border-box;
vertical-align: middle;
background: #fff;
}

.FormUnit textarea {
padding: 8px;
line-height: 1.4em;
}
	
.FormUnit input[type=image] {
vertical-align: middle;
}

/* labelの余白 */
.FormUnit label {
margin: 0 20px 0 5px;
}

/* 住所入力 */
.FormUnit .AddressUnit label {
display: block;
line-height: 1.0em;
font-weight: bold;
}
	

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

	/*  border色とシャドー（カラー設定） */
	.FormUnit input[type=text],
	.FormUnit input[type=email],
	.FormUnit input[type=tel],
	.FormUnit input[type=password],
	.FormUnit textarea {
	font-size: 115%;
	}
	
	.FormUnit input[type=text],
	.FormUnit input[type=email],
	.FormUnit input[type=tel],
	.FormUnit input[type=password],
	.FormUnit textarea {
	padding: 10px 10px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	}
	
	.FormUnit textarea {
	font-size: 115%;
	}
	
	/* 住所入力 */
	.FormUnit .AddressUnit .EachUnit {
	margin-bottom: 15px;
	}
	
	.FormUnit .AddressUnit .EachUnit:last-child {
	margin-bottom: 0;
	}
	
	.FormUnit .AddressUnit label {
	margin-left: 15px;
	margin-right: 10px;
	margin-bottom: 8px;
	}
	
	/* ラジオボタン・セレクトボックス */
	.FormUnit .RadioCheckboxUnit p {
	margin-bottom: 15px;
	}
	
	.FormUnit .RadioCheckboxUnit p:last-child {
	margin-bottom: 0;
	}

}

@media print, screen and (min-width: 768px) {
	
	/*  border色とシャドー（カラー設定） */
	.FormUnit input[type=text],
	.FormUnit input[type=email],
	.FormUnit input[type=tel],
	.FormUnit input[type=password],
	.FormUnit textarea {
	-webkit-transition: all 0.1s cubic-bezier(.17,.67,.83,.67) 0.1s;
	transition: all 0.1s cubic-bezier(.17,.67,.83,.67) 0.1s;
	}
	
	.FormUnit input[type=text],
	.FormUnit input[type=email],
	.FormUnit input[type=tel],
	.FormUnit input[type=password],
	.FormUnit textarea {
	height: 2.4em;
	padding: 0 10px;
	line-height: 2.4em;
	}
	
	/* フォーカス時のスタイル（カラー設定）  */
	.FormUnit input[type=text]:focus,
	.FormUnit textarea:focus {
	background: #f7f7f7;
	-webkit-transition: all 0.1s cubic-bezier(.17,.67,.83,.67) 0.1s;
	transition: all 0.1s cubic-bezier(.17,.67,.83,.67) 0.1s;
	}

	/* 住所入入力 */
	.FormUnit .AddressUnit .EachUnit {
	margin-bottom: 20px;
	}
	
	.FormUnit .AddressUnit .EachUnit:last-child {
	margin-bottom: 0;
	}
	
	.FormUnit .AddressUnit label {
	margin-left: 0;
	margin-bottom: 10px;
	}
	
	.FormUnit .AddressUnit p {
	line-height: 1.2em;
	}
	
	/* ラジオボタン・セレクトボックス */
	.FormUnit .RadioCheckboxUnit p {
	margin-bottom: 3px;
	}
	
	.FormUnit .RadioCheckboxUnit p:last-child {
	margin-bottom: 0;
	}

}

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

}
	
/* 入力欄のサイズ --------------------------------------------------- */

@media only screen and (max-width: 767px) {
	
	.FormUnit .InputCounselingNumbers {
	width: 100%;
	}

	.FormUnit .InputName {
	width: 100%;
	}
	
	.FormUnit .InputMail {
	width: 100%;
	}
	
	.FormUnit .InputZipCode {
	width: 150px;
	}
	
	.InputAddress1 {
	}
	
	.FormUnit .InputAddress2,
	.FormUnit .InputAddress3 {
	width: 100%;
	}
	
	.FormUnit .InputTel {
	width: 150px;
	}
	
	.FormUnit .InputAge {
	width: 60px;
	}
	
	.FormUnit .InputComment {
	width: 100%;
	height: 10em;
	}

}

@media print, screen and (min-width: 768px) {
	
	.FormUnit .InputCounselingNumbers {
	width: 40%;
	}
	
	.FormUnit .InputName {
	width: 40%;
	}
	
	.FormUnit .InputMail {
	width: 70%;
	}
	
	.FormUnit .InputZipCode {
	width: 30%;
	}
	
	.InputAddress1 {
	}
	
	.FormUnit .InputAddress2,
	.FormUnit .InputAddress3 {
	width: 70%;
	}
	
	.FormUnit .InputTel {
	width: 40%;
	}
	
	.FormUnit .InputAge {
	width: 10%;
	}
	
	.FormUnit .InputComment {
	width: 80%;
	height: 10em;
	}

}

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

}
	
/* セレクトボックス装飾 --------------------------------------------------- */

/* border色（カラー設定） */
.FormUnit select {
border: 1px solid #bbb;
}

.FormUnit select {
border-radius: 2px;
box-sizing: border-box;
background: #fff url(/img/common/form/Icon_SelectBox.png) no-repeat center right;
background-size: 25px 40px;
appearance: none;
-moz-appearance: none;
-webkit-appearance: none;
}

.SelectBoxS select {
height: 2.0em;
font-size: 93%;
}

@media only screen and (max-width: 767px) {
	
	.FormUnit select {
	height: 3.0em;
	padding-left: 10px;
	padding-right: 50px;
	}

}

@media print, screen and (min-width: 768px) {
	
	.FormUnit select {
	height: 2.4em;
	padding-left: 10px;
	padding-left: 6px\9; /* IE10以下調整 */
	padding-right: 40px;
	padding-right: 0\9; /* IE10以下調整 */
	background: #fff\9; /* IE10以下調整 */
	}

}

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

}

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

/* IE11用調整 */
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .FormUnit select {
	padding-left: 6px;
	padding-right: 0;
	background: #fff;
	}
}


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

.FormUnit input[type=radio] + label,
.FormUnit input[type=checkbox] + label {
position: relative;
margin-right: 12px;
padding: 0 0 0 32px;
cursor: pointer;
}
	
.FormUnit input[type=radio] + label::before,
.FormUnit input[type=checkbox] + label::before {
display: block;
position: absolute;
top: 11px;
left: 0;
-moz-box-sizing: border-box;
box-sizing: border-box;
background: #fff;
content: "";
}

/* border色とシャドー（カラー設定） */
.FormUnit input[type=radio] + label::before,
.FormUnit input[type=checkbox] + label::before {
border: 1px solid #bbb;
box-shadow: inset 1px 1px 1px 0px #d5d5d5;
}

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

.FormUnit input[type=checkbox] + label::before {
border-radius: 2px;
}

/* 選択時の背景色（カラー設定） */	
.FormUnit input[type=radio]:checked + label::before,
.FormUnit input[type=checkbox]:checked + label::before {
background: #777;
}

.FormUnit input[type=radio]:checked + label::before,
.FormUnit input[type=checkbox]:checked + label::before {
border: none;
box-shadow: none;
}

.FormUnit input[type=radio]:checked + label::after,
.FormUnit input[type=checkbox]:checked + label::after {
content: "";
display: block;
position: absolute;
top: 11px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

/* ラジオボタン選択時の中央ドットの色 */
.FormUnit input[type=radio]:checked + label::after {
background: #fff;
}

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

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

	.FormUnit input[type=radio],
	.FormUnit input[type=checkbox] {
	display: none;
	margin: 0 0 0 -10px;
	}
	
	.FormUnit input[type=radio] + label,
	.FormUnit input[type=checkbox] + label {
	display: inline-block;
	padding: 0 0 0 32px;
	line-height: 1.6em;
	}
	
	.FormUnit input[type=radio] + label::before,
	.FormUnit input[type=checkbox] + label::before {
	width: 24px;
	height: 24px;
	margin-top: -13px;
	}
	
	/* 選択時の背景色（カラー設定） */
	.FormUnit input[type=radio]:checked + label::after,
	.FormUnit input[type=checkbox]:checked + label::after {
	top: 11px;
	}
	
	/* ラジオボタン選択時の中央ドットのサイズ・位置 */
	.FormUnit input[type=radio]:checked + label::after {
	left: 6px;
	width: 12px;
	height: 12px;
	margin-top: -7px;
	border-radius: 8px;
	}
	
	/* チェックボックス選択時のチェックマークのサイズ・位置 */
	.FormUnit input[type=checkbox]:checked + label::after {
	left: 5px;
	width: 15px;
	height: 10px;
	margin-top: -8px;
	}

}

@media print, screen and (min-width: 768px) {
	
	.FormUnit input[type=radio],
	.FormUnit input[type=checkbox] {
	margin-right: 6px;
	-webkit-transition: all 0.1s cubic-bezier(.17,.67,.83,.67) 0.1s;
	transition: all 0.1s cubic-bezier(.17,.67,.83,.67) 0.1s;
	}
	
	.FormUnit input[type=radio] + label,
	.FormUnit input[type=checkbox] + label {
	font-size: 14px;
	line-height: 1.7em;
	}
	
	.FormUnit input[type=radio],
	.FormUnit input[type=checkbox] {
	display: none;
	margin: 0 0 0 -10px;
	}
	
	.FormUnit input[type=radio] + label,
	.FormUnit input[type=checkbox] + label {
	display: inline-block;
	padding: 0 0 0 24px;
	}
	
	.FormUnit input[type=radio] + label::before,
	.FormUnit input[type=checkbox] + label::before {
	width: 18px;
	height: 18px;
	margin-top: -9px;
	}

	/* border色とシャドー（カラー設定） */
	.FormUnit input[type=radio] + label::before,
	.FormUnit input[type=checkbox] + label::before {
	-webkit-transition: all 0.1s cubic-bezier(.17,.67,.83,.67) 0.1s;
	transition: all 0.1s cubic-bezier(.17,.67,.83,.67) 0.1s;
	}

	/* 選択時の背景色（カラー設定） */	
	.FormUnit input[type=radio]:checked + label::after,
	.FormUnit input[type=checkbox]:checked + label::after {
	top: 12px;
	}
	
	/* ラジオボタン選択時の中央ドットのサイズ・位置 */
	.FormUnit input[type=radio]:checked + label::after {
	left: 5px;
	width: 8px;
	height: 8px;
	margin-top: -5px;
	border-radius: 8px;
	}
	
	/* チェックボックス選択時のチェックマークのサイズ・位置 */
	.FormUnit input[type=checkbox]:checked + label::after {
	left: 4px;
	width: 12px;
	height: 7px;
	margin-top: -6px;
	}

}

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

}

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

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

	.FormUnit .BtnHome {
	margin: 0 10px;
	}
	
	/* ボタン：通常（他のページ、次のページに移動など） */
/*
	.FormUnit .BtnNext {
	display: block;
	width: 100%;
	padding: 20px 0;
	text-align: center;
	}
	
*/
	/* メッセージBOX：通常 */
	.FormUnit .MsgBoxNormal {
	margin: 30px 10px;
	}
	
	.FormUnit .MsgBoxNormal .Mds {
	font-size: 108%;
	}

	.FormUnit .BtnRight {
	margin-bottom: 20px;
	}

}

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

	.FormUnit .BtnHome {
	margin-top: 60px;
	text-align: center;
	}

	.FormUnit .MsgBox {
	text-align: center;
	}
	
	/* ボタン：通常（他のページ、次のページに移動など） */	
	.FormUnit .BtnHome .BtnNext {
	display: block;
	width: 35%;
	margin: 0 auto;
	padding: 15px 0;
	box-sizing: border-box;
	border: 1px solid #e3adbf;
	background: #fff url(/img/common/icon/Icon_LinkAllow1.png) no-repeat;
	background-size: 19.5px auto;
	background-position: 97% 50%;
	font-size: 108%;
	line-height: 1.0em;
	color: #b9335f;
	}
	
/*
	.FormUnit .BtnNext {
	padding: 16px 30px;
	}
*/

}

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

}



/* ■ 印刷用設定 ==================================================================================== */



