@charset "UTF-8";
/* --------------------
 * 【！！注意！！】
 *
 * 当サイトはSassを利用して作られています。
 *
 * cssを編集する際は、sassフォルダ内にある、
 * /assets/sass/*.scssファイルを編集し、対応ソフトでコンパイルしてください。
 *
 * ■基本的に編集してよいファイル
 * 1.「/assets/sass/_custom.scss」
 * 2.「/assets/sass/_color.scss」
 * 3.「/assets/sass/_setting.scss」
 *
 * また、直接この css を編集した場合、
 * 更新等の際にSassによって上書きされ、
 * レイアウトの崩れ、先祖返り等を引き起こす可能性があります。
 *
 * ご不明点はお問い合わせください。
 -------------------- */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
@import url("https://cdn.jsdelivr.net/npm/yakuhanjp@3.3.1/dist/css/yakuhanjp.min.css");
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; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
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; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium"); }
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: bold; }
@font-face {
  font-family: "Yu Mincho M";
  src: local("Yu Mincho Medium"); }
@font-face {
  font-family: "Yu Mincho M";
  src: local("Yu Mincho Bold");
  font-weight: bold; }
.clearfix::after {
  content: "";
  display: block;
  clear: both; }

.font-normal {
  font-weight: 400; }

.font-midium {
  font-weight: 500; }

.font-bold {
  font-weight: 700; }

.font-black {
  font-weight: 900; }

.marker {
  z-index: 0;
  position: relative;
  display: inline-block; }
  .marker * {
    position: relative; }
  .marker::before {
    z-index: -1;
    content: '';
    position: absolute;
    right: -0.05em;
    bottom: 0;
    left: -0.05em;
    display: block;
    height: .75em;
    background: #ffff00; }

@media screen and (min-width: 751px) {
  .sp:not(.pc) {
    display: none !important; } }
@media screen and (max-width: 750px) {
  .pc:not(.sp) {
    display: none !important; } }
*,
::before,
::after {
  box-sizing: border-box !important;
  color: inherit;
  line-height: inherit;
  font-weight: inherit;
  letter-spacing: 0.06em; }
  @media screen and (min-width: 751px) {
    *,
    ::before,
    ::after {
      letter-spacing: 0.06em; } }

::before,
::after {
  display: block; }

html {
  font-size: 62.5%; }

body {
  overflow-y: scroll;
  width: 100%;
  background: #FFF;
  font-family: YakuHanJP, "Noto Sans JP", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  color: #252B38;
  font-size: 4.2666666667vw !important;
  line-height: 1.9375;
  font-weight: 400;
  cursor: default;
  -webkit-text-size-adjust: 100%; }
  @media screen and (min-width: 751px) {
    body {
      font-size: 16px !important;
      font-size: 1.6rem !important;
      line-height: 2; } }

input, button, textarea, select {
  max-width: 100%;
  font-size: 100%; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
  font-style: normal; }

table, th, td,
b, i, em, strong, small,
input, button, textarea, select {
  font-style: normal; }

a,
button,
input[type=submit] {
  color: #316CB3;
  text-decoration: none;
  cursor: pointer;
  transition: opacity .3s; }
  a:hover,
  button:hover,
  input[type=submit]:hover {
    opacity: .6; }
  a.text-link,
  button.text-link,
  input[type=submit].text-link {
    text-decoration: underline; }

ul, ol, dl {
  list-style: none; }

img {
  max-width: 100%;
  vertical-align: top; }

#main-contents .container-min,
#main-contents .container {
  box-sizing: content-box !important;
  padding: 0 4vw; }
  @media screen and (min-width: 751px) {
    #main-contents .container-min,
    #main-contents .container {
      margin: 0 auto;
      padding: 0 30px; } }
@media screen and (min-width: 751px) {
  #main-contents .container-min {
    max-width: 960px; } }
@media screen and (min-width: 751px) {
  #main-contents .container {
    max-width: 1000px; } }

#global-head {
  position: relative;
  padding: 0 4vw;
  background: #FFF;
  border-top: 5px solid #316CB3;
  border-bottom: 3px solid #d1e0e9;
  position: fixed;
  width: 100%;
  z-index: 9999; }
  #global-head::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #e9e9e9; }
  #global-head .head-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0; }
    #global-head .head-container .logo {
      flex: 1;
      width: 100%;
      max-width: 322px;
      margin-right: 30px; }
      #global-head .head-container .logo a {
        display: block; }
    #global-head .head-container .btn {
      vertical-align: top; }
      #global-head .head-container .btn a {
        position: relative;
        display: inline-block;
        margin-bottom: 0.25em;
        font-size: 2.6666666667vw !important;
        color: #FFF;
        line-height: 1.4;
        font-weight: 500;
        text-align: center;
        vertical-align: top; }
        #global-head .head-container .btn a * {
          letter-spacing: 0em; }
        #global-head .head-container .btn a span {
          position: relative;
          display: flex;
          justify-content: center;
          padding: 0.5em 1em;
          background: #E2437D;
          border-radius: 0.6em;
          transition: transform .3s; }
          #global-head .head-container .btn a span em {
            margin-left: 0.5882352941em;
            padding: 0 0.4705882353em;
            background: #B35300;
            border-radius: 0.2941176471em;
            color: #FFF;
            font-size: 2.2666666667vw !important;
            display: flex;
            align-items: center; }
        #global-head .head-container .btn a::before {
          content: '';
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background: #B35300;
          border-radius: 0.6em;
          transform: translateY(0.25em); }
        #global-head .head-container .btn a:hover {
          opacity: 1; }
          #global-head .head-container .btn a:hover span {
            transform: translateY(0.1em); }
  @media screen and (min-width: 751px) {
    #global-head {
      padding: 0 30px; }
      #global-head .head-container {
        max-width: 1000px;
        margin: 0 auto; }
        #global-head .head-container .btn a {
          font-size: 20px !important;
          font-size: 2rem !important; }
          #global-head .head-container .btn a span em {
            font-size: 17px !important;
            font-size: 1.7rem !important; } }

#global-foot {
  margin-top: 21.3333333333vw;
  font-size: 3.4666666667vw !important;
  text-align: center; }
  #global-foot .navi {
    padding: 1.5384615385em 4vw;
    background: #EFEFEF; }
    #global-foot .navi ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center; }
      #global-foot .navi ul li {
        position: relative;
        padding: 0 .5em; }
        #global-foot .navi ul li:not(:first-child)::before {
          content: '';
          position: absolute;
          top: 50%;
          left: 0;
          width: 1px;
          height: 1em;
          margin-top: -0.5em;
          background: #252B38; }
        #global-foot .navi ul li a {
          display: block;
          padding: 0 .5em;
          color: #252B38;
          line-height: 1.2; }
  #global-foot .copy {
    display: block;
    padding: 0.7692307692em 4vw;
    background: #316CB3;
    color: #FFF;
    line-height: 1.2; }
  @media screen and (min-width: 751px) {
    #global-foot {
      margin-top: 100px;
      font-size: 16px !important;
      font-size: 1.6rem !important; }
      #global-foot .navi {
        padding: 25px 30px; }
      #global-foot .copy {
        padding: 15px 30px; } }

