@import url("//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&display=swap");

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

* {
    margin: 0;
    padding: 0;
    font-style: normal;
    box-sizing: border-box
}

main {
    display: block
}

li {
    list-style: none
}

ol,
ul,
dl,
p {
    margin-top: 0;
    margin-bottom: 0
}

iframe {
    border: none
}

h1 {
    font-size: 2em;
    margin: 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

fieldset {
    padding: 0.35em 0.75em 0.625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

body {
    position: relative;
    color: #1A1A1A;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Noto Sans JP', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.75;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
    background: #fff;
    overflow-y: auto;
    min-height: 100vh
}

@media screen and (min-width: 961px) {
    body {
        min-width: 1100px
    }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    body {
        font-size: 14px
    }
}

@media screen and (max-width: 520px) {
    body {
        font-size: 14px;
        line-height: 1.8;
        border-top: 1px solid #fff
    }
}

a {
    color: #1A1A1A;
    text-decoration: none
}

a:hover {
    color: #7E13AB
}

#container {
    position: relative;
    margin: 0 auto
}

#main {
    position: relative;
    margin: 0 auto;
    text-align: left;
    min-height: 400px;
    line-height: 1.85;
    letter-spacing: 0.04em
}

.inner-max {
    position: relative;
    max-width: 1280px;
    margin: 0 auto
}

.inner {
    position: relative;
    max-width: 1200px;
    padding: 0px 50px;
    margin: 0 auto
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .inner {
        padding: 0px 20px
    }
}

@media screen and (max-width: 520px) {
    .inner {
        padding: 0px 15px
    }
}

.inner .inner-flex2,
.inner .inner-flex2-s,
.inner .inner-flex3 {
    padding-left: 0 !important;
    padding-right: 0 !important
}

.inner-flex {
    display: flex
}

.inner-flex2 {
    position: relative;
    max-width: 1200px;
    padding: 0px 50px;
    margin: 0 auto
}

.inner-flex2__inner {
    display: flex;
    flex-wrap: wrap;
    margin-left: -40px;
    margin-right: -40px
}

.inner-flex2__item {
    width: calc(50% - 80px);
    margin: 0 40px
}

.inner-flex2__item .cate-top-box {
    margin-top: 0px;
    margin-bottom: 0px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .inner-flex2 {
        padding: 0px 20px
    }

    .inner-flex2__inner {
        margin-left: -20px;
        margin-right: -20px
    }

    .inner-flex2__item {
        width: calc(50% - 40px);
        margin: 0 20px
    }
}

@media screen and (max-width: 520px) {
    .inner-flex2 {
        padding: 0px 15px
    }

    .inner-flex2__inner {
        display: block;
        margin-left: 0px;
        margin-right: 0px
    }

    .inner-flex2__item {
        width: auto !important;
        margin: 0 0 4px 0
    }

    .inner-flex2__item .cate-top-box {
        margin-top: 60px;
        margin-bottom: 60px
    }
}

.inner-flex2-s {
    position: relative;
    max-width: 1200px;
    padding: 0px 50px;
    margin: 0 auto
}

.inner-flex2-s__inner {
    display: flex;
    margin-left: -1px;
    margin-right: -1px
}

.inner-flex2-s__item {
    width: calc(50% - 2px);
    margin: 0 1px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .inner-flex2-s {
        padding: 0px 20px
    }
}

@media screen and (max-width: 520px) {
    .inner-flex2-s {
        padding: 0px 15px
    }

    .inner-flex2-s__inner {
        display: block;
        margin-left: 0px;
        margin-right: 0px
    }

    .inner-flex2-s__item {
        width: auto !important;
        margin: 0 0 4px 0
    }
}

.inner-flex3 {
    position: relative;
    max-width: 1200px;
    padding: 0px 50px;
    margin: 0 auto
}

.inner-flex3__inner {
    display: flex;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px
}

.inner-flex3__item {
    width: calc(33.333% - 30px);
    margin: 0 15px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .inner-flex3 {
        padding: 0px 20px
    }

    .inner-flex3__inner {
        display: block;
        margin-left: 0px;
        margin-right: 0px
    }

    .inner-flex3__item {
        width: auto !important;
        margin: 0 0 4px 0
    }
}

@media screen and (max-width: 520px) {
    .inner-flex3 {
        padding: 0px 15px
    }

    .inner-flex3__inner {
        display: block;
        margin-left: 0px;
        margin-right: 0px
    }

    .inner-flex3__item {
        width: auto !important;
        margin: 0 0 4px 0
    }
}

.breadcrumb-wrap {
    position: relative;
    z-index: 10;
    width: 100%;
    padding: 15px 0
}

@media screen and (max-width: 520px) {
    .breadcrumb-wrap {
        padding: 10px 0px
    }
}

.breadcrumb-wrap.for-kv {
    position: absolute;
    top: 0;
    left: 0
}

.breadcrumb-wrap.for-kv .breadcrumb .breadcrumb-item {
    color: #FFFFFF
}

.breadcrumb-wrap.for-kv .breadcrumb .breadcrumb-item::after {
    border-color: #FFFFFF !important
}

.breadcrumb-wrap.for-kv .breadcrumb .breadcrumb-item a {
    color: #FFFFFF
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    max-width: 1200px;
    padding: 0px 50px;
    margin: 0 auto
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .breadcrumb {
        padding: 0px 20px
    }
}

@media screen and (max-width: 520px) {
    .breadcrumb {
        padding: 0px 15px
    }
}

.breadcrumb .breadcrumb-item {
    position: relative;
    margin-right: 10px;
    padding-right: 16px;
    color: #000000;
    font-size: .8125rem
}

@media screen and (max-width: 520px) {
    .breadcrumb .breadcrumb-item {
        font-size: 12px
    }
}

.breadcrumb .breadcrumb-item::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0px;
    margin: auto;
    width: 6px;
    height: 6px;
    border-left: 2px solid #000000;
    border-bottom: 2px solid #000000;
    transform: rotate(-135deg)
}

@media screen and (max-width: 520px) {
    .breadcrumb .breadcrumb-item::after {
        border-width: 1px !important
    }
}

.breadcrumb .breadcrumb-item a {
    color: #000000;
    text-decoration: underline
}

.breadcrumb .breadcrumb-item a:hover {
    text-decoration: none
}

.breadcrumb .breadcrumb-item:last-child {
    margin-right: 0;
    padding-right: 0
}

.breadcrumb .breadcrumb-item:last-child::after {
    display: none
}

#header-emergency {
    position: relative;
    z-index: 1
}

.emergency-view #header-emergency {
    display: block !important
}

.emergency-item {
    background: #BD1515;
    color: #fff;
    padding: 14px 25px 14px 0px;
    display: flex;
    align-items: center
}

@media screen and (max-width: 520px) {
    .emergency-item {
        display: block;
        padding: 14px 15px 10px 15px
    }
}

.emergency-item>dt {
    padding: 0 14px;
    display: flex;
    white-space: nowrap;
    min-width: 205px
}

@media screen and (max-width: 520px) {
    .emergency-item>dt {
        display: block;
        padding: 0;
        margin-bottom: 5px
    }
}

.emergency-item>dt strong {
    font-size: .875rem;
    padding: 0 8px 0 20px;
    background: url(/images/common/icon_attention_w.svg) 0 50% no-repeat;
    background-size: 14px 14px
}

.emergency-item>dt .btn-rss {
    font-size: .75rem;
    font-weight: 700;
    padding: 5px 8px 5px 20px;
    background: rgba(0, 0, 0, 0.25) url(/images/common/icon_rss_w.svg) 7px 50% no-repeat;
    background-size: 10px 10px !important
}

.emergency-item>dt .btn-rss:hover {
    color: #AC3434;
    background: #fff url(/images/common/icon_rss_red.svg) 7px 50% no-repeat !important
}

.emergency-item>dd {
    width: calc(100% - 205px);
    border-left: 1px solid #fff;
    padding: 0 14px
}

.emergency-item>dd dl {
    display: flex;
    margin-bottom: 1px
}

.emergency-item>dd dl dt {
    min-width: 80px;
    padding-right: 10px;
    white-space: nowrap
}

.emergency-item>dd dl dd {
    width: calc(100% - 80px);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis
}

.emergency-item>dd dl dd a {
    color: #fff;
    text-decoration: underline
}

.emergency-item>dd dl dd a:hover {
    color: #fff;
    text-decoration: none
}

@media screen and (max-width: 520px) {
    .emergency-item>dd {
        width: auto;
        padding: 0;
        border-left: none
    }

    .emergency-item>dd dl {
        display: block;
        margin-bottom: 5px
    }

    .emergency-item>dd dl dt {
        display: none
    }

    .emergency-item>dd dl dd {
        width: auto;
        overflow: inherit;
        white-space: normal;
        line-height: 1.5
    }
}

