@charset "utf-8";


/*---------------------------------------------------------------------------------------
	大枠設定
----------------------------------------------------------------------------------------*/

body{
	color:#000;
	text-align:center;
    animation: fadeIn 1s ease 0s 1 normal;
    -webkit-animation: fadeIn 1s ease 0s 1 normal;
}
#wrapper{
	overflow-x: hidden;
}
.switch{}
a{ color:#000; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ color:#999; text-decoration:none;}
.en{ font-family: p22-underground, sans-serif; font-weight: 400;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){
	body{
		font-size: 14px;
	}
}






/*---------------------------------------------------------------------------------------
	header
----------------------------------------------------------------------------------------*/

header{
	max-width: 1000px;
	padding: 0 10px;
	margin: 0 auto;
	position: relative;
}
header:before{
	display: block;
	content: "";
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100px;
	background: #fff;
	z-index: -1;
}
header.remove:before{
	position: absolute!important;
}
header h1{
	float: left;
}
header p{
	display: none;
}
header nav ul{
	float: right;
}
header nav li{
	float: left;
	padding: 25px 0;
	margin-left: 25px;
}
header nav li:first-child{
	margin-left: 0;
}
header nav li a{
	display: block;
	font-weight: bold;
	line-height: 50px;
	position: relative;
}
header nav li a:hover{
	color: #000;
}
header nav li a:after{
	position: absolute;
	bottom: 10px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #333;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
header nav li a:hover:after,
header nav li.active a:after{
	transform-origin: left top;
	transform: scale(1, 1);
}
header nav li:first-child{
	display: none;
}
header nav li:last-child{
	padding: 15px 0;
}
header nav li:last-child a{
	width: 70px;
	height: 70px;
	line-height: 70px;
	color: #fff;
	font-weight: bold;
	background: #c21231;
	border-radius: 50%;
}
header nav li:last-child a:hover{
	background: #000;
}
header nav li:last-child a:after{
	content: none;
}
/*------------------------------ sp size ------------------------------*/
@media screen and (max-width: 1000px){
	header nav li{
		margin-left: 15px;
	}
	header nav li a{
		font-size: 15px;
	}
}
@media screen and (max-width: 900px){
	header{
		padding: 0 5px;
	}
	header h1{
		float: none;
		text-align: left;
		background: #fff;
		z-index: 999999;
	}
	header h1 img{
		width: auto;
		height: 65px;
	}
	header p{
		box-sizing: border-box;
		display: inline-block;
		width: 60px;
		height: 65px;
		transition: all .4s;
		position: absolute;
		right: 0;
		top: 0;
		padding: 17px 10px 18px;
		z-index: 999999;
		cursor: pointer;
	}
	header p span{
		box-sizing: border-box;
		display: inline-block;
		position: absolute;
		left: 10px;
		width: 40px;
		height: 3px;
		background: #c21231;
		transition: all .2s;
	}
	header p span:nth-of-type(1) { top: 20px;}
	header p span:nth-of-type(2) { top: 31px;}
	header p span:nth-of-type(3) { bottom: 20px;}
	header.open p span:nth-of-type(1) {
		-webkit-transform: translateY(11px) rotate(-45deg);
		transform: translateY(11px) rotate(-45deg);
	}
	header.open p span:nth-of-type(2) {
		left: 50%;
		opacity: 0;
		-webkit-animation: active-menu-bar02 .8s forwards;
		animation: active-menu-bar02 .8s forwards;
	}
	@-webkit-keyframes active-menu-bar02 { 100% { height: 0;}}
	@keyframes active-menu-bar02 { 100% { height: 0;}}
	header.open p span:nth-of-type(3) {
		-webkit-transform: translateY(-11px) rotate(45deg);
		transform: translateY(-11px) rotate(45deg);
	}
	header nav{
		display: none;
		position: fixed;
		right: 0;
		top: 0;
		width: 100%;
		padding: 0 5px 30px;
		margin-left: 0;
		background: rgba(255,255,255,.95);
		box-shadow:0px 0px 5px -2px #333;
		z-index: 99999;
	}
	header nav ul{
		float: none;
	}
	header nav li{
		float: none;
		padding: 0;
		margin-left: 0;
	}
	header nav li a{
		display: inline-block;
		font-weight: bold;
		line-height:40px;
		position: relative;
	}
	header nav li a:after{
		bottom: 5px;
	}
	header nav li:first-child{
		display: block;
		text-align: left;
	}
	header nav li:first-child img{
		width: auto;
		height: 65px;
	}
	header nav li:last-child{
		padding: 5px 0 0;
	}
	header nav li:last-child a{
		width: 60px;
		height: 60px;
		line-height: 60px;
	}
}






/*---------------------------------------------------------------------------------------
	contents
----------------------------------------------------------------------------------------*/

#contents{
	clear: both;
}
.wrap{
	max-width: 1135px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5%;
	padding-right: 5%;
}
/* bg */
.bgwhite{ background: #fff;}
.bgpink{ background: #FCF8F3;}
.bgblack{ background: #1b1b1b; color: #fff;}
.bggray{ background: #313131; color: #fff;}
/* title */
.catetitle{
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	padding: 20px 5%;
	background: #c21231;
}
.subtitle{
	font-size: 20px;
	font-weight: bold;
	text-align: left;
    position: relative;
	margin-bottom: 50px;
}
.subtitle:after{
    content: "";
    position: absolute;
    bottom: -7px;
    left: 0;
    display: block;
    background: #7D0C20;
    width: 50px;
    height: 4px;
}
.subtitle2{
	font-size: 20px;
	font-weight: bold;
	text-align: left;
    position: relative;
	margin-bottom: 40px;
}
.subtitle2:after{
    content: "";
    position: absolute;
    bottom: -7px;
    left: 0;
    display: block;
    background: #999;
    width: 50px;
    height: 2px;
}
.subtitle3{
    font-size: 24px;
    font-weight: bold;
    padding: 0 10px 20px;
    border-bottom: 3px solid #ccc;
}
.subtitle4{
    color: #C21231;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 30px;
}
.subtitle5{
    font-size: 24px;
    margin-bottom: 20px;
}
/* anchor */
.anchor{
	clear: both;
	color: #fff;
	padding: 5px 5%;
	background: #7d0c20;
}
.anchor li{
	display: inline-block;
	vertical-align: top;
}
.anchor li a{
	color: #fff;
	line-height: 40px;
	padding: 0 2em;
}
ul.photo2,
.cont2{
    display: flex;
    flex-wrap: wrap;
}
ul.photo2 li,
.cont2 div.leftcol,
.cont2 div.rightcol{
    width: 47.55%;
    margin: 0 4.9% 10px 0;
}
ul.photo2 li:nth-child(2n),
.cont2 div.rightcol{
    margin-right: 0;
}
.cont2 > div dl dt{
    font-weight: bold;
}
ul.photo2 li figure img{
    margin-bottom: 20px;
}
ul.photo2 li figure figcaption{
    color: #C21231;
    font-size: 28px;
    font-weight: bold;
    text-align: center;
}
.read{
	font-size: 30px;
	font-weight: bold;
    line-height: 1.4;
	margin-bottom: 30px;
}
.imgleft{
    clear: both;
    overflow: hidden;
}
.imgleft .leftcol,
.imgleft .rightcol{
    width: 47.55%;
}
.imgleft .leftcol{
    float: left;
    margin-bottom: 10px;
}
.imgleft .rightcol{
    float: right;
}
.bd-box{
    border: 1px solid #D2D2D2;
    padding: 5px 20px;
}
ul.pager{
    text-align: center;
}
ul.pager li{
    margin: 0 5px 10px;
}
ul.pager li,
ul.pager li a{
    color: #fff;
    display: inline-block;
    background: #ccc;
}
ul.pager li a,
ul.pager li.active{
    border: 1px solid #ccc;
    width: 30px;
    height: 30px;
    line-height: 30px;
}
ul.pager li.active{
    color: #000;
    background: #fff;
}
ul.pager li a:hover{
    background: #ddd;
}
ul.pager li.prev a,
ul.pager li.next a{
    width: 60px;
}
ul.movie-list li{
    clear: both;
    overflow: hidden;
    padding-bottom: 40px;
    border-bottom: 1px solid #000;
    margin-bottom: 40px;
}
ul.movie-list li:last-child{
    border-bottom: none;
}
ul.movie-list li .leftcol{
    float: left;
    width: 40%;
}
ul.movie-list li .leftcol p{
    margin-bottom: 20px;
}
ul.movie-list li .youtube{
    float: right;
    width: 56%;
    padding-top: 33%;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (min-width:1135px){
	.wrap{
		max-width: 1000px;
		padding-left: 0;
		padding-right: 0;
	}
}
@media screen and (max-width:768px){
	/* title */
	.catetitle{
	}
	.subtitle{
		margin-bottom: 20px;
	}
    .subtitle:after{
        bottom: -2px;
        width: 40px;
        height: 3px;
    }
    .subtitle2{
        margin-bottom: 20px;
    }
    .subtitle2:after{
        bottom: -2px;
        width: 40px;
        height: 2px;
    }
    .subtitle3{
        font-size: 18px;
        padding: 0 0 10px;
        border-bottom: 2px solid #ccc;
    }
    .subtitle4{
        font-size: 18px;
        margin-bottom: 20px;
    }
    .subtitle5{
        font-size: 18px;
        margin-bottom: 15px;
    }
	/* anchor */
	.anchor{
		padding: 10px 5%;
	}
	.anchor li a{
		line-height: 30px;
		padding: 0 1em;
	}
    .read{
		font-size: 22px;
		margin-bottom: 20px;
	}
    ul.photo2 li,
    .cont2 div.leftcol,
    .cont2 div.rightcol{
        width: 49%;
        margin: 0 2% 10px 0;
    }
    .cont2 div.rightcol{
        margin-right: 0;
    }
    ul.photo2 li figure img{
        margin-bottom: 5px;
    }
    ul.photo2 li figure figcaption{
        font-size: 20px;
    }
    .imgleft .leftcol,
    .imgleft .rightcol{
        width: 100%;
    }
    .imgleft .leftcol{
        float: none;
        text-align: center;
    }
    .imgleft .rightcol{
        float: none;
        margin-bottom: 10px;
    }
    .bd-box{
        padding: 5px 10px;
    }
    ul.movie-list li{
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
    ul.movie-list li .leftcol p{
        margin-bottom: 10px;
    }
}
@media screen and (max-width:600px){
    ul.movie-list li .leftcol,
    ul.movie-list li .youtube{
        float: none;
        width: 100%;
        margin-bottom: 10px;
    }
    ul.movie-list li .youtube{
        padding-top: 58%;
    }
}






/*---------------------------------------------------------------------------------------
	aside
----------------------------------------------------------------------------------------*/

aside{
	clear: both;
	padding: 60px 3% 20px;
	background: url(../images/aside-bg.jpg) no-repeat;
	background-size: cover;
	overflow: hidden;
}
aside dl{
	max-width: 1000px;
	margin: 0 auto;
}
aside dl dt{
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 30px;
}
aside dl dd{
	display: inline-block;
	width: 460px;
	height: 100px;
	margin: 0 20px 20px;
	vertical-align: top;
	background: #fff;
}
aside dl dd.tel{
	padding: 20px 20px 0;
}
aside dl dd.tel:before{
	display: inline-block;
	content: "";
	width: 48px;
	height: 48px;
	margin-right: 30px;
	background: url("../images/icon-tel.svg") no-repeat;
	vertical-align: middle;
}
aside dl dd.tel span{
	display: inline-block;
	text-align: left;
	line-height: 1.4;
	vertical-align: middle;
}
aside dl dd.tel span strong{
	color: #c21231;
	font-size: 26px;
	font-weight: bold;
}
aside dl dd.mail a{
	display: block;
	line-height: 100px;
}
aside dl dd.mail a:before{
	display: inline-block;
	content: "";
	width: 51px;
	height: 38px;
	margin-right: 30px;
	background: url("../images/icon-mail.svg") no-repeat;
	vertical-align: middle;
}
aside dl dd.mail a span{
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
	vertical-align: middle;
}
aside dl dd br.sp{ display: none;}

aside.contact-other{
	background: url(../images/aside-other-bg.jpg) no-repeat;
	background-size: cover;
	overflow: hidden;
    padding: 60px 30px;
}
aside.contact-other div{
    padding: 20px 30px;
    background: #fff;
}
aside.contact-other div dl dt{
    color: #000;
    font-size: 20px;
    line-height: 2.4;
    margin-bottom: 0;
}
aside.contact-other div dl dt strong{
    font-size: 24px;
}
aside.contact-other div dl dt span{
    font-weight: normal;
}
aside.contact-other div dl dd{
    width: 430px;
}
aside.contact-other div dl dd.tel em{
    font-size: 20px;
    font-weight: bold;
    margin-left: 1em;
}
aside.contact-other div dl dd.mail{
    padding: 20px 20px 0;
}
aside.contact-other div dl dd.mail a{
    line-height: inherit;
}
aside.contact-other div dl dd.mail a span em{
    font-weight: normal;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){
	aside{
		padding: 40px 5% 20px;
		background-size: auto 100%!important;
	}
	aside dl dt{
		font-size: 20px;
		margin-bottom: 20px;
	}
	aside dl dd{
		display: block;
		width: auto;
		max-width: 460px;
		height: auto;
		margin: 0 auto 20px;
	}
	aside dl dd.tel{
		padding: 12px 20px;
	}
	aside dl dd.tel:before{
		width: 35px;
		height: 35px;
		margin-right: 20px;
		background-size: 35px!important;
	}
	aside dl dd.tel span{
		display: inline-block;
		text-align: left;
		line-height: 1.4;
		vertical-align: middle;
	}
	aside dl dd.tel span a{
		color: #c21231;
		font-size: 20px;
		font-weight: bold;
	}
	aside dl dd.mail a{
		display: block;
		line-height: 1.4;
		padding: 20px;
	}
	aside dl dd.mail a:before{
		width: 35px;
		height: 30px;
		margin-right: 20px;
		background-size: 35px auto!important;
	}
	aside dl dd.mail a span{
		font-size: 16px;
		text-align: left;
	}
    aside.contact-other{
        background-size: auto 100%;
        padding: 40px 5%;
    }
    aside.contact-other div{
        padding: 12px 20px;
    }
    aside.contact-other div dl dt{
        font-size: 18px;
        line-height: 1.4;
        margin-bottom: 20px;
    }
    aside.contact-other div dl dt strong{
        font-size: 20px;
    }
    aside.contact-other div dl dd{
        width: auto;
    }
    aside.contact-other div dl dd.tel,
    aside.contact-other div dl dd.mail a{
        padding: 0;
    }
    aside.contact-other div dl dd.tel em{
        font-size: 16px;
    }
    aside.contact-other div dl dd.mail{
        padding: 0;
        text-align: center;
    }
}
@media screen and (max-width:550px){
	aside dl dd br.sp{ display: inline;}
}






/*---------------------------------------------------------------------------------------
	footer
----------------------------------------------------------------------------------------*/

footer{
	clear: both;
	background: #dbdee0;
}
footer div{
	padding-top: 30px;
	padding-bottom: 30px;
	overflow: hidden;
}
footer div ul{
	float: left;
	width: 21%;
	text-align: left;
}
footer div ul li{
	font-weight: bold;
	margin-bottom: 5px;
}
footer div ul li.sub{
	font-size: 13px;
	font-weight: normal;
}
footer div p{
	float: right;
	width: 16%;
	max-width: 140px;
}
footer div p a{
	display: block;
	font-size: 14px;
	line-height: 1.4;
	padding: 15px 5px;
	background: #fff;
	border-radius: 5px;
}
footer div p a small{
	display: inline-block;
	color: #c21231;
	font-size: 12px;
	margin-bottom: 10px;
}
footer p#pagetop{
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 999;
}
footer p#copy{
	font-size: 12px;
	padding: 10px;
	background: #fff;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){
	footer div ul{
		float: left;
		width: 25%;
		margin-bottom: 10px;
	}
	footer div ul li{
		font-weight: bold;
		margin-bottom: 5px;
	}
	footer div ul li.sub{
		font-size: 13px;
		font-weight: normal;
	}
	footer div p{
		clear: both;
		float: none;
		width: 200px;
		max-width: inherit;
		margin: 0 auto;
	}
	footer div p a{
		display: block;
		font-size: 14px;
		line-height: 1.4;
		padding: 15px 5px;
		background: #fff;
		border-radius: 5px;
	}
	footer div p a small{
		display: inline-block;
		color: #c21231;
		font-size: 12px;
		margin-bottom: 10px;
	}
	footer p#pagetop{
		right: 10px;
		bottom: 10px;
	}
	footer p#pagetop img{
		width: 50px;
		height: auto;
	}
	footer p#copy{
		font-size: 12px;
		padding: 10px;
		background: #fff;
	}
}
@media screen and (max-width:500px){
	footer div ul{
		float: left;
		width: 50%;
	}
	footer div ul:nth-child(1){
		margin-bottom: 10px;
	}
	footer div ul:nth-child(3){
		clear: left;
		margin-bottom: 20px;
	}
}














































































/*------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	/
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

body.top{
	z-index: -2;
}
/* top-cont1 */
#top-cont1{
	clear: both;
	position: relative;
	margin-bottom: 80px;
}
#top-cont1 .slick-prev,
#top-cont1 .slick-next{
	position: absolute;
	top: 0;
	width: 60px;
	height: 100%;
	cursor: pointer;
	z-index: 99;
}
#top-cont1 .slick-prev{
	left: 0;
	background: url("../images/top-cont1-left.svg") no-repeat center;
}
#top-cont1 .slick-next{
	right: 0;
	background: url("../images/top-cont1-right.svg") no-repeat center;
}
#top-cont1 li img{
	width: 100%;
	max-width: inherit;
}
/* top-cont2 */
#top-cont2{
	float: left;
	width: 47%;
	margin-right: 6%;
	margin-bottom: 100px;
}
#top-cont2.eng-top-cont2{
	float: none;
	width: 100%;
}
#top-cont2 h2,
#top-cont3 h2{
	font-size: 18px;
	letter-spacing: .2em;
	padding-bottom: 5px;
	margin-bottom: 20px;
	border-bottom: 1px solid #000;
}
#top-cont2 div,
#top-cont3 div{
	overflow: hidden;
	margin-bottom: 10px;
}
#top-cont2 div a,
#top-cont3 div a{
	display: block;
}
#top-cont2 div dl,
#top-cont3 div dl{
	clear: both;
	font-size: 14px;
	text-align: left;
	margin-bottom: 10px;
}
#top-cont2 div dl dt{
	float: left;
	width: 15em;
}
#top-cont2.eng-top-cont2 div dl dt{
	width: 30em;
}
#top-cont2 div dl dd{
	overflow: hidden;
}
#top-cont2 div dl dd.new,
#top-cont2 div dl dd.renewal{
    position: relative;
    padding-right: 75px;
}
#top-cont2 div dl dd strong{
	display: inline-block;
	color: #c21231;
	vertical-align: top;
	margin-right: 10px;
}
#top-cont2 div dl dd.new:after{
	content: "NEW";
	display: inline-block;
	font-family: p22-underground, sans-serif; font-weight: 400;
	color: #fff;
	width: 70px;
	height: 15px;
	line-height: 1.2;
	font-size: 12px;
	text-align: center;
	padding-top: 5px;
	background: #c21231;
	vertical-align: middle;
	border-radius: 100px;
    position: absolute;
    top: 2px;
    right: 0;
}
#top-cont2 div dl dd.renewal:after{
	content: "RENEWAL";
	display: inline-block;
	font-family: p22-underground, sans-serif; font-weight: 400;
	color: #fff;
	width: 70px;
	height: 15px;
	line-height: 1.2;
	font-size: 12px;
	text-align: center;
	padding-top: 5px;
	background: url(../images/location-open-renewalbg.png) no-repeat;
	background-size: 100% 100%;
	vertical-align: middle;
	border-radius: 100px;
    position: absolute;
    top: 2px;
    right: 0;
}
#top-cont2 p a,
#top-cont3 p a{
	display: block;
	line-height: 50px;
	background: #fff;
	border: 1px solid #000;
}
#top-cont2 p a:after,
#top-cont3 p a:after{
	content: "";
	display: inline-block;
	width: 22px;
	height: 13px;
	margin-left: 10px;
	background: url("../images/icon-right.svg") no-repeat;
	vertical-align: middle;
}
#top-cont2 p a:hover,
#top-cont3 p a:hover{
	color: #fff;
	background: #c21231;
	border: 1px solid #c21231;
}
#top-cont2 p a:hover:after,
#top-cont3 p a:hover:after{
	background: url("../images/icon-right-white.svg") no-repeat;
}
/* top-cont3 */
#top-cont3{
	float: left;
	width: 47%;
	margin-bottom: 100px;
}
#top-cont3 div dl dt{
	float: left;
	width: 7em;
	color: #999;
}
#top-cont3 div dl dd{
	overflow: hidden;
}
/* top-cont4 */
#top-cont4{
	clear: both;
	height: 100vh;
	overflow: hidden;
}
/* top-cont5 */
#top-cont5{
	clear: both;
	margin: 100px 0 80px;
	position: relative;
	overflow: hidden;
}
#top-cont5:before{
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 50%;
	height: 430px;
	background: url("../images/top-cont5-img.jpg") no-repeat right center;
	background-size: cover;
}
#top-cont5 a,
#top-cont6 a,
#top-cont7 a,
#top-cont8 a,
#top-cont9 a{
	display: block;
}
#top-cont5wrap,
#top-cont6wrap,
#top-cont7wrap,
#top-cont8wrap,
#top-cont9wrap{
	max-width: 1020px;
	margin: 0 auto;
}
#top-cont5wrap div{
	float: left;
	width: 50%;
	height: 430px;
	color: #fff;
	text-align: left;
	padding: 50px 4%;
	background: #c21231;
}
#top-cont5wrap div h2,
#top-cont6wrap div h2,
#top-cont7wrap div h2,
#top-cont8wrap div h2,
#top-cont9wrap div h2{
	display: inline-block;
	font-size: 106px;
	line-height: .8;
}
#top-cont5wrap div h2 small,
#top-cont6wrap div h2 small,
#top-cont7wrap div h2 small,
#top-cont8wrap div h2 small,
#top-cont9wrap div h2 small{
	display: block;
	text-align: right;
	font-size: 20px;
}
#top-cont5wrap div p.read,
#top-cont6wrap div p.read,
#top-cont7wrap div p.read,
#top-cont8wrap div p.read,
#top-cont9wrap div p.read{
	font-size: 36px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 20px;
}
#top-cont5wrap div p.read:after,
#top-cont6wrap div p.read:after,
#top-cont7wrap div p.read:after,
#top-cont8wrap div p.read:after,
#top-cont9wrap div p.read:after{
	content: "";
	display: inline-block;
	width: 43px;
	height: 25px;
	margin-left: 10px;
	background: url(../images/icon-right-large.svg) no-repeat;
	vertical-align: middle;
}
#top-cont5 figure{
	position: absolute;
	left: 50%;
	top: 0;
	width: 100%;
	height: 430px;
}
/* top-cont6 */
#top-cont6{
	clear: both;
	height: 430px;
	margin-bottom: 80px;
	background: url("../images/top-cont6-img.jpg") no-repeat center;
	background-size: cover;
	position: relative;
	overflow: hidden;
}
#top-cont6wrap{
	position: relative;
}
#top-cont6wrap:before{
	content: "";
	display: block;
	position: absolute;
	left: 100%;
	width: 500px;
	height: 430px;
	background: #fff;
	z-index: 10;
}
#top-cont6 a:hover{
    opacity: 1;
}
#top-cont6wrap div{
	float: right;
	width: 40%;
	height: 430px;
	color: #fff;
	text-align: left;
	padding: 50px 0 50px 5%;
}
#top-cont6:hover #top-cont6wrap div{
    opacity: 0.6;
}
#top-cont6 figure{
	position: absolute;
	right: 50%;
	top: 0;
	width: 100%;
	height: 430px;
}
/* top-cont7 */
#top-cont7{
	clear: both;
	margin-bottom: 80px;
	position: relative;
	overflow: hidden;
}
#top-cont7 ul{
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 50%;
	height: 430px;
	background: url("../images/top-cont7-img.jpg") no-repeat right center;
	background-size: cover;
}
#top-cont7 ul li{
	height: 430px;
	background-size: cover!important;
}
#top-cont7 ul .slick-track div:nth-child(1) li{ background: url("../images/top-cont7-img1.jpg") no-repeat right center;}
#top-cont7 ul .slick-track div:nth-child(2) li{ background: url("../images/top-cont7-img2.jpg") no-repeat right center;}
#top-cont7 ul .slick-track div:nth-child(3) li{ background: url("../images/top-cont7-img3.jpg") no-repeat right center;}
#top-cont7 a{
	display: block;
}
#top-cont7 ul li img.wmax{
    width: auto;
}
#top-cont7wrap2{
	float: left;
	width: 50%;
	height: 430px;
	color: #fff;
	text-align: left;
	padding: 50px 2% 50px 5%;
	background: #000;
}
#top-cont7wrap2 h2 small{
	color: #c21231;
}
#top-cont7 figure{
	position: absolute;
	left: 50%;
	top: 0;
	width: 100%;
	height: 430px;
}
/* top-cont8 */
#top-cont8{
	clear: both;
	margin-bottom: 80px;
	position: relative;
	overflow: hidden;
}
#top-cont8:before{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 50%;
	height: 430px;
	background: url("../images/top-cont8-img.jpg") no-repeat right center;
	background-size: cover;
}
#top-cont8wrap div{
	float: right;
	width: 50%;
	height: 430px;
	color: #fff;
	text-align: left;
	padding: 50px 2% 50px 5%;
	background: #c21231;
}
#top-cont8wrap div h2 small{
	color: #000;
}
#top-cont8 figure{
	position: absolute;
	right: 50%;
	top: 0;
	width: 100%;
	height: 430px;
}
/* top-cont9 */
#top-cont9{
	clear: both;
	margin-bottom: 140px;
	position: relative;
	overflow: hidden;
}
#top-cont9:before{
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	width: 50%;
	height: 430px;
	background: url("../images/top-cont9-img.jpg") no-repeat right center;
	background-size: cover;
}
#top-cont9wrap div h2{
	font-size: 70px;
}
#top-cont9wrap div h2 strong{
	font-size: 106px;
	font-weight: normal;
}
#top-cont9wrap div{
	float: left;
	width: 50%;
	height: 430px;
	color: #fff;
	text-align: left;
	padding: 50px 2% 50px 5%;
	background: #000;
}
#top-cont9wrap div h2 small{
	color: #c21231;
}
#top-cont9 figure{
	position: absolute;
	left: 50%;
	top: 0;
	width: 100%;
	height: 430px;
}
/* top-cont10 */
#top-cont10{
	clear: both;
	margin-bottom: 100px;
	overflow: hidden;
}
#top-cont10 li{
	float: left;
	width: 32%;
	margin-right: 2%;
	margin-bottom: 40px;
	text-align: left;
}
#top-cont10 li:nth-child(3n){
	margin-right: 0;
}
#top-cont10 li a{
	display: block;
}
#top-cont10 li a strong{
	display: inline-block;
	color: #c31131;
	font-size: 20px;
	line-height: 1.6;
	padding-top: 10px;
	border-bottom: 2px solid #c31131;
}
/* sns-cont */
#sns-cont{
    background: #F6F6F6;
}
/* top-cont11 */
#top-cont11 .box{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#top-cont11 div.fb-cont,
#top-cont11 div.tw-cont{
	width: 48%;
}
#top-cont11 div.blog{
    clear: both;
    overflow: hidden;
}
#top-cont11 div h2{
	font-size: 18px;
	letter-spacing: .2em;
    padding: 0 60px 5px;
	margin-bottom: 20px;
	border-bottom: 1px solid #000;
    position: relative;
}
#top-cont11 div.fb-cont h2:after,
#top-cont11 div.insta-cont h2:after,
#top-cont11 div.tw-cont h2:after{
    position: absolute;
    top: 0;
    right: 30px;
}
#top-cont11 div.fb-cont h2:after{
    content: url(../images/icon-facebook.png);
}
#top-cont11 div.insta-cont h2:after{
    content: url(../images/icon-insta.png);
}
#top-cont11 div.tw-cont h2:after{
    content: url(../images/icon-tw.png);
}
#top-cont11 div.blog div{
	overflow: hidden;
	margin-bottom: 20px;
}
#top-cont11 div.blog a{
	display: block;
}
#top-cont11 div.blog dl{
	text-align: left;
	margin-bottom: 10px;
}
#top-cont11 div.blog dl dt{
	float: left;
	width: 7em;
	color: #999;
}
#top-cont11 div.blog dd{
	overflow: hidden;
}
#top-cont11 div.blog p{
    width: 35%;
    float: left;
    margin-right: 2%;
	margin-bottom: 15px;
}
#top-cont11 div.blog p:nth-of-type(2){
    margin-right: 0;
}
#top-cont11 div.blog p a{
	display: inline;
}
#top-cont11 div.blog p img{
	max-width: 100%;
}
#top-cont11 ul.sns,
#top-cont2.eng-top-cont2 ul.sns{
    text-align: right;
}
#top-cont11 ul.sns li,
#top-cont2.eng-top-cont2 ul.sns li{
    display: inline-block;
    margin: 0 0 10px 10px;
}
/* top-cont12 */
#top-cont12{
	clear: both;
	margin-bottom: 80px;
	overflow: hidden;
}
#top-cont12 a{
	display: table;
	width: 100%;
	height: 200px;
}
#top-cont12 a div{
	display: table-cell;
	width: 50%;
	text-align: left;
	padding: 10px 10px 10px 30px;
	background: #c21231;
	vertical-align: middle;
}
#top-cont12 a div h2{
	color: #fff;
	font-size: 88px;
	line-height: .8;
	margin-bottom: 10px;
}
#top-cont12 a div h2 span{
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}
#top-cont12 a div h2 small{
	display: inline-block;
	color: #000;
	font-size: 20px;
	text-align: right;
	vertical-align: middle;
}
#top-cont12 a div p{
	color: #fff;
	line-height: 1.3;
}
#top-cont12 a div p:after{
	content: "";
	display: inline-block;
	width: 43px;
	height: 25px;
	margin-left: 10px;
	background: url(../images/icon-right-large.svg) no-repeat;
	vertical-align: middle;
}
#top-cont12 a figure{
	display: table-cell;
	width: 50%;
	background: url("../images/top-cont12.jpg") no-repeat;
	background-size: cover;
}
/* top-cont13 */
#top-cont13{
	clear: both;
	padding: 50px 5%;
	background: #fcf8f3;
}
#top-cont13 h2{
	display: inline-block;
	letter-spacing: .2em;
	padding: 0 20px 10px;
	border-bottom: 1px solid #000;
	margin-bottom: 40px;
}
#top-cont13 ul{
	max-width: 1000px;
	margin: 0 auto;
	overflow: hidden;
}
#top-cont13 ul li{
	float: left;
	width: 32%;
	margin-right: 2%;
	margin-bottom: 20px;
}
#top-cont13 ul li:nth-child(3n){
	margin-right: 0;
}
/* recruitbnr */
#recruitbnr{
	position: fixed;
	right: 90px;
	bottom: 15px;
	z-index: 999;
}
#recruitbnr span{
	display: inline-block;
	position: absolute;
	right: 0;
	top: 0;
	width: 30px;
	height: 30px;
	cursor: pointer;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:1100px){
	/* top-cont5 */
	#top-cont5{
		clear: both;
		margin: 100px 0 80px;
		position: relative;
		overflow: hidden;
	}
	#top-cont5:before{
		content: "";
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		width: 50%;
		height: 350px;
		background: url("../images/top-cont5-img.jpg") no-repeat right center;
		background-size: cover;
	}
	#top-cont5:after{
		content: "";
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 4%;
		height: 100%;
		background: #fff;
	}
	#top-cont5wrap div{
		height: 350px;
		padding: 50px 0 0 9%;
	}
	#top-cont5wrap div h2,
	#top-cont6wrap div h2,
	#top-cont7wrap div h2,
	#top-cont8wrap div h2,
	#top-cont9wrap div h2{
		font-size: 72px;
	}
	#top-cont5wrap div h2 small,
	#top-cont6wrap div h2 small,
	#top-cont7wrap div h2 small,
	#top-cont8wrap div h2 small,
	#top-cont9wrap div h2 small{
		font-size: 16px;
	}
	#top-cont5wrap div p.read,
	#top-cont6wrap div p.read,
	#top-cont7wrap div p.read,
	#top-cont8wrap div p.read,
	#top-cont9wrap div p.read{
		font-size: 26px;
		margin-bottom: 10px;
	}
	#top-cont5wrap div p.read:after,
	#top-cont6wrap div p.read:after,
	#top-cont7wrap div p.read:after,
	#top-cont8wrap div p.read:after,
	#top-cont9wrap div p.read:after{
		width: 35px;
		height: 25px;
		background: url(../images/icon-right-large.svg) no-repeat;
		background-size: 35px auto;
	}
	#top-cont5wrap div p.note,
	#top-cont6wrap div p.note,
	#top-cont7wrap div p.note,
	#top-cont8wrap div p.note,
	#top-cont9wrap div p.note{
		font-size: 14px;
	}
	#top-cont5 figure{
		height: 350px;
	}
	/* top-cont6 */
	#top-cont6{
		height: 350px;
		background: url("../images/top-cont6-img2.jpg") no-repeat left center;
		background-size: cover;
	}
    #top-cont6 a:hover{
        opacity: 0.6;
    }
    #top-cont6:hover #top-cont6wrap div{
        opacity: 1;
    }
	#top-cont6:after{
		content: "";
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		width: 4%;
		height: 100%;
		background: #fff;
	}
	#top-cont6wrap:before{
		left: 100%;
		height: 350px;
	}
	#top-cont6wrap div{
		height: 350px;
		padding: 40px 8% 0 0;
	}
	#top-cont6 figure{
		height: 350px;
	}
	/* top-cont7 */
	#top-cont7:after{
		content: "";
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 4%;
		height: 100%;
		background: #fff;
	}
	#top-cont7 ul{
		height: 350px;
	}
	#top-cont7 ul li{
		height: 350px;
		background-size: cover!important;
	}
	#top-cont7 ul li:nth-child(1){ background: url("../images/top-cont7-img1.jpg") no-repeat right center;}
	#top-cont7 ul li:nth-child(2){ background: url("../images/top-cont7-img2.jpg") no-repeat right center;}
	#top-cont7 ul li:nth-child(3){ background: url("../images/top-cont7-img3.jpg") no-repeat right center;}
    #top-cont7 ul li img.wmax{
        width: 100%;
    }
	#top-cont7wrap2{
		height: 350px;
		padding: 50px 0 0 9%;
	}
	#top-cont7 figure{
		height: 350px;
	}
	/* top-cont8 */
	#top-cont8:before{
		height: 350px;
	}
	#top-cont8:after{
		content: "";
		display: block;
		position: absolute;
		right: 0;
		top: 0;
		width: 4%;
		height: 100%;
		background: #fff;
	}
	#top-cont8wrap div{
		height: 350px;
		padding: 50px 8% 0 4%;
	}
	#top-cont8 figure{
		height: 350px;
	}
	/* top-cont9 */
	#top-cont9{
		margin-bottom: 100px;
	}
	#top-cont9:before{
		height: 350px;
	}
	#top-cont9:after{
		content: "";
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 4%;
		height: 100%;
		background: #fff;
	}
	#top-cont9wrap div h2{
		font-size: 50px;
	}
	#top-cont9wrap div h2 strong{
		font-size: 72px;
		font-weight: normal;
	}
	#top-cont9wrap div{
		height: 350px;
		padding: 50px 2% 0 8%;
	}
	#top-cont9 figure{
		height: 350px;
	}
	/* top-cont12 */
	#top-cont12 a div{
		display: table-cell;
		width: 50%;
		text-align: left;
		padding: 10px 10px 10px 30px;
		background: #c21231;
		vertical-align: middle;
	}
	#top-cont12 a div h2{
		display: inline-block;
		color: #fff;
		font-size: 72px;
		line-height: .8;
		margin-bottom: 20px;
	}
	#top-cont12 a div h2 span{
		display: block;
	}
	#top-cont12 a div h2 small{
		display: block;
		font-size: 16px;
	}
}
@media screen and (max-width:768px){
	/* top-cont1 */
	#top-cont1{
		margin-bottom: 40px;
	}
	#top-cont1 .slick-prev{
		background: url("../images/top-cont1-left.svg") no-repeat left 10px center;
		background-size: 15px auto;
	}
	#top-cont1 .slick-next{
		background: url("../images/top-cont1-right.svg") no-repeat right 10px center;
		background-size: 15px auto;
	}
	#top-cont1 li{
		overflow: hidden;
	}
	#top-cont1 li img{
		width: 140%;
		max-width: none;
		margin-left: -20%;
	}
	/* top-cont2 */
	#top-cont2{
		float: none;
		width: auto;
		margin-right: 0;
		margin-bottom: 40px;
	}
	#top-cont2.eng-top-cont2 div dl dt{
		width: 15em;
	}
	#top-cont3{
		float: none;
		width: auto;
		margin-bottom: 40px;
	}
	#top-cont2 div dl,
	#top-cont3 div dl{
		margin-bottom: 5px;
	}
	/* top-cont4 */
	#top-cont4{
		height: auto;
	}
	/* top-cont5 */
	#top-cont5{
		margin: 10% 0 8%;
	}
	#top-cont5:before{
		content: none;
	}
	#top-cont5wrap div{
		float: none;
		width: auto;
		height: auto;
		color: #fff;
		padding: 30px 20px 30px 40px;
	}
	#top-cont5wrap div h2,
	#top-cont6wrap div h2,
	#top-cont7wrap div h2,
	#top-cont8wrap div h2,
	#top-cont9wrap div h2{
		font-size: 50px;
		margin-bottom: 15px;
	}
	#top-cont5wrap div h2 small,
	#top-cont6wrap div h2 small,
	#top-cont7wrap div h2 small,
	#top-cont8wrap div h2 small,
	#top-cont9wrap div h2 small{
		font-size: 14px;
	}
	#top-cont5wrap div p.read,
	#top-cont6wrap div p.read,
	#top-cont7wrap div p.read,
	#top-cont8wrap div p.read,
	#top-cont9wrap div p.read{
		font-size: 22px;
		margin-bottom: 10px;
	}
	#top-cont5wrap div p.read:after,
	#top-cont6wrap div p.read:after,
	#top-cont7wrap div p.read:after,
	#top-cont8wrap div p.read:after,
	#top-cont9wrap div p.read:after{
		width: 22px;
		height: 15px;
		background: url(../images/icon-right-large.svg) no-repeat center;
		background-size: 22px auto;
	}
	#top-cont5 figure{
		position: static;
		height: auto;
	}
	/* top-cont6 */
	#top-cont6{
		height: auto;
		margin-bottom: 8%;
		background: none;
	}
	#top-cont6wrap:before{
		content: none;
	}
	#top-cont6wrap div{
		float: none;
		width: auto;
		height: auto;
		padding: 30px 40px 30px 20px;
		background: #3e2c1a;
	}
	#top-cont6 figure{
		position: static;
		height: auto;
	}
	/* top-cont7 */
	#top-cont7{
		margin-bottom: 8%;
	}
	#top-cont7 ul{
		position: static;
		width: auto;
		height: auto;
	}
	#top-cont7 ul li{
		height: auto;
		background-size: cover!important;
	}
	#top-cont7 ul li:nth-child(1){ background: url("../images/top-cont7-img1.jpg") no-repeat right center;}
	#top-cont7 ul li:nth-child(2){ background: url("../images/top-cont7-img2.jpg") no-repeat right center;}
	#top-cont7 ul li:nth-child(3){ background: url("../images/top-cont7-img3.jpg") no-repeat right center;}
	#top-cont7 ul li img{
		display: inline!important;
	}
	#top-cont7 a{
		display: block;
	}
	#top-cont7wrap2{
		float: none;
		width: auto;
		height: auto;
		padding: 30px 20px 30px 40px;
	}
	#top-cont7 figure{
		position: static;
		height: auto;
	}
	/* top-cont8 */
	#top-cont8{
		margin-bottom: 8%;
	}
	#top-cont8:before{
		content: none;
	}
	#top-cont8wrap div{
		float: none;
		width: auto;
		height: auto;
		padding: 30px 40px 30px 20px;
	}
	#top-cont8 figure{
		position: static;
		height: auto;
	}
	/* top-cont9 */
	#top-cont9{
		margin-bottom: 12%;
	}
	#top-cont9:before{
		content: none;
	}
	#top-cont9wrap div{
		float: none;
		width: auto;
		height: auto;
		padding: 30px 20px 30px 40px;
	}
	#top-cont9 figure{
		position: static;
		height: auto;
	}
	/* top-cont10 */
	#top-cont10{
		margin-bottom: 8%;
	}
	#top-cont10 li{
		width: 48%;
		margin-right: 4%;
		margin-bottom: 5%;
	}
	#top-cont10 li:nth-child(3n){
		margin-right: 4%;
	}
	#top-cont10 li:nth-child(2n){
		margin-right: 0;
	}
	#top-cont10 li a strong{
		font-size: 16px;
	}
	/* top-cont11 */
	#top-cont11{
		margin-bottom: 8%;
	}
	#top-cont11 div.fb-page{
		float: none;
		width: auto;
		margin-bottom: 8%;
	}
    #top-cont11 div h2{
        padding: 0 35px 5px;
    }
    #top-cont11 div.fb-cont h2::after, #top-cont11 div.insta-cont h2::after, #top-cont11 div.tw-cont h2::after {
        right: 0;
    }
	#top-cont11 div.blog{
		float: none;
		width: auto;
	}
    #top-cont11 div.fb-cont,
    #top-cont11 div.tw-cont{
        width: 100%;
        margin-bottom: 10px;
    }
	#top-cont11 div.blog div{
		margin-bottom: 8%;
	}
	#top-cont11 div.blog dl{
		margin-bottom: 5px;
	}
	#top-cont11 div.blog p{
        width: 48%;
	}
	/* top-cont12 */
	#top-cont12{
		margin-bottom: 8%;
	}
	#top-cont12 a{
		display: block;
		height: auto;
	}
	#top-cont12 a div{
		display: block;
		width: auto;
		text-align: left;
		padding: 30px;
		background: #c21231;
		vertical-align: middle;
	}
	#top-cont12 a div h2{
		font-size: 50px;
	}
	#top-cont12 a div h2 small{
		font-size: 14px;
	}
	#top-cont12 a figure{
		display: block;
		width: auto;
		background: none;
	}
	/* top-cont13 */
	#top-cont13{
		padding: 30px 5%;
	}
	#top-cont13 ul li{
		width: 48%;
		margin-right: 4%;
		margin-bottom: 4%;
	}
	#top-cont13 ul li:nth-child(3n){
		margin-right: 4%;
	}
	#top-cont13 ul li:nth-child(2n){
		margin-right: 0;
	}
	/* recruitbnr */
	#recruitbnr{
		right: 70px;
		bottom: 0;
	}
	#recruitbnr span{
		width: 10%;
		height: 100%;
	}
}
@media screen and (max-width:500px){
	/* top-cont2 */
	#top-cont2 div dl dt{
		float: none;
		width: auto;
	}
	#top-cont2.eng-top-cont2 div dl dt{
		width: auto;
	}
	/* top-cont9 */
	#top-cont9wrap div h2{
		font-size: 45px;
	}
	#top-cont9wrap div h2 strong{
		font-size: 70px;
	}
	/* top-cont10 */
	#top-cont10 li{
		float: none;
		width: auto;
		max-width: 300px;
		margin: 0 auto 5%!important;
	}
	/* top-cont13 */
	#top-cont13 h2{
		margin-bottom: 20px;
	}
	#top-cont13 ul li{
		float: none;
		width: auto;
		max-width: 300px;
		margin: 0 auto 4%!important;
	}
}






