@charset "utf-8";

/* ---------- common ---------------------------------------- */

/* contents */
.contents {
    background-color: #e9e9e0;
}

.contents-background {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 187px;
    background-color: #ffffff;
}

/* breadcrumb */
.breadcrumb {
    padding: 5px 7.5% 25px;
    background-color: #e9e9e0;
}

.breadcrumb ol {
    font-size: 0;
    line-height: 100%;
}

.breadcrumb li {
    display: inline-block;
    font-size: 0;
    line-height: 100%;
    vertical-align: middle;
}

.breadcrumb li a {
    display: inline-block;
    margin-right: 6px;
    line-height: 100%;
    text-decoration: underline;
    vertical-align: middle;
}

.breadcrumb li span {
    display: block;
    color: #1f1f1f;
    font-size: 11px;
    line-height: 160%;
    letter-spacing: 0.05em;
}

.breadcrumb li a:hover span,
.breadcrumb li a:active span {
    text-decoration: underline;
}

.breadcrumb li small {
    display: inline-block;
    margin-right: 6px;
    color: #1f1f1f;
    font-size: 12px;
    line-height: 160%;
    letter-spacing: 0.05em;
    vertical-align: middle;
}

/* -------- button -------- */

/* btn hover時に半透明にする */
.btn > a,
.btn > button {
    transition: opacity 0.3s;

    -webkit-transition: opacity 0.3s;
}

.btn:hover > a,
.btn:hover > button {
    opacity: 0.7;
}

/* common-button */
.common-button {
    text-align: center;
}

.common-button a {
    display: inline-block;
    width: 280px;
    padding: 26px 0;
    background: #000000;
    text-align: center;
    transition: opacity 0.3s;

    -webkit-transition: opacity 0.3s;
}

.common-button a:hover {
    opacity: 0.7;
}

.common-button a span {
    display: block;
    color: #ffffff;
    font-weight: bold;
    font-size: 20px;
    line-height: 140%;
    letter-spacing: 0.08em;
}

/* more-button */
.more-button {
    text-align: left;
}

.more-button a {
    display: inline-block;
    position: relative;
    width: 420px;
    height: 64px;
    border: solid 2px #000000;
    box-sizing: border-box;
    text-align: center;
}

.more-button a span {
    display: inline-block;
    position: relative;
    width: 100%;
    padding-right: 64px;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 15px;
    line-height: 60px;
    letter-spacing: 0.08em;
    text-align: center;
    transition: 0.6s;

    -webkit-transition: 0.6s;
    -o-transition: 0.6s;
}

.more-button a i {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    width: 64px;
    border-left: solid 2px;
    font-size: 22px;
    line-height: 60px;
    text-align: center;
}

.more-button a i.fa-clone {
    font-size: 16px;
}

.more-button a:hover span {
    color: #ffffff;
}

.more-button a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 350px;
    height: 100%;
    background: #000000;
    transform: scaleX(0);
    transform-origin: left top;
    transition: 0.3s;

    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
}

.more-button a:hover:before {
    transform: scaleX(1);
    transform-origin: left top;

    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
}

/* -------- table -------- */
.table {
    width: 100%;
}

.table p {
    margin-bottom: 0;
}

.table th,
.table td {
    padding: 20px 22px;
    border: solid 2px #000000;
    background-color: #ffffff;
    font-size: 14px;
    line-height: 160%;
    text-align: left;
    vertical-align: top;
}

.table th {
    width: 30%;
    border-right: 0;
    font-weight: bold;
}

.table td {
    border-left: none;
    font-weight: 500;
}

/* asterisk　２行目以降一字下げ */
.asterisk {
    display: inline-block;
    padding-left: 1em;
    text-indent: -1em;
}

/* -------- br -------- */
.br-pc {
    display: block;
}

.br-sp {
    display: none;
}

.span-sp {
    display: none;
}

@media only screen and (max-width: 768px) {
    .br-pc {
        display: none;
    }

    .br-sp {
        display: inline;
    }

    .span-sp {
        display: inline;
    }
}

/* -------- visual -------- */
.visual {
    position: relative;
    z-index: 10;
    margin-bottom: 38px;
}

.visual .label {
    position: absolute;
    top: -0.6em;
    width: 100%;
    font-size: 28px;
    line-height: 120%;
    text-align: center;
}

.visual .photo img {
    width: 100%;
    height: auto;
}

.visual .title {
    position: absolute;
    bottom: -38px;
    left: -22px;
}

.visual .title span {
    display: inline-block;
    font-size: 66px;
    line-height: 120%;
    letter-spacing: 0.08em;
}

.visual .title:first-child {
    position: relative;
    bottom: inherit;
}

.visual .title:first-child span {
    margin-top: -38px;
    font-size: 60px;
}

/* ---------- top ------------------------------------ */
.top .contents,
.top2 .contents {
    background-color: #ffffff;
}

#slide {
}

#slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1230 / 820;
}

/* top-visual */
.top-visual {
    position: relative;
    margin-bottom: 175px;
}

.top-visual .top-notice {
    position: absolute;
    bottom: -124px;
    left: -22px;
}

.top-visual .top-notice p {
    font-weight: bold;
    font-size: 12px;
    line-height: 180%;
}

.top-visual .top-notice p span {
    padding-left: 2px;
    background-color: #000000;
    color: #ffffff;
}

.top-visual .slider img {
    width: 100%;
    height: auto;
}

.top-visual .slider img.pc {
    display: block;
}

.top-visual .slider img.sp {
    display: none;
}

.top-visual .button {
    position: absolute;
    right: -30px;
    bottom: -105px;
    z-index: 100;
}

