/* ===============================================
+ リセット
----------------------------------------------- */
/* html5doctor.com Reset Stylesheet v1.6.1 - Last Updated: 2010-09-17 | Author: Richard Clark - http://richclarkdesign.com - Twitter: @rich_clark */
article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section{display:block}a,hr{padding:0}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}ins,mark{background-color:#ff9;color:#000}body{line-height:1}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;font-size:100%;vertical-align:baseline;background:0 0}ins{text-decoration:none}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0}input,select{vertical-align:middle}

/* ===============================================
+ 初期設定
----------------------------------------------- */
html{
	font-size:10px;
	width:100%;
	height:100%;
}
body{
	font-family:Meiryo, sans-serif;
	font-size:1.59rem;
	line-height:1.7;
	color:#333;
	font-feature-settings:"palt" 1;
	-webkit-font-smoothing:antialiased;
	-webkit-text-decoration-skip:none;
	width:100%;
	height:100%;
}
img{
	vertical-align:top;
	border:0;
	width:100%;
	height:auto;
	display:block;
}
sup{
	font-size:60%;
	vertical-align:text-top;
}
sub{
	font-size:60%;
	vertical-align:baseline;
}
b,
strong{
	font-weight:bold;
}
u{
	text-decoration:underline;
}
input, button, textarea, select{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	font-family:inherit;
	font-size:100%;
}
select::-ms-expand{
	display:none;
}
table{
	border-collapse:collapse;
}
a{
	color:#005bac;
	text-decoration:underline;
}
a:visited{
	text-decoration:none;
}
a:hover{
	transition:opacity 0.3s ease 0s;
	opacity: 0.6;
}
.mt30 {
	margin-top: 30px;
}
.mt10 {
	margin-top: 10px;
}
.w50 {
	width: 50%;
}
.ma0 {
	margin: 0 auto;
}

@media (min-width:768px) and (max-width:1260px){
}
@media (max-width:767px){
	body{
		font-size:3.75vw;
		line-height:1.71;
	}
	.lh {
		height: auto;
	}
}


/* ===============================================
+ 基礎パーツ
----------------------------------------------- */
/* ページ
----------------------------------------------- */
.oPage{
	position:relative;
	width:100%;
	height:100%;
	padding-top:74px;
	box-sizing:border-box;
	min-width:1200px;
}
@media (max-width:767px){
	.oPage{
		min-width:320px;
		padding-top:16.93%;
	}
}

/* ヘッダー
----------------------------------------------- */
.oHeader{
	position:fixed;
	left:0;
	right:0;
	top:0;
	z-index:9000;
	width:100%;
	height:74px;
	overflow:visible;
	background:#fff;
	border-bottom:solid 1px #fff;
	box-shadow: 2px 2px 10px 1px rgba(0,0,0,0.2);
}
.oHeader_inner{
	margin:0 auto;
	width:1200px;
	height:100%;
	position:relative;
}
.oHeader_logo{
	position:absolute;
	left:0;
	top:10px;
	width:930px;
}
.oHeader_logo > a{
	position:absolute;
	display:block;
	text-decoration:none;
	color:#333;
	transition:opacity 0.5s ease 0s;
}
.oHeader_logo > a > img{
	width:100%;
	height:auto;
}
.oHeader_logo > a:hover{
	opacity:0.65;
}
.oHeader_logo > a:nth-child(1){
	left:0;
	width:288px;
}
.oHeader_logo > a:nth-child(2){
	display:block;
	left:300px;
	top:10px;
	font-weight:bold;
	font-size:2rem;
}
.oHeader_langMenu{
	position:absolute;
	right:0;
	top:15px;
	width: 120px;
	height: 40px;
	display:block;
	background-color: #6e655e;
}
.oHeader_langMenu > a{
	color: #fff;
	display:flex;
	width:100%;
	height:100%;
	align-items:center;
	justify-content:center;
	text-decoration: none;
}

@media (max-width:767px){
	.oHeader{
		height:0;
		padding-top:16.93%;
		border-bottom:solid 0.313vw #ebebeb;
		box-shadow:0 0 1.25vw 0 rgba(0,0,0,0.1);
	}
	.oHeader_inner{
		margin:0;
		width:100%;
		position:absolute;
		left:0;
		top:0;
	}
	.oHeader_logo{
		left:0;
		top:0;
		width:65%;
		height:100%;
		padding:3.25% 3.25% 0;
		box-sizing:border-box;
	}
	.oHeader_logo > a{
		position:static;
	}
	.oHeader_logo > a:nth-child(1){
		width:50%;
	}
	.oHeader_logo > a:nth-child(2){
		font-size:3.2vw;
		padding-top:0.2em;
	}
	.oHeader_langMenu{
		width:17.19%;
		height:100%;
		position:absolute;
		right:0;
		top:0;
	}
}

/* メインコンテンツ
----------------------------------------------- */
.oContents{
	display:block;
}
.oContents > *{
	margin:0 auto;
	width:1180px;
}
@media (max-width:767px){
	.oContents > *{
		width:93.75%;
	}
}

/* ページタイトル
----------------------------------------------- */
.oPt{
	font-size:3rem;
	color:#2a78b4;
	line-height:1.3;
	padding:48px 0 47px;
}
.oPt > span {
	font-size:2rem;
}
@media (max-width:767px){
	.oPt{
		font-size:6.4vw;
		padding:8% 0 7%;
	}
}

/* フッター
----------------------------------------------- */
.oFooter{
	color:#fff;
	margin-top:100px;
	padding-top: 10px;
	background:#242424;
}
.oFooter a{
	color:#fff;
	text-decoration: none;
}

.oFooter_group{
	margin:30px auto 0;
	width:1200px;
	font-size:1.15rem;
	box-sizing:border-box;
	padding:20px 0 19px;
	border-top:solid 1px #a0a0a0;
	border-bottom:solid 1px #a0a0a0;
}
.oFooter_group > ul{
	list-style-type:none;
	display:flex;
	justify-content:center;
	width:100%;
}
.oFooter_group > ul > li + li{
	padding-left:1.4em;
}
.oFooter_link{
	margin:0 auto;
	width:1200px;
	font-size:1.4rem;
	padding:30px 0;
}
.oFooter_link > ul{
	list-style-type:none;
	display:flex;
	justify-content:center;
	width:100%;
	line-height:1;
}
.oFooter_link > ul > li + li{
	border-left:solid 1px #fff;
	padding-left:20px;
	margin-left:20px;
}
.oFooter_copy{
	text-align:center;
	color:#fff;
	font-size:1.2rem;
	padding:11px 0 10px;
	background:#6e655e;
}
.pHome .oFooter{
	margin-top:70px;
}
@media (max-width:767px){
	.oFooter{
		margin-top:15%;
		padding-top: 0;
	}
	.oFooter_group{
		margin:0;
		width:100%;
		font-size:3.44vw;
		padding:9.38% 6.25%;
		border-top-width:0.156vw;
		border-bottom-width:0.156vw;
	}
	.oFooter_group > ul{
		display:block;
		padding:0;
	}
	.oFooter_group > ul > li + li{
		padding:1em 0 0 0;
	}
	.oFooter_group > ul > li > a,
	.oFooter_group > ul > li > span{
		display:inline-block;
		position:relative;
		padding-left:1.5em;
	}
	.oFooter_group > ul > li > a:before{
		content:"";
		display:block;
		width:0;
		height:0;
		border-left:solid 0.5em #fff;
		border-top:solid 0.4em transparent;
		border-bottom:solid 0.4em transparent;
		position:absolute;
		top:0.45em;
		left:0;
	}
	.oFooter_link{
		width:100%;
		font-size:3.75vw;
		padding:6.25% 0;
	}
	.oFooter_link > ul > li + li{
		border-left-width:0.313vw;
		padding-left:1em;
		margin-left:1em;
	}
	.oFooter_copy{
		font-size:2.6vw;
		padding:3.2% 2% 3.13%;
		text-align:left;
		box-sizing:border-box;
	}
	.pHome .oFooter{
		margin-top:10.94%;
	}
}

/* ページトップへ
----------------------------------------------- */
.oGotop{
	position:fixed;
	right:0;
	bottom:0;
	width:50px;
	height:50px;
	z-index:9000;
	transition:opacity 0.5s ease 0s;
}
.oGotop:hover{
	opacity:0.65;
}
.oGotop > a{
	display:block;
	width:100%;
	height:100%;
}
.oGotop > a > img{
	width:100%;
	height:auto;
}
@media (max-width:767px){
	.oGotop{
		width:12.5vw;
		height:12.5vw;
	}
}


/* ===============================================
+ 中面パーツ：メインビジュアル系
----------------------------------------------- */
/* メインビジュアル 01
----------------------------------------------- */
.oMv01{
	position:relative;
	height:442px;
	overflow:hidden;
	width:100%;
	margin-bottom: 50px;
}
.oMv01_img{
	width:1600px;
	position:absolute;
	left:-500px;
	right:-500px;
	top:0;
	margin:0 auto;
}
.oMv01_txt{
	position:relative;
	color:#fff;
	width:1200px;
	margin:0 auto;
	box-sizing:border-box;
	padding:170px 12px 0;
}
.oMv01_txt_01,
.oMv01_txt_02{
	display:block;
}
.oMv01_txt_01{
	font-size:3.8rem;
	text-shadow:
		0 0 0.2em rgba(0,0,0,0.5),
		0 0 0.1em rgba(0,0,0,0.2);
}
.oMv01_txt_02{
	font-size:2.5rem;
	text-shadow:
		0 0 0.2em rgba(0,0,0,0.5),
		0 0 0.1em rgba(0,0,0,0.2);
}
@media (max-width:767px){
	.oMv01{
		position:relative;
		height:auto;
	}
	.oMv01_img{
		width:100%;
		position:static;
	}
	.oMv01_txt{
		position:absolute;
		left:0;
		top:0;
		margin:0;
		padding:0;
		width:100%;
		height:100%;
		display:flex;
		flex-wrap:wrap;
		align-content:center;
	}
	.oMv01_txt_01,
	.oMv01_txt_02{
		width:100%;
		text-align:center;
	}
	.oMv01_txt_01{
		font-size:6.88vw;
	}
	.oMv01_txt_02{
		font-size:4.38vw;
		padding-bottom:2em;
	}
}

/* セクション 02
----------------------------------------------- */
.oSct02{
	margin-top: 40px;
	width:100%;
}
.oSct02 > *{
	margin:0 auto;
	width:1148px;
}
.oSct02 + .oSct02,
.oTbl03 + .oSct02{
	margin-top:80px;
}
.oLocus + .oSct02,
.oImg + .oSct02{
	margin-top:40px;
}
@media (max-width:767px){
	.oSct02 > *{
		width:93.75%;
	}
	.oSct02 + .oSct02,
	.oTbl03 + .oSct02{
		margin-top:9vw;
	}
	.oLocus + .oSct02,
	.oImg + .oSct02{
		margin-top:6%;
	}
}

/* ===============================================
+ 中面パーツ：見出し系
----------------------------------------------- */

/* oHd01
----------------------------------------------- */
.oHd01{
	font-size:3rem;
	color:#2a78b4;
	font-weight:normal;
	max-width:100%;
	box-sizing:border-box;
	font-weight: bold;
}
@media (max-width:767px){
	.oHd01{
		font-size:8.13vw;
	}
}

/* oHd02
----------------------------------------------- */
.oHd02{
	font-size:2.5rem;
	width:1180px;
	max-width:100%;
	box-sizing:border-box;
	margin-top: 2em;
	padding-left:26px;
	background:url(../img/ico_sq01.png) no-repeat left 0.3em;
	background-size:16px auto;
}
@media (max-width:767px){
	.oHd02{
		width:93.75%;
		margin-top: 2.5rem;
		font-size:5.63vw;
		background-size:0.8em auto;
		padding-left:1.3em;
	}
}

/* oHd03
----------------------------------------------- */
.oHd03{
	max-width:100%;
	font-size:1.6rem;
	font-weight:bold;
	border-bottom:solid 1px #1d1d1d;
}
@media (max-width:767px){
	.oHd03{
		font-size:4.6vw;
		border-bottom-width:0.313vw;
	}
}

/* ===============================================
+ 中面パーツ：テーブル系
----------------------------------------------- */
/* テーブル 01
----------------------------------------------- */
.oTbl01{
	max-width:100%;
}
.oTbl01 > table{
	width:100%;
	border-collapse:collapse;
}
.oTbl01 > table th,
.oTbl01 > table td{
	vertical-align:top;
	text-align:left;
	border-bottom:solid 1px #1d1d1d;
	padding:0 20px 12px;
}
.oTbl01 > table th{
	font-weight:bold;
	font-size:1.6rem;
	padding-right:10px;
	white-space:nowrap;
}
.oTbl01 > table td{
	width:100%;
}
.oTbl01 > table tr ~ tr th,
.oTbl01 > table tr ~ tr td{
	padding-top:36px;
}
.oHd01 + .oTbl01{
	margin-top:20px;
}
.oHd02 + .oTbl01,
.oLocus + .oTbl01{
	margin-top:27px;
}
@media (max-width:767px){
	.oTbl01 > table,
	.oTbl01 > table tbody,
	.oTbl01 > table tr,
	.oTbl01 > table th,
	.oTbl01 > table td{
		display:block;
		box-sizing:border-box;
	}
	.oTbl01 > table th,
	.oTbl01 > table td{
		padding:0 3.33% 2%;
	}
	.oTbl01 > table th{
		font-size:5vw;
		padding-right:1%;
		border-bottom:0;
	}
	.oTbl01 > table td{
		width:100%;
		padding-bottom:4%;
	}
	.oTbl01 > table tr ~ tr th{
		padding-top:3.6%;
	}
	.oTbl01 > table tr ~ tr td{
		padding-top:0;
	}
	.oHd01 + .oTbl01{
		margin-top:4%;
	}
	.oHd02 + .oTbl01,
	.oLocus + .oTbl01{
		margin-top:3%;
	}
}

/* テキストリスト
----------------------------------------------- */
.oTxtList{
	list-style-type:none;
	max-width:100%;
}
.oTxtList > li{
	padding-left:1em;
	position:relative;
}
.oTxtList > li:before{
	content:"\02022";
	display:block;
	position:absolute;
	top:0;
	left:0;
}
.oTbl02 .oTxtList:nth-child(n+2){
	margin-top:0.5em;
}
.oHd02 + .oTxtList{
	margin-top:10px;
}
@media (max-width:767px){
	.oTxtList{
		max-width:100%;
		margin-top: 5px;
		margin-bottom: 5px;
	}
	.oHd02 + .oTxtList{
		margin-top:3vw;
	}
}

/* ===============================================
+ 中面パーツ：リンク系
----------------------------------------------- */
/* リンク 01
----------------------------------------------- */
.oLink01{
	max-width:100%;
	text-align:right;
}
.oLink01 > a{
	display:inline-block;
	padding-right:28px;
	background:url(../img/ico_arw01.svg) no-repeat right center;
	background-size:19px auto;
	text-decoration:none;
	color:#333;
}
.oTbl01 + .oLink01{
	margin-top:20px;
}
@media (max-width:767px){
	.oLink01 > a{
		padding-right:2em;
		background-size:1.2em auto;
	}
	.oTbl01 + .oLink01{
		margin-top:3.13vw;
	}
}

/* リンク 02
----------------------------------------------- */
.oLink02{
	max-width:100%;
}
.oLink02 > a{
	display:block;
	width: 200px;
	text-decoration:none;
	color:#fff;
	padding:10px 15px;
	background:#2a78b4 url(../img/ico_arw04.png) no-repeat 98%;
	background-size:9px auto;
	background-position: right 15px center;
	box-sizing:border-box;
	transition:opacity 0.5s ease 0s;
}
.oLink02 > a:hover{
	opacity:0.65;
}
.oTbl02 + .oLink02{
	margin-top:14px;
}
@media (max-width:767px){
	.oLink02 > a{
		width: 100%;
		padding:3.5% 3.13%;
		background-position:97% center;
		background-size:0.8em auto;
	}
	.oTbl02 + .oLink02{
		margin-top:3.13%;
	}
}


/* ===============================================
+ GoogleMap用
----------------------------------------------- */

.google_map{
	margin:15px 0;
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}

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

/* ===============================================
+ オーバーライドクラス
----------------------------------------------- */
/* PCのみ表示
----------------------------------------------- */
@media (max-width:767px){
	.xPC{
		display:none !important;
	}
}

/* スマホのみ表示
----------------------------------------------- */
@media (min-width:768px){
	.xSP{
		display:none !important;
	}
}


/* ===============================================
+ JSプラグイン
----------------------------------------------- */
/* slick
----------------------------------------------- */
.slick-slider{box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:rgba(0,0,0,0)}.slick-list,.slick-slider{position:relative;display:block}.slick-list{overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir='rtl'] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}