﻿*,
::before,
::after {
    box-sizing: border-box
}

::before,
::after {
    text-decoration: inherit;
    vertical-align: inherit
}

html {
    cursor: default;
    line-height: 1.5;
    -moz-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    word-break: break-word
}

body {
    margin: 0
}

h1 {
    font-size: 2em;
    margin: 0.67em 0
}

dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
    margin: 0
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin: 0
}

hr {
    height: 0;
    overflow: visible
}

main {
    display: block
}

nav ol,
nav ul {
    list-style: none;
    padding: 0
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    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%
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle
}

audio,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

iframe {
    border-style: none
}

img {
    border-style: none
}

svg:not([fill]) {
    fill: currentColor
}

svg:not(:root) {
    overflow: hidden
}

table {
    border-collapse: collapse
}

button,
input,
select {
    margin: 0
}

button {
    overflow: visible;
    text-transform: none
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button
}

fieldset {
    border: 1px solid #a0a0a0;
    padding: 0.35em 0.75em 0.625em
}

input {
    overflow: visible
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

select {
    text-transform: none
}

textarea {
    margin: 0;
    overflow: auto;
    resize: vertical
}

[type="checkbox"],
[type="radio"] {
    padding: 0
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: 0.54
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

::-moz-focus-inner {
    border-style: none;
    padding: 0
}

:-moz-focusring {
    outline: 1px dotted ButtonText
}

:-moz-ui-invalid {
    box-shadow: none
}

details {
    display: block
}

dialog {
    background-color: white;
    border: solid;
    color: black;
    display: block;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content
}

dialog:not([open]) {
    display: none
}

summary {
    display: list-item
}

canvas {
    display: inline-block
}

template {
    display: none
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
    -ms-touch-action: manipulation;
    touch-action: manipulation
}

[hidden] {
    display: none
}

[aria-busy="true"] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled="true"],
[disabled] {
    cursor: not-allowed
}

[aria-hidden="false"][hidden] {
    display: initial
}

[aria-hidden="false"][hidden]:not(:focus) {
    clip: rect(0, 0, 0, 0);
    position: absolute
}

.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1042;
    overflow: hidden;
    position: fixed;
    background: #fff;
    opacity: 0.8
}

.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1043;
    position: fixed;
    outline: none !important;
    -webkit-backface-visibility: hidden
}

.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 60px;
    box-sizing: border-box
}

.mfp-container:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle
}

.mfp-align-top .mfp-container:before {
    display: none
}

.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
    width: 100%;
    cursor: auto
}

.mfp-ajax-cur {
    cursor: progress
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: -moz-zoom-out;
    cursor: -webkit-zoom-out;
    cursor: zoom-out
}

.mfp-zoom {
    cursor: pointer;
    cursor: -webkit-zoom-in;
    cursor: -moz-zoom-in;
    cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
    cursor: auto
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.mfp-loading.mfp-figure {
    display: none
}

.mfp-hide {
    display: none !important
}

.mfp-preloader {
    color: #CCC;
    position: absolute;
    top: 50%;
    width: auto;
    text-align: center;
    margin-top: -0.8em;
    left: 8px;
    right: 8px;
    z-index: 1044
}

.mfp-preloader a {
    color: #CCC
}

.mfp-preloader a:hover {
    color: #FFF
}

.mfp-s-ready .mfp-preloader {
    display: none
}

.mfp-s-error .mfp-content {
    display: none
}

button.mfp-close,
button.mfp-arrow {
    overflow: visible;
    cursor: pointer;
    background: transparent;
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: none;
    padding: 0;
    z-index: 1046;
    box-shadow: none;
    touch-action: manipulation
}

button::-moz-focus-inner {
    padding: 0;
    border: 0
}

.mfp-close {
    width: 44px;
    height: 44px;
    line-height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: 1;
    padding: 0 0 18px 10px;
    color: #FFF;
    font-style: normal;
    font-size: 70px;
    font-family: Arial, Baskerville, monospace
}

.mfp-close:hover,
.mfp-close:focus {
    opacity: 1
}

.mfp-close:active {
    top: 1px
}

.mfp-close-btn-in .mfp-close {
    top: -50px;
    color: #333
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    color: #000;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 100%
}

.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #CCC;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap
}

.mfp-arrow {
    position: absolute;
    opacity: 1;
    margin: 0;
    top: 50%;
    margin-top: -50px;
    padding: 0;
    width: 60px;
    height: 100px;
    -webkit-tap-highlight-color: transparent
}

.mfp-arrow:hover,
.mfp-arrow:focus {
    opacity: 1
}

.mfp-arrow:before,
.mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -11px;
    margin-top: -20px;
    border: medium inset transparent
}

.mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7
}

.mfp-arrow-left {
    left: 0
}

.mfp-arrow-left:after {
    border: none;
    content: url("../img/arrow-l.png")
}

.mfp-arrow-left:before {
    display: none;
    margin-left: 25px;
    border-right: 27px solid #3F3F3F
}

.mfp-arrow-right {
    right: 0
}

.mfp-arrow-right:after {
    border: none;
    content: url("../img/arrow-r.png")
}

.mfp-arrow-right:before {
    display: none;
    border-left: 27px solid #3F3F3F
}

.mfp-iframe-holder {
    padding-top: 40px;
    padding-bottom: 40px
}

.mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px
}

.mfp-iframe-holder .mfp-close {
    top: -50px
}

.mfp-iframe-scaler {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%
}

.mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000
}

img.mfp-img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 40px 0 40px;
    margin: 0 auto
}

.mfp-figure {
    line-height: 0
}

.mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444
}

.mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px
}

.mfp-figure figure {
    margin: 0
}

.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto
}

.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #F3F3F3;
    word-wrap: break-word;
    padding-right: 36px
}

.mfp-image-holder .mfp-content {
    max-width: 100%
}

.mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer
}

@media screen and (max-width: 800px) and (orientation: landscape),
screen and (max-height: 300px) {
    .mfp-img-mobile .mfp-image-holder {
        padding-left: 0;
        padding-right: 0
    }

    .mfp-img-mobile img.mfp-img {
        padding: 0
    }

    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0
    }

    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px
    }

    .mfp-img-mobile .mfp-bottom-bar {
        background: rgba(0, 0, 0, 0.6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        box-sizing: border-box
    }

    .mfp-img-mobile .mfp-bottom-bar:empty {
        padding: 0
    }

    .mfp-img-mobile .mfp-counter {
        right: 5px;
        top: 3px
    }

    .mfp-img-mobile .mfp-close {
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        line-height: 35px;
        background: rgba(0, 0, 0, 0.6);
        position: fixed;
        text-align: center;
        padding: 0
    }
}

@media all and (max-width: 900px) {
    .mfp-arrow {
        -webkit-transform: scale(0.5);
        transform: scale(0.5)
    }

    .mfp-arrow-left {
        -webkit-transform-origin: 0;
        transform-origin: 0;
        left: -30px
    }

    .mfp-arrow-right {
        -webkit-transform-origin: 100%;
        transform-origin: 100%;
        right: -30px
    }

    .mfp-container {
        padding-left: 20px;
        padding-right: 20px
    }
}

@media all and (min-width: 901px) {
    .mfp-arrow-left {
        left: -60px
    }

    .mfp-arrow-right {
        right: -60px
    }
}

.mfp-content {
    max-width: 980px
}

.mfp-s-loading .mfp-arrow {
    display: none
}

.mfp-fade.mfp-bg {
    opacity: 0;
    -webkit-transition: all 0.15s ease-out;
    -moz-transition: all 0.15s ease-out;
    transition: all 0.15s ease-out
}

.mfp-fade.mfp-bg.mfp-ready {
    opacity: 0.75
}

.mfp-fade.mfp-bg.mfp-removing {
    opacity: 0
}

.mfp-fade.mfp-wrap .mfp-content {
    opacity: 0;
    -webkit-transition: all 0.15s ease-out;
    -moz-transition: all 0.15s ease-out;
    transition: all 0.15s ease-out
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0 none;
    vertical-align: baseline
}

html {
    font-size: 100%
}

body {
    font-family: "Noto Sans JP", sans-serif;
    color: #333;
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
    font-size: 36px;
    font-size: 5.625vw
}

@media only print,
screen and (min-width: 768px) {
    body {
        font-size: 20px;
        font-size: 1.25rem
    }
}

p {
    margin-bottom: 2.34375vw
}

@media only print,
screen and (min-width: 768px) {
    p {
        margin-bottom: 15px
    }
}

em {
    font-style: normal;
    font-weight: bold
}

strong {
    font-weight: bold;
    color: #f00
}

ul {
    list-style-type: disc
}

ul li+li {
    margin-top: 1.5625vw
}

@media only print,
screen and (min-width: 768px) {
    ul li+li {
        margin-top: 5px
    }
}

ol {
    list-style-type: decimal
}

ol li+li {
    margin-top: 3.125vw
}

@media only print,
screen and (min-width: 768px) {
    ol li+li {
        margin-top: 15px
    }
}

ul ul,
ul ol,
ol ul,
ol ol {
    margin-top: 1.5625vw
}

@media only print,
screen and (min-width: 768px) {

    ul ul,
    ul ol,
    ol ul,
    ol ol {
        margin-top: 10px
    }
}

a:link {
    color: #003693;
    text-decoration: underline
}

a:hover,
a:active,
a:focus {
    color: #003693;
    text-decoration: none
}

main img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

video {
    max-width: 100%;
    height: auto
}

input,
select {
    vertical-align: middle
}

button {
    cursor: pointer
}

label {
    cursor: pointer
}

sup,
sub {
    font-size: 24px;
    font-size: 3.75vw
}

@media only print,
screen and (min-width: 768px) {

    sup,
    sub {
        font-size: 12px;
        font-size: .75rem
    }
}

::-webkit-search-cancel-button {
    -webkit-appearance: none
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input[type="number"] {
    -moz-appearance: textfield
}

select::-ms-expand {
    display: none
}

section>:last-child,
section>div>:last-child {
    margin-bottom: 0
}

strong.-sub {
    color: #00801e
}

.pc {
    display: none
}

@media only print,
screen and (min-width: 768px) {
    .pc {
        display: inline
    }
}

.sp {
    display: inline
}

@media only print,
screen and (min-width: 768px) {
    .sp {
        display: none
    }
}

.-center {
    text-align: center
}

.-ff-en {
    font-family: 'Lato', sans-serif
}

a[target="_blank"]:not(.no-icon)::after {
    margin-top: -2.1875vw;
    margin-left: 3.125vw;
    margin-right: 3.125vw;
    background-image: url("/nenkinkyuufukin/common/images/ico_win.svg");
    content: "";
    display: inline-block;
    width: 5.9375vw;
    height: 4.375vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media only print,
screen and (min-width: 768px) {
    a[target="_blank"]:not(.no-icon)::after {
        margin-top: 0;
        margin-left: 10px;
        margin-right: 10px;
        width: 20px;
        height: 15px
    }
}

.header-nav a[target="_blank"]::after,
.footer__links a[target="_blank"]::after {
    background-image: url("/nenkinkyuufukin/common/images/ico_win-white.svg")
}

.header-nav a[target="_blank"]:hover::after {
    background-image: url("/nenkinkyuufukin/common/images/ico_win.svg")
}

html[data-fz="default"] {
    font-size: 100%
}

html[data-fz="large"] {
    font-size: 128.6%
}

html[data-fz="xlarge"] {
    font-size: 142.9%
}

body {
    background: #fff
}

main {
    padding: 0 4.6875vw 0
}

@media only print,
screen and (min-width: 768px) {
    main {
        padding: 0 20px 0
    }
}

.header {
    position: relative;
    z-index: 1
}

@media only print,
screen and (min-width: 768px) {
    .header {
        padding-top: 0;
        border-top: 4px solid #003693;
        background: #fff
    }
}

.header .header-primary {
    padding: 0 4.6875vw
}

@media only print,
screen and (max-width: 767px) {
    .header .header-primary {
        border-top: 4px solid #003693;
        background: #fff;
        position: relative;
        z-index: 2
    }
}

@media only print,
screen and (min-width: 768px) {
    .header .header-primary {
        padding: 0 20px
    }
}

.header .header-primary>div {
    justify-content: space-between;
    padding: 3.125vw 0;
    line-height: 1
}

@media only print,
screen and (min-width: 768px) {
    .header .header-primary>div {
        display: flex;
        align-items: center;
        padding: 15px 0;
        max-width: 980px;
        margin: 0 auto
    }
}

.header .header-primary .header-primary-group {
    display: block
}

@media only print,
screen and (min-width: 768px) {
    .header .header-primary .header-primary-group {
        display: flex
    }
}

@media only print,
screen and (min-width: 768px) {
    .header .header-primary .header-primary-group.-logo {
        align-items: center
    }
}

.header .header-primary .header-primary-group.-logo .header-primary__logo {
    margin-bottom: 4.6875vw
}

.header .header-primary .header-primary-group.-logo .header-primary__logo img {
    width: 28.59375vw
}

@media only print,
screen and (min-width: 768px) {
    .header .header-primary .header-primary-group.-logo .header-primary__logo {
        padding: 0;
        margin-bottom: 0;
        margin-right: 30px
    }

    .header .header-primary .header-primary-group.-logo .header-primary__logo img {
        width: 100%;
        max-width: 183px
    }
}

.header .header-primary .header-primary-group.-logo .header-primary__logo-service {
    text-align: center
}

.header .header-primary .header-primary-group.-logo .header-primary__logo-service img {
    width: 87.5vw
}

@media only print,
screen and (min-width: 768px) {
    .header .header-primary .header-primary-group.-logo .header-primary__logo-service {
        text-align: left
    }

    .header .header-primary .header-primary-group.-logo .header-primary__logo-service img {
        width: 100%;
        max-width: 100%
    }
}

.header .header-primary .header-primary-group.-utility {
    display: none
}

@media only print,
screen and (min-width: 768px) {
    .header .header-primary .header-primary-group.-utility {
        display: flex;
        align-items: center;
        margin-left: 15px
    }
}

.header .header-primary .header-primary-group.-utility .gcse-search {
    position: relative
}

.header .header-primary .header-primary-group.-utility .header-primary-utility-group {
    margin-right: 25px;
    max-width: 230px
}

.header .header-primary .header-primary-group.-utility .header-primary-utility-group .header-primary-utility-link {
    display: flex;
    line-height: 1;
    white-space: nowrap;
    margin-bottom: 10px;
    list-style: none
}

.header .header-primary .header-primary-group.-utility .header-primary-utility-group .header-primary-utility-link li {
    margin-top: 0;
    font-size: 16px;
    font-size: 1rem
}

.header .header-primary .header-primary-group.-utility .header-primary-utility-group .header-primary-utility-link li:nth-child(1) a::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    transform: translate(0, 0) rotate(45deg);
    margin-top: -2px;
    border-right: 2px solid #003693;
    border-bottom: 2px solid #003693;
    position: absolute;
    top: .65rem;
    left: 0
}

.header .header-primary .header-primary-group.-utility .header-primary-utility-group .header-primary-utility-link li:nth-child(2) {
    margin-left: 15px
}

.header .header-primary .header-primary-group.-utility .header-primary-utility-group .header-primary-utility-link li:nth-child(2) a::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    transform: translate(0, 0) rotate(45deg);
    margin-left: -2px;
    border-top: 2px solid #003693;
    border-right: 2px solid #003693;
    position: absolute;
    top: .65rem;
    left: 0
}

