@media screen and (max-width: 480px) {
  #nav-toggle {
      z-index: 888;
  }
  .container {
      width: auto;
      padding-right: 15px;
      padding-left: 15px;
      margin-right: auto;
      margin-left: auto;
  }
  .bg {
      padding: 50px 0;
  }
  .bg-b {
      padding: 50px 0 0 0;
  }
  .breadcrumb ul li:first-child::before {
      position: absolute;
      top: 0;
      right: -20%;
      content: "/";
  }
  .p_contents {
      display: block;
  }
  .p_contents .box {
      width: 100%;
  }
  .open-menu {
      width: 100%;
      display: block;
      overflow-x: auto;
      padding-top: 30%;
  }
  .open-menu nav {
      width: 100%;
      border-bottom: 1px solid;
      padding-bottom: 5%;
      margin-bottom: 15%;
      width: 80%;
      margin: 0 auto 5%;
  }

  .open-menu nav h5 {
      font-family: Futura,Trebuchet MS,Arial,sans-serif;
      font-style: italic;
      font-weight: bold;
      padding-bottom: 3%;
      letter-spacing: 5px;
  }/*
  .container {
    max-width: 90%;
  }*/
  .header-logo {
      width: 25%;
      top: 3%;
  }
  #nav-toggle {
      top: 3%;
      height: 60px;
      z-index: 999;
  }
  #nav-toggle > div {
      width: 40px;
  }
  #nav-toggle > div::after {
      font-size: 14px;
      left: -1px;
  }
  .mainbg {
      height: 90vh;
  }
  .main-box-list {
  }
  .box-wrap .left-box {
      width: 100%;
      padding: 55px 20px;
      z-index: 1;
  }
  .h_service__wrap::after {
      height: 20vh;
  }
  .h_service__wrap .s__contents .box {
    display: block;
  }
  .h_service__wrap .s__contents .box img {
      width: 100%;
  }
  .h_service__wrap .s__contents .box .text-box {
      padding: 50px 15px 50px 15px;
  }
  .h_service__wrap .s__contents .box h3 {
      margin-bottom: 0;
      line-height: 0;
  }
  .h_banner_wrap .b_contents {
    display: block;
  }
  .h_banner_wrap .b_contents .box:nth-child(1) {
      margin: 0;
      width: 100%;
      padding-bottom: 10%;
  }
  .h_banner_wrap .b_contents .box:nth-child(2) {
      margin: 0;
      width: 100%;
  }
  .h_banner_wrap .b_contents .box:nth-child(3) {
      margin: 0;
      width: 100%;
      clear: both;
      padding-top: 50px;
  }
  .h_banner_wrap .b_contents .box a.map {
      font-size: 18px;
  }
  .wrapper_tabcontent {
    padding: 0;
  }
  .n__contents ul.n_list li a {
    display: block;
  }
  .n__contents ul.n_list li a span.title {
      width: 100%;
      margin: 20px 0;
      display: block;
  }
  .n__contents ul.n_list li a span.cat {
      padding: 0px 20px;
      font-size: 14px;
  }
  .ft_wrap {
      display: block;
      border: none;
  }
  .ft_wrap .f_box:first-child {
      width: 100%;
  }
  .ft_wrap .f_box {
      width: 50%;
      float: left;
  }
  .ft_wrap .f_box ul li a {
      font-size: 16px;
  }
  .ft_wrap .f_box nav h5 {
      padding-bottom: 10%;
      letter-spacing: 5px;
      padding-top: 10%;
      font-size: 20px;
  }
  .ft_bottom {
      display: block;
      padding: 20px 0;
  }
  .ft_bottom p {
      width: 100%;
      font-family: Futura,Trebuchet MS,Arial,sans-serif;
      font-weight: 100;
      clear: both;
      text-align: center;
  }
  .ft_bottom ul {
      width: 100%;
      margin-top: 5%;
      text-align: center;
      overflow: hidden;
  }
  .h_banner_wrap .b_contents .box img {
      width: 40%;
  }
  a.btn-arrow.black.right-area {
      margin-top: 20%;
      margin-left: auto;
      width: 60%;
      margin-bottom: 10%;
  }
  .tablinks {
      height: 40px;
      font-size: 12px;
      padding: 0;
      margin: 0;
  }
  .tablinks p {
    font-size: 11px;
  }
  a.btn-arrow.black {
      font-size: 14px;
  }
  a.btn-arrow.black::after {
      bottom: -190%;
  }
  .box-wrap .left-box p {
      line-height: 34px;
  }
  .box-wrap .left-box h3 {
      font-size: 24px;
  }
  .ttl {
      display: block;
  }
  .ttl span {
      padding: 10px 0 0 0;
      display: block;
  }
  .ttl h2 {
      position: relative;
      font-size: 24px;
      letter-spacing: 3px;
  }
  .ttl h2::before {
      position: absolute;
      content: "";
      width: 100px;
      height: 2px;
      background-color: #000;
      bottom: 8%;
      left: 0;
  }
  .h_service__wrap .s__contents h3 {
      font-size: 20px;
      line-height: 35px;
  }
  .philosophy_wrap .p_contents .box:first-child {
      width: 100%;
  }
  .philosophy_wrap .p_contents .box h3 {
      font-size: 20px;
      line-height: 34px;
  }
  .philosophy_wrap .p_contents .box:last-child {
      width: 100%;
  }
  table.table tr {
      display: grid;
  }
  .profile-table .table th {
      width: 140px;
      padding: 20px 0px 15px 0px;
  }
  .profile-table .table td {
      padding: 20px 0px 15px 0px;
  }
  .staff_wrap ul li {
      width: 100%;
  }
  .h_recruit_wrap .r_contents {
      display: block;
  }
  .h_recruit_wrap .r_contents .box:nth-child(1) {
      width: 100%;
  }
  .h_recruit_wrap .r_contents .box p {
      line-height: 34px;
  }
  .recruit_wrap table tr {
      display: grid;
  }
  .recruit_wrap table th {
      width: 100%;
      padding: 20px 0px 15px 0px;
  }
  .h_news-single_wrap .news-wrap {
      display: block;
  }
  .h_news-single_wrap .news-wrap .news-contents {
      width: 100%;
      padding-right: 0;
  }
  .h_news-single_wrap .news-wrap .news-contents h1 {
      font-size: 20px;
      text-align: left;
      line-height: 34px;
      padding-top: 25px;
  }
  .project_wrap .pro_contents .box h2 {
      width: 100%;
      line-height: 48px;
      font-weight: 100;
      position: relative;
      font-size: 34px;
      font-family: Futura,Trebuchet MS,Arial,sans-serif;
      font-style: italic;
  }
  .project_wrap .pro_contents .box p {
      line-height: 30px;
  }
  .rental-wrap {
      display: block;
  }
  .rental-box {
      width: 100%;
  }
  .rental-txt {
      padding: 5px 0px;
      display: block;
      width: 100%;
  }
  .slider {
      margin: 0px auto;
      width: 100%;
      border: 1px solid red;
  }
  .slider img {
      height: 200px;
      width: 100%;
      object-fit: cover;
  }
  .thumb {
      width: 100%;
      margin: 0 auto;
  }
  .thumb li {
      margin-right: 10px;
      width: 6% !important;
  }
  .thumb img {
      width: 100%;
      height: 40px;
      cursor: pointer;
      cursor: hand;
      object-fit: cover;
  }
  .modal-window {
      z-index: 999;
  }
  .rental-txt .table-box table tr {
    display: grid;
  }
  .recruit_wrap table th {
      width: 100%;
      padding: 20px 0px 15px 0px;
  }
  .rental-list {
      display: block;
      margin-top: 5%;
  }
  .rental-list table {
      background-color: #FFF;
      width: 100%;
  }
  .rental-check {
      width: 100%;
      padding: 20px 0;
  }
  .rental-check ul li {
      float: left;
      width: 27%;
      padding: 5px;
      border: 1px solid #e5e5e5;
      list-style: none;
      text-align: center;
      margin: 2px;
      color: #e5e5e5;
      font-size: 10px;
  }
  .top_box02 .left {
      width: auto;
      position: relative;
  }
  .top_box02 .left .sticky {
    padding-top: 50px;
    padding-bottom: 0;
  }
  .top_box02 .content_wrap {
    background: linear-gradient(90deg, #fff 0%, #fff 81%, #d9c1b4 81%, #d9c1b4 100%);
      display: inherit;
      justify-content: space-between;
      flex-wrap: nowrap;
      position: relative;
      padding: 0 20px;
  }
  .top_box02 .right {
      z-index: 1;
      width: 100%;
      max-width: 667px;
      padding-top: 50px;
      padding-bottom: 100px;
  }
  table.tax-table {
      background-color: #FFF;
      width: 100%;
      text-align: center;
      box-shadow: rgb(38 57 77) 0px 20px 30px -10px;
      display: block;
      overflow-x: scroll;
      white-space: nowrap;
      -webkit-overflow-scrolling: touch;
  }
  .sitemap_wrap .sitemap__content {
      display: block;
  }
  .sitemap_wrap .sitemap__content .s_box {
      width: 50%;
      float: left;
  }
  .form_wrap {
      width: 100%;
      max-width: initial;
      min-width: inherit;
      margin: 0 auto;
  }
  .Form-Item {
      padding-left: 0;
      padding-right: 0;
      padding-top: 16px;
      padding-bottom: 16px;
      flex-wrap: wrap;
  }
  #simple header {
      display: block;
      height: 55px;
      background-color: #efefef;
  }
  .form_wrap .form-txt {
      display: block;
      max-width: 90%;
      margin: 0 auto;
  }
  .form_wrap .form-txt .txt {
      width: 100%;
      margin-bottom: 5%;
  }
  .form_wrap .form-txt .call {
      display: flex;
      width: 100%;
  }
  .form_wrap .form-txt .call p {
      line-height: 48px;
      padding-left: 10px;
      font-size: 24px;
      font-weight: bold;
  }
  .cp_ipselect.cp_sl02 {
      margin-left: 0;
      max-width: 300px;
  }
  .form__file {
      padding-left: 0;
      padding-top: 1em;
  }
  .Form-Item-Label-Required {
      border-radius: 4px;
      padding-top: 4px;
      padding-bottom: 4px;
      width: 32px;
      font-size: 10px;
      margin-top: 0;
      margin-left: 10px;
  }
  .top_box02 .right .text_box .text table {

  }
  .top_box02 .right .text_box .text table tr {
    display: grid;
  }
  .top_box02 .right .text_box .text table th {
      width: 100%;
      border: none;
  }
  .top_box02 .right .text_box .text table td {
      width: 100%;
      border: none;
  }
  .ft_wrap .f_box p.call {
      font-size: 30px;
      color: #FFF;
      font-weight: bold;
  }
  .column-flex {
      display: block;
  }
  .column-flex .img-box img {
      min-height: 300px;
      object-fit: cover;
  }
  .column-flex .img-box {
      width: 100%;
  }
  .column-flex .text-area {
      width: 100%;
      padding: 30px 0;
  }
  .column-flex .text-area p {
      margin-top: 5%;
      line-height: 1.5;
      letter-spacing: 1px;
  }
  .column-flex:nth-child(1)::before {
      bottom: 0;
      top: initial;
  }
  .column-flex:nth-child(2)::before {
      bottom: 0;
      top: initial;
  }
  .column-flex:nth-child(3)::before {
      bottom: 0;
      top: initial;
  }
  .column-flex:nth-child(1):after {
      position: absolute;
      width: 50px;
      height: 1px;
      background-color: #000;
      content: "";
      top: inherit;
      right: 80px;
      bottom: 38%;
  }
  .column-flex:nth-child(2):after {
      position: absolute;
      width: 50px;
      height: 1px;
      background-color: #000;
      content: "";
      top: inherit;
      left: inherit;
      bottom: 32%;
      right: 80px;
  }
  .column-flex:nth-child(3):after {
      position: absolute;
      width: 50px;
      height: 1px;
      background-color: #000;
      content: "";
      top: inherit;
      right: inherit;
      left: 160px;
      bottom: 32%;
  }
  .service_wrap .box {
      width: 50%;
      float: left;
      height: 200px;
  }
  .rental .btn-surround {
      width: 260px;
  }
  .service_wrap .box h3 {
      font-size: 16px;
      padding: 15px 5px;
      margin-bottom: 15px;
      border-bottom: 1px solid;
      margin: 10px;
  }
  .scroll {
      width: 300px;
      height: 350px;
      border-radius: 5px;
      position: absolute;
      overflow: hidden;
      right: 0px;
      top: 0;
  }
  .arrow {
      width: 1px;
      height: 50px;
      margin: 50px auto 0;
      background-color: #eee;
      position: relative;
      overflow: hidden;
  }
  .arrow::before {
      content: '';
      width: 1px;
      height: 50px;
      margin: 50px auto 0;
      background-color: #000;
      position: absolute;
      top: -150px;
      left: 0;
      -webkit-animation: arrow 2.5s ease 0s infinite normal;
      animation: arrow 2.5s ease 0s infinite normal;
  }
  .h_news-single_wrap .news-wrap .news-contents .related-article ul li {
      list-style: none;
      margin: 5% 1%;
      border-bottom: 1px dotted;
      padding-bottom: 20px;
      float: left;
      width: 48%;
  }
  .h_news-single_wrap .news-wrap .news-contents .related-article ul li:nth-child(1) {
    margin: 0 1% 0 0;
  }
  .h_news-single_wrap .news-wrap .news-contents .related-article ul li:nth-child(2) {
    margin: 0 0 0 1%;
  }
  .h_news-single_wrap .news-wrap .news-contents .related-article ul li:nth-child(3) {
    margin: 0 1% 0 0;
  }
  .h_news-single_wrap .news-wrap .news-sidebar {
      width: 100%;
      clear: both;
  }
  .h_news-single_wrap .news-wrap .news-sidebar .sidebar-box {
      padding: 25px 0;
  }
  .sub-heading img {
      height: 170px;
      object-fit: cover;
      position: relative;
  }
  .sub-up-wrap {
      position: absolute;
      top: inherit;
      right: 70px;
      width: 22%;
      bottom: 0;
  }
  .sub-up-wrap img {
    height: 100px;
  }
  .h_banner_wrap {
      background-image: url(../images/banner-bg.png);
      width: 100%;
      padding: 50px 0;
      background-size: inherit;
      background-position: 50%;
      position: relative;
  }
  .h_banner_wrap .b_contents .box p.call {
      font-size: 30px;
      color: #fa9700;
      font-weight: bold;
  }
  .main-box-list .box.tel img {
    display: none;
  }
  .main-box-list.banner-grid {
      position: absolute;
      bottom: 5%;
      left: 0%;
      z-index: 10;
      padding: 20px 0;
      width: 50%;
      max-width: inherit;
  }
  iframe.b-gmap {
    width: 100%;
  }
  .main-box-list .grid-box.tel {
      grid-template-columns: 1fr;
  }
  .main-box-list .grid-box.tel img {
      display: none;
  }
}
