@charset "utf-8";

html {
    font-family: 'Noto Sans JP', sans-serif;
    color: #2f2f2f;
    letter-spacing: 0.05rem;
    font-size: 100%;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    color: #333;
    font-size: 14px;
    /* overflow-x: hidden; */
}

.mvPart,
.lightBlue {
    overflow-x: hidden;
}

section {
    padding-top: 60px;
    margin-top: -60px;
}

img {
    max-width: 100%;
    vertical-align: bottom;
    image-rendering: -webkit-optimize-contrast;
}

li {
    list-style: none;
}

a {
    display: block;
    text-decoration: none;
    color: #333;
    transition: .3s all ease-in-out;
}

@media screen and (min-width: 769px) {
    a:hover {
        cursor: pointer;
        opacity: .7;
    }
}

h2 .ja {
    font-size: 2.25rem;
    margin-bottom: 10px;
}

h2 .en {
    font-family: 'Merienda', cursive;
    font-size: 0.8rem;
    letter-spacing: 0.1rem;
    margin-top: 3px;
}

@media screen and (max-width: 768px) {
    h2 .ja {
        font-size: 1.8rem;
        margin-bottom: 0;
    }

    h2 .en {
        font-size: 1rem;
    }
}



/* ------------------------------------------------------
トップページ
------------------------------------------------------ */
/* ヘッダー */
#header {
    padding: 20px;
    position: sticky;
    top: 0;
    z-index: 60;
    background: #ffffff90;
    /* transition: padding ease-in-out .5s; */
}



#header.active {
    /* padding: 10px 20px; */
}

#header.active.open {
    /* padding-bottom: 70px; */
    padding-bottom: 90px;
    margin-bottom: 0;
    background: #ffffff90;
}

#header.active.open .switcher {
    /* top: 20px; */
}

.switcher {
    display: flex;
    justify-content: flex-end;
}

.switcher .lang {
    margin-right: 20px;
    display: flex;
    align-items: center;
    position: relative;
    bottom: 2px;

}

.switcher .btn ul {
    display: flex;
    align-items: center;
}

.switcher .btn ul li:not(:last-child) {
    margin-right: 10px;
}

.switcher .btn ul li a {
    font-size: 1.1rem;
    line-height: 1;
    padding: 5px 15px;
    border: solid #2f2f2f 1px;
    border-radius: 50px;
}

.switcher .btn ul li a.active {
    color: #fff;
    background: #2f2f2f;
    pointer-events: none;
}

/* メインビジュアル */
.mvPart {
    padding: 0 20px;
    display: flex;
    flex-wrap: wrap;
}

.mvPart .text {
    padding-right: 20px;
    width: 5%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mvPart .image {
    width: 95%;
}

.slick-dotted.slick-slider {
    margin-bottom: 60px;
}


.mvPart .slick-track>li {
    background-size: 100%;
    background-repeat: no-repeat;
}

.mv01 {
    background: url(img/top/mv01.jpg);
}

.mv02 {
    background: url(img/top/mv02.jpg);
}

.mv03 {
    background: url(img/top/mv03.jpg);
}

.mv04 {
    background: url(img/top/mv04.jpg);
}

@media screen and (min-width: 769px) {
    .mvPart .slick-track>li {
        background-size: cover;
        max-height: calc(100vh - 90) !important;
        background-position: center;
        border-radius: 100px;
    }
}

@media screen and (max-width: 768px) {
    #header {
        padding: 10px 20px;
    }

    #header.active.open .switcher {
        top: 20px;
    }

    .open .switcher {
        top: 20px !important;

    }

    .open .navWrap {
        padding-top: 10px !important;
    }

    .mvPart {
        flex-direction: column;
    }

    .mvPart .text {
        padding-right: 0;
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }

    .mvPart .image {
        width: 100%;
    }

    .slick-dotted.slick-slider {
        margin-bottom: 30px;
    }

    .mv01 {
        background: url(img/top/mv01_sp.png);
    }

    .mv02 {
        background: url(img/top/mv02_sp.png);
    }

    .mv03 {
        background: url(img/top/mv03_sp.png);
    }

    .mv04 {
        background: url(img/top/mv04_sp.png);
    }
}

/* スライダーのドット */
.mvPart .slick-dots {
    display: flex;
    flex-direction: column;
    bottom: unset;
    top: 50%;
    transform: translateY(-50%);
    left: 20px;
}

.mvPart .slick-dots li button {
    background: #fff;
    border-radius: 50px;
    width: 40%;
    height: 40%;
}

.mvPart .slick-dots li.slick-active button {
    background: #ff6f15;
}

/* MVテキストの日付 */
.mvPart .date {
    font-family: 'Merienda', cursive;
    font-size: 1.4rem;
    line-height: 1.9;
}

.mvPart .date .mini {
    font-size: 0.75rem;
}

.sat {
    color: #1b66bc;
}

.sun {
    color: #d21012;
}

@media screen and (min-width: 769px) {
    .mvPart .text img {
        margin-bottom: 20px;
    }

    .mvPart .date {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    }

    .mvPart .date .mini {
        position: relative;
        right: 1px;
    }

    @media screen and (max-height: 730px) {
        .mvPart .text img {
            width: 30px;
        }

        .mvPart .date {
            font-size: 1.2rem;
            line-height: 1.6;
        }
    }
}

@media screen and (max-width: 768px) {
    .mvPart .date {
        font-size: 1.8rem;
    }
}




/* ------------------------------------------------------
お知らせ
------------------------------------------------------ */
#news {
    max-width: 1200px;
    margin: -100px auto 60px;
    padding-top: 100px;
    display: flex;
}

#news .titlePart {
    width: 20%;
}

#news .titlePart .secTitle {
    display: table;
    margin: 0 auto;
    font-size: 1.5rem;
    line-height: 1;
}

#news .titlePart .secTitle .ja {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

#news .newsPart {
    width: 80%;
}

#news .newsPart li {
    display: flex;
    margin-bottom: 20px;
}

#news .newsPart li .dateWrap {
    min-width: 140px
}


#news .nikuq {
    margin-right: 5px;
}

#news .date {
    margin-right: 30px;
}

#news .text {
    width: 70%;
}

#news .text a {
    display: inline;
    text-decoration: underline;
    text-underline-offset: 2px;
}

@media screen and (max-width: 768px) {
    #news {
        padding: 0 20px;
        flex-direction: column;
        margin-top: 0;
    }

    #news .titlePart {
        width: 100%;
    }

    #news .newsPart {
        width: 100%;
    }

    #news .titlePart .secTitle {
        margin: 0 0 30px;
    }

    #news .newsPart li .dateWrap {
        min-width: 120px
    }

    #news .date {
        margin-right: 10px;
    }
}

/* ------------------------------------------------------
スケジュール
------------------------------------------------------ */

.lightBlue {
    padding: 60px 0;
    background: url(img/top/light_blue_bg.png);
    background-size: 50%;
    position: relative;
}

/* スライド */

#schedule .slide ul li {
    margin: 0 4px;
}

#schedule .slide ul li.slick-slide img {
    width: 100%;
}

.slide01 {
    margin-bottom: 60px;
}

.schedule {
    margin-bottom: 100px;
}

.schedule .secTitle {
    text-align: center;
    margin-bottom: 30px;
}

.schedule .secTitle .ja {
    letter-spacing: 0.05rem;
    margin-bottom: 10px;
}

/* 白背景 */
.schedule .white {
    padding: 30px 20px 30px;
    display: table;
    margin: 0 auto;
    background: #fff;
    /* width: 920px; */
    text-align: center;
    border-radius: 50px;
    position: relative;
    max-width: 100%;
}

