html, body { height: 100%;}
/*--- menu ---*/
:root{
	--header-height:58px;
	--header-bg:#fff;
}
body{
	padding-top:var(--header-height);
}
@media (max-width: 992px) {
	.main-navigation,
	.genesis-nav-menu,
	#main-header,
	#et-top-navigation,
	.site-header,
	.site-branding,
	.ast-mobile-menu-buttons,
	.storefront-handheld-footer-bar,
	.hide {
        	display: none !important;
	}
}
@media (min-width: 993px) {
	.sp-header{
		display:none !important;
	}
}
/*--- PC menu ---*/
.a0-menu-back{
	max-width:1200px;
	margin:auto;
}
.a0-add-menu-tel{
	font-size:1.6rem;
	font-weight:bold;
	white-space:nowrap;
	color:#F6AF1C;
}
.add-menu-est{
	background: #F6AF1C;
	font-weight: bold;
}
.add-menu-est a, .add-menu-est a:hover, .add-menu-est a:visited{
	color:#fff;
}
/*----- sp menu -----*/
.sp-header{
	position:fixed;
	top:0;
	height:var(--header-height);
	background:var(--header-bg);
	z-index:99999;
	width:100%;
}
.sp-logo-wrap{
	position:relative;
}
.sp-logo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
.sp-navmenu {
	display: block;
	position: fixed;
	top: 0;
	right: -350px;
	bottom: 0;
	width: 350px;
	background: #ffffff;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transition: all .5s;
	z-index: 3;
	opacity: 0;
}
.open .sp-navmenu {
	right: 0;
	opacity: 1;
}
.sp-navmenu .sp-menu-inner {
	padding:var(--header-height) 25px 25px 25px;
}
.sp-navmenu .sp-menu-inner ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.sp-navmenu .sp-menu-inner ul li {
	position: relative;
	margin: 0;
	border-bottom: 1px solid #333;
}
.sp-navmenu .sp-menu-inner ul li a {
	display: block;
	color: #333;
	font-size: 14px;
	padding: 1em;
	text-decoration: none;
	transition-duration: 0.2s;
}
.sp-navmenu .sp-menu-inner ul li a:hover {
	background: #e4e4e4;
}
@media screen and (max-width: 767px) {
	.sp-navmenu {
		right: -300px;
		width: 300px;
	}
}
.sp-menu-toggle {
	display: block;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	width: 30px;
	height: 30px;
	transition: all .5s;
	cursor: pointer;
	z-index: 4;
}
.sp-menu-toggle span {
	display: block;
	position: absolute;
	left: 0;
	width: 30px;
	height: 4px;
	background-color: #333;
	border-radius: 4px;
	transition: all .5s;
}
.sp-menu-toggle span:nth-child(1) {
	top: 4px;
}
.sp-menu-toggle span:nth-child(2) {
	top: 13px;
}
.sp-menu-toggle span:nth-child(3) {
	bottom: 4px;
}
.open .sp-menu-toggle span {
	background-color: #000;
}
.open .sp-menu-toggle span:nth-child(1) {
	-webkit-transform: translateY(10px) rotate(-315deg);
	transform: translateY(9px) rotate(-315deg);
}
.open .sp-menu-toggle span:nth-child(2) {
	opacity: 0;
}
.open .sp-menu-toggle span:nth-child(3) {
	-webkit-transform: translateY(-10px) rotate(315deg);
	transform: translateY(-9px) rotate(315deg);
}
.sp-menu-mask {
	display: none;
	transition: all .5s;
}
.open .sp-menu-mask {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
	opacity: .8;
	z-index: 2;
	cursor: pointer;
}


h4{
	font-size:3rem;
	font-style:italic;
	font-family:unset;
	font-weight:bold;
	text-align:center;
}