#js-header-emergency__close-btn {
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    width: 25px;
    height: 25px;
    border: none;
    background: rgba(0, 0, 0, 0.25) url(/images/common/icon_close_w.svg) 50% 50% no-repeat;
    background-size: 10px 10px !important
}

#js-visitor-nav {
    position: fixed;
    z-index: 2000;
    top: 210px;
    right: 0;
    transform: translateX(0)
}

#js-visitor-nav.motion {
    transition: transform 0.25s ease-out
}

@media screen and (max-width: 960px) {
    #js-visitor-nav {
        display: none !important
    }
}

#js-visitor-nav.close {
    transform: translateX(calc(100% - 50px))
}

#js-visitor-nav.close #js-visitor-nav__btn::after {
    background: url(/images/common/icon_plus_w.svg) 0 0 no-repeat
}

#js-visitor-nav #js-visitor-nav__btn {
    -webkit-appearance: none;
    appearance: none;
    position: relative;
    cursor: pointer;
    padding: 20px 0px;
    width: 50px;
    height: 100%;
    color: #fff;
    font-size: .875rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    background: none;
    border: none
}

#js-visitor-nav #js-visitor-nav__btn::after {
    content: " ";
    display: block;
    width: 12px;
    height: 12px;
    position: absolute;
    bottom: 15px;
    left: calc(50% - 6px);
    background: url(/images/common/icon_minus_w.svg) 0 0 no-repeat;
    background-size: 100% 100% !important
}

#js-visitor-nav #js-visitor-nav__btn span {
    writing-mode: vertical-rl;
    position: absolute;
    top: 20px;
    left: calc(50% - 0.5em)
}

#js-visitor-nav dl {
    border-radius: 6px 0 0 6px;
    background: #606;
    display: flex
}

#js-visitor-nav dl dt {
    width: 50px;
    border-right: 1px solid rgba(204, 204, 204, 0.3)
}

#js-visitor-nav dl dd {
    min-width: 130px
}

#js-visitor-nav dl dd ul li {
    border-bottom: 1px solid rgba(204, 204, 204, 0.3)
}

#js-visitor-nav dl dd ul li:last-child {
    border-bottom: none
}

#js-visitor-nav dl dd ul li a {
    position: relative;
    display: block;
    line-height: 1;
    padding: 20px 20px 20px 30px;
    color: #fff;
    font-size: .8125rem
}

#js-visitor-nav dl dd ul li a:hover {
    background-color: #4F004F
}

#js-visitor-nav dl dd ul li a::after {
    content: " ";
    position: absolute;
    top: calc(50% - 4px);
    left: 15px;
    width: 5px;
    height: 5px;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-135deg)
}

#gdpr-box {
    pointer-events: all
}

@media print {
    #header-wrap {
        display: none !important
    }

    .header-nav01,
    .header-nav02 {
        display: none !important
    }

    #js-visitor-nav,
    #page-top {
        display: none !important
    }

    #gdpr-box {
        display: none !important
    }

    .footer-nav,
    .footer-nav01,
    .footer-nav02-wrap,
    .footer-nav03 {
        display: none !important
    }

    #footer-inner02 {
        background: none !important;
        border-top: 1px solid #DDDDDD !important
    }

    .copyright {
        position: static !important;
        padding: 0px 0 20px 0 !important;
        text-align: center !important;
        width: 100% !important;
        color: #000 !important
    }

    .copyright .sp-view {
        display: none !important
    }

    #js-kv-thumb-swiper .swiper-slide {
        max-width: 25% !important
    }
}

@media screen and (min-width: 961px) {
    body.drawer-open {
        top: 0 !important
    }
}

@media screen and (max-width: 960px) {
    body.drawer-open {
        overflow: auto;
        height: 100%;
        left: 0px;
        bottom: 0;
        top: 0;
        width: 100%;
        position: fixed;
        pointer-events: none
    }
}

body.drawer-open #js-drawer-menu button {
    background: #F0F0F0 url(/images/common/header_menu_close.svg) 50% 50% no-repeat;
    background-size: 17px 17px
}

#js-drawer-menu {
    display: none;
    position: absolute;
    z-index: 10011;
    top: 0px;
    right: 0px
}

@media screen and (max-width: 960px) {
    #js-drawer-menu {
        display: block !important
    }
}

#js-drawer-menu button {
    position: relative;
    -webkit-appearance: none;
    appearance: none;
    display: block;
    border: none;
    width: 84px;
    height: 88px;
    background: #F0F0F0 url(/images/common/header_menu.svg) 50% 50% no-repeat;
    background-size: 20px 18px;
    cursor: pointer
}

@media screen and (max-width: 520px) {
    #js-drawer-menu button {
        width: 68px;
        height: 94px
    }
}

#header-wrap {
    min-height: 110px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    #header-wrap {
        min-height: 88px
    }
}

@media screen and (max-width: 520px) {
    #header-wrap {
        min-height: 94px
    }
}

#header {
    position: relative;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
    min-height: 110px;
    background: #fff;
    pointer-events: all;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.03)
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    #header {
        min-height: 88px
    }
}

@media screen and (max-width: 520px) {
    #header {
        min-height: 94px
    }
}

body.header-fixed #header {
    position: fixed !important
}

#header-inner {
    position: relative;
    z-index: 10010;
    min-height: 110px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    #header-inner {
        min-height: 88px
    }
}

@media screen and (max-width: 520px) {
    #header-inner {
        min-height: 94px
    }
}

.header-nav01 {
    background: #F0F0F0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end
}

.header-nav01__01 {
    display: flex;
    order: 2
}

.header-nav01__01 li {
    margin-left: 1px
}

.header-nav01__01 li:first-child {
    margin-left: 0
}

.header-nav01__01 li a {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #4D4D4D;
    padding: 3px 23px;
    font-size: .8125rem;
    color: #fff
}

.header-nav01__01 li a span {
    display: inline-block;
    min-height: 14px
}

.header-nav01__01 li a:hover {
    background: #606
}

.header-nav01__02 {
    display: flex;
    order: 1
}

.header-nav01__02 li {
    position: relative
}

.header-nav01__02 li::before {
    content: " ";
    display: block;
    width: 1px;
    height: 20px;
    background: #CCCCCC;
    position: absolute;
    left: 0px;
    top: calc(50% - 10px)
}

.header-nav01__02 li:first-child::before {
    display: none
}

.header-nav01__02 li a {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3px 23px;
    font-size: .8125rem;
    font-weight: 700
}

.header-nav01__02 li a span {
    display: inline-block;
    min-height: 15px
}

.header-nav01__02 li a:hover {
    color: #7E13AB
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .header-nav01 {
        background: none
    }

    .header-nav01__01 {
        order: 1;
        width: 100%;
        justify-content: flex-end;
        padding-right: 84px
    }

    .header-nav01__01 li a {
        min-height: 44px;
        background: #606
    }

    .header-nav01__02 {
        order: 2;
        width: 100%;
        justify-content: flex-end;
        padding-right: 84px;
        position: relative;
        z-index: 10
    }

    .header-nav01__02 li a {
        min-height: 44px
    }
}

@media screen and (max-width: 590px) {

    .header-nav01__01 li a,
    .header-nav01__02 li a {
        padding: 3px 12px
    }
}

@media screen and (max-width: 520px) {
    .header-nav01__01 {
        order: 1;
        width: 100%;
        justify-content: flex-end;
        padding-right: 64px
    }

    .header-nav01__01 li {
        width: 50%
    }

    .header-nav01__01 li a {
        min-height: 36px;
        background: #606
    }

    .header-nav01__02 {
        display: none
    }
}

.header-nav01__01__01 a span {
    background: url(/images/common/icon_note_w.svg) 0 50% no-repeat;
    background-size: 12px 14px;
    padding-left: 20px
}

.header-nav01__01__02 a span {
    background: url(/images/common/icon_mail_w.svg) 0 50% no-repeat;
    background-size: 15px 11px;
    padding-left: 24px
}

.header-nav01__02__01 a span {
    background: url(/images/common/icon_point.svg) 0 50% no-repeat;
    background-size: 11px 15px;
    padding-left: 20px
}

.header-nav01__02__01 a:hover span {
    background: url(/images/common/icon_point_purple.svg) 0 50% no-repeat;
    background-size: 11px 15px
}

.header-nav01__02__02 a span {
    background: url(/images/common/icon_searh.svg) 0 50% no-repeat;
    background-size: 14px 14px;
    padding-left: 22px
}

.header-nav01__02__02 a:hover span {
    background: url(/images/common/icon_searh_purple.svg) 0 50% no-repeat;
    background-size: 14px 14px
}

.header-nav01__02__03 a span {
    background: url(/images/common/icon_heart.svg) 0 50% no-repeat;
    background-size: 15px 13px;
    padding-left: 24px
}

