b,strong {
    font-weight: inherit
}

b,strong {
    font-weight: bolder
}
h1 {
    font-size: 2em;
}
small {
    font-size: 95%
}

.mod-btn.of-download a,.mod-btn.of-download button {
    color: #fff;
    background: #be375a;
    border: 2px solid #be375a
}

.mod-btn.of-download a::before,.mod-btn.of-download button::before {
    border-color: #fff #fff transparent transparent
}

.mod-btn.of-download a:focus,.mod-btn.of-download a:hover,.mod-btn.of-download button:focus,.mod-btn.of-download button:hover {
    outline-offset: -1px
}

.mod-btn .btn>span::before,.mod-btn a::before,.mod-btn button::before,.mod-btn>span::before {
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: 10px;
    display: block;
    width: 20px;
    height: 20px;
    margin: auto;
    content: "";
    transition: .2s ease;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border: 1px solid;
    border-color: #b1284c #b1284c transparent transparent
}

.mt-50 {
    margin-top: 50px!important
}

sub,sup {
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
    position: relative
}

sup {
    top: -.5em
}

img {
    border-style: none
}
figure {
    margin: 1em 40px
}
button,input,optgroup,select,textarea {
    font: inherit;
    margin: 0
}
button,input {
    overflow: visible
}

button,select {
    text-transform: none
}

[type=reset],[type=submit],button,html [type=button] {
    -webkit-appearance: button
}
#fancybox-loading {
    position: fixed;
    z-index: 1104;
    top: 50%;
    left: 50%;
    display: none;
    overflow: hidden;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    margin-left: -20px;
    cursor: pointer
}
#fancybox-overlay {
    position: absolute;
    z-index: 1100;
    top: 0;
    left: 0;
    display: none;
    width: 100%
}

#fancybox-tmp {
    display: none;
    overflow: auto;
    margin: 0;
    padding: 0;
    border: 0
}

#fancybox-wrap {
    position: absolute;
    z-index: 1101;
    top: 0;
    left: 0;
    display: none;
    padding: 20px;
    outline: 0
}
.mod-hdg-l1,.str-contact,.str-navigation,.str-outer,.str-outer-narrow,.str-outer-wide,.str-outer-wide-02,.str-pageTitle,.str-stepList {
    padding: 0 10px
}

.mod-btn-list>.list::after,.mod-hdg-l1>.inner>.language>.list::after,.mod-input-check>.list::after,.mod-input-radio>.list::after,.mod-list-category>.list::after,.mod-list-thisCategory>.list::after,.mod-list-thisCategory>.list>div>dd>ul::after,.mod-media-lyt-flt::after,.nav-location>.list::after,.str-pageTitle>.inner>.language>.list::after {
    display: block;
    clear: both;
    content: ""
}

.mod-inline-modal-wrap>.mod-inline-modal-contents>.mod-inline-modal-inner>.body>:first-child,.mod-inline-modal-wrap>.mod-inline-modal-contents>.mod-inline-modal-inner>.footer>:first-child,.mod-inline-modal-wrap>.mod-inline-modal-contents>.mod-inline-modal-inner>.header>:first-child,.mod-lyt-full-form>.form-inputLyt>:first-child,.mod-media-article-02>.col>.container>.btnArea>:first-child,.mod-media-article-02>.col>.container>.content>:first-child,.mod-media-article-02>.col>.container>:first-child,.mod-media-article>.inner>.contents .btnArea>:first-child,.mod-media-article>.inner>.contents>:first-child,.str-mainvisual-carousel-01 .slide-content>.inner>:first-child,.str-outer>:first-child {
    margin-top: 0!important
}

.mod-inline-modal-wrap>.mod-inline-modal-contents>.mod-inline-modal-inner>.body>:last-child,.mod-inline-modal-wrap>.mod-inline-modal-contents>.mod-inline-modal-inner>.footer>:last-child,.mod-inline-modal-wrap>.mod-inline-modal-contents>.mod-inline-modal-inner>.header>:last-child,.mod-lyt-full-form>.form-inputLyt>:last-child,.mod-media-article-02>.col>.container>.btnArea>:last-child,.mod-media-article-02>.col>.container>.content>:last-child,.mod-media-article-02>.col>.container>:last-child,.mod-media-article>.inner>.contents .btnArea>:last-child,.mod-media-article>.inner>.contents>:last-child,.str-mainvisual-carousel-01 .slide-content>.inner>:last-child,.str-outer>:last-child {
    margin-bottom: 0!important
}




