@charset "UTF-8";

@font-face {
    font-family: 'icon';
    src: url("../fonts/icon.eot?jy5wt");
    src: url("../fonts/icon.eot?jy5wt#iefix") format("embedded-opentype"), url("../fonts/icon.ttf?jy5wt") format("truetype"), url("../fonts/icon.woff?jy5wt") format("woff");
    font-weight: normal;
    font-style: normal;
}

.icon {
    font-family: 'icon';
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    line-height: 1;
    speak: none;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

i.fb::before {
    content: "\e900";
}

i.in::before {
    content: "\e901";
}

i.tw::before {
    content: "\e902";
}

i.yt::before {
    content: "\e903";
}

html {
    font-size: 62.5%;
}

body {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "hiragino kaku gothic pron", "メイリオ", sans-serif;
    font-weight: 500;
    color: #383b3d;
    min-width: 320px;
    background-color: #fff;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-wrap: break-word;
    -webkit-print-color-adjust: exact;
    overscroll-behavior-y: none;
}

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

img.ofi {
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

.event-list-image .ofi {
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

h1,
h2,
h3,
h4,
h5 {
    font-weight: normal;
}

a {
    color: #00331f;
}

em {
    font-style: normal;
}

.em {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: bold;
}

.mincho {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", メイリオ, Meiryo, serif;
}

@media all and (-ms-high-contrast: none) {
    .mincho {
        font-family: Century, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    }
}

.mincho.em {
    font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, "ＭＳ Ｐ明朝", "ＭＳ 明朝", メイリオ, Meiryo, serif;
    font-weight: bold;
}

@media all and (-ms-high-contrast: none) {
    .mincho.em {
        font-family: Century, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        font-weight: bold;
    }
}

.fc-green {
    color: #00331f;
}

.fc-red {
    color: #dd3c00;
}

.ie-annotation {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.ie-annotation p {
    font-size: 1.5em;
    line-height: 1.3;
    position: absolute;
    right: 50%;
    bottom: 50%;
    transform: translate(50%, 50%);
    max-width: 600px;
    padding: 0 18px;
}

@media (min-width: 481px) {
    .ie-annotation p {
        font-size: 2em;
    }
}

@media only screen and (min-width: 960.1px) {
    .disp-md {
        display: none;
    }
}

@media only screen and (max-width: 960px) {
    .disp-no-md {
        display: none;
    }
}

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

.sticky {
    position: -webkit-sticky;
    position: sticky;
    z-index: 99;
    top: 0;
}

.is-fixed {
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
}

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

@media only screen and (max-width: 960px) {
    .flex-md {
/*
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
*/
		display: block;
    }
}

@media only screen and (max-width: 960px) {
    .no-flex-md {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

@media only screen and (max-width: 640px) {
    .no-flex-sm {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.flex-center {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.flex-1 {
    -ms-flex: 1 0 0%;
    flex: 1 0 0%;
}

.container {
    margin: 0 auto;
    padding: 0 30px;
    width: 100%;
    max-width: 1200px;
}

.wrapper {
    margin: 0 auto;
    padding: 0 30px;
    width: 100%;
    max-width: 960px;
}

.button-wrapper {
    text-align: center;
}

.button-wrapper.right {
    text-align: right;
}

.button-primary {
    font-size: 1.5em;
    line-height: 1;
    position: relative;
    display: inline-block;
    padding: 3px 3px;
}

@media only screen and (max-width: 960px) {
    .button-primary {
        font-size: 1.4em;
    }
}

.button-primary.arrow.right {
    padding-right: 36px;
}

@media only screen and (max-width: 960px) {
    .button-primary.arrow.right {
        padding-right: 30px;
    }
}

.button-secondary {
    font-size: 1.5em;
    display: inline-block;
    padding: 18px 36px;
    border: #00331f solid 2px;
}

@media only screen and (max-width: 960px) {
    .button-secondary {
        font-size: 1.3em;
        padding: 12px 24px;
    }
}

@media only screen and (min-device-width: 1025px) {
    .button-secondary {
        transition: color 400ms cubic-bezier(0, 0, 0.5, 1), background-color 400ms cubic-bezier(0, 0, 0.5, 1);
    }

    .button-secondary:hover {
        color: #fff;
        background-color: #00331f;
    }
}

.button-arrow {
    position: relative;
    display: inline-block;
    width: 28px;
    height: 28px;
    border-radius: 100%;
    background-color: #00331f;
    transition: background-color 400ms cubic-bezier(0, 0, 0.5, 1);
}

@media only screen and (max-width: 960px) {
    .button-arrow {
        width: 24px;
        height: 24px;
    }
}

@media only screen and (min-device-width: 1025px) {

    .button-primary.arrow:hover .button-arrow,
    .button-arrow:hover {
        background-color: #dd3c00;
    }
}

.button-primary.arrow .button-arrow {
    position: absolute;
}

.button-primary.arrow.left .button-arrow,
.button-primary.arrow.right .button-arrow {
    top: 0;
    bottom: 0;
    margin: auto 0;
}

.button-primary.arrow.right .button-arrow {
    right: 0;
}

.button-arrow::before {
    color: #fff;
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: inline-block;
    margin: auto;
    width: 8px;
    height: 8px;
    border: solid 2px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.button-arrow.top::before {
    top: 2px;
    border-bottom: none;
    border-right: none;
}

.button-arrow.bottom::before {
    bottom: 2px;
    border-top: none;
    border-left: none;
}

.button-arrow.left::before {
    left: 2px;
    border-top: none;
    border-right: none;
}

.button-arrow.right::before {
    right: 2px;
    border-bottom: none;
    border-left: none;
}

.writing-vertical.rl {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.writing-vertical {
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
}

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

    .writing-vertical,
    .writing-vertical.rl {
        -webkit-writing-mode: inherit;
        -ms-writing-mode: inherit;
        writing-mode: inherit;
    }
}

.title-primary {
    font-size: 2.8em;
    padding: 18px;
    border-left: solid 1px;
    border-right: solid 1px;
}

@media only screen and (max-width: 960px) {
    .title-primary {
        font-size: 1.8em;
        padding: 9px;
        border: solid 1px;
        border-left: none;
        border-right: none;
    }
}

.title-primary.spacing {
    letter-spacing: .5em;
}

.title-secondary {
    font-size: 1.8em;
    letter-spacing: .05em;
    text-align: center;
    margin-top: 30px;
}

.title-secondary.title-main {
    margin-top: 108px;
}

@media only screen and (max-width: 960px) {
    .title-secondary.title-main {
        margin-top: 72px;
    }
}

.title-tertiary {
    font-size: 2.4em;
    line-height: 1.8;
    letter-spacing: .05em;
    text-align: center;
}

@media only screen and (max-width: 960px) {
    .title-tertiary {
        font-size: 1.6em;
    }
}

.title-bar-bottom {
    position: relative;
    padding-bottom: .75em;
}

.title-bar-bottom::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: inline-block;
    margin: 0 auto;
    width: 40px;
    height: 3px;
    background-color: #00331f;
}

.heading-primary {
    font-size: 2.2em;
    line-height: 1.8;
    text-shadow: 1px 1px 0px #fff;
}

@media only screen and (max-width: 960px) {
    .heading-primary {
        font-size: 1.5em;
        margin-top: 24px;
    }
}

.heading-primary.backno {
    margin-top: 54px;
}

@media only screen and (max-width: 960px) {
    .heading-primary.backno {
        margin-top: 30px;
    }
}

.heading-primary em {
    font-size: 1.65em;
    margin-left: 36px;
}

@media only screen and (max-width: 960px) {
    .heading-primary em {
        margin-left: 12px;
    }
}

.heading-primary.bar-right {
    overflow-x: hidden;
    position: relative;
    z-index: 1;
}

.heading-primary.bar-right span {
    display: inline-block;
    padding-right: 1em;
    background-color: #fff;
}

.heading-primary.bar-right::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    display: inline-block;
    margin: auto 0;
    width: 100%;
    height: 1px;
    background-color: #a19e94;
}

.heading-secondary {
    font-size: 1.8em;
    line-height: 1.5;
    letter-spacing: .05em;
}

@media only screen and (max-width: 960px) {
    .heading-secondary {
        /* font-size: 1.6em; */
        font-size: 1.4em;
    }
}

.event .heading-secondary,
.topics .heading-secondary {
    margin-bottom: 12px;
}

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

    .event .heading-secondary,
    .topics .heading-secondary {
        margin-bottom: 6px;
    }
} */

.heading-secondary.box {
    color: #fff;
    text-align: center;
    padding: 6px 18px;
    background-color: #00331f;
}

.heading-home {
    font-size: 3em;
    line-height: 1.1;
}

@media only screen and (max-width: 960px) {
    .heading-home {
        font-size: 2em;
        line-height: 1.3;
        text-align: center;
    }
}

.heading-home small {
    font-size: .5em;
    letter-spacing: .05em;
    color: #a19e94;
}

@media only screen and (max-width: 960px) {
    .heading-home small {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateY(110%) translateX(-50%);
        -webkit-transform: translateY(110%) translateX(-50%);
    }
    .home-event-mv-title small{
        left: 8%;
    }
    .home-tabibito-title small{
        left: 17%;
    }

    /* small.smallOne {
        position: absolute;
        left: 23px;
    }

    small.smallTwo {
        position: absolute;
        left: 60px;
    }

    small.smallThree {
        position: absolute;
        top: 28px;
    } */
}

.lead-primary {
    font-size: 1.5em;
    line-height: 1.8;
    margin-top: 25px;
}

@media only screen and (max-width: 960px) {
    .lead-primary {
        font-size: 1.4em;
    }
}

.lead-secondary {
    font-size: 1.4em;
    line-height: 1.8;
}

.lead-main {
    line-height: 2.4;
    margin-bottom: 100px;
    padding: 0 30px;
}

@media only screen and (max-width: 960px) {
    .lead-main {
        line-height: 1.8;
        margin-bottom: 72px;
        padding: 0;
    }
}

.time-primary {
    font-size: 1.4em;
    color: #a19e94;
}

.t-center {
    text-align: center;
}

@media only screen and (max-width: 960px) {
    .lead-primary.t-center {
        text-align: left;
    }
}

.header {
    position: relative;
    z-index: 99;
    margin-bottom: 36px;
    padding: 60px 0 12px;
    background-image: linear-gradient(transparent 52%, #f5f5f5 48%);
}

@media only screen and (max-width: 960px) {
    .header {
        margin-bottom: 0;
        padding: 0;
        height: 50px;
        background: #fff;
    }
}

.header-trigger {
    display: none;
    cursor: pointer;
}

@media only screen and (max-width: 960px) {
    .header-trigger {
        position: fixed;
        z-index: 99;
        top: 0;
        right: 0;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: flex-end;
        -ms-flex-align: end;
        align-items: flex-end;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 50px;
        height: 50px;
        background-color: #00331f;
    }

    .header-trigger::before {
        content: "";
        position: absolute;
        top: 9px;
        left: 12px;
        display: inline-block;
        width: 5px;
        height: 5px;
        background-color: #fff;
        box-shadow: 10px 0 0 0 #fff, 20px 0 0 0 #fff, 0 10px 0 0 #fff, 10px 10px 0 0 #fff, 20px 10px 0 0 #fff, 0 20px 0 0 #fff, 10px 20px 0 0 #fff, 20px 20px 0 0 #fff;
    }

    .header-trigger.is-active::before {
        box-shadow: 20px 0 0 0 #fff, 10px 10px 0 0 #fff, 0 20px 0 0 #fff, 20px 20px 0 0 #fff;
    }
}

.header-trigger span {
    font-size: 1em;
    color: #fff;
    padding-bottom: 2px;
}

@media only screen and (max-width: 960px) {
    .header .container {
        padding: 0;
    }
}

.header-logo {
    margin-top: 3px;
    width: 210px;
}

@media only screen and (max-width: 960px) {
    .header-logo {
        position: relative;
        margin-top: 0;
        width: 90px;
        height: 50px;
    }
}

@media only screen and (max-width: 960px) {
    .header-logo img {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 6px;
        margin: auto;
    }
}

.header-nav {
    font-size: 1.4em;
    letter-spacing: .25em;
    margin-left: auto;
}

@media only screen and (max-width: 960px) {
    .header-nav {
        font-size: 1.6em;
        letter-spacing: normal;
        position: fixed;
        z-index: -1;
        top: 0;
        left: 0;
        display: none;
        padding: 60px 0;
        width: 100%;
		height: 100%;
        background-color: rgba(0, 51, 31, 0.95);
    }

    .header-nav .flex-md {
        margin: 0 auto;
        width: 100%;
        max-width: 50%;
    }

    .header-nav-box:nth-of-type(1) {
        width: 5em;
    }

    .header-nav-box:nth-of-type(2) {
        margin-left: auto;
        width: 11em;
    }
}

.header-nav a {
    position: relative;
    display: block;
    margin: 0 30px;
    padding: 3px;
}

@media only screen and (min-width: 960.1px) {
    .header-nav a.disp-md {
        display: none;
    }
}

@media only screen and (max-width: 960px) {
    .header-nav a {
        color: #fff;
        margin: 15px 0;
        padding: 8px 0;
        border-bottom: #a19e94 dotted 1px;
    }
}

@media only screen and (min-device-width: 1025px) {
    .header-nav a {
        transition: color 400ms cubic-bezier(0, 0, 0.5, 1);
    }

    .header-nav a:hover {
        color: #006400;
    }
}

@media only screen and (max-width: 960px) {
    .header-nav-tw {
        text-align: center;
        display: block;
    }

    .header-nav-tw a {
        border-bottom: none;
    }
}

.header-nav a::before {
    content: "";
    opacity: 0;
    position: absolute;
    top: -6px;
    left: 1px;
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 2px;
    background-color: #dd3c00;
}

.header-nav a.is-current::before {
    opacity: 1;
}

@media only screen and (min-device-width: 1025px) {
    .header-nav a::before {
        transition: opacity 400ms cubic-bezier(0, 0, 0.5, 1);
    }

    .header-nav a:hover::before {
        opacity: 1;
    }
}

.fixed-nav {
    font-size: 1.6em;
    letter-spacing: .1em;
    text-align: right;
    margin-top: 45px;
}

@media only screen and (max-width: 1279px) {
    .fixed-nav {
        font-size: 1.3em;
    }
}

@media only screen and (max-width: 960px) {
    .fixed-nav {
        display: none;
    }
}

.home .fixed-nav {
    margin-top: 100px;
}

.fixed-nav.is-fixed {
    margin-top: 0;
}

.fixed-nav nav {
    position: relative;
}

.fixed-nav-wrapper {
    margin-left: auto;
    background-color: #f5f5f5;
}

.fixed-nav-list {
    width: 100%;
    max-width: 1020px;
}

.fixed-nav span {
    position: relative;
    z-index: 1;
    display: inline-block;
    margin: 0 3px;
    padding: 12px 0;
}

.topics .fixed-nav span {
    display: none;
}

.fixed-nav span::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: none;
    margin: 0 auto;
    width: 30px;
    height: 2px;
    background-color: #dd3c00;
}

.fixed-nav span.is-current::after {
    display: inline-block;
}

.fixed-nav-list a {
    position: relative;
    z-index: 1;
    display: inline-block;
    padding: 6px 12px;
    background-color: #f5f5f5;
}

@media only screen and (min-device-width: 1025px) {
    .fixed-nav-list a {
        transition: color 400ms cubic-bezier(0, 0, 0.5, 1), background-color 400ms cubic-bezier(0, 0, 0.5, 1);
    }

    .fixed-nav-list a:hover {
        color: #fff;
        background-color: #00331f;
    }
}

.fixed-nav .fixed-nav-tw a::after {
    width: 21px;
}

.side-nav {
    position: absolute;
    top: 108px;
    left: 0;
    width: 45px;
}

.side-nav span {
    text-align: center;
    display: block;
    margin: 0;
    padding: 0;
}

.topics .side-nav span {
    display: block;
}

.side-nav a {
    display: inline-block;
    margin: 0;
    padding: 2.5em .8em;
}

.side-nav span:nth-of-type(1) a {
    color: #00331f;
    background-color: #fff;
    outline: solid 2px;
    outline-offset: -2px;
}

.side-nav span:nth-of-type(2) a {
    color: #fff;
    background-color: #00331f;
}

@media only screen and (min-device-width: 1025px) {
    .side-nav span:nth-of-type(1) a:hover {
        color: #00331f;
        background-color: #fff;
    }

    .side-nav span:nth-of-type(2) a:hover {
        color: #fff;
        background-color: #00331f;
    }
}

.breadcrumb {
    font-size: 1.5em;
    line-height: 1.5;
    margin-top: 78px;
}

@media only screen and (max-width: 960px) {
    .breadcrumb {
        font-size: 1.2em;
        margin-top: 24px;
    }
}

@media only screen and (min-device-width: 1025px) {
    .breadcrumb a {
        transition: color 400ms cubic-bezier(0, 0, 0.5, 1);
    }

    .breadcrumb a:hover {
        color: #dd3c00;
    }
}

.bread-arrow {
    margin: 0 9px;
}

@media only screen and (max-width: 960px){
	.bread-arrow {
    margin: 0 5px;
	}
}

.footer {
    margin-top: 198px;
}

@media only screen and (max-width: 960px) {
    .footer {
        margin-top: 90px;
    }
}

.footer-top-nav {
    background-color: #f5f5f5;
}

.footer-top-nav a {
    text-align: center;
    display: block;
    padding: 36px 30px;
    width: 50%;
    background-color: #f5f5f5;
}

.footer-top-nav a:nth-of-type(2) {
    border-left: solid 1px;
}

.footer-top-nav-image {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 60px;
}

.footer-top-nav-image svg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 36%;
    max-width: 60px;
    height: auto;
}

.footer-top-nav-heading {
    font-size: 1.5em;
    display: inline-block;
    margin: 1em 0;
}

.footer-top-nav .button-primary {
    letter-spacing: .1em;
    line-height: 1;
}

.footer-top-nav .button-primary:after {
    content: "";
    display: inline-block;
    margin-left: .5em;
    width: .6em;
    height: .6em;
    border-top: solid 1px;
    border-right: solid 1px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.footer .container {
    padding: 30px 30px 42px;
    border-top: #00331f solid 2px;
}

@media only screen and (max-width: 960px) {
    .footer .container {
        padding: 18px 30px 36px;
        border: none;
    }
}

.footer .container .button-wrapper .button-arrow {
    margin-bottom: 3px;
}

.footer .container .button-wrapper .mincho {
    font-size: 1.6em;
}

.footer-information {
    font-size: 1.3em;
    line-height: 1.5;
    margin-top: 45px;
}

@media only screen and (max-width: 960px) {
    .footer-information {
        font-size: 1.2em;
    }
}

@media only screen and (max-width: 960px) {
    .footer-information .footer-box:nth-of-type(odd) {
        margin-right: 0;
        width: 100%;
    }
}

@media only screen and (max-width: 960px) {
    .footer-information .footer-box:nth-of-type(even) {
        margin-left: 0;
        width: 100%;
    }
}

.footer-logo {
    width: 180px;
    margin-right: 48px;
}

@media only screen and (max-width: 960px) {
    .footer-logo {
        order: 1;
        margin: 0 0 0 auto;
        width: 33%;
        max-width: 150px;
    }
}

.footer-overview {
    margin-right: 3%;
}

@media only screen and (max-width: 960px) {
    .footer-overview {
        order: 3;
        margin: 42px 0 0;
    }
}

.footer-overview h2 {
    font-size: 1.2em;
    margin-bottom: 3px;
}

.footer-overview .space {
    margin: 0 12px;
}

@media only screen and (max-width: 960px) {
    .footer-overview .space {
        margin: 0 6px;
    }
}

.footer-nav {
    text-align: right;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

@media only screen and (max-width: 960px) {
    .footer-nav {
        text-align: left;
        order: 2;
        display: block;
        margin-top: 12px;
    }
}

@media only screen and (max-width: 960px) {
    .footer-nav div {
        margin: 0;
    }
}

.footer-nav span {
    margin: 0 6px;
}

@media only screen and (max-width: 960px) {
    .footer-nav span {
        position: relative;
        display: block;
        margin: 14px 0;
        font-size: 1.5rem;
    }

    .footer-nav span::before {
        content: "-";
        color: #006400;
        display: inline-block;
        margin-right: 3px;
    }
}

.footer-nav a {
    display: inline-block;
    padding: 3px;
}

@media only screen and (min-device-width: 1025px) {
    .footer-nav a {
        transition: color 400ms cubic-bezier(0, 0, 0.5, 1);
    }

    .footer-nav a:hover {
        color: #dd3c00;
    }
}

.footer-copyright {
    font-size: 1.2em;
    text-align: center;
    margin-top: 48px;
}

.mv .container {
    position: relative;
}

.mv-sub {
    margin: 0 auto;
    padding-top: 12px;
    width: 100%;
    max-width: 764px;
}

@media only screen and (max-width: 960px) {
    .mv-sub {
        margin: 0 -18px;
        padding-top: 0;
        width: auto;
        max-width: 960px;
    }
}

.mv .title-primary {
    position: absolute;
    top: 0;
    right: 72px;
}

@media only screen and (max-width: 960px) {
    .mv .title-primary {
        position: relative;
        top: auto;
        right: auto;
        margin-top: 36px;
    }
}

.home .mv {
    overflow: hidden;
}

.home .mv .container {
    position: relative;
    z-index: 1;
    padding-bottom: 66px;
}

@media only screen and (max-width: 960px) {
    .home .mv .container {
        padding: 0;
    }
}

.home .mv .container::before,
.home .mv .container::after {
    content: "";
    position: absolute;
    z-index: -1;
    display: block;
}

.home .mv .container::before {
    bottom: 0;
    right: 30px;
    width: 90%;
    height: 522px;
    background-color: #f5f5f5;
	top:30px;
}

@media only screen and (max-width: 960px) {
    .home .mv .container::before {
        bottom: 78px;
		margin-bottom: -78px;
        right: 0;
        width: 90%;
        height: 80%;
        background-color: #f5f5f5;
    }
}

@media only screen and (max-width: 640px) {
    .home .mv .container::before {
        bottom: 48px;
		margin-bottom: -48px;
    }
}

.home .mv .container::after {
    bottom: 27px;
	margin-bottom: -27px;
    left: 30px;
    width: 92%;
    height: 422px;
    background-color: #dfebe4;
	top: 103px;
}

@media only screen and (max-width: 960px) {
    .home .mv .container::after {
        bottom: 138px;
		margin-bottom: -138px;
        left: auto;
        right: 0;
        width: 83%;
        height: 70%;
    }
}

@media only screen and (max-width: 640px) {
    .home .mv .container::after {
        bottom: 84px;
		margin-bottom: -84px;
    }
}

.home .mv-headings {
    position: relative;
    margin-right: 48px;
}

@media only screen and (max-width: 960px) {
    .home .mv-headings {
        order: 2;
        margin-left: 36px;
        margin-right: 0;
    }
}

@media only screen and (max-width: 640px) {
    .home .mv-headings {
        margin-left: 24px;
    }
}

.home .mv .heading-primary {
    font-size: 2.7em;
    line-height: 1.3;
    position: relative;
    top: 54px;
    left: 12px;
}

@media only screen and (max-width: 960px) {
    .home .mv .heading-primary {
        top: 0;
        left: 0;
    }

    .home .mv .heading-primary em {
        margin-left: 2px;
    }
}

@media only screen and (max-width: 640px) {
    .home .mv .heading-primary {
        font-size: 1.6em;
    }
}

.home .mv .heading-primary .small {
    letter-spacing: .25em;
}

.home .mv .heading-primary span:nth-of-type(2) {
    margin-top: 1em;
}

.home .mv .heading-primary em.em {
    margin-top: 2.5em;
}

@media only screen and (max-width: 960px) {
    .home .mv .heading-primary em.em {
        margin-top: 0;
        margin-left: 2.5em;
    }
}

.home .mv .heading-primary .small {
    font-size: .6em;
}

.about .mv .heading-primary,
.tabibito .mv .heading-primary {
    position: absolute;
    bottom: 132px;
    left: 48px;
}

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

    .about .mv .heading-primary,
    .tabibito .mv .heading-primary {
        position: relative;
        bottom: auto;
        left: auto;
    }
}

.home .mv .button-wrapper {
    position: absolute;
    left: 60px;
    bottom: 24px;
	margin-bottom: -24px;
	top: 440px;
}

@media only screen and (max-width: 960px) {
    .home .mv .button-wrapper {
        top: 0;
        bottom: 0;
        left: auto;
        right: 0;
        margin: auto 24px auto 0;
        height: 1em;
    }
}

.home .mv-image {
    width: 100%;
    max-width: 870px;
}

@media only screen and (max-width: 960px) {
    .home .mv-image {
        order: 1;
        position: relative;
        padding-bottom: 75%;
        height: 0;
    }
}

.home .mv-image img {
    width: 100%;
    height: 486px;
}

@media only screen and (max-width: 960px) {
    .home .mv-image img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
    }
}

.home-information {
    margin-top: 130px;
    padding-bottom: 108px;
}

@media only screen and (max-width: 960px) {
    .home-information {
        margin-top: 96px;
        padding-bottom: 0;
    }
}

.home-information-block {
    margin-right: auto;
    width: 47%;
}

@media only screen and (max-width: 960px) {
    .home-information-block {
        margin: 0 auto;
        width: 100%;
        max-width: 600px;
    }
}

.home-information .heading-home {
    margin-right: 24px;
}

@media only screen and (max-width: 960px) {
    .home-information .heading-home {
        position: relative;
        margin-bottom: 3rem;
    }
}

.home-information .lead-primary {
    margin-top: 0;
}

@media only screen and (max-width: 960px) {
    .home-information .lead-primary {
        margin-top: 18px;
    }
}

.home-information li {
    margin-bottom: 12px;
    padding: 0 0 6px 1em;
    border-bottom: #a19e94 dotted 4px;
	position: relative;
}

@media only screen and (max-width: 960px) {
    .home-information li {
        border-bottom: #a19e94 dotted 1px;
    }
}

.home-information-block li a::before {
    content: "▶";
    margin-right: .5em;
}

@media screen and (min-device-width: 1025px) {
    .home-information-block li a::before {
        transition: color 400ms;
    }

    .home-information-block li a:hover::before {
        color: #dd3c00;
    }
}

.home-topics-block {
    position: relative;
    margin-left: auto;
    padding-bottom: 42px;
    width: 47%;
}

@media only screen and (max-width: 960px) {
    .home-topics-block {
        margin: 100px auto 0;
        width: 100%;
        max-width: 600px;
    }
}

@media only screen and (max-width: 640px) {
    .home-topics-block {
        margin-left: -30px;
        margin-right: -30px;
        padding: 30px 30px 50px;
        width: auto;
        background-color: #f5f5f5;
    }
}

@media screen and (max-width: 960px) {
    .home-topics-block li {
        display: block;
        padding: 1rem 1rem 2rem 2rem ;
    }

	.home-topics-block time{
		padding-left: 1rem;
	}
}

.home-topics-block li time {
    font-size: .95em;
    letter-spacing: .1em;
    color: #a19e94;
    margin-right: 1em;
}

@media screen and (max-width: 960px) {
    .home-topics-block li time {
        text-indent: -1em;
        display: block;
    }
}

@media screen and (min-device-width: 1025px) {
    .home-topics-block li time {
        transition: color 400ms;
    }

    .home-topics-block li a:hover time {
        color: #dd3c00;
    }
}

.home-topics-block .button-wrapper {
    position: absolute;
    bottom: 0;
    right: 0;
}

@media only screen and (max-width: 640px) {
    .home-topics-block .button-wrapper {
        position: relative;
        margin-top: 30px;
    }
}

.home-event {
    position: relative;
    z-index: 1;
    padding-top: 100px;
}

@media only screen and (max-width: 960px) {
    .home-event {
        margin-top: 72px;
        padding-top: 0;
    }
}

.home-event::before {
    content: "";
    position: absolute;
    top: 5%;
    left: 50%;
    z-index: -1;
    display: block;
    width: 50%;
    height: 810px;
    background-color: #dfebe4;
    box-shadow: -180px -36px 0 #f5f5f5;
}

@media only screen and (max-width: 960px) {
    .home-event::before {
        top: 48px;
        height: 294px;
        box-shadow: -36px -12px 0 #f5f5f5;
    }
}

.home-event-mv {
    margin-bottom: 30px;
}

@media only screen and (max-width: 960px) {
    .home-event-mv {
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 960px) {
    .home-event-mv-image {
        order: 2;
        margin: 24px -30px 0;
    }
}

.home-event-mv-title {
    position: relative;
    margin-left: 36px;
}

@media only screen and (max-width: 960px) {
    .home-event-mv-title {
        order: 1;
        text-align: center;
        margin: 0 auto;
        width: 100%;
        max-width: 600px;
    }

    .home-event-mv-title .heading-home {
        text-align: left;
    }
}

.home-event-mv-title .button-wrapper {
    position: absolute;
    bottom: 0;
    right: 0;
	top: 215px;
}

.home-event-list {
    margin: 78px auto 0;
    width: 100%;
    max-width: 1000px;
}

@media only screen and (max-width: 960px) {
    .home-event-list {
        margin: 78px -30px 0;
        width: auto;
    }
}

.home-event-list-inner {
    display: none;
    margin: 0 -24px;
}

@media only screen and (max-width: 960px) {
    .home-event-list-inner {
        margin: 0;
    }
}

.home-event-list-inner.slick-initialized {
    display: block;
}

.home-event-list-item {
    margin: 0 24px;
}

@media only screen and (max-width: 1200px) {
    .home-event-list-item {
        margin: 0 15px;
    }
}

@media only screen and (max-width: 960px) {
    .home-event-list-item {
        margin: 0;
        -webkit-transform: scale(0.75, 0.75);
        transform: scale(0.75, 0.75);
        -webkit-transition: transform 400ms 600ms;
        transition: transform 400ms 600ms;
    }

    .home-event-list-item.slick-center {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }
}

.home-event-list-image {
    position: relative;
    display: inline-block;
    padding-bottom: 71%;
    width: 100%;
    height: 0;
}

@media screen and (max-width: 960px) {
    .home-event-list-image {
        padding-bottom: 62.5%;
    }
}

.home-event-list-image.border {
    border: #00331f solid 2px;
}

.home-event-list-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (min-device-width: 1025px) {
    .home-event-list-image {
        overflow: hidden;
    }

    .home-event-list-image img {
        transition: -webkit-transform 400ms;
        transition: transform 400ms;
    }

    .home-event-list-item a:hover .home-event-list-image img,
	.home-event-list-imageh img{
        -webkit-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1);
    }
}

.home-event-list-imageh {
    position: relative;
    display: block;
    padding-bottom: 71%;
    width: 50%;
    height: 0;
    box-shadow: 3px 3px 12px -6px #999;
	margin: auto;
}

@media screen and (max-width: 960px) {
    .home-event-list-imageh {
        padding-bottom: 62.5%;
    }
}

.home-event-list-imageh img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media screen and (min-device-width: 1025px) {
    .home-event-list-imageh {
        overflow: hidden;
    }

    .home-event-list-imageh img {
        transition: -webkit-transform 400ms;
        transition: transform 400ms;
    }
}


.home-event-list-text {
    font-size: 1.3em;
    line-height: 2;
    text-align: center;
    display: inline-block;
    margin-top: 12px;
    width: 100%;
}

@media screen and (max-width: 960px) {
    .home-event-list-text {
        display: none;
    }

    .slick-center .home-event-list-text {
        display: block;
    }
}

.home-event-list-text time {
    color: #a19e94;
}

.home-event-list .slick-prev {
    left: -60px;
    width: 28px;
}

@media only screen and (max-width: 1200px) {
    .home-event-list .slick-prev {
        left: -30px;
    }
}

@media only screen and (max-width: 960px) {
    .home-event-list .slick-prev {
        left: 0;
    }
}

.home-event-list .slick-next {
    right: -60px;
    width: 28px;
}

@media only screen and (max-width: 1200px) {
    .home-event-list .slick-next {
        right: -30px;
    }
}

@media only screen and (max-width: 960px) {
    .home-event-list .slick-next {
        right: 0;
    }
}

.home-event-list .slick-prev::before,
.home-event-list .slick-next::before {
    top: -25%;
    width: 30px;
    height: 30px;
}

.home-event-list .slick-prev::before {
    border-color: #00331f;
    border-bottom-width: 7px;
    border-left-width: 7px;
    -webkit-transform: rotate(45deg) translate(12.5%, -12.5%);
    transform: rotate(45deg) translate(12.5%, -12.5%);
}

@media only screen and (max-width: 960px) {
    .home-event-list .slick-prev::before {
        border-bottom-width: 3px;
        border-left-width: 3px;
    }
}

.home-event-list .slick-next::before {
    border-color: #00331f;
    border-top-width: 7px;
    border-right-width: 7px;
    -webkit-transform: rotate(45deg) translate(-12.5%, 12.5%);
    transform: rotate(45deg) translate(-12.5%, 12.5%);
}

@media only screen and (max-width: 960px) {
    .home-event-list .slick-next::before {
        border-top-width: 3px;
        border-right-width: 3px;
        -webkit-transform: rotate(45deg) translate(50%, -50%);
        transform: rotate(45deg) translate(50%, -50%);
    }
}

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

    .home-event-list .slick-prev::before,
    .home-event-list .slick-next::before {
        top: auto;
        bottom: 24px;
        margin: 0;
        width: 0;
        height: 0;
        border-style: solid;
        -webkit-transform: none;
        transform: none;
    }

    .home-event-list .slick-prev::before {
        left: 100%;
        border-width: 9px 15px 9px 0;
        border-color: transparent #00331f transparent transparent;
    }

    .home-event-list .slick-next::before {
        right: 100%;
        border-width: 9px 0 9px 15px;
        border-color: transparent transparent transparent #00331f;
    }
}

.home-tabibito {
    margin-top: 210px;
}

@media only screen and (max-width: 640px) {
    .home-tabibito {
        position: relative;
        margin-top: 130px;
    }
}

@media only screen and (max-width: 640px) {
    .home-tabibito .heading-home {
        text-align: left;
        position: relative;
    }
}

.home-tabibito-title {
    position: relative;
    margin-right: 60px;
}

@media only screen and (max-width: 640px) {
    .home-tabibito-title {
        margin-right: 0;
    }
}

.home-tabibito-title .button-wrapper {
    position: absolute;
    bottom: 0;
    left: 0;
}

@media only screen and (max-width: 640px) {
    .home-tabibito .button-wrapper {
        text-align: left;
        position: relative;
        bottom: auto;
        left: auto;
        margin: 36px 0 0 45px;
    }
}

.home-tabibito-list {
    -webkit-justify-content: space-between;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media only screen and (max-width: 640px) {
    .home-tabibito-list {
        margin-top: 36px;
        -webkit-justify-content: flex-start;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

.home-tabibito-list li {
    padding: 0 2px;
    width: 24%;
	display: flex;
}

@media only screen and (max-width: 640px) {
    .home-tabibito-list li {
		position: relative;
		z-index: 2;
        padding: 0;
        width: 24%;
    }
}

.home-tabibito-list li:nth-of-type(1) {
    width: 28%;
}

@media only screen and (max-width: 640px) {
    .home-tabibito-list li:nth-of-type(1) {
        position: absolute;
        z-index: 1;
        top: 0;
        right: 30px;
        width: 45%;
    }
}

.home-tabibito-list a {
    display: inline-block;
    margin-top: auto;
}

@media screen and (min-device-width: 1025px) {
    .home-tabibito-list a {
        overflow: hidden;
    }

    .home-tabibito-list a img {
        transition: -webkit-transform 400ms;
        transition: transform 400ms;
    }

    .home-tabibito-list a:hover img {
        -webkit-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1);
    }
}

.home-tabibito .heading-primary {
    margin-top: 30px;
}

.home-other {
    margin-top: 192px;
    padding-bottom: 72px;
    background-image: linear-gradient(transparent, transparent 36px, #f5f5f5 36px, #f5f5f5);
}

@media only screen and (max-width: 960px) {
    .home-other {
        margin-top: 90px;
        padding-top: 30px;
        padding-bottom: 36px;
        background: none;
    }
}

@media only screen and (max-width: 960px) {
    .home-other-list {
        margin: 0 -30px;
        width: auto;
    }
}

.home-other-list li {
    margin: 0 3%;
    width: 27.3333%;
}

@media only screen and (max-width: 960px) {
    .home-other-list li {
        position: relative;
        margin: 24px 0;
        padding: 30px 30px 42px;
        width: 100%;
    }

    .home-other-list li:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 30%;
        background-color: #f5f5f5;
    }
}

@media only screen and (max-width: 960px) {
    .home-other-list li .heading-secondary {
        text-align: center;
    }
}

.home-other-image {
    overflow: hidden;
    position: relative;
}

.home-other-image span {
    font-size: 1.5em;
    position: absolute;
    bottom: 0;
    left: 0;
    display: inline-block;
    padding: 6px 9px;
    background-color: #fff;
}

@media screen and (min-device-width: 1025px) {
    .home-other-image {
        overflow: hidden;
    }

    .home-other-image img {
        transition: -webkit-transform 400ms;
        transition: transform 400ms;
    }

    .home-other-list a:hover .home-other-image img {
        -webkit-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1);
    }
}

.home-other-image span small {
    font-size: .6em;
    color: #a19e94;
}

.home-other-list .heading-secondary {
    margin-top: 18px;
    padding-bottom: 9px;
}

.home-other-list .heading-secondary::after {
    width: 24px;
}

.home-other-lead {
    font-size: 1.3em;
    line-height: 1.8;
    margin-top: 18px;
}

.home-other-list .button-wrapper {
    margin-top: 15px;
}

.home-about {
    margin-top: 192px;
}

@media only screen and (max-width: 960px) {
    .home-about {
        margin-top: 0;
    }
}

.home-about-mv {
    margin-top: 27px;
}

@media only screen and (max-width: 960px) {
    .home-about .heading-home {
        line-height: 1.2;
        position: relative;
    }
}

.home-about .heading-primary {
    margin-top: 30px;
}

.home-about .button-primary {
    margin-top: 60px;
    margin-right: 120px;
}

@media only screen and (max-width: 960px) {
    .home-about .button-primary {
        margin-top: 42px;
        margin-right: 0;
    }
}

.pagenate-wrapper {
    text-align: center;
}

.pagenate-wrapper span,
.pagenate-wrapper a {
    font-size: 1.3em;
    position: relative;
    display: inline-block;
    margin: 0 6px;
    padding: 6px 2px;
}

.pagenate-wrapper span.current::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 1px;
    background-color: #00331f;
}

.pagenate-wrapper {
    text-align: center;
}

.event .breadcrumb {
    margin-bottom: 150px;
}

@media only screen and (max-width: 960px) {
    .event .breadcrumb {
        margin-bottom: 48px;
    }
}

.event-archive-list {
    margin-right: 90px;
    width: 150px;
}

@media only screen and (max-width: 960px) {
    .event-archive-list {
        order: 2;
        margin-right: 0;
        width: 100%;
    }
}

.event-archive-list .title-secondary {
    text-align: left;
}

.event-archive-item {
    padding-left: 12px;
}

.event-archive-item p {
    font-size: 1.6em;
    position: relative;
    margin-top: 18px;
    padding-right: 18px;
}

.event-archive-trigger {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    display: inline-block;
    margin: auto 0;
    width: 13px;
    height: 13px;
    cursor: pointer;
}

.event-archive-trigger::before,
.event-archive-trigger::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: inline-block;
    background-color: #00331f;
}

.event-archive-trigger::before {
    width: 100%;
    height: 1px;
}

.event-archive-trigger::after {
    width: 1px;
    height: 100%;
    transition: -webkit-transform 400ms;
    transition: transform 400ms;
}

.event-archive-trigger.is-active::after {
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
}

@media only screen and (max-width: 960px) {
    .event-archive-item ol {
        letter-spacing: -.5em;
    }

    .event-archive-item li {
        letter-spacing: normal;
        display: inline-block;
        width: 50%;
    }
}

.event-archive-item a {
    font-size: 1.4em;
    display: inline-block;
    margin-top: 6px;
    padding: 3px 6px;
}

@media only screen and (max-width: 960px) {
    .event-list {
        order: 1;
    }
}

.event-icon {
    font-size: 1.3em;
    text-align: right;
    margin-bottom: 42px;
}

@media only screen and (max-width: 960px) {
    .event-icon {
        margin-bottom: 24px;
    }
}

.event-icon.sticky {
    top: 60px;
}

@media only screen and (max-width: 960px) {
    .event-icon.sticky {
        position: relative;
        top: 0;
		z-index: -2;
    }
}

.event-icon span {
    line-height: 1;
    display: inline-block;
    margin-left: 30px;
}

@media only screen and (max-width: 960px) {
    .event-icon span {
        margin: 6px 0 0 12px;
    }
}

.event-icon img {
    vertical-align: middle;
    margin-right: 6px;
    width: auto;
    height: 24px;
}

.event-item {
    margin-bottom: 90px;
}

@media only screen and (max-width: 960px) {
    .event-item {
        margin-bottom: 48px;
    }
}

.event-item li {
    margin-top: 60px;
    padding-bottom: 42px;
    border-bottom: #a19e94 solid 1px;
}

@media only screen and (max-width: 960px) {
    .event-item li {
        margin-top: 30px;
    }
}

.event-list-image {
    margin-right: 6%;
    width: 39%;
}

@media only screen and (max-width: 960px) {
    .event-list-image {
        margin-bottom: 15px;
        margin-right: 0;
        width: 100%;
    }
}

.event-list-image.border {
    border: #00331f solid 2px;
}

@media screen and (min-device-width: 1025px) {
    .event-list-image a {
        overflow: hidden;
        display: block;
    }

    //.event-list-image .ofi {
    //    transition: -webkit-transform 400ms;
    //    transition: transform 400ms;
    //}

    .event-list-image a:hover  {
        -webkit-transform: scale(1.1, 1.1);
        transform: scale(1.1, 1.1);
		transition: -webkit-transform 400ms;
        transition: transform 400ms;
    }
}

.event-list-image img {
    width: 100%;
    height: auto;
}

.event-list-detail {
    width: 55%;
}

@media only screen and (max-width: 960px) {
    .event-list-detail {
        width: 100%;
    }
}

.event-list .event-list-detail {
    width: 100%;
}

.event-list-tag {
    font-size: 1.5em;
    line-height: 1;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    display: inline-block;
    padding: 6px 3px;
    width: 82px;
    border-radius: 6px;
    background-color: #dd3c00;
}

.event-list-tag.entry-end {
    background-color: #72db7b;
}

.event-list-tag.event-end {
    background-color: #666;
}

.event-list-tag.event-today {
    background-color: #ff8c00;
}

.event-list-tag.status_icon {
    background-color: #4682b4;
}

.event-list-icon {
    margin-top: 12px;
}

@media only screen and (max-width:960px){
	.event-list-icon {
    	margin-left: 5px;
		display: inline-block;
	}
}

.event-list .event-list-icon {
    margin-top: 0;
}

.event-list-icon span {
    vertical-align: middle;
    display: inline-block;
    margin: 0 3px;
    width: 28px;
}

.event-list-time {
    margin-top: 15px;
}

.event-list-detail-title {
    font-size: 1.6em;
    line-height: 1.5;
    margin: 12px 0 18px;
}

@media only screen and (max-width: 960px) {
    .event-list-title {
        font-size: 1.5em;
    }
}

.event .button-report {
    margin-top: -90px;
    /* margin-top: -150px; */
    margin-bottom: 60px;
}

@media only screen and (max-width: 960px) {
    .event .button-report {
        margin-top: -20px;
        /* margin-top: -42px; */
        margin-bottom: 36px;
    }
}

.event-block {
    margin: 30px 0 100px;
}

/* @media only screen and (max-width: 960px) {
    .event-block {
        margin-top: 35px;
    }
} */

.event-table + .event-table.lead-primary {
    margin-top: 5px;
}

@media only screen and (max-width: 960px) {
    .event-table + .event-table.lead-primary {
        margin-top: 12px;
    }
}

.event-table dd {
    color: #fff;
    margin-right: 5px;
    padding: 24px;
    width: 250px;
    border: #00331f solid 1px;
    background-color: #00331f;
}

@media only screen and (max-width: 960px) {
    .event-table dd {
        margin-right: 0;
        padding: 12px;
        width: auto;
    }
}

.event-table dt {
    padding: 24px;
    border: #00331f solid 1px;
    background-color: #fff;
	width: 645px;
}

@media only screen and (max-width: 960px) {
    .event-table dt {
        padding: 12px;
		width: 100%;
    }
}

@media only screen and (max-width: 960px) {
    .event .title-tertiary span {
        position: relative;
        display: block;
        width: 100%;
        padding-left: 1.5em;
        padding-right: 1.5em;
    }
}

.event .title-tertiary span::before {
    content: "〜 ";
}

.event .title-tertiary span::after {
    content: " 〜";
}

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

    .event .title-tertiary span::before,
    .event .title-tertiary span::after {
        content: "〜";
        position: absolute;
        top: 0;
        bottom: .6em;
        margin: auto 0;
        display: inline-block;
        width: 1em;
        height: 1em;
    }

    .event .title-tertiary span::before {
        left: 0;
    }

    .event .title-tertiary span::after {
        right: 0;
    }
}

.event-detail-images {
    letter-spacing: -.5em;
    text-align: center;
    margin-left: -1%;
    margin-right: -1%;
}

.event-detail-image {
    vertical-align: top;
    display: inline-block;
    margin: 5px 1%;
    width: 48%;
}

.event-detail-image .bkimg{
    width: 100%;
    height: 330px;
    object-fit: cover;
    font-family: 'object-fit:cover;';
}

.event-detail-image .bkimg-verticla{
    width: 56%;
    height: 330px;
    margin: auto;
    object-fit: cover;
    font-family: 'object-fit:cover;';
}

.event-list-image .bkimg-verticlacv{
	width: 75%;
	height: auto;
    display: block;
    margin: auto;
}

@media only screen and (max-width:960px){
    .event-detail-image .bkimg,
    .event-detail-image .bkimg-verticla{
        height: auto;
    }

	/* .event-slider .bkimg,
	.event-slider .bkimg-verticla{
		height: 60vw;
	} */
}

.slick-track .bkimg-verticlacv {
    width: auto;
    height: 100%;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    object-fit: contain;
}

.event-report .event-detail-images {
    margin-top: 54px;
}

@media only screen and (max-width: 960px) {
    .event-report .event-detail-images {
        margin-top: 24px;
    }
}

.event-detail-images .lead-primary {
    letter-spacing: normal;
    display: inline-block;
    margin-top: 12px;
    width: 100%;
}

.event-lead p {
    margin: 2em 0;
}

.event-report {
    margin-top: 180px;
    padding-top: 42px;
    border-top: #a19e94 dotted 4px;
}

@media only screen and (max-width: 960px) {
    .event-report {
        margin-top: 108px;
        padding-top: 24px;
        border-top: #a19e94 dotted 1px;
    }
}

.latest-issue {
    margin-top: 54px;
}

@media only screen and (max-width: 960px) {
    .latest-issue {
        margin-top: 0;
    }
}

.latest-issue.backno .flex {
    margin: 54px 0;
    padding-bottom: 54px;
    border-bottom: #a19e94 dotted 4px;
}

@media only screen and (max-width: 960px) {
    .latest-issue.backno .flex {
        border-bottom: #a19e94 dotted 1px;
    }
}

.latest-issue.backno .flex:nth-last-of-type(1) {
    border-bottom: none;
}

@media only screen and (max-width: 960px) {
    .latest-issue.backno .flex {
        margin: 36px 0;
        padding-bottom: 36px;
    }
}

.latest-issue-cover {
    margin-right: 21px;
    width: 310px;
}

@media only screen and (max-width: 960px) {
    .latest-issue-cover {
        text-align: center;
        margin: 6px 0 0 0;
        width: 100%;
    }

    .latest-issue-cover img {
        width: 100%;
        max-width: 310px;
    }
}

@media only screen and (max-width: 960px) {
    .latest-issue-image {
        margin-top: 6px;
    }
}

.latest-issue-image-sub {
    margin: 0 -1%;
	text-align: center;
}

@media only screen and (max-width: 960px) {
    .latest-issue-image-sub {
        margin-top: 6px;
    }
}

.latest-issue-image img {
    margin: 0 1%;
    width: 31.3333%;
}

.latest-issue-content .heading-secondary {
    margin: 9px 0;
}

.latest-issue-lead {
    font-size: 1.3em;
    line-height: 2.4;
}

.next-issue {
    font-size: 1.6em;
    text-align: right;
    position: relative;
    margin-top: 84px;
}

@media only screen and (max-width: 960px) {
    .next-issue {
        margin-top: 48px;
    }
}

.next-issue span {
    position: relative;
    display: inline-block;
    padding-left: 30px;
}

.next-issue span::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: inline-block;
    margin: auto 0;
    width: 21px;
    height: 1px;
    background-color: #a19e94;
}

.latest-issue .button-wrapper {
    margin-top: 108px;
}

@media only screen and (max-width: 960px) {
    .latest-issue .button-wrapper {
        margin-top: 78px;
    }
}

.backno-covers {
    margin-top: 180px;
}

@media(max-width:960px){
    .backno-covers {
        margin-top: 100px;
    }
}

.backno-covers ul {
    letter-spacing: -.5em;
    margin: 54px -1% 0;
}

@media(max-width:960px){
    .backno-covers ul {
        margin: 10px -1% 0;
    }
}

.backno-covers li {
    display: inline-block;
    margin: 9px 1%;
    width: 23%;
}

.backno-covers .pagenate-wrapper {
    margin-top: 30px;
}

.topics .content {
    padding-top: 210px;
}

@media only screen and (max-width: 960px) {
    .topics .content {
        padding-top: 36px;
    }
}

.topics .title-primary {
    height: 210px;
}

@media only screen and (max-width: 960px) {
    .topics .title-primary {
        height: auto;
    }
}

.topics-list li {
    padding: 72px 18px;
    border-bottom: #707070 solid 1px;
}

@media only screen and (max-width: 960px) {
    .topics-list li {
        padding: 48px 12px;
    }
}

.topics-list li:nth-of-type(1) {
    padding-top: 0;
}

.topics-list-image {
    overflow: hidden;
    margin-right: 4%;
    width: 46%;
    position: relative;
}

@media only screen and (max-width: 960px) {
    .topics-list-image {
        margin-bottom: 15px;
        margin-right: 0;
        padding-bottom: 62.5%;
        width: 100%;
        height: 0;
    }
}

.topics-list-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    max-width: 100%;
    max-height: 100%;
    margin: auto;
}

@media only screen and (min-device-width: 1025px) {
    .topics-list-image img {
        -webkit-transition: transform 400ms;
        transition: transform 400ms;
    }

    //.topics-list-image a:hover img {
    //    -webkit-transform: scale(1.1, 1.1);
    //    transform: scale(1.1, 1.1);
    //}
}

.topics-list-text {
    width: 50%;
}

@media only screen and (max-width: 960px) {
    .topics-list-text {
        width: 100%;
    }
}

.topics-list .heading-secondary {
    font-size: 2em;
    margin: 12px 0 15px;
}

@media only screen and (max-width: 960px) {
    .topics-list .heading-secondary {
        font-size: 1.6em;
    }
}

.topics-list-text .lead-primary {
    margin-top: 18px;
}

.topics-list-text .button-wrapper {
    margin-top: 54px;
}

@media only screen and (max-width: 960px) {
    .topics-list-text .button-wrapper {
        margin-top: 30px;
    }
}

.topics .pagenate-wrapper {
    margin-top: 42px;
}

.topics-block {
    margin-top: 72px;
}

@media only screen and (max-width: 960px) {
    .topics-block {
        margin-top: 36px;
        padding-bottom: 36px;
    }
}

.topics-block-image {
    margin-right: 4%;
    width: 46%;
}

@media only screen and (max-width: 960px) {
    .topics-block-image {
        margin-right: 0;
        width: 100%;
    }
}

.topics-block-image-main img {
    height: 250px;
}

@media only screen and (max-width: 960px) {
    .topics-block-image-main img {
        height: auto;
    }
}

.topics-block:nth-child(odd) .topics-block-image {
    order: 2;
    margin-left: 4%;
    margin-right: 0;
}

@media only screen and (max-width: 960px) {
    .topics-block:nth-child(odd) .topics-block-image {
        order: 0;
        margin-left: 0;
    }
}

.topics-block .lead-primary {
    margin-top: 0;
    /* width: 50%; */
}

@media only screen and (max-width: 960px) {
    .topics-block .lead-primary {
        margin-top: 24px;
        width: 100%;
    }
}

.topics-block .noimg-letter{
	width: 100%;
}

.topics-block:nth-child(odd) .topics-lead {
    order: 1;
}

.topics-block-thumb {
    letter-spacing: -.5em;
    text-align: center;
    /* margin: 10px -1% 0; */
    margin: 10px 0;
    justify-content: space-between;
    display: flex;
}

.topics-block-thumb span {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 1%;
    width: 23%;
}

.topics-block-thumb img {
    height: 60px;
    cursor: pointer;
    width: 23%;
}

.privilege-nav {
    letter-spacing: -.5em;
    margin-bottom: 108px;
}

@media only screen and (max-width: 960px) {
    .privilege-nav {
        margin-bottom: 36px;
    }
}

.privilege-nav span {
    font-size: 1.6em;
    letter-spacing: normal;
    text-align: center;
    position: relative;
    display: inline-block;
    padding-bottom: 24px;
    width: 25%;
    border-bottom: #a19e94 solid 1px;
    cursor: pointer;
}

@media only screen and (max-width: 960px) {
    .privilege-nav span {
        font-size: 1.5em;
        margin-bottom: 24px;
        padding-bottom: 12px;
        width: 50%;
    }
}

.privilege-nav span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    display: inline-block;
    width: 100%;
    height: 2px;
    background-color: #00331f;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
}

