/* $Id: base.css,v 1.13 2013-11-01 00:27:19 koji Exp $ */

@charset "utf-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

/* base {{{ */

body {
    font-size: 16px;
    color: #3a3a3a;
    line-height: 1.5;
    /* font-family:  "TBUDゴシック SL", TBUDGothic SL, "メイリオ", Meiryo, Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, sans-serif; */
    font-family: "Roboto", "游ゴシック Medium", "Yu Gothic Medium","游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    -webkit-text-size-adjust: 100%;
}

div.clear {
    clear: both;
}
.clear {
    clear: both;
}

a {
    text-decoration: underline;
    color: #007fd8;
}
a:link {}
a:visited {}
a:hover {text-decoration: none;}
a:active {}

/* centering layout {{{ */
div.outerframe {
    text-align: center;
}
div.innerframe {
    width: 950px;
    margin: 0px auto;
    text-align: left;
}
.txt-underline {
	text-decoration: underline;
}
/* }}} */

/* font-size {{{ */

.em04 { font-size: 0.4em !important; } 
.em045 { font-size: 0.45em !important; } 
.em05 { font-size: 0.5em !important; } 
.em055 { font-size: 0.55em !important; } 
.em06 { font-size: 0.6em !important; } 
.em065 { font-size: 0.65em !important; } 
.em07 { font-size: 0.7em !important; } 
.em075 { font-size: 0.75em !important; }
.em08 { font-size: 0.8em !important; }
.em085 { font-size: 0.85em !important; }
.em0875 { font-size: 0.875em !important; }
.em09 { font-size: 0.9em !important; }
.em1 {font-size: 1em !important;}
.em11 { font-size: 1.1em; }
.em12 { font-size: 1.2em !important; }
.em14 { font-size: 1.4em !important; }
.em16 { font-size: 1.6em !important; }
.em18 { font-size: 1.8em !important; }
.em20 { font-size: 2em !important; }

/* }}} */
/* font-weight {{{ */

.bold {
    font-weight: bold;
}

/* }}} */
/* line-height {{{ */

.lh12 { line-height: 1.2em !important; }
.lh14 { line-height: 1.4em !important; }
.lh15 { line-height: 1.5em !important; }

@media screen and (max-width: 767px) {
.sp-lh15 { line-height: 1.5em !important; }
.sp-lh16 { line-height: 1.6em !important; }
}

/* }}} */
/* alignment {{{ */

.txt-left { text-align: left !important; }
.txt-center { text-align: center !important; }
.txt-right { text-align: right !important; }
.txt-top { vertical-align: top; }
.txt-middle { vertical-align: middle; }
.txt-b { vertical-align: bottom; margin-bottom: -0.4em; display: inline-block;}
.indent-1char {
    text-indent: -1em;
    padding-left: 1em;
}
.txt-bold {font-weight: bold}
.txt-normal {font-weight: normal}
.pc-txt-center {text-align: center; }

/* }}} */
/* IME {{{ */

.imeoff { ime-mode: disabled; }
.imeon { ime-mode: active; }

/* }}} */
/* clearfix {{{ */

.clearfix:after {
    content: ".";
    display:  block;
    height: 0;
    clear: both;
    visibility: hidden;
}
*html .clearfix {
    height: 1%;
}
.clearfix {
    display: block;
}

/* }}} clearfix */
/* margin padding {{{ */
.mtop0 {margin-top: 0 !important;}
.mtop5px {
    margin-top: 5px !important;
}
.mtop1p {
    margin-top: 1% !important;
}
.mtop3p {
    margin-top: 3% !important;
}
.mtop5p {
    margin-top: 5% !important;
}
.mtop8p {
    margin-top: 8% !important;
}
.mtop10p {
    margin-top: 10% !important;
}
.mleft3p {
    margin-left: 3% !important;
}
.mleft5p {
    margin-left: 5% !important;
}
.mleft8p {
    margin-left: 8% !important;
}
.mleft10p {
    margin-left: 10% !important;
}

.pleft1em {
    padding-left: 1em;
}
.mbtm0 {
    margin-bottom: 0 !important;
}