/*---------------------------------------------------------------------------------------
	company/
----------------------------------------------------------------------------------------*/

/* company1 */
#company1{
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: left;
}
#company1 .read{
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 30px;
}
#company1 figure{
	float: right;
	width: 40%;
	max-width: 320px;
	margin-left: 5%;
}
#company1 figure figcaption{
	display: block;
	padding-top: 20px;
}
#company1 figure figcaption strong{
	font-size: 20px;
}
#company1 .note strong{
	font-size: 20px;
}
/* company2 */
#company2{
	padding-top: 70px;
	text-align: left;
}
#company2 dl{
	margin-bottom: 30px;
	overflow: hidden;
}
#company2 dl dt{
	margin-bottom: 10px;
}
#company2 dl dd{
	margin-bottom: 30px;
}
#company2 h4{
	font-size: 22px;
}
#company2 figure{
	text-align: center;
	padding: 60px 5%;
	background: url("../images/company-policy-graph-bg.jpg") no-repeat;
	background-size: cover;
}
/* company3 */
#company3{
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: left;
}
#company3 table{
	width: 100%;
	border-top: 1px solid #ccc;
}
#company3 table th{
	width: 250px;
	font-weight: bold;
	vertical-align: top;
	padding: 15px 0;
	border-bottom: 1px solid #ccc;
}
#company3 table td{
	padding: 15px 0;
	border-bottom: 1px solid #ccc;
}
#company3 table td dl{
	overflow: hidden;
}
#company3 table td dl dt{
	clear: left;
	float: left;
	width: 9em;
}
#company3 table td dl dd{
	overflow: hidden;
}
/* company4 */
#company4{
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: left;
}
#company4 table{
	width: 100%;
	border-top: 1px solid #333;
}
#company4 table th{
	font-weight: bold;
	white-space: nowrap;
	vertical-align: top;
	padding: 5px 0;
	border-bottom: 1px solid #333;
}
#company4 table th:nth-child(1){ width: 10em;}
#company4 table th:nth-child(2){ width: 6em;}
#company4 table td{
	padding: 5px 0;
	border-bottom: 1px solid #333;
}
#company4 table td dl{
	overflow: hidden;
}
#company4 table td dl dt{
	clear: left;
	float: left;
	width: 9em;
}
#company4 table td dl dd{
	overflow: hidden;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){
	/* company1 */
	#company1{
		padding-top: 30px;
		padding-bottom: 40px;
	}
	#company1 .read{
		font-size: 26px;
		margin-bottom: 20px;
	}
	#company1 figure{
		float: none;
		width: 50%;
		max-width: 250px;
		margin: 0 auto 20px;
	}
	#company1 figure figcaption strong{
		font-size: 18px;
	}
	#company1 .note strong{
		font-size: 18px;
	}
	/* company2 */
	#company2{
		padding-top: 40px;
	}
	#company2 dl{
		margin-bottom: 10px;
	}
	#company2 dl dt{
		margin-bottom: 10px;
	}
	#company2 dl dt img{
		width: 100%;
		max-width: 350px;
		height: auto;
	}
	#company2 dl dd{
		margin-bottom: 30px;
	}
	#company2 h4{
		font-size: 20px;
	}
	#company2 figure{
		padding: 10% 5%;
		background: url("../images/company-policy-graph-bg.jpg") no-repeat center;
		background-size: auto 100%;
	}
	/* company3 */
	#company3{
		padding-top: 30px;
		padding-bottom: 30px;
	}
	#company3 table th{
		display: block;
		padding: 10px 0 5px;
		border-bottom: none
	}
	#company3 table td{
		display: block;
		padding: 0 0 10px;
		border-bottom: 1px solid #ccc;
	}
	/* company4 */
	#company4{
		padding-top: 30px;
		padding-bottom: 40px;
	}
	#company4 table th:nth-child(1){ width: 9em;}
	#company4 table th:nth-child(2){ width: 3em;}
}