a img,button img {
    transition: opacity .3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

a.js-modal-img,a.of-movie,a[href$=".doc"],a[href$=".exe"],a[href$=".lzh"],a[href$=".pdf"],a[href$=".ppt"],a[href$=".xls"],a[href$=".zip"],a[target="_blank"] {
    position: relative;
    padding-left: 24px
}

a.js-modal-img .icn,a.of-movie .icn,a[href$=".doc"] .icn,a[href$=".exe"] .icn,a[href$=".lzh"] .icn,a[href$=".pdf"] .icn,a[href$=".ppt"] .icn,a[href$=".xls"] .icn,a[href$=".zip"] .icn,a[target="_blank"] .icn {
    position: absolute;
    top: .195em;
    left: 0;
    margin: 0 20px 0 0
}
sup {
    font-size: 80%
}

figure {
    margin: 0
}
p {
    margin: 0 0 1em
}
.mod-hdg-l1,.str-contact,.str-navigation,.str-outer,.str-outer-narrow,.str-outer-wide,.str-outer-wide-02,.str-pageTitle,.str-stepList {
    padding-right: 10px;
    padding-left: 10px
}

[class^=str-outer] {
    position: relative;
    z-index: 1
}
.mod-form-trendSearch .inner,.str-inner {
    max-width: 1000px;
    margin: 0 auto
}
.mod-form-trendSearch .str-outer-wide>.inner,.str-outer-wide>.str-inner {
    max-width: 1200px
}
.mod-form-trendSearch .str-outer-full>.inner,.str-outer-full>.str-inner {
    max-width: none
}
.str-hidden {
    pointer-events: none;
    color: transparent;
    position: absolute;
    z-index: -1;
    display: block;
    overflow: hidden;
    width: 0;
    height: 0
}

.str-pageTitle {
    color: #fff;
    background: #323e94;
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    margin: 0 0 32px;
    padding: 12px 10px
}

.str-pageTitle>.inner {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto
}

.str-pageTitle>.inner>.hdg:first-child {
    vertical-align: top;
    display: block;
    order: 2;
    margin: 0;
    -webkit-order: 2
}

.str-pageTitle>.inner>.sub {
    font-size: 1.4rem;
    line-height: 1.6;
    order: 3;
    -webkit-order: 3
}

.str-pageTitle>.inner>.sub.of-top {
    order: 1;
    -webkit-order: 1
}
.str-pageTitle .hdg:first-child {
    font-size: 2rem;
    line-height: 1.3
}
.str-column {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    width: 100%;
    max-width: 1210px;
    margin: 19px auto 52px;
    border-collapse: collapse
}

.str-column .str-column-side {
    margin: 0 0 37px;
    padding: 0 10px
}

.mod-form-trendSearch .str-column .str-column-main>[class^=str-outer]:first-child>.inner:first-child>:first-child,.str-column .mod-form-trendSearch .str-column-main>[class^=str-outer]:first-child>.inner:first-child>:first-child,.str-column .str-column-main>[class^=str-outer]:first-child>.str-inner:first-child>:first-child {
    margin-top: 0
}
.str-pageTitle+.str-column {
    margin-top: 0
}
.str-link-side {
    margin-top: 30px
}

.str-link-side>.list:not(:last-child) {
    margin-bottom: 16px
}

.str-link-side>.list>li {
    display: -webkit-flex;
    display: flex;
    overflow: hidden;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    margin: 10px 0 0
}

.str-link-side>.list>li>a.bnr {
    text-decoration: none;
    display: table;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    table-layout: fixed
}
.str-link-side>.list>li>a.bnr>.img {
    display: table-cell;
    width: 100%
}

.str-link-side>.list>li>a.bnr>.img img {
    display: block;
    max-width: 100%
}

.str-link-side>.list>li>a.bnr>.txt {
    text-align: center;
    display: table-caption;
    caption-side: bottom
}
.str-floatingMenu {
    letter-spacing: .6px;
    position: relative;
    z-index: 10;
    padding: 0 10px
}

html[data-script-enabled=true] .str-floatingMenu {
    margin: 100px 0 0;
    padding: 0
}
html[data-script-enabled=true] .str-floatingMenu>.inner {
    position: absolute;
    z-index: 99;
    right: 0;
    bottom: 0;
    will-change: scroll-position,position,transform,contents,margin,bottom
}
html[data-script-enabled=true] .str-floatingMenu.is-fixed>.inner {
    position: fixed;
    right: 0;
    margin: 0
}

.str-floatingMenu .floatingMenu-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #fff;
    background: #04127c;
    margin: 0 0 0 auto;
    padding: 12px 8px;
    cursor: default
}

html[data-script-enabled=true] .str-floatingMenu .floatingMenu-title {
    position: relative;
    width: 320px;
    padding-right: 38px;
    transition: .3s opacity ease-out
}

