@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  list-style: none;
  box-sizing: border-box;
  text-decoration: none;
  font-size: 100%;
  -webkit-font-smoothing: antialiased; }

@media only screen and (min-width: 769px) {
  .pc_hidden {
    display: none; } }

.pc_block {
  display: none; }
  @media only screen and (min-width: 769px) {
    .pc_block {
      display: block; } }

a {
  text-decoration: none; }

.clear {
  clear: both; }

img {
  width: auto;
  margin: 0 auto;
  max-width: 100%; }

body {
  line-height: 1.4;
  font-size: 14px;
  color: #333333;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif; }
  @media only screen and (min-width: 769px) {
    body {
      font-size: 16px; } }

@media only screen and (min-width: 769px) {
  .pc_container {
    max-width: 1180px;
    margin: 0 auto; } }

.path a {
  display: inline-block; }

.header_nomenu {
  height: 15px;
  background: #0090ff; }

.header {
  position: relative;
  box-shadow: none; }

.header-content-01 {
  padding: 12px 10px;
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media only screen and (min-width: 769px) {
    .header-content-01 {
      max-width: 1000px;
      margin: 0 auto;
      padding: 20px; } }
  .header-content-01 .header-ttl img {
    max-height: 42px; }
    @media only screen and (min-width: 769px) {
      .header-content-01 .header-ttl img {
        max-height: 50px; } }
  .header-content-01 .contact-link {
    background: #f9555b;
    color: white;
    padding: 15px 25px;
    border-radius: 3px; }
    .header-content-01 .contact-link:hover {
      opacity: 0.8;
      text-decoration: none; }
  .header-content-01 .menu-trigger {
    background: none;
    padding: 0;
    float: none;
    width: 33px;
    height: 32px;
    padding: 2px 0; }
    .header-content-01 .menu-trigger .icon {
      width: 100%;
      height: 100%; }
    .header-content-01 .menu-trigger span {
      background: #4b4b4b;
      height: 6px;
      border-radius: 0; }
      .header-content-01 .menu-trigger span:nth-of-type(1) {
        top: 0; }
      .header-content-01 .menu-trigger span:nth-of-type(2) {
        top: 0;
        bottom: 0;
        margin: auto; }
      .header-content-01 .menu-trigger span:nth-of-type(3) {
        bottom: 0; }
  .header-content-01 .active {
    height: 20px; }

.nav-global {
  background: rgba(75, 75, 75, 0.9);
  position: absolute;
  top: 65px;
  width: 100%;
  z-index: 999;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.3);
  padding: 15px; }
  @media only screen and (min-width: 769px) {
    .nav-global {
      position: static;
      background: #0090ff;
      box-shadow: none; } }
  .nav-global ul:first-child {
    letter-spacing: .5px; }
    @media only screen and (min-width: 769px) {
      .nav-global ul:first-child {
        display: flex;
        justify-content: space-between; } }
    @media only screen and (min-width: 769px) {
      .nav-global ul:first-child:before {
        border: none; } }
    .nav-global ul:first-child li {
      height: 50px;
      position: relative;
      color: #8e8e8e; }
      @media only screen and (min-width: 769px) {
        .nav-global ul:first-child li {
          height: 62px;
          padding: 0;
          display: flex;
          justify-content: center; } }
      .nav-global ul:first-child li:after {
        content: "▶︎";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 10px;
        margin: auto;
        width: 1em;
        height: 1em;
        font-size: .5rem;
        color: white; }
        @media only screen and (min-width: 769px) {
          .nav-global ul:first-child li:after {
            content: ""; } }
      .nav-global ul:first-child li p {
        display: inline-block;
        color: #3ba8fa;
        text-align: center;
        height: 1rem;
        line-height: 1;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        font-weight: bold; }
        @media only screen and (min-width: 769px) {
          .nav-global ul:first-child li p {
            position: static;
            font-size: 16px; } }
      .nav-global ul:first-child li a {
        background: none;
        display: block;
        height: 100%;
        width: 100%;
        padding: 0;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center; }
        @media only screen and (min-width: 769px) {
          .nav-global ul:first-child li a {
            border: none;
            padding: 0; } }
        @media only screen and (min-width: 769px) {
          .nav-global ul:first-child li a:hover p {
            opacity: 0.7; } }
        .nav-global ul:first-child li a:after {
          background: none; }
        .nav-global ul:first-child li a p {
          color: white; }
          @media only screen and (min-width: 769px) {
            .nav-global ul:first-child li a p {
              color: white;
              letter-spacing: 0px; } }
    @media only screen and (min-width: 769px) {
      .nav-global ul:first-child li.nav-02:hover ul.inner_menu {
        display: block; } }
    .nav-global ul:first-child li.nav-02 a {
      border: none; }
    .nav-global ul:first-child li.inner_menu_box {
      height: auto;
      background: rgba(153, 153, 153, 0.7); }
      @media only screen and (min-width: 769px) {
        .nav-global ul:first-child li.inner_menu_box {
          background: none; } }
      .nav-global ul:first-child li.inner_menu_box a {
        height: 50px;
        border-top: 1px solid #ccc; }
        @media only screen and (min-width: 769px) {
          .nav-global ul:first-child li.inner_menu_box a {
            border: none;
            height: 62px; } }
        .nav-global ul:first-child li.inner_menu_box a:after {
          content: "▶︎";
          position: absolute;
          top: 0;
          bottom: 0;
          right: 10px;
          margin: auto;
          width: 1em;
          height: 1em;
          font-size: .5rem;
          color: white; }
          @media only screen and (min-width: 769px) {
            .nav-global ul:first-child li.inner_menu_box a:after {
              content: ""; } }
      .nav-global ul:first-child li.inner_menu_box ul.inner_menu {
        width: 100%; }
        @media only screen and (min-width: 769px) {
          .nav-global ul:first-child li.inner_menu_box ul.inner_menu {
            top: 62px;
            z-index: 999;
            width: auto;
            background: rgba(153, 153, 153, 0.8);
            padding: 0;
            min-height: 150px; } }
        @media only screen and (min-width: 769px) {
          .nav-global ul:first-child li.inner_menu_box ul.inner_menu li {
            width: 243px;
            height: 50px; } }
        @media only screen and (min-width: 769px) {
          .nav-global ul:first-child li.inner_menu_box ul.inner_menu li a {
            height: 50px;
            justify-content: flex-start; } }
        .nav-global ul:first-child li.inner_menu_box ul.inner_menu li a:hover {
          opacity: 1;
          background: rgba(0, 0, 0, 0.2);
          border: none; }
        @media only screen and (min-width: 769px) {
          .nav-global ul:first-child li.inner_menu_box ul.inner_menu li a p {
            text-align: left;
            padding: 0 0 0 15px;
            color: white;
            margin: 0; } }
  .nav-global ul.header-links__sp {
    background: rgba(255, 255, 255, 0.95);
    padding: 20px 0;
    text-align: center; }
    @media only screen and (min-width: 769px) {
      .nav-global ul.header-links__sp {
        display: none; } }
    .nav-global ul.header-links__sp li {
      border: none; }
      .nav-global ul.header-links__sp li a {
        background: none; }
    .nav-global ul.header-links__sp .contact-link {
      background: #f9555b;
      color: white;
      padding: 15px 25px;
      border-radius: 3px;
      width: 80%;
      margin: 0 10% 10px;
      text-align: center; }
      .nav-global ul.header-links__sp .contact-link:after {
        background: none; }
      .nav-global ul.header-links__sp .contact-link:hover {
        opacity: 1; }

.main_bg__container {
  width: 100%;
  overflow: hidden; }

.main_bg {
  position: relative;
  width: 120%;
  height: 49%;
  overflow: hidden;
  margin: 0 -10%; }
  @media only screen and (min-width: 769px) {
    .main_bg {
      padding: 0;
      height: 560px;
      width: 100%;
      margin: 0 auto;
      background: rgba(0, 0, 0, 0.3); } }
  .main_bg img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    margin: 0 auto;
    object-fit: cover; }

.main_bg__txt {
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
  padding: 49% 0 0;
  width: 170%;
  margin: 0 -35%; }
  @media only screen and (min-width: 769px) {
    .main_bg__txt {
      padding: 0;
      height: 560px; } }
  @media only screen and (min-width: 769px) {
    .main_bg__txt img {
      max-width: 1400px; } }

nav.gnav {
  display: none; }
  @media only screen and (min-width: 769px) {
    nav.gnav {
      display: block;
      background: #999;
      color: white; } }

@media only screen and (min-width: 769px) {
  .footer-content-01 .footer-content-in {
    width: 980px;
    padding: 20px 0 30px; } }
.footer-content-01 .footer-logo {
  width: 100px;
  margin: 0 0 25px; }
  @media only screen and (min-width: 769px) {
    .footer-content-01 .footer-logo {
      width: 130px; } }
@media only screen and (min-width: 769px) {
  .footer-content-01 .footer-info {
    width: 850px;
    float: left;
    padding-left: 60px; } }
.footer-content-01 .footer-info p {
  margin: 0 0 15px; }
  @media only screen and (min-width: 769px) {
    .footer-content-01 .footer-info p {
      padding: 0 40px 0 0;
      line-height: 1.6;
      font-size: .9rem; } }
.footer-content-01 .footer-info span a {
  display: inline-block; }
@media only screen and (min-width: 769px) {
  .footer-content-01 .footer-info__facility {
    display: flex;
    flex-wrap: wrap; } }

.sp-hidden {
  display: display; }
  @media only screen and (max-width: 768px) {
    .sp-hidden {
      display: none; } }

.pc-hidden {
  display: none; }
  @media only screen and (max-width: 768px) {
    .pc-hidden {
      display: block; } }

.contact-sec {
  padding: 20px 0 20px 0;
  margin: 0 10px; }
  @media only screen and (min-width: 769px) {
    .contact-sec {
      padding: 20px 0 30px 0; } }
  .contact-sec p.contact-text {
    font-size: 16px; }
    @media only screen and (max-width: 768px) {
      .contact-sec p.contact-text {
        line-height: 30px;
        text-align: left;
        margin-bottom: 30px; } }
    @media only screen and (min-width: 769px) {
      .contact-sec p.contact-text {
        text-align: center;
        line-height: 30px;
        margin-bottom: 50px; } }
  .contact-sec .contact-title {
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 2px;
    text-align: center;
    margin-bottom: 50px;
    word-break: keep-all; }
    .contact-sec .contact-title:after {
      display: block;
      content: "";
      height: 7px;
      border-bottom: 3px solid #60A26B;
      margin: 0 auto;
      width: 100px; }

.form-contents {
  margin: 0; }
  @media only screen and (min-width: 769px) {
    .form-contents {
      margin: 0 20px; } }

.contact-form-wrap {
  box-sizing: border-box;
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  padding: 20px 0px; }
  @media only screen and (max-width: 768px) {
    .contact-form-wrap {
      padding: 20px 0px; } }
  .contact-form-wrap p:not(:first-child) {
    margin-top: 0; }
  .contact-form-wrap p {
    font-size: 16px; }
  .contact-form-wrap .form-item:last-child {
    margin-top: 50px; }
  .contact-form-wrap .form-item-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 50px;
    margin-bottom: 15px; }
    .contact-form-wrap .form-item-title .form-item-title-text {
      font-size: 20px;
      font-weight: bold;
      text-align: left !important;
      letter-spacing: 2px; }
    .contact-form-wrap .form-item-title span.add-note {
      display: block;
      font-size: 16px;
      font-weight: normal;
      letter-spacing: 1px;
      margin-left: 10px;
      margin-top: 5px; }
    .contact-form-wrap .form-item-title span.required-label {
      background-color: #b93a21;
      color: white;
      margin-left: 15px;
      border-radius: 4px;
      display: block;
      letter-spacing: 2px;
      padding: 2px 5px; }
    .contact-form-wrap .form-item-title span.non-required-label {
      background-color: #9C9C9C;
      color: white;
      margin-left: 15px;
      border-radius: 4px;
      display: block;
      letter-spacing: 2px;
      padding: 2px 5px; }
  .contact-form-wrap input {
    background-color: transparent;
    box-shadow: 0 0 2px 2px rgba(230, 230, 230, 0.4) inset;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    display: block;
    font-size: 16px;
    height: 50px;
    letter-spacing: 1px;
    margin: 0;
    padding: 10px 14px;
    width: 100%; }
    .contact-form-wrap input:focus {
      border-color: #AFAFAF;
      box-shadow: 0 0 2px 2px rgba(230, 230, 230, 0.4) inset;
      outline: none; }
    .contact-form-wrap input::placeholder {
      color: rgba(175, 175, 175, 0.8);
      font-size: 16px; }
  .contact-form-wrap textarea {
    background-color: transparent;
    border: 1px solid #E6E6E6;
    border-radius: 4px;
    box-shadow: 0 0 2px 2px rgba(230, 230, 230, 0.4) inset;
    font-size: 16px;
    letter-spacing: 1px;
    padding: 10px 14px;
    resize: vertical;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 100% !important; }
    .contact-form-wrap textarea:focus {
      outline: none;
      border-color: #AFAFAF;
      box-shadow: 0 0 2px 2px rgba(230, 230, 230, 0.4) inset;
      letter-spacing: 1px; }
    .contact-form-wrap textarea::placeholder {
      color: rgba(175, 175, 175, 0.8);
      font-size: 16px;
      letter-spacing: 1px; }
  .contact-form-wrap textarea::-webkit-input-placeholder::after {
    display: block;
    content: "Second line \A Third line\A You get the picture...\A 5"; }
  .contact-form-wrap textarea[name="other_dates"] {
    height: 130px; }
  .contact-form-wrap textarea[name="other"] {
    height: 280px; }
  .contact-form-wrap textarea[name="content"] {
    height: 280px; }
  .contact-form-wrap #progress {
    display: flex;
    padding: 0;
    list-style-type: none;
    font-size: 12px;
    line-height: 1em;
    margin: 0;
    text-align: center;
    overflow: hidden; }
    .contact-form-wrap #progress li {
      box-sizing: content-box;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px 0;
      background: #E5E5E5;
      color: #fff;
      position: relative;
      width: calc(100%/3); }
      .contact-form-wrap #progress li:not(:first-child) {
        box-sizing: content-box;
        border-left: 20px solid #E5E5E5; }
      .contact-form-wrap #progress li:nth-child(1) .progress-lower, .contact-form-wrap #progress li:nth-child(1) .progress-upper {
        padding-left: 20px; }
      .contact-form-wrap #progress li:nth-child(2) .progress-lower, .contact-form-wrap #progress li:nth-child(2) .progress-upper {
        padding-left: 20px; }
      .contact-form-wrap #progress li:not(:last-child):before {
        content: '';
        border-left: 30px solid white;
        border-top: 60px solid transparent;
        border-bottom: 60px solid transparent;
        position: absolute;
        transform: translate(10%, -50%);
        top: 50%;
        left: 100%;
        z-index: 3; }
      .contact-form-wrap #progress li:not(:last-child):after {
        content: '';
        display: block;
        border-left: 30px solid #E5E5E5;
        border-top: 60px solid transparent;
        border-bottom: 60px solid transparent;
        position: absolute;
        top: 50%;
        left: 100%;
        transform: translate(0%, -50%);
        z-index: 4; }
      .contact-form-wrap #progress li .progress-upper {
        color: #454545;
        font-size: 14px;
        font-weight: normal;
        letter-spacing: 1px;
        line-height: 16px;
        margin-bottom: 5px; }
        @media only screen and (min-width: 769px) {
          .contact-form-wrap #progress li .progress-upper {
            font-size: 16px;
            line-height: 18px; } }
      .contact-form-wrap #progress li .progress-lower {
        width: 100%;
        letter-spacing: 1px; }
  .contact-form-wrap #progress li.active {
    background: #60A26B;
    border-left-color: #60A26B; }
  .contact-form-wrap #progress li.active:after {
    border-left-color: #60A26B; }
  .contact-form-wrap .border-box {
    margin-top: 30px;
    padding: 10px;
    background: -webkit-repeating-linear-gradient(-65deg, #ffffff, #ffffff 1px, #E5E5E5 1px, #E5E5E5 3px);
    background: repeating-linear-gradient(-65deg, #ffffff, #ffffff 1px, #E5E5E5 1px, #E5E5E5 3px); }
    .contact-form-wrap .border-box .border-contents {
      padding: 10px 5%;
      background: white;
      text-align: left;
      border-radius: 5px; }
      @media only screen and (min-width: 769px) {
        .contact-form-wrap .border-box .border-contents {
          padding: 10px 10%; } }
      .contact-form-wrap .border-box .border-contents .fwbold {
        font-weight: bold;
        margin-bottom: 10px;
        font-size: 18px;
        text-align: center; }
      .contact-form-wrap .border-box .border-contents p a {
        text-decoration: underline;
        color: #87abb1;
        display: inline; }
        .contact-form-wrap .border-box .border-contents p a:hover {
          opacity: 0.7; }
  @media only screen and (min-width: 769px) {
    .contact-form-wrap .horizontal-input {
      display: flex;
      justify-content: space-between; } }
  .contact-form-wrap .horizontal-input input:not(:first-child) {
    margin-top: 10px; }
  @media only screen and (min-width: 769px) {
    .contact-form-wrap .horizontal-input input {
      width: 49%; }
      .contact-form-wrap .horizontal-input input:not(:first-child) {
        margin-top: 0px; } }
  @media only screen and (min-width: 769px) {
    .contact-form-wrap .date-choise {
      display: flex;
      align-items: center; } }
  @media only screen and (max-width: 768px) {
    .contact-form-wrap .date-choise > p {
      text-align: left;
      margin-bottom: 5px; } }
  @media only screen and (min-width: 769px) {
    .contact-form-wrap .date-choise > p {
      white-space: nowrap;
      margin-right: 20px; } }
  .contact-form-wrap .date-choise:not(:first-child) {
    margin-top: 10px;
    margin-bottom: 20px; }
  .contact-form-wrap .input-date-wrap {
    position: relative;
    overflow: hidden; }
    @media only screen and (max-width: 768px) {
      .contact-form-wrap .input-date-wrap {
        min-width: 50%; } }
    .contact-form-wrap .input-date-wrap:before {
      content: "\f00a";
      color: #454545;
      font-family: "Font Awesome 5 Free";
      font-size: 20px;
      font-weight: 900;
      position: absolute;
      top: 50%;
      right: 10px;
      transform: translateY(-50%);
      z-index: -1; }
    .contact-form-wrap .input-date-wrap input {
      display: block;
      background-color: transparent;
      font-size: 14px; }
      @media only screen and (max-width: 768px) {
        .contact-form-wrap .input-date-wrap input {
          min-width: 100%; } }
  .contact-form-wrap .date-and-stay {
    display: flex;
    align-items: center;
    min-width: 100%; }
    @media only screen and (max-width: 768px) {
      .contact-form-wrap .date-and-stay {
        flex-wrap: nowrap; } }
    .contact-form-wrap .date-and-stay .select {
      border-radius: 0;
      background: transparent;
      position: relative;
      z-index: 10; }
      .contact-form-wrap .date-and-stay .select:before {
        background: transparent;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        padding: 0;
        content: '';
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 10px solid #666666;
        pointer-events: none;
        z-index: -10; }
      @media only screen and (max-width: 768px) {
        .contact-form-wrap .date-and-stay .select {
          min-width: 30%; } }
      @media only screen and (min-width: 769px) {
        .contact-form-wrap .date-and-stay .select {
          min-width: 100px; } }
      .contact-form-wrap .date-and-stay .select select {
        border-radius: 2px;
        border: 1px solid #E6E6E6;
        box-shadow: 0 0 2px 2px rgba(230, 230, 230, 0.4) inset;
        display: block;
        font-size: 14px;
        height: 50px;
        width: 100%;
        padding-right: 1em;
        padding-left: 1em;
        cursor: pointer;
        text-indent: 0.01px;
        text-overflow: ellipsis;
        outline: none;
        background: transparent;
        background-image: none;
        -webkit-appearance: none;
        appearance: none;
        color: #454545; }
        .contact-form-wrap .date-and-stay .select select:focus {
          border-color: #AFAFAF; }
        .contact-form-wrap .date-and-stay .select select:invalid {
          color: rgba(175, 175, 175, 0.8); }
    .contact-form-wrap .date-and-stay select::-ms-expand {
      display: none; }
    @media only screen and (max-width: 768px) {
      .contact-form-wrap .date-and-stay p:first-of-type {
        min-width: 12%;
        text-align: left;
        padding-left: 2%; } }
    @media only screen and (min-width: 769px) {
      .contact-form-wrap .date-and-stay p:first-of-type {
        margin: 0 10px; } }
    @media only screen and (max-width: 768px) {
      .contact-form-wrap .date-and-stay p:nth-of-type(2) {
        min-width: 8%;
        text-align: left;
        padding-left: 2%; } }
    @media only screen and (min-width: 769px) {
      .contact-form-wrap .date-and-stay p:nth-of-type(2) {
        margin: 0 10px; } }
  .contact-form-wrap .check-boxes {
    display: flex;
    flex-wrap: wrap; }
    .contact-form-wrap .check-boxes label {
      padding-left: 25px;
      position: relative; }
      @media only screen and (max-width: 768px) {
        .contact-form-wrap .check-boxes label {
          min-width: 49%;
          margin-bottom: 10px; } }
      @media only screen and (min-width: 769px) {
        .contact-form-wrap .check-boxes label {
          margin: 2px 0;
          margin-bottom: 20px;
          min-width: 200px; } }
      .contact-form-wrap .check-boxes label input {
        display: none; }
      .contact-form-wrap .check-boxes label p {
        text-align: left;
        padding-left: 5%; }
        @media only screen and (max-width: 768px) {
          .contact-form-wrap .check-boxes label p {
            padding-left: 0; } }
      .contact-form-wrap .check-boxes label p:before {
        border: 1px solid #E6E6E6;
        border-radius: 2px;
        box-shadow: 0 0 1px 1px rgba(230, 230, 230, 0.4) inset;
        display: block;
        content: '';
        height: 20px;
        width: 20px;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%); }
      .contact-form-wrap .check-boxes label input:checked + p:after {
        display: block;
        content: '';
        position: absolute;
        top: 40%;
        left: 3px;
        width: 14px;
        height: 6px;
        border-left: 3px solid #3498db;
        border-bottom: 3px solid #3498db;
        -webkit-transform: translateY(-50%) rotate(-50deg);
        transform: translateY(-50%) rotate(-50deg); }
      .contact-form-wrap .check-boxes label input:checked + p:before {
        border-color: #AFAFAF; }
  .contact-form-wrap .number_of_people {
    display: flex;
    align-items: center; }
    .contact-form-wrap .number_of_people input {
      width: 100px; }
    .contact-form-wrap .number_of_people p {
      margin-left: 10px; }
  .contact-form-wrap p.mei,
  .contact-form-wrap p.kai {
    padding-right: 50px; }
  .contact-form-wrap .privacy-policy-text {
    margin-top: 30px !important; }
    .contact-form-wrap .privacy-policy-text a {
      color: #87abb1;
      text-decoration: underline; }
      .contact-form-wrap .privacy-policy-text a:hover {
        opacity: 0.7; }
    @media only screen and (max-width: 768px) {
      .contact-form-wrap .privacy-policy-text {
        text-align: left; } }
    @media only screen and (min-width: 769px) {
      .contact-form-wrap .privacy-policy-text {
        text-align: center; } }
  .contact-form-wrap .form-item:last-of-type {
    margin-top: 20px; }
  .contact-form-wrap .con_contact_btn input[type="submit"], .contact-form-wrap .contact_btn input[type="submit"] {
    border-radius: 5px;
    border: none;
    box-shadow: none;
    color: white;
    display: block;
    font-size: 20px;
    height: 70px;
    font-weight: bold;
    letter-spacing: 2px;
    background-color: #0f3927;
    margin: 0 auto;
    padding: 0;
    width: 40%;
    -webkit-appearance: none; }
    @media only screen and (max-width: 768px) {
      .contact-form-wrap .con_contact_btn input[type="submit"], .contact-form-wrap .contact_btn input[type="submit"] {
        width: 100%; } }
    .contact-form-wrap .con_contact_btn input[type="submit"]:hover, .contact-form-wrap .contact_btn input[type="submit"]:hover {
      opacity: 0.8;
      cursor: pointer; }
  @media only screen and (min-width: 769px) {
    .contact-form-wrap .check-facilities label {
      min-width: 230px; } }
  .contact-form-wrap .check-info label {
    margin: auto;
    margin-top: 30px; }
  .contact-form-wrap input.error {
    background-color: #FFDCDC;
    border-color: #FF8B99;
    box-shadow: none;
    color: #454545 !important; }
  .contact-form-wrap span.error {
    color: red;
    text-align: left;
    margin-top: 6px; }
  .contact-form-wrap input:-webkit-autofill {
    animation-name: onAutoFillStart;
    transition: background-color 50000s ease-in-out 0s, color 50000s ease-in-out 0s; }
  .contact-form-wrap p.confirm-txt {
    font-size: 16px;
    margin-top: 50px; }
    @media only screen and (max-width: 768px) {
      .contact-form-wrap p.confirm-txt {
        text-align: left; } }
    @media only screen and (min-width: 769px) {
      .contact-form-wrap p.confirm-txt {
        text-align: center !important; } }
  .contact-form-wrap .confirm-info-title {
    font-size: 24px;
    font-weight: bold;
    text-align: left;
    margin-top: 90px !important; }
    @media only screen and (max-width: 768px) {
      .contact-form-wrap .confirm-info-title {
        margin-top: 60px; } }
  .contact-form-wrap .form-item .con_contact_btn {
    display: flex;
    flex-flow: wrap;
    flex-direction: column-reverse;
    margin-top: 0px;
    padding: 20px 0; }
    @media only screen and (min-width: 769px) {
      .contact-form-wrap .form-item .con_contact_btn {
        flex-direction: row;
        justify-content: center; } }
    .contact-form-wrap .form-item .con_contact_btn input[name="back"] {
      background-color: #999999; }
      @media only screen and (max-width: 768px) {
        .contact-form-wrap .form-item .con_contact_btn input[name="back"] {
          margin: 0;
          width: 100%;
          margin-bottom: 20px; } }
      @media only screen and (min-width: 769px) {
        .contact-form-wrap .form-item .con_contact_btn input[name="back"] {
          width: 200px;
          margin: 0;
          margin-right: 20px; } }
    @media only screen and (max-width: 768px) {
      .contact-form-wrap .form-item .con_contact_btn input[name="send"] {
        margin: 0 !important;
        width: 100%; } }
    @media only screen and (min-width: 769px) {
      .contact-form-wrap .form-item .con_contact_btn input[name="send"] {
        margin: 0; } }
  @media all and (-ms-high-contrast: none) {
    .contact-form-wrap input[name="back"] {
      margin: 0 5px 0 0 !important; }
    .contact-form-wrap input[name="send"] {
      margin: 0 0 0 5px !important; } }
  .contact-form-wrap table {
    font-size: 18px;
    text-align: left;
    width: 100%;
    min-width: 100%;
    margin-bottom: 50px; }
    @media only screen and (min-width: 769px) {
      .contact-form-wrap table th, .contact-form-wrap table td {
        padding-top: 40px; } }
    .contact-form-wrap table th {
      vertical-align: text-top;
      min-width: 30%;
      width: 30%; }
      @media only screen and (max-width: 768px) {
        .contact-form-wrap table th {
          display: block;
          font-weight: bold;
          padding-top: 40px;
          min-width: 100%;
          width: 100%; } }
    .contact-form-wrap table td {
      min-width: 70%;
      width: 70%; }
      @media only screen and (max-width: 768px) {
        .contact-form-wrap table td {
          display: block;
          min-width: 100%;
          width: 100%; } }
  .contact-form-wrap hr {
    border: 1px solid #E6E6E6;
    box-shadow: none;
    border-style: solid;
    border-width: #E6E6E6;
    margin-top: 15px; }
  .contact-form-wrap .jquery-ui-resizable {
    padding: 5px 0px 0px 10px;
    margin-right: 0 !important; }
  .contact-form-wrap div.ui-wrapper {
    padding: 0 !important; }
  .contact-form-wrap .ui-wrapper {
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box; }
  .contact-form-wrap .ui-icon-gripsmall-diagonal-se {
    background-image: url(../css/text_arrow.svg);
    background-position: 0;
    right: 7px;
    bottom: 13px; }
  .contact-form-wrap .complete-message {
    margin: 40px 0 100px 0 !important;
    text-align: left;
    line-height: 40px; }
    @media only screen and (max-width: 768px) {
      .contact-form-wrap .complete-message {
        line-height: 25px; } }

#ui-datepicker-div {
  z-index: 99999 !important; }
  #ui-datepicker-div .ui-datepicker-header {
    background: #243E29;
    border-radius: 5px;
    border: none;
    color: white; }
  #ui-datepicker-div th span {
    color: #454545; }
  #ui-datepicker-div td a {
    background: rgba(230, 230, 230, 0.5);
    border-color: rgba(230, 230, 230, 0.5);
    text-align: center;
    color: #454545; }
  #ui-datepicker-div .ui-datepicker-week-end:first-of-type,
  #ui-datepicker-div .ui-datepicker-week-end:first-of-type span,
  #ui-datepicker-div .ui-datepicker-week-end:first-of-type a {
    color: red; }
  #ui-datepicker-div .ui-datepicker-week-end:last-of-type,
  #ui-datepicker-div .ui-datepicker-week-end:last-of-type span,
  #ui-datepicker-div .ui-datepicker-week-end:last-of-type a {
    color: #0C7CCA; }
  #ui-datepicker-div .ui-state-highlight {
    background: rgba(230, 230, 230, 0.5);
    text-align: center;
    color: #454545; }
  #ui-datepicker-div .ui-state-hover {
    color: white !important;
    background-color: #011D45;
    border-color: rgba(1, 29, 69, 0.5); }
  #ui-datepicker-div .ui-datepicker-prev {
    margin-top: 1px;
    margin-left: 1px; }
    #ui-datepicker-div .ui-datepicker-prev:after {
      color: white;
      position: absolute;
      top: 2px;
      left: 10px;
      content: "<";
      z-index: 999; }
  #ui-datepicker-div .ui-datepicker-prev-hover {
    color: white !important;
    background: #011D45 !important;
    border-color: rgba(1, 29, 69, 0.5); }
  #ui-datepicker-div .ui-datepicker-next {
    margin-top: 1px;
    margin-right: 1px; }
    #ui-datepicker-div .ui-datepicker-next:after {
      color: white;
      position: absolute;
      top: 2px;
      left: 10px;
      content: ">";
      z-index: 999; }
  #ui-datepicker-div .ui-datepicker-next-hover {
    color: white !important;
    background: #011D45 !important;
    border-color: rgba(1, 29, 69, 0.5); }
  #ui-datepicker-div .ui-widget-header .ui-icon {
    background: none; }
  #ui-datepicker-div .ui-state-active {
    color: white !important;
    background: #011D45 !important;
    border-color: rgba(1, 29, 69, 0.5); }