.header .header-primary .header-primary-group.-utility .header-primary-utility-group .header-primary-utility-link a {
    padding-left: 15px;
    position: relative
}

.header .header-primary .header-primary-group.-utility .header-primary-utility-group .header-primary-utility-search {
    display: flex;
    flex-wrap: nowrap
}

.header .header-primary .header-primary-group.-utility .header-primary-utility-group .header-primary-utility-search .header-primary-utility-search__text {
    padding-left: 10px;
    width: calc(100% - 70px);
    border-top-left-radius: 10px;
    border-top-right-radius: 0;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 0;
    border: 1px solid #000;
    border-right: none;
    height: 40px;
    background-color: #fff
}

.header .header-primary .header-primary-group.-utility .header-primary-utility-group .header-primary-utility-search .header-primary-utility-search__text input {
    width: 100%;
    height: 38px;
    border: 0 !important;
    font-size: 16px;
    font-size: 1rem;
    background-color: transparent !important
}

.header .header-primary .header-primary-group.-utility .header-primary-utility-group .header-primary-utility-search .header-primary-utility-search__button {
    padding: 0 8px;
    min-width: 70px;
    height: 40px;
    background: #003693;
    border-top-left-radius: 0;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 10px;
    border: 1px solid #003693;
    color: #fff;
    white-space: nowrap;
    position: relative;
    line-height: 1;
    font-size: 16px;
    font-size: 1rem;
    vertical-align: text-top;
    pointer-events: none
}

.header .header-primary .header-primary-group.-utility .header-primary-utility-group .header-primary-utility-search .header-primary-utility-search__button::before {
    margin-right: 5px;
    width: 16px;
    height: 16px;
    background: url(/nenkinkyuufukin/common/images/ico_search.svg);
    background-size: cover;
    content: "";
    display: inline-block;
    vertical-align: baseline;
    position: relative;
    top: 2px
}

.header .header-primary .header-primary-group.-utility .header-primary-font-size-changer .header-primary-font-size-changer__ttl {
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 10px
}

.header .header-primary .header-primary-group.-utility .header-primary-font-size-changer .header-primary-font-size-changer__nav {
    display: flex;
    border-collapse: collapse
}

.header .header-primary .header-primary-group.-utility .header-primary-font-size-changer .header-primary-font-size-changer__nav .header-primary-font-size-changer__item {
    display: table-cell;
    border-width: 1px 0 1px 1px;
    border-style: solid;
    border-color: #bbb;
    background: #e8e8e8;
    margin: 0
}

.header .header-primary .header-primary-group.-utility .header-primary-font-size-changer .header-primary-font-size-changer__nav .header-primary-font-size-changer__item.-active,
.header .header-primary .header-primary-group.-utility .header-primary-font-size-changer .header-primary-font-size-changer__nav .header-primary-font-size-changer__item:hover {
    background: #003693
}

.header .header-primary .header-primary-group.-utility .header-primary-font-size-changer .header-primary-font-size-changer__nav .header-primary-font-size-changer__item.-active button,
.header .header-primary .header-primary-group.-utility .header-primary-font-size-changer .header-primary-font-size-changer__nav .header-primary-font-size-changer__item:hover button {
    color: #fff
}

.header .header-primary .header-primary-group.-utility .header-primary-font-size-changer .header-primary-font-size-changer__nav .header-primary-font-size-changer__item button {
    font-size: 16px;
    font-size: 1rem;
    -webkit-appearance: none;
    border: none;
    cursor: pointer;
    padding: 5px 10px;
    min-width: 60px;
    background: none;
    white-space: nowrap;
    height: 38px
}

.header .header-primary .header-primary-group.-utility .header-primary-font-size-changer .header-primary-font-size-changer__nav .header-primary-font-size-changer__item:first-child {
    border-top-left-radius: 10px;
    border-top-right-radius: 0;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 0
}

.header .header-primary .header-primary-group.-utility .header-primary-font-size-changer .header-primary-font-size-changer__nav .header-primary-font-size-changer__item:last-child {
    border-top-left-radius: 0;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 10px;
    border-width: 1px
}

.header .header-primary-utility-search-tooltip {
    position: absolute;
    opacity: 0;
    padding: 12px 0px 0px;
    top: 20.3125vw;
    left: 50%;
    transform: translateX(-50%);
    width: 80%;
    z-index: 1;
    transition: opacity .4s ease;
    pointer-events: none
}

.header .header-primary-utility-search-tooltip.show {
    opacity: 1
}

@media only print,
screen and (min-width: 768px) {
    .header .header-primary-utility-search-tooltip {
        top: 40px;
        width: 125%
    }
}

.header .header-primary-utility-search-tooltip .header-primary-utility-search-tooltip__text {
    border-radius: 10px;
    border: 1px solid #003693;
    background: #fff;
    padding: 1.875vw;
    text-align: center;
    font-size: 28px;
    font-size: 4.375vw
}

@media only print,
screen and (min-width: 768px) {
    .header .header-primary-utility-search-tooltip .header-primary-utility-search-tooltip__text {
        padding: 12px;
        font-size: 16px;
        font-size: 1rem
    }
}

.header .header-primary-utility-search-tooltip .header-primary-utility-search-tooltip__shadow {
    width: 30px;
    top: 0;
    left: 50%;
    margin-left: 0px;
    transform: translate(-15px, 0px);
    height: 13px;
    position: absolute;
    overflow: hidden
}

.header .header-primary-utility-search-tooltip .header-primary-utility-search-tooltip__shadow::after {
    content: '';
    width: 20px;
    height: 20px;
    position: absolute;
    background: #fff;
    transform: rotate(45deg);
    left: 5px;
    top: 6px;
    border: 1px solid #003693
}

.header .header-dial {
    background: #f0fbff;
    border-top: 2px solid #d7eff8;
    padding: 3.125vw 4.6875vw 3.125vw
}

@media only print,
screen and (min-width: 768px) {
    .header .header-dial {
        padding: 10px 20px
    }
}

.header .header-dial .header-dial__alert {
    margin-bottom: 1.5625vw;
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {
    .header .header-dial .header-dial__alert {
        font-size: 18px;
        font-size: 1.125rem;
        text-align: center;
        margin-bottom: 5px
    }
}

.header .header-dial .header-dial__wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between
}

@media only print,
screen and (min-width: 768px) {
    .header .header-dial .header-dial__wrapper {
        justify-content: center
    }
}

.header .header-dial .header-dial__wrapper .header-dial__label {
    background: #00801e;
    color: #fff;
    border-radius: 15px;
    padding: 1.5625vw 2.1875vw;
    text-align: center;
    font-size: 26px;
    font-size: 4.0625vw
}

@media only print,
screen and (min-width: 768px) {
    .header .header-dial .header-dial__wrapper .header-dial__label {
        border-radius: 30px;
        padding: 5px 20px;
        min-width: 220px;
        margin-right: 15px;
        font-size: 18px;
        font-size: 1.125rem
    }
}

.header .header-dial .header-dial__wrapper .header-dial__number {
    white-space: nowrap;
    line-height: 1
}

.header .header-dial .header-dial__wrapper .header-dial__number a {
    color: #00801e;
    text-decoration: none;
    font-weight: bold;
    font-size: 58px;
    font-size: 9.0625vw
}

@media only print,
screen and (min-width: 768px) {
    .header .header-dial .header-dial__wrapper .header-dial__number a {
        font-size: 42px;
        font-size: 2.625rem;
        margin-right: 15px
    }
}

.header .header-dial .header-dial__wrapper .header-dial__link {
    margin-top: 1.5625vw
}

@media only print,
screen and (min-width: 768px) {
    .header .header-dial .header-dial__wrapper .header-dial__link {
        margin-top: 0
    }
}

.header .header-dial .header-dial__wrapper .header-dial__link a {
    display: inline-block;
    padding-left: 4.6875vw;
    position: relative;
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {
    .header .header-dial .header-dial__wrapper .header-dial__link a {
        padding-left: 15px;
        font-size: 16px;
        font-size: 1rem
    }
}

.header .header-dial .header-dial__wrapper .header-dial__link a::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    transform: translate(0, 0) rotate(45deg);
    margin-left: -2px;
    border-top: 2px solid #003693;
    border-right: 2px solid #003693;
    position: absolute;
    top: .8rem;
    left: 0
}

@media only print,
screen and (min-width: 768px) {
    .header .header-dial .header-dial__wrapper .header-dial__link a::before {
        position: absolute;
        top: .5rem;
        left: 0
    }
}

.header .header-nav {
    display: none
}

@media only print,
screen and (min-width: 768px) {
    .header .header-nav {
        display: block;
        background: #003693;
        text-align: center
    }

    .header .header-nav ul {
        display: inline-flex;
        flex-wrap: nowrap;
        min-width: 980px
    }
}

@media only print,
screen and (min-width: 768px) and (max-width: 979px) {
    .header .header-nav ul {
        min-width: 0
    }
}

@media only print,
screen and (min-width: 768px) {
    .header .header-nav ul li {
        padding: 5px 0;
        margin: 0;
        font-size: 16px;
        font-size: 1rem;
        text-align: center
    }

    .header .header-nav ul li+li {
        margin-left: 5px
    }

    .header .header-nav ul li.header-nav__home {
        flex-basis: 80px
    }

    .header .header-nav ul li.header-nav__home a:hover {
        background: none
    }

    .header .header-nav ul li.header-nav__home a::before {
        content: url("/nenkinkyuufukin/common/images/ico_home.png");
        display: inline-block;
        position: absolute;
        top: 50%;
        left: 50%;
        margin: -10px 0 0 -11px
    }

    .header .header-nav ul li.header-nav__home a span {
        visibility: hidden
    }

    .header .header-nav ul li.header-nav__home~li {
        flex-grow: 1
    }

    .header .header-nav ul li.-active a {
        background: #fff;
        color: #003693;
        text-shadow: 1px 0 0 #003693
    }

    .header .header-nav ul li a {
        height: 100%;
        display: flex;
        padding: 10px 20px;
        color: #fff;
        text-decoration: none;
        justify-content: center;
        align-items: center;
        position: relative;
        border-radius: 10px
    }

    .header .header-nav ul li a:hover {
        background: #fff;
        color: #003693;
        text-shadow: 1px 0 0 #003693
    }
}

.header .noscript-text {
    text-align: center;
    color: #f00;
    margin: 0;
    padding: 15px 0
}

body.fixed .header #menu-scroll-area {
    overflow-x: hidden;
    overflow-y: scroll;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

body.fixed .header.toogle-open #menu-scroll-area {
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch
}

.header .button-menu {
    position: absolute;
    top: 2.8125vw;
    right: 3.75vw
}

@media only print,
screen and (min-width: 768px) {
    .header .button-menu {
        display: none
    }
}

.header .button-menu ul {
    overflow: hidden
}

.header .button-menu li {
    margin: 0;
    float: left
}

.header .button-menu a {
    display: block;
    width: 15.625vw;
    overflow: hidden;
    text-align: center
}

.header .button-menu a>span {
    visibility: hidden
}

.header .button-menu .button-menu__item a .item__icon {
    display: inline-block;
    width: 7.5vw;
    height: 7.5vw;
    position: relative
}

.header .button-menu .button-menu__item a i {
    font-size: 0;
    visibility: hidden
}

.header .button-menu .button-menu__item a .item__icon>div {
    position: relative;
    top: 1.25vw;
    left: 0
}

.header .button-menu .button-menu__item a .item__icon>div::before,
.header .button-menu .button-menu__item a .item__icon>div::after {
    content: "";
    display: block
}

.header .button-menu .button-menu__item a .item__icon>div,
.header .button-menu .button-menu__item a .item__icon>div::before,
.header .button-menu .button-menu__item a .item__icon>div::after {
    position: absolute;
    width: 7.5vw;
    height: 2px;
    -webkit-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-duration: .30s;
    transition-duration: .30s;
    -webkit-transition-property: transform;
    transition-property: transform;
    background-color: #003693
}

.header .button-menu .button-menu__item a div.item__icon>div::before {
    top: 2.34375vw;
    -webkit-transition-property: transform, opacity;
    transition-property: transform, opacity
}

.header .button-menu .button-menu__item a div.item__icon>div::after {
    top: 4.6875vw
}

.header .button-menu .button-menu__item.open a .item__icon>div {
    transform: translate3d(0, 2.34375vw, 0) rotate(45deg)
}