/*---------------------------------------------------------------------------------------
	feature/
----------------------------------------------------------------------------------------*/

/* feature1 */
#feature1 .read{
	color: #fff;
	font-size: 30px;
	font-weight: bold;
	letter-spacing: .5em;
	padding: 30px 5%;
	background: #313131;
}
#feature1 h3{
	max-width: 1135px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5%;
	padding-right: 5%;
	position: relative;
}
#feature1 h3 span{
	display: block;
	text-align: left;
	font-weight: normal;
	padding: 40px 0 40px 55%;
}
#feature1 h3 span em{
	display: inline-block;
	color: #c21231;
	font-size: 28px;
	line-height: 1.4;
}
#feature1 h3 span em:nth-of-type(1){
	letter-spacing: .4em;
}
#feature1 h3 span strong{
	font-size: 40px;
	font-weight: normal;
}
#feature1 h3 span br.sp{
	display: none;
}
#feature1 h3 img{
	position: absolute;
	right: 40%;
	top: -90px;
}
#feature1 .wrap{
	padding-top: 80px;
	overflow: hidden;
}
#feature1 .wrap div{
	float: left;
	width: 47%;
	margin-bottom: 100px;
}
#feature1 .wrap div:nth-child(1){
	margin-left: 53%
}
#feature1 .wrap div:nth-child(2n){
	clear: left;
	margin-right: 6%;
}
#feature1 .wrap div img{
	margin-bottom: 10px;
}
#feature1 .wrap div h4{
	font-size: 28px;
	font-weight: bold;
	line-height: 1.4;
}
#feature1 .wrap div dt{
	color: #c21231;
	font-weight: bold;
	margin-bottom: 20px;
}
#feature1 .wrap div dd{
	text-align: left;
}
/* feature2 */
#feature2 h3{
	max-width: 1135px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 5%;
	padding-right: 5%;
	position: relative;
}
#feature2 h3 span{
	display: block;
	text-align: left;
	font-weight: normal;
	padding: 40px 0;
}
#feature2 h3 span em{
	display: inline-block;
	color: #c21231;
	font-size: 28px;
	line-height: 1.4;
}
#feature2 h3 span em:nth-of-type(1){
	letter-spacing: .4em;
}
#feature2 h3 span strong{
	font-size: 40px;
	font-weight: normal;
}
#feature2 h3 span br.sp{
	display: none;
}
#feature2 h3 img{
	position: absolute;
	left: 40%;
	top: -90px;
}
#feature2 .wrap{
	padding-top: 80px;
	overflow: hidden;
}
#feature2 .wrap div{
	float: left;
	width: 47%;
	margin-bottom: 100px;
}
#feature2 .wrap div:nth-child(1){
	margin-right: 53%
}
#feature2 .wrap div:nth-child(2n){
	clear: left;
	margin-right: 6%;
}
#feature2 .wrap div img{
	margin-bottom: 10px;
}
#feature2 .wrap div h4{
	font-size: 28px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 5px;
}
#feature2 .wrap div dt{
	color: #c21231;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 20px;
}
#feature2 .wrap div dd{
	text-align: left;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:768px){
	/* feature1 */
	#feature1 .read{
		font-size: 24px;
		letter-spacing: .2em;
		padding: 20px 5%;
	}
	#feature1 h3 span{
		padding: 30px 0;
	}
	#feature1 h3 img{
		right: 45%;
		top: 80%;
		width: 80%;
	}
	#feature1 h3 span br.sp{
		display: inline;
	}
	#feature1 .wrap{
		padding-top: 40px;
	}
	#feature1 .wrap div{
		width: 48%;
		margin-bottom: 8%;
	}
	#feature1 .wrap div:nth-child(1){
		margin-left: 52%
	}
	#feature1 .wrap div:nth-child(2n){
		margin-right: 4%;
	}
	#feature1 .wrap div h4{
		font-size: 20px;
	}
	#feature1 .wrap div dt{
		margin-bottom: 10px;
	}
	/* feature2 */
	#feature2 h3 span{
		padding: 30px 0;
	}
	#feature2 h3 img{
		left: 45%;
		top: 77%;
		width: 80%;
	}
	#feature2 .wrap{
		padding-top: 40px;
	}
	#feature2 .wrap div{
		width: 48%;
		margin-bottom: 8%;
	}
	#feature2 .wrap div:nth-child(1){
		margin-right: 52%
	}
	#feature2 .wrap div:nth-child(2n){
		margin-right: 4%;
	}
	#feature2 .wrap div h4{
		font-size: 20px;
	}
	#feature2 .wrap div dt{
		margin-bottom: 10px;
	}
}
@media screen and (max-width:550px){
	/* feature1 */
	#feature1 h3 span{
		font-size: 13px;
	}
	#feature1 h3 span em{
		font-size: 18px;
	}
	#feature1 h3 span strong{
		display: inline-block;
		font-size: 30px;
		font-weight: normal;
		line-height: 1.2;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	#feature2 h3 span br.sp{
		display: inline;
	}
	#feature1 h3 img{
		left: 46%;
		top: -35px;
		width: 300px;
	}
	#feature1 .wrap div{
		width: auto;
		margin: 0 0 8%!important;
	}
	/* feature2 */
	#feature2 h3 span{
		font-size: 13px;
	}
	#feature2 h3 span em{
		font-size: 18px;
	}
	#feature2 h3 span strong{
		display: inline-block;
		font-size: 30px;
		font-weight: normal;
		line-height: 1.2;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	#feature2 h3 img{
		right: inherit;
		left: 46%;
		top: -35px;
		width: 300px;
	}
	#feature2 .wrap div{
		width: auto;
		margin: 0 0 8%!important;
	}
}






