@charset "UTF-8";
/** 新デザインのheading1 -------------------------------------------------- */
/** 共通で利用している見出し single-shop、shop_listのみ設定済 */
/* モーダルの設定 店舗一覧の予約選択、店舗詳細の予約説明、マップのアプリボタン ------------------------------*/
/** アコーディオンopen、closeのico -------------------------------------------------- */
/** サイドバーのリストアイコン (mail-magazineで利用) -------------------------------------------------- */
/* sp-side
-------------------------------------------------- */
@media only screen and (max-width: 640px) { html, :root { font-size: 62.5%; }
  body { font-size: 16px; } }

/* iPhone5-side
-------------------------------------------------- */
@media only screen and (max-width: 568px) { html, :root { font-size: 55.46875%; } }

/* android-w
-------------------------------------------------- */
@media only screen and (max-width: 540px) { html, :root { font-size: 52.734375%; } }

/* android-m
-------------------------------------------------- */
@media only screen and (max-width: 480px) { html, :root { font-size: 46.875%; } }

/* iphone6plus
-------------------------------------------------- */
@media only screen and (max-width: 414px) { html, :root { font-size: 40.4296875%; } }

/* iphone6
-------------------------------------------------- */
@media only screen and (max-width: 375px) { html, :root { font-size: 36.62109375%; } }

/* android
-------------------------------------------------- */
@media only screen and (max-width: 360px) { html, :root { font-size: 35.15625%; } }

/* iphone5, android-s
-------------------------------------------------- */
@media only screen and (max-width: 320px) { html, :root { font-size: 31.25%; } }

/** footer上section内のバナーリスト 利用テンプレート  各種トップページ, page-coupon.php, mailmagazine-page.php, point_members.php ------------------------------*/
/** 利用テンプレート mailmagazine-page.php, point_members.phpで利用 ------------------------------*/
/** 利用テンプレート（スマホ） mailmagazine-page.php, point_members.php ------------------------------*/
.logged-in pre { text-align: left; letter-spacing: normal; }

.logged-in pre small { display: inline; }

.spOnly { display: none !important; }

/* 共通 */
a:hover { opacity: 0.7; }

body { font-family: 'Century Gothic', Arial, sans-serif; min-width: 1100px; }

body:not(.home):not(.collaboration) #main { margin-top: 20px; }

body #headerContents .bx-wrapper { display: none; }

#header { padding: 0; border-bottom: 1px solid #dadada; width: 100%; height: auto; text-align: center; }

#header:before { position: absolute; left: 0; bottom: 0; content: ""; width: 100%; height: 1px; background: #f2f2f2; }

#header .wrap { margin: auto; display: flex; justify-content: space-between; align-items: center; width: 1100px; }

#header .wrap .logo { display: inline-block; margin: 10px 0; }

#header .logo { display: inline-block; vertical-align: middle; }

#header .sub { font-size: 11px; }

#header .sub li { margin-left: 1em; border: 1px solid #b7b7b7; display: inline-block; vertical-align: middle; position: relative; border-radius: 5px; }

#header .sub li:before { margin: auto; position: absolute; top: 0; bottom: 0; left: 1em; content: ""; width: 0; height: 0; border: 3px solid transparent; border-left: 3px solid #000; }

#header .sub a { padding: 10px 15px 10px 22px; display: block; text-decoration: none; color: #010101; font-weight: bold; line-height: 1; }

