@charset "UTF-8";
@media screen and (max-width: 900px) {
  /*--------------------------------------------------------
定数
--------------------------------------------------------*/
  .visible900 {
    display: block;
    margin: auto;
  }
  .hidden900 {
    display: none;
  }
  /*--------------------------------------------------------
定数（基本的に、全サイト共通に使えるもの）
--------------------------------------------------------*/
  .margin100 {
    margin-bottom: 11%;
  }
  .margin90 {
    margin-bottom: 10%;
  }
  .margin80 {
    margin-bottom: 9%;
  }
  .margin70 {
    margin-bottom: 8%;
  }
  .margin60 {
    margin-bottom: 7%;
  }
  .margin50 {
    margin-bottom: 6%;
  }
  .margin40 {
    margin-bottom: 5%;
  }
  .margin30 {
    margin-bottom: 4%;
  }
  .margin20 {
    margin-bottom: 3%;
  }
  .margin10 {
    margin-bottom: 2%;
  }
  .padding_t100 {
    padding-top: 11%;
  }
  .padding_t90 {
    padding-top: 10%;
  }
  .padding_t80 {
    padding-top: 9%;
  }
  .padding_t70 {
    padding-top: 8%;
  }
  .padding_t60 {
    padding-top: 7%;
  }
  .padding_t50 {
    padding-top: 6%;
  }
  .padding_t40 {
    padding-top: 5%;
  }
  .padding_t30 {
    padding-top: 4%;
  }
  .padding_t20 {
    padding-top: 3%;
  }
  .padding_t10 {
    padding-top: 2%;
  }
  .padding_b200 {
    padding-bottom: 21%;
  }
  .padding_b190 {
    padding-bottom: 20%;
  }
  .padding_b180 {
    padding-bottom: 19%;
  }
  .padding_b170 {
    padding-bottom: 18%;
  }
  .padding_b160 {
    padding-bottom: 17%;
  }
  .padding_b150 {
    padding-bottom: 16%;
  }
  .padding_b140 {
    padding-bottom: 15%;
  }
  .padding_b130 {
    padding-bottom: 14%;
  }
  .padding_b120 {
    padding-bottom: 13%;
  }
  .padding_b110 {
    padding-bottom: 12%;
  }
  .padding_b100 {
    padding-bottom: 11%;
  }
  .padding_b90 {
    padding-bottom: 10%;
  }
  .padding_b80 {
    padding-bottom: 9%;
  }
  .padding_b70 {
    padding-bottom: 8%;
  }
  .padding_b60 {
    padding-bottom: 7%;
  }
  .padding_b50 {
    padding-bottom: 6%;
  }
  .padding_b40 {
    padding-bottom: 5%;
  }
  .padding_b30 {
    padding-bottom: 4%;
  }
  .padding_b20 {
    padding-bottom: 3%;
  }
  .padding_b10 {
    padding-bottom: 2%;
  }
  /*--------------------------------------------------------
サイト毎に変化のある定数
--------------------------------------------------------*/
  .contents {
    width: 100%;
  }
  .img_center {
    margin-left: 0px;
  }
  img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  /*--------------------------------------------------------
フッター
--------------------------------------------------------*/
  .copyright,
  .copyright a {
    font-size: 2.5vw;
  }
  /*--------------------------------------------------------
  ↓↓↓ 各種レイアウト ↓↓↓
--------------------------------------------------------*/
  /* --共通-- */
  /* --共通-- */
  /*--header--*/
  /*--header-end--*/
  /*--contents--*/
  div[class*="sfn"] img {
    width: 100%;
  }
  .sfn_02 img {
    height: calc(100vw * calc(1200 / 900));
  }
  .sfn_03 img {
    height: calc(100vw * calc(1922 / 900));
  }
  .sfn_04 img {
    height: calc(100vw * calc(1722 / 900));
  }
  .sfn_04.y01 img {
    height: calc(100vw * calc(1499 / 900));
  }
  .sfn_05 img {
    height: calc(100vw * calc(1620 / 900));
  }
  .sfn_06 img {
    height: calc(100vw * calc(1570 / 900));
  }
  .sfn_06 img {
    height: calc(100vw * calc(1570 / 900));
  }
  .sfn_07_top img {
    height: calc(100vw * calc(357 / 900));
  }
  .sfn_07_middle {
    background-image: url("../img/sfn_07_middle.png");
    background-size: contain;
    width: 100%;
  }
  .sfn_07_bottom img {
    height: calc(100vw * calc(217 / 900));
  }
  .sfn_07_line_btn {
    top: -21%;
  }
  .sfn_07_line_btn img {
    height: calc(100vw * calc(240 / 900));
  }
  .sfn_08_q img {
    height: calc(100vw * calc(72 / 900));
  }
  .sfn_qa1_q img {
    height: calc(100vw * calc(66 / 900));
  }
  .sfn_qa1_a img {
    height: calc(100vw * calc(166 / 900));
  }
  .sfn_qa2_q img {
    height: calc(100vw * calc(66 / 900));
  }
  .sfn_qa2_a img {
    height: calc(100vw * calc(166 / 900));
  }
  .sfn_qa3_q img {
    height: calc(100vw * calc(66 / 900));
  }
  .sfn_qa3_a img {
    height: calc(100vw * calc(166 / 900));
  }
  .sfn_qa3_a.y01 img {
    height: calc(100vw * calc(126 / 900));
  }
  .sfn_qa4_q img {
    height: calc(100vw * calc(66 / 900));
  }
  .sfn_qa4_a img {
    height: calc(100vw * calc(209 / 900));
  }
  .sfn_qa5 img {
    height: calc(100vw * calc(27 / 900));
  }
  .sfn_08_q {
    bottom: 0;
  }
  .sfn_08_q img {
    height: calc(100vw * calc(72 / 900));
  }
  .sfn_btn {
    top: 38%;
  }
  .sfn_btn img {
    height: calc(100vw * calc(259 / 900));
  }
  .sfn_qab_top img {
    height: calc(100vw * calc(393 / 900));
  }
  .icon.q_1::before, .icon.q_2::before, .icon.q_3::before, .icon.q_4::before {
    top: -4.5vw;
  }
  /*--contents-end--*/
  /*--footer--*/
  /*--footer-end--*/
  /* --背景設定-- */
  /* --背景設定-end-- */
  /* --画像位置設定-- */
  /* --画像位置設定-end-- */
  /* --プラポリ-- */
  .privacy_head {
    width: 90%;
    font-size: 2.3vw;
  }
  .privacy_contents_wrap {
    width: 90%;
    box-sizing: border-box;
    font-size: 2.5vw;
  }
  .privacy_contents_wrap p {
    padding-bottom: 6%;
  }
  .privacy_subtitle {
    font-size: 3vw;
  }
  /* --プラポリ-end-- */
  /*--------------------------------------------------------
  ↑↑↑ 各種レイアウト ↑↑↑
--------------------------------------------------------*/
  /*--------------------------------------------------------
↓↓↓ フォーム部分 ↓↓↓
--------------------------------------------------------*/
  .question_field {
    font-size: 4.5vw;
  }
  .radio-input:checked + .radio-parts::after {
    box-sizing: border-box;
    content: "";
    display: block;
    position: absolute;
    top: calc(0.9em * 0.7);
    left: calc((2.5vw / 2) - (1.5vw / 2));
    border-radius: 50%;
    width: 1.5vw;
    height: 1.5vw;
    background-color: #066084;
  }
  .radio-parts {
    position: relative;
    top: 10px;
    margin-left: 22%;
    padding-left: calc(2.5vw + 0.5em);
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    font-size: 0.9em;
    line-height: 1.5;
  }
  .radio-parts::before {
    box-sizing: border-box;
    content: "";
    display: block;
    position: absolute;
    top: calc(0.9em * 0.58);
    left: 0;
    border-radius: 50%;
    border: 1px solid #72d9d9;
    width: 2.5vw;
    height: 2.5vw;
  }
  /*--------------------------------------------------------
↑↑↑ フォーム部分 ↑↑↑
--------------------------------------------------------*/
}

