/*!****************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js!./node_modules/stylus-loader/dist/cjs.js!./src/stylus/style.styl ***!
  \****************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700&display=swap);
/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js!./node_modules/stylus-loader/dist/cjs.js!./src/stylus/style.styl (1) ***!
  \********************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400&display=swap);
/*!********************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js!./node_modules/stylus-loader/dist/cjs.js!./src/stylus/style.styl (2) ***!
  \********************************************************************************************************************************************************************************************/
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
    border: 0;
    margin: 0;
    padding: 0;
    vertical-align: baseline
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section {
    display: block
}
body {
    line-height: 1;
    -webkit-text-size-adjust: 100%
}
ol, ul {
    list-style: none
}
blockquote, q {
    quotes: none
}
blockquote:after, blockquote:before, q:after, q:before {
    content: "";
    content: none
}
table {
    border-collapse: collapse;
    border-spacing: 0
}
*, :after, :before {
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box
}
button, input[type=email], input[type=submit], input[type=tel], input[type=text], select, textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    border-radius: 0;
    margin: 0;
    outline: none;
    padding: 0
}
@media (max-width:768px) {
    .pc {
        display: none !important
    }
}
@media (min-width:769px) {
    .sp {
        display: none !important
    }
}
@keyframes MoveUpInitial {
    to {
        transform: translate3d(0, -105%, 0)
    }
}
@keyframes MoveUpEnd {
    0% {
        transform: translate3d(0, 100%, 0)
    }
    to {
        transform: translateZ(0)
    }
}
@keyframes rotate {
    0% {
        transform: rotate(0)
    }
    to {
        transform: rotate(1turn)
    }
}
@keyframes scroll-left {
    0% {
        transform: translateX(0)
    }
    to {
        transform: translateX(-50%)
    }
}
html {
    font-size: 62.5%
}
body {
    color: black;
    font-family: Zen Maru Gothic, serif;
    font-style: normal;
    font-weight: 400
}
img {
    height: auto;
    max-width: 100%;
    vertical-align: bottom
}
svg {
    width: 100%
}
a {
    display: block;
    text-decoration: none
}
sup {
    font-size: 50%;
    vertical-align: top
}
.wrap {
    margin-left: auto;
    margin-right: auto;
    max-width: 1200px;
    width: 100%
}
@media (max-width:1399px) {
    .wrap {
        max-width: 85.71vw
    }
}
@media (max-width:768px) {
    .wrap {
        max-width: none
    }
}
.inner {
    padding-left: 100px;
    padding-right: 100px
}
@media (max-width:1399px) {
    .inner {
        padding-left: 7.14vw;
        padding-right: 7.14vw
    }
}
@media (max-width:768px) {
    .inner {
        max-width: none
    }
}
@media (max-width:768px) and (max-width:768px) {
    .inner {
        padding-left: 5.33vw;
        padding-right: 5.33vw
    }
}
.innerS {
    padding-left: 90px;
    padding-right: 90px
}
@media (max-width:1399px) {
    .innerS {
        padding-left: 6.43vw;
        padding-right: 6.43vw
    }
}
@media (max-width:768px) {
    .innerS {
        max-width: none
    }
}
@media (max-width:768px) and (max-width:768px) {
    .innerS {
        padding-left: 5.33vw;
        padding-right: 5.33vw
    }
}
@media (max-width:768px) {
    .sp-inner {
        padding-left: 5.33vw;
        padding-right: 5.33vw
    }
}
.pageMv {
    height: 207px;
    overflow: hidden;
    position: relative
}
@media (max-width:1399px) {
    .pageMv {
        height: 14.79vw
    }
}
@media (max-width:768px) {
    .pageMv {
        height: 25.33vw
    }
}
.pageMv .wrap {
    align-items: center;
    display: flex;
    height: 100%;
    position: relative;
    z-index: 2
}
.pageMv__ttl {
    color: #fff;
    font-size: 4.5rem;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.44
}
@media (max-width:1399px) {
    .pageMv__ttl {
        font-size: 3.21vw;
        line-height: 1.44
    }
}
@media (max-width:768px) {
    .pageMv__ttl {
        font-size: 6.4vw;
        line-height: 1.46
    }
}
.pageMv__bg {
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%
}
.bread {
    margin-top: 12px
}
@media (max-width:1399px) {
    .bread {
        margin-top: .86vw
    }
}
@media (max-width:768px) {
    .bread {
        margin-top: 3.2vw
    }
}
.bread ul {
    align-items: center;
    display: flex;
    gap: 0 10px
}
@media (max-width:1399px) {
    .bread ul {
        gap: 0 .71vw
    }
}
@media (max-width:768px) {
    .bread ul {
        gap: 0 2.4vw
    }
}
.bread ul li {
    align-items: center;
    display: flex;
    gap: 0 10px
}
@media (max-width:1399px) {
    .bread ul li {
        gap: 0 .71vw
    }
}
@media (max-width:768px) {
    .bread ul li {
        gap: 0 2.4vw
    }
}
.bread ul li:not(:last-child):after {
    color: red;
    content: "/";
    font-size: 1.8rem;
    letter-spacing: .03em;
    line-height: 1.44
}
@media (max-width:1399px) {
    .bread ul li:not(:last-child):after {
        font-size: 1.29vw;
        line-height: 1.44
    }
}
@media (max-width:768px) {
    .bread ul li:not(:last-child):after {
        font-size: 3.2vw;
        line-height: 1.46
    }
}
.bread ul li a, .bread ul li span {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.44
}
@media (max-width:1399px) {
    .bread ul li a, .bread ul li span {
        font-size: 1.29vw;
        line-height: 1.44
    }
}
@media (max-width:768px) {
    .bread ul li a, .bread ul li span {
        font-size: 3.2vw;
        line-height: 1.46
    }
}
.bread ul li a {
    color: #9b9b9b;
    text-decoration: underline
}
.bread ul li span {
    color: red
}
.page {
    padding-top: 24px
}
@media (max-width:1399px) {
    .page {
        padding-top: 1.71vw
    }
}
@media (max-width:768px) {
    .page {
        padding-top: 8vw
    }
}
.gray-bg {
    background-color: #444
}
.red-bg {
    background-color: red
}
.toggle-cnt {
    display: none
}
@media (max-width:768px) {
    .container {
        background: url(../img/usual_bg_sp.png);
        background-repeat: no-repeat;
        background-size: 100vw
    }
}
.mainHeader {
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    background: rgba(255,255,255,1);
}
.mainHeader__inner {
    padding: 18px 40px 20px
}
@media (max-width:1399px) {
    .mainHeader__inner {
        padding: 1.29vw 2.86vw 1.43vw
    }
}
@media (max-width:768px) {
    .mainHeader__inner {
        padding: 2.4vw 5.33vw 1.87vw
    }
}
.mainHeader__content {
    align-items: center;
    display: flex;
    max-width: 100%
}
.mainHeader__logo {
    max-width: 220px
}
@media (max-width:1399px) {
    .mainHeader__logo {
        max-width: 15.71vw
    }
}
@media (max-width:768px) {
    .mainHeader__logo {
        max-width: 38.13vw
    }
}
.poppup {
    display: none;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    z-index: 20
}
.poppup, .poppup .inner {
    width: 100%
}
.poppup.is-open {
    display: block
}
.poppup__overlay {
    background: hsla(0, 0%, 100%, .8)
}
.poppup__inner, .poppup__overlay {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}
.poppup__inner {
    align-items: center;
    display: flex;
    justify-content: center
}
.poppup__cnt {
    margin: auto;
    position: relative;
    width: 50%;
    z-index: 2
}
@media (max-width:768px) {
    .poppup__cnt {
        width: 100%
    }
}
.poppup__close {
    cursor: pointer;
    height: 23px;
    position: absolute;
    right: -50px;
    top: -50px;
    width: 40px
}
@media (max-width:768px) {
    .poppup__close {
        height: 6.13vw;
        right: 0;
        top: -13.33vw;
        width: 10.67vw
    }
}
.poppup__close span {
    background-image: linear-gradient(#03abaa, #1d72a6);
    display: block;
    height: 3px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%
}
@media (max-width:768px) {
    .poppup__close span {
        height: .8vw
    }
}
.poppup__close span:first-child {
    rotate: 30deg
}
.poppup__close span:nth-child(2) {
    rotate: -30deg
}
.poppup__iframe {
    aspect-ratio: 16/9
}
.poppup__iframe iframe {
    height: 100%;
    width: 100%
}
.topPage {
    /*margin-top: 56px;*/
    overflow: hidden;
    margin-top: 0px;
}
.topPage__menu {
    position: fixed;
    right: 0;
    top: 107px;
    width: 50px;
    z-index: 1
}
@media (max-width:1399px) {
    .topPage__menu {
        top: 7.64vw;
        width: 3.57vw
    }
}
@media (max-width:768px) {
    .topPage__menu {
        right: 0;
        top: 17.6vw;
        width: 11.2vw
    }
}
.topPage__menu--item {
    background: linear-gradient(180deg, #03abaa, #389bd1)
}
.topPage__menu--item a {
    box-shadow: 18px 0 26px rgba(32, 111, 153, .75);
    color: #fff;
    display: block;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
    padding: 21px 18px 45px;
    position: relative;
    writing-mode: vertical-lr
}
@media (max-width:1399px) {
    .topPage__menu--item a {
        font-size: 1.14vw;
        line-height: 1;
        padding: 1.5vw 1.29vw 3.21vw
    }
}
@media (max-width:768px) {
    .topPage__menu--item a {
        box-shadow: 2.4vw 0 3.47vw rgba(32, 111, 153, .75);
        font-size: 4vw;
        letter-spacing: .20em;
        line-height: 1;
        padding: 3.2vw 1.86vw 9.066vw
    }
}
.topPage__menu--item a.icon {
    background: url(../img/icon_search.png);
    background-position: center bottom 10px;
    background-repeat: no-repeat;
    background-size: 21px 27px
}
@media (max-width:1399px) {
    .topPage__menu--item a.icon {
        background-position: center bottom .71vw;
        background-size: 1.5vw 1.93vw
    }
}
@media (max-width:768px) {
    .topPage__menu--item a.icon {
        background-position: bottom 2.67vw center;
        background-repeat: no-repeat;
        background-size: 5.86vw
    }
}

@media (max-width:768px) {
    .topPage__menu--item span{
        display: block;
        margin-right: 1.066vw;
        font-size: 2.4vw;
        line-height: 1;
        letter-spacing: 0.10em;
    }
}


.topPage__main {
    background: url(../img/BG.png);
    background-repeat: no-repeat;
    background-size: 100% 1022px;
    position: relative;
    z-index: 0
}
@media (max-width:768px) {
    .topPage__main {
        background: url(../img/BG.png);
        background-repeat: no-repeat;
        background-size: 100vw;
    }
}
.topPage__main__image {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: absolute;
    right: 50%;
    top: 0;
    transform: translate(50%);
    width: 1200px;
    z-index: -1
}
@media (max-width:1399px) {
    .topPage__main__image {
        width: 85.71vw
    }
}
@media (max-width:768px) {
    .topPage__main__image {
        display: block;
        width: 100%;
        z-index: -1
    }
}
.topPage__main__image--item:first-child {
    margin: 22px 0 0 auto;
    max-width: 320px
}
@media (max-width:1399px) {
    .topPage__main__image--item:first-child {
        margin: 1.57vw 0 0 auto;
        max-width: 22.86vw
    }
}
@media (max-width:768px) {
    .topPage__main__image--item:first-child {
        margin: 0 0 0 auto;
        max-width: 48.8vw
    }
}
.topPage__main__image--item:nth-child(2) {
    margin-top: -345px;
    max-width: 319px
}
@media (max-width:1399px) {
    .topPage__main__image--item:nth-child(2) {
        margin-top: -24.64vw;
        max-width: 22.79vw
    }
}
@media (max-width:768px) {
    .topPage__main__image--item:nth-child(2) {
        margin-top: 11.33vw;
        max-width: 42.67vw
    }
}
.topPage__main__image--item.img-right {
    opacity: 0;
    transform: translateX(200px);
    transition: all 2s ease
}
.topPage__main__image--item.img-right.img-show {
    opacity: 1;
    transform: translateX(0)
}
.topPage__main__image--item.img-left {
    opacity: 0;
    transform: translateX(-200px);
    transition: all 2s ease
}
.topPage__main__image--item.img-left.img-show {
    opacity: 1;
    transform: translateX(0)
}
.topPage__main__bubble {
    height: 100%;
    left: 50%;
    margin: auto;
    position: absolute;
    top: 0;
    transform: translate(-50%);
    width: 1200px;
    z-index: -1
}
@media (max-width:1399px) {
    .topPage__main__bubble {
        width: 85.71vw
    }
}
@media (max-width:768px) {
    .topPage__main__bubble {
        width: 100%;
    }
}
.topPage__main__bubble--item {
    opacity: 0;
    transition: opacity .6s ease
}
.topPage__main__bubble--item.bubble-show {
    opacity: 1
}
.topPage__main__bubble--item:first-child {
    left: 850px;
    max-width: 58px;
    position: absolute;
    top: 38px
}
@media (max-width:1399px) {
    .topPage__main__bubble--item:first-child {
        left: 60.71vw;
        max-width: 4.14vw;
        top: 2.71vw
    }
}
@media (max-width:768px) {
    .topPage__main__bubble--item:first-child {
        left: 43.47vw;
        max-width: 12.8vw;
        top: 12vw;
    }
}
.topPage__main__bubble--item:nth-child(2) {
    left: 788px;
    max-width: 128px;
    position: absolute;
    top: 100px
}
@media (max-width:1399px) {
    .topPage__main__bubble--item:nth-child(2) {
        left: 56.29vw;
        max-width: 9.14vw;
        top: 7.14vw
    }
}
@media (max-width:768px) {
    .topPage__main__bubble--item:nth-child(2) {
        left: 9.07vw;
        max-width: 28.13vw;
        top: 13.53vw;
        transform: rotate(26deg);
    }
}
.topPage__main__bubble--item:nth-child(3) {
    left: 1087px;
    max-width: 70px;
    position: absolute;
    top: 100px
}
@media (max-width:1399px) {
    .topPage__main__bubble--item:nth-child(3) {
        left: 77.64vw;
        max-width: 5vw;
        top: 7.14vw
    }
}
@media (max-width:768px) {
    .topPage__main__bubble--item:nth-child(3) {
        left: 32.53vw;
        max-width: 14.8vw;
        top: 26.47vw;
        transform: rotate(-26deg);
    }
}
.topPage__main__bubble--item:nth-child(4) {
    left: 243px;
    max-width: 117px;
    position: absolute;
    top: 85px
}
@media (max-width:1399px) {
    .topPage__main__bubble--item:nth-child(4) {
        left: 17.36vw;
        max-width: 8.36vw;
        top: 6.07vw
    }
}
@media (max-width:768px) {
    .topPage__main__bubble--item:nth-child(4) {
        left: 33vw;
        max-width: 21.87vw;
        top: 96.73vw;
        transform: rotate(336deg);
    }
}
.topPage__main__bubble--item:nth-child(5) {
    left: 254px;
    max-width: 118px;
    position: absolute;
    top: 281px
}
@media (max-width:1399px) {
    .topPage__main__bubble--item:nth-child(5) {
        left: 18.14vw;
        max-width: 8.43vw;
        top: 20.07vw
    }
}
@media (max-width:768px) {
    .topPage__main__bubble--item:nth-child(5) {
        left: 34.2vw;
        max-width: 21.87vw;
        top: 113.27vw;
    }
}
.topPage__main__bubble--item:nth-child(6) {
    left: 218px;
    max-width: 86px;
    position: absolute;
    top: 344px
}
@media (max-width:1399px) {
    .topPage__main__bubble--item:nth-child(6) {
        left: 15.57vw;
        max-width: 6.14vw;
        top: 24.57vw
    }
}
@media (max-width:768px) {
    .topPage__main__bubble--item:nth-child(6) {
        left: 19.07vw;
        max-width: 16.93vw;
        top: 122.33vw;
    }
}
.topPage__main__read {
    margin: auto;
    max-width: 1000px;
    padding: 119px 0 60px
}
@media (max-width:1399px) {
    .topPage__main__read {
        margin: auto;
        max-width: 71.43vw;
        padding: 8.5vw 0 4.29vw
    }
}
@media (max-width:768px) {
    .topPage__main__read {
        margin: auto;
        max-width: 90.13vw;
        padding: 36.8vw 0 5.6vw
    }
}
.topPage__main__read.pc {
    display: block
}
@media (max-width:1399px) {
    .topPage__main__read.pc {
        display: block
    }
}
@media (max-width:768px) {
    .topPage__main__read.pc {
        display: none
    }
}
.topPage__main__read.sp {
    display: none
}
@media (max-width:1399px) {
    .topPage__main__read.sp {
        display: none
    }
}
@media (max-width:768px) {
    .topPage__main__read.sp {
        display: block
    }
}
.topPage__main__read--item {
    display: table;
    margin: auto
}
@media (max-width:768px) {
    .topPage__main__read--item {
        margin: 0 0 0 4vw;
        max-width: 74.67vw;
        padding: 1.33vw 4vw 1.6vw
    }
}
.topPage__main__read--item:first-child {
    margin-bottom: 15px
}
@media (max-width:1399px) {
    .topPage__main__read--item:first-child {
        margin-bottom: 1.07vw
    }
}
@media (max-width:768px) {
    .topPage__main__read--item:first-child {
        margin-bottom: 0
    }
}
.topPage__main__read--item:first-child .topPage__main__read--image {
    max-width: 272px;
    padding: 8px 16px 11px
}
@media (max-width:1399px) {
    .topPage__main__read--item:first-child .topPage__main__read--image {
        max-width: 19.43vw;
        padding: .57vw 1.14vw .79vw
    }
}
@media (max-width:768px) {
    .topPage__main__read--item:first-child .topPage__main__read--image {
        max-width: 66.67vw;
        padding: 0
    }
}
.topPage__main__read--item:nth-child(2) {
    margin: 0 0 0 208px;
    padding: 9px 22px 10px
}
@media (max-width:1399px) {
    .topPage__main__read--item:nth-child(2) {
        margin: 0 0 0 14.86vw;
        padding: .64vw 1.57vw .71vw
    }
}
@media (max-width:768px) {
    .topPage__main__read--item:nth-child(2) {
        margin: 0 0 0 4vw;
        padding: 1.33vw 4.27vw 1.6vw 4vw
    }
}
.topPage__main__read--item:nth-child(2) .topPage__main__read--image {
    filter: blur(5px);
    max-width: 481px;
    opacity: 0;
    position: relative;
    transition: filter .6s ease, opacity .6s ease
}
.topPage__main__read--item:nth-child(2) .topPage__main__read--image.unblur {
    filter: blur(0);
    opacity: 1
}
.topPage__main__read--item:nth-child(2) .topPage__main__read--image.unblur span {
    transform: scaleX(1)
}
@media (max-width:1399px) {
    .topPage__main__read--item:nth-child(2) .topPage__main__read--image {
        max-width: 34.36vw
    }
}
@media (max-width:768px) {
    .topPage__main__read--item:nth-child(2) .topPage__main__read--image {
        max-width: 65.87vw
    }
}
.topPage__main__read--item:nth-child(2) .topPage__main__read--image span {
    bottom: -22px;
    left: 0;
    position: absolute;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .6s ease, opacity .6s ease
}
@media (max-width:1399px) {
    .topPage__main__read--item:nth-child(2) .topPage__main__read--image span {
        bottom: -1.57vw
    }
}
@media (max-width:768px) {
    .topPage__main__read--item:nth-child(2) .topPage__main__read--image span {
        bottom: -2vw
    }
}
.topPage__main__read--item:nth-child(2) .topPage__main__read--image span.active {
    transform: scaleX(1);
    width: 100%
}
@media (max-width:768px) {
    .topPage__main__read--item:nth-child(3) .topPage__main__read--image {
        filter: blur(5px);
        max-width: 48.53vw;
        opacity: 0;
        position: relative;
        transition: filter .6s ease, opacity .6s ease
    }
    .topPage__main__read--item:nth-child(3) .topPage__main__read--image.unblur {
        filter: blur(0);
        opacity: 1
    }
    .topPage__main__read--item:nth-child(3) .topPage__main__read--image.unblur span {
        transform: scaleX(1)
    }
    .topPage__main__read--item:nth-child(3) .topPage__main__read--image span {
        bottom: -15px;
        left: 0;
        max-width: 53.33vw;
        position: absolute;
        transform: scaleX(0);
        transform-origin: left;
        transition: transform .6s ease, opacity .6s ease
    }
    .topPage__main__read--item:nth-child(3) .topPage__main__read--image span.active {
        transform: scaleX(1)
    }
}
@media (max-width:768px) and (max-width:1399px) {
    .topPage__main__read--item:nth-child(3) .topPage__main__read--image span {
        bottom: -1.07vw
    }
}
@media (max-width:768px) and (max-width:768px) {
    .topPage__main__read--item:nth-child(3) .topPage__main__read--image span {
        bottom: -2vw
    }
}
.topPage__main__read--item:last-child {
    background: transparent;
    margin: -35px 0 0 505px
}
@media (max-width:1399px) {
    .topPage__main__read--item:last-child {
        margin: -2.5vw 0 0 36.07vw;
        max-width: 71.43vw
    }
}
@media (max-width:768px) {
    .topPage__main__read--item:last-child {
        margin: -10.4vw 0 0 26.13vw;
        max-width: 62.13vw;
        padding: 0
    }
}
.topPage__main__read--item:last-child .topPage__main__read--image {
    max-width: 301px;
    opacity: 1
}
@media (max-width:1399px) {
    .topPage__main__read--item:last-child .topPage__main__read--image {
        max-width: 21.5vw
    }
}
@media (max-width:768px) {
    .topPage__main__read--item:last-child .topPage__main__read--image {
        max-width: 62.13vw
    }
}
.topPage__main__text {
    margin: auto;
    text-align: center;
    width: 100%
}
@media (max-width:768px) {
    .topPage__main__text {
        margin-left: auto;
        margin-right: 6.67vw;
        width: 24vw
    }
}
.topPage__main__text--item {
    color: #444;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.67;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__main__text--item {
        font-size: 1.29vw;
        line-height: 1.67
    }
}
@media (max-width:768px) {
    .topPage__main__text--item {
        font-size: 4vw;
        letter-spacing: .01em;
        line-height: 1.67;
        text-align: left;
        writing-mode: vertical-rl
    }
}
.topPage__main__scroll {
    left: 50%;
    position: absolute;
    top: 453px;
    transform: translate(-50%)
}
@media (max-width:1399px) {
    .topPage__main__scroll {
        top: 32.36vw
    }
}
@media (max-width:768px) {
    .topPage__main__scroll {
        top: 139.47vw
    }
}
.topPage__main__scroll--text {
    max-width: 67px
}
.topPage__main__scroll--text img {
  animation: scrollUpDown 2s ease-in-out infinite;
}

@keyframes scrollUpDown {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px); /* 下へ少し移動（調整可能） */
  }
}
@media (max-width:1399px) {
    .topPage__main__scroll--text {
        max-width: 4.79vw
    }
}
@media (max-width:768px) {
    .topPage__main__scroll--text {
        max-width: 20.8vw
    }
}
.topPage__main__affect {
    background: #fff;
    margin: 120px auto 0;
    max-width: 1000px;
    padding: 19px 30px 25px
}
@media (max-width:1399px) {
    .topPage__main__affect {
        margin: 8.57vw auto 0;
        padding: 1.36vw 0vw 1.79vw;
    }
}
.topPage__main__affect__heading {
    text-align: center
}
.topPage__main__affect__heading--read {
    color: #0193cb;
    font-size: 2.5rem;
    font-weight: 700;
    letter-spacing: .01em;
    line-height: 1.8
}
@media (max-width:1399px) {
    .topPage__main__affect__heading--read {
        font-size: 1.79vw;
        line-height: 1.8
    }
}
@media (max-width:768px) {
    .topPage__main__affect__heading--read {
        font-size: 4.27vw;
        line-height: 2.19
    }
}
.topPage__main__affect__heading--read span.orange {
    background: radial-gradient(circle, #0193cb 50%, transparent 0);
    background-position: bottom;
    background-repeat: repeat-x;
    background-size: 6px 4px;
    color: #fc854b;
    padding-bottom: 8px
}
@media (max-width:1399px) {
    .topPage__main__affect__heading--read span.orange {
        background-size: .43vw .29vw;
        padding-bottom: .57vw
    }
}
@media (max-width:768px) {
    .topPage__main__affect__heading--read span.orange {
        background-position: 0 7.47vw;
        background-size: 1.07vw .67vw;
        padding-bottom: 3.47vw
    }
}
.topPage__main__affect__heading--read span.mini {
    font-size: 2rem;
    letter-spacing: .01em;
    line-height: 2.25
}
@media (max-width:1399px) {
    .topPage__main__affect__heading--read span.mini {
        font-size: 1.43vw;
        line-height: 2.25
    }
}
@media (max-width:768px) {
    .topPage__main__affect__heading--read span.mini {
        font-size: 3.2vw;
        line-height: 2.92
    }
}
@media (max-width:1399px) {
    .topPage__main__affect__read {
        margin-top: 2.36vw
    }
}
@media (max-width:768px) {
    .topPage__main__affect__read {
        background: url(../img/affect_bg.png);
        background-repeat: no-repeat;
        background-size: 100%;
        padding: 4vw 2vw;
        text-align: center;
    }
}
.topPage__main__affect__read--inner {
    background: #FFF;
    margin: 3vw;
}
.topPage__main__affect__read--image {
    /*max-width: 212px*/
}
@media (max-width:1399px) {
    .topPage__main__affect__read--image {
        /*max-width: 15.14vw*/
    }
}
@media (max-width:768px) {
    .topPage__main__affect__read--image {
        /*border-radius: 24vw;
        box-shadow: 9px 0 20px rgba(46, 130, 139, .19);
        max-width: 34.67vw*/
    }
}
.topPage__main__affect__read--text {
    margin-left: 42px
}
@media (max-width:1399px) {
    .topPage__main__affect__read--text {
        margin-left: 3vw
    }
}
@media (max-width:768px) {
    .topPage__main__affect__read--text {
        margin-left: 2.67vw
    }
}
.topPage__main__affect__read--graph {
    max-width: 329px
}
@media (max-width:1399px) {
    .topPage__main__affect__read--graph {
        max-width: 23.5vw
    }
}
@media (max-width:768px) {
    .topPage__main__affect__read--graph {
        max-width: 41.33vw
    }
}
.topPage__main__affect__read--detail {
    display: block;
    font-family: Noto Sans JP, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    letter-spacing: .03em;
    line-height: 1.4;
    margin-top: 26px
}
@media (max-width:1399px) {
    .topPage__main__affect__read--detail {
        font-size: .71vw;
        line-height: 1.4;
        margin-top: 1.86vw
    }
}
@media (max-width:768px) {
    .topPage__main__affect__read--detail {
        display: none
    }
}
.topPage__main__affect__read--note {
    display: block;
    font-family: Noto Sans JP, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    letter-spacing: .03em;
    line-height: 1.4;
    margin-top: 20px
}
@media (max-width:1399px) {
    .topPage__main__affect__read--note {
        font-size: 2.2vw;
        line-height: 1.4;
        margin-top: 1.43vw;
        padding: 5vw;
    }
}
.topPage__main__affect__detail {
    display: none
}
@media (max-width:768px) {
    .topPage__main__affect__detail {
        display: block;
        font-family: Noto Sans JP, sans-serif;
        font-style: normal;
        font-weight: 400;
        margin-top: 6.4vw;
        text-align: left
    }
}
.topPage__main__affect__detail--read {
    display: none
}
@media (max-width:768px) {
    .topPage__main__affect__detail--read {
        display: block;
        font-size: 2.67vw;
        font-weight: 400;
        letter-spacing: .03em;
        line-height: 1.4
    }
}
.topPage__main__affect__detail--note {
    display: none
}
@media (max-width:768px) {
    .topPage__main__affect__detail--note {
        display: block;
        font-size: 2.67vw;
        font-weight: 400;
        letter-spacing: .03em;
        line-height: 1.4;
        margin-top: 4vw;
        padding-left: 2em;
        text-indent: -1.5em
    }
}
.topPage__about__inner {
    padding: 50px 100px 80px
}
@media (max-width:1399px) {
    .topPage__about__inner {
        padding: 3.57vw 7.14vw 5.71vw
    }
}
@media (max-width:768px) {
    .topPage__about__inner {
        padding: 2.93vw 0;
    }
}
.topPage__about__content {
    margin: auto;
    max-width: 1100px
}
.topPage__about__date {
    display: flex
}
@media (max-width:768px) {
    .topPage__about__date {
        display: block
    }
}
.topPage__about__date--image {
    max-width: 538px
}
@media (max-width:1399px) {
    .topPage__about__date--image {
        max-width: 38.43vw
    }
}
@media (max-width:768px) {
    .topPage__about__date--image {
        margin: auto;
        max-width: 90.13vw
    }
}
.topPage__about__date--ttl {
    color: #0193cb;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.65;
    margin-bottom: 16px;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__about__date--ttl {
        font-size: 1.43vw;
        line-height: 1.65;
        margin-bottom: 1.14vw
    }
}
@media (max-width:768px) {
    .topPage__about__date--ttl {
        font-size: 4.27vw;
        line-height: 1.69;
        margin-bottom: 3.73vw;
        font-weight: bold;
    }
}
.topPage__about__date--text {
    color: #27aebc;
    font-size: 3.2rem;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.13;
    margin-bottom: 71px;
    position: relative;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__about__date--text {
        font-size: 2.29vw;
        line-height: 1.13;
        margin-bottom: 5.07vw
    }
}
@media (max-width:768px) {
    .topPage__about__date--text {
        font-size: 6.4vw;
        line-height: 1.13;
        margin-bottom: 10.4vw
    }
}
.topPage__about__date--text span {
    font-size: 3.8rem;
    letter-spacing: .01em;
    line-height: .95
}
@media (max-width:1399px) {
    .topPage__about__date--text span {
        font-size: 2.71vw;
        line-height: .95
    }
}
@media (max-width:768px) {
    .topPage__about__date--text span {
        font-size: 7.73vw;
        line-height: .93
    }
}
.topPage__about__date--text:before {
    background: url(../img/dateline.png);
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    height: 7px;
    left: 50%;
    position: absolute;
    top: 52px;
    transform: translate(-50%);
    width: 332px
}
@media (max-width:1399px) {
    .topPage__about__date--text:before {
        height: .5vw;
        top: 3.71vw;
        width: 23.71vw
    }
}
@media (max-width:768px) {
    .topPage__about__date--text:before {
        height: 1.33vw;
        top: 10.13vw;
        width: 65.6vw
    }
}
.topPage__about__date--year {
    max-width: 565px
}
.topPage__about__date--year img {
    margin-bottom: 30px;
}
.topPage__about__date--year .woman_img {
    margin-bottom: 0px;
}
.add01_03_sp {
    width: 64vw;
    margin-left: 20px;
}
.add01_04_sp {
    width: 77vw;
    margin-left: 33px;
    margin-top: 20px;
}
.add01_05_sp {
    width: 55vw;
}
@media (max-width:1399px) {
    .topPage__about__date--year {
        max-width: 40.36vw
    }
}
@media (max-width:768px) {
    .topPage__about__date--year {
        margin: auto;
        max-width: 96vw
    }
}
.topPage__about__problem {
    margin-top: 78px;
    position: relative
}
@media (max-width:768px) {
    .topPage__about__problem {
        margin-top: 15.2vw
    }
}
.topPage__about__problem:after {
  background: url(../img/arrow_green.png);
  background-repeat: no-repeat;
  background-size: 100%;
  content: "";
  height: 24px;
  left: 50%;
  position: absolute;
  top: -78px;
  transform: translateX(-50%);
  width: 36px;

  /* ▼ 追加：アニメーション設定 */
  animation: arrowMove 1.8s ease-in-out infinite;
}

@keyframes arrowMove {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(8px); /* 下へ少し移動 */
  }
}
@media (max-width:1399px) {
    .topPage__about__problem:after {
        height: 1.71vw;
        top: -5.57vw;
        width: 2.57vw
    }
}
@media (max-width:768px) {
    .topPage__about__problem:after {
        height: 6.4vw;
        top: -12.53vw;
        width: 9.6vw
    }
}
.topPage__about__problem--ttl {
    color: #0193cb;
    font-size: 2.8rem;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.68;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__about__problem--ttl {
        font-size: 2vw;
        line-height: 1.68
    }
}
@media (max-width:768px) {
    .topPage__about__problem--ttl {
        font-size: 4.27vw;
        line-height: 1.69
    }
}
.topPage__about__problem--ttl span {
    background: radial-gradient(circle, #0193cb 50%, transparent 0);
    background-position: 0 50px;
    background-repeat: repeat-x;
    background-size: 6px 4px;
    padding-bottom: 16px;
    border-bottom: 3px dotted;
}
@media (max-width:768px) {
    .topPage__about__problem--ttl {
        background-position: 0 7.2vw;
        background-size: 1.07vw .67vw;
        padding: 0 3.2vw 1.6vw
    }
}
.topPage__about__problem--image {
    margin: 62px auto 0;
    max-width: 1102px
}
@media (max-width:1399px) {
    .topPage__about__problem--image {
        margin: 4.43vw auto 0;
        max-width: 78.71vw
    }
}
@media (max-width:768px) {
    .topPage__about__problem--image {
        margin: 8.8vw auto 0;
        max-width: 84vw
    }
}
.topPage__about__problem__read {
    color: #444;
    margin: -125px 0 0;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__about__problem__read {
        margin: -8.93vw 0 0
    }
}
@media (max-width:768px) {
    .topPage__about__problem__read {
        color: #444;
        margin: -8.8vw 0 0 16vw;
        text-align: left
    }
}
.topPage__about__problem__read--other {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.72
}
@media (max-width:1399px) {
    .topPage__about__problem__read--other {
        font-size: 1.29vw;
        line-height: 1.72
    }
}
@media (max-width:768px) {
    .topPage__about__problem__read--other {
        font-size: 4.27vw;
        line-height: 1.69
    }
}
.topPage__about__problem__read--text {
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.72;
    margin-top: 18px
}
@media (max-width:1399px) {
    .topPage__about__problem__read--text {
        font-size: 1.29vw;
        line-height: 1.72;
        margin-top: 1.29vw
    }
}
@media (max-width:768px) {
    .topPage__about__problem__read--text {
        font-size: 4.27vw;
        line-height: 1.69;
        margin-top: 4.53vw
    }
}
.topPage__spend {
    background-repeat: no-repeat;
    background-size: 100% 1290px
}
@media (max-width:1399px) {
    .topPage__spend {
        background-size: auto 100%
    }
}
@media (max-width:768px) {
    .topPage__spend {
        background: url(../img/usual_bg_sp.png);
        background-repeat: no-repeat;
        background-size: 100vw
    }
}
.topPage__spend__inner {
    padding: 106px 100px 150px
}
@media (max-width:1399px) {
    .topPage__spend__inner {
        padding: 7.57vw 7.14vw 10.71vw
    }
}
@media (max-width:768px) {
    .topPage__spend__inner {
        padding: 16.13vw 0 27.67vw;
    }
}
.topPage__spend__content {
    margin: auto;
    max-width: 1000px
}
.topPage__spend__usual__heading--ttl {
    margin: auto;
    max-width: 580px
}
@media (max-width:1399px) {
    .topPage__spend__usual__heading--ttl {
        max-width: 41.43vw
    }
}
@media (max-width:768px) {
    .topPage__spend__usual__heading--ttl {
        max-width: 61.2vw;
    }
}
.topPage__spend__usual__read {
    display: flex;
    position: relative;
    text-align: center
}
@media (max-width:768px) {
    .topPage__spend__usual__read {
        display: block;
    }
}
.topPage__spend__usual__read--text {
    color: #444;
    font-size: 1.9rem;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.63;
    margin: 44px 0 0 70px;
    position: relative
}
@media (max-width:1399px) {
    .topPage__spend__usual__read--text {
        font-size: 1.36vw;
        line-height: 1.63
    }
}
@media (max-width:768px) {
    .topPage__spend__usual__read--text {
        background: url(../img/usual_txt_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        font-size: 4.27vw;
        line-height: 2.39;
        margin: 0 20px;
        padding: 0 6vw 9vw;
        position: relative;
        top: 49px;
    }
}
.topPage__spend__usual__read--text.pc {
    display: block
}
@media (max-width:768px) {
    .topPage__spend__usual__read--text.pc {
        display: none
    }
}
.topPage__spend__usual__read--text.sp {
    display: none
}
@media (max-width:768px) {
    .topPage__spend__usual__read--text.sp {
        display: block
    }
}
.topPage__spend__usual__read--text:after {
    background: url(/assets/img/usualbubble.png);
    background-repeat: no-repeat;
    background-size: 100% auto;
    content: "";
    height: 136px;
    position: absolute;
    right: -40px;
    top: 20px;
    width: 422px
}
.topPage__spend__usual__read--image::after {
    background: url(../img/arrow_white.png);
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    height: 24px;
    left: 50%;
    position: absolute;
    bottom: -54px;
    transform: translateX(-50%);
    width: 36px;
    animation: arrowMove 1.8s ease-in-out infinite;
}
@media (max-width:1399px) {
    .topPage__spend__usual__read--text:after {
        height: 9.71vw;
        right: -2.86vw;
        top: 1.43vw;
        width: 30.14vw
    }
}
@media (max-width:768px) {
    .topPage__spend__usual__read--text:after {
        background: url(/assets/img/usualbubble_sp.png);
        background-size: 100% auto;
        content: "";
        height: 29.07vw;
        right: 9.6vw;
        top: 6.67vw;
        width: 82.4vw
    }
}
.topPage__spend__usual__read--image {
    margin-left: 22px;
    max-width: 460px
}
@media (max-width:1399px) {
    .topPage__spend__usual__read--image {
        margin-left: 1.57vw;
        max-width: 32.86vw
    }
}
@media (max-width:768px) {
    .topPage__spend__usual__read--image {
        margin: 7.2vw auto 0;
        max-width: 89.33vw
    }
}
.topPage__spend__problem {
    margin-top: 94px;
    position: relative
}
@media (max-width:1399px) {
    .topPage__spend__problem {
        margin-top: 6.71vw
    }
}
@media (max-width:768px) {
    .topPage__spend__problem {
        margin-top: 22.4vw
    }
}
.topPage__spend__problem:after {
    background: url(/assets/img/arrow_white.png);
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    height: 23px;
    left: 50%;
    position: absolute;
    top: -57px;
    transform: translate(-50%);
    width: 36px
}
@media (max-width:1399px) {
    .topPage__spend__problem:after {
        height: 1.64vw;
        top: -4.07vw;
        width: 2.57vw
    }
}
@media (max-width:768px) {
    .topPage__spend__problem:after {
        height: 6.4vw;
        top: -13.87vw;
        width: 9.6vw
    }
}
.topPage__spend__problem--ttl {
    margin: 0 0 0 48px;
    max-width: 524px
}
@media (max-width:1399px) {
    .topPage__spend__problem--ttl {
        margin: 0 0 0 3.43vw;
        max-width: 37.43vw
    }
}
@media (max-width:768px) {
    .topPage__spend__problem--ttl {
        margin: 0 auto 3vw;
        max-width: 64vw
    }
}
.topPage__spend__consult__heading {
    display: flex;
    margin: -8px 0 0 330px
}
@media (max-width:1399px) {
    .topPage__spend__consult__heading {
        margin: -.57vw 0 0 23.57vw
    }
}
@media (max-width:768px) {
    .topPage__spend__consult__heading {
        display: block;
        margin: 0
    }
}
.topPage__spend__consult__heading--ttl {
    max-width: 500px
}
@media (max-width:1399px) {
    .topPage__spend__consult__heading--ttl {
        max-width: 35.71vw
    }
}
@media (max-width:768px) {
    .topPage__spend__consult__heading--ttl {
        margin: 9.33vw auto 0;
        max-width: 84vw
    }
}
.topPage__spend__consult__heading--text {
    color: #0193cb;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1;
    margin-top: 35px;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__spend__consult__heading--text {
        font-size: 1.29vw;
        line-height: 1;
        margin-top: 2.5vw
    }
}
@media (max-width:768px) {
    .topPage__spend__consult__heading--text {
        font-size: 4.27vw;
        line-height: 1;
        margin-top: 0
    }
}
.topPage__spend__consult__read {
    margin: 17px 190px 0 215px;
    position: relative
}
@media (max-width:1399px) {
    .topPage__spend__consult__read {
        margin: 1.21vw 13.57vw 0 15.36vw
    }
}
@media (max-width:768px) {
    .topPage__spend__consult__read {
        margin: 0;
    }
}
.topPage__spend__consult__read--text02 {
    color: #444;
    font-size: 1.9rem;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.63;
    position: absolute;
    top: 32px
}
.topPage__spend__consult__read--img02{
    width: 38vw;
    position: relative;
    top: 24px;
}
@media (max-width:1399px) {
    .topPage__spend__consult__read--text01 {
        font-size: 1.36vw;
        line-height: 1.63;
        top: 2.29vw
    }
    .topPage__spend__consult__read--text02 {
        font-size: 1.36vw;
        line-height: 1.63;
        top: 2.29vw
    }
}
@media (max-width:768px) {
    .topPage__spend__consult__read--text01 {
        background: url(../img/spend_consult_sp.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: left;
        font-size: 3.9vw;
        font-weight: bold;
        left: 53px;
        line-height: 1.69;
        top: 2.07vw;
        padding: 3vw 5vw 8vw;
        position: relative;
    }
    .topPage__spend__consult__read--text02 {
        background: url(../img/add02_02.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        font-weight: bold;
        font-size: 3.9vw;
        left: 31.33vw;
        line-height: 1.69;
        top: 7.07vw;
        padding: 3vw 5vw 8vw;
    }
}
.topPage__spend__consult__read--text:after {
    background: url(/assets/img/consultbubble.png);
    background-size: 100% auto;
    content: "";
    height: 150px;
    position: absolute;
    right: -43px;
    top: -13px;
    width: 285px
}
@media (max-width:1399px) {
    .topPage__spend__consult__read--text:after {
        height: 10.71vw;
        right: -3.07vw;
        top: -.93vw;
        width: 20.36vw
    }
}
@media (max-width:768px) {
    .topPage__spend__consult__read--text:after {
        background-repeat: no-repeat;
        background-size: 100% auto;
        height: 33.87vw;
        left: -6.67vw;
        top: -2.67vw;
        width: 64.53vw
    }
}
.topPage__spend__consult__read--image {
    margin-left: 160px;
    max-width: 434px
}
@media (max-width:1399px) {
    .topPage__spend__consult__read--image {
        margin-left: 11.43vw;
        max-width: 31vw
    }
}
@media (max-width:768px) {
    .topPage__spend__consult__read--image {
        margin: 0 0 0 auto;
        max-width: 63.47vw
    }
}
.topPage__survey__inner {
    padding: 50px 100px 64px
}
@media (max-width:1399px) {
    .topPage__survey__inner {
        padding: 3.57vw 7.14vw 4.57vw
    }
}
@media (max-width:768px) {
    .topPage__survey__inner {
        padding: 0 5.33vw 1.33vw;
    }
}
.topPage__survey__content {
    margin: auto;
    max-width: 1000px
}
.topPage__survey__heading--ttl {
    border: 2px solid #03abaa;
    color: #03abaa;
    font-size: 2.1rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1;
    margin: auto;
    max-width: 159px;
    padding: 9px 0 10px;
    position: relative;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__survey__heading--ttl {
        font-size: 1.5vw;
        line-height: 1;
        max-width: 11.36vw;
        padding: .64vw 0 .71vw
    }
}
@media (max-width:768px) {
    .topPage__survey__heading--ttl {
        font-size: 4.27vw;
        line-height: 1;
        max-width: 31.2vw;
        padding: 1.33vw 0 1.87vw;
        position: relative;
        top: 30px;
        left: -60px;
    }
}
.topPage__survey__heading--ttl span {
    position: absolute;
    right: -24px;
    top: -20px;
    width: 46px
}
@media (max-width:1399px) {
    .topPage__survey__heading--ttl span {
        right: -1.71vw;
        top: -1.43vw;
        width: 3.29vw
    }
}
@media (max-width:768px) {
    .topPage__survey__heading--ttl span {
        right: -5.33vw;
        top: -5.33vw;
        width: 9.33vw
    }
}
.topPage__survey__heading--text-top {
    color: #0193cb;
    font-size: 6vw;
    font-weight: bold;
    letter-spacing: .03em;
    line-height: 1.6;
    margin-top: 12px;
    margin-bottom: 30px;
    text-align: center;
}
.topPage__survey__heading--text {
    color: #0193cb;
    font-size: 2.2rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 2;
    margin-top: 12px;
    text-align: center
}
.topPage__survey__heading--text span:after {
    background: url(/assets/img/survey_line.png);
    background-size: 100% auto;
    content: "";
    height: 29.07vw;
    right: 9.6vw;
    top: 6.67vw;
    width: 82.4vw;
}
@media (max-width:1399px) {
    .topPage__survey__heading--text {
        font-size: 1.57vw;
        line-height: 2;
        margin-top: .86vw
    }
}
@media (max-width:768px) {
    .topPage__survey__heading--text {
        line-height: 2.06;
        margin: 5vw 0 5.67vw;
        text-align: right;
        margin-right: 9vw;
    }
}
.topPage__survey__heading--text-top span {
    background: radial-gradient(circle, #03abaa 50%, transparent 0);
    background-position: bottom;
    background-repeat: repeat-x;
    background-size: 6px 4px;
    padding: 0 0 8px;
}
@media (max-width:1399px) {
    .topPage__survey__heading--text span {
        background-size: .43vw .29vw;
        padding: 0 0 .57vw
    }
}
@media (max-width:768px) {
    .topPage__survey__heading--text span {
        background-position: 0 7.2vw;
        background-size: 1.07vw .67vw;
        padding: 0 0 1.87vw;
        font-size: 5vw;
        line-height: 1.4;
        font-weight: bold;
    }
}
.topPage__survey__read {
    display: flex;
    justify-content: center;
    margin-top: 33px
}
@media (max-width:1399px) {
    .topPage__survey__read {
        margin-top: 2.36vw
    }
}
@media (max-width:768px) {
    .topPage__survey__read {
        display: block;
        margin-top: 0
    }
}
.topPage__survey__read--ttl {
    margin: 69px 63px 0 0;
    max-width: 329px
}
@media (max-width:1399px) {
    .topPage__survey__read--ttl {
        margin: 4.93vw 4.5vw 0 0;
        max-width: 23.5vw
    }
}
@media (max-width:768px) {
    .topPage__survey__read--ttl {
        margin: 4.53vw auto 0;
        max-width: 65.33vw
    }
}
.topPage__survey__read--image {
    max-width: 283px
}
@media (max-width:1399px) {
    .topPage__survey__read--image {
        max-width: 20.21vw
    }
}
@media (max-width:768px) {
    .topPage__survey__read--image {
        margin: 3.47vw auto 0;
        max-width: 56.8vw
    }
}
.topPage__survey__note {
    color: #444;
    font-family: Noto Sans JP, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    letter-spacing: .03em;
    line-height: 1.7;
    margin-top: 27px;
    text-align: right
}
@media (max-width:1399px) {
    .topPage__survey__note {
        font-size: .71vw;
        line-height: 1.7;
        margin-top: 1.93vw
    }
}
@media (max-width:768px) {
    .topPage__survey__note {
        color: #444;
        font-size: 2.67vw;
        font-weight: 400;
        letter-spacing: .03em;
        line-height: 1.7;
        margin-top: 3.73vw;
        text-align: center
    }
}
.topPage__merit {
    background: url(/assets/img/merit_bg.jpg);
    background-repeat: no-repeat;
    background-size: 100% 2641px
}
@media (max-width:1399px) {
    .topPage__merit {
        background-size: 100%
    }
}
@media (max-width:768px) {
    .topPage__merit {
        background: url(../img/merit_bg_sp.png);
        background-repeat: no-repeat;
        background-size: 100% auto;
        background-position: 0 -6.5vw;
    }
}
.topPage__merit__inner {
    padding: 60px 100px 72px
}
@media (max-width:1399px) {
    .topPage__merit__inner {
        padding: 4.29vw 7.14vw 5.14vw
    }
}
@media (max-width:768px) {
    .topPage__merit__inner {
        padding: 7vw 4.67vw 16.27vw;
    }
}
.topPage__merit__content {
    margin: auto;
    max-width: 1100px
}
.topPage__merit__heading--ttl {
    margin: auto;
    max-width: 281px
}
@media (max-width:1399px) {
    .topPage__merit__heading--ttl {
        max-width: 20.07vw
    }
}
@media (max-width:768px) {
    .topPage__merit__heading--ttl {
        max-width: 74.93vw
    }
}
.topPage__merit__read {
    margin-top: 61px
}
@media (max-width:1399px) {
    .topPage__merit__read {
        margin-top: 4.36vw
    }
}
@media (max-width:768px) {
    .topPage__merit__read {
        margin-top: 11.2vw
    }
}
.topPage__merit__read--text {
    margin: auto;
    max-width: 117px
}
@media (max-width:1399px) {
    .topPage__merit__read--text {
        max-width: 8.36vw
    }
}
@media (max-width:768px) {
    .topPage__merit__read--text {
        max-width: 31.2vw
    }
}
.topPage__merit__point {
    display: flex;
    flex-wrap: wrap;
    gap: 0 42px;
    justify-content: center
}
@media (max-width:1399px) {
    .topPage__merit__point {
        gap: 0 3vw
    }
}
@media (max-width:768px) {
    .topPage__merit__point {
        display: block
    }
}
.topPage__merit__point--item {
    width: 30%
}
.topPage__merit__point--item:last-child {
    display: block;
    width: 100%
}
@media (max-width:768px) {
    .topPage__merit__point--item {
        width: 100%
    }
    .topPage__merit__point--item:last-child {
        display: none
    }
}
.topPage__merit__causes {
    position: relative
}
.topPage__merit__causes:before {
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 65px;
    left: 7px;
    position: absolute;
    top: 31px;
    width: 69px
}
@media (max-width:1399px) {
    .topPage__merit__causes:before {
        height: 4.64vw;
        left: .5vw;
        top: 2.21vw;
        width: 4.93vw
    }
}
.topPage__merit__causes:after {
    background: url(/assets/img/point01img.png);
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 51px;
    position: absolute;
    right: -4px;
    top: 48px;
    width: 53px
}
@media (max-width:1399px) {
    .topPage__merit__causes:after {
        height: 3.64vw;
        right: -.29vw;
        top: 3.43vw;
        width: 3.79vw
    }
}
@media (max-width:768px) {
    .topPage__merit__causes:before {
        background: url(/assets/img/point01ttl.png);
        background-repeat: no-repeat;
        background-size: 100%;
        content: "";
        height: 17.33vw;
        left: 0;
        position: absolute;
        top: 1.87vw;
        width: 18.4vw
    }
    .topPage__merit__causes:after {
        background: url(/assets/img/point01img.png);
        background-size: 100%;
        content: "";
        height: 13.6vw;
        position: absolute;
        right: 2.67vw;
        top: 2.67vw;
        width: 14.13vw
    }
}
.topPage__merit__causes__heading {
    text-align: center;
    background-image: url(../img/Point1.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding-top: 20px;
    height: 98px;
}
.topPage__merit__causes__heading--text {
    color: #0193cb;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.83
}
@media (max-width:1399px) {
    .topPage__merit__causes__heading--text {
        font-size: 1.29vw;
        line-height: 1.83
    }
}
@media (max-width:768px) {
    .topPage__merit__causes__heading--text {
        font-size: 5.066vw;
        line-height: 1.83;
        position: relative;
        top: 4vw
    }
}
.topPage__merit__causes__heading--text span {
    font-size: 2.3rem;
    letter-spacing: .03em;
    line-height: 1.43
}
@media (max-width:1399px) {
    .topPage__merit__causes__heading--text span {
        font-size: 1.64vw;
        line-height: 1.43
    }
}
@media (max-width:768px) {
    .topPage__merit__causes__heading--text span {
        font-size: 6.66vw;
        line-height: 1.43
    }
}
.topPage__merit__causes__field {
    margin-top: 30px
}
@media (max-width:1399px) {
    .topPage__merit__causes__field {
        margin-top: 2.14vw
    }
}
@media (max-width:768px) {
    .topPage__merit__causes__field {
        margin-top: 3.47vw
    }
}
.topPage__merit__causes__field--image {
    box-shadow: 7px 0 18px rgba(44, 113, 149, .29);
    max-width: 380px
}
@media (max-width:1399px) {
    .topPage__merit__causes__field--image {
        max-width: 27.14vw
    }
}
@media (max-width:768px) {
    .topPage__merit__causes__field--image {
        max-width: 89.33vw
    }
}
.topPage__merit__causes__read {
    margin-top: 25px;
    text-align: left
}
@media (max-width:1399px) {
    .topPage__merit__causes__read {
        margin-top: 1.79vw
    }
}
@media (max-width:768px) {
    .topPage__merit__causes__read {
        margin-top: 5.33vw
    }
}
.topPage__merit__causes__read--text {
    color: #444;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.69
}
@media (max-width:1399px) {
    .topPage__merit__causes__read--text {
        font-size: 1.14vw;
        line-height: 1.69
    }
}
@media (max-width:768px) {
    .topPage__merit__causes__read--text {
        font-size: 4.27vw;
        line-height: 1.69
    }
}
.topPage__merit__causes__read--text span {
    color: #f53281
}
.topPage__merit__cure {
    position: relative
}
.topPage__merit__cure:before {
    background: url(/assets/img/point02ttl.png);
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 63px;
    left: 7px;
    position: absolute;
    top: -60px;
    width: 77px
}
@media (max-width:1399px) {
    .topPage__merit__cure:before {
        height: 4.5vw;
        left: .5vw;
        top: -4.29vw;
        width: 5.5vw
    }
}
.topPage__merit__cure:after {
    background: url(/assets/img/point02img.png);
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 56px;
    position: absolute;
    right: -4px;
    top: -51px;
    width: 48px
}
@media (max-width:1399px) {
    .topPage__merit__cure:after {
        height: 4vw;
        right: -.29vw;
        top: -3.64vw;
        width: 3.43vw
    }
}
@media (max-width:768px) {
    .topPage__merit__cure:before {
        background: url(/assets/img/point02ttl.png);
        background-size: 100%;
        content: "";
        height: 16.8vw;
        left: 0;
        position: absolute;
        top: -9.07vw;
        width: 20.53vw
    }
    .topPage__merit__cure:after {
        background: url(/assets/img/point02img.png);
        background-repeat: no-repeat;
        background-size: 100%;
        content: "";
        height: 14.93vw;
        position: absolute;
        right: 1.6vw;
        top: -4.8vw;
        width: 12.53vw
    }
}
.topPage__merit__cure__heading {
    text-align: center;
    background-image: url(../img/Point2.png);
    background-size: cover;
    background-repeat: no-repeat;
    height: 169px;
    padding-top: 51px;
    position: relative;
    top: 52px;
}

@media (max-width:768px) {
    .topPage__merit__cure__heading {
        text-align: center;
        background-image: url(../img/Point2.png);
        background-size: 92.66vw 41.06vw;
        background-repeat: no-repeat;
        height: 45.06vw;
        padding-top: 13.6vw;
        position: relative;
        top: 13.86vw;
    }
}





.topPage__merit__cure__heading--text {
    color: #0193cb;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.83
}
@media (max-width:1399px) {
    .topPage__merit__cure__heading--text {
        font-size: 1.29vw;
        line-height: 1.83
    }
}
@media (max-width:768px) {
    .topPage__merit__cure__heading--text {
        font-size: 5.33vw;
        line-height: 2.1;
        text-align: right;
        padding: 2.4vw 0.8vw;
        position: relative;
    }
}
.topPage__merit__cure__heading--text span.sono2_txt {
    font-size: 5.5vw;
    position: relative;
    left: 0;
}




.topPage__merit__cure__heading--text span {
    font-size: 2.3rem;
    letter-spacing: .03em;
    line-height: 1.43
}
@media (max-width:1399px) {
    .topPage__merit__cure__heading--text span {
        font-size: 1.64vw;
        line-height: 1.43
    }
}
@media (max-width:768px) {
    .topPage__merit__cure__heading--text span {
        font-size: 6.66vw;
        line-height: 1.43
    }
}
.topPage__merit__cure__field {
    margin-top: 30px
}
@media (max-width:1399px) {
    .topPage__merit__cure__field {
        margin-top: 2.14vw
    }
}
@media (max-width:768px) {
    .topPage__merit__cure__field {
        margin-top: 3.73vw
    }
}
.topPage__merit__cure__field--image {
    box-shadow: 7px 0 18px rgba(44, 113, 149, .29);
    max-width: 380px
}
@media (max-width:1399px) {
    .topPage__merit__cure__field--image {
        max-width: 27.14vw
    }
}
@media (max-width:768px) {
    .topPage__merit__cure__field--image {
        max-width: 100%
    }
}
.topPage__merit__cure__read {
    margin-top: 25px;
    text-align: left
}
@media (max-width:1399px) {
    .topPage__merit__cure__read {
        margin-top: 1.79vw
    }
}
@media (max-width:768px) {
    .topPage__merit__cure__read {
        margin-top: 6.4vw
    }
}
.topPage__merit__cure__read--text {
    color: #444;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.69
}
@media (max-width:1399px) {
    .topPage__merit__cure__read--text {
        font-size: 1.14vw;
        line-height: 1.69
    }
}
@media (max-width:768px) {
    .topPage__merit__cure__read--text {
        font-size: 4.27vw;
        line-height: 1.69
    }
}
.topPage__merit__cure__read--text span {
    color: #f53281
}
.topPage__merit__cure__banner {
    margin-top: 42px
}
@media (max-width:1399px) {
    .topPage__merit__cure__banner {
        margin-top: 3vw
    }
}
@media (max-width:768px) {
    .topPage__merit__cure__banner {
        margin-top: 10.13vw
    }
}
.topPage__merit__cure__banner--ttl {
    color: #444;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1;
    margin-bottom: 25px;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__merit__cure__banner--ttl {
        font-size: 1vw;
        line-height: 1;
        margin-bottom: 1.79vw
    }
}
@media (max-width:768px) {
    .topPage__merit__cure__banner--ttl {
        font-size: 3.73vw;
        line-height: 1;
        margin-bottom: 2.4vw;
    }
}
.topPage__merit__cure__banner--image {
    max-width: 335px
}
@media (max-width:1399px) {
    .topPage__merit__cure__banner--image {
        max-width: 23.93vw
    }
}
@media (max-width:768px) {
    .topPage__merit__cure__banner--image {
        max-width: 89.33vw
    }
}
.topPage__merit__consult {
    position: relative
}
.topPage__merit__consult:before {
    background: url(/assets/img/point03ttl.png);
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 67px;
    left: -10px;
    position: absolute;
    top: -39px;
    width: 71px
}
@media (max-width:1399px) {
    .topPage__merit__consult:before {
        height: 4.79vw;
        left: -.71vw;
        top: -2.79vw;
        width: 5.07vw
    }
}
.topPage__merit__consult:after {
    background: url(/assets/img/point03img.png);
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 56px;
    position: absolute;
    right: -4px;
    top: -27px;
    width: 47px
}
@media (max-width:1399px) {
    .topPage__merit__consult:after {
        height: 4vw;
        right: -.29vw;
        top: -1.93vw;
        width: 3.36vw
    }
}
@media (max-width:768px) {
    .topPage__merit__consult:before {
        height: 17.87vw;
        left: 0;
        top: -11.73vw;
        width: 18.4vw
    }
    .topPage__merit__consult:after, .topPage__merit__consult:before {
        background-repeat: no-repeat;
        background-size: 100%;
        content: "";
        position: absolute
    }
    .topPage__merit__consult:after {
        height: 14.93vw;
        right: 0;
        top: -9.87vw;
        width: 12.27vw
    }
}
.topPage__merit__consult__heading {
    text-align: center;
    background-image: url(../img/Point3.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding-top: 50px;
    position: relative;
    top: 77px;
}
.topPage__merit__consult__heading--text {
    color: #0193cb;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.83
}
@media (max-width:1399px) {
    .topPage__merit__consult__heading--text {
        font-size: 1.29vw;
        line-height: 1.83
    }
}
@media (max-width:768px) {
    .topPage__merit__consult__heading--text {
        font-size: 5.5vw;
        line-height: 1.83;
        position: relative;
        top: -31px;
    }
}
.topPage__merit__consult__heading--text span {
    font-size: 2.3rem;
    letter-spacing: .03em;
    line-height: 1.43
}
@media (max-width:1399px) {
    .topPage__merit__consult__heading--text span {
        font-size: 1.64vw;
        line-height: 1.43
    }
}
@media (max-width:768px) {
    .topPage__merit__consult__heading--text span {
        font-size: 7.13vw;
        line-height: 1.53;
    }
}
.topPage__merit__consult__field {
    margin-top: 19px
}
@media (max-width:768px) {
    .topPage__merit__consult__field {
        margin-top: 4.27vw
    }
}
.topPage__merit__consult__field--image {
    box-shadow: 7px 0 18px rgba(44, 113, 149, .29);
    max-width: 380px
}
@media (max-width:768px) {
    .topPage__merit__consult__field--image {
        max-width: 89.33vw
    }
}
.topPage__merit__consult__read {
    margin-top: 25px;
    text-align: left
}
@media (max-width:768px) {
    .topPage__merit__consult__read {
        margin-top: 5.87vw
    }
}
.topPage__merit__consult__read--text {
    color: #444;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.69
}
@media (max-width:1399px) {
    .topPage__merit__consult__read--text {
        font-size: 1.14vw;
        line-height: 1.69
    }
}
@media (max-width:768px) {
    .topPage__merit__consult__read--text {
        font-size: 4.27vw;
        line-height: 1.69
    }
}
.topPage__merit__consult__read--text span {
    color: #f53281
}
.topPage__merit__consult__example {
    margin-top: 40px
}
@media (max-width:768px) {
    .topPage__merit__consult__example {
        margin-top: 7.2vw
    }
}
.topPage__merit__consult__example__heading {
    text-align: center
}
.topPage__merit__consult__example__heading--ttl {
    color: #0193cb;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .13em;
    line-height: 1
}
@media (max-width:1399px) {
    .topPage__merit__consult__example__heading--ttl {
        font-size: 1.14vw;
        line-height: 1
    }
}
@media (max-width:768px) {
    .topPage__merit__consult__example__heading--ttl {
        font-size: 4.8vw;
        line-height: 1
    }
}
.topPage__merit__consult__example__read {
    display: none
}
@media (max-width:768px) {
    .topPage__merit__consult__example__read {
        display: block;
        margin-top: 1.87vw;
        text-align: center
    }
    .topPage__merit__consult__example__read--text {
        color: #444;
        font-size: 4.27vw;
        font-weight: bold;
        letter-spacing: .01em;
        line-height: 1.69;
        background: url(../img/read_gb.png);
        background-repeat: no-repeat;
        background-size: 100%;
    }
}
.topPage__merit__consult__example__link {
    display: none
}
@media (max-width:768px) {
    .topPage__merit__consult__example__link {
        display: block;
        margin-top: 22.67vw;
        position: relative
    }
    .topPage__merit__consult__example__link:before {
        background: url(../img/arrow_green.png);
        background-repeat: no-repeat;
        background-size: 100%;
        content: "";
        height: 6.4vw;
        left: 50%;
        position: absolute;
        top: -17.87vw;
        transform: translate(-50%);
        width: 9.6vw;
        /* ▼ 追加：アニメーション設定 */
        animation: arrowMove 1.8s ease-in-out infinite;
      }
      @keyframes arrowMove {
        0%, 100% {
          transform: translateX(-50%) translateY(0);
        }
        50% {
          transform: translateX(-50%) translateY(8px); /* 下へ少し移動 */
        }
      }
    .topPage__merit__consult__example__link a {
        align-items: center;
        background: linear-gradient(90deg, #03abaa, #389bd1);
        box-shadow: 9px 0 13px rgba(53, 137, 182, .46);
        color: #fff;
        display: flex;
        font-weight: 400;
        justify-content: center
    }
    .topPage__merit__consult__example__link a span {
        background: url(../img/icon_search.png);
        background-repeat: no-repeat;
        background-size: 100%;
        display: block;
        height: 6.93vw;
        margin: 1.33vw 0 0 5.33vw;
        width: 4.8vw
    }
}
@media (max-width:768px) and (max-width:768px) {
    .topPage__merit__consult__example__link a {
        font-size: 4.27vw;
        background: none;
        box-shadow: none;
        height: 14.13vw;
        line-height: 1
    }
}
.topPage__merit__contact {
    margin-top: 15px
}
@media (max-width:1399px) {
    .topPage__merit__contact {
        margin-top: 1.07vw
    }
}
.topPage__merit__contact__heading {
    text-align: center
}
.topPage__merit__contact__heading--ttl {
    color: #0193cb;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .13em;
    line-height: 1
}
@media (max-width:1399px) {
    .topPage__merit__contact__heading--ttl {
        font-size: 1.14vw;
        line-height: 1
    }
}
.topPage__merit__contact__read {
    text-align: center
}
.topPage__merit__contact__read--text {
    color: #444;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.72
}
@media (max-width:1399px) {
    .topPage__merit__contact__read--text {
        font-size: 1.29vw;
        line-height: 1.72
    }
}
.topPage__merit__contact__read--link {
    display: block;
    margin: 95px auto 0;
    max-width: 475px;
    position: relative
}
@media (max-width:1399px) {
    .topPage__merit__contact__read--link {
        margin: 6.79vw auto 0;
        max-width: 33.93vw
    }
}
@media (max-width:768px) {
    .topPage__merit__contact__read--link {
        display: none
    }
}
.topPage__merit__contact__read--link:before {
    background: url(/assets/img/arrow_green.png);
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    height: 24px;
    left: 50%;
    position: absolute;
    top: -57px;
    transform: translate(-50%);
    width: 36px
}
.topPage__merit__contact__read--link a {
    align-items: center;
    background: linear-gradient(90deg, #03abaa, #389bd1);
    box-shadow: 9px 0 13px rgba(53, 137, 182, .46);
    color: #fff;
    display: flex;
    font-size: 1.8rem;
    font-weight: 400;
    height: 74px;
    justify-content: center;
    letter-spacing: .01em;
    line-height: 1;
    position: relative
}
@media (max-width:1399px) {
    .topPage__merit__contact__read--link a {
        font-size: 1.29vw;
        line-height: 1
    }
}
.topPage__merit__contact__read--link a span {
    background: url(/assets/img/icon_search.png);
    background-repeat: no-repeat;
    background-size: 100%;
    box-shadow: 9px 0 13px rgba(53, 137, 182, .46);
    display: block;
    height: 32px;
    position: absolute;
    right: 35px;
    width: 25px
}
.topPage__faq {
    background: #b2e9e9;
    background: #e7f4fa url(/assets/img/faq_bg.png);
    background-repeat: no-repeat;
    background-size: 100%
}
@media (max-width:768px) {
    .topPage__faq {
        background: #e7f4fa url(../img/faq_bg_sp.png);
        background-size: 100vw
    }
}
.topPage__faq__inner {
    padding: 45px 100px 123px
}
@media (max-width:1399px) {
    .topPage__faq__inner {
        padding: 3.21vw 7.14vw 8.79vw
    }
}
@media (max-width:768px) {
    .topPage__faq__inner {
        padding: 10.67vw 5.33vw 13.87vw
    }
}
.topPage__faq__content {
    max-width: 100%
}
.topPage__faq__heading {
    margin: auto;
    max-width: 275px;
    position: relative;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__faq__heading {
        max-width: 19.64vw
    }
}
@media (max-width:768px) {
    .topPage__faq__heading {
        max-width: 100%
    }
}
.topPage__faq__heading:before {
    background: url(/assets/img/question.png);
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    height: 95px;
    left: -48px;
    position: absolute;
    top: 25px;
    width: 67px
}
@media (max-width:1399px) {
    .topPage__faq__heading:before {
        height: 6.79vw;
        left: -3.43vw;
        top: 1.79vw;
        width: 4.79vw
    }
}
@media (max-width:768px) {
    .topPage__faq__heading:before {
        height: 22.27vw;
        left: 5.33vw;
        top: 4.27vw;
        width: 15.6vw
    }
}
.topPage__faq__heading:after {
    background: url(/assets/img/answer.png);
    background-repeat: no-repeat;
    background-size: 100%;
    content: "";
    height: 95px;
    position: absolute;
    right: -47px;
    top: 25px;
    width: 67px
}
@media (max-width:1399px) {
    .topPage__faq__heading:after {
        height: 6.79vw;
        right: -3.36vw;
        top: 1.79vw;
        width: 4.79vw
    }
}
@media (max-width:768px) {
    .topPage__faq__heading:after {
        height: 22.27vw;
        right: 5.33vw;
        top: 4.27vw;
        width: 15.6vw
    }
}
.topPage__faq__heading--ttl {
    color: #444;
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.65;
    padding-top: 1.6vw
}
@media (max-width:1399px) {
    .topPage__faq__heading--ttl {
        font-size: 1.43vw;
        line-height: 1.65
    }
}
@media (max-width:768px) {
    .topPage__faq__heading--ttl {
        font-size: 5.33vw;
        line-height: 1.65
    }
}
.topPage__faq__heading--ttl span {
    background: radial-gradient(circle, #fff 50%, transparent 0);
    background-position: 0 33px;
    background-repeat: repeat-x;
    background-size: 6px 4px;
    padding: 0 5px 8px
}
@media (max-width:1399px) {
    .topPage__faq__heading--ttl span {
        background-position: 0 2.36vw;
        background-size: .43vw .29vw;
        padding: 0 .36vw .57vw
    }
}
@media (max-width:768px) {
    .topPage__faq__heading--ttl span {
        background-position: 0 8.53vw;
        background-size: 1.07vw .67vw;
        padding: 0 3.2vw 1.33vw
    }
}
.topPage__faq__heading--text {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.4;
    margin-top: 10px;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__faq__heading--text {
        font-size: 1.43vw;
        line-height: 1.4;
        margin-top: .71vw
    }
}
@media (max-width:768px) {
    .topPage__faq__heading--text {
        font-size: 5.33vw;
        line-height: 1.65;
        margin-top: 2.67vw
    }
}
.topPage__faq__heading--text span:first-child {
    color: #3b9bd3;
    font-size: 3.4rem;
    line-height: 1
}
@media (max-width:1399px) {
    .topPage__faq__heading--text span:first-child {
        font-size: 2.43vw;
        line-height: 1
    }
}
@media (max-width:768px) {
    .topPage__faq__heading--text span:first-child {
        font-size: 9.07vw;
        line-height: 1
    }
}
.topPage__faq__heading--text span:last-child {
    color: #f665a4;
    font-size: 3.4rem;
    line-height: 1
}
@media (max-width:1399px) {
    .topPage__faq__heading--text span:last-child {
        font-size: 2.43vw;
        line-height: 1
    }
}
@media (max-width:768px) {
    .topPage__faq__heading--text span:last-child {
        font-size: 9.07vw;
        line-height: 1
    }
}
.topPage__faq__read {
    margin-top: 10px
}
@media (max-width:1399px) {
    .topPage__faq__read {
        margin-top: .71vw
    }
}
@media (max-width:768px) {
    .topPage__faq__read {
        margin-top: 2.93vw
    }
}
.topPage__faq__read--item {
    background: #fff;
    border-radius: 15px;
    margin: 0 auto 20px;
    max-width: 1000px;
    padding: 3px
}
@media (max-width:1399px) {
    .topPage__faq__read--item {
        border-radius: 1.07vw;
        margin: .71vw auto 1.43vw;
        padding: .21vw
    }
}
@media (max-width:768px) {
    .topPage__faq__read--item {
        border-radius: 2.67vw;
        margin-bottom: 1.87vw;
        max-width: 100%;
        padding: 1.33vw
    }
}
.topPage__faq__read--item:last-child {
    margin-bottom: 0
}
.topPage__faq__question {
    background: #daeef3;
    border-radius: 12px;
    padding: 6px 23px 12px
}
@media (max-width:1399px) {
    .topPage__faq__question {
        border-radius: .86vw
    }
}
@media (max-width:768px) {
    .topPage__faq__question {
        border-radius: 1.87vw;
        padding: 1.47vw 5.33vw 1.6vw 2vw
    }
}
.topPage__faq__question__heading {
    align-items: center;
    background: url(../img/icon_open.png);
    background-position: 100% 50%;
    background-repeat: no-repeat;
    background-size: 23px 13px;
    cursor: pointer;
    display: flex
}
@media (max-width:768px) {
    .topPage__faq__question__heading {
        background-size: 6.4vw
    }
}
.topPage__faq__question__heading--icon {
    color: #0193cb;
    font-size: 3.2rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1;
    margin-right: 12px
}
@media (max-width:1399px) {
    .topPage__faq__question__heading--icon {
        font-size: 2.29vw;
        line-height: 1;
        margin-right: .86vw
    }
}
@media (max-width:768px) {
    .topPage__faq__question__heading--icon {
        font-size: 9.07vw;
        line-height: 1;
        margin-right: 2.67vw
    }
}
.topPage__faq__question__heading--text {
    color: #0193cb;
    font-size: 1.7rem;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.29
}
@media (max-width:1399px) {
    .topPage__faq__question__heading--text {
        font-size: 1.21vw;
        line-height: 1.29
    }
}
@media (max-width:768px) {
    .topPage__faq__question__heading--text {
        font-size: 4.27vw;
        letter-spacing: 0;
        line-height: 1.38;
        padding-right: 8vw;
        width: 100%
    }
}
.topPage__faq__question__heading.is-open {
    background: url(../img/icon_close.png);
    background-position: 100% 50%;
    background-repeat: no-repeat;
    background-size: 23px 13px
}
@media (max-width:768px) {
    .topPage__faq__question__heading.is-open {
        background-size: 6.4vw
    }
}
.topPage__faq__answer {
    display: none;
    padding: 17px 23px 24px
}
@media (max-width:1399px) {
    .topPage__faq__answer {
        padding: 1.21vw 1.64vw 1.71vw
    }
}
@media (max-width:768px) {
    .topPage__faq__answer {
        padding: 3.47vw 2vw 1.6vw
    }
}
.topPage__faq__answer.is-open {
    display: block
}
.topPage__faq__answer__read {
    display: table
}
.topPage__faq__answer__read--icon {
    color: #f665a4;
    float: left;
    font-size: 3.2rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1;
    margin-right: 12px
}
@media (max-width:1399px) {
    .topPage__faq__answer__read--icon {
        font-size: 2.29vw;
        line-height: 1;
        margin-right: .86vw
    }
}
@media (max-width:768px) {
    .topPage__faq__answer__read--icon {
        font-size: 9.07vw;
        letter-spacing: .03em;
        line-height: 1;
        margin-right: 2.67vw
    }
}
.topPage__faq__answer__read--text {
    color: #444;
    display: table-cell;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.5;
    vertical-align: top
}
@media (max-width:1399px) {
    .topPage__faq__answer__read--text {
        font-size: 1.14vw;
        line-height: 1.5
    }
}
@media (max-width:768px) {
    .topPage__faq__answer__read--text {
        font-size: 4.27vw;
        letter-spacing: 0;
        line-height: 1.5
    }
}
.topPage__faq__answer__read--text span {
    display: block;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 2;
    margin-top: 4px
}
@media (max-width:1399px) {
    .topPage__faq__answer__read--text span {
        font-size: .86vw;
        line-height: 2;
        margin-top: .29vw
    }
}
@media (max-width:768px) {
    .topPage__faq__answer__read--text span {
        font-size: 3.2vw;
        line-height: 1.83;
        margin-top: 1.07vw
    }
}
.topPage__faq__answer__movie {
    margin-top: 24px;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__faq__answer__movie {
        margin-top: 1.71vw
    }
}
@media (max-width:768px) {
    .topPage__faq__answer__movie {
        margin-top: 5.87vw
    }
}
.topPage__faq__answer__movie__heading--ttl {
    color: #0193cb;
    font-size: 1.5rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.4
}
@media (max-width:1399px) {
    .topPage__faq__answer__movie__heading--ttl {
        font-size: 1.07vw;
        line-height: 1.4
    }
}
@media (max-width:768px) {
    .topPage__faq__answer__movie__heading--ttl {
        font-size: 4vw;
        line-height: 1.4
    }
}
.topPage__faq__answer__movie__channel {
    margin-top: 11px
}
@media (max-width:1399px) {
    .topPage__faq__answer__movie__channel {
        margin-top: .79vw
    }
}
@media (max-width:768px) {
    .topPage__faq__answer__movie__channel {
        margin-top: 3.47vw
    }
}
.topPage__faq__answer__movie__channel--ttl {
    color: #444;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .07em;
    line-height: 1.36;
    margin-bottom: 15px;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__faq__answer__movie__channel--ttl {
        font-size: 1vw;
        line-height: 1.36;
        margin-bottom: 1.07vw
    }
}
@media (max-width:768px) {
    .topPage__faq__answer__movie__channel--ttl {
        font-size: 3.73vw;
        letter-spacing: .03em;
        line-height: 1.71;
        margin-bottom: 2.13vw
    }
}
.topPage__faq__answer__movie__channel--image {
    margin: auto;
    max-width: 415px;
    overflow: hidden
}
@media (max-width:1399px) {
    .topPage__faq__answer__movie__channel--image {
        max-width: 29.64vw
    }
}
@media (max-width:768px) {
    .topPage__faq__answer__movie__channel--image {
        max-width: 78.67vw
    }
}
.topPage__faq__answer__movie__channel--image a {
    transition: scale .3s ease
}
.topPage__faq__answer__movie__channel--image a:hover {
    opacity: .8;
    scale: 1.1;
    transition: scale .3s ease
}
.topPage__faq__answer--note {
    color: #444;
    font-family: Noto Sans JP, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    letter-spacing: .01em;
    line-height: 1.7;
    margin-top: 24px;
    text-align: right
}
@media (max-width:1399px) {
    .topPage__faq__answer--note {
        font-size: .71vw;
        line-height: 1.7;
        margin-top: 1.71vw
    }
}
@media (max-width:768px) {
    .topPage__faq__answer--note {
        font-size: 2.67vw;
        line-height: 1.7;
        margin-top: 3.2vw
    }
}
.topPage__info {
    background: #fff
}
.topPage__info__inner {
    padding: 70px 100px 123px
}
@media (max-width:1399px) {
    .topPage__info__inner {
        padding: 5vw 7.14vw 8.79vw
    }
}
@media (max-width:768px) {
    .topPage__info__inner {
        padding: 0 5.33vw 0.87vw;
    }
}
.topPage__info__content {
    max-width: 100%
}
.topPage__info__search {
    margin: auto;
    max-width: 475px
}
@media (max-width:1399px) {
    .topPage__info__search {
        max-width: 33.93vw
    }
}
@media (max-width:768px) {
    .topPage__info__search {
        max-width: 78.67vw
    }
}
.topPage__info__search--text a {
    align-items: center;
    background: linear-gradient(90deg, #03abaa, #389bd1);
    box-shadow: 9px 0 13px rgba(53, 137, 182, .46);
    color: #fff;
    display: flex;
    font-size: 2.2rem;
    font-weight: 400;
    height: 74px;
    justify-content: center;
    line-height: 1;
    position: relative
}
@media (max-width:1399px) {
    .topPage__info__search--text a {
        font-size: 1.57vw;
        line-height: 1
    }
}
@media (max-width:768px) {
    .topPage__info__search--text a {
        font-size: 4.27vw;
        height: 14.13vw;
        line-height: 1
    }
}
.topPage__info__search--text a span {
    background: url(../img/icon_search.png);
    background-repeat: no-repeat;
    background-size: 100%;
    display: block;
    height: 32px;
    position: absolute;
    right: 35px;
    width: 25px
}
@media (max-width:1399px) {
    .topPage__info__search--text a span {
        height: 2.29vw;
        width: 1.79vw
    }
}
@media (max-width:768px) {
    .topPage__info__search--text a span {
        background-size: 100%;
        height: 6.93vw;
        right: 6.13vw;
        top: 4.53vw;
        width: 4.8vw
    }
}
.topPage__info__banner {
    margin-top: 83px
}
.topPage__info__banner--column {
    display: flex;
    flex-flow: row;
    justify-content: space-evenly;
    margin-top: 1.867vw;
}
@media (max-width:1399px) {
    .topPage__info__banner {
        margin-top: 5.93vw
    }
}
@media (max-width:768px) {
    .topPage__info__banner {
        margin-top: 10.4vw;
        color: #0193cb;
        font-size: 4vw;
        font-weight: bold;
        line-height: 1.5;
        margin-bottom: 10px;
    }
}
.topPage__info__banner--item {
    margin: auto;
    max-width: 475px;
    position: relative
}
@media (max-width:1399px) {
    .topPage__info__banner--item {
        max-width: 33.93vw
    }
}
@media (max-width:768px) {
    .topPage__info__banner--item {
        max-width: 100%;
    }
}
.topPage__info__banner--link {
    left: 22px;
    max-width: 205px;
    position: absolute;
    top: 96px
}
@media (max-width:1399px) {
    .topPage__info__banner--link {
        left: 1.57vw;
        max-width: 14.64vw;
        top: 6.86vw
    }
}
@media (max-width:768px) {
    .topPage__info__banner--link {
        left: 3.2vw;
        max-width: 38.93vw;
        top: 17.6vw
    }
}
.topPage__info__check {
    margin-top: 122px
}
@media (max-width:1399px) {
    .topPage__info__check {
        margin-top: 8.71vw
    }
}
@media (max-width:768px) {
    .topPage__info__check {
        margin-top: 14.67vw
    }
}
.topPage__info__check__heading {
    margin: auto;
    max-width: 125px;
    position: relative
}
@media (max-width:1399px) {
    .topPage__info__check__heading {
        max-width: 8.93vw
    }
}
@media (max-width:768px) {
    .topPage__info__check__heading {
        max-width: 27.73vw
    }
}
.topPage__info__check__heading--item:first-child {
    left: -95px;
    position: absolute;
    top: -30px;
    width: 81px
}
@media (max-width:1399px) {
    .topPage__info__check__heading--item:first-child {
        left: -6.79vw;
        top: -2.14vw;
        width: 5.79vw
    }
}
@media (max-width:768px) {
    .topPage__info__check__heading--item:first-child {
        left: -19.73vw;
        top: -5.87vw;
        width: 17.87vw
    }
}
.topPage__info__check__heading--item:nth-child(3) {
    position: absolute;
    right: -53px;
    top: -27px;
    width: 53px
}
@media (max-width:1399px) {
    .topPage__info__check__heading--item:nth-child(3) {
        right: -3.79vw;
        top: -1.93vw;
        width: 3.79vw
    }
}
@media (max-width:768px) {
    .topPage__info__check__heading--item:nth-child(3) {
        right: -11.47vw;
        top: -5.87vw;
        width: 11.73vw
    }
}
.topPage__info__check__read {
    margin-top: 19px;
    text-align: center
}
@media (max-width:1399px) {
    .topPage__info__check__read {
        margin-top: 1.36vw
    }
}
@media (max-width:768px) {
    .topPage__info__check__read {
        margin-top: 3.2vw
    }
}
.topPage__info__check__read--text {
    color: #0193cb;
    font-size: 2.2rem;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.59
}
@media (max-width:1399px) {
    .topPage__info__check__read--text {
        font-size: 1.57vw;
        line-height: 1.59
    }
}
@media (max-width:768px) {
    .topPage__info__check__read--text {
        font-size: 4.27vw;
        line-height: 1.56
    }
}
.topPage__info__check__banner {
    display: flex;
    gap: 0 50px;
    justify-content: center;
    margin-top: 40px
}
@media (max-width:1399px) {
    .topPage__info__check__banner {
        gap: 0 3.57vw;
        margin-top: 2.86vw
    }
}
@media (max-width:768px) {
    .topPage__info__check__banner {
        display: block;
        margin-top: 6.4vw
    }
}
.topPage__info__check__banner--item {
    margin-bottom: 0;
    max-width: 475px
}
@media (max-width:1399px) {
    .topPage__info__check__banner--item {
        max-width: 33.93vw
    }
}
@media (max-width:768px) {
    .topPage__info__check__banner--item {
        margin-bottom: 5.87vw;
        max-width: 100%
    }
}
.topPage__info__check__banner--item:last-child {
    margin-bottom: 0
}
.topPage__info__check__banner--ttl {
    color: #444;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.88;
    margin-bottom: 9px;
    text-align: center
}
.topPage__info__check__banner--kanshuu {
    font-weight: normal;
    color: #333;
    font-size: 3.23vw;
    margin: 11vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.topPage__info__check__banner--kanshuu .kan-txst1 {
    background: #fbb8db;
    height: 30px;
    border-radius: 30px;
    text-align: center;
    width: 58px;
    padding: .8vw;
}
@media (max-width:1399px) {
    .topPage__info__check__banner--ttl {
        font-size: 1.14vw;
        line-height: 1.88;
        margin-bottom: .64vw
    }
}
@media (max-width:768px) {
    .topPage__info__check__banner--ttl {
        font-size: 3.73vw;
        line-height: 1.71;
        margin-bottom: 2.13vw;
        text-align: left;
        color: #0193cb;
        font-size: 4vw;
        font-weight: bold;
    }
}
.topPage__info__check__banner--channel {
    max-width: 89.33vw;
    overflow: hidden
}
.topPage__info__check__banner--channel a {
    transition: scale .3s ease
}
.topPage__info__check__banner--channel a:hover {
    opacity: .8;
    scale: 1.1;
    transition: scale .3s ease
}
.topPage__info__check__banner--image a {
    transition: opacity .3s ease;
    will-change: opacity
}
.topPage__info__check__banner--image a:hover {
    opacity: .8
}
.copy {
    background: url(../img/footer-bg.png);
    background-repeat: no-repeat;
    background-size: 100vw;
    height: 30vw;
    padding: 8vw;
    text-align: center;
    font-size: 3.2vw;
    line-height: 1.4;
}
.fadein {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease;
}

.fadein.show {
  opacity: 1;
  transform: translateY(0);
}
/*# sourceMappingURL=style.css.map*/

.affect-graph {
    width: 90%;
    margin: 0 auto;
}

.affect-headline {
    font-size: 4vw;
    font-weight: bold;
    line-height: 1.8;
    color: #fc854b;
    border-bottom: 2px dotted;
    margin: 3vw 3vw 1vw;
}
.affect-headline .blue {
    font-size: 3vw;
}
.affect-headline2 {
  font-size: 4vw;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 20px;
  color: #009fe8
}
.affect-headline span {
    font-size: 5.5vw;
    text-align: center;
}
.affect-headline .blue {
  color: #009fe8;
}

.graph-text .small {
  font-size: 1rem;
}

.graph-text .percent {
  font-size: 2rem;
  color: #fc854b;
  display: block;
  margin: 5px 0;
}

.graph-text .label {
  font-size: 1rem;
  color: #555;
}

.affect-note {
  font-size: 2.7vw;
  font-weight: bold;
  color: #333;
  line-height: 1.2;
  text-align: left;
  max-width: 600px;
  margin: 0 auto;
  padding: 3vw;
}
.top_heading_txt {
  font-size: 4vw;
  position: relative;
  top: 0.6vw;
  left: -2px; 
}

.lightbox {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
}

.lightbox-img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 8px;
  box-shadow: 0 0 20px rgba(255,255,255,0.3);
  animation: fadeIn 0.3s ease;
}

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 30px;
  font-size: 40px;
  color: white;
  cursor: pointer;
  font-weight: bold;
  z-index: 10000;
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
