@charset "UTF-8";
/*==================================

  mobile

==================================*/
.pc {
  display: inherit; }

.sp {
  display: none; }

/* タブレット */
@media (max-width: 1024px) {
  .pc {
    display: none; }

  .sp {
    display: inherit; }

  .page_header_right,
  .main_nav {
    display: none !important; }

  .page_header {
    position: fixed;
    width: 100%;
    background: #fff;
    z-index: 100;
    padding: 10px;
    height: 86px; }
    .page_header .flex_box h1 {
      max-width: 60%; }
    .page_header .drawer-hamburger {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      border-radius: 6px;
      background: #fff;
      border: 2px solid #b24017;
      right: 10px;
      width: 20px;
      padding: 7px 10px 17px; }
    .page_header .drawer-nav {
      width: 40%;
      right: -40%;
      padding: 90px 10px 0; }
      .page_header .drawer-nav ul li {
        border-bottom: 2px solid #aaa; }
        .page_header .drawer-nav ul li:last-child {
          margin-top: 30px;
          border-bottom: 0;
          line-height: 1; }
          .page_header .drawer-nav ul li:last-child .btn_reserve {
            margin-right: 0; }
          .page_header .drawer-nav ul li:last-child a {
            text-align: center; }
        .page_header .drawer-nav ul li a {
          display: block;
          padding: 15px 0; }

  .drawer--right.drawer-open .drawer-hamburger {
    right: 10px; }

  .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
    top: -7px; }

  .drawer-hamburger-icon:after {
    top: 7px; }

  .drawer-hamburger-icon, .drawer-hamburger-icon:after, .drawer-hamburger-icon:before {
    background-color: #b24017; }

  .drawer-open .drawer-hamburger-icon {
    background-color: transparent; }

  main {
    padding-top: 86px; }

  h3 {
    font-size: 23px; }

  .f62 {
    font-size: 50px !important; }

  .f32 {
    font-size: 30px !important; }

  .f38 {
    font-size: 32px !important; }

  .main_top h2, .main_top h2 strong, .f44 {
    font-size: 30px !important; }

  .main_top h2 strong {
    font-size: 50px; }

  .s2 .contents > img {
    max-width: 100%; }

  .s3 ul li span {
    width: 140px;
    height: 35px; }

  .area .flex_img {
    width: 300px; }
  .area .flex_txt {
    flex: 1;
    padding-right: 20px; }

  .bus_list > li .flex_box {
    height: 327px;
    align-items: flex-start; }

  .commit_box ul li {
    width: 48%; }

  .comp1 .comp_list li {
    max-height: inherit; }

  .comp1 .comp_list li:last-child img {
    height: auto; } }
/* スマホ */
@media (max-width: 599px) {
  .page_header {
    height: 54px; }

  .page_header .drawer-nav {
    padding-top: 60px; }

  .page_header .drawer-nav ul li a {
    padding: 10px 0; }

  .page_header .drawer-nav ul li:last-child a {
    padding: 10px; }

  main {
    padding-top: 54px; }

  section {
    padding: 40px 0; }

  .f62 {
    font-size: 38px !important; }

  .f38,
  .commit_box h3 {
    font-size: 26px !important; }

  .main_top h2, .main_top h2 strong, .f44, .commit_box .ttl h2 {
    font-size: 27px !important; }

  .yellow_box .flex_box .flex_img {
    width: 100%;
    margin: 0 auto;
    margin-bottom: 15px; }
  .yellow_box .flex_box .flex_txt {
    width: 100%;
    flex: initial !important;
    padding: 0 !important; }

  .main_top .news_box.flex_box .news_ttl,
  .main_top .news_box.flex_box ul,
  .s3 ul li,
  .s4 li,
  .under_box li,
  .shop_list ul li,
  .bus_list > li,
  .commit_box ul li,
  #price ul li,
  .comp1 .flex_box .flex_txt {
    width: 100% !important;
    flex: initial !important; }

  .commit_box ul li,
  .comp1 .flex_box .flex_img,
  .comp1 .flex_box li {
    margin-bottom: 20px; }

  .commit_box .ttl h2 {
    line-height: 1; }

  .s1 .bg_g img {
    margin-bottom: -4.5vw; }

  .s1 .flex_box {
    margin: 50px 0; }
    .s1 .flex_box li {
      width: 49%;
      font-size: 13px !important; }

  .s3 ul li span {
    height: 30px; }

  .mt100 {
    margin-top: 50px !important; }

  .s4 li a,
  .under_box li a {
    width: 100%;
    margin-bottom: 5px; }

  h2.under_line {
    font-size: 22px; }

  .under .mv .mv_txt {
    font-size: 4.5vw;
    font-weight: 700;
    padding: 20px 0; }

  .tab li {
    font-size: 16px;
    line-height: 1.2; }

  h2.left_line,
  .bus_list > li .ttl,
  .bus_big_list > li .ttl {
    font-size: 24px; }

  .area .flex_img,
  .bus2 > .flex_box .flex_img, .bus3 > .flex_box .flex_img, .bus4 > .flex_box .flex_img,
  .comp1 .flex_box .flex_img,
  .comp1 .flex_box li {
    width: 100%;
    text-align: center; }

  .bus2 > .flex_box .flex_img, .bus3 > .flex_box .flex_img, .bus4 > .flex_box .flex_img {
    margin-top: 30px; }

  .bus_list > li .flex_box {
    height: auto; }

  .commit_box .ttl img {
    width: 75px; }

  #price ul li:nth-child(even) th {
    border-left: 2px solid #ddd; }

  #price table th {
    width: 200px; }

  #price .flex_box li:last-child tr:first-child th, #price .flex_box li:last-child tr:first-child td {
    border-top: none; }

  .comp1 .comp_list li table th {
    display: block;
    width: 100%;
    border-bottom: none; }

  .comp1 .comp_list li table td,
  #contact .pri1 .bg_g form th,
  #contact .pri1 .bg_g form td {
    display: block;
    width: 100%; }

  #contact .pri1 .bg_g form .sub input {
    width: 100%; }

  .blog .blog_cat li {
    width: 33%; }
    .blog .blog_cat li a {
      font-size: 16px; }

  .blog article .cat_ttl {
    flex-wrap: wrap; }
    .blog article .cat_ttl .cat_item {
      font-size: 14px; }
    .blog article .cat_ttl h1 {
      flex: initial;
      width: 100%; }
    .blog article .cat_ttl .date {
      font-size: 14px;
      width: 100%;
      text-align: right; } }
