body,
html,
img {
    max-width: 100%
}

#modal.scrollable .modal-inner,
html {
    -webkit-overflow-scrolling: touch
}

a,
a:active,
a:hover,
a:visited {
    color: #0055A9
}

#modal,
#modal .modal-inner {
    top: 0;
    right: 0;
    width: 100%;
    left: 0
}

.ln-thru>p,
.modal-content[data-id=steps] ul.slides li.slide-item .slide-content p,
.slick-dots,
.slick-slider>button p.icon {
    text-align: center
}

.slick-loading .slick-slide,
.slick-loading .slick-track {
    visibility: hidden
}

.slick-dots,
li {
    list-style: none
}

@-webkit-keyframes rotate {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

@keyframes rotate {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

@-webkit-keyframes rotate-reverse {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(-360deg)
    }
}

@keyframes rotate-reverse {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(-360deg)
    }
}

@-webkit-keyframes preloader {

    0%,
    100% {
        opacity: .2
    }

    20%,
    40% {
        opacity: 1
    }
}

@keyframes preloader {

    0%,
    100% {
        opacity: .2
    }

    20%,
    40% {
        opacity: 1
    }
}

@font-face {
    font-family: hirogin-icons;
    src: url(../fonts/P4pnh8a2_hirogin-icons.eot);
    src: url(../fonts/P4pnh8a2_hirogin-icons.eot#iefix) format("embedded-opentype"), url(../fonts/P4pnh8a2_hirogin-icons.ttf) format("truetype"), url(../fonts/P4pnh8a2_hirogin-icons.woff) format("woff"), url(https://www.mlp.cc/start/pc/lp1/fonts/hirogin-icons.svg?4pnh8a2#hirogin-icons) format("svg");
    font-weight: 400;
    font-style: normal
}

p.icon {
    font-family: hirogin-icons !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

p.icon.angle-right:before {
    content: "\e900"
}

p.icon.angle-left:before {
    content: "\e901"
}

p.icon.angle-up:before {
    content: "\e902"
}

p.icon.angle-down:before {
    content: "\e903"
}

p.icon.close:before {
    content: "\e904"
}

p.icon.menu:before {
    content: "\e905"
}

p.icon.plus:before {
    content: "\e906"
}

p.icon.minus:before {
    content: "\e907"
}

p.icon.triangle-up:before {
    content: "\e910"
}

p.icon.triangle-down:before {
    content: "\e911"
}

p.icon.circle:before {
    content: "\e912"
}

p.icon.triangle:before {
    content: "\e913"
}

p.icon.smartphone:before {
    content: "\e920"
}

p.icon.creditcard:before {
    content: "\e921"
}

p.icon.q:before {
    content: "\e922"
}

p.icon.a:before {
    content: "\e923"
}

p.icon.freedial:before {
    content: "\e924"
}

p.icon.registered:before {
    content: "\e925"
}

p.icon.twitter:before {
    content: "\e930"
}

p.icon.facebook:before {
    content: "\e931"
}

p.icon.line:before {
    content: "\e932"
}

p.icon.youtube:before {
    content: "\e933"
}

:after,
:before,
a,
blockquote,
button,
code,
dd,
div,
dl,
dt,
fieldset,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hr,
input,
label,
legend,
li,
main,
ol,
p,
pre,
section,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

img {
    image-rendering: auto;
    width: 100%;
    height: auto;
    vertical-align: top
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

body,
html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    color: #000;
    background-color: #fff;
    line-height: 1.6;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-feature-settings: 'palt' 1
}

html::-webkit-scrollbar-track {
    background-color: rgba(0, 85, 169, .2)
}

html::-webkit-scrollbar-thumb {
    background-color: rgba(0, 85, 169, .5);
    -webkit-transition: background-color .3s linear;
    transition: background-color .3s linear
}

html::-webkit-scrollbar-thumb:hover {
    background-color: #0055A9
}

body #main {
    position: relative;
    overflow-x: hidden
}

a {
    font-weight: 500;
    transition: color .2s linear
}

button {
    border: none;
    background-color: transparent
}

button:focus:not(.focus-visible) {
    outline: 0
}

@media only screen and (min-width:769px) {

    body,
    html {
        font-size: 16px
    }

    html::-webkit-scrollbar {
        width: 10px
    }

    .pc-only {
        display: inherit
    }

    .sp-only {
        display: none !important
    }

    .mt5 {
        margin-top: 5px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    body,
    html {
        font-size: 3.73333vw;
        max-width: 100%
    }

    html::-webkit-scrollbar {
        width: 2.66667vw
    }

    .pc-only {
        display: none !important
    }

    .sp-only {
        display: inherit
    }
}

#modal,
#modal.no-close .btn.close {
    display: none
}

@media only screen and (min-width:769px) {
    .mb5 {
        margin-bottom: 5px !important
    }

    .ml5 {
        margin-left: 5px !important
    }

    .mr5 {
        margin-right: 5px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt5 {
        margin-top: 1vw !important
    }

    .mb5 {
        margin-bottom: 1vw !important
    }

    .ml5 {
        margin-left: 1vw !important
    }

    .mr5 {
        margin-right: 1vw !important
    }
}

@media only screen and (min-width:769px) {
    .mt10 {
        margin-top: 10px !important
    }

    .mb10 {
        margin-bottom: 10px !important
    }

    .ml10 {
        margin-left: 10px !important
    }

    .mr10 {
        margin-right: 10px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt10 {
        margin-top: 2vw !important
    }

    .mb10 {
        margin-bottom: 2vw !important
    }

    .ml10 {
        margin-left: 2vw !important
    }

    .mr10 {
        margin-right: 2vw !important
    }
}

@media only screen and (min-width:769px) {
    .mt20 {
        margin-top: 20px !important
    }

    .mb20 {
        margin-bottom: 20px !important
    }

    .ml20 {
        margin-left: 20px !important
    }

    .mr20 {
        margin-right: 20px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt20 {
        margin-top: 4vw !important
    }

    .mb20 {
        margin-bottom: 4vw !important
    }

    .ml20 {
        margin-left: 4vw !important
    }

    .mr20 {
        margin-right: 4vw !important
    }
}

@media only screen and (min-width:769px) {
    .mt30 {
        margin-top: 30px !important
    }

    .mb30 {
        margin-bottom: 30px !important
    }

    .ml30 {
        margin-left: 30px !important
    }

    .mr30 {
        margin-right: 30px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt30 {
        margin-top: 6vw !important
    }

    .mb30 {
        margin-bottom: 6vw !important
    }

    .ml30 {
        margin-left: 6vw !important
    }

    .mr30 {
        margin-right: 6vw !important
    }
}

@media only screen and (min-width:769px) {
    .mt40 {
        margin-top: 40px !important
    }

    .mb40 {
        margin-bottom: 40px !important
    }

    .ml40 {
        margin-left: 40px !important
    }

    .mr40 {
        margin-right: 40px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt40 {
        margin-top: 8vw !important
    }

    .mb40 {
        margin-bottom: 8vw !important
    }

    .ml40 {
        margin-left: 8vw !important
    }

    .mr40 {
        margin-right: 8vw !important
    }
}

@media only screen and (min-width:769px) {
    .mt50 {
        margin-top: 50px !important
    }

    .mb50 {
        margin-bottom: 50px !important
    }

    .ml50 {
        margin-left: 50px !important
    }

    .mr50 {
        margin-right: 50px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt50 {
        margin-top: 10vw !important
    }

    .mb50 {
        margin-bottom: 10vw !important
    }

    .ml50 {
        margin-left: 10vw !important
    }

    .mr50 {
        margin-right: 10vw !important
    }
}

@media only screen and (min-width:769px) {
    .mt60 {
        margin-top: 60px !important
    }

    .mb60 {
        margin-bottom: 60px !important
    }

    .ml60 {
        margin-left: 60px !important
    }

    .mr60 {
        margin-right: 60px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt60 {
        margin-top: 12vw !important
    }

    .mb60 {
        margin-bottom: 12vw !important
    }

    .ml60 {
        margin-left: 12vw !important
    }

    .mr60 {
        margin-right: 12vw !important
    }
}

@media only screen and (min-width:769px) {
    .mt70 {
        margin-top: 70px !important
    }

    .mb70 {
        margin-bottom: 70px !important
    }

    .ml70 {
        margin-left: 70px !important
    }

    .mr70 {
        margin-right: 70px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt70 {
        margin-top: 14vw !important
    }

    .mb70 {
        margin-bottom: 14vw !important
    }

    .ml70 {
        margin-left: 14vw !important
    }

    .mr70 {
        margin-right: 14vw !important
    }
}

@media only screen and (min-width:769px) {
    .mt80 {
        margin-top: 80px !important
    }

    .mb80 {
        margin-bottom: 80px !important
    }

    .ml80 {
        margin-left: 80px !important
    }

    .mr80 {
        margin-right: 80px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt80 {
        margin-top: 16vw !important
    }

    .mb80 {
        margin-bottom: 16vw !important
    }

    .ml80 {
        margin-left: 16vw !important
    }

    .mr80 {
        margin-right: 16vw !important
    }
}

@media only screen and (min-width:769px) {
    .mt90 {
        margin-top: 90px !important
    }

    .mb90 {
        margin-bottom: 90px !important
    }

    .ml90 {
        margin-left: 90px !important
    }

    .mr90 {
        margin-right: 90px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt90 {
        margin-top: 18vw !important
    }

    .mb90 {
        margin-bottom: 18vw !important
    }

    .ml90 {
        margin-left: 18vw !important
    }

    .mr90 {
        margin-right: 18vw !important
    }
}

@media only screen and (min-width:769px) {
    .mt100 {
        margin-top: 100px !important
    }

    .mb100 {
        margin-bottom: 100px !important
    }

    .ml100 {
        margin-left: 100px !important
    }

    .mr100 {
        margin-right: 100px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt100 {
        margin-top: 20vw !important
    }

    .mb100 {
        margin-bottom: 20vw !important
    }

    .ml100 {
        margin-left: 20vw !important
    }

    .mr100 {
        margin-right: 20vw !important
    }
}

@media only screen and (min-width:769px) {
    .mt110 {
        margin-top: 110px !important
    }

    .mb110 {
        margin-bottom: 110px !important
    }

    .ml110 {
        margin-left: 110px !important
    }

    .mr110 {
        margin-right: 110px !important
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt110 {
        margin-top: 22vw !important
    }

    .mb110 {
        margin-bottom: 22vw !important
    }

    .ml110 {
        margin-left: 22vw !important
    }

    .mr110 {
        margin-right: 22vw !important
    }
}

.c-gray{
    color: #4d4d4d;
}

#modal {
    z-index: 9000;
    position: fixed;
    height: 100vh;
    overflow-y: auto
}

#modal .modal-inner {
    z-index: 2;
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    bottom: 0;
    height: 100%;
    overflow-x: hidden;
    overflow-y: hidden;
    pointer-events: none
}

#modal .modal-inner .modal-window {
    z-index: 1;
    position: relative;
    flex-direction: column;
    perspective: 1000
}

#modal .modal-inner .modal-container {
    position: relative;
    pointer-events: auto
}

#modal .modal-inner .btn.close {
    z-index: 2;
    position: absolute;
    color: #fff;
    pointer-events: auto
}

.select-wrap::after,
.slick-slide.dragging img,
ul.tabs li.tab[data-selected='1'] {
    pointer-events: none
}

@media only screen and (min-width:769px) {
    .mt120 {
        margin-top: 120px !important
    }

    .mb120 {
        margin-bottom: 120px !important
    }

    .ml120 {
        margin-left: 120px !important
    }

    .mr120 {
        margin-right: 120px !important
    }

    #modal .modal-inner .btn.close {
        right: 20px;
        top: 20px
    }

    #modal .modal-inner .btn.close p.icon {
        font-size: 45px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .mt120 {
        margin-top: 24vw !important
    }

    .mb120 {
        margin-bottom: 24vw !important
    }

    .ml120 {
        margin-left: 24vw !important
    }

    .mr120 {
        margin-right: 24vw !important
    }

    #modal .modal-inner .btn.close {
        right: 2.66667vw;
        top: 2.66667vw
    }

    #modal .modal-inner .btn.close p.icon {
        font-size: 10.66667vw
    }
}

#modal .modal-bg,
#modal .modal-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%
}

#modal .modal-overlay {
    z-index: 0;
    background-color: rgba(0, 0, 0, .9)
}

#modal .modal-bg {
    z-index: 1
}

#modal .modal-bg canvas {
    width: 100%;
    height: auto
}

#modal .modal-window {
    opacity: 0;
    transform: scale(.95);
    transition: opacity .2s linear, transform .2s ease-out
}

#modal .modal-bg,
#modal .modal-overlay {
    opacity: 0;
    transition: opacity .2s linear
}

#modal .modal-container {
    max-height: 100vh
}

#modal .modal-container .modal-content {
    display: flex
}

#modal.active .modal-bg,
#modal.active .modal-overlay {
    opacity: 1
}

#modal.open .modal-window {
    opacity: 1;
    transform: scale(1)
}

#modal.open.opened .modal-container {
    max-height: none
}

#modal.open.opened.close .modal-window {
    opacity: 0;
    transform: scale(.95)
}

#modal.scrollable .modal-inner {
    justify-content: flex-start;
    overflow-y: scroll
}