.al-center{
	text-align:center;
}
.a0-top{
	position:relative;
}
.a0-top img{
	width:100%;
	margin-top:0px;
}
@media(min-width:1024px){
	.a0-top img{
		width:100%;
		/*margin-top:60px;*/
	}
}
.a0-top-button-wrap{
	background:url('../images/a0/a0-top-sub-bg.jpg');
	background-size:cover;
	padding:50px 0;
}
.a0-top-button-wrap p{
	color:#fff;
	font-weight:bold;
	font-size:1.4rem;
}
.a0-top-pc{display:none;}
.a0-top-sp{display:block;}

@media(min-width:768px){
	.a0-top-pc{display:block;}
	.a0-top-sp{display:none;}
}
.a0-top-button{
	position:static;
	padding:20px;
	color:#fff;
	font-size:1.2em;
	font-weight:bold;
	width:300px;
	margin:30px auto;
}
@media(min-width:768px){
	.a0-top-button{
		position:absolute;
		bottom:2%;
		left: 50%;
		transform: translateX(-50%);
	}
}
.a0-top-button:visited{
	color:#fff;
}
/*--- label ---*/
.a0-label-wrap{
	position:relative;
}
.a0-label-b{
	position:absolute;
	top:-1rem;
	left: 50%;
	transform: translateX(-50%);
	background:#7BB5D5;
	padding: 5px 20px;
	border-radius: 15px;
	color: #fff;
	font-weight:bold;
	font-size:1.2rem;
	text-align:center;
	white-space:nowrap;
}
.a0-label-y{
	position:absolute;
	top:-2rem;
	left: 50%;
	transform: translateX(-50%);
	background:#F6AF1C;
	padding: 5px 20px;
	border-radius: 15px;
	color: #fff;
	font-weight:bold;
	font-size:1.2rem;
	white-space:nowrap;
	text-align:calc
}
@media(min-width:768px){
	.a0-label-y{
		top:-1rem;
	}
}

/*--- a0 desc 01 ---*/
.a0-top-desc1-wrap{
	background:#EFEFEF;
	padding:30px 0;
}
.a0-top-desc-h{
	font-size:2.4rem;
	padding:30px 0 20px 0;
}
.a0-desc-image{
	text-align:right;
	margin:auto;
}
.a0-desc-image img{
	width:150px;
}
.a0-desc-check img{
	width:25px;
}
.a0-desc-tx{
	display:block;
	font-size:1rem;
	font-weight:bold;
}
.a0-desc-ex{
	font-size: 0.8rem;
	font-weight: bold;
}
@media(min-width:768px){
	.a0-desc-tx{
		font-size:2rem;
	}
	.a0-desc-ex{
		font-size:1.3rem;
	}
}
.a0-desc-red-back{
	background:#CE111A;
}
.a0-desc-box{
	padding-left:10px;
}
.a0-desc-box-wrap{
	display:flex;
	padding:10px 0;
}
.a0-desc-bg1{
	background:url('../images/a0/a0-desc-01-bg.jpg');
	background-size:cover;
	background-position:center;
}


.a0-subtitle{
	padding:30px 0 10px 0;
	font-size:2rem;
	text-align:center;
	font-weight:bold;
	color:#fff;
	line-height:1.6;
}

/*--- a0-desc-02 ---*/
#a0-desc-02{
	background-color: #ffffff;
    background-image: radial-gradient(circle, #f3f3f3 2px, transparent 2px);
    background-position: 0 0;
    background-size: 9px 9px;
	padding-bottom:70px;
}
.a0-desc-02-wrap{
	border:1px #F6AF1C solid;
	display:flex;
	margin-bottom:30px;
}
.a0-desc-02-inner{
	padding:0 10px 20px 0;
}
.a0-desc-02-pc{
	display:none;
	width: 80%;
    margin: 0 auto 30px auto;
}
.a0-desc-02-sp{
	display:block;
	width: 80%;
    margin: 0 auto 30px auto;
}
@media(min-width:768px){
	.a0-desc-02-pc{display:block;}
	.a0-desc-02-sp{display:none;}
}


