@charset "utf-8";

/*=================================

form

=================================*/
.form_table {
 border-top:1px solid var(--gray_dd);
 display:flex;
 flex:0 0 100%;
 flex-direction:column;
 justify-content:center;
 padding:0 50px;
}

.form_table form {
 display:flex;
 flex-direction:column;
 width:100%;
}

.form_table dl {
 align-items:start;
 border-bottom:1px solid var(--gray_dd);
 display:flex;
 flex:0 0 100%;
 flex-wrap:wrap;
 justify-content:start;
 padding:30px 0;
 row-gap:15px;
 width:100%;
}

.form_table dl dt {
 align-items:center;
 column-gap:15px;
 display:flex;
 flex:1 1 20%;
 justify-content:start;
 padding:10px 0 0;
 min-width: 200px;
 flex-grow: 1;
}

.form_table dl dt span:first-child {
 background-color:var(--gray_99);
 border-radius:3px;
 color:var(--white);
 font-size:1.3rem;
 padding:5px;
 white-space:nowrap;
}

.form_table dl dt span.nessesary {
 background-color:var(--deep-red);
}

.form_table dl dt span.any {
 background-color:var(--teal);
}

.form_table dl dt label {
 font-size:1.6rem;
 line-height:1.4;
}

.form_table dl dd {
 display:flex;
 flex-wrap:wrap;
 row-gap:15px;
}

.form_table dl dd:nth-child(2) {
 align-items:center;
 column-gap:5px;
 display:flex;
 flex:1 1 75%;
 flex-wrap:wrap;
 justify-content:start;
 padding:0;
 row-gap:20px;
 min-width: calc(100% - 240px);
 max-width: 100%;
 flex-grow: 1;
}

.form_table dl dd:last-child {
 width:100%;
} 

.form_table dl dd > span {
 font-size:1.6rem;
 line-height:1.6;
}

.form_table dl dd > span.pc {
 font-size:1.2rem;
}

.form_table dl dd.note {
 flex:0 0 100%;
 flex-wrap:nowrap;
}

.form_table dl dd.note span {
 color:var(--gray_99);
 font-size:1.2rem;
 line-height:1.6;
}

.form_table dl dd input {
 border:1px solid var(--gray_cc);
 font-size:1.6rem;
 line-height:1.6;
 padding:10px;
 width:100%;
}

.form_table dl dd input::placeholder {
 color:var(--gray_cc);
}

.form_table dl dd.v_short > span input,
.form_table dl dd.v_short > input,
.form_table dl dd.v_short > select {
 width:30%;
 min-width:200px;
}

.form_table dl dd.short > span input,
.form_table dl dd.short > input,
.form_table dl dd.short > select {
 width:60%;
}

.form_table dl dd.middle > span input,
.form_table dl dd.middle > input,
.form_table dl dd.middle > select {
 width:80%;
}

.form_table dl dd.long > span input,
.form_table dl dd.long > input,
.form_table dl dd.long > select {
 width:100%;
}

.form_table dl dd select {
 background-color:var(--white);
 border:1px solid var(--gray_cc);
 border-radius:6px;
 color:var(--gray_33);
 font-size:1.5rem;
 line-height:1.6;
 padding:11px 31px 11px 16px;
 width:100%;
}

.form_table dl dd textarea {
 font-size:1.5rem;
 min-height:100px;
 padding:10px;
 width:100%;
}

.form_table .support_link {
 margin-top: 15px;
 text-align: left;
}

.form_table > .note {
 align-items: center;
 display: flex;
 flex: 0 0 100%;
 flex-wrap: wrap;
 justify-content: start;
 margin-top: 15px;
}

.form_table .btn_list_area {
 align-items:center;
 column-gap:15px;
 display: flex;
 justify-content: center;
 row-gap:15px;
 padding:30px 0 0;
}

.form_table .btn_list_area li {
 align-items:center;
 column-gap:15px;
 display: flex;
 justify-content: center;
 position:relative;
}

