@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap";
@import "https://fonts.googleapis.com/css2?family=Arsenal:ital,wght@1,700&display=swap";
section.toc {
    padding-top: calc(40 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.toc {
        padding-top: calc(70 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    section.toc .common-inner {
        max-width: calc(1120 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    section.toc .btn-wrap:last-of-type {
        margin-left: calc(-25 / 1440 * 100vw);
    }
}
section.about {
    padding-top: calc(60 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.about {
        padding-top: calc(150 / 1440 * 100vw);
    }
}
section.about:last-child {
    padding-bottom: calc(100 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.about:last-child {
        padding-bottom: calc(100 / 1440 * 100vw);
    }
}
section.about .common-inner {
    margin-bottom: calc(20 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.about .common-inner {
        max-width: calc(800 / 1440 * 100vw);
    }
}
.common-inner.top-text {
    text-align: center;
    margin-top: calc(20 / 390 * 100vw);
}
@media (min-width: 768px) {
    .common-inner.top-text {
        font-size: calc(20 / 1440 * 100vw);
        margin-top: calc(20 / 1440 * 100vw);
        margin-bottom: calc(-20 / 1440 * 100vw);
    }
}
section.about .section-title {
    position: relative;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0 calc(4 / 390 * 100vw);
    margin: 0 auto;
    font-size: calc(22 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
    margin-bottom: calc(30 / 390 * 100vw);
}
section.about .section-title .marker {
    background-image: -webkit-gradient(
        linear,
        left top,
        left bottom,
        color-stop(65%, transparent),
        color-stop(65%, #3bc6f7)
    );
    background-image: -webkit-linear-gradient(transparent 65%, #3bc6f7 65%);
    background-image: linear-gradient(transparent 65%, #3bc6f7 65%);
}
@media (min-width: 768px) {
    section.about .section-title {
        padding: 0 calc(4 / 1440 * 100vw);
        font-size: calc(36 / 1440 * 100vw);
        margin-bottom: calc(40 / 1440 * 100vw);
    }
    section.about .section-title .marker {
        background-image: -webkit-gradient(
            linear,
            left top,
            left bottom,
            color-stop(65%, transparent),
            color-stop(65%, #3bc6f7)
        );
        background-image: -webkit-linear-gradient(transparent 65%, #3bc6f7 65%);
        background-image: linear-gradient(transparent 65%, #3bc6f7 65%);
    }
}
section.about .section-1-gif {
    width: calc(300 / 1440 * 100vw);
}
section.about .section-image {
    display: block;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: calc(20 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.about .section-image {
        max-width: calc(640 / 1440 * 100vw);
        margin-bottom: calc(40 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    section.about .column-image {
        margin-top: calc(40 / 1440 * 100vw);
    }
}
section.about h3 {
    text-align: center;
    font-weight: bold;
    font-size: calc(18 / 390 * 100vw);
    margin-top: calc(20 / 390 * 100vw);
    margin-bottom: calc(20 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.about h3 {
        font-size: calc(24 / 1440 * 100vw);
        margin-top: calc(20 / 1440 * 100vw);
        margin-bottom: calc(20 / 1440 * 100vw);
    }
}
section.about .strong {
    font-weight: bold;
    color: #00367d;
}

.about section.column .carousel .columns .column .content .title,
.about section.column .carousel .columns .column .content .summary,
.about section.news .news-list .news .title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.about section.news .news-list .news .title {
    -webkit-line-clamp: 1;
}
.about section.column .carousel .columns .column .content .title,
.about section.column .carousel .columns .column .content .summary {
    -webkit-line-clamp: 2;
}
.about section.pet .section-title,
.about section.column .section-title,
.about section.news .section-title,
.about section.productions .trial .section-title-trial,
.about section.productions .section-title {
    font-size: calc(28 / 390 * 100vw);
    font-weight: bold;
    text-align: center;
}
@media (min-width: 768px) {
    .about section.pet .section-title,
    .about section.column .section-title,
    .about section.news .section-title,
    .about section.productions .trial .section-title-trial,
    .about section.productions .section-title {
        font-size: calc(36 / 1440 * 100vw);
    }
}
.about main {
    position: relative;
}
.scroll-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 111;
    width: 50px;
    height: 50px;
    aspect-ratio: 1/1;
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.75);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    border-radius: 50%;
    -webkit-box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
    .scroll-top {
        width: 40px;
        height: 40px;
        bottom: 16px;
        right: 16px;
    }
}
.scroll-top::before {
    position: absolute;
    inset: 0;
    margin: auto;
    display: inline-block;
    width: 20px;
    aspect-ratio: 10/6;
    content: "";
    background-image: url("/sakanano/new-img/footer/arrow-top-icon.svg");
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    .scroll-top::before {
        width: 16px;
    }
}
.about section.key {
    position: relative;
}
.about section.key .key-top {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}
.about section.key .key-top .picture {
    width: 33.3333333333%;
    aspect-ratio: 130/210;
}
@media (min-width: 768px) {
    .about section.key .key-top .picture {
        aspect-ratio: 480/325;
    }
}
.about section.key .key-top .picture img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
.about section.key .about-link {
    position: absolute;
    bottom: 0;
    left: 50.5%;
    width: calc(320 / 390 * 100vw);
    -webkit-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
}
@media (min-width: 768px) {
    .about section.key .about-link {
        width: calc(640 / 1440 * 100vw);
        left: calc(542 / 1440 * 100vw);
    }
}
.about section.key .key-bottom {
    position: relative;
    padding: calc(30 / 390 * 100vw) calc(30 / 390 * 100vw) calc(40 / 390 * 100vw);
    background-color: #00367d;
}
@media (min-width: 768px) {
    .about section.key .key-bottom {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 0 calc(80 / 1440 * 100vw) calc(30 / 1440 * 100vw) calc(100 / 1440 * 100vw);
    }
}
.about section.key .key-bottom .section-title {
    width: 100%;
    margin-top: calc(-60 / 390 * 100vw);
}
@media (min-width: 768px) {
    .about section.key .key-bottom .section-title {
        width: calc(700 / 1440 * 100vw);
        margin-top: calc(-100 / 1440 * 100vw);
    }
}
.about section.key .key-bottom .productions {
    position: relative;
    width: 100%;
    margin-top: calc(30 / 390 * 100vw);
}
@media (min-width: 768px) {
    .about section.key .key-bottom .productions {
        width: calc(420 / 1440 * 100vw);
        margin-top: calc(-20 / 1440 * 100vw);
    }
}
.about section.key .key-bottom .productions .btn-round {
    position: absolute;
    top: calc(-13 / 390 * 100vw);
    right: 0;
}
@media (min-width: 768px) {
    .about section.key .key-bottom .productions .btn-round {
        top: calc(50 / 1440 * 100vw);
        right: unset;
        left: calc(-115 / 1440 * 100vw);
    }
}
.about section.key .key-bottom .productions .btn-round .link {
    display: inline;
    padding: 10px;
    font-size: calc(14 / 390 * 100vw);
    font-weight: 700;
    color: #00367d;
    background-color: #fff;
    border-radius: calc(18 / 390 * 100vw);
    -webkit-box-shadow: 0 0 calc(12 / 390 * 100vw) 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0 0 calc(12 / 390 * 100vw) 0 rgba(0, 0, 0, 0.25);
}
@media (min-width: 768px) {
    .about section.key .key-bottom .productions .btn-round .link {
        padding: calc(15 / 1440 * 100vw) calc(18 / 1440 * 100vw);
        font-size: calc(16 / 1440 * 100vw);
        border-radius: calc(25 / 1440 * 100vw);
        -webkit-box-shadow: 0 0 calc(12 / 1440 * 100vw) 0 rgba(0, 0, 0, 0.25);
        box-shadow: 0 0 calc(12 / 1440 * 100vw) 0 rgba(0, 0, 0, 0.25);
    }
}
.about section.key .key-bottom .btn-square {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: calc(220 / 390 * 100vw);
    margin: calc(15 / 390 * 100vw) auto 0;
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
}
@media (min-width: 768px) {
    .about section.key .key-bottom .btn-square {
        width: calc(360 / 1440 * 100vw);
        margin: 0 auto;
    }
}
.about section.key .key-bottom .btn-square .link {
    position: relative;
    padding: calc(17 / 390 * 100vw) calc(25 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
    font-weight: bold;
    color: #00367d;
    background-color: #fff;
    border-radius: calc(8 / 390 * 100vw);
    -webkit-box-shadow: 0 0 calc(12 / 390 * 100vw) 0 rgba(0, 0, 0, 0.25);
    box-shadow: 0 0 calc(12 / 390 * 100vw) 0 rgba(0, 0, 0, 0.25);
}
@media (min-width: 768px) {
    .about section.key .key-bottom .btn-square .link {
        padding: calc(24 / 1440 * 100vw) calc(46 / 1440 * 100vw);
        font-size: calc(24 / 1440 * 100vw);
        border-radius: calc(12 / 1440 * 100vw);
        -webkit-box-shadow: 0 0 calc(20 / 1440 * 100vw) 0 rgba(0, 0, 0, 0.25);
        box-shadow: 0 0 calc(20 / 1440 * 100vw) 0 rgba(0, 0, 0, 0.25);
    }
}
.about section.key .key-bottom .btn-square .link::after {
    position: absolute;
    top: 50%;
    right: calc(25 / 390 * 100vw);
    aspect-ratio: 8/10;
    content: "";
    border-top: calc(5 / 390 * 100vw) solid rgba(0, 0, 0, 0);
    border-bottom: calc(5 / 390 * 100vw) solid rgba(0, 0, 0, 0);
    border-left: calc(8 / 390 * 100vw) solid #00367d;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
@media (min-width: 768px) {
    .about section.key .key-bottom .btn-square .link::after {
        right: calc(46 / 1440 * 100vw);
        border-top: calc(9 / 1440 * 100vw) solid rgba(0, 0, 0, 0);
        border-bottom: calc(9 / 1440 * 100vw) solid rgba(0, 0, 0, 0);
        border-left: calc(15 / 1440 * 100vw) solid #00367d;
    }
}
.about section.key .key-bottom .btn-square .link:hover {
    color: #fff;
    background-color: #0062e0;
    opacity: 1;
}
.about section.key .key-bottom .btn-square .link:hover::after {
    border-left: calc(8 / 1440 * 100vw) solid #fff;
}
@media (min-width: 768px) {
    .about section.key .key-bottom .btn-square .link:hover::after {
        border-left: calc(15 / 1440 * 100vw) solid #fff;
    }
}
.about section.key .key-bottom .btn-square .link span {
    font-size: calc(14 / 390 * 100vw);
}
@media (min-width: 768px) {
    .about section.key .key-bottom .btn-square .link span {
        font-size: calc(24 / 1440 * 100vw);
    }
}
.about section.productions {
    padding: calc(57 / 390 * 100vw) 0 calc(80 / 390 * 100vw);
}
@media (min-width: 768px) {
    .about section.productions {
        padding: calc(100 / 1440 * 100vw) 0 calc(160 / 1440 * 100vw);
    }
}
.about section.productions .section-title-copy {
    font-size: calc(18 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.3;
    text-align: center;
}
@media (min-width: 768px) {
    .about section.productions .section-title-copy {
        font-size: calc(24 / 1440 * 100vw);
    }
}
.about section.productions .section-title {
    width: calc(215 / 390 * 100vw);
    margin: calc(10 / 390 * 100vw) auto 0;
    margin-top: calc(20 / 390 * 100vw);
    font-size: calc(32 / 390 * 100vw);
    line-height: 1.25;
    color: #00367d;
}
@media (min-width: 768px) {
    .about section.productions .section-title {
        width: 100%;
        margin-top: calc(20 / 1440 * 100vw);
        font-size: calc(60 / 1440 * 100vw);
    }
}
.about section.productions .productions {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: calc(24 / 390 * 100vw);
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: calc(40 / 390 * 100vw);
}
@media (min-width: 768px) {
    .about section.productions .productions {
        gap: calc(80 / 1440 * 100vw);
        margin-top: calc(40 / 1440 * 100vw);
    }
}
.about section.productions .productions .production {
    width: calc(90 / 390 * 100vw);
    text-align: center;
}
@media (min-width: 768px) {
    .about section.productions .productions .production {
        width: calc(140 / 1440 * 100vw);
    }
}
.about section.productions .productions .production .img-wrap {
    width: calc(70 / 390 * 100vw);
    margin: 0 auto;
}
@media (min-width: 768px) {
    .about section.productions .productions .production .img-wrap {
        width: auto;
        height: calc(240 / 1440 * 100vw);
    }
}
.about section.productions .productions .production .img-wrap img {
    width: auto;
}
.about section.productions .productions .production .name {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: calc(10 / 390 * 100vw);
    font-size: calc(18 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.3;
    color: #00367d;
    text-align: center;
}
@media (min-width: 768px) {
    .about section.productions .productions .production .name {
        margin-top: calc(20 / 1440 * 100vw);
        font-size: calc(24 / 1440 * 100vw);
    }
}
.about section.productions .productions .production .name .small {
    font-size: calc(16 / 390 * 100vw);
}
@media (min-width: 768px) {
    .about section.productions .productions .production .name .small {
        font-size: calc(20 / 1440 * 100vw);
    }
}
.about section.productions .productions .production .name .underline {
    border-bottom: 1px solid #00367d;
}
.about section.productions .productions .production .description {
    margin-top: calc(10 / 390 * 100vw);
    font-size: calc(12 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
}
@media (min-width: 768px) {
    .about section.productions .productions .production .description {
        margin-top: calc(20 / 1440 * 100vw);
        font-size: calc(14 / 1440 * 100vw);
    }
}
.about section.productions .productions .production .description .emphasis {
    font-size: calc(14 / 390 * 100vw);
}
@media (min-width: 768px) {
    .about section.productions .productions .production .description .emphasis {
        font-size: calc(18 / 1440 * 100vw);
    }
}
.about section.productions .productions .production.powder {
    margin-right: calc(16 / 390 * 100vw);
    margin-left: calc(5 / 390 * 100vw);
}
@media (min-width: 768px) {
    .about section.productions .productions .production.powder {
        margin: 0;
    }
}
.about section.productions .productions .production.athlete .description {
    font-size: calc(11 / 390 * 100vw);
}
@media (min-width: 768px) {
    .about section.productions .productions .production.athlete .description {
        font-size: calc(18 / 1440 * 100vw);
    }
}
.about section.productions .productions .production.emergency {
    width: calc(108 / 390 * 100vw);
}
@media (min-width: 768px) {
    .about section.productions .productions .production.emergency {
        width: calc(134 / 1440 * 100vw);
    }
}
.about section.productions .productions .production.emergency .img-wrap {
    width: calc(74 / 390 * 100vw);
}
@media (min-width: 768px) {
    .about section.productions .productions .production.emergency .img-wrap {
        width: auto;
    }
}
.about section.productions .productions .production.emergency .name {
    margin-top: calc(5 / 390 * 100vw);
}
@media (min-width: 768px) {
    .about section.productions .productions .production.emergency .name {
        margin-top: calc(20 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    .about .top-text .sp {
        display: none;
    }
}
