@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');
/******************************************************/
/* body */
/******************************************************/
body{
	color:#000;/* 文字色 */
	font-size:90%;
	font-family: "Noto Sans JP", メイリオ, Meiryo, "ＭＳ ゴ シック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif!important;
	line-height:1.6;
	-webkit-text-size-adjust: 100%;
	background: #ffffff;
	letter-spacing: 0.1em;
}

body a{
	text-decoration:  none;
	transition: opacity 0.3s;
	opacity: 1;
	color: #000;
}

body a:hover{
	transition: opacity 0.3s;
	opacity: 0.6;
}


@media only screen and (max-width:768px){
	body{
		color:#222222;/* 文字色 */
		font-size:80%;
		line-height:1.7!important;
		-webkit-text-size-adjust: 100%;
	}
}


.SP{display:none !important;}
@media only screen and (max-width:768px){
	.PC{display:none !important;}
	.SP{display:block !important;}
}

.TAB{display:none !important;}
@media only screen and (max-width:768px){
	.PC{display:none !important;}
	.TAB{display:block !important;}
}

/******************************************************/
/* header */
/******************************************************/

body.nomain header{
	border-bottom:1px dotted #bbbbbb!important;
}

.head_wrapper{
	width: 100%;
}

header{
	background: #fff;
}
header .headerInner{
	padding: 35px 35px 30px 35px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

	header .headerInner .head01 img{
		width: 100%;
		min-width: 450px;
		margin-bottom: 4px;
	}
	header.en .headerInner .head01 img{
		width: 100%;
		min-width: 380px;
		margin-bottom: 4px;
	}

	header .headerInner .head02 ul{
		font-size: 120%;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	header.en .headerInner .head02 ul{
		font-size: 100%;
	}

	header .headerInner .head02 ul.nav_sub{
		font-size: 100%;
		padding-bottom: 15px;
	}

		header .headerInner .head02 ul.nav_sub li img{
			padding-left: 5px!important;
		}



		header .headerInner .head02 ul li{
			padding-left: 40px;
		}


		header .headerInner .head02 ul li a{
			display: block;
			text-decoration: none;
			box-sizing: border-box;
			line-height: 140%;
			color: #000;
			white-space: nowrap;
			transition: opacity 0.3s;
			opacity: 1;
		}

			header .headerInner .head02 ul li a:hover{
				transition: opacity 0.3s;
				opacity: 0.6;
			}

/* ドロップダウン */
.menu {position: relative;z-index: 10;}
.menu > li a {display: block;}
.menu > li.menu__single {position: relative;}

.menu__second-level {
	padding-top:20px;
	visibility: hidden;
	opacity: 0;
	z-index: 201;
	position: absolute;
	top: 50px;
	left: -127px;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
	color: #000;
}
	.menu__second-level .menu_weap{
		margin-top:12px;
		background: #fff;
		border-radius: 10px;
		box-shadow: 2px 2px 8px #777;
		display: flex;
		justify-content: space-between;
	}

.menu__second-level.gnav {
	background:url(/img/icon_arrow.png)  center 10px no-repeat!important;
}


.menu__second-level ul{
	display:block!important;
	padding: 20px 30px 0px 30px;
}
	.menu__second-level ul li{
		padding: 0 0 20px 0!important;
		font-size: 70%;
	}
	header.en .menu__second-level ul li{
		font-size: 90%;
	}

li.menu__single:hover .menu__second-level {
    top: 22px;
    visibility: visible;
    opacity: 1;
	}

li.m1 a{
	background:url(/img/icon_m1.png)  left center no-repeat!important;
	padding: 5px 0 5px 35px;
}
li.m2 a{
	background:url(/img/icon_m2.png)  left center no-repeat!important;
	padding: 5px 0 5px 35px;
}
li.m3 a{
	background:url(/img/icon_m3.png)  left center no-repeat!important;
	padding: 5px 0 5px 35px;
}
li.m4 a{
	background:url(/img/icon_m4.png)  left center no-repeat!important;
	padding: 5px 0 5px 35px;
}

/* 検索窓 */
.menu__second-level.sa{
	top:21px;
	right:-35px!important;
}

.search_area{
	z-index: 500;
	position: absolute;
	right:0!important;
	text-align: center;
	box-sizing:border-box;
	display: none;
	width: 300px;
	padding: 20px 0 20px 20px!important;
	border-radius: 0!important;
}

.search_area .sa_wrap{
	border: solid 1px #000;
	margin: auto;
}

	.search_area input#searchinput{
		outline: 0;
		font-size: 80%;
		color:000;
		width: 216px;
		border: 0;
		padding:8px 5px 7px 8px;
	}

	.search_area .btn_sa{
		vertical-align: middle;
		padding-right: 8px;
	}

	.search_area .close{
		color: #000;
		display: inline-block;
		padding: 10px 0 0 0;
		cursor: pointer;
	}

/******************************************************/
/* SPヘッダー */
/******************************************************/

	/* TAB */
	@media only screen and (max-width:768px){

		header.TAB{
			width:100%;
			z-index:100!important;
			display: flex!important;
			justify-content: space-between;
			align-items:center;
		}

		body#home header.TAB{
			border:none;
		}

			header.TAB .head01{
				z-index:1!important;
				background:#ffffff;
				margin: 15px 0 20px 15px;
			}

		header.TAB .nav_sub_sp{
			display: flex;
			justify-content: flex-start;
			margin-right: 55px!important;
		}

		header.TAB .nav_sub_sp li{
			margin-left: 15px;
		}

		/* 検索窓 */
		.menu__second-level.sa{
			right:0!important;
		}

		.search_area{
			position: absolute;
				right: 0;
				top:45px!important;
			}

	}

