@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* ------------------------------
    reset
------------------------------ */

html,body{
	height: 100%;
}
html{
	font-size: 62.5%;
	overflow-y: scroll;
	overflow-x: hidden;
}
body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form{
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family: 'Noto Sans JP',"メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	text-align: left;
	color: #262626;
}
*{
	box-sizing: border-box;
}
a{
	color:#000;
	text-decoration:none;
}
p.text{
	font-size: 1.6rem;
	line-height: 1.8;
}
img{
	vertical-align: bottom;
}

/* ------------------------------
    base
------------------------------ */

body{
	position: relative;
	min-width: 1000px;
	font-size: 1.0rem;
}
p,table,dl,ol {
	font-size: 1.4rem;
	line-height: 1.8;
}
.fade{
	transition: all 0.3s ease;
	backface-visibility: hidden;
}
.fade:hover{
	opacity: .6;
}
.full-img {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	position: relative;
}
.full-img img {
	display: block;
	position: relative;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	min-width: 1400px;
}
.h-center{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.v-center{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.hv-center{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.left{
	float: left;
}
.right{
	float: right;
}
.center{
	display: block;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.wrap{
	width: calc(940px + 60px);
	padding: 0 30px;
	margin: 0 auto;
	position: relative;
}
.shadow{
	background: #fff;
	box-shadow: 0 0 8px rgba(0,0,0,.17);
}
#overlay {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.5);
}
section {
	position: relative;
}

/* ------------------------------
    contents
------------------------------ */

header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	background: #fff;
	border-bottom: 2px solid #b02724;
}
header .wrap{
	width: 1060px;
}
header .menu_wrap{
	float: left;
	height: 75px;
}
header .logo{
	left: 30px;
	transform: translateY(-40%);
}
header .contact{
	position: absolute;
	right: 30px;
	display: flex;
	align-items: center;
}
header .contact .tel{
	font-size: 1.2rem;
	line-height: 1.6;
}
header .contact .tel strong{
	font-size: 3.0rem;
	line-height: 1;
	margin-left: .1em;
}
header .contact .tel i img{
	vertical-align: middle;
	margin-top: -15px;
	height: 2.5rem;
}
header .contact .btn a{
	display: block;
	background: #04ab1c;
	color: #fff;
	font-size: 1.8rem;
	line-height: 41px;
	width: 175px;
	height: 45px;
	border-radius: 7px;
	text-align: center;
	margin-left: 10px;
	border: 2px solid #04ab1c;
	font-weight: bold;
}
header .contact .btn a:hover{
	background: #fff;
	color: #04ab1c;
	opacity: 1;
}

main {
	padding-top:75px;
}
main h2.title {
	position: relative;
	font-size: 3.3rem;
	line-height: 1;
	margin-bottom: 5rem;
	font-weight: bold;
	padding-left: .5em;
}
main h2.title::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 8px;
	height: 100%;
	background:linear-gradient(to bottom, #d73532 0, #d73532 50%, #b02724 51%, #b02724);
}

main #fv h2 {
	left: 50%;
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: bold;
}
main #fv h2 strong {
	display: block;
	padding-bottom: .4em;
	margin-bottom: .5em;
	border-bottom: 5px solid #b02724;
	font-size: 4.2rem;
	line-height: 1.2;
}

main #sec01 {
	background: #b02724;
	padding: 30px 0;
}
main #sec01 .wrap {
	width: 1060px;
}
main #sec01 ul {
	display: flex;
}
main #sec01 ul li {
	flex: 1;
}
main #sec01 ul li+li {
	margin-left: 30px;
}
main #sec01 ul li h3 {
	background: #262626;
	color: #fff;
	font-size: 2.4rem;
	padding: .4em .7em;
	position: relative;
	white-space: nowrap;
	font-weight: bold;
	display: flex;
	align-items: center;
}
main #sec01 ul li h3 img {
	margin-right: .3em;
}
main #sec01 ul li .text {
	padding: 1em;
	font-weight: bold;
}

