@charset "utf-8";


/* =================================================================================================

　共通スタイル

================================================================================================= */
.right_link {
    display: block;
    /* float: right; */
    margin: 1em 0;
    font-size: 15px;
    text-align: right;
}
.fuwafuwa {
	-webkit-animation-name:fuwafuwa;
	-webkit-animation-duration:2s;
	-webkit-animation-iteration-count:infinite;
	-webkit-animation-timing-function:ease;
	
	-moz-animation-name:fuwafuwa;
	-moz-animation-duration:2s;
	-moz-animation-iteration-count:infinite;
	-moz-animation-timing-function:ease;
}

@-webkit-keyframes fuwafuwa {
	0% {-webkit-transform:translate(0, 0);}
	50% {-webkit-transform:translate(0, -20px);}
	100% {-webkit-transform:translate(0, 0);}
}
@-moz-keyframes fuwafuwa {
	0% {-moz-transform:translate(0, 0);}
	50% {-moz-transform:translate(0, -20px);}
	100% {-moz-transform:translate(0, 0);}
}
span.small {
    font-size: 12px;
}
#mv {
    height: 350px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
/* ----------------------------------------------------------------------------
　リセット
---------------------------------------------------------------------------- */
ul{
	list-style:none;
	margin:0 0 0 0;
	padding:0 0 0 0;
}
ul li{
	list-style:none;
	margin:0 0 0 0;
	padding:0 0 0 0;
}
a{
	outline:0;
}

.clearfix{display: inline-block;}
/* Exclude Mac IE \*/
.clearfix{display: block;}
/**/
.clearfix:after{content:".";display:block;clear:both;height:0;visibility: hidden;}


/* ----------------------------------------------------------------------------
　フォント
---------------------------------------------------------------------------- */
body{
	font-family: Meiryo, "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Verdana, Osaka, "MS P Gothic", "ＭＳ Ｐゴシック", sans-serif;
	font-size:14px;
}


body{
}
@media screen and (max-width: 767px){
body{
	min-width:auto;
}
}


/* ----------------------------------------------------------------------------
　PC・スマホ表示非表示
---------------------------------------------------------------------------- */
.pc_area{
}
.sp_area{
	display:none;
}
@media screen and (max-width: 767px){
.pc_area{
	display:none;
}
.sp_area{
	display:block;
}
}



/* ----------------------------------------------------------------------------
　ヘッダ
---------------------------------------------------------------------------- */
header{
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1005;
	background-color: #fff;
}
header .logo_menu {
	max-width:1000px;
	margin: 0 auto;
	padding-top: 20px;
}
header .logo_menu h1{
	/* width: 230px; */
	float:none;
	margin: 10px auto 30px;
	text-align: center;
}

header .logo_menu .menu{
	max-width:980px;
	margin: 0 auto;
}

header .logo_menu .menu li{
	max-width: 140px;
	text-align: center;
	font-size: 16px;
	float: left;
	flex-grow: 1;
}
header .logo_menu .menu >
 ul {
    display: flex;
    justify-content: space-around;
}
header .logo_menu .menu li a {
	color: #000;
	text-decoration: none;
	max-width: 140px;
	display: block;
	padding-bottom: 14px;
}
header .logo_menu .menu li a:hover,
header .logo_menu .menu li a.active {
	color: #B7202F;
	border-bottom: 6px solid #B7202F;
}

header .logo_menu .menu li.sp_area {
	display: none;
}

.btn_official {
	position: absolute;
	right: 10%;
	top: 10px;
	z-index: 4000;
	font-size: 12px;
}
.btn_official a {
	color: #666;
	text-decoration: none;
	background: url(../images/icon_arrow_grey.gif) no-repeat left;
	padding-left: 12px;
}
.btn_official a:hover {
	text-decoration: underline;
}
.first_cont {
    margin-top: 130px!important;
}