.header-nav01__02__03 a:hover span {
    background: url(/images/common/icon_heart_purple.svg) 0 50% no-repeat;
    background-size: 15px 13px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .header-nav01__02__03 {
        display: none
    }
}

.header-nav01__02__04 a span {
    background: url(/images/common/icon_global.svg) 0 50% no-repeat;
    background-size: 15px 15px;
    padding-left: 24px
}

.header-nav01__02__04 a:hover span {
    background: url(/images/common/icon_global_purple.svg) 0 50% no-repeat;
    background-size: 15px 15px
}

.header-logo {
    position: absolute;
    z-index: 10020;
    top: 0;
    left: 0;
    line-height: 0;
    padding: 35px 30px 20px;
    background: #fff;
    max-height: 110px;
    height: 110px
}

.header-logo a,
.header-logo strong {
    position: relative;
    display: block;
    width: 205px;
    height: 40px;
    background: url(/images/common/logo.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .header-logo {
        z-index: 1;
        padding: 20px;
        max-height: 88px;
        height: 88px
    }

    .header-logo a,
    .header-logo strong {
        width: 188px;
        height: 46px
    }
}

@media screen and (max-width: 590px) {
    .header-logo {
        padding: 20px 8px
    }
}

@media screen and (max-width: 520px) {
    .header-logo {
        top: 36px;
        padding: 14px 15px 8px;
        max-height: 58px;
        height: 58px
    }

    .header-logo a,
    .header-logo strong {
        width: 154px;
        height: 30px
    }
}

@media screen and (min-width: 961px) {
    .header-nav02 {
        display: block !important;
        height: auto !important;
        position: relative;
        z-index: 10011;
        background: #fff
    }
}

@media screen and (max-width: 960px) {
    .header-nav02 {
        display: none;
        z-index: 20000
    }
}

.js-header-megamenu-close {
    display: none
}

@media screen and (min-width: 961px) {
    .header-nav02__nav {
        padding-left: 260px
    }

    .header-nav02__nav>ul {
        display: flex;
        justify-content: flex-end;
        padding-right: 20px
    }

    .header-nav02__nav>ul>li {
        padding: 5px 16px
    }

    .header-nav02__nav>ul>li .js-sp-drawer__nav__accordion-btn {
        min-height: 60px
    }

    .header-nav02__nav>ul>li .js-sp-drawer__nav__accordion-btn a {
        color: #1A1A1A !important;
        width: 100%;
        min-height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: .8125rem;
        font-weight: 700;
        line-height: 1.3;
        text-align: center
    }

    .header-nav02__nav>ul>li .js-sp-drawer__nav__accordion-btn a span {
        position: relative;
        display: inline-block;
        padding: 5px 0
    }

    .header-nav02__nav>ul>li .header-nav02__nav__normal-link {
        color: #1A1A1A !important;
        width: 100%;
        min-height: 60px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: .8125rem;
        font-weight: 700;
        line-height: 1.3;
        text-align: center
    }

    .header-nav02__nav>ul>li .header-nav02__nav__normal-link span {
        position: relative;
        display: inline-block;
        padding: 5px 0
    }

    .header-nav02__nav>ul>li.header-nav02__nav__item:hover .js-sp-drawer__nav__accordion-btn a span::before {
        content: " ";
        display: block;
        width: 100%;
        height: 2px;
        background: #606;
        position: absolute;
        left: 0px;
        bottom: -2px
    }

    .header-nav02__nav>ul>li.header-nav02__nav__item:hover .js-sp-drawer__nav__accordion-btn a span::after {
        content: " ";
        position: absolute;
        z-index: 10200;
        left: calc(50% - 7px);
        top: calc(50% + 30px);
        width: 0px;
        height: 0px;
        border-style: solid;
        border-color: #606 transparent transparent transparent;
        border-width: 10px 7px 0 7px
    }

    .header-megamenu-body {
        display: none !important
    }

    .header-megamenu-body.menu-view {
        display: block !important;
        position: absolute;
        z-index: 10100;
        top: 100%;
        left: 0;
        width: 100%;
        overflow: auto;
        max-height: calc(100vh - 110px);
        opacity: 0;
        transition: opacity 0.3s ease-out
    }

    .header-megamenu-body.menu-view.menu-op {
        opacity: 1
    }

    #js-header-megamenu-body-bg {
        position: absolute;
        z-index: 10001;
        top: 100%;
        left: 0;
        width: 100%;
        background: #fff;
        height: 0
    }

    #js-header-megamenu-bg {
        display: none;
        pointer-events: none;
        position: absolute;
        z-index: 10000;
        top: 100%;
        left: 0;
        width: 100%;
        height: calc(100vh - 100%);
        background: rgba(0, 0, 0, 0.5)
    }

    .header-megamenu-body__inner {
        display: flex;
        align-items: flex-start;
        margin: 0 auto;
        max-width: 1200px;
        padding: 40px 50px
    }

    .header-megamenu-body__photo {
        width: 260px;
        margin-right: 60px;
        line-height: 0
    }

    .header-megamenu-body__text {
        width: calc(100% - 320px);
        display: flex;
        flex-wrap: wrap
    }

    .header-megamenu-body__text__l {
        width: calc(50% - 20px)
    }

    .header-megamenu-body__text__r {
        width: calc(50% - 20px);
        margin-left: 40px
    }

    .header-megamenu-body__link-type01-wrap {
        width: 100%;
        margin-bottom: 30px
    }

    .header-megamenu-body__link-type01-wrap a.header-megamenu-body__link-type01 {
        display: block;
        padding-bottom: 15px;
        padding-right: 40px;
        line-height: 1.2;
        font-size: 1.25rem;
        font-weight: 700;
        color: #1A1A1A;
        background: url(/images/common/arror_r01_w.svg) calc(100% - 1px) 2px no-repeat;
        background-size: 25px 25px;
        border-bottom: 1px solid #1A1A1A
    }

    .header-megamenu-body__link-type01-wrap a.header-megamenu-body__link-type01:hover {
        background: url(/images/common/arror_r01_hover.svg) calc(100% - 1px) 2px no-repeat;
        background-size: 25px 25px;
        border-bottom: 1px solid #606
    }

    .header-megamenu-body__linklist-type01 {
        display: flex;
        flex-wrap: wrap;
        width: 100%
    }

    .header-megamenu-body__linklist-type01 li {
        margin: 0 20px 15px 0;
        width: calc(50% - 10px)
    }

    .header-megamenu-body__linklist-type01 li:nth-child(2n) {
        margin-right: 0
    }

    .header-megamenu-body__linklist-type01 li a {
        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
    }

    .header-megamenu-body__linklist-type01 li a::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%
    }

    .header-megamenu-body__linklist-type01 li a:hover {
        color: #7E13AB
    }

    .header-megamenu-body__linklist-type01 li a:hover::before {
        background: url(/images/common/arror_r01_hover.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }

    .header-megamenu-body__linklist-type01 li a.header-nav02__blank-iconlink02::before {
        background: url(/images/common/icon_otherlink02.svg) 50% 50% no-repeat;
        background-size: 17px 17px !important
    }

    .header-megamenu-body__linklist-type01 li a.header-nav02__blank-iconlink02:hover::before {
        background: url(/images/common/icon_otherlink02_purple.svg) 50% 50% no-repeat
    }

    .header-megamenu-body__linklist-type02 {
        display: flex;
        flex-wrap: wrap
    }

    .header-megamenu-body__linklist-type02 li {
        width: calc(50% - 10px);
        margin: 0 20px 20px 0;
        border: 1px solid #DDDDDD
    }

    .header-megamenu-body__linklist-type02 li:nth-child(2n) {
        margin-right: 0
    }

    .header-megamenu-body__linklist-type02 li a {
        display: block
    }

    .header-megamenu-body__linklist-type02 li a figure {
        line-height: 0;
        text-align: center
    }

    .header-megamenu-body__linklist-type02 li a figure img {
        width: 100%
    }

    .header-megamenu-body__linklist-type02 li a span {
        display: flex;
        align-items: center;
        min-height: 60px;
        padding: 5px 40px 5px 15px;
        font-size: .875rem;
        font-weight: 700;
        line-height: 1.4;
        background: url(/images/common/arror_r01_w.svg) calc(100% - 10px) 50% no-repeat;
        background-size: 25px 25px
    }

    .header-megamenu-body__linklist-type02 li a:hover span {
        background: url(/images/common/arror_r01_hover.svg) calc(100% - 10px) 50% no-repeat;
        background-size: 25px 25px
    }

    .header-megamenu-body__linklist-type02 li a.header-nav02__blank-iconlink02 span {
        background: url(/images/common/icon_otherlink02.svg) calc(100% - 13px) 50% no-repeat;
        background-size: 17px 17px !important
    }

    .header-megamenu-body__linklist-type02 li a.header-nav02__blank-iconlink02:hover {
        color: #7E13AB
    }

    .header-megamenu-body__linklist-type02 li a.header-nav02__blank-iconlink02:hover span {
        background: url(/images/common/icon_otherlink02_purple.svg) calc(100% - 13px) 50% no-repeat
    }

    .header-megamenu-body__linklist-type03 li a {
        display: inline-block;
        position: relative;
        color: #1A1A1A;
        font-size: .875rem;
        padding-left: 14px
    }

    .header-megamenu-body__linklist-type03 li a::before {
        content: " ";
        display: block;
        width: 8px;
        height: 1px;
        background: #CCCCCC;
        position: absolute;
        top: 0.75em;
        left: 0
    }

    .header-megamenu-body__linklist-type03 li a:hover {
        color: #7E13AB
    }

    .header-megamenu-body__linklist-type03 li a:hover::before {
        background: #606
    }

    .js-header-megamenu-body__accordion-sp-btn {
        display: none
    }

    .js-header-megamenu-body__accordion-sp-body .header-megamenu-body__link-type01-wrap {
        margin-bottom: 20px
    }

    .header-megamenu-body__text__l__flex {
        display: flex
    }

    .header-megamenu-body__text__l__flex .header-megamenu-body__linklist-type03:nth-child(1) {
        width: 125px
    }

    .header-megamenu-body__text__l__flex .header-megamenu-body__linklist-type03:nth-child(2) {
        width: calc(100% - 125px)
    }

    .header-megamenu-body__text__dl {
        margin-bottom: 20px
    }

    .header-megamenu-body__text__dl:last-child {
        margin-bottom: 0
    }

    .header-megamenu-body__text__dl dt {
        color: #888888;
        font-size: .9375rem;
        margin-bottom: 3px;
        display: block !important
    }

    .header-megamenu-body__text__dl dd {
        display: block !important
    }

    .header-megamenu-body__text__dl dd ul li a {
        display: inline-block;
        position: relative;
        color: #1A1A1A;
        font-size: .875rem;
        padding-left: 14px
    }

    .header-megamenu-body__text__dl dd ul li a::before {
        content: " ";
        display: block;
        width: 8px;
        height: 1px;
        background: #CCCCCC;
        position: absolute;
        top: 0.75em;
        left: 0
    }

    .header-megamenu-body__text__dl dd ul li a:hover {
        color: #7E13AB
    }

    .header-megamenu-body__text__dl dd ul li a:hover::before {
        background: #606
    }

    .js-header-megamenu-body__accordion-sp-body {
        display: block !important
    }

    .js-header-megamenu-close {
        position: absolute;
        top: 0;
        right: 0;
        -webkit-appearance: none;
        appearance: none;
        display: block;
        border: none;
        width: 50px;
        height: 50px;
        background: url(/images/common/header_search_close.svg) 0 0 no-repeat;
        background-size: 100% 100%;
        cursor: pointer
    }

    .js-header-megamenu-close:hover {
        opacity: 1;
        background: url(/images/common/header_search_close_o.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }

    .header-nav02__blank-iconlink {
        padding-right: 20px;
        background: url(/images/common/icon_otherlink.svg) calc(100% - 1px) 50% no-repeat;
        background-size: 13px 13px !important
    }

    .header-nav02__blank-iconlink:hover {
        background: url(/images/common/icon_otherlink_purple.svg) calc(100% - 1px) 50% no-repeat
    }
}

@media screen and (min-width: 961px) and (max-width: 1213px) {
    .header-nav02__nav>ul {
        padding-right: 10px
    }

    .header-nav02__nav>ul>li {
        padding-left: 13px;
        padding-right: 13px
    }
}

@media screen and (min-width: 961px) and (max-width: 1160px) {
    .header-nav02__nav>ul {
        padding-right: 5px
    }

    .header-nav02__nav>ul>li {
        padding-left: 9px;
        padding-right: 9px
    }
}

@media screen and (min-width: 961px) and (max-width: 1070px) {
    .header-nav02__nav>ul>li {
        padding-left: 7px;
        padding-right: 7px
    }
}

#js-header-search {
    display: none;
    background: #fff;
    border-top: 1px solid #E7EEED;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 9999
}