@media screen and (min-width: 1000px) {
    .schedule .white {
        width: 920px;
    }
}

.schedule .white::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: -7px;
    right: -7px;
    background: #c2e3ff;
    border-radius: 50px;
    z-index: -1;
}

.schedule .white .orange {
    padding: 7px 16px 9px;
    font-size: 0.8rem;
    border-radius: 50px;
    background: #ff6f15;
    color: #fff;
    margin: 12px;
    position: relative;
    bottom: 8px;
}

.schedule .white .sche {
    margin-bottom: 20px;
}

.schedule .white .date {
    font-size: 2.25rem;
}

.schedule .white .gozitsu {
    font-size: 1.125rem;
}

.whitePart {
    position: relative;
    padding: 20px;
}

img[alt="こどもたち"] {
    position: absolute;
    z-index: 10;
    left: calc(50% - 665px);
    top: 60px;
}

.slide02 {
    position: relative;
    margin-bottom: 100px;
}

img[alt="灯籠"] {
    position: absolute;
    top: -170px;
    right: 20px;
}

img[alt="灯籠"],
img[alt="こどもたち"] {
    opacity: 0;
}

@media screen and (max-width: 1400px) {
    img[alt="こどもたち"] {
        left: 10px;
    }
}

@media screen and (max-width: 1200px) {
    img[alt="こどもたち"] {
        top: 120px;
    }

    .schedule {
        margin-bottom: 120px;
    }
}

@media screen and (max-width: 900px) {
    img[alt="こどもたち"] {
        top: 140px;
    }

    .schedule {
        margin-bottom: 140px;
    }
}

@media screen and (max-width: 768px) {
    .lightBlue {
        padding: 40px 0;
    }

    .schedule .secTitle .en {
        font-size: 0.8rem;
    }

    .schedule .white .orange {
        padding: 4px 8px 5px;
        bottom: 0;
    }

    .schedule .white .date {
        font-size: 1.2rem;
        position: relative;
        top: 12px;
    }

    .schedule .white .gozitsu {
        font-size: 0.85rem;
    }

    img[alt="こどもたち"] {
        width: 140px;
        top: 160px;
    }

    img[alt="灯籠"] {
        width: 104px;
        top: -120px;
    }

    .schedule {
        margin-bottom: 80px;
    }
}

@media screen and (max-width: 480px) {
    img[alt="こどもたち"] {
        top: 170px;
    }
}

/* ------------------------------------------------------
バナーリンク
------------------------------------------------------ */
#bnrLink {
    max-width: 1260px;
    display: table;
    margin: 0 auto 60px;
    padding: 0 20px;
    box-sizing: border-box;
}

#bnrLink ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#bnrLink ul li a.yet {
    pointer-events: none;
    opacity: .4;
}

#bnrLink .col-2 {
    margin-bottom: 15px;
}

#bnrLink .col-2 ul li {
    width: 49.2%;
}

#bnrLink .col-4 ul li {
    width: 23.8%;
}

@media screen and (max-width: 768px) {
    #bnrLink ul li {
        margin-bottom: 15px;
    }

    #bnrLink .col-2 {
        margin-bottom: 0;
    }

    #bnrLink ul li a img {
        width: 100%;
    }

    #bnrLink .col-2 ul li {
        width: 100%;
    }

    #bnrLink .col-4 ul li {
        width: 48.4%;
    }
}



/* ------------------------------------------------------
犬っこまつりとは
------------------------------------------------------ */
#topAbout {
    margin-bottom: 60px;
}

#topAbout .flexBox {
    display: flex;
}

#topAbout .flexBox .right,
#topAbout .flexBox .left {
    width: 50%;
}

#topAbout .flexBox .right {
    max-width: 480px;
    padding-left: 60px;
    padding-right: 20px;
}

#topAbout .aboutText {
    line-height: 2;
    text-align: justify;
}

img[alt="あめ"] {
    position: relative;
    bottom: 10px;
    left: -30px;
    margin-bottom: 20px;
}

img[alt="花火"] {
    width: 100%;
}

#topAbout .secTitle {
    margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
    #topAbout {
        margin-bottom: 60px;
    }

    #topAbout .flexBox {
        flex-direction: column;
    }

    #topAbout .flexBox .right,
    #topAbout .flexBox .left {
        max-width: unset;
        width: 100%;
    }

    #topAbout .flexBox .right {
        position: relative;
        padding: 80px 20px 0;
    }

    #topAbout .secTitle {
        text-align: center;
    }

    img[alt="あめ"] {
        width: 85px;
        position: absolute;
        top: 20px;
        bottom: unset;
        left: 10px;
        margin-bottom: 0;
    }
}





/* ------------------------------------------------------
mail formプロCSS　初期化
------------------------------------------------------ */
form#mailformpro dl dd {
    border-top: none;
    margin: unset;
    padding: unset;
    font-size: unset;
    line-height: unset;
    text-align: unset;
}

.mfp_achroma {
    background: none;
}

.mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea, .mfp_element_date, .mfp_element_password {
    border: unset;
    border-radius: unset;
    box-shadow: unset;
    padding: unset;
    margin: unset;
    vertical-align: unset;
}

form#mailformpro dl dt {
    float: unset;
    width: unset;
    clear: unset;
    font-size: unset;
    padding: unset;
    text-align: unset;
    border-top: unset;
    /* margin: unset; */
}

.mfp_colored {
    background-color: unset;
}

div.mfp_err {
    background-position: 0px 6px;
}

/* ------------------------------------------------------
お問い合わせ
------------------------------------------------------ */
#contact {
    display: table;
    max-width: 660px;
    padding: 60px 20px 0;
    margin: -60px auto 0;
}

#contact form {
    margin-bottom: 200px;
}

#contact .secTitle {
    text-align: center;
    margin-bottom: 80px;
}

#contact .info {
    margin-bottom: 30px;
}

#contact input[type="text"],
#contact input[type="email"],
#contact textarea {
    background: #fff;
    width: 100% !important;
    padding: 7px;
    border-radius: 5px;
    border: #bee1ff solid 1px;
    max-width: unset;
}

.mfp_rows {
    margin-bottom: 20px;
}

#mfp_hidden {
    opacity: 0;
    pointer-events: none;
}

/* .mfp_err{
    color: #f06060
}
#errormsg_お問い合わせ内容.mfp_err{
    position: relative;
    bottom: 50px;
}
#errormsg_お名前.mfp_err,
#errormsg_email.mfp_err{
    position: relative;
    bottom: 15px;
} */

#contact textarea {
    /* margin-bottom: 60px; */
}

.mfp_col10 {
    margin-bottom: 60px;
}

#mailformpro dt.mfp {
    font-weight: bold;
    margin-bottom: 5px;
}

.privacyLink {
    display: table;
    margin: 0 auto 70px;
}

.privacyLink a {
    color: #3a7abb;
    text-decoration: underline;
    text-decoration-color: #3a7abb;
    text-underline-offset: 2px;
    display: inline;
}

.privacyLink input[type="checkbox"] {
    transform: scale(1.5);
    margin: 0 12px 0 0;
}

.mfp_buttons {
    margin: 0 auto;
}

.mfp_buttons .linkBtn {
    display: table;
    margin: 0 auto;
    padding: 10px 0;
    background: #fff;
    width: 90%;
    max-width: 400px;
    text-align: center;
    border: solid #2f2f2f 1px;
    border-radius: 50px;
    font-size: 1.2rem;
    position: relative;
    color: #333;
}

.mfp_buttons .linkBtn span {
    z-index: 1;
}

