@charset "UTF-8";

*,
::before,
::after {
-webkit-box-sizing: border-box;
        box-sizing: border-box;
border-style: solid;
border-width: 0;
}

/* カラー設計 */
:root{
--main-color01: #219EAC;
--main-color02: rgba(188,240,213,0.6);
--main-color02_sdw: rgba(188,240,213,1);
--main-color03_bg: #fffff0;
}

@media screen and (max-width: 750px) {
  .spNone { display:none; }
}
@media screen and (min-width: 751px) {
  .pcNone { display:none; }
}


/* -------------------------------
ヘッダー、フッター
------------------------------- */
#container .header_name {
text-align: center;
font-size: 16px;
font-weight: normal;
line-height: 42px;
}
#container .site-footer {
padding:2rem 5% 1rem;
}
#container .site-footer ul.link {
display: flex;
justify-content: center;
gap:1em 2em;
margin-bottom:2rem;
}
#container .site-footer ul.link li a {
text-decoration: none;
font-size:0.7em;
line-height: 1.2em;
color:#333;
}
#container .site-footer .copyRight {
text-align: center;
font-size:60%;
}



/* -------------------------------
form
------------------------------- */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/* Correct the outline style in Safari. */
[type="search"] {
  outline-offset: -2px;
}

/* Remove the inner padding in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

label[for] {
  cursor: pointer;
}

/* テキスト入力カーソル */
[contenteditable] {
  outline: none;
}


body {
  color: #000000;
  background-color: #f4f4f4;
  counter-reset: number 0;
  font-size: 20px;
}
main {
  width: 100%;
}
img {
  width: 100%;
}

.main-content {
  width: 640px;
  min-height: 100%;
  min-height: 100vh;
  margin: 0 auto;
  font-family: 'Noto Sans JP', sans-serif;
  background-color: #fff;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 640px) {
  .main-content {
    width: 100vw;
  }
}


.navi {
  width: 100%;
  margin: 0 auto;
  padding: 20px 0;
  line-height: 1.5em;
  font-size: 26px;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .navi {
    font-size: 0.9rem;
  }
}

.navi ol {
display: flex;
flex-wrap: nowrap;
justify-content: center;
margin-top:1rem;
}

.navi ol li {
position: relative;
}
.navi ol li:not(:first-child) {
margin-left:25px;
}
.navi ol li span {
display:block;
width: 40px;
height: 40px;
line-height: 35px;
border-radius: 100%;
font-size: 14px;
background-color: #fff;
border:var(--main-color01) solid 2px;
box-sizing: border-box;
color:var(--main-color01);
text-align: center;
font-weight:bold;
}
.navi ol li:last-child span {
font-size:80%;
}
@media screen and (min-width: 641px) {
  .navi ol li span {
  width: 60px;
  height: 60px;
  line-height: 52px;
  font-size:20px;
  }
}

.navi ol li:not(:last-child):after {
  width: 13px;
  height: 11px;
  position: absolute;
  top: calc(50% - 5px);
  right: -20px;
  content: '';
  background: url(../../img/sim_saimu2_dh/icon_arr_r.svg);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
}


#q1 > .navi > ol > li:first-child span {
  color: #fff;
  background-color: var(--main-color01);
}

#q2 > .navi > ol > li:first-child span  {
  color: #fff;
  background-color: var(--main-color01);
  opacity: .3;
}

#q2 > .navi > ol > li:nth-child(2) span  {
  color: #fff;
  background-color: var(--main-color01);
}

#q3 > .navi > ol > li:first-child span ,
#q3 > .navi > ol > li:nth-child(2) span  {
  color: #fff;
  background-color: var(--main-color01);
  opacity: .3;
}

#q3 > .navi > ol > li:nth-child(3) span {
  color: #fff;
  background-color: var(--main-color01);
}

#q4 > .navi > ol > li:nth-child(4) span  {
  color: #fff;
  background-color: var(--main-color01);
}

