@charset "UTF-8";

body {
	background-color:#fff!important;
}
/*** header top_bg *********************************/
#header .top_bg {
	display:block;
	max-width:100%;
	width:100%;
	overflow: hidden;
	margin: 0px auto 0px auto;
	height:800px;
	position: absolute;
	top:0;
	left:50%;
	transform: translateX(-50%);
	z-index:1;
	background-color:#f9f7f1;
}
#header .top_bg img {
	width:100%;
	height:100%;
	object-fit: cover;
	object-position: center bottom;
}
#header .top_text {
	display:block;
	max-width:1400px;
	width:100%;
	overflow: hidden;
	margin: 0px auto 0px auto;
	height:800px;
	position: absolute;
	top:0;
	left:0px;
	right:0px;
	z-index:2;
	text-align:right;
}
#header .top_text img {
	width:400px;
	height:auto;
	margin-top:200px;
	margin-right:150px;
}

/*** header taglineInr *********************************/
#header div.taglineInr {
	display:block;
	margin:0 0px;
	padding:0 0px;
	width:1140px;
	position: absolute;
	z-index:999;
	top:0;
	left:50%;
	transform: translateX(-50%);
}
#header div.taglineInr2 {
	display:block;
	margin:0 0px;
	padding:0 0px;
	width:100%;
	position: fixed;
	z-index:1000;
	top:0;
	left:50%;
	transform: translateX(-50%);
	background-color:#fff;
	border-bottom:solid 1px #ddd;
}
#header div.hdInr {
	display:block;
	width:1140px;
	margin:0 auto;
}
#header div.hdInr ul.logo_menu {
	display:flex;
	justify-content: space-between;
	margin:0px 0 0;
	padding:0;
}
#header div.hdInr ul.logo_menu li {
	display:block;
}
#header div.hdInr ul.logo_menu li.logo {
	text-align:center;
	padding-top:38px;
	width:248px;
	background:none;
}
#header div.hdInr ul.logo_menu li.logo a {
	display:block;
	height:auto;
	width:248px;
}
#header div.hdInr ul.logo_menu li.logo a img{
	display: block;
	width: 100%;
	height: auto;
}
#header div.hdInr ul.logo_menu li.hdC {
	display:block;
	width:780px;
}

