@charset "UTF-8";

/* --------------------------------
 * base
 * -------------------------------- */
:root {
    --color-lblue: #1da4f2;
    --color-pink: #f4659e;
    --color-lblue02: #9ed6ff;
    --color-lblue03: #d0e9ff;
    --color-lgray: #f0f0f0;
    --color-lpink: #fff0f6;
    --color-lpink02: #ffcce3;
    --color-white: #fff;
    --lineHeight01: 1.4;
}

*, *:before, *:after {
    box-sizing: border-box
}

* {
    margin: 0;
    padding: 0;
}

body {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-family: 'Noto Sans JP', 'Noto Serif JP', sans-serif;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .025em;
    line-height: 1.6;
    color: #1b1a1a;
}

a {
    text-decoration: none;
    transition: .3s;
    color: inherit;
}

a:hover {
    opacity: 0.7;
}

h1, h2, h3, h4, h5, h6 {
    margin-block-start: 0;
    margin-block-end: 0;
}

ul li {
    list-style: none;
}

img {
    image-rendering: -webkit-optimize-contrast;
    max-width: 100%;
    height: auto;
}

table, th, td {
    border-collapse: collapse;
}

.section {
    padding: 50px 0;
}
@media (max-width: 768px) {
    .section {
    padding: 35px 0;
} }
.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.grid {
    display: grid;
}

.l-inner {
    margin: 0 auto;
    padding: 0 20px;
    max-width: 750px;
}

.c-lblue {
    color: var(--color-pink);
}

.c-pink {
    color: var(--color-pink);
}

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

.c-title {
    font-size: 28px;
    font-size: clamp(1.75rem, 1.59rem + 0.34vw, 2rem);
    font-weight: 800;
    font-family: 'Noto Serif JP', sans-serif;
    text-align: center;
    line-height: var(--lineHeight01);
    margin-bottom: 20px;
}

.c-title .en {
    display: block;
    font-family: 'Marck Script', cursive;
    font-size: 18px;
    font-size: clamp(1.125rem, 0.965rem + 0.34vw, 1.375rem);
    font-weight: 500;
    color: var(--color-pink);
}

.c-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    text-align: center;
    margin: 0 auto;
    transition: .3s;
}

.u-pc {
    display: none;
}

@media (min-width: 750px) {
    .u-sp {
        display: none;
    }
    .u-pc {
        display: block;
    }
}

/* --------------------------------
 * header
 * -------------------------------- */
.header {
    padding: 8px 16px;
}

.header__inner {
    justify-content: space-between;
    align-items: center;
}

.header img {
    max-width: 120px;
}

.header .contact__btn {
    width: 34.66vw;
    max-width: 130px;
    font-size: 15px;
    font-size: clamp(0.938rem, 0.777rem + 0.34vw, 1.188rem);
    padding: 6px 10px;
    margin: 0;
    box-shadow: 0 3px 0 #049440;
}

.header .contact__btn:hover {
    transform: translateY(3px);
}

.header .contact__btn span:first-of-type {
    padding-left: 22px;
    line-height: 1.2;
}

.header .contact__btn span:first-of-type:before {
    width: 18px;
    height: 18px;
}

.header .contact__btn span:last-of-type {
    font-size: 10px;
    font-size: clamp(0.625rem, 0.465rem + 0.34vw, 0.875rem);
}

@media (min-width: 750px) {
    .header .contact__btn {
        max-width: 180px;
    }
}

/* --------------------------------
 * mainvisual
 * -------------------------------- */
.mainvisual__inner {
    background: url(../image/main2.jpg) no-repeat center / cover;
    height: 100vw;
    position: relative;
}

.mainvisual__text {
    position: absolute;
    left: 0;
    right: 0;
    top: 30vw;
    margin: 0 auto;
    width: 100%;
}

.mainvisual__main {
    width: 80%;
    margin: -.5vw auto 0;
}

.mainvisual__sub {
    width: 80%;
    margin: -1vw auto 0;
}

.mainvisual__text02 {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2vw;
    margin: 0 auto;
    width: 80%;
}