#q4 > .navi > ol > li:first-child span ,
#q4 > .navi > ol > li:nth-child(2) span ,
#q4 > .navi > ol > li:nth-child(3) span  {
  color: #fff;
  background-color: var(--main-color01);
  opacity: .3;
}

#q5 > .navi > ol > li:nth-child(5) span {
  color: #fff;
  background-color: var(--main-color01);
}
#q5 > .navi > ol > li:first-child span,
#q5 > .navi > ol > li:nth-child(2) span,
#q5 > .navi > ol > li:nth-child(3) span,
#q5 > .navi > ol > li:nth-child(4) span {
  color: #fff;
  background-color: var(--main-color01);
  opacity: .3;
}

.contact-inner > .navi > ol > li:first-child span ,
.contact-inner > .navi > ol > li:nth-child(2) span ,
.contact-inner > .navi > ol > li:nth-child(3) span ,
.contact-inner > .navi > ol > li:nth-child(4) span
.contact-inner > .navi > ol > li:nth-child(5) {
  color: #fff;
  background-color: var(--main-color01);
  opacity: .3;
}

.contact-inner > .navi > ol > li:nth-child(5) span {
  color: #fff;
  background-color: var(--main-color01);
}



.shindan {
  width: 100%;
  overflow-x: scroll;
  overflow: hidden;
  background: var(--main-color03_bg);
  padding-bottom:1rem;
}
.shindan-container {
  width: 600vw;/* アンケートスライド数 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
  box-sizing: border-box;
}
.shindan-container-inner {
  width: 100vw;
  padding: 0 1%;
  box-sizing: border-box;
}
@media screen and (min-width: 641px) {
  .shindan-container {
  width: 3840px; /* 640px ✕　アンケートスライド数 */
  }
  .shindan-container-inner {
  width: 100%;
  }

}


.shindan-container-inner .question {
  width: 100%;
  margin: 0 auto;
  padding-bottom: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 24px;
  background-color: #fff;
  -webkit-box-shadow: 3px 3px 20px rgba(28, 71, 52, 0.3);
          box-shadow: 3px 3px 20px rgba(28, 71, 52, 0.3);
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 640px) {
  .shindan-container-inner .question {
    width: 90vw;
    padding-bottom: 20px;
    border-radius: 16px;
  }
}

.shindan-container-inner .question h2 {
  padding: 1rem 0.5em;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: 1rem;
  line-height:1.5em;
  color: #fff;
  background-color: var(--main-color01);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  align-items:flex-start;
}
.shindan-container-inner .question > p {
  margin:1rem 1rem 0;
  font-size:90%;
}
@media screen and (min-width: 641px) {
  .shindan-container-inner .question h2 {
  padding: 30px 40px;
  font-size: 1.5rem;
  }
}

.shindan-container-inner .question h2::before {
display: block;
font-size: 30px;
counter-increment: number 1;
content: "Q" counter(number) ".";
margin-right: 10px;
font-weight: normal;
}

.shindan-container-inner .question-container {
  padding: 0.5rem 3% 0;
  text-align: center;
}

.shindan-container-inner .question-container .long-label {
  padding: 14px;
  line-height: 1.2em;
}

.shindan-container-inner .question-container label {
  width: 460px;
  height: 80px;
  margin: 20px auto 10px;
  text-align: center;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: 500;
  font-size: 24px;
  border-radius: 100vw;
  display: inline-block;
  background-color: var(--main-color02);
  -webkit-box-shadow: 0 4px 0 var(--main-color02_sdw);
          box-shadow: 0 4px 0 var(--main-color02_sdw);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 640px) {
  .shindan-container-inner .question-container label {
    width: 300px;
    height: 50px;
    margin: 12px auto;
    font-size: 1.1rem;
  }
}

