/* ==================================================
+ リセット
-------------------------------------------------- */
html, body,
#header, footer, section, nav, article, aside,
figure, figcaption, div, address,
h1, h2, h3, h4, h5, h6,
p, blockquote, span, pre, code, var, time, samp, kbd,
a, em, strong, small, s, q, cite, mark, ins, del,
ol, ul, li, hr, sub, sup, i, b, u, br, wbr,
dl, dt, dd, dfn, abbr, ruby, rt, rp, bdi, bdo,
img, iframe, embed, object, param, video, audio, source, track, canvas, map, area,
table, caption, colgroup, col, tbody, thead, tfoot, tr, td, th,
form, fieldset, legend, label, input, button, select, datalist, optgroup,
option, textarea, keygen, output, progress, meter,
details, summary, command, menu{
	margin:0;
	padding:0;
	font-size:100%;
}
img{
	border:0;
	vertical-align:top;
}
body{
	-webkit-text-size-adjust:100%;
	-moz-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	-o-text-size-adjust:100%;
	text-size-adjust:100%;
}
ul,ol{
	list-style:none;
}

/* ==================================================
+ 基本セット
-------------------------------------------------- */
html{
	width:100%;
	height:100%;
}
body{
	width:100%;
	height:100%;
	background:#fff;
	color:#3c3c3c;
	position:relative;
	font-size:14px;
	line-height:1.8;
	font-family:'Noto Sans', Roboto, 'Droid Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}

/* リンク
-------------------------------------------------- */
a{
	color:#3c3c3c;
	text-decoration:none;
}
a:hover{
	text-decoration:underline;
}
/* 文中リンク */
a.link{
	text-decoration:underline;
}

/* リスト
-------------------------------------------------- */
ol.decimal{
	list-style-type:decimal;
	padding-left:1.5em;
}

/* コンテナー
-------------------------------------------------- */
#container{
	position:relative;
}
/* 印刷時 */
@media print{
	#container{
		width:1000px;
	}
}

/* ヘッダー
-------------------------------------------------- */
#header{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	z-index:9999;
	line-height:1;
	transition:all 0.3s ease 0s;
	padding:18px 20px 10px;
	overflow:hidden;
	box-sizing:border-box;
	transition:all 0.3s ease 0s;
}
#header > h1{
	float:left;
	width:178px;
	height:auto;
	padding-top:10px;
}
#header > h1 > a,
#header > h1 > a > img{
	width:100%;
	height:auto;
}
#header > nav{
	float:right;
	font-size:16px;
}
#header > nav > h2{
	cursor:pointer;
	width:44px;
	height:44px;
	background:#fff;
	display:none;
	position:relative;
}
#header > nav > h2 > img{
	width:100%;
	height:100%;
	display:block;
	position:absolute;
	right:0;
	top:0;
}
#header > nav > h2 > img.close{
	display:none;
}
#header > nav > h2.open{
	background:#3c3c3c;
}
#header > nav > h2.open > img.open{
	display:none;
}
#header > nav > h2.open > img.close{
	display:block;
}
#header > nav > ul{
	font-size:0;
	display:block;
}
#header > nav > ul > li{
	font-size:16px;
	display:inline-block;
	margin-left:30px;
	height:30px;
	vertical-align:top;
	padding-top:10px;
}
#header > nav > ul > li.footerMenu{
	display:none;
}
#header > nav > ul > li.here{
	font-weight:bold;
}

#header > nav > ul > li > a{
	position: relative;
	display:inline-block;
	text-align:center;
	color:#3c3c3c;
	text-decoration:none;
}
#header > nav > ul > li.here > a:after{
	content:"";
	display:inline-block;
	border-bottom:solid 2px #3c3c3c;
	margin-top:8px;
	width:100%;
	vertical-align:top;
}

.gnav-text{}
.gnav-text.gnav-text_en{
	opacity: 1;
}
.gnav-text.gnav-text_ja{
	position: absolute;
	display: block;
	top: 3px;
	left: 0;
	width: 140%;
	margin-left: -20%;
	font-size: 12px;
	line-height: 1;
	white-space: nowrap;
	opacity: 0;
}
.PC .gnav > li > a .gnav-text.gnav-text_en{
	transition: opacity 0.2s linear 0s;
}
.PC .gnav > li > a:hover .gnav-text.gnav-text_en{
	opacity: 0;
}
.PC .gnav > li > a .gnav-text.gnav-text_ja{
	transition: opacity 0.2s linear 0s;
}
.PC .gnav > li > a:hover .gnav-text.gnav-text_ja{
	opacity: 1;
}

#header > .copyright{
	display:none;
}
/* スクロール時 */
#header.fixed{
	background:#fff;
	padding:10px 20px;
}
@media screen and (min-width:768px){
	#header > .copyright{
		display:none !important;
	}
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	#header{
		padding:10px 20px;
	}
	#header > h1{
		width:150px;
		padding:15px 0 15px;
	}
	#header > nav{
		float:none;
		clear:both;
	}
	#header > nav > h2{
		display:block;
		position:absolute;
		right:10px;
		top:10px;
	}
	#header > nav > ul{
		text-align:left;
		display:none;
	}
	#header > nav > ul > li{
		margin-left:10px;
		margin-right:20px;
	}
	#header > nav > ul > li.footerMenu{
		display:inline-block;
	}
	#header > .copyright{
		padding:10px;
	}
	#header.open{
		background:#fff;
	}
}
/* 印刷時 */
@media print{
	#header{
		position:absolute;
	}
	#header nav{
		display:none;
	}
}

