@media screen and (max-width: 1280px) {
  #header li {
    margin-left: 2px;
    margin-right: 2px;
  }
}

@media screen and (max-width: 1180px) {
}

@media screen and (max-width: 991.98px) {
}

@media screen and (max-width: 820px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  .container {
    padding: 0 20px;
    margin: 0 auto 50px;
  }
  .container_02 {
    padding: 0 20px;
    margin: 0 auto 50px;
  }
  .box {
    padding-top: 30px;
  }

  .map_flex {
    flex-wrap: wrap;
  }
  .map_flex .map_text {
    width: 100%;
    text-align: center;
  }
  .map_flex .map_botton {
    width: 100%;
    text-align: center;
  }
  .map_flex p {
    text-align: center;
  }
  .map_flex h5 {
    text-align: center;
  }
  .map_flex .map_botton {
    padding-top: 10px;
    padding-bottom: 50px;
  }

  #header ul.menu {
    display: block;
  }
  .logo {
    width: 80px;
    padding-left: 0;
  }

  #imagebox {
    overflow: hidden;
  }
  #imagebox .flex .left {
    width: 60%;
  }
  #imagebox .flex .right {
    width: 35%;
    margin-top: 90px;
  }
  #imagebox .flex .left img {
    height: 300px;
    object-fit: cover;
    object-position: 100% 0%;
  }
  #imagebox .flex .right img {
    height: 250px;
    object-fit: cover;
    object-position: 0% 100%;
  }

  #about {
    padding-top: 50px;
  }
  #about .text {
    width: 90%;
  }

  .box {
    padding-top: 70px;
  }
  #features1 .flex {
    flex-wrap: wrap;
  }
  #features1 .box {
    padding-top: 35px;
    align-items: flex-end;
    background: url(../images/tabi.png) right 0px no-repeat;
    background-size: 135px;
  }
  #features1 .left_02 {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
  }
  #features1 .right_02 {
    width: 100%;
    display: none;
  }
  #features1 .itembox {
    align-items: center;
  }
  #features1 .itemboxl {
    width: 35%;
  }
  #features1 .itemboxr {
    width: 60%;
    margin-left: 5%;
  }

  #features2 {
    margin-bottom: 0;
  }
  #features2 .box {
    align-items: flex-end;
    background: url(../images/sin.png) left 0px no-repeat;
    background-size: 135px;
  }
  #features2 .flex {
    flex-wrap: wrap;
  }
  #features2 .left_03 {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  #features2 .right_02 {
    width: 100%;
    display: none;
  }
  #features2 .itembox {
    align-items: center;
  }
  #features2 .itemboxl {
    width: 35%;
  }
  #features2 .itemboxr {
    width: 60%;
    margin-right: 5%;
  }

  #features3 .flex {
    flex-wrap: wrap;
  }
  #features3 .box {
    align-items: flex-end;
    background: url(../images/tabi.png) right 0px no-repeat;
    background-size: 135px;
  }
  #features3 .left_02 {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
  }
  #features3 .right_02 {
    width: 100%;
    display: none;
  }
  #features3 .itembox {
    align-items: center;
  }
  #features3 .itemboxl {
    width: 35%;
  }
  #features3 .itemboxr {
    width: 60%;
    margin-left: 5%;
  }

  #room .box {
    margin-top: 40px;
  }
  #room .flex {
    flex-wrap: wrap;
  }
  #room .flex .left_rooms {
    width: 100%;
  }
  #room .flex .left_rooms img {
    width: 100%;
  }
  #room .flex .right_rooms {
    width: 100%;
  }
  #room .item p {
    padding-top: 25px;
    font-size: 14px;
  }
  .item h4 {
    font-size: 23px;
  }
  .item h5 {
    font-size: 14px;
    padding-bottom: 8px;
  }
  .flex .item_rooms img {
    height: 350px;
  }

  #access.container {
    background: #fff;
  }
  #access.container {
    margin-bottom: 60px;
  }
  #access .flex {
    flex-wrap: wrap;
    padding-top: 40px;
  }
  #access .flex .left_rooms {
    width: 100%;
  }
  #access .flex .right_map {
    width: 100%;
  }
  #access iframe {
    height: 200px;
  }
  #information .rooms_read h2 {
    width: 100%;
  }
  #information .rooms_read table.row {
    width: 100%;
  }
  #information .rooms_read table.row_2 {
    width: 100%;
  }
  #information .flex {
    flex-wrap: wrap;
  }
  #information .text_02 {
    width: 100%;
  }
  #information .row {
    /*padding-left:50px;*/
    width: 100%;
  }
  #information .row_2 {
    margin-top: -30px; /*padding-left:50px;*/
    width: 100%;
  }
  #information h2 {
    width: 100%;
    text-align: center;
    padding-bottom: 40px;
    font-size: 30px;
  }
  #information table.row_2 td span {
    display: block;
  }

  table.row tr:before,
  table.row_2 tr:before {
    width: 40px;
  }

  #imagebox {
    background: url(../images/smoke1.svg) top right no-repeat;
    background-size: 50%;
  }
  .reserve_read {
    height: 100%;
    background: url(../images/Reserve.jpg) top right no-repeat;
    background-size: auto 100%; /*height: 280px;*/
    width: 100%;
    color: #fff;
  }
  .reserve_read .container {
    margin: 0;
  }
  #information .text_02 {
    text-align: center;
  }
  .rooms_read span {
    padding-left: 0;
  }
  .withline1 {
    background: url(../images/titleline.svg) center 75px no-repeat;
  }
  .withline {
    background: url(../images/titleline.svg) center 94% no-repeat;
  }

  header.fixed {
    position: unset;
  }
  header .box {
    position: unset;
  }
  header .box .left {
    width: 30%;
    top: 0;
    height: 60px;
    padding: 0px;
    position: fixed;
    z-index: 980;
  }
  header .box .left h1 {
    display: inline-block;
  }
  header .box .left h1 img {
    object-fit: cover;
  }
  header .box .right {
    padding: 15px;
    position: fixed;
    z-index: 999;
  }
  header .box .container.flex {
    padding: 0;
  }
  header .box .right {
    z-index: 999;
    position: fixed;
    top: 0;
    right: 50% !important;
    left: auto !important;
    transition: 0.3s;
    width: 50% !important;
    height: 100vh;
    transform: translateX(200%);
  }
  header .box .right.open {
    background: #fff;
    transform: translateX(100%);
  }
  header .box .right .modalnav {
    padding-top: 20px;
    overflow: scroll;
    background: var(--blue-color);
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 998;
  }
  header .box .right .modalnav ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  header .box .right .modalnav ul li {
    width: 100%;
    margin-bottom: 30px;
  }
  header .box .right .modalnav ul li:not(:last-child) {
    margin-right: 0;
  }
  header .box .right .modalnav ul li a {
    color: var(--main-color);
    padding-bottom: 0px;
    font-size: 2rem;
  }
  header .box .right .nav-box li a .en {
    margin-bottom: 10px;
  }
  header .box .right .modalbtn {
    transition: 0.3s;
    display: block;
    position: absolute;
    right: 100%;
    top: 0;
    width: 60px;
    height: 60px;
    z-index: 999;
  }
  header .box .right .modalbtn:before {
    content: "";
    transition: 0.3s;
    position: absolute;
    width: 23px;
    height: 2px;
    background: #000;
    top: 25px;
    left: 0;
    right: 0;
    margin: auto;
  }
  header .box .right .modalbtn:after {
    content: "";
    transition: 0.3s;
    position: absolute;
    width: 23px;
    height: 2px;
    background: #000;
    bottom: 25px;
    left: 0;
    right: 0;
    margin: auto;
  }
  header .box .right .modalbtn.active {
    background: none;
  }
  header .box .right .modalbtn.active:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 29px;
  }
  header .box .right .modalbtn.active:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    bottom: 29px;
  }
  header .box .right .nav-box {
    margin-top: 0px;
  }

  .read h1 {
    font-size: 28px;
  }

  .read h2,
  #information .rooms_read h2 {
    font-size: 28px;
  }
  .read p {
    line-height: 50px;
  }
  .item p {
    line-height: 2em;
    padding-top: 25px;
  }
  #about h3 {
    font-size: 27px;
  }
  #about .text p {
    line-height: 45px;
  }
  #ytvideo .ytvideo {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  .ytvideo iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
  .item h4,
  .item span {
    line-height: 1.3em;
  }
  .map_flex h5 {
    font-size: 20px;
  }
  .reserve_read {
    padding: 40px 0;
  }
  .reserve_read h2 {
    padding-top: 0;
    font-size: 20px;
    text-align: center;
  }
  .reserve_read p {
    font-size: 16px;
    line-height: 1.4em;
    text-align: center;
  }
  .reserve_read h2 span {
    font-size: 20px;
    text-align: center;
  }
  .reserve_flex {
    flex-wrap: Wrap;
  }
  .reserve_relative {
    width: 100%;
  }
  .reserve_absolute {
    width: 100%;
    position: relative;
    text-align: center;
    padding-top: 30px; /*padding-top:92px; top: 50%; left: 50%; transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%);*/
    right: 0;
  }
  .tizu {
    background: url(../images/tizu.png) 70% 70% no-repeat;
    background-size: 150%;
    width: 100%;
  }

  .slick-slider:after {
    max-width: 160px;
  }

  .btn06 {
    height: 38px;
    width: 38px;
  }

  .btnarrow1::after {
    top: 43%;
    right: 13px;
    width: 8px;
  }

  .btnarrow1::before {
    bottom: 24px;
    left: 30%;
  }
  .slick-slider {
    margin-bottom: 50px;
  }

  #ytvideo {
    margin-bottom: 40px;
  }

  #map {
    width: 100%;
    height: 250px;
    overflow: hidden;
  }

  #map iframe {
    width: 100%;
    height: 335px;
    margin-top: -85px;
  }
  .htel_flex {
    gap: 0;
  }
}

@media screen and (max-width: 768px) {
}

@media screen and (max-width: 640px) {
  .botton a {
    margin-left: 5%;
    max-width: 90%;
    padding: 15px 0;
  }
  #about {
    overflow: hidden;
  }
  #about .botton a {
    margin-left: 2.5%;
    width: calc(100% + 5%);
    max-width: unset;
  }
  .botton {
    text-align: center;
  }
  .botton a::before {
    width: 39px;
    right: -19.5px;
  }
}

@media screen and (max-width: 480px) {
  #imagebox .flex .right {
    margin-top: 60px;
  }
  #imagebox .flex .left img {
    height: 200px;
    object-fit: cover;
    object-position: 100% 0%;
  }
  #imagebox .flex .right img {
    height: 185px;
    object-fit: cover;
    object-position: 0% 100%;
  }
  #ytvideo .ytvideo {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  .ytvideo iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
  .flex .item_rooms img {
    height: 215px;
  }
}
@media screen and (max-width: 400px) {
  .read h2 {
    font-size: 30px;
  }
  .read h1 {
    font-size: 30px;
  }
}
