/* ===============================================
+ リセット
----------------------------------------------- */
/* 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:100px;
	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;
	min-height: calc(90vh - 274px);
}
.oContents > *{
	margin:0 auto;
	width:1180px;
}
@media (max-width:767px){
	.oContents{
		min-height:auto;
	}
	.oContents > *{
		width:93.75%;
	}
}

/* フッター
----------------------------------------------- */
.oFooter{
	color:#fff;
	margin-top: 15px;
	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;
}
.oFooter_group > ul:first-child{
	border-top:solid 1px #a0a0a0;
	padding-top: 15px;
}
.oFooter_group > ul:last-child{
	border-bottom:solid 1px #a0a0a0;
	padding-bottom: 15px;
}
.oFooter_group > ul{
	list-style-type:none;
	display:flex;
	justify-content:center;
	width:100%;
	padding:5px 0;
}
.oFooter_group > ul > li + li{
	padding-left:1.5em;
}
.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:7% 6.25% 0;
		border-top-width:0.156vw;
		border-bottom-width:0.156vw;
	}
	.oFooter_group > ul:first-child{
		border:none;
	}
	.oFooter_group > ul:last-child{
		border:none;
	}
	.oFooter_group > ul{
		display:block;
		padding:0 0 1em;
		border:none;
	}
	.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:90%;
		font-size:3.75vw;
		padding:6.25% 0;
	}
	.oFooter_link > ul{
		display:inline-block;
	}
	.oFooter_link > ul > li:first-child{
		border-left:1px solid #fff;
	}
	.oFooter_link > ul > li{
		border-top:1px solid #fff;
		border-right:1px solid #fff;
		padding: 18px 0;
		margin:0;
	}
	.oFooter_link > ul > li:last-child{
		border-bottom:1px solid #fff;
	}
	.oFooter_link > ul > li + li {
		padding-left: 0;
		margin-left: 0;
	}
	.oFooter_link > ul > li a{
		display: block;
		margin-left: 14px;
	}
	.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;
	}
}

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

/* セクション 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%;
	}
}

/* ===============================================
+ 中面パーツ：テーブル系
----------------------------------------------- */
/* テーブル 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;
	}
}

/* ===============================================
+ オーバーライドクラス
----------------------------------------------- */
/* 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}