@charset "UTF-8";

/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*
/*Grobal selectors*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
progress,sub,sup{vertical-align:baseline}html{box-sizing:border-box;overflow-y:scroll;-webkit-text-size-adjust:100%}*,::after,::before{box-sizing:inherit}::after,::before{text-decoration:inherit;vertical-align:inherit}*{background-repeat:no-repeat;padding:0;margin:0}audio:not([controls]){display:none;height:0}button,hr{overflow:visible}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}ol,ul{list-style:none}summary{display:list-item}small{font-size:80%}[hidden],template{display:none}abbr[title]{border-bottom:1px dotted;text-decoration:none}a{background-color:transparent;-webkit-text-decoration-skip:objects;-webkit-tap-highlight-color:transparent}a:active,a:hover{outline-width:0;text-decoration:none}code,kbd,pre,samp{font-family:monospace,monospace}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}input{border-radius:0}[aria-controls],[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[aria-disabled],[disabled]{cursor:default}[type=number]{width:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:0;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:ButtonText dotted 1px}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,select{text-transform:none}button,input,select,textarea{background-color:transparent;border-style:none;color:inherit}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}img{border-style:none}svg:not(:root){overflow:hidden}audio,canvas,progress,video{display:inline-block}@media screen{[hidden~=screen]{display:inherit}[hidden~=screen]:not(:active):not(:focus):not(:target){position:absolute!important;clip:rect(0 0 0 0)!important}}[aria-busy=true]{cursor:progress}::-moz-selection{background-color:#b3d4fc;color:#000;text-shadow:none}::selection{background-color:#b3d4fc;color:#000;text-shadow:none}


/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*
/*Fonts*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
@font-face {
    font-family: "$Helvetica";
    src: url("fonts/HelveticaNeueLTPro-Roman.woff") format("woff"), url("fonts/HelveticaNeueLTPro-Roman.ttf") format("truetype");
}
@font-face {
    font-family: "$HelveticaThn";
    src: url("fonts/HelveticaThn.woff") format("woff"), url("fonts/HelveticaThn.ttf") format("truetype"), url("fonts/HelveticaThn.eot") format("embedded-opentype");
}
@font-face {
    font-family: 'icon-3rdplace';
    src: url("icon-fonts/icon-3rdplace.eot");
    src: url("icon-fonts/icon-3rdplace.eot") format("embedded-opentype"), url("icon-fonts/icon-3rdplace.ttf?svcfjs") format("truetype"), url("icon-fonts/icon-3rdplace.woff") format("woff"), url("icon-fonts/icon-3rdplace.svg?svcfjs") format("svg");
    font-weight: normal;
    font-style: normal;
}


/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
/*Icon-fonts*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
i {
    font-family: 'icon-3rdplace'!important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
[class^="icon-"]:before, [class*="icon-"]:before {
    font-family: "icon-3rdplace";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: .2em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-left: .2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-bullhorn:before {content: "\e900";}
.icon-restaurant:before {content: "\e56c";}
.icon-open:before {content: "\e89e";}
.icon-sitemap:before {content: "\e906";}
.icon-girls-party:before {content: "\e907";}
.icon-bling:before {content: "\e908";}
.icon-access:before {content: "\e909";}
.icon-mobile:before {content: "\e90a";}
.icon-icon:before {content: "\e90b";}
.icon-multipurpose:before {content: "\e90c";}
.icon-pdf:before {content: "\e90d";}
.icon-key:before {content: "\e918";}
.icon-art:before {content: "\e919";}
.icon-price:before {content: "\e91a";}
.icon-home:before {content: "\e91b";}
.icon-standard:before {content: "\e91c";}
.icon-deluxe:before {content: "\e91d";}
.icon-brandstory:before {content: "\e91f";}
.icon-executive:before {content: "\e921";}
.icon-facility:before {content: "\e922";}
.icon-qa:before {content: "\e923";}
.icon-rule:before {content: "\e924";}
.icon-phone:before {content: "\e942";}
.icon-google-plus:before {content: "\ea8b";}
.icon-facebook:before {content: "\ea90";}
.icon-instagram:before {content: "\ea92";}
.icon-twitter:before {content: "\ea96";}
.icon-contact:before {content: "\f0e0";}

/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*
/*Common style*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/

/*body fadein animation*/
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
/*--------------------*/

html, body {
    width: 100%;
    height: 100%;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
body {
    position: relative;
    margin: 0;
    padding: 0;
    color: #171717;
    font-size: 16px;
    line-height: 1.8;
    font-weight: 500;

    -webkit-animation: fadeIn 2.5s ease 0s 1 normal;
    animation: fadeIn 2.5s ease 0s 1 normal;
}
a.anchor{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}
.anchor{
    display: block;
    padding-top: 135px;
    margin-top: -135px;
}
/*h1テキスト*/
.cm-h1 {
    width: 100%;
    padding: 2px 5px;
    background-color: #000000;
    color: #ffffff;
    font-size: 11px;
    font-weight: 400;
    text-align: right;
    z-index: 999;
}

/*header*/
.cm-header {
    position: fixed;
    z-index: 999;
    width: 100%;
}
.cm-header .spcm-header-menu {
    display: none;
}
.cm-header .cm-header-menu {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    background-color:#00754ade;
}

.cm-header .cm-header-menu a {
    color: #ffffff;
}
.cm-header .cm-header-menu .header-logo {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}
.cm-header .cm-header-menu .header-logo img {
    width: 270px;
    margin: 0 100px 0 43px;
}
.cm-header .cm-header-menu .header-nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 9;
    -webkit-flex: 9;
    -ms-flex: 9;
    flex: 9;
}

.cm-header .cm-header-menu .header-nav ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 7;
    -webkit-flex: 7;
    -ms-flex: 7;
    flex: 7;
    height: 100%;
}
.cm-header .cm-header-menu .header-nav ul li {
    width: 16.6%;
    max-width: 130px;
}
.cm-header .cm-header-menu .header-nav ul li a {
    display: block;
    height: 100%;
    padding: 22px 0 20px 0;
    text-align: center;
    text-decoration: none;
    -webkit-transition: 0.5s;
    transition: 0.5s;
}
.cm-header .cm-header-menu .header-nav ul li a span {
    display: block;
    font-size: 11px;
}
.cm-header .cm-header-menu .header-nav ul li a:hover, .cm-header .cm-header-menu .header-nav ul li a.current {
    background: rgba(255, 255, 255, 0.2);
}

