@charset "UTF-8";

/***********************************************
 *
 * 01, Browser Reset
 * 02, font
 * 03, headding
 * 04, link
 * 05, module
 * 06, layout
 * 07, header
 * 08, footer
 *
 ***********************************************/


/* ===========================================
	 01, Browser Reset
   =========================================== */

html, body, div, span, object, iframe, 
h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, 
small, strong, sub, sup, var, b, i, dl, dt, dd, ul, li, fieldset, form, label, legend, 
table, caption, tbody, tfoot, thead, tr, th, td, 
article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
  margin:0;
  padding:0;
}
html{
	font-size:62.5%;   /* 10px */
}
body {
	color: #484848;
	background-color: #fff;
	font-size: 10px;
	font-size: 1rem;
	line-height: 1.6;
	font-family:Verdana, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	-webkit-text-size-adjust: 100%;
}
* {
	box-sizing: border-box;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
	display:block;
}
audio, canvas, video {
    display: inline-block;
}
audio:not([controls]) {
    display: none;
    height: 0;
}
table {
	border-collapse:collapse;
	border:0;
}
a{
	border: 0;
	outline: 0;
}
img {
	border:0;
	vertical-align: bottom;
}
ins{
	text-decoration:none;
}
ul {
	list-style:none;
}
br {
	letter-spacing: 0;
}


/* ===========================================
	 02, font
   =========================================== */
 
/* 游明朝 */
.yumincho {
	font-family:"Yu Mincho","游明朝", "游明朝体", YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro","ＭＳ 明朝",serif;
	/* プロポーショナルメトリクスを有効にする指定 */
	font-feature-settings : "palt" 1;

}
/* 游ゴシック */
.yugothic1{/* weigt 500揃え Firefoxは非対応でメイリオ */
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, sans-serif;
	/* プロポーショナルメトリクスを有効にする指定 */
	font-feature-settings : "palt" 1;

}
.yugothic2{/* weight win400 , mac500 */
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, sans-serif;
	font-weight: 400;
	/* プロポーショナルメトリクスを有効にする指定 */
	font-feature-settings : "palt" 1;

}

body {
	font-size: 1.4rem;
}

.fs12px{ 
	font-size: 1.2rem;
}
.fs13px{ 
	font-size: 1.3rem;
}
.fs14px{ 
	font-size: 1.4rem;
}
.fs15px{ 
	font-size: 1.5rem;
}
.fs16px{ 
	font-size: 1.6rem;
}
.fs17px{ 
	font-size: 1.7rem;
}
.fs18px{ 
	font-size: 1.8rem;
}
.fs19px{ 
	font-size: 1.9rem;
}
.fs20px{ 
	font-size: 2rem;
}
.fsL{
	font-size: larger;
}
.fsS{
	font-size: smaller;
}
.fw700{
	font-weight: 700;
}
.txtRed{
	color: #dc143c;
}

.txtC{
	text-align: center;
}
.txtL{
	text-align: left;
}
.txtR{
	text-align: right;
}

.txtidt{
	text-indent: -1em;
	padding-left: 1em;
}

/* -------- */
address, em, strong{
	font-style:normal;
}
em{
	font-weight: bold;
}


/* ===========================================
	 03, heading
   =========================================== */

h1,h2,h3,h4,h5,h6{
	font-size: 100%;
}
.search_h2{
	position: relative;
	margin-bottom: 20px;
	line-height: 36px;
	background-color: #e71021;
	color: #fff;
	letter-spacing: .1em;
}
.search_h2:after,
.result_heading:after{
	position: absolute;
	bottom: -10px;
	left: 50%;
	margin-left: -25px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 25px 0 25px;
	content: "";
	z-index: 10;
	border-color: #e71021 transparent transparent transparent;
}
.search_h3{
	padding-bottom: 3px;
	font-size: 1.6rem;
	border-bottom: solid 1px;
}
.result_heading{
	position: relative;
	padding: 15px;
	margin-bottom: 20px;
	line-height: 1.5;
	background-color: #e71021;
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 1.2rem;
	letter-spacing: .1em;
}
.result_heading li span{
	display: inline-block;
}
.result_heading li span:after{
	display: inline-block;
	content: ">";
	margin-left: .5em;
	margin-right: .3em;
}
.result_h2{
	margin-top: 5px;
	font-size: 2rem;
}
@media (min-width: 768px){
	.search_h3{
		display: inline-block;
		min-width: 280px;
		font-size: 2rem;
	}
	.result_heading li{
		display: inline;
	}
}