.header-search {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 50px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .header-search {
        padding: 35px 50px
    }
}

@media screen and (min-width: 521px) {
    .header-search form {
        display: flex
    }

    .header-search 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
    }

    .header-search 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 (min-width: 961px) {
    #js-header-search__close-btn {
        position: absolute;
        top: 0;
        right: 0;
        -webkit-appearance: none;
        appearance: none;
        display: block;
        border: none;
        width: 50px;
        height: 50px;
        background: url(/images/common/header_search_close.svg) 0 0 no-repeat;
        background-size: 100% 100%;
        cursor: pointer
    }

    #js-header-search__close-btn span {
        display: none
    }

    #js-header-search__close-btn:hover {
        opacity: 1;
        background: url(/images/common/header_search_close_o.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .header-search__close-btn-wrap {
        text-align: center;
        padding-top: 23px
    }

    #js-header-search__close-btn {
        -webkit-appearance: none;
        appearance: none;
        display: inline-block;
        border: none;
        min-height: 20px;
        background: url(/images/common/header_menu_close.svg) 0 50% no-repeat;
        background-size: 17px 17px;
        cursor: pointer;
        font-size: 13px;
        font-weight: 700;
        color: #1A1A1A
    }

    #js-header-search__close-btn span {
        padding-left: 30px
    }
}

.sp-drawer__keyword {
    display: none
}

.sp-drawer__other-nav {
    display: none
}

.sp-drawer__lang-nav {
    display: none
}

.sp-drawer__sns-nav {
    display: none
}

.sp-drawer__close {
    display: none
}

#js-sp-drawer-bg {
    display: none;
    position: absolute;
    z-index: 20000;
    top: 0;
    left: 0;
    width: 100%;
    height: 120vh;
    pointer-events: all;
    background-color: rgba(0, 0, 0, 0.75)
}

@media screen and (min-width: 961px) {
    #js-sp-drawer-bg {
        display: none !important
    }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    #js-sp-drawer-bg {
        top: 88px
    }
}

@media screen and (max-width: 520px) {
    #js-sp-drawer-bg {
        top: 94px
    }
}

@media screen and (max-width: 960px) {
    #js-sp-drawer {
        z-index: 20001;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        background: #F0F0F0;
        pointer-events: all;
        overflow: auto
    }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    #js-sp-drawer {
        top: 88px;
        max-height: calc(100vh - 88px)
    }
}

@media screen and (max-width: 520px) {
    #js-sp-drawer {
        top: 94px;
        max-height: calc(100vh - 94px)
    }
}

@media screen and (max-width: 960px) {
    body.header-fixed #js-sp-drawer {
        position: fixed
    }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    body.header-fixed #js-sp-drawer {
        top: 88px;
        max-height: calc(100% - 88px) !important
    }
}

@media screen and (max-width: 520px) {
    body.header-fixed #js-sp-drawer {
        top: 94px;
        max-height: calc(100% - 94px) !important
    }
}

