/* base.cssから common.css分を抜く */

/* content {{{ */
#contents {
    margin: 0 auto;
    overflow: hidden;
    min-width: 1200px;
    width: 100%;
    position: relative;
}
#contents img {
    display: block;
}
/* }}} */

/* top {{{ */
.top-container {
    padding: 0;
    position: relative;
    margin: 0 auto 80px;
    width: 1200px;
    display: block;
}

.top-container .keyimg {
    position: relative;
    text-align: center;
}
#contents .top-container .keyimg img {
    max-width: 1200px;
    display: inline-block;
}
.top-container .keyimg .btn-kv {
    position: absolute;
    top: 260px;
    left: 132px;
}
/*
.top-container .keyimg .btn-kv:hover:before {
    content: '';
    display: block;
    width: 210px;
    height: 50px;
    position: absolute;
    background-color: #ffffff;
    filter:alpha(opacity=20);
    -moz-opacity: 0.2;
    opacity: 0.2;
}
*/
.top-container h3 {
    padding: 43px 0 44px;
    text-align: center;
    font-family:  Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
    font-size: 1.75em;
    font-weight: bold;
    color: #1a1819;
}
#contents .top-container h3 img {
    display: inline-block;
}
.top-container ul.news {
    width: 100%;
    text-align: center;
    margin-bottom: 3%;
}

.top-container ul.news li {
    display: inline-block;
    vertical-align: top;
    max-width: 350px;
    margin: 0 25px 25px 0;
    padding: 0;
    background-color: #f8f8f8;
    -moz-box-shadow: 0 0 4px 1px #dfdfdf;
    -webkit-box-shadow: 0 0 4px 1px #dfdfdf;
    box-shadow: 0 0 4px 1px #dfdfdf;
}
.top-container ul.news li:nth-child(3n) {
    margin: 0;
}
.top-container ul.news li img {
    display: block;
}
.top-container ul.news li dl {
    padding: 20px 20px 35px;
    text-align: left;
}
.top-container ul.news li dl dt {
    font-size: 1.375em;
    margin-bottom: 0.2em;
}
.top-container ul.news li dl .date {
    color: #999999;
    font-size: 0.75em;
    display: block;
    margin-bottom: 0.2em;
}
.top-container ul.news li dl dd p {
    font-size: 0.875em;
}
.top-container ul.news li .btn-news {
    margin-top: 20px;
    font-size: 0.875em;
}
.top-container ul.news li .btn-news a {
    color: #1a1819;
}
.top-container ul.news li .btn-news span {
    padding-left: 0.5em;
}
.top-container .news-bottom {
    margin: 0;
    width: 100%;
}
.top-container .news-bottom h4 {
    font-size: 0.875em;
    font-weight: bold;
    margin: 0 0 0 50px;
}

.top-container .news-old {
    overflow-y: scroll;
    width: 350px;
    height: 200px;
    box-sizing: border-box;
    float: left;
    margin: 0 25px 0 50px;
    border-top: solid 5px #000000;
}
.top-container .news-old li {
    border-bottom: solid 1px #cccccc;
    padding: 0.5em 0;
}
.top-container .news-old li a {
    color: #000000;
    text-decoration: none;
}
.top-container .news-old li .date {
    font-size: 0.625em;
    color: #999999;
}
.top-container div.infowrapper {
    margin: 4em auto 0;
}
.top-container ul.info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    /* justify-content: flex-start; */
    align-items: center;
    flex: auto;
    align-content: center;
    text-align: center;
    margin: 0 45px;
}
.top-container ul.info li {
    box-shadow: 1px 1px 10px 1px rgba(0,0,0,0.2);
    /* margin-left: -10px; */
    margin-left: 0;
    /* margin-right: 25px; */
}

.top-container .app {
    width: 350px;
    height: 200px;
    float: left;
    /* margin: 0 25px 0 45px; */
    margin: 0 30px 0 45px;
}
.top-container .app li {
    display: inline-block;
    vertical-align: top;
    margin: 0;
    padding: 0;
    background-color: #f8f8f8;
    -moz-box-shadow: 0 0 4px 1px #dfdfdf;
    -webkit-box-shadow: 0 0 4px 1px #dfdfdf;
    box-shadow: 0 0 4px 1px #dfdfdf;
}
.top-container ul.app li dl {
    padding: 20px 20px 20px;
    text-align: left;
}
.top-container ul.app li dl dt {
    font-size: 1.375em;
    margin-bottom: 0.2em;
}
.top-container ul.app li dl .date {
    color: #999999;
    font-size: 0.75em;
    display: block;
    margin-bottom: 0.2em;
}
.top-container ul.app li dl dd p {
    font-size: 0.875em;
}
.top-container ul.app li .btn-app {
    margin-top: 15px;
    font-size: 0.875em;
}
.top-container ul.app li .btn-app a {
    color: #1a1819;
}
.top-container ul.app li .btn-app span {
    padding-left: 0.5em;
}

.top-container ul.bnrs {
    width: 80%;
    margin: 1.6em auto 0;
    /*
    float: left;
    width: 725px;
    */
}
.top-container ul.bnrs img {
    width: 234px;
}

.top-container ul.bnrs li {
    margin: 0 1em 1em;
    /* float: left; */
    /* padding: 0; */
}
.top-container ul.bnrs li.en-hotel_travel {
    width: 213.5px;
}
.top-container ul.bnrs li:nth-of-type(3),
.top-container ul.bnrs li:nth-of-type(4) {
    margin-bottom: 0;
}
/*
.top-container ul.bnrs li:last-child {
    float: right;
}
*/

/* 20170421 */
.top-container ul.bnrs li .separateArea {
    position: relative;
    display: block;
}
.top-container ul.bnrs li .separateArea:hover:after {
    content: " ";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 2;
}
.top-container ul.bnrs li .separateArea img {
    position: relative;
    top: 0;
    right: 0;
    width: 100%;
    height: auto;
    z-index: 1;
}
.top-container ul.bnrs li .separateArea img.magazine-img {
    height: 122px;
}
.top-container ul.bnrs li .separate {
    position: absolute;
    top: 10px;
    left: 10px;
    display: table;
    width: 200px;
    /* width: 330px; */
    z-index: 3;
}
.top-container ul.bnrs li .separate .en,
.top-container ul.bnrs li .separate .ja {
    display: table-cell;
    display: none;
    width: 50%;
    color: #FFF;
    font-size: 14px;
    text-align: center;
    vertical-align: middle;
    z-index: 10;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
.top-container ul.bnrs li .separate .en.hover,
.top-container ul.bnrs li .separate .ja.hover,
.top-container ul.bnrs li .separate .en:hover,
.top-container ul.bnrs li .separate .ja:hover {
    background: rgba(0, 0, 0, 0.6);
}
/* end 20170421 */

.top-container .app-info {
    width: 768px;
    margin: 1.5em auto 0;
    padding: 0.6em 1em 0.6em 2em;
    box-sizing: border-box;
    background-color: #f8f8f8;
    -moz-box-shadow: 0 0 4px 1px #dfdfdf;
    -webkit-box-shadow: 0 0 4px 1px #dfdfdf;
    box-shadow: 0 0 4px 1px #dfdfdf;
}
.top-container .app-info dl {
    padding: 0;
    margin: 0 1em;
}
.top-container .app-info dl dt {
    font-weight: bold;
    font-size: 1.15em;
    margin-bottom: 0.2em;
}
.top-container .app-info dl dd {
    font-size: 0.8em;
}
.top-container .app-info .app-dl a {
    display: block;
}
.top-container .app-info .app-dl a:first-child {
    margin-bottom: 0.5em;
}
.top-container .btn_news_archive {
    box-sizing: border-box;
    width: 768px;
    margin: 0 auto;
}
.top-container section.push-list {
    width: 768px;
    margin: 1.5em auto 0;
    box-sizing: border-box;
    background-color: #fff;
    -moz-box-shadow: 0 0 4px 1px #dfdfdf;
    -webkit-box-shadow: 0 0 4px 1px #dfdfdf;
    box-shadow: 0 0 4px 1px #dfdfdf;
}
.top-container .push-list .ttl-block {
    padding: 1em;
    background: #888;
    text-align: center;
}
.top-container .push-list .ttl-block h4 {
    font-size: 1.125em;
    color: #fff;
    font-weight: bold;
}
.top-container .push-list .ttl-block p {
    color: #fff;
    font-size: 0.6875em;
}
.top-container .push-list li  {
    box-sizing: border-box;
    padding: 30px 30px 30px 100px;
}
.top-container .push-list li.odd {
    background: #fff;
}
.top-container .push-list li.even {
    background: #f8f8f8;
}
.top-container .push-list li img {
    display: block;
    width: 120px;
    margin-right: 23px;
    vertical-align: bottom;
}
.top-container .push-list li .desc {
    width: 482px;
    font-size: 0.75em;
}
.top-container .push-list li .applink {
    box-sizing: border-box;
    color: #000;
    border: 1px solid #000;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    padding: 5px;
    text-decoration: none;
    display: block;
    width: 12em;
    text-align: center;
    margin-top: 1em;
}

/* }}} */

/* top-20191116 {{{ */

.container.top {
    box-sizing: border-box;
    width: 100%;
    /* background: #222; */
    padding: 0;
    margin: 0;
}
.container.top .wrap {
    background: #000;
    padding-bottom: 50px;
}
.lang-en .container.top .wrap {
    padding-bottom: 0;
    margin-bottom: 50px;
}
.container.top .menu-wrap {
    width: 100%;
    background: #222;
}
.container.top .menu {
    width: 100%;
    margin: 0 auto;
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;

    -ms-flex-pack:flex-start;
    -webkit-justify-content:flex-start;
    justify-content:flex-start;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
}
.container.top .menu li {
    box-sizing: border-box;
    flex: 0 0 auto;
    width: 20%;
}
.container.top .menu li a {
    display: block;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 230px;
    position: relative;
    line-height: 0;
    color: #fff;
    text-decoration: none;
}
/*
.container.top .menu li a:before {
    position: absolute;
    left: 30px;
    bottom: 20px;
}
*/
.container.top .menu li a:after {
    content: url(/img/top/menu_arrow.png);
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 4;
}
.container.top .menu li a .bg-layer {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background: linear-gradient(180deg, rgba(0,0,0,0) 0, rgba(0,0,0,0) 50%, rgba(0,0,0,0.7) 100%); 
    z-index: 2;
}
.container.top .menu li.blackdiamond.except-blackdiamond a .bg-layer {
    background: rgba(0,0,0,0.5);
    z-index: 5;
}
.container.top .menu li.concierge a {
    background-image: url(/img/top/btn_concierge.png);
    background-position: right center;
}
.container.top .menu li.community a {
    background-image: url(/img/top/btn_community.png);
}
.container.top .menu li.business a {
    background-image: url(/img/top/btn_business.png);
}
.container.top .menu li.dining a {
    background-image: url(/img/top/btn_dining2.png);
}
.container.top .menu li.travel a {
    background-image: url(/img/top/btn_travel2.png);
}
.container.top .menu li.lifestyle a {
    background-image: url(/img/top/btn_lifestyle2.png);
}
.container.top .menu li.point a {
    background-image: url(/img/top/btn_point2.png);
    background-position: right center;
}
.container.top .menu li.insurance a {
    background-image: url(/img/top/btn_insurance.png);
}
.container.top .menu li.manual a {
    background-image: url(/img/top/btn_manual.png);
}
.container.top .menu li.experience a {
    background-image: url(/img/top/btn_experience.png);
}
.container.top .menu li.blackdiamond a {
    background-image: url(/img/top/btn_bd.png);
}
/*
.container.top .menu li.concierge a:before {
    content: url(/img/top/menu_concierge.png);
}
.container.top .menu li.dining a:before {
    content: url(/img/top/menu_dining.png);
}
.container.top .menu li.travel a:before {
    content: url(/img/top/menu_travel.png);
}
.container.top .menu li.point a:before {
    content: url(/img/top/menu_point.png);
}
.container.top .menu li.lifestyle a:before {
    content: url(/img/top/menu_lifestyle.png);
}
.container.top .menu li.insurance a:before {
    content: url(/img/top/menu_insurance.png);
}
*/
.container.top .menu li a .menu__text {
    position: absolute;
    left: 0;
    bottom: 0;
}
.container.top .menu li a .menu__en {
    position: absolute;
    display: block;
    width: auto;
    z-index: 3;
    bottom: 1.75em;
    left: 0.5em;
    font-weight: bold;
    font-size: 2.4vw;
    line-height: 1;
    height: auto;
    letter-spacing: 0.1;
}
.container.top .menu li a .menu__ja {
    position: absolute;
    display: block;
    width: auto;
    height: auto;
    line-height: 1;
    z-index: 3;
    font-size: 1.2vw;
    bottom: 2em;
    left: 1em;
}
.container.top .menu li.blackdiamond a .menu__en {
    bottom: 2.2em;
}
.lang-en .container.top .menu li a .menu__en {
    bottom: 0.5em;
}
.lang-en .container.top .menu li.blackdiamond a .menu__en {
    bottom: 0.5em;
}

.container.top .banner-area {
    background: #222;
    width: 100%;
}
.container.top .banner-area .inner {
    width: 1240px;
    margin: 0 auto;
    padding: 50px 0 60px;
}
.container.top .banner-area .inner .ttl {
    margin-bottom: 15px;
    margin-left: auto;
    margin-right: auto;
}
.container.top .inner .bnr-campaign {
    margin: 25px 0 40px;
}
.container.top .inner .bnr-campaign img {
    width: 468px;
    height: auto;
}
.container.top .inner .bnr li {
    margin: 0 0.4em;
}
.container.top .banner-area .inner.wide {
    width: auto;
}
.container.top .inner.wide .bnr-campaign {
    margin: 25px auto 40px;
    max-width: 1540px;
    /* min-width: 1240px; */
}
#contents .container.top .inner.wide .bnr-campaign a {
    display: inline-block;
    width: 32%;
    /* max-width: 468px; */
}
#contents .container.top .inner.wide .bnr-campaign img {
    max-width: 500px;
    width: 100%;
    height: auto;
}
.container.top .inner.wide .bnr {
    width: 1240px;
    margin: 0 auto;
}


.container.top .message {
    background-color: #000;
    background-image: url(/img/top/bg_message.jpg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
}
.container.top .message .wrap {
    background-color: transparent;
}
.container.top .message .ttl {
    margin: 0 auto;
    padding: 80px 0 25px;
}
.container.top .message .push-list {
    box-sizing: border-box;
    width: 1000px;
    margin: 0 auto;
}
.container.top .message .push-list li {
    box-sizing: border-box;
    background: #e6e6e6;
    padding: 30px;
    width: 490px;
    margin-bottom: 20px;
}
.container.top .message .push-list li img {
    max-width: 120px;
    width: 120px;
    margin-right: 23px;
    vertical-align: bottom;
}
.container.top .message .push-list li .desc {
    width: 270px;
    font-size: 0.75em;
}
.container.top .message .push-list li .applink {
    box-sizing: border-box;
    color: #000;
    border: 1px solid #000;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    padding: 5px;
    text-decoration: none;
    display: block;
    width: 12em;
    text-align: center;
    margin-top: 1em;
}
.container.top .message .more {
    display: block;
    border: 1px solid #fff;
    margin: 40px auto 0;
    text-align: center;
    background: #000;
    width: 360px;
    color: #fff;
    text-decoration: none;
    height: 50px;
    line-height: 50px;
}

.container.top .ticket {
    background-color: #000;
    padding-bottom: 50px;
    width: 100%;
}
.container.top .ticket .ttl {
    margin: 0 auto;
    padding: 80px 0 25px;
}
.container.top .ticket .list-wrap {
    margin: 0 auto 1em;
}
.container.top .ticket .ticket-list {
    box-sizing: border-box;
    margin: 0 auto;
}
.container.top .ticket .ticket-list li {
    box-sizing: border-box;
    background: #e6e6e6;
    padding: 30px;
    width: 1000px !important;
    margin: 0 15px 0;
}
.container.top .ticket .ticket-list li + li {
    margin-top: 1em;
}
.container.top .ticket .ticket-list li img {
    max-width: 370px;
    width: 370px;
    margin-right: 30px;
    vertical-align: bottom;
}
.container.top .ticket .ticket-list li .desc {
    width: 510px;
    font-size: 0.75em;
}
.container.top .ticket .ticket-list li .desc h5 {
    font-weight: bold;
    font-size: 24px;
    line-height: 1.3;
}
.container.top .ticket .ticket-list li .desc .content {
    margin-top: 15px;
}
.container.top .ticket .ticket-list li .desc h5 span {
    font-size: 16px;
}
.container.top .ticket .ticket-list li .desc .yutai {
    font-weight: bold;
    font-size: 16px;
    margin-top: 20px;
}
.container.top .message .note,
.container.top .ticket .note {
    text-align: center;
    color: #fff;
    font-size: 12px;
}

.container.top .bx-wrapper{
   /* overflow:hidden; */
   width:100%;　　　/* 幅100％の場合 */
   /* height:400px;　　/* 画像の高さと同じ */
}
.container.top .bx-viewport{
  overflow:visible!important; /* 両サイドに前後の画像を表示させる */
  width: 1000px !important;              /* 画像の幅（表示させる幅） */
  /* height:400px;               /* 画像の高さ（表示させる高さ） */
  margin: 0 auto;             /* 画面中央にする */
}

.container.top .app {
    width: 1000px;
    margin: 0 auto;
    border: 1px solid #fff;
    background: #000;
    padding: 20px;
}
.container.top .app .flex-content {
    margin: 0 10px;
}
.container.top .app .desc {
    width: 315px;
    color: #fff;
    font-size: 12px;
}
.container.top .app .desc .ttl {
    font-weight: bold;
    font-size: 16px;
}
.container.top .app .qr {
    width: 80px;
}
.container.top .app .store img:first-child {
    margin-bottom: 5px;
}

.container.top .magazine {
    padding: 50px 0;
}
.container.top .magazine li {
    margin: 0 10px;
}
.container.top ul.bnrs li {
    width: 235px;
}
.container.top ul.bnrs li img {
    height: 120px;
}

/* 20170421 */
.container.top ul.bnrs li .separateArea {
    position: relative;
    display: block;
    width: 210px;
}
.container.top ul.bnrs li .separateArea:hover:after {
    content: " ";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 2;
}
.container.top ul.bnrs li .separateArea img {
    position: relative;
    top: 0;
    right: 0;
    width: 100%;
    height: auto;
    z-index: 1;
}
.container.top ul.bnrs li .separateArea img.hotel_travel {
    width: auto;
    height: 120px;
}
.container.top ul.bnrs li .separateArea img.magazine-img {
    width: auto;
    height: 120px;
}
.container.top ul.bnrs li .separate {
    position: absolute;
    top: 10px;
    left: 10px;
    display: table;
    width: 200px;
    /* width: 330px; */
    z-index: 3;
}
.container.top ul.bnrs li .separate .en,
.container.top ul.bnrs li .separate .ja {
    display: table-cell;
    display: none;
    width: 50%;
    color: #FFF;
    font-size: 14px;
    text-align: center;
    vertical-align: middle;
    z-index: 10;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}
.container.top ul.bnrs li .separate .en.hover,
.container.top ul.bnrs li .separate .ja.hover,
.container.top ul.bnrs li .separate .en:hover,
.container.top ul.bnrs li .separate .ja:hover {
    background: rgba(0, 0, 0, 0.6);
}

#contents #lang-en .qrimg {
    width: 75px;
}