@media (min-width: 750px) {
    .mainvisual {
       /* background: url(../image/kv_bg_pc.png) repeat center / cover;*/
        background-color: var(--color-lpink02);
    }

    .mainvisual__inner {
        background: url(../image/main2.jpg) no-repeat center / contain;
        height: 600px;
    }

    .mainvisual__text {
        top: 180px;
    }

    .mainvisual__main {
        width: 480px;
    margin: 0 auto 0;
    }

    .mainvisual__sub {
        width: 360px;
        margin: 0 auto;
    }

    .mainvisual__text02 {
        bottom: 20px;
        width: 400px
    }
}

/* --------------------------------
 * contact
 * -------------------------------- */
.contact {
    padding: 20px 0;
    text-align: center;
}

.contact__text {
    display: inline-block;
    position: relative;
    padding: 0 1em 0 1.5em;
}

.contact__text::before,
.contact__text::after {
    content: "";
    display: inline-block;
    background: var(--color-pink);
    width: 2px;
    position: absolute;
    height: 48px;
    bottom: -2px;
}

.contact__text::before {
    left: 0;
    transform: rotate(-25deg);
}

.contact__text::after {
    right: 0;
    transform: rotate(25deg);
}

.contact__main {
    font-size: 18px;
    font-size: clamp(1.125rem, 0.965rem + 0.34vw, 1.375rem);
    font-weight: 700;
    line-height: var(--lineHeight01);
    color: var(--color-pink);
    text-align: center;
}

.contact__sub {
    font-size: 14px;
    font-size: clamp(0.875rem, 0.715rem + 0.34vw, 1.125rem);
    text-align: center;
}

.contact__btn {
    margin-top: 12px;
    width: 66.67vw;
    max-width: 250px;
    font-size: 20px;
    font-size: clamp(1.25rem, 1.09rem + 0.34vw, 1.5rem);
    line-height: var(--lineHeight01);
    padding: 6px 10px 8px;
    border-radius: 6px;
    background: #06c755;
    box-shadow: 0 5px 0 #049440;
    color: var(--color-white);
}

.contact__btn:hover {
    box-shadow: none;
    transform: translateY(5px);
    opacity: 1;
}

.contact__btn {
    display: flex;
    flex-direction: column;
}

.contact__btn span {
    display: block;
    text-align: center;
}

.contact__btn span:first-of-type {
    padding-left: 24px;
    position: relative;
}

.contact__btn span:first-of-type:before {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background: url(../image/ico_line.webp) no-repeat center center / cover;
}

.contact__btn span:last-of-type {
    font-size: 12px;
    font-size: clamp(0.75rem, 0.59rem + 0.34vw, 1rem);
}

@media (min-width: 750px) {
    .contact__btn {
        max-width: 320px;
        padding: 8px 10px 10px;
    }
}

/* --------------------------------
 * match
 * -------------------------------- */
.match {
    background: url(../image/bg_match1.webp) no-repeat left top / cover;
}

.match .c-title {
    font-size: 24px;
    font-size: clamp(1.5rem, 1.34rem + 0.34vw, 1.75rem);
    text-shadow: 2px 2px 10px #fff,
        -2px 2px 10px #fff,
        2px -2px 10px #fff,
        -2px -2px 10px #fff;
}

.match__box {
    background: var(--color-white);
    position: relative;
    padding: 30px;
    width: 88%;
    margin: 0 auto;
}

.match__box:before {
    content: "";
    position: absolute;
    display: block;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    border: 2px solid var(--color-lpink02);
}

.match__item {
    font-family: 'Noto Serif JP', sans-serif;
    font-size: 16px;
    font-size: clamp(1rem, 0.84rem + 0.34vw, 1.25rem);
    position: relative;
    padding-left: 1.5em;
}

.match__item:before {
    content: "";
    position: absolute;
    width: 16px;
    height: 14px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background: url(../image/ico_check2.webp) no-repeat center center / contain;
}

.match__item:nth-of-type(n+2) {
    margin-top: 6px;
}

.match__text {
    font-family: 'Noto Serif JP', sans-serif;
    font-weight: 800;
    text-align: center;
    font-size: 20px;
    font-size: clamp(1.25rem, 1.09rem + 0.34vw, 1.5rem);
    line-height: 1.3;
    padding-top: 50px;
    position: relative;
    text-shadow: 2px 2px 10px #fff,
        -2px 2px 10px #fff,
        2px -2px 10px #fff,
        -2px -2px 10px #fff;
}