html[data-script-enabled=true] .str-floatingMenu .floatingMenu-title::after {
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    display: block;
    width: 15px;
    height: 15px;
    margin: auto 0;
    content: "";
    transition: .3s transform ease-out;
    -webkit-transform: rotate(45deg) translate(3px,7px);
    transform: rotate(45deg) translate(3px,7px);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border: 1px solid transparent;
    border-color: #fff transparent transparent #fff
}

html[data-script-enabled=true] .str-floatingMenu .floatingMenu-content:not([aria-hidden=false])>.content-inner {
    display: none
}

html[data-script-enabled=true] .str-floatingMenu .floatingMenu-content>.content-inner {
    width: 320px;
    margin: 0 0 0 auto
}
.site-header-03 {
    position: relative;
    z-index: 120
}
.site-header-03 a {
    text-decoration: none;
    color: #000
}
.site-header-03>.inner {
    background: rgba(255,255,255,.9)
}
.site-header-03>.inner>.content {
    position: relative
}

.site-header-03>.inner>.content>.logo {
    padding: 11px 10px 12px
}

.site-header-03>.inner>.content>.logo .siteName {
    font-size: 1rem;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    margin: 0 0 0 3px
}

.site-header-03>.inner>.content>.logo .siteName a {
    display: block
}

.site-header-03>.inner>.content>.logo img {
    display: block;
    width: 202px;
    height: 16px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}
.site-header-03 .languageLabel>.inner {
    font-size: 1rem;
    text-align: right;
    color: #fff;
    background: #0f1ed2;
    padding: 4px 14px
}

.site-header-03 .languageLabel>.inner p {
    margin: 0
}

.site-header-03 .searchBox {
    width: 100%
}

.site-header-03 .searchBox>.inner {
    background: #fff
}

html[data-script-enabled=true] .site-header-03 .searchBox>.inner {
    position: absolute;
    z-index: 101;
    top: 100%;
    display: none;
    width: 100%
}
.site-header-03 .nav-global-02 {
    line-height: 1.5
}
html[data-script-enabled=true] .site-header-03 .nav-global-02>.content {
    background: #fff;
    position: fixed;
    z-index: 100;
    display: none;
    overflow: auto;
    width: 100%;
    max-height: calc(100% - 105px)
}
.site-header-03 .globalChild>.content {
    display: none
}

html[data-script-enabled=true] .site-header-03 .globalChild>.content {
    left: 50%;
    display: none;
    width: 100vw;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}
.site-header-03 .func-headerHamburger {
    font-size: 1rem;
    background: 0 0;
    position: absolute;
    z-index: 1;
    top: 0;
    right: 5px;
    overflow: hidden;
    width: 35px;
    height: 38px;
    -webkit-appearance: none;
    appearance: none;
    border: 0
}

.site-header-03 .func-headerHamburger::after,.site-header-03 .func-headerHamburger::before,.site-header-03 .func-headerHamburger>span {
    background: #4a4a4a;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    overflow: hidden;
    width: 16px;
    height: 1px;
    margin: auto;
    transition: .3s all ease
}

.site-header-03 .func-headerHamburger::after,.site-header-03 .func-headerHamburger::before {
    content: ""
}

.site-header-03 .func-headerHamburger::before {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px)
}

.site-header-03 .func-headerHamburger>span {
    -webkit-transform: translateY(-1px);
    transform: translateY(-1px)
}

.site-header-03 .func-headerHamburger::after {
    -webkit-transform: translateY(4px);
    transform: translateY(4px)
}
.site-header-03 .func-headerSearch {
    font-size: 1.3rem;
    text-align: center;
    color: #04127c;
    background: 0 0;
    position: absolute;
    z-index: 102;
    top: 0;
    right: 41px;
    overflow: hidden;
    width: 35px;
    height: 38px;
    -webkit-appearance: none;
    appearance: none;
    border: 0
}

.site-header-03 .func-headerSearch img {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 14px;
    margin: auto;
    transition: .3s opacity ease
}

.site-header-03 .func-headerSearch span {
    position: absolute;
    z-index: -1;
    left: 100%
}

.site-header-03 .func-headerSearch span::before {
    background: #fff;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    content: ""
}

.site-header-03 .func-headerSearch::after,.site-header-03 .func-headerSearch::before {
    background: #333;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 15px;
    height: 1px;
    margin: auto;
    content: "";
    transition: .3s opacity ease;
    opacity: 0
}