.form_table .btn_list_area li input {
 background: rgb(84, 180, 235);
 background: -moz-linear-gradient(top, rgb(84, 180, 235) 0%, rgb(47, 164, 231) 60%, rgb(29, 156, 229) 100%);
 background: -webkit-linear-gradient(top, rgb(84, 180, 235) 0%, rgb(47, 164, 231) 60%, rgb(29, 156, 229) 100%);
 background: linear-gradient(to bottom, rgb(84, 180, 235) 0%, rgb(47, 164, 231) 60%, rgb(29, 156, 229) 100%);
 -webkit-filter: none;
 filter: none;
 border: 1px solid #2fa4e7;
 border-radius: 3px;
 color: var(--white);
 font-size: 1.6rem;
 font-weight: 600;
 padding: 25px 70px;
 line-height: 1;
 text-decoration: none;
}

.form_table .btn_list_area li:after {
 content: "\f054";
 color: var(--white);
 font-family: var(--icon);
 font-size: 1rem;
 margin-top: -8px;
 right: 20px;
 position: absolute;
 top: 50%;
 opacity: 0.5;
}

.form_table .btn_list_area li:hover input {
 opacity:0.7;
}

.form_table dl dd.select_btn {
 position:relative;
}

.form_table dl dd.select_btn:after {
 color: var(--gray_99);
 content: "\f078";
 z-index: 11;
 position: absolute;
 font-family:var(--icon);
 bottom: 50%;
 right: 15px;
 margin-bottom:-12px;
}

/*--- termscheck --*/

.termscheck {
 margin-top:30px;
 overflow:hidden;
 padding:0;
 width:100%;
}

.termscheck dl {
 border:1px solid var(--gray_dd);
 background-color:#f3fbfa;
 border-radius:3px;
 flex-direction:column;
 justify-content: center;
 align-items: center;
 padding:25px 20px;
 row-gap: 10px;
}

.termscheck dl dt {
 font-size:1.6rem;
 justify-content:center;
 flex:1;
 min-width:100%;
 padding:0;
 text-align:center;
}

.termscheck dl dd {
 display:flex;
 flex:1;
 flex-direction:column;
 justify-content: center;
 align-items: center;
 padding:0;
 row-gap:10px;
 text-align:center;
}

.termscheck dl dd p {
 font-size:1.4rem;
 text-align:center;
}

.termscheck dl dd label {
 display:inline-block;
 letter-spacing:normal;
}

.termscheck dl dd span {
 display:block;
 font-size:1.4rem;
 margin:0;
 width:100%;
}

.termscheck dl dd span a {
 color:#F07800;
 text-decoration:none;
}

.termscheck dl dd span a:hover {
 color:#3399cc;
 text-decoration:underline;
}

.termscheck .agree_btn {
 align-items:center;
 border-radius:3px;
 display:flex;
 justify-content: center;
 margin:0 auto;
 padding:0;
 text-align:center;
 width:100%;
}

.termscheck .agree_btn label {
 background-color:var(--white);
 border-radius:3px;
 border:1px solid var(--gray_dd);
 display:inline-block;
 line-height:1.4;
 padding:0;
 position:relative;
 vertical-align:middle;
 width:100%;
}

.termscheck .agree_btn label:hover {
 background-color:#fbfbde;
 cursor:pointer;
}

.termscheck .agree_btn label input[type='checkbox'] {
 border:1px solid var(--gray_cc);
 border-radius:3px;
 margin-right:5px;
 display:none;
}

.termscheck .agree_btn label input[type="checkbox"] + span {
 display: block;
 margin: 0;
 padding:15px;
 width: 100%;
 position: relative;
}

.termscheck .agree_btn label input[type="checkbox"] + span:before {
 background-color:var(--white);
 width:17px;
 height:17px;
 border-radius:3px;
 border:1px solid var(--gray_dd);
 content:" ";
 position:absolute;
 left:13px;
 top:50%;
 margin-top:-7px;
}

.termscheck .agree_btn label input[type="checkbox"]:checked + span {
 background-color:#fbfbde; 
}

.termscheck .agree_btn label input[type="checkbox"]:checked + span:after {
 content:"\f00c";
 color:#139f15;
 font-family:var(--icon);
 font-size:1.3rem;
 font-weight: 900;
 margin-top:-8px;
 position:absolute;
 left:17px;
 top:50%;
}

.termscheck .agree_btn label:hover input[type='checkbox'] + span {
 background-color:#fbfbde;
 cursor:pointer;
}

.termscheck .agree_btn > span {
 display:flex;
 flex-direction:column;
 row-gap:10px;
}

/*---------------------------------------------

wpcf7-style

---------------------------------------------*/
.wpcf7-spinner {
 position:absolute;
 top:50%;
 right:0;
 margin-top:-12px;
}

