@charset "utf-8";

/* 共通 */
*, *:before, *:after {box-sizing: border-box;}
a{text-decoration: none;}
img{width: 100%;}
.pc{display: block;}
.sp{display: none;}
.tb{display: none;}
p{ margin-block-start: 0 !important; margin-block-end: 0 !important;}
.mb5{margin-bottom: 5px !important;}
.mb10{margin-bottom: 10px !important;}
.mb20{margin-bottom: 20px !important;}
.mb30{margin-bottom: 30px !important;}
@media screen and (max-width:1050px) {
	.tb{display: block;}
}
@media screen and (max-width:700px) {
    .pc{display: none;}
    .sp{display: block;}
    .tb{display: block;}
}

.logo img{width: 140px !important;}
.footerFix span, .footerFix_M span {box-sizing: unset;}
/* /共通 */


/* reset */
#visitor_page-top {
    display: block !important;
}
/* /reset */

/* all */
#sakura {
    font-size: 14px;
    text-align: left;
    line-height: 1.8;
    color: #FFFFFF;
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
    background-image: url(../img_2026/bk.webp);
    background-position: center top;
    background-size: 100%;
	position: relative;
	overflow: hidden;
}
.sakura-decoration {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}
#sakura .map {
    position: relative;
    z-index: 3;
}
#sakura-kv{
    position: relative;
    z-index: 2;
}
.sakura-decoration .blue01 {
    position: absolute;
    top: 55%;
    left: -23%;
    width: 1320px !important;
    height: 620px !important;
}
.sakura-decoration .blue02 {
    position: absolute;
    top: 60%;
    right: -20%;
    width: 803px !important;
    height: 803px !important;
}
.sakura-decoration .blue03 {
    position: absolute;
    bottom: -12%;
    left: 13%;
    width: 862px !important;
    height: 603px !important;
}
#sakura img { width: 100%;}
#page a {
    opacity: 1;
	transition: opacity .25s ease-in-out;
}
#page a:hover {
    opacity: .65;
    text-decoration: none;
}
.for-sp { display: none;}
.SP-Separate { display: none!important;}

@media screen and (min-width:1600px) {
	.sakura-decoration .blue01 {
        top: 55vw;
        left: -5vw;
        width: 53vw !important;
        height: 28vw !important;
	}
}
@media screen and (max-width:1050px) {
	.sakura-decoration .blue01 {
        top: 55%;
		left: -35%;
		width: 600px !important;
		height: 350px !important;
	}
	.sakura-decoration .blue02 {
		top: 52%;
		right: -39%;
	}
	.sakura-decoration .blue03 {
		bottom: -10%;
		left: -1%;
		width: 656px !important;
		height: 603px !important;
	}
}

@media screen and (max-width:700px) {
    #page { padding-bottom: 10%!important;}
    .for-pc { display: none;}
    .for-sp { display: block;}
    .PC-Separate { display: none!important;}
    .SP-Separate { display: block!important;}
	#sakura {
		background-image: url(../img_2026/bk_sp.webp);
	}
	.sakura-decoration .blue01 {
        top: 192vw;
        left: -24vw;
        width: 450px !important;
        height: 350px !important;
	}
	.sakura-decoration .blue02 {
		top: 47%;
        right: -54%;
	}
	.sakura-decoration .blue03 {
		bottom: -6%;
        left: 19%;
        width: 656px !important;
        height: 603px !important;
	}
}
@media screen and (max-width:500px) {
	.sakura-decoration .blue01 {
        top: 188vw;
        left: -35vw;
        width: 380px !important;
        height: 388px !important;
	}
	.sakura-decoration .blue02 {
		top: 55%;
        right: -99%;
        height: 332px !important;
        width: 620px !important;
	}
	.sakura-decoration .blue03 {
		bottom: -12%;
        left: -6%;
	}
}
/* /all */

/* header*/
#sakura-kv {
    position: relative;
    width: 100%;
    overflow: visible;
}

#sakura-kv .lead {
    writing-mode: vertical-rl;
    color: #8A6634;
    letter-spacing: 0.2em;
}
@media screen and (min-width:1600px) {
    #sakura-kv {
		height: 64vw;
		background-image: url(../img_2026/kv_pc.webp);
        background-repeat: no-repeat;
        background-size: 100% auto;
	}
	#sakura-kv .lead {
        position: absolute;
        top: 40vw;
        left: 50%;
        transform: translateX(-50%);
        width: 30%;
        font-size: 1.4vw;
        line-height: 1.51;
    }
}
@media screen and (min-width: 701px) and (max-width:1599px) {
    #sakura-kv {
        height: 963px;
        background-image: url(../img_2026/kv_pc.webp);
        background-repeat: no-repeat;
        background-size: 1545px auto;
        background-position: center top;
    }

    .kv-pc { display: block; }
    .kv-sp-wrap { display: none; }

    #sakura-kv .lead {
        position: absolute;
        top: 634px;
        left: 50%;
        transform: translateX(-50%);
        width: 372px;
        font-size: 19px;
        line-height: 1.51;
    }
}