/* スマホ */
@media screen and (max-width: 767px){
.first_cont {
	margin-top: 50px;
}
header {
	height: 50px;
}

header .logo_menu {
	width:100%;
	padding-top: 0;
}
header .logo_menu h1{
	/* margin-top: 16px; */
	margin-left: 10px;
	float: left;
	margin: 0;
	max-width: calc(100% - 60px);
}
header .logo_menu h1 a{
	display: block;
	height: 50px;
}
header .logo_menu h1 img{
	width: 100%;
	height: auto;
	vertical-align: top;
	padding-top: 7px;
	padding-left: 10px;
	/* max-width: calc(100% - 50px); */
}

header .logo_menu .menu{
	position:absolute;
	top:50px;
	left:0px;
	z-index:200;
	padding:0 0 0 0;
	width:100%;
	overflow:hidden;
}

header .logo_menu .menu ul{
	display:none;
	position:relative;
}

header .logo_menu .menu.active ul{
	display:block;
	animation-iteration-count: 1;
	animation: anime1 0.3s ease-in-out .0s forwards;
}
@keyframes anime1{
	0%{
		opacity: 0;
		top:-200px;
	}
	100%{
		opacity: 1;
		top:0px;
	}
}


header .logo_menu .menu li{
	float:none;
	margin:0 0 0 0;
	width: 100%;
	max-width: none;
}
header .logo_menu .menu li a{
	display:block;
	background-color:#fff;
	font-size:14px;
	text-align:center;
	border-bottom:1px solid #ccc;
	padding: 15px 0;
	text-decoration: none;
	color: #000;
	width: 100%;
	max-width: none;
	margin-bottom: 0;
}
header .logo_menu .menu li a:hover,
header .logo_menu .menu li a.active {
	border-bottom:1px solid #ccc;
}

header .line{
	margin-bottom:10px;
	background-size:5px auto;
	height:15px;
}
header .logo_menu{
	width:100%;
}


/* メニュー開くボタン */
header .btn_menu_open a{
	display:block;
	width:35px;
	height:30px;
	position:absolute;
	top: 16px;
	bottom: 15%;
	right:10px;
}

header .btn_menu_open a span{
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	background: #ddd;
	left: 0;
	transition: .35s ease-in-out;
}
header .btn_menu_open a span:nth-child(1) {
	top: 0;
}
header .btn_menu_open a span:nth-child(2) {
    top: 11px;
}
header .btn_menu_open a span:nth-child(3) {
    top: 22px;
}


header .btn_menu_open.active a span:nth-child(1) {
	top: 11px;
	transform: rotate(315deg);
}
header .btn_menu_open.active a span:nth-child(2) {
	width: 0;
	left: 50%;
}
header .btn_menu_open.active a span:nth-child(3) {
	top: 11px;
	transform: rotate(-315deg);
}
}


@media screen and (max-width: 600px){
header .btn_menu_open a{
	bottom:8%;
}
}

/* ----------------------------------------------------------------------------
　フッタ
---------------------------------------------------------------------------- */
#footer {
	width: 100%;
	position: relative;
	padding-top: 40px;
}

div#footer {}
#footer .footer_inner {
	max-width: 1000px;
	margin: 0 auto;
}
#footer .foot_navi {
	max-width: 980px;
	text-align: center;
	padding-bottom: 20px;
}
#footer .foot_navi li {
	display: inline-block;
	padding: 0 25px;
	border-right: 1px solid #333;
	margin-bottom: 20px;
}
#footer .foot_navi li:last-child {
	border-right: none;
}
#footer .foot_navi li a {
	color: #333;
	text-decoration: none;
}
#footer .foot_navi li a:hover {
	color: #999;
}

#footer .foot_info {
	margin-bottom: 25px;
}
#footer .foot_info .foot_logo {
	float: left;
	width: 165px;
}
#footer .foot_info .foot_access {
	float: right;
	margin-top: 10px;
	text-align: right;
	line-height: 160%;
}

#footer .footer_copy {
	background-color: #9C2F2F;
	padding: 25px 0;
}
#footer .footer_copy p {
	color: #fff;
	text-align: center;
}

#footer .pagetop {
	text-align: center;
	position: relative;
	/* top: -50px; */
	width: 70px;
}

/* スマホ */
@media screen and (max-width: 767px) {
	
	#footer {
		width: 100%;
		padding-top: 0px;
	}
	#footer .footer_inner {
		width: 100%;
		margin: 0 auto;
	}
	#footer .foot_navi {
		width: 100%;
		/* text-align: left; */
	}
	#footer .foot_navi li {
		display: inline-block;
		padding: 0;
		border-right: 1px solid #333;
		margin-bottom: 20px;
	}
	#footer .foot_navi li a {
		display: block;
		padding: 0 15px;
	}
	
	#footer .foot_info {
		padding-bottom: 25px;
		width: 90%;
		margin: 0 auto;
	}
	#footer .foot_info .foot_logo {
		float: none;
		width: 60%;
		margin: 0 auto 20px;
	}
	#footer .foot_info .foot_logo img {
		width: 100%;
		height: auto;
	}
	#footer .foot_info .foot_access {
		float: none;
		margin: 0 auto;
		line-height: 140%;
		font-size: 12px;
	}

	#footer .footer_copy {
		background-color: #9C2F2F;
		padding: 25px 0;
		font-size: 12px;
	}
	#footer .footer_copy p {
		color: #fff;
		text-align: center;
		line-height: 140%;
	}
	
	#footer .pagetop {
		/* top: -80px; */
		width: 50px;
		opacity: 0.8;
	}
}