@charset "utf-8";

/* footer */
/* サイトトップだけリンク2つなので上書き */
footer > section > ul {
    grid-template-columns: repeat(2, auto);
}

@media screen and (max-width: 767px) {
    footer > section > ul {
        grid-template-columns: repeat(1, auto);
    }
}

/* main */
main > div {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

@media screen and (max-width: 1024px) {
    main > div {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 767px) {
    main > div {
        grid-template-columns: repeat(1, 1fr);
    }
}

main section > h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(2em * 1.4 + 12px);
}

@media screen and (min-width: 1240px) {
    main section > h3 {
        height: auto
    }

    main section > h3 > br {
        display: none;
    }
}

@media screen and (max-width: 1024px) {
    main section > h3 {
        height: auto
    }

    main section > h3 > br {
        display: none;
    }
}

/* ライセンスビジネス */
main > section.about > div {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

@media screen and (max-width: 767px) {
    main > section.about > div {
        grid-template-columns: 1fr;
    }
}

main > section.about h3 {
    margin-bottom: 12px;
    padding-left: 10px;
    line-height: 28px;
    font-size: 18px;
    font-weight: bold;
    border-left: 4px solid #E60012;
}

main > section.about figure {
    width: 100%;
    max-width: 500px;
    aspect-ratio: 5 / 2;
    overflow: hidden;
    background-color: #EEEEEE;
}

@media screen and (max-width: 767px) {
    main > section.about > div > * {
        margin: 0 auto;
    }
}

@media screen and (max-width: 767px) {
    main > section.about > div > * {
        width: 100%;
    }
}

/* キャラ紹介 */
main .character > section {
    display: flex;
    flex-direction: column;
    padding: 36px 20px;
}

main .character > section > div {
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    padding: 30px 10px 0 10px;
}

main .character > section figure {
    margin: 0 auto;
    margin-bottom: 20px;
    width: 90%;
    overflow: hidden;
}

main .character > section figure > img {
    object-fit: contain;
    aspect-ratio: 4 / 3;
}

main .character > section > div > p {
    flex-grow: 1;
    margin-bottom: 0;
}

main .character > section dl {
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 10px;
    margin-top: 20px;
    padding: 10px;
    background-color: #FFEECE;
    border-radius: 5px;
}

main .character > section .link_wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

main .character > section .link_wrapper a {
    margin-top: 1em;
    width: 100%;
}

main .character > section .link_wrapper a[disabled] {
    display: none;
}

main .character > section .link_wrapper a:nth-child(2) {
    display: block;
}

main .character > section:nth-child(8) .link_wrapper a[disabled]:first-child,
main .character > section:nth-child(9) .link_wrapper a[disabled]:first-child {
    display: block;
}

@media screen and (max-width: 1024px) {
    main .character > section:nth-child(9) .link_wrapper a[disabled]:first-child {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    main .character > section:nth-child(8) .link_wrapper a[disabled]:first-child {
        display: none;
    }
}

main .character > section .link_wrapper a:first-child {
    margin-top: 20px;
}

main .character > section > p {
    margin-top: 10px;
    font-size: 14px;
    text-align: center;
}