div.ui-datepicker {
  font-size: 16px !important; }

.text-left {
  text-align: left; }

.sec-01 {
  margin-bottom: 30px !important; }
  @media only screen and (min-width: 769px) {
    .sec-01 {
      margin-bottom: 70px !important; } }

.path {
  display: none; }
  @media only screen and (min-width: 769px) {
    .path {
      display: block;
      color: #7f7f7f !important;
      font-size: 14px; }
      .path a {
        color: #7f7f7f !important; }
      .path span {
        color: #7f7f7f !important; } }

.title-img-group {
  position: relative;
  object-fit: cover; }
  .title-img-group .top-img {
    height: 100px;
    width: 100%;
    object-fit: cover; }
    @media only screen and (min-width: 769px) {
      .title-img-group .top-img {
        height: 160px; } }
  .title-img-group .title-img-text {
    background: rgba(0, 0, 0, 0.3);
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    padding-top: 20px; }
    @media only screen and (min-width: 769px) {
      .title-img-group .title-img-text {
        padding-top: 40px; } }
    .title-img-group .title-img-text .title-img-text-wrap {
      position: relative; }
    .title-img-group .title-img-text p, .title-img-group .title-img-text h2 {
      color: white;
      font-size: 20px;
      font-weight: bold;
      letter-spacing: 2px; }
    .title-img-group .title-img-text .title-img-text-japanese p {
      font-size: 15px; }
      @media only screen and (min-width: 769px) {
        .title-img-group .title-img-text .title-img-text-japanese p {
          font-size: 20px; } }
    .title-img-group .title-img-text .title-img-text-english {
      display: flex;
      align-items: center; }
      .title-img-group .title-img-text .title-img-text-english h2 {
        margin-right: auto;
        font-size: 30px; }
        @media only screen and (min-width: 769px) {
          .title-img-group .title-img-text .title-img-text-english h2 {
            font-size: 40px; } }
      .title-img-group .title-img-text .title-img-text-english img {
        margin: 0;
        margin-left: auto;
        margin-right: 10px;
        width: auto;
        height: 25px; }
        @media only screen and (min-width: 769px) {
          .title-img-group .title-img-text .title-img-text-english img {
            width: auto;
            height: 30px;
            margin-right: 15px; } }

.contain {
  display: inline-block;
  width: 100%;
  height: 200px;
  background-size: contain; }

.training-wrapper {
  text-align: left;
  padding: 0 20px;
  max-width: 1000px;
  margin: auto; }

.top-text {
  margin-top: 20px;
  text-align: left; }
  @media only screen and (min-width: 769px) {
    .top-text {
      text-align: center; } }
  .top-text p {
    line-height: 180%;
    font-size: 14px; }
    @media only screen and (min-width: 769px) {
      .top-text p {
        line-height: 250% !important;
        font-size: 16px; } }

.title-underline {
  text-align: center;
  margin-bottom: 30px;
  letter-spacing: 2px; }
  .title-underline h3 {
    border-bottom: 4px solid #ffe300;
    display: inline;
    font-weight: bold;
    padding-bottom: 5px;
    font-size: 18px; }
    @media only screen and (min-width: 769px) {
      .title-underline h3 {
        font-size: 26px; } }

@media only screen and (min-width: 769px) {
  .training-facility-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; } }
.training-facility-wrap .training-facility {
  margin-top: 20px;
  margin-bottom: 30px; }
  .training-facility-wrap .training-facility p {
    font-size: 14px;
    line-height: 150%; }
    @media only screen and (min-width: 769px) {
      .training-facility-wrap .training-facility p {
        font-size: 16px; } }
  @media only screen and (min-width: 769px) {
    .training-facility-wrap .training-facility {
      width: 48%;
      margin-bottom: 30px; } }
  .training-facility-wrap .training-facility .facility-title {
    font-weight: bold;
    font-size: 18px;
    margin: 3px 0; }
    @media only screen and (min-width: 769px) {
      .training-facility-wrap .training-facility .facility-title {
        font-size: 25px;
        margin: 5px 0; } }
  .training-facility-wrap .training-facility .block {
    margin: 10px 0; }
  .training-facility-wrap .training-facility .tag {
    display: inline;
    color: white;
    font-size: 14px;
    padding: 5px 10px;
    border-radius: 3px;
    margin-top: 5px;
    font-weight: bold; }
    @media only screen and (min-width: 769px) {
      .training-facility-wrap .training-facility .tag {
        font-size: 16px; } }
  .training-facility-wrap .training-facility .tag.color1 {
    background: #73ccec; }
  .training-facility-wrap .training-facility .tag.color2 {
    background: #a4d484;
    padding: 5px 15px; }
  .training-facility-wrap .training-facility .contain {
    display: inline-block;
    background-position: center center;
    background-repeat: no-repeat;
    width: 100%;
    height: 180px;
    background-size: cover; }
    @media only screen and (min-width: 769px) {
      .training-facility-wrap .training-facility .contain {
        height: 240px; } }
.training-facility-wrap .border-box {
  border: 2px solid #73ccec;
  border-radius: 3px;
  margin: 20px 0px;
  padding: 10px; }
  @media only screen and (min-width: 769px) {
    .training-facility-wrap .border-box {
      width: 48%;
      height: 240px;
      padding-top: 20px;
      padding-left: 20px; } }
  .training-facility-wrap .border-box p {
    font-size: 14px; }
    @media only screen and (min-width: 769px) {
      .training-facility-wrap .border-box p {
        font-size: 16px; } }

.sec-wrap {
  background: #243E29;
  margin-bottom: 10px;
  font-weight: bold; }
  .sec-wrap .sec {
    text-align: center;
    font-size: 22px;
    padding: 5px 0;
    color: white;
    margin-top: 80px;
    line-height: 1.8; }

.form-item:last-child {
  margin-top: 50px; }
.form-item .input-label {
  display: flex;
  margin-bottom: 10px;
  margin-right: 10px; }
  .form-item .input-label .heading {
    min-width: 120px; }
  .form-item .input-label .value {
    margin: 0 10px; }
  .form-item .input-label p {
    text-align: center; }

.form-item .con_contact_btn {
  margin-top: 0px; }
  @media only screen and (min-width: 769px) {
    .form-item .con_contact_btn {
      display: flex;
      justify-content: center; } }
  .form-item .con_contact_btn input[name="back"] {
    background-color: #999999; }
    @media only screen and (max-width: 768px) {
      .form-item .con_contact_btn input[name="back"] {
        margin: 0;
        width: 100%;
        margin-bottom: 20px; } }
    @media only screen and (min-width: 769px) {
      .form-item .con_contact_btn input[name="back"] {
        width: 200px;
        margin: 0; } }
  @media only screen and (max-width: 768px) {
    .form-item .con_contact_btn input[name="send"] {
      margin: 0 !important;
      width: 100%; } }
  @media only screen and (min-width: 769px) {
    .form-item .con_contact_btn input[name="send"] {
      margin: 0; } }

.amount input[type="button"] {
  border-radius: 5px;
  border: none;
  box-shadow: none;
  color: white;
  display: block;
  font-size: 18px;
  height: 50px;
  font-weight: bold;
  letter-spacing: 2px;
  background-color: #011D45;
  margin: 0 auto;
  padding: 0 20px;
  width: 70%;
  -webkit-appearance: none; }
  @media only screen and (min-width: 769px) {
    .amount input[type="button"] {
      width: 100%; } }
  .amount input[type="button"]:hover {
    opacity: 0.8;
    cursor: pointer; }

@media only screen and (min-width: 769px) {
  .numbers {
    display: flex; } }

.amount-box {
  background: #f1f1f1;
  padding: 20px; }
  @media only screen and (min-width: 769px) {
    .amount-box {
      display: flex; } }
  .amount-box p {
    text-align: left; }
    @media only screen and (min-width: 769px) {
      .amount-box p {
        margin-left: 5px; } }

.contact_btn.amount {
  margin: 0;
  padding: 0;
  margin-bottom: 20px; }
  @media only screen and (min-width: 769px) {
    .contact_btn.amount {
      margin-right: 0px;
      margin-bottom: 0; } }
  .contact_btn.amount input {
    background: #c0633e; }

.container {
  padding: 3%; }

.modal {
  width: 100%;
  z-index: 10;
  padding: 0px;
  text-align: left; }
  .modal .modal-inner {
    background: #fbfbfb;
    padding-top: 20px; }
    @media only screen and (min-width: 769px) {
      .modal .modal-inner {
        max-width: 600px;
        margin: auto; } }
    @media only screen and (max-width: 768px) {
      .modal .modal-inner {
        max-width: 320px;
        margin: 0px; } }
    .modal .modal-inner .modal-container {
      margin: auto;
      width: 90%; }
      .modal .modal-inner .modal-container p {
        font-size: 13px; }
        @media only screen and (min-width: 769px) {
          .modal .modal-inner .modal-container p {
            font-size: 16px; } }
    .modal .modal-inner .close-button {
      text-align: right;
      margin-top: 20px; }
      .modal .modal-inner .close-button .container {
        padding: 3%;
        padding-bottom: 0;
        padding-right: 0;
        padding: 3%; }
      .modal .modal-inner .close-button p {
        margin: auto;
        padding: 10px;
        font-size: 16px; }
        .modal .modal-inner .close-button p i {
          -webkit-text-stroke: 4px #fbfbfb;
          font-size: 35px; }
    .modal .modal-inner .input-contents {
      background: #f2f2f2;
      margin-bottom: 20px; }
      .modal .modal-inner .input-contents .bold {
        margin-left: 0;
        font-weight: bold;
        font-size: 16px; }
        @media only screen and (min-width: 769px) {
          .modal .modal-inner .input-contents .bold {
            font-size: 20px; } }
      .modal .modal-inner .input-contents p {
        margin-left: 10px; }
    .modal .modal-inner .amount {
      margin-bottom: 20px; }
      .modal .modal-inner .amount .bold {
        margin-left: 0;
        font-weight: bold;
        font-size: 16px; }
        @media only screen and (min-width: 769px) {
          .modal .modal-inner .amount .bold {
            font-size: 20px; } }
      .modal .modal-inner .amount table {
        border-collapse: collapse;
        font-size: 16px;
        margin: auto;
        width: 100%; }
        .modal .modal-inner .amount table tr td {
          border-width: solid 1px 0px; }
        .modal .modal-inner .amount table tr {
          border-top: solid 1px #f2f2f2;
          font-size: 13px; }
          @media only screen and (min-width: 769px) {
            .modal .modal-inner .amount table tr {
              font-size: 16px; } }
        .modal .modal-inner .amount table td {
          width: 33%;
          padding: 5px; }
        .modal .modal-inner .amount table .price {
          text-align: right; }
        .modal .modal-inner .amount table .highlight {
          color: #55AFEB;
          border: solid 1px #55AFEB; }
    .modal .modal-inner .comment p {
      font-size: 13px; }
      @media only screen and (min-width: 769px) {
        .modal .modal-inner .comment p {
          font-size: 15px; } }

#kit_contact .title-underline h2 {
  border-bottom: 4px solid #0090ff;
  display: inline;
  font-weight: bold;
  padding-bottom: 5px;
  font-size: 18px; }
  @media only screen and (min-width: 769px) {
    #kit_contact .title-underline h2 {
      font-size: 26px; } }
#kit_contact .fukidashi_sp, #kit_contact .fukidashi_pc {
  background: #73ccec; }
#kit_contact .fukidashi_pc:after {
  border-color: #73ccec transparent transparent transparent; }
#kit_contact a.fukidashi:after {
  border-color: transparent transparent transparent #73ccec; }
#kit_contact .from_web {
  font-size: 14px; }
@media only screen and (min-width: 769px) {
  #kit_contact .contact_link {
    margin-bottom: 145px; } }
#kit_contact .line_link_sutxt p a {
  display: inline; }
#kit_contact .reserv_link a {
  margin-bottom: 10px; }