.mfp_buttons .linkBtn::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: -7px;
    right: -7px;
    background: #c2e3ff;
    border-radius: 50px;
    z-index: -1;
}

@media screen and (max-width: 768px) {
    #contact .secTitle {
        margin-bottom: 40px;
    }

    #contact .info {
        line-height: 2;
        margin-bottom: 40px;
    }

    #contact textarea {
        margin-bottom: 30px;
    }

    .privacyLink {
        margin: 0 auto 50px;
    }

    .mfp_buttons {
        max-width: 180px;
    }

    #contact form {
        margin-bottom: 100px;
    }

    .mfp_buttons {
        font-size: 1rem;
    }

    #errormsg_お問い合わせ内容.mfp_err {
        bottom: 20px;
    }

    .mfp_col10 {
        margin-bottom: 40px;
    }
}

/* ------------------------------------------------------
フッター
------------------------------------------------------ */
#footer {
    padding: 30px 0 10px;
    background: url(img/top/blue_bg.png);
    background-size: 50%;
    text-align: center;
    position: relative;
    z-index: 10;
}

.footer p {
    color: #fff;
}

img[alt="フッターロゴ"] {
    margin-bottom: 30px;
}

.footer .unei {
    margin-bottom: 20px;
}

.toTop {
    position: relative;
}

img[alt="雪像"],
img[alt="トップ"] {
    position: absolute;
    z-index: 1
}

img[alt="雪像"] {
    right: 135px;
    top: -160px;
}

img[alt="トップ"] {
    right: 20px;
    top: -310px;
    transition: .3s all ease-in-out;
    z-index: 2;
}

.toTop a {
    z-index: 2;
}

.toTop a:hover {
    opacity: 1;
}

img[alt="トップ"]:hover {
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    img[alt="雪像"] {
        width: 300px;
        top: unset;
        bottom: -60px;
        right: 70px;
    }

    img[alt="トップ"] {
        width: 72px;
        top: unset;
        bottom: -30px;
        right: 0;
    }

    img[alt="フッターロゴ"] {
        margin-bottom: 15px;
    }

    #footer .copy {
        font-size: 10px;
    }

}

/* ------------------------------------------------------
プライバシーポリシー
------------------------------------------------------ */
#privacy {
    background: url(img/top/light_blue_bg.png);
    background-size: 50%;
    padding-top: 60px;
}

#privacy .content-inner {
    margin: 0 auto;
    display: table;
    max-width: 1000px;
    padding: 0 20px 300px;
    text-align: justify;
}

.pageLogo {
    display: table;
    margin: 0 auto 60px;
}

#privacy .secTitle {
    margin-bottom: 60px !important;
    text-align: center;
}

#privacy .secTitle p {
    margin-bottom: 0 !important;
}

#privacy .content-inner p,
#privacy .content-inner ol {
    line-height: 1.5;
    margin-bottom: 30px;
}

#privacy .content-inner ol {
    padding-left: 1rem;
}

#privacy .content-inner li {
    /* margin-bottom: 10px; */
    list-style-type: decimal;
}

#privacy .content-inner h2 {
    margin-bottom: 10px;
}

.tR {
    text-align: right;
}

/* ホームに戻る */
.return {
    display: table;
    margin: 0 auto;
    padding: 10px 0;
    background: #fff;
    width: 90%;
    max-width: 400px;
    text-align: center;
    border: solid #2f2f2f 1px;
    border-radius: 50px;
    font-size: 1.2rem;
    position: relative;
}

.return::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: -7px;
    right: -7px;
    background: #c2e3ff;
    border-radius: 50px;
    z-index: -1;
}

@media screen and (max-width: 768px) {
    #privacy {
        padding-top: 40px;
    }

    #privacy .content-inner {
        padding: 0 20px 200px;

    }
}

/* ------------------------------------------------------
サンクスページ
------------------------------------------------------ */
#thanks {
    background: url(img/top/light_blue_bg.png);
    background-size: 50%;
    padding-top: 60px;
}

#thanks .content-inner {
    min-height: calc(100vh - 262px);
    margin: 0 auto;
    display: table;
    max-width: 1000px;
    padding: 0 20px;
    text-align: center;
}

.thanksText {
    margin-bottom: 60px;
}


/* ------------------------------------------------------
アニメーション
------------------------------------------------------ */

.fadeUp {
    transition: 1.5s all cubic-bezier(0.86, 0, 0.07, 1);
    opacity: 0;
    transform: translateY(50px);
}

.fadeUp.active {
    opacity: 1;
    transform: translateY(0);
}

.fadeRight {
    transition: 1.5s all cubic-bezier(0.86, 0, 0.07, 1);
    opacity: 0;
    transform: translateX(-50px);
}

.fadeRight.active {
    opacity: 1;
    transform: translateX(0);
}

.fadeDown {
    transition: 1.5s all cubic-bezier(0.86, 0, 0.07, 1);
    opacity: 0;
    transform: translateY(-50px);
}

.fadeDown.active {
    opacity: 1;
    transform: translateY(0);
}

.fadeLeft {
    transition: 1.5s all cubic-bezier(0.86, 0, 0.07, 1);
    opacity: 0;
    transform: translateX(50px);
}

.fadeLeft.active {
    opacity: 1;
    transform: translateX(0);
}


/* .pon {
    transition: 1.5s all cubic-bezier(0.86, 0, 0.07, 1);
    opacity: 0;
    transform: scale(.5);
}
.pon.active {
    opacity: 1;
    transform: scale(1);
    animation: ponLeft .5s forwards;
} */
/*
.ponLeft,
.popRight{
    opacity: 0;
} */


.ponLeft.active {
    animation: ponLeft 1s forwards;
}

.ponRight.active {
    animation: ponRight 1s forwards;
}

.ponRight {
    animation-delay: .2s;
}

@keyframes ponLeft {
    0% {
        opacity: 0;
        transform: scale(.5) rotate(5deg) translate(-30px, 60px);
    }

    30% {
        opacity: 1;
        transform: scale(1.01) rotate(-1deg) translate(5px, -10px);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes ponRight {
    0% {
        opacity: 0;
        transform: scale(.5) rotate(-5deg) translate(30px, 60px);
    }

    30% {
        opacity: 1;
        transform: scale(1.01) rotate(1deg) translate(-5px, -10px);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* ------------------------------------------------------
ローディング
------------------------------------------------------ */
#loading {
    width: 100vw;
    height: 100vh;
    transition: all 1s;
    background: url(img/top/light_blue_bg.jpg);
    background-size: 50%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}

.spinner {
    width: 100px;
    height: 100px;
    margin: 200px auto;
    background-color: #fff;
    border-radius: 100%;
    animation: sk-scaleout 1.0s infinite ease-in-out;
}

@keyframes sk-scaleout {
    0% {
        transform: scale(0);
    }

    100% {
        transform: scale(1.0);
        opacity: 0;
    }
}

.loaded {
    opacity: 0;
    visibility: hidden;
}

/* ------------------------------------------------------
台湾語
------------------------------------------------------ */
.unavailable {
    pointer-events: none;
    opacity: 0.5;
}

/* ------------------------------------------------------
ナビゲーション
------------------------------------------------------ */
.headerWrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#navBtn {
    width: 50px;
    height: 50px;
    position: relative;
    cursor: pointer;
    z-index: 60;
}

.open #navBtn {
    margin-bottom: 18px;
}

#navBtn span:nth-of-type(-n+3) {
    position: absolute;
    display: block;
    height: 2px;
    width: 100%;
    background: #333;
    transition: all 0.3s ease;
}

#navBtn span:nth-of-type(2) {
    top: 10px;
}