/*---------------------------------------------------------------------------------------
	location/
----------------------------------------------------------------------------------------*/

/* location-anchor */
.location-anchor{
	padding-top: 80px;
	padding-bottom: 70px;
	text-align: left;
}
.location-anchor dt{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 30px;
}
.location-anchor dt:after{
	content: "";
	display: inline-block;
	width: 27px;
	height: 27px;
	margin-left: 10px;
	background: url("../images/icon-loupe.svg") no-repeat;
	vertical-align: middle;
	margin-bottom: 5px;
}
.location-anchor dd{
	margin-bottom: 20px;
	overflow: hidden;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}
.location-anchor dd a{
	display: inline-block;
	width: 20%;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	line-height: 60px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.location-anchor dd a:hover{
	color: #000;
	background: #ccc;
}
.location-anchor dd.overseas{
	border: none;
}
.location-anchor dd.overseas a{
	color: #fff;
	background: #666;
	border: none;
}
.location-anchor dd.overseas a:hover{
	color: #fff;
	background: #000;
}
/* location1 */
.location1{
	margin-bottom: 40px;
	overflow: hidden;
}
.location1 h3{
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	text-align: left;
	line-height: 45px;
	padding: 0 30px;
	margin-bottom: 20px;
	background: #000;
}
.location1 article{
	clear: both;
	overflow: hidden;
	padding-top: 30px;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin-bottom: 40px;
}
.location1 article .box1{
	float: right;
	width: 50%;
	text-align: left;
	margin-bottom: 20px;
}
.location1 article .box1 p.open{
	color: #c21231;
	font-weight: bold;
	text-align: right;
}
.location1 article .box1 p.open.new:after{
	content: "NEW";
	display: inline-block;
	font-family: p22-underground, sans-serif; font-weight: 400;
	color: #fff;
	width: 150px;
	height: 25px;
	line-height: 1.2;
	font-size: 24px;
	text-align: center;
	padding: 5px 0;
	margin-left: 15px;
	background: #c21231;
	vertical-align: middle;
	border-radius: 100px;
}
.location1 article .box1 p.open.renewal:after{
	content: "RENEWAL";
	display: inline-block;
	font-family: p22-underground, sans-serif; font-weight: 400;
	color: #fff;
	width: 150px;
	height: 25px;
	line-height: 1.2;
	font-size: 24px;
	text-align: center;
	padding: 5px 0;
	margin-left: 15px;
	background: url(../images/location-open-renewalbg.png) no-repeat;
	vertical-align: middle;
	border-radius: 100px;
}
.location1 article .box1 h4{
	font-size: 40px;
	font-weight: normal;
}
.location1 article .box1 p.add{
	margin-bottom: 10px;
}
.location1 article .box1 ul.root{
	padding: 10px 15px;
	background: #f6f6f6;
	margin-bottom: 10px;
}
.location1 article .box1 ul.root li{
	content: "";
	padding-left: 1em;
	text-indent: -1em;
}
.location1 article .box1 ul.root li:before{
	content: "・";
}
.location1 article .box1 ul.iconlist li{
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}
.location1 article .box2{
	float: left;
	width: 45%;
	margin-bottom: 10px;
	overflow: hidden;
}
.location1 article .box2 figure{
	max-width: 450px;
	margin-bottom: 20px;
	background: #999;
}
.location1 article .box2 p.link{
	float: left;
	width: 46%;
	margin: 0 2% 10px;
}
.location1 article .box2 p.link a{
	display: block;
	font-size: 20px;
	font-weight: bold;
	line-height: 50px;
	border: 1px solid #000;
}
.location1 article .box2 p.link a:hover{
	color: #000;
	background: #ccc;
	border: 1px solid #ccc;
}
.location1 article .box3{
	clear: both;
	padding: 30px 30px 20px;
	text-align: left;
	background: #fcf8f3;
	overflow: hidden;
}
.location1 article .box3 h5{
	height: 35px;
	font-size: 16px;
	font-weight: bold;
}
.location1 article .box3 figure{
	float: right;
	margin: -35px 0 10px 5%;
}
.location1 article .box3 p{
	font-size: 14px;
	margin-bottom: 10px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width:1000px){
	.location1 article .box2 p.link a{
		font-size: 17px;
	}
}
@media screen and (max-width:768px){
	/* location-anchor */
	.location-anchor{
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.location-anchor dt{
		margin-bottom: 10px;
	}
	.location-anchor dt:after{
		width: 20px;
		height: 20px;
	}
	.location-anchor dd{
		margin-bottom: 10px;
	}
	.location-anchor dd a{
		width: 33.33333333333333%;
		font-size: 16px;
		line-height: 50px;
	}
	/* location1 */
	.location1{
		margin-bottom: 40px;
	}
	.location1 article{
		padding-top: 30px;
		margin-bottom: 20px;
	}
	.location1 article .box1{
		float: none;
		width: auto;
	}
	.location1 article .box1 p.open{
		text-align: left;
	}
	.location1 article .box1 p.open.new:after{
		width: 100px;
		height: 16px;
		font-size: 16px;
		padding: 8px 0;
	}
	.location1 article .box1 p.open.renewal:after{
		width: 100px;
		height: 16px;
		font-size: 16px;
		padding: 8px 0;
	}
	.location1 article .box1 h4{
		font-size: 28px;
	}
	.location1 article .box2{
		float: none;
		width: auto;
	}
	.location1 article .box2 figure{
		max-width: inherit;
		background: #999;
	}
	.location1 article .box2 p.link a{
		font-size: 15px;
		line-height: 40px;
	}
	.location1 article .box3{
		clear: both;
		padding: 20px 20px 10px;
		text-align: left;
		background: #fcf8f3;
		overflow: hidden;
	}
	.location1 article .box3 h5{
		height: 35px;
		font-size: 16px;
		font-weight: bold;
	}
	.location1 article .box3 figure{
		float: right;
		width: 40%;
		max-width: 120px;
		margin: 0 0 10px 20px;
	}
}






/*---------------------------------------------------------------------------------------
	construction/
----------------------------------------------------------------------------------------*/

/* construction */
#construction1,
#construction2{
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: left;
}
#construction1 table{
    width: 100%;
    border-top: 1px solid #D2D2D2;
}
#construction1 table th,
#construction1 table td{
    border-bottom: 1px solid #D2D2D2;
}
#construction1 table th{
    color: #fff;
    font-weight: bold;
    padding: 9px 20px;
    background: #999;
    width: 220px;
    position: relative;
}
#construction1 table th:before,
#construction1 table th:after{
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    display: block;
    background: #fff;
}
#construction1 table th:before{
    top: 0;
}
#construction1 table th:after{
    bottom: 0;
}
#construction1 table td{
    padding: 9px 30px;
}
#construction1 table td dl dt{
    font-weight: bold;
    margin-bottom: 5px;
}
#construction1 table td dl dd ul{
    clear: both;
    overflow: hidden;
}
#construction1 table td dl dd ul li{
    float: left;
    width: 40%;
    margin-bottom: 5px;
}
@media screen and (max-width:768px){
    #construction1,
    #construction2{
        padding-top: 30px;
        padding-bottom: 40px;
    }
    #construction1 table th{
        padding: 5px 10px;
        width: 125px;
    }
    #construction1 table td{
        padding: 5px 10px;
    }
}