#header div.hdInr ul.logo_menu li.hdC div.hdCTop {
	display:block;
	margin:0;
	padding:0;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi {
	display:flex;
	justify-content: space-between;
	margin:40px 0 0;
	padding:0;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li {
	display:block;
	margin:0;
	padding:0 0 20px 0;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li.sns {
	width:91px;
	text-align:right;
	margin-left: 4px;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li.sns a {
	display: inline-block;
	text-align:right;
	letter-spacing: normal;
	margin-left: 2px;
	margin-top: 0px;
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	transition: opacity 0.3s;
	width: 40px;
	height: 40px;
	border-radius: 20px;
	overflow: hidden;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li.sns a img {
	width: 100%;
	height: auto;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li a {
	color:black;
	text-decoration:none;
	font-size:16px;
	position: relative;
	background-color:none;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li.sns a:hover {
	opacity:.7;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li a:hover {
}


#header .sp_menu {
	display: none;
}
#header .gNav_sp {
	display: none;
}
#header::after {
	clear: both;
}

/*** プル *********************************/
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li div.subnavi {
	overflow: hidden;
	display: block;
	width:200%;
	height:0;
	position: absolute;
	top: 97px;
	left: 50%;
	transform: translateX(-50%);
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	background-color:#1f2c5c;
	z-index: 9999;
	-moz-transition: 0.2s;
	-webkit-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li div.subnavi .subnavi_in {
	display: block;
	margin: 0px auto 15px auto;
	padding: 20px 0 20px 0;
	background-color:#1f2c5c;
	position: relative;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li div.subnavi .subnavi_line1 {
	display: block;
	margin: 0px auto 0 0;
	padding: 0 0 0 0px;
	width:112px;
	height:5px;
	background-color:#1f2c5c;
	position: absolute;
	top: -5px;
	left: 50%;
	transform: translateX(-50%);
	margin-left:-157px;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li div.subnavi .subnavi_line2 {
	display: block;
	margin: 0px auto 0 0;
	padding: 0 0 0 0px;
	width:112px;
	height:5px;
	background-color:#1f2c5c;
	position: absolute;
	top: -5px;
	left: 50%;
	transform: translateX(-50%);
	margin-left:-25px;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li div.subnavi .subnavi_line3 {
	display: block;
	margin: 0px auto 0 0;
	padding: 0 0 0 0px;
	width:68px;
	height:5px;
	background-color:#1f2c5c;
	position: absolute;
	top: -5px;
	left: 50%;
	transform: translateX(-50%);
	margin-left:85px;
}
#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li div.subnavi .subnavi_in span.cat0 {
	display: block;
	width:1140px;
	margin: 0px auto 8px auto;
	font-size:20px;
	font-weight:bold;
	background-color:none;
	color:#c0ab99;
}
ul.subnavi2 {
	display:flex;
	width:1140px;
	justify-content: space-between;
	flex-wrap: wrap;
	margin:0px auto 0 auto;
	padding:0;
}
ul.subnavi2 li {
	display:block;
	width:264px;
	margin:0px 25px 25px 0;
	padding:0;
}
ul.subnavi2 li.subnavi2_clum2 {
	display:block;
	width:528px;
	margin:0px 0px 25px 0;
	padding:0;
}
ul.subnavi2 li.subnavi2_clum2 ul.subnavi2_clum2_ul {
	display:flex;
	width:528px;
	justify-content: space-between;
	flex-wrap: wrap;
	margin:0px auto 0 auto;
	padding:0;
}
ul.subnavi2 li.subnavi2_clum2 ul.subnavi2_clum2_ul li {
	display: block;
	width:48%;
	margin: 0 0px 0 0!important;
	padding: 0 0px 0 0!important;
	font-size:14px;
	font-weight:normal;
	background-color:none;
	color:#fff;
	position: relative;
}
ul.subnavi2 li:nth-child(4n) {
	margin:0px 0px 15px 0;
}
ul.subnavi2 li span.cat1 {
	display:block;
	width:100%;
	font-size:16px;
	font-weight:bold;
	color:#fff;
	padding:0;
	margin: 0 0px 8px 0;
	border-bottom:solid 1px #fff;
}
ul.subnavi2 li a {
	display: block;
	padding: 0 0px 0 14px;
	font-size:14px;
	font-weight:normal;
	background-color:none;
	color:#fff!important;
	position: relative;
}
ul.subnavi2 li a:before {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: 12px auto 0 auto;
}
ul.subnavi2 li a.blank {
	display: inline-block;
	margin: 0 0px 0 0px;
	padding: 0 20px 0 14px;
	background: url(../img/blank_w.png) no-repeat right 6px;
}

ul.subnavi3 {
	display:flex;
	width:1140px;
	justify-content: space-between;
	flex-wrap: wrap;
	margin:0px auto 0 auto;
	padding:0;
}
ul.subnavi3 li {
	display:block;
	width:334px;
	margin:0px 25px 25px 0;
	padding:0;
}
ul.subnavi3 li.subnavi3_clum2 {
	display:block;
	width:408px;
	margin:0px 0px 25px 0;
	padding:0;
}
ul.subnavi3 li.subnavi3_clum2 ul.subnavi3_clum2_ul {
	display:flex;
	width:408px;
	justify-content: space-between;
	flex-wrap: wrap;
	margin:0px auto 0 auto;
	padding:0;
}
ul.subnavi3 li.subnavi3_clum2 ul.subnavi3_clum2_ul li {
	display: block;
	width:48%;
	margin: 0 0px 0 0!important;
	padding: 0 0px 0 0!important;
	font-size:14px;
	font-weight:normal;
	background-color:none;
	color:#fff;
	position: relative;
}
ul.subnavi3 li:nth-child(4n) {
	margin:0px 0px 15px 0;
}
ul.subnavi3 li span.cat1 {
	display:block;
	width:100%;
	font-size:16px;
	font-weight:bold;
	color:#fff;
	padding:0;
	margin: 0 0px 8px 0;
	border-bottom:solid 1px #fff;
}
ul.subnavi3 li a {
	display: block;
	padding: 0 0px 0 14px;
	font-size:14px;
	font-weight:normal;
	background-color:none;
	color:#fff!important;
	position: relative;
}
ul.subnavi3 li a:before {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: 12px auto 0 auto;
}
ul.subnavi3 li a.blank {
	display: inline-block;
	margin: 0 0px 0 0px;
	padding: 0 20px 0 14px;
	background: url(../img/blank_w.png) no-repeat right 6px;
}


#header div.hdInr ul.logo_menu li.hdC div.hdCTop ul.mainnavi li:hover div.subnavi {
	background-color:none;
	overflow: visible;
}

/*** top_contents *********************************/
.top_bgon {
	display: block;
	margin: 0px auto 0px auto;
	padding: 40px 0px 40px 0px;
	width:100%;
	background-color:#f9f7f1;
}
.top_contents {
	position: initial;
	display: block;
	margin: 0px auto 50px auto;
	padding: 0px 0px 0px 0px;
	width:1140px;
}
.top_contents h4 {
	display:block;
	margin:20px auto 30px;
	padding:0px 0px;
	font-size:20px;
	font-weight:bold;
	line-height:1.4;
	color:#000;
	text-align:left;
	border-bottom:solid 3px #ea0022;
}

.paddingT800 {
	padding-top: 800px;
}
.top_contents .top_copy{
	display: block;
	margin: 20px auto 40px auto;
}
.top_contents .top_ul {
	display: block;
	margin:0px auto;
	padding:0;
}
.top_contents .top_ul ul {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin:0px auto;
	padding:0;
	width:1140px;
}
.top_contents .top_ul ul li {
	display: block;
	width:340px;
	margin: 0px auto 0px auto;
	padding:0;
}
.top_contents .top_ul ul li a {
	display: block;
	text-decoration:none;
	margin: 0px auto 0px auto;
	padding:0;
}
.top_contents .top_ul ul li a:hover {
	opacity:1;
}
.top_contents .top_ul ul li a:hover .img .box-black {
	background-color: rgba(0, 0, 0, 0);
}
.top_contents .top_ul ul li a .img{
	display: block;
	margin: 0px auto 0px auto;
	padding:0;
	overflow: hidden;
	border:solid 2px #fff;
	position: relative;
	z-aindex:1;
}
.top_contents .top_ul ul li a .img .box-black {
	display: block;
	width:100%;
	height:100%;
	background-color: rgba(0, 0, 0, 0.4);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
}
.top_contents .top_ul ul li a .img img {
	width:100%;
	height:auto;
}
.top_contents .top_ul ul li a .text0{
	display: block;
	font-size:16px;
	font-weight:bold;
	line-height:1.4;
	margin: 0px auto 6px auto;
	padding:0;

}
.top_contents .top_ul ul li a .img .text1{
	display: block;
	width:100%;
	color:#fff;
	font-size:24px;
	font-weight:bold;
	line-height:1.4;
	text-align:center;
	text-shadow: 4px 4px 4px #555;
	position: absolute;
	z-aindex:3;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: transparent;
}
.top_contents .in_contents{
	display: block;
	margin: 0px auto 0px auto;
	width:1140px;
}
.top_contents .top_obi {
	display: block;
	margin: 0px auto 30px auto;
	padding:8px 15px;
	background-color:#ea0022;
	font-size:20px;
	font-weight:bold;
	color:#fff;
}
.top_contents .type4 ul li {
	display: block;
	width:270px;
	margin: 0px auto 30px auto;
	padding:0;
}
.top_contents .type4 ul li a .img .text1{
	font-size:16px;
}
