@charset "utf-8";

* {
	padding: 0;
	margin: 0;
}

html {
  height: 100%;
}

body {
	color: #111;
	background-color: #FFFFFF;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	word-wrap: break-word;
	height: 100%;
}

.font_mincho {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.font_garamond {
	font-family: 'Cormorant Garamond', serif;
}
.font_raleway {
	font-family: 'Raleway', sans-serif;
}

section,
article {
	display: block;
}

img {
	vertical-align: top;
}

a img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

li {
	list-style-type: none;
}

a {
	color: #0066CC;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
a:hover {
	color: #0099CC;
	text-decoration: none;
}
.content {
	clear: both;
}
table {
	border-collapse: collapse;
}
table td {
	border-collapse: collapse;
}

.clfix:after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}

/*
ヘッダー
-------------------------------------------*/
header {
	width: 100%;
	/*position: fixed;*/
	margin-bottom:100px;

}

header h1 a img {
	display: block;
	position: absolute;
	height:80px;
}

header .h_btn a {
	display: block;
	text-align: center;
	position: absolute;
	text-decoration: none;
	color: #FFF;
	letter-spacing: 1px;
	border: 5px solid #EEE;
	background-color: #EF454A;
}
header .h_btn a:hover {
	color: #EF454A;
	background-color: #FFF;
	border: 5px solid #EF454A;
}
header .h_btn a i{
	padding-left: 5px;
	padding-right: 5px;
}
#g_navi ul li a.ac_menu {
	cursor: pointer;
	overflow: hidden;
}


/*
メインコンテンツ
-------------------------------------------*/

.content {
	/*width: 1400px;*/
	margin-right: auto;
	margin-left: auto;
}
.main_cont {
	margin-bottom: 10px;
}
.content::after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

.content h2 {
	font-size: 36px;
	line-height: 30px;
	margin-bottom: 10px;
	border-bottom-width: 5px;
	border-bottom-style: solid;
	border-bottom-color: #EF454A;
	letter-spacing: 1px;
	color: #EF454A ;
	text-align: center;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 10px;
	clear: both;
}
.content h3 {
	font-size: 20px;
	line-height: 30px;
	font-weight: normal;
	color: #FFFFFF;
	letter-spacing: 1px;
	margin-top: 20px;
	margin-bottom: 20px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 16px;
	background-color: #044760;
	display: block;
	position: relative;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 7px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 7px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 7px 0px;
	border: 1px solid #FFFFFF;
	clear: both;
}

.content h4 {
	font-size: 16px;
	line-height: 20px;
	font-weight: normal;
	color: #FFFFFF;
	letter-spacing: 1px;
	margin-top: 20px;
	margin-bottom: 20px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 16px;
	background-color: #408080;
	display: block;
	position: relative;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 7px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 7px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 7px 0px;
	border: 1px solid #FFFFFF;
	clear: both;
}

/* ======================================== ボタンレイアウトリンク */
.content .btn a {
	font-size: 18px;
	font-weight: bold;
	color: #EF454A;
	background-color: #FFF;
	text-align: center;
	border: 3px solid #EF454A;
	text-decoration: none;
	display: inline-block;
	/*display: block;*/
	/*width: 50%;*/
	margin-right: auto;
	margin-left: auto;
	margin-top:5px;
	margin-bottom:5px;
	line-height: 15px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	padding:15px 20px 15px 20px;
	position: relative;
	max-width: 100%;
}
.content .btn a:hover {
	color: #FFF;
	background-color: #EF454A;
	border-color: #EF454A;
}
.content .btnk a {
	color: slateblue;
	background-color: #FFF;
	border: 5px solid slateblue;
}
.content .btnk a:hover {
	color: #FFF;
	background-color: slateblue;
	border-color: slateblue;
}



a.btn_more {
	display: block;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 5px;
	padding-bottom: 5px;
	border: 1px solid #FFF;
	position: relative;
	font-size: 14px;
	line-height: 30px;
}

a.btn_more::before {
	display: block;
	position: absolute;
	width: 20px;
	height: 30px;
	font-size: 12px;
	content: ">";
	left: 5px;
	top: 5px;
}
a.btn_more:hover::before {
	left: 8px;
}

a.btn_more:hover {
	color: #002744;
	background-color: #FFF;
	border-top-color: #001F35;
	border-right-color: #001F35;
	border-bottom-color: #001F35;
	border-left-color: #001F35;
}