.header .button-menu .button-menu__item.open a .item__icon>div::before {
    transform: rotate(-45deg) translate3d(-2.34375vw, -1.5625vw, 0);
    opacity: 0
}

.header .button-menu .button-menu__item.open a .item__icon>div::after {
    transform: translate3d(0, -4.6875vw, 0) rotate(-90deg)
}

.header .button-menu .item__txt {
    padding-top: .78125vw;
    color: #003693;
    font-size: 20px;
    font-size: 3.125vw;
    font-weight: bold
}

.header .nav-wrapper {
    display: none;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1
}

.header .nav-wrapper #menu-overlay {
    display: none;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent
}

.header .nav-wrapper #menu-overlay.ol-visible {
    background-color: #E3E3E3
}

.header .nav-wrapper #menu-overlay.ol-invisible {
    background-color: transparent
}

@keyframes ol-visible {
    from {
        background-color: transparent
    }

    to {
        background-color: #e3e3e3
    }
}

@keyframes ol-invisible {
    from {
        background-color: #e3e3e3
    }

    to {
        background-color: transparent
    }
}

.nav-wrapper .header-primary-utility-search {
    border-top: 4px solid #003693;
    padding: 6.25vw 4.6875vw;
    background: #fff
}

.nav-wrapper .header-primary-utility-search .header-primary-utility-search__wrapper {
    display: flex;
    flex-wrap: nowrap
}

.nav-wrapper .header-primary-utility-search .header-primary-utility-search__text {
    width: calc(100%);
    height: 12.5vw;
    padding-left: 3.125vw;
    border-top-left-radius: 10px;
    border-top-right-radius: 0;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 0;
    border: 1px solid #000;
    border-right: none;
    background-color: #fff
}

.nav-wrapper .header-primary-utility-search .header-primary-utility-search__text input {
    width: 100%;
    height: 11.875vw;
    border: 0 !important;
    font-size: 16px;
    font-size: 1rem;
    background-color: transparent !important
}

.nav-wrapper .header-primary-utility-search .header-primary-utility-search__button {
    padding: 0 2.5vw;
    min-width: 21.875vw;
    height: 12.5vw;
    background: #003693;
    border-top-left-radius: 0;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 10px;
    border: 1px solid #003693;
    color: #fff;
    white-space: nowrap;
    position: relative;
    line-height: 1;
    font-size: 16px;
    font-size: 1rem;
    vertical-align: text-top;
    pointer-events: none
}

.nav-wrapper .header-primary-utility-search .header-primary-utility-search__button::before {
    margin-right: 1.5625vw;
    width: 5vw;
    height: 5vw;
    background: url(/nenkinkyuufukin/common/images/ico_search.svg);
    background-size: cover;
    content: "";
    display: inline-block
}

.nav-wrapper .nav-global {
    background: #F0FBFF;
    margin-bottom: 9.375vw
}

.nav-wrapper .nav-global li {
    margin-top: 0;
    border-bottom: 1px solid #53BEDB;
    font-size: 36px;
    font-size: 5.625vw
}

.nav-wrapper .nav-global li:first-child {
    border-top: 1px solid #53BEDB
}

.nav-wrapper .nav-global li a {
    display: block;
    padding: 3.125vw 21.875vw 3.125vw 4.6875vw;
    text-decoration: none;
    position: relative
}

.nav-wrapper .nav-global li a::before {
    margin-right: 5px;
    width: 7.5vw;
    height: 7.5vw;
    background: url(/nenkinkyuufukin/common/images/ico_nav-arrow.svg) 0 0 no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 3.125vw;
    transform: translateY(-50%)
}

.nav-wrapper .nav-global-utility ul {
    line-height: 1;
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center
}

.nav-wrapper .nav-global-utility li {
    margin-top: 0;
    width: 75vw
}

.nav-wrapper .nav-global-utility li+li {
    margin-top: 4.6875vw
}

.nav-wrapper .nav-global-utility li a {
    text-decoration: none;
    text-align: center;
    display: block;
    position: relative;
    color: #003693;
    font-weight: bold;
    font-size: 32px;
    font-size: 5vw;
    padding: 4.6875vw 6.25vw;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #003693;
    box-shadow: 0px 3px 0px rgba(0, 54, 147, 0.5)
}

.nav-wrapper .nav-global-utility li.btn-home a::before {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    transform: translate(0, 0) scale(.92308, 1) rotate(45deg);
    margin-left: 4px;
    border-left: 3px solid #003693;
    border-bottom: 3px solid #003693;
    position: absolute;
    top: calc(50% - 6px);
    left: 4.6875vw
}

.nav-wrapper .nav-global-utility li.btn-close a::before {
    content: "×";
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 4.6875vw;
    transform: scale(1.5) translateY(-40%);
    transform-origin: 50% 50%
}

.footer {
    border-top: 4px solid #003693;
    justify-content: space-between;
    padding: 6.25vw 4.6875vw;
    position: relative;
    line-height: 1.2
}

@media only print,
screen and (min-width: 768px) {
    .footer {
        padding: 0 20px 20px
    }
}

.footer .footer__pagetop {
    color: #fff;
    display: flex;
    justify-content: flex-end;
    transition: opacity .8s ease;
    position: absolute;
    top: -13.125vw;
    right: 0;
    left: 0
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__pagetop {
        position: absolute;
        top: -50px;
        right: 0;
        left: 0
    }
}

.footer .footer__pagetop a {
    padding: 0 2.34375vw;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 53.125vw;
    height: 13.125vw;
    text-align: center;
    background: #003693;
    color: #fff;
    text-decoration: none;
    margin-right: 20px;
    font-size: 32px;
    font-size: 5vw;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__pagetop a {
        font-size: 16px;
        font-size: 1rem;
        padding: 0 15px;
        width: auto;
        min-width: 200px;
        height: 50px
    }
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__pagetop a:hover>span {
        background-image: linear-gradient(transparent 90%, #fff 100%)
    }
}

.footer .footer__pagetop a span {
    display: inline-block;
    padding-left: 6.25vw;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__pagetop a span {
        padding-bottom: 2px;
        padding-left: 20px
    }
}

.footer .footer__pagetop a span::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    transform: translate(0, 0) scale(1, .88889) rotate(45deg);
    margin-top: 3px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    position: absolute;
    top: .45rem;
    left: 0
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__pagetop a span::before {
        position: absolute;
        top: .35rem;
        left: 0
    }
}

.footer .footer__pagetop.float {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: auto;
    bottom: 0
}

.footer .footer__pagetop.float.on {
    opacity: 1;
    visibility: visible
}

.footer .footer__links {
    display: none;
    margin: 0 -20px 20px;
    background: #003693;
    padding: 0 20px
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__links {
        display: block
    }
}

.footer .footer__links .footer-link__logo {
    margin-bottom: 20px
}

.footer .footer__links a {
    color: #fff;
    display: inline-block;
    position: relative;
    font-size: 18px;
    font-size: 1.125rem;
    padding-left: 15px
}

.footer .footer__links a::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    transform: translate(0, 0) scale(.88889, 1) rotate(45deg);
    margin-left: -3px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    position: absolute;
    top: .45rem;
    left: 0
}

.footer .footer__links nav {
    max-width: 980px;
    margin: 0 auto;
    padding: 40px 0;
    display: flex;
    justify-content: space-between
}

.footer .footer__links nav>div {
    flex-basis: 280px
}

.footer .footer__links nav ul {
    display: flex;
    align-content: flex-start;
    flex-wrap: wrap;
    width: calc(100% - 280px)
}

.footer .footer__links nav ul li {
    margin-top: 0;
    width: 50%
}

.footer .footer__links nav ul li:nth-child(n+3) {
    margin-top: 25px
}

.footer .footer__links nav ul li:nth-child(even) {
    padding-left: 20px
}

.footer .footer__utility {
    max-width: 980px;
    margin: 0 auto
}

.footer .footer__utility nav ul {
    margin-bottom: 9.375vw
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__utility nav ul {
        display: flex;
        margin-bottom: 30px
    }
}

.footer .footer__utility nav ul li+li {
    margin-top: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__utility nav ul li+li {
        margin-top: 0;
        margin-left: 30px
    }
}

.footer .footer__utility nav ul a {
    display: inline-block;
    position: relative;
    padding-left: 4.6875vw;
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__utility nav ul a {
        font-size: 16px;
        font-size: 1rem;
        padding-left: 15px
    }
}

.footer .footer__utility nav ul a::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    transform: translate(0, 0) scale(.88889, 1) rotate(45deg);
    margin-left: -3px;
    border-top: 2px solid #003693;
    border-right: 2px solid #003693;
    position: absolute;
    top: .55rem;
    left: 0
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__utility nav ul a::before {
        position: absolute;
        top: .3rem;
        left: 0
    }
}

.footer .footer-group {
    margin-bottom: 2.34375vw
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer-group {
        margin-bottom: 5px;
        display: flex;
        align-items: center
    }
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__logo {
        margin-right: 32px
    }
}

.footer .footer__logo img {
    width: 56.875vw
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__logo img {
        width: 230px
    }
}

.footer .footer__code {
    font-size: 28px;
    font-size: 4.375vw;
    color: #666
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__code {
        font-size: 16px;
        font-size: 1rem
    }
}

.footer .footer__copy {
    font-size: 24px;
    font-size: 3.75vw;
    color: #999
}

@media only print,
screen and (min-width: 768px) {
    .footer .footer__copy {
        font-size: 12px;
        font-size: .75rem;
        margin-bottom: 0
    }
}

.contact {
    background: #f0fbff;
    border-top: 2px solid #d7eff8;
    margin: 0 -4.6875vw 0;
    padding: 9.375vw 4.6875vw 18.75vw
}

@media only print,
screen and (min-width: 768px) {
    .contact {
        margin: 0 -20px 0;
        padding: 50px 20px 80px
    }

    .contact>div {
        max-width: 820px;
        margin: 0 auto
    }
}

main:not(.home) article+.contact {
    margin-top: 21.875vw
}

@media only print,
screen and (min-width: 768px) {
    main:not(.home) article+.contact {
        margin-top: 100px
    }
}

.contact.-sub {
    margin: 9.375vw -4.6875vw 37.5vw
}

@media only print,
screen and (min-width: 768px) {
    .contact.-sub {
        border-radius: 10px;
        border: 2px solid #d7eff8;
        max-width: 980px;
        margin: 50px auto 50px
    }
}

.contact h2 {
    text-align: center;
    margin-bottom: 6.25vw;
    font-size: 48px;
    font-size: 7.5vw
}

@media only print,
screen and (min-width: 768px) {
    .contact h2 {
        margin-bottom: 40px;
        font-size: 36px;
        font-size: 2.25rem
    }
}

.contact .contact__alert {
    margin-bottom: 6.25vw
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact__alert {
        font-size: 24px;
        font-size: 1.5rem;
        text-align: center;
        margin-bottom: 20px
    }
}

.contact .note {
    margin-bottom: 0
}

.contact .contact-dial__wrapper {
    background: #fff;
    display: flex;
    line-height: 1;
    flex-direction: column;
    overflow: hidden;
    margin-bottom: 9.375vw;
    border-radius: 20px;
    border: 2px solid #00801e
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-dial__wrapper {
        align-items: center;
        flex-direction: row;
        border: 1px solid #00801e;
        margin-bottom: 30px;
        border-radius: 20px;
        padding: 15px
    }
}

.contact .contact-dial__wrapper .contact-dial__label {
    background: #00801e;
    text-align: center;
    padding: 2.34375vw 3.125vw;
    color: #fff;
    font-weight: bold;
    line-height: normal;
    line-height: 1.4;
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-dial__wrapper .contact-dial__label {
        padding: 10px;
        min-width: 160px;
        margin-right: 15px;
        border-radius: 50px;
        font-size: 18px;
        font-size: 1.125rem
    }
}

.contact .contact-dial__wrapper .contact-dial__number {
    font-size: 80px;
    font-size: 12.5vw;
    padding: 3.125vw
}

.contact .contact-dial__wrapper .contact-dial__number a {
    color: #00801e;
    text-decoration: none;
    font-weight: bold
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-dial__wrapper .contact-dial__number {
        font-size: 56px;
        font-size: 3.5rem;
        padding: 0;
        max-width: 380px;
        white-space: nowrap
    }

    html:not([data-fz="default"]) .contact .contact-dial__wrapper .contact-dial__number {
        white-space: normal
    }
}

.contact .contact-dial__wrapper .contact-dial__note {
    white-space: nowrap;
    color: #00801e;
    padding: 0 3.125vw 3.125vw;
    text-align: center
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-dial__wrapper .contact-dial__note {
        text-align: left;
        padding: 0;
        font-size: 16px;
        font-size: 1rem
    }
}

.contact .contact-list {
    background: #fff;
    border: 2px solid #00801e;
    margin: 9.375vw 0;
    border-radius: 20px;
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-list {
        border: 1px solid #00801e;
        font-size: 20px;
        font-size: 1.25rem;
        margin: 30px 0
    }
}

.contact .contact-list .contact-list__item {
    padding: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-list .contact-list__item {
        padding: 10px 20px;
        display: flex;
        align-items: center
    }
}

.contact .contact-list .contact-list__item dt em {
    color: #00801e
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-list .contact-list__item dt {
        font-size: 18px;
        font-size: 1.125rem;
        width: 47%
    }
}

.contact .contact-list .contact-list__item dd {
    color: #00801e;
    white-space: nowrap
}

.contact .contact-list .contact-list__item dd a {
    color: #00801e;
    text-decoration: none
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-list .contact-list__item dd {
        width: 53%;
        text-align: left
    }
}

.contact .contact-list .contact-list__item.contact-list__item--tel dd a {
    font-size: 58px;
    font-size: 9.0625vw
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-list .contact-list__item.contact-list__item--tel dd a {
        font-size: 32px;
        font-size: 2rem
    }
}

