@charset "utf-8";

.wrapper {
    font-family: "Noto Sans JP", sans-serif;
    margin: auto;
    max-width: 1100px;
    min-width: 1000px;
    width: 100%;
}

/* パンくず */
.breadcrumbs {
    display: flex;
    gap: 0 .25em;
    list-style: none;
    margin-left: 2em;
    padding: 0;
}

.breadcrumbs-txt {
    font-size: 14px;
}

.breadcrumbs-txt a {
    color: #434343;
}

.breadcrumbs-txt.col-red {
    color: #e80404;
}

.breadcrumbs li+li::before {
    color: #434343;
    content: ">";
    margin: 0 8px;
}

/* CSS Document */
.mv-ctr {
    margin: 0 auto;
    width: 1100px;
}

.ctr-ttl {
    font-size: 24px;
    margin: 20px 0 20px 30px;
}

.tchrs {
    display: grid;
    gap: 10px 30px;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-flow: column;
    margin: 30px auto 0;
    position: relative;
    width: 1000px;
}

.tchrs::after {
    border-bottom: 1px solid #000;
    bottom: 0;
    content: "";
    position: absolute;
    width: 100%;
}

.tchr-ctr {
    display: contents;
    position: relative;
}

.tchr-ctr:nth-child(odd) .tchr-hdr,
.tchr-ctr:nth-child(odd) .tchr-content,
.tchr-ctr:nth-child(odd) .tchr-voices-wrapper {
    grid-column: 1 / 2;
}

.tchr-ctr:nth-child(even) .tchr-hdr,
.tchr-ctr:nth-child(even) .tchr-content,
.tchr-ctr:nth-child(even) .tchr-voices-wrapper {
    grid-column: 2 / 3;
}

.tchr-hdr {
    position: relative;
}

.tchr-ctr:not(:nth-child(-n+2)) .tchr-hdr::after {
    content: "";
    position: absolute;
    top: -30px;
    border-top: 1px solid #000;
    width: 1000px;
}

.tchr-ctr:not(:nth-child(-n+2)):nth-child(odd) .tchr-hdr::after {
    left: -5px;
}

.tchr-ctr:not(:nth-child(-n+2)):nth-child(even) .tchr-hdr::after {
    left: -519px;
}

.tchr-hdr {
    align-content: center;
    border-left: 5px solid #25448e;
    display: grid;
    gap: 5px 0;
    padding-left: 10px;
}

.tchr-catch {
    font-family: "Noto Serif JP", sans-serif;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}

.with-brackets {
    font-weight: 600;
    margin: 0 -.25em;
}

.tchr-catch.fmt-03,
.tchr-catch.fmt-04,
.tchr-catch.fmt-06,
.tchr-catch.fmt-07,
.tchr-catch.fmt-08,
.tchr-catch.fmt-09,
.tchr-catch.fmt-10,
.tchr-catch.fmt-11,
.tchr-catch.fmt-13,
.tchr-catch.fmt-14,
.tchr-catch.fmt-15,
.tchr-catch.fmt-17,
.tchr-catch.fmt-18 {
    font-size: 18px;
}

.tchr-name-wrapper {
    font-weight: 600;
    margin: 0;
}

.tchr-05 .tchr-name-wrapper {
    margin: 10px 0;
}

.tchr-name-position {
    font-size: 18px;
    padding-left: .25em;
}

/*
.tchr-content {
    align-self: start;
    display: grid;
    gap: 0 .5em;
    grid-template-areas:
        "photo txt"
        "movie txt";
}
*/
.tchr-content {
    display: grid;
    gap: 0 .5em;
    grid-template-areas:
        "photo txt"
        "movie txt";
    grid-template-columns: 120px 1fr;
    grid-template-rows: 120px auto;
}

.tchr-photo img {
    width: 100%;
    aspect-ratio: 1 / 1;
    /* 画像が正方形でない場合はここを実際の比率に調整 */
}

.tchr-photo {
    height: fit-content;
    margin: 0;
    vertical-align: bottom;
    width: 120px;
}

.tchr-photo img {
    width: 100%;
}

.tchr-movie {
    align-items: center;
    background-color: #164584;
    box-sizing: border-box;
    color: #fff;
    display: flex;
    height: fit-content;
    justify-content: center;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .05em;
    margin-top: 15px;
    padding: 5px;
    text-decoration: none;
    width: 120px;
}

.tchr-txt-wrapper {
    grid-area: txt;
}

.tchr-txt {
    margin: 0;
}

.tchr-txt.fmt-03,
.tchr-txt.fmt-05 {
    font-size: 18px;
    line-height: 1.6;
}

.tchr-txt.fmt-05 {
    font-size: 17px;
    line-height: 1.5;
}

.tchr-txt.fmt-09 {
    letter-spacing: -.05em;
}

.tchr-voices-wrapper {
    /* justify-content:*/
    width: 100%;
}

.tchr-voices-hdr {
    font-size: 17px;
    font-weight: 600;
    margin: 0;
}

.tchr-voices {
    display: grid;
    gap: 8px 0;
    list-style: none;
    margin: .25em 0 50px;
    padding-left: 0;
}

.sp-only {
    display: none;
}