.top-visual .button a {
    display: block;
    width: 210px;
    height: 210px;
    border-radius: 100%;
    background-image: url(../img/top/btn_shop.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #ecece4;
    transition: background-color ease 0.25s;
}

.top-visual .button a:hover {
    background-color: #ffff00;
}

.top-visual .scroll {
    position: absolute;
    bottom: -80px;
    left: 0;
    width: 100%;
    text-align: center;
}

.top-visual .scroll .en {
    padding-bottom: 2px;
    font-weight: bold;
    font-size: 13px;
    line-height: 120%;
}

.top-visual .scroll i {
    font-size: 21px;
}

.top-visual .vimeo-sp {
    display: none;
}

.top-visual .tagline {
    position: absolute;
    right: 0;
    bottom: 62px;
    width: 291px;
}

.top-visual .tagline img {
    width: 100%;
    height: auto;
}

.top-banner-wrapper {
    display: flex;
    justify-content: space-between;
    width: calc(100% - 402px);
    padding: 51px 0 53px;
}

.top-banner {
    width: 31.884%;
}

.top-banner a {
    display: block;
    position: relative;
    height: 135px;
}

.top-banner a::before {
    content: "";
    opacity: 0.8;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000000;
    transform: scaleX(0);
    transform-origin: left top;
    transition: 0.3s;

    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
}

.top-banner a:hover:before {
    transform: scaleX(1);
    transform-origin: left top;

    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    -webkit-transform-origin: left top;
    -ms-transform-origin: left top;
}

.top-banner h2 {
    position: absolute;
    top: 12px;
    left: 24px;
    z-index: 10;
    color: #ffffff;
    font-weight: 700;
    font-size: 15px;
}

.top-banner h2 .en {
    display: block;
    margin: 0 0 18px -7px;
    font-size: 12px;
}

.top-banner.rental h2 .en,
.top-banner.shopinfo h2 .en {
    margin-bottom: 28px;
}

.top-banner img {
    width: 100%;
    height: 135px;
    object-fit: cover;
}

.top-banner .angle {
    content: "";
    display: block;
    position: absolute;
    right: -18px;
    bottom: -18px;
    z-index: 10;
    width: 36px;
    height: 36px;
    border-radius: 100%;
    background-color: #ffffff;
    text-align: center;
}

.top-banner .angle i {
    font-size: 14px;
    line-height: 36px;
}

/* top-title */
.top-title {
    margin-bottom: 60px;
}

.top-title span {
    display: inline-block;
    border-bottom: solid #000000 6px;
    font-size: 70px;
    line-height: 120%;
    letter-spacing: 0.08em;
}

/* top-event */
.top-event {
    padding-bottom: 92px;
    background-color: #e9e9e0;
}

.top-event .top-title span {
    margin-top: -44px;
    margin-left: -6px;
}

/* eventSlider */
.eventSlider {
    position: relative;
}

.eventSlider .inner {
    z-index: 10;
    margin: 0 5.75%;
    overflow: hidden;
}

.eventSlider .slick-list {
    overflow: visible !important;
}

.eventSlider .slick-list a {
    display: block;
    position: relative;
    margin: 10px 5.5% 15%;
}

.eventSlider .slick-track {
    margin: 0;
}

.eventSlider .sliderControl {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 85%;
}

.sliderControl span {
    display: block;
    z-index: 100;
    width: 54px;
    height: 54px;
    border-radius: 100%;
    background-color: #ffffff;
    text-align: center;
    cursor: pointer;
    transition: opacity 0.3s ease;

    -webkit-transition: opacity 0.3s ease;
}

.sliderControl span[aria-disabled="true"] {
    display: none;
    pointer-events: none;
}

.sliderControl span:hover {
    opacity: 0.7;
}

.sliderControl span i {
    font-size: 20px;
    line-height: 54px;
}

.sliderPrev {
    position: absolute;
    right: 70px;
    bottom: 8px;
}

.sliderNext {
    position: absolute;
    right: 0;
    bottom: 8px;
}

.event-post {
}

.event-post .category {
    position: absolute;
    top: -10px;
    left: -2%;
    font-size: 16px;
    line-height: 120%;
}

.event-post .icon {
    position: absolute;
    top: -10px;
    right: -2%;
    width: 50px;
    border-radius: 100%;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 11px;
    line-height: 50px;
    text-align: center;
}

.event-post .photo img {
    width: 100%;
    height: auto;
}

.event-post .event-name {
    margin: -10px 18px 0;
    font-size: 18px;
    line-height: 165%;
}

.event-post .event-name span {
    background: #ffffff;
    color: #000000;
    font-weight: bold;
    line-height: 105%;
    letter-spacing: 0.08em;
}

.event-post .event-date {
    display: inline-block;
    margin: 8px 18px 0;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 15px;
    line-height: 120%;
}

/* top-product */
.top-product {
    position: relative;
    z-index: 10;
    padding-top: 92px;
    padding-bottom: 92px;
    background-color: #ffffff;
}

.top-product-title {
    position: relative;
    margin-bottom: 52px;
}

.top-product .top-title {
    display: inline-block;
    margin-bottom: 0;
}

.top-product .top-title span {
    border-bottom-width: 4px;
    font-size: 42px;
    line-height: 140%;
    vertical-align: middle;
}

.top-product .description {
    display: inline-block;
    padding-top: 6px;
    padding-left: 42px;
    font-weight: bold;
    font-size: 14px;
    vertical-align: middle;
}

.product-posts {
    position: relative;
    margin: 0 6.6% 10px;
    padding-top: 2%;
    overflow: hidden;
}

.product-post {
    position: relative;
    float: left;
    width: 23%;
    margin: 0 1% 6%;
}

.product-post:nth-child(4n + 1) {
    clear: both;
}

.product-post a {
    display: block;
}

.product-post .category {
    position: absolute;
    top: -10px;
    left: -2%;
    font-size: 16px;
    line-height: 120%;
}

.product-post .icon {
    position: absolute;
    top: -10px;
    right: -2%;
    width: 50px;
    border-radius: 100%;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 11px;
    line-height: 50px;
    text-align: center;
}

.product-post .photo img {
    width: 100%;
    height: auto;
}

.product-post .product-name {
    margin: -10px 18px 0;
    font-size: 17px;
    line-height: 140%;
}

.product-post .product-name span {
    background: #ffffff;
    color: #000000;
    font-weight: bold;
    line-height: 105%;
    letter-spacing: 0.08em;
}

.product-post .shop-name {
    display: inline-block;
    margin: 8px 18px 0;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 13px;
    line-height: 120%;
}

.top-product .more-button {
}

/* top-news */
.top-news {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 200;
    width: 540px;
    border-top: solid 2px #000000;
    border-right: solid 2px #000000;
    background-color: #ffffff;
}

.top-news .inner {
    overflow: hidden;
}

.top-news .title {
    float: left;
    margin-bottom: 0;
    padding: 17px 24px;
    border-right: solid 2px #000000;
    font-weight: bold;
    font-size: 15px;
}

.top-news .ticker {
    margin: 20px 12px 0 108px;
    overflow: hidden;
}

.top-news ul li {
    font-weight: bold;
    font-size: 13px;
    line-height: 160%;
}

/* ticker */
.ticker {
    position: relative;
    overflow: hidden;
}

.ticker ul {
    position: relative;
    width: 100%;
}

.ticker ul li {
    display: none;
    width: 100%;
}

/* top-foot-nav */
.top-foot-nav {
    position: relative;
    height: 260px;
    margin-top: 230px;
    background-color: #e9e9e0;
}

.top-foot-nav .foot-nav {
    position: absolute;
    top: -140px;
    left: 0;
    width: 85%;
}

/* ---------- staff-wanted ------------------------------------ */
.staff-caution p {
    display: inline-block;
    margin: 36px 15px 0 calc(7.5% - 22px);
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 18px;
    line-height: 120%;
}

.staff-posts {
    position: relative;
    z-index: 10;
    margin: 0 5%;
    padding-top: 7.5%;
    padding-bottom: 3.5%;
    overflow: hidden;
}

.staff-post {
    position: relative;
    float: left;
    width: 28.333%;
    margin: 0 2.5% 6%;
}

.staff-post:nth-child(3n + 1) {
    clear: both;
}

.staff-post a {
    display: block;
}

.staff-post .category {
    position: absolute;
    top: -10px;
    left: -3%;
    font-size: 18px;
    line-height: 120%;
}

.staff-post .icon {
    position: absolute;
    top: -10px;
    right: -2%;
    width: 50px;
    border-radius: 100%;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 11px;
    line-height: 50px;
    text-align: center;
}

.staff-post .photo img {
    width: 100%;
    height: auto;
}

.staff-post .title {
    margin: -10px 15px 0;
    font-size: 18px;
    line-height: 165%;
}

.staff-post .title span {
    background: #ffffff;
    color: #000000;
    font-weight: bold;
    line-height: 105%;
    letter-spacing: 0.08em;
}

.staff-post .shop-name {
    display: inline-block;
    margin: 14px 15px 0;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 16px;
    line-height: 120%;
}

/* ---------- staff-wanted detail ------------------------------------ */
.detail-wrapper {
    padding-bottom: 140px;
    overflow: hidden;
}

.detail-left {
    display: inline-block;
}

.detail-right {
    display: inline-block;
    width: 210px;
    margin: 40px 0 0 5.9%;
    padding-right: 7.5vw;
    vertical-align: top;
}

.detail-header {
    position: relative;
    margin-top: 40px;
    margin-bottom: 120px;
    padding-left: 7.5vw;
}

.detail-header .icon {
    position: absolute;
    top: 0;
    right: 0;
    width: 90px;
    border-radius: 100%;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 14px;
    line-height: 90px;
    text-align: center;
}

.detail-header .title {
    font-size: 30px;
    line-height: 165%;
}

.detail-header .title span {
    background: #ffffff;
    color: #000000;
    font-weight: bold;
    font-size: 30px;
    line-height: 105%;
    letter-spacing: 0.08em;
}

.detail-header .shop-name {
    display: inline-block;
    margin-top: 18px;
    margin-bottom: 50px;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 21px;
    line-height: 120%;
}

.detail-header .headline {
    margin-bottom: 26px;
    font-weight: bold;
    font-size: 24px;
    line-height: 160%;
}

.detail-header p {
    width: 650px;
    font-size: 15px;
    line-height: 200%;
}

.detail-block {
    position: relative;
    width: 640px;
    margin-bottom: 120px;
    padding-top: 72px;
    padding-right: 7.5vw;
    padding-bottom: 90px;
    padding-left: 7.5vw;
    background-color: #ffffff;
}

.detail-block:last-child {
    margin-bottom: 0;
}

.detail-block .title {
    position: absolute;
    top: -0.64em;
    font-size: 42px;
    line-height: 120%;
    text-align: center;
}

.detail-block .common-button {
    margin-top: 60px;
}

/* post-content ビジュアルエディタ投稿部分 */
.post-content {
    width: 640px;
}

.post-content h2,
.post-content h3,
.post-content h4 {
    clear: both;
    margin: 60px 0 26px -7.5vw;
    padding-left: calc(7.5vw - 6px);
    border-left: #000000 solid 6px;
    font-weight: bold;
    font-size: 24px;
    line-height: 160%;
}

.post-content h3:first-child {
    margin-top: 0;
}

.post-content p {
    margin-bottom: 25px;
    font-size: 16px;
    line-height: 200%;
}

.post-content blockquote p {
    margin-bottom: 0;
}

.post-content img {
    display: block;
    margin-bottom: 20px;
}

.post-content p + img {
    margin-top: 30px;
}

.post-content img + p {
    margin-top: 30px;
}

.post-content table {
    margin-bottom: 20px;
}

.post-content table p {
    margin-bottom: 0;
}

.post-content th {
    padding: 12px 15px;
    border: solid 1px #e0e0e0;
    background-color: #cccccc;
    font-weight: bold;
    font-size: 15px;
    text-align: center;
    vertical-align: middle;
}

.post-content td {
    padding: 12px 15px;
    border: solid 1px #e0e0e0;
    font-size: 15px;
    text-align: center;
}

.post-content .scrolled {
    margin-bottom: 21px;
}

.post-content .scrolled table {
    width: 720px;
    margin-bottom: 0;
}

.post-content ul {
    padding-bottom: 12px;
}

.post-content ul li {
    margin-bottom: 6px;
    padding-left: 0.8em;
    font-size: 15px;
    line-height: 180%;
    text-indent: -0.8em;
}

.post-content ul li:before {
    content: "• ";
    color: #000000;
    font-size: 15px;
}

.post-content ol {
    padding-bottom: 12px;
}

.post-content ol li {
    list-style-type: decimal;
    list-style-position: inside;
    margin-bottom: 6px;
    padding-left: 1.3em;
    font-size: 15px;
    line-height: 180%;
    text-indent: -1.3em;
}

.post-content a {
    color: #000000;
    text-decoration: underline;
}

.post-content .wp-caption {
    margin-bottom: 35px;
}

.post-content .wp-caption img {
    margin-bottom: 10px;
}

.post-content .wp-caption p {
    margin-top: 0;
    font-size: 13px;
    line-height: 160%;
}

/* sidebar */
.sidebar {
    border-top: solid 2px;
}

.sidebar .category-nav {
    padding: 30px 0;
    border-bottom: solid 2px;
}

.sidebar .category-nav .title {
    padding-bottom: 10px;
    font-weight: bold;
    font-size: 14px;
    line-height: 120%;
}

.sidebar .category-nav li {
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 14px;
    line-height: 120%;
}

.sidebar .category-nav li a {
    display: inline-block;
    border-bottom: solid 2px;
}

.sidebar .page-nav {
    padding: 30px 0;
    border-bottom: solid 2px;
    font-size: 0;
}

.sidebar .page-nav div {
    display: inline-block;
}

.sidebar .page-nav span {
    font-weight: bold;
    font-size: 13px;
    letter-spacing: 0.08em;
}

.sidebar .page-nav small {
    font-weight: bold;
    font-size: 16px;
}

.sidebar .page-nav .prev {
    margin-right: 20px;
}

.sidebar .page-nav .prev small {
    padding-right: 5px;
}

.sidebar .page-nav .next small {
    padding-left: 5px;
}

.sidebar .index-button {
    margin-top: 35px;
}

.sidebar .index-button span {
    padding-left: 24px;
    background: url(../img/ic_index.png) no-repeat left center;
    font-weight: bold;
    font-size: 13px;
    line-height: 15px;
}

@media only screen and (max-width: 1200px) {
    .detail-right {
        padding-right: 90px;
    }

    .detail-header {
        padding-left: 90px;
    }

    .detail-block {
        padding-left: 90px;
    }
}

/* ---------- entry ------------------------------------ */
.entry-block {
    width: 900px;
    margin: auto;
    padding-top: 90px;
    padding-bottom: 130px;
}

.entry-block .entry-title {
    padding-bottom: 22px;
    font-weight: bold;
    font-size: 24px;
    line-height: 140%;
}

.entry-block .entry-form {
    margin: 110px auto 0;
    padding: 0 90px 70px;
    box-sizing: border-box;
    background-color: #ffffff;
}

.entry-block .entry-form .title {
    display: inline-block;
    margin-top: -31px;
    font-size: 42px;
}

/* form-table */
.form-table {
    width: 100%;
    margin: 50px auto 35px;
}

.form-table th,
.form-table td {
    border-top: solid 2px #000000;
    border-bottom: solid 2px #000000;
}

table.form-table th {
    width: 260px;
    padding: 22px 25px 22px 22px;
    border-left: solid 2px #000000;
    box-sizing: border-box;
    font-weight: bold;
    font-size: 14px;
    vertical-align: top;
}

.form-table td {
    border-right: solid 2px #000000;
}

.form-table th span {
    display: inline-block;
}

.form-table td {
    padding: 13px 10px 13px 0;
}

.form-table .required,
.form-table .optional {
    display: inline-block;
    float: right;
    margin-top: 2px;
    margin-left: 2px;
    padding: 3px 5px;
    border-radius: 3px;
    color: #ffffff;
    font-weight: 500;
    font-size: 12px;
    line-height: 120%;
}

.form-table .required {
    background-color: #c85554;
}

.form-table .optional {
    background-color: #9e9e9e;
}

.form-table input[type="text"],
.form-table input[type="email"],
.form-table input[type="tel"],
.form-table input[type="password"],
.form-table textarea {
    width: 100%;
    padding: 10px 10px;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    background-color: #f5f5f5;
    font-size: 14px;
    line-height: 140%;
}

.form-table input[type="text"],
.form-table input[type="email"] {
    box-sizing: border-box;
    font-size: 14px;
}

.form-table input[type="tel"] {
    box-sizing: border-box;
    font-size: 14px;
}

.form-table input::placeholder {
    color: #9e9e9e;
}

.form-table textarea {
    width: 100%;
    height: 200px;
    box-sizing: border-box;
    font-size: 14px;
}

.form-table textarea.work-place {
    width: 424px;
    height: 84px;
}

.form-table textarea.work-address {
    height: 84px;
}

.form-table input.wide {
    width: 100%;
}

.form-table .radio {
    display: inline-block;
    margin-right: 18px;
    padding: 5px 0;
    font-size: 16px;
}

.form-table .radio input {
    margin-right: 7px;
}

.form-table .notice {
    margin-left: 20px;
    font-weight: 500;
    font-size: 14px;
    line-height: 160%;
}

.form-table .notice.right {
    float: right;
    margin-top: 14px;
    margin-right: 20px;
}

.form-privacy {
    margin-top: 60px;
    padding: 32px 32px 30px;
    border: solid 2px #b3cb51;
    border-radius: 4px;
}

.form-privacy .title {
    padding-bottom: 6px;
    color: #a0b742;
    font-size: 17px;
}

.form-privacy p {
    font-size: 15px;
}

.form-notice {
    margin-top: 42px;
    font-size: 14px;
    text-align: center;
}

.form-submit {
    margin-top: 42px;
    text-align: center;
}

.form-submit input {
    min-width: 280px;
    margin: auto;
    padding: 32px 30px;
    box-sizing: border-box;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0.08em;
    text-align: center;
    transition: opacity 0.3s ease;

    -webkit-transition: opacity 0.3s ease;
}

.form-submit input:hover {
    opacity: 0.7;
}

/* contact form 7 */
.form-table .wpcf7-list-item {
    margin: 0;
}

.form-table .wpcf7-list-item label {
    display: inline-block;
    margin-right: 20px;
    margin-left: 7px;
    padding: 7px 0 7px;
    font-size: 15px;
}

.form-table .wpcf7-list-item-label {
    margin: 0 21px 3px 0;
    font-size: 14px;
    line-height: 210%;
    letter-spacing: 0.04em;
}

.wpcf7 span.wpcf7-not-valid-tip {
    display: block;
    padding: 2px 0 0;
    color: #d91f52;
    font-weight: bold;
    font-size: 13px;
}

.wpcf7 div.wpcf7-response-output {
    margin: 1.5em 0.5em;
    padding: 14px 11px;
    font-weight: bold;
    font-size: 14px;
    line-height: 140%;
}

.wpcf7 div.wpcf7-response-output.wpcf7-validation-errors {
    border: 2px solid;
    color: #d91f52;
}

.wpcf7 div.wpcf7-response-output.wpcf7-mail-sent-ng {
    border: 2px solid;
    color: #d91f52;
}

.wpcf7 div.wpcf7-response-output.wpcf7-mail-sent-ok {
    border: 2px solid;
    color: #000000;
}

.wpcf7 .wpcf7-form .ajax-loader {
    display: block;
    visibility: hidden;
    margin: 6px auto 0;
    border: medium none;
}

/* ---------- concept ------------------------------------ */
.concept-block {
    padding-top: 70px;
    padding-bottom: 130px;
}

.concept-block .concept-title {
    display: inline-block;
    margin-left: -20px;
    padding-bottom: 75px;
    font-size: 38px;
    line-height: 170%;
}

.concept-block .concept-title span {
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
}

.concept-block .inner {
    width: 492px;
    margin: auto;
}

.concept-block .catchcopy {
    font-size: 21px;
    line-height: 200%;
}

.concept-block .catchcopy span {
    background: #ffffff;
    color: #000000;
    font-weight: bold;
    letter-spacing: 0.08em;
}

.concept-block .text p {
    padding-bottom: 24px;
    font-size: 16px;
    line-height: 220%;
}

.concept-block .logo {
    width: 340px;
    margin: 10px auto 40px;
}

.concept-block .logo img {
    width: 100%;
    height: auto;
}

.concept-block .access {
    position: relative;
    margin-top: 100px;
}

.concept-block .access .title {
    position: absolute;
    top: -24px;
    left: -25px;
    z-index: 5000;
    font-size: 42px;
    line-height: 100%;
}

.concept-block .access .gmap {
    width: 100%;
    height: 450px;
    background-color: #ffffff;
}

.concept-block .access .address {
    width: 573px;
    margin: 60px auto 0;
}

.concept-block .project-team {
    margin-top: 115px;
    padding: 80px 0;
    border-top: solid 2px #212121;
    border-bottom: solid 2px #212121;
}

.concept-block .project-team .section-title {
    float: left;
    font-size: 21px;
    line-height: 100%;
}

.concept-block .project-team dl {
    display: flex;
    flex-wrap: wrap;
    width: 573px;
    margin: 0 auto 0 calc(50% - 287px);
}

.concept-block .project-team dl dt,
dd {
    padding-bottom: 18px;
    line-height: 180%;
}

.concept-block .project-team dl dt {
    width: 300px;
    font-weight: 600;
    font-size: 13px;
}

.concept-block .project-team dl dd {
    width: 200px;
    margin-left: 65px;
    font-size: 14px;
}

.concept-block .project-team dl dd a {
    text-decoration: underline;
}

.concept-block .banners {
    padding-top: 140px;
    font-size: 0;
    text-align: center;
}

.concept-block .banner {
    display: inline-block;
    position: relative;
    width: 50%;
    vertical-align: top;
}

.concept-block .banner img {
    width: 100%;
    height: auto;
}

.concept-block .title {
    display: inline-block;
    position: absolute;
    bottom: -60px;
    left: 30px;
    font-size: 36px;
    line-height: 100%;
    text-align: left;
}

.concept-block .title .en {
    background: #ffffff;
    color: #000000;
    font-weight: 600;
}

.concept-block .title .jp {
    background: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 15px;
    letter-spacing: 0.08em;
}

/* ---------- floorguide ------------------------------------ */

.floor-map {
    position: relative;
    z-index: 10;
    margin-top: 80px;
    margin-bottom: 74px;
}

.floor-map .title {
    position: absolute;
    top: -25px;
    left: -16px;
    font-size: 40px;
    line-height: 120%;
    letter-spacing: 0.08em;
}

.floor-map .map {
    width: 100%;
    background-color: #ffffff;
    text-align: center;
}

.floor-map .map img {
    max-width: 100%;
    height: auto;
}

.floor-holiday {
    position: relative;
    z-index: 10;
    padding-bottom: 85px;
    text-align: center;
}

.floor-holiday .inner {
    display: inline-block;
    border: solid 2px;
}

.floor-holiday .title {
    display: inline-block;
    padding: 18px 26px;
    border-right: solid 2px;
    font-weight: bold;
    font-size: 14px;
    line-height: 160%;
    text-align: center;
}

.floor-holiday p {
    display: inline-block;
    padding: 18px 26px;
    font-size: 14px;
    line-height: 160%;
    text-align: center;
}

.shoplist-wrapper {
    position: relative;
    z-index: 10;
    padding: 0 0 70px;
}

.shoplist-wrapper .section {
    position: relative;
    margin-top: 50px;
}

.shoplist-wrapper .section:first-child {
    margin-top: 0;
}

.shoplist-wrapper .section-left {
    position: absolute;
    top: 10px;
    left: -20px;
    width: 138px;
}

.shoplist-wrapper .section-left .section-title {
    padding-bottom: 28px;
}

.shoplist-wrapper .section-left .section-title span {
    background: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 18px;
    letter-spacing: 0.08em;
}

.shoplist-wrapper .section-left .note {
    font-weight: bold;
    font-size: 13px;
    line-height: 170%;
}

.shoplist-items {
    padding: 10px 0 0 15.196%;
    overflow: hidden;
}

.shoplist-item {
    position: relative;
    float: left;
    width: 46.82%;
    margin: 0 0 7% 6.358%;
}

.shoplist-item:nth-child(2n + 1) {
    clear: both;
    margin-left: 0;
}

.shoplist-item > a {
    display: block;
}

.shoplist-item .category {
    position: absolute;
    top: -9px;
    left: -3%;
    font-size: 18px;
    line-height: 120%;
    letter-spacing: 0.08em;
}

.shoplist-item .photo img {
    width: 100%;
    height: auto;
}

.shoplist-item .shop-name {
    margin: -15px 15px 0;
    font-size: 25px;
    line-height: 150%;
}

.shoplist-item .shop-name span {
    background: #ffffff;
    color: #000000;
    font-weight: bold;
    line-height: 105%;
    letter-spacing: 0.08em;
}

.shoplist-item .shop-name small {
    font-size: 16px;
}

.shoplist-item .shop-info {
    display: inline-block;
    margin: 11px 15px 0;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 16px;
    line-height: 120%;
}

.shoplist-item .shop-description {
    margin: 22px 15px 0;
    font-size: 14px;
}

.shoplist-item .shop-hours {
    margin: 6px 15px 0;
    font-weight: bold;
    font-size: 14px;
}

/* ---------- access ------------------------------------ */
.acce-map {
    padding-bottom: 85px;
}

.acce-map .gmap {
    width: 100%;
    height: 480px;
}

.acce-map .address {
    width: 600px;
    margin: 50px auto 0;
    text-align: left;
}

.acce-parking {
    padding-bottom: 110px;
    overflow: hidden;
}

.acce-parking .left {
    float: left;
    width: 270px;
    padding: 36px 34px;
    border: solid 2px;
    box-sizing: border-box;
}

.acce-parking .left .title-en {
    padding-bottom: 20px;
}

.acce-parking .left .title-en strong {
    display: block;
    font-size: 28px;
    line-height: 120%;
}

.acce-parking .left .title-en small {
    display: block;
    font-size: 15px;
    line-height: 120%;
}

.acce-parking .left .title-ja {
    padding-top: 18px;
    border-top: solid 2px;
    font-weight: bold;
    font-size: 15px;
    line-height: 160%;
}

.acce-parking .right {
    margin-left: 340px;
}

.acce-parking .right .intro {
    margin-bottom: 40px;
}

.acce-parking .plist {
    overflow: hidden;
}

.acce-parking .plist ol {
    float: left;
    max-width: 280px;
    padding-right: 2%;
}

.acce-parking .plist ol li {
    padding-bottom: 20px;
    font-weight: bold;
    font-size: 13px;
    text-decoration: underline;
}

.acce-parking .plist ol:first-child {
    width: 29%;
}

.acce-parking .plist ol:nth-child(2) {
    width: 31%;
}

.acce-parking .plist ol:last-child {
    width: 33%;
    padding-right: 0;
}

/* ---------- party ------------------------------------ */
.party-block {
    padding-top: 48px;
    padding-bottom: 130px;
}

.anchor-nav {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 42px;
}

.anchor-nav li {
    position: relative;
    margin-bottom: 24px;
    padding-right: 48px;
    line-height: 1;
}

.anchor-nav li::after {
    content: "";
    position: absolute;
    top: 0;
    right: 24px;
    width: 1px;
    height: 18px;
    background-color: #000000;
}

.anchor-nav li:last-child:after {
    display: none;
}

.anchor-nav a {
    padding-bottom: 3px;
    border-bottom: solid 2px #000000;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
}

.anchor-nav a i {
    margin-left: 4px;
    vertical-align: middle;
}

.party-intro {
    margin-bottom: 114px;
    line-height: 200%;
}

.party-intro a {
    text-decoration: underline;
}

.party-section {
    margin-bottom: 90px;
    background-color: #ffffff;
}

#reserve.party-section {
    margin-bottom: 0;
}