.mtop1p { margin-top: 1% !important; }
.mtop2p { margin-top: 2% !important; }
.mtop3p { margin-top: 3% !important; }
.mtop4p { margin-top: 4% !important; }
.mtop5p { margin-top: 5% !important; }
.mtop8p { margin-top: 8% !important; }

.mtop02em { margin-top: 0.2em !important; }
.mtop05em { margin-top: 0.5em !important; }
.mtop1em { margin-top: 1em !important; }
.mtop2em { margin-top: 2em !important; }
.mtop3em { margin-top: 3em !important; }
.mtop4em { margin-top: 4em !important; }
.mtop5em { margin-top: 5em !important; }
.mtop8em { margin-top: 8em !important; }

.mb1p { margin-bottom: 1% !important; }
.mb2p { margin-bottom: 2% !important; }
.mb3p { margin-bottom: 3% !important; }
.mb4p { margin-bottom: 4% !important; }
.mb5p { margin-bottom: 5% !important; }
.mb8p { margin-bottom: 8% !important; }

.mb0 { margin-bottom: 0 !important; }
.mb05em { margin-bottom: 0.5em !important; }
.mb1em { margin-bottom: 1em !important; }
.mb2em { margin-bottom: 2em !important; }
.mb3em { margin-bottom: 3em !important; }
.mb4em { margin-bottom: 4em !important; }
.mb5em { margin-bottom: 5em !important; }
.mb8em { margin-bottom: 8em !important; }

.ml0 {margin-left: 0 !important; }
.ml1em {margin-left: 1em !important; }

.mr0 {margin-right: 0 !important; }

.no-br br {
    display: none;
}

.lpad1em {
    padding-left: 1em;
}

/* }}} */
/* float {{{ */

.fl {
    float: left;
}
.fr {
    float: right;
}

/* }}} */
/* padding {{{ */

.padl-1 {
    padding-left: 1em;
}

/* }}} */

/* }}} */
/* utlity {{{ */

.aafont {
    /* anti-aliased font */
    font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
}
.afont {
    font-family: "MS PGothic", Osaka, sens-serif;
}

em {
    color: #cc0000;
    font-weight: bold;
    font-style: normal;
}

span.linked {
    cursor: pointer;
}

span.linked:hover {
    color: #0000ff;
    cursor: pointer;
    text-decoration: underline;
}

span.plink {
    cursor: pointer;
    color: #cc0000;
    text-decoration: underline;
}
span.qfchecked {
    font-weight: bold;
}
hr.thin {
    border-width: 1px 0px 0px 0px;
    border-style: solid;
    border-color: #000000;
    padding: 0px;
    height: 1px;
}
hr.thin.gray {
    border-color: #ccc;
}

sup.sup {
    font-size: 75.5%;
    vertical-align: top;
    position: relative;
    top: -0.1em;
}
sup.sub {
    font-size: 75.5%;
    vertical-align: bottom;
    position: relative;
    top: 0.1em;
}


/* }}} */

/* common {{{ */

@media screen and (min-width: 768px) {
.pc-none {
    display: none !important;
}
}

.blue {
    color: #007fd8;
}
.red {
    color: #cc0000;
}
.btn {
    background-color: #01addf;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    display: inline-block;
    color: #ffffff;
    text-align: center;
    padding: 0.3em 1em 0.3em 2em;
    position: relative;
}
.btn:hover {
    /* background-color: #ff6c00; */
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}
.btn.arrow:before {
    border-right: 1px solid #ffffff;
    border-top: 1px solid #ffffff;
    content: "";
    margin-top: -0.25em;
    width: 0.5em;
    height: 0.5em;
    left: 1em;
    position: absolute;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 50%;
    z-index: 100;
}
.btn.arrow02:before {
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
a.btn,
button.btn {
    font-family: "Roboto", "游ゴシック Medium", "Yu Gothic Medium","游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    font-size: 1em;
    background: none;
    color: inherit;
    transform: none;
    padding: 1em 4em;
    position: static;
}
a.btn.black,
button.btn.black {
    background: #000000;
    color: #ffffff;
}
a.nolink {
    text-decoration: none;
    cursor: default;
}

.for-pc {
    display: block;
}
.for-sp {
    display: none;
}
.noto-sans {
    font-family:  'Noto Sans Japanese',"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
}
a img:hover {
    filter:alpha(opacity=90);
    -moz-opacity: 0.9;
    opacity: 0.9;
}
a.no-anchor {
    cursor: default;
}

#wrapper {
    width: 100%;
}
.dispnone {
    display: none !important;
}
.sp-only {
    display: none !important;
}
.sp-only.inline-block {
    display: none !important;
}
.pc-only {
    display: block !important;
}
.pc-only.inline-block {
    display: inline-block !important;
}