.site-header-03 .func-headerSearch::before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.site-header-03 .func-headerSearch::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}
.noSync-overlay,.sync-overlay {
    background-color: rgba(0,0,0,.4);
    position: fixed;
    z-index: -1;
    top: 0;
    overflow: hidden;
    width: 100%;
    height: 100%;
    transition: opacity .3s ease-out;
    opacity: 0
}
.nav-location {
    font-size: 1.2rem;
    margin-top: -8px
}
.nav-location>.list {
    position: static;
    margin: 0;
    padding: 12px 0 10px
}

.nav-location>.list b {
    font-weight: 400
}

.nav-location>.list a {
    text-decoration: none;
    border-bottom: 1px solid #adadad
}
.nav-location>.list>li {
    position: relative;
    z-index: 1;
    float: left;
    margin: 8px 33px 0 0
}

.nav-location>.list>li:last-child {
    margin-right: 0
}

.nav-location>.list>li:last-child::after,.nav-location>.list>li:last-child::before {
    display: none
}

.nav-location>.list>li::before {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: -20px;
    display: block;
    width: 0;
    height: 0;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-width: 4px 0 4px 7px;
    border-style: solid;
    border-color: transparent transparent transparent #333
}

.nav-location>.list>li::after {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: -18px;
    display: block;
    width: 0;
    height: 0;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-width: 4px 0 4px 7px;
    border-style: solid;
    border-color: transparent transparent transparent #fff
}

.nav-local .root {
    font-size: 1.6rem;
    font-weight: 700;
    background: #f8f8f8;
    position: relative;
    border-top: 3px solid #858585
}

.nav-local .root::after {
    display: block;
    float: right;
    height: 100%;
    min-height: 48px;
    content: ""
}

html[data-script-enabled=true] .nav-local .root {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    padding: 0 0 0 60px
}

.nav-local .root a,.nav-local .root b.title {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    width: 100%;
    padding: 0 30px 0 0
}
html[data-script-enabled=true] .nav-local .root a {
    display: none
}

.nav-local .root .func-nav-local-btn {
    left: 0;
    width: 56px
}

.nav-local a {
    text-decoration: none
}

.nav-local li>span {
    position: relative;
    display: block
}

.nav-local li>span>a,.nav-local li>span>span {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    padding: 11px 50px 11px 16px
}

.nav-local li>span a[href]::after {
    position: absolute;
    top: 0;
    right: 14px;
    bottom: 0;
    display: block;
    width: 9px;
    height: 9px;
    margin: auto;
    content: "";
    transition: .3s all ease;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border: 1px solid #333;
    border-color: #333 #333 transparent transparent
}
.nav-local li {
    position: relative
}

.nav-local li li {
    font-size: 1.4rem
}

.nav-local li li>span>a,.nav-local li li>span>span {
    padding: 13px 31px 12px 16px
}

.nav-local li li li>span>a,.nav-local li li li>span>span {
    padding: 12px 31px 7px 26px
}
html[data-script-enabled=true] .nav-local>.content {
    transition: .5s height ease
}
.nav-local>.content>.list {
    font-size: 1.6rem;
    background: #f8f8f8;
    border-bottom: 8px solid #f8f8f8
}

.nav-local>.content>.list .list {
    font-size: 1.4rem;
    background: #fff;
    margin: 0 0 0 4px
}

html[data-script-enabled=true] .nav-local>.content>.list .list {
    display: none
}

.nav-local>.content>.list li.is-current>.list {
    display: block
}

.nav-local .is-current>span>a {
    font-weight: 700
}
.nav-local[data-current-layer="5"]>.content>.list>li>.list>li>.list>li.is-current {
    background: #d8dbf3
}

.nav-local[data-current-layer="5"]>.content>.list>li>.list>li>.list>li>.list>li a:not([href]) {
    font-weight: 700;
    color: #fff;
    background: #04127c
}

.func-nav-local-btn {
    background: 0 0;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    overflow: hidden;
    width: 45px;
    margin: auto;
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    border: 0
}

.func-nav-local-btn>span {
    display: block;
    height: 100%;
    transition: .3s transform ease;
    transition: .3s -webkit-transform ease
}

.root>.func-nav-local-btn>span span,.root>.func-nav-local-btn>span::after,.root>.func-nav-local-btn>span::before {
    background: #333;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    overflow: hidden;
    width: 26px;
    height: 1px;
    margin: auto;
    transition: .3s all ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.root>.func-nav-local-btn>span::after,.root>.func-nav-local-btn>span::before {
    content: ""
}

.root>.func-nav-local-btn>span::before {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px)
}

.root>.func-nav-local-btn>span span {
    -webkit-transform: translateY(5px);
    transform: translateY(5px)
}
.root>.func-nav-local-btn+b.title+a {
    display: none
}

html[data-script-enabled=true][data-floatingmenu-active=true] .scroll-top>a {
    transition: .3s margin ease-out,.3s opacity ease
}

