@charset "UTF-8";
body.over-hidden {
  width: 100%;
  height: 100vh;
  overflow: hidden; }

/*--------------------
 bg_page
---------------------*/
#bg_page {
  background-color: #009DDC;
  opacity: 0.4;
  mix-blend-mode: multiply;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: background-color 1s; }

#bg_page.out {
  background-color: transparent; }

/*--------------------
　form
---------------------*/
.wrapper_form {
  margin-top: var(--size40);
  padding: var(--size60);
  background-color: #F5F5F6; }
  @media (max-width: 767px) {
    .wrapper_form {
      padding: var(--size20); } }
  .wrapper_form .CMS-FORM-GROUP {
    display: flex;
    flex-flow: wrap;
    padding: var(--size20) 0; }
    .wrapper_form .CMS-FORM-GROUP > label {
      width: 28%;
      color: #0A2C87;
      font-weight: 600; }
      @media (max-width: 767px) {
        .wrapper_form .CMS-FORM-GROUP > label {
          width: 100%; } }
    .wrapper_form .CMS-FORM-GROUP > label.req::after {
      content: "＊必須";
      color: red;
      font-size: 0.75rem; }
    .wrapper_form .CMS-FORM-GROUP > .CMS-FORM-RADIO {
      width: 72%;
      display: flex;
      flex-flow: wrap;
      gap: 1em; }
      @media (max-width: 767px) {
        .wrapper_form .CMS-FORM-GROUP > .CMS-FORM-RADIO {
          width: 100%;
          gap: 0.5em; } }
      .wrapper_form .CMS-FORM-GROUP > .CMS-FORM-RADIO span {
        display: flex;
        align-items: center; }
        @media (max-width: 767px) {
          .wrapper_form .CMS-FORM-GROUP > .CMS-FORM-RADIO span {
            width: 100%; } }
      .wrapper_form .CMS-FORM-GROUP > .CMS-FORM-RADIO label {
        margin-left: 0.5em; }
    .wrapper_form .CMS-FORM-GROUP input.CMS-FORM-INPUT, .wrapper_form .CMS-FORM-GROUP .CMS-FORM-EMAIL, .wrapper_form .CMS-FORM-GROUP .CMS-FORM-TEXTAREA {
      width: 72%;
      border: 1px solid #ccc;
      padding: var(--size10);
      background: #FFF; }
      @media (max-width: 767px) {
        .wrapper_form .CMS-FORM-GROUP input.CMS-FORM-INPUT, .wrapper_form .CMS-FORM-GROUP .CMS-FORM-EMAIL, .wrapper_form .CMS-FORM-GROUP .CMS-FORM-TEXTAREA {
          width: 100%; } }
    .wrapper_form .CMS-FORM-GROUP input[type="submit"] {
      width: calc(400/1920*100vw);
      height: var(--size60);
      margin: auto;
      background-color: #009DDC;
      color: #FFF;
      text-align: center;
      transition: background-color .3s ease; }
      @media (max-width: 767px) {
        .wrapper_form .CMS-FORM-GROUP input[type="submit"] {
          height: var(--size40); } }
      .wrapper_form .CMS-FORM-GROUP input[type="submit"]:hover {
        background-color: #0A2C87; }
  .wrapper_form .chk_privary {
    justify-content: center;
    gap: 0.5em; }
    .wrapper_form .chk_privary label {
      width: auto; }
      @media (max-width: 767px) {
        .wrapper_form .chk_privary label {
          font-size: 0.8rem; } }
  .wrapper_form .wrapper_privacybox {
    background-color: #FFF; }
    @media (max-width: 767px) {
      .wrapper_form .wrapper_privacybox {
        padding: var(--size20); } }
  .wrapper_form .form-list {
    position: relative;
    width: 100%; }
    .wrapper_form .form-list .errorMessage {
      position: absolute;
      padding: 5px 10px;
      background-color: #FFFFFF90;
      border-radius: 5px;
      color: red;
      text-align: center;
      border: 1px solid red;
      left: 28%;
      top: -1.375em;
      font-size: 0.8rem;
      opacity: 0;
      transform: translateY(10px);
      transition: all .3s; }
    .wrapper_form .form-list .errorMessage:after {
      position: absolute;
      top: 100%;
      left: calc(50% - 5px);
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      background-color: red;
      clip-path: polygon(50% 100%, 0 0, 100% 0); }

/*--------------------
　policy
---------------------*/
.wrapper_privacybox {
  margin-top: var(--size60);
  padding: var(--size40);
  border: 1px solid #0A2C87;
  max-height: 300px;
  overflow-y: auto;
  counter-reset: number 0; }
  @media (max-width: 767px) {
    .wrapper_privacybox {
      padding: var(--size30); } }
  .wrapper_privacybox .container {
    width: 100%; }
    @media (max-width: 767px) {
      .wrapper_privacybox .container {
        padding: 0; } }
  .wrapper_privacybox h3 {
    font-size: 1.1rem; }
  .wrapper_privacybox p.txt, .wrapper_privacybox table th, .wrapper_privacybox table td {
    font-size: 0.85rem; }
  .wrapper_privacybox h4 {
    margin-bottom: 1em;
    font-size: 1rem; }
  .wrapper_privacybox h5 {
    font-size: 0.9rem; }
  .wrapper_privacybox dl dt {
    color: #0A2C87;
    font-weight: 600;
    padding-bottom: 0.5em;
    text-indent: -1.2em;
    padding-left: 1.2em; }
    .wrapper_privacybox dl dt::before {
      counter-increment: number 1;
      content: counter(number) ". ";
      vertical-align: baseline; }
  .wrapper_privacybox dl dd {
    font-size: 0.85rem; }
    .wrapper_privacybox dl dd ul li {
      line-height: 2; }
    .wrapper_privacybox dl dd ul li + li {
      margin-top: 0.5em; }
  .wrapper_privacybox dl + dl {
    margin-top: var(--size60); }
  .wrapper_privacybox .box_privacy {
    margin-top: 1.5em; }
    .wrapper_privacybox .box_privacy h4, .wrapper_privacybox .box_privacy h5 {
      margin-bottom: 1em; }
    .wrapper_privacybox .box_privacy * + h5, .wrapper_privacybox .box_privacy * + h4 {
      margin-top: 1.2em; }
    .wrapper_privacybox .box_privacy li {
      font-size: 0.85rem;
      line-height: 2; }
    .wrapper_privacybox .box_privacy ul li + li {
      margin-top: 0.5em; }
    .wrapper_privacybox .box_privacy .wrapper_policy {
      margin-top: var(--size40);
      padding: var(--size40);
      background-color: #F0F2F8; }
      @media (max-width: 1024px) {
        .wrapper_privacybox .box_privacy .wrapper_policy {
          padding: var(--size30); } }
      @media (max-width: 767px) {
        .wrapper_privacybox .box_privacy .wrapper_policy {
          padding: var(--size10); } }
      .wrapper_privacybox .box_privacy .wrapper_policy dl dt {
        font-weight: 400;
        font-size: 0.85rem; }
      .wrapper_privacybox .box_privacy .wrapper_policy dl dd {
        margin-left: 1.2em; }
      .wrapper_privacybox .box_privacy .wrapper_policy dl + dl {
        margin-top: var(--size30); }
      .wrapper_privacybox .box_privacy .wrapper_policy ol li {
        font-size: 0.9em;
        line-height: 1.75; }
        @media (max-width: 767px) {
          .wrapper_privacybox .box_privacy .wrapper_policy ol li {
            font-size: 0.85em; } }