#modal.scrollable.open.opened.close .modal-window {
    opacity: 0;
    transform: scale(1)
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides {
        width: 1000px;
        height: 500px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides {
        width: 93.33333vw;
        height: 144vw
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (max-width:768px),
only screen and (min-aspect-ratio:10 / 16) and (max-device-width:768px) {
    .modal-content ul.slides {
        height: 133.33333vw;
        margin-top: -2.66667vw
    }
}

.modal-content ul.slides li.slide-item {
    display: flex;
    flex-direction: column;
    overflow: hidden
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item {
        width: 1000px;
        height: 500px;
        margin-left: 20px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item {
        width: 93.33333vw;
        height: 144vw
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (max-width:768px),
only screen and (min-aspect-ratio:10 / 16) and (max-device-width:768px) {
    .modal-content ul.slides li.slide-item {
        height: 133.33333vw
    }
}

.modal-content ul.slides li.slide-item .slide-content,
.modal-content ul.slides li.slide-item .slide-title {
    width: 100%
}

.modal-content ul.slides li.slide-item .slide-content p.required,
.modal-content ul.slides li.slide-item .slide-title p.required {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background-color: #E20000;
    line-height: 1
}

.modal-content ul.slides li.slide-item .slide-title {
    flex-shrink: 0;
    color: #fff;
    background-color: #0055A9
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item {
        margin-right: 20px;
        border-radius: 10px
    }

    .modal-content ul.slides li.slide-item .slide-title {
        height: 90px;
        padding-right: 20px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item {
        margin-left: 2.66667vw;
        margin-right: 2.66667vw;
        border-radius: 2.13333vw
    }

    .modal-content ul.slides li.slide-item .slide-title {
        height: 24vw
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (max-width:768px),
only screen and (min-aspect-ratio:10 / 16) and (max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-title {
        height: 22.66667vw
    }
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-title>.title {
        padding-top: 10px;
        padding-bottom: 10px
    }

    .modal-content ul.slides li.slide-item .slide-title>.title .title-num,
    .modal-content ul.slides li.slide-item .slide-title>.title .title-text {
        height: 70px
    }

    .modal-content ul.slides li.slide-item .slide-title>.title .title-num {
        width: 70px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-title {
        padding-right: 2.66667vw
    }

    .modal-content ul.slides li.slide-item .slide-title>.title {
        padding-top: 2.66667vw;
        padding-bottom: 2.66667vw
    }

    .modal-content ul.slides li.slide-item .slide-title>.title .title-num,
    .modal-content ul.slides li.slide-item .slide-title>.title .title-text {
        height: 18.66667vw
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (max-width:768px),
only screen and (min-aspect-ratio:10 / 16) and (max-device-width:768px) {

    .modal-content ul.slides li.slide-item .slide-title>.title .title-num,
    .modal-content ul.slides li.slide-item .slide-title>.title .title-text {
        height: 16vw
    }
}

.modal-content ul.slides li.slide-item .slide-title>.title .title-text {
    display: flex;
    align-items: center
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-title>.title .title-num {
        width: 13.33333vw
    }

    .modal-content ul.slides li.slide-item .slide-title>.title .title-text {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center
    }
}

.modal-content ul.slides li.slide-item .slide-title>.title .title-text .title {
    display: flex;
    align-items: center;
    font-weight: 700
}

.modal-content ul.slides li.slide-item .slide-title>.title .title-text p.required {
    margin-right: .4em
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-title>.title .title-text .sub {
        font-size: 18px;
        margin-left: .4em
    }

    .modal-content ul.slides li.slide-item .slide-title>.title .title-text p.required {
        width: 80px;
        height: 40px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-title>.title .title-text .sub {
        font-size: 3.73333vw;
        margin-top: .2em
    }

    .modal-content ul.slides li.slide-item .slide-title>.title .title-text p.required {
        width: 18.66667vw;
        height: 7.46667vw
    }
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-title>.title .title-text p.required {
        font-size: 20px
    }

    .modal-content ul.slides li.slide-item .slide-content {
        padding-top: 20px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-title>.title .title-text p.required {
        font-size: 4.8vw
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-title>.title .title-text p.required {
        font-size: 18px
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (max-width:768px),
only screen and (min-aspect-ratio:10 / 16) and (max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-title>.title .title-text p.required {
        height: 6.93333vw;
        font-size: 4.53333vw
    }
}

.modal-content ul.slides li.slide-item .slide-content {
    flex-grow: 1;
    background-color: #f8f8f8
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content {
        padding-bottom: 20px;
        padding-left: 20px;
        padding-right: 20px
    }

    .modal-content ul.slides li.slide-item .slide-content p:not([class]) {
        font-size: 18px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content {
        padding: 4vw
    }

    .modal-content ul.slides li.slide-item .slide-content p:not([class]) {
        font-size: 4.53333vw
    }
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content p.m {
        font-size: 18px
    }

    .modal-content ul.slides li.slide-item .slide-content p.required {
        width: 70px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content p.m {
        font-size: 4.53333vw
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content p:not([class]) {
        font-size: 16px
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (max-width:768px),
only screen and (min-aspect-ratio:10 / 16) and (max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content p:not([class]) {
        font-size: 3.73333vw
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content p.m {
        font-size: 16px
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (max-width:768px),
only screen and (min-aspect-ratio:10 / 16) and (max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content p.m {
        font-size: 3.73333vw
    }
}

.modal-content ul.slides li.slide-item .slide-content p.required {
    margin-left: .4em
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content p.required {
        height: 25px;
        font-size: 16px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content p.required {
        width: 16vw;
        height: 6.66667vw;
        font-size: 3.73333vw
    }
}

.modal-content ul.slides li.slide-item .slide-content h4 {
    margin-bottom: .8em
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content h4 {
        font-size: 20px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content h4 {
        font-size: 4.8vw
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content h4 {
        font-size: 18px
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (max-width:768px),
only screen and (min-aspect-ratio:10 / 16) and (max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content h4 {
        font-size: 4.53333vw
    }
}

.modal-content ul.slides li.slide-item .slide-content h4.red {
    color: #E20000
}

.modal-content ul.slides li.slide-item .slide-content .row {
    display: flex;
    align-items: center
}

.modal-content ul.slides li.slide-item .slide-content ul.num-list>li {
    font-weight: 500
}

.modal-content ul.slides li.slide-item .slide-content ul.num-list>li p.note {
    margin-top: .3em
}

.modal-content ul.slides li.slide-item .slide-content ul.num-list>li:nth-child(n+2) {
    margin-top: .5em
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content ul.num-list.l>li {
        font-size: 32px
    }

    .modal-content ul.slides li.slide-item .slide-content ul.numbers>li {
        width: 180px
    }
}

.modal-content ul.slides li.slide-item .slide-content ul.num-list.l>li:nth-child(n+2) {
    margin-top: .4em
}

.modal-content ul.slides li.slide-item .slide-content ul.numbers {
    display: flex;
    justify-content: center;
    align-items: center
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content ul.num-list.l>li {
        font-size: 6.4vw
    }

    .modal-content ul.slides li.slide-item .slide-content ul.numbers {
        flex-direction: column
    }
}

.modal-content ul.slides li.slide-item .slide-content ul.numbers>li {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    background-color: #7ad457
}

.modal-content ul.slides li.slide-item .slide-content ul.numbers>li p {
    font-weight: 700;
    line-height: 1
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content ul.numbers>li {
        padding-top: 15px;
        padding-bottom: 15px;
        border-radius: 10px
    }

    .modal-content ul.slides li.slide-item .slide-content ul.numbers>li p {
        font-size: 22px
    }

    .modal-content ul.slides li.slide-item .slide-content ul.numbers>li:nth-child(n+2) {
        margin-left: .6em
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content ul.numbers>li {
        width: 42.66667vw;
        padding-top: 2.66667vw;
        padding-bottom: 2.66667vw;
        border-radius: 2.13333vw
    }

    .modal-content ul.slides li.slide-item .slide-content ul.numbers>li p {
        font-size: 4.8vw
    }

    .modal-content ul.slides li.slide-item .slide-content ul.numbers>li:nth-child(n+2) {
        margin-top: .6em
    }
}

.modal-content ul.slides li.slide-item .slide-content figure.smartphone {
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .25));
    transform: translateZ(0);
    margin-left: auto;
    margin-right: auto
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content figure.smartphone {
        width: 360px;
        margin-top: 40px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content figure.smartphone {
        width: 66.66667vw;
        margin-top: 5.33333vw
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (max-width:768px),
only screen and (min-aspect-ratio:10 / 16) and (max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content figure.smartphone {
        width: 61.33333vw
    }
}

.modal-content ul.slides li.slide-item .slide-content figure.ss {
    margin-left: auto;
    margin-right: auto
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content figure.ss {
        width: 400px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content figure.ss {
        width: 77.33333vw
    }
}

@media only screen and (min-aspect-ratio:10 / 16) and (max-width:768px),
only screen and (min-aspect-ratio:10 / 16) and (max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content figure.ss {
        width: 72vw
    }
}

.modal-content ul.slides li.slide-item .slide-content figure.card {
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .25));
    transform: translateZ(0);
    margin-left: auto;
    margin-right: auto
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content figure.card {
        width: 400px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content figure.card {
        width: 80vw
    }
}

.modal-content ul.slides li.slide-item .slide-content .block.step-item .block-title {
    border-bottom: 1px solid #0055A9;
    margin-bottom: .4em
}

.modal-content ul.slides li.slide-item .slide-content .block.step-item .block-title p {
    font-family: Comfortaa;
    color: #0055A9;
    font-weight: 900
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content .cols .col {
        width: 48%
    }

    .modal-content ul.slides li.slide-item .slide-content .cols .col:nth-child(2) {
        margin-left: 4%
    }

    .modal-content ul.slides li.slide-item .slide-content .block.step-item .block-title p {
        font-size: 28px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content .cols .col {
        width: 100%
    }

    .modal-content ul.slides li.slide-item .slide-content .cols .col:nth-child(2) {
        margin-top: 5.33333vw
    }

    .modal-content ul.slides li.slide-item .slide-content .block.step-item .block-title p {
        font-size: 5.33333vw
    }
}

#modal-contents,
input[type=radio],
input[type=checkbox] {
    display: none
}

input[type=text],
input[type=number],
input[type=tel],
input[type=email],
input[type=url],
input[type=password],
input[type=search] {
    padding: 0;
    border-radius: 0;
    outline: 0;
    background: 0 0;
    border: 1px solid #000
}

option,
select {
    border: none;
    outline: 0;
    background: 0 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    appearance-resize: none;
    appearance-padding: 0;
    appearance-border: 0;
    appearance-outline: none;
    appearance-background: transparent
}

input,
select,
textarea {
    font-family: 'Noto Sans JP', sans-serif
}

.select-wrap::after,
.slick-slider>button p.icon {
    font-family: hirogin-icons !important;
    font-weight: 400;
    speak: none;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

@media only screen and (min-width:769px) {
    .modal-content ul.slides li.slide-item .slide-content .block.step-item .block-content p {
        font-size: 18px
    }

    input[type=text],
    input[type=number],
    input[type=tel],
    input[type=email],
    input[type=url],
    input[type=password],
    input[type=search] {
        height: 40px;
        border-radius: 8px;
        padding: 6px 10px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .modal-content ul.slides li.slide-item .slide-content .block.step-item .block-content p {
        font-size: 4.26667vw
    }

    .modal-content[data-id=steps] ul.slides li.slide-item .slide-content p {
        text-align: left
    }

    input[type=text],
    input[type=number],
    input[type=tel],
    input[type=email],
    input[type=url],
    input[type=password],
    input[type=search] {
        height: 10.66667vw;
        border-radius: 1.6vw;
        padding: 1.6vw 2.13333vw
    }
}

select {
    border: 1px solid #000
}

@media only screen and (min-width:769px) {

    input[type=text],
    input[type=number],
    input[type=tel],
    input[type=email],
    input[type=url],
    input[type=password],
    input[type=search] {
        font-size: 18px
    }

    select {
        height: 40px;
        border-radius: 8px;
        padding: 6px 10px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    input[type=text],
    input[type=number],
    input[type=tel],
    input[type=email],
    input[type=url],
    input[type=password],
    input[type=search] {
        font-size: 4.53333vw
    }

    select {
        height: 10.66667vw;
        border-radius: 1.6vw;
        padding: 1.6vw 2.13333vw
    }
}

.select-wrap {
    position: relative
}

.select-wrap::after {
    z-index: 1;
    position: absolute;
    line-height: 1;
    content: "\e903";
    top: 50%;
    margin-top: -.5em;
    right: .5em
}

.slick-dots,
.slick-dots li,
.slick-list,
.slick-slider,
.slick-track {
    position: relative
}

@media screen and (-ms-high-contrast:active),
screen and (-ms-high-contrast:none) {

    dd,
    div,
    dl,
    dt,
    figure,
    h1,
    h2,
    h3,
    h4,
    li,
    ol,
    section,
    ul {
        min-height: 1px
    }

    .select-wrap::after {
        content: ''
    }
}

.slick-slider {
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: 0
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    transform: translate3d(0, 0, 0)
}

.slick-track {
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:after,
.slick-track:before {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-dots {
    display: block;
    top: 0;
    left: 0;
    right: 0;
    line-height: 0
}

@media only screen and (min-width:769px) {
    select {
        font-size: 16px
    }

    .slick-dots {
        padding-top: 15px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    select {
        font-size: 3.73333vw
    }

    .slick-dots {
        padding-top: 2.66667vw
    }
}

.slick-dots li {
    display: inline-block;
    padding: 0;
    cursor: pointer
}

.slick-dots li button {
    display: block;
    outline: 0;
    line-height: 0;
    font-size: 0;
    background-color: #888;
    cursor: pointer;
    opacity: .5
}

@media only screen and (min-width:769px) {
    .slick-dots li {
        padding: 5px;
        margin-left: 5px;
        margin-right: 5px
    }

    .slick-dots li button {
        width: 12px;
        height: 12px;
        border-radius: 6px
    }

    .slick-slider>button {
        font-size: 0
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .slick-dots li {
        padding: 2.66667vw;
        margin-left: 1.33333vw;
        margin-right: 1.33333vw
    }

    .slick-dots li button {
        width: 3.2vw;
        height: 3.2vw;
        border-radius: 1.6vw
    }

    .slick-slider>button {
        font-size: 0
    }
}

.slick-dots li.slick-active button {
    background-color: #A0A0A0;
    opacity: 1
}

.slick-slider>button {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    height: 100%;
    background-color: rgba(255, 255, 255, 0);
    top: 0
}

@media only screen and (min-width:769px) {
    .slick-slider>button {
        width: 70px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .slick-slider>button {
        width: 13.33333vw
    }
}

.slick-slider>button .btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative
}

.slick-slider>button p.icon {
    position: relative;
    color: #fff;
    line-height: .8
}

.table dl,
p.note,
ul.list>li,
ul.notes>li {
    line-height: 1.4
}

@media only screen and (min-width:769px) {
    .slick-slider>button .btn {
        width: 70px;
        height: 70px;
        border-radius: 35px
    }

    .slick-slider>button p.icon {
        font-size: 52.5px
    }

    .slick-slider>button.slick-prev {
        left: -65px
    }

    .slick-slider>button.slick-next {
        right: -65px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .slick-slider>button .btn {
        width: 16vw;
        height: 16vw;
        border-radius: 8vw;
        background-color: rgba(0, 85, 169, .75)
    }

    .slick-slider>button p.icon {
        font-size: 8vw
    }

    .slick-slider>button.slick-prev {
        left: 0
    }

    .slick-slider>button.slick-next {
        right: 0
    }
}

@media only screen and (max-width:768px) and (max-width:768px),
only screen and (max-device-width:768px) and (max-width:768px),
only screen and (max-width:768px) and (max-device-width:768px),
(max-device-width:768px) and (max-device-width:768px) {
    .slick-slider>button.slick-prev .btn {
        margin-left: -18.66667vw
    }

    .slick-slider>button.slick-prev .btn p.icon {
        margin-right: -5.33333vw
    }

    .slick-slider>button.slick-next .btn {
        margin-right: -18.66667vw
    }

    .slick-slider>button.slick-next .btn p.icon {
        margin-left: -5.33333vw
    }
}

a.btn.big,
a.btn.round,
button.big,
button.round {
    margin-left: auto;
    margin-right: auto
}

.slick-slider>button.slick-disabled {
    opacity: .2;
    cursor: default
}

@media only screen and (min-width:769px) {
    p.m {
        font-size: 18px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    p.m {
        font-size: 4.53333vw
    }
}

@media only screen and (min-width:769px) {
    p.l {
        font-size: 24px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    p.l {
        font-size: 4.5vw
    }
}

p.b {
    font-weight: 500
}

p.red {
    color: #E20000
}

p.note {
    margin-top: .8em
}

@media only screen and (min-width:769px) {
    p.note {
        font-size: 14px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    p.note {
        font-size: 3.46667vw
    }
}

@media only screen and (min-width:769px) {
    h4 {
        font-size: 28px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    h4 {
        font-size: 5.33333vw
    }
}

@media only screen and (min-width:769px) {
    h5 {
        font-size: 24px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    h5 {
        font-size: 4.8vw
    }
}

h3.ul,
h4.ul,
h5.ul {
    padding-bottom: .7em;
    margin-bottom: 1em;
    border-bottom: 1px solid #000
}
.marker_ttl{
    text-align: center;
}
.marker_ttl span {
    font-weight: 500;
    text-align: center;
    font-family: 'Zen Maru Gothic', serif;
    font-weight: bold;
    color: #003d8e;
    text-align: center;
    display: inline-block;
    background: linear-gradient(transparent 65%, #ffff00 35%);
    
}

ul.list>li:nth-child(n+2),
ul.notes>li:nth-child(n+2) {
    margin-top: .4em
}

ul.notes {
    margin-top: .8em
}

.table {
    border: 2px solid #000
}

.table dl {
    display: flex
}

.table dl.label {
    font-weight: 600
}

.table dl.label dd,
.table dl.label dt {
    background-color: rgba(255, 187, 40, .5)
}

.table dl dd,
.table dl dt {
    display: flex;
    justify-content: center;
    align-items: center
}

.table dl dt {
    border-right: rgba(0, 0, 0, .2) solid 1px
}

.table dl dd {
    flex-grow: 1;
    background-color: rgba(252, 247, 222, .5)
}

.table dl:nth-child(n+2) {
    border-top: #000 solid 1px
}

.box {
    position: relative
}

@media only screen and (min-width:769px) {
    ul.notes {
        font-size: 14px
    }

    .table dl dd,
    .table dl dt {
        height: 45px;
        padding-left: 10px;
        padding-right: 10px
    }

    .box.r {
        border-radius: 10px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    ul.notes {
        font-size: 3.06667vw
    }

    .table dl dd,
    .table dl dt {
        height: 9.33333vw;
        padding-left: 1.33333vw;
        padding-right: 1.33333vw
    }

    .box.r {
        border-radius: 2.13333vw
    }
}

.box.r.dotted {
    border: 2px dotted #000
}

.box.w-title {
    overflow: hidden
}

.box.w-title .box-title {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background-color: #003d8e;
    padding: 20px 0;
}
.box.w-title {
    border-radius: 10px
}
@media only screen and (min-width:769px) {
    .box.r.dotted {
        padding: 20px
    }

    

    /* .box.w-title .box-title {
        height: 100px
    } */
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.r.dotted {
        padding: 2.66667vw
    }

    

    /* .box.w-title .box-title {
        height: 16vw
    } */
}

.box.accordion>.box-content,
.box.accordion>.box-title {
    width: 100%
}

.box.accordion>.box-title {
    position: relative
}

.box.accordion>.box-title .btn.toggle {
    position: absolute
}

.block,
.box.accordion>.box-content .inner,
.cols,
a.btn,
a.btn .label,
a.btn.big,
button,
button .label,
button.big {
    position: relative
}

@media only screen and (min-width:769px) {
    .box.w-title .box-title.ln2 .title-text span {
        font-size: 25px;
    }

    .box.w-title .box-content {
        padding: 30px
    }

    .box.accordion>.box-title .btn.toggle {
        right: 10px;
        top: 10px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.w-title .box-title.ln2 {
        height: 21.33333vw
    }
    .box.w-title .box-title.ln2 .title-text span {
        font-size: calc(15 /640 * 100vw);
        line-height: 1;
    }
    .box.w-title .box-content {
        padding: 5.33333vw 4vw
    }

    .box.accordion>.box-title .btn.toggle {
        right: 2.13333vw;
        top: 2.13333vw
    }
}
.box.accordion.w-title.point{
    overflow: inherit;
}
.box.accordion>.box-content {
    overflow: hidden;
    transition: height .4s ease-out
}

@media only screen and (min-width:769px) {
    .box.accordion>.box-content {
        padding: 0 40px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.accordion>.box-content {
        padding: 0 4vw
    }
}

.box.accordion[data-opened='1']>.box-title .btn.toggle .c-icon p.icon:before {
    content: '\e907'
}

@media only screen and (min-width:769px) {
    .box.accordion>.box-content .inner {
        padding-top: 40px;
        padding-bottom: 40px
    }

    .box.accordion.chart {
        border-radius: 0
    }

    .box.accordion.chart .box-title {
        height: 50px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.accordion>.box-content .inner {
        padding-top: 5.33333vw;
        padding-bottom: 5.33333vw
    }

    .box.accordion.chart {
        border-radius: 0
    }
}

.box.accordion.chart .box-title {
    color: #000;
    background-color: #f8f8f8;
    border: 1px solid #000
}

@media only screen and (min-width:769px) {
    .box.accordion.chart .box-title h4 {
        font-size: 16px
    }

    .box.accordion.chart .box-title .btn.toggle {
        right: 10px;
        top: 11px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.accordion.chart .box-title {
        height: 10.66667vw
    }

    .box.accordion.chart .box-title h4 {
        font-size: 3.73333vw
    }

    .box.accordion.chart .box-title .btn.toggle {
        right: 2.13333vw;
        top: 2.4vw
    }
}

.box.accordion.chart .box-title .btn.toggle .c-icon {
    border-color: #000
}

.box.accordion.chart .box-title .btn.toggle p.icon {
    color: #000
}

.box.accordion.chart .box-content {
    transition: height 0s ease-out
}

@media only screen and (min-width:769px) {
    .box.accordion.chart .box-title .btn.toggle p.icon {
        font-size: 16px
    }

    .box.accordion.chart .box-content {
        padding: 0
    }

    .box.accordion.chart .box-content .inner {
        padding-top: 0;
        padding-bottom: 0
    }
}

.box.accordion.chart .box-content .inner .table {
    border: 1px solid #000
}

.box.accordion.chart[data-opened='1'] .box-title {
    border-bottom: none
}

.cols {
    display: flex
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.accordion.chart .box-title .btn.toggle p.icon {
        font-size: 3.73333vw
    }

    .box.accordion.chart .box-content {
        padding: 0
    }

    .box.accordion.chart .box-content .inner {
        padding-top: 0;
        padding-bottom: 0
    }

    .cols {
        flex-direction: column
    }

    .cols.img-txt .col:nth-child(2) {
        margin-top: 5.33333vw
    }
}

.cols.img-txt .col:nth-child(1) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.cols.img-txt.reverse {
    flex-direction: row-reverse
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .cols.img-txt.reverse {
        flex-direction: column
    }

    .cols.dotted>.col:nth-child(1) {
        border-bottom: 2px dotted #0589E4
    }

    .cols.dotted>.col:nth-child(2) {
        padding-top: 5.33333vw
    }
}

a.btn,
button {
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    cursor: pointer
}

a.btn .label,
button .label {
    z-index: 2;
    line-height: 1
}

@media only screen and (min-width:769px) {
    .cols.dotted>.col:nth-child(1) {
        border-right: 2px dotted #0589E4
    }

    .cols.dotted>.col:nth-child(2) {
        padding-left: 20px
    }

    a.btn.big,
    button.big {
        width: 650px;
        height: 90px;
        margin-bottom: 8px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    a.btn.big,
    button.big {
        width: 100%;
        height: 12.66667vw
    }
}

a.btn.big .base,
a.btn.big:before,
button.big .base,
button.big:before {
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    max-width: 500px;
    position: absolute;
    margin: auto;
    bottom: 0;
    /* box-shadow: 0px 0px 10px 1px #3d3d3d inset; */
}
a.btn.bigbig .base,
a.btn.bigbig:before{
    max-width: 650px;
}

a.btn.big:before,
button.big:before {
    content: '';
    display: block
}

a.btn.big .label,
button.big .label {
    /* font-family: 'Zen Maru Gothic', serif; */
    font-weight: bold;
    color: #fff
}

a.btn.big .base,
button.big .base {
    z-index: 1;
    background-color: #4bbcb6;
    display: block;
    /* position: relative; */
}
a.btn.big,
button.big{
    transition: all 0.3s;
}
a.btn.big:hover,
button.big:hover{
    opacity: 0.8;
    transition: all 0.3s;
}
a.btn.big .base.btn-blue,
button.big .base.btn-blue{
    background: #003d8e;
    max-width: 500px;
}

a.btn.big .base::after,
button.big .base::after {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 25px;
    width: 39px;
    height: 39px;
    background-size: contain;
    background: url(../img/arrow.png) no-repeat;
}
a.btn.big .base::before,
button.big .base::before{
    content: "";
    width: 100%;
    height: 100%;
    box-shadow: 5px 4px 7px 0px #a09e9d;
    position: absolute;
    border-radius: 50px;
    margin: auto;
    right: 0;
    left: 0;
}

@media only screen and (min-width:769px) {
    a.btn.big .base,
    button.big .base {
        border-radius: 50px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    /* a.btn.big .base,
    a.btn.big:before,
    button.big .base,
    button.big:before {
        
        box-shadow: 0px 0px 5px 1px #838282 inset;
    } */
    /* a.btn.big,
    button.big {
        margin-bottom: 1.6vw
    } */

    a.btn.big .label,
    button.big .label {
        font-size: calc(28 / 760 * 100vw)
    }

    a.btn.big .base,
    button.big .base {
        border-radius: 50px
    }
    /* a.btn.big .base::before,
button.big .base::before{
    box-shadow: 0px 0px 9px -3px #616161;
} */
    a.btn.big .base::after,
    button.big .base::after {
        right: calc(28 / 640 * 100vw);
        width: calc(36 / 640 * 100vw);
        background-size: contain;
        height: calc(36 / 640 * 100vw);
    }
}

a.btn.big:before,
button.big:before {
    z-index: 0;
    background-color: #B59F06;
    display: none;
}

@media only screen and (min-width:769px) {

    a.btn.big .base::after,
    button.big .base::after {
        font-size: 40px
    }

    a.btn.big:before,
    button.big:before {
        border-radius: 15px;
        top: 8px
    }

    /* a.btn.big.apply,
    button.big.apply {
        width: 920px;
        height: 110px
    } */
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    a.btn.big .base::after,
    button.big .base::after {
        font-size: 5.33333vw
    }

    a.btn.big:before,
    button.big:before {
        border-radius: 3.2vw;
        top: 1.6vw
    }

    a.btn.big.apply,
    button.big.apply {
        width: 100%;
        height: calc(100 / 640 * 100vw)
    }
}
.apply-btn{
    background: #fffcdb;
    padding: 30px 15px;
}
a.btn.big.apply .base,
button.big.apply .base {
    background-color: #d30001;
    /* box-shadow:0px 0px 4px 1px #3d3d3d96 inset; */
    
}

/* a.btn.big.apply:before,
button.big.apply:before {
    background-color: #D54871
} */

@media only screen and (min-width:769px) {
    
    a.btn.big .label,
    button.big .label {
        font-size: 34px
    }

    a.btn.big.hensai .label,
    button.big.hensai .label {
        font-size: 25px
    }
    a.btn.big.apply .label,
    button.big.apply .label {
        font-size: 34px
    }
    a.btn.bigbig.apply .label{
        font-size: 40px
    }
    a.btn.big.apply.s,
    button.big.apply.s {
        width: 800px;
        height: 100px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .apply-btn{
        background: #fffcdb;
        padding: calc(30 / 640 * 100vw) 5%;
        margin-bottom: calc(35 / 640 * 100vw);
    }    
    
    a.btn.big.apply .label,
    button.big.apply .label {
        font-size:calc(37 / 640 * 100vw)
    
    }
    a.btn.bigbig.apply .label,
    button.bigbig.apply .label {
        font-size:calc(37 / 640 * 100vw)
    
    }

    a.btn.big.apply.s,
    button.big.apply.s {
        width: 100%;
        height: 18.66667vw
    }
}

@media only screen and (min-width:769px) {

    a.btn.round,
    button.round {
        height: 60px;
        border-radius: 5px
    }

    a.btn.round .icon.angle-right,
    button.round .icon.angle-right {
        right: 15px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    a.btn.round,
    button.round {
        height: 11.86667vw;
        border-radius: 5px
    }
}

a.btn.round.b-b,
button.round.b-b {
    color: #0868aa;
    background-color: #dee2ef;
    border: solid 1px #0868aa;
    
}
a.btn.round.b-b .label p,
button.round.b-b .label p{
    font-weight: 700;
}

a.btn.round.link,
button.round.link {
    border: 1px solid #000;
    color: #000;
    background-color: #fff
}

a.btn.round .icon.angle-right,
button.round .icon.angle-right {
    position: absolute
}

@media only screen and (min-width:769px) {
    a.btn.round.b-b .label p,
    button.round.b-b .label p{
        
        font-size: 21px;
    }
    a.btn.round .icon.angle-right,
    button.round .icon.angle-right {
        top: 15px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    a.btn.round.b-b .label p,
    button.round.b-b .label p{
        
        font-size: calc(24 /640 * 100vw);
        line-height: 1.2;
    }
    a.btn.round .icon.angle-right,
    button.round .icon.angle-right {
        right: 2.66667vw;
        top: 3.2vw
    }
}

a.btn.round .c-icon,
button.round .c-icon {
    position: absolute
}

@media only screen and (min-width:769px) {

    a.btn.round .c-icon,
    button.round .c-icon {
        right: 15px;
        margin: auto;
        top: 0;
        bottom: 0;
    }

    a.btn.round.s,
    button.round.s {
        width: 400px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    a.btn.round .c-icon,
    button.round .c-icon {
        right: 2.66667vw;
        /* top: 2.66667vw */
    }

    a.btn.round.s,
    button.round.s {
        width: 66.66667vw
    }
}

@media only screen and (min-width:769px) {

    a.btn.round.m,
    button.round.m {
        width: 600px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    a.btn.round.m,
    button.round.m {
        width: 100%
    }
}

.btns {
    display: flex;
    justify-content: center;
    align-items: center
}

@media only screen and (min-width:769px) {

    a.btn.round.l,
    button.round.l {
        width: 800px
    }

    .btns .btn:nth-child(n+2) {
        margin-left: 20px
    }

    .title.w-num .title-num {
        font-size: 50px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    a.btn.round.l,
    button.round.l {
        width: 100%
    }

    .btns {
        text-align: center;
        padding:0 1.66667vw ;
    }

    .btns .btn:nth-child(n+2) {
        margin-left: 1.66667vw
    }
}
.box.point>.box-title {
    justify-content: flex-start;
    border-radius: 5px 5px 0 0;
    height: 100px;
}
.title.w-num {
    display: flex;
    align-items: center;
    color: #fff;
    height: 100%;
    
    /* height: 110px; */
}
.title.w-num-point{
    padding-left: 100px;
}

.title.w-num .title-num {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: Comfortaa;
    font-weight: 700;
    line-height: .8;
    height: 100%;
    border-right: 1px solid #fff;
    /* margin-bottom: -0.2em; */
    margin-right: 20px;
}

.title.w-num-point .title-num{
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    font-family: 'Zen Maru Gothic', serif;
    font-weight: bold;
    align-items: center;
    height: 100%;
    justify-content: center;
    text-align: center;
    font-size: 52px;
    background: #fff;
    color: #003d8e;
    border: solid 2px #003d8e;
    width: 90px;
    height: 90px;
    line-height: 1;
    border-radius: 5px;
    position: absolute;
    left: 5px;
    top: -10px;
    margin-right: 0;
}
.title.w-num .title-num small{
    font-size: 18px;
    display: block;
    margin-bottom: -5px;
}
@media only screen and (min-width:769px) {
    /* .title.w-num .title-num {
        width: 110px;
        margin-right: 20px
    } */
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .title.w-num .title-num {
        font-size: 7vw;
        width: 10.66667vw;
        margin-right: 2.66667vw
    }
    .title.w-num-point .title-num{
        width: calc(80 / 640 * 100vw);
        height: calc(80 / 640 * 100vw);
        top: -5px;
    }
    .title.w-num .title-num small{
        font-size: calc(18 / 640 * 100vw);
        
    }
    .box-title-point{
        /* font-size: calc(23 / 768 * 100vw); */
        height: calc(85 / 640 * 100vw) !important;
    }
    .title.w-num-point{
        padding-left: calc(86 / 640 * 100vw);
    }
}

.title.w-num .title-text {
    flex-grow: 1;
    line-height: 1.2;
    font-weight: 500;
}

.c-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background-color: #0055A9
}

@media only screen and (min-width:769px) {
    .title.w-num .title-text {
        font-size: 30px;
    }
    .title.w-num-point .title-text {
        font-size: 34px
    }

    .c-icon {
        width: 29px;
        height: 29px;
        border-radius: 50px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .title.w-num .title-text {
        font-size: 4.33333vw;
        line-height: 1.1;
    }
    

    .c-icon {
        width: 4.33333vw;
        height: 4.33333vw;
        border-radius: 2.66667vw
    }
}

@media only screen and (min-width:769px) {
    .c-icon p.icon {
        font-size: 20px
    }

    .c-icon.l {
        width: 40px;
        height: 40px;
        border-radius: 20px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .c-icon p.icon {
        font-size: 2.76667vw
    }

    .c-icon.l {
        width: 6.66667vw;
        height: 6.66667vw;
        border-radius: 3.33333vw
    }
}

.c-icon.ln {
    color: #003d8e;
    background-color: #fff
}

.ln-thru {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center
}

.ln-thru>p {
    position: relative;
    line-height: 1.3
}

@media only screen and (min-width:769px) {
    .c-icon.l p.icon {
        font-size: 24px
    }

    .ln-thru>p {
        padding-left: 20px;
        padding-right: 20px
    }
}

.ln-thru.b:after,
.ln-thru.b:before {
    position: relative;
    flex-grow: 1;
    display: block;
    content: '';
    border-top: 1px solid rgba(0, 0, 0, .8)
}

.ln-thru.b {
    color: #019BE5
}

.ln-thru.b:after,
.ln-thru.b:before {
    border-color: #019BE5
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .c-icon.l p.icon {
        font-size: 5.33333vw
    }

    .ln-thru>p {
        padding-left: 2.66667vw;
        padding-right: 2.66667vw
    }

    .cols.phone {
        flex-direction: row
    }

    .cols.phone>.col p.note {
        font-size: 2.93333vw
    }
}

.cols.phone>.col,
.f-title .content {
    justify-content: center;
    display: flex
}

.cols.phone>.col {
    align-items: center
}

.cols.phone>.col .title p {
    font-family: Soft Gothic DemiBold;
    line-height: 1.3;
    text-align: right;
    color: #0055A9
}

.cols.phone>.col .phone-wrap {
    display: flex;
    align-items: center
}

.cols.phone>.col .phone-wrap .free-dial {
    position: relative;
    display: flex;
    align-items: flex-end
}

.cols.phone>.col .phone-wrap .free-dial p.icon.freedial {
    color: #1B982A
}

.cols.phone>.col .phone-wrap .value {
    font-family: Comfortaa;
    line-height: 1
}

.cols.phone>.col p.note {
    margin-top: .1em;
    text-align: left
}

.cols.phone>.col:nth-child(1) {
    border-right: 1px solid #0055A9
}

.cols.phone>.col:nth-child(2) {
    flex-direction: column;
    align-items: flex-start
}

@media only screen and (min-width:769px) {
    .cols.phone>.col {
        height: 60.5px
    }

    .cols.phone>.col .title p {
        font-size: 16.5px
    }

    .cols.phone>.col .phone-wrap .free-dial {
        margin-top: -11px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .cols.phone>.col {
        height: 12.32vw
    }

    .cols.phone>.col .title p {
        font-size: 3.36vw
    }

    .cols.phone>.col .phone-wrap .free-dial {
        margin-top: -2.24vw
    }
}

@media only screen and (min-width:769px) {
    .cols.phone>.col .phone-wrap .free-dial p.icon {
        font-size: 55px
    }

    .cols.phone>.col .phone-wrap .free-dial p.icon.freedial {
        height: 44px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .cols.phone>.col .phone-wrap .free-dial p.icon {
        font-size: 11.2vw
    }

    .cols.phone>.col .phone-wrap .free-dial p.icon.freedial {
        height: 8.96vw
    }
}

.cols.phone>.col .phone-wrap .free-dial p.icon.registered {
    color: #000;
    margin-left: -.03rem;
    font-size: .1rem
}

@media only screen and (min-width:769px) {
    .cols.phone>.col .phone-wrap .value {
        font-size: 41.25px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .cols.phone>.col .phone-wrap .value {
        font-size: 8.96vw
    }
}

.cols.phone.w,
.cols.phone.w a,
.cols.phone.w>.col .phone-wrap .free-dial p.icon,
.cols.phone.w>.col .phone-wrap .value,
.cols.phone.w>.col .title p {
    color: #fff
}

.cols.phone.w>.col:nth-child(1) {
    border-color: #fff
}

@media only screen and (min-width:769px) {
    .cols.phone>.col p.note {
        font-size: 12px
    }

    .cols.phone>.col:nth-child(1) {
        padding-right: 13.75px
    }

    .cols.phone>.col:nth-child(2) {
        padding-left: 13.75px
    }

    .cols.phone.sp>.col {
        height: 60.5px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .cols.phone>.col p.note {
        font-size: 2.66667vw
    }

    .cols.phone>.col:nth-child(1) {
        padding-right: 3.36vw
    }

    .cols.phone>.col:nth-child(2) {
        padding-left: 3.36vw
    }

    .cols.phone.sp>.col {
        height: 9.38667vw
    }
}

@media only screen and (min-width:769px) {
    .cols.phone.sp>.col .title p {
        font-size: 16.5px
    }

    .cols.phone.sp>.col .phone-wrap .free-dial {
        margin-top: -11px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .cols.phone.sp>.col .title p {
        font-size: 2.56vw
    }

    .cols.phone.sp>.col .phone-wrap .free-dial {
        margin-top: -1.70667vw
    }
}

@media only screen and (min-width:769px) {
    .cols.phone.sp>.col .phone-wrap .free-dial p.icon {
        font-size: 55px
    }

    .cols.phone.sp>.col .phone-wrap .free-dial p.icon.freedial {
        height: 44px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .cols.phone.sp>.col .phone-wrap .free-dial p.icon {
        font-size: 8.53333vw
    }

    .cols.phone.sp>.col .phone-wrap .free-dial p.icon.freedial {
        height: 6.82667vw
    }
}

.cols.phone.sp>.col .phone-wrap .free-dial p.icon.registered {
    font-size: .1rem
}

@media only screen and (min-width:769px) {
    .cols.phone.sp>.col .phone-wrap .value {
        font-size: 41.25px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .cols.phone.sp>.col .phone-wrap .value {
        font-size: 6.82667vw
    }
}

#main>section,
#main>section .container {
    position: relative
}

@media only screen and (min-width:769px) {
    .cols.phone.sp>.col p.note {
        font-size: 12px
    }

    .cols.phone.sp>.col:nth-child(1) {
        padding-right: 13.75px
    }

    .cols.phone.sp>.col:nth-child(2) {
        padding-left: 13.75px
    }

    /* #main>section {
        padding-top: 40px;
        padding-bottom: 40px
    } */

    #main>section>.container {
        width: 1000px;
        margin-left: auto;
        margin-right: auto;
        padding: 25px 0 60px;
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .cols.phone.sp>.col p.note {
        font-size: 2.66667vw;
        transform: scale(.85);
        transform-origin: 0 0
    }

    .cols.phone.sp>.col:nth-child(1) {
        padding-right: 2.56vw
    }

    .cols.phone.sp>.col:nth-child(2) {
        padding-left: 2.56vw
    }

    /* #main>section {
        margin-top: 20vw;
        margin-bottom: 8vw
    } */

    #main>section>.container {
        width: auto;
        margin-right: 5%;
        margin-left: 5%;
        padding-bottom: 20px;
    }
}

.f-title {
    margin-top: 70px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    background: rgb(0,52,112);
    background: linear-gradient(270deg, rgba(0,52,112,1) 0%, rgba(0,106,169,1) 48%, rgba(0,94,156,1) 100%);
}

@media only screen and (min-width:769px) {
    .f-title {
        /* width: 1000px;
        height: 180px; */
        margin-bottom: 30px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .f-title {
        width: 100vw;
        /* height: 33.33333vw; */
        margin-bottom: 5.33333vw;
        margin-top: 16vw;
    }
}

.f-title .content {
    z-index: 1;
    position: relative;
    align-items: center;
    padding:35px 20px 20px;
}
.f-title .content::before{
    position: absolute;
    margin: auto;
    right: 0;
    left: 0;
    background: url(../img/ttl_add.png) no-repeat;
    width: 262px;
    height: 88px;
    top: 0;
    content: "";
    top: -60px;
}

.f-title .base,
.f-title .base svg,
.f-title .content .stars {
    position: absolute;
    top: 0
}

.f-title .content h2 {
    
    font-family: 'Zen Maru Gothic', serif;font-weight: bold;
    color: #0589E4;
    /* line-height: 1;
    margin-top: -.2em;
    display: flex;
    justify-content: center;
    align-items: center; */
}

/* @media only screen and (min-width:769px) {
    .f-title .content {
        width: 1000px;
        margin-left: auto;
        margin-right: auto;
        height: 160px
    }

    .f-title .content h2 {
        font-size: 54px
    }
} */

@media only screen and (max-width:768px),
(max-device-width:768px) {
    
    .f-title .content {
        width: auto;
        /* margin-right: 10px;
        margin-left: 10px; */
        padding: calc(35 / 640 * 100vw) 3% 15px;
        /* height: 29.33333vw */
    }
    .f-title .content::before{
        width: calc(262 / 640 * 100vw);
        background-size: contain;
        height: calc(88 / 640 * 100vw);
        top: calc(-60 / 640 * 100vw);
    }
    .f-title .content h2 {
        width: 100%;
    }
}

.f-title .content h2 p.sub {
    line-height: 1.2;
    text-align: center;
    margin-bottom: -.3em
}

@media only screen and (min-width:769px) {
    .f-title .content h2 p.sub {
        font-size: 24px;
        margin-right: 10px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .f-title .content h2 p.sub {
        font-size: 5.6vw;
        margin-bottom: 1.33333vw
    }
}

.f-title .content .stars {
    bottom: 0;
    margin: auto 0
}

.f-title .content .stars img {
    width: auto;
    height: 100%;
    max-width: none
}

@media only screen and (min-width:769px) {
    .f-title .content .stars {
        height: 140px
    }

    .f-title .content .stars.l {
        left: 0
    }

    .f-title .content .stars.r {
        right: 0
    }

    .f-title .base {
        width: 1000px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .f-title .content .stars {
        height: 24vw
    }

    .f-title .content .stars.l {
        left: -4vw
    }

    .f-title .content .stars.r {
        right: -4vw
    }
}

.f-title .base {
    z-index: 0;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (min-width:769px) {
    .f-title .base {
        height: 180px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .f-title .base {
        width: 100vw;
        height: 33.33333vw
    }
}

@media only screen and (min-width:769px) {
    .f-title .base svg {
        width: 2000px;
        height: 180px;
        left: -500px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .f-title .base svg {
        width: 102.66667vw;
        height: 33.33333vw;
        left: -1.33333vw
    }
}

.box.shindan {
    border: 2px solid #003d8e;
    /* margin-bottom: 100px; */
}

.box.shindan .box-content .content {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: height .3s ease-out
}

#back-to-top .container .btn,
header.fixed .container {
    transition: opacity .3s linear, transform .4s ease-out
}

.box.shindan .box-content .content p.lead {
    text-align: center
}

.box.shindan .box-content .content ul.inputs {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    /* filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .1)); */
    transform: translateZ(0);
    border-radius: 0 !important;
}

@media only screen and (min-width:769px) {
    /* .box.shindan .box-title {
        height: 120px
    } */

    .box.shindan .box-title .title {
        max-width: 467px;
        /* margin-left: -60px;
        margin-top: -20px */
    }

    .box.shindan .box-content {
        padding-top: 40px;
        padding-bottom: 40px;
        background-color: #e6e6e6;
    }

    .box.shindan .box-content .content ul.inputs {
        padding-left: 20px;
        padding-right: 20px
    }
}
.box.shindan .box-content {
    
    background-color: #e6e6e6;
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    section.shindan{
        margin-top: 6vw;
    }
    .box.shindan .box-title {
        padding: calc(20 / 640 * 100vw) 0;
    }

    .box.shindan .box-title .title {
        /* width: 76.26667vw; */
        max-width: 468px;
        width: 90%;
        margin-left: 0;
        /* margin-top: -4vw */
    }

    .box.shindan .box-content {
        padding-top: 2vw;
        padding-bottom: 4vw
    }

    .box.shindan .box-content .content p.lead {
        margin-top: 3vw !important;
    }

    .box.shindan .box-content .content ul.inputs {
        padding-left: 4vw;
        padding-right: 4vw
    }
}

.box.shindan .box-content .content ul.inputs>li {
    position: relative
}

@media only screen and (min-width:769px) {
    .box.shindan .box-content .content ul.inputs {
        padding-top: 40px;
        padding-bottom: 40px;
        border-radius: 10px
    }

    .box.shindan .box-content .content ul.inputs>li:nth-child(n+2) {
        border-left: 1px solid rgba(0, 0, 0, .2)
    }

    .box.shindan .box-content .content ul.inputs>li:nth-child(n+2) p.alert {
        left: 20px
    }
}

@media only screen and (min-width:769px) and (min-width:769px) {
    .box.shindan .box-content .content ul.inputs>li:nth-child(n+2) {
        margin-left: 20px;
        padding-left: 20px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.shindan .box-content .content ul.inputs {
        padding-top: 5.33333vw;
        padding-bottom: 5.33333vw;
        border-radius: 2.13333vw;
        flex-direction: column;
        align-items: flex-start
    }

    .box.shindan .box-content .content ul.inputs>li {
        width: 100%
    }
    .box.shindan .box-content .content ul.inputs>li:nth-child(2) dl dd{
        padding-left: 35px;
    }
    .box.shindan .box-content .content ul.inputs>li:nth-child(n+2) {
        margin-top: 2.66667vw;
        padding-bottom: 1.33333vw;
    }
}

.box.shindan .box-content .content ul.inputs input,
.box.shindan .box-content .content ul.inputs select {
    font-weight: 500;
    border:solid 1px #808080;
}

@media only screen and (min-width:769px) {
    .box.shindan .box-content .content ul.inputs select {
        width: 220px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.shindan .box-content .content ul.inputs select {
        width: 44vw
    }
}

.box.shindan .box-content .content ul.inputs input {
    text-align: right
}

.box.shindan .box-content .content ul.inputs p.alert {
    position: absolute;
    color: #E20000;
    margin-top: .3em;
    display: none
}

@media only screen and (min-width:769px) {
    .box.shindan .box-content .content ul.inputs input {
        width: 120px
    }

    .box.shindan .box-content .content ul.inputs p.alert {
        font-size: 14px
    }

    .box.shindan .box-content .content ul.inputs dl dt {
        padding-right: 10px
    }
}

.box.shindan .box-content .content ul.inputs dl {
    position: relative;
    display: flex;
    align-items: center
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.shindan .box-content .content ul.inputs input {
        width: 44vw;
        
    }

    .box.shindan .box-content .content ul.inputs p.alert {
        font-size: 3.46667vw;
        position: relative;
        text-align: center;
    }

    .box.shindan .box-content .content ul.inputs dl {
        flex-direction: column;
        /* align-items: flex-start; */
        
        
    }
    .box.shindan .box-content .content ul.inputs dl dt{
        text-align: center;
        width: 100%;
        

    }
    .box.shindan .box-content .content ul.inputs dl dd{
        padding-left: 20px;
    }
}

.box.shindan .box-content .content ul.inputs dl dt {
    color: #003d8e;
    font-family: 'Zen Maru Gothic', serif;
    font-weight: bold;
}

.box.shindan .box-content .content ul.inputs dl dd {
    display: flex;
    align-items: center
}

.box.shindan .box-content .content ul.inputs dl dd p.unit {
    margin-left: .4em
}

.box.shindan .box-content .content.result p.m {
    text-align: center;
    line-height: 1.4
}

.box.shindan .box-content .content.result .result-title {
    color: #fff;
    background-color: #003d8e;
}

@media only screen and (min-width:769px) {
    .box.shindan .box-content .content.result {
        height: 600px;
        padding-top: 10px 10px;
        padding-bottom: 10px 10px
    }

    .box.shindan .box-content .content.result p.m {
        font-size: 18px
    }

    .box.shindan .box-content .content.result .result-title {
        width: 200px;
        padding-top: 5px;
        padding-bottom: 5px;
        border-radius: 10px;
        margin-bottom: 20px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.shindan .box-content .content.result {
        height: 133.33333vw
    }

    .box.shindan .box-content .content.result p.m {
        font-size: 4.26667vw
    }

    .box.shindan .box-content .content.result .result-title {
        width: 32vw;
        padding-top: 1.33333vw;
        padding-bottom: 1.33333vw;
        border-radius: 2.13333vw;
        margin-bottom: 2.66667vw
    }
    .box.shindan .btn.big{
        margin-top: 4vw !important;
    }
    .box.shindan .btn.big .label{
        font-size: calc(34 / 640 * 100vw);
    }
}

.box.shindan .box-content .content.result .result-title p {
    font-weight: 900;
    text-align: center
}

.box.shindan .box-content .content.result .result-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border: 2px solid #000
}

@media only screen and (min-width:769px) {
    .box.shindan .box-content .content.result .result-title p {
        font-size: 24px
    }

    .box.shindan .box-content .content.result .result-content {
        width: 800px;
        height: 250px;
        padding-top: 20px;
        padding-bottom: 20px;
        border-radius: 10px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.shindan .box-content .content.result .result-title p {
        font-size: 4.8vw
    }

    .box.shindan .box-content .content.result .result-content {
        width: 100%;
        height: 53.33333vw;
        padding-top: 5.33333vw;
        padding-bottom: 5.33333vw;
        border-radius: 2.13333vw
    }
}

.box.shindan .box-content .content.result .result-content p.icon,
.box.shindan .box-content .content.result .result-content>.text {
    text-align: center
}

@media only screen and (min-width:769px) {
    .box.shindan .box-content .content.result .result-content p.icon {
        font-size: 100px;
        margin-bottom: 0
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.shindan .box-content .content.result .result-content p.icon {
        font-size: 26.66667vw;
        margin-bottom: 0
    }
}

.box.shindan .box-content .content.result .result-content>.text {
    font-weight: 900
}

@media only screen and (min-width:769px) {
    .box.shindan .box-content .content.result .result-content>.text {
        font-size: 28px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.shindan .box-content .content.result .result-content>.text {
        font-size: 5.33333vw
    }
}

.box.shindan .box-content .content.result .result-content .block.contact {
    text-align: center;
    margin-top: .8em
}

.box.shindan .box-content .content.result .result-content .block.contact .text {
    font-color: #000
}

@media only screen and (min-width:769px) {
    .box.shindan .box-content .content.result .result-content .block.contact .text {
        font-size: 16px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.shindan .box-content .content.result .result-content .block.contact .text {
        font-size: 3.73333vw
    }
}

.box.shindan .box-content .content.result .result-content .block.contact .phone {
    font-family: Comfortaa;
    color: #0055A9;
    font-weight: 600
}

@media only screen and (min-width:769px) {
    .box.shindan .box-content .content.result .result-content .block.contact .phone {
        font-size: 28px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.shindan .box-content .content.result .result-content .block.contact .phone {
        font-size: 6.4vw
    }
}

.box.shindan .box-content .content.result .result-note p {
    text-align: center
}

.box.shindan .box-content .content[data-id=ok] .result-content p.icon,
.box.shindan .box-content .content[data-id=ok] .result-content>.text {
    color: #0055A9
}

.box.shindan .box-content .content[data-id=na] .result-content p.icon,
.box.shindan .box-content .content[data-id=na] .result-content>.text {
    color: #E20000
}

@media only screen and (min-width:769px) {
    .box.shindan .box-content .content.result .result-note p {
        font-size: 14px
    }

    .box.shindan[data-id=ok] .box-content,
    .box.shindan[data-id=na] .box-content {
        padding-top: 10px;
        padding-bottom: 10px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.shindan .box-content .content.result .result-note p {
        font-size: 3.46667vw;
        text-align: left
    }

    .box.shindan[data-id=ok] .box-content,
    .box.shindan[data-id=na] .box-content {
        padding-top: 5.33333vw;
        padding-bottom: 5.33333vw
    }
}

.box.shindan .box-content .content {
    display: none
}

.box.shindan[data-id=ok] .box-content .content[data-id=ok],
.box.shindan[data-id=na] .box-content .content[data-id=na],
.box.shindan[data-id=start] .box-content .content[data-id=start],
.box.shindan[data-id=loading] .box-content .content[data-id=loading] {
    display: flex
}

.box.point {
    background-color: #fff
}



@media only screen and (max-width:768px) and (max-width:768px),
only screen and (max-device-width:768px) and (max-width:768px),
only screen and (max-width:768px) and (max-device-width:768px),
(max-device-width:768px) and (max-device-width:768px) {
    .box.point>.box-title .title.w-num .title-text {
        width: 64vw
    }

}

.box.point>.box-title .btn.toggle {
    position: absolute;
    top: 50%;
    cursor: pointer
}
.box.point>.box-content .l{
    text-align: center;
}
/* .box.point>.box-content .l span {
    font-weight: 500;
    text-align: center;
    font-family: 'Zen Maru Gothic', serif;
    font-weight: bold;
    color: #003d8e;
    text-align: center;
    display: inline-block;
    background: linear-gradient(transparent 65%, #ffff00 35%);
    
} */

@media only screen and (min-width:769px) and (min-width:769px) {
    .box.point>.box-content .cols.img-txt .col figure {
        border-radius: 10px
    }
}

@media only screen and (min-width:769px) and (max-width:768px),
only screen and (min-width:769px) and (max-device-width:768px) {
    .box.point>.box-content .cols.img-txt .col figure {
        border-radius: 2.13333vw
    }
}

@media only screen and (min-width:769px) {
    .box.point>.box-title {
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 10px
    }

    .box.point>.box-title .btn.toggle {
        margin-top: -20px;
        right: 20px
    }

    .box.point>.box-content .cols.img-txt .col figure {
        background-color: #fff;
        filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .25));
        transform: translateZ(0)
    }

    .box.point>.box-content .cols.img-txt .col figure img {
        width: 300px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.point>.box-title {
        padding-top: 2.66667vw;
        padding-bottom: 2.66667vw;
        padding-left: 1.33333vw
    }

    .box.point>.box-title .title.w-num .title-text {
        flex-grow: 0
    }

    .box.point>.box-title .btn.toggle {
        margin-top: -3.33333vw;
        right: 2.66667vw
    }

    .box.point>.box-content .inner {
        padding-bottom: 5vw
    }

    .box.point>.box-content .cols.img-txt .col figure img {
        width: 60vw
    }
}

.box.point>.box-content .cols.img-txt .col:nth-child(2) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}


.block.comparison{
    max-width: 700px;
    margin: 0 auto;
}


.block.comparison ul.rates>li {
    display: flex;
    /* align-items: center; */
}

.block.comparison ul.rates>li .label {
    /* font-family: Soft Gothic DemiBold; */
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

section.howto .container{
    font-family: 'Zen Maru Gothic', serif;
    font-weight: bold;
}

.bubble,
ul.tabs li.tab {
    justify-content: center;
    position: relative
}

@media only screen and (min-width:769px) {
    .block.comparison .note{
        margin-top: 0;
        font-size: 18px;
        margin-top: -15px;
    }
    .box.point>.box-content .cols.img-txt:not(.reverse) .col:nth-child(2) {
        padding-left: 30px
    }

    .box.point>.box-content .cols.img-txt.reverse .col:nth-child(2) {
        padding-right: 30px
    }

    .box.point:nth-child(n+2) {
        margin-top: 30px
    }

    /* .block.comparison ul.rates {
        border-top: 1px solid rgba(0, 0, 0, .8);
        border-bottom: 1px solid rgba(0, 0, 0, .8)
    } */

    .block.comparison ul.rates>li .label {
        font-size: 22px;
        width: 210px;
        height: 70px;
        font-weight: bold;
        border-radius: 5px;
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .box.point:nth-child(n+2) {
        margin-top: 3.33333vw
    }

    .block.comparison ul.rates>li .label {
        font-size: 3.56667vw;
        width: 17vw;
        height: 10.66667vw;
        line-height: 1.2;
        border-radius: 5px;
    }
}

.block.comparison ul.rates>li .label p {
    white-space: nowrap
}

.block.comparison ul.rates>li .value {
    font-family: "din-2014", sans-serif;
    font-weight: bold;
}

@media only screen and (min-width:769px) {
    .block.comparison ul.rates>li .value {
        font-size: 60px;
        padding-left: 15px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .block.comparison ul.rates>li .value {
        font-size: 8.46667vw;
        padding-left: 2.13333vw
    }
}

.block.comparison ul.rates>li .value span {
    vertical-align: 0;
    line-height: 1
}

#main>section.points .box.point[data-id='3'] .col:nth-child(2) p.l,
.bubble p {
    line-height: 1.4;
    text-align: center
}

/* .block.comparison ul.rates>li .value span.hyphen,
.block.comparison ul.rates>li .value span.period {
    font-family: Soft Gothic Bold
} */

@media only screen and (min-width:769px) {

    .block.comparison ul.rates>li .value span.hyphen,
    .block.comparison ul.rates>li .value span.period {
        font-size: 25px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    .block.comparison ul.rates>li .value span.hyphen,
    .block.comparison ul.rates>li .value span.period {
        font-size: 3.93333vw
    }
}

.block.comparison ul.rates>li .value span.num {
    letter-spacing: -.05em
}

.block.comparison ul.rates>li .value span.period {
    vertical-align: .15em;
    margin-right: .1em
}

.block.comparison ul.rates>li .value span.hyphen {
    vertical-align: .3em;
    margin-left: .3em;
    margin-right: 0
}

.block.comparison ul.rates>li .value span.unit {
    font-size: 75%;
    margin-left: .1em
}

.block.comparison ul.rates>li.main .label {
    background-color: #b20000
}

.block.comparison ul.rates>li.main .value {
    color: #b20000
}

.block.comparison ul.rates>li.sub .label {
    background-color: #A0A0A0
}

.block.comparison ul.rates>li.sub .value {
    color: #A0A0A0
}

.block.comparison ul.rates>li[data-index='2'] .label p {
    transform: scaleX(.75)
}

.bubble {
    display: flex;
    align-items: center;
    background-color: #fcf29e;
    color: #003d8e;
    padding: 10px 0;
}

.bubble:before {
    position: absolute;
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 20px 0;
    border-color: #fcf29e transparent transparent;
    /* left: 50% */
}



ul.tabs {
    z-index: 0;
    position: relative;
    display: flex;
    align-items: center
}

ul.tabs li.tab {
    display: flex;
    align-items: center;
    width: calc(50% - .6vw);
    background-color: #fff;
    cursor: pointer
}

@media only screen and (min-width:769px) {
    .block.comparison ul.rates>li[data-index='0'] .value span.num.n-1 {
        font-size: 90px
    }
    .block.comparison ul.rates>li[data-index='1'] .value span.num.n-1,
    .block.comparison ul.rates>li[data-index='2'] .value span.num.n-1 {
        font-size: 75px
    }
    .block.comparison ul.rates>li[data-index='1'] .value span.num.n-2,
    .block.comparison ul.rates>li[data-index='2'] .value span.num.n-2{
        font-size: 50px;
    }

    .block.comparison ul.rates>li:nth-child(n+2) {
        margin-top: 10px
    }

    .bubble {
        border-radius: 6px
    }

    .bubble:before {
        bottom: -20px;
        /* margin-left: -10px */
    }

    ul.tabs li.tab {
        height: 80px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .block.comparison ul.rates>li[data-index='0'] .value span.num.n-1 {
        font-size: 11.33333vw
    }
    .block.comparison ul.rates>li[data-index='1'] .value span.num.n-2,
    .block.comparison ul.rates>li[data-index='2'] .value span.num.n-2{
        font-size: 6.33333vw
    }
    .block.comparison ul.rates>li:nth-child(n+2) {
        margin-top: 0
    }

    .block.comparison p.note {
        margin-top: .4em
    }

    .bubble {
        border-radius: 1.06667vw
    }

    .bubble:before {
        border-width: 2vw 2vw 0;
        bottom: -2vw;
        margin-left: -2vw;
        display: none;
    }

    ul.tabs {
        padding-left: 20px;
        padding-right: 20px
    }

    ul.tabs li.tab {
        height: 16vw
    }
}

ul.tabs li.tab .label {
    display: flex;
    justify-content: center;
    align-items: center;
    
}
ul.tabs li.tab .label .icon_mobile{
    content: url(../img/icon_mobile.png);
}
ul.tabs li.tab[data-selected='0'] .label .icon_mobile{
    content: url(../img/icon_mobile_off.png);
}
ul.tabs li.tab .label .icon_card{
    content: url(../img/icon_card_off.png);
}
ul.tabs li.tab[data-selected='1'] .label .icon_card{
    content: url(../img/icon_card.png);
}

@media only screen and (min-width:769px) {
    /* ul.tabs li.tab {
        border-top-left-radius: 10px;
        border-top-right-radius: 10px
    } */

    ul.tabs li.tab:nth-child(n+2) {
        margin-left: 1.2vw
    }

    ul.tabs li.tab .label p.icon {
        font-size: 40px;
        margin-right: 10px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    ul.tabs li.tab {
        /* border-top-left-radius: 2.13333vw;
        border-top-right-radius: 2.13333vw; */
        width: calc(50% - 5px)
    }

    ul.tabs li.tab:nth-child(n+2) {
        margin-left: 10px
    }

    ul.tabs li.tab .label {
        flex-direction: column
    }

    ul.tabs li.tab .label p.icon {
        font-size: 10.66667vw;
        /* margin-bottom: 1.33333vw */
    }
    ul.tabs li.tab .label .icon_mobile{
        width: calc(48 / 640 * 100vw);
    }
    ul.tabs li.tab[data-selected='0'] .label .icon_mobile{
        width: calc(48 / 640 * 100vw);
    }
    ul.tabs li.tab .label .icon_card{
        width: calc(92 / 640 * 100vw);
        padding: 1.5vw 0;
    }
    ul.tabs li.tab[data-selected='1'] .label .icon_card{
        width: calc(92 / 640 * 100vw);
    }
}

ul.tabs li.tab .label .title {
    font-weight: 700;
    line-height: 1.3;
    color: #003D8E;
}

ul.tabs li.tab[data-selected='0'] {
    
    background-color: #EEE
}
ul.tabs li.tab[data-selected='0'] .label .title{
    color: #808080;
}

ul.tab-contents {
    z-index: 1;
    position: relative
}

ul.tab-contents li.tab-content[data-selected='1'] {
    display: block
}

.table.interest-chart dl dt,
ul.tab-contents li.tab-content[data-selected='0'] {
    display: none
}

@media only screen and (min-width:769px) {
    ul.tabs li.tab .label .title {
        font-size: 25px
    }

    .table.payment-chart dl.label dd,
    .table.payment-chart dl.label dt {
        height: 60px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    ul.tabs li.tab .label .title {
        font-size: 3.73333vw;
        text-align: center
    }

    .table.payment-chart dl.label dd,
    .table.payment-chart dl.label dt {
        height: 21.33333vw
    }
}

.table.payment-chart dl dt {
    width: 65%
}

.block.interest-chart h4,
.block.payment-chart h4 {
    margin-bottom: .4em;
    text-align: center
}

#main>section .cp-banner {
    display: block;
    margin-left: auto;
    margin-right: auto
}

@media only screen and (min-width:769px) {

    .block.interest-chart h4,
    .block.payment-chart h4 {
        font-size: 16px
    }

    #main>section .cp-banner {
        width: 920px
    }

    #main>section.kv {
        padding-top: 0;
        padding-bottom: 0
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    .block.interest-chart h4,
    .block.payment-chart h4 {
        font-size: 3.2vw
    }

    #main>section .cp-banner {
        width: 100%
    }

    #main>section.kv {
        padding-top: 0;
        padding-bottom: 0;
        background: linear-gradient(90deg, #3488c1 0%, #3488c1 50%, #002f74 50%, #002f74 100%);
    }
}

#main>section.kv .bar .shindan {
    position: absolute;
    /* filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .25)); */
    transform: translateZ(0)
}

@media only screen and (min-width:769px) {
    #main>section.kv  .shindan {
        width: 131px;
        right: -15px;
        bottom: 10px;
    }

    #main>section.kv .kv-image {
        /* background-image: url(../img/kv_pc.png); */
        background-position: center center;
        background-size: cover;
        /* height: 402px; */
        /* max-width: 1245px; */
        margin: 0 auto;
        /* background: rgb(0,47,116);
        background: linear-gradient(270deg, rgba(0,47,116,1) 0%, rgba(61,156,221,1) 100%); */
        background: linear-gradient(90deg, #3488c1 0%, #3488c1 50%, #002f74 50%, #002f74 100%);
}

    

    #main>section.kv .kv-image .container {
        z-index: 0;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.kv .kv-image .shindan {
        position: absolute;
        bottom: calc(45 / 640 * 100vw);
        right: calc(16 / 640 * 100vw);
    }
    #main>section.kv .kv-image .shindan img{
        width: calc(109 / 640 * 100vw);
    }
}

@media only screen and (min-width:769px) and (min-width:769px) {
    #main>section.kv .kv-image .container {
        max-width: 1400px;
        /* height: 402px */
    }
}

@media only screen and (min-width:769px) and (max-width:768px),
only screen and (min-width:769px) and (max-device-width:768px) {
    #main>section.kv .kv-image .container {
        width: 100%
    }
}

@media only screen and (min-width:769px) and (min-width:769px) {
    #main>section.kv .kv-image .container .image {
        /* width: 1100px;
        left: -50px */
        background: url(../img/kv_pc.png);
        width: 100%;
        height: 521px;
        background-position: center;
    }
}

@media only screen and (min-width:769px) and (max-width:768px),
only screen and (min-width:769px) and (max-device-width:768px) {
    #main>section.kv .kv-image .container .image {
        width: 100%;
        left: 0
    }
}
#main>section.kv  .bar{
    display: none;
}
@media only screen and (min-width:769px) and (min-width:769px) {
    #main>section.kv  .bar {
        display: block;
        background: rgb(0,52,112);
background: linear-gradient(270deg, rgba(0,52,112,1) 0%, rgba(0,106,169,1) 48%, rgba(0,94,156,1) 100%);
padding: 5px 0;
position: relative;

    }
    #main>section.kv  .bar::before{
        position: absolute;
        height: 52.7px;
        width: 100%;
        content: "";
        top: 0;
        right: 0;
        left: 0;
        background: rgb(0,114,177);
background: linear-gradient(270deg, rgba(0,114,177,1) 0%, rgba(0,95,158,1) 48%, rgba(0,52,112,1) 100%);
    }
    #main>section.kv  .bar .rates{
        text-align: center;
        max-width: 944px;
        margin: 0 auto;
        position: relative;
        padding-right: 131px;
    }
    #main>section.kv  .bar .rates img {
        max-width: 813px;
        position: relative;
    }

    #main>section.points .box.point[data-id='3'] .col:nth-child(2) ul.steps>li:nth-child(n+2) {
        margin-left: 10px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.kv .kv-image {
        width: 100%
    }
}
@media only screen and (min-width:769px){
    #main>section.apply .ln-thru p {
        
        font-size: 21px;
    }
}

#main>section.apply .ln-thru p {
    font-weight: 700;
    font-family: "kozuka-gothic-pro", sans-serif;
    color: #4d4d4d;
    
}
@media only screen and (min-width:769px) {
    #main>section.kv .kv-image .container .image {
        position: relative
    }

    #main>section.kv .kv-image .bar {
        z-index: 1;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #0868AA
    }

    #main>section.apply .btn.round {
        width: 490px;
        
        /* font-weight: 500; */
        
    }
}
#main>section.apply .btn.round{
    font-family: 'Zen Maru Gothic', serif;
    color: #0868aa;
}
@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.apply .btn.round {
        width: 100%
    }
}

/* #main>section.apply.below-kv {
    background-color: #FCF7DE
} */

/* #main>section.apply.dotted {
    background-color: #f8f8f8;
    border-top: 4px dotted #000;
    border-bottom: 4px dotted #000
} */

/* #main>section.shindan {
    background-color: #f8f8f8
} */

#main>section.points {
    background-color: #fcf29e
}

#main>section.points .box.point[data-id='1'] .box.chart {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 2px dotted #003d8e;
    padding: 70px 60px 30px;
    margin-top: 70px;
    max-width: 850px;
    margin: 70px auto 0;
    text-align: left;
    
}

#main>section.points .box.point[data-id='1'] .box.chart .title {
    font-weight: 700
}
#main>section.points .box.point[data-id='1'] .box.chart .notes{
    width: 100%;
    text-align: left;
    
}
#main>section.points .box.point[data-id='1'] .box.chart .title {
    
    color: #003d8e;
    font-family: 'Zen Maru Gothic', serif;
    display: inline-block;
    background-color: #fff;
    margin-top: -100px;
    padding: 0 20px;
    margin-bottom: 10px;
    
}
@media only screen and (min-width:769px) {
    #main>section.apply .btn.round.link {
        width: 600px
    }

    /* #main>section.apply.below-kv {
        padding-top: 30px
    } */

    #main>section.points .box.point[data-id='1'] .box.chart .title {
        font-size: 32px;
        
        margin-top: -100px;
        padding: 0 20px;
        margin-bottom: 10px;
        
    }
    #main>section.points .box.point[data-id='1'] .box.chart .notes{
        
        font-size: 18px;
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.apply .btn.round.link {
        width: 100%
    }

    #main>section.apply.below-kv {
        padding-top: 0
    }

    #main>section.points .box.point[data-id='1'] .box.chart .title {
        font-size: 3.92967vw;
        position: absolute;
        top: -4vw;
        margin: auto;
        right: 0;
        left: 0;
        content: "";
        padding: 0 0px;
        text-align: center;
        background-color: #fff;
        width: 90%;
    }
    #main>section.points .box.point[data-id='1'] .box.chart{
        margin-top: 8vw;
        padding: 4vw 10px;
    }
}

@media only screen and (min-width:769px) {
    #main>section.points .box.point[data-id='1'] .box.chart figure {
        width: 720px
    }
}

#main>section.points .box.point[data-id='3'] .col:nth-child(2) ul.steps {
    display: flex;
    align-items: center
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.points .box.point[data-id='1'] .box.chart figure {
        width: calc(100% + 30px);
        padding-left: 15px;
    }

    #main>section.points .box.point[data-id='2'] .col:nth-child(1) figure {
        margin-top: -8vw;
        margin-bottom: -5.33333vw
    }

    #main>section.points .box.point[data-id='3'] .col:nth-child(1) figure {
        margin-top: -2.66667vw;
        margin-bottom: -2.66667vw
    }

    #main>section.points .box.point[data-id='3'] .col:nth-child(2) ul.steps {
        justify-content: center;
        flex-wrap: wrap
    }
}

#main>section.points .box.point[data-id='3'] .col:nth-child(2) ul.steps>li {
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #000;
    font-weight: 700
}

@media only screen and (max-width:768px) and (max-width:768px),
only screen and (max-device-width:768px) and (max-width:768px),
only screen and (max-width:768px) and (max-device-width:768px),
(max-device-width:768px) and (max-device-width:768px) {
    #main>section.points .box.point[data-id='3'] .col:nth-child(2) ul.steps>li:nth-child(even) {
        margin-left: 2.66667vw
    }

    #main>section.points .box.point[data-id='3'] .col:nth-child(2) ul.steps>li:nth-child(n+3) {
        margin-top: 1.33333vw
    }
}

@media only screen and (min-width:769px) {
    #main>section.points .box.point[data-id='3'] .col:nth-child(2) ul.steps>li {
        width: 150px;
        height: 35px;
        font-size: 18px
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .ln-thru {
        margin-bottom: 20px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.points .box.point[data-id='3'] .col:nth-child(2) ul.steps>li {
        width: 40vw;
        height: 8vw;
        font-size: 4.53333vw
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .ln-thru {
        margin-bottom: 5.33333vw
    }
}

#main>section.points .box.point[data-id='3'] .block.wallet .ln-thru p {
    font-weight: 700
}

#main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

@media only screen and (min-width:769px) {
    #main>section.points .box.point[data-id='3'] .block.wallet .ln-thru p {
        font-size: 18px
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col:nth-child(1) {
        width: 45%
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.points .box.point[data-id='3'] .block.wallet .ln-thru p {
        font-size: 3.53333vw
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col:nth-child(1) {
        width: 100%;
        padding-bottom: 5.33333vw
    }
}

@media only screen and (min-width:769px) {
    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col:nth-child(2) {
        width: 55%
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.app>.col:nth-child(2) {
        padding-left: 20px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col:nth-child(2) {
        width: 100%;
        padding-top: 2.66667vw
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.app {
        flex-direction: row
    }
}

#main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.app>.col:nth-child(2) {
    display: flex;
    flex-direction: column;
    justify-content: center
}

#main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download,
#main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download>.col:nth-child(2) {
    align-items: center;
    display: flex
}

@media only screen and (min-width:769px) {
    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.app .icon {
        width: 100px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.app>.col:nth-child(2) {
        padding-left: 4vw
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.app .icon {
        width: 28vw
    }
}

#main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.app p.name {
    line-height: 1.3;
    margin-top: .5em;
    margin-left: .3em
}

@media only screen and (min-width:769px) {
    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.app .logo {
        width: 200px;
        padding-top: 10px
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.app p.name {
        font-size: 14px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.app .logo {
        width: 41.33333vw;
        padding-top: 1.33333vw
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.app p.name {
        font-size: 3.46667vw
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download {
        flex-direction: column
    }
}

#main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download p {
    font-weight: 700
}

#main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download ul.badges {
    display: flex;
    align-items: center
}

#main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download ul.badges>li a {
    display: block
}

#main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download ul.badges>li a img {
    width: auto;
    height: 100%;
    max-width: none
}

@media only screen and (min-width:769px) {
    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download p {
        font-size: 18px;
        margin-right: 15px
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download ul.badges>li a {
        height: 50px
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download ul.badges>li:nth-child(n+2) {
        margin-left: 10px
    }

    #main>section.points .box.point[data-id='4'] figure.banking img {
        width: 400px
    }
}

#main>section.points .box.point[data-id='5'] .block.howto ul.steps {
    display: flex
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download p {
        font-size: 4.53333vw;
        margin-bottom: 1.33333vw
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download ul.badges>li a {
        height: 13.33333vw
    }

    #main>section.points .box.point[data-id='3'] .block.wallet .cols.dotted>.col .cols.download ul.badges>li:nth-child(n+2) {
        margin-left: 4vw
    }

    #main>section.points .box.point[data-id='4'] .col:nth-child(1) figure {
        margin-top: -5.33333vw;
        margin-bottom: -2.66667vw
    }

    #main>section.points .box.point[data-id='4'] figure.banking img {
        width: 72vw
    }

    #main>section.points .box.point[data-id='5'] .block.howto ul.steps {
        flex-direction: column;
        align-items: center;
        
    }
    
}

#main>section.points .box.point[data-id='5'] .block.howto ul.steps>li .title {
    font-family: Comfortaa;
    font-weight: 700;
    color: #fff;
    background: #003d8e;
    display: inline-block;
    position: relative;
    height: 39px;
    width: 105px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 12px;
}
#main>section.points .box.point[data-id='5'] .block.howto ul.steps>li .title::after{
    content: "";
  position: absolute;
  top: 0;
  right: -13px;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 19px solid transparent;
  border-bottom: 19px solid transparent;
  border-left: 13px solid #003d8e;
  border-right: 0;
}

#main>section.points .box.point[data-id='5'] .block.howto ul.steps>li .text {
    margin-top: .8em
}

@media only screen and (min-width:769px) {
    /* #main>section.points .box.point[data-id='5'] .block.howto ul.steps>li .title {
        font-size: 24px
    } */

    #main>section.points .box.point[data-id='5'] .block.howto ul.steps>li figure {
        width: 262px
    }

    #main>section.points .box.point[data-id='5'] .block.howto ul.steps>li:nth-child(n+2) {
        margin-left: 30px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.points .box.point[data-id='5'] .block.howto ul.steps{
        padding: 0 5%;
    }
    #main>section.points .box.point[data-id='5'] .block.howto ul.steps>li{
        width: 100%;
    }
    #main>section.points .box.point[data-id='5'] .block.howto ul.steps>li .title{
        margin:  0 auto 12px;
    }
    #main>section.points .box.point[data-id='5'] .block.howto ul.steps>li .title {
        font-size: 4.8vw
    }

    #main>section.points .box.point[data-id='5'] .block.howto ul.steps>li figure {
        width: 100%;
        margin: 0 auto;
    }

    #main>section.points .box.point[data-id='5'] .block.howto ul.steps>li:nth-child(n+2) {
        margin-top: 5.33333vw
    }
}

@media only screen and (min-width:769px) {
    #main>section.points .box.point[data-id='5'] .block.auto {
        margin-top: 20px
    }

    /* #main>section.points .box.point[data-id='5'] .block.auto .cols.img-txt {
        width: 650px
    } */
}
#main>section.points .box.point[data-id='5'] .atmh4{
    display: flex;
    justify-content: center;
    padding-bottom: 0;
}
#main>section.points .box.point[data-id='5'] .atmh4 p{
    text-align: left;
}
@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.points .box.point[data-id='5'] .block.auto {
        margin-top: 4vw
    }
    #main>section.points .box.point[data-id='5'] .atmh4 img{
        width: calc(157 /640 * 100vw);
    }
    #main>section.points .box.point[data-id='5'] .atmh4 p{
        font-size: 3.9vw;
    }
    #main>section.points .box.point[data-id='5'] .block.auto .cols{
        flex-direction: column-reverse;
    }
    #main>section.points .box.point[data-id='5'] .block.auto .cols.img-txt .col:nth-child(2){
        margin-top: 0;
        margin-bottom: 1em;
    }
    #main>section.points .box.point[data-id='5'] .block.auto .cols.img-txt .col:nth-child(2) h5{
        text-align: center;
    }
    #main>section.points .box.point[data-id='5'] .block.auto .cols.img-txt {
        width: 90%;
        margin: 0 auto;
    }
}

#main>section.points .box.point[data-id='5'] .block.auto .cols.img-txt .col:nth-child(1) {
    flex-shrink: 0
}

@media only screen and (min-width:769px) {
    #main>section.points .box.point[data-id='5'] .block.auto .cols.img-txt .col:nth-child(1) figure img {
        width: 270px
    }
}
#main>section.points .box.point[data-id='5']{
    font-weight: bold;
}
#main>section.points .box.point[data-id='5'] .block{
    max-width: 850px;
    margin: 0 auto;
}
@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.points .box.point[data-id='5'] .block.auto .cols.img-txt .col:nth-child(1) figure img {
        width: 80vw
    }
}
#main>section.points .box.point[data-id='5']  .atmh5{
    color: #003d8e;
    text-align: center;
    margin-bottom: 1.1em;
}
#main>section.points .box.point[data-id='5'] .block.auto .cols.img-txt .col:nth-child(2) h5{
    color: #003d8e;
}
@media only screen and (min-width:769px) {
    #main>section.points .box.point[data-id='5'] .block.auto .cols.img-txt .col:nth-child(2) {
        width:100%
    }
}

#main>section.points .box.point[data-id='5'] .block.auto .cols.img-txt .col:nth-child(2) .content {
    width: 100%
}

#main>section.points .box.point[data-id='5'] figure.card {
    position: absolute
}

@media only screen and (max-width:768px) and (max-width:768px),
only screen and (max-device-width:768px) and (max-width:768px),
only screen and (max-width:768px) and (max-device-width:768px),
(max-device-width:768px) and (max-device-width:768px) {
    #main>section.points .box.point[data-id='5'] figure.card {
        margin-top: 2.66667vw;
        margin-left: 13.33333vw
    }
}

#main>section.usage p.lead {
    font-weight: 900;
    text-align: center;
    line-height: 1.4
}

@media only screen and (min-width:769px) {
    #main>section.points .box.point[data-id='5'] figure.card {
        width: 270px;
        right: -20px;
        bottom: 35px
    }

    #main>section.usage p.lead {
        font-size: 28px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.points .box.point[data-id='5'] figure.card {
        width: 69.33333vw;
        position: relative
    }

    #main>section.points .box.point[data-id='6'] .col:nth-child(1) figure {
        margin-top: -5.33333vw;
        margin-bottom: -2.66667vw
    }

    #main>section.usage p.lead {
        font-size: 5.33333vw
    }
}

#main>section.usage ul.usage-list {
    display: flex;
    justify-content: center;
    margin-top: 70px;
}
#main>section.usage ul.usage-list>li{
    border-radius: 5px;
    border: solid 1px #003d8e;
    overflow: hidden;
}

#main>section.usage ul.usage-list>li figure {
    background-color: #FCF7DE;
    padding: 10px 20px;
    
}

#main>section.usage ul.usage-list>li .text {
    text-align: center;
    line-height: 1.4;
    font-weight: 500;
    color: #002c6a;
    font-weight: bold;
    font-size: 21px;
    padding: 30px 10px;
}

@media only screen and (min-width:769px) {
    #main>section.usage p.lead {
        margin-bottom: 40px
    }

    /* #main>section.usage ul.usage-list>li figure {
        width: 220px;
        height: 220px;
        border-radius: 110px
    } */

    
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.usage p.lead {
        margin-bottom: 5.33333vw
    }

    #main>section.usage ul.usage-list {
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 7vw;
    }
    #main>section.usage ul.usage-list>li{
        width: calc(97% / 2);
    }
    /* #main>section.usage ul.usage-list>li figure {
        width: 44vw;
        height: 44vw;
        
    } */

    #main>section.usage ul.usage-list>li .text {
        font-size: 3.93333vw;
        padding: 15px 10px;
        /* margin-top: 1.33333vw */
    }
}

@media only screen and (min-width:769px) and (min-width:769px) {
    #main>section.usage ul.usage-list>li:nth-child(n+2) {
        margin-left: 20px
    }
}

@media only screen and (max-width:768px) and (max-width:768px),
only screen and (max-device-width:768px) and (max-width:768px),
only screen and (max-width:768px) and (max-device-width:768px),
(max-device-width:768px) and (max-device-width:768px) {
    /* #main>section.usage ul.usage-list>li:nth-child(even) {
        margin-left: 2.66667vw
    } */

    #main>section.usage ul.usage-list>li:nth-child(n+3) {
        margin-top: 3%
    }
}

#main>section.howto {
    background-color: #E5F0F7
}

#main>section.howto p.lead {
    font-weight: 900;
    text-align: center;
    line-height: 1.4
}