header { margin-bottom: 0; background-color: #FFF; position: relative; z-index: 6000; }

header .bg { position: relative; }

header > div { margin-bottom: 0; }

header #headerNavBackground { padding: 0 2.5%; width: 95%; height: 147px; }

header #headerNavBackground img { max-width: 100%; height: auto; }

header #headerNavBackground nav { width: 100%; height: 100%; overflow: hidden; }

header #headerNavBackground nav .wrap { margin: auto; left: 0; text-align: center; width: 100%; max-width: 1100px; position: relative; }

header #headerNavBackground nav .wrap:before { margin-left: -.4em; display: inline-block; vertical-align: middle; height: 100%; content: ""; }

header #headerNavBackground nav .wrap .logo { margin-right: 20px; display: inline-block; vertical-align: middle; width: 170px; }

header #headerNavBackground nav .wrap > ul { display: inline-block; vertical-align: middle; height: 88px; width: 100%; text-align: center; background: #FFF; border-radius: 5px; }

header #headerNavBackground nav .wrap > ul:after { display: block; clear: both; content: ""; }

header #headerNavBackground nav .wrap > ul li { float: left; height: 100%; width: 16.66%; }

header #headerNavBackground nav .wrap > ul li:before { display: inline-block; vertical-align: middle; height: 100%; content: ""; }

header #headerNavBackground nav .wrap > ul li:last-child a:after { content: none; }

header #headerNavBackground nav .wrap > ul a { display: inline-block; vertical-align: middle; width: 100%; position: relative; box-sizing: border-box; }

header #headerNavBackground nav .wrap > ul a:after { margin: auto; display: block; position: absolute; top: 0; bottom: 0; right: 0; width: 1px; height: 55px; content: ""; background: #d8d1d1; }

header #headerNavBackground nav .wrap .sub { margin-left: 20px; display: inline-block; vertical-align: middle; }

header #headerNavBackground nav .wrap .sub li { margin-top: 1em; border: 1px solid #FFF; display: block; width: auto; height: auto; border-radius: 5px; position: relative; overflow: hidden; }

header #headerNavBackground nav .wrap .sub li:first-child { margin-top: 0; }

header #headerNavBackground nav .wrap .sub li:before { display: inline-block; height: 100%; vertical-align: middle; content: ""; }

header #headerNavBackground nav .wrap .sub li a { padding: 1em 1em 1em 2em; display: inline-block; vertical-align: middle; color: #fff; text-decoration: none; }

header #headerNavBackground nav .wrap .sub li a:before { margin: auto; border: 5px solid transparent; border-left: 5px solid #fff; display: block; content: ""; position: absolute; top: 0; bottom: 0; left: 1em; width: 0; height: 0; }

header #headerNavBackground nav .wrap.slidein { padding: 20px 0; height: auto; min-width: 1100px; max-width: 100%; position: fixed; top: -100%; transition: top 0.5s ease; box-shadow: 0 0 25px #999; z-index: 0; }

header #headerNavBackground nav.on { position: relative; }

header #headerNavBackground nav.on .logo { width: 170px; }

header #headerNavBackground nav.on .wrap.slidein { margin-top: 0; top: 0; width: 100%; }

header #headerNavBackground nav.on .wrap.slidein > ul { width: 780px; max-width: 60%; }

header #headerNavBackground nav.on .wrap.slidein img { max-height: 65px; width: auto; }

header #headerNavBackground nav.on .sub a { background: none; }

header #headerNavBackground.under.on nav .wrap { top: 0; }

header #headerNavBackground.under nav .wrap { height: 100%; }

header #headerNavBackground.under nav .wrap.slidein { height: auto; }

header #headerNavBackground.under nav .wrap.slidein > ul { width: 840px; }

header #headerNavBackground.under nav .wrap .sub a { background: none; }

#modal-bg { display: none; position: fixed; top: 0; left: 0; z-index: 6000; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); text-align: center; }

#modal-bg img { max-width: 85vh; width: 100%;height: auto; }

#modal-bg:before { margin-left: -.4em; display: inline-block; vertical-align: middle; height: 100%; content: ""; }

#modal-contents { display: inline-block; vertical-align: middle; position: relative; max-width: 90%; }

#modal-contents > div { display: none; }

#modal-contents .on { display: block; }

#modal-contents .modal-close { display: inline-block; position: absolute; background: #000; top: -10px; right: -10px; z-index: 999; width: 20px; height: 20px; border-radius: 100%; border: 2px solid #fff; box-shadow: 0 0 5px #000; }

#modal-contents .modal-close span:before, #modal-contents .modal-close span:after { display: block; position: absolute; top: 50%; left: 50%; width: 50%; height: 4%; margin: -3% 0 0 -24%; background: #fff; content: ""; }

#modal-contents .modal-close span:before { transform: rotate(-45deg); }

#modal-contents .modal-close span:after { transform: rotate(45deg); }

#modal-contents .modal-close:hover { cursor: pointer; }

/* フッター */
footer { border-bottom: 2px solid #888; text-align: center; background: #2b2b2b; border-top: 3px solid #da0c08; }

footer a { color: #888; text-decoration: none; }

footer .nav1 { padding: 31px 0 18px; border-bottom: 3px solid #888; }

footer .nav1 li { padding: 0 30px; border-right: 1px solid #888; display: inline-block; vertical-align: middle; font-size: 13px; font-weight: bold; letter-spacing: 0.05em; }

footer .nav1 li:first-child { border-left: 1px solid #888; }

footer .wrap { text-align: center; margin: auto; padding: 40px 0 31px; text-align: center; }

footer .logo { margin-right: 70px; display: inline-block; vertical-align: middle; width: 205px; height: 25px; background: url(../../data/images/footer_logo.png); }

footer .nav2 { display: inline-block; vertical-align: middle; }

footer .nav2:after { display: block; content: ""; clear: both; }

footer .nav2 li { margin-left: 30px; float: left; position: relative; letter-spacing: 0.14em; }

footer .nav2 li:first-child { margin-left: 0; }

footer .nav2 li:nth-child(5) { margin-left: 0; clear: both; }

footer .nav2 li:before, footer .nav2 li:after { margin: auto; display: block; content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 0; height: 0; border: .5em solid transparent; }

footer .nav2 li:before { left: 3px; border-left: .5em solid #FFF; }

footer .nav2 li:after { left: 0; border-left: .5em solid #2b2b2b; }

footer .nav2 li a { padding-left: 14px; }

footer .sns { margin-left: 130px; display: inline-block; vertical-align: middle; }

footer .sns li { margin-left: 15px; display: inline-block; vertical-align: middle; }

footer .sns li:first-child { margin-left: 0; }

footer .copy { padding: 1em 0; background: #000; }

footer .copy small { position: inherit; top: inherit; font-size: 12px; }

footer .copy small:last-child { margin-top: 10px; }

footer > p:first-of-type { display: block; width: 100%; height: auto; text-align: inherit; line-height: inherit; }

#overlay, #overlayMenu { display: none; }

/* 店舗一覧 */
body.page-template-shop_list #main #breadcrumb { margin: 0; }

body.page-template-shop_list #main .socialButton { margin-bottom: 25px; padding-bottom: 15px; }

body.page-template-shop_list #main .header { display: flex; justify-content: space-between; align-items: center; margin: 12px 0 33px 10px; flex-wrap: wrap; }

body.page-template-shop_list #main .header h1 { margin: 0; padding: 0; background: none; font-size: 25px; }

body.page-template-shop_list #main .header h1:before { margin-right: 5px; display: inline-block; vertical-align: middle; width: 28px; height: 28px; content: ""; background-image: url(../../images/common/ico_pagetitle.png); background-size: 100% auto; }

body.page-template-shop_list #main .header .js-my-modal { width: 122px; }

body.page-template-shop_list #main .header .js-my-modal:hover { cursor: pointer; }

body.page-template-shop_list #main .in-page-link { margin: 0 auto 30px; border: 5px solid #eee; display: flex; font-size: 17px; font-weight: bold; align-items: center; flex-wrap: wrap; }

body.page-template-shop_list #main .in-page-link li { padding: 15px 0; text-align: center; width: 20%; }

body.page-template-shop_list #main .in-page-link a { display: inline-block; position: relative; }

body.page-template-shop_list #main .in-page-link .wrap { display: flex; justify-content: center; align-items: center; }

body.page-template-shop_list #main .in-page-link .ico { display: block; position: relative; width: 1em; height: 1em; line-height: 0; }

body.page-template-shop_list #main .in-page-link .ico:before, body.page-template-shop_list #main .in-page-link .ico:after { margin: auto; border: 7px solid transparent; display: block; position: absolute; top: 0; bottom: 0; height: 0; content: ""; }

body.page-template-shop_list #main .in-page-link .ico:before { right: 0; border-left: 7px solid #d51323; }

body.page-template-shop_list #main .in-page-link .ico:after { right: 3px; border-left: 7px solid #FFF; }

body.page-template-shop_list #main .shopList-dt { padding: 10px 5px; display: flex; justify-content: space-between; align-items: start; font-size: 17px; }

body.page-template-shop_list #main .shopList-link { max-width: 300px; }

body.page-template-shop_list #main .btn-wrap { padding: 0; display: flex; justify-content: space-between; width: 370px; }

body.page-template-shop_list #main .btn-list { display: block; max-width: 145px; }

body.page-template-shop_list #main .btn-list.empty { width: 145px; padding: 0; }

body.page-template-shop_list #main form.btn-list { margin: 0 2px; }

body.page-template-shop_list #main .btn-image { max-width: 100%; height: auto; }

body.page-template-shop_list #main .btn-image.map { height: 42px; }

body.page-template-shop_list #main .btn-image:focus { outline: 0; border-color: transparent; }

body.page-template-shop_list #main input[type="image"].btn-image:hover { opacity: 0.7; }

body.single-shop .menuCovers div { text-align: center; }

body.single-shop .menuWrap a { display: inline-block; }

body.single-shop .menuWrap img { display: block; margin: 10px auto 5px; box-shadow: 7px 7px 1px 0 rgb(206, 199,191, .8); border-radius: 2px; }

body.single-shop #tab-food article > section:nth-of-type(2), body.single-shop #tab-food article > section:nth-of-type(3) { display: none; text-align: center; }

body.single-shop #tab-food article .right { margin-top: 25px; }

body.single-shop #tab-food .view-food, body.single-shop #tab-food button, body.single-shop #tab-food .viewFoodBtn { margin: 15px 0 0; padding: 9px 18px; border: 1px solid #d83526; border-radius: 8px; background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #fc8d83), color-stop(100%, #e4685d)); background-color: #fc8d83; box-shadow: inset 1px 1px 0px 0px #f7c5c0; color: #ffffff; text-decoration: none; text-shadow: 1px 1px 0px #b23e35; font-weight: bold; font-size: 14px; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fc8d83', endColorstr='#e4685d'); cursor: pointer; display: inline-block; }

body.single-shop #tab-food .view-food:hover, body.single-shop #tab-food button:hover, body.single-shop #tab-food .viewFoodBtn:hover { opacity: 1; background: -webkit-gradient(linear, left top, left bottom, color-stop(5%, #e4685d), color-stop(100%, #fc8d83)); background-color: #e4685d; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e4685d', endColorstr='#fc8d83'); }

body.single-shop #tab-food .bx-wrapper { margin-bottom: 15px; }

body.single-shop #tab-food .foodMenu, body.single-shop #tab-food .drinkMenu { display: none; text-align: center; }

body.single-shop #tab-food .foodMenu button, body.single-shop #tab-food .drinkMenu button { margin-top: 30px; }

body.single-shop #tab-food .comments { float: none; font-weight: bold; font-size: 14px; }

body.single-shop #tab-price .change td span { display: block; }

body.single-shop #near_shop_data * { box-sizing: border-box; }

body.single-shop #near_shop_data table { margin-top: 30px; background: url(../../images/shop/bg_tabarea.png); width: 100%; border-spacing: 3px; }

body.single-shop #near_shop_data tr { vertical-align: top; }

body.single-shop #near_shop_data tr:first-child { font-size: 16px; vertical-align: bottom; }

body.single-shop #near_shop_data tr:first-child td { padding-top: 1.25em; position: relative; }

body.single-shop #near_shop_data tr:first-child td a { display: block; }

body.single-shop #near_shop_data tr:first-child img { position: absolute; bottom: 25px; left: 10px; max-width: 50px; }

body.single-shop #near_shop_data td { padding: 6px; background: #FFF; }

body.single-shop #near_shop_data td.desc { width: 240px; }

body.single-shop #contents .header { display: flex; justify-content: space-between; align-items: center; margin: 12px 0 33px 10px; flex-wrap: wrap; }

body.single-shop #contents .header h1 { margin: 0; padding: 0; background: none; font-size: 25px; }

body.single-shop #contents .header h1:before { margin-right: 5px; display: inline-block; vertical-align: middle; width: 28px; height: 28px; content: ""; background-image: url(../../images/common/ico_pagetitle.png); background-size: 100% auto; }

body.single-shop #contents .header .js-my-modal { width: 122px; }

body.single-shop #contents .header .js-my-modal:hover { cursor: pointer; }

body.single-shop #contents #coupon-reserve { width: 252px; }

body.single-shop #contents #coupon-reserve > p > a { display: block; }

body.single-shop #contents #coupon-reserve > p > a img { height: auto; max-width: 100%; }

body.single-shop #contents .many-people-annotation { padding: 10px 20px; border: 1px solid #cbcbcb; color: #666; border-radius: 5px; }

body.single-shop #contents .many-people-annotation p { margin: 0 0 5px; height: auto; width: auto; }

body.single-shop #contents .many-people-annotation .tel { display: flex; align-items: center; color: #333333; font-size: 16px; font-weight: 700; }

body.single-shop #contents .many-people-annotation .tel img { margin-right: 8px; }

body.single-shop #contents #basic .qr_other p { font-weight: normal; font-size: 11px; padding: 8px 0 0; }

body.single-shop #contents #basic .qr_other ul + ul { margin-top: 10px; }

body.single-shop #contents #basic .qr_other li { padding: 0; display: inline-block; position: relative; }

body.single-shop #contents #basic .qr_other li:after { margin: auto; display: block; position: absolute; top: 0; right: 0; bottom: 0; width: 1px; height: 20px; background: #e6e6e6; content: ""; }

body.single-shop #contents #basic .qr_other img { vertical-align: middle; width: 39px; }

body.single-shop #modal-bg { display: none; position: fixed; top: 0; left: 0; z-index: 6000; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.8); text-align: center; }

body.single-shop #modal-bg img { max-width: 85vh; width: 100%; height: auto; }

body.single-shop #modal-bg:before { margin-left: -.4em; display: inline-block; vertical-align: middle; height: 100%; content: ""; }

body.single-shop #modal-contents { display: inline-block; vertical-align: middle; position: relative; max-width: 90%; }

body.single-shop #modal-contents > div { display: none; }

body.single-shop #modal-contents .on { display: block; }

body.single-shop #modal-contents .modal-close { display: inline-block; position: absolute; background: #000; top: -10px; right: -10px; z-index: 999; width: 20px; height: 20px; border-radius: 100%; border: 2px solid #fff; box-shadow: 0 0 5px #000; }

body.single-shop #modal-contents .modal-close span:before, body.single-shop #modal-contents .modal-close span:after { display: block; position: absolute; top: 50%; left: 50%; width: 50%; height: 4%; margin: -3% 0 0 -24%; background: #fff; content: ""; }

body.single-shop #modal-contents .modal-close span:before { transform: rotate(-45deg); }

body.single-shop #modal-contents .modal-close span:after { transform: rotate(45deg); }

body.single-shop #modal-contents .modal-close:hover { cursor: pointer; }

#announcement { font-size: 13px; }

#announcement h1 + .wrap { margin-top: 0; }

#announcement .wrap { margin: 10px 10px 0; padding-bottom: 10px; border-bottom: 1px dotted #CCC; }

#announcement .wrap:last-child { padding-bottom: 20px; border-bottom: none; }

#announcement .wrap:after { content: ""; display: block; clear: both; }

#announcement .alignleft { clear: both; margin-right: 2.5%; margin-bottom: 1em; float: left; max-width: 47.5%; }

#announcement .alignright { clear: both; margin-left: 2.5%; margin-bottom: 1em; float: right; max-width: 47.5%; }

#announcement .aligncenter { clear: both; margin: auto auto 1em; display: block; }

#announcement .subject { margin-bottom: 5px; color: #900; font-weight: bold; }

#announcement .body { line-height: 17px; }

#announcement .body p { margin-top: 1em; }

#announcement .body p:first-child { margin-top: 0; }

body.page-template-tpl-reserve #headerNavBackground { display: none; }

body.page-template-tpl-reserve #main .header { display: flex; justify-content: space-between; align-items: center; margin: 12px 0 33px 10px; flex-wrap: wrap; margin: 0; }

body.page-template-tpl-reserve #main .header h1 { margin: 0; padding: 0; background: none; font-size: 25px; }

body.page-template-tpl-reserve #main .header h1:before { margin-right: 5px; display: inline-block; vertical-align: middle; width: 28px; height: 28px; content: ""; background-image: url(../../images/common/ico_pagetitle.png); background-size: 100% auto; }

body.page-template-tpl-reserve #main .header .js-my-modal { width: 122px; }

body.page-template-tpl-reserve #main .header .js-my-modal:hover { cursor: pointer; }

body.page-template-tpl-reserve #main .header .immediately-annotation { padding: 10px 0; width: 100%; }

body.page-template-tpl-reserve #main .header .immediately-annotation span { margin-bottom: 5px; display: block; font-size: 16px; font-weight: bold; }

body.page-template-tpl-reserve #main .header .immediately-annotation .about_cancel { margin-top: 10px; }

body.page-template-tpl-reserve #main form { /* T.OTSUKI 即予約バナー追加 ADD START */ /* T.OTSUKI 即予約バナー追加 ADD END */ }

body.page-template-tpl-reserve #main form .banner-list { margin-bottom: 100px; }

body.page-template-tpl-reserve #main form .pc-banner_rez1, body.page-template-tpl-reserve #main form .pc-banner_rez2 { margin: 10px auto; width: 640px; height: 100px; }

body.page-template-tpl-reserve #main form .pc-banner_rez1 { background-image: url(/wp-content/themes/joysoundcs/data/reserve/pc-bnr.png); }

body.page-template-tpl-reserve #main form .pc-banner_rez2 { background-image: url(/wp-content/themes/joysoundcs/data/reserve/pc-bnr_room.png); }

body.page-template-tpl-reserve #main form .utage_bnr, body.page-template-tpl-reserve #main form .discount_bnr { text-align: center; }

body.page-template-tpl-reserve #main form .utage_bnr div { margin-bottom: 10px; }

body.page-template-tpl-reserve #main form .discount_bnr img { display: none; }

body.page-template-tpl-reserve #main form .discount_bnr.fixed { display: block; position: relative; z-index: 2; }

body.page-template-tpl-reserve #main form .discount_bnr.fixed:hover { opacity: 1; }

body.page-template-tpl-reserve #main form .discount_bnr.fixed div { margin: auto; display: block; width: 95%; position: fixed; top: 0; right: 0; left: 0; z-index: 2; }

body.page-template-tpl-reserve #main form .headline1 { margin-bottom: 10px; padding: 0 0 0 32px; display: block; font-weight: bold; font-size: 25px; line-height: 28px; text-align: left; background: url(/wp-content/themes/joysoundcs/images/common/ico_pagetitle.png) no-repeat left center; background-size: 28px 28px; }

body.page-template-tpl-reserve #contents { clear: both; margin-left: 0; width: 100%; }

body.page-template-tpl-reserve #contents > div { margin-bottom: 0; }

body.page-template-tpl-reserve #reservation { width: 100%; }

body.page-template-tpl-reserve #reservation section { margin-bottom: 0; }

body.page-template-tpl-reserve button[name="btn_back"]:hover { background: #e5e5e5; }

body.page-template-tpl-reserve table:not(.yui-calendar) { margin-bottom: 0; }

body.page-template-tpl-reserve table:not(.yui-calendar) th, body.page-template-tpl-reserve table:not(.yui-calendar) td { border: none; border-bottom: 2px solid #ebebeb; font-size: 16px; }

body.page-template-tpl-reserve table:not(.yui-calendar) th { padding: 10px; width: 280px; background: #fafafa; position: relative; box-sizing: border-box; }

body.page-template-tpl-reserve table:not(.yui-calendar) th.required:after { margin: auto; display: block; top: 0; right: 0; bottom: 0; position: absolute; line-height: 20px; height: 20px; width: 40px; color: #FFF; background-color: #d0021b; text-align: center; font-size: 12px; content: "必須"; }

body.page-template-tpl-reserve table:not(.yui-calendar) td { background: none; font-size: 14px; }

body.page-template-tpl-reserve table:not(.yui-calendar) tr.shop td { padding: 10px; width: 660px; }

body.page-template-tpl-reserve table:not(.yui-calendar) tr.shop td span.style1 { width: 106px; display: inline-block; }

body.page-template-tpl-reserve table:not(.yui-calendar) tr.shop td select { display: inline-block; }

body.page-template-tpl-reserve table:not(.yui-calendar) tr.shop td .formError { padding-left: 120px; }

body.page-template-tpl-reserve table:not(.yui-calendar) td { background: none; }

body.page-template-tpl-reserve table:not(.yui-calendar) td span:not(.errMsg) { color: inherit; font-size: inherit; }

body.page-template-tpl-reserve table:not(.yui-calendar) td div.style1 { margin-top: .5em; font-size: 12px; }

body.page-template-tpl-reserve button[type="submit"], body.page-template-tpl-reserve .return { padding: 0; display: inline-block; vertical-align: middle; height: 50px; line-height: 50px; position: relative; box-sizing: border-box; border-radius: 30px; text-align: center; text-decoration: none; }

body.page-template-tpl-reserve button[type="submit"]:after, body.page-template-tpl-reserve .return:after { margin: auto; display: block; position: absolute; top: 0; bottom: 0; content: ""; }

body.page-template-tpl-reserve button[type="submit"] { margin: 50px auto; background: #c52d27; width: 320px; font-size: 18px; }

body.page-template-tpl-reserve button[type="submit"]:after { right: 18px; width: 12px; height: 18px; background: url(../../data/images/ico_btn1.png) no-repeat; }

body.page-template-tpl-reserve .return { width: 170px; background: #e5e5e5; margin-right: .5em; font-size: 14px; color: #333; }

body.page-template-tpl-reserve .return:after { left: 10px; width: 13px; height: 19px; background: url(../../data/images/ico_btn2.png) no-repeat; }

body.page-template-tpl-reserve #shop_hidden, body.page-template-tpl-reserve #reserve_date, body.page-template-tpl-reserve #visit_hour_hidden, body.page-template-tpl-reserve #use_hour_hidden, body.page-template-tpl-reserve #special_room_hidden, body.page-template-tpl-reserve #course_hidden, body.page-template-tpl-reserve #equipment_hidden { display: none; }

body.page-template-tpl-reserve #groupFurigana br { display: none; }

body.page-template-tpl-reserve #groupFurigana .short { width: 10em; padding-right: 5px; }

body.page-template-tpl-reserve #notes { padding: 10px 0; margin: auto; width: 960px; background: #f7f7f7; max-height: 27px; overflow: hidden; transition: max-height 0.5s; font-size: 12px; }

body.page-template-tpl-reserve #notes.on { max-height: 500px; }

body.page-template-tpl-reserve #notes .headline { text-align: center; font-size: 18px; position: relative; }

body.page-template-tpl-reserve #notes .headline:hover { cursor: pointer; }

body.page-template-tpl-reserve #notes .headline:after { margin: auto; display: block; height: 1em; content: "▼"; position: absolute; top: 0; right: 1em; bottom: 0; font-size: 12px; line-height: 1em; color: #d8d8d8; }

body.page-template-tpl-reserve #notes dl { padding: 10px; }

body.page-template-tpl-reserve #notes dl dt, body.page-template-tpl-reserve #notes dl dd { padding: 10px 0; border-top: 1px solid #dfdfdf; float: left; }

body.page-template-tpl-reserve #notes dl dt { padding-left: 10px; clear: both; width: 110px; }

body.page-template-tpl-reserve #notes dl dd { width: 820px; }

body.page-template-tpl-reserve #notes dl:after { display: block; clear: both; content: ""; }

body.page-template-rez-form table:not(.yui-calendar) tr td { padding: 10px 10px 10px 120px; width: 550px; }

body.page-template-rez-form select, body.page-template-rez-form input[type="text"], body.page-template-rez-form input[type="email"] { -moz-appearance: none; -webkit-appearance: none; appearance: none; border-radius: 0; border: 0; margin: 0; padding: 0; vertical-align: middle; font-size: inherit; color: inherit; box-sizing: border-box; padding: 0 30px 0 5px; color: #6b6b6b; background-color: rgba(0, 0, 0, 0); border: 1px solid #d9d9d9; border-radius: 3px; width: 220px; height: 30px; }

body.page-template-rez-form input[type="number"], body.page-template-rez-form input[type="tel"] { -moz-appearance: none; -webkit-appearance: none; appearance: none; border-radius: 0; border: 0; margin: 0; padding: 0 0 0 5px; vertical-align: middle; font-size: inherit; color: inherit; box-sizing: border-box; border: 1px solid #d9d9d9; border-radius: 3px; background-color: #f8f8f8; width: 220px; height: 30px; }

body.page-template-rez-form select { opacity: 0; }

body.page-template-rez-form select::-ms-expand { display: none; }

body.page-template-rez-form select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #828c9a; }

body.page-template-rez-form #main .coupontype { margin-bottom: 2em; padding: .75em; color: #FFF; background: #0d63d8; font-weight: bold; font-size: 16px; text-align: center; }

body.page-template-rez-form #reservation input[type="text"], body.page-template-rez-form #reservation input[type="email"] { background-color: #f8f8f8; }

body.page-template-rez-form #reservation select { font: inherit; }

body.page-template-rez-form textarea { padding: 10px; background: #f8f8f8; border: 1px solid #d9d9d9; width: 100%; height: 165px; color: #6b6b6b; border-radius: 3px; box-sizing: border-box; font-size: inherit; }

body.page-template-rez-form select.short, body.page-template-rez-form input.short, body.page-template-rez-form .short { width: 80px; }

body.page-template-rez-form .textWrap { display: inline-block; position: relative; }

body.page-template-rez-form .textWrap .style1 { margin: auto; display: block; position: absolute; top: .5em; left: 85px; height: 1em; line-height: 1; }

body.page-template-rez-form .selectWrap, body.page-template-rez-form .dateWrap { margin-top: 20px; display: inline-block; position: relative; }

body.page-template-rez-form .selectWrap:first-child, body.page-template-rez-form .dateWrap:first-child { margin-top: 0; }

body.page-template-rez-form .selectWrap.short span.ico, body.page-template-rez-form .dateWrap.short span.ico { padding-right: inherit; line-height: 30px; width: 80px; border: 1px solid #d9d9d9; border-radius: 3px; }

body.page-template-rez-form .selectWrap span.ico, body.page-template-rez-form .dateWrap span.ico { padding-right: 20px; display: block; background: #f8f8f8; width: 200px; height: 30px; line-height: 30px; position: absolute; top: 0; right: 0; z-index: -1; overflow: hidden; }

body.page-template-rez-form .selectWrap span.ico:after, body.page-template-rez-form .dateWrap span.ico:after { margin: auto; display: block; position: absolute; top: 8px; right: 10px; content: "▼"; color: #d8d8d8; height: 1em; line-height: 1; }

body.page-template-rez-form .selectWrap span.ico { border: 1px solid #d9d9d9; border-radius: 3px; }

body.page-template-rez-form .dateWrap { width: 100%; vertical-align: top; }

body.page-template-rez-form .dateWrap:after { right: inherit; bottom: inherit; left: 215px; }

body.page-template-rez-form .dateWrap:before { display: block; position: absolute; top: 5px; left: 5px; content: ''; width: 20px; height: 20px; background: url(../../data/images/ico_date.png) no-repeat center center; }

body.page-template-rez-form .dateWrap span.ico { right: inherit; left: 0; width: 200px; }

body.page-template-rez-form .dateWrap input[type="text"] { padding: 0 30px; width: 240px; color: #6b6b6b; border: 1px solid #d9d9d9; background-color: rgba(0, 0, 0, 0); border-radius: 3px; height: 30px; box-sizing: border-box; font-size: 16px; }

body.page-template-rez-form .dateWrap p { display: inline-block; margin-top: .5em; font-size: 12px; }

body.page-template-rez-form .dateWrap p a { color: #000; }

body.page-template-rez-form .dateWrap a.tel { margin-top: 2em; padding-right: 70px; display: none; display: inline-block; position: relative; color: #000; text-decoration: none; pointer-events: none; }

body.page-template-rez-form .dateWrap a.tel:before { content: "電話番号 : "; }

body.page-template-rez-form .dateWrap a.tel span.ico { background: none; }

body.page-template-rez-form .dateWrap a.tel span.ico:after { content: none; }

body.page-template-rez-form #use_date .yui-calcontainer { float: right; }

body.page-template-rez-form #reservation tr.tel td div { margin-top: 1em; font-size: 12px; }

body.page-template-rez-form #reservation tr.tel td span { color: #d51b32; }

body.page-template-rez-form #reservation tr.load td { opacity: 0.3; }

body.page-template-rez-form #reservation tr.use_time span.tilde { vertical-align: top; line-height: 32px; }

body.page-template-rez-form #reservation tr.use_time .selectWrap { vertical-align: top; margin-top: 0; }

body.page-template-rez-form #reservation tr.use_time .opning:after { content: ""; display: block; clear: both; }

body.page-template-rez-form #reservation tr.use_time .opning dt, body.page-template-rez-form #reservation tr.use_time .opning dd { letter-spacing: inherit; font: inherit; float: left; width: auto; color: inherit; }

body.page-template-rez-form #reservation tr.use_time .opning dt:after { margin: 0 .5em; content: ":"; }

body.page-template-rez-form #reservation tr.use_time .opning pre { font-family: inherit; }

body.page-template-rez-form #reservation tr.etc div.style1 { font-size: 12px; }

body.page-template-rez-form #reservation tr.num_people .num-people-wrap { display: flex; align-items: center; }

body.page-template-rez-form #reservation tr.num_people .bnr { margin-top: 1%; display: none; }

body.page-template-rez-form #reservation tr.num_people .bnr.direct.on { padding-left: 0; padding-right: 0; background: none; }

body.page-template-rez-form #reservation tr.num_people .bnr.on { padding: .25em .5em; display: inline-block; color: #FFF; background: #ca0e25; border-radius: 3px; }

body.page-template-rez-form #reservation tr.num_people .bnr.on a { color: #FFF; }

body.page-template-rez-form #reservation tr.num_people .bnr img { max-width: 250px; vertical-align: bottom; }

body.page-template-rez-form #reservation tr.num_people .style2 { margin-top: 5px; display: block; }

body.page-template-rez-form #reservation tr.course td { display: flex; align-items: center; }

body.page-template-rez-form #reservation tr.course .bnr { margin-left: 35px; display: none; }

body.page-template-rez-form #reservation tr.course .bnr.on { padding: .25em .5em; display: block; color: #FFF; background: #ca0e25; border-radius: 3px; }

body.page-template-rez-form #reservation tr.course .bnr.on a { color: #FFF; }

body.page-template-rez-form #reservation dl { border: none; }

body.page-template-rez-form #groupFurigana:before { content: ""; display: inline-block; vertical-align: middle; height: 100%; }

body.page-template-rez-form #groupFurigana span, body.page-template-rez-form #groupFurigana input { margin: 0 .3em; display: inline-block; vertical-align: middle; }

body.page-template-rez-form #groupFurigana span:first-child, body.page-template-rez-form #groupFurigana input:first-child { margin-left: -.4em; }

body.page-template-rez-form #num_people, body.page-template-rez-form #tel1 { margin: 0; ime-mode: disabled; -webkit-appearance: none; -moz-appearance: textfield; }

body.page-template-rez-form #equipment label, body.page-template-rez-form #special_room label { margin: .5em .5em .5em 0; height: 20px; line-height: 20px; display: inline-block; position: relative; font-size: 15px; }

body.page-template-rez-form #equipment input, body.page-template-rez-form #special_room input { margin: 0; padding: 0; display: inline-block; vertical-align: middle; box-sizing: border-box; width: 20px; height: 20px; opacity: 0; }

body.page-template-rez-form #equipment input + span.checkico, body.page-template-rez-form #special_room input + span.checkico { border: 1px solid #dedede; border-radius: 3px; content: ""; height: 20px; width: 20px; display: block; position: absolute; top: 0; left: 0; background-color: #f8f8f8; box-sizing: border-box; }

body.page-template-rez-form #equipment input:checked + span.checkico, body.page-template-rez-form #special_room input:checked + span.checkico { background: url(../../data/images/ico_check.png) no-repeat center center #f8f8f8; background-size: cover; }

body.page-template-rez-form #equipment .checktxt, body.page-template-rez-form #special_room .checktxt { margin-left: .2em; height: 20px; width: 20px; line-height: 20px; }

body.page-template-rez-form #display_time { margin: .5em 0 3em; }

body.page-template-rez-form #display_time:before { content: '利用時間'; display: inline-block; vertical-align: middle; }

body.page-template-rez-form #display_time input[type="text"] { padding: 0; border: none; display: inline-block; vertical-align: middle; width: auto; background: none; }

body.page-template-rez-form #display_time div { margin-top: .5em; padding-top: .5em; border-top: 1px solid #e6e6e6; position: relative; font-size: 12px; }

body.page-template-rez-form #display_time div:before { position: absolute; top: 0; left: 0; height: 1px; width: 100%; content: ""; background: #f4f4f4; }

body.page-template-rez-form #ageVerification { display: none; position: fixed; top: 0; left: 0; height: 100%; width: 100%; background-color: rgba(0, 0, 0, 0.3); text-align: center; z-index: 9999; }

body.page-template-rez-form #ageVerification:before { display: inline-block; height: 100%; vertical-align: middle; content: ""; }

body.page-template-rez-form #ageVerification .wrap { padding: 35px 20px 40px; display: inline-block; vertical-align: middle; position: relative; background: #FFF; box-shadow: 0 0 10px #555; border-radius: 3px; }

body.page-template-rez-form #ageVerification p { margin: 25px auto auto; width: 370px; text-align: left; font-size: 14px; }

body.page-template-rez-form #ageVerification p.headline { margin-top: 0; width: auto; text-align: center; font-size: 18px; font-weight: bold; color: #d0021b; }

body.page-template-rez-form #ageVerification .close { display: block; height: 36px; width: 36px; position: absolute; top: 10px; right: 10px; background: url(../../data/images/ico_close.png); }

body.page-template-rez-form #ageVerification .return, body.page-template-rez-form #ageVerification button[type="submit"] { margin: 50px auto auto; }

body.page-template-rez-confirm .return { width: auto; padding: 0 30px; }

body.page-template-rez-complete #contents, body.page-template-rez-complete #reservation { width: 700px !important; }

body.page-template-rez-form .shop .caption { margin-top: .8em; font-size: 12px; padding: 0 0 0 110px; }

body.page-template-rez-form .shop .caption a { color: #000; }

body.page-template-rez-form .shop .caption a:hover { opacity: 0.7; text-decoration: none; }

body.page-template-rez-form .shop .caption_storelist {
  margin-top: 10px;
  margin-bottom: 10px;
}

body.page-template-rez-form .shop .caption_storelist span {
  display: block;
}
body.page-template-rez-form .shop .caption_storelist span:nth-child(n + 2) {
  padding-left: 2px;
}

body.page-template-rez-form .shop .caption_storelist li:nth-child(n + 2) {
  margin-top: 5px;
}

/** よくある質問 */
body.qa #main { margin: 0; padding-bottom: 48px; width: 100%; }

body.qa #main .header { height: 290px; text-align: center; background: url(../../data/images/qa/bgi-kv.png) no-repeat center bottom; background-size: contain; }

body.qa #main .header:before { display: inline-block; vertical-align: middle; height: 100%; content: ""; }

body.qa #main .header .heading1 { margin-bottom: 48px; position: relative; text-align: center; font-weight: bold; font-size: 150px; letter-spacing: -.01em; line-height: 1; color: #f4f4f4; margin-bottom: 0; display: inline-block; vertical-align: middle; }

body.qa #main .header .heading1:after { margin: auto; display: block; height: 6px; width: 70px; content: ""; position: absolute; right: 0; bottom: -10px; left: 0; background: #c1000c; }

body.qa #main .header .heading1 span { font-family: inherit; margin: auto; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; height: .7em; font-size: 34px; text-align: center; color: #000; }

body.qa #main .qa-index { padding-bottom: 20px; display: inline-block; width: 100%; background: #f4f4f4; text-align: center; }

body.qa #main .qa-index .wrap { margin: auto; width: 1100px; }

body.qa #main .qa-index p { margin: 40px 0; font-size: 18px; }

body.qa #main .qa-index .qa-wrap { float: left; margin: 0 0 20px; width: 535px; text-align: left; }

body.qa #main .qa-index .qa-wrap:nth-child(2n + 1) { margin-right: 30px; clear: both; }

body.qa #main .qa-index .heading2 { display: inline-block; vertical-align: middle; font-size: 20px; }

body.qa #main .qa-index .accordion { display: block; position: relative; height: 54px; overflow: hidden; color: #FFF; background: url(../../data/images/qa/qa-bgi-cat.png) center center; text-shadow: -1px -1px 1px #000; }

body.qa #main .qa-index .accordion:hover { cursor: pointer; }

body.qa #main .qa-index .accordion:before { display: inline-block; width: 25px; height: 100%; vertical-align: middle; content: ""; }

body.qa #main .qa-index .ico { position: absolute; top: 0; right: 0; height: 200%; text-align: center; }

body.qa #main .qa-index .ico.on { top: -100%; }

body.qa #main .qa-index .ico li { margin: 0; padding: 0; height: 50%; }

body.qa #main .qa-index .ico li:before { display: inline-block; height: 100%; vertical-align: middle; content: ""; }

body.qa #main .qa-index .ico li span { padding: 0 15px; border-left: 1px solid #94040d; display: inline-block; position: relative; vertical-align: middle; width: 40px; font-weight: normal; font-size: 12px; letter-spacing: 0; }

body.qa #main .qa-index .ico li span:before { display: inline-block; content: ""; background: url(../../data/images/qa/ico-close.png) no-repeat center center; width: 100%; height: 11px; }

body.qa #main .qa-index .ico li span:after { position: absolute; top: 0; left: 0; width: 1px; height: 100%; content: ""; background: #dc7b83; }

body.qa #main .qa-index .ico li.open span:before { background: url(../../data/images/qa/ico-open.png) no-repeat center center; }

body.qa #main .qa-index .list { padding: 0 30px; display: none; background: #FFF; font-size: 16px; }

body.qa #main .qa-index .list li { padding: 15px 0; border-bottom: 1px dotted #CCC; }

body.qa #main .qa-index .list li:after { display: block; content: ""; clear: both; }

body.qa #main .qa-index .list img { float: left; }

body.qa #main .qa-index .list a { padding-left: 40px; display: block; color: #0088cc; text-decoration: none; }

body.qa #main .qa-cont { padding-top: 75px; }

body.qa #main .qa-cont .wrap { margin: 30px auto auto; display: block; width: 1100px; }

body.qa #main .qa-cont .wrap:first-child { margin-top: 0; }

body.qa #main .qa-cont .wrap:last-child .list li:last-child { border-bottom: none; }

body.qa #main .qa-cont .heading2 { margin-bottom: 30px; padding-bottom: 15px; position: relative; font-size: 24px; text-align: center; }

body.qa #main .qa-cont .heading2:after { margin: auto; display: block; position: absolute; right: 0; bottom: 0; left: 0; width: 70px; height: 6px; content: ""; background: #ca0813; }

body.qa #main .qa-cont .list { border-top: 3px solid #CCC; padding: 0 0 10px; }

body.qa #main .qa-cont .list li { border-bottom: 1px solid #ddd; }

body.qa #main .qa-cont .list li div { margin-bottom: 30px; position: relative; min-height: 32px; }

body.qa #main .qa-cont .list li div:before { margin-right: 70px; position: absolute; top: 0; left: 0; content: ""; background-position: top center; background-repeat: no-repeat; background-size: contain; }

body.qa #main .qa-cont .list li div.question { margin-top: 30px; font-size: 18px; font-weight: bold; }

body.qa #main .qa-cont .list li div.question:before { width: 20px; height: 32px; background-image: url(../../data/images/qa/ico-q.png); }

body.qa #main .qa-cont .list li div.answer { font-size: 16px; }

body.qa #main .qa-cont .list li div.answer:before { width: 21px; height: 26px; background-image: url(../../data/images/qa/ico-a.png); }

body.qa #main .qa-cont .list li div span { padding-left: 90px; display: block; }

body.qa #main .member-system { margin: 35px auto 80px; padding-bottom: 40px; border-top: 4px solid #333; border-bottom: 1px solid #ddd; width: 1100px; }

body.qa #main .member-system .heading3 { padding: 25px 0; font-size: 22px; text-align: center; }

body.qa #main .member-system table { border-collapse: collapse; width: 100%; font-size: 16px; }

body.qa #main .member-system table tr:nth-child(2n) td { background: #FFF; }

body.qa #main .member-system table th, body.qa #main .member-system table td { padding: 15px 20px; border: 1px solid #ddd; background: #f6f6f6; text-align: center; }

body.qa #main .member-system table th:first-child, body.qa #main .member-system table td:first-child { border-left: none; width: 170px; font-weight: bold; text-align: left; box-sizing: border-box; }

body.qa #main .member-system table th:last-child, body.qa #main .member-system table td:last-child { border-right: none; }

body.qa #main .member-system table th { color: #FFF; background: #ca0813; }

body.qa #main .contact { padding: 60px 0; background: #f5f5f5; text-align: center; font-size: 17px; }

body.qa #main .contact .btn { margin-top: 30px; padding: 13px 67px; display: inline-block; position: relative; background: #d70c19; color: #FFF; text-decoration: none; font-size: 16px; letter-spacing: 0.1em; border-radius: 25px; }

body.qa #main .contact .btn:before, body.qa #main .contact .btn:after { margin: auto 18px auto auto; display: block; border-style: solid; border-width: 7px 0 7px 7px; border-color: transparent transparent transparent #FFF; width: 0; height: 0; position: absolute; top: 0; right: 0; bottom: 0; content: ""; line-height: 1; }

body.qa #main .contact .btn:after { right: 2px; border-color: transparent transparent transparent #d70c19; }

body.page.food #main .comments { font-size: 14px; margin-bottom: 15px; font-weight: bold; }

body.collaboration #main, body.collaboration-end #main { margin: 60px auto 80px; width: 1100px; }

body.collaboration #main a, body.collaboration-end #main a { cursor: pointer; text-decoration: none; }

body.collaboration #contents, body.collaboration-end #contents { width: 820px; }

#collaboration-kv { padding: 110px 0 63px; border-bottom: solid 1px #eaeaea; box-shadow: inset 0px 10px 5px -5px rgba(0, 0, 0, 0.1); background: url(../../data/images/collaboration/kv-bgi.png) no-repeat center bottom; background-size: cover; text-align: center; overflow: hidden; }

#collaboration-kv h2 { position: relative; line-height: 1; font-size: 38px; font-weight: bold; font-feature-settings: 'palt'; letter-spacing: .075em; }

#collaboration-kv h2 span { position: absolute; top: 45px; left: 50%; transform: translate(-50%, 0); width: 100%; }

#collaboration-kv h2 .coupon-title_position { top: 23px; }

#collaboration-kv h2 img { vertical-align: bottom; }

#collaboration-slider { padding: 40px 0 15px; border-bottom: solid 1px #eaeaea; position: relative; background: #f8f8f8; }

#collaboration-slider .swiper-container { margin: 0 auto; width: 1060px; box-sizing: border-box; }

#collaboration-slider img { max-width: 520px; height: auto; }

#collaboration-slider .swiper-button-prev, #collaboration-slider .swiper-button-next { margin-top: 0; left: 50%; right: auto; width: 54px; height: 54px; background: url(../../data/images/collaboration/slider-arrow.png) no-repeat center center; transition: .3s; }

#collaboration-slider .swiper-button-prev:hover, #collaboration-slider .swiper-button-next:hover { opacity: .8; }

#collaboration-slider .swiper-button-prev { margin-left: -556px; transform: translateY(-50%); }

#collaboration-slider .swiper-button-next { margin-left: 496px; transform: translateY(-50%) rotate(180deg); }

#collaboration-slider .swiper-pagination, #collaboration-slider .swiper-pagination-bullets { margin-top: 10px; position: relative; bottom: 0; }

#collaboration-slider .swiper-pagination-bullet { border: solid 2px #d70c19; background: transparent; opacity: 1; }

#collaboration-slider .swiper-pagination-bullet-active { background: #d70c19; }

.btn-collabo_request { display: block; position: relative; transition: opacity .3s; }

.btn-collabo_request:after { display: block; position: absolute; top: 5px; left: 0; z-index: -1; width: 100%; height: 100%; content: ""; background: url(../../data/images/collaboration/btn-collabo_request-shadow.png) no-repeat center bottom; content: ""; }

.btn-collabo_request:hover { top: 2px; opacity: .9; }

.btn-collabo_request:hover:after { top: 3px; }

.btn-collabo_request:active { top: 5px; }

.btn-collabo_request:active:after { top: 0px; }

.asidelist-news { margin-top: 45px; }

.asidelist-news a { display: block; text-decoration: none; transition: .3s; }

.asidelist-news a:hover { opacity: .8; }

.asidelist-news h2, .asidelist-news .date-asidelist { line-height: 1; font-family: "Century Gothic", sans-serif; }

.asidelist-news .date-asidelist { color: #000; font-size: 14px; }

.asidelist-news .text-asidelist { line-height: 1.46; color: #08c; font-size: 15px; }

.asidelist-news li { padding: 20px 0; border-bottom: solid 1px #eaeaea; }

.headline-collabo { padding: 1em 0; border-top: solid 4px #d70c19; border-bottom: solid 3px #ddd; line-height: 1; font-size: 26px; text-align: center; }

.collabo_list { padding-top: 10px; }

.collabo_list li { padding: 20px 0; border-bottom: solid 1px #eaeaea; }

.collabo_list a { display: flex; align-items: flex-start; color: #000; font-size: 15px; }

.collabo_list img { max-width: 260px; height: auto; }

.collabo_list .text_area { padding-left: 20px; line-height: 1.3333; }

.collabo_list .text_area h3 { margin-bottom: .75em; line-height: 1.25; font-size: 20px; }

.collabo_list .complement { display: flex; align-items: flex-start; color: #454545; }

.collabo_list .complement + .complement { margin-top: .5em; }

.collabo_list .category_label { margin-right: .75em; padding: .125em .25em; border: solid 1px #c6c6c6; border-radius: 4px; }

.collabo_list .category_label + p { padding-top: .125em; }

.collabo_list-past { display: flex; flex-wrap: wrap; justify-content: space-between; }

.collabo_list-past li { margin-top: 30px; width: 260px; }

.collabo_list-past img { width: 100%; height: auto; }

.collabo_list-past p { margin-top: .5em; line-height: 1.25; color: #08c; font-size: 16px; }

.btnwrap-collabo_past { margin-top: 40px; border-top: solid 1px #eaeaea; border-bottom: solid 1px #eaeaea; font-size: 16px; font-weight: bold; text-align: center; }

.btnwrap-collabo_past a { padding: 1em; display: flex; align-items: center; justify-content: center; }

.btnwrap-collabo_past img { margin-left: .5em; }

.btnwrap-collabo_past + .btnwrap-collabo_request { display: none; }

body:not(.home):not(.collaboration).collaboration-end #main { margin-top: 60px; }

body:not(.home):not(.collaboration).collaboration-end .collabo_list-past li:nth-child(-n+3) { margin-top: 0; }

body:not(.home):not(.collaboration).collaboration-end .btnwrap-collabo_past + .btnwrap-collabo_request { margin-top: 60px; margin-bottom: 0; display: block; }

body.collaboration-request #main { margin-bottom: 60px; }

body.collaboration-request .title-request { margin-bottom: 30px; }

body.collaboration-request .btnwrap-collabo_request { margin: 0 auto; padding: 60px 0 80px; }

body.page.coupon .bnr { padding: 55px 0 35px; background-color: #f7f7f7; }

body.page.coupon .bnr .special_web_coupon { padding: 0; background: none; }

body.page.coupon .bnr ul { margin: auto; width: 1100px; max-width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }

body.page.coupon .bnr ul li { padding: 0 5px; margin-bottom: 10px; width: 25%; box-sizing: border-box; }

body.page.coupon .bnr ul li a, body.page.coupon .bnr ul li img { display: block; }

body.page.coupon .bnr ul li:first-child { width: 50%; }

body.page.coupon .bnr ul li img { max-width: 100%; height: auto; }

body.page.coupon #coupon-main .coupon-group.hide { display: none; }

body.page.coupon #coupon-main .room_charge.yen .number + img { display: block; margin: auto; }

body.page.coupon .coupon-contents.nintendo-switch { background: #E60012; /*.special_web_coupon, .coupon-date .subtext span { //background: #449c03; } .coupon-group { //border-color: #57be0b; }*/ }

body.page.coupon .coupon-contents.nintendo-switch .coupon-annotation { margin-bottom: 0; }

body.page.coupon .coupon-contents.nintendo-switch .limited { display: none; }

body.page.coupon .coupon-contents.cash-back-campaign { padding-top: 0; }

body.page.coupon .coupon-contents.cash-back-campaign .coupon-annotation { margin-bottom: 0; }

body.page.coupon .coupon-contents .coupon-group a { color: #FFF; text-decoration: underline; }

body.page.coupon .coupon-contents .coupon-group.cash-back .coupon-wrap { background-image: url(../../data/images/coupon/cash-back.png); padding: 0; }

body.page.coupon .coupon-contents .coupon-group.cash-back .coupon-wrap .balloon { margin-left: 0; position: absolute; top: 45px; right: 50px; -webkit-animation: none; animation: none; background-image: url(../../data/images/coupon/coupon-balloon-right.png); }

body.page.coupon .coupon-contents .coupon-group.cash-back .coupon-wrap .room_charge { opacity: 0; }

body.page.coupon .coupon-btn_area .coupon-btn { justify-content: center; }

body.page.coupon .coupon-btn_area .coupon-btn a { margin: 0 14px; }

.coupon-contents { padding: 50px 0 60px 0; text-align: center; width: 100%; background: url(../../data/images/coupon/coupon-contents-bgi.jpg) repeat center center; }

.coupon-contents h3 { margin-bottom: 80px; font-size: 30px; color: #fff; }

.coupon-contents p { font-size: 16px; color: #fff; }

.special_web_coupon { margin: auto; padding: 70px 0 60px 0; box-sizing: border-box; background: #b10004; position: relative; max-width: 1100px; }

.special_web_coupon h4 { position: absolute; top: -70px; left: 110px; }

.coupon-group { margin-bottom: 40px; padding: 0px 94px 40px 94px; border-bottom: 8px solid #d10004; }

.coupon-group:last-child { margin-bottom: 0px; padding: 0 94px 0 94px; border-bottom: none; }

.coupon-wrap { padding: 40px 0 52px 0; display: flex; background: url(../../data/images/coupon/coupon-bgi.png) no-repeat; }

.coupon-wrap .balloon { margin-left: -45px; position: relative; background: url(../../data/images/coupon/coupon-balloon.png) no-repeat; width: 305px; height: 207px; font-size: 32px; font-weight: bold; color: #000; line-height: 1.4; font-style: italic; }

.coupon-wrap .balloon span { position: absolute; width: 100%; left: -7px; top: 30px; }

.coupon-wrap .room_charge { text-align: left; margin: 0 20px 0 -20px; }

.coupon-wrap .room_charge .number { display: flex; flex-wrap: wrap; width: 435px; }

.coupon-wrap .room_charge .number img:last-child { margin-left: -5px; }

.coupon-wrap .room_charge .ribbon { position: relative; text-align: center; }

.coupon-wrap .room_charge .ribbon span { margin: auto; position: absolute; right: 0; left: 0; top: 2px; font-size: 20px; font-weight: bold; color: #fff; letter-spacing: 10px; }

.coupon-wrap .room_charge.yen { margin: 0 10px 0 -25px; }

.coupon-wrap .room_charge.yen .number { flex-wrap: nowrap; width: 453px; }

.coupon-wrap .limited { margin-top: 75px; }

.coupon-wrap { margin: auto; width: 912px; }

.coupon-annotation { margin-bottom: 30px; padding: 25px 70px; background: #820002; text-align: left; font-size: 21px; color: #fff; }

.coupon-annotation ul { margin-left: 1em; }

.coupon-annotation ul li { text-indent: -1em; }

.coupon-annotation p { margin-top: 10px; font-size: 21px; }

.coupon-date { padding: 35px 10px 25px 10px; border: 2px solid #fff; }

.coupon-date .subtext { border-bottom: double 4px; position: relative; }

.coupon-date .subtext span { margin: auto; position: absolute; width: 330px; top: -10px; background: #b10004; left: 0%; right: 0%; }

.coupon-date p:nth-child(2) { margin-top: 25px; font-size: 28px; font-weight: bold; }

.coupon-date p:nth-child(2) span { font-size: 36px; }

.coupon-btn_area { text-align: center; margin: 60px auto 40px auto; }

.coupon-btn_area p { font-size: 20px; font-weight: bold; }

.coupon-btn_area .coupon-btn { margin-top: 40px; display: flex; justify-content: space-between; }

.printing { width: 1100px; margin: auto; display: none; }

.coupon-attention { margin: auto auto 50px; display: none; width: 968px; background: #f4f4f4; }

.coupon-attention div { margin: 30px 28px; width: 912px; display: inline-block; }

.coupon-attention h4 { padding: 0 0 15px 15px; font-size: 20px; font-weight: bold; border-bottom: 4px solid #dddddd; }

.coupon-attention h4:before { margin-left: -15px; content: ""; background: #c1000c; width: 6px; height: 28px; position: absolute; }

.coupon-attention ul { margin-top: 10px; }

.coupon-attention ul li { line-height: 2; }

.coupon-attention.coupon-attentio_topmargin { margin-top: 60px; }

.barCode { margin: 60px auto 0 auto; text-align: center; width: 968px; }

.barCode h4 { font-size: 24px; position: relative; }

.barCode h4:after { content: ""; margin: auto; width: 70px; right: 0; left: 0; position: absolute; bottom: -20px; height: 6px; background: #ca0813; }

.barCode ul { margin-top: 55px; padding: 55px 0; display: flex; justify-content: space-between; flex-wrap: wrap; border-top: 3px solid #dddddd; border-bottom: 3px solid #dddddd; }

.barCode ul li { width: 50%; display: flex; justify-content: center; }

.barCode ul li:nth-child(n+3) { margin-top: 60px; }

.barCode.barCode_border { margin-bottom: 60px; border-bottom: 5px solid #000; }

@-webkit-keyframes limited { 0% { opacity: 0;
    transform: scale3d(1.4, 1.4, 1.4); }
  65% { opacity: 0.4;
    transform: scale3d(1.2, 1.2, 1.2); }
  85% { opacity: 0.8;
    transform: scale3d(0.8, 0.8, 0.8); }
  95% { opacity: 1;
    transform: scale3d(0.97, 0.97, 0.97); }
  100% { opacity: 1;
    transform: scale3d(1, 1, 1); } }

@keyframes limited { 0% { opacity: 0;
    transform: scale3d(1.4, 1.4, 1.4); }
  65% { opacity: 0.4;
    transform: scale3d(1.2, 1.2, 1.2); }
  85% { opacity: 0.8;
    transform: scale3d(0.8, 0.8, 0.8); }
  95% { opacity: 1;
    transform: scale3d(0.97, 0.97, 0.97); }
  100% { opacity: 1;
    transform: scale3d(1, 1, 1); } }

.limited { -webkit-animation-duration: .8s; animation-duration: .8s; -webkit-animation-name: limited; animation-name: limited; -webkit-animation-fill-mode: backwards; animation-fill-mode: backwards; }

@-webkit-keyframes balloon { 0% { opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  20% { transform: scale3d(1.1, 1.1, 1.1); }
  40% { transform: scale3d(0.9, 0.9, 0.9); }
  60% { opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03); }
  80% { transform: scale3d(0.97, 0.97, 0.97); }
  to { opacity: 1;
    transform: scale3d(1, 1, 1);
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } }

@keyframes balloon { 0% { opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3); }
  20% { transform: scale3d(1.1, 1.1, 1.1); }
  40% { transform: scale3d(0.9, 0.9, 0.9); }
  60% { opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03); }
  80% { transform: scale3d(0.97, 0.97, 0.97); }
  to { opacity: 1;
    transform: scale3d(1, 1, 1);
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); } }

.balloon { -webkit-animation-fill-mode: backwards; animation-fill-mode: backwards; transform-origin: bottom right; -webkit-animation-name: balloon; animation-name: balloon; -webkit-animation-duration: 2s; animation-duration: 2s; }

@-webkit-keyframes fadeInDown2 { 0% { opacity: 0;
    transform: translate3d(0, -10px, 0); }
  100% { opacity: 1;
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDown2 { 0% { opacity: 0;
    transform: translate3d(0, -10px, 0); }
  100% { opacity: 1;
    transform: translate3d(0, 0, 0); } }

.fadeInDown2 { -webkit-animation: ease backwards; animation: ease backwards; -webkit-animation-name: fadeInDown2; animation-name: fadeInDown2; -webkit-animation-duration: 1s; animation-duration: 1s; }

@-webkit-keyframes fadeIn2 { 0% { opacity: 0; }
  100% { opacity: 1; } }

@keyframes fadeIn2 { 0% { opacity: 0; }
  100% { opacity: 1; } }

.fadeIn2 { -webkit-animation: ease backwards; animation: ease backwards; -webkit-animation-name: fadeIn2; animation-name: fadeIn2; -webkit-animation-duration: 1s; animation-duration: 1s; }

@-webkit-keyframes shake2 { 0% { opacity: 0;
    transform: scale3d(1.8, 1.8, 1.8); }
  58% { transform: scale3d(0.95, 0.95, 0.95); }
  62% { transform: scale3d(1, 1, 1); }
  to { opacity: 1; } }

@keyframes shake2 { 0% { opacity: 0;
    transform: scale3d(1.8, 1.8, 1.8); }
  58% { transform: scale3d(0.95, 0.95, 0.95); }
  62% { transform: scale3d(1, 1, 1); }
  to { opacity: 1; } }

.shake2 { -webkit-animation-fill-mode: backwards; animation-fill-mode: backwards; -webkit-animation-name: shake2; animation-name: shake2; -webkit-animation-duration: 1s; animation-duration: 1s; }

.timing { opacity: 0; -webkit-animation-delay: 0s; animation-delay: 0s; }

.timing2 { opacity: 0; -webkit-animation-delay: .5s; animation-delay: .5s; }

.timing3 { -webkit-animation-delay: 1.5s; animation-delay: 1.5s; }

.timing4 { -webkit-animation-delay: 2s; animation-delay: 2s; }

.timing5 { -webkit-animation-delay: 2s; animation-delay: 2s; }

.timing6 { -webkit-animation-delay: 2.1s; animation-delay: 2.1s; }

.timing7 { -webkit-animation-delay: 2.5s; animation-delay: 2.5s; }

.timing8 { -webkit-animation-delay: 2.8s; animation-delay: 2.8s; }

.form_wrap-request { padding: 60px 0 0; }

.title-request { position: relative; font-size: 24px; letter-spacing: .05em; line-height: 1; text-align: center; }

.title-request:after { margin: 0 auto -1em; display: block; position: absolute; right: 0; bottom: 0; left: 0; width: 70px; height: 6px; content: ""; background: #d70c19; }

.form_table-request { margin-bottom: 45px; }

.form_table-request table { border-top: solid 3px #ddd; border-spacing: 0; border-collapse: collapse; width: 100%; }

.form_table-request th, .form_table-request td { padding: 20px 0; border: none; border-bottom: solid 1px #ddd; position: relative; text-align: left; box-sizing: border-box; }

.form_table-request th { position: relative; width: 300px; line-height: 1.4; font-size: 17px; }

.form_table-request th span { padding-left: 30px; display: flex; align-items: center; position: relative; }

.form_table-request th span:before { margin-right: 12px; display: block; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 18px; height: 4px; content: ""; background: #d70c19; }

.form_table-request th.require:after { display: block; position: absolute; top: 50%; right: 40px; transform: translateY(-50%); color: #d70c19; font-size: 10px; content: "必須"; }

.form_table-request .th_textarea { padding-top: 30px; vertical-align: top; }

.form_table-request .td_select { width: 190px; }

.form_table-request input, .form_table-request textarea, .form_table-request select { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; border-radius: 0; box-shadow: none; background: none; overflow: auto; box-sizing: border-box; }

.form_table-request .error { margin: .25em .25em 0; color: #d70c19; font-size: .9em; display: none; }

.form_table-request input[type="text"], .form_table-request input[type="email"], .form_table-request .selectbox, .form_table-request textarea { padding: .5em 1em; border: solid 1px #e6ecf1; border-radius: 4px; width: 100%; height: 45px; line-height: normal; background: #f5f7f9; font-size: 16px; }

.form_table-request .selectbox { display: flex; align-items: center; position: relative; box-sizing: border-box; cursor: pointer; }

.form_table-request .selectbox select { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; opacity: 0; cursor: pointer; }

.form_table-request .selectbox:after { position: absolute; top: 0; bottom: 0; right: 1em; margin: auto; content: ""; vertical-align: middle; width: 0.5em; height: 0.5em; border-top: 2px solid #95a6b2; border-right: 2px solid #95a6b2; transform: rotate(45deg); transform: rotate(135deg); right: 11px; }

.form_table-request .td_radio { padding-left: 40px; }

.form_table-request .td_radio label { display: inline-block; cursor: pointer; }

.form_table-request .td_radio label + label { margin-left: 1em; }

.form_table-request .td_radio span { display: flex; align-items: center; }

.form_table-request input[type="radio"] { position: absolute; opacity: 0; }

.form_table-request input[type="radio"] + .radiomark { margin-right: .75em; position: relative; width: 25px; height: 25px; background: url(../../data/images/collaboration/radiobox-off.png) no-repeat; background-size: contain; cursor: pointer; }

.form_table-request input[type="radio"]:checked + .radiomark { background: url(../../data/images/collaboration/radiobox-on.png) no-repeat; background-size: contain; }

.form_table-request textarea { padding: 1em; height: 190px; }

.btn_wrap-request { margin: 60px auto 0; text-align: center; }

button { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; border-radius: 0; box-shadow: none; background: none; overflow: auto; box-sizing: border-box; }

.btn-oval { padding: .75em 3.3333em; border: none; border-radius: 60px; position: relative; line-height: 1; background: #d70c19; color: #fff; font-size: 18px; font-weight: normal; cursor: pointer; transition: .3s; }

.btn-oval:after { position: absolute; top: 0; bottom: 0; right: 1em; margin: auto; content: ""; vertical-align: middle; width: 0.4em; height: 0.4em; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg); }

.btn-oval:hover { opacity: .8; }

.attention_box { padding: 15px 25px; border: double 4px #ddd; }

.attention_box h3 { margin-bottom: 25px; padding-bottom: 15px; border-bottom: solid 1px #ddd; line-height: 1.2; font-size: 18px; text-align: center; letter-spacing: .5em; }

.attention_box p { padding-left: 1em; text-indent: -1em; font-size: 15px; }

.attention_box p + p { margin-top: .25em; }

.btnwrap-collabo_request { margin: 40px auto 60px; padding: 30px 50px; display: block; position: relative; transition: opacity .3s; background: #f5f5f5; text-align: center; }

.btnwrap-collabo_request a { margin: 0 auto; display: block; position: relative; width: 720px; }

.btnwrap-collabo_request a:after { display: block; position: absolute; top: 7px; left: 0; z-index: 0; width: 100%; height: 100%; content: ""; background: url(../../data/images/collaboration/btn-collabo_request-long-shadow.png) no-repeat center bottom; content: ""; }

.btnwrap-collabo_request a:hover { top: 2px; opacity: .9; }

.btnwrap-collabo_request a:hover:after { top: 5px; }

.btnwrap-collabo_request a:active { top: 4px; }

.btnwrap-collabo_request a:active:after { top: 3px; }

.btnwrap-collabo_request img { position: relative; z-index: 1; vertical-align: bottom; }

.btnwrap-collabo_request.btnwrap-collabo_request-longest a { width: 960px; }

.btnwrap-collabo_request.btnwrap-collabo_request-longest a:after { background: url(../../data/images/collaboration/btn-collabo_request-longest-shadow.png) no-repeat center bottom; background-size: cover; }

.btnwrap-collabo_request.btnwrap-collabo_request-longest img { width: 100%; height: auto; }

body.collaboration-send #main .title-request { margin-bottom: 50px; }

body.collaboration-send #main p { font-size: 17px; text-align: center; }

/* home */
body.home { position: relative; min-width: 1200px; }

body.home header #headerNavBackground { height: inherit; background: none; }

body.home header #headerNavBackground nav:before { padding-top: 100px; content: ""; position: absolute; bottom: -100px; left: 0; width: 100%; height: 100%; }

body.home header #headerNavBackground nav .wrap { margin-top: 15px; }

body.home header #headerNavBackground nav .wrap.slidein { min-width: 1200px; }

body.home header #headerNavBackground nav .wrap.slidein:after { padding-bottom: 130px; display: block; width: 100%; height: 100%; position: absolute; bottom: -130px; left: 0; z-index: -1; content: ""; }

body.home #headerContentsBackground { display: inline-block; min-height: 0; width: 100%; position: relative; background: none; }

body.home #headerContentsBackground:before { position: absolute; bottom: -126px; left: 0; content: ""; width: 100%; height: 147px; box-shadow: 0px 0px 10px #aaa; }

body.home #headerContentsBackground:after { position: absolute; bottom: -126px; left: 0; content: ""; width: 100%; height: 147px; box-shadow: 0px 0px 10px #aaa; }

body.home #headerContents { margin-top: 18px; padding: 10px 10px 10px 0; overflow: hidden; position: relative; z-index: 1; background: #fff; line-height: 0; width: 1100px; box-sizing: border-box; box-shadow: 0 0 20px #bbb; }

body.home #headerContents:before, body.home #headerContents:after { display: block; position: absolute; top: 0; left: 0; height: 100%; width: 10px; content: ""; background: #fff; }

body.home #headerContents:after { left: inherit; right: 0; }

body.home #headerContents ul { margin: 0; }

body.home #headerContents ul.small { margin-top: 10px; }

body.home #headerContents .large, body.home #headerContents .small { overflow: hidden; }

body.home #headerContents .large:after, body.home #headerContents .small:after { display: block; content: ""; clear: both; }

body.home #headerContents .large li, body.home #headerContents .small li { padding-left: 10px; margin: 0; float: left; height: auto; text-align: center; box-sizing: border-box; }

body.home #headerContents .large li a, body.home #headerContents .small li a { display: block; }

body.home #headerContents .large li[data-line="1"] { width: 100%; }

body.home #headerContents .large li[data-line="0"], body.home #headerContents .large li[data-line="2"] { width: 545px; }

body.home #headerContents .large img { width: auto; }

body.home #headerContents .small li { width: 136.25px; }

body.home #headerContents img { max-width: 100%; height: auto; }

body.home #main { margin: auto auto 0; width: 100%; }

body.home #main #midContent { margin-bottom: 0; text-align: center; }

body.home #main #midContent .btn { margin-top: -3px; padding: 13px 67px; display: inline-block; position: relative; background: #d70c19; color: #fff; text-decoration: none; font-size: 16px; letter-spacing: 0.1em; border-radius: 25px; }

body.home #main #midContent .btn:before, body.home #main #midContent .btn:after { margin: auto 18px auto auto; display: block; border-style: solid; border-width: 7px 0 7px 7px; border-color: transparent transparent transparent #fff; width: 0; height: 0; position: absolute; top: 0; right: 0; bottom: 0; content: ""; line-height: 1; }

body.home #main #midContent .btn:after { right: 2px; border-color: transparent transparent transparent #d70c19; }

body.home #main #midContent > section { position: relative; z-index: 0; }

body.home #main #midContent > section:before, body.home #main #midContent > section:after { display: block; position: absolute; background-position: center center; background-repeat: no-repeat; background-size: contain; content: ""; z-index: -1; }

body.home #main #midContent > section ul.bnr { text-align: center; font-weight: bold; font-size: 13px; }

body.home #main #midContent > section ul.bnr li { margin-bottom: 40px; display: inline-block; vertical-align: top; width: 25%; letter-spacing: normal; }

body.home #main #midContent > section ul.bnr a { margin: auto; display: block; max-width: 95%; text-decoration: none; }

body.home #main #midContent > section ul.bnr img { margin: auto auto 1em; display: block; width: auto; max-width: 100%; height: auto; }

body.home #main #midContent > section.map { padding: 78px 0; }

body.home #main #midContent > section.map .headline1 { color: #f4f4f4; }

body.home #main #midContent > section.map .headline1 span {
  color: #000;
  display: block;
  margin-top: 52px;
}

body.home #main #midContent > section.map .headline1 em {
  font-style: normal;
  display: block;
  margin-top: 8px;
  font-size: 20px;
  letter-spacing: .02em;
}

body.home #main #midContent > section.map .map-bg { margin: auto; position: relative; height: 593px; width: 854px; background: url(../../data/images/home/bgi-map.png) no-repeat center top; text-align: left; }

body.home #main #midContent > section.map .map-bg li { border: 4px solid #000; position: absolute; font-size: 18px; font-weight: bold; line-height: 1; border-radius: 30px; }

body.home #main #midContent > section.map .map-bg li:before, body.home #main #midContent > section.map .map-bg li:after { margin: auto auto auto 15px; border: 7px solid transparent; display: block; position: absolute; top: 0; bottom: 0; height: 0; width: 0; content: ""; }

body.home #main #midContent > section.map .map-bg li:before { border-left: 7px solid #000; left: 4px; }

body.home #main #midContent > section.map .map-bg li:after { border-left: 7px solid #fff; left: 0; }

body.home #main #midContent > section.map .map-bg li a { padding: 15px 20px 15px 35px; display: block; color: #000; text-decoration: none; }

body.home #main #midContent > section.map .map-bg .map-hokkaido-tohoku { top: 123px; right: 211px; border-color: #0099d5; }

body.home #main #midContent > section.map .map-bg .map-hokkaido-tohoku:before { border-left: 7px solid #0099d5; }

body.home #main #midContent > section.map .map-bg .map-kanto { right: 31px; bottom: 50px; border-color: #56c7ea; }

body.home #main #midContent > section.map .map-bg .map-kanto:before { border-left: 7px solid #56c7ea; }

body.home #main #midContent > section.map .map-bg .map-koshinetsu-hokuriku { top: 223px; right: 222px; border-color: #009c5d; }

body.home #main #midContent > section.map .map-bg .map-koshinetsu-hokuriku:before { border-left: 7px solid #009c5d; }

body.home #main #midContent > section.map .map-bg .map-tokai { right: 171px; bottom: 14px; border-color: #97d94c; }

body.home #main #midContent > section.map .map-bg .map-tokai:before { border-left: 7px solid #97d94c; }

body.home #main #midContent > section.map .map-bg .map-kansai { left: 393px; bottom: 14px; border-color: #e5bd00; }

body.home #main #midContent > section.map .map-bg .map-kansai:before { border-left: 7px solid #e5bd00; }

body.home #main #midContent > section.map .map-bg .map-chugoku { top: 223px; left: 271px; border-color: #ff8a00; }

body.home #main #midContent > section.map .map-bg .map-chugoku:before { border-left: 7px solid #ff8a00; }

body.home #main #midContent > section.map .map-bg .map-shikoku { left: 245px; bottom: 14px; border-color: #ff8594; }

body.home #main #midContent > section.map .map-bg .map-shikoku:before { border-left: 7px solid #ff8594; }

body.home #main #midContent > section.map .map-bg .map-kyushu-okinawa { top: 223px; left: 68px; border-color: #ff535d; }

body.home #main #midContent > section.map .map-bg .map-kyushu-okinawa:before { border-left: 7px solid #ff535d; }

body.home #main #midContent > section.camp { padding: 78px 0; }

body.home #main #midContent > section.news { padding: 56px 0 78px; }

body.home #main #midContent > section.news dl { margin: 54px 0 41px; text-align: left; font-size: 14px; }

body.home #main #midContent > section.news dl:after { display: block; clear: both; content: ""; }

body.home #main #midContent > section.news dt, body.home #main #midContent > section.news dd { border-bottom: 1px solid #eaeaea; padding: 22px 0; float: left; box-sizing: border-box; line-height: 1.13; }

body.home #main #midContent > section.news dt { clear: both; font-weight: bold; }

body.home #main #midContent > section.news dt:first-child, body.home #main #midContent > section.news dt:first-child + dd { border-top: 1px solid #eaeaea; }

body.home #main #midContent > section.news dd { padding-left: 24px; background: url(../../data/images/ico_list.png) no-repeat right center; width: 1005px; }

body.home #main #midContent > section.news dd a { display: block; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; }

body.home #main #midContent > section.food { padding: 56px 0 40px; }

body.home #main #midContent > section.food img { max-width: 255px; height: auto; }

body.home #main #midContent > section.members { padding: 56px 0 98px; }

body.home #main #midContent > section.members a { text-decoration: none; color: #000; }

body.home #main #midContent > section.members li { display: inline-block; margin: 0 45px; font-size: 20px; font-weight: bold; position: relative; z-index: 0; }

body.home #main #midContent > section.members li img { margin-bottom: 20px; }

body.home #main #midContent > section.members li span { position: relative; padding-left: 1.5em; }

body.home #main #midContent > section.members li span:before { margin: auto; display: block; height: 1em; width: 1em; position: absolute; top: 0; bottom: 0; left: 0; background: url(../../data/images/ico_list.png) no-repeat left center; background-size: auto 100%; content: ""; }

body.home #main #midContent > section.bnr { padding: 55px 0 35px; background-color: #FFF; }

body.home #main #midContent > section.bnr ul { margin: auto; width: 1100px; max-width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }

body.home #main #midContent > section.bnr ul li { padding: 0 5px; margin-bottom: 10px; width: 25%; box-sizing: border-box; }

body.home #main #midContent > section.bnr ul li a, body.home #main #midContent > section.bnr ul li img { display: block; }

body.home #main #midContent > section.bnr ul li:first-child { width: 50%; }

body.home #main #midContent > section.bnr ul li img { max-width: 100%; height: auto; }

body.home #main #midContent > section > .wrap { margin: auto; width: 1100px; }

body.home #main #midContent .headline1 { margin-bottom: 48px; position: relative; text-align: center; font-weight: bold; font-size: 150px; letter-spacing: -0.01em; line-height: 1; }

body.home #main #midContent .headline1:after { margin: auto; display: block; height: 6px; width: 70px; content: ""; position: absolute; right: 0; bottom: -10px; left: 0; background: #c1000c; }

body.home #main #midContent .headline1 span { font-family: inherit; margin: auto; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; height: 0.7em; font-size: 34px; text-align: center; }

body.home #main img { margin: auto; display: block; }

body.home .footer_bnr { display: inline-block; position: absolute; left: 0; bottom: 0; opacity: 0; transition: opacity 1s; }

body.home .footer_bnr.on { opacity: 1; }

body.home .footer_bnr img { width: 70%; display: block; }

body { /** キャンペーン詳細のプロジェクタールーム限定 --------------------------------------------------*/ }

body.single-mail-magazine-post, body.mail-magazine, body.tax-mail-magazine-cat { line-height: 1.4; }

body.single-mail-magazine-post #magazine-kv, body.mail-magazine #magazine-kv, body.tax-mail-magazine-cat #magazine-kv { padding: 110px 0 63px; border-bottom: solid 1px #eaeaea; box-shadow: inset 0px 10px 5px -5px rgba(0, 0, 0, 0.1); background-position: center bottom; background-repeat: no-repeat; background-image: url(../../data/images/collaboration/kv-bgi.png); background-size: cover; text-align: center; overflow: hidden; }

body.single-mail-magazine-post #magazine-kv h2, body.mail-magazine #magazine-kv h2, body.tax-mail-magazine-cat #magazine-kv h2 { position: relative; line-height: 1; font-size: 38px; font-weight: bold; font-feature-settings: 'palt'; letter-spacing: .075em; }

body.single-mail-magazine-post #magazine-kv h2 span, body.mail-magazine #magazine-kv h2 span, body.tax-mail-magazine-cat #magazine-kv h2 span { margin: auto; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; height: 1em; }

body.single-mail-magazine-post #magazine-kv h2 img, body.mail-magazine #magazine-kv h2 img, body.tax-mail-magazine-cat #magazine-kv h2 img { vertical-align: bottom; }

body.single-mail-magazine-post #contents, body.mail-magazine #contents, body.tax-mail-magazine-cat #contents { margin: auto; padding-top: 60px; width: 100%; max-width: 1100px; float: none; box-sizing: border-box; word-break: break-all; }

body.single-mail-magazine-post #contents:after, body.mail-magazine #contents:after, body.tax-mail-magazine-cat #contents:after { display: block; content: ""; clear: both; }

body.single-mail-magazine-post #contents *, body.mail-magazine #contents *, body.tax-mail-magazine-cat #contents * { box-sizing: border-box; }

body.single-mail-magazine-post #sidebar, body.mail-magazine #sidebar, body.tax-mail-magazine-cat #sidebar { font-size: 14px; width: 100%; max-width: 240px; }

body.single-mail-magazine-post #sidebar a, body.mail-magazine #sidebar a, body.tax-mail-magazine-cat #sidebar a { color: #5aaddd; }

body.single-mail-magazine-post #sidebar .btn a, body.mail-magazine #sidebar .btn a, body.tax-mail-magazine-cat #sidebar .btn a { display: block; position: relative; transition: opacity 0.3s; text-align: center; }

body.single-mail-magazine-post #sidebar .btn a img, body.mail-magazine #sidebar .btn a img, body.tax-mail-magazine-cat #sidebar .btn a img { display: inline-block; position: relative; }

body.single-mail-magazine-post #sidebar .btn a:after, body.mail-magazine #sidebar .btn a:after, body.tax-mail-magazine-cat #sidebar .btn a:after { display: block; position: absolute; bottom: -3px; left: 0; z-index: -1; width: 100%; height: 20px; background: url(../../data/images/collaboration/btn-collabo_request-shadow.png) no-repeat center bottom; content: ""; }

body.single-mail-magazine-post #sidebar .btn a:hover, body.mail-magazine #sidebar .btn a:hover, body.tax-mail-magazine-cat #sidebar .btn a:hover { opacity: 0.9; }

body.single-mail-magazine-post #sidebar .btn a:hover img, body.mail-magazine #sidebar .btn a:hover img, body.tax-mail-magazine-cat #sidebar .btn a:hover img { top: 2px; }

body.single-mail-magazine-post #sidebar aside, body.mail-magazine #sidebar aside, body.tax-mail-magazine-cat #sidebar aside { margin-top: 40px; }

body.single-mail-magazine-post #sidebar form, body.mail-magazine #sidebar form, body.tax-mail-magazine-cat #sidebar form { margin-top: 43px; width: 100%; position: relative; }

body.single-mail-magazine-post #sidebar form input[name="search"], body.mail-magazine #sidebar form input[name="search"], body.tax-mail-magazine-cat #sidebar form input[name="search"] { padding: 21px 17px; border: 1px solid #d4d4d4; width: 100%; font-size: 14px; }

body.single-mail-magazine-post #sidebar form button, body.mail-magazine #sidebar form button, body.tax-mail-magazine-cat #sidebar form button { margin: auto; display: block; position: absolute; top: 0; right: 15px; bottom: 0; }

body.single-mail-magazine-post #sidebar .date-asidelist, body.mail-magazine #sidebar .date-asidelist, body.tax-mail-magazine-cat #sidebar .date-asidelist { display: block; font-weight: bold; font-size: 14px; line-height: 1.75; color: #666; }

body.single-mail-magazine-post #sidebar h2, body.single-mail-magazine-post #sidebar h3, body.mail-magazine #sidebar h2, body.mail-magazine #sidebar h3, body.tax-mail-magazine-cat #sidebar h2, body.tax-mail-magazine-cat #sidebar h3 { padding: 0 0 0 20px; position: relative; font-weight: bold; font-size: 22px; }

body.single-mail-magazine-post #sidebar h2:before, body.single-mail-magazine-post #sidebar h2:after, body.single-mail-magazine-post #sidebar h3:before, body.single-mail-magazine-post #sidebar h3:after, body.mail-magazine #sidebar h2:before, body.mail-magazine #sidebar h2:after, body.mail-magazine #sidebar h3:before, body.mail-magazine #sidebar h3:after, body.tax-mail-magazine-cat #sidebar h2:before, body.tax-mail-magazine-cat #sidebar h2:after, body.tax-mail-magazine-cat #sidebar h3:before, body.tax-mail-magazine-cat #sidebar h3:after { display: block; position: absolute; top: 0; bottom: 0; left: 0; width: 7px; height: 100%; content: ""; background: #c1000c; }

body.single-mail-magazine-post #sidebar h2:after, body.single-mail-magazine-post #sidebar h3:after, body.mail-magazine #sidebar h2:after, body.mail-magazine #sidebar h3:after, body.tax-mail-magazine-cat #sidebar h2:after, body.tax-mail-magazine-cat #sidebar h3:after { height: 7px; background: #f40010; }

body.single-mail-magazine-post #sidebar ul, body.mail-magazine #sidebar ul, body.tax-mail-magazine-cat #sidebar ul { position: relative; margin-top: 12px; border-top: 1px solid #d4d4d4; }

body.single-mail-magazine-post #sidebar ul:before, body.mail-magazine #sidebar ul:before, body.tax-mail-magazine-cat #sidebar ul:before { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 5px; content: ""; background: #f2f2f2; }

body.single-mail-magazine-post #sidebar ul.js-archive-list li, body.mail-magazine #sidebar ul.js-archive-list li, body.tax-mail-magazine-cat #sidebar ul.js-archive-list li { opacity: 0; }

body.single-mail-magazine-post #sidebar ul.news-list li:before, body.single-mail-magazine-post #sidebar ul.news-list li:after, body.mail-magazine #sidebar ul.news-list li:before, body.mail-magazine #sidebar ul.news-list li:after, body.tax-mail-magazine-cat #sidebar ul.news-list li:before, body.tax-mail-magazine-cat #sidebar ul.news-list li:after { content: none; }

body.single-mail-magazine-post #sidebar ul.news-list li a, body.mail-magazine #sidebar ul.news-list li a, body.tax-mail-magazine-cat #sidebar ul.news-list li a { position: relative; }

body.single-mail-magazine-post #sidebar ul.news-list li a:before, body.single-mail-magazine-post #sidebar ul.news-list li a:after, body.mail-magazine #sidebar ul.news-list li a:before, body.mail-magazine #sidebar ul.news-list li a:after, body.tax-mail-magazine-cat #sidebar ul.news-list li a:before, body.tax-mail-magazine-cat #sidebar ul.news-list li a:after { border: .4em solid transparent; margin: auto auto auto .25em; display: block; position: absolute; top: 0; left: 0; bottom: 0; height: 0; width: 0; content: ""; }

body.single-mail-magazine-post #sidebar ul.news-list li a:before, body.mail-magazine #sidebar ul.news-list li a:before, body.tax-mail-magazine-cat #sidebar ul.news-list li a:before { border-left: .5em solid #d70c19; }

body.single-mail-magazine-post #sidebar ul.news-list li a:after, body.mail-magazine #sidebar ul.news-list li a:after, body.tax-mail-magazine-cat #sidebar ul.news-list li a:after { border-left: .5em solid #FFF; left: -3px; }

body.single-mail-magazine-post #sidebar ul.news-list li a:before, body.single-mail-magazine-post #sidebar ul.news-list li a:after, body.mail-magazine #sidebar ul.news-list li a:before, body.mail-magazine #sidebar ul.news-list li a:after, body.tax-mail-magazine-cat #sidebar ul.news-list li a:before, body.tax-mail-magazine-cat #sidebar ul.news-list li a:after { margin-top: 0.35em; }

body.single-mail-magazine-post #sidebar ul.news-list .text-asidelist, body.mail-magazine #sidebar ul.news-list .text-asidelist, body.tax-mail-magazine-cat #sidebar ul.news-list .text-asidelist { color: inherit; }

body.single-mail-magazine-post #sidebar ul.cat-list li a, body.mail-magazine #sidebar ul.cat-list li a, body.tax-mail-magazine-cat #sidebar ul.cat-list li a { font-size: 13px; }

body.single-mail-magazine-post #sidebar ul li, body.mail-magazine #sidebar ul li, body.tax-mail-magazine-cat #sidebar ul li { position: relative; }

body.single-mail-magazine-post #sidebar ul li:before, body.single-mail-magazine-post #sidebar ul li:after, body.mail-magazine #sidebar ul li:before, body.mail-magazine #sidebar ul li:after, body.tax-mail-magazine-cat #sidebar ul li:before, body.tax-mail-magazine-cat #sidebar ul li:after { border: .4em solid transparent; margin: auto auto auto .25em; display: block; position: absolute; top: 0; left: 0; bottom: 0; height: 0; width: 0; content: ""; }

body.single-mail-magazine-post #sidebar ul li:before, body.mail-magazine #sidebar ul li:before, body.tax-mail-magazine-cat #sidebar ul li:before { border-left: .5em solid #d70c19; }

body.single-mail-magazine-post #sidebar ul li:after, body.mail-magazine #sidebar ul li:after, body.tax-mail-magazine-cat #sidebar ul li:after { border-left: .5em solid #FFF; left: -3px; }

body.single-mail-magazine-post #sidebar ul li:not(.child), body.mail-magazine #sidebar ul li:not(.child), body.tax-mail-magazine-cat #sidebar ul li:not(.child) { padding: 17px 0; border-bottom: solid 1px #eaeaea; }

body.single-mail-magazine-post #sidebar ul li.child:before, body.single-mail-magazine-post #sidebar ul li.child:after, body.mail-magazine #sidebar ul li.child:before, body.mail-magazine #sidebar ul li.child:after, body.tax-mail-magazine-cat #sidebar ul li.child:before, body.tax-mail-magazine-cat #sidebar ul li.child:after { content: none; }

body.single-mail-magazine-post #sidebar ul li.child ul, body.mail-magazine #sidebar ul li.child ul, body.tax-mail-magazine-cat #sidebar ul li.child ul { margin: 0; border: none; width: 100%; }

body.single-mail-magazine-post #sidebar ul li.child ul:before, body.mail-magazine #sidebar ul li.child ul:before, body.tax-mail-magazine-cat #sidebar ul li.child ul:before { content: none; }

body.single-mail-magazine-post #sidebar ul li.child ul li, body.mail-magazine #sidebar ul li.child ul li, body.tax-mail-magazine-cat #sidebar ul li.child ul li { padding: 14px 0; font-size: 13px; }

body.single-mail-magazine-post #sidebar ul li.child ul li:before, body.single-mail-magazine-post #sidebar ul li.child ul li:after, body.mail-magazine #sidebar ul li.child ul li:before, body.mail-magazine #sidebar ul li.child ul li:after, body.tax-mail-magazine-cat #sidebar ul li.child ul li:before, body.tax-mail-magazine-cat #sidebar ul li.child ul li:after { margin-left: 1.75em; }

body.single-mail-magazine-post #sidebar ul li.child ul a, body.mail-magazine #sidebar ul li.child ul a, body.tax-mail-magazine-cat #sidebar ul li.child ul a { padding-left: 2.5em; }

body.single-mail-magazine-post #sidebar ul li a, body.mail-magazine #sidebar ul li a, body.tax-mail-magazine-cat #sidebar ul li a { padding-left: 1.25em; display: block; font-size: 16px; text-decoration: underline; line-height: 1.5; }

body.single-mail-magazine-post #main, body.mail-magazine #main, body.tax-mail-magazine-cat #main { margin-top: 0 !important; padding-left: 60px; float: right; width: 100%; max-width: 860px; font-size: 14px; }

body.single-mail-magazine-post #main section, body.mail-magazine #main section, body.tax-mail-magazine-cat #main section { margin-bottom: 0; }

body.single-mail-magazine-post #main section img, body.mail-magazine #main section img, body.tax-mail-magazine-cat #main section img { margin: auto; display: block; max-width: 100%; height: auto; }

body.single-mail-magazine-post #main section .heading1, body.mail-magazine #main section .heading1, body.tax-mail-magazine-cat #main section .heading1 { padding: 0; font-size: 18px; line-height: 1.6; }

body.single-mail-magazine-post #main section .heading1:not(.title), body.mail-magazine #main section .heading1:not(.title), body.tax-mail-magazine-cat #main section .heading1:not(.title) { padding: 13px 40px; background: #f6f6f6; position: relative; font-size: 21px; letter-spacing: 0.1em; }

body.single-mail-magazine-post #main section .heading1:not(.title):before, body.mail-magazine #main section .heading1:not(.title):before, body.tax-mail-magazine-cat #main section .heading1:not(.title):before { margin: auto; display: block; position: absolute; top: 0; left: 0; bottom: 0; height: 4px; width: 25px; content: ""; background: #c1000c; }

body.single-mail-magazine-post #main section .heading1.title, body.mail-magazine #main section .heading1.title, body.tax-mail-magazine-cat #main section .heading1.title { padding-bottom: 20px; border-bottom: 4px solid #d4d4d4; position: relative; }

body.single-mail-magazine-post #main section .heading1.title:before, body.single-mail-magazine-post #main section .heading1.title:after, body.mail-magazine #main section .heading1.title:before, body.mail-magazine #main section .heading1.title:after, body.tax-mail-magazine-cat #main section .heading1.title:before, body.tax-mail-magazine-cat #main section .heading1.title:after { display: block; position: absolute; bottom: -4px; left: 0; height: 4px; width: 100%; content: ""; }

body.single-mail-magazine-post #main section .heading1.title:before, body.mail-magazine #main section .heading1.title:before, body.tax-mail-magazine-cat #main section .heading1.title:before { background: #fff; max-width: 81px; }

body.single-mail-magazine-post #main section .heading1.title:after, body.mail-magazine #main section .heading1.title:after, body.tax-mail-magazine-cat #main section .heading1.title:after { background: #c1000c; max-width: 79px; }

body.single-mail-magazine-post #main section .heading1.title + .date, body.mail-magazine #main section .heading1.title + .date, body.tax-mail-magazine-cat #main section .heading1.title + .date { margin: 20px 0 35px; display: block; color: #666; }

body.single-mail-magazine-post #main .list, body.mail-magazine #main .list, body.tax-mail-magazine-cat #main .list { border-top: 3px solid #d4d4d4; border-bottom: 3px solid #d4d4d4; }

body.single-mail-magazine-post #main .list li, body.mail-magazine #main .list li, body.tax-mail-magazine-cat #main .list li { margin-bottom: 40px; display: flex; }

body.single-mail-magazine-post #main .list li:first-child, body.mail-magazine #main .list li:first-child, body.tax-mail-magazine-cat #main .list li:first-child { margin-top: 40px; }

body.single-mail-magazine-post #main .list li span, body.mail-magazine #main .list li span, body.tax-mail-magazine-cat #main .list li span { width: 90px; font-size: 16px; color: #454545; }

body.single-mail-magazine-post #main .list a, body.mail-magazine #main .list a, body.tax-mail-magazine-cat #main .list a { margin-left: 30px; padding: 5px 0 5px 50px; border-left: 1px solid #dfdfdf; max-width: 635px; color: #5aaddd; font-size: 16px; position: relative; }

body.single-mail-magazine-post #main .list a:before, body.single-mail-magazine-post #main .list a:after, body.mail-magazine #main .list a:before, body.mail-magazine #main .list a:after, body.tax-mail-magazine-cat #main .list a:before, body.tax-mail-magazine-cat #main .list a:after { border: .4em solid transparent; margin: auto auto auto .25em; display: block; position: absolute; top: 0; left: 0; bottom: 0; height: 0; width: 0; content: ""; }

body.single-mail-magazine-post #main .list a:before, body.mail-magazine #main .list a:before, body.tax-mail-magazine-cat #main .list a:before { border-left: .5em solid #d70c19; }

body.single-mail-magazine-post #main .list a:after, body.mail-magazine #main .list a:after, body.tax-mail-magazine-cat #main .list a:after { border-left: .5em solid #FFF; left: -3px; }

body.single-mail-magazine-post #main .list a:before, body.single-mail-magazine-post #main .list a:after, body.mail-magazine #main .list a:before, body.mail-magazine #main .list a:after, body.tax-mail-magazine-cat #main .list a:before, body.tax-mail-magazine-cat #main .list a:after { margin-top: 0.25em; margin-left: 30px; top: 5px; bottom: inherit; }

body.single-mail-magazine-post #main .pagenavi, body.mail-magazine #main .pagenavi, body.tax-mail-magazine-cat #main .pagenavi { margin-top: 40px; text-align: center; height: 25px; line-height: 25px; font-weight: bold; }

body.single-mail-magazine-post #main .pagenavi a, body.single-mail-magazine-post #main .pagenavi span, body.mail-magazine #main .pagenavi a, body.mail-magazine #main .pagenavi span, body.tax-mail-magazine-cat #main .pagenavi a, body.tax-mail-magazine-cat #main .pagenavi span { margin: 0 15px; display: inline-block; height: 100%; }

body.single-mail-magazine-post #main .pagenavi span, body.mail-magazine #main .pagenavi span, body.tax-mail-magazine-cat #main .pagenavi span { color: #000; }

body.single-mail-magazine-post #main .pagenavi a, body.mail-magazine #main .pagenavi a, body.tax-mail-magazine-cat #main .pagenavi a { text-decoration: none; color: #c0c0c0; }

body.single-mail-magazine-post #main .pagenavi .prev, body.single-mail-magazine-post #main .pagenavi .next, body.mail-magazine #main .pagenavi .prev, body.mail-magazine #main .pagenavi .next, body.tax-mail-magazine-cat #main .pagenavi .prev, body.tax-mail-magazine-cat #main .pagenavi .next { margin: 0; display: block; position: relative; color: #000; }

body.single-mail-magazine-post #main .pagenavi .prev:before, body.single-mail-magazine-post #main .pagenavi .prev:after, body.single-mail-magazine-post #main .pagenavi .next:before, body.single-mail-magazine-post #main .pagenavi .next:after, body.mail-magazine #main .pagenavi .prev:before, body.mail-magazine #main .pagenavi .prev:after, body.mail-magazine #main .pagenavi .next:before, body.mail-magazine #main .pagenavi .next:after, body.tax-mail-magazine-cat #main .pagenavi .prev:before, body.tax-mail-magazine-cat #main .pagenavi .prev:after, body.tax-mail-magazine-cat #main .pagenavi .next:before, body.tax-mail-magazine-cat #main .pagenavi .next:after { border: 1em solid transparent; margin: auto; display: block; position: absolute; top: 0; bottom: 0; height: 0; width: 0; content: ""; }

body.single-mail-magazine-post #main .pagenavi .prev, body.mail-magazine #main .pagenavi .prev, body.tax-mail-magazine-cat #main .pagenavi .prev { padding-left: 50px; float: left; }

body.single-mail-magazine-post #main .pagenavi .prev:before, body.mail-magazine #main .pagenavi .prev:before, body.tax-mail-magazine-cat #main .pagenavi .prev:before { left: 0; border-right: 1.25em solid #e60012; }

body.single-mail-magazine-post #main .pagenavi .prev:after, body.mail-magazine #main .pagenavi .prev:after, body.tax-mail-magazine-cat #main .pagenavi .prev:after { left: 3px; border-right: 1.25em solid #fff; }

body.single-mail-magazine-post #main .pagenavi .next, body.mail-magazine #main .pagenavi .next, body.tax-mail-magazine-cat #main .pagenavi .next { padding-right: 50px; float: right; }

body.single-mail-magazine-post #main .pagenavi .next:before, body.mail-magazine #main .pagenavi .next:before, body.tax-mail-magazine-cat #main .pagenavi .next:before { right: 0; border-left: 1.25em solid #e60012; }

body.single-mail-magazine-post #main .pagenavi .next:after, body.mail-magazine #main .pagenavi .next:after, body.tax-mail-magazine-cat #main .pagenavi .next:after { right: 3px; border-left: 1.25em solid #fff; }

body.single-mail-magazine-post #main .pagenavi:after, body.mail-magazine #main .pagenavi:after, body.tax-mail-magazine-cat #main .pagenavi:after { display: block; clear: both; content: ""; }

body.single-mail-magazine-post #main .infinit, body.mail-magazine #main .infinit, body.tax-mail-magazine-cat #main .infinit { position: relative; }

body.single-mail-magazine-post #main .infinit .html, body.mail-magazine #main .infinit .html, body.tax-mail-magazine-cat #main .infinit .html { display: flex; justify-content: center; }

body.single-mail-magazine-post #main .infinit .text-image ul, body.mail-magazine #main .infinit .text-image ul, body.tax-mail-magazine-cat #main .infinit .text-image ul { display: flex; justify-content: space-between; }

body.single-mail-magazine-post #main .infinit .text-image li, body.mail-magazine #main .infinit .text-image li, body.tax-mail-magazine-cat #main .infinit .text-image li { width: 100%; max-width: 385px; text-align: center; }

body.single-mail-magazine-post #main .infinit .text-image li .wrap, body.mail-magazine #main .infinit .text-image li .wrap, body.tax-mail-magazine-cat #main .infinit .text-image li .wrap { padding: 0 60px; }

body.single-mail-magazine-post #main .infinit .text-image li.text .wrap, body.mail-magazine #main .infinit .text-image li.text .wrap, body.tax-mail-magazine-cat #main .infinit .text-image li.text .wrap { text-align: left; }

body.single-mail-magazine-post #main .infinit .text-image li.text .wrap p, body.mail-magazine #main .infinit .text-image li.text .wrap p, body.tax-mail-magazine-cat #main .infinit .text-image li.text .wrap p { margin-top: 15px; }

body.single-mail-magazine-post #main .infinit .text-image li.text .wrap p:first-child, body.mail-magazine #main .infinit .text-image li.text .wrap p:first-child, body.tax-mail-magazine-cat #main .infinit .text-image li.text .wrap p:first-child { margin-top: 0; }

body.single-mail-magazine-post #main .infinit .text-image h3, body.mail-magazine #main .infinit .text-image h3, body.tax-mail-magazine-cat #main .infinit .text-image h3 { margin-bottom: 35px; padding: 15px 0; border: 1px solid #d4d4d4; display: block; position: relative; background: #fafafa; border-radius: 3px; }

body.single-mail-magazine-post #main .infinit .text-image h3:before, body.single-mail-magazine-post #main .infinit .text-image h3:after, body.mail-magazine #main .infinit .text-image h3:before, body.mail-magazine #main .infinit .text-image h3:after, body.tax-mail-magazine-cat #main .infinit .text-image h3:before, body.tax-mail-magazine-cat #main .infinit .text-image h3:after { margin: auto; border: 9px solid transparent; display: block; position: absolute; right: 0; bottom: -18px; left: 0; height: 0; width: 0; content: ""; }

body.single-mail-magazine-post #main .infinit .text-image h3:before, body.mail-magazine #main .infinit .text-image h3:before, body.tax-mail-magazine-cat #main .infinit .text-image h3:before { border-top: 9px solid #d4d4d4; }

body.single-mail-magazine-post #main .infinit .text-image h3:after, body.mail-magazine #main .infinit .text-image h3:after, body.tax-mail-magazine-cat #main .infinit .text-image h3:after { bottom: -17px; border-top: 9px solid #fafafa; }

body.single-mail-magazine-post #main .infinit .infinit-cont, body.mail-magazine #main .infinit .infinit-cont, body.tax-mail-magazine-cat #main .infinit .infinit-cont { margin-bottom: 60px; }

body.single-mail-magazine-post #main .infinit #infscr-loading, body.mail-magazine #main .infinit #infscr-loading, body.tax-mail-magazine-cat #main .infinit #infscr-loading { position: absolute; margin: auto; display: block; position: absolute; right: 0; bottom: 0; left: 0; }

body.single-mail-magazine-post #main .infinit #infscr-loading img, body.mail-magazine #main .infinit #infscr-loading img, body.tax-mail-magazine-cat #main .infinit #infscr-loading img { position: relative; top: 40px; }

body.single-mail-magazine-post #main #more, body.mail-magazine #main #more, body.tax-mail-magazine-cat #main #more { margin: 0 auto; padding: 20px 0; border: 4px solid #000; display: block; position: relative; bottom: -10px; width: 100%; max-width: 380px; text-align: center; font-weight: bold; }

body.single-mail-magazine-post #main #more:hover, body.mail-magazine #main #more:hover, body.tax-mail-magazine-cat #main #more:hover { cursor: pointer; opacity: 0.6; }

body.single-mail-magazine-post #main #more:before, body.single-mail-magazine-post #main #more:after, body.mail-magazine #main #more:before, body.mail-magazine #main #more:after, body.tax-mail-magazine-cat #main #more:before, body.tax-mail-magazine-cat #main #more:after { margin: auto; display: block; position: absolute; top: 0; right: 20px; bottom: 0; height: 4px; width: 18px; background: #d70c19; content: ""; }

body.single-mail-magazine-post #main #more:after, body.mail-magazine #main #more:after, body.tax-mail-magazine-cat #main #more:after { transform: rotate(90deg); }

body.single-mail-magazine-post #bnr-area, body.mail-magazine #bnr-area, body.tax-mail-magazine-cat #bnr-area { padding: 55px 0 35px; background-color: #f7f7f7; }

body.single-mail-magazine-post #bnr-area ul, body.mail-magazine #bnr-area ul, body.tax-mail-magazine-cat #bnr-area ul { margin: auto; width: 1100px; max-width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }

body.single-mail-magazine-post #bnr-area ul li, body.mail-magazine #bnr-area ul li, body.tax-mail-magazine-cat #bnr-area ul li { padding: 0 5px; margin-bottom: 10px; width: 25%; box-sizing: border-box; }

body.single-mail-magazine-post #bnr-area ul li a, body.single-mail-magazine-post #bnr-area ul li img, body.mail-magazine #bnr-area ul li a, body.mail-magazine #bnr-area ul li img, body.tax-mail-magazine-cat #bnr-area ul li a, body.tax-mail-magazine-cat #bnr-area ul li img { display: block; }

body.single-mail-magazine-post #bnr-area ul li:first-child, body.mail-magazine #bnr-area ul li:first-child, body.tax-mail-magazine-cat #bnr-area ul li:first-child { width: 50%; }

body.single-mail-magazine-post #bnr-area ul li img, body.mail-magazine #bnr-area ul li img, body.tax-mail-magazine-cat #bnr-area ul li img { max-width: 100%; height: auto; }

body.page-template-point_members.page { /*background: url(../../data/sp.jpg) center -8% no-repeat; opacity: 0.6; background-size: 100% auto;*/ }

body.page-template-point_members.page #point_members-kv { padding: 110px 0 63px; border-bottom: solid 1px #eaeaea; box-shadow: inset 0px 10px 5px -5px rgba(0, 0, 0, 0.1); background-position: center bottom; background-repeat: no-repeat; background-image: url(../../data/images/collaboration/kv-bgi.png); background-size: cover; text-align: center; overflow: hidden; }

body.page-template-point_members.page #point_members-kv h2 { position: relative; line-height: 1; font-size: 38px; font-weight: bold; font-feature-settings: 'palt'; letter-spacing: .075em; }

body.page-template-point_members.page #point_members-kv h2 span { margin: auto; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; height: 2em; }

body.page-template-point_members.page #point_members-kv h2 img { vertical-align: bottom; }

body.page-template-point_members.page #contents { margin: auto; float: none; width: 100%; font-size: 18px; color: #000; }

body.page-template-point_members.page #main { margin: auto; padding: 0 0 50px; width: 970px; max-width: 95%; }

body.page-template-point_members.page #main span { position: relative; z-index: 1; font-size: 22px; font-weight: bold; }

body.page-template-point_members.page #main .red, body.page-template-point_members.page #main .blue, body.page-template-point_members.page #main .black { position: relative; background-size: auto 100%; color: #fff; }

body.page-template-point_members.page #main .red:before, body.page-template-point_members.page #main .blue:before, body.page-template-point_members.page #main .black:before { margin: auto; display: block; border: 10px solid transparent; position: absolute; right: 0; bottom: -20px; left: 0; height: 0; width: 0; }

body.page-template-point_members.page #main .red { background-image: url("../../data/images/point_members/bgi-red.png"); }

body.page-template-point_members.page #main .red + .wrap .cont1 { border-color: #fc5f5f; }

body.page-template-point_members.page #main .red + .wrap .cont1 + .cont2 .wrap div:first-child { border-color: #fc5f5f; }

body.page-template-point_members.page #main .red:before { border-top-color: #fc5f5f; }

body.page-template-point_members.page #main .blue { background-image: url("../../data/images/point_members/bgi-blue.png"); }

body.page-template-point_members.page #main .blue + .wrap .cont1 { border-color: #4b85d4; }

body.page-template-point_members.page #main .blue + .wrap .cont1 + .cont2 .wrap div:first-child { border-color: #4b85d4; }

body.page-template-point_members.page #main .blue:before { border-top-color: #4b85d4; }

body.page-template-point_members.page #main .black { background-image: url("../../data/images/point_members/bgi-black.png"); }

body.page-template-point_members.page #main .black + .wrap .cont1 { border-color: #262626; }

body.page-template-point_members.page #main .black + .wrap .cont1 + .cont2 .wrap div:first-child { border-color: #262626; }

body.page-template-point_members.page #main .black:before { border-top-color: #262626; }

body.page-template-point_members.page #main #section-nav, body.page-template-point_members.page #main section { margin-top: 50px; }

body.page-template-point_members.page #main .comments { margin-top: 15px; font-size: 12px; }

body.page-template-point_members.page #main .comments:before { display: block; float: left; content: "※"; }

body.page-template-point_members.page #main section { border-radius: 10px; overflow: hidden; background: #f5f5f5; }

body.page-template-point_members.page #main section > .wrap { padding: 0 40px; }

body.page-template-point_members.page #main h4 { padding: 25px 0; text-align: center; font-weight: normal; }

body.page-template-point_members.page #main h4 span { font-size: 30px; display: block; font-weight: bold; }

body.page-template-point_members.page #main .cont1 { border-bottom: 1px solid; position: relative; display: flex; align-items: center; flex-direction: row-reverse; justify-content: flex-end; }

body.page-template-point_members.page #main .cont1 ul { padding: 40px 30px; position: relative; z-index: 1; width: 430px; background: #fff; font-weight: bold; border-radius: 10px; box-sizing: border-box; }

body.page-template-point_members.page #main .cont1 li { margin-top: 40px; display: flex; align-items: center; line-height: 1.2; }

body.page-template-point_members.page #main .cont1 li span { font-size: 20px; }

body.page-template-point_members.page #main .cont1 li:first-child { margin-top: 0; }

body.page-template-point_members.page #main .cont1 li:before { margin-right: 40px; line-height: 0; }

body.page-template-point_members.page #main .cont1 li.members:before { content: url(../../data/images/point_members/ico-members.png); }

body.page-template-point_members.page #main .cont1 li.coupon:before { content: url(../../data/images/point_members/ico-coupon.png); }

body.page-template-point_members.page #main .cont1 li.campaign:before { content: url(../../data/images/point_members/ico-campaign.png); }

body.page-template-point_members.page #main .cont1 .illust { margin: auto; display: block; position: absolute; top: 0; right: 0; bottom: 0; }

body.page-template-point_members.page #main .cont2 { box-sizing: border-box; }

body.page-template-point_members.page #main .cont2 h4 { padding: 0; }

body.page-template-point_members.page #main .cont2 h4 span { display: inline; font-size: 22px; }

body.page-template-point_members.page #main .cont2 .wrap { display: flex; justify-content: space-between; }

body.page-template-point_members.page #main .cont2 .wrap > div { padding: 0 35px; justify-content: space-around; }

body.page-template-point_members.page #main .cont2 .wrap > div:first-child { border-right: 1px dashed; }

body.page-template-point_members.page #main .header { padding: 60px 0; border-bottom: 3px solid #dddddd; }

body.page-template-point_members.page #main .heading1 { text-align: center; font-size: 24px; }

body.page-template-point_members.page #main .point-members-main-title { padding: 25px 0 20px; text-align: center; font-weight: normal; }

body.page-template-point_members.page #main .point-members-main-title-heading { padding: 0; font-size: 30px; display: block; font-weight: bold; }

body.page-template-point_members.page #main .point-members-main-title-span { font-size: inherit; font-weight: normal; }

body.page-template-point_members.page #main .point-members-main-title-annotation { padding: 15px 20px 0; text-align: left; font-size: 14px; }

body.page-template-point_members.page #section-nav { display: flex; justify-content: space-between; }

body.page-template-point_members.page #section-nav span { display: block; font-size: 30px; }

body.page-template-point_members.page #section-nav li { position: relative; width: 290px; box-sizing: border-box; border-radius: 10px; box-shadow: 0 0 5px #aaa; }

body.page-template-point_members.page #section-nav li:before { content: ""; }

body.page-template-point_members.page #section-nav li:after { position: absolute; right: 0; bottom: 0; width: auto; max-height: 100%; line-height: 0; background-repeat: no-repeat; background-size: contain; content: ""; }

body.page-template-point_members.page #section-nav li.app:after { margin-right: -10px; background-image: url("../../data/images/point_members/img-nav-app-illust.png"); height: 121px; width: 90px; }

body.page-template-point_members.page #section-nav li.mail:after { background-image: url("../../data/images/point_members/img-nav-mail-illust.png"); background-position: 19px 2px; height: 136px; width: 181px; }

body.page-template-point_members.page #section-nav li.corp:after { padding-right: 5px; background-image: url("../../data/images/point_members/img-nav-corp-illust.png"); background-position: 0 5px; height: 140px; width: 99px; }

body.page-template-point_members.page #section-nav li a { padding: 30px; display: block; color: #fff; text-decoration: none; position: relative; z-index: 1; }

body.page-template-point_members.page #section-nav li a:hover { opacity: 0.8; }

body.page-template-point_members.page #section-app .img-search { margin: 25px auto 30px; display: block; }

body.page-template-point_members.page #section-app .cont1, body.page-template-point_members.page #section-app .cont2 { padding: 40px 0; }

body.page-template-point_members.page #section-app .cont1 ul span { color: #ff7b7b; }

body.page-template-point_members.page #section-app .cont1 .officialapp { margin: 0 50px; }

body.page-template-point_members.page #section-app .cont2 h4 { padding: 0; }

body.page-template-point_members.page #section-app .cont2 .btn { margin-top: 35px; display: inline-block; }

body.page-template-point_members.page #section-app .cont2 .btn img { width: 135px; }

body.page-template-point_members.page #section-app .qr-wrap { display: flex; justify-content: center; font-size: 14px; width: 50%; }

body.page-template-point_members.page #section-app .qr-wrap .desc { font-weight: bold; }

body.page-template-point_members.page #section-mail .cont1 { padding: 50px 0 25px; }

body.page-template-point_members.page #section-mail .cont1 ul { background-color: rgba(255, 255, 255, 0.8); }

body.page-template-point_members.page #section-mail .cont1 ul span { color: #4c86d5; }

body.page-template-point_members.page #section-mail .cont1 .ss { margin: 0 25px 0 0; width: 200px; box-shadow: 0px 0px 20px #ccc; }

body.page-template-point_members.page #section-mail .cont2 { padding: 30px 0 50px; text-align: center; }

body.page-template-point_members.page #section-mail .cont2 h4 { margin-bottom: 10px; }

body.page-template-point_members.page #section-corp .cont1 { padding: 50px 0 70px; align-items: flex-end; }

body.page-template-point_members.page #section-corp .cont1 ul { background-color: rgba(255, 255, 255, 0.8); }

body.page-template-point_members.page #section-corp .cont1 ul span { color: #fe8712; }

body.page-template-point_members.page #section-corp .cont1 .left { margin-right: 30px; }

body.page-template-point_members.page #section-corp .cont2 { padding: 30px 0 40px; text-align: center; }

body.page-template-point_members.page #section-corp .cont2 h4 { font-size: 24px; }

body.page-template-point_members.page #section-corp .cont2 h4 span { font-size: 30px; color: #d60000; }

body.page-template-point_members.page #section-corp .cont2 .btn { margin-top: 10px; display: inline-block; }

body.page-template-point_members.page #section-use { background: #e6e6e6; }

body.page-template-point_members.page #section-use p { margin-bottom: 30px; font-weight: bold; }

body.page-template-point_members.page #section-use h4 { margin-bottom: 30px; padding: 1em 0; position: relative; background: #d70c19; color: #fff; text-align: center; font-size: 18px; border-radius: 10px; }

body.page-template-point_members.page #section-use h4:after { margin: auto; display: block; border: solid 10px transparent; border-top: solid 10px #d70c19; position: absolute; right: 0; bottom: -20px; left: 0; width: 0; content: ""; }

body.page-template-point_members.page #section-use .wrap { display: flex; justify-content: space-between; margin: auto; padding: 80px 0; width: 970px; max-width: 95%; }

body.page-template-point_members.page #bnr-area { padding: 55px 0 35px; background-color: #f7f7f7; }

body.page-template-point_members.page #bnr-area ul { margin: auto; width: 1100px; max-width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }

body.page-template-point_members.page #bnr-area ul li { padding: 0 5px; margin-bottom: 10px; width: 25%; box-sizing: border-box; }

body.page-template-point_members.page #bnr-area ul li a, body.page-template-point_members.page #bnr-area ul li img { display: block; }

body.page-template-point_members.page #bnr-area ul li:first-child { width: 50%; }

body.page-template-point_members.page #bnr-area ul li img { max-width: 100%; height: auto; }

body.page-template-max-go-detail #main { width: 100%; }

body.page-template-max-go-detail #contents { margin: 0 auto; float: none; width: 1100px; }

body.page-template-max-go-detail .bg { background-image: url("../../data/max-go-detail/bg.png"); background-position: top center; background-repeat: no-repeat; }

body.page-template-max-go-detail .max-go-detail-wrap { margin: auto; }

body.page-template-utage2019 { min-width: 1366px; }

body.page-template-utage2019 header #headerNavBackground nav .wrap.slidein { min-width: 1366px; }

body.page-template-utage2019 #main { margin-top: 0 !important; margin-bottom: 0; width: 100%; }

body.page-template-utage2019 #main img { display: block; margin: auto; }

body.page-template-utage2019 #main .detail-wrap { margin: auto; padding: 20px 0; width: 1016px; max-width: 100%; background: #f6f6f6; font-size: 18px; font-weight: bold; display: flex; justify-content: center; align-items: center; }

body.page-template-utage2019 #main .detail-wrap .btn { margin-left: 15px; display: inline-block; }

body.page-template-utage2019 #main .reserve-wrap { margin: auto; padding: 40px 0; max-width: 100%; width: 1366px; background: #eee; display: flex; justify-content: center; align-items: center; }

body.page-template-utage2019 #main ul.text { margin: 25px auto; width: 945px; max-width: 90%; font-size: 22px; }

body.page-template-utage2019 #main ul.text span { font-size: 18px; }

body.page-template-utage2019 #main .bnr { padding: 55px 0 35px; background-color: #f7f7f7; }

body.page-template-utage2019 #main .bnr ul { margin: auto; width: 1100px; max-width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }

body.page-template-utage2019 #main .bnr ul li { padding: 0 5px; margin-bottom: 10px; width: 25%; box-sizing: border-box; }

body.page-template-utage2019 #main .bnr ul li a, body.page-template-utage2019 #main .bnr ul li img { display: block; }

body.page-template-utage2019 #main .bnr ul li:first-child { width: 50%; }

body.page-template-utage2019 #main .bnr ul li img { max-width: 100%; height: auto; }

body.single.single.dualprojector-room.campaign #contents > section { margin-bottom: 0; }

body.single.single.dualprojector-room.campaign #main .shopList { margin: 0 0 60px; }

body.single.single.dualprojector-room.campaign #main .shopList > h1 { margin-bottom: 15px; padding: 0 15px; display: flex; justify-content: space-between; align-items: center; height: 28px; width: 670px; max-width: 100%; background: #ddd; text-align: left; box-sizing: border-box; }

body.single.single.dualprojector-room.campaign #main .shopList > h1:before, body.single.single.dualprojector-room.campaign #main .shopList > h1:after { content: none; }

body.single.single.dualprojector-room.campaign #main .shopList > h1 span { font-size: 14px; font-family: "Muli", sans-serif; font-weight: normal; letter-spacing: 0.1em; color: #999; }

body.single.single.dualprojector-room.campaign #main .shopList > h1 span:first-child { font-size: 15px; font-family: "Hiragino Kaku Gothic Pro", Meiryo, sans-serif; color: #555; }

.sp-visible, .se-visible { display: none; }
