@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

th {
  text-align: left;
  vertical-align: top;
  font-weight: normal; }

td {
  text-align: left;
  vertical-align: top; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select, textarea, img {
  vertical-align: middle; }

ul, dl, ol {
  list-style: none; }

em {
  font-style: normal; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/* ========================================
    ■ 必須設定
======================================== */
/* 関数
----------------------------- */
.kenten, .kenten_half {
  /* 圏点 */
  padding: 0.35em 0;
  background-repeat: repeat-x;
  background-size: 1em 0.5em;
  background-position: top left;
  background-image: radial-gradient(0.2rem 0.2rem at center center, #3e3e3e 50%, transparent 50%);
  font-feature-settings: normal;
  letter-spacing: 0; }

.kenten_half {
  background-size: 0.65em 0.5em; }

/* ========================================
    ■ General
======================================== */
html {
  font-size: 17px; }

body {
  font-family: "Roboto", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  color: #3e3e3e;
  line-height: 1.6;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt" 1;
  letter-spacing: 0.03em;
  /* IEハック用 */ }
  @media all and (-ms-high-contrast: none) {
    body {
      font-family: "Roboto", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif; } }

a {
  color: #3c53ff;
  text-decoration: underline;
  transition: 0.2s ease; }
  a::before, a::after {
    transition: 0.2s ease; }
  a:hover {
    text-decoration: none;
    transition: 0.2s ease; }
    a:hover::before, a:hover::after {
      transition: 0.2s ease; }

img,
video,
object {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  border: none; }

/* utility class
----------------------------- */
.wrap {
  position: relative;
  width: 1000px;
  margin: 0 auto; }

.clearfix {
  overflow: hidden;
  zoom: 1; }
  .clearfix:after {
    content: "";
    display: block;
    clear: both; }

.hover:hover {
  opacity: 0.9;
  transition: 0.2s ease; }

table.tbl_block, table.tbl_block tbody, table.tbl_block tr, table.tbl_block th, table.tbl_block td {
  display: block;
  text-align: left; }

.cmn_btn01::before, #section-02 .reason > li h3::after, #section-04 .error h3 mark::before, #section-07 .point_bottom::before, #section-09 .flow > li::after {
  /* before・after設定 */
  content: '';
  display: block; }

/* 文字色 */
.font_color01 {
  color: #727dc9; }
.font_color02 {
  color: #191970; }
.font_color03 {
  color: #79b4e9; }
.font_color04 {
  color: #fffa65; }
.font_color05 {
  color: #f9f9f9; }
.font_color06 {
  color: #a7d5ff; }

/* マーカー */
mark {
  font-weight: normal;
  font-style: normal; }
  mark.marker_blue_90 {
    background: linear-gradient(90deg, #f6fbff, #e2f1ff);
    padding: 5px 25px; }

/* ボタン（黄色→水色グラデ）*/
.cmn_btn01 {
  display: block;
  position: relative;
  border: none;
  border-radius: 100px;
  width: 100%;
  margin: 0 auto;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden; }
  .cmn_btn01::before {
    position: absolute;
    left: -100%;
    top: 0;
    background: linear-gradient(90deg, #87f9f1, #fff821, #87f9f1);
    width: 200%;
    height: 100%;
    transition: 0.6s ease; }
  .cmn_btn01 span {
    display: block;
    position: relative;
    background: url(../images/keyv_form_arrow01.png) no-repeat 95% center;
    padding: 12px 0;
    color: #191970;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    transition: 0.6s ease; }
  .cmn_btn01:hover {
    box-shadow: none; }
    .cmn_btn01:hover::before {
      left: 0;
      transition: 0.6s ease; }
    .cmn_btn01:hover span {
      background-position: 98% center;
      transition: 0.6s ease; }

/* 見出し（青字） */
.cmn_title01 {
  color: #191970;
  font-size: 28px;
  font-weight: bold;
  text-align: center; }
  .cmn_title01 mark {
    margin: 0 10px;
    padding: 5px 15px;
    color: #191970;
    font-weight: bold; }

/* 薄いグレー背景のボックス */
.cmn_box01 {
  background: #f9f9f9;
  padding: 60px 95px; }

/* 必須マーク */
.must {
  display: inline-block;
  background: #e2f1ff;
  padding: 1px 6px;
  color: #171717;
  font-size: 12px; }

/* テキスト入力 */
input[type='text'], textarea,
input[type='tel'],
input[type='email'] {
  width: 100%;
  padding: 10px 20px;
  font-family: "Roboto", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-size: inherit;
  border: solid 1px #727dc9;
  box-shadow: none; }

textarea {
  min-height: 100px; }

/* チェックボックス */
input[type='checkbox'] {
  display: none; }
  input[type='checkbox'] + label {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    border-radius: 0;
    cursor: pointer;
    position: relative; }
    input[type='checkbox'] + label::before {
      content: '';
      display: inline-block;
      background: url(../images/form_checkbox01.png) no-repeat center top;
      width: 13px;
      height: 13px;
      margin-right: 5px; }
  input[type='checkbox']:checked + label::before {
    background-position: center bottom; }

/* チェックボックス用エラーメッセージ */
.checkbox_err {
  display: none;
  color: #ff3333;
  font-size: 90%;
  text-align: center; }
  .checkbox_err.show {
    display: block; }

/* ラジオボタン */
input[type='radio'] {
  display: none; }
  input[type='radio'] + label {
    display: flex;
    align-items: center;
    margin: 0;
    border-radius: 0;
    cursor: pointer;
    position: relative; }
    input[type='radio'] + label::before {
      content: '';
      display: inline-block;
      background: url(../images/form_radio01.png) no-repeat center top;
      width: 20px;
      height: 20px;
      margin-right: 5px; }
  input[type='radio']:checked + label::before {
    background-position: center bottom; }

/* 送信ボタン */
*[type='submit'] {
  font-family: "Roboto", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif; }

/* IE用フォント設定 */
/* IEハック用 */
@media all and (-ms-high-contrast: none) {
  select,
  input[type='text'],
  textarea,
  input[type='tel'],
  input[type='email'],
  textarea,
  *[type='submit'] {
    font-family: "Roboto", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif; } }
/* スライド用ボタン */
.flickity-button.flickity-prev-next-button {
  background: url(../images/sec03_works_arrow01.png) no-repeat center center;
  width: 40px;
  height: 40px;
  transition: 0.2s ease; }
  .flickity-button.flickity-prev-next-button.next {
    transform: scale(-1, -1);
    transform-origin: left top; }
  .flickity-button.flickity-prev-next-button:hover {
    opacity: 0.9;
    transition: 0.2s ease; }
  .flickity-button.flickity-prev-next-button svg {
    display: none; }

/* ========================================
    ■ ページトップボタン
======================================== */
#page_top {
  position: fixed;
  right: 20px; }
  #page_top a {
    display: block;
    width: 44px;
    height: 44px;
    color: #fff;
    font-size: 1rem;
    text-align: center;
    line-height: 44px;
    background: rgba(0, 0, 0, 0.25);
    border-radius: 50%; }
    #page_top a:hover {
      background: rgba(0, 0, 0, 0.5); }

/* ========================================
    ■ header
======================================== */
header .wrap {
  padding: 50px 0 0; }

/* ========================================
    ■ keyv
======================================== */
#keyv {
  background: linear-gradient(0deg, rgba(133, 198, 255, 0.75), rgba(241, 248, 255, 0.75)); }
  #keyv .keyv_inner .wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 206px; }
  #keyv .keyv_main p {
    margin-top: 30px; }

#keyv_form {
  flex-shrink: 0;
  background: #fff;
  padding: 0 0 25px; }
  #keyv_form .keyv_form_items {
    margin: 25px auto 0;
    width: 290px;
    font-size: 15px; }
    #keyv_form .keyv_form_items h3 {
      color: #191970; }
      #keyv_form .keyv_form_items h3 .must {
        margin-right: 10px; }
      #keyv_form .keyv_form_items h3:nth-of-type(n+2) {
        margin-top: 15px; }
      #keyv_form .keyv_form_items h3 + p {
        margin-top: 5px; }
  #keyv_form .keyv_form_privacy {
    margin-top: 15px;
    color: #727dc9;
    font-size: 12px; }
    #keyv_form .keyv_form_privacy a {
      color: inherit; }
  #keyv_form .keyv_form_btn {
    width: 290px;
    margin-top: 15px; }
    #keyv_form .keyv_form_btn span {
      padding: 12px 0;
      font-size: 22px; }

