@charset "UTF-8";

.wrap{
	position: relative;
}
.wrap:after {
	content:"";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: url(../images/top/bg.jpg) center no-repeat;
	background-size: cover;
	z-index:-1;
}
.contents_wrap {
	position: relative;
	z-index:2;
}
.main_wrap {
	position:relative;
	width:100%;
	height:350px;
    background: url(../images/request/main.jpg) center center/cover no-repeat;
}
@media screen and (max-width: 900px) {
	.main_wrap {
		height:250px;
	}
}
@media screen and (max-width: 767px) {
	.main_wrap {
		height:400px;
	}	
}
@media screen and (max-width: 480px) {
	.main_wrap {
		height:230px;
	}	
}

.h_logo {
	height:100px;
	width:100%;
	position:fixed;
	z-index:9999;
	transition:all 0.5s ease-in-out 0s;
}
.scrolled .h_logo {
	background:rgba(0,0,0,0.8);
}
.h_logo h3 {
	position:absolute;
	top:10px;
	left:30px;
	line-height:0;
	font-size:0;
}
@media screen and (max-width: 900px) {
	.h_logo {
		height:60px;
	}
	.h_logo h3 {
		width:40px;
		top:5px;
		left:20px;
	}
}

.form {
	padding:50px 0 100px;
	font-size:16px;
	letter-spacing:0.1em;
}
.tx20 {
	font-size:20px;
	letter-spacing:0.1em;
	color:#25948f;
}
.tx18 {
	font-size:18px;
	letter-spacing:0.2em;
}
@media screen and (max-width: 767px) {
	.form {
		padding:30px 0 50px;
		letter-spacing:0em;
	}
	.tx20 {
		font-size:18px;
	}
	.tx18 {
		font-size:16px;
	}
}
.form h3 {
	padding:0 20px;
	text-align:center;
	font-size:34px;
	letter-spacing:0.2em;
	color:#37bfba;
	margin:0 0 30px;
}
@media screen and (max-width: 767px) {
	.form h3 {
		font-size:26px;
		margin:0 0 20px;
	}
}

.sec_inner {
	max-width:1200px;
	margin:0 auto;
	box-sizing:content-box;
	padding:0 20px;
}

.step{
  list-style-type: none;
  display:table;
  width:100%;
  padding:0;
  margin:0;
  overflow:hidden;
  font-size:18px;
}
.step li{
  display:table-cell;
  position:relative;
  background: #ebeef5;
  padding:0.5em;
  color:#440005;
	text-align:center;
	letter-spacing:0.2em;
}
.step li:last-child{
  padding-right: 1em;
}
.step li:last-child:before,
.step li:last-child:after{
  display:none;
}
.step li:before,
.step li:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  margin: auto;
}
.step li:before{
  top:-15px;
  right:-1em;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 40px 0 40px 1em;
  z-index: 10;
}
.step li:after{
  top:-15px;
  right:-.8em;
  border-style: solid;
  border-color: transparent transparent transparent #ebeef5;
  border-width: 40px 0 40px 1em;
  z-index: 10;
}
.step li.is-current{
  background: #99e0dd;
  font-weight: bold;
}
.step li.is-current:after{
  border-color: transparent transparent transparent #99e0dd;
}
@media screen and (max-width: 900px) {
	.step li{
	  padding: 1em 1.0em 1em 1.5em;
	  font-size:14px;
	}
	
	.step li:last-child{
		padding-right: 0.5em;
	}
}
@media screen and (max-width: 520px) {
	.step li{
	  padding: 1em 0.2em 1em 1.5em;
	  font-size:12px;
	}
}

.form dl {
	width:100%;
	display:flex;
	justify-content: space-between;
	padding:0 0 1px;
	position:relative;
}
.form dl:after {
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	height:1px;
	background:#dcdcdc;
}
.form dl dt {
	width:280px;
	padding:25px 60px 20px 20px;
	box-sizing:border-box;
	font-weight:bold;
	position:relative;
	background:#c7f5f4;
	line-height:1.4;
}
.form dl dt.req:after {
	content:"必須";
	position:absolute;
	right:20px;
	top:25px;
	background:#ff0000;
	color:#fff;
	text-align:center;
	padding:0px 5px;
	letter-spacing:0.2em;
}
.form dl dd {
	width:calc(100% - 280px);
	padding:20px;
	box-sizing:border-box;
}
.form .zip_col {
	display:flex;
	justify-content: start;
	align-items: center;
	flex-wrap: wrap;
}
.form .zip_col li:nth-child(1) {
	width:270px;
	margin:0 10px 0 0;
}
.form .zip_col li:nth-child(2) {

	width:calc(100% - 280px);
	font-size:12px;
	line-height:1.4;
	margin:0 0 0 0;
}
@media (max-width: 767px) {
	.form .zip_col li:nth-child(2) {
		width:100%;
		margin:10px 0 0 0;
	}	
}
.form textarea {
	/*padding:10px;
	width:100%;
	box-sizing:border-box;
	max-width:800px;
	border-radius:0.5em;*/
	padding:8px 10px;
	border:1px solid #aaa;
	border-radius:0.5em;
	font-size:14px;
	max-width:800px;
	
	
}
.form input[type="text"], .form input[type="email"] {
	padding:8px 10px;
	border:1px solid #aaa;
	border-radius:0.5em;
	font-size:14px;
	max-width:100%;
}
.form select {
	padding:8px;
	font-size:14px;
	border-radius:0.5em;
	border:1px solid #aaa;
}
.form .long {
	width:100%;
	max-width:800px !important;
}
.form .long2 {
	width:100%;
	max-width:600px !important;
}
.form .addr {
	display:flex;
	justify-content: start;
	align-items: stretch;
}
.form .addr li:nth-child(1) {
	padding:5px 0 0 0;
	width:160px;
}
.form .addr li:nth-child(2) {
	width:calc(100% - 160px);
}