@media screen and (max-width:700px) {
    #sakura-kv {
        background: none;
    }
    .kv-pc { display: none; }
    .kv-sp-wrap {
        position: relative;
        width: 100%;
        aspect-ratio: 375 / 680;
		overflow: visible;
    }
    .kv-sp {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .bk_white {
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 78%;
        z-index: 1;
    }
    #sakura-kv .lead {
        position: absolute;
        top: 23%;
        left: 50%;
        transform: translate(-50%, 120%);
        width: 90%;
        max-width: 60%;
        font-size: 4vw;
        z-index: 2;
    }
}
@media screen and (max-width:500px) {
	#sakura-kv .lead {
        top: 17%;
        left: 50%;
        transform: translate(-50%, 120%);
        max-width: 65%;
        font-size: 4.6vw;
    }
}

/* /header */

/* contents */
#sakura .map {
    width: 525px;
    height: 445px;
    margin: 0 auto 60px;
    background-repeat: no-repeat;
    background-size: 80%;
    background-position: top;
    position: relative;
}
.member #sakura .map {
    background-image: url(../img_2026/map_v.webp);
}
#sakura .sp-map {
    display: none;
}
#sakura .link-area li {
    width: 230px;
    position: absolute;
}
#sakura .link-area #tws {
    top: -210px;
    right: 250px;
}
#sakura .link-area #nasu {
    top: 0;
    right: -160px;
}
#sakura .link-area #szj {
    top: 0;
    left: -160px;
}
#sakura .link-area #ito {
    top: 256px;
    left: -160px;
}
#sakura .link-area #gora {
    top: 256px;
    right: -160px;
}

#sakura .link-area li a {
    text-decoration: none;
    color: #001337;
}
#sakura .link-area li .area-wrapper {
    position: relative;
    display: flex;
    flex-direction: row;
    justify-content: center;
	flex-wrap: wrap;
}