/* ========================================
    ■ section-01
======================================== */
#section-01 .wrap {
  padding: 0 0 300px; }
#section-01 .support {
  display: flex;
  align-items: flex-end;
  position: absolute;
  left: calc(50% - 500px);
  top: -165px;
  width: 1000px; }
  #section-01 .support > figure {
    flex-shrink: 0;
    margin-right: 90px; }
#section-01 .support_txt h2 {
  border-left: solid 10px #fff;
  padding: 5px 0 5px 20px;
  color: #191970;
  font-size: 23px;
  font-weight: bold; }
#section-01 .support_txt p {
  margin-top: 20px;
  line-height: 2; }
  #section-01 .support_txt p:nth-of-type(1) {
    margin-top: 40px; }

/* ========================================
    ■ section-02
======================================== */
#section-02 .wrap {
  padding: 0 0 70px; }
#section-02 h2 mark {
  margin-left: 30px; }
#section-02 .reason {
  counter-reset: count_num 0;
  display: flex;
  margin: 45px 0 0;
  text-align: center; }
  #section-02 .reason > li {
    background: linear-gradient(0deg, #a7d5ff, #fff);
    width: 315px;
    margin-right: 26px;
    padding-bottom: 35px; }
    #section-02 .reason > li h3 {
      position: relative;
      padding: 20px 0 25px;
      color: #191970;
      font-weight: bold; }
      #section-02 .reason > li h3::before {
        counter-increment: count_num 1;
        content: "0" counter(count_num);
        display: block;
        margin-bottom: 25px;
        color: #727dc9;
        font-size: 40px;
        font-weight: normal; }
      #section-02 .reason > li h3::after {
        position: absolute;
        left: calc(50% - 30px);
        bottom: 0;
        background: #fff;
        width: 60px;
        height: 2px; }
    #section-02 .reason > li p {
      margin: 25px 35px 0;
      color: #191970; }
    #section-02 .reason > li:nth-of-type(3n) {
      margin-right: 0; }

