@charset "utf-8";

body {
	background:#fff;
	color: #010101;
	letter-spacing: 0;
	font-size:14px;
	line-height:26px;
	margin-top: 79px;
	font-family:"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

h2,h3,h4 {
	font-family: "M PLUS Rounded 1c";
}

img { width: 100%;}
.red { color: #e62334;}
span.number { display: block;}

@media all and (-ms-high-contrast:none) {

	body{
		font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	}
}

body #wrap {
	overflow:hidden;
	margin:0 auto;
}

a {
    color: #4c4c4c;
    text-decoration: none;
}
a:hover { opacity:0.6;}

body #wrap q{ display:none;}

body .pc900 { display:block;}
body .sp900 { display:none;}
/* body .sp860 { display:none;} */

body .sp { display:none;}
.pc { display:block;}

header{
	display: block;
	width: 100%;
	padding: 20px 0 25px;
	/* height: 115px; */
	background-color: #fff;
	position: fixed;
	top: 0;
	z-index: 100;
	border-bottom: solid 3px #e62334;
}

header .in_hd {
	max-width: 1200px;
	width: calc(100% - 40px);
	margin: 0 auto;
	overflow: hidden;
}

h1 {
	float: left;
}

h1 > a{
	background:url("../img/common/h1.jpg") no-repeat center;
	width: 157px;
	height: 64px;
	display: block;
}
@media screen and (max-width: 900px) {

	body .pc900 { display:none;}
	body .sp900 { display:block;}

}

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

	body {
		font-size: 14px;
		line-height: 24px;
		margin-top: 60px;
	}
	.in_wrap { margin-top: 60px;}

	.pc { display:none!important;}
	.sp { display:block!important;}

	img.sp { width: 100%;}

	header {
		height: 60px;
		padding: 0;
	}

	header .in_hd {
		width: calc(100% - 20px);
		margin: 7px auto 0;
	}

	h1 {
		width: 100%;
		padding: 0;
		float: left;
	}

	h1 > a{
		background:url("../img/common/sp/h1.jpg") no-repeat center/100%;
		width: 113px;
		height: 46px;
		margin:  0 ;
	}

}


/*---------------------------------------------------------------------
						共通
----------------------------------------------------------------------*/

.list-mv01{
	opacity: 0;
	transition-delay:4s;
	-webkit-transition-delay:4s;
	-moz-transition-delay:4s;
    -ms-transition-delay:4s;
	-webkit-transition: all 1s;
	-moz-transition: all 1s;
    -ms-transition: all 1s;
	transform: translate(-150px,0);
	-webkit-transform: translate(-150px,0);
	-moz-transition: translate(-150px,0);
    -ms-transition: translate(-150px,0);
}

.mv01{
	opacity: 1.0;
	transition-delay:4s;
	-webkit-transition-delay:4s;
	-moz-transition-delay:4s;
    -ms-transition-delay:4s;
	-webkit-transition: all 1.5s;
	-moz-transition: all 1.5s;
    -ms-transition: all 1.5s;
	transform: translate(0,0);
	-webkit-transform: translate(0,0);
	-webkit-transition: translate(0,0);
	-moz-transition: translate(0,0);
    -ms-transition: translate(0,0);
}

.next {
	animation-duration: 1s;
	transition-delay:4s;
	-webkit-transition-delay:4s;
	-moz-transition-delay:4s;
    -ms-transition-delay:4s;
	-webkit-transition: all 2s;
	-moz-transition: all 2s;
    -ms-transition: all 2s;
}

.list-mv09{
	-webkit-transition: all 2s;
  	-moz-transition: all 2s;
    -ms-transition: all 2s;
	opacity: 0;
}
.mv09{
	-webkit-transition: all 2s;
 	-moz-transition: all 2s;
    -ms-transition: all 2s;
	opacity: 1;
}

.list-mv10{
	opacity: 0;
	-webkit-transition: all 1s;
  	-moz-transition: all 1s;
    -ms-transition: all 1s;
	transform: translate(0,40px);
	-webkit-transform: translate(0,40px);
}
.mv10{
	opacity: 1;
	-webkit-transition: all 1s;
 	-moz-transition: all 1s;
    -ms-transition: all 1s;
	transform: translate(0,0);
	-webkit-transform: translate(0,0);
}