@media screen and (max-width: 960px) {
    .sp-drawer__other-nav {
        display: block
    }

    .sp-drawer__other-nav__01 {
        display: flex;
        flex-wrap: wrap;
        border-bottom: 1px solid #CCCCCC
    }

    .sp-drawer__other-nav__01 li {
        position: relative;
        width: 25%;
        height: 58px
    }

    .sp-drawer__other-nav__01 li::before {
        content: " ";
        display: block;
        width: 1px;
        height: 20px;
        background: #CCCCCC;
        position: absolute;
        left: 0px;
        top: calc(50% - 10px)
    }

    .sp-drawer__other-nav__01 li:first-child::before {
        display: none
    }

    .sp-drawer__other-nav__01 li a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.2;
        padding: 0 10px
    }

    .sp-drawer__other-nav__02 {
        display: flex;
        border-bottom: 1px solid #CCCCCC
    }

    .sp-drawer__other-nav__02 li {
        position: relative;
        width: 50%;
        height: 58px
    }

    .sp-drawer__other-nav__02 li a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        font-size: 13px;
        font-weight: 700
    }

    .sp-drawer__other-nav__02__01 span {
        display: inline-block;
        padding: 0 19px 0 19px;
        background: url(/images/common/icon_point.svg) 0 50% no-repeat;
        background-size: 11px 15px
    }

    .sp-drawer__other-nav__02__02 span {
        display: inline-block;
        padding: 0 20px 0 22px;
        background: url(/images/common/icon_heart.svg) 0 50% no-repeat;
        background-size: 15px 13px
    }

    .js-sp-drawer__nav__accordion-btn {
        position: relative;
        pointer-events: all;
        cursor: pointer;
        display: flex;
        align-items: center;
        height: 55px;
        padding: 0 20px;
        font-size: 14px;
        font-weight: 700;
        border-bottom: 1px solid #CCCCCC
    }

    .js-sp-drawer__nav__accordion-btn::after {
        content: " ";
        display: block;
        position: absolute;
        right: 20px;
        top: calc(50% - 10px);
        width: 16px;
        height: 16px;
        background: url(/images/common/icon_plus_purple.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }

    .js-sp-drawer__nav__accordion-btn.open::after {
        background: url(/images/common/icon_minus_purple.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }

    .js-sp-drawer__nav__accordion-btn a {
        pointer-events: none;
        display: block
    }

    .js-sp-drawer__nav__accordion-body {
        display: none;
        background: #fff
    }

    .sp-drawer__sns-nav {
        display: block;
        border-bottom: 1px solid #CCCCCC
    }

    .sp-drawer__sns-nav ul {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 30px 0
    }

    .sp-drawer__sns-nav ul li {
        width: 28px;
        margin: 0 10px;
        line-height: 0
    }

    .sp-drawer__sns-nav ul li a {
        display: block
    }

    .sp-drawer__sns-nav ul li a img {
        width: 28px;
        height: 28px
    }

    .sp-drawer__close {
        display: block;
        padding: 25px 0;
        text-align: center;
        line-height: 1
    }

    .sp-drawer__close button {
        position: relative;
        -webkit-appearance: none;
        appearance: none;
        display: inline-block;
        border: none;
        min-width: 80px;
        height: 30px;
        padding-left: 35px;
        padding-right: 10px;
        background: url(/images/common/header_menu_close.svg) 5px 50% no-repeat;
        background-size: 17px 17px;
        cursor: pointer;
        color: #1A1A1A;
        font-size: 13px;
        font-weight: 700
    }

    #js-header-megamenu-body-bg {
        display: none !important
    }

    .header-megamenu-body__photo {
        display: none !important
    }

    .header-megamenu-body__text {
        background: #DEDEDE
    }

    .header-nav02__nav__normal-link {
        position: relative;
        display: flex;
        align-items: center;
        text-align: left;
        width: 100%;
        height: 55px;
        color: #1A1A1A;
        font-size: 14px;
        font-weight: 700;
        line-height: 1.2;
        padding: 0 35px 0 15px;
        border-bottom: 1px solid #CCCCCC
    }

    .header-nav02__nav__normal-link::before {
        content: "";
        position: absolute;
        top: calc(50% - 3px);
        right: 19px;
        width: 7px;
        height: 7px;
        border-left: 1px solid #606;
        border-bottom: 1px solid #606;
        transform: rotate(-135deg)
    }

    .header-nav02__nav__normal-link:hover {
        color: #1A1A1A
    }

    .header-megamenu-body__link-type01 {
        position: relative;
        display: flex;
        align-items: center;
        text-align: left;
        width: 100%;
        height: 50px;
        color: #1A1A1A;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.2;
        padding: 0 35px 0 15px;
        border-bottom: 1px solid #fff
    }

    .header-megamenu-body__link-type01::before {
        content: "";
        position: absolute;
        top: calc(50% - 3px);
        right: 19px;
        width: 7px;
        height: 7px;
        border-left: 1px solid #606;
        border-bottom: 1px solid #606;
        transform: rotate(-135deg)
    }

    .header-megamenu-body__link-type01:hover {
        color: #1A1A1A
    }

    .header-megamenu-body__linklist-type01,
    .header-megamenu-body__linklist-type03 {
        position: relative;
        display: flex;
        flex-wrap: wrap
    }

    .header-megamenu-body__linklist-type01::after,
    .header-megamenu-body__linklist-type03::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background: #fff
    }

    .header-megamenu-body__linklist-type01 li,
    .header-megamenu-body__linklist-type03 li {
        width: 50%;
        height: 50px;
        border-bottom: 1px solid #fff;
        border-right: 1px solid #fff
    }

    .header-megamenu-body__linklist-type01 li a,
    .header-megamenu-body__linklist-type03 li a {
        display: flex;
        align-items: center;
        text-align: left;
        width: 100%;
        height: 50px;
        color: #4D4D4D;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.2;
        padding: 0 15px 0 15px
    }

    .header-megamenu-body__linklist-type01 li a.header-nav02__blank-iconlink02 span,
    .header-megamenu-body__linklist-type03 li a.header-nav02__blank-iconlink02 span {
        padding-right: 20px;
        background: url(/images/common/icon_otherlink.svg) 100% 50% no-repeat;
        background-size: 14px 14px
    }

    .header-megamenu-body__linklist-type02 {
        position: relative;
        display: flex;
        flex-wrap: wrap
    }

    .header-megamenu-body__linklist-type02::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background: #fff
    }

    .header-megamenu-body__linklist-type02 li {
        width: 50%;
        min-height: 50px;
        border-bottom: 1px solid #fff;
        border-right: 1px solid #fff
    }

    .header-megamenu-body__linklist-type02 li figure {
        display: none
    }

    .header-megamenu-body__linklist-type02 li a {
        display: flex;
        align-items: center;
        text-align: left;
        width: 100%;
        height: 100%;
        color: #4D4D4D;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.2;
        padding: 1px 15px 1px 15px
    }

    .header-megamenu-body__linklist-type02 li a.header-nav02__blank-iconlink02 span {
        padding-right: 20px;
        background: url(/images/common/icon_otherlink.svg) 100% 50% no-repeat;
        background-size: 14px 14px
    }

    .js-header-megamenu-body__accordion-sp-btn {
        cursor: pointer;
        padding: 0 15px;
        position: relative;
        pointer-events: all;
        display: flex;
        align-items: center;
        text-align: left;
        width: 100%;
        height: 50px;
        color: #1A1A1A;
        font-size: 13px;
        font-weight: 700;
        line-height: 1.2;
        padding: 0 35px 0 15px;
        background: #E6E6E6;
        border-bottom: 1px solid #CCCCCC
    }

    .js-header-megamenu-body__accordion-sp-btn::after {
        content: " ";
        display: block;
        position: absolute;
        right: 15px;
        top: calc(50% - 10px);
        width: 15px;
        height: 15px;
        background: url(/images/common/icon_plus_purple02.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }

    .js-header-megamenu-body__accordion-sp-btn.open::after {
        background: url(/images/common/icon_minus_purple02.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }

    .js-header-megamenu-body__accordion-sp-body {
        display: none
    }

    .js-header-megamenu-body__accordion-sp-body .header-megamenu-body__link-type01 {
        color: #4D4D4D !important
    }

    .header-megamenu-body__text__dl dt {
        position: relative;
        cursor: pointer;
        display: flex;
        align-items: center;
        text-align: left;
        width: 100%;
        height: 50px;
        color: #4D4D4D;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.2;
        padding: 0 35px 0 15px;
        background: #E6E6E6;
        border-bottom: 1px solid #fff
    }

    .header-megamenu-body__text__dl dt::after {
        content: " ";
        display: block;
        position: absolute;
        right: 15px;
        top: calc(50% - 10px);
        width: 15px;
        height: 15px;
        background: url(/images/common/icon_plus_purple02.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }

    .header-megamenu-body__text__dl dt.open::after {
        background: url(/images/common/icon_minus_purple02.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }

    .header-megamenu-body__text__dl dd {
        display: none
    }

    .header-megamenu-body__text__dl dd ul {
        position: relative;
        display: flex;
        flex-wrap: wrap
    }

    .header-megamenu-body__text__dl dd ul::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background: #fff
    }

    .header-megamenu-body__text__dl dd ul li {
        width: 50%;
        min-height: 50px;
        border-bottom: 1px solid #fff;
        border-right: 1px solid #fff
    }

    .header-megamenu-body__text__dl dd ul li a {
        display: flex;
        align-items: center;
        text-align: left;
        width: 100%;
        height: 100%;
        color: #4D4D4D;
        font-size: 13px;
        font-weight: 400;
        line-height: 1.2;
        padding: 1px 15px 1px 15px
    }

    .header-megamenu-body__text__dl dd ul li a.header-nav02__blank-iconlink span {
        padding-right: 20px;
        background: url(/images/common/icon_otherlink.svg) 100% 50% no-repeat;
        background-size: 14px 14px
    }

    .header-megamenu-body__text__dl.header-megamenu-body__text__dl__sp-type01 dt {
        display: none !important
    }

    .header-megamenu-body__text__dl.header-megamenu-body__text__dl__sp-type01 dd {
        display: block !important
    }

    .header-megamenu-body__text__dl.header-megamenu-body__text__dl__sp-type01 dd ul li {
        width: 100%
    }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .sp-drawer__other-nav__02__01 {
        display: none !important
    }

    .sp-drawer__other-nav__02__02 {
        width: 100% !important
    }

    .header-megamenu-body__linklist-type01 li,
    .header-megamenu-body__linklist-type03 li {
        width: 25%
    }

    .header-megamenu-body__linklist-type01 li:nth-child(4n),
    .header-megamenu-body__linklist-type03 li:nth-child(4n) {
        border-right: none
    }
}

@media screen and (max-width: 520px) {
    #js-header-search {
        display: none !important
    }

    .sp-drawer__keyword {
        display: block !important;
        padding: 18px 15px 28px;
        margin: 0;
        border-bottom: 1px solid #CCCCCC
    }

    .sp-drawer__keyword form {
        display: flex;
        border-bottom: 1px solid #1A1A1A
    }

    .sp-drawer__keyword input[type="text"] {
        -webkit-appearance: none;
        appearance: none;
        width: calc(100% - 45px);
        height: 36px;
        border: none;
        color: #1A1A1A;
        font-size: 16px;
        padding-left: 30px;
        background: url(/images/common/icon_searh.svg) 9px 50% no-repeat;
        background-size: 14px 14px
    }

    .sp-drawer__keyword button[type="submit"] {
        -webkit-appearance: none;
        appearance: none;
        display: block;
        border: none;
        width: 45px;
        height: 36px;
        background: none;
        cursor: pointer;
        color: #1A1A1A;
        font-size: 13px;
        font-weight: 700
    }

    .sp-drawer__other-nav__01 {
        border-bottom: none;
        position: relative;
        display: flex;
        flex-wrap: wrap
    }

    .sp-drawer__other-nav__01::after {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        background: #CCCCCC;
        position: absolute;
        z-index: 1;
        bottom: 0;
        left: 0
    }

    .sp-drawer__other-nav__01 li {
        position: relative;
        z-index: 2;
        width: 50%;
        height: 58px;
        border-bottom: 1px solid #CCCCCC;
        border-right: 1px solid #CCCCCC
    }

    .sp-drawer__other-nav__01 li:nth-child(2n) {
        border-right: none
    }

    .sp-drawer__other-nav__01 li::before {
        display: none
    }

    .sp-drawer__other-nav__02 {
        border-bottom: none;
        position: relative;
        display: flex;
        flex-wrap: wrap
    }

    .sp-drawer__other-nav__02::after {
        content: "";
        display: block;
        width: 100%;
        height: 1px;
        background: #CCCCCC;
        position: absolute;
        z-index: 1;
        bottom: 0;
        left: 0
    }

    .sp-drawer__other-nav__02 li {
        position: relative;
        z-index: 2;
        width: 50%;
        height: 58px;
        border-bottom: 1px solid #CCCCCC;
        border-right: 1px solid #CCCCCC
    }

    .sp-drawer__other-nav__02 li:nth-child(2n) {
        border-right: none
    }

    .sp-drawer__other-nav__02 li::before {
        display: none
    }

    .js-sp-drawer__nav__accordion-btn {
        padding: 0 15px
    }

    .js-sp-drawer__nav__accordion-btn::after {
        right: 15px
    }

    .sp-drawer__lang-nav {
        display: block;
        border-bottom: 1px solid #CCCCCC
    }

    .sp-drawer__lang-nav dl {
        padding: 20px 15px;
        display: flex;
        align-items: center
    }

    .sp-drawer__lang-nav dl dt {
        position: relative;
        font-size: 13px;
        font-weight: 700;
        white-space: nowrap;
        padding-left: 23px;
        padding-right: 10px;
        min-width: 70px;
        background: url(/images/common/icon_global.svg) 0 50% no-repeat;
        background-size: 15px 15px
    }

    .sp-drawer__lang-nav dl dt::after {
        content: " ";
        display: block;
        width: 1px;
        height: 14px;
        background: #CCCCCC;
        position: absolute;
        right: 0px;
        top: calc(50% - 7px)
    }

    .sp-drawer__lang-nav dl dd {
        padding-left: 20px;
        line-height: 1.1
    }

    .sp-drawer__lang-nav dl dd a {
        display: inline-block;
        margin-right: 30px;
        padding: 2px 0;
        color: #757575;
        font-size: 13px;
        font-weight: 700
    }

    .sp-drawer__lang-nav dl dd a.current {
        color: #1A1A1A;
        border-bottom: 1px solid #1A1A1A
    }
}

#page-top {
    position: fixed;
    bottom: 0px;
    left: 0;
    z-index: 1999;
    width: 100%;
    margin-bottom: 20px;
    pointer-events: none
}