/******************************************************/
/* パンクズ */
/******************************************************/
.bread{
	background: #eee;
	font-size: 80%;
	padding: 7px 40px 7px 40px;
}

	.bread ul{
		display:flex;
	}

	.bread ul li{
		margin-right: 5px;
	}

	/* TAB */
	@media only screen and (max-width:768px){
			.bread{
				padding: 7px 15px 7px 15px;
			}
		}


/* =======================================
 top
======================================= */
.btn_set{
	max-width: 1450px!important;
	display: flex;
	justify-content: space-between;
	font-size: 280%;
	margin:70px auto 0 auto!important;
	padding: 0 30px 0 30px;
}

.btn_set a{
	display:block;
	width: 48.5%;
	text-align: center;
	color: #fff;
	text-shadow: 0 0 3px #000;
	padding: 7vw 0 7vw 0;
}

.btn_set a.btn01{
	background:url(/img/top/top_btn01.jpg)  center center no-repeat!important;
	background-size: 100%!important;

}
.btn_set a.btn02{
	background:url(/img/top/top_btn02.jpg)  center center no-repeat!important;
	background-size: 100%!important;
}

/* スライダー */
ul.slider{
	width:100%;
}

.slider li{
	position: relative;
	outline: none;
	border: none;
}

.slider img {
	width: 100%;
	height: auto;
}


.lity-container,.lity-loader{
	display: none!important;
}

.mainImage{
	width:100%;
}

@media only screen and (max-width:768px){
	.btn_set{
		max-width: 1450px!important;
		font-size: 160%;
		margin:30px auto 0 auto!important;
		padding:0;
	}
	.btn_set.en{
		max-width: 1450px!important;
		font-size: 160%;
		margin:22px auto -8px auto!important;
		padding:0;
		line-height:1.2em;
	}
		.btn_set a{
			width: 50%;
		}
}









/* =======================================
	下層メイン画像
======================================= */
.main_img{
	position: relative;
}

.main_img img{
  width: 100%;
  height: 100%;
}

h2.tit_main {
	font-size: 330%;
	text-align: left;
	line-height: 80%;
  color: #d00412;
  font-weight: normal;
  position: absolute;
  top: 50%;
  left: 9.6%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
	.tit_main span {
		font-size: 45%;
	}

@media only screen and (max-width:768px){
	.tit_main {
		font-size: 200%;
	  top: 50%;
	  left: 5%;
	}
}

/* =======================================
下層共通
======================================= */

#wrapper #bg_grey{
	background: #eee;
}
#wrapper #bg_white{
	background: #fff;
}