#navBtn span:nth-of-type(3) {
    top: 20px;
}

#navBtn span:nth-of-type(n+4) {
    position: absolute;
    top: 30px;
    width: 100%;
    text-align: center;
    font-family: 'Merienda', cursive;
    transition: all 0.3s ease;
    letter-spacing: 0;
}

#navBtn .text.close {
    display: none;
}

/* ナビのオープン時 アニメーション */

.open #navBtn span:nth-of-type(-n+3) {
    background-color: #fff;
}

.open #navBtn span:nth-of-type(n+4) {
    color: #fff;
}

.open #navBtn span:nth-of-type(1) {
    transform: rotate(150deg) translate(5px, -11px);
}

.open #navBtn span:nth-of-type(2) {
    opacity: 0;
}

.open #navBtn span:nth-of-type(3) {
    transform: rotate(30deg) translate(-2px, -8px);
}

#menu {
    opacity: 0;
    padding: 20px;
    display: none;
    z-index: 30
}

.open #menu {
    opacity: 1;
    display: inline;

    left: 0;
    /* メニューが開いたときに左からスライド表示されるようにする */
}

#menu ul li a,
#navBtn ul li a {
    color: #fff;
}

#menu ul li a {
    padding: 10px;
}

#menu ul li:first-child a {
    padding-top: 0;
}

#menu ul li a.yet {
    pointer-events: none;
    opacity: .4;
}

.menuText,
.navWhite {
    display: none;
    opacity: 0;
    z-index: 60;
    position: relative;
}

.menuText img {
    margin-bottom: 18px;
}

.open .menuText,
.open .navWhite {
    display: flex;
    justify-content: center;
    opacity: 1;
}

#header.open {
    padding: 0;
    margin-bottom: 90px;
}

#navPart {
    display: flex;
}




#navPart.open .date,
#navPart.open .date .mini,
#navPart.open .date .sat,
#navPart.open .date .sun {
    color: #fff;
}


.headerWrap.open {
    align-items: unset;
}

#navBtn .text.close {
    display: none;
}

.open #navBtn .text.close {
    display: block;
}

.open #navBtn .text.open {
    display: none;
}

.open .switcher {
    position: absolute;
    right: 20px;
    top: 30px;
}

#navPart.open {
    background: url(img/common/menu_bg.jpg);
    background-size: 50%;
    background-position: center;
    /* width: 330px; */
    height: 100vh;
    transition: opacity 0.3s ease, left 0.3s ease;
    position: absolute;
    /* position: sticky; */
    z-index: 70;
    top: 0;
    left: 0;
}

.open .navWhite {
    display: block;
    width: 2px;
    height: 100vh;
    background-color: #fff;
}

.open .navWrap {
    padding: 20px 0 20px 20px;
    margin-right: 20px;
    width: 70px;
    box-sizing: border-box;
    width: 5vw;
    min-width: 60px;
}

.menuText.mvPart {
    padding: 0;
}

.kasou .open #navBtn {
    margin-bottom: 39px;
}

/* @media screen and (min-width: 769px){
    .kasou .open .menuText.mvPart{
        position: relative;
        left: 10px;
    }
} */

@media screen and (max-width: 768px) {
    #menu {
        width: 100%;
    }

    #navPart.open {
        width: 100%;
        flex-direction: column;
    }

    #navPart.open .navWhite {
        margin-bottom: 20px;
    }

    .open .navWhite {
        width: 100%;
        height: 2px;
    }

    .open .navWrap {
        width: 100%;
        box-sizing: border-box;
        margin-right: 0;
        padding: 20px;
    }

    .open .switcher {
        z-index: 70;
    }

    .open .switcher p {
        color: #fff;
    }


    .open .switcher .btn ul li a {
        color: #fff;
        background-color: transparent;
        border: solid 1px #fff;
        transition: unset;
    }

    .open .switcher .btn ul li a.active {
        color: #539bcd;
        background-color: #fff;
    }

    .menuText {
        text-align: center;
    }

    .menuText img.spOnly {
        display: table;
        margin: 0 auto;
    }

    .open #menu ul li a {
        text-align: center;
        font-size: 1.2rem;
        margin-bottom: 5px;

    }

    .kasou .open #navBtn {
        margin-bottom: 10px;
    }

    #navPart.open .date {
        font-size: 0.9rem;
    }

}

/* ------------------------------------------------------
フッターメニュー
------------------------------------------------------ */
.footer {
    display: table;
    margin: 0 auto;
}

.footerFlex {
    display: flex;
    width: 1300px;
    padding: 40px;
    padding-bottom: 20px;
}

.footerLinks {
    display: flex;
    text-align: left;
    justify-content: space-between;
}

.footerLinks ul {
    margin-left: 60px;
}

@media screen and (min-width: 769px) {
    .footerLinks ul {
        margin-bottom: 50px;
    }

    .footerLinks ul:first-child {
        margin-left: 80px;
    }
}

.footerLinks ul li a {
    color: #fff;
    padding: 5px 0;
}

.footerLinks ul li a.yet {
    pointer-events: none;
    opacity: .4;
}

@media screen and (max-width: 1000px) {
    .footerFlex {
        width: auto;
    }
}

@media screen and (max-width: 768px) {
    .footerFlex {
        width: unset;
        padding: 10px;
        flex-direction: column-reverse;
    }

    .footerLinks {
        margin-bottom: 30px;
    }

    .footerLinks ul {
        margin-left: 0;
    }
}


/* ------------------------------------------------------
アクセスページ
------------------------------------------------------ */
.bread {
    display: table;
    margin: 0 auto;
    padding: 0 20px;
}

@media screen and (min-width: 1101px) {
    .bread {
        width: 1010px;
    }
}

@media screen and (max-width: 1100px) {
    .bread {
        margin-left: 0;
    }
}

.bread ul {
    display: flex;
}

.bread ul li a {
    color: #1b66bc;
}

.bread ul li a:first-child {
    margin-right: 2px;
}

.bread ul li a.active {
    color: #333;
}

#accessPage {
    background: url(img/top/light_blue_bg.png);
    background-size: 50%;
}

.kasouPage {
    position: relative;
    padding-top: 40px;
}

.kasouPage .mvPart {
    position: absolute;
    top: 20px;
}

.kasouPage .mvPart .text {
    width: 5vw;
}

#accessPage h2,
#accessPage .subTitle {
    text-align: center;
}

#accessPage h2 {
    margin-bottom: 40px;
}

#accessPage .subTitle {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 40px;
}

#accessSec {
    padding-bottom: 350px;
}

#toYuzawa,
#inYuzawa {
    margin-top: -120px;
    padding-top: 120px;
}

@media screen and (max-width: 1200px) {
    .kasouPage .mvPart {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    #accessPage .archiveWrap ul.anchors li {
        width: 100%;
    }

    #accessPage .archiveWrap ul.anchors li a {
        margin: 0 auto;
    }

    #accessSec {
        padding-bottom: 200px;
    }
}


/* access ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.address_yunoeki-oyu {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin: 40px 0 50px;
}

.PageAccess_box {
    /* width: 980px; */
    width: 100%;
    max-width: 980px;
    margin: 0 auto 30px;
    padding: 40px 0;
    background: #f1f9ff;
    border-radius: 10px;
}

.access_box_title {
    font-size: 21px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
}

.access_box_title::before {
    content: "";
    display: inline-block;
    margin-right: 20px;
    background-size: contain;
    background-repeat: no-repeat;
}

.access_box_title_train::before {
    width: 33px;
    height: 35px;
    background-image: url("img/access/icon_train.png");
}