@media screen and (min-width: 641px) {

	.list-mv05{
		opacity: 0;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transform: translate(100px,0);
		-webkit-transform: translate(100px,0);
	}

	.mv05{
		opacity: 1.0;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transform: translate(0,0);
		-webkit-transform: translate(0,0);
	}

	.list-mv06{
		opacity: 0;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transform: translate(100px,0);
		-webkit-transform: translate(100px,0);
	}

	.mv06{
		opacity: 1.0;
	  -webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transition-delay:1s;
		-webkit-transition-delay:1s;
		-moz-transition-delay:1s;
		-ms-transition-delay:1s;
		transform: translate(0,0);
		-webkit-transform: translate(0,0);
	}

	.list-mv07{
		opacity: 0;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transform: translate(-100px,0);
		-webkit-transform: translate(-100px,0);
	}

	.mv07{
		opacity: 1.0;
	  -webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transition-delay:1s;
		-webkit-transition-delay:1s;
		-moz-transition-delay:1s;
		-ms-transition-delay:1s;
		transform: translate(0,0);
		-webkit-transform: translate(0,0);
	}

	.list-mv08{
		opacity: 0;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transform: translate(-100px,0);
		-webkit-transform: translate(-100px,0);
	}
	.mv08{
		opacity: 1.0;
		-webkit-transition: all 1s;
		-moz-transition: all 1s;
		-ms-transition: all 1s;
		transform: translate(0,0);
		-webkit-transform: translate(0,0);
	}

}


/*-------------------------------------------------------↓グローバルナビ*/

#navi {
	max-width: 700px;
	width: 80%;
	float: right;
}

#navi ul.h_menu {
	float: right;
	line-height: 22px;
}

#navi ul.info {
	display: table;
	float: right;
	margin-bottom: 15px;
}

#navi ul > li,
#navi ul.info > li a { float: left;}

#navi ul.h_menu > li:not(:last-child) { margin-right: 25px;}
#navi ul.h_menu > li > a {
	transition: all .2s ease-in;
	font-size: 14px;
	color: #000;
	vertical-align: middle;
}
#navi ul.info li.btns { margin-right:15px; }

#navi ul.info li.btns a{
	font-size: 13px;
	border: solid 1px #e62334;
	color: #e62334;
	border-radius: 15px;
	height: 30px;
	line-height: 30px;
	box-sizing: border-box;
	text-align: center;
	padding: 0 20px;
	font-weight: bold;
}

#navi ul.info li.btns a:first-child{
	color: #fff;
	background-color: #e62334;
}

#navi ul.info li.btns a:not(:last-child) { margin-right: 8px;}

#navi ul.info li.txt {
	line-height: 30px;
	font-size: 13px;
}


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

	#navi { display: none;}

}

/*=====================================================================================
	div#global
=====================================================================================*/

@media screen and (min-width: 901px) {

	div#panel,
	div#global{	display: none!important;}

}

div#global{
	position: absolute;
	right: 0px;
	top: 0px;
	width: 80px;
	height: 80px;
	cursor: pointer;
	z-index: 100;
}

div#global > a {
	cursor: pointer;
	display: inline-block;
	position: relative;
	right: 0;
	top: 0;
	width: 80px;
	height: 80px;
	margin: 0 auto;
}

div#global > a:hover{ opacity: 1;}

div#global > a > span {
	display: block;
	position: absolute;
	top: 45%;
	left: 44%;
	width: 47px;
	height: 4px;
	background-color: #e62334;
	margin: 1px 0 0 -18px;
	transition: .2s;
}

div#global > a > span:nth-child(2) {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 35px;
	height: 4px;
	margin: -1px 0 0 -14px;
	background: #fff;
	transition: .2s;
}

div#global > a > span:before,
div#global > a > span:after {
	display: block;
	content: "";
	position: absolute;
	top: 80%;
	left: 50%;
	width: 47px;
	height: 4px;
	margin-left: -50%;
	background: #e62334;
	transition: .5s;
}

div#global > a > span:before { margin-top: -18px; }
div#global > a > span:after { margin-top: 12px; }
div#global > a > span.close {
	background: transparent;
	top: 38%;
}
div#global > a > span.close:before,
div#global > a > span.close:after { margin-top: 1px; background:#fff; }
div#global > a > span.close:before { transform: rotate(-45deg); -webkit-transform: rotate(-45deg); height:115%; }
div#global > a > span.close:after { transform: rotate(-135deg); -webkit-transform: rotate(-135deg); height:115%; }

div#global > a > p {
	color: #fff;
	font-weight: bold;
	font-size: 14px;
	letter-spacing: -0.06em;
	line-height: 100%;
	text-align: center;
	margin-top: 70px;
}

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

	div#global{
		width: 60px;
		height: 60px;
	}

	div#global > a {
		width: 60px;
		height: 60px;
	}

	div#global > a > span {
		height: 2px;
		margin: 1px 0 0 -11px;
	}

	div#global > a > span:nth-child(2) {
		width: 30px;
		height: 2px;
		margin: -1px 0 0 -14px;
	}

	div#global > a > span:before,
	div#global > a > span:after,
	div#global > a > span{
		width: 35px;
		height: 3px;
	}

	div#global > a > span:before { margin-top: -12px; }
	div#global > a > span:after { margin-top: 7px; }
	div#global > a > span.close { top: 42%;	}
}