/* メインビジュアル
-------------------------------------------------- */
#mv{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	z-index:1;
	overflow:hidden;
	height:470px;
}
#mv > img{
	width:100%;
	height:auto;
	margin:auto;
	position:absolute;
	left:0;
	right:0;
	top:-5000px;
	bottom:-5000px;
	display:block;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	#mv{
		height:195px;
	}
}
/* 印刷時 */
@media print{
	#mv{
		position:absolute;
	}
}


/* コンテンツ
-------------------------------------------------- */
#contents{
	position:relative;
	z-index:1000;
}
#contents > header{
	height:470px;
	box-sizing:border-box;
	max-width:1000px;
	padding:194px 20px 0;
	margin:0 auto;
	font-weight:normal;
	line-height:1;
}
#contents > header.typeA{
	height:260px;
	padding-top:174px;
}
#contents > header > h2.ct{
	width:auto;
	height:75px;
	font-size:55px;
	font-weight:normal;
	line-height:1;
}
#contents > header > h2.ct > span.sub{
	font-size:26px;
	display:block;
	margin-top:9px;
}
.Privacy #contents > header > h2.ct > span.sub{
	margin-top:20px;
}
#contents > header + div{
	background:#fff;
	padding:99px 0 80px;
	box-sizing:border-box;
}
#contents > div div.wrapper{
	margin:0 auto;
	padding:0 20px;
	max-width:1000px;
	box-sizing:border-box;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	#contents > header{
		height:195px;
		padding:84px 20px 0;
	}
	#contents > header > h2.ct{
		height:40px;
		font-size:30px;
	}
	#contents > header > h2.ct > span.sub{
		font-size:14px;
		margin-top:5px;
	}
	.Privacy #contents > header > h2.ct > span.sub{
		margin-top:10px;
	}
	#contents > header + div{
		padding:40px 0 60px;
	}
}

/* お問い合わせ
-------------------------------------------------- */
.cmnContactUsWrap{
	background-color: #f9f9f9;
}
.cmnContactUs{
	display: table;
	width: 100%;
	height: 100%;
}
.cmnContactUs > div{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: table-cell;
	width: 100%;
	height: 100%;
	padding: 40px 20px;
	text-align: center;
	vertical-align: middle;
}
@media screen and (max-width:767px){
	.cmnContactUs > div{
		padding: 9.38% 6.25%;
	}
}
.cmnContactUs > div > div{
	display: inline-block;
	width: 100%;
	max-width: 960px;
}
.cmnContactUs-main{
	display: table;
	width: 100%;
	table-layout: fixed;
	color: #333;
}
@media screen and (max-width:767px){
	.cmnContactUs-main{
		display: block;
	}
}
.cmnContactUs-tel{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 50%;
	padding: 4.17% 20px;
	display: table-cell;
	border-right: 1px solid #c8c8c8;
	border-left: 1px solid #c8c8c8;
	vertical-align: top;
}
@media screen and (max-width:767px){
	.cmnContactUs-tel{
		display: block;
		width: auto;
		padding: 0 3.33% 12.5%;
		border-right: none;
		border-left: none;
	}
}
.cmnContactUs-form{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 50%;
	padding: 4.17% 20px;
	display: table-cell;
	border-right: 1px solid #c8c8c8;
}
@media screen and (max-width:767px){
	.cmnContactUs-form{
		display: block;
		width: auto;
		padding: 12.5% 3.33%;
		border-right: none;
		border-top: 1px solid #c8c8c8;
	}
}
.cmnContactUs-hd{
	margin-bottom: 20px;
	font-size: 26px;
	font-weight: normal;
	line-height: 34px;
	vertical-align: middle;
}
@media screen and (max-width:767px){
	.cmnContactUs-hd{
		font-size: 16px;
	}
}
.cmnContactUs-icon{
	vertical-align: middle;
	margin-right: 10px;
}
.cmnContactUs-icon.cmnContactUs-icon_tel{
	width: 34px;
	height: 34px;
}
.cmnContactUs-icon.cmnContactUs-icon_pc{
	width: 38px;
	height: 27px;
}
@media screen and (max-width:767px){
	.cmnContactUs-icon.cmnContactUs-icon_tel{
		width: 20px;
		height: 20px;
	}
	.cmnContactUs-icon.cmnContactUs-icon_pc{
		width: 23px;
		height: 16px;
	}
}
.cmnContactUs-text{
	font-size: 15px;
}
@media screen and (max-width:767px){
	.cmnContactUs-text{
		font-size: 11px;
	}
}
.cmnContactUs-telNum{
	font-family: 'Cinzel Decorative';
	font-size: 47px;
}
.cmnContactUs-telNum > a{
	color: #333 !important;
	text-decoration: none !important;
	cursor: default;
}
@media screen and (max-width:767px){
	.cmnContactUs-telNum{
		font-size: 28px;
	}
}
.cmnContactUs-formLink{
	position: relative;
	display: block;
	margin: 12px 20px 0;
	font-size: 18px;
	line-height: 32px;
	padding: 4.5% 20% 4.5% 11.25%;
	background: #d9d9d9;
	color: #333;
	text-align: left;
	text-decoration: none;
}
@media screen and (max-width:767px){
	.cmnContactUs-formLink{
		font-size: 13px;
		line-height: 1;
		margin-right: 0;
		margin-left: 0;
		padding: 7.14%;
	}
}