/* ========================================
    ■ section-03
======================================== */
#section-03 {
  padding-bottom: 103px; }
  #section-03 .wrap {
    border: solid 1px #79b4e9;
    border-top: solid 13px #79b4e9;
    padding: 35px 0 50px;
    text-align: center; }
  #section-03 h2 {
    color: #79b4e9;
    font-size: 23px;
    font-weight: bold;
    letter-spacing: 0.1em; }

#works {
  margin: 40px 100px 0; }
  #works .works_item {
    width: 230px;
    margin: 0 20px; }
    #works .works_item figcaption {
      background: #f9f9f9;
      margin-top: 20px;
      padding: 20px 0;
      color: #191970;
      font-size: 15px; }
  #works .flickity-prev-next-button.previous {
    left: -65px; }
  #works .flickity-prev-next-button.next {
    right: -105px;
    top: 55%; }

/* ========================================
    ■ cta
======================================== */
.cta {
  background: #191970; }
  .cta .wrap {
    padding: 35px 0 45px;
    color: #fff;
    text-align: center; }
  .cta .cta_header {
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.15em; }
    .cta .cta_header .kenten, .cta .cta_header .kenten_half {
      /* 圏点 */
      padding: 0.35em 0;
      background-repeat: repeat-x;
      background-size: 1em 0.5em;
      background-position: top left;
      background-image: radial-gradient(0.2rem 0.2rem at center center, #fffa65 50%, transparent 50%);
      font-feature-settings: normal;
      letter-spacing: 0;
      color: #fffa65; }
  .cta .cta_copy {
    margin-top: 30px; }
  .cta .cta_copy_txt01 {
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 0.15em;
    line-height: 1; }
    .cta .cta_copy_txt01 strong {
      margin-right: 25px;
      font-size: 130px;
      font-style: italic;
      letter-spacing: -0.051em; }
    .cta .cta_copy_txt01 b {
      margin-right: 10px;
      font-size: 60px; }
  .cta .cta_copy_txt02 {
    margin-top: 15px;
    font-size: 30px;
    font-weight: bold; }
    .cta .cta_copy_txt02 em {
      border: solid 1px #fff;
      margin: 0 8px;
      padding: 5px 20px; }
  .cta .cta_copy_anime {
    display: inline-block;
    opacity: 0; }
  .cta .cta_btn_copy {
    margin-top: 50px;
    letter-spacing: 0.15em; }
  .cta .ctn_btn {
    width: 430px;
    margin-top: 20px; }
    .cta .ctn_btn span {
      padding: 20px 0;
      font-size: 32px; }

/* ========================================
    ■ section-04
======================================== */
#section-04 .wrap {
  padding: 50px 0; }
#section-04 .title {
  margin-top: 35px;
  text-align: center; }
#section-04 .error {
  margin-top: 40px; }
  #section-04 .error h3 mark {
    position: relative; }
    #section-04 .error h3 mark::before {
      position: absolute;
      left: calc(50% - 14px);
      top: -28px;
      background: url(../images/sec04_error_ico01.png) no-repeat center center;
      width: 27px;
      height: 18px; }
  #section-04 .error figure {
    margin-top: 35px; }
  #section-04 .error p {
    margin-top: 25px;
    color: #191970;
    line-height: 2; }