@media only screen and (min-width:769px) {
    #main>section.howto p.lead {
        font-size: 28px;
        margin-bottom: 40px
    }

    /* #main>section.howto .bubble {
        width: 95%;
        
    } */

    #main>section.howto ul.tabs {
        padding-top: 200px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.howto>.container {
        margin-left: 0;
        margin-right: 0
    }

    #main>section.howto p.lead {
        font-size: 5.33333vw;
        margin-bottom: 5.33333vw
    }

    #main>section.howto .bubble {
        width: 100%;
        height: 17vw
    }

    #main>section.howto ul.tabs {
        padding-top: 0;
        margin-top: 7vw;
    }
}

#main>section.howto ul.tabs li.tab {
    transform: translateZ(0)
}

@media only screen and (min-width:769px) {
    #main>section.howto ul.tabs li.tab {
        height: 140px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.howto ul.tabs li.tab {
        height: 26.66667vw
    }
}

#main>section.howto ul.tabs li.tab::after {
    position: absolute;
    display: block;
    content: '';
    left: 0;
    right: 0;
    width: 100%;
    background-color: #fff;
    filter: drop-shadow(0 -1px 1px rgba(0, 0, 0, .1))
}

#main>section.howto ul.tabs li.tab .bubble {
    position: absolute;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    font-size: 26px;
}
#main>section.howto .bubble p span{
    display: inline-block;
    background: linear-gradient(transparent 65%, #fff 35%);
}