.match__text:before {
    content: "";
    position: absolute;
    width: 50px;
    height: 20px;
    left: 0;
    right: 0;
    top: 20px;
    margin: 0 auto;
    background: url(../image/arw_match1.webp) no-repeat center center / contain;
}

.match__text .fs-small {
    font-size: 18px;
    font-size: clamp(1.125rem, 0.965rem + 0.34vw, 1.375rem);
}

.match__text .c-lblue {
    font-size: 32px;
    font-size: clamp(2rem, 1.84rem + 0.34vw, 2.25rem);
}

@media (min-width: 750px) {
    .match__box {
        max-width: 420px;
        padding: 40px 30px;
    }

    .match__item {
        font-size: 20px;
        font-size: clamp(1.25rem, 1.09rem + 0.34vw, 1.5rem);
        padding-left: 1.5em;
    }

    .match__item:before {
        width: 18px;
        height: 16px;
    }

}

/* --------------------------------
 * performance
 * -------------------------------- */
.performance {
    background: url(../image/bg_poerformance.webp) no-repeat left top / cover;
}

.performance__item {
    text-align: center;
}

.performance__item:nth-of-type(n+2) {
    margin-top: 30px;
}

.performance__img {
    margin: 0 auto;
    width: 66%;
}

.performance__title {
    font-family: 'Noto Serif JP', sans-serif;
    color: var(--color-pink);
    font-size: 24px;
    font-weight: 800;
    line-height: var(--lineHeight01);
    margin-top: 8px;
}

.performance__title .fs-big {
    font-size: 32px;
    font-size: clamp(2rem, 1.84rem + 0.34vw, 2.25rem);
}

.performance__title .fs-small {
    font-size: 20px;
}

.performance__description {
    font-size: 16px;
    font-size: clamp(1rem, 0.92rem + 0.17vw, 1.125rem);
    line-height: var(--lineHeight01);
}

.performance__btn {
    width: 66.67vw;
    max-width: 180px;
    font-size: 15px;
    font-weight: 500;
    padding: 10px;
    background: #323232;
    color: var(--color-white);
    margin-top: 16px;
}

@media (min-width: 750px) {
    .performance__list {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 30px;
    }

    .performance__item:nth-of-type(n+2) {
        margin-top: 0;
    }

    .performance__img {
        width: 100%;
    }
}



/* --------------------------------
 * customer
 * -------------------------------- */
.customer {
    background: var(--color-lpink);
}

.customer .c-title .en {
    color: var(--color-pink);
}

