@charset "utf-8";
/* CSS Document */

body *, body ::before, body ::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.footer a:hover {
opacity: 0.5;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;

}

.link-postion {
	position: absolute; 
	bottom: 0; 
	right: 30px;
}
.link-postion02 {
	bottom: 0; 
	right: 30px;
}

ul.inline li {
	display: inline;
}

.tx-right {
	text-align: right;
}

.bg-black {
	background: #000;
}

.toppostion01 {
	position: relative;
	top: -4vw;
}

.bg-red h2 {
	text-align: center;
	padding: 10px;
}
.copryright-bg {
	background: #f5efd7;
	padding: 20px;
}

.secparts {
	padding: 20px 15px 30px 15px;
	border: 3px solid #c0272d;
	background: #fff;
}
.sec01-bg {
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 5.5vw 0 16vw;
	background: #000;
	z-index: -2;
}
.sec01-bg:before {
	content: '';
  position: absolute;
  top: 0;
  left: -50px;
  width: 150%;
  height: 72%;
  margin: 3% -10% 0;
  background: #151515;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-8deg);
  -ms-transform: rotate(-8deg);
  transform: rotate(-8deg);
  z-index: -1;
  margin-top: 16%;
}
.sec02-bg {
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 8.5vw 0 0;
	background: #000;
	z-index: 5;
}
.sec02-bg:before {
	content: '';
  position: absolute;
  top: 0;
  left: -50px;
  width: 150%;
  height: 33%;
  margin: 3% -10% 0;
  background: #151515;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-8deg);
  -ms-transform: rotate(-8deg);
  transform: rotate(-8deg);
  z-index: -1;
  margin-top: 16%;
}
.sec03-bg {
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 7.5vw 0 3.5vw;
	background: #000;
	z-index: 6;
}
.sec03-bg:before {
	content: '';
  position: absolute;
  top: 0;
  left: -50px;
  width: 150%;
  height: 49%;
  margin: 3% -10% 0;
  background: #151515;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-8deg);
  -ms-transform: rotate(-8deg);
  transform: rotate(-8deg);
  z-index: -1;
  margin-top: 16%;
}


.logo {
	margin-right: auto;
	margin-top: 15px;
	margin-left: 15px;
	margin-bottom: 15px;
}

.ctn {
	margin-top: 15px;
	margin-right: 15px;
}
.contact {
	position: relative;
}
.contact .ct-btn img {
	position: absolute;
	bottom: 14%;
	left: 14%;
}
.bg-sec01 {
	background: url(../images/sec01-bg.gif) center center;
	background-size: cover;
}
.sectitle img {
	max-width: 100%;
}

.flex, .flex02 {
	display: flex;
	justify-content: center;
}
.flex03 {
	display: flex;
}
.flex03 .btn-first {
	margin-right: auto;
}
.bg-sec02 {
	background: #000;
	padding-bottom: 0;
}
.bg-sec03 {
	background: #624527;
}
.bg-sec03 p {
	font-family: 'Sawarabi Gothic', sans-serif;
	font-size: 23px;
	color: #fff;
	text-align: center;
	line-height: 1.8em;
}

a {
	text-decoration: none;
}
.ct-btn a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.container {
	overflow: hidden;
}
.bg-sec03 a {
	color: #fff;
}

.bg-sec03 a:hover {
	text-decoration: underline;
	color: #fff;
}

.copyright {
	color: #000;
	font-size: 13px;
	text-align: center;
	padding: 5px;
}

.center {
	text-align: center;
}
.pc85 {
	width: 85%;
	margin: auto;
}
.pc85 img {
	max-width: 100%;
}


/*header*/
.hdparts {
	display: flex;
	margin: 0 auto;
}

.logo p {
	font-size: 13px;
	margin-top: 5px;
}


/*main*/

main h1 img {
	max-width:100%;
}
main .main-img {
	background: url(../images/main-bg.jpg) top center;
	background-repeat: no-repeat;
}

