@charset "utf-8";

/* 概要
--------------------------------------------------------------------------------------------------------------- */

#form form {
	width: ;;
	margin: 0px auto;
	padding: 80px 0px;
}

@media (max-width:480px) {
	#form form {
		padding: 40px 10px 80px 10px;
	}
}

#form form h3.form_title {
	width: 980px;
	margin: 0px auto 30px auto;
}

@media (max-width:768px) {
	#form form h3.form_title {
		width: 100%;
		margin: 0px auto 30px auto;
	}
	#form form h3:after {
    border-left: 1em solid transparent;
	}
}

#form form th {
	vertical-align: top;
}

#form form #datepicker table tr th,
#form form #datepicker table tr td {
	display: table-cell;
}

.ui-datepicker-header {
  position: relative;
  max-width: 370px;
  margin: 0 auto; }

.ui-datepicker-prev {
  position: absolute;
  top: 10px;
  left: 10px;
  display: block;
  width: 30px;
  height: 30px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  text-indent: -100%;
  background: url(../../images/form/icon_under-arrow.png);
  background-size: contain;
  background-position: center;
  overflow: hidden; }
  .ui-datepicker-prev:hover {
    cursor: pointer; }

.ui-datepicker-next {
  position: absolute;
  top: 10px;
  right: 10px;
  display: block;
  width: 30px;
  height: 30px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  text-indent: -100%;
  background: url(../../images/form/icon_under-arrow.png);
  background-size: contain;
  background-position: center;
  overflow: hidden; }
  .ui-datepicker-next:hover {
    cursor: pointer; }