/*====================================================================================
	div#panel
=====================================================================================*/

div#panel {
	width: 100%;
	height: 0;
	margin:0px auto;
	position: fixed !important;
	display: none;
	top:0;
	z-index: 20;
	background-color:rgba(230,35,52,0.9);
}

div#panel > div,
div#panel > div > menu,
div#panel > div > ol {
	font-size:150%;
	line-height:100%;
	opacity: 0;
	-moz-opacity: 0;
	filter: alpha( opacity=0 );
}

div#panel > div {
	width: 73px;
	margin: 0 auto 0 auto;
	overflow: hidden;
}

div#panel > div > li {
	width: 73px;
	height: 63px;
	display: block;
	overflow: hidden;
}

div#panel > menu {
	width: 100%;
    margin: 80px auto 0;
    padding: 0 0 50px;
    overflow: hidden;
}

div#panel > menu > li{
	width: 95%;
    color: #fff;
	margin: 0 auto;
}

div#panel > menu > li > a{
	text-align: center;
}

div#panel > menu a {
	display:block;
	font-size: 16px;
	font-weight: 500;
	color: #fff;
	padding: 10px;
	box-sizing: border-box;
}

div#panel > menu > li:last-child { overflow: hidden;}
/* div#panel > menu > li:last-child a {
    max-width: 300px;
	width: 65%;
    height: auto;
    margin: 0 auto;
} */

div#panel > menu > li:last-child a img { width: 100%;}
div#panel > menu > li:last-child a::after { content: none;}

div#panel > menu li.f_menu {
    margin-right: 0;
	width: 100%;
	border-top: solid 1px #aaa;
	padding-top: 20px;
	color: #fff;
	font-size: 14px;
}

div#panel > menu li.f_menu span{
	display: block;
	font-size: 16px;
}

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

	div#panel > menu { margin: 60px auto 0; }

}


/*---------------------------------------------------------------------
						sec00
----------------------------------------------------------------------*/

.sec .inner {
    overflow: hidden;
    max-width: 1600px;
    margin: 0 auto;
}

.sec00 {
  margin-top: 118px;
	margin-bottom: 80px;
}

#wrap .sec00 .inner{
	max-width: 100%;
	width: 100%;
	height: 232px;
	margin-bottom: 30px;
}

.sec00 h2 {
	font-size: 30px;
	line-height: 120%;
	font-weight: bold;
	letter-spacing: 1px;
	text-align: center;
	padding-top: 110px;
	color: #fff;
}

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

	.sec00 { margin-top: 112px;}

}

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

	.sec00 { margin: 60px auto 40px;}

	#wrap .sec00 .inner{
		margin-bottom: 10px;
		height: auto;
		position: relative;
	}

	.sec00 h2  {
		margin-top: -3%;
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		padding-top: 0;
		font-size: 6.8vw;
		line-height: 120%;
		margin-bottom: 3px;
	}

}

/*====================================================================================

共通箇所

=====================================================================================*/


.sec .ttl-h3 {
    font-size: 20px;
    font-weight: bold;
    padding-left: 20px;
    position: relative;
    padding-bottom: 0px;
    line-height: 34px;
    letter-spacing: 1px;
    border-bottom: none;
	margin-bottom: 25px;
	color: #e62334;
	text-align: left;
}

.sec .ttl-h3::before {
    content: '';
    width: 3px;
    height: 34px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #e62334;
}

#no01,#no02,#no03,#no04,#no05,#no06,#no07,#no08 {
	padding-top: 125px;
    margin-top: -125px;
}


.sec table tr:nth-child(odd) {
	border-top: solid 1px #8d8d8d;
	border-bottom: solid 1px #8d8d8d;
}

.sec table tr {
	display: block;
	position: relative;
	overflow: hidden;
	background-color: #fcfcfc;
}

.sec table tr td {
	font-size: 16px;
	line-height: 24px;
}

@media screen and (min-width: 751px) {

	.sec table tr th {
		max-width: 264px;
    position: absolute;
    top: 50%;
    bottom: 0;
    left: 0;
    text-align: left;
    margin-top: -14px;
    padding-left: 3%;
    width: 22%;
    box-sizing: border-box;
	}

	.sec table tr td {
		float: right;
    width: 78%;
    padding-left: 10px;
    padding: 30px 0 30px 3%;
		box-sizing: border-box;
		background: #fff;
		border-left: solid 1px #8d8d8d;
	}

}

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

	.sec table tr {
		padding: 15px 15px;
		display: block;
		background-color: #fff;
	}

	.sec table tr th {
		text-align: left;
		margin-bottom: 3px;
		display: block;
		font-weight: bold;
		width: 100%;
	}

	#no01,#no02,#no03,#no04,#no05,#no06,#no07,#no08 {
		padding-top: 70px;
		margin-top: -70px;
	}

}

