@charset "UTF-8";
/* ========================================================================== */

/* F O R M . C S S */

/* ========================================================================== */
select::-ms-expand {
    display: none;
}
.form_container {
 max-width: 600px;
  margin: 0 auto 3rem;
}
@media screen and (max-width: 767px) {
  .form_container {
   max-width: 100%;
    margin: 0 auto;
  }
}
.check_list {
    background-color: #e4f3e7;
    background-image: url(../img/town.png);
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: contain;
    background-size: 90%;
    padding-bottom: 1.5rem;
}
#form {
    width: 600px;
    max-width: 662px;
    padding: 1rem 3rem 6rem;
    margin: 0 auto;
    text-align: center;
    background-color: #fff;
    /* border-radius: 10px; */
}
#form.thanks {
    font-size: 16px;
}
@media screen and (max-width: 767px) {
    #form {
        width: 94%;
        margin: 0 auto 80px;
        text-align: left;
        padding: 30px 10px 6rem;
    }
}

.head_inner{
    max-width: 980px;
    padding: 0 20px;
    margin: 0 auto;
}
.note, .note.hissu {
    color: #fff;
    font-size: 60%;
    font-weight: normal;
    text-shadow: 0 0 0;
    background-color: #ff6868;
    padding: 2px 3px;
    margin-right: 3px;
}
.note.nini {
    background-color: #5db8ed!important;
}
.page_no{
    text-align:center;
    font-size:12px;
    color:#898989;
}
.btn_next {
    width: 96%;
    clear: all;
    margin: 0 auto;
}
.btn_next input {
  display: inline-block;
  padding: 14px 28px;
  font-size: 1.2rem;
  font-weight: 600;
  text-align: center;
  background: linear-gradient(180deg, #0faf37 0%, #245933 100%);
  color: #fff;
  /* border: 1px solid #dec05e; */
  border-radius: 8px;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease;
  outline: none;
  overflow: hidden;
  position: relative;
}
/* hover */
.btn_next input:hover {
  background: linear-gradient(180deg, #12c33f 0%, #2b6f40 100%);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.22);
  transform: translateY(-1px);
}
/* active */
.btn_next input:active {
  transform: translateY(1px);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}
/* focus（キーボード操作・アクセシビリティ対応） */
.btn_next input:focus-visible {
  box-shadow:
    0 0 0 4px rgba(255, 255, 255, 0.4) inset,    /* 内側の白発光で視認性確保 */
    0 0 0 3px rgba(222, 192, 94, 0.6),           /* 外側は淡いゴールドの縁 */
    0 3px 10px rgba(0, 0, 0, 0.22);
}
.btn_next input.btn_big {
    padding: 20px;
}
.btn_next input.btn_left {
    float: left;
    background-color: #8d9398!important;
    border-bottom: solid 4px #404040!important;
}
.btn_next input.btn_right {
    float: right;
}
@media screen and (max-width: 767px) {
    /* .btn_next input {
        font-size: 100%;
        width: 80%;
        margin: 2.8em auto 0;
    } */
}

.question-box{
    width:96%;
    max-width: 500px;
    margin: 0 auto 2em;
    text-align: left;
}
@media screen and (max-width: 767px) {
    .question-box{
        margin: 0 auto 1.6em;
    }
}

.question-title{
    font-weight: bold;
    padding-left: 5px;
    margin-bottom: 2px;
}

.question-box input[type='checkbox'], .question-box input[type='radio']{
    filter: alpha(opacity=0); -moz-opacity:0; opacity:0;
    position: absolute;
}
.radio01-parts{
  padding-left: 24px;
  position:relative;
  margin-right: 20px;
}
.radio01-parts::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #999;
  border-radius: 50%;
}
.radio01-input:checked + .radio01-parts{
  color: #2393ad;
}
.radio01-input:checked + .radio01-parts::after{
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  width: 14px;
  height: 14px;
  background: #70bbcd;
  border-radius: 50%;
}

.checkbox01-parts{
  padding-left: 24px;
  position:relative;
  margin-right: 20px;
}
.checkbox01-parts::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border: 1px solid #999;
  border-radius: 4px;
}
.checkbox01-input:checked + .checkbox01-parts{
  color: #2393ad;
}
.checkbox01-input:checked + .checkbox01-parts::after{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 5px;
  width: 10px;
  height: 16px;
  transform: rotate(40deg);
  border-bottom: 3px solid #70bbcd;
  border-right: 3px solid #70bbcd;
}