/* ===========================================
	 04, link
   =========================================== */
 
a{
	color: #24618E;
} 
a:hover{
	color: Navy;
	text-decoration: none;
}
a:active{
	color: red;
}

.tel{
	display: inline-block;
}
@media (min-width: 768px){
	.tel{
		text-decoration: none;
		color: inherit !important;
		cursor: default;
	}
	.tel:hover{
		text-decoration: none;
	}
}

/* ===========================================
	 05, module
   =========================================== */
 
/* --------------------
 *	float clear
 * clearFix
 */
	
.clearB{
	clear: both;
}
.clearL{
	clear: left;
}
.clearR{
	clear: right;
}

/* clearfix */
.clearfix:after{
	clear:both;
	display: block;
	content: "";
}

/* --------------------
 *	float
 */
 
.floatL{
	float: left;
}
.floatR{
	float: right;
}

/* --------------------
 *	margin
 * padding
 */

.mb5{
	margin-bottom: 5px;
}
.mb10{
	margin-bottom: 10px;
}
.mb15{
	margin-bottom: 15px;
}
.mb20{
	margin-bottom: 20px;
}
.mb25{
	margin-bottom: 25px;
}
.mb30{
	margin-bottom: 30px;
}
.mb35{
	margin-bottom: 35px;
}
.mb40{
	margin-bottom: 40px;
}
.mb45{
	margin-bottom: 45px;
}
.mb50{
	margin-bottom: 50px;
}
.mb55{
	margin-bottom: 55px;
}
.mb60{
	margin-bottom: 60px;
}
.mb65{
	margin-bottom: 65px;
}
.mb70{
	margin-bottom: 70px;
}
.mb75{
	margin-bottom: 75px;
}
.mb80{
	margin-bottom: 80px;
}
.mb85{
	margin-bottom: 85px;
}
.mb90{
	margin-bottom: 90px;
}
.mb95{
	margin-bottom: 95px;
}
.mb100{
	margin-bottom: 100px;
}
.mb1em{
	margin-bottom: 1em;
}

.mt5{
	margin-top: 5px;
}
.mt10{
	margin-top: 10px;
}
.mt15{
	margin-top: 15px;
}
.mt20{
	margin-top: 20px;
}
.mt25{
	margin-top: 25px;
}
.mt30{
	margin-top: 30px;
}
.mt35{
	margin-top: 35px;
}
.mt40{
	margin-top: 40px;
}
.mt45{
	margin-top: 45px;
}
.mt50{
	margin-top: 50px;
}
.mt55{
	margin-top: 55px;
}
.mt60{
	margin-top: 60px;
}
.mt65{
	margin-top: 65px;
}
.mt70{
	margin-top: 70px;
}
.mt75{
	margin-top: 75px;
}
.mt80{
	margin-top: 80px;
}
.mt85{
	margin-top: 85px;
}
.mt90{
	margin-top: 90px;
}
.mt95{
	margin-top: 95px;
}
.mt100{
	margin-top: 100px;
}

/* ------------------------
 *	img
 */
	
.imgfLeft{
	float: left;
	margin: 0 12px 12px 0;
}
.imgfRight{
	float: right;
	margin: 0 0 12px 12px;
}

/* Mouse hover */
@media (min-width: 768px){
	.hvropa,
	a.hvrimg img, 
	.hvrIMG a img {
		opacity:1;
		transition: opacity 0.3s linear;
	}
	.hvropa:hover,
	a.hvrimg:hover img, 
	.hvrIMG a:hover img {
		opacity:0.7;
	}
}

/* responsive img */
img{
	display: block;
	max-width: 100%;
	height: auto;
}