.pt100 {
	padding-top: 100px;
}
.pt50 {
	padding-top: 50px !important;
}
.pb40 {
	padding-bottom: 40px;
}
.pb70 {
	padding-bottom: 70px;
}
.pb80 {
	padding-bottom: 80px;
}
.pb100 {
	padding-bottom: 100px;
}
.mt100 {
	margin-top: 100px !important;
}
.mt60 {
	margin-top: 60px !important;
}
.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.mt40 {
	margin-top: 40px;
}
.mt50 {
	margin-top: 50px;
}
.mt60 {
	margin-top: 60px;
}
.mt70 {
	margin-top: 70px;
}
.pb120 {
	padding-bottom: 120px;
}
.mr10 {
	margin-right: 10px;
}
.mr20 {
	margin-right: 20px;
}
.mr25 {
	margin-right: 25px;
}
.mr30 {
	margin-right: 30px;
}
.ml10 {
	margin-left: 10px;
}
.mr15 {
	margin-right: 15px;
}
.ml15 {
	margin-left: 15px;
}
.ml25 {
	margin-left: 25px;
}
.pc-area100 a {
	width: 50%;
}
.mb60 {
	margin-bottom: 60px;
}


@media (max-width:999px){
	.contact .ct-btn img {
		width: 73%;
	}
	.logo {
		margin-top: 15px;
		margin-left: 10px;
	}
	.logo img,footer img,.ctn img,.bg-red img {
		max-width: 100%;
	}
	.ctn {
		text-align: right;
	}
	.bg-sec01 {
		background: none;
	}
	.pd-area {
		padding-left: 15px;
		padding-right: 15px;
	}

	

	.col2 {
		flex: 2;
	}
	.right-cont {
		flex: 2;
	}

	main .main-img div {
		width: 100%;
		height: 100%;
	}

	main h1 {
		width: 100% !important;
		}
	.pc-area img {
		max-width:100%;
	}
	.pc-area {
		width:100%;	
	}
	section,.q-area,section.bg-sec02 {
		padding-left: 15px;
		padding-right: 15px;
	}
	section.bg-sec01 {
		padding-left: 0;
		padding-right: 0;
	}
	.sp-w50 {
		width: 50%;
	}
	section.bg-sec03 {
		padding-left: 0;
		padding-right: 0;
	}
	.bg-sec02 img,.bg-sec03 img {
		max-width: 100%;
	}

}


@media (min-width:1000px){
	.pc-area,.q-area {
		width:1000px;
		margin: auto;
	}
	.pc-area100 {
		width: 100%;
	}
}
@media (min-width:768px) {
	.pc-hidden {
		display: none;
	}
	.btn-mr15 {
		margin-right: 15px;
	}
	.btn-ml15 {
		margin-left: 15px;
	}
	.pc-hidden {
		display: none;
	}
	main h1 {
		margin: 0 auto;
		width: 1000px;
	}
	.contact-sidemenu {
		position: fixed;
		top: 165px;
		right: 0;
		z-index: 10;
		width: 74px;
	}
	.contact-sidemenu > .sidemenu-list > .webform > a:hover {
		background-color: #d3321e;
		text-decoration: none;
	}
	.contact-sidemenu > .sidemenu-list > .webform > a {
		-webkit-display: flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		width: 100%;
		height: 340px;
		padding-top: 74px;
		background: #e63721 url("../images/reform_cmn_ic02.png") no-repeat 50% 21px;
			background-color: rgb(230, 55, 33);
		border-radius: 3px 0 0 3px;
		color: #fff;
		font-size: 22px;
		font-weight: bold;
		text-align: center;
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}
	.contact-sidemenu > .sidemenu-list > .webform > a::after {
		content: "";
		display: inline-block;
		width: 13px;
		height: 11px;
		margin-top: 9px;
		background: url("../images/reform_cmn_ic01.png") no-repeat 0 0;
	}
	.contact-sidemenu > .sidemenu-list > .tel {
		display: none;
	}
}