.flex-wrapper {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
}
.flex-content {
    flex: 0 0 auto;
}


#contents .mark-update,
#contents .mark-new {
    box-sizing: border-box;
    display: inline-block;
    font-size: 0.8em;
    background-color: #633142;
    color: #fff;
    padding: 0.1em;
    width: 3.4em;
    text-align: center;
    margin: 0 0.5em;
}
#contents .mark-new.big {
	box-sizing: border-box;
    display: inline-block;
	font-size: 1.2em;
	background-color: #633142;
	color: #fff;
	padding: 0.1em 0.6em;
	width: 3.4em;
	text-align: center;
	margin: 0;
}
#contents .mark-new2 {
    color: #ff0000;
    background: none;
    font-weight: bold;
}
#contents .mark-new2:before {
    content: "＜";
}
#contents .mark-new2:after {
    content: "＞";
}
#contents .mark-update {
    width: 5em;
}

.flexbox {
    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;
}
.flexbox.vcenter {
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
}
.flexbox.vtop {
    -webkit-align-items: flex-start;
    -ms-align-items    : flex-start;
    align-items        : flex-start;
}
.flexbox.vend {
    -webkit-align-items: flex-end;
    -ms-align-items    : flex-end;
    align-items        : flex-end;
}

.flexbox.stretch {
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
}
.flexbox.jstart {
    -ms-flex-pack:flex-start;
    -webkit-justify-content:flex-start;
    justify-content:flex-start;
}
.flexbox.jcenter {
    -ms-flex-pack:center;
    -webkit-justify-content: center;
    justify-content:center;
}
.flexbox.jend {
    -ms-flex-pack:flex-end;
    -webkit-justify-content:flex-end;
    justify-content:flex-end;
}



.indented {
    padding-left: 1em;
    text-indent: -1em;
}
.indented2 {
    padding-left: 2em;
    text-indent: -1em;
    font-size: 0.9em;
}
.w100per {
    width: 100%;
}

.ico_card1 {
    height: auto !important;
    display: inline-block !important;
    margin: 0 0.2em 0 0 !important; 
    vertical-align: -4px !important;
    /* width: 28px !important; */
    width: 5em !important;
}
.ico_card1.m01 {
    margin: 0 0.2em 0 0 !important; 
    display: inline-block !important;
}
.ico_card1.m02 {
    margin: 0 0 0 0.2em !important; 
    display: inline-block !important;
}
.ico_card1.m011 {
    margin: 0 0.2em 0.2em 0 !important; 
}
.ico_card1.small {
  width: 4em !important;
}
.ico_card1.ss {
  width: 2em !important;
}

.pc-nowrap {
    white-space: nowrap;
}

.break-all {
    word-break: break-all;
}

/*
sub {
    font-size: 100%;
    vertical-align: bottom;
    position: relative;
    bottom: -0.4em;
}
*/

ul.notes2 {
}
ul.notes2 li {
    font-size: 0.9em;
    text-indent: -1em;
    padding-left: 1em;
}
ul.notes2 li:before {
    content: "・";
}


@media screen and (min-width: 768px) {
h3.index-ttl,
h3.detail-ttl,
sub.index-ttl,
sub.detail-ttl,
strong.index-ttl,
strong.detail-ttl,
span.index-ttl,
span.detail-ttl {
    font-size: 20px !important;
    font-weight: bold;
}
}

ul.decimal,
ul.number {
    list-style-type: decimal;
    margin-left: 2.2em;
}
ul.decimal2 {
    margin-left: 1.4em;
}
ul.indent {
    margin-left: 1em;
}
ul.dot {
    margin-left: 1em;
}
ul.dot li:before {
    content: '・';
}
ul.dot li {
    text-indent: -1em;
    padding-left: 1em;
}
ul.number.noml,
ul.dot.noml {
    margin-left: 0;
}
ul.number.pad {
    padding-left: 1em;
}