main #sec02 {
	padding: 80px 0 40px;
	background: #f3f3f3;
}
main #sec02 ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
main #sec02 ul li {
	width: calc(50% - 20px);
	margin-bottom: 40px;
}
main #sec02 ul li h3 {
	background: url('../img/sec02_photo01.jpg') no-repeat center;
	background-size: cover;
	padding: 50px 0;
	color: #fff;
	text-align: center;
	font-size: 2.4rem;
	line-height: 1.2;
	font-weight: bold;
}
main #sec02 ul li:nth-child(2) h3 {
	background-image: url('../img/sec02_photo02.jpg');
}
main #sec02 ul li:nth-child(3) h3 {
	background-image: url('../img/sec02_photo03.jpg');
}
main #sec02 ul li:nth-child(4) h3 {
	background-image: url('../img/sec02_photo04.jpg');
}
main #sec02 ul li h3 span {
	display: block;
	width: 60%;
	margin: 0 auto .2em;
	border-bottom: 5px solid #fff;
	padding-bottom: .2em;
	font-size: 6.2rem;
	line-height: 1;
}
main #sec02 ul li p {
	line-height: 1.6;
	padding: 1.5em  1.5em  1.5em  2.5em;
	text-indent: -1em;
	font-weight: bold;
}
main #sec02 ul li p:before {
	content: '●';
	color: #b02724;
}
main #sec02 ul li p+p {
	margin-top: -1em;
	padding-top: 0;
}

main #sec03 {
	padding: 80px 0;
}
main #sec03 .shadow {
	background: #f3f3f3;
	padding: 50px 0;
}

main #sec04 {
	padding: 80px 0;
	background: url('../img/sec04_bg.jpg') no-repeat center;
	background-size: cover;
}
main #sec04 .shadow {
	padding: 50px;
}
main #sec04 .box {
	display: flex;
}
main #sec04 ol {
	width: 584px;
}
main #sec04 ol li {
	padding-left: 60px;
	position: relative;
	padding-bottom: 15px;
	background: url('../img/sec04_line.png') no-repeat center top;
	padding-top: 25px;
}
main #sec04 .box01 ol li:first-child {
	background: transparent;
	padding-top: 0;
}
main #sec04 .box02 ol li:last-child {
	padding-bottom: 0;
}
main #sec04 ol li .num {
	position: absolute;
	left: 0;
	top: 25px;
	color: #fff;
	width: 50px;
	height: 50px;
	font-size: 3.0rem;
	line-height: 50px;
	font-weight: bold;
	text-align: center;
	background:linear-gradient(to left bottom, #d73532 0, #d73532 50%, #b02724 51%, #b02724);
}
main #sec04 .box01 ol li:first-child .num {
	top: 0;
}
main #sec04 ol li h3 {
	font-size: 2.0rem;
	line-height: 1;
	font-weight: bold;
	color: #b02724;
	margin-bottom: .4em;
}
main #sec04 ol li .text {
	font-weight: bold;
}
main #sec04 ol li .text span {
	display: inline-block;
	font-size: 1.2rem;
	line-height: 1.8;
	margin-top: .5em;
}
main #sec04 .flow {;
	width: 167px;
	margin-left: 65px;
	background: #f3f3f3;
	color: #dc3d39;
	font-size: 1.8rem;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
	position: relative;
}
main #sec04 .flow span {
	display: block;
	width: 100%;
}
main #sec04 .box01 .flow {
	margin-bottom: 40px;
}
main #sec04 .box01 .flow::after {
	content: '';
	position: absolute;
	bottom: -42px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 46px 110px 0 110px;
	border-color: #f3f3f3 transparent transparent transparent;
}
main #sec04 .box02 .flow {
	background: #ffe9e8;
	margin-top: 8px;
}

main #sec05 {
	padding: 80px 0;
}
main #sec05 .shadow {
	background: #f3f3f3;
	padding: 50px;
}
main #sec05 .pict {
	background: #fff;
	padding: 40px 0;
	margin-top: 40px;
}