/* }}} */

/* top-20230523 {{{ */
.container.top .info-area {
    display: flex;
    padding: 0.5em 0;
    width: 100%;
    background: #000;
    align-items: center;
    overflow: hidden;
}

.container.top .mark-info-new,
.container.top .mark-info-update {
    padding: 0 .5em;
    background: #fff;
    color: #000;
    font-size: .8em;
    vertical-align: text-bottom;
}

.container.top .info-area ul {
    margin: 0;
    padding-left: 100px;
    display: inline-block;
    white-space: nowrap;
    /* animation: flowing 60s linear infinite; */
    transform: translateX(0);
}

.container.top .info-area ul li {
    display: inline;
    margin: 0 100px 0 0;
    color: #fff;
}

.container.top .info-area ul li a {
    color: #fff;
}

@keyframes flowing {
    100% { 
        transform: translateX(-100%);
    }
}

/* }}} */

/* newsletter {{{ */

section.newsletter-archive {
    box-sizing: border-box;
    width: 880px;
    margin: 80px auto 70px;
}
.newsletter-archive h4 {
    text-align: center;
    display: block;
    font-size: 18px;
    border-bottom: 1px solid #000;
    padding-bottom: 30px;
    font-weight: bold;
}
.newsletter-archive .contents {
    margin-top: 35px;
}
.newsletter-archive .contents .lead {
    margin-bottom: 20px;
}
.newsletter-archive .contents li {
    box-sizing: border-box;
    margin-bottom: 35px;
    -moz-box-shadow: 0 0 4px 1px #dfdfdf;
    -webkit-box-shadow: 0 0 4px 1px #dfdfdf;
    box-shadow: 0 0 4px 1px #dfdfdf;

}
.newsletter-archive .contents li h5 {
    background: #f4f4f4;
    color: #3a3a3a;
    padding: 30px 55px;
    font-size: 20px;
}
.newsletter-archive .contents li .body {
    box-sizing: border-box;
    padding: 40px 55px;
    font-size: 14px;
}
.newsletter-archive .contents li .body img {
    width: 300px;
}
.newsletter-archive .contents li .body .desc {
    width: 440px;
}
.newsletter-archive .contents li .body .archivelink {
    margin-top: 1.5em;
    display: block;
    color: #3a3a3a;
    text-decoration: none;
}
.newsletter-archive .contents li .body .archivelink .ul {
    text-decoration: underline;
}

/* }}} */

/* common {{{ */

.bnft-ttl {
    font-size: 1.25em;
    padding-bottom: 0.5em;
    margin: 1em auto 1.5em;
    border-bottom: 2px solid #808080;
}

.category-ttl {
    background: #000;
    color: #fff;
    font-weight: bold;
    padding: 0.5em 1em;
}


/* }}} */

/* category {{{ */
.breadcrumb {
    font-size: 0.625em;
    background-color: #f4f4f4;
    padding: 20px 0 15px 50px;
    margin-bottom: 30px;
}
.breadcrumb ul {
    width: 1200px;
    margin: auto;
}
.breadcrumb li {
    display: inline-block;
}
.breadcrumb li span {
    padding: 0 0.5em;
}
.breadcrumb li a {
    color: #000000;
}
.container {
    width: 1200px;
    margin: auto;
}
.container .cat-list {
    font-size: 0.875em;
    padding: 0 70px 30px;
}
.container .cat-list li {
    padding: 0.2em 0;
    display: inline-block;
    width: 33%;
    box-sizing: border-box;
}
.container .cat-list.category li {
    display: block;
    width: 100%;
    margin-bottom: 0.2em;
}
.lifestyle-contents .lang-en .container .cat-list li {
    white-space: nowrap;
}
.container .cat-list.category .ttl,
.container .cat-list li a {
    color: #000000;
    text-decoration: none;
    font-weight: bold;
}
.container .cat-list li span {
    padding: 0 0.2em 0 0;
}
.container .cat-list.category .item {
    padding-left: 1em;
}
.container .cat-list.category .item li {
    width: auto;
    display: inline-block;
}
.container .cat-list.category .item li a {
    box-sizing: border-box;
    display: block;
    padding-left: 1em;
}
.container .cat-list.category .item li a:after {
    content: "　|";
    font-weight: normal;
    color: #ccc;
}
.container .cat-list.category .item li:last-child a:after {
    content: none;
}
.container .cat-box .line {
    background-color: #f4f4f4;
    text-align: center;
    padding: 18px 0;
}
.container .cat-box .arrow {
    border-right: 2px solid #000000;
    border-top: 2px solid #000000;
    content: "";
    width: 15px;
    height: 15px;
    display: inline-block;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    z-index: 100;
}
.cat-box ul.dining-list {
    margin-bottom: 5%;
}

.cat-box ul li {
    position: relative;
    height: 450px;
}
/*
.cat-box ul li#cafe.cat06,
.cat-box ul li#en-cafe.cat06 {
    height: 496px;
}
*/
.cat-box ul li.wide09 {
    height: 500px;
}
.cat-box ul li img.bg {
    position: absolute;
    top: 0;
    width: 100%;
    height: auto;
    overflow: hidden;
}
.cat-box ul li div {
    /* width: 400px; */
    width: 370px;
    color: #000000;
    position: relative;
    left: 160px;
    height: 450px;
    vertical-align: middle;
    display: table-cell;
    position: relative;
    z-index: 9999;
}
.cat-box ul li div:before {
    content: "";
    width: 350px;
    /* height: 280px; */
    height: 120px;
    background-color: rgba(255,255,255,0.8);
    display: block;
    position: absolute;
    z-index: -1;
    /* top: 35px; */
    top: 120px;
    left: -40px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -moz-box-shadow: 0 0 30px -6px rgba(0, 0, 0, 0.33);
    -webkit-box-shadow: 0 0 30px -6px rgba(0, 0, 0, 0.33);
    box-shadow: 0 0 30px -6px rgba(0, 0, 0, 0.33);
    padding: 50px;
}

.cat-box ul li div.closed:before {
    background-color: rgba(200,200,200,0.9);
}
.cat-box ul li div.left.wide:before,
.cat-box ul li div.right.wide:before {
    height: 160px;
    top: 100px;
}
.cat-box ul li div.left.wide02:before,
.cat-box ul li div.right.wide02:before {
    height: 200px;
    top: 80px;
}
.cat-box ul li div.left.wide03:before,
.cat-box ul li div.right.wide03:before {
    height: 230px;
    top: 70px;
}
.cat-box ul li div.left.wide04:before,
.cat-box ul li div.right.wide04:before {
    height: 285px;
    top: 30px;
}
.cat-box ul li div.left.wide05:before,
.cat-box ul li div.right.wide05:before {
    height: 320px;
    top: 15px;
}
.cat-box ul li div.left.wide06:before,
.cat-box ul li div.right.wide06:before {
    height: 330px;
    top: 5px;
}
.cat-box ul li div.left.wide07:before,
.cat-box ul li div.right.wide07:before {
    height: 370px;
    top: 0;
}
.cat-box ul li div.left.wide08:before,
.cat-box ul li div.right.wide08:before {
    height: 345px;
    top: 0;
}

/* liにも同じクラスを設定 */
.cat-box ul li.wide09 div.left.wide09,
.cat-box ul li.wide09 div.right.wide09 {
    height: 500px;
}
.cat-box ul li.wide09 div.left.wide09:before,
.cat-box ul li.wide09 div.right.wide09:before {
    height: 400px;
    top: 0;
}

.cat-box ul li div .icon-wrap {
    position: absolute;
    left: -32px;
    top: 83px;
    /*
    right: -32px;
    bottom: 75px;
    */
    z-index: 2;
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:flex-end;
    -webkit-justify-content:flex-end;
    justify-content:flex-end;
    -webkit-align-items: flex-start;
    -ms-align-items    : flex-start;
    align-items        : flex-start;
}
.cat-box ul li div.wide .icon-wrap {
    left: -32px;
    top: 108px;
    /*
    right: -32px;
    bottom: 96px;
    */
}
.cat-box ul li div.wide03 .icon-wrap {
    left: -32px;
    top: 83px;
    /*
    right: -32px;
    bottom: 58px;
    */
}
.cat-box ul li div.wide04 .icon-wrap {
    left: -32px;
    top: 40px;
    /*
    right: -32px;
    bottom: 44px;
    */
}
.cat-box ul li div.wide05 .icon-wrap {
    left: -32px;
    top: 22px;
    /*
    right: -32px;
    bottom: 24px;
    */
}
.cat-box ul li div.wide06 .icon-wrap {
    left: -32px;
    top: 10px;
}
.cat-box ul li div .icon-wrap img {
    width: 32px;
}


.cat-box ul li div.right {
    left: 630px;
}
.cat-box ul li div h3 {
    font-size: 2em;
    line-height: 1.6;
    margin-bottom: 10px;
    position: relative;
    /*
    -moz-text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    -webkit-text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    -ms-text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    */
}
.cat-box ul li div h3.small {
    font-size: 1.5em;
}
.cat-box ul li div h3.em18 {
    font-size: 1.8em;
}
.cat-box ul li div h3.em14 {
    font-size: 1.4em;
}
.cat-box ul li div h3.em125 {
    font-size: 1.25em;
}

.cat-box ul li div h3 + p {
    font-size: 0.875em;
    /*
    -moz-text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    -webkit-text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    -ms-text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
    */
}
#contents .has-mark-new .mark-new {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 0.5em;
}
.cat-box ul li .btn-detail {
    margin-top: 20px;
    display: inline-block;
    vertical-align: middle;
}
.cat-box ul li .btn-detail-2 {
    margin-top: 10px;
    display: inline-block;
    vertical-align: middle;
}
.cat-box ul li .btn-detail-closed {
    cursor: default;
}
.cat-box ul li .btn-detail-closed img {
    opacity: 0.3;
}
/*
.cat-box ul li .btn-detail img {
    -moz-box-shadow: 0 0 4px 1px #dfdfdf;
    -webkit-box-shadow: 0 0 4px 1px #dfdfdf;
    box-shadow: 0 0 4px 1px #dfdfdf;
}
*/
.cat-box ul li div.bx-wrapper,
.cat-box ul li div.bx-wrapper div {
    width: 100%;
    position: relative;
    left: auto;
    height: auto;
    vertical-align: middle;
    display: block;
    z-index: auto;
}
.cat-box ul li div.bx-wrapper {
	position: absolute;
}
.cat-box ul li div.bx-wrapper:before,
.cat-box ul li div.bx-wrapper div:before {
	display: none;
}



.cat-box ul li span.special {
    font-size: 0.9em;
    display: inline-block;
    vertical-align: middle;
    margin: 30px 0 0 20px;
}
.cat-box ul li span.mastercard {
    font-size: 0.9em;
    display: block;
}
.cat-box ul li span.ico_card {
    display: block;
}
.cat-box ul li sub.ico_card img.ico_card1 {
    width: 24px;
}
#contents .container.detail .main-img {
    text-align: left;
    position: relative;
    font-size: 2.2em;
}
.container.detail .main-img section.ttl-content {
    color: #000000;
    position: absolute;
    top: 50px;
    left: 80px;
    width: 38%;
    height: 360px;
    box-sizing: border-box;
    padding: 45px;
    background-color: rgba(255,255,255,0.8);
    display: block;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -moz-box-shadow: 0 0 30px -6px rgba(0, 0, 0, 0.33);
    -webkit-box-shadow: 0 0 30px -6px rgba(0, 0, 0, 0.33);
    box-shadow: 0 0 30px -6px rgba(0, 0, 0, 0.33);
}
.container.detail .main-img section.ttl-content.w40 {
    width: 40%;
}
.container.detail .main-img section.ttl-content.narrow {
    top: 100px;
    height: 290px;
}
.container.detail .main-img section.ttl-content.narrow2 {
    top: 100px;
    height: 230px;
}
.container.detail .main-img section.ttl-content.right {
    left: auto;
    right: 80px;
}
.container.detail .main-img section.ttl-content.wide {
    height: 430px;
    top: 10px;
}
.container.detail .main-img section.ttl-content.wide.wide2 {
    height: 440px;
    top: 5px;
}
.container.detail .main-img p {
    position: absolute;
    top: 45%;
    left: 45px;
    transform: translateY(-55%);
    -webkit- transform: translateY(-55%);
    width: 80%;
    /*
    color: #000000;
    position: absolute;
    top: 50px;
    left: 80px;
    width: 38%;
    height: 360px;
    box-sizing: border-box;
    padding: 45px;
    background-color: rgba(255,255,255,0.8);
    display: block;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -moz-box-shadow: 0 0 30px -6px rgba(0, 0, 0, 0.33);
    -webkit-box-shadow: 0 0 30px -6px rgba(0, 0, 0, 0.33);
    box-shadow: 0 0 30px -6px rgba(0, 0, 0, 0.33);
    */
}
.container.detail .main-img p.adjust {
    top: 50%;
    -webkit- transform: translateY(-50%);
    transform: translateY(-50%);
}
.container.detail .main-img p.narrow {
    /*
    top: 100px;
    height: 290px;
    */
}
.container.detail .main-img p.narrow2 {
    /*
    top: 100px;
    height: 230px;
    */
}
.container.detail .main-img p.ttl-only {
    top: 120px;
    height: 140px;
}
.container.detail .main-img p.ttl-only02 {
    top: 120px;
    height: 140px;
    padding-top: 20px;
}
.container.detail .main-img p.right {
    /*
    left: auto;
    right: 80px;
    */
}
.container.detail .main-img p.wide {
    width: 56%;
}
.container.detail .main-img p.wide3 {
    left: 39px;
    width: 83%;
}
.container.detail .main-img p.v50 {
    top: 50%;
}
.container.detail .main-img p span {
    font-size: 0.4em;
    display: block;
    margin-top: 1em;
    text-align: left;
    /* line-height: 2; */
}
.container.detail .main-img p.wide2 span {
    /* line-height: 1.8; */
}
.cat-box ul li p span.ico_card,
.container.detail .main-img p span.ico_card {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;

    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;

    margin-top: 0.5em;
}
.cat-box ul li p span.ico_card .text,
.container.detail .main-img p span.ico_card .text {
    font-size: 1em;
    margin-top: 0;
    margin-right: 0.2em;
}
.cat-box ul li p span.ico_card img,
.container.detail .main-img p span.ico_card img {
    width: 4.5em !important;
}
.container.detail .main-img p span.ico_card img.ico_card {
}
.container.detail .main-img p span.ico_card + span {
    margin-top: 0;
}
.container.detail .main-img p span.h2title,
.container.detail .main-img p sub.h2title {
    font-size: 1em;
}
.container.detail .main-img p span.h2title-long,
.container.detail .main-img p sub.h2title-long {
    font-size: 0.8em;
}
.container.detail .main-img p span.mtop0 {
    margin-top: 0;
}
.container.detail .main-img p .h2title-long06,
.container.detail .main-img p.wide .h2title-long06 {
    font-size: 0.6em;
}
.container.detail .main-img p .h2title-long065,
.container.detail .main-img p.wide .h2title-long065 {
    font-size: 0.65em;
}
.container.detail .main-img p .h2title-long07 {
    font-size: 0.7em;
}
.container.detail .main-img p .h2title-long077 {
    font-size: 0.77em;
}
.container.detail .main-img p .h2title-long08 {
    font-size: 0.8em;
}
.container.detail .main-img p .h2title-long089 {
    font-size: 0.89em;
}
.container.detail .main-img p .h2title-long09 {
    font-size: 0.9em;
}
.container.detail .main-img p .h2title-long099 {
    font-size: 0.99em;
}
.container.detail .main-img p .h2title-long1 {
    font-size: 0.75em;
}
.container.detail .main-img p .h2title-long2 {
    font-size: 0.6em;
}
.container.detail .main-img p .h2title-long3 {
    font-size: 0.51em;
}
.container.detail h3 {
    text-align: left;
    margin-bottom: 0.8em;
}
.container.detail h3 + p {
    margin-bottom: 45px;
}
.container.detail h3.notes2
.container.detail h3.notes {
    font-size: 0.9em;
    border-top: solid 1px #d8d8d8;
    padding-top: 3%;
}
.container.detail h3.notes + p {
    font-size: 0.9em;
}
.container.detail h3 + p img {
    max-width: 100%;
    margin-bottom: 0.8em;
}
.container.detail h3 + p + p {
    margin-top: -10px;
    margin-bottom: 45px;
}
.container.detail ul + p {
    margin-bottom: 45px;
}
.container.detail .notes-list {
    margin-bottom: 45px;
    border-bottom: solid 1px #d8d8d8;
    padding-bottom: 3%;
    font-feature-settings: normal;
}
.container.detail .notes-list.nb {
    border-bottom: none;
}
.container.detail .notes-list.mb0 {
    margin-bottom: 0;
}
.normal-notes-list li {
    text-indent: -1em;
    padding-left: 1em;
    font-size: 0.9em;
}
.container.detail .notes-list li {
    text-indent: -1em;
    padding-left: 1em;
    font-size: 0.9em;
}
.notes2-list li {
    font-size: 0.9em;
    text-indent: -0.5em !important;
}
.lang-en .container.detail .notes-list li {
    text-indent: -0.5em;
    padding-left: 0.5em;
}
.lang-en .container.detail.notes-full .notes-list li {
    text-indent: -1em;
    padding-left: 1em;
}
.lang-en .container.detail .notes-list li span {
    padding-left: 3em;
}
.container.detail .indent-list {
    margin-bottom: 45px;
}
.container.detail .indent-list li {
    text-indent: -1em;
    padding-left: 1em;
}
.container.detail p:first-child {
    /* margin-bottom: 45px; */
}

#contents .container.detail .freedial {
    width: 40px;
    display: inline-block;
    vertical-align: middle;
    margin: 0;
}

.container.detail .to-luxury-top {
    border-top: solid 1px #808080;
    padding: 50px 0;
    margin: 50px 0 0 0;
    text-align: center;
    font-size: 0.625em;
}
.container.detail .to-luxury-top a {
    color: #333333;
    text-decoration: none;
    border-bottom: solid 2px #d8d8d8;
    line-height: 1;
    display: inline-block;
}
.container.detail .add-poin-wrap {
	padding-left: 2em;
}
.container.detail .info-table,
.container.detail .info-table2 {
    width: 100%;
    text-align: left;
    margin-bottom: 45px;
}
.container.detail .info-table2.info-table3 {
    width: 60%;
    text-align: left;
    margin-bottom: 45px;
}
.container.detail .info-table2.info-table3 .card{
    padding-left: 4em;
}
.container.detail .info-table caption {
    text-align: left;
    margin-bottom: 10px;
}
.container.detail .info-table caption span {
    display: block;
}
.container.detail .info-table th,
.container.detail .info-table2 th {
    background-color: #807e7a;
    color: #ffffff;
    font-weight: bold;
    vertical-align: top;
    padding: 1.5em;
    border: solid 1px #999691;
    width: 200px;
    box-sizing: border-box;
}
.container.detail .info-table td,
.container.detail .info-table2 td {
    padding: 1.5em;
    border: solid 1px #807e7a;
    background-color: #ffffff;
    vertical-align: middle;
    box-sizing: border-box;
}
.container.detail .info-table2 td,
.container.detail .info-table2 th {
    padding: 0.5em;
}
.container.detail .info-table2.info-table3 td {
    width: 50%;
}
#contents .container.detail .info-table2 td img.ico_card {
    display: inline-block;
    width: 2em;
    vertical-align: middle;
    margin-right: 0.5em;
}
.container.detail .info-table2.tohocinemas td.card {
    white-space: nowrap;
}