.access_box_title_bus::before {
    width: 36px;
    height: 43px;
    background-image: url("img/access/icon_bus.png");
}

.access_box_title_plane::before {
    width: 48px;
    height: 39px;
    background-image: url("img/access/icon_plane.png");
}

.access_box_title_car::before {
    width: 47px;
    height: 36px;
    background-image: url("img/access/icon_car.png");
}

.acess_box_note {
    margin: 0 0 30px;
    text-align: center;
}

.tableAccess-wrap {
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
    padding: 0 20px;
}


/* スクロールバーのスタイル調整（オプション） */
.tableAccess-wrap::-webkit-scrollbar {
    height: 5px;
}

.tableAccess-wrap::-webkit-scrollbar-thumb {
    background-color: #aaa;
    border-radius: 6px;
}

.tableAccess-wrap::-webkit-scrollbar-track {
    margin: 0 20px;
    background-color: #eee;
    border-radius: 6px;
}

.scrollText.spOnly {
    width: 100%;
    max-width: 920px;
    margin: 0 auto 20px;
    padding: 0 20px;
}

.tableAccessCarTitle {
    font-size: 24px;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 15px;
}

.tableAccessCarTitle::before {
    content: "\25CF";
    display: inline-block;
}

.tableAccessCar-wrap {
    margin: 0 0 35px;
}

.tableAccess {
    width: 100%;
}

.tableAccess th,
.tableAccess td {
    height: 36px;
    line-height: 1.3;
    letter-spacing: 0;
}

.tableAccess th {
    /* width: 130px; */
    /* width: 13%; */
    width: 12%;
    font-size: 18px;
    vertical-align: middle;
    /* font-weight: normal; */
}

.tableAccess th .mini {
    font-size: 14px;
}

.tableAccess td {
    /* width: 295px; */
    /* width: calc( 61% / 2 ); */
    /* width: 20%; */
    font-size: 14px;
    text-align: center;
    vertical-align: bottom;
    padding-bottom: 5px;
}

.tableAccess td[colspan="3"] {
    width: 50%;
}

.tableBg_gray {
    background-color: #fff;
    border: solid 1px #333;
    border-radius: 10px;
}

.tableBg_gray .normal {
    font-weight: normal;
}

.hasNormal {
    padding: 30px 20px !important;
}

.tableBg_yellow {
    background-color: #3a7abb;
    border-radius: 10px;
    color: #fff;
}

.tableBorder {
    border-bottom: 1px dotted #000;
    box-sizing: border-box;
}

.tableBorderTop {
    border-top: 1px dotted #000;
    box-sizing: border-box;
    vertical-align: top !important;
}

.tableHalf th,
.tableHalf td {
    height: 18px;
}

.tableQuart th,
.tableQuart td {
    height: 9px;
}


@media screen and (max-width: 1000px) {


    .access_box_title {
        font-size: 16px;
    }

    .tableAccess-wrap {
        overflow-x: scroll;
        padding-bottom: 30px;
    }

    .tableAccess {
        width: 860px;
    }


    .scrollText {
        font-size: 16px;
        line-height: 1.5;
        display: flex !important;
        align-items: center;
        margin-bottom: 25px;
    }

    .scrollText::before {
        content: "";
        width: 16px;
        height: 16px;
        background-image: url("img/access/scroll-icon.png");
        background-size: contain;
        background-repeat: no-repeat;
        display: inline-block;
        margin-right: 10px;
        position: relative;
        left: 3px;
        top: 1px;
    }

    .PageAccess_box {
        margin: 0 20px 20px;
        max-width: calc(100% - 40px);
    }

    .scrollText.spOnly {
        display: none;
    }
}

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


    .address_yunoeki-oyu {
        font-size: 16px;
        text-align: left;
        margin: 20px 0 30px;
    }

    .gmap-inner {
        padding-bottom: 50%;
    }

    .tableAccessCarTitle {
        font-size: 20px;
    }
}

/* access end ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */


/* ------------------------------------------------------
アーカイブページ
------------------------------------------------------ */
#archivePage h2 {
    margin-bottom: 30px;
    text-align: center;
}

#archivePage h3 {
    font-size: 1.5rem;
    margin-bottom: 30px;
    padding-top: 120px;
    margin-top: -120px;
    text-align: center;
}

.archiveWrap {
    max-width: 1100px;
    display: table;
    margin: 0 auto 40px;
    padding: 0 20px;
}

.archiveWrap ul.anchors {
    justify-content: center;
    margin-bottom: 40px;
}

.archiveWrap ul.anchors li a {
    justify-content: center;
    padding: 10px 20px;
    border: solid 1px #333;
    margin-right: 15px;
    border-radius: 50px;
    position: relative;
    background: #fff;
    transition: .3s al ease-in-out;
}

.archiveWrap ul.anchors li a:hover {
    opacity: 1;
}

.archiveWrap ul.anchors li a img {
    position: relative;
    bottom: 2px;
    left: 4px;
}

.archiveWrap ul.anchors li a::after {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    left: 5px;
    top: 5px;
    background: #dbefff;
    z-index: -1;
    border-radius: 50px;
}

.archiveWrap ul.anchors li a:hover::after {
    z-index: -1;
}

.archiveWrap ul.anchors li:last-child a {
    margin-right: 0;
}

.archiveWrap ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.archiveWrap ul.photos {
    margin-bottom: 30px;
}

.archiveWrap ul.photos li {
    width: 31.5%;
    margin-bottom: 30px;
    border-radius: 10px;
}

.archiveWrap ul.photos li img {
    border-radius: 10px;
    box-shadow: 5px 5px 10px #dbefff;
    margin-bottom: 15px;
}

.archiveWrap ul.photos li p {
    text-align: center;
}

/* お堂っこコンクール審査結果 */
.prizeWrap {
    max-width: 960px;
    margin: 0 auto 140px;
    display: table;
    padding: 0 20px;
}

#archivePage .prizeWrap .subTitle {
    margin-bottom: 40px;
}

.prizeWrap ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.prizeWrap li {
    margin-bottom: 30px;
}

.prizeWrap li:not(:first-child) {
    width: 47%;
}

.prizeWrap li img.main {
    border: 5px solid #fff;
    margin-bottom: 20px;
    box-shadow: 5px 5px 10px #dbefff;
}

.prizeWrap li img.main,
.archiveWrap ul.photos li img {
    transition: opacity .3s ease-in-out;
}

.prizeWrap li img.main:hover,
.archiveWrap ul.photos li img:hover {
    opacity: .7;
}

.prizeName {
    text-align: center;
}

.prizeName .colored {
    background: #d7b363;
    color: #fff;
    display: table;
    margin: 0 auto 10px;
    border-radius: 50px;
    padding: 8px 20px;
    line-height: 1;

}

.prizeName p {
    font-size: 16px;
}

.prizeName .colored img {
    margin-right: 6px;
    position: relative;
    top: 1px;

}

/* モーダル（クリックで拡大表示） */
#myModal {
    z-index: 90;
}

.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    justify-content: center;
    align-items: center;
    cursor: pointer;
}


.modal-content {
    pointer-events: auto;
    position: relative;
    max-width: 90%;
    width: 60%;
    max-height: 90vh;
    /* overflow-y: auto;  */
    text-align: center;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
}

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

.archiveWrap .close {
    position: absolute;
    top: -20px;
    right: -20px;
    z-index: 100;
    color: white;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
    background: #ff6f15;
    padding: 8px 7px 9px 8px;
    border-radius: 50px;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
}

.thumbnail {
    cursor: pointer;
}

#archivePage .archiveWrap ul.anchors li {
    margin-bottom: 10px;
}