.cmnContactUs-formLink:hover{
	opacity: .8;
	text-decoration: none;
}
.cmnContactUs-formLink > img{
	position: absolute;
	top: 50%;
	right: 6.25%;
	width: 22px;
	height: 15px;
	margin-top: -8px;
}
@media screen and (max-width:767px){
	.cmnContactUs-formLink > img{
		width: 12px;
		height: 8px;
		margin-top: -4px;
	}
}

/* フッター
-------------------------------------------------- */
#footer{
	text-align:right;
	font-size:0;
	background:#fff;
	position:relative;
	z-index:100;
	padding:10px 20px 20px;
	box-sizing:border-box;
}
#footer > nav{
	display:inline-block;
}
#footer > nav > ul{
	display:inline-block;
}
#footer > nav > ul > li{
	display:inline-block;
	font-size:14px;
	margin-left:15px;
}
#footer > p.copyright{
	display:inline-block;
	font-size:14px;
	margin-left:20px;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	#footer{
		display:none;
	}
}
/* 印刷時 */
@media print{
	#footer > nav{
		display:none;
	}
}


/* ページの先頭へ
-------------------------------------------------- */
#gotop{
	position:fixed;
	right:40px;
	bottom:40px;
	width:40px;
	height:40px;
	z-index:1000;
	display:none;
}
#gotop > a{
	display:block;
	width:40px;
	height:40px;
/*	background:#4c4c4c;*/
	background-color: rgba(0, 0, 0, 0.8);
	transition:all 0.3s ease 0s;
	border-radius:30px;
	box-sizing:border-box;
	padding:12px 9px 0;
}
@media screen and (min-width:768px){
	#gotop > a:hover{
		background-color: rgba(0, 0, 0, 0.3);
	}
}
#gotop > a > img{
	width:22px;
}
#gotop.fixed{
	position:absolute;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	#gotop{
		right:20px;
	}
}
/* 印刷時 */
@media print{
	#gotop{
		display:none !important;
	}
}


/* ==================================================
+ パーツ
-------------------------------------------------- */
/* タブA
-------------------------------------------------- */
.tabA > .tab{
	width:100%;
	margin-bottom:30px;
}
.tabA > .tab > ul{
	display:table;
	font-size:25px;
	line-height:1;
	width:100%;
}
.tabA > .tab.ja > ul{
	font-size:18px;
}
.tabA > .tab > ul > li{
	display:table-cell;
	width:50%;
	box-sizing:border-box;
	padding:0 2.5% 12px 0;
	vertical-align:top;
}
.tabA > .tab > ul.tab_3way > li{
	width:33.33%;
}
.tabA > .tab > ul > li ~ li{
	padding:0 2.5% 12px;
}
.tabA > .tab > ul > li:last-child{
	padding:0 0 12px 2.5%;
}
.tabA > .tab > ul > li > a{
	text-align:center;
	display:block;
	background:#fff;
	padding:10px 5px;
	width:100%;
	box-sizing:border-box;
	position:relative;
	text-decoration:none;
}
.tabA > .tab > ul > li > a:after{
	content:"";
	display:block;
	border-top:solid 12px #fff;
	border-right:solid 10px transparent;
	border-left:solid 10px transparent;
	width:0;
	height:0;
	position:absolute;
	left:0;
	right:0;
	bottom:-12px;
	margin:0 auto;
}
.tabA > .tab > ul > li.here > a{
	background:#f0f0f0;
}
.tabA > .tab > ul > li.here > a:after{
	border-top:solid 12px #f0f0f0;
}
.tabA > .tabContents{
	display:none;
}
.tabA > .tabContents.here{
	display:block;
}
.tabA > .tabContents > .hd{
	font-size:28px;
	margin-bottom:20px;
	font-weight:normal;
}
.tabA > .tabContents > .hd.print{
	display:none;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.tabA > .tab{
		margin-bottom:20px;
	}
}
/* 印刷時 */
@media print{
	.tabA > .tab{
		display:none;
	}
	.tabA > .tabContents{
		display:block;
	}
	.tabA > .tabContents > .hd.print{
		display:block;
	}
	.tabA > .tabContents ~ .tabContents > .hd.print{
		margin-top:60px;
	}
}