.container h3.bg-bk {
    background-color: #000000;
    color: #ababab;
    padding: 1em;
    text-align: center;
    margin: 20px 0 50px;
}
#contents .container h3.bg-wh {
    font-size: 1.75em;
    font-weight: normal;
    text-align: center;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}
.container .relation ul {
    width: auto;
    max-width: 730px;
    text-align: left;
    margin: 0 auto 3%;
}

.container .relation ul li {
    display: inline-block;
    vertical-align: top;
    max-width: 350px;
    margin: 0 25px 25px 0;
    padding: 0;
    -moz-box-shadow: 0 0 4px 1px #dfdfdf;
    -webkit-box-shadow: 0 0 4px 1px #dfdfdf;
    box-shadow: 0 0 4px 1px #dfdfdf;
}
.container .relation ul li:nth-child(2n) {
    margin-right: 0;
}
.container .relation ul li img {
    display: block;
    max-width: 100%;
}
.container .relation ul li dl {
    padding: 20px 20px 35px;
    text-align: left;
}
.container .relation ul li dl dt {
    font-size: 1.375em;
    margin-bottom: 0.2em;
}
.container .relation ul li dl dt.em125 {
    font-size: 1.25em;
}
.container .relation ul li dl dd p {
    font-size: 0.875em;
}
.container .relation ul li .btn-detail-2,
.container .relation ul li .btn-detail {
    margin-top: 20px;
    font-size: 0.875em;
}
.container .relation ul li .btn-detail-2 a,
.container .relation ul li .btn-detail a {
    color: #1a1819;
}
.container .relation ul li .btn-detail-2 span,
.container .relation ul li .btn-detail span {
    padding-left: 0.5em;
}


.cat-box ul.lifestyle-list li img.logo {
    width: 100px;
}

#contents .container.lifestyle.detail .container-inner {
    width: 900px;
    line-height: 1.8;
    margin: auto;
}
#contents .container.lifestyle.detail .container-inner h2 {
    font-size: 1.75em;
    text-align: left;
    letter-spacing: 0.1em;
    margin-bottom: 25px;
}
.container.lifestyle.detail .detail-img {
    margin-bottom: 45px;
}
.container.lifestyle.detail .bx-wrapper .detail-img {
    margin-bottom: 0;
}
.container.lifestyle.detail h3 {
    font-weight: bold;
    line-height: 1;
}
.container.lifestyle.detail h3.big {
	font-size: 1.1em;
}
.container.lifestyle.detail h3.bg-black {
    background-color: #000;
    color: #fff;
    padding: 0.8em 1em;
}
#contents  .container.lifestyle.detail h3.bg-black span {
	font-size: 0.75em;
	vertical-align: text-bottom;
	padding: 0.35em;
	background-color: #fff;
    color: #000;
}
#contents .container.lifestyle.detail .container-inner img.card {
    max-width: 100%;
    margin-bottom: 2%;
}
.container.lifestyle.detail .anchor-area {
    text-align: center;
    margin-bottom: 20px;
}
.container.lifestyle.detail .anchor-area a {
    color: #000000;
}
.container.lifestyle.detail .sub-img {
    margin-bottom: 15px;
}
.container.lifestyle.detail .app-dl {
    margin-bottom: 30px;
}
.container.lifestyle.detail .app-dl a {
    display: inline-block;
    margin-right: 20px;
}
.container.lifestyle.detail .app-dl a:last-child {
    margin-right: 0;
}
.container.lifestyle.detail .logo-img {
    max-width: 200px;
    margin: 0 auto 20px;
}
.container.lifestyle.detail .logo-img-svg {
    width: 350px;
    margin: 0 auto 20px;
}
.container.lifestyle.detail ul.gym {
    box-sizing: border-box;
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 4em;
}
.container.lifestyle.detail ul.gym li {
    flex: 0 0 30%;
    border: 1px solid #999;
    padding: 0.4em;
    min-height: 6em;
    vertical-align: middle;
}

.container.lifestyle.detail .photo {
    width:100%;
}
.container.lifestyle.detail .photo img {
    width: 100%;
}
.container.dining.detail .logo-center,
.container.lifestyle.detail .logo-center {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:center;
    -webkit-justify-content: center;
    justify-content:center;
}


#contents h2 {
    font-size: 2em;
    /* font-size: 1.75em; */
    text-align: center;
    /* letter-spacing: 0.1em; */
}
#contents h2 + p {
    font-size: 0.875em;
    text-align: center;
    line-height: 1.8;
    letter-spacing: 0.2em;
    border-bottom: solid 1px #f4f4f4;
    padding-bottom: 40px;
    margin-bottom: 30px;
}

.container.dining .select-area {
    text-align: center;
    margin-bottom: 30px;
}
.container.dining select {
    background-color: #fafafa;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    padding: 1em;
    border: solid 1px #f4f4f4;
    width: 280px;
    display: inline-block;
    margin: 0 10px;
}
.container.dining .cat-box dl.restaurant-list {
    width: 1100px;
    margin: 40px auto 0;
}
.container.dining .cat-box dl.restaurant-list dt {
    font-size: 1.4em;
}
.container.dining .cat-box dl.restaurant-list dt span {
    font-size: 0.7em;
    margin-left: 1em;
}
.container.dining .cat-box ul.restaurant-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1100px;
    margin: 20px auto 0;
    padding: 0;
}
.container.dining .cat-box ul.restaurant-list::before,
.container.dining .cat-box ul.restaurant-list::after {
    content: '';
    order: 10000;
    display: block;
    width: 265px;
    height: 1px;
}
.container.dining .cat-box ul.restaurant-list li {
    /* float: left; */
    width: 265px;
    height: auto;
    height: initial;
    /* margin: 0 13px 20px 0; */
    margin: 0 0 20px 0;
}
.container.dining .cat-box ul.restaurant-list li:nth-child(4n) {
    margin-right: 0;
}
.container.dining .cat-box ul.restaurant-list li:nth-child(4n + 1) {
    /*clear: left;*/
}
.container.dining .cat-box ul.restaurant-list li h4 {
    margin-top: 5px;
    /* margin-top: 10px; */
}
.container.dining .cat-box ul.restaurant-list li h4 + p {
    font-size: 0.75em;
    color: #777777;
    margin-top: 10px;
}
.container.dining .cat-box ul.restaurant-list li img {
    width: 265px;
    height: initial;
    height: auto;
    /* position: relative; */
}
/* 20171009 変更
.container.dining .cat-box ul.restaurant-list li span.mark_new {
    position: absolute;
    top: 0;
    right: 0;
}
*/
.container.dining .cat-box ul.restaurant-list .cards {
    margin-top: 5px;
}
.container.dining .cat-box ul.restaurant-list .cards  img {
    /* width: 28px; */
    width: 40px;
    margin-right: 2px;
}

.container.dining .cat-box ul.restaurant-list.pickup {
    justify-content: center;
}
.container.dining .cat-box ul.restaurant-list.pickup li {
    display: inline-block;
    margin-right: 6.5px;
    margin-left: 6.5px;
    padding: 1em;
    border: solid 1px #ccc;
    /* box-sizing: border-box; */
}
.container.dining .cat-box ul.restaurant-list.pickup::before,
.container.dining .cat-box ul.restaurant-list.pickup::after {
    display: none;
}


.container.dining .bg-gr {
    background-color: #f5f3ec;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    padding: 35px;
    width: 1000px;
    margin: 0 auto 45px;
    box-sizing: border-box;
    word-break: break-all;
}
.container.dining .more h4 {
    font-size: 0.75em;
    font-weight: bold;
    margin: 30px 0 10px;
}
.container.dining .more h4:first-child {
    margin-top: 0;
}
.container.dining .more p {
    font-size: 0.75em;
    color: #777777;
}





#contents .container.dining.detail .container-inner {
    width: 900px;
    line-height: 1.8;
    margin: auto;
}
.container.dining.detail h2.has-slide {
    margin-bottom: 45px;
}
.container.dining.detail .bx-wrapper .detail-img {
    margin-bottom: 0;
}
.container.dining.detail h3 {
    font-weight: bold;
    line-height: 1;
}
.container.dining.detail .anchor-area {
    text-align: center;
    margin-bottom: 20px;
}
.container.dining.detail .anchor-area a {
    color: #000000;
}
.container.dining.detail .sub-img {
    margin-bottom: 15px;
}
.container.dining.detail .app-dl {
    margin-bottom: 30px;
}
.container.dining.detail .app-dl a {
    display: inline-block;
    margin-right: 20px;
}
.container.dining.detail .app-dl a:last-child {
    margin-right: 0;
}
.container.dining.detail .flex-content.penthouse.img {
}
.container.dining.detail .flex-content.penthouse.img img {
    width: 200px;
    max-width: 200px;
}
.container.dining.detail .flex-content.penthouse.desc {
    box-sizing: border-box;
    width: 650px;
}
.container.dining.detail .flex-content.penthouse.desc h3 span {
    font-weight: normal;
}
.container.dining.detail .flex-content.penthouse.desc .ttl-card-desc {
}
.container.dining.detail .flex-content.penthouse.desc .ttl-card-desc.noml {
    margin-left: 0;
}
.container.dining.detail table.dining-table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    border: solid 1px #ccc;
}
.container.dining.detail table.dining-table caption {
    text-align: right;
}
.container.dining.detail table.dining-table th {
	background: #000;
	color: #fff;
	border: solid 1px #ccc;
	white-space: nowrap;
	padding: 0.5em;
}
.container.dining.detail table.dining-table td {
	border: solid 1px #ccc;
	padding: 0.5em;
}
.container.dining.detail table.dining-table td.has-row {
	vertical-align: middle;
}


/* dining luxurytable luxuryupgrade */

#contents .container.dining.dining02.detail {
    width: 900px;
    line-height: 1.8;
}
#contents .container.dining.dining02.detail h2 {
    font-size: 1.75em;
    text-align: left;
    letter-spacing: 0.1em;
    margin-bottom: 25px;
}
#contents .container.dining.dining02.detail h2 sub {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: nowrap;
}
#contents .container.dining.dining02.detail h2 span {
    display: block;
    flex: 0 0 auto;
    font-size: 0.5em;
}
#contents .container.dining.dining02.detail h2 span img {
    width: 28px;
    vertical-align: -2px;
    display: inline-block;
}
.container.dining.dining02.detail .detail-img {
    margin-bottom: 25px;
    width: 900px;
    height: initial;
    height: auto;
}
.container.dining.dining02.detail h3,
.container.dining.dining02.detail p,
.container.dining.dining02.detail table th {
    font-size: 0.875em;
}
.container.dining.dining02.detail table td {
    font-size: 0.75em;
}
.container.dining.dining02.detail h3 {
    font-weight: bold;
}
.container.dining.dining02.detail .bg-gr {
    width: 900px;
}
.container.dining.dining02.detail table.service {
    width: 100%;
    text-align: left;
    margin-top: 10px;
}
.container.dining.dining02.detail table.service th {
    background-color: #807e7a;
    color: #ffffff;
    font-weight: bold;
    vertical-align: top;
    padding: 1.5em;
    border: solid 1px #999691;
    width: 150px;
    box-sizing: border-box;
}
.container.dining.dining02.detail table.service td {
    padding: 1.5em;
    border: solid 1px #807e7a;
    background-color: #ffffff;
    vertical-align: middle;
    box-sizing: border-box;
}
.container.dining.dining02.detail h3.restaurant-info-title {
    margin-left: 35px;
}
.container.dining.dining02.detail table.restaurant-info {
    width: 830px;
    text-align: left;
    margin: 0 auto 20px;
}
.container.dining.dining02.detail table.restaurant-info th {
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    vertical-align: top;
    padding: 1.5em;
    border-top: solid 1px #000000;
    border-bottom: solid 1px #4d4d4d;
    width: 150px;
    box-sizing: border-box;
    box-sizing: border-box;
}
.container.dining.dining02.detail table.restaurant-info td {
    padding: 1.5em;
    border: solid 1px #807e7a;
    background-color: #ffffff;
    vertical-align: middle;
    box-sizing: border-box;
    color: #333333;
}
.container.dining.dining02.detail table.restaurant-info td a {
    color: #333333;
    text-decoration: none;
    border-bottom: solid 2px #d8d8d8;
    line-height: 1;
    display: inline-block;
}
.container.dining.dining02.detail .map {
    text-align: center;
}
.container.dining.dining02 .flex-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
}
.container.hotel p.mark_new,
.container.dining.dining02 p.mark_new,
.container.hawaii p.mark_new,
.container.wellness p.mark_new {
    box-sizing: border-box;
    font-size: 0.8em;
    background-color: #633142;
    color: #fff;
    padding: 0.1em;
    width: 3em;
    text-align: center;
    float: right;
    margin: 0;
    margin-left: 5px;
    line-height: 1.5;
}
.container.hotel p.mark_update,
.container.dining.dining02 p.mark_update,
.container.hawaii p.mark_update,
.container.wellness p.mark_update {
    box-sizing: border-box;
    font-size: 0.8em;
    background-color: #633142;
    color: #fff;
    padding: 0.1em;
    width: 4.5em;
    text-align: center;
    float: right;
    margin: 0;
    margin-left: 5px;
    line-height: 1.5;
}
.container.hotel .icon,
.container.dining.dining02 .icon,
.container.hawaii .icon,
.container.wellness .icon {
    display: inline-block;
    float: right;
    vertical-align: middle;
    margin-top: -11px;
    margin-left: 2px;
}
.container.hotel .icon .img,
.container.dining.dining02 .icon .img,
.container.hawaii .icon .img,
.container.wellness .icon .img {
    width: 36px !important;
}

.concierge-icon,
.limited-icon,
.update-icon,
.new-icon {
    box-sizing: border-box;
    font-size: 0.8em;
    background-color: #633142;
    color: #fff;
    padding: 0.1em;
    width: 3em;
    text-align: center;
    float: left;
    margin: 0;
}
.update-icon.float-none,
.new-icon.float-none {
    float: none;
    display: inline-block;
}
.update-icon {
    width: 6em;   
    letter-spacing: 0.01;
    text-align: center !important;
    vertical-align: bottom;
}
.limited-icon.right,
.update-icon.right,
.new-icon.right {
    float: right;
}
.limited-icon {
    width: 7em;
    letter-spacing: 0.01;
    text-align: center !important;
    vertical-align: bottom;
    font-size: 0.8em;
}
.container.travel.hotel .limited-icon,
.container.travel.hotel .update-icon,
.container.travel.hotel .new-icon,
.container.dining.dining02 .limited-icon,
.container.dining.dining02 .update-icon,
.container.dining.dining02 .new-icon,
.container.lifestyle.wellness .limited-icon,
.container.lifestyle.wellness .update-icon,
.container.lifestyle.wellness .new-icon {
    line-height: 1.5;
}
.container.travel.hotel .limited-icon,
.container.dining.dining02 .limited-icon,
.container.lifestyle.wellness .limited-icon {
    /* padding: 0.1em; */
    /* height: 100%; */
    float: right;
}
.concierge-icon {
    width: 10em;
    padding: 0;
    text-align: center !important;
    vertical-align: bottom;
    font-size: 0.8em;
}
.container.dining.dining02 .concierge-icon {
    margin-left: 5px;
    padding: 0.1em;
    /* height: 100%; */
    float: right;
}
.cafe-index .new-icon.right {
    position: absolute;
    top: 0;
    right: 0;
    float: none;
    z-index: 3;
}
.container.dining.dining02 .mark_gold {
    box-sizing: border-box;
    font-size: 0.8em;
    background-color: #b59c26;
    color: #fff;
    padding: 0.1em 0.5em;
    display: block;
    text-align: center;
    margin: 0 0.2em 0 0;
    float: left;
}
.container.dining.dining02 .mark_txt {
    font-size: 0.6em;
    padding-left: 0.5em;
    vertical-align: baseline;
}
.container.dining.dining02 p.add_info {
    font-size: 0.8em;
}
/* limousine */
table.limousine-area {
    border-collapse: collapse;
    width: 100%;
}
table.limousine-area caption {
    text-align: left;
}
table.limousine-area th {
    border: 1px solid #999;
    padding: 0.4em;
    background-color: #efefef;
    vertical-align: middle;
}
table.limousine-area td {
    border: 1px solid #999;
    padding: 0.4em;
}
table.limousine-area.jpn thead th.no1 {
    width: 35%;
}


#contents .limousine-lead {
    text-align: center;
    padding-bottom: 0;
    margin-bottom: 0;
}
#contents .limousine-lead-img {
    width: 24em;
    margin: 0.5em auto;
}
#contents .lang-en .limousine-lead-img {
    width: 19em;
}
#contents .limousine-lead.limousine-lead2 {
    margin-bottom: 30px;
}


#contents .limousine-map {
    margin: 5px 0 13px;
    padding: 20px;
    background: #f4f4f4;
}
#contents .limousine-map .limousine-map-txt {
    padding: 0 15px 0 8px;
}
#contents .limousine-map .limousine-map-img {
    width: 530px;
}


/* slider */

.container.travel .slide-img li {
    height: 600px;
}
.container.travel .bx-wrapper .bx-viewport {
    margin: 0 0 2.8em;
}
.container .bx-wrapper .bx-loading {
    background: url(/img/bx_loader.gif) center center no-repeat #fff;
}
.container .bx-wrapper .bx-viewport {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    left: 0;
    background: none;
}
/*
.container .bx-wrapper .bx-prev {
    left: 15px;
    background: none;
    
    border-left: 2px solid #ebebec;
    border-top: 2px solid #ebebec;
    content: "";
    width: 15px;
    height: 15px;
    display: inline-block;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    z-index: 100;
}
*/
.container .bx-wrapper .bx-prev:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-block;
    width: 50px;
    height: 50px;
    background: #000;
}
.container .bx-wrapper .bx-prev:after {
    left: 28px;
    background: none;
    position: absolute;
    top: 50%;
    
    border-left: 2px solid #ebebec;
    border-top: 2px solid #ebebec;
    content: "";
    width: 15px;
    height: 15px;
    display: inline-block;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg) translateY(-68%);
    z-index: 100;
}
.container .bx-wrapper .bx-next:before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-block;
    width: 50px;
    height: 50px;
    background: #000;
}