.cm-header .cm-header-menu .cf-link {
    -webkit-box-flex: 3;
    -webkit-flex: 3;
    -ms-flex: 3;
    flex: 3;
    padding: 0 15px 0 20px;
    text-align: right;
}
.cm-header .cm-header-menu .cf-link a {
    display: inline-block;
    background-size: cover;
    text-decoration: none;
    width: 100%;
    max-width: 280px;
    padding: 5px 10px;
    border: 1px solid #ffffff;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.cf-link .shop-name {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.cf-link .shop-name span {
    font-size: 15px;
}
.cm-header .cm-header-menu .cf-link a:hover {
    background-color: rgba(255, 255, 255, 0.3);
}
.cm-header .cm-header-menu .cf-link img {
    height: 15px;
    padding: 0 0 0 15px;
}

.main {
    position: relative;
    overflow-x: hidden;
    background: #ffffff;
}
.main-contents {
    position: relative;
    display: block;
    z-index: 10;
}

.bg_border {
    position: absolute;
    width: 53%;
    height: 100%;
    z-index: 0;
    right: 0;
    background: #ffffff;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff', GradientType=1);
}

.cm-section {
    max-width: 1000px;
    margin: 0 auto 150px auto;
    box-sizing: border-box;
}

.cm-section .cm-section-message {
    margin-bottom: 40px;
}
.cm-section .cm-section-message h4 {
    font-size: 24px;
    margin-bottom: 20px;
}

/*scroll fadein*/
.inview-obj {
    opacity: 0;
    -webkit-transform: translate3d(0, 60px, 0);
    transform: translate3d(0, 60px, 0);
    -webkit-transition: 0.8s;
    transition: 0.8s;
}
.ipad .inview-obj, .iphone5 .inview-obj {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: 0s;
    transition: 0s;
}
.js-inview {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.js-fadeup {
    opacity: 0;
    -o-transform: translate3d(0, 60px, 0);
    -moz-transform: translate3d(0, 60px, 0);
    -webkit-transform: translate3d(0, 60px, 0);
    -ms-transform: translate3d(0, 60px, 0);
    transform: translate3d(0, 60px, 0);
    -o-transition: 1s;
    -moz-transition: 1s;
    -ms-transition: 1s;
    -webkit-transition: 1s;
    transition: 1s;
}
.js-fadeup-motion {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.footer-nav {
    position: relative;
    background: #555555;
    z-index: 5;
    color: #ffffff;
    font-size: 14px;
}
.footer-nav ul {
    padding: 30px;
    text-align: center;
}
.footer-nav ul li {
    display: inline-block;
    margin-right: 20px;
}
.footer-nav ul li:after {
    margin-left: 20px;
    content: '・';
}
.footer-nav ul li:last-of-type {
    margin-right: 0;
}
.footer-nav ul li:last-of-type:after {
    display: none;
}
.footer-nav ul li a {
    color: #ffffff;
    text-decoration: none;
}
.footer-nav ul li a:hover {
    text-decoration: underline;
}

.cm-footer {
    position: relative;
    padding: 0 40px 20px 40px;
    background-color: #333;
    color: #ffffff;
    z-index: 10;
}
.cm-footer p {
    font-size: 15px;
    line-height: 1.6;
}
.cm-footer .pagetop {
    position: absolute;
    top: -32px;
    right: 40px;
    padding: 5px 10px;
    background: #333;
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
    cursor: pointer;
    z-index: 10;
}
.cm-footer .pagetop span {
    display: inline-block;
    -webkit-transition: .5s;
    transition: .5s;
}
.cm-footer .pagetop:hover span, .cm-footer .pagetop:active span {
    -webkit-transform: rotateX(360deg);
    transform: rotateX(360deg);
}
.cm-footer .footer-contact {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    width: 100%;
    border-bottom: 1px solid #ffffff;
    margin-bottom: 45px;
    padding: 60px 0 45px 0;
}
.cm-footer .footer-contact .left-content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}
.cm-footer .footer-contact .left-content img {
    max-width: 230px;
    margin: 0px 4px 6px 0px;
}
.cm-footer .footer-contact .left-content address {
    padding-left: 15px;
    font-style: normal;
}
.cm-footer .footer-contact .right-content {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: right;
}
.cm-footer .footer-contact .right-content a {
    width: auto;
    max-width: none;
    margin: 2%;
    padding: 5px 40px;
    border: 1px solid #ffffff;
    color: #ffffff;
    font-size: 16px;
}
.cm-footer .footer-contact .right-content a:last-of-type {
    margin-bottom: 0;
}
.cm-footer .footer-contact .right-content a span {
    border-color: #ffffff;
}
.cm-footer .footer-message {
    margin-bottom: 45px;
    color: #999;
}
.cm-footer .footer-message * {
    font-size: 14px;
    font-weight: 500;
}

.cm-footer .copyright {
    text-align: center;
}
.cm-footer .copyright a {
    color: #ffffff;
}
#top #recruit .recruit .recruit-box .link a {
    background: #036242!important;
}


/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
/*fix-tabs*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
.fix-tabs {
    position: fixed;
    top: 25%;
    right: 0;
    z-index: 100;
}

/*sns-window*/
.sns-window {
    display: table;
    margin-bottom: 10px;
}
.sns-window-tab {
    display: table-cell;
    vertical-align: middle;
    width: 44px;
    height: 100%;
    padding: 10px;
    background-color: #305eba;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    color: #ffffff;
    text-align: center;
    line-height: 1;
    cursor: pointer;
}
.sns-window-tab img {
    width: 100%;
    height: auto;
}
.sns-window-content {
    box-sizing: border-box;
    width: 260px;
    padding: 10px;
    border: 5px solid #305eba;
    background-color: rgba(255, 255, 255, 0.8);
    text-align: center;
}
.sns-window-content a {
    text-decoration: none;
}
.sns-window-content ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 35px;
    line-height: 1;
}
.sns-window-content ul li {
    margin-right: 1%;
    margin-left: 1%;
}
.sns-window-content img {
    width: 1.2em;
    height: 1.2em;
}
.sns-window-content .sns-instagram {
    margin-right: 20px;
}