/* ========================================
    ■ section-05
======================================== */
#section-05 .wrap {
  padding: 0 0 50px; }
#section-05 .compare {
  width: 100%;
  margin-top: 55px; }
  #section-05 .compare thead th {
    width: 345px;
    padding: 5px 0;
    color: #fff;
    font-weight: bold;
    text-align: center; }
    #section-05 .compare thead th.before {
      background: #c8c8c8; }
    #section-05 .compare thead th.after {
      background: linear-gradient(90deg, #79b4e9, #191970); }
  #section-05 .compare tbody td {
    position: relative;
    padding-top: 60px; }
  #section-05 .compare tbody tr:nth-of-type(1) td {
    padding-top: 35px; }
  #section-05 .compare tbody tr:nth-of-type(1) .compare_arrow {
    top: 105px; }
    #section-05 .compare tbody tr:nth-of-type(1) .compare_arrow.animated {
      animation-delay: 0s; }
  #section-05 .compare tbody tr:nth-of-type(2) .compare_arrow.animated {
    animation-delay: 0.5s; }
  #section-05 .compare tbody tr:nth-of-type(3) .compare_arrow.animated {
    animation-delay: 1s; }
  #section-05 .compare figcaption {
    margin-top: 15px;
    color: #191970;
    text-align: center;
    letter-spacing: 0.03em; }
    #section-05 .compare figcaption mark {
      padding: 5px 15px;
      color: #191970;
      font-weight: bold; }
  #section-05 .compare .compare_arrow {
    position: absolute;
    left: -50px;
    top: 140px;
    background: url(../images/sec05_compare_arrow01.png) no-repeat center top;
    z-index: 9;
    width: 273px;
    height: 68px;
    padding: 18px 0 0 0;
    color: #fff;
    font-weight: bold;
    text-align: center;
    opacity: 0;
    transition: 0.6s ease; }

/* ========================================
    ■ section-06
======================================== */
#section-06 .wrap {
  padding: 0 0 50px; }
#section-06 h3 {
  background: linear-gradient(90deg, #79b4e9, #191970);
  margin-top: 50px;
  padding: 15px 0;
  color: #fff;
  font-weight: bold;
  text-align: center; }
#section-06 .value {
  display: flex;
  justify-content: space-between;
  margin-top: 20px; }
  #section-06 .value > li {
    width: 210px; }
  #section-06 .value figure figcaption {
    margin-top: 15px;
    color: #191970;
    font-weight: bold;
    text-align: center; }
  #section-06 .value figure mark {
    padding: 5px 15px;
    color: #191970;
    font-weight: bold; }

/* ========================================
    ■ section-07
======================================== */
#section-07 .wrap {
  padding-bottom: 110px; }
#section-07 .point {
  background: linear-gradient(0deg, #a7d5ff, #fff);
  padding: 0 0 40px; }
  #section-07 .point ul {
    display: flex;
    justify-content: center; }
    #section-07 .point ul > li {
      width: 204px;
      margin: 0 20px;
      text-align: center; }
      #section-07 .point ul > li figcaption {
        margin-top: 45px;
        color: #191970;
        font-weight: bold;
        text-align: center; }
#section-07 .point_bottom {
  position: relative;
  background: #191970;
  width: 820px;
  font-size: 24px;
  margin: 20px auto 0;
  padding: 15px 0;
  color: #fff;
  font-weight: bold;
  text-align: center; }
  #section-07 .point_bottom::before {
    position: absolute;
    left: -190px;
    top: 50%;
    background: #fff;
    width: 180px;
    height: 1px; }