#sub_top {
	background-color: #EEE;
	background-repeat: no-repeat;
	background-position: center center;
	height: 450px;
	line-height: 30px;
	width: 100%;
	text-align: center;
	font-family: 'Raleway', sans-serif;
	color: #FFF;
	font-size: 25px;
	letter-spacing: 1em;
	-moz-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	-webkit-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	-ms-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
}

.img_center {
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 20px;
}

.img_left {
	float: left;
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 20px;
}
.img_right {
	float: right;
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 20px;
}

.content .img_left p {
	font-size: 12px;
	margin: 0px;
}


/*-----トップへ戻るボタン------*/

.to_top {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 200;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
.to_top a {
	text-decoration: none;
	color: #FFF;
	text-align: center;
	display: block;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	font-size: 10px;
	background-color: #EF454A;
	padding: 20px;
	height: 30px;
	width: 30px;
}

/*
各種テーブル
-------------------------------------------*/
.content table.table_01, 
.content table.table_02,
.content table.table_03{
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
}
.content table.table_03{
	margin-left: 20px;
}

.content table.table_01 th,
.content table.table_01 td,
.content table.table_02 th,
.content table.table_02 td {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
	padding: 20px;
}
.content table.table_01 th {
	font-size: 16px;
	white-space: nowrap;
	font-weight: normal;
	letter-spacing: 1px;
	width: 33%;
}
.content table.infot th {
	font-size: 16px;
	white-space: nowrap;
	font-weight: bold;
	letter-spacing: 1px;
	width: 15%;
	text-align:left;
	vertical-align:top;
}

.content table.table_01 td {
	/*font-size: 14px;*/
	line-height: 30px;
	background-color: #FFF;
}

.content table.table_01 td p{
	margin:0;
	padding:0;
}

.content table.table_02 td.tdwide {
	width:70%;
}
.content table.table_02 th  {
	letter-spacing: 1px;
	background-color: #F6F6F6;
	color: #EF454A;
}

.content table.table_03 td {
	font-size: 14px;
	line-height: 30px;
	background-color: #FFF;
	width:15%;
	padding: 20px;
}

.content table.tdc td {
	text-align:center;
}

.small {
	font-size: 80%;
	color: #666;
}
.chui {
	color: #F03600;
}

/* ======================================== ナンバリング文字をカスタマイズリスト *
 **/

.content ol.customlist{
	counter-reset: item;
	list-style-type: none;
	padding-left: 10px;
	margin-left: 15px;
}

.content ol.customlist li{
  text-indent: -1.5em;
  padding-left: 1.5em;
  line-height: 2;
  color:#0000a0;
}
.content ol.customlist li:before {
  counter-increment: item;
  content: counter(item)'.';
  /* 以下は自由に装飾... */
  padding-right: .5em;
  font-weight: bold;

}

/*
フッター
-------------------------------------------*/

.cont_wrap {
	max-width: 1200px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	clear: both;
}

footer {
	background-color: #EF454A;
	color: #FFF;
	clear: both;
	width: 100%;
	display: block;
}

footer ul.f_bn {
	text-align: center;
	display: block;
	padding-top: 20px;
	padding-bottom: 20px;
}
footer .f_bn li {
	display: inline;
}
footer .f_bn li a {
	display: inline-block;
	font-size: 14px;
	letter-spacing: 1px;
	padding: 10px;
	text-decoration: none;
	color: #FFF;
	margin-left: 10px;
	font-weight: bold;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	margin-right: 10px;
}

footer .f_bn li a:hover {
	background-color: #EF454A;
}

footer .f_bn li a i {
	padding-right: 5px;
	font-size: 200%;
}

footer ul.f_list {
	display: block;
	width: 33.3%;
	float: left;
	padding-bottom: 20px;
	padding-top: 20px;
}

footer ul.f_list li a {
	text-decoration: none;
	color: #FFF;
	display: block;
	padding: 2px;
}

footer ul.f_list li li a {
	padding-left: 25px;
	position: relative;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	font-size: 14px;
}

footer ul.f_list li li a:hover {
	background-color: #EF454A;
}

footer ul.f_list li li a::before {
	content:"・";
	position: absolute;
	top: 5px;
	left: 5px;
}


address {
	font-size: 10px;
	font-style: normal;
	padding-top: 20px;
	padding-bottom: 20px;
	letter-spacing: 1px;
	text-align: center;
	display: block;
	clear: both;
	background-color: #EF454A;
}

footer .box_pr {
	clear: both;
	width: 100%;
	display: block;
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
	font-size: 10px;
	color: #FFF;
	background-color: #EF454A;
	border-top-width: 1px;
	border-top-style: dotted;
	border-top-color: #EF454A;
}

.box_pr ul li {
	display: inline;
	padding: 5px;
}

.box_pr ul li a {
	color: #FFF;
}

@media screen and (min-width:960px){
	body {
		font-size: 16px;
	}
	.sm-slider, .sm-slider::after {
		top: 100px !important;
	}
		/*
	メインコンテンツ
	-------------------------------------------*/
	
	.content {
		width: 90%;
		margin-right: auto;
		margin-left: auto;
	}
		
	/*
	ヘッダー
	-------------------------------------------*/
	header {
		box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
		-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
		-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
		/*position: fixed;*/
		transition: all 0.3s ease;
	    -webkit-transition: all 0.3s ease;
	    -moz-transition: all 0.3s ease;
	    -o-transition: all 0.3s ease;

	}
	
	
	header.with_tab {
		height: 170px;
	}
	
	
	header h1 a img {
		top: 10px;
		left: 10px;
	}
	
	header .h_btn a {
		width: 160px;
		top: 15px;
		right: 10px;
		line-height: 38px;
		padding-top: 2px;
		font-size: 14px;
		font-weight: bold;
	}
	header .h_tel a {
		top: 20px;
		right: 190px;
		line-height: 38px;
		padding-top: 4px;
	}
	
	header.fixed {
		height: 100px;
	}
	
	header.with_tab.fixed {
		height: 130px;
	}
	
	header.fixed h1 a img {
		height: 40px;
		top:5px;
	}
	header.fixed .h_btn a,
	header.fixed .h_tel a {
		top: 5px;
	}
		
	header.fixed #g_navi {
		height: 40px;
	}
	
	header.fixed #g_navi ul li div {
		top: 40px;
	}
	
	header.fixed #g_navi li a {
		padding-top: 10px;
		height: 30px;
	}
	
	header.fixed #g_navi li ul li a {
		padding-top: 9px;
		height: 22px;
	}
	
	/*
	サブトップ
	-------------------------------------------*/
	#sub_top.toppg_img {
		background-image: url(../img/topimage1.jpg);
	}
	
	.no_pc {
		display: none;
	}
}
/*(/960～)*/