/* ------------------------
 *	 display   
*/
@media (max-width: 767px){
	.pc{
		display: none !important;
	}
}
@media (min-width: 768px){
	.sp{
		display: none !important;
	}
}
.hide{
	display: none !important;
}
.overflow_hdn{
	overflow: hidden;
}
.dp_block{
	display: block;
}
.dp_inlineblock{
	display: inline-block;
}
.block_center{
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.sr_only {/* スクリーンリーダー用 */
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}


/* ------------------------
 *	table
 */

table{
	width: 100%;
	border: solid 1px #ccc;
}
table tr, 
table th, 
table td {
	border: solid 1px #ccc;
}
table th{
	vertical-align: middle;
	text-align: center;
	font-weight: normal;
	padding: 10px;
	font-size: 1.3rem;
}
table td{
	padding: 20px;
	vertical-align: middle;
	text-align: center;
	font-weight: 700;
}


/* ------------------------
	button
*/

.button, 
.button:visited {
	position: relative;
	display: inline-block;
	border: 0;
	outline: 0;
	padding: 7px 20px;
	background-color: #999;
	color: #fff;
	font-size: 1.6rem;
	text-shadow: 0 -1px 1px rgba(0,0,0,0.25);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
}
.button:hover{
	background-color: #666;
	color: #fff;
}
.button.dp_block{
	display: block;
}
.small.button, 
.small.button:visited{
	font-size: 1.2rem;
	padding: 5px 10px;
}
.large.button, 
.large.button:visited{
	font-size: 2rem;
	padding: 10px 30px;
} 
.green.button, 
.green.button:visited{ 
	background-color: #91bd09; 
}
.green.button:hover{ 
	background-color: #749a02; 
}
.red.button, 
.red.button:visited{ 
	background-color: #e71021; 
}
.red.button:hover{ 
	background-color: #cf2525; 
}


/* ===========================================
	 06, layout
   =========================================== */

.header_container{
	position: relative;
}
.content{
	padding-left: 15px;
	padding-right: 15px;
}
@media (min-width: 768px){
	.header_container, 
	.footer_container,
	.main_container,
	.wrapper{
		position: relative;
		width: 100%;
		min-width: 1030px;
	}
	.content,
	.content0{
		width: 1030px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* footer-bottom fix */
@media (min-width: 768px){
	.main_container{
		min-height: calc(100vh - 320px);
	}
	.footer_container{
		min-height: 320px;
	}
}


/* ------------------------
 *	float clear
 */

.header_container:after,
.main_container:after,
.footer_container:after,
.wrapper:after,
.content:after,
.content0:after{
	clear:both;
	display: block;
	content: "";
}


/* ===========================================
	 07, header
   =========================================== */

.header_container{
	padding-top: 15px;
	padding-bottom: 10px;
	border-bottom: #E71021 solid 2px;
}
.header_content:after{
	clear: both;
	display: block;
	content: "";
}
.h_logo img{
	width: 280px;
	margin-left: auto;
	margin-right: auto;
}
.h_logo_en img{
	width: 280px;
	margin-left: auto;
	margin-right: auto;
}
.h_lang{
	cursor: pointer;
	display: block;
	width: 120px;
	margin: 15px auto 0;
}
@media (min-width: 768px){
	.header_container{
		padding-top: 30px;
		padding-bottom: 15px;
	}
	.h_logo img{
		width: 613px;
	}
	.h_logo_en img{
		width: 725px;
	}
	.h_lang{
		margin-top: 20px;
	}
}


/* ===========================================
	 08, footer
   =========================================== */

.footer_container{
	padding-top: 20px;
	padding-bottom: 20px;
	background-color: #F595A9;
	color: #fff;
	line-height: 1.4;
	text-align: center;
	font-size: 1.4rem;
	border-top: #C79F62 solid 4px;
}
.f_heading{
	margin-bottom: 15px;
	font-weight: 400;
	line-height: 1.2;
}
.f_heading a{
	color: #fff;
	text-decoration: none;
}
.footer_container address a{
	display: inline-block;
	margin-top: 15px;
	margin-bottom: 15px;
	color: #fff;
}
@media (min-width: 768px){
	.footer_container{
		padding-top: 25px;
	}
	.f_heading{
		margin-bottom: 18px;
		font-size: 2rem;
	}
	.footer_container address{
		font-size: 1.6rem;
	}
	.footer_container address a{
		margin-top: 20px;
		margin-bottom: 20px;
	}
}