.party-title,
.rental-title {
    display: inline-block;
    margin: -18px 0 0 -18px;
    padding-left: 3px;
    background-color: #000000;
    color: #ffffff;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.4;
}

.party-inner {
    display: flex;
    justify-content: space-between;
    padding: 75px 7.317% 105px;
}

.party-inner .photo {
    width: 37.142%;
}

.party-inner .photo img {
    width: 100%;
    height: auto;
}

.party-inner p {
    margin-bottom: 36px;
}

.party-inner .text {
    width: 55.714%;
}

.party-inner .list {
    margin-bottom: 36px;
}

.party-inner .list li {
    list-style-type: disc;
    margin: 0 0 9px 15px;
}

.party-inner .info {
    width: 100%;
    font-size: 14px;
}

.party-inner .info th {
    width: 25.641%;
    padding: 18px 24px;
    border: solid 2px #000000;
    font-weight: 700;
    font-size: 14px;
}

.party-inner .info td {
    padding: 18px 24px;
    border: solid 2px #000000;
    font-size: 14px;
}

.party-inner .num-list li {
    margin-bottom: 12px;
    font-weight: 700;
    font-size: 16px;
}

.party-inner .num-list li small {
    font-weight: 500;
    font-size: 14px;
}

#reserve .party-inner {
    display: block;
    padding: 60px 7.317% 105px;
}