.wpcf7 {
  margin-bottom: 10.6666666667vw; }
  .wpcf7 .input-only,
  .wpcf7 .error-only {
    display: none; }
  .wpcf7 form.init .input-only {
    display: block; }
  .wpcf7 form.invalid .error-only {
    display: block; }
  .wpcf7 form.invalid .wpcf7-response-output {
    display: none; }
  .wpcf7 .wpcf7-radio,
  .wpcf7 .wpcf7-checkbox,
  .wpcf7 .wpcf7-acceptance {
    display: block; }
    .wpcf7 .wpcf7-radio .wpcf7-list-item,
    .wpcf7 .wpcf7-checkbox .wpcf7-list-item,
    .wpcf7 .wpcf7-acceptance .wpcf7-list-item {
      display: block;
      margin: 0;
      padding: 0;
      min-width: 100px; }
  .wpcf7 .input-list01,
  .wpcf7 .input-list01 .wpcf7-radio,
  .wpcf7 .input-list01 .wpcf7-checkbox {
    position: relative;
    margin: -2.6666666667vw 0 0 0; }
    .wpcf7 .input-list01 > *,
    .wpcf7 .input-list01 .wpcf7-radio > *,
    .wpcf7 .input-list01 .wpcf7-checkbox > * {
      margin: 2.6666666667vw 0 0 0 !important;
      width: 90%; }
    @media screen and (min-width: 751px) {
      .wpcf7 .input-list01,
      .wpcf7 .input-list01 .wpcf7-radio,
      .wpcf7 .input-list01 .wpcf7-checkbox {
        margin: -20px 0 0 0; }
        .wpcf7 .input-list01 > *,
        .wpcf7 .input-list01 .wpcf7-radio > *,
        .wpcf7 .input-list01 .wpcf7-checkbox > * {
          margin: 20px 0 0 0 !important;
          width: 48%; } }
  .wpcf7 .input-list02,
  .wpcf7 .input-list02 .wpcf7-radio,
  .wpcf7 .input-list02 .wpcf7-checkbox {
    position: relative;
    justify-content: flex-start;
    margin: 0 0 1.3333333333vw; }
    .wpcf7 .input-list02 > *,
    .wpcf7 .input-list02 .wpcf7-radio > *,
    .wpcf7 .input-list02 .wpcf7-checkbox > * {
      margin: 1.3333333333vw 1.3333333333vw 0 0 !important;
      flex-grow: 2; }
    @media screen and (min-width: 751px) {
      .wpcf7 .input-list02,
      .wpcf7 .input-list02 .wpcf7-radio,
      .wpcf7 .input-list02 .wpcf7-checkbox {
        margin: -20px 0 10px 0; }
        .wpcf7 .input-list02 > *,
        .wpcf7 .input-list02 .wpcf7-radio > *,
        .wpcf7 .input-list02 .wpcf7-checkbox > * {
          margin: 20px 20px 0 0 !important; } }
  .wpcf7 .input-list03,
  .wpcf7 .input-list03 .wpcf7-radio,
  .wpcf7 .input-list03 .wpcf7-checkbox {
    position: relative; }
    .wpcf7 .input-list03 > *,
    .wpcf7 .input-list03 .wpcf7-radio > *,
    .wpcf7 .input-list03 .wpcf7-checkbox > * {
      margin: 2.6666666667vw 0 0 0 !important; }
    @media screen and (min-width: 751px) {
      .wpcf7 .input-list03,
      .wpcf7 .input-list03 .wpcf7-radio,
      .wpcf7 .input-list03 .wpcf7-checkbox {
        display: flex;
        justify-content: space-between;
        margin: 0 -20px 0 0; }
        .wpcf7 .input-list03 > *,
        .wpcf7 .input-list03 .wpcf7-radio > *,
        .wpcf7 .input-list03 .wpcf7-checkbox > * {
          width: 100%;
          margin: 0 20px 0 0 !important; } }
  .wpcf7 .input-list04,
  .wpcf7 .input-list04 .wpcf7-radio,
  .wpcf7 .input-list04 .wpcf7-checkbox {
    position: relative;
    display: flex;
    flex-wrap: wrap; }
    .wpcf7 .input-list04 > *,
    .wpcf7 .input-list04 .wpcf7-radio > *,
    .wpcf7 .input-list04 .wpcf7-checkbox > * {
      margin: 0 2.6666666667vw 0 0 !important; }
    @media screen and (min-width: 751px) {
      .wpcf7 .input-list04,
      .wpcf7 .input-list04 .wpcf7-radio,
      .wpcf7 .input-list04 .wpcf7-checkbox {
        margin: 0 -20px 0 0; }
        .wpcf7 .input-list04 > *,
        .wpcf7 .input-list04 .wpcf7-radio > *,
        .wpcf7 .input-list04 .wpcf7-checkbox > * {
          margin: 0 20px 0 0 !important; } }
  .wpcf7 .input-list05,
  .wpcf7 .input-list05 .wpcf7-radio,
  .wpcf7 .input-list05 .wpcf7-checkbox {
    position: relative;
    display: flex;
    align-items: center; }
    .wpcf7 .input-list05 > *,
    .wpcf7 .input-list05 .wpcf7-radio > *,
    .wpcf7 .input-list05 .wpcf7-checkbox > * {
      margin: 0 .5em 0 0 !important;
      width: auto !important; }
    .wpcf7 .input-list05 .text,
    .wpcf7 .input-list05 .wpcf7-radio .text,
    .wpcf7 .input-list05 .wpcf7-checkbox .text {
      display: block; }
  .wpcf7 .wpcf7-form-control-wrap,
  .wpcf7 .wpcf7-form-control {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-around; }
  .wpcf7 .wpcf7-form-control-wrap .wpcf7-not-valid-tip {
    display: none; }
  .wpcf7 .wpcf7-response-output {
    display: block;
    background: #FFF;
    border: none !important;
    color: #B35300; }
  .wpcf7 .wpcf7-not-valid-tip {
    display: block;
    margin-top: 0.3125em;
    color: #B35300;
    font-size: 4.2666666667vw !important; }
    .wpcf7 .wpcf7-not-valid-tip::before {
      content: '▲ ';
      display: inline; }
    @media screen and (min-width: 751px) {
      .wpcf7 .wpcf7-not-valid-tip {
        font-size: 16px !important;
        font-size: 1.6rem !important; } }
    .wpcf7 .wpcf7-not-valid-tip + .wpcf7-not-valid-tip {
      display: none; }
  .wpcf7 .form-btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .wpcf7 .form-btn .button {
      display: block;
      width: 80vw; }
      .wpcf7 .form-btn .button .text {
        padding: 0.6666666667em; }
      .wpcf7 .form-btn .button.prev-btn {
        margin: 0 0 2.6666666667vw;
        padding-bottom: 0.3571428571em;
        font-size: 4.5333333333vw !important;
        line-height: 1.4285714286; }
        .wpcf7 .form-btn .button.prev-btn .text {
          padding: 0.7142857143em;
          border-radius: 0.4285714286em; }
    .wpcf7 .form-btn .wpcf7-spinner, .wpcf7 .form-btn .ajax-loader {
      position: absolute;
      top: 100%;
      right: 0;
      left: 0;
      display: block;
      margin: 2.6666666667vw auto 0; }
    @media screen and (min-width: 751px) {
      .wpcf7 .form-btn {
        flex-wrap: nowrap; }
        .wpcf7 .form-btn .button {
          width: 100%;
          max-width: 600px;
          min-width: 0; }
          .wpcf7 .form-btn .button.prev-btn {
            margin: 0 20px 0 0;
            font-size: 28px !important;
            font-size: 2.8rem !important; }
          .wpcf7 .form-btn .button .wpcf7-spinner, .wpcf7 .form-btn .button .ajax-loader {
            margin: 10px auto 0; } }
  .wpcf7 input,
  .wpcf7 button,
  .wpcf7 textarea,
  .wpcf7 select {
    font-family: YakuHanJP, "Noto Sans JP", "游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    color: #252B38;
    font-size: 4.8vw !important;
    vertical-align: top;
    letter-spacing: 0em; }
    .wpcf7 input::placeholder,
    .wpcf7 button::placeholder,
    .wpcf7 textarea::placeholder,
    .wpcf7 select::placeholder {
      color: #999; }
    .wpcf7 input:-ms-input-placeholder,
    .wpcf7 button:-ms-input-placeholder,
    .wpcf7 textarea:-ms-input-placeholder,
    .wpcf7 select:-ms-input-placeholder {
      color: #999; }
    .wpcf7 input::-ms-input-placeholder,
    .wpcf7 button::-ms-input-placeholder,
    .wpcf7 textarea::-ms-input-placeholder,
    .wpcf7 select::-ms-input-placeholder {
      color: #999; }
    .wpcf7 input:focus,
    .wpcf7 button:focus,
    .wpcf7 textarea:focus,
    .wpcf7 select:focus {
      outline: 0; }
    @media screen and (min-width: 751px) {
      .wpcf7 input,
      .wpcf7 button,
      .wpcf7 textarea,
      .wpcf7 select {
        font-size: 18px !important;
        font-size: 1.8rem !important; } }
  .wpcf7 input[type=text],
  .wpcf7 input[type=email],
  .wpcf7 input[type=tel],
  .wpcf7 input[type=url],
  .wpcf7 input[type=password],
  .wpcf7 input[type=datetime],
  .wpcf7 input[type=number],
  .wpcf7 textarea {
    width: 100%;
    min-height: 2.7777777778em;
    padding: 0.4444444444em 0.7222222222em;
    background: #f6f6f6;
    border: 2px solid #ccc;
    border-radius: 0.3333333333em;
    line-height: 1.6666666667;
    transition: background .3s; }
    .wpcf7 input[type=text]:focus,
    .wpcf7 input[type=email]:focus,
    .wpcf7 input[type=tel]:focus,
    .wpcf7 input[type=url]:focus,
    .wpcf7 input[type=password]:focus,
    .wpcf7 input[type=datetime]:focus,
    .wpcf7 input[type=number]:focus,
    .wpcf7 textarea:focus {
      background: #FFF; }
    .wpcf7 input[type=text].input-size01,
    .wpcf7 input[type=email].input-size01,
    .wpcf7 input[type=tel].input-size01,
    .wpcf7 input[type=url].input-size01,
    .wpcf7 input[type=password].input-size01,
    .wpcf7 input[type=datetime].input-size01,
    .wpcf7 input[type=number].input-size01,
    .wpcf7 textarea.input-size01 {
      width: 10em; }
    .wpcf7 input[type=text].input-size02,
    .wpcf7 input[type=email].input-size02,
    .wpcf7 input[type=tel].input-size02,
    .wpcf7 input[type=url].input-size02,
    .wpcf7 input[type=password].input-size02,
    .wpcf7 input[type=datetime].input-size02,
    .wpcf7 input[type=number].input-size02,
    .wpcf7 textarea.input-size02 {
      width: 4.8em; }
  .wpcf7 select {
    height: 2.7777777778em;
    padding: 0.5555555556em 0.8333333333em;
    background: #f6f6f6;
    border: none;
    border-radius: 0.3333333333em;
    line-height: 1;
    cursor: pointer; }
  .wpcf7 .select-box {
    display: inline-block; }
    .wpcf7 .select-box .wpcf7-form-control-wrap {
      position: relative; }
      .wpcf7 .select-box .wpcf7-form-control-wrap::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 1.3888888889em;
        width: 0.6666666667em;
        margin-top: -0.2222222222em;
        border-top: 0.4444444444em solid #252B38;
        border-right: 0.3333333333em solid transparent;
        border-left: 0.3333333333em solid transparent;
        pointer-events: none; }
      .wpcf7 .select-box .wpcf7-form-control-wrap select {
        padding-right: 3.3333333333em;
        -webkit-appearance: none;
        appearance: none; }
        .wpcf7 .select-box .wpcf7-form-control-wrap select::-ms-expand {
          display: none; }
  .wpcf7 label {
    position: relative;
    display: block; }
    .wpcf7 label .wpcf7-list-item-label {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-height: 2.7777777778em;
      padding: 0.5555555556em 0.5555555556em 0.5555555556em 2.7777777778em;
      background: #f6f6f6;
      border-radius: 0.3333333333em;
      color: #666;
      font-size: 4.8vw !important;
      line-height: 1.4;
      cursor: pointer;
      transition: background .3s;
      letter-spacing: 0em; }
    .wpcf7 label input[type=radio] {
      display: none; }
      .wpcf7 label input[type=radio] + .wpcf7-list-item-label::before, .wpcf7 label input[type=radio] + .wpcf7-list-item-label::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 0.8333333333em;
        width: 1.1111111111em;
        height: 1.1111111111em;
        margin-top: -0.5555555556em;
        background: #FFF;
        border-radius: 50%; }
      .wpcf7 label input[type=radio] + .wpcf7-list-item-label::after {
        opacity: 0;
        transform: scale(50%); }
      .wpcf7 label input[type=radio]:checked + .wpcf7-list-item-label {
        background: #316CB3;
        color: #FFF; }
        .wpcf7 label input[type=radio]:checked + .wpcf7-list-item-label::before {
          background: #316CB3; }
        .wpcf7 label input[type=radio]:checked + .wpcf7-list-item-label::after {
          opacity: 1; }
    .wpcf7 label input[type=checkbox] {
      display: none; }
      .wpcf7 label input[type=checkbox] + .wpcf7-list-item-label::before, .wpcf7 label input[type=checkbox] + .wpcf7-list-item-label::after {
        content: ''; }
      .wpcf7 label input[type=checkbox] + .wpcf7-list-item-label::before {
        position: absolute;
        top: 50%;
        left: 0.8333333333em;
        width: 1.1111111111em;
        height: 1.1111111111em;
        margin-top: -0.5555555556em;
        background: #FFF;
        border-radius: 0.1666666667em; }
      .wpcf7 label input[type=checkbox] + .wpcf7-list-item-label::after {
        position: absolute;
        top: 50%;
        left: 1em;
        width: 0.7777777778em;
        height: 0.5555555556em;
        margin-top: -0.4444444444em;
        border-bottom: 0.1666666667em solid #FFF;
        border-left: 0.1666666667em solid #FFF;
        transform: rotate(-45deg);
        opacity: 0; }
      .wpcf7 label input[type=checkbox]:checked + .wpcf7-list-item-label {
        background: #316CB3;
        color: #FFF; }
        .wpcf7 label input[type=checkbox]:checked + .wpcf7-list-item-label::before {
          background: #316CB3; }
        .wpcf7 label input[type=checkbox]:checked + .wpcf7-list-item-label::after {
          opacity: 1; }
      .wpcf7 label input[type=checkbox].acceptance-check + .wpcf7-list-item-label {
        background: #FFF;
        color: #252B38; }
        .wpcf7 label input[type=checkbox].acceptance-check + .wpcf7-list-item-label::before {
          background: #f6f6f6; }
        .wpcf7 label input[type=checkbox].acceptance-check + .wpcf7-list-item-label::after {
          border-color: #316CB3; }
    @media screen and (min-width: 751px) {
      .wpcf7 label .wpcf7-list-item-label {
        font-size: 18px !important;
        font-size: 1.8rem !important; } }

.page-title {
  padding: 0 4vw; }
  .page-title .title {
    padding: 6.6666666667vw 0;
    color: #182A83;
    font-size: 6.4vw !important;
    font-weight: 500;
    text-align: center; }
  @media screen and (min-width: 751px) {
    .page-title {
      padding: 0 30px; }
      .page-title .title {
        padding: 50px 0;
        font-size: 48px !important;
        font-size: 4.8rem !important; } }

.title01 {
  margin-bottom: 6.6666666667vw;
  color: #182A83;
  font-size: 5.8666666667vw !important;
  font-weight: 700;
  text-align: center; }
  .title01 em {
    color: #316CB3;
    font-size: 6.4vw !important;
    font-style: normal; }
  .title01 span {
    display: inline-block; }
  @media screen and (min-width: 751px) {
    .title01 {
      margin-bottom: 40px;
      font-size: 30px !important;
      font-size: 3rem !important; }
      .title01 em {
        font-size: 42px !important;
        font-size: 4.2rem !important; } }

.button {
  position: relative;
  display: inline-block;
  padding-bottom: 0.3333333333em;
  font-size: 5.0666666667vw !important;
  color: #FFF;
  line-height: 1.3333333333;
  font-weight: 500;
  text-align: center;
  width: 90%; }
  .button * {
    display: none;
    letter-spacing: 0em; }
  .button input[type=submit],
  .button button {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0; }
  .button span.t {
    position: relative;
    display: flex;
    justify-content: center;
    padding: 1.3333333333em;
    background: #E2437D;
    border-radius: 0.4em;
    transition: transform .3s; }
    .button span.t em {
      display: block;
      margin-left: 0.3333333333em;
      padding: 0.2333333333em 0.4666666667em;
      background: #B35300;
      border-radius: 0.2333333333em;
      color: #FFF;
      font-size: .8em; }
  .button::before {
    content: '';
    position: absolute;
    top: 0.3333333333em;
    right: 0;
    bottom: 0;
    left: 0;
    background: #B35300;
    border-radius: 0.4em; }
  .button:hover {
    opacity: 1; }
    .button:hover span.t {
      transform: translateY(0.1666666667em); }
  .button.desabled span.t, .button.prev-btn span.t {
    background: #999; }
  .button.desabled::before, .button.prev-btn::before {
    background: #666; }
  .button.desabled {
    cursor: not-allowed;
    pointer-events: none; }
    .button.desabled:hover span.t {
      transform: translateY(0); }
  @media screen and (min-width: 751px) {
    .button {
      min-width: 400px;
      max-width: 640px;
      font-size: 30px !important;
      font-size: 3rem !important; } }

.estimate-btn {
  text-align: center; }
  .estimate-btn p {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.625em;
    color: #316CB3;
    font-size: 4vw !important;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    text-shadow: 0.08em 0.08em 0 #FFF; }
    .estimate-btn p span {
      display: block;
      letter-spacing: 0.02em;
      text-indent: 0.02em; }
    .estimate-btn p::before {
      content: '＼';
      margin-right: .5em; }
    .estimate-btn p::after {
      content: '／';
      margin-left: .5em; }
  @media screen and (min-width: 751px) {
    .estimate-btn p {
      font-size: 24px !important;
      font-size: 2.4rem !important; } }

.home-page .sec01 {
  position: relative;
  padding: 21.3333333333vw 0 0;
  background: #D7E7FA; }
  .home-page .sec01 .title {
    display: flex;
    align-items: center;
    margin-bottom: 5.3333333333vw;
    color: #182A83;
    font-size: 5.3333333333vw !important;
    line-height: 1.3;
    font-weight: 700;
    text-shadow: 0.08em 0.08em 0 #FFF; }
    .home-page .sec01 .title span.catch {
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: 20.8vw;
      height: 20.8vw;
      margin-right: 3.3333333333vw;
      background: #316CB3;
      border-radius: 50%;
      color: #FFF;
      font-size: 6.6666666667vw !important;
      line-height: 1.12;
      font-weight: 900;
      text-align: center;
      text-shadow: none; }
    .home-page .sec01 .title .copy01 {
      font-size: 1.3em; }
    .home-page .sec01 .title .copy02 {
      font-size: 1.1em; }
  .home-page .sec01 .list {
    margin-bottom: 8vw;
    padding: 0 5.3333333333vw; }
    .home-page .sec01 .list .item:not(:first-child) {
      margin-top: 1.3333333333vw; }
  .home-page .sec01 .estimate-btn {
    z-index: 1;
    position: relative;
    margin-bottom: -5.6vw; }
  @media screen and (min-width: 751px) {
    .home-page .sec01 {
      padding: 14.5454545455vw 0 0; }
      .home-page .sec01 .title {
        margin-bottom: 5.4545454545vw;
        font-size: 4.3636363636vw !important; }
        .home-page .sec01 .title span.catch {
          width: 13.6363636364vw;
          height: 13.6363636364vw;
          font-size: 3.8181818182vw !important; }
        .home-page .sec01 .title .copy01 {
          font-size: 1.5em; }
        .home-page .sec01 .title .copy02 {
          font-size: 1.25em; }
      .home-page .sec01 .list {
        display: flex;
        justify-content: space-between;
        max-width: 960px;
        margin: 0 auto 8.1818181818vw;
        padding: 0; }
        .home-page .sec01 .list .item {
          width: 26.0416666667%; }
          .home-page .sec01 .list .item:not(:first-child) {
            margin-top: 0; }
      .home-page .sec01 .estimate-btn {
        margin-bottom: -5.4545454545vw; } }
  @media screen and (min-width: 1101px) {
    .home-page .sec01 {
      padding: 150px 0 0; }
      .home-page .sec01 .title {
        margin-bottom: 60px;
        font-size: 48px !important;
        font-size: 4.8rem !important; }
        .home-page .sec01 .title span.catch {
          width: 150px;
          height: 150px;
          font-size: 42px !important;
          font-size: 4.2rem !important; }
      .home-page .sec01 .list {
        margin-bottom: 60px; }
      .home-page .sec01 .estimate-btn {
        margin-bottom: -40px; } }
.home-page .sec02 {
  padding: 0 0 10.6666666667vw;
  background: #EFEFEF; }
  .home-page .sec02 .top-content {
    position: relative;
    margin-bottom: 10.6666666667vw;
    padding: 13.3333333333vw 0 8vw;
    background: #FFF; }
    .home-page .sec02 .top-content::after {
      content: '';
      position: absolute;
      top: 100%;
      right: 0;
      left: 0;
      width: 40vw;
      border-top: 10.6666666667vw solid #FFF;
      border-right: 20vw solid transparent;
      border-left: 20vw solid transparent;
      margin: 0 auto; }
    .home-page .sec02 .top-content .onayami .image {
      width: 33.3333333333vw;
      margin: 0 auto 6.6666666667vw; }
    .home-page .sec02 .top-content .onayami .list .item {
      position: relative;
      padding-left: 1.2em;
      font-size: 4.2666666667vw !important;
      line-height: 1.5625;
      font-weight: 700;
      letter-spacing: 0em; }
      .home-page .sec02 .top-content .onayami .list .item:not(:first-child) {
        margin-top: .5em; }
      .home-page .sec02 .top-content .onayami .list .item::before {
        content: '■';
        position: absolute;
        top: 0;
        left: 0; }
  .home-page .sec02 .bottom-content {
    padding: 8vw 0 0;
    background: #EFEFEF; }
    .home-page .sec02 .bottom-content .list {
      margin-bottom: 10.6666666667vw;
      padding: 0 5.3333333333vw; }
      .home-page .sec02 .bottom-content .list .item:not(:first-child) {
        margin-top: 2.6666666667vw; }
  @media screen and (min-width: 751px) {
    .home-page .sec02 {
      padding: 0 0 100px; }
      .home-page .sec02 .top-content {
        margin-bottom: 80px;
        padding: 100px 0 65px; }
        .home-page .sec02 .top-content::after {
          content: '';
          width: 310px;
          border-top-width: 80px;
          border-right-width: 155px;
          border-left-width: 155px; }
        .home-page .sec02 .top-content .onayami {
          display: flex;
          align-items: center;
          max-width: 960px;
          margin: 0 auto; }
          .home-page .sec02 .top-content .onayami .image {
            flex: 1;
            max-width: 170px;
            margin: 0 7.2916666667% 0 0; }
          .home-page .sec02 .top-content .onayami .list .item {
            font-size: 22px !important;
            font-size: 2.2rem !important;
            line-height: 1.4545454545; }
            .home-page .sec02 .top-content .onayami .list .item:not(:first-child) {
              margin-top: 1.2em; }
      .home-page .sec02 .bottom-content {
        padding: 10.9090909091vw 0 0; }
        .home-page .sec02 .bottom-content .list {
          display: flex;
          justify-content: space-between;
          margin-bottom: 8.1818181818vw;
          padding: 0; }
          .home-page .sec02 .bottom-content .list .item {
            width: 31%; }
            .home-page .sec02 .bottom-content .list .item:not(:first-child) {
              margin-top: 0; } }
  @media screen and (min-width: 1101px) {
    .home-page .sec02 .bottom-content {
      padding: 60px 0 0; }
      .home-page .sec02 .bottom-content .list {
        margin-bottom: 60px; } }
.home-page .sec03 {
  padding: 9.3333333333vw 0 10.6666666667vw; }
  .home-page .sec03 .merit .list li {
    position: relative;
    padding-left: 2em;
    letter-spacing: 0em;
    margin-top: 1em; }
    .home-page .sec03 .merit .list li::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 1.6666666667em;
      height: 1.7777777778em;
      background: url("../img/check-icon.svg") 50% no-repeat;
      background-size: contain; }
  @media screen and (min-width: 751px) {
    .home-page .sec03 {
      padding: 50px 0 100px; }
      .home-page .sec03 .merit .list {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap; }
        .home-page .sec03 .merit .list li {
          width: 50%;
          padding-left: 2.7272727273em;
          font-size: 20px !important;
          font-size: 2rem !important; } }
.home-page .sec04 {
  padding: 9.3333333333vw 0 10.6666666667vw;
  background: #EFEFEF; }
  .home-page .sec04 .flow {
    margin-bottom: 10.6666666667vw;
    padding: 0 5.3333333333vw; }
    .home-page .sec04 .flow li:not(:first-child) {
      margin-top: 2.6666666667vw; }
  .home-page .sec04 .soudan {
    position: relative;
    padding: 6.6666666667vw 5.3333333333vw;
    background: #FFF;
    border: 1px solid #ccc; }
    .home-page .sec04 .soudan .title {
      margin-bottom: 12vw;
      padding-right: 24vw;
      color: #316CB3;
      font-size: 4.8vw !important;
      line-height: 1.4444444444;
      font-weight: 700;
      letter-spacing: 0em; }
      .home-page .sec04 .soudan .title span {
        display: inline-block;
        letter-spacing: 0em; }
    .home-page .sec04 .soudan .text {
      margin-bottom: 6.6666666667vw; }
      .home-page .sec04 .soudan .text .image {
        position: absolute;
        top: 4.8vw;
        right: 5.3333333333vw;
        width: 27.7333333333vw; }
      .home-page .sec04 .soudan .text .list li {
        position: relative;
        padding-left: 1em;
        font-size: 3.7333333333vw !important;
        line-height: 2; }
        .home-page .sec04 .soudan .text .list li:not(:first-child) {
          margin-top: 1em; }
        .home-page .sec04 .soudan .text .list li::before {
          content: '・';
          position: absolute;
          top: 0;
          left: 0; }
  @media screen and (min-width: 751px) {
    .home-page .sec04 {
      padding: 50px 0 50px; }
      .home-page .sec04 .flow {
        display: flex;
        justify-content: space-between;
        margin-bottom: 9.0909090909vw;
        padding: 0; }
        .home-page .sec04 .flow li {
          width: 22%; }
          .home-page .sec04 .flow li:not(:first-child) {
            margin-top: 0; }
      .home-page .sec04 .soudan {
        padding: 30px 50px 50px; }
        .home-page .sec04 .soudan .title {
          margin-bottom: 30px;
          padding-right: 0;
          font-size: 30px !important;
          font-size: 3rem !important;
          letter-spacing: 0.06em; }
          .home-page .sec04 .soudan .title span {
            letter-spacing: 0.06em; }
        .home-page .sec04 .soudan .text {
          display: flex;
          align-items: center;
          flex-direction: row-reverse;
          justify-content: space-between;
          margin-bottom: 40px; }
          .home-page .sec04 .soudan .text .image {
            position: relative;
            top: auto;
            right: auto;
            width: 20.0445434298%;
            margin-left: 6.6815144766%; }
          .home-page .sec04 .soudan .text .list {
            flex: 1;
            width: 100%; }
            .home-page .sec04 .soudan .text .list li {
              font-size: 18px !important;
              font-size: 1.8rem !important;
              line-height: 1.7777777778; }
              .home-page .sec04 .soudan .text .list li:not(:first-child) {
                margin-top: 2em; } }
  @media screen and (min-width: 1101px) {
    .home-page .sec04 .flow {
      margin-bottom: 100px; } }
.home-page .sec05 {
  padding: 0 0 10.6666666667vw;
  background: #EFEFEF; }
  .home-page .sec05 .title01 {
    margin-bottom: 10.6666666667vw; }
  .home-page .sec05 .case-list {
    margin-bottom: 13.3333333333vw; }
    .home-page .sec05 .case-list .item:not(:first-child) {
      margin-top: 13.3333333333vw; }
    .home-page .sec05 .case-list .item .image {
      width: 32vw;
      margin: 0 auto 6.6666666667vw; }
    .home-page .sec05 .case-list .item .text .title {
      margin-bottom: 6.6666666667vw;
      font-size: 4.8vw !important;
      font-weight: 700;
      text-align: center;
      letter-spacing: 0em; }
    .home-page .sec05 .case-list .item .text p {
      font-size: 4.2666666667vw !important;
      line-height: 1.75; }
  @media screen and (min-width: 751px) {
    .home-page .sec05 {
      padding: 0 0 50px; }
      .home-page .sec05 .title01 {
        margin-bottom: 60px; }
      .home-page .sec05 .case-list {
        margin-bottom: 60px; }
        .home-page .sec05 .case-list .item {
          display: flex;
          max-width: 960px;
          margin: 0 auto; }
          .home-page .sec05 .case-list .item:not(:first-child) {
            margin-top: 60px; }
          .home-page .sec05 .case-list .item .image {
            width: 26.0416666667%;
            margin: 0;
            padding: 0 5.2083333333%; }
          .home-page .sec05 .case-list .item .text {
            width: 57.2916666667%; }
            .home-page .sec05 .case-list .item .text .title {
              margin-bottom: 15px;
              font-size: 22px !important;
              font-size: 2.2rem !important;
              text-align: left; }
            .home-page .sec05 .case-list .item .text p {
              font-size: 16px !important;
              font-size: 1.6rem !important;
              line-height: 2; } }
.home-page .sec06 {
  padding: 9.3333333333vw 0 0; }
  .home-page .sec06 .title01 {
    margin-bottom: 10.6666666667vw; }
  .home-page .sec06 .faq-list {
    margin: 0 0 12vw; }
    .home-page .sec06 .faq-list .item:not(:first-child) {
      margin-top: 5.3333333333vw; }
    .home-page .sec06 .faq-list .item .question {
      position: relative;
      padding: 4vw 10.6666666667vw 4vw 16vw;
      background: #efefef;
      color: #182A83;
      font-size: 4.8vw !important;
      line-height: 1.5555555556;
      font-weight: 700;
      cursor: pointer; }
      .home-page .sec06 .faq-list .item .question::before {
        content: 'Q';
        position: absolute;
        top: 2.6666666667vw;
        left: 2.6666666667vw;
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 10.6666666667vw;
        height: 10.6666666667vw;
        padding: 0 0 1.3333333333vw;
        background: #FFF;
        border-radius: 50%;
        line-height: 1;
        text-align: center; }
      .home-page .sec06 .faq-list .item .question .icon {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        display: block;
        width: 10.6666666667vw;
        height: 100%; }
        .home-page .sec06 .faq-list .item .question .icon::before, .home-page .sec06 .faq-list .item .question .icon::after {
          content: '';
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          width: 4.8vw;
          height: 0.8vw;
          margin: auto;
          background: #182A83;
          transition: all .3s ease-in-out; }
        .home-page .sec06 .faq-list .item .question .icon::after {
          transform: rotate(90deg); }
      .home-page .sec06 .faq-list .item .question.open .icon::after {
        transform: rotate(180deg); }
    .home-page .sec06 .faq-list .item .answer {
      display: none;
      padding: 4vw 0 2.6666666667vw;
      font-size: 4.2666666667vw !important;
      line-height: 1.875; }
      .home-page .sec06 .faq-list .item .answer p:not(:first-child) {
        margin-top: 1em; }
  @media screen and (min-width: 751px) {
    .home-page .sec06 {
      padding: 50px 0 0; }
      .home-page .sec06 .title01 {
        margin-bottom: 60px; }
      .home-page .sec06 .faq-list {
        margin: 0 0 50px; }
        .home-page .sec06 .faq-list .item:not(:first-child) {
          margin-top: 15px; }
        .home-page .sec06 .faq-list .item .question {
          min-height: 60px;
          padding: 15px 65px;
          font-size: 18px !important;
          font-size: 1.8rem !important; }
          .home-page .sec06 .faq-list .item .question::before {
            top: 10px;
            left: 10px;
            width: 40px;
            height: 40px;
            padding: 0 0 5px; }
          .home-page .sec06 .faq-list .item .question .icon {
            width: 65px; }
            .home-page .sec06 .faq-list .item .question .icon::before, .home-page .sec06 .faq-list .item .question .icon::after {
              width: 18px;
              height: 3px; }
        .home-page .sec06 .faq-list .item .answer {
          padding: 15px 2.5% 35px;
          font-size: 16px !important;
          font-size: 1.6rem !important;
          line-height: 2; }
          .home-page .sec06 .faq-list .item .answer p:not(:first-child) {
            margin-top: 1em; } }

.form-page {
  background: #EFEFEF; }
  .form-page #global-foot .navi {
    background: #FFF; }
  .form-page .form-info {
    margin-bottom: 10.6666666667vw; }
    .form-page .form-info .text {
      text-align: center;
      margin: 4vw;
      font-size: 4.8vw !important;
      line-height: 1.5; }
      .form-page .form-info .text span {
        color: #E2437D; }
    @media screen and (min-width: 751px) {
      .form-page .form-info .text {
        margin: 30px;
        font-size: 20px !important;
        font-size: 2rem !important; } }
    .form-page .form-info .wrap {
      padding: 6.6666666667vw 5.3333333333vw;
      background: #FFF;
      border: 1px solid #ccc; }
      .form-page .form-info .wrap p:not(:first-child) {
        margin-top: 1em; }
      .form-page .form-info .wrap p span {
        color: #E2437D; }
      .form-page .form-info .wrap .first-message .title p {
        font-size: 4.8vw !important;
        line-height: 1.4444444444;
        font-weight: 700; }
        .form-page .form-info .wrap .first-message .title p span {
          color: #E2437D; }
      .form-page .form-info .wrap .first-message .title li {
        font-size: 4.8vw !important;
        line-height: 1.4444444444;
        font-weight: 700; }
        .form-page .form-info .wrap .first-message .title li span {
          color: #E2437D; }
      .form-page .form-info .wrap .thanks-message .btn {
        margin-top: 5.3333333333vw;
        text-align: center; }
      .form-page .form-info .wrap .validation-error {
        color: #B35300;
        font-size: 4.8vw !important; }
    @media screen and (min-width: 751px) {
      .form-page .form-info .wrap {
        padding: 30px; }
        .form-page .form-info .wrap .first-message .title p,
        .form-page .form-info .wrap .first-message .title li {
          font-size: 20px !important;
          font-size: 2rem !important;
          line-height: 1.5; }
        .form-page .form-info .wrap .thanks-message .btn {
          margin-top: 50px; }
        .form-page .form-info .wrap .validation-error {
          font-size: 18px !important;
          font-size: 1.8rem !important;
          text-align: center; } }
  .form-page .progress-bar {
    margin-bottom: 10.6666666667vw; }
    .form-page .progress-bar .list {
      position: relative;
      display: flex;
      background: #FFF; }
      .form-page .progress-bar .list::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        border: 1px solid #316CB3; }
      .form-page .progress-bar .list li {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        height: 46px;
        padding: 0 2em 0 1em;
        color: #999;
        font-size: 18px !important;
        font-size: 1.8rem !important;
        line-height: 1;
        font-weight: 500;
        text-align: center; }
        .form-page .progress-bar .list li:not(:first-of-type)::before, .form-page .progress-bar .list li:not(:first-of-type)::after {
          content: '';
          position: absolute;
          left: -11px;
          width: 20px;
          height: 23px;
          background: #FFF;
          border-left: 1px solid #316CB3; }
        .form-page .progress-bar .list li:not(:first-of-type)::before {
          top: 0;
          transform: skew(40deg); }
        .form-page .progress-bar .list li:not(:first-of-type)::after {
          bottom: 0;
          transform: skew(-40deg); }
        .form-page .progress-bar .list li.current {
          background: #316CB3;
          color: #FFF; }
          .form-page .progress-bar .list li.current:not(:first-child)::before, .form-page .progress-bar .list li.current:not(:first-child)::after {
            background: #316CB3; }
    @media screen and (min-width: 751px) {
      .form-page .progress-bar {
        margin-bottom: 50px; } }
  .form-page .form-container {
    margin-bottom: 10.6666666667vw; }
    .form-page .form-container .sec {
      padding: 8vw 0;
      background: #FFF; }
      .form-page .form-container .sec:not(:last-child) {
        margin-bottom: 10.6666666667vw; }
      .form-page .form-container .sec .form-list {
        padding: 0 4vw;
        font-size: 4.8vw !important; }
        .form-page .form-container .sec .form-list dt {
          z-index: 1;
          position: relative;
          display: flex;
          align-items: center;
          margin-bottom: 1.3333333333vw;
          font-weight: 700; }
          .form-page .form-container .sec .form-list dt:not(:first-child) {
            margin-top: 10.6666666667vw; }
          .form-page .form-container .sec .form-list dt .required {
            display: block;
            width: 13.3333333333vw;
            margin-left: 1em;
            background: #B35300;
            color: #FFF;
            font-size: 3.4666666667vw !important;
            line-height: 2.3076923077;
            text-align: center; }
          .form-page .form-container .sec .form-list dt .optional {
            display: block;
            width: 13.3333333333vw;
            margin-left: 1em;
            background: #FFF;
            border: 1px solid #316CB3;
            color: #316CB3;
            font-size: 3.4666666667vw !important;
            line-height: 2.3076923077;
            text-align: center; }
        .form-page .form-container .sec .form-list dd {
          z-index: 0;
          position: relative; }
          .form-page .form-container .sec .form-list dd .notes {
            margin-top: 0.3125em;
            color: #666;
            font-size: 3.7333333333vw !important; }
    @media screen and (min-width: 751px) {
      .form-page .form-container {
        margin-bottom: 50px; }
        .form-page .form-container .sec {
          padding: 40px 30px; }
          .form-page .form-container .sec:not(:last-child) {
            margin-bottom: 50px; }
          .form-page .form-container .sec .form-list {
            width: 90%;
            margin: 0 auto;
            font-size: 18px !important;
            font-size: 1.8rem !important; }
            .form-page .form-container .sec .form-list dt {
              margin-bottom: 0; }
              .form-page .form-container .sec .form-list dt:not(:first-child) {
                margin-top: 40px; }
              .form-page .form-container .sec .form-list dt .required,
              .form-page .form-container .sec .form-list dt .optional {
                position: absolute;
                top: 100%;
                right: 100%;
                width: 50px;
                margin: 5px 20px 0 0;
                font-size: 13px !important;
                font-size: 1.3rem !important;
                line-height: 3.0769230769; }
            .form-page .form-container .sec .form-list dd .notes {
              font-size: 14px !important;
              font-size: 1.4rem !important; } }
  .form-page .form-policy {
    margin-bottom: 10.6666666667vw; }
    .form-page .form-policy .text {
      margin-bottom: 10.6666666667vw;
      padding: 6.6666666667vw 5.3333333333vw;
      background: #fdf5e2;
      font-size: 3.2vw !important; }
      .form-page .form-policy .text .title {
        margin-bottom: 1em;
        color: #252B38;
        font-size: 4vw !important;
        line-height: 1.4444444444;
        font-weight: 700;
        text-align: center; }
      .form-page .form-policy .text .list {
        counter-reset: number 0; }
        .form-page .form-policy .text .list li {
          position: relative;
          padding-left: 1.2em; }
          .form-page .form-policy .text .list li::before {
            counter-increment: number 1;
            content: counter(number) ".";
            position: absolute;
            top: 0;
            left: 0;
            width: 1.2em; }
          .form-page .form-policy .text .list li:not(:first-child) {
            margin-top: .5em; }
      .form-page .form-policy .text p:not(:first-child),
      .form-page .form-policy .text ul:not(:first-child),
      .form-page .form-policy .text ol:not(:first-child) {
        margin-top: .5em; }
    .form-page .form-policy .acceptance {
      text-align: center; }
      .form-page .form-policy .acceptance p span {
        display: inline-block; }
      .form-page .form-policy .acceptance .check {
        margin: 0 0 13.3333333333vw; }
        .form-page .form-policy .acceptance .check p {
          font-size: 4.2666666667vw !important;
          font-weight: 700; }
          .form-page .form-policy .acceptance .check p a {
            color: #316CB3; }
          .form-page .form-policy .acceptance .check p .required {
            display: inline-block;
            width: 13.3333333333vw;
            margin-left: 1em;
            background: #B35300;
            color: #FFF;
            font-size: 3.4666666667vw !important;
            line-height: 2.3076923077;
            text-align: center; }
        .form-page .form-policy .acceptance .check .input {
          display: flex;
          justify-content: center;
          margin-top: 5.3333333333vw; }
        .form-page .form-policy .acceptance .check .error {
          display: block;
          margin-top: 1.3333333333vw;
          color: #B35300;
          font-size: 4.2666666667vw !important; }
          .form-page .form-policy .acceptance .check .error::before {
            content: none; }
      .form-page .form-policy .acceptance .message {
        font-size: 3.7333333333vw !important; }
    @media screen and (min-width: 751px) {
      .form-page .form-policy {
        margin-bottom: 50px; }
        .form-page .form-policy .text {
          margin-bottom: 50px;
          padding: 30px;
          font-size: 13px !important;
          font-size: 1.3rem !important; }
          .form-page .form-policy .text .title {
            font-size: 18px !important;
            font-size: 1.8rem !important; }
        .form-page .form-policy .acceptance .check {
          margin: 0 0 50px; }
          .form-page .form-policy .acceptance .check p {
            font-size: 18px !important;
            font-size: 1.8rem !important; }
            .form-page .form-policy .acceptance .check p .required {
              width: 50px;
              line-height: 3.0769230769;
              font-size: 13px !important;
              font-size: 1.3rem !important; }
          .form-page .form-policy .acceptance .check .input {
            margin-top: 20px; }
          .form-page .form-policy .acceptance .check .error {
            margin-top: 5px;
            font-size: 16px !important;
            font-size: 1.6rem !important; }
        .form-page .form-policy .acceptance .message {
          font-size: 14px !important;
          font-size: 1.4rem !important; } }

/* footer */
.list__footer-other {
  text-align: left;
  padding: 0;
  background: #FFF; }
  @media screen and (min-width: 751px) {
    .list__footer-other {
      text-align: center;
      padding: 20px 0; } }
  .list__footer-other ul {
    text-align: left;
    border-top: 1px solid #ccc; }
    @media screen and (min-width: 751px) {
      .list__footer-other ul {
        text-align: center;
        border-top: none; } }
  .list__footer-other li {
    display: block;
    font-size: 12px;
    border-right: none;
    border-bottom: 1px solid #ccc;
    padding: 0;
    margin: 0;
    position: relative; }
    .list__footer-other li::after {
      content: "chevron_right";
      color: #252B38;
      font-family: Material Icons;
      font-feature-settings: "liga";
      font-size: 16px;
      right: 10px;
      line-height: 1;
      margin: -8px 0 0;
      position: absolute;
      top: 50%;
      -webkit-font-feature-settings: "liga"; }
    @media screen and (min-width: 751px) {
      .list__footer-other li {
        display: inline-block;
        border-right: 1px solid #ccc;
        border-bottom: none;
        margin: 0 4px 0 0; }
        .list__footer-other li::after {
          content: ""; } }
    .list__footer-other li a {
      color: #252B38;
      display: block;
      padding: 10px;
      text-decoration: none; }
      .list__footer-other li a:visited {
        color: #252B38; }
      .list__footer-other li a:hover {
        color: #252B38;
        text-decoration: none; }
      @media screen and (min-width: 751px) {
        .list__footer-other li a {
          padding: 5px 10px;
          text-decoration: underline; } }

.list__footer-jpx {
  text-align: left;
  padding: 10px;
  font-weight: normal;
  font-size: 14px;
  background-color: #EFEFEF; }
  @media screen and (min-width: 751px) {
    .list__footer-jpx {
      text-align: center;
      padding: 10px;
      font-weight: bold;
      font-size: 15px; } }
  .list__footer-jpx ul {
    display: flex;
    justify-content: left;
    align-items: flex-start;
    font-size: 13px; }
    @media screen and (min-width: 751px) {
      .list__footer-jpx ul {
        justify-content: center;
        align-items: center; } }
  .list__footer-jpx li:last-child {
    padding: 0 10px;
    line-height: 1.6; }
  .list__footer-jpx img {
    width: 40px;
    min-width: 34px;
    line-height: 0;
    vertical-align: middle; }
  .list__footer-jpx strong {
    color: #182A83; }

.copyright {
  padding: 20px;
  font-size: 12px;
  line-height: 16px;
  color: #FFF;
  text-align: center;
  background: #182A83; }

.go-to-top {
  background-color: #182A83;
  width: 40px;
  height: 40px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  position: fixed;
  right: 20px;
  bottom: 45px;
  border-radius: 4px;
  z-index: 9999; }
  .go-to-top .go-to-top-button span {
    color: #FFF;
    transform: rotate(-90deg); }

#chatplusview {
  display: none; }