/*reserve-window*/
.reserve-window {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.reserve-window .reserve-window-tab {
    width: 44px;
    height: 100%;
    padding: 10px;
    background-color: #171717;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    color: #ffffff;
    font-size: 17px;
    text-align: center;
    line-height: 1.2;
    cursor: pointer;
}
.reserve-window .reserve-window-tab i {
    display: block;
    margin-bottom: 7px;
}
.reserve-window .reserve-window-content {
    box-sizing: border-box;
    width: 260px;
    padding: 20px;
    border: 5px solid #171717;
    border-bottom-left-radius: 5px;
    background-color: rgba(255, 255, 255, 0.8);
    text-align: center;
}
.reserve-window .reserve-window-content h1 {
    padding-bottom: 5px;
    font-size: 30px;
    line-height: 1;
}
.reserve-window .reserve-window-content h1 span {
    display: block;
    font-size: 14px;
    font-weight: normal;
}
.reserve-window .reserve-window-content .reserve-phone {
    margin-bottom: 20px;
    text-align: center;
    border: 1px solid #171717;
    background: #f5f5db;
}
.reserve-window .reserve-window-content .reserve-phone p {
    font-size: 26px;
    font-weight: bold;
}
.reserve-window .reserve-window-content .reserve-phone p:first-of-type {
    padding-top: 10px;
    font-size: 14px;
    font-weight: normal;
}
.reserve-window .reserve-window-content .to-contact {
    position: relative;
    padding-left: 1em;
    font-size: 14px;
    text-decoration: underline;
}
.reserve-window .reserve-window-content .to-contact:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 8.7px;
    border-color: transparent transparent transparent #171717;
    content: '';
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.reserve-window .reserve-window-content .to-contact:hover {
    text-decoration: none;
}


/*旧reserve-window*/
/* .reserve-window {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    top: 40%;
    right: 0;
    z-index: 100;
}
.reserve-window .reserve-window-tab {
    width: 44px;
    height: 100%;
    padding: 10px;
    background-color: #171717;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    color: #ffffff;
    font-size: 17px;
    text-align: center;
    line-height: 1.2;
    cursor: pointer;
}
.reserve-window .reserve-window-tab i {
    display: block;
    margin-bottom: 7px;
}
.reserve-window .reserve-window-content {
    box-sizing: border-box;
    width: 260px;
    padding: 20px;
    border: 5px solid #171717;
    border-bottom-left-radius: 5px;
    background-color: rgba(255, 255, 255, 0.8);
    text-align: center;
}
.reserve-window .reserve-window-content h1 {
    padding-bottom: 5px;
    font-size: 30px;
    line-height: 1;
}
.reserve-window .reserve-window-content h1 span {
    display: block;
    font-size: 14px;
    font-weight: normal;
}
.reserve-window .reserve-window-content .reserve-phone {
    margin-bottom: 20px;
    text-align: center;
    border: 1px solid #171717;
    background: #f5f5db;
}
.reserve-window .reserve-window-content .reserve-phone p {
    font-size: 26px;
    font-weight: bold;
}
.reserve-window .reserve-window-content .reserve-phone p:first-of-type {
    padding-top: 10px;
    font-size: 14px;
    font-weight: normal;
}
.reserve-window .reserve-window-content .to-contact {
    position: relative;
    padding-left: 1em;
    font-size: 14px;
    text-decoration: underline;
}
.reserve-window .reserve-window-content .to-contact:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 8.7px;
    border-color: transparent transparent transparent #171717;
    content: '';
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
.reserve-window .reserve-window-content .to-contact:hover {
    text-decoration: none;
} */


.show {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition-duration: 1s;
    transition-duration: 1s;
}

.hide {
    -webkit-transform: translate3d(260px, 0, 0);
    transform: translate3d(260px, 0, 0);
    -webkit-transition-duration: 1s;
    transition-duration: 1s;
}

.icon-h3 {
    margin-right: 0.5em;
}
.icon-h3:before {
    height: 1.0em;
    content: '';
    background: #939393;
    background: -webkit-linear-gradient(left, #939393 0%, #939393 45%, #ffffff 47%, #ffffff 54%, #939393 57%, #939393 77%, #ffffff 80%, #ffffff 88%, #939393 90%);
    background: linear-gradient(to right, #939393 0%, #939393 45%, #ffffff 47%, #ffffff 54%, #939393 57%, #939393 77%, #ffffff 80%, #ffffff 88%, #939393 90%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#939393', endColorstr='#939393', GradientType=1);
}


/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*
/*Type-list*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
.cm-type-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.cm-type-list li {
    width: 33.3%;
    margin-right: 10px;
    background-color: #ffffff;
    border: 1px solid #171717;
}
.cm-type-list li:last-of-type {
    margin-right: 0;
}
.cm-type-list li a {
    display: block;
    color: #171717;
    text-decoration: none;
}
.cm-type-list li a dl {
    position: relative;
}
.cm-type-list li a dl:after {
    position: absolute;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -10px;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #171717 transparent transparent transparent;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px);
    content: '';
}
.cm-type-list li a dl dt {
    padding: 10px;
    background: #171717;
    color: #ffffff;
    text-align: center;
}
.cm-type-list li a dl dd {
    padding: 20px 10px 10px 10px;
    text-align: center;
    transition: all 0.3s;
}
.cm-type-list li a:hover dl dd, .cm-type-list li a:active dl dd {
    background-color: #171717;
}
.cm-type-list li a:hover dl dd span, .cm-type-list li a:active dl dd span {
    color: #fff;
}
.cm-type-list li a dl dd img {
    position: relative;
    display: block;
    width: 100%;
    z-index: 2;
}
.cm-type-list li a dl dd span {
    display: block;
    padding-top: 0.5em;
    font-weight: 700;
    vertical-align: middle;
}
.cm-type-list li a:hover dl:after, .cm-type-list li a:active dl:after {
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
}

.cm-type-list.noarrow {
    margin-bottom: 0;
}
.cm-type-list.noarrow li a dl:after {
    display: none;
}

.cm-subsection {
    position: relative;
    margin-top: -100px;
    padding-top: 100px;
    margin-bottom: 100px;
    padding-bottom: 100px;
}
.cm-subsection:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    content: '';
    width: 100vw;
    margin-left: -50vw;
    border-bottom: 1px solid #bbbbbb;
}
.cm-subsection:last-of-type {
    padding-bottom: 0;
}
.cm-subsection:last-of-type:after {
    display: none;
}
.cm-subsection.no-hr {
    padding-bottom: 0;
}
.cm-subsection.no-hr:after {
    display: none;
}

.cm-link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.cm-link .linkbtn:nth-of-type(2) {
    margin-left: 30px;
}
.anticoronavirus .cm-link {
    margin-top: 20px;
}
.anticoronavirus .cm-link .linkbtn {
    width: 100% !important;
    font-size: 16px !important;
    background: #171717;
    color: #fff;
}
.anticoronavirus .cm-link .linkbtn:hover {
    background: #fff;
    color: #171717;
}
.anticoronavirus .cm-link .linkbtn span {
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
.anticoronavirus .cm-link .linkbtn:hover span,
.anticoronavirus .cm-link .linkbtn:active span {
    border-color: #171717;
}

.linkbtn {
    display: inline-block;
    position: relative;
    min-width: 300px;
    padding: 6px 2em 6px 1em;
    border: 1px solid #171717;
    color: #171717;
    font-size: 20px;
    text-align: center;
    text-decoration: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    margin: 20px;
}
.linkbtn span {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 1em;
    width: 0.7em;
    height: 0.7em;
    margin-left: 0.5em;
    border-right: 1px solid #171717;
    border-bottom: 1px solid #171717;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    -ms-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
    -webkit-transition: 0.6s;
    transition: 0.6s;
}
.linkbtn:hover, .linkbtn:active {
    background-color: #171717;
    color: #ffffff;
}
.linkbtn:hover span, .linkbtn:active span {
    -webkit-transform: translateX(5px) translateY(-50%) rotate(-45deg);
    -ms-transform: translateX(5px) translateY(-50%) rotate(-45deg);
    transform: translateX(5px) translateY(-50%) rotate(-45deg);
    border-color: #ffffff;
}

.cm-sub-linkbtn {
    display: inline-block;
    padding: 2px 10px;
    border: 1px solid #939393;
    background-color: #939393;
    color: #ffffff;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}
.cm-sub-linkbtn:hover, .cm-sub-linkbtn:active {
    background-color: #ffffff;
    color: #999;
}

.cm-caution-list li p:before {
    content: '※';
}

.cm-map {
    border-top: 1px solid #999999;
}
.map {
    line-height: 0;
}
.map iframe {
    width: 100%;
    height: 430px;
}

.map .infowin {
    text-align: center;
}

.map .infowin p {
    margin-bottom: 10px;
}


/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
/*Breadcrumns*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
.cm-breadcrumbs {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding: 10px 30px;
    background: #fff url(../../img/common/bg_breadcrumbs.png);
}
.cm-breadcrumbs * {
    color: #ffffff;
    font-size: 14px;
}

.cm-breadcrumbs li {
    margin-right: 10px;
}
.cm-breadcrumbs li:after {
    margin-left: 10px;
    content: '>';
}
.cm-breadcrumbs li:last-of-type {
    margin-right: 0;
}
.cm-breadcrumbs li:last-of-type:after {
    display: none;
}

.cm-breadcrumbs a {
    text-decoration: none;
}
.cm-breadcrumbs a:hover, .cm-breadcrumbs a:active {
    text-decoration: underline;
}

/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
/*glimpse*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
.glimpse {
    position: relative;
    max-width: 100%;
    height: 500px;
    -webkit-transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    color: #ffffff;
    overflow: hidden;
}
.back-layer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 110vh;
}
.back-layer:after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    background: rgba(0, 0, 0, 0.3);
}
.back-layer img {
    position: absolute;
    min-width: 100%;
    min-height: 100vh;
    height: auto;
    -webkit-overflow-scrolling: touch;
}

.mdn_touchevents .js-glimpse-img {
    display: none;
}
.mdn_touchevents .js-glimpse {
    height: 100%;
}
.ipad .back-layer, .ie .back-layer {
    width: 100%;
    height: 100%;
}
.iphone5 .back-layer {
    width: 100%;
    height: 100%;
}
/* .ipad .back-layer img {
    width: 100%;
    height: auto;
} */
.iphone5 .back-layer img {
    top: 50%;
    height: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.ie .back-layer img {
    top: 50%;
    left: 0;
    height: auto;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
/*下層ページ共通*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
.cm-head {
    position: relative;
    width: 100%;
    height: 400px;
    overflow: hidden;
}

.cm-h2 {
    margin-bottom: 70px;
    text-align: center;
    font-family: "Times New Roman";
    font-size: 34px;
    font-weight: normal;
}
.cm-h2 span {
    display: block;
    font-size: 16px;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: normal;
}

.cm-h3 {
    position: relative;
    margin-bottom: 50px;
    border-bottom: 1px solid #939393;
    font-size: 28px;
    font-weight: 500;
}
.cm-h3 span{
    font-size: 18px;
}

.underlayer .main-contents {
    padding-top: 100px;
}

.cm-floor-content {
    margin-bottom: 50px;
}
.cm-floor-content h4 {
    margin-bottom: 60px;
    border-bottom: 1px solid #171717;
}
.cm-floor-content h4 span {
    display: inline-block;
    padding: 0 40px;
    background: #171717;
    color: #ffffff;
    font-size: 34px;
}

.cm-floor-content figure {
    text-align: right;
}
.cm-floor-content figure a {
    display: inline-block;
    padding: 2px 10px;
    border: 1px solid #999999;
    background-color: #999999;
    color: #ffffff;
    text-decoration: none;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

.cm-floor-content figure a:hover,　.cm-floor-content figure a:active {
    background-color: #ffffff;
    color: #999999;
}

.cm-floor-content img {
    width: 100%;
    margin-bottom: 20px;
}

.cm-floor-description {
    padding: 20px 0;
    border-top: 1px solid #171717;
    border-bottom: 1px solid #171717;
}
.cm-floor-description li {
    display: inline-block;
    margin: 5px;
}
.cm-floor-description li i {
    padding-right: 2px;
    color: #898989;
    font-size: 1.5em;
    display: table-cell;
}
.cm-floor-description li span {
    display: table-cell;
    vertical-align: middle;
    font-size: 12px;
}

.cm-gallery {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.cm-gallery a img {
    width: 100%;
    box-sizing: border-box;
    -webkit-transition: 0.2s;
    transition: 0.2s;
}
.cm-gallery a img:hover {
    box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.8);
}

.cm-gallery figcaption {
    text-align: center;
}
.cm-gallery figcaption.hidecaption {
    display: none;
}

.pswp__caption__center {
    font-size: 16px!important;
    font-weight: 700;
    text-align: center!important;
}
.landscape {
    width: 100vmax;
    height: 100vmin;
    background: url(../img/top/slider1.jpg) no-repeat;
    background-size: cover;
    position: relative;
    z-index: 9999;
    overflow: hidden;
    display: none;
}
.landscape:after {
    content: "";
    width: 100vmax;
    height: 100vmin;
    background-color: rgba(0,0,0,.7);
    z-index: 9999;
    position: absolute;
}
.landscape.active {
    display: block;
}
.landscape-inner {
    position: absolute;
    z-index: 10000;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
}
.landscape-inner img {
    width: 16vw;
}
.landscape-inner p {
    margin-top: 15px;
    color: #fff;
    font-size: 16px;
}

.campaign {
    padding-inline-start: 0;
    margin-bottom: 0;
}
ul.campaign li.limited {
    list-style-type: none;
}
ul.campaign li.txt-ban {
    list-style-type: none;
    position: relative;
    z-index: 0;
    margin-bottom: 10px;
}
ul.campaign li.txt-ban a {
    background-color: transparent;
    margin-bottom: 0;
    text-shadow: 1px 1px 6px rgba(0,0,0,.5);
}
ul.campaign li.txt-ban:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgb(0,0,0);
    opacity: .7;
    z-index: -1;
    transition: opacity .4s;
    border-radius: 10px;
}
ul.campaign li.txt-ban:hover:before {
    opacity: .8;
}
ul.campaign li.txt-ban.bg-img_01:before {
    background-color: #CC6F13;
}
ul.campaign li.txt-ban.bg-img_02:before {
    background-color: #11509A;
}
ul.campaign li.txt-ban.bg-img_gp:before {
    background-color: #CC6F13;
    opacity: .8;
    border-radius: 0;
}
ul.campaign li.txt-ban:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url(../img/top/welcome-6.jpg);
    background-position: center;
    background-size: auto;
    z-index: -2;
    opacity: 1;
    border-radius: 10px;
}
ul.campaign li.txt-ban.bg-img_01:after {
    /*background-image: url(../img/top/welcome-6.jpg);*/
    /*background-position: center;*/
    /*background-size: auto;*/
    /*background-repeat: no-repeat;*/
}
ul.campaign li.txt-ban.bg-img_02:after {
    /*background-image: url(../img/top/welcome-5.jpg);*/
    /*background-position: center;*/
    /*background-size: cover;*/
    /*background-repeat: no-repeat;*/
}
ul.campaign li.txt-ban.bg-img_gp:after {
    border-radius: 0;
}
ul.campaign .limited a {
    display: inline-block;
    width: 100%;
    padding: 35px 50px 35px;
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    background-color: #16365c;
    border-radius: 8px;
    font-size: 30px;
    position: relative;
    margin-bottom: 10px;
    text-align: left;
    line-height: 1;
}
ul.campaign .limited a span {
    font-size: 36px;
    font-weight: bold;
}
ul.campaign .limited a span > i {
    display: block;
    margin-top: 10px;
    font-size: 26px;
    color: #f6ff6c;
}
ul.campaign .limited a:before,
ul.campaign .limited a:after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
ul.campaign .limited a:before{
    right: 50px;
    width: 28px;
    height: 28px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#inline-frame{
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}

/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
/*Responsive*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
/*
@media only screen and (max-device-width : 1366px) and (max-device-height : 768px) {
    body {
        zoom: 90%;
    }
}
*/
@media screen and (max-width: 1024px) {
    body {
        font-size: 14px;
    }
    .mdn_touchevents body {
        font-weight: 400;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }

    .linkbtn {
        padding: 0.5em 2em 0.5em 1em;
        font-size: 18px;
    }

    .js-mbmenu-open {
        -webkit-filter: blur(5px);
        filter: blur(5px);
    }

    .cm-header.active {
        height: 100%;
    }
    .cm-header .cm-header-menu {
        display: none;
    }
    .cm-header .spcm-header-menu {
        display: inline-block;
        position: relative;
        left: 0;
        width: 100%;
        box-sizing: border-box;
        z-index: 100;
        color: #ffffff;
    }
    .cm-header .spcm-header-menu.active {
        height: 100%;
        overflow-y: scroll;
    }
    .cm-header .nav-inner {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        width: 100%;
        padding: 8px;
        box-sizing: border-box;
        background-color:#00754ade;
;
    }
    .cm-header .spcm-header-logo {
        -webkit-box-flex: 8;
        -webkit-flex: 8;
        -ms-flex: 8;
        flex: 8;
    }
    .cm-header .spcm-header-logo img {
        display: block;
        width: auto;
        height: 50px;
        padding-left: 10px;
    }
    .cm-header .menubtn, .cm-header .reservebtn {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
    .cm-header .menubtn {
        position: relative;
        text-align: center;
        z-index: 300;
    }
    .cm-header .menubtn ul {
        position: relative;
        width: 50px;
        height: 40px;
    }
    .cm-header .menubtn ul, .cm-header .menubtn ul li {
        display: inline-block;
        -webkit-transition: all 0.4s;
        transition: all 0.4s;
        box-sizing: border-box;
    }
    .cm-header .menubtn ul li {
        position: absolute;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: #ffffff;
    }
    .cm-header .menubtn ul li:first-of-type {
        top: 6px;
    }
    .cm-header .menubtn ul li:nth-of-type(2) {
        top: 20px;
    }
    .cm-header .menubtn ul li:nth-of-type(3) {
        bottom: 3px;
    }
    .cm-header .menubtn span {
        display: block;
        width: 100%;
        text-align: center;
        font-size: 14px;
        line-height: 1;
    }
    .cm-header .menubtn.active {
        position: relative;
        right: 0;
    }
    .cm-header .menubtn.active ul li:first-of-type {
        -webkit-transform: translate3d(0, 14px, 0) rotate(-45deg);
        -ms-transform: translate3d(0, 14px, 0) rotate(-45deg);
        transform: translate3d(0, 14px, 0) rotate(-45deg);
    }
    .cm-header .menubtn.active ul li:nth-of-type(2) {
        opacity: 0;
    }
    .cm-header .menubtn.active ul li:last-of-type {
        -webkit-transform: translate3d(0, -14px, 0) rotate(45deg);
        -ms-transform: translate3d(0, -14px, 0) rotate(45deg);
        transform: translate3d(0, -14px, 0) rotate(45deg);
    }
    .cm-header .reservebtn {
        margin-right: 15px;
        color: #ffffff;
        text-align: center;
        text-decoration: none;
        z-index: 200;
    }
    .cm-header .reservebtn .icon-phone {
        font-size: 34px;
        line-height: 1;
    }
    .cm-header .reservebtn .icon-phone:before {
        margin-top: 5px;
    }
    .cm-header .reservebtn span {
        display: block;
        width: 100%;
        margin-top: 3px;
        font-size: 14px;
        line-height: 1;
    }
    .cm-header .menu-content {
        display: block;
        position: absolute;
        top: 0;
        visibility: hidden;
        width: 100%;
        min-height: 110vh;
        height: auto;
        margin: 0 auto;
        padding: 13% 25px 25px 25px;
        -webkit-transform: translateY(-110%);
        transform: translateY(-110%);
    }
    .cm-header .menu-content.active {
        visibility: visible;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        z-index: 200;
        /* background-color: rgba(0, 0, 0, 0.85); */
    }
    .cm-header .menu-content:after {
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 110%;
        background-color: rgba(0, 0, 0, 0.85);
        content: '';
        opacity: 0;
        -webkit-transition: opacity 0.5s;
        transition: opacity 0.5s;
        z-index: -1;
    }
    .cm-header .menu-content.active:after {
        opacity: 1;
    }

    .cm-header .menu-content .menu-content-inner {
        position: relative;
        opacity: 0;
    }
    .cm-header .menu-content.active .menu-content-inner {
        opacity: 1;
    }
    .cm-header .menu-content-inner {
        width: 70%;
        margin: 0 auto;
    }
    .cm-header .menu-content .site-list {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 100%;
        margin: 0 auto 20px auto;
        padding-bottom: 20px;
        border-bottom: 1px solid #ffffff;
    }
    .cm-header .menu-content .site-list li {
        width: 50%;
    }
    .cm-header .menu-content .site-list li a {
        display: block;
        padding: 15px;
        color: #ffffff;
        font-size: 18px;
        text-decoration: none;
    }
    .cm-header .menu-content .site-list li a:hover, .cm-header .menu-content .site-list li a:active {
        color: #aeffc4;
    }
    .cm-header .menu-content .site-list li a i {
        padding-right: 5px;
        font-size: 1em;
    }
    .cm-header .menu-content .sns-bn {
        width: 100%;
        margin: 0 auto 40px auto;
    }
    .cm-header .menu-content .sns-bn .linkbtn {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 10px;
        color: #fff;
        font-size: 18px;
    }
    .cm-header .menu-content .sns-bn .linkbtn span {
        border-color: #fff;
    }
    .cm-header .menu-content .sns-bn i {
        padding-right: 5px;
        font-size: 1em;
    }
    .cm-header .menu-content .sns-bn .sns-insta {
        border: 1px solid #555;
        background: -webkit-gradient(radial, 50% 100%, 0, 50% 100%, 120, color-stop(0.99, #405), color-stop(0.42, #e1306c), color-stop(0.00, #fcaf45));
        background: -webkit-radial-gradient(50% 100%, circle, #fcaf45 0%, #e1306c 42%, #405 99%);
        background: -moz-radial-gradient(50% 100%, circle, #fcaf45 0%, #e1306c 42%, #405 99%);
        background: -o-radial-gradient(50% 100%, circle, #fcaf45 0%, #e1306c 42%, #405 99%);
        background: -ms-radial-gradient(50% 100%, circle, #fcaf45 0%, #e1306c 42%, #405 99%);
        background: radial-gradient(50% 100%, circle, #fcaf45 0%, #e1306c 42%, #405 99%);
    }
    .cm-header .menu-content .reserve-list {
        width: 100%;
        margin: 0 auto 40px auto;
    }
    .cm-header .menu-content .reserve-list .linkbtn {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 10px;
        color: #ffffff;
        font-size: 18px;
    }
    .cm-header .menu-content .reserve-list .linkbtn span {
        border-color: #ffffff;
    }
    .cm-header .menu-content .reserve-list i {
        padding-right: 5px;
        font-size: 1em;
    }
    .cm-header .menu-content .reserve-list .rv-mail {
        margin-bottom: 15px;
        border-color: #72c33f;
        background-color: #72c33f;
    }
    .cm-header .menu-content .reserve-list .rv-tel {
        border-color: #34a853;
        background-color: #34a853;
        border-radius: 30px;
        margin-top: 20px;
    }
    .cm-header .restaurant-link {
        width: 100%;
        margin: 0 auto;
    }
    .cm-header .girls-party-plan {
        width: 100%;
        margin: 0 auto 20px;
    }
    .cm-header .restaurant-link dt,
    .cm-header .girls-party-plan dt {
        font-size: 18px;
        text-align: center;
    }
    .cm-header .restaurant-link dt:before,
    .cm-header .girls-party-plan dt:before {
        content: '- ';
    }
    .cm-header .restaurant-link dt:after,
    .cm-header .girls-party-plan dt:after {
        content: ' -';
    }
    .cm-header .restaurant-link dd a,
    .cm-header .girls-party-plan dd a {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .cm-header .restaurant-link dd a {
        border: 1px solid #555555;
    }
/*    .cm-header .restaurant-link dd img:first-of-type {
        width: 30%;
        max-width: 81px;
    }*/
    .cm-header .restaurant-link dd img:last-of-type {
        width: 100%;
/*        max-height: 1em;*/
    }
    .cm-header .girls-party-plan dd img {
        width: 100%;
        height: auto;
    }

    .reserve-window {
        display: none;
    }
    .sns-window {
        display: none;
    }

    .underlayer .main-contents {
        padding-top: 0px;
    }

    .cm-section {
        max-width: none;
        width: 100%;
        margin: 0 auto 40px auto;
        padding: 70px;
    }
    .cm-h2 {
        margin-bottom: 1.3em;
        font-size: 32px;
    }
    .cm-h3 {
        margin-bottom: 30px;
        font-size: 24px;
    }
    .cm-section .cm-section-message h4 {
        margin-bottom: 15px;
        font-size: 20px;
        font-weight: bold;
    }

    .cm-floor-content h4 span {
        font-size: 22px;
    }
    .cm-floor-content figure img {
        width: 100%;
        max-width: 967px;
    }
    .cm-floor-description {
        padding: 20px 0;
    }
    .cm-breadcrumbs {
        padding: 10px 30px 50px 30px;
    }
    .cm-map {
        max-height: 230px;
    }
    .map iframe {
        height: 230px;
    }

    .footer-nav {
        display: none;
    }
    .cm-footer {
        padding: 0 70px 20px 70px;
    }
    .cm-footer .footer-contact {
        margin-bottom: 15px;
        padding-top: 30px;
    }
    .footer-message {
        display: none;
    }
    ul.campaign .limited a span {
        font-size: 28px;
        font-weight: bold;
    }
    ul.campaign .limited a span > i {
        display: block;
        margin-top: 10px;
        font-size: 22px;
        color: #f6ff6c;
    }
}

@media screen and (max-width: 768px) {
    .cm-header .menu-content-inner {
        width: 80%;
        margin: 0 auto;
    }
    .cm-header .menubtn ul {
        width: 35px;
        height: 22px;
    }
    .cm-header .menubtn ul li {
        height: 3px;
    }
    .cm-header .menubtn ul li:first-of-type {
        top: 0;
    }
    .cm-header .menubtn ul li:nth-of-type(2) {
        top: 10px;
    }
    .cm-header .menubtn ul li:nth-of-type(3) {
        bottom: 0;
    }
    .cm-header .menubtn span {
        font-size: 11px;
    }
    .cm-header .menubtn.active ul li:first-of-type {
        -webkit-transform: translate3d(0, 10px, 0) rotate(-42deg);
        -ms-transform: translate3d(0, 10px, 0) rotate(-42deg);
        transform: translate3d(0, 10px, 0) rotate(-42deg);
    }
    .cm-header .menubtn.active ul li:nth-of-type(3) {
        -webkit-transform: translate3d(0, -10px, 0) rotate(42deg);
        -ms-transform: translate3d(0, -10px, 0) rotate(42deg);
        transform: translate3d(0, -10px, 0) rotate(42deg);
    }
    .cm-header .reservebtn .icon-phone {
        font-size: 25px;
    }
    .cm-header .reservebtn .icon-phone:before {
        margin-top: 0;
    }
    .cm-header .reservebtn span {
        font-size: 11px;
    }

    .cm-section {
        padding: 50px 30px;
    }
    .cm-subsection {
        margin-bottom: 70px;
        padding-bottom: 70px;
    }
    .cm-link .linkbtn:nth-of-type(2) {
        margin: 10px;
    }
    .linkbtn {
        /* width: 64%; */
        margin: 10px;
    }

    .cm-floor-content h4 {
        margin-bottom: 2em;
    }

    .underlayer .main-contents {
    }

    .cm-h2 {
        font-size: 26px;
    }
    .cm-h3 {
        font-size: 22px;
    }

    .cm-head {
        height: 300px;
    }

    .cm-footer {
        padding: 0 50px 10px 50px;
    }
    .cm-footer .footer-contact {
        margin-bottom: 0;
        border-bottom: 0;
    }
    .cm-footer .footer-contact .left-content {
        display: none;
    }
    .cm-footer .footer-contact .right-content {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .cm-footer .footer-contact .right-content a {
        width: 100%;
        margin: 0;
    }
    ul.campaign .limited a span {
        font-size: 26px;
        font-weight: bold;
    }
    ul.campaign .limited a span > i {
        display: block;
        margin-top: 10px;
        font-size: 20px;
        color: #f6ff6c;
    }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
    .cm-header .spcm-header-logo img {
        height: 18px;
    }

    .cm-header .menubtn ul {
        height: 22px;
    }
    .cm-header .menubtn ul li:nth-of-type(2) {
        top: 10px;
    }
    .cm-header .menubtn span {
        font-size: 10px;
    }
    .cm-header .menubtn.active ul li:first-of-type {
        top: 3px;
        -webkit-transform: translateY(10px) rotate(-42deg);
        -ms-transform: translateY(10px) rotate(-42deg);
        transform: translateY(10px) rotate(-42deg);
    }
    .cm-header .menubtn.active ul li:nth-of-type(3) {
        top: 23px;
        -webkit-transform: translateY(-10px) rotate(42deg);
        -ms-transform: translateY(-10px) rotate(42deg);
        transform: translateY(-10px) rotate(42deg);
    }
    .cm-header .reservebtn .icon-phone {
        font-size: 22px;
    }
    .cm-header .reservebtn span {
        margin-top: 1px;
        font-size: 10px;
    }
    .cm-header .menu-content {
        overflow-y: scroll;
    }
    .cm-header .menu-content .site-list li a {
        padding: 10px 5px;
        font-size: 16px;
    }
    .cm-header .menu-content .site-list li a[href="/policy.html"] {
        letter-spacing: -1.5px;
    }
    .cm-header .reserve-content .closebtn ul {
        width: 40px;
        height: 25px;
    }
    .cm-header .reserve-content .closebtn ul li:first-of-type {
        top: 3px;
        -webkit-transform: translateY(10px) rotate(-42deg);
        -ms-transform: translateY(10px) rotate(-42deg);
        transform: translateY(10px) rotate(-42deg);
    }
    .cm-header .reserve-content .closebtn ul li:last-of-type {
        bottom: -2px;
        -webkit-transform: translateY(-10px) rotate(42deg);
        -ms-transform: translateY(-10px) rotate(42deg);
        transform: translateY(-10px) rotate(42deg);
    }
    .cm-header .reserve-content .closebtn span {
        font-size: 11px;
    }
    .cm-header .site-list li a i {
        padding-right: 5px;
    }

    .cm-footer {
        padding: 0 40px 10px 40px;
    }
    .cm-footer .footer-contact .right-content a {
        padding: 5px 30px;
        font-size: 14px;
    }
}

@media screen and (max-width: 640px) {
    body {
        font-weight: 400;
    }
    .cm-header .menu-content-inner {
        width: 100%;
    }

    .cm-type-list li a dl:after {
        content: none;
    }

    .cm-h3 {
        font-size: 20px;
    }

    .cm-section {
        padding: 20px 30px 30px;
    }
    .cm-subsection {
        margin-bottom: 60px;
        padding-bottom: 60px;
    }

    .cm-link {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 450px) {

    .cm-h1 {
        font-size: 10px;
    }

    .cm-header .spcm-header-logo img {
        height: 30px;
        margin-bottom: -1px;
    }

    .cm-header .menubtn ul{
        width: 30px;
        height: 20px;
    }
    .cm-header .menubtn ul li:nth-of-type(2){
        top: 9px;
    }
    .cm-header .menubtn span {
        font-size: 10px;
    }
    .cm-header .menubtn.active ul li:first-of-type {
        -webkit-transform: translate3d(0, 8px, 0) rotate(-42deg);
        -ms-transform: translate3d(0, 8px, 0) rotate(-42deg);
        transform: translate3d(0, 8px, 0) rotate(-42deg);
    }
    .cm-header .menubtn.active ul li:nth-of-type(3) {
        -webkit-transform: translate3d(0, -9px, 0) rotate(42deg);
        -ms-transform: translate3d(0, -9px, 0) rotate(42deg);
        transform: translate3d(0, -9px, 0) rotate(42deg);
    }
    .cm-header .reservebtn .icon-phone {
        font-size: 20px;
    }
    .cm-header .reservebtn .icon-phone:before {
        margin-top: 0;
    }
    .cm-header .reservebtn span {
        margin-top: 0;
        font-size: 10px;
    }
    .cm-header .menu-content {
        padding: 60px 20px 60px 20px;
        /* overflow-y: scroll; */
    }
    .cm-header .menu-content .site-list {
        width: 100%;
    }
    .cm-header .menu-content .site-list li a {
        padding: 15px 5px;
        font-size: 14px;
    }
    .cm-header .menu-content .site-list li a i {
        padding-right: 5px;
    }
    .cm-header .menu-content .sns-bn {
        width: 100%;
        margin: 0 auto 20px auto;
    }
    .cm-header .menu-content .sns-bn .linkbtn {
        font-size: 14px;
    }
    .cm-header .menu-content .reserve-list {
        width: 100%;
        margin: 0 auto 20px auto;
    }
    .cm-header .menu-content .reserve-list .linkbtn {
        font-size: 14px;
    }
    .cm-header .restaurant-link dt,
    .cm-header .girls-party-plan dt {
        font-size: 14px;
    }

    .cm-head {
        height: 180px;
    }
    .underlayer .main-contents {
        padding-top: 0;
    }
    .cm-section {
        padding: 35px 15px 30PX;
    }
    .cm-section>h1 {
        margin-bottom: 30px;
    }
    .cm-section .cm-section-message {
        margin-bottom: 30px;
    }
    .cm-section .cm-section-message h3 {
        margin-bottom: 10px;
        font-size: 20px;
    }
    .cm-section .cm-section-message h4 {
        font-size: 18px;
    }
    .cm-subsection {
        margin-bottom: 50px;
        padding-bottom: 50px;
    }

    .cm-link {
        padding: 0 25px;
    }
    .cm-link .linkbtn {
        display: block;
        min-width: 0;
        width: 100%;
        max-width: none;
        font-size: 16px;
    }
    .cm-type-list {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .cm-type-list li {
        width: 100%;
        margin: 0 0 15px 0;
    }
    .cm-type-list li a dl {
        display: table;
    }
    .cm-type-list li a dl dt {
        display: table-cell;
        width: 25%;
        vertical-align: middle;
    }
    .cm-type-list li a dl dd {
        display: table-cell;
        padding: 0;
    }
    .cm-type-list li a dl dd span {
        padding: 0.5em 0;
    }

    .cm-floor-content h4 {
        margin-bottom: 40px;
    }
    .cm-floor-description {
        padding: 15px 0;
    }
    .welcome .cm-h2 {
        font-size: 22px;
    }
    .cm-h2 {
    }
    .cm-h3 {
        margin-bottom: 25px;
        font-size: 18px;
    }
    .cm-h3 span {
        font-size: 14px;
    }
    .cm-breadcrumbs * {
        font-size: 12px;
    }

    .cm-footer {
        padding: 0 20px 10px 20px;
    }
    .cm-footer .pagetop {
        right: 20px;
    }
    .cm-footer .footer-contact {
        padding: 20px 0 30px 0;
    }
    .cm-footer .footer-contact .right-content a {
        font-size: 14px;
    }
    .cm-footer .copyright, footer .copyright a{
        font-size: 12px;
    }

    /*glimpse*/
    .back-layer img {
        height: 100vh;
    }
    ul.campaign .limited a {
        padding: 18px 45px 18px 20px;
        font-size: 18px;
        margin-bottom: 10px;
        line-height: 1;
    }
    .girls ul.campaign .limited a {
        padding: 18px 20px 18px 20px;
    }
    ul.campaign .limited a span {
        font-size: 16px;
        font-weight: bold;
        line-height: 1.2;
        display: block;
    }
    ul.campaign .limited a:before {
        right: 25px;
        width: 20px;
        height: 20px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    ul.campaign .limited a span > i {
        display: block;
        margin-top: 4px;
        font-size: 13px;
        color: #f6ff6c;
    }
    ul.campaign li.txt-ban {
        height: 72px;
    }
}

@media screen and (max-width: 320px) {
    .cm-header .menu-content .site-list {
        padding: 0;
    }
    .cm-header .menu-content .site-list li a {
        font-size: 14px;
    }
    .cm-header .menu-content .restaurant-link dt,
    .cm-header .menu-content .girls-party-plan dt{
        font-size: 14px;
    }
    .cm-header .reserve-list {
        margin-bottom: 20px;
    }
    .cm-header .reserve-list .rv-mail {
        font-size: 14px;
    }
    .cm-header .reserve-list .rv-tel {
        font-size: 14px;
    }
    .cm-type-list {
        margin-bottom: 0;
    }
    /* .cm-type-list li a dl:after {
        display: none;
    } */

    .cm-h2 span {
        font-size: 14px;
    }
}


/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*
/*Error page*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
.error-page .cm-head {
    background: url('../img/common/cm-head-error.jpg') no-repeat;
    background-size: 100%;
    background-attachment: fixed;
}

/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*
/*noJs*/
/*+~+~+~+~+~+~+~+~+~+~~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~++~~++*/
.no-js_message {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
}
.no-js_message p {
    display: block;
    position: relative;
    top: 50%;
    left: 50%;
    width: 90%;
    padding: 10px;
    background-color: #ffffff;
    transform: translateX(-50%) translateY(-50%);
    z-index: 9999;
    text-align: center;
}
.no-js_message::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 999;
    content: '';
}
.hamburger-menu {
    display: none;
}
.hamburger-menu.is-open {
    display: block;
}