ul.triangle-list {
}
ul.triangle-list li {
    display: inline-block;
    position: relative;
}
ol.number {
    padding-left: 1.5em;
}
ol.number li {
    list-style-type: none;
    counter-increment: cnt;
    position: relative;
}
ol.number li:before {
    content: counter(cnt) "）";
    position: absolute;
    left: -1.5em;
    top: 0;
}
.step_with_arrow li {
    margin-bottom: 80px;
}
.step_with_arrow li:after {
    content: "";
    box-sizing: border-box;
    display: block;
    border-right: 100px solid transparent;
    border-left: 100px solid transparent;
    border-top: 40px solid transparent;
    border-bottom: 40px solid transparent;

    border-top: 40px solid #eee;
    width: 200px;
    height: 80px;
    position: absolute;
    left: 50%;
    bottom: -100px;
    transform: translateX(-50%);
}
.step_with_arrow li:last-child {
    margin-bottom: 0;
}
.step_with_arrow li:last-child:after {
    content: none;
}
.asterisk {
    position: relative;
    margin-left: 1em;
    font-size: 0.85em;
}
.asterisk:before {
    content: "＊";
    position: absolute;
    left: -1em;
    top: 0;
    display: block;
    width: 1em;
}

ul.triangle-list.right li:before {
    content: "";
    display: inline-block;
    border-top: 4px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 8px solid #000;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -4px;
}
ul.triangle-list.bottom li:before {
    content: "";
    display: inline-block;
    border-top: 8px solid #000;
    border-right: 4px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 4px solid transparent;
    position: absolute;
    left: 0;
    top: 1.2em;
    margin-top: -8px;
}

.video {
    position: relative;
    height: 315px;
/*
    margin: 1em 0;
    height: 0;
    padding: 30px 0 56.25%;
    overflow: hidden;
*/
}
.video iframe {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);

}


strong.yellow {
    background: linear-gradient(transparent 60%, #ffff99 0%);
}

/* 黄色下線 */
.ul-yellow {
    background:linear-gradient(transparent 60%, #ffff66 60%);
}

.underline {
    text-decoration: underline;
}

/* }}} */

/* login {{{ */
.login-header {
    width: 970px;
    margin: auto;
    border-bottom: solid 1px #808080;
    padding: 35px 0 10px;
}
.login-header h1 {
    width: 50%;
    float: left;
    font-size: 1.375em;
    font-weight: normal;
    margin-left: 10px;
    color: #666666;
    letter-spacing: 0.1em;
}
.login-header nav {
    float: right;
    margin-top: 10px;
}
.login-header nav ul {
    
}
.login-header nav ul li {
    display: inline-block;
    padding: 0 0.8em 0.1em;
    line-height: 0.6;
    border-right: solid 1px #808080;
}
.login-header nav ul li:last-child {
    border: none;
}
.login-header nav ul li a {
    color: #000000;
    font-size: 0.625em;
    text-decoration: none;
    vertical-align: middle;
}
.login-header nav ul li img {
    vertical-align: middle;
    margin-left: 0.5em;
}
#contents .container.login {
    width: 970px;
    margin: auto;
    padding: 70px 0 100px;
}
#contents .container.login .main {
    width: 720px;
    float: left;
    position: relative;
}
#contents .container.login .main .btn-apply {
    position: absolute;
    bottom: 70px;
    left: 50%;
    margin-left: -102px;
}
#contents .container.login .login-box {
    width: 230px;
    clear: right;
    float: right;
    box-sizing: border-box;
    
    background-color: #f5f5f5;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    padding: 17px;
    border: solid 1px #dddddd;
}
#contents .container.login .login-box.login-box02 {
    margin-top: 20px;
}
#contents .container.login .login-box.login-box03 {
    background-color: #ffffff;
}
#contents .container.login .login-box h4 {
    font-size: 0.875em;
    font-weight: bold;
    margin-bottom: 15px;
    text-align: center;
}
#contents .container.login .login-box ul {
    width: 100%;
    margin-bottom: 20px;
}
#contents .container.login .login-box ul li {
    font-size: 0.75em;
    margin-bottom: 5px;
}
#contents .container.login .login-box input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    background-color: #ffffff;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    padding: 0.2em 0.5em;
    border: solid 1px #dddddd;
}
#contents .container.login .login-box .fl-box .chk {
    float: left;
    width: 50%;
    font-size: 0.625em;
}
#contents .container.login .login-box .fl-box .chk input {
    float: left;
    width: 1em;
}
#contents .container.login .login-box .fl-box .submit {
}
#contents .container.login .login-box .submit {
    font-size: 0.875em;
    text-align: center;
    background-color: #757678;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    border: solid 1px #000000;
    box-sizing: border-box;
    width: 100%;
}
#contents .container.login .login-box .note {
    margin-top: 0.5em;
    font-size: 0.625em;
}
#contents .container.login .login-box .submit.submit02 {
    width: 100%;
}
#contents .container.login .login-box .submit button {
    color: #ffffff;
    background: none;
    border: none;
    padding: 0.6em;
    width: 100%;
    cursor: pointer;
}
#contents .container.login .login-box .reminder {
    text-align: center;
    margin-top: 15px;
}
#contents .container.login .login-box .reminder a {
    font-size: 0.625em;
    color: #000000;
}
#contents .container.login .login-box.login-box03 .news {
    margin-bottom: 10px;
}
#contents .container.login .login-box.login-box03 .news li {
    border-bottom: dotted 1px #dddddd;
    padding-bottom: 5px;
}
#contents .container.login .login-box.login-box03 .news li a {
    color: #000000;
}
#contents .container.login .login-box.login-box03 .news-list {
    font-size: 0.625em;
    color: #000000;
}
#contents .container.login .login-box.emergency {
    padding: 17px 13px;
}
#contents .container.login .login-box.emergency p.small {
    font-size: 0.75em;
}
#contents .container.login .login-box.emergency p {
    text-align: center;
    font-size: 0.9em;
}
#contents .container.login .login-box.emergency p span.small{
    font-size: 0.65em;
}

