/* css document */
/* UTF-8 */

/* ----- reset ------ */
html{overflow-x: hidden;}
*{
    font-family: 'Noto Sans JP', sans-serif;;
    margin: 0;
    padding: 0;
    list-style: none;
}
img{
    width: 100%;
    max-width: 100%;
}
a{text-decoration: none;}

/* media set */
.pctab{display: block!important;}
.sp{display: none!important;}
.pm-w{display:none;}
body{
    position: relative;
    background:url(img/bg-area.jpg) center;
    width: 100%;
    height: 100vh;
    font-size: 16px;
}
.kiwi{font-family: 'Kiwi Maru', serif;}
/* ---------------- youtube --------------------- */
/* .youtubeblk{max-width:525px;}
.youtubeblk_inner{
    position: relative;
    padding-bottom:56.25%;
    width:100%;
    margin: 45px 0;
    height: 0;
    overflow: hidden;
}
.youtubeblk_inner iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
} */
/* ------------- 雲 ------------------ */
#cloud{position:fixed;}
#cloud img{
    width:100%;
    height:auto;
    object-fit:cover;
}
#cloud.cloud01 {
    width: 18%;
    top: 74%;
    left: 0%;
    animation: lf01anim 8s infinite ease-out;
}
@keyframes lf01anim{
    0% {
        transform:translate(0,0);
    }
    50%{
        transform:translate(0,-3.5vh);
    }
    100% {
        transform:translate(0,0);
    }
}
#cloud.cloud02 {
    width: 12%;
    left: 21%;
    top: 38%;
    animation: lf02anim 8s infinite ease-out;
    animation-delay: 700ms;
}
@keyframes lf02anim{
    0%{
        transform:translate(0,0);
    }
    50%{
        transform:translate(0,2.5vh);
    }
    100%{
        transform:translate(0,0);
    }
}
#cloud.cloud03 {
    width: 8%;
    left: 69%;
    top: 20%;
    animation: lf03anim 10s infinite ease-out;
    animation-delay: 1s;
}
@keyframes lf03anim{
    0% {
        transform:translate(0,0);
    }
    50%{
        transform:translate(0,4.5vh);
    }
    100% {
        transform:translate(0,0);
    }
}
#cloud.cloud04 {
    width: 14%;
    right: 6%;
    top: 42%;
    animation: lf04anim 9s infinite ease-out;
    animation-delay: 650ms;
}
@keyframes lf04anim{
    0% {
        transform:translate(0,0);
    }
    50%{
        transform:translate(0,-3vh);
    }
    100% {
        transform:translate(0,0);
    }
}
/* ------------- 信くん countdown ----------------- */
#countdown {
    width: 242px;
    position:fixed;
    right:20px;
    bottom: 0;
    z-index: 100;
}
p.countdown-item {
    position: absolute;
    left: 50%;
    top: 34%;
    color: #ffffff;
    transform: translateX(-50%);
    font-size:17px;
}
#countTimer--wrap{
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
#countTimer{
    color: #ffffff;
    font-size:98px;
    position: absolute;
    left: 50%;
    top: 35%;
    transform: translateX(-50%);
    font-weight: bold;
    display: flex;
    align-items:baseline;
    justify-content: center;
    flex-wrap: nowrap;
}
div#countTimer span{
    font-size: 28px;
    font-weight: normal;
    color: #ffffff;
    display: inline-block;
}
/* -------------- main --------------- */
.contents{
    max-width: 1100px;
    margin: 0 auto;
}
main{position: relative;}
#MV{
    position: relative;
    height: 95vh;
}
#MV .sky{
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -3;
}
#MV .sky img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#MV .sky{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    z-index: 2;
}
.flag {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
    width: 100%;
}
.mountain {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 3;
}
.mv-text-wrapper{
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 7;
}
.event-title {
    width: 33.5vw;
    max-width: 850px;
    margin-bottom: 25px;
}
.event-mainitem {
    width: 46vw;
    max-width: 1070px;
    padding-bottom:3vh;
}
/* 最新情報 */
#info{
    margin-top: -10px;
    background: #A84E91;
    width: 100%;
    padding: 23px 0;
    position: relative;
    z-index: 5;
}
.info-inner {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    padding: 0 20px;
}
.info-item{
    width:17%;
    font-size: 25px;
    line-height: 2.52;
    color: #ffffff;
}
.info-list{
    border-left: 1px solid #ffffff;
    padding-left: 70px;
    margin-left: 50px;
}
.info-list li{
    display: flex;
    margin: 19px 0;
}
.info-list li p.info--date{
    color: #ffffff;
    margin-right: 32px;
    font-weight:500;
}
.info-list li p.info--title{
    color: #ffffff;
    font-size: 18px;
    font-weight:500;
}
.info-list li p.info--title:nth-of-type(2){
    margin-top: 7px;
}
.info-list li p.info--title a{
    color: #ffffff;
    font-size: 18px;
    font-weight:500;
    text-decoration: underline;
}
.info-list li p.info--title a:hover{
    text-decoration: none;
}
#pagemenu {
    background: #ffffff;
    padding: 8px 0;
}
#pagemenu ul{
    display: flex;
    align-items: center;
    justify-content: center;
}
#pagemenu ul li{
    border-left: 1px solid #D5D5D5;
}
#pagemenu ul li:first-of-type{
    border-left: 1px solid #D5D5D5;
}
#pagemenu ul li:last-of-type{
    border-right: 1px solid #D5D5D5;
}
#pagemenu ul li a{
    display:block;
    align-items: center;
    width: 275px;
    position: relative;
    padding:13px 35px;
    font-weight: bold;
    color: #000000;
    box-sizing: border-box;
    transition: all .3s;
    text-align: center;
}
#pagemenu ul li a p span{
    transition: all .3s;
}
#pagemenu ul li a:hover,
#pagemenu ul li a:hover p span{
    color: #BABABA!important;
}
#pagemenu ul li a span.arrow__btn{
    display:block;
    background:#2A696E;
    width: 24px;
    height: 24px;
    border-radius: 50px;
    position: relative;
    margin:4px auto 0;
}
#pagemenu ul li a span.arrow__btn::after{
    content:"";
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
    width: 8px;
    height: 8px;
    border: 2px solid #ffffff;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    transform:translate(-50%,-50%) rotate(135deg);
}
.contents__item{margin: 0 auto;}
/* 挨拶 */
h3.contents__item.thanks{
    font-size: 35px;
    font-weight: 500;
    text-align: center;
    color:#2A696E;
    padding-top: 120px;
}
.thanks_contents_blk{
    max-width: 756px;
}
.thanks_text{
    padding: 60px 0 150px;
}
/* レポート */
.report_contents_blk{
    padding-bottom: 150px;
}
.report_sub_item{
    max-width: 300px;
    margin: auto;
    padding-bottom: 50px;
}
#report h3.contents__item.kiwi{
    padding-bottom: 40px;
}
.report_next .contents__item{
    font-size: 30px;
    font-weight: 500;
    text-align: center;
    color:#2A696E;
}
.report_next img{
    padding-top: 60px;
}
/* イベント */
h3.contents__item.kiwi{
    font-size: 50px;
    font-weight: 500;
    text-align: center;
    color:#2A696E;
    line-height: 1.75;
    padding-top: 52px;
    position: relative;
}
h3.contents__item.kiwi::before{
    content: "";
    width: 137px;
    height: 70px;
    background: url(img/mitem_circle.svg) center no-repeat;
    background-size:95%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,0%);
}
#event {
    padding-top: 150px;
}
h3.contents__item.event.kiwi {
    max-width: 475px;
    height: 262px;
    position: relative;
    padding-top: 0px;
}
h3.contents__item.event.kiwi img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}
h3.contents__item.event.kiwi p {
    font-size: 50px;
    font-weight: 500;
    text-align: center;
    color: #2A696E;
    line-height: 1.75;
    padding-top: 52px;
    position: relative;
    position: absolute;
    top: 39%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
}
h3.contents__item.kiwi.event::before{content: none;}
h3.contents__item.event.kiwi p::before{
    content: "";
    width: 137px;
    height: 70px;
    background: url(img/mitem_circle.svg) center no-repeat;
    background-size:95%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,0%);
}
.event_contents_innerwrap{
    position: relative;
}
.flowitem_left {
    width: 371px;
    position: absolute;
    z-index: 4;
    left: 0;
    top: 28%;
}
.flowitem_right {
    width: 284px;
    position: absolute;
    z-index: 4;
    right: 0;
    top: 67%;
}
#eat{
    padding-top: 65px;
    background: rgb(0,0,0,0);
    background: linear-gradient(180deg, rgba(0,0,0,0) 290px, rgba(246,161,193,1) 290px);
}
#eat::before {
    content: "";
    width: 101%;
    display: block;
    position: absolute;
    left: 50%;
    top: 200px;
    transform: translateX(-50%);
    background: url(img/bg-pink.svg);
    background-repeat: repeat-x;
    background-size:cover;
    padding-top: 95px;
}
#enjoy{
    padding-top: 65px;
    background: rgb(246,161,193,1);
    background: linear-gradient(180deg, rgba(246,161,193,1) 290px, rgba(132, 214, 230, 1) 290px);
}
#enjoy::before {
    content: "";
    width: 101%;
    display: block;
    position: absolute;
    left: 50%;
    top: 200px;
    transform: translateX(-50%);
    background: url(img/bg-blue.svg);
    background-repeat: repeat-x;
    background-size:cover;
    padding-top: 95px;
}
#learn{
    padding-top: 65px;
    background: rgb(132, 214, 230, 1);
    background: linear-gradient(180deg, rgba(132, 214, 230, 1) 290px, rgba(165, 215, 71, 1) 290px);
    z-index: 2;
}
#learn::before {
    content: "";
    width: 101%;
    display: block;
    position: absolute;
    left: 50%;
    top: 200px;
    transform: translateX(-50%);
    background: url(img/bg-green.svg);
    background-repeat: repeat-x;
    background-size:cover;
    padding-top: 95px;
    z-index: 1;
}
#learn::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%,99%);
    width: 100%;
    height: 25vh;
    background: #A5D747;
    border-radius: 50% 50% 50% 50% / 0% 0% 100% 100%;
    z-index: -1;
}
.main_img {
    position: relative;
    padding-bottom: 140px;
    z-index: 3;
}
.main_img .eventarea_item {
    width: 201px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%,0%);
}
.main_img .eventarea_item.laern{
    width: 300px;
}
.eventarea_contentswrap{
    padding: 87px 0px 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content:center;
    position: relative;
    z-index: 8;
}
.eventarea_contentswrap.two-column {
    max-width: 755px;
    margin: 0 auto;
    justify-content: space-between;
}
.eventarea_contentswrap > div{
    width:337px;
}
.eventarea_contentswrap.two-column > div:nth-of-type(n+3){
    margin-top: 65px;
}
.eventarea_contentswrap.three-column > div:nth-of-type(2){
    margin: 0 43px;
}
.eventarea_contentswrap.three-column > div:nth-of-type(n+4){
    margin-top: 65px;
}
.eventarea_contentswrap.three-column > div:nth-of-type(5){
    margin-left: 43px;
}
.eventarea_blk .catch {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin: 27px 0 23px;
}
.eventarea_blk p{
    font-size: 14px;
    line-height: 1.7;
}
.eventarea_blk .link a{
    background: #FFFFFF;
    text-align:center;
    width: 141px;
    display: block;
    font-size: 14px;
    color:#2A696E;
    font-weight: 500;
}
.eventarea_blk .link a {
    background: #FFFFFF;
    text-align: center;
    width: 141px;
    display: block;
    font-size: 14px;
    color: #2A696E;
    font-weight: 500;
    font-weight: bold;
    padding: 5px 3px;
    box-sizing: border-box;
    border-radius: 20px;
    margin: 17px auto;
    transition: all .3s ease;
}
.eventarea_blk .link a:hover{
    opacity: 0.6;
}
.step {
    width: auto;
    height: 150px;
    text-align: center;
}
.step img{
    width: auto;
    height:100%;
}
.stamprally {
    max-width: 715px;
    margin: 0 auto;
    z-index: 5;
    position: relative;
}
/* ゲスト */
#gest{
    padding-top:100px;
}
#gest .gest_contwrap{
    max-width: 992px;
    margin: 0 auto;
    background: rgba(255,255,255,0.75);
    border-radius: 34px;
    box-sizing: border-box;
    padding: 54px 70px;
    position: relative;
}
.gest_contwrap .item{
    max-width: 268px;
    position: absolute;
    top: -52px;
    left: 50%;
    transform: translate(-50%,0%);
    z-index: 2;
}
#timetable{padding-top: 100px;}
.prepar {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin: 100px 0 120px;
}
.timetable_pic {
    margin: 85px auto 0;
    max-width: 990px;
    width: 90%;
}
/* ================== アコーディオン ===================== */
#accordion_area--wrap > p{
    text-align: center;
    margin: 27px auto 17px;

}
.accordion_inner {display:block;}
.accordion_list{padding-top: 35px;}
.accordion_inner {
    width: 90%;
    margin: 40px auto 45px;
    line-height: 1.7;
    font-weight: normal;
    font-size: 14px;
}
.accordion_title {
    display: flex;
    align-items: center;
    width: 100%;
    background:#A84E91;
    color: #ffffff;
    padding: 16px 25px 15px 35px;
    border-radius: 50px;
    font-weight: normal;
    box-shadow: #56414370 0 5px 0px;
    box-sizing:border-box;
    font-size: 20px;
    font-weight: bold;
}
.accordion_title.gray{
    background: #AEADAD;
    cursor: default;
}
.accordion_title .plmi {
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    right: 25px;
}
.accordion_title .plmi::before{
    content: "";
    width: 100%;
    height: 3px;
    background: #ffffff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.accordion_title .plmi::after{
    content: "";
    width: 3px;
    height: 100%;
    background: #ffffff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: all .2s;
}
.accordion_title.open .plmi::after{
    transform:translate(-50%,-50%) rotate(-90deg);
    opacity: 0;
}
.accordion_inner {
    width: 90%;
    margin: 40px auto 45px;
    line-height: 1.7;
    font-weight: normal;
    font-size: 14px;
}
.accordion_inner .gestinfo_blk:nth-of-type(1){border-top: 1px solid rgba(0,0,0,0.5);}
.gestinfo_blk{
    border-bottom: 1px solid rgba(0,0,0,0.5);
    display: flex;
    padding: 8px 0 7px;
    justify-content:space-between;
}
.gestinfo_blk .gestinfo{
    width: 66%;
}
.gestinfo_blk .gestinfo.flex{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.gestinfo_blk .gestinfo p.purple{
    color: #A84E91;
    text-align: right;
    padding-left: 1.25em;
    text-indent: -1.25em;
    padding-right: 10px;
}
.gestinfo_blk .gestinfo div{
    font-size: 16px;
    font-weight: bold;
}
.gestinfo_blk .gestpic{
    width: 250px;
}
/* イベント詳細 */
#event_detail {
    padding-top:50px;
    position: relative;
}
.event_detail_contwrap{
    background: #FFFFFF;
    padding-bottom: 235px;
    position: relative;
}
.event_detail_contwrap .hill{
    position: absolute;
    left: 50%;
    bottom: -1px;
    transform: translateX(-50%);
    width: 101%;
}
.event-leaflet-wrap {
    display: flex;
    align-items: center;
}
.leaflet-flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 65px auto 30px;
}
.eventbook_btn {
    margin-top: 43px;
    max-width: 220px;
}
.leaflet-flex:nth-of-type(2) .eventbook_btn{
    max-width: 230px;
}
.eventbook_btn a{transition: all .3s ease;}
.eventbook_btn a:hover{opacity: 0.6;}
/* 案内 */
.goannai {
    margin: 70px auto 0px;
    max-width: 875px;
}
.goannai h4{
    color: #A84E91;
    padding-bottom: 15px;
    border-bottom: 2px solid #A84E91;
    font-size:28px;
}
.goannai h4 span{
    width: 27px;
    height: 27px;
    border-radius: 50px;
    display: inline-block;
    background: #A84E91;
    vertical-align: middle;
    margin-right: 17px;
    margin-bottom: 3px;
}
.goannai h4 small{
    color: #000000;
    font-size:16px;
    padding-left: 15px;
}
.eventdetail_attention {
    margin: 40px auto;
    max-width: 94%;
}
.eventdetail_attention div {
    display: flex;
    align-items: flex-start;
    line-height: 1.5;
    margin-bottom: 20px;
}
.eventdetail_attention div .pa-no{
    font-weight: 500;
    padding-right: 10px;
}
ul.annai_list {
    margin: 70px auto;
}
ul.annai_list li{
    font-weight: bold;
    padding: 15px 0;
    border-top:#AEADAD 1px solid;
    display: flex;
    align-items:center;
}
ul.annai_list li:last-of-type{border-bottom: #AEADAD 1px solid;}
.annai-item{
    margin-right: 20px;
    width: 89px;
}
.annai span{
    font-weight: normal;
    font-size: 14px;
    padding: 0 20px;
}
/* アクセス */
#access {padding-top: 80px;}
.place {
    text-align: center;
    margin: 55px auto 55px;
}
.place > div{
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 15px;
}
.place > p{font-size: 14px;}
.accessflex {
    display: flex;
    align-items: center;
    justify-content: center;
}
.accessflex > div:nth-of-type(2){margin-left: 77px;}
.googlemap_wrap{
    width: 100%;
    height: 456px;
    margin: 65px auto 57px;
}
.smallbtn {
    max-width: 175px;
    margin: 0 auto;
}
.smallbtn a{
    display: block;
    width: 100%;
    color: #ffffff;
    background: #2A696E;
    text-align: center;
    font-size: 14px;
    padding: 8px 3px 9px;
    box-sizing: border-box;
    border-radius: 30px;
    transition: all .3s ease;
}
.smallbtn a:hover{
    opacity: 0.6;
}
.parking {
    text-align: center;
    max-width: 785px;
    margin: 65px auto;
    border: 1px solid #C4C4C4;
    box-sizing: border-box;
    padding: 29px 0 50px;
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.parking p{
    color: #2A696E;
    font-size: 24px;
    font-weight: bold;
}
.parking div{
    max-width: 565px;
    margin-top: 35px;
}
/* お問い合わせ */
.contact__tel{
    background: #2A696E;
    padding:206px 0 120px;
    color: #ffffff;
}
.contact__tel--inner{
    max-width: 950px;
}
.contact__tel--inner h4{
    color: #ffffff;
    padding-bottom: 15px;
    border-bottom: 2px solid #ffffff;
    font-size:28px;
    margin-bottom: 25px;
}
.contact__tel--inner h4 span{
    width: 27px;
    height: 27px;
    border-radius: 50px;
    display: inline-block;
    background: #ffffff;
    vertical-align: middle;
    margin-right: 17px;
    margin-bottom: 3px;
}
.contents__item.participant-live {
    max-width: 670px;
    margin-bottom: 70px;
}
.contact{
    max-width: 94%;
    margin: 0 auto;
}
.contact a.tel{
    display: inline-block;
    width:272px;
    vertical-align:baseline;
}
.contact a.form{
    color: #ffffff;
    text-decoration: underline;
}
.contact a.form.red{
    color: #C33D3B;
    text-decoration: underline;
}
.contact a.form:hover{text-decoration: none;}
.infoimg-flex {
    display: flex;
    justify-content: space-between;
}
.infoimg-flex p{
    width: 49%;
}
/* ========================= footer ======================= */
#page_top {
    display: inline-block;
    position: absolute;
    top: -85px;
    left: 50%;
    transform: translateX(-50%);
    width: 180px;
    height: 100px;
    border-radius: 170px 170px 0 0;
    background: #ffffff;
    z-index: -1;
    text-align: center;
    cursor: pointer;
}
#page_top::before{
    content: "";
    width: 1px;
    height:10px;
    background: #000000;
    position: absolute;
    top: 9px;
    left: 48%;
    transform:rotate(-135deg) translateX(-50%);
}
#page_top::after{
    content: "";
    width: 1px;
    height:30px;
    background: #000000;
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
}
#page_top a{
    color: #000000;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;
    transition: all .3s;
}
#page_top:hover a{color:#F29600;}
footer{
    position: relative;
    z-index: 10;
    background: #ffffff;
    padding: 40px 0 15px;
}
.copyright{text-align: center;}
ul.footer_sns{
    text-align: center;
    margin-bottom: 30px;
}
.footer_sns li{
    display: inline-block;
    margin: 8px 5px;
}
.foot_sns_btn a{
    display: inline-block;
    font-size: 13px;
    text-align: center;
    width: 185px;
    padding: 10px;
    border: 1px solid #CCC;
    border-radius: 10px;
    color: #000000;
}
.footer_sns li:first-of-type .foot_sns_btn a{
    padding: 8px 10px;
}
.foot_sns_btn span{
    vertical-align: middle;
    display: inline-block;
    text-align: left;
    margin: 0 5px;
    line-height: 1.4;
}
.btn_twitter {
    background: #000000;
    border-radius: 7px;
    padding: 5px 10px 5px 10px;
    font-size: 24px;
    color: #FFF;
    height: 43px;
    box-sizing: border-box;
}
.btn_twitter .x-logo {
    width: 23px;
    display: block;
}
.btn_youtube{
    color: #FF0000;
    font-size: 44px;
}
.btn-insta{
    padding-top:3px;
}
/* report */
/* #report{
    padding-top: 100px;
}
h3.contents__item.report {
    width: 300px;
}
.reportwrap{
    max-width: 992px;
    background: #ffffff;
    border-radius: 27px;
    position: relative;
    margin: 30px auto 100px;
    padding: 5px 0px;
    box-sizing: border-box;
    font-weight: bold;
}
.writing {
    margin: 23px auto;
}
.writing-item {
    padding-left: 1.3em;
    position: relative;
    font-weight: bold;
}
.writing-item::after{
    content: "";
    width: 12px;
    height: 12px;
    background: #000;
    border-radius: 20px;
    position: absolute;
    left: 0;
    top: 0.45em;
} */
/* ======================= media =========================== */
@media (max-width:1600px){
    .event-title {width: 37vw;}
    .event-mainitem {width: 49vw;}
}
@media (max-width:1300px){
    .contents{max-width:85%;}
    /* countdown */
    #countdown {width: 200px;}
    p.countdown-item {font-size:13.6px;}
    #countTimer{font-size:82px;}
    div#countTimer span{font-size: 23px;}
    /* イベント */
    .event_detail_contwrap {padding-bottom: 130px;}
    .eventarea_contentswrap.three-column {
        max-width: 755px;
        margin: 0 auto;
        justify-content:center;
    }
    .eventarea_contentswrap.three-column > div:nth-of-type(n+4) {margin-top: 40px;}
    .eventarea_contentswrap.three-column > div:nth-of-type(2) {margin: 0px;}
    .eventarea_contentswrap.three-column > div:nth-of-type(5) {margin-left: 0px;}
    .eventarea_contentswrap > div {width: 44.5%;}
    .eventarea_contentswrap > div:nth-of-type(n+3),
    .eventarea_contentswrap.two-column > div:nth-of-type(n+3){margin-top: 40px;}
    .eventarea_contentswrap.three-column > div:nth-of-type(2n){margin-left:11%;}
    .eventarea_contentswrap {padding: 67px 0px 30px;}
    /* お問い合わせ */
    .contact__tel {padding: 130px 0 120px;}
}