main #sec06 {
	padding: 80px 0;
	background: #f3f3f3;
}
main #sec06 .shadow {
	padding: 50px;
}
main #sec06 dl dt {
	font-size: 1.8rem;
	line-height: 1.2;
	font-weight: bold;
	color: #b02724;
	padding-bottom: .6em;
	margin-bottom: .6em;
	border-bottom: 5px solid #c8c8c8;
	display: flex;
	align-items: center;
}
main #sec06 dl dt span {
	color: #fff;
	background: #b02724;
	font-size: 2.0rem;
	line-height: 35px;
	text-align: center;
	width: 38px;
	height: 38px;
	border-radius: 100%;
	margin-right: .5em;
}
main #sec06 dl dd {
	font-size: 1.6rem;
	line-height: 1.8;
}
main #sec06 dl dd+dt {
	margin-top: 40px;
}
main #sec06 dl dd strong {
	display: block;
}

main #sec07 {
	padding: 80px 0;
	background: url('../img/sec07_bg.jpg') no-repeat center;
	background-size: cover;
}
main #sec07 .shadow {
	padding: 50px;
	background: #f3f3f3;
}
main #sec07 ul {
	display: flex;
	background: #fff;
	padding: 40px 0;
}
main #sec07 ul li {
	flex: 1;
	text-align: center;
	padding: 0 30px;
}
main #sec07 ul li+li {
	border-left: 5px solid #c8c8c8;
}
main #sec07 ul li h3 {
	display: table;
	width: 100%;
	text-align: center;
	margin-bottom: 10px;
}
main #sec07 ul li h3 span {
	display: table-cell;
	white-space: nowrap;
	width: 100%;
	color: #fff;
	background: #b02724;
	border-radius: 3px;
	font-size: 1.6rem;
	line-height: 1.1;
	height: 3em;
	vertical-align: middle;
	font-weight: bold;
}
main #sec07 ul li .pict {
	position: relative;
	height: 180px;
}
main #sec07 .text {
	font-size: 2.0rem;
	line-height: 1.4;
	text-align: center;
	margin-top: 30px;
	font-weight: bold;
}
main #sec07 .text strong {
	display: inline-block;
	color: #fff;
	background: #b02724;
	border-radius: 3px;
	padding: 0 .2em;
}

main .contact-lead{
	background: #262626;
}
main .contact-lead .wrap{
	padding-top: 3rem;
	padding-bottom: 3rem;
	display: flex;
	align-items: center;
}
main .contact-lead h2{
	width: 23%;
	color: #fff;
	font-size: 3.0rem;
	line-height: 1;
	font-weight: bold;
}
main .contact-lead .contact{
	width: 77%;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 30px;
}
main .contact-lead .contact .tel{
	font-size: 1.5rem;
	line-height: 1.6;
	text-align: right;
}
main .contact-lead .contact .tel strong{
	font-size: 3.6rem;
	line-height: 1;
	margin-left: .1em;
}
main .contact-lead .contact .tel a,
main .contact-lead .contact .tel a strong{
	pointer-events: none;
}
main .contact-lead .contact .tel img{
	vertical-align: middle;
	margin-top: -18px;
}
main .contact-lead .contact .btn a{
	display: block;
	background: #04ab1c;
	color: #fff;
	font-size: 1.8rem;
	line-height: 56px;
	width: 355px;
	height: 60px;
	border-radius: 7px;
	text-align: center;
	border: 2px solid #04ab1c;
	font-weight: bold;
}
main .contact-lead .contact .btn a:hover{
	background: #fff;
	color: #04ab1c;
	opacity: 1;
}