#kit_contact .line_link a {
  background-color: #00b900;
  position: relative;
  margin-bottom: 10px; }
#kit_contact .line_link a::before {
  content: "";
  background-image: url(../../assets/img/line_img.png);
  background-size: 50px;
  background-repeat: no-repeat;
  height: 50px;
  left: 10px;
  position: absolute;
  top: 4px;
  width: 120px; }
#kit_contact .line_link span {
  margin-left: 20px; }
#kit_contact .line_link_sutxt {
  margin-bottom: 30px; }
#kit_contact .line_link_sutxt a {
  text-decoration: underline; }
#kit_contact .line_link_sutxt a:hover {
  text-decoration: none; }
#kit_contact .contact-form-wrap .radiobox input {
  display: inline !important;
  height: auto !important;
  width: auto !important;
  margin-right: 10px; }
@media only screen and (min-width: 769px) {
  #kit_contact .contact-form-wrap .horizontal-input input {
    width: 49%; } }
#kit_contact .contact-form-wrap .horizontal-input input:not(:first-child) {
  margin-top: 10px; }
  @media only screen and (min-width: 769px) {
    #kit_contact .contact-form-wrap .horizontal-input input:not(:first-child) {
      margin-top: 0; } }

/* top_repair */
.service_menu_box {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 40px; }