.wpcf7-form-control-wrap {
 display: flex;
 flex-direction: column;
 row-gap:20px;
}

.date-select span {
 width:auto;
}

.wpcf7-form-control-wrap {
 width:100%;
}

.wpcf7-checkbox,
.wpcf7-radio {
 display:flex;
 flex-direction:column;
 width:100%;
}

.wpcf7-checkbox .wpcf7-list-item label,
.wpcf7-radio .wpcf7-list-item label {
 background-color:var(--white);
 border-right: 1px solid var(--gray_cc);
 border-bottom: 1px solid var(--gray_cc);
 border-left: 1px solid var(--gray_cc);
 display:flex;
 position:relative;
}

.wpcf7-checkbox .wpcf7-list-item label input,
.wpcf7-radio .wpcf7-list-item label input {
 display: none;
}

.wpcf7-checkbox .wpcf7-list-item label span,
.wpcf7-radio .wpcf7-list-item label span {
 position:relative;
 margin-right:0;
 vertical-align:middle;
 line-height:1.6;
 display:inline-block;
 padding: 10px 10px 10px 42px;
 position:relative;
}

.wpcf7-checkbox .wpcf7-list-item label span:before,
.wpcf7-radio .wpcf7-list-item label span:before {
 background-color:var(--white);
 content: " ";
 display: block;
 position: absolute;
 top: 50%;
 left: 12px;
 width: 18px;
 height: 18px;
 border: 1px solid var(--gray_cc);
 border-radius: 50%;
 margin-top: -9px;
}

.wpcf7-checkbox .wpcf7-list-item label input:checked + span,
.wpcf7-radio .wpcf7-list-item label input:checked + span {
 background-color:var(--light_yellow);
 font-weight:600;
}

.wpcf7-checkbox .wpcf7-list-item label input:checked + span::after,
.wpcf7-radio .wpcf7-list-item label input:checked + span::after {
 content: " ";
 display: block;
 position: absolute;
 top: 50%;
 left: 15px;
 width: 12px;
 height: 12px;
 background: var(--teal);
 border-radius: 50%;
 margin-top:-6px;
}

.wpcf7-checkbox .wpcf7-list-item.first,
.wpcf7-radio .wpcf7-list-item.first {
 border-radius: 6px 6px 0 0;
 border-top: 1px solid var(--gray_cc);
}

.wpcf7-checkbox .wpcf7-list-item.first label,
.wpcf7-radio .wpcf7-list-item.first label,
.wpcf7-checkbox .wpcf7-list-item.first label span,
.wpcf7-radio .wpcf7-list-item.first label span {
 border-radius: 6px 6px 0 0;
}

.wpcf7-checkbox .wpcf7-list-item.last,
.wpcf7-radio .wpcf7-list-item.last {
 border-radius: 0 0 6px 6px;
}

.wpcf7-checkbox .wpcf7-list-item.last label,
.wpcf7-checkbox .wpcf7-list-item.last label span,
.wpcf7-radio .wpcf7-list-item.last label,
.wpcf7-radio .wpcf7-list-item.last label span {
 border-radius: 0 0 6px 6px;
}

.form_table dl dd.list .wpcf7-list-item {
 margin:0;
 padding:0;
 width:100%;
}

.form_table dl dd.list .wpcf7-list-item label {
 width:100%;
}

.wpcf7-radio .wpcf7-list-item label span {
 width:100%;
}

.form_table dl dd.list .wpcf7-list-item label:hover {
 background-color:var(--light_yellow);
 cursor:pointer;
}

.wpcf7-not-valid-tip {
 background-color: #f2dede;
 border-color: #eed3d7;
 color: #b94a48;
 display: flex;
 font-size:1.4rem;
 padding: 15px 20px;
 gap: 5px;
 flex-wrap: wrap;
 margin: 0;
 border: 1px solid transparent;
 border-radius: 4px;
 line-height: 1.6;
 min-width: 200px;
 text-align:center;
 position: relative;
 width: 100%;
}

/*------------------------------------------------------------
send-popup
------------------------------------------------------------*/
#popup_window {
 /*background-color:var(--black);*/
 /*opacity:0.7;*/
 position:fixed;
 height:100%;
 width:100%;
 top: 0;
 left: 0;
 z-index: 1010;
}