main #contact {
	background: #f3f3f3;
	padding: 80px 0;
}
main #contact .shadow {
	padding: 50px;
}
main #contact .notes{
	text-align: right;
	margin: 0 0 5px;
}
main #contact .notes span,
main #contact table th span{
	font-size: 1.4rem;
	color: #cc0000;
	margin-left: 10px;
}
main #contact h2.title span {
	padding-left: 1em;
	padding-right: 1em;
}
main #contact form {
	text-align: center;
}
main #contact table {
	width: 100%;
	margin-bottom: 10px;
}
main #contact table th,
main #contact table td {
	font-size: 1.8rem;
	line-height: 1.8;
	padding: .5em 0;
}
main #contact table th {
	width: 192px;
	font-weight: bold;
	white-space: nowrap;
}
main #contact table td {
	padding-left: 30px;
	word-wrap: break-word;
	word-break: break-all;
}
main #contact table td span {
	display: block;
	font-size: 1.4rem;
	line-height: 1.4;
	margin-top: .2em;
}
main #contact input[type=text],
main #contact input[type=email],
main #contact textarea {
	-webkit-appearance: none;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 0;
	background: #fff;
	font-size: 1.6rem;
	line-height: 1.6;
	padding: .5em 1em;
	resize: none;
}
main #contact input[type=text],
main #contact input[type=email] {
	height: 40px;
}
main #contact input[type=radio],
main #contact input[type=checkbox] {
	width: 1.6rem;
	height: 1.6rem;
}
main #contact input#tel1 {
	width: 5em;
}
main #contact input#tel2 {
	width: 7em;
}
main #contact label+label {
	margin-left: 1em;
}
main #contact .text {
	font-size: 1.8rem;
	font-weight: bold;
}
main #contact .btn {
	margin: 30px auto 0;
}
main #contact input[type=submit] {
	-webkit-appearance: none;
	display: block;
	background: #04ab1c;
	color: #fff;
	font-size: 1.8rem;
	line-height: 56px;
	width: 390px;
	height: 60px;
	border-radius: 7px;
	text-align: center;
	border: 2px solid #04ab1c;
	font-weight: bold;
	margin: 0 auto;
}
main #contact input[type=submit]:hover{
	background: #fff;
	color: #04ab1c;
	opacity: 1;
	cursor: pointer;
}
main #contact .confirm_txt{
	margin: 0 0 20px;
}
main #contact .back{
	-webkit-appearance: none;
	display: block;
	width: 160px;
	background: #666;
	color: #fff;
	font-size: 1.4rem;
	cursor: pointer;
	border-radius: 7px;
	text-align: center;
	border: 2px solid #666;
	margin: 20px auto 0;
	padding: 0.5em 0;
}
main #contact .back:hover{
	background: #fff;
	color: #666;
}
.thanks{
	background: #f3f3f3;
}

main #sec08 {
	padding: 80px 0;
}
main #sec08 .shadow {
	padding: 45px;
	background: #f3f3f3;
}
main #sec08 dl dt,
main #sec08 dl dd {
	font-size: 1.8rem;
	line-height: 1.6;
	padding: 5px;
}
main #sec08 dl dt {
	font-weight: bold;
	width: 20%;
	float: left;
	clear: left;
}
main #sec08 dl dd {
	margin-left: 20%;
	word-wrap: break-word;
	word-break: break-all;
}

main .pagetop a{
	display: block;
	background: #232323;
	position: absolute;
	width: 50px;
	height: 50px;
	bottom: 40px;
	right: 0;
}
main .pagetop a::before{
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: 3px;
	margin-top: -3px;
	content: '';
	vertical-align: middle;
	width: 8px;
	height: 8px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	-webkit-transform: rotate(-45deg)translate(-50%,-50%);
	transform: rotate(-45deg)translate(-50%,-50%);
	z-index: 1;
}

footer{
	width: 100%;
	background: #262626;
	padding: 20px 0;
}
footer .wrap{
	width: 1100px;
	margin: 0 auto;
}
footer ul{
	float: right;
	overflow: hidden;
}
footer ul li{
	float: left;
	font-size: 1.2rem;
}
footer ul li+li{
	margin-left: 20px;
	padding-left: 20px;
	border-left: 1px solid #fff;
}
footer ul li a{
	line-height: 1.6;
	color: #fff;
}
footer .copy{
	float: left;
	font-size: 1.2rem;
	line-height: 1.6;
	color: #fff;
}


