@charset "utf-8";

#mainvisual{
	clear: both;
	background: url(../../image/contact/bg-main.jpg) no-repeat center center / cover;
	background-attachment: fixed;
	padding: 70px 0 30px;
	box-sizing: border-box;
	text-align: center;
}
#mainvisual h2{
	font-size: 54px;
	margin-bottom: 60px;
	color: #fff;
	line-height: 1.3;
}
.caution {
  margin: 0 auto;
  margin-bottom: 40px;
  border: 1px solid #000;
  padding: 40px;
}
.bg-01{
	background: #f1f0e9;
	position: relative;
	z-index: 0;
	padding-top: 50px;
}
.bg-01:after {
	content: ".";
	display: block;
	height: 0px;
	clear: both;
	visibility: hidden;
}
/*\*/
* html .bg-01 { 
	height: 1px;
	overflow: visible;
}
/**/

#contact{
	width: 750px;
	margin: 0 auto;
	overflow: hidden;
}
#contact p{
	font-size: 23px;
	line-height: 1.5;
}

.step{
	padding: 45px 0 30px;
}
#contact p.message-example img{
    margin-top: 10px;
}
table.input_table{
	width: 100%;
	border-collapse: collapse;
}
table.input_table tbody{
	width: 100%;
}
table.input_table th{
	width: 100%;
	display: block;
	background: #00a2e1;
	font-weight: bold;
	font-size: 34px;
	margin-top: 60px;
	margin-bottom: 30px;
	padding: 14px 10px 10px 25px;
	color: #fff;
	line-height: 1;
	box-sizing: border-box;
	text-align: left;
}
table.input_table th.first{
	margin-top: 0px;
}
table.input_table th span.icon_need{
	width: 79px;
	height: 40px;
	background: url(../../image/contact/icon_need.png) no-repeat;
	margin-left: 20px;
	margin-top: -2px;
	line-height: 1;
	display: inline-block;
	font-size: 24px;
	color: #fff;
	border-radius: 4px;
	vertical-align: middle;	
}
table.input_table th span.icon_option{
	width: 79px;
	height: 40px;
	background: url(../../image/contact/icon_option.png) no-repeat;
	margin-left: 20px;
	margin-top: -2px;
	display: inline-block;
	font-size: 24px;
	color: #fff;
	border-radius: 4px;
	vertical-align: middle;	
}

table.input_table td{
	width: 100%;
	display: block;
	box-sizing: border-box;
	padding: 0 20px;
	font-size: 24px;
	line-height: 1.6;
}
table.input_table td input{
	width: 100%;
	box-sizing: border-box;
	padding: 25px 15px;
	font-size: 24px;
	border: 3px solid #b5b5b6;
}
table.input_table td.sex input{
	width: auto;
}
table.input_table td.photo input{
	width: auto;
	background: #fff;
	margin-bottom: 10px;
}
table.input_table td label {
	padding: 0 0 0 40px;	/* ラベルの位置 */
	font-size: 24px;
	line-height: 35px;		/* ボタンのサイズに合わせる */
	display: inline-block;
	cursor:	pointer;
	position: relative;
}
table.input_table td label:before {
	content: '';
	width: 35px;		/* ボタンの横幅 */
	height: 35px;		/* ボタンの縦幅 */
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fff;
	border: 3px solid #bbb;
	border-radius: 50%;
	box-sizing: border-box;
}
table.input_table td input[type="radio"] {
	display: none;
}
table.input_table td input[type="radio"]:checked + label:after {
	content: '';
	width: 15px;		/* マークの横幅 */
	height: 15px;		/* マークの縦幅 */
	position: absolute;
	top: 10px;
	left: 10px;
	background-color: #555;
	border-radius: 50%;
	box-sizing: border-box;	
}
table.input_table td select{
	width: 100%;
	box-sizing: border-box;
    margin-bottom: 20px;
	padding: 25px 15px;
	font-size: 24px;
	border: 3px solid #dcdddd;
	background: url(../../image/contact/select-arrow.png) no-repeat 97% center #b5b5b6;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;	
	
}
table.input_table td select option{
	background: #fff;
}

table.input_table td textarea{
	width: 100%;
	height: 300px;
	margin-bottom: 60px;
	box-sizing: border-box;
	padding: 15px;
	font-size: 18px;
	border: 3px solid #b5b5b6;
}
#domain{
	font-size: 24px;
	background: #e1e1e1;
	padding: 20px;
}
#domain strong{
	font-size: 52px;
}
#agreement{
	width: 100%;
	height: 300px;
	margin-bottom: 60px;
	line-height: 1.6;
	box-sizing: border-box;
	background: #fff;
	padding: 30px;
	font-size: 24px;
	border: 3px solid #b5b5b6;
	overflow: scroll;
	overflow-x: hidden;
}


