@charset "UTF-8";
.conts__mv {
  background: url("../../local/images/mv-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }
  @media screen and (max-width: 960px) {
    .conts__mv {
      background: url("../../local/images/mv-bg-sp.png");
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center; } }
  @media screen and (min-width: 959px) {
    .conts__mv__title {
      padding-top: 10px; } }
.conts input, .conts button, .conts textarea, .conts select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.contact {
  padding: 0 0 74px; }
  @media screen and (max-width: 960px) {
    .contact {
      padding: 0 0 57px; } }
  .contact .contact--required {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 960px) {
      .contact .contact--required {
        justify-content: flex-start; } }
  .contact .contact--required:after {
    content: "必須";
    display: inline-block;
    font-size: 1rem;
    padding: 5px;
    line-height: 1;
    background: #E13828;
    border-radius: 3px;
    color: #fff; }
    @media screen and (max-width: 960px) {
      .contact .contact--required:after {
        margin-left: 20px; } }
  .contact .contact--link--tab {
    font-size: 1.4rem; }
  .contact .contact--link--tab:after {
    content: url("../../local/images/link-tab.png");
    display: inline-block;
    margin-left: 5px; }
  .contact__top {
    padding: 90px 0 0;
    text-align: center; }
    @media screen and (max-width: 960px) {
      .contact__top {
        padding: 50px 0 0; } }
  .contact__main {
    margin-top: 77px;
    color: #595757; }
    @media screen and (max-width: 960px) {
      .contact__main {
        margin-top: 50px; } }
    .contact__main .ttl3 {
      text-align: center;
      color: #000;
      font-weight: bold; }
      @media screen and (max-width: 960px) {
        .contact__main .ttl3 {
          font-size: 1.8rem;
          line-height: 1.6; } }
      .contact__main .ttl3--second {
        margin-bottom: 40px; }
        @media screen and (max-width: 960px) {
          .contact__main .ttl3--second {
            letter-spacing: 0px;
            line-height: 1.8;
            margin-bottom: 27px; } }
    .contact__main .newsletter_example {
      width: 100%;
      height: 120px;
      margin-top: 80px;
      margin-bottom: 140px;
      display: flex;
      justify-content: space-between;
      color: #fff;
      font-size: 2.3rem;
      text-align: center;
      line-height: 1.5; }
      @media screen and (max-width: 960px) {
        .contact__main .newsletter_example {
          font-size: 1.4rem;
          margin-top: 35px;
          margin-bottom: 10px; } }
      .contact__main .newsletter_example--1 {
        background-image: url("../../local/images/newsletter01.png"); }
      .contact__main .newsletter_example--2 {
        background-image: url("../../local/images/newsletter02.png"); }
      .contact__main .newsletter_example--3 {
        background-image: url("../../local/images/newsletter03.png"); }
      .contact__main .newsletter_example--1, .contact__main .newsletter_example--2, .contact__main .newsletter_example--3 {
        font-weight: bold;
        width: 30%;
        background-repeat: no-repeat;
        background-size: cover;
        display: flex;
        align-items: center;
        justify-content: center;
        background-position: center;
        background-color: #3DB0B6;
        border-radius: 0 8px 0 8px; }
        @media screen and (max-width: 960px) {
          .contact__main .newsletter_example--1, .contact__main .newsletter_example--2, .contact__main .newsletter_example--3 {
            width: 32.5%;
            height: 70%; } }
        .contact__main .newsletter_example--1 p, .contact__main .newsletter_example--2 p, .contact__main .newsletter_example--3 p {
          padding: 4px 0 0 0; }
    .contact__main__inForm dl {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 20px 0;
      border-top: 1px solid #D5D6D6; }
      @media screen and (max-width: 960px) {
        .contact__main__inForm dl {
          display: block; } }
      .contact__main__inForm dl dt {
        position: relative;
        width: 16%; }
        @media screen and (max-width: 960px) {
          .contact__main__inForm dl dt {
            width: 100%;
            margin-bottom: 10px; } }
      .contact__main__inForm dl dd {
        width: 72.3%; }
        @media screen and (max-width: 960px) {
          .contact__main__inForm dl dd {
            width: 100%; } }
        .contact__main__inForm dl dd textarea, .contact__main__inForm dl dd input {
          overflow: auto;
          border-radius: 5px;
          padding: 10px;
          border: 1.5px solid #D5D6D6; }
        .contact__main__inForm dl dd input[type="text"] {
          width: 70%; }
          @media screen and (max-width: 960px) {
            .contact__main__inForm dl dd input[type="text"] {
              width: 100%; } }
        .contact__main__inForm dl dd input[type="email"] {
          width: 80%; }
          @media screen and (max-width: 960px) {
            .contact__main__inForm dl dd input[type="email"] {
              width: 100%; } }
        .contact__main__inForm dl dd .contact--count {
          text-align: right;
          margin-top: 10px; }
        .contact__main__inForm dl dd .contact--choice {
          position: relative;
          width: 23.7%; }
          @media screen and (max-width: 960px) {
            .contact__main__inForm dl dd .contact--choice {
              width: 72.8%; } }
          .contact__main__inForm dl dd .contact--choice select {
            position: relative;
            width: 100%;
            padding: 5px;
            border-radius: 5px;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            border: 1.5px solid #D5D6D6; }
          .contact__main__inForm dl dd .contact--choice select::-ms-expand {
            display: none; }
          .contact__main__inForm dl dd .contact--choice label {
            width: 10px;
            position: absolute;
            top: 18%;
            right: 10%;
            z-index: 10; }
          .contact__main__inForm dl dd .contact--choice label:after {
            content: url("../../local/images/choice.png");
            display: inline-block;
            pointer-events: none; }
    @media screen and (min-width: 959px) {
      .contact__main__inForm dl:first-child {
        border: none; } }
    @media screen and (max-width: 960px) {
      .contact__main__inForm dl:last-child {
        padding-bottom: 0; } }
  @media screen and (min-width: 959px) {
    .contact .sp_br {
      display: none; } }
  .contact__bottom {
    margin-top: 70px; }
    @media screen and (max-width: 960px) {
      .contact__bottom {
        margin-top: 50px; } }
    .contact__bottom .contact--required {
      justify-content: center; }
    .contact__bottom .contact--required::after {
      margin-left: 10px; }
    .contact__bottom__privacy {
      border-top: solid 1px #D5D6D6;
      border-bottom: solid 1px #D5D6D6;
      padding-bottom: 38px; }
      @media screen and (max-width: 960px) {
        .contact__bottom__privacy {
          padding-bottom: 35px; } }
      .contact__bottom__privacy p {
        font-size: 1.8rem;
        font-weight: bold;
        margin-top: 52px;
        margin-bottom: 9px; }
        @media screen and (max-width: 960px) {
          .contact__bottom__privacy p {
            margin-top: 32px; } }
      .contact__bottom__privacy span {
        display: inline-block;
        text-indent: 0.7em; }
      .contact__bottom__privacy ul li {
        font-size: 1.4rem;
        padding-left: 1.3em;
        text-indent: -1.3em;
        color: #333333;
        margin-bottom: 8px; }
        .contact__bottom__privacy ul li:before {
          content: "●";
          padding-right: 10px; }
    .contact__bottom__check__info {
      text-align: center;
      margin-top: 48px;
      margin-bottom: 10px;
      font-size: 1.4rem; }
      @media screen and (max-width: 960px) {
        .contact__bottom__check__info {
          margin-top: 37px; } }
    .contact__bottom__check {
      margin-top: 22px;
      /* Base for label styling */
      /* checkbox aspect */
      /* checked mark aspect */
      /* checked mark aspect changes */
      /* hover style just for information */ }
      @media screen and (max-width: 960px) {
        .contact__bottom__check {
          margin-top: 19px; } }
      .contact__bottom__check [type="checkbox"]:not(:checked),
      .contact__bottom__check [type="checkbox"]:checked {
        position: absolute;
        left: -9999px; }
      .contact__bottom__check [type="checkbox"]:not(:checked) + label,
      .contact__bottom__check [type="checkbox"]:checked + label {
        position: relative;
        padding-left: 32px;
        cursor: pointer;
        display: inline-block;
        font-size: 1.5rem; }
      .contact__bottom__check [type="checkbox"]:not(:checked) + label:before,
      .contact__bottom__check [type="checkbox"]:checked + label:before {
        content: '';
        position: absolute;
        left: 0px;
        top: 5px;
        width: 20px;
        height: 20px;
        border: 2px solid #cccccc;
        background: #ffffff;
        border-radius: 4px;
        box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); }
      .contact__bottom__check [type="checkbox"]:not(:checked) + label:after,
      .contact__bottom__check [type="checkbox"]:checked + label:after {
        content: '✔';
        position: absolute;
        top: 4px;
        left: 0px;
        font-size: 28px;
        line-height: 0.8;
        color: #09ad7e;
        transition: all .2s; }
      .contact__bottom__check [type="checkbox"]:not(:checked) + label:after {
        opacity: 0;
        transform: scale(0); }
      .contact__bottom__check [type="checkbox"]:checked + label:after {
        opacity: 1;
        transform: scale(1); }
      .contact__bottom__check label:hover:before {
        border: 2px solid #4778d9 !important;
        background: #ffffff; }
    .contact__bottom__submit {
      position: relative;
      width: 290px;
      margin: 17px auto 0;
      font-size: 1.8rem;
      /* 送信ボタン */
      /* 送信ボタン - マウスオーバー時 */
      /* 送信ボタン - 押せないとき */ }
      @media screen and (max-width: 960px) {
        .contact__bottom__submit {
          width: 100%;
          margin: 32px auto 0; } }
      .contact__bottom__submit input[type="submit"] {
        position: relative;
        display: inline-block;
        width: 290px;
        max-width: 100%;
        padding: .7em 2.8em .4em;
        background-color: #ffe000;
        border: 2px solid transparent;
        border-radius: 4px;
        color: #000;
        font-weight: bold;
        text-decoration: none !important;
        line-height: 1.428571428571429 !important;
        text-align: center;
        vertical-align: middle;
        white-space: nowrap;
        touch-action: manipulation;
        cursor: pointer;
        user-select: none;
        outline: none;
        transition: background-color 0.18s ease-in-out, border 0.18s ease-in-out, color 0.18s ease-in-out; }
        @media screen and (max-width: 960px) {
          .contact__bottom__submit input[type="submit"] {
            display: block;
            width: 100%; } }
      .contact__bottom__submit input[type="submit"]:hover {
        background: #ffc500; }
      .contact__bottom__submit input[type="submit"][disabled] {
        background-color: #ccc;
        color: #999 !important;
        cursor: default; }
    .contact__bottom__submit::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 1.2rem;
      display: block;
      width: 1.4rem;
      height: 1.4rem;
      margin-top: -.7rem;
      background: #fff url(../../local/images/arrow-right.svg) no-repeat center center;
      background-size: contain;
      border-radius: .7rem;
      -webkit-transition: background-color 0.18s ease-in-out;
      -moz-transition: background-color 0.18s ease-in-out;
      -ms-transition: background-color 0.18s ease-in-out;
      -o-transition: background-color 0.18s ease-in-out;
      transition: background-color 0.18s ease-in-out; }