@media screen and (min-width : 769px){

	.sp{
		display:none!important;
	}

}

@media screen and (max-width : 768px){

	.pc{
		display:none!important;
	}
	body{
		min-width:inherit;
		word-wrap : break-word;
		overflow-wrap : break-word;
	}
	img{
		max-width: 100%;
	}
	p{
		font-size: 3.5vw;
	}
	p.text {
		font-size: 3.5vw;
	}
	.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}

	.full-img img {
		display: block;
		position: static;
		transform: translateX(0);
		width: 100%;
		min-width: inherit;
	}
	.wrap{
		width: 100%;
		padding: 0 3%;
	}

	header{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
		background-color: transparent;
		border-bottom: none;
		padding: 0;
		margin: 0;
		z-index: 999;
	}
	header .wrap{
		width: 100%;
		padding: 0;
	}
	header .menu_wrap{
		float: none;
		width: 100%;
		height: auto;
		position: relative;
		background: #fff;
		z-index: 999;
		box-sizing: border-box;
		border-bottom: 3px solid #b92c28;
		padding: 0;
	}
	header .wrap{
		position: relative;
		min-width: inherit;
		padding: 0;
	}
	header .logo{
		left: 2%;
	}
	header .logo img{
		width: 58%;
	}
	header .confirm{
		height: 68px;
		max-height: 13.8vw;
	}
	header .menu{
		position:relative;
		float: right;
		width: 200px;
		max-width: 40%;
		display: flex;
		z-index:999;
	}
	header .menu li{
		flex: 1;
		border-left:1px solid #FFF;
	}
	header .menu li a{
		display: block;
	}
	header .menu img{
		display: block;
		width: 100%;
	}
	header nav{
		width: 100%;
		padding: 0;
		position: static;
		transform: translateY(0%);
	}
	header .nav_wrap{
		background: rgba(0,0,0,.8);
		top: 0;
		left: 0;
		width: 100%;
		height: auto;
		position: relative;
		display: none;
		margin: 0;
	}
	header nav .gnavi{
		float: none;
		margin: 0;
	}
	header nav .gnavi li{
		display: block;
		float: none;
		font-size: 4vw;
		font-weight: 500;
	}
	header nav .gnavi li+li{
		margin: 0;
		border-top:1px solid #FFF;
	}
	header nav .gnavi li a{
		background: transparent;
		color: #fff;
		display: block;
		padding: 5% 5%;
		position: relative;
	}
	header nav .gnavi a:after {
		 content: "";
		 width: 2vw;
		 height: 2vw;
		 display: inline-block;
		 border-top: .7vw solid #fff;
		 border-right: .7vw solid #fff;
		 position: absolute;
		 top: 40%;
		 right: 5%;
		 -webkit-transform: rotate(45deg);
		 transform: rotate(45deg);
		 -webkit-transition: 0.4s ease-in-out;
		 transition: 0.4s ease-in-out;
	 }

	main{
		padding-top: 0;
	}
	main .spacer{
		height: 68px;
		max-height: 13.8vw;
	}
	main h2.title {
		font-size: 6vw;
		line-height: 1.2;
		margin-bottom: 5%;
		padding-left: .7em;
	}

	main #fv h2 {
		top: 30%;
		left: auto;
		right: 3%;
		font-size: 4vw;
	}
	main #fv h2 strong {
		font-size: 6vw;
	}

	main #sec01 {
		padding: 5% 0;
	}
	main #sec01 .wrap {
		width: 100%;
	}
	main #sec01 ul {
		display: block;
	}
	main #sec01 ul li+li {
		margin-left: 0;
		margin-top: 3%;
	}
	main #sec01 ul li h3 {
		font-size: 4.5vw;
	}
	main #sec01 ul li h3 img {
		height: 8vw;
	}

	main #sec02 {
		padding: 10% 0;
	}
	main #sec02 ul {
		display: block;
	}
	main #sec02 ul li {
		width: 100%;
		margin-bottom: 0;
	}
	main #sec02 ul li+li {
		margin-top: 5%;
	}
	main #sec02 ul li h3 {
		font-size: 5vw;
		padding: 8% 0;
	}
	main #sec02 ul li h3 span {
		font-size: 12vw;
	}

	main #sec03 {
		padding: 10% 0;
	}
	main #sec03 .shadow {
		padding: 5%;
	}
	main #sec03 .shadow img {
		width: 100%;
	}

	main #sec04 {
		padding: 10% 0;
	}
	main #sec04 .shadow {
		background: rgba(255,255,255,.8);
		padding: 8% 5%;
	}
	main #sec04 .box {
		justify-content: space-between;
	}
	main #sec04 ol {
		width: 80%;
	}
	main #sec04 ol li {
		padding-left: 8.5vw;
		padding-bottom: 2.5vw;
		background: url('../img/sec04_line.png') no-repeat center top;
		background-size: contain;
		padding-top: 4vw;
	}
	main #sec04 ol li .num {
		top: 4vw;
		color: #fff;
		width: 7vw;
		height: 7vw;
		font-size: 5vw;
		line-height: 7vw;
	}
	main #sec04 ol li h3 {
		font-size: 4.5vw;
	}
	main #sec04 ol li .text {
		font-weight: bold;
		line-height: 1.6;
	}
	main #sec04 ol li .text span {
		font-size: 3vw;
		line-height: 1.6;
		font-weight: normal;
	}
	main #sec04 .flow {
		width: 15%;
		margin-left: 0;
		-webkit-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-size: 3vw;
		white-space: nowrap;
		text-align: left;
	}
	main #sec04 .flow span {
		width: auto;
	}
	main #sec04 .box01 .flow {
		margin-bottom: 5vw;
	}
	main #sec04 .box01 .flow::after {
		bottom: -4.9vw;
		border-width: 5vw 9.5vw 0 9.5vw;
	}
	main #sec04 .box02 .flow {
		margin-top: 1vw;
	}

	main #sec05 {
		padding: 10% 0;
	}
	main #sec05 .shadow {
		padding: 5%;
	}
	main #sec05 .pict {
		padding: 5%;
		margin-top: 5%;
	}
	main #sec05 .pict img {
		width: 90%;
	}

	main #sec06 {
		padding: 10% 0;
	}
	main #sec06 .shadow {
		padding: 8% 5%;
	}
	main #sec06 dl dt {
		font-size: 4.5vw;
		align-items: flex-start;
		border-bottom: 1vw solid #c8c8c8;
	}
	main #sec06 dl dt span {
		flex-shrink: 0;
		width: 8vw;
		height: 8vw;
		line-height: 7vw;
		font-size: 5vw;
		margin-right: .3em;
	}
	main #sec06 dl dd {
		font-size: 3.5vw;
		line-height: 1.6;
	}
	main #sec06 dl dd strong {
		font-size: 4vw;
		line-height: 1.4;
		margin-bottom: .4em;
	}
	main #sec06 dl dd+dt {
		margin-top: 8%;
	}

	main #sec07 {
		padding: 10% 0;
	}
	main #sec07 .shadow {
		background: rgba(245,245,245,.8);
		padding: 5%;
	}
	main #sec07 ul {
		display: block;
		padding: 8%;
	}
	main #sec07 ul li {
		padding: 0;
	}
	main #sec07 ul li+li {
		border-left: none;
		margin-top: 12%;
	}
	main #sec07 ul li h3 {
		margin-bottom: 8%;
	}
	main #sec07 ul li h3 span {
		font-size: 4vw;
	}
	main #sec07 ul li .pict {
		position: relative;
		height: inherit;
		padding: 0 5%;
	}
	main #sec07 ul li .pict img {
		position: static;
		width: 100%;
		transform: translate(0,0);
	}
	main #sec07 .text {
		margin: 8% 0 5%;
		font-size: 4.5vw;
		white-space: nowrap;
	}

	main .contact-lead .wrap{
		width: 100%;
		padding: 8% 3%;
		display: block;
	}
	main .contact-lead h2{
		width: 100%;
		text-align: center;
		font-size: 5vw;
		margin-bottom: 5%;
	}
	main .contact-lead .contact{
		width: 100%;
		padding: 5%;
		display: block;
	}
	main .contact-lead .contact .tel{
		font-size: 4vw;
		text-align: center;
		margin-bottom: 3%;
	}
	main .contact-lead .contact .tel strong{
		font-size: 9vw;
	}
	main .contact-lead .contact .tel a{
		pointer-events: auto;
	}
	main .contact-lead .contact .tel img{
		height: 7vw;
		margin-top: -5vw;
	}
	main .contact-lead .contact .btn a{
		line-height: calc(15vw - 4px);
		width: 100%;
		height: 15vw;
		font-size: 5vw;
	}

	main #contact {
		padding: 10% 0;
	}
	main #contact .shadow {
		padding: 5%;
	}
	main #contact table {
		margin-bottom: 5%;
	}
	main #contact table th,
	main #contact table td {
		display: block;
		width: 100%;
		font-size: 4vw;
		padding: .5em 0;
	}
	main #contact table th {
		font-size: 4.5vw;
		padding-bottom: 0;
	}
	main #contact table td span {
		font-size: 3.5vw;
		margin-top: .5em;
	}
	main #contact input[type=text],
	main #contact input[type=email],
	main #contact textarea {
		width: 100%;
		height: auto;
		font-size: 4vw;
		padding: .5em;
	}
	main #contact input[type=radio],
	main #contact input[type=checkbox] {
		width: 1.5em;
		height: 1.5em;
		vertical-align: middle;
	}
	main #contact label{
		display: block;
		font-size: 4.5vw;
	}
	main #contact label+label{
		margin-left: 0;
		margin-top: .2em;
	}
	main #contact .text label {
		font-size: 4vw;
	}
	main #contact .btn {
		margin: 5% 0;
	}
	main #contact input[type=submit] {
		font-size: 4.5vw;
		line-height: calc(15vw - 4px);
		width: 100%;
		height: 15vw;
	}
	main #contact .confirm_txt{
		margin: 0 0 3%;
	}
	main #contact .back{
		font-size: 2.4vw;
		width: 100%;
		margin: 0;
	}

	main #sec08 {
		padding: 10% 0;
	}
	main #sec08 .shadow {
		padding: 5%;
	}
	main #sec08 dl dt,
	main #sec08 dl dd {
		font-size: 4vw;
		padding: 2% 0;
	}
	main #sec08 dl dt {
		width: 100%;
		float: none;
		padding-bottom: 0;
	}
	main #sec08 dl dd {
		margin-left: 0;
	}
	main #sec08 dl dd+dt {
		margin-top: 2%;
	}

	main .pagetop a{
		width: 12vw;
		height: 12vw;
		bottom: 20px;
		right: 4%;
	}
	main .pagetop a::before{
		margin-left: 2px;
		margin-top: -2px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}

	footer{
		padding: 0;
	}
	footer .logo{
		background: #fff;
		padding: 6% 30%;
	}
	footer .wrap{
		width: auto;
		padding: 6.25% 0;
	}
	footer ul{
		float: none;
		text-align: center;
		margin: 0 0 6.25%;
	}
	footer ul li{
		display: inline-block;
		float: none;
		font-size: 3.5vw;
	}
	footer ul li+li{
		margin-left: .8em;
		padding-left: .8em;
	}
	footer .copy{
		float: none;
		text-align: center;
		font-size: 2.5vw;
	}


}


.clear{
	clear:both;
}
/* ------------------------------
    clearfix
------------------------------ */

.cf{
  zoom:1;
}
.cf:after{
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;/* 隙間対応 */
  font-size: 0.1em;/* 隙間対応 */
  line-height: 0;/* 隙間対応 */
}

.link_text:hover{
	text-decoration:underline;
}