@media screen and (min-width:1200px){

/*
	header .h_btn a {
		right: 50%;
		margin-right: -600px;
	}
*/	
	header h1 a img {
		left:5%;
	}
	
	ul.ul_tab li {
		width: 290px;
	}
}
/*(/1200～)*/


/*
２カラム
-------------------------------------------*/

@media screen and (max-width:960px){
	
	body {
		font-size: 16px;
	}
	img {
		max-width: 100% !important;
		height: auto;
		width /***/:auto;
		margin-left:auto;
		margin-right:auto;
	}
	
	.content h4 {
		margin-right: 10px;
		margin-left: 10px;
	}
	#sub_top {
		height: 100px;
		padding-top: 120px;
		letter-spacing: 0.5em;
		font-size: 18px;
	}
	
	body.fixed {
		overflow: hidden;
	}
	
	/*
	ヘッダー
	-------------------------------------------*/
	.sm-slider, .sm-slider::after {
		top: 50px !important;
	}

	header {
		margin-bottom:10px;
		height: 52px;
	}
	
	header h1 a img {
		top: 5px;
		left:5px;
		height: 40px;
	}
	
	header .h_btn a {
		width: 120px;
		top: 5px;
		right: 15px;
		line-height: 29px;
		padding-top: 1px;
		font-size: 12px;
	}
	header .h_tel a {
		top: 10px;
		right: 200px;
		line-height: 29px;
		padding-top: 1px;
		font-size: 12px;
	}
	header .h_menu {
		display: none;
	}
	
	header #info {
		display: none;
	}
	
	/*
	サブトップ
	-------------------------------------------*/
	
	#sub_top.toppg_img {
		background-image: url(../img/topimage1_900.jpg);
	}
	
	.no_sp {
		display: none;
	}
	
	.content table.table_02{
		margin-left:10px;

	}
	.content table.table_01 th,
	.content table.table_01 td,
	.content table.table_02 th,
	.content table.table_02 td {
		padding:5px;
		font-size:0.8em;
	}
	
	.content p {
		margin-bottom: 20px;
		margin-top: 10px;
		margin-right: 15px;
		margin-left: 15px;
	}

}
/*(/～960)*/