.container .bx-wrapper .bx-next:after {
    background: none;
    position: absolute;
    right: 28px;
    top: 50%;
    
    border-right: 2px solid #ebebec;
    border-top: 2px solid #ebebec;
    content: "";
    width: 15px;
    height: 15px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg) translateY(-68%);
    z-index: 100;
}
.container .bx-wrapper .bx-pager {
    padding-top: 0;
}
.container .bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {
    box-sizing: border-box;
    height: 10px;
    bottom: -30px;
    z-index: 999999;
    position: absolute;
    display: block;
}
.container .bx-wrapper .bx-pager.bx-default-pager a {
    box-sizing: border-box;
	background: #000;
    border: 1px solid #fff;
	text-indent: -9999px;
	display: block;
	width: 10px;
	height: 10px;
	margin: 0 5px;
	outline: 0;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
.container .bx-wrapper .bx-pager.bx-default-pager a:hover,
.container .bx-wrapper .bx-pager.bx-default-pager a.active {
	background: #fff;
}

.bx-wrapper .bx-caption {
    background: rgba(0, 0, 0, 0.5);
}
.bx-wrapper .bx-caption span {
    font-family: inherit;
    font-size: 1.2em;
    padding: 0.5em 1em;
}

#contents .container.travel.detail .container-inner {
    width: 900px;
    line-height: 1.8;
    margin: auto;
}
#contents .container.travel.detail .container-inner h2 {
    font-size: 1.75em;
    text-align: left;
    letter-spacing: 0.1em;
    margin-bottom: 25px;
}
.container.travel.detail .detail-img {
    margin-bottom: 45px;
}
.container.travel.detail .img-info {
    font-size: 0.9em;
    margin: -30px 0 45px;
}
.container.travel.detail h3 {
    font-weight: bold;
    line-height: 1;
}
.container.travel.detail .lounge-list {
    margin-bottom: 45px;
}
.container.travel.detail .lounge-list a {
    color: #000000;
}
.container.travel.detail .anchor-area {
    text-align: center;
    margin-bottom: 20px;
}
.container.travel.detail .anchor-area a {
    color: #000000;
}
.container.travel.detail .sub-img {
    margin-bottom: 15px;
}
.container.travel.detail .app-dl {
    margin-bottom: 30px;
}
.container.travel.detail .app-dl a {
    display: inline-block;
    margin-right: 20px;
}
.container.travel.detail .app-dl a:last-child {
    margin-right: 0;
}
/* ryokan */
#contents .container.travel.detail.ryokan .container-inner {
    width: 1100px;
}

dl.ryokan-list {
    width: 1100px;
    margin: 40px auto 0;
}
dl.ryokan-list dt {
    font-size: 1.4em;
}
dl.ryokan-list dt span {
    font-size: 0.7em;
    margin-left: 1em;
}
.container.travel.detail.ryokan .ryokan-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1100px;
    margin: 2% auto;
    padding: 0;
}
.container.travel.detail.ryokan .ryokan-list::before,
.container.travel.detail.ryokan .ryokan-list::after {
    content: '';
    order: 10000;
    display: block;
    width: 265px;
    height: 1px;
}
.container.travel.detail.ryokan .title-border .ryokan-list {
    width: 900px;
    margin: 2% 0 0;
}
.container.travel.detail.ryokan .ryokan-list li {
    /* float: left; */
    width: 265px;
    height: auto;
    height: initial;
    margin: 0 0 20px 0;
}
.container.travel.detail.ryokan .ryokan-list li:nth-child(4n) {
    margin-right: 0;
}
.container.travel.detail.ryokan .ryokan-list li img {
    width: 265px;
    height: initial;
    height: auto;
}
.container.travel.detail.ryokan .ryokan-list a {
    color: #000000;
}
.container.travel.detail.ryokan .ryokan-list a:hover {
    /*text-decoration: underline;*/
}
.container.travel.detail.ryokan .ryokan-list .area {
    font-size: 0.8em;
}
.container.detail .title-border {
    margin: 2em 0 0;
    border: 1px solid #3a3a3a;
    padding: 2em;
    position: relative;
}
.container.detail .title-border:before {
    background-color: #ffffff;
    color: #3a3a3a;
    content: "お部屋のアップグレード、ボトルワイン付きプラン";
    left: 1em;
    padding: 0 0.5em;
    position: absolute;
    top: -1em;
}
.lang-en .container.detail .title-border:before {
    background-color: #ffffff;
    color: #3a3a3a;
    content: "Room Upgrades, Wine Plan";
    left: 1em;
    padding: 0 0.5em;
    position: absolute;
    top: -1em;
}
.container.travel.detail.detail02.ryokan {
    width: 900px;
}
.container.travel.detail.detail02.ryokan img {
    max-width: 100%;
}
#contents .container.travel.detail.detail02.ryokan h2 {
    font-size: 1.75em;
    text-align: left;
    letter-spacing: 0.1em;
    /* margin-bottom: 25px; */
    margin-bottom: 0;
}
#contents .container.travel.detail.detail02.ryokan h2 + .area {
    margin-bottom: 25px;
    font-size: 0.8em;
    text-align: left;
    padding: 0;
}
.container.travel.detail.detail02.ryokan p {
    margin: 0 0 45px;
}
.container.travel.detail.detail02.ryokan .credit {
    text-align: center;
    font-size: 0.75em;
}
.container.travel.detail.ryokan div.upgrade-detail-table {
    margin-bottom: 2em;
}
.container.travel.detail.ryokan div.upgrade-detail-table table.upgrade-detail-table {
    border-collapse: collapse;
    border: 1px solid #aaaaaa;
    border-spacing: 0;
}
.container.travel.detail.ryokan div.upgrade-detail-table table.upgrade-detail-table th,
.container.travel.detail.ryokan div.upgrade-detail-table table.upgrade-detail-table td {
    padding: 0.5em;
    border: 1px solid #aaaaaa;
}
.container.travel.detail.ryokan div.upgrade-detail-table table.upgrade-detail-table th {
    text-align: left;
    vertical-align: middle;
}
/* lounge */
.container.travel.detail.lounge .detail-txt {
    display: none;
}

.container.travel.detail.lounge .offer-list {
    display: flex;
    width: auto;
    max-width: 1100px;
    text-align: left;
    margin: 0 auto;
    justify-content: space-between;
    flex-wrap: wrap;
}
.container.travel.detail.lounge .offer-list + .offer-list {
    margin-top: 1em;
}
.container.travel.detail.lounge .offer-list .offer-list__item {
    display: flex;
    vertical-align: top;
    /* max-width: 49%; */
    margin: 0;
    padding: 0;
    -moz-box-shadow: 0 0 4px 1px #dfdfdf;
    -webkit-box-shadow: 0 0 4px 1px #dfdfdf;
    box-shadow: 0 0 4px 1px #dfdfdf;
    background-color: #fff;
    align-items: center;
}
.container.travel.detail.lounge .offer-list .offer-list__item .offer-list__img {
    display: block;
    max-width: 100%;
    width: 50%;
}
.container.travel.detail.lounge .offer-list .offer-list__item .offer-list__txt {
    padding: 20px;
    width: 50%;
    box-sizing: border-box;
}
.container.travel.detail.lounge a.offer-list__item {
    color: #000;
    text-decoration: none;
}

#contents .container.concierge.detail .container-inner {
    width: 900px;
    line-height: 1.8;
    margin: auto;
}
#contents .container.concierge.detail .container-inner h2 {
    font-size: 1.75em;
    text-align: left;
    letter-spacing: 0.1em;
    margin-bottom: 25px;
}
.container.concierge.detail .detail-img {
    margin-bottom: 45px;
}
.container.concierge.detail h3 {
    font-weight: bold;
    line-height: 1;
}
.container.concierge.detail .anchor-area {
    text-align: center;
    margin-bottom: 20px;
}
.container.concierge.detail .anchor-area a {
    color: #000000;
}
.container.concierge.detail .sub-img {
    margin-bottom: 15px;
}
.container.concierge.detail .app-dl {
    margin-bottom: 30px;
}
.container.concierge.detail .app-dl a {
    display: inline-block;
    margin-right: 20px;
}

.cat-box ul.point-list li {
    position: relative;
}
.cat-box ul.point-list li .btn-detail-2,
.cat-box ul.point-list li .btn-detail {
    position: absolute;
    bottom: 155px;
    left: 160px;
}
.cat-box ul.point-list li.cat01 .btn-detail-2,
.cat-box ul.point-list li.cat01 .btn-detail {
    bottom: 162px;
    left: 155px;
}
#contents .container.point.detail .container-inner {
    width: 900px;
    line-height: 1.8;
    margin: auto;
}
#contents .container.point.detail .container-inner h2 {
    font-size: 1.75em;
    text-align: left;
    letter-spacing: 0.1em;
    margin-bottom: 25px;
}
.container.point.detail .detail-img {
    margin-bottom: 45px;
}
.container.point.detail h3 {
    font-weight: bold;
    line-height: 1;
}
.container.point.detail .anchor-area {
    text-align: center;
    margin-bottom: 20px;
}
.container.point.detail .anchor-area a {
    color: #000000;
}
.container.point.detail .sub-img {
    margin-bottom: 15px;
}
.container.point.detail .app-dl {
    margin-bottom: 30px;
}
.container.point.detail .app-dl a {
    display: inline-block;
    margin-right: 20px;
}
.container.point.detail .app-dl a:last-child {
    margin-right: 0;
}
.container.point.detail .point-list {
    width: 100%;
}
.container.point.detail .point-list li {
    width: 201px;
    margin: 0 32px 35px 0;
    text-align: center;
    float: left;
    position: relative;
}
#contents .container.point.detail .point-list li img {
    display: inline-block;
    max-width: 100%;
}
.container.point.detail .point-list li:nth-child(4n) {
    margin-right: 0;
}
.container.point.detail .point-list li:nth-child(4n + 1) {
    clear: left;
}
.container.point.detail .point-list li .poiint-h {
    padding: 0 10px 5px;
}
.container.point.detail .point-list li .pt {
    font-size: 0.75em;
    padding: 0.1em 0.8em;
    background-color: #829151;
    color: #ffffff;
    float: left;
}
.container.point.detail .point-list li .pt.bgred {
    background-color: #cc0000;
    line-height: 1.2em;
    padding: 0.4em 0.8em;
}
.container.point.detail .point-list li .lctea {
    width: 400px;
    border: 1px solid #999;
    padding: 1em;
}
.container.point.detail .point-list li .lctea .flex-content:first-child{
    width: 250px;
    flex: 0 0 250px;
}
.container.point.detail .point-list li .num {
    font-size: 0.75em;
    float: right;
}
.container.point.detail .point-list li .num-l {
    float: left;
    margin-left: 1em;
}
.container.point.detail .point-list li p {
    font-size: 0.85em;
    line-height: 1.4;
}
.container.point.detail .point-list li .for-detail {
    text-align: center;
}
.container.point.detail .point-list li .for-detail a {
    text-decoration: none;
    color: #000000;
    font-size: 0.85em;
}
.container.point.detail .point-list li .for-detail a:hover {
    text-decoration: underline;
}
.container.point.detail .point-list li .detail-txt {
    display: none;
    line-height: 1.6;
}
.container.point.detail .point-list li .campaign-txt {
    font-size: 0.85em;
    color: #cc0000;
    text-align: left;
}
.container.point.detail .point-list li .campaign {
    background: #ff0000;
    color: #fff;
    padding: 0.4em 0.2em;
    font-size: 0.8em;
    line-height: 1.2;
    width: 13em;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    top: 94px;
}

/* flex */
.container.point.detail .point-list.point-list-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 0 32px;
}
.container.point.detail .point-list.point-list-flex li {
    margin-right: 0;
    float: none;
}
.container.point.detail .point-list.point-list-flex li:nth-child(4n) {
    margin-right: 0;
}
.container.point.detail .point-list.point-list-flex li:nth-child(4n + 1) {
    clear: none;
}

#wrapper + .fancybox-wrap .detail-txt {
    font-size: 0.75em;
}
#wrapper + .fancybox-wrap .detail-txt h4 {
    font-size: 1.2em;
}
.container.point.detail dl.add-point {
    display: table;
    padding-left: 2em;
}
.container.point.detail dl.add-point.mtb {
    margin: 20px 0 45px;
}
.container.point.detail dl.add-point.mtb02 {
    margin: 20px 0 20px;
}
.container.point.detail .point-note {
    margin: 0 0 6%;
    padding-left: 2em;
}
.container.point.detail dl.add-point dt {
    display: table-cell;
    white-space: nowrap;
    vertical-align: top;
    width: 9em;
}
.container.point.detail dl.add-point dd {
    display: table-cell;
    vertical-align: top;
    padding-left: 0.5em;
}
.container.point.detail dl.base-point {
    padding-left: 2em;
}
.container.point.detail dl.base-point dd {
    padding-left: 2em;
}
.container.point.detail dl.base-point.mtb {
    margin-bottom: 45px;
}
.container.point.detail ul.change-point {
    margin-bottom: 45px;
    padding-left: 2em;
}
.container.point.detail ul.change-point li {
    /*
    text-indent: -1em;
    padding-left: 1em;
    */
}
#contents .container.point.detail ul.change-point.note li img {
    display: inline;
}
.container.point.detail .point-box {
    margin-bottom: 2.5em;
}
.container.point.detail .point-box:nth-of-type(3) {
    margin-bottom: 0;
}
.container.point.detail .point-box .desc {
    margin-left: 70px;
}
.container.point.detail .point-box .desc .big {
    font-size: 1.625em;
    font-weight: bold;
    line-height: 1.4em;
}
.container.point.detail .item-notice {
    box-sizing: border-box;
    border: 3px solid #ff0000;
    padding: 0.5em;
    text-align: left;
}
.container.point.detail .item-notice .ttl {
    font-weight: bold;
    font-size: 0.85em;
}
.container.point.detail .item-notice .body {
    font-size: 0.75em;
}
.detail-txt .item-notice {
    box-sizing: border-box;
    border: 3px solid #ff0000;
    padding: 0.5em;
    text-align: left;
    margin-bottom: 1em;
}
.detail-txt .item-notice .ttl {
    font-weight: bold;
}
.detail-txt .item-notice .body {
}
.container.point.detail .point-anchor-list {
    margin: 2em auto 5em;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.container.point.detail .point-anchor-list li {
    margin: 1em .75em 0;
    text-align: center;
}
.container.point.detail .point-anchor-list li a {
    position: relative;
    font-size: .95em;
    color: #000;
}

.container.point.detail .point-anchor-list li a:after {
    display: inline-block;
    width: .5em;
    height: .5em;
    margin: 0 10px;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(45deg);
    vertical-align: .3em;
    content: '';
}
.container.point.detail .modal-content {
    display: none;
}

/* point indent */
.container.point.detail .point-indent {
    padding-left: 2em;;
}

/* point table */
.container.point.detail .point-table {
    width: 100%;
    padding: 0 2em;
}
.container.point.detail .point-table th,
.container.point.detail .point-table td {
    padding: 0.25em;
    vertical-align: middle;
    border: 1px solid #aaa;
}
.container.point.detail .point-table th {
    background-color: #efefef;
}

/* point card */
.container.point.detail .ico_point_card1 {
    height: auto !important;
    display: inline-block !important;
    margin: 0 0 0 0.2em!important; 
    /* vertical-align: -4px !important; */
    vertical-align: middle !important;
    width: 28px !important;
}
.container.point.detail .ico_point_card2 {
    height: auto !important;
    display: inline-block !important;
    margin: 0 0 0 0.2em !important; 
    /* vertical-align: -4px !important; */
    vertical-align: middle !important;
    width: 44px !important;
}

/* point accordion */
.container.point.detail .ttl-accordion-head a {
    display: block;
    position: relative;
    padding: 1.5em 1.9em 1.5em 1.5em;
    background: #efefef;
    color: #3a3a3a;
    text-decoration: none;
}
.container.point.detail .ttl-accordion-head a::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 3%;
    transform: rotate(90deg);
    width: 1em;
    height: 1px;
    background: #3a3a3a;
}
.container.point.detail .ttl-accordion-head a::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 3%;
    width: 1em;
    height: 1px;
    background: #3a3a3a;
}
.container.point.detail .ttl-accordion-head.is--active a::before {
    display: none;
}

/* point different */
.container.point.detail .different {
}
.container.point.detail .different h4 {
    margin-top: 3em;
    padding-bottom: 0.5em;
    font-size: 1.1em;
    font-weight: 600;
    border-bottom: 1px solid #222;
    font-feature-settings: "palt";
    letter-spacing: .03em;
}
.container.point.detail .different p {
margin: 1em 0;
line-height: 1.6;
}
.container.point.detail .different p + p {
margin-top: 1.4em;
}
.container.point.detail .different .img + p {
margin-top: 1em;
}
.container.point.detail .different img {
    margin: 0 auto;
}
.container.point.detail .different .point {
    margin-top: 1em;
    padding: .5em 1.5em;
    border: 4px solid #f0efeb;
}
.container.point.detail .different .list {
    margin-top: 1em;
    list-style: none;
}
.container.point.detail .different .list li {
    /* padding-left: 1.1em;
    text-indent: -1.1em;
    line-height: 1.6; */
}
.container.point.detail .different .list li + li {
    margin-top: 1em;
}
.container.point.detail .different .palt {
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
}
.container.point.detail .different table {
    width: 100%;
    border-collapse: collapse;
}
.container.point.detail .different td {
    padding: .5em 1em;
    border: 1px solid #222;
}

/* point original item */
.container.point.detail .original-box {
    margin: 0 auto;
    padding: 1.5em 1em;
    width: fit-content;
    border: 1px solid #000;
    box-sizing: border-box;
}
.container.point.detail .original-ttl .original-ttl-line {
    background: linear-gradient(transparent 60%, #ff6 60%);
}
.container.point.detail .original-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.container.point.detail .original-list li {
    margin: 0 16px;
}


.detail-txt .detail-btn-list {
    text-align: center;
    margin-top: 2em;
}
.detail-txt .detail-btn-list .btn {
    display: inline-block;
    padding: 1em;
    text-decoration: none;
    max-width: 100%;
    width: 200px;
    color: #fff;
}
.detail-txt .detail-btn-list .btn-open {
    background-color: #579068;
}
.detail-txt .detail-btn-list .btn-close {
    background-color: #c2c2c2;
    margin-top: 1em;
}



#contents .container.insurance.detail .container-inner {
    width: 900px;
    line-height: 1.8;
    margin: auto;
}
#contents .container.insurance.detail .container-inner h2 {
    font-size: 1.75em;
    text-align: left;
    letter-spacing: 0.1em;
    margin-bottom: 25px;
}
#contents .container.insurance.detail img {
    max-width: 100%;
}
#contents .container.insurance.detail .container-inner img {
    width: 100%;
    margin: 0 auto 5%;
}
#contents .container.insurance.detail .container-inner img.no-mb {
    margin-bottom: 0;
}
#contents .container.insurance.detail .container-inner .mb5p {
    margin-bottom: 5%;
}
#contents .container.insurance.detail .container-inner .pl1em {
    padding-left: 1em;
}
.container.insurance.detail .detail-img {
    margin-bottom: 45px;
}
.container.insurance.detail h3 {
    font-weight: bold;
    line-height: 1;
}
.container.insurance.detail p a {
    color: #000000;
}
.container.insurance.detail .anchor-area {
    text-align: center;
    margin-bottom: 20px;
}
.container.insurance.detail .anchor-area a {
    color: #000000;
}
.container.insurance.detail .sub-img {
    margin-bottom: 15px;
}
.container.insurance.detail .app-dl {
    margin-bottom: 30px;
}
.container.insurance.detail .app-dl a {
    display: inline-block;
    margin-right: 20px;
}
.container.insurance.detail .app-dl a:last-child {
    margin-right: 0;
}

