@charset "UTF-8";
/* CSS Document */

.error-info,
.errors{
color: #FF0000;
}

/*PC*/
@media print, screen and (min-width: 768px) {


#entry { width: 1000px; margin: 0 auto 120px; }

#entry h3 {
font-size: 4.6rem;
margin-bottom: 40px;
background: linear-gradient(123deg, #2C2826 0%, #0050a6 60%);
background-size: 200% 200%;
background-position: 0 0;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
display: inline-block;
}
#entry h3 span {
display: table;
font-size: 1.6rem;
font-weight: 500;
background: linear-gradient(123deg, #2C2826 0%, #0050a6 45%);
background-size: 200% 200%;
background-position: 0 0;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

#entry .form { width: 100%; position: relative; }

#entry .contact_txt{ width: 100%; position: relative; margin: 0 auto 40px; }
#entry .contact_txt span{
background: linear-gradient(rgb(0, 64, 154) 0%, rgb(0, 124, 200) 100%);
padding: 2px 10px;
color: #FFF;
line-height: normal;
font-style: normal;
}

#entry .pv_tit{
font-size: 1.8rem;
font-weight: 300;
margin: 0 0 30px;
position: relative;
text-align: center;
}

#entry .com_table { width:100%; margin:0 auto 30px; box-sizing: border-box; }
#entry .com_table tr:nth-child(2n-1) { background: rgba(0,0,0,.03) }
#entry .com_table th {
width: 30%;
padding: 20px;
text-align: left;
font-weight: 500;
line-height: normal;
position: relative;
display: table-cell;
}
#entry .com_table th .required {
float: right;
font-size: 0.8em;
background: linear-gradient(rgb(0, 64, 154) 0%, rgb(0, 124, 200) 100%);
padding: 2px 10px;
color: #FFF;
line-height: normal;
font-style: normal;
display: block;
width: 52px;
text-align: center;
}
#entry .com_table td {
padding: 20px;
position: relative;
display: table-cell;
vertical-align: middle;
}

.form-submit {
background:  linear-gradient(90deg, #00488a, #087fba);
border:  #00488a 1px solid;
color: #FFF;
font-size: 1.2em;
padding: 15px 50px;
cursor: pointer;
transition: 0.5s;
}

.form-submit:hover {
background: #fff;
border: #00488a 1px solid;
color: #00488a;
}

.form-submit:hover {
background: #fff;
border: #00488a 1px solid;
color: #00488a;
}

#entry input[type="text"],
#entry input[type="date"],
#entry input[type="email"],
#entry input[type="tel"],
#entry textarea,
#entry select {
padding: 8px;
border: 1px solid #dddddd;
}

#entry .w100 { width: 100px;}
#entry .w240 { width: 240px;}
#entry .w350 { width: 350px;}
#entry .w540 { width: 540px;}
#entry .w100p { width: 100%;}

#entry .h_kome {
background: linear-gradient(90deg, #00488a, #087fba);
color: #fff;
display: inline-block;
font-size: 0.7em;
padding: 1px 10px;
}	

#entry .contact_link_btn01 a{
margin-top:30px;
margin-bottom:30px;
background: #333 none repeat scroll 0 0;
border-radius: 3px;
color: #fff;
display: inline-block;
padding: 10px 50px;
text-align: center;
text-decoration:none;
}

#entry .contact_link_btn01 a:hover{
opacity:0.8;
}

#entry ::placeholder {
color: #999;
}


#entry .btn_back {
background:  #FFF;
border:  #333333 1px solid;
color: #333;
font-size: 1.2em;
padding: 15px 50px;
cursor: pointer;
transition: 0.5s;
}

#entry .btn_back:hover {
background: #333;
border: #333333 1px solid;
color: #FFF;
}

#entry .error_txt {
color: #00488a;
}

#entry .contact-privacy__title {
font-size: 1em;
line-height: 1.6;
}

#entry .contact-privacy__wrap {
width: 100%;
height: 300px;
padding: 20px;
overflow-y: scroll;
box-sizing: border-box;
-webkit-overflow-scrolling: touch;
margin: 30px auto 60px;
background: #f2f5fc;
}

