@charset "utf-8";

/***********************************************************************************************************************
* デバイス横サイズ768px以上（SPではない場合）
***********************************************************************************************************************/
@media screen and (min-device-width: 768px) {
  .hover:hover {
    -ms-filter: "alpha( opacity=50 )";
    filter: alpha(opacity=50);
    opacity: 0.5;
  }
  .btn-toggle {
    -webkit-transition: opacity 0.4s ease;
    transition: opacity 0.4s ease;
  }
  .btn-toggle:hover {
    opacity: 0.5;
  }

  .pc {
    display: block !important;
  }
  .sp {
    display: none !important;
  }

  main {
    padding-top: 70px;
  }
  .wrap {
    width: 980px;
    padding: 0;
  }
  .wrap-s {
    width: 980px;
    padding: 0 125px;
  }
  /*ヘッダー*/
  header {
    min-width: 1030px;
    height: 70px;
    height: auto;
    border: none;

    -webkit-box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
  }
  header::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 70px;
    background: #fff;
    z-index: 1;
  }
  .top-page header {
    top: -70px;
    -webkit-transition: top 0.5s ease-out;
    transition: top 0.5s ease-out;
  }
  header .logo {
    position: relative;
    width: auto;
    height: 70px;
    padding: 0;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -ms-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
    letter-spacing: -0.4em;
    z-index: 1;
  }
  header .logo img {
    width: 220px;
    height: 70px;
  }
  header nav {
    position: static;
    right: auto;
    top: 0px;
    width: auto;
    padding: 0;
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    transition: none;
    overflow: visible;
    display: block;
  }
  header nav.block {
    display: block;
  }
  header nav.active {
    right: auto;
  }
  header .menu {
    margin-bottom: 0px;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    float: left;
  }
  header .menu > li {
    width: auto;
    border: none;
  }
  header .menu > li > a,
  header .menu > li > span {
    padding: 0 1.5em;
    font-size: 1.5rem;
    line-height: 1.3em;
    color: #333;
    height: 70px;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-flex-direction: column;
    flex-direction: column;
    cursor: pointer;
    z-index: 1;
    overflow: hidden;
  }
  header .menu > li > span::after {
    display: none;
  }
  header .menu > li > span::before {
    content: "";
    position: absolute;
    left: 0%;
    bottom: 0px;
    width: 100%;
    height: 4px;
    background: #0a4c83;
    -webkit-transition: all 0.6s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: all 0.6s cubic-bezier(0.37, 0.16, 0.12, 1);
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }
  header .menu > li:hover > span::before {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }

  header .menu > li > .box {
    display: block;
    position: absolute;
    left: 0px;
    top: -400px;
    width: 100%;
    background: #fadb32;
    text-align: center;
    -webkit-transition: all 0.8s cubic-bezier(0.37, 0.16, 0.12, 1);
    -moz-transition: all 0.8s cubic-bezier(0.37, 0.16, 0.12, 1);
    -ms-transition: all 0.8s cubic-bezier(0.37, 0.16, 0.12, 1);
    -o-transition: all 0.8s cubic-bezier(0.37, 0.16, 0.12, 1);
    transition: all 0.8s cubic-bezier(0.37, 0.16, 0.12, 1);
    z-index: 0;
  }
  header .menu > li > .box.open {
    top: 70px;
  }
  header .menu > li > .box ul {
    letter-spacing: -0.4em;
    padding: 30px 0 0;
  }
  header .menu > li > .box ul li {
    float: none;
    width: 155px;
    display: inline-block;
    margin: 0 5px 20px 5px;
    letter-spacing: normal;
  }
  header .menu > li.menu-scene > .box ul {
    margin: 0 auto;
    max-width: 660px;
  }
  header .menu > li > .box ul li img {
    width: 100%;
  }
  header .menu > li > .box figcaption {
    position: absolute;
    left: 0px;
    bottom: 0px;
    background: rgba(0, 0, 0, 0.6);
    width: 100%;
    padding: 0.5em;
    color: #fff;
  }
  header .menu > li > .box > a {
    display: inline-block !important;
    position: relative;
    margin: 0 auto 20px;
    font-size: 1.5rem;
    font-weight: bold;
    overflow: visible;
  }
  header .menu > li > .box > a::after {
    content: "";
    position: absolute;
    right: -20px;
    top: 50%;
    width: 7px;
    height: 7px;
    margin-top: -8px;
    border-right: 2px solid #0a4c83;
    border-bottom: 2px solid #0a4c83;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
  }

  body > header .member-link {
    position: relative;
    padding: 0 15px;
    float: left;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    z-index: 1;
    height: 70px;
  }
  body > header .member-link li {
    position: relative;
    margin-bottom: 0;
    padding: 0 0.7em;
  }
  body > header .member-link li::after {
    content: "";
    position: absolute;
    right: 0px;
    top: 50%;
    width: 1px;
    height: 0.8em;
    margin-top: -0.4em;
    background: #8a8a8a;
  }
  body > header .member-link li:last-child::after {
    display: none;
  }
  body > header .member-link li a,
  body > header .member-link li .ttl {
    display: block;
    width: auto;
    background: #fff;
    font-size: 1.2rem;
    line-height: 1.6em;
    text-align: center;
    color: #0a4c83;
    font-weight: normal;
    padding: 3px 10px;
    border: #0a4c83 solid 1px;
  }
  body > header .member-link li .ttl {
    font-size: 1.2rem;
    background: #da1c1c;
    color: #fff;
    padding: 0 0.7em;
  }
  body > header .member-link li:first-child {
    padding: 0;
  }
  body > header .member-link li:first-child::after {
    display: none;
  }

  /*固定下メニュー*/
  body > header .foot-menu {
    position: absolute;
    left: auto;
    right: 0px;
    bottom: 0px;
    overflow: hidden;
    width: auto;
    height: 70px;
  }
  body.top-page > header .foot-menu,
  body.store-page > header .foot-menu {
    bottom: 0px;
  }
  body.top-page.active > header .foot-menu,
  body.store-page.active > header .foot-menu {
    bottom: 0px;
  }
  body > header .foot-menu li {
    width: 110px;
    background-color: #0a4c83;
    background-repeat: no-repeat;
  }
  body > header .foot-menu li:nth-child(1) {
    background: #fadb32;
  }
  body > header .foot-menu li:nth-child(3) {
    background-image: url("../svg/phone_yellow.svg");
    background-size: 20px;
    background-position: center 13px;
  }
  body > header .foot-menu li:nth-child(4) {
    background-image: url("../svg/access_yellow.svg");
    background-size: 20px;
    background-position: center 13px;
  }
  body > header .foot-menu li:nth-child(5) {
    background-image: url("../svg/coupon_yellow.svg");
    background-size: 20px;
    background-position: center 12px;
  }
  body > header .foot-menu li a {
    height: 70px;
    padding-top: 40px;
    font-size: 1.2rem;
    line-height: 1em;
  }
  body > header .foot-menu li:nth-child(1) a {
    height: 70px;
    padding-top: 22px;
    font-size: 1.2rem;
    line-height: 1.33em;
    font-weight: bold;
    color: #0a4c83;
  }

  body > header #menu-button {
    display: none;
  }

  /*フッター*/
  footer {
    padding-bottom: 0px;
    min-width: 980px;
  }
  footer .link {
    text-align: center;
    letter-spacing: -0.4em;
  }
  footer .link li {
    display: inline-block;
    width: 235px !important;
    padding: 0 10px;
  }
  footer .link li img {
    width: 100%;
  }
  footer .link li span {
    display: inline-block;
    letter-spacing: normal;
    width: 240px;
    height: 36px;
    padding-bottom: 2px;
    font-size: 1.6rem;
    line-height: 34px;
    margin-bottom: 15px;
    -webkit-border-radius: 18px;
    border-radius: 18px;
  }
  footer .link li div {
    letter-spacing: normal;
    width: 230px;
    font-size: 1.1rem;
    line-height: 1.5rem;
    margin-bottom: 5px;
  }
  footer nav {
    background: #f3f3f3;
  }
  footer nav .menu {
    padding: 35px 0 10px;
  }
  footer nav .wrap:last-child .menu a {
    font-size: 1.4rem;
    line-height: 1em;
    padding: 0 1em;
  }
  footer nav .wrap:last-child .menu a::before {
    display: none;
  }
  footer nav .menu2 {
    padding-bottom: 40px;
  }
  footer nav .wrap:last-child .menu2 a {
    font-size: 1.2rem;
    padding: 0 1em;
  }

  footer .foot-bottom {
    background: #f3f3f3;
    padding-bottom: 60px;
  }
  footer .logo {
    width: 180px;
    margin: 0 auto 24px;
  }
  footer .logo img {
    width: 100%;
  }
  footer .copyright {
    font-size: 1.2rem;
    line-height: 1.8em;
  }

  /*ページ遷移ボタン*/
  #pagetop {
    width: 58px;
    height: 58px;
    bottom: 0px;
  }
  #pagetop.open {
    -ms-filter: alpha(opacity=100);
    filter: alpha(opacity=100);
    opacity: 1;
  }
  #pagetop > span {
    top: 58px;
    width: 58px;
    height: 58px;
  }
  #pagetop > span > span,
  #pagetop > span > a {
    width: 58px;
    height: 58px;
  }
  #pagetop > span > span:hover,
  #pagetop > span > a:hover {
    opacity: 0.4;
  }

  /***********************************************************
* 共通
***********************************************************/
  /*タイトル*/
  .headline {
    position: relative;
    background: none;
    padding: 0;
    font-size: 2.8rem;
    line-height: 39px;
    font-weight: bold;
    margin: 0 auto;
    min-width: 980px;
  }
  .headline::before {
    content: "";
    background: #0a4c83;
    width: -webkit-calc(100% - 80px);
    width: calc(100% - 80px);
    height: 100%;
    position: absolute;
    left: 40px;
    top: 0px;
    z-index: 0;
  }
  .headline span {
    position: relative;
    display: block;
    background: url("../svg/pattern_icon.svg") 40px 0px no-repeat;
    background-size: 80px;
    padding: 21px 80px 20px 80px;
  }

  .headline-s {
    position: relative;
    background: url("../img/stripe_gray.png");
    background-size: 8px;
    padding: 0.7em 15px;
    font-size: 1.8rem;
    line-height: 1.4em;
    min-width: 980px;
  }
  .headline-s::before,
  .headline-s::after {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 60px;
    height: 100%;
    background: #fff;
  }
  .headline-s::after {
    left: auto;
    right: 0px;
  }
  .headline-s .search::after {
    left: -35px;
    width: 25px;
    height: 25px;
    background: url("../svg/search.svg") no-repeat;
    background-size: 25px;
  }

  .headline-m {
    min-width: 980px;
    position: relative;
    background: none;
    padding: 0.7em 15px;
    font-size: 3rem;
    line-height: 1.3em;
    z-index: 3px;
  }
  .headline-m span {
    position: relative;
  }
  .headline-m.over + * {
    margin-top: -28px;
  }
  .headline-m::before {
    content: "";
    background: rgba(36, 176, 234, 1);
    position: absolute;
    top: 0px;
    left: 40px;
    width: -webkit-calc(100% - 80px);
    width: calc(100% - 80px);
    height: 100%;
  }
  .headline-m.over::before {
    background: rgba(36, 176, 234, 0.9);
  }
  .headline-m.bg-orange::before {
    background: rgba(246, 144, 0, 1);
  }

  /*ボタン*/
  .btn-yellow,
  .btn-reset {
    width: 480px;
    max-width: 100%;
    display: inline-block;
    height: 60px;
    margin: 0 auto 55px;
    font-size: 2rem;
    line-height: 60px;
    white-space: nowrap;
    padding: 0 2em;
  }
  .btn-reset {
    margin: 0 20px;
    background: #e6e6e6;
    color: #333;
  }
  button.btn-yellow,
  button.btn-reset {
    width: 480px;
    max-width: 100%;
  }
  .btn-yellow.blank::after {
    width: 20px;
    height: 20px;
    right: 10px;
    margin-top: -10px;
    background: url("../svg/blank.svg") no-repeat;
    background-size: 20px;
  }
  .btn-yellow .\33 60::after {
    left: -55px;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    background: url("../svg/360_2.svg") no-repeat;
    background-size: 40px;
  }
  .btn-area,
  .wrap .btn-area {
    padding: 60px 0 85px;
  }

  .btn-yellow2 {
    height: auto;
    line-height: 1.4em;
    padding: 25px 0;
  }
  .btn-white {
    margin: 0 auto 55px;
    padding: 15px 0;
    width: 400px;
  }
  .btn-white.blank::after {
    width: 20px;
    height: 20px;
    right: 10px;
    margin-top: -10px;
    background: url("../svg/blank.svg") no-repeat;
    background-size: 20px;
  }

  /*リスト*/
  /*.list{
	padding-bottom: 50px;
}*/

  /*サービスリスト*/
  .service-list {
    width: 1000px;
    margin: auto;
    justify-content: center;
    align-items: center;
  }
  .service-list li {
    width: 14.2%;
    padding: 5px;
  }
  .service-list li figure {
    padding: 15px 0 10px;
    text-align: center;
  }
  .service-list li img {
    width: 48%;
  }
  .service-list li figcaption {
    height: 4.6em;
    font-size: 1.2rem;
    line-height: 1.4em;
  }

  /*トグル*/
  .toggle-button {
    width: 480px;
    padding: 0.7em 1.5em;
    font-size: 2rem;
    line-height: 1.4em;
    margin: 0 auto;
  }
  .toggle-button::after {
    right: 25px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-right: 2px solid #0a4c83;
    border-bottom: 2px solid #0a4c83;
  }
  .toggle-button.open::after {
    margin-top: -12px;
  }
  .toggle-content {
    padding-top: 20px;
  }

  /*モーダル*/
  .lity-iframe .lity-container,
  .lity-youtube .lity-container,
  .lity-vimeo .lity-container,
  .lity-facebookvideo .lity-container,
  .lity-googlemaps .lity-container {
    max-width: 846px;
  }
  .lity-iframe-container {
    width: 100%;
    height: 85vh;
  }

  .lity-close,
  .lity-close:active {
    top: 0.5vw;
    width: 58px;
    height: 58px;
    top: 70px;
    right: auto;
    left: -webkit-calc(50% + 413px);
    left: calc(50% + 413px);
  }
  .lity-close::before {
    content: "";
    position: absolute;
    width: 52px;
    height: 4px;
    background: #fadb32;
    position: absolute;
    left: 16px;
    top: 50%;
    -webkit-transform: translate(-5%, -50%) rotate(45deg);
    -moz-transform: translate(-5%, -50%) rotate(45deg);
    -ms-transform: translate(-5%, -50%) rotate(45deg);
    -o-transform: translate(-5%, -50%) rotate(45deg);
    transform: translate(-5%, -50%) rotate(45deg);
  }
  .lity-close::after {
    content: "";
    position: absolute;
    width: 52px;
    height: 4px;
    background: #fadb32;
    position: absolute;
    left: 16px;
    top: 50%;
    -webkit-transform: translate(-5%, -50%) rotate(-45deg);
    -moz-transform: translate(-5%, -50%) rotate(-45deg);
    -ms-transform: translate(-5%, -50%) rotate(-45deg);
    -o-transform: translate(-5%, -50%) rotate(-45deg);
    transform: translate(-5%, -50%) rotate(-45deg);
  }

  /*セレクトボックス*/
  .select-box {
    overflow: hidden;
  }
  .select-box::after {
    -webkit-user-select: none;
    user-select: none;
    -webkit-pointer-events: none;
    pointer-events: none;
  }
  .select-box select {
    width: 100%;
    height: 48px;
    font-size: 1.6rem;
    line-height: 48px;
    padding: 0 1em;
    cursor: pointer;
  }
  select::-ms-expand {
    display: none;
  }

  /*ページャー*/
  .pager {
    padding: 45px 0 75px;
  }
  .pager .prev {
    margin-right: 15px;
  }
  .pager .next {
    margin-left: 15px;
  }

  .pager span {
    width: 50px;
    font-size: 1.9rem;
    line-height: 48px;
  }
  .pager a {
    width: 50px;
    font-size: 1.9rem;
    line-height: 48px;
  }
  .pager .prev a::after {
    left: 20px;
    margin-top: -8px;
    width: 12px;
    height: 12px;
    border-left: 3px solid #0a4c83;
    border-bottom: 3px solid #0a4c83;
  }
  .pager .next a::after {
    right: 20px;
    margin-top: -8px;
    width: 12px;
    height: 12px;
    border-top: 3px solid #0a4c83;
    border-right: 3px solid #0a4c83;
  }

  /*アンカーリンク*/
  .anchor-list {
    width: 992px;
    margin: 0 auto;
    padding: 40px 0 28px;
    -moz-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .anchor-list li {
    padding: 0 6px 12px;
  }
  .anchor-list li a {
    position: relative;
    display: -webkit-flex;
    display: flex !important;
    height: 50px;
    min-height: 50px;
    font-size: 1.6rem;
    line-height: 1.25em;
  }
  .anchor-list li a::after {
    content: "";
    position: absolute;
    right: 22px;
    top: 50%;
    width: 7px;
    height: 7px;
    margin-top: -3px;
    border-right: 2px solid #0a4c83;
    border-bottom: 2px solid #0a4c83;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
  }

  /*コース*/
  .course-box {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    width: 980px;
    padding-bottom: 55px;
    margin: 0 auto;
  }
  .course-box figure {
    width: 520px;
  }
  .course-box figure img {
    max-width: 100%;
  }
  .course-box .info {
    width: 460px;
    padding: 0 60px;
  }
  .course-box .info p {
    font-size: 1.8rem;
    line-height: 1.777em;
    margin-bottom: 1.5em;
  }
  .course-box .info .btn-yellow {
    margin-bottom: 0px;
  }
  .course-box .tag {
    margin: 0 0 25px 0;
  }
  .course-box .tag li {
    font-size: 1.3rem;
    padding: 0 5px;
  }
  /*注意*/
  .attention-box {
    padding: 30px 0px;
  }
  .attention-box * {
    line-height: 2em;
  }
  .attention-box .title {
    font-size: 2rem;
    line-height: 1.2em;
    margin-bottom: 0.5em;
  }

  /*テーブル*/
  .form-tbl,
  .form-tbl tbody,
  .form-tbl tr {
    display: table;
  }
  .form-tbl th,
  .form-tbl td {
    display: table-cell;
    width: auto;
  }
  .wrap .form-tbl {
    width: 100%;
    margin-left: 0;
  }
  .form-tbl th {
    width: 250px;
    padding: 15px 20px;
    font-size: 1.6rem;
    line-height: 1.6em;
    background: url("../img/stripe_gray.png");
    background-size: 8px;
    border-bottom: 5px solid #fff;
    vertical-align: top;
  }
  .form-tbl td {
    background: #fafafa;
    border-bottom: 5px solid #fff;
  }
  /*ラジオ*/
  .form-tbl .radio-list {
    padding-right: 100px;
  }
  .form-tbl .radio-list label {
    padding-right: 35px;
  }
  .form-tbl input[type="radio"] + span::before,
  .form-tbl input[type="checkbox"] + span::before {
    width: 16px;
    height: 16px;
    border: 2px solid #b5b5b5;
    -webkit-border-radius: 5px;
    border-radius: 5px;
  }
  .form-tbl input[type="radio"] + span::before {
    -webkit-border-radius: 50%;
    border-radius: 50%;
  }
  /*チェック後*/
  .form-tbl input[type="radio"]:checked + span::before,
  .form-tbl input[type="checkbox"]:checked + span::before {
    border: 2px solid #f96900;
  }

  .form-tbl .select-box {
    border: 1px solid #d5d5d5;
    margin-bottom: 8px;
  }
  .form-tbl .select-box.stores {
    max-width: 350px;
  }
  .form-tbl .select-box select {
    background: #fff;
    border: none;
    height: 35px;
    line-height: 35px;
    font-weight: normal;
  }
  .form-tbl textarea {
    max-width: 364px;
    padding: 0.5em 1em;
    margin: 0;
    height: 186px;
    resize: vertical;
    border: 1px solid #d5d5d5;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    -webkit-appearance: none;
    appearance: none;
  }

  .form-tbl input[type="text"] {
    max-width: 350px;
    height: 35px;
    line-height: 35px;
  }
  .form-tbl input[type="text"].txt1 {
    max-width: 200px;
  }
  .form-tbl input[type="text"].txt2 {
    max-width: 74px;
  }
  .form-tbl input[type="text"].txt3 {
    max-width: 112px;
  }
  .form-tbl input[type="text"].txt4 {
    max-width: 100%;
  }
  .form-tbl input[type="text"].txt5 {
    max-width: 150px;
  }

  /***********************************************************
* TOPページ
***********************************************************/
  .top-visual {
    min-width: 980px;
    overflow: hidden;
  }
  .top-visual::before,
  .top-visual::after {
    display: none;
  }
  .top-visual .box {
    position: absolute;
    left: 50%;
    top: 54%;
    margin-left: -360px;
    /*	margin-top: -253px;*/
    margin-top: -324px;
  }
  .top-visual .box .logo {
    position: relative;
    left: 0;
    top: 0;
    width: 374px;
    margin: 0 auto 60px;
  }
  .top-visual .box .logo img {
    width: 100%;
  }
  .top-visual .box .visual-news-box {
    position: relative;
    left: 0px;
    bottom: 0;
    width: 720px;
    padding: 0 10px;
    margin-bottom: 30px;
  }
  .top-visual .box .visual-news-box .swiper-container {
    height: 50px;
    border-top: 1px dashed #fff;
    border-bottom: 1px dashed #fff;
  }
  .top-visual .box .visual-news-box a {
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    padding: 15px 0;
  }
  .top-visual .box .visual-news-box time {
    display: block;
    font-size: 1.4rem;
    line-height: 1em;
    margin-bottom: 0px;
    padding-right: 1.2em;
    white-space: nowrap;
  }
  .top-visual .box .visual-news-box p {
    display: block;
    font-size: 1.4rem;
    line-height: 1em;
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .top-visual .box > ul {
    position: relative;
    left: 0;
    bottom: 0;
    width: 720px;
    padding: 0;
    margin-bottom: 27px;
  }
  .top-visual .box > ul li {
    float: left;
    width: 240px;
    padding: 0 10px;
  }
  .top-visual .box > ul li a {
    padding: 0 0 0 1em;
    font-size: 1.6rem;
    line-height: 52px;
    border: 2px solid #fff;
  }
  .top-visual .box > ul li:nth-child(1) a {
    background-image: url("../svg/phone_blue.svg");
    background-size: 20px;
    background-position: 57px center;
  }
  .top-visual .box > ul li:nth-child(2) a {
    background-image: url("../svg/access_blue.svg");
    background-size: 20px;
    background-position: 36px center;
  }
  .top-visual .box > ul li:nth-child(3) a {
    background-image: url("../svg/coupon_blue.svg");
    background-size: 25px;
    background-position: 50px center;
  }
  .top-visual .box .btn {
    position: relative;
    left: 0;
    bottom: 1px;
    width: 400px;
    height: 50px;
    margin: 0 auto;
    font-size: 1.4rem;
    line-height: 48px;
    border: 1px solid #fff;
  }

  .top-visual > a.scroll {
    left: auto;
    right: 30px;
    bottom: 35px;
    width: 50px;
    height: 50px;
  }
  .top-visual > a.scroll::before {
    width: 50px;
    height: 50px;
  }
  .top-visual .box .floating {
    bottom: 240px;
  }

  .top-box {
    padding-top: 37px;
    overflow: hidden;
    min-width: 980px;
  }

  /*新規メインヴィジュアル20200617*/
  .top-slider-visual {
    min-width: 980px;
  }
  .top-slider-visual .swiper-slide {
    width: 1200px;
  }
  .top-slider-visual .swiper-button-prev,
  .top-slider-visual .swiper-button-next {
    width: 50px;
    height: 68px;
    margin-top: -27px;
  }
  .top-slider-visual .swiper-button-next::after {
    right: 20px;
    width: 12px;
    height: 12px;
    margin-top: -14px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
  }
  .top-slider-visual .swiper-button-prev::after {
    left: 20px;
    width: 12px;
    height: 12px;
    margin-top: -14px;
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
  }

  .top-slider-visual .box {
    position: relative;
  }
  .top-slider-visual .box .bg {
    z-index: 1;
  }
  .top-slider-visual .box .logo {
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 51.6%;
    width: 51.6vw;
    transform: translate(-50%, -50%);
  }
  .top-slider-visual .link-area {
    padding: 55px 0;
  }
  .top-slider-visual .link-area h1 {
    color: #8a8a8a;
    text-align: center;
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
  .top-slider-visual .link-area .yellow-btn {
    margin: 0 auto;
    width: 720px;
    padding: 0;
    margin-bottom: 27px;
  }
  .top-slider-visual .link-area .yellow-btn li {
    float: left;
    width: 240px;
    padding: 0 10px;
  }
  .top-slider-visual .link-area .yellow-btn li a {
    padding: 0 0 0 1em;
    font-size: 1.6rem;
    line-height: 52px;
  }
  .top-slider-visual .link-area .yellow-btn li:nth-child(1) a {
    background-image: url("../svg/phone_blue.svg");
    background-size: 20px;
    background-position: 57px center;
  }
  .top-slider-visual .link-area .yellow-btn li:nth-child(2) a {
    background-image: url("../svg/access_blue.svg");
    background-size: 20px;
    background-position: 36px center;
  }
  .top-slider-visual .link-area .yellow-btn li:nth-child(3) a {
    background-image: url("../svg/coupon_blue.svg");
    background-size: 25px;
    background-position: 50px center;
  }
  .top-slider-visual .link-area .btn {
    position: relative;
    left: 0;
    bottom: 1px;
    width: 400px;
    height: 50px;
    margin: 0 auto;
    font-size: 1.4rem;
    line-height: 48px;
    border: 1px solid #0a4c83;
  }
  .top-slider-visual .link-area .floating {
    bottom: -70px;
    left: 50px;
    width: auto;
    transform: translateY(-55%);
  }

  /*ご利用シーン*/
  .top-scene {
    margin-bottom: 100px;
  }
  .top-scene .title,
  .top-room .title {
    min-width: 980px;
    font-size: 3rem;
    line-height: 86px;
    font-weight: bold;
    text-align: center;
    padding: 0 35px;
    background: url("../svg/pattern_icon.svg") 34px center no-repeat;
    background-size: 86px;
  }

  .top-scene .box {
    position: relative;
    width: -webkit-calc(100% - 34px);
    width: calc(100% - 34px);
    margin-left: 34px;
  }
  .top-scene .box::before {
    content: "";
    position: absolute;
    left: -34px;
    top: 100px;
    width: -webkit-calc(100% - 46px);
    width: calc(100% - 46px);
    height: -webkit-calc(100% - 40px);
    height: calc(100% - 40px);
    background: url("../img/stripe_blue.png");
    background-size: 8px;
  }
  .top-scene ul {
    background: #efefef;
    position: relative;
    margin: 0;
    padding: 45px 20px 45px 30px;
    display: block;
    overflow: hidden;
    width: -webkit-calc(100% - 300px);
    width: calc(100% - 300px);
    margin-left: 300px;
    letter-spacing: -0.4em;
  }
  .top-scene ul::before,
  .top-scene ul::after {
    display: none;
  }
  .top-scene ul li {
    width: 33.3333%;
    margin-bottom: 0px;
    letter-spacing: normal;
    padding: 0 15px 35px;
    vertical-align: top;
  }
  .top-scene ul li a {
    display: block;
  }
  .top-scene ul li img {
    width: 100%;
  }
  .top-scene ul li .ttl {
    margin: -30px 0 0 10px;
  }
  .top-scene ul li .ttl span {
    display: inline-block;
    padding: 0.15em 0.4em 0.2em 0.4em;
    font-size: 2.4rem;
    line-height: 1.4em;
    letter-spacing: -1px;
  }
  .top-scene ul li p {
    display: block;
    color: #333;
    padding: 10px 0 0 10px;
  }
  .top-scene .btn,
  .top-room .btn {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 300px;
    height: 100%;
    margin: 0;
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-flex-direction: column;
    flex-direction: column;
    line-height: 1.4em;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .top-scene .btn:hover,
  .top-room .btn:hover {
    background: rgba(250, 219, 50, 0.7);
  }
  .top-scene .btn::before,
  .top-room .btn::before {
    content: "";
    position: absolute;
    left: -webkit-calc(50% - 70px);
    left: calc(50% - 70px);
    top: -webkit-calc(50% - 120px);
    top: calc(50% - 120px);
    width: 140px;
    height: 140px;
    border: 2px solid #0a4c83;
    -webkit-border-radius: 50%;
    border-radius: 50%;
  }
  .top-scene .btn::after {
    content: "";
    position: absolute;
    right: auto;
    left: -webkit-calc(50% - 19px);
    left: calc(50% - 19px);
    top: -webkit-calc(50% - 88px);
    top: calc(50% - 88px);
    width: 38px;
    height: 38px;
    margin-top: 0px;
    border: none;
    border-right: 0 solid #fadb32; /*IE*/
    border-left: 2px solid #0a4c83;
    border-bottom: 2px solid #0a4c83;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
  }
  .top-scene .btn span:first-child,
  .top-room .btn span:first-child {
    display: block;
    font-size: 2.4rem;
    line-height: 1em;
    margin-top: 140px;
    padding-bottom: 10px\9;
  }
  .top-scene .btn span:last-child,
  .top-room .btn span:last-child {
    font-size: 1.8rem;
    line-height: 1em;
    margin-top: 8px;
  }

  /*ルーム*/
  .top-room {
    margin-bottom: 135px;
  }
  .top-room .title {
    background: url("../svg/pattern_icon.svg") calc(100% - 34px) center
      no-repeat;
    background-size: 86px;
    height: 86px;
    line-height: 50px;
    margin-bottom: 0;
  }
  .top-room .title small {
    font-size: 1.6rem;
  }
  .top-room .box {
    position: relative;
    width: -webkit-calc(100% - 34px);
    width: calc(100% - 34px);
    margin-right: 34px;
  }
  .top-room .box::before {
    content: "";
    position: absolute;
    right: -34px;
    top: 100px;
    width: -webkit-calc(100% - 46px);
    width: calc(100% - 46px);
    height: -webkit-calc(100% - 40px);
    height: calc(100% - 40px);
    background: url("../img/stripe_red.png");
    background-size: 8px;
  }
  .top-room ul {
    background: #efefef;
    position: relative;
    margin: 0;
    padding: 45px 30px;
    display: block;
    overflow: hidden;
    width: -webkit-calc(100% - 300px);
    width: calc(100% - 300px);
    letter-spacing: -0.4em;
  }
  .top-room ul::before,
  .top-room ul::after {
    display: none;
  }
  .top-room ul li {
    display: inline-block;
    width: 33.3333%;
    margin-bottom: 0px;
    letter-spacing: normal;
    padding: 0 15px 35px;
    vertical-align: top;
  }
  .top-room ul li a {
    display: block;
  }
  .top-room ul li img {
    width: 100%;
  }
  .top-room ul li .ttl {
    margin: -30px 0 0 10px;
  }
  .top-room ul li .ttl span {
    display: inline-block;
    padding: 0.15em 0.4em 0.2em 0.4em;
    font-size: 2.4rem;
    line-height: 1.4em;
    letter-spacing: -1px;
  }
  .top-room ul li p {
    font-size: 1.4rem;
    line-height: 1.6em;
    padding: 10px 0 0 10px;
  }
  .top-room ul li .icon {
    position: absolute;
    left: 25px;
    top: 10px;
    width: 45px;
    height: 45px;
    background-position: center center;
    background-repeat: no-repeat;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
  }
  .top-room ul li .icon.\33 60 {
    background-image: url("../svg/360c.svg");
    background-size: 45px;
    z-index: 3;
  }

  .top-room .btn {
    left: auto;
    right: 0px;
  }
  .top-room .btn::after {
    content: "";
    position: absolute;
    right: auto;
    left: -webkit-calc(50% - 19px);
    left: calc(50% - 19px);
    top: -webkit-calc(50% - 88px);
    top: calc(50% - 88px);
    width: 38px;
    height: 38px;
    margin-top: 0px;
    border: none;
    border-top: 0 solid #fadb32; /*IE*/
    border-right: 2px solid #0a4c83;
    border-bottom: 2px solid #0a4c83;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
  }

  /*各種設備・サービス*/
  .top-service {
    overflow: hidden;
    padding-bottom: 80px;
  }

  /*
.top-service .bx-wrapper{
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	border: none;
	margin-bottom: 50px;
}
.top-service .bx-wrapper::before,
.top-service .bx-wrapper::after{
	content: "";
	background: rgba(255,255,255,0.8);
	width: 100%;
	height: 100%;
	position: absolute;
	left: -webkit-calc(50% + 512px);
	left: calc(50% + 512px);
	top: 0px;
	z-index: 2;
}
.top-service .bx-wrapper::after{
	left: auto;
	right: -webkit-calc(50% + 490px);
	right: calc(50% + 490px);
}
*/
  .top-service .swiper-container {
    padding: 0;
    overflow: hidden;
    margin-bottom: 50px;
  }
  .top-service .swiper-container::before,
  .top-service .swiper-container::after {
    content: "";
    background: rgba(255, 255, 255, 0.8);
    width: 100%;
    height: 100%;
    position: absolute;
    left: -webkit-calc(50% + 488px);
    left: calc(50% + 488px);
    top: 0px;
    z-index: 2;
  }
  .top-service .swiper-container::after {
    left: auto;
    right: -webkit-calc(50% + 488px);
    right: calc(50% + 488px);
  }
  .top-service-banner li {
    width: 335px !important;
    padding: 0 15px;
  }
  .top-service-banner li img {
    width: 100%;
  }

  .top-service > p {
    font-size: 1.8rem;
    line-height: 1.4em;
    padding: 0 10px;
    margin-bottom: 27px;
  }

  /*イベント・キャンペーン*/
  .top-event {
    overflow: hidden;
  }
  .top-event .swiper-container {
    padding: 0 0px 74px;
    overflow: hidden;
  }
  .top-event .swiper-container::before,
  .top-event .swiper-container::after {
    content: "";
    background: rgba(255, 255, 255, 0.8);
    width: 100%;
    height: 100%;
    position: absolute;
    left: -webkit-calc(50% + 512px);
    left: calc(50% + 512px);
    top: 0px;
    z-index: 2;
  }
  .top-event .swiper-container::after {
    left: auto;
    right: -webkit-calc(50% + 512px);
    right: calc(50% + 512px);
  }
  .top-event-list {
    margin-left: -webkit-calc(50% - 12px);
    margin-left: calc(50% - 12px);
  }
  .top-event .swiper-slide {
    width: 512px;
    padding-left: 25px;
  }
  .top-event .swiper-slide img {
    width: 100%;
  }
  .top-event .swiper-container .swiper-pagination {
    bottom: 24px;
  }
  .top-event .swiper-container .swiper-pagination-bullet {
    margin: 0 6px;
    width: 10px;
    height: 10px;
  }
  .top-event .swiper-button-prev,
  .top-event .swiper-button-next {
    top: 42%;
  }
  .top-event .btn {
    width: 480px;
    height: 60px;
    font-size: 2rem;
    line-height: 60px;
    margin: 0 auto 60px;
  }
  .top-banner-list {
    padding: 0 20px 70px;
    letter-spacing: -0.4em;
    text-align: center;
  }
  .top-banner-list li {
    display: inline-block;
    margin-bottom: 15px;
    vertical-align: top;
    margin: 0 10px 20px;
  }
  .top-event-list-txt {
    padding: 0 60px;
    max-width: 1000px;
    margin: 0 auto 40px;
  }
  .top-event-list-txt li a {
    display: flex;
    margin-bottom: 5px;
  }
  .top-event-list-txt__label {
    margin-right: 20px;
    width: 65px;
    background-color: #5482a8;
    color: #fff;
    font-weight: 700;
    flex-shrink: 0;
    height: fit-content;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .top-event-list-txt__date {
    margin-right: 20px;
  }

  /***********************************************************
* ご利用シーン 【100】～【106】
***********************************************************/
  /*一覧*/
  .scene-txt {
    background: url("../img/stripe_gray.png");
    background-size: 8px;
    padding: 75px 0 100px;
  }
  .scene-txt p {
    font-size: 1.8rem;
    line-height: 1.7em;
  }

  .scene-list {
    width: 980px;
    margin: -65px auto 0;
    padding-bottom: 60px;
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .scene-list li {
    width: 50%;
    padding: 0 20px 55px 0;
  }
  .scene-list li:nth-child(2n) {
    padding: 0 0 55px 20px;
  }
  .scene-list li a.hover {
    overflow: visible;
  }
  .scene-list li figure {
    float: none;
    width: 100%;
    padding-left: 20px;
  }
  .scene-list li figure::before {
    top: 20px;
    width: -webkit-calc(100% - 20px);
    width: calc(100% - 20px);
  }
  .scene-list li .info {
    width: 100%;
    margin-top: 0px;
  }
  .scene-list li .title {
    margin-bottom: 15px;
    padding: 11px 48px 11px 20px;
    font-size: 2.6rem;
    line-height: 1.4em;
    overflow: visible;
    width: -webkit-calc(100% - 70px);
    width: calc(100% - 70px);
  }
  .scene-list li .title::after {
    right: 20px;
    width: 12px;
    height: 12px;
    margin-top: -12px;
  }
  .scene-list li .txt {
    font-size: 1.6rem;
    line-height: 1.6em;
    padding: 0;
  }
  /*詳細*/
  .scene-head {
    width: 980px;
    margin: 0 auto;
  }
  .scene-head img {
    max-width: 100%;
  }
  .scene-head p {
    padding: 15px 0 25px;
    font-size: 1.8rem;
    line-height: 1.8em;
    font-weight: bold;
    text-align: center;
  }
  .scene-pickup {
    background: url("../img/stripe_yellow.png");
    background-size: 8px;
    padding: 40px 0 50px;
  }
  .scene-pickup .title {
    font-size: 2.8rem;
    line-height: 1em;
    margin-bottom: 40px;
  }
  .scene-pickup .box {
    padding: 30px 30px 30px 40px;
  }
  .scene-pickup .box .info {
    display: flex;
		justify-content: center;
		gap:2rem;
  }
  .scene-pickup .box .ttl {
    display: inline-block;
    background: #fd6103;
    font-size: 2.4rem;
    line-height: 1.4em;
    color: #fff;
    padding: 0.5rem 1em;
    margin: 10px 0;
  }
  .scene-pickup .box .info .ttl span {
    display: inline;
    background: none;
    margin-bottom: 0px;
    padding: 0;
  }
  .scene-pickup .box .info p {
    width: 50%;
    font-size: 1.6rem;
    line-height: 1.875em;
  }
  .scene-pickup .box .img {
    display: block;
    width: 35%;
  }
  .scene-pickup .box .img .bg {
    padding: 40px 0;
  }
  .scene-pickup .box .img .bg img {
    width: 96px;
    margin-bottom: 5px;
  }
  .scene-pickup .box .img .bg p {
    font-size: 1.8rem;
    line-height: 1em;
    width: 100%;
    text-align: center;
  }
  .btn-yellow.family {
    margin: 20px 0 0;
  }
  #scene-room {
    padding-bottom: 60px;
  }
  #scene-room .store-room {
    padding: 30px 0 40px;
  }
  .br_sp{
    display: none;
  }
  
  /* 休暇シーン */
  .vacation_scene{
    padding-bottom: 5vw;
  }
  .vacation_scene .info {
    width: 100%;
  }
  .vacation_scene .info p{
    width: 980px;
    margin: 2rem auto;
    font-size: 1.8rem;
  }
  .vacation_scene .wrap{
    background-color: #fff;
    color: #333;
  }
  .vacation_img1{
    width: 980px;
    margin: 0 auto;
    display: block;
  }
  .family_karaoke{
    padding: 2.86vw 0;
  }
  .family_karaoke .box{
    width: 980px;
    margin: 0 auto;
  }
  .karaoke_taikai img{
    width: 680px;
    margin: 0;
  }
  .karaoke_taikai p {
    text-align: center;
    font-size: 1.8rem;
    margin-top: 15px;
  }
  .family_karaoke .box .box_content img{
    display: block;
    width: 100%;
  }
  .family_karaoke .box .box_content p {
    font-size: 1.8rem;
  }
  .vacation_headline{
    position: relative;
    background: none;
    padding: 0;
    font-size: 2.8rem;
    line-height: 39px;
    font-weight: bold;
    margin: 0 auto;
    min-width: 980px;
    text-align: center;
  }
  .vacation_headline::before {
    content: "";
    background: #0a4c83;
    width: -webkit-calc(100% - 80px);
    width: calc(100% - 80px);
    height: 100%;
    position: absolute;
    left: 40px;
    top: 0px;
    z-index: 0;
  }
  .vacation_headline .span_icon{
    position: relative;
    display: block;
    background: url(../svg/pattern_icon.svg) 40px 0px no-repeat;
    background-size: 80px;
    padding: 21px 80px 20px 80px;
  }
  .vacation_headline-s{
    position: relative;
    background: url(../img/stripe_gray.png);
    background-size: 8px;
    padding: 0.7em 15px;
    font-size: 1.8rem;
    line-height: 1.4em;
    color:#333;
    max-width: 1860px;
    width: 100%;
  }
  /* よくある質問 */
  .family_room_faq {
    margin-top: 55px;
      margin: 0 auto;
  }
  .family_room_faq .faq-list{
    padding: 0;
  }
  .family_room_faq .faq-list li{
    border-top:none;
    border-bottom: 1px solid #d5d5d5;
  }
  /* お客様の声 */
  .customer_voice{
    margin-top: 55px;
  }
  .container.right {
    width: 980px;
    margin: 0 auto;
  }
  .container.left{
    width: 980px;
    margin: 0 auto;
  }
  
  /***********************************************************
  * 学生利用シーン
  ***********************************************************/
  .seane-freetime-top{
    background-image: url(../../scene/images/school_bg_pc.png);
    padding: 55px 0;
  }
  .seane-freetime-top .freetime-top-title{
    font-size: 5rem;
    line-height: 8rem;
  }
  .seane-freetime-top .freetime-top-title span{
    font-size: 6.5rem;
  }
  .seane-freetime-top p{
    text-align: center;
    font-size: 1.8rem;
  }
  .btn-blue.freetime{
    width: 480px;
    max-width: 100%;
    display: inline-block;
    height: 60px;
    margin: 0 auto 40px;
    font-size: 2rem;
    line-height: 60px;
    white-space: nowrap;
    padding: 0 2em;
  }

  .freetime-top-point {
    display: flex;
      flex-wrap: wrap;
      justify-content: center; /* 中央に配置 */
      max-width: 900px; /* 親要素の最大幅を設定 */
    margin: 3rem auto 0;
    }
    .freetime-top-point li {
    flex-basis: 350px; /* 各要素の基準となる幅 */
      flex-grow: 1; /* 余ったスペースを埋めるように幅を広げる */
      margin: 10px; /* 要素の間に均等な余白を確保 */
    }
    .freetime-top-point li p{
    font-size: 2.5rem;
    }
  .freetime-top-point li img{
    width: 100%;
  }
  .freetime-top-img{
    margin:2rem auto;
    width: 980px;
  }
  .freetime-top-img{
    margin: 3rem auto 4rem;
  }
  .freetime-box{
    width: 980px;
      margin: 0 auto;
    padding: 3rem 0;
  }
  .freetime-box p{
    font-size: 1.8rem;
  }
  .freetime-note{
    font-size: 1.4rem !important;
    margin-bottom: 3rem;
  }
  .freetime-time{
    display: flex;
    align-items: flex-end;
    gap: 2rem;
    margin:3rem auto;
  }
  .freetime-time img{
    width: 45%;
    height: auto;
    display: block;
    margin: 0 auto;
  }
  .utiage-wrap{
    width: 980px;
    margin: 0 auto 55px;
  }
  .utiage-wrap img{
    margin-bottom: 4rem;
  }
  .utiage-title{
    font-size:1.8rem;
    padding: 1.5rem 0;
    margin: 0;
  }
  .store-room.freetime li p{
    font-size: 1.8rem;
    text-align: left;
  }
  .course-box figure img {
    max-width: 520px;
    width: 100%;
  }
  .store-room.freetime{
    padding: 0 0 40px !important;
  }
  .store-room.freetime li{
    padding: 0;
  }
  .store-room.freetime .course-box figure img {
    max-width: 520px;
    width: 100%;
  }
  .student-service-list{
    width: 980px;
      margin: 0 auto 1rem;
      padding: 2rem;
  }
  .student-service-list li{
    margin: 1rem 0;
  }
  .student-service-list li p{
    font-size: 1.8rem;
  }
  .family_room_faq.student{
    padding-bottom: 55px;
  }

   /***********************************************************
  * スポーツ観戦
  ***********************************************************/
  .sports-title img {
    width: 40%;
  }

  .sports-title h2 {
    font-size: 3rem;
    color: #2C4198;
  }

  .sports-wrapper {
    display: flex;
    justify-content: center;
    width: 80%;
    /* 必要に応じて幅を調整 */
    margin: 2rem auto;
    gap: 5rem;
    flex-wrap: wrap;
  }

  .sports-box {
    padding: 3rem 4rem;
    min-width: 0;
    flex: 1 1 calc(50% - 1rem);
    /* 子要素の幅を親要素に応じて可変にする */
    max-width: 500px;
    /* 子要素の最大幅を設定 */
    box-sizing: border-box;
    /* パディングを含めたサイズ計算 */
    text-align: center;
  }

  .sports-box figure {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    margin: 0 auto;/
  }

  .sports-box p {
    text-align: center;
    font-size: 1.6rem;
  }

  .sports-box h3 {
    font-size: 2.2rem;
  }

  .sports-wrapper .sports-box:nth-of-type(1) {
    background-color: #EFF6FF;
    color: #2C4198;
  }

  .sports-wrapper .sports-box:nth-of-type(2),
  .sports-wrapper+.sports-wrapper .sports-box:nth-of-type(1) {
    background-color: #FEFCE8;
    color: #e95600;
  }

  .sports-wrapper+.sports-wrapper .sports-box:nth-of-type(2) {
    background-color: #EFF6FF;
    color: #2C4198;
  }

  .sports-wrapper .sports-box:nth-of-type(1) h3.sports-point::before,
  .sports-wrapper+.sports-wrapper .sports-box:nth-of-type(2) h3.sports-point::before {
    content: '';
    display: inline-block;
    background-image: url('../../scene/images/megafonn_icon_blue.png');
    background-size: contain;
    background-repeat: no-repeat;
    width: 3rem;
    height: 2rem;
    margin-right: 0.5rem;
  }

  .sports-wrapper .sports-box:nth-of-type(2) h3.sports-point::before,
  .sports-wrapper+.sports-wrapper .sports-box:nth-of-type(1) h3.sports-point::before {
    content: '';
    display: inline-block;
    background-image: url('../../scene/images/megafonn_icon_orange.png');
    background-size: contain;
    background-repeat: no-repeat;
    width: 3rem;
    height: 2rem;
    margin-right: 0.5rem;
  }

  .sports-wrapper .sports-box h3.sports-point {
    margin-top: 1rem
  }

  .sonota-osusume {
    width: 80%;
    margin: 6rem auto 0;
    min-width: 980px;
  }

  .osusume-title {
    width: 70%;
    min-width: 980px;
  }

  .features-container {
    width: 70%;
    margin: 0.9375rem auto 3.4375rem;
    padding: 1.875rem 1.25rem 0;
    min-width: 980px;
  }
  .feature-box{
    display: block;
    padding:1.8rem 1.5rem;
  }
  .icon-wrapper{
    margin-bottom: 1.7rem;
  }
  .icon-image{
    width: 100%;
  }
  .etc-text {
    align-self: end;

  }
  .sonota-osusume .btn-yellow{
    width: 580px;
    line-height: 35px;
    padding: 3.2rem 0 0;
  }
  .sonota-osusume .btn-yellow span{
    margin-left: 1rem;
  }
  .sports-dazn {
    margin: 0 0 6rem;
  }

  .sports-dazn img {
    margin-bottom: 55px;
  }

  .sports-box figure img {
    width: 100%;
    /* 親要素の幅に合わせる */
    height: 100%;
    /* 親要素の高さに合わせる */
    object-fit: contain;
  }

  .sports-wrapper:nth-of-type(1) .sports-box:nth-child(1) figure img {
    width: 250px;
    object-fit: contain;
  }

  .btn-dazn {
    font-size: 2rem;
    margin: 0 auto 55px;
  }

  /***********************************************************
 * 楽器練習シーン
 ***********************************************************/
 .musical-page .musical-container {
  max-width: 1280px; 
  padding-left: 2rem;
  padding-right: 2rem;
}
.musical-page .musical-hero {
  padding: 6rem 0;
}
.musical-page .musical-badge {
  font-size: 2rem;
  padding: 0.5rem 1.7rem;
}
.musical-page .musical-hero-title {
  font-size: 5rem;
}
.musical-page .musical-hero-desc {
  font-size: 2rem;
}
.musical-page .musical-lead-text .musical-text-body {
  text-align: center;
}
.musical-page .musical-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
.musical-page .musical-grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
.musical-page .musical-image-placeholder-wrapper {
  display: flex;
  gap: 3rem;
}
.musical-page .musical-image-placeholder {
  height: 40rem;
}
.musical-page .musical-heading-bar h2 {
  font-size: 2.8rem;
}
.musical-page .musical-grid-2-equip {
  grid-template-columns: 1fr 1fr;
}
.musical-page .musical-equip-text { order: 1; }
.musical-page .musical-equip-image { order: 2; }
.musical-page .musical-grid-2-session {
  flex-direction: row;
}
.musical-page .room-tag::before {
  font-size: 2rem;
  padding: 1.8rem;
}
.musical-page .room-content {
  padding: 2rem 2.5rem;
}
.musical-page .room-content {
		padding: 2rem 2.5rem;
	}
.musical-page .room-content h3 {
		font-size: 2.4rem;
}
.musical-page .room-content p {
  font-size: 1.6rem;
}
.musical-page .musical-note-right {
  font-size: 1.4rem;
}
.musical-page .musical-grid-2-service {
  grid-template-columns: 1fr 1fr;
}
.musical-page .musical-service-list p {
  font-size: 1.4rem;
}

  /***********************************************************
* ルーム紹介 【200】～【208】
***********************************************************/
  /*一覧*/
  .room-txt {
    background: url("../img/stripe_gray.png");
    background-size: 8px;
    padding: 75px 0 100px;
  }
  .room-txt p {
    font-size: 1.8rem;
    line-height: 1.7em;
  }

  .room-list {
    width: 980px;
    margin: -65px auto 0;
    padding-bottom: 60px;
  }
  .room-list li {
    padding-bottom: 60px;
    margin-bottom: 0px;
  }
  .room-list li a.hover {
    overflow: visible;
  }
  .room-list li figure {
    float: left;
    width: 600px;
    padding-left: 20px;
  }
  .room-list li:nth-child(2n) figure {
    float: right;
    padding: 0 20px 0 0;
  }
  .room-list li figure::before {
    top: 20px;
    width: -webkit-calc(100% - 20px);
    width: calc(100% - 20px);
  }
  .room-list li:nth-child(2n) figure::before {
    left: 20px;
  }

  .room-list li .info {
    width: 380px;
    margin-top: 50px;
  }
  .room-list li:nth-child(2n) .info {
    float: left;
  }
  .room-list li .info .\33 60 {
    padding: 0 15px;
    margin-bottom: 8px;
    text-align: left;
  }
  .room-list li .info .\33 60 img {
    width: 65px;
  }
  .room-list li .title {
    margin-bottom: 15px;
    padding: 8px 48px 8px 38px;
    font-size: 2.6rem;
    line-height: 1.2em;
    overflow: visible;
    width: -webkit-calc(100% + 20px);
    width: calc(100% + 20px);
    margin-left: -20px;
  }
  .room-list li:nth-child(2n) .title {
    margin-left: 0px;
    padding: 11px 48px 11px 18px;
  }
  .room-list li .title::after {
    width: 12px;
    height: 12px;
    margin-top: -12px;
  }
  .room-list li .txt {
    font-size: 1.6rem;
    line-height: 1.6em;
    padding: 0 20px;
  }

  /*詳細*/
  .room-detail {
    width: 776px;
  }
  .room-title {
    font-size: 2.8rem;
    line-height: 1.2em;
    margin-bottom: 20px;
  }

  .room-detail .swiper-container {
    padding-bottom: 35px;
    margin-bottom: 5px;
    position: relative;
  }
  .room-detail .swiper-container::before,
  .room-detail .swiper-container::after {
    display: none;
  }
  .room-detail .swiper-button-prev,
  .room-detail .swiper-button-next {
    margin-top: -45px;
  }
  .room-detail .swiper-button-prev::after {
    left: 1px;
    width: 20px;
    height: 20px;
    margin-top: -18px;
    border-left: 4px solid #fff;
    border-bottom: 4px solid #fff;
  }
  .room-detail .swiper-button-next::after {
    right: 1px;
    width: 20px;
    height: 20px;
    margin-top: -18px;
    border-right: 4px solid #fff;
    border-bottom: 4px solid #fff;
  }
  .room-visual li {
    width: 100%;
    padding: 0 48px;
  }
  .room-visual li img {
    width: 100%;
  }
  .room-detail .txt {
    font-size: 1.6rem;
    line-height: 1.6em;
    margin-bottom: 2em;
    padding: 0;
  }
  .room-detail.room-detail-center .txt {
    margin-top: 15px;
  }
  .room-detail .link {
    padding: 0 48px;
    letter-spacing: -0.4em;
    text-align: center;
  }
  .room-detail .link li {
    display: inline-block;
    width: 50%;
    letter-spacing: normal;
    padding: 0 15px 15px 0;
  }
  .room-detail .link li:nth-child(2n) {
    padding: 0 0 15px 15px;
  }
  .room-detail .link .btn-yellow {
    margin-bottom: 0px;
    height: 60px;
    font-size: 1.6rem;
    line-height: 60px;
    min-width: 100%;
  }

  /***********************************************************
* コース紹介 【300】～【314】
***********************************************************/
  /*一覧*/
  .service-recommend {
    min-width: 980px;
    padding: 30px 0px 5px;
    text-align: center;
  }
  .service-recommend .swiper-container {
    padding-bottom: 70px;
  }
  .service-recommend .swiper-container::before,
  .service-recommend .swiper-container::after {
    content: "";
    background: rgba(255, 255, 255, 0.5);
    width: 100%;
    height: 100%;
    position: absolute;
    left: -webkit-calc(50% + 345px);
    left: calc(50% + 345px);
    top: 0px;
    z-index: 2;
  }
  .service-recommend .swiper-container::after {
    left: auto;
    right: -webkit-calc(50% + 345px);
    right: calc(50% + 345px);
  }
  .service-recommend .swiper-container .swiper-pagination {
    bottom: 40px;
  }
  .service-recommend .swiper-container .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 6px;
  }
  .service-recommend .swiper-container .swiper-pagination-bullet-active {
    background: #494949;
  }
  .service-recommend .swiper-button-prev,
  .service-recommend .swiper-button-next {
    top: -webkit-calc(50% - 35px);
    top: calc(50% - 35px);
  }
  /*注意*/
  .service-attention {
    padding: 40px 1em 50px;
  }
  .service-attention p {
    font-size: 1.4rem;
    line-height: 2em;
  }

  .recommend-list {
    padding-bottom: 15px;
  }
  .recommend-list li {
    width: 690px;
    margin-bottom: 0px;
  }
  .recommend-list li img {
    max-width: 100%;
  }

  /*詳細*/
  .service-head {
    position: relative;
    padding-bottom: 0px;
  }
  .service-head .head {
    position: relative;
    min-width: 884px;
    margin: 0 48px;
    background: rgba(36, 176, 234, 0.9);
    padding: 30px 0 15px;
    z-index: 2;
  }
  .service-head .head .title {
    font-size: 3.6rem;
    line-height: 1.3em;
    margin-bottom: 20px;
  }
  .service-head .head .tag li {
    font-size: 1.8rem;
    margin: 0 4px 10px;
    padding: 9px 8px 10px;
  }
  /*.service-head .head .limited{
		padding: 0.6em 1em;
		font-size: 1.8rem;
		line-height: 1em;
	}
	.service-head .head .time{
		font-size: 1.8rem;
		line-height: 1em;
	}
	.service-head .head .num{
		padding: 0.5em 1em;
		font-size: 1.8rem;
		line-height: 1em;
	}*/

  .service-visual > li {
    width: 980px !important;
  }
  .service-head .swiper-container {
    min-width: 980px;
    margin-top: -35px;
  }
  .service-head .swiper-container::before,
  .service-head .swiper-container::after {
    content: "";
    position: absolute;
    right: -webkit-calc(50% + 490px);
    right: calc(50% + 490px);
    top: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 2;
  }
  .service-head .swiper-container::before {
    right: auto;
    left: -webkit-calc(50% + 490px);
    left: calc(50% + 490px);
  }

  .service-head .swiper-button-prev {
    left: auto;
    right: -webkit-calc(50% + 530px);
    right: calc(50% + 530px);
  }
  .service-head .swiper-button-next {
    right: auto;
    left: -webkit-calc(50% + 530px);
    left: calc(50% + 530px);
  }

  .service-head .info {
    padding: 15px 10px 0;
  }
  .service-head .info p {
    font-size: 2rem;
    line-height: 1.6em;
  }
  .service-head .add-service {
    font-weight: bold;
    padding: 0.2em 1.5em;
    margin-top: 25px;
  }
  .service-head .add-service + .price-box {
    padding-top: 30px;
  }
  .service-head .price-box {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    padding: 30px 0 20px;
  }
  .service-head .price-box p {
    font-size: 2.2rem;
    line-height: 1em;
  }
  .service-head .price-box > p {
    margin: 0 12px;
  }
  .service-head .price-box .price {
    margin-top: 0px;
  }
  .service-head .price-box .price em {
    font-size: 4.8rem;
    line-height: 1em;
  }
  .service-head .price-box .discount {
    padding: 10px 15px;
    margin-top: 0px;
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-pack: center;
  }
  .service-head .price-box .discount span {
    font-size: 2rem;
    line-height: 1em;
  }
  .service-head .price-box .discount span:first-child {
    padding-right: 25px;
  }
  .service-head .price-box .discount span:first-child::after {
    right: 0;
    bottom: auto;
    top: 50%;
    width: 0px;
    margin: 0;
    border: 8px solid transparent;
    border-left: 12px solid #da1c1c;
  }
  .service-head .price-box .discount .price {
    display: block;
  }
  .service-head .attention,
  .service-menu .attention {
    font-size: 1.6rem !important;
    line-height: 2em !important;
    margin-bottom: 40px;
    padding: 30px;
  }
  .service-head .attention a,
  .service-menu .attention a {
    font-size: 1.6rem;
    line-height: 2em;
  }
  /*メニュー*/
  .service-menu {
    padding-bottom: 40px;
  }
  .service-menu .box {
    margin-top: -40px;
    padding: 40px 0 0;
    background: url("../img/stripe_gray.png");
    background-size: 8px;
    min-width: 980px;
  }
  .service-menu .box ul {
    width: 730px;
    margin: 0 auto;
    padding: 15px 0 30px;
  }
  .service-menu .box ul li {
    position: relative;
    font-size: 1.8rem;
    line-height: 2em;
    padding-left: 1.5em;
  }
  .service-menu .btn-area {
    padding: 40px 0px 0;
  }
  .service-menu .info {
    padding: 30px 10px 0;
  }

  /*特典*/
  .service-special {
    padding-bottom: 50px;
  }
  .service-special .box {
    min-width: 980px;
    margin-top: -40px;
    padding: 40px 0 0;
    background: url("../img/stripe_yellow.png");
    background-size: 8px;
  }
  .service-special ul {
    width: 730px;
    padding: 45px 0;
    margin: 0 auto;
  }
  .service-special li {
    padding: 0.3em 0.5em;
    padding-left: 115px;
  }
  .service-special li,
  .service-special li * {
    font-size: 1.8rem;
    line-height: 2em;
    font-weight: normal;
  }
  .service-special li span {
    width: 100px;
  }
  /*注意*/
  .service-attention .title {
    font-size: 2rem;
    line-height: 1em;
    margin-bottom: 1.2em;
  }

  /*飲み放題詳細*/
  .unlimited-detail {
    width: 715px;
  }

  /*202006改修*/
  #scene-kids-service ul {
    padding-bottom: 55px;
    margin: 40px auto 0;
    width: 980px;
  }
  #scene-kids-service ul li {
    margin: 0 auto;
    width: 470px;
  }
  #scene-kids-service ul li figure {
    margin: 0 auto 15px;
  }
  #scene-kids-service ul li figure img {
    max-width: 100%;
  }
  #scene-kids-service .btn-yellow {
    margin: 0 0 55px;
  }
  #scene-room-facilities ul {
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-pack: center;
    margin: 30px auto 60px;
    width: 980px;
  }
  #scene-room-facilities ul li {
    margin: 0 auto 15px;
  }
  ul.scene-img-txt-flex {
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-pack: center;
    margin: 40px auto 60px;
    width: 980px;
  }
  ul.scene-img-txt-flex li {
    margin: 0 auto 30px;
    width: 280px;
  }
  ul.scene-img-txt-flex li img {
    max-width: 100%;
  }
  ul.scene-img-txt-flex li p {
    font-size: 1.8rem;
    line-height: 1.777em;
    margin: 15px auto 0;
    text-align: center;
  }
  #scene-campaign .course-box {
    margin-top: 40px;
  }
  #scene-platinum-member {
    margin: 0 auto 30px;
  }
  #scene-platinum-member .platinum-member-box {
    margin: 40px auto 60px;
    width: 540px;
  }
  #scene-platinum-member .platinum-member-box img {
    max-width: 100%;
  }
  #scene-platinum-member .platinum-member-box p {
    margin: 10px 0 60px;
  }
  #scene-platinum-member,
  #scene-use-musical {
    margin: 0 auto 30px;
  }
  #scene-platinum-member .platinum-member-box,
  #scene-use-musical .scene-use-musical-box {
    margin: 40px auto 60px;
    width: 540px;
  }
  #scene-platinum-member .platinum-member-box img,
  #scene-use-musical .scene-use-musical-box img {
    max-width: 100%;
  }
  #scene-platinum-member .platinum-member-box p,
  #scene-use-musical .scene-use-musical-box p {
    font-size: 1.8rem;
    line-height: 1.777em;
    margin: 10px 0 60px;
  }
  .scene-img-one {
    margin: 40px auto 60px;
  }

  /***********************************************************
* 検索画面 【400】
***********************************************************/
  #search-box {
    padding: 55px 15px 0;
  }
  #search-box .box {
    border: none;
    margin-bottom: 35px;
  }
  #search-box .box:last-child {
    margin-bottom: 0px;
  }
  #search-box .title {
    background: none;
    padding: 0;
    font-size: 2.8rem;
    line-height: 1em;
    cursor: default;
    margin-bottom: 18px;
  }
  #search-box .sub-title {
    display: none;
  }
  #search-box .title::after,
  #search-box .sub-title::after {
    display: none;
  }
  #search-box .roomtype-title {
    font-size: 1.6rem;
    color: #f96900;
    margin-top: 20px;
    margin-bottom: 13px;
    border-top: none;
    padding: 0;
  }
  #search-box .roomtype-title:nth-child(1) {
    margin-top: 0px;
  }

  #search-box .sub-box,
  #search-box .radio-box,
  #search-box .check-box,
  #search-box .input-box {
    display: block;
  }
  #search-box .sub-box .radio-box,
  #search-box .sub-box .check-box {
    display: none;
  }
  #search-box .sub-box .check-box:nth-child(3) {
    /*	display: block; */
  }

  #search-box .radio-box,
  #search-box .check-box,
  #search-box .input-box {
    border: 1px solid #d5d5d5;
    padding: 25px 25px 15px;
  }

  /*チェックボックス*/
  #search-box .radio-box label span,
  #search-box .check-box label span {
    display: inline-block;
    border-top: none;
    font-size: 1.6rem;
    line-height: 1.3em;
    padding: 0 24px 2px 28px;
    margin-bottom: 10px;
    color: #333;
  }
  #search-box .radio-box label span::before,
  #search-box .check-box label span::before {
    left: 0px;
    top: 50%;
    width: 16px;
    height: 16px;
    border: 2px solid #d5d5d5;
  }
  /*チェック後*/
  #search-box .radio-box label input[type="radio"]:checked + span,
  #search-box .check-box label input[type="checkbox"]:checked + span {
    background: none;
    color: #333;
    font-weight: bold;
  }
  #search-box .radio-box label input[type="radio"]:checked + span::before,
  #search-box .check-box label input[type="checkbox"]:checked + span::before {
    border: 2px solid #f96900;
  }
  #search-box .check-box label input[type="checkbox"]:checked + span::after {
    left: 4px;
  }
  #search-box .radio-box label input[type="radio"]:checked + span::after {
    left: 5px;
    width: 10px;
    height: 10px;
  }
  #search-box label input {
    display: none;
  }

  /*テキスト*/
  #search-box .input-box {
    padding: 25px;
  }
  #search-box .input-box input {
    max-width: 544px;
    height: 45px;
    font-size: 1.6rem;
    line-height: 45px;
    padding: 0 20px;
  }

  /*サブエリア*/
  .sub-area {
    width: -webkit-calc(100% + 8px);
    width: calc(100% + 8px);
    margin-left: -8px;
    letter-spacing: -0.4em;
  }
  .sub-area li {
    display: inline-block;
    width: 20%;
    padding: 0 0 10px 8px;
    letter-spacing: normal;
  }
  .sub-area li p {
    display: block;
    border: 3px solid #d3d3d3;
    font-size: 1.8rem;
    line-height: 44px;
    font-weight: bold;
    color: #0a4c83;
    text-align: center;
    cursor: pointer;
  }
  .sub-area li.active p {
    border: 3px solid #0a4c83;
  }

  /***********************************************************
* 検索結果画面 【401】
***********************************************************/
  .result-search {
    background: url("../img/stripe_nude.png");
    background-size: 8px;
    padding: 0 0 60px;
    min-width: 980px;
  }
  .result-search .wrap {
    padding: 0;
  }
  .result-title {
    background: #0a4c83;
    margin: 0 64px;
    padding: 17px 0 19px;
    font-size: 1.8rem;
    line-height: 1em;
  }
  .result-title #num {
    font-size: 2.8rem;
    line-height: 1em;
  }
  .search-word {
    font-size: 1.6rem;
    line-height: 1.6em;
    padding: 1.5em 0;
    text-align: center;
  }

  #result-list article {
    padding: 30px;
    margin-bottom: 10px;
  }

  #result-list article.slo-block > .text-box .title {
    display: flex;
    align-items: center;
  }

  #result-list article.slo-block.new > .text-box .title a {
    padding-right: 16px;
  }

  #result-list article.slo-block.renew > .text-box .title a {
    padding-right: 16px;
  }

  #result-list article.slo-block.new > .text-box .title::after {
    content: "NEW";
    width: 80px;
    height: 30px;
    background: #ec661b;
    color: #fff;
    font-size: 1.8rem;
    line-height: 30px;
    text-align: center;
  }

  #result-list article.slo-block.renew > .text-box .title::after {
    content: "ReNEW";
    width: 80px;
    height: 30px;
    background: #1991bd;
    color: #fff;
    font-size: 1.8rem;
    line-height: 30px;
    text-align: center;
  }

  #result-list .title {
    margin-bottom: 10px;
  }
  #result-list .title a {
    font-size: 2.6rem;
    line-height: 1.4em;
  }
  #result-list .title br {
    display: none;
  }
  #result-list .title a:hover {
    text-decoration: none;
  }
  #result-list .address {
    font-size: 1.6rem;
    line-height: 2em;
    margin-bottom: 6px;
  }
  #result-list .open {
    font-size: 1.6rem;
    line-height: 2em;
    margin-bottom: 6px;
    word-break: break-word;
  }
  #result-list .flex {
    display: flex;
  }
  #result-list .flex p:first-child {
    flex-shrink: 0;
  }
  #result-list .tel {
    font-size: 2rem;
    line-height: 1.3em;
    font-weight: bold;
    margin-bottom: 20px;
  }
  #result-list .tel img {
    width: 22px;
    margin-right: 5px;
  }

  #result-list .link-list {
    overflow: hidden;
  }
  #result-list .link-list img {
    width: 20px;
    vertical-align: middle;
    margin-top: -3px;
    margin-right: 3px;
  }
  #result-list .link-list li,
  #result-list .link-list li:nth-child(1) {
    float: left;
    width: 200px;
    height: 50px;
    padding: 0px;
    margin-right: 8px;
  }
  #result-list .link-list li a {
    display: block;
    background: #fadb32;
    height: 50px;
    font-size: 1.75rem;
    line-height: 50px;
  }
  #result-list .toggle-button {
    right: 30px;
    top: 30px;
    padding: 0;
  }
  #result-list .toggle-button::after {
    right: 24px;
    top: 50%;
    width: 20px;
    height: 20px;
    margin-top: -12px;
    border-right: 4px solid #0a4c83;
    border-bottom: 4px solid #0a4c83;
  }
  #result-list .toggle-button.open::after {
    top: 50%;
    width: 18px;
    height: 18px;
    margin-top: -32px;
  }

  #result-list .contents {
    padding: 30px 0 0;
  }
  #result-list .result-room-list {
    padding-bottom: 16px;
  }
  #result-list .result-room-list li {
    margin: 0 4px 4px 0;
    padding: 0.3em 0.8em 0.3em;
    font-size: 1.4rem;
    line-height: 1.5em;
    font-weight: normal;
  }
  #result-list .result-model-list {
    padding-bottom: 22px;
    width: 100%;
  }
  #result-list .result-model-list li {
    width: 147px;
    padding: 0;
    margin: 0 6px 6px 0;
  }
  #result-list .result-model-list li img {
    max-width: 100%;
  }
  #result-list .result-service-list {
    width: 100%;
  }
  #result-list .result-service-list li {
    width: 52px;
    padding: 0;
    margin: 0 5px 5px 0;
  }
  #result-list .result-service-list li img {
    height: auto;
    width: 100%;
  }

  /***********************************************************
* 店舗詳細 【403】
***********************************************************/
  /*ヘッド*/
  .store-head {
    top: 70px;
    background: rgba(0, 0, 0, 0.8);
    min-width: 980px;
    height: auto;
    padding-top: 0;
    padding-bottom: 10px;
  }
  .store-head .box {
    margin-bottom: 0px;
    height: auto;
    color: #fff;
    flex-direction: initial;
    display: flex;
    flex-direction: column;
  }
  .store-head .title {
    padding-top: 30px;
    font-size: 3rem;
    line-height: 1.2em;
  }
  .store-head .title br {
    display: none;
  }
  .store-head .pref {
    font-size: 3rem;
    line-height: 1.5em;
    font-weight: bold;
  }
  .store-head .access {
    padding: 0px;
    font-weight: bold;
    height: auto;
    font-size: 2.2rem;
    line-height: 1.5em;
  }
  .store-head .status {
    position: absolute;
    right: 30px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .store-head .status p {
    margin-right: 1em;
    font-size: 1.5rem;
    line-height: 1.5em;
    color: #fff;
  }
  .store-head .status .free {
    padding: 0.4em 2.5em;
  }

  /*ビジュアル*/
  .store-visual {
    /*position: relative;
	height: -webkit-calc(100% - 70px);
	height: calc(100% - 70px);
	height: -webkit-calc(100vh - 70px);
	height: calc(100vh - 70px);
	overflow: hidden;*/
    min-width: 980px;
    margin-top: 110px;
  }
  .store-visual .bg {
    /*top: 70px;
	height: -webkit-calc(100% - 70px);
	height: calc(100% - 70px);
	height: -webkit-calc(100vh - 70px);
	height: calc(100vh - 70px);
	background-position: center center;*/
  }
  .store-visual .swiper-slide {
    width: 1200px;
  }
  .store-visual .box {
    /*position: absolute;
	bottom: 30px;*/
    padding: 0;
    min-width: 980px;
  }
  .store-visual .box .visual-news-box {
    width: 700px;
    margin: 0 auto 30px;
  }
  .store-visual .box .visual-news-box .swiper-container {
    height: 50px;
    border-top: 1px dashed #fff;
    border-bottom: 1px dashed #fff;
  }
  .store-visual .box .visual-news-box a {
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    padding: 15px 0;
  }
  .store-visual .box .visual-news-box time {
    display: block;
    font-size: 1.4rem;
    line-height: 1em;
    margin-bottom: 0px;
    padding-right: 1.2em;
    white-space: nowrap;
  }
  .store-visual .box .visual-news-box p {
    display: block;
    font-size: 1.4rem;
    line-height: 1em;
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .store-visual .box > ul {
    width: 720px;
    margin: 40px auto 35px;
  }
  .store-visual .box > ul li {
    width: 50%;
    padding: 0 10px 20px;
  }
  .store-visual .box > ul li:nth-child(2) {
    padding: 0 10px 20px;
  }
  .store-visual .btn {
    position: relative;
    padding: 0;
    font-size: 1.8rem;
    line-height: 52px;
    border: 2px solid #fff;
  }
  .store-visual .btn img {
    position: absolute;
    left: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .store-visual .box ul li:nth-child(2) img {
    width: 30px;
  }
  .store-visual .tel {
    display: block;
    padding: 0;
    background: transparent;
    font-size: 1.4rem;
    line-height: 30px;
    border: none;
    color: #0a4c83;
  }
  .store-visual .tel span {
    display: inline-block !important;
    margin-right: 5px;
    vertical-align: middle;
  }
  .store-visual .tel em {
    display: inline-block !important;
    font-size: 3rem;
    line-height: 30px;
    font-weight: bold;
    vertical-align: middle;
  }
  .store-visual .tel img {
    display: none;
  }

  .store-visual a.scroll,
  .store-visual a.scroll::before {
    width: 50px;
    height: 50px;
  }
  .store-visual a.scroll {
    left: auto;
    right: 30px;
    bottom: 5px;
    position: absolute;
  }
  .store-visual .box .floating {
    width: 50%;
    right: 0px;
    padding-left: 158px;
  }

  #buttonContainer {
    padding: 0 10px;
  }
  .store-visual .reserve {
    padding: 8px 0;
    background: #e80b25;
    font-size: 1.8rem;
    line-height: 20px;
    text-align: center;
    color: #fff;
    width: 100%;
    height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
  }
  .store-visual .reserve:hover {
    opacity: 0.5;
  }
  .store-visual .reserve img {
    display: inline;
    width: 70px;
    margin-right: 10px;
  }

  .store-detail {
    min-width: 980px;
    padding-bottom: 50px;
  }

  .store-visual .update,
  .store-campaign .update {
    font-size: 14px;
  }

  /*マップ*/
  .map-area {
    padding: 25px 0 50px;
    background: url("../img/stripe_gray.png");
    background-size: 8px;
  }
  #map {
    width: 980px;
    height: 440px;
    margin: 0 auto;
  }

  /*情報*/
  .store-info {
    position: relative;
    margin-top: -25px;
    padding: 0 15px 65px;
    overflow: hidden;
  }
  .store-info::before {
    top: 25px;
    background: url("../img/stripe_nude.png");
    backgrouns-size: 8px;
  }
  .store-info ul {
    margin-bottom: 0px;
    padding: 0 15px 25px;
  }
  .store-info li {
    margin-bottom: 5px;
    color: #fff;
  }
  .store-info li p {
    font-size: 1.4rem;
    line-height: 1.4em;
    padding: 0.7em 1em;
  }
  .store-info li p:first-child {
    width: 6em;
    font-size: 2.4rem;
    line-height: 1em;
    padding: 1em 1em;
  }
  .store-info li p .parking_status {
  }
  .store-info li p .parking_status a {
    font-size: 2rem;
    padding: 5px;
    margin: 0 0 10px;
    vertical-align: middle;
  }
  .store-info li p .parking_status img {
    margin-left: 5px;
    width: 20px;
  }
  .store-info li p .parking_status span {
    font-size: 1.4rem;
  }
  .btn-line {
    width: 480px;
    height: 60px;
    font-size: 2rem;
    line-height: 60px;
    font-weight: bold;
    padding: 0;
    overflow: visible;
  }
  .btn-line img {
    position: absolute;
    top: -20px;
    left: 85px;
    width: 60px;
    margin-right: 0px;
    z-index: 2;
  }
  .btn-line::after {
    right: 15px;
    width: 10px;
    height: 10px;
    margin-top: -10px;
    border-right: 2px solid #0a4c83;
    border-bottom: 2px solid #0a4c83;
  }

  /*機種*/
  .store-model {
    width: 980px;
    display: block;
    padding: 30px 0 40px;
    letter-spacing: -0.4em;
    text-align: center;
    margin: 0 auto;
  }
  .store-model li {
    display: inline-block;
    width: 25%;
    padding: 0 10px 30px;
    letter-spacing: normal;
  }
  .store-model li:nth-child(2n) {
    padding: 0 10px 20px;
  }
  .store-model li img {
    max-width: 100%;
  }

  /*ルーム*/
  .store-room {
    display: block;
    letter-spacing: -0.4em;
    padding: 10px 0 30px;
    text-align: center;
  }
  .store-room li {
    display: inline-block;
    width: 232px;
    padding: 10px;
    vertical-align: top;
    letter-spacing: normal;
  }
  .store-room li a {
    display: block;
  }
  .store-room li figure {
    position: relative;
  }
  .store-room li img {
    max-width: 100%;
  }

  /*サービス*/
  .store-detail .service-list {
    padding: 15px 0 80px;
  }

  .store-box {
    padding-top: 25px;
    padding-bottom: 60px;
  }
  .store-box p {
    margin-bottom: 3em;
  }
  .store-box img {
    max-width: 100%;
  }
  /*キャンペーン*/
  .store-campaign {
    padding: 48px 0 63px;
  }
  .store-campaign .swiper-container::before,
  .store-campaign .swiper-container::after {
    content: "";
    background: rgba(255, 255, 255, 0.8);
    width: 100%;
    height: 100%;
    position: absolute;
    left: -webkit-calc(50% + 337px);
    left: calc(50% + 337px);
    top: 0px;
    z-index: 2;
  }
  .store-campaign .swiper-container::after {
    left: auto;
    right: -webkit-calc(50% + 337px);
    right: calc(50% + 337px);
  }
  .store-campaign ul li {
    width: 674px;
    padding: 0;
  }
  .store-campaign ul li img {
    max-width: 100%;
  }

  /*インフォメーション*/
  .store-information {
    width: 730px;
    margin: 0 auto 80px;
    padding-top: 30px;
  }
  .store-information li {
  }
  .store-information li a {
    display: block;
    padding: 20px 0;
    color: #333;
  }
  .store-information li time {
    font-size: 1.4rem;
  }
  .store-information02 {
    width: 730px;
    margin: 30px auto 0;
    padding: 20px;
  }

  /*お客様の声・X*/
  .store-reviews__ttl {
    color: #ffffff;
    font-size: large;
    font-weight: bold;
    padding: 0.5em;
    margin: 1em 0.5em 0.5em;
    background: radial-gradient(
          white,
          rgba(255, 255, 255, 0.2) 2px,
          transparent 40px
        )
        0px 0px / 550px 550px,
      radial-gradient(white, rgba(255, 255, 255, 0.15) 1px, transparent 30px)
        40px 60px / 350px 350px,
      radial-gradient(white, rgba(255, 255, 255, 0.1) 2px, transparent 40px)
        130px 270px / 250px 250px,
      radial-gradient(
          rgba(255, 255, 255, 0.4),
          rgba(255, 255, 255, 0.1) 2px,
          transparent 30px
        )
        70px 100px / 150px 150px #fff100;
    animation: 1000s linear 0s infinite normal none running animation_006;
    vertical-align: middle;
    text-align: center;
    span {
      color: #000000;
    }
  }
  .store-reviews__img {
    display: flex;
    flex-direction: row;
    max-width: 1200px;
    margin: 20px auto 0;
    div {
      width: calc(100% / 2);
      img {
        width: 100%;
        height: fit-content;
        object-fit: contain;
      }
    }
  }
  .store-x {
    width: 100%;
    margin: 0 auto 30px;
    a {
      overflow-y: auto;
    }
  }

  /* 料金注記 */
  .price-notice {
    position: relative;
    width: 980px;
    margin: 0 auto;
    padding: 20px 0;
  }

  /* SNS */
  .sns-box {
    border: 4px solid #d8d8d8;
    padding: 25px 0;
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-pack: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .sns-box .title {
    margin-bottom: 0px;
    font-size: 1.8rem;
    line-height: 20px;
  }
  .sns-box ul {
    padding: 0 20px;
  }
  .sns-box ul li {
    margin: 0 5px;
  }
  .sns-box .fb_iframe_widget span {
    vertical-align: top !important;
    padding-top: 1px;
  }

  /*料金表*/
  #price-area {
  }
  .price-title {
    width: 950px;
    padding: 34px 90px 33px 100px;
    margin: 0 auto 30px;
    font-size: 2.4rem;
    line-height: 1.4em;
  }
  #banner-upper-area + .price-title,
  #price-area .price-title:first-child {
    margin-top: 30px;
  }
  .price-title::before {
    left: 30px;
    width: 48px;
    height: 48px;
    background: url("../svg/noon.svg") center center no-repeat;
    background-size: 100%;
  }
  .price-title.night_weekday_::before,
  .price-title.night_weekend_::before {
    background: url("../svg/night.svg") center center no-repeat;
    background-size: 100%;
  }
  .price-title::after {
    right: 35px;
    width: 24px;
    height: 24px;
    background: url("../svg/plus.svg") center center no-repeat;
    background-size: 100%;
  }
  #price-area .price-table {
    padding: 0px 10px 70px;
    width: 970px;
    margin: 0 auto;
  }
  #price-area .price-table div {
    padding-bottom: 25px;
  }
  #price-area table thead th {
    border: 3px solid #0a4c83;
    font-size: 2.4rem;
    letter-spacing: -1px;
    line-height: 1.4em;
    padding: 0.5em 0;
  }
  #price-area table thead th.rowno {
    padding: 2.5em 0;
    width: 40%;
  }
  #price-area table thead th.room {
    font-size: 3.6rem;
  }
  #price-area table thead th.student em {
    font-size: 4.2rem;
    line-height: 1em;
  }
  #price-area table thead th.user em {
    font-size: 4.2rem;
    line-height: 1em;
  }
  #price-area table thead th span {
    font-size: 1.2rem;
    line-height: 1.2em;
    font-weight: normal;
  }
  #price-area table thead th em {
    font-size: 3.8rem;
  }
  #price-area table tbody th {
    border: 3px solid #0a4c83;
    font-size: 2rem;
    line-height: 1.4em;
  }
  #price-area table tbody tr:nth-child(2) th {
    border-bottom: 3px solid #0a4c83;
  }
  #price-area table tbody tr th span {
    font-size: 1.8rem;
    line-height: 1.4em;
    font-weight: normal;
  }
  #price-area table tbody tr th em {
    font-size: 3.6rem;
    line-height: 1.4em;
  }
  #price-area table tbody th .minute {
    font-size: 3.6rem;
  }
  #price-area table tbody th .minute em {
    font-size: 7.2rem;
    letter-spacing: -2px;
  }
  #price-area table tbody th .free {
    font-size: 3rem;
    letter-spacing: -1px;
    white-space: nowrap;
  }
  #price-area table tbody td {
    border: 3px solid #0a4c83;
    font-size: 2rem;
    line-height: 1.4em;
    padding: 1em 0;
  }
  #price-area table tbody td p {
    font-size: 3.24rem;
    line-height: 1.4em;
  }
  #price-area table tbody td .tax {
    font-size: 1.62rem;
    line-height: 1.4em;
  }
  #price-area table tbody td .tax em {
    font-size: 4.86rem;
    line-height: 1.3em;
  }
  #price-area table tbody td.drinkbar p {
    padding: 2em 1em;
    position: relative;
    font-size: 2.4rem;
  }
  #price-area table tbody tr td.drinkbar p::after {
    width: 3px;
  }
  #price-area table tbody td.drinkbar p em {
    font-size: 4.8rem;
    padding-left: 0.5em;
    line-height: 1em;
  }
  #price-area table tbody td.drinkbar p span {
    font-size: 2.2rem;
    line-height: 1.2em;
  }
  .store-box .price-info,
  #price-area .price-info {
    margin-top: 25px;
    padding: 0em;
  }
  .store-box .price-info p,
  #price-area .price-info p {
    padding: 1.3em 2em;
    font-size: 1.8rem;
    line-height: 1.666em;
    font-weight: bold;
    text-align: left;
  }
  .all-open-btn {
    padding: 0 0 50px;
  }
  .all-open-btn p {
    width: 470px;
    height: 62px;
    margin: 0 auto;
    font-size: 1.8rem;
    line-height: 62px;
    padding: 0;
  }
  .price-title,
  .all-open-btn p {
    -webkit-transition: opacity 0.4s ease;
    transition: opacity 0.4s ease;
  }
  .price-title:hover,
  .all-open-btn p:hover {
    opacity: 0.5;
  }

  /*注釈*/

  #price-info-area {
    padding: 0px 10px 70px;
    width: 970px;
    margin: 0 auto;
  }
  .price-info-note {
    background: #fff;
    border: 3px solid #0a4c83;
    margin-top: 25px;
    padding: 0em;
  }
  .price-info-note p {
    padding: 1.3em 2em;
    font-size: 1.8rem;
    line-height: 1.666em;
    font-weight: bold;
    text-align: left;
  }

  /***********************************************************
* クーポン【500】
***********************************************************/
  .coupon-box {
    width: 980px;
    margin: 0 auto;
    padding: 44px 125px 0;
  }
  .coupon-box figure {
    background: #d31b15;
    text-align: center;
    padding-top: 40px;
    padding-bottom: 40px;
    position: relative;
  }
  .coupon-box figure img {
    max-width: 546px;
  }
  .coupon-box figure .period {
    position: absolute;
    left: 0px;
    top: 404px;
    width: 100%;
    font-size: 2.8rem;
    text-align: center;
  }
  .coupon-box figure figcaption {
    font-size: 1.8rem;
    bottom: 23%;
  }
  .coupon-box figure .coupon-arrangement {
    font-size: 1.8rem;
    bottom: 23%;
  }
  .coupon-box .dotted {
    margin: 20px 0;
    width: 100%;
    height: 2px;
    background-image: repeating-linear-gradient(
      90deg,
      #000000,
      #000000 20px,
      transparent 20px,
      transparent 34px
    );
    background-position: left top;
    background-repeat: repeat-x;
    background-size: 100% 2px;
  }
  .coupon-box figure figcaption.coupon-limit {
    bottom: 24.5%;
  }
  .coupon-box .box {
    padding: 60px 0px 35px;
    border-bottom: 1px solid #d5d5d5;
  }
  .coupon-box .box p {
    margin-bottom: 0.5em;
  }
  .coupon-box .box strong {
    font-size: 2rem;
    line-height: 1.6em;
  }
  .coupon-box .box ul li {
    padding-left: 1em;
    font-size: 1.2rem;
    line-height: 2em;
    text-indent: -1em;
  }

  /***********************************************************
* お知らせ 【501】～【502】
***********************************************************/
  .information-head {
    padding: 50px 0 0;
    margin-bottom: 40px;
    overflow: hidden;
  }
  .information-head .select-box {
    float: left;
    width: 164px;
  }
  .information-category {
    float: right;
    margin-top: 0px;
    width: -webkit-calc(100% - 164px);
    width: calc(100% - 164px);
    height: 48px;
    overflow-x: visible;
  }
  .information-category::-webkit-scrollbar {
    display: none;
  }
  .information-category ul {
    height: 48px;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-box-pack: flex-end;
  }
  .information-category li {
    height: 48px;
    margin: 0 15px;
  }
  .information-category a {
    height: 48px;
    font-size: 1.6rem;
    line-height: 48px;
  }
  .information-category .active a::after {
    height: 4px;
  }
  .information-list {
    width: -webkit-calc(100% + 25px);
    width: calc(100% + 25px);
    margin-left: -25px;
    letter-spacing: -0.4em;
  }
  .information-list article {
    display: inline-block;
    width: 33.3333%;
    border: none;
    padding: 0 0 50px 25px;
    letter-spacing: normal;
    vertical-align: top;
  }
  .information-list article a {
    display: block;
    padding: 0;
  }
  .information-list article figure {
    width: 100%;
  }
  .information-list article figure img {
    max-width: 310px;
  }
  .information-list article .info {
    width: 100%;
    padding: 15px 0 0;
  }
  .information-list article time {
    font-size: 1.4rem;
    line-height: 1em;
    margin-right: 5px;
  }
  .information-list article .category {
    padding: 0 1em;
    font-size: 1.2rem;
    line-height: 1.8em;
    letter-spacing: 1px;
  }
  .information-list article .title {
    font-size: 1.8rem;
    line-height: 1.67em;
  }
  .information-list article a:hover .title {
    text-decoration: none;
  }

  /*もっと見る*/
  .btn-more {
    display: block;
    background: #fadb32;
    width: 446px;
    height: 50px;
    margin: 0 auto 68px;
    font-size: 1.8rem;
    line-height: 50px;
    font-weight: bold;
    text-align: center;
    color: #0a4c83;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    cursor: pointer;
  }
  .btn-more span {
    position: relative;
  }
  .btn-more span::before {
    content: "";
    background: #0a4c83;
    position: absolute;
    left: auto;
    right: -25px;
    bottom: 50%;
    margin-right: 8px;
    width: 2px;
    height: 16px;
    border: none;
    -webkit-transform: rotate(0deg) translate(50%, 50%);
    transform: rotate(0deg) translate(50%, 50%);
  }
  .btn-more span::after {
    content: "";
    background: #0a4c83;
    position: absolute;
    left: auto;
    right: -25px;
    bottom: 50%;
    width: 16px;
    height: 2px;
    margin-left: 0px;
    border: none;
    -webkit-transform: rotate(0deg) translateY(50%);
    transform: rotate(0deg) translateY(50%);
  }

  /*詳細*/
  .information-detail {
    width: 730px;
    margin: 0 auto;
  }
  .information-detail .detail-head {
    padding: 30px 0;
  }
  .information-detail .detail-head time {
    font-size: 1.6rem;
    line-height: 1em;
  }
  .information-detail .detail-head .category {
    -webkit-border-radius: 15px;
    border-radius: 15px;
    padding: 0 1.5em;
    font-size: 1.4rem;
    line-height: 1.8em;
  }
  .information-detail .detail-head .title {
    font-size: 2.8rem;
    line-height: 1.5em;
    margin-top: 15px;
  }
  .main-img {
    text-align: center;
  }
  .main-img {
    max-width: 100%;
  }
  .information-detail .detail-info {
    padding: 20px 0 50px;
    line-height: 2.142em;
  }
  .information-detail .detail-info h1 {
    font-size: 2.8rem;
    line-height: 1.5em;
    margin-top: 15px;
  }
  .information-detail .detail-info h2 {
    font-size: 2rem;
    line-height: 1.6em;
  }
  .information-detail .detail-info h3,
  .information-detail .detail-info h4,
  .information-detail .detail-info h5,
  .information-detail .detail-info h6 {
    font-size: 1.6rem;
    line-height: 1em;
  }

  .information-detail .detail-bottom {
    padding: 40px 0px 60px;
  }
  .information-detail .detail-bottom .btn-yellow {
    margin-bottom: 50px;
  }

  /***********************************************************
* よくあるご質問 【506】
***********************************************************/
  #faq7 {
    padding-bottom: 60px;
  }
  .faq-list {
    width: 980px;
    margin: 0 auto;
    padding: 30px 125px 50px;
  }
  .faq-list li {
    border-top: 1px solid #d5d5d5;
    border-bottom: none;
  }
  .faq-list li:last-child {
    border-bottom: 1px solid #d5d5d5;
  }
  .faq-list .question {
    background: url("../svg/faq.svg") 11px 23px no-repeat;
    background-size: 22px 22px;
    padding: 22px 50px 22px 40px;
    font-size: 1.8rem;
    line-height: 1.33em;
  }
  .faq-list .answer {
    display: none;
    padding: 0 40px 30px;
  }

  /***********************************************************
* お問い合わせ 【507】
***********************************************************/
  .contact-faq {
    width: 980px;
    padding: 30px 125px 48px;
    margin: 0 auto;
  }
  .contact-faq p {
    font-size: 1.6rem;
    line-height: 1.5em;
    padding: 0;
    margin-bottom: 30px;
  }
  .contact-faq ul {
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .contact-faq ul li {
    width: 50%;
    padding: 0 9px 0 0;
  }
  .contact-faq ul li:nth-child(2n) {
    padding: 0 0 0 9px;
  }
  .contact-faq ul a {
    position: relative;
    display: block;
    padding: 15px 10px;
    font-size: 1.6rem;
    line-height: 1.875em;
    border: none;
    border-bottom: 1px solid #d5d5d5;
  }
  .contact-faq ul li:nth-child(1) a,
  .contact-faq ul li:nth-child(2) a {
    border-top: 1px solid #d5d5d5;
  }

  .contact-box {
    padding: 20px 125px;
  }
  .contact-box .box {
    padding: 1em 0;
  }
  .contact-box .box p,
  .contact-box .box ul {
    margin-bottom: 1em;
    line-height: 1.7em;
  }
  .contact-box .box li {
    font-size: 1.2rem;
    line-height: 2em;
  }
  .contact-box .box .clr-red {
    font-size: 1.2rem;
    line-height: 2em;
  }
  .contact-box .box .clr-red.bld {
    font-size: 1.4rem;
    margin-bottom: 0px;
  }

  .contact-agree {
    border: 4px solid #d5d5d5;
    padding: 20px;
    text-align: center;
  }
  .contact-agree p {
    margin-bottom: 1.5em;
  }
  .agree.form-tbl .radio-list {
    padding-right: 0px;
  }

  .contact-top {
    padding: 50px 0 0;
  }
  .contact-top p {
    font-size: 1.6rem;
    margin-bottom: 40px;
    line-height: 1.7em;
    text-align: center;
  }
  .contact-top ul {
    display: flex;
    justify-content: space-between;
    /*margin: 0 80px;*/
  }
  .contact-top ul li {
    width: 315px;
  }
  .contact-top ul li:first-child .btn-yellow2 {
    margin-bottom: 15px;
  }
  .contact-agree-error {
    margin-top: 40px;
    padding: 40px 20px;
  }
  .form-error-title {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
  .form-error {
    font-size: 1.4rem;
  }

  /*2019/7/17 add*/
  .kids-box {
    display: flex;
    align-items: center;
  }
  .kids-box .card {
    margin-bottom: 0px;
  }
  .kids-box .card img {
    max-width: 186px;
  }
  .kids-box .info {
    padding-left: 20px;
  }
  /*2020/10/22 add*/
  .contacts-top {
    padding: 50px 0 0;
  }
  .contacts-top ul {
    display: flex;
    justify-content: center;
  }
  .contacts-top ul li:first-child {
    margin-bottom: 0;
    margin-right: 50px;
  }
  .contacts-top ul li a {
    width: 390px;
  }

  /***********************************************************
* ケータイ会員登録 【509】
***********************************************************/
  .corp-box.mobile {
    padding: 35px 0;
  }
  .corp-box.mobile > p {
    margin-top: 20px;
    padding: 0 37px;
  }
  .mobile-box {
    box-sizing: border-box;
    margin: -40px auto 67px;
    padding: 40px 168px 40px 148px;
    width: 980px;
  }
  .mobile-box .wrap {
    width: 100%;
  }
  .mobile-box .wrap > p {
    border: 4px solid #fff;
    height: 104px;
    width: 104px;
    font-size: 1.6rem;
    line-height: 104px;
    top: -50%;
    right: -58px;
  }
  .mobile-box .wrap > div {
    display: table;
    margin: 0 auto;
    position: relative;
  }
  .mobile-box .wrap > div p,
  .mobile-box .wrap > div figure {
    display: table-cell;
    vertical-align: middle;
  }
  .mobile-box .wrap > div p {
    font-size: 1.6rem;
    padding: 0 40px;
  }
  .mobile-box .wrap > div p strong {
    font-size: 3.4rem;
    margin-bottom: 15px;
  }
  .mobile-box .wrap > div figure:first-child img {
    max-width: 100%;
  }
  .mobile-box .wrap > div figure:last-child img {
    max-width: 100%;
  }

  /***********************************************************
* ログイン 【510】パスワード再発行【511】
***********************************************************/
  .input-form {
    padding: 40px 125px 60px;
  }
  .input-form .head {
    margin-bottom: 40px;
  }
  .input-form .head p {
    margin-bottom: 1em;
  }
  .input-form .head p strong {
    font-size: 1.6rem;
    line-height: 1.8em;
  }
  .input-form .head .under {
    font-size: 1.4rem;
    line-height: 1.7em;
    font-weight: bold;
  }
  .input-form .form {
    width: 100%;
    margin-left: 0;
    padding: 50px 100px 40px 75px;
    margin-bottom: 30px;
  }
  .input-form .form li {
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-align-items: center;
    -webkit-box-align: center;
    align-items: center;
    margin-bottom: 10px;
  }
  .input-form .form .title {
    width: 156px;
    font-size: 1.4rem;
    line-height: 1em;
    padding-bottom: 0px;
  }
  .input-form .form .input {
    width: -webkit-calc(100% - 156px);
    width: calc(100% - 156px);
    padding-bottom: 0px;
  }
  .input-form .form input {
    height: 40px;
    line-height: 40px;
  }

  .input-form .btn-box {
    width: 480px;
    margin: 0 auto;
  }
  .input-form .btn-box .btn-yellow {
    margin-bottom: 10px;
  }
  .input-form .btn-box p {
    font-size: 1.2rem;
    line-height: 2em;
  }

  /***********************************************************
* ポケモン会員 【513】
***********************************************************/
  .pokemon-print-tbl {
    width: 100%;
  }
  .pokemon-print-tbl th {
    font-size: 1.6rem;
    padding: 0.5em 1em;
  }
  .pokemon-print-tbl td {
    padding: 0.5em 1em;
    font-size: 1.6rem;
  }
  .pokemon-print-tbl td span {
    font-size: 2.2rem;
  }
  /***********************************************************
* 法人会員メール 【516】
***********************************************************/
  .corp-info {
    background: #f1f1f1;
    background-size: 8px;
    margin-top: 20px;
    margin-bottom: 40px;
    padding: 0 0 65px;
  }
  .corp-main {
    margin-bottom: 40px;
  }
  .corp-title {
    font-size: 2.8rem;
    line-height: 1em;
    margin-bottom: 30px;
  }
  .corp-benefits {
    padding: 0 125px;
    margin-bottom: 55px;
  }
  .corp-benefits li {
    display: table;
    width: 100%;
  }
  .corp-benefits li .title {
    width: 90px;
    font-size: 2rem;
    font-weight: bold;
  }
  .corp-benefits li .info {
    padding: 15px 20px;
  }
  .corp-benefits li .info h4 {
    font-size: 1.8rem;
    line-height: 1.4em;
    margin-bottom: 5px;
  }
  .corp-benefits li .info p {
    font-size: 1.2rem;
    line-height: 1.6em;
  }

  .corp-box {
    background: #fff;
    /* margin: 0 125px 40px; */
    margin: 0 50px 40px;
    padding-bottom: 50px;
  }
  .corp-box:last-child {
    margin-bottom: 0px;
  }
  .corp-box .title {
    font-size: 2rem;
    line-height: 1.8em;
    padding-top: 30px;
    margin-bottom: 30px;
  }
  .corp-box .title em {
    padding: 0.3em 0.4em 0.4em 0.4em;
    font-size: 2rem;
    margin-right: 12px;
    letter-spacing: -2px;
  }
  .corp-step {
    padding: 0 20px;
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-pack: center;
  }
  .corp-step li {
    display: block;
    margin: 0 12px;
    /* width: 200px; */
    width: 180px;
    /* padding: 20px 15px; */
    padding: 40px 15px 20px;
  }
  .corp-step li .step {
    left: -14px;
    /* top: -14px; */
    top: -20px;
    width: 60px;
    height: 60px;
    font-size: 1.2rem;
    line-height: 60px;
    font-weight: bold;
  }
  .corp-step li figure {
    display: block;
    width: auto;
    padding: 0 0 15px;
  }
  .corp-step li .info {
    display: block;
    padding-right: 0px;
  }
  .corp-step li .info p {
    font-size: 1.2rem;
    line-height: 1.5em;
  }
  .corp-step li .info .ttl {
    text-align: center;
  }
  .corp-step li .info p strong {
    font-size: 1.4rem;
    line-height: 1.42em;
    font-weight: bold;
    margin-bottom: 0.5em;
  }

  .corp-box .box {
    margin: 0 40px;
    padding: 20px 90px;
  }
  .corp-box .box figure {
    display: table-cell;
    width: auto;
    padding: 0 15px 0 0;
  }
  .corp-box .box .info {
    padding-right: 0px;
  }
  .corp-box .box .info p {
    font-size: 1.4rem;
    line-height: 1.42em;
    font-weight: bold;
  }

  .corp-entry {
    padding: 24px 6px 6px;
    margin-bottom: 40px;
  }
  .corp-entry .title {
    font-size: 2.8rem;
    line-height: 1em;
    font-weight: bold;
    margin-bottom: 20px;
  }
  .corp-entry .box {
    padding: 20px 15px 30px;
    text-align: center;
  }
  .corp-entry p {
    font-size: 1.4rem;
    line-height: 1.7em;
    margin-bottom: 24px;
  }
  .corp-entry .headline-s {
    min-width: 100%;
    font-size: 1.8rem;
    padding: 0.5em 5px;
  }
  .corp-entry .headline-s::before,
  .corp-entry .headline-s::after {
    display: none;
  }
  .corp-bnr {
    margin: 0 auto 67px;
    text-align: center;
  }

  .corporate-bnr {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3%;
    text-align: center;
  }

  .corporate-bnr img {
    width: 100%;
  }

  .corporate-bnr .text {
    text-align: left;
    font-size: 1.1rem;
    border-left: 1px solid #333333;
    padding: 0 0 0 3%;
    margin: 0;
    border-top: 0;
  }

  .corporate-bnr .text a {
    text-decoration: underline;
    color: #333333;
    font-size: 1.1rem;
  }

  .corp_terms {
    height: 350px;
  }

  /***********************************************************
* サイトポリシー 【518】
***********************************************************/
  .rule-box {
    padding-top: 35px;
    padding-bottom: 60px;
  }
  .rule-box:last-child {
    padding-bottom: 60px;
  }
  .rule-box.top {
    padding-bottom: 35px;
  }
  .rule-box p {
    line-height: 1.8em;
    margin-bottom: 1.5em;
  }
  .rule-box a {
    text-decoration: underline;
  }
  .rule-box .sub-title {
    font-size: 1.6rem;
  }

  /***********************************************************
* 物件募集情報 【519】
***********************************************************/
  .estate-tbl {
    margin-bottom: 50px;
  }
  .estate-tbl tr:last-child {
    border-bottom: 1px solid #d5d5d5;
  }
  .estate-tbl th {
    width: 9em;
    padding: 19px 0;
    font-size: 1.6rem;
    line-height: 1.4em;
  }
  .estate-tbl td {
    padding: 19px 0;
  }
  .estate-contact {
    padding: 10px 100px 0 0;
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .estate-contact img {
    margin-right: 8px;
  }
  .estate-contact p {
    margin-right: 18px;
  }

  .estate-box {
    background: url("../img/stripe_nude.png");
    background-size: 8px;
    margin-bottom: 55px;
  }
  .wrap-s .estate-box {
    width: 100%;
    margin-left: 0px;
    padding: 25px 20px 35px;
  }
  .estate-box span {
    font-weight: normal;
    display: inline !important;
  }
  .estate-box .img {
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .estate-box figure {
    width: 50%;
    padding: 0 10px 0 0;
  }
  .estate-box figure:nth-child(2n) {
    padding: 0 0 0 10px;
  }
  .estate-box figure img {
    max-width: 100%;
  }
  .estate-box figcaption {
    padding: 0.3em 1em 0.4em;
    font-size: 1.2rem;
    line-height: 2em;
  }

  /***********************************************************
* 取材・撮影募集 【520】
***********************************************************/
  .img-max {
    margin-bottom: 40px;
  }
  .wrap .img-max,
  .wrap-s .img-max {
    width: 100%;
    margin-left: 0px;
  }
  .img-max img {
    max-width: 100%;
  }

  .download-box {
    background: url("../img/stripe_nude.png");
    padding: 25px 35px 35px;
    margin-bottom: 40px;
  }
  .download-box p {
    line-height: 1.8em;
    margin-bottom: 15px;
  }
  .download-box .btn-yellow {
    margin-bottom: 0px;
  }

  .media-contact {
    padding: 25px 35px;
    margin-bottom: 50px;
  }
  .media-contact img {
    height: 30px;
    width: 30px;
  }
  .media-contact ul {
    display: -webkit-flex;
    display: -webkit-box;
    display: flex;
    margin-top: 20px;
  }
  .media-contact ul li {
    padding-right: 40px;
    margin-bottom: 10px;
  }
  .media-contact ul li p {
    font-size: 1.4rem;
    margin-bottom: 5px;
  }
  .media-contact .number {
    font-size: 3rem;
    line-height: 30px;
  }
  .media-contact p {
    line-height: 1.8em;
  }
  .media-contact p strong {
    font-size: 1.4rem;
    font-weight: normal;
  }
  /***********************************************************
* 会員募集 【521】
***********************************************************/
  /*ケータイ会員*/
  .member-mobile {
    margin: 50px auto;
    width: 680px;
  }
  /*キッズサービス*/
  .member-kids {
    margin: 50px auto;
    width: 715px;
  }
  .member-kids p {
    margin: 30px 0 0;
  }
  /***********************************************************
* アレルゲン情報 【522】
***********************************************************/
  .allergen-note {
    margin: 30px auto 0;
    padding: 0;
    width: 730px;
  }
  .allergen-anchor-list {
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 730px;
  }
  .allergen-anchor-list li {
  }
  .allergen-anchor-list a {
  }
  .allergen-box .headline-s {
    margin: 0 auto;
    min-width: 730px;
    position: static;
    width: 730px;
  }
  .allergen-box .headline-s::before,
  .allergen-box .headline-s::after {
    display: none;
  }
  .allergen-box table {
    border-left: 1px solid #b5b5b5;
    border-top: 1px solid #b5b5b5;
    display: table;
    margin: 0 auto 60px;
    width: 730px;
  }
  .allergen-box table thead {
    display: table-header-group;
    float: none;
    overflow-x: auto;
  }
  .allergen-box tbody {
    display: table-row-group;
    overflow-x: auto;
    white-space: normal;
    width: 100%;
  }
  .allergen-box tbody tr {
    display: table-row;
    margin: 0;
  }
  .allergen-box table th,
  .allergen-box table td {
    border-bottom: 1px solid #b5b5b5;
    padding: 8px;
    position: static !important;
    text-align: center;
    vertical-align: middle;
  }
  .allergen-box table th span,
  .allergen-box table td span {
    display: inline;
  }
  .allergen-box table th span,
  .allergen-box table td span {
    height: auto;
  }
  .allergen-box table th:first-child span,
  .allergen-box table td:first-child span {
    height: auto;
  }
  .allergen-box table th {
    display: table-cell;
    height: auto;
  }
  .allergen-box table th:first-child {
    height: auto;
    width: 250px !important;
  }
  .allergen-box table td {
    display: table-cell;
    font-size: 1.4rem;
    height: auto;
    line-height: 1.6em;
  }
  .allergen-box table td:first-child {
    height: auto;
    width: 250px !important;
  }

  /***********************************************************
* 2018/7/30 add
***********************************************************/
  .main-wrap {
    position: relative;
    padding-top: 70px;
    display: block;
  }
  .main-wrap main {
    padding-top: 0px;
  }

  .main-wrap.header-off {
    padding-top: 0px;
  }

  /*パンくず*/
  .breadcrumb {
    border-top: 0px;
    padding: 6px 40px 9px;
  }
  .breadcrumb li {
    font-size: 1.1rem;
  }
  .breadcrumb li a {
    font-size: 1.1rem;
  }
  .store-page .breadcrumb {
    background: none;
    position: absolute;
    padding: 6px 220px 9px;
    top: 0px;
    right: 0px;
    z-index: 20;
    display: flex;
  }
  .store-page .breadcrumb li,
  .store-page .breadcrumb li a {
    color: #fff;
  }
  .store-page .breadcrumb li::after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
  }

  /*各種お問い合わせ*/
  .various-box {
    width: 980px;
    padding: 20px;
    margin: 30px auto 50px;
    border: 1px solid #d5d5d5;
  }
  .various-box .flex {
    padding: 20px;
    display: -webkit-flex;
    display: flex;
  }
  .various-box .box {
    width: 50%;
    padding: 10px 20px;
    margin-bottom: 0px;
  }
  .various-box .box .title {
    font-size: 2rem;
    line-height: 1em;
  }
  .various-box .box.mail p {
    font-size: 1.4rem;
    line-height: 1.7em;
    margin-bottom: 2em;
    height: 96px;
  }
  .various-box .box.mail a {
    height: 50px;
    font-size: 1.8rem;
    line-height: 50px;
  }
  .various-box .box.tel p {
    font-size: 1.4rem;
    line-height: 2em;
  }
  .various-box .box.tel p em {
    padding: 0px;
    font-size: 2.6rem;
    margin-left: 0.2em;
  }
  .various-box .box.tel p span {
    font-size: 1.8rem;
    margin-top: 0.5em;
    display: inline-block;
  }

  .various-box .info {
    padding: 20px;
  }

  /***********************************************************
* POPUP CSS
***********************************************************/
  .popup-inner {
    padding: 70px;
    transform: translate(-50%, -50%);
    top: 50%;
  }
  .popup-close-btn {
    right: 70px;
    top: 30px;
    height: 40px;
    line-height: 40px;
    cursor: pointer;
    font-size: 1.6rem;
  }

  /*768px以上*/
}

@media screen and (min-device-width: 768px) and (max-width: 1350px) {
  .top-slider-visual .link-area .floating {
    transform: translateY(-85%);
  }
  /*TOPページ*/
  .top-scene .btn,
  .top-room .btn {
    width: 20%;
  }
  .top-scene .box ul {
    width: 80%;
    margin-left: 20%;
  }
  .top-room .box ul {
    width: 80%;
  }

  .top-scene ul li .ttl,
  .top-scene ul li .ttl span,
  .top-room ul li .ttl,
  .top-room ul li .ttl span {
    font-size: 1.8vw;
    line-height: 1.4em;
  }
  .top-scene ul li .ttl,
  .top-room ul li .ttl {
    margin: -1em 0 0 10px;
  }
  /*768px以上 and 1300以下*/
}

/*TOPページボックス*/
@media screen and (min-device-width: 768px) and (max-width: 980px) {
  .top-scene ul li .ttl span,
  .top-room ul li .ttl span {
    font-size: 1.8rem;
    line-height: 1.4em;
  }
  .top-scene ul li .ttl,
  .top-room ul li .ttl {
    margin: -18px 0 0 10px;
  }
}
@media screen and (min-width: 1600px) {
  .top-scene .box ul li {
    width: 25%;
  }
  .top-room .box ul li {
    width: 25%;
  }
}

@media screen and (min-width: 1840px) {
  .top-scene .box ul li {
    width: 20%;
    vertical-align: top;
  }
  .top-room .box ul li {
    width: 20%;
    vertical-align: top;
  }
}

/*ヘッダー*/
@media screen and (min-width: 768px) {
  body > header .foot-menu li {
    border-right: 1px solid #5482a8;
  }
  body > header .foot-menu li a {
    color: #fff;
  }
  body > header .foot-menu li:nth-child(5) {
    border-right: none;
  }
}
@media screen and (min-device-width: 768px) and (max-width: 1565px) {
  body > header .foot-menu li {
    width: 75px;
    border-right: 1px solid #5482a8;
  }
  body > header .foot-menu li a {
    font-size: 1rem;
    line-height: 1em;
    color: #fff;
  }
  body > header .foot-menu li:nth-child(1) {
    width: 90px;
  }
  body > header .foot-menu li:nth-child(1) a {
    font-size: 1rem;
    /*		line-height: 1em;*/
  }
  body > header .foot-menu li:nth-child(5) {
    border-right: none;
  }
}
@media screen and (min-device-width: 768px) and (max-width: 1420px) {
  header .menu > li > a,
  header .menu > li > span {
    padding: 0 0.7em;
  }
}
@media screen and (min-device-width: 768px) and (max-width: 1320px) {
  header .logo {
    width: 150px;
    /*padding: 12px 0 0 5px;*/
  }
  header .logo img {
    width: 140px;
  }
  .store-page .breadcrumb {
    position: absolute;
    padding: 6px 140px 9px;
  }
}
@media screen and (min-device-width: 768px) and (max-width: 1250px) {
  header .menu > li > a,
  header .menu > li > span {
    padding: 0 0.5em;
  }
  body > header .member-link {
    padding: 0 5px;
  }
  body > header .member-link li {
    padding: 0 0.3em;
  }
  .top-slider-visual .link-area .floating {
    top: 50px;
  }
}
@media screen and (min-device-width: 768px) and (max-width: 1215px) {
  header .menu > li > a,
  header .menu > li > span {
    padding: 0 0.3em;
  }
}
@media screen and (min-device-width: 768px) and (max-width: 1190px) {
  header .logo {
    width: 70px;
    /*padding: 12px 0 0 5px;*/
  }
  header .logo .pc {
    display: none !important;
  }
  header .logo .sp {
    display: block !important;
  }
  header .logo img {
    width: 70px;
  }
  header .menu > li > a,
  header .menu > li > span {
    font-size: 1.3rem;
    line-height: 1.3em;
  }
}
/*@media screen and (max-height: 900px){
	.top-visual{
		height: 0;
		padding-top: 900px;
	}
}*/

@media screen and (min-device-width: 768px) and (max-height: 720px) {
  .top-visual .box {
    margin-top: 0px;
    -webkit-transform: translateY(-55%);
    transform: translateY(-55%);
  }
}
@media screen and (min-device-width: 768px) and (max-height: 635px) {
  .top-visual .box .logo {
    width: 200px;
    margin-bottom: 30px;
  }
}