.container.travel .hotel-list {
}
.container.travel .hotel-list dt {
    /* width: 48%; */
    0%;
}
.container.travel .hotel-list dd {
    width: 100%;
}
.container.travel .hotel-list dd .box {
    border: 1px solid #999;
    box-sizing: border-box;
    padding: 2em;
}
.container.travel.vipbook .more-detail {
}
.container.travel.vipbook .more-detail a {
    display: inline-block;
    box-sizing: border-box;
    border: 1px solid #999;
    padding: 0.2em 1em;
    margin: 0 0.2em 0 1.4em;
    position: relative;
}
.container.travel.vipbook .more-detail a:before {
    content: "";
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg) translateY(-55%);
    width: 7px;
    height: 7px;
    position: absolute;
    left: -1.4em;
    top: 50%;
}
.container.hotel .caution {
    font-size: 11px;
}

/* }}} */

/* apply {{{ */
#wrapper.apply {
    background: -moz-linear-gradient(top, #393939 0%, #000 40%); /* firefox */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#393939), color-stop(40%,#000)); /* webkit */
    background: -ms-linear-gradient(top, #393939 0%, #000 40%); /* IE windows phone */
    background: -o-linear-gradient(top, #393939 0%, #000 40%); /* opera */
    background: linear-gradient(top, #393939 0%, #000 40%); /* css3 */
    color: #fff;
}
#wrapper.apply .pc-none {
    display: none;
}
#wrapper.apply header {
    border-bottom: solid 1px #fff;
    padding: 1.5em 0;
    text-align: center;
    margin-bottom: 2em;
}
#wrapper.apply #contents {
    min-width: auto;
    min-width: initial;
}
#wrapper.apply #contents .container.apply {
    width: 100%;
}
#contents .container.apply h2 {
    font-size: 1.75em;
    font-weight: bold;
    margin-bottom: 1.5em;
}
#contents .container.apply h2 span {
    border-bottom: solid 1px #fff;
    padding: 0 0.1em 0.1em;
}
#contents .container.apply .cards {
    margin: 0 auto 2.5em;
}
#contents .container.apply .txt-area {
    font-size: 1.125em;
    text-align: center;
    line-height: 2.5;
}
#contents .container.apply .txt-area2 {
    font-size: 1em;
    text-align: center;
    line-height: 1.8;
}
#contents .container.apply .txt-area .bold {
    font-weight: bold;
}
#contents .container.apply .info-wrap {
    text-align: center;
    margin: 2em; 0
}
#contents .container.apply .info-wrap .info {
    display: inline-block;
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
    padding: 1em 4em;
    font-weight: bold;
}
#contents .container.apply .info-wrap .info .tel {
    font-size: 2.2em;
    margin-bottom: 0.2em;
}

#contents .container.apply .info-wrap .info .time,
#contents .container.apply .info-wrap .info .day {
    font-size: 1.25em;
}
#contents .container.apply .request {
    font-size: 1.25em;
    text-align: center;
    margin: 1em auto;
    border: 1px solid #38373d;
    background: #38373d;
    padding: 1em;
    width: 18em;
    -webkit-border-radius: 3em 3em 3em 3em;
    border-radius: 3em 3em 3em 3em;
}
#contents .container.apply .request a {
    color: #fff;
    text-decoration: none;
    display: block;
    position: relative;
}
#contents .container.apply .request a:after {
  content: '';
  width: 7px;
  height: 7px;
  border: 0px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 2em;
  margin-top: -4px;
}
#contents .container.apply .btn-close {
    border: solid 1px #fff;
    padding: 0.4em 1em;
    text-align: center;
    text-decoration: none;
    color: #fff;
    display: inline-block;
    margin-top: 2em;
    font-size: 1.125em;
}
#contents .apply-footer {
    background-color: #000;
    color: #fff;
    padding: 0 0 5em;
    margin-top: 5%;
}
#contents .apply-footer footer {
    /*width: 970px;*/
    margin: auto;
    padding: 0.2em 0 0 0;
    border-top: solid 1px #bcbcbc;
}
#contents .apply-footer footer .copy {
    text-align: center;
    margin-top: 5px;
}
/* }}} */

/* contents-common {{{ */

.box-ruled {
    margin-top: 1em;
    box-sizing: border-box;
    padding: 0.5em 1em;
    border: solid 1px #cc0000;
    font-size: 0.9em;
}
.box-ruled .box-title {
}
.box-ruled .box-body {
}

/* }}} */

span.box-red-note {
    border: 1px solid #cc0000;
    color: #cc0000;
    padding: 0.5em;
    display: inline-block;
    margin-top: 1em;
}
.box-border {
    position: relative;
    margin: 2em 0;
    padding: 0.5em 1em;
    border: solid 1px #000;
}
.box-border-title {
    position: absolute;
    display: inline-block;
    top: -40px;
    left: 10px;
    padding: 0 9px;
    background: #fff;
}

/* Language Select {{{ */

div.lang-select {
    width: 1000px;
    margin: 0 auto;
}
div.lang-select .inner {
    text-align: right;
}
div.lang-select .inner .box {
    position: absolute;
    right: 2em;
    top: 0;
    width: 10em;
    background: #fff;
    -moz-box-shadow: 0 0 4px 1px #dfdfdf;
    -webkit-box-shadow: 0 0 4px 1px #dfdfdf;
    box-shadow: 0 0 4px 1px #dfdfdf;
    padding: 0.6em 0.4em;
-webkit-border-radius: 0 0 0.6em 0.6em;
-moz-border-radius: 0 0 0.6em 0.6em;
border-radius: 0 0 0.6em 0.6em;
    text-align: center;
    z-index: 5;
}
div.lang-select .inner .box a {
    color: #000;
}
div.lang-select .inner .box .split {
    color: #000;
}
section.lang-en {
    /* margin-top: 5em; */
}

.container.detail .main-img.lang p span {
    line-height: inherit;
    line-height: initial;
}
.container.detail h3 + p.lang {
    line-height: 1.2;
}
.anchor_top {
    position: fixed;
    right: 20px;
    bottom: 20px;
}
#contents section.lang-en .container.login {
    padding-top: 0;
}
/* }}} */

/* Language Select 02 {{{ */

div.lang-select-02 {
}
div.lang-select-02 .inner {
}
div.lang-select-02 .inner .box {
    padding: 7px 0 7px 16px;
    width: auto;
    background: #fff;
    box-shadow: 1px 2px 3px rgba(0, 0, 0, .16);
    border-radius: 0 5px 0 0;
    border: 1px solid #eee;
    position: fixed;
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
    z-index: 5;
}
div.lang-select-02 .inner .box a {
    display: block;
    padding: 7px 26px 7px 0;
    font-size: 12px;
    /* color: #333; */
    color: #000;
    line-height: 1;
}
/* }}} */

/* /contents/  {{{ */

section.lang-ja {
    /* margin-top: 30px; */
}

/* }}} */

/* travelservice {{{ */
#wrapper.travelservice {
    border-top: solid 5em #333;
    background-color: #f1f1f1;
}
#wrapper.travelservice #contents {
    background-color: #fff;
    min-width: auto;
    min-width: initial;
    max-width: 1000px;
    margin-top: -3em;
    box-sizing: border-box;
    padding-bottom: 2em;
}
#wrapper.travelservice #contents .container {
    width: 100%;
}
#wrapper.travelservice #contents .container .inner {
    padding: 0 2em 2em 2em;
}
#wrapper.travelservice .btn-detail-2,
#wrapper.travelservice .btn-detail {
    text-decoration: none;
    background-color: #c12700;
    color: #ffffff;
    padding: 0.5em 1em;
    font-size: 0.8em;
    display: inline-block;
    margin: 0.5em 0 0 0;
}
#wrapper.travelservice #contents .container .kv {
    width: 100%;
    margin: 0 auto 1em;
}
#wrapper.travelservice #contents .container .t-list {
    /*border: solid 1px #ccc;
    padding: 1em 1em 2em;
    margin: 1em 0 2em 0;*/
    width: 100%;
    max-width: 650px;
    margin: 1em auto 2em;
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    
}
#wrapper.travelservice #contents .container .t-list li {
    margin: 0 0 1em;
    border: solid 1px #ccc;
    padding: 0;
    width: 310px;
}
#wrapper.travelservice #contents .container .t-list li a {
    text-decoration: none;
}
#wrapper.travelservice #contents .container .t-list p {
    background-color: #232f3d;
    color: #fff;
    padding: 0.5em 1em;
    height: 3em;
}
#wrapper.travelservice #contents .container .t-list img {
    display: block;
    margin: 0;
}
#wrapper.travelservice #contents .container .t-list img.new {
    display: inline-block;
    width: 2em;
    vertical-align: middle;
    margin-right: 0.5em;
}
#wrapper.travelservice #contents .container > dl {
    margin: 0;
    padding: 3em 2em;
}
#wrapper.travelservice #contents .container > dl.hawaiian,
#wrapper.travelservice #contents .container > dl.kids {
    background-color: #f2f8ff;
}
#wrapper.travelservice #contents .container > dl.hyatt,
#wrapper.travelservice #contents .container > dl.expedia {
    background-color: #fffcf7;
}
#wrapper.travelservice #contents .container > dl dt {
    font-weight: bold;
    font-size: 1.2em;
    margin-bottom: 1em;
    border-bottom: solid 2px #333;
    padding-bottom: 0.5em;
    
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:flex-start;
    -webkit-justify-content:flex-start;
    justify-content:flex-start;
    
    
    
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
}

#wrapper.travelservice #contents .container > dl dt img {
    display: inline-block;
    vertical-align: middle;
    margin-right: 1em;
    max-width: 8em;
}
#wrapper.travelservice #contents .container > dl dt img.new {
    margin-left: 0.5em;
}
#wrapper.travelservice #contents .container > dl dd .h-list-title {
    margin-top: 1em;
}
#wrapper.travelservice #contents .container > dl dd .h-list-title + ul {
    width: 100%;
    box-sizing: border-box;
    padding: 0 1em;
    margin: 1em 0;
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    -webkit-align-items: flex-end;
    -ms-align-items    : flex-end;
    align-items        : flex-end;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
}
#wrapper.travelservice #contents .container > dl dd .h-list-title + ul li {
    width: 48%;
    text-align: center;
    margin-top: 1em;
}
#wrapper.travelservice #contents .container > dl dd .h-list-title + ul li img {
    display: inline-block;
    max-width: 100%;
}

#wrapper.travelservice #contents .container > dl.kids ul {
    margin: 1em 0 0 0;
}
#wrapper.travelservice #contents .container > dl.kids ul li {
    margin: 0 0 1.5em;
    padding-left: 1em;
}
#wrapper.travelservice #contents .container > dl.kids ul li > p:first-child {
    font-weight: bold;
    text-indent: -1em;
    margin-bottom: 0.3em;
}
#wrapper.travelservice #contents .container > dl.kids ul li .flex {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:flex-start;
    -webkit-justify-content:flex-start;
    justify-content:flex-start;
    
}
#wrapper.travelservice #contents .container > dl.kids ul li .flex .left {
    margin-right: 1em;
}
#wrapper.travelservice #contents .container > dl.expedia dt .right p {
    font-weight: normal;
    font-size: 0.8em;
}
#wrapper.travelservice #contents .container > dl.expedia dd ul {
    margin: 1em 0;
}
#wrapper.travelservice #contents .container > dl.expedia dd ul li {
    margin: 0 0 1em;
}
#wrapper.travelservice #contents .container > dl.expedia dd ul li .indent2 {
    padding-left: 2em;
}
#wrapper.travelservice #contents .container .download {
    padding: 2em;
    margin: 1em 0;
    border: solid 1px #ccc;
}
#wrapper.travelservice #contents .container .download h4 {
    font-weight: bold;
    margin-bottom: 1em;
}
#wrapper.travelservice #contents .container .download ul {
    width: 100%;
    margin-top: 1em;
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:center;
    -webkit-justify-content: center;
    justify-content:center;
    
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
}
#wrapper.travelservice #contents .container .download ul li {
    margin-right: 1em;
}
#wrapper.travelservice #contents .container .download ul li:last-child {
    margin-right: 0;
}
#contents .travelservice-footer {
    background-color: #000;
    color: #fff;
    padding: 0 0 5em;
    margin-top: 5%;
}
#contents + .travelservice-footer footer {
    /*width: 970px;*/
    margin: 2em auto 0;
    padding: 2em 0;
    background-color: #333333;
    color: #fff;
}

#wrapper.travelservice #contents .btn-close {
    border: solid 1px #000;
    padding: 0.4em 1em;
    text-align: center;
    text-decoration: none;
    color: #000;
    display: inline-block;
    margin-top: 2em;
    font-size: 1.125em;
}
/* }}} */

/* travelhawaiian/travelairportlimo {{{ */
#wrapper.travelhawaiian,
#wrapper.travelairportlimo {
    border-top: solid 4em #333;
    background-color: #fff;
}
#wrapper.travelhawaiian .footerMenu,
#wrapper.travelairportlimo .footerMenu {
    display: none;
}

table.hawaiian {
    border-collapse: collapse;
    border-spacing: 1;
    width: 400px;
}
table.hawaiian th {
    color: #fff;
    background: rgba(206, 12, 136, 1);
    border: 1px solid #aaa;
    font-weight: bold;
    padding: 0.4em;
}
table.hawaiian td {
    border: 1px solid #aaa;
    padding: 0.4em;
}
.hawaiian_miles {
    width: 400px;
    margin-top: 1em;
}
.hawaiian-right {
    width: 460px;
}

.hawaiian-left2 {
    width: 460px;
}
.hawaiian-right2 {
    width: 400px;
}
.hawaiian-right2 img {
    width: 100%;
}

.hawaiian-table2 {
}
.hawaiian-table2 .flex-content:first-child {
    margin-right: 2em;
}
.hawaiian-status-table {
    border-collapse: collapse;
    border-spacing: 0;
}
.hawaiian-status-table thead th {
    vertical-align: middle;
    background: #efefef;
}
.hawaiian-status-table td,
.hawaiian-status-table th {
    border: 1px solid #aaa;
    padding: 0.5em 1em;
    box-sizing: border-box;
}



/* }}} */

/* travel/hotelscom {{{ */

.travel.hotelscom .kv {
    width: 600px;
    margin: 0 auto;
}

/* }}} */

/* info/notice {{{ */


#contents h2.info-notice {
    font-size: 1.75em;
}
#contents .container.point.detail .container-inner.info-notice {
    width: 1100px;
}
#contents div.info-notice-inner {
    margin-bottom: 5%;
}
#contents p.notice a {
    color: #cc0000;
}
.notice-in-detail {
    border: 1px solid #000;
    padding: 0.5em 1em;
    margin-bottom: 1.5em;
}
.notice-in-detail a {
    color: #000;
}
.notice-in-detail a.blue {
    color: #007fd8;
}

img.fig {
    max-width: 800px;
    border: 1px solid #999;
}

.info.notice .capture {
    margin-top: 0.4em;
    width: 320px;
    border: 1px solid #ccc;
}
.info.notice .capture.chat {
    width: 200px;
}
ol.number.w-capture li {
    margin-bottom: 3em;
}


/* }}} */

/* info/referral {{{ */

#contents .info.referral {
}
#contents .info.referral .flex-wrapper {
    justify-content: space-around;
}
#contents .info.referral .flex-content {
}
#contents .info.referral .flex-content img {
    width: 250px;
}
#contents .info.referral .reward-flex {
    justify-content: space-around;
}
#contents .info.referral .reward-step__btn {
    width: 26em;
}
#contents .reward-step__box.relative {
    position: relative;
}
#contents .reward-step__box.relative .overlay {
    position: absolute;
    background: rgba(0,0,0,0.7);
    width: 700px;
    height: 300px;
    left: 50%;
    top: -20px;
    z-index: 999;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    line-height: 300px;
    text-align: center;
    font-size: 1.2em;
    color: #fff;
    font-weight: bold;

}

/* }}} */

/* addtional {{{ */

span.ttl-card-desc {
    margin-left: 1.5em;
    font-weight: normal;
    font-size: 0.75em;
    /* vertical-align: bottom; */
    vertical-align: -12px;
}
span.ttl-card-desc2 {
    margin-left: 0.5em;
    font-weight: normal;
    font-size: 0.75em;
}

ul.in-dl dl {
    box-sizing: border-box;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
}
ul.in-dl dl dt {
    flex: 0 0 auto;
}
ul.in-dl dl dd {
    flex: 0 0 auto;
}

ul.in-dl dl.museum dt {
    width: 10%;
}
ul.in-dl dl.museum dd {
    width: 90%;
}

section.lang-en ul.in-dl dl.museum dt {
    width: 17%;
}
section.lang-en ul.in-dl dl.museum dd {
    width: 83%;
}


/* }}} */

/* lifestyle kenscafe {{{ */

.flex-wrapper.kenscafe {
    justify-content: space-between;

}
.container.detail.kenscafe p.takeout {
    display: block;
    margin: 0 auto;
    width: 400px;
    text-align: center;
}
#contents .container.detail.kenscafe .reward-step__btn {
    display: block;
    /* width: 300px; */
}
.flex-content.kens-desc {
    width: 450px;
}


/* }}} */

/* lifestyle supercar {{{ */
#contents .container.detail.supercar .main-img {
	height: 450px;
	position: relative;
	overflow: hidden;
	margin-bottom: 0.5em;
}
.detail.supercar  video {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -100px;
}
.detail.supercar .anchor-area {
	margin: 1em 0 2em;
	
	display: flex;
	display:-webkit-flex;
	display:-ms-flexbox;
    -ms-flex-pack:center;
    -webkit-justify-content: center;
    justify-content:center;
	
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	
	align-items: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
}
.detail.supercar .anchor-area a {
	max-width: 50%;
	box-sizing: border-box;
	padding: 0 0.7em 0 0;
}
.detail.supercar .anchor-area a span {
	display: block;
}
.detail.supercar .anchor-area a:last-child {
	border-left: solid 1px #000;
	padding-left: 0.7em;
}
.detail .ttl-black {
	background-color: #000;
	color: #fff;
	padding: 0.8em 2em;
	display: inline-block;
}
.detail .ttl-black a {
    color: #fff;
}
.detail .imgarea {
	display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    margin-bottom: 1em;
}
.detail .imgarea2 {
	display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:start;
    -webkit-justify-content:flex-start;
    justify-content:flex-start;
    margin-bottom: 1em;
}