#main>section.howto ul.tabs li.tab[data-selected='0']::after {
    filter: drop-shadow(0 -1px 2px rgba(0, 0, 0, .2))
}

#main>section.howto ul.tab-contents li.tab-content {
    color: #003d8e;
    background: #fff;
}

#main>section.howto ul.tab-contents li.tab-content>.inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

#main>section.howto ul.tab-contents li.tab-content .block.step-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /* background-color: #fff;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .25));
    transform: translateZ(0); */
}

@media only screen and (min-width:769px) {
    #main>section.howto ul.tabs li.tab::after {
        height: 5px;
        bottom: -5px
    }

    #main>section.howto ul.tabs li.tab .bubble {
        top: -150px
    }

    #main>section.howto ul.tab-contents li.tab-content {
        padding-top: 10px;
        padding-bottom: 30px
    }

    #main>section.howto ul.tab-contents li.tab-content .block.step-item {
        width: 920px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.howto ul.tabs li.tab::after {
        height: 1.33333vw;
        bottom: -1.33333vw
    }

    #main>section.howto ul.tab-contents li.tab-content {
        padding: 4vw 4vw 0;
        margin-right: 20px;
        margin-left: 20px;
    }

    #main>section.howto ul.tab-contents li.tab-content .bubble {
        margin-bottom: 4.33333vw
    }

    #main>section.howto ul.tab-contents li.tab-content .block.step-item {
        width: 100%
    }
}

