.eng {
    font-family: 'Lato', sans-serif !important
}

figure figcaption {
    line-height: 1.3 !important;
    margin-bottom: 8px
}

figure img+figcaption {
    margin-top: 8px;
    margin-bottom: 0px
}

.trans-motion-on {
    transition: transform 0.25s ease-out !important
}

.hr-type01 {
    border: none;
    border-top: 1px solid #DDDDDD;
    margin: 30px 0 50px
}

.hr-type02 {
    border: none;
    width: 100%;
    height: 1px;
    margin: 0 0 40px 0
}

.hr-type03 {
    border: none;
    border-top: 1px solid #DDDDDD;
    width: 100%;
    height: 1px;
    margin: 20px auto 20px auto
}

.hr-type04 {
    border: none;
    border-top: 1px solid #DDDDDD;
    width: 70%;
    height: 1px;
    margin: 20px auto 20px auto
}

.spacer {
    width: 100%;
    height: 60px
}

@media screen and (max-width: 520px) {
    .spacer {
        height: 30px
    }
}

.spacer-40px {
    width: 100%;
    height: 40px
}

@media screen and (max-width: 520px) {
    .spacer-40px {
        height: 20px
    }
}

.redirect-text {
    padding-top: 50px;
    text-align: center
}

@media screen and (max-width: 520px) {
    .redirect-text {
        padding-top: 30px
    }
}

.ov-hidden100 {
    overflow: hidden;
    width: 100%
}

.news-icon01,
.news-icon02,
.news-icon03,
.news-icon04 {
    display: inline-block;
    background: #fff;
    min-width: 86px;
    padding: 4px 10px;
    line-height: 1.1;
    font-size: .75rem;
    font-weight: 700;
    text-align: center;
    border: 1px solid #736445;
    color: #736445
}

.news-icon02 {
    border-color: #35826D !important;
    color: #35826D !important
}

.news-icon03 {
    border-color: #AC3434 !important;
    color: #AC3434 !important
}

.news-icon04 {
    border-color: #597FC1 !important;
    color: #597FC1 !important
}

.event-icon01,
.event-icon02,
.event-icon03,
.event-icon04,
.event-icon05 {
    display: inline-block;
    min-width: 86px;
    padding: 4px;
    line-height: 1.1;
    font-size: .75rem;
    font-weight: 700;
    text-align: center;
    color: #1A1A1A;
    border: 1px solid #1A1A1A
}

.event-icon01 {
    border-color: #736445 !important;
    color: #736445 !important
}

.event-icon02 {
    border-color: #35826D !important;
    color: #35826D !important
}

.event-icon03 {
    border-color: #4E6FA8 !important;
    color: #4E6FA8 !important
}

.event-icon04 {
    border-color: #A66125 !important;
    color: #A66125 !important
}

.event-icon05 {
    border-color: #808080 !important;
    color: #808080 !important
}

.t-weight {
    font-weight: 700 !important
}

.text-underline {
    text-decoration: underline !important
}

.t-col-defo {
    color: #1A1A1A !important
}

.t-col-secondary {
    color: #4D4D4D
}

.t-col01 {
    color: #7E13AB !important
}

.t-col02 {
    color: #BD1515 !important
}

.t-col03 {
    color: #FFBE00 !important
}

.t-col04 {
    color: #4DB56A !important
}

.t-col05 {
    color: #03C !important
}

.text-explanation {
    color: #888888;
    font-size: .8125rem
}

.catchphrase-text {
    font-size: 1.25rem
}

@media screen and (max-width: 520px) {
    .catchphrase-text {
        font-size: 17px
    }
}

.dl-text-indent {
    display: flex
}

.dl-text-indent dt {
    white-space: nowrap;
    padding-right: 0.5em
}

.dl-text-indent dd {
    width: 100%
}

.dl-text-indent dd p {
    margin: 0
}

.link-underline {
    text-decoration: underline !important
}

.t-col01-link {
    text-decoration: underline;
    color: #7E13AB !important
}

.t-col01-link:hover {
    text-decoration: none
}

.arrow-link02 {
    position: relative;
    color: #7E13AB;
    padding-left: 15px;
    text-decoration: underline
}

.arrow-link02::before {
    content: "";
    position: absolute;
    top: 0.38em;
    left: 0px;
    width: 6px;
    height: 6px;
    border-left: 1px solid #606;
    border-bottom: 1px solid #606;
    transform: rotate(-135deg)
}

.arrow-link02:hover {
    text-decoration: none
}

.arrow-link02.current {
    pointer-events: none !important;
    color: #1A1A1A !important;
    text-decoration: none !important
}

.arrow-link02.current::before {
    border-color: #1A1A1A !important
}

.arrow-link02.blank-iconlink {
    padding-left: 28px
}

.arrow-link02.blank-iconlink::before {
    display: none !important
}

.arrow-link03 {
    position: relative;
    color: #7E13AB;
    text-decoration: underline
}

.arrow-link03::after {
    position: relative;
    top: -0.23em;
    content: " ";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-left: 1px solid #606;
    border-bottom: 1px solid #606;
    transform: rotate(-45deg);
    margin-left: 5px
}

.arrow-link03:hover {
    text-decoration: none
}

a:not(:has(>img)).blank-iconlink {
    color: #7E13AB;
    padding: 1px 0;
    padding-left: 28px;
    background: url(/images/common/icon_otherlink02.svg) 3px 52% no-repeat;
    background-size: 17px 17px;
    text-decoration: underline
}

a:not(:has(>img)).blank-iconlink:hover {
    text-decoration: none;
    background: url(/images/common/icon_otherlink02_purple.svg) 3px 52% no-repeat;
    background-size: 17px 17px
}

.pdf-iconlink {
    color: #7E13AB;
    padding: 1px 0;
    padding-left: 25px;
    background: url(/images/common/icon_pdf.png) 3px 50% no-repeat;
    text-decoration: underline
}

.pdf-iconlink:hover {
    text-decoration: none
}

.excel-iconlink {
    color: #7E13AB;
    padding: 1px 0;
    padding-left: 24px;
    background: url(/images/common/icon_excel.svg) 3px 50% no-repeat;
    background-size: 13px 15px;
    text-decoration: underline
}

.excel-iconlink:hover {
    text-decoration: none
}

.word-iconlink {
    color: #7E13AB;
    padding: 1px 0;
    padding-left: 24px;
    background: url(/images/common/icon_word.svg) 3px 50% no-repeat;
    background-size: 13px 15px;
    text-decoration: underline
}

.word-iconlink:hover {
    text-decoration: none
}

.zip-iconlink {
    color: #7E13AB;
    padding: 1px 0;
    padding-left: 24px;
    background: url(/images/common/icon_zip.svg) 3px 50% no-repeat;
    background-size: 13px 15px;
    text-decoration: underline
}

.zip-iconlink:hover {
    text-decoration: none
}

.img-iconlink {
    color: #7E13AB;
    padding: 1px 0;
    padding-left: 24px;
    background: url(/images/common/icon_img.svg) 3px 50% no-repeat;
    background-size: 13px 15px;
    text-decoration: underline
}

.img-iconlink:hover {
    text-decoration: none
}

.btn-wrap {
    margin-bottom: 30px
}

@media screen and (max-width: 520px) {
    .btn-wrap {
        margin-bottom: 25px
    }
}

.btn-wrap02 {
    margin-bottom: 80px
}

@media screen and (max-width: 520px) {
    .btn-wrap02 {
        margin-bottom: 50px
    }
}

.btn-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 8px
}

.btn-list li {
    width: 320px;
    margin: 0 22px 22px 0
}

@media screen and (max-width: 520px) {
    .btn-list li {
        width: 100%;
        margin: 0 0px 20px 0
    }
}

.btn-rss {
    display: inline-block;
    border-radius: 3px;
    color: #fff;
    white-space: nowrap;
    font-size: .8125rem;
    line-height: 1;
    padding: 6px 10px 6px 25px;
    background: #4D4D4D url(/images/common/icon_rss_w.svg) 10px 50% no-repeat;
    background-size: 11px 11px
}

.btn-rss:hover {
    color: #fff;
    background-color: #606 !important
}

.btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 380px;
    padding: 5px 35px;
    border: 1px solid transparent;
    background-color: #606;
    font-size: .875rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
    color: #fff !important;
    text-decoration: none;
    min-height: 60px
}

.btn:hover {
    background-color: #4F004F
}

@media screen and (max-width: 520px) {
    .btn {
        max-width: inherit;
        font-size: 14px
    }
}

.btn.btn-arrow::before {
    content: "";
    position: absolute;
    top: calc(50% - 3px);
    right: 20px;
    width: 6px;
    height: 6px;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-135deg)
}

.btn.btn-blank::before {
    content: "";
    position: absolute;
    top: calc(50% - 7px) !important;
    right: 19px;
    width: 14px;
    height: 14px;
    background: url(/images/common/icon_otherlink_w.svg) 0 0 no-repeat;
    background-size: 100% 100%;
    border: none !important;
    transform: rotate(0) !important
}

.btn-type01 {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 5px 45px 5px 15px;
    border: 1px solid #DDDDDD;
    background-color: #fff;
    font-size: .875rem;
    font-weight: 700;
    text-align: left;
    line-height: 1.4;
    color: #1A1A1A;
    text-decoration: none;
    min-height: 60px
}

.btn-type01:hover {
    color: #7E13AB
}

@media screen and (max-width: 520px) {
    .btn-type01 {
        font-size: 13px;
        min-height: 70px
    }
}