/* リストA：ワークフローなど
-------------------------------------------------- */
.listA{
	display:table;
	width:100%;
}
.listA > li{
	display:table-row;
}
.listA > li > b,
.listA > li > div{
	padding:0 0 15px;
	display:table-cell;
	vertical-align:middle;
}
.listA > li ~ li > b,
.listA > li ~ li > div{
	padding-top:15px;
	border-top:solid 1px #dcdcdc;
}
.listA > li.last > b,
.listA > li.last > div{
	padding-bottom:0;
}
.listA > li > b{
	font-size:16px;
	padding-right:80px;
	min-height:145px;
	white-space:nowrap;
	width:auto;
}
.listA > li > b > span{
	display:inline-block;
	white-space:normal;
	vertical-align:middle;
	box-sizing:border-box;
	width:100%;
}
.listA > li > b > span.num,
.listA > li > b > span.word{
	text-align:center;
	color:#fff;
	height:145px;
	font-size:50px;
	font-weight:normal;
	line-height:1;
	margin:0;
	padding:45px 0 0;
}
.listA > li > b > span.num{
	width:145px;
	font-family:'Cinzel Decorative';
}
.listA > li > b > span.word{
	width:200px;
	font-size:18px;
	padding:60px 20px 0;
}
.listA > li > b > span.word.line2{
	padding-top:45px;
	line-height:1.4;
}
.listA > li > b > span.word.line3{
	padding-top:35px;
	line-height:1.4;
}
.listA > li > b > span.num + span{
	padding-left:170px;
	margin-left:-145px;
	width:300px;
	box-sizing:border-box;
}
.listA > li > b > span.word + span{
	padding-left:300px;
	margin-left:-275px;
	width:400px;
	box-sizing:border-box;
}
.listA.colorA > li > b > span.num,
.listA.colorA > li > b > span.word{
	background:#fbcb57;
}
.listA.colorB > li > b > span.num,
.listA.colorB > li > b > span.word{
	background:#cadf7e;
}
.listA.colorC > li > b > span.num,
.listA.colorC > li > b > span.word{
	background:#9ed0cf;
}
.listA > li > div{
	padding-right:30px;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.listA,
	.listA > li,
	.listA > li > b,
	.listA > li > div{
		display:block;
		width:100%;
		min-height:0;
		padding-right:0;
	}
	.listA > li > b > span.num{
		width:60px;
		height:60px;
		padding-top:10px;
		font-size:40px;
	}
	.listA > li > b > span.num + span{
		padding-left:75px;
		margin-left:-60px;
		line-height:1.5;
		width:auto;
		max-width:100%;
	}
	.listA > li > b > span.word,
	.listA > li > b > span.word.line2,
	.listA > li > b > span.word.line3{
		width:100%;
		height:auto;
		padding:10px 20px;
		display:block;
		line-height:1.2;
	}
	.listA > li > b > span.word + span{
		padding:0;
		margin:10px 0 0;
		line-height:1.5;
		display:block;
		width:auto;
	}
	.listA > li.last > b{
		padding-bottom:15px;
	}
	.listA > li ~ li > div{
		border-top:0;
		padding-top:0;
	}
}
/* 印刷時 */
@media print{
	.listA > li{
		page-break-inside:avoid;
	}
}

/* リストB：マークつきリスト
-------------------------------------------------- */
.listB{
	padding-right:30px;
}
.listB> li{
	position:relative;
	padding-left:20px;
}
.listB > li:before{
	content:"";
	width:10px;
	height:0;
	border-bottom:solid 3px #969696;
	display:block;
	position:absolute;
	top:12px;
	left:0;
}

/* リストC：サムネリスト
-------------------------------------------------- */
.listC{
	display:block;
	font-size:0;
	color:#969696;
	text-align:left;
	margin-right:-20px;
}
.listC > li{
	display:inline-block;
	width:305px;
	max-width:100%;
	margin:0 20px 40px 0;
	vertical-align:top;
}
.listC > li > div.thumb img{
	max-width:100%;
	height:auto;
}
.listC > li > div.txt{
	margin-top:10px;
	font-size:12px;
	line-height:1.4;
	text-align:left;
}
.listC > li > div.txt > span.sub{
	font-size:11px;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.listC{
		max-width:100%;
	}
}

/* リストD
-------------------------------------------------- */
.listD{
	display:block;
	font-size:0;
	text-align:left;
	margin:40px -20px 0 -10px;
}
.listD > li{
	display:inline-block;
	width:300px;
	max-width:100%;
	margin:0 20px 40px 10px;
	vertical-align:top;
	border-top:solid 1px #b4b4b4;
	font-size:14px;
	text-align:left;
}
.listD > li > b.num{
	font-family:'Cinzel Decorative';
	font-size:65px;
	font-weight:normal;
	color:#999999;
	display:block;
	line-height:1;
	padding:20px 0 37px 65px;
	text-align:left;
}
.listD > li > b.catch{
	color:#000;
	display:block;
	margin:0 auto;
	width:220px;
	text-align:left;
	line-height:1;
	padding:30px 0;
}
.listD > li > b.catch > span{
	font-weight:normal;
	font-size:36px;
	display:block;
}
.listD > li > b.catch > span + span{
	font-size:68px;
}
.listD > li > b.catch > span + span + span{
	font-size:36px;
	margin-top:12px;
	letter-spacing:12px;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.listD{
		max-width:100%;
	}
}