.a0-desc-02-num{
	font-style:italic;
	font-size:3rem;
	color:#F6AF1C;
	padding:10px 20px;
}
.a0-desc-02-head{
	font-style:italic;
	font-size:3rem;
	font-weight:bold;
	padding: 10px 0 15px 0;
	line-height: 1.2em;
}
.a0-desc-02-en1{
	font-size:3rem;
	color:#F6AF1C;
}
.a0-desc-02-shead{
	font-weight:bold;
	font-size:1.3rem;
}
.a0-desc-02-en2{
	color:#F6AF1C;
}
.a0-desc-02-text{
	padding-top:15px;
}

/*--- a0-work ---*/

#a0-work{
	background-color:#CE111A;
	clip-path: polygon(0 50px, 100% 0, 100% calc(100% - 50px), 0 100%);
	padding:70px 0;
	margin:-70px 0;
}
.a0-work-head{
	color:#fff;
	padding-bottom:15px;
}
.a0-work-head h3{
	text-align:center;
}
.a0-work-panel-wrap{
	padding-bottom:20px;
}
.a0-work-panel{
	position:relative;
}
.a0-work-panel img{
	width:100%;
}
.a0-work-panel span{
	position:absolute;
	bottom:5px;
	left:5px;
	color:#fff;
	font-weight:bold;
	font-size:1.4rem;
	font-style:italic;
}
.a0-work-panel-num{
    font-size: 1.1rem;
	color:#fff;
    transform: scale(1, 1.4);
    white-space: nowrap;
    margin: auto;
	padding:10px 0 0 5px;
}
.a0-work-panel-num span{
	color:yellow;
}
.a0-work-panel-sub{
	color:#fff;
	font-size:0.8rem;
	display:block;
	line-height:1rem;
	padding-top:10px;
}
@media(min-width:768px){
	.a0-work-panel span{
		font-size:2rem;
	}
	.a0-work-panel-num{
		font-size:1.6rem;
		padding:5px 0 0 5px;
	}
	.a0-work-panel-sub{
		color:#fff;
		font-size:1rem;
	}
}
#top-work{
	background:url('../images/top-const-bg.jpg');
	background-size:cover;
}
.top-work-innner{
	background:#fff;
	padding:10px;
	margin-bottom:20px;
}

.top-work-link, .top-work-link:visited{
	color:#000;
}
.top-work-link:hover{
	color:#A5A5A5;
}
.top-work-link img:hover{
	opacity:0.8;
}
.top-wor-panel-title{
	font-size:1.6rem;
	line-height:1em;
	transform: scale(1, 1.4);
    white-space: nowrap;
    margin: auto;
}
/*--- a0-service ---*/
#a0-service{
	background:#F3F5F7;
	padding-top:70px;
}
#a0-service h5 {
	position: relative;
	padding: 0.5rem 0;
	border-bottom: 1px solid;
	border-width;30%;
	font-weight: bold;
	font-size:2rem;
	text-align:center;
	width: 90%;
	margin: 30px auto 50px auto;
}
@media(min-width:576px){
	#a0-service h5 {
		width: 80%;
	}
}
@media(min-width:768px){
	#a0-service h5 {
		width: 40%;
	}
}
#a0-service h5:before,
#a0-service h5:after {
	position: absolute;
	top: 100%;
	left: 50%;
	content: "";
	height: 0;
	width: 0;
}
#a0-service h5:before {
	border: 10px solid;
	border-color: transparent;
	border-top-color: black;
	margin-left: -10px;
}
.a0-service-mid-01{
	background:#fff;
	padding:20px;
}
.a0-service-mid-01 img {
	width:100%;
}
.a0-service-mid-01 p{
	color:#6F6E6F;
}
.a0-service-sp{
	padding-bottom:20px;
}
.a0-service-mr{
	margin-top:20px;
	display:flex;
	flex-direction:column;
}
.a0-service-panel{
	background:#fff;
	padding:15px 10px;
	flex-grow:1;
}
.a0-service-panel h6{
	text-align:center;
}
.a0-service-panel p{
	font-size:0.8rem;
	color:#6F6E6F;
}
.a0-service-top-sub{
	padding:50px 0 25px 0;
	margin-bottom:30px;
	background:#fff;
}
.a0-service-pd{
	margin-bottom:20px;
}
.a0-service-foot-wrap{
	background:#fff;
	margin-top:10px;
	padding:20px;
}
.a0-service-foot{
	border:1px solid #000;
	text-align:center;
	padding:30px 10px;
}
/*--- flow　---*/
.a0-flow-bg{
	background:url('../images/footer-desc-bg2.jpg');
	background-size:cover;
}
.a0-flow-bl-wrap{
	margin:0 0 0 20%; 
}
.a0-flow-bl {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 7px 5px;
	min-width: 100px;
	max-width: 100%;
	color: #BF192A;
	font-size: 16px;
	background: #fff;
	border-radius: 30px;
	text-align:center;
	font-weight:bold;
}

