@charset "UTF-8";

body {
	background-color:#fff!important;
}
/*** header top_bg *********************************/
#header {
	display:block;
	width:100%;
	position:fixed;
	top:0;
	left:0;
	background-color:#fff;
	z-index:998;
	border-bottom:solid 3px #ea0022;
}
#header .top_bg {
	display:none;
}
#header .top_bg img {
}
#header .top_text {
	display:none;
}

.top_sp_bg {
	display:block;
	margin: 64px auto 0px auto;
	position: relative;
	z-index:1;
}
.top_sp_bg img {
	width:100%;
	height:auto;
}
.top_sp_text {
	display:block;
	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;
}
.top_sp_text img {
	width:220px;
	height:auto;
	margin-top:100px;
	margin-right:10px;
}

/*** header taglineInr *********************************/
#header div.taglineInr {
	display:block;
	margin:0 auto;
	padding:0 0px;
}
#header div.hdInr {
	display:block;
	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-left:15px;
	padding-top:24px;
	padding-bottom:17px;
	width:190px;
	background:none;
}
#header div.hdInr ul.logo_menu li.logo a {
	display:block;
	height:auto;
	width:190px;
}
#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;
	position: relative;
	z-index:1;
}
#header div.hdInr ul.logo_menu li.hdC .mainnavi {
	display:none;
}
#header .sp_menu .sns_icon {
	display:block;
	width:70px;
	text-align:right;
	margin-left: 4px;
	position: fixed;
	top: 18px;
	right: 60px;
}
#header .sp_menu .sns_icon 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: 28px;
	height: 28px;
	border-radius: 20px;
	overflow: hidden;
}
#header .sp_menu .sns_icon a:hover {
	opacity:.7;
}
#header .sp_menu .sns_icon a img {
	width: 100%;
	height: auto;
}


#header .sp_menu {
	display: block;
	
}
#header .sp_menu .toggle_btn {
	display: block;
}
.toggle_btn {
	display: block;
	position: fixed;
	top: 23px;
	right: 15px;
	width: 24px;
	height: 24px;
	transition: all .5s;
	cursor: pointer;
	z-index: 3;
}
.toggle_btn span {
	display: block;
	position: absolute;
	left: 0;
	width: 24px;
	height: 2px;
	background-color: #333;
	border-radius: 4px;
	transition: all .5s;
}
.toggle_btn span:nth-child(1) {
	top: 4px;
}
.toggle_btn span:nth-child(2) {
	top: 11px;
}
.toggle_btn span:nth-child(3) {
	bottom: 4px;
}
.open .toggle_btn span {
	background-color: #333;
}
.open .toggle_btn span:nth-child(1) {
	-webkit-transform: translateY(7px) rotate(-315deg);
	transform: translateY(7px) rotate(-315deg);
}
.open .toggle_btn span:nth-child(2) {
	opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
	-webkit-transform: translateY(-7px) rotate(315deg);
	transform: translateY(-7px) rotate(315deg);
}

