@charset "utf-8";

@media screen and (max-width: 999px) {
  /* tag */
  body { font-size: 14rem; }
  input,
  textarea,
  select,
  button { font-size: 14rem; }
  article { margin-bottom: 60px; }
  section {
    margin: 60px 0 0 0;
    padding: 0 25px;
  }
  caption, th, td { padding: 15px; }
  h2,
  h3 {
    margin-bottom: 30px;
    line-height: 1.7;
  }
  h2 { font-size: 22rem; }
  h3 { font-size: 18rem; }
  h4 { font-size: 18rem; }
  h5 { font-size: 18rem; }

  /* common */
  .btnwrap {
    display: block;
    margin: 30px 0 0 0;
  }
  .btnwrap li:nth-child(n+2) .btn { margin: 15px 0 0 0; }
  .btn {
    width: 100%;
    padding: 15px;
    font-size: 16rem;
  }
  .tablewrap {
    width: 100%!important;
    margin: 30px auto 0 auto!important;
    overflow-x: scroll!important;
  }
  .tablewrap h3 { text-align: left; }
  .tablewrap table { width: 960px; }
  .inner {
    max-width: 100%;
    margin: 0 auto;
  }
  .inner p { margin-top: 30px; }
  .small { font-size: 12rem; }
  .pt120 { padding-top: 60px!important; }
  .pb120 { padding-bottom: 60px!important; }

  /* header */
  header .logo { display: none; }
  header .reserve { display: none; }
  header h1 { display: none; }
  header > div > .lnav { display: none; }
  #gnav { display: none; }
  #snav { display: none; }
  #hnav {
    display: block;
    position: fixed;
    width: 100%;
    height: 80px;
    background: rgba(251, 251, 247, .9);
    z-index: 99;
    -webkit-transition: all .5s cubic-bezier(.215, .61, .355, 1);
    transition: all .5s cubic-bezier(.215, .61, .355, 1);
  }
  #hnav .logo_h {
    position: fixed;
    top: 20px;
    left: 25px;
    pointer-events: auto;
  }
  #hnav .logo_h img {
    display: block;
    position: absolute;
    -webkit-transition: all .5s cubic-bezier(.215, .61, .355, 1);
    transition: all .5s cubic-bezier(.215, .61, .355, 1);
  }
  #hnav .logo_h .mark {
    width: auto;
    height: 40px;
    top: 0;
    left: 0;
  }
  #hnav .logo_h .type {
    width: auto;
    height: 24px;
    top: 8px;
    left: 57px;
  }
  #hnav .logo_h .white { opacity: 0; }
  #hnav .logo_h .black { opacity: 1; }
  header.scrolled #hnav .logo_h .white { opacity: 0; }
  header.scrolled #hnav .logo_h .black { opacity: 1; }
  #hnav_btn {
    display: block;
    position: fixed;
    top: 10px;
    right: 10px;
    width: 60px;
    height: 51px;
    padding: 15px;
    pointer-events: auto;
    z-index: 1;
  }
  #hnav_btn .text {
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    font-size: 9rem;
    letter-spacing: 0;
    line-height: 1;
    text-align: center;
    -webkit-transition: all .5s cubic-bezier(.215, .61, .355, 1);
    transition: all .5s cubic-bezier(.215, .61, .355, 1);
  }
  #hnav.active #hnav_btn .text { opacity: 0; }
  #hnav .hnav_icon,
  #hnav .hnav_icon span {
    display: block;
    -webkit-transition: all .5s cubic-bezier(.215, .61, .355, 1);
    transition: all .5s cubic-bezier(.215, .61, .355, 1);
  }
  #hnav .hnav_icon {
    position: relative;
    width: 30px;
    height: 21px;
  }
  #hnav .hnav_icon span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background: #000;
  }
  header.scrolled #hnav { background: rgba(251, 251, 247, .9); }
  header.scrolled #hnav .hnav_icon span { background: #000; }
  #hnav .hnav_icon span:first-child { top: 0; }
  #hnav .hnav_icon span:nth-child(2) { top: 10px; }
  #hnav .hnav_icon span:last-child { bottom: 0; }
  #hnav.active .hnav_icon span { background: #000; }
  #hnav.active .hnav_icon span:first-child {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
  }
  #hnav.active .hnav_icon span:nth-child(2) { opacity: 0; }
  #hnav.active .hnav_icon span:last-child {
    -webkit-transform: translateY(-10px) rotate(45deg);
    transform: translateY(-10px) rotate(45deg);
  }
  #hnav_content {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    text-align: center;
    background: #fbfbf7;
    overflow-x: hidden;
    overflow-y: auto;
    pointer-events: auto;
  }
  #hnav_content .inner {
    margin: 0;
    padding: 100px 0 0 0;
  }
  #hnav_content .btn {
    width: auto;
    padding: 15px 40px;
  }
  #hnav_content ul.nav_sp { padding: 40px 0; }
  #hnav_content ul.nav_sp li {
    margin-bottom: 35px;
    font-size: 16rem;
    line-height: 1;
    white-space: nowrap;
    text-align: center;
  }
  #hnav_content ul.nav_sp li:last-child { margin-bottom: 0; }
  #hnav_content ul.nav_sp a {
    display: inline-block;
    text-decoration: none;
    color: #000;
  }
  #hnav_content .reserve_hnav { pointer-events: auto; }
  #hnav_content .reserve_hnav ul { padding: 0 25px; }
  #hnav_content .reserve_hnav li { margin-top: 20px; }
  #hnav_content .reserve_hnav a {
    display: block;
    font-size: 16rem;
    line-height: 20px;
    text-decoration: none;
    color: #20200d;
  }
  #hnav_content .reserve_hnav i {
    width: 16px;
    height: 16px;
    margin-bottom: -1px;
  }
  #hnav_content .reserve_hnav .en { font-size: 22rem; }
  #hnav_content .reserve_hnav .en-small { font-size: 15rem; }
  #hnav_content .reserve_hnav li:nth-child(1) {
    margin-top: 0;
    font-size: 14rem;
    text-align: center;
  }
  #hnav_content .reserve_hnav li:nth-child(1) a { margin-top: 5px; }
  #hnav_content .reserve_hnav li:nth-child(2) a,
  #hnav_content .reserve_hnav li:nth-child(3) a,
  #hnav_content .reserve_hnav li:nth-child(4) a { padding: 20px; }
  #hnav_content .reserve_hnav li:nth-child(2) a { background: #f1cbaf; }
  #hnav_content .reserve_hnav li:nth-child(3) a { background: #edd5a9; }
  #hnav_content .reserve_hnav li:nth-child(4) a { background: #dad1be; }
  #hnav_content .reserve_hnav li:nth-child(4) i {
    width: 18px;
    height: 14px;
  }
  #hnav_content .reserve_hnav { font-size: 0; }
  #hnav_content .reserve_hnav i {
    width: 16px;
    height: 16px;
    margin-bottom: -1px;
  }
  #hnav_content .bestrate {
    margin: 0 25px;
    padding: 15px;
    border: 3px double #e1e1d2;
    font-size: 12rem;
    line-height: 1.8;
    background: #fbfbf7;
    text-align: center;
  }
  #hnav_content .bestrate i {
    width: 16px;
    height: 16px;
    margin-bottom: -3px;
  }
  #hnav_content .lnav {
    position: static;
    margin: 30px 25px 60px 25px;
    top: inherit;
    left: inherit;
  }
  #hnav_content .lnav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  #hnav_content .lnav li:first-child { margin-left: 0; }
  #hnav_content .lnav li { margin-left: 2em; }
  #hnav_content .lnav a {
    color: #000;
    font-size: 14rem;
    text-decoration: none;
  }
  #mv { height: 340px; }
  #mv .mvlower { height: 340px; }
  #mv h2 {
    width: 50px;
    margin-top: 40px;
    padding: 0;
    font-size: 18rem;
  }
  #mv h2 span {
    display: block;
    text-align: center;
    line-height: 20px;
    padding: 30px 15px;
  }

  /* footer */
  footer {
    margin-top: 60px;
    padding: 60px 25px;
  }
  footer #bnav {
    display: block;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 5px 0;
    background: rgba(231,222,204,.9);
    z-index: 1;
  }
  footer #bnav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  footer #bnav li {
    position: relative;
    line-height: 36px;
  }
  footer #bnav li:first-child {
    margin-right: 15px;
    padding: 0 15px 0 22px;
    border-right: 1px dotted #bbb29e;
    font-size: 16rem;
  }
  footer #bnav li:last-child {
    padding: 0 0 0 28px;
    text-align: center;
    font-size: 16rem;
  }
  footer #bnav li:first-child i {
    top: 9px;
    width: 16px;
    height: 16px;
  }
  footer #bnav li:last-child i {
    top: 8px;
    width: 20px;
    height: 20px;
  }
  footer #bnav i {
    position: absolute;
    left: 0;
    margin: 0;
  }
  footer #bnav a {
    display: block;
    text-decoration: none;
    color: #5f491a;
  }
  footer address {
    position: static;
    margin-bottom: 15px;
  }
  footer address .logo { display: none; }
  footer .TA_cdsratingsonlynarrow {
    display: inline-block;
    position: static;
    margin: 0 auto;
  }
  #fnav {
    display: block;
    padding: 0 0 30px 0;
    font-size: 14rem;
    background: none;
    border-top: 1px dotted #d5d0c3;
  }
  #fnav a:hover { text-decoration: none; }
  #fnav > ul { margin-left: 0; }
  #fnav > ul > li {
    margin-top: 0;
    padding: .5em 1em;
    border-bottom: 1px dotted #d5d0c3;
  }
  #fnav > ul > li > ul > li:before { display: inline-block; }
  footer small {
    text-align: left;
    margin-top: 30px;
    padding: 0;
  }

  /* aside */
  aside { padding: 0 25px; }
  aside > ul {
    display: block;
    margin: 0 auto;
  }
  aside > ul > li {
    position: relative;
    width: 100%;
    height: 460px;
  }
  aside > ul > li:last-child {
    width: 230px;
    height: 230px;
    margin: 30px auto 0 auto;
  }
  aside > ul > li > a {
    width: 230px;
    height: 230px;
  }

  /* access */
  #map_canvas { height: 300px; }
  .googlemap iframe { height: 300px; }
  #access h2 { text-align: left; }
  #access .access_route .access_detail { width: 100%; }
  #access .access_detail_wrap {
    display: block;
    width: 100%;
  }
  #access .access_detail {
    max-width: 260px;
    margin: 0 auto;
    padding: 40px 0 0 0;
  }
  #access .access_detail h4 {
    margin: 0 0 30px 0;
    font-size: 19rem;
  }
  #access .access_detail h4:before {
    display: block;
    width: 1px;
    height: 20px;
    background: #c7c7bb;
    margin: 0 auto 30px auto;
    content: "";
  }
  #access .access_detail ul li:nth-child(odd) { font-size: 16rem; }
  #access .access_detail ul li:nth-child(even) {
    height: 60px;
    font-size: 12rem;
  }

  /* layout topics */
  .layout_topics { font-size: 16rem; }
  .layout_topics dl { display: block; }
  .layout_topics dt {
    width: 100%;
    margin-top: 1.5em;
  }
  .layout_topics dd {
    width: 100%;
    margin-top: 0;
  }

  /* layout nav */
  .layout_nav_l {
    margin-top: 60px;
    padding: 0 25px;
  }
  .layout_nav_l li {
    width: 50%;
    border-top: 2px solid #fbfbf7;
  }
  .layout_nav_l a {
    height: 240px;
  }
  .layout_nav_l div {
    width: 80px;
    height: 180px;
    font-size: 16rem;
    line-height: 1.4;
  }
  .layout_nav_l div span { padding: 15px 0; }
  .layout_nav_l div small { font-size: 11rem; }
  .layout_nav_s {
    margin-top: 60px;
    padding: 0 25px;
  }
  .layout_nav_s li {
    width: 50%;
    border-top: 2px solid #fbfbf7;
  }
  .layout_nav_s a { height: 250px; }
  .layout_nav_s div {
    width: 60px;
    height: 160px;
    font-size: 14rem;
    line-height: 1.4;
  }
  .layout_nav_s div span { padding: 15px 0; }

  /* layout movie */
  .layout_movie { display: block; }
  .layout_movie h2 {
    display: block;
    width: 100%;
    margin-bottom: 1em;
  }
  .layout_movie .wrap { width: 100%; }
  .layout_movie .movie { position: relative; }
  .layout_movie .movie:before {
    content:"";
    display: block;
    padding-top: 56.25%;
  }
  .layout_movie .movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .layout_movie .wrap p { text-align: center; }

  /* layout outline */
  .layout_outline {
    display: block;
    height: auto;
  }
  .layout_outline .inner { min-height: 480px; }
  .layout_outline .wrap {
    width: auto;
    margin: 120px 30px 0 0;
    padding: 30px 30px 60px 0;
  }
  .layout_outline .inview-fade {
    top: 60px;
    height: 360px;
    margin: 0 0 0 -120px;
  }
  .layout_outline.r .wrap { margin: 120px 0 0 30px; }
  .layout_outline.r .inview-fade { margin: 0 -120px 0 0; }

  /* layout main */
  .layout_main h2 {
    top: 30px;
    width: 120px;
    height: 210px;
    margin: 0 0 0 -60px;
    background: #fbfbf7;
    text-align: left;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    z-index: 1;
  }
  .layout_main h2 span {
    padding: 15px 0;
    font-size: 16rem;
    line-height: 1.3;
  }
  .layout_main h2 small { font-size: 12rem; }
  .layout_main .imgwrap { height: 270px; }
  .layout_main .imgwrap img { height: 270px; }
  .layout_main p { margin-top: 30px; }
  .layout_main li:nth-child(2n) h2 { margin: 0 0 0 -60px; }
  .layout_main.rev li:nth-child(2n+1) h2 { margin: 0 0 0 -60px; }
  .layout_main.rev li:nth-child(2n) h2 { margin: 0 0 0 -60px; }

  .layout_main .flow { margin: 60px 0; }
  .layout_main .flow li {
    width: 100%;
    margin: 0 auto 30px auto;
    padding: 15px;
  }
  .layout_main.premium h2 { padding: 0; }

  /* layout plan */
  .layout_plan { padding: 60px 25px; }
  .layout_plan h2 { margin: 0 auto 30px auto; }
  .layout_plan li { width: 50%; }
  .layout_plan li:nth-child(2n+1) { border-left: none; }
  .layout_plan li a {
    display: block;
    height: 280px;
  }
  .layout_plan .wrap {
    height: 120px;
    line-height: 1.4;
  }
  .layout_plan .wrap span { padding: 0 10px; }
  .layout_plan .wrap h4 { font-size: 12rem; }

  /* layout intro */
  .layout_intro {
    padding: 60px 0;
    background-size: 111px 250px;
  }
  .layout_intro .inner { padding: 0 25px; }

  /* layout column */
  .layout_column { margin-top: 30px; }
  .layout_column .accordion {
    width: 100%;
    border-bottom: 5px solid #f0f0e6;
  }
  .layout_column .accordion dt {
    border-top: 5px solid #f0f0e6;
    border-left: 5px solid #f0f0e6;
    border-right: 5px solid #f0f0e6;
    overflow: hidden;
  }
  .layout_column .accordion dt h2:after,
  .layout_column .accordion dt h3:after {
    right: 15px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    border-bottom: solid 1px #20200d;
    border-right: solid 1px #20200d;
  }
  .layout_column .accordion dt h2 {
    top: 40px;
    left: -5px;
    width: 200px;
    height: 40px;
  }
  .layout_column .accordion dt h2 span {
    padding: 0 15px;
    font-size: 16rem;
    line-height: 40px;
  }
  .layout_column .accordion dt h3 {
    top: 40px;
    left: -5px;
    width: 200px;
    height: 40px;
  }
  .layout_column .accordion dt h3 span {
    padding: 0 15px;
    font-size: 12rem;
    line-height: 40px;
  }
  .layout_column .accordion dt img { height: 120px; }
  .layout_column .accordion dd {
    width: 100%;
    padding: 15px;
    border-left: 5px solid #f0f0e6;
    border-right: 5px solid #f0f0e6;
  }
  .layout_column .accordion dd.vertical {
    height: auto;
    -webkit-writing-mode: horizontal-tb;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    background-size: 200px 159px;
  }
  .layout_column .accordion dd h3 { margin: 0 0 .5em 0; }
  .layout_column .accordion dd p {
    font-size: 12rem;
  }
  .layout_column .accordion dd h5 { font-size: 16rem; }
  .layout_column .accordion dd .movie {
    position: relative;
    width: 100%;
    margin-top: 30px;
  }
  .layout_column .accordion dd .movie:before {
    content:"";
    display: block;
    padding-top: 56.25%;
  }
  .layout_column .accordion dd .movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /* layout detail */
  .layout_detail .outline { margin: 0 auto 60px auto; }
  .layout_detail .outline .day {
    margin: 0 auto 30px auto;
  }
  .layout_detail .outline .day span {
    font-size: 32rem;
  }
  .layout_detail .outline .movie {
    position: relative;
    width: 100%;
  }
  .layout_detail .outline .movie:before {
    content:"";
    display: block;
    padding-top: 56.25%;
  }
  .layout_detail .outline .movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .layout_detail .outline p {
    margin-top: 1em;
    text-align: left;
  }
  .layout_detail li {
    display: block;
    height: auto;
    margin-bottom: 60px;
  }
  .layout_detail li:last-child { margin-bottom: 0; }
  .layout_detail img {
    display: block;
    width: auto;
    height: 210px;
  }
  .layout_detail li .imgwrap {
    width: 100%;
    height: 210px;
  }
  .layout_detail li .txtwrap {
    display: block;
    width: 100%;
    padding: 0;
  }
  .layout_detail li h3 {
    margin: 1em 0 0 0;
    font-size: 18rem;
  }
  .layout_detail li p {
    margin-top: 1em;
    font-size: 14rem;
  }

  /* layout common */
  .layout_common dl {
    display: block;
    font-size: 14rem;
  }
  .layout_common dt {
    width: 100%;
    margin-top: 60px;
  }
  .layout_common dt img {
    width: 200px;
    height: auto;
    margin: 0 auto;
  }
  .layout_common dd {
    width: 100%;
    margin-top: 30px;
  }
  .layout_common dt:nth-child(1),
  .layout_common dd:nth-child(2) { margin-top: 30px; }

  /* layout faq */
  .layout_faq dt { margin-top: 2em; }
  .layout_faq dd { margin-top: 0; }

  /* layout common2 */
  .layout_common2 {}
  .layout_common2 h2 {
    border-top: 1px solid #c7c7bb;
    padding-top: 60px;
    text-align: left;
  }
  .layout_common2 h4 {
    margin: 30px 0 5px 0;
    line-height: 1.5;
  }
  .layout_common2 p { margin-top: 0; }

  /* layout contact */
  .layout_contact { margin-top: 0; }
  .layout_contact .inner {
    max-width: 800px;
    margin: 0 auto;
  }

  /* layout privacy */
  .layout_privacy { margin-top: 60px; }
  .layout_privacy .inner {
    height: 200px;
    padding: 15px;
  }
  .layout_privacy p { margin: 0 0 2em 0; }
  .layout_privacy li { margin-bottom: 2em; }

  /* layout recruit */
  .layout_recruit {
    margin-top: 60px;
    padding: 0 25px;
  }
  .layout_recruit p { text-align: left; }
  
  /* layout tripla */
  .layout_tripla {
    margin-top: 60px;
    padding: 0 25px;
  }
  .layout_tripla p { text-align: left; }

  /* layout list */
  .layout_event_list li { margin-top: 60px; }
  .layout_event_list a { display: block; }
  .layout_event_list img {
    width: 180px;
    margin: 0 auto 15px auto;
  }
  .layout_event_list .inner {
    padding: 0;
    width: 100%;
  }
  .layout_event_list h3 {
    font-size: 18rem;
    white-space: normal;
    overflow: auto;
    line-height: 1.5;
  }
  .layout_event_list .date {
    font-size: 12rem;
  }
  .layout_event_list p {
    margin-top: 1em;
    font-size: 14rem;
  }

  /* layout event detail */
  .layout_event_detail p { margin-top: 30px; }

  /* layout bnr */
  .layout_bnr {
    width: 100%;
    margin: 0 auto 60px auto;
    border: 5px solid #f0f0e6;
  }
  .layout_bnr h3 {
    top: 40px;
    left: -5px;
    width: 200px;
    height: 40px;
  }
  .layout_bnr h3 span {
    padding: 0 15px;
    font-size: 16rem;
    line-height: 40px;
  }
  .layout_bnr img { height: 120px; }

  /* form */
  #mailformpro #changeSelect {
    display: inline-block;
    margin: 0 auto 2em auto;
    width: 100%;
  }
  #mailformpro div {
    width: 100%;
    display: block;
  }
  #mailformpro dt {
    width: 100%;
    margin-bottom: 0;
  }
  #mailformpro dd { width: 100%; }
  #mailformpro dd input { width: 100%;}
  #mailformpro dd textarea {
    width: 100%!important;
    height: 200px!important;
  }
  #mailformpro .btnwrap { margin-top: 40px; }

  /* layout ai */
  .layout_ai { margin-bottom: 30px; }
  .layout_ai a { max-width: 320px; }
  .layout_ai img {
    width: 100%;
    height: auto;
  }


  .recruit { margin: 0 25px 30px 25px; }
  .tripla { margin: 0 25px 30px 25px; }


}
/* tripla */
/* スマホ時に強調する場合は以下のように調整も可 */
@media screen and (max-width: 768px) {
  .input-container-title-db81ec {
    font-size: 14px!important;;
    display: block!important;;
    text-align: center!important;;
  }
}