/* リストE：3カラムリスト
-------------------------------------------------- */
.listE{
	margin-left:-20px;
	font-size:0;
	display:inline-block;
}
.listE > li{
	font-size:14px;
	display:inline-block;
	width:300px;
	margin:0 0 5px 20px;
	vertical-align:top;
	max-width:100%;
	text-align:left;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.listE{
		max-width:100%;
	}
}

/* リストF：ニュースリリースなど
-------------------------------------------------- */
.listF{
	border-top:1px solid #dcdcdc;
	border-bottom:1px solid #dcdcdc;
}
.listF > li{
	padding:40px;
	border-bottom:1px solid #dcdcdc;
}
.listF > li:last-child{
	border-bottom:none;
}
.listF > li span{
	display:table-cell;
}
.listF > li span.date{
	font-size:16px;
	text-align:left;
	width:8em;
}
.listF > li span.title{
	font-size:20px;
	text-align:left;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.listF{
		display:block;
	}
	.listF > li span{
		display:block;
	}
}

/* 画像A：ISMSロゴなど
-------------------------------------------------- */
.figA{
	width:200px;
	float:right;
	margin:0 0 20px 20px;
}
.figA + dl{
	display:block;
}
.figA > img{
	max-width:100%;
	height:auto;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.figA{
		float:none;
		margin:0 auto 20px;
		width:80%;
	}
}

/* 画像B
-------------------------------------------------- */
.figB > img{
	max-width:100%;
	height:auto;
}

/* 画像C
-------------------------------------------------- */
.figC{
	width:614px;
	max-width:100%;
	margin:40px auto;
}
.figC > img{
	max-width:100%;
	height:auto;
}
.figC > figcaption{
	font-size:12px;
}
.figC > img + figcaption{
	margin-top:10px;
}
.figC > figcaption + img{
	margin-top:10px;
}
.figC > figcaption > span.copyright{
	display:block;
	font-family:'Arial Unicode MS', Arial, sans-serif;
}

/* 囲みA
-------------------------------------------------- */
.boxedA{
	background-color:#f3f3f3;
	padding:20px;
}

/* 詳細A
-------------------------------------------------- */
.detailsA > div.txt{
	text-align:right;
	margin-top:20px;
}
.detailsA > .hd{
	font-size:28px;
	margin-bottom:20px;
	font-weight:normal;
}
.detailsA > .hd.print{
	display:none;
}
/* 印刷時 */
@media print{
	.detailsA > .hd.print{
		display:block;
	}
}