/*---------------------------------------------------------------------------------------
	news/
----------------------------------------------------------------------------------------*/

/* news */
#news{
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: left;
}
#news article{
    border-top: 3px solid #7D0C20;
    padding: 20px 50px 40px;
}
#news article p{
    margin-bottom: 1em;
}
#news article p.date{
    color: #999;
    font-size: 14px;
    text-align: right;
}
#news article a{
    color: #6795D9;
    text-decoration: underline;
}
#news article figure{
    margin-bottom: 40px;
}
@media screen and (max-width:768px){
    #news{
        padding-top: 30px;
        padding-bottom: 40px;
        text-align: left;
    }
    #news article{
        border-top: 2px solid #7D0C20;
        padding: 10px 0 20px;
    }
    #news article figure{
        margin-bottom: 20px;
    }
}






/*---------------------------------------------------------------------------------------
	movie/
----------------------------------------------------------------------------------------*/

/* movie */
#movie{
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: left;
}
#movie ul.movie-list{
    padding: 0 50px;
}
@media screen and (max-width:768px){
    #movie{
        padding-top: 30px;
        padding-bottom: 40px;
        text-align: left;
    }
    #movie ul.movie-list{
        padding: 0;
    }
}






/*---------------------------------------------------------------------------------------
	suppliers/
----------------------------------------------------------------------------------------*/