#entry .contact-privacy__list dt {
margin-top: 60px;
margin-bottom: 10px;
font-size: 1em;
line-height: 1.8;
}

#entry .contact-privacy__list dd {
font-size: 1em;
line-height: 1.8;
}

#entry .contact-privacy__list dd:last-child {
margin-bottom: 60px;
}

#entry .contact-privacy__check {
max-width: 600px;
margin: 60px auto;
padding: 30px 40px;
line-height: 1.6 !important;
background-color: #f2f5fc;
text-align: center;
box-sizing: border-box;
}


#entry .com_table td img{
width: 150px;
}


#entry .btn_top a{
width: 300px;
margin: 60px auto 0;
background:  #333333;
border:  #333333 1px solid;
color: #FFF;
font-size: 1.2em;
padding: 15px 50px;
cursor: pointer;
transition: 0.5s;
}

#entry .btn_top a:hover {
background: #fff;
border: #333333 1px solid;
color: #333333;
}


}

/*sp*/
@media only screen and (max-width: 767px) {

#entry { width: 90%; margin:0 auto 60px; }

#entry h3 {
font-size: 3rem;
margin-bottom: 30px;
background: linear-gradient(123deg, #2C2826 0%, #0050a6 60%);
background-size: 200% 200%;
background-position: 0 0;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
display: inline-block;
}
#entry h3 span {
display: table;
font-size: 1.4rem;
font-weight: 500;
background: linear-gradient(123deg, #2C2826 0%, #0050a6 45%);
background-size: 200% 200%;
background-position: 0 0;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}


#entry .form { width: 100%; position: relative; }

#entry .contact_txt{ width: 100%; position: relative; margin: 0 auto 40px; }
#entry .contact_txt span{
background: linear-gradient(rgb(0, 64, 154) 0%, rgb(0, 124, 200) 100%);
padding: 2px 10px;
color: #FFF;
line-height: normal;
font-style: normal;
}

#entry .pv_tit{
font-size: 1.8rem;
font-weight: 300;
margin: 0 0 30px;
position: relative;
text-align: center;
}

#entry .com_table { width:100%; margin:0 auto 30px; box-sizing: border-box; }
#entry .com_table tr:nth-child(2n-1) { background: rgba(0,0,0,.03) }
#entry .com_table th {
display: block;
padding: 10px 20px 0;
text-align: left;
font-weight: 500;
line-height: normal;
position: relative;
}
#entry .com_table th .required {
font-size: 0.8em;
background: linear-gradient(rgb(0, 64, 154) 0%, rgb(0, 124, 200) 100%);
padding: 2px 10px;
color: #FFF;
line-height: normal;
font-style: normal;
float: right;
width: 30px;
text-align: center;
}
#entry .com_table td {
display: block;
padding: 10px 20px;
position: relative;
vertical-align: middle;
}

.form-submit {
background:  linear-gradient(90deg, #00488a, #087fba);
border:  #00488a 1px solid;
color: #FFF;
font-size: 1.2em;
padding: 15px 50px;
cursor: pointer;
transition: 0.5s;
}

.form-submit:hover {
background: #fff;
border: #00488a 1px solid;
color: #00488a;
}

.form-submit:hover {
background: #fff;
border: #00488a 1px solid;
color: #00488a;
}

#entry input[type="text"],
#entry input[type="date"],
#entry input[type="email"],
#entry input[type="tel"],
#entry textarea,
#entry select {
  padding: 8px;
  box-sizing: border-box;
  border: 1px solid #dddddd;
}

#entry .w350 { width: 100%; }
#entry .w100p { width: 100%; }

#entry .h_kome {
background: linear-gradient(90deg, #00488a, #087fba);
color: #fff;
display: inline-block;
font-size: 0.7em;
padding: 1px 10px;
}	

#entry .contact_link_btn01 a {
margin-top:30px;
margin-bottom:30px;
background: #333 none repeat scroll 0 0;
border-radius: 3px;
color: #fff;
display: inline-block;
padding: 10px 50px;
text-align: center;
text-decoration:none;
}

#entry .contact_link_btn01 a:hover {
opacity:0.8;
}

#entry ::placeholder {
color: #999;
}