.a0-flow-bl:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #fff;
}

.a0-flow-bl p {
	margin: 0;
	padding: 0;
}
.a0-flexbox5{
	display:flex;
	justify-content: center;
    align-items: stretch;
}
.a0-flexitem5{
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	width:40px;
	width:calc(100% / 6);
	background: rgb(230,0,18);
background: linear-gradient(180deg, rgba(230,0,18,1) 0%, rgba(193,21,24,1) 50%, rgba(150,10,16,1) 100%);
	border:#fff 3px solid;
	min-height:100px;
	margin:5px;
	color:#fff;
	font-weight:bold;
	font-size:1rem:
	-ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	padding:10px 0;
}
@media(min-width:768px){
	.a0-flexitem5{
		-ms-writing-mode: unset;
		writing-mode: unset;
	}
}

/*--- contact form ---*/
.a0-tel-wrap{
	width:100%;
	margin:auto;
	border:5px #E8ECEE solid;
	padding:20px;
	text-align:center;
	font-weight:bold;
}
@media(min-width:768px){
	.a0-tel-wrap{
		width:55%;
		text-align:left;
	}
}
.a0-tel-wrap p{
}
.a0-tel-wrap span{
	font-size:0.8rem;
}
#a0-contact{
	background:#E8ECEE;
}
.a0-contact-tx{
	font-size:0.8rem;
	width:100%;
	margin:auto;
	background:#fff;
	border:1px #231815 solid;
	padding:20px;
}
@media(min-width:768px){
	.a0-contact-tx{
		width:55%;
	}
}
.a0-tel-ac{
	color:#F6AF1C;
	font-size:2.6rem;
}
.a0-tel-ac:visited, .a0-tel-ac:hover{
	color:#F6AF1C;
}

.wpcf7-form .req {
	background-color: #BF192A;
	color: white;
	padding: 2px 5px;
	border-radius: 3px;
	margin-left: 10px;
	font-size: 0.8rem;
	white-space:nowrap;
}
.a0form tr{
	border-bottom:1px #231815 dotted;
}
.a0form td{
	padding:15px 0;
}
/*--- a0-company ---*/
.a0-company-table tr{
	border-bottom:1px #000 dotted;
}
.a0-company-table td, .a0-company-table th{
	padding:20px 0 20px 10px;
}
/*--- a0-footer---*/
#a0-footer{
	background:#CE111A;
	color:#fff;
	padding-bottom:20px;
}
@media(min-width:992px){
	#a0-footer{
		padding-bottom:0;
	}
}
#a0-footer a{
	color:#fff;
}
.sticky-footer{
	display:flex;
	position:sticky;
	bottom:0;
	height:80px;
	background:#CE111A;
}
@media(min-width:992px){
	.sticky-footer{
		display:none;
	}
}
.sticky-footer-tel,
.sticky-footer-mail{
	width:50%;
}
.sticky-footer-tel{
	border-right:1px solid #fff;
}