/* suppliers1 */
#suppliers1,
#suppliers2{
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: left;
}
@media screen and (max-width:768px){
    #suppliers1,
    #suppliers2{
        padding-top: 30px;
        padding-bottom: 40px;
        text-align: left;
    }
}






/*---------------------------------------------------------------------------------------
	property/
----------------------------------------------------------------------------------------*/

/* property1 */
#property1,
#property2{
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: left;
}
#property1{
    background: url(../images/property-bg.jpg) no-repeat center top;
    background-size: cover;
}
@media screen and (max-width:768px){
    #property1,
    #property2{
        padding-top: 30px;
        padding-bottom: 40px;
        text-align: left;
    }
}






/*---------------------------------------------------------------------------------------
	privacy/
----------------------------------------------------------------------------------------*/

#privacy{
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: left;
}
#privacy ol li{
    margin-bottom: 30px;
}
#privacy ol li ol li{
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 0;
}
@media screen and (max-width:768px){
    #privacy{
        padding-top: 30px;
        padding-bottom: 40px;
        text-align: left;
    }
    #privacy ol li{
        margin-bottom: 15px;
    }
}


/*---------------------------------------------------------------------------------------
	menu/
----------------------------------------------------------------------------------------*/

#menu1,
#menu2,
#menu3,
#menu4{
	padding-top: 70px;
	padding-bottom: 30px;
	text-align: left;
}
#menu4{
	padding-bottom: 100px;
}

#menu1 div.menu-attent{
	text-align: right;
	margin-bottom: 20px;
}

#menu1 h3,
#menu2 h3,
#menu3 h3,
#menu4 h3{
	background:url(../images/menu-ttl01.png);
	height: 306px;
	text-align: center;
	font-family: serif;
	margin-bottom: 40px;
}
#menu2 h3{
	background:url(../images/menu-ttl02.png);
}
#menu3 h3{
	background:url(../images/menu-ttl03.png);
}

#menu4 h3{
	background:url(../images/menu-ttl04.png);
}

