@charset "utf-8";

/* カレンダー部  */
#datepicker{
margin-bottom:40px;
}
.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; }

section.form_area .ui-datepicker-calendar {
width: 100%;
max-width: 370px;
margin: 0 auto; }
section.form_area .ui-datepicker-calendar thead {
display: none; }
section.form_area .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; }
section.form_area .ui-datepicker-calendar tr td a {text-decoration:none;}
section.form_area .ui-datepicker-calendar tr td:first-of-type a {
color: #b0000f; }
section.form_area .ui-datepicker-calendar tr td:last-of-type a {
color: #4163bc; }
section.form_area .ui-datepicker-calendar tr td a, section.form_area .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; }
section.form_area .ui-datepicker-calendar tr td .ui-state-default {
color: #000; }
section.form_area .ui-datepicker-calendar tr td .ui-state-active {
color: #fff !important;
background: #ea7254; }
section.form_area .ui-datepicker-calendar tr td.ui-datepicker-today * {
color: #000 !important;
background: #ffc800 !important; }
section.form_area .ui-datepicker-calendar tr .ui-datepicker-other-month,
section.form_area .ui-datepicker-calendar tr .ui-state-disabled {
opacity: .3; }



/* フォームレイアウト */
form .form_box {
position:relative;
width: 100%;
margin: 0 auto 50px;
padding: 50px 60px;
background-color:#f6f6f6;}
form .form_box .ste_num{
margin: 0 auto;
padding: 0 10px 10px 0;
position:absolute;
top:0;
left:0;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 15px;
line-height: 15px;
letter-spacing:0.05em;
text-align: center;
color:#9b8c82;
background-color:#fff;
}
form .form_box h4 {
margin: 0 auto 40px;
padding: 0 0;
font-size: 18px;
line-height:18px;
letter-spacing:0.05em;
font-weight: 500;
width:530px;
display: flex;
align-items: center;
text-align: center;
}
form .form_box h4::before,
form .form_box h4::after {
content: "";
flex-grow: 1; /* 左右の線が余白を埋める */
height: 1px; /* 線の太さ */
background: #333; /* 線の色 */
margin: 0 16px; /* 文字と線の間隔 */
}

section.form_area .form_notes{
margin: 0 auto 30px;
padding: 0 0;
font-size: 18px;
line-height:18px;
letter-spacing:0.05em;
font-weight: 500;
text-align: center;
}
section.form_area .caution{
margin: 30px auto 0;
padding: 0 0;
font-size: 16px;
line-height:1.5;
letter-spacing:0.05em;
font-weight: 500;
text-align: left;
}
section.form_area .tel{
margin: 20px auto 0;
padding: 10px 20px;
font-size: 21px;
line-height:1.5;
letter-spacing:0.05em;
font-weight: 500;
text-align: left;
background-color:#ebebeb;
display:inline-block;
}

form .form_box > * textarea, form .form_box > * select {
-webkit-appearance: none; }


.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 {
width: 100%;
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; }

section.form_area .col-2 {
width: 50%;
}
section.form_area .col-2 input {
width: 65% !important;
margin: 0 5px !important;
}

section.form_area .notes {
padding-top: 10px;
}

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



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

section.form_area .address_search_btn {
display: inline-block;
width: 19%;
margin-left: 0;
padding: 18px 0;
text-align: center;
background: #7e7e7e;
font-size: 16px;
line-height: 16px;
font-weight: 500;
}



section.form_area label.radio input {
display: none;
visibility: hidden;
}

section.form_area 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;
}

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

section.form_area label.check input {
display: none;
visibility: hidden;
}

section.form_area 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;
}

section.form_area 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;
}








/* フォームテーブル */

section.form_area form table {
margin: 0 auto 40px;
}
section.form_area form .event_contact tr {
border-bottom:1px solid #ccc;
}
section.form_area form th {
width: 25%;
min-width: 225px;
font-weight: bold;
padding: 40px 0px 0px 0;
position: relative;
vertical-align: top;
font-size: 16px;
text-align:left;
line-height:1.5;
}

section.form_area form tr:last-of-type th {
vertical-align: top;
}

section.form_area form th span {
position: absolute;
right: 20px;
text-align: center;
width: 4em;
padding: 7px 0px;
color: #dc0012;
font-size: 12px;
margin-top: -0.25em;
}

section.form_area form td {
width: 75%;
padding: 30px 0px 30px 0;
font-size: 16px;
text-align: left;
line-height:1.5;
}

section.form_area label {
display: block;
margin-bottom: 10px;
}

/* 送信ボタン */

section.form_area .btnArea_block {
display:flex;
}

section.form_area .btnArea {
width: 380px;
margin: 0 auto 50px;
padding: 0;
background-color: #90bb20;
border-radius:50px;
}

section.form_area .btnArea button {
width: 100%;
padding: 30px 0px;
text-align: center;
background-image: url("../images/base/arr2.svg");
background-repeat: no-repeat;
background-position: right 30px top 50%;
background-size:15px auto;
transition-duration: .2s;
}
section.form_area .btnArea button.back {
background: url(../images/form/icon_arrow_white-back.svg) no-repeat center left 20px;
}
section.form_area button {
font-size: 19px;
font-weight: 600;
cursor: pointer;
outline: none;
appearance: none;
border: 0;
display: inline-block;
color: #FFF;
background: none;
}

section.form_area button:hover {
opacity: 0.5;
}


/* エラーメッセージ
--------------------------------------------------------------------------------------------------------------- */

section.form_area .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;
}
p.error {
color: #FF0000;
font-size:90%;
padding-top:4px;
}
.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;
}