@media(max-width:1250px){
    /* イベント */
    h3.contents__item.event.kiwi p,
    h3.contents__item.kiwi{
        font-size: 43px;
        padding-top: 62px;
    }
    #learn::after {height: 15vh;}
    .stamprally {max-width: 550px;}
    .prepar {margin: 70px 0 25px;}
    /* 詳細 */
    .leaflet-flex {margin: 45px auto 30px;}
    .eventbook_btn {margin-top: 25px;}
    .goannai {margin: 50px auto 0px;}
    ul.annai_list {margin: 50px auto;}
}

@media (max-width:1150px){
    /* menu */
    #pagemenu ul li{width: 25%;}
    #pagemenu ul li a {width: 100%;}
}

@media (max-width:1078px){
    /* countdown */
    #countdown {width:170px;}
    p.countdown-item {font-size:12px;}
    #countTimer{font-size:66px;}
    #pagemenu ul li a{padding:13px 20px;}
}

@media(max-width:1024px) and (orientation: portrait){
    #MV {height: 82vh;}
    #MV .sky img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    /* イベント */
    .event-title {width: 60vw;}
    .event-mainitem {width: 85vw;}
}
@media(max-width:1024px){
    #cloud img {
        width: 90%;
        height: auto;
    }
    /* イベント */
    #event {padding-top: 120px;}
    #eat{
        padding-top: 65px;
        background: rgb(0,0,0,0);
        background: linear-gradient(180deg, rgba(0,0,0,0) 250px, rgba(246,161,193,1) 250px);
    }
    #eat::before {
        top: 176px;
        padding-top: 75px;
    }
    #enjoy{
        padding-top: 65px;
        background: rgb(246,161,193,1);
        background: linear-gradient(180deg, rgba(246,161,193,1) 250px, rgba(132, 214, 230, 1) 250px);
    }
    #enjoy::before {
        top: 176px;
        padding-top: 75px;
    }
    #learn{
        padding-top: 65px;
        background: rgb(132, 214, 230, 1);
        background: linear-gradient(180deg, rgba(132, 214, 230, 1) 250px, rgba(165, 215, 71, 1) 250px);
        z-index: 2;
    }
    #learn::before {
        top: 176px;
        padding-top: 75px;
    }
    .flowitem_left {width: 300px;}
    .flowitem_right {
        width: 225px;
        top: 80%;
    }
    #gest .gest_contwrap {
        max-width: 90%;
        border-radius: 28px;
        padding: 45px 35px;
    }
}

