@font-face {
    font-family: 'jes_c';
    src: url(./fonts/jes_c.ttf);
}

.txtSettings {
    font-feature-settings: "palt";
}

.cmnContents_bodyWrap img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

.cmn__index-list {
    margin: 0 auto;
    max-width: 414px;
    width: 90%;
}

@media print,
screen and (min-width: 600px) {
    .cmn__index-list {
        max-width: 1200px;
        width: 100%;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        /* Safari */
        justify-content: space-between;
        -webkit-flex-wrap: wrap;
        /* Safari */
        flex-wrap: wrap;
        -webkit-align-content: stretch;
        /* Safari */
        align-content: stretch;
    }
}

.cmn__index-list__box {
    margin-top: 30px;
    box-shadow: 0px 0px 5px 0px rgba(160, 160, 160, 0.4);
}

.flx_row {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

@media print,
screen and (min-width: 600px) {
    .cmn__index-list__box {
        margin-top: 30px;
        width: 45%;
    }
}

@media print,
screen and (min-width: 768px) {
    .cmn__index-list__box {
        margin-top: 2.5vw;
        width: 31%;
    }
}

@media print,
screen and (min-width: 1366px) {
    .cmn__index-list__box {
        margin-top: 50px;
        width: 30%;
    }
}

.cmn__index-list__box:first-child {
    margin-top: 0;
}

@media print,
screen and (min-width: 600px) {
    .cmn__index-list__box:nth-child(2) {
        margin-top: 0;
    }
}

@media print,
screen and (min-width: 768px) {
    .cmn__index-list__box:nth-child(3) {
        margin-top: 0;
    }
}

.cmn__index-list__fig-area {
    overflow: hidden;
    position: relative;
}

.cmn__index-list__fig-area .cmn__index-list__imgsize {
    position: relative;
    width: 100%;
    height: auto;
    opacity: 10;
    z-index: 1;
}

.cmn__index-list__fig-area .cmn__index-list__item-fig {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    z-index: 2;
}

.cmn__index-list__txt-area {
    position: relative;
    text-align: center;
    font-weight: 400;
    line-height: 1.4;
    text-decoration: none !important;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1em 2em 1em 1.5em;
}

.cmn__index-list__txt-area .icon-arrow-right {
    position: absolute;
    right: 5px;
    top: 50%;
    -moz-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

@media print,
screen and (min-width: 768px) {
    .cmn__index-list__txt-area .icon-arrow-right {
        font-size: 16px;
    }
}

.cmn__index-list__txt-area a {
    text-decoration: none !important;
}

.cmn__index-list .cmn__index-list__item-txt01,
.cmn__index-list .cmn__index-list__item-txt02 {
    display: block;
    text-align: center;
    padding: 0.1em 0;
}

.cmn__index-list .cmn__index-list__item-txt01 {
    color: #000;
    font-size: 8px;
    font-family: 'Lato';
    letter-spacing: 0.2em;
}

@media print,
screen and (min-width: 768px) {
    .cmn__index-list .cmn__index-list__item-txt01 {
        letter-spacing: 0em;
        font-size: 13px;
    }
}

.cmn__index-list .cmn__index-list__item-txt02 {
    color: #c7000a;
    font-size: 14px;
    letter-spacing: 0.1em;
    font-weight: 700;
    font-feature-settings: 'palt';
}

@media print,
screen and (min-width: 768px) {
    .cmn__index-list .cmn__index-list__item-txt02 {
        font-size: 16px;
    }
}

@media print,
screen and (min-width: 1024px) {
    .cmn__index-list .cmn__index-list__item-txt02 {
        font-size: 18px;
    }
}

.cmn__index-list__box.cmn__btn-link-box .cmn__index-list__item-fig {
    cursor: pointer;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.cmn__index-list__box.cmn__btn-link-box .cmn__index-list__item-fig:hover {
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.cmn__index-list__box.cmn__btn-link-box a {
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -ms-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.cmn__index-list__txt-area span:hover {
    background: #c7000a;
    color: #fff;
}


.btnWrap {
    /*margin-top: 2em;*/
    padding: 0 20px;
    text-align: center;
}

@media (min-width: 768px) {
    .btnWrap {
        padding: 20px 60px;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-around;
        justify-content: space-around;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-content: stretch;
        align-content: stretch;
    }
}

.btnWrap > div {
    padding: 10px 0;
}

@media (min-width: 768px) {
    .btnWrap > div {
        width: 49%;
    }
}

.btnWrap a {
    max-width: 450px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cmn_btnType01,
.cmn_btnType02,
.cmn_btnType03,
.cmn_btnType04 {
    margin: 0 auto;
    position: relative;
    cursor: pointer;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -ms-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
    text-decoration: none !important;
    display: table;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    width: 100%;
    text-align: center;
    text-decoration: none;
    max-width: 414px;

    height: 50px;
}

.cmn_btnType01 > div,
.cmn_btnType02 > div,
.cmn_btnType03 > div,
.cmn_btnType04 > div {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.cmn_btnType01 > div span,
.cmn_btnType02 > div span,
.cmn_btnType03 > div span,
.cmn_btnType04 > div span {
    margin: 0 10px;
}

.cmn_btnType01 {
    background: #c7000a;
    border: #c7000a solid 1px;
    color: #fff;
}

.cmn_btnType01:hover {
    background: #ef000c;
}

.cmn_btnType03 {
    background: #eee;
    border: #fff solid 1px;
    color: #c7000a;
}

.cmn_btnType03:hover {
    color: #ef000c;
}


.cmn_btnType01,
.cmn_btnType02,
.cmn_btnType03,
.cmn_btnType04 {
    box-shadow: 0px 2px 5px 0 rgb(0 0 0 / 40%);
}

.cmn_btnType01 i,
.cmn_btnType02 i,
.cmn_btnType03 i,
.cmn_btnType04 i {
    margin-left: 4px;
    vertical-align: -1px;
}

[class^="icon-"],
[class*=" icon-"] {
    font-family: 'jes_c' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-arrow-right:before {
    content: "\e902";
}

.icon-files-empty:before {
    content: "\e925";
}

.cmn_anchorType01 .icon-arrow-right {
    margin-left: 10px;
}

.cmnContents_bodyWrap {
    position: relative;
}

.page_photo .gallery_item-note {
    margin-top: 20px;
}


a {
    color: #c7000a;
    -webkit-tap-highlight-color: rgba(255, 0, 0, 0.2);
}

.cmn_anchorType01 > div,
.cmn_anchorType01 > a {
    margin: 5px 2.5px 0;
    border-radius: 3px;
    display: inline-block;
    background-color: #fff;
    border: #c7000a solid 1px;
    color: #c7000a;
    font-size: 10px;
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    padding: 2px;
    line-height: 1.2;
    letter-spacing: 0;
    font-feature-settings: 'palt';
    text-decoration: none !important;
    position: relative;
    padding: 10px 5px;

}

@media print,
screen and (max-width: 768px) {

    .cmn_anchorType01 > div,
    .cmn_anchorType01 > a {
        height: 46px;
        vertical-align: middle;
        width: 31%;
        padding: 0;
    }

    .cmn_anchorType01 > div,
    .cmn_anchorType01 > a > span {
        display: table;
        width: 100%;
        height: 100%;
    }

    .cmn_anchorType01 > div,
    .cmn_anchorType01 > a > span > span {
        display: table-cell;
        vertical-align: middle;
        height: 35px;
    }
}

@media print,
screen and (min-width: 600px) {

    .cmn_anchorType01 > div,
    .cmn_anchorType01 > a {
        font-size: 12px;
    }
}

@media print,
screen and (min-width: 768px) {

    .cmn_anchorType01 > div,
    .cmn_anchorType01 > a {
        font-size: 14px;
        width: 125px;
    }
}

.cmn_anchorType01 > a.is-current,
.cmn_anchorType01 > a:hover {
    background: #c7000a;
    color: #fff;
    transition: 0.2s;
}


.page_photo .cmn_anchorType01 {
    margin-bottom: 10px;
}

@media print,
screen and (min-width: 600px) {
    .page_photo .cmn_anchorType01 {
        margin: 0 auto 20px;
    }

    .page_photo .cmn_anchorType01 a {
        width: auto;
        font-size: 11px;
        min-width: 100px;
    }
}

@media print,
screen and (min-width: 768px) {
    .page_photo .cmn_anchorType01 {
        /*      padding: 0 50px; */
    }

    .page_photo .cmn_anchorType01 a {
        width: 19%;
        font-size: 12px;
        min-width: 17%;
    }

    .page_photo .cmn_anchorType01 a br {
        display: none;
    }
}

.page_photo .cmn_anchorType01 a span span {
    padding: 2px 0 2px 3px;
}




.gallery-ttl {
    margin-bottom: 1em;
    padding: 20px 0 0.4em;
    font-size: 18px;
    font-weight: 700;
    color: #000;
    text-align: left;
    border-bottom: #dddddd solid 1px;
    line-height: 1;
    position: relative;
}

.gallery-ttl span {
    display: inline-block;
}

.gallery-ttl .gallery-ttl-red {
    color: #c7000a;
    padding-right: 1em;
}

@media print,
screen and (min-width: 768px) {
    .gallery-ttl {
        padding-top: 40px;
        font-size: 24px;
        font-weight: 700;
        color: #000;
        text-align: left;
    }
}

@media (min-width: 1024px) {
    .gallery-ttl {
        font-size: 30px;
    }
}

/*注意書き*/
.gallery-index .txt-prohibited {
    margin: 10px auto 0;
    /* max-width: 282px;*/
    font-size: 12px;
    line-height: 1.2;
    text-align: right;
}

.gallery-detail .txt-prohibited {
    margin: 1em auto;
    font-size: 12px;
    line-height: 1.2;
    text-align: right;
}

.gallery-detail .gallery-ttl .txt-prohibited {
    display: none;
    font-weight: normal;
}

@media (min-width: 768px) {
    .gallery-index .txt-prohibited {
        margin-top: 0;
        max-width: 1154px;
        font-size: 14px;
    }

    .gallery-detail .txt-prohibited {
        margin: 0;
        font-size: 14px;
    }

    .gallery-detail .gallery-ttl .txt-prohibited {
        display: block;
        margin: 0;
        font-size: 10px;
        position: absolute;
        right: 0;
        top: 10px;
    }
}

@media (min-width: 1024px) {
    .gallery-detail .gallery-ttl .txt-prohibited {
        font-size: 13px;
        position: absolute;
        right: 0;
        top: 10px;
    }
}

.absR {
    position: relative;
    width: 100%;
}

.absR p {
    position: absolute;
    top: -30px;
    right: 0;
}

@media (max-width: 768px) {
    .absR p {
        top: -20px;
    }
}


/*コンテンツ下部*/
.gallery_item-note {
    margin: 20px 0 0;
    text-align: right;
    font-size: 12px;
}

@media print,
screen and (min-width: 768px) {
    .gallery_item-note {
        margin-top: 40px;
        font-size: 13px;
    }
}

@media print,
screen and (min-width: 1024px) {
    .gallery_item-note {
        font-size: 13px;
    }
}

.gallery_item-note p {
    border-top: #e0e0e0 solid 1px;
    padding-top: 10px;
}

@media print,
screen and (min-width: 768px) {
    .gallery_item-note p {
        padding-top: 20px;
    }
}


/*photo --------------------------------------*/

.gallery_detailList-photo figure {
    margin-top: 15px;
    text-align: center;
}

.gallery_detailList-photo figure:nth-child(1),
.gallery_detailList-photo figure:nth-child(2) {
    margin-top: 0;
}

.gallery_detailList-photo figure img {
    max-width: 282px;
    width: 100%;
    height: auto;
}

.gallery_detailList-photo figure a {
    color: #000;
    text-decoration: none;
    text-align: center;
    display: block;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -ms-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.gallery_detailList-photo figure a:hover {
    opacity: 0.5;
}

.gallery_detailList-photo figure a span {
    display: block;
    text-align: center;
    font-size: 20px;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .gallery_detailList-photo {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        /* Safari */
        justify-content: space-between;
        -webkit-flex-wrap: wrap;
        /* Safari */
        flex-wrap: wrap;
        -webkit-align-content: stretch;
        /* Safari */
        align-content: stretch;
        padding-top: 10px;
    }

    .gallery_detailList-photo figure {
        width: 48%;
    }
}

@media (min-width: 768px) {
    .gallery_detailList-photo {
        width: 105%;
        text-align: left;
    }

    .gallery_detailList-photo figure {
        margin-right: 2%;
        display: inline-block;
        width: 22%;
        margin-top: 0;
        margin-bottom: 1.8vw;
    }

    .gallery_detailList-photo figure img {
        max-width: 342px;
    }

    .gallery_detailList-photo figure a span {
        margin-top: 0.5em;
        display: block;
        font-size: 22px;
    }
}


/*pamphlet --------------------------------------*/

@media print,
screen and (min-width: 768px) {
    .pamphlet-list {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-content: stretch;
        align-content: stretch;
    }
}

.pamphlet-list_box {
    margin-top: 20px;
    width: 100%;
    border: #eee solid 1px;
    padding: 20px;
    background: #eee;
    position: relative;
}

@media print,
screen and (min-width: 768px) {
    .pamphlet-list_box {
        width: 49%;
        padding-bottom: 100px;
    }
}

@media print,
screen and (min-width: 1024px) {
    .pamphlet-list_box {
        margin-top: 40px;
        padding: 30px 30px 100px;
        width: 48%;
    }
}

@media print,
screen and (min-width: 768px) {

    .pamphlet-list_box:first-child,
    .pamphlet-list_box:nth-child(2) {
        margin-top: 0;
    }
}

.pamphlet-list_item-ttl {
    padding-bottom: 1em;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    border-bottom: #fff solid 2px;
}

@media print,
screen and (min-width: 768px) {
    .pamphlet-list_item-ttl {
        font-size: 20px;
    }
}

.pamphlet-list figure {
    margin-top: 20px;
    text-align: center;
}

.pamphlet-list figure a {
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -ms-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.pamphlet-list_item-caption {
    margin-top: 1em;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    text-align: left;
}

@media print,
screen and (min-width: 768px) {
    .pamphlet-list_item-caption {
        font-size: 14px;
        font-size: 1.4rem;
    }
}


.pamphlet-list_btn-wrap {
    width: 100%;
    margin-top: 20px;
}

@media print,
screen and (min-width: 768px) {
    .pamphlet-list_btn-wrap {
        position: absolute;
        left: 0;
        bottom: 0;
        padding: 0 20px 20px;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-content: stretch;
        align-content: stretch;
    }
}

@media print,
screen and (min-width: 768px) and (min-width: 1024px) {
    .pamphlet-list_btn-wrap {
        padding: 0 30px 30px;
    }
}

.pamphlet-list_btn-wrap > div {
    margin-top: 10px;
    text-align: center;
}

@media print,
screen and (min-width: 768px) {
    .pamphlet-list_btn-wrap > div {
        margin-top: 20px;
    }

    .pamphlet-list_btn-wrap > div:nth-child(2) {
        width: 40%;
    }

    .pamphlet-list_btn-wrap > div span {
        font-size: 14px;
    }

    .pamphlet-list_btn-wrap > div:nth-last-child(2) {
        width: 55%;
    }
}



/*movie --------------------------------------*/

.cmnContens_secWrapType01 {
    /*padding: 0 20px;*/
    line-height: 1.5;
}

@media (min-width: 568px) {
    .cmnContens_secWrapType01 {
        padding: 0 40px;
    }
}

@media (min-width: 768px) {
    .cmnContens_secWrapType01 {
        padding: 0 50px;
        line-height: 2.2;
    }
}

@media (min-width: 1024px) {
    .cmnContens_secWrapType01 {
        padding: 0 10px;
    }
}

.movie-list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-content: stretch;
    align-content: stretch;
}

.movie-list_box {
    width: 49%;
    margin-right: 2%;
    margin-bottom: 2%;
    padding: 10px;
    background: #eee;
    position: relative;
}

.movie-list_box:last-child {
    margin-right: 0%;
}

@media print,
screen and (max-width: 767px) {
    .movie-list .movie-list_box:nth-of-type(2n) {
        margin-right: 0;
    }
}

@media print,
screen and (min-width: 768px) {
    .movie-list_box {
        margin-right: 2%;
        margin-bottom: 2%;
        width: 32%;
    }

    .movie-list .movie-list_box:nth-of-type(3n) {
        margin-right: 0;
    }

    .movie-list_box:last-child {
        margin-right: 0%;
    }
}

@media print,
screen and (min-width: 1024px) {
    .movie-list_box {
        padding: 20px;
        max-width: 375px;
        width: 31%;
    }
}

.movie-list_movie-area a {
    display: block;
    position: relative;
}

.movie-list_movie-area img {
    position: relative;
    z-index: 1;
}

.movie-list_movie-area a img {
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -ms-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
}

.movie-list_movie-area a::after {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background: url(./img/movie/layer.svg) no-repeat center center;
    background-size: contain;
    z-index: 2;
}

.movie-list_movie-area:hover {
    opacity: .7;
}

.movie-list_item-ttl {
    padding-top: 1em;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
}

@media print,
screen and (min-width: 768px) {
    .movie-list_item-ttl {
        font-size: 16px;
    }
}

.movie-list_btn-wrap {
    margin-top: 20px;
    padding-top: 20px;
    text-align: center;
    border-top: #ddd solid 1px;
}

.movie-list_btn-wrap > div {
    width: 49%;
}

@media print,
screen and (min-width: 768px) {
    .movie-list_btn-wrap {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-around;
        justify-content: space-around;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-content: stretch;
        align-content: stretch;
        padding: 0 5%;

        margin-top: 30px;
        padding-top: 30px;
    }
}

@media print,
screen and (max-width: 768px) {
    .brank_box {
        display: block;
    }
}

.brank_box {
    width: 31%;
    display: block;
}

/*20220430追加*/
.btnWrap_movie {
    margin-top: 20px;
    padding: 0 20px;
    text-align: center;
    border-top: #e0e0e0 solid 1px;
}

@media (min-width: 768px) {
    .btnWrap_movie {
        padding: 20px 60px;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: space-around;
        justify-content: space-around;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-align-content: stretch;
        align-content: stretch;
    }
}

.btnWrap_movie > div {
    padding: 10px 0;
}

@media (min-width: 768px) {
    .btnWrap_movie > div {
        width: 49%;
    }
}

.btnWrap_movie a {
    max-width: 450px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#anchor04 .btnWrap_movie {
    border-top: none;
    margin-top: 0 !important;
}

@media (max-width: 768px) {
    .add_btn_wrap {
        width: 100% !important;
        padding: 0 20px;
    }

    .movie-list_btn-wrap > div + div {
        margin-top: 20px;
    }
}

.movie-list_item-ttl {
    padding-top: 1em;
    font-size: 12px;
/*    font-size: 1.2rem;*/
    font-weight: 700;
    line-height: 1.2;
}

@media print,
screen and (min-width: 768px) {

    /* line 785, ../sass/gallery.scss */
    .movie-list_item-ttl {
        font-size: 16px;
/*        font-size: 1.6rem;*/
    }
}

/* line 794, ../sass/gallery.scss */
.movie-list_item-caption {
    margin-top: 1em;
    font-size: 10px;
/*    font-size: 1rem;*/
    line-height: 1.6;
    text-align: left;
}

@media print,
screen and (min-width: 768px) {

    /* line 794, ../sass/gallery.scss */
    .movie-list_item-caption {
        font-size: 14px;
/*        font-size: 1.4rem;*/
    }
}

/* line 803, ../sass/gallery.scss */
.movie-list_item-createon {
    margin-top: 0.5em !important;
    font-size: 10px;
/*    font-size: 1rem;*/
    line-height: 1.6;
    text-align: left;
}

@media print,
screen and (min-width: 768px) {

    /* line 803, ../sass/gallery.scss */
    .movie-list_item-createon {
        font-size: 14px;
/*        font-size: 1.4rem;*/
    }
}