/* PC用CSS */
@media screen and (min-width: 768px) {
/* パソコン・タブレットのみ表示 */
section.form_area .pc { display: inline-block !important; }
section.form_area .sp { display: none !important; }
}
/* スマホ用CSS */
@media screen and (max-width:767px) {
section.form_area .error-mess {
font-size: 13px;
padding: 20px 0;
}
}


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

section.form_area textarea {
font-size: 17px;
color: #282828;
background-color: #fff;
padding: 6px 10px;
margin: 0px;
border: none;
resize: none;
line-height: 1.5em;
}

section.form_area input[type=text], input[type=email] {
font-size: 17px;
color: #282828;
background-color: #fff;
padding: 15px 20px;
margin: 0px;
border: none;
overflow: hidden;
}

section.form_area input.long, section.form_area textarea { width: 100%; }
section.form_area input.short { width: 80%; }
section.form_area input.very_short { width: 20%; }

section.form_area select {
font-size: 17px;
color: #282828;
padding: 10px 10px;
margin: 0px;
border: none;
background-color:#fff;
}

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





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

section.form_area #info {
text-align: center;
}

section.form_area #attention {
padding: 0 0;
}

section.form_area #attention p {
text-align: center;
padding-bottom: 30px;
line-height: 1.8;
font-size: 15px;
}

section.form_area #attention span {
color:#90bb20;
}

section.form_area #attention span a{
color:#282828;
}