.shindan-container-inner .question-container label > span {
  font-size: 130%;
  margin-top:-3px;
}
.shindan-container-inner .back_btn {
  width:60%;
  margin-right: auto;
  margin-top: 20px;
}
.shindan-container-inner .back_btn button {
background:none;
font-size: 1rem;
font-weight: bold;
cursor: pointer;
color: #333;
}
.shindan-container-inner .back_btn button::before {
content: "";
display: inline-block;
width: 16px;
height: 16px;
margin-bottom: 3px;
background-image: url(../../img/sim_saimu2_dh/icon_arr_r.svg);
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
margin-right:5px;
transform: rotate(180deg);
}


.shindan-container-inner .radiobutton {
  display: none;
}

.shindan-container-inner .radiobutton:checked + label {
  margin-top: 15px;
  margin-bottom: 0;
  color: #fff;
  background-color: var(--main-color01);
  -webkit-box-shadow: none;
          box-shadow: none;
}

@media screen and (min-width: 641px) {
  .shindan-container-inner .radiobutton:checked + label {
    margin-top: 30px;
    margin-bottom: 10px;
  }
}

.shindan-container .contact {
  width: 100%;
  padding: 0 1%;
}
@media screen and (max-width: 640px) {
  .shindan-container .contact {
    width: 100vw;
  }
}

.shindan-container .contact ::-webkit-input-placeholder {
  color: rgba(80, 61, 10, 0.2);
}

.shindan-container .contact :-ms-input-placeholder {
  color: rgba(80, 61, 10, 0.2);
}

.shindan-container .contact ::-ms-input-placeholder {
  color: rgba(80, 61, 10, 0.2);
}

.shindan-container .contact ::placeholder {
  color: rgba(80, 61, 10, 0.2);
}

.shindan-container .contact-inner {
  width: 100%;
  margin: 0 auto;
}

.shindan-container .contact-title-outer {
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
display:none;
}

.shindan-container .contact-title-outer li {
  width: 95%;
  margin-bottom: 30px;
  padding: 1em;
  position: relative;
  display: inline-block;
  color: #5FA2DB;
  font-size: 2rem;
  line-height:1.5em;
  text-align: center;
  border-radius: 24px;
  border: 3px solid #5FA2DB;
  background-color: #fff;
  text-align: left;
}

@media screen and (max-width: 640px) {
  .shindan-container .contact-title-outer li {
    font-size: 1.6rem;
    line-height: 1.4em;
    width: 100%;
  }
}

.shindan-container .contact-title-outer li::before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #fff;
  z-index: 2;
}

.shindan-container .contact-title-outer li:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #5FA2DB;
  z-index: 1;
}

.shindan-container .contact-title-outer li dt {
  padding: 8px;
  font-size: 20px;
  font-weight: normal;
  color: #fff;
  border-radius: 10px;
  background-color: #5FA2DB;
}

@media screen and (max-width: 640px) {
  .shindan-container .contact-title-outer li dt {
    font-size: 14px;
    line-height: 1.5em;
  }
}

.shindan-container .contact-title-outer li dd {
  margin: 10px 0 15px;
}

.shindan-container .contact-title-outer span {
  font-size: 33px;
  font-weight: bold;
  color: var(--main-color01);
}

@media screen and (max-width: 640px) {
  .shindan-container .contact-title-outer span {
    font-size: 24px;
  }
}

.shindan-container .contact #shindan_form {
  width: 100%;
  margin: -100px auto 40px;
  padding: 100px 5% 40px;
  border-radius: 24px;
  background-color: #fff;
  -webkit-box-shadow: 3px 3px 20px rgba(28, 71, 52, 0.3);
          box-shadow: 3px 3px 20px rgba(28, 71, 52, 0.3);
}

@media screen and (max-width: 640px) {
  .shindan-container .contact #shindan_form {
    border-radius: 16px;
  }
}

.shindan-container .contact .contact-lead {
  margin-bottom: 30px;
  font-size: 18px;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .shindan-container .contact .contact-lead {
    font-size: 12px;
  }
}