/* スライドA
-------------------------------------------------- */
.slideA{
	width:100%;
	position:relative;
}
.slideA > div.bg > img{
	width:100%;
	height:auto;
	visibility:hidden;
}
.slideA > ul{
	width:100%;
	position:absolute;
	left:0;
	top:0;
}
.slideA > ul > li{
	width:100%;
	height:auto;
	position:absolute;
	left:0;
	top:0;
	display:none;
}
.slideA > ul > li.show{
	display:block;
}
.slideA > ul > li > img{
	max-width:100%;
	height:auto;
}
.slideA > p.note{
	padding-left:12%;
	color:#969696;
	font-size:11px;
}
.slideA > nav{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
.slideA > nav > ul{
	position:relative;
	width:100%;
	height:100%;
	font-size:0;
}
.slideA > nav > ul > li{
	position:absolute;
	top:0;
	width:50%;
	height:100%;
}
.slideA > nav > ul > li > a{
	position:relative;
	width:100%;
	height:100%;
	display:block;
	transition:all 0.3s ease 0s;
}
.slideA > nav > ul > li > a:hover{
	opacity:0.5;
}
.slideA > nav > ul > li > a > img{
	position:absolute;
	top:0;
	bottom:0;
	margin:auto 0;
}
.slideA > nav > ul > li.prev{
	left:0;
}
.slideA > nav > ul > li.next,
.slideA > nav > ul > li.next > a > img{
	right:0;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.slideA > nav > ul > li > a > img{
		width:21px;
		height:auto;
	}
}

/* データリストA
-------------------------------------------------- */
.dataA{
	display:inline-block;
	text-align:left;
}
.dataA,
.dataA a{
	color:#969696;
	font-size:11px;
}
.dataA dt{
	line-height:1;
	margin-bottom:-1.3em;
	vertical-align:top;
}
.dataA dd{
	padding:0 0 0 6em;
	margin-bottom:5px;
}

/* データリストB
-------------------------------------------------- */
.dataB{
	display:inline-block;
	text-align:left;
}
.dataB dt{
	line-height:1;
	margin-bottom:-1.4em;
	vertical-align:top;
}
.dataB dd{
	padding:0 0 0 12em;
	margin-bottom:20px;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.dataB dd{
		padding-left:8em;
	}
}

/* データリストC
-------------------------------------------------- */
.dataC{
	display:inline-block;
	text-align:left;
}
.dataC dt{
	line-height:1;
	margin-bottom:-1.4em;
	vertical-align:top;
}
.dataC dd{
	padding:0 0 0 65px;
	margin-bottom:5px;
}

/* データリストD
-------------------------------------------------- */
.dataD > dt{
	font-weight:bold;
}
.dataD > dd{
	margin-top:2px;
}
.dataD > dd + dt{
	margin-top:25px;
}
.dataD > dd.spaceT{
	margin-top:25px;
}

/* データリストE
-------------------------------------------------- */
.dataE > dd{
	font-size:12px;
	margin-top:2px;
}
.dataE > dd + dt{
	margin-top:8px;
}

/* セクションA
-------------------------------------------------- */
.sectionA{
	margin:0 0 100px;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.sectionA{
		margin:0 0 40px;
	}
}

/* 見出しA
-------------------------------------------------- */
.hdA{
	font-weight:normal;
	font-size:35px;
	margin-bottom:40px;
}
.hdA > span.sub{
	font-size:20px;
	margin-left:20px;
	display:inline-block;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.hdA{
		font-size:24px;
		margin-bottom:20px;
		line-height:1.2;
	}
	.hdA > span.sub{
		font-size:16px;
		margin-left:10px;
	}
}

/* 見出しB
-------------------------------------------------- */
.hdB{
	font-weight:normal;
	font-size:28px;
	margin-bottom:20px;
	line-height:1.4;
}
.hdB > span.sub{
	font-size:16px;
	font-weight:normal;
	display:block;
	margin-bottom:3px;
}

/* 見出しC
-------------------------------------------------- */
.hdC{
	font-weight:normal;
	font-size:16px;
	font-weight:bold;
	margin:20px 0 10px;
}

/* キャッチA
-------------------------------------------------- */
.catchA{
	font-size:40px;
	margin-bottom:20px;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.catchA{
		line-height:1;
	}
	.catchA > span{
		display:block;
	}
	.catchA > span + span{
		margin-top:10px;
	}
	.catchA > span + span + span{
		margin-top:10px;
	}
}

/* インデントA
-------------------------------------------------- */
.innerA{
	padding:0 20px;
}

/* インデントB
-------------------------------------------------- */
.innerB{
	padding:0 10px;
}

/* ボタンA
-------------------------------------------------- */
.btnA{
	display:block;
	background-color:#787878;
	width:47px;
	color:#fff;
	transition:all 0.3s ease 0s;
	text-align:center;
	float:right;
	margin-left:20px;
	box-sizing:border-box;
	padding:10px 5px;
	position:relative;
}
.btnA:after{
	content:"";
	width:0;
	height:0;
	border-top:solid 6px #787878;
	border-left:solid 7px transparent;
	border-right:solid 7px transparent;
	position:absolute;
	bottom:-6px;
	left:0;
	right:0;
	margin:0 auto;
}
.btnA:hover{
	text-decoration:none;
	opacity:0.7;
}

/* ボタンB
-------------------------------------------------- */
.btnB{
	display:inline-block;
	background-color:#cccccc;
	padding:10px 40px;
	font-size:16px;
	font-weight:bold;
	transition:all 0.3s ease 0s;
}
.btnB.wide{
	width:300px;
	max-width:100%;
	padding:10px 0;
	text-align:center;
	font-weight:normal;
}
.btnB:hover{
	text-decoration:none;
	opacity:0.7;
}

/* 2カラムA
-------------------------------------------------- */
.col2A{
	display:table;
	border-collapse:collapse;
}
.col2A > .col{
	display:table-cell;
	width:50%;
	border-left:solid 1px #dcdcdc;
	border-right:solid 1px #dcdcdc;
	text-align:center;
	padding:25px 20px 50px;
	box-sizing:border-box;
	font-size:14px;
	position:relative;
}
.col2A > .col > .hd{
	font-size:28px;
	font-weight:normal;
	margin-bottom:20px;
}
.col2A > .col > p.tel{
	font-family:'Cinzel Decorative';
	font-size:35px;
}
.col2A > .col.arw:after{
	content:"";
	display:block;
	width:0;
	height:0;
	border-left:solid 20px transparent;
	border-right:solid 20px transparent;
	border-top:solid 20px #f0f0f0;
	position:absolute;
	left:0;
	right:0;
	bottom:3px;
	margin:0 auto;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.col2A{
		display:block;
	}
	.col2A > .col{
		display:block;
		width:100%;
		border-left:0;
		border-right:0;
		padding:0;
	}
	.col2A > .col + .col{
		margin-top:20px;
		padding-top:20px;
		border-top:solid 1px #dcdcdc;
	}
	.col2A > .col > .hd{
		font-size:20px;
		font-weight:normal;
		margin-bottom:10px;
	}
	.col2A > .col > p.tel{
		font-size:30px;
		margin-top:-10px;
	}
	.col2A > .col.arw{
		padding-bottom:40px;
	}
	.col2A > .col.arw:after{
		content:"";
		display:block;
		width:0;
		height:0;
		border-left:solid 20px transparent;
		border-right:solid 20px transparent;
		border-top:solid 20px #f0f0f0;
		position:absolute;
		left:0;
		right:0;
		bottom:3px;
		margin:0 auto;
	}
}

/* 2カラムB
-------------------------------------------------- */
.col2B{
	overflow:hidden;
	margin-bottom:100px;
}
.col2B > .colL,
.col2B > .colR{
	width:50%;
	box-sizing:border-box;
}
.col2B > .colL{
	float:left;
	padding-right:8%;
}
.col2B > .colR{
	float:right;
	padding-left:8%;
}
.col2B > .colL > .hd,
.col2B > .colR > .hd{
	font-size:28px;
	font-weight:normal;
	margin-bottom:20px;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.col2B{
		margin-bottom:0;
	}
	.col2B > .colL,
	.col2B > .colR{
		float:none;
		width:100%;
		padding:0;
		margin:0 0 40px;
	}
	.col2B > .colL > .hd,
	.col2B > .colR > .hd{
		margin-bottom:10px;
		font-size:24px;
	}
}
/* 印刷時 */
@media print{
	.col2B{
		page-break-inside:avoid;
	}
}

/* 2カラムC
-------------------------------------------------- */
.col2C{
	display:table;
}
.col2C > .col{
	display:table-cell;
}
.col2C > .col + .col{
	padding-left:20px;
}
.col2C.textBase{}
.col2C.textBase > .col + .col{
	padding-left:40px;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.col2C,
	.col2C > .col{
		display:block;
	}
	.col2C > .col + .col{
		padding-left:0;
		margin-top:20px;
	}
	.col2C.textBase > .col + .col{
		padding-left:0;
		margin-top:0;
	}
}
/* 印刷時 */
@media print{
	.col2C{
		page-break-inside:avoid;
	}
}

/* メインビジュアルA
-------------------------------------------------- */
.mvA{
	width:100%;
	height:340px;
	overflow:hidden;
	position:relative;
	margin-bottom:40px;
}
.mvA > img{
	width:100%;
	height:auto;
	margin:auto;
	position:absolute;
	left:0;
	right:0;
	top:-1000px;
	bottom:-1000px;
}
.mvA > div.wrapper{
	position:relative;
	height:100%;
}
.mvA > div.wrapper > .hd{
	height:75px;
	margin:auto 0;
	position:absolute;
	left:20px;
	top:0;
	bottom:0;
	font-size:55px;
	line-height:1;
	font-weight:normal;
}
.mvA > div.wrapper > .hd > span.sub{
	display:block;
	font-size:20px;
	margin-top:9px;
}
.mvA > div.wrapper > h3 > img{
	height:100%;
	width:auto;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.mvA{
		height:150px;
	}
	.mvA > div.wrapper > .hd{
		font-size:30px;
		height:40px;
	}
	.mvA > div.wrapper > .hd > span.sub{
		font-size:11px;
		margin-top:5px;
	}
}
/* 印刷時 */
@media print{
	.mvA{
		page-break-inside:avoid;
	}
}

/* メインビジュアルB
-------------------------------------------------- */
.mvB > img{
	width:100%;
	height:auto;
}
/* 印刷時 */
@media print{
	.mvB{
		page-break-inside:avoid;
	}
}

/* お問い合わせ
-------------------------------------------------- */
.contact{
	background:#f8f8f6;
	padding:40px 0;
}
.contact_inner{
	display:table;
	width:100%;
}
.contact_hd{
	display:table-cell;
	width:30%;
	box-sizing:border-box;
	text-align:center;
	vertical-align:middle;
	font-size:28px;
	font-weight:normal;
}
.contact_contents{
	display:table-cell;
	width:70%;
	border-left:solid 1px #c8c8c8;
	padding:40px 6%;
	box-sizing:border-box;
	vertical-align:middle;
}
.contact_contents > dl > dt{
	font-size:28px;
	margin-bottom:5px;
}
.contact_contents > dl > dd{
	font-size:16px;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.contact{
		padding:25px 0 35px;
	}
	.contact_inner{
		display:block;
	}
	.contact_hd{
		display:block;
		width:100%;
		font-size:20px;
	}
	.contact_contents{
		display:block;
		width:100%;
		border-left:0;
		border-top:solid 1px #c8c8c8;
		margin-top:5px;
		padding:10px 0 0;
	}
	.contact_contents > dl > dt{
		font-size:20px;
	}
}

/* メールフォーム
-------------------------------------------------- */
.mailform{
	margin-top:60px;
}
.mailform .form{
	background:#f8f8f8;
	padding:40px 0;
}
.mailform .form > div.wrapper > div.txt{
	max-width:760px;
	margin:0 auto;
	margin-bottom:40px;
}
.mailform .form > div.wrapper > div.txt.error{
	color:#ca4343;
}
.mailform .form > div.wrapper > dl{
	max-width:760px;
	margin:0 auto;
}
.mailform .form > div.wrapper > dl > dt{
	font-size:16px;
	margin-bottom:5px;
}
.mailform .form > div.wrapper > dl > dt ~ dt{
	margin-top:20px;
}
.mailform .form > div.wrapper > dl > dt > span.required{
	background:#ccc;
	font-size:12px;
	padding:0 5px;
	display:inline-block;
	margin-left:10px;
}
.mailform .form > div.wrapper > dl > dd > input,
.mailform .form > div.wrapper > dl > dd > textarea{
	display:block;
	border:solid 1px #dcdcdc;
	background:#fff;
	width:100%;
	box-sizing:border-box;
	padding:10px;
	-webkit-appearance:none;
	border-radius:0;
}
.mailform .form > div.wrapper > dl > dd > textarea{
	height:260px;
}
.mailform .form > div.wrapper > dl > dd.tel > input{
	width:6em;
	display:inline-block;
	margin-right:10px;
}
.mailform .form > div.wrapper > dl > dd.tel > input ~ input{
	margin-left:10px;
}
.mailform .form > div.wrapper > dl > dd > span.nodata{
	color:#a0a0a0;
}
.mailform .form > div.wrapper > dl > dd > span.error{
	display:block;
	color:#ca4343;
	padding-top:5px;
}
.mailform .form > div.wrapper > dl > dd > span.confirm{
	display:block;
	background:#f0f0f0;
	width:100%;
	box-sizing:border-box;
	padding:10px;
	-webkit-appearance:none;
	border-radius:0;
}
.mailform .send > div.wrapper{
	text-align:center;
}
.mailform .send > div.wrapper > input{
	margin:40px 20px 0;
	background:#ccc;
	-webkit-appearance:none;
	border-radius:0;
	border:0;
	width:250px;
	padding:15px 20px;
	box-sizing:border-box;
	font-size:22px;
	cursor:pointer;
	transition:all 0.3s ease 0s;
}
.mailform .send > div.wrapper > input:hover{
	background:#ddd;
	color:#758686;
}
/* 横幅768px未満の場合 */
@media screen and (max-width:767px){
	.mailform{
		margin-top:30px;
	}
	.mailform .form{
		padding:20px 0;
	}
	.mailform .form > div.wrapper > div.txt{
		margin-bottom:20px;
	}
	.mailform .form > div.wrapper > dl > dd > input,
	.mailform .form > div.wrapper > dl > dd > textarea{
		font-size:16px;
	}
	.mailform .form > div.wrapper > dl > dd.tel > input{
		width:4em;
	}
	.mailform .send > div.wrapper > input{
		margin-top:20px;
		font-size:18px;
		padding:10px;
		width:250px;
	}
}


/* インフォメーション
-------------------------------------------------- */
.info {
	position: absolute;
	right: 20px;
	bottom: 62px;
	z-index: 300;
	display: table;
}
.info_openBtn,
.info_closeBtn {
	display: none;
	cursor: pointer;
}
.info_icon,
.info_list {
	display: table-cell;
	background-color: rgba(0, 0, 0, 0.8);
}
.info_icon {
	width: 63px;
	text-align: center;
	vertical-align: middle;
}
.info_list {
	padding: 0 15px 12px 0;
	width: 179px;
}
.info_list > li {
	padding-top: 14px;
	font-size: 85.71%;
	line-height: 1.417;
}
.info_category {
	color: #fff;
}
.info_text {
	color: #c8c8c8;
}
/* リンクカラー：イレギュラー */
.info_textType02 {
	color: #fef091;
}

/* ニュースリリース */
.newsRelease > a{
	display:inline-block;
	margin-top:10px;
}
.newsRelease > a:first-child{
	margin-top:0;
}

@media screen and (max-width:767px){
	.info {
		right: 0;
		bottom: 85px;
		box-sizing: border-box;
		width: 100%;
		padding: 0 20px 0 64px;
		overflow: hidden;
	}
	.info_openBtn {
		display: block;
		width: 44px;
		margin-right: 10px;
		float: right;
	}
	.info_openBtn > img {
		width: 100%;
		height: auto;
	}
	.info_closeBtn {
		width: 44px;
		background-color: #fff;
		position: absolute;
		left: 20px;
		top: 0;
	}
	.info_closeBtn > img {
		width: 100%;
		height: auto;
	}
	.info_icon,
	.info_list {
		display: none;
	}
	.info_list {
		width: auto;
		padding: 0 20px 25px 20px;
	}
	.info_list > li {
		font-size: 114.3%;
		padding-top: 25px;
	}
}


/* ==================================================
+ クラス
-------------------------------------------------- */
/* アイコン
-------------------------------------------------- */
.icoPdf:before{
	content:url(../../img/cmn_ico_pdf.svg);
	display:inline-block;
	vertical-align:middle;
	margin:0 10px 0 0;
}
/* 行揃え
-------------------------------------------------- */
.taC{
	text-align:center;
}
.taR{
	text-align:right;
}
.taL{
	text-align:left;
}
/* フォントサイズ
-------------------------------------------------- */
.fz16{
	font-size:16px;
}
.fz40{
	font-size:40px;
}
/* マージン
-------------------------------------------------- */
.mT1em{
	margin-top:1em;
}
.mT2em{
	margin-top:2em;
}
.mB1em{
	margin-bottom:1em;
}
.mT40{
	margin-top:40px;
}
/* 回り込み
-------------------------------------------------- */
.flR{
	float:right;
}
/* テーブル
-------------------------------------------------- */
.tbl{
	display:table;
}
.tbl_c{
	display:table-cell;
}
/* 改行しない
-------------------------------------------------- */
.nowrap{
	white-space:nowrap;
}
/* 表示
-------------------------------------------------- */
/* 非表示 */
.hide{
	display:none;
}