/* 追加: モーダルが開かれた時にスクロールを禁止するスタイル */
body.modal-open {
    overflow-y: hidden;
}

@media screen and (max-width: 768px) {
    .bread {
        margin-bottom: 20px;
        margin-left: 0;
    }

    .archiveWrap ul.anchors {
        justify-content: space-between;
    }

    .archiveWrap ul.anchors li {
        width: 49%;
        margin-bottom: 20px;
        text-align: center;
    }

    .archiveWrap ul.anchors li:nth-child(even) a {
        margin-right: 0;
    }

    .archiveWrap ul.anchors li:last-child {
        /* width: 100%; */
    }

    #archivePage h3 {
        padding-top: 80px;
        margin-top: -80px;
    }

    .archiveWrap ul.photos li {
        width: 48%;
        margin-bottom: 20px;
    }

    .modal-content {
        width: 90%;
    }

    .prizeName .colored {
        font-size: 0.8rem;
        line-height: 1.2;
    }

    .prizeName .colored img {
        position: relative;
        top: -1px;

    }

    .archiveWrap .close {
        top: -14px;
        right: -14px;
        font-size: 1rem;
    }
}

/* ------------------------------------------------------
トップページのアクセス部分
------------------------------------------------------ */
#topAccess {
    max-width: 440px;
    display: table;
    margin: 0 auto 60px;
    line-height: 2;
    padding: 0 20px;
}

#topAccess h2 {
    text-align: center;
}

#topAccess img[alt="アクセスマップ"] {
    display: table;
    margin: 0 auto 20px;
}

#topAccess .info {
    margin-bottom: 60px;
}

.link_btn {
    display: table;
    margin: 0 auto;
    justify-content: center;
    padding: 10px 40px 11px;
    border: solid 1px #333;
    border-radius: 50px;
    position: relative;
    background: #fff;
}

.link_btn::after {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    left: 5px;
    top: 5px;
    background: #c7e5ff;
    z-index: -1;
    border-radius: 50px;
}

.link_btn:hover {
    opacity: 1;
}

.link_btn img {
    position: relative;
    bottom: 5px;
    left: 4px;
}

.schedule .link_btn img {
    bottom: 1px;
}

/* ------------------------------------------------------
アクセスページ 追加
------------------------------------------------------ */
.addHr {
    border-style: none;
    border-bottom: 1px solid #bee1ff;
    margin: 40px 0;
}

.specialTrain h4 {
    text-align: center;
    font-weight: normal;
    font-size: 1.4rem;
    margin-bottom: 20px;
    padding: 0 20px;
}

.specialTrain .kaisai {
    margin-bottom: 30px;
    padding: 0 20px;
}

.specialTrain table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 10px;
    background-color: white;
}

.specialTrain td {
    width: calc(100% / 8);
    border: 1px solid #333;
    padding: 10px 0;
    text-align: center;
}

.specialTrain td.dotted {
    border-right: 1px dotted #333;
}

.specialTrain td.time {
    border-left: none;
}

.specialTrain .scrollText.spOnly {
    display: none !important;
}

@media screen and (min-width: 769px) {
    .specialTrain .kaisai {
        text-align: center;
    }
}

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

    .specialTrain table,
    .specialTrain .add {
        width: 800px;
    }

    .specialTrain .scrollText.spOnly {
        display: flex !important;
    }

    .specialTrain h4 {
        font-size: 1.2rem;
    }
}

/* シャトルバス */
#inYuzawa {
    margin-top: -100px;
    padding-top: 100px;
}

.shuttle_bus .textWrap {
    max-width: 680px;
    padding: 0 20px;
    display: table;
    margin: 60px auto 40px;
}

.shuttle_bus .textWrap .sub,
.shuttle_bus .textWrap .title {
    text-align: center;
}

.shuttle_bus .textWrap .sub {
    margin-bottom: 5px;
}

.shuttle_bus .textWrap .title {
    font-size: 1.2rem;
    margin-bottom: 20px;
}

.shuttle_bus .textWrap .info {
    margin-bottom: 10px;
}

.shuttle_bus .textWrap .info.add {
    font-size: 0.7rem;
}


.shuttle_bus .tableAccess-wrap {
    margin-bottom: 50px;
}

.shuttle_bus .tableAccess th {
    width: 45%;
    font-size: 1rem;
    text-align: left;
    padding: 0 20px;
}

.shuttle_bus .tableAccess th.tableBg_yellow {
    text-align: center;
}

.PageAccess_box {
    position: relative;
    z-index: 0;
}

.PageAccess_box .archiveWrap ul.anchors li:last-child a {
    padding: 10px 40px
}

.PageAccess_box .blueTitle {
    background: #3a7abb;
    display: table;
    margin: 0 auto 20px;
    padding: 3px 20px;
    color: #fff;
    border-radius: 50px;
    letter-spacing: 0.05rem;
}

.PageAccess_box .date {
    padding: 0 20px;
    text-align: center;
    font-size: 1.2rem;
}

.PageAccess_box .date .red {
    color: #d21012;
}

.PageAccess_box .date .blue {
    color: #3a7abb;
}

.shuttle_bus .archiveWrap {
    margin: 0 auto;
}

.underInfo,
.tableAccess.shuttle {
    line-height: 2;
    max-width: 710px;
    display: table;
    margin: 0 auto;
}

.underWrap {
    padding: 0 20px;
}

.shuttle_bus .archiveWrap ul.anchors {
    margin-bottom: 30px;
}



/* ------------------------------------------------------
お問い合わせページ
------------------------------------------------------ */
#accessPage.contactPage .subTitle {
    margin-bottom: 20px;
}

.width624 {
    margin: 0 auto;
    max-width: 664px;
    line-height: 2;
    margin-bottom: 30px;
    padding: 0 20px;
}

#accessPage.contactPage .subTitle.form {
    margin-bottom: 40px;
}

.contactPage .addHr {
    max-width: 980px;
    margin: 0 auto 50px;
}

.contactPage .archiveWrap {
    width: 100%;
}

.contactPage .archiveWrap ul.anchors li a {
    max-width: 400px;
    width: 100%;
    text-align: center;
}

.contactPage #mailformpro {
    max-width: 660px;
    margin: 0 auto;
    padding: 0 20px;
}

.contactPage #mailformpro input[type="text"],
.contactPage #mailformpro input[type="email"],
.contactPage #mailformpro textarea {
    background: #fff;
    padding: 10px;
    width: 100% !important;
    border-radius: 5px;
    border: #bee1ff solid 1px;
}

.contactPage .PageAccess_box {
    padding-bottom: 80px;
}

.contactPage .archiveWrap {
    margin-bottom: 0;
}

.denwaWrap {
    display: table;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
    max-width: 624px;
}

.denwaFlex,
.denwaFlex .left {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.denwaFlex div {
    width: 48%;
}

.denwaFlex .left {
    justify-content: flex-start;
    align-items: center;
}

.denwaFlex .left img {
    margin-right: 20px;
}

.denwaFlex .num {
    font-size: 1.8rem;
}

.denwaFlex .right {
    line-height: 2;
}

#accessPage.contactPage .subTitle.denwa {
    margin-bottom: 40px;
}

.PageAccess_box.denwa {
    padding-bottom: 50px;
}

@media screen and (max-width: 768px) {
    #accessPage.contactPage .subTitle {
        font-size: 1.2rem;
    }

    .denwaFlex {
        flex-direction: column;
    }

    .denwaFlex .left {
        margin-bottom: 30px;
        justify-content: center;
    }

    .denwaFlex .right {
        text-align: center;
    }

    .denwaFlex div {
        width: 100%;
    }
}