.check_list figure {
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.check_list figure {
		/* width:100%; */
	}
}

.select-box01 select {
    font-size: 105%;
    position: relative;
    width: 100%;
    padding: 10px;
    appearance: none;
    -webkit-appearance: none;
    border: 2px solid #a9a9a9;
    background: #fff;
    border-radius: 10px;
}
.select-box01 select.ok{
    border: 2px solid #a0d8e5;
    background: #fff;
}
.select-box01 select.ng{
    border: 2px solid #fe6969;
    background: #fff;
}
.select-box01 label {
  position: relative;
}
@media screen and (max-width: 767px) {
    .select-box01 select {
        font-size: 105%;
        position: relative;
        width: 100%;
        padding: 10px;
    }
}

.title_wrap {
  max-width: 600px;
  margin: 0 auto;
}
.title_img {
  width: 100%;
  aspect-ratio: 2048 / 646; /* 画像と同じ縦横比に固定 */
  background: #e4f3e7 url(../img/top8.jpg) no-repeat center center;
  background-size: cover;   /* 枠いっぱいに表示 */
}
@media screen and (max-width: 767px) {
  .title_img {
    width: 94%;
    margin: 0 auto;
  }
}
/* .title_img {
    width: 100%;
    max-width: 600px;
    height: 0;
    padding-top: 26%;
    background:#e4f3e7 url(../img/top8.jpg) no-repeat center center;
    background-size:contain;
} */

#form h3 {
  margin-bottom: 30px;
}
#form p {
  margin-bottom: 20px;
}
#form p.attention_text {
  font-size:0.65em;
  margin-bottom:1em;
  color:#898989;
}
#form .heading {
  font-size: 200%;
  margin: 1em 0 0.625em;
}
#form .heading:nth-child(1) {
  margin: 0 auto 0.625em;
}
#form strong {
  color: #d82448;
}

@media screen and (max-width: 64em) {
    /* #form {
        width: 98%;
        margin: 0 auto 80px;
        text-align: left;
        padding: 30px 10px;
    } */
    /* .select-box01 select {
        font-size: 105%;
        position: relative;
        width: 100%;
        margin: 0 auto;
        display: block;
        padding: 10px;
        appearance: none;
        -webkit-appearance: none;
        border: 2px solid #f9eabf;
        background: #fff4d3;
        border-radius: 10px;
    } */
}

.button {
  display: table;
  margin: 0.5em auto 0;
}
.button span {
  display: inline-block;
  margin: 0 0.5em;
  padding: 0.5em 0;
}
input[type=text], input[type=tel], input[type=email], textarea {
  /* background: #fff;
  border: solid 2px #e8e8e8;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box; */
  box-sizing: border-box;
  border: 2px solid #a9a9a9;
  background: #fff;
  border-radius: 10px;
  font-size: 70%;
  min-height: 2.25em;
  width: 100%;
  font-size: 105%;
  padding: 0 10px;
}
input[type=text].ok, input[type=tel].ok, input[type=email].ok, textarea.ok {
    border: 2px solid #a0d8e5;
    background: #fff;
}
input[type=text].ng, input[type=tel].ng, input[type=email].ng, textarea.ng {
    border: 2px solid #fe6969;
    background: #fff;
}
@media screen and (max-width: 767px) {
    input[type=text], input[type=tel], input[type=email], textarea {
        width: 100%;
    }
}