/* スマホ用CSS */
@media screen and (max-width:767px) {
/* フォームレイアウト */
form .form_box {
position:relative;
width: 100%;
margin: 0 auto 30px;
padding: 30px 20px 20px;
background-color:#f6f6f6;}
form .form_box .ste_num{
margin: 0 auto;
padding: 0 10px 10px 0;
position:absolute;
top:0;
left:0;
font-family: "Poppins", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 12px;
line-height: 12px;
letter-spacing:0.03em;
text-align: center;
color:#9b8c82;
background-color:#fff;
}
form .form_box h4 {
margin: 0 auto 20px;
padding: 0 0;
font-size: 13px;
line-height:13px;
letter-spacing:0.02em;
font-weight: 500;
width:auto;
display: flex;
align-items: center;
text-align: center;
}
form .form_box h4::before,
form .form_box h4::after {
content: "";
flex-grow: 1; /* 左右の線が余白を埋める */
height: 1px; /* 線の太さ */
background: #333; /* 線の色 */
margin: 0 10px; /* 文字と線の間隔 */
}

section.form_area .form_notes{
margin: 0 auto 30px;
padding: 0 0;
font-size: 14px;
line-height:14px;
letter-spacing:0.05em;
font-weight: 500;
text-align: center;
}
section.form_area .caution{
margin: 20px auto 0;
padding: 0 0;
font-size: 11px;
line-height:1.5;
letter-spacing:0.05em;
font-weight: 500;
text-align: left;
}
section.form_area .tel{
margin: 15px auto 0;
padding: 10px 15px;
font-size: 14px;
line-height:1.5;
letter-spacing:0.05em;
font-weight: 500;
text-align: center;
background-color:#ebebeb;
display:block;
width:200px;
}
form .form_box > div .text * {
font-size: 12px; }
section.form_area .address_search_btn {
display: inline-block;
width: 19%;
margin-left: 0;
padding: 12px 0;
text-align: center;
background: #7e7e7e;
font-size: 12px;
line-height: 12px;
font-weight: 500;
}


/* フォームテーブル */
section.form_area form table {
margin: 0 auto 40px;
}
section.form_area form .event_contact tr {
border-bottom:1px solid #ccc;
}
section.form_area form .event_contact th {
width: auto;
min-width: auto;
font-weight: bold;
padding: 20px 0px 0px 0;
position: relative;
vertical-align: top;
font-size: 13px;
text-align:left;
line-height:1.5;
display:block;
}
section.form_area form .event_contact th span {
position: absolute;
right: 0px;
text-align: center;
width: 4em;
padding: 7px 0px;
color: #dc0012;
font-size: 11px;
margin-top: -0.25em;
}
section.form_area form .event_contact td {
width: auto;
padding: 20px 0px 20px 0;
font-size: 13px;
text-align: left;
line-height:1.5;
display:block;
}
/* 送信ボタン */

section.form_area .btnArea {
max-width: 340px;
margin: 0 auto 30px;
padding: 0;
background-color: #90bb20;
border-radius:50px;
}
section.form_area .btnArea_block .btnArea {
width: 150px;
}
section.form_area .btnArea button {
width: 100%;
padding: 16px 0px;
text-align: center;
background-image: url("../images/base/arr2.svg");
background-repeat: no-repeat;
background-position: right 30px top 50%;
background-size:15px auto;
transition-duration: .2s;
}
section.form_area .btnArea button.back {
background: url(../images/form/icon_arrow_white-back.svg) no-repeat center left 20px;
}
section.form_area button {
font-size: 16px;
font-weight: 600;
cursor: pointer;
outline: none;
appearance: none;
border: 0;
display: inline-block;
color: #FFF;
background: none;
}

section.form_area button:hover {
opacity: 0.5;
}


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

section.form_area textarea {
font-size: 13px;
color: #282828;
background-color: #fff;
padding: 6px 10px;
margin: 0px;
border: none;
resize: none;
line-height: 1.5em;
}

section.form_area input[type=text], input[type=email] {
font-size: 13px;
color: #282828;
background-color: #fff;
padding: 10px 15px;
margin: 0px;
border: none;
overflow: hidden;
}

section.form_area input.long, section.form_area textarea { width: 100%; }
section.form_area input.short { width: 80%; }
section.form_area input.very_short { width: 20%; }

section.form_area select {
font-size: 17px;
color: #282828;
padding: 10px 10px;
margin: 0px;
border: none;
background-color:#fff;
}

section.form_area input[type=radio],
section.form_area input[type=checkbox] {
width: 17px;
height: 17px;
vertical-align: top;
margin: 0px 5px 0px 0px;
padding: 0px;
}
/* 注意事項（枠線内） */

section.form_area #info {
text-align: center;
}

section.form_area #attention {
padding: 0 0;
}

section.form_area #attention p {
text-align: left;
padding-bottom: 20px;
line-height: 1.8;
font-size: 12px;
}

section.form_area #attention span {
color:#90bb20;
}

section.form_area #attention span a{
color:#282828;
}

.pc { display: none !important; }
.sp { display: block !important; }

}