@charset "UTF-8";

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

.wrapper{padding-top:90px;}

.wave-top{
	position:relative;
	top: -1px;
}

.wave-top img{width:100%;}

.wave-bottom{
	position:relative;
	bottom: -1px;
}
.wave-bottom img{width:100%;}


.contact_title-container.inner{
    max-width: 1010px;
}

.breadcrumb li .current{
    color: coral;
}
.breadcrumb {
    margin: 0 20px 3px;
    padding: 0;
    list-style: none;
  }
.breadcrumb li {
    display: inline;/*横に並ぶように*/
    list-style: none;
    font-weight: bold;/*太字*/
  }
.breadcrumb li:after {/* >を表示*/
    content: '>';
    padding: 0 0.1em;
    color: #555;
    font-size: 16px;
    font-weight: normal;
  }
.breadcrumb li:last-child:after {
    content: '';
  }
.breadcrumb li a {
    text-decoration: none;
    font-size: 13px;
    font-weight: normal;
  }

.breadcrumb li a:hover {text-decoration: underline;}

.sp{
    display: none;
}
.contact-title{
    width: 340px;
    margin: 0 auto 50px;
}
.contact-step{
	width: 340px;
	margin: 0 auto 10px;
}
.text-yellow{
	color: #FEFE5F;
}

/* form ---------------------------------------*/

.form-container{max-width:950px;}

.form-wrapper{
	background: #56D4DC;
	padding-top: 1px;
}
.form-caution{
	margin-bottom: 22px;
	position: relative;
	z-index: 10;
}
.form-caution p{
	text-align: center;
	font-size: 18px;
	color: #fff;
}
.form-inner{
	padding:47px 50px;
	background-color: #fff;
	position: relative;
	border-radius: 5px;
}
.form-flex{
	display: flex;
	justify-content: space-between;margin-bottom: 7px;
}
.form-flex p{
	font-size: 17px;
	padding-bottom: 5px;
}
.form-img{
	position: absolute;
	right: -1.5%;
	top: -150px;
}
.form-img img{
	width: 120px;
}
.form-block-01{
	width: 39.5%;
}
.form-block-02{
	width: 54%;
}

.form-block-01 .form-content{min-height:66px;}
.form-block-02 .form-content{min-height:55px;}

.form-block-01.form-confirm > p,
.form-block-02.form-confirm > p{
	color:#56D4DC;
	line-height: 1.5;
	margin-bottom: 5px;
}

.form-confirm-content{
	line-height: 1.5;
	padding-bottom: 5px;
	border-bottom: 1px solid #56D4DC;
	margin-bottom: 20px;
}

.form-confirm-content .textarea-wrapper{
	min-height: 195px;
}

.submit{
	text-align: center;
}

.confirm-submit{
	padding: 27px 0;
	text-align:center;
}