.ui-datepicker-title {
  margin: 0 0 20px 0;
  font-size: 0;
  text-align: center; }
  .ui-datepicker-title .ui-datepicker-month {
    display: inline-block;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    border-bottom: 2px solid #000; }
  .ui-datepicker-title .ui-datepicker-year {
    display: block;
    width: 100%;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4; }

#form .ui-datepicker-calendar {
  width: 100%;
  max-width: 370px;
  margin: 0 auto; }
  #form .ui-datepicker-calendar thead {
    display: none; }
  #form .ui-datepicker-calendar tr td {
    width: 50px;
    height: 50px;
    margin: 0;
    padding: 5px;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    line-height: 1; }
    #form .ui-datepicker-calendar tr td:first-of-type a {
      color: #b0000f; }
    #form .ui-datepicker-calendar tr td:last-of-type a {
      color: #4163bc; }
    #form .ui-datepicker-calendar tr td a, #form .ui-datepicker-calendar tr td span {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      display: -webkit-flex;
      -webkit-justify-content: center;
      -webkit-align-items: center;
      -webkit-flex-wrap: wrap;
      width: 100%;
      height: 100%;
      text-align: center; }
    #form .ui-datepicker-calendar tr td .ui-state-default {
      color: #000; }
    #form .ui-datepicker-calendar tr td .ui-state-active {
      color: #fff !important;
      background: #ea7254; }
    #form .ui-datepicker-calendar tr td.ui-datepicker-today * {
      color: #000 !important;
      background: #ffc800 !important; }
  #form .ui-datepicker-calendar tr .ui-datepicker-other-month,
  #form .ui-datepicker-calendar tr .ui-state-disabled {
    opacity: .3; }

		form .form_box {
		  width: 100%;
		  max-width: 980px;
		  margin: 0 auto;
		  padding: 0;
		  border: 2px solid #333; }
		  form .form_box + .form_box {
		    position: relative;
		    margin-top: 85px; }
		    form .form_box + .form_box:before {
		      content: '';
		      position: absolute;
		      top: -50px;
		      left: 0;
		      display: block;
		      width: 100%;
		      height: 15px;
		      background: url(../../images/form/under_arrow.svg) no-repeat;
		      background-size: contain;
		      background-position: center; }
		  form .form_box h4 {
		    
		    margin: 0 0 30px 0;
		    padding: 10px 15px;
		    font-size: 18px;
				font-weight: 700;
		    color: #fff;
		    text-align: center;
		    background: #333333; }
		  form .form_box > * {
		    display: block;
		    padding: 0 30px 30px 30px; }
		    form .form_box > * textarea, form .form_box > * select {
		      -webkit-appearance: none; }
		  form .form_box > b {
		    font-size: 24px; }
		    @media (max-width: 768px) {
		      form .form_box > b {
		        font-size: 20px;
		        text-align: center; } }
		    form .form_box > b.b {
		      color: #ea7254;
		      text-align: center; }
		  form .form_box > div .caution {
				padding: 10px 0;
		    margin-top: 15px; }
		    form .form_box > div .caution p {
		      font-size: 16px;
					line-height: 1.5;
		      color: #ea7254; }
		    form .form_box > div .caution .tel {
		      display: inline-block;
					margin-top: 10px;
		      font-size: 20px;
		      font-weight: 700;
		      color: #ea7254;
		      border-bottom: 1px solid #ea7254; }
		      form .form_box > div .caution .tel a {
		        padding-left: .5em;
		        color: #ea7254; }

form .form_box > div .form_notes {
	text-align: center;
	font-size: 24px;
	color: #ea7254;
	margin: 30px 0;
	padding: 0 5%;
}
@media (max-width: 768px) {
	form .form_box > div .form_notes {
		text-align: center;
		font-size: 20px;
		color: #ea7254;
		margin: 30px 0;
		padding: 0 5%;
	}
}

.text select {
	width: 100%;
	margin: 0;
	padding: 5px 10px;
	/* border: 1px solid #c9c9c9; */
	border-radius: 3px; }
	form .form_box > div .text select,
	table tr td > select {
    width: 100%;
    max-width: 100%;
    padding-right: 2em;
    background-image: url(../../images/form/icon_under-arrow.png);
    background-repeat: no-repeat;
    background-size: 14px;
    background-position: right 8px center; }
    form .form_box > div .text select::-ms-expand,
			table tr td > select::-ms-expand {
      display: none; }

.error_box {
  width: 100%;
  max-width: 980px;
  margin: 0 auto 30px auto;
  padding: 30px 0;
  text-align: center;
  background: #ffeaea; }
  @media (max-width: 600px) {
    .error_box {
      max-width: 370px;
      margin: 0 auto 30px auto; } }
  .error_box p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #d82424; }

.form_box table {
	width: 100%;
}
.form_box table tr th, .form_box table tr td {
	/* vertical-align: middle !important; */
}
.form_box table tr td select {
	width: 100%;
}
.form_box table tr td select + p {
	width: 100%;
	margin: 20px 0;
}

form .form_box > div .title {
	font-size: 16px;
	line-height: 2.5; }
form .form_box > div .text {
	max-width: 650px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: -webkit-flex;
  -webkit-justify-content: flex-start;
  -webkit-align-items: center;
  -webkit-flex-wrap: wrap; }
  form .form_box > div .text * {
    font-size: 16px; }
	form .form_box > div .text input {
		width: 100%; }
  form .form_box > div .text p {
    font-weight: 700; }

.col-2 {
	width: 48%;
}
.col-2 input {
	width: 30% !important;
	margin: 0 5px !important;
}

.notes {
  padding-top: 10px;
}

.inline {
	display: inline-block;
	width: auto;
	margin-right: 15px;
}

#form .btnArea {
	max-width: 980px;

	margin: 40px auto 0 auto;
	padding: 0;
}

.ui-icon-circle-triangle-w,
.ui-icon-circle-triangle-e {
	display: none;
}

#form .address_search_btn {
	display: inline-block;
	width: auto;
	margin: 10px 0 0 0;
	padding: 4px 20px 6px;
	text-align: center;
	background: #333;
	color:#fff;
	line-height:1.0;
}


#form label.radio input {
	display: none;
	visibility: hidden;
}

#form label.radio input + i:before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin: 0 5px 0 0;
	border-radius: 999px;
	border: 1px solid #ccc;
	background-color: #fff;
	visibility: visible;
}

#form label.radio input[type="radio"]:checked + i:before {
	background-image: url(../../images/form/icon_circle.png);
	background-repeat: no-repeat;
	background-position: left 3px center;
	-webkit-background-size: 10px;
	background-size: 10px;
	visibility: visible;
}

#form label.check input {
	display: none;
	visibility: hidden;
}

#form label.check input + i:before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin: 0 5px 0 0;
	border-radius: 3px;
	border: 1px solid #ccc;
	background-color: #fff;
	visibility: visible;
}