#sakura .link-area li picture {
    display: block;
    width: 230px;
    overflow: hidden;
}
#sakura .link-area li .area-wrapper .place {
	width: 100%;
    position: relative;
}
#sakura .link-area li .area-wrapper .place::after {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background-image: url(../img_2026/icon_right.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    bottom: -31px;
    left: 0;
    right: -179px;
    margin: 0 auto;
}
#sakura .link-area li .area-wrapper .place p {
	color: #fff;
	font-size: 18px;
	text-align: center;
	padding: 4px 10px;
	background-color: rgba(217, 161, 177, 0.9);
    width: 100%;
    position: absolute;
}
#sakura .link-area li .schedule {
    color: #FFF;
    text-align: center;
    line-height: 1.4;
	font-size: 14.22px;
	text-align: center;
    width: 210px;
    display: block;
    position: absolute;
    bottom: 12px;
    left: 10px;
}
#sakura .link-area li .schedule span {
	background-color: rgba(255, 231, 238, 0.9);
	color: #333;
	padding: 0 11px;
}
#sakura .annotation {
    width: 590px;
    margin: 0 auto;
    padding-top: 80px;
}
@media screen and (max-width:1040px) {
    #sakura .map {
        width: 94.2308%;
        height: auto;
        padding: 39.327% 0;
		margin: 110px auto 0;
    }
    #sakura .link-area li {
        width: 23.47%;
    }
    #sakura .link-area #szj {
        top: 4%;
        left: 3.3%;
    }
    #sakura .link-area #nasu {
		top: 3%;
        right: 0%;
    }
    #sakura .link-area #gora {
        top: 56.8%;
        right: 0%;
    }
     #sakura .link-area #ito {
        top: 56.8%;
        right: unset;
        left: 3.3%;
    }
    #sakura .link-area li .area-wrapper .place p {
        font-size: 1.74vw;
    }
	#sakura .link-area li#smh .area-wrapper .place p,
	#sakura .link-area li#gora .area-wrapper .place p {
        font-size: 1.54vw;
		padding: 10px 10px;
    }
    #sakura .link-area li .schedule { width: 78%;}
    #sakura .link-area li .schedule span {
        font-size: 1.352vw;
        padding: 0 6.05%;
    }

    #sakura .link-area li .area-wrapper .place::after {
        right: -135px;
    }
    #sakura .link-area li .schedule {
		 bottom: 5%;
		 width: 98%;
		 left: 1%;
	
		}
}
@media screen and (max-width:700px) {
	#sakura {
        padding-bottom: 0;
    }
    #sakura .map {
        width: 100%;
        padding: 0;
    }
    .visitor #sakura .map {
        height: auto;
        padding: 0;
    }
	.member #sakura .map {
		background-image: none;
        margin: 140px auto -90px;
        padding-bottom: 5px;
	}
    #sakura .sp-map {
        display: block;
        width: 96%;
        margin: 0 auto;
        padding: 80.6% 0 0;
        background-repeat: no-repeat;
        position: relative;
		background-image: url(../img_2026/map_v_sp.webp);
		background-size: contain;
        max-width: 360px;
        background-position: center top;
		height: 411.7px;
    }
    .visitor #sakura .sp-map {
	    margin-top: -59.5%;
    }

    #sakura .in-page-link li a {
        display: block;
        width: 11.945%;
        aspect-ratio: 43 / 140;
        font-size: 4vw;
        letter-spacing: 1px;
        background-color: rgba(255,255,255,0.8);
        writing-mode: vertical-lr;
        white-space: nowrap;
        padding-top: 2.6%;
        position: absolute;
        display: flex;
        justify-content: space-between;
        align-items: center;
        box-sizing: border-box;
		min-height: 140px;
    }
    #sakura .in-page-link li.smh a,
    #sakura .in-page-link li.szj a,
    #sakura .in-page-link li.ito a,
    #sakura .in-page-link li.gora a,
    #sakura .in-page-link li.ymh a,
    .visitor #sakura .in-page-link li.nasu a {
        aspect-ratio: 43 / 160;
		min-height: 160px;
    }
    #sakura .in-page-link li a::after {
        content: "";
        display: block;
        width: 32.56%;
        height: auto;
        padding: 5.38% 0;
        background-image: url(../img_2026/icon_right.svg);
        background-repeat: no-repeat;
        background-size: 100%;
        margin-bottom: 7%;
		transform: rotate(90deg);
    }
    #sakura .in-page-link li.smh a::after,
    #sakura .in-page-link li.szj a::after,
    #sakura .in-page-link li.ito a::after,
    #sakura .in-page-link li.gora a::after,
    #sakura .in-page-link li.ymh a::after {
        margin-bottom: 6.5%;
        padding: 4.66% 0;
    }
    #sakura .in-page-link li.nasu a {
        top: 40.4%;
        right: 3.6%;
    }
    #sakura .in-page-link li.szj a {
        top: 17.45%;
        left: 23%;
    }
    #sakura .in-page-link li.ito a {
        top: 29.45%;
        left: 6%;
    }
    #sakura .in-page-link li.gora a {
        top: 61.45%;
        right: 19%;
    }
    #sakura .in-page-link a:link {
        text-decoration: none;
		color: #FFF;
        background-color: #D9A1B1;
        font-size: 15.3px;
    }
	    #sakura .in-page-link li.smh a:link,
	    #sakura .in-page-link li.gora a:link {
			font-size: 14px;
		}
    #sakura .link-area {
        width: 92%;
        margin: 75px auto;
        display: flex;
        flex-direction: row;
        justify-content: space-evenly;
        flex-wrap: wrap;
        gap: 30px 20px;
    }
    #sakura .link-area li {
        width: 47.675%;
        position: relative;
    }
    #sakura .link-area li picture {
        width: 100%;
    }
	#sakura .link-area li .area-wrapper {
		overflow: hidden;
	}
    #sakura .link-area li .area-wrapper .place {
        width: 100%;
		position: absolute;
        bottom: 73px;
		object-position: center top;
        object-fit: cover;
    }
    #sakura .link-area li .area-wrapper .place p {
        writing-mode: lr;
        padding-top: 0;
        padding-bottom: 32.5%;
        font-size: 15px;
        letter-spacing: 0;
        line-height: 2;
    }
    #sakura .link-area li#smh .area-wrapper .place p,
	#sakura .link-area li#gora .area-wrapper .place p {
		font-size: 15px;
		padding: unset;
        padding-top: 0;
        padding-bottom: 32.5%;
	}
    #sakura .link-area li .area-wrapper .place::after {
        content: none;
    }
    #sakura .link-area li .icon-check {
        width: 35%;
        padding: 3px 10px;
        position: absolute;
        top: 4.6%;
        left: 5.3%;
        background-color: rgba(255, 255, 255,0.8);
		color: #8A6634;
        border-radius: 100px;
        box-sizing: border-box;
        line-height: 1.477;
        display: flex;
        flex-direction: row;
        justify-content: right;
        align-items: center;
    }
    #sakura .link-area li .icon-check::after {
        content: "";
        display: block;
        background-image: url(../img_2026/icon_check.svg);
        background-size: 100%;
        background-repeat: no-repeat;
        width: 10%;
        height: 24%;
        padding: 7% 3px;
        margin-right: -5%;
        margin-left: 22%;
    }
    #sakura .link-area li .icon-check span {
        font-family: "Outfit", sans-serif;
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
    }
    #sakura .link-area li .schedule {
        width: 90%;
        background-color: rgba(255, 231, 238, 0.9);
		color: #8A6634;
		font-size: 12px;
		line-height: 1.2;
		text-align: center;
		padding: 3px;
        left: 50%;
		bottom: 3%;
        transform: translateX(-50%);
    }
    #sakura .link-area li .schedule span{
		background: unset;
	}
    #sakura .link-area li .schedule span {
        font-size: 12px;
        padding: 0 2.8%;
		color: #8A6634;
    }
    #sakura .link-area #cyh,
    #sakura .link-area #kmh,
    #sakura .link-area #tws,
    #sakura .link-area #bmh,
    #sakura .link-area #ymh,
    #sakura .link-area #smh,
    #sakura .link-area #szj,
    #sakura .link-area #ito,
    #sakura .link-area #gora {
        top: unset;
        right: unset;
        left: unset;
    }
	#sakura .link-area #kmh,
	#sakura .link-area #tws,
	#sakura .link-area #nasu {
        top: unset;
    }
    .visitor #sakura .link-area #nasu,
    .visitor #sakura .link-area #szj,
    .visitor #sakura .link-area #ito,
    .visitor #sakura .link-area #gora {
        top: unset;
        right: unset;
        left: unset;
    }
    #sakura .annotation {
        font-size: 3.2vw;
        width: 89.5%;
        padding: 8% 0 10%;
    }
    #sakura .link-area #cyh{order: 4;}
    #sakura .link-area #kmh{order: 5;}
    #sakura .link-area #tws{order: 1;}
    #sakura .link-area #bmh{order: 9;}
    #sakura .link-area #ymh{order: 6;}
    #sakura .link-area #smh{order: 10;}
    #sakura .link-area #szj{order: 8;}
    #sakura .link-area #ito{order: 7;}
    #sakura .link-area #gora{order: 3;}
	#sakura .link-area #nasu{order: 2;}
	#sakura .link-area #empty{order: 11;}
}