/* ========================================
    ■ section-08
======================================== */
#section-08 {
  padding: 80px 0 145px; }

#voice {
  margin-top: 45px; }
  #voice .voice_item {
    background: #fff;
    border: solid 1px #79b4e9;
    box-shadow: 0 3px 30px rgba(0, 0, 0, 0.09);
    width: 610px;
    margin: 0 72px;
    padding: 50px 30px 30px;
    color: #191970; }
    #voice .voice_item h3 {
      text-align: left; }
    #voice .voice_item table {
      width: 100%; }
      #voice .voice_item table th {
        width: 125px;
        padding: 10px 0 10px 25px;
        color: #9fd2ff;
        font-weight: bold;
        white-space: nowrap; }
        #voice .voice_item table th.price {
          background: url(../images/sec08_voice_ico01.png) no-repeat left 15px; }
        #voice .voice_item table th.result {
          background: url(../images/sec08_voice_ico02.png) no-repeat left 15px; }
      #voice .voice_item table td {
        padding: 10px 0;
        font-weight: bold; }
  #voice .voice_item_txt {
    border-top: solid 2px #2f1a68;
    margin-top: 10px;
    padding-top: 35px; }
    #voice .voice_item_txt p:nth-of-type(n+2) {
      margin-top: 50px; }
  #voice .flickity-prev-next-button.previous {
    left: calc(50% - 390px); }
  #voice .flickity-prev-next-button.next {
    right: calc(50% - 410px);
    top: 55%; }
  #voice .flickity-page-dots {
    bottom: -75px; }
    #voice .flickity-page-dots .dot {
      background: #fff;
      border: solid 1px #79b4e9;
      width: 14px;
      height: 14px;
      margin: 0 18px;
      opacity: 1; }
      #voice .flickity-page-dots .dot.is-selected {
        background: #79b4e9; }

/* ========================================
    ■ section-09
======================================== */
#section-09 {
  background: #f9f9f9; }
  #section-09 .wrap {
    padding: 45px 0; }
  #section-09 .flow {
    counter-reset: count_flow 0;
    display: flex;
    justify-content: center;
    margin-top: 55px;
    color: #191970;
    text-align: center; }
    #section-09 .flow > li {
      position: relative;
      width: 210px;
      margin: 0 38px; }
      #section-09 .flow > li::before {
        counter-increment: count_flow 1;
        content: "0" counter(count_flow);
        display: block;
        position: absolute;
        left: calc(50% - 26px);
        top: 270px;
        border: solid 1px #191970;
        border-radius: 50%;
        width: 52px;
        height: 52px;
        color: #727dc9;
        font-size: 25px;
        line-height: 52px;
        letter-spacing: 0;
        vertical-align: middle;
        text-align: center; }
      #section-09 .flow > li::after {
        position: absolute;
        left: -57px;
        top: 118px;
        background: #191970;
        width: 40px;
        height: 1px; }
      #section-09 .flow > li:nth-of-type(3n-2)::after {
        display: none; }
  #section-09 figure {
    border: solid 1px #191970; }
  #section-09 p {
    margin-top: 125px;
    line-height: 2; }

/* ========================================
    ■ section-10
======================================== */
#section-10 .wrap {
  padding: 85px 0; }

#faq {
  counter-reset: count_faq 0;
  margin-top: 30px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0; }
  #faq dt {
    position: relative;
    border: solid 1px #191970;
    padding: 25px 110px;
    color: #191970;
    cursor: pointer;
    transition: 0.2s ease; }
    #faq dt::before {
      counter-increment: count_faq 1;
      content: "Q" counter(count_faq);
      display: block;
      position: absolute;
      left: 40px;
      top: 25px; }
    #faq dt .faq_arrow01 {
      position: absolute;
      right: 50px;
      top: 30px;
      transition: 0.2s ease; }
      #faq dt .faq_arrow01 svg {
        fill: #191970;
        transition: 0.2s ease; }
    #faq dt:nth-of-type(n+2) {
      margin-top: 20px; }
    #faq dt.open {
      background: #191970;
      color: #fff;
      transition: 0.2s ease; }
      #faq dt.open .faq_arrow01 {
        transition: 0.2s ease; }
        #faq dt.open .faq_arrow01 svg {
          fill: #fff;
          transform: rotate(180deg);
          transition: 0.2s ease; }
  #faq dd {
    position: relative;
    padding: 20px 110px 0 90px; }
    #faq dd::before {
      content: "A.";
      display: block;
      position: absolute;
      left: 45px;
      top: 20px; }