.contact-title {
    display: inline-block;
    margin: -30px 0 0 -12px;
    font-size: 42px;
    letter-spacing: 0.08em;
}

.contact-button a {
    display: block;
    width: 300px;
    padding: 27px 48px 28px 57px;
    box-sizing: border-box;
    background-color: #000000;
    color: #ffffff;
    font-weight: 700;
    transition: 0.3s;
}

.contact-button a:hover {
    opacity: 0.7;
}

.contact-button a i {
    margin-left: 6px;
    font-size: 18px;
}

/* ---------- rental ---------------------------------------- */
.rental-block {
    padding-top: 48px;
    padding-bottom: 130px;
}

.rental-intro {
    width: 840px;
    margin-bottom: 90px;
    line-height: 200%;
}

/* rentalSlider */
#rentalSlider {
    position: relative;
    margin-bottom: 75px;
    padding-bottom: 92px;
    overflow: hidden;
}

#rentalSlider ul {
    z-index: 10;
    width: calc(100% + 60px);
    margin-left: -30px;
    padding-bottom: 13px;
}

#rentalSlider .slick-list {
    overflow: visible !important;
}

#rentalSlider .slick-track {
    margin: 0;
}

#rentalSlider li {
    position: relative;
    margin: 0 30px;
}

#rentalSlider li .photo img {
    width: 100%;
    height: auto;
}

#rentalSlider li .title {
    display: inline-block;
    position: absolute;
    bottom: -13px;
    left: 18px;
    padding: 1px 0;
    background-color: #ffffff;
    font-weight: 700;
    font-size: 18px;
}

#rentalSlider .sliderControl {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

.rental-section {
    margin-bottom: 90px;
    background-color: #ffffff;
}

#entry.rental-section {
    margin-bottom: 0;
}

.rental-inner {
    padding: 75px 7.317% 105px;
}

.rental-inner .note {
    margin-bottom: 48px;
    font-size: 13px;
    line-height: 200%;
    letter-spacing: 0.04em;
}

.rental-price-section {
    margin-bottom: 54px;
}

.rental-price-section h3 {
    margin-bottom: 21px;
    font-weight: 700;
    font-size: 18px;
}

.rental-price-inner {
    display: flex;
    align-items: flex-start;
}

.rental-price-inner .text {
    width: 57.714%;
    min-width: 588px;
    margin-right: 7.317%;
}

.rental-price-inner .table th {
    width: 25%;
    padding: 9px 20px;
    border-left: solid 2px #ffffff;
    background-color: #000000;
    color: #ffffff;
    letter-spacing: 0.04em;
}

#hut .rental-price-inner .table .first,
#tearoom .rental-price-inner .table .first {
    width: 33%;
}

.rental-price-inner .table th.first {
    border-left: solid 2px #000000;
}

.rental-price-inner .table th.last {
    border-right: solid 2px #000000;
}

.rental-price-inner .table td {
    width: 25%;
    padding: 12px 20px;
    border: solid 2px #000000;
    letter-spacing: 0.04em;
}

#hut .rental-price-inner .table .last,
#tearoom .rental-price-inner .table .last {
    width: 67%;
}

.rental-price-inner .table td.first {
    font-weight: 700;
}

.rental-price-inner .table td.first small {
    font-weight: 500;
}

.rental-price-inner .note {
    margin: 30px 0 0;
}

.rental-price-inner .photo {
    width: 34.285%;
}

.rental-price-inner .photo img {
    width: 100%;
    height: auto;
}

.rental-price-download .list {
    margin-bottom: 36px;
}

.rental-price-download .list li {
    list-style-type: disc;
    margin: 0 0 9px 15px;
}

.rental-price-download .list li a {
    text-decoration: underline;
}

#flow .rental-inner {
    display: flex;
    flex-wrap: wrap;
}

.rental-step {
    position: relative;
    width: 50%;
    margin-top: -2px;
    padding: 45px 45px 39px;
    border: solid 2px #000000;
    box-sizing: border-box;
}

.rental-step:nth-child(odd):after {
    content: "";
    position: absolute;
    top: calc(50% - 16px);
    right: -16px;
    z-index: 10;
    width: 16px;
    height: 33px;
    background: url(../img/rental/angle_flow.png) no-repeat;
    background-size: 16px 33px;
}

.rental-step:nth-child(even) {
    border-left: 0;
}

.rental-step h3 {
    margin-bottom: 24px;
    font-weight: 700;
    font-size: 18px;
}

.rental-step h3 span {
    position: relative;
    padding-right: 39px;
    font-size: 21px;
    vertical-align: bottom;
}

.rental-step h3 span::after {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    right: 18px;
    width: 1px;
    height: 24px;
    background-color: #000000;
}

.rental-step p {
    margin-bottom: 9px;
    font-size: 14px;
    letter-spacing: 0.04em;
}

#entry .rental-inner p {
    margin-bottom: 48px;
}

/* ---------- event ---------------------------------------- */

/* event-nav */
.event-nav {
    padding-bottom: 72px;
}

.event-nav .inner {
    display: inline-block;
    border: solid 2px #000000;
}

.event-nav .title {
    float: left;
    margin-bottom: 0;
    padding: 20px 24px;
    border-right: solid 2px #000000;
    font-weight: bold;
    font-size: 15px;
}

.event-nav ul {
    float: left;
    margin: 20px 30px 0 18px;
}

.event-nav ul li {
    display: inline-block;
    margin: 0 5px;
}