#page-top #page-top-inner {
    position: relative;
    margin: 0 auto
}

#page-top.view a {
    pointer-events: all;
    opacity: 1
}

#page-top a {
    position: absolute;
    bottom: 0;
    right: 50px;
    display: block;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background-color: #606;
    padding-top: 39px;
    line-height: 1;
    text-align: center;
    color: #fff;
    font-weight: 700;
    font-size: .75rem;
    opacity: 0;
    transition: opacity 0.3s ease-out
}

#page-top a::after {
    content: " ";
    display: block;
    width: 12px;
    height: 14px;
    background: url(/images/common/pagetop_arrow.svg) 0 0 no-repeat;
    background-size: 100% 100%;
    position: absolute;
    top: 16px;
    left: calc(50% - 6px);
    transition: top 0.3s ease-out
}

#page-top a:hover::after {
    top: 11px
}

@media screen and (max-width: 960px) {
    #page-top a {
        right: 20px;
        width: 60px;
        height: 60px;
        padding-top: 30px
    }

    #page-top a::after {
        left: calc(50% - 5px);
        width: 10px;
        height: 11.65px;
        top: 12px !important
    }
}

@media screen and (max-width: 520px) {
    #page-top a {
        right: 15px
    }
}

#page-top a i {
    display: block;
    font-style: normal
}

#page-top a i::after {
    content: "TOP";
    display: block;
    text-align: center
}

#footer-wrap {
    margin-top: 115px
}

@media screen and (max-width: 520px) {
    #footer-wrap {
        margin-top: 100px
    }
}

#footer {
    border-top: 1px solid #DDDDDD
}

#footer-inner01 {
    position: relative;
    max-width: 1200px;
    padding: 30px 50px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

@media screen and (max-width: 960px) {
    #footer-inner01 {
        padding: 30px 20px
    }
}

@media screen and (max-width: 520px) {
    #footer-inner01 {
        display: block;
        padding: 30px 15px 20px
    }
}

.footer-logo {
    width: 141px;
    line-height: 0;
    order: 1
}

.footer-logo a {
    display: block
}

.footer-logo img {
    width: 100%
}

@media screen and (max-width: 520px) {
    .footer-logo {
        width: 164px;
        margin: 0 auto
    }
}

.footer-address {
    order: 2;
    width: calc(100% - 141px);
    padding-left: 40px;
    padding-right: 145px;
    font-size: .75rem
}

@media screen and (max-width: 960px) {
    .footer-address {
        width: calc(100%);
        padding-left: 0px;
        padding-right: 0px;
        margin-top: 22px;
        margin-bottom: 5px
    }
}

@media screen and (max-width: 520px) {
    .footer-address p {
        margin-bottom: 5px
    }
}

.footer-sns {
    position: absolute;
    top: calc(50% - 14px);
    right: 50px;
    display: flex
}

.footer-sns li {
    width: 28px;
    line-height: 0;
    margin-left: 20px
}

.footer-sns li a {
    display: block
}

@media screen and (min-width: 961px) {
    .footer-sns a:hover img {
        opacity: 0
    }

    .footer-sns__twitter:hover {
        background: url(/images/common/icon_sns_X_on.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }

    .footer-sns__facebook:hover {
        background: url(/images/common/icon_sns_facebook_on.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }

    .footer-sns__youtube:hover {
        background: url(/images/common/icon_sns_youtube_on.svg) 0 0 no-repeat;
        background-size: 100% 100%
    }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .footer-sns {
        top: 30px;
        right: 20px
    }
}

@media screen and (max-width: 520px) {
    .footer-sns {
        position: static;
        justify-content: center
    }

    .footer-sns li {
        margin: 30px 10px 10px
    }
}

#footer-inner02 {
    position: relative;
    background: #F0F0F0
}

#footer-inner02 nav {
    position: relative;
    display: block;
    max-width: 1200px;
    padding: 30px 50px 0;
    margin: 0 auto
}

@media screen and (max-width: 960px) {
    #footer-inner02 {
        border-top: 1px solid #CCCCCC
    }

    #footer-inner02 nav {
        padding: 0
    }
}

.footer-nav {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -7px
}

@media screen and (max-width: 960px) {
    .footer-nav {
        margin: 0
    }
}

.footer-nav li {
    width: calc(25% - 14px);
    margin: 0 7px
}

.footer-nav li a {
    position: relative;
    display: flex;
    align-items: center;
    height: 70px;
    padding-right: 25px;
    font-size: .9375rem;
    font-weight: 700;
    line-height: 1.2;
    border-bottom: 1px solid #CCCCCC
}