@media screen and (max-width: 768px) {
  /*--------------------------------------------------------
↓↓↓ 各種レイアウト ↓↓↓
--------------------------------------------------------*/
  /* --共通-- */
  /* --共通-- */
  /*--header--*/
  /*--header-end--*/
  /*--contents--*/
  /*--contents-end--*/
  /*--footer--*/
  /*--footer-end--*/
  /* --背景設定-- */
  /* --背景設定-end-- */
  /* --画像位置設定-- */
  /* --画像位置設定-end-- */
  /*--------------------------------------------------------
↑↑↑ 各種レイアウト ↑↑↑
--------------------------------------------------------*/
}

@media screen and (max-width: 600px) {
  .visible600 {
    display: block;
    margin: auto;
  }
  .hidden600 {
    display: none;
  }
  body {
    font-size: 1.6rem;
  }
  /*todo 要調査*/
  /*--------------------------------------------------------
サイト毎に変化のある定数
--------------------------------------------------------*/
  /*--------------------------------------------------------
フッター
--------------------------------------------------------*/
  .copyright,
  .copyright a {
    font-size: 1.2rem;
  }
  /*--------------------------------------------------------
↓↓↓ 各種レイアウト ↓↓↓
--------------------------------------------------------*/
  /* --共通-- */
  /* --共通-- */
  /*--header--*/
  /*--header-end--*/
  /*--contents--*/
  .question_wrapper {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .icon.q_1::before, .icon.q_2::before, .icon.q_3::before, .icon.q_4::before {
    top: -4.9vw;
  }
  /*--contents-end--*/
  /*--footer--*/
  /*--footer-end--*/
  /* --背景設定-- */
  /* --背景設定-end-- */
  /* --画像位置設定-- */
  /* --画像位置設定-end-- */
  /* --プラポリ-- */
  .privacy_title {
    font-size: 2rem;
  }
  .privacy_title.toku {
    font-size: 2rem;
  }
  .privacy_head {
    width: 90%;
    font-size: 2.3vw;
  }
  .privacy_contents_wrap {
    width: 90%;
    font-size: 1.6rem;
  }
  .privacy_subtitle {
    font-size: 2rem;
  }
  /* --プラポリ-end-- */
  /*--------------------------------------------------------
↑↑↑ 各種レイアウト ↑↑↑
--------------------------------------------------------*/
  /*--------------------------------------------------------
↓↓↓ フォーム部分 ↓↓↓
--------------------------------------------------------*/
  .question_field {
    font-size: 4.9vw;
  }
  .radio-input:checked + .radio-parts::after {
    box-sizing: border-box;
    content: "";
    display: block;
    position: absolute;
    top: calc(1em * 0.48);
    left: calc((4.9vw / 2) - (2.94vw / 2));
    border-radius: 50%;
    width: 2.94vw;
    height: 2.94vw;
    background-color: #066084;
  }
  .radio-parts {
    position: relative;
    top: 10px;
    margin-left: 22%;
    padding-left: calc(4.9vw + 0.5em);
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    font-size: 1em;
    line-height: 1.5;
  }
  .radio-parts::before {
    box-sizing: border-box;
    content: "";
    display: block;
    position: absolute;
    top: calc(1em * 0.28);
    left: 0;
    border-radius: 50%;
    border: 1px solid #72d9d9;
    width: 4.9vw;
    height: 4.9vw;
  }
  /*--------------------------------------------------------
↑↑↑ フォーム部分 ↑↑↑
--------------------------------------------------------*/
}

@media screen and (max-width: 500px) {
  .visible500 {
    display: block;
    margin: auto;
  }
  .hidden500 {
    display: none;
  }
  /*--------------------------------------------------------
  ↓↓↓ 各種レイアウト ↓↓↓
  --------------------------------------------------------*/
  /*--------------------------------------------------------
  ↑↑↑ 各種レイアウト ↑↑↑
--------------------------------------------------------*/
}

@media screen and (max-width: 400px) {
  .visible400 {
    display: block;
    margin: auto;
  }
  .hidden400 {
    display: none;
  }
}

@media screen and (max-width: 320px) {
  .visible320 {
    display: block;
    margin: auto;
  }
  .hidden320 {
    display: none;
  }
}

/* 319px以下の場合　これ以上小さくしたくない場合は横スクロール対応 */
@media screen and (max-width: 319px) {
  body {
    overflow-x: visible;
  }
  .contents {
    min-width: 320px;
  }
  .contents1800 {
    min-width: 320px;
  }
  header {
    min-width: 320px;
  }
  footer {
    min-width: 320px;
  }
}
/*# sourceMappingURL=base_sp.css.map */