@media screen and (max-width:640px){

	header {
		margin-bottom:0px;
	}
	
	header h1 a img {
		top:5px;
		height: 50px;
	}
	
	header .h_btn a {
		width: 50px;
		top: 10px;
		right: 10px;
		font-size: 18px;
		border-top-style: none !important;
		border-bottom-style: none !important;
		border-right-style: none !important;
		border-left-style: none !important;
	}
	header .h_tel a {
		width: 50px;
		font-size: 18px;
		right: 95px;
	}
	header .h_tel a span,
	header .h_btn a span {
		display: none;
	}
	
	
	.content {
		padding-top: 0px;
		padding-bottom: 20px;
	}
	
	.content {
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.content p {
		margin-bottom: 20px;
		margin-top: 10px;
		margin-right: 10px;
		margin-left: 10px;
	}
	
	.content ol.customlist{
		margin-left: 10px;
		margin-right:10px;
	}

	
	.img_left,
	.img_right {
		float: none;
		display: block;
		margin-left: auto;
		margin-right: auto;
		padding-left: 10px;
		padding-right: 10px;
		padding-bottom: 10px;
		-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
	}
	
	.box_contact p {
		font-size: 14px;
	}
	
	ul.f_bn li a span {
		display: none;
	}
	
	footer .f_bn li a i {
		padding-right: 0px;
	}
	
	footer .cont_wrap {
		display: none;
	}
	.cont_list .list_box {
		width: 98%;
	}
}
/*(/～640)*/

@media screen and (max-width:460px){

	#sub_top {
		font-size: 16px;
	}
	#sub_top.toppg_img {
		background-image: url(../img/topimage1_450.jpg);
	}	

	.content table.table_01 th,
	.content table.table_01 td, 

	.content table.table_03 th,
	.content table.table_03 td {
		width: 100% !important;
		max-width: 400px;
		display: block;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}

	.content table.table_02m th,
	.content table.table_02m td{
		font-size:70%;
		padding:3px;
	}
	
	.content table.table_01 th {
		background-color: #F6F6F6;
	}

	#sub_top {
		font-size: 16px;
	}
	#sub_top.notop {
		padding-top: 55px;
	}

	.content h2 {
		font-size: 24px;
	}
	.content h3 {
		font-size: 18px;
	}


}
/*(/～460)*/





/* ========================================  文字装飾関連 */
.fontRedBold {color:#FF3333;font-weight:bold;}
.fontGryBold {color:#666666;font-weight:bold;}
.fontOreBold {color:#FFA500;font-weight:bold;}
.fontBlueBold {color:#0000a0;font-weight:bold;}
.fontRedBold13px {color:#FF3333;font-weight:bold;font-size:13px;}
.font12Bold{font-size:1.2em; font-weight:bold;}
.p_small{font-size:0.8em;}
.fontGry {color:#666666;}
.fontBoldCenter25px {font-weight:bold;text-align:center;font-size:25px;}
.fontBoldCenter {font-weight:bold;text-align:center;}
.fontItalic{font-style: italic;}
.fontRight{text-align:right;}
.fontLeft{text-align:left;}
.fontCnt{text-align:center;}
.my-gray {color: gray}
.my-skyblue {color: skyblue}
.my-orange {color: #fecb81}
.my-red {color: #FF3333}
.my-mr10 {margin-right:10px;}
.my-ml10 {margin-left:10px;}
.my-cl04 {color:#EB8B3D;}
.my-cl03 {color:#93ca76;}
.my-cl02 {color:#338dbf;}
.my-cl04b {background-color:#EB8B3D !important;}
.my-cl03b {background-color:#93ca76 !important;}
.my-cl02b {background-color:#338dbf !important;}
 .my-input { width:300px; vertical-align:middle; }
 .my-input_mini { width:200px; vertical-align:middle;  }
 .my-input_mini2 { width:100px; vertical-align:middle;  }
 .my-input_mini3 { width:50px; vertical-align:middle;  }
 .my-txt-mini{font-size:0.8em; }
 .my-txt-fs{
  animation: flash 1.5s linear infinite;
}

/* 最初はパネルは非表示 */
#tabs .panel {
	display:none; 
	clear:both; 
	margin:10px 30px 10px 30px;
}