@media(max-width:950px){
    #pagemenu ul li a {
        padding: 13px 15px;
        font-size: 15px;
    }
    /* イベント */
    .main_img .eventarea_item {width: 185px;}
    .main_img .eventarea_item.laern {
        width: 255px;
        bottom: 10px;
    }
    .eventarea_contentswrap > div {width: 46.5%;}
    .eventarea_contentswrap.three-column > div:nth-of-type(2n) {margin-left: 7%;}
}
@media(max-width:820px){
    .event-leaflet-wrap {
        flex-direction: column;
    }
}
@media(max-width:800px){
    .contents {max-width: 90%;}
    #pagemenu ul li a {padding: 13px 10px;}
    #pagemenu ul li a span.arrow__btn {margin: 6px auto 0;}
    #info {padding: 41px 0 23px;}
    .info-item {
        margin: 0 auto;
        text-align: center;
        width: 100%;
    }
    .info-inner {display:block;}
    .info-list {
        border-left:none;
        padding-left: 0px;
        margin-left: 0px;
    }
    .parking {max-width:90%;}
    .parking div {max-width: 81%;}
    .event_detail_contwrap {padding-bottom: 80px;}
    .contact__tel {padding: 75px 0 120px;}
}

@media(max-width:759px){
    .pctab{display:none!important;}
    .sp{display:block!important;}
    body{font-size: 14px;}
    /* ================== アコーディオン ===================== */
    .accordion_inner {display:none;}
    .event-mainitem {max-width: 95vw;}
    .countdown-item span{display: none;}
    #sp-menu {
      position: fixed;
      width: 100%;
      z-index: 100;
      bottom: 0;
    }
    ul.sp-menu-list {
        height: 60px;
        display: flex;
        align-items: center;
        border-top: 4px solid #A84E91;
    }
    ul.sp-menu-list li{
        width: 25%;
        height: 100%;
    }
    ul.sp-menu-list li a{
        width: 100%;
        height: 100%;
        box-sizing: border-box;
        padding: 7px 0;
        display: block;
        color: #333333;
        background: #ffffff;
        display: flex;
        flex-direction: column;
        text-align: center;
        font-weight: bold;
        justify-content: center;
        font-size: 13px;
        position: relative;
    }
    ul.sp-menu-list li a span{
        display: block;
        width: 28px;
        margin: 3px auto -1px;
    }
    ul.sp-menu-list li a span.photocon-entry {
        position: absolute;
        top: -22px;
        left: 70%;
        right: unset;
        width: 48px;
        z-index: 89;
        transform: rotate(29deg) translateX(-50%);
    }
    ul.sp-menu-list li a span img{
        width: 100%;
    }
    .gestinfo_blk {flex-direction: column;}
    .gestinfo_blk .gestinfo {width: 100%;}
    .gestinfo_blk .gestpic {
        width: 100%;
        margin-top: 18px;
        padding-bottom: 5px;
    }
    #pagemenu {display: none;}
    #countdown {
        width: 110px;
        right: 0;
        bottom: 60px;
    }
    #countTimer{
        font-size: 40px;
        top: 41.5%;
    }
    div#countTimer span{
        font-size: 12px;
    }
    .header__logo {
        max-width: 390px;
        margin: 0 auto;
    }
    #MV {
        display:block;
        overflow:hidden;
    }
    .event-title {width: 90vw;}
    .event-mainitem {
        width: 125vw;
        padding-bottom: 0vh;
    }
    .info-inner {max-width: 95%;}
    .info-list li {display:block;}
    /* イベント */
    h3.contents__item.event.kiwi p, h3.contents__item.kiwi {
        font-size: 35px;
    }
    h3.contents__item.event.kiwi {
        max-width:415px;
        height: 227px;
    }
    .stamprally {max-width: 50vw;}
    .accordion_title .plmi {right: 60px;}
    .timetable_pic {margin: 0px auto 10px;}
    /* 詳細 */
    .goannai {margin: 40px auto 0px;}
    .goannai h4 span {
        width: 20px;
        height: 20px;
        margin-right: 10px;
        margin-bottom: 3px;
    }
    .goannai:nth-of-type(2){margin-top: 70px;}
    .goannai h4 {
        font-size: 18px;
    }
    ul.annai_list {margin: -15px auto 50px;}
    .annai {
        font-size: 14px;
    }
    .goannai h4 small {
        font-size: 12px;
    }
    .annai.flex span {
        display: block;
        padding:6px 0px;
    }
    #goannai  {
        padding-top: 60px;
        padding-bottom: 100px;
    }
    .accordion-item {width: 90%;}
    .gestinfo_blk .gestinfo p.purple {
        padding-right: 0px;
        padding-top: 15px;
        text-align: left;
        font-size: 12px;
    }
    /* お問い合わせ */
    .contact p:nth-of-type(1),
    .contact p:nth-of-type(2),
    .contact p:nth-of-type(3){
        text-align: center;
    }
    .contact a.tel {
        display: inline-block;
        width: 200px;
        vertical-align: baseline;
    }
    .contact__tel--inner h4 {
        font-size: 18px;
    }
    #page_top {
        display: inline-block;
        position: absolute;
        top: -67px;
        left: 50%;
        transform: translateX(-50%);
        width: 126px;
        height: 70px;
        border-radius: 170px 170px 0 0;
        background: #ffffff;
        z-index: -1;
        text-align: center;
        cursor: pointer;
    }
    #page_top::after{
        content: "";
        width: 1px;
        height:25px;
        top: 4px;
    }
    #page_top a{
        color: #000000;
        position: absolute;
        bottom:6px;
        left: 50%;
        transform: translateX(-50%);
        font-weight: bold;
        transition: all .3s;
        font-size: 13px;
    }
    footer{padding-bottom:78px;}
    ul.footer_sns {
        text-align: center;
        margin-bottom: 0px;
    }
    .foot_sns_btn a {
        border:none;
    }
    .footer_sns li:nth-of-type(2) .foot_sns_btn a,
    .footer_sns li:nth-of-type(3) .foot_sns_btn a{
        width: 148px;
    }
    #page_top::before{
        left: 47%;
        top: 2px;
    }
}