.note-small {
    font-size: 0.85em;
}
.container.detail .main-img p span.note-small {
    line-height: 2;
    font-size: 0.36em;
    margin: 0;
    display: block;
    vertical-align: top;
    text-align: left;
}

dl.note2 {
    margin-bottom: 1em;
}
dl.note2 dt {
}
dl.note2 dt:before {
    content: "・";
}
dl.note2 dt:after {
    content: ':';
}
dl.note2 dd {
    /* padding-left: 4em; */
    padding-left: 1em;
}
.detail.supercar dl.note2.mb00 {
	margin-bottom: 0;
}
.detail.supercar .pl4em {
	padding-left: 4em;
}
.detail.supercar .pl2em {
	padding-left: 2em;
}
.detail.supercar ul.note {
    font-size: 0.9em;
    padding-left: 1em;
}
.detail.supercar ol {
    list-style-type: decimal;
    margin-left: 1.5em;
}
.detail .service-box {
	border: solid 1px #ccc;
	padding: 1em;
	display: inline-block;
}
.detail.supercar .square-box {
    box-sizing: border-box;
    border: 1px solid #ccc;
    padding: 1em 2em;
    text-align: center;
    width: 32%;
}
.detail.supercar .square-box .ttl {
    font-size: 1em;
    font-weight: bold;
}
.detail.supercar .square-box.square-box2 {
    text-align: left;
    width: 49%;
}
.detail.supercar .square-box.square-box3 {
    text-align: left;
    width: 24%;
}

/* }}} */

/* lifestyle steinway {{{ */

#contents .container.detail.steinway .logo {
    width: 320px;
    margin: 1em auto 0.75em;
}

.flexbox.steinway {
}
.flexbox.steinway .desc {
    width: 410px;
}
.flexbox.steinway .flex-content {
    width: 460px;
}
.flexbox.steinway .flex-content video {
    width: 460px;
}

/* }}} */

/* lifestyle checkup {{{ */

#contents .container.detail.checkup .img1 {
}
#contents .container.detail.checkup .img1 img {
    margin: 0 auto;
}

#contents .container.detail.checkup .img2 {
}
#contents .container.detail.checkup .img2 img {
    width: 100%;
}

/* }}} */

/* lifestyle karitoke {{{ */

.container.detail.karitoke .karitoke-table {
    width: 100%;
}
.container.detail.karitoke .karitoke-table th {
    font-weight: 700;
}
/* .container.detail.karitoke .karitoke-table thead tr {
    border-bottom: 2px solid #666;
} */
.container.detail.karitoke .karitoke-table tbody tr {
    border-top: 1px solid #999;
    border-bottom: 1px solid #999;
}
.container.detail.karitoke .karitoke-table tbody th,
.container.detail.karitoke .karitoke-table tbody td {
    padding: 0.5em;
    height: 3em;
    vertical-align: middle;
    border-right: 1px solid #999;
}
.container.detail.karitoke .karitoke-table tbody th {
    width: 15%;
}
.container.detail.karitoke .karitoke-table tbody td:last-child {
    border-right: none;
}


/* }}} */

/* gym video {{{ */

.detail.gym .kv {
    margin-bottom: 1em;
}
.detail.gym video {
    width: 900px;
}

/* }}} */

/* screaming eagle {{{ */

.screamingeagle .desc .flex-content {
    width: 70%;
    flex: 0 0 70%;
    margin-right: 3em;
}
.screamingeagle .schedule img {
    width: 350px;
    box-shadow: 4px 4px 8px rgba(0,0,0,0.4);
}

.screamingeagle table th {
    text-align: right;
    padding: 0.2em;
    white-space: nowrap;
}

/* }}} */

/* concierge experience {{{ */

.container.detail section.concierge-offer h3 + p {
    margin-bottom: 2em;
}

.container.concierge.detail .app-dl a:last-child {
    margin-right: 0;
}
section.concierge-offer {
}
section.concierge-offer ul {
    box-sizing: border-box;
}
section.concierge-offer ul.triangle-list li {
    padding-left: 1.2em;
    width: 275px;
    margin-bottom: 1em;
}
section.concierge-offer .offer-item {
    padding-bottom: 1em;
    margin-bottom: 3em;
    border-bottom: solid 1px #d8d8d8;
}
section.concierge-offer .offer-item .flex-wrapper {
    justify-content: space-between;
    align-items: flex-end;
}
section.concierge-offer .offer-item img {
    box-shadow: 4px 4px 8px rgba(0,0,0,0.4);
    width: 35%;
    flex: 0 0 auto;
    vertical-align: bottom;
}
section.concierge-offer .offer-item img.noshadow {
    box-shadow: none;
}
section.concierge-offer .include-list {
    margin-right: 2em;
    max-width: 60%;
}

/* }}} */

/* dining {{{ */

.detail.tableall .imgarea {
    align-items: flex-start;
}
.detail.tableall .imgarea img {
    width: 50%;
}

.notice-in-detail.limousine {
    width: 1100px;
    margin: 0 auto;
}
.rococo-offer {
    width: 490px;
    margin-right: 10px;
}

.rococo-img {
    width: 400px;
}

.cafe-index {
    margin: 1em auto 2em;
}
.cafe-index .flex-content {
    width: 100%;
}
.cafe-index.full .flex-content {
    width: 100%;
}
.cafe-index a .note {
    font-size: 0.85em;
    text-decoration: none !important;
    color: #333;
}

/* }}} */

/* dining cafe {{{ */

.dining.cafe {
}
.dining.cafe .cafe-index {
    margin-top: 2em;
}
.dining.cafe .category-ttl {
    padding: 0.2em 1em;
    width: 100%;
    display: block;
}
.dining.cafe .cafe-index ul {
    /* margin: 0.5em 0 0 1em; */
    margin: 0;
}
.dining.cafe .cafe-index ul li {
    /* margin-bottom: 0.4em; */
    margin: 0;
    font-size: 1em;
    position: relative;
}
.dining.cafe .cafe-index ul li:before {
    /* content: '・' */
}
.dining.cafe .detail-img {
    width: 100%;
}

.fold-shop-list2,
.dining.cafe .fold-shop-list,
.dining.cafe .fold-shop-list2 {
    display: none;
}

/* }}} */

/* point renewal {{{ */

div.container.point.detail .header-info {
    line-height: 1.8;
    margin-bottom: 1.4em;
}
div.container.point.detail .header-info .ttl {
    color: #ff0000;
    font-weight: bold;
    margin-right: 0.2em;
}
div.container.point.detail .header-info .body {
}
div.container.point.detail .header-info .body span {
    color: #ff0000;
    font-weight: bold;
}


div.container.point.renewal .container-inner.info-notice {
}
div.container.point.renewal .container-inner.info-notice .info-notice-inner {
    margin-top: 30px;
}
div.container.point.renewal .container-inner.info-notice .desc {
    margin-bottom: 30px;
}
div.container.point.renewal .container-inner.info-notice h4 {
    line-height: 1;
    font-size: 18px;
    font-weight: bold;
    padding-bottom: 20px;
    border-bottom: 2px solid #757575;
    margin-bottom: 40px;
}
div.container.point.renewal .container-inner.info-notice .point-box {
    background: #ececec;
    padding: 45px 40px;
    margin: 0 auto 40px;
}
div.container.point.renewal .container-inner.info-notice .point-box .ttl-after,
div.container.point.renewal .container-inner.info-notice .point-box .ttl-before {
    display: inline-block;
    background: #4983d1;
    color: #fff;
    padding: 0.1em 0.8em;
    border-radius: 0.4em;
    -webkit-border-radius: 0.2em;
    margin: 35px 0 0.6em;
    font-size: 0.85em;
}
div.container.point.renewal .container-inner.info-notice .point-box .ttl-after {
    background: #ff9e2c;
    margin: 1em 0 0.6em;
}
div.container.point.renewal .container-inner.info-notice .point-box .big {
    font-size: 1.625em;
    font-weight: bold;
}
div.container.point.renewal .container-inner.info-notice .point-box .ttl-after + p {
    line-height: 1.25;
}
div.container.point.renewal .container-inner.info-notice .point-box img.graph {
    margin-top: 20px;
}
div.container.point.renewal .container-inner.info-notice .note {
}
div.container.point.renewal .container-inner.info-notice .note li {
    padding: 1em;
    text-indent: -1em;
}
div.container.point.renewal .container-inner.info-notice .note li:before {
    content: '＊';
}



/* }}} */

/* media {{{ */

.info-notice-inner.p80 {
    width: 80%;
    margin: 0 auto;
}
.container .info-notice-inner h3 {
    text-align: center;
    font-size: 1.2em;
    font-weight: bold;
}

section.page-toggle {
    display: none;
}
section.page-toggle:nth-of-type(1) {
    display: block;
}
.container.media {
}
.container.media .info-lead {
    width: 80%;
    margin: 2em auto 0;
}
.container.media dl.item {
    width: 80%;
    border-bottom: 1px solid #666;
    padding: 2em 0;
    margin: 0 auto;

    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-align-items: flex-start;
    -ms-align-items    : flex-start;
    align-items        : flex-start;
}
.container.media dl.item.news {
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    border-bottom: none;
}
.container.media dl.item.news:last-child {
    border-bottom: 1px solid #666;
}
.container.media .news-detail {
    font-size: 1.2em;
    border-bottom: 1px solid #666;
    padding-bottom: 1em;
    width: 80%;
    margin: 0 auto;
}
.container.media.pr dl.item {
    display: block;
}
.container.media dl.item:nth-of-type(1) {
    border-top: 1px solid #666;
}
.container.media dl.item dt {
    box-sizing: border-box;
    display: inline-block;
    width: 6em;
    vertical-align: top;
}
.container.media dl.item dd {
    box-sizing: border-box;
    display: inline-block;
    width: calc(98% - 6em - 220px);
    vertical-align: top;
}
.container.media dl.item.news dd {
    width: calc(98% - 6em);
}
.container.media.ncov2019 dl.item dd {
    width: calc(98% - 6em);
}
.container.media.pr dl.item dd {
    width: calc(98% - 6em);
}
.container.media dl.item dd .ttl {
    font-weight: bold;
}
.container.media img.media1 {
    margin-top: 0.4em;
    display: block;
    width: 200px;
    border: 1px solid #ddd;
}
.container.media img.media1.dummy {
    border: none;
}
.coronainfo {
    text-align: center;
    margin-bottom: 0.5em;
}
.coronainfo a {
    color: #333;
    font-weight: bold;
}
.coronainfo2 {
    font-size: 0.8em;
    width: 1200px;
    margin: 0 auto 1em;
}
.container.media .pushimage {
}
.container.media .pushimage ul {
}
.container.media .pushimage ul li {
    width: 21%;
    margin-bottom: 2em;
}
.container.media .pushimage ul li img {
    width: 100%;
    cursor: pointer;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

/* }}} */

/* info msc {{{ */

.detail.msc .imgarea {
    align-items: flex-start;
}
.detail.msc .imgarea img {
    width: 33%;
}

/* }}} */

/* info parmigiani {{{ */

.parmigiani .pic3 {
}
.parmigiani video {
    width: 900px;
}
.parmigiani .pic3 img {
    width: 33%;
}

/* }}} */

/* info capitol {{{ */

.info.capitol {
}
.info.capitol .bnft-ttl {
    font-size: 1.25em;
    padding-bottom: 0.5em;
    margin: 1em auto 1.5em;
    border-bottom: 2px solid #808080;
}
.info.capitol .desc {
    width: 575px;
}

.info.capitol .imgarea img {
    width: 49%;
}

/* }}} */

/* info hyatt {{{ */

.info.capitol.hyatt .flex-content {
    width: 49%;
}
.info.capitol.hyatt .flex-content img {
    width: 100%;
}


/* }}} */

/* cafe video {{{ */

.detail.cafe .kv {
    margin: 1em auto;
}
.detail.cafe video {
    width: 900px;
}
.detail.cafe .video.kv {
    height: 506px;
}

/* }}} */

/* sarment {{{ */

.detail.sarment .imgarea img {
    width: 50%;
}
.detail.sarment .service-box {
    border: 1px solid #ccc;
    padding: 1em;
}

/* }}} */

/* firstclass {{{ */

.detail.firstclass .imgarea img {
    width: 50%;
}
.detail.firstclass .service-box {
    border: 1px solid #ccc;
    padding: 1em;
}
.detail.firstclass .offer .desc {
    width: 55%;
}
.detail.firstclass .offer .image-wrap {
    width: 40%;
}
.detail.firstclass .offer .image-wrap img {
    width: 100%;
}

/* }}} */

/* lifestyle gilt {{{ */
.gilt {
}
.gilt .info-box {
    border: 1px solid #000;
    padding: 2em;
    box-sizing: border-box;
}
.gilt .eastland {
    width: 200px;
}
.gilt h3.ttl {
    font-size: 1.4em;
    line-height: 1.2em;
}
.gilt .gilt-logo {
    margin: 2em auto;
}
.gilt .gilt-logo img {
    width: 400px;
    margin: 0 auto;
    display: block;
}


/* }}} */

.border-box {
    border: 1px solid #333;
    padding: 0.4em 0.5em;
}
.border-box2 {
    border: 1px solid #333;
    padding: 2em;
    box-sizing: border-box;
}

/* info villa foch {{{ */

.villafoch .detail-img.w100per {
    width: 100%;
}

/* }}} */

/* info/social (SPのみ) {{{ */

#wrapper.info.social {
}
#wrapper.info.social {
    background: #000;
    color: #fff;
}
#wrapper.info.social header {
    padding: 3.125vw 0;
    margin: 0 auto;
    text-align: center;
}
#wrapper.info.social header img {
    width: 31.875vw;
}
#wrapper.info.social .kv {
    position: relative;
}
#wrapper.info.social .kv .ttl{
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
}
#wrapper.info.social .kv h2 {
    font-size: 6.875vw;
    text-align: center;
    margin: 0;
    padding: 0;
}
#wrapper.info.social .kv p {
    margin: 0;
    margin-top: 3.706vw;
    font-size: 2.5vw;
    padding: 0;
    border: none;
    line-height: 2;
}
#wrapper.info.social .s01 {
    background: #1b1b1b;
}
#wrapper.info.social .s01 .note {
    width: 90%;
    margin: 2em auto;
}
#wrapper.info.social .s01 ul {
    width: 94%;
    margin: 0 auto;
}
#wrapper.info.social .s01 ul li {
    box-sizing: border-box;
    text-align: center;
    width: 100%;
    border-bottom: 1px solid #626262;
    padding: 3.90625vw 0;
}
#wrapper.info.social .s01 ul li:last-child {
    border: none;
}
#wrapper.info.social .s01 ul li .ttl {
    font-size: 3.6578vw;
    line-height: 1.6;
}
#wrapper.info.social .s01 ul li span {
    font-size: 3.125vw;
}
#wrapper.info.social .s01 ul li .schedule {
    font-size: 3.125vw;
    margin-top: 3.125vw;
}
#wrapper.info.social .container {
    width: 96%;
}
#wrapper.info.social .container .s02 {
    padding: 8.59375vw 0;
    margin: 0 auto;
}
#wrapper.info.social .container .s02 h3 {
    font-size: 4.375vw;
    color: #dcb36c;
    font-weight: bold;
    text-align: center;
}
#wrapper.info.social .container .s02 ul  {
    margin-top: 4.6875vw;
}
#wrapper.info.social .container .s02 ul li {
    box-sizing: border-box;
    margin-bottom: 1.5625vw;
    width: 100%;
}
#wrapper.info.social .container .s02 ul li a {
    position: relative;
    display: block;
    background: #957949;
    color: #fff;
    text-align: center;
    text-decoration: none;
    padding: 3.125vw 0;
}
#wrapper.info.social .container .s02 ul li.note a {
    background: none;
    border: 1px solid #957949;
}
#wrapper.info.social .container .s02 ul li a:after {
    content: "";
    background-image: url(/img/info/arrow_social.png);
    background-size: 3.125vw 2.8125vw;
    width: 3.125vw;
    height: 2.8125vw;
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}
#wrapper.info.social .container section.item {
    padding: 7.8125vw 6.25vw;
    background: #1b1b1b;
    margin-bottom: 7.8125vw;
}
#wrapper.info.social .container section.item .ttl {
    padding: 5.46875vw 0 3.90625vw;
    color: #dcb36c; 
    font-size: 3.4375vw;
}
#wrapper.info.social .container .item section.ttl span {
    font-size: 2.8125vw;
}
#wrapper.info.social .container section.item hr.ttl {
    border-top: 1px solid #dcb36c; 
    border-right: none;
    border-bottom: none;
    border-left: none;
    width: 7.8125vw;
    height: 1px;
    text-align: left;
    padding: 0;
    margin: 0;
}
#wrapper.info.social .container section.item .block {
    box-sizing: border-box;
    padding: 6.25vw 0;
    border-bottom: 1px solid #626262;
}
#wrapper.info.social .container section.item .block .ttl2 {
    font-size: 3.75vw;
}
#wrapper.info.social .container section.item .block .desc {
    font-size: 3.125vw;
    margin-top: 4.6875vw;
}
#wrapper.info.social .container section.item .block.lead .desc {
    margin-top: 0;
}
#wrapper.info.social .container section.item .block .desc.en {
    margin-top: 3.90625vw;
}
#wrapper.info.social .container section.item .block .desc a {
    color: #fff;
    text-decoration: none;
}
#wrapper.info.social .container section.item img.canape {
    width: 48.875vw;
}
#wrapper.info.social .container section.item.note {
    background: none;
}
#wrapper.info.social .container section.item.note .ttl2 {
    font-size: 3.75vw;
}
#wrapper.info.social .container section.item.note .ttl2.en {
    margin-top: 10.9375vw;
}
#wrapper.info.social .container section.item.note .desc {
    font-size: 3.125vw;
    margin-top: 3.125vw;
}

/* }}} */

/* info social2 {{{ */

.info.social2 {
    background: #000;
    color: #fff;
}
.info.social2 #contents {
    min-width: 0;
}
.info.social2 #contents img {
    width: 100%;
}
.info.social2 #wrapper header {
    padding: 3.125vw 0;
    margin: 0 auto;
    text-align: center;
}

#wrapper.info.social2 .kv p {
	font-size: 1.2em;
	line-height: 1;
	letter-spacing: normal;
	border-bottom: none;
	padding: 0;
	margin: 0;
}
.info.social2 #contents h2 + p {
	font-size: 1.2em;
	line-height: 1;
	letter-spacing: normal;
	border-bottom: none;
	padding: 0;
	margin: 0;
}
.info.social2 .kv {
    margin-bottom: 3em;
    position: static;
}
#wrapper.info.social2 .kv .ttl{
    position: static;
    width: auto;
    top: auto;
    left: auto;
    transform: none;
    -webkit-transform: none;
}
.info.social2 #contents section.s01 {
    width: 94%;
    margin: 0 auto;
}
.info.social2 .note-border {
    position: relative;
    box-sizing: border-box;
    border: 1px solid #fff;
    padding: 1em;
}
.info.social2 .note-border:before {
    content: "各サービス提供先の営業状況について";
    color: #fff;
    background: #000;
    position: absolute;
    top: -0.9em;
    left: 1em;
    padding: 0 0.5em;
}
.info.social2 #contents a {
    color: #fff;
}
.info.social2 #contents .sns {
    background: #fff;
    box-sizing: border-box;
    padding: 1em;
    color: #000;
}
#wrapper.info.social2 .container .s02 ul li a {
    min-height: 2.5em;
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;

    -ms-flex-pack:center;
    -webkit-justify-content: center;
    justify-content:center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
}
.info.social2 #contents .sns .ttl {
    text-align: center;
    font-size: 1.4em;
    display: inline-block;
    border-bottom: 1px solid #000;
}
.info.social2 #contents .sns .sns-link a {
    width: 18%;
}
.info.social2 #contents .sns .follow {
    font-size: 1.4em;
    text-align: center;
}