@media (max-width:767px) {
	.w85 {
		width: 85%;
		margin: 0 auto;
	}
	.w70 {
		width: 70%;
		margin: 0 auto;
	}
	.w60 {
		width: 60%;
		margin: 0 auto;
	}
	.mt100 {
		margin-top: 12vw !important;
	}
	.mt50 {
		margin-top: 6vw !important;
	}
	.mt60 {
		margin-top: 7vw !important;
	}
	.mt70 {
		margin-top: 7.5vw !important;
	}
	.mt30 {
		margin-top: 3vw !important;
	}
	.mb60 {
		margin-bottom: 7vw !important;
	}
	.pb70 {
		padding-bottom: 5.5vw !important;
	}
	.pb80 {
		padding-bottom: 6vw !important;
	}
	.pb100 {
		padding-bottom: 8vw !important;
	}
	.pb120 {
		padding-bottom: 9vw !important;
	}
	.pt50 {
		padding-top: 5vw !important;
	}
	.bg-sec03 p {
		font-size: 15px;
	}
	.secparts {
		padding-bottom: 3vw;
	}
	.pt100 {
		padding-top: 7vw;
	}
	.flex,.flex03 {
		display: block;
	}
	.spmb25 {
		margin-bottom: 3vw;
	}
	.spmb40 {
		margin-bottom: 4vw;
	}
	.spmt100 {
		margin-top: 12vw
	}
	.spmr25 {
		margin-right: 4vw;
	}
	.link-postion {
		position: static;
		width: 22%;
		margin-top: 10px;
	}
	.link-postion02 {
		position: static;
		width: 22%;
		margin-top: 10px;
	}
	.sp-center {
		text-align: center;
	}
	.spfl {
		float: left;
	}
	.spfr {
		float: right;
		margin-right: 0;
	}
	.sp-hidden {
		display: none;
	}
	.flex04 {
		display: flex;
		justify-content: center;
	}
	.spml0 {
		margin-left: 0;
	}
	.bg-black,.bg-sec02 {
		padding-bottom: 6vw;
	}
	.sec01-bg:before,.sec02-bg:before,.sec03-bg:before {
		margin-top: 18%;
	}
	.sec03-bg:before {
		height: 24%;
	}
	.sec03-bg {
		padding-bottom: 6.5vw;
	}
	.copryright-bg {
		padding: 3vw;
	}
	.spw40 {
		width: 35%;
	}
	.spw28 {
		width: 23%;
	}
	main .main-img {
		background: none;
		line-height: 0;
	}
	.contact-sidemenu {
		position: fixed;
		bottom: 0;
		z-index: 10;
		width: 100%;
		height: 60px;
	}
	.contact-sidemenu > .sidemenu-list {
		-webkit-display: flex;
		display: flex;
		width: 100%;
		height: 100%;
		padding: 2.5px;
		background: #e63721;
	}
	.contact-sidemenu > .sidemenu-list > li {
		width: 50%;
	}
	.contact-sidemenu > .sidemenu-list > .webform > a, .contact-sidemenu > .sidemenu-list > .tel > a {
		font-size: 16px;
	}
	.sp-hidden {
		display: none !important;
	}
	.contact-sidemenu > .sidemenu-list > .webform > a {
		display: block;
		width: 100%;
		height: 100%;
		padding: 10px 5px 0 50px;
		background: url("../images/reform_cmn_ic02-r2x.png") no-repeat 10px 50%;
			background-size: auto;
		background-size: 33px 33px;
		line-height: 1.2;
		color: #fff;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
		outline: none;
		font-size: 4.2vw;
	}
	.contact-sidemenu > .sidemenu-list > .tel > a {
		display: block;
		width: 100%;
		height: 100%;
		padding: 10px 3px 0 45px;
		line-height: 1.2;
		background: #fff url("../images/reform_cmn_ic03-r2x.png") no-repeat 10px 50%;
			background-size: auto;
		background-size: 33px 33px;
		color: #e63721;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
		outline: none;
		font-size: 4.2vw;
	}
}

@media (min-width:481px){
	.logo {
		padding-right: 15px;
	}

}

@media (max-width:480px) {
	.flex {
		flex-direction: column;
	}
	.flex02 {
		flex-direction: column-reverse;
	}
	.xsmr0 {
		margin-right: 0 !important;
	}
	.hdparts {
		display: block;
	}
	.ctn {
		margin-left: 15px;
		text-align: center;
		margin-top: 10px;
		margin-bottom: 15px;
	}
	.logo {
		margin-left: 15px;
		margin-right: 15px;
		text-align: center;
	}
	.logo img, .ctn img {
		max-width: 70%;
	}

}
	

	