@media screen and (min-device-width: 1025px) {
    .privilege-nav span::after {
        -webkit-transform-origin: top right;
        transform-origin: top right;
        -webkit-transition: transform 400ms;
        transition: transform 400ms;
    }

    .privilege-nav span:hover::after {
        -webkit-transform-origin: top left;
        transform-origin: top left;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }
}

.privilege-nav span.is-active::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    transition: none;
}

.privilege-genre-content {
    display: none;
}

.privilege-genre-content.is-active {
    display: block;
}

.lead-privilege {
    line-height: 2;
    margin-top: 30px;
    /* margin-top: 54px; */
    margin-bottom: 120px;
}

@media only screen and (max-width: 960px) {
    .lead-privilege {
        margin-top: 36px;
        margin-bottom: 60px;
    }
}

.privilege-annotation {
    padding-left: 2em;
}

.privilege-annotation li {
    list-style: decimal;
}

.privilege-area-tab {
    text-align: right;
    margin-bottom: 48px;
}

@media only screen and (max-width: 960px) {
    .privilege-area-tab {
        margin-bottom: 36px;
    }
}

.privilege-area-tab span {
    font-size: 1.6em;
    line-height: 1.8;
    color: #a19e94;
    position: relative;
    display: inline-block;
    margin-left: 48px;
    cursor: pointer;
}