.event-nav ul li a {
    display: block;
    border-bottom: solid 2px;
    font-weight: bold;
    font-size: 14px;
    line-height: 140%;
}

/* event-posts */
.event-posts {
    position: relative;
    z-index: 10;
    margin: 0 5%;
    padding-top: 2%;
    overflow: hidden;
}

.event-posts .event-post {
    position: relative;
    float: left;
    width: 28.333%;
    margin: 0 2.5% 6%;
}

.event-posts .event-post:nth-child(3n + 1) {
    clear: both;
}

.event-posts .event-post a {
    display: block;
}

/* wp-pagenavi */
.pagenav {
    position: relative;
    z-index: 10;
    padding-top: 30px;
    padding-bottom: 120px;
}

.wp-pagenavi {
    position: relative;
    clear: both;
    margin: 0 auto;
    font-size: 0;
    text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: inline-block;
    width: 50px;
    height: 50px;
    margin-left: 10px;
    overflow: hidden;
    border-bottom: solid 2px #212121;
    box-sizing: border-box;
    font-weight: 500;
    font-size: 14px;
    line-height: 50px;
    letter-spacing: 0.08em;
    transition: all 0.2s ease;

    -webkit-transition: all 0.2s ease;
}

.wp-pagenavi span.current,
.wp-pagenavi a:hover {
    background-color: #212121;
    color: #ffffff;
}

.wp-pagenavi a.first,
.wp-pagenavi a.last {
    width: auto;
    padding: 0 18px;
}

.wp-pagenavi span.pages {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
}

.wp-pagenavi span.extend {
    background-color: inherit;
}

/* event-header */
.event-header {
    position: relative;
    margin-top: 50px;
    margin-left: -15px;
    padding: 0 7.5%;
}

.event-header .event-name span {
    background: #ffffff;
    color: #000000;
    font-weight: bold;
    font-size: 30px;
    line-height: 105%;
    letter-spacing: 0.08em;
}

.event-header .event-date {
    display: inline-block;
    margin-top: 20px;
    padding: 0 1px;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 18px;
    line-height: 120%;
}

/* event-detail */
.event-detail-wrapper {
    position: relative;
}

.event-detail-wrapper .icon {
    position: absolute;
    top: -45px;
    right: -16px;
    width: 90px;
    border-radius: 100%;
    background-color: #000000;
    color: #ffffff;
    font-weight: bold;
    font-size: 14px;
    line-height: 90px;
    text-align: center;
}

.event-detail {
    padding: 7.5%;
    overflow: hidden;
    background-color: #ffffff;
}

.event-detail .left {
    float: left;
    width: 46%;
}

.event-detail .left .photo {
    margin-bottom: 8%;
}

.event-detail .left .photo img {
    width: 100%;
    height: auto;
}

.event-detail .left .photo p {
    padding-top: 10px;
    font-size: 14px;
    line-height: 140%;
}

.event-detail .right {
    float: right;
    width: 46%;
}

.event-detail .share {
    padding-top: 54px;
}

.event-detail .share .inner {
    display: inline-block;
    border: solid 2px #000000;
}

.event-detail .share .title {
    float: left;
    margin-bottom: 0;
    padding: 20px 24px;
    border-right: solid 2px #000000;
    font-weight: bold;
    font-size: 15px;
    letter-spacing: 0.04em;
}

.event-detail .share ul {
    float: left;
    margin: 18px 22px 0 22px;
}

.event-detail .share ul li {
    display: inline-block;
    margin: 0 6px;
    vertical-align: middle;
}

.event-detail .share ul li i {
    font-size: 18px;
}

.event-detail .share ul li.facebook i {
    font-size: 17px;
}

.event-detail .share ul li.hatena i {
    font-size: 16px;
}

/* event-footer */
.event-footer {
    padding: 95px 0 140px;
}

.event-footer .page-nav {
    padding: 24px 0;
    border-top: solid 2px;
    border-bottom: solid 2px;
    font-size: 0;
    text-align: center;
    vertical-align: middle;
}

.event-footer .page-nav div {
    display: inline-block;
}

.event-footer .page-nav span {
    font-weight: bold;
    font-size: 13px;
    letter-spacing: 0.08em;
}

.event-footer .page-nav i {
    font-size: 16px;
}

.event-footer .page-nav .prev {
    float: left;
}

.event-footer .page-nav .prev i {
    padding-right: 5px;
}

.event-footer .page-nav .next {
    float: right;
}

.event-footer .page-nav .next i {
    padding-left: 5px;
}

.event-footer .index {
    padding-top: 2px;
    text-align: center;
}

.event-footer .index span {
    padding-left: 24px;
    background: url(../img/ic_index.png) no-repeat left center;
    font-weight: bold;
    font-size: 13px;
    line-height: 15px;
}

/* postbody */
.postbody {
    line-height: 180%;
}

.postbody h1,
.postbody h2 {
    padding: 1.2em 0;
    font-weight: bold;
    font-size: 16px;
    letter-spacing: 0.08em;
}

.postbody h3,
.postbody h4 {
    padding: 0.8em 0;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.08em;
}

.postbody p {
    margin-bottom: 1.4em;
    line-height: 200%;
    letter-spacing: 0.08em;
}

.postbody a {
    color: #757575;
    text-decoration: underline;
}

.postbody img {
    max-width: 420px;
    height: auto;
    margin-top: 1em;
    margin-bottom: 2em;
}

.postbody img:first-child {
    margin-top: 0;
}

.postbody ul {
    margin-bottom: 1.5em;
}

.postbody ul > li {
    list-style-type: disc;
    list-style-position: inside;
    padding-bottom: 0.5em;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0.08em;
}

.postbody ol {
    margin-bottom: 1.5em;
}

.postbody ol > li {
    list-style-type: decimal;
    list-style-position: inside;
    padding-bottom: 0.5em;
    font-size: 14px;
    line-height: 200%;
    letter-spacing: 0.08em;
}

.postbody table {
    width: 100%;
    margin-bottom: 2em;
}

.postbody table th,
.postbody table td {
    padding: 14px 14px 14px 14px;
    border-top: solid 1px #727272;
    border-bottom: solid 1px #727272;
    font-size: 14px;
    line-height: 160%;
    text-align: left;
}

.postbody table th {
    padding: 14px 14px 14px 6px;
    border-right: solid 1px #727272;
}

.postbody table thead,
.postbody table th {
}

.postbody table tbody th {
    font-weight: bold;
}

.alignleft {
    float: left;
    margin-right: 1em;
}

.alignright {
    float: right;
    margin-left: 1em;
}