.contact .contact-list .contact-list__item.contact-list__item--tel dd a span.tko {
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-list .contact-list__item.contact-list__item--tel dd a span.tko {
        font-size: 20px;
        font-size: 1.25rem
    }
}

.contact .contact-list .contact-list__item+.contact-list__item {
    border-top: 2px solid #00801e
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-list .contact-list__item+.contact-list__item {
        border-top: 1px solid #00801e
    }
}

.contact .contact-time h3 {
    text-align: center;
    font-size: 32px;
    font-size: 5vw;
    margin-bottom: 2.34375vw
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-time h3 {
        font-size: 18px;
        font-size: 1.125rem;
        text-align: left;
        margin-bottom: 15px
    }
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-time .contact-time__wrapper {
        display: flex
    }

    .contact .contact-time .contact-time__wrapper .contact-time__col:first-child {
        width: 60%;
        padding-right: 15px
    }
}

.contact .contact-time .contact-time__item {
    display: flex;
    letter-spacing: -.1rem;
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-time .contact-time__item {
        font-size: 18px;
        font-size: 1.125rem;
        letter-spacing: normal
    }
}

.contact .contact-time .contact-time__item dt {
    width: 26.5625vw;
    padding-right: 2.34375vw;
    text-align: right
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-time .contact-time__item dt {
        padding-right: 15px;
        width: 100%;
        max-width: 110px
    }
}

.contact .contact-time .contact-time__item dd {
    width: calc(100% - vw(170))
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-time .contact-time__item dd {
        width: calc(100% - 100px)
    }
}

.contact .contact-time .contact-time__item+.contact-time__item {
    margin-top: 1.5625vw
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-time .contact-time__item+.contact-time__item {
        margin-top: 10px
    }
}

.contact .contact-time .note {
    margin-top: 4.6875vw;
    margin-bottom: 0
}

@media only print,
screen and (min-width: 768px) {
    .contact .contact-time .note {
        margin-top: 0
    }

    .contact .contact-time .note>li {
        font-size: 16px;
        font-size: 1rem
    }
}

ul.note {
    list-style: none;
    margin-bottom: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    ul.note {
        margin-bottom: 25px
    }
}

ul.note.-hl>li {
    color: #00801e
}

ul.note.-count {
    counter-reset: number
}

@media only print,
screen and (max-width: 767px) {
    ul.note.-count.-break>li {
        padding-left: 0
    }

    ul.note.-count.-break>li::before {
        display: block;
        position: static;
        top: auto;
        left: auto
    }
}

ul.note.-count>li {
    padding-left: 12.5vw
}

@media only print,
screen and (min-width: 768px) {
    ul.note.-count>li {
        padding-left: 3rem
    }
}

ul.note.-count>li::before {
    counter-increment: number;
    content: "※" counter(number);
    display: inline-block
}

ul.note>li {
    padding-left: 6.25vw;
    position: relative;
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {
    ul.note>li {
        padding-left: 1.5rem;
        font-size: 18px;
        font-size: 1.125rem
    }
}

ul.note>li::before {
    content: "※";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0
}

.tbl-standard {
    width: 100%;
    border: 1px solid #afafaf;
    background: #fff
}

li .tbl-standard {
    margin-top: 3.125vw
}

@media only print,
screen and (min-width: 768px) {
    li .tbl-standard {
        margin-top: 20px
    }
}

.tbl-standard.-birthdate col:nth-child(1) {
    width: 70%
}

.tbl-standard.-birthdate col:nth-child(2) {
    width: 30%
}

.tbl-standard th,
.tbl-standard td {
    padding: 2.34375vw;
    border-top: 1px solid #afafaf;
    border-left: 1px solid #afafaf
}

@media only print,
screen and (min-width: 768px) {

    .tbl-standard th,
    .tbl-standard td {
        padding: 15px
    }
}

.tbl-standard thead th {
    background: #f7f7f7;
    text-align: center;
    vertical-align: middle
}

.tbl-standard tbody th {
    font-weight: normal
}

.tbl-standard tbody tr:nth-child(even) th,
.tbl-standard tbody tr:nth-child(even) td {
    background: #f7f7f7
}

@media only print,
screen and (max-width: 767px) {
    .calc-text {
        letter-spacing: -.02rem
    }
}

@media only print,
screen and (min-width: 768px) {
    .calc-text {
        max-width: 700px;
        margin: 0 auto
    }
}

.calc-text.-payment-rate {
    max-width: none
}

.calc-text.-payment-rate .payment-rate {
    display: flex;
    flex-direction: column
}

@media only print,
screen and (min-width: 768px) {
    .calc-text.-payment-rate .payment-rate {
        flex-direction: row;
        align-items: center
    }
}

.calc-text.-payment-rate .payment-rate .payment-rate_wrapper {
    position: relative
}

.calc-text.-payment-rate .payment-rate .payment-rate_wrapper::before,
.calc-text.-payment-rate .payment-rate .payment-rate_wrapper::after {
    content: "";
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

.calc-text.-payment-rate .payment-rate .payment-rate_wrapper::before {
    position: absolute;
    bottom: 0;
    left: -2.34375vw;
    background-image: url("/nenkinkyuufukin/images/system/bg_bracket-left.svg");
    width: 4.375vw;
    height: 93.75vw
}

@media only print,
screen and (min-width: 768px) {
    .calc-text.-payment-rate .payment-rate .payment-rate_wrapper::before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: -15px;
        width: 10px;
        height: auto
    }
}

.calc-text.-payment-rate .payment-rate .payment-rate_wrapper::after {
    position: absolute;
    right: -2.34375vw;
    bottom: 0;
    background-image: url("/nenkinkyuufukin/images/system/bg_bracket-right.svg");
    width: 4.375vw;
    height: 93.75vw
}

@media only print,
screen and (min-width: 768px) {
    .calc-text.-payment-rate .payment-rate .payment-rate_wrapper::after {
        position: absolute;
        top: 0;
        right: -15px;
        bottom: 0;
        width: 10px;
        height: auto
    }
}

.calc-text.-payment-rate .payment-rate .payment-rate__left,
.calc-text.-payment-rate .payment-rate .payment-rate__right {
    text-align: center
}

@media only print,
screen and (min-width: 768px) {
    .calc-text.-payment-rate .payment-rate .payment-rate__left {
        padding-right: 30px
    }
}

.calc-text.-payment-rate .payment-rate .payment-rate__right {
    margin-top: 2.34375vw
}

@media only print,
screen and (min-width: 768px) {
    .calc-text.-payment-rate .payment-rate .payment-rate__right {
        margin-top: 0
    }
}

.calc-text.-payment-rate .payment-rate .payment-rate__right p {
    margin: 0
}

.calc-text.-payment-rate .payment-rate .payment-rate__right .payment-rate__top {
    padding-bottom: 1.875vw;
    border-bottom: 1px solid #707070
}

@media only print,
screen and (min-width: 768px) {
    .calc-text.-payment-rate .payment-rate .payment-rate__right .payment-rate__top {
        padding-bottom: 12px
    }
}

.calc-text.-payment-rate .payment-rate .payment-rate__right .payment-rate__bottom {
    padding-top: 1.875vw
}

@media only print,
screen and (min-width: 768px) {
    .calc-text.-payment-rate .payment-rate .payment-rate__right .payment-rate__bottom {
        padding-top: 12px
    }
}

.calc-text.-payment-rate h5 {
    border: solid 1px #707070;
    text-align: center;
    max-width: 62.5vw;
    margin: 0 auto 2.34375vw;
    font-weight: normal;
    font-size: 36px;
    font-size: 5.625vw
}

@media only print,
screen and (min-width: 768px) {
    .calc-text.-payment-rate h5 {
        font-size: 18px;
        font-size: 1.125rem;
        max-width: 180px;
        margin: 0 auto 15px
    }
}

.calc-text .calc-text__total {
    margin-top: -2.34375vw;
    padding-top: 2.34375vw;
    border-top: solid 1px #707070
}

@media only print,
screen and (max-width: 767px) {
    .calc-text .calc-text__total {
        display: flex
    }

    .calc-text .calc-text__total>span:first-child {
        padding-right: 3.125vw
    }
}

@media only print,
screen and (min-width: 768px) {
    .calc-text .calc-text__total {
        margin-top: -15px;
        padding-top: 10px
    }
}

.calc-text :last-child {
    margin-bottom: 0
}

#content.result .gsce-query-name {
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {
    #content.result .gsce-query-name {
        font-size: 18px;
        font-size: 1.125rem
    }
}

#content.result .gsc-selected-option-container.gsc-inline-block {
    max-width: none
}

#content.result .gcsc-branding-clickable::after {
    display: none
}

@media only print,
screen and (min-width: 768px) {
    #content.result .gsc-result-info {
        padding-bottom: 5px
    }
}

#content.result .gsc-control-cse .gsc-result-info,
#content.result .gsc-orderby,
#content.result .gsc-selected-option-container,
#content.result .gsc-control-cse .gs-title,
#content.result .gsc-control-cse .gsc-url-top,
#content.result .gsc-control-cse .gsc-table-result,
#content.result .gcsc-more-maybe-branding-root>a {
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {

    #content.result .gsc-control-cse .gsc-result-info,
    #content.result .gsc-orderby,
    #content.result .gsc-selected-option-container,
    #content.result .gsc-control-cse .gs-title,
    #content.result .gsc-control-cse .gsc-url-top,
    #content.result .gsc-control-cse .gsc-table-result,
    #content.result .gcsc-more-maybe-branding-root>a {
        font-size: 18px;
        font-size: 1.125rem
    }
}

@media only print,
screen and (min-width: 768px) {
    #content.result .gsc-selected-option-container {
        font-size: 14px;
        font-size: .875rem
    }
}

@media only print,
screen and (min-width: 768px) {

    #content.result .gs-image-box.gs-web-image-box.gs-web-image-box-landscape,
    #content.result .gs-image-box.gs-web-image-box.gs-web-image-box-portrait {
        width: 230px;
        height: 150px
    }
}

@media only print,
screen and (min-width: 768px) {

    #content.result .gs-web-image-box-landscape img.gs-image,
    #content.result .gs-web-image-box-portrait img.gs-image {
        max-width: 210px;
        max-height: 150px
    }
}

#content.result .gsc-webResult .gsc-result,
#content.result .gsc-expansionArea .gsc-result {
    padding: 3.125vw
}

@media only print,
screen and (min-width: 768px) {

    #content.result .gsc-webResult .gsc-result,
    #content.result .gsc-expansionArea .gsc-result {
        padding: 20px
    }
}

#content.result .cse .gsc-control-cse,
#content.result .gsc-control-cse {
    padding: 0
}

#content.result .gsc-expansionArea .gsc-result:nth-child(odd) {
    background: #f0fbff
}

#content.result .gs-no-results-result .gs-snippet {
    padding: 3.125vw;
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {
    #content.result .gs-no-results-result .gs-snippet {
        padding: 20px;
        font-size: 18px;
        font-size: 1.125rem
    }
}

@media only print,
screen and (max-width: 767px) {
    #content.result .gsc-control-cse {
        font-size: 24px;
        font-size: 3.75vw
    }
}

strong.green-lrg {
    color: #00801e;
    font-weight: bold;
    font-size: 120%
}

strong.bold-line {
    color: #000;
    font-weight: bold;
    text-decoration: underline
}

strong.red-line,
.header-dial__number .red-line,
.contact-dial__number .red-line {
    color: #f00;
    text-decoration: underline
}

.contact-list__item--tel .red-line {
    color: #f00;
    border-bottom: 2px solid #f00
}