.footer-nav li a::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    width: 6px;
    height: 6px;
    border-left: 1px solid #000000;
    border-bottom: 1px solid #000000;
    transform: rotate(-135deg);
    transition: right .3s
}

.footer-nav li a::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #606;
    transition: transform .3s;
    transform: scale(0, 1);
    transform-origin: left top
}

@media screen and (max-width: 520px) {
    .footer-nav li a::after {
        display: none !important
    }
}

@media screen and (min-width: 961px) {
    .footer-nav li a:hover::before {
        right: 2px;
        border-color: #606 !important
    }

    .footer-nav li a:hover::after {
        transform: scale(1, 1)
    }
}

@media screen and (max-width: 960px) {
    .footer-nav li {
        width: 50%;
        margin: 0px;
        overflow: hidden
    }

    .footer-nav li:nth-child(2n) {
        border-left: 1px solid #CCCCCC
    }

    .footer-nav li a {
        height: 56px;
        padding-right: 25px;
        padding-left: 20px;
        font-size: .875rem
    }

    .footer-nav li a::before {
        right: 20px !important;
        border-color: #606 !important
    }
}

@media screen and (max-width: 520px) {
    .footer-nav li a {
        padding-right: 25px;
        padding-left: 15px
    }

    .footer-nav li a::before {
        right: 15px !important
    }
}

.footer-nav01 {
    display: flex;
    flex-wrap: wrap;
    padding: 30px 0
}

.footer-nav01 li {
    margin-right: 20px
}

.footer-nav01 li a {
    position: relative;
    display: flex;
    align-items: center;
    font-size: .9375rem;
    font-weight: 700;
    padding-right: 37px;
    min-height: 25px;
    background: url(/images/common/arror_r01_alpha_b.svg) calc(100% - 1px) 50% no-repeat;
    background-size: 25px 25px
}

@media screen and (min-width: 961px) {
    .footer-nav01 li a:hover {
        background: url(/images/common/arror_r01_hover.svg) calc(100% - 1px) 50% no-repeat;
        background-size: 25px 25px
    }
}

@media screen and (max-width: 960px) {
    .footer-nav01 {
        padding: 0
    }

    .footer-nav01 li {
        width: 50%;
        margin: 0px;
        border-bottom: 1px solid #CCCCCC
    }

    .footer-nav01 li:nth-child(2n) {
        border-left: 1px solid #CCCCCC
    }

    .footer-nav01 li a {
        position: relative;
        display: flex;
        align-items: center;
        height: 56px;
        padding-right: 25px;
        padding-left: 20px;
        font-size: .875rem;
        background: none
    }

    .footer-nav01 li a::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 20px;
        margin: auto;
        width: 6px;
        height: 6px;
        border-left: 1px solid #606;
        border-bottom: 1px solid #606;
        transform: rotate(-135deg)
    }
}

@media screen and (max-width: 520px) {
    .footer-nav01 li a::before {
        right: 15px !important
    }
}

.footer-nav02-wrap {
    position: relative;
    padding-right: 170px;
    padding-bottom: 35px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .footer-nav02-wrap {
        padding: 35px 200px 35px 20px
    }
}

@media screen and (max-width: 520px) {
    .footer-nav02-wrap {
        padding: 40px 15px 20px 15px
    }
}

.footer-nav02 {
    display: flex;
    flex-wrap: wrap
}

.footer-nav02 li {
    margin-right: 20px;
    margin-bottom: 15px
}

.footer-nav02 li a {
    position: relative;
    display: block;
    padding-left: 13px;
    line-height: 1;
    font-size: .875rem
}

@media screen and (max-width: 520px) {
    .footer-nav02 li a {
        font-size: .75rem
    }
}

.footer-nav02 li a::before {
    content: "";
    position: absolute;
    top: calc(50% - 4px);
    left: -1px;
    width: 6px;
    height: 6px;
    border-left: 1px solid #000000;
    border-bottom: 1px solid #000000;
    transform: rotate(-135deg)
}

@media screen and (min-width: 521px) {
    .footer-nav02 li a:hover::before {
        border-color: #606 !important
    }
}

@media screen and (max-width: 520px) {
    .footer-nav02 {
        justify-content: center
    }
}

.footer-nav-voice {
    position: absolute;
    top: -60px;
    right: 0
}

.footer-nav-voice a {
    display: block;
    background: #4D4D4D;
    font-size: .9375rem;
    color: #fff;
    line-height: 1;
    padding: 13px 22px
}

.footer-nav-voice a span {
    padding-left: 24px;
    background: url(/images/common/icon_speaker_w.svg) 0 50% no-repeat;
    background-size: 17px 14px
}

@media screen and (min-width: 961px) {
    .footer-nav-voice a:hover {
        background: #606
    }
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .footer-nav-voice {
        top: 30px;
        right: 20px
    }

    .footer-nav-voice a {
        padding: 13px 32px
    }
}

@media screen and (max-width: 520px) {
    .footer-nav-voice {
        display: none
    }
}

.footer-nav03 {
    border-top: 1px solid #FFFFFF;
    padding-top: 32px;
    padding-bottom: 32px;
    padding-right: 40%;
    display: flex;
    flex-wrap: wrap
}

.footer-nav03 li {
    line-height: 1;
    padding-right: 16px;
    margin-right: 16px;
    border-right: 1px solid #808080
}

.footer-nav03 li:last-child {
    padding-right: 0px;
    margin-right: 0px;
    border-right: none
}

.footer-nav03 li a {
    color: #808080;
    font-size: .75rem
}

@media screen and (min-width: 961px) {
    .footer-nav03 li a:hover {
        text-decoration: underline
    }
}

@media screen and (max-width: 960px) {
    .footer-nav03 {
        border-top: none;
        padding-top: 0;
        padding-bottom: 15px;
        padding-right: 0;
        justify-content: center
    }

    .footer-nav03 li {
        margin-bottom: 15px
    }
}

.copyright {
    position: absolute;
    bottom: 32px;
    right: 0;
    padding-right: 50px;
    text-align: center;
    color: #808080
}

.copyright small {
    font-size: .75rem;
    display: block;
    line-height: 1.1
}

@media screen and (max-width: 960px) {
    .copyright {
        position: static;
        padding-right: 0px;
        padding-bottom: 35px
    }

    .copyright small {
        line-height: 1.8
    }
}

.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
    }
}

.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: #7E13AB
    }
}

.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: 700;
    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
}

.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 {
    color: #7E13AB
}

@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: #7E13AB
    }
}

.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: #7E13AB
    }

    .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
}

.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: #7E13AB
    }
}

.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: 700;
    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
}

#js-event-swiper {
    position: relative;
    max-width: 1100px;
    margin: 0 auto;
    padding-bottom: 35px
}

@media screen and (max-width: 520px) {
    #js-event-swiper {
        max-width: inherit
    }
}

#js-event-swiper .swiper-slide {
    width: 350px;
    min-width: 350px;
    max-width: 350px;
    margin: 0;
    height: auto;
    background: #fff;
    opacity: 0.45
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    #js-event-swiper .swiper-slide {
        width: 303px;
        min-width: 303px;
        max-width: 303px
    }
}

@media screen and (max-width: 520px) {
    #js-event-swiper .swiper-slide {
        width: 270px;
        min-width: 270px;
        max-width: 270px
    }
}

#js-event-swiper .swiper-slide.swiper-slide-visible {
    opacity: 1
}

#js-event-swiper .swiper-pagination {
    bottom: 0px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

#js-event-swiper .swiper-pagination-bullet {
    position: relative;
    background: #fff
}

#js-event-swiper .swiper-button-disabled {
    display: none !important
}

#js-event-swiper .swiper-button-prev {
    width: 50px;
    height: 50px;
    margin-top: -40px;
    left: inherit;
    right: calc(50% + 565px);
    background: url(/images/common/slider_arrow_l_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

#js-event-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: 960px) {
    #js-event-swiper .swiper-button-prev {
        display: none !important
    }
}

#js-event-swiper .swiper-button-next {
    width: 50px;
    height: 50px;
    margin-top: -40px;
    right: inherit;
    left: calc(50% + 565px);
    background: url(/images/common/slider_arrow_r_purple.svg) 0 0 no-repeat;
    background-size: 100% 100%
}

#js-event-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: 960px) {
    #js-event-swiper .swiper-button-next {
        display: none !important
    }
}

#js-event-swiper .swiper-button-prev:after,
#js-event-swiper .swiper-button-next:after {
    display: none
}

#index-pickup {
    position: relative;
    overflow: hidden;
    padding-top: 90px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    #index-pickup {
        padding-top: 60px
    }
}

@media screen and (max-width: 520px) {
    #index-pickup {
        padding-top: 45px
    }
}

@media screen and (max-width: 520px) {
    #index-pickup .ttl-type01-wrap .ttl-type01__eng {
        display: block;
        padding-left: 0em
    }
}