#main>section.howto ul.tab-contents li.tab-content .block.step-item .block-title {
    /* display: flex;
    justify-content: center;
    align-items: center;
    font-family: Comfortaa;
    font-weight: 900;
    color: #fff;
    background-color: #0589E4;
    line-height: 1 */
}

@media only screen and (min-width:769px) {
    #main>section.howto ul.tab-contents li.tab-content .block.step-item {
        padding-top: 20px;
        padding-bottom: 20px
    }

    #main>section.howto ul.tab-contents li.tab-content .block.step-item .block-title {
        /* font-size: 24px;
        width: 180px;
        height: 40px;
        border-radius: 20px; */
        margin-bottom: 15px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.howto ul.tab-contents li.tab-content .block.step-item {
        /* padding-top: 8vw; */
        padding-bottom: 5vw
    }

    #main>section.howto ul.tab-contents li.tab-content .block.step-item .block-title {
        /* font-size: 4.8vw;
        width: 32vw;
        height: 10.66667vw;
        border-radius: 5.33333vw; */
        margin-bottom: 2.26667vw
    }
}

#main>section.howto ul.tab-contents li.tab-content .block.step-item .block-title p {
    margin-bottom: -.2em
}

#main>section.howto ul.tab-contents li.tab-content .block.step-item .block-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

