@charset "UTF-8";
/* CSS Document */

/* =================================
 resetリセット
================================= */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, main {
	display: block;
}
body {
	line-height: 1;
	color:#333;
	font-family: arial, sans-serif;
	font-size: 15px;
	color: #4d4d4d;
	-webkit-text-size-adjust: 100%;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input,
/*select,*/
textarea,
button {
	/*-webkit-appearance: none;*/
	-moz-appearance: none;
}
/*select::-ms-expand {
	display: none;
}*/
*, :after, :before {
	box-sizing: border-box;
}

/* =================================
clearfix
================================= */
.clearfix:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.clearfix{
	display:inline-table;
	min-height:1%;
}
/* \*/
html .clearfix{
	* height:1%;
}
.clearfix{
	display:block;
}
/* */
.clear {
	clear: both;
}

/* =================================
 img
================================= */
img {
	display: block;
}
img.img100{
	width:100%;
	max-width: 100%;
	line-height: 0;
	vertical-align: bottom;
	display: block;
}
img.img90 {
	max-width: 90%;
	line-height: 0;
	vertical-align: bottom;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
img.img_center{
	display: block;
	margin-left: auto;
	margin-right: auto;
}
a:hover img{
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
/* =================================
 スマホ・PC画像振り分け
================================= */
@media screen and (min-width: 769px) {
.sp_only{
display:none !important;
}
}
@media screen and (max-width: 768px) {
.pc_only{
display:none !important;
}
}

/* =================================
 margin・padding
================================= */

/*margin right*/
.mr05 {
  margin-right: 5px;
}
.mr10 {
  margin-right: 10px;
}
.mr15 {
  margin-right: 15px;
}
.mr20 {
  margin-right: 20px;
}
.mr25 {
  margin-right: 25px;
}
.mr30 {
  margin-right: 30px;
}
.mr35 {
  margin-right: 35px;
}
.mr40 {
  margin-right: 40px;
}
.mr45 {
  margin-right: 45px;
}
.mr50 {
  margin-right: 50px;
}
/*margin left*/
.ml05 {
  margin-left: 5px;
}
.ml10 {
  margin-left: 10px;
}
.ml15 {
  margin-left: 15px;
}
.ml20 {
  margin-left: 20px;
}
.ml25 {
  margin-left: 25px;
}
.ml30 {
  margin-left: 30px;
}
.ml35 {
  margin-left: 35px;
}
.ml40 {
  margin-left: 40px;
}
.ml45 {
  margin-left: 45px;
}
.ml50 {
  margin-left: 50px;
}
/*margin top*/
.mt00 {
  margin-top: 0px !important;
}
.mt05 {
  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;
}
.mt80 {
  margin-top: 80px;
}
.mt100 {
  margin-top: 100px;
}
/*margin bottom*/
.mb00 {
  margin-bottom: 0px !important;
}
.mb05 {
  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;
}
.mb80 {
  margin-bottom: 80px;
}
.mb100 {
  margin-bottom: 100px;
}
/*padding right*/
.pr05 {
  padding-right: 5px;
}
.pr10 {
  padding-right: 10px;
}
.pr15 {
  padding-right: 15px;
}
.pr20 {
  padding-right: 20px;
}
.pr25 {
  padding-right: 25px;
}
.pr30 {
  padding-right: 30px;
}
.pr35 {
  padding-right: 35px;
}
.pr40 {
  padding-right: 40px;
}
.pr45 {
  padding-right: 45px;
}
.pr50 {
  padding-right: 50px;
}
/*padding left*/
.pl05 {
  padding-left: 5px;
}
.pl10 {
  padding-left: 10px;
}
.pl15 {
  padding-left: 15px;
}
.pl20 {
  padding-left: 20px;
}
.pl25 {
  padding-left: 25px;
}
.pl30 {
  padding-left: 30px;
}
.pl35 {
  padding-left: 35px;
}
.pl40 {
  padding-left: 40px;
}
.pl45 {
  padding-left: 45px;
}
.pl50 {
  padding-left: 50px;
}
/*padding top*/
.pt05 {
  padding-top: 5px;
}
.pt10 {
  padding-top: 10px;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt25 {
  padding-top: 25px;
}
.pt30 {
  padding-top: 30px;
}
.pt35 {
  padding-top: 35px;
}
.pt40 {
  padding-top: 40px;
}
.pt45 {
  padding-top: 45px;
}
.pt50 {
  padding-top: 50px;
}
.pt80 {
  padding-top: 80px;
}
.pt100 {
  padding-top: 100px;
}
/*padding bottom*/
.pb05 {
  padding-bottom: 5px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb25 {
  padding-bottom: 25px;
}
.pb30 {
  padding-bottom: 30px;
}
.pb35 {
  padding-bottom: 35px;
}
.pb40 {
  padding-bottom: 40px;
}
.pb45 {
  padding-bottom: 45px;
}
.pb50 {
  padding-bottom: 50px;
}
.pb80 {
  padding-bottom: 80px;
}
.pb100 {
  padding-bottom: 100px;
}

/* =================================
font
================================= */
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal !important;
}
.font50 {
	font-size: 50% !important;
}
.font60 {
	font-size: 60% !important;
}
.font70 {
	font-size: 70% !important;
}
.font80 {
	font-size: 80% !important;
}
.font90 {
	font-size: 90% !important;
}
.font100 {
	font-size: 100% !important;
}
.font110 {
	font-size: 110% !important;
}
.font120 {
	font-size: 120% !important;
	line-height:1.8em;
}
.font130 {
	font-size: 130% !important;
	line-height:2em !important;
}
.font150 {
	font-size: 150% !important;
	line-height:1.8em;
}
.font160 {
	font-size: 160% !important;
line-height:2em;
}
.font170 {
	font-size: 170% !important;
line-height:2em;
}
.font180 {
	font-size: 180% !important;
line-height:2em;
}
.font200 {
	font-size: 200% !important;
	line-height:2em;
}
.font230 {
	font-size: 230% !important;
	line-height:2em;
}
.font250 {
	font-size: 250% !important;
	line-height:2em;
}
.white{
	color:#fff;
}
.red{
	color:#ff0000;
}
.d-red{
	color:#9e132b;
}
.yu_font{
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.yugo_font{
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.heisei_font{
	font-family: "heisei-kaku-gothic-std";
}

/* =================================
テキスト揃え
================================= */
.txtJustify{
	text-align:justify;
}
.txtCenter{
	text-align:center;
}
.txtLeft{
	text-align:left;
}
.txtRight{
	text-align:right;
}

/* =================================
テキスト揃え行間
================================= */
.lh15{
	line-height:1.5em;
}
.lh18{
	line-height:1.8em;
}
.lh20{
	line-height:2.0em;
}
.lh25{
	line-height:2.5em;
}

/* =================================
 スマホのみ改行
================================= */
@media screen and (min-width: 768px) {
 .kaigyouSp {
  display: none;
 }
}


/* =================================
 角丸
================================= */
.radius05{
	border-radius: 5px;		/* CSS3草案 */
	-webkit-border-radius: 5px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 5px;	/* Firefox用 */
}
.radius10{
	border-radius: 10;		/* CSS3草案 */
	-webkit-border-radius: 10;	/* Safari,Google Chrome用 */
	-moz-border-radius: 10;	/* Firefox用 */
}
.radius15{
	border-radius: 15px;		/* CSS3草案 */
	-webkit-border-radius: 15px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 15px;	/* Firefox用 */
}

/* =================================
 inner
================================= */
.inner100{
	width: 100%;
	max-width: 100%;
	margin-left:auto;
	margin-right:auto;
}
.inner01{
	width: 1400px;
	max-width: 90%;
	margin-left:auto;
	margin-right:auto;
}
.inner02{
	width: 1000px;
	max-width: 90%;
	margin-left:auto;
	margin-right:auto;
}
.inner03{
	width: 768px;
	max-width: 90%;
	margin-left:auto;
	margin-right:auto;
}
.inner_gmenu{
	width: 1150px;
	max-width: 90%;
	margin-left:auto;
	margin-right:auto;
}

/* =================================
 width（幅指定　※レスポンシブ時１カラム）
================================= */
.w50{
	width:50%;
}
.w48{
	width:48%;
}
.w30{
	width:30%;
}
.w70{
	width:70%;
}
@media(max-width:768px)  {
	.w50,.w48,.w30,.w70{
		width:100%;
		max-width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}

/* =================================
 ボタン
================================= */
a.btn01{
	background: #9e132b;
	border-radius: 100px;        /* CSS3草案 */  
    -webkit-border-radius: 100px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 100px;   /* Firefox用 */ 
	color: #fff;
	display: block;
	margin-left: auto;
	margin-right: auto;
	width:250px;
	text-align: center;
	padding: 15px;
	text-decoration: none;
	position: relative;
}
a.btn01::after{
	content: "";
    display: inline-block;
    width: 7px;
    height: 14px;
    background: url(../images/arrow01.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 20px;
	transform: translateY(-50%);
	transition: transform .2s;
}
a.btn01:hover{
	background: #ccc;
}

/* ----------------------------------------------------------------------
 flexbox
---------------------------------------------------------------------- */
.flex01{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between; /*均等に間隔をあける*/
	align-items: stretch;    /*全ての要素の高さを揃える*/
	flex-wrap:wrap;
}
.flex02{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between; /*均等に間隔をあける*/
	align-items: stretch;    /*全ての要素の高さを揃える*/
	flex-wrap:wrap;
}
@media(max-width:768px)  {
	.flex02{
		display: block;
	}
}

/* ----------------------------------------------------------------------
 ２カラム用（float）
---------------------------------------------------------------------- */
/*左右個別*/
.left_content{
float:left;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content{
float:right;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
/*左から右*/
.two_column{
	width:48%;
	float:left;
	margin-right:4%;
}
.two_column:nth-child(2){
	margin-right:0;
}
@media(max-width:768px)  {
.two_column{
	width:90%;
	float:none;
	margin-left:auto;
	margin-right:auto;
}
.two_column:nth-child(2){
	margin-right:auto;
}
}

/* =================================
 3カラム用
================================= */
.three_column{
	width:30%;
	float:left;
	margin-right:5%;
}
.three_column:nth-child(3){
	margin-right:0;
}
@media(max-width:768px)  {
	.three_column{
	width:90%;
	float:none;
	margin-left:auto;
	margin-right:auto;
	}
	.three_column:nth-child(3){
	margin-right:auto;
	}
}


/* =================================
 header
================================= */
.header{
	position: relative;
}
.header_container{
	background: #fff;
	width:100%;
}

.header_top h1 img{
	display: block;
	width:460px;
	max-width:90%;
	float: left;
}
@media screen and (min-width:1001px){
	.header_container{
		position: fixed;
		z-index: 300;
	}
	.header_top{
		width:1320px;
		max-width:90%;
		margin-left: auto;
		margin-right: auto;
		padding-top:15px;
		margin-bottom: 10px;
}
}
@media(max-width:1000px)  {
	header{
		/*position: fixed;*/
	}
	.header_container{
		position: fixed;
		z-index: 300;
		top:0;
		left: 0;
	}
	.header_top{
		z-index: 300;
		width:100%;
		background: #fff;
		padding-left: 15px;
		padding-right: 15px;
		padding-top:15px;
		margin-bottom: 10px;
}
	.header_top h1 img{
		width:calc(100% - 140px);
		max-width: 460px;
	}
}

/* =================================
 ナビゲーション
================================= */
.nav_container{
	position: relative;
	width:100%;
}
/*PCのスタイル*/
@media screen and (min-width:1001px){
header nav {
	margin-right: -16px;
}
header nav ul.nav_ul{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 550px;
}
header nav ul.nav_ul li a{
	text-decoration: none;
	font-weight: bold;
	padding: 16px ;
	display: block;
}
img.naviIcoPc{
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5px;
}
#nav_toggle{
	display: none;
}
.left_navi{
	width:1260px;
	margin-left: auto;
	margin-right: auto;
}
.left_navi a{
	text-decoration: none;
	font-size: 14px;
	color: #4d4d4d;
}
/*PC用ドロップダウン*/
#dd-full li ul.ddul {
		width: 100%;
		color: #4d4d4d;
		text-align: left;
		position: absolute;
		left: 0;
		background: #fff;
		z-index: 200;
		
		}
.submenuContainer{
	padding-top: 30px;
	padding-bottom: 30px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between; /*均等に間隔をあける*/
	align-items: stretch;    /*全ての要素の高さを揃える*/
	flex-wrap:wrap;
}
.dd-full_inner {
		width:100%;
		}
.submenuTit{
	background: #820017;
}
.submenuTit h3{
	font-size: 200%;
	color: #fff;
	padding-top: 25px;
	padding-bottom: 25px;
}
.submenuW{
	width:38%;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between; /*均等に間隔をあける*/
	align-items: stretch;    /*全ての要素の高さを揃える*/
	flex-wrap:wrap;
}
.submenuWInner{
	width: 100%;
}
.submenuW_box:first-child{
	width: 48%;
	float: left;
}
.submenuW_box:last-child{
	width: 48%;
	float: right;
}
.submenuS{
	width:19%;
}
.submenuT{
	width:24%;
}
.submenuF{
	width:100%;	
}
.submenuF ul li{
	display: inline-block;
	width:18%;
}
.submenuW ul li,.submenuS ul li,.submenuT ul li,.submenuF ul li{
	line-height: 1.8em;
	padding: 0;
}
.submenuW ul li a,.submenuS ul li a,.submenuT ul li a,.submenuF ul li a{
	font-size: 85%;
	font-weight: 100 !important;
	padding: 0  !important;
}
.submenuW ul li a::before,
.submenuS ul li a::before,
.submenuT ul li a::before,
.submenuF ul li a::before{
	content: url(../images/arrow02.png);
    margin-right: 2px;
    position: relative;
    top: 0px;
}
h4.ico_submenu{
	font-weight: bold;
	margin-bottom: 30px;
	padding-bottom: 15px;
	border-bottom: 1px solid #4d4d4d;
	width: 100%;
	font-size: 18px;
}
h4.ico_submenu::before{
	margin-right: 5px;
    position: relative;
    top:  10px;	
	}
h4.ico_submenu01_01::before{
	content: url(../images/ico_submenu01_01.png);
}
h4.ico_submenu01_02::before{
	content: url(../images/ico_submenu01_02.png);
}
h4.ico_submenu01_03::before{
	content: url(../images/ico_submenu01_03.png);
}
h4.ico_submenu02_01::before{
	content: url(../images/ico_submenu02_01.png);
}
h4.ico_submenu02_02::before{
	content: url(../images/ico_submenu02_02.png);
}
h4.ico_submenu02_03::before{
	content: url(../images/ico_submenu02_03.png);
}
h4.ico_submenu02_04::before{
	content: url(../images/ico_submenu02_04.png);
}	
h4.ico_submenu03_01::before{
	content: url(../images/ico_submenu03_01.png);
}
h4.ico_submenu03_02::before{
	content: url(../images/ico_submenu03_02.png);
}
h4.ico_submenu03_03::before{
	content: url(../images/ico_submenu03_03.png);
}
h4.ico_submenu03_04::before{
	content: url(../images/ico_submenu03_04.png);
}
h4.ico_submenu04_01::before{
	content: url(../images/ico_submenu04_01.png);
}
}


/*SPのスタイル*/
@media screen and (max-width:1000px){

.sp_navi nav ul.acMenu{
	/*overflow: auto;
 	-webkit-overflow-scrolling: touch;*/	
	}
.acMenu {
width:100%;
margin:0 auto;
padding:20px 0;
background: #fff;
}
.acMenu li {
    list-style: none;
}
.acMenu a ,.menu-ttl a,.sub-menu-ttl a{
	text-decoration: none;
	color:#4d4d4d;
	}
.acMenu li ul {
    padding:0px;
}
.menu-ttl {
    border-bottom: 1px solid #ccc;
    text-align: left;
	padding:15px; 
}
.sub-menu-ttl {
    border-bottom: 1px solid #ccc;
    text-align: left;
    padding:15px;
    background:#f6f6f6;
    margin:0px;
}

dd {
    margin:0px;
}
.acMenu2 li,.acMenu3 li{
	padding-left:15px;
	padding-right:15px;
	border-bottom: none;
}

.acMenu3 li{
    padding-top: 5px;
    padding-bottom: 5px;
    background: none;
}

.acMenu dt.open {
/*    background: #ccc;*/
    
}
.acMenu dt.acIco01,.acMenu dt.acIco01.open,
.sub-menu-ttl-ico,.sub-menu-ttl-ico.openAcd{
		position: relative;
	}
.acMenu dt.acIco01:after {
	content:"\f078";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left:20px;
	position: absolute;
	right:30px;
	top: 25px;
}

.acMenu dt.acIco01.open:after {
	content:"\f077";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left:20px;
	position: absolute;
	right:30px;
	top: 25px;
}

.sub-menu-ttl-ico:after {
	content:"\f067";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left:20px;
	position: absolute;
	right:30px;
	top: 20px;
}

.sub-menu-ttl-ico.openAcd:after {
	content:"\f068";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left:20px;
	position: absolute;
	right:30px;
	top: 20px;
}
.acMenuInner ul{
	width:48%;
	display: block !important;
}
dt.spMenu::before{
    margin-right: 10px;
    position: relative;
    top: 8px;
}
dt.spMenu01::before{
	content: url(../images/ico_gmenu_about.png);
}
dt.spMenu02::before{
	content: url(../images/ico_gmenu_guide.png);
}
dt.spMenu03::before{
	content: url(../images/ico_gmenu_department.png);
}
dt.spMenu04::before{
	content: url(../images/ico_gmenu_support.png);
}
.spSubMenu::before{
    margin-right: 10px;
	width:23px;
	height: 23px;
	display: inline-block;
	vertical-align: middle;
}
.spSubMenu01_01::before{
	content:'';
	background:url(../images/ico_submenu01_01.png);
	background-size: contain;
}
.spSubMenu01_02::before{
	content:'';
	background:url(../images/ico_submenu01_02.png);
	background-size: contain;
}
.spSubMenu01_03::before{
	content:'';
	background:url(../images/ico_submenu01_03.png);
	background-size: contain;
}
.spSubMenu02_01::before{
	content:'';
	background:url(../images/ico_submenu02_01.png);
	background-size: contain;
}
.spSubMenu02_02::before{
	content:'';
	background:url(../images/ico_submenu02_02.png);
	background-size: contain;
}
.spSubMenu02_03::before{
	content:'';
	background:url(../images/ico_submenu02_03.png);
	background-size: contain;
}
.spSubMenu02_04::before{
	content:'';
	background:url(../images/ico_submenu02_04.png);
	background-size: contain;
}
.spSubMenu03_01::before{
	content:'';
	background:url(../images/ico_submenu03_01.png);
	background-size: contain;
}
.spSubMenu03_02::before{
	content:'';
	background:url(../images/ico_submenu03_02.png);
	background-size: contain;
}
.spSubMenu03_03::before{
	content:'';
	background:url(../images/ico_submenu03_03.png);
	background-size: contain;
}
.spSubMenu03_04::before{
	content:'';
	background:url(../images/ico_submenu03_04.png);
	background-size: contain;
}
.spSubMenu04_01::before{
	content:'';
	background:url(../images/ico_submenu04_01.png);
	background-size: contain;
}
.acMenuInner{
	padding-top: 10px;
	padding-bottom: 10px;
}
.acMenuInner ul li{
	font-size:13px;	
	line-height: 1.5em;
	padding-left:7px;
	text-indent:-7px;
}
.acMenuInner ul li::before{
	content: url(../images/arrow02.png);
    margin-right: 2px;
    position: relative;
    top: 0px;
}
.sp_navi_info_inner{
	width:700px;
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.sp_navi_infoBox{
	width:48%;		
}
.sp_navi_infoBox a{
	background: #9a001b;
	padding: 10px;
	border-radius: 50px;		/* CSS3草案 */
	-webkit-border-radius: 50px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 50px;	/* Firefox用 */
	display: block;
	text-align: center;
	text-decoration: none;
	width: 100%;
	color: #fff;
}
.sp_navi_infoBox a:hover{
	background: #4d4d4d;	
}
.sp_navi_info a img.txt_tel_spmenu{
	display: block;
	width: 300px;
	max-width: 60%;
	margin-left: auto;
	margin-right: auto;
}
}



@media screen and (max-width:1000px){
	.pc_navi{
	display: none;
	}
	img.naviIcoPc{
	display: none;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 5px;
}
}
@media screen and (min-width:1001px){
	.sp_navi{
	display: none;
	}
}




/*right_navi（PC）*/
.right_navi{
	position: absolute;
	width:480px;
	top:0;
	right:0;
}
.topInfoPc{
	position: relative;
	width:480px;
}
.topInfoPc .flex01{
	width: 400px;
}
.topInfoPc .navi_access{
	background: #4d4d4d;
	width:200px;
	height: 80px;
}
.topInfoPc .navi_access a::before{
	content: url(../images/ico_top_info_access.png);
    margin: 10px;
    position: relative;
    top: 8px;
}
.topInfoPc .navi_contact{
	background: #9a001b;
	width:200px;
	height: 80px;
}
.topInfoPc .navi_contact a::before{
	content: url(../images/ico_top_info_contact.png);
    margin: 10px;
    position: relative;
    top: 8px;
}
.topInfoPc a{
	color: #fff;
	display: block;
	text-align: center;
	line-height: 80px;
	text-decoration: none;
}

/*right_navi（SP）*/
.topInfoSp{
	float: right;
	margin-right: 7px;
}
.topInfoSp .navi_access a img,
.topInfoSp .navi_contact a img{
	display: block;
	width: 35px;
	height: 35px;
	margin-right: 5px;
}
@media screen and (min-width:1001px){
	.topInfoSp{
		display: none;
	}
}
@media screen and (max-width:1000px){
	.topInfoPc{
		display: none;
	}
}
/*メニュー部分*/
@media screen and (max-width:1000px){
	nav{
		display: none;
		position: fixed;
		top:61px;
		width: 100%;
		background: #fff;
		left: 0;
		z-index: 100;
		overflow-y: scroll; 
		height:100%;
		-webkit-overflow-scrolling: touch;   // 慣性スクロールを追加
	}
	/*header nav ul{
		display: block;
		margin: 0 auto;
		width: 90%;
	}
	header nav ul li{
		margin: 0 auto;
		text-align: center;
		border-bottom: 1px solid #fff;
	}
	header nav ul li:last-child{
		border: none;
	}
	header nav ul li a{
		display: block; 
	}*/
 
}
@media screen and (max-width:1000px){	
	/*開閉ボタン*/
	#nav_toggle{
		display: block;
		width: 25px;
		height: 25px;
		position: relative;
		top: 5px;
		z-index: 100;
		float: right;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span{
		display: block;
		height: 3px;
		background: #4d4d4d;
		position:absolute;
		width: 100%;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}
	#nav_toggle span:nth-child(1){
		top:0px;
	}
	#nav_toggle span:nth-child(2){
		top:12px;
	}
	#nav_toggle span:nth-child(3){
		top:24px;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span:nth-child(1) {
			top: 12px;
		   -webkit-transform: rotate(135deg);
			-moz-transform: rotate(135deg);
			transform: rotate(135deg);
		}
		.open #nav_toggle span:nth-child(2) {
			width: 0;
			left: 50%;
		}
		.open #nav_toggle span:nth-child(3) {
			top: 12px;
			-webkit-transform: rotate(-135deg);
			-moz-transform: rotate(-135deg);
			transform: rotate(-135deg);
		}
}



/*Googleカスタム検索（SP）*/
@media screen and (max-width:1000px){	
.gsc-control-cse{
	background-color: #4d4d4d !important;
	border-color: #4d4d4d !important;
}
	.gsc-control-wrapper-cse{
		background:#fff;
		border-radius: 30px;		/* CSS3草案 */
	-webkit-border-radius: 30px;	/* Safari,Google Chrome用 */
	-moz-border-radius: 30px;	/* Firefox用 */
	}
	.gsc-input-box{
		border: none !important;
    	background: none !important;
	}
	.cse .gsc-search-button-v2, .gsc-search-button-v2{
		border: none !important;
    	background: none !important;
	}
	table.gsc-search-box td.gsc-input{
		padding-top: 5px;
		padding-bottom: 5px;
	}
	table.gsc-input{
		font-size:18px;
	}
	.gsc-search-button-v2 svg{
		width: 20px;
		height: 20px;
	}
}

/*Googleカスタム検索（PC）*/
@media screen and (min-width:1001px){
.googleSearchPc{
	position: absolute;
	top:0;
	right: 0;
	}
ul.googleSearchPc,ul.googleSearchPc ul{
list-style:none;
}
.googleSearchPc {height: 80px; overflow: hidden;}
.googleSearchPc li .btn_search {
	float: right; 
	cursor: pointer;
	background: #222222;
	width: 80px; 
	height: 80px;
}
.googleSearchPc li .btn_search i{
color: #fff;
font-size:25px;
width: 80px; 
height: 80px;
display: table-cell; 
vertical-align: middle;
text-align:center;
}
.googleSearchPc li .inner{
	float: right; 
	width: 400px; 
	height: 80px; 
	display: none; 
	margin: 0;
}
.googleSearchPc .inner li.content1{
	background: #e7e7e7;
}
.gsc-control-cse{
	background-color: #e7e7e7 !important;
	border-color: #e7e7e7 !important;
	padding: 0 !important;
}
.gsc-control-wrapper-cse{
	background-color: #e7e7e7 !important;
}
.gsc-input-box{
	border: none !important;
    background: none !important;
}
.cse .gsc-search-button-v2, .gsc-search-button-v2{
	border: none !important;
    background: none !important;
}
input.gsc-input{
	background-color:  #e7e7e7 !important;
}
table.gsc-input{
	font-size:18px;
}
.gsc-control-cse div{
	height: 80px;
}
.gsc-search-button-v2 svg{
	width: 20px;
	height: 20px;
}
}


/* =================================
 ヘッダービジュアル
================================= */
.headImg{
	width: 100%;
	position: relative;
}
img.picHeadImg{
	display: block;
	width: 100%;
	height: 100vh;
	object-fit: cover;
	
}
.txtHeadImg{
	background: rgba(255,255,255,0.8);
	padding: 2em;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.txtHeadImg h2{
	font-size: calc(100vw / 40);
	text-align: center;
	line-height: 2em;
}
.infoHeadImg{
	background:rgba( 154,0,27,0.8 );
	position: absolute;
	bottom:0;
	width:100%;
	padding-top: 15px;
	padding-bottom: 15px;
}

.infoHeadImg h5{
	background:rgba( 125,0,22,0.6 );
	border-radius: 5px;        /* CSS3草案 */  
    -webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 5px;   /* Firefox用 */ 
	display: inline-block;
	padding: 10px;
	float: left;
	margin-top: 5px;
	margin-right: 10px;
}
.infoHeadImg p{
	line-height: 1.5em;
	float: left;
}
.infoHeadImg h5,.infoHeadImg p{
	color: #fff;
	font-size:14px;
}
.infoHead_tel a img{
	display: block;
	width:100%;
	max-width: 247px;
	cursor: pointer;
}
@media(max-width:768px)  {
	.txtHeadImg{
	width: 90%;
	-webkit-transform: translate(-50%,-80%);
	-moz-transform: translate(-50%,-80%);
	-ms-transform: translate(-50%,-80%);
	-o-transform: translate(-50%,-80%);
	transform: translate(-50%,-80%);
	}
	.txtHeadImg h2{
	font-size: 4vw;
	}
	.infoHeadImg .inner01 div{
	width: 100%;
	margin-bottom: 15px;
	}
	.infoHeadImg{
	padding-top: 20px;
	padding-bottom: 0;
	}
	.infoHeadImg h5{
		width:120px;
		text-align: center;
	}
	.infoHead_time h5,.infoHead_time p,
	.infoHead_holiday h5,.infoHead_holiday p{
		font-size:14px;
	}
	.infoHead_addTel p{
		font-size:13px !important;
	}
	.infoHeadImg .inner01 div.infoHead_address{
		width:180px;
	}
	.infoHeadImg .inner01 div.infoHead_tel{
		width:calc(100% - 200px);
	}
	.infoHeadImg .inner01 div.infoHead_address,
	.infoHeadImg .inner01 div.infoHead_tel{
		margin-bottom: 0;
	}
}
@media(max-width:600px)  {
	.txtHeadImg h2{
	font-size: 4vw;
	}
	
}

/* =================================
 トップへ戻るボタン
================================= */
#pageTop {
	position: fixed;
	bottom: 80px;
	right: 20px;
	z-index: 9999;
}
#pageTop i {
}
#pageTop a {
	display: block;
	color: #fff;
	font-weight: bold;
	font-size:40px;
	text-decoration: none;
	text-align: center;
	border-radius: 40px;
	background:#9e132b;
	width:45px;
	height:45px;
	line-height: 1.1em;
}
#pageTop a:hover {
	text-decoration: none;
	opacity: 0.7;
}
/* =================================
 footer
================================= */
footer{
	background: #373737;
}

.footer_info{
	background: url(../images/bg_foot.jpg) no-repeat center center;
	background-size: cover;
}
.footer_info .footer_info_container{
	padding-top: 50px;
	padding-bottom: 50px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between; /*均等に間隔をあける*/
	align-items: stretch;    /*全ての要素の高さを揃える*/
	flex-wrap:wrap;
	width:1300px;
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.footer_infoL,.footer_infoR{
	width: 48%;
}
.footer_infoL,.footer_infoL a{
	color: #fff;
}
img.footLogo{
	width:400px;
	max-width:90%;
	display: block;
}
.footer_infoL a{
	text-decoration: none;
}
.foot_access h3 i{
	margin-right: 0.2em;
}
ul.accessHowTo{
	list-style: disc;
	list-style-position: outside;
	padding-left: 1em;
	line-height: 1.8em;
}
ul.accessHowTo li{
	margin-bottom: 20px;
}
ul.accessHowTo li a{
	text-decoration: underline;
}
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 56.25%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}

.fotter_menu{
	padding-top: 50px
}
.fotter_menu ul{
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.fotter_menu ul li{
	display: inline-block;
	font-size: 14px;
	border-right: 1px solid #fff;
	margin-bottom: 20px;
}
.fotter_menu ul li:last-child{
	border-right: none;
}
.fotter_menu ul li a{
	color: #fff;
	font-size:85%;
	text-decoration:none;
	padding: 3px 20px;
}
.fotter_menu ul li a:hover{
	color:#999;
}
.copyright{	
	padding-top: 50px;
}
.copyright p{
	text-align: center;
	color: #fff;
	font-size:80%;
	font-weight:bold;
	padding-bottom:50px;
	line-height: 1.5em;
	width:90%;
	margin-left: auto;
	margin-right: auto;
}

@media(max-width:768px)  {
	.footer_info .footer_info_container{
		width:100%;
		max-width: 100%;
		padding-bottom: 0;
	}
	.footer_infoL{
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
	.footer_infoR{
	width: 100%
}

}

/* =================================
 ページ本体
================================= */
.warpper{
	width:100%;
}
@media(min-width:1001px)  {
.warpper{
	position: absolute;
	top:161px;
}
}
@media(max-width:1000px)  {
.warpper{
	position: absolute;
	top:60px;
}
}

/* =================================
 トップページ
================================= */

/*container01*/
.home_container01{
	border-bottom: 1px solid #ccc;
}
.home_container01 a{
	display: block;
	text-decoration: none;
}
.home_container01 a:hover{
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
	}
.container01Box{
	width: calc(100% / 3);
	padding: 35px 0;
	border-right: 1px solid #ccc;
}
.container01Box:last-child{
	border-right:none;
}
.container01Box img{
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
}
.container01Box h3{
	font-size: 110%;
}
.topDepartmentLink{

}
a.topDepartmentLink{
	color: #fff;
	background: #9e132b;
	border-radius: 5px;        /* CSS3草案 */  
    -webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 5px;   /* Firefox用 */
	display: block;
	font-size: 18px;
	line-height: 40px;
	text-decoration: none;
	position: relative;
	width: 100%;
	max-width: 400px;
	padding: 10px;
	margin-left: auto;
	margin-right: auto;
}
a.topDepartmentLink::before{
	content: url(../images/ico_department_wh.png);
	margin-left: 10px;
    margin-right: 10px;
    position: relative;
	top: 8px;
}
a.topDepartmentLink::after{
	content: "";
    display: inline-block;
    width: 7px;
    height: 14px;
    background: url(../images/arrow01.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    transition: transform .2s;
}
a.topDepartmentLink:hover{
	background: #4d4d4d;
}

/*重要なお知らせ*/
table.top_topics_tb tr th,
table.top_topics_tb tr td{
	padding: 0 20px 10px 20px;
	line-height: 1.5em;
}

table.top_topics_tb tr th{
	color: #9e132b;
	font-weight: bold;
	border-right: 1px dotted #9e132b;
}
table.top_topics_tb tr th::before{
	content: url(../images/ico_caution.png);
    margin: 10px;
    position: relative;
    top: 8px;
}
table.top_topics_tb tr td a{
	color: #4d4d4d;
}
.top_topics .inner02{
	background: #f9f0f0;
	padding: 10px;
}
@media(max-width:768px)  {
	table.top_topics_tb,
	table.top_topics_tb tbody,
	table.top_topics_tb tr,
	table.top_topics_tb tr th,
	table.top_topics_tb tr td{
		display: block;
	}
	table.top_topics_tb tr th{
		border-right:none;
		margin-bottom: 10px;
	}
	table.top_topics_tb tr th{
		text-align: center;
	}
	table.top_topics_tb tr td{
		text-align: left;
	}
}

/*お知らせ*/
h3.news_tit{
	font-size:180%;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
}
h3.news_tit span{
	color: #9e132b;
	font-size: 50%;
}
.newsUl li{
	display: flex;
	flex-wrap: wrap;
	align-items: center; 
	border-bottom: 1px solid #ccc;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.news_date,.news_cate{
	margin-right: 20px;
}
.news_cate{
	padding:5px 10px;
	font-size:70%;
	color: #fff;
}
.news_tit{
	line-height: 1.5em;
}
.category01Bg{
	background: #e9aab5;
}
.category02Bg{
	background: #eaaa56;
}
.category03Bg{
	background: #83aed6;
}
@media(max-width:768px)  {
	.news_tit{
		width:100%;
		margin-top: 10px;
	}
}

/*container02*/
.home_container02{
	background: url(../images/bg_home02.jpg) no-repeat center center;
	background-size: cover;
}
.container02_inner{
	width:956px;
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 50px;
	padding-bottom: 50px;
}
.container02Box{
	width:23%;
}
.container02BoxInner{
	width:100%;
	background: #fff;
	padding-top: 50px;
	padding-bottom: 50px;
}
.container02Box a{
	text-decoration: none;
}
.container02BoxInner img{
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
}

.container02BoxInner h3{
	text-align: center;
	color: #9e132b;
	font-size:100%;
	font-weight: bold;
}
.container02BoxInner:hover{
	background: #f2f2f2;
}
@media(max-width:768px)  {
	.container02Box{
	width:48%;
	margin-bottom: 15px;
}
}


/*container03*/
.container03Box{
	width:32%;
	margin-bottom: 20px;
}
.container03Box a,.container03Box a img{
	display: block;
}
.container03Box img{
	display: block;
	width:100%;
}
@media(max-width:768px)  {
	.container03Box{
	width:100%;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
}
}

/*bnr_bottomBox*/
.bnr_bottomBox{
	width: calc(100% / 4);
}
.bnr_bottomBox a{
	text-decoration: none;
}
.bnr_bottomBg{
	width: 100%;
	display: block;
}
.bnr_bottomBoxInner{
	position: relative;
}
.bnr_bottomTxt{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
}
.bnr_bottomTxt h3{
	text-align: center;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.1em;
}
.bnr_bottomTxt img{
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
}
@media(max-width:768px)  {
	.bnr_bottomBox{
	width: 100%;
}
}

/*container04*/
.home_container04{
	background:#fafafa;
	padding-top: 50px;
	padding-bottom: 50px;
}
.container04Inner{
	width:800px;
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.container04Box{
	width:48%;
}
.container04Box img{
	display: block;
	width:100%;
}
@media(max-width:768px)  {
	.container04Box{
	width:100%;
	margin-bottom: 20px;
}
}


/* ----------------------------------------------------------------------
 フッター追従型リンク
---------------------------------------------------------------------- */

div.footer_bnr{
    position: fixed;
    bottom: 0;
	width:100%;
	padding-top:15px;
	padding-bottom:15px;
	background:rgba( 154,0,27,0.8 );
}
div.footer_bnr h5{
	background:rgba( 125,0,22,0.6 );
	border-radius: 5px;        /* CSS3草案 */  
    -webkit-border-radius: 5px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 5px;   /* Firefox用 */ 
	display: inline-block;
	padding: 10px;
	float: left;
	margin-top: 5px;
	margin-right: 10px;
}
div.footer_bnr p{
	line-height: 1.5em;
	float: left;
}
div.footer_bnr h5,div.footer_bnr p{
	color: #fff;
	font-size:14px;
}
.footer_bnr_inner{
	position: relative;
	height:40px;
}
div.footer_bnr_link{
	position: absolute;
	width: 500px;
	max-width:90%;
	left: 0;
	right:0;
	margin: auto;
}
div.footer_bnr a img.footer_bnr_reserve{	
    width: 60%;
    display: block;
	float:left;
}
div.footer_bnr a img.footer_bnr_document{
    width: 39%;
    display: block;
	float:right;
}
div.footer_bnr img.footer_bnr_img01{
	position: absolute;
    width: 132px;
	height:81px;
    display: block;
	right:350px;
}
div.footer_bnr img.footer_bnr_img02{
	position: absolute;
    width: 132px;
	height:81px;
    display: block;
	left:350px;
}
@media screen and (max-width: 768px) {
/* フッタートグル
---------------------------------------------------------------------- */
.triger{
	width:90%;
	margin-left: auto;
	margin-right: auto;
	align-items:center;
	font-size:100%;
}
.btn-more {
  width: 40%;
  text-align: center;
	padding-top: 10px;
  margin-left: 20px;
  cursor: pointer;
color: #fff;
}
 
.btn-more::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f077";
  margin-right: 10px;
  color: #fff;
}
 
.btn-more.close::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f078";
  margin-right: 10px;
  color: #fff;
}
.toggle_down {
  background:rgba( 125,0,22,0.8 );
  padding: 10px 15px;
	position: absolute;
	bottom:55px;
	width:100%;
}
 
.toggle_down ul { 
	margin-left: 2em;
}
.toggle_down ul li { 
	list-style-type: disc;
}
.toggle_down .infoHead_time,
.toggle_down .infoHead_holiday,
.toggle_down .infoHead_address{
	margin-bottom: 15px;	
}
.triger	.infoHead_tel{
	width:40%;
	max-width: 40%;
	}
}

/* =================================
 タブレット以下の設定
================================= */
@media screen and (max-width: 768px) {

}
/* =================================
 スマホのみの設定
================================= */
@media screen and (max-width: 420px) {
/* フッター追従型リンク
---------------------------------------------------------------------- */
}

/* =================================
SP電話リンク
================================= */
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
    text-decoration: none;
    color:#333333;
  }
}


/* =================================
 SEARCH HEADER
================================= */
#search_form {
  padding: 5px 9px 4px 9px;
}

#s-box, #s-box:focus, #s-box:active {
  font-size: 16px;
  background: transparent;
  border:0;
  outline: currentcolor none medium;
  width: calc( 100% - 70px);
}