.btn-type01.btn-arrow::before {
    content: "";
    position: absolute;
    top: calc(50% - 13px);
    right: 10px;
    width: 25px;
    height: 25px;
    background: url(/images/common/arror_r01_w.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

@media screen and (max-width: 520px) {
    .btn-type01.btn-arrow::before {
        right: 10px
    }
}

.btn-type01.btn-arrow:hover::before {
    background: url(/images/common/arror_r01_hover.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.btn-type01.btn-blank::before {
    content: "";
    position: absolute;
    top: calc(50% - 7px);
    right: 19px;
    width: 14px;
    height: 14px;
    background: url(/images/common/icon_otherlink.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

@media screen and (max-width: 520px) {
    .btn-type01.btn-blank::before {
        right: 10px
    }
}

.btn-type01.btn-blank:hover::before {
    background: url(/images/common/icon_otherlink_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.btn-type02 {
    display: block;
    width: 100%;
    min-height: 75px;
    padding: 10px 20px 10px 50px !important;
    display: flex;
    align-items: center;
    color: #1A1A1A;
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.5;
    background: #F7F7F7 url(/images/common/arror_r01_alpha_b.svg) 15px 50% no-repeat !important;
    background-size: 25px 25px !important;
    border-bottom: 2px solid #DDDDDD
}

.btn-type02:hover {
    color: #7E13AB;
    background: #F7F7F7 url(/images/common/arror_r01_hover.svg) 15px 50% no-repeat !important;
    background-size: 25px 25px !important;
    border-color: #606
}

.btn-type02.blank-iconlink {
    color: #1A1A1A;
    text-decoration: none
}

.btn-type02.blank-iconlink span::after {
    content: " ";
    display: inline-block;
    position: relative;
    top: 1px;
    width: 13px;
    height: 13px;
    margin-left: 4px;
    background: url(/images/common/icon_otherlink.svg) 0 0 no-repeat;
    background-size: 13px 13px
}

.btn-type02.blank-iconlink:hover {
    color: #7E13AB
}

.btn-type02.blank-iconlink:hover span::after {
    background: url(/images/common/icon_otherlink_purple.svg) 0 0 no-repeat;
    background-size: 13px 13px
}

.page-ttl {
    position: relative;
    width: 100%;
    max-width: 1200px;
    padding: 35px 50px 60px;
    margin: 0 auto
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .page-ttl {
        padding: 35px 20px 60px
    }
}

@media screen and (max-width: 520px) {
    .page-ttl {
        padding: 25px 15px 45px
    }
}

.page-ttl__category {
    font-size: .8125rem;
    font-weight: 400;
    margin-bottom: 20px
}

@media screen and (max-width: 520px) {
    .page-ttl__category {
        font-size: 12px;
        margin-bottom: 0px
    }
}

.page-ttl__ttl {
    font-size: 2.125rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 20px
}

@media screen and (max-width: 520px) {
    .page-ttl__ttl {
        font-size: 27px;
        line-height: 1.4;
        margin-bottom: 0px;
        margin-top: 10px
    }
}

.page-ttl__desc {
    font-size: .875rem;
    font-weight: 400
}

@media screen and (max-width: 520px) {
    .page-ttl__desc {
        font-size: 13px;
        margin-top: 10px
    }
}

.page-ky-ttl {
    position: relative;
    height: 460px;
    margin-bottom: 80px
}

@media screen and (max-width: 520px) {
    .page-ky-ttl {
        height: 320px;
        margin-bottom: 40px
    }
}

.page-ky-ttl::before {
    content: " ";
    display: block;
    min-width: 700px;
    width: 50%;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    background: linear-gradient(to right, #1a1a1a, #1a1a1a 6%, rgba(26, 26, 26, 0))
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .page-ky-ttl::before {
        min-width: inherit;
        width: 90%
    }
}

@media screen and (max-width: 520px) {
    .page-ky-ttl::before {
        min-width: inherit;
        width: 100%;
        height: 60%;
        top: inherit;
        bottom: 0;
        background: linear-gradient(rgba(26, 26, 26, 0), #1a1a1a 90%, #1a1a1a)
    }
}

@media screen and (max-width: 520px) {
    .page-ky-ttl::after {
        content: " ";
        display: block;
        width: 100%;
        height: 100px;
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        background: linear-gradient(rgba(26, 26, 26, 0.8), rgba(26, 26, 26, 0))
    }
}

.page-ky-ttl__inner {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    max-width: 1200px;
    padding: 0px 50px;
    margin: 0 auto
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .page-ky-ttl__inner {
        padding: 0px 20px
    }
}

@media screen and (max-width: 520px) {
    .page-ky-ttl__inner {
        padding: 0px 15px 25px;
        align-items: flex-end
    }
}

.page-ky-ttl__ph {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    line-height: 0;
    width: 100%;
    height: 100%
}

.page-ky-ttl__ph img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    object-position: center center
}

.page-ky-ttl .page-ttl {
    position: relative;
    z-index: 5;
    display: block;
    padding: 0 !important;
    margin: 0 !important;
    color: #fff
}

.ttl-type01-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    padding: 0px 50px;
    margin: 0 auto 40px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .ttl-type01-wrap {
        padding: 0px 20px;
        margin-bottom: 25px
    }
}

@media screen and (max-width: 520px) {
    .ttl-type01-wrap {
        padding: 0px 15px;
        margin-bottom: 20px
    }
}

.ttl-type01 {
    position: relative;
    z-index: 2;
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.17em;
    margin: 0
}

.ttl-type01__eng {
    font-family: 'Lato', sans-serif;
    font-style: italic;
    font-size: .875rem;
    font-weight: 700;
    color: #606;
    letter-spacing: 0.05em;
    padding-left: 0.5em
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .ttl-type01 {
        font-size: 26px;
        letter-spacing: 0.13em
    }

    .ttl-type01__eng {
        font-size: 12px
    }
}

@media screen and (max-width: 520px) {
    .ttl-type01 {
        font-size: 24px;
        letter-spacing: 0.13em
    }

    .ttl-type01__eng {
        font-size: 12px
    }
}

.ttl-type01-linkbox {
    display: flex;
    align-items: center;
    padding-top: 5px
}

.ttl-type01-linkbox ul {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center
}

.ttl-type01-linkbox ul li {
    margin-left: 24px
}

.ttl-type01-linkbox .btn-rss {
    position: relative;
    z-index: 3;
    margin-left: 20px
}

.ttl-type02 {
    position: relative;
    z-index: 2;
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-size: 1.5625rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.45;
    margin-bottom: 20px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .ttl-type02 {
        font-size: 25px
    }
}

@media screen and (max-width: 520px) {
    .ttl-type02 {
        font-size: 22px
    }
}

.ttl-type03 {
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-size: 1.4375rem;
    font-weight: 500;
    line-height: 1.5;
    padding-left: 27px;
    background: url(/images/common/icon_en_purple.svg) 0 0.43em no-repeat;
    background-size: 17px 17px;
    margin-bottom: 20px
}

.ttl-type03.no-mark {
    background: none;
    padding-left: 0px !important
}

@media screen and (max-width: 520px) {
    .ttl-type03 {
        background-size: 15px 15px !important;
        font-size: 20px;
        padding-left: 25px;
        margin-bottom: 20px
    }
}

.ttl-type-line01 {
    position: relative;
    z-index: 2;
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.45;
    padding-top: 30px;
    margin-bottom: 30px
}

.ttl-type-line01::before {
    content: " ";
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #DDDDDD
}

.ttl-type-line01::after {
    content: " ";
    display: block;
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100px;
    height: 1px;
    background: #606
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .ttl-type-line01 {
        font-size: 28px
    }
}

@media screen and (max-width: 520px) {
    .ttl-type-line01 {
        padding-top: 25px;
        font-size: 25px;
        margin-bottom: 30px
    }
}

.ttl-type-line02 {
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    font-size: 1.4375rem;
    font-weight: 500;
    line-height: 1.5;
    background: #F0F0F0;
    padding: 15px 15px 15px 22px;
    border-left: 1px solid #606;
    margin-bottom: 25px
}

@media screen and (max-width: 520px) {
    .ttl-type-line02 {
        font-size: 20px;
        padding: 13px 10px 13px 20px;
        margin-bottom: 20px
    }
}

.ttl-type04 {
    position: relative;
    color: #1A1A1A;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.5;
    padding-left: 25px;
    margin-bottom: 15px
}

.ttl-type04::before {
    content: " ";
    display: block;
    width: 15px;
    height: 2px;
    background: #606;
    position: absolute;
    top: 0.7em;
    left: 0
}

@media screen and (max-width: 520px) {
    .ttl-type04 {
        font-size: 17px;
        margin-bottom: 10px
    }
}

.ttl-type05 {
    position: relative;
    color: #606;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 15px
}

@media screen and (max-width: 520px) {
    .ttl-type05 {
        font-size: 17px;
        margin-bottom: 10px
    }
}

ul.nomark-list {
    margin-bottom: 40px
}

ul.nomark-list>li {
    margin-bottom: 10px
}

@media screen and (max-width: 520px) {
    ul.nomark-list {
        margin-bottom: 30px
    }
}

ul.basic-list>li {
    margin-left: 1.5em;
    list-style-type: disc;
    margin-bottom: 10px
}

ol.basic-list>li {
    margin-left: 1.5em;
    list-style-type: decimal;
    margin-bottom: 10px
}

ol.basic-list>li ul.basic-list {
    margin-bottom: 15px
}

ol.basic-list>li ul.basic-list>li {
    margin-bottom: 5px
}

ol.alpha-list>li {
    margin-left: 1.5em;
    list-style-type: lower-alpha;
    margin-bottom: 10px
}

ol.alpha-list>li ul.basic-list {
    margin-bottom: 15px
}

ol.alpha-list>li ul.basic-list>li {
    margin-bottom: 5px
}

ol.iroha-list>li {
    margin-left: 1.5em;
    list-style-type: katakana-iroha;
    margin-bottom: 10px
}

ol.iroha-list>li ul.basic-list {
    margin-bottom: 15px
}

ol.iroha-list>li ul.basic-list>li {
    margin-bottom: 5px
}

ol.bracket-num-list>li {
    padding-left: 2.5em;
    position: relative;
    list-style-type: none;
    counter-increment: cnt
}

ol.bracket-num-list>li::before {
    content: "(" counter(cnt) ")";
    display: inline-block;
    position: absolute;
    left: -0.5em;
    width: 2.5em;
    text-align: right
}

.anchor-list-wrap {
    margin-bottom: 70px
}

@media screen and (max-width: 520px) {
    .anchor-list-wrap {
        margin-bottom: 50px
    }
}

.anchor-list {
    position: relative;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    background: #fff
}

.anchor-list li {
    width: 20%;
    border-right: 1px solid #fff;
    border-left: 1px solid #fff;
    border-bottom: 2px solid #fff
}

.anchor-list li a {
    position: relative;
    display: flex;
    align-items: center;
    padding: 10px 40px 10px 10px;
    min-height: 68px;
    background: #F5F5F5
}

.anchor-list li a::after {
    position: absolute;
    top: 50%;
    right: 16px;
    bottom: 0;
    margin-top: -5px;
    width: 6px;
    height: 6px;
    border-left: 1px solid #000000;
    border-bottom: 1px solid #000000;
    transform: rotate(-45deg);
    content: ""
}

.anchor-list li a figure {
    position: relative;
    line-height: 0;
    width: 64px;
    height: 64px
}

.anchor-list li a figure img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
    object-position: center center;
    backface-visibility: hidden
}

.anchor-list li a p {
    width: auto;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0
}

.anchor-list li a figure+p {
    width: calc(100% - 64px);
    padding-left: 15px;
    font-size: .875rem
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .anchor-list li {
        width: 25%
    }

    .anchor-list li a {
        padding: 10px 35px 10px 10px
    }

    .anchor-list li a figure {
        width: 50px;
        height: 50px
    }

    .anchor-list li a p {
        font-size: 12px
    }

    .anchor-list li a figure+p {
        width: calc(100% - 50px);
        padding-left: 10px
    }
}

@media screen and (max-width: 520px) {
    .anchor-list li {
        width: 50% !important
    }

    .anchor-list li a {
        padding: 5px 35px 5px 15px
    }

    .anchor-list li a figure {
        display: none
    }

    .anchor-list li a p {
        width: auto !important;
        padding-left: 0px !important;
        font-size: 13px
    }
}

.anchor-list.anchor-list-4column li {
    width: 25%
}

.anchor-list.anchor-list-3column li {
    width: 33.333%
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .anchor-list.anchor-list-3column li {
        width: 33.333%
    }
}

.anchor-list.anchor-list-2column li {
    width: 50%
}

@media screen and (max-width: 520px) {
    .anchor-list.anchor-list-2column li {
        width: 100% !important
    }
}

.link-list-ph-large,
.link-list-ph {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -12px 31px
}

.link-list-ph-large li,
.link-list-ph li {
    position: relative;
    width: calc(33.333% - 24px);
    margin: 0 12px 20px;
    background: #fff;
    border-left: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    border-top: 1px solid #DDDDDD
}

.link-list-ph-large li figure,
.link-list-ph li figure {
    position: relative;
    overflow: hidden;
    line-height: 0
}

.link-list-ph-large li figure::before,
.link-list-ph li figure::before {
    content: " ";
    display: block;
    width: 100%;
    padding-top: 61.596%
}

.link-list-ph-large li figure img,
.link-list-ph li figure img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    object-fit: cover;
    object-position: center center
}

.link-list-ph-large li span,
.link-list-ph li span {
    display: flex;
    align-items: center;
    min-height: 60px;
    padding: 5px 40px 5px 15px;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1.4
}

.link-list-ph-large li a,
.link-list-ph li a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0 !important;
    background: #fff !important
}

.link-list-ph-large li a span,
.link-list-ph li a span {
    background: url(/images/common/arror_r01_w.svg) calc(100% - 10px) 50% no-repeat;
    background-size: 25px 25px
}

.link-list-ph-large li a:hover span,
.link-list-ph li a:hover span {
    background: url(/images/common/arror_r01_hover.svg) calc(100% - 10px) 50% no-repeat;
    background-size: 25px 25px
}

.link-list-ph-large li a:hover figure img,
.link-list-ph li a:hover figure img {
    transform: translate(-50%, -50%) scale(1.1)
}

.link-list-ph-large li a.blank-iconlink,
.link-list-ph li a.blank-iconlink {
    color: #1A1A1A;
    text-decoration: none
}

.link-list-ph-large li a.blank-iconlink span,
.link-list-ph li a.blank-iconlink span {
    background: url(/images/common/icon_otherlink02.svg) calc(100% - 13px) 50% no-repeat;
    background-size: 17px 17px !important
}

.link-list-ph-large li a.blank-iconlink:hover,
.link-list-ph li a.blank-iconlink:hover {
    color: #7E13AB
}

.link-list-ph-large li a.blank-iconlink:hover span,
.link-list-ph li a.blank-iconlink:hover span {
    background: url(/images/common/icon_otherlink02_purple.svg) calc(100% - 13px) 50% no-repeat
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .link-list-ph-large {
        margin: 0 -5px 20px
    }

    .link-list-ph-large li {
        width: calc(50% - 10px);
        margin: 0 5px 10px
    }

    .link-list-ph-large li a span {
        min-height: 50px;
        padding-left: 10px;
        font-size: 13px;
        background-size: 20px 20px
    }

    .link-list-ph-large li a:hover span {
        background-size: 20px 20px
    }

    .link-list-ph-large li a[target="_blank"] span {
        background-position: calc(100% - 10px) 50% !important
    }
}

@media screen and (max-width: 520px) {
    .link-list-ph-large {
        border-top: 1px solid #DDDDDD;
        margin: 0 0px 20px;
        display: block
    }

    .link-list-ph-large li {
        width: auto;
        margin: -1px 0 0 0
    }

    .link-list-ph-large li a {
        display: flex
    }

    .link-list-ph-large li a figure {
        width: 130px
    }

    .link-list-ph-large li a span {
        width: calc(100% - 130px);
        min-height: 50px;
        padding-left: 14px;
        font-size: 13px;
        background-size: 20px 20px
    }

    .link-list-ph-large li a:hover span {
        background-size: 20px 20px
    }

    .link-list-ph-large li a[target="_blank"] span {
        background-position: calc(100% - 10px) 50% !important
    }
}

.link-list-ph li {
    width: calc(25% - 24px)
}

@media screen and (max-width: 960px) {
    .link-list-ph {
        border-top: 1px solid #DDDDDD;
        margin: 0 0px 20px;
        display: block
    }

    .link-list-ph li {
        width: auto;
        margin: -1px 0 0 0
    }

    .link-list-ph li a {
        display: flex
    }

    .link-list-ph li a figure {
        width: 130px
    }

    .link-list-ph li span {
        width: calc(100% - 130px);
        min-height: 50px;
        padding-left: 14px;
        font-size: 13px;
        background-size: 20px 20px !important
    }
}

.link-list-ph02 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -12px 31px
}

.link-list-ph02 li {
    position: relative;
    width: calc(25% - 24px);
    margin: 0 12px 30px;
    background: #fff;
    text-align: center
}

.link-list-ph02 li figure {
    position: relative;
    overflow: hidden;
    line-height: 0;
    margin: 0 0 10px 0
}

.link-list-ph02 li figure img {
    width: 100%;
    border: 1px solid #DDDDDD;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

.link-list-ph02 li figure a {
    display: block
}

.link-list-ph02 li figure a:hover img {
    opacity: 0.7
}

.link-list-ph02 li figure:last-child {
    margin-bottom: 0 !important
}

.link-list-ph02 li a {
    color: #7E13AB;
    text-decoration: underline
}

.link-list-ph02 li a:hover {
    text-decoration: none
}

.link-list-ph02 li div {
    margin-top: 6px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .link-list-ph02 {
        margin: 0 -5px 20px
    }

    .link-list-ph02 li {
        width: calc(33.333% - 10px);
        margin: 0 5px 30px
    }
}

@media screen and (max-width: 520px) {
    .link-list-ph02 {
        margin: 0 -5px 20px
    }

    .link-list-ph02 li {
        width: calc(50% - 10px);
        margin: 0 5px 30px
    }
}

.link-list-ph03 {
    border-left: 1px solid #DDDDDD;
    display: flex;
    flex-wrap: wrap;
    margin: 30px 0 30px
}

.link-list-ph03 li {
    position: relative;
    width: 25%;
    margin: -1px 0 0 0;
    background: #fff;
    padding: 9px;
    border-top: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD
}

.link-list-ph03 li figure {
    position: relative;
    overflow: hidden;
    line-height: 0;
    margin: 0
}

.link-list-ph03 li figure img {
    width: 100%
}

.link-list-ph03 li dl dt {
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.2;
    padding-top: 18px;
    margin-bottom: 12px
}

.link-list-ph03 li dl dd {
    text-align: left
}

.link-list-ph03 li dl dd p {
    margin: 0 0 5px 0
}

.link-list-ph03 li dl dd p a+a {
    margin-left: 10px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .link-list-ph03 li {
        width: 33.3333%;
        padding: 8px
    }

    .link-list-ph03 li dl dt {
        font-size: 14px
    }

    .link-list-ph03 li dl dd p {
        font-size: 13px
    }

    .link-list-ph03 li dl dd p a+a {
        margin-left: 7px
    }
}

@media screen and (max-width: 520px) {
    .link-list-ph03 li {
        width: 50%;
        padding: 8px
    }

    .link-list-ph03 li dl dt {
        font-size: 14px
    }

    .link-list-ph03 li dl dd p {
        font-size: 14px
    }

    .link-list-ph03 li dl dd p a+a {
        margin-left: 7px
    }
}

.tab-link-list-wrap {
    position: relative;
    margin-bottom: 40px
}

@media screen and (max-width: 520px) {
    .tab-link-list-wrap {
        overflow: auto;
        overflow-x: scroll;
        padding-bottom: 0px;
        margin-bottom: 25px
    }

    .tab-link-list-wrap::-webkit-scrollbar {
        width: 2px;
        height: 2px
    }

    .tab-link-list-wrap::-webkit-scrollbar-track {
        background-color: #DDDDDD
    }

    .tab-link-list-wrap::-webkit-scrollbar-thumb {
        background-color: #4D4D4D
    }
}

@media screen and (min-width: 521px) {
    .tab-link-list {
        display: flex;
        flex-wrap: wrap;
        margin: 0 -5px
    }

    .tab-link-list li {
        width: calc(20% - 10px);
        min-height: 70px;
        margin: 0 5px 10px;
        border-bottom: 1px solid #1A1A1A
    }

    .tab-link-list li a {
        display: flex;
        align-items: center;
        width: 100%;
        height: 100%;
        padding: 5px 10px;
        color: #888888;
        font-size: .9375rem;
        font-weight: 400;
        line-height: 1.4
    }

    .tab-link-list li a:hover {
        color: #1A1A1A
    }

    .tab-link-list li.current a {
        color: #1A1A1A;
        font-weight: 700;
        pointer-events: none
    }
}

@media screen and (max-width: 520px) {
    .tab-link-list {
        display: flex;
        margin: 0;
        width: 100%
    }

    .tab-link-list li {
        margin: 0 10px 0 0
    }

    .tab-link-list li a {
        position: relative;
        display: block;
        text-align: center;
        width: 100%;
        min-height: 70px;
        white-space: nowrap;
        padding: 28px 15px 5px 15px;
        color: #888888;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.4
    }

    .tab-link-list li.current a {
        color: #1A1A1A;
        font-weight: 700;
        pointer-events: none
    }
}

@media screen and (max-width: 520px) {
    .inner .tab-link-list-wrap {
        margin-left: -15px;
        margin-right: -15px
    }
}

.link-list01 {
    margin: 40px 0
}

.link-list01 li {
    margin: 0 0 20px
}

@media screen and (max-width: 520px) {
    .link-list01 {
        margin: 40px 0px
    }

    .link-list01 li {
        width: auto;
        margin: -1px 0px 0px 0
    }
}

.link-list02 {
    display: flex;
    flex-wrap: wrap;
    margin: 40px -12px
}

.link-list02 li {
    width: calc(50% - 24px);
    margin: 0 12px 20px
}

@media screen and (max-width: 520px) {
    .link-list02 {
        display: block;
        margin: 40px 0px
    }

    .link-list02 li {
        width: auto;
        margin: -1px 0px 0px 0
    }
}

.link-list03 {
    display: flex;
    flex-wrap: wrap;
    margin: 40px -12px
}

.link-list03 li {
    width: calc(33.333% - 24px);
    margin: 0 12px 20px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .link-list03 li {
        width: calc(50% - 24px)
    }
}

@media screen and (max-width: 520px) {
    .link-list03 {
        display: block;
        margin: 40px 0px
    }

    .link-list03 li {
        width: auto;
        margin: -1px 0px 0px 0
    }
}

.link-list04 {
    display: flex;
    flex-wrap: wrap;
    margin: 40px -12px
}

.link-list04 li {
    width: calc(25% - 24px);
    margin: 0 12px 20px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .link-list04 li {
        width: calc(50% - 24px)
    }
}

@media screen and (max-width: 520px) {
    .link-list04 {
        display: block;
        margin: 40px 0px
    }

    .link-list04 li {
        width: auto;
        margin: -1px 0px 0px 0
    }
}

.list-type01 {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px
}

.list-type01>li {
    position: relative;
    width: 25%;
    line-height: 1.35;
    margin-bottom: 13px;
    padding-right: 20px;
    padding-left: 12px
}

.list-type01>li::before {
    content: "";
    position: absolute;
    top: 0.5em;
    left: 0px;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #CCCCCC
}

@media screen and (max-width: 520px) {
    .list-type01>li {
        width: 50%;
        padding-right: 15px
    }
}

.list-type02 {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
    margin-bottom: 40px;
    background: #F5F5F5;
    padding: 20px 5px 10px 20px
}

.list-type02>li {
    position: relative;
    line-height: 1.35;
    margin: 0 15px 10px 0;
    padding-left: 12px;
    color: #4D4D4D
}

.list-type02>li::before {
    content: "";
    position: absolute;
    top: 0.5em;
    left: 0px;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: #CCCCCC
}

@media screen and (max-width: 520px) {
    .list-type02 {
        margin-top: 30px;
        margin-bottom: 30px
    }

    .list-type02>li {
        font-size: 14px
    }
}

.list-type03 {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px
}

.list-type03>li {
    position: relative;
    width: 33.333%;
    line-height: 1.35;
    margin-bottom: 20px;
    padding-right: 20px
}

@media screen and (max-width: 520px) {
    .list-type03>li {
        width: 50%
    }
}

@media screen and (max-width: 520px) {
    .news-event-list-contents .news-event-header-area ul {
        width: calc(100% + 30px);
        margin: 0 -15px 20px
    }

    .news-event-list-contents .news-list {
        margin-left: -15px;
        margin-right: -15px
    }
}

.news-list-wrap.original-custom {
    overflow: hidden;
    margin: 0 auto
}

@media screen and (max-width: 520px) {
    .news-list-wrap.original-custom {
        margin-bottom: -1px
    }
}

.news-list {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    border-top: 1px solid #DDDDDD;
    border-left: 1px solid #DDDDDD;
    background: #fff;
    max-width: 1280px;
    margin: 0 auto
}

.news-list.news-list-line-none {
    border-left: none
}

.news-list.news-list-line-none .news-list__item {
    border-right: none
}

.news-list.original-custom {
    border-left: none
}

.news-list.original-custom .news-list__item {
    border-right: none
}

.news-list.original-custom .news-list__item a {
    padding-left: 0;
    padding-right: 0
}

@media screen and (min-width: 521px) {
    .news-list.original-custom {
        border-top: none
    }

    .news-list.original-custom .news-list__item {
        width: calc(33.333% - 22px);
        margin-right: 33px;
        margin-bottom: 30px;
        border-bottom: none
    }

    .news-list.original-custom .news-list__item:nth-child(3n) {
        margin-right: 0
    }

    .news-list.original-custom .news-list__item a {
        padding: 0 0 0 0 !important
    }

    .news-list.original-custom .news-list__item a.blank-iconlink::after {
        display: none
    }

    .news-list.original-custom .news-list__item a.blank-iconlink .news-list__more-text {
        padding-right: 20px;
        background: url(/images/common/icon_otherlink.svg) 100% 50% no-repeat;
        background-size: 13px 13px
    }
}

.news-list__item {
    position: relative;
    width: 50%;
    border-right: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD
}

.news-list__item a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 12px;
    color: #1A1A1A
}

@media screen and (max-width: 520px) {
    .news-list__item a {
        padding: 15px
    }
}

@media screen and (min-width: 961px) {
    .news-list__item a:hover .news-list__ph img {
        transform: translate(-50%, -50%) scale(1.1)
    }

    .news-list__item a:hover .news-list__info h3 {
        color: #606
    }
}

.news-list__item a.blank-iconlink {
    color: #1A1A1A;
    padding: 12px;
    background: none !important;
    text-decoration: none
}

.news-list__item a.blank-iconlink::after {
    content: " ";
    display: block;
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 13px;
    height: 13px;
    background: url(/images/common/icon_otherlink.svg) 0 0 no-repeat;
    background-size: 13px 13px
}

.news-list__item a.blank-iconlink:hover::after {
    background: url(/images/common/icon_otherlink_purple.svg) 0 0 no-repeat;
    background-size: 13px 13px
}

@media screen and (max-width: 520px) {
    .news-list__item a.blank-iconlink {
        padding: 15px
    }
}

.news-list__item .news-list__ph {
    position: relative;
    line-height: 0;
    overflow: hidden
}

.news-list__item .news-list__ph::before {
    content: " ";
    display: block;
    width: 100%;
    padding-top: 56.25%
}

.news-list__item .news-list__ph img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    object-fit: cover;
    object-position: center center
}

.news-list__item .news-list__info {
    padding-top: 15px;
    margin-bottom: 12px
}

.news-list__item .news-list__info dl {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 3px
}

.news-list__item .news-list__info dl dt {
    font-family: 'Lato', sans-serif;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1;
    margin: 0 10px 5px 0
}

.news-list__item .news-list__info dl dd {
    margin: 0 0 5px 0
}

.news-list__item .news-list__info h3 {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 10px
}

.news-list__item .news-list__external-text {
    font-size: .8125rem
}

.news-list__item .news-list__tag {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 13px;
    margin-bottom: 13px
}

.news-list__item .news-list__tag i {
    font-style: normal;
    display: block;
    font-size: .75rem;
    color: #666666;
    line-height: 1;
    border-radius: 20px;
    border: 1px solid #E6E6E6;
    padding: 6px 10px;
    margin: 0 3px 3px 0
}

.news-list__item .news-list__more-text {
    display: block;
    position: relative;
    text-align: right;
    color: #7E13AB;
    font-size: .75rem;
    line-height: 1.1
}

.news-list__item .news-list__more-text span {
    text-decoration: underline
}

@media screen and (max-width: 520px) {
    .news-list__item .news-list__more-text {
        display: none
    }
}

.news-list__item .news-list__category {
    font-size: .875rem;
    color: #666666;
    line-height: 1.3;
    margin-top: 10px;
    margin-bottom: 10px
}

@media screen and (max-width: 520px) {
    .news-list__item .news-list__category {
        font-size: 13px
    }
}

.news-list__item.news-list__item-type-m {
    width: 33.333%
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .news-list__item.news-list__item-type-m .news-list__ph::before {
        padding-top: 226px
    }
}

@media screen and (max-width: 520px) {
    .news-list__item.news-list__item-type-m {
        width: 100%
    }

    .news-list__item.news-list__item-type-m a {
        display: flex;
        align-items: flex-start
    }

    .news-list__item.news-list__item-type-m a .news-list__ph {
        width: 130px;
        height: 130px
    }

    .news-list__item.news-list__item-type-m a .news-list__info {
        width: calc(100% - 130px);
        padding: 0 0 10px 10px;
        margin-bottom: 0
    }

    .news-list__item.news-list__item-type-m a .news-list__info dl {
        display: flex;
        align-items: center;
        margin-bottom: 8px
    }

    .news-list__item.news-list__item-type-m a .news-list__info dl dt {
        font-size: 13px
    }

    .news-list__item.news-list__item-type-m a .news-list__info h3 {
        font-size: 14px;
        line-height: 1.65
    }

    .news-list__item.news-list__item-type-m a .news-list__info dl:last-child,
    .news-list__item.news-list__item-type-m a .news-list__info h3:last-child,
    .news-list__item.news-list__item-type-m a .news-list__info .news-list__tag:last-child {
        margin-bottom: 0 !important
    }

    .news-list__item.news-list__item-type-m a .news-list__external-text {
        font-size: 13px
    }

    .news-list__item.news-list__item-type-m a .news-list__tag {
        margin-right: -3px
    }

    .news-list__item.news-list__item-type-m a .news-list__tag i {
        padding: 5px 8px
    }
}

.news-list__item.news-list__item-type-s {
    width: 50%
}

@media screen and (max-width: 520px) {
    .news-list__item.news-list__item-type-s {
        width: 100%
    }

    .news-list__item.news-list__item-type-s .news-list__info {
        padding-top: 5px;
        margin-bottom: 10px
    }
}

.news-list__item.news-list__item-type-s100 {
    width: 100%
}

.news-list__item.news-list__item-type-s100 .news-list__external-text {
    position: absolute;
    right: 35px;
    bottom: 13px;
    line-height: 1
}

@media screen and (max-width: 960px) {
    .news-list__item.news-list__item-type-s100 {
        width: 100%
    }

    .news-list__item.news-list__item-type-s100 .news-list__external-text {
        position: static;
        line-height: 1.3;
        margin-top: 15px
    }

    .news-list__item.news-list__item-type-s100 .news-list__info {
        padding-top: 5px;
        margin-bottom: 10px
    }
}

.news-list-type01 {
    border-top: 1px solid #DDDDDD;
    margin-bottom: 80px
}

.news-list-type01>li {
    border-bottom: 1px solid #DDDDDD;
    margin: 0
}

.news-list-type01>li .news-list-type01__link {
    display: flex;
    align-items: flex-start;
    padding: 20px 10px;
    color: #1A1A1A
}

@media screen and (min-width: 961px) {
    .news-list-type01>li .news-list-type01__link:hover .news-list-type01__text {
        color: #606
    }
}

.news-list-type01>li .news-list-type01__date {
    display: flex;
    align-items: center;
    min-width: 220px
}

.news-list-type01>li .news-list-type01__date dt {
    white-space: nowrap;
    font-family: 'Lato', sans-serif;
    font-size: .875rem;
    font-weight: 400;
    padding-right: 6px;
    min-width: 123px
}

.news-list-type01>li .news-list-type01__date dd .news-icon01,
.news-list-type01>li .news-list-type01__date dd .news-icon02,
.news-list-type01>li .news-list-type01__date dd .news-icon03,
.news-list-type01>li .news-list-type01__date dd .news-icon04 {
    min-width: 95px;
    padding-left: 5px;
    padding-right: 5px
}

.news-list-type01>li .news-list-type01__date.no-icon {
    min-width: 125px
}

.news-list-type01>li .news-list-type01__date.no-icon dd {
    display: none
}

.news-list-type01>li .news-list-type01__text {
    width: 100%;
    padding-left: 10px;
    font-weight: 700
}

.news-list-type01>li .news-list-type01__text p {
    display: inline-block
}

.news-list-type01>li .news-list-type01__external-text {
    position: absolute;
    right: 35px;
    bottom: 20px;
    font-size: .8125rem;
    font-weight: 400;
    line-height: 1
}

.news-list-type01>li .news-list-type01__tag {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 10px
}

.news-list-type01>li .news-list-type01__tag i {
    font-style: normal;
    display: block;
    font-size: .75rem;
    color: #666666;
    line-height: 1;
    border-radius: 20px;
    border: 1px solid #E6E6E6;
    padding: 6px 10px;
    margin: 0 3px 3px 0
}

.news-list-type01>li a.blank-iconlink {
    position: relative;
    color: #1A1A1A;
    text-decoration: none;
    padding: 20px 10px 40px;
    background: url(/images/common/icon_otherlink.svg) calc(100% - 10px) calc(100% - 20px) no-repeat;
    background-size: 13px 13px
}

.news-list-type01>li a.blank-iconlink:hover .news-list-type01__text {
    color: #606
}

@media screen and (max-width: 960px) {
    .news-list-type01 {
        margin-bottom: 0px
    }

    .news-list-type01>li .news-list-type01__link {
        display: block;
        padding: 15px 10px;
        min-height: inherit
    }

    .news-list-type01>li .news-list-type01__date {
        width: auto;
        margin-bottom: 7px
    }

    .news-list-type01>li .news-list-type01__date dt {
        padding-right: 10px;
        min-width: auto
    }

    .news-list-type01>li .news-list-type01__text {
        width: auto;
        padding-left: 0px
    }

    .news-list-type01>li .news-list-type01__external-text {
        position: static;
        margin-top: 10px
    }

    .news-list-type01>li .news-list-type01__tag {
        margin-top: 15px
    }

    .news-list-type01>li a.blank-iconlink {
        padding: 15px 10px 40px;
        background-position: calc(100% - 10px) calc(100% - 15px)
    }
}

.interview-list,
.content-block .interview-list {
    margin-bottom: 50px;
    border-top: 1px solid #DDDDDD
}

.interview-list>li,
.content-block .interview-list>li {
    margin: 0;
    padding: 30px 0;
    display: flex;
    border-bottom: 1px solid #DDDDDD
}

.interview-list__ph,
.content-block .interview-list__ph {
    line-height: 0;
    width: 200px;
    margin: 0;
    margin-right: 30px
}

.interview-list__ph img,
.content-block .interview-list__ph img {
    width: 100%;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

.interview-list__ph a:hover img,
.content-block .interview-list__ph a:hover img {
    opacity: 0.7
}

.interview-list__info,
.content-block .interview-list__info {
    width: calc(100% - 230px)
}

.interview-list__info p,
.content-block .interview-list__info p {
    margin-bottom: 10px
}

.interview-list__info a,
.content-block .interview-list__info a {
    font-size: 1rem;
    font-weight: 700
}

.interview-list__info dl dt,
.content-block .interview-list__info dl dt {
    font-weight: 700;
    font-size: .875rem
}

.interview-list__info dl dd,
.content-block .interview-list__info dl dd {
    font-size: .8125rem
}

@media screen and (max-width: 520px) {

    .interview-list>li,
    .content-block .interview-list>li {
        padding: 15px 0
    }

    .interview-list__ph,
    .content-block .interview-list__ph {
        line-height: 0;
        width: 140px;
        margin-right: 15px
    }

    .interview-list__info,
    .content-block .interview-list__info {
        width: calc(100% - 155px)
    }

    .interview-list__info p,
    .content-block .interview-list__info p {
        margin-bottom: 5px
    }

    .interview-list__info a,
    .content-block .interview-list__info a {
        font-size: 14px
    }

    .interview-list__info dl dt,
    .content-block .interview-list__info dl dt {
        font-size: 13px
    }

    .interview-list__info dl dd,
    .content-block .interview-list__info dl dd {
        font-size: 12px
    }
}

.news-list-type02 {
    border-top: 1px solid #DDDDDD;
    margin-bottom: 50px
}

.news-list-type02>li {
    border-bottom: 1px solid #DDDDDD;
    margin: 0;
    padding: 15px 0
}

.news-list-type02>li dl dt {
    margin-bottom: 5px
}

.news-list-type02>li dl dd a {
    color: #7E13AB;
    text-decoration: underline
}

.news-list-type02>li dl dd a:hover {
    text-decoration: none
}

.news-list-important-box {
    position: relative;
    z-index: 2;
    background: #F7F7F7;
    max-width: 1280px;
    margin: 0 auto 80px;
    padding: 0px 50px 1px
}

@media screen and (min-width: 521px) {
    .news-list-important-box.next-news-list-type01 {
        max-width: 1200px;
        background: #fff
    }

    .news-list-important-box.next-news-list-type01 .news-list-type01 {
        background: #F7F7F7
    }
}

.news-list-important-box .news-list-type01 {
    border-top: none;
    margin-bottom: 0
}

.news-list-important-box .news-list-type01>li a.blank-iconlink {
    padding: 20px 10px 20px;
    background: none
}

.news-list-important-box .news-list-type01>li a.blank-iconlink .news-list-type01__text {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center
}

.news-list-important-box .news-list-type01>li a.blank-iconlink .news-list-type01__external-text {
    position: static;
    line-height: 1.7;
    padding-left: 30px;
    padding-right: 20px;
    background: url(/images/common/icon_otherlink.svg) calc(100% - 1px) 50% no-repeat;
    background-size: 13px 13px;
    align-self: flex-end;
    margin-left: auto;
    margin-bottom: 2px
}

.news-list-important-box .news-list-type01>li:last-child {
    border-bottom: none
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .news-list-important-box {
        padding: 0px 20px 1px;
        margin-bottom: 60px
    }
}

@media screen and (max-width: 520px) {
    .news-list-important-box {
        padding: 0px 15px 1px;
        margin-bottom: 40px
    }
}

.qa-list-type01 {
    border-top: 1px solid #DDDDDD;
    margin-bottom: 50px
}

.qa-list-type01>li {
    border-bottom: 1px solid #DDDDDD;
    margin: 0;
    padding: 15px 0
}

.qa-list-type01>li dl dt {
    margin-bottom: 5px
}

.qa-list-type01>li dl dd a {
    color: #7E13AB;
    text-decoration: underline
}

.qa-list-type01>li dl dd a:hover {
    text-decoration: none
}

.definition-list {
    border-left: 1px solid #DDDDDD;
    display: flex;
    flex-wrap: wrap;
    margin: 30px 0 30px
}

.definition-list li {
    position: relative;
    width: 33.333%;
    margin: -1px 0 0 0;
    background: #fff;
    padding: 32px;
    border-top: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    text-align: left
}

.definition-list li dl dt {
    position: relative;
    color: #1A1A1A;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.5;
    padding-left: 25px;
    margin-bottom: 15px
}

.definition-list li dl dt::before {
    content: " ";
    display: block;
    width: 15px;
    height: 2px;
    background: #606;
    position: absolute;
    top: 0.7em;
    left: 0
}

.definition-list li dl dd p {
    margin-bottom: 20px
}

.definition-list li dl dd p:last-child {
    margin-bottom: 0
}

@media screen and (max-width: 520px) {
    .definition-list {
        display: block;
        border: none
    }

    .definition-list li {
        width: auto;
        padding: 25px 15px;
        border-right: none
    }

    .definition-list li dl dt {
        font-size: 17px
    }

    .definition-list li dl dd {
        font-size: 14px
    }
}

@media screen and (max-width: 520px) {
    .inner .definition-list {
        margin-left: -15px;
        margin-right: -15px
    }
}

.banner-list01 {
    margin: 40px 0
}

.banner-list01 li {
    margin: 0 0 10px
}

@media screen and (max-width: 520px) {
    .banner-list01 {
        margin: 40px 0px
    }

    .banner-list01 li {
        width: auto;
        margin: 0px 0px 7px 0
    }
}

.banner-list02 {
    display: flex;
    flex-wrap: wrap;
    margin: 40px -5px
}

.banner-list02 li {
    width: calc(50% - 10px);
    margin: 0 5px 10px
}

@media screen and (max-width: 520px) {
    .banner-list02 {
        display: block;
        margin: 40px 0px
    }

    .banner-list02 li {
        width: auto;
        margin: 0px 0px 7px 0
    }
}

.banner-list03 {
    display: flex;
    flex-wrap: wrap;
    margin: 40px -5px
}

.banner-list03 li {
    width: calc(33.333% - 10px);
    margin: 0 5px 20px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .banner-list03 li {
        width: calc(50% - 5px)
    }
}

@media screen and (max-width: 520px) {
    .banner-list03 {
        display: block;
        margin: 40px 0px
    }

    .banner-list03 li {
        width: auto;
        margin: 0px 0px 7px 0
    }
}

.tbl-type01 {
    border-top: 1px solid #DDDDDD;
    width: 100%;
    margin-bottom: 50px;
    border-collapse: collapse;
    background: #fff
}

.tbl-type01 tr th {
    width: 200px;
    text-align: left;
    vertical-align: top;
    font-weight: 700;
    padding: 25px 20px;
    border-bottom: 1px solid #DDDDDD
}

.tbl-type01 tr td {
    text-align: left;
    vertical-align: top;
    color: #4D4D4D;
    padding: 25px 10px;
    border-bottom: 1px solid #DDDDDD
}

.tbl-type01 tr td img {
    max-width: 100%
}

@media screen and (max-width: 520px) {
    .tbl-type01 {
        display: block
    }

    .tbl-type01 thead,
    .tbl-type01 tbody,
    .tbl-type01 tr,
    .tbl-type01 th,
    .tbl-type01 td {
        display: block;
        width: 100% !important
    }

    .tbl-type01 tr th {
        padding: 20px 10px 7px 10px;
        border-bottom: none
    }

    .tbl-type01 tr td {
        padding: 0px 10px 20px 10px
    }
}

.tbl-type02 {
    border-top: 1px solid #DDDDDD;
    border-left: 1px solid #DDDDDD;
    width: 100%;
    margin-bottom: 50px;
    border-collapse: collapse
}

.tbl-type02 tr th {
    width: 200px;
    text-align: center;
    vertical-align: middle;
    background: #F0F0F0;
    font-weight: 700;
    padding: 20px 10px;
    border-bottom: 1px solid #DDDDDD
}

.tbl-type02 tr th.short-th {
    width: 100px
}

.tbl-type02 tr td {
    text-align: left;
    vertical-align: top;
    color: #4D4D4D;
    padding: 20px 20px;
    border-bottom: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD
}

.tbl-type02 tr td img {
    max-width: 100%
}

.tbl-type02 tr td p {
    margin-bottom: 10px
}

.tbl-type02 tr td p:last-child {
    margin-bottom: 0
}

.tbl-type02 tr td .box-type01 {
    margin: 20px 0
}

.tbl-type02 tr td .tbl-type04 {
    margin: -20px -20px 20px -20px;
    width: calc(100% + 40px)
}

.tbl-type02 tr td .arrow-link02 {
    display: inline-block
}

.tbl-type02 tr td .arrow-link02::before {
    top: 0.6em
}

.tbl-type02 .tbl-type02__contact p {
    margin-bottom: 15px
}

.tbl-type02 .tbl-type02__contact__ttl {
    background: #F0F0F0;
    padding: 12px 15px;
    color: #1A1A1A;
    font-weight: 700;
    margin-bottom: 20px
}

.tbl-type02 .tbl-type02__contact p+.tbl-type02__contact__ttl {
    margin-top: 25px
}

.tbl-type02 .tbl-type02__contact p:last-child {
    margin-bottom: 0
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .tbl-type02 tr th {
        width: 130px
    }
}

@media screen and (max-width: 520px) {
    .tbl-type02 {
        display: block
    }

    .tbl-type02>thead {
        display: block;
        width: 100% !important
    }

    .tbl-type02>tbody {
        display: block;
        width: 100% !important
    }

    .tbl-type02 tr,
    .tbl-type02 th,
    .tbl-type02 td {
        display: block;
        width: 100% !important
    }

    .tbl-type02 tr th {
        padding: 12px 15px 12px 15px;
        border-bottom: none;
        text-align: left
    }

    .tbl-type02 tr td {
        padding: 15px 15px 15px 15px
    }

    .tbl-type02 tr td .tbl-type04 {
        margin: -15px -15px 15px -15px;
        width: calc(100% + 30px);
        table-layout: fixed
    }

    .tbl-type02 tr td .tbl-type04 tr {
        display: table-row
    }

    .tbl-type02 tr td .tbl-type04 th,
    .tbl-type02 tr td .tbl-type04 td {
        display: table-cell
    }

    .tbl-type02 tr>*:last-child {
        border-bottom: 1px solid #DDDDDD !important
    }

    .tbl-type02 .tbl-type02__contact__ttl {
        padding: 9px 13px
    }
}

.tbl-type03 {
    border-top: 1px solid #DDDDDD;
    border-left: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD;
    width: 100%;
    margin-bottom: 50px;
    border-collapse: collapse
}

.tbl-type03 tr th {
    text-align: left;
    vertical-align: middle;
    background: #F0F0F0;
    font-weight: 400;
    padding: 10px 15px
}

.tbl-type03 tr td {
    text-align: left;
    vertical-align: top;
    color: #4D4D4D;
    padding: 20px 20px;
    border-bottom: 1px solid #DDDDDD
}

.tbl-type03 tr td img {
    max-width: 100%
}

@media screen and (max-width: 520px) {
    .tbl-type03 {
        display: block
    }

    .tbl-type03 thead,
    .tbl-type03 tbody,
    .tbl-type03 tr,
    .tbl-type03 th,
    .tbl-type03 td {
        display: block;
        width: 100% !important
    }

    .tbl-type03 tr th {
        padding: 12px 15px 12px 15px;
        border-bottom: none;
        text-align: left
    }

    .tbl-type03 tr td {
        padding: 15px 15px 15px 15px
    }
}

.tbl-type03__inner {
    display: flex
}

.tbl-type03__inner .tbl-type03__info {
    width: calc(100% - 280px);
    padding-right: 20px
}

.tbl-type03__inner .tbl-type03__info p {
    margin-bottom: 15px
}

.tbl-type03__inner .tbl-type03__ph {
    width: 280px;
    text-align: right;
    line-height: 0
}

.tbl-type03__inner .tbl-type03__ph img {
    max-width: 100%;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

.tbl-type03__inner .tbl-type03__ph a:hover img {
    opacity: 0.7
}

.tbl-type03__inner .tbl-type03__info__list {
    display: table
}

.tbl-type03__inner .tbl-type03__info__list ul {
    display: table-row
}

.tbl-type03__inner .tbl-type03__info__list ul li {
    display: table-cell;
    min-width: 150px;
    max-width: 370px;
    padding-right: 20px;
    padding-bottom: 5px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .tbl-type03__inner .tbl-type03__info__list {
        display: block
    }

    .tbl-type03__inner .tbl-type03__info__list ul {
        display: block
    }

    .tbl-type03__inner .tbl-type03__info__list ul li {
        display: block;
        margin: 0 0 0 0;
        min-width: inherit;
        max-width: inherit;
        padding-right: 0px;
        padding-bottom: 2px
    }
}

@media screen and (max-width: 520px) {
    .tbl-type03__inner {
        display: block
    }

    .tbl-type03__inner .tbl-type03__info {
        width: auto;
        padding-right: 0px;
        margin-bottom: 20px
    }

    .tbl-type03__inner .tbl-type03__ph {
        width: auto;
        text-align: center
    }

    .tbl-type03__inner .tbl-type03__info__list {
        display: block
    }

    .tbl-type03__inner .tbl-type03__info__list ul {
        display: block
    }

    .tbl-type03__inner .tbl-type03__info__list ul li {
        display: block;
        margin: 0 0 0 0;
        min-width: inherit;
        max-width: inherit;
        padding-right: 0px;
        padding-bottom: 2px
    }
}

.tbl-type04 {
    border-top: 1px solid #DDDDDD;
    border-left: 1px solid #DDDDDD;
    width: 100%;
    margin-bottom: 50px;
    border-collapse: collapse
}

.tbl-type04 thead tr th {
    text-align: center;
    vertical-align: middle;
    background: #787878;
    color: #fff;
    font-weight: 700;
    white-space: nowrap;
    padding: 10px 10px;
    border-bottom: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD
}

.tbl-type04 thead tr th.space-normal-th {
    white-space: normal !important
}

.tbl-type04 tbody tr th {
    width: 200px;
    text-align: left;
    vertical-align: middle;
    background: #F0F0F0;
    font-weight: 700;
    white-space: nowrap;
    padding: 20px 15px;
    border-bottom: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD
}

.tbl-type04 tbody tr th.long-th {
    width: calc(100% - 100px) !important
}

.tbl-type04 tbody tr th.short-th {
    width: 90px !important
}

.tbl-type04 tbody tr th.short-th02 {
    width: 60px !important
}

.tbl-type04 tbody tr th.other-th {
    background: #787878;
    color: #fff;
    vertical-align: top
}

.tbl-type04 tbody tr th.other-th02 {
    background: #787878;
    color: #fff;
    width: 100%;
    padding: 15px 15px
}

.tbl-type04 tbody tr th.space-normal-th {
    white-space: normal !important
}

.tbl-type04 tbody tr td {
    text-align: left;
    vertical-align: top;
    color: #4D4D4D;
    padding: 20px 15px;
    border-bottom: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD
}

.tbl-type04 tbody tr td img {
    max-width: 100%
}

.tbl-type04 tbody tr td p {
    margin-bottom: 10px
}

.tbl-type04 tbody tr td p:last-child {
    margin-bottom: 0
}

.tbl-type04 tbody tr td.long-td {
    width: calc(100% - 100px) !important
}

.tbl-type04 tbody tr td.short-td {
    width: 200px
}

.tbl-type04 tbody tr td.short-td02 {
    width: 150px
}

.tbl-type04 tbody tr td.td-nowrap {
    width: 12%;
    text-align: center;
    white-space: nowrap
}

.tbl-type04 tbody tr td.td-nowrap02 {
    white-space: nowrap
}

@media screen and (min-width: 521px) {
    .tbl-type04 tbody tr th.long-th-pc-tab {
        width: 83%
    }

    .tbl-type04 tbody tr td.long-td-pc-tab {
        width: 83%
    }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .tbl-type04 thead tr th {
        white-space: normal
    }

    .tbl-type04 tbody tr th {
        width: 150px;
        white-space: normal
    }
}

@media screen and (max-width: 520px) {
    .tbl-type04 thead tr th {
        font-size: 13px;
        padding: 7px;
        white-space: normal
    }

    .tbl-type04 tbody tr th {
        width: 110px;
        font-size: 13px;
        white-space: normal;
        padding: 7px;
        text-align: left
    }

    .tbl-type04 tbody tr th.other-th02 {
        width: 100% !important
    }

    .tbl-type04 tbody tr th.short-th {
        width: 70px !important
    }

    .tbl-type04 tbody tr th.short-th02 {
        width: 40px !important
    }

    .tbl-type04 tbody tr td {
        font-size: 13px;
        padding: 7px
    }

    .tbl-type04 tbody tr td.short-td {
        width: 130px;
        min-width: 130px
    }

    .tbl-type04 tbody tr td.short-td02 {
        width: 100px;
        min-width: 100px
    }

    .tbl-type04 tbody tr td.td-nowrap {
        max-width: 70px;
        width: 20%
    }
}

.tbl-type04-sp-wrap {
    margin-bottom: 50px
}

.tbl-type04-sp-wrap .tbl-type04 {
    margin-bottom: 0px
}

.tbl-type04-sp-wrap .tbl-type04-flick-icon {
    display: none
}

@media screen and (max-width: 520px) {
    .tbl-type04-sp-wrap {
        position: relative;
        width: 100%;
        overflow-y: hidden;
        overflow-x: auto;
        margin-bottom: 50px
    }

    .tbl-type04-sp-wrap .tbl-type04 {
        margin-bottom: 0px
    }

    .tbl-type04-sp-wrap .tbl-type04 thead tr th {
        white-space: nowrap
    }

    .tbl-type04-sp-wrap .tbl-type04 tbody tr th {
        min-width: 110px
    }

    .tbl-type04-sp-wrap .tbl-type04 tbody tr th.long-th-sp {
        min-width: 230px
    }

    .tbl-type04-sp-wrap .tbl-type04 tbody tr th.long-th-sp02 {
        min-width: 130px
    }

    .tbl-type04-sp-wrap .tbl-type04 tbody tr th.long-th-sp03 {
        min-width: 180px
    }

    .tbl-type04-sp-wrap .tbl-type04 tbody tr td {
        min-width: 100px
    }

    .tbl-type04-sp-wrap .tbl-type04 tbody tr td.short-td {
        min-width: 130px
    }

    .tbl-type04-sp-wrap .tbl-type04 tbody tr td.short-td02 {
        min-width: 100px
    }

    .tbl-type04-sp-wrap .tbl-type04 tbody tr td.long-td-sp {
        min-width: 250px
    }

    .tbl-type04-sp-wrap .tbl-type04 tbody tr td.long-td-sp02 {
        min-width: 130px
    }

    .tbl-type04-sp-wrap .tbl-type04 tbody tr td.long-td-sp03 {
        min-width: 180px
    }

    .tbl-type04-sp-wrap .tbl-type04-sp-nowrap {
        white-space: nowrap
    }

    .tbl-type04-sp-wrap .tbl-type04-sp-nowrap tbody tr th {
        white-space: nowrap
    }

    .tbl-type04-sp-wrap .tbl-type04-sp-nowrap tbody tr td {
        white-space: nowrap
    }

    .tbl-type04-sp-wrap .tbl-type04-flick-icon {
        display: block;
        position: absolute;
        z-index: 10;
        pointer-events: none;
        top: 100px;
        left: calc(50vw - 15px - 38px);
        width: 76px;
        height: 76px;
        background: url(/images/common/icon_flick_sp.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }

    .tbl-type04-sp-wrap .tbl-type04-flick-icon.tbl-type04-flick-icon__type01 {
        top: 50%;
        margin-top: -38px
    }
}

.news-topics-content {
    position: relative;
    overflow: hidden;
    padding-top: 60px;
    padding-bottom: 1px
}

.news-topics-content .inner {
    position: static
}

@media screen and (max-width: 520px) {
    .news-topics-content {
        overflow: hidden;
        padding-top: 50px;
        padding-bottom: 85px
    }

    .news-topics-content .ttl-type01-linkbox ul {
        position: absolute;
        bottom: 35px;
        right: 15px
    }
}

.cate-top-box {
    margin-top: 100px;
    margin-bottom: 100px
}

@media screen and (max-width: 520px) {
    .cate-top-box {
        margin-top: 60px;
        margin-bottom: 60px
    }
}

.content-obj-bg {
    overflow: hidden;
    position: relative;
    max-width: 1200px;
    padding: 0px 50px;
    padding-bottom: 25px;
    margin: 0 auto
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .content-obj-bg {
        padding: 0px 20px 25px
    }
}

@media screen and (max-width: 520px) {
    .content-obj-bg {
        padding: 0px 15px 5px
    }
}

.content-obj-bg::after {
    content: " ";
    display: block;
    width: 180px;
    height: 156px;
    background: url(/images/common/bg_illu.png) 0 0 no-repeat;
    background-size: 100% 100%;
    position: absolute;
    z-index: 0;
    bottom: 0px;
    right: 0
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .content-obj-bg::after {
        right: 20px
    }
}

@media screen and (max-width: 520px) {
    .content-obj-bg::after {
        right: -15px;
        width: 124px;
        height: 107px
    }
}

.content-obj-bg .content-block {
    position: relative;
    z-index: 2
}

.content-block p {
    margin-bottom: 35px
}

.content-block figure {
    line-height: 0;
    text-align: center;
    margin: 40px 0
}

.content-block figure img {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

.content-block figure a:hover img {
    opacity: 0.7
}

.text-ph-block {
    overflow: hidden
}

.text-ph-block p {
    margin-bottom: 35px
}

.text-ph-block .basic-list {
    margin-bottom: 35px
}

.text-ph-block .box-type01 {
    display: flex
}

.text-ph-block .tbl-type02 {
    width: auto
}

.text-ph-block .inner-flex .tbl-type02 {
    width: 100%
}

.text-ph-block figure {
    float: right;
    max-width: 50%;
    margin: 0 0 30px 30px;
    padding-top: 5px;
    text-align: center
}

.text-ph-block figure span {
    display: block;
    line-height: 1.4;
    font-size: .75rem;
    text-align: center;
    margin: 8px 0 10px
}

.text-ph-block figure .pdf-iconlink-wrap {
    margin-top: 20px;
    margin-bottom: 10px;
    line-height: 1.4;
    font-size: .9375rem;
    text-align: left
}

.text-ph-block figure .pdf-iconlink {
    display: inline-block;
    text-align: left;
    background-position: 3px 1px
}

.text-ph-block figure img {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

.text-ph-block figure a:hover img {
    opacity: 0.7
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .text-ph-block figure {
        max-width: 45%;
        margin: 0 0 20px 20px
    }
}

@media screen and (max-width: 520px) {
    .text-ph-block {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 20px
    }

    .text-ph-block p {
        order: 1;
        width: 100%;
        margin-bottom: 25px
    }

    .text-ph-block .basic-list {
        order: 1;
        width: 100%;
        margin-bottom: 25px
    }

    .text-ph-block h1,
    .text-ph-block h2,
    .text-ph-block h3,
    .text-ph-block h4,
    .text-ph-block h5,
    .text-ph-block .ttl-type03,
    .text-ph-block .ttl-type04,
    .text-ph-block .ttl-type05 {
        order: 1;
        width: 100%
    }

    .text-ph-block .box-type01 {
        order: 1;
        display: block;
        width: 100%
    }

    .text-ph-block .inner-flex,
    .text-ph-block .tbl-type02 {
        order: 1;
        width: 100%
    }

    .text-ph-block dl {
        order: 1;
        width: 100%
    }

    .text-ph-block div,
    .text-ph-block .content-block {
        order: 1;
        width: 100%
    }

    .text-ph-block div *,
    .text-ph-block .content-block * {
        order: inherit !important
    }

    .text-ph-block figure {
        order: 4;
        width: 100%;
        max-width: inherit;
        float: none;
        margin: 0px 0 20px 0
    }

    .text-ph-block figure .pdf-iconlink-wrap {
        margin-top: 10px;
        margin-bottom: 10px;
        font-size: 15px;
        text-align: center
    }

    .text-ph-block figure .pdf-iconlink {
        display: table;
        margin: 0 auto
    }
}

.ph-text-block {
    overflow: hidden
}

.ph-text-block figure {
    float: left;
    max-width: 50%;
    margin: 0 30px 30px 0px;
    padding-top: 5px;
    text-align: left
}

.ph-text-block figure span {
    display: block;
    line-height: 1.4;
    font-size: .75rem;
    text-align: center;
    margin: 8px 0 10px
}

.ph-text-block figure .pdf-iconlink-wrap {
    margin-top: 20px;
    margin-bottom: 10px;
    line-height: 1.4;
    font-size: .9375rem;
    text-align: left
}

.ph-text-block figure .pdf-iconlink {
    display: inline-block;
    text-align: left;
    background-position: 3px 1px
}

.ph-text-block figure img {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

.ph-text-block figure a:hover img {
    opacity: 0.7
}

.ph-text-block p {
    margin-bottom: 35px
}

.ph-text-block .basic-list {
    margin-bottom: 35px
}

.ph-text-block .box-type01 {
    display: flex
}

.ph-text-block .tbl-type02 {
    width: auto
}

.ph-text-block .inner-flex .tbl-type02 {
    width: 100%
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .ph-text-block figure {
        max-width: 45%;
        margin: 0 20px 20px 0px
    }
}

@media screen and (max-width: 520px) {
    .ph-text-block {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 20px
    }

    .ph-text-block figure {
        width: 100%;
        max-width: inherit;
        float: none;
        text-align: center;
        margin: 0px 0 20px 0
    }

    .ph-text-block figure .pdf-iconlink-wrap {
        margin-top: 10px;
        margin-bottom: 10px;
        font-size: 15px;
        text-align: center
    }

    .ph-text-block figure .pdf-iconlink {
        display: table;
        margin: 0 auto
    }

    .ph-text-block p {
        width: 100%;
        margin-bottom: 25px
    }

    .ph-text-block .basic-list {
        width: 100%;
        margin-bottom: 25px
    }

    .ph-text-block .ttl-type03,
    .ph-text-block .ttl-type04,
    .ph-text-block .ttl-type05 {
        width: 100%
    }

    .ph-text-block .box-type01 {
        display: block;
        width: 100%
    }

    .ph-text-block .inner-flex,
    .ph-text-block .tbl-type02 {
        width: 100%
    }
}

.content-block .paper-box,
.paper-box {
    display: flex;
    margin-bottom: 50px
}

.content-block .paper-box__ph,
.paper-box__ph {
    width: 150px;
    line-height: 0;
    margin: 0 50px 0px 0px;
    text-align: left
}

.content-block .paper-box__ph img,
.paper-box__ph img {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

.content-block .paper-box__ph a:hover img,
.paper-box__ph a:hover img {
    opacity: 0.7
}

.content-block .paper-box__info,
.paper-box__info {
    width: calc(100% - 200px)
}

.content-block .paper-box__info table,
.paper-box__info table {
    width: 70%;
    border-top: 1px solid #DDDDDD;
    border-left: 1px solid #DDDDDD;
    margin-bottom: 20px;
    border-collapse: collapse
}

.content-block .paper-box__info table tr th,
.paper-box__info table tr th {
    width: 150px;
    white-space: nowrap;
    text-align: left;
    vertical-align: top;
    background: #F0F0F0;
    font-weight: 400;
    padding: 10px 10px;
    border-bottom: 1px solid #DDDDDD
}

.content-block .paper-box__info table tr td,
.paper-box__info table tr td {
    text-align: left;
    vertical-align: top;
    color: #4D4D4D;
    padding: 10px 10px;
    border-bottom: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD
}

.content-block .paper-box__info p,
.paper-box__info p {
    margin-bottom: 5px
}

.content-block .paper-box.paper-box-new .paper-box__ph,
.paper-box.paper-box-new .paper-box__ph {
    width: 350px
}

.content-block .paper-box.paper-box-new .paper-box__info,
.paper-box.paper-box-new .paper-box__info {
    width: calc(100% - 400px)
}

@media screen and (min-width: 521px) and (max-width: 960px) {

    .content-block .paper-box__info table,
    .paper-box__info table {
        width: 100%
    }

    .content-block .paper-box.paper-box-new .paper-box__ph,
    .paper-box.paper-box-new .paper-box__ph {
        width: 45%
    }

    .content-block .paper-box.paper-box-new .paper-box__info,
    .paper-box.paper-box-new .paper-box__info {
        width: calc(55% - 50px)
    }
}

@media screen and (max-width: 520px) {

    .content-block .paper-box,
    .paper-box {
        flex-wrap: wrap;
        margin-bottom: 20px
    }

    .content-block .paper-box__ph,
    .paper-box__ph {
        text-align: center;
        width: 100%;
        margin: 0 0px 30px 0px
    }

    .content-block .paper-box__info,
    .paper-box__info {
        width: 100%
    }

    .content-block .paper-box__info table,
    .paper-box__info table {
        width: 100%
    }

    .content-block .paper-box__info table tr th,
    .paper-box__info table tr th {
        width: 120px;
        font-size: 13px
    }

    .content-block .paper-box__info table tr td,
    .paper-box__info table tr td {
        font-size: 13px
    }

    .content-block .paper-box.paper-box-new .paper-box__ph,
    .paper-box.paper-box-new .paper-box__ph {
        width: 100%
    }

    .content-block .paper-box.paper-box-new .paper-box__info,
    .paper-box.paper-box-new .paper-box__info {
        width: 100%
    }
}

.content-block .pdf-box,
.pdf-box {
    display: flex;
    margin: 40px 0;
    padding: 40px;
    border: 1px solid #DDDDDD;
    text-align: left
}

.content-block .pdf-box__ph,
.pdf-box__ph {
    max-width: 50%;
    line-height: 0;
    display: flex;
    white-space: nowrap
}

.content-block .pdf-box__ph li,
.pdf-box__ph li {
    width: 257px
}

.content-block .pdf-box__ph li+li,
.pdf-box__ph li+li {
    margin-left: 16px
}

.content-block .pdf-box__info,
.pdf-box__info {
    padding-left: 40px
}

.content-block .pdf-box__info dt,
.pdf-box__info dt {
    font-size: 20px;
    font-weight: 700;
    border-bottom: 1px solid #DDDDDD;
    padding-bottom: 15px;
    margin-bottom: 40px
}

.content-block .pdf-box__info dd p,
.pdf-box__info dd p {
    margin-bottom: 15px
}

.content-block .pdf-box__info dd .pdf-box__link,
.pdf-box__info dd .pdf-box__link {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 320px;
    padding: 5px 35px;
    border: 1px solid transparent;
    background-color: #606;
    font-size: .875rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
    color: #fff;
    text-decoration: none;
    min-height: 60px
}

.content-block .pdf-box__info dd .pdf-box__link span,
.pdf-box__info dd .pdf-box__link span {
    padding-left: 25px;
    background: url(/images/common/icon_pdf.png) 1px 50% no-repeat
}

.content-block .pdf-box__info dd .pdf-box__link:hover,
.pdf-box__info dd .pdf-box__link:hover {
    background-color: #4F004F
}

@media screen and (min-width: 521px) and (max-width: 960px) {

    .content-block .pdf-box,
    .pdf-box {
        padding: 25px
    }

    .content-block .pdf-box__info,
    .pdf-box__info {
        padding-left: 20px
    }

    .content-block .pdf-box__info dt,
    .pdf-box__info dt {
        font-size: 18px;
        padding-bottom: 10px;
        margin-bottom: 20px
    }
}

@media screen and (max-width: 520px) {

    .content-block .pdf-box,
    .pdf-box {
        padding: 30px 12px 10px;
        display: block
    }

    .content-block .pdf-box__ph,
    .pdf-box__ph {
        max-width: none;
        justify-content: center;
        margin-bottom: 20px
    }

    .content-block .pdf-box__ph li,
    .pdf-box__ph li {
        width: 170px;
        max-width: calc(50% - 10px)
    }

    .content-block .pdf-box__ph li+li,
    .pdf-box__ph li+li {
        margin-left: 20px
    }

    .content-block .pdf-box__info,
    .pdf-box__info {
        padding-left: 0px
    }

    .content-block .pdf-box__info dt,
    .pdf-box__info dt {
        font-size: 18px;
        padding-bottom: 10px;
        margin-bottom: 20px;
        text-align: center
    }

    .content-block .pdf-box__info dd,
    .pdf-box__info dd {
        font-size: 14px
    }

    .content-block .pdf-box__info dd .pdf-box__link,
    .pdf-box__info dd .pdf-box__link {
        margin-left: auto;
        margin-right: auto;
        font-size: 14px
    }
}

.g-map,
.g-map02 {
    position: relative;
    margin: 30px auto
}

.g-map::after,
.g-map02::after {
    pointer-events: none;
    content: " ";
    display: block;
    position: relative;
    width: 100%;
    padding-top: 400px
}

.g-map iframe,
.g-map02 iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none
}

@media screen and (max-width: 520px) {

    .g-map,
    .g-map02 {
        width: auto !important
    }

    .g-map::after,
    .g-map02::after {
        padding-top: 60% !important
    }
}

.g-map02 {
    width: 700px;
    max-width: 100%
}

.g-map02::after {
    padding-top: 60%
}

.youtube-movie-box {
    position: relative;
    margin: 30px auto;
    width: 560px;
    max-width: 100%
}

.youtube-movie-box::after {
    pointer-events: none;
    content: " ";
    display: block;
    position: relative;
    width: 100%;
    padding-top: 56.25%
}

.youtube-movie-box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none
}

@media screen and (max-width: 520px) {
    .youtube-movie-box {
        width: auto !important
    }
}

.event-content {
    position: relative;
    overflow: hidden;
    padding-top: 55px;
    padding-bottom: 40px;
    background: #F0F0F0
}

.event-content .inner {
    position: static
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .event-content {
        padding-top: 45px
    }
}

@media screen and (max-width: 520px) {
    .event-content {
        padding-top: 40px;
        padding-bottom: 80px
    }

    .event-content .ttl-type01-linkbox ul {
        position: absolute;
        bottom: 35px;
        right: 15px
    }
}

.event-list {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-right: -10px
}

.event-list>li {
    width: calc(25% - 20px);
    margin: 0 10px 20px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .event-list>li {
        width: calc(50% - 20px)
    }
}

@media screen and (max-width: 520px) {
    .event-list {
        display: block;
        margin-left: 0px;
        margin-right: 0px
    }

    .event-list>li {
        width: auto;
        margin: 0 0px 10px
    }

    .event-list .event-date {
        font-size: 13px
    }

    .event-list .event-info-text {
        font-size: 13px
    }
}

@media screen and (max-width: 520px) {

    .news-event-list-contents .event-list-type01,
    .news-event-list-contents .event-list-type02 {
        margin-left: -15px;
        margin-right: -15px
    }
}

.event-list-type01 {
    border-top: 1px solid #DDDDDD;
    margin-bottom: 0px
}

.event-list-type01>li {
    border-bottom: 1px solid #DDDDDD;
    margin: 0;
    padding: 25px 0
}

.event-list-type01>li a {
    display: block;
    position: relative;
    padding: 0 25px 0 10px;
    text-decoration: none !important
}

@media screen and (min-width: 961px) {
    .event-list-type01>li a:hover .event-info dt {
        color: #606
    }
}

.event-list-type01>li a .event-icon-wrap {
    position: absolute;
    top: 0;
    right: 0
}

.event-list-type01>li a .event-date {
    padding-right: 170px
}

.event-list-type01>li a.blank-iconlink {
    padding: 0 25px 0 10px;
    background: none
}

.event-list-type01>li a.blank-iconlink::after {
    content: " ";
    display: block;
    position: absolute;
    bottom: 0px;
    right: 10px;
    width: 13px;
    height: 13px;
    background: url(/images/common/icon_otherlink.svg) 0 0 no-repeat;
    background-size: 13px 13px
}

@media screen and (min-width: 961px) {
    .event-list-type01>li a.blank-iconlink .event-info__external-text {
        position: absolute;
        right: 30px;
        bottom: -1px;
        line-height: 1.2;
        text-align: right
    }
}

@media screen and (max-width: 520px) {
    .event-list-type01 {
        border-top: 1px solid #DDDDDD
    }

    .event-list-type01>li {
        padding: 0
    }

    .event-list-type01>li a {
        padding: 20px 15px !important
    }

    .event-list-type01>li a .event-icon-wrap {
        position: static
    }

    .event-list-type01>li a .event-date {
        padding-right: 0
    }

    .event-list-type01>li a.blank-iconlink::after {
        right: 15px;
        bottom: 15px
    }
}

.event-list-type02 {
    border-top: 1px solid #DDDDDD;
    border-left: 1px solid #DDDDDD;
    margin-bottom: 0px;
    display: flex;
    flex-wrap: wrap
}

.event-list-type02>li {
    width: 33.333%;
    border-right: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD;
    margin: 0;
    padding: 0
}

.event-list-type02>li a {
    display: block;
    position: relative;
    padding: 15px;
    text-decoration: none !important
}

@media screen and (min-width: 961px) {
    .event-list-type02>li a:hover .event-info dt {
        color: #606
    }

    .event-list-type02>li a:hover .event-ph img {
        transform: translate(-50%, -50%) scale(1.1)
    }
}

.event-list-type02>li a.blank-iconlink {
    padding: 15px 15px 20px 15px;
    background: none
}

.event-list-type02>li a.blank-iconlink::after {
    content: " ";
    display: block;
    position: absolute;
    bottom: 15px;
    right: 15px;
    width: 13px;
    height: 13px;
    background: url(/images/common/icon_otherlink.svg) 0 0 no-repeat;
    background-size: 13px 13px
}

@media screen and (max-width: 520px) {
    .event-list-type02 {
        display: block
    }

    .event-list-type02>li {
        width: auto;
        padding: 0
    }

    .event-list-type02>li a {
        padding: 20px 15px 10px;
        overflow: hidden
    }

    .event-list-type02>li a .event-ph {
        width: 120px;
        height: 120px;
        float: left
    }

    .event-list-type02>li a .event-ph~.event-icon-wrap {
        margin-left: 135px
    }

    .event-list-type02>li a .event-ph~.event-date {
        margin-left: 135px
    }

    .event-list-type02>li a .event-ph~.event-info {
        margin-left: 135px
    }

    .event-list-type02>li a .event-icon-wrap {
        margin-bottom: 5px
    }

    .event-list-type02>li a .event-date {
        margin-bottom: 5px
    }

    .event-list-type02>li a .event-info dt {
        margin-bottom: 5px
    }

    .event-list-type02>li a.blank-iconlink {
        padding: 20px 15px
    }

    .event-list-type02>li a.blank-iconlink::after {
        right: 15px;
        bottom: 15px
    }
}

.event-list-type02.original-custom {
    border: none
}

.event-list-type02.original-custom>li {
    width: calc(50% - 10px);
    margin: 0 20px 20px 0;
    border: none;
    background: #fff
}

.event-list-type02.original-custom>li:nth-child(2n) {
    margin-right: 0
}

.event-list-type02.original-custom>li a {
    padding: 30px;
    height: 100%
}

@media screen and (max-width: 520px) {
    .event-list-type02.original-custom>li {
        width: auto;
        padding: 0;
        margin: 0 0 10px 0
    }
}

.event-link {
    position: relative;
    display: block;
    padding: 30px;
    height: 100%;
    border: 1px solid #DDDDDD;
    color: #1A1A1A;
    background: #fff
}

@media screen and (max-width: 520px) {
    .event-link {
        padding: 24px
    }
}

.event-link::before,
.event-link::after {
    content: "";
    position: absolute;
    z-index: 4;
    background: #606;
    width: 0;
    height: 1px;
    transition: all 0.2s ease-out
}

.event-link::before {
    right: 0;
    bottom: 0
}

.event-link::after {
    left: 0;
    top: 0
}

.event-link .event-hover-line {
    pointer-events: none;
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.event-link .event-hover-line::before,
.event-link .event-hover-line::after {
    content: "";
    position: absolute;
    z-index: 4;
    background: #606;
    width: 1px;
    height: 0;
    transition: all 0.1s ease-out
}

.event-link .event-hover-line::before {
    left: 0;
    bottom: 0
}

.event-link .event-hover-line::after {
    right: 0;
    top: 0
}

.event-link:hover::after {
    width: 100%;
    transition-delay: 0s
}

.event-link:hover::before {
    width: 100%;
    transition-delay: 0.3s
}

.event-link:hover .event-hover-line::after {
    height: 100%;
    transition-delay: 0.2s
}

.event-link:hover .event-hover-line::before {
    height: 100%;
    transition-delay: 0.5s
}

@media screen and (min-width: 961px) {
    .event-link:hover .event-info dt {
        color: #606
    }
}

.event-link.blank-iconlink {
    text-decoration: none;
    padding: 30px;
    background: #fff url(/images/common/icon_otherlink.svg) calc(100% - 12px) calc(100% - 12px) no-repeat;
    background-size: 13px 13px
}

.event-link.blank-iconlink:hover {
    background: #fff url(/images/common/icon_otherlink_purple.svg) calc(100% - 12px) calc(100% - 12px) no-repeat;
    background-size: 13px 13px
}

.event-ph {
    position: relative;
    line-height: 0;
    overflow: hidden;
    margin-bottom: 15px
}

.event-ph::before {
    content: " ";
    display: block;
    width: 100%;
    padding-top: 56.25%
}

.event-ph img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    object-fit: cover;
    object-position: center center
}

.event-icon-wrap {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px
}

.event-icon-wrap i {
    margin: 0 5px 5px 0
}

.event-date {
    color: #606;
    font-size: .875rem;
    font-weight: 700;
    margin-bottom: 10px;
    padding-left: 21px;
    background: url(/images/common/icon_calendar_purple.svg) 0 0.3em no-repeat;
    background-size: 13.5px 15px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .event-date {
        font-size: 13px
    }
}

@media screen and (max-width: 520px) {
    .event-date {
        font-size: 12px
    }
}

.event-info {
    color: #1A1A1A
}

.event-info dt {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 10px
}

.event-info dd {
    font-size: .8125rem;
    font-weight: 400;
    margin-bottom: 10px
}

.event-info dd p {
    line-height: 2;
    margin-bottom: 15px
}

.event-info dd p:last-child {
    margin-bottom: 0
}

@media screen and (max-width: 520px) {
    .event-info dt {
        font-size: 14px
    }

    .event-info dd {
        font-size: 13px
    }
}

.event-info-text {
    color: #1A1A1A;
    font-size: .875rem;
    font-weight: 700
}

.box-type01 {
    margin: 40px 0;
    padding: 20px 20px;
    border: 1px solid #DDDDDD;
    text-align: left
}

.box-type01 p {
    margin-bottom: 20px
}

.box-type01 .hr-type01 {
    margin: 30px 0
}

.box-type01>*:last-child {
    margin-bottom: 0
}

@media screen and (max-width: 520px) {
    .box-type01 {
        margin: 30px 0
    }

    .box-type01 .hr-type01 {
        margin: 20px 0
    }
}

.box-type02 {
    position: relative;
    padding: 30px;
    background: #F7F7F7;
    text-align: left;
    margin: 15px 0
}

.box-type02 p {
    margin-bottom: 10px
}

.box-type02>*:last-child {
    margin-bottom: 0
}

@media screen and (max-width: 520px) {
    .box-type02 {
        padding: 25px
    }
}

.user-comment-wrap {
    margin-bottom: 40px
}

@media screen and (max-width: 520px) {
    .user-comment-wrap {
        margin-bottom: 30px
    }
}

.user-comment {
    width: 100%;
    margin: 0 0 10px 0
}

.user-comment>dt {
    display: table-cell;
    width: 1px;
    white-space: nowrap;
    min-width: 3.5em;
    padding-right: 0.5em;
    margin: 0;
    font-weight: 700
}

.user-comment>dt.user-comment__col01 {
    color: #4DB56A
}

.user-comment>dt.user-comment__col02 {
    color: #A260BF
}

.user-comment>dd {
    display: table-cell;
    width: 100%;
    margin: 0
}

.important-info-content {
    position: relative;
    max-width: 1200px;
    padding: 0px 50px;
    margin: 0 auto
}

.important-info-content .ttl-type01-wrap {
    padding: 0;
    margin-bottom: 20px
}

.important-info-content .ttl-type01.important-info-ttl {
    color: #AC3434;
    font-size: 1.25rem
}

.important-info-content .important-info-content__inner {
    position: relative;
    border: 1px solid #AC3434;
    background: #fff;
    padding: 35px 40px 30px
}

.important-info-content .news-list-type01 {
    margin-bottom: 0
}

@media screen and (min-width: 521px) {
    .important-info-content .news-list-type01>li:last-child {
        border-bottom: none
    }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .important-info-content {
        padding: 0px 20px
    }
}

@media screen and (max-width: 520px) {
    .important-info-content {
        padding: 0px 15px
    }

    .important-info-content .ttl-type01-wrap {
        margin-bottom: 15px
    }

    .important-info-content .important-info-content__inner {
        overflow: hidden;
        padding: 30px 30px 80px
    }

    .important-info-content .important-info-content__inner .ttl-type01-linkbox ul {
        position: absolute;
        bottom: 30px;
        right: 30px
    }
}

.img-arrange1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 20px 0 0 0
}

.img-arrange1 figure {
    width: 100%;
    margin: 0 auto 20px;
    text-align: center;
    line-height: 0
}

.img-arrange2 {
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0 0 0
}

.img-arrange2 figure {
    width: calc(50% - 10px);
    margin: 0 20px 20px 0;
    text-align: center;
    line-height: 0
}

.img-arrange2 figure:nth-child(2n) {
    margin-right: 0
}

@media screen and (max-width: 520px) {
    .img-arrange2 figure {
        width: 100%;
        margin: 0 auto 20px
    }

    .img-arrange2 figure:nth-child(2n) {
        margin-right: auto
    }
}

.img-arrange3 {
    display: flex;
    flex-wrap: wrap;
    margin: 20px 0 0 0
}

.img-arrange3 figure {
    width: calc(33.333% - 10px);
    margin: 0 15px 15px 0;
    text-align: center;
    line-height: 0
}

.img-arrange3 figure:nth-child(3n) {
    margin-right: 0
}

@media screen and (max-width: 520px) {
    .img-arrange3 figure {
        width: 100%;
        margin: 0 auto 20px
    }

    .img-arrange3 figure:nth-child(3n) {
        margin-right: auto
    }
}

.pager-wrap-header {
    display: flex;
    align-items: center;
    justify-content: flex-end
}

.pager-wrap-header .pager-text.pager-text-no-item {
    margin: 80px 0 70px;
    text-align: left;
    width: 100%
}

.pager-wrap-header .pager-text.pager-text-no-item+.pager-wrap {
    display: none
}

.pager-wrap-header .pager-wrap {
    margin-left: auto
}

@media screen and (max-width: 520px) {
    .pager-wrap-header {
        display: block
    }

    .pager-wrap-header .pager-text.pager-text-no-item {
        margin: 40px 0 40px;
        text-align: left
    }
}

.pager-wrap-footer {
    padding: 15px 0 0;
    display: flex;
    align-items: center;
    justify-content: flex-end
}

.pager-wrap-footer .pager-wrap-footer-selects {
    display: flex
}

.pager-wrap-footer .pager-wrap-footer-selects .select-type01 {
    margin-right: 10px
}

.pager-wrap-footer .pager-wrap {
    margin-left: auto
}

@media screen and (max-width: 520px) {
    .pager-wrap-footer {
        padding-top: 30px;
        display: block
    }

    .pager-wrap-footer .pager-wrap-footer-selects {
        display: block;
        width: 100%
    }

    .pager-wrap-footer .pager-wrap-footer-selects .select-type01 {
        margin-right: 0;
        margin-bottom: 10px
    }
}

.pager-text {
    margin: 0;
    text-align: left
}

@media screen and (max-width: 767px) {
    .pager-text {
        text-align: center;
        margin-top: 30px;
        margin-bottom: 20px
    }

    .pager-text+.pager-wrap {
        margin-top: 20px
    }
}

.pager-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin: 30px 0 30px
}

@media screen and (max-width: 767px) {
    .pager-wrap {
        margin-bottom: 40px
    }
}

.pager-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 0 7px
}

.pager-list li {
    margin: 0 4px;
    width: 30px;
    line-height: 1
}

.pager-list li a,
.pager-list li span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #fff;
    font-family: 'Lato', sans-serif;
    font-size: 13px;
    font-weight: 400;
    color: #1A1A1A;
    text-align: center;
    text-decoration: none !important
}

.pager-list li a:hover,
.pager-list li span:hover {
    color: #fff;
    background: #606
}

.pager-list li.current span {
    color: #fff;
    background: #606
}

@media screen and (max-width: 767px) {
    .pager-list li {
        margin: 0 3px;
        width: 36px
    }

    .pager-list li a,
    .pager-list li span {
        width: 36px;
        height: 36px
    }
}

.pager-btn a {
    display: block;
    width: 20px;
    height: 30px
}

.pager-btn a span {
    display: none
}

.pager-btn a:hover {
    opacity: 0.7
}

.pager-btn.pager-btn-prev a {
    background: url(/images/common/pager_arrow_l.svg) 50% 50% no-repeat;
    background-size: 6.5px 12px
}

.pager-btn.pager-btn-next a {
    background: url(/images/common/pager_arrow_r.svg) 50% 50% no-repeat;
    background-size: 6.5px 12px
}

.pager-btn.pager-btn-prev-first {
    margin-right: 10px
}

.pager-btn.pager-btn-prev-first a {
    background: url(/images/common/pager_arrow_l_last.svg) 50% 50% no-repeat;
    background-size: 13px 13px
}

.pager-btn.pager-btn-next-last {
    margin-left: 10px
}

.pager-btn.pager-btn-next-last a {
    background: url(/images/common/pager_arrow_r_last.svg) 50% 50% no-repeat;
    background-size: 13px 13px
}

@media screen and (max-width: 767px) {
    .pager-btn a {
        width: 26px;
        height: 36px
    }

    .pager-btn.pager-btn-prev-first {
        margin-right: 6px
    }

    .pager-btn.pager-btn-next-last {
        margin-left: 6px
    }
}

.modaal-image-link {
    position: relative;
    display: inline-block;
    line-height: 0;
    border: solid 1px #606;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease
}

.modaal-image-link::before {
    content: " ";
    display: inline-block;
    position: absolute;
    width: auto;
    height: auto;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
    top: 0;
    left: 0;
    width: 17px;
    height: 17px;
    background: url(/images/common/icon_expansion.png) no-repeat 0 0;
    z-index: 2
}

.modaal-image-link:hover {
    opacity: 0.7
}

button,
input,
select,
textarea {
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Noto Sans JP', sans-serif
}

@media screen and (max-width: 520px) {

    input[type="text"],
    input[type="tel"],
    input[type="email"],
    input[type="password"],
    select,
    textarea {
        font-size: 16px !important
    }
}

@media screen and (min-width: 961px) {
    button {
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease
    }

    button:hover {
        opacity: 0.7
    }
}

.select-type01 {
    -webkit-appearance: none;
    appearance: none;
    display: inline-block;
    position: relative;
    width: 234px;
    max-width: 100%;
    overflow: hidden;
    height: 45px;
    padding: 0px 30px 0px 15px;
    border: none;
    line-height: 1.2;
    border-radius: 0px;
    background: #F7F7F7 url(/images/common/icon_select_arrow.svg) calc(100% - 14px) 50% no-repeat;
    background-size: 9.3px 5px;
    color: #4D4D4D;
    font-size: 13px
}

.select-type01:focus>option:checked {
    color: #fff;
    background: #606 !important
}

@media screen and (max-width: 520px) {
    .select-type01 {
        width: 100%;
        height: 50px
    }
}

.search-keyword {
    max-width: 670px;
    margin: 0 auto 30px
}

.search-keyword form {
    display: flex
}

.search-keyword input[type="text"] {
    -webkit-appearance: none;
    appearance: none;
    width: calc(100% - 100px);
    height: 56px;
    border: 1px solid #DDDDDD;
    border-right: none;
    color: #1A1A1A;
    font-size: 13px;
    padding: 0 20px
}

.search-keyword button[type="submit"] {
    -webkit-appearance: none;
    appearance: none;
    display: block;
    border: none;
    width: 100px;
    height: 56px;
    background: #606 url(/images/common/icon_searh_w.svg) 25px 50% no-repeat;
    background-size: 14px 14px;
    cursor: pointer;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
    padding-left: 47px
}

@media screen and (max-width: 520px) {
    .search-keyword input[type="text"] {
        height: 46px;
        width: calc(100% - 80px)
    }

    .search-keyword button[type="submit"] {
        height: 46px;
        width: 80px;
        background-position: 13px 50%;
        padding-left: 35px
    }
}

.search-keyword-comment {
    max-width: 670px;
    margin: 0 auto 30px
}

.fb_iframe_widget {
    line-height: 1
}

.js-news-list-swiper {
    position: relative;
    padding-bottom: 70px
}

@media screen and (max-width: 520px) {
    .js-news-list-swiper {
        padding-bottom: 0px
    }
}

.js-news-list-swiper .swiper-slide {
    width: 286px;
    height: auto;
    padding-right: 30px;
    margin-right: 30px;
    border-right: 1px solid #DDDDDD
}

.js-news-list-swiper .swiper-slide:last-child {
    width: 256px;
    padding-right: 0px !important;
    margin-right: 0px !important;
    border-right: none !important
}

@media screen and (max-width: 520px) {
    .js-news-list-swiper .swiper-slide {
        width: 265px;
        padding-right: 25px;
        margin-right: 25px
    }

    .js-news-list-swiper .swiper-slide:last-child {
        width: 240px
    }
}

.js-news-list-swiper .swiper-slide a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0px !important;
    color: #1A1A1A
}

@media screen and (min-width: 961px) {
    .js-news-list-swiper .swiper-slide a:hover .news-list__info h3 {
        color: #606
    }
}

.js-news-list-swiper .swiper-slide a.blank-iconlink {
    color: #1A1A1A;
    padding: 0px;
    background: none !important;
    text-decoration: none
}

.js-news-list-swiper .swiper-slide .news-list__ph {
    position: relative;
    line-height: 0;
    overflow: hidden
}

.js-news-list-swiper .swiper-slide .news-list__ph::before {
    content: " ";
    display: block;
    width: 100%;
    padding-top: 56.25%
}

.js-news-list-swiper .swiper-slide .news-list__ph img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    object-fit: cover;
    object-position: center center
}

.js-news-list-swiper .swiper-slide .news-list__info {
    padding-top: 15px;
    margin-bottom: 12px
}

.js-news-list-swiper .swiper-slide .news-list__info dl {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 3px
}

.js-news-list-swiper .swiper-slide .news-list__info dl dt {
    font-family: 'Lato', sans-serif;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1;
    margin: 0 10px 5px 0
}

.js-news-list-swiper .swiper-slide .news-list__info dl dd {
    margin: 0 0 5px 0
}

.js-news-list-swiper .swiper-slide .news-list__info h3 {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 10px
}

.js-news-list-swiper .swiper-slide .news-list__more-text {
    display: block;
    position: relative;
    text-align: right;
    color: #7E13AB;
    font-size: .75rem;
    line-height: 1.1
}

.js-news-list-swiper .swiper-slide .news-list__more-text span {
    text-decoration: underline
}

.js-news-list-swiper .swiper-pagination {
    display: none !important;
    bottom: 7px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    z-index: 1;
    font-family: 'Lato', sans-serif !important;
    font-size: .875rem;
    width: 54px;
    left: inherit;
    right: 40px
}

@media screen and (max-width: 520px) {
    .js-news-list-swiper .swiper-pagination {
        display: none !important
    }
}

.js-news-list-swiper .swiper-pagination-bullet {
    position: relative;
    background: #fff
}

.js-news-list-swiper .swiper-button-disabled {
    display: none !important
}

.js-news-list-swiper .swiper-button-prev {
    width: 40px;
    height: 40px;
    margin-top: 0px;
    top: inherit;
    bottom: 0;
    left: inherit;
    right: 60px;
    background: url(/images/common/slider_arrow_l_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.js-news-list-swiper .swiper-button-prev:hover {
    background: url(/images/common/slider_arrow_l.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

@media screen and (max-width: 520px) {
    .js-news-list-swiper .swiper-button-prev {
        display: none !important
    }
}

.js-news-list-swiper .swiper-button-next {
    width: 40px;
    height: 40px;
    margin-top: 0px;
    top: inherit;
    bottom: 0;
    right: 0;
    background: url(/images/common/slider_arrow_r_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.js-news-list-swiper .swiper-button-next:hover {
    background: url(/images/common/slider_arrow_r.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

@media screen and (max-width: 520px) {
    .js-news-list-swiper .swiper-button-next {
        display: none !important
    }
}

.js-news-list-swiper .swiper-button-prev:after,
.js-news-list-swiper .swiper-button-next:after {
    display: none
}

.js-event-list-swiper01 {
    position: relative;
    padding-bottom: 70px
}

@media screen and (max-width: 520px) {
    .js-event-list-swiper01 {
        padding-bottom: 0px
    }
}

.js-event-list-swiper01 .swiper-slide {
    width: 350px;
    height: auto;
    margin-right: 25px
}

.js-event-list-swiper01 .swiper-slide:last-child {
    margin-right: 0px !important
}

@media screen and (max-width: 520px) {
    .js-event-list-swiper01 .swiper-slide {
        width: 240px;
        margin-right: 15px
    }
}

.js-event-list-swiper01 .event-link {
    padding: 15px
}

@media screen and (max-width: 520px) {
    .js-event-list-swiper01 .event-link {
        padding: 10px
    }
}

.js-event-list-swiper01 .event-ph {
    margin-bottom: 20px
}

@media screen and (max-width: 520px) {
    .js-event-list-swiper01 .event-ph {
        margin-bottom: 15px
    }
}

.js-event-list-swiper01 .swiper-pagination {
    display: none !important;
    bottom: 7px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    z-index: 1;
    font-family: 'Lato', sans-serif !important;
    font-size: .875rem;
    width: 54px;
    left: inherit;
    right: 40px
}

@media screen and (max-width: 520px) {
    .js-event-list-swiper01 .swiper-pagination {
        display: none !important
    }
}

.js-event-list-swiper01 .swiper-pagination-bullet {
    position: relative;
    background: #fff
}

.js-event-list-swiper01 .swiper-button-disabled {
    display: none !important
}

.js-event-list-swiper01 .swiper-button-prev {
    width: 40px;
    height: 40px;
    margin-top: 0px;
    top: inherit;
    bottom: 0;
    left: inherit;
    right: 60px;
    background: url(/images/common/slider_arrow_l_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.js-event-list-swiper01 .swiper-button-prev:hover {
    background: url(/images/common/slider_arrow_l.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

@media screen and (max-width: 520px) {
    .js-event-list-swiper01 .swiper-button-prev {
        display: none !important
    }
}

.js-event-list-swiper01 .swiper-button-next {
    width: 40px;
    height: 40px;
    margin-top: 0px;
    top: inherit;
    bottom: 0;
    right: 0;
    background: url(/images/common/slider_arrow_r_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.js-event-list-swiper01 .swiper-button-next:hover {
    background: url(/images/common/slider_arrow_r.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

@media screen and (max-width: 520px) {
    .js-event-list-swiper01 .swiper-button-next {
        display: none !important
    }
}

.js-event-list-swiper01 .swiper-button-prev:after,
.js-event-list-swiper01 .swiper-button-next:after {
    display: none
}

.js-event-list-swiper02 {
    position: relative;
    padding-bottom: 70px
}

@media screen and (max-width: 520px) {
    .js-event-list-swiper02 {
        padding-bottom: 0px
    }
}

.js-event-list-swiper02 .swiper-slide {
    width: 293px;
    height: auto;
    margin-right: 20px
}

.js-event-list-swiper02 .swiper-slide:last-child {
    margin-right: 0px !important
}

@media screen and (max-width: 520px) {
    .js-event-list-swiper02 .swiper-slide {
        width: 270px;
        margin-right: 10px
    }
}

.js-event-list-swiper02 .swiper-pagination {
    display: none !important;
    bottom: 7px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    z-index: 1;
    font-family: 'Lato', sans-serif !important;
    font-size: .875rem;
    width: 54px;
    left: inherit;
    right: 40px
}

@media screen and (max-width: 520px) {
    .js-event-list-swiper02 .swiper-pagination {
        display: none !important
    }
}

.js-event-list-swiper02 .swiper-pagination-bullet {
    position: relative;
    background: #fff
}

.js-event-list-swiper02 .swiper-button-disabled {
    display: none !important
}

.js-event-list-swiper02 .swiper-button-prev {
    width: 40px;
    height: 40px;
    margin-top: 0px;
    top: inherit;
    bottom: 0;
    left: inherit;
    right: 60px;
    background: url(/images/common/slider_arrow_l_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.js-event-list-swiper02 .swiper-button-prev:hover {
    background: url(/images/common/slider_arrow_l.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

@media screen and (max-width: 520px) {
    .js-event-list-swiper02 .swiper-button-prev {
        display: none !important
    }
}

.js-event-list-swiper02 .swiper-button-next {
    width: 40px;
    height: 40px;
    margin-top: 0px;
    top: inherit;
    bottom: 0;
    right: 0;
    background: url(/images/common/slider_arrow_r_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.js-event-list-swiper02 .swiper-button-next:hover {
    background: url(/images/common/slider_arrow_r.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

@media screen and (max-width: 520px) {
    .js-event-list-swiper02 .swiper-button-next {
        display: none !important
    }
}

.js-event-list-swiper02 .swiper-button-prev:after,
.js-event-list-swiper02 .swiper-button-next:after {
    display: none
}

.js-banner-swiper {
    position: relative;
    padding-bottom: 70px
}

@media screen and (max-width: 520px) {
    .js-banner-swiper {
        padding-bottom: 0px
    }
}

.js-banner-swiper .swiper-slide {
    width: 300px;
    height: auto;
    margin-right: 10px
}

.js-banner-swiper .swiper-slide:last-child {
    margin-right: 0px !important
}

@media screen and (max-width: 520px) {
    .js-banner-swiper .swiper-slide {
        width: 270px;
        margin-right: 0px
    }
}

.js-banner-swiper .swiper-pagination {
    display: none !important;
    bottom: 7px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    z-index: 1;
    font-family: 'Lato', sans-serif !important;
    font-size: .875rem;
    width: 54px;
    left: inherit;
    right: 40px
}

@media screen and (max-width: 520px) {
    .js-banner-swiper .swiper-pagination {
        display: none !important
    }
}

.js-banner-swiper .swiper-pagination-bullet {
    position: relative;
    background: #fff
}

.js-banner-swiper .swiper-button-disabled {
    display: none !important
}

.js-banner-swiper .swiper-button-prev {
    width: 40px;
    height: 40px;
    margin-top: 0px;
    top: inherit;
    bottom: 0;
    left: inherit;
    right: 60px;
    background: url(/images/common/slider_arrow_l_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.js-banner-swiper .swiper-button-prev:hover {
    background: url(/images/common/slider_arrow_l.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

@media screen and (max-width: 520px) {
    .js-banner-swiper .swiper-button-prev {
        display: none !important
    }
}

.js-banner-swiper .swiper-button-next {
    width: 40px;
    height: 40px;
    margin-top: 0px;
    top: inherit;
    bottom: 0;
    right: 0;
    background: url(/images/common/slider_arrow_r_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

.js-banner-swiper .swiper-button-next:hover {
    background: url(/images/common/slider_arrow_r.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

@media screen and (max-width: 520px) {
    .js-banner-swiper .swiper-button-next {
        display: none !important
    }
}

.js-banner-swiper .swiper-button-prev:after,
.js-banner-swiper .swiper-button-next:after {
    display: none
}

.pos-rela {
    position: relative !important
}

.op-view {
    opacity: 1 !important
}

.none {
    display: none !important
}

.visible {
    display: block !important
}

figure {
    line-height: 0
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important
}

.block-skip {
    position: relative;
    background: #EFEEEB;
    text-align: center
}

.block-skip a {
    display: inline-block;
    margin: 0.7em auto;
    line-height: 1
}

.block-skip a:not(:focus) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important
}

img {
    max-width: 100%;
    height: auto
}

th img,
td img {
    max-width: inherit;
    height: inherit
}

.cl {
    clear: both !important
}

.align-r_all {
    text-align: right !important
}

.align-c_all {
    text-align: center !important
}

.align-l_all {
    text-align: left !important
}

.v-align-middle {
    vertical-align: middle !important
}

.v-align-top {
    vertical-align: top !important
}

.v-align-bottom {
    vertical-align: bottom !important
}

.mt0_all {
    margin-top: 0 !important
}

.mt5_all {
    margin-top: 5px !important
}

.mt10_all {
    margin-top: 10px !important
}

.mt20_all {
    margin-top: 20px !important
}

.mt30_all {
    margin-top: 30px !important
}

.mt40_all {
    margin-top: 40px !important
}

.mt50_all {
    margin-top: 50px !important
}

.mt60_all {
    margin-top: 60px !important
}

.mt80_all {
    margin-top: 80px !important
}

.mt100_all {
    margin-top: 100px !important
}

.mb0_all {
    margin-bottom: 0 !important
}

.mb5_all {
    margin-bottom: 5px !important
}

.mb10_all {
    margin-bottom: 10px !important
}

.mb15_all {
    margin-bottom: 15px !important
}

.mb20_all {
    margin-bottom: 20px !important
}

.mb30_all {
    margin-bottom: 30px !important
}

.mb40_all {
    margin-bottom: 40px !important
}

.mb50_all {
    margin-bottom: 50px !important
}

.mb60_all {
    margin-bottom: 60px !important
}

.mb80_all {
    margin-bottom: 80px !important
}

.mb100_all {
    margin-bottom: 100px !important
}

.mr_auto_all {
    margin-right: auto !important
}

.mr0_all {
    margin-right: 0 !important
}

.mr5_all {
    margin-right: 5px !important
}

.mr10_all {
    margin-right: 10px !important
}

.mr15_all {
    margin-right: 15px !important
}

.mr20_all {
    margin-right: 20px !important
}

.mr30_all {
    margin-right: 30px !important
}

.mr40_all {
    margin-right: 40px !important
}

.mr50_all {
    margin-right: 50px !important
}

.ml_auto_all {
    margin-left: auto !important
}

.ml0_all {
    margin-left: 0 !important
}

.ml5_all {
    margin-left: 5px !important
}

.ml10_all {
    margin-left: 10px !important
}

.ml15_all {
    margin-left: 15px !important
}

.ml20_all {
    margin-left: 20px !important
}

.ml25_all {
    margin-left: 25px !important
}

.ml30_all {
    margin-left: 30px !important
}

.ml40_all {
    margin-left: 40px !important
}

.ml50_all {
    margin-left: 50px !important
}

.w100p_all {
    width: 100% !important;
    max-width: 100% !important
}

.w50p_all {
    width: 50% !important;
    max-width: 50% !important
}

.w33p_all {
    width: 33.3333% !important;
    max-width: 50% !important
}

.w25p_all {
    width: 25% !important;
    max-width: 50% !important
}

.w100_all {
    width: 100px !important;
    max-width: 50% !important
}

@media screen and (min-width: 961px) {
    .sp-view {
        display: none !important
    }

    .tablet-view {
        display: none !important
    }

    .align-r_pc {
        text-align: right !important
    }

    .align-c_pc {
        text-align: center !important
    }

    .align-l_pc {
        text-align: left !important
    }

    .fs10_pc {
        font-size: .625rem !important
    }

    .fs12_pc {
        font-size: .75rem !important
    }

    .fs14_pc {
        font-size: .875rem !important
    }

    .fs15_pc {
        font-size: .9375rem !important
    }

    .fs16_pc {
        font-size: 1rem !important
    }

    .fs18_pc {
        font-size: 1.125rem !important
    }

    .fs20_pc {
        font-size: 1.25rem !important
    }

    .fs24_pc {
        font-size: 1.5rem !important
    }

    .fs32_pc {
        font-size: 2rem !important
    }

    .mt0_pc {
        margin-top: 0 !important
    }

    .mt5_pc {
        margin-top: 5px !important
    }

    .mt10_pc {
        margin-top: 10px !important
    }

    .mt20_pc {
        margin-top: 20px !important
    }

    .mt30_pc {
        margin-top: 30px !important
    }

    .mt40_pc {
        margin-top: 40px !important
    }

    .mt50_pc {
        margin-top: 50px !important
    }

    .mt60_pc {
        margin-top: 60px !important
    }

    .mt80_pc {
        margin-top: 80px !important
    }

    .mt100_pc {
        margin-top: 100px !important
    }

    .mb0_pc {
        margin-bottom: 0 !important
    }

    .mb5_pc {
        margin-bottom: 5px !important
    }

    .mb10_pc {
        margin-bottom: 10px !important
    }

    .mb20_pc {
        margin-bottom: 20px !important
    }

    .mb30_pc {
        margin-bottom: 30px !important
    }

    .mb40_pc {
        margin-bottom: 40px !important
    }

    .mb50_pc {
        margin-bottom: 50px !important
    }

    .mb60_pc {
        margin-bottom: 60px !important
    }

    .mb80_pc {
        margin-bottom: 80px !important
    }

    .mb100_pc {
        margin-bottom: 100px !important
    }

    .mr0_pc {
        margin-right: 0 !important
    }

    .mr5_pc {
        margin-right: 5px !important
    }

    .mr10_pc {
        margin-right: 10px !important
    }

    .mr15_pc {
        margin-right: 15px !important
    }

    .mr20_pc {
        margin-right: 20px !important
    }

    .mr30_pc {
        margin-right: 30px !important
    }

    .mr40_pc {
        margin-right: 40px !important
    }

    .mr50_pc {
        margin-right: 50px !important
    }

    .ml0_pc {
        margin-left: 0 !important
    }

    .ml5_pc {
        margin-left: 5px !important
    }

    .ml10_pc {
        margin-left: 10px !important
    }

    .ml15_pc {
        margin-left: 15px !important
    }

    .ml20_pc {
        margin-left: 20px !important
    }

    .ml25_pc {
        margin-left: 25px !important
    }

    .ml30_pc {
        margin-left: 30px !important
    }

    .ml40_pc {
        margin-left: 40px !important
    }

    .ml50_pc {
        margin-left: 50px !important
    }

    .pt0_pc {
        padding-top: 0 !important
    }

    .pt5_pc {
        padding-top: 5px !important
    }

    .pt10_pc {
        padding-top: 10px !important
    }

    .pb0_pc {
        padding-bottom: 0 !important
    }

    .pb5_pc {
        padding-bottom: 5px !important
    }

    .pb10_pc {
        padding-bottom: 10px !important
    }

    .w100_pc {
        width: 100px !important;
        max-width: 100px !important
    }

    .w200_pc {
        width: 200px !important;
        max-width: 200px !important
    }

    .w250_pc {
        width: 250px !important;
        max-width: 250px !important
    }

    .w300_pc {
        width: 300px !important;
        max-width: 300px !important
    }

    .w380_pc {
        width: 380px !important;
        max-width: 380px !important
    }

    .w410_pc {
        width: 410px !important;
        max-width: 410px !important
    }

    .w450_pc {
        width: 450px !important;
        max-width: 450px !important
    }

    .w100p_pc {
        width: 100% !important;
        max-width: 100% !important
    }

    .w75p_pc {
        width: 75% !important
    }

    .w50p_pc {
        width: 50% !important
    }

    .w40p_pc {
        width: 40% !important
    }

    .w33p_pc {
        width: 33.33% !important
    }

    .w25p_pc {
        width: 25% !important
    }

    .w20p_pc {
        width: 20% !important
    }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .sp-view {
        display: none !important
    }

    .tablet-view {
        display: block !important
    }

    .pc-view {
        display: none !important
    }

    .align-r_tablet {
        text-align: right !important
    }

    .align-c_tablet {
        text-align: center !important
    }

    .align-l_tablet {
        text-align: left !important
    }

    .fs9_tablet {
        font-size: 9px !important
    }

    .fs10_tablet {
        font-size: 10px !important
    }

    .fs11_tablet {
        font-size: 11px !important
    }

    .fs12_tablet {
        font-size: 12px !important
    }

    .fs13_tablet {
        font-size: 13px !important
    }

    .fs14_tablet {
        font-size: 14px !important
    }

    .fs15_tablet {
        font-size: 15px !important
    }

    .fs16_tablet {
        font-size: 16px !important
    }

    .fs18_tablet {
        font-size: 18px !important
    }

    .fs20_tablet {
        font-size: 20px !important
    }

    .fs24_tablet {
        font-size: 24px !important
    }

    .fs28_tablet {
        font-size: 28px !important
    }

    .mt0_tablet {
        margin-top: 0px !important
    }

    .mt5_tablet {
        margin-top: 5px !important
    }

    .mt10_tablet {
        margin-top: 10px !important
    }

    .mt20_tablet {
        margin-top: 20px !important
    }

    .mt30_tablet {
        margin-top: 30px !important
    }

    .mt40_tablet {
        margin-top: 40px !important
    }

    .mt50_tablet {
        margin-top: 50px !important
    }

    .mt60_tablet {
        margin-top: 60px !important
    }

    .mt80_tablet {
        margin-top: 80px !important
    }

    .mt100_tablet {
        margin-top: 100px !important
    }

    .mb0_tablet {
        margin-bottom: 0 !important
    }

    .mb5_tablet {
        margin-bottom: 5px !important
    }

    .mb10_tablet {
        margin-bottom: 10px !important
    }

    .mb20_tablet {
        margin-bottom: 20px !important
    }

    .mb30_tablet {
        margin-bottom: 30px !important
    }

    .mb40_tablet {
        margin-bottom: 40px !important
    }

    .mb50_tablet {
        margin-bottom: 50px !important
    }

    .mb60_tablet {
        margin-bottom: 60px !important
    }

    .mb80_tablet {
        margin-bottom: 80px !important
    }

    .mb100_tablet {
        margin-bottom: 100px !important
    }

    .mr0_tablet {
        margin-right: 0 !important
    }

    .mr5_tablet {
        margin-right: 5px !important
    }

    .mr10_tablet {
        margin-right: 10px !important
    }

    .mr15_tablet {
        margin-right: 15px !important
    }

    .mr20_tablet {
        margin-right: 20px !important
    }

    .mr30_tablet {
        margin-right: 30px !important
    }

    .mr40_tablet {
        margin-right: 40px !important
    }

    .mr50_tablet {
        margin-right: 50px !important
    }

    .ml0_tablet {
        margin-left: 0 !important
    }

    .ml5_tablet {
        margin-left: 5px !important
    }

    .ml10_tablet {
        margin-left: 10px !important
    }

    .ml15_tablet {
        margin-left: 15px !important
    }

    .ml20_tablet {
        margin-left: 20px !important
    }

    .ml25_tablet {
        margin-left: 25px !important
    }

    .ml30_tablet {
        margin-left: 30px !important
    }

    .ml40_tablet {
        margin-left: 40px !important
    }

    .ml50_tablet {
        margin-left: 50px !important
    }

    .pt0_tablet {
        padding-top: 0 !important
    }

    .pt5_tablet {
        padding-top: 5px !important
    }

    .pt10_tablet {
        padding-top: 10px !important
    }

    .pt15_tablet {
        padding-top: 15px !important
    }

    .pt20_tablet {
        padding-top: 20px !important
    }

    .pt25_tablet {
        padding-top: 25px !important
    }

    .pt30_tablet {
        padding-top: 30px !important
    }

    .pb0_tablet {
        padding-bottom: 0px !important
    }

    .pb10_tablet {
        padding-bottom: 10px !important
    }

    .pb20_tablet {
        padding-bottom: 20px !important
    }

    .w100_tablet {
        width: 100px !important;
        max-width: 100px !important
    }

    .w200_tablet {
        width: 200px !important;
        max-width: 200px !important
    }

    .w250_tablet {
        width: 250px !important;
        max-width: 250px !important
    }

    .w300_tablet {
        width: 300px !important;
        max-width: 300px !important
    }

    .w380_tablet {
        width: 380px !important;
        max-width: 380px !important
    }

    .w410_tablet {
        width: 410px !important;
        max-width: 410px !important
    }

    .w100p_tablet {
        width: 100% !important;
        max-width: 100% !important
    }

    .w75p_tablet {
        width: 75% !important
    }

    .w50p_tablet {
        width: 50% !important
    }

    .w40p_tablet {
        width: 40% !important
    }

    .w33p_tablet {
        width: 33.33% !important
    }

    .w25p_tablet {
        width: 25% !important
    }

    .w20p_tablet {
        width: 20% !important
    }
}

@media screen and (max-width: 520px) {
    .sp-view {
        display: block !important
    }

    .tablet-view {
        display: none !important
    }

    .pc-view {
        display: none !important
    }

    .sp-none {
        display: none !important
    }

    .align-r_sp {
        text-align: right !important
    }

    .align-c_sp {
        text-align: center !important
    }

    .align-l_sp {
        text-align: left !important
    }

    .fs9_sp {
        font-size: 9px !important
    }

    .fs10_sp {
        font-size: 10px !important
    }

    .fs11_sp {
        font-size: 11px !important
    }

    .fs12_sp {
        font-size: 12px !important
    }

    .fs13_sp {
        font-size: 13px !important
    }

    .fs14_sp {
        font-size: 14px !important
    }

    .fs15_sp {
        font-size: 15px !important
    }

    .fs16_sp {
        font-size: 16px !important
    }

    .fs18_sp {
        font-size: 18px !important
    }

    .fs20_sp {
        font-size: 20px !important
    }

    .fs24_sp {
        font-size: 24px !important
    }

    .fs28_sp {
        font-size: 28px !important
    }

    .mt0_sp {
        margin-top: 0px !important
    }

    .mt5_sp {
        margin-top: 5px !important
    }

    .mt10_sp {
        margin-top: 10px !important
    }

    .mt15_sp {
        margin-top: 15px !important
    }

    .mt20_sp {
        margin-top: 20px !important
    }

    .mt25_sp {
        margin-top: 25px !important
    }

    .mt30_sp {
        margin-top: 30px !important
    }

    .mt40_sp {
        margin-top: 40px !important
    }

    .mt50_sp {
        margin-top: 50px !important
    }

    .mt60_sp {
        margin-top: 60px !important
    }

    .mt80_sp {
        margin-top: 80px !important
    }

    .mt100_sp {
        margin-top: 100px !important
    }

    .mb0_sp {
        margin-bottom: 0 !important
    }

    .mb5_sp {
        margin-bottom: 5px !important
    }

    .mb10_sp {
        margin-bottom: 10px !important
    }

    .mb15_sp {
        margin-bottom: 15px !important
    }

    .mb20_sp {
        margin-bottom: 20px !important
    }

    .mb25_sp {
        margin-bottom: 25px !important
    }

    .mb30_sp {
        margin-bottom: 30px !important
    }

    .mb40_sp {
        margin-bottom: 40px !important
    }

    .mb50_sp {
        margin-bottom: 50px !important
    }

    .mb60_sp {
        margin-bottom: 60px !important
    }

    .mb80_sp {
        margin-bottom: 80px !important
    }

    .mb100_sp {
        margin-bottom: 100px !important
    }

    .mr0_sp {
        margin-right: 0 !important
    }

    .mr5_sp {
        margin-right: 5px !important
    }

    .mr10_sp {
        margin-right: 10px !important
    }

    .mr15_sp {
        margin-right: 15px !important
    }

    .mr20_sp {
        margin-right: 20px !important
    }

    .mr30_sp {
        margin-right: 30px !important
    }

    .mr40_sp {
        margin-right: 40px !important
    }

    .mr50_sp {
        margin-right: 50px !important
    }

    .ml0_sp {
        margin-left: 0 !important
    }

    .ml5_sp {
        margin-left: 5px !important
    }

    .ml10_sp {
        margin-left: 10px !important
    }

    .ml15_sp {
        margin-left: 15px !important
    }

    .ml20_sp {
        margin-left: 20px !important
    }

    .ml25_sp {
        margin-left: 25px !important
    }

    .ml30_sp {
        margin-left: 30px !important
    }

    .ml40_sp {
        margin-left: 40px !important
    }

    .ml50_sp {
        margin-left: 50px !important
    }

    .pt0_sp {
        padding-top: 0 !important
    }

    .pt5_sp {
        padding-top: 5px !important
    }

    .pt10_sp {
        padding-top: 10px !important
    }

    .pt15_sp {
        padding-top: 15px !important
    }

    .pt20_sp {
        padding-top: 20px !important
    }

    .pt25_sp {
        padding-top: 25px !important
    }

    .pt30_sp {
        padding-top: 30px !important
    }

    .pb0_sp {
        padding-bottom: 0px !important
    }

    .pb10_sp {
        padding-bottom: 10px !important
    }

    .pb20_sp {
        padding-bottom: 20px !important
    }

    .w100p_sp {
        width: 100% !important;
        max-width: 100% !important
    }

    .w75p_sp {
        width: 75% !important
    }

    .w50p_sp {
        width: 50% !important
    }

    .w40p_sp {
        width: 40% !important
    }

    .w33p_sp {
        width: 33.33% !important
    }

    .w25p_sp {
        width: 25% !important
    }

    .w20p_sp {
        width: 20% !important
    }

    .order1_sp {
        order: 1 !important
    }

    .order2_sp {
        order: 2 !important
    }

    .order3_sp {
        order: 3 !important
    }

    .order4_sp {
        order: 4 !important
    }

    .order5_sp {
        order: 5 !important
    }
}

/*# sourceMappingURL=parts-module.css.map */