/* }}} */


div.voice-wrapper {
}
div.voice-wrapper .bx-wrapper {
    box-sizing: border-box;
    background: #efefef;
    border-radius: 10px;
    padding: 2em;
    display: block;
   
}
div.voice-wrapper .bx-wrapper .bx-controls {
    margin-left: -2em;
}
.container .voice-wrapper .bx-wrapper .bx-pager.bx-default-pager a:hover,
.container .voice-wrapper .bx-wrapper .bx-pager.bx-default-pager a.active {
    background: #efefef;
}
ul.voice {
}
ul.voice li {
    width: 100%;
}
ul.voice li:before {
    content: "“";
    font-size: 1.4em;
    color: #999;
}
ul.voice li:after {
    content: "”";
    font-size: 1.4em;
    color: #999;
}

div.redinfo-wrapper {
    position:relative;
}
div.redinfo-wrapper .redinfo {
    position: absolute;
    bottom: 10px;
    width: 90%;
    left: 5%;
    background: #ff0000;
    color: #fff;
    text-align: left;
    box-sizing: border-box;
    padding: 0.5em;
    font-size: 0.75em;
    line-height: 1.2;
}

#contents .container.insurance.detail .container-inner img.ico-pdf {
    display: inline;
    width: auto;
    max-width: none;
    height: 1.6em;
    vertical-align: middle;
    margin: 0;
    margin-left: 0.4em;
}
.pdf-dl {
    filter: drop-shadow(2px 2px 5px rgba(0,0,0,0.2));
}
.arrow-dl {
    display: block;
    text-decoration: none;
}

/* グローバルホテル優待 {{{ */
.globalhotel-ttl {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:flex-start;
    -webkit-justify-content:flex-start;
    justify-content:flex-start;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center;
}
.globalhotel-ttl .mandarin {
    width: 60px;
    margin-right: 1em;
}
.globalhotel-ttl .peninsula {
    width: 120px;
    margin-right: 1em;
}
.globalhotel-ttl .waldorf {
    width: 80px;
    margin-right: 0.5em;
}
.globalhotel-ttl .conrad {
    width: 120px;
    margin-right: 1em;
}
/* }}} */

/* ラグジュアリーカードラウンジ(ラウンジアワー) {{{ */

.cardlounge {
}
.cardlounge h5.area {
    margin: 1em 0 0.5em;
    font-size: 2em;
}
.cardlounge .shop-list {

    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;

    -webkit-align-items: flex-start;
    -ms-align-items    : flex-start;
    align-items        : flex-start;

    position: relative;

}
.cardlounge .shop-list:after {
    content: "";
    display: block;
    width: 30%;
}
.dining.cafe.cardlounge .shop-list .item {
    width: 30%;
    margin-bottom: 2em;
}
.cardlounge .shop-list .item:before {
    content: none;
}
.cardlounge .shop-list .item img {
    width: 100%;
    box-shadow: 0 0 10px rgba(0,0,0,0.2)
}
.cardlounge .shop-list .item .ttl {
    text-align: center;
    margin-top: 0.5em;
    color: #333;
}
.detail.cafe .col1 {
    width: 450px;
}
.detail.cafe .col2 {
    width: 420px;
}
.detail.cafe .col3 {
    width: 300px;
}
.detail.cafe .col3.musicbar {
    width: 200px;
}
.detail.cafe img.col3,
.detail.cafe img.col2 {
    object-fit: cover;
}
.detail.cafe .virtical-box .flex-content {
    box-sizing: border-box;
    padding: 15px;
    border: 1px solid #333;
}
.detail.cafe .shop-info {
    width: 100%;
    margin: 2em 0;
    position: relative;
}
.detail.cafe .shop-info .overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 2em;
    background: rgba(0,0,0,0.8);
    color: #fff;
}
.detail.cafe .shop-info dl.col2 {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    -webkit-align-items: flex-start;
    -ms-align-items    : flex-start;
    align-items        : flex-start;

    width: 100%;
    margin-bottom: 0.5em;
}
.detail.cafe .shop-info dl.col2.col1 {
    flex-direction: column;
}
.detail.cafe .shop-info dl.col2 > dt {
    box-sizing: border-box;
    width: 6em;
}
.detail.cafe .shop-info dl.col2 > dd {
    box-sizing: border-box;
    width: calc(100% - 5em);
}
.detail.cafe .shop-info dl.w12 dt {
    width: 16em;
}
.detail.cafe .shop-info dl.w12 dd {
    width: calc(100% - 17em);
}
.detail.cafe .shop-info dl.col2.col1 dt,
.detail.cafe .shop-info dl.col2.col1 dd {
    width: 100%;
}
.detail.cafe .photo-list {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    margin-bottom: 2em;
}
.detail.cafe .photo-list:first-of-type {
    margin-top: 2em;
}
.detail.cafe .photo-list dt {
    width: 150px;
    flex: 0 0 150px;
    margin-right: 2em;
}
.detail.cafe .photo-list dt img {
    max-width: 100%;
    max-height: 150px;
    margin: 0 auto;
}
.detail.cafe .photo-list dd {
}

.villafoch-flexbox {
    display:-webkit-flex;
    display:-ms-flexbox;
    display: flex;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    -webkit-align-items: flex-start;
    -ms-flex-align: flex-start;
    align-items: flex-start;
}
.villafoch-flexbox .text {
    width: calc(100% - 350px);
}
.villafoch-flexbox .image {
    width: 320px;
}
.villafoch-flexbox .image img {
    width: 100%;
}

/* modal */
.dining.cafe .detail-txt {
    display: none;
}

/* }}} */

/* コミュニティ {{{ */

.community .service-box {
    box-sizing: border-box;
    width: 33%;
}
.feature-text-red {
    color: #ff0000;
    font-weight: bold;
}

/* }}} */

.note-box {
    box-sizing: border-box;
    border: 1px solid #333;
    font-weight: bold;
    width: 100%;
    padding: 1em;
    margin-bottom: 1em;
    position: relative;
}
.note-box:after {
    background-color: #fff;
    color: #333;
    content: "ご注意ください！";
    color: #ff0000;
    font-weight: bold;
    left: 1em;
    padding: 3px 10px;
    position: absolute;
    top: -1em;
}

.container.travel.detail.ryokan .lccommunity-list {
    display:-webkit-flex;
    display:-ms-flexbox;
    display: flex;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

    width: 1100px;
    box-sizing: border-box;
}
.container.travel.detail.ryokan .lccommunity-list:before {
    content: "";
    display: block;
    width: 265px;
    order: 1;
}
.container.travel.detail.ryokan .lccommunity-list:after {
    content: "";
    display: block;
    width: 265px;
    order: 2;
}
.container.travel.detail.ryokan .lccommunity-list li {
    width: 265px;
    box-sizing: border-box;
    margin: 0 0 20px;
}
.container.travel.detail.ryokan .ryokan-list li:nth-child(4n) {
}

/* LCO限定 {{{ */

.limited {
    border: 1px solid #cc0000;
    color: #cc0000;
    display: inline-block;
    font-size: 0.75em;
    font-weight: bold;
    padding-left: 1.6em;
    padding-right: 0.1em;
    margin-right: 0.25em;
}

/* }}} */

/* Q&A {{{ */

dl.qa {
}
dl.qa .q {
    margin-top: 2em;
    padding: 0.4em 0.4em 0.4em 2.2em;
    position: relative;
    border: 1px solid #999;
}
dl.qa .q:before {
    content: "Ｑ）";
    position: absolute;
    top: 0.4em;
    left: 0.4em;
    width: 2em;
    display: block;
}
dl.qa .a {
    padding: 0.4em 0.4em 0.4em 2.2em;
    position: relative;
    border: 1px solid #999;
    border-top: none;
    background: #fafafa;
}
dl.qa .a:before {
    content: "Ａ）";
    position: absolute;
    top: 0.4em;
    left: 0.4em;
    width: 2em;
    display: block;
}


/* }}} */

.streamer-box {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-align-items: flex-start;
    -ms-align-items    : flex-start;
    align-items        : flex-start;
}
.streamer-box .photo {
    width: 400px;
}
.streamer-box .photo img {
    width: 100%;
}
.streamer-box .text {
    width: calc(100% - 420px);
    box-sizing: border-box;
}

.fold-element {
    display: none;
}

/* 東急status match {{{ */

.special-offer {
    margin-bottom: 3em;
}
.special-offer .wrap {
    display:-webkit-flex;
    display:-ms-flexbox;
    display: flex;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
}
.special-offer.detail .wrap {
    -ms-flex-pack:center;
    -webkit-justify-content: center;
    justify-content:center;
}
.special-offer .benefit-box {
    color: #333;
    text-align: center;
    display: block;
    box-sizing: border-box;
    padding: 1em;
}
.special-offer .flex-content {
    width: 48%;
    border: 1px solid #333;
}
.special-offer.detail .flex-content {
    border: none;
    width: 100%;
}
.special-offer.detail .benefit-box {
    text-decoration: none;
    cursor: default;
}

.hotel-table {
    box-sizing: border-box;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
.hotel-table tr {
}
.hotel-table th {
    border: 1px solid #ccc;
    padding: 0.2em 0.4em;
    font-weight: bold;
}
.hotel-table td {
    border: 1px solid #ccc;
    padding: 0.2em 0.4em;
}
.upper-scroll {
    display: none;
}

.tokyu-haneda-mv {
}
.tokyu-haneda-mv img {
    width: 100%;
}

.tokyu-logo {
    width: 100%;
    margin: 0 auto 2em;
}

#contents img.w100 {
    width: 100%;
}

/* }}} */

/* loungehour {{{ */

.loungehour {
}
.loungehour .shop-list .item {
    position: relative;
}
.loungehour .shop-list .item .mark_new {
    position: absolute;
    top: -2em;
    right: 0;

	box-sizing: border-box;
	font-size: 0.8em;
	background-color: #633142;
	color: #fff;
	padding: 0.1em;
	width: 3em;
	text-align: center;
}

/* }}} */

/* LCOC {{{ */

.detail.lcoc .contents {
}

.detail.lcoc .slide-credit-wrap {
    position: relative;
}
.detail.lcoc .slide-credit {
    position: absolute;
    right: 0;
    top: -60px;
    font-size: 0.8em;
}



/* }}} */


.porsche-logo {
    width: 300px;
    margin-bottom: 2em;
}
.hearstbox,
.porschebox {
    display:-webkit-flex;
    display:-ms-flexbox;
    display: flex;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.porschebox .box {
    width: 425px;
}
.hearstbox .box img,
.porschebox .box img {
    width: 100%;
}
.porschebox2 .box {
    /* width: 290px; */
    width: 25%;
}
.metal-porsche {
    width: 300px;
}
.metal-porsche img {
    width: 100%;
}
.hearstbox .box {
    width: 420px;
}

.lccom-gold {
    display:-webkit-flex;
    display:-ms-flexbox;
    display: flex;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;

}
.lccom-gold .text {
    width: 100%;
}
.lccom-gold .ss-image {
    width: 30%;
}
.lccom-gold .ss-image img {
    width: 100%;
}

.hour-table {
    border-collapse: collapse;
    border-spacing: 1px;
    width: 100%;
    font-size: 0.8em;
    box-sizing: border-box;
}
.hour-table th,
.hour-table td {
    border: 1px solid #999;
    padding: 0.2em 0.4em;
    box-sizing: border-box;
    vertical-align: middle;
    white-space: nowrap;
}
.hour-table th {
    background: #333;
    color: #fff;
    font-weight: bold;
    white-space: nowrap;
}
.hour-table .closed td {
    background: #efefef;
}

.eiga_gift {
    width: 120px;
}

.preferred-logo {
    width: 400px;
    margin: 0 auto;
}
.preferred-table-wrap {
    margin: 2em 0 0;
}
.preferred-table-wrap .hotel-table {
    border-collapse: collapse;
    border-spacing: 0;
}
.preferred-table-wrap .hotel-table th,
.preferred-table-wrap .hotel-table td {
    border: 1px solid #999;
}
.preferred-table-wrap .hotel-table thead th {
    text-align: center;
    font-weight: normal;
}
.preferred-table-wrap .hotel-table tbody th {
    text-align: left;
    font-weight: normal;
}
.preferred-table-wrap .hotel-table tbody td {
    text-align: center;
    vertical-align: middle;
}


/* lifestyle gift {{{ */

.container.detail.gift {
    max-width: 900px;
    /* width: calc(100% - 40px); */
}
#contents .container.detail.gift .container-inner {
    width: auto;
}
#contents .container.detail.gift .main-ttl-wrap {
    text-align: center;
    width: 100%;
}
#contents .container.detail.gift .main-ttl-wrap .ttl {
    font-weight: bold;
}
#contents .container.detail.gift .main-ttl-wrap .ttl img {
    margin: 0 auto;
    width: 400px;
}
#contents .container.detail.gift .menu-wrap {
    max-width: 900px;
    width: 100%;
    margin: 0 auto 20px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 20px 0;
    box-sizing: border-box;
}
#contents .container.detail.gift .menu-wrap .gift-list {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    width: 100%;
}
#contents .container.detail.gift .menu-wrap .gift-list .item {
}
#contents .container.detail.gift .menu-wrap .gift-list .item a {
    color: inherit;
    font-weight: bold;
    font-size: 0.75em;
    text-decoration: none;
}
#contents .container.detail.gift .main-list {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    width: 100%;
    box-sizing: border-box;
}
#contents .container.detail.gift .main-list .item {
    width: 46%;
    margin-bottom: 3em;
    box-sizing: border-box;
}
#contents .container.detail.gift .main-list .item a {
    color: inherit;
    text-decoration: none;
    display: block;
}
#contents .container.detail.gift .main-list .item img {
    width: 100%;
}
#contents .container.detail.gift .main-list .item .ttl {
    font-weight: bold;
    font-size: 1.2em;
    margin-top: 0.5em;
}

#contents .container.detail.gift .kv img {
    width: 100%;
}
#contents .container.detail.gift .cat-ttl {
    text-align: center;
    font-weight: bold;
    font-size: 2em;
    margin-top: 0.5em;
}
#contents .container.detail.gift .tagline {
    text-align: center;
    margin: 1em 0 0;
}
#contents .container.detail.gift .byname {
    font-size: 0.8em;
    text-align: center;
    margin-bottom: 5em;
}
#contents .container.detail.gift .main-list .item a.ext-link {
    display: inline;
    text-decoration: underline;
}
#contents .container.detail.gift .main-list .item .body {
    margin-top: 1em;
}
#contents .container.detail.gift .main-list .item .body b {
    font-weight: bold;
}


/* }}} */

.-mandarin .image {
    width: 180px;
    margin-right: 10px;
}
.-mandarin .image:last-child {
    margin-right: 0;
}

.-peninsula {
    display: flex;
}
.-peninsula .image {
    width: 400px;
    margin-right: 10px;
}
.-peninsula .image:last-child {
    margin-right: 0;
}



.table__villafoch {
  border-collapse: collapse;
  border-spacing: 0;
  width: 760px;
  margin: 0 auto;
  box-sizing: border-box;
}

.table__villafoch th,
.table__villafoch td {
  border: 0.5px solid #363636;
  box-sizing: border-box;
  padding: 0.4em 0;
}

.table__villafoch th {
  font-size: 0.875rem;
  font-weight: bold;
}

.table__villafoch td {
  font-size: 0.9375rem;
  text-align: center;
}

.table__villafoch--th.-border-none {
  border: none;
}

.table__villafoch--th.-member {
  background: #969696;
  color: #fff;
}

.table__villafoch--th.-visitor {
  background: #EAEAEA;
}

.ended-block {
    position: fixed;
    width: 90%;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0,0,0,0.7);
    box-sizing: border-box;
    text-align: center;
    color: #fff;
    padding: 2em;
    z-index: 50;
}
.ended-block .message {
    color: #fff;
    font-weight:bold;
    font-size: 2em;
}

.lcoc-info {
    width: 960px;
    margin: 0 auto 2em;
    box-sizing: border-box;
    border: 1px solid #333;
    padding: 1em;
}
.lcoc-flex {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    max-width: 81%;
    margin: 0 auto 3em;
}
.lcoc-ranking {
    width: 400px;
    max-width: 50%;
    border: 1px solid #ccc;
    padding: 1em;
}
.lcoc-ranking .lcoc-ranking-list {
    /* display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center; */
    box-sizing: border-box;
}
.lcoc-ranking .item {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    margin-top: 1em;
}
.lcoc-ranking .ttl {
    font-weight: bold;
    text-align: center;
    margin-bottom: .7em;
    font-size: 1.2em;
}
.lcoc-ranking .rank {
    margin-right: 1em;
    white-space: nowrap;
}
.lcoc-ranking img {
    width: 100px;
    margin-right: 1em;
}
.lcoc-ranking a {
    margin-right: 2em;
}
.cafehour-fold {
    display: none;
}

.harney-box {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
}
.harney-box .photo-block {
    box-sizing: border-box;
    width: 400px;
}
.harney-box .desc {
    width: calc(100% - 430px);
}
.harney-logo {
}
.harney-logo img {
    width: 200px;
    margin: 1em auto 0;
}
.kinobi-wrap {
    display: flex;
    align-items: center;
}
.kinobi-wrap img {
    width: 400px;
    margin-right: 1em;
}
.kinobi-wrap .video-wrap {
    width: 400px;
}
.kinobi-wrap .video-wrap video {
    width: 400px;
}

.musicbar-img {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
}
.musicbar-img img {
    margin-right: 1em;
}

.flexbox-img {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:justify;
    -webkit-justify-content:space-between;
    justify-content:space-between;
}
.flexbox-img.-column3 img {
    width: 32%;
    object-fit: cover;
}
.flexbox-img.-column2 img {
    width: 49%;
    object-fit: cover;
}

.foode.logo img {
    width: 200px;
}

.hotel-flex {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:center;
    -webkit-justify-content:center;
    justify-content:center;
}
.hotel-flex .service-box:nth-of-type(1) {
    margin-right: 1em;
}
.tokyu-c-img {
    width: 300px;
    margin: 0 auto 1em;
}

.capitol_flex {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
}

.capitol_flex .ttl {
    width: 9em;
}
.lccommunity-list .new-icon {
    margin-right: 0.5em;
}
.lcoc h2 .new-icon {
    margin-right: 0.5em;
}