#main>section.howto ul.tab-contents li.tab-content .block.step-item .block-content p {
    text-align: center;
    font-weight: 700;
    font-size: 31px;
}
#main>section.howto ul.tab-contents li.tab-content .block.step-item .block-content p.marker_ttl{
    font-size: 42px;
}

#main>section.howto ul.tab-contents li.tab-content .block.step-item .block-content p.l {
    margin-bottom: .5em
}

#main>section.howto ul.tab-contents li.tab-content .block.step-item .block-content p.note {
    margin-top: -.5em
}

/* #main>section.howto ul.tab-contents li.tab-content .block.step-item[data-num='2'] {
    background-color: #FFF5B1
} */

#main>section.howto ul.tab-contents li.tab-content p.icon.triangle-down {
    text-align: center;
    color: #0589E4
}

#main>section.howto ul.tab-contents li.tab-content ul.contact-icons {
    display: flex;
    align-items: center
}

#main>section.faq ul.faq-list li.faq-item .box {
    background: #e0f2fc;
}

@media only screen and (min-width:769px) {
    #main>section.howto ul.tab-contents li.tab-content p.icon.triangle-down {
        font-size: 50px;
        margin-top: 5px;
        margin-bottom: 5px
    }

    #main>section.howto ul.tab-contents li.tab-content ul.contact-icons>li {
        width: 100px
    }

    #main>section.howto ul.tab-contents li.tab-content ul.contact-icons>li:nth-child(3) {
        margin-left: 5px
    }
    
    
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.howto ul.tab-contents li.tab-content p.icon.triangle-down {
        font-size: 8vw;
        margin-top: 1.33333vw;
        margin-bottom: 1.33333vw
    }

    #main>section.howto ul.tab-contents li.tab-content ul.contact-icons>li {
        width: 21.33333vw
    }

    #main>section.howto ul.tab-contents li.tab-content ul.contact-icons>li:nth-child(3) {
        margin-left: 1.33333vw
    }

    #main>section.faq ul.faq-list li.faq-item .box {
        border-radius: 2.13333vw
    }
    #main>section.howto ul.tab-contents li.tab-content .block.step-item .block-content p {
        
        font-size: calc(31 / 640 * 100vw);
    }
    #main>section.howto ul.tab-contents li.tab-content .block.step-item .block-content p.marker_ttl{
        font-size: calc(43 / 640 * 100vw);
    }
    .step2-app-img img{
        width: calc(120 / 640 * 100vw);
    }
}

