@charset "UTF-8";
html {
    font-size: 62.5%;
}

body {
    width: 100%;
    margin: 0 auto;
    position: relative;
    overflow: clip;
    color: #00125E;
    word-break: break-all;
    letter-spacing: 0.04em;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-size: 1.6rem;
    line-height: 1.6;
}

.section-block {
    width: 100%;
    padding: 10rem 2.5rem;
    position: relative;
}

.section-block.block-post-single {
    padding-top: 70px;
}

@media (max-width: 833px) {
    .section-block.block-post-single {
        padding-top: 40px;
    }
}

.content {
    width: 1084px;
    max-width: 100%;
    margin: 0 auto;
}

.page-width {
    width: calc(1084px + 5rem);
    max-width: 100%;
    margin: 0 auto;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
}

.w-sm {
    width: 71.6rem;
}

.l-card {
    border-radius: 2.4rem;
}

.l-card.red {
    background-color: #ed3e4e;
    color: #fff;
}

.l-card.blue {
    background-color: #00125E;
    color: #fff;
}

.l-card.blue2 {
    background-color: #93d3df;
    color: #00125E;
}

.l-card.yellow {
    background-color: #f7dd4b;
    color: #00125E;
}

.l-card.white {
    background-color: #fff;
}

a {
    color: #00125E;
    text-decoration: none;
    -webkit-transition: background-color 0.3s ease-out;
    transition: background-color 0.3s ease-out;
}

a:hover {
    cursor: pointer;
}

.link-underline {
    text-decoration: underline;
}

.link-block {
    display: block;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

.pic-shadow {
    -webkit-filter: drop-shadow(1.6rem 1.6rem 4rem rgba(0, 0, 0, 0.1));
    filter: drop-shadow(1.6rem 1.6rem 4rem rgba(0, 0, 0, 0.1));
}

.object {
    position: absolute;
}

.object-parent {
    position: relative;
}

.object_p {
    width: 13.6rem;
    top: -33.3rem;
    right: -5.4rem;
}

.object_k {
    width: 17.2rem;
    top: -167px;
    right: -40px;
}

.object_l {
    width: 13.8rem;
    top: 11.8rem;
    left: 0;
}

.object_x {
    width: 153px;
    right: 0;
    bottom: -60px;
    z-index: 1;
}

.object_c {
    width: 169px;
    top: -80px;
    right: -40px;
    z-index: 2;
    transform: rotate(10deg);
}

.object_m {
    width: 17.4rem;
    top: -2rem;
    left: 20rem;
    z-index: 2;
}

.object_h {
    width: 13.6rem;
    top: -3rem;
    right: -7.8rem;
}

svg {
    vertical-align: bottom;
}

.movie-box {
    width: 100%;
    aspect-ratio: 16/9;
}

.movie-box iframe {
    width: 100%;
    height: 100%;
}

p {
    letter-spacing: 0.1em;
    line-height: 2;
}

p:not(:last-child) {
    margin-bottom: 1.5em;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-bold {
    font-weight: 700;
}

.modal-container {
    width: 100%;
    height: 100%;
    padding: 3.2rem 1.6rem;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    visibility: hidden;
    overflow: auto;
    box-sizing: border-box;
    background: rgba(147, 211, 223, 0.8);
    text-align: center;
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.modal-container:before {
    content: "";
    height: 100%;
    display: inline-block;
    vertical-align: middle;
}

.modal-container.active {
    visibility: visible;
    opacity: 1;
}

.modal-body {
    width: 100%;
    max-width: 80.8rem;
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.modal-content {
    padding: 6.4rem 9.2rem;
    border-radius: 2rem;
    background: #fff;
    text-align: left;
    -webkit-filter: drop-shadow(1.6rem 1.6rem 4rem rgba(0, 0, 0, 0.1));
    filter: drop-shadow(1.6rem 1.6rem 4rem rgba(0, 0, 0, 0.1));
}

.modal-content .title {
    margin-bottom: 1em;
}

.modal-close {
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 2.4rem;
    right: 2.4rem;
    z-index: 2;
    background: url(../../images/icon_close.svg) no-repeat center/contain;
    cursor: pointer;
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.modal-close:hover {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
}

.tabOnly {
    display: none;
}

@media (max-width: 833px) {
    .tabOnly {
        display: inherit;
    }
}

.spOnly {
    display: none;
}

@media (max-width: 833px) {
    .spOnly {
        display: inherit;
    }
}

.headline-01 {
    letter-spacing: 0.08em;
    font-weight: 700;
    font-size: 24px;
    line-height: 1.25;
}

@media (max-width: 833px) {
    .content.-material .headline-01 {
        line-height: 1.8;
    }
}

.headline-02 {
    font-weight: 900;
    font-size: 2.4rem;
}

.headline-03 {
    letter-spacing: 0.08em;
    font-weight: 900;
    line-height: 1.875;
}

.headline-03.-material {
    margin-top: 20px;
    margin-bottom: 60px;
}

@media (max-width: 833px) {
    .headline-03.-material {
        margin-top: 30px;
        margin-bottom: 36px;
        font-size: 16px;
    }
}

.headline-04 {
    margin-bottom: 4.8rem;
    line-height: 1;
}

.headline-04 span {
    display: block;
}

.headline-04 .main {
    font-family: "Jost", sans-serif;
    font-weight: 700;
    font-size: 6.4rem;
}

.headline-04 .label {
    margin-top: 0.8em;
    font-weight: 700;
    font-size: 2.4rem;
}

.pentagon {
    width: var(--w);
    height: var(--h);
    position: relative;

    box-sizing: border-box;
    --w: calc(var(--h) * 1.05);
}

.pentagon::before {
    content: "";
    width: var(--w);
    height: calc(var(--h) * 0.38);
    position: absolute;
    top: 0;
    left: 0;

    box-sizing: border-box;
    border-right: calc(var(--w) * 0.5) solid transparent;
    border-bottom: calc(var(--h) * 0.38) solid #f7dd4b;
    border-left: calc(var(--w) * 0.5) solid transparent;
}

.pentagon::after {
    content: "";
    width: var(--w);
    height: calc(var(--h) * 0.62);
    position: absolute;
    top: calc(var(--h) * 0.38);
    left: 0;
    box-sizing: border-box;
    border-top: calc(var(--h) * 0.62) solid #f7dd4b;
    border-right: calc(var(--w) * 0.19) solid transparent;
    border-left: calc(var(--w) * 0.19) solid transparent;
}

.btn-01 {
    width: 30.8rem;
    min-width: fit-content;
    height: 6.4rem;
    padding-right: 5.4rem;
    padding-left: 2.6rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3.2rem;
    background-color: #f7dd4b;
    color: #00125E;
    letter-spacing: 0;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}


.btn-01.btn-01--blue {
    background-color: #00125E;
    color: #fff;
}

.btn-01::before {
    content: "";
    width: 0.7rem;
    height: 0.7rem;
    position: absolute;
    top: calc(50% - 0.3rem);
    right: 2.9rem;
    z-index: 2;
    display: block;
    border-top: 2px solid #f7dd4b;
    border-right: 2px solid #f7dd4b;
    border-radius: 1px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.btn-01.btn-01--blue::before {
    border-top-color: #00125E;
    border-right-color: #00125E;
}

.btn-01::after {
    content: "";
    width: 2.4rem;
    height: 2.4rem;
    position: absolute;
    top: calc(50% - 1.2rem);
    right: 2rem;
    border-radius: 50%;
    background-color: #00125E;
}

.btn-01.btn-01--blue::after {
    background-color: #fff;
}

.btn-01:hover {
    background-color: #fff;
    color: #00125E;
}

.btn-01:hover::before {
    border-top-color: #fff;
    border-right-color: #fff;
}

.btn-01:hover::after {
    background-color: #00125E;
}

.btn-01[data-status=disable] {
    background-color: #aaa;
    pointer-events: none;
}

.btn-01[data-color=blue] {
    background-color: #00125E;
    color: #fff;
}

.btn-01[data-color=blue]::before {
    border-top-color: #00125E;
    border-right-color: #00125E;
}

.btn-01[data-color=blue]::after {
    background-color: #fff;
}

.btn-01[data-color=blue]:hover {
    background-color: #f1f1f1;
    color: #00125E;
}

.btn-01[data-color=blue]:hover::before {
    border-top-color: #fff;
    border-right-color: #fff;
}

.btn-01[data-color=blue]:hover::after {
    background-color: #00125E;
}

.btn-center {
    margin-right: auto;
    margin-left: auto;
}

ul {
    list-style-type: none;
}

ul.dot {
    list-style-type: none;
}

ul.dot li {
    margin-left: 1.1em;
    text-indent: -1.1em;
}

ul.dot li:before {
    content: "・";
}

ul.dot li:not(:last-child) {
    margin-bottom: 0.3em;
}

ul.circle {
    list-style-type: none;
}

ul.circle li {
    margin-left: 2rem;
    text-indent: -2rem;
}

ul.circle li:before {
    content: "●";
    margin-right: 0.4rem;
}

ul.circle li:not(:last-child) {
    margin-bottom: 0.8em;
}

ul.note {
    list-style-type: none;
}

ul.note li {
    margin-left: 1.1em;
    text-indent: -1.1em;
}

ul.note li:before {
    content: "※";
    font-family: cursive;
}

ul.note li:not(:last-child) {
    margin-bottom: 0.3em;
}

.site-header {
    width: 100%;
    padding: 3.2rem 4.8rem;
    background: #fff;
}

.site-header .btn-01 {
    width: 20.8rem;
    height: 4rem;
    padding-right: 3.6rem;
    padding-left: 1rem;
    border-radius: 2rem;
    font-size: 1.4rem;
}

.site-header .btn-01::before {
    right: 2.6rem;
}

.site-header .btn-01::after {
    width: 1.6rem;
    height: 1.6rem;
    top: calc(50% - 0.8rem);
}

.header-inner {
    display: block;
    align-items: center;
    justify-content: flex-start;
    max-width: 1120px;
    margin: 0 auto;
}

.header-title {
    font-size: 1rem;
    text-align: center;
    line-height: 1;
}

.header-title a {
    display: inline-block;
}

.header-title figure {
    display: inline-block;
    margin-bottom: 0;
}

.site-footer {
    padding: 6.4rem 4.8rem;
    background-color: #fff;
    color: #666;
    font-size: 1.2rem;
}

.site-footer p {
    letter-spacing: 0;
    font-size: 1.2rem;
}

.footer-area01 {
    font-weight: 700;
}

.footer-title figure {
    display: flex;
    align-items: center;
}

.footer-title .caption {
    margin-left: 1rem;
    color: #666;
    font-size: 1.6rem;
}

.copy-right {
    margin-top: 2.8rem;
    line-height: 1;
}

input::-webkit-input-placeholder {
    color: rgba(0, 22, 88, 0.2);
}

input:-ms-input-placeholder {
    color: rgba(0, 22, 88, 0.2);
}

input::-moz-placeholder {
    color: rgba(0, 22, 88, 0.2);
}

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #fff inset;
}

#hero-visual {
    width: 100%;
    margin-bottom: 9.2rem;
    position: relative;
}

#hero-visual::before {
    content: "";
    width: 185.8rem;
    height: 285rem;
    position: absolute;
    top: -28.8rem;
    left: 50%;
    z-index: -1;
    background: url(../../images/bg_pc.svg) no-repeat center top/contain;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

#hero-visual.is-animated .hero-text, #hero-visual.is-animated .hero_img {
    -webkit-animation: heroFadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
    animation: heroFadeup 1s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

#hero-visual.is-animated .text01 {
    -webkit-animation-delay: 0.25s;
    animation-delay: 0.25s;
}

#hero-visual.is-animated .text02 {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}

#hero-visual.is-animated .text03 {
    -webkit-animation-delay: 0.75s;
    animation-delay: 0.75s;
}

#hero-visual.is-animated .text04 {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}

.hero-inner {
    padding-top: 16.5rem;
    padding-bottom: 6rem;
}

@-webkit-keyframes heroFadeup {
    0% {
        opacity: 0;
        -webkit-transform: translateY(30px);
        transform: translateY(30px);
    }
    80% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes heroFadeup {
    0% {
        opacity: 0;
        -webkit-transform: translateY(30px);
        transform: translateY(30px);
    }
    80% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

.hero-lead {
    position: relative;
    z-index: 3;
    color: #00125E;
}

.hero-lead .catch {
    margin-bottom: 10rem;
    letter-spacing: 0.04em;
    font-weight: 900;
    font-size: 4rem;
    line-height: 2;
}

.hero-lead .catch span {
    display: block;
}

.hero-lead p {
    font-size: 2rem;
    line-height: 2.2;
}

.hero-lead .date {
    margin-top: 1rem;
    margin-bottom: 0.8em;
    letter-spacing: 0;
    font-weight: 900;
    font-size: 2rem;
    line-height: 1;
}

.hero-lead .date span {
    margin: 0 0.4rem;
    font-size: 4rem;
}

.hero-lead .date span:first-child {
    margin-left: 0;
}

.hero-lead .date .sm {
    letter-spacing: 0.08em;
    font-size: 3.2rem;
}

.hero-lead .note {
    font-size: 1rem;
}

.hero-lead .point-text {
    max-width: 40rem;
    padding: 0.2em;
    border-radius: 0.8rem;
    background-color: #ed3e4e;
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-size: 2rem;
}

.hero-slider {
    width: 53vw;
    height: 86rem;
    position: absolute;
    top: 0;
    right: 0;
    -webkit-clip-path: polygon(28% 0, 100% 0, 100% 80%, 60% 100%, 0 54%);
    clip-path: polygon(28% 0, 100% 0, 100% 80%, 60% 100%, 0 54%);
}

.hero-slider .pic {
    width: 100%;
    height: 100%;
    display: block;
}

.hero-slider img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.cv-block {
    padding: 3.2rem 3.6rem;
    position: relative;
    z-index: 9;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cv-block .text {
    letter-spacing: 0;
    font-weight: 900;
    font-size: 2.9rem;
    line-height: 1.375;
}

.cv-block .text strong {
    color: #f7dd4b;
}

.cv-block .pic {
    position: absolute;
    right: 374px;
    bottom: -6px;
}

.cv-block .pic > img {
    -webkit-filter: drop-shadow(0.4rem 0.4rem 0.4rem rgba(0, 0, 0, 0.2));
    filter: drop-shadow(0.4rem 0.4rem 0.4rem rgba(0, 0, 0, 0.2));
}

.cv-block .fukidashi {
    position: absolute;
    top: 1.4rem;
    right: 19.6rem;
}

.cv-block .fukidashi img {
    width: 254px;
    max-width: none;
}

.text-new {
    display: inline-block;
    font-size: 2rem;
}

.text-new::before, .text-new::after {
    content: "";
    width: 3px;
    height: 1em;
    margin-bottom: -0.2rem;
    display: inline-block;
    background-color: #f7dd4b;
}

.text-new::before {
    margin-right: 0.8rem;
    transform: rotate(-24deg);
}

@media (max-width: 833px) {
    .text-new::before {
        position: absolute;
        top: 50%;
        left: -16px;
        transform: rotate(-24deg) translateY(-50%);
    }
}

.text-new::after {
    margin-left: 0.8rem;
    transform: rotate(24deg);
}

@media (max-width: 833px) {
    .text-new::after {
        position: absolute;
        top: 50%;
        right: -16px;
        transform: rotate(24deg) translateY(-50%);
    }
}

.block-campaign {
    padding-top: 8rem;
}

.campaign-card {
    padding: 4.8rem 7.2rem 3.2rem;
}

.campaign-header {
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.campaign-header .title {
    font-weight: 900;
    font-size: 3.6rem;
    line-height: 1.2;
}

.campaign-header .title .text-new {
    color: #ed3e4e;
}

.campaign-header .title .text-new::before, .campaign-header .title .text-new::after {
    background-color: #ed3e4e;
}

.campaign-header .title span {
    display: inline-block;
    line-height: 1.5277777778;
}

.campaign-info {
    font-weight: 900;
}

.campaign-info dl {
    margin-bottom: 0.8rem;
    display: flex;
}

.campaign-info dt {
    width: 8.2rem;
    margin-right: 1.6rem;
    display: flex;
    align-items: center;
    flex: none;
    justify-content: center;
    border-radius: 0.4rem;
    background-color: #ed3e4e;
    color: #fff;
    text-align: center;
}

.campaign-info dd {
    font-size: 1.4rem;
}

.campaign-info .note {
    font-weight: 400;
    font-size: 1.2rem;
}

.campaign-body .pic {
    margin-right: -6.4rem;
    margin-left: -2.8rem;
    display: block;
}

.campaign-body .pic img {
    width: 100%;
    max-width: none;
}

.campaign-notice {
    margin-top: 4rem;
    padding: 2rem;
    border-radius: 0.8rem;
    background-color: rgba(255, 255, 255, 0.4);
    text-align: center;
    font-size: 1.5rem;
}

.campaign-notice dt {
    font-weight: 700;
}

.block-about {
    padding-top: 0;
    position: relative;
}

.block-about::before {
    content: "";
    width: 100%;
    position: absolute;
    top: 43rem;
    bottom: 0;
    left: 0;
    z-index: -1;
    background-color: #93d3df;
}

.block-about .headline-02 {
    margin-bottom: 7.2rem;
}

.about-card {
    max-width: 71.6rem;
    margin: 0 auto 8rem;
    padding: 5rem 7.2rem;
    position: relative;
    text-align: center;
}

.about-card::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 2.4rem;
    background-color: #00125E;
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
}

.about-card .headline-01 {
    margin-bottom: 4rem;
}

.about-card .headline-03 {
    margin-bottom: 2rem;
}

.about-card p {
    letter-spacing: 0;
}

.about-card .point-list {
    width: 100%;
    margin-top: 4rem;
    margin-bottom: 3rem;
    display: flex;
}

.about-card .point-list li {
    width: 100%;
    height: 10.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 1.6rem;
    background-color: #fff;
    letter-spacing: 0;
    font-weight: 900;
    font-size: 1.4rem;
    line-height: 1.4285714286;
}

.about-card .point-list li + li {
    margin-left: 1.3rem;
}

.about-card .point-list small {
    margin-bottom: 0.6em;
    display: block;
    font-size: 1rem;
}

.about-card .pic img {
    width: 100%;
}

.specialist-wrap {
    display: flex;
    gap: 20px;
}

@media (max-width: 833px) {
    .specialist-wrap {
        flex-direction: column;
    }
}

.specialist-card {
    width: 49%;
    padding: 6rem 4rem 4rem;
    position: relative;
    overflow: hidden;
}

.specialist-card-heading {
    position: absolute;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    color: #fff;
    top: 0;
    left: 0;
    z-index: 1;
}

@media (max-width: 833px) {
    .specialist-card-heading {
        font-size: 20px;
    }
}

.specialist-card-heading.-english {
    background-color: #D7092F;
}

.specialist-card-heading.-advisor {
    background-color: #00A4A7;
}

.specialist-card .title {
    position: absolute;
    top: -2rem;
    left: 2rem;
}

.specialist-card .profile {
    margin-top: 16px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    justify-content: space-between;
}

.specialist-card .pic {
    width: 16rem;
    flex: none;
    margin-bottom: 0;
}

.specialist-card .text-box span {
    display: block;
    letter-spacing: 0;
}

.specialist-card .text-box .text01 {
    margin-bottom: 1em;
    font-weight: 700;
    line-height: 1.5;
}

.specialist-card .text-box .text02 {
    font-weight: 700;
    font-size: 2rem;
}

.specialist-card .text-box .text03 {
    margin-top: 0.6em;
    font-size: 1.2rem;
}

.specialist-card .comment {
    letter-spacing: 0;
    font-size: 1.2rem;
}

.specialist-card .career {
    padding-top: 2rem;
    display: flex;
    border-top: 1px solid #f1f1f1;
    letter-spacing: 0;
    font-size: 1.2rem;
}

.specialist-card .career dt {
    margin-right: 5.2rem;
    -webkit-box-flex: 0;
    -webkit-flex: none;
    -ms-flex: none;
    flex: none;
    font-weight: 700;
}

.specialist-card .career dd {
    line-height: 2;
}

.block-introduction {
    margin-bottom: -7.3rem;
    padding-bottom: 24rem;
    position: relative;
    overflow: hidden;
}

.block-introduction::before {
    content: "";
    width: 185.8rem;
    height: 285rem;
    position: absolute;
    top: -28.8rem;
    left: 50%;
    z-index: -1;
    background: url(../../images/bg_pc.svg) no-repeat center top/contain;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.block-introduction .headline-03 {
    margin-top: 1.8rem;
    margin-bottom: 8rem;
}

.character-block {
    width: 100%;
    padding-bottom: 32%;
    position: relative;
    margin-bottom: 200px;
    padding-left: 16px;
    padding-right: 16px;
}

@media (max-width: 833px) {
    .character-block {
        margin-bottom: 100px;
    }
}

.character-block .character-pic {
    position: absolute;
}

.character-block .character-pic img {
    width: 100%;
    position: relative;
    z-index: 2;
}

.character-block .character-pic .fukidashi {
    padding: 0 1em;
    position: absolute;
    z-index: 2;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.789%22%20height%3D%2224.895%22%3E%3Cpath%20data-name%3D%22%E3%83%91%E3%82%B9%202052%22%20d%3D%22m.894.447%2012%2024%22%20fill%3D%22none%22%20stroke%3D%22%2300125E%22%20stroke-width%3D%222%22%2F%3E%3C%2Fsvg%3E"), url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.789%22%20height%3D%2224.895%22%3E%3Cpath%20data-name%3D%22%E7%B7%9A%2056%22%20fill%3D%22none%22%20stroke%3D%22%2300125E%22%20stroke-width%3D%222%22%20d%3D%22m12.894.447-12%2024%22%2F%3E%3C%2Fsvg%3E");
    background-position: left center, right center;
    background-repeat: no-repeat;
    white-space: nowrap;
    letter-spacing: 0;
    font-weight: 900;
    font-size: 2.8rem;
    line-height: 1;
}

.character-block .character-pic .comment {
    width: 38rem;
    height: 24rem;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
    text-align: center;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.8;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
}

.character-block .character-pic .comment span {
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
}

.character-block .character01 {
    width: 29%;
    right: 44%;
    bottom: 2.4%;
}

.character-block .character01 .fukidashi {
    top: -6%;
    right: 82%;
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
    -webkit-transform-origin: right top;
    transform-origin: right top;
}

.character-block .character01 .comment {
    top: 38%;
    right: 65.6%;
    background-color: #f7dd4b;
}

.character-block .character02 {
    width: 12.4%;
    bottom: 2.8%;
    left: 55.8%;
}

.character-block .character02 .fukidashi {
    top: -40%;
    left: 25%;
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
    -webkit-transform-origin: left top;
    transform-origin: left top;
}

.character-block .character02 .comment {
    top: -62.6%;
    left: 74.6%;
    background-color: #f7a9b0;
}

.character-block .characterCopy {
    position: absolute;
    bottom: -5rem;
    left: 50%;
    text-align: center;
    letter-spacing: 0;
    font-weight: 900;
    font-size: 1rem;
    line-height: 1.6;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.character-block .characterCopy span {
    display: block;
}

.character-sanrio {
    max-width: 53.2rem;
    margin: 8.4rem auto 0;
    padding: 2rem 3.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 2.4rem;
    background-color: #93d3df;
}

.character-sanrio dt {
    margin-right: 0.8rem;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    letter-spacing: 0.08em;
    font-weight: 900;
    font-size: 2.4rem;
    line-height: 1.6666666667;
}

.character-sanrio dd img {
    width: 20rem;
}

.block-point {
    margin-top: -7.3rem;
    padding-top: 17rem;
    background-color: #f7dd4b;
}

.block-point .headline-01 {
    margin-bottom: 7.8rem;
}

.block-point .headline-01 span {
    margin-top: 0.2em;
    display: block;
}

.point-box {
    position: relative;
    display: flex;
    align-items: center;
}

.point-box + .point-box {
    margin-top: 6.4rem;
}

.point-box > .pic {
    -webkit-box-shadow: 16px 16px 40px rgba(0, 0, 0, 0.1);
    box-shadow: 16px 16px 40px rgba(0, 0, 0, 0.1);
}

.point-box dt {
    margin-bottom: 1em;
    font-weight: 900;
    font-size: 2.4rem;
}

.point-box dd {
    font-weight: 700;
}

.point-box.point01 .pic {
    margin-right: 7.2rem;
}

.point-box.point02 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.point-box.point02 .pic {
    margin-left: 7.2rem;
    position: relative;
}

.point-box.point02 .fukidashi {
    width: 14.6rem;
    height: 14.6rem;
    position: absolute;
    top: -4.4rem;
    right: -4.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #fff;
    text-align: center;
    font-weight: 900;
    font-size: 1.6rem;
}

.point-box.point02 dl {
    max-width: 34.8rem;
}

.point-box.point03 {
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.point-box.point03 .pic {
    margin-right: 6.2rem;
}

.point-card01 {
    margin-top: 17rem;
    padding: 6.4rem 5rem 8rem;
    position: relative;
}

.point-card01 .fukidashi {
    width: 27.8rem;
    position: absolute;
    top: -4rem;
    left: calc(50% - 13.9rem);
}

.point-card01 .headline-01 {
    margin-bottom: 5.6rem;
}

.point-card01 .special-set {
    max-width: 91.4rem;
    margin: 0 auto;
    display: flex;
}

.point-card01 .special-set .inner {
    width: 50%;
    text-align: center;
}

.point-card01 .special-set .pic {
    margin-bottom: 2.6rem;
    padding-bottom: 58%;
    position: relative;
}

.point-card01 .special-set .pic img {
    position: absolute;
    z-index: 2;
}

.point-card01 .special-set .label {
    width: 14.6rem;
    height: 14.6rem;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    border-radius: 50%;
    letter-spacing: 0;
    font-weight: 900;
    line-height: 1.75;
}

.point-card01 .special-set p {
    font-weight: 700;
}

.point-card01 .special-set .special01 .pic img {
    width: 31.9rem;
    bottom: 0;
    left: 6.2rem;
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
}

.point-card01 .special-set .special02 .pic img {
    width: 36.8rem;
    right: 2rem;
    bottom: 0;
}

.point-card01 .special-set .special02 .fukidashi {
    width: fit-content;
    position: absolute;
    top: -2rem;
    left: 20.5rem;
    white-space: nowrap;
    font-weight: 900;
    font-size: 1.4rem;
    line-height: 1.7142857143;
}

.point-card01 .special-set .special02 .fukidashi::before, .point-card01 .special-set .special02 .fukidashi::after {
    content: "";
    width: 4px;
    height: 85%;
    position: absolute;
    bottom: 0;
    display: inline-block;
    background-color: #fff;
}

.point-card01 .special-set .special02 .fukidashi::before {
    left: -1.4em;
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
}

.point-card01 .special-set .special02 .fukidashi::after {
    right: -1.4em;
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
}

.point-card02 {
    margin-top: 12rem;
    position: relative;
    z-index: 1;
}

.point-card02::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    border-radius: 2.4rem;
    background-color: #00125E;
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
}

.point-card02 .l-card {
    padding: 6.4rem 6.4rem;
    display: flex;
}

.point-card02 .inner {
    width: 50%;
    font-weight: 700;
}

.point-card02 .inner * {
    letter-spacing: 0;
}

.point-card02 .headline-01 {
    margin-bottom: 3.4rem;
}

.point-card02 .pic img {
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}

.point-card02 ul {
    margin-top: 4rem;
}

.point-movie {
    margin-top: 8rem;
}

.point-movie .headline-01 {
    width: fit-content;
    margin: 0 auto 2.8rem;
    padding: 0 6rem;
    position: relative;
    letter-spacing: 0;
    line-height: 1.4;
}

.point-movie .headline-01::before, .point-movie .headline-01::after {
    content: "";
    width: 4px;
    height: 100%;
    position: absolute;
    bottom: 0;
    display: block;
    background-color: #00125E;
}

.point-movie .headline-01::before {
    left: 0;
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
}

.point-movie .headline-01::after {
    right: 0;
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
}

.point-movie .movie-box {
    max-width: 71.6rem;
    margin: 0 auto;
}

.block-ingenuity {
    margin-bottom: -7.3rem;
    padding-bottom: 23rem;
    background-color: #93d3df;
}

.ingenuity-box + .ingenuity-box {
    margin-top: 10rem;
}

.ingenuity-headline {
    position: relative;
    display: flex;
}

.ingenuity-headline .pentagon {
    margin-right: 2.6rem;
    left: -3rem;
    z-index: 2;
    display: flex;
    align-items: center;
    flex: none;
    justify-content: center;
    -webkit-filter: drop-shadow(2rem 2rem 0px #00125E);
    filter: drop-shadow(2rem 2rem 0px #00125E);
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    --h: 33.1rem;
}

.ingenuity-headline .pentagon .title {
    position: relative;
    z-index: 2;
    text-align: center;
}

.ingenuity-headline .pentagon .title span {
    display: block;
    line-height: 1;
}

.ingenuity-headline .pentagon .title .main {
    padding-top: 0.8em;
    letter-spacing: 0;
    font-family: "Jost", sans-serif;
    font-weight: 700;
    font-size: 4.8rem;
}

.ingenuity-headline .pentagon .title .label {
    margin-top: 0.5em;
    font-weight: 900;
    font-size: 2.4rem;
}

.ingenuity-headline .sub-title {
    margin-top: auto;
    margin-bottom: 1.5em;
    z-index: 2;
    color: #fff;
    font-weight: 900;
    font-size: 3.2rem;
    line-height: 2;
}

.ingenuity-headline .headline-bg {
    margin-right: calc(50% - 50vw);
    position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    white-space: nowrap;
    font-family: "Jost", sans-serif;
    font-weight: 500;
    font-size: 24rem;
    line-height: 1.3;
    opacity: 0.1;
}

.ingenuity-list {
    max-width: 90rem;
    margin: 2rem auto 0;
}

.ingenuity-list .ingenuity-card:nth-child(odd) {
    margin-left: auto;
}

.ingenuity-card {
    max-width: 80.8rem;
    padding: 5.6rem;
    position: relative;
    border-radius: 2.4rem;
    background-color: rgba(255, 255, 255, 0.5);
}

.ingenuity-card + .ingenuity-card {
    margin-top: 4rem;
}

.ingenuity-card .point {
    margin-bottom: 4rem;
}

.ingenuity-card .point dt {
    width: 14rem;
    margin-bottom: 1em;
    padding: 0.2em 0;
    border-radius: 1em;
    background-color: #00125E;
    color: #fff;
    text-align: center;
    font-family: "Jost", sans-serif;
    font-weight: 700;
    font-size: 2rem;
}

.ingenuity-card .point dd {
    letter-spacing: 0.04em;
    font-weight: 700;
    font-size: 2rem;
}

.ingenuity-card .tips {
    padding: 2rem;
    border-radius: 0.8rem;
    background-color: #fff;
    font-size: 1.4rem;
}

.ingenuity-card .tips dt {
    margin-bottom: 0.8em;
    font-weight: 700;
}

.ingenuity-card .pic img {
    width: 28rem;
    position: absolute;
    -webkit-filter: drop-shadow(1.6rem 1.6rem 4rem rgba(0, 0, 0, 0.1));
    filter: drop-shadow(1.6rem 1.6rem 4rem rgba(0, 0, 0, 0.1));
}

.ingenuity-card .tips-list li {
    padding: 1.2rem 1.2rem 1.2rem 2.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 0.8rem;
    background-color: #fff;
}

.ingenuity-card .tips-list li + li {
    margin-top: 0.8rem;
}

.ingenuity-card .tips-list .title {
    font-weight: 700;
}

.ingenuity-card .tips-list .modal-open {
    width: 18.6rem;
    height: 4rem;
    padding: 0 3.2rem 0 1.2rem;
    position: relative;
    border: 2px solid #00125E;
    border-radius: 2rem;
    font-weight: 700;
    font-size: 1.2rem;
}

.ingenuity-card .tips-list .modal-open::after {
    content: "";
    width: 2rem;
    height: 2rem;
    position: absolute;
    top: calc(50% - 1rem);
    right: 0.8rem;
    background: url(../../images/icon_plus.svg) no-repeat center/contain;
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.ingenuity-card .tips-list .modal-open:hover::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.ingenuity_input01 .pic1_1 {
    top: 8%;
    left: 75%;
}

.ingenuity_input01 .pic1_2 {
    bottom: 12%;
    left: 62%;
}

.ingenuity_input01 .tips {
    width: 100%;
}

.ingenuity_input02 .inner {
    width: 55%;
    margin-left: auto;
}

.ingenuity_input02 .pic2_1 {
    width: 37rem !important;
    top: 12%;
    right: 60%;
}

.ingenuity_input02 .pic2_2 {
    right: 60%;
    bottom: 11.2%;
}

.ingenuity_input03 .pic3_1 {
    top: -7%;
    left: 70%;
}

.ingenuity_input03 .pic3_2 {
    bottom: 5%;
    left: 56%;
}

.ingenuity_output01 .pic1_1 {
    top: -19%;
    left: 72%;
}

.ingenuity_output01 .pic1_2 {
    bottom: 7%;
    left: 55%;
}

.ingenuity_output01 .pic .fukidashi1_1 {
    width: 11rem;
    top: 6%;
    right: 30%;
}

.ingenuity_output01 .pic .fukidashi1_2 {
    width: 11rem;
    right: -5%;
    bottom: 25%;
}

.ingenuity_output02 .inner {
    width: 55%;
    margin-left: auto;
}

.ingenuity_output02 .pic2_1 {
    width: 35.6rem !important;
    top: 8%;
    right: 60%;
}

.ingenuity_output02 .pic2_2 {
    width: 17.6rem !important;
    right: 60%;
    bottom: 6%;
}

.block-footer {
    position: relative;
    overflow: hidden;
}

.block-footer::before {
    content: "";
    width: 185.8rem;
    height: 285rem;
    position: absolute;
    top: -28.8rem;
    left: 50%;
    z-index: -1;
    background: url(../../images/bg_pc.svg) no-repeat center top/contain;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.block-footer .content + .content {
    margin-top: 12rem;
}

.flow-list {
    display: flex;
    justify-content: center;
}

.flow-list .flow-box {
    width: 100%;
    padding: 1.6rem 1.8rem;
    position: relative;
    border-radius: 2.4rem;
    background-color: #f7dd4b;
    text-align: center;
}

.flow-list .flow-box + .flow-box {
    margin-left: 2%;
}

.flow-list .flow-box + .flow-box::before {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    top: calc(50% - 0.6rem);
    right: calc(100% + 0.6rem);
    border-width: 0.6rem 0 0.6rem 1.2rem;
    border-style: solid;
    border-color: transparent transparent transparent #00125E;
}

.flow-list dt {
    width: fit-content;
    margin-right: auto;
    margin-bottom: 2rem;
    margin-left: auto;
    border-bottom: 0.4rem solid #00125E;
    letter-spacing: -0.01em;
    font-family: "Jost", sans-serif;
    font-weight: 700;
    line-height: 1.5;
}

.flow-list dd {
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 2;
}

.flow-list dd span {
    margin-top: 0.8em;
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1.6666666667;
}

.flow-list .flow-point {
    background-color: #ed3e4e;
    color: #fff;
}

.faq-block .note {
    width: fit-content;
    margin: 4rem auto 0;
    letter-spacing: 0.12em;
    font-weight: 700;
    font-size: 1.2rem;
}

.faq-list {
    max-width: 1048px;
    margin: 0 auto;
}

.faq-box {
    width: 100%;
    overflow: hidden;
    border-radius: 1.2rem;
    background-color: #f1f1f1;
    letter-spacing: 0.12em;
    font-weight: 700;
}

.faq-box + .faq-box {
    margin-top: 2.4rem;
}

.faq-box dt {
    padding: 32px 50px 32px 50px;
    display: flex;
    align-items: center;
    background-color: #fff;
    color: #00125E;
}

.faq-box dt::before {
    content: "Q";
    margin-right: 36px;
    color: #00125E;
    font-weight: 900;
    font-size: 3.2rem;
    line-height: 1;
}

.faq-box dt::after {
    content: "+";
    margin-left: auto;
    font-size: 36px;
    font-weight: 700;
    line-height: 1;
    margin-top: -4px;
}

@media (max-width: 833px) {
    .faq-box dt::after {
        font-size: 32px;
        font-weight: 400;
    }
}

.faq-box dt:hover {
    cursor: pointer;
}

.faq-box dt span {
    margin-top: 0.5em;
    padding-right: 16px;
}

.faq-box dd {
    padding: 20px 106px;
    display: none;
    font-size: 14px;
    line-height: 2;
    background: #fff;
    position: relative;
    color: #00125E;
    font-weight: 400;
}

.faq-box dd::before {
    content: "";
    display: block;
    width: 89%;
    height: 1px;
    position: absolute;
    top: 0;
    left: 50%;
    background-color: #C3CCED;
    transform: translateX(-50%);
}

.faq-box.is-open {
    margin-bottom: 4.8rem;
}

.faq-box.is-open dt::after {
    content: "-";
    margin-top: -12px;
}

.news-block {
    padding-bottom: 10rem;
}

@media (max-width: 833px) {
    .news-block h2 {
        font-size: 20px;
    }
}

.news-list {
    max-width: 90rem;
    margin: 0 auto;
    border-top: 1px solid #00125E;
}

.news-list li {
    padding: 3.2rem 0;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #00125E;
}

.news-list .date {
    margin-right: 2rem;
    -webkit-box-flex: 0;
    -webkit-flex: none;
    -ms-flex: none;
    flex: none;
    letter-spacing: 0.08em;
    font-family: "Jost", sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
}

.news-list .cat {
    min-width: 8rem;
    height: 2.4rem;
    margin-right: 2rem;
    padding: 0 1em;
    display: flex;
    align-items: center;
    flex: none;
    justify-content: center;
    border-radius: 1.2rem;
    background-color: #f7dd4b;
    font-weight: 900;
    font-size: 1.2rem;
}

.news-list .title {
    overflow: hidden;
    -webkit-box-orient: vertical;
    color: #00125E;
    text-decoration: underline;
    letter-spacing: 0.12em;
    font-weight: 700;
    -webkit-line-clamp: 1;
}

.block-entry {
    background-color: #00125E;
    color: #fff;
}

.block-entry .headline {
    margin-bottom: 0.5em;
    letter-spacing: 0.12em;
    font-size: 4rem;
}

.entry-info {
    display: flex;
    justify-content: center;
    font-weight: 900;
}

.entry-info dl {
    display: flex;
    align-items: center;
}

.entry-info dt {
    width: 8.2rem;
    margin-right: 1.6rem;
    -webkit-box-flex: 0;
    -webkit-flex: none;
    -ms-flex: none;
    flex: none;
    border-radius: 0.4rem;
    background-color: #fff;
    color: #00125E;
    text-align: center;
}

.entry-info .note {
    margin-left: 3.2rem;
    display: flex;
    align-items: center;
    font-weight: 400;
    font-size: 1.2rem;
}

.entry-info .note li:not(:last-child) {
    margin-right: 1em;
    margin-bottom: 0;
}

.entry-form {
    max-width: 90rem;
    margin: 7.8rem auto 0;
}

.form-group {
    display: flex;
}

.form-group + .form-group {
    margin-top: 2.4rem;
}

.form-box {
    width: 100%;
}

.form-box + .form-box {
    margin-left: 2rem;
}

.form-box dt {
    margin-bottom: 1.2rem;
    letter-spacing: 0.12em;
}

.form-box .required {
    color: #ed3e4e;
}

.form-control {
    width: 100%;
    padding: 1.2em 1.5em;
    border: 2px solid #fff;
    border-radius: 1.2rem;
    background-color: #fff;
    color: #00125E;
    letter-spacing: 0;
}

.form-policy {
    max-width: 53.2rem;
    margin: 6.4rem auto 0;
    padding: 3.2rem 2.4rem 2.4rem;
    color: #00125E;
    font-size: 1.4rem;
}

.form-policy dt {
    margin-bottom: 1em;
    text-align: center;
    font-weight: 700;
}

.form-doui {
    margin-top: 3.2rem;
    letter-spacing: 0;
}

.form-submit {
    width: 53.2rem;
    height: 6.4rem;
    margin: 3.2rem auto 0;
    padding: 0 3.8rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3.2rem;
    background-color: #ed3e4e;
    color: #fff;
    letter-spacing: 0;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.form-submit::before {
    content: "";
    width: 0.7rem;
    height: 0.7rem;
    position: absolute;
    top: calc(50% - 0.3rem);
    right: 2.9rem;
    z-index: 2;
    display: block;
    border-top: 2px solid #ed3e4e;
    border-right: 2px solid #ed3e4e;
    border-radius: 1px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.form-submit::after {
    content: "";
    width: 2.4rem;
    height: 2.4rem;
    position: absolute;
    top: calc(50% - 1.2rem);
    right: 2rem;
    border-radius: 50%;
    background-color: #fff;
}

.form-submit:hover {
    background-color: #fff;
    color: #ed3e4e;
}

.form-submit:hover::before {
    border-top-color: #fff;
    border-right-color: #fff;
}

.form-submit:hover::after {
    background-color: #ed3e4e;
}

.form-submit[data-status=disable] {
    background-color: #aaa;
    pointer-events: none;
}

.wpcf7-form-control-wrap {
    display: block;
}

.wpcf7-not-valid-tip {
    margin-bottom: 1.2rem;
    position: absolute;
    right: 0;
    bottom: 100%;
    color: #ed3e4e;
    font-size: 1.2rem;
}

.wpcf7-not-valid {
    border-color: #ed3e4e !important;
    background-color: #fbd4d7 !important;
}

.wpcf7 form .wpcf7-response-output {
    padding: 1em;
    text-align: center;
}

.notice-block {
    margin-top: 4.8rem;
    margin-right: auto;
    margin-left: auto;
    font-weight: 700;
    font-size: 1.8rem;
}

.notice-block dt {
    margin-bottom: 0.4em;
}

.notice-block dd p {
    line-height: 1.75;
}

.block-entry .notice-block {
    max-width: 90rem;
}

.hs-form-private {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.hs-form-field {
    width: 48.8%;
    margin-bottom: 2.4rem;
}

.hs-form-field.hs-recaptcha {
    width: 100%;
}

.hs-form-field > label {
    margin-bottom: 1.2rem;
    display: block;
    letter-spacing: 0.12em;
}

.hs-recaptcha {
    margin-top: 1.6rem;
}

.hs-recaptcha .input {
    width: fit-content;
    margin: 0 auto;
}

.hs-form-required {
    color: #ed3e4e;
}

.hs-input {
    width: 100%;
    padding: 1.2em 1.5em;
    border: 2px solid #fff;
    border-radius: 1.2rem;
    background-color: #fff;
    color: #00125E;
    letter-spacing: 0;
}

.hs-error-msgs, .hs-error-msg {
    margin-top: 0.5em;
    color: #ed3e4e;
    font-size: 1.2rem;
}

.hs_error_rollup {
    width: fit-content;
    margin: 0 auto;
}

.hs-apartment + div {
    width: 100%;
}

.hs-richtext {
    max-width: 53.2rem;
    margin: 4rem auto 2.4rem;
    padding: 2.4rem 2.4rem;
    border-radius: 2.4rem;
    background-color: #fff;
    color: #00125E;
    font-size: 1.4rem;
}

.hs-richtext p:not(:last-child) {
    margin-bottom: 1em;
}

.hs-richtext strong {
    display: block;
    text-align: center;
}

.hs-submit {
    width: 100%;
}

.hs-submit .hs-button {
    width: 53.2rem;
    max-width: 100%;
    height: 6.4rem;
    margin: 1.6rem auto 0;
    padding: 0 3.8rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3.2rem;
    background-color: #ed3e4e;
    color: #fff;
    letter-spacing: 0;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.hs-submit .hs-button::before {
    content: "";
    width: 0.7rem;
    height: 0.7rem;
    position: absolute;
    top: calc(50% - 0.3rem);
    right: 2.9rem;
    z-index: 2;
    display: block;
    border-top: 2px solid #ed3e4e;
    border-right: 2px solid #ed3e4e;
    border-radius: 1px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.hs-submit .hs-button::after {
    content: "";
    width: 2.4rem;
    height: 2.4rem;
    position: absolute;
    top: calc(50% - 1.2rem);
    right: 2rem;
    border-radius: 50%;
    background-color: #fff;
}

.hs-submit .hs-button:hover {
    background-color: #fff;
    color: #ed3e4e;
}

.hs-submit .hs-button:hover::before {
    border-top-color: #fff;
    border-right-color: #fff;
}

.hs-submit .hs-button:hover::after {
    background-color: #ed3e4e;
}

.enquete-form{
    margin: 7.8rem auto 0;
}
.enquete-form .hbspt-form{
    background: #EEF3FA;
    border-radius: 10px;
    padding: 1em 2em 3em ;
    margin-top: 2em;
}
.enquete-form .hs-form-field{
    width: 100%;
}
.enquete-form .hs-form-field > label {
    margin: 2em 0 0;
}
.enquete-form .input{
    margin-top: 1.5em;
}
.enquete-form .hs-form-radio{
   margin: .5em 0;
}
.enquete-form .hs-input{
    display: inline-block;
    width: 2em;
    vertical-align: middle;
}
.enquete-form .hs-button{
    background-color: #f7dd4b;
    width: auto;
    padding: 0 3em;
    color: #00125E;
}
.enquete-form .hs-button:hover{
    color: #00125E;
}
@media (min-width: 834px) {
    .enquete-form .hbspt-form{
        padding: 1.5em 45px 45px;
    }
}

.lower {
    position: relative;
}

body.thanks::before {
    content: "";
    width: 185.8rem;
    height: 285rem;
    position: absolute;
    top: -28.8rem;
    left: 50%;
    z-index: -1;
    background: url(../../images/bg_pc.svg) no-repeat center top/contain;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.post-header .info {
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
}

.post-header .date {
    margin-right: 2rem;
    flex: none;
    letter-spacing: 0.08em;
    font-family: "Jost", sans-serif;
    font-weight: 700;
    font-size: 1.8rem;
}

.post-header .cat {
    width: 8rem;
    height: 2.4rem;
    display: flex;
    align-items: center;
    flex: none;
    justify-content: center;
    border-radius: 1.2rem;
    background-color: #f7dd4b;
    font-weight: 900;
    font-size: 1.2rem;
}

.post-title {
    margin-bottom: 1em;
    font-size: 3.2rem;
    line-height: 1.5;
}

.post-thumbnail {
    margin-bottom: 6.4rem;
}

.post-content {
    font-size: 16px;
}

.post-content h2 {
    margin-bottom: 2em;
    padding-left: 1em;
    border-left: 0.8rem solid #00125E;
    font-size: 2rem;
}

.post-content p {
    font-weight: 700;
}

.post-content p:not(:last-child) {
    margin-bottom: 2em;
}

.post-content * + h2 {
    margin-top: 8rem;
}

.post-content .btn-01:hover {
    background-color: #f1f1f1;
}

.post-footer {
    margin-top: 8rem;
    padding-top: 6.4rem;
    border-top: 1px solid #00125E;
}

.post-footer .btn-01 {
    font-size: 1.6rem;
}

.post-footer .btn-01:hover {
    background-color: #f1f1f1;
}

.block-request-thanks .content {
    width: 78rem;
}
.block-request-thanks .content .jicoo-widget{
    margin: 2em 0;
}

.request-header {
    margin-bottom: 6.4rem;
    text-align: center;
}

.request-logo {
    margin-bottom: 5.4rem;
}

.request-title {
    font-size: 3.2rem;
}

.request-content p {
    letter-spacing: 0;
}

.request-content p a {
    text-decoration: underline;
}

.request-content .btn-01 {
    font-size: 1.6rem;
}

.request-content .btn-01:hover {
    background-color: #f1f1f1;
}

.request-content .btn-01:hover .icon * {
    fill: #00125E;
}

.request-content .btn-01 .icon {
    margin-right: 0.6rem;
}

.request-content .btn-01 + p {
    margin-top: 12rem;
}

.request-footer {
    margin-top: 8rem;
}

.request-footer .btn-01 {
    font-size: 1.6rem;
}

@media (min-width: 834px) {
    .cv-block .text {
        position: relative;
        top: -1.6rem;
    }

    .site-footer .content {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    .footer-area01 {
        max-width: 62.4rem;
    }

    .footer-area02 {
        margin-top: auto;
        text-align: right;
    }

    .campaign-notice {
        margin-right: -4rem;
        margin-left: -4rem;
        display: flex;
        flex-wrap: wrap;
    }

    .flow-list .flow-box {
        padding-top: 6.4rem;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .flow-list .flow-box dt {
        position: absolute;
        top: 1.6rem;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .flow-list .flow-point {
        padding-top: 1.6rem;
    }
}

/*@media (min-width: 834px) and (max-width: 1134px) {*/

/*    .object_l {*/
/*        top: auto;*/
/*        bottom: -6rem;*/
/*    }*/

/*    .hero-slider {*/
/*        clip-path: polygon(28% 0, 100% 0, 100% 89%, 80% 100%, 48% 100%, 0 62%);*/
/*    }*/

/*    .cv-block .pic {*/
/*        width: 17.6366843034vw;*/
/*        right: 29.8059964727vw;*/
/*    }*/

/*      {*/
/*        width: 22.0458553792vw;*/
/*        top: 0;*/
/*        right: 17.8130511464vw;*/
/*    }*/
/*}*/

@media (max-width: 833px) {
    body {
        font-size: 1.2rem;
    }

    .spHide, .pcOnly {
        display: none;
    }

    .section-block {
        padding: 6.4rem 1.6rem;
    }

    .page-width {
        padding: 0 1.6rem;
    }

    .l-card {
        border-radius: 1.6rem;
    }

    .pic-shadow {
        -webkit-filter: drop-shadow(0.8rem 0.8rem 2rem rgba(0, 0, 0, 0.1));
        filter: drop-shadow(0.8rem 0.8rem 2rem rgba(0, 0, 0, 0.1));
    }

    .object {
        width: 5.6rem;
    }

    .object_a {
        top: -3.8rem;
        left: 0.4rem;
    }

    .object_p {
        top: -7.4rem;
        right: -0.8rem;
    }

    .object_k {
        top: -10rem;
        right: -1.6rem;
    }

    .object_l {
        top: 3.4rem;
        left: 0.4rem;
    }

    .object_x {
        width: 100px;
        bottom: auto;
        top: -20px;
        right: 5%;
    }

    .object_c {
        width: 107px;
        top: -80px;
        left: auto;
        right: 0;
    }

    .object_m {
        width: 7.2rem;
        top: -1.6rem;
        left: calc(50% - 7.4rem);
    }

    .object_h {
        width: 5.8rem;
        top: -3rem;
        right: 0;
    }

    .headline-01 {
        font-size: 2rem;
    }

    .headline-02 {
        font-size: 2rem;
    }

    .headline-03 {
        font-size: 1.6rem;
    }

    .headline-04 .main {
        font-size: 4rem;
    }

    .headline-04 .label {
        margin-top: 1em;
        font-size: 1.6rem;
    }

    .btn-01 {
        width: 100%;
        height: 4.8rem;
        padding-right: 4.4rem;
        padding-left: 2.2rem;
        justify-content: center;
        border-radius: 2.4rem;
        font-size: 1.5rem;
    }

    .btn-01::before {
        width: 0.6rem;
        height: 0.6rem;
        top: calc(50% - 0.3rem);
        right: 2.1rem;
    }

    .btn-01::after {
        width: 2rem;
        height: 2rem;
        top: calc(50% - 1rem);
        right: 1.4rem;
    }

    .site-header {
        padding: 20px;
    }

    .header-inner {
        justify-content: center;
    }

    .header-title {
        width: 130px;
        z-index: 11;
        position: relative;
    }

    .site-footer {
        padding: 4.8rem 1.6rem;
    }

    .footer-area01 {
        font-size: 1.2rem;
    }

    .footer-area02 {
        margin-top: 4.8rem;
        padding-top: 4.8rem;
        border-top: 1px solid #ccc;
        text-align: center;
    }

    .footer-area02 p {
        font-size: 1rem;
    }

    .footer-title img {
        width: 11.8rem;
    }

    .footer-title .caption {
        margin-left: 2rem;
        font-size: 1.4rem;
    }

    .modal-container {
        display: flex;
        align-items: center;
    }

    .modal-container:before {
        content: none;
    }

    .modal-content {
        padding: 2.6rem 2rem;
        border-radius: 1.6rem;
        -webkit-filter: drop-shadow(0.8rem 0.8rem 2rem rgba(0, 0, 0, 0.1));
        filter: drop-shadow(0.8rem 0.8rem 2rem rgba(0, 0, 0, 0.1));
    }

    .modal-content .title {
        margin-bottom: 1.5em !important;
        text-align: left !important;
        font-size: 2rem !important;
    }

    .modal-close {
        top: 2rem;
        right: 2rem;
    }

    #hero-visual {
        margin-bottom: 4.6rem;
    }

    #hero-visual::before {
        width: 100vw;
        height: 255.4rem;
        position: absolute;
        top: 0;
        left: 0;
        background-image: url(../../images/bg_sp.svg);
        background-size: 100% auto;
        -webkit-transform: none;
        transform: none;
    }

    .hero-inner {
        padding-top: 4.5rem;
    }

    .hero-lead .catch {
        margin-top: 2rem;
        margin-bottom: 26rem;
        text-align: center;
        font-size: 2rem;
        line-height: 1.8;
    }

    .hero-lead .catch-text {
        width: 27.8rem;
        display: inline-block;
    }

    .hero-lead .date {
        font-size: 1rem;
    }

    .hero-lead .date span {
        font-size: 2rem;
    }

    .hero-lead .date .sm {
        font-size: 1.6rem;
    }

    .hero-lead .point-text {
        max-width: 20.4rem;
        margin: 0 auto;
        border-radius: 0.4rem;
        font-size: 1rem;
    }

    .hero-text.text04 {
        text-align: center;
    }

    .hero-text.text04 img {
        width: 20.4rem;
    }

    .hero-slider {
        width: 100%;
        max-width: 100%;
        height: auto;
        top: 15rem;
        -webkit-clip-path: none;
        clip-path: none;
    }

    .hero-slider img {
        width: 100%;
    }

    .cv-block {
        padding: 2rem 2rem;
        display: block;
    }

    .cv-block .text {
        font-size: 1.6rem;
    }

    .cv-block .text .text01 {
        margin-bottom: 0.2em;
        display: inline-block;
    }

    .cv-block .text .text02 {
        font-size: 2rem;
    }

    .cv-block .pic {
        width: 15.6rem;
        top: -1.6rem;
        right: -1.1rem;
        bottom: auto;
    }

    .cv-block .pic > img {
        width: 100%;
    }

    .cv-block .fukidashi {
        position: absolute;
        top: -20px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(50%);
    }

    .cv-block .fukidashi img {
        width: 72px;
    }

    .cv-block .btn-01 {
        margin-top: 1.6rem;
    }

    .text-new {
        font-size: 1.6rem;
        position: relative;
    }

    .block-campaign {
        padding-top: 4rem;
        padding-right: 0;
        padding-left: 0;
    }

    .campaign-card {
        padding: 3.2rem 3.6rem 2.4rem;
        border-radius: 0;
    }

    .campaign-header {
        display: block;
    }

    .campaign-header .title {
        margin-bottom: 2.8rem;
        text-align: center;
        font-size: 2.4rem;
    }

    .campaign-info {
        margin: 0 -1.6rem;
    }

    .campaign-info dl {
        font-size: 1.1rem;
    }

    .campaign-info dt {
        width: 6.8rem;
        margin-right: 1.2rem;
    }

    .campaign-info .note {
        margin-top: 1.6rem;
        text-align: center;
        font-size: 1rem;
    }

    .campaign-body .pic {
        margin: 0 -6.2rem 0 -3.2rem;
    }

    .campaign-notice {
        margin-top: 2rem;
        margin-right: -2rem;
        margin-left: -2rem;
        padding: 1.6rem 1.2rem;
        font-size: 1.4rem;
    }

    .campaign-notice dd {
        margin-top: 1rem;
    }

    .block-about {
        padding-top: 0;
    }

    .block-about::before {
        top: 40.8rem;
    }

    .block-about .headline-02 {
        margin-bottom: 3.6rem;
    }

    .about-card {
        max-width: 100%;
        margin: 0 auto 4rem;
        padding: 4rem 2rem;
    }

    .about-card::after {
        border-radius: 1.6rem;
        -webkit-transform: rotate(2deg);
        transform: rotate(2deg);
    }

    .about-card .headline-01 {
        margin-bottom: 2rem;
        letter-spacing: 0;
        font-size: 2.2rem;
    }

    .about-card .headline-03 {
        margin-bottom: 1.5rem;
    }

    .about-card p {
        margin-right: -0.5em;
        margin-left: -0.5em;
        letter-spacing: -0.06em;
    }

    .about-card .point-list {
        margin-top: 2rem;
        margin-bottom: 1.5rem;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .about-card .point-list li {
        width: 31.5%;
        height: 9.6rem;
        margin-right: 2.75%;
        margin-bottom: 2.75%;
        border-radius: 1.6rem;
        font-size: 1.4rem;
    }

    .about-card .point-list li + li {
        margin-left: inherit;
    }

    .about-card .point-list li:nth-child(3n), .about-card .point-list li:last-child {
        margin-right: 0;
    }

    .about-card .point-list small {
        font-size: 0.8rem;
    }

    .specialist-card {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
    }

    .specialist-card .title {
        top: -2rem;
    }

    .specialist-card .title img {
        width: 100%;
    }

    .specialist-card .title01 {
        width: 22rem;
        left: calc(50% - 11rem);
    }

    .specialist-card .title02 {
        width: 18rem;
        left: calc(50% - 9rem);
    }

    .specialist-card .profile {
        padding-top: 7rem;
        position: relative;
        display: block;
    }

    .specialist-card .pic {
        width: 16rem;
        margin: 0 auto 1.6rem;
    }

    .specialist-card .pic img {
        width: 100%;
    }

    .specialist-card .text-box {
        text-align: center;
    }

    .specialist-card .text-box .text01 {
        width: 100%;
        position: absolute;
        top: 0;
        font-size: 1.6rem;
    }

    .specialist-card .text-box .text02 {
        font-size: 2rem;
    }

    .specialist-card .text-box .text03 {
        margin-top: 0.6em;
    }

    .specialist-card .career {
        margin-top: 2rem;
    }

    .specialist-card .career dt {
        margin-right: 3.6rem;
    }

    .block-introduction {
        margin-bottom: -3.6rem;
        padding-bottom: 12rem;
    }

    .block-introduction::before {
        width: 100vw;
        height: 255.4rem;
        position: absolute;
        top: -108rem;
        left: 0;
        background-image: url(../../images/bg_sp.svg);
        background-size: 100% auto;
        -webkit-transform: none;
        transform: none;
    }

    .block-introduction .headline-01 {
        margin-bottom: 3.6rem;
        font-size: 2rem;
    }

    .block-introduction .headline-03 {
        margin-bottom: 4rem;
    }

    .character-block {
        padding-bottom: 0;
    }

    .character-block .character-pic {
        position: relative;
    }

    .character-block .character-pic + .character-pic {
        margin-top: 3.8rem;
    }

    .character-block .character-pic .fukidashi {
        font-size: 28px;
    }

    .character-block .character-pic .comment {
        width: 22.2rem;
        height: 17.6rem;
        letter-spacing: 0;
        font-size: 1.4rem;
        line-height: 1.7142857143;
    }

    .character-block .character01 {
        width: 100%;
        padding-top: 5.5rem;
        right: auto;
        bottom: auto;
    }

    .character-block .character01 img {
        width: 156px;
    }

    .character-block .character01 .fukidashi {
        top: 4%;
        right: auto;
        left: -0.8rem;
        transform: rotate(-10deg);
    }

    .character-block .character01 .comment {
        top: auto;
        right: -24px;
        bottom: 0;
    }

    .character-block .character02 {
        width: 100%;
        padding-top: 7.6rem;
        padding-left: 18.6rem;
        bottom: auto;
        left: auto;
    }

    .character-block .character02 img {
        width: 7.4rem;
    }

    .character-block .character02 .fukidashi {
        top: 18%;
        right: 12%;
        left: auto;
        -webkit-transform: rotate(15deg);
        transform: rotate(15deg);
    }

    .character-block .character02 .comment {
        top: 0;
        left: -3rem;
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    .character-block .character02 .comment span {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    .character-block .characterCopy {
        bottom: -6.6rem;
        display: flex;
        -webkit-transform: scale(0.8) translateX(-50%);
        transform: scale(0.8) translateX(-50%);
        -webkit-transform-origin: left;
        transform-origin: left;
    }

    .character-block .characterCopy span {
        white-space: nowrap;
    }

    .character-block .characterCopy span + span {
        margin-left: 1em;
    }

    .character-sanrio {
        width: 30.8rem;
        padding: 2.8rem 1.8rem;
        display: block;
    }

    .character-sanrio dt {
        margin-bottom: 1em;
        font-size: 1.8rem;
    }

    .character-sanrio dd {
        text-align: center;
    }

    .character-sanrio dd img {
        width: 20rem;
    }

    .block-point {
        margin-top: -9.4rem;
        padding-top: 15.8rem;
    }

    .block-point .headline-01 {
        margin-bottom: 6.4rem;
    }

    .block-point .headline-01 img {
        width: 27.2rem;
    }

    .point-box {
        display: block;
    }

    .point-box > .pic {
        width: 22rem;
        -webkit-box-shadow: 0.8rem 0.8rem 2rem rgba(0, 0, 0, 0.1);
        box-shadow: 0.8rem 0.8rem 2rem rgba(0, 0, 0, 0.1);
    }

    .point-box > .pic img {
        width: 100%;
    }

    .point-box dt {
        font-size: 2rem;
    }

    .point-box dd {
        font-size: 1.4rem;
    }

    .point-box dd p {
        letter-spacing: 0;
    }

    .point-box.point01 .pic {
        margin-right: 0;
        margin-left: auto;
    }

    .point-box.point02 .pic {
        margin-bottom: 1.5rem;
        margin-left: auto;
    }

    .point-box.point02 .fukidashi {
        width: 8rem;
        height: 8rem;
        top: auto;
        right: 0;
        bottom: -3.5rem;
        font-size: 1.2rem;
    }

    .point-box.point02 dl {
        max-width: 100%;
    }

    .point-box.point03 .pic {
        margin-right: 0;
        margin-bottom: 1.5rem;
        margin-left: auto;
    }

    .point-card01 {
        margin-top: 10rem;
        padding: 4.8rem 1.6rem 4rem;
    }

    .point-card01 .fukidashi {
        width: 18.9rem;
        top: -3.2rem;
        left: calc(50% - 9.45rem);
    }

    .point-card01 .fukidashi img {
        width: 100%;
    }

    .point-card01 .headline-01 {
        margin-bottom: 4.6rem;
        letter-spacing: 0.04em;
    }

    .point-card01 .special-set {
        display: block;
    }

    .point-card01 .special-set .inner {
        width: 100%;
    }

    .point-card01 .special-set .inner + .inner {
        margin-top: 2.5rem;
    }

    .point-card01 .special-set .pic {
        margin-bottom: 1.6rem;
    }

    .point-card01 .special-set .label {
        font-size: 1.6rem;
    }

    .point-card01 .special-set p {
        font-size: 1rem;
    }

    .point-card01 .special-set .special01 .pic {
        padding-bottom: 14.6rem;
    }

    .point-card01 .special-set .special01 .pic img {
        width: 19.4rem;
        bottom: 1.5rem;
        left: 0;
    }

    .point-card01 .special-set .special01 .label {
        right: -0.8rem;
        left: auto;
    }

    .point-card01 .special-set .special02 .pic {
        padding-bottom: 21rem;
    }

    .point-card01 .special-set .special02 .pic img {
        width: 23rem;
        right: -0.8rem;
        bottom: 0;
    }

    .point-card01 .special-set .special02 .fukidashi {
        top: 1rem;
        left: 17.5rem;
        font-size: 1rem;
        line-height: 1.6;
    }

    .point-card01 .special-set .special02 .fukidashi::before, .point-card01 .special-set .special02 .fukidashi::after {
        width: 2px;
        height: 100%;
    }

    .point-card01 .special-set .special02 .fukidashi::before {
        left: -0.5em;
    }

    .point-card01 .special-set .special02 .fukidashi::after {
        right: -0.5em;
    }

    .point-card02 {
        margin-top: 6.4rem;
    }

    .point-card02::after {
        border-radius: 1.6rem;
        -webkit-transform: rotate(2deg);
        transform: rotate(2deg);
    }

    .point-card02 .l-card {
        padding: 4rem 2rem;
        position: relative;
        display: block;
    }

    .point-card02 .inner {
        width: 100%;
    }

    .point-card02 .headline-01 {
        margin-bottom: 23.8rem;
        text-align: center;
    }

    .point-card02 .pic img {
        width: 22rem;
        position: absolute;
        top: 9.2rem;
        left: calc(50% - 11rem);
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
        -webkit-transform-origin: right center;
        transform-origin: right center;
    }

    .point-movie {
        margin-top: 4.8rem;
    }

    .point-movie .headline-01 {
        margin-bottom: 2.4rem;
        padding: 0 2.6rem;
        font-size: 1.8rem;
    }

    .point-movie .movie-box {
        width: 88%;
    }

    .block-ingenuity {
        margin-bottom: -9.2rem;
        padding-top: 4.8rem;
        padding-bottom: 13.8rem;
    }

    .block-ingenuity .headline-01 {
        margin-bottom: 4.4rem;
    }

    .ingenuity-box + .ingenuity-box {
        margin-top: 5rem;
    }

    .ingenuity-headline {
        display: block;
    }

    .ingenuity-headline .pentagon {
        margin: 0 auto 4rem;
        left: auto;
        -webkit-filter: drop-shadow(1rem 1rem 0px #00125E);
        filter: drop-shadow(1rem 1rem 0px #00125E);
        --h: 16.0rem;
    }

    .ingenuity-headline .pentagon .title .main {
        font-size: 2.8rem;
    }

    .ingenuity-headline .pentagon .title .label {
        font-size: 1.4rem;
    }

    .ingenuity-headline .sub-title {
        margin-bottom: 1.8em;
        text-align: center;
        font-size: 1.6rem;
        line-height: 1.5;
    }

    .ingenuity-headline .headline-bg {
        margin-right: 0;
        right: 50%;
        font-size: 12rem;
        line-height: 1.5;
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
    }

    .ingenuity-card {
        max-width: 100%;
        padding: 4.2rem 1.6rem 1.6rem;
        border-radius: 1.6rem;
    }

    .ingenuity-card + .ingenuity-card {
        margin-top: 1.8rem;
    }

    .ingenuity-card .point {
        margin-bottom: 2.4rem;
    }

    .ingenuity-card .point dt {
        width: 10.4rem;
        margin: 0 auto 1.6rem;
        padding: 0.4em 0;
        border-radius: 2em;
        font-size: 1.2rem;
    }

    .ingenuity-card .point dd {
        text-align: center;
        letter-spacing: 0;
        font-size: 1.6rem;
    }

    .ingenuity-card .tips {
        padding: 2rem 1.6rem;
        font-size: 1.2rem;
    }

    .ingenuity-card .tips dt {
        font-size: 1.4rem;
    }

    .ingenuity-card .pic {
        width: 100%;
        position: relative;
    }

    .ingenuity-card .pic img {
        width: 16rem;
        -webkit-filter: drop-shadow(0.8rem 0.8rem 2rem rgba(0, 0, 0, 0.1));
        filter: drop-shadow(0.8rem 0.8rem 2rem rgba(0, 0, 0, 0.1));
    }

    .ingenuity-card .tips-list li {
        padding: 1.6rem;
        display: block;
    }

    .ingenuity-card .tips-list .title {
        margin-bottom: 0.5em;
        text-align: center;
        font-size: 1.6rem;
    }

    .ingenuity-card .tips-list .title br {
        display: none;
    }

    .ingenuity-card .tips-list .modal-open {
        width: 15.8rem;
        height: 3.2rem;
        margin: 0 auto;
        display: block;
        border-radius: 1.6rem;
        font-size: 1rem;
    }

    .ingenuity-card .circle {
        font-size: 1.4rem;
    }

    .ingenuity_input01 .pic {
        height: 15rem;
        margin-bottom: 2rem;
    }

    .ingenuity_input01 .pic1_1 {
        top: 0;
        right: 0;
        left: auto;
        -webkit-transform-origin: right top;
        transform-origin: right top;
    }

    .ingenuity_input01 .pic1_2 {
        bottom: 0;
        left: 0;
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
        -webkit-transform-origin: left top;
        transform-origin: left top;
    }

    .ingenuity_input01 .tips {
        width: 100%;
    }

    .ingenuity_input02 .inner {
        width: 100%;
    }

    .ingenuity_input02 .pic {
        height: auto;
        margin-bottom: 2.4rem;
        text-align: center;
    }

    .ingenuity_input02 .pic2_1 {
        width: 25.6rem !important;
        position: relative !important;
        top: 0;
        right: auto;
        left: 0;
    }

    .ingenuity_input02 .pic2_2 {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg);
        -webkit-transform-origin: right top;
        transform-origin: right top;
    }

    .ingenuity_input03 {
        padding-bottom: 4rem;
    }

    .ingenuity_input03 .pic {
        height: 16rem;
        margin-bottom: 1.8rem;
    }

    .ingenuity_input03 .pic3_1 {
        top: 0;
        left: 1rem;
    }

    .ingenuity_input03 .pic3_2 {
        right: 1rem;
        bottom: 0;
        left: auto;
    }

    .ingenuity-output .ingenuity-headline .pentagon {
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg);
    }

    .ingenuity_output01 {
        padding-bottom: 4rem;
    }

    .ingenuity_output01 .pic {
        height: 18.8rem;
        margin-bottom: 2.4rem;
    }

    .ingenuity_output01 .pic1_1 {
        top: auto;
        right: 0;
        bottom: 0;
        left: auto;
        z-index: 2;
        -webkit-transform-origin: right top;
        transform-origin: right top;
    }

    .ingenuity_output01 .pic1_2 {
        top: 0;
        bottom: auto;
        left: 0;
        -webkit-transform-origin: left top;
        transform-origin: left top;
    }

    .ingenuity_output01 .pic .fukidashi1_1 {
        width: 8.2rem;
        top: auto;
        right: 55%;
        bottom: 10%;
    }

    .ingenuity_output01 .pic .fukidashi1_2 {
        width: 8.2rem;
        top: 10%;
        right: auto;
        bottom: auto;
        left: 55%;
    }

    .ingenuity_output02 .inner {
        width: 100%;
    }

    .ingenuity_output02 .pic {
        height: 20rem;
        margin-bottom: 2.4rem;
    }

    .ingenuity_output02 .pic2_1 {
        width: 23.6rem !important;
        top: 0;
        right: auto;
        left: 0;
        -webkit-transform-origin: left top;
        transform-origin: left top;
    }

    .ingenuity_output02 .pic2_2 {
        width: 11rem !important;
        right: 0;
        bottom: 0;
        -webkit-transform-origin: left top;
        transform-origin: left top;
    }

    .block-footer {
        margin-top: -9.2rem;
        padding-top: 16.8rem;
    }

    .block-footer::before {
        width: 100vw;
        height: 260rem;
        position: absolute;
        top: 0;
        left: 0;
        background-image: url(../../images/bg_sp.svg);
        background-size: 100% auto;
        -webkit-transform: none;
        transform: none;
    }

    .block-footer .content + .content {
        margin-top: 8rem;
    }

    .flow-list {
        width: 90%;
        margin: 0 auto;
        display: block;
    }

    .flow-list .flow-box {
        width: 100%;
        padding: 1.6rem 2rem 2.4rem;
        border-radius: 1.6rem;
        text-align: center;
    }

    .flow-list .flow-box + .flow-box {
        margin-top: 2rem;
        margin-left: 0;
    }

    .flow-list .flow-box + .flow-box::before {
        top: auto;
        right: calc(50% - 0.6rem);
        bottom: calc(100% + 0.4rem);
        border-width: 1.2rem 0.6rem 0 0.6rem;
        border-color: #00125E transparent transparent transparent;
    }

    .flow-list dt {
        margin-bottom: 2.4rem;
        font-size: 1.6rem;
    }

    .flow-list dd {
        font-size: 1.6rem;
        line-height: 2;
    }

    .flow-list dd span {
        font-size: 1.2rem;
    }

    .flow-list .flow-point {
        padding-top: 3.6rem;
        padding-bottom: 3.6rem;
    }

    .faq-block .note {
        margin-top: 1.6rem;
        font-size: 1rem;
    }

    .faq-box + .faq-box {
        margin-top: 0.8rem;
    }

    .faq-box dt {
        min-height: 6rem;
        padding: 1.2rem;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 1.2rem;
    }

    .faq-box dt::before {
        content: "Q";
        margin-right: 1.2rem;
        font-size: 20px;
    }

    .faq-box dt span {
        margin-top: 0;
        font-size: 14px;
    }

    .faq-box dd {
        padding: 3rem 2rem;
    }

    .faq-box.is-open {
        margin-bottom: 2.4rem;
    }

    .news-block {
        padding-bottom: 5rem;
    }

    .news-list li {
        padding: 2.6rem 0;
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .news-list .date {
        margin-right: 24px;
        font-size: 1.4rem;
        line-height: 2.4rem;
    }

    .news-list .cat {
        margin-right: 0;
        border-radius: 1.2rem;
        font-size: 12px;
    }

    .news-list .title {
        width: 100%;
        margin-top: 1em;
        display: block;
        line-height: 2;
        font-size: 14px;
    }

    .block-entry .headline {
        letter-spacing: 0.12em;
        font-size: 2.4rem;
    }

    .block-entry .headline + .notice {
        font-size: 1rem;
    }

    .entry-info {
        margin-top: 3.2rem;
        display: block;
    }

    .entry-info dt {
        width: 6.8rem;
        margin-right: 1.2rem;
    }

    .entry-info dd {
        font-size: 1.2rem;
    }

    .entry-info .note {
        margin: 1rem auto 0;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-size: 1rem;
    }

    .entry-form {
        margin-top: 3.2rem;
    }

    .form-group {
        display: block;
    }

    .form-group + .form-group {
        margin-top: 1.6rem;
    }

    .form-box + .form-box {
        margin-top: 1.6rem;
        margin-left: 0;
    }

    .form-box dt {
        margin-bottom: 0.8rem;
        font-size: 1.4rem;
    }

    .form-control {
        width: 100%;
        padding: 0.7em 0.8em;
        border-radius: 0.8rem;
        font-size: 1.6rem;
    }

    .form-policy {
        margin-top: 5.4rem;
        padding: 3.2rem 2rem;
        border-radius: 0.8rem;
        color: #00125E;
        font-size: 1.2rem;
    }

    .form-policy dt {
        margin-bottom: 1.5em;
        font-size: 1.4rem;
    }

    .form-doui {
        font-size: 1rem;
    }

    .form-submit {
        width: 90%;
        height: 4.8rem;
        margin-top: 2.4rem;
        padding: 0 3.8rem;
        border-radius: 2.4rem;
        font-size: 1.5rem;
    }

    .form-submit::before {
        right: 2.2rem;
    }

    .form-submit::after {
        content: "";
        width: 2rem;
        height: 2rem;
        top: calc(50% - 1rem);
        right: 1.4rem;
    }

    .wpcf7-not-valid-tip {
        margin-bottom: 0.8rem;
        font-size: 1rem;
    }

    .notice-block {
        margin-top: 3.2rem;
        font-size: 1.6rem;
    }

    .lower::before,
    body.thanks::before {
        width: 100vw;
        height: 255.4rem;
        position: absolute;
        top: 0;
        left: 0;
        background-image: url(../../images/bg_sp.svg);
        background-size: 100% auto;
        -webkit-transform: none;
        transform: none;
    }

    .post-header .info {
        margin-bottom: 1.4rem;
    }

    .post-header .date {
        font-size: 1.4rem;
    }

    .post-header .cat {
        margin-left: auto;
        font-size: 1rem;
    }

    .post-title {
        margin-bottom: 1.5em;
        font-size: 2rem;
    }

    .post-thumbnail {
        margin-bottom: 4rem;
    }

    .post-content {
        font-size: 1.6rem;
    }

    .post-content h2 {
        margin-bottom: 1.5em;
        padding-left: 0.75em;
        font-size: 1.6rem;
    }

    .post-content p {
        font-size: 14px;
    }

    .post-content * + h2 {
        margin-top: 6.4rem;
    }

    .post-footer {
        margin-top: 6.4rem;
        padding-top: 4.8rem;
    }

    .post-footer .btn-01 {
        font-size: 1.3rem;
    }

    .block-request-thanks {
        padding-top: 4rem;
    }
    

    .request-header {
        margin-bottom: 2.6rem;
    }

    .request-logo {
        margin-bottom: 2.8rem;
    }

    .request-logo img {
        width: 27.2rem;
    }

    .request-title {
        font-size: 2rem;
    }

    .request-content p {
        font-size: 1.4rem;
    }

    .request-content .btn-01 {
        font-size: 1.4rem;
    }

    .request-content .btn-01 .icon {
        width: 1.6rem;
    }

    .request-content .btn-01 + p {
        margin-top: 6rem;
    }

    .request-footer {
        margin-top: 6.4rem;
    }

    .request-footer .btn-01 {
        font-size: 1.3rem;
    }

    .hs-form-private {
        display: block;
    }

    .hs-form-field {
        width: 100%;
        margin-bottom: 1.6rem;
    }

    .hs-form-field > label {
        margin-bottom: 0.8rem;
        font-size: 1.4rem;
    }

    .hs-input {
        width: 100%;
        padding: 0.7em 0.8em;
        border-radius: 0.8rem;
        font-size: 1.6rem;
    }

    .hs-richtext {
        padding: 2.4rem 2rem;
        border-radius: 0.8rem;
        font-size: 1.2rem;
    }

    .hs-submit .hs-button {
        width: 90%;
        height: 4.8rem;
        margin-top: 2.4rem;
        padding: 0 3.8rem;
        border-radius: 2.4rem;
        font-size: 1.5rem;
    }

    .hs-submit .hs-button::before {
        right: 2.2rem;
    }

    .hs-submit .hs-button::after {
        content: "";
        width: 2rem;
        height: 2rem;
        top: calc(50% - 1rem);
        right: 1.4rem;
    }
}


/* add 2023.02.20 */
.header-inner {
    justify-content: flex-start;
}

.header--navi {
    white-space: nowrap;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (max-width: 1120px) {
    .header--navi {
        font-size: 14px;
    }
}

@media (max-width: 940px) {
    .header--navi {
        font-size: 12px;
    }
}

@media (max-width: 833px) {
    .header-inner {
        justify-content: center;
    }

    .header--navi {
        display: none;
    }
}

/*.header--navi li + li {*/
/*    margin-left: 16px;*/
/*}*/

.btn-01.header--navi--entry,
.btn-01.header--navi--trial {
    width: 270px;
    height: 48px;

    font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 26px;

    opacity: 1;
}

.btn-01.header--navi--entry {
    max-width: 100%;
    width: 400px;
}

.btn-01.header--navi--entry::before,
.btn-01.header--navi--trial::before {
    top: calc(50% - 3px);
    right: 29px;
}

.btn-01.header--navi--entry::after,
.btn-01.header--navi--trial::after {
    width: 24px;
    height: 24px;
    top: calc(50% - 12px);
    right: 20px;
}

.btn-01.header--navi--entry:hover,
.btn-01.header--navi--trial:hover {
    background-color: #f7dd4b;
    color: #00125E;
    opacity: 0.6;
}

.header--navi--buy,
.header--pop-sp--buy {
    background: #ED3E4E;
    border-radius: 100px;
    width: 134px;
    height: 48px;
    font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 26px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease-in-out;
    opacity: 1;
    position: relative;
}

.header--navi--buy::before,
.header--pop-sp--buy::before {
    content: "";
    background: url(../../images/icon_cart.min.svg) no-repeat 0 0;
    background-size: cover;
    width: 24px;
    height: 24px;
    display: inline-block;

    margin-right: 6px;
}

.header--navi--buy:hover {
    opacity: 0.6;
}

.header--pop-sp--buy {
    margin: 0 auto;
    width: 176px;
}

.header--navi--method,
.header--pop-sp--method {
    background: #93D3DF;
    border-radius: 100px;
    width: 134px;
    height: 48px;
    font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 26px;
    color: #00125E;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease-in-out;
    opacity: 1;
    position: relative;
}

.header--navi--method::before,
.header--pop-sp--method::before {
    content: "";
    background: url(../../images/icon_book.min.svg) no-repeat 0 0;
    background-size: cover;
    width: 24px;
    height: 24px;
    display: inline-block;
    margin-right: 6px;
}

.header--navi--method:hover {
    opacity: 0.6;
}

.header--pop-sp--method {
    margin: 0 auto;
    width: 176px;
}

.header--menu-sp {
    display: none;
}

@media (max-width: 1240px) {
    .fixed-header .header--menu-sp {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 20px;
        top: 22px;
        z-index: 11;
    }

    .fixed-header .header--menu-sp::before {
        content: "";
        background: url(../../images/icon_menu.min.svg) no-repeat center center;
        background-size: contain;
        width: 27px;
        height: 24px;
        display: block;
    }

    .fixed-header .site-header.is_open .header--menu-sp::before, .fixed-header.is_open .header--menu-sp::before {
        background-image: url(../../images/icon_close.min.svg);
        background-size: 22px 22px;
    }
}

@media (max-width: 833px) {
    .header--menu-sp {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 20px;
        top: 16px;
        z-index: 11;
    }

    .header--menu-sp::before {
        content: "";
        background: url(../../images/icon_menu.min.svg) no-repeat center center;
        background-size: contain;
        width: 27px;
        height: 24px;
        display: block;
    }

    .site-header.is_open .header--menu-sp::before, .fixed-header.is_open .header--menu-sp::before {
        background-image: url(../../images/icon_close.min.svg);
        background-size: 22px 22px;
    }

    .fixed-header .header--menu-sp {
        top: 16px;
    }
}


.header--pop-sp {
    background: #fff;
    padding: 50px 20px 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    transition: 0.3s ease-in-out;
    transform: translate3d(200%, 0, 0);
    opacity: 0;
    overflow: scroll;
}

.site-header.is_open + .header--pop-sp {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

.header--pop-sp--link {
    display: block;
}

.header--pop-sp--link li {
    border-top: 1px solid #D6D7E1;
    padding: 15px 0;
    font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 23px;
    color: #00125E;
}

.header--pop-sp--link li:first-child {
    border-top: none;
}

.header--pop-sp--link:last-child {
    border-bottom: none;
}

.header--pop-sp--link .header--navi--link::before {
    display: none;
}

.header--pop-sp--link li a {
    color: #00125E;
}

p.header--pop-sp--btn {
    margin: 24px 0 0;
    text-align: center;
}

p.header--pop-sp--btn + p.header--pop-sp--btn {
    margin-top: 12px;
}

/* add 2023.03.20 */
.header--navi--guideweb,
.header--pop-sp--guideweb {
    background: #00125E;
    border-radius: 100px;
    width: 172px;
    height: 48px;
    font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    line-height: 26px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s ease-in-out;
    opacity: 1;
    position: relative;
}

.header--navi--guideweb::before,
.header--pop-sp--guideweb::before {
    content: "";
    background: url(../../images/icon_window.min.svg) no-repeat 0 0;
    background-size: cover;
    width: 20px;
    height: 17px;
    display: inline-block;

    margin-right: 6px;
}

.header--navi--guideweb:hover {
    opacity: 0.6;
}

.header--pop-sp--guideweb {
    margin: 0 auto;
    width: 176px;
}


/* 2023.04.05 add */
.youtube {
    padding-bottom: 56.25%;

    width: 100%;

    position: relative;
    overflow: hidden;
}

.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.youtube img {
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;

    width: 100%;
    height: auto;
}

.youtube img.movie-thumb-icon {
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);

    width: 68px;
    height: auto;
    display: block;
}

.sp-spacer {
    display: none;
}

@media screen and (max-width: 833px) {
    .sp-spacer {
        display: block;
    }
}

/* =============================
  methodページのCSS
============================= */

.btn-01.blue {
    background-color: #00125E;
    color: #fff;
}

.btn-01.blue::before {
    border-top: 2px solid #00125E;
    border-right: 2px solid #00125E;
    top: calc(50% - 3px);
    right: 29px;
}

.btn-01.blue::after {
    background-color: #f7dd4b;
    width: 24px;
    height: 24px;
    top: calc(50% - 12px);
    right: 20px;
}

.btn-01.blue:hover {
    opacity: 0.6;
}

.btn-01.blue-white {
    background-color: #00125E;
    color: #fff;
}

.btn-01.blue-white::before {
    border-top: 2px solid #00125E;
    border-right: 2px solid #00125E;
    top: calc(50% - 3px);
    right: 29px;
}

.btn-01.blue-white::after {
    background-color: #fff;
    width: 24px;
    height: 24px;
    top: calc(50% - 12px);
    right: 20px;
}

.btn-01.blue-white:hover {
    opacity: 0.6;
}

.section-block p.notes,
.section-block span.notes {
    text-indent: -1em !important;
    margin-left: 1em !important;
    overflow: visible;
}

.section-block span.notes {
    display: block;
}

.section-block ul.notes {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block;
}

.section-block ul.notes li {
    padding: 0;
    text-indent: -1em;
    margin: 0 0 0 1em;
    overflow: visible;
    display: block;
}

.section-block table, .section-block .table {
    border-collapse: separate;
    border-spacing: 0;
    border: none;
    empty-cells: show;
}

.section-block th, .section-block td,
.section-block .th, .section-block .td {
    padding: 0;
    font-weight: normal;
    text-align: left;
    vertical-align: top;
}

.section-block .table {
    display: table;
}

.section-block .tr {
    display: table-row;
}

.section-block .th, .section-block .td {
    display: table-cell;
}

body:not(.home, .sample, .single) .section-block h2 {
    text-align: center;
}

.section-block h2 span.method {
    font-weight: 700;
    font-size: 36px;
    color: #00125E;
}

@media (max-width: 833px) {
    .section-block h2 span.method {
        font-size: 20px;
    }
}


body:not(.thanks, .home, .sample, .method, .single) .section-block p {
    margin: 0;
    padding: 0;
}

.section-block p.read {
    margin-top: 20px;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.875;
    text-align: center;
    color: #00125E;
}

@media (max-width: 833px) {
    .section-block p.read {
        margin-top: 24px;
        font-size: 14px;
        line-height: 144.4444444444%;
        text-align: left;
        letter-spacing: 0;
    }

    .section-block p.read br {
        display: none;
    }
}

.section-block p.read-sub {
    margin-top: 16px;
    font-size: 18px;
    line-height: 144.4444444444%;
    color: #00125E;
    text-align: center;
}

@media (max-width: 833px) {
    .section-block p.read-sub {
        font-size: 14px;
        line-height: 143.75%;
        text-align: left;
    }
}

.section-block .mkr {
    font-weight: 700;
    font-size: 20px;
    line-height: 145%;
    color: #00125E;
}

.method-content .mkr:not(.-method)::before {
    content: "";
    border-style: solid;
    border-width: 5px 0 5px 9px;
    border-color: transparent transparent transparent #374190;
    margin-right: 12px;
    width: 0;
    height: 0;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    top: -0.1em;
}

@media (max-width: 833px) {
    .section-block .mkr:not(.-method)::before {
        display: none;
    }
}

.method-content .mkr.-method::before {
    content: "";
    margin-right: 12px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #00125E;
    border-right: 2px solid #00125E;
    transform: rotate(45deg);
    position: relative;
    top: -2px;
    display: inline-block;
}

.l-card.yellow.cv-block {
    margin: 0 auto;
    padding-top: 15px;
    padding-bottom: 18px;
    max-width: 886px;
    width: 100%;
}

@media (max-width: 833px) {
    .l-card.yellow.cv-block {
        padding: 36px 25px 22px;
    }
}

.l-card.yellow.cv-block .text {
    font-weight: 900;
    font-size: 20px;
    line-height: 145%;
    color: #00125E;
    top: 0;
}

@media (max-width: 833px) {
    .l-card.yellow.cv-block .text {
        font-size: 18px;
        line-height: 144.4444444444%;
        display: inline-block;
        max-width: calc(100% - 158px);
        vertical-align: bottom;
    }
}

.l-card.yellow.cv-block .text .text02 {
    font-size: 20px;
    line-height: 145%;
}

@media (max-width: 833px) {
    .l-card.yellow.cv-block .text .text02 {
        font-size: 18px;
        line-height: 144.4444444444%;
    }
}

.l-card.yellow.cv-block .pic {
    right: 352px;
    font-size: 0;
}

@media (max-width: 833px) {
    .l-card.yellow.cv-block .pic {
        margin: -52px -30px -6px 5px;
        width: 178px;
        display: inline-block;
        vertical-align: bottom;
        position: relative;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
}

.l-card.yellow.cv-block .pic img {
    width: 223px;
    height: auto;
    display: block;
}

@media (max-width: 833px) {
    .l-card.yellow.cv-block .pic img {
        width: 178px;
        height: auto;
        position: relative;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
}

@media (max-width: 833px) {
    h3.mkr.js-toggle_sp {
        color: #fff;
    }

    h3.mkr.js-toggle_sp::before {
        border-color: transparent transparent transparent #fff;
    }
}

@media (max-width: 833px) {
    .js-toggle_sp {
        background: #00125E;
        border-radius: 100px;
        padding: 10px 38px 12px;
        position: relative;
    }

    .js-toggle_sp::after {
        content: "ー";
        background: #fff;
        border-radius: 100px;
        width: 24px;
        height: 24px;
        padding-bottom: 2px;
        font-weight: 300;
        font-size: 18px;
        line-height: 18px;
        letter-spacing: 0;
        color: #00125E;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 50%;
        right: 36px;
        -webkit-transition: 0.5s;
        transition: 0.5s;
        -webkit-transform: translateY(-50%) rotate(0);
        transform: translateY(-50%) rotate(0);
    }
}

.js-toggle_sp.is-close::after {
    content: "＋";
    -webkit-transform: translateY(-50%) rotate(360deg);
    transform: translateY(-50%) rotate(360deg);
}

body:not(.home, .method) #hero-visual {
    padding-bottom: 0;
    margin-bottom: 73px;
}

@media (max-width: 833px) {
    #hero-visual {
        margin-bottom: 32px;
    }
}

.block-hero img.hero-logo {
    width: 340px;
    height: 40px;
    display: block;
}

@media (max-width: 833px) {
    .block-hero img.hero-logo {
        margin: 0 auto;
        max-width: 214px;
        width: 100%;
        height: auto;
    }
}

body:not(.home, .sample) .block-hero h2 {
    margin: 11px 0 0;
    font-weight: 700;
    font-size: 64px;
    line-height: 145.3125%;
    color: #00125E;
}

@media (max-width: 833px) {
    body:not(.home) .block-hero h2 {
        margin-top: 0;
        font-size: 32px;
        line-height: 143.75%;
        text-align: center;
    }
}

.block-hero .read {
    margin: 17px 0 0;
    font-weight: 700;
    font-size: 24px;
    line-height: 158.3333333333%;
    color: #00125E;
}

@media (max-width: 833px) {
    .block-hero .read {
        margin-top: 12px;
        font-size: 16px;
        line-height: 143.75%;
        text-align: center;
    }
}

.block-hero--visual_sp {
    display: none;
}

@media (max-width: 833px) {
    .block-hero--visual_sp {
        margin: 16px -1.6rem 0;
        display: block;
    }
}

.block-hero--visual_sp img {
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
    height: auto;
    display: block;
}

.block-hero .comment {
    margin: 36px 0 0;
    font-weight: 700;
    font-size: 18px;
    line-height: 222.2222222222%;
    color: #00125E;
    text-decoration-line: underline;
    text-decoration-color: #00125E;
    text-decoration-style: dashed;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.5em;
}

@media (max-width: 833px) {
    .block-hero .comment {
        font-size: 14px;
        line-height: 178.5714285714%;
    }

    .block-hero .comment br {
        display: none;
    }
}

.block-hero .l-card.yellow.cv-block {
    margin-top: 134px;
}

@media (max-width: 833px) {
    .block-hero .l-card.yellow.cv-block {
        margin-top: 29px;
    }
}

@media (max-width: 833px) {
    .block-hero .hero-lead .comment {
        display: none;
    }
}

.block-hero .hero-lead_sp {
    display: none;
}

@media (max-width: 833px) {
    .block-hero .hero-lead_sp {
        margin-top: 12px;
        display: block;
    }

    .block-hero .hero-lead_sp .comment {
        margin-top: 0;
        display: block;
    }
}

@media (max-width: 833px) {
    body:not(.home) .hero-slider {
        display: none;
    }
}


/* 学習法 */

.method__container {
  width: 100%;
  height: 100%;
  background-image: url('../../images/material-bg.png');
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
}
.method__container .catch__contents {
    position: relative;
    font-weight: 900;
    margin-block-end: 7.9rem;
}

@media (max-width: 833px) {
  .method__container .catch__contents {
        margin-block-end: 0;
        padding-block-start: 2.4rem;
    }
}

.method__container .catch__content--top {
  position: relative;
  display: flex;
  align-items: center;
  height: 32.94vw;
  margin-block-end: 5.6rem;
}

.method__container .catch__content--top::before {
  content: "";
  position: absolute;
  bottom: -5.2rem;
  left: 6.9rem;
  width: 8.8rem;
  height: 15.6rem;
  background: url(../../images/object_v.svg);
  background-size: cover;
  background-repeat: no-repeat;
}

@media (width <= 833px) {
  .method__container .catch__content--top {
    flex-direction: column;
    gap: 2.4rem;
    align-items: flex-start;
    margin-block-end: 2.4rem;
    width: 100%;
    height: auto;
  }

  .method__container .catch__content--top::before {
    display: none;
  }
}

.method__container .catch__title {
  font-size: clamp(1.6rem,3.95vw,3.6rem);
  margin-inline-start: 12.52%;
  position: relative;
  z-index: 1;
}

@media (width <= 833px) {
  .method__container .catch__title {
    margin-inline: 3.625rem;
    font-size: 2.4rem;
  }
}

.method__container .catch__title h2 {
  letter-spacing: 0.08em;
}

@media (width <= 833px) {
  .method__container .catch__title h2 {
    font-size: 2.4rem;
    line-height: 24px;
    margin-block-end: 1.2rem;
  }
}

.method__container .catch__title p {
  letter-spacing: 0.04em;
  font-size: 2.4rem;
}

@media (width <= 833px) {
  .method__container .catch__title p {
    font-size: 1.4rem;
    line-height: 14px;
  }
}

.method__container .catch__content--text {
  font-size: 2.4rem;
  text-align: center;
  padding-inline: 4.18%;
}

.method__container .catch__content--text p {
  max-width: 85rem;
  margin-inline: auto;
  margin-block-end: 6.4rem;
}

@media (width <= 833px) {
  .method__container .catch__content--text p {
    font-size: 1.4rem;
    line-height: 25.2px;
    letter-spacing: 0;
    margin-block-end: 1.6rem;
  }
}

.char--teal {
  color: #19A5A7;
}

.char--red {
  color: #ED3E4E;
}

.method__container .catch__image--wrapper {
  width: 58.57%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.method__container .catch__image--wrapper img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (width <= 833px) {
  .method__container .catch__image--wrapper {
    width: 100%;
    position: relative;
    top: auto;
    transform: none;
    right: auto;
  }
}

.method__anchor--wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-block-end: -23rem;
  gap: 2rem;
  padding-inline: 3.2rem;
}

@media (max-width: 833px) {
  .method__anchor--wrapper {
    flex-direction: column;
    margin-block-end: 0;
    gap: 1.2rem;
    padding-inline: 1.6rem;
    background-color: #FFEAF6;
    padding-block: 2.4rem;
  }
}

.method__anchor {
  width: 25.11vw;
  max-width: 34.3rem;
  height: 23.87vw;
  max-height: 32.6rem;
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 833px) {
  .method__anchor {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    padding-block: 2.4rem;
    background: #fff;
    border-radius: 1rem;
    padding-inline: 1.6rem;
  }
}

.method__anchor--link {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.method__anchor--shape {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: url(../../images/method_anchor.svg);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -1;
}

@media (max-width: 833px) {
  .method__anchor--shape {
    display: none;
  }
}

.method__anchor--shadow {
  content: '';
  position: absolute;
  top: 55%;
  left: 55%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background: url(../../images/method_anchor_shadow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  z-index: -2;
}

@media (max-width: 833px) {
  .method__anchor--shadow {
    display: none;
  }
}

.method__anchor--content {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.59vw;
}

@media (max-width: 833px) {
  .method__anchor--content {
    width: 100%;
    flex-direction: row;
    text-align: start;
    justify-content: space-between;
  }
}

.method__anchor--content--text {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap: 0.59vw;
}

@media (max-width: 833px) {
  .method__anchor--content--text {
    align-items: flex-start;
  }
}

.method__anchor--content--upper {
  font-size: 1.4rem;
  line-height: 28.8px;
  font-weight: 900;
  letter-spacing: 0;
}

@media (max-width: 1150px) {
  .method__anchor--content--upper {
    font-size: 1.2rem;
    line-height: 21.6px;
  }
}

@media (max-width: 900px) {
  .method__anchor--content--upper {
    font-size: 1rem;
    line-height: 18px;
  }
}

@media (max-width: 833px) {
  .method__anchor--content--upper {
    font-size: 1.1rem;
    line-height: 19.2px;
  }
}

.method__anchor--content--lower {
  font-size: 2.4rem;
  line-height: 36px;
  font-weight: 900;
  letter-spacing: 0;
}

@media (max-width: 1150px) {
  .method__anchor--content--lower {
    font-size: 1.6rem;
    line-height: 22.8px;
  }
}

@media (max-width: 900px) {
  .method__anchor--content--lower {
    font-size: 1.4rem;
    line-height: 20px;
  }
}

@media (max-width: 833px) {
  .method__anchor--content--lower {
    font-size: 1.8rem;
    line-height: 28.8px;
  }
}

.method__anchor--content--icon {
  width: 2.34vw;
  max-width: 3.2rem;
  height: 2.34vw;
  max-height: 3.2rem;
}

@media (max-width: 833px) {
  .method__anchor--content--icon {
    width: 2.4rem;
    height: 2.4rem;
    flex-shrink: 0;
  }
}

.methods-content-wrapper {
  width: 100%;
  background-color: #FBEEA5;
}

.methods-content-inner {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding-block: 17.4rem 10.4rem;
  padding-inline: 3.2rem;
}

@media (max-width: 833px) {
  .methods-content-inner {
    padding-inline: 1.6rem;
    padding-block: 4.8rem;
  }
}

.methods-title-wrapper {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.4rem;
  margin-block-end: 12.6rem;
}

@media (max-width: 833px) {
  .methods-title-wrapper {
    gap: 1.6rem;
    margin-block-end: 5.6rem;
  }
}

.methods-title-wrapper h2 {
  font-size: 3.6rem;
  line-height: 64.8px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

@media (max-width: 833px) {
  .methods-title-wrapper h2 {
    font-size: 2rem;
    line-height: 32px;
  }
}

.methods-title-wrapper p {
  font-size: 2rem;
  line-height: 36px;
  letter-spacing: 0.08em;
  font-weight: 900;
}

@media (max-width: 833px) {
  .methods-title-wrapper p {
    font-size: 1.6rem;
    line-height: 28.8px;
  }
}

.method-content {
  background-color: #fff;
  padding-block: 8rem 6.4rem;
  padding-inline: 6.4rem;
  position: relative;
  border-radius: 2.4rem;
}

@media (max-width: 833px) {
  .method-content {
    padding-block: 4.8rem 2.4rem;
    padding-inline: 1.6rem;
  }
}
.method-section-title {
  position: absolute;
  top: -3.15vw;
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(2rem, 2.4vw, 2.8rem);
  line-height: 56px;
  font-weight: 900;
  color: #fff;
  height: 5.64vw;
  max-height: 7.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 1.46vw;
  z-index: 0;
  min-width: 40rem;
}

@media (min-width: 1366px) {
  .method-section-title {
    top: -3.5rem;
  }
}

@media (max-width: 833px) {
  .method-section-title {
    top: -2.4rem;
    font-size: 2rem;
    line-height: 28.8px;
    height: 4.9rem;
    padding-inline: 1.6rem;
    min-width: 26.5rem;
  }
}

.method-section-title::before {
  content: '';
  position: absolute;
  top: 0;
  left: -1rem;
  right: -1rem;
  bottom: -0.5rem;
  background-color: #00125E;
  clip-path: polygon(0 0, 100% 10%, 95% 80%, 5% 100%);
  z-index: -1;
}

.method-section--catch {
  font-size: 2.8rem;
  line-height: 36.4px;
  letter-spacing: 0.08em;
}

@media (max-width: 833px) {
  .method-section--catch {
    font-size: 1.8rem !important;
    line-height: 27px !important;
  }
}

.method-section--description {
  font-size: 2rem;
  line-height: 36px;
  margin-block-start: 1.6rem;
  font-weight: 700;
  text-align: center;
}

@media (max-width: 833px) {
  .method-section--description {
    font-size: 1.4rem;
    line-height: 25.2px;
    margin-block-start: 0.8rem;
    text-align: start;
  }
}

.block-method--content--header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
  margin-block: 4rem 4.8rem;
}

@media (max-width: 833px) {
  .block-method--content--header {
    flex-direction: column;
    gap: 1.2rem;
    margin-block: 2.4rem 3.2rem;
  }
}

.block-method--content--header--img {
  width: calc(50% + 4rem);
}

@media (max-width: 833px) {
  .block-method--content--header--img {
    width: 100%;
  }
}

.block-method--content--header--img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 2rem;
}

.block-method--content--header--text {
  width: calc(50% - 4rem);
}

@media (max-width: 833px) {
  .block-method--content--header--text {
    width: 100%;
  }
}

.block-method--swiper--content {
  width: 100%;
  background: #ECF3FB;
  padding: 3.2rem;
  border-radius: 2.4rem;
  overflow: hidden;
}

@media (max-width: 833px) {
  .block-method--swiper--content {
    padding: 1.6rem;
  }
}

.block-method--swiper--content:not(:last-child) {
  margin-block-end: 4rem;
}

@media (max-width: 833px) {
  .block-method--swiper--content:not(:last-child) {
    margin-block-end: 1.6rem;
  }
}

.block-method--swiper--content--top {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 1.2rem;
  margin-block-end: 3.2rem;
}

@media (max-width: 833px) {
  .block-method--swiper--content--top {
    gap: 0.4rem;
    margin-block-end: 1.6rem;
  }
}

.block-method--swiper--content--top.flex {
  flex-direction: row;
}

@media (max-width: 833px) {
  .block-method--swiper--content--top.flex {
    flex-direction: column;
  }
}

.block-method--swiper--content--label {
  display: inline-block;
  background: #00125E;
  font-size: 1.7rem;
  line-height: 17px;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: #fff;
  padding: 0.8rem 1.6rem;
  border-radius: 999px;
}

@media (max-width: 833px) {
  .block-method--swiper--content--label {
    font-size: 1.2rem;
    line-height: 12px;
    padding: 0.6rem 1.2rem;
  }
}

.block-method--swiper--content--catch {
  font-size: 2.4rem;
  line-height: 43.2px;
  font-weight: 900;
  letter-spacing: 0;
  margin-bottom: 0 !important;
}

@media (max-width: 833px) {
  .block-method--swiper--content--catch {
    font-size: 1.6rem;
    line-height: 28.8px;
  }
}

.block-method--swiper--content--catch span {
  color: #ED3E4E;
}

.block-method--swiper--content--description {
  font-size: 1.6rem;
  line-height: 28.8px;
  font-weight: 500;
  letter-spacing: 0;
}

@media (max-width: 833px) {
  .block-method--swiper--content--description {
    font-size: 1.2rem;
    line-height: 21.6px;
    text-align: start;
  }
}

/* スライダー全体のスタイル */
.swiper-container.method-slider {
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding-block-end: 4.2rem;
}

/* スライダーの中身 */
.swiper-wrapper.method-slider-wrapper {
  display: flex;
}

/* 各スライド */
.method-slider .swiper-slide.slide__flex--wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 100%; /* スライドの幅を100%に設定 */
  box-sizing: border-box;
}

@media (max-width: 833px) {
  .method-slider .swiper-slide.slide__flex--wrapper {
    flex-direction: column;
    gap: 1.6rem;
  }
}

/* 画像部分 */
.method-slider .slider-img-wrapper {
  width: 54.66%;
}

@media (max-width: 833px) {
  .method-slider .slider-img-wrapper {
    width: 100%;
    margin-block-end: 0;
  }
}

.method-slider .slider-img-wrapper img {
  width: 100%;
  height: auto;
  border-radius: 2.4rem;
}

/* テキスト部分 */
.method-slider .slider-text-wrapper {
  width: calc(100% - 54.66%);
  padding-inline-end: 6rem;
}

@media (max-width: 833px) {
  .method-slider .slider-text-wrapper {
    width: 100%;
    padding-inline: 0;
  }
}

.method-slider .slider-text {
  gap: 0;
}

.method-slider .slider-text__title {
  background: #009FD4;
  color: #fff;
  font-size: 1.8rem;
  line-height: 18px;
  letter-spacing: 0.04em;
  font-weight: 900;
  width: 100%;
  min-height: 4.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block-end: 1.6rem;
}

@media (max-width: 833px) {
  .method-slider .slider-text__title {
    font-size: 1.4rem;
    line-height: 14px;
    min-height: 3rem;
    margin-block-end: 0.8rem;
  }
}

.method-slider .slider-text__subtitle {
  font-size: 1.6rem;
  line-height: 25.6px;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-block-end: 0.8rem;
}

@media (max-width: 833px) {
  .method-slider .slider-text__subtitle {
    font-size: 1.2rem;
    line-height: 19.2px;
  }
}

.method-slider .slider-text__subtitle.fw-900 {
  font-weight: 900;
}

.method-slider .slider-text__subtitle span {
  font-size: 2rem;
  line-height: 32px;
  letter-spacing: 0.04em;
}

@media (max-width: 833px) {
  .method-slider .slider-text__subtitle span {
    font-size: 1.4rem;
    line-height: 22.4px;
  }
}

.method-slider .slider-text__description {
  font-size: 1.6rem;
  line-height: 25.6px;
  font-weight: 400;
}

@media (max-width: 833px) {
  .method-slider .slider-text__description {
    font-size: 1.2rem;
    line-height: 19.2px;
  }
}

/* ページネーション */
.swiper-pagination.method-swiper-pagination {
  position: absolute;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  width: auto !important;
}

.swiper-pagination.method-swiper-pagination .swiper-pagination-bullet {
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
}

@media (max-width: 833px) {
  .swiper-pagination.method-swiper-pagination .swiper-pagination-bullet {
    width: 1.456rem;
    height: 1.456rem;
  }
}

.swiper-pagination.method-swiper-pagination .swiper-pagination-bullet-active {
  background-color: #00125E;
}

/* ナビゲーションボタン */
.method-swiper-button-prev {
  position: absolute;
  top: 50%;
  left: -3%;
  width: 50px;
  height: 50px;
  background: #00125E;
  border: 3px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  z-index: 1;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.method-swiper-button-next {
  position: absolute;
  top: 50%;
  right: -3%;
  width: 50px;
  height: 50px;
  background: #00125E;
  border: 3px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  z-index: 1;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.method-swiper-button-next::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
}
@media (max-width: 833px) {
  .method-swiper-button-next,
  .method-swiper-button-prev {
      width: 30px;
      height: 30px;
      top: 36%;
  }

  .method-swiper-button-prev {
    left: -1.3rem;
  }

  .method-swiper-button-next {
    right: -1.3rem;
  }
}

@media (max-width: 600px) {
  .method-swiper-button-next,
  .method-swiper-button-prev {
      top: 32%;
  }
}

@media (max-width: 400px) {
  .method-swiper-button-next,
  .method-swiper-button-prev {
      top: 22%;
  }
}

.method-swiper-button-prev::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(-135deg);
}

.method-swiper-button-prev::after {
  margin-inline-start: 5px;
}

.method-swiper-button-next::after {
  margin-inline-end: 5px;
}

@media (max-width: 833px) {
  .method-swiper-button-prev::after,
  .method-swiper-button-next::after {
      width: 8px;
      height: 8px;
  }

  .method-swiper-button-prev::after {
      margin-inline-start: 3px;
  }

  .method-swiper-button-next::after {
      margin-inline-end: 3px;
  }
}


.block-method--details {
    display: flex;
    flex-direction: column;
    gap: 12.6rem;
    position: relative;
    overflow: visible;
}

@media (max-width: 833px) {
    .block-method--details {
      gap: 5.6rem;
    }
}

.block-method--details h2:not(.-method) {
    margin-top: 240px;
}

.block-method--details h4 {
    font-size: 2.8rem;
    line-height: 36.4px;
    letter-spacing: 0.08em;
    font-weight: 900;
}

@media (max-width: 833px) {
    .block-method--details h4 {
        font-size: 2rem;
        line-height: 36px;
    }
}

.block-method--details .catch {
    margin: 16px auto 0;
    font-weight: 700;
    font-size: 20px;
    line-height: 150%;
    text-align: center;
    color: #00125E;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 16px;
    letter-spacing: 0;
}

@media (max-width: 833px) {
    .block-method--details .catch {
        font-size: 14px;
        line-height: 137.5%;
    }
}

.block-method--details .catch::before, .block-method--details .catch::after {
    content: "";
    background: #132168;
    width: 48px;
    height: 1px;
    display: block;
}

@media (max-width: 833px) {
    .block-method--details .catch::before, .block-method--details .catch::after {
        width: 30px;
    }
}

.block-method--details h2[class=first] + .catch {
    margin-top: -7px;
}

.block-method--details--explanation {
    margin-top: 5.6rem;
    border-style: solid none;
    border-width: 1px;
    border-color: #132168;
    padding: 32px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 48px;
}

@media (max-width: 833px) {
    .block-method--details--explanation {
        margin-top: 22px;
        padding: 23px 0;
        display: block;
    }
}

.block-method--details--img {
    width: calc(34.6% + 48px);
    max-width: 36.4rem;
}

@media (max-width: 833px) {
    .block-method--details--img {
        width: 100%;
        max-width: 100%;
        margin-block-end: 2.1rem;
    }
}

.block-method--details--description--wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    width: calc(100% - 34.6% - 48px);
}

@media (max-width: 833px) {
    .block-method--details--description--wrapper {
        width: 100%;
        gap: 0.6rem;
    }
}

.block-method--details--explanation h5 {
    padding: 10px 36px;
    width: 201px;
    text-align: center;
    font-weight: 700;
    font-size: 20px;
    color: #fff;
    background: #00125E;
    border-radius: 10px;
    flex: none;
}

@media (max-width: 833px) {
    .block-method--details--explanation h5 {
        font-size: 16px;
        padding: 10px 20px;
        width: 150px;
    }
}

.block-method--details--explanation p {
    flex: auto;
    font-weight: 700;
    line-height: 166.6666666667%;
    color: #00125E;
    letter-spacing: 0;
}

@media (max-width: 833px) {
    .block-method--details--explanation p {
        max-width: 100%;
        font-weight: 500;
        font-size: 14px;
        line-height: 2.1;
    }
}

.block-method--details--column {
    background: #FFFBE3;
    min-height: 20.4rem;
    padding: 24px 0;
    display: flex;
    border-radius: 10px;
}

@media (max-width: 833px) {
    .block-method--details--column {
        padding: 8px 24px;
        display: block;
    }
}

.block-method--details--column--section {
    padding: 0 22px;
    max-width: 361.3333333333px;
    width: 33.333%;
}

@media (max-width: 833px) {
    .block-method--details--column--section {
        padding: 30px 0;
        max-width: 100%;
        width: 100%;
    }
}

.block-method--details--column--section + .block-method--details--column--section {
    border-left: 1px dashed #132168;
}

@media (max-width: 833px) {
    .block-method--details--column--section + .block-method--details--column--section {
        border-top: 1px dashed #132168;
        border-left: none;
    }
}

.block-method--details--merit {
    margin-top: 32px;
}

@media (max-width: 833px) {
    .block-method--details--merit {
        margin-top: 27px;
    }
}

.block-method--details--merit h4 {
  font-weight: 900;
  font-size: 2rem;
  line-height: 36px;
  color: #00125E;
  letter-spacing: 0.08em;
}

@media (max-width: 833px) {
    .block-method--details--merit h4 {
        font-size: 1.8rem;
        line-height: 27px;
    }
}

.block-method--details--merit h5 {
    margin: 0;
    padding: 0;
    font-weight: 700;
    font-size: 16px;
    line-height: 143.75%;
    letter-spacing: 0;
    color: #00125E;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 8px;
}

.block-method--details--merit h5::before, .block-method--details--merit h5::after {
    content: "";
    background: url(../../images/method-h4_merit_ico.min.png) no-repeat center center;
    background-size: contain;
    width: 17.24px;
    height: 20.53px;
    display: block;
}

.block-method--details--merit p {
    margin-top: 16px;
    font-weight: 500;
    font-size: 14px;
    line-height: 142%;
    letter-spacing: 0;
    color: #00125E;
}

@media (max-width: 833px) {
    .block-method--details--merit p {
        margin-top: 16px;
    }
}

.block-method--details--merit .block-method--details--column {
    margin-top: 12px;
}

.block-method--details h4.block-method--details--point-strong {
    margin-top: 65px;
    font-weight: 700;
    font-size: 32px;
    line-height: 1.5;
    text-align: center;
    color: #00125E;
}

@media (max-width: 833px) {
    .block-method--details h4.block-method--details--point-strong {
        margin-top: 27px;
        font-size: 16px;
        line-height: 1.875;
        text-align: left;
    }
}

.block-method--details p.block-method--details--point-strong {
    margin-top: 20px;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.875;
    text-align: center;
    color: #00125E;
}

@media (max-width: 833px) {
    .block-method--details p.block-method--details--point-strong {
        margin-top: 16px;
        font-size: 14px;
        line-height: 2.14;
        text-align: left;
    }
}

.block-method--details p.block-method--details--point-strong + .l-card.yellow.cv-block {
    margin-top: 98px;
}

@media (max-width: 833px) {
    .block-method--details p.block-method--details--point-strong + .l-card.yellow.cv-block {
        margin-top: 33px;
    }
}

.block-method--details--set-details {
    margin-top: 32px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
}

@media (max-width: 833px) {
    .block-method--details--set-details {
        margin-top: 24px;
        display: block;
    }
}

.block-method--details--set-details > div {
    background: #EEF9FF;
    padding: 56px 24px 24px;
    width: 50%;
    overflow: hidden;
    border-radius: 10px;
    position: relative;
}

@media (max-width: 833px) {
    .block-method--details--set-details > div {
        padding: 56px 24px 24px;
        width: 100%;
    }
}

@media (max-width: 833px) {
    .block-method--details--set-details > div + div {
        margin-top: 8px;
    }
}

.block-method--details--set-details h4 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 10px;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    text-align: center;
    background: #009FD4;
}

.block-method--details--set-details p {
    font-weight: 500;
    font-size: 14px;
    line-height: 2;
    color: #00125E;
    letter-spacing: 0;
}

.block-method--details--set-details--move--column {
    margin-top: 12px;
    display: flex;
    gap: 5px;
}

@media (max-width: 833px) {
    .block-method--details--set-details--move--column {
        display: block;
    }
}

.block-method--details--set-details--move--column + p {
    margin-top: 12px;
}

@media (max-width: 833px) {
    .block-method--details--set-details--move--column + p {
        margin-top: 16px;
    }
}

.block-method--details--set-details--move--column--img {
    width: 50%;
}

@media (max-width: 833px) {
    .block-method--details--set-details--move--column--img {
        margin: 0 auto;
        padding-right: 0;
        max-width: 217px;
        width: 100%;
    }
}

.block-method--details--set-details--move--column--img img {
    width: 100%;
    height: auto;
    display: block;
}

.block-method--details--set-details--move--column--img + .block-method--details--set-details--move--column--img {
    padding-right: 0;
}

@media (max-width: 833px) {
    .block-method--details--set-details--move--column--img + .block-method--details--set-details--move--column--img {
        margin-top: 8px;
        padding-top: 8px;
        border-left: none;
        padding-left: 0;
        padding-right: 0;
    }
}

.block-method--details--set-details--book--column {
    margin-top: 20px;
    display: flex;
    gap: 0 24px;
}

@media (max-width: 833px) {
    .block-method--details--set-details--book--column {
        margin-top: 12px;
        display: block;
    }
}

.block-method--details--set-details--book--column--img {
    width: 180px;
}

@media (max-width: 833px) {
    .block-method--details--set-details--book--column--img {
        width: 100%;
        text-align: center;
    }
}

.block-method--details--set-details--book--column--img img {
    max-width: 180px;
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 833px) {
    .block-method--details--set-details--book--column--img img {
        margin: 0 auto;
    }
}

.block-method--details--set-details--book--column p {
    width: calc(100% - 204px);
}

@media (max-width: 833px) {
    .block-method--details--set-details--book--column p {
        margin-top: 16px;
        width: 100%;
    }
}

.block-method--details--study {
    margin-top: 32px;
}

.block-method--details--study h4 {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px 0px;
    height: 31px;
    background: #798FBC;
    border-radius: 100px;
    font-weight: 700;
    font-size: 16px;
    line-height: 143.75%;
    color: #fff;
}

.block-method--details--study p {
    margin-top: 12px;
    font-weight: 500;
    font-size: 15px;
    line-height: 160%;
    color: #00125E;
}

.block-method--details--study .notes {
    margin-top: 12px;
    font-size: 12px;
    line-height: 133.3333333333%;
}

.block-method--details--study .block-method--details--column {
    margin-top: 12px;
}

.block-method--details--be-able-to {
    margin-block: 58px 65px;
    width: 100%;
    display: flex;
    gap: 0 12px;
}

@media (max-width: 833px) {
    .block-method--details--be-able-to {
        display: block;
    }
}

.block-method--details--be-able-to h3 {
    font-weight: 700;
    font-size: 32px;
    line-height: 145.8333333333%;
    color: #00125E;
}

@media (max-width: 833px) {
    .block-method--details--be-able-to h3 {
        font-size: 18px;
        line-height: 143.75%;
    }
}

.block-method--details--be-able-to p {
    margin-top: 20px;
    font-weight: 500;
    font-size: 16px;
    line-height: 143.75%;
    color: #00125E;
}

@media (max-width: 833px) {
    .block-method--details--be-able-to p {
        font-size: 14px;
        line-height: 142.8571428571%;
    }
}

@media (max-width: 833px) {
    .block-method--details--be-able-to--picture {
        margin: 16px auto 0;
    }
}

.block-method--details--be-able-to--picture {
    flex: none;
}

.block-method--details--be-able-to--picture img {
    max-width: 364px;
    width: 100%;
    height: auto;
    display: block;

}

@media (max-width: 833px) {
    .block-method--details--be-able-to--picture img {
        max-width: 100%;
    }
}

.block-method--details--point3 + .l-card.yellow.cv-block {
    margin-top: 102px;
}

@media (max-width: 833px) {
    .block-method--details--point3 + .l-card.yellow.cv-block {
        margin-top: 33px;
    }
}

.block-method--details--point3 {
    margin-top: 40px;
    display: flex;
    gap: 0 24px;
}

@media (max-width: 833px) {
    .block-method--details--point3 {
        margin-top: 16px;
        display: block;
    }
}

.block-method--details--point3--section {
    background: #EEF9FF;
    padding: 70px 21px 48px;
    width: 33.3333333%;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

@media (max-width: 833px) {
    .block-method--details--point3--section {
        max-width: 100%;
        width: 100%;
    }
}

@media (max-width: 833px) {
    .block-method--details--point3--section + .block-method--details--point3--section {
        margin-top: 8px;
    }
}

.block-method--details--point3--section h4 {
    padding: 10px;
    width: 100%;
    font-weight: 700;
    font-size: 20px;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    background: #009FD4;
    text-align: center;
}

.block-method--details--point3--section h3 .num {
    font-size: 32px;
    line-height: 1;
    margin-left: 8px;
}

.block-method--details--point3--section--picture {
    margin-top: 12px;
    text-align: center;
    margin-bottom: 24px;
}

.block-method--details--point3--section--picture img {
    margin: 0 auto;
    max-width: 191px;
    width: 100%;
    height: auto;
    display: block;
}

.block-method--details--point3--section p {
    margin-top: 10px;
    font-weight: 500;
    font-size: 14px;
    line-height: 142%;
    letter-spacing: 0;
    color: #00125E;
}

@media (max-width: 833px) {
    .block-method--details--point3--section p {
        font-size: 14px;
        line-height: 142.8571428571%;
    }
}

.block-method--details--point3--section p.block-method--details--point3--section--title {
    font-weight: 700;
    line-height: 1.875;
    color: #00125E;
    margin-bottom: 0;
    font-size: 16px;
    letter-spacing: 0;
}

.method.supervisor {
  background: #FFEAF6;
  margin-block-start: 0;
}

.method__supervisor--title {
  font-size: clamp(3rem, 3.6vw, 3.2rem);
  line-height: 57.6px;
  letter-spacing: 0.08em;
  font-weight: 900;
  color: #00125E;
}

@media (max-width: 833px) {
  .method__supervisor--title {
    font-size: 2rem;
    line-height: 36px;
  }
}

.method.supervisor .supervisor__title {
  background: url(../../images/method_supervisor_title_bg.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 22.138rem;
  height: 5.6rem;
}

.method.supervisor .supervisor__title span {
  line-height: 45px;
}

.method.supervisor .supervisor__card--wrapper {
  margin-block-end: 6.4rem;
}

@media (max-width: 833px) {
  .method.supervisor .supervisor__card--wrapper {
    margin-block-end: 5.6rem;
  }
}

.method.supervisor .supervisor__name h4 {
  font-size: 2rem;
  line-height: 32px;
  font-weight: 700;
}

.supervisor__flow--top {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4.4rem;
  margin-block-end: 3.2rem;
}

@media (max-width: 833px) {
  .supervisor__flow--top {
    flex-direction: column;
    gap: 0.8rem;
    margin-block-end: 2.4rem;
  }
}

.supervisor__flow--top--text {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  width: calc(46.13% + 2.2rem);
}

@media (max-width: 833px) {
  .supervisor__flow--top--text {
    width: 100%;
    gap: 0.8rem;
  }
}

.supervisor__flow--top--text h3 {
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 50.4px;
  letter-spacing: 0.08em;
}

@media (max-width: 833px) {
  .supervisor__flow--top--text h3 {
    font-size: 2rem;
    line-height: 32px;
  }
}

.supervisor__flow--top--text h3 span {
  background: linear-gradient(to top, transparent 0 10%, rgba(255, 227, 75, 0.5) 10% 40%, transparent 40% 100%);
}

.supervisor__flow--top--text p {
  font-size: 2rem;
  font-weight: 700;
  line-height: 36px;
}

@media (max-width: 833px) {
  .supervisor__flow--top--text p {
    font-size: 1.4rem;
    line-height: 25.2px;
  }
}

.supervisor__flow--top--img {
  width: calc(100% - 46.13% - 2.2rem);
}

@media (max-width: 833px) {
  .supervisor__flow--top--img {
    width: 100%;
  }
}

.supervisor__flow--list {
  max-width: 88rem;
  margin-inline: auto;
  width: 100%;
}

.supervisor__flow--list--item--wrapper {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.supervisor__flow--list--item {
  display: flex;
  align-items: center;
  border: 1px solid #00125E;
  min-height: 5.6rem;
  background-color: #fff;
  position: relative;
}

@media (max-width: 833px) {
  .supervisor__flow--list--item {
    flex-direction: column;
  }
}

.supervisor__flow--list--item:not(:last-child)::before {
  content: "";
  position: absolute;
  bottom: -4rem;
  left: 50%;
  transform: translateX(-50%);
  background: url(../../images/method_chevron_down.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 2.4rem;
  height: 2.4rem;
}

.supervisor__flow--list--item dt {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  background-color: #00125E;
  padding: 0.8rem;
  width: 35%;
}

@media (max-width: 833px) {
  .supervisor__flow--list--item dt {
    width: 100%;
  }
}

.supervisor__flow--list--item dt > p {
  font-size: 1.8rem;
  line-height: 20px;
  font-weight: 700;
  color: #fff;
}

@media (max-width: 833px) {
  .supervisor__flow--list--item dt > p {
    font-size: 1.6rem;
    line-height: 20px;
  }
}

.supervisor__flow--list--item dt > img {
  zoom: 0.5;
}

.supervisor__flow--list--item dd {
  font-size: 1.6rem;
  line-height: 25.6px;
  font-weight: 500;
  padding: 0.8rem 1.6rem;
  width: 65%;
}

@media (max-width: 833px) {
  .supervisor__flow--list--item dd {
    width: 100%;
    font-size: 1.4rem;
    line-height: 22.4px;
  }
}

.method-lineup__inner {
  width: 100%;
  max-width: calc(1084px + 6.4rem);
  margin-inline: auto;
  padding-block: 10.4rem;
  padding-inline: 3.2rem;
}

@media (max-width: 833px) {
  .method-lineup__inner {
    padding-block: 4.8rem;
    padding-inline: 3.2rem;
  }
}

.method-lineup__title {
  margin-block-end: 8rem;
  display: flex;
  justify-content: center;
  position: relative;
}

.method-lineup__title span {
  background: #00125E;
  color: #fff;
  font-size: 4rem;
  font-weight: 900;
  line-height: 72px;
  letter-spacing: 0.08em;
  padding-inline-start: 1.6rem;
  width: fit-content;
}

.method-lineup__title span:nth-child(2) {
  padding-inline-start: 0;
  padding-inline-end: 1.6rem;
}

.method-lineup__title::before {
  content: "";
  position: absolute;
  top: -3.6rem;
  right: -10rem;
  background: url(../../images/object_d.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 11.709rem;
  height: 12.552rem;
}

@media (max-width: 1250px) {
  .method-lineup__title::before {
    display: none; 
  }
}

@media (max-width: 833px) {
  .method-lineup__title {
    margin-block-end: 4rem;
    flex-direction: column;
    gap: 0.8rem;
  }

  .method-lineup__title span {
    font-size: 2rem;
    line-height: 36px;
    margin-inline: auto;
    padding-inline: 1.6rem;
  }

  .method-lineup__title span:nth-child(2) {
    padding-inline: 1.6rem; 
  }
}

.method-lineup__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 6.8rem;
  padding-inline: calc(8.4rem - 6.4rem);
}

@media (max-width: 833px) {
  .method-lineup__content {
    grid-template-columns: 1fr;
    gap: 2.4rem 0rem;
    padding-inline: 0;
  }
}

.method-lineup__item {
  width: 100%;
  position: relative;
}

@media (max-width: 833px) {
  .method-lineup__item {
    width: 78.95%;
    margin-inline: auto 0;
  }
}

.method-lineup__item:nth-child(even) {
  margin-block-start: 8rem;
}

@media (max-width: 833px) {
  .method-lineup__item:nth-child(even) {
    margin-block-start: 0;
    width: 78.95%;
    margin-inline: 0 auto;
  }
}

.method-lineup__item small {
  font-size: 1.2rem;
  line-height: 18px;
  font-weight: 500;
  letter-spacing: 0;
}

@media (max-width: 833px) {
  .method-lineup__item small {
    font-size: 1rem;
    line-height: 15px;
  }
}

.method-lineup__fukidashi {
  position: absolute;
  top: -5.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

@media (max-width: 833px) {
  .method-lineup__fukidashi {
    top: 50%;
    transform: translateY(-50%);
  }
}

.method-lineup__fukidashi p {
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 24px;
  font-weight: 400;
}

@media (max-width: 833px) {
  .method-lineup__fukidashi p {
    font-size: 1.2rem;
    line-height: 18px;
  }
}

.method-lineup__fukidashi span {
  font-size: 2.4rem;
  line-height: 24px;
  font-weight: 700;
  display: inline-block;
  margin-block-start: 0.4rem;
}

@media (max-width: 833px) {
  .method-lineup__fukidashi span {
    font-size: 1.6rem;
    line-height: 16px;
  }
}

.method-lineup__item:nth-child(odd) .method-lineup__fukidashi {
  left: -14.4%;
}

@media (max-width: 833px) {
  .method-lineup__item:nth-child(odd) .method-lineup__fukidashi {
    left: -8rem;
  }
}

.method-lineup__item:nth-child(even) .method-lineup__fukidashi {
  right: -14.4%;
}

@media (max-width: 833px) {
  .method-lineup__item:nth-child(even) .method-lineup__fukidashi {
    right: -8rem;
  }
}

.method-lineup__item:first-child .method-lineup__fukidashi {
  background: url(../../images/method_lineup_fukidashi_01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 19.115rem;
  height: 11.5rem;
  padding: 1.5rem 2.4rem 2.4rem 2.3rem;
}

@media (max-width: 833px) {
  .method-lineup__item:first-child .method-lineup__fukidashi {
    background: url(../../images/method_lineup_fukidashi_01_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 10.861rem;
    height: 9.7rem;
    padding: 1.8rem 0 2.3rem 0;
  }
}

.method-lineup__item:nth-child(2) .method-lineup__fukidashi {
  background: url(../../images/method_lineup_fukidashi_02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 19.115rem;
  height: 11.7rem;
  padding: 1.7rem 2.4rem 2.4rem 2.3rem;
}

@media (max-width: 833px) {
  .method-lineup__item:nth-child(2) .method-lineup__fukidashi {
    background: url(../../images/method_lineup_fukidashi_02_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 10.861rem;
    height: 9.7rem;
    padding: 1.8rem 0 2.3rem 0;
  }
}

.method-lineup__item:nth-child(3) .method-lineup__fukidashi {
  background: url(../../images/method_lineup_fukidashi_03.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 21.315rem;
  height: 12.4rem;
  padding: 1.2rem 1.5rem 1.8rem 1.4rem;
}

@media (max-width: 833px) {
  .method-lineup__item:nth-child(3) .method-lineup__fukidashi {
    background: url(../../images/method_lineup_fukidashi_03_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 10.861rem;
    height: 10.7rem;
    padding: 1.1rem 0 2.2rem 0;
  }
}

.method-lineup__item:last-child .method-lineup__fukidashi {
  background: url(../../images/method_lineup_fukidashi_04.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 23.915rem;
  height: 13rem;
  padding: 2.1rem 2.1rem 3.3rem 2rem;
}

@media (max-width: 833px) {
  .method-lineup__item:last-child .method-lineup__fukidashi {
    background: url(../../images/method_lineup_fukidashi_04_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 14.4rem;
    height: 9.5rem;
    padding: 1.5rem 0 2.4rem 0;
  }
}

.method-lineup__item video{
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 1.6rem;
}

.effect {
  width: 100%;
  background: #FFEAF6;
  position: relative;
}

.effect::before {
  content: '';
  position: absolute;
  background: url(../../images/effect_bg.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 38.9rem;
  height: 23.1rem;
  bottom: -9rem;
  right: 4.8rem;
  z-index: 1;
}

@media (max-width: 833px) {
  .effect::before {
    width: 16.8rem;
    height: 11.59rem;
    bottom: -5rem;
    right: 1.5rem;
  }
}

.effect__inner {
  width: 100%;
  max-width: calc(1047px + 6.4rem);
  margin-inline: auto;
  padding-block: 10.4rem;
  padding-inline: 3.2rem;
}

@media (max-width: 833px) {
  .effect__inner {
    padding-block: 4.8rem;
    padding-inline: 1.6rem;
  }
}

.effect__title {
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 57.6px;
  letter-spacing: 0.08em;
  text-align: center;
  margin-block-end: 10.4rem;
  position: relative;
}

@media (max-width: 833px) {
  .effect__title {
    font-size: 1.8rem;
    line-height: 32.4px;
    margin-block-end: 7.2rem;
  }
}

.effect__title::before {
  content: '';
  position: absolute;
  background: url(../../images/object_w.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 12.228rem;
  height: 11.752rem;
  top: -3.121rem;
  left: -7.35rem;
}

@media (max-width: 833px) {
  .effect__title::before {
    width: 8.559rem;
    height: 8.226rem;
    top: -6.314rem;
    left: 0.8rem;
    margin-inline-start: 0;
  }
}

.effect__item--wrapper {
  width: 100%;
  display: flex;
  gap: 10.4rem;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

@media (max-width: 833px) {
  .effect__item--wrapper {
    gap: 6.4rem;
  }
}

.effect__item {
  width: 100%;
  background: #fff;
  border-radius: 2.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.4rem;
  position: relative;
  padding-block: 8.8rem 6.4rem;
  padding-inline: 6.4rem;
}

@media (max-width: 833px) {
  .effect__item {
    flex-direction: column;
    gap: 1.5rem;
    padding-block: 5rem 3.2rem;
    padding-inline: 2.4rem;
  }
}

.effect__item h3 {
  position: absolute;
  top: -3.15vw;
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(2rem, 2.4vw, 3.2rem);
  line-height: 56px;
  font-weight: 900;
  color: #fff;
  height: 5.64vw;
  max-height: 7.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 1.46vw;
  z-index: 0;
  max-width: 83.3rem;
  width: 60.98vw;
}

.effect__item h3::before {
  content: '';
  position: absolute;
  top: 0;
  left: -1rem;
  right: -1rem;
  bottom: -0.5rem;
  background-color: #00125E;
  clip-path: polygon(0 0, 100% 10%, 95% 80%, 5% 100%);
  z-index: -1;
  max-height: 7.7rem;
}

.effect__item h3 span {
  font-size: clamp(6rem, 7.2vw, 8rem);
  line-height: clamp(108px, 1.8 * 7.2vw, 144px);
  font-weight: 700;
  transform: translateY(-1.66vw);
  color: #F7DD4B;
  -webkit-text-stroke: 12px #00125E;
  paint-order: stroke;
  margin-inline-start: 0.9rem;
}

@media (min-width: 1366px) {
  .effect__item h3 {
    top: -4.3rem;
  }
  .effect__item h3 span {
    transform: translateY(-2rem);
  }
}

@media (max-width: 833px) {
  .effect__item h3 {
    top: -3rem;
    font-size: 1.8rem;
    line-height: 21.6px;
    height: 6.1rem;
    width: 100%;
    max-width: 31.1rem;
  }
  .effect__item h3 span {
    font-size: 5.6rem;
    line-height: 100.8px;
    transform: translateY(-0.8rem);
  }
}

.effect__item--text {
  width: 43.2%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1.6rem;
}

@media (max-width: 833px) {
  .effect__item--text {
    width: 100%;
    gap: 0.8rem;
  }
}

.effect__item--text p {
  font-size: 2rem;
  font-weight: 900;
  line-height: 36px;
  margin-bottom: 0 !important;
  letter-spacing: 0;
}

@media (max-width: 833px) {
  .effect__item--text p {
    font-size: 1.6rem;
    line-height: 28.8px;
  }
}

.effect__item--text small {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 28.8px;
  letter-spacing: 0;
}

@media (max-width: 833px) {
  .effect__item--text small {
    font-size: 1.4rem;
    line-height: 25.2px;
  }
}

.effect__item--img {
  width: 54.19%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1.6rem;
}

@media (max-width: 833px) {
  .effect__item--img {
    width: 100%;
    gap: 0.8rem;
  }
}

.effect__item--img small {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 21.6px;
  text-align: center;
  letter-spacing: 0;
}

.commitment {
  background: #DEF3F4;
}

.commitment__inner {
  width: 100%;
  max-width: calc(1084px + 6.4rem);
  margin-inline: auto;
  padding-block: 10.4rem 14.59rem;
  padding-inline: 3.2rem;
}

@media (max-width: 833px) {
  .commitment__inner {
    padding-block: 4.8rem 9.5rem;
    padding-inline: 0;
  }
}

.commitment__title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1.2rem;
  margin-block-end: 6.4rem;
}

.commitment__title span {
  background: #fff;
  color: #00125E;
  font-size: 3.6rem;
  font-weight: 900;
  line-height: 64.8px;
  letter-spacing: 0.08em;
  padding-inline: 1.6rem;
}

@media (max-width: 833px) {
  .commitment__title {
    margin-block-end: 4rem;
    gap: 0.8rem;
  }

  .commitment__title span {
    font-size: 2rem;
    line-height: 36px;
  }
}

.commitment__header {
  width: 100%;
  display: flex;
  gap: 4.8rem;
  align-items: center;
  justify-content: center;
  max-width: 1084px;
  margin-block-end: 5.6rem;
}

@media (max-width: 833px) {
  .commitment__header {
    flex-direction: column;
    gap: 2.4rem;
    margin-block-end: 3.2rem;
    padding-inline: 1.6rem;
  }
}

.commitment__img {
  width: calc(53.51% + 2.4rem);
}

@media (max-width: 833px) {
  .commitment__img {
    width: 100%;
  }
}

.commitment__img img {
  width: 100%;
  height: auto;
  border-radius: 2rem;
}

.commitment__text {
  width: calc(100% - 53.51% - 2.4rem);
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

@media (max-width: 833px) {
  .commitment__text {
    width: 100%;
  }
}

.commitment__text--title {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 36px;
  letter-spacing: 0.08em;
}

@media (max-width: 833px) {
  .commitment__text--title {
    font-size: 1.8rem;
    line-height: 27px;
  }
}

.commitment__text--title span {
  color: #ED3E4E;
}

.commitment__text--description {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 28.8px;
  letter-spacing: 0;
}

@media (max-width: 833px) {
  .commitment__text--description {
    font-size: 1.4rem;
    line-height: 25.2px;
  }
}

.commitment .material-swiper-button-prev {
  position: absolute;
  top: 50%;
  left: 17.5%;
  width: 50px;
  height: 50px;
  background: #00125E;
  border: 3px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  z-index: 1;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.commitment .material-swiper-button-next {
  position: absolute;
  top: 50%;
  right: 17.5%;
  width: 50px;
  height: 50px;
  background: #00125E;
  border: 3px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  z-index: 1;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.commitment .material-swiper-button-next::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
}
@media (max-width: 833px) {
  .commitment .material-swiper-button-next,
  .commitment .material-swiper-button-prev {
      width: 30px;
      height: 30px;
  }
}

.commitment .material-swiper-button-prev::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(-135deg);
}

.commitment .material-swiper-button-prev::after {
  margin-inline-start: 5px;
}

.commitment .material-swiper-button-next::after {
  margin-inline-end: 5px;
}

@media (max-width: 833px) {
  .commitment .material-swiper-button-prev::after,
  .commitment .material-swiper-button-next::after {
      width: 8px;
      height: 8px;
  }

  .commitment .material-swiper-button-prev::after {
      margin-inline-start: 3px;
  }

  .commitment .material-swiper-button-next::after {
      margin-inline-end: 3px;
  }
}

@media (max-width: 833px) {
  .commitment .material-swiper-button-prev {
      left: 0;
  }

  .commitment .material-swiper-button-next {
      right: 0;
  }
}

.commitment__introduction--title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1.7rem;
  text-align: center;
  margin-block-end: 4rem;
}

@media (max-width: 833px) {
  .commitment__introduction--title {
    margin-block-end: 2.4rem;
    gap: 0.8rem;
  }
}

.commitment__introduction--title span {
  background: #00125E;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 50.4px;
  letter-spacing: 0.08em;
  padding-inline: 1.6rem;
}

@media (max-width: 833px) {
  .commitment__introduction--title span {
    font-size: 1.6rem;
    line-height: 28.8px;
  }
}

.commitment .introduction__characters {
  margin-block-end: 0;
  padding-block-end: 15rem;
}

@media (max-width: 833px) {
  .commitment .introduction__characters {
    padding-block-end: 2.4rem;
  }
}

.section-block.block-method--grammar {
    padding-top: 0px;
    padding-bottom: 44px;
    position: relative;
}

@media (max-width: 833px) {
    .section-block.block-method--grammar {
        padding-top: 24px;
        padding-bottom: 24px;
    }
}

.section-block.block-method--grammar::before {
    content: "";
    position: absolute;
    top: -3rem;
    right: 7.4rem;
    background: url(../../images/object_x.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 12.024rem;
    height: 14.679rem;
}

@media (max-width: 833px) {
    .section-block.block-method--grammar::before {
        display: none;
    }
}

.grammar-content {
  width: 100%;
  max-width: 1127px;
  margin-inline: auto;
  padding-block: 10.4rem;
}

@media (max-width: 833px) {
    .grammar-content {
        padding-block: 4.8rem;
    }
}

.block-method--grammar--title {
  background: #00125E;
  color: #fff;
  font-size: 4rem;
  font-weight: 900;
  line-height: 72px;
  letter-spacing: 0.08em;
  padding-inline: 1.6rem;
  width: fit-content;
  margin-inline: auto;
  margin-block-end: 4.8rem;
}

@media (max-width: 833px) {
    .block-method--grammar--title {
        font-size: 2rem;
        line-height: 56px;
        margin-block-end: 2.4rem;
    }
}

.block-method--grammar--sub-title {
  font-size: 3.2rem;
  line-height: 48px;
  font-weight: 700;
}

@media (max-width: 833px) {
    .block-method--grammar--sub-title {
        font-size: 2.4rem;
    }
}

.block-method--grammar h4.mkr {
    margin: 48px 0 0;
}

@media (max-width: 833px) {
    .block-method--grammar h4.mkr {
        margin: 30px 0 0;
        font-size: 15px;
        text-align: center;
        padding: 21px 10px;
        color: #fff;
    }
}

.block-method--grammar--details--wrapper {
  background-color: #fff;
  padding-inline: 1.6rem;
  padding-block: 1rem 1.6rem;
}

@media (max-width: 833px) {
    .block-method--grammar--details--wrapper {
        padding-inline: 0;
    }
}

.block-method--grammar--example {
    margin: 0;
    min-width: 880px;
    width: 100%;
}

.block-method--grammar--example--details {
    margin-top: 16px;
}

.block-method--grammar--example thead th, .block-method--grammar--example thead td {
    font-style: normal;
    font-weight: 700;
    font-size: 14px;
    line-height: 142.8571428571%;
    text-align: center;
    vertical-align: middle;
}

.block-method--grammar--example tbody th, .block-method--grammar--example tbody td {
    border-style: none none solid solid;
    border-width: 1px;
    border-color: #918FB7;
    padding: 4px 8px;
    font-style: normal;
    font-weight: 500;
    font-size: 12px;
    line-height: 141.6666666667%;
    text-align: left;
    vertical-align: middle;
}

thead .block-method--grammar--example--grammar {
    background: #00125E;
    height: 28px;
    color: #fff;
}

thead .block-method--grammar--example--phrase {
    background: #F3D441;
    height: 28px;
    color: #000;
}

.block-method--grammar--example tbody th.block-method--grammar--example--grammar {
    border-left: none;
    padding-right: 12px;
    white-space: nowrap;
}

.block-method--grammar--example tbody td.block-method--grammar--example--phrase {
    padding-left: 12px;
    white-space: normal;
    word-break: break-all;
    word-wrap: break-word;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

.block-method--grammar--example tbody td.block-method--grammar--example--phrase p {
    margin-bottom: 0;
}

.block-method--grammar--example p + p {
    border-top: dashed 1px #918FB7;
}

.block-method--grammar ul.notes {
    margin-top: 16px;
}

.block-method--grammar ul.notes li {
    font-weight: 500;
    font-size: 12px;
    line-height: 166.6666666667%;
    color: #00125E;
}

.block-method--cv-application {
    background: #00125E;
    padding: 25px 20px;
}

@media (max-width: 833px) {
    .block-method--cv-application {
        padding: 32px 42px;
    }
}

.block-method--cv-application ul {
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 24px;
}

@media (max-width: 833px) {
    .block-method--cv-application ul {
        display: block;
    }
}

.block-method--cv-application li {
    display: block;
}

@media (max-width: 833px) {
    .block-method--cv-application li + li {
        margin-top: 24px;
    }
}

.block-method--cv-application .btn-01 {
    width: 306px;
    height: 50px;
    font-weight: 700;
    font-size: 18px;
    line-height: 144.4444444444%;
}

@media (max-width: 833px) {
    .block-method--cv-application .btn-01 {
        margin: 0 auto;
        max-width: 330px;
        width: 100%;
    }
}

.method-bottom-cta {
  margin-block-end: 10.4rem;
}

@media (max-width: 833px) {
  .method-bottom-cta {
    margin-block-end: 4rem;
  }
}

/*# sourceMappingURL=style.css.map */

/* ====================
  ex-guidelinesページCSS
==================== */

@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap);
body.ec-guidelines {
    opacity: 1;
    /* background: #fff url("../../images/bg_pc.svg") repeat-y center 0; */
    background-size: 100% auto;
}

@media (max-width: 833px) {
    body.ec-guidelines {
        /* background-image: url("../../images/bg_sp.svg"); */
        background-size: 100% auto;
    }
}

.ecg-page {
    font-family: "Noto Sans JP", sans-serif;
    position: relative;
    margin: 0 auto;
    padding: 1rem 0 8rem;
    max-width: 880px;
    width: 100%;
}
.ecg-page .block-about{
    padding-top: 3em;
    padding-bottom: 0;
}
.ecg-page .block-about::before{
    content: none;
}
.ecg-page .block-about .about-card{
    max-width: 100%;
}
.ecg-page .block-about .about-card .pic{
    margin-bottom: 2em;
}

@media (max-width: 833px) {
    .ecg-page {
        padding: 0 22px 4rem;
    }
    .ecg-page .block-about{
        margin-left: -22px;
        margin-right: -22px;
        width: auto;
    }
}

.ecg-page .underline {
    text-decoration: underline;
}

.ecg-page p {
    margin: 0;
}

.ecg-page > h3 {
    font-size: 24px;
    font-weight: 700;
    font-style: normal;
    line-height: 133.3333333333%;
    display: flex;
    margin-top: 66px;
    align-items: center;
}

@media (max-width: 833px) {
    .ecg-page > h3 {
        font-size: 16px;
        margin-top: 33px;
    }
}

.ecg-page > h3::before {
    border-radius: 4px;
    background: #374190;
    display: block;
    margin-right: 14px;
    width: 3px;
    height: 28px;
    content: "";
}

@media (max-width: 833px) {
    .ecg-page > h3::before {
        width: 8px;
        border-radius: 0;
    }
}

.ecg-page > h3 + p {
    margin-top: 27px;
}

@media (max-width: 833px) {
    .ecg-page > h3 + p {
        margin-top: 17px;
    }
}

.ecg-page p.ecg--read {
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 188.8888888889%;
    color: #333;
    margin-top: 33px;
    margin-bottom: 33px;;
}

.ecg-page ul.ecg--dot {
    color: #333;
    display: block;
    margin-top: 22px;
    list-style: none;
}

.ecg-page ul.ecg--dot li {
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 162.5%;
    position: relative;
    overflow: visible;
    padding-left: 15px;
}

@media (max-width: 833px) {
    .ecg-page ul.ecg--dot li {
        font-size: 12px;
    }
}

.ecg-page ul.ecg--dot li:before {
    border-radius: 50%;
    background-color: #333;
    position: absolute;
    top: 0.7em;
    left: 2px;
    display: block;
    width: 4px;
    height: 4px;
    content: "";
}

.ecg-page + .breadcrumbs {
    background-color: #FBEEA5;
}

.ecg--details {
    border: 1px solid rgba(0, 18, 94, 1);
    border-radius: 20px;
    background: #fff;
    margin-top: 22px;
}

@media (max-width: 833px) {
    .ecg--details {
        border-radius: 10px;
        margin-top: 22px;
    }
}

.ecg--details h3 {
    border-bottom: none;
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: 133.3333333333%;
    display: flex;
    padding: 22px;
    width: 100%;
    cursor: pointer;
    align-items: center;
    justify-content: space-between;
}

@media (max-width: 833px) {
    .ecg--details h3 {
        font-size: 16px;
        line-height: 162.5%;
        padding: 10px 17px;
    }
}

.ecg--details h3:after {
    font-size: 26px;
    font-weight: 700;
    line-height: 18px;
    position: relative;
    display: flex;
    overflow: hidden;
    width: 20px;
    height: 20px;
    content: "＋";
    align-items: center;
    justify-content: center;
}

.ecg--details.is-open h3:after {
    content: "ー";
}

.ecg--details--section {
    padding: 44px 60px 88px;
}

@media (max-width: 833px) {
    .ecg--details--section {
        padding: 20px 17px 33px;
    }
}

.ecg--details--title {
    font-size: 28px;
    font-weight: 700;
    font-style: normal;
    line-height: 150%;
    letter-spacing: -0.05em;
}

@media (max-width: 833px) {
    .ecg--details--title {
        font-size: 20px;
    }
}

.ecg--details--title + p {
    margin-top: 22px;
}

.ecg--details--title--sub {
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: 130%;
    color: #333;
    margin-top: 22px;
}

@media (max-width: 833px) {
    .ecg--details--title--sub {
        font-size: 18px;
    }
}

p + .ecg--details--title--sub {
    margin-top: 44px;
}

.ecg--details--title--sub2 {
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 162.5%;
    color: #333;
    margin-top: 22px;
}

.ecg--details p {
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 162.5%;
    color: #333;
}

.ecg--details--title--sub2 + p {
    margin-top: 0;
}

.ecg--details ul.ecg--details--list {
    color: #333;
    display: block;
    margin-top: 22px;
    list-style: none;
}

.ecg--details ul.ecg--details--list li {
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 162.5%;
    position: relative;
    overflow: visible;
    padding-left: 15px;
}

.ecg--details ul.ecg--details--list li:before {
    border-radius: 50%;
    background-color: #333;
    position: absolute;
    top: 0.7em;
    left: 2px;
    display: block;
    width: 4px;
    height: 4px;
    content: "";
}

.ecg--details--notes {
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 162.5%;
    color: #333;
    margin-top: 22px;
}

.ecg--details hr {
    border-width: 1px;
    border-style: solid none none;
    border-color: rgba(0, 0, 0, 0.12);
    display: block;
    margin: 34px 0;
}

.ecg--details--close {
    border-radius: 99px;
    background: rgba(216, 58, 58, 0.12);
    font-size: 14px;
    font-weight: 700;
    font-style: normal;
    line-height: 228.5714285714%;
    color: #ed3e4e;
    display: flex;
    margin: 88px auto 0;
    padding: 0 4px;
    width: 105px;
    height: 34px;
    align-items: center;
}

@media (max-width: 833px) {
    .ecg--details--close {
        margin-top: 33px;
    }
}

.ecg--details--close::before {
    border-radius: 99px;
    background: #d83a3a;
    color: #fff;
    display: flex;
    margin-right: 11px;
    width: 28px;
    height: 28px;
    content: "＋";
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    align-items: center;
    justify-content: center;
}

.ecg-page > p {
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 188.8888888889%;
    color: #333;
    letter-spacing: 0;
}

@media (max-width: 833px) {
    .ecg-page > p {
        font-size: 14px;
    }
}

.ecg--details + p {
    margin-top: 66px;
}

@media (max-width: 833px) {
    .ecg--details + p {
        margin-top: 44px;
    }
}
.ecg--price--box{
    border-radius: 24px;
    background: #EEF9FF;
    padding: 2em 3em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 2rem;
    margin-bottom: 4rem;
}

.ecg--price--main{
    width: 26.2rem;
    font-weight: 700;
}

.ecg--price--main .price-head{
    font-size: 2rem;
}

.ecg--price--main .price{
    font-size: 3rem;
    white-space: nowrap;
    letter-spacing: 0;
}

.ecg--price--main .price strong{
    font-size: 6rem;
    line-height: 1;
    font-weight: 700;
}

.ecg--price--notes{
    letter-spacing: 0;
    width: 46.8rem;
    line-height: 2.25;
}

.ecg--price--title{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 2;
    color: #000;
    margin-top: 1em;
}

p.ecg--price--text{
    font-size: 1.6rem;
    line-height: 2.25;
}

@media (max-width: 833px) {
    .ecg--price--box{
        display: block;
        padding: 3.2rem 3.8rem;
    }
    .ecg--price--main{
        width: 100%;
        text-align: center;
        margin-bottom: 2.4rem;
    }
    
    .ecg--price--main .price-head{
        font-size: 1.8rem;
    }
    
    .ecg--price--main .price{
        font-size: 2.4rem;
    }
    
    .ecg--price--main .price strong{
        font-size: 4.8rem;
    }
    .ecg--price--notes{
        width: 100%;
        font-size: 1.4rem;
        line-height: 2;
    }
    .ecg--price--title{
        font-size: 1.4rem;
    }
    
    p.ecg--price--text{
        font-size: 1.2rem;
    }
}

.ecg--price--table{
    border-collapse: collapse;
    width: 100%;
}

.ecg--price--table thead tr th{
    border-right: 1px solid #FFF;
}

.ecg--price--table thead tr:first-child th{
    background: #FFE100;
    text-align: left;
    font-size: 2rem;
    line-height: 1.8;
    font-weight: 350;
    padding: .4rem 1rem;
}

.ecg--price--table thead tr:nth-child(2) th{
    background: #00125E;
    color: #FFF;
    padding: 1.1rem 1rem;
}

.ecg--price--table tbody td,th{
    border-bottom: 1px solid #00125E;
    text-align: center;
    line-height: 1.25;
    font-weight: 700;
}

.ecg--price--table tbody td{
    border-left: 1px solid #00125E;
    padding: 1.1rem .4rem;
}

.ecg--price--table small{
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1;
}

p.ecg--price--table--note{
    color: #00125E;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.8;
    margin-top: .4rem;
}

@media (max-width: 833px) {
    .ecg--price--table thead tr:first-child th{
        font-size: 1.1rem;
        padding: 1rem 1rem;
        letter-spacing: 0;
    }
    
    .ecg--price--table thead tr:first-child th strong{
        font-size: 1.2rem;
    }

    .ecg--price--table thead tr:nth-child(2) th{
        font-size: 1rem;
        line-height: 2;
        padding: .4rem 0;
    }
    
    .ecg--price--table tbody td,th{
        font-size: 1rem;
        letter-spacing: 0;
        line-height: 2;
    }
    
    .ecg--price--table tbody th{
        width: 3.6rem;
    }
    
    .ecg--price--table small{
        font-size: 1rem;
        line-height: 2;
    }
    
    p.ecg--price--table--note{
        font-size: 1rem;
    }
}

/* ご購入について - 保証・ウェブ購入特典スライダー */
.ecg--warranty-benefit {
    margin-top: 88px;
}

.ecg--warranty-benefit .title {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.8;
}

.ecg-swiper {
    position: relative;
    margin-top: 24px;
    padding-bottom: 40px;
    overflow: hidden;
}

.ecg-swiper .swiper-slide {
    width: calc(100% / 3) !important;
}

.ecg-swiper-pagination {
    bottom: 40px;
}

@media (max-width: 833px) {
    .ecg--warranty-benefit {
        margin: 44px 0;
    }

    .ecg--warranty-benefit .title {
        font-size: 18px;
    }

    .ecg-swiper {
        position: relative;
        margin-top: 12px;
        padding-bottom: 40px;
        overflow: hidden;
    }

    .ecg-swiper .swiper-slide {
        width: calc(100% / 2) !important;
    }

    .ecg-swiper-pagination {
        bottom: 20px;
    }
}

.ecg-swiper-pagination .swiper-pagination-bullet {
    width: 18px;
    height: 18px;
}

@media (max-width: 833px) {
    .ecg-swiper-pagination .swiper-pagination-bullet {
        width: 14px;
        height: 14px;
    }
}

.ecg-swiper-pagination .swiper-pagination-bullet-active {
    background: #19A5A7;
}

.ecg-swiper-button-prev {
    position: absolute;
    top: 50%;
    left: 4px;
    width: 50px;
    height: 50px;
    background: #19A5A7;
    border: 3px solid #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(calc(-50% + -20px));
    z-index: 1;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  }
    /* ナビゲーションのクリック範囲を広げるための疑似要素 */
  .ecg-swiper-button-prev::before {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .ecg-swiper-button-next {
    position: absolute;
    top: 50%;
    right: 4px;
    width: 50px;
    height: 50px;
    background: #19A5A7;
    border: 3px solid #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(calc(-50% + -20px));
    z-index: 1;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  }
  /* ナビゲーションのクリック範囲を広げるための疑似要素 */
  .ecg-swiper-button-next::before {
    content: "";
    display: block;
    width: 100px;
    height: 100px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  .ecg-swiper-button-next::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
  }
  @media (max-width: 833px) {
    .ecg-swiper-button-next,
    .ecg-swiper-button-prev {
        width: 30px;
        height: 30px;
    }
    
    /* ナビゲーションのクリック範囲を広げるための疑似要素 */
    .ecg-swiper-button-prev::before,
    .ecg-swiper-button-next::before {
        width: 60px;
        height: 100px;
    }
  }
  
  .ecg-swiper-button-prev::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(-135deg);
  }
  
  .ecg-swiper-button-prev::after {
    margin-inline-start: 5px;
  }
  
  .ecg-swiper-button-next::after {
    margin-inline-end: 5px;
  }
  
  @media (max-width: 833px) {
    .ecg-swiper-button-prev::after,
    .ecg-swiper-button-next::after {
        width: 8px;
        height: 8px;
    }
  
    .ecg-swiper-button-prev::after {
        margin-inline-start: 3px;
    }
  
    .ecg-swiper-button-next::after {
        margin-inline-end: 3px;
    }
  }
  
  @media (max-width: 833px) {
    .ecg-swiper-button-prev {
        left: 0;
    }
  
    .ecg-swiper-button-next {
        right: 0;
    }
  }

.ecg--cta-area {
    padding-top: 200px;
    position: relative;
}

.ecg--cta-area::before {
    content: "";
    display: block;
    width: 150vw;
    height: 100%;
    aspect-ratio: 473 / 234;
    background-image: url(../../images/ecg-cta-area-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    position: absolute;
    top: 80px;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.ecg--cta-area p {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.8;
    text-align: center;
}

.ecg--cta-area p span {
    display: inline-block;
    font-size: 32px;
    font-weight: 800;
    padding: 8px 0;
}

.ecg--cta-area .btn-01 {
    background-color: var(--button-bg-color, #ed3e4e);
    color: var(--button-text-color, #fff);
    transition: 0.3s ease-in-out;
    margin: 40px auto 0;
}

.btn-01::before {
    border-top: 2px solid var(--button-bg-color, #ed3e4e);
    border-right: 2px solid var(--button-bg-color, #ed3e4e);
}

.btn-01::after {
    background-color: var(--button-text-color, #fff);
    transition: 0.3s ease-in-out;
}

.ecg--cta-area .btn-01:hover {
    background-color: var(--button-bg-color, #fff);
    color: var(--button-text-color, #ed3e4e);
}

@media (max-width: 833px) {
    .ecg--cta-area {
        padding-top: 104px;
    }
    
    .ecg--cta-area::before {
        top: 50px;
    }

    .ecg--cta-area p {
        font-size: 16px;
    }
    
    .ecg--cta-area p span {
        font-size: 20px;
        padding: 4px 0;
    }
    
    .ecg--cta-area .btn-01 {
        margin-top: 24px;
    }

    .ecg--cta-area .btn-01::before {
        border-top: 1px solid var(--button-bg-color, #ed3e4e);
        border-right: 1px solid var(--button-bg-color, #ed3e4e);
    }
}

.page-hero-ecguidelines {
    position: relative;
    background: #eef9ff;
    padding-top: 50px;
    padding-bottom: 50px;
}

.page-hero-ecguidelines-heading-main {
    font-size: 36px;
    line-height: 80px;
    font-weight: bold;
    letter-spacing: 3.2px;
    display: block;
}

.page-hero-ecguidelines-heading-main::first-letter {
    color: #e55c5c;
}

.page-hero-ecguidelines-eddy,
.page-hero-ecguidelines-pita {
    position: absolute;
}

.page-hero-ecguidelines-eddy {
    bottom: 0;
    right: 12.5%;
    width: 132px;
}

.page-hero-ecguidelines-pita {
    top: 32px;
    right: 25.5%;
    width: 70px;
}

@media (max-width: 833px) {
    .page-hero-ecguidelines-heading-main {
        font-size: 24px;
        line-height: 30px;
        letter-spacing: 2.56px;
    }

    .page-hero-ecguidelines-eddy {
        right: 16px;
        width: 73px;
    }

    .page-hero-ecguidelines-pita {
        top: 44px;
        left: 27px;
        width: 40px;
    }
}

.ecg-purchasing-methods {
    color: #000;
    margin-top: 22px;
}

.ecg-purchasing-methods-text {
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 162.5%;
    position: relative;
    overflow: visible;
}

.ecg-card-container {
    margin-top: 40px;
    display: grid; 
    /* grid-template-columns: repeat(2, 1fr);  */
    grid-template-columns: repeat(1, 1fr); 
    column-gap: 20px;
    row-gap: 10px;
}

.ecg-card {
    height: 170px;
    background: #eef9ff;
    border-radius: 12px;
    position: relative;
}

@media (max-width: 833px) {

    .ecg-card {
        border-radius: initial;
    }

    .ecg-purchasing-methods-text {
        font-size: 12px;
    }

    .ecg-card-container {
        grid-template-columns: 1fr;
        /*横いっぱいに展開*/
        margin: 16px calc(50% - 50vw) 0;
    }
}

.ecg-card-content {
    width: 100%;
    height: 100%;
    display: grid
}

.ecg-card-text-container {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: end center;
}

.ecg-card-text {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: -0.01em;
    color: #00125e;
    text-align: center;
}

.ecg-card-btn-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ecg-card-btn {
    background: #F7DD4B;
    color: #00125e;
    border-radius: 32px;
    padding: 9px 20px 9px 20px;
    width: 310px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ecg-card-btn-text {
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: -0.01em;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90%;
    padding-left: 1.9rem;
}

.ecg-card-btn-chevron {
    width: 24px;
    height: 24px;
    position: relative;
    flex: none;
    /* margin-left: 19px; */
}

.ecg-card-btn-chevron::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-65%, -50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #00125e;
    border-right: 2px solid #00125e;
}

.ecg-btn-buy {
    border-radius: 4px;
    background: #F7DD4B;
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: 145%;
    color: #333;
    position: relative;
    display: flex;
    margin: 0 auto 0;
    max-width: 380px;
    width: 100%;
    height: 60px;
    align-items: center;
    justify-content: center;
}

@media (max-width: 833px) {
    .ecg-btn-buy {
        width: 84%;
    }
}

.ecg-btn-buy-chevron {
    width: 24px;
    height: 24px;
    background: #00125e;
    border-radius: 50%;
    position: relative;
    flex: none;
    margin-left: 19px;
}

.ecg-btn-buy-chevron::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-65%, -50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #f7dd4b;
    border-right: 2px solid #f7dd4b;
}

.header--navi {
    margin-top: 50px;
}

.header--navi--item--flex {
    display: flex;
    align-items: center;
}

.header--pop-sp .header--navi--item--flex {
  padding-inline: 1rem;
  font-size: 1.3rem;
  height: 54px;
  cursor: pointer;
}

.header--navi--children {
  position: absolute;
  left: 0;
  top: 17.9rem;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  background: #FEFAE4;
  height: 8.6rem;
  z-index: 10;
  display: flex;
  align-items: center;
}

.header--navi--children.fixed {
  position: fixed;
  top: 7rem;
  height: 6rem;
}

.header--navi--sp--children {
  display: grid;
  grid-template-rows: 0fr;
  transition: 500ms grid-template-rows ease;
}

.header--navi--sp--children.is-open {
  grid-template-rows: 1fr;
}

.header--navi--sp--children ul {
  overflow: hidden;
}

.header--navi--children .header--navi--link {
  font-size: 1.5rem;
  gap: 0.5rem;
  padding: 0 2.5rem;
}

.fixed-header .header--navi--children .header--navi--link {
  font-size: 1.3rem;
  gap: 0.5rem;
  padding: 0 2.5rem;
}
.header--navi--children .header--navi--link::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 15px;
  transform: translateY(-50%);
  background: linear-gradient(
    to top,
    #C3CCED 10%,
    transparent 10%,
    transparent 20%,
    #C3CCED 20%,
    #C3CCED 30%,
    transparent 30%,
    transparent 40%,
    #C3CCED 40%,
    #C3CCED 50%,
    transparent 50%,
    transparent 60%,
    #C3CCED 60%,
    #C3CCED 70%,
    transparent 70%,
    transparent 80%,
    #C3CCED 80%,
    #C3CCED 90%,
    transparent 90%
  );
}

.header--navi--children--container {
  display: flex;
  align-items: center;
  max-width: 1084px;
  margin-inline: auto;
  width: 100%;
}

.header--navi--children.is-active {
  opacity: 1;
  visibility: visible;
}

.header--navi--chevron {
  display: inline-flex;
  margin-inline-start: 6px;
  transition: transform 0.3s;
  flex-shrink: 0;
  margin-right: 5px;
}

.header--navi--item:hover .header--navi--chevron {
  transform: rotate(180deg);
}

.header--navi--chevron.sp.is-open {
  transform: rotate(180deg);
}

.header--navi--sp--children ul li {
  background: #FEFAE4;
}

.header--navi--link {
    display: flex;
    align-items: center;
    padding: 0 1em;
    position: relative;
    font-size: 1.3rem;
    cursor: pointer;
}

@media (max-width: 1120px) and (min-width: 834px)  {
    .header--navi--link {
        padding: 0 .8em;
        font-size: calc(0.8818342152vw * 1.1);
    }
}

.header--pop-sp--link li.header--navi--sp--accordion {
  padding: 0;
}

.header--pop-sp--link .header--navi--link {
    padding: 0 10px;
}

.header--navi--sp--children .header--navi--link {
  gap: 0.5rem;
  padding: 0 16px;
  touch-action: manipulation;
}

.header--navi--link::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 15px;
    background: #C3CCED;
    transform: translateY(-50%);
}

.header--navi--item:last-child .header--navi--link::before {
    display: none;
}

/*.header--navi--item + .header--navi--item {*/
/*    margin-left: 40px;*/
/*}*/

.header--navi--link--logo {
    margin-right: 6px;
    flex-shrink: 0;
}

.header--pop-sp--link .header--navi--link--logo {
    margin-right: 20px;
    width: 30px;
}

.header--navi--link--logo--pass {
    fill: currentColor;
}

.header--navi--link:hover .header--navi--link--logo--pass {
    fill: #E55C5C;
}

.header--navi--link:hover .header--navi--link--logo--stroke {
    stroke: #E55C5C;
}

.header--pop-sp--cta {
  position: sticky;
  bottom: 0;
  left: 0;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}

.header--pop-sp--cta--inner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: #00125E;
}

.header--pop-sp--cta--img {
  width: 33.24%;
  height: auto;
}

.header--pop-sp--cta--content {
  width: calc(100% - 33.24%);
  display: flex;
  justify-content: center;
  align-items: center;
}

.header--pop-sp--cta--text {
  color: #F7DD4B;
  font-size: clamp(1.5rem, 3.99vw, 2.8rem);
  font-weight: 900;
  line-height: clamp(22.5px, 5.98vw, 40px);
  margin-bottom: 0 !important;
  letter-spacing: 0;
}

.header--pop-sp--cta--button {
  display: flex;
  align-items: center;
  padding-inline: 2.13vw 5.59vw;
  padding-block: 1.06vw;
  font-size: clamp(1.2rem, 3.19vw, 2.2rem);
  line-height: clamp(18px, 4.79vw, 33px);
  color: #fff;
  background: #EF5664;
  border-radius: 999px;
  position: relative;
}

.header--pop-sp--cta--button::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0.8rem;
  transform: translateY(-50%);
  width: 2.93vw;
  height: 2.93vw;
  background: url(../../images/header_sp_cta_chevron.svg) no-repeat;
  background-size: contain;
}

.top-swiper-container img {
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.top-swiper-button-next, .material-swiper-button-next {
    position: absolute;
    top: 50%;
    right: 17.5%;
    width: 50px;
    height: 50px;
    background: #00125E;
    border: 3px solid #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    z-index: 1;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

.top-swiper-button-next::after, .material-swiper-button-next::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
}

.top-swiper-button-prev, .material-swiper-button-prev {
    position: absolute;
    top: 50%;
    left: 17.5%;
    width: 50px;
    height: 50px;
    background: #00125E;
    border: 3px solid #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    z-index: 1;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

@media (max-width: 833px) {
    .top-swiper-button-next,
    .top-swiper-button-prev,
    .material-swiper-button-next,
    .material-swiper-button-prev {
        width: 30px;
        height: 30px;
    }
}

.top-swiper-button-prev::after, .material-swiper-button-prev::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(-135deg);
}

.top-swiper-button-prev::after, .material-swiper-button-prev::after {
    margin-inline-start: 5px;
}

.top-swiper-button-next::after, .material-swiper-button-next::after {
    margin-inline-end: 5px;
}

@media (max-width: 833px) {
    .top-swiper-button-prev::after, .material-swiper-button-prev::after,
    .top-swiper-button-next::after, .material-swiper-button-next::after {
        width: 8px;
        height: 8px;
    }

    .top-swiper-button-prev::after, .material-swiper-button-prev::after {
        margin-inline-start: 3px;
    }

    .top-swiper-button-next::after, .material-swiper-button-next::after {
        margin-inline-end: 3px;
    }
}

@media (max-width: 833px) {
    .top-swiper-button-prev, .material-swiper-button-prev {
        left: 0;
    }

    .top-swiper-button-next, .material-swiper-button-next {
        right: 0;
    }
}


.top-slider {
    position: relative;
    padding-top: 92px;
    padding-bottom: 108px;
}

@media (max-width: 833px) {
    .top-slider {
        padding-top: 30px;
        padding-bottom: 43px;
    }
}

.top-swiper-container .swiper-slide > img {
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    border-radius: 10px;
}

.material-swiper-container .swiper-slide img {
    border-radius: 20px;
    overflow: hidden;
}

.top-slider-bg {
    position: absolute;
    right: 0;
    top: 0;
    width: 73.25%;
    height: 100%;
    background: #EEF9FF;
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
}

@media (max-width: 833px) {
    .top-slider-bg {
        border-top-left-radius: 50px;
        border-bottom-left-radius: 50px;
        width: 77.5%;
    }
}

.top-about-section {
    position: relative;
    padding: 108px 16px 260px;
}

@media (max-width: 833px) {
    .top-about-section {
        padding: 108px 16px 400px;
    }
}

.top-about-title {
    font-size: 32px;
}

@media (max-width: 833px) {
    .top-about-title {
        font-size: 24px;
    }
}

.top-about-text {
    font-size: 20px;
    margin-top: 24px;
}

@media (max-width: 833px) {
    .top-about-text {
        font-size: 16px;
        margin-top: 8px;
    }

    .top-about-description {
        font-size: 12px;
        text-align: left;
    }

    .top-about-description p {
        letter-spacing: 0.05em;
    }
}

.object_a {
    width: 12.6rem;
    top: 108px;
    left: 19%;
}

@media (max-width: 1086px) {
    .object_a {
        left: 10%;
    }
}

@media (max-width: 833px) {
    .object_a {
        width: 91px;
        top: -14px;
        left: 25%;
    }
}

.top-point-section {
    position: relative;
    padding: 0px 16px 130px;
    background: #EEF9FF;
    margin-top: 156px;
}

.top-point-section-bg-pc {
    position: absolute;
    z-index: -1;
    width: 100%;
    top: -156px;
    left: 50%;
    transform: translateX(-50%);
    max-width: initial;
}

@media (min-width: 1440px) {
    .top-point-section-bg-pc {
        width: 150%;
    }
}

.top-point-section-bg-sp {
    display: none;
}

@media (max-width: 833px) {
    .top-point-section-bg-pc {
        display: none;
    }

    .top-point-section-bg-sp {
        display: block;
        position: absolute;
        z-index: -1;
        width: 100%;
        top: -156px;
        left: 50%;
        transform: translateX(-50%);
    }
}

@media (max-width: 414px) {
    .top-point-section-bg-sp {
        top: -90px;
    }
}

.top-section-heading {
    text-align: center;
    position: relative;
    z-index: 1;
}

.top-section-heading-top {
    font-size: 48px;
    display: block;
}

@media (max-width: 833px) {
    .top-section-heading-top {
        font-size: 24px;
    }
}

.top-section-heading-bottom {
    font-size: 24px;
    display: block;
}

@media (max-width: 833px) {
    .top-section-heading-bottom {
        font-size: 16px;
    }
}

.text-red {
    color: #E55C5C;
}

.top-point-section-content {
    display: flex;
    gap: 46px;
    max-width: 1084px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 54px;
    width: 100%;
}

@media (max-width: 833px) {
    .top-point-section-content {
        margin-top: 20px;
        gap: 36px;
    }
}

.top-point-section-content-item {
    width: 33.333333333%;
}

.top-point-section-content-item-img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    box-shadow: 5px 5px 20px 0px rgba(0, 0, 0, 0.10);
    border-radius: 20px;
}

@media (max-width: 833px) {
    .top-point-section-content {
        flex-wrap: wrap;
        gap: 30px;
    }

    .top-point-section-content-item {
        width: 100%;
    }
}

.top-point-section-content-item-heading {
    font-size: 20px;
    font-weight: 700;
    margin-top: 30px;
    min-height: 68px;
}

@media (max-width: 833px) {
    .top-point-section-content-item-heading {
        min-height: auto;
    }
}

.top-point-section-content-item-text {
    font-size: 14px;
    margin-top: 10px;
    letter-spacing: 0;
}

@media (max-width: 833px) {
    .top-point-section-content-item-text {
        font-size: 14px;
    }
}

.top-feature-section {
    position: relative;
    background: #FFE100;
    padding-top: 100px;
    padding-bottom: 170px;
    margin-top: 40px;
}

@media (max-width: 833px) {
    .top-feature-section {
        margin-top: 20px;
        padding-bottom: 250px;
        padding-top: 50px;
    }
}

.top-feature-section-img {
    position: absolute;
    width: 100%;
    top: -125px;
    left: 0;
}

@media (min-width: 1920px) {
    .top-feature-section-img {
        top: -200px;
    }
}

.top-feature-section-img.-method,
.top-feature-section-img.-material {
    top: -100px;
}

@media (min-width: 1560px) {
    .top-feature-section-img.-method,
    .top-feature-section-img.-material {
        top: -200px;
    }
}

.top-feature-section-behind-bg {
    background: #FFE100;
    position: absolute;
    width: 100%;
    height: 100px;
    z-index: -1;
    top: -58px;
}

@media (max-width: 833px) {
    .top-feature-section-img {
        top: -58px;
    }
}

@media (max-width: 440px) {
    .top-feature-section-img {
        top: -40px;
    }
}

.more-btn {
    background-color: #00125E;
    color: #fff;
    font-size: 15px;
}

.more-btn::before {
    border-top: 2px solid #00125E;
    border-right: 2px solid #00125E;
}

.more-btn::after {
    background: #fff;
}

.top-feature-button-container {
    margin-top: 70px;
}

.top-feature-contact-block {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -72px;
    z-index: 1;
}

@media (max-width: 833px) {
    .top-feature-contact-block {
        bottom: -7%;
        width: 100%;
        max-width: 570px;
    }
}

@media (max-width: 480px) {
    .top-feature-contact-block {
        bottom: -10%;
    }
}

.top-about-contact-block {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -72px;
    z-index: 1;
}

@media (max-width: 833px) {
    .top-about-contact-block {
        bottom: -16%;
        width: 100%;
        max-width: 570px;
    }
}

@media (max-width: 480px) {
    .top-about-contact-block {
        bottom: -18%;
    }
}

.cv-block .fukidashi {
    top: -30px;
    right: 186px;
}

.top-contents-section {
    background: #B7E2ED;
    position: relative;
    padding-top: 172px;
    padding-bottom: 130px;
}

.top-contents-section-container {
    padding: 0 16px;
}

@media (max-width: 833px) {
    .top-contents-section {
        padding-top: 250px;
        padding-bottom: 70px;
    }
}

.top-contents-list-block {
    background: #fff;
    border-radius: 20px;
    margin-top: 70px;
    max-width: 1084px;
    margin-left: auto;
    margin-right: auto;
    padding: 60px 38px 40px;
    position: relative;
}

@media (max-width: 833px) {
    .top-contents-list-block {
        margin-top: 20px;
        padding: 20px 12px;
    }
}

.top-contents-list {
    display: flex;
    flex-wrap: wrap;
}

.top-contents-list-item {
    width: 50%;
    border-bottom: 1px dotted #00125E;
}

@media (max-width: 833px) {
    .top-contents-list-item {
        width: 100%;
    }
}

.top-content-list-link {
    display: flex;
}

@media (max-width: 833px) {
    .top-content-list-link {
        align-items: flex-start;
    }

    .top-content-list-link img {
        width: 90px;
    }
}

/*  top-content-list-link奇数番目にはpadding-right 偶数盤目にはpadding-left */
.top-contents-list-item:nth-child(odd) .top-content-list-link {
    padding-right: 20px;
}

@media (max-width: 833px) {
    .top-contents-list-item:nth-child(odd) .top-content-list-link {
        padding-right: 0;
    }
}

.top-contents-list-item:nth-child(even) {
    border-left: 1px dotted #00125E;
}

.top-contents-list-item:nth-child(even) .top-content-list-link {
    padding-left: 20px;
}

@media (max-width: 833px) {
    .top-contents-list-item:nth-child(even) {
        border-left: none;
    }

    .top-contents-list-item:nth-child(even) .top-content-list-link {
        padding-left: 0;
    }
}

.top-contents-list-item:nth-child(-n+4) .top-content-list-link {
    padding-bottom: 50px;
}

@media (max-width: 833px) {
    .top-contents-list-item:nth-child(-n+4) .top-content-list-link {
        padding-bottom: 18px;
    }
}

.top-contents-list-item:nth-child(n+5) .top-content-list-link {
    padding-bottom: 24px;
}

@media (max-width: 833px) {
    .top-contents-list-item:nth-child(n+5) .top-content-list-link {
        padding-bottom: 18px;
    }

    .top-contents-list-item:nth-child(n+6) .top-content-list-link {
        padding-bottom: 0;
    }
}

.top-contents-list-item:nth-child(n+5) {
    border-bottom: none;
}

@media (max-width: 833px) {

    .top-contents-list-item:nth-child(n+5) {
        border-bottom: 1px dotted #00125E;
    }

    .top-contents-list-item:nth-child(n+6) {
        border-bottom: none;
    }
}

.top-contents-list-item:nth-child(n+3) .top-content-list-link {
    padding-top: 50px;
}

@media (max-width: 833px) {
    .top-contents-list-item:nth-child(n+2) .top-content-list-link {
        padding-top: 18px;
    }
}

.top-content-list-img {
    align-self: flex-start;
}

.top-content-list-info {
    margin-left: 22px;
}

@media (max-width: 833px) {
    .top-content-list-info {
        margin-left: 14px;
    }
}

.top-content-list-heading {
    font-size: 24px;
    font-weight: 700;
    line-height: 56px;
}

@media (max-width: 833px) {
    .top-content-list-heading {
        font-size: 18px;
        line-height: 32px;
    }
}

.top-content-list-text {
    font-size: 14px;
    color: #000;
    line-height: 24px;
}

@media (max-width: 833px) {
    .top-content-list-text {
        font-size: 11px;
        line-height: 20px;
        padding-right: 16px;
    }
}

.top-contents-list-chevron {
    width: 24px;
    height: 24px;
    background: #001658;
    border-radius: 50%;
    position: relative;
    flex: none;
    align-self: center;
    margin-left: 16px;
}

@media (max-width: 833px) {
    .top-contents-list-chevron {
        width: 18px;
        height: 18px;
        margin-left: auto;
    }
}

.top-contents-list-chevron::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-65%, -50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

@media (max-width: 833px) {
    .top-contents-list-chevron::before {
        width: 6px;
        height: 6px;
    }
}

.cat.cat--caution {
    background: #D7092F;
    color: #fff;
    font-weight: normal;
    height: 28px;
    border-radius: 28px;
}

.news-list .title.cat--caution {
    text-decoration: none;
}

.news-list.cat--caution li {
    border-color: #C3CCED;
}

.news-list.cat--caution {
    border-color: #C3CCED;
    margin-top: 23px;
}

.top-cta-section {
    padding-top: 83px;
    padding-bottom: 107px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 833px) {
    .top-cta-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}
.top-cta-section-bubble{
    text-align: center;
    font-size: 2rem;
    font-weight: 900;
    margin-bottom: 1.4em;
}
.top-cta-section-bubble::before, .top-cta-section-bubble::after {
    content: "";
    width: 3px;
    height: 2rem;
    margin-bottom: -0.2rem;
    display: inline-block;
    background-color: #00125E;
}

.top-cta-section-bubble::before {
    margin-right: 1rem;
    transform: rotate(-24deg);
}
.top-cta-section-bubble::after {
    margin-left: 1rem;
    transform: rotate(24deg);
}
.top-cta-section-block {
    display: flex;
    gap: 56px;
    padding: 0 16px;
}

@media (max-width: 1100px) {
    .top-cta-section-block {
        gap: 20px;
    }
}

@media (max-width: 1024px) {
    .top-cta-section-bubble{
        margin-bottom: 1.9rem;
    }
    .top-cta-section-block {
        flex-direction: column;
    }
}

.top-cta-section-item {
    background: #00125E;
    border-radius: 24px;
    padding: 48px 38px 18px;
    flex: 1;
    position: relative;
    display: flex;
    align-items: flex-start;
    max-width: 521px;
    width: 100%;
    margin-inline: auto;
    transition: .3s ease-in-out;
}
.top-cta-section-item:hover {
    opacity: 0.8;
}

.top-cta-section-item.-material {
    overflow: hidden;
    padding-top: 23px;
}
.top-cta-section-item.-material  .top-cta-section-heading{
    font-size: 2.7rem;
    text-align: center;
    line-height: 1.03;
}

@media (max-width: 833px) {
    .top-cta-section-item {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding-bottom: 25px;     
    }

    .top-cta-section-item.-material {
        padding-bottom: 190px;
        padding-top: 15px;
    }
}

.top-cta-section-heading {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.37;
    color: #fff;
    margin-bottom: 32px;
}
.top-cta-section-item.-material .top-cta-section-heading {
    margin-bottom: 18px;
}
.top-cta-section-heading span{
    font-size: 1.6rem;
    display: block;
    line-height: 1.2;
}

.top-cta-section-info {
    flex: none;
}

@media (max-width: 833px) {
    .top-cta-section-info {
        text-align: center;
    }
    .top-cta-section-item.-material .top-cta-section-heading {
        margin-bottom: 10px;
    }
}

.top-news-button-container {
    margin-top: 53px;
    padding: 0 32px;
}

@media (max-width: 833px) {
    .top-news-button-container {
        margin-top: 30px;
    }
}

.top-cta-section-free-paper-img {
    position: absolute;
    right: 12px;
    top: -10px;
    width: 260px;
}

@media (max-width: 833px) {
    .top-cta-section-free-paper-img {
        position: initial;
        margin-top: 10px;
    }
}

.top-cta-section-free-experience-img {
    position: absolute;
    right: 0;
    top: 0;
    width: 50%;
    height: 100%;
    object-fit: cover;
    object-position: center left;
}


@media (max-width: 833px) {
    .top-cta-section-free-experience-img {
        width: 100%;
        height: 50%;
        bottom: 0;
        top: auto;
    }
}

.cta-free-paper-btn {
    writing-mode: horizontal-tb;
    background: #F7DD4B;
    color: #00125E;
    border-radius: 78px;
    padding: 9px 18px 9px 38px;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
}

@media (max-width: 833px) {
    .cta-free-paper-btn {
        font-size: 16px;
    }
}

.cta-free-paper-btn-chevron {
    width: 24px;
    height: 24px;
    background: #00125E;
    border-radius: 50%;
    position: relative;
    flex: none;
    margin-left: 19px;
}

.cta-free-paper-btn-chevron::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-65%, -50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #F7DD4B;
    border-right: 2px solid #F7DD4B;
}

.cta-free-experience-btn {
    background: #E3007F;
    color: #fff;
    border-radius: 78px;
    padding: 9px 18px 9px 38px;
    font-weight: bold;
    /* display: inline-flex; */
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 833px) {
    .cta-free-experience-btn {
        font-size: 16px;
    }
}

.cta-free-experience-btn.cta-free-experience-btn--md {
    padding: 7px 20px 5px 28px;
    font-size: 18px;
    line-height: 1.4;
    width: 31.8rem;
    text-align: center;
}
.cta-free-experience-btn.cta-free-experience-btn--md span {
    display: block;
}
.cta-free-experience-btn.cta-free-experience-btn--md .small {
    font-size: 1.2rem;
    line-height: 1.2;
}

@media (max-width: 833px) {
    .cta-free-experience-btn.cta-free-experience-btn--md {
        font-size: 1.5rem;
        padding-top:11px;
        padding-bottom:11px;
        padding-left: 5.3rem;
        width: 31rem;
    }
}

.cta-free-paper-btn.cta-free-paper-btn--md {
    padding: 20px 20px 20px 44px;
    font-size: 18px;
    line-height: 1;
    width: 31.8rem;
}

@media (max-width: 833px) {
    .cta-free-paper-btn.cta-free-paper-btn--md {
        font-size: 16px;
        width: 31rem;
    }
}

.cta-free-experience-btn-chevron {
    width: 24px;
    height: 24px;
    background: #00125E;
    border-radius: 50%;
    position: relative;
    flex: none;
    margin-left: 9px;
}

.cta-free-experience-btn-chevron::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-65%, -50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.footer-cta {
    background: #00125E;
    padding: 40px 16px 52px;
    position: relative;
}

@media (max-width: 833px) {
    .footer-cta {
        padding: 28px 16px 150px;
    }
}
.footer-cta-bubble{
    text-align: center;
    font-size: 2rem;
    font-weight: 900;
    margin-bottom: 1.2em;
    color: #FFF;
}
.footer-cta-bubble::before, .footer-cta-bubble::after {
    content: "";
    width: 3px;
    height: 2rem;
    margin-bottom: -0.2rem;
    display: inline-block;
    background-color: #FFF;
}
.footer-cta-bubble::before {
    margin-right: 1rem;
    transform: rotate(-24deg);
}
.footer-cta-bubble::after {
    margin-left: 1rem;
    transform: rotate(24deg);
}

@media (max-width: 833px) {
    .footer-cta-bubble{
        margin-bottom: 1.2rem;
    }
}

.footer-cta-button-block {
    display: flex;
    gap: 22px;
    justify-content: center;
}

@media (max-width: 1140px) {
    .footer-cta-button-block {
        flex-direction: column;
        align-items: center;
    }
}

.footer-cta-pita {
    position: absolute;
    width: 90px;
    left: 15.8%;
    bottom: 24px;
}

@media (max-width: 1210px) {
    .footer-cta-pita {
        left: 5%;
    }
}

@media (max-width: 1140px) {
    .footer-cta-pita {
        /* top: 64px; */
    }
}

@media (max-width: 833px) {
    .footer-cta-pita {
        top: auto;
        bottom: 30px;
        left: 13%;
        width: 85px;
    }
}


.footer-cta-eddy {
    position: absolute;
    right: 7.2%;
    bottom: -5px;
    width: 244px;
}

@media (max-width: 1290px) {
    .footer-cta-eddy {
        right: 2%;
    }
}

@media (max-width: 1140px) {
    .footer-cta-eddy {
        top: auto;
        bottom: -5px;
    }
}

@media (max-width: 833px) {
    .footer-cta-eddy {
        width: 220px;
        right: 5.85%;
    }
}
@media (max-width: 833px) {
    .footer-cta .cta-free-experience-btn {
        font-size: 1.5rem;
    }
    .footer-cta .cta-free-paper-btn-chevron ,.footer-cta .cta-free-experience-btn-chevron{
        margin-left: auto;
        margin-right: 0;
    }
}

.header-container {
    position: relative;
}

.header-guide-button-block {
    position: absolute;
    top: -8px;
    right: 0;
}

@media (max-width: 833px) {
    .header-guide-button-block {
        display: none;
    }
}

.guide-button {
    background: #F7DD4B;
    border-radius: 10px;
    padding: 12px 24px;
    font-weight: bold;
    display: inline-flex;
    gap: 12px;
    align-items: center;
    color: #00125E;
}

.guide-button.pop-sp {
    width: 100%;
    justify-content: center;
    font-size: 16px;
    padding: 20px 0;
    margin-bottom: 20px;
}

.header--pop-sp--button-block {
    text-align: center;
    margin-top: 20px;
}

.header--pop-sp-object-a {
    position: absolute;
    width: 89px;
    top: 122px;
    right: 20px;
}

.header--pop-sp-object-d {
    position: absolute;
    width: 91px;
    right: 53px;
    top: 44rem;
}

.about-object-d {
    position: absolute;
    width: 136px;
    right: 20%;
    bottom: 85px;
}

@media (max-width: 833px) {
    .about-object-d {
        width: 98px;
        right: 10%;
        bottom: 280px;
    }
}

.point-object-m {
    position: absolute;
    width: 106px;
    left: 4.5%;
    top: 92px;
}

@media (max-width: 833px) {
    .point-object-m {
        width: 79px;
        left: 2%;
        top: 70px;
        z-index: 1;
    }
}

.point-object-z {
    position: absolute;
    width: 157px;
    right: 7%;
    bottom: -60px;
    z-index: 1;
    transform: rotate(34deg);
}

@media (max-width: 833px) {
    .point-object-z {
        width: 103px;
        right: 4%;
        transform: rotate(55deg);
        bottom: -24px;
    }
}

.feature-object-w {
    position: absolute;
    width: 154px;
    top: 130px;
    left: 8.5%;
    z-index: 1;
}

@media (max-width: 833px) {
    .feature-object-w {
        width: 114px;
        top: 6px;
        left: 16px;
    }
}

.fixed-header {
    position: fixed;
    top: -80px;
    left: 0;
    width: 100%;
    z-index: 100;
    visibility: hidden;
    transition: top 0.3s ease-in-out;
    background: #fff;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.10);
    height: 70px;
    padding-left: 23px;
    padding-right: 9px;
}

@media (max-width: 833px) {
    .fixed-header {
        height: 56px;
    }
}

.fixed-header-inner {
    display: flex;
    align-items: center;
    height: 100%;
}

.fixed-header.is-active {
    visibility: visible;
    top: 0;
}

.fixed-header .header--navi {
    margin-top: 0;
    font-size: 13px;
    margin-left: 26px;
}

@media (min-width: 1440px) {
    .fixed-header .header--navi {
        margin-left: auto;
    }
}

@media (max-width: 1240px) {
    .fixed-header .header--navi {
        display: none;
    }
}

.fixed-header .header--navi--link {
    padding: 0 .5em;
    font-size: 1.15rem;
}

.fixed-header .header-title {
    width: 120px;
    line-height: 1;
}

@media (min-width: 1440px) {
    .fixed-header .header-title {
        width: 240px;
    }
}

@media (max-width: 1240px) {
    .fixed-header .header-title {
        width: 200px;
    }
}

@media (max-width: 833px) {
    .fixed-header .header-title {
        width: 130px;
    }
}

.fixed-header .guide-button {
    font-size: 14px;
    padding: 12px 19px 12px 12px;
    gap: 4px;
}

.fixed-header-guide-button-block {
    margin-left: auto;
}

@media (max-width: 1240px) {
    .fixed-header-guide-button-block {
        display: none;
    }
}

.page-hero {
    position: relative;
    background: #EEF9FF;
    padding-top: 46px;
    padding-bottom: 37px;
}

.page-hero-heading-main {
    font-size: 40px;
    line-height: 1;
    font-weight: bold;
    letter-spacing: 0.08em;
    display: block;
    font-family: Jost, sans-serif;
}

@media (max-width: 833px) {
    .page-hero-heading-main {
        font-size: 36px;
    }

    .news-hero .page-hero-heading-main {
        font-size: 24px;
    }

    .news-hero.page-hero {
        min-height: initial;
    }
}

@media (max-width: 564px) {
    .news-hero .page-hero-heading-main {
        width: 154px;
    }
}

.page-hero-heading-main::first-letter {
    color: #E55C5C;
}

.page-hero-heading-sub {
    font-size: 16px;
}

.page-hero-voice-eddy, .page-hero-voice-pita {
    position: absolute;
}

.page-hero-voice-eddy {
    bottom: -25px;
    left: 18.5%;
    z-index: 1;
    width: 143px;
}

@media (max-width: 833px) {
    .page-hero-voice-eddy {
        width: 91px;
        bottom: -16px;
        left: 12px;
    }
}

.page-hero-voice-pita {
    bottom: 0;
    right: 21%;
    width: 80px;
}

@media (max-width: 833px) {
    .page-hero-voice-pita {
        width: 54px;
        right: 33px;
    }
}

.voice-page {
    background: #FFEDDD;
    padding-top: 82px;
    padding-bottom: 142px;
    position: relative;
}

@media (max-width: 833px) {
    .voice-page {
        padding-top: 28px;
        padding-bottom: 112px;
    }
}

.voice-section + .voice-section {
    margin-top: 62px;
}

.voice-section-container {
    max-width: 1048px;
    padding: 0 16px;
    margin: 0 auto;
    box-sizing: content-box;
}

.voice-section-heading-block {
    background: #EC6C00;
    border: 4px solid #EC6C00;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    padding: 32px 16px 10px;
}

@media (max-width: 833px) {
    .voice-section-heading-block {
        padding: 18px 16px 10px;
    }
}

.voice-section-heading {
    font-size: 28px;
    color: #fff;
}

@media (max-width: 833px) {
    .voice-section-heading {
        font-size: 16px;
        text-align: left;
    }
}

.voice-section-heading-em {
    color: #FFE100;
}

.voice-section-heading-text {
    font-size: 14px;
    color: #fff;
    margin-top: 4px;
}

@media (max-width: 833px) {
    .voice-section-heading-text {
        font-size: 12px;
        text-align: left;
    }
}

.voice-section-body-block {
    background: #fff;
    border: 4px solid #EC6C00;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 70px 50px 70px 70px;
    display: flex;
    align-items: flex-start;
}

@media (max-width: 833px) {
    .voice-section-body-block {
        flex-direction: column;
        align-items: center;
        padding: 24px 24px 48px;
    }
}

.voice-section-body-block img {
    max-width: 280px;
    margin-right: 50px;
}

@media (max-width: 833px) {
    .voice-section-body-block img {
        max-width: 200px;
        margin-right: 0;
        margin-bottom: 28px;
    }
}

.voice-text-em {
    font-size: 10px;
    color: #757575;
}

.voice-section-content {
    font-size: 14px;
    letter-spacing: 0;
}

.voice-section-content-heading {
    margin-top: 40px;
    margin-bottom: 24px;
}

.voice-eddy-and-pita-img {
    position: absolute;
    bottom: -16px;
    right: 7.2%;
    z-index: 1;
}

.page-purchase-voice {
    background: #FFF3AE;
    padding-top: 80px;
}

.page-purchase-voice-container {
    max-width: 1048px;
    padding: 0 16px 80px;
    margin: 0 auto;
    box-sizing: content-box;
}

.page-purchase-voice-panel {
    background: #fff;
    border-radius: 24px;
    padding: 60px 54px;
}

@media (max-width: 833px) {
    .page-purchase-voice-panel {
        padding: 28px 20px 32px;
    }
}

.purchase-voice-item {
    display: flex;
    align-items: flex-start;
}

@media (max-width: 833px) {
    .purchase-voice-item {
        flex-direction: column;
        align-items: center;
    }
}


.purchase-voice-item:not(:first-child) {
    padding-top: 40px;
}

@media (max-width: 833px) {
    .purchase-voice-item:not(:first-child) {
        padding-top: 24px;
    }
}

.purchase-voice-item:not(:last-child) {
    border-bottom: 1px solid #E5E5E5;
    padding-bottom: 40px;
}

@media (max-width: 833px) {
    .purchase-voice-item:not(:last-child) {
        padding-bottom: 24px;
    }
}

.purchase-voice-item img {
    max-width: 213px;
    margin-right: 50px;
}

@media (max-width: 833px) {
    .purchase-voice-item img {
        max-width: 100%;
        margin-right: 0;
        margin-bottom: 12px;
    }
}

.purchase-voice-item p {
    font-size: 14px;
    letter-spacing: 0;
}

.page-purchase-voice-caution {
    font-size: 12px;
    color: #707070;
    margin-top: 25px;
}

@media (max-width: 833px) {
    .page-purchase-voice-heading {
        font-size: 28px;
    }
}

.purchase-voice-tablist {
    display: flex;
    justify-content: center;
    gap: 22px;
    margin: 40px 16px 56px;
}

@media (max-width: 833px) {
    .purchase-voice-tablist {
        margin-top: 24px;
        margin-bottom: 32px;
        gap: 8px;
    }
}

.purchase-voice-tablist-button {
    font-size: 18px;
    padding: 21px 26px;
    border-radius: 10px;
    border: 3px solid;
    background: #fff;
    position: relative;
}

@media (max-width: 833px) {
    .purchase-voice-tablist-button {
        font-size: 12px;
        padding: 16px 10px;
    }
}


.purchase-voice-tablist-button::before {
    content: "";
    position: absolute;
    bottom: -16px;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 20px;
    clip-path: polygon(50% 100%, 0% 0%, 100% 0%);
    display: none;
}

.purchase-voice-tablist-button.reason {
    border-color: #D7092F;
    color: #D7092F;
}

.purchase-voice-tablist-button.reason::before {
    background: #D7092F;
}

.purchase-voice-tablist-button.about-video {
    border-color: #EC6C00;
    color: #EC6C00;
}

.purchase-voice-tablist-button.about-video::before {
    background: #EC6C00;
}

.purchase-voice-tablist-button.picture-book {
    border-color: #009FD4;
    color: #009FD4;
}

.purchase-voice-tablist-button.picture-book::before {
    background: #009FD4;
}

.purchase-voice-tablist-button.educational-toy {
    border-color: #E3007F;
    color: #E3007F;
}

.purchase-voice-tablist-button.educational-toy::before {
    background: #E3007F;
}

.purchase-voice-tablist-button[aria-selected="true"] {
    color: #fff;
}

.purchase-voice-tablist-button[aria-selected="true"]::before {
    display: block;
}

.purchase-voice-tablist-button.reason[aria-selected="true"] {
    background: #D7092F;
}

.purchase-voice-tablist-button.about-video[aria-selected="true"] {
    background: #EC6C00;
}

.purchase-voice-tablist-button.picture-book[aria-selected="true"] {
    background: #009FD4;
}

.purchase-voice-tablist-button.educational-toy[aria-selected="true"] {
    background: #E3007F;
}

.page-hero-faq-eddy, .page-hero-faq-pita {
    position: absolute;
}

.page-faq {
    background: #5B6FB3;
    padding-top: 40px;
}

.page-faq-heading {
    font-size: 32px;
    color: #fff;
    margin-bottom: 56px;
    text-align: center;
}

@media (max-width: 833px) {
    .page-faq-heading {
        font-size: 24px;
        margin-bottom: 20px;
    }
}

.page-hero-faq-eddy {
    bottom: 0;
    right: 17.5%;
    z-index: 1;
    width: 130px;
}

@media (max-width: 833px) {
    .page-hero-faq-eddy {
        width: 90px;
        right: 20px;
    }
}

.page-hero-faq-pita {
    top: 70px;
    left: 24.7%;
    width: 80px;
}

@media (max-width: 833px) {
    .page-hero-faq-pita {
        top: 74px;
        width: 58px;
        left: 40px;
    }
}

.page-faq-contents {
    max-width: 1080px;
    padding-bottom: 110px;
    padding-left: 16px;
    padding-right: 16px;
    margin: 0 auto;
    border-bottom: 1px solid #fff;
    scroll-margin-top: 80px;
}

@media (max-width: 833px) {
    .page-faq-contents {
        padding-bottom: 44px;
    }
}

.page-faq-contents + .page-faq-contents {
    margin-top: 80px;
    border: none;
}

@media (max-width: 833px) {
    .page-faq-contents + .page-faq-contents {
        margin-top: 44px;
    }
}

.page-faq-contents:last-child {
    border-bottom: none;
}

.page-faq-list {
    display: flex;
    justify-content: center;
    gap: 100px;
    position: relative;
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 80px;
}

@media (max-width: 833px) {
    .page-faq-list {
        gap: 40px;
        margin-bottom: 55px;
        font-size: 12px;
    }
}

.page-faq-link {
    color: #fff;
    display: flex;
    align-items: center;
}

.page-faq-link-icon {
    margin-left: 8px;
    width: 24px;
    height: 24px;
    background: #fff;
    position: relative;
    border-radius: 50%;
    display: inline-block;
}

@media (max-width: 833px) {
    .page-faq-link-icon {
        width: 18px;
        height: 18px;
    }
}

.page-faq-link-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%) rotate(135deg);
    width: 8px;
    height: 8px;
    border-top: 2px solid #00125E;
    border-right: 2px solid #00125E;
}

@media (max-width: 833px) {
    .page-faq-link-icon::before {
        width: 6px;
        height: 6px;
    }
}

.page-faq-list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    background: #fff;
}

.catch-contents {
  position: relative;
}

.catch-contents-main-img {
  width: 59.88%;
  max-width: 800px;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
}

@media (max-width: 833px) {
  .catch-contents-main-img {
      width: 89%;
  }
}

.catch-contents-container {
  padding-top: 180px;
  padding-bottom: 232px;
  max-width: 1128px;
  padding-left: 16px;
  margin: 0 auto;
}

@media (max-width: 833px) {
  .catch-contents-container {
      padding-top: 62%;
      padding-bottom: 130px;
  }
}

.catch-contents-text {
  position: relative;
  max-width: 36.5%;
}

@media (max-width: 833px) {
  .catch-contents-text {
      max-width: 95%;
  }
}

.catch-contents-text.-method {
  max-width: 37.5%;
  font-size: 14px;
}

@media (max-width: 833px) {
  .catch-contents-text.-method {
      max-width: 95%;
      font-size: 12px;
  }
}

.catch-contents-eddy-img {
  position: absolute;
  top: -16%;
  right: -20%;
  width: 150px;
}

.catch-contents-eddy-img.-method {
  top: -30%;
  right: -22%;
  width: 158px;
}

@media (max-width: 833px) {

  .catch-contents-eddy-img.-method {
      right: 10%;
      top: -12%;
      width: 100px;
  }

  .catch-contents-eddy-img {
      right: 17%;
      top: -4%;
      width: 103px;
  }
}

.catch-contents-pita-img {
  position: absolute;
  bottom: -24%;
  left: -15%;
  width: 90px;
}

.catch-contents-pita-img.-method {
  bottom: -26%;
  left: -16%;
  width: 118px;
}

@media (max-width: 1220px) {
  .catch-contents-pita-img,
  .catch-contents-pita-img.-method {
      left: 10%;
  }
}

@media (max-width: 833px) {
  .catch-contents-pita-img.-method {
      left: 6%;
      bottom: -20%;
      width: 90px;
  }

  .catch-contents-pita-img {
      bottom: -20%;
      left: 4%;
      width: 68px;
  }
}

.catch-contents-bg {
  background: #EEF9FF;
  width: 60.4%;
  height: 533px;
  position: absolute;
  left: 0;
  top: 97px;
  z-index: -1;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}

.catch-contents-bg.-method {
  height: 494px;
}

@media (max-width: 833px) {
  .catch-contents-bg {
      width: 89%;
  }

  .catch-contents-bg {
      height: 495px;
  }

  .catch-contents-bg.-method {
      height: 580px;
  }
}

.catch-contents-heading {
  font-size: 40px;
  color: #00125E;
  margin-bottom: 16px;
}

.catch-contents-heading-text {
  font-weight: bold;
  letter-spacing: 0;
  color: #00125E;
}

@media (max-width: 833px) {
  .catch-contents-heading-text {
      font-size: 14px;
      margin-bottom: 4px !important;
  }
}

.catch-contents-description {
  color: #000;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-underline-offset: 8px;
  letter-spacing: 0;
  line-height: 2.25;
}

@media (max-width: 833px) {
  .catch-contents-description {
      line-height: 3;
  }
}

.catch-contents-heading::first-letter {
  color: #E55C5C;
}

/* 教材について */
.material__container {
  width: 100%;
  height: 100%;
  background-image: url('../../images/material-bg.png');
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
  color: #374190;
  word-break: auto-phrase;
}
.material__container .catch__contents {
    position: relative;
    font-weight: 900;
    margin-block-end: 7.9rem;
}

@media (max-width: 833px) {
  .material__container .catch__contents {
        margin-block-end: 2.4rem;
        padding-block-start: 2.4rem;
    }
}

.material__container .catch__content--top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-block-end: 7.2rem;
}

@media (width <= 833px) {
  .material__container .catch__content--top {
    flex-direction: column;
    gap: 2.4rem;
    align-items: flex-start;
    margin-block-end: 2.4rem;
  }
}

.material__container .catch__title {
  font-size: clamp(1.6rem,3.95vw,3.6rem);
  margin-inline-start: 12.52%;
}

@media (width <= 833px) {
  .material__container .catch__title {
    margin-inline: 3.625rem;
    font-size: 2.4rem;
  }
}

.material__container .catch__title h2 {
  letter-spacing: 0.08em;
}

@media (width <= 833px) {
  .material__container .catch__title h2 {
    font-size: 2.4rem;
    line-height: 24px;
    margin-block-end: 1.2rem;
  }
}

.material__container .catch__title p {
  letter-spacing: 0.04em;
  font-size: 2.4rem;
}

@media (width <= 833px) {
  .material__container .catch__title p {
    font-size: 1.4rem;
    line-height: 14px;
  }
}

.material__container .catch__content--text {
  font-size: 2.4rem;
  text-align: center;
  padding-inline: 4.18%;
}

.material__container .catch__content--text p {
  max-width: 85rem;
  margin-inline: auto;
}

@media (width <= 833px) {
  .material__container .catch__content--text {
    font-size: 1.4rem;
    line-height: 25.2px;
  }
}

.char--teal {
  color: #19A5A7;
}

.char--red {
  color: #ED3E4E;
}

.material__container .catch__image--wrapper {
  width: 58.57%;
}

.material__container .catch__image--wrapper img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (width <= 833px) {
  .material__container .catch__image--wrapper {
    width: 100%;
  }
}

.material-products {
  width: 100%;
  height: 100%;
  background-color: #FBEEA5;
  padding-block: 8rem;
  position: relative;
}

@media (width <= 833px) {
  .material-products {
    padding-block: 3.2rem;
    padding-inline: 4.18%;
  }
}

.material-products::before {
  content: '';
  position: absolute;
  background: url('../../images/material_deco_01.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 31.1rem;
  min-width: 14.1rem;
  height: 20.6rem;
  min-height: 9.3rem;
  top: -10.54vw;
  left: 3.88vw;
}

@media (width <= 1200px) {
  .material-products::before {
    display: none;
  }
}

.material-products::after {
  content: '';
  position: absolute;
  background: url('../../images/material_deco_02.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 17rem;
  min-width: 6.231rem;
  height: 16.1rem;
  min-height: 5.9rem;
  top: -8.35vw;
  right: 5.78vw;
}

@media (width <= 833px) {
  .material-products::after {
    top: -4.047rem;
    right: 1.853rem;
    width: 6.231rem;
    height: 5.9rem;
  }
}


.material-movie {
  position: relative;
  max-width: 1920px;
  margin-inline: auto;
}

@media (width <= 1200px) {
  .material-movie::before {
    content: '';
    position: absolute;
    background: url('../../images/material_deco_01.png');
    background-size: contain;
    background-repeat: no-repeat;
    width: 31.1rem;
    min-width: 14.1rem;
    height: 20.6rem;
    min-height: 9.3rem;
    top: -5.54vw;
    right: 3.88vw;
  }
}

@media (width <= 833px) {
  .material-movie::before {
    width: 14.1rem;
    height: 9.3rem;
    top: -4.547rem;
  }
}

.material-picture-books {
  position: relative;
  max-width: 1920px;
  margin-inline: auto;
}

.material-picture-books::before {
  content: '';
  position: absolute;
  background: url('../../images/material_deco_03.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 35.4rem;
  min-width: 15.1rem;
  height: 23.2rem;
  min-width: 9.9rem;
  top: -13.75rem;
  right: 6.5rem;
}

@media (width <= 1280px) {
  .material-picture-books::before {
    display: none;
  }
}

@media (width <= 1100px) {
  .material-picture-books::before {
    display: block;
    right: auto;
    left: 3.88vw;
  }
}

@media (width <= 833px) {
  .material-picture-books::before {
    left: auto;
    right: 0;
    top: -6.688rem;
    width: 15.1rem;
    height: 9.9rem;
  }
}

.material-educational-toys {
  position: relative;
  max-width: 1920px;
  margin-inline: auto;
}

.material-educational-toys::before {
  content: '';
  position: absolute;
  background: url('../../images/material_deco_04.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 21.2rem;
  min-width: 10.9rem;
  height: 22rem;
  min-height: 11.4rem;
  top: -17.206rem;
  left: 40rem;
}

@media (width <= 1260px) {
  .material-educational-toys::before {
    left: auto;
    right: 18.28vw;
  }
}

@media (width <= 833px) {
  .material-educational-toys::before {
    right: 3.6rem;
    top: -6.687rem;
    width: 10.9rem;
    height: 11.4rem;
  }
}

.material-application {
  position: relative;
  max-width: 1920px;
  margin-inline: auto;
}

.material-application::before {
  content: '';
  position: absolute;
  background: url('../../images/material_deco_05.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 23rem;
  min-width: 11.3rem;
  height: 14.7rem;
  min-height: 7.2rem;
  top: -8.484rem;
  right: 11.6rem;
}

@media (width <= 1200px) {
  .material-application::before {
    top: -16rem;
  }
}

@media (width <= 1100px) {
  .material-application::before {
    right: auto;
    left: 8.49vw;
  }
}

@media (width <= 833px) {
  .material-application::before {
    left: auto;
    right: 2.953rem;
    top: 0;
    width: 11.3rem;
    height: 7.2rem;
  }
}

.material-dream-switch {
  position: relative;
  max-width: 1920px;
  margin-inline: auto;
}

.material-dream-switch::before {
  content: '';
  position: absolute;
  background: url('../../images/material_deco_06.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 33.1rem;
  min-width: 16rem;
  height: 20.8rem;
  min-height: 10.1rem;
  top: -12.297rem;
  left: 32.2rem;
}

@media (width <= 1260px) {
  .material-dream-switch::before {
    display: none;
  }
}

@media (width <= 1250px) {
  .material-dream-switch::before {
    display: block;
    left: auto;
    right: 9.57vw;
    top: -13vw;
  }
}

@media (width <= 833px) {
  .material-dream-switch::before {
    left: auto;
    right: 0;
    top: -5.044rem;
    width: 16rem;
    height: 10.1rem;
  }
}

.material-products__container {
  max-width: 1068px;
  margin-inline: auto;
}

.material-anchor__wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2.4rem;
  margin-block-end: 8rem;
}

@media (width <= 833px) {
  .material-anchor__wrapper {
    gap: 1.2rem;
    margin-block-end: 6.4rem;
  }
}

.material-anchor {
  display: inline-block;
  background-color: #fff;
  border-radius: 999px;
  padding-block: 2rem;
  padding-inline: 3.2rem 2rem;
  width: 34rem;
}

@media (width <= 833px) {
  .material-anchor {
    padding-block: 1.6rem;
    padding-inline: 1.6rem;
    width: 16.65rem;
  }
}

@media (width <= 400px) {
  .material-anchor {
    padding-inline: 1.2rem;
    padding-block: 1.2rem;
    width: 14.4rem;
  }
}

.material-anchor__flex--wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.material-anchor__text {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1;
}

@media (width <= 833px) {
  .material-anchor__text {
    font-size: 1.3rem;
    line-height: 19.5px;
  }
}

@media (width <= 375px) {
  .material-anchor__text {
    font-size: 1.1rem;
    line-height: 16.5px;
  }
}

.material-anchor__chevron {
  display: inline-block;
  width: 3.2rem;
  height: 3.2rem;
  background-color: #374190;
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
}

@media (width <= 833px) {
  .material-anchor__chevron {
    width: 2.1rem;
    height: 2.1rem;
  }
}

@media (width <= 400px) {
  .material-anchor__chevron {
    width: 1.6rem;
    height: 1.6rem;
  }
}

.material-anchor__chevron::before {
  content: '';
  display: block;
  width: 1.2rem;
  height: 0.8rem;
  background-image: url('../../images/chevron-down.svg');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-block-start: 0.1rem;
}

@media (width <= 833px) {
  .material-anchor__chevron::before {
    width: 0.8rem;
    height: 0.5rem;
    margin-block-start: 0;
  }
}

@media (width <= 400px) {
  .material-anchor__chevron::before {
    width: 0.6rem;
    height: 0.4rem;
  }
}


.anchor-position {
  height: 0;
  position: relative;
  top: -7rem;
}

@media (width <= 833px) {
  .anchor-position {
    top: -3.5rem;
  }
}

.anchor-position#membership {
  top: 0;
}

@media (width <= 833px) {
  .anchor-position#membership {
    top: 5rem;
  }
}

.material-section__header {
  margin-block-end: 6.4rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  max-width: 1920px;
  margin-inline: auto;
}

@media (width <= 833px) {
  .material-section__header {
    margin-block-end: 2.4rem;
    flex-direction: column;
    align-items: center;
  }
}

.material-section__header.reverse {
  flex-direction: row-reverse;
  max-width: 1920px;
  margin-inline: auto;
}

.material-section__header.reverse .material-section__title--wrapper {
  margin-inline: 0 10.91%;
  padding-inline: 0 1.25rem;
}

@media (width <= 833px) {
  .material-section__header.reverse .material-section__title--wrapper {
    margin-inline: 0;
    padding-inline: 0;
  }
}

.material-section__title--wrapper {
  margin-inline: 10.91% 0;
  width: 33.13%;
  padding-inline: 1.25rem 0;
  word-break: auto-phrase;
}

@media (width <= 833px) {
  .material-section__title--wrapper {
    margin-inline: 0;
    width: 100%;
    padding-inline: 0;
  }
}

.material-section__title {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-block-end: 2.4rem;
}

@media (width <= 833px) {
  .material-section__title {
    margin-block-end: 1.6rem;
  }
}

.material-section__title span {
  font-size: 3.2rem;
  font-weight: 900;
  background-color: #91DEA9;
  line-height: 57.6px;
  padding-inline: 1.2rem;
  display: inline-block;
  width: fit-content;
}

@media (width <= 833px) {
  .material-section__title span {
    font-size: 2rem;
    line-height: 36px;
  }
}

.material-section__header--label--wrapper {
  margin-block-end: 0.8rem;
  display: flex;
  align-items: center;
}

.material-section__header--label {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 2rem;
  border: 2px dotted #374190;
  border-radius: 999px;
  padding-inline: 1.6rem;
  padding-block: 0.8rem;
  display: inline-block;
}

@media (width <= 833px) {
  .material-section__header--label {
    font-size: 1.2rem;
    line-height: 14.4px;
    padding-inline: 1.2rem;
    padding-block: 0.8rem;
  }
}

.material-section__header--label span {
  font-size: 2rem;
  line-height: 2rem;
}

@media (width <= 833px) {
  .material-section__header--label span {
    font-size: 1.6rem;
    line-height: 19.2px;
  }
}

.material-section__header--description--title {
  font-size: clamp(1.8rem, 2.16vw, 2.4rem);
  font-weight: 900;
  line-height: 43.2px;
  margin-bottom: 2.4rem !important;
  letter-spacing: 0.04em;
  word-break: normal;
}

@media (width <= 833px) {
  .material-section__header--description--title {
    font-size: 1.6rem;
    line-height: 28.8px;
    margin-bottom: 1.6rem !important;
  }
}

.material-section__header--description--text {
  font-size: clamp(1.2rem, 1.68vw, 1.6rem);
  line-height: 32px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

@media (width <= 833px) {
  .material-section__header--description--text {
    font-size: 1.2rem;
    line-height: 21.6px;
  }
}

.material-section__header--img {
  width: 51.32%;
}

.material-section__header--img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (width <= 833px) {
  .material-section__header--img {
    display: none;
  }
}

.material-section__header--img--sp {
  display: none;
}

@media (width <= 833px) {
  .material-section__header--img--sp {
    display: block;
    width: 100%;
    margin-block-end: 1.6rem;
  }

  .material-section__header--img--sp img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.material-section__content--wrapper {
  max-width: calc(1068px + 3.2rem);
  margin-inline: auto;
  padding-inline: 3.2rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  margin-block-end: 8rem;
  width: 100%;
}

@media (width <= 833px) {
  .material-section__content--wrapper {
    gap: 2.4rem;
    margin-block-end: 2.4rem;
    padding-inline: 0;
  }
}

.material-section__content--wrapper.no-gap {
  gap: 0;
  padding-inline: 0;
}

@media (width <= 833px) {
  .material-section__content--wrapper.no-gap {
    margin-block-end: 0;
  }
}

.material-section__content {
  max-width: 1043px;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 2.4rem;
  padding-block: 3.2rem;
  padding-inline: 4rem;
  position: relative;
  width: 100%;
}

@media (width <= 833px) {
  .material-section__content {
    padding-block: 1.6rem;
    padding-inline: 1.6rem;
  }
}

.material-section__content--wrapper.no-gap .material-section__content:first-child {
  border-end-start-radius: 0;
  border-end-end-radius: 0;
}
.material-section__content--wrapper.no-gap .material-section__content:last-child {
  border-start-start-radius: 0;
  border-start-end-radius: 0;
}


.material-section__content--title--wrapper {
  border-block-end: 1px dotted #374190;
  margin-block-end: 2.4rem;
}

@media (width <= 833px) {
  .material-section__content--title--wrapper {
    margin-block-end: 2rem;
  }
}

.material-section__content--title {
  font-size: 2.8rem;
  line-height: 42px;
  letter-spacing: 0.08em;
  font-weight: 900;
  background-color: #FFEAF6;
  padding-block-end: 0.4rem;
  padding-inline: 0.8rem;
  display: inline-block;
  margin-block-end: 1.2rem;
}

@media (width <= 833px) {
  .material-section__content--title {
    font-size: 1.8rem;
    line-height: 27px;
    margin-block-end: 0.8rem;
  }
}

.material-section__content--description {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 0.08em;
  margin-block-end: 1.6rem;
}

@media (width <= 833px) {
  .material-section__content--description {
    font-size: 1.4rem;
    line-height: 21px;
  }
}

.material-section__content--grade {
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 28.8px;
  letter-spacing: 0.08em;
  background-color: #374190;
  color: #fff;
  padding-block: 0.4rem;
  padding-inline: 1.6rem;
  margin-block-end: 1.6rem;
}

@media (width <= 833px) {
  .material-section__content--grade {
    font-size: 1.4rem;
    line-height: 25.2px;
    padding-block: 0.4rem;
    padding-inline: 0.8rem;
  }
}

.material-slider {
  max-width: 100%;
  overflow: hidden;
}

.slide__flex--wrapper {
  display: flex;
  gap: 3.2rem;
  max-width: 100%;
  width: 100% !important;
}

@media (width <= 833px) {
  .slide__flex--wrapper {
    flex-direction: column;
    gap: 1.6rem;
    margin-block-end: 1.6rem;
  }
}

.slider-img-wrapper {
  width: 56.07%;
  margin-block-end: 2.4rem;
}

@media (width <= 833px) {
  .slider-img-wrapper {
    width: 100%;
    margin-block-end: 1.5rem;
  }
}

.slider-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 2.4rem;
}

.slider-text-wrapper {
  width: calc(100% - 56.07%);
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 833px) {
  .slider-text-wrapper {
    width: 100%;
  }
}

@media (width <= 833px) {
  .slider-text-wrapper hgroup {
    width: 100%;
    text-align: center;
  }
}

.slider-text {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 1.6rem;
}

@media (width <= 833px) {
  .slider-text {
    gap: 1.2rem;
  }
}

.slider-text__label--wrapper {
  display: flex;
  gap: 0.8rem;
  width: 100%;
}

@media (width <= 833px) {
  .slider-text__label--wrapper {
    justify-content: center;
    align-items: center;
  }
}

.slider-text__label {
  display: inline-block;
  padding-block: 0.6rem 0.8rem;
  padding-inline: 0.8rem;
  background-color: #374190;
  font-size: 1.6rem;
  font-weight: 900;
  line-height: 16px;
  letter-spacing: 0.04em;
  color: #fff;
}

@media (width <= 833px) {
  .slider-text__label {
    font-size: 1.3rem;
    line-height: 13px;
    padding-block: 0.4rem 0.5rem;
  }
}

.grade-1 {
  background-color: #D80A30;
}

.grade-2 {
  background-color: #F0C719;
}

.grade-3 {
  background-color: #4353A3;
}

.grade-4 {
  background-color: #01B2B6;
}

.grade-5 {
  background-color: #ED6D00;
}

.grade-6 {
  background-color: #724598;
}

.grade-7 {
  background-color: #05B5E1;
}

.grade-8 {
  background-color: #E4007F;
}

.slider-text__title {
  font-size: 2rem;
  font-weight: 900;
  line-height: 36px;
  letter-spacing: 0.04em;
}

@media (width <= 833px) {
  .slider-text__title {
    width: 100%;
    text-align: center;
    font-size: 1.8rem;
    line-height: 32.4px;
  }
}

.slider-text__title-en {
  font-family: 'Jost', sans-serif;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 24px;
  letter-spacing: 0.04em;
}

@media (width <= 833px) {
  .slider-text__title-en {
    width: 100%;
    font-size: 1.4rem;
    line-height: 21px;
  }
}

.slider-text__description {
  font-size: 1.6rem;
  line-height: 28.8px;
  font-weight: 400;
  letter-spacing: 0.04em;
  word-break: normal;
}

@media (width <= 833px) {
  .slider-text__description {
    font-size: 1.4rem;
    line-height: 25.2px;
    padding-inline-start: 0.5rem;
  }
}

.material-swiper-button-next,
.material-swiper-button-prev {
  position: absolute;
  top: 50%;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
  background-color: #374190;
  border: 3px solid #fff;
  cursor: pointer;
  transform: translateY(-50%);
}

.material-swiper-button-next[data-slider-id='2'],
.material-swiper-button-prev[data-slider-id='2'] {
  top: 55%;
  transform: translateY(-55%);
}

.material-swiper-button-next[data-slider-id='3'],
.material-swiper-button-prev[data-slider-id='3'] {
  top: 40%;
  transform: translateY(-40%);
}

@media (width <= 833px) {
  .material-swiper-button-next,
  .material-swiper-button-prev {
    width: 3rem;
    height: 3rem;
    top: 25%;
    transform: translateY(0);
  }

  .material-swiper-button-next[data-slider-id='2'],
  .material-swiper-button-prev[data-slider-id='2'] {
    top: 24.5%;
    transform: translateY(-24.5%);
  }

  .material-swiper-button-next[data-slider-id='3'],
  .material-swiper-button-prev[data-slider-id='3'] {
    top: 18%;
    transform: translateY(-18%);
  }

  .material-swiper-button-next[data-slider-id='4'],
  .material-swiper-button-prev[data-slider-id='4'] {
    top: 28%;
    transform: translateY(-28%);
  }

  .material-swiper-button-next[data-slider-id='6'],
  .material-swiper-button-prev[data-slider-id='6'] {
    top: 16%;
    transform: translateY(-16%);
  }

  .material-swiper-button-next[data-slider-id='7'],
  .material-swiper-button-prev[data-slider-id='7'] {
    top: 30%;
    transform: translateY(-30%);
  }

  .material-swiper-button-next[data-slider-id='8'],
  .material-swiper-button-prev[data-slider-id='8'] {
    top: 22%;
    transform: translateY(-22%);
  }

  .material-swiper-button-next[data-slider-id='9'],
  .material-swiper-button-prev[data-slider-id='9'] {
    top: 19%;
    transform: translateY(-19%);
  }
}

@media (width <= 550px) {
  .material-swiper-button-next[data-slider-id='2'],
  .material-swiper-button-prev[data-slider-id='2'] {
    top: 26.5%;
    transform: translateY(26.5%);
  }

  .material-swiper-button-next[data-slider-id='7'],
  .material-swiper-button-prev[data-slider-id='7'] {
    top: 25%;
    transform: translateY(-25%);
  }

  .material-swiper-button-next[data-slider-id='9'],
  .material-swiper-button-prev[data-slider-id='9'] {
    top: 20%;
    transform: translateY(-20%);
  }
}

@media (width <= 414px) {
  .material-swiper-button-next[data-slider-id='2'],
  .material-swiper-button-prev[data-slider-id='2'] {
    top: 28.5%;
    transform: translateY(28.5%);
  }

  .material-swiper-button-next[data-slider-id='3'],
  .material-swiper-button-prev[data-slider-id='3'] {
    top: 16%;
    transform: translateY(-16%);
  }

  .material-swiper-button-next[data-slider-id='6'],
  .material-swiper-button-prev[data-slider-id='6'] {
    top: 12%;
    transform: translateY(-12%);
  }

  .material-swiper-button-next[data-slider-id='7'],
  .material-swiper-button-prev[data-slider-id='7'] {
    top: 22%;
    transform: translateY(-22%);
  }
}

.material-swiper-button-next {
  right: -2rem;
}

@media (width <= 833px) {
  .material-swiper-button-next {
    right: -0.7rem;
  }
}

.material-swiper-button-prev {
  left: -2rem;
}

@media (width <= 833px) {
  .material-swiper-button-prev {
    left: -0.7rem;
  }
}

.thumbnail-slider__flex--wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.thumbnail-slide {
  width: calc(100% / 8 - 0.8rem) !important;
  border: 1px solid #C3CCED;
  border-radius: 0.6rem;
  box-sizing: border-box;
}

@media (width <= 833px) {
  .thumbnail-slide {
    width: calc(100% / 3 - 0.8rem) !important;
  }
}

.thumbnail-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.6rem;
  cursor: pointer;
}

.swiper-slide-thumb-active {
  border: 3px solid #374190;
  border-radius: 0.8rem;
}

.service-jump-link__wrapper {
  max-width: 1068px;
  margin-inline: auto;
  width: 100%;
  margin-block-end: 19.6rem;
  padding-inline: 1.6rem;
}

@media (width <= 833px) {
  .service-jump-link__wrapper {
    padding-inline: 0;
    margin-block-end: 8rem;
  }
}

.service-jump-link__wrapper:last-child {
  margin-block-end: 0;
}

.service-jump-link__inner {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 2.4rem;
  max-height: 14.6rem;
}

@media (width <= 833px) {
  .service-jump-link__inner {
    max-height: 10rem;
  }
}

.service-jump-link__img {
  width: 44.19%;
  height: 14.6rem;
}

@media (width <= 833px) {
  .service-jump-link__img {
    width: 42.03%;
    height: 10rem;
  }
}

.service-jump-link__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-start-start-radius: 2.4rem;
  border-end-start-radius: 2.4rem;
}

@media (width <= 833px) {
  .service-jump-link__img img {
    border-start-start-radius: 1.2rem;
    border-end-start-radius: 1.2rem;
  }
}

.service-jump-link__chevron--wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (width <= 833px) {
  .service-jump-link__chevron--wrapper {
    justify-content: space-between;
  }
}

.service-jump-link__chevron {
  display: inline-block;
  width: 4rem;
  height: 4rem;
  background-color: #fff;
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
}

@media (width <= 833px) {
  .service-jump-link__chevron {
    width: 1.8rem;
    height: 1.8rem;
  }
}

.service-jump-link__chevron::before {
  content: '';
  display: block;
  width: 1.6rem;
  height: 1rem;
  background-image: url('../../images/chevron-down-blue.svg');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-block-start: 0.1rem;
}

@media (width <= 833px) {
  .service-jump-link__chevron::before {
    width: 1.1rem;
    height: 0.65rem;
    margin-block-start: 0.05rem;
  }
}

.service-jump-link__right {
  width: calc(100% - 44.19%);
  height: 14.6rem;
  background-color: #374190;
  font-weight: 900;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5.17%;
  /* padding-block: 2.4rem 3.1rem;
  padding-inline: 4.1rem 3.3rem; */
  border-start-end-radius: 2.4rem;
  border-end-end-radius: 2.4rem;
}

@media (width <= 833px) {
  .service-jump-link__right {
    display: none;
  }
}

.service-jump-link__right--sp {
  display: none;
}

@media (width <= 833px) {
  .service-jump-link__right--sp {
    display: block;
    width: calc(100% - 42.03%);
    height: 10rem;
    padding-block: 1.3rem;
    padding-inline: 1.2rem;
    border-start-end-radius: 1.2rem;
    border-end-end-radius: 1.2rem;
    background-color: #374190;
    font-weight: 900;
    align-content: center;
  }
}

@media (width <= 400px) {
  .service-jump-link__right--sp {
    padding-inline: 0.5rem;
  }
}

.service-jump-link__upper-text {
  color: #F7DD4B;
  /* font-size: clamp(1.2rem, 1.44vw, 2rem); */
  font-size: 2rem;
  margin-bottom: 0 !important;
  line-height: 44px;
  letter-spacing: 0;
  align-items: center;
  gap: 1.1rem;
  width: fit-content;
  display: flex;
}

@media (width <= 833px) {
  .service-jump-link__upper-text {
    font-size: 1.2rem;
    line-height: 16px;
    letter-spacing: 0.04em;
    margin-bottom: 0.8rem !important;
    gap: 0.25rem;
  }
}

@media (width <= 400px) {
  .service-jump-link__upper-text {
    font-size: 1.1rem;
    line-height: 14px;
  }
}

.service-jump-link__upper-text::before, .service-jump-link__upper-text::after {
  content: '';
  display: block;
  width: 1.97rem;
  height: 3px;
  background-color: #F7DD4B;
}

@media (width <= 833px) {
  .service-jump-link__upper-text::before, .service-jump-link__upper-text::after {
    width: 1.2rem;
    height: 2px;
  }
}

.service-jump-link__upper-text::before {
  rotate: 66.04deg;
}

.service-jump-link__upper-text::after {
  rotate: 113.96deg;
}

.service-jump-link__lower-text {
  color: #fff;
  font-size: clamp(2.4rem, 2.88vw, 2.9rem);
  line-height: 44px;
  letter-spacing: 0;
}

@media (width <= 833px) {
  .service-jump-link__lower-text {
    font-size: 1.8rem;
    line-height: 27px;
    margin-bottom: 0 !important;
  }
}

.material-service {
  position: relative;
  width: 100%;
  padding-inline: 1.6rem;
}

.material-service::before {
  content: '';
  position: absolute;
  background: url('../../images/material_deco_07.png');
  background-size: contain;
  background-repeat: no-repeat;
  width: 16.84vw;
  max-width: 23rem;
  height: 31.08vw;
  max-height: 42.4rem;
  top: -4.01vw;
  left: 0;
}

@media (width <= 833px) {
  .material-service {
    padding-inline: 1.575rem;
  }

  .material-service::before {
    display: none;
  }

  .material-service::after {
    content: "";
    position: absolute;
    background: url('../../images/object_k.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 6.623rem;
    height: 9.2rem;
    bottom: -4rem;
    right: 6.03vw;
    transform: rotate(30deg);
  }
}

.material-service__container {
  max-width: calc(1167px + 1.6rem);
  margin-inline: auto;
  margin-block: 6.4rem;
}

@media (width <= 833px) {
  .material-service__container {
    margin-block: 4rem;
  }
}

.material-service__title {
  align-items: center;
  justify-content: center;
  width: 100%;
  display: flex;
  font-size: 3.2rem;
  line-height: 64px;
  letter-spacing: 0.04em;
  font-weight: 900;
  margin-block-end: 11.1rem;
}

@media (width <= 833px) {
  .material-service__title {
    font-size: 1.8rem;
    line-height: 28.8px;
    margin-block-end: 6.4rem;
    text-align: center;
    gap: 0.8rem;
  }
}

.material__pcbr {
  display: block;
}

@media (width <= 833px) {
  .material__pcbr {
    display: none;
  }
}

.material__spbr {
  display: none;
}

@media (width <= 833px) {
  .material__spbr {
    display: block;
  }
}

.material-service__title span {
  color: #ED3E4E;
}

.material-service__title::before, .material-service__title::after {
  content: '';
  display: inline-block;
  width: 3.489rem;
  height: 4px;
  background-color: #374190;
}

@media (width <= 833px) {
  .material-service__title::before, .material-service__title::after {
    width: 3px;
    height: 5rem;
  }
}

.material-service__title::before {
  rotate: 66.04deg;
}

@media (width <= 833px) {
  .material-service__title::before {
    rotate: -25deg;
  }
}

.material-service__title::after {
  rotate: 113.96deg;
}

@media (width <= 833px) {
  .material-service__title::after {
    rotate: 25deg;
  }
}

.material-service__content--wrapper {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 11rem;
  padding-inline: 3.2rem;
}

@media (width <= 833px) {
  .material-service__content--wrapper {
    gap: 8rem;
    padding-inline: 0;
  }
}

.material-service__content {
  background-color: #93D3DF;
  margin-inline: 8.71% 0;
  border-radius: 2rem;
  padding-block: 10rem 6.167rem;
  padding-inline: 8rem;
  position: relative;
}

.material-service__content:first-child::before {
  content: '';
  position: absolute;
  background: url('../../images/object_m.svg');
  background-size: contain;
  background-repeat: no-repeat;
  width: 6.99vw;
  max-width: 9.5rem;
  min-width: 6.684rem;
  height: 11.67vw;
  max-height: 16rem;
  min-height: 11.15rem;
  bottom: -3.25vw;
  right: 0;
  z-index: 1;
}

@media (width <= 833px) {
  .material-service__content {
    margin-inline: 0;
    padding-block: 4rem;
    padding-inline: 1.6rem;
  }
}

.material-service__content.even {
  margin-inline: 0 8.71%;
}

@media (width <= 833px) {
  .material-service__content.even {
    margin-inline: 0;
  }
}

.material-service__content--title {
  position: absolute;
  top: 0;
  left: 0;
}

.material-service__content--title--text {
  position: relative;
  z-index: 0;
  display: inline-block;
  top: -3.5rem;
  transform: translateX(4rem);
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 56px;
}

@media (width <= 833px) {
  .material-service__content--title--text {
    font-size: 2rem;
    line-height: 26px;
    transform: translateX(4rem);
    top: -2.2rem;
  }
}

.material-service__content.even .material-service__content--title--text {
  transform: translateX(9.5rem);
}

@media (width <= 833px) {
  .material-service__content.even .material-service__content--title--text {
    transform: translateX(7rem);
  }
}

.material-service__content--title--bg {
  position: absolute;
  content: "";
  background-color: #FFE100;
  -webkit-clip-path: polygon(5% 100%, 0 0%, 100% 15%, 95% 85%);
  clip-path: polygon(5% 100%, 0 0%, 100% 15%, 95% 85%);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 39.3rem;
  height: 7.7rem;
  z-index: -1;
}

@media (width <= 833px) {
  .material-service__content--title--bg {
    width: 21rem;
    height: 4.4rem;
  }
}

.material-service__content--title--bg-shadow {
  position: absolute;
  content: "";
  background-color: #374190;
  -webkit-clip-path: polygon(5% 100%, 0 0%, 100% 15%, 95% 85%);
  clip-path: polygon(5% 100%, 0 0%, 100% 15%, 95% 85%);
  top: 65%;
  left: 53%;
  transform: translate(-50%, -50%);
  width: 39.5rem;
  height: 7.8rem;
  z-index: -2;
}

@media (width <= 833px) {
  .material-service__content--title--bg-shadow {
    width: 21.2rem;
    height: 4.4rem;
  }
}

.material-service__content.even .material-service__content--title--bg-shadow {
  left: 55%;
}

.material-service__item--wrapper {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}

@media (width <= 833px) {
  .material-service__item--wrapper {
    gap: 2.4rem;
  }
}

.material-service__item {
  background-color: rgba(255, 255, 255, 0.5);
  display: flex;
  align-items: center;
  gap: 6.4rem;
  margin-inline: 6.08% 0;
  padding-block: 5.6rem;
  padding-inline: 45% 7.75%;
  border-radius: 2.4rem;
  position: relative;
}

@media (width <= 833px) {
  .material-service__item {
    flex-direction: column;
    gap: 2.4rem;
    margin-inline: 0;
    padding-block: 2.4rem;
    padding-inline: 2.4rem;
  }
}

.material-service__item.even {
  margin-inline: 0 6.08%;
  padding-inline: 7.75% 45%;
}

@media (width <= 833px) {
  .material-service__item.even {
    margin-inline: 0;
    padding-inline: 2.4rem;
  }
}

.material-service__item.with-benefit {
  margin-block-end: 8rem;
}

.material-service__img {
  position: absolute;
  top: 50%;
  left: -6.08%;
  transform: translateY(-50%);
  width: 50%;
  box-shadow: 16px 16px 20px 0px #0000001A;
}

.material-service__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (width <= 833px) {
  .material-service__img {
    position: unset;
    width: 100%;
    transform: unset;
  }
}

.material-service__item.even .material-service__img {
  left: auto;
  right: -6.08%;
}

.material-service__text {
  font-size: 1.6rem;
  font-weight: 700;
  word-break: break-word;
}

@media (width <= 833px) {
  .material-service__text {
    font-size: 1.2rem;
  }
}

.material-service__item--upper-text {
  line-height: 28.8px;
  margin-bottom: 0.4rem !important;
  letter-spacing: 0.02em;
}

@media (width <= 833px) {
  .material-service__item--upper-text {
    line-height: 21.6px;
    margin-bottom: 0 !important;
  }
}

.material-service__item--lower-text {
  line-height: 32px;
  font-size: 1.6rem;
  margin-bottom: 2.4rem !important;
  letter-spacing: 0.02em;
}

@media (width <= 833px) {
  .material-service__item--lower-text {
    line-height: 21.6px;
    font-size: 1.2rem;
    margin-bottom: 1.2rem !important;
  }
}

.material-service__item--title {
  font-weight: 900;
  font-size: 2.8rem;
  line-height: 50.4px;
  margin-block-end: 2.4rem;
}

@media (width <= 833px) {
  .material-service__item--title {
    font-size: 2rem;
    line-height: 36px;
    margin-block-end: 1.2rem;
  }
}

.material-service__item--title.membership-title {
  font-weight: 900;
  font-size: 2.4rem;
  line-height: 43.2px;
  margin-block-end: 0.4rem;
}

@media (width <= 833px) {
  .material-service__item--title.membership-title {
    font-size: 2rem;
    line-height: 36px;
    margin-block-end: 0;
  }
}

.material-service__item--description {
  line-height: 32px;
  letter-spacing: 0.02em;
}

@media (width <= 833px) {
  .material-service__item--description {
    line-height: 24px;
  }
}

.material-service__catchphrase {
  text-align: center;
  font-weight: 900;
  font-size: 3rem;
  line-height: 49.5px;
  margin-bottom: 0 !important;
}

@media (width <= 833px) {
  .material-service__catchphrase {
    font-size: 1.6rem;
    line-height: 26.4px;
  }
}

.material-service__benefit {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(3.29vw - 2px);
  background-color: #E8F4E1;
  font-weight: 700;
  border-radius: 999px;
  padding-block: 3.1rem;
  max-width: 80rem;
  margin-inline: auto;
  margin-block-end: 1.6rem;
  position: relative;
}

@media (width <= 833px) {
  .material-service__benefit {
    gap: 2.4rem;
    flex-direction: column;
    border-radius: 2.4rem;
  }
}

.material-service__benefit::before {
  content: '';
  position: absolute;
  background: url('../../images/material_service_benefit_img.png');
  background-size: contain;
  background-repeat: no-repeat;
  top: -6rem;
  left: 46.5%;
  transform: translateX(-50%);
  width: 14.7rem;
  height: 7.6rem;
}

@media (width <= 833px) {
  .material-service__benefit::before {
    transform: translateX(-60%);
  }
}

@media (width <= 550px) {
  .material-service__benefit::before {
    transform: translateX(-65%);
  }
}

.material-service__benefit--item {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  align-items: center;
  justify-content: center;
  color: #6CB75A;
}

.material-service__benefit--divider {
  border-left: 2px dotted #6CB75A;
  height: 6.1rem;
}

@media (width <= 833px) {
  .material-service__benefit--divider {
    width: 100%;
    height: 0;
    border-left: none;
    border-top: 2px dotted #6CB75A;
  }
}

.material-service__benefit--upper-text {
  font-size: clamp(2rem, 1.46vw, 2.4rem);
  line-height: 24px;
  margin-bottom: 0 !important;
  letter-spacing: 0.02em;
}

@media (width <= 833px) {
  .material-service__benefit--upper-text {
    font-size: 2rem;
    line-height: 20px;
  }
}

.material-service__benefit--lower-text {
  font-size: clamp(3.6rem, 2.64vw, 4.2rem);
  line-height: 42px;
  letter-spacing: 0.02em;
}

.material-service__benefit--lower-text.flex {
  display: flex;
  align-items: flex-end;
  gap: 1rem;
}

@media (width <= 833px) {
  .material-service__benefit--lower-text {
    font-size: 3.6rem;
    line-height: 36px;
  }
}

.material-service__benefit--lower-text--left {
  font-size: clamp(1.6rem, 1.17vw, 1.8rem);
  line-height: 16px;
  padding-block: 0.8rem 1.2rem;
  padding-inline: 0.8rem;
  background-color: #fff;
  border-radius: 8px;
}

@media (width <= 833px) {
  .material-service__benefit--lower-text--left {
    font-size: 1.6rem;
    line-height: 16px;
    padding-block: 0.6rem 0.8rem;
  }
}

.material-service__benefit--annotation {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-inline: auto;
  word-break: normal;
}

.material-service__benefit--annotation p {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.02em;
}

@media (width <= 833px) {
  .material-service__benefit--annotation p {
    font-size: 1.2rem;
  }
}

.material-cta__wrapper {
  padding-inline: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
  margin-block: 4.8rem 6.4rem;
}

@media (width <= 833px) {
  .material-cta__wrapper {
    gap: 3.2rem;
    margin-block: 3.2rem;
  }
}

.attraction-cta__banner {
  width: 90%;
  max-width: 1048px;
  margin-inline: auto;
}

.attraction-cta__banner img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.summary-table {
    border-collapse: separate;
    border-spacing: 4px;
    color: #363636;
    width: 914px;
    margin: 0 auto;
    overflow: scroll;
}

.summary-table th,
.summary-table td {
    padding: 20px;
    border-radius: 10px;
    font-size: 14px;
}

.summary-table-heading {
    background: #E3007F;
    color: #fff;
}

.summary-table-heading.summary-table-heading--entry {
    width: 153px;
}

.summary-table-heading.summary-table-heading--quantity {
    width: 198px;
}

.summary-table-row-heading {
    background: #FEBCE1;
    color: #fff;
    text-align: center;
}

.summary-table td.summary-table-second-row {
    text-align: center;
    padding-left: 8px;
    padding-right: 8px;
}

.summary-table-second-row, .summary-table-third-row {
    background: #fff;
}

.material-summary {
    position: relative;
    background: #FFEAF6;
    padding-top: 8rem;
}

@media (max-width: 833px) {
    .material-summary {
        padding-top: 4.8rem;
    }
}

.material-summary::before {
    content: "";
    position: absolute;
    background: url('../../images/object_k.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 6.93vw;
    max-width: 9.461rem;
    min-width: 6.623rem;
    height: 9.59vw;
    max-height: 13.1rem;
    min-height: 9.2rem;
    top: -7.12vw;
    right: 6.03vw;
    transform: rotate(30deg);
}

@media (max-width: 833px) {
    .material-summary::before {
        display: none;
    }
}

.material-summary::after {
    content: "";
    position: absolute;
    background: url('../../images/object_v.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 6.44vw;
    max-width: 8.8rem;
    min-width: 6.16rem;
    height: 11.42vw;
    max-height: 15.6rem;
    min-height: 10.92rem;
    top: 3.95vw;
    left: 4.54vw;
}

@media (max-width: 833px) {
    .material-summary::after {
        top: 0;
    }
}

.material-summary-container {
    max-width: 914px;
    margin: 0 auto;
    padding: 0 16px 120px;
    box-sizing: content-box;
}

@media (max-width: 833px) {
    .material-summary-container {
        padding: 0 16px 60px;
    }
}

.material-summary-heading {
    font-size: 3.2rem;
    line-height: 32px;
    margin-bottom: 6.4rem;
    text-align: center;
}

.material-summary-heading span {
    font-weight: 900;
    display: inline-block;
    background: #fff;
    padding: 1rem;
}

@media (max-width: 833px) {
    .material-summary-heading {
        font-size: 24px;
        margin-bottom: 24px;
    }
}

.material-summary-em {
    font-size: 14px;
    color: #363636;
    text-align: center;
    margin-bottom: 30px;
}

@media (max-width: 833px) {
    .material-summary-em {
        text-align: left;
    }
}

.material-summary-img {
    margin-bottom: 20px;
}

.material-character-heading {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 833px) {
    .material-character-heading {
        font-size: 20px;
        text-align: center;
    }

}

.material-character-heading img:not(:last-child) {
    margin-right: 20px;
}

@media (max-width: 833px) {
    .material-character-heading img:not(:last-child) {
        margin-right: 0;
        width: 69px;
    }

    .material-character-heading img:last-child {
        width: 88px;
    }

    .material-character-heading span {
        margin-left: -4px;
        margin-right: -16px;
    }
}

.material-character-text {
    text-align: center;
    margin-top: 20px;
    font-weight: bold;
    padding: 0 16px;
}

@media (max-width: 833px) {
    .material-character-text {
        font-size: 14px;
    }
}

.material-swiper-container {
    margin-top: 50px;
    position: relative;
}

.material-swiper-pagination {
    bottom: -40px !important;
    z-index: 1 !important;
}

.material-swiper-pagination .swiper-pagination-bullet {
    width: 18px;
    height: 18px;
}

@media (max-width: 833px) {
    .material-swiper-pagination .swiper-pagination-bullet {
        width: 14px;
        height: 14px;
    }
}

.material-swiper-pagination .swiper-pagination-bullet-active {
    background: #00125E;
}

.page-hero-news-eddy, .page-hero-news-pita, .page-hero-news-category-eddy, .page-hero-news-category-pita {
    position: absolute;
}

.page-hero-news-eddy {
    bottom: 6px;
    right: 17%;
    width: 140px;
}

@media (max-width: 833px) {
    .page-hero-news-eddy {
        right: 15px;
        width: 83px;
    }
}

.page-hero-news-pita {
    top: 56px;
    left: 22.5%;
    width: 90px;
}

@media (max-width: 833px) {
    .page-hero-news-pita {
        top: 40px;
        left: 51px;
        width: 54px;
    }
}

.page-hero-news-category-eddy {
    bottom: 6px;
    left: 17%;
    width: 110px;
}

@media (max-width: 833px) {
    .page-hero-news-category-eddy {
        left: 15px;
        width: 76px;
    }
}

.page-hero-news-category-pita {
    top: 56px;
    right: 22.5%;
    width: 58px;
}

@media (max-width: 833px) {
    .page-hero-news-category-pita {
        top: 40px;
        right: 51px;
        width: 46px;
    }
}

.section-block.block-news {
    padding-left: 0;
    padding-right: 0;
}

@media (max-width: 833px) {
    .section-block.block-news {
        padding-top: 28px;
    }
}

.page-news {
    background: #EEF9FF;
}

.page-news-container {
    max-width: 1116px;
    margin: 0 auto;
    padding: 0 16px;
}

.caution-news {
    background: #fff;
    border-radius: 10px;
    padding: 32px 36px;
}

@media (max-width: 833px) {
    .caution-news {
        padding: 12px;
    }
}

.caution-news-head {
    flex: auto;
    max-width: 114px;
}

@media (max-width: 833px) {
    .caution-news-head {
        display: flex;
        justify-content: space-between;
        max-width: initial;
        align-items: center;
        width: 100%;
    }
}

.caution-news-body {
    flex: auto;
}

@media (max-width: 833px) {
    .caution-news-body {
        width: 100%;
    }
}

.caution-news-head h3 {
    font-size: 14px;
    letter-spacing: 0;
}

.caution-news-head a {
    font-size: 12px;
    background: #EEF9FF;
    width: 100%;
    max-width: 114px;
    height: 28px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    margin-top: 12px;
}

@media (max-width: 833px) {
    .caution-news-head a {
        margin-top: 0;
    }
}

.caution-news-head a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%) rotate(45deg);
    width: 5px;
    height: 5px;
    border-top: 2px solid #00125E;
    border-right: 2px solid #00125E;
}

.caution-news-block {
    display: flex;
    align-items: center;
    gap: 40px;
}

@media (max-width: 833px) {
    .caution-news-block {
        flex-direction: column;
        gap: 16px;
    }
}

.caution-news-block-border {
    width: 1px;
    height: 78px;
    background: #D7D7D7;
}

@media (max-width: 833px) {
    .caution-news-block-border {
        display: none;
    }
}

.media-section {
    padding: 80px 0 120px;
}

@media (max-width: 833px) {
    .media-section {
        padding: 32px 0 50px;
    }
}

.caution-news-link {
    display: flex;
    align-items: start;
    gap: 24px;
}

@media (max-width: 833px) {
    .caution-news-link {
        gap: 16px;
    }

    .caution-news-link .caution__date {
        flex: none;
    }
}

.caution-news-link p {
    margin-bottom: 0;
}

.caution-news-item + .caution-news-item {
    margin-top: 8px;
}

.news-card-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 115px 70px;
}

@media (max-width: 833px) {
    .news-card-list {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}


.news-card-category {
    background: #00125e;
    min-width: 92px;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    color: #fff;
    display: inline-flex;
    font-size: 12px;
    padding: 6px 12px;
}

.news-card-category-block {
    display: flex;
    gap: 8px;
}

.news-card-link {
    margin-top: 8px;
    display: block;
}

.news-card-list-date {
    font-size: 14px;
    margin-top: 8px !important;
}

@media (max-width: 833px) {
    .news-card-list-date {
        font-size: 12px;
    }
}

.news-card-list-heading {
    font-size: 14px;
    margin-top: 24px;
    letter-spacing: 0.12em;
    line-height: 1.7;
}

@media (max-width: 833px) {
    .news-card-list-heading {
        font-size: 12px;
        margin-top: 10px;
    }
}

.news-card-list-excerpt {
    font-size: 12px;
    margin-top: 16px !important;
    line-height: 2;
}

.page-hero-media-eddy, .page-hero-media-pita {
    position: absolute;
}

.page-hero-media-eddy {
    bottom: 0;
    left: 18%;
    z-index: 1;
    width: 140px;
}

@media (max-width: 833px) {
    .page-hero-media-eddy {
        left: 28px;
        width: 90px;
    }
}

.page-hero-media-pita {
    top: 24px;
    right: 24.5%;
    width: 70px;
}

@media (max-width: 833px) {
    .page-hero-media-pita {
        top: 24px;
        right: 42px;
        width: 45px;
    }
}

.media-container {
    max-width: 1048px;
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: content-box;
}


.media-section:nth-child(odd) {
    background: #DEF3F4;
}

.media-section-heading {
    font-size: 32px;
    margin-bottom: 16px;
    text-align: center;
}

@media (max-width: 833px) {
    .media-section-heading {
        font-size: 24px;
    }
}


.media-section-description {
    font-size: 16px;
    color: #343434;
    text-align: center;
    letter-spacing: 0;
}

@media (max-width: 833px) {
    .media-section-description {
        text-align: left;
    }
}

.media-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 120px 40px;
    margin-top: 32px;
}

@media (max-width: 833px) {
    .media-list {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

.media-list.-tieup {
    gap: 60px 40px;
}

.media-item-link {
    height: 100%;
}

.media-item-content {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.media-item-content img {
    margin-bottom: 15px;
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
}

.media-item-content.-media img {
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.media-item-content h4 {
    font-size: 16px;
    color: #00125E;
    margin-bottom: 14px;
}

.media-item-content p {
    font-size: 14px;
    color: #363636;
    margin-top: auto;
}

.prev.page-numbers, .next.page-numbers {
    display: none;
}

.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 5px;
    background: #00125e;
    color: #fff;
    font-size: 15px;
}

.page-numbers[aria-current="page"] {
    background: #009FD1;
}

.news-hero {
    min-height: 178px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.news-hero h2 {
    max-width: 420px;
    line-height: 1.5;
}

.news-hero h2 .page-hero-heading-main {
    line-height: 1.25;
    max-width: 320px;
}

.category-filter {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 32px;
}

.news-category-select {
    background-color: #fff;
    border: 1px solid #D4D4D4;
    border-radius: 5px;
    text-align: center;
    padding: 10px;
    display: block;
    width: 100%;
}

.category-select-container {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 132px;
}

.category-select-container::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%) rotate(135deg);
    width: 7px;
    height: 7px;
    border-top: 2px solid #00125E;
    border-right: 2px solid #00125E;
    z-index: 1;
}

@media (max-width: 833px) {
    .category-select-container::before {
        right: 8px;
    }
}

.news-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 80px;
    gap: 8px;
}

.news-block-container {
    padding: 0 16px;
    position: relative;
}

.card-monitor {
    position: relative;
    padding: 36px 16px 6px;
    background: #00125e;
    text-align: center;
    border-radius: 24px;
    margin: 0 16px;
}

.card-monitor .fukidashi {
    position: absolute;
    top: -32px;
    left: 50%;
    transform: translateX(-50%);
    width: 256px;
}

.card-monitor.-top .fukidashi {
    width: 90px;
}

.card-monitor .text01 {
    font-size: 20px;
    color: #f7dd4b;
}

.card-monitor .text {
    margin-bottom: 10px;
}

.card-monitor .text02 {
    font-size: 29px;
    color: #fff;
    font-weight: bold;
    line-height: 1;
}

.card-monitor img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.top-feature-section-container {
    padding: 0 16px;
}

.breadcrumbs {
    display: flex;
    list-style: none;
    padding-left: 48px;
    padding-bottom: 12px;
    gap: 16px;
}

@media (max-width: 833px) {
    .breadcrumbs {
        padding-left: 16px;
    }
}

.breadcrumbs-item {
    font-size: 12px;
    position: relative;
}

.breadcrumbs-item::before {
    content: ">";
    display: block;
    position: absolute;
    top: 50%;
    right: -12px;
    transform: translateY(-45%);
    color: #666666;
}

.breadcrumbs-item:last-child::before {
    display: none;
}

.breadcrumbs.text-white .breadcrumbs-item::before {
    color: #fff;
}

.breadcrumbs-item a {
    color: #666666;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
}

.breadcrumbs.text-white .breadcrumbs-item a {
    color: #fff;
}

.breadcrumbs.bg-def3f4 {
    background-color: #def3f4;
}

.faq-box a {
    text-decoration: underline;
    font-weight: bold;
}

.footer-privacy-policy-link {
    color: #666;
}

@media (max-width: 833px) {
    .footer-privacy-policy-link {
        font-size: 10px;
    }
}

p.block-entry-catch {
    font-size: 30px;
    display: table;
    margin-left: auto;
    margin-right: auto;
    color: #f7dd4b;
    margin-bottom: 0;
    position: relative;
}

p.block-entry-catch::before,
p.block-entry-catch::after {
    content: "";
    width: 2px;
    height: 30px;
    background: #f7dd4b;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}


p.block-entry-catch::before {
    left: -40px;
    transform: translateY(-50%) rotate(-45deg);
}

p.block-entry-catch::after {
    right: -40px;
    transform: translateY(-50%) rotate(45deg);
}

@media (max-width: 833px) {
    p.block-entry-catch {
        font-size: 20px;
        margin-bottom: 10px;
    }

    p.block-entry-catch::before {
        left: -12px;
        height: 20px;
    }

    p.block-entry-catch::after {
        right: -12px;
        height: 20px;
    }
}

.sp-only {
    display: none;
}

@media (max-width: 833px) {
    .pc-only {
        display: none;
    }
    .sp-only {
        display: block;
    }
}

/* add fixed-button-block 20231214 */
.fixed-button-block{
    position: fixed;
    -webkit-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0;
    transform: translateZ(0.01px);
  }
  .is-active .fixed-button-block{
    bottom: 0;
    opacity: 1;
  }
  .fixed-button-block .btn-01{
    box-shadow: 5px 5px 20px 0px rgba(0, 0, 0, 0.10);
  }

  @media (min-width: 834px) {
    .fixed-button-block .btn-01 {
        writing-mode: vertical-rl;
    }
  }

  .fixed-button-block .free-experience-btn{
    background: #E3007F;
    color: #fff;
    border-radius: 32px;
    padding: 9px 18px 9px ;
    font-weight: bold;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .fixed-button-block .free-experience-btn:hover {
    background-color: #fff;
    color: #00125E;
  }
  @media (min-width: 834px) {
    .fixed-button-block{
        right: -10rem;
        top: 8rem; 
        bottom: 0;
        height: calc(100vh - 8rem);
        margin: auto 0;
    }
    .is-active .fixed-button-block{
        top: 8rem; 
        right: 3.2rem;
    }
    .fixed-button-block .btn-01{
        max-width: 6.4rem;
        height: clamp(16rem,26vh,23rem);
        line-height: 1.2;
        padding: 2rem 2rem 5rem;
        font-size: clamp(1.4rem,2.2vh,1.8rem);
        margin: clamp(1rem,2vh,1.5rem) 0;
        text-align: center;
    }
    .fixed-button-block .btn-01::after{
        top: auto;
        right: 2rem;
        bottom: clamp(1.8rem,2.4vh,2.4rem);
    }
    .fixed-button-block .btn-01::before {
        top: auto;
        right: 3rem;
        bottom: clamp(2.6rem,3.2vh,3.2rem);
    }
  }
  @media (min-width: 834px) and (max-width: 1284px) {
    .fixed-button-block{
        /* top: auto;
        bottom: 4rem; */
        height: auto;
    }
    .is-active .fixed-button-block{
        /* top: auto; */
        right: 1.5rem;
        /* bottom: 4rem; */
    }
    .fixed-button-block .btn-01{
        max-width: 4.2rem;
        height: clamp(13rem,24vh,16rem);
        padding: 2rem 1.5rem 4.3rem;
        font-size: clamp(1.1rem,2.1vh,1.5rem);
        margin: 1rem 0;
        text-align: center;
    }
    .fixed-button-block .btn-01::after{
        top: auto;
        right: .9rem;
        bottom: .9rem;
    }
    .fixed-button-block .btn-01::before {
        top: auto;
        right: 1.8rem;
        bottom: 1.7rem;
    }
  }
  @media (max-width: 833px) {
    .fixed-button-block{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        gap: .7rem;
        left: 0;
        bottom: -10rem;
        right: 0;
        padding:1rem 0 ;
        background: rgba(255, 255, 255, 0.6);
    }
    .is_open .fixed-button-block{
        opacity: 0;
        bottom:  -10rem;
    }
    .fixed-button-block .btn-01{
        width: 11.5rem;
        font-size: 1.2rem;
        padding: .7rem 2.4rem .7rem 1.2rem;
        height: 4.5rem;
        border-radius: 2.4rem
    }
    .fixed-button-block .free-paper-btn{
        padding-right: 3.1rem;
    }
        
    .fixed-button-block .btn-01::after{
        right: .7rem;
    }
    .fixed-button-block .btn-01::before {
        right: 1.5rem;
    }
}

.lower .site-container { padding-top: 0 !important; }

.campaign-modal-content .warranty-benefit-section {
    width: 80%;
    margin: 0 auto;
}

.campaign-modal-content .warranty-benefit-section + .warranty-benefit-section {
    margin-top: 40px;
    border-top: 1px solid #fff;
}

.campaign-modal-content .campaign-description {
    font-size: 14px;
    line-height: 1.6;
    margin-top: 8px;
}

.campaign-modal-content .campaign-note {
    font-size: 14px;
    line-height: 1.6;
    margin-top: 8px;
}

.note-highlight {
    background: yellow;
    width: fit-content;
}

.campaign-modal-content .direct-campaign-section {
    width: 80%;
    margin: 0 auto;
}
.campaign-modal-content .direct-campaign-section + .direct-campaign-section {
    margin-top: 40px;
    border-top: 1px solid #fff;
}

.campaign-modal-content .direct-end-section {
    margin-bottom: 60px;
}

.campaign-modal-content .campaign-description + .campaign-note {
    margin-top: 8px;
}

#warranty-benefit--modal-1 .campaign-section-title-underline {
    margin-top: 40px;
}

.campaign-modal-content .campaign-section-sub-title {
    margin-top: 40px;
    font-size: 16px;
    border-left: 4px solid #374190;
    padding-left: 8px;
}

#warranty-benefit--modal-1 .campaign-pic {
    margin-top: 8px;
}

#warranty-benefit--modal-1 .campaign-section-title {
    margin-top: 24px;
}

#warranty-benefit--modal-1 .campaign-section-title-underline {
    width: 80%;
    margin: 40px auto 0;
    font-size: 24px;
}

.campaign-modal-content .campaign-block-sub-title {
    font-size: 14px;
    margin-top: 40px;
}

#warranty-benefit--modal-1 .campaign-list {
    margin-top: 8px;
}


@media (max-width: 833px) {
    .campaign-modal-content .warranty-benefit-section {
        width: 100%;
    }

    #warranty-benefit--modal-1 .campaign-section-title-underline {
        width: 100%;
    }

    #warranty-benefit--modal-1 .campaign-section-title {
        font-size: 18px;
    }

    .campaign-modal-content .campaign-description {
        font-size: 12px;
    }

    .campaign-modal-content .campaign-note {
        font-size: 12px;
    }

    .campaign-modal-content .warranty-benefit-section + .warranty-benefit-section {
        margin-top: 24px;
    }

    .campaign-modal-content .campaign-section-sub-title {
        margin-top: 32px;
    }

    .campaign-modal-content .campaign-block-sub-title {
        margin-top: 24px;
    }

    .campaign-modal-content .campaign-description + .campaign-note {
        margin-top: 0px;
    }

    .campaign-modal-content .direct-campaign-section {
        width: 100%;
    }
    .campaign-modal-content .direct-campaign-section + .direct-campaign-section {
        margin-top: 24px;
    }
    .campaign-modal-content .direct-end-section {
        margin-bottom: 40px;
    }
}

.warranty-benefit_bunner {
    width: calc(100% / 3);
}
@media (max-width: 833px) {
    .warranty-benefit_bunner {
        width: calc(100% / 2);
    }
}

/* add style: /components/attraction-cta.php */
.attraction-cta {
    width: 90%;
    max-width: 1048px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    padding: 24px;
    border-radius: 24px;
    border: 2px solid #C3CCED;
    color: #374190;
    gap: 24px;
    margin: 0 auto;
    background-color: #fff;
}

.attraction-cta-text-img-container {
    display: flex;
    align-items: center;
    gap: 24px;
}

.attraction-cta-text {
    width: 100%;
}

.attraction-cta-copy {
    display: inline-block;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: 0.08em;
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px!important;
    font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
}

.attraction-cta-copy::before,
.attraction-cta-copy::after {
    content: "";
    display: inline-block;
    width: 2px;
    height: 18px;
    background: #374190;
}

.attraction-cta-copy::before {
    transform: rotate(-30deg);
}

.attraction-cta-copy::after {
    transform: rotate(30deg);
}

.attraction-cta-title {
    font-family: "Jost", sans-serif;
    font-weight: 700;
    font-size: clamp(24px, 6.4vw, 48px);
    line-height: 1.1;
    letter-spacing: 0;
}

.attraction-cta-title .break-tablet {
    display: none;
}

.attraction-cta-img {
    width: 33%;
    height: 100%;
    aspect-ratio: 137 / 87;
    object-fit: cover;
    border-radius: 8px;
}

.attraction-cta .btn-01 {
    color: var(--button-text-color, #374190);
}

.attraction-cta .btn-01:hover {
    background-color: var(--button-bg-color, #374190);
    color: var(--button-text-color, #fff);
}

.attraction-cta .btn-01::before {
    border-top: 2px solid var(--button-bg-color, #FFE100);
    border-right: 2px solid var(--button-bg-color, #FFE100);
}

.attraction-cta .btn-01:hover::before {
    border-top: 2px solid var(--button-bg-color, #374190);
    border-right: 2px solid var(--button-bg-color, #374190);
}

.attraction-cta .btn-01::after {
    background-color: var(--button-bg-color, #374190);
}

.attraction-cta .btn-01:hover::after {
    background-color: var(--button-bg-color, #fff);
}

@media (max-width: 1110px) {
    .attraction-cta {
        flex-direction: column;
    }

    .attraction-cta .btn-01 {
        width: 100%;
    }

    .attraction-cta-title .break-tablet {
        display: block;
    }

    .attraction-cta-img {
        width: 40%;
    }
}

@media (max-width: 834px) {
    .attraction-cta {
        max-width: 90%;
        padding: 16px 32px;
        gap: 12px;
    }

    .attraction-cta-text-img-container {
        width: 100%;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        position: relative;
    }

    .attraction-cta-copy {
        width: 100%;
        font-size: clamp(12px, 2.3vw, 15px);
        margin: 0 auto 6px!important;
        display: flex;
    }

    .attraction-cta-copy::before,
    .attraction-cta-copy::after {
        height: 12px;
    }

    .attraction-cta-img {
        width: clamp(128px, 34vw, 38%);
        height: auto;
        position: absolute;
        bottom: 8px;
        right: 4px;
    }
}

@media (max-width: 680px) {
    .attraction-cta {
        max-width: 90%;
        padding: 16px;
        border-radius: 12px;
    }

    .attraction-cta-copy {
        gap: 8px;
        margin-bottom: 8px!important;
        justify-content: center;
    }
    
    .attraction-cta-img {
        bottom: 0;
    }
}

@media (max-width: 450px) {
    .attraction-cta {
        max-width: 310px;
        padding: 12px;
    }

    .attraction-cta-title {
        font-size: 20px;
    }

    .attraction-cta-copy {
        font-size: 10px;
    }

    .attraction-cta-img {
        width: 40%;
    }
}

/* add style: /components/teaching-materials-cta.php */
.teaching-materials-cta {
    width: 90%;
    max-width: 1048px;
    display: flex;
    align-items: center;
    justify-content:center;
    border-radius: 24px;
    color: #fff;
    background-color: #374190;
    gap: 40px;
    padding: 0 40px;
    margin: 0 auto;
}

.teaching-materials-cta-inner {
    display: flex;
    align-items: center;
    gap: 40px;
}

.teaching-materials-cta-text {
    font-size: clamp(12px, 4.5vw, 28px);
    font-weight: 900;
    letter-spacing: 0.12em;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 0!important;
}

.teaching-materials-cta-text span {
    display: block;
    font-size: clamp(22px, 5.5vw, 32px);
    color: #F7DD4B;
}

.teaching-materials-cta-text .break-tablet {
    display: none;
}

.teaching-materials-cta-img {
    width: 46%;
    aspect-ratio: 150 / 73;
}

.teaching-materials-cta .btn-01 {
    color: var(--button-text-color, #fff);
    background-color: var(--button-bg-color, #ed3e4e);
}

.teaching-materials-cta .btn-01:hover {
    color: var(--button-text-color, #ed3e4e);
    background-color: var(--button-bg-color, #fff);
}

.teaching-materials-cta .btn-01::before {
    border-top: 2px solid var(--button-bg-color, #ed3e4e);
    border-right: 2px solid var(--button-bg-color, #ed3e4e);
}

.teaching-materials-cta .btn-01:hover::before {
    border-top: 2px solid var(--button-bg-color, #fff);
    border-right: 2px solid var(--button-bg-color, #fff);
}

.teaching-materials-cta .btn-01::after {
    background-color: var(--button-bg-color, #fff);
}

.teaching-materials-cta .btn-01:hover::after {
    background-color: var(--button-bg-color, #ed3e4e);
}

@media (max-width: 1110px) {
    .teaching-materials-cta {
        padding: 16px;
        gap: 10px;
        flex-direction: column;
    }

    .teaching-materials-cta-inner {
        gap: 40px;
        justify-content: center;
    }

    .teaching-materials-cta-text {
        line-height: 1.6;
    }

    .teaching-materials-cta .btn-01 {
        width: 100%;
    }
}

@media (max-width: 834px) {
    .teaching-materials-cta {
        gap: 16px;
        border-radius: 12px;
    }

    .teaching-materials-cta-inner {
        gap: 32px;
    }

    .teaching-materials-cta-img {
        width: 40%;
        aspect-ratio: 28 / 17;
    }
}

@media (max-width: 680px) {
    .teaching-materials-cta {
        max-width: 90%;
    }

    .teaching-materials-cta-inner {
        gap: 16px;
    }

    .teaching-materials-cta-text {
        line-height: 1.5;
    }

    .teaching-materials-cta-text .break-tablet {
        display: block;
    }

    .teaching-materials-cta-img {
        width: 55%;
    }
}

@media (max-width: 450px) {
    .teaching-materials-cta {
      max-width: 310px;
    }

    .teaching-materials-cta-text span {
        font-size: 18px;
    }
}

/* 知育メソッド */
.intellectual__container {
  width: 100%;
  height: 100%;
  background-image: url('../../images/material-bg.png');
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
  color: #374190;
}
.intellectual__container .catch__contents {
    position: relative;
    font-weight: 900;
    margin-block-end: 7.9rem;
}

@media (max-width: 833px) {
  .intellectual__container .catch__contents {
        margin-block-end: 2.4rem;
        padding-block-start: 2.4rem;
    }
}

.intellectual__container .catch__content--top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-block-end: 7.2rem;
}

@media (width <= 833px) {
  .intellectual__container .catch__content--top {
    flex-direction: column;
    gap: 2.4rem;
    align-items: flex-start;
    margin-block-end: 2.4rem;
  }
}

.intellectual__container .catch__title {
  margin-inline-start: 10.32%;
  color: #00125E;
}

@media (width <= 833px) {
  .intellectual__container .catch__title {
    margin-inline: 3.625rem;
  }
}

.intellectual__container .catch__title h2 {
  letter-spacing: 0.08em;
  font-size: clamp(2.8rem, 3.96vw, 5.4rem);
  line-height: 86.4px;
}

@media (width <= 833px) {
  .intellectual__container .catch__title h2 {
    font-size: 2.4rem;
    line-height: 24px;
    margin-block-end: 1.2rem;
  }
}

.intellectual__container .catch__title p {
  letter-spacing: 0.04em;
  font-size: clamp(1.4rem, 1.68vw, 2.4rem);
}

@media (width <= 833px) {
  .intellectual__container .catch__title p {
    font-size: 1.4rem;
    line-height: 14px;
  }
}

.intellectual__container .catch__content--text {
  font-size: 2.4rem;
  text-align: center;
  padding-inline: 4.18%;
  max-width: 99.2rem;
  margin-inline: auto;
  position: relative;
}

.intellectual__container .catch__content--text::before {
  content: '';
  position: absolute;
  background: url('../../images/object_w.svg');
  background-size: contain;
  background-repeat: no-repeat;
  width: 12.228rem;
  height: 11.752rem;
  top: -5rem;
  left: -1.4rem;
  z-index: 1;
  margin-inline-start: 1.6rem;
}

.intellectual__container .catch__content--text::after {
  content: '';
  position: absolute;
  background: url('../../images/object_y.svg');
  background-size: contain;
  background-repeat: no-repeat;
  width: 11.095rem;
  height: 18.273rem;
  bottom: -4.8rem;
  right: -1rem;
  transform: rotate(35deg);
  z-index: 1;
  margin-inline-end: 1.6rem;
}

@media (width <= 1024px) {
  .intellectual__container .catch__content--text::before,.intellectual__container .catch__content--text::after {
    zoom: 0.8;
  }

  .intellectual__container .catch__content--text::after {
    bottom: -17rem;
    right: 1rem;
  }
}

@media (width <= 833px) {
  .intellectual__container .catch__content--text::before {
    width: 8.56rem;
    height: 8.226rem;
    left: 0;
  }
  .intellectual__container .catch__content--text::after {
    display: none;
  }
}

.intellectual__container .catch__content--title {
  font-size: 3rem;
  margin-block-end: 2.4rem;
  line-height: 49.5px;
}

.intellectual__container .catch__content--description {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 32.4px;
}

.intellectual__container .catch__content--description span {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 43.2px;
}

@media (width <= 833px) {
  .intellectual__container .catch__content--text {
    font-size: 1.2rem;
    line-height: 21.6px;
  }

  .intellectual__container .catch__content--title {
    font-size: 1.6rem;
    line-height: 27.2px;
    letter-spacing: 0.04em;
    margin-block-end: 1.6rem;
  }

  .intellectual__container .catch__content--text .catch__content--description {
    font-size: 1.2rem;
    line-height: 21.6px;
    text-align: start;
  }

  .intellectual__container .catch__content--description span {
    font-size: 1.6rem;
    line-height: 28.8px;
  }
}

.intellectual__container .catch__image--wrapper {
  width: 62.01%;
}

.intellectual__container .catch__image--wrapper img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (width <= 833px) {
  .intellectual__container .catch__image--wrapper {
    width: 100%;
  }
}

.intellectual-items__container {
  padding-inline: 3.2rem;
}

@media (width <= 833px) {
  .intellectual-items__container {
    padding-inline: 0;
  }
}

.intellectual-items {
  width: 100%;
  height: 100%;
  background-color: #FBEEA5;
  padding-block: 8rem 16rem;
  position: relative;
}

@media (width <= 833px) {
  .intellectual-items {
    padding-block: 2.4rem 27.33vw;
    padding-inline: 1.5rem;
  }
}

.intellectual-anchor__wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2.4rem;
  margin-block-end: 8rem;
  max-width: calc(1083px + 3.2rem);
  margin-inline: auto;
}

@media (width <= 833px) {
  .intellectual-anchor__wrapper {
    gap: 1.2rem;
    margin-block-end: 4.8rem;
  }
}

.intellectual-anchor {
  display: inline-block;
  background-color: #fff;
  border-radius: 999px;
  padding-block: 2rem;
  padding-inline: 3.2rem 2rem;
  min-width: 34rem;
}

@media (width <= 833px) {
  .intellectual-anchor {
    padding-block: 1.6rem;
    padding-inline: 1.6rem;
    width: 100%;
  }
}

@media (width <= 400px) {
  .intellectual-anchor {
    padding-inline: 1.2rem;
    padding-block: 1.2rem;
    width: 14.4rem;
  }
}

.intellectual-anchor__flex--wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.intellectual-anchor__text {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1;
  margin-inline-end: 1.899rem;
}

@media (width <= 833px) {
  .intellectual-anchor__text {
    font-size: 1.6rem;
    line-height: 19.5px;
  }
}

.intellectual-anchor__chevron {
  display: inline-block;
  width: 3.2rem;
  height: 3.2rem;
  background-color: #00125E;
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
}

@media (width <= 833px) {
  .intellectual-anchor__chevron {
    width: 2.1rem;
    height: 2.1rem;
  }
}

.intellectual-anchor__chevron::before {
  content: '';
  display: block;
  width: 1.2rem;
  height: 0.8rem;
  background-image: url('../../images/chevron-down.svg');
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-block-start: 0.1rem;
}

@media (width <= 833px) {
  .intellectual-anchor__chevron::before {
    width: 0.8rem;
    height: 0.5rem;
    margin-block-start: 0;
    margin-inline-start: 0.1rem;
  }
}

.intellectual-item__wrapper {
  display: flex;
  flex-direction: column;
  gap: 16rem;
  max-width: calc(1068px + 3.2rem);
  margin-inline: auto;
}

@media (width <= 833px) {
  .intellectual-item__wrapper {
    gap: 4.8rem;
  }
}

.intellectual-item {
  
}

.intellectual-item__flex--wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6.4rem;
  margin-block-end: 5.6rem;
}

.intellectual-item:nth-child(even) .intellectual-item__flex--wrapper {
  flex-direction: row-reverse;
}

@media (width <= 833px) {
  .intellectual-item__flex--wrapper, .intellectual-item:nth-child(even) .intellectual-item__flex--wrapper {
    flex-direction: column;
    gap: 1.6rem;
    margin-block-end: 4rem;
  }
}

.intellectual-item__text--wrapper {
  width: 100%;
}

.intellectual-item__title {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-block-end: 2.4rem;
  position: relative;
}

@media (width <= 833px) {
  .intellectual-item__title {
    gap: 0;
    margin-block-end: 0.8rem;
  }

  .intellectual-item__title.first::before {
    content: '';
    position: absolute;
    background: url('../../images/object_y.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 7.767rem;
    height: 12.791rem;
    top: -3.447rem;
    right: 1.6rem;
    transform: rotate(35deg);
  }

  .intellectual-item__title.second::before {
    content: '';
    position: absolute;
    background: url('../../images/object_k.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 6.623rem;
    height: 9.166rem;
    top: -0.982rem;
    right: 0;
    transform: rotate(30deg);
  }

  .intellectual-item__title.third::before {
    content: '';
    position: absolute;
    background: url('../../images/object_x.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 8.417rem;
    height: 10.275rem;
    top: 0;
    right: 0;
  }

  .intellectual-item__title.fourth::before {
    content: '';
    position: absolute;
    background: url('../../images/object_m.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 6.684rem;
    height: 11.201rem;
    top: -0.979rem;
    right: 2.166rem;
  }

  .intellectual-item__title.fifth::before {
    content: '';
    position: absolute;
    background: url('../../images/object_c.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 9.369rem;
    height: 8.455rem;
    top: -8rem;
    right: 2.166rem;
  }
}

.intellectual-item__title span {
  width: 12rem;
  height: 11.421rem;
  background: url('../../images/intellectual-pentagon.svg');
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
  flex-shrink: 0;
}

@media (width <= 833px) {
  .intellectual-item__title span {
    width: 10.15rem;
    height: 9.832rem;
  }
}

.intellectual-item__title span::before {
  content: attr(data-text);
  position: absolute;
  font-family: 'Jost', sans-serif;
  font-weight: 700;
  font-size: 3.4rem;
  line-height: 49.13px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

@media (width <= 833px) {
  .intellectual-item__title span::before {
    font-size: 2rem;
    line-height: 28.9px;
  }
}

.intellectual-item__title h3 {
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 57.6px;
  color: #00125E;
}

@media (width <= 833px) {
  .intellectual-item__title h3 {
    font-size: 2.2rem;
    line-height: 39.6px;
  }
}

.intellectual-item__text {
  color: #00125E;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

@media (width <= 833px) {
  .intellectual-item__text {
    gap: 0.8rem;
  }
}

.intellectual-marker {
  background: linear-gradient(to top, rgba(255, 255, 255, 0.7) 0 50%, transparent 50% 100%);
}

.intellectual-item__upper-text {
  font-size: 2rem;
  line-height: 36px;
  font-weight: 900;
  letter-spacing: 0;
  margin-bottom: 0 !important;
}

@media (width <= 833px) {
  .intellectual-item__upper-text {
    font-size: 1.6rem;
    line-height: 28.8px;
  }
}

.intellectual-item__lower-text {
  font-size: 1.6rem;
  line-height: 28.8px;
  font-weight: 700;
  letter-spacing: 0;
}

@media (width <= 833px) {
  .intellectual-item__lower-text {
    font-size: 1.2rem;
    line-height: 21.6px;
  }
}

.intellectual-item__img {
  width: 100%;
  max-width: 53.3rem;
  position: relative;
}

.intellectual-item__img.first::before {
  content: '';
  position: absolute;
  background: url('../../images/object_k.svg');
  background-size: contain;
  background-repeat: no-repeat;
  width: 9.461rem;
  height: 13.095rem;
  top: -11.1rem;
  left: -1.6rem;
  transform: rotate(30deg);
}

.intellectual-item__img.second::before {
  content: '';
  position: absolute;
  background: url('../../images/object_x.svg');
  background-size: contain;
  background-repeat: no-repeat;
  width: 9.461rem;
  height: 13.095rem;
  top: -20rem;
  right: -3rem;
}

.intellectual-item__img.third::before {
  content: '';
  position: absolute;
  background: url('../../images/object_m.svg');
  background-size: contain;
  background-repeat: no-repeat;
  width: 9.55rem;
  height: 16.002rem;
  top: -9.3rem;
  left: -1.6rem;
}

.intellectual-item__img.fourth::before {
  content: '';
  position: absolute;
  background: url('../../images/object_c.svg');
  background-size: contain;
  background-repeat: no-repeat;
  width: 13.384rem;
  height: 12.326rem;
  top: -8rem;
  right: -1.6rem;
}

@media (width <= 833px) {
  .intellectual-item__img {
    max-width: 100%;
  }

  .intellectual-item__img.first::before,
  .intellectual-item__img.second::before,
  .intellectual-item__img.third::before,
  .intellectual-item__img.fourth::before {
    display: none;
  }
}

.intellectual-item__example {
  display: flex;
  align-items: center;
  gap: 2.93vw;
  padding-block: 1.76vw;
  padding-inline: 3.55rem;
  background-color: #fff;
  border-radius: 2.4rem;
  width: 83.11%;
  margin-inline: auto;
  border: 1px solid #00125E;
  position: relative;
}

.intellectual-item:nth-child(even) .intellectual-item__example {
  flex-direction: row-reverse;
}

@media (width <= 833px) {
  .intellectual-item__example, .intellectual-item:nth-child(even) .intellectual-item__example {
    flex-direction: column;
    gap: 1.6rem;
    padding-block: 2.4rem;
    padding-inline: 2.4rem;
    width: 100%;
  }
}

.intellectual-item__example--badge {
  position: absolute;
  width: 5.71vw;
  max-width: 7.8rem;
  height: 5.71vw;
  max-height: 7.8rem;
  background: #00125E;
  border-radius: 50%;
  font-size: clamp(1.4rem, 1.68vw, 1.6rem);
  line-height: 28.8px;
  color: #fff;
  top: -2.2vw;
  left: -2.34vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 833px) {
  .intellectual-item__example--badge {
    width: 10rem;
    height: 3rem;
    font-size: 1.4rem;
    line-height: 14px;
    border-radius: 999px;
    top: -1.575rem;
    left: 50%;
    transform: translateX(-50%);
  }
}

.intellectual-item__example--img {
  width: 100%;
  max-width: 31rem;
}

@media (width <= 833px) {
  .intellectual-item__example--img {
    max-width: 100%;
  }

  .intellectual-item__example--img img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

.intellectual-item__example--text {
  display: flex;
  flex-direction: column;
  gap: 1.17vw;
  color: #00125E;
}

@media (width <= 833px) {
  .intellectual-item__example--text {
    gap: 0.8rem;
  }
}

.intellectual-item__example--title--wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.59vw;
}

.intellectual-item__example--text span {
  background: #FFEAF6;
  padding-inline: 0.59vw;
  font-weight: 900;
  font-size: clamp(1.6rem, 1.92vw, 2.4rem);
  line-height: 43.2px;
  letter-spacing: 0;
  width: fit-content;
}

@media (width <= 833px) {
  .intellectual-item__example--text span {
    font-size: 1.6rem;
    line-height: 28.8px;
  }
}

.intellectual-item__example--text p {
  font-size: clamp(1.2rem, 1.44vw, 1.6rem);
  line-height: 28.8px;
  font-weight: 700;
  letter-spacing: 0;
}

@media (width <= 833px) {
  .intellectual-item__example--text p {
    font-size: 1.2rem;
    line-height: 21.6px;
  }
}

.intellectual-cta__wrapper {
  width: 100%;
  margin-block: -8rem 5.6rem;
  position: relative;
  z-index: 1;
}


/* テンプレートパーツ
supervisor */

.supervisor {
  background: #FBEEA5;
  margin-block-start: 8rem;
}

.supervisor__inner {
  padding-block: 8rem 10.4rem;
  padding-inline: 3.2rem;
  max-width: calc(1084px + 6.4rem);
  margin-inline: auto;
}

@media (width <= 833px) {
  .supervisor__inner {
    padding-block: 4.8rem;
    padding-inline: 1.6rem;
  }
}

.supervisor__section-title--wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1.6rem;
  text-align: center;
  margin-block-end: 8rem;
}

@media (width <= 833px) {
  .supervisor__section-title--wrapper {
    margin-block-end: 6.4rem;
    gap: 1.2rem;
  }
}

.supervisor__section-title--wrapper h3 {
  font-size: 4rem;
  font-weight: 900;
  line-height: 72px;
  display: inline-block;
  background: #fff;
  padding-inline: 2.4rem;
}

@media (width <= 833px) {
  .supervisor__section-title--wrapper h3 {
    font-size: 2rem;
    line-height: 36px;
    padding-inline: 1.6rem;
  }
}

.supervisor__section-title--wrapper p {
  font-size: 2.4rem;
  line-height: 48px;
  font-weight: 700;
  letter-spacing: 0;
}

@media (width <= 833px) {
  .supervisor__section-title--wrapper p {
    font-size: 1.6rem;
    line-height: 32px;
  }
}

.supervisor__card--wrapper {
  display: flex;
  justify-content: center;
  gap: 2rem;
}

@media (width <= 833px) {
  .supervisor__card--wrapper {
    flex-direction: column;
    gap: 4.8rem;
  }
}

.supervisor__card {
  padding-block: 3.8rem;
  padding-inline: 4rem;
  background: #fff;
  border-radius: 2.4rem;
  position: relative;
}

@media (width <= 833px) {
  .supervisor__card {
    padding-block: 4rem;
    padding-inline: 2.4rem;
  }
}

.supervisor__title {
  position: absolute;
  width: 15.9rem;
  height: 5.6rem;
  top: -2.5rem;
  left: 1.9rem;
}

@media (width <= 833px) {
  .supervisor__title {
    width: 18rem;
    height: 4.4rem;
    top: -2.346rem;
    left: 50%;
    transform: translateX(-50%);
  }
}

.supervisor__title span {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  line-height: 38px;
  letter-spacing: 0;
  color: #fff;
  position: relative;
  z-index: 0;
}

.supervisor__title span::before {
  content: '';
  position: absolute;
  background: #00125E;
  clip-path: polygon(5% 100%, 0 0%, 100% 15%, 95% 85%);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  z-index: -1;
}

@media (width <= 833px) {
  .supervisor__title span {
    line-height: 42px;
  }
}

.supervisor__top--wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media (width <= 833px) {
  .supervisor__top--wrapper {
    flex-direction: column;
    gap: 1.8rem;
  }
}

.supervisor__top--text--wrapper {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

@media (width <= 833px) {
  .supervisor__top--text--wrapper {
    order: 3;
    text-align: center;
  }
}

.supervisor__intro {
  font-size: 1.6rem;
  line-height: 24px;
  font-weight: 700;
  letter-spacing: 0;
  margin-bottom: 0 !important;
}

@media (width <= 833px) {
  .supervisor__intro {
    text-align: center;
  }
}

.supervisor__name {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.supervisor__name h5 {
  font-size: 2rem;
  line-height: 32px;
  font-weight: 700;
}

.supervisor__name p {
  font-size: 1.2rem;
  line-height: 20px;
}

.supervisor__img {
  max-width: 16rem;
  max-height: 16rem;
}

@media (width <= 833px) {
  .supervisor__img {
    order: 2;
  }
}

.supervisor__accordion--button {
  width: 100%;
  padding-block: 1.6rem;
  border: 1px solid #00125E;
  border-radius: 0.4rem;
  font-size: 1.6rem;
  line-height: 16px;
  font-weight: 700;
  margin-block-start: 1.6rem;
}

@media (width <= 833px) {
  .supervisor__accordion--button {
    font-size: 1.4rem;
    line-height: 14px;
  }
}

.supervisor__accordion--button span {
  display: block;
  position: relative;
}

.supervisor__accordion--is-close::after {
  content: '＋';
  position: absolute;
  font-size: 1.4rem;
  line-height: 14px;
  top: 50%;
  right: 2.4rem;
  transform: translateY(-50%);
  font-weight: 900;
}

.supervisor__accordion--is-open::after {
  content: 'ー';
  position: absolute;
  font-size: 1.4rem;
  line-height: 14px;
  top: 50%;
  right: 2.4rem;
  transform: translateY(-50%);
  font-weight: 900;
}

.supervisor__accordion--body {
  display: grid;
  grid-template-rows: 0fr;
  transition: 0.5s grid-template-rows ease;
}

.supervisor__accordion--body > div {
  overflow: hidden;
}

.supervisor__profile {
  padding-block: 1.6rem;
  border-block: 1px solid #f1f1f1;
  margin-block-start: 2.4rem;
}

.supervisor__profile p {
  font-size: 1.2rem;
  line-height: 24px;
  letter-spacing: 0;
}

.supervisor__history {
  padding-block-start: 1.6rem;
}

.supervisor__history dl {
  display: flex;
  gap: 5.2rem;
}

.supervisor__history dt {
  font-size: 1.2rem;
  line-height: 32px;
  font-weight: 700;
  flex-shrink: 0;
}

.supervisor__history dd {
  font-size: 1.2rem;
  line-height: 24px;
  font-weight: 500;
}

.supervisor__accordion01.is-open > .supervisor__accordion--body,
.supervisor__accordion02.is-open > .supervisor__accordion--body {
  grid-template-rows: 1fr;
}

/* テンプレートパーツ
introduction */

.introduction {
  width: 100%;
}

.introduction__container {
  padding-block: 8rem 10.4rem;
  max-width: 1920px;
  margin-inline: auto;
}

.introduction__title--wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-block-end: 8rem;
}

@media (width <= 833px) {
  .introduction__title--wrapper {
    flex-direction: column;
    justify-content: center;
    gap: 2.4rem;
    margin-block-end: 3.2rem;
    padding-inline: 1.6rem;
  }
}

.introduction__title {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  transform: translateX(1rem);
}

@media (width <= 833px) {
  .introduction__title {
    transform: none;
    gap: 0.8rem;
    align-items: center;
  }
}

.introduction__title span {
  font-size: clamp(2.8rem, 3.56vw, 4.8rem);
  line-height: 48px;
  font-weight: 900;
  color: #fff;
  padding-block: 0.73vw 1.17vw;
  padding-inline: 1.17vw;
  display: inline-block;
  background: #00125E;
  width: fit-content;
}

@media (width <= 833px) {
  .introduction__title span {
    font-size: 2.8rem;
    line-height: 28px;
    padding-block: 0.8rem 1.2rem;
    padding-inline: 1.6rem;
  }
}

.introduction__img {
  width: 56.52%;
}

@media (width <= 833px) {
  .introduction__img {
    width: 100%;
  }
}

.introduction__text {
  text-align: center;
  margin-block-end: 4rem;
  padding-inline: 3.2rem;
  max-width: calc(1167px + 6.4rem);
  margin-inline: auto;
}

@media (width <= 833px) {
  .introduction__text {
    padding-inline: 1.6rem;
    margin-block-end: 3.2rem;
  }
}

.introduction__upper-text {
  font-size: 4rem;
  font-weight: 900;
  line-height: 72px;
  letter-spacing: 0.04em;
}

@media (width <= 833px) {
  .introduction__upper-text {
    font-size: 2rem;
    line-height: 36px;
  }
}

.introduction__upper-text span {
  color: #f08080;
  background: linear-gradient(to top, transparent 0 10%, rgba(255, 227, 75, 0.5) 10% 40%, transparent 40% 100%);
}

.introduction__lower-text {
  font-size: 2.4rem;
  line-height: 40.8px;
  font-weight: 900;
  letter-spacing: 0.04em;
}

@media (width <= 833px) {
  .introduction__lower-text {
    font-size: 1.4rem;
    line-height: 24px;
    text-align: start;
  }
}

.introduction__characters {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin-block-end: 9.2rem;
  max-width: 1920px;
  margin-inline: auto;
}

@media (width <= 833px) {
  .introduction__characters {
    flex-direction: column;
    gap: 0.6rem;
    margin-block-end: 4.8rem;
    align-items: center;
    padding-inline: 0.6rem;
  }
}

.introduction__character {
  display: flex;
  align-items: flex-end;
}

@media (width <= 833px) {
  .introduction__character {
    align-items: center;
    flex-direction: row-reverse;
    width: 100%;
  }
}

.introduction__character.eddy {
  transform: translate(8.42vw, 2.2vw);
}

@media (1366px <= width) {
  .introduction__character.eddy {
    transform: translate(11.5rem, 3rem);
  }
}

@media (width <= 833px) {
  .introduction__character.eddy {
    transform: translateX(1rem);
  }
}

.introduction__character.pita {
  flex-direction: row-reverse;
  transform: translate(-2.2vw, 2.2vw);
}

@media (1366px <= width) {
  .introduction__character.pita {
    transform: translate(-3rem, 3rem);
  }
}

@media (width <= 833px) {
  .introduction__character.pita {
    transform: translateX(1rem);
    flex-direction: row;
  }
}

.introduction__character--text--wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.introduction__character.eddy .introduction__character--text--wrapper {
  background: url(../../images/introduction_eddy_bg.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 29.8vw;
  max-width: 40.706rem;
  height: 18.89vw;
  max-height: 25.709rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 833px) {
  .introduction__character.eddy .introduction__character--text--wrapper {
    background: url(../../images/introduction_eddy_bg_sp.svg);
    width: 59.04vw;
    max-width: unset;
    height: 46.81vw;
    max-height: unset;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateX(-2rem);
  }
}

.introduction__character.pita .introduction__character--text--wrapper {
  background: url(../../images/introduction_pita_bg.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 29.2vw;
  max-width: 39.886rem;
  height: 19.46vw;
  max-height: 26.581rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 833px) {
  .introduction__character.pita .introduction__character--text--wrapper {
    background: url(../../images/introduction_pita_bg_sp.svg);
    width: 59.04vw;
    max-width: unset;
    height: 48.31vw;
    max-height: unset;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
}

.introduction__character--text--inner {
  display: flex;
  flex-direction: column;
  gap: 0.88vw;
}

@media (width <= 833px) {
  .introduction__character--text--inner {
    gap: 0.6rem;
  }
}

.introduction__character--name {
  font-size: clamp(1.6rem, 1.92vw, 2.4rem);
  line-height: clamp(19.2px, 2.88vw, 36px);
  font-weight: 700;
}

@media (width <= 833px) {
  .introduction__character--name {
    font-size: 1.8rem;
    line-height: 24px;
  }
}

.introduction__character--description {
  font-size: clamp(1.2rem, 1.44vw, 1.6rem);
  line-height: clamp(14.4px, 2.71vw,28.8px);
  font-weight: 700;
  padding-inline: 2.5rem;
  white-space: nowrap;
  display: inline-block;
  padding-block-end: 1rem;
}

@media (width <= 833px) {
  .introduction__character--description {
    font-size: 1.4rem;
    line-height: 22.4px;
    padding-inline: 1.8rem;
    white-space: normal;
  }
}

.introduction__character--img {
  position: relative;
  z-index: 1;
} 

.introduction__character--img img {
  zoom: 0.5;
}

@media (width <= 833px) {
  .introduction__character--img img {
    zoom: normal;
    object-fit: contain;
  }
}

@media (width <= 833px) {
  .introduction__character.eddy .introduction__character--img {
    width: 41.69vw;
    height: 60.9vw;
  }

  .introduction__character.pita .introduction__character--img {
    width: 25.15vw;
    height: 32.16vw;
  }
}

/* 年齢別ページ */
.age__fv {
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
}

.age__fv.infant {
  background-image: url(../../images/infant_fv_bg.svg);
}

@media (width <= 833px) {
  .age__fv.infant {
    background-image: url(../../images/infant_fv_bg_sp.svg);
  }
}

.age__fv.toddler {
  background-image: url(../../images/toddler_fv_bg.svg);
}

@media (width <= 833px) {
  .age__fv.toddler {
    background-image: url(../../images/toddler_fv_bg_sp.svg);
  }
}

.age__fv.preschooler {
  background-image: url(../../images/preschooler_fv_bg.svg);
}

@media (width <= 833px) {
  .age__fv.preschooler {
    background-image: url(../../images/preschooler_fv_bg_sp.svg);
  }
}

.age__fv.kindergartener {
  background-image: url(../../images/kindergartener_fv_bg.svg);
}

@media (width <= 833px) {
  .age__fv.kindergartener {
    background-image: url(../../images/kindergartener_fv_bg_sp.svg);
  }
}

.age__inner {
  padding-inline: 6.4rem;
  padding-block: 3.5rem 6rem;
  width: 100%;
  position: relative;
  max-width: 1920px;
  margin-inline: auto;
}

@media (width <= 833px) {
  .age__inner {
    padding-inline: 1.6rem;
    padding-block: 4rem 6.4rem;
    margin-block-end: 2.4rem;
  }
}

.age__inner::before {
  content: '';
  position: absolute;
  background: url(../../images/object_c.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 9.8vw;
  height: 9.05vw;
  top: 13.69vw;
  left: 2.86vw;
}

.toddler .age__inner::before {
  background: url(../../images/object_z.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 9.44vw;
  height: 11.68vw;
  top: 11.09vw;
}

.preschooler .age__inner::before {
  background: url(../../images/object_w.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 8.95vw;
  height: 8.56vw;
  top: 13.69vw;
}

.kindergartener .age__inner::before {
  background: url(../../images/object_m.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 6.99vw;
  height: 11.67vw;
  top: 11.59vw;
}

@media (1920px <= width) {
  .age__inner::before {
    width: 18.8rem;
    height: 17.366rem;
    top: 20rem;
    left: 5rem;
  }

  .toddler .age__inner::before {
    width: 18.114rem;
    height: 22.413rem;
    top: 16rem;
    left: 5rem;
  }

  .preschooler .age__inner::before {
    width: 17.9rem;
    height: 17.1rem;
    top: 20rem;
    left: 5rem;
  }

  .kindergartener .age__inner::before {
    width: 13.8rem;
    height: 23.1rem;
    top: 17rem;
    left: 5rem;
  }
}

@media (width <= 833px) {
  .age__inner::before {
    width: 9.367rem;
    height: 8.65rem;
    top: 18rem;
    left: 1rem;
    z-index: 1;
  }

  .toddler .age__inner::before {
    width: 9.026rem;
    height: 11.168rem;
    top: 18rem;
    left: 1rem;
    z-index: 1;
  }

  .preschooler .age__inner::before {
    width: 8.55rem;
    height: 8.2rem;
    top: 18rem;
    left: 1rem;
    z-index: 1;
  }

  .kindergartener .age__inner::before {
    width: 6.67rem;
    height: 11.1rem;
    top: 18rem;
    left: 3rem;
    z-index: 1;
  }
}

.age__title {
  position: absolute;
  top: 50%;
  left: 10.32vw;
  transform: translateY(-60%);
  display: flex;
  flex-direction: column;
  gap: 1.17vw;
}

@media (1920px <= width) {
  .age__title {
    left: 14.2rem;
  }
}

@media (width <= 833px) {
  .age__title {
    position: initial;
    transform: none;
    text-align: center;
    align-items: center;
    gap: 1.2rem;
    margin-block-end: 8.8rem;
  }
}

.age__title--upper {
  font-weight: 900;
  font-size: clamp(2rem, 2.4vw, 4rem);
  line-height: clamp(32px, 3.84vw, 64px);
  letter-spacing: 0.08em;
  margin-bottom: 0 !important;
}

@media (width <= 833px) {
  .age__title--upper {
    font-size: 2rem;
    line-height: 32px;
  }
}

.age__title--upper span {
  font-size: clamp(3.2rem, 3.84vw, 5.4rem);
  line-height: clamp(47.36px, 5.69vw, 79.92px);
}

@media (width <= 833px) {
  .age__title--upper span {
    font-size: 3.2rem;
    line-height: 40.96px;
    letter-spacing: 0.04em;
  }

  .kindergartener .age__title--upper span {
    font-size: 2.8rem;
    line-height: 35.84px;
    letter-spacing: 0.04em;
  }
}

.infant .age {
  color: #19A5A7;
}

.toddler .age {
  color: #E383A8;
}

.preschooler .age {
  color: #EEA508;
}

.kindergartener .age {
  color: #C18DD3;
}

.age__title--logo {
  width: 32.58vw;
  height: 3.83vw;
}

@media (1920px <= width) {
  .age__title--logo {
    width: 62.52rem;
    height: 7.348rem;
  }
}

@media (width <= 833px) {
  .age__title--logo {
    width: 29.3rem;
    height: 3.442rem;
  }
}

.age__title--lower {
  font-weight: 700;
  font-size: clamp(1.4rem, 1.68vw, 1.8rem);
  line-height: 32.4px;
  letter-spacing: 0;
}

@media (width <= 833px) {
  .age__title--lower {
    font-size: 1.4rem;
    line-height: 25.2px;
  }
}

.age__media--container {
  width: 77.351%;
  margin-inline-start: auto;
  display: flex;
  flex-direction: column;
}

@media (width <= 833px) {
  .age__media--container {
    width: 100%;
    gap: 6.4rem;
  }

  .infant .age__media--container,
  .toddler .age__media--container {
    gap: 12.8rem;
  }
}

.age__media--wrapper {
  position: relative;
}

.age__media--wrapper:first-child::before {
  position: absolute;
  content: '';
  background: url(../../images/object_a.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 8.19vw;
  height: 11.31vw;
  right: 0;
  top: 2vw;
}

.toddler .age__media--wrapper:first-child::before {
  background: url(../../images/object_h.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 7.69vw;
  height: 11.34vw;
  right: 0;
  top: 2vw;
}

.preschooler .age__media--wrapper:first-child::before {
  background: url(../../images/object_d.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 8.57vw;
  height: 9.19vw;
  right: 0;
  top: 2vw;
}

.kindergartener .age__media--wrapper:first-child::before {
  background: url(../../images/object_x.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 8.8vw;
  height: 10.75vw;
  right: 0;
  top: 2vw;
}

@media (1920px <= width) {
  .age__media--wrapper:first-child::before {
    width: 15.716rem;
    height: 21.761rem;
    top: 3rem;
  }

  .toddler .age__media--wrapper:first-child::before {
    width: 14.756rem;
    height: 21.8rem;
    top: 3rem;
  }

  .preschooler .age__media--wrapper:first-child::before {
    width: 16.4rem;
    height: 17.6rem;
    top: 3rem;
  }

  .kindergartener .age__media--wrapper:first-child::before {
    width: 16.8rem;
    height: 20.5rem;
    top: 3rem;
  }
}

@media (width <= 833px) {
  .age__media--wrapper:first-child::before {
    display: none;
  }

  .toddler .age__media--wrapper:first-child::before {
    display: none;
  }

  .preschooler .age__media--wrapper:first-child::before {
    display: none;
  }

  .kindergartener .age__media--wrapper:first-child::before {
    display: none;
  }
}

.age__media--wrapper:last-child::before {
  position: absolute;
  content: '';
  background: url(../../images/object_y.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 8.12vw;
  height: 13.38vw;
  right: 0.39vw;
  bottom: -1.68vw;
  transform: rotate(40deg);
}

.toddler .age__media--wrapper:last-child::before {
  background: url(../../images/object_k.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 6.93vw;
  height: 9.59vw;
  right: 0.39vw;
  bottom: -1.68vw;
  transform: rotate(0deg);
}

.preschooler .age__media--wrapper:last-child::before {
  background: url(../../images/object_x.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 8.12vw;
  height: 13.38vw;
  right: 0.39vw;
  bottom: -1.68vw;
  transform: rotate(0);
}

.kindergartener .age__media--wrapper:last-child::before {
  background: url(../../images/object_v.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 6.3vw;
  height: 11.22vw;
  right: 0.39vw;
  bottom: -1.68vw;
  transform: rotate(35deg);
}

@media (1920px <= width) {
  .age__media--wrapper:last-child::before {
    width: 14.6rem;
    height: 24.06rem;
    bottom: -2.4rem;
  }

  .toddler .age__media--wrapper:last-child::before {
    width: 12.5rem;
    height: 17.3rem;
    bottom: -2.4rem;
  }

  .preschooler .age__media--wrapper:last-child::before {
    width: 14.6rem;
    height: 24.06rem;
    bottom: -2.4rem;
  }

  .kindergartener .age__media--wrapper:last-child::before {
    width: 11.4rem;
    height: 19.2rem;
    bottom: -2.4rem;
  }
}

@media (1920px <= width) {
  .age__media--wrapper:last-child::before {
    width: 12.24rem;
    height: 29.484rem;
    bottom: -2.4rem;
  }

  .toddler .age__media--wrapper:last-child::before {
    width: 13.298rem;
    height: 18.403rem;
    bottom: -2.4rem;
  }

  .preschooler .age__media--wrapper:last-child::before {
    width: 12.24rem;
    height: 29.484rem;
    bottom: -2.4rem;
  }

  .kindergartener .age__media--wrapper:last-child::before {
    width: 11.504rem;
    height: 24.57rem;
    bottom: -2.4rem;
  }
}

@media (width <= 833px) {
  .age__media--wrapper:last-child::before {
    display: none;
  }
}

.age__media {
  position: relative;
  width: fit-content;
}

.kindergartener .age__media--wrapper:nth-child(2) .age__media {
  border: 1px solid #C3CCED;
  border-radius: 1.6rem;
}

@media (width <= 833px) {
  .age__media {
    width: 92.074%;
    height: 49.28%;
  }
}

.age__media--wrapper:first-child .age__media::before {
  position: absolute;
  content: '';
  background: url(../../images/age_text.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 12.96vw;
  height: 8.35vw;
  left: -14.64vw;
  top: 2vw;
}

@media (1920px <= width) {
  .age__media--wrapper:first-child .age__media::before {
    width: 24.869rem;
    height: 16.023rem;
    left: -27rem;
    top: 0;
  }
}

@media (width <= 833px) {
  .age__media--wrapper:first-child .age__media::before {
    background: url(../../images/age_text_sp.svg);
    width: 6.561rem;
    height: 7.389rem;
    left: auto;
    right: 0;
    top: -8.4rem;
  }

  .kindergartener .age__media--wrapper:first-child .age__media::before {
    right: -1.5rem;
    top: -9.5rem;
  }
}

@media (width <= 833px) {
  .age__media--wrapper:nth-child(2) .age__media::before {
    position: absolute;
    content: '';
    background: url(../../images/object_a.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 7.817rem;
    height: 10.795rem;
    left: -4.2rem;
    top: -3.912rem;
    z-index: 1;
  }

  .toddler .age__media--wrapper:nth-child(2) .age__media::before {
    background: url(../../images/object_h.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 7.35rem;
    height: 10.845rem;
    left: -4.1rem;
    top: -14.5rem;
    bottom: auto;
    z-index: 1;
  }

  .preschooler .age__media--wrapper:nth-child(2) .age__media::before {
    background: url(../../images/object_d.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 8.2rem;
    height: 8.8rem;
    left: -4.2rem;
    top: -3.912rem;
    z-index: 1;
  }

  .kindergartener .age__media--wrapper:nth-child(2) .age__media::before {
    background: url(../../images/object_x.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 8.4rem;
    height: 10.3rem;
    left: -3rem;
    top: -3.912rem;
    z-index: 1;
  }
}

@media (width <= 833px) {
  .age__media--wrapper:last-child .age__media::before {
    position: absolute;
    content: '';
    background: url(../../images/object_y.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 7.768rem;
    height: 12.791rem;
    right: -3rem;
    top: -4.5rem;
    transform: rotate(40deg);
    z-index: 1;
  }

  .toddler .age__media--wrapper:last-child .age__media::before {
    background: url(../../images/object_k.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 6.623rem;
    height: 9.166rem;
    right: -4.023rem;
    top: 1.911rem;
    bottom: auto;
    transform: rotate(0deg);
    z-index: 1;
  }

  .preschooler .age__media--wrapper:last-child .age__media::before {
    background: url(../../images/object_x.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 7.768rem;
    height: 12.791rem;
    right: -4.5rem;
    top: -4.5rem;
    transform: rotate(0);
    z-index: 1;
  }

  .kindergartener .age__media--wrapper:last-child .age__media::before {
    background: url(../../images/object_v.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 6.03rem;
    height: 10.7rem;
    right: 0;
    top: 40%;
    transform: rotate(35deg)translateY(-50%);
    z-index: 1;
  }
}

.age__media > span {
  position: absolute;
  top: -1.83vw;
  right: -0.73vw;
  font-size: clamp(1.4rem, 1.68vw, 1.8rem);
  line-height: 1;
  font-weight: 900;
  color: #fff;
  height: 3.22vw;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 1.46vw;
  z-index: 0;
}

.age__media span > span {
  font-size: clamp(1.2rem, 1.44vw, 1.6rem);
  display: flex;
  align-items: center;
  justify-content: center;
} 

.toddler .age__media--second {
  right: auto;
  left: -0.73vw;
}

.kindergartener .age__media--second {
  right: auto;
  left: -0.73vw;
}

.kindergartener .age__media--third {
  top: auto;
  bottom: -1.83vw;
}

@media (1920px <= width) {
  .age__media span {
    top: -2.5rem;
    right: -1rem;
    height: 6.678rem;
    padding-inline: 2.8rem;
  }

  .age__media span > span {
    padding-inline: 0;
  }
}

@media (width <= 1310px) {
  .kindergartener .age__media--third {
    flex-direction: column;
    padding-block: 2.4vw;
  }
}

@media (width <= 833px) {
  .age__media span {
    top: -1.2vw;
    right: -0.5vw;
    font-size: 1.4rem;
    height: auto;
    padding-inline: 1.6rem;
    line-height: 28px;
  }

  .age__media span > span {
    font-size: 1.2rem;
    padding-inline: 0;
  }
}

@media (width <= 833px) {
  .age__media--first {
    top: -1.5rem !important;
    right: 50% !important;
    transform: translateX(50%);
  }

  .toddler .age__media--first {
    top: -1.5rem !important;
    right: 45% !important;
    transform: translateX(50%);
  }

  .preschooler .age__media--first {
    top: -1.5rem !important;
    right: 40% !important;
    transform: translateX(50%);
  }

  .kindergartener .age__media--first {
    top: -2rem !important;
    right: 35% !important;
    transform: translateX(50%);
  }

  .age__media--second {
    top: -1.5rem !important;
    right: 0 !important;
  }

  .toddler .age__media--second {
    top: -2.8rem !important;
    left: 0 !important;
    right: auto !important;
  }

  .kindergartener .age__media--second {
    top: -1.5rem !important;
    right: 2rem !important;
    left: auto !important;
  }

  .age__media--third {
    top: -1.5rem !important;
    right: 4rem !important;
  }

  .toddler .age__media--third {
    top: -1.5rem !important;
    right: auto !important;
    left: 1rem !important;
    bottom: auto !important;
  }

  .preschooler .age__media--third {
    top: -1.5rem !important;
    right: auto !important;
    left: 0 !important;
  }

  .kindergartener .age__media--third {
    flex-direction: row;
    top: -1.5rem !important;
    right: auto !important;
    left: 0 !important;
    bottom: auto !important;
    padding-block: 0;
    white-space: nowrap;
  }
}

.age__media span::before {
  content: '';
  position: absolute;
  top: 0;
  left: -1rem;
  right: -1rem;
  bottom: -0.5rem;
  background-color: #00125E;
  clip-path: polygon(5% 100%, 0 0%, 100% 15%, 95% 85%);
  z-index: -1;
}

.age__media > img, .age__media > video, .age__media > picture > img {
  width: 31.84vw;
  height: 18.67vw;
  object-fit: cover;
  border-radius: 1.6rem;
}

@media (1920px <= width) {
  .age__media > img, .age__media > video {
    width: 61.1rem;
    height: 35.827rem;
  }
}

@media (width <= 833px) {
  .age__media > img, .age__media > video {
    width: 100%;
    height: 45.334vw;
  }
}

.age__media--fukidashi {
  position: absolute;
  font-size: clamp(0.9rem, 1.02vw, 1.4rem);
  font-weight: 400;
  line-height: clamp(18px, 2.16vw, 28.8px);
  letter-spacing: 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

@media (width <= 833px) {
  .age__media--fukidashi {
    padding: 1rem;
    font-size: 1.2rem;
    line-height: 20.4px;
  }
}

.age__media--fukidashi small {
  font-size: clamp(0.8rem, 0.96vw, 1.2rem);
  line-height: clamp(12px, 1.44vw, 21.6px);
  font-weight: 400;
}

@media (width <= 833px) {
  .age__media--fukidashi small {
    font-size: 1rem;
    line-height: 17px;
  }
}

.age__media--fukidashi.fukidashi01 {
  background: url(../../images/age_fukidashi_01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 23.13vw;
  max-width: 30.919rem;
  height: 12.27vw;
  max-height: 16.077rem;
  right: -75%;
  top: 50%;
  transform: translateY(-50%);
  padding: 1.74vw 0.76vw 1.54vw 2.03vw;
}

.toddler .age__media--fukidashi.fukidashi01 {
  background: url(../../images/age_toddler_fukidashi_01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 19.64vw;
  max-width: 26.829rem;
  height: 9.61vw;
  max-height: 13.133rem;
  right: -65%;
  padding: 1.23vw 1.45vw 2.01vw 1.79vw;
}

.preschooler .age__media--fukidashi.fukidashi01 {
  background: url(../../images/age_preschooler_fukidashi_01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 19.64vw;
  max-width: 26.822rem;
  height: 9.56vw;
  max-height: 13.063rem;
  right: -75%;
  padding: 2.52vw 2.43vw 2.8vw 3.15vw;
}

.kindergartener .age__media--fukidashi.fukidashi01 {
  background: url(../../images/age_preschooler_fukidashi_01.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 19.64vw;
  max-width: 26.822rem;
  height: 9.56vw;
  max-height: 13.063rem;
  right: -75%;
  padding: 1.19vw 1.76vw 2vw 2.65vw;
}

@media (1366px <= width) {
  .age__media--fukidashi.fukidashi01 {
    right: -33.821rem;
    padding: 2.4rem 1rem 2.1rem 2.8rem;
  }

  .toddler .age__media--fukidashi.fukidashi01 {
    right: -30.5rem;
    padding: 1.7rem 2rem 2.75rem 2.4rem;
  }

  .preschooler .age__media--fukidashi.fukidashi01 {
    right: -33.5rem;
    padding: 3.4rem 3.3rem 3.8rem 4.3rem;
  }

  .kindergartener .age__media--fukidashi.fukidashi01 {
    right: -33.5rem;
    padding: 1.6rem 2.4rem 2.7rem 3.6rem;
  }
}

@media (width <= 833px) {
  .age__media--fukidashi.fukidashi01 {
    background: url(../../images/age_fukidashi_01_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 24.532rem;
    height: 11.7rem;
    right: -3rem;
    bottom: -8rem;
    top: auto;
    transform: none;
    padding:  2.2rem 1.3rem 1.5rem 2.8rem;
  }

  .toddler .age__media--fukidashi.fukidashi01 {
    background: url(../../images/age_toddler_fukidashi_01_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 16.28rem;
    height: 12.488rem;
    right: -3rem;
    bottom: -9rem;
    top: auto;
    transform: none;
    padding: 2.6rem 2.3rem 1.9rem 2.9rem;
  }

  .preschooler .age__media--fukidashi.fukidashi01 {
    background: url(../../images/age_preschooler_fukidashi_01_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 15.99rem;
    height: 7.46rem;
    right: -3rem;
    bottom: -4rem;
    top: auto;
    transform: none;
    padding: 1.9rem 0.3rem 1.5rem 1.2rem;
  }

  .kindergartener .age__media--fukidashi.fukidashi01 {
    background: url(../../images/age_kindergartener_fukidashi_01_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 17.2rem;
    height: 9.9rem;
    right: -3rem;
    bottom: -4rem;
    top: auto;
    transform: none;
    padding: 2rem 0.3rem 1.9rem 1.3rem;
  }
}

.age__media--fukidashi.fukidashi02 {
  background: url(../../images/age_fukidashi_02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 28.55vw;
  max-width: 39rem;
  height: 12.79vw;
  max-height: 17.471rem;
  left: 0;
  bottom: -35%;
  transform: translateY(50%);
  padding: 2.25vw 1.17vw 2.05vw 1.9vw;
}

.toddler .age__media--fukidashi.fukidashi02 {
  background: url(../../images/age_toddler_fukidashi_02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 31.75vw;
  max-width: 43.374rem;
  height: 11.93vw;
  max-height: 16.3rem;
  bottom: -30%;
  padding: 2.12vw 2.8vw 2.07vw 3.05vw;
}

.preschooler .age__media--fukidashi.fukidashi02 {
  background: url(../../images/age_preschooler_fukidashi_02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 28.27vw;
  max-width: 38.621rem;
  height: 9.62vw;
  max-height: 13.139rem;
  bottom: -30%;
  padding: 0.84vw 1.17vw 0.8vw 1.26vw;
}

.kindergartener .age__media--fukidashi.fukidashi02 {
  background: url(../../images/age_kindergartener_fukidashi_02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 21.51vw;
  max-width: 29.385rem;
  height: 10.48vw;
  max-height: 14.311rem;
  left: 50%;
  transform: translateX(-50%);
  bottom: -60%;
  padding: 2.29vw 3.01vw 1.82vw 3.27vw;
}

@media (1366px <= width) {
  .age__media--fukidashi.fukidashi02 {
    left: 0;
    padding: 3.1rem 1.6rem 2.8rem 2.6rem;
  }

  .toddler .age__media--fukidashi.fukidashi02 {
    padding: 3rem 4rem 3rem 4.3rem;
  }

  .preschooler .age__media--fukidashi.fukidashi02 {
    padding: 2.65rem 3.1rem 2.6rem 3.2rem;
  }

  .kindergartener .age__media--fukidashi.fukidashi02 {
    padding: 3.1rem 4.1rem 2.5rem 4.5rem;
  }
}

@media (width <= 833px) {
  .age__media--fukidashi.fukidashi02 {
    background: url(../../images/age_fukidashi_02_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 28.679rem;
    height: 11.8rem;
    left: -2.5rem;
    bottom: -9.5rem;
    transform: none;
    padding: 1.9rem 1.3rem 1.9rem 0.9rem;
  }

  .toddler .age__media--fukidashi.fukidashi02 {
    background: url(../../images/age_toddler_fukidashi_02_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 31.4rem;
    height: 11.6rem;
    left: 0;
    bottom: -8rem;
    top: auto;
    transform: none;
    padding: 1.4rem 2.1rem 0.8rem 2rem;
  }

  .preschooler .age__media--fukidashi.fukidashi02 {
    background: url(../../images/age_preschooler_fukidashi_02_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 23.363rem;
    height: 9.404rem;
    left: -2.5rem;
    bottom: -4rem;
    top: auto;
    transform: none;
    padding: 1.2rem 3.1rem 0.8rem 3.2rem;
  }

  .kindergartener .age__media--fukidashi.fukidashi02 {
    background: url(../../images/age_kindergartener_fukidashi_02_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 18.796rem;
    height: 10.167rem;
    left: -10vw;
    bottom: -2.5rem;
    transform: none;
    padding: 1.5rem 2.5rem 0.7rem 0;
  }
}

@media (width <= 500px) {
  .kindergartener .age__media--fukidashi.fukidashi02 {
    left: -11vw;
  }
}

.age__media--fukidashi.fukidashi03 {
  background: url(../../images/age_fukidashi_03.svg);
  background-repeat: no-repeat;
  background-size: contain;
  padding: 1.35vw 2.92vw 1.68vw 2.85vw;
  width: 21vw;
  max-width: 28.689rem;
  height: 11.52vw;
  max-height: 15.738rem;
  left: -50%;
  top: 50%;
  transform: translateY(-50%);
}

.toddler .age__media--fukidashi.fukidashi03 {
  background: url(../../images/age_toddler_fukidashi_03.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 22.4vw;
  max-width: 30.595rem;
  height: 8.93vw;
  max-height: 11.797rem;
  top: 65%;
  left: -60%;
  padding: 2.12vw 1.02vw 2.27vw 1.76vw;
}

.preschooler .age__media--fukidashi.fukidashi03 {
  background: url(../../images/age_preschooler_fukidashi_03.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 23.17vw;
  max-width: 31.655rem;
  height: 11.29vw;
  max-height: 15.417rem;
  left: -60%;
  top: 50%;
  transform: translateY(-50%);
  padding: 1.98vw 1.9vw 2.93vw 2.56vw;
}

.kindergartener .age__media--fukidashi.fukidashi03 {
  background: url(../../images/age_kindergartener_fukidashi_03.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 29.83vw;
  max-width: 40.753rem;
  height: 14.13vw;
  max-height: 19.3rem;
  left: -75%;
  top: 50%;
  transform: translateY(-50%);
  padding: 1.07vw 2.43vw 2.44vw 2.96vw;
}

@media (1366px <= width) {
  .age__media--fukidashi.fukidashi03 {
    padding: 1.841rem 3.99rem 2.298rem 3.899rem;
  }

  .toddler .age__media--fukidashi.fukidashi03 {
    padding: 2.9rem 1.4rem 3.1rem 2.4rem;
  }

  .preschooler .age__media--fukidashi.fukidashi03 {
    padding: 2.7rem 2.6rem 4rem 3.5rem;
  }

  .kindergartener .age__media--fukidashi.fukidashi03 {
    padding: 1.5rem 3.3rem 3.3rem 4rem;
    left: -33.5rem;
  }
}

@media (width <= 833px) {
  .age__media--fukidashi.fukidashi03 {
    background: url(../../images/age_fukidashi_03_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 27.189rem;
    height: 9.717rem;
    left: auto;
    right: -3.5rem;
    bottom: -6rem;
    top: auto;
    transform: none;
    padding: 2rem 1.2rem 1.7rem 1.4rem;
  }

  .toddler .age__media--fukidashi.fukidashi03 {
    background: url(../../images/age_toddler_fukidashi_03_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 18.719rem;
    height: 10.29rem;
    right: -3rem;
    left: auto;
    bottom: -6.411rem;
    top: auto;
    transform: none;
    padding: 1.9rem 0.5rem 2.4rem 1.1rem;
  }

  .preschooler .age__media--fukidashi.fukidashi03 {
    background: url(../../images/age_preschooler_fukidashi_03_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 16.916rem;
    height: 11rem;
    right: -3rem;
    bottom: -9rem;
    top: auto;
    left: auto;
    transform: none;
    padding: 2rem 1.7rem 1rem 2rem;
  }

  .kindergartener .age__media--fukidashi.fukidashi03 {
    background: url(../../images/age_kindergartener_fukidashi_03_sp.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 33.088rem;
    height: 9.196rem;
    left: auto;
    right: -3rem;
    bottom: -7rem;
    top: auto;
    transform: none;
    padding: 1.7rem 1.3rem 1.5rem 1.8rem;
  }
}

.age__media--wrapper:nth-child(2) {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}

/* development */
.development {
  background: #DEF3F4;
  padding-block: 8rem;
  position: relative;
}

@media (width <= 1110px) {
  .development.infant,
  .development.toddler {
    padding-block-end: 16rem;
  }
}

@media (width <= 450px) {
  .development.infant,
  .development.toddler {
    padding-block-end: 10rem;
  }
}

@media (width <= 833px) {
  .development {
    padding-block: 4.8rem;
  }
}

.development::before {
  content: '';
  position: absolute;
  background: url(../../images/object_m.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 9.548rem;
  height: 15.941rem;
  top: -5.5rem;
  left: 13.1rem;
}

.toddler.development::before,
.preschooler.development::before,
.kindergartener.development::before {
  background: url(../../images/object_a.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 11.19rem;
  height: 15.456rem;
}

@media (width <= 833px) {
  .development::before {
    width: 6.1rem;
    height: 10.2rem;
    top: -3.2rem;
    left: 2rem;
  }

  .toddler.development::before,
  .preschooler.development::before,
  .kindergartener.development::before {
    width: 7.816rem;
    height: 10.796rem;
  }
}

.development__inner {
  max-width: 1920px;
  margin-inline: auto;
  padding-inline: 3.2rem;
}

@media (width <= 833px) {
  .development__inner {
    padding-inline: 1.6rem;
  }
}

.development__title--wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  margin-block-end: 8rem;
  font-weight: 900;
}

@media (width <= 833px) {
  .development__title--wrapper {
    margin-block-end: 4rem;
  }
}

.development__title--prefix {
  font-size: 2.8rem;
  line-height: 50.4px;
  margin-bottom: 0 !important;
}

@media (width <= 833px) {
  .development__title--prefix {
    font-size: 1.6rem;
    line-height: 28.8px;
  }
}

.development__title {
  font-size: 4rem;
  line-height: 72px;
  font-weight: 900;
}

@media (width <= 833px) {
  .development__title {
    font-size: 2rem;
    line-height: 32px;
    letter-spacing: 0.08em;
  }
}

.development__title span {
  font-size: 5.6rem;
  line-height: 89.04px;
  margin-inline-end: 0.8rem;
  background: linear-gradient(to top, transparent 0 10%, rgba(255, 255, 255, 0.7) 10% 40%, transparent 40% 100%);
}

@media (width <= 833px) {
  .development__title span {
    font-size: 3.2rem;
    line-height: 40.96px;
    margin-inline-end: 0;
    letter-spacing: 0.08em;
  }
}

.development__title .infant {
  color: #19A5A7;
}

.development__title .toddler {
  color: #E383A8;
}

.development__title .preschooler {
  color: #EEA508;
}

.development__title .kindergartener {
  color: #C18DD3;
}

.development__item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 4.8rem;
  margin-block-end: 8rem;
  max-width: 1920px;
  margin-inline: auto;
}

@media (width <= 833px) {
  .development__item {
    margin-block-end: 4rem;
    gap: 2.4rem;
  }
}

.development__img {
  width: 47.51%;
  position: relative;
}

@media (width <= 833px) {
  .development__img {
    width: 100%;
  }
}

.development__list {
  width: 100%;
  max-width: 1084px;
  margin-inline: auto;
}

@media (width <= 833px) {
  .development__list {
    width: 100%;
  }
}

.development__list dl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
}

@media (width <= 833px) {
  .development__list dl {
    gap: 0.8rem;
  }
}

.development__list--item {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  padding: 2.4rem;
  background-color: #fff;
  width: 100%;
  border-radius: 2.4rem;
}

@media (width <= 833px) {
  .development__list--item {
    gap: 0.8rem;
    padding: 1.6rem;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
}

.development__list--item dt {
  font-size: 1.8rem;
  line-height: 32.4px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding-block: 0.8rem;
  border-radius: 0.8rem;
  width: 22.14%;
  flex-shrink: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (width <= 833px) {
  .development__list--item dt {
    font-size: 1.4rem;
    line-height: 25.2px;
    padding-block: 1.1rem;
    width: 100%;
  }
}

.development__list--item .when {
  background-color: #00125E;
}

.development__list--item .can-do {
  background-color: #ED3E4E;
}

.development__list--item .how-to {
  background-color: #19A5A7;
}

.development__list--item dd {
  font-size: 1.8rem;
  line-height: 32.4px;
  font-weight: 700;
  letter-spacing: 0;
}

@media (width <= 833px) {
  .development__list--item dd {
    font-size: 1.4rem;
    line-height: 25.2px;
  }
}

.development__list--item ul {
  list-style: inside;
}

.age__cta {
  width: 100%;
  margin-block-start: -7.65rem;
  position: relative;
  z-index: 1;
}

@media (width <= 1110px) {
  .age__cta {
    margin-block-start: -15rem;
  }
}

@media (width <= 833px) {
  .age__cta {
    margin-block-start: -13rem;
  }
}

@media (width <= 450px) {
  .age__cta {
    margin-block-start: -10rem;
  }
}

.age__bg {
  width: 100%;
  background: url(../../images/material-bg.png);
  background-size: cover;
  background-repeat: no-repeat;
}

.age__bg.preschooler {
  padding-block-start: 10.4rem;
}

@media (width <= 833px) {
  .age__bg.preschooler {
    padding-block-start: 4.8rem;
  }
}

.membership__inner {
  padding-inline: 3.2rem;
  padding-block-start: 10.4rem;
}

@media (width <= 833px) {
  .membership__inner {
    padding-inline: 1.6rem;
    padding-block-start: 4.8rem;
  }
}

.membership__content {
  background-color: #FFE100;
  margin-inline: auto;
  border-radius: 2rem;
  padding-block: 7.2rem;
  padding-inline: 8rem;
  position: relative;
  width: 76.72%;
  max-width: 1048px;
  margin-block-end: 6.4rem;
}

.membership__content::before {
  content: '';
  position: absolute;
  background: url('../../images/object_m.svg');
  background-size: contain;
  background-repeat: no-repeat;
  width: 6.99vw;
  max-width: 9.5rem;
  min-width: 6.684rem;
  height: 11.67vw;
  max-height: 16rem;
  min-height: 11.15rem;
  top: 3rem;
  left: -8rem;
  z-index: 1;
}

.kindergartener .membership__content::before {
  background: url('../../images/object_h.svg');
  background-size: contain;
  background-repeat: no-repeat;
  width: 7.69vw;
  max-width: 10.5rem;
  height: 11.34vw;
  max-height: 15.492rem;
}

.membership__content::after {
  content: '';
  position: absolute;
  background: url('../../images/object_v.svg');
  background-size: contain;
  background-repeat: no-repeat;
  width: 10.56vw;
  max-width: 8.8rem;
  min-width: 6.161rem;
  height: 11.38vw;
  max-height: 15.6rem;
  min-height: 10.921rem;
  bottom: -4rem;
  right: -9rem;
  transform: rotate(45deg);
  z-index: 1;
}

.kindergartener .membership__content::after {
  background: url('../../images/object_k.svg');
  background-size: contain;
  background-repeat: no-repeat;
  width: 6.93vw;
  max-width: 9.461rem;
  height: 9.59vw;
  max-height: 13.095rem;
  transform: rotate(0deg);
}

@media (width <= 833px) {
  .membership__content {
    width: 100%;
    margin-inline: 0;
    padding-block: 4rem;
    padding-inline: 1.6rem;
  }

  .membership__content::before {
    width: 6.684rem;
    height: 11.15rem;
    top: -7.15rem;
    left: 1.6rem;
  }

  .kindergartener .membership__content::before {
    width: 7.35rem;
    height: 10.845rem;
  }

  .membership__content::after {
    width: 6.161rem;
    height: 10.921rem;
    bottom: -2rem;
    right: 2rem;
  }

  .kindergartener .membership__content::after {
    width: 6.623rem;
    height: 9.166rem;
  }
}

.membership__item--wrapper {
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}

@media (width <= 833px) {
  .membership__item--wrapper {
    gap: 2.4rem;
  }
}

.membership__item {
  background-color: rgba(255, 255, 255, 0.5);
  display: flex;
  align-items: center;
  gap: 6.4rem;
  margin-inline: 6.08% 0;
  padding-block: 5.6rem;
  padding-inline: 45% 7.75%;
  border-radius: 2.4rem;
  position: relative;
}

@media (width <= 833px) {
  .membership__item {
    flex-direction: column;
    gap: 2.4rem;
    margin-inline: 0;
    padding-block: 2.4rem;
    padding-inline: 2.4rem;
  }
}

.membership__item.even {
  margin-inline: 0 6.08%;
  padding-inline: 7.75% 45%;
}

@media (width <= 833px) {
  .membership__item.even {
    margin-inline: 0;
    padding-inline: 2.4rem;
  }
}

.membership__item.with-benefit {
  margin-block-end: 8rem;
}

.membership__img {
  position: absolute;
  top: 50%;
  left: -6.08%;
  transform: translateY(-50%);
  width: 50%;
  box-shadow: 16px 16px 20px 0px #0000001A;
}

.membership__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (width <= 833px) {
  .membership__img {
    position: unset;
    width: 100%;
    transform: unset;
  }
}

.membership__item.even .membership__img {
  left: auto;
  right: -6.08%;
}

.membership__text {
  font-size: 1.6rem;
  font-weight: 700;
  word-break: break-word;
  color: #374190;
}

@media (width <= 833px) {
  .membership__text {
    font-size: 1.2rem;
  }
}

.membership__item--upper-text {
  line-height: 32px;
  margin-bottom: 0.4rem !important;
  letter-spacing: 0.02em;
}

@media (width <= 833px) {
  .membership__item--upper-text {
    line-height: 21.6px;
    margin-bottom: 0 !important;
  }
}

.membership__item--lower-text {
  line-height: 32px;
  font-size: 1.6rem;
  margin-bottom: 2.4rem !important;
  letter-spacing: 0.02em;
}

@media (width <= 833px) {
  .membership__item--lower-text {
    line-height: 21.6px;
    font-size: 1.2rem;
    margin-bottom: 1.2rem !important;
  }
}

.membership__item--title {
  font-weight: 900;
  font-size: 2.8rem;
  line-height: 50.4px;
  margin-block-end: 2.4rem;
  color: #00125E;
}

@media (width <= 833px) {
  .membership__item--title {
    font-size: 2rem;
    line-height: 36px;
    margin-block-end: 1.2rem;
  }
}

.membership__item--title.membership-title {
  font-weight: 900;
  font-size: 2.4rem;
  line-height: 43.2px;
  margin-block-end: 0.4rem;
}

@media (width <= 833px) {
  .membership__item--title.membership-title {
    font-size: 2rem;
    line-height: 36px;
    margin-block-end: 0;
  }
}

.membership__item--description {
  line-height: 32px;
  letter-spacing: 0.02em;
}

@media (width <= 833px) {
  .membership__item--description {
    line-height: 24px;
  }
}

.membership__catchphrase {
  text-align: center;
  font-weight: 900;
  font-size: clamp(2.4rem, 2.88vw, 3rem);
  line-height: 49.5px;
  letter-spacing: 0;
  margin-bottom: 0 !important;
}

.membership__catchphrase span {
  color: #ed3e4e;
}

.membership__catchphrase small {
  font-size: clamp(1.2rem, 1.44vw, 1.6rem);
  line-height: 25.6px;
  letter-spacing: 0.08em;
  font-weight: 900;
}

@media (width <= 833px) {
  .membership__catchphrase {
    font-size: 1.6rem;
    line-height: 26.4px;
  }

  .membership__catchphrase small {
    font-size: 1.2rem;
    line-height: 19.2px;
  }
}