.kv {
    margin: 0 -4.6875vw 0;
    background-image: url("/nenkinkyuufukin/images/bg_kv_sp.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 0;
    position: relative;
    padding-bottom: 57.8125vw
}

@media only print,
screen and (min-width: 768px) {
    .kv {
        margin: 0 -20px;
        background-image: url("/nenkinkyuufukin/images/bg_kv_pc.jpg");
        background-size: auto 120%;
        background-position: 50% 50%;
        height: auto;
        min-height: 1150px;
        padding-bottom: 0;
        padding-bottom: 80px
    }
}

.kv h1 {
    line-height: 1;
    padding-top: 4.6875vw;
    color: #003693;
    font-weight: bold;
    margin-bottom: 4.6875vw
}

.kv h1 .kv-hdg-text__l1 {
    display: block;
    font-size: 28px;
    font-size: 4.375vw;
    text-align: center;
    margin-bottom: 3.125vw
}

.kv h1 .kv-hdg-text__l2 {
    padding-left: 10.9375vw;
    display: block;
    line-height: 1.2;
    font-size: 70px;
    font-size: 10.9375vw;
    margin-bottom: 3.125vw
}

.kv h1 .kv-hdg-text__l3 {
    display: block;
    font-size: 48px;
    font-size: 7.5vw;
    text-align: center
}

@media only print,
screen and (min-width: 768px) {
    .kv h1 {
        padding-top: 65px;
        margin-bottom: 20px;
        text-align: center
    }

    .kv h1 .kv-hdg-text__l1 {
        font-size: 32px;
        font-size: 2rem;
        margin-bottom: 20px
    }

    .kv h1 .kv-hdg-text__l2 {
        padding-left: 0;
        display: inline;
        font-size: 55px;
        font-size: 3.4375rem
    }

    .kv h1 .kv-hdg-text__l3 {
        display: inline;
        font-size: 36px;
        font-size: 2.25rem
    }
}

.kv .kv-panel {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel {
        flex-direction: row;
        align-items: flex-start;
        padding-bottom: 50px
    }
}

.kv .kv-panel .kv-panel__item {
    background: #fff;
    border-radius: 20px;
    width: 81.25vw
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel .kv-panel__item {
        margin: 0 15px;
        width: 100%;
        max-width: 306px
    }
}

.kv .kv-panel .kv-panel__item .kv-panel__ttl {
    line-height: 1;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    font-size: 50px;
    font-size: 7.8125vw;
    font-weight: bold;
    letter-spacing: .1em;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    padding: 4.6875vw 0 3.90625vw
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel .kv-panel__item .kv-panel__ttl {
        font-size: 48px;
        font-size: 3rem;
        flex-direction: column;
        align-items: center;
        padding: 25px 0 20px
    }
}

.kv .kv-panel .kv-panel__item .kv-panel__ttl span {
    font-size: 26px;
    font-size: 4.0625vw;
    padding-left: 1.5625vw;
    letter-spacing: normal
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel .kv-panel__item .kv-panel__ttl span {
        padding-top: 10px;
        padding-left: 0;
        font-size: 24px;
        font-size: 1.5rem
    }
}

.kv .kv-panel .kv-panel__item .kv-panel__subttl {
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
    font-size: 32px;
    font-size: 5vw;
    padding: 3.125vw 0 0
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel .kv-panel__item .kv-panel__subttl {
        font-size: 19px;
        font-size: 1.1875rem;
        padding: 15px 0 0
    }
}

.kv .kv-panel .kv-panel__item .kv-panel__subttl span {
    font-size: 28px;
    font-size: 4.375vw
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel .kv-panel__item .kv-panel__subttl span {
        font-size: 16px;
        font-size: 1rem
    }
}

.kv .kv-panel .kv-panel__item .kv-panel__body {
    font-size: 28px;
    font-size: 4.375vw;
    font-weight: bold;
    padding: 3.125vw
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel .kv-panel__item .kv-panel__body {
        font-size: 18px;
        font-size: 1.125rem;
        padding: 15px 20px 100px;
        position: relative
    }
}

.kv .kv-panel .kv-panel__item .kv-panel__body ul {
    list-style: none;
    line-height: 1.3
}

.kv .kv-panel .kv-panel__item .kv-panel__body ul li {
    padding-left: 4.6875vw;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel .kv-panel__item .kv-panel__body ul li {
        padding-left: 1.5rem
    }
}

.kv .kv-panel .kv-panel__item .kv-panel__body ul li::before {
    content: "●";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(0.7)
}

.kv .kv-panel .kv-panel__item .kv-panel__body ul li+li {
    margin-top: 1.5625vw
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel .kv-panel__item .kv-panel__body ul li+li {
        margin-top: 10px
    }
}

.kv .kv-panel .kv-panel__item .kv-panel__body ul+p {
    margin-top: 1.5625vw;
    margin-bottom: 0;
    padding-left: 4.6875vw;
    font-size: 26px;
    font-size: 4.0625vw
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel .kv-panel__item .kv-panel__body ul+p {
        font-size: 16px;
        font-size: 1rem;
        margin-top: 10px;
        padding-left: 1.5rem
    }
}

.kv .kv-panel .kv-panel__item .kv-panel__body a.btn-detail {
    display: block;
    border-radius: 10px;
    box-shadow: 0px 3px 0px 0px rgba(0, 54, 147, 0.4);
    width: 80%;
    text-align: center;
    padding: 15px 10px;
    margin: 20px auto 10px;
    color: #fff;
    text-decoration: none;
    font-size: 90%;
    font-weight: normal;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel .kv-panel__item .kv-panel__body a.btn-detail {
        position: absolute;
        bottom: 20px;
        left: 0;
        right: 0;
        margin: 0 auto;
        transition: opacity .25s ease
    }
}

.kv .kv-panel .kv-panel__item .kv-panel__body a.btn-detail.red {
    background-color: #d0121b
}

.kv .kv-panel .kv-panel__item .kv-panel__body a.btn-detail.green {
    background-color: #00a040
}

.kv .kv-panel .kv-panel__item .kv-panel__body a.btn-detail.blue {
    background-color: #005bac
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel .kv-panel__item .kv-panel__body a.btn-detail:hover {
        opacity: 0.7
    }
}

.kv .kv-panel .kv-panel__item .kv-panel__body a.btn-detail:after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    position: absolute;
    right: 5%;
    top: 0;
    bottom: 0;
    margin: auto 0;
    transform: rotate(-45deg)
}

.kv .kv-panel .kv-panel__item.kv-panel__item--cat1 .kv-panel__ttl {
    color: #d0121b;
    border-bottom-color: #d0121b
}

.kv .kv-panel .kv-panel__item.kv-panel__item--cat1 .kv-panel__body li::before {
    color: #d0121b
}

.kv .kv-panel .kv-panel__item.kv-panel__item--cat2 .kv-panel__ttl {
    color: #00a040;
    border-bottom-color: #00a040
}

.kv .kv-panel .kv-panel__item.kv-panel__item--cat2 .kv-panel__body li::before {
    color: #00a040
}

.kv .kv-panel .kv-panel__item.kv-panel__item--cat3 .kv-panel__ttl {
    color: #005bac;
    border-bottom-color: #005bac
}

.kv .kv-panel .kv-panel__item.kv-panel__item--cat3 .kv-panel__body li::before {
    color: #005bac
}

.kv .kv-panel .kv-panel__item+.kv-panel__item {
    margin-top: 3.125vw
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv-panel .kv-panel__item+.kv-panel__item {
        margin-top: 0
    }
}

.kv .kv__note {
    color: #333;
    width: 90.625vw;
    margin: 0 auto 4.6875vw;
    list-style: none;
    line-height: 1.2;
    font-size: 45px;
    font-size: 7.03125vw
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv__note {
        font-size: 32px;
        font-size: 2rem;
        margin: 0 auto 30px;
        max-width: 980px
    }
}

.kv .kv__note li {
    padding-left: 7.03125vw;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv__note li {
        padding-left: 2.5rem
    }

    .kv .kv__note li+li {
        margin-top: 10px
    }
}

.kv .kv__note li::before {
    content: "※";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0
}

.kv .kv__note li em {
    line-height: 1.5;
    font-weight: normal;
    border-bottom: 2px solid #f00
}

@media only print,
screen and (min-width: 768px) {
    .kv .kv__note li em {
        border-bottom: 4px solid #f00
    }
}

.overview {
    display: flex;
    flex-direction: column;
    padding: 0 4.6875vw 15.625vw;
    margin: -14.0625vw -4.6875vw 0;
    position: relative
}

.overview::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 12.5vw;
    background: #fff5ea;
    content: "";
    display: block;
    z-index: -1
}

@media only print,
screen and (min-width: 768px) {
    .overview::before {
        width: 300px
    }
}

@media only print,
screen and (min-width: 768px) {
    .overview {
        padding: 0 20px 100px;
        flex-direction: column;
        align-items: center;
        margin: -60px -20px 0
    }
}

.overview .overview-item {
    background: #fff;
    overflow: hidden;
    padding: 0 4.6875vw;
    border: 3px solid #003693;
    border-radius: 20px
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item {
        padding: 0 30px;
        max-width: 980px;
        width: 100%
    }
}

.overview .overview-item.-envilope-info {
    padding: 0;
    background: #00801e;
    border: 3px solid #00801e
}

.overview .overview-item.-envilope-info>div {
    padding-top: 2.34375vw;
    background: #fff
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-envilope-info>div {
        padding-top: 15px
    }
}

.overview .overview-item.-envilope-info .envilope-info__title {
    margin: 0;
    display: block;
    position: relative;
    background: #00801e;
    padding: 6.25vw 4.6875vw 6.25vw;
    margin-bottom: 0;
    color: #fff;
    line-height: 1.45;
    font-size: 40px;
    font-size: 6.25vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-envilope-info .envilope-info__title {
        transition: opacity .25s ease
    }

    .overview .overview-item.-envilope-info .envilope-info__title:hover {
        opacity: .85
    }
}

.overview .overview-item.-envilope-info .envilope-info__title::before {
    position: absolute;
    top: 50%;
    left: auto;
    right: 4.6875vw;
    background-image: url("/nenkinkyuufukin/common/images/icon_win-disc.svg");
    content: "";
    display: inline-block;
    width: 7.5vw;
    height: 7.5vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateY(-50%)
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-envilope-info .envilope-info__title::before {
        right: 25px;
        width: 36px;
        height: 36px
    }
}

.overview .overview-item.-envilope-info .envilope-info__title img {
    width: 68.75vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-envilope-info .envilope-info__title img {
        width: auto
    }
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-envilope-info .envilope-info__title {
        padding: 30px 80px 30px 45px;
        font-size: 34px;
        font-size: 2.125rem
    }
}

.overview .overview-item.-envilope-info .note {
    padding: 0 4.6875vw 0;
    margin-bottom: 2.34375vw;
    color: red
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-envilope-info .note {
        margin-bottom: 15px;
        padding: 0 30px 0
    }
}

.overview .overview-item.-envilope-info dl {
    padding: 3.125vw 4.6875vw;
    border-top: dashed 1px #999
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-envilope-info dl {
        padding: 20px 30px
    }
}

.overview .overview-item.-envilope-info dl dt {
    font-weight: bold;
    padding-left: 7.03125vw;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-envilope-info dl dt {
        padding-left: 1.6rem
    }
}

.overview .overview-item.-envilope-info dl dt::before {
    content: "●";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(0.5);
    color: #666
}

.overview .overview-item.-envilope-info dl dd {
    padding-left: 7.03125vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-envilope-info dl dd {
        padding-left: 1.6rem
    }
}

.overview .overview-item.-envilope-info dl dd>:last-child {
    margin-bottom: 0
}

.overview .overview-item.-envilope-info dl dd a.list-count {
    padding-left: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-envilope-info dl dd a.list-count {
        padding-left: 15px
    }
}

.overview .overview-item.-envilope-info dl dd a.list-count::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    transform: translate(0, 0) scale(.88889, 1) rotate(45deg);
    margin-left: -3px;
    border-top: 2px solid #003693;
    border-right: 2px solid #003693;
    position: absolute;
    top: .8rem;
    left: 0
}

.overview .overview-item.-envilope-info dl dd .list-count li {
    padding-left: 2.5rem
}

.overview .overview-item.-envilope-info dl dd .list-count a.list-count__link {
    padding-left: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-envilope-info dl dd .list-count a.list-count__link {
        padding-left: 15px
    }
}

.overview .overview-item.-envilope-info dl dd .list-count a.list-count__link::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    transform: translate(0, 0) scale(.88889, 1) rotate(45deg);
    margin-left: -3px;
    border-top: 2px solid #003693;
    border-right: 2px solid #003693;
    position: absolute;
    top: .8rem;
    left: 0
}

.overview .overview-item.-envilope-info dl dd .list-count .list-count__link {
    display: inline-block;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-envilope-info dl dd .list-count .list-count__link {
        margin-left: 20px
    }
}

.overview .overview-item.-related {
    border: 3px solid #00bcef
}

.overview .overview-item.-related h2 {
    background: #ddf7ff;
    color: #333;
    font-size: 48px;
    font-size: 7.5vw
}

.overview .overview-item.-related h2>span {
    display: block;
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-related h2 {
        font-size: 30px;
        font-size: 1.875rem
    }

    .overview .overview-item.-related h2>span {
        font-size: 20px;
        font-size: 1.25rem
    }
}

.overview .overview-item.-faq h2 {
    background: none;
    color: #003693;
    padding: 6.25vw 0 0;
    font-size: 46px;
    font-size: 7.1875vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-faq h2 {
        padding: 40px 0 0;
        font-size: 36px;
        font-size: 2.25rem
    }
}

.overview .overview-item.-faq .btn-single {
    margin-top: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-faq .btn-single {
        margin-top: 40px
    }
}

.overview .overview-item.-warning {
    border: 3px solid #C30013
}

.overview .overview-item.-warning .overview-item-head figure>span::before {
    display: none
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-warning .overview-item-head figure {
        flex-basis: 200px
    }
}

.overview .overview-item.-warning .overview-item-head figure span {
    padding: 7.8125vw 0
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-warning .overview-item-head figure span {
        padding: 40px 0
    }
}

.overview .overview-item.-warning .overview-item-head figure img {
    width: 24.0625vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-warning .overview-item-head figure img {
        width: 130px
    }
}

.overview .overview-item.-warning .overview-item-head .overview-item-head__inner {
    padding: 0
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-warning .overview-item-head .overview-item-head__inner {
        width: calc(100% - 200px);
        padding: 0 40px 0 0
    }
}

.overview .overview-item.-warning h3 {
    padding: 0;
    font-size: 40px;
    font-size: 6.25vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-warning h3 {
        font-size: 34px;
        font-size: 2.125rem
    }
}

.overview .overview-item.-warning h3::before {
    display: none
}

.overview .overview-item.-warning h4 {
    font-size: 36px;
    font-size: 5.625vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-warning h4 {
        text-align: center;
        font-size: 24px;
        font-size: 1.5rem
    }
}

.overview .overview-item.-warning .overview-item__lead {
    padding: 0 4.6875vw 6.25vw;
    margin: 0 -4.6875vw;
    border-bottom: dashed 1px #999
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-warning .overview-item__lead {
        padding: 0 30px 40px;
        margin: 0 -30px
    }
}

.overview .overview-item.-warning ul.-no-border {
    margin: 0
}

.overview .overview-item.-warning ul.-no-border a {
    display: inline-block;
    padding: 0 0 0 3.75vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-warning ul.-no-border a {
        padding: 0 0 0 18px
    }
}

.overview .overview-item.-warning ul.-no-border a:hover {
    background: none
}

.overview .overview-item.-warning ul.-no-border a>span::before {
    position: absolute;
    top: .75rem;
    left: 0
}

.overview .overview-item.-warning ul.-no-border a span {
    display: inline;
    padding: 0;
    border: 0;
    position: static
}

.overview .overview-item.-warning ul.-no-border>li {
    border-top: 0
}

.overview .overview-item.-warning ul.-no-border>li+li {
    margin-top: 3.125vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item.-warning ul.-no-border>li+li {
        margin-top: 15px
    }
}