#wrapper #main{
	max-width: 1450px;
	margin: auto;
	padding: 60px 20px 70px 20px;
	box-sizing: border-box;
}

 #main img{
  max-width: 100%;
}

h3.ttl_h3{
	text-align: center;
	font-size: 350%;
	color: #cb0708;
	margin-bottom: 70px;
	line-height: 100%;
}

h3.ttl_h3.sizem{
	font-size: 280%;
	margin-bottom: 60px;
	line-height: 130%;
}

h3.ttl_h3.sizes{
	font-size: 200%;
	margin-bottom: 40px!important;
}

/* txt_set */
.txt_set{
	display: flex;
	justify-content:space-between;
}

	.txt_set .ttl_h3.sizem{
		text-align: left;
	}

.txt_set dl{
	margin-bottom: 30px;
	margin-left: 0;
}
	.txt_set_left dl:last-child{
		margin-bottom: 0;
	}

	.txt_set dl dt{
		font-weight: bold;
	}

	sup{
		font-size: 70%;
		vertical-align: top;
	}

.or1{order: 1; margin-right: 40px;}
.or2{order: 2;}



/* TAB&SP */
@media only screen and (max-width:768px){
	#wrapper #main{
		max-width: 100%;
		padding: 30px 20px 30px 20px;
	}

	h2.tit_main{font-size: 160%;}
	h3.ttl_h3{font-size: 160%;margin-bottom: 30px;}
	h3.ttl_h3.sizem{font-size: 120%; margin-bottom: 30px;}
	h3.ttl_h3.sizes{font-size: 120%; margin-bottom: 30px;}

	/* txt_set */
	.txt_set{
		width: 100%;
		display: block;
	}
		.txt_set .txt_set_left{
			margin-bottom: 0;
		}

		.txt_set .ttl_h3.sizem{
			text-align: center;
			margin-top: 30px;
		}

			h3.ttl_h3.sizes{
				margin-bottom: 30px!important;
			}

	.txt_set dl{
		margin-bottom: 15px;
		margin-left: 0;

	}
		.txt_set dl:last-child{
			margin-bottom: 0;
		}

		.txt_set_left dl:last-child{
			margin-bottom: 15px;
		}
}


/* =======================================
foot map
======================================= */
.bg_map{
	border-bottom: 1px solid #fff;
}

.csj-sec .map {
  margin-top: 0!important;
}

.csj-sec h3{
  margin-bottom: 40px!important;
}

/* =======================================
footer
======================================= */

footer{
	background:#7c7c7c;
	width:100%;
	box-sizing: border-box;
	line-height: 160%;
	font-size: 80%;
}

footer .ftSet{
	padding:30px 25px 25px 25px;
	margin: auto;
	display: flex;
	box-sizing: border-box;
	justify-content: space-between;
	color: #fff;
}

	footer .ftSet .ftLeft .fmenu{
		margin-top: 15px;
		display: flex;
		justify-content: flex-start;
	}

	footer .ftSet .ftLeft .fmenu li{
		margin-right: 10px;
	}

	footer .ftSet .ftLeft .fmenu a{
		color: #fff;
	}

		footer .ftSet .ftRight{
			line-height:200%;
			text-align:right!important;
		}

			footer .ftSet .fsns{
				margin-right: 65px;
				display: flex;
				justify-content: flex-end;
			}

				footer .ftSet .fsns li{
					max-width:50px;
					margin-left: 15px;
				}

				footer .ftSet .fsns li img{
					width: 90%;
				}

/* ftLink */
.ftLink{
	background: #eeeeee;
	width: 100%;
	padding:50px 30px 50px 30px;
	box-sizing: border-box;
}
	.ftlinner{
		font-size: 140%;
		width: 1260px;
		margin: auto;
		justify-content: space-between;
	}
	.ftlinner.en{
		font-size: 120%;
	}

		.ftlinner ul{
			display: flex;
			justify-content:  space-between;
		}

		.ftlinner ul li{
			width: 150px;
			margin-left: 20px;
		}
		.ftlinner.en ul li{
			width: 200px;
		}

		.ftlinner ul li:first-child{
			margin-left: 0;
		}

		.ftlinner ul:first-child{
			margin-bottom: 0px;
		}