html[data-script-enabled=true][data-floatingmenu-active=true] .scroll-top.is-fixed>a {
    margin-bottom: 30px
}

.site-footer-02 {
    position: relative;
    margin: 60px 0 0
}
.site-footer-02 .seg-primary {
    background: #2c69ff
}

.site-footer-02 .seg-primary .sns {
    display: -webkit-flex;
    display: flex;
    margin-bottom: 64px
}

.site-footer-02 .seg-primary .sns li:not(:first-child) {
    margin-left: 24px
}

.site-footer-02 .seg-primary .sns li a {
    padding-left: 0
}

.site-footer-02 .seg-primary .link .list .col {
    font-size: 1.4rem
}

.site-footer-02 .seg-primary .link .list .col:not(:last-child) {
    margin-bottom: 56px
}

.site-footer-02 .seg-primary .link .list .col li:not(:last-child) {
    margin-bottom: 16px
}

.site-footer-02 .seg-primary .link a {
    text-decoration: none;
    word-break: keep-all;
    color: #fff;
    position: relative;
    display: inline-block;
    padding-right: 26px
}

.site-footer-02 .seg-primary .link a::after {
    background-image: url(/nf_global/v3/common/img/2021/site/footer-icn-06.png);
    background-size: cover;
    position: absolute;
    top: calc(50% - 9px);
    right: 0;
    display: block;
    width: 16px;
    height: 16px;
    content: ""
}
.site-footer-02 .seg-primary .link .title {
    font-size: 1.8rem;
    font-weight: 400;
    color: #fff;
    display: block;
    margin: 0 0 16px
}

[lang=ja] .site-footer-02 .seg-primary .link .title {
    word-break: break-all
}
.site-footer-02 .seg-primary .str-outer {
    padding: 64px 30px
}

.mod-form-trendSearch .site-footer-02 .seg-primary .str-outer .inner,.site-footer-02 .seg-primary .str-outer .mod-form-trendSearch .inner,.site-footer-02 .seg-primary .str-outer .str-inner {
    max-width: 1288px
}

.site-footer-02 .seg-primary .scroll-top {
    font-size: 1.2rem;
    position: relative;
    margin: 0
}

.site-footer-02 .seg-primary .scroll-top>a {
    line-height: 2.5;
    text-decoration: none;
    text-align: right;
    color: #fff;
    background: #646e74;
    position: absolute;
    z-index: 100;
    right: 0;
    bottom: 20px;
    display: block;
    overflow: hidden;
    padding: 0 10px 0 35px
}

html[data-script-enabled=true] .site-footer-02 .seg-primary .scroll-top>a {
    pointer-events: none;
    transition: .3s opacity ease;
    opacity: 0
}

.site-footer-02 .seg-primary .scroll-top>a::before {
    position: absolute;
    top: 50%;
    left: 7px;
    display: block;
    width: 20px;
    height: 20px;
    margin: -3px 0 0;
    content: "";
    -webkit-transform: rotate(48deg) skew(6deg);
    transform: rotate(48deg) skew(6deg);
    border: 1px solid #fff;
    border-width: 1px 0 0 1px
}
html[data-script-enabled=true] .site-footer-02 .seg-primary .scroll-top.is-fixed>a {
    position: fixed;
    right: 0;
    bottom: 20px
}
html[data-cookiebar] .site-footer-02 .seg-primary .scroll-top.is-fixed>a {
    transition: .3s opacity ease,.2s bottom ease-out
}
.site-footer-02 .seg-secondary {
    font-size: 1.2rem;
    color: #fff;
    background: #0f1ed2;
    position: relative;
    z-index: 0
}

.site-footer-02 .seg-secondary .list {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    margin-bottom: 64px
}

.site-footer-02 .seg-secondary .list>li:not(:last-child) {
    margin-bottom: 24px
}

.site-footer-02 .seg-secondary a {
    text-decoration: none;
    color: #fff
}
.site-footer-02 .seg-secondary .copyright {
    text-align: center;
    margin-bottom: 0
}

.site-footer-02 .seg-secondary .copyright small {
    font-size: 100%
}
.site-footer-02 .seg-secondary .str-outer-wide {
    padding: 64px 30px 40px 30px
}
.mod-hdg-l2 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.41667;
    text-align: center;
    margin: 30px 0 18px
}
.mod-hdg-l2-02 {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.41667;
    margin: 30px 0 18px
}
.mod-hdg-l3-02 {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.36364;
    margin: 48px 0 20px;
    padding: 0 0 7px;
    border-bottom: 1px solid #9d9d9d
}
.mod-hdg-l4-02 {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.36364;
    margin: 38px 0 20px;
    padding: 5px 0 2px 7px;
    border-left: 7px solid #bfbfbf
}