/* ------------------------------------------------------
FAQページ
------------------------------------------------------ */
.faqInner {
    display: table;
    padding: 0 20px;
    margin: 0 auto;
    max-width: 660px;
}

.faqInner .q,
.faqInner .a {
    position: relative;
    padding-left: 30px;
}

.faqInner .q::before,
.faqInner .a::before {
    position: absolute;
    font-size: 1.3rem;
    line-height: 1;
    left: 0;
    top: 2px;
    font-weight: bold;
}

.faqInner .q {
    font-size: 1.1rem;
    margin-bottom: 20px;
    font-weight: bold;
}

.faqInner .q::before {
    content: "Q.";
    color: #1b66bc;
}

.faqInner .a {
    line-height: 2;
}

.faqInner .a::before {
    content: "A.";
    color: #d21012;
}

.faqPage .anchors a {
    text-align: center;
}

.faqPage .anchors a img {
    bottom: 1px;
}

.fumei {
    margin-top: 80px;
}

.faqPage #accessSec {
    padding-bottom: 200px;
}

@media screen and (min-width: 769px) {
    .faqPage .width624 {
        text-align: center;
    }

    .faqPage .anchors a {
        width: 300px;
    }
}

@media screen and (max-width: 768px) {
    .fumei {
        margin-top: 60px;
    }

    .faqPage #accessSec {
        padding-bottom: 120px;
    }

    .faqPage .anchors a {
        width: calc(100vw - 40px);
    }
}

/* ------------------------------------------------------
イベントページ
------------------------------------------------------ */

.whiteWrap {
    padding: 0 20px;
}

.eventPage .whitePart {
    display: table;
    margin: 0 auto 40px;
    background: #fff;
    border-radius: 30px;
    padding: 30px 10px;
    max-width: 924px;
    width: 100%;
    position: relative;
}

.eventPage .whitePart::after {
    content: "";
    border-radius: 30px;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -2;
    background: #c2e3ff;
    top: 6px;
    left: 5px;
}

.white.event {
    line-height: 1.5;
    display: table;
    margin: 0 auto;
}

.white.event .sche p {
    display: flex;
    align-items: center;
}

.white.event .sche p:not(:last-child) {
    margin-bottom: 20px;
}

.white.event .day {
    color: #fff;
    font-size: 0.8rem;
    padding: 8px 20px 10px;
    text-align: center;
    line-height: 1;
    border-radius: 50px;
    margin-right: 10px;
}

.white.event .day.sat {
    background: #4a8bcd;
}

.white.event .day.sun {
    background: #dd4142;
}

.white.event .date {
    font-size: 1.6rem;
    line-height: 1;
}

.archiveWrap ul.anchors li a[href="#sat"] {
    border: solid 1px #4a8bcd;
}

.archiveWrap ul.anchors li a[href="#sun"] {
    border: solid 1px #dd4142;
}

.eventPage .archiveWrap ul.anchors li a::after {
    background: #c2e3ff;
}

.eventAnchor {
    text-align: center;
    color: #fff;
    padding: 0 20px;
}

.eventTitleWrap {
    width: 100%;
    max-width: 1260px;
    display: table;
    margin: 0 auto 10px;
    background: #4a8bcd;
    border-radius: 8px;
    padding: 10px 0;
    font-size: 1.2rem;
}

.eventPage .PageAccess_box {
    max-width: 1260px;
    padding: 30px;
    display: flex;
    margin: 0 auto 20px;
}

.eventTitle {
    font-size: 1.5rem;
    margin-bottom: 10px;
    font-weight: bold;
}

.eventInfo .intro {
    font-size: 0.875rem;
    line-height: 2;
    margin-bottom: 20px;
}

@media screen and (max-width: 1320px) {
    .eventPage .PageAccess_box {
        margin: 0 20px 20px;
        max-width: calc(100% - 40px);
    }
}

.sakaguraTitle {
    font-size: 1.2rem;
    margin-bottom: 10px;
    font-weight: bold;
}

.eventPage dl {
    display: flex;
    margin-bottom: 10px;
}

.eventPage dt {
    color: #1b66bc;
    min-width: 75px;
    font-weight: bold;
}

.sakaguraWrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.sakaguraWrap .intro {
    margin-bottom: 10px;
}

.sakaguraWrap li {
    width: 46%;
}

.sakaguraWrap li:not(:last-child) {
    margin-bottom: 30px;
}

.eventImage {
    width: 34%;
}

.eventInfo {
    width: 66%;
}

.sentyaku {
    margin-left: 20px;
    font-size: 0.7rem;
    color: #fff;
    background: #d21012;
    padding: 2px 6px 3px;
    border-radius: 5px;
    position: relative;
    bottom: 4px;
}

.colWrap {
    width: 49%;
}

.colFlex {
    max-width: 1260px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.colFlex .eventImage {
    width: 54%;
    margin-right: 20px;
}

.colFlex .eventTitle {
    font-size: 1.1rem;
}

#sun .eventTitleWrap {
    background: #d43d41;
}

#both .eventTitleWrap {
    background: #43484c;
}

.link_btn.event {
    margin-top: 30px;
}

.link_btn.event img {
    bottom: 1px;
}

.eventAnchor:not(:first-child) {
    margin-top: 60px;
}



.col_1 .eventImage {
    margin-right: 20px;
}

@media screen and (max-width: 1320px) {
    .colWrap {
        width: 50%;
    }

}




@media screen and (min-width: 769px) {
    .linkWrap {
        display: flex;
        justify-content: center;
    }

    .linkWrap a {
        margin: 0;
    }

    .linkWrap a:first-child {
        margin-right: 20px;
    }
}


@media screen and (min-width: 769px) {
    .eventImage {
        margin-right: 30px;
    }

}

@media screen and (max-width: 768px) {
    .archiveWrap ul {
        margin-bottom: 0;
    }

    .eventPage .PageAccess_box,
    .colFlex {
        flex-direction: column;
    }

    .eventImage,
    .eventInfo,
    .colWrap {
        width: 100%;
        margin: 0 0 40px;
    }

    .eventImage {
        margin-right: 0 !important;
    }

    .colWrap {
        margin-bottom: 0;
    }

    .eventImage img {
        width: 390px
    }

    .eventPage dt {
        min-width: 72px;
    }
}

@media screen and (max-width: 480px) {
    .white.event .date {
        font-size: 1rem;
    }

    .white.event .sche p:not(:last-child) {
        margin-bottom: 10px;
    }

    .eventPage .PageAccess_box {
        padding: 20px;
    }

    .sakaguraWrap {
        flex-direction: column;
    }

    .sakaguraWrap li {
        width: 100%;
    }

    .sentyaku {
        margin-left: 10px;
    }

    .eventInfo {
        margin-bottom: 0;
    }

    .colFlex .eventImage {
        width: 100%;
    }
}

/* ------------------------------------------------------
トップページ黒い部分
------------------------------------------------------ */
.mvPart .image.fadeUp {
    position: relative;
}

.blackPart {
    background: #000000;
    opacity: 0.82;
    width: 440px;
    position: absolute;
    bottom: 90px;
    right: -20px;
    padding: 30px;
    border-radius: 10px 0 0 10px;
}

.blackPart a {
    color: #fff;
    display: flex;
}

.blackPart .orange {
    margin-right: 10px;
    position: relative;
    top: 2px;
}

.blackPart .attention {
    line-height: 1.6;
    margin-right: 20px;
}

.blackPart .arrow {
    height: 5px;
    width: 35px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: skew(45deg);
    position: relative;
    top: 21px;
}