#popup_window:before {
 background-color:var(--black);
 content: '';
 position: absolute;
 opacity:0.2;
 top: 0;
 left: 0;
 height:100%;
 width:100%;
 z-index: 1011;
}

#popup_window .sending-popup {
 align-items:center;
 background-color:var(--white);
 border-radius:10px;
 display:flex;
 flex-direction:column;
 height:200px;
 justify-content:center;
 position:absolute;
 top:0;
 right:0;
 bottom:0;
 left:0;
 margin:auto;
 row-gap:15px;
 width:200px;
 z-index: 1012;
}

#popup_window .sending-popup .loader {
 /*visibility: hidden;*/
 display: inline-block;
 background-color: var(--blue);
 opacity: .75;
 width: 24px;
 height: 24px;
 border: none;
 border-radius: 100%;
 padding: 0;
 margin: 0;
 position:relative;
}

#popup_window .sending-popup .loader:before {
 content: '';
 position: absolute;
 background-color: #fbfbfc;
 top: 4px;
 left: 4px;
 width: 6px;
 height: 6px;
 border: none;
 border-radius: 100%;
 transform-origin: 8px 8px;
 animation-name: spin;
 animation-duration: 1s;
 animation-timing-function: linear;
 animation-iteration-count: infinite;
}

#popup_window .sending-popup .loader:after {
 content: none;
 color: var(--white);
 font-family: var(--icon);
 font-size: 1rem;
 margin-top: -8px;
 right: 20px;
 position: absolute;
 top: 50%;
 opacity: .5;
}

#popup_window .sending-popup p {
 color:var(--gray_33);
 font-size:1.6rem;
}

/*------------------------------------------------------------
alert-box
------------------------------------------------------------*/
#contents .wpcf7 form .wpcf7-response-output {
 border: 2px solid #eed3d7;
 margin: 0 auto;
 padding: 15px 30px 15px 45px;
 border-radius:6px;
 position: fixed;
 bottom:20px;
 width:calc(100% - 80px);
 left: calc(40px);
 display: flex;
 justify-content: center;
 font-size: 1.6rem;
 z-index:101;
 opacity:0;
}

#contents .wpcf7 form.invalid .wpcf7-response-output {
 -moz-animation: fadeOut 1s ease-out 5s forwards;
 -webkit-animation: fadeOut 1s ease-out 5s forwards;
 -o-animation: fadeOut 1s ease-out 5s forwards;
 animation: fadeOut 1s ease-out 5s forwards;
 -webkit-animation-fill-mode: forwards;
 animation-fill-mode: forwards;
 opacity:1;
}

#contents .wpcf7 form .wpcf7-response-output:before {
 content:"\f071";
 color:#b94a48;
 font-family: var(--icon);
 font-weight:700;
 left:20px;
 top:50%;
 margin-top:-12px;
 position:absolute;
}

#contents .wpcf7 form.sent .wpcf7-response-output {
 background-color: #dff0d8;
 border-color: #d6e9c6;
 color: #468847;
}

#contents .wpcf7 form.sent .wpcf7-response-output:before {
 color: #468847;
}

#contents .wpcf7 form.failed .wpcf7-response-output,
#contents .wpcf7 form.aborted .wpcf7-response-output {
 background-color: #f2dede;
 border-color: #eed3d7;
 color: #b94a48;
}

#contents .wpcf7 form.failed .wpcf7-response-output:before {
 color:#b94a48;
}

#contents .wpcf7 form.spam .wpcf7-response-output {
 background-color: #fcf8e3;
 border-color: #fbeed5;
 color: #c09853;
}

#contents .wpcf7 form.invalid .wpcf7-response-output,
#contents .wpcf7 form.unaccepted .wpcf7-response-output,
#contents .wpcf7 form.payment-required .wpcf7-response-output {
 background-color: #f2dede;
 border-color: #eed3d7;
 color: #b94a48;
}

#contents .wpcf7 form.invalid .wpcf7-response-output,
#contents .wpcf7 form.unaccepted .wpcf7-response-output,
#contents .wpcf7 form.payment-required .wpcf7-response-output {
 border-color: #eed3d7;
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

/*--- 確認ボタン押下時にエラー表示（表示はjs制御） --*/
#contents .wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
 display: none;
}

#contents .wpcf7-form-control-wrap.is-show > .wpcf7-not-valid-tip {
 display: block;
}