#form label.check input[type="checkbox"]:checked + i:before {
	background-image: url(../../images/form/icon_check.png);
	background-repeat: no-repeat;
	background-position: left 3px center;
	-webkit-background-size: 10px;
	background-size: 10px;
	visibility: visible;
}

.confirm_text {
	width: 980px;
	margin: 0 auto 40px auto;
}
@media (max-width:480px) {
	.confirm_text {
		width: 100%;
	}
}

#form .button_area {
	width: 980px;
	margin: 30px auto;
}
#form .btnArea_column2.half {
	width: 48%;
}

@media (max-width:480px) {
	#form .button_area {
		width: 100%;
	}

	#form .btnArea_column2.half {
		width: 100%;
	}
}

#form .line_area {
	width: 980px;
	text-align: center;
	margin: 0 auto 40px auto;
}
@media (max-width:480px) {
	#form .line_area {
		width: 100%;
	}
}


/* フォーム
--------------------------------------------------------------------------------------------------------------- */

#form {
	padding: 30px 0 4vw 0;
	background-color: #FFF;
}
#mw_wp_form_mw-wp-form-963 {
	margin-top: -100px;
	padding-top: 100px;
}
#form > h4 { font-size: 1.35em; text-align: center; font-weight: bold; }

#form form {
	padding: 20px 4vw 40px 4vw!important;
}

form .form_box h4 { font-size: 0.85rem!important; }

#form form h3 {
	font-size: 1.2em;
	font-weight: bold;
	display: table;
	width: 100%;
    white-space: nowrap;
}

#form form h3:after {
	content: '';
    display: table-cell;
    width: 100%;
    background: linear-gradient(transparent 50%, #282828 50%, #282828 calc(50% + 3px), transparent calc(50% + 3px));
    background-clip: padding;
    -webkit-background-clip: padding;
    border-left: 0.5em solid transparent;
}

#form form table {
	margin-top: 25px;
}

#form form th {
	display: block;
	width: 100%;
	font-weight: bold;
	padding: 0px 0px 12px 0px;
	text-align:left;
}

#form form th span {
	display: inline-block;
    text-align: center;
    width: 3.5em;
    margin: 0px 10px 0px 0px;
    padding: 5px 0px;
    background-color: #E16450;
    color: #FFF;
    font-size: 0.7em;
}

#form form th br {
	display: none;
}

#form form td {
	display: block;
	width: 100%;
	margin-bottom: 30px;
}

label {
	/*display: block;*/
	margin-bottom: 10px;
}

/* 送信ボタン */

#form .btnArea {
	background-color: #282828;
}

#form .btnArea button { /* 20221004 [.btnArea追記] add */
	width: 100%;
	padding: 10px 0px;
	text-align: center;
	background: url(../../images/form/icon_arrow_white.svg) no-repeat center right 20px;
}

#form .btnArea button.back { /* 20221004 [.btnArea追記] add */
	background: url(../../images/form/icon_arrow_white-back.svg) no-repeat center left 20px;
}

#form .btnArea_column2 {
	display: inline-block;
	width: 49.1%;
	background: none;
	background-color: #282828;
	margin-left: 1.8%;
}

#form .btnArea_column2:first-of-type {
	margin-left: 0;
	background-color: #8a8a8a;
}

#form .btnArea_column2 button { /* 20221004 [.btnArea追記] add */
	width: 100%;
	padding: 10px 0px;
	text-align: center;
	background: url(../../images/form/icon_arrow_white.svg) no-repeat center right 20px;
}

#form .btnArea_column2 button.back { /* 20221004 [.btnArea追記] add */
	background: url(../../images/form/icon_arrow_white-back.svg) no-repeat center left 20px;
}

.f_txt {
	line-height: 1.5em;
	padding-top: 15px;
	display: block;
}

#form .error-mess {
    text-align: left;
    color: #FF0000;
    font-weight: bold;
    line-height: 1.4em;
    padding: 10px;
    background-color: rgba(225, 100, 80, 0.1);
    margin-bottom: 20px;
}

.mb-15 {
	margin-bottom: 15px;
}


.btn_form {
	text-align:center;
	margin-bottom:30px;
}

.btn_form .submit_btn{
	padding: 10px 30px;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing:1px;
	color:#000;
	font-weight:bold;
	text-align:center;
	background-color:#fff;
	border:1px solid #000;
	display:inline-block;
	width:auto;
}
.btn_form input {
	border:none;
}
/* エラーメッセージ
--------------------------------------------------------------------------------------------------------------- */