.overview .overview-item>:last-child {
    margin-bottom: 0
}

.overview .overview-item+.overview-item {
    margin-top: 12.5vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item+.overview-item {
        margin-top: 80px
    }
}

.overview .overview-item>a {
    display: block;
    text-decoration: none;
    margin: 0 -4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item>a {
        margin: 0 -30px
    }

    .overview .overview-item>a:hover h3>span {
        text-decoration: none
    }
}

.overview .overview-item>a[target="_blank"] h3>span::after {
    margin-top: -2.1875vw;
    margin-left: 3.125vw;
    background-image: url("/nenkinkyuufukin/common/images/ico_win.svg");
    content: "";
    display: inline-block;
    width: 5.9375vw;
    height: 4.375vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item>a[target="_blank"] h3>span::after {
        margin-top: 0;
        margin-left: 10px;
        width: 20px;
        height: 15px
    }
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item .overview-item-head {
        display: flex;
        align-items: center
    }
}

.overview .overview-item .overview-item-head .overview-item-head__inner {
    padding: 0 4.6875vw 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item .overview-item-head .overview-item-head__inner {
        width: calc(100% - 320px);
        padding: 0 40px 0 0
    }
}

.overview .overview-item .overview-item-head h3+p {
    margin-bottom: 0;
    color: #333
}

.overview .overview-item .overview-item-head figure {
    text-align: center;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item .overview-item-head figure {
        flex-basis: 320px
    }
}

.overview .overview-item .overview-item-head figure span {
    display: block;
    padding: 9.375vw 0
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item .overview-item-head figure span {
        padding: 55px 0
    }
}

.overview .overview-item .overview-item-head figure span::before {
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    margin: -21.875vw 0 0 -21.875vw;
    width: 43.75vw;
    height: 43.75vw;
    background: #90e2f8;
    content: "";
    display: block
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item .overview-item-head figure span::before {
        margin: -105px 0 0 -105px;
        width: 210px;
        height: 210px
    }
}

.overview .overview-item .overview-item-head figure img {
    width: 43.75vw;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item .overview-item-head figure img {
        width: 180px;
        height: auto
    }
}

.overview .overview-item .overview-item__content {
    padding: 6.25vw 0
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item .overview-item__content {
        padding: 40px 0
    }
}

.overview .overview-item h2 {
    background: #003693;
    font-size: 40px;
    font-size: 6.25vw;
    text-align: center;
    line-height: 1.4;
    margin: 0 -4.6875vw;
    padding: 3.125vw 3.125vw;
    color: #fff
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item h2 {
        font-size: 24px;
        font-size: 1.5rem;
        margin: 0 -30px;
        padding: 20px 20px
    }
}

.overview .overview-item h3 {
    margin-bottom: 2.34375vw;
    position: relative;
    font-size: 40px;
    font-size: 6.25vw;
    padding-left: 10.15625vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item h3 {
        font-size: 24px;
        font-size: 1.5rem;
        padding-left: 35px;
        margin-bottom: 15px
    }
}

.overview .overview-item h3::before {
    position: absolute;
    top: .3rem;
    left: 0;
    background-image: url("/nenkinkyuufukin/common/images/ico_nav-arrow.svg");
    content: "";
    display: inline-block;
    width: 7.5vw;
    height: 7.5vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item h3::before {
        top: .45rem;
        width: 24px;
        height: 24px
    }
}

.overview .overview-item h3 span {
    display: inline-block;
    text-decoration: underline
}

.overview .overview-item h4 {
    margin-bottom: 3.90625vw;
    font-size: 40px;
    font-size: 6.25vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item h4 {
        margin-bottom: 25px;
        font-size: 24px;
        font-size: 1.5rem
    }
}

.overview .overview-item .overview-item__list {
    margin: 0 -4.6875vw;
    list-style: none
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item .overview-item__list {
        margin: 0 -30px
    }
}

.overview .overview-item .overview-item__list:last-child li:last-child {
    border-bottom: none
}

.overview .overview-item .overview-item__list>li {
    margin-top: 0;
    border-top: dashed 1px #999
}

.overview .overview-item .overview-item__list>li:last-child {
    border-bottom: dashed 1px #999
}

.overview .overview-item .overview-item__list>li a {
    display: block;
    padding: 3.90625vw 6.25vw 3.125vw 6.25vw;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item .overview-item__list>li a {
        font-size: 20px;
        font-size: 1.25rem;
        padding: 25px 25px 20px 25px
    }

    .overview .overview-item .overview-item__list>li a:hover {
        background: #d8f5ff
    }

    .overview .overview-item .overview-item__list>li a:hover span>span {
        border-bottom: none
    }
}

.overview .overview-item .overview-item__list>li a>span {
    display: inline-block;
    position: relative;
    padding-left: 3.75vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-item .overview-item__list>li a>span {
        padding-left: 18px
    }
}

.overview .overview-item .overview-item__list>li a>span::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    transform: translate(0, 0) scale(.88889, 1) rotate(45deg);
    margin-left: -3px;
    border-top: 2px solid #003693;
    border-right: 2px solid #003693;
    position: absolute;
    top: .75rem;
    left: 0
}

.overview .overview-item .overview-item__list>li a>span>span {
    border-bottom: solid 1px #003693
}

.overview .overview-video {
    margin: 12.5vw 0
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-video {
        margin: 80px 0
    }
}

.overview .overview-video h2 {
    color: #003693;
    text-align: center;
    font-size: 46px;
    font-size: 7.1875vw;
    margin-bottom: 3.125vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-video h2 {
        font-size: 40px;
        font-size: 2.5rem;
        margin-bottom: 20px
    }
}

.overview .overview-video .modal-video-view-wrapper {
    margin: 0
}

.overview .overview-link-ad {
    margin: 12.5vw 0 12.5vw;
    font-size: 46px;
    font-size: 7.1875vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-link-ad {
        font-size: 36px;
        font-size: 2.25rem;
        margin: 80px 0 80px;
        width: 100%;
        max-width: 980px
    }
}

.overview .overview-link-ad>a {
    text-decoration: none;
    display: flex;
    align-items: center;
    flex-direction: column;
    background: #fff;
    overflow: hidden;
    padding: 0 4.6875vw;
    border: 3px solid #003693;
    font-weight: bold;
    position: relative;
    border-radius: 20px;
    padding: 9.375vw 0
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-link-ad>a {
        justify-content: flex-start;
        flex-direction: row;
        padding: 65px 80px 65px 50px;
        max-width: 980px;
        width: 100%
    }

    .overview .overview-link-ad>a:hover {
        background: #d8f5ff
    }

    .overview .overview-link-ad>a:hover .overview-link-ad__text span {
        border-bottom: 1px solid #003693
    }
}

.overview .overview-link-ad>a::before {
    background-image: url("/nenkinkyuufukin/images/ico_ad.png");
    content: "";
    display: inline-block;
    width: 33.125vw;
    height: 16.25vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    order: 2
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-link-ad>a::before {
        margin-right: 50px;
        width: 167px;
        height: 97px;
        order: 1
    }
}

.overview .overview-link-ad>a::after {
    content: "";
    display: inline-block;
    background-image: url("/nenkinkyuufukin/common/images/ico_nav-arrow.svg");
    width: 9.375vw;
    height: 9.375vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    right: 3.125vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-link-ad>a::after {
        width: 40px;
        height: 40px;
        position: absolute;
        top: 50%;
        right: 20px
    }
}

.overview .overview-link-ad>a .overview-link-ad__text {
    text-align: center;
    line-height: 1.4;
    order: 1;
    margin-bottom: 3.125vw
}

@media only print,
screen and (min-width: 768px) {
    .overview .overview-link-ad>a .overview-link-ad__text {
        margin-bottom: 0;
        text-align: left;
        order: 2
    }
}

@media only print,
screen and (min-width: 768px) {
    .page section.standard {
        margin: 0 auto;
        max-width: 980px
    }
}

.page section.standard+section.standard {
    padding-top: 21.875vw
}

@media only print,
screen and (min-width: 768px) {
    .page section.standard+section.standard {
        padding-top: 80px
    }
}

.page .lead {
    margin-bottom: 3.125vw
}

@media only print,
screen and (min-width: 768px) {
    .page .lead {
        max-width: 980px;
        margin: 0 auto 40px
    }
}

.breadcrumb {
    display: none
}

@media only print,
screen and (min-width: 768px) {
    .breadcrumb {
        line-height: 1;
        list-style: none;
        display: flex;
        position: absolute;
        top: 15px;
        left: 20px
    }

    .breadcrumb li {
        font-size: 12px;
        font-size: .75rem;
        margin-top: 0
    }

    .breadcrumb li+li {
        position: relative
    }

    .breadcrumb li+li::before {
        margin: 0 5px;
        content: "＞";
        display: inline-block
    }
}

.hdg-group {
    margin: 0 -4.6875vw 9.375vw;
    background: url("/nenkinkyuufukin/common/images/bg_h1.png") 0 0 repeat;
    background-size: 31.25vw auto;
    padding: 3.125vw 4.6875vw 3.125vw
}

@media only print,
screen and (min-width: 768px) {
    .hdg-group {
        background-size: 100px auto;
        margin: 0 -20px 40px;
        padding: 0 20px
    }
}

.hdg-group>div {
    max-width: 980px;
    margin: 0 auto;
    position: relative
}

.hdg-group .hdg-group__inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 31.25vw
}

@media only print,
screen and (min-width: 768px) {
    .hdg-group .hdg-group__inner {
        min-height: 260px;
        height: 260px;
        padding: 20px 0 20px
    }
}

.hdg-group h1 {
    text-align: center;
    margin-bottom: 2.34375vw;
    line-height: 1.4;
    font-size: 48px;
    font-size: 7.5vw
}

@media only print,
screen and (min-width: 768px) {
    .hdg-group h1 {
        margin-bottom: 0;
        font-size: 40px;
        font-size: 2.5rem
    }
}

.hdg-group figure {
    text-align: center
}

@media only print,
screen and (min-width: 768px) {
    .hdg-group figure {
        position: absolute;
        right: 0;
        bottom: 20px
    }
}

.hdg-l2 {
    margin: 0 -4.6875vw 6.25vw;
    background: #003693;
    color: #fff;
    position: relative;
    text-align: center;
    font-size: 40px;
    font-size: 6.25vw;
    padding: 3.90625vw 9.375vw 3.90625vw
}

@media only print,
screen and (min-width: 768px) {
    .hdg-l2 {
        text-align: left;
        margin: 0 0 50px;
        border-radius: 10px;
        padding: 20px 40px;
        font-size: 25px;
        font-size: 1.5625rem
    }
}

.hdg-l3 {
    margin-top: 25vw;
    margin-bottom: 6.25vw;
    border-bottom: 1px solid #003693;
    line-height: 1.4;
    position: relative;
    font-size: 36px;
    font-size: 5.625vw;
    padding: 3.125vw 0 1.5625vw 5.46875vw
}

@media only print,
screen and (min-width: 768px) {
    .hdg-l3 {
        margin-top: 80px;
        margin-bottom: 50px;
        padding: 5px 0 10px 30px;
        font-size: 25px;
        font-size: 1.5625rem
    }
}

.hdg-l3::before {
    width: 1.5625vw;
    background: #003693;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0
}

@media only print,
screen and (min-width: 768px) {
    .hdg-l3::before {
        width: 6px
    }
}

.hdg-l4 {
    margin-top: 9.375vw;
    margin-bottom: 6.25vw;
    padding: 5px 0 10px 30px;
    line-height: 1.4;
    position: relative;
    font-size: 36px;
    font-size: 5.625vw;
    padding: 1.5625vw 0 1.5625vw 3.90625vw
}

@media only print,
screen and (min-width: 768px) {
    .hdg-l4 {
        margin-top: 50px;
        margin-bottom: 20px;
        padding: 2px 0 2px 20px;
        font-size: 22px;
        font-size: 1.375rem
    }
}

.hdg-l4::before {
    width: 1.5625vw;
    background: #00BCEF;
    border-radius: 3px;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0
}

@media only print,
screen and (min-width: 768px) {
    .hdg-l4::before {
        width: 6px
    }
}

.page-index {
    border-radius: 10px;
    border: 1px solid #E2E2E2;
    background: #FAFAFA;
    padding: 4.6875vw;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .page-index {
        padding: 30px;
        margin: 0 auto;
        max-width: 980px
    }
}

.page-index+section.standard {
    padding-top: 21.875vw
}

@media only print,
screen and (min-width: 768px) {
    .page-index+section.standard {
        padding-top: 95px
    }
}

.page-index h2 {
    color: #666;
    line-height: 1;
    font-weight: normal;
    text-align: center;
    margin-bottom: 4.6875vw;
    font-size: 40px;
    font-size: 6.25vw
}

@media only print,
screen and (min-width: 768px) {
    .page-index h2 {
        margin-bottom: 0;
        font-size: 40px;
        font-size: 2.5rem;
        position: absolute;
        top: 30px;
        left: 30px
    }
}

.page-index ul {
    list-style: none
}

@media only print,
screen and (min-width: 768px) {
    .page-index>ul {
        margin-left: 240px
    }
}

.page-index>ul ul {
    margin-left: 6.25vw
}

@media only print,
screen and (min-width: 768px) {
    .page-index>ul ul {
        margin-left: 80px
    }
}

.page-index>ul a {
    display: inline-block;
    padding-left: 20px;
    position: relative
}

.page-index>ul a::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    transform: translate(0, 0) scale(1, .88889) rotate(45deg);
    margin-top: -3px;
    border-right: 2px solid #003693;
    border-bottom: 2px solid #003693;
    position: absolute;
    top: .85rem;
    left: 0
}

.box-fill {
    background: #F5F5F5;
    border-radius: 10px;
    margin-bottom: 6.25vw;
    padding: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .box-fill {
        padding: 40px 70px;
        margin-bottom: 40px
    }
}