#contents .container.login .logout-box {
    margin: 0 auto 50%;
}
#contents .container.login .logout-box h4 {
    font-size: 0.875em;
    margin-bottom: 1%;
}
#contents .container.login .logout-box .login {
    font-size: 0.875em;
}
#contents .container.login .logout-box .login a {
    color: #000000;
}

#contents .login-footer {
    background-color: #f8f8f8;
    padding: 105px 0;
}
#contents .login-footer footer {
    width: 970px;
    margin: auto;
}
#contents .login-footer footer .mark {
    border-bottom: solid 1px #bcbcbc;
    text-align: right;
    margin-bottom: 18px;
}
#contents .login-footer footer .mark img {
    display: inline-block;
}
#contents .login-footer footer .footer-nav {
    width: 50%;
    float: left;
}
#contents .login-footer footer .footer-nav li {
    display: inline-block;
    padding: 0 0.6em 0.2em;
    line-height: 0.6;
    border-right: solid 1px #808080;
}
#contents .login-footer footer .footer-nav li:last-child {
    border: none;
}
#contents .login-footer footer .footer-nav li a {
    font-size: 0.5625em;
    color: #999999;
    text-decoration: none;
    vertical-align: middle;
}
#contents .login-footer footer .copy {
    float: right;
    margin-top: 5px;
}
/* }}} */

/* header {{{ */

#header {
    min-width: 1200px;
    display: block;
}

#header header {
    margin: 0 auto;
}
#header header h1 {
    text-align: center;
    padding: 0;
}
#header header h1 img {
    display: block;
    margin: auto;
}

#header header nav {
    margin: 0 auto;
    background-color: #000000;
    color: #ffffff;
    text-align: center;
}
#header header nav ul {
    display: block;
    padding: 16px 0 8px;
    margin: 0;
}
#header header nav ul li {
    display: inline-block;
    /* margin-right: 61px; */
}
#header header nav ul li.ja-margin {
    margin-right: 61px;
}
#header header nav ul li:last-child,
#header header nav ul li.last {
    margin: 0;
}
#header header nav ul li a {
    display: block;
}
#header header nav ul li a img {
    display: block;
}