.pickup-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 64px
}

@media screen and (max-width: 960px) {
    .pickup-list {
        margin-bottom: 50px
    }
}

@media screen and (max-width: 520px) {
    .pickup-list {
        margin-bottom: 40px
    }
}

.pickup-list__item {
    position: relative;
    width: 50%;
    border-right: 1px solid #DDDDDD;
    border-bottom: 1px solid #DDDDDD
}

.pickup-list__item a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 12px;
    color: #1A1A1A
}

.pickup-list__item a figure {
    position: relative;
    line-height: 0;
    overflow: hidden
}

.pickup-list__item a figure::before {
    content: " ";
    display: block;
    width: 100%;
    padding-top: 66.25%
}

.pickup-list__item a 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;
    transition: transform 0.25s ease-out
}

@media screen and (min-width: 961px) {
    .pickup-list__item a:hover figure img {
        transform: translate(-50%, -50%) scale(1.1)
    }

    .pickup-list__item a:hover .pickup-list__more {
        color: #7E13AB
    }

    .pickup-list__item a:hover .pickup-list__more span {
        background: url(/images/common/arror_r01_hover.svg) calc(100% - 1px) 0 no-repeat;
        background-size: 25px 25px
    }
}

@media screen and (max-width: 520px) {
    .pickup-list__item a {
        padding: 15px !important
    }
}

.pickup-list__item a.blank-iconlink {
    padding: 12px;
    color: #1A1A1A;
    text-decoration: none;
    background: none !important
}

.pickup-list__item a.blank-iconlink .pickup-list__more span {
    display: block;
    min-height: 25px;
    padding-right: 35px;
    background: url(/images/common/icon_otherlink02.svg) calc(100% - 6px) calc(50% - 1px) no-repeat;
    background-size: 17px 17px
}

@media screen and (min-width: 961px) {
    .pickup-list__item a.blank-iconlink:hover .pickup-list__more span {
        background: url(/images/common/icon_otherlink02_purple.svg) calc(100% - 6px) calc(50% - 1px) no-repeat;
        background-size: 17px 17px
    }
}

.pickup-list__item .pickup-list__more {
    position: absolute;
    bottom: 20px;
    right: 20px
}

.pickup-list__item .pickup-list__more span {
    display: block;
    min-height: 25px;
    padding-right: 35px;
    background: url(/images/common/arror_r01_alpha_b.svg) calc(100% - 1px) 0 no-repeat;
    background-size: 25px 25px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .pickup-list__item .pickup-list__more {
        right: 15px;
        bottom: 15px
    }
}

@media screen and (max-width: 520px) {
    .pickup-list__item .pickup-list__more {
        right: 15px;
        bottom: 18px
    }
}

.pickup-list__item dl dt {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.45;
    margin-bottom: 8px
}

.pickup-list__item dl dd {
    font-size: .875rem
}

.pickup-list__item.pickup-list__item-type-xl {
    width: 33.333%
}

.pickup-list__item.pickup-list__item-type-xl dl {
    padding: 15px 8px 70px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .pickup-list__item.pickup-list__item-type-xl {
        width: 100%
    }

    .pickup-list__item.pickup-list__item-type-xl a {
        display: flex;
        align-items: center
    }

    .pickup-list__item.pickup-list__item-type-xl a figure {
        width: calc(50% - 12px)
    }

    .pickup-list__item.pickup-list__item-type-xl dl {
        width: calc(50% + 12px);
        padding-left: 24px;
        padding: 20px 10px 30px 24px
    }
}

@media screen and (max-width: 520px) {
    .pickup-list__item.pickup-list__item-type-xl {
        width: 100%
    }

    .pickup-list__item.pickup-list__item-type-xl dl {
        padding: 15px 8px 40px
    }

    .pickup-list__item.pickup-list__item-type-xl dl dt {
        font-size: 18px;
        margin-bottom: 8px
    }

    .pickup-list__item.pickup-list__item-type-xl dl dd {
        font-size: 14px
    }
}

.pickup-list__item.pickup-list__item-type-l {
    width: 33.333%
}

.pickup-list__item.pickup-list__item-type-l dl {
    padding: 15px 8px 70px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .pickup-list__item.pickup-list__item-type-l {
        width: 50%
    }

    .pickup-list__item.pickup-list__item-type-l dl {
        padding: 15px 8px 40px
    }
}

@media screen and (max-width: 520px) {
    .pickup-list__item.pickup-list__item-type-l {
        width: 100%
    }

    .pickup-list__item.pickup-list__item-type-l dl {
        padding: 15px 8px 40px
    }

    .pickup-list__item.pickup-list__item-type-l dl dt {
        font-size: 18px;
        margin-bottom: 8px
    }

    .pickup-list__item.pickup-list__item-type-l dl dd {
        font-size: 14px
    }
}

.pickup-list__item.pickup-list__item-type-m {
    width: 50%
}

.pickup-list__item.pickup-list__item-type-m a {
    display: flex;
    align-items: center
}

.pickup-list__item.pickup-list__item-type-m figure {
    width: 45%
}

.pickup-list__item.pickup-list__item-type-m dl {
    width: 55%;
    padding: 20px 0 25px 20px
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .pickup-list__item.pickup-list__item-type-m a {
        display: block
    }

    .pickup-list__item.pickup-list__item-type-m figure {
        float: left;
        margin-right: 12px;
        margin-bottom: 5px
    }

    .pickup-list__item.pickup-list__item-type-m dl {
        width: auto;
        padding: 10px 0 10px 0px
    }

    .pickup-list__item.pickup-list__item-type-m dl dt {
        font-size: 18px
    }

    .pickup-list__item.pickup-list__item-type-m dl dd {
        clear: both;
        padding-top: 10px;
        padding-bottom: 30px
    }
}

@media screen and (max-width: 520px) {
    .pickup-list__item.pickup-list__item-type-m {
        width: 100%
    }

    .pickup-list__item.pickup-list__item-type-m a {
        display: block
    }

    .pickup-list__item.pickup-list__item-type-m figure {
        float: left;
        margin-right: 12px;
        margin-bottom: 5px
    }

    .pickup-list__item.pickup-list__item-type-m dl {
        width: auto;
        padding: 10px 0 10px 0px
    }

    .pickup-list__item.pickup-list__item-type-m dl dt {
        font-size: 16px
    }

    .pickup-list__item.pickup-list__item-type-m dl dd {
        clear: both;
        padding-top: 10px;
        padding-bottom: 30px;
        font-size: 14px
    }
}

.pickup-list__item.pickup-list__item-type-s {
    width: 50%
}

.pickup-list__item.pickup-list__item-type-s dl {
    padding: 10px 8px 50px
}

.pickup-list__item.pickup-list__item-type-s dl dt {
    font-size: 1rem
}

.pickup-list__item.pickup-list__item-type-s dl dd {
    font-size: .8125rem
}

@media screen and (min-width: 521px) and (max-width: 960px) {
    .pickup-list__item.pickup-list__item-type-s dl {
        padding: 10px 3px 40px
    }
}

@media screen and (max-width: 520px) {
    .pickup-list__item.pickup-list__item-type-s {
        width: 100%
    }

    .pickup-list__item.pickup-list__item-type-s dl {
        padding: 10px 0px 40px
    }

    .pickup-list__item.pickup-list__item-type-s dl dt {
        font-size: 14px
    }

    .pickup-list__item.pickup-list__item-type-s dl dd {
        font-size: 13px
    }
}

#js-pickup-swiper {
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    padding-bottom: 35px;
    padding-top: 1px
}

@media screen and (max-width: 520px) {
    #js-pickup-swiper {
        max-width: inherit
    }
}

#js-pickup-swiper .swiper-slide {
    width: 260px;
    min-width: 260px;
    max-width: 260px;
    height: auto;
    margin: 0 0px;
    min-height: 75px
}

#js-pickup-swiper .swiper-slide a {
    display: block;
    width: 100%;
    height: 100%;
    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;
    background-size: 25px 25px;
    border-bottom: 1px solid #DDDDDD
}

#js-pickup-swiper .swiper-slide a:hover {
    color: #7E13AB;
    background: #F7F7F7 url(/images/common/arror_r01_hover.svg) 15px 50% no-repeat;
    background-size: 25px 25px;
    border-bottom: 1px solid #606
}

#js-pickup-swiper .swiper-slide a.blank-iconlink {
    text-decoration: none
}

#js-pickup-swiper .swiper-slide a.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
}

#js-pickup-swiper .swiper-slide a.blank-iconlink:hover span::after {
    background: url(/images/common/icon_otherlink_purple.svg) 0 0 no-repeat;
    background-size: 13px 13px
}

#js-pickup-swiper .swiper-pagination {
    bottom: 0px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

#js-pickup-swiper .swiper-pagination-bullet {
    position: relative
}

.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=common.css.map */