@media only screen and (min-width:769px) {

    #main>section.faq ul.faq-list li.faq-item .box p.icon.a,
    #main>section.faq ul.faq-list li.faq-item .box p.icon.q {
        font-size: 50px
    }

    #main>section.faq ul.faq-list li.faq-item .box .cols.content .col,
    #main>section.faq ul.faq-list li.faq-item .box .cols.title .col {
        min-height: 50px
    }
}

#main>section.faq ul.faq-list li.faq-item .box p.q {
    color: #0055A9
}

#main>section.faq ul.faq-list li.faq-item .box p.a {
    color: #F85682
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    #main>section.faq ul.faq-list li.faq-item .box p.icon.a,
    #main>section.faq ul.faq-list li.faq-item .box p.icon.q {
        font-size: 8vw
    }

    #main>section.faq ul.faq-list li.faq-item .box .cols {
        flex-direction: row
    }
}

#main>section.faq ul.faq-list li.faq-item .box .cols.content .col,
#main>section.faq ul.faq-list li.faq-item .box .cols.title .col {
    display: flex;
    flex-direction: column;
    justify-content: center
}

#main>section.faq ul.faq-list li.faq-item .box .cols.content .col:nth-child(1),
#main>section.faq ul.faq-list li.faq-item .box .cols.title .col:nth-child(1) {
    flex-shrink: 0;
    justify-content: flex-start;
    font-family: din-2014, sans-serif;
    font-size: 68px;
    line-height: 1;
}