input:-webkit-input-placeholder {
    color: #ccc;
    font-weight: normal;
}
input:-ms-input-placeholder {
    color: #ccc;
    font-weight: normal;
}
input:-moz-placeholder {
    color: #ccc;
    font-weight: normal;
}

input[type=button] {
  line-height: 1.25em;
}
textarea {
  line-height: 1.5em;
  padding: 0.375em 0.5em;
}
#form ul li input[type=text], #form ul li input[type=tel], #form ul li input[type=email], #form ul li textarea {
  width: 75%;
}
#form ul li textarea {
  vertical-align: middle;
}
#form input[type=text].quarter {
  width: 25%;
}
#form input[type=text].half {
  width: 50%;
}
label {
  vertical-align: middle;
}
.checkbox, .radio {
  cursor: pointer;
  display: inline-block;
  margin: 0 20px 0 0;
  padding-left: 0.375em;
}
ol.checkboxSelect li, ol.radioSelect li {
  display: inline-block;
  vertical-align: middle;
  margin-right: 1em;
  padding: 0.25em 0;
}

.button input[type=submit], .button input[type=button], .button input[type=reset] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  border-radius: 6px;
  border: none;
  display: inline-block;
  font-size: 120%;
  color: #fff;
  text-align: center;
  line-height: 1em;
  padding: 1.2em 4em;
  position: relative;
}
.button input[type=submit], .button input[type=button] {
  background: #e61a69;
  box-shadow: 0 5px 0 #b21451;
}
.button input[type=submit]:hover, .button input[type=button]:hover {
  opacity: 1.0;
  box-shadow: none;
  margin: 5px auto -5px;
  position: relative;
}
#form .err {
  border: 3px solid #ff0000;
  margin-top: 0.25em;
  margin-bottom: 0.75em;
  padding: 0.75em 1em;
}
#form .err p {
  font-weight: bold;
  color: #ff0000;
  text-align: center;
  line-height: 1.5em;
}

/* ───────────────────────────────────────────────────────────── IE8 HACK */

.ie8 .bottom #header {
  background: none;
}
.ie8 select {
  margin: 0.375em 0;
}

/* ───────────────────────────────────────────────────────────── TABLET CSS */

@media only screen and (max-width: 800px) {
    #form .heading {
      font-size: 150%;
      margin: 0.75em 0 0.5em;
      padding: 0;
    }
    #form .heading:nth-child(1) {
      margin: 0 0 0.5em;
    }
}


#thanks{
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    padding: 40px 0;
}
.thanks_inner{
    font-size: 20px;
    padding: 40px 0;
    background-color: #eff2f5;
    border-radius: 12px;
    border: solid 2px #000;
    border: solid 2px #e4e8ed;
}
.thanks_inner a {
    background-color: #8b8b8b;
    padding: 8px 16px;
    color: #fff;
    border-radius: 12px;
}


footer {
  padding: 0;
}
footer .form_container {
  width: 1000px;
  margin: 0 auto;
  display: block;
  overflow: hidden;
}
footer .form_container div {
  width: 100%;
  font-size: 0.7em;
  text-align: center;
}
.footer-logo {
  margin: 0 0 20px;
}
.copy {
  color: #9b9b9b;
  font-size: 0.8em;
  text-align: center;
  padding: 25px 0;
  background-color: #eff2f5;
  display: block;
}
.copy a {
    text-decoration: none;
    color: #9b9b9b;
}







#alert {
    margin: 15px 0;
    padding: 10px;
    border: 3px solid #ff0000;
    text-align: left;
    border-radius: 10px;
    background: #ffdddd;
}
#alert p {
    padding-top: 5px;
    color: #ff0000;
}
#alert a {
    color: #ff0000;
}
#alert li {
    background: #ffdddd;
    color: #ff0000;
    border: none;
    margin: 10px;
    padding: 5px;
    font-size: 1em;
}

.text-tel {
    width: 5rem !important;
}