.aligncenter {
    display: block;
    clear: both;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.wp-caption {
    margin-top: 1.2em;
    margin-bottom: 1.2em;
}

.wp-caption > img {
    margin: 0;
}

.wp-caption .wp-caption-text {
    margin: 0;
    font-size: 12px;
}

@media only screen and (max-width: 768px) {
    /* ---------- common ---------------------------------------- */

    /* contents */
    .contents {
    }

    .contents-background {
        width: 100%;
        height: 111px;
    }

    /* breadcrumb */
    .breadcrumb {
        padding: 3px 7.5% 12px;
    }

    .breadcrumb ol {
        width: 50%;
    }

    .breadcrumb li {
        margin-bottom: 2px;
    }

    .breadcrumb li a {
        margin-right: 5px;
    }

    .breadcrumb li span {
        font-size: 11px;
    }

    .breadcrumb li small {
        margin-right: 5px;
        font-size: 12px;
    }

    /* -------- button -------- */

    /* common-button */
    .common-button a {
        width: 240px;
        padding: 15px 0;
    }

    .common-button a span {
        font-size: 17px;
    }

    /* more-button */
    .more-button {
    }

    .more-button a {
        width: 100%;
        height: 50px;
    }

    .more-button a span {
        padding-right: 48px;
        font-size: 13px;
        line-height: 46px;
    }

    .more-button a i {
        width: 48px;
        font-size: 20px;
        line-height: 46px;
    }

    .more-button a i.fa-clone {
        font-size: 12px;
    }

    .more-button a::before {
        display: none;
    }

    .more-button a:hover span {
        color: #000000;
    }

    /* -------- table -------- */
    .table {
        border-bottom: solid 2px #000000;
    }

    .table th,
    .table td {
        display: block;
        width: 100%;
        padding: 12px 15px;
        border: solid 2px #000000;
        border-bottom: none;
        box-sizing: border-box;
        font-size: 14px;
        line-height: 160%;
    }

    .table th {
        background-color: #fafafa;
        font-weight: bold;
    }

    .table td {
    }

    /* -------- scrolled -------- */
    .scrolled {
        margin-bottom: 18px;
        overflow-x: auto;
    }

    .scrolled::-webkit-scrollbar {
        height: 5px;
    }

    .scrolled::-webkit-scrollbar-track {
        border-radius: 5px;
        background: #eeeeee;
    }

    .scrolled::-webkit-scrollbar-thumb {
        border-radius: 5px;
        background: #666666;
    }

    /* -------- visual -------- */
    .visual {
        margin-bottom: 28px;
    }

    .visual .label {
        top: -0.6em;
        font-size: 16px;
    }

    .visual .title {
        bottom: -38px;
        left: -3.75%;
    }

    .visual .title span {
        font-size: 66px;
    }

    .visual .title:first-child span {
        margin-top: -22px;
        font-size: 32px;
    }

    /* ---------- top ------------------------------------ */
    .top-visual {
        margin-bottom: 75px;
    }

    .top-visual .slider img.pc {
        display: none;
    }

    .top-visual .slider img.sp {
        display: block;
    }

    .top-visual .top-notice {
        position: absolute;
        bottom: -135px;
        left: 4px;
    }

    .top-visual .top-notice p {
        font-size: 11px;
        line-height: 160%;
    }

    .top-visual .top-notice p span {
        padding-left: 1px;
    }

    .top-visual .button {
        position: absolute;
        right: -12px;
        bottom: -90px;
    }

    .top-visual .button a {
        width: 120px;
        height: 120px;
        background-size: 94.7% auto;
    }

    .top-visual .scroll {
        bottom: -60px;
    }

    .top-visual .scroll .en {
        padding-bottom: 0;
        font-size: 11px;
    }

    .top-visual .scroll i {
        font-size: 18px;
    }

    .top-visual .vimeo-pc {
        display: none;
    }

    .top-visual .vimeo-sp {
        display: block;
    }

    .top-visual .tagline {
        right: inherit;
        bottom: 215px;
        left: 7.5%;
        width: 193px;
        height: 207px;
    }

    .top-banner-wrapper {
        flex-wrap: wrap;
        width: 100%;
        padding: 126px 0 0;
    }

    .top-banner {
        width: 47.5%;
    }

    .top-banner.shopinfo {
        width: 100%;
        margin-top: 5%;
    }

    .top-banner a {
        height: 96px;
    }

    .top-banner.shopinfo a {
        height: 72px;
    }

    .top-banner h2 {
        top: 8px;
        left: 18px;
        font-size: 13px;
    }

    .top-banner h2 .en {
        display: block;
        margin: 0 0 9px -6px;
        font-size: 10px;
    }

    .top-banner.rental h2 .en {
        margin-bottom: 17px;
    }

    .top-banner.shopinfo h2 .en {
        margin-bottom: 6px;
    }

    .top-banner img {
        height: 96px;
    }

    .top-banner.shopinfo img {
        height: 72px;
    }

    .top-banner .angle {
        right: -15px;
        bottom: -15px;
        width: 30px;
        height: 30px;
    }

    .top-banner .angle i {
        font-size: 12px;
        line-height: 30px;
    }

    /* top-title */
    .top-title {
        margin-bottom: 60px;
    }

    .top-title span {
        display: inline-block;
        border-bottom: solid #000000 6px;
        font-size: 70px;
        line-height: 120%;
        letter-spacing: 0.08em;
    }

    /* top-title */
    .top-title {
        margin-bottom: 40px;
    }

    .top-title span {
        border-bottom: solid #000000 3px;
        font-size: 32px;
    }

    /* top-event */
    .top-event {
        padding-bottom: 60px;
    }

    .top-event .top-title span {
        margin-top: -20px;
        margin-left: -4px;
    }

    /* eventSlider */
    .eventSlider {
        overflow: hidden;
    }

    .eventSlider .inner {
        margin: 0 12%;
        overflow: visible;
    }

    .eventSlider .slick-list a {
        margin: 10px 4% 12%;
    }

    .eventSlider .sliderControl {
        position: absolute;
        top: 50%;
        bottom: inherit;
        left: 0;
        width: 80%;
        margin: -108px 10% 0;
    }

    .eventSlider .sliderControl span {
        width: 48px;
        height: 48px;
    }

    .eventSlider .sliderControl span[aria-disabled="true"] {
        display: none !important;
    }

    .eventSlider .sliderControl span i {
        font-size: 18px;
        line-height: 48px;
    }

    .eventSlider .sliderPrev {
        position: absolute;
        top: 0;
        bottom: inherit;
        left: 0;
    }

    .eventSlider .sliderNext {
        position: absolute;
        top: 0;
        right: 0;
        bottom: inherit;
    }

    .event-post {
    }

    .event-post .category {
        top: -9px;
        left: -7px;
        font-size: 14px;
    }

    .event-post .icon {
        top: -10px;
        right: -2%;
        width: 50px;
        font-size: 11px;
        line-height: 50px;
    }

    .event-post .event-name {
        margin: -16px 15px 0;
        font-size: 17px;
        line-height: 150%;
    }

    .event-post .event-date {
        margin: 4px 15px 0;
        font-size: 14px;
    }

    /* top-product */
    .top-product {
        padding-top: 48px;
        padding-bottom: 60px;
    }

    .top-product-title {
        margin-bottom: 20px;
    }

    .top-product .top-title {
    }

    .top-product .top-title span {
        border-bottom-width: 3px;
        font-size: 32px;
    }

    .top-product .description {
        display: block;
        padding-top: 18px;
        padding-left: 0;
        font-size: 13px;
    }

    .product-posts {
        margin: 0 5%;
        padding-top: 0;
        overflow: visible;
    }

    .product-post {
        float: left;
        width: 46%;
        margin: 0 2% 10%;
        padding: 0 1%;
        box-sizing: border-box;
    }

    .product-post:nth-child(2n + 1) {
        clear: both;
    }

    .product-post a {
        display: block;
    }

    .product-post .category {
        position: absolute;
        top: -10px;
        left: -2%;
        font-size: 14px;
        line-height: 120%;
    }

    .product-post .icon {
        position: absolute;
        top: -10px;
        right: -2%;
        width: 50px;
        font-size: 11px;
        line-height: 50px;
    }

    .product-post .product-name {
        margin: -10px 4% 0;
        font-size: 14px;
    }

    .product-post .shop-name {
        margin: 4px 4% 0;
        font-size: 12px;
    }

    .top-product .more-button {
    }

    /* top-news */
    .top-news {
        width: 100%;
    }

    .top-news .title {
        padding: 12px 16px;
        font-size: 14px;
    }

    .top-news .ticker {
        margin: 13px 12px 0 82px;
    }

    .top-news ul li {
        font-size: 12px;
    }

    /* top-foot-nav */
    .top-foot-nav {
        position: relative;
        height: auto;
        margin-top: 0;
        padding-top: 10%;
    }

    .top-foot-nav .foot-nav {
        position: relative;
        top: inherit;
        left: inherit;
        width: 85%;
    }

    /* ---------- staff-wanted ------------------------------------ */
    .staff-caution p {
        margin: 9px 15px 10px calc(7.5% - 7px);
        font-size: 15px;
    }

    .staff-posts {
        margin: 0 5%;
        padding-top: 11%;
        padding-bottom: 7%;
    }

    .staff-post {
        float: none;
        width: auto;
        margin: 0 2.5% 14%;
    }

    .staff-post .category {
        position: absolute;
        top: -10px;
        left: -3%;
        font-size: 14px;
    }

    .staff-post .icon {
        position: absolute;
        top: -10px;
        right: -2%;
        width: 50px;
        border-radius: 100%;
        background-color: #000000;
        color: #ffffff;
        font-weight: bold;
        font-size: 11px;
        line-height: 50px;
        text-align: center;
    }

    .staff-post .photo img {
        width: 100%;
        height: auto;
    }

    .staff-post .title {
        margin: -10px 15px 0;
        font-size: 18px;
        line-height: 165%;
    }

    .staff-post .title span {
        background: #ffffff;
        color: #000000;
        font-weight: bold;
        line-height: 105%;
        letter-spacing: 0.08em;
    }

    .staff-post .shop-name {
        font-size: 15px;
    }

    /* ---------- staff-wanted detail ------------------------------------ */
    .detail-wrapper {
        padding-top: 10px;
        padding-bottom: 75px;
    }

    .detail-left {
        display: block;
    }

    .detail-right {
        display: block;
        width: auto;
        margin: 0 7.5%;
        padding-right: 0;
    }

    .detail-header {
        margin: 18px 7.5% 60px;
        padding-left: 0;
    }

    .detail-header .icon {
        width: 55px;
        font-size: 11px;
        line-height: 55px;
    }

    .detail-header .title {
        width: 80%;
        margin-right: 66px;
        font-size: 19px;
        line-height: 170%;
    }

    .detail-header .title span {
        font-size: 19px;
        line-height: 105%;
    }

    .detail-header .shop-name {
        margin-top: 18px;
        margin-bottom: 24px;
        font-size: 15px;
        line-height: 120%;
    }

    .detail-header .headline {
        margin-bottom: 18px;
        font-size: 17px;
    }

    .detail-header p {
        width: auto;
        font-size: 14px;
    }

    .detail-block {
        width: auto;
        margin-bottom: 70px;
        padding: 45px 7.5% 30px;
        padding-top: 45px;
    }

    .detail-block .title {
        top: -0.64em;
        font-size: 27px;
        line-height: 120%;
    }

    .detail-block .common-button {
        margin-top: 30px;
    }

    /* post-content ビジュアルエディタ投稿部分 */
    .post-content {
        width: auto;
    }

    .post-content h2,
    .post-content h3,
    .post-content h4 {
        margin: 30px 0 21px -7.5vw;
        border-left: solid 4px #000000;
        font-size: 17px;
    }

    .post-content p {
        margin-bottom: 18px;
        font-size: 15px;
        line-height: 180%;
    }

    .post-content img {
        display: block;
        margin-bottom: 15px;
    }

    .post-content p + img {
        margin-top: 24px;
    }

    .post-content img + p {
        margin-top: 24px;
    }

    .post-content table {
        margin-bottom: 20px;
    }

    .post-content table p {
        margin-bottom: 0;
    }

    .post-content th {
        padding: 12px 15px;
        border: solid 1px #e0e0e0;
        background-color: #cccccc;
        font-weight: bold;
        font-size: 15px;
        text-align: center;
        vertical-align: middle;
    }

    .post-content td {
        padding: 12px 15px;
        border: solid 1px #e0e0e0;
        font-size: 15px;
        text-align: center;
    }

    .post-content ul {
        padding-bottom: 12px;
    }

    .post-content ul li {
        margin-bottom: 6px;
        padding-left: 0.8em;
        font-size: 15px;
        line-height: 180%;
        text-indent: -0.8em;
    }

    .post-content ul li:before {
        content: "• ";
        color: #000000;
        font-size: 15px;
    }

    .post-content ol {
        padding-bottom: 12px;
    }

    .post-content ol li {
        list-style-type: decimal;
        list-style-position: inside;
        margin-bottom: 6px;
        padding-left: 1.3em;
        font-size: 15px;
        line-height: 180%;
        text-indent: -1.3em;
    }

    .post-content .wp-caption {
        width: auto !important;
        margin-bottom: 30px;
    }

    .post-content .wp-caption img {
        width: 100%;
        height: auto;
    }

    .post-content .wp-caption p {
        font-size: 12px;
    }

    /* sidebar */
    .sidebar {
        margin-top: 60px;
    }

    .sidebar .category-nav {
        display: none;
    }

    .sidebar .page-nav {
        padding: 25px 0 22px;
    }

    .sidebar .page-nav span {
        font-weight: bold;
        font-size: 15px;
    }

    .sidebar .page-nav small {
        font-weight: bold;
        font-size: 16px;
    }

    .sidebar .page-nav .prev {
        margin-right: 0;
    }

    .sidebar .page-nav .next {
        float: right;
    }

    .sidebar .index-button {
        margin-top: 30px;
    }

    .sidebar .index-button span {
        font-size: 14px;
    }

    /* ---------- entry ------------------------------------ */
    .entry-block {
        width: auto;
        margin: auto;
        padding-top: 30px;
        padding-bottom: 70px;
    }

    .entry-block .entry-title {
        margin: 0 7.5%;
        padding-bottom: 15px;
        font-size: 18px;
    }

    .entry-block > p {
        margin: 0 7.5%;
    }

    .entry-block .entry-form {
        margin: 60px auto 0;
        padding: 0 7.5% 45px;
    }

    .entry-block .entry-form .title {
        margin-top: -24px;
        font-size: 25px;
    }

    /* form-table */
    .form-table {
        margin: 30px auto 0;
    }

    .form-table th,
    .form-table td {
        display: block;
        width: 100%;
        border: none;
        box-sizing: border-box;
    }

    table.form-table th {
        width: 100%;
        padding: 0 0 6px;
        border: none;
        font-size: 14px;
    }

    .form-table tr.multi th {
        vertical-align: top;
    }

    .form-table td {
        padding: 0 0 21px;
        font-size: 3.733vw;
    }

    .form-table .required,
    .form-table .optional {
        float: none;
        margin-top: 0;
        margin-left: 3.2vw;
        padding: 0.533vw 0.8vw;
        font-size: 3.2vw;
        vertical-align: middle;
    }

    .form-table input[type="text"],
    .form-table input[type="email"],
    .form-table input[type="tel"],
    .form-table input[type="password"],
    .form-table textarea {
        width: 100%;
        padding: 2.666vw 2.666vw;
        border-radius: 0.8vw;
        font-size: 3.733vw;
    }

    .form-table input[type="text"],
    .form-table input[type="email"],
    .form-table input[type="tel"] {
        width: 100%;
        font-size: 3.733vw;
    }

    .form-table textarea {
        height: 32vw;
        font-size: 3.733vw;
    }

    .form-table textarea.work-place {
        width: 100%;
        height: 16vw;
    }

    .form-table textarea.work-address {
        height: 16vw;
    }

    .form-table .radio {
        display: block;
        margin-right: 0;
        padding: 1.6vw 0;
        font-size: 3.733vw;
    }

    .form-table .radio input {
        margin-right: 1.6vw;
    }

    .form-table .notice {
        display: inline-block;
        margin-top: 1.6vw;
        margin-left: 0;
        font-size: 3.466vw;
    }

    .form-table .notice br {
        display: none;
    }

    .form-table .notice.right {
        float: none;
        margin-top: 0;
        margin-right: 0;
    }

    .form-notice {
        margin-top: 0;
        font-size: 3.466vw;
        text-align: left;
    }

    .form-submit {
        margin-top: 6.4vw;
        text-align: center;
    }

    .form-submit input {
        min-width: 100%;
        padding: 5.6vw 4vw;
        border-radius: 0.8vw;
        font-size: 4vw;
    }

    /* contact form 7 */
    .form-table .wpcf7-list-item {
        margin: 0;
    }

    .form-table .wpcf7-list-item label {
        display: inline-block;
        margin-right: 5.333vw;
        margin-left: 1.866vw;
        padding: 1.866vw 0 1.866vw;
        font-size: 4vw;
    }

    .wpcf7 span.wpcf7-not-valid-tip {
        display: block;
        padding: 0.533vw 0 0;
        font-size: 3.466vw;
    }

    .wpcf7 div.wpcf7-response-output {
        margin: 1.5em 0.5em;
        padding: 3.733vw 2.933vw;
        font-size: 3.733vw;
    }

    .wpcf7 div.wpcf7-response-output.wpcf7-validation-errors {
        border: 0.533vw solid;
    }

    .wpcf7 div.wpcf7-response-output.wpcf7-mail-sent-ng {
        border: 0.533vw solid;
    }

    .wpcf7 div.wpcf7-response-output.wpcf7-mail-sent-ok {
        border: 0.533vw solid;
    }

    .wpcf7 .wpcf7-form .ajax-loader {
        display: block;
        visibility: hidden;
        margin: 1.6vw auto 0;
        border: medium none;
    }

    /* ---------- concept ------------------------------------ */
    .concept-block {
        padding-top: 10px;
        padding-bottom: 50px;
    }

    .concept-block .concept-title {
        margin-left: -7px;
        padding-bottom: 27px;
        font-size: 23px;
    }

    .concept-block .inner {
        width: 100%;
    }

    .concept-block .catchcopy {
        padding-bottom: 0;
        font-size: 17px;
    }

    .concept-block .text p {
        padding-bottom: 14px;
        font-size: 14px;
        line-height: 200%;
    }

    .concept-block .text p:last-child {
        padding-bottom: 0;
    }

    .concept-block .logo {
        width: 210px;
        margin: 0 auto 10px;
    }

    .concept-block .access {
        margin-top: 70px;
    }

    .concept-block .access .title {
        top: -15px;
        left: -7px;
        font-size: 30px;
    }

    .concept-block .access .gmap iframe {
        height: 210px;
    }

    .concept-block .access .address {
        width: 100%;
        margin: 30px auto 0;
    }

    .concept-block .access .address p {
        font-size: 13px;
    }

    .concept-block .project-team {
        margin-top: 55px;
        padding: 50px 0;
    }

    .concept-block .project-team .section-title {
        float: none;
        font-size: 18px;
    }

    .concept-block .project-team dl {
        display: block;
        width: 100%;
        margin: 36px 0 0;
    }

    .concept-block .project-team dl dt,
    dd {
        padding-bottom: 0;
    }

    .concept-block .project-team dl dt {
        width: 100%;
        padding-bottom: 4px;
        font-size: 12px;
    }

    .concept-block .project-team dl dd {
        width: 100%;
        margin-left: 0;
        padding-bottom: 26px;
        font-size: 13px;
    }

    .concept-block .project-team dl dd:last-child {
        padding-bottom: 0;
    }

    .concept-block .banners {
        padding-top: 65px;
    }

    .concept-block .banner {
        display: block;
        width: 100%;
        margin-bottom: 78px;
    }

    .concept-block .title {
        bottom: -45px;
        left: 14px;
        font-size: 24px;
        line-height: 120%;
    }

    .concept-block .title .jp {
        font-size: 14px;
    }

    /* ---------- floorguide ------------------------------------ */

    .floor-map {
        margin-top: 50px;
        margin-bottom: 36px;
    }

    .floor-map .title {
        position: absolute;
        top: -17px;
        left: -8px;
        font-size: 24px;
    }

    .floor-map .map {
        width: 600px;
    }

    .floor-holiday {
        margin: 0 7.5%;
        padding-bottom: 60px;
    }

    .floor-holiday .inner {
        display: inline-block;
        border: solid 2px;
    }

    .floor-holiday .title {
        display: block;
        padding: 12px 20px;
        border-right: none;
        border-bottom: solid 2px;
        font-size: 14px;
    }

    .floor-holiday p {
        padding: 12px 20px;
        font-size: 13px;
        line-height: 160%;
    }

    .floor-holiday p strong {
        font-size: 14px;
    }

    .shoplist-wrapper {
        z-index: 10;
        padding: 0 0 20px;
    }

    .shoplist-wrapper .section {
        margin-top: 20px;
    }

    .shoplist-wrapper .section-left {
        position: inherit;
        top: 8px;
        left: -7px;
        width: auto;
        margin-bottom: 52px;
    }

    .shoplist-wrapper .section-left .section-title {
        padding-bottom: 18px;
    }

    .shoplist-wrapper .section-left .section-title span {
        font-size: 16px;
    }

    .shoplist-wrapper .section-left .note {
        font-weight: bold;
        font-size: 13px;
        line-height: 170%;
    }

    .shoplist-wrapper .section-left .note br {
        display: none;
    }

    .shoplist-items {
        margin-bottom: 60px;
        padding: 0;
        overflow: visible;
    }

    .shoplist-item {
        float: none;
        width: 100%;
        margin: 0 0 14%;
    }

    .shoplist-item .category {
        top: -9px;
        left: -7px;
        font-size: 14px;
    }

    .shoplist-item .shop-name {
        margin: -16px 15px 0;
        font-size: 19px;
        line-height: 150%;
    }

    .shoplist-item .shop-name small {
        font-size: 14px;
    }

    .shoplist-item .shop-info {
        margin: 8px 15px 0;
        font-size: 14px;
    }

    .shoplist-item .shop-description {
        margin: 12px 15px 0;
        font-size: 14px;
    }

    .shoplist-item .shop-hours {
        margin: 3px 15px 0;
        font-size: 14px;
    }

    /* ---------- access ------------------------------------ */

    .acce-map {
        padding-bottom: 60px;
    }

    .acce-map .gmap {
        height: 320px;
    }

    .acce-map .address {
        width: auto;
        margin: 24px auto 0;
    }

    .acce-parking {
        padding-bottom: 60px;
    }

    .acce-parking .left {
        display: inline-block;
        float: none;
        width: auto;
        padding: 7% 7.5%;
        border: solid 2px;
        box-sizing: border-box;
    }

    .acce-parking .left .title-en {
        padding-bottom: 20px;
    }

    .acce-parking .left .title-en strong {
        display: block;
        font-size: 28px;
        line-height: 120%;
    }

    .acce-parking .left .title-en small {
        display: block;
        font-size: 15px;
        line-height: 120%;
    }

    .acce-parking .left .title-ja {
        padding-top: 18px;
        border-top: solid 2px;
        font-weight: bold;
        font-size: 15px;
        line-height: 160%;
    }

    .acce-parking .right {
        margin-top: 24px;
        margin-left: 0;
    }

    .acce-parking .right .intro {
        margin-bottom: 48px;
    }

    .acce-parking .right .intro br {
        display: none;
    }

    .acce-parking .plist ol {
        float: none;
        max-width: inherit;
        padding-right: 0;
    }

    .acce-parking .plist ol li {
        padding-bottom: 15px;
        font-size: 13px;
    }

    .acce-parking .plist ol:first-child {
        width: auto;
    }

    .acce-parking .plist ol:nth-child(2) {
        width: auto;
    }

    .acce-parking .plist ol:last-child {
        width: auto;
    }

    /* ---------- party ------------------------------------ */
    .party-block {
        padding-top: 18px;
        padding-bottom: 42px;
    }

    .anchor-nav {
        margin-bottom: 30px;
    }

    .anchor-nav li {
        padding-right: 24px;
    }

    .anchor-nav li::after {
        right: 12px;
        height: 16px;
    }

    .anchor-nav a {
        font-size: 12px;
        letter-spacing: 0.04em;
    }

    .anchor-nav a i {
        margin-left: 3px;
    }

    .party-intro {
        margin-bottom: 48px;
    }

    .party-section {
        margin-bottom: 42px;
    }

    .party-title {
        margin: -15px 0 0 -6px;
        padding-left: 3px;
        font-size: 18px;
    }

    .party-inner {
        display: block;
        padding: 36px 7.317% 42px;
    }

    .party-inner .photo {
        width: 100%;
        margin-bottom: 30px;
    }

    .party-inner p {
        margin-bottom: 24px;
    }

    .party-inner .text {
        width: 100%;
    }

    .party-inner .list {
        margin-bottom: 24px;
    }

    .party-inner .info th {
        width: 33.333%;
        padding: 15px 15px;
        font-size: 13px;
    }

    .party-inner .info td {
        padding: 15px 15px;
        font-size: 13px;
    }

    .party-inner .num-list li {
        margin-bottom: 10px;
        font-size: 14px;
    }

    .party-inner .num-list li small {
        font-size: 13px;
    }

    #reserve .party-inner {
        padding: 36px 7.317% 42px;
    }

    .contact-title {
        margin: -15px 0 0 -6px;
        font-size: 24px;
    }

    .contact-button a {
        width: 240px;
        padding: 20px 30px 21px 39px;
        font-size: 14px;
    }

    .contact-button a i {
        margin-left: 4px;
        font-size: 16px;
    }

    /* ---------- rental ---------------------------------------- */
    .rental-block {
        padding-top: 18px;
        padding-bottom: 42px;
    }

    .rental-intro {
        width: 100%;
        margin-bottom: 36px;
    }

    /* rentalSlider */
    #rentalSlider {
        margin-bottom: 48px;
        padding-bottom: 66px;
    }

    #rentalSlider li .title {
        bottom: -12px;
        font-size: 16px;
    }

    #rentalSlider .sliderControl span {
        width: 42px;
        height: 42px;
    }

    #rentalSlider .sliderControl span i {
        font-size: 16px;
        line-height: 42px;
    }

    #rentalSlider .sliderPrev {
        right: 56px;
    }

    .rental-section {
        margin-bottom: 42px;
    }

    .rental-title {
        margin: -15px 0 0 -6px;
        padding-left: 3px;
        font-size: 18px;
    }

    .rental-inner {
        padding: 36px 7.317% 42px;
    }

    .rental-inner .note {
        margin-bottom: 30px;
        font-size: 12px;
    }

    .rental-price-section {
        margin-bottom: 36px;
    }

    .rental-price-section h3 {
        margin-bottom: 18px;
        font-size: 16px;
    }

    .rental-price-inner {
        display: block;
    }

    .rental-price-inner .text {
        width: 100%;
        min-width: inherit;
        margin-right: 0;
        margin-bottom: 24px;
    }

    .rental-price-inner .table-wrapper {
        overflow-x: scroll;
    }

    .rental-price-inner .table {
        width: 489px;
    }

    .rental-price-inner .table th {
        display: table-cell;
        width: 25%;
        padding: 6px 15px;
        border-right: 0;
        border-left: solid 2px #ffffff;
        font-size: 12px;
    }

    .rental-price-inner .table th.first {
        border-left: solid 2px #000000;
    }

    .rental-price-inner .table th.last {
        border-right: solid 2px #000000;
    }

    .rental-price-inner .table td {
        display: table-cell;
        padding: 9px 15px;
        font-size: 12px;
    }

    .rental-price-inner .note {
        margin: 18px 0 0;
    }

    .rental-price-inner .photo {
        width: 100%;
    }

    .rental-price-download .list {
        margin-bottom: 27px;
    }

    .rental-price-download .list li {
        font-size: 13px;
    }

    #flow .rental-inner {
        display: block;
    }

    .rental-step {
        width: 100%;
        padding: 9% 8% 8.5%;
    }

    .rental-step:nth-child(odd):after {
        display: none;
    }

    .rental-step:nth-child(even) {
        border-left: solid 2px #000000;
    }

    .rental-step h3 {
        margin-bottom: 18px;
        font-size: 16px;
    }

    .rental-step h3 span {
        padding-right: 30px;
        font-size: 18px;
    }

    .rental-step h3 span::after {
        top: 4px;
        right: 15px;
        width: 1px;
        height: 21px;
    }

    .rental-step p {
        margin-bottom: 6px;
        font-size: 13px;
    }

    #entry .rental-inner p {
        margin-bottom: 27px;
    }

    /* ---------- event ---------------------------------------- */

    /* event-nav */
    .event-nav {
        max-width: 420px;
        margin: auto;
        padding: 0 7.5% 56px;
    }

    .event-nav .inner {
        display: block;
        border: solid 2px #000000;
    }

    .event-nav .title {
        float: none;
        width: 100%;
        padding: 14px 18px;
        border-right: none;
        border-bottom: solid 2px #000000;
        box-sizing: border-box;
        font-size: 14px;
    }

    .event-nav ul {
        float: none;
        margin: 14px 14px 10px;
    }

    .event-nav ul li {
        margin: 0 4px 8px;
    }

    .event-nav ul li a {
        border-bottom: solid 2px;
        font-size: 12.5px;
    }

    /* event-posts */
    .event-posts {
        margin: 0 7.5%;
        padding-top: 2%;
        overflow: visible;
    }

    .event-posts .event-post {
        position: relative;
        float: none;
        width: auto;
        max-width: 420px;
        margin: 0 auto 14%;
    }

    /* wp-pagenavi */
    .pagenav {
        padding-top: 30px;
        padding-bottom: 80px;
    }

    .wp-pagenavi a,
    .wp-pagenavi span {
        width: 38px;
        height: 38px;
        margin-left: 8px;
        border-bottom: solid 2px #212121;
        font-size: 13px;
        line-height: 38px;
    }

    .wp-pagenavi a.first,
    .wp-pagenavi a.last {
        width: auto;
        padding: 0 15px;
    }

    /* event-header */
    .event-header {
        margin-top: 20px;
        margin-left: -3%;
        padding: 0 7.5%;
    }

    .event-header .event-name span {
        font-size: 21px;
    }

    .event-header .event-date {
        display: inline-block;
        margin-top: 8px;
        font-size: 18px;
    }

    /* event-detail */
    .event-detail-wrapper {
        position: relative;
        margin: 0;
    }

    .event-detail-wrapper .icon {
        top: -45px;
        right: 10px;
        width: 60px;
        font-size: 13px;
        line-height: 60px;
    }

    .event-detail {
        padding: 7.5%;
    }

    .event-detail .left {
        float: none;
        width: auto;
    }

    .event-detail .left .photo {
        margin-bottom: 8%;
    }

    .event-detail .left .photo p {
        padding-top: 8px;
        font-size: 13px;
    }

    .event-detail .right {
        float: none;
        width: auto;
    }

    .event-detail .share {
        padding-top: 42px;
    }

    .event-detail .share .inner {
        display: inline-block;
        border: solid 2px #000000;
    }

    .event-detail .share .title {
        float: left;
        margin-bottom: 0;
        padding: 20px 24px;
        border-right: solid 2px #000000;
        font-weight: bold;
        font-size: 15px;
        letter-spacing: 0.04em;
    }

    .event-detail .share ul {
        float: left;
        margin: 16px 20px 0 20px;
    }

    .event-detail .share ul li {
        margin: 0 6px;
    }

    .event-detail .share ul li i {
        font-size: 17px;
    }

    .event-detail .share ul li.facebook i {
        font-size: 16px;
    }

    .event-detail .share ul li.hatena i {
        font-size: 15px;
    }

    /* event-footer */
    .event-footer {
        padding: 12% 0 16%;
    }

    .event-footer .page-nav {
        padding: 22px 0;
    }

    .event-footer .page-nav span {
        font-size: 13px;
    }

    .event-footer .page-nav i {
        font-size: 16px;
    }

    .event-footer .page-nav .prev i {
        padding-right: 5px;
    }

    .event-footer .page-nav .next i {
        padding-left: 5px;
    }

    .event-footer .index {
        padding-top: 1px;
        text-align: center;
    }

    .event-footer .index span {
        padding-left: 24px;
        background: url(../img/ic_index.png) no-repeat left center;
        font-weight: bold;
        font-size: 13px;
        line-height: 15px;
    }

    /* postbody */
    .postbody {
    }

    .postbody h1,
    .postbody h2 {
        padding: 0.8em 0;
        font-weight: bold;
        font-size: 15px;
        letter-spacing: 0.08em;
    }

    .postbody h3,
    .postbody h4 {
        padding: 0.6em 0;
        font-weight: bold;
        font-size: 13px;
        letter-spacing: 0.08em;
    }

    .postbody p {
        margin-bottom: 0.8em;
        font-size: 13px;
    }

    .postbody img {
        max-width: 100%;
        height: auto;
        margin: 0.7em auto 1.5em;
    }

    .postbody img:first-child {
        margin-top: 0;
    }

    .postbody ul {
    }

    .postbody ul > li {
        padding-bottom: 0.3em;
        padding-left: 0.2em;
        font-size: 13px;
    }

    .postbody ol {
        margin-bottom: 1em;
    }

    .postbody ol > li {
        padding-bottom: 0.3em;
        padding-left: 0.2em;
        font-size: 13px;
    }

    .postbody table {
        width: 100%;
        margin-bottom: 1.5em;
    }

    .postbody table th,
    .postbody table td {
        padding: 8px 10px;
        font-size: 13px;
    }

    .postbody .alignleft {
        float: none;
        margin-right: 0;
    }

    .postbody .alignright {
        float: none;
        margin-