.mod-hdg-l5-02 {
    font-size: 1.0rem;
    font-weight: 400;
    line-height: 1.36364;
    margin: 38px 0 20px;
    padding: 5px 0 2px 7px;
    border-left: 7px solid #bfbfbf
}

.mod-hdg-l6 {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.6;
    text-align: center;
    margin: 18px 0 10px
}
.mod-link.of-list {
    margin: 0 0 52px
}
.mod-link.of-list>.list>li {
    overflow: hidden;
    max-width: 100%;
    margin: 0 0 14px
}
.mod-link.of-list>.list>li>a {
    text-decoration: none;
    color: #000;
    position: relative;
    display: inline-block;
    max-width: 100%
}
[lang=ja] .mod-link.of-list>.list>li>a {
    word-break: break-all
}
.mod-link.of-list>.list>li>a::after {
    position: relative;
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 6px;
    content: "";
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border: 1px solid;
    border-width: 1px 1px 0 0
}
.mod-link.of-list.of-float>.list {
    font-size: 0;
    margin: 0 0 0 -20px
}

.mod-link.of-list.of-float>.list>li {
    font-size: 1rem;
    display: inline-block;
    padding: 0 0 0 20px
}
.mod-link-02.of-list {
    margin: 0 0 52px
}

.mod-link-02.of-list>.list>li {
    overflow: hidden;
    max-width: 100%;
    margin: 0 0 14px
}
.mod-link-02.of-list>.list>li>a {
    text-decoration: none;
    position: relative;
    display: inline-block;
    max-width: 100%;
    padding-right: 24px
}
.mod-link-02.of-list>.list>li>a::after {
    background-image: url(/nf_global/v3/common/img/2021/sprite.png);
    background-position: -77px -152px;
    background-size: auto;
    position: absolute;
    top: .25em;
    right: 4px;
    display: block;
    width: 15px;
    height: 17px;
    content: ""
}
.mod-link-02.of-list>.list>li.of-down>a::after {
    background-image: url(/nf_global/v3/common/img/2021/sprite.png);
    background-position: -127px -152px;
    background-size: auto;
    top: .35em;
    width: 15px;
    height: 14px
}
.mod-btn {
    text-align: center;
    margin: 0 0 16px
}

.mod-btn .btn>span,.mod-btn a,.mod-btn button,.mod-btn>span {
    font-size: 1.2rem;
    line-height: 1.3;
    text-decoration: none;
    text-align: center;
    word-wrap: break-word;
    color: #b1284c;
    background: 0 0;
    position: relative;
    display: inline-block;
    max-width: 100%;
    padding: 1px 34px 1px 50px;
    cursor: pointer;
    transition: .2s ease;
    border: 2px solid
}

.mod-btn .btn>span::before,.mod-btn a::before,.mod-btn button::before,.mod-btn>span::before {
    position: absolute;
    top: 0;
    right: auto;
    bottom: 0;
    left: 10px;
    display: block;
    width: 20px;
    height: 20px;
    margin: auto;
    content: "";
    transition: .2s ease;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border: 1px solid;
    border-color: #b1284c #b1284c transparent transparent
}
.mod-btn.var01 a,.mod-btn.var01 button {
    background: #fff
}
.mod-btn.of-contact a,.mod-btn.of-contact button {
    color: #000;
    background: #f6e1c5;
    border-color: #be375a
}

.mod-btn.of-contact a::before,.mod-btn.of-contact button::before {
    border-color: #be375a #be375a transparent transparent
}
.mod-btn img.icn {
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    left: auto;
    margin: auto
}

p:not(.mod-btn)+.mod-btn {
    margin-top: 1.7em
}

.mod-btn-list {
    position: relative;
    overflow: hidden;
    margin: 0 0 16px
}

.mod-btn-list>.list>li {
    margin: 0 0 9px
}
.mod-list-02 {
    margin-bottom: 52px
}

.mod-list-02>ul.list {
    display: table
}

.mod-list-02>ul.list>li {
    display: table-row
}

.mod-list-02>ul.list>li .mark {
    text-align: left;
    white-space: pre;
    padding: 0 7px 3px 0
}

.mod-list-02>ul.list>li>* {
    font-size: 100%;
    vertical-align: top;
    display: table-cell
}

.mod-list-02>ul.list>li>.content {
    padding: 0 0 3px 0
}

.mod-list-02>ul.list>li>.content>:last-child {
    margin-bottom: 0
}

.mod-list-02.of-notice {
    font-size: 100%;
}

.mod-list-02.of-notice small {
    font-size: 100%
}
.mod-tbl {
    margin: 0 0 52px
}