/*====================================================================================
	#pan
=====================================================================================*/

#wrap #pan {
	max-width:1400px;
	width: calc(100% - 40px);
	margin:0 auto;
}

#wrap #pan span{ padding:0 10px;}

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

	#wrap #pan { font-size: 12px;}

	#wrap #pan span{ padding:0 5px;}

}


/*============================================================================
		pageTop
============================================================================*/

p#pageTop{
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 11;
}

p#pageTop a{
	display:block;
	width:63px;
	height:137px;
	background:url(../img/common/pagetop.png) no-repeat;
}

p#pageTop a:hover { opacity:0.6;}

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

p#pageTop{ position:static;}

p#pageTop a {
    width: 100%;
    height: auto;
	position:static;
    background:none;
}

}

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

footer {
	background: #e62334;
	color: #fff;
	padding: 40px 0 0;
}

footer .inner {
	max-width: 1200px;
	width: calc(100% - 40px);
	overflow: hidden;
	margin: 0 auto;
}

.add {
	max-width: 380px;
	width: 36%;
}

.add h4 {
	max-width: 358px;
	margin-bottom: 20px;
}

.add address a {
	border: solid 1px #fff;
	display: table;
	margin-top: 15px;
	padding: 2px 22px;
	color: #fff;
	border-radius: 19px;
	font-weight: bold;
}

footer .inner ul{
	display: table;
	/* padding: 20px 0; */
}

footer .inner li{	float: left; }

footer .inner ul li:not(:first-child){ margin-left: 25px;}

footer .inner li a{	color: #fff;}

footer small {
	color: #fff;
	font-size: 14px;
	width: 100%;
	text-align: center;
	padding: 20px 0;
	display: block;
}


@media screen and (min-width: 901px) {

	.add { float: left; }

	/* .add address {
		max-width: 200px;
		width: 54%;
		height: 85px;
	} */

	footer .inner ul{
		/* max-width: 440px;
		width: 60%;
		display: table;
		float: right; */
		display: flex;
		justify-content: flex-end;
		align-items: center;
		list-style: none;
		text-align: right;
	}

	footer .inner ul:nth-of-type(1) { margin-bottom: 15px;}

}

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

	.add {
		max-width: 380px;
		width: 100%;
		margin: auto;
		overflow: hidden;
	}

	footer .inner ul {
    display: none;
	}

	.add address {
		display: table;
		margin: 0 auto;
	}

	.add address a {
		margin: 15px auto 0;
	}

}

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

	footer { padding: 50px 0 0;}
	footer .inner { padding-bottom: 25px;	}

	/* .add {
		max-width: 100%;
		width: auto;
		display: table;
	} */


	.add h4 {
		max-width: 450px;
		width: 80%;
		min-width: 274px;
		margin: 0 auto 20px;
	}

	footer small { padding: 10px 0; }

}
/* ----- in_wrap ----- */

@media screen and (min-width: 751px) {


}

@media screen and (min-width: 1201px) {


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

}

	/* ----- in_wrap section ----- */

.in_wrap section { overflow: hidden; }
/* .in_wrap section.sec01{ border-bottom: solid #e62334 4px; } */

.in_wrap section.sec .inner {
	max-width: 1000px;
	width: calc(100% - 40px);
	margin: 0 auto 0px;
	overflow: hidden;
}

.in_wrap section.sec01 .inner li img{ width: 100%; }


@media screen and (min-width: 751px) {

}

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

}


/*============================================================================
		section bnr
============================================================================*/

.bnr {
	padding: 40px 0;
	background-color: #fff4ea;
}

section.bnr .inner {
	max-width: 1020px;
	width: calc(100% - 40px);
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

section.bnr .inner li {
	float: left;
	box-sizing: border-box;
	overflow: hidden;
}

section.bnr .inner li:hover { opacity: 0.7;}



@media screen and (min-width: 901px) {

	section.bnr .inner li {
		width: 23.6%;
		max-width: 240px;
	}

	section.bnr .inner li:not(:last-child) {	margin-right: 1.8%; }

}

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

	section.bnr .inner {
		max-width: 430px;
		margin: auto;
	}

	section.bnr .inner li {
		width: 48.5%;
		max-width: 280px;
	}

	section.bnr .inner li:nth-child(odd) {	margin-right: 3%; }
	section.bnr .inner li:nth-child(n+3) {	margin-top: 3%; }

}

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

}