.service_boxin {
  width: 50%; }

.service_boxin:nth-child(odd) {
  padding: 0 5px 10px 0; }

.service_boxin:nth-child(even) {
  padding: 0 0 10px 5px; }

.access_in {
  text-align: center;
  margin: 0 0 40px; }

.access_in h3 {
  font-size: 16px;
  font-weight: bold;
  margin: 0 0 10px; }

.access_in p {
  text-align: left;
  margin: 0 0 10px; }

.sp_none {
  display: none; }

.en_txt_font {
  font-family: Open Sans;
  font-size: 30px; }

.about_plan__inner {
  background: #ffe300;
  padding: 0 0 10px; }

@media only screen and (min-width: 769px) {
  .service_menu_box {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: nowrap;
    margin: 0 0 70px; }

  .service_boxin {
    margin-right: 20px; }

  .service_boxin:last-child {
    margin-right: 0; }

  .service_boxin a:hover {
    opacity: .8; }

  .top_section__access .access__map {
    margin: 0 0 70px; }

  .access_in {
    text-align: center;
    margin: 0 0 70px; }

  .access_in h3 {
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 50px; }

  .access_in p {
    font-size: 16px;
    text-align: left;
    margin-bottom: 30px; }

  .pc_none {
    display: none; }

  .sp_none {
    display: block; } }
/* price_repair */
.price_wrapper {
  text-align: left;
  padding: 0 20px;
  max-width: 1000px;
  margin: auto; }

.small_letter {
  font-size: 12px; }

@media only screen and (min-width: 769px) {
  .price_wrapper .title-underline {
    margin-bottom: 50px; }

  .small_letter {
    font-size: 14px; } }

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