@charset "utf-8";

@font-face {
    font-family: midashi;
    src: url('http://www.odoru-akita.org/fonts/MPLUS1-VariableFont_wght.ttf');
}

header#masthead {
    background: white;
}

a:link, a:visited, a:hover, a:active {
    color: #333;
}

.top-image-container {
    padding-top: 120px;
}

.top-image-container > img {
    display: block;
    margin: auto;
    width: 100%;
    height: inherit;
}



.topimage {
background:url(http://143.125.253.214/app-def/S-102/wp/wp-content/uploads/2022/05/main.png) no-repeat center top/130% auto;
}
h2 {
color: gold;
border-bottom: none;
}
h2 > span {
display: block;
text-align: center;
line-height: 1.3;
}
h2 > span:nth-child(1) {
font-size: 2rem;
}
h2 > span:nth-child(2) {
font-size: 3rem;
}
h2 > span:nth-child(3) {
font-size: 9rem;
}
.read2022 {
padding-top: 5rem;
color: gold;
font-size: 1.3rem;
line-height:2.1;
}
small {
font-size : 1rem;
}
h3 {
text-align: center;
font-size: 3rem;
color: #fff;
}
figcaption {
color: #fff;
}
figure {
/* border: 1px solid gold; */
padding-bottom: 1rem;
}
.pic-table {
max-width: 100%;
margin: auto;
display: flex;
justify-content: space-around;
flex-wrap: wrap;
}
.pic-table img:nth-of-type(5) {
flex-grow:2;
}
.two-columns {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 2rem auto;
}
.two-columns > div {
width: 45%;
}
.two-columns.ex > div.status, .two-columns.ex > div.status2, .two-columns.ex > div.status3 {
color: white;
width: 680px;
padding: 0 1rem;
}
.two-columns.ex > div.status3 {
color: #333;
}

.ex h4 {
font-size: 1.5rem;
padding-bottom: 1rem;
}
.ex h4 span {
display: block;
font-size:1rem;
}
.two-columns.ex > figure > img {
border: 2px solid  #fff;
}

/* ================================================================================= */

.top-video {
width:100%;
height:inherit;
}
h2 {
/* width: 100%; */
font-family: midashi;
/* font-weight: 200; */
}
.big, .big2 {
display: inline-block;
margin-left: -1.5rem;
/*font-family: Meiryo, HiraginoSans-W3, sans-serif;*/
font-weight:600;
letter-spacing: -0.08rem;
font-size: 3rem;
}
.big2 {
font-size:2.2rem;
}
p {
line-height: 1.8;
/* margin-top: 2rem; */
}
.flex-container.ex > * {
width: 480px;
height: inherit;
margin-bottom: 20px;
}
.flex-container.ex video {
width: 480px;
height: inherit;
}
.narrow {
margin-bottom: -2rem;
}
ol li {
list-style:decimal;
}
.num-list {
padding-left: 1.5rem;
}
.entry_btn {
    display: inline-block;
    padding: 0.7em 2em;
    margin: 1em;
    background: #e83929;
    border-radius: 35px/50%;
    line-height: 1.2;
}
.entry_btn > b {
    display: inline-block;
    padding: 0 0 0.3em 0;
    margin-bottom: 0.3em;
    border-bottom: 1px solid #fdeff2;
color: #fff;
}
.entry_btn > span {
    font-size: 0.8em;
    display: block;
text-align: center;
color: #fff;
}
.twoXtwo {
max-width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.twoXtwo > figure {
position: relative;
overflow: hidden;
}
.twoXtwo figcaption {
position: absolute;
top: 0;
let: 0;
color: gold;
padding: 1rem 0.5rem;
font-size: 1.8rem;
font-weight: bold;
line-height: 1.3;
text-align: left;
}
.outline-char-w {
text-shadow: 2px 2px 1px #fff, -2px -2px 1px #fff, 2px 0 0 #fff, -2px 0 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff, 2px -2px 1px #fff, -2px 2px 1px #fff;
}

/* ======================================================================= */


body, header#masthead {background: #212121;}
a:link, a:visited, a:hover, a:active {color: #fff;}


/* ================================================ */

.h1_202210 {
    width: 100%;
    background: #CA0C3A;
    line-height: 150px;
    text-align: center;
    margin-top: 120px;
    /* 以下、上下中心の設定 */
    display: flex;
    justify-content: center;
    align-items: center;
}

.title {
    text-align: center;
}


/**=========================================
	暫定: インデックス 20230317追加
*/

.p-ex {
    padding-left: 1em;
}

.p-ex > b {
    margin-left: -1em;
}

/** ===== 画像コラム部分 ===== **/
.pic_column_l_container, .pic_column_s_container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
    margin: 30px 0 0;
}

.pic_column_s_container {
    width: 1000px;
    flex-wrap: wrap;
    margin-bottom: 5em;
}

.pic_column_l {
    width: 313px;
    height: 430px;
    position: relative;
    overflow: hidden;
    border: 1px solid #444;
}

.pic_column_s {
    width: 227px;
    height: 226px;
    position: relative;
    overflow: hidden;
    border: 1px solid #444;
}

.pic_column_s.ex {
    line-height: 1.3;
    background: #33304e;
    /*  */
    display: flex;
    justify-content: center;
    align-items: center;
}

.pic_column_l_title, .pic_column_s_title {
    background-color: rgba(51, 51, 59, 1);
    height: 60px;
    color: white;
    font-size: 1em;
    text-align: center;
    line-height: 60px;
}

.pic_column_s_title {
    font-size: 0.9em;
    height: 35px;
    line-height: 35px;
}

.img_frame_l,
.img_frame_l > img {
    width: auto;
    height: 370px;
}

.img_frame_s,
.img_frame_s > img {
    width: 227px;
    height: 192px;
}

.pic_column_l_misc, .pic_column_s_misc {
    position: relative;
    margin-top: -60px;
    height: 60px;
    background-color: rgba(0, 0, 0, 0.5);
    font-size: 1em;
    font-weight: bold;
    color: white;
    text-align: center;
    line-height: 60px;
    /* z-index: 1000; */
}

.pic_column_s_misc {
    height: 80px;
    margin-top: -80px;
    line-height: 1.3;
    /*  */
    display: flex;
    justify-content: center;
    align-items: center;
}

.breadcrumbs {
    width: 100%;
    padding: 5px 10px;
    margin-bottom: 2em;
    font-size: 0.75rem;
    text-align: left;
    color: #333;
    background: #C1B599;
}

.breadcrumbs > a, a.home {
    color: #333;
}

.breadcrumbs > div {
    max-width: 1080px;
    margin: auto;
}

/* フォーム */
.form-innercontents {
    max-width: 900px;
    margin: 2em auto;
}


.form button,
.form input,
.form textarea {
    padding: 8px;
    background: #ccc;
    border: 1px solid #CBC9C9;
    /* -webkit-appearance: none; */
    border-radius: 3px;
    font-size: 1rem;
}
button:focus, input:focus, textarea:focus {
    border: 1px solid rgba(211,47,141,1);
}

.form {
    width: 100%;
    margin: 30px 0;
}

.form th {
    position: relative;
    width: 35%;
    padding: 15px 20px;
    text-align: left;
    vertical-align: top;
    color: #FFFFFF;
    background: #27272E;
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
}
.form th span {
    color: rgba(211,47,141,1);
    /* float: right; */
    /* padding: 0 10px; */
    /* position: absolute;
    right: 15px;
    bottom: calc(50% - 0.857rem); */
    padding-left: 1em;
    display: inline-block;
    font-size: 0.875rem;
}
.form td {
    text-align: left;
    padding: 15px 20px;
    padding: 15px;
    background: #33333B;
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
}
.form td span.note {
    display: block;
    padding-top: 5px;
    font-size: 0.875rem;
}

.form td span.note {
    display:none;
}

.form select {
    height: 35px;
    font-size: 1rem;
    padding: 5px 5px;
    border: none;
    box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    background: #FFFFFF;
}

.form .mwform-checkbox-field input {
    margin-right: 10px;
}

/* ラジオボタン */
.form .mwform-radio-field label>*:first-child {
    width: fit-content;
}

.btn {
    text-align: center;
}


.btn input {
    position: relative;
    display: inline-block;
    margin: 20px 50px 50px 50px;
    padding: 20px 50px;
    font-size: 1.125rem;
    color: #FFFFFF;
    cursor: pointer;
    background: rgba(211,47,141,1);
    border: none;
    transition: all .25s ease-out;
    margin: auto;
}



/* ==================================================== */
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
    アーカイブ */

/* 文字部分 */
.h3-archive {
    font-size: 1.8em;
    color: gold;
    border-bottom: 3px solid #111;
    margin: 2em 0 1em;
}

.h4-archive {
    font-size: 1.3em;
    font-weight: 200;
    text-align: center;
    padding: 1.5em 0 0.5em;
}

.misc-archive {
    /* aaaaaaaaaaaaaa */
}

/* テーブル表現 */
.sche_box {
    width: 100%;
    display: flex;
    /* align-items: flex-start; */
    margin-bottom: 3px;
    gap: 20px;
}

.sche_box > div {
    padding: 1em;
    width: 200px;
    background: #444;
}

.sche_box > div:last-child {
    width: calc(100% - 150px);
    padding-left: 0;
    background: transparent;
}

.sche_box > .photo_left2 {
    width: max-content;
    position: relative;
}

.photo_left2 > img {
    display: block;
}

.sche_box p {
    margin: 0;
    padding: 0;
}

.sche_box > p {
    flex-grow: 2;
}

/* 囲み */
.guest_box {
    padding: 1.2em;
    padding-bottom: 0;
    height: fit-content;
    border: 2px solid #888;
}

.guest_box > p:last-child {
    margin-bottom: 0;
}

.guest_box > a:link {
    color: skyblue;
}

.guest_box>a:hover {
    text-decoration: underline;
}

/* 画像 */
.img-archive {
    width: 100%;
    height: auto;
}

/* 画像の羅列 */
.flex_between {
    width: 100%;
    display: flex;
    gap: 20px;
    margin-top: 1em;
    /* flex-wrap: wrap; */
    /* justify-content: space-between; */
}

.flex_between > li {
    flex-grow: 1;
    position: relative;
    overflow: hidden;
    text-align: center;
}

.flex_between > li img {
    display: block;
    width: 100%;
    height: auto;
}

.flex_between div {
    padding-top: 0.5em;
}

.flex_between .empty {
    display: none;
}

.heading, .flex_between p {
    padding: 0.5em;
    text-align: center;
    background: #555;
    font-size: 1.2em;
    font-weight: bold;
}

.flex_between p {
    font-size: 1em;
    font-weight: inherit;
    background: black;
}

.flex_between.director-award {
    flex-wrap: wrap;
}

.flex_between.director-award > li {
    width: 25%;
}

/* 見出しとか */
.subtitle {
    display: block;
    width: max-content;
    font-size: 1.125rem;
    color: #92B8F4;
    margin-top: 1em;
    margin-bottom: 20px;
    padding: 0 200px 5px 20px;
    border-bottom: 2px dotted #2B5CAA;
    border-left: 10px solid #2B5CAA;
}

.headline-archive {
    font-size: 1.125rem;
    font-weight: bold;
    margin-bottom: 20px;
    padding: 10px 20px;
    background: #CA0C3A;
}

.profile-archive {
    width: 250px;
    height: fit-content;
}

.name {
    font-size: 1.5em;
    font-weight: bold;
    padding: 0.5em 0 1em;
}

.fig-comment-archive {
    padding: 1em 0 0;
    text-align: center;
}

.group dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.group dt {
    padding: 0 1em 0.5em 0;
    width: fit-content;
}

.group dd {
    width: 90%;
}

.flex-josei {
    width: fit-content;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    margin: 2em auto 3em;
}

/* .flex-josei > * {
    align-self: center;
} */

.flex-josei > *:first-of-type {
    font-size: 1em;
    height: fit-content;
    font-weight: bold;
    padding: 0 0 5px;
}

.flex-josei > *:last-of-type {
    font-size: 0.8em;
    font-weight: normal;
}

.flex-josei img {
    /* width: fit-content; */
    height: fit-content;
    margin:0 1em 0 0.5em;
}

/* .group dd::before {
    content:"\A";
    white-space: pre;
    display: block;
} */

/* 20230901追加 */
.index-h2-20230901 {
    text-align: center;
    font-size: 2.5em;
}

.index-h2-20230901 small {
    display: block;
}

/* インデックスビデオ用 */
.index-video-column {
    margin-bottom: 2em;
}

.index-h3 {
    text-align: left;
    font-size: 1em;
    padding: 0 0 0 0.8em;
    margin-bottom: 0.5em;
    border-left: 5px solid gold;
}

.index-video-container {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
}

.index-video-container iframe, .index-video-container video, .index-video-container img {
    width: 100%;
    height: 100%;
}

.index-video-container p {
    /* position: absolute; */
    width: 100%;
    position: absolute;
    text-align: center;
    bottom: 10px;
    left: 0;
    padding: 5px;
    background: rgba(255, 255, 255, 0.6);
    color: #333;
}


/**
 * 2024：アーカイブ追加設定
 */
.h2_2024 {
    font-size: 2.5em;
    text-align: center;
}

.h3_2024 {
    font-size: 1.7em;
    color: gold;
    border-bottom: 2px solid gold;
    text-align: left;
    margin-bottom: 1em;
}

.img-big {
    display: block;
    width: 100%;
    margin-bottom: 1em;
}

.img-profile {
    width: 100px;
    height: auto;
    border: 2px solid #fff;
    object-fit: contain;
}

.co-flex {
    width: inherit;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.flex-picture {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.img-big-picture {
    position: absolute;
    top: 0;
    right: 0;
}

.img-big-picture img {
    width: 300px;
    height: auto;
    display: block;
}

.img-big-picture2 img {
    width: 225px;
    height: auto;
    display: block;
    border: 2px solid #fff;
} 

.enclose2024 {
    padding: 1em 1.25em 0.5em;
    background: #404040;
    position: relative;
    overflow: hidden;
}

.four-columns2024 {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.four-columns2024 > * {
    width: 24%;
}

.two-columns2024 {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.two-columns2024.ex {
    width: 70%;
    margin: 0 auto 1em;
}


.two-columns2024 > * {
    flex-basis: 50%;
}

.two-columns2024 img {
    display: block;
    width: 100%;
    height: inherit;
}

.spec2024 {
    padding: 1em;
    background: #555;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.2em;
}

.three_columns_flex, .three_columns_flex.pluse {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
}

.three_columns_flex > * {
    width: calc(100% / 3);
}


.three_columns_flex.pluse > * {
    width: calc(100% / 4);
}

 


@media screen and (max-width:768px) {
    .h3-archive {
        font-size: 1.2em;
    }

    /* テーブル表現 */
    .sche_box {
        flex-direction: column;
        gap: 0;
        margin-bottom: 0;
    }

    .sche_box > div {
        width: 100%;
    }

    .sche_box > div:last-child {
        width: 100%;
        padding: 1em;
    }

    .sche_box > .photo_left2 {
        width: 100%;
    }

    .sche_box > img {
        width: 100%;
        height: auto;
    }

    .video_wrapper {
        width: 100%;
    }

    video {
        width: 100%;
        height: max-content;
    }

    .photo_left2 {
        width: 100%;
        height: max-content;
        margin-bottom: 1em;
    }

    .photo_left2 > img {
        width: 100%;
        height: max-content;
    }

    /*  */
    .flex_between {
        flex-direction: column;
    }

    .flex_between.director-award>li {
        width: 100%;
    }

    /** */

        .flex-josei {
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: self-start;
            margin-top: 0;
            margin-bottom: 1em;
        }
    
        .flex-josei > *:first-child {
            width: max-content;
            height: fit-content;
            padding: 0 0 0;
        }

        .flex-josei img {
            margin: 0.5em 0;
        }
}

/** ================================================
 *
 *
 *
*/

@media screen and (max-width:768px) {
    .top-image-container {
        padding-top: 70px;
    }

    header#masthead {
        /* background: red; */
        position: fixed;
    }

    #rwdMenuWrap #switchBtnArea #switchBtn span {
        background: #999;
    }

    .pic-table,
    .two-columns {
        flex-direction: column;
    }

    .pic-table>* {
        text-align: center;
        margin: auto;
    }

    .two-columns>div {
        width: 90%;
        padding: 0 1rem;
    }

    .two-columns.ex:nth-of-type(1),
    .two-columns.ex:nth-of-type(3) {
        flex-direction: column-reverse;
    }

    .two-columns.ex>figure {
        text-align: center;
    }

    h3 {
        font-size: 2em;
    }

    .two-columns {
        flex-direction: columns;
    }

    .two-columns.ex>div,
    .two-columns.ex>*,
    .two-columns.ex>.status2 {
        width: 100%;
    }

    figure {
        margin: 1.5em 0 0;
    }

    .sp-none {
        display: none;
    }

    .columns.whats-list {
        display: block;
    }

    .whats-new time {
        display: inline-block;
    }

    #page .spnone {
        display: none;
    }

    .sp-img {
        width: 100%;
        height: inherit;
    }

    .h1_202210 {
        line-height: 1.5;
        font-size: 1.2em;
        padding: 5em 2em 2em;
        margin-top: 0;
    }

    .form-innercontents {
        padding: 2em 0;
        margin: 2em auto 0;
    }

    .form th,
    .form td {
        position: relative;
        display: block;
        width: 100%;
    }

    .form input, .form select, .form textarea {
        width: 100%;
    }

    .btn input {
        display: block;
        margin: 10px auto 10px;
    }

    /** ===== 画像コラム部分 ===== **/
    .pic_column_l_container,
    .pic_column_s_container {
        width: 100%;
        flex-direction: column;
    }

    .pic_column_l, .pic_column_s {
        width: 100%;
        height: auto;
    }

    .pic_column_s.ex {
        padding: 2em 0;
    }

    .img_frame_l,
    .img_frame_l > img,
    .img_frame_s,
    .img_frame_s > img {
        width: 100%;
        height: auto;
    }

    /* ラジオボタン */
    .form .mwform-radio-field label > *:first-child {
        width: fit-content;
    }

    .form td.radio-container .mwform-radio-field-text {
        /* font-size: 0.8em; */
        display: inline-block;
    }

    /* ２０２３０９０１追加：インデックス用 */
    .index-h2-20230901 {
        /* text-align: center; */
        font-size: 1.2em;
    }

    .index-video-container p {
        font-size: 0.7em;
    }

/**
 * 2024：アーカイブ追加設定
 */
    .co-flex {
        flex-direction: column;
    }

    .flex-picture {
        flex-direction: column;
    }

    .img-big-picture {
        position: relative;
    }
    
    .img-big-picture img {
        width: 300px;
        height: auto;
        display: block;
        margin: auto;
    }

    .img-big-picture2 img {
        margin: auto;
    }

    .four-columns2024 {
        gap: 3px;
    }

    .two-columns2024 {
        flex-direction: column;
    }
    
    .two-columns2024 > * {
        flex-basis: 100%;
    }
}