@media screen and (max-width: 768px) {
    .mvPart .image.fadeUp {
        margin-bottom: 30px;
    }

    .blackPart {
        bottom: 0;
        right: -20px;
        border-radius: 5px 0 0 5px;
    }
}

@media screen and (max-width: 480px) {
    .blackPart {
        width: 320px;
        right: -20px;
        padding: 15px;
    }

    .blackPart .orange {
        top: -2px;
    }

    .blackPart .orange img {
        width: 15px;
    }

    .blackPart .attention {
        font-size: 0.875rem;
        font-size: 13px;
        margin-right: 5px;
    }

    .blackPart .arrow {
        top: 19px;
        width: 20px;
    }
}

.intro.en {
    margin: 30px 0 10px;
    line-height: 1.5;
}

.intro.en.bold {
    font-weight: bold;
}

.intro.en .blue {
    color: #1b66bc;
}

@media screen and (min-width: 769px) {
    .acc_conWrap {
        display: flex;
        justify-content: space-between;
        max-width: 1050px;
        margin: 0 auto 100px;
    }

    .acc_conWrap>section {
        width: 48%;
    }
}

.acc_conWrap #contact .link_btn {
    margin-bottom: 30px;
    width: 100%;
    text-align: center;
}

.acc_conWrap #contact .link_btn,
.acc_conWrap #topAccess .link_btn {
    line-height: 1.2;
}

.acc_conWrap #contact .link_btn img,
.acc_conWrap #topAccess .link_btn img {
    top: 0;
}

.acc_conInner {
    max-width: 400px;
    margin: 0 auto;
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .acc_conWrap {
        margin-bottom: 100px;
    }
}

/* ------------------------------------------------------
アバウトページ
------------------------------------------------------ */
.aboutInner {
    max-width: 920px;
    display: table;
    margin: 0 auto;
    padding: 0 20px;
}

.aboutInner .secTitle {
    text-align: center;
    margin-bottom: 60px;
}

.aboutInner h3 {
    font-size: 1.2rem;
}

.aboutTitle {
    text-align: center;
    margin-bottom: 20px;
}

.introImage {
    margin-bottom: 30px;
}

.about_intro {
    line-height: 1.8;
    margin-bottom: 20px;
}

#about {
    margin-bottom: 180px;
}

.historyInner {
    max-width: 1220px;
    padding: 0 20px;
    margin: 0 auto;
}

#history {
    padding: 100px 0 280px;
}

.history {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.history:not(:last-child) {
    margin-bottom: 60px;
}

.history .image {
    width: 44%;
}

.history .text {
    width: 50%;
    line-height: 1.8;
}

.history h3 {
    margin-bottom: 10px;
}

#about .link_btn img {
    bottom: 1px;
}

@media screen and (max-width: 768px) {
    .aboutInner .secTitle {
        margin-bottom: 30px;
    }

    #about {
        margin-bottom: 150px;
    }

    .history.rekishi {
        flex-direction: column;
    }

    .history.matsuri {
        flex-direction: column-reverse;
    }

    .history .image,
    .history .text {
        width: 100%;
    }

    #history {
        padding: 60px 0 200px;
    }

    .historyInner h3.spOnly {
        margin-bottom: 20px;
        font-size: 1.4rem;
    }

    .history .image {
        margin-bottom: 20px;
    }

}

.aikenPark {
    display: table;
    margin: 20px auto 0;
}

.deepBlue {
    color: #fff;
    padding: 60px 20px;
    background: url(img/top/blue_bg.png);
    background-size: 50%;
    background-position: center;
}

.deepBlue h3,
.deepBlue p {
    display: table;
    margin: 0 auto;
}

.deepBlue h3 {
    font-size: 1.4rem;
    margin-bottom: 20px;
}

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

    .deepBlue {
        background-size: 100%;
    }
}


/* ------------------------------------------------------
協賛・サポーター
------------------------------------------------------ */
.supporters {
    display: flex;
    flex-wrap: wrap;
}

.supporters li {
    padding-left: 30px;
    margin-right: 20px;
    margin-bottom: 15px;
    position: relative;
}

.supporters li::after {
    content:"";
    position: absolute;
    top: 50%;
    left: 2px;
    transform: translateY(-50%);
    background: url(img/top/nikuq.png);
    width: 20px;
    height: 30px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
}
.supporterPage .PageAccess_box{
    background: #fff;
}
.supporterPage .zhun{
    text-align: right;
}

@media screen  and (max-width: 480px){
    .supporters li {
        width: 100%;
    }
}

/* ------------------------------------------------------
アーカイブ2023/2024
------------------------------------------------------ */

/* 審査結果ページ */
.prizeWrap {
    margin: 0 auto 260px;
}
@media screen and (max-width: 768px){
    .prizeWrap {
        margin: 0 auto 140px;
    }
}

/* アーカイブページ */
#history_sec{
    padding-bottom: 200px;
}
#history_sec .historyWrap{
    max-width: 1100px;
    display: table;
    margin: 0 auto 40px;
    padding: 0 20px;
}
#history_sec .historyWrap h2{
    margin-bottom: 50px;
}
#history_sec .historyWrap > ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#history_sec .historyWrap > ul > li{
    width: 31.5%;
    margin-bottom: 30px;
}
#history_sec .historyWrap > ul > li.empty{
    height: 0;
    margin: 0;
    padding: 0;
}
#history_sec .historyWrap > ul > li h3{
    font-family: 'Merienda', cursive;
    padding: 0;
    margin-top: 0;
    margin-bottom: 20px;
}
#history_sec .historyWrap > ul > li a.reaf{
    position: relative;
    margin-bottom: 30px;
}
#history_sec .historyWrap > ul > li a.reaf .icon{
    position: absolute;
    z-index: 2;
    bottom: 10px;
    right: 10px;
    background: #00000099;
    padding: 5px;
    width: 35px;
}
#history_sec .historyWrap > ul > li ul.btn li:not(:last-of-type){
    margin-bottom: 15px;
}
#history_sec .historyWrap > ul > li ul.btn li a{
    padding: 15px;
    text-align: center;
    background: #fff;
}
.archiveWrap ul.photos:last-child{
    margin-bottom: 80px;
}


@media screen and (max-width: 768px){
    #history_sec{
        padding-bottom: 100px;
    }
    #history_sec .historyWrap > ul > li{
        width: 100%;
        margin-bottom: 60px;
    }
    .archiveWrap ul.photos:last-child{
        margin-bottom: 40px;
    }
}







/* font-family: 'Merienda', cursive; */
/* ------------------------------------------------------
レスポンシブ優先
------------------------------------------------------ */
.spOnly {
    display: none;
}

.only480 {
    display: none;
}

@media screen and (max-width: 768px) {
    .spOnly {
        display: inline;
    }

    .pcOnly {
        display: none;
    }

    .historyInner h3.spOnly {
        display: block;
    }

}

@media screen and (max-width: 480px) {
    .only480 {
        display: inline;
    }
}




/* 0210追加＝＝＝＝＝＝＝＝＝ */
.denwaFlex_left {
    width: 100% !important;
}

.denwaAddText {
    margin: 30px 0 0;
}

.denwaAddText span {
    font-size: 1.8rem;
}

.denwaFlex_right {
    display: flex;
    align-items: center;
}

@media screen and (max-width: 768px) {
    #history_sec .historyWrap h2{
        margin-bottom: 40px;
    }
    .denwaAddText {
        text-align: center;
    }

    .denwaFlex_right {
        justify-content: center;
        margin-top: 30px;
    }
    .archiveWrap ul.anchors li a{
        font-size: 12px;
    }
    .archiveWrap ul.anchors li a img{
        bottom: 0;
    }
}