#menu1 h3 span,
#menu2 h3 span,
#menu3 h3 span,
#menu4 h3 span{
	display: inline-block;
	background:rgba(255,255,255,0.8);
	font-size: 32px;
	width: 300px;
	line-height: 50px;
	margin-top: 120px;
}

#menu1 ul,
#menu2 ul,
#menu3 ul,
#menu4 ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
}

#menu1 ul:after,
#menu2 ul:after,
#menu3 ul:after,
#menu4 ul:after{
	content: "";
	display: block;
	max-width: 320px;
	width: 32%;

}

#menu1 ul li,
#menu2 ul li,
#menu3 ul li,
#menu4 ul li{
	max-width: 320px;
	width: 32%;
	min-height: 535px;
    padding-top: 10px;
	border-bottom: 1px solid #ccc;
}

#menu1 ul li:last-child:after,
#menu2 ul li:last-child:after,
#menu3 ul li:last-child:after,
#menu4 ul li:last-child:after{
	display: none;
}

#menu1 ul li figure img,
#menu2 ul li figure img,
#menu3 ul li figure img,
#menu4 ul li figure img{
	width: 100%;
	height: auto;
}

#menu1 ul li h4,
#menu2 ul li h4,
#menu3 ul li h4,
#menu4 ul li h4{
	text-align: center;
	font-size: 24px;
	line-height: 1.4;
	font-family: serif;
	margin-bottom: 20px;
}

#menu1 ul li p,
#menu2 ul li p,
#menu3 ul li p,
#menu4 ul li p{
	font-size: 14px;
	max-width: 270px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.4;
	min-height: 95px;
}

#menu1 ul li p span,
#menu2 ul li p span,
#menu3 ul li p span,
#menu4 ul li p span{
	color: #c21231;
	display: block;
	font-weight: bold;
}

@media screen and (max-width:768px){
	#menu4{
		padding-bottom: 50px;
	}
    #menu1 ul li,
    #menu2 ul li,
    #menu3 ul li,
    #menu4 ul li{
        max-width: 100%;
        width: 48%;
        min-height: 0;
		padding-bottom: 20px;
    }
    #menu1 ul li h4,
    #menu2 ul li h4,
    #menu3 ul li h4,
    #menu4 ul li h4{
        font-size: 5vw;
        line-height: 1.2;
    }
    #menu1 ul li h4 br,
    #menu2 ul li h4 br,
    #menu3 ul li h4 br,
    #menu4 ul li h4 br{
        display: none;
    }
}



/*---------------------------------------------------------------------------------------
	contact/
----------------------------------------------------------------------------------------*/
#contact{
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: left;
}

#contact h3.subtitle{
	margin-bottom: 30px;
}




#contact div.contact-part{
	border-bottom: solid 1px #000;
	padding-bottom: 70px;
	margin-bottom: 70px;
}
#contact p span{
	color: #c21231;
}
#contact ul{
	max-width: 850px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	margin-top: 35px;
}

#contact ul li{
	height: 100px;
	margin: 0 0 20px;
	vertical-align: top;
	background: #fff;
	box-sizing: border-box;
}
#contact ul li.tel{
	padding: 20px 20px 0;
}
#contact ul li.tel:before{
	display: inline-block;
	content: "";
	width: 48px;
	height: 48px;
	margin-right: 30px;
	background: url("../images/icon-tel.svg") no-repeat;
	vertical-align: middle;
}
#contact ul li.tel.free:before{
	background: url("../images/icon-free.svg") no-repeat;
	width: 65px;
	height: 65px;
}
#contact ul li.tel span:nth-child(1){
		display: inline-block;
	text-align: left;
	line-height: 1.4;
	vertical-align: middle;
}

#contact ul li.tel span:nth-child(2){
	display: block;
	text-align: left;
	line-height: 1.4;
	font-size: 20px;
	font-weight:bold;
	text-align: center;
}
#contact ul li.tel strong{
	color: #c21231;
	font-size: 26px;
	font-weight: bold;
}
#contact ul li.mail a{
	display: block;
	line-height: 100px;
}

#contact ul li.mail.address a{
	display: block;
	line-height: 2;
	padding-top: 25px;
}
#contact ul li.mail a:before{
	display: inline-block;
	content: "";
	width: 51px;
	height: 38px;
	margin-right: 30px;
	background: url("../images/icon-mail.svg") no-repeat;
	vertical-align: middle;
}
#contact ul li.mail a span{
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
	vertical-align: middle;
}
#contact ul li.mail a span span{
	display: block;
	font-size: 14px;
	font-weight: normal;
	line-height: 1;
}
#contact ul li br.sp{ display: none;}

#contact div.goto-linkpage {
	margin-left: 20px;
}
#contact div.goto-linkpage a:after {
	content: url("../images/contact-arrow01.png") ;
	margin-left: 20px;
}
#contact p.tanto {
	text-align: center;
	font-size: 20px;
	margin-top: 30px;
	margin-bottom: 30px;
}

#contact p.tanto span {
	font-weight: bold;
	color:#000;
}

#contact div.btn-area a {
	display: block;
	background-color: #f37003;
	border-radius: 10px;
	padding: 20px 20px 20px 45px;
	color: #fff;
	font-weight: bold;
	line-height: 1.2;
	display: flex;
	font-size: 20px;
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
}

#contact div.btn-area a:before {
	content: url("../images/contact-mail.png") ;
	display: inline-block;
	margin-right: 20px;
}

#contact div.btn-area a:after {
	content: url("../images/contact-arrow02.png") ;
	display: inline-block;
	margin-left: 15px;
}

@media screen and (max-width:768px){ 
	#contact ul{
		display: block;
	}
	#contact ul li{
		display: block;
		width: auto;
		max-width: 460px;
		height: auto;
		margin: 0 auto 20px;
	}
	#contact ul li.tel{
		padding: 12px 20px 12px 70px;
		position: relative;
	}
	#contact ul li.tel:before{
		width: 35px;
		height: 35px;
		margin-right: 20px;
		background-size: 35px!important;
		position: absolute;
		left: 20px;

	}
	#contact ul li.tel span{
		display: inline-block;
		text-align: left;
		line-height: 1.4;
		vertical-align: middle;
	}
	#contact ul li.tel span a{
		color: #c21231;
		font-size: 20px;
		font-weight: bold;
	}
#contact ul li.mail a{
		display: block;
		line-height: 1.4;
		padding: 20px;
	}
	#contact ul li.mail a:before{
		width: 35px;
		height: 30px;
		margin-right: 20px;
		background-size: 35px auto!important;
	}
	#contact ul li.mail a span{
		font-size: 16px;
		text-align: left;
	}

	#contact ul li.tel span:nth-child(2) {
		display: inline-block;
	}
	#contact p.tanto {
		font-size: 4vw;
	}
	#contact div.btn-area a {
		font-size: 4.5vw;
		padding: 10px;
	}
	#contact div.contact-part {
    padding-bottom: 20px;
    margin-bottom: 20px;
}

}


/*---------------------------------------------------------------------------------------
	fc/
----------------------------------------------------------------------------------------*/
#fc{
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: left;
}

#fc-main h3.read{
	font-size: 40px;
	margin: 30px;

}
#fc-main p{
	max-width: 1000px;
	margin: 40px auto;
	position: relative;
	padding-left: 330px;
	box-sizing: border-box;
	text-align: left;
}
#fc-main p span{
	display: block;
	font-size: 24px;
	font-weight:bold;
	color: #c21231;
	margin-top: 20px;
}
#fc-main p:before{
	content: url("../images/fc-img01.png") ;
	position: absolute;
	top:-80px;
	left: -60px;

}

#fc-main p.tanto {
	text-align: center;
	font-size: 20px;
	margin-top: 30px;
	margin-bottom: 30px;
}

#fc-main p.tanto span {
	font-weight: bold;
	color:#000;
}
#fc-main div.btn-area,
#fc1 div.btn-area,
#fc3 div.btn-area {
	clear: both;
	padding-top: 50px;
	padding-bottom: 80px;
}
#fc-main div.btn-area a,
#fc1 div.btn-area a,
#fc3 div.btn-area a {
	display: block;
	background-color: #f37003;
	border-radius: 10px;
	padding: 20px 20px 20px 45px;
	color: #fff;
	font-weight: bold;
	line-height: 1.2;
	display: flex;
	font-size: 20px;
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
}

#fc-main div.btn-area a:before,
#fc1 div.btn-area a:before,
#fc3 div.btn-area a:before {
	content: url("../images/contact-mail.png") ;
	display: inline-block;
	margin-right: 20px;
}

#fc-main div.btn-area a:after,
#fc1 div.btn-area a:after,
#fc3 div.btn-area a:after {
	content: url("../images/contact-arrow02.png") ;
	display: inline-block;
	margin-left: 15px;
}

#fc1 .bgblack{
	padding-top: 70px;
}


#fc1 h4{
	text-align: left;
	font-size: 28px;
}
#fc1 ul{
	margin-top: 60px;
}
#fc1 ul li{
	display: flex;
	justify-content: space-between;
	text-align: left;
	margin-bottom: 90px;
}

#fc1 ul li:nth-child(odd){
	flex-direction : row-reverse
}

#fc1 ul li div.txt-area{
	max-width: 480px;
	width: 49%;
}

#fc1 ul li div.txt-area:before{
	content: url("../images/fc-ttl01.png");
	display: block;
}
#fc1 ul li:nth-child(2) div.txt-area:before{
	content: url("../images/fc-ttl02.png");
}
#fc1 ul li:nth-child(3) div.txt-area:before{
	content: url("../images/fc-ttl03.png");
}
#fc1 ul li:nth-child(4) div.txt-area:before{
	content: url("../images/fc-ttl04.png");
}
#fc1 ul li:nth-child(5) div.txt-area:before{
	content: url("../images/fc-ttl05.png");
}
#fc1 ul li:nth-child(6) div.txt-area:before{
	content: url("../images/fc-ttl06.png");
}
#fc1 ul li div.txt-area h5{
	font-size: 38px;
	font-weight: bold;
	line-height: 1.2;
	margin-top: 35px;
	margin-bottom: 35px;
}

#fc1 ul li div.txt-area a{
	display: block;
	border: solid 1px #fff;
	line-height: 50px;
	text-align: center;
	color: #fff;
	margin-top: 30px;
}

#fc1 ul li div.txt-area a:after{
	content: url("../images/contact-arrow02.png");
	margin-left: 10px;
}

#fc1 ul li figure{
	margin-top: 30px;
	max-width: 480px;
	width: 49%;
}

#fc1 ul li figure img{
	width: 100%;
	height: 305px;
	object-fit: cover;
}

#fc2{
	padding-top: 70px;
	padding-bottom: 70px;
	text-align: left;
}

#fc2 ol{
	border: solid 4px #898989;
	border-radius: 10px;
	text-align: center;
}