@media(max-width:599px){
    #cloud img {
        width: 100%;
        height: auto;
    }
    #cloud.cloud01 {
        width: 23%;
        top: 49%;
    }
    #cloud.cloud02 {
        left: 20%;
        top: 27%;
    }
    #info {padding:10px 0 20px;}
    .info-item {line-height: 1.35;}
    .info-list li p.info--title{font-size: 16px;}
    .info-list li p.info--title:nth-of-type(2){margin-top: 4px;}
    .info-list li p.info--title a{font-size: 16px;}
    .info-inner {max-width: 100%;}
    .info-list li {margin: 15px 0;}
    #MV {height: 83vh;}
    .event-mainitem {max-width: unset;}
    ul.sp-menu-list li a {
        font-size: 11px;
    }
    ul.sp-menu-list li a span {
        display: block;
        width: 22px;
        margin: 3px auto;
    }
    ul.sp-menu-list li a span.sp-menu01{
        width: 19px;
        margin-bottom: -1px;
    }
    /* 挨拶 */
    h3.contents__item.thanks{
        font-size: 5.7vw;
    }
    .thanks_text{
        padding-bottom: 100px;
    }
    /* レポート */
    .report_sub_item{
        max-width: 200px;
        padding-bottom: 30px;
    }
    .report_contents_blk{
        padding-bottom: 60px;
    }
    .report_next .contents__item{
        font-size: 6vw;
        padding-top: 40px;
    }
    .report_next img{
        padding-top: 40px;
    }
    /* イベント */
    h3.contents__item.event.kiwi p, h3.contents__item.kiwi {
        font-size: 26px;
        padding-top: 28px;
    }
    h3.contents__item.event.kiwi p::before,
    h3.contents__item.kiwi::before{
        content: "";
        width: 92px;
        height: 27px;
    }
    h3.contents__item.event.kiwi {
        max-width: 241px;
        height: 133px;
        margin-bottom: 97px;
    }
    #event {padding-top: 60px;}
    #eat {
        background:rgba(246,161,193,1);
        padding-top: 45px;
        padding-bottom: 75px;
    }
    #eat::before {
        content: "";
        width: 101%;
        display: block;
        position: absolute;
        left: 50%;
        top: -38px;
        transform: translateX(-50%);
        background: url(img/bg-pink-sp.svg);
        background-repeat: repeat-x;
        background-size: cover;
        padding-top: 39px;
    }
    #enjoy {
        padding-top: 45px;
        background: rgba(132, 214, 230, 1);
        padding-bottom: 75px;
    }
    #enjoy::before {
        content: "";
        width: 101%;
        display: block;
        position: absolute;
        left: 50%;
        top:-38px;
        transform: translateX(-50%);
        background: url(img/bg-blue-sp.svg);
        background-repeat: repeat-x;
        background-size: cover;
        padding-top: 39px;
    }
    #learn{
        padding-top: 45px;
        background: rgba(165, 215, 71, 1);
    }
    #learn::before {
        content: "";
        width: 101%;
        display: block;
        position: absolute;
        left: 50%;
        top:-38px;
        transform: translateX(-50%);
        background: url(img/bg-green-sp.svg);
        background-repeat: repeat-x;
        background-size: cover;
        padding-top: 39px;
    }
    .main_img .eventarea_item {width: 130px;}
    .main_img {padding-bottom: 113px;}
    .eventarea_contentswrap {
        padding: 28px 0px 30px;
    }
    .eventarea_blk .catch {
        font-size: 13px;
        margin: 4px 0 10px;
    }
    .main_img .eventarea_item.laern {width: 188px;}
    .eventarea_blk p {
        font-size: 13px;
        line-height: 1.5;
    }
    .eventarea_contentswrap > div {width: 46.7%;}
    .eventarea_contentswrap.three-column > div:nth-of-type(2n) {margin-left: 6%;}
    .flowitem_left {
        width: 135px;
        top: 23%;
    }
    .flowitem_right {
        width: 145px;
        top: 80%;
    }
    .step {height: 118px;}
    .stamprally {max-width: 78vw;}
    #learn::after {
        height: 25vh;
        border-radius: 50% 50% 65% 65% / 0% 0% 70% 70%;
    }
    #gest {padding-top: 80px;}
    .gest_contwrap .item {
        max-width: 209px;
        top: -46px;
    }
    #gest .gest_contwrap {
        border-radius: 20px;
        padding: 43px 11px;
    }
    #accordion_area--wrap > p {margin: 0px auto 0px;}
    .accordion_title {padding: 13px 16px 13px 18px;}
    .accordion-item {font-size:16px;}
    .accordion_title .plmi {right: 30px;}
    .accordion_list {padding-top: 25px;}
    #timetable {padding-top: 75px;}
    .prepar {margin: 55px 0 0px;}
    .eventbook_btn {
        margin-top: 28px;
        max-width: 175px;
    }
    .leaflet-flex:nth-of-type(2) .eventbook_btn {max-width: 198px;}
    .goannai:nth-of-type(2) {margin-top: 60px;}
    /* 案内 */
    #goannai {
        padding-top: 60px;
        padding-bottom: 55px;
    }
    .annai-item {
        margin-right: 15px;
        width: 72px;
    }
    .eventdetail_attention div {margin-bottom: 15px;}
    .leaflet-flex {margin: 15px auto 0px;}
    .leaflet-flex > .imgblk{max-width: 175px;}
    .leaflet-flex:nth-of-type(2){padding-top: 40px;}
    .leaflet-flex:nth-of-type(2) > .imgblk{max-width: 265px;}
    ul.annai_list li {padding: 10px 0 8px;}
    .annai span {
        font-size: 12px;
        padding: 0px;
    }
    .eventdetail_attention {
        margin: 15px auto;
        max-width: 95%;
    }
    #access {padding-top: 40px;}
    .place {margin: 30px auto 10px;}
    .place > div {
        font-size: 16px;
        margin-bottom: 7px;
    }
    .place > p {
        font-size: 13px;
    }
    .accessflex > div:nth-of-type(2) {margin-left: 25px;}
    .accessflex > div {width: 35vw;}
    .googlemap_wrap {
        width: 100vw;
        height: 80vw;
        margin: 30px auto 25px;
    }
    .parking {
        padding: 20px 0 19px;
        margin: 40px auto 35px;
    }
    .parking p {font-size: 16px;}
    /* お問い合わせ */
    .contact__tel {padding: 55px 0 100px;}
    footer{padding-top: 15px;}
    ul.footer_sns {margin-bottom: 20px;}
    .footer_sns li {
        display: block;
        margin: 8px 5px;
    }
    .parking div {
        max-width: 89.7%;
        margin-top: 18px;
    }
}
@media (max-width:385px){
    #MV {height: 95vh;}
}
/* ======= pwa ========= */
.pwa_only{
    display: none!important;
}
@media (display-mode: standalone){
    .pwa_none{
        display: none!important;
    }
    .pwa_only{
        display: block!important;
    }
    .pwa_back{
        position: absolute;
        font-size: 10px;
        background: #F0F0F0;
        z-index: 99;
        width: 100%;
        line-height: 1.8;
        top: 0;
        left: 0;
    }
    .pwa_back a{
        color: #000;
        font-family: 'Noto Sans JP', sans-serif;
    }
    header{
        top: 15px;
    }
}