.customer__list {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.customer__title {
    text-align: center;
    color: var(--color-pink);
    font-size: 18px;
    font-size: clamp(1.125rem, 0.965rem + 0.34vw, 1.375rem);
    font-weight: 700;
    margin: 4px 0;
}

@media (min-width: 750px) {
    .customer__list {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}


/* --------------------------------
 * point
 * -------------------------------- */
.point {
    background: var(--color-lpink02);
}

.point .c-title .en {
    color: var(--color-white);
}

.point__item {
    padding: 30px 20px;
    background: var(--color-white);
    background: radial-gradient(circle at top left, transparent 20px, var(--color-white) 0) top left,
        radial-gradient(circle at top right, transparent 20px, var(--color-white) 0) top right,
        radial-gradient(circle at bottom right, transparent 20px, var(--color-white) 0) bottom right,
        radial-gradient(circle at bottom left, transparent 20px, var(--color-white) 0) bottom left;
    background-size: 50% 50%;
    background-repeat: no-repeat;
}

.point__item+.point__item {
    margin-top: 30px;
}

.point__num {
    font-family: 'Noto Serif JP', sans-serif;
    color: var(--color-pink);
    text-align: center;
    padding-bottom: 14px;
    position: relative;
}

.point__num:before {
    content: "";
    position: absolute;
    width: 46px;
    height: 4px;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    background: url(../image/line_point1.webp) no-repeat center center / contain;
}

.point__num p:first-of-type {
    line-height: 1.2;
    font-size: 12px;
    font-size: clamp(0.75rem, 0.59rem + 0.34vw, 1rem);
}

.point__num p:last-of-type {
    font-size: 40px;
    font-size: clamp(2.5rem, 2.34rem + 0.34vw, 2.75rem);
    font-weight: 800;
    line-height: 1;
}

.point__title {
    font-family: 'Noto Serif JP', sans-serif;
    font-size: 24px;
    font-size: clamp(1.5rem, 1.34rem + 0.34vw, 1.75rem);
    text-align: center;
    line-height: var(--lineHeight01);
    margin-top: 14px;
}

.point__box {
    text-align: center;
    border: 1px solid var(--color-lblue);
    margin-top: 40px;
    padding: 28px 20px 20px;
    position: relative;
}

.point__title02 {
    font-family: 'Noto Serif JP', sans-serif;
    font-size: 20px;
    font-size: clamp(1.25rem, 1.09rem + 0.34vw, 1.5rem);
    text-align: center;
    color: var(--color-pink);
    position: absolute;
    left: 0;
    right: 0;
    top: -.85em;
    margin: 0 auto;
}

.point__title02 span {
    background: var(--color-white);
    padding: 0 .5em;
}

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

.youtube:nth-of-type(n+2) {
    margin-top: 6px;
}

.youtube iframe {
    width: 100%;
    height: 100%;
}

.instagram {
    margin-top: 16px;
}

.instagram iframe {
    margin-right: auto!important;
    margin-left: auto!important;
}

@media screen and (max-width: 768px) {
    .instagram-media {
        margin: 0 -1px !important;
        min-width: 100% !important;
        border-right: none !important;
        border-left: none !important;
    }
}

.point__text03 {
    font-size: 16px;
    font-size: clamp(1rem, 0.84rem + 0.34vw, 1.25rem);
    position: relative;
    display: inline-block;
    padding: 0 16px;
}

.point__text03 .c-pink {
    font-size: 20px;
    font-size: clamp(1.25rem, 1.09rem + 0.34vw, 1.5rem);
    font-weight: 800;
}

.point__text03::before,
.point__text03::after {
    content: "";
    display: inline-block;
    background: #1a1a1a;
    width: 1px;
    position: absolute;
    height: 26px;
    bottom: 2px;
}

.point__text03::before {
    left: 0;
    transform: rotate(-25deg);
}

.point__text03::after {
    right: 0;
    transform: rotate(25deg);
}

.people__box {
    background: var(--color-lgray);
    padding: 20px;
    margin-top: 30px;
}

.people__text {
    color: var(--color-pink);
    font-size: 16px;
    font-size: clamp(1rem, 0.84rem + 0.34vw, 1.25rem);
    font-weight: 700;
    text-align: center;
    margin-bottom: 16px;
}

.people__list {
    margin-top: 10px;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px;
}

.people__name {
    font-size: 12px;
    font-size: clamp(0.75rem, 0.59rem + 0.34vw, 1rem);
    line-height: 1.2;
    text-align: center;
}

.point__heading {
    font-size: 20px;
    font-size: clamp(1.25rem, 1.09rem + 0.34vw, 1.5rem);
    font-weight: 700;
    line-height: var(--lineHeight01);
    text-align: center;
    margin-top: 20px;
}

.point__description {
    margin-top: 16px;
}

.point__heading+.point__description {
    margin-top: 8px;
}

.point__list02{
    margin: 16px auto 0;
}

.point__item02 {
    font-size: 16px;
    font-size: clamp(1rem, 0.84rem + 0.34vw, 1.25rem);
    align-items: first baseline;
}

.point__item02+.point__item02 {
    margin-top: 10px;
}

.point__num02 {
    color: var(--color-pink);
    width: 32px;
    height: 32px;
    line-height: 28px;
    border-radius: 32px;
    border: 1px solid var(--color-pink);
    text-align: center;
}

.point__text02 {
    flex: 1;
    margin-left: 10px;
}

.point__btn {
    width: 80vw;
    max-width: 280px;
    font-size: 16px;
    font-size: clamp(1rem, 0.84rem + 0.34vw, 1.25rem);
    padding: 16px;
    background: var(--color-pink);
    color: var(--color-white);
    margin: 24px auto 4px;
}

.note {
    font-size: 11px;
    font-size: clamp(0.688rem, 0.527rem + 0.34vw, 0.938rem);
    text-align: center;
}

@media (min-width: 750px) {
    .point__list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .point__item {
        width: 100%;
        padding: 30px;
    }

    .point__item:nth-of-type(n+3) {
        width: 48%;
    }

    .point__box {
        padding: 36px 30px 30px;
    }

    .point__btn {
        max-width: 320px;
    }

    .people__list {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    }

    .point__list02 {
        max-width: 420px;
        margin: 20px auto 0;
    }
}



/* --------------------------------
 * support
 * -------------------------------- */
.support {
    background: url(../image/bg_support1.webp) repeat left top / 150px auto;
}

.support__box {
    background: var(--color-white);
    padding: 25px;
    position: relative;
}

.support__box:before {
    content: "";
    position: absolute;
    display: block;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    border: 2px solid var(--color-lblue03);
}

.support__item+.support__item {
    margin-top: 20px;
    padding-top: 10px;
    border-top: 1px solid var(--color-lblue03);
}

.support__title {
    font-family: 'Noto Serif JP', sans-serif;
    font-size: 18px;
    font-size: clamp(1.125rem, 0.965rem + 0.34vw, 1.375rem);
    line-height: var(--lineHeight01);
    position: relative;
    padding-left: 3em;
}

.support__title:before {
    content: "";
    position: absolute;
    width: 45px;
    height: 46px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background: url(../image/num_support01a.webp) no-repeat center center / contain;
}

.support__item:nth-of-type(2) .support__title:before {
    background: url(../image/num_support02a.webp) no-repeat center center / contain;
}

.support__item:nth-of-type(3) .support__title:before {
    background: url(../image/num_support03a.webp) no-repeat center center / contain;
}

.support__list02 {
    margin: 8px 0 0 3.8em;
}

.support__item02 {
    position: relative;
    padding-left: 1.5em;
}

.support__item02:nth-of-type(n+2) {
    margin-top: 4px;
}

.support__item02:before {
    content: "";
    position: absolute;
    width: 16px;
    height: 14px;
    left: 0;
    top: 7px;
    margin: auto 0;
    background: url(../image/ico_check2.webp) no-repeat center center / contain;
}

@media (min-width: 750px) {
    .support__box {
        max-width: 580px;
        margin: 0 auto;
        padding: 40px 30px;
    }

    .support__item+.support__item {
        padding-top: 20px;
    }
}


/* --------------------------------
 * worries
 * -------------------------------- */
.worries {
    background: #dedede;
}

.worries__img {
    text-align: center;
}

.worries__text {
    background: var(--color-white);
    padding: 20px;
    border: 2px solid var(--color-lblue);
    margin-top: -30px;
    position: relative;
    z-index: 2;
}

.worries__text:before {
    content: "";
    position: absolute;
    width: 70px;
    height: 30px;
    left: 0;
    right: 0;
    top: -15px;
    margin: 0 auto;
    background: url(../image/arw_worries1.webp) no-repeat center center / contain;
}

.worries__text p:first-of-type {
    font-size: 16px;
    font-size: clamp(1rem, 0.84rem + 0.34vw, 1.25rem);
    font-weight: 700;
}

@media (min-width: 750px) {
    .worries__img {
        max-width: 400px;
        margin: 0 auto;
    }

    .worries__text {
        max-width: 580px;
        margin: -25px auto 0;
    }
}


/* --------------------------------
 * voice
 * -------------------------------- */
.voice {
    background: var(--color-lpink02);
}

.voice .c-title .en {
    color: var(--color-white);
}

.voice__item {
    background: var(--color-white);
    position: relative;
    padding: 30px;
    margin-top: 90px;
}

.voice__item:before {
    content: "";
    position: absolute;
    display: block;
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    border: 2px solid var(--color-lblue03);
}

.voice__item:nth-of-type(2n):before {
    border: 2px solid var(--color-lpink);
}

.voice__img {
    width: 52vw;
    max-width: 170px;
    margin: -92px auto 0;
    position: relative;
    z-index: 2;
    text-align: center;
}

.voice__title {
    font-family: 'Noto Serif JP', sans-serif;
    font-size: 22px;
    font-size: clamp(1.375rem, 1.135rem + 0.51vw, 1.75rem);
    text-align: center;
    color: var(--color-pink);
}

.voice__item:nth-of-type(2n) .voice__title {
    color: var(--color-pink);
}

.voice__description {
    margin-top: 8px;
    line-height: 1.75;
}

@media (min-width: 750px) {
    .voice__list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .voice__item {
        margin-top: 70px;
    }
}


/* --------------------------------
 * flow
 * -------------------------------- */
.flow__item {
    position: relative;
    padding-bottom: 20px;
}

.flow__item+.flow__item {
    margin-top: 20px;
}

.flow__item:not(:last-of-type):before {
    content: "";
    position: absolute;
    display: inline-block;
    width: 10px;
    height: 10px;
    left: 12px;
    bottom: 0;
    border-bottom: 1px solid var(--color-pink);
    border-right: 1px solid var(--color-pink);
    transform: rotate(45deg);
}

.flow__num {
    font-family: 'Noto Serif JP', sans-serif;
    color: var(--color-pink);
    text-align: center;
    padding: 4px 0 10px;
    position: relative;
}

.flow__num p:first-of-type {
    line-height: 1;
    font-size: 12px;
    font-size: clamp(0.75rem, 0.59rem + 0.34vw, 1rem);
    text-transform: uppercase;
}

.flow__num p:last-of-type {
    font-size: 30px;
    font-size: clamp(1.875rem, 1.715rem + 0.34vw, 2.125rem);
    font-weight: 800;
    line-height: 1;
    margin-top: 2px;
}

.flow__text {
    flex: 1;
    margin-left: 20px;
}

.flow__main {
    font-size: 20px;
    font-size: clamp(1.25rem, 1.09rem + 0.34vw, 1.5rem);
    font-weight: 700;
    line-height: var(--lineHeight01);
}



/* --------------------------------
 * requirements
 * -------------------------------- */
.requirements {
    background: #fff0f7;
}

.table {
    background: var(--color-white);
    width: 100%;
}

.table th, .table td {
    padding: 14px 10px;
    border: 1px solid var(--color-lgray);
    text-align: left;
    vertical-align: top;
    font-size: 14px;
    font-size: clamp(0.875rem, 0.715rem + 0.34vw, 1.125rem);
}

.table th {
    background: var(--color-lpink02);
    width: 27%;
    font-weight: 400;
}


/* --------------------------------
 * requirements
 * -------------------------------- */
.company {
    background: var(--color-lgray);
}

.company .table th {
    background: #dfdfdf;
}


/* --------------------------------
 * greeting
 * -------------------------------- */
.greeting {
    background-color: #b5e9ff;
    background-image: linear-gradient(180deg, #dbd0f7 0%, #fad9eb 100%);
}

.cp_box *, .cp_box *:before, .cp_box *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.cp_box {
    position: relative;
    background: var(--color-white);
    padding: 30px;
}

.cp_box label {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;
    /* グラデーションの高さ */
    cursor: pointer;
    text-align: center;
    /* 以下グラデーションは背景を自身のサイトに合わせて設定してください */
    background: var(--color-white);
}

.cp_box input:checked+label {
    background: inherit;
    /* 開いた時にグラデーションを消す */
}

.cp_box label:after {
    position: absolute;
    z-index: 2;
    bottom: 28px;
    left: 50%;
    width: 60%;
    padding: 14px;
    content: '続きを読む ＋';
    transform: translate(-50%, 0);
    letter-spacing: 0.05em;
    color: #ffffff;
    background-color: var(--color-pink);
}

.cp_box input {
    display: none;
}

.cp_box .cp_container {
    overflow: hidden;
    height: 360px;
    /* 開く前に見えている部分の高さ */
    transition: all 0.5s;
}

.cp_box input:checked+label {
    /* display: none ; 閉じるボタンを消す場合解放 */
}

.cp_box input:checked+label:after {
    font-family: FontAwesome;
    content: '閉じる －';
}

.cp_box input:checked~.cp_container {
    height: auto;
    padding-bottom: 80px;
    /* 閉じるボタンのbottomからの位置 */
    transition: all 0.5s;
}

@media (min-width: 750px) {
    .cp_box label:after {
        width: 40%;
    }

    .cp_box .cp_container {
        height: 260px;
    }
}


/* --------------------------------
 * twitter
 * -------------------------------- */
.timeline {
    max-width: 320px;
    margin: 0 auto;
}

@media (min-width: 750px) {
    .timeline {
        max-width: 500px;
        margin: 0 auto;
    }
}


/* --------------------------------
 * faq
 * -------------------------------- */
.faq {
    background: #fff0f7;
}

.faq__item+.faq__item {
    margin-top: 28px;
}

.faq__title {
    background: var(--color-white);
    padding: 8px 12px;
    line-height: var(--lineHeight01);
    font-family: 'Noto Serif JP', sans-serif;
}

.ico_q {
    color: var(--color-pink);
    font-size: 20px;
    font-size: clamp(1.25rem, 1.09rem + 0.34vw, 1.5rem);
    margin-right: 8px;
}

.q_txt {
    font-size: 18px;
    font-size: clamp(1.125rem, 0.965rem + 0.34vw, 1.375rem);
    flex: 1;
}

.faq__text {
    margin-top: 12px;
}


/* --------------------------------
 * footer
 * -------------------------------- */
.footer {
    background: var(--color-lgray);
    text-align: center;
}

.footer .l-inner {
    padding: 30px 0;
    text-align: center;
}

.footer__text {
    font-size: 11px;
    font-size: clamp(0.688rem, 0.527rem + 0.34vw, 0.938rem);
}

.footer__logo {
    max-width: 130px;
    margin: 15px auto 5px;
}

.footer__copyright {
    font-size: 9px;
    font-size: clamp(0.563rem, 0.442rem + 0.26vw, 0.75rem);
}


/* --------------------------------
 * fix_btns
 * -------------------------------- */
#button_set_bottom {
    display: none;
    position: fixed;
    background: var(--color-white);
    width: 100%;
    bottom: 0;
    z-index: 9999;
    padding: 4px 20px 15px;
}

.match__list {text-align: left;}



.m-dot-3 {
    background-color: #fde5ee;
}
.br_sp {
    display: none
}
.br_pc {
    display: block
}

@media (max-width: 768px) {
.br_sp {
    display: block
}
.br_pc {
    display: none
}
}
.achievements-list--item {
    float: left;
    width: 48%;
    margin: 5px 0;
}

@media (max-width: 768px) {
.achievements-list--item {
    float: left;
    width: 100%;
}

}
    .ttl_st {
    font-size: clamp(1rem, 1rem + 0.34vw, 1.75rem);
    font-weight: 700;
    color: #fff;
    text-align: center;
    line-height: 1.2;
    background: #FB60A6;
    padding: 10px;
    margin-bottom: 15px;
}

              
              /*メディア情報スライダー*/
.mainvisual {padding-bottom: 2px;}
.swiper {
    width: 100%;
    max-width: 800px;
    height: auto;
    margin: 0 auto;
    padding:0px 0 40px;
}
@media (max-width: 768px) {
.swiper { padding:10px 0 40px;}
}

.swiper-card{
    width: 100%;
    height: 100%;
    padding:0;
    text-align: center;
}

.swiper-card_img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: fill;
}
.swiper-button-next::after,
.swiper-button-prev::after{
    color: #F4659E;
    position: relative;    
    content: '＞';
  display: inline-block;
  width: 50px;
  height: 50px;
 background-image: url(../img/face.png);
  background-size: contain;
  /* vertical-align: middle;*/
  font-size: 25px;
    font-weight: bold;
}
        
.swiper-button-prev::after{
    content: '＜';
}

/* ページネーション現在地の色 */
.swiper-pagination-bullet-active{
    background-color: #F4659E;
}
.swiper-slide img {
  transition: 0.3s;
  opacity: 0.4;
}
.swiper-slide-active img {
  opacity: 1;
}

.open, .close {
	display: block;
	font-weight: bold;
	margin: 20px auto 20px;
	padding: 12px 0;
	text-align: center;
	width: 88%;
	color: #fff;
background-color: #0095F6;
	text-decoration: none;
}
.close {
	display: none !important;
}