/*============
#mask
=============*/
#mask {
	display: none;
	transition: all .5s;
}
.open #mask {
	display: block;
	position: fixed;
	top: 64px;
	left: 0;
	width: 100%;
	height: 100%;
	background: #1F2C5C;
	opacity: 1;
	z-index: 2;
	overflow: scroll;
}
#mask nav {
	display:block;
	margin:20px 20px 10px;
	padding:0 0 60px 0;
}
#mask nav #sp_menu {
	display:block;
	margin:0px 0px;
	padding:0;
	color:#fff;
	font-weight:bold;
}
#mask nav #sp_menu a {
	font-size:14px;
	text-decoration:none;
}
#mask nav #sp_menu summary {
	display:block;
	margin:15px 0px 5px;
	padding:0 0 3px;
	color:#C0AB99;
	border-bottom:solid 1px #C0AB99;
}
#mask nav #sp_menu details {
	display:block;
	margin:0px 0px;
	padding:0 0px;
}
#mask nav #sp_menu details .menutitle {
	display:block;
	margin:5px 10px;
	padding:0 0px 2px;
	color:#fff;
	border-bottom:solid 1px #fff;
}
#mask nav #sp_menu details a {
	display:block;
	margin:0px 20px;
	padding:0 20px 0 0;
	color:#fff;
	font-weight:normal;
}
#mask nav #sp_menu details p {
	display:block;
	margin:10px 10px 20px;
	padding:0 0px 0 0;
	color:#fff;
	font-weight:normal;
}
#mask nav #sp_menu details a:before {
	content: "> ";
}
#mask nav #sp_menu details a.blank {
	display: inline-block;
	padding: 0 20px 0 0px;
	background: url(../img/blank_w.png) no-repeat right 5px;
}
#mask nav #sp_menu details a:after {
	content: '';
	clear:both;
}
#sp_menu summary .icon {
	float:right;
	width: 16px;
	height: 20px;
	position: relative;
}
#sp_menu summary .icon:before,
#sp_menu summary .icon:after {
	content: '';
	position: absolute;
	background-color: #C0AB99;
	transition: transform 0.5s ease;
}
#sp_menu summary .icon:before {
	width: 2px;
	height: 16px;
	top: 0;
	left: 7px;
	transform-origin: center;
}
#sp_menu summary .icon:after {
	width: 16px;
	height: 2px;
	top: 7px;
	left: 0;
}
#sp_menu details[open] summary .icon:before {
	transform: scaleY(0);
}

#sp_menu .sp_menu2 {
	display: flex;
	width:100%;
	justify-content: space-between;
	flex-wrap: wrap;
	margin:5px 0;
	padding:0;
}
#sp_menu .sp_menu2 li {
	display: block;
	width:31%;
	margin:10px 0;
	padding:0;
	text-align:center;
}
#sp_menu .sp_menu2 li a {
	display: block;
	font-size:16px!important;
	text-align:center;
	color:#C0AB99;
	border-bottom:solid 1px #C0AB99;
}
#sp_menu .sp_menu3 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin:10px auto;
	padding:0;
}
#sp_menu .sp_menu3 li {
	display: block;
	width:48%;
	margin:0px auto;
	padding:0;
	text-align:left;
}
#sp_menu .sp_menu3 li a {
	font-size:14px;
	text-align:left;
	font-weight:normal;
	color:#fff;
}
#sp_menu .sp_menu3 li a:before {
	content: "> ";
}
#sp_menu .sp_menu4 {
	display:block;
	margin-top: 2 0px;
	text-align:center;
}
#sp_menu .sp_menu4 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;
}
#sp_menu .sp_menu4 a:hover {
	opacity:.7;
}
#sp_menu .sp_menu4 a img {
	width: 100%;
	height: auto;
}


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


/*** top_contents *********************************/
.top_bgon {
	display: block;
	margin: 0px 0px 0px 0px;
	padding: 40px 0px 40px 0px;
	background-color:#f9f7f1;
}
.top_contents {
	position: initial;
	display: block;
	margin: 0px 20px 50px 20px;
	padding: 0px 0px 0px 0px;
}
.paddingT800 {
	padding-top: 0px;
}
.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;
}
.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;
}
.top_contents .top_ul ul li {
	display: block;
	width:100%;
	margin: 0px auto 20px auto;
	padding:0;
	font-size:14px;
}
.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;
	height:180px;
	margin: 0px auto 0px auto;
	padding:0;
	overflow: hidden;
	border:solid 2px #fff;
	position: relative;
	z-index: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:14px;
	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;
}
.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:46%;
	margin: 0px auto 30px auto;
	padding:0;
}
.top_contents .type4 ul li a .img {
	height:90px;
	font-size:16px;
}
.top_contents .type4 ul li a .img .text1{
	font-size:14px;
}