#form .error-mess {
	text-align: center;
	color: #FF0000;
	font-weight: bold;
	line-height: 1.4em;
	padding: 20px;
	background-color: rgba(225, 100, 80, 0.1);
	margin-bottom: 40px;
}

.f_txt {
	line-height: 1.5em;
	padding-top: 30px;
	display: block;
}

.mb-15 {
	margin-bottom: 15px;
}

ul#g-navi li.n09 span.en {
	border-bottom: solid 2px #282828;
}

/* パソコン・タブレットのみ表示 */
#form .pc { display: block !important; }
#form .sp { display: none !important; }




/* 下層共通 - フォーム
--------------------------------------------------------------------------------------------------------------- */

textarea {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 1rem;
	color: #282828;
	background-color: #ececec;
	padding: 6px 10px;
	margin: 0px;
	border: none;
	resize: none;
	line-height: 1.5em;
}

input[type=text], input[type=email] {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 1rem;
	color: #282828;
	background-color: #ececec;
	padding: 0px 10px;
	margin: 0px;
	height: 34px;
	border: none;
	overflow: hidden;
}

input.long, #form textarea { width: 100%; }
input.short { width: 100%; }
input.very_short { width: 20%; }

select {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 1rem;
	color: #282828;
	background-color: #ececec;
	padding: 0px 10px;
	margin: 0px;
	height: 34px;
	border: none;
}

input[type=radio],
input[type=checkbox] {
	width: 16px;
	height: 16px;
    vertical-align: top;
	margin: 5px 5px 0px 0px;
	padding: 0px;
}

button {
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 1rem;
	font-weight: bold;
	cursor: pointer;
	outline: none;
	appearance: none;
	border: 0;
	display: inline-block;
	color: #FFF;
	background: none;
}

button:hover {
	opacity: 0.5;
}

.top_bnr {
	width: 960px;
	padding-top: 60px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
	text-align: center;
}

.top_bnr img {
	max-width: 960px;
}

.sitemap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.sitemap_list {
	width: 50%;
}
.sitemap_list li {
	display: block;
	width: 100%;
	margin: 60px 0 0 0;
	font-size: 24px;
	font-weight: 700;
}
.sitemap_list li:first-child {
	margin-top: 0;
}
.sitemap_list .under {
	margin-top: 15px;
}
.sitemap_list li .ja {
	margin-left: 10px;
	font-size: 14px;
}
.sitemap_list li ul {
	padding-left: 15px;
}
.sitemap_list li ul li {
	margin: 15px 0 0 0;
	font-size: 16px;
}
.sitemap_list li ul li:before {
	content: ' - ';
}

.sitemap_link a {
	padding: 5px 20px;
	color: #fff;
	border-radius: 5px;
	background: #383838;
}

/* 概要
--------------------------------------------------------------------------------------------------------------- */

#form #info {
	background-color: #FFF;
	padding: 0 4vw;
}

#form #info a {
	text-decoration: underline;
}

#form #info .catch {
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.5em;
	text-align: center;
	padding-bottom: 20px;
}

#form #info .cent {
	text-align: center !important;
}

#form #info .read {
	font-weight: bold;
	line-height: 1.5em;
	text-align: justify;
	text-align: center;
}

#form #info br {
	display: none;
}

#form #info br.tellbr {
	display: inline;
}

#form #info .tell-free {
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	font-size: 2.3em;
	padding: 15px 0px 10px 0px;
	text-align: center;
}

#form #info .tell-free img {
	width: 40px;
}

#form #info .tell {
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 600;
	font-size: 1.2em;
	line-height: 1.3em;
	text-align: center;
}

#form #info .tell span {
	font-size: 1.1rem;
}

/* 注意事項（枠線内） */

#form #attention {
	padding: 30px 25px 10px 25px;
	border: solid 1px #282828;
}

#form #attention p {
	text-align: justify;
	padding-bottom: 15px;
	line-height: 1.5em;
}

#form #attention a {
	display: block;
	text-decoration: underline;
}

#form #attention span {
    text-decoration: underline;
}

.mw_wp_form_confirm .confirm_none {display:none !important;}



/* モバイルのみ表示 */
#form .pc { display: none !important; }
#form .sp { display: block !important; }