/* }}} header */

/* footer {{{ */
#footer {
    padding: 0 0 35px;
    /*padding: 0;*/
}
#footer footer .footer-nav {
    background-color: #f8f8f8;
    padding: 45px 0;
}
#footer footer ul.footerMenu {
    width: 1100px;
    margin: auto;
}
#footer footer ul.footerMenu li {
    padding: 0.2em 0;
    display: inline-block;
    width: 24.6%;
}
#footer footer ul.footerMenu li a {
    color: #999999;
    text-decoration: none;
    font-size: 0.9em;
}
#footer footer .social {
    text-align: center;
    padding: 40px 0 30px;
}
#footer footer .social li {
    margin: 0 0.35em;
    display: inline-block;
}
#footer footer .footer-text {
    font-size: 0.625em;
    color: #808080;
    box-sizing: border-box;
    width: 1100px;
    margin: 5px auto 0;
    letter-spacing: 0.15em;
}

.icon-desc {
    box-sizing: border-box;
    width: 1100px;
    margin: 2em auto 2em;
}
.icon-desc .icon-list {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    -ms-flex-pack:flex-start;
    -webkit-justify-content:flex-start;
    justify-content:flex-start;
}
.icon-desc .icon-list .item {
    display: flex;
    display:-webkit-flex;
    display:-ms-flexbox;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    margin-right: 3em;

    font-size: 0.9em;
}
.icon-desc .icon-list img {
    width: 1em;
    margin-right: 0.2em;
}
.icon-desc .icon-list .text {
}

/* }}} */

/* 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: 33.33333%;
}
.container.top .menu li a {
    display: block;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    height: 300px;
    position: relative;
    line-height: 0;
}
.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;
}
.container.top .menu li.concierge a {
    background-image: url(/img/top/btn_concierge.png);
    background-position: right center;
}
.container.top .menu li.dining a {
    background-image: url(/img/top/btn_dining.png);
}
.container.top .menu li.travel a {
    background-image: url(/img/top/btn_travel.png);
}
.container.top .menu li.point a {
    background-image: url(/img/top/btn_point.png);
    background-position: right center;
}
.container.top .menu li.lifestyle a {
    background-image: url(/img/top/btn_lifestyle.png);
}
.container.top .menu li.insurance a {
    background-image: url(/img/top/btn_insurance.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 .banner-area {
    background: #222;
    width: 100%;
}
.container.top .banner-area .inner {
    width: 1000px;
    margin: 0 auto;
    padding: 50px 0 60px;
}
.container.top .banner-area .inner .ttl {
    margin-bottom: 15px;
}
.container.top .inner .bnr li {
    margin: 0 0.4em;
}

.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;
}
.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 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;
}

/* }}} */

/* 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 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;
}

.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 .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.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%;
}
.container.detail .notes-list.nb {
    border-bottom: none;
}
.container.detail .notes-list.mb0 {
    margin-bottom: 0;
}
.container.detail .notes-list li {
    text-indent: -1em;
    padding-left: 1em;
    font-size: 0.9em;
}
.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 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.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 {
    width: 1100px;
    margin: 20px auto 0;
    padding: 0;
}
.container.dining .cat-box ul.restaurant-list li {
    float: left;
    width: 265px;
    height: auto;
    height: initial;
    margin: 0 13px 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 .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 {
    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;
}
.container.hotel p.mark_update,
.container.dining.dining02 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;
}
.container.hotel .icon,
.container.dining.dining02 .icon {
    display: inline-block;
    float: right;
    vertical-align: middle;
    margin-top: -11px;
}
.container.hotel .icon .img,
.container.dining.dining02 .icon .img {
    width: 36px !important;
}

.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;
}
.update-icon.right,
.new-icon.right {
    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;
}

/* 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 {
    width: 1100px;
    margin: 2% auto;
    padding: 0;
}
.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 13px 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;
}


#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;
}
#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 {
}

#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;
}
/* }}} */

/* /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;
}
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;
}
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%;
}

/* }}} */

/* 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%;
}

/* }}} */

/* 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 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%;
}


/* }}} */

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

.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: 300px;
}
.-mandarin .image:first-child {
    margin-right: 20px;
}


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

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