@media screen and (min-device-width: 1025px) {
    .privilege-area-tab span {
        transition: color 400ms;
    }

    .privilege-area-tab span:hover {
        color: #00331f;
    }
}

@media only screen and (max-width: 960px) {
    .privilege-area-tab span {
        font-size: 1.4em;
        margin-top: 12px;
        margin-left: 36px;
    }
}

.privilege-area-tab span.is-active {
    color: #00331f;
    transition: none;
}

.privilege-area-tab span::before {
    content: "/";
    position: absolute;
    top: -.75em;
    left: -.5em;
}

@media screen and (min-device-width: 1025px) {
    .privilege-area-tab span:hover::before {
        content: "|";
    }
}

.privilege-area-tab span.is-active::before {
    content: "|";
}

.privilege-area-tab span::after {
    content: "";
    opacity: 0;
    position: absolute;
    top: -.63em;
    left: -.63em;
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #dd3c00;
}

@media screen and (min-device-width: 1025px) {
    .privilege-area-tab span::after {
        transition: opacity 400ms;
    }

    .privilege-area-tab span:hover::after {
        opacity: 1;
    }
}

.privilege-area-tab span.is-active::after {
    opacity: 1;
    transition: none;
}

.privilege-list {
    display: none;
}

.privilege-list.is-active {
    display: block;
}