@media screen and (min-width: 641px) {
  .contact-form-list {
    padding:10px 20px;
  }
}

.shindan-container .contact .contact-form-list__label {
  font-size: 26px;
}
@media screen and (max-width: 640px) {
  .shindan-container .contact .contact-form-list__label {
    font-size: 14px;
  }
}

.shindan-container .contact .contact-form-list__label-txt {
  width: calc(100% - 80px);
  display: inline-block;
}
.shindan-container .contact .contact-form-list__label-txt span {
  font-size: 20px;
}

@media screen and (max-width: 640px) {
  .shindan-container .contact .contact-form-list__label-txt span {
    font-size: 12px;
  }
  .shindan-container .contact .contact-form-list__label-txt {
   line-height: 1.4em;
  }
}

.shindan-container .contact .contact-form-list__required,
.shindan-container .contact .contact-form-list__any {
  margin-right: 6px;
  padding: 4px;
  display: inline-block;
  vertical-align: top;
  font-size: 12px;
  line-height: 1em;
  color: #fff;
}
.shindan-container .contact .contact-form-list__required {
  background-color: #D92020;
}
.shindan-container .contact .contact-form-list__any {
  background-color: #399FDE;
}


.shindan-container .contact .contact-form-list__data input {
  width: 100%;
  margin: 10px 0 20px;
  padding: 10px;
  border: 1px solid #000000;
  border-radius: 10px;
}
.shindan-container .contact .contact-form-list__data input {
  width: 100%;
}
.shindan-container .contact .contact-radius-btn-outer .submit_btn {
  display: block;
  width: 70%;
  height: 60px;
  margin: 15px auto 0;
  line-height: 1em;
  text-align: center;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: 500;
  font-size: 20px;
  border-radius: 100vw;
  color: #fff;
  background-color: #f06700;
  -webkit-box-shadow: 0 6px 0 #ba4b00;
          box-shadow: 0 6px 0 #ba4b00;
}
.shindan-container .contact .submit_btn span {
  position: relative;
}
.shindan-container .contact .submit_btn span::after {
  width: 16px;
  height: 28px;
  position: absolute;
  top: calc(50% - 13px);
  right: -160px;
  content: '';
  background: url(./img/arrow-right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
}
@media screen and (min-width: 641px) {
  .shindan-container .contact .contact-form-list__data input {
  padding: 20px;
  font-size:120%;
  }
  .shindan-container .contact .contact-radius-btn-outer .submit_btn {
  font-size: 30px;
  height: 80px;
  }
}



@media screen and (max-width: 640px) {
  .shindan-container .contact .submit_btn span::after {
    width: 12px;
    top: calc(50% - 9px);
    right: -88px;
  }
}

.shindan-container .contact .completed_btn {
  width: 100%;
  height: 80px;
  margin: 40px auto 20px;
  line-height: 80px;
  text-align: center;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: 500;
  font-size: 32px;
  border-radius: 40px;
  display: inline-block;
  color: #fff;
  background-color: #d3d5d7;
}

@media screen and (max-width: 640px) {
  .shindan-container .contact .completed_btn {
    height: 60px;
    margin: 0;
    line-height: 60px;
    font-size: 24px;
    border-radius: 30px;
  }
}

.shindan-container .contact .completed_btn span {
  position: relative;
}

.shindan-container .contact .completed_btn span::after {
  width: 16px;
  height: 28px;
  position: absolute;
  top: calc(50% - 13px);
  right: -160px;
  content: '';
  background: url(./img/arrow-right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
}

@media screen and (max-width: 640px) {
  .shindan-container .contact .completed_btn span::after {
    width: 12px;
    top: calc(50% - 9px);
    right: -88px;
  }
}




/* サンクスページ */
.thanks {
  width: 100%;
  overflow-x: scroll;
  overflow: hidden;
  background: var(--main-color03_bg);
}

.thanks-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.thanks-inner {
  width: 100%;
  margin: 0 6%;
}

.thanks-txt {
  margin: 30px auto;
  padding: 50px 10%;
  font-size: 20px;
  line-height: 1.5em;
  border-radius: 24px;
  background-color: #fff;
  -webkit-box-shadow: 3px 3px 20px rgba(28, 71, 52, 0.3);
          box-shadow: 3px 3px 20px rgba(28, 71, 52, 0.3);
}

.thanks-txt .thanks-message {
  text-align: center;
}

@media screen and (max-width: 640px) {
  .thanks-txt {
    font-size: 16px;
    border-radius: 16px;
    padding: 40px 7%;
  }
}

.thanks-txt h3 {
  margin-bottom: 20px;
  font-size: 3.5rem;
  line-height: 1.4em;
  font-weight: 500;
  text-align: center;
  color: var(--main-color01);
}

@media screen and (max-width: 640px) {
  .thanks-txt h3 {
    font-size: 26px;
  }
}

.thanks-txt .freecall {
  width: 100%;
  margin-top: 30px;
  padding: 5%;
  border: 1px solid #000000;
}

.thanks-txt .freecall h4 {
  font-weight: 500;
  text-align: center;
}

@media screen and (max-width: 640px) {
  .thanks-txt .freecall h4 {
    font-size: 14px;
  }
}

.thanks-txt .freecall-container {
  margin-top: 10px;
}
.thanks-txt .freecall .call-container a {
display: block;
font-size: 20px;
background: url(../../img/sim_saimu2_dh/icon_tel.svg) no-repeat left 20px center var(--main-color01);
background-size: 20px auto;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-weight: 700;
color:#FFF;
border-radius: 100vw;
padding:1em 1em 1em 55px;
text-decoration: none;
line-height: 1em;
/* max-width:15em; */
margin:0 auto;
font-size:16px;
text-align: center;
text-indent: -1em;
}
.thanks-txt .freecall .businessーhours {
  font-size: 12px;
}
@media screen and (min-width: 641px) {
  .thanks-txt h3 {
    margin-bottom: 1em;
    font-size: 2.5rem;
  }
  .thanks-txt .freecall .call-container a {
  max-width:15em;
  font-size:18px;
  }
}



/* ---------------------------
追加コンテンツ
--------------------------- */
.simMidashi > p {
width:80%;
margin:1rem auto;
padding:10px 1em;
position: relative;
text-align: center;
font-size:0.85rem;
}
.simMidashi > p::before,
.simMidashi > p::after {
content:'';
display:block;
width:10px;
height:100%;
position:absolute;
border:#01898E solid 1px;
border-right-color: transparent;
}
.simMidashi > p::before {
left:0; top:0;
}
.simMidashi > p::after {
transform: rotate(180deg);
right:0; top:0;
}
.simMidashi .head {
background:#01898E;
padding:1rem 5%;
text-align: center;
color:#FFF;
position: relative;
line-height: 1.6em;
margin-bottom:15px;
}
.simMidashi .head::after {
content: '';
display: block;
width:20px; height:20px;
transform: rotate(45deg);
background:#01898E;
position: absolute;
left:calc(50% - 10px); top:calc(100% - 10px);
}
.simMidashi .head > p {
font-size:90%;
}
.simMidashi .head > p::before {
display:inline-block;
content:'＼';
color:yellow;
transform: scale(0.6,0.9);
}
.simMidashi .head > p::after {
display:inline-block;
content:'／';
color:yellow;
transform: scale(0.6,0.9);
}
.simMidashi .head > p span {
color:yellow;
}
.simMidashi .head > p span.big {
font-size:130%;
margin:0 0.1em;
}
.simMidashi .head > h2 {
margin-top:4px;
font-size:1.6rem;
}



.inputHidden {
box-sizing: border-box;
margin:1rem 0;
display: none;
}
.inputHidden input {
width: 100%;
}