.mod-tbl>table {
    font-size: 0.8rem;
    width: 100%;
    margin: 0 0 52px;
    table-layout: fixed;
    border-spacing: 0;
    border-collapse: collapse
}

.mod-tbl>table:last-child {
    margin-bottom: 0
}

.mod-tbl>table td,.mod-tbl>table th {
    word-wrap: break-word;
    background: #fff;
    padding: 13px 10px 10px;
    border: 1px solid #bbb
}
.mod-tbl thead td,.mod-tbl thead th {
    background: #d5d5d5
}

.mod-tbl tbody th {
    font-weight: 400;
    text-align: left;
    background: #efefef
}

.mod-tbl tbody td>:first-child {
    margin-top: 0
}

.mod-tbl tbody td>:last-child {
    margin-bottom: 0
}
.mod-box {
    overflow: hidden;
    margin: 0 0 30px;
    border: 1px solid #ccc
}
.mod-box>.inner {
    margin: 30px 24px
}

.mod-box>.inner>:first-child {
    margin-top: 0
}

.mod-box>.inner>:last-child {
    margin-bottom: 0
}
.mod-lyt {
    max-width: 1210px;
    margin: 30px auto
}
.mod-lyt[data-col]>.inner>* {
    -webkit-flex-basis: 50%;
    flex-basis: 50%;
    width: 50%;
    max-width: 50%
}
.mod-lyt>.inner {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -16px 0 0 -10px
}

.mod-lyt>.inner>* {
    padding: 16px 0 0 0;
}

.mod-lyt>.inner>*>:last-child {
    margin-bottom: 0
}

.mod-lyt>.inner>* img:not(.icn) {
    display: block;
    max-width: 100%
}
.mod-media {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    align-items: center;
    margin: 0 auto 28px
}
.mod-media figcaption {
    font-size: 0.8rem;
    text-align: center;
    width: 100%;
    margin: 14px auto 0
}
.mod-media>span {
    text-align: center;
    width: 100%;
    min-height: calc(0%)
}

.mod-media>span a {
    text-align: center;
    vertical-align: top;
    display: inline-block;
    max-width: 100%;
    padding: 0
}
.mod-media>span img {
    max-width: 100%;
    height: auto
}

.mod-media iframe,.mod-media img,.mod-media video {
    display: block;
    margin: 0 auto
}
.mod-media.align-left>span {
    text-align: left
}

.mod-media.align-left>span img {
    margin-left: 0
}
.mod-media-lyt-flt,.mod-media-lyt-lqd {
    width: 100%;
    margin: 0 0 30px
}

.mod-media-lyt-flt>.media,.mod-media-lyt-lqd>.media {
    margin: 0 auto 16px
}

.mod-media-lyt-flt>.media .mod-media,.mod-media-lyt-flt>.media .mod-media-video,.mod-media-lyt-lqd>.media .mod-media,.mod-media-lyt-lqd>.media .mod-media-video {
    margin: 0 auto
}
.mod-media-lyt-flt .media,.mod-media-lyt-flt figcaption,.mod-media-lyt-lqd .media,.mod-media-lyt-lqd figcaption {
    text-align: center
}

.mod-media-lyt-flt>.media {
    text-align: center
}
.mod-media-lyt-lqd {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse
}
.mod-media-lyt-lqd>.content>:last-child {
    margin-bottom: 0
}

.mod-media-lyt-lqd>.media {
    width: 100%
}
.func-cookie {
    display: none
}

html[data-script-enabled=true] .func-cookie {
    font-size: 1.4rem;
    background: #be375a;
    position: fixed;
    z-index: 110;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%
}

.func-cookie>.inner {
    color: #fff;
    padding: 10px
}

.func-cookie>.inner .txt {
    line-height: 1.5;
    margin-bottom: 0
}

.func-cookie>.inner .txt a {
    color: #fff
}

.func-cookie>.inner .mod-btn {
    min-width: 240px;
    margin-top: 10px;
    margin-bottom: 0
}

.func-cookie>.inner .mod-btn button {
    font-size: 1.4rem;
    cursor: pointer
}

html[data-script-enabled=true] .func-cookie.of-color-02 {
    background-color: #fff;
    border-top: 1px solid #ccc
}

.func-cookie.of-color-02>.inner {
    color: #000
}

.func-cookie.of-color-02>.inner .txt a {
    color: #000
}

.func-cookie.of-color-02>.inner .mod-btn button {
    color: #fff;
    background-color: #002b62
}

.func-cookie.of-color-02>.inner .mod-btn button::before {
    border-color: #fff #fff transparent transparent
}