.box-fill>:last-child {
    margin-bottom: 0
}

@media only print,
screen and (min-width: 768px) {
    .box-fill.narrow {
        padding: 40px 30px
    }
}

.box-border {
    background: #fff;
    border: 2px solid #00801e;
    border-radius: 10px;
    margin-bottom: 6.25vw;
    padding: 4.6875vw
}

li .box-border {
    margin-top: 3.125vw
}

@media only print,
screen and (min-width: 768px) {
    li .box-border {
        margin-left: -3rem;
        margin-top: 20px
    }
}

@media only print,
screen and (min-width: 768px) {
    .faq-block__body .box-border {
        margin-left: -10.5rem
    }
}

@media only print,
screen and (min-width: 768px) {
    .box-border {
        padding: 20px;
        margin-bottom: 40px
    }
}

.box-border h3 {
    color: #00801e;
    text-align: center;
    margin-bottom: 3.90625vw
}

@media only print,
screen and (min-width: 768px) {
    .box-border h3 {
        margin-bottom: 25px
    }
}

.box-border>:last-child {
    margin-bottom: 0
}

@media only print,
screen and (min-width: 768px) {
    .box-border.form {
        padding: 20px 15px 20px 5px
    }
}

.btn-single {
    text-align: center;
    margin-top: 12.5vw
}

@media only print,
screen and (min-width: 768px) {
    .btn-single {
        margin-top: 40px
    }
}

.btn-single a {
    background: #fff;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    position: relative;
    color: #003693;
    font-size: 36px;
    font-size: 5.625vw;
    padding: 2.34375vw 4.6875vw;
    border: 1px solid #003693;
    box-shadow: 0px 3px 0px rgba(0, 54, 147, 0.5);
    border-radius: 10px;
    width: 100%
}

@media only print,
screen and (min-width: 768px) {
    .btn-single a {
        max-width: 480px;
        font-size: 20px;
        font-size: 1.25rem;
        padding: 15px 30px
    }

    .btn-single a:hover {
        background: #d8f5ff
    }
}

.btn-single a:not([target="_blank"])::after {
    margin-top: -8px;
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    transform: translate(0, 0) scale(.92308, 1) rotate(45deg);
    margin-left: -4px;
    border-top: 3px solid #003693;
    border-right: 3px solid #003693;
    position: absolute;
    top: 50%;
    right: 15px
}

.btn-single a[target="_blank"]::after {
    margin-top: -2.1875vw;
    position: absolute;
    top: 50%;
    right: 15px;
    background-image: url("/nenkinkyuufukin/common/images/ico_win.svg");
    content: "";
    display: inline-block;
    width: 5.9375vw;
    height: 4.375vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media only print,
screen and (min-width: 768px) {
    .btn-single a[target="_blank"]::after {
        margin-top: -7px;
        width: 20px;
        height: 15px
    }
}

.btn-single.-fill a {
    background: #003693;
    color: #fff
}

@media only print,
screen and (min-width: 768px) {
    .btn-single.-fill a:hover {
        background: #fff;
        color: #003693
    }

    .btn-single.-fill a:hover::after {
        content: '';
        display: inline-block;
        width: 12px;
        height: 12px;
        transform: translate(0, 0) scale(.92308, 1) rotate(45deg);
        margin-left: -4px;
        border-top: 3px solid #003693;
        border-right: 3px solid #003693
    }
}

.btn-single.-fill a::after {
    margin-top: -8px;
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    transform: translate(0, 0) scale(.92308, 1) rotate(45deg);
    margin-left: -4px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    position: absolute;
    top: 50%;
    right: 15px
}

.list-link-arrow {
    list-style: none;
    margin-bottom: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .list-link-arrow {
        margin-bottom: 25px
    }
}

.list-link-arrow a {
    display: inline-block;
    position: relative;
    padding-left: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .list-link-arrow a {
        padding-left: 15px
    }
}

.list-link-arrow a::before {
    position: absolute;
    top: .8rem;
    left: 0
}

.list-link-arrow.-down a::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    transform: translate(0, 0) scale(1, .88889) rotate(45deg);
    margin-top: -3px;
    border-right: 2px solid #003693;
    border-bottom: 2px solid #003693
}

.list-link-arrow:not(.-down) a::before {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    transform: translate(0, 0) scale(.88889, 1) rotate(45deg);
    margin-left: -3px;
    border-top: 2px solid #003693;
    border-right: 2px solid #003693
}

.list-bullet {
    list-style: none;
    margin-bottom: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .list-bullet {
        margin-bottom: 25px
    }
}

.list-bullet>li {
    padding-left: 7.03125vw;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .list-bullet>li {
        padding-left: 1.6rem
    }
}

.list-bullet>li::before {
    content: "●";
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(0.5);
    color: #666
}

@media only print,
screen and (min-width: 768px) {
    .list-bullet>li+li {
        margin-top: 10px
    }
}

.list-link-btn {
    background: #fff;
    list-style: none;
    display: flex;
    flex-direction: column;
    margin-bottom: 4.6875vw;
    border: 1px solid #003693;
    border-radius: 10px;
    box-shadow: 0px 3px 0px rgba(0, 54, 147, 0.5)
}

@media only print,
screen and (min-width: 768px) {
    .list-link-btn {
        background: none;
        border: none;
        flex-direction: row;
        margin-bottom: 25px;
        justify-content: space-between;
        border-radius: 0;
        box-shadow: none
    }
}

.list-link-btn li {
    margin-top: 0
}

@media only print,
screen and (min-width: 768px) {
    .list-link-btn li {
        width: 100%;
        max-width: calc(33.3% - 10px)
    }
}

.list-link-btn li+li a {
    border-top: 1px solid #003693;
    border-radius: 0
}

@media only print,
screen and (min-width: 768px) {
    .list-link-btn li+li a {
        border-radius: 10px
    }
}

.list-link-btn li a {
    text-decoration: none;
    text-align: center;
    display: block;
    position: relative;
    color: #003693;
    font-size: 32px;
    font-size: 5vw;
    padding: 3.125vw 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .list-link-btn li a {
        background: #fff;
        font-size: 20px;
        font-size: 1.25rem;
        border-radius: 10px;
        border: 1px solid #003693;
        padding: 10px 40px;
        box-shadow: 0px 3px 0px rgba(0, 54, 147, 0.5)
    }

    .list-link-btn li a:hover {
        background: #d8f5ff
    }
}

.list-link-btn li a::before {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    transform: translate(0, 0) scale(1, .92308) rotate(45deg);
    margin-top: -4px;
    border-right: 3px solid #003693;
    border-bottom: 3px solid #003693;
    position: absolute;
    top: calc(50% - 4px);
    right: 15px
}

.list-count {
    list-style: none;
    margin-bottom: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .list-count {
        margin-bottom: 25px
    }
}

@media only print,
screen and (max-width: 767px) {
    .list-count.-break>li {
        padding-left: 0
    }

    .list-count.-break>li>span:first-child {
        display: block;
        position: static;
        top: auto;
        left: auto
    }
}

.list-count>li {
    padding-left: 4rem;
    position: relative;
    font-size: 36px;
    font-size: 5.625vw
}

@media only print,
screen and (min-width: 768px) {
    .list-count>li {
        font-size: 20px;
        font-size: 1.25rem
    }
}

.list-count>li>span:first-child {
    position: absolute;
    top: 0;
    left: 0
}

.parallel-image-text {
    display: flex;
    flex-direction: column
}

@media only print,
screen and (min-width: 768px) {
    .parallel-image-text {
        flex-direction: row;
        justify-content: space-between
    }
}

.parallel-image-text .parallel-image-text__image {
    margin-bottom: 6.25vw
}

@media only print,
screen and (min-width: 768px) {
    .parallel-image-text .parallel-image-text__image {
        margin-bottom: 0
    }
}

@media only print,
screen and (min-width: 768px) {
    .parallel-image-text .parallel-image-text__text {
        padding: 0 0 0 40px;
        width: 100%
    }
}

.parallel-image-text.-invert .parallel-image-text__image {
    order: 2
}

.parallel-image-text.-invert .parallel-image-text__text {
    order: 1
}

@media only print,
screen and (min-width: 768px) {
    .parallel-image-text.-invert .parallel-image-text__text {
        padding: 0 40px 0 0
    }
}

.parallel-image-text.-w520 .parallel-image-text__text {
    max-width: none
}

@media only print,
screen and (min-width: 768px) {
    .parallel-image-text.-w520 .parallel-image-text__text {
        max-width: calc(100% - 520px)
    }
}

.parallel-image-text.-w400 .parallel-image-text__text {
    max-width: none
}

@media only print,
screen and (min-width: 768px) {
    .parallel-image-text.-w400 .parallel-image-text__text {
        max-width: calc(100% - 400px)
    }
}

.modal-video-view .modal-video-view__thumb {
    text-align: center;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .modal-video-view .modal-video-view__thumb {
        transition: opacity .25s ease
    }

    .modal-video-view .modal-video-view__thumb:hover {
        opacity: .85
    }
}