/* travel hawaii {{{ */
#contents .container.travel.detail.hawaii .container-inner {
    width: 1100px;
}
.container.travel.detail.hawaii .ttl-h3 {
    font-size: 1.4em;
    font-weight: normal;
}
.container.travel.detail.hawaii .ttl-h4 {
    font-weight: bold;
    line-height: 1;
    margin-bottom: 0.8em;
}
.container.travel.detail.hawaii .bg-gray {
    padding: 30px 0;
    background-color: #efefef;
}

.container.travel.detail.hawaii .anchor-area {
	display: block;
}
.container.travel.detail.hawaii .anchor-area a {
	max-width: 100%;
	box-sizing: border-box;
	padding: 0;
}
.container.travel.detail.hawaii .anchor-area a:last-child {
	border: none;
	padding: 0;
}

.container.travel.detail.hawaii .hotel-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1100px;
    margin: 2% auto;
    padding: 0;
}
.container.travel.detail.hawaii .hotel-list::before,
.container.travel.detail.hawaii .hotel-list::after {
    content: '';
    order: 10000;
    display: block;
    width: 265px;
    height: 1px;
}
.container.travel.detail.hawaii .title-border .hotel-list {
    width: 900px;
    margin: 2% 0 0;
}
.container.travel.detail.hawaii .hotel-list li {
    width: 265px;
    height: auto;
    height: initial;
    margin: 0 0 20px 0;
}
.container.travel.detail.hawaii .hotel-list li:nth-child(4n) {
    margin-right: 0;
}
.container.travel.detail.hawaii .hotel-list li img {
    width: 265px;
    height: initial;
    height: auto;
}
.container.travel.detail.hawaii .hotel-list a {
    color: #000000;
}
.container.travel.detail.hawaii .hotel-list a:hover {
}
.container.travel.detail.hawaii .hotel-list .area {
    font-size: 0.8em;
}

.container.travel.detail.hawaii .cat-box ul.restaurant-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1100px;
    margin: 20px auto 0;
    padding: 0;
}
.container.travel.detail.hawaii .cat-box ul.restaurant-list::before,
.container.travel.detail.hawaii .cat-box ul.restaurant-list::after {
    content: '';
    order: 10000;
    display: block;
    width: 265px;
    height: 1px;
}
.container.travel.detail.hawaii .cat-box ul.restaurant-list li {
    width: 265px;
    height: auto;
    height: initial;
    margin: 0 0 20px 0;
}
.container.travel.detail.hawaii .cat-box ul.restaurant-list li:nth-child(4n) {
    margin-right: 0;
}
.container.travel.detail.hawaii .cat-box ul.restaurant-list li:nth-child(4n + 1) {
}
.container.travel.detail.hawaii .cat-box ul.restaurant-list li h4 {
    margin-top: 5px;
}
.container.travel.detail.hawaii .cat-box ul.restaurant-list li h4 + p {
    font-size: 0.75em;
    color: #777777;
    margin-top: 10px;
}
.container.travel.detail.hawaii .cat-box ul.restaurant-list li img {
    width: 265px;
    height: initial;
    height: auto;
}
.container.travel.detail.hawaii .cat-box ul.restaurant-list .cards {
    margin-top: 5px;
}
.container.travel.detail.hawaii .cat-box ul.restaurant-list .cards  img {
    width: 40px;
    margin-right: 2px;
}

.container.travel.detail.hawaii .offer-list {
    display: flex;
    width: auto;
    max-width: 1100px;
    text-align: left;
    margin: 0 auto;
    justify-content: space-between;
    flex-wrap: wrap;
}

.container.travel.detail.hawaii .offer-list .offer-list__item {
    display: flex;
    vertical-align: top;
    /* max-width: 49%; */
    margin: 0;
    padding: 0;
    -moz-box-shadow: 0 0 4px 1px #dfdfdf;
    -webkit-box-shadow: 0 0 4px 1px #dfdfdf;
    box-shadow: 0 0 4px 1px #dfdfdf;
    background-color: #fff;
    align-items: center;
}
.container.travel.detail.hawaii .offer-list .offer-list__item img {
    display: block;
    max-width: 100%;
    width: 50%;
}
.container.travel.detail.hawaii .offer-list .offer-list__item p {
    padding: 20px;
}

.container.travel.detail.hawaii .service-box-wrapper {
    /* gap: 0 .5%; */
}
.container.travel.detail.hawaii .service-box {
    box-sizing: border-box;
    width: 24%;
    max-width: 25%;
    border: 1px solid #ccc;
    padding: 1em;
    margin-top: 1em;
}
.container.travel.detail.hawaii .service-box.service-box2 {
    width: 49%;
    max-width: 50%;
}
.container.travel.detail.hawaii .service-box .ttl {
    font-weight: bold;
    text-align: center;
    margin-top: 1em;
    margin-bottom: .7em;
    font-size: 1em;
}

/* }}} */

/* travel kyoto {{{ */
#contents .container.travel.detail.kyoto .container-inner {
    width: 1100px;
}
.container.travel.detail.kyoto .ttl-h3 {
    font-size: 1.4em;
    font-weight: normal;
}
.container.travel.detail.kyoto .ttl-h4 {
    font-weight: bold;
    line-height: 1;
    margin-bottom: 0.8em;
}
.container.travel.detail.kyoto .bg-gray {
    padding: 30px 0;
    background-color: #efefef;
}

.container.travel.detail.kyoto .anchor-area {
	display: block;
}
.container.travel.detail.kyoto .anchor-area a {
	max-width: 100%;
	box-sizing: border-box;
	padding: 0;
}
.container.travel.detail.kyoto .anchor-area a:last-child {
	border: none;
	padding: 0;
}

.container.travel.detail.kyoto .icon {
    display: none !important;
}

.container.travel.detail.kyoto .hotel-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1100px;
    margin: 2% auto;
    padding: 0;
}
.container.travel.detail.kyoto .hotel-list::before,
.container.travel.detail.kyoto .hotel-list::after {
    content: '';
    order: 10000;
    display: block;
    width: 265px;
    height: 1px;
}
.container.travel.detail.kyoto .title-border .hotel-list {
    width: 900px;
    margin: 2% 0 0;
}
.container.travel.detail.kyoto .hotel-list li {
    width: 265px;
    height: auto;
    height: initial;
    margin: 0 0 20px 0;
}
.container.travel.detail.kyoto .hotel-list li:nth-child(4n) {
    margin-right: 0;
}
.container.travel.detail.kyoto .hotel-list li img {
    width: 265px;
    height: initial;
    height: auto;
}
.container.travel.detail.kyoto .hotel-list a {
    color: #000000;
}
.container.travel.detail.kyoto .hotel-list a:hover {
}
.container.travel.detail.kyoto .hotel-list .area {
    font-size: 0.8em;
}

.container.travel.detail.kyoto .offer-list {
    display: flex;
    width: auto;
    max-width: 1100px;
    text-align: left;
    margin: 0 auto;
    justify-content: space-between;
    flex-wrap: wrap;
}
.container.travel.detail.kyoto .offer-list .offer-list__item {
    display: flex;
    vertical-align: top;
    /* max-width: 49%; */
    margin: 0;
    padding: 0;
    -moz-box-shadow: 0 0 4px 1px #dfdfdf;
    -webkit-box-shadow: 0 0 4px 1px #dfdfdf;
    box-shadow: 0 0 4px 1px #dfdfdf;
    background-color: #fff;
    align-items: center;
}
.container.travel.detail.kyoto .offer-list .offer-list__item img {
    display: block;
    max-width: 100%;
    width: 50%;
}
.container.travel.detail.kyoto .offer-list .offer-list__item p {
    padding: 20px;
}

.container.travel.detail.kyoto .service-box-wrapper {
    /* gap: 0 .5%; */
}
.container.travel.detail.kyoto .service-box {
    box-sizing: border-box;
    width: 24%;
    max-width: 25%;
    border: 1px solid #ccc;
    padding: 1em;
    margin-top: 1em;
    /* margin-right: 1%; */
}
.container.travel.detail.kyoto .service-box.service-box--noboder {
    padding: 0;
    border: none;
}
.container.travel.detail.kyoto .service-box:nth-child(4n) {
    /* margin-right: 0; */
}
.container.travel.detail.kyoto .service-box.service-box3 {
    width: 32.3%;
    max-width: 33.3%;
}
.container.travel.detail.kyoto .service-box.service-box2 {
    width: 49%;
    max-width: 50%;
}
.container.travel.detail.kyoto .service-box.service-box1 {
    width: 100%;
    max-width: 100%;
}
.container.travel.detail.kyoto .service-box .ttl {
    font-weight: bold;
    text-align: center;
    margin-top: 1em;
    margin-bottom: .7em;
    font-size: 1em;
}

.container.travel.detail.kyoto .kyoto-push-list-slide {
}
.container.travel.detail.kyoto .kyoto-push-list {
    margin: 0 -6.5px;
}
.container.travel.detail.kyoto .kyoto-push-list .kyoto-push-list__item {
    margin-left: 6.5px;
    margin-right: 6.5px;
    /* padding: 1em; */
    width: 265px !important;
    /* border: 1px solid #ccc; */
    box-sizing: border-box;
}

.container.travel.detail.kyoto .kyoto-push-list-slide .bx-wrapper {
    max-width: 1100px !important;
    margin: 0 auto;
}
.container.travel.detail.kyoto .kyoto-push-list-slide .bx-viewport {
    overflow: visible!important;
    /* width: 975px !important; */
    margin: 0 auto;
}
.container.travel.detail.kyoto .kyoto-push-list-slide .bx-wrapper .bx-prev {
    left: -50px;
}
.container.travel.detail.kyoto .kyoto-push-list-slide .bx-wrapper .bx-next {
    right: -50px;
}
.container.travel.detail.kyoto .kyoto-push-list-slide .bx-wrapper .bx-pager.bx-default-pager a:hover, 
.container.travel.detail.kyoto .kyoto-push-list-slide .bx-wrapper .bx-pager.bx-default-pager a.active {
    background: #999;
}

.container.travel.detail.kyoto .app {
    width: 100%;
    margin: 0 auto;
    border: 1px solid #fff;
    background: #000;
    padding: 20px;
}
.container.travel.detail.kyoto .app .flex-content {
    margin: 0 10px;
}
.container.travel.detail.kyoto .app .desc {
    width: 315px;
    color: #fff;
    font-size: 12px;
}
.container.travel.detail.kyoto .app .desc .ttl {
    font-weight: bold;
    font-size: 16px;
}
.container.travel.detail.kyoto .app .qr {
    width: 80px;
}
.container.travel.detail.kyoto .app .store img:first-child {
    margin-bottom: 5px;
}

/* }}} */

/* travel slh, lifestyle {{{ */
.container.travel.detail.slh .ttl-accordion a,
.container.lifestyle.detail .ttl-accordion a {
    color: #3a3a3a;
}
.container.travel.detail.slh .ttl-accordion a::after,
.container.lifestyle.detail .ttl-accordion a::after {
    display: inline-block;
    width: .5em;
    height: .5em;
    margin: 0 10px;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(45deg);
    vertical-align: .3em;
    content: '';
}
.container.travel.detail.slh .ttl-accordion.is--active a::after,
.container.lifestyle.detail .ttl-accordion.is--active a::after {
    transform: rotate(-135deg);
    vertical-align: 0;
}

/* }}} */


.lang-en,
.en-only {
    display: none;
}

.lang-select-02 + #wrapper .en-only {
    display: block;
}

.lang-select-02 + #wrapper .footerMenu .en-only {
    display: inline-block;
}


/* pickup restaurant {{{ */
.pickup-restaurant {
    background: #f0efeb;
    padding: 1em 0 2em;
}
.pickup-ttl {
    position: relative;
    margin-bottom: 2em;
    padding:.5em;
    text-align: center;text-decoration: none;
    font-size: 1.5em;
    font-weight: bold;
}
.pickup-ttl::after {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 50px;
    height: 2px;
    background: #96743e;
}
.container.dining .cat-box ul.restaurant-list.pickup-restaurant-list li {
    position: relative;
    margin: 0 30px !important;
    padding: 0 0 1em;
    background: #fff;
    border: none;
}
.pickup-restaurant-number {
    font-size: 1em;
    font-weight: bold;
    color: #96743e;
    position: absolute;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    width: 55px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    transform: translate(-50%,-50%);
    z-index: 1;
}
.pickup-restaurant-icon {
    font-size: 0.8em;
    font-weight: bold;
    color: #fff;
    position: absolute;
    background: #96743e;
    border-radius: 8px;
    position: absolute;
    top: -15px;
    left: -15px;
    width: 160px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    z-index: 1;
}
.container.dining .cat-box ul.pickup-restaurant-list .cards {
    padding: 0 16px;
    margin-top: 1em;
}
.container.dining .cat-box ul.pickup-restaurant-list h4 {
    padding: 0 16px;
    margin-top: 1em;
}
.container.dining .cat-box ul.pickup-restaurant-list h4 + p {
    padding: 0 16px;
    margin-top: 1em;
}
.pickup-restaurant-upgrade {
    color: #777;
    margin: 1em 0 0;
    font-size: 1rem;
    padding: 0 1em;
}
.pickup-restaurant-catch {
    color: #96743e;
    margin: 1em 0 0;
    font-size: 1rem;
    padding: 0 1em;
}
.pickup-note {
    margin: 2em auto 0;
    width: 900px;
}
/* luxurydining */
.container.dining.luxurydining .cat-box ul.restaurant-list.pickup-restaurant-list {
    width: 1140px;
    justify-content: flex-start;
}
.container.dining.luxurydining .cat-box ul.restaurant-list.pickup-restaurant-list li {
    margin-left: 10px !important;
    margin-right: 10px !important;
}
.container.dining.luxurydining .cat-box ul.restaurant-list.pickup-restaurant-list li:nth-of-type(n+5) {
    margin-top: 60px !important;
}




/* }}} */


/* hotelux {{{ */

.container.travel.detail.hotelux .canpaign-bnr {
}
.container.travel.detail.hotelux .canpaign-bnr .canpaign-bnr__item {
    display: flex;
    margin: 0;
    padding: 0;
    max-width: 900px;
    background-color: #fff;
    border: 1px solid #000;
    color: #000;
    text-decoration: none;
    align-items: center;
    justify-content: space-between;
    vertical-align: top;
}
.container.travel.detail.hotelux .canpaign-bnr .canpaign-bnr__item .canpaign-bnr__img {
    display: block;
    width: 400px;
    height: 200px;
}
#contents .container.travel.detail.hotelux .canpaign-bnr .canpaign-bnr__item .canpaign-bnr__img img {
    width: 400px;
    height: 200px;
    object-fit: cover;
}

.container.travel.detail.hotelux .canpaign-bnr .canpaign-bnr__item .canpaign-bnr__txt {
    padding: 20px;
    width: 500px;
    text-align: center;
    box-sizing: border-box;
}
#contents .container.travel.detail.hotelux .canpaign-bnr .canpaign-bnr__item .canpaign-bnr__txt img {
    margin: 0 auto;
    width: 180px;
    height: auto;
}
/* }}} */


/* lifestyle wellness {{{ */
#contents .container.lifestyle.detail.wellness .container-inner {
    width: 1100px;
}
.container.lifestyle.detail.wellness .ttl-h3 {
    font-size: 1.4em;
    font-weight: normal;
}
.container.lifestyle.detail.wellness .ttl-h4 {
    font-weight: bold;
    line-height: 1;
    margin-bottom: 0.8em;
}
.container.lifestyle.detail.wellness .bg-gray {
    padding: 30px 0;
    background-color: #efefef;
}

.container.lifestyle.detail.wellness .anchor-area {
	display: block;
}
.container.lifestyle.detail.wellness .anchor-area a {
	max-width: 100%;
	box-sizing: border-box;
	padding: 0;
}
.container.lifestyle.detail.wellness .anchor-area a:last-child {
	border: none;
	padding: 0;
}

.container.lifestyle.detail.wellness .offer-list {
    display: flex;
    width: auto;
    max-width: 1100px;
    text-align: left;
    margin: 0 auto;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
}
.container.lifestyle.detail.wellness .offer-list + .offer-list {
    margin-top: 1em;
}
.container.lifestyle.detail.wellness .offer-list .offer-list__item {
    display: flex;
    vertical-align: top;
    /* max-width: 49%; */
    margin: 0;
    padding: 0;
    -moz-box-shadow: 0 0 4px 1px #dfdfdf;
    -webkit-box-shadow: 0 0 4px 1px #dfdfdf;
    box-shadow: 0 0 4px 1px #dfdfdf;
    background-color: #fff;
    align-items: center;
}
.container.lifestyle.detail.wellness .offer-list .offer-list__item .offer-list__img {
    display: block;
    max-width: 100%;
    width: 50%;
}
.container.lifestyle.detail.wellness .offer-list .offer-list__item .offer-list__txt {
    padding: 20px;
    width: 50%;
    box-sizing: border-box;
}
.container.lifestyle.detail.wellness a.offer-list__item {
    color: #000;
    text-decoration: none;
}
.container.lifestyle.detail.wellness .offer-list .icon-wrap {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 1;
}
.container.lifestyle.detail.wellness .offer-list .icon-wrap img {
    width: 32px;
}


.container.lifestyle.detail.wellness .hotel-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1100px;
    margin: 2% auto;
    padding: 0;
}
.container.lifestyle.detail.wellness .hotel-list::before,
.container.lifestyle.detail.wellness .hotel-list::after {
    content: '';
    order: 10000;
    display: block;
    width: 265px;
    height: 1px;
}
.container.lifestyle.detail.wellness .title-border .hotel-list {
    width: 900px;
    margin: 2% 0 0;
}
.container.lifestyle.detail.wellness .hotel-list li {
    width: 265px;
    height: auto;
    height: initial;
    margin: 0 0 20px 0;
}
.container.lifestyle.detail.wellness .hotel-list li:nth-child(4n) {
    margin-right: 0;
}
.container.lifestyle.detail.wellness .hotel-list li img {
    width: 265px;
    height: initial;
    height: auto;
}
.container.lifestyle.detail.wellness .hotel-list a {
    color: #000000;
}
.container.lifestyle.detail.wellness .hotel-list a:hover {
}
.container.lifestyle.detail.wellness .hotel-list .area {
    font-size: 0.8em;
}

/* }}} */


/* info/notice_tsandcs {{{ */

#wrapper.tsandcs #header {
    border-bottom: 1px solid #000;
    margin-bottom: 40px;
}
#wrapper.tsandcs #footer {
    margin-top: 60px;
    padding: 35px 0;
    /*padding: 0;*/
    background: #f8f8f8;
}

/* }}} */


/* home social hour {{{ */
.detail.hsh .square-box {
    box-sizing: border-box;
    text-align: left;
    width: 49%;
}
.detail.hsh .square-box .ttl {
    box-shadow: 0px 0px 10px rgba(0, 0, 0, .16);
}
.detail.hsh .square-box .body {
    margin-top: 1em;
}
/* }}} */


/* vim: set ts=4 sw=4 sts=0 foldmethod=marker : */