@charset "UTF-8";
/* ==========================================================
Name:
    module.css

Description:
    サイトで共通使用する汎用モジュール及びページ固有のスタイルを記述する
    汎用モジュールは、アルファベット降順(A->Z)に記述する
    ページ固有のスタイルは、ディレクトリ名のアルファベット降順(A->Z)、
    ファイル名のアルファベット降順(A->Z)にそれぞれ記述する

Contents:
    module
    page
    utility
========================================================== */
/* ==========================================================
*
*   module
*
========================================================== */
/*  mod
--------------------------------------------- */
.mod__tit-h1 {
    color: #282828;
    text-align: center;
    font-weight: bold;
    font-size: 46px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.mod__tit-h2 {
    color: #282828;
    font-weight: bold;
    font-size: 46px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.mod__tit-h2--white {
    margin-left: -22px;
    color: #fff;
}

@media screen and (max-width: 750px) {
    .mod__tit-h1 {
        font-size: 6.13333vw;
    }
    .mod__tit-h2 {
        font-size: 6.13333vw;
    }
    .mod__tit-h2--white {
        margin-left: 0;
    }
}

/*  mod-btn
--------------------------------------------- */
.mod-btn {
    width: 178px;
}

.mod-btn--center {
    margin-right: auto;
    margin-left: auto;
}

.mod-btn--right {
    margin: -28px 0 0 auto;
}

.mod-btn--pickup {
    position: absolute;
    right: 0;
    bottom: -36px;
}

.mod-btn__link {
    display: block;
    padding-top: 16px;
    padding-bottom: 12px;
    border: 1px solid #464646;
    border-radius: 40px;
    text-align: center;
}

.mod-btn__link:hover {
    background-color: #464646;
    -webkit-transition: .3s;
    transition: .3s;
}

.mod-btn__link:hover .mod-btn__txt {
    color: #fff;
}

.mod-btn__link--white {
    border: 1px solid #fff;
}

.mod-btn__link--white:hover {
    background-color: transparent;
    opacity: .6;
    -webkit-transition: .3s;
    transition: .3s;
}

body.ie .mod-btn__link {
    padding-bottom: 10px;
}

.mod-btn__txt {
    color: #464646;
    letter-spacing: 0.02em;
    font-weight: 300;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.mod-btn__txt--white {
    color: #fff;
}

@media screen and (max-width: 750px) {
    .mod-btn {
        width: 53.33333vw;
    }
    .mod-btn--right {
        margin-right: auto;
        margin-left: auto;
    }
    .mod-btn--pickup {
        left: 50%;
        margin-left: 0;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
    .mod-btn__link {
        padding-top: 3.46667vw;
        padding-bottom: 3.2vw;
    }
    .mod-btn__txt {
        font-size: 3.46667vw;
    }
}

/*  alert
--------------------------------------------- */
.alert {
    margin-top: 54px;
    margin-bottom: 64px;
}

.alert__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: auto;
    margin-left: auto;
    padding: 12px 16px;
    max-width: 1024px;
    border: 3px solid #c80000;
    border-radius: 10px;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

body.ie .alert__inner {
    padding-bottom: 10px;
}

.alert__inner:hover {
    opacity: 0.6;
}

.alert__img {
    margin-right: 28px;
    width: 48px;
    height: 48px;
}

.alert__date {
    display: inline-block;
    margin-right: 25px;
    max-width: 90px;
    color: #c80000;
    letter-spacing: 0.02em;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

body.ie .alert__date {
    margin-top: 4px;
}

.alert__txt {
    display: inline-block;
    width: 800px;
    color: #c80000;
    letter-spacing: 0.02em;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.2;
}

@media screen and (max-width: 750px) {
    .alert {
        margin-top: 9.33333vw;
        margin-bottom: 0;
    }
    .alert__inner {
        padding: 3.73333vw 2.4vw 2.93333vw;
        width: 89.33333vw;
        border: 2px solid #c80000;
        border-radius: 5px;
    }
    .alert__img {
        margin-right: 2.93333vw;
        width: 6.93333vw;
        height: 6.93333vw;
    }
    .alert__date {
        margin-right: 0;
        margin-bottom: 0.8vw;
        max-width: none;
        font-size: 2.93333vw;
    }
    .alert__txt {
        width: 72vw;
        font-size: 3.2vw;
        line-height: 1.83;
    }
}

/*  aboutus
--------------------------------------------- */
.aboutus {
    margin-top: 54px;
    padding-bottom: 82px;
    border-bottom: 1px solid #c8c8c8;
}

@media screen and (max-width: 750px) {
    .aboutus {
        margin-top: 12vw;
    }
}

/*  aboutus-catch
--------------------------------------------- */
.aboutus-catch {
    position: relative;
    margin-top: 70px;
    margin-bottom: 91px;
}

body.ie .aboutus-catch {
    margin-bottom: 100px;
}

.aboutus-catch__img {
    width: 100%;
}

.aboutus-catch__img img {
    width: 100%;
}

.aboutus-catch__tit {
    position: absolute;
    top: 54%;
    left: 50%;
    width: 900px;
    color: #fff;
    text-align: center;
    letter-spacing: 0.02em;
    font-weight: bold;
    font-size: 34px;
    line-height: 1.55;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.aboutus-catch__tit--en {
    top: 50%;
    font-weight: normal;
    font-family: 'Poppins', sans-serif;
}

@media screen and (max-width: 750px) {
    .aboutus-catch {
        margin-top: 8.8vw;
        margin-bottom: 14.66667vw;
    }
    .aboutus-catch__tit {
        top: 50%;
        width: auto;
        white-space: nowrap;
        font-size: 4.53333vw;
    }
}

/*  aboutus-desc
--------------------------------------------- */
.aboutus-desc {
    margin-right: auto;
    margin-left: auto;
    max-width: 1024px;
}

@media screen and (max-width: 750px) {
    .aboutus-desc {
        width: 89.33333vw;
    }
}

/*  aboutus-sum
--------------------------------------------- */
.aboutus-sum {
    margin-bottom: 103px;
}

.aboutus-sum__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.aboutus-sum__img {
    margin-top: -22px;
    margin-right: 100px;
    width: 242px;
}

.aboutus-sum__desc {
    width: 686px;
}

.aboutus-sum__txt {
    margin-bottom: 35px;
    color: #464646;
    letter-spacing: 0.01em;
    font-size: 16px;
    line-height: 1.93;
}

.aboutus-sum__txt:last-child {
    margin-bottom: 0;
}

.aboutus-sum__txt--en {
    font-family: 'Poppins', sans-serif;
    line-height: 1.75;
}

@media screen and (max-width: 750px) {
    .aboutus-sum {
        margin-bottom: 13.33333vw;
    }
    .aboutus-sum__inner {
        display: block;
    }
    .aboutus-sum__img {
        margin: 0 auto 14vw;
        width: 32vw;
    }
    .aboutus-sum__desc {
        width: 100%;
    }
    .aboutus-sum__txt {
        margin-bottom: 7.33333vw;
        letter-spacing: 0;
        font-size: 3.73333vw;
        line-height: 1.8;
    }
    .aboutus-sum__txt:last-child {
        margin-bottom: 0;
    }
    .aboutus-sum__txt--en {
        line-height: 1.42;
    }
}

/*  aboutus-outline
--------------------------------------------- */
.aboutus-outline__box {
    margin-bottom: 115px;
}

.aboutus-outline__tit {
    margin-bottom: 39px;
    color: #464646;
    font-size: 16px;
    line-height: 1;
}

.aboutus-outline__tit--en {
    font-family: 'Poppins', sans-serif;
}

.aboutus-outline__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    margin-bottom: 1px;
}

.aboutus-outline__list--semi {
    margin-bottom: 26px;
}

.aboutus-outline__list--wide {
    margin-bottom: 32px;
}

.aboutus-outline__list--end {
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
}

.aboutus-outline__term {
    width: 288px;
    color: #464646;
    font-size: 16px;
    line-height: 1.93;
}

.aboutus-outline__term--way {
    width: 182px;
}

.aboutus-outline__term--en {
    width: auto;
    font-family: 'Poppins', sans-serif;
}

.aboutus-outline__term--en-term {
    width: 110px;
}

.aboutus-outline__month {
    margin-left: 21px;
}

.aboutus-outline__month-only {
    margin-left: 73px;
}

.aboutus-outline__desc {
    width: 736px;
    color: #464646;
    font-size: 16px;
    line-height: 1.93;
}

.aboutus-outline__desc--way {
    width: 842px;
}

.aboutus-outline__desc--en {
    width: auto;
    font-family: 'Poppins', sans-serif;
}

.aboutus-outline__desc--en-desc {
    width: 914px;
}

.aboutus-outline__txt {
    color: #464646;
    font-size: 16px;
    line-height: 1.93;
}

.aboutus-outline__txt--en {
    font-family: 'Poppins', sans-serif;
}

.aboutus-outline__map {
    width: 100%;
}

.aboutus-outline__map img {
    width: 100%;
}

.aboutus-outline__map--en {
    margin-right: auto;
    margin-left: auto;
    width: 730px;
}

.aboutus-outline__link {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.aboutus-outline__link:hover {
    opacity: 0.6;
}

.aboutus-outline__link--tel {
    cursor: default;
}

.aboutus-outline__link--tel:hover {
    opacity: 1;
}

.aboutus-outline__link--map {
    display: block;
    margin-top: -5px;
    width: 100%;
}

body.windows .aboutus-outline__link--map {
    margin-top: -4px;
}

body.ie .aboutus-outline__link--map {
    margin-top: -3px;
}

.aboutus-outline__link-outer {
    position: relative;
    margin-top: 12px;
    width: 140px;
    height: 24px;
    border: 1px solid #464646;
    border-radius: 5px;
}

.aboutus-outline__link-outer:after {
    position: absolute;
    top: 35%;
    right: 5px;
    width: 12px;
    height: 10px;
    background: url(/img/ico/ico_blank-gray.png) 0 0 no-repeat;
    background-size: 100% auto;
    content: '';
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    pointer-events: none;
}

body.ie .aboutus-outline__link-outer:after {
    top: 33%;
}

.aboutus-outline__txt-link {
    display: inline-block;
    margin-left: 30px;
    color: #464646;
    font-size: 12px;
    line-height: 1;
}

.aboutus-outline__txt-link--en {
    font-family: 'Poppins', sans-serif;
}

@media screen and (max-width: 750px) {
    .aboutus-outline__box {
        margin-bottom: 17.33333vw;
    }
    .aboutus-outline__tit {
        margin-bottom: 5.33333vw;
        font-size: 2.93333vw;
    }
    .aboutus-outline__tit--wide {
        margin-bottom: 9.33333vw;
    }
    .aboutus-outline__tit--en {
        font-size: 3.73333vw;
    }
    .aboutus-outline__list {
        margin-bottom: 0.4vw;
    }
    .aboutus-outline__list--semi {
        margin-bottom: 2vw;
    }
    .aboutus-outline__list--wide {
        margin-bottom: 5.06667vw;
    }
    .aboutus-outline__list--space {
        margin-bottom: 5.86667vw;
    }
    .aboutus-outline__list--en {
        display: block;
    }
    .aboutus-outline__term {
        width: 32.66667vw;
        font-size: 2.93333vw;
        line-height: 1.72;
    }
    .aboutus-outline__term--way {
        width: 28vw;
    }
    .aboutus-outline__term--ws {
        white-space: nowrap;
    }
    .aboutus-outline__term--en {
        display: inline;
        width: auto;
        font-size: 3.73333vw;
    }
    .aboutus-outline__term--en-term {
        width: 28vw;
    }
    .aboutus-outline__month {
        margin-left: 2.93333vw;
    }
    .aboutus-outline__month-only {
        margin-left: 12.26667vw;
    }
    .aboutus-outline__desc {
        width: 56.66667vw;
        font-size: 2.93333vw;
        line-height: 1.72;
    }
    .aboutus-outline__desc--way {
        width: 61.33333vw;
    }
    .aboutus-outline__desc--space {
        margin-left: 8vw;
    }
    .aboutus-outline__desc--small {
        font-size: 2.4vw;
    }
    .aboutus-outline__desc--ws {
        white-space: nowrap;
    }
    .aboutus-outline__desc--en {
        display: inline;
        width: auto;
        font-size: 3.73333vw;
    }
    .aboutus-outline__desc--en-desc {
        width: 61.33333vw;
    }
    .aboutus-outline__txt {
        font-size: 2.93333vw;
        line-height: 1.7;
    }
    .aboutus-outline__txt--en {
        font-size: 3.73333vw;
    }
    .aboutus-outline__map {
        margin-right: auto;
        margin-left: auto;
        width: 77.33333vw;
    }
    .aboutus-outline__map--en {
        width: 100%;
    }
    .aboutus-outline__link {
        -webkit-transition: opacity 300ms;
        transition: opacity 300ms;
    }
    .aboutus-outline__link:hover {
        opacity: 0.6;
    }
    .aboutus-outline__link--map {
        margin-top: -0.13333vw;
    }
    .aboutus-outline__link-outer {
        position: relative;
        margin-top: 1.6vw;
        margin-bottom: 1vw;
        width: 28vw;
        height: 4.8vw;
        border: 1px solid #787878;
        border-radius: 3px;
    }
    .aboutus-outline__link-outer:after {
        position: absolute;
        top: 35%;
        right: 2vw;
        width: 2.53333vw;
        height: 2vw;
        content: '';
    }
    .aboutus-outline__txt-link {
        margin-left: 4.8vw;
        font-size: 2.66667vw;
    }
}

/*  link-area
--------------------------------------------- */
.link-area {
    margin-top: 139px;
}

.link-area__box {
    margin-bottom: 42px;
}

.link-area__box:last-child {
    margin-bottom: 0;
}

.link-area__tit {
    color: #787878;
    font-size: 16px;
    line-height: 1;
}

@media screen and (max-width: 750px) {
    .link-area {
        margin-top: 22.66667vw;
    }
    .link-area__box {
        margin-bottom: 9.33333vw;
    }
    .link-area__tit {
        font-size: 3.73333vw;
    }
}

/*  link-list
--------------------------------------------- */
.link-list {
    margin-top: 9px;
}

.link-list__item {
    margin-bottom: 10px;
}

.link-list__item:last-of-type {
    margin-bottom: 0;
}

.link-list__link {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.link-list__link:hover {
    opacity: 0.6;
}

.link-list__link:hover .link-list__txt {
    border: transparent;
}

body.windows .link-list__link:hover .link-list__txt {
    border: none;
    text-decoration: none;
}

.link-list__txt {
    border-bottom: 1px solid #282828;
    color: #282828;
    font-size: 16px;
    line-height: 1;
}

body.windows .link-list__txt {
    border: none;
    text-decoration: underline;
}

.link-list__txt--en {
    font-family: 'Poppins', sans-serif;
}

.link-list__note{
    color: #282828;
    font-size: 16px;
    line-height: 1;
}

@media screen and (max-width: 750px) {
    .link-list {
        margin-top: 2.66667vw;
    }
    .link-list__item {
        margin-bottom: 0.66667vw;
    }
    .link-list__txt ,.link-list__note{
        font-size: 3.73333vw;
        line-height: 2.14;
    }
}

/*  calendar
--------------------------------------------- */
.calendar {
    margin-top: 54px;
    border-bottom: 1px solid #c8c8c8;
}

.calendar__inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 1024px;
}

@media screen and (max-width: 750px) {
    .calendar {
        margin-top: 8vw;
    }
}

/*  events
--------------------------------------------- */
.events__tit {
    margin-top: 80px;
    margin-bottom: 54px;
    color: #282828;
    text-align: center;
    font-weight: bold;
    font-size: 34px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

@media screen and (max-width: 750px) {
    .events__tit {
        margin-top: 10.66667vw;
        margin-bottom: 6.66667vw;
        font-size: 4.53333vw;
    }
}

/*  events-list
--------------------------------------------- */
.events-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 110px;
}

.events-list__item {
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 32px;
    width: 320px;
    border-top: 1px solid #282828;
    border-right: 1px solid #282828;
    border-bottom: 16px solid #282828;
    border-left: 1px solid #282828;
    border-radius: 20px 20px 15px 15px;
}

.events-list__item:last-of-type {
    margin-right: 0;
}

.events-list__link {
    display: block;
    width: 100%;
    height: 100%;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.events-list__link:hover {
    opacity: 0.6;
}

.events-list__img {
    width: 100%;
    height: 203px;
}

body.ie .events-list__img {
    height: auto;
}

.events-list__img img {
    width: 100%;
}

.events-list__img--ico {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: auto;
    margin-left: auto;
    width: 220px;
}

body.ie .events-list__img--ico img {
    width: 220px;
    height: 203px;
}

.events-list__detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 20px;
    margin-bottom: 16px;
    padding-right: 14px;
    padding-left: 16px;
}

.events-list__date {
    padding-right: 16px;
    width: 54px;
    border-right: 1px solid #bfbfbf;
}

.events-list__year {
    display: inline-block;
    margin-top: 17px;
    margin-bottom: 4px;
    color: #282828;
    font-weight: bold;
    font-size: 10px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.events-list__box {
    position: relative;
}

.events-list__box:before {
    position: absolute;
    top: 21px;
    left: -8px;
    width: 56px;
    height: 2px;
    background-color: #282828;
    content: '';
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.events-list__month {
    display: inline-block;
    margin-bottom: 9px;
    width: 20px;
    color: #282828;
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.events-list__day {
    display: block;
    margin-bottom: -4px;
    margin-left: 8px;
    width: 42px;
    color: #282828;
    text-align: center;
    white-space: nowrap;
    font-weight: bold;
    font-size: 34px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.events-list__week {
    display: inline-block;
    margin-left: 8px;
    width: 42px;
    color: #282828;
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.events-list__desc {
    margin-top: 8px;
    margin-left: 12px;
    width: 220px;
}

.events-list__label {
    display: block;
    margin-bottom: 6px;
    color: #282828;
    font-size: 12px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.events-list__tit {
    display: block;
    margin-bottom: 9px;
    min-height: 52px;
    color: #464646;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.625;
}

.events-list__condition {
    display: inline-block;
    color: #464646;
    font-size: 12px;
    line-height: 1;
}

.events-list__condition--open {
    color: #c80000;
}

.events-list__condition--under {
    color: #ffa000;
}

.events-list__condition--close {
    color: #464646;
}

.events-list__condition--other {
    color: #674982;
}

.events-list__ico {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin: -26px 0 0 auto;
    height: 64px;
}

.events-list__ico--tokyo-marathon img {
    width: 44px;
}

.events-list__ico--one-tokyo img {
    width: 75px;
}

@media screen and (max-width: 750px) {
    .events-list {
        margin-bottom: 17.33333vw;
    }
    .events-list__item {
        margin-right: 3.33333vw;
        margin-left: 3.33333vw;
        width: 66.66667vw;
        border-bottom: 8px solid #282828;
        border-radius: 13px 13px 8px 8px;
    }
    .events-list__detail {
        margin-top: 4vw;
        margin-bottom: 3.2vw;
        padding-right: 2.4vw;
        padding-left: 2.4vw;
    }
    .events-list__img {
        height: 42.66667vw;
    }
    .events-list__img--ico {
        width: 49.33333vw;
    }
    .events-list__date {
        padding-right: 2vw;
        width: 11.73333vw;
    }
    .events-list__year {
        margin-top: 1.33333vw;
        margin-bottom: 1.33333vw;
        font-size: 2.4vw;
    }
    .events-list__box:before {
        top: 5vw;
        left: -2.5vw;
        width: 13.33333vw;
        height: 2px;
    }
    .events-list__month {
        margin-bottom: 1.6vw;
        width: 5.33333vw;
        font-size: 4.66667vw;
    }
    .events-list__day {
        margin-bottom: -2px;
        margin-left: 2.4vw;
        width: 6.13333vw;
        font-size: 7.2vw;
    }
    .events-list__week {
        margin-left: 3.06667vw;
        width: 6.66667vw;
        font-size: 2.93333vw;
    }
    .events-list__desc {
        margin-top: 0.53333vw;
        margin-left: 5.33333vw;
        width: 46.66667vw;
    }
    .events-list__label {
        margin-bottom: 2vw;
        font-size: 2.4vw;
    }
    .events-list__tit {
        margin-bottom: 4vw;
        min-height: 10vw;
        font-size: 3.73333vw;
        line-height: 1.4;
    }
    .events-list__condition {
        margin-bottom: 0;
        font-size: 2.4vw;
    }
    .events-list__ico {
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        margin: -5.33333vw 0 0 auto;
        width: 8.53333vw;
        height: 11.33333vw;
    }
    .events-list__ico--one-tokyo {
        width: 13.33333vw;
    }
}

/*  race-area
--------------------------------------------- */
@media screen and (max-width: 750px) {
    .race-area {
        margin-right: auto;
        margin-left: auto;
        width: 89.33333vw;
    }
}

/*  race-cat
--------------------------------------------- */
.race-cat {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: auto;
    margin-bottom: 64px;
    margin-left: auto;
    width: 358px;
}

.race-cat__item {
    width: 50%;
    border-bottom: 1px solid #c8c8c8;
    text-align: center;
}

.race-cat__item.current {
    border-bottom: 5px solid #282828;
}

.race-cat__item.current .race-cat__txt {
    color: #282828;
}

.race-cat__txt {
    display: inline-block;
    padding-bottom: 15px;
    width: 100%;
    color: #c8c8c8;
    font-weight: bold;
    font-size: 34px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.race-cat__txt:hover {
    opacity: .6;
    -webkit-transition: .3s;
    transition: .3s;
}

@media screen and (max-width: 750px) {
    .race-cat {
        margin-bottom: 8vw;
        width: 48vw;
    }
    .race-cat__item.current {
        border-bottom: 3px solid #282828;
    }
    .race-cat__txt {
        padding-bottom: 2vw;
        font-size: 4.53333vw;
    }
}

/*  race-option-head
--------------------------------------------- */
.race-option-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.race-option-head__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 820px;
}

.race-option-head__item {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 16px;
    padding-top: 16px;
    padding-bottom: 14px;
    width: 205px;
    border-right: 1px solid #c8c8c8;
    text-align: center;
    cursor: pointer;
}

.race-option-head__item:hover {
    opacity: .6;
    -webkit-transition: .3s;
    transition: .3s;
}

.race-option-head__item:after {
    position: absolute;
    top: 40%;
    right: 20px;
    width: 7px;
    height: 7px;
    border-top: 1px solid #787878;
    border-right: 1px solid #787878;
    content: '';
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

body.ie .race-option-head__item:after {
    top: 36%;
}

.race-option-head__txt {
    color: #787878;
    font-size: 14px;
    line-height: 1;
}

.is-current .race-option-head__txt {
    color: #282828;
}

.race-option-head__txt-select {
    color: #787878;
    font-size: 14px;
    line-height: 1.2;
}

.race-option-head__search {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 16px;
    padding-top: 16px;
    padding-bottom: 14px;
    width: 204px;
    text-align: center;
    cursor: pointer;
}

.race-option-head__search:hover {
    opacity: .6;
    -webkit-transition: .3s;
    transition: .3s;
}

.race-option-head__search:before {
    position: absolute;
    top: 55%;
    left: 44px;
    width: 23px;
    height: 15px;
    background: url(/img/ico/ico_sort-down.svg) 0 0 no-repeat;
    background-size: 100% auto;
    content: '';
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.race-option-head__search:after {
    position: absolute;
    top: 40%;
    right: 20px;
    width: 8px;
    height: 8px;
    border-top: 1px solid #787878;
    border-right: 1px solid #787878;
    content: '';
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

body.ie .race-option-head__search:after {
    top: 36%;
}

.race-option-head__search--en:before {
    left: 23px;
}

.race-option-head__txt-search {
    color: #787878;
    font-size: 14px;
    line-height: 1;
}

.is-current .race-option-head__txt-search {
    color: #282828;
}

@media screen and (max-width: 750px) {
    .race-option-head {
        border-bottom: 3px solid #282828;
    }
    .race-option-head__box {
        position: relative;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 73.33333vw;
        border-top: 1px solid #787878;
        border-right: 1px solid #787878;
    }
    .race-option-head__box:after {
        position: absolute;
        top: 42%;
        right: 6.66667vw;
        width: 2.4vw;
        height: 2.4vw;
        border-top: 1px solid #787878;
        border-right: 1px solid #787878;
        content: '';
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }
    .race-option-head__txt {
        display: inline-block;
        margin-left: 4vw;
        padding-top: 6.4vw;
        padding-bottom: 5.6vw;
        font-size: 3.46667vw;
    }
    .race-option-head__search {
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
        width: 16vw;
        border-top: 1px solid #787878;
    }
    .race-option-head__search:before {
        top: 40%;
        left: 35%;
        width: 6.93333vw;
        height: 4vw;
        -webkit-transform: translate(0);
        transform: translate(0);
    }
    .race-option-head__search:after {
        display: none;
    }
    .race-option-head__txt-search {
        display: none;
    }
}

/*  race-option-body
--------------------------------------------- */
.race-option-body {
    position: relative;
}

@media screen and (max-width: 750px) {
    .race-option-body {
        z-index: 1;
    }
}

/*  race-choice-wrapper
--------------------------------------------- */
@media screen and (min-width: 751px) {
    .race-choice-wrapper {
        opacity: 1;
        -webkit-transition: none;
        transition: none;
        -webkit-transform: none;
        transform: none;
        pointer-events: auto;
    }
}

@media screen and (max-width: 750px) {
    .race-choice-wrapper {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        width: 100%;
        opacity: 0;
        -webkit-transition: opacity .3s, -webkit-transform .3s;
        transition: opacity .3s, -webkit-transform .3s;
        transition: opacity .3s, transform .3s;
        transition: opacity .3s, transform .3s, -webkit-transform .3s;
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
        pointer-events: none;
    }
    .race-choice-wrapper.is-current {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        pointer-events: auto;
    }
}

/*  race-choice
--------------------------------------------- */
.race-choice {
    position: absolute;
    top: 3px;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

.race-choice__box {
    position: relative;
    z-index: 99;
    width: 203px;
    border: 1px solid #282828;
    opacity: 0;
    -webkit-transition: opacity .3s, -webkit-transform .3s;
    transition: opacity .3s, -webkit-transform .3s;
    transition: opacity .3s, transform .3s;
    transition: opacity .3s, transform .3s, -webkit-transform .3s;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    pointer-events: none;
}

.race-choice__box.is-current {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    pointer-events: auto;
}

.race-choice__head-outer {
    display: none;
}

.race-choice__list {
    position: relative;
    z-index: 99;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 25px 0 28px 38px;
    background-color: #fff;
}

.race-choice__item {
    margin-bottom: 20px;
}

.race-choice__item:last-of-type {
    margin-bottom: 0;
}

.race-choice__btn {
    position: relative;
    z-index: 99;
    text-align: center;
}

.race-choice__txt-btn {
    display: block;
    padding-top: 14px;
    padding-bottom: 10px;
    width: 100%;
    background-color: #ebebeb;
    color: #787878;
    font-size: 14px;
    line-height: 1;
}

.race-choice__label {
    color: #787878;
    font-size: 0;
    line-height: 1;
    cursor: pointer;
}

.race-choice__label input {
    width: 0;
    opacity: 0;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.race-choice__label input + span {
    position: relative;
    display: inline-block;
    padding-left: 24px;
    font-size: 14px;
}

.race-choice__label input + span:before, .race-choice__label input + span:after {
    position: absolute;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
}

.race-choice__label input + span:before {
    top: 0;
    left: 0;
    width: 14px;
    height: 14px;
    border: 2px solid #787878;
}

.race-choice__label input + span:after {
    top: 7px;
    left: 7px;
    width: 6px;
    height: 6px;
    background-color: #787878;
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.race-choice__label input:checked + span:after {
    opacity: 1;
}

@media screen and (max-width: 750px) {
    .race-choice {
        position: static;
        display: block;
        overflow-y: scroll;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-top: 6vw;
        width: 100%;
        height: 104.66667vw;
        border-right: 1px solid #282828;
        border-bottom: 1px solid #282828;
        border-left: 1px solid #282828;
        background-color: #fff;
    }
    .race-choice__box {
        position: relative;
        margin-right: auto;
        margin-left: auto;
        width: 77.33333vw;
        border: none;
        opacity: 0;
        -webkit-transition: none;
        transition: none;
        -webkit-transform: none;
        transform: none;
        pointer-events: none;
    }
    .is-current .race-choice__box {
        opacity: 1;
        pointer-events: auto;
    }
    .race-choice__head-outer {
        display: block;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-bottom: 5.06667vw;
        padding-bottom: 2.66667vw;
        padding-left: 1.6vw;
        border-bottom: 1px solid #464646;
    }
    .race-choice__head {
        color: #787878;
        font-size: 4vw;
        line-height: 1;
    }
    .race-choice__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-bottom: 12vw;
        margin-left: 0.93333vw;
        padding: 0;
        width: 100%;
    }
    .race-choice__loop {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 0;
        width: 100%;
    }
    .race-choice__loop .race-choice__item:first-of-type {
        width: 37.33333vw;
    }
    .race-choice__loop .race-choice__item:nth-of-type(n+1) {
        margin-top: 4vw;
    }
    .race-choice__item {
        margin-bottom: 0;
        width: 37.33333vw;
    }
    .race-choice__item--day {
        width: 18.66667vw;
    }
    .race-choice__item--day:nth-of-type(4n) {
        margin-right: 0;
    }
    .race-choice__item:first-of-type {
        width: 100%;
    }
    .race-choice__item:nth-of-type(n+2) {
        margin-top: 4vw;
    }
    .race-choice__btn {
        position: absolute;
        top: 0.66667vw;
        right: 0.66667vw;
    }
    .race-choice__txt-btn {
        padding-top: 0;
        padding-bottom: 0;
        width: auto;
        border-bottom: 1px solid #787878;
        background-color: transparent;
        font-size: 3.2vw;
    }
    .race-choice__label {
        font-size: 0vw;
    }
    .race-choice__label input + span {
        padding-left: 4.53333vw;
        font-size: 3.2vw;
    }
    .race-choice__label input + span:before {
        top: -0.4vw;
        width: 3.2vw;
        height: 3.2vw;
        border: 1px solid #787878;
    }
    .race-choice__label input + span:after {
        top: 1.2vw;
        left: 1.6vw;
        width: 1.6vw;
        height: 1.6vw;
    }
}

/*  race-search
--------------------------------------------- */
.race-search {
    position: absolute;
    top: 3px;
    right: 0;
    z-index: 1;
    opacity: 0;
    -webkit-transition: opacity .3s, -webkit-transform .3s;
    transition: opacity .3s, -webkit-transform .3s;
    transition: opacity .3s, transform .3s;
    transition: opacity .3s, transform .3s, -webkit-transform .3s;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    pointer-events: none;
}

.race-search.is-current {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    pointer-events: auto;
}

.race-search__box {
    position: relative;
    z-index: 99;
    border-right: 1px solid #282828;
    border-bottom: 1px solid #282828;
    border-left: 1px solid #282828;
}

.race-search__list {
    position: relative;
    z-index: 99;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 25px 46px 28px 46px;
    width: 202px;
    background-color: #fff;
}

.race-search__item {
    margin-bottom: 20px;
}

.race-search__item:last-of-type {
    margin-bottom: 0;
}

.race-search__label {
    color: #787878;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
}

.race-search__label.mixitup-control-active {
    color: #282828;
}

.race-search__label input {
    opacity: 0;

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

@media screen and (max-width: 750px) {
    .race-search {
        top: 0;
    }
    .race-search__list {
        padding: 5.86667vw 1.6vw 6.66667vw 5.86667vw;
        width: 36.53333vw;
    }
    .race-search__item {
        margin-bottom: 3.33333vw;
    }
    .race-search__label {
        font-size: 4vw;
    }
}

/*  btn-close
--------------------------------------------- */
@media screen and (max-width: 750px) {
    .btn-close {
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 100;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        border-right: 1px solid #282828;
        border-bottom: 1px solid #282828;
        border-left: 1px solid #282828;
        background-color: #f0f0f0;
        text-align: center;
    }
    .btn-close__txt {
        display: block;
        padding-top: 4.8vw;
        padding-bottom: 4.8vw;
        width: 100%;
        color: #464646;
        font-size: 4vw;
        line-height: 1;
    }
}

/*  calendar-detail
--------------------------------------------- */
.calendar-detail {
    margin-top: 54px;
    border-bottom: 1px solid #c8c8c8;
}

.calendar-detail__inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 1024px;
}

@media screen and (max-width: 750px) {
    .calendar-detail {
        margin-top: 9.73333vw;
    }
    .calendar-detail__inner {
        width: 89.33333vw;
    }
}

/*  calendar-head
--------------------------------------------- */
.calendar-head {
    margin-top: 48px;
    padding-bottom: 50px;
    border-bottom: 1px solid #c8c8c8;
}

.calendar-head__img {
    margin-bottom: 28px;
    width: 100%;
}

.calendar-head__img img {
    width: 100%;
}

.calendar-head__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-right: 20px;
    padding-left: 4px;
}

.calendar-head__date {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 32px;
    width: 120px;
    border-right: 3px solid #282828;
}

.calendar-head__year {
    display: inline-block;
    margin-top: 3px;
    margin-bottom: 3px;
    color: #282828;
    font-weight: bold;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.calendar-head__box {
    position: relative;
}

.calendar-head__box:before {
    position: absolute;
    top: 35px;
    left: -12px;
    width: 90px;
    height: 3px;
    background-color: #282828;
    content: '';
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.calendar-head__month {
    display: inline-block;
    margin-bottom: 12px;
    width: 38px;
    color: #282828;
    text-align: center;
    white-space: nowrap;
    font-weight: bold;
    font-size: 35px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.calendar-head__day {
    display: block;
    margin-left: 22px;
    width: 65px;
    color: #282828;
    text-align: center;
    white-space: nowrap;
    font-weight: bold;
    font-size: 54px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.calendar-head__week {
    display: inline-block;
    margin-left: 35px;
    color: #282828;
    font-weight: bold;
    font-size: 22px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.calendar-head__desc {
    margin-top: 4px;
    margin-right: 20px;
    margin-left: 38px;
    width: 475px;
}

.calendar-head__label {
    display: block;
    margin-bottom: 15px;
    color: #282828;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.calendar-head__tit {
    display: block;
    margin-bottom: 12px;
    min-height: 58px;
    color: #464646;
    font-weight: bold;
    font-size: 26px;
    line-height: 1.625;
}

.calendar-head__tit--en {
    font-weight: normal;
    font-size: 28px;
    font-family: 'Poppins', sans-serif;
    line-height: 1.14;
}

.calendar-head__cat {
    color: #787878;
    font-size: 12px;
    line-height: 1;
}

.calendar-head__cat--en {
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
}

.calendar-head__detail {
    margin-top: 28px;
    width: 195px;
}

.calendar-head__entry {
    display: block;
    margin-bottom: 6px;
    color: #787878;
    letter-spacing: 0.02em;
    font-size: 12px;
    line-height: 1;
}

.calendar-head__entry--en {
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
}

.calendar-head__time {
    display: block;
    margin-bottom: 10px;
    color: #787878;
    letter-spacing: 0.02em;
    font-size: 12px;
    line-height: 1;
}

.calendar-head__time--en {
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
}

.calendar-head__condition {
    display: inline-block;
    margin-bottom: 20px;
    color: #464646;
    font-size: 12px;
    line-height: 1;
}

.calendar-head__condition--open {
    color: #c80000;
}

.calendar-head__condition--under {
    color: #ffa000;
}

.calendar-head__condition--close {
    color: #464646;
}

.calendar-head__condition--other {
    color: #674982;
}

.calendar-head__condition--en {
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
}

.calendar-head__link-outer {
    width: 138px;
    border: 1px solid #464646;
    border-radius: 5px;
}

.calendar-head__link {
    position: relative;
    display: block;
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 12px;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.calendar-head__link--en {
    padding-left: 0;
    text-align: center;
}

body.ie .calendar-head__link {
    padding-top: 4px;
    padding-bottom: 0px;
}

.calendar-head__link:hover {
    opacity: 0.6;
}

.calendar-head__link:after {
    position: absolute;
    top: 35%;
    right: 5px;
    width: 11px;
    height: 9px;
    background: url(/img/ico/ico_blank-gray.png) 0 0 no-repeat;
    background-size: 100% auto;
    content: '';
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.calendar-head__txt-link {
    color: #464646;
    font-size: 12px;
    line-height: 1;
}

.calendar-head__ico {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 0 0 auto;
}

.calendar-head__ico--tokyo-marathon img {
    width: 82px;
}

.calendar-head__ico img {
    width: 82px;
}

@media screen and (max-width: 750px) {
    .calendar-head {
        margin-top: 7.2vw;
        padding-bottom: 6.66667vw;
    }
    .calendar-head__img {
        margin-bottom: 5.33333vw;
    }
    .calendar-head__item {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding-right: 0;
        padding-left: 0.53333vw;
    }
    .calendar-head__date {
        margin-right: 4.66667vw;
        width: 12.66667vw;
        border: none;
    }
    .calendar-head__year {
        margin-top: 0.53333vw;
        margin-bottom: 1.06667vw;
        font-size: 2.4vw;
    }
    .calendar-head__box:before {
        top: 5vw;
        left: -2vw;
        width: 13.6667vw;
        height: 2px;
    }
    .calendar-head__month {
        margin-bottom: 2.66667vw;
        width: 4.8vw;
        font-size: 4.66667vw;
    }
    .calendar-head__day {
        margin-left: 2.66667vw;
        width: 8.66667vw;
        font-size: 7.2vw;
    }
    .calendar-head__week {
        margin-left: 4.8vw;
        font-size: 2.93333vw;
    }
    .calendar-head__desc {
        margin-top: 0;
        margin-right: 0;
        margin-left: 0;
        width: 70.66667vw;
    }
    .calendar-head__label {
        margin-bottom: 2vw;
        font-size: 2.4vw;
    }
    .calendar-head__tit {
        margin-bottom: 2vw;
        min-height: 13.33333vw;
        font-size: 4.8vw;
    }
    .calendar-head__cat {
        color: #464646;
        font-size: 2.93333vw;
    }
    .calendar-head__detail {
        margin-top: 4vw;
        margin-left: 17.6vw;
    }
    .calendar-head__entry {
        margin-bottom: 1.06667vw;
        color: #464646;
        font-size: 2.93333vw;
    }
    .calendar-head__time {
        margin-bottom: 2.8vw;
        color: #464646;
        font-size: 2.93333vw;
    }
    .calendar-head__condition {
        margin-bottom: 5.33333vw;
        font-size: 2.93333vw;
    }
    .calendar-head__link-outer {
        margin-bottom: 1vw;
        width: 32vw;
        border: 1px solid #787878;
        border-radius: 3px;
    }
    .calendar-head__link {
        padding-top: 1.46667vw;
        padding-bottom: 1.06667vw;
        padding-left: 2.93333vw;
    }
    .calendar-head__link:after {
        top: 32%;
        right: 5%;
        width: 2.4vw;
        height: 2.13333vw;
    }
    .calendar-head__txt-link {
        font-size: 2.66667vw;
    }
    .calendar-head__ico {
        -webkit-box-align: end;
        align-items: flex-end;
        -ms-flex-align: end;
        width: 12vw;
    }
}

/*  calendar-body
--------------------------------------------- */
.calendar-body {
    margin-top: 43px;
}

.calendar-body h2 {
    margin-bottom: 10px;
    color: #464646;
    font-weight: bold;
    font-size: 26px;
    line-height: 1.57;
}

.calendar-body p {
    margin-bottom: 32px;
    color: #464646;
    font-size: 16px;
    line-height: 1.93;
}

.calendar-body p.calendar-body__txt--en {
    font-family: 'Poppins', sans-serif;
    line-height: 1.75;
}

.calendar-body p a {
    color: #464646;
    text-decoration: underline;
    font-size: 16px;
    line-height: 1.9;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.calendar-body p a:hover {
    text-decoration: none;
    opacity: 0.6;
}

.calendar-body p a[target="_blank"] {
    position: relative;
    display: inline-block;
    margin-bottom: 0;
    padding-right: 2px;
    padding-bottom: 1px;
    color: #464646;
    /*border-bottom: 1px solid #674982;*/
    text-decoration: underline;
    font-size: 16px;
    line-height: 1.9;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.calendar-body p a[target="_blank"]:hover {
    text-decoration: none;
    opacity: 0.6;
}

.calendar-body p > .calendar-body__txt-link {
    padding: 2px;
    font-weight: bold;
    /*text-decoration: underline;*/
    -webkit-transition: opacity .25s ease-out;
    transition: opacity .25s ease-out;
}

.calendar-body p > .calendar-body__txt-link:hover {
    opacity: 0.6;
}

.calendar-body__link-outer {
    margin: 54px auto 106px;
    width: 260px;
}

.calendar-body__link {
    position: relative;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 14px;
    padding-bottom: 12px;
    border: 1px solid #464646;
    border-radius: 25px;
    text-align: center;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

body.ie .calendar-body__link {
    padding-top: 16px;
    padding-bottom: 10px;
}

.calendar-body__link:hover {
    opacity: 0.6;
}

.calendar-body__txt-link {
    color: #464646;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.calendar-body ul.img_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 32px;
    list-style: none;
}

.calendar-body ul.img_list li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 10px;
    width: calc(48%);
}

.calendar-body ul.img_list li img {
    width: 100%;
}

.calendar-body ul.img_caption {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    list-style: none;
}

.calendar-body ul.img_caption li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 32px;
    width: calc(50%);
}

.calendar-body ul.img_caption li img {
    width: 93%;
}

.calendar-body ul.img_caption li p.caption {
    width: 93%;
    font-size: 12px;
}

.calendar-body ul.img_caption li p:last-child {
    margin-bottom: 0;
}

.calendar-body ul.img_caption li:nth-of-type(2n) img {
    margin-left: 7%;
}

.calendar-body ul.img_caption li:nth-of-type(2n) p.caption {
    margin-left: 7%;
}

.calendar-body ul.txt_list {
    margin-bottom: 44px;
    margin-left: 34px;
}

.calendar-body ul.txt_list li {
    margin-bottom: 15px;
    color: #464646;
    font-size: 16px;
    line-height: 1;
}

body.ie .calendar-body ul.txt_list li {
    margin-bottom: 19px;
}

.calendar-body ul.txt_list li ol {
    margin-top: 15px;
    margin-bottom: 0;
}

.calendar-body ul.style_dot {
    margin-bottom: 44px;
    margin-left: 34px;
}

.calendar-body ul.style_dot li {
    margin-bottom: 15px;
    color: #464646;
    font-size: 16px;
    line-height: 1;
}

.calendar-body ul.style_dot li::before {
    content: '・';
}

body.ie .calendar-body ul.style_dot li {
    margin-bottom: 19px;
}

.calendar-body ol {
    margin-top: 0;
    margin-bottom: 44px;
    margin-left: 34px;
}

.calendar-body ol.style_num {
    counter-reset: cnt;
}

.calendar-body ol.style_num li {
    list-style-type: none;
    counter-increment: cnt;
}

.calendar-body ol.style_num li::before {
    content: counter(cnt) ". ";
}

.calendar-body ol.style_num_bracket {
    margin-top: 15px;
    margin-bottom: 0;
}

.calendar-body ol.style_num_bracket li {
    list-style-type: none;
    counter-increment: cntr;
}

.calendar-body ol.style_num_bracket li::before {
    content: "(" counter(cntr) ") ";
}

.calendar-body ol li {
    margin-bottom: 15px;
    color: #464646;
    font-size: 16px;
    line-height: 1;
}

body.ie .calendar-body ol li {
    margin-bottom: 15px;
}

.calendar-body a[target="_blank"] {
    position: relative;
    display: inline-block;
    margin-bottom: 0;
    padding-right: 2px;
    padding-bottom: 1px;
    color: #464646;
    text-decoration: underline;
    font-size: 16px;
    line-height: 1.9;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.calendar-body a[target="_blank"]:hover {
    opacity: 0.6;
}

.calendar-body a[target="_blank"]:hover {
    text-decoration: none;
}

@media screen and (max-width: 750px) {
    .calendar-body {
        margin-top: 7.73333vw;
    }
    .calendar-body p {
        margin-bottom: 7.73333vw;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .calendar-body p a {
        font-size: 3.73333vw;
    }
    .calendar-body p a[target="_blank"] {
        font-size: 3.73333vw;
    }
    .calendar-body__link-outer {
        margin: 12vw auto 10.13333vw;
        width: 53.33333vw;
    }
    .calendar-body__link {
        padding-top: 3.46667vw;
        padding-bottom: 3.2vw;
    }
    .calendar-body__txt-link {
        font-size: 3.46667vw;
    }
    .calendar-body ul.img_list li {
        width: 100%;
    }
    .calendar-body ul.img_caption {
        display: block;
    }
    .calendar-body ul.img_caption li {
        margin-bottom: 5.33333vw;
        width: 100%;
    }
    .calendar-body ul.img_caption li img {
        width: 100%;
    }
    .calendar-body ul.img_caption li p.caption {
        width: 100%;
        font-size: 2.4vw;
    }
    .calendar-body ul.img_caption li p:last-child {
        margin-bottom: 0;
    }
    .calendar-body ul.img_caption li:nth-of-type(2n) img {
        margin-left: 0;
    }
    .calendar-body ul.img_caption li:nth-of-type(2n) p.caption {
        margin-left: 0;
    }
    .calendar-body ul.txt_list {
        margin-bottom: 8vw;
        margin-left: 0;
    }
    .calendar-body ul.txt_list li {
        margin-bottom: 0;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .calendar-body ul.style_dot {
        margin-bottom: 8vw;
        margin-left: 0;
    }
    .calendar-body ul.style_dot li {
        margin-bottom: 0;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .calendar-body ol {
        margin-top: 0;
        margin-bottom: 8vw;
        margin-left: 5.2vw;
    }
    .calendar-body ol.style_num {
        margin-left: 0;
    }
    .calendar-body ol.style_num_bracket {
        margin-top: 0;
    }
    .calendar-body ol li {
        margin-bottom: 0;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .calendar-body a[target="_blank"] {
        padding-right: 0.33333vw;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
}

/*  data
--------------------------------------------- */
.data {
    margin-top: 54px;
    padding-bottom: 122px;
    border-bottom: 1px solid #c8c8c8;
}

.data__inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 1024px;
}

.data__tit-sub {
    display: block;
    margin-top: 23px;
    color: #282828;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    line-height: 1;
}

.data__tit-sub--en {
    font-weight: normal;
    font-family: 'Poppins', sans-serif;
}

.data__txt {
    margin-top: 94px;
    margin-bottom: 73px;
    margin-left: 4px;
    color: #282828;
    white-space: nowrap;
    font-weight: bold;
    font-size: 20px;
    line-height: 2.2;
}

.data__txt--en {
    white-space: normal;
    font-weight: 600;
    font-size: 24px;
    font-family: 'Poppins', sans-serif;
    line-height: 1.45;
}

.data__note-outer {
    padding-top: 112px;
    border-top: 2px solid #282828;
}

.data__note {
    margin-left: 4px;
    color: #282828;
    letter-spacing: -0.01em;
    font-weight: bold;
    font-size: 20px;
    line-height: 2.2;
}

.data__note--en {
    font-weight: 600;
    font-family: 'Poppins', sans-serif;
}

@media screen and (max-width: 750px) {
    .data {
        margin-top: 9.33333vw;
        padding-bottom: 16vw;
    }
    .data__inner {
        width: 89.33333vw;
    }
    .data__tit-sub {
        margin-top: 4vw;
        font-size: 3.46667vw;
    }
    .data__txt {
        margin-top: 12vw;
        margin-bottom: 9.06667vw;
        margin-left: 0;
        white-space: normal;
        font-size: 4vw;
        line-height: 1.66;
    }
    .data__txt--en {
        font-weight: 600;
        font-size: 4vw;
        line-height: 1.31;
    }
    .data__note-outer {
        padding-top: 17.33333vw;
        border-top: 1px solid #282828;
    }
    .data__note {
        margin-left: 0;
        letter-spacing: 0;
        font-size: 4vw;
        line-height: 1.66;
    }
    .data__note--en {
        font-weight: 600;
        line-height: 1.4;
    }
}

/*  data-list
--------------------------------------------- */
.data-list__item {
    margin-bottom: 30px;
}

.data-list__item:nth-of-type {
    margin-bottom: 0;
}

.data-list__heading-outer {
    padding-top: 18px;
    padding-bottom: 13px;
    border-bottom: 6px solid;
    -o-border-image: linear-gradient(to right, #f5cb3f calc(272/1024 * 100%), #009fe2 calc(272/1024 * 100%), #009fe2 calc(446/1024 * 100%), #cf2c5c calc(446/1024 * 100%), #cf2c5c calc(593/1024 * 100%), #94d44a calc(593/1024 * 100%), #94d44a calc(700/1024 * 100%), #f5cb3f calc(700/1024 * 100%), #f5cb3f calc(877/1024 * 100%), #009fe2 calc(877/1024 * 100%));
    border-image: -webkit-gradient(linear, left top, right top, from(#f5cb3f), color-stop(#009fe2), color-stop(#009fe2), color-stop(#cf2c5c), color-stop(#cf2c5c), color-stop(#94d44a), color-stop(#94d44a), color-stop(#f5cb3f), color-stop(#f5cb3f), to(#009fe2));
    border-image: linear-gradient(to right, #f5cb3f calc(272/1024 * 100%), #009fe2 calc(272/1024 * 100%), #009fe2 calc(446/1024 * 100%), #cf2c5c calc(446/1024 * 100%), #cf2c5c calc(593/1024 * 100%), #94d44a calc(593/1024 * 100%), #94d44a calc(700/1024 * 100%), #f5cb3f calc(700/1024 * 100%), #f5cb3f calc(877/1024 * 100%), #009fe2 calc(877/1024 * 100%));
    border-image-slice: 1;
}

body.ie .data-list__heading-outer {
    padding-top: 22px;
    padding-bottom: 14px;
}

.data-list__heading-outer--en {
    padding-top: 16px;
    padding-bottom: 16px;
}

.data-list__heading {
    display: block;
    margin-left: 0px;
    color: #282828;
    font-weight: bold;
    font-size: 22px;
    line-height: 1;
}

.data-list__heading--en {
    font-weight: normal;
    font-size: 30px;
    font-family: 'Poppins', sans-serif;
}

.data-list__body {
    position: relative;
}

.data-list__body--opened .aco-trigger__inner:after {
    background: url(/img/data/ico_close.png) 0 0 no-repeat;
    background-size: 100% auto;
}

.data-list__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 49px 30px 39px 38px;
}

.data-list__catch {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.data-list__img {
    margin-right: 25px;
    width: 102px;
}

.data-list__img--member {
    margin-top: 25px;
}

.data-list__img img {
    width: 100%;
}

.data-list__cat {
    display: block;
    margin-bottom: -14px;
    margin-left: 4px;
    color: #282828;
    font-weight: bold;
    font-size: 22px;
    line-height: 1.6;
}

.data-list__cat--small {
    font-size: 16px;
}

.data-list__cat--charity {
    margin-bottom: 0;
}

.data-list__cat--en {
    font-weight: normal;
    font-size: 18px;
    font-family: 'Poppins', sans-serif;
    line-height: 1.16;
}

.data-list__num {
    display: inline-block;
    margin-bottom: 8px;
    color: #282828;
    font-weight: bold;
    font-size: 20px;
    line-height: 1;
}

.data-list__num--middle {
    margin-right: 2px;
    font-weight: normal;
    font-size: 74px;
    font-family: 'Barlow Condensed', sans-serif;
}

.data-list__num--big {
    margin-right: 2px;
    font-weight: normal;
    font-size: 100px;
    font-family: 'Barlow Condensed', sans-serif;
}

.data-list__num--charity {
    margin-bottom: 18px;
}

.data-list__txt-desc {
    display: block;
    color: #282828;
    font-size: 14px;
    line-height: 1;
}

.data-list__txt-desc--en {
    font-weight: 300;
    font-family: 'Poppins', sans-serif;
}

.data-list__txt {
    margin-top: 22px;
    width: 482px;
    color: #282828;
    font-size: 16px;
    line-height: 1.875;
}

.data-list__txt--member {
    margin-top: 36px;
}

.data-list__txt--charity {
    width: 438px;
}

.data-list__txt--en {
    font-weight: 300;
    font-family: 'Poppins', sans-serif;
    line-height: 1.5;
}

@media screen and (max-width: 750px) {
    .data-list__item {
        margin-bottom: 9.33333vw;
    }
    .data-list__heading-outer {
        padding-top: 2.93333vw;
        padding-bottom: 1.86667vw;
        -o-border-image: linear-gradient(to right, #f5cb3f calc(189/670 * 100%), #cf2c5c calc(189/670 * 100%), #cf2c5c calc(289/670 * 100%), #94d44a calc(289/670 * 100%), #94d44a calc(431/670 * 100%), #f5cb3f calc(431/670 * 100%), #f5cb3f calc(548/670 * 100%), #009fe2 calc(548/670 * 100%));
        border-image: -webkit-gradient(linear, left top, right top, from(#f5cb3f), color-stop(#cf2c5c), color-stop(#cf2c5c), color-stop(#94d44a), color-stop(#94d44a), color-stop(#f5cb3f), color-stop(#f5cb3f), to(#009fe2));
        border-image: linear-gradient(to right, #f5cb3f calc(189/670 * 100%), #cf2c5c calc(189/670 * 100%), #cf2c5c calc(289/670 * 100%), #94d44a calc(289/670 * 100%), #94d44a calc(431/670 * 100%), #f5cb3f calc(431/670 * 100%), #f5cb3f calc(548/670 * 100%), #009fe2 calc(548/670 * 100%));
        border-image-slice: 1;
    }
    .data-list__heading-outer--en {
        padding-top: 2.13333vw;
        padding-bottom: 2.13333vw;
    }
    .data-list__heading {
        margin-left: 0vw;
        font-size: 4vw;
    }
    .data-list__heading--en {
        font-size: 5.33333vw;
    }
    .data-list__heading--small {
        font-size: 4.83333vw;
    }
    .data-list__box {
        display: block;
        padding: 8.66667vw 0 6.66667vw 0;
    }
    .data-list__box--member {
        padding: 8.66667vw 0 14.66667vw 0;
    }
    .data-list__box--voluntainer {
        padding: 8.66667vw 0 12vw 0;
    }
    .data-list__box--legacy {
        padding: 8.66667vw 0 12vw 0;
    }
    .data-list__box--reuse {
        padding: 8.66667vw 0 12vw 0;
    }
    .data-list__catch {
        margin-left: 3.33333vw;
    }
    .data-list__img {
        margin-right: 2.93333vw;
        width: 14.93333vw;
    }
    .data-list__img--member {
        margin-top: 6.4vw;
    }
    .data-list__cat {
        margin-bottom: -0.8vw;
        margin-left: 0.66667vw;
        font-size: 3.73333vw;
        line-height: 1;
    }
    .data-list__cat--small {
        font-size: 2.93333vw;
        line-height: 1.54;
    }
    .data-list__cat--charity {
        font-size: 3.86667vw;
    }
    .data-list__cat--reuse {
        font-size: 3.6vw;
    }
    .data-list__cat--en {
        font-weight: 600;
        line-height: 1.14;
    }
    .data-list__num {
        display: inline-block;
        margin-bottom: 8px;
        color: #282828;
        font-weight: bold;
        font-size: 20px;
        line-height: 1;
    }
    .data-list__num--small {
        margin-right: 0.4vw;
        font-size: 13.46667vw;
    }
    .data-list__num--big {
        margin-right: 0.4vw;
        font-size: 18.66667vw;
    }
    .data-list__num--middle {
        margin-right: 0.4vw;
        font-size: 13.6vw;
    }
    .data-list__num--charity {
        margin-bottom: 8px;
    }
    .data-list__num--legacy {
        font-size: 14.93333vw;
    }
    .data-list__txt-desc {
        font-size: 3.2vw;
    }
    .data-list__txt {
        margin-top: 6.4vw;
        width: 100%;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .data-list__txt--member {
        margin-top: 6.4vw;
    }
    .data-list__txt--charity {
        width: 100%;
    }
    .data-list__txt--en {
        line-height: 1.35;
    }
}

/*  aco-trigger
--------------------------------------------- */
.aco-trigger {
    position: absolute;
    right: 22px;
    bottom: 11px;
    cursor: pointer;
}

.aco-trigger__inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.aco-trigger__inner:after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 54px;
    height: 54px;
    background: url(/img/data/ico_open.png) 0 0 no-repeat;
    background-size: 100% auto;
    content: '';
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.aco-trigger__txt,
.aco-trigger .js-accordion-textchange__text {
    margin-right: 76px;
    color: #464646;
    letter-spacing: 0.01em;
    font-size: 18px;
    line-height: 1;
}

.aco-trigger__ico {
    margin-left: 22px;
    width: 54px;
}

@media screen and (max-width: 750px) {
    .aco-trigger {
        right: 0;
        bottom: 0;
    }
    .aco-trigger__inner:after {
        width: 10.4vw;
        height: 10.4vw;
    }
    .aco-trigger__txt,
    .aco-trigger .js-accordion-textchange__text {
        margin-top: 1vw;
        margin-right: 13.33333vw;
        font-size: 4vw;
    }
}

/*  data-desc
--------------------------------------------- */
.data-desc {
    display: none;
    margin-top: 27px;
    padding-top: 60px;
    padding-bottom: 44px;
    border-top: 1px solid #b4b4b4;
}

.data-desc--member, .data-desc--voluntainer {
    padding-top: 70px;
}

.data-desc--reuse {
    padding-top: 0;
}

.data-desc__chart {
    width: 100%;
}

.data-desc__chart img {
    width: 100%;
}

.data-desc__txt {
    margin-top: 40px;
    color: #282828;
    font-size: 16px;
    line-height: 1.875;
}

.data-desc__txt--member {
    margin-top: 48px;
}

.data-desc__txt--voluntainer {
    margin-top: 53px;
}

.data-desc__txt--en {
    font-weight: 300;
    font-family: 'Poppins', sans-serif;
    line-height: 1.5;
}

.data-desc__note {
    margin-top: 13px;
    color: #282828;
    font-size: 12px;
    line-height: 1;
}

@media screen and (max-width: 750px) {
    .data-desc {
        margin-top: 0;
        padding-top: 8.53333vw;
        padding-bottom: 10.66667vw;
    }
    .data-desc--voluntainer {
        padding-top: 13.33333vw;
        padding-bottom: 12vw;
    }
    .data-desc--member {
        padding-top: 10.66667vw;
        padding-bottom: 12vw;
    }
    .data-desc--charity {
        padding-bottom: 10.66667vw;
    }
    .data-desc--legacy {
        padding-top: 9.33333vw;
        padding-bottom: 10.66667vw;
    }
    .data-desc--reuse {
        padding-top: 0;
        padding-bottom: 10.66667vw;
    }
    .data-desc__txt {
        margin-top: 8vw;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .data-desc__txt--member {
        margin-top: 10.66667vw;
    }
    .data-desc__txt--voluntainer {
        margin-top: 5.33333vw;
    }
    .data-desc__txt--en {
        line-height: 1.35;
    }
    .data-desc__note {
        margin-top: 5.33333vw;
        font-size: 3.2vw;
    }
}

/*  member-chart
--------------------------------------------- */
.member-chart {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.member-chart__item--charity, .member-chart__item--legacy {
    width: 100%;
}

.member-chart__img--map-member {
    margin-right: 140px;
    margin-left: 152px;
    width: 429px;
}

.member-chart__img--map-member--en {
    margin-right: 116px;
    width: 428px;
}

.member-chart__img--map-voluntainer {
    margin-top: 63px;
    margin-left: 146px;
    width: 517px;
}

.member-chart__img--map-voluntainer--en {
    width: 523px;
}

.member-chart__img--chart-member {
    width: 367px;
}

.member-chart__img--chart-member--en {
    width: 423px;
}

.member-chart__img--chart-voluntainer-01 {
    margin-right: 116px;
    margin-left: 80px;
    width: 377px;
}

.member-chart__img--chart-voluntainer-01--en {
    margin-right: 54px;
}

.member-chart__img--chart-voluntainer-02 {
    width: 398px;
}

.member-chart__img--chart-voluntainer-02--en {
    width: 470px;
}

.member-chart__img--chart-charity {
    margin-right: auto;
    margin-left: auto;
    width: 954px;
}

.member-chart__img--chart-charity--en {
    width: 919px;
}

.member-chart__img--chart-legacy {
    margin-right: auto;
    margin-left: auto;
    width: 1001px;
}

.member-chart__img--chart-legacy--en {
    width: 1024px;
}

.member-chart__note {
    margin-top: .5em;
    color: #282828;
    font-size: 12px;
}

@media screen and (max-width: 750px) {
    .member-chart {
        display: block;
    }
    .member-chart__img--map-member {
        margin-right: auto;
        margin-bottom: 16vw;
        margin-left: 1.33333vw;
        width: 80.13333vw;
    }
    .member-chart__img--map-member--en {
        width: 80.93333vw;
    }
    .member-chart__img--map-voluntainer {
        margin-right: auto;
        margin-bottom: 9.33333vw;
        margin-left: auto;
        width: 83.86667vw;
    }
    .member-chart__img--map-voluntainer--en {
        width: 85.2vw;
    }
    .member-chart__img--chart-member {
        margin-right: auto;
        margin-left: auto;
        width: 68.53333vw;
    }
    .member-chart__img--chart-member--en {
        width: 78.93333vw;
    }
    .member-chart__img--chart-voluntainer-01 {
        margin-right: auto;
        margin-bottom: 16vw;
        margin-left: auto;
        width: 70.4vw;
    }
    .member-chart__img--chart-voluntainer-01--en {
        width: 70.4vw;
    }
    .member-chart__img--chart-voluntainer-02 {
        margin-right: auto;
        margin-bottom: 20vw;
        margin-left: auto;
        width: 74.26667vw;
    }
    .member-chart__img--chart-voluntainer-02--en {
        width: 87.86667vw;
    }
    .member-chart__img--chart-charity {
        margin-bottom: 10.66667vw;
        width: 88.13333vw;
    }
    .member-chart__img--chart-charity--en {
        width: 91.06667vw;
    }
    .member-chart__img--chart-legacy {
        width: 100%;
    }
    .member-chart__note {
        padding-left: 1em;
        text-indent: -1em;
        font-size: 3.2vw;
    }
}

/*  index-data
--------------------------------------------- */
.index-data {
    border-top: 6px solid;
    -o-border-image: linear-gradient(to right, #f5cb3f calc(272/1440 * 100%), #009fe2 calc(272/1440 * 100%), #009fe2 calc(446/1440 * 100%), #cf2c5c calc(446/1440 * 100%), #cf2c5c calc(826/1440 * 100%), #94d44a calc(826/1440 * 100%), #94d44a calc(933/1440 * 100%), #f5cb3f calc(933/1440 * 100%), #f5cb3f calc(1110/1440 * 100%), #009fe2 calc(1110/1440 * 100%));
    border-image: -webkit-gradient(linear, left top, right top, from(#f5cb3f), color-stop(#009fe2), color-stop(#009fe2), color-stop(#cf2c5c), color-stop(#cf2c5c), color-stop(#94d44a), color-stop(#94d44a), color-stop(#f5cb3f), color-stop(#f5cb3f), to(#009fe2));
    border-image: linear-gradient(to right, #f5cb3f calc(272/1440 * 100%), #009fe2 calc(272/1440 * 100%), #009fe2 calc(446/1440 * 100%), #cf2c5c calc(446/1440 * 100%), #cf2c5c calc(826/1440 * 100%), #94d44a calc(826/1440 * 100%), #94d44a calc(933/1440 * 100%), #f5cb3f calc(933/1440 * 100%), #f5cb3f calc(1110/1440 * 100%), #009fe2 calc(1110/1440 * 100%));
    border-image-slice: 1;
    background: url(/img/top/bg_map-02.png) center center no-repeat;
    background-size: auto 100%;
}

.index-data__inner {
    margin-right: auto;
    margin-left: auto;
    padding-top: 72px;
    padding-bottom: 102px;
    width: 1060px;
}

body.ie .index-data__inner {
    width: 1061px;
}

@media screen and (max-width: 750px) {
    .index-data {
        -o-border-image: linear-gradient(to right, #f5cb3f calc(222/750 * 100%), #009fe2 calc(222/750 * 100%), #009fe2 calc(296/750 * 100%), #cf2c5c calc(296/750 * 100%), #cf2c5c calc(466/750 * 100%), #94d44a calc(466/750 * 100%), #94d44a calc(573/750 * 100%), #f5cb3f calc(573/750 * 100%));
        border-image: -webkit-gradient(linear, left top, right top, from(#f5cb3f), color-stop(#009fe2), color-stop(#009fe2), color-stop(#cf2c5c), color-stop(#cf2c5c), color-stop(#94d44a), color-stop(#94d44a), to(#f5cb3f));
        border-image: linear-gradient(to right, #f5cb3f calc(222/750 * 100%), #009fe2 calc(222/750 * 100%), #009fe2 calc(296/750 * 100%), #cf2c5c calc(296/750 * 100%), #cf2c5c calc(466/750 * 100%), #94d44a calc(466/750 * 100%), #94d44a calc(573/750 * 100%), #f5cb3f calc(573/750 * 100%));
        border-image-slice: 1;
        background: url(/img/sp/top/bg_map-03.png) 0 0 no-repeat;
        background-size: 100% auto;
    }
    .index-data--en {
        background: url(/img/sp/top/bg_map-03.png) 0 0 no-repeat;
        background-size: cover;
    }
    .index-data__inner {
        padding-top: 9.33333vw;
        padding-bottom: 18.66667vw;
        width: 86.66667vw;
    }
    .index-data__inner--en {
        padding-bottom: 13.66vw;
    }
}

/*  index-data-list
--------------------------------------------- */
.index-data-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 96px;
    padding-left: 20px;
}

.index-data-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-top: 66px;
    width: 450px;
}

.index-data-list__item:nth-of-type(-n+2) {
    margin-top: 0;
}

.index-data-list__item:nth-of-type(2) {
    margin-right: 20px;
}

.index-data-list__item:nth-of-type(4) {
    margin-top: 94px;
    margin-right: 15px;
}

.index-data-list__item--normal {
    display: block;
    padding-left: 52px;
}

.index-data-list__item--auto {
    margin-top: 84px;
    width: auto;
}

.index-data-list__item--en {
    padding-left: 10px;
}

.index-data-list__tit {
    display: block;
    margin-bottom: 20px;
    color: #282828;
    font-weight: bold;
    font-size: 27px;
    line-height: 1;
}

.index-data-list__tit--en {
    font-weight: normal;
    font-family: 'Poppins', sans-serif;
    line-height: 1.18;
}

.index-data-list__txt {
    color: #282828;
    font-size: 16px;
    line-height: 1.875;
}

.index-data-list__txt--en {
    white-space: nowrap;
    font-weight: 300;
    font-family: 'Poppins', sans-serif;
    line-height: 1.625;
}

.index-data-list__box {
    margin-top: -16px;
    width: 280px;
}

.index-data-list__box--multi {
    margin-top: 6px;
}

.index-data-list__ico {
    margin-right: 24px;
    width: 148px;
}

.index-data-list__detail {
    display: block;
    color: #282828;
    font-size: 16px;
    line-height: 1;
}

.index-data-list__detail--en {
    font-size: 18px;
    font-family: 'Poppins', sans-serif;
    line-height: 1.16;
}

.index-data-list__num {
    display: block;
    margin-top: -6px;
    margin-bottom: 6px;
    color: #282828;
    white-space: nowrap;
    font-size: 100px;
    font-family: 'Barlow Condensed', sans-serif;
    line-height: 1;
}

.index-data-list__num--small {
    font-size: 20px;
}

.index-data-list__desc {
    display: block;
    color: #282828;
    font-size: 14px;
    line-height: 1.3;
}

.index-data-list__desc--en {
    white-space: nowrap;
    font-weight: 300;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
}

@media screen and (max-width: 750px) {
    .index-data-list {
        display: block;
        margin-top: 13.33333vw;
        margin-bottom: 17.33333vw;
        padding-left: 0;
    }
    .index-data-list__item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 10.53333vw;
        width: 100%;
    }
    .index-data-list__item:first-of-type {
        margin-top: 0;
    }
    .index-data-list__item:nth-of-type(-n+2) {
        margin-top: 14.26667vw;
    }
    .index-data-list__item:nth-of-type(4) {
        margin-top: 14.26667vw;
        margin-right: 0;
    }
    .index-data-list__item--normal {
        display: block;
        padding-left: 0;
    }
    .index-data-list__item--auto {
        margin-top: 15.6vw;
    }
    .index-data-list__tit {
        margin-bottom: 2.4vw;
        font-size: 4.53333vw;
    }
    .index-data-list__tit--en {
        font-size: 4.8vw;
    }
    .index-data-list__txt {
        white-space: nowrap;
        font-size: 3.46667vw;
        line-height: 1.73;
    }
    .index-data-list__txt--en {
        line-height: 1.35;
    }
    .index-data-list__box {
        width: 62.66667vw;
    }
    .index-data-list__ico {
        margin-top: -4vw;
        margin-right: 2.93333vw;
        width: 19.73333vw;
    }
    .index-data-list__ico--second {
        margin-top: -3vw;
    }
    .index-data-list__detail {
        margin-bottom: 1.33333vw;
        font-size: 3.46667vw;
    }
    .index-data-list__detail--en {
        white-space: nowrap;
        font-size: 3.73333vw;
        line-height: 1.14;
    }
    .index-data-list__num {
        margin-bottom: 0.53333vw;
        font-size: 13.33333vw;
    }
    .index-data-list__num--small {
        font-size: 2.66667vw;
    }
    .index-data-list__desc {
        font-size: 2.93333vw;
    }
    .index-data-list__desc--en {
        font-size: 3.2vw;
        line-height: 1.16;
    }
}

/*  index-news
--------------------------------------------- */
.index-news {
    width: 575px;
}

@media screen and (max-width: 750px) {
    .index-news {
        margin-right: auto;
        margin-left: auto;
        width: 89.33333vw;
    }
}

/*  index-mission
--------------------------------------------- */
.index-mission {
    margin-top: 130px;
    margin-right: auto;
    margin-left: auto;
    max-width: 1100px;
}

.index-mission__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 38px;
    border: 2px #dcdcdc solid;
}

.index-mission__img {
    width: 625px;
}

.index-mission__img img {
    width: 100%;
}

.index-mission__desc {
    position: relative;
    width: 475px;
    background: url(/img/top/bg_map-01.png) 0 0 no-repeat;
    background-size: cover;
}

.index-mission__txt {
    margin-top: 130px;
    margin-left: 137px;
    color: #282828;
    white-space: nowrap;
    letter-spacing: 0.02em;
    font-size: 18px;
    line-height: 1.9;
}

.index-mission__txt--en {
    margin-top: 160px;
    margin-left: 90px;
    font-weight: 300;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
}

.index-mission__link-outer {
    position: absolute;
    right: 24px;
    bottom: 20px;
}

.index-mission__link {
    display: block;
    padding: 10px;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.index-mission__link:hover {
    opacity: 0.6;
}

.index-mission__link:hover .index-mission__txt-link {
    border-color: transparent;
}

.index-mission__txt-link {
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 1px solid #282828;
    color: #282828;
    letter-spacing: 0.02em;
    font-weight: 200;
    font-size: 22px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

@media screen and (max-width: 750px) {
    .index-mission {
        margin-top: 14.66667vw;
        width: 89.33333vw;
    }
    .index-mission__box {
        display: block;
        margin-top: 8vw;
    }
    .index-mission__img {
        width: 100%;
    }
    .index-mission__desc {
        display: block;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        background: url(/img/sp/top/bg_map-01.png) 0 0 no-repeat;
        background-size: cover;
    }
    .index-mission__txt {
        margin-top: 0;
        margin-left: 0;
        padding-top: 8vw;
        padding-bottom: 10vw;
        padding-left: 7.33333vw;
        font-size: 3.2vw;
    }
    .index-mission__txt--en {
        font-weight: 400;
        font-size: 3.46667vw;
        font-family: 'Poppins', sans-serif;
        line-height: 1.5;
    }
    .index-mission__link-outer {
        position: absolute;
        right: 2.66667vw;
        bottom: 2.93333vw;
    }
    .index-mission__txt-link {
        border-bottom: 1px solid rgba(40, 40, 40, 0.7);
        font-size: 2.93333vw;
    }
}

/*  index-plan
--------------------------------------------- */
.index-plan {
    margin-top: 130px;
    margin-right: auto;
    margin-bottom: 115px;
    margin-left: auto;
    max-width: 1100px;
}

@media screen and (max-width: 750px) {
    .index-plan {
        margin-top: 21.33333vw;
        margin-bottom: 20vw;
        max-width: 89.33333vw;
    }
}

/*  index-plan-list
--------------------------------------------- */
.index-plan-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 52px;
    margin-bottom: 65px;
}

.index-plan-list__item {
    margin-top: 76px;
    width: 510px;
}

.index-plan-list__item:nth-of-type(-n+2) {
    margin-top: 0;
}

.index-plan-list__item--event {
    border-bottom: 7px solid #C42F4E;
}

.index-plan-list__item--life {
    border-bottom: 7px solid #4593CE;
}

.index-plan-list__item--wellness {
    border-bottom: 7px solid #94D449;
}

.index-plan-list__item--society {
    border-bottom: 7px solid #F1D74F;
}

.index-plan-list__link {
    display: block;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.index-plan-list__link:hover {
    opacity: 0.6;
}

.index-plan-list__img {
    width: 100%;
}

.index-plan-list__img img {
    width: 100%;
}

.index-plan-list__desc {
    padding: 28px 36px 30px;
    background-color: #f5f5f5;
}

body.ie .index-plan-list__desc {
    padding: 32px 36px 26px;
}

.index-plan-list__tit {
    display: block;
    margin-bottom: 10px;
    color: #464646;
    font-weight: bold;
    font-size: 26px;
    line-height: 1;
}

.index-plan-list__tit--en {
    font-size: 30px;
    font-family: 'Poppins', sans-serif;
}

.index-plan-list__txt {
    color: #464646;
    font-size: 16px;
    line-height: 1;
}

.index-plan-list__txt--en {
    font-weight: 300;
    font-family: 'Poppins', sans-serif;
}

@media screen and (max-width: 750px) {
    .index-plan-list {
        display: block;
        margin-top: 8vw;
        margin-bottom: 12vw;
    }
    .index-plan-list__item {
        margin-top: 7.73333vw;
        width: 100%;
    }
    .index-plan-list__item:first-of-type {
        margin-top: 0;
    }
    .index-plan-list__item:nth-of-type(-n+2) {
        margin-top: 7.73333vw;
    }
    .index-plan-list__item--red {
        border-bottom: 4px solid #C42F4E;
    }
    .index-plan-list__item--green {
        border-bottom: 4px solid #4593CE;
    }
    .index-plan-list__item--blue {
        border-bottom: 4px solid #F1D74F;
    }
    .index-plan-list__item--yellow {
        border-bottom: 4px solid #4EA8AF;
    }
    .index-plan-list__desc {
        padding: 4.8vw 4.8vw 4vw;
    }
    .index-plan-list__tit {
        margin-bottom: 2vw;
        font-size: 4.26667vw;
    }
    .index-plan-list__tit--en {
        font-size: 4.8vw;
    }
    .index-plan-list__txt {
        font-size: 2.93333vw;
    }
    .index-plan-list__txt--en {
        white-space: nowrap;
    }
}

/*  index-calendar
--------------------------------------------- */
.index-calendar {
    width: 426px;
}

@media screen and (max-width: 750px) {
    .index-calendar {
        margin-right: auto;
        margin-bottom: 16vw;
        margin-left: auto;
        width: 89.33333vw;
    }
}

/*  index-calendar-info
--------------------------------------------- */
.index-calendar-info {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 34px;
    width: 100%;
    border-top: 5px solid #282828;
    border-right: 1px solid #bfbfbf;
    border-bottom: 5px solid #282828;
    border-left: 1px solid #bfbfbf;
}

.index-calendar-info__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 12px 15px 5px 20px;
    border-bottom: 5px solid #e6e6e6;
}

.index-calendar-info__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    width: 88px;
}

.index-calendar-info__num {
    display: inline-block;
    margin-right: 8px;
    color: #282828;
    font-weight: bold;
    font-size: 46px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.index-calendar-info__month {
    display: inline-block;
    color: #282828;
    letter-spacing: 0.02em;
    font-weight: bold;
    font-size: 20px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.index-calendar-info__year {
    display: inline-block;
    color: #282828;
    letter-spacing: 0.02em;
    font-weight: bold;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.index-calendar-info__body {
    overflow-y: auto;
    max-height: 550px;
}

body.ie .index-calendar-info__body {
    max-height: 555px;
}

body.firefox .index-calendar-info__body {
    max-height: 554px;
}

.index-calendar-info__foot {
    position: relative;
    background-color: #eeeeee;
    text-align: center;
}

.index-calendar-info__foot:before, .index-calendar-info__foot:after {
    position: absolute;
    top: 50%;
    width: 8px;
    height: 8px;
    border-top: 1px solid #282728;
    border-right: 1px solid #282728;
    content: '';
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    pointer-events: none;
}

.index-calendar-info__foot:before {
    right: 32px;
}

.index-calendar-info__foot:after {
    right: 26px;
}

.index-calendar-info__link {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 26px;
    padding-bottom: 20px;
    width: 100%;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.index-calendar-info__link:hover {
    opacity: 0.6;
}

.index-calendar-info__txt {
    color: #282728;
    letter-spacing: 0.02em;
    font-weight: 500;
    font-size: 20px;
    font-family: 'Raleway', sans-serif;
    line-height: 1;
}

@media screen and (max-width: 750px) {
    .index-calendar-info {
        margin-top: 5.33333vw;
        border-top: 4px solid #282828;
        border-right: 1px solid #dcdcdc;
        border-bottom: 4px solid #282828;
        border-left: 1px solid #dcdcdc;
    }
    .index-calendar-info__head {
        padding: 2.66667vw 2.93333vw 2.13333vw;
        border-bottom: 3px solid #e6e6e6;
    }
    .index-calendar-info__box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 14vw;
    }
    .index-calendar-info__num {
        margin-right: 1.86667vw;
        font-size: 6.93333vw;
    }
    .index-calendar-info__month {
        margin-top: 0.53333vw;
        font-size: 2.93333vw;
    }
    .index-calendar-info__year {
        margin-top: 0.8vw;
        font-size: 2.93333vw;
    }
    .index-calendar-info__body {
        max-height: 88vw;
        height: auto;
    }
    .index-calendar-info__foot:before, .index-calendar-info__foot:after {
        width: 1.6vw;
        height: 1.6vw;
    }
    .index-calendar-info__foot:before {
        right: 5.06667vw;
    }
    .index-calendar-info__foot:after {
        right: 6.66667vw;
    }
    .index-calendar-info__link {
        padding-top: 4.26667vw;
        padding-bottom: 4vw;
    }
    .index-calendar-info__txt {
        font-size: 4vw;
    }
}

/*  index-calendar-list
--------------------------------------------- */
.index-calendar-list__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 24px 28px 15px 20px;
}

.index-calendar-list__link:hover {
    opacity: .6;
    -webkit-transition: .3s;
    transition: .3s;
}

.index-calendar-list__item {
    border-bottom: 1px solid #bfbfbf;
}

.index-calendar-list__item:last-of-type {
    border: none;
}

.index-calendar-list__box {
    width: 48px;
    text-align: center;
}

.index-calendar-list__num {
    display: block;
    color: #282728;
    letter-spacing: 0.02em;
    font-weight: bold;
    font-size: 40px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.index-calendar-list__day {
    display: block;
    color: #282728;
    letter-spacing: 0.02em;
    font-weight: bold;
    font-size: 12px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.index-calendar-list__img-outer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 106px;
}

.index-calendar-list__img {
    width: 70px;
    height: 70px;
    background-position: 50% 50%;
    background-size: contain;
    background-repeat: no-repeat;
}

.index-calendar-list__img--tmf img {
    width: 67px;
}

.index-calendar-list__img--sports-legacy img {
    width: 49px;
}

.index-calendar-list__img--tokyo-marathon img {
    width: 60px;
}

.index-calendar-list__img--voluntainer img {
    width: 47px;
}

.index-calendar-list__img--jogport img {
    width: 72px;
}

.index-calendar-list__img--one-tokyo img {
    width: 66px;
}

.index-calendar-list__img--run-as-one img {
    width: 70px;
}

.index-calendar-list__img--run-with-heart img {
    width: 67px;
}

.index-calendar-list__img--tmf-virtual-run img {
    width: 67px;
}

.index-calendar-list__desc {
    width: 200px;
}

.index-calendar-list__tit {
    margin-bottom: 8px;
    color: #6c6c6c;
    letter-spacing: 0.02em;
    font-size: 15px;
    line-height: 1.33;
}

.index-calendar-list__date {
    display: inline-block;
    margin-left: 3px;
    color: #818181;
    letter-spacing: 0.02em;
    font-weight: 300;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

@media screen and (max-width: 750px) {
    .index-calendar-list__link {
        padding: 4.53333vw 2.66667vw 3.6vw;
    }
    .index-calendar-list__item {
        border-bottom: 1px solid #dcdcdc;
    }
    .index-calendar-list__box {
        margin-top: 0;
        width: 9.33333vw;
    }
    .index-calendar-list__num {
        font-size: 7.33333vw;
    }
    .index-calendar-list__day {
        font-size: 2.13333vw;
    }
    .index-calendar-list__img-outer {
        width: 18.66667vw;
    }
    .index-calendar-list__img {
        width: 11.86667vw;
        height: 11.86667vw;
    }
    .index-calendar-list__img--tmf img {
        width: 11.46667vw;
    }
    .index-calendar-list__img--sports-legacy img {
        width: 9.2vw;
    }
    .index-calendar-list__img--tokyo-marathon img {
        width: 10.8vw;
    }
    .index-calendar-list__img--voluntainer img {
        width: 8.4vw;
    }
    .index-calendar-list__img--jogport img {
        width: 12.8vw;
    }
    .index-calendar-list__img--one-tokyo img {
        width: 10.26667vw;
    }
    .index-calendar-list__img--run-as-one img {
        width: 12vw;
    }
    .index-calendar-list__img--run-with-heart img {
        width: 11.46667vw;
    }
    .index-calendar-list__img--tmf-virtual-run img {
        width: 11.46667vw;
    }
    .index-calendar-list__desc {
        width: 53.06667vw;
    }
    .index-calendar-list__tit {
        margin-bottom: 0.66667vw;
        white-space: normal;
        font-size: 2.93333vw;
        line-height: 1.4;
    }
    .index-calendar-list__date {
        font-size: 2.53333vw;
    }
}

/*  info
--------------------------------------------- */
.info {
    margin-right: auto;
    margin-left: auto;
    max-width: 1100px;
}

.info__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

@media screen and (max-width: 750px) {
    .info {
        margin-top: 12.66667vw;
    }
    .info__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

/*  kv
--------------------------------------------- */
.kv {
    margin-bottom: 86px;
}

.kv__inner {
    position: relative;
}

.kv__tit-outer {
    position: absolute;
    bottom: 18px;
    left: 60px;
}

.kv__tit {
    position: relative;
    width: 36.80556vw;
}

@media screen and (max-width: 750px) {
    .kv {
        margin-bottom: 0;
    }
    .kv__tit-outer {
        position: absolute;
        top: 52.8vw;
        bottom: 0;
        left: 1.06667vw;
    }
    .kv__tit-outer--en {
        top: 45.8vw;
    }
    .kv__tit {
        width: 63.2vw;
    }
}

/*  kv-list
--------------------------------------------- */
.kv-list__link {
    display: block;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.kv-list__link:hover {
    opacity: 0.6;
}

.kv-list__img {
    width: 100%;
}

.kv-list__img img {
    width: 100%;
}

/*  link-more
--------------------------------------------- */
.link-more, .link-back {
    position: relative;
    margin: 92px auto 124px;
    width: 256px;
}

.link-more--news, .link-back--news {
    margin: 64px auto 84px;
}

.link-more__link, .link-back__link {
    display: block;
    padding-top: 16px;
    padding-bottom: 12px;
    width: 100%;
    border: 1px solid #464646;
    border-radius: 25px;
    text-align: center;
}

body.ie .link-more__link, body.ie .link-back__link {
    padding-top: 18px;
    padding-bottom: 10px;
}

.link-more__link:hover, .link-back__link:hover {
    background-color: #464646;
    -webkit-transition: .3s;
    transition: .3s;
}

.link-more__link:hover .link-more__txt, .link-back__link:hover .link-more__txt {
    color: #fff;
}

.link-more__link:hover .link-back__txt, .link-back__link:hover .link-back__txt {
    color: #fff;
}

.link-more__txt, .link-back__txt {
    color: #464646;
    letter-spacing: 0.02em;
    font-size: 16px;
    line-height: 1;
}

@media screen and (max-width: 750px) {
    .link-more, .link-back {
        margin-top: 11.33333vw;
        margin-bottom: 15.73333vw;
        width: 53.33333vw;
    }
    .link-more--calendar, .link-back--calendar {
        margin-top: 12.26667vw;
        margin-bottom: 9.86667vw;
    }
    .link-more__link, .link-back__link {
        padding-top: 3.73333vw;
        padding-bottom: 3.2vw;
    }
    .link-more__txt, .link-back__txt {
        font-size: 3.46667vw;
    }
}

.link-more--calendar, .link-more--news {
    margin: 105px auto 47px;
}

@media screen and (max-width: 750px) {
    .link-more--calendar, .link-more--news {
        margin-top: 12.53333vw;
        margin-bottom: 8.13333vw;
    }
}

.link-back--calendar, .link-back--news {
    margin: 47px auto 106px;
}

@media screen and (max-width: 750px) {
    .link-back--calendar, .link-back--news {
        margin-top: 8.13333vw;
        margin-bottom: 16.66667vw;
    }
}

/*  mission
--------------------------------------------- */
.mission {
    margin-top: 52px;
    border-bottom: 1px solid #c8c8c8;
}

.mission__inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 1024px;
}

.mission__catch {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 46px;
    margin-bottom: 72px;
    border: 2px #dcdcdc solid;
}

.mission__img {
    width: 100%;
}

.mission__img img {
    width: 100%;
}

.mission__desc {
    position: absolute;
    top: 0;
    right: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 56px 48px 112px;
    width: 348px;
    height: 100%;
    background: url(/img/mission/bg_map.png) 0 0 no-repeat;
    background-size: cover;
}

.mission__label-outer {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 27px;
    padding-bottom: 3px;
    border-bottom: 1px solid rgba(40, 40, 40, 0.3);
}

body.ie .mission__label-outer {
    margin-bottom: 34px;
    padding-bottom: 1px;
}

.mission__label {
    display: inline-block;
    margin-left: 5px;
    color: #282828;
    letter-spacing: 0.08em;
    font-size: 10px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.mission__tit {
    margin-bottom: 18px;
    color: #282828;
    white-space: nowrap;
    letter-spacing: -0.04em;
    font-weight: bold;
    font-size: 28px;
    line-height: 1.5;
}

.mission__tit--en {
    font-weight: normal;
    font-family: 'Poppins', sans-serif;
    line-height: 1.28;
}

.mission__txt {
    color: #282828;
    letter-spacing: 0.02em;
    font-size: 14px;
    line-height: 2;
}

.mission__txt--en {
    font-weight: 300;
    font-family: 'Poppins', sans-serif;
    line-height: 1.71;
}

@media screen and (max-width: 750px) {
    .mission {
        margin-top: 9.33333vw;
    }
    .mission__inner {
        width: 89.33333vw;
    }
    .mission__catch {
        position: relative;
        margin-top: 8vw;
        margin-bottom: 9.86667vw;
    }
    .mission__desc {
        position: static;
        top: 0;
        right: 0;
        padding: 6.66667vw 5.06667vw 6.66667vw;
        width: 100%;
        height: auto;
        background: url(/img/sp/mission/bg_map.png) 0 0 no-repeat;
        background-size: cover;
    }
    .mission__label-outer {
        margin-bottom: 4.53333vw;
        padding-bottom: 0.66667vw;
    }
    .mission__label {
        margin-left: 0;
        letter-spacing: 0.08em;
        font-size: 2.66667vw;
    }
    .mission__tit {
        margin-bottom: 2.93333vw;
        letter-spacing: -0.04em;
        font-size: 5.2vw;
        line-height: 1;
    }
    .mission__tit--en {
        font-size: 5.33333vw;
        line-height: 1.22;
    }
    .mission__txt {
        white-space: nowrap;
        font-size: 3.2vw;
        line-height: 1.7;
    }
    body.android .mission__txt {
        line-height: 1.8;
    }
    .mission__txt--en {
        white-space: normal;
        font-size: 3.73333vw;
        line-height: 1.22;
    }
}

/*  mission-list
--------------------------------------------- */
.mission-list {
    margin-bottom: 124px;
}

.mission-list__item {
    margin-bottom: 65px;
}

.mission-list__item:nth-of-type(2) {
    margin-bottom: 80px;
}

.mission-list__item:last-of-type {
    margin-bottom: 0;
}

.mission-list__cat {
    display: inline-block;
    margin-bottom: 10px;
    color: #282828;
    letter-spacing: 0.08em;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

body.ie .mission-list__cat {
    margin-bottom: 16px;
}

.mission-list__cat--en {
    font-family: 'Poppins', sans-serif;
}

.mission-list__tit {
    margin-bottom: 12px;
    color: #282828;
    letter-spacing: -0.04em;
    font-weight: bold;
    font-size: 34px;
    line-height: 1;
}

body.ie .mission-list__tit {
    margin-bottom: 8px;
}

.mission-list__tit--en {
    font-weight: normal;
    font-size: 30px;
    font-family: 'Poppins', sans-serif;
}

.mission-list__txt {
    color: #464646;
    letter-spacing: 0.01em;
    font-size: 16px;
    line-height: 2;
}

.mission-list__txt--en {
    font-family: 'Poppins', sans-serif;
}

@media screen and (max-width: 750px) {
    .mission-list {
        margin-bottom: 12.53333vw;
    }
    .mission-list__item {
        margin-bottom: 10.66667vw;
    }
    .mission-list__item:nth-of-type(2) {
        margin-bottom: 10.66667vw;
    }
    .mission-list__cat {
        margin-bottom: 2vw;
        font-size: 2.66667vw;
    }
    .mission-list__tit {
        margin-bottom: 2.4vw;
        font-size: 5.33333vw;
    }
    .mission-list__tit--en {
        line-height: 1.35;
    }
    .mission-list__txt {
        word-break: break-all;
        letter-spacing: 0;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .mission-list__txt--en {
        word-break: normal;
        line-height: 1.35;
    }
}

/*  news
--------------------------------------------- */
.news {
    margin-top: 50px;
    border-bottom: 1px solid #c8c8c8;
}

.news__inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 1024px;
}

@media screen and (max-width: 750px) {
    .news {
        margin-top: 9.06667vw;
    }
    .news__inner {
        max-width: 89.33333vw;
    }
}

/*  news-list
--------------------------------------------- */
.news-list {
    margin-top: 84px;
}

.news-list--index {
    margin-top: 38px;
}

.news-list__item:first-of-type .news-list__link {
    padding-top: 0;
}

.news-list__item:last-of-type .news-list__link {
    border: none;
}

.news-list__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 38px;
    padding-bottom: 36px;
    border-bottom: 1px solid #dcdcdc;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.news-list__link:hover {
    opacity: 0.6;
}

.news-list__link:hover .news-list__txt {
    border-bottom: 1px solid #fff;
}

.news-list__img {
    margin-right: 25px;
    padding-top: 110px;
    width: 170px;
    height: 0;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    text-align: center;
}

body.ie .news-list__img {
    margin-right: 20px;
}

body.firefox .news-list__img {
    margin-right: 16px;
    width: 172px;
}

.news-list__ico {
    width: 80px;
}

.news-list__desc {
    width: 830px;
}

.news-list__desc--index {
    width: 380px;
}

body.ie .news-list__desc {
    margin-top: 3px;
}

.news-list__cat {
    display: block;
    margin-bottom: 10px;
    letter-spacing: 0.02em;
    font-size: 12px;
    line-height: 1;
}

.news-list__cat--event {
    color: #C42F4E;
}

.news-list__cat--life {
    color: #4593CE;
}

.news-list__cat--wellness {
    color: #94D449;
}

.news-list__cat--society {
    color: #F1D74F;
}

.news-list__cat--other {
    color: #674982;
}

.news-list__tit {
    margin-bottom: 19px;
    min-height: 52px;
    color: #787878;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.55;
}

.news-list__tit--list {
    color: #464646;
}

body.ie .news-list__tit {
    margin-bottom: 17px;
}

.news-list__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.news-list__date {
    color: #818181;
    letter-spacing: 0.02em;
    font-weight: 300;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.news-list__txt {
    display: inline-block;
    padding-bottom: 1px;
    border-bottom: 1px solid #464646;
    color: #464646;
    letter-spacing: 0.02em;
    font-weight: 300;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

@media screen and (max-width: 750px) {
    .news-list {
        margin-top: 8.53333vw;
        margin-bottom: 8vw;
    }
    .news-list--index {
        margin-top: 6vw;
    }
    .news-list__link {
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start;
        padding-top: 5.06667vw;
        padding-bottom: 5.06667vw;
    }
    .news-list__img {
        margin-right: 4vw;
        padding-top: 20vw;
        width: 28vw;
        height: 0;
    }
    .news-list__ico {
        width: 14.66667vw;
    }
    .news-list__desc {
        width: 53.33333vw;
    }
    .news-list__desc--list {
        margin-top: 0.93333vw;
        width: 54.13333vw;
    }
    .news-list__cat {
        margin-bottom: 1.6vw;
        font-size: 2.4vw;
    }
    .news-list__cat__list {
        font-size: 2.93333vw;
    }
    .news-list__tit {
        margin-bottom: 1.06667vw;
        min-height: auto;
        font-size: 3.73333vw;
        line-height: 1.5;
    }
    .news-list__box {
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
    }
    .news-list__date {
        font-size: 2.4vw;
    }
    .news-list__date--list {
        font-size: 2.93333vw;
    }
    .news-list__txt {
        margin-top: 1.06667vw;
        border-bottom: 1px solid rgba(70, 70, 70, 0.7);
        font-size: 2.66667vw;
    }
    .news-list__txt--list {
        margin-top: 2vw;
    }
}

/*  news-detail
--------------------------------------------- */
.news-detail {
    margin-top: 53px;
    border-bottom: 1px solid #c8c8c8;
}

.news-detail__inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 1024px;
}

@media screen and (max-width: 750px) {
    .news-detail {
        margin-top: 8.93333vw;
    }
    .news-detail__inner {
        max-width: 89.33333vw;
    }
}

/*  news-wysiwyg-kv
--------------------------------------------- */
.news-wysiwyg-kv {
    margin-top: 44px;
    margin-bottom: 42px;
}

.news-wysiwyg-kv div {
    width: 100%;
}

.news-wysiwyg-kv div img {
    width: 100%;
}

@media screen and (max-width: 750px) {
    .news-wysiwyg-kv {
        margin-top: 8vw;
        margin-bottom: 6.13333vw;
    }
}

/*  news-wysiwyg-head
--------------------------------------------- */
.news-wysiwyg-head {
    margin-top: 40px;
    margin-bottom: 50px;
}

.news-wysiwyg-head--article {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-top: 100px;
}

.news-wysiwyg-head div:first-child {
    margin-top: -18px;
    margin-right: 38px;
    width: 96px;
}

.news-wysiwyg-head div:last-child {
    width: 880px;
}

.news-wysiwyg-head .en {
    font-family: 'Poppins', sans-serif;
}

.news-wysiwyg-head span:first-child {
    display: block;
    margin-bottom: 6px;
    letter-spacing: 0.04em;
    font-size: 14px;
    line-height: 1;
}

.news-wysiwyg-head span:first-child.event {
    color: #C42F4E !important;
}

.news-wysiwyg-head span:first-child.life {
    color: #4593CE !important;
}

.news-wysiwyg-head span:first-child.wellness {
    color: #94D449 !important;
}

.news-wysiwyg-head span:first-child.society {
    color: #F1D74F !important;
}

.news-wysiwyg-head span:first-child.other {
    color: #674982 !important;
}

.news-wysiwyg-head span:last-child {
    color: #818181;
    letter-spacing: 0.02em;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.news-wysiwyg-head h2 {
    margin-bottom: 7px;
    color: #464646;
    font-weight: bold;
    font-size: 26px;
    line-height: 1.57;
}

body.ie .news-wysiwyg-head h2 {
    margin-bottom: 3px;
}

@media screen and (max-width: 750px) {
    .news-wysiwyg-head {
        margin-top: 5.33333vw;
        margin-bottom: 6.66667vw;
    }
    .news-wysiwyg-head--article {
        display: block;
        margin-top: 16vw;
    }
    .news-wysiwyg-head div:first-child {
        margin-right: auto;
        margin-bottom: 8vw;
        margin-left: auto;
        width: 22vw;
    }
    .news-wysiwyg-head div:last-child {
        width: 100%;
    }
    .news-wysiwyg-head span:first-child {
        margin-bottom: 1.6vw;
        font-size: 2.93333vw;
    }
    body.android .news-wysiwyg-head span:first-child {
        margin-bottom: 2.13333vw;
    }
    .news-wysiwyg-head span:last-child {
        font-size: 2.93333vw;
    }
    .news-wysiwyg-head p {
        margin-bottom: 1.86667vw;
        font-size: 4.53333vw;
        line-height: 1.61;
    }
    .news-wysiwyg-head h2 {
        font-size: 4.53333vw;
        line-height: 1.29;
    }
}

/*  youtube calendar-body,news-wysiwyg-body
--------------------------------------------- */
.calendar-body .youtube_wrapper, .news-wysiwyg-body .youtube_wrapper {
    position: relative;
    margin: 0 auto 32px auto;
    padding-bottom: 450px;
    width: 800px;
    height: 0;
}

.calendar-body .youtube_wrapper iframe.youtube_embed, .news-wysiwyg-body .youtube_wrapper iframe.youtube_embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
}

@media screen and (max-width: 750px) {
    .calendar-body .youtube_wrapper, .news-wysiwyg-body .youtube_wrapper {
        margin-bottom: 5.33333vw;
        padding-bottom: 56.25%;
        width: 100%;
    }
}

/*  news-wysiwyg-body
--------------------------------------------- */
.news-wysiwyg-body {
    margin-bottom: 102px;
}

.news-wysiwyg-body .en {
    font-family: 'Poppins', sans-serif;
}

.news-wysiwyg-body h1 {
    margin-bottom: 10px;
    color: #464646;
    font-weight: bold;
    font-size: 46px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.news-wysiwyg-body h2 {
    margin-bottom: 10px;
    color: #464646;
    font-weight: bold;
    font-size: 26px;
    line-height: 1.57;
}

.news-wysiwyg-body h3 {
    margin-bottom: 10px;
    color: #464646;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.57;
}

.news-wysiwyg-body h4 {
    margin-bottom: 10px;
    color: #464646;
    font-size: 16px;
    line-height: 1;
}

.news-wysiwyg-body p {
    margin-bottom: 32px;
    color: #464646;
    font-size: 16px;
    line-height: 1.9;
}

.news-wysiwyg-body ul.img_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 32px;
    list-style: none;
}

.news-wysiwyg-body ul.img_list li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 10px;
    width: calc(48%);
}

.news-wysiwyg-body ul.img_list li img {
    width: 100%;
}

.news-wysiwyg-body ul.img_caption {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    list-style: none;
}

.news-wysiwyg-body ul.img_caption li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 32px;
    width: calc(50%);
}

.news-wysiwyg-body ul.img_caption li img {
    width: 93%;
}

.news-wysiwyg-body ul.img_caption li p.caption {
    width: 93%;
    font-size: 12px;
}

.news-wysiwyg-body ul.img_caption li p:last-child {
    margin-bottom: 0;
}

.news-wysiwyg-body ul.img_caption li:nth-of-type(2n) img {
    margin-left: 7%;
}

.news-wysiwyg-body ul.img_caption li:nth-of-type(2n) p.caption {
    margin-left: 7%;
}

.news-wysiwyg-body ul.txt_list {
    margin-bottom: 44px;
    margin-left: 34px;
}

.news-wysiwyg-body ul.txt_list li {
    margin-bottom: 15px;
    color: #464646;
    font-size: 16px;
    line-height: 1;
}

body.ie .news-wysiwyg-body ul.txt_list li {
    margin-bottom: 19px;
}

.news-wysiwyg-body ul.txt_list li ol {
    margin-top: 15px;
    margin-bottom: 0;
}

.news-wysiwyg-body ul.style_dot {
    margin-bottom: 44px;
    margin-left: 34px;
}

.news-wysiwyg-body ul.style_dot li {
    margin-bottom: 15px;
    color: #464646;
    font-size: 16px;
    line-height: 1;
}

.news-wysiwyg-body ul.style_dot li::before {
    content: '・';
}

body.ie .news-wysiwyg-body ul.style_dot li {
    margin-bottom: 19px;
}

.news-wysiwyg-body ol {
    margin-top: 0;
    margin-bottom: 44px;
    margin-left: 34px;
}

.news-wysiwyg-body ol.style_num {
    counter-reset: cnt;
}

.news-wysiwyg-body ol.style_num li {
    list-style-type: none;
    counter-increment: cnt;
}

.news-wysiwyg-body ol.style_num li::before {
    content: counter(cnt) ". ";
}

.news-wysiwyg-body ol.style_num_bracket {
    margin-top: 15px;
    margin-bottom: 0;
}

.news-wysiwyg-body ol.style_num_bracket li {
    list-style-type: none;
    counter-increment: cntr;
}

.news-wysiwyg-body ol.style_num_bracket li::before {
    content: "(" counter(cntr) ") ";
}

.news-wysiwyg-body ol li {
    margin-bottom: 15px;
    color: #464646;
    font-size: 16px;
    line-height: 1;
}

body.ie .news-wysiwyg-body ol li {
    margin-bottom: 15px;
}

.news-wysiwyg-body div {
    margin-top: 40px;
    margin-bottom: 40px;
}

.news-wysiwyg-body div:first-of-type {
    margin-bottom: 40px;
}

.news-wysiwyg-body div span {
    display: block;
    margin-bottom: 32px;
    color: #464646;
    font-size: 16px;
    line-height: 1;
}

.news-wysiwyg-body a {
    color: #282828;
    text-decoration: underline;
    font-size: 16px;
    line-height: 1.9;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.news-wysiwyg-body a:hover {
    opacity: 0.6;
}

.news-wysiwyg-body a:hover {
    text-decoration: none;
}

.news-wysiwyg-body a[target="_blank"] {
    position: relative;
    display: inline-block;
    margin-bottom: 0;
    padding-right: 2px;
    padding-bottom: 1px;
    color: #464646;
    text-decoration: underline;
    font-size: 16px;
    line-height: 1.9;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.news-wysiwyg-body a[target="_blank"]:hover {
    opacity: 0.6;
}

.news-wysiwyg-body a[target="_blank"]:hover {
    text-decoration: none;
}

.news-wysiwyg-body a[target="_blank"]:after {
    display: inline-block;
    margin-left: 13px;
    width: 11px;
    height: 9px;
    background: url(/img/ico/ico_blank-gray.png) 0 0 no-repeat;
    background-size: 100% auto;
    content: '';
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

@media screen and (max-width: 750px) {
    .news-wysiwyg-body {
        margin-bottom: 10.66667vw;
    }
    .news-wysiwyg-body--article {
        margin-bottom: 21.33333vw;
    }
    .news-wysiwyg-body p {
        margin-bottom: 5.33333vw;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .news-wysiwyg-body ul.img_list li {
        width: 100%;
    }
    .news-wysiwyg-body ul.img_caption {
        display: block;
    }
    .news-wysiwyg-body ul.img_caption li {
        margin-bottom: 5.33333vw;
        width: 100%;
    }
    .news-wysiwyg-body ul.img_caption li img {
        width: 100%;
    }
    .news-wysiwyg-body ul.img_caption li p.caption {
        width: 100%;
        font-size: 2.4vw;
    }
    .news-wysiwyg-body ul.img_caption li p:last-child {
        margin-bottom: 0;
    }
    .news-wysiwyg-body ul.img_caption li:nth-of-type(2n) img {
        margin-left: 0;
    }
    .news-wysiwyg-body ul.img_caption li:nth-of-type(2n) p.caption {
        margin-left: 0;
    }
    .news-wysiwyg-body ul.txt_list {
        margin-bottom: 8vw;
        margin-left: 0;
    }
    .news-wysiwyg-body ul.txt_list li {
        margin-bottom: 0;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .news-wysiwyg-body ul.style_dot {
        margin-bottom: 8vw;
        margin-left: 0;
    }
    .news-wysiwyg-body ul.style_dot li {
        margin-bottom: 0;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .news-wysiwyg-body ol {
        margin-top: 0;
        margin-bottom: 8vw;
        margin-left: 5.2vw;
    }
    .news-wysiwyg-body ol.style_num {
        margin-left: 0;
    }
    .news-wysiwyg-body ol.style_num_bracket {
        margin-top: 0;
    }
    .news-wysiwyg-body ol li {
        margin-bottom: 0;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .news-wysiwyg-body div {
        margin-top: 5.33333vw;
        margin-bottom: 5.33333vw;
    }
    .news-wysiwyg-body div:first-of-type {
        margin-bottom: 5.33333vw;
    }
    .news-wysiwyg-body div span {
        margin-bottom: 8.66667vw;
        font-size: 3.73333vw;
    }
    .news-wysiwyg-body div a[target="_blank"] {
        padding-right: 0.33333vw;
        font-size: 3.73333vw;
    }
    .news-wysiwyg-body div a[target="_blank"]:after {
        top: 25%;
        width: 2.4vw;
        height: 2.4vw;
    }
    .news-wysiwyg-body a {
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .news-wysiwyg-body a[target="_blank"] {
        padding-right: 0.33333vw;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .news-wysiwyg-body a[target="_blank"]:after {
        margin-left: 3vw;
        width: 2.4vw;
        height: 2.4vw;
        line-height: 1.78;
    }
}

/*  news-link
--------------------------------------------- */
.news-link {
    margin-bottom: 100px;
}

.news-link__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-right: auto;
    margin-left: auto;
    width: 650px;
}

.news-link__item {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
}

.news-link__item.disable {
    visibility: hidden;
}

.news-link__item--prev {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: 200px;
    border-right: 1px solid #787878;
}

.news-link__item--prev:before {
    position: absolute;
    top: 35%;
    left: 0;
    width: 16px;
    height: 16px;
    border-top: 1px solid #787878;
    border-right: 1px solid #787878;
    content: '';
    -webkit-transform: rotate(-135deg) translateY(0);
    transform: rotate(-135deg) translateY(0);
    pointer-events: none;
}

body.ie .news-link__item--prev:before {
    top: 33%;
}

.news-link__item--middle {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 280px;
}

.news-link__item--middle:before {
    position: absolute;
    top: 47%;
    left: 60px;
    width: 26px;
    height: 17px;
    background: url(/img/ico/ico_square.svg) 0 0 no-repeat;
    background-size: 100% auto;
    content: '';
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

body.ie .news-link__item--middle:before {
    top: 46%;
}

.news-link__item--next {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    width: 170px;
    border-left: 1px solid #787878;
}

.news-link__item--next:after {
    position: absolute;
    top: 35%;
    right: 0;
    width: 16px;
    height: 16px;
    border-top: 1px solid #787878;
    border-right: 1px solid #787878;
    content: '';
    -webkit-transform: rotate(45deg) translateY(0);
    transform: rotate(45deg) translateY(0);
    pointer-events: none;
}

body.ie .news-link__item--next:after {
    top: 33%;
}

.news-link__item:hover {
    opacity: .6;
    -webkit-transition: .3s;
    transition: .3s;
}

.news-link__link {
    position: relative;
    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.news-link__link:hover {
    opacity: 0.6;
}

.news-link__txt {
    display: inline-block;
    color: #464646;
    letter-spacing: 0.02em;
    font-size: 22px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.news-link__txt--prev {
    margin-left: 12px;
}

.news-link__txt--middle {
    margin-left: 45px;
}

.news-link__txt--next {
    margin-right: 12px;
}

@media screen and (max-width: 750px) {
    .news-link {
        margin-bottom: 17.06667vw;
    }
    .news-link__list {
        display: block;
        width: 100%;
        border-top: 1px solid #464646;
        border-bottom: 1px solid #464646;
    }
    .news-link__link {
        display: block;
        padding-top: 5.86667vw;
        padding-bottom: 5.06667vw;
    }
    .news-link__item--prev {
        float: left;
        width: 50%;
        border-right: 1px solid #464646;
    }
    .news-link__item--prev ~ .news-link__item--next {
        border-left: none;
    }
    .news-link__item--prev:before {
        top: 43%;
        left: 4.53333vw;
        width: 2.4vw;
        height: 2.4vw;
        -webkit-transform: rotate(-135deg) translateY(0);
        transform: rotate(-135deg) translateY(0);
    }
    .news-link__item--middle {
        clear: both;
        padding-top: 2.4vw;
        padding-bottom: 1.6vw;
        width: 100%;
        border: none;
        border-top: 1px solid #464646;
    }
    .news-link__item--middle:before {
        top: 53%;
        left: 29.6vw;
        width: 3.46667vw;
        height: 2.26667vw;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }
    .news-link__item--next {
        float: right;
        width: 50%;
    }
    .news-link__item--next:after {
        top: 43%;
        right: 4.53333vw;
        width: 2.4vw;
        height: 2.4vw;
        -webkit-transform: rotate(45deg) translateY(0);
        transform: rotate(45deg) translateY(0);
    }
    .news-link__txt {
        font-size: 4vw;
    }
    .news-link__txt--prev {
        margin-left: 3vw;
    }
    .news-link__txt--middle {
        margin-left: 6.66667vw;
    }
    .news-link__txt--next {
        margin-right: 3vw;
        letter-spacing: 0.1em;
    }
}

/*  partners
--------------------------------------------- */
.partners {
    margin-top: 54px;
    border-bottom: 1px solid #c8c8c8;
}

@media screen and (max-width: 750px) {
    .partners {
        margin-top: 9.33333vw;
    }
}

/*  partners-catch
--------------------------------------------- */
.partners-catch {
    position: relative;
    margin-top: 70px;
    margin-bottom: 95px;
}

body.ie .partners-catch {
    margin-bottom: 100px;
}

.partners-catch__img {
    width: 100%;
}

.partners-catch__img img {
    width: 100%;
}

.partners-catch__tit {
    position: absolute;
    top: 50%;
    left: 50%;
    color: #fff;
    font-weight: bold;
    font-size: 40px;
    line-height: 1;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.partners-catch__tit--en {
    font-weight: normal;
    font-size: 34px;
    font-family: 'Poppins', sans-serif;
}

@media screen and (max-width: 750px) {
    .partners-catch {
        margin-top: 8.8vw;
        margin-bottom: 10.4vw;
    }
    .partners-catch__tit {
        text-align: center;
        white-space: nowrap;
        font-size: 4.53333vw;
        line-height: 1.55;
    }
}

/*  partners-desc
--------------------------------------------- */
.partners-desc {
    margin-right: auto;
    margin-left: auto;
    max-width: 1024px;
}

.partners-desc__tit {
    margin-bottom: 19px;
    color: #464646;
    font-weight: bold;
    font-size: 26px;
    line-height: 1;
}

body.ie .partners-desc__tit {
    margin-bottom: 16px;
}

.partners-desc__tit--en {
    font-weight: normal;
    font-size: 32px;
    font-family: 'Poppins', sans-serif;
}

.partners-desc__txt {
    color: #464646;
    letter-spacing: 0.02em;
    font-size: 16px;
    line-height: 1.95;
}

.partners-desc__txt--en {
    font-family: 'Poppins', sans-serif;
    line-height: 1.75;
}

@media screen and (max-width: 750px) {
    .partners-desc {
        max-width: 89.33333vw;
    }
    .partners-desc__tit {
        margin-bottom: 4.8vw;
        white-space: nowrap;
        font-size: 5.33333vw;
    }
    .partners-desc__tit--en {
        line-height: 1.35;
    }
    .partners-desc__txt {
        font-size: 3.73333vw;
    }
    .partners-desc__txt--en {
        font-weight: 300;
        line-height: 1.35;
    }
}

/*  partners-list
--------------------------------------------- */
.partners-list {
    margin-top: 77px;
    margin-bottom: 196px;
}

.partners-list__item {
    margin-bottom: 130px;
}

.partners-list__item:last-of-type {
    margin-bottom: 0;
}

.partners-list__tit-outer {
    padding-bottom: 14px;
    border-bottom: 7px solid #282828;
}

body.ie .partners-list__tit-outer {
    padding-bottom: 10px;
}

.partners-list__tit {
    color: #282828;
    font-weight: bold;
    font-size: 26px;
    line-height: 1;
}

.partners-list__tit--en {
    font-weight: 600;
    font-size: 32px;
    font-family: 'Poppins', sans-serif;
}

.partners-list__note {
    margin-top: 48px;
    padding-left: 36px;
    color: #464646;
    font-size: 16px;
    line-height: 1;
}

.partners-list__note--en {
    font-weight: 300;
    font-family: 'Poppins', sans-serif;
}

@media screen and (max-width: 750px) {
    .partners-list {
        margin-top: 8vw;
        margin-bottom: 25.33333vw;
    }
    .partners-list__item {
        margin-bottom: 20vw;
    }
    .partners-list__item:last-of-type {
        margin-bottom: 0;
    }
    .partners-list__tit-outer {
        padding-bottom: 2.4vw;
        border-bottom: 3px solid #282828;
    }
    .partners-list__tit {
        font-size: 4.8vw;
    }
    .partners-list__tit--en {
        font-size: 5.33333vw;
    }
    .partners-list__note {
        margin-top: 5.33333vw;
        padding-left: 0;
        white-space: nowrap;
        font-size: 3.2vw;
    }
    .partners-list__note--en {
        white-space: normal;
        font-size: 3.73333vw;
        line-height: 1.35;
    }
}

/*  partners-case
--------------------------------------------- */
.partners-case__item {
    position: relative;
    border-bottom: 1px solid #dcdcdc;
}

.partners-case__item--opened .partners-case__trigger {
    position: absolute;
    right: 0;
    bottom: 30px;
}

.partners-case__item--opened .partners-case__trigger .open {
    display: none;
}

.partners-case__item--opened .partners-case__trigger .close {
    display: block;
}

.partners-case__tit-outer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.partners-case__tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-left: 40px;
    min-height: 108px;
    color: #464646;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.5;
}

body.ie .partners-case__tit {
    margin-top: 6px;
    height: 102px;
}

.partners-case__tit--en {
    font-weight: normal;
    font-size: 22px;
    font-family: 'Poppins', sans-serif;
    line-height: 1.63;
}

.partners-case__trigger {
    margin-right: 20px;
    width: 40px;
    cursor: pointer;
}

.partners-case__trigger .close {
    display: none;
}

.partners-case__txt {
    display: block;
    margin-top: -5px;
    margin-bottom: 34px;
    color: #464646;
    font-size: 16px;
    line-height: 1.93;
}

.partners-case__txt--en {
    font-family: 'Poppins', sans-serif;
    line-height: 1.75;
}

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

.partners-case__img {
    margin-right: 15px;
    width: 460px;
}

.partners-case__img img {
    width: 100%;
}

.partners-case__box {
    display: none;
    margin-left: 40px;
    padding-bottom: 40px;
}

@media screen and (max-width: 750px) {
    .partners-case__item--opened .partners-case__trigger {
        bottom: 8vw;
    }
    .partners-case__tit {
        margin-left: 0;
        padding-top: 5.06667vw;
        padding-bottom: 4.53333vw;
        min-height: 18.93333vw;
        width: 85%;
        font-size: 4vw;
        line-height: 1.6;
    }
    .partners-case__tit--en {
        font-size: 4.26667vw;
        line-height: 1.31;
    }
    .partners-case__trigger {
        margin-right: 2.66667vw;
        width: 7.46667vw;
    }
    .partners-case__txt {
        margin-top: 0;
        margin-bottom: 4.8vw;
        font-size: 2.93333vw;
    }
    .partners-case__txt--en {
        font-size: 3.73333vw;
        line-height: 1.35;
    }
    .partners-case__img-outer {
        display: block;
    }
    .partners-case__img {
        margin-right: 0;
        margin-bottom: 4vw;
        width: 100%;
    }
    .partners-case__img:last-of-type {
        margin-bottom: 0;
    }
    .partners-case__box {
        margin-left: 0;
        padding-bottom: 16vw;
    }
}

/*  partners-subcase
--------------------------------------------- */
.partners-subcase {
    padding-top: 55px;
}

.partners-subcase__item {
    margin-bottom: 50px;
}

.partners-subcase__item:last-of-type {
    margin-bottom: 0;
}

.partners-subcase__tit-outer {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 14px;
    padding-top: 5px;
    padding-bottom: 2px;
    width: 90px;
    border: 1px solid #787878;
    border-radius: 5px;
    text-align: center;
}

body.ie .partners-subcase__tit-outer {
    padding-top: 7px;
    padding-bottom: 0px;
}

.partners-subcase__tit {
    color: #787878;
    font-size: 16px;
    line-height: 1;
}

.partners-subcase__tit--en {
    font-family: 'Poppins', sans-serif;
}

@media screen and (max-width: 750px) {
    .partners-subcase {
        padding-top: 10.53333vw;
    }
    .partners-subcase__item {
        margin-bottom: 8.66667vw;
    }
    .partners-subcase__tit-outer {
        margin-bottom: 4vw;
        padding-top: 1.33333vw;
        padding-bottom: 1.06667vw;
        width: 17.06667vw;
        border-radius: 3px;
    }
    .partners-subcase__tit-outer--en {
        width: 21.06667vw;
    }
    .partners-subcase__tit {
        font-size: 3.33333vw;
    }
    .partners-subcase__tit--en {
        font-size: 3.73333vw;
    }
}

/*  subcase-list
--------------------------------------------- */
.subcase-list__txt, .subcase-list__txt-sub{
    color: #464646;
    font-size: 14px;
    line-height: 1.85;
}

.subcase-list__txt--en {
    font-weight: 300;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    line-height: 1.75;
}

.subcase-list__txt-sub {
    margin-left: 30px;
}

@media screen and (max-width: 750px) {
    .subcase-list__txt, .subcase-list__txt-sub {
        font-size: 2.93333vw;
    }
    .subcase-list__txt--en {
        font-size: 3.73333vw;
        line-height: 1.35;
    }
}

/*  subcase-orderlist
--------------------------------------------- */
.subcase-orderlist {
    margin-bottom: 30px;
    padding-left: 30px;
}

.subcase-orderlist--nospace {
    margin-bottom: 0;
}

.subcase-orderlist__item {
    margin-bottom: 2px;
}

.subcase-orderlist__item:last-of-type {
    margin-bottom: 0;
}

.subcase-orderlist__txt {
    color: #464646;
    font-size: 14px;
    line-height: 1.8;
}

.subcase-orderlist__txt--space {
    padding-left: 5px;
}

.subcase-orderlist__txt--en {
    font-weight: 300;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    line-height: 1.75;
}

@media screen and (max-width: 750px) {
    .subcase-orderlist {
        margin-bottom: 5.86667vw;
        padding-left: 0;
    }
    .subcase-orderlist__txt {
        font-size: 2.93333vw;
    }
    .subcase-orderlist__txt--space {
        padding-left: 4.66667vw;
    }
    .subcase-orderlist__txt--en {
        font-size: 3.73333vw;
        line-height: 1.35;
    }
}

/*  partners-service
--------------------------------------------- */
.partners-service__item {
    padding: 60px 36px 54px;
    border-bottom: 1px solid #dcdcdc;
}

body.ie .partners-service__item {
    padding: 62px 36px 52px;
}

.partners-service__tit {
    display: block;
    margin-bottom: 26px;
    color: #464646;
    font-weight: bold;
    font-size: 23px;
    line-height: 1;
}

body.ie .partners-service__tit {
    margin-bottom: 24px;
}

.partners-service__tit--en {
    font-weight: normal;
    font-size: 22px;
    font-family: 'Poppins', sans-serif;
    line-height: 1.63;
}

.partners-service__txt {
    color: #464646;
    letter-spacing: 0.01em;
    font-size: 16px;
    line-height: 1;
}

.partners-service__txt--en {
    font-family: 'Poppins', sans-serif;
    line-height: 1.5;
}

@media screen and (max-width: 750px) {
    .partners-service__item {
        padding: 7.33333vw 0 6.66667vw;
    }
    .partners-service__tit {
        margin-bottom: 1.86667vw;
        font-size: 4vw;
        line-height: 1.66;
    }
    .partners-service__tit--en {
        font-size: 4vw;
        line-height: 1.31;
    }
    .partners-service__txt {
        white-space: nowrap;
        letter-spacing: 0;
        font-size: 3.2vw;
        line-height: 1.75;
    }
    .partners-service__txt--en {
        white-space: normal;
        font-size: 3.73333vw;
        line-height: 1.35;
    }
}

/*  partners-contact
--------------------------------------------- */
.partners-contact__inner {
    margin-top: 60px;
    padding-left: 36px;
}

.partners-contact__link {
    display: inline-block;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.partners-contact__link:hover {
    opacity: 0.6;
}

.partners-contact__link--tel:hover {
    opacity: 1;
    cursor: default;
}

.partners-contact__txt, .partners-contact__tit {
    display: block;
    margin-bottom: 22px;
    color: #464646;
    font-weight: bold;
    font-size: 23px;
    line-height: 1;
}

.partners-contact__txt--en, .partners-contact__tit--en {
    font-weight: normal;
    font-family: 'Poppins', sans-serif;
}

.partners-contact__tit:before {
    content: "　";
    margin-right: 7px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 0.3em solid;
    display: inline-block;
    vertical-align: middle;
}

.partners-contact__block {
    margin-bottom: 60px;
}

.partners-contact__bold {
    font-weight: bold;
}

@media screen and (max-width: 750px) {
    .partners-contact__inner {
        margin-top: 8vw;
        padding-left: 0;
    }
    .partners-contact__txt, .partners-contact__tit {
        margin-bottom: 0.8vw;
        font-size: 4vw;
        line-height: 1.66;
    }
    .partners-contact__txt--en, .partners-contact__tit--en {
        font-size: 3.73333vw;
        line-height: 1.53;
    }
}

/*  partners-property
--------------------------------------------- */
.partners-property__inner {
    margin-top: 60px;
    padding-left: 36px;
}

.partners-property__txt {
    display: block;
    margin-bottom: 22px;
    color: #464646;
    font-weight: bold;
    font-size: 23px;
    line-height: 1;
}

.partners-property__txt--en {
    font-weight: normal;
    font-family: 'Poppins', sans-serif;
}

.partners-property__block {
    margin-bottom: 60px;
}

.partners-property__button {
    display: table;
    border-radius: 10px 10px;
    width: 60%;
    height: 60px;
    border: 2px solid black;
    margin-bottom: 50px;
}

.partners-property__button a {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    color: #464646;
    font-size: 23px;
}

.partners-property__button--en a {
    font-family: 'Poppins', sans-serif;
}

.partners-property__button a:hover {
    opacity:0.6;
}

@media screen and (max-width: 750px) {
    .partners-property__inner {
        margin-top: 8vw;
        padding-left: 0;
    }
    .partners-property__txt, .partners-property__button a {
        margin-bottom: 0.8vw;
        font-size: 4vw;
        line-height: 1.66;
    }
    .partners-property__txt--en {
        font-size: 3.73333vw;
        line-height: 1.53;
    }
    .partners-property__button {
        width: 100%;
    }
}

/*  plan
--------------------------------------------- */
.plan {
    margin-top: 52px;
    border-bottom: 1px solid #c8c8c8;
}

.plan__inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 1024px;
}

@media screen and (max-width: 750px) {
    .plan {
        margin-top: 9.06667vw;
    }
    .plan__inner {
        max-width: 89.33333vw;
    }
}

/*  plan-list
--------------------------------------------- */
.plan-list {
    margin-top: 94px;
    margin-bottom: 116px;
}

.plan-list__item {
    margin-bottom: 100px;
}

.plan-list__item:nth-of-type {
    margin-bottom: 0;
}

.plan-list__head {
    position: relative;
    margin-bottom: 35px;
}

.plan-list__img {
    width: 100%;
}

.plan-list__img img {
    width: 100%;
}

.plan-list__label-outer {
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 9px 10px 5px;
    width: 100%;
}

body.ie .plan-list__label-outer {
    padding-top: 13px;
    padding-bottom: 3px;
}

.plan-list__label-outer--event {
    background-color: rgba(196, 47, 78, 0.8);
}

.plan-list__label-outer--life {
    background-color: rgba(69, 147, 206, 0.8);
}

.plan-list__label-outer--wellness {
    background-color: rgba(148, 212, 73, 0.8);
}

.plan-list__label-outer--society {
    background-color: rgba(241, 215, 79, 0.8);
}

.plan-list__label {
    color: #fff;
    letter-spacing: -0.04em;
    font-weight: bold;
    font-size: 26px;
    line-height: 1;
}

.plan-list__label--en {
    font-weight: normal;
    font-family: 'Poppins', sans-serif;
}

.plan-list__label--en-society {
    color: #464646;
}

.plan-list__tit {
    margin-bottom: 18px;
    color: #464646;
    letter-spacing: -0.04em;
    font-weight: bold;
    font-size: 34px;
    line-height: 1;
}

body.ie .plan-list__tit {
    margin-bottom: 15px;
}

.plan-list__tit--en {
    font-weight: normal;
    font-size: 30px;
    font-family: 'Poppins', sans-serif;
}

.plan-list__txt {
    color: #464646;
    letter-spacing: 0.01em;
    font-weight: bold;
    font-size: 16px;
    line-height: 1;
}

.plan-list__txt--en {
    letter-spacing: 0;
    font-weight: normal;
    font-family: 'Poppins', sans-serif;
    line-height: 1.9;
}

@media screen and (max-width: 750px) {
    .plan-list {
        margin-top: 8.53333vw;
        margin-bottom: 20vw;
    }
    .plan-list__item {
        margin-bottom: 15.46667vw;
    }
    .plan-list__head {
        margin-bottom: 5.33333vw;
    }
    .plan-list__label-outer {
        padding: 2.13333vw 1.6vw 1.73333vw;
    }
    body.android .plan-list__label-outer {
        padding-top: 2.4vw;
    }
    .plan-list__label {
        letter-spacing: 0;
        font-size: 4.53333vw;
    }
    .plan-list__tit {
        margin-bottom: 2.13333vw;
        font-size: 5.33333vw;
        line-height: 1.45;
    }
    .plan-list__tit--en {
        line-height: 1.2;
    }
    .plan-list__txt {
        font-size: 3.73333vw;
        line-height: 1.5;
    }
    .plan-list__txt--en {
        line-height: 1.42;
    }
}

/*  plan-desc
--------------------------------------------- */
.plan-desc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 44px;
}

.plan-desc__item {
    margin-top: 48px;
    width: 484px;
}

.plan-desc__item:nth-of-type(-n+2) {
    margin-top: 0;
}

.plan-desc__item--event {
    border-left: 6px solid #C42F4E;
}

.plan-desc__item--life {
    border-left: 6px solid #4593CE;
}

.plan-desc__item--wellness {
    border-left: 6px solid #94D449;
}

.plan-desc__item--society {
    border-left: 6px solid #F1D74F;
}

.plan-desc__item--long {
    width: 100%;
}

.plan-desc__txt {
    margin-top: -3px;
    padding-left: 14px;
    color: #464646;
    letter-spacing: -0.01em;
    font-size: 16px;
    line-height: 1.7;
}

body.ie .plan-desc__txt {
    margin-top: 0;
}

.plan-desc__txt--en {
    font-weight: 300;
    font-family: 'Poppins', sans-serif;
    line-height: 1.375;
}

@media screen and (max-width: 750px) {
    .plan-desc {
        display: block;
        margin-top: 8vw;
    }
    .plan-desc__item {
        position: relative;
        margin-top: 8vw;
        width: 100%;
        border: none;
    }
    .plan-desc__item:first-of-type {
        margin-top: 0;
    }
    .plan-desc__item:nth-of-type(-n+2) {
        margin-top: 8vw;
    }
    .plan-desc__item:before {
        position: absolute;
        top: 1.06667vw;
        left: 0;
        width: 5px;
        height: 100%;
        content: '';
    }
    .plan-desc__item--event:before {
        background-color: #C42F4E;
    }
    .plan-desc__item--life:before {
        background-color: #4593CE;
    }
    .plan-desc__item--wellness:before {
        background-color: #94D449;
    }
    .plan-desc__item--society:before {
        background-color: #F1D74F;
    }
    .plan-desc__item--en {
        height: auto;
    }
    .plan-desc__item--en:before {
        top: 0;
        height: 100%;
    }
    .plan-desc__txt {
        margin-top: -1.33333vw;
        padding-left: 4.53333vw;
        letter-spacing: 0;
        font-size: 3.73333vw;
        line-height: 1.78;
    }
    .plan-desc__txt--en {
        line-height: 1.35;
    }
}

/*  pickup
--------------------------------------------- */
.pickup {
    margin-top: 150px;
    margin-right: auto;
    margin-left: auto;
    max-width: 1100px;
}

@media screen and (max-width: 750px) {
    .pickup {
        margin-top: 18.66667vw;
        width: 89.33333vw;
    }
}

/*  pickup-list
--------------------------------------------- */
.pickup-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 66px;
    margin-right: auto;
    margin-left: auto;
    width: 1010px;
}

.pickup-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-bottom: 47px;
    cursor: pointer;
}

.pickup-list__item.current {
    padding-bottom: 37px;
    border-bottom: 10px solid #cf255c;
}

.pickup-list__item:hover {
    opacity: .6;
    -webkit-transition: .3s;
    transition: .3s;
}

.pickup-list__img--tokyo-marathon {
    width: 90px;
}

.pickup-list__img--legacy-half {
    width: 90px;
}

.pickup-list__img--rokutai-fes {
    width: 90px;
}

.pickup-list__img--one-tokyo {
    width: 90px;
}

.pickup-list__img--virtual-run {
    width: 90px;
}

.pickup-list__img--run-as-one {
    width: 90px;
}

.pickup-list__img--run-as-one--en {
    width: 90px;
}

.pickup-list__img--voluntainer {
    width: 73px;
}

.pickup-list__img--heart {
    width: 87px;
}

.pickup-list__img--heart--en {
    width: 91px;
}

.pickup-list__img--sports-legacy {
    width: 70px;
}

.pickup-list__img--sports-legacy--en {
    width: 80px;
}

.pickup-list__img--green-mileage {
    width: 80px;
}

.pickup-list__img--green-mileage--en {
    width: 90px;
}

@media screen and (max-width: 750px) {
    .pickup-list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 8.53333vw;
        padding-bottom: 4.53333vw;
        width: 82.4vw;
    }
    .pickup-list__item {
        position: relative;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-right: 1.33333vw;
        margin-left: 1.33333vw;
        width: 17.6vw;
        height: 17.6vw;
        border: 1px solid #dcdcdc;
        border-radius: 50%;
        text-align: center;
    }
    .pickup-list__item:nth-of-type(n+5) {
        margin-top: 2.66667vw;
    }
    .pickup-list__item.current {
        border: 2px solid #cf255c;
    }
    .pickup-list__img {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    .pickup-list__img--tokyo-marathon {
        width: 7.73333vw;
    }
    .pickup-list__img--legacy-half {
        width: 7.73333vw;
    }
    .pickup-list__img--rokutai-fes {
        width: 7.73333vw;
    }
    .pickup-list__img--one-tokyo {
        width: 9.46667vw;
    }
    .pickup-list__img--virtual-run {
        width: 10.8vw;
    }
    .pickup-list__img--run-as-one {
        width: 10vw;
    }
    .pickup-list__img--voluntainer {
        width: 6.26667vw;
    }
    .pickup-list__img--heart {
        width: 8.13333vw;
    }
    .pickup-list__img--sports-legacy {
        width: 7.46667vw;
    }
    .pickup-list__img--green-mileage {
        width: 8.13333vw;
    }
}

/*  pickup-detail
--------------------------------------------- */
.pickup-detail {
    display: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 80px 0 134px 24px;
    border-top: 1px solid #bfbfbf;
    border-bottom: 1px solid #bfbfbf;
}

.pickup-detail.current {
    display: block;
}

.pickup-detail__inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.pickup-detail__img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-right: 96px;
    width: 224px;
}

.pickup-detail__desc {
    margin-top: 17px;
    width: 754px;
}

.pickup-detail__cat {
    display: block;
    margin-bottom: 30px;
    font-size: 18px;
    line-height: 1;
}

.pickup-detail__cat--event {
    color: #C42F4E;
}

.pickup-detail__cat--life {
    color: #4593CE;
}

.pickup-detail__cat--wellness {
    color: #94D449;
}

.pickup-detail__cat--society {
    color: #F1D74F;
}

.pickup-detail__cat--en {
    font-weight: 300;
    font-family: 'Poppins', sans-serif;
}

.pickup-detail__tit {
    display: block;
    margin-bottom: 24px;
    color: #464646;
    font-weight: bold;
    font-size: 40px;
    line-height: 1;
}

.pickup-detail__tit--en {
    font-family: 'Poppins', sans-serif;
}

.pickup-detail__txt {
    margin-bottom: 24px;
    color: #464646;
    font-size: 24px;
    line-height: 1.58;
}

.pickup-detail__txt--en {
    font-family: 'Poppins', sans-serif;
}

.pickup-detail__link {
    display: inline-block;
    margin-bottom: 54px;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.pickup-detail__link:hover {
    opacity: 0.6;
}

.pickup-detail__link:hover .pickup-detail__txt-link {
    border-color: transparent;
}

.pickup-detail__note {
    position: absolute;
    right: 0;
    bottom: -74px;
    color: #464646;
    text-align: right;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.pickup-detail__txt-link {
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 1px solid #282828;
    color: #282828;
    font-weight: 200;
    font-size: 20px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

@media screen and (max-width: 750px) {
    .pickup-detail {
        padding: 3.73333vw 0 18.93333vw 0;
    }
    .pickup-detail--one-tokyo {
        padding: 3.73333vw 0 24.26667vw 0;
    }
    .pickup-detail__inner {
        padding-bottom: 5.33333vw;
    }
    .pickup-detail__img {
        margin-top: 5vw;
        margin-right: 8.26667vw;
        width: 20.26667vw;
    }
    .pickup-detail__desc {
        width: 60vw;
    }
    .pickup-detail__cat {
        margin-bottom: 3.73333vw;
        font-size: 2.66667vw;
    }
    .pickup-detail__cat--en {
        font-size: 3.2vw;
    }
    .pickup-detail__tit {
        margin-bottom: 3.46667vw;
        font-size: 5.33333vw;
    }
    .pickup-detail__txt {
        margin-bottom: 5.06667vw;
        font-size: 3.2vw;
    }
    .pickup-detail__txt--en {
        font-size: 3.73333vw;
    }
    .pickup-detail__link {
        margin-bottom: 0;
    }
    .pickup-detail__note {
        right: 0;
        bottom: -17vw;
        width: 100%;
        color: #464646;
        text-align: center;
        white-space: nowrap;
        font-size: 2.93333vw;
        font-family: 'Poppins', sans-serif;
        line-height: 1;
    }
    .pickup-detail__txt-link {
        border-bottom: 1px solid rgba(40, 40, 40, 0.7);
        font-size: 2.93333vw;
    }
}

/*  race-list
--------------------------------------------- */
.race-list {
    min-height: 300px;
    border-top: 3px solid #282828;
}

.race-list__item {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 32px;
    width: 100%;
    border-bottom: 1px solid #dcdcdc;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.race-list__item:after {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 14px;
    height: 14px;
    border-top: 1px solid #838383;
    border-right: 1px solid #838383;
    content: '';
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    pointer-events: none;
}

.race-list__item:hover {
    opacity: 0.6;
}

.race-list__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 30px 60px 20px;
}

.race-list__date {
    margin-top: -5px;
    margin-right: 60px;
    width: 54px;
}

.race-list__year {
    display: inline-block;
    margin-bottom: 4px;
    color: #282828;
    font-weight: bold;
    font-size: 10px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.race-list__box {
    position: relative;
}

.race-list__box:before {
    position: absolute;
    top: 23px;
    left: -7px;
    width: 56px;
    height: 2px;
    background-color: #282828;
    content: '';
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.race-list__month {
    display: inline-block;
    margin-bottom: 8px;
    width: 22px;
    color: #282828;
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.race-list__day {
    display: block;
    margin-left: 12px;
    width: 45px;
    color: #282828;
    text-align: right;
    text-align: center;
    white-space: nowrap;
    font-weight: bold;
    font-size: 34px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.race-list__week {
    display: inline-block;
    margin-left: 12px;
    width: 45px;
    color: #282828;
    text-align: center;
    font-weight: bold;
    font-size: 14px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.race-list__desc {
    margin-right: 90px;
    width: 360px;
}

.race-list__label {
    display: block;
    margin-bottom: 18px;
    color: #282828;
    font-size: 12px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

.race-list__label--narrow {
    margin-bottom: 10px;
}

.race-list__tit {
    display: block;
    margin-bottom: 5px;
    min-height: 45px;
    color: #464646;
    font-weight: bold;
    font-size: 22px;
    line-height: 1.27;
}

.race-list__cat {
    color: #787878;
    font-size: 12px;
    line-height: 1;
}

.race-list__detail {
    margin-top: 22px;
    width: 184px;
}

.race-list__entry {
    display: block;
    margin-bottom: 8px;
    color: #787878;
    letter-spacing: 0.02em;
    font-size: 12px;
    line-height: 1;
}

.race-list__time {
    display: block;
    margin-bottom: 14px;
    color: #787878;
    letter-spacing: 0.02em;
    font-size: 12px;
    line-height: 1;
}

.race-list__condition {
    display: inline-block;
    font-size: 12px;
    line-height: 1;
}

.race-list__condition--open {
    color: #c80000;
}

.race-list__condition--under {
    color: #ffa000;
}

.race-list__condition--close {
    color: #464646;
}

.race-list__condition--other {
    color: #674982;
}

.race-list__img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin: auto;
    margin-right: auto;
    margin-left: auto;
    width: 90px;
    height: 90px;
    background-position: 50% 50%;
    background-size: contain;
    background-repeat: no-repeat;
}

.race-list__img--tmf img {
    width: 62px;
}

.race-list__img--tokyo-marathon img {
    width: 62px;
}

.race-list__img--one-tokyo img {
    width: 95px;
}

.race-list__img--jogport img {
    width: 92px;
}

.race-list__img--voluntainer img {
    width: 62px;
}

.race-list__img--sports-legacy img {
    width: 72px;
}

.race-list__img--run-with-heart img {
    width: 72px;
}

.race-list__img--run-as-one img {
    width: 88px;
}

.race-list__img--tmf-virtual-run img {
    width: 81px;
}

@media screen and (max-width: 750px) {
    .race-list {
        border-top: 3px solid #282828;
    }
    .race-list__item {
        margin-right: 0;
    }
    .race-list__item:after {
        right: 0;
        width: 2.4vw;
        height: 2.4vw;
    }
    .race-list__link {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 3.73333vw 5.06667vw 4vw 0.8vw;
    }
    .race-list__date {
        margin-top: 0.26667vw;
        margin-right: 4.8vw;
        width: 11.73333vw;
    }
    .race-list__year {
        margin-bottom: 1.06667vw;
        font-size: 2.4vw;
    }
    .race-list__box:before {
        top: 5vw;
        left: -2.5vw;
        width: 13.33333vw;
    }
    .race-list__month {
        margin-bottom: 1.6vw;
        width: 4.53333vw;
        font-size: 4.66667vw;
    }
    .race-list__day {
        margin-left: 3.2vw;
        width: 8vw;
        font-size: 7.2vw;
    }
    .race-list__week {
        margin-left: 3.46667vw;
        width: 8vw;
        font-size: 2.93333vw;
    }
    .race-list__desc {
        margin-right: 0;
        width: 66.66667vw;
    }
    .race-list__label {
        margin-bottom: 2.4vw;
        font-size: 2.4vw;
    }
    .race-list__tit {
        margin-bottom: 2.93333vw;
        min-height: 11.2vw;
        font-size: 4.8vw;
    }
    .race-list__cat {
        color: #464646;
        font-size: 2.93333vw;
    }
    .race-list__detail {
        margin-top: 5.33333vw;
        margin-left: 16.53333vw;
        width: 47.46667vw;
    }
    .race-list__entry {
        margin-bottom: 0.8vw;
        color: #464646;
        font-size: 2.93333vw;
    }
    .race-list__time {
        margin-bottom: 4.26667vw;
        color: #464646;
        font-size: 2.93333vw;
    }
    .race-list__condition {
        font-size: 2.93333vw;
    }
    .race-list__img {
        -webkit-box-align: end;
        align-items: flex-end;
        -ms-flex-align: end;
        margin-bottom: 2.66667vw;
        width: 15.2vw;
        height: 15.2vw;
    }
    .race-list__img--tmf img {
        width: 10.4vw;
    }
    .race-list__img--tokyo-marathon img {
        width: 10.4vw;
    }
    .race-list__img--one-tokyo img {
        width: 16vw;
    }
    .race-list__img--jogport img {
        width: 14.4vw;
    }
    .race-list__img--voluntainer img {
        width: 10.4vw;
    }
    .race-list__img--sports-legacy img {
        width: 12vw;
    }
    .race-list__img--run-with-heart img {
        width: 12vw;
    }
    .race-list__img--run-as-one img {
        width: 14.8vw;
    }
    .race-list__img--tmf-virtual-run img {
        width: 13.6vw;
    }
}

/*  sns
--------------------------------------------- */
.sns {
    position: relative;
    padding-top: 40px;
    padding-bottom: 50px;
    text-align: center;
}

.sns__tit {
    display: block;
    margin-bottom: 35px;
    color: #282828;
    font-size: 16px;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
}

@media screen and (max-width: 750px) {
    .sns {
        padding-top: 5.6vw;
        padding-bottom: 8.4vw;
    }
    .sns__tit {
        margin-bottom: 6vw;
        font-size: 4vw;
    }
}

/*  sns-list
--------------------------------------------- */
.sns-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.sns-list__item {
    margin-right: 38px;
}

.sns-list__item:last-of-type {
    margin-right: 0;
}

.sns-list__link {
    display: block;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
}

.sns-list__link:hover {
    opacity: 0.6;
}

.sns-list__ico--facebook {
    width: 34px;
}

.sns-list__ico--twitter {
    width: 28px;
}

.sns-list__ico--youtube {
    width: 38px;
}

.sns-list__ico--youtube {
    width: 40px;
}

.sns-list__ico img {
    width: 100%;
}

@media screen and (max-width: 750px) {
    .sns-list__item {
        margin-right: 8.66667vw;
    }
    .sns-list__ico--facebook {
        width: 8.26667vw;
    }
    .sns-list__ico--twitter {
        width: 6.93333vw;
    }
    .sns-list__ico--youtube {
        width: 9.6vw;
    }
    .sns-list__ico--weibo {
        width: 9.06667vw;
    }
}

/* ---------------------------------------------
*   slick
--------------------------------------------- */
.slick-dots {
    bottom: 34px;
    left: 50.5%;
    z-index: 99;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px 5px 6px;
    width: 228px;
    border-radius: 20px;
    background-color: rgba(0, 0, 0, 0.5);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

body.ie .slick-dots {
    padding: 12px 5px 4px;
}

.slick-dots li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 9px;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
}

.slick-dots li:hover {
    opacity: .6;
    -webkit-transition: .3s;
    transition: .3s;
}

.slick-dots li.slick-active button:before {
    color: transparent;
}

.slick-dots li button:before {
    color: transparent;
}

@media screen and (max-width: 750px) {
    .slick-dots {
        bottom: 4.93333vw;
        left: 50%;
        padding: 1.86667vw 2.4vw 0.26667vw;
        width: 38.66667vw;
    }
    .slick-dots li {
        margin: 0 1.33333vw;
        width: 2.13333vw;
        height: 2.13333vw;
        border: 1px solid rgba(255, 255, 255, 0.5);
    }
}

.slick-active {
    background-color: #fff;
}

/*  mixitup
--------------------------------------------- */
.is-hidden {
    display: none;
}

/*  text-align
--------------------------------------------- */
.tal {
    text-align: left;
}

.tac {
    text-align: center;
}

.tar {
    text-align: right;
}

/* ==========================================================
*
*   page
*
========================================================== */
/* ---------------------------------------------
*   Index Page
--------------------------------------------- */
/* ==========================================================
*
*   utility
*
========================================================== */
/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
    margin-top: 0 !important;
}

.mgt-pc--5 {
    margin-top: 5px !important;
}

.mgt-pc--10 {
    margin-top: 10px !important;
}

.mgt-pc--15 {
    margin-top: 15px !important;
}

.mgt-pc--20 {
    margin-top: 20px !important;
}

.mgt-pc--25 {
    margin-top: 25px !important;
}

.mgt-pc--30 {
    margin-top: 30px !important;
}

.mgt-pc--35 {
    margin-top: 35px !important;
}

.mgt-pc--40 {
    margin-top: 40px !important;
}

.mgt-pc--45 {
    margin-top: 45px !important;
}

.mgt-pc--50 {
    margin-top: 50px !important;
}

.mgt-pc--55 {
    margin-top: 55px !important;
}

.mgt-pc--60 {
    margin-top: 60px !important;
}

.mgt-pc--65 {
    margin-top: 65px !important;
}

.mgt-pc--70 {
    margin-top: 70px !important;
}

.mgt-pc--75 {
    margin-top: 75px !important;
}

.mgt-pc--80 {
    margin-top: 80px !important;
}

.mgt-pc--85 {
    margin-top: 85px !important;
}

.mgt-pc--90 {
    margin-top: 90px !important;
}

.mgt-pc--95 {
    margin-top: 95px !important;
}

.mgt-pc--100 {
    margin-top: 100px !important;
}

.mgt-pc--105 {
    margin-top: 105px !important;
}

.mgt-pc--110 {
    margin-top: 110px !important;
}

.mgt-pc--115 {
    margin-top: 115px !important;
}

.mgt-pc--120 {
    margin-top: 120px !important;
}

.mgt-pc--125 {
    margin-top: 125px !important;
}

.mgt-pc--130 {
    margin-top: 130px !important;
}

.mgt-pc--135 {
    margin-top: 135px !important;
}

.mgt-pc--140 {
    margin-top: 140px !important;
}

.mgt-pc--145 {
    margin-top: 145px !important;
}

.mgt-pc--150 {
    margin-top: 150px !important;
}

.mgt-pc--155 {
    margin-top: 155px !important;
}

.mgt-pc--160 {
    margin-top: 160px !important;
}

.mgt-pc--165 {
    margin-top: 165px !important;
}

.mgt-pc--170 {
    margin-top: 170px !important;
}

.mgt-pc--175 {
    margin-top: 175px !important;
}

.mgt-pc--180 {
    margin-top: 180px !important;
}

.mgt-pc--185 {
    margin-top: 185px !important;
}

.mgt-pc--190 {
    margin-top: 190px !important;
}

.mgt-pc--195 {
    margin-top: 195px !important;
}

.mgt-pc--200 {
    margin-top: 200px !important;
}

.mgt-pc--205 {
    margin-top: 205px !important;
}

.mgt-pc--210 {
    margin-top: 210px !important;
}

.mgt-pc--215 {
    margin-top: 215px !important;
}

.mgt-pc--220 {
    margin-top: 220px !important;
}

.mgt-pc--225 {
    margin-top: 225px !important;
}

.mgt-pc--230 {
    margin-top: 230px !important;
}

.mgt-pc--235 {
    margin-top: 235px !important;
}

.mgt-pc--240 {
    margin-top: 240px !important;
}

.mgt-pc--245 {
    margin-top: 245px !important;
}

.mgt-pc--250 {
    margin-top: 250px !important;
}

@media screen and (max-width: 750px) {
    .mgt-sp--0 {
        margin-top: 0 !important;
    }
    .mgt-sp--5 {
        margin-top: 0.66667vw !important;
    }
    .mgt-sp--10 {
        margin-top: 1.33333vw !important;
    }
    .mgt-sp--15 {
        margin-top: 2vw !important;
    }
    .mgt-sp--20 {
        margin-top: 2.66667vw !important;
    }
    .mgt-sp--25 {
        margin-top: 3.33333vw !important;
    }
    .mgt-sp--30 {
        margin-top: 4vw !important;
    }
    .mgt-sp--35 {
        margin-top: 4.66667vw !important;
    }
    .mgt-sp--40 {
        margin-top: 5.33333vw !important;
    }
    .mgt-sp--45 {
        margin-top: 6vw !important;
    }
    .mgt-sp--50 {
        margin-top: 6.66667vw !important;
    }
    .mgt-sp--55 {
        margin-top: 7.33333vw !important;
    }
    .mgt-sp--60 {
        margin-top: 8vw !important;
    }
    .mgt-sp--65 {
        margin-top: 8.66667vw !important;
    }
    .mgt-sp--70 {
        margin-top: 9.33333vw !important;
    }
    .mgt-sp--75 {
        margin-top: 10vw !important;
    }
    .mgt-sp--80 {
        margin-top: 10.66667vw !important;
    }
    .mgt-sp--85 {
        margin-top: 11.33333vw !important;
    }
    .mgt-sp--90 {
        margin-top: 12vw !important;
    }
    .mgt-sp--95 {
        margin-top: 12.66667vw !important;
    }
    .mgt-sp--100 {
        margin-top: 13.33333vw !important;
    }
    .mgt-sp--105 {
        margin-top: 14vw !important;
    }
    .mgt-sp--110 {
        margin-top: 14.66667vw !important;
    }
    .mgt-sp--115 {
        margin-top: 15.33333vw !important;
    }
    .mgt-sp--120 {
        margin-top: 16vw !important;
    }
    .mgt-sp--125 {
        margin-top: 16.66667vw !important;
    }
    .mgt-sp--130 {
        margin-top: 17.33333vw !important;
    }
    .mgt-sp--135 {
        margin-top: 18vw !important;
    }
    .mgt-sp--140 {
        margin-top: 18.66667vw !important;
    }
    .mgt-sp--145 {
        margin-top: 19.33333vw !important;
    }
    .mgt-sp--150 {
        margin-top: 20vw !important;
    }
    .mgt-sp--155 {
        margin-top: 20.66667vw !important;
    }
    .mgt-sp--160 {
        margin-top: 21.33333vw !important;
    }
    .mgt-sp--165 {
        margin-top: 22vw !important;
    }
    .mgt-sp--170 {
        margin-top: 22.66667vw !important;
    }
    .mgt-sp--175 {
        margin-top: 23.33333vw !important;
    }
    .mgt-sp--180 {
        margin-top: 24vw !important;
    }
    .mgt-sp--185 {
        margin-top: 24.66667vw !important;
    }
    .mgt-sp--190 {
        margin-top: 25.33333vw !important;
    }
    .mgt-sp--195 {
        margin-top: 26vw !important;
    }
    .mgt-sp--200 {
        margin-top: 26.66667vw !important;
    }
    .mgt-sp--205 {
        margin-top: 27.33333vw !important;
    }
    .mgt-sp--210 {
        margin-top: 28vw !important;
    }
    .mgt-sp--215 {
        margin-top: 28.66667vw !important;
    }
    .mgt-sp--220 {
        margin-top: 29.33333vw !important;
    }
    .mgt-sp--225 {
        margin-top: 30vw !important;
    }
    .mgt-sp--230 {
        margin-top: 30.66667vw !important;
    }
    .mgt-sp--235 {
        margin-top: 31.33333vw !important;
    }
    .mgt-sp--240 {
        margin-top: 32vw !important;
    }
    .mgt-sp--245 {
        margin-top: 32.66667vw !important;
    }
    .mgt-sp--250 {
        margin-top: 33.33333vw !important;
    }
}

/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
    margin-bottom: 0 !important;
}

.mgb-pc--5 {
    margin-bottom: 5px !important;
}

.mgb-pc--10 {
    margin-bottom: 10px !important;
}

.mgb-pc--15 {
    margin-bottom: 15px !important;
}

.mgb-pc--20 {
    margin-bottom: 20px !important;
}

.mgb-pc--25 {
    margin-bottom: 25px !important;
}

.mgb-pc--30 {
    margin-bottom: 30px !important;
}

.mgb-pc--35 {
    margin-bottom: 35px !important;
}

.mgb-pc--40 {
    margin-bottom: 40px !important;
}

.mgb-pc--45 {
    margin-bottom: 45px !important;
}

.mgb-pc--50 {
    margin-bottom: 50px !important;
}

.mgb-pc--55 {
    margin-bottom: 55px !important;
}

.mgb-pc--60 {
    margin-bottom: 60px !important;
}

.mgb-pc--65 {
    margin-bottom: 65px !important;
}

.mgb-pc--70 {
    margin-bottom: 70px !important;
}

.mgb-pc--75 {
    margin-bottom: 75px !important;
}

.mgb-pc--80 {
    margin-bottom: 80px !important;
}

.mgb-pc--85 {
    margin-bottom: 85px !important;
}

.mgb-pc--90 {
    margin-bottom: 90px !important;
}

.mgb-pc--95 {
    margin-bottom: 95px !important;
}

.mgb-pc--100 {
    margin-bottom: 100px !important;
}

.mgb-pc--105 {
    margin-bottom: 105px !important;
}

.mgb-pc--110 {
    margin-bottom: 110px !important;
}

.mgb-pc--115 {
    margin-bottom: 115px !important;
}

.mgb-pc--120 {
    margin-bottom: 120px !important;
}

.mgb-pc--125 {
    margin-bottom: 125px !important;
}

.mgb-pc--130 {
    margin-bottom: 130px !important;
}

.mgb-pc--135 {
    margin-bottom: 135px !important;
}

.mgb-pc--140 {
    margin-bottom: 140px !important;
}

.mgb-pc--145 {
    margin-bottom: 145px !important;
}

.mgb-pc--150 {
    margin-bottom: 150px !important;
}

.mgb-pc--155 {
    margin-bottom: 155px !important;
}

.mgb-pc--160 {
    margin-bottom: 160px !important;
}

.mgb-pc--165 {
    margin-bottom: 165px !important;
}

.mgb-pc--170 {
    margin-bottom: 170px !important;
}

.mgb-pc--175 {
    margin-bottom: 175px !important;
}

.mgb-pc--180 {
    margin-bottom: 180px !important;
}

.mgb-pc--185 {
    margin-bottom: 185px !important;
}

.mgb-pc--190 {
    margin-bottom: 190px !important;
}

.mgb-pc--195 {
    margin-bottom: 195px !important;
}

.mgb-pc--200 {
    margin-bottom: 200px !important;
}

.mgb-pc--205 {
    margin-bottom: 205px !important;
}

.mgb-pc--210 {
    margin-bottom: 210px !important;
}

.mgb-pc--215 {
    margin-bottom: 215px !important;
}

.mgb-pc--220 {
    margin-bottom: 220px !important;
}

.mgb-pc--225 {
    margin-bottom: 225px !important;
}

.mgb-pc--230 {
    margin-bottom: 230px !important;
}

.mgb-pc--235 {
    margin-bottom: 235px !important;
}

.mgb-pc--240 {
    margin-bottom: 240px !important;
}

.mgb-pc--245 {
    margin-bottom: 245px !important;
}

.mgb-pc--250 {
    margin-bottom: 250px !important;
}

@media screen and (max-width: 750px) {
    .mgb-sp--0 {
        margin-bottom: 0 !important;
    }
    .mgb-sp--5 {
        margin-bottom: 0.66667vw !important;
    }
    .mgb-sp--10 {
        margin-bottom: 1.33333vw !important;
    }
    .mgb-sp--15 {
        margin-bottom: 2vw !important;
    }
    .mgb-sp--20 {
        margin-bottom: 2.66667vw !important;
    }
    .mgb-sp--25 {
        margin-bottom: 3.33333vw !important;
    }
    .mgb-sp--30 {
        margin-bottom: 4vw !important;
    }
    .mgb-sp--35 {
        margin-bottom: 4.66667vw !important;
    }
    .mgb-sp--40 {
        margin-bottom: 5.33333vw !important;
    }
    .mgb-sp--45 {
        margin-bottom: 6vw !important;
    }
    .mgb-sp--50 {
        margin-bottom: 6.66667vw !important;
    }
    .mgb-sp--55 {
        margin-bottom: 7.33333vw !important;
    }
    .mgb-sp--60 {
        margin-bottom: 8vw !important;
    }
    .mgb-sp--65 {
        margin-bottom: 8.66667vw !important;
    }
    .mgb-sp--70 {
        margin-bottom: 9.33333vw !important;
    }
    .mgb-sp--75 {
        margin-bottom: 10vw !important;
    }
    .mgb-sp--80 {
        margin-bottom: 10.66667vw !important;
    }
    .mgb-sp--85 {
        margin-bottom: 11.33333vw !important;
    }
    .mgb-sp--90 {
        margin-bottom: 12vw !important;
    }
    .mgb-sp--95 {
        margin-bottom: 12.66667vw !important;
    }
    .mgb-sp--100 {
        margin-bottom: 13.33333vw !important;
    }
    .mgb-sp--105 {
        margin-bottom: 14vw !important;
    }
    .mgb-sp--110 {
        margin-bottom: 14.66667vw !important;
    }
    .mgb-sp--115 {
        margin-bottom: 15.33333vw !important;
    }
    .mgb-sp--120 {
        margin-bottom: 16vw !important;
    }
    .mgb-sp--125 {
        margin-bottom: 16.66667vw !important;
    }
    .mgb-sp--130 {
        margin-bottom: 17.33333vw !important;
    }
    .mgb-sp--135 {
        margin-bottom: 18vw !important;
    }
    .mgb-sp--140 {
        margin-bottom: 18.66667vw !important;
    }
    .mgb-sp--145 {
        margin-bottom: 19.33333vw !important;
    }
    .mgb-sp--150 {
        margin-bottom: 20vw !important;
    }
    .mgb-sp--155 {
        margin-bottom: 20.66667vw !important;
    }
    .mgb-sp--160 {
        margin-bottom: 21.33333vw !important;
    }
    .mgb-sp--165 {
        margin-bottom: 22vw !important;
    }
    .mgb-sp--170 {
        margin-bottom: 22.66667vw !important;
    }
    .mgb-sp--175 {
        margin-bottom: 23.33333vw !important;
    }
    .mgb-sp--180 {
        margin-bottom: 24vw !important;
    }
    .mgb-sp--185 {
        margin-bottom: 24.66667vw !important;
    }
    .mgb-sp--190 {
        margin-bottom: 25.33333vw !important;
    }
    .mgb-sp--195 {
        margin-bottom: 26vw !important;
    }
    .mgb-sp--200 {
        margin-bottom: 26.66667vw !important;
    }
    .mgb-sp--205 {
        margin-bottom: 27.33333vw !important;
    }
    .mgb-sp--210 {
        margin-bottom: 28vw !important;
    }
    .mgb-sp--215 {
        margin-bottom: 28.66667vw !important;
    }
    .mgb-sp--220 {
        margin-bottom: 29.33333vw !important;
    }
    .mgb-sp--225 {
        margin-bottom: 30vw !important;
    }
    .mgb-sp--230 {
        margin-bottom: 30.66667vw !important;
    }
    .mgb-sp--235 {
        margin-bottom: 31.33333vw !important;
    }
    .mgb-sp--240 {
        margin-bottom: 32vw !important;
    }
    .mgb-sp--245 {
        margin-bottom: 32.66667vw !important;
    }
    .mgb-sp--250 {
        margin-bottom: 33.33333vw !important;
    }
}

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

@media screen and (max-width: 750px) {
    .sp-hide {
        display: none !important;
    }
}