/* ========================================
    ■ form
======================================== */
#form {
  background: #191970; }
  #form .wrap {
    padding: 45px 0 70px;
    color: #fff; }
  #form h2 {
    background: url(../images/font_tit_bg01.svg) no-repeat center bottom;
    padding-bottom: 40px;
    font-size: 23px;
    font-weight: bold;
    text-align: center; }

#special_form {
  background: rgba(255, 255, 255, 0.5);
  width: 900px;
  margin: 25px auto 0;
  padding: 40px 100px; }
  #special_form h3 {
    font-weight: bold; }
  #special_form .special_form_wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 20px; }
  #special_form .special_form_items.left {
    width: 290px; }
  #special_form .special_form_items.right {
    width: 340px; }
  #special_form .special_form_items h3:nth-of-type(n+2) {
    margin-top: 25px; }
  #special_form .special_form_items h3 + p {
    margin-top: 5px; }
  #special_form input[type='text'], #special_form textarea,
  #special_form input[type='tel'],
  #special_form input[type='email'],
  #special_form textarea {
    background: none;
    border-color: #fff;
    color: #fff; }
  #special_form textarea {
    min-height: 240px; }
  #special_form .special_form_privacy {
    margin-top: 30px;
    color: #fff;
    font-size: 17px; }
    #special_form .special_form_privacy a {
      color: inherit; }
    #special_form .special_form_privacy input[type='checkbox'] + label::before {
      background-image: url(../images/form_checkbox02.png);
      width: 22px;
      height: 22px;
      margin-right: 10px; }
  #special_form .special_form_btn {
    width: 430px;
    margin: 30px auto 0; }
    #special_form .special_form_btn > span {
      padding: 28px 0; }

/* ========================================
    ■ section-11
======================================== */
#section-11 .wrap {
  padding: 85px 0; }
#section-11 .greeting {
  display: flex;
  align-items: center;
  width: 900px;
  margin: 60px auto 0; }
  #section-11 .greeting > figure {
    flex-shrink: 0;
    margin-right: 65px; }

/* ========================================
    ■ section-12
======================================== */
#section-12 {
  background: #f1f8ff; }
  #section-12 h2 span {
    background: #fff;
    padding: 5px 35px; }
  #section-12 .wrap {
    padding: 40px 0 50px; }
  #section-12 .company {
    width: 560px;
    margin: 15px auto 0;
    color: #191970;
    font-size: 16px;
    text-align: center;
    letter-spacing: 0.03em; }
    #section-12 .company dt {
      padding: 20px 0 0;
      font-weight: bold; }
    #section-12 .company dd {
      border-bottom: solid 1px #191970;
      padding: 0 0 20px; }
    #section-12 .company a {
      color: #191970; }

/* ========================================
    ■ footer
======================================== */
footer {
  background: #191970; }
  footer .wrap {
    padding: 20px 0;
    color: #fff;
    font-size: 12px;
    text-align: center; }

/* ========================================
    ■ thanks
======================================== */
#thanks {
  background: linear-gradient(0deg, #85c6ff, #f1f8ff); }
  #thanks .thanks_inner .wrap {
    min-height: calc(100vh - 140px);
    padding: 145px 0;
    color: #191970;
    font-weight: bold; }
  #thanks .thanks_inner h1 {
    margin: 0 280px 0 0;
    font-size: 35px;
    text-align: right; }
  #thanks .thanks_inner h2 {
    background: #fff;
    margin: 30px 280px 0;
    padding: 20px 0;
    font-size: 25px;
    text-align: center; }
  #thanks .thanks_inner p {
    margin: 30px 280px 0;
    line-height: 1.8;
    text-align: center; }
  #thanks .thanks_inner .thanks_btn {
    box-shadow: 3px 3px 15px rgba(6, 6, 54, 0.3);
    margin-top: 85px;
    width: 430px; }
    #thanks .thanks_inner .thanks_btn span {
      padding: 20px 0;
      font-weight: normal; }
    #thanks .thanks_inner .thanks_btn:hover {
      box-shadow: none; }

/*# sourceMappingURL=style.css.map */