#fc2 ol li{

		padding-top:30px;
		padding-bottom: 20px;
}

#fc2 ol li:last-child{
	border-bottom: 0;
}

#fc2 ol li:last-child:before{
	display: none;
}
#fc2 ol li:last-child:after{
	display: none;
}


#fc2 ol li h4{
	font-size: 28px;
	color: #c21231;
	font-weight: bold;

}

#fc2 ol li h4{
	font-size: 28px;
	color: #c21231;
	font-weight: bold;
}

#fc2 ol li {
    position: relative;
    border-bottom: solid 4px #898989;
    background: #fff;
}
    /* 下三角 */ 
    #fc2 ol li:before{
        content: "";
        position: absolute;
        bottom: -45px;
        left: calc(50% - 29px);
        margin-left: -2px;
        border: 30px solid transparent;
        border-top: 20px solid #fff;
        z-index: 2;
    }
    #fc2 ol li:after {
        position: absolute;
        border: 30px solid transparent;
        border-top: 20px solid #898989;
        border-top-color: #898989;
        border-bottom-width: 0;
        bottom: -20px;
        content: "";
        left: calc(50% - 30px);
        z-index: 1;
    }

#fc3 {
	background: url("../images/fc_bcg01.png");
	padding-top: 60px;
	padding-bottom: 60px;
	background-size: cover;
}

#fc3 div.wrap {
	background: #fff;
	padding: 30px;
}

#fc3 h3 {
	font-size: 24px;
	font-weight: bold;
}

#fc3 p.tanto {
    text-align: center;
    font-size: 20px;
    margin-top: 10px;
    margin-bottom: 10px;

}
#fc3 p.tanto span {
    font-weight: bold;
    color: #000;
}
#fc3 div.btn-area {
	clear: both;
	padding-top: 10px;
	padding-bottom: 10px;
}

#fc3 ul li.tel{
	padding: 20px 20px 0;
}
#fc3 ul li.tel:before{
	display: inline-block;
	content: "";
	width: 48px;
	height: 48px;
	margin-right: 30px;
	background: url("../images/icon-tel.svg") no-repeat;
	vertical-align: middle;
}

#fc3 ul li.tel span:nth-child(1){
		display: inline-block;
	text-align: left;
	line-height: 1.4;
	vertical-align: middle;
}

#fc3 ul li.tel span:nth-child(2){
	display: block;
	text-align: left;
	line-height: 1.4;
	font-size: 20px;
	font-weight:bold;
	text-align: center;
}
#fc3 ul li.tel strong{
	color: #c21231;
	font-size: 26px;
	font-weight: bold;
}
#fc3 ul li br.sp {
	display: none;
}

@media screen and (max-width:768px){ 
	#fc-main h3.read {
		font-size: 6vw;
	}

	#fc-main p:before {
		content: "" ;
    	background: url("../images/fc-img01.png") no-repeat center center ;
	position: relative;
	top:0;
	left: 0;
	width: 70%;
	height: 250px;
	background-size: contain;
	display: block;
	margin: 0 auto 10px;
}
#fc-main p {
    padding-left: 0;
    margin-left: 10px;
    margin-right: 10px;
}
#fc-main p span {
    font-size: 5.5vw;
}
#fc-main div.btn-area,
#fc1 div.btn-area{
		margin: 10px;
		    padding-top: 10px;
    padding-bottom: 20px;
	}

#fc3 div.btn-area {
		margin: 10px 5px;
		    padding-top: 10px;
    padding-bottom: 20px;
	}
	#fc-main div.btn-area a,
	#fc1 div.btn-area a,
	#fc3 div.btn-area a {
		font-size: 4.5vw;
		padding: 10px;
		text-align: left;
	}
	#fc1 ul li {
    display: block;
    margin-bottom: 50px;
}
#fc1 ul li div.txt-area,
#fc1 ul li figure{
    max-width: 100%;
    width: 100%;
}
#fc1 ul li div.txt-area h5 {
    font-size: 7.5vw;
    margin-top: 20px;
    margin-bottom: 20px;
}
#fc2 ol li h4 {
    font-size: 5vw;
}
#fc3 ul li.tel{
		padding: 12px 20px 12px 70px;
		position: relative;
	}
	#fc3 ul li.tel:before{
		width: 35px;
		height: 35px;
		margin-right: 20px;
		background-size: 35px!important;
		position: absolute;
		left: 20px;

	}
	#fc3 ul li.tel span{
		display: inline-block;
		text-align: left;
		line-height: 1.4;
		vertical-align: middle;
	}
	#fc3 ul li.tel span a{
		color: #c21231;
		font-size: 20px;
		font-weight: bold;
	}
	#fc3 div.wrap {
    padding: 10px;
}
#fc3 p.tanto {
		font-size: 4vw;
	}

}


/*---------------------------------------------------------------------------------------
	fcmaiform/
----------------------------------------------------------------------------------------*/
#fcmaiform{
    text-align: left;
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
    padding: 20px 3% 40px;
    box-sizing: content-box;
}
#fcmaiform table{
    margin-top: 20px;
    border-top: 1px solid #ccc;
    width: 100%;
    margin: 20px 0;
}
#fcmaiform table th,
#fcmaiform table td{
    padding: 5px 10px;
    border-bottom: 1px solid #ccc;
}
#fcmaiform table th{
    width: 28%;
    position: relative;
    padding-right: 5em;
}
#fcmaiform table th span{
    color: #D90000;
    font-size: 14px;
    font-weight: bold;
    position: absolute;
    top: 12px;
    right: 10px;
}
#fcmaiform table td{
    padding-right: 0;
}
#fcmaiform table td textarea,
#fcmaiform table td input[type="text"],
#fcmaiform table td input[type="email"]{
    font-size: 16px;
}
#fcmaiform table td textarea{
    padding: 5 10px;
}
#fcmaiform table td input[type="email"]{
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    line-height: 40px;
    padding: 0 10px;
}
#fcmaiform .btn{
    text-align: center;
    margin-bottom: 20px;
}
#fcmaiform .btn input[type="submit"]{
    color: #fff;
    font-size: 16px;
    padding: 10px;
    width: 160px;
    background: #999;
    border: 2px solid #999;
    cursor: pointer;
    margin: 0 10px 10px;
}
#fcmaiform .btn input[type="submit"]:hover{
    opacity: 0.6;
}

@media screen and (max-width:768px){
    #fcmaiform table th,
    #fcmaiform table td{
        display: block;
        padding-left: 0;
    }
    #fcmaiform table th{
        width: 100%;
        border-bottom: none;
        padding-bottom: 0
    }
    #fcmaiform table th span{
        top: 6px;
    }
}

/*---------------------------------------------------------------------------------------
	fc/ _tw
----------------------------------------------------------------------------------------*/
#fc-main_tw h3.read{
	font-size: 40px;
	margin: 30px;
}
#fc-main_tw p{
	max-width: 1000px;
	margin: 40px auto;
	position: relative;
	padding-left: 330px;
	box-sizing: border-box;
	text-align: left;
	min-height:180px;
}
#fc-main2_tw h3.read{
	font-size: 40px;
	margin: 30px;
}
#fc-main2_tw p{
	max-width: 1000px;
	margin: 40px auto;
}
#fc-main_tw p span{
	display: block;
	font-size: 24px;
	font-weight:bold;
	color: #c21231;
	margin-top: 20px;
}
#fc-main_tw p:before{
	content: url("../images/fc-img01_tw.png") ;
	position: absolute;
	top:-80px;
	left: -60px;

}

#fc-main_tw p.tanto {
	text-align: center;
	font-size: 20px;
	margin-top: 30px;
	margin-bottom: 30px;
}

#fc-main_tw p.tanto span {
	font-weight: bold;
	color:#000;
}
#fc-main_tw div.btn-area {
	clear: both;
	padding-top: 50px;
	padding-bottom: 80px;
}
#fc-main_tw div.btn-area a,
#contents.tw #fc1 div.btn-area a,
#contents.tw #fc3 div.btn-area a {
	display: block;
	background-color: #f37003;
	border-radius: 10px;
	padding: 20px 20px 20px 45px;
	color: #fff;
	font-weight: bold;
	line-height: 1.2;
	display: flex;
	font-size: 20px;
	max-width: 740px;
	margin-left: auto;
	margin-right: auto;
	align-items: center;
}

#fc-main_tw div.btn-area a:before
 {
	content: url("../images/contact-mail.png") ;
	display: inline-block;
	margin-right: 20px;
}

#fc-main_tw div.btn-area a:after
{
	content: url("../images/contact-arrow02.png") ;
	display: inline-block;
	margin-left: 15px;
}

#contents.tw #fc1 ul li div.txt-area:before{
	content: url("../images/fc-ttl01_tw.png");
	display: block;
}
#contents.tw #fc1 ul li:nth-child(2) div.txt-area:before{
	content: url("../images/fc-ttl02_tw.png");
}
#contents.tw #fc1 ul li:nth-child(3) div.txt-area:before{
	content: url("../images/fc-ttl03_tw.png");
}
#contents.tw #fc1 ul li:nth-child(4) div.txt-area:before{
	content: url("../images/fc-ttl04_tw.png");
}
#contents.tw #fc1 ul li:nth-child(5) div.txt-area:before{
	content: url("../images/fc-ttl05_tw.png");
}
#contents.tw #fc1 ul li:nth-child(6) div.txt-area:before{
	content: url("../images/fc-ttl06_tw.png");
}
.table_tw1
{border:1px solid #fff ; margin-bottom:20px;
}
.table_tw1 th,.table_tw1 td
{border:1px solid #fff ; padding:10px;
}

@media screen and (max-width:768px){ 
	#fc-main_tw p{
		min-height: inherit;
	}
	#fc-main_tw h3.read {
		font-size: 6vw;
	}

	#fc-main_tw p:before {
		content: "" ;
    	background: url("../images/fc-img01_tw.png") no-repeat center center ;
	position: relative;
	top:0;
	left: 0;
	width: 70%;
	height: 250px;
	background-size: contain;
	display: block;
	margin: 0 auto 10px;
	}
	#fc-main_tw p {
		padding-left: 0;
		margin-left: 10px;
		margin-right: 10px;
	}
	#fc-main_tw p span {
		font-size: 5.5vw;
	}
	#fc-main_tw div.btn-area{
		margin: 10px;
		padding-top: 10px;
		padding-bottom: 20px;
	}

	#fc-main_tw div.btn-area a{
		font-size: 4.5vw;
		padding: 10px;
		text-align: left;
	}
	
	#fc-main2_tw p{
		min-height: inherit;
	}
	#fc-main2_tw h3.read {
		font-size: 6vw;
	}
	#fc-main2_tw p {
		padding-left: 0;
		margin-left: 10px;
		margin-right: 10px;
		margin-bottom:40px;
	}

}