#fancybox-wrap {
    right: 0!important;
    left: 0!important;
    max-width: 100%;
    height: auto!important;
    margin: auto;
    padding: 20px 10px
}
.align-right {
    text-align: right!important
}

.align-center {
    text-align: center!important
}

.align-left {
    text-align: left!important
}

.w-10 {
    width: 10%!important
}
.w-20 {
    width: 20%!important
}
.w-30 {
    width: 30%!important
}

.w-35 {
    width: 35%!important
}
.w-45 {
    width: 45%!important
}
.mt-0 {
    margin-top: 0!important
}
.mb-0 {
    margin-bottom: 0!important
}
.mb-10 {
    margin-bottom: 10px!important
}
.mb-20 {
    margin-bottom: 20px!important
}
.mg-20 {
    margin: 20px 0!important
}
.pc-show {
    display: none
}

dl.fs-01,ol.fs-01,p.fs-01,span.fs-01,table.fs-01,ul.fs-01 {
    font-size: 85.71429%
}


@media screen and (min-width: 640px),print {


 .site-main {
        margin: 0 0 52px
    }
.mod-hdg-l2 {
        font-size: 2rem;
        margin: 62px 0 28px
    }
 .mod-hdg-l2-02 {
        font-size: 1.8rem;
        margin: 62px 0 28px
    }
 .mod-hdg-l3-02 {
        font-size: 1.5rem;
        margin: 56px 0 28px
    }

    .mod-hdg-l4-02 {
        font-size: 1.4rem;
        margin: 50px 0 28px
    }
 .mod-link.of-list.of-float>.list>li {
        font-size: 1.0rem
    }

    .mod-link-02[data-col]>.list {
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: -20px
    }

    .mod-link-02[data-col]>.list>li {
        padding: 0 0 0 20px
    }

    [lang=ja] .mod-link-02[data-col]>.list>li>* {
        word-break: break-all
    }

  .mod-link-02[data-col="4"]>.list>li {
        width: 20%
    }
  .mod-btn-list {
        margin: 0 0 52px
    }

    .mod-btn-list>.list {
        position: relative;
        margin: -16px 0 0 -16px
    }

    .mod-btn-list>.list>li {
        position: relative;
        float: left;
        margin: 0;
        padding: 16px 0 0 16px
    }

    .mod-btn-list.align-center {
        margin: -16px 0 52px -78px
    }

    .mod-btn-list.align-center>.list {
        left: 50%;
        float: left;
        margin: auto
    }

    .mod-btn-list.align-center>.list>li {
        left: -50%;
        padding: 16px 0 0 78px
    }
 .mod-box>.inner {
        margin: 40px
    }
 .mod-lyt {
        margin: 66px auto 54px
    }

    .mod-lyt[data-col="2"]>.inner>* {
        -webkit-flex-basis: 50%;
        flex-basis: 50%;
        width: 50%;
        max-width: 50%
    }

 .mod-lyt[data-col="4"]>.inner>* {
        -webkit-flex-basis: 25%;
        flex-basis: 25%;
        width: 25%;
        max-width: 25%
    }
  .mod-media {
        margin: 0 auto 52px
    }

    .mod-media iframe,.mod-media img {
        margin: 0 auto
    }
  .func-cookie>.inner {
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        width: 100%;
        max-width: 1220px;
        margin: 0 auto;
        padding-top: 5px;
        padding-bottom: 5px
    }

    .func-cookie>.inner .mod-btn {
        margin-top: 0
    }

    .func-cookie>.inner .txt {
        padding-right: 30px
    }
 .pc-hide {
        display: none!important
    }

    .pc-show {
        display: block!important
    }
}
@media screen and (min-width: 668px),print {
    .mod-media-lyt-flt,.mod-media-lyt-lqd {
        margin:0 0 52px
    }

  .mod-media-lyt-flt .media {
        float: left;
        margin: 0 30px 36px 0
    }

    .mod-media-lyt-flt.of-reverse>.media {
        float: right;
        margin: 0 0 36px 30px
    }

    .mod-media-lyt-lqd {
        -webkit-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -webkit-justify-content: space-between;
        justify-content: space-between
    }

    .mod-media-lyt-lqd>.media .mod-media img:not(.icn) {
        max-width: none
    }

    .mod-media-lyt-lqd.sp-mediaBottom>.media,.mod-media-lyt-lqd>.media {
        width: auto;
        padding: 0 30px 0 0
    }

    .mod-media-lyt-lqd.sp-mediaBottom>.content,.mod-media-lyt-lqd>.content {
        width: 100%
    }
.of-bgcolor-09>[class^=str-outer] {
    background: #f8f8ff;
    overflow: hidden
}
   hr {
        margin: 60px 0
    }

}