/* ftBanner */
.ftBanner{
	background: #d7d7d7;
	width: 100%;
	padding:40px 30px 40px 30px;
	box-sizing: border-box;
}

	.ftBanner .ftbinner{
		width: 1260px;
		margin: auto;
		font-size: 140%;
	}

	.ftBanner .ftbinner ul{
		margin-top: 15px;
		display: flex;
		justify-content:space-between;
	}


/* pagetop */
.pt{
	position: fixed;
	right: 25px;
	bottom: 29px;
	max-width: 50px;
	z-index: 1000;
}
.pt img{
	width: 100%;
}



/* SP&TAB */
@media only screen and (max-width:768px){
	footer{
		width:auto;
		font-size: 70%;
	}

	footer .ftSet{
		padding:15px 15px 10px 15px;
		width:auto;
		display: block;
		text-align: center;
	}

	footer .ftSet .ftLeft{
		float:none!important;
		line-height:180%;
	}

	footer .ftSet .ftLeft .info{
		float:none;
	}

	footer .ftSet .ftRight{
		margin-top:5px;
		line-height:150%;
		text-align:center!important;
		float:none!important;
	}

	footer .ftSet .ftRight img{
		margin: 5px 0 10px 0;
	}

		footer .ftSet .ftLeft .icon li{
			margin:0 8px 0 8px;
		}

	footer .ftSet .ftLeft .fmenu{
		margin-top: 15px;
		display: flex;
		justify-content: center;
	}



/* ftLink */
.ftLink{
	padding:20px 20px 20px 20px;
}
	.ftlinner{
		font-size: 120%;
		width: 100%;
		margin: auto;
		display: block;
	}
		.ftlinner ul:first-child{
			margin-bottom: 20px;
		}


/* ftBanner */
.ftBanner{
	text-align: center;
	padding:20px 20px 5px 20px;
}

	.ftBanner .ftbinner{
		width: 100%;
		margin: auto;
		font-size: 140%;
	}

	.ftBanner .ftbinner ul{
		margin-top: 15px;
		display: block;
	}

	.ftBanner .ftbinner ul li img{
		width: 100%;
		margin-bottom: 15px;
	}

	footer .ftSet .fsns{
		justify-content:  space-around;
		margin:15px 0 0 0!important;
	}
	footer .ftSet .fsns li{
		margin-left: 0;
	}
	footer .ftSet .fsns li img{
		width: 80%;
	}

	/* pagetop */
	.pt{
		position: fixed;
		right: 5px;
		bottom: 10px;
		max-width: 50px;
	}
	.pt img{
		width: 70%;
	}
}


/* =======================================
clear
======================================= */
.clear:after{
	display:block;content:"";clear:both;overflow:hidden;
}


/* =======================================
Pager
======================================= */
.newsSet .newsLeft .navigation {
	margin: 50px auto;
	text-align: center;
}

.newsSet .newsLeft .navigation h2 {
	display: none;
}

.newsSet .newsLeft .navigation a,
.newsSet .newsLeft .navigation a:hover {
	text-decoration: none;
	border: 1px solid #CA0B0F;
}

.newsSet .newsLeft .navigation .page-numbers {
	border: 1px solid #ccc;
	margin: 0 3px;
	padding: 5px 12px;
}

.newsSet .newsLeft .navigation .page-numbers.current {
	border: 1px solid #CA0B0F;
	background: #CA0B0F;
	color: #fff;
	font-weight: bold;
}

.newsSet .newsLeft .navigation .meta-nav {
	display: none;
}

@media only screen and (max-width:768px) {
	.newsSet .newsLeft .navigation {
		position: relative;
		margin-bottom: 100px;
	}

	.newsSet .newsLeft .navigation .page-numbers {
		margin: 0 2px;
		padding: 4px 8px;
	}

	.newsSet .newsLeft .navigation .prev.page-numbers {
		position: absolute;
		left: 0;
		bottom: -50px;
	}

	.newsSet .newsLeft .navigation .next.page-numbers {
		position: absolute;
		right: 0;
		bottom: -50px;
	}
}