@media only screen and (min-width:769px) {

    #main>section.faq ul.faq-list li.faq-item .box .cols.content .col,
    #main>section.faq ul.faq-list li.faq-item .box .cols.title .col {
        padding-top: 15px;
        padding-bottom: 15px
    }

    #main>section.faq ul.faq-list li.faq-item .box .cols.content .col:nth-child(1),
    #main>section.faq ul.faq-list li.faq-item .box .cols.title .col:nth-child(1) {
        width: 60px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    #main>section.faq ul.faq-list li.faq-item .box .cols.content .col,
    #main>section.faq ul.faq-list li.faq-item .box .cols.title .col {
        min-height: 10.66667vw;
        padding-top: 2.66667vw;
        padding-bottom: 2.66667vw
    }

    #main>section.faq ul.faq-list li.faq-item .box .cols.content .col:nth-child(1),
    #main>section.faq ul.faq-list li.faq-item .box .cols.title .col:nth-child(1) {
        width: 9.66667vw;
        font-size: calc(68 / 640 * 100vw);
        line-height: 1.3;
    }

}

#main>section.faq ul.faq-list li.faq-item .box .box-content p:not([class]),
#main>section.faq ul.faq-list li.faq-item .box .box-title p:not([class]) {
    font-weight: 500
}

#main>section.faq ul.faq-list li.faq-item .box .box-title .btn.toggle {
    position: absolute;
    cursor: pointer;
    top: 50%
}

#main>section.faq ul.faq-list li.faq-item .box .box-title .btn.toggle .c-icon {
    color: #fff;
    border-color: #fff;
    background: #0868aa;
}

@media only screen and (min-width:769px) {

    #main>section.faq ul.faq-list li.faq-item .box .cols.content .col:nth-child(2),
    #main>section.faq ul.faq-list li.faq-item .box .cols.title .col:nth-child(2) {
        width: 850px
    }

    #main>section.faq ul.faq-list li.faq-item .box .box-content,
    #main>section.faq ul.faq-list li.faq-item .box .box-title {
        padding-left: 20px;
        padding-right: 20px
    }

    #main>section.faq ul.faq-list li.faq-item .box .box-content p:not([class]),
    #main>section.faq ul.faq-list li.faq-item .box .box-title p:not([class]) {
        font-size: 18px
    }

    #main>section.faq ul.faq-list li.faq-item .box .box-title .btn.toggle .c-icon {
        margin-top: -20px
    }

    #main>section.faq ul.faq-list li.faq-item .box .box-content>.inner {
        padding-top: 0;
        padding-bottom: 0px
    }

    #main>section.faq ul.faq-list li.faq-item .box .box-content .cols .col {
        padding-top: 0
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {

    #main>section.faq ul.faq-list li.faq-item .box .cols.content .col:nth-child(2),
    #main>section.faq ul.faq-list li.faq-item .box .cols.title .col:nth-child(2) {
        width: 66.66667vw
    }

    #main>section.faq ul.faq-list li.faq-item .box .box-content,
    #main>section.faq ul.faq-list li.faq-item .box .box-title {
        padding-left: 2.66667vw;
        padding-right: 2.66667vw
    }

    #main>section.faq ul.faq-list li.faq-item .box .box-content p:not([class]),
    #main>section.faq ul.faq-list li.faq-item .box .box-title p:not([class]) {
        font-size: 4vw
    }

    #main>section.faq ul.faq-list li.faq-item .box .box-title .btn.toggle .c-icon {
        margin-top: -4vw
    }

    #main>section.faq ul.faq-list li.faq-item .box .box-content>.inner {
        padding-top: 0;
        padding-bottom: 2.66667vw
    }

    #main>section.faq ul.faq-list li.faq-item .box .box-content .cols .col {
        padding-top: 0
    }
}



#main>section.detail .box.detail {
    background-color: #e0f2fc;
    padding: 110px 20px 0px;
    margin-top: 40px;
}
#main>section.detail .box.detail::before{
    position: absolute;
    margin: auto;
    right: 0;
    left: 0;
    background: url(../img/ttl_add_my.png) no-repeat;
    background-size: contain;
    width: 322px;
    height: 144px;
    top: 0;
    content: "";
    top: -60px;
}

#main>section.detail .box.detail>.box-title .title {
    line-height: 1.3;
    text-align: center
}
#main>section.detail .box.detail>.box-content{
    max-width: 630px;
    margin: 0 auto;
    text-align: center;
}
@media only screen and (min-width:769px) {
    #main>section.faq ul.faq-list li.faq-item:nth-child(n+2) {
        margin-top: 20px
    }

    #main>section.detail .box.detail>.box-content {
        padding-top: 10px;
        padding-bottom: 10px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.detail .box.detail{
        padding: 14vw 4vw 0;
        margin-top: 15vw;
    }
    #main>section.detail .box.detail::before{
        
        width: calc(332/ 640 *100vw);
        height: calc(144/ 640 *100vw);
        
        top: calc(-60/ 640 *100vw);
    }
    #main>section.faq ul.faq-list li.faq-item:nth-child(n+2) {
        margin-top: 4vw
    }

    #main>section.detail .box.detail>.box-title {
        height: 21.33333vw
    }

    #main>section.detail .box.detail>.box-content {
        padding-top: 3.66667vw;
        padding-bottom: 4vw
    }
}

#main>section.detail .box.detail>.box-content ul.specs>li {
    margin-bottom: 40px;
}

#main>section.detail .box.detail>.box-content ul.specs>li p.note {
    margin-top: .7em
}

#main>section.detail .box.detail>.box-content ul.specs>li>.label {
    text-align: center;
    font-weight: 700;
    line-height: 1;
    font-size: 25px;
    border-bottom: solid 1px #a6c2d4;
    padding-bottom: 15px;
    margin-bottom: 15px;
}
#main>section.detail .box.detail>.box-content ul.specs>li>.value{
    font-size: 21px;
    color: #4d4d4d;
    text-align: left;
    
}

@media only screen and (min-width:769px) {
    /* #main>section.detail .box.detail>.box-content ul.specs>li {
        padding-top: 15px;
        padding-bottom: 15px
    } */

    /* #main>section.detail .box.detail>.box-content ul.specs>li>.label {
        width: 200px
    } */

    /* #main>section.detail .box.detail>.box-content ul.specs>li>.value p.label {
        width: 100px
    } */
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.detail .box.detail>.box-content ul.specs>li {
        /* padding-top: 1.66667vw; */
        /* padding-bottom: 2.66667vw; */
        margin-bottom: 4vw;
        flex-direction: column;
        align-items: flex-start
    }

    #main>section.detail .box.detail>.box-content ul.specs>li>.label {
        /* text-align: left; */
        font-size: calc(25 / 640 * 100vw);
        padding-bottom: 10px;
        margin-bottom: 10px
    }
    #main>section.detail .box.detail>.box-content ul.specs>li>.value{
        font-size: calc(22 / 640 * 100vw);
        padding: 0 30px;
    }
    /* #main>section.detail .box.detail>.box-content ul.specs>li>.label p {
        display: inline
    } */
}

#main>section.detail .box.detail>.box-content ul.specs>li>.value .rate,
#main>section.detail .box.detail>.box-content ul.specs>li>.value .rate-wrap {
    display: flex;
    align-items: center
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.detail .box.detail>.box-content ul.specs>li>.value .rate-wrap {
        flex-wrap: wrap
    }
}

#main>section.detail .box.detail>.box-content ul.specs>li>.value p {
    line-height: 1.6
}



#main>section.detail .box.detail>.box-content ul.specs>li>.value p.value {
    color: #E20000;
    font-weight: 700;
    
    
    font-size: 25px;
}

/* #main>section.detail .box.detail>.box-content ul.specs>li:nth-child(n+2) {
    border-top: 1px dotted rgba(0, 0, 0, .75)
} */
#main>section.detail .detail-link{
    text-align: center;
    margin-top: 15px;
}
#main>section.detail .detail-link a{
    color: #0868aa;
}
#main>section.detail .attention {
    color: #0868aa;
    border: 1px solid #0868aa;
    font-size: 28px;
    
}

@media only screen and (min-width:769px) {
    #main>section.detail .box.detail>.box-content ul.specs>li>.value p.label {
        height: 30px
    }

    #main>section.detail .box.detail>.box-content ul.specs>li>.value p.value {
        font-size: 24px
    }

    #main>section.detail .box.detail>.box-content ul.specs>li>.value p.date {
        margin-left: .3em
    }

    #main>section.detail .attention {
        padding: 25px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.detail .box.detail>.box-content ul.specs>li>.value p.label {
        width: 26.66667vw;
        height: 8vw
    }

    #main>section.detail .box.detail>.box-content ul.specs>li>.value p.value {
        font-size: 3.6vw
    }

    /* #main>section.detail .box.detail>.box-content ul.specs>li>.value p.date {
        margin-top: .5em
    } */

    #main>section.detail .attention {
        padding: 2.66667vw;
        margin-top: 4vw !important;
    }
}

#main>section.detail .attention p {
    line-height: 1.3;
    text-align: center;
    font-weight: 500;
}

footer .container,
header .container {
    display: flex
}

footer .container>.col,
header .container>.col {
    width: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center
}

header,
header .container {
    position: relative;
    width: 100%
}


header .container>.col.left {
    justify-content: flex-start
}


header .container>.col.right {
    justify-content: flex-end
}

header {
    z-index: 100;
    left: 0;
    right: 0
}

header .container {
    background-color: #fff;
    overflow: hidden
}

@media only screen and (min-width:769px) {
    #main>section.detail .attention p {
        font-size: 24px
    }

    header .container {
        height: 80px
    }

    header .container>.col.left {
        width: 50%
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #main>section.detail .attention p {
        font-size: 4.8vw
    }

    header .container {
        height: 13.33333vw
    }
}

header .container>.col {
    height: 100%
}

header .container>.col.left {
    flex-shrink: 0
}

@media only screen and (min-width:769px) {
    header .container>.col.left {
        padding-left: 15px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    header .container>.col.left {
        width: 26.66667vw;
        padding-left: 2.13333vw
    }
}

@media only screen and (min-width:769px) {
    header .container>.col.left .logo {
        width: 160px
    }

    header .container>.col.right {
        padding-right: 15px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    header .container>.col.left .logo {
        width: 24vw
    }
}

header .container>.col.right {
    width: auto;
    flex-grow: 1
}

header.fixed {
    position: fixed;
    top: 0;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .25));
    transform: translateZ(0)
}

header.fixed .container {
    opacity: 0;
    transform: translate3d(0, -100%, 0)
}

header.fixed.active .container {
    opacity: 1;
    transform: translate3d(0, 0, 0)
}



@media only screen and (max-width:768px),
(max-device-width:768px) {
    header .container>.col.right {
        padding-right: 2.66667vw
    }

    
}

/* ---------------------------------------------
  footer
-----------------------------------------------*/
/* footer{
	padding-bottom: 162px;
} */
footer .ft01{
	padding: 20px 0 25px;
	background: #0055a9;
}
footer .ft01 .wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
    max-width: 1000px;
    margin: 0 auto;
}
footer .ft01 .wrap .tel_link img{
    max-width: 569px;
    
}
footer .ft01 dt{
	font-size: 24px;
	font-weight: bold;
	color: #fff;
	border-bottom: 1px solid #fff;
}
footer .ft01 dt .small{
	font-size: 13px;
	font-weight: normal;
}
footer .ft01 dd{
	font-size: 13px;
	line-height: 1.6;
	color: #fff;
	padding-top: 7px;
}
footer .copyright{
	font-size: 10px;
	color: #808080;
	text-align: center;
	padding: 10px 0;
}
@media screen and (max-width: 768px) {
/* 	footer{
	padding-bottom: 19vw;
} */
	footer .ft01{
		padding: 3% 0;
	}
	footer .ft01 .wrap{
		display: block;
        padding: 0 6%;
	}
    footer .ft01 .wrap .tel_link{
        text-align: center;
    }
    
	footer .ft01 .sp_center{
		display: flex;
		justify-content: center;
	}
	footer .ft01 dl{
		margin: 3% auto 0;
	}
	footer .ft01 dt{
		font-size: calc(32 / 640 * 100vw);
		padding-bottom: 3%;
        border-bottom: none;position: relative;
	}
    footer .ft01 dt::after{
        position: absolute;
        content: "";
        margin: auto;
        right: 0;
        left: 0;
        bottom: 0;
        width: calc(72 / 640 * 100vw);
        height: 1px;
        background-color: #fff;
    }
	footer .ft01 dt .small{
		font-size: calc(17 / 640 * 100vw);
	}
	footer .ft01 dd{
		font-size: calc(23 / 640 * 100vw);
		padding-top: 2%;
        text-align: center;
	}
	footer .copyright{
		font-size: calc(18 / 640 * 100vw);
		padding: 1.5% 0;
	}
}


#back-to-top {
    z-index: 99;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%
}

#back-to-top .container {
    position: relative
}

@media only screen and (min-width:769px) {
    
    #back-to-top .container {
        width: 1000px;
        margin-left: auto;
        margin-right: auto
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    

    #back-to-top .container {
        width: auto;
        margin-right: 15px;
        margin-left: 15px
    }
}

#back-to-top .container .btn {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    opacity: 0;
    transform: translateY(0);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .25));
    transform: translateZ(0);
    cursor: pointer
}

#back-to-top .container .btn p.icon {
    color: #0055A9
}

@media only screen and (min-width:769px) {
    #back-to-top .container .btn {
        width: 70px;
        height: 70px;
        border-radius: 35px;
        right: -5px;
        top: -15px
    }

    #back-to-top .container .btn p.icon {
        font-size: 23px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    #back-to-top .container .btn {
        width: 13.33333vw;
        height: 13.33333vw;
        border-radius: 6.66667vw;
        right: -1.33333vw;
        top: -2.66667vw
    }

    #back-to-top .container .btn p.icon {
        font-size: 4.53333vw
    }
}

#back-to-top.active .container .btn {
    opacity: 1;
    transform: translateY(-100%)
}

.preloader {
    display: flex;
    justify-content: center;
    align-items: center
}

.preloader .dot {
    background-color: #0055A9;
    opacity: .2;
    -webkit-animation-name: preloader;
    animation-name: preloader;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

@media only screen and (min-width:769px) {
    .preloader .dot {
        width: 16px;
        height: 16px;
        border-radius: 8px
    }

    .preloader .dot:nth-child(n+2) {
        margin-left: 25px
    }
}

@media only screen and (max-width:768px),
(max-device-width:768px) {
    .preloader .dot {
        width: 3.2vw;
        height: 3.2vw;
        border-radius: 1.6vw
    }

    .preloader .dot:nth-child(n+2) {
        margin-left: 5.33333vw
    }
}

.preloader .dot:nth-child(1) {
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

.preloader .dot:nth-child(2) {
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

.preloader .dot:nth-child(3) {
    -webkit-animation-delay: .6s;
    animation-delay: .6s
}

.preloader .dot:nth-child(4) {
    -webkit-animation-delay: .8s;
    animation-delay: .8s
}

.preloader .dot:nth-child(5) {
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}