#s-btn-area{
  color:#ababab;
  font-size: 20px;
  background: transparent;
  border:0;
  outline: currentcolor none medium;
  cursor: pointer;
}

#s-btn-area:hover{
  opacity: 0.8;
}

@media screen and ( max-width: 1000px){

  .gsc-control-cse{
    padding: 1em;
  }

  .gsc-control-wrapper-cse{
    padding-top: 10px;
    padding-bottom: 10px;
  }

}

/* =================================
 SEARCH ARCHIVE
================================= */
.search_item h3{
  margin:0 0 10px;
}

.search_item .permalink{
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
  margin: 0 0 10px;
}

.search_item .permalink a{
  color:#093;
  font-size: 80%;
  word-break: break-word;
}

/* =================================
 SEARCH SINGLE
================================= */
.page-search{
  margin-top: 20px;
  padding: 50px 18px;
  text-align: center;
}

.page-search input#s-box{
  padding:0.5em 1em;
  width: 80%;
  font-size: 20px;
  border: 1px solid #ababab;
}

.page-search #s-btn-area{
  display:flex;
  align-items: center;
  justify-content: center;
  margin: 50px auto 0;
  width:100%;
  height: 50px;
  color:#fff;
  max-width: 280px;
  background-color: #9a001b;
  border:0;
  outline: currentcolor none medium;
  cursor: pointer;
}

.page-search #s-btn-area:hover{
  opacity: 0.8;
}

.print-only{ display: none; }