.modal-video-view .modal-video-view__thumb::before {
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    background-image: url("/nenkinkyuufukin/common/images/btn-play.svg");
    content: "";
    display: block;
    width: 15.625vw;
    height: 15.625vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media only print,
screen and (min-width: 768px) {
    .modal-video-view .modal-video-view__thumb::before {
        width: 78px;
        height: 78px
    }
}

.modal-video-view .modal-video-view__thumb img {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 20px
}

@media only print,
screen and (min-width: 768px) {
    .modal-video-view .modal-video-view__thumb img {
        max-width: 854px
    }
}

.system .hdg-group figure img {
    width: 21.875vw
}

@media only print,
screen and (min-width: 768px) {
    .system .hdg-group figure img {
        width: 110px
    }
}

.system .hdg-l2.-fig-1 {
    padding: 20.3125vw 9.375vw 1.5625vw
}

@media only print,
screen and (min-width: 768px) {
    .system .hdg-l2.-fig-1 {
        padding: 20px 40px 20px 250px
    }
}

.system .hdg-l2.-fig-1::before {
    width: 56.875vw;
    height: 28.125vw;
    background: url("/nenkinkyuufukin/images/system/img_hdg-baloon-1.png") 0 0 no-repeat;
    background-size: contain;
    margin: auto;
    content: "";
    display: block;
    position: absolute;
    top: -9.375vw;
    right: 0;
    left: 0
}

@media only print,
screen and (min-width: 768px) {
    .system .hdg-l2.-fig-1::before {
        width: 223px;
        height: 110px;
        position: absolute;
        top: -40px;
        right: auto;
        left: 10px
    }
}

.system .hdg-l2.-fig-2 {
    padding: 20.3125vw 9.375vw 1.5625vw
}

@media only print,
screen and (min-width: 768px) {
    .system .hdg-l2.-fig-2 {
        padding: 20px 40px 20px 170px
    }
}

.system .hdg-l2.-fig-2::before {
    width: 37.5vw;
    height: 28.125vw;
    background: url("/nenkinkyuufukin/images/system/img_hdg-baloon-2.png") 0 0 no-repeat;
    background-size: contain;
    margin: auto;
    content: "";
    display: block;
    position: absolute;
    top: -9.375vw;
    right: 0;
    left: 0
}

@media only print,
screen and (min-width: 768px) {
    .system .hdg-l2.-fig-2::before {
        width: 136px;
        height: 102px;
        position: absolute;
        top: -30px;
        right: auto;
        left: 20px
    }
}

.system .hdg-l2.-fig-3 {
    padding: 20.3125vw 9.375vw 1.5625vw
}

@media only print,
screen and (min-width: 768px) {
    .system .hdg-l2.-fig-3 {
        padding: 20px 40px 20px 170px
    }
}

.system .hdg-l2.-fig-3::before {
    width: 37.5vw;
    height: 28.125vw;
    background: url("/nenkinkyuufukin/images/system/img_hdg-baloon-3.png") 0 0 no-repeat;
    background-size: contain;
    margin: auto;
    content: "";
    display: block;
    position: absolute;
    top: -9.375vw;
    right: 0;
    left: 0
}

@media only print,
screen and (min-width: 768px) {
    .system .hdg-l2.-fig-3::before {
        width: 133px;
        height: 100px;
        position: absolute;
        top: -30px;
        right: auto;
        left: 20px
    }
}

.system section.-flow {
    background: none;
    margin: 0 -4.6875vw 0
}

@media only print,
screen and (min-width: 768px) {
    .system section.-flow {
        background: #FFF5EA;
        max-width: none;
        margin: 0 -20px
    }
}

.system section.-flow>div {
    padding: 0 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .system section.-flow>div {
        margin: 0 auto;
        padding: 110px 20px;
        max-width: 980px
    }
}

.system section.-flow .list-apply {
    list-style: none
}

.system section.-flow .list-apply>li {
    position: relative
}

.system section.-flow .list-apply>li+li {
    margin-top: 12.5vw
}

@media only print,
screen and (min-width: 768px) {
    .system section.-flow .list-apply>li+li {
        margin-top: 60px
    }
}

.system section.-flow .list-apply>li+li::before {
    content: "";
    display: block;
    background: url("/nenkinkyuufukin/images/system/ico_flow-arrow.svg");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -7.8125vw;
    right: 0;
    left: 0;
    margin: auto;
    width: 12.5vw;
    height: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .system section.-flow .list-apply>li+li::before {
        width: 80px;
        height: 30px;
        position: absolute;
        top: -45px;
        right: 0;
        left: 0
    }
}

.system section.-flow .list-apply .apply-content {
    background: #fff
}

@media only print,
screen and (min-width: 768px) {
    .system section.-flow .list-apply .apply-content {
        padding: 15px 50px
    }
}

@media only print,
screen and (min-width: 768px) {
    .system section.-flow .list-apply .apply-content.-parallel {
        display: flex;
        align-items: center
    }
}

.system section.-flow .list-apply .apply-content.-parallel .content__text {
    width: 100%
}

@media only print,
screen and (min-width: 768px) {
    .system section.-flow .list-apply .apply-content.-parallel .content__text {
        max-width: calc(100% - 258px);
        padding-right: 70px
    }
}

.system section.-flow .list-apply .apply-content.-parallel .content__text span {
    display: block
}

@media only print,
screen and (max-width: 767px) {
    .system section.-flow .list-apply .apply-content.-parallel .content__image {
        text-align: center
    }

    .system section.-flow .list-apply .apply-content.-parallel .content__image img {
        width: 58.75vw
    }
}

.system section.-flow .list-apply .apply-content .text-numbered {
    display: flex
}

@media only print,
screen and (min-width: 768px) {
    .system section.-flow .list-apply .apply-content .text-numbered {
        align-items: center
    }
}

.system section.-flow .list-apply .apply-content .text-numbered>span:first-child {
    padding-right: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .system section.-flow .list-apply .apply-content .text-numbered>span:first-child {
        padding-right: 20px
    }
}

.system section.-flow .list-apply .apply-content .text-numbered>span:first-child .text-numbered__number {
    background-color: #00801e;
    color: #fff;
    line-height: 1;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 12.5vw;
    height: 12.5vw;
    font-size: 42px;
    font-size: 6.5625vw
}

@media only print,
screen and (min-width: 768px) {
    .system section.-flow .list-apply .apply-content .text-numbered>span:first-child .text-numbered__number {
        font-size: 36px;
        font-size: 2.25rem;
        width: 60px;
        height: 60px
    }
}

.system section.-flow .list-apply .apply-content .text-numbered>span:first-child+span {
    font-weight: bold
}

@media only print,
screen and (min-width: 768px) {
    .system section.-flow .list-apply .apply-content .text-numbered>span:first-child+span {
        font-weight: normal
    }
}

.system .fill-howto .image {
    margin-bottom: 6.25vw;
    text-align: center
}

.system .fill-howto .image img {
    width: 93.75vw
}

@media only print,
screen and (min-width: 768px) {
    .system .fill-howto .image img {
        width: auto
    }
}

@media only print,
screen and (min-width: 768px) {
    .system .fill-howto .image {
        margin-bottom: 50px
    }
}

.system .fill-howto .image-2 {
    margin-top: 2.34375vw
}

.system .fill-howto .image-2 img {
    width: 53.125vw
}

.system .fill-howto .image-3 {
    margin-top: 2.34375vw
}

.system .fill-howto .image-3 img {
    width: 62.5vw
}

@media only print,
screen and (min-width: 768px) {
    .system .fill-howto .fill-howto__description {
        display: flex
    }

    .system .fill-howto .fill-howto__description>div {
        width: 50%
    }
}

@media only print,
screen and (max-width: 767px) {
    .system .fill-howto .fill-howto__description>div+div li+li {
        margin-top: 4.6875vw
    }
}

.system .fill-howto .list-marks {
    list-style: none
}

.system .fill-howto .list-marks>li {
    padding-left: 2.2rem;
    position: relative
}

.system .fill-howto .list-marks>li:nth-child(1)::before {
    color: #f00;
    position: absolute;
    top: 0;
    left: 0;
    content: "㋐";
    display: inline-block;
    transform: scale(1.3)
}

.system .fill-howto .list-marks>li:nth-child(2)::before {
    color: #f00;
    position: absolute;
    top: 0;
    left: 0;
    content: "㋑";
    display: inline-block;
    transform: scale(1.3)
}

.system .fill-howto .list-marks>li:nth-child(3)::before {
    color: #f00;
    position: absolute;
    top: 0;
    left: 0;
    content: "㋒";
    display: inline-block;
    transform: scale(1.3)
}

.system .fill-howto .list-marks>li:nth-child(4)::before {
    color: #f00;
    position: absolute;
    top: 0;
    left: 0;
    content: "㋓";
    display: inline-block;
    transform: scale(1.3)
}

.faq .hdg-group figure img {
    width: 21.875vw
}

@media only print,
screen and (min-width: 768px) {
    .faq .hdg-group figure img {
        width: 110px
    }
}

.faq h3 {
    font-size: 36px;
    font-size: 5.625vw;
    margin-bottom: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .faq h3 {
        font-size: 20px;
        font-size: 1.25rem;
        margin-bottom: 15px
    }
}

@media only print,
screen and (min-width: 768px) {
    .faq .faq-index {
        max-width: 980px;
        margin: 0 auto
    }
}

.faq .faq-index+section {
    padding-top: 12.5vw
}

@media only print,
screen and (min-width: 768px) {
    .faq .faq-index+section {
        padding-top: 80px
    }
}

.faq .faq-block .faq-block__title {
    position: relative;
    border-bottom: 2px solid #003693;
    font-size: 40px;
    font-size: 6.25vw;
    padding-bottom: .78125vw;
    margin-bottom: 9.375vw
}

@media only print,
screen and (min-width: 768px) {
    .faq .faq-block .faq-block__title {
        font-size: 26px;
        font-size: 1.625rem;
        padding: 0 0 5px 7.5rem;
        margin-bottom: 30px
    }
}

.faq .faq-block .faq-block__title>span {
    display: block
}

@media only print,
screen and (min-width: 768px) {
    .faq .faq-block .faq-block__title>span {
        display: inline-block
    }
}

.faq .faq-block .faq-block__title::before {
    background: #003693;
    text-align: center;
    color: #fff;
    font-size: 50px;
    font-size: 7.8125vw;
    border-radius: 30px;
    content: "Q" attr(data-q) ".";
    display: inline-block;
    min-width: 28.125vw;
    padding: 0 2.34375vw;
    margin-bottom: 4.6875vw
}

@media only print,
screen and (min-width: 768px) {
    .faq .faq-block .faq-block__title::before {
        margin-bottom: 0;
        padding: 0 15px;
        min-width: 95px;
        font-size: 25px;
        font-size: 1.5625rem;
        position: absolute;
        top: 0;
        left: 0
    }
}

.faq .faq-block .faq-block__body {
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .faq .faq-block .faq-block__body {
        padding-left: 7.5rem
    }
}

.faq .faq-block .faq-block__body::before {
    font-weight: bold;
    background: #ccc;
    text-align: center;
    color: #003693;
    font-size: 50px;
    font-size: 7.8125vw;
    border-radius: 30px;
    content: "A.";
    display: inline-block;
    min-width: 28.125vw;
    margin-bottom: 4.6875vw;
    padding: 0 2.34375vw
}

@media only print,
screen and (min-width: 768px) {
    .faq .faq-block .faq-block__body::before {
        margin-bottom: 0;
        padding: 0 15px;
        min-width: 95px;
        font-size: 25px;
        font-size: 1.5625rem;
        position: absolute;
        top: 0;
        left: 0
    }
}

@media only print,
screen and (max-width: 767px) {
    .ad .hdg-group {
        padding-bottom: 0
    }
}

@media only print,
screen and (min-width: 768px) {
    .ad .hdg-group figure {
        bottom: 0
    }
}

.ad .hdg-group figure img {
    width: 23.4375vw
}

@media only print,
screen and (min-width: 768px) {
    .ad .hdg-group figure img {
        width: 128px
    }
}

.ad .cm-ready {
    text-align: center;
    padding: 4.6875vw 0
}

@media only print,
screen and (min-width: 768px) {
    .ad .cm-ready {
        padding: 30px 0
    }
}

.ad .ad-gallery {
    list-style: none;
    display: flex;
    flex-direction: column
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery {
        flex-direction: row;
        flex-wrap: wrap;
        margin: 0 -10px
    }
}

.ad .ad-gallery:not(:first-child) {
    margin-top: 7.8125vw
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery:not(:first-child) {
        margin-top: 30px
    }
}

.ad .ad-gallery.-video img {
    border-radius: 20px;
    border: 1px solid #ccc
}

.ad .ad-gallery.-video figure::before {
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    background-image: url("/nenkinkyuufukin/common/images/btn-play.svg");
    content: "";
    display: block;
    width: 15.625vw;
    height: 15.625vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery.-video figure::before {
        width: 50px;
        height: 50px
    }
}

.ad .ad-gallery figure {
    margin-bottom: 1.5625vw;
    width: 62.5vw;
    margin: 0 auto 6.25vw;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery figure {
        width: auto;
        margin-bottom: 10px;
        transition: opacity .25s ease
    }

    .ad .ad-gallery figure:hover {
        opacity: .85
    }
}

.ad .ad-gallery .ad-gallery__title {
    font-weight: bold
}

.ad .ad-gallery .list-link-arrow {
    font-size: 29px;
    font-size: 4.53125vw
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery .list-link-arrow {
        font-size: 16px;
        font-size: 1rem
    }

    .ad .ad-gallery .list-link-arrow a::before {
        top: .55rem
    }
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery.-poster {
        flex-wrap: nowrap
    }
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery.-poster>li:first-child~li {
        width: calc(((100% - (100% / 3)) / 3) - 20px);
        margin: 0 10px
    }
}

.ad .ad-gallery.-poster>li:first-child~li figure {
    width: 50vw
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery.-poster>li:first-child~li figure {
        width: auto
    }
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery.col-3>li {
        width: calc((100% / 3) - 20px)
    }

    .ad .ad-gallery.col-3>li:nth-child(n+4) {
        margin-top: 50px
    }
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery.col-4>li {
        width: calc((100% / 4) - 20px)
    }

    .ad .ad-gallery.col-4>li:nth-child(n+5) {
        margin-top: 50px
    }
}

.ad .ad-gallery>li {
    margin: 0 10px
}

.ad .ad-gallery>li+li {
    margin-top: 7.8125vw
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery>li+li {
        margin-top: 0
    }
}

.ad .ad-gallery>li a[href$=".pdf"]::after {
    display: none
}

.ad .ad-gallery>li a[href$=".pdf"] span {
    display: block;
    position: relative;
    padding-left: 9.375vw
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery>li a[href$=".pdf"] span {
        padding-left: 30px
    }
}

.ad .ad-gallery>li a[href$=".pdf"] span::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    display: inline-block;
    background: url("/nenkinkyuufukin/common/images/ico_pdf.png") 0 0 no-repeat;
    background-size: contain;
    width: 6.875vw;
    height: 7.5vw
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery>li a[href$=".pdf"] span::before {
        width: 22px;
        height: 24px
    }
}

.ad .ad-gallery>li a[href$=".pdf"] span::after {
    margin-top: -2.1875vw;
    margin-left: 3.125vw;
    background-image: url("/nenkinkyuufukin/common/images/ico_win.svg");
    content: "";
    display: inline-block;
    width: 5.9375vw;
    height: 4.375vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media only print,
screen and (min-width: 768px) {
    .ad .ad-gallery>li a[href$=".pdf"] span::after {
        margin-top: 0;
        margin-left: 10px;
        width: 20px;
        height: 15px
    }
}

.ad .ad-gallery .movie_box iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.ad .plugin-download {
    display: flex;
    flex-direction: column;
    margin-top: 9.375vw
}

@media only print,
screen and (min-width: 768px) {
    .ad .plugin-download {
        margin-top: 60px;
        flex-direction: row
    }
}

.ad .plugin-download .plugin-download__text {
    padding: 3.90625vw 0 0 0;
    font-size: 32px;
    font-size: 5vw
}

@media only print,
screen and (min-width: 768px) {
    .ad .plugin-download .plugin-download__text {
        font-size: 16px;
        font-size: 1rem;
        padding: 0 0 0 25px;
        flex-direction: row;
        width: calc(100% - 180px)
    }
}

@media only print,
screen and (min-width: 768px) {
    .pension .hdg-group .hdg-group__inner {
        min-height: 350px
    }
}

.pension .hdg-group figure img {
    width: 25vw
}

@media only print,
screen and (min-width: 768px) {
    .pension .hdg-group figure img {
        width: 120px
    }
}

.sitemap .hdg-group figure img {
    width: 18.75vw
}

@media only print,
screen and (min-width: 768px) {
    .sitemap .hdg-group figure img {
        width: 92px
    }
}

.sitemap .map-item>dt {
    font-size: 40px;
    font-size: 6.25vw
}

@media only print,
screen and (min-width: 768px) {
    .sitemap .map-item>dt {
        font-size: 26px;
        font-size: 1.625rem
    }
}

.sitemap .map-item>dt a {
    display: inline-block;
    padding-left: 10.9375vw;
    font-weight: bold;
    position: relative
}

@media only print,
screen and (min-width: 768px) {
    .sitemap .map-item>dt a {
        padding-left: 35px
    }
}

.sitemap .map-item>dt a::before {
    width: 7.5vw;
    height: 7.5vw;
    background: url(/nenkinkyuufukin/common/images/ico_nav-arrow.svg) 0 0 no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    position: absolute;
    top: .45rem;
    left: 0
}

@media only print,
screen and (min-width: 768px) {
    .sitemap .map-item>dt a::before {
        width: 24px;
        height: 24px
    }
}

.sitemap .map-item>dd {
    padding: 4.6875vw 0 0 10.9375vw
}

@media only print,
screen and (min-width: 768px) {
    .sitemap .map-item>dd {
        padding: 20px 0 0 35px
    }
}

.sitemap .map-item+.map-item {
    margin-top: 12.5vw
}

@media only print,
screen and (min-width: 768px) {
    .sitemap .map-item+.map-item {
        margin-top: 40px
    }
}

.warning .hdg-group {
    padding: 0 4.6875vw 0
}

@media only print,
screen and (min-width: 768px) {
    .warning .hdg-group {
        padding: 0 20px 0px
    }
}

@media only print,
screen and (min-width: 768px) {
    .warning .hdg-group figure {
        margin-top: -50px
    }
}

.warning .hdg-group figure img {
    width: 21.875vw
}

@media only print,
screen and (min-width: 768px) {
    .warning .hdg-group figure img {
        width: 133px
    }
}