#entry .btn_back {
background:  #FFF;
border:  #333333 1px solid;
color: #333;
font-size: 1.2em;
padding: 15px 50px;
cursor: pointer;
transition: 0.5s;
}

#entry .btn_back:hover {
background: #333;
border: #333333 1px solid;
color: #FFF;
}

#entry .error_txt {
color: #00488a;
}

#entry .contact-privacy__title {
font-size: 1em;
line-height: 1.6;
margin: 0;
}

#entry .contact-privacy__wrap {
width: 100%;
height: 300px;
padding: 20px;
overflow-y: scroll;
box-sizing: border-box;
-webkit-overflow-scrolling: touch;
margin: 30px auto 60px;
background: #f2f5fc;
}

#entry .contact-privacy__list dt {
margin-top: 30px;
margin-bottom: 10px;
font-size: 1em;
line-height: 1.8;
}

#entry .contact-privacy__list dd {
font-size: 1em;
line-height: 1.8;
}

#entry .contact-privacy__list dd:last-child {
margin-bottom: 60px;
}

#entry .contact-privacy__check {
max-width: 600px;
margin: 60px auto;
padding: 30px 40px;
line-height: 1.6 !important;
background-color: #f2f5fc;
text-align: center;
box-sizing: border-box;
}


#entry .com_table td img{
width: 150px;
}


#entry .btn_top a{
width: 300px;
margin: 60px auto 0;
background:  #333333;
border:  #333333 1px solid;
color: #FFF;
font-size: 1.2em;
padding: 15px 50px;
cursor: pointer;
transition: 0.5s;
}

#entry .btn_top a:hover {
background: #fff;
border: #333333 1px solid;
color: #333333;
}

}

.form-submit:disabled {
  cursor: not-allowed;
  opacity: 0.3;
}

/* ==================================================
   確認モーダル（本体の css/style.css は採用ページで読まれないため追加）
================================================== */
#entry .t-center { text-align: center; }
#entry .mB10 { margin-bottom: 10px; }
#entry .mB30 { margin-bottom: 30px; }

#entry .form-error {
margin-top: 15px;
color: #FF0000;
}

body.is-loading { overflow: hidden; }

.confirmModal {
display: none; /* JSで display:flex に切り替え */
position: fixed;
inset: 0;
z-index: 9999;
align-items: center;
justify-content: center;
padding: 20px;
background: rgba(0, 0, 0, .6);
box-sizing: border-box;
}

.confirmModal__inner {
width: 100%;
max-width: 800px;
max-height: 90vh;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
padding: 50px 40px;
background: #fff;
box-sizing: border-box;
text-align: center;
}

.confirmModal__title {
font-size: 1.4em;
font-weight: 500;
margin-bottom: 15px;
}

.confirmModal__text {
margin-bottom: 30px;
line-height: 1.6;
}

.confirmModal__container {
margin-bottom: 30px;
text-align: left;
}

.confirmModal__container dl {
display: flex;
border-bottom: 1px solid #ddd;
}
.confirmModal__container dl:first-child { border-top: 1px solid #ddd; }

.confirmModal__container dt {
width: 30%;
padding: 15px;
background: #f2f5fc;
font-weight: 500;
box-sizing: border-box;
}

.confirmModal__container dd {
flex: 1;
padding: 15px;
white-space: pre-wrap;
word-break: break-all;
box-sizing: border-box;
}

.confirmModal .contact__btn { margin-top: 15px; }
.confirmModal .contact__btn input { min-width: 240px; }

@media only screen and (max-width: 767px) {
.confirmModal__inner { padding: 30px 20px; }
.confirmModal__container dl { display: block; }
.confirmModal__container dt { width: 100%; padding: 10px 15px; }
.confirmModal__container dd { padding: 10px 15px; }
.confirmModal .contact__btn input { width: 100%; min-width: 0; box-sizing: border-box; }
}

/* CF7のスピナーや空白が場所を取って送信ボタンがずれるための対策 */
.confirmModal .contact__btn {
display: flex;
justify-content: center;
align-items: center;
position: relative;
}
.confirmModal .contact__btn .wpcf7-spinner {
display: none !important;
}