.form .input_ja {
	ime-mode: active;
}
.form .input_alpnum {
	ime-mode: inactive;
}
.form .input_only_alpnum {
	ime-mode: disabled;
}
.form .f_cap {
	font-size:12px;
	display:block;
	color:#ffff00;
}
.form .zip_btn {
	border:1px solid #aaaaaa;
	padding:5px 10px;
	letter-spacing:0.2em;
	cursor:pointer;
}
small#error {
	color:#ff0000;
	display:block;
}
.form .mult {
	display:flex;
	justify-content: start;
	align-items: center;
	flex-wrap: wrap;
	margin:0 0 -10px;
}
.form .mult li {
	margin:0 10px 10px 0;
}

.form .txy {
	color:#000;
}

.form .privacy {
	width:100%;
	height: 250px;
	padding: 20px 20px;
	overflow-y: auto;
	box-sizing:border-box;	
	background:#fff;
	font-size:14px;
}
.form .privacy h3 {
	font-size:1.7em;
	color:#009bb2;
	margin-bottom:0px;
	text-align:left;
	padding:0;
}
.form .privacy h4 {
	font-size:1.4em;
	position:relative;
	color:#009bb2;
}
.form .privacy h4:after {
	content:"";
	position:absolute;
	top:50%;
	right:0;
	width:100%;
	height:1px;
	background:#009bb2;
}
.form .privacy h4 span {
	position:relative;
	z-index:2;
	background:#fff;
	padding:0 20px 0 0;
}

.form .btn_col {
	max-width:360px;
	margin:0 auto;
	display:flex;
	justify-content: center;
}
.form .btn_col li:nth-child(2) {
	margin:0 0 0 20px;
}
.form .btn {
	width:150px;
	background:#000;
	border:1px solid #000;
	color:#fff;
	text-align:center;
	padding:10px;
	box-sizing:border-box;
	cursor:pointer;
	transition: all 0.3s ease-in-out 0s;
	font-size:14px;
	letter-spacing:0.2em;
}
.form .btn2 {
	width:100%;	
}
.form .btn:hover {
	background:#fff;
	color:#000;
}


@media (max-width: 880px) {

	.form dl {
		display:block;
	}
	.form dl dt {
		width:100%;
		padding:20px 60px 20px 20px;
	}
	.form dl dt.req:after {
		top:20px;
	}
	.form dl dd {
		width:100%;
	}
	
}

@media (max-width: 767px) {

	.form {
		font-size:14px;
	}

	.form .addr {
		display:block;
		margin:0 0 10px;
	}
	.form .addr li:nth-child(1) {
		width:100%;
	}
	.form .addr li:nth-child(2) {
		width:100%;
	}

	.form .privacy h3 {
		font-size:1.3em;
		letter-spacing:0em;
	}
	.form .privacy h4 {
		font-size:1.1em;
	}
}

.top_link {
	display:block;
	max-width:170px;
	margin:0 auto;
	background:#000;
	border:1px solid #000;
	color:#fff;
	text-align:center;
	padding:10px;
	box-sizing:border-box;
	cursor:pointer;
	transition: all 0.3s ease-in-out 0s;
	font-size:14px;
	letter-spacing:0.2em;
}

.top_link:hover {
	background:#fff;
	color:#000;
}

.form .privacy h4 {
	margin-bottom: 5px;
}
.form .privacy h4.ttl-line span {
	padding-left: 0;
}
.form .privacy p {
	margin-bottom: 1em;
}
.form .privacy a {
	color: #bfb386;
	text-decoration: underline;
	word-break: break-all;
}
.form .privacy > ul {
	margin-bottom: 1em;
}
.form .privacy ul li,
.form .privacy dl dd {
	width: 100%;
	margin-bottom: 0.3em;
	padding: 0;
	border-bottom: none;
}
.form .privacy .privacy-list01 > li,
.form .privacy .privacy-list01 > dd {
	padding-left: 1em;
	text-indent: -1em;
}
.form .privacy .privacy-list02 > li,
.form .privacy .privacy-list02 > dd {
	padding-left: 1.5em;
	text-indent: -1.5em;
}
.form .privacy dl {
    display: block;
    padding: 0;
}
.form .privacy dl:after {
	display: none;
}
.form .privacy dl dt {
    width: auto;
    padding: 0;
    background: none;
}
.form .privacy dl dt:not(:first-of-type) {
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	.form .privacy .sp {
		display: block;
	}
}