.privilege-list .heading-secondary.box {
    margin-bottom: 30px;
}

@media only screen and (max-width: 960px) {
    .privilege-list .heading-secondary.box {
        margin-bottom: 0;
    }
}

.privilege-list dl {
    padding: 42px 20px 30px;
    border-bottom: #a19e94 solid 1px;
}

@media only screen and (max-width: 960px) {
    .privilege-list dl {
        padding: 30px 5px 24px;
    }
}

.privilege-list dt {
    width: 50%;
}

@media only screen and (max-width: 960px) {
    .privilege-list dt {
        width: 100%;
        font-size: 1.6rem;
        font-weight: bold;
    }
}

.privilege-list dd {
    width: 50%;
}

@media only screen and (max-width: 960px) {
    .privilege-list dd {
        width: 100%;
    }
}

/*
.mark-new {
    position: relative;
}
*/

.infor .mark-new::before {
    content: "NEW";
    font-size: .9em;
    color: #dd3c00;
    display: block;
	position: absolute;
	top: 10px;
	left: 90px;
}

.mark-new::before {
    content: "NEW";
    font-size: .9em;
    color: #dd3c00;
    display: block;
	position: absolute;
	top: 3px;
	left: 100px;
}


@media only screen and (max-width: 960px) {
	.infor .mark-new::before {
		top: 6px;
		left: 95px;
	}
	.mark-new::before {
		top: 10px;
		left: 110px;
	}

}


.mark-news::before {
    content: "NEW";
    font-size: .9em;
    color: #dd3c00;
    display: inline-block;
	position: absolute;
	top: 5px;
    left: 40px;
}

.title-space{
	padding: 0 1rem;
}

@media only screen and (max-width: 960px) {
	.mark-news::before {
		top: 0;
		left: 40px;
	}
}

@media only screen and (min-width: 961px) {
    .disp-md {
        display: none;
    }
}

@media only screen and (min-width: 461px) {
    .disp-sm {
        display: none;
    }
}

@media only screen and (max-width: 960.99px) {
    .no-md {
        display: none;
    }
}