.form-select{
	width: 100%;
	padding: 8px 10px;
	font-size: 13px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #999;
	background: url('../img/icon_select.png') 97% 50% no-repeat, -webkit-linear-gradient(top, #fff 0%, #fff 50% ,#eee 100%);
	background: url('../img/icon_select.png') 97% 50% no-repeat, linear-gradient(to bottom, #fff 0%, #fff 50% ,#eee 100%);
	background-size: 8px 36px;
	border-radius:0;
	outline: none;
}

select::-ms-expand {
	display: none;
}


.form-text{
	padding:5px;
	border:1px solid #56D4DC;
	width:100%;
	box-sizing:border-box;
	-webkit-appearance: none;
	outline: none;
	border-radius:5px;
}

.radio-flex{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.radio-flex label{
	color: #00bdc9;
	font-size: 17px;
}
.form-radio {
	display: inline-block;
	line-height: 1;
	margin-right: 5px;
	font-size: 14px;
	position:relative;
}

.form-radio label {
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	line-height: 1.4;
	min-height: 23px;
	margin: 0px 0;
	padding: 2px 0 0 30px;
	position: relative;
	vertical-align: top;
}

.form-radio input[type="radio"]{position: absolute;left:0px;top:0px;width:1px;height:1px;overflow: hidden;opacity:0;}

.form-radio label::before{
	display:block;
	content:'';
	border:1px solid #323232;
	border-radius:50%;
	width:16px;
	height:16px;
	position:absolute;
	left: 0;
	top:53%;
	transform: translate(0,-50%);
}

.form-radio input:checked + label::after{
	display:block;
	content:'';
	background: #56D4DC;
	border-radius:50%;
	width:10px;
	height:10px;
	position:absolute;
	left: 4px;
	top:53%;
	transform: translate(0,-50%);
}

.form-radio input:disabled + label {opacity: 0.7;}

.form-checkbox {
	display: inline-block;
	line-height: 1;
	margin-right: 5px;
	font-size: 14px;
	position:relative;
}

.form-checkbox label {
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	line-height: 1.4;
	min-height: 23px;
	margin: 0px 0;
	padding: 3px 0 0 30px;
	position: relative;
	vertical-align: top;
}

.form-checkbox input[type="checkbox"]{position: absolute;left:0px;top:0px;width:1px;height:1px;overflow: hidden;opacity:0;}

.form-checkbox label::before{
	display:block;
	content:'';
	border:1px solid #aaa;
	border-radius:2px;
	width:20px;
	height:20px;
	position:absolute;
	left: 0;
	top:50%;
	transform: translate(0,-50%);
}

.form-checkbox input:checked + label::after{
	display:block;
	content:'';
	background: #2A619B;
	border-radius:1px;
	width:14px;
	height:14px;
	position:absolute;
	left: 4px;
	top:50%;
	transform: translate(0,-50%);
}

.form-checkbox input:disabled + label {opacity: 0.7;}

.form-textarea{
	padding:13px 5px;
	border:1px solid #56D4DC;
	width:100%;
	box-sizing:border-box;
	height:100%;
	-webkit-appearance: none;
	outline: none;
	border-radius:5px;
}

::placeholder {color:#ccc;}

.toggle-switch {
	position: relative;
	width: 60px;
	height: 30px;
	margin: auto;
	display: inline-block;
}

.toggle-input {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 5;
	opacity: 0;
	cursor: pointer;
}

.toggle-switch label{
	width: 60px;
	height: 30px;
	background: #ccc;
	position: relative;
	display: inline-block;
	border-radius: 30px;
	transition: 0.1s;
	box-sizing: border-box;
}

.toggle-switch label::after {
	content: '';
	position: absolute;
	width: 30px;
	height: 30px;
	border-radius: 100%;
	left: 0;
	top: 0;
	z-index: 2;
	background: #fff;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	transition: 0.1s;
}

.toggle-input:checked + label{background-color: #4BD865;}
.toggle-input:checked + label::after{left: 30px;}

.must{color:#aa0000;}

.form-block-03{
	background: #f5f8ff;
	border-radius: 5px;
	padding: 17px;
}
.contact-privacy{
	height: 200px;
	overflow-y: scroll;
}

.contact-privacy h3{
	text-align: center;
	font-size: 18px;
	color: #00bdc9;
	padding-bottom:20px;
}

.contact-privacy-contact{
	margin-bottom: 15px;
	padding-right: 15px;
}

.contact-privacy .contact-privacy-contact h4{font-size: 15px;}

.contact-privacy .contact-privacy-contact p{
	font-size: 14px;
	color: #646464;
}

.contact-privacy::-webkit-scrollbar {
	width: 10px;
	height: 10px;
}

.contact-privacy::-webkit-scrollbar-track {
	border-radius: 5px;
	box-shadow: 0 0 4px #dae1e8 inset;
}

.contact-privacy::-webkit-scrollbar-thumb {
	border-radius: 5px;
	background: #00bdc9;
}

input.error,
textarea.error{border:1px solid #ff0075;}
label.error{
	color:#ff0075 !important;
	font-size:13px !important;
	display: block !important;
}

.agree{
	width: 200px;
	margin: 23px auto 20px;
	text-align:center;
}

.agree .required{
	width: 14px;
	height: 14px;
	line-height: 17px;
	border-radius: 0;
	color: #000;
	border: 1px solid #000;
}

.agree label{
	font-size: 17px;
	line-height: 17px;
}

button,
.thanks-btn,
.btn-confirm,
.btn-back{
	width: 300px;
	margin: 0 auto 20px;
	background-color: #ffff5f;
	border-radius: 30px;
	border: 2px solid #000;
	font-size: 20px;
	padding:9px 0;
	position: relative;
	display: block;
	cursor: pointer;
	letter-spacing:0.1em;
    display: inline-block;
    transition: all .25s ease;
}

button::after,
.thanks-btn::after{
	position: absolute;
	content:'';
	right: 18px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 10px;
	height: 10px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(45deg);
}

button:hover,
.thanks-btn:hover,
.btn-confirm:hover,
.btn-back:hover{background-color: #fff;}

.btn-confirm,
.btn-back{
	width: 200px;
	margin: 0 4%;
	vertical-align: top;
	transition: all .25s ease;
	font-size:18px;
}

.btn-back{background: #E1E6E5;}
.btn-back::after{
	position: absolute;
	content:'';
	left: 18px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 10px;
	height: 10px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(225deg);
}


/* thanks */

.form-thanks{
	margin-bottom: 50px;
}
.form-thanks p{
	text-align: center;
	font-size: 18px;
	line-height: 1.8;
	color: #fff;
}
.form-thanks-img{
	width: 170px;
	margin: 0 auto 40px;
}
.form-thanks-img img{
	width: 100%;
}
.thanks-btn{
	display: block;
	margin: 0 auto 30px;
}


/* animation */

.contact-title,
.form-img{
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
    -webkit-transform: scale(0) translateY(30px);
    -ms-transform: scale(0) translateY(30px);
    transform: scale(0) translateY(30px);
}

.contact-title.on,
.form-img.on{
    -webkit-transition-timing-function: cubic-bezier(0, 0.7, 0, 1.3);
    -o-transition-timing-function: cubic-bezier(0, 0.7, 0, 1.3);
    transition-timing-function: cubic-bezier(0, 0.7, 0, 1.3);
    -webkit-transform: scale(1) translateY(0);
    -ms-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
}

/* small pc */
@media screen and (min-width: 768px) and (max-width: 1020px){
	.breadcrumb {
        margin: 0 20px 10px;
        padding: 0;
        padding-left:0px;
        list-style: none;
      }
    .breadcrumb li {
        display: inline;/*横に並ぶように*/
        list-style: none;
        font-weight: bold;/*太字*/
      }
    .breadcrumb li:after {/* >を表示*/
        content: '>';
        padding: 0 0.1em;
        color: #555;
        font-size: 16px;
        font-weight: normal;
      }
    .breadcrumb li:last-child:after {
        content: '';
      }
    .breadcrumb li a {
        text-decoration: none;
        font-size: 14px;
        font-weight: normal;
      }
    .breadcrumb li a:hover {
        text-decoration: underline;
      }
	  .form-img{
		position: absolute;
		right: 0%;
		top: -150px;
	}
	.form-inner{
		width:95%;
		margin: 0 auto;
	}

	.form-block-02 .form-content {min-height: 75px;}

	.form-caution p{font-size:1.8vw;text-align: left;padding-left: 20px}

}


@media screen and (max-width: 767px){

	img{width: 100%;}
	.wrapper{padding-top:65px;}
    .breadcrumb {display: none;}
	.sp{display: block;}
	.contact-title{
		width: 45vw;
		margin: 0 auto 5vw;
	}
	.contact-step{
		width: 45vw;
		margin: 0 auto 4vw;
	}

	/* form ---------------------------------------*/

	.form-wrapper{padding-top: 2vw;}

	.form-caution{
		position: relative;
		z-index: 10;
		width:80%;
		margin: 0 auto 5vw;
	}

	.form-caution p{
		text-align: left;
		font-size: 3.8vw;
		color: #fff;
	}

	.form-caution.is-confirm p{
		text-align:center;
		font-size:4vw
	}

	.form-inner{
		padding:4vw 6vw;
		background-color: #fff;
		position: relative;
		border-radius: 5px;
		width: 92.5%;
		margin: 0 auto;
	}
	.form-flex{display: block;}
	.form-flex p{
		font-size: 4vw;
		padding-bottom: 0.5vw;
	}

	.form-img{top: -24vw;}
	.form-img img{width: 19vw;}

	.form-block-01{
		width: 100%;
	}
	.form-block-02{
		width: 100%;
	}
	.form-block-01 .form-content{
		min-height:13vw;
		overflow: hidden;
	}
	.form-block-02 .form-content{
		min-height:15vw;
		overflow: hidden;
	}

	.radio-flex{
		position:relative;
		top: -0.5vw;
	}

	.form-area .submit{
		text-align: center;
	}

	.form-text{
		padding:2.5vw 2.55vw;
		border:1px solid #56D4DC;
		width:124%;
		transform-origin: left top;
		transform: scale(0.8,0.8);
		box-sizing:border-box;
		-webkit-appearance: none;
		outline: none;
		border-radius:4px;
		font-size:4.5vw;
	}
	.radio-flex{
		display: block;
	}
	.radio-flex label{
		color: #00bdc9;
		font-size: 3.8vw;
	}

	.form-radio {
		display: inline-block;
		line-height: 1;
		margin-right: 2vw;
		font-size: 4vw;
		position:relative;
	}

	.form-radio label {
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		line-height: 1.4;
		min-height: 5vw;
		margin: 0px 0;
		padding: 0vw 0 0 5vw;
		position: relative;
		vertical-align: top;
	}

	.form-radio input[type="radio"]{position: absolute;left:0px;top:0px;width:1px;height:1px;overflow: hidden;opacity:0;}

	.form-radio label::before{
		border-radius:50%;
		width:3.2vw;
		height:3.2vw;
		position:absolute;
		left: 0;
		top:54%;
		transform: translate(0,-50%);
	}

	.form-radio input:checked + label::after{
		width:2vw;
		height:2vw;
		position:absolute;
		left: 0.8vw;
		top:54%;
		transform: translate(0,-50%);
	}

	.form-radio input:disabled + label {opacity: 0.7;}

	.form-checkbox {
		display: inline-block;
		line-height: 1;
		margin-right: 5px;
		font-size: 14px;
		position:relative;
	}
	
	.form-checkbox label {
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		line-height: 1.4;
		min-height: 23px;
		margin: 0px 0;
		padding: 3px 0 0 30px;
		position: relative;
		vertical-align: top;
	}
	
	.form-checkbox input[type="checkbox"]{position: absolute;left:0px;top:0px;width:1px;height:1px;overflow: hidden;opacity:0;}
	
	.form-checkbox label::before{
		display:block;
		content:'';
		border:1px solid #aaa;
		border-radius:2px;
		width:20px;
		height:20px;
		position:absolute;
		left: 0;
		top:50%;
		transform: translate(0,-50%);
	}
	
	.form-checkbox input:checked + label::after{
		display:block;
		content:'';
		background: #2A619B;
		border-radius:1px;
		width:14px;
		height:14px;
		position:absolute;
		left: 4px;
		top:50%;
		transform: translate(0,-50%);
	}
	
	.form-checkbox input:disabled + label {opacity: 0.7;}

	.textarea-wrapper{overflow: hidden;}
	
	.form-textarea{
		padding:3vw;
		font-size:4.5vw;
		height: 45vw;
		border:1px solid #56D4DC;
		width:124%;
		box-sizing:border-box;
		-webkit-appearance: none;
		outline: none;
		border-radius:5px;
		margin-bottom: 0px;
		transform-origin: left top;
		transform: scale(0.8,0.8);
	}

	::placeholder {color:#ccc;}

	.form-block-03{
		padding: 2vw 3vw;
	}
	.contact-privacy{
		height: 35vw;
		overflow-y: scroll;
	}
	.contact-privacy h3{
		text-align: center;
		font-size: 3.8vw;
		color: #00bdc9;
		padding-bottom:3vw;
	}

	.contact-privacy-contact{margin-bottom: 3vw;}
	.contact-privacy .contact-privacy-contact h4{font-size: 3.4vw;}
	.contact-privacy .contact-privacy-contact p{font-size: 3.2vw;}

	.contact-privacy::-webkit-scrollbar {
		width: 7px;
		height: 7px;
	}
	.contact-privacy::-webkit-scrollbar-track {
		border-radius: 5px;
		box-shadow: 0 0 4px #dae1e8 inset;
	}
	.contact-privacy::-webkit-scrollbar-thumb {
		border-radius: 5px;
		background: #00bdc9;
	}

	.agree{
		width: 30vw;
		margin: 4.5vw auto;
	}

	.agree .required{
		width: 3vw;
		height: 3vw;
		line-height: 3.6vw;
		border-radius: 0;
		color: #000;
		border: 1px solid #000;
	}

	.agree label{
		font-size: 3.6vw;
		line-height: 3.6vw;
		padding-left: 1vw;
	}

	label.error{
		position:relative;
		top: -2vw;
	}

	button,
	.thanks-btn,
	.btn-confirm,
	.btn-back{
		width: 56vw;
		margin: 0 auto 10vw;
		background-color: #ffff5f;
		border-radius: 50px;
		border: 1px solid #000;
		font-size: 3.8vw;
		padding:1.7vw 0;
		position: relative;
		display: block;
	}

	button::after,
	.thanks-btn::after{
		position: absolute;
		content:'';
		right: 3.5vw;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 1.7vw;
		height: 1.7vw;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		transform: rotate(45deg);
	}

	.btn-confirm,
	.btn-back{
		width: 36vw;
		margin: 0 3%;
		display: inline-block;
	}

	.btn-back{background: #E1E6E5;}
	.btn-back::after{
		left: 3.5vw;
		width: 1.7vw;
		height: 1.7vw;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		transform: rotate(225deg);
	}

	/* thanks */

	.form-thanks{margin-bottom: 6vw;}

	.form-thanks p{
		text-align: center;
		font-size: 3.9vw;
		line-height: 1.7;
		color: #fff;
	}
	.form-thanks-img{
		width: 27.5vw;
		margin: 0 auto 6vw;
	}
	.form-thanks-img img{
		width: 100%;
	}
	.thanks-btn{
		display: block;
		margin: 0 auto 5vw;
	}
}

@media screen and (max-width: 400px){

	.form-radio input:checked + label::after{
		left:1vw;

	}
}