/* ────────────────────── *
 *                                              *
 * システム                                     *
 *                                              *
 * ────────────────────── */
.validation-advice span {
	background-color: #cc0000;
	color: #ffffff;
	display: inline-block;
	font-weight: bold;
	margin-bottom: 5px;
	padding: 5px;
	line-height: 1;
}

.inputNG {
	background-color: #f5e7e7;
	border: 1px solid #dd0000 !important;
}

.inputOK {
	background-color: #cbfdcc;
	border: 1px solid #a0ec96 !important;
}
.hidden {
	display: none;
}
.formError{
	position: inherit;
}
.formErrorContent{
	padding: 0!important;
}

.errMsg {
	font-size: 14px;
	line-height: 1;
	font-weight: 600;
	color: #ffff00;
	display: inline-block;
	background: #cc0c0c;
	padding: 7px 10px;
	margin-bottom: 7px;
	border-radius: 4px;
	position: relative;
}
.errMsg:after {
	top: 100%;
	left: 20%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(204, 12, 12, 0);
	border-top-color: #cc0c0c;
	border-width: 6px;
	margin-left: -6px;
}
input.err,
textarea.err {
	background: #ffe4e4;
	border: 1px solid #cc0c0c!important;
}
:placeholder-shown {
    color: #acacac;
}
::-webkit-input-placeholder {
    color: #acacac;
}
:-moz-placeholder {
    color: #acacac;
	opacity: 1;
}
::-moz-placeholder {
    color: #acacac;
	opacity: 1;
}
:-ms-input-placeholder {
    color: #acacac;
}

input.btn-g{
	-webkit-appearance: none;
	width: 470px;
	box-sizing: border-box;
	display: block;
	text-align: center;
	font-size: 26px;
	border-radius: 15px;
	border: none;
	margin: 0 auto;
	padding: 25px 15px;
	color: #fff;
	background: #3aa48f;
	cursor: pointer;
	margin-bottom: 60px;
}
a.btn-g {
	width: 500px;
	box-sizing: border-box;
	display: block;
	text-align: center;
	font-size: 26px;
	border-radius: 15px;
	margin: 0 auto;
	padding: 25px 15px;
	color: #fff;
	background: #3aa48f;
	margin-bottom: 30px;
}
a.btn-bk {
	width: 500px;
	box-sizing: border-box;
	display: block;
	text-align: center;
	font-size: 26px;
	border-radius: 15px;
	margin: 0 auto;
	padding: 25px 15px;
	color: #fff;
	background: #888;
}

.color-red{
	color: #d00;
}
.send-back{
	text-align: center;
	padding: 60px 0 80px;
}

.xdsoft_datetimepicker {
	width: 750px;
}
.xdsoft_datetimepicker .xdsoft_datepicker {
    width: 620px;
}
.xdsoft_datetimepicker .xdsoft_label{
	font-size: 40px;
	line-height: 1.8;
}
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev {
    margin-bottom: 29px;
}
.xdsoft_datetimepicker .xdsoft_year {
    width: auto;
}
.xdsoft_datetimepicker .xdsoft_calendar th,
.xdsoft_datetimepicker .xdsoft_calendar td{
	height: 100px;
	font-size: 36px;
}
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box{
    width: 100px;
}
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div {
    height: 100px;
    line-height: 100px;
	font-size: 36px;
}
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box{
	height: 601px;
}
.xdsoft_datetimepicker  .xdsoft_prev, 
.xdsoft_datetimepicker  .xdsoft_next,
.xdsoft_datetimepicker  .xdsoft_today_button{
	background-image: url(../index.png)!important;
}
.xdsoft_datetimepicker .xdsoft_label i{
	background: none;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev {
    background-position: -130px 10px;
    height: 45px;
    width: 90px;
}

.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next {
    background-position: -126px -40px;
    height: 45px;
    width: 90px;
}

.xdsoft_datetimepicker .xdsoft_next,
.xdsoft_datetimepicker .xdsoft_prev {
    height: 70px;
    width: 50px;
}
.xdsoft_datetimepicker .xdsoft_next,
.xdsoft_datetimepicker .xdsoft_prev,
.xdsoft_datetimepicker .xdsoft_today_button {
    height: 70px;
    width: 55px;
}
.xdsoft_datetimepicker .xdsoft_next {
    background-position: 0 -5px;
}
.xdsoft_datetimepicker .xdsoft_prev {
    background-position: -60px -5px;
}
.xdsoft_datetimepicker .xdsoft_today_button {
    background-position: -210px -5px;
}

.swal-modal {
    width: 680px;
}
.swal-overlay--show-modal .swal-modal {
    will-change: auto;
    animation: none;
}
.swal-title {
    padding: 15px;
    font-size: 40px;
}
.swal-text {
    font-size: 26px;
    line-height: 1.7;
}
.swal-button {
    font-size: 24px;
    background: #3aa48f;
}