@media screen and (min-width: 500px) and (max-width: 700px) {
    #sakura .sp-map {
        width: 360px;
        height: 412px;
        padding: 0;
        margin: 0 auto;
        background-size: contain;
    }
    #sakura .in-page-link li a {
        font-size: 16px;
        width: 43px;
        padding-top: 8px;
    }
}
@media screen and (max-width: 500px) {
	#sakura .link-area {
        width: 90%;
        margin: 75px auto 0;
        display: flex;
        flex-direction: row;
        justify-content: space-evenly;
        flex-wrap: wrap;
        gap: 26px 14px;
    }
	#sakura .link-area li .icon-check {
        width: 62px;
        padding: 2px 6px;
	}
	#sakura .link-area li .icon-check span {
        font-size: 12.2px;
	}
    .member #sakura .map {
        padding-bottom: 160px;
        margin: 130px auto -90px;
    }
	#sakura .link-area li .icon-check::after {
        background-size: unset;
		width: 5px;
		height: 10px;
		margin-right: -3%;
        margin-left: 14%;
        margin-top: 5%;
	}
}
@media screen and (max-width: 380px) {
    #sakura .sp-map {
        width: 100vw;
        height: 106vw;
        max-width: 380px;
        max-height: calc(380px * 1.06);
        margin: 0 auto;
        position: relative;
        background-size: contain;
    }
    #sakura .in-page-link li a {
        position: absolute;
        font-size: 3.7vw;
        width: 11.3vw;
        padding-top: 2.5vw;
		min-height: 39vw;
    }
    #sakura .in-page-link li.nasu a { top: 39vw; right: 5.33vw;}
    #sakura .in-page-link li.szj a { top: 13vw; left: 26.5vw;}
    #sakura .in-page-link li.ito a { top: 32vw; left: 9.5vw; }
    #sakura .in-page-link li.gora a { top: 66vw; left: 68.6vw; font-size: 4.3vw;}
	#sakura .link-area {
        gap: 25px 12px;
    }

    #sakura .in-page-link li.smh a,
    #sakura .in-page-link li.szj a,
    #sakura .in-page-link li.ito a,
    #sakura .in-page-link li.gora a,
    #sakura .in-page-link li.ymh a {
		min-height: 48vw;
    }
}
/* /contents */