@charset "utf-8";
/* CSS Document */
/* theme name:furouen2026 */
:root{
    --pink: #e86b79;
    --pink02: #F9DCDF;
    --pink03: #ff0006;
    --pink04: #ff007f;
    --t_bace: #111111;
    --gray: #E5E5E5;
    --white: #ffffff;
    --hover: all .3s ease;
    --opacity: .6;
    --lh-m: 1.67;
    --lh: 1.72;
    --lh-en: 2.2;
    --fs-smaller: 90%;
}

.ko {
    font-family: "Gowun Batang", serif;
    font-weight: 400;
    font-style: normal;
}

.zh-hans {
    font-family: "Noto Serif SC", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

.zh {
    font-family: "Noto Serif TC", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

.pink{color: var(--pink);}
.pink02{color: var(--pink02);}
.pink03{color: var(--pink03);}
.pink04{color: var(--pink04);}
.wh{color: var(--white);}

.bg-gray{background: var(--gray);}
.bg-pink{background: var(--pink);}
.bg-pink02{background: var(--pink02);}

.lh{line-height: var(--lh);}
.lh-m{line-height: var(--lh-m);}
.lh-en{line-height: var(--lh-en);}

body{
    font-family: "Yu Mincho", "YuMincho", "BIZ UDPMincho", serif;
    font-size: 15px;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    color: var(--t_bace);
    letter-spacing: 0.041em;
    /* font-feature-settings: "palt"; */
}

@media (min-width: 640px){
    body{font-size: 16px;}
}

.container{
    width: 90%;
    max-width: 1105px;
    margin: 0 auto;
}

/* --------------- animation ---------------- */
.blur{opacity: 0;}
/* --------------------- header ------------- */
header{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
}
.headerlogo {
    width: clamp(96px, 24vw, 226px);
}
#headerwrap,#scroll_header{display: none!important;}
/* spheader move */
#spheader{
    -webkit-transform: translateY(0);
    transform: translateY(0);
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 5px 10px 10px;
}
#spheader .headerlogo{
    max-width: 131px;
}
#spheader.head-animation {
    transform: translateY(-100%);
}
#spheader{
    -webkit-transition: -webkit-transform .4s ease;
    transition: -webkit-transform .4s ease;
    transition: transform .4s ease;
    transition: transform .4s ease, -webkit-transform .4s ease;
}

/* hambburger */
.hambheader{
    display: flex;
    width: 96%;
    margin: 0 auto;
    justify-content: space-between;
    padding: 10px 0;
}

.openbtn{
    position: relative;
    cursor: pointer;
    width: 45px;
    height:45px;
}
.openbtn span{
    display: inline-block;
    transition: all .3s;
    position: absolute;
    height: 2px;
    border-radius: 5px;
    background: #000000;
    width:30px;
}
.openbtn span:nth-of-type(1) {top:13px; }
.openbtn span:nth-of-type(2) {top:50%;}
.openbtn span:nth-of-type(3) {top:31px;}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    transform: translateY(6px) rotate(-45deg);
}
.openbtn.active span:nth-of-type(2) {opacity: 0;}
.openbtn.active span:nth-of-type(3){
    top: 30px;
    transform: translateY(-6px) rotate(45deg);
}

@media (min-width:975px){
    #spheader{display: none;}
    header{
        position: relative;
        top: 0;
        left: 0;
        background: var(--white);
    }
    #headerwrap {
        display: flex!important;
        justify-content: flex-end;
        padding: 2rem 0 2rem 3rem;
    }
    #scroll_header{display: block!important;}
}

#headerwrap .headerlogo{
    position: absolute;
    left: 1rem;
    top: 1.5rem;
    z-index: 5;
}
.top_header_right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1.5rem;
    justify-content: center;
}
ul.langlist {
    display: flex;
    align-items: baseline;
    gap: 2rem;
    background: var(--pink);
    color: var(--white);
    padding: 0.7rem 2rem 0.7rem 2rem;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    font-size: 14px;
}
ul.langlist li a{transition: var(--hover);}
ul.langlist li a:hover{opacity: var(--opacity);}

ul.topheader__menu {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-right: 1.85rem;
}
li.has-child ul.child li a{
    font-size: 14px;
}
.openbanner{
    display: none;
    background: #FCEDEF;
    padding: 1rem 1rem 0.75rem 1rem;
}
@media (min-width:975px){
    .openbanner{display: block;}
}
@media (min-width:1079px){
    ul.topheader__menu {font-size: 18px;}
    li.has-child ul.child li a{font-size: 16px;}
    #scroll_header ul.topheader__menu{font-size: 17px;}
}
@media (min-width:1280px){
    ul.topheader__menu {gap: 2.75rem;}
}
@media (any-hover: hover){
    ul.topheader__menu li a:hover{color: var(--pink03);}
}

/* =================== メニュー階層 ======================= */
.topheader__menu li.has-child{
    position: relative;
    z-index: 3;
}
.topheader__menu li.has-child ul.child{
	position: absolute;
	left:0;
    padding: 10px 0;
    padding-top: 25px;
	z-index:1;
    width:203px;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
    background:var(--white);
    display: flex;
    flex-direction: column;
    gap: 10px 0;
}
.topheader__menu li.has-child ul.child li{
    line-height:1.5;
    padding: 5px 0px;
}
.topheader__menu li.has-child ul.child li a{
    display: flex;
    align-items: center;
    gap: 0.85rem;
    border-right: none!important;
    padding: 0 1.5em;
}
.topheader__menu li.has-child ul.child li a i{
    width: 1em;
}
@media (min-width:1079px){
    .topheader__menu li.has-child ul.child {width: 230px;}
}
/*hoverしたら表示*/
.topheader__menu li.has-child:hover > ul,
.topheader__menu li.has-child ul li:hover > ul,
.topheader__menu li.has-child:active > ul,
.topheader__menu li.has-child ul li:active > ul{
    visibility: visible;
    opacity: 1;
}
/* =============== gnav ================ */
.gnav_dmenu_wrap {
    width: 85%;
    margin: 0 auto;
    max-width: 650px;
    padding-top: 4rem;
}
.gnav_dmenu_wrap > .open{
    background: rgb(255 255 255 / .5);
    padding: 1rem;
    text-align: center;
    line-height: var(--lh-m);
    font-size: var(--fs-smaller);
}
.gnav_dmenu_wrap > .open > span{
    color: var(--pink);
    font-weight: bold;
}
.gnav_dmenu_wrap > .access{
    margin-top: 1.5rem;
    line-height: var(--lh-m);
    font-size: var(--fs-smaller);
}
.gnav_dmenu_wrap ul li a{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.gnav_dmenu_wrap ul li a i{
    width: 1.25rem;
}
#gnav{
    display:none;
    background: #f9ebed;
    overflow: scroll;
    height: 100%;
    position:fixed;
    width: 100%;
    z-index:300;
    padding-bottom:200px;
}
li.hambmenu__item{
    padding-bottom: 25px;
}
li.hambmenu__item a{
    color: #000000;
    display: block;
    width: 100%;
}
.childmenubox{display: none;}
.childmenubox li{
    border: none;
    margin: 0 auto;
    padding: 10px 0;
    padding-left: 0.75rem;
}
.childmenubox li:first-of-type{
    padding-top:20px;
}
.haschild_hambmenu{
    position: relative;
    display: block;
    width: 100%;
}
/* ＋　－ */
.acc{
    position:absolute;
    right: 4px;
    top: 50%;
    transform: translate(0,-50%);
    display: block;
    width: 14px;
    height: 14px;
}
.accordion_i_box{
    position: absolute;
    cursor: pointer;
    top: 30%;
    right: 7%;
    transform: translate(-7%,-30%);
}
.acc:before,.acc:after {
	display: flex;
	content: '';
	background-color: #ACAC9D;
	width: 14px;
	height: 1px;
	position: absolute;
	top: 6px;
	left: 0;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	transform-origin: center center;
    transition-duration: .3s;
    transition: all.3s;
}
.acc:before {
	width: 1px;
	height:14px;
	top: 0;
	left:6px;
    transition-duration: .3s;
}
.haschild_hambmenu.on .acc:before {
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
    opacity:0;
}

/* ------ fix_header -------- */
.fix_header {
    position: fixed;
    top: -100px;
    opacity: 0;
    left: 0;
	width: 100%;
	margin: 0 auto;
	z-index: 1000;
}
.header_menu.fix{
    margin-top:0px;
}
/*  scroll_header */
#scroll_header.UpMove{animation: UpAnime 0.2s forwards;}
@keyframes UpAnime{
from {
    opacity: 1;
	transform: translateY(0);
}
to {
    opacity: 0;
	transform: translateY(-100px);
}
}
#scroll_header.DownMove{animation: DownAnime 0.3s forwards;}
@keyframes DownAnime{
from {
    opacity: 0;
	transform: translateY(-100px);
}
to {
    opacity: 1;
	transform: translateY(0);
}
}
#scroll_header{
    background: var(--white);
    padding: 1.5rem 2rem;
}
#scroll_header ul.topheader__menu{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.5rem;
}
/* --------------------- footer ------------------------ */
#pagefootermenu{display: none!important;}
#pagefootermenu{
    background: #222222;
    color: var(--white);
    padding: 2rem 0;
    margin-top: 7rem;
}
#pagefootermenu ul{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
    font-size: 17px;
}
#pagefootermenu ul li a{transition: var(--hover);}
#pagefootermenu ul li a:hover{opacity: var(--opacity);}
@media (min-width:1079px){
    #pagefootermenu ul{gap: 2.75rem;}
    #pagefootermenu ul li{font-size: 18px;}
}
#footerpara {
    width: 100%;
    height: auto;
    max-height: 738px;
    aspect-ratio: 3 / 1.75;
}
#footerpara{
    background-image: url(./img/footerbg.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center 80%;
    background-attachment: fixed;
    margin-top: 5rem;
}
.is-touch #footerpara{background-attachment:unset;}

@media (min-width:975px){
    #pagefootermenu{display: block!important;}
    #footerpara.has_pagefootermenu{margin-top: 0px;}
}

a.footerlogo{
    display: block;
    width: 152px;
    margin: 0 auto;
    margin-bottom: 1.5rem;
}
.footerinfo{
    text-align: center;
    line-height: 1.57;
}
.footerinfo div{
    font-size: 18px;
}
.footerinfo p,
.footerinfo a{
    font-size: 14px;
}
.footerlink {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    margin-top: 1.75rem;
}
.footerlink a{
    transition: var(--hover);
}
ul.footer-sns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 1.5rem;
    padding: 2rem;
}
ul.footer-sns li a{
    display: block;
    width: 39px;
    height: auto;
    aspect-ratio: 1 / 1;
    transition: var(--hover);
}
ul.footer-sns li a.insta{width: 42px;}
ul.footer-sns li a.line{width: 44px;}

.copyright{
    font-size: 12px;
    padding: 0.5em 2em;
    padding-bottom: 1.5em;
    font-weight: 600;
}
@media (any-hover: hover){
    .footerlink a:hover{opacity: var(--opacity);}
    ul.footer-sns li a:hover{opacity: var(--opacity);}
}

#page_top {
    position: fixed;
    right: 3.5%;
    bottom: 3%;
    z-index: 99;
    width: 45px;
}
#page_top a{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}
@media (any-hover: hover){
    #page_top a:hover img {
        transition: transform 1s;
        transform: rotate(360deg);
    }
}
/* --------------------- main -------------------------- */
main > .container:nth-of-type(n+2){
    padding-top: 4.25rem;
}
/* btn */
a{transition: var(--hover);}
a.bs-pink{
    background: var(--pink);
    color: var(--white);
}
a.bs-pink02{
    background: var(--pink02);
    color: var(--t_bace);
}
@media (any-hover: hover){
    a.bs-pink:hover{
        background: var(--pink02);
        color: var(--t_bace);
    }
    a.bs-pink02:hover{
        background: var(--pink);
        color: var(--white);
    }
}
/* ---- front ---- */
#mv{margin-bottom: 4.75rem;}
@media (min-width:640px){
    #mv{margin-bottom: 7rem;}
}
#mv span{
    text-align: right;
    display: block;
    font-size: 12px;
    padding: 1rem;
}
@media (max-width:480px){
    #mv span {font-size: 10px;}
}
.mv-swiper .swiper-wrapper {transition-timing-function: linear;}
#fr-top > div{
    font-weight: 600;
    font-size: clamp(24px, 4.5vw, 38px);
    margin-bottom: 2.75rem;
    line-height: var(--lh-m);
}
#fr-top > p {
    line-height: var(--lh);
    width: 95%;
    max-width: 440px;
    margin: 0 auto;
}
#fr-top > a {
    display: inline-block;
    padding: 1.45rem 3.5rem;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin: 2rem 0 2.5rem;
    border-radius: 60px;
}
#fr-top > ul{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem 4rem;
}
.fr-item{
    font-weight: 600;
    font-size: clamp(19px, 3.75vw, 23px);
    margin-bottom: 2.25rem;
}
.thumbnail.plumthumb {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}
.thumbnail > img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
a.postpermalink{
    display: block;
    padding: 1rem;
    background-image: linear-gradient(to right, #aaaaaa 1px, transparent 2px);
    background-size: 5px 2px;
    background-repeat: repeat-x;
    background-position: left bottom;
    position: relative;
}
a.has-ar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
span.ar img {
    display: block;
    width: 1.75rem;
    margin-left: auto;
    margin-right: 0;
}
.latest-plum a.postpermalink{
    background-image: none!important;
    padding: 1rem 0;
}
.post_dt {
    display: grid;
    gap: 0.4rem 1rem;
    
}
.post_date{
    color: #555555;
    font-size: 14px;
    transition: var(--hover);
}
.post_title{
    line-height: 1.45;
    transition: var(--hover);
}
@media (min-width:640px){
    #fr-top > div{margin-bottom: 3.75rem;}
    #fr-top > p {
        line-height: var(--lh);
        width: unset;
        max-width: unset;
    }
    .plum-latest-wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 2.5rem;
    }
    .latest {
        width: calc(100% - 244px);
        max-width: 800px;
    }
    .plum-archive {width: 244px;}
    .post_dt {
        grid-template-columns: auto 1fr;
        align-items: baseline;
    }
}
@media (any-hover: hover){
    #fr-top > ul li a:hover{
        color: var(--pink03);
    }
    a:hover .post_title,
    a:hover .post_date{color: var(--pink03);}
}
.plum-archive-item {
    display: inline-block;
    font-size: 17px;
    background: var(--gray);
    padding: 0.85rem 2rem;
    border-radius: 50px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin: 2rem 0 1.5rem;
}
.plum-archive-wrap {
    max-width: 244px;
    margin: 0 auto;
}
.andmore{
    margin-top: 2rem;
}
.andmore a{
    display: inline-block;
    padding: 0.75rem 2.75rem;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50px;
    font-size: 14px;
}
@media (min-width:640px){
    #fr-news .andmore{text-align: right;}
    #fr-news .andmore a{
        left: unset;
        transform: unset;
    }
}

/* -------------- page ---------------- */
#pageheader {
    width: 100%;
    height: auto;
    max-height: 600px;
    min-height: 195px;
    position: relative;
    aspect-ratio: 5 / 2;
}
#pageheader.newspage{
    max-height: 228px;
    min-height: 135px;
    background: var(--pink);
    aspect-ratio: 3 / 1;
}
#pageheader > img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 75%;
}
#pageheader > h1 {
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translateX(-50%);
    color: var(--white);
    font-size: clamp(20px, 4.5vw, 28px);
    text-shadow: 1px 1px 4px #6b4a5c;
}
#pageheader.newspage> h1 {top: 32%;}

#breadcrumbs {
    background: #F4F4E9;
    font-size: 12px;
    text-align: right;
    padding: 1.15em 1.25em;
    letter-spacing: -1px;
}
#pagecontents > section{
    padding-top: 10rem;
}
h2.arr-item > div{
    display: grid;
    grid-template-columns: 2rem 1fr;
    align-items: center;
    gap: 1em;
    font-size: 18px;
    padding: 1.2em 0;
    margin-bottom: 75px;
}
h2.arr-item::before{
    content: "";
    height: 1px;
    width: 50vw;
    background: #cecebf;
    position: absolute;
    top: 0%;
}
h2.arr-item::after{
    content: "";
    height: 1px;
    width: 50vw;
    background: #cecebf;
    position: absolute;
    bottom: 0%;
}

@media (min-width:1280px){
    h2.arr-item > div{margin-bottom: 100px;}
}

/* ご案内：見どころ、絵馬 */
.gl-swiper .swiper-wrapper,.swiper-thumbnail .swiper-wrapper {transition-timing-function: linear;}
.swiper.gl-swiper{
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}
.swiper-slide span{
    display: block;
    text-align: center;
    padding-top: 0.75em;
}
.swiper.gl-swiper.highlight-swiper{margin-top: 75px;}
@media (min-width:1536px){
    .swiper.gl-swiper.highlight-swiper{margin-top: 100px;}
}
#pagecontents > section {
    padding-top: clamp(65px, 16vw, 120px);
}
.pc-catch {
    font-size: clamp(19px, 3.5vw, 32px);
    font-weight: 600;
    line-height: 1.55;
    margin-bottom: 3em;
    letter-spacing: 0.05rem;
}
.cp_top_imgtext {
    display: flex;
    flex-direction: column;
    gap: 3rem;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}
.cp_top_imgtext .txt{
    width: 90%;
    margin: 0 auto;
}
.contents_twocol {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.contents_twocol > div > p{
    margin-bottom: 2rem;
}
@media (min-width:1024px){
    .cp_top_imgtext {
        flex-direction: row;
        position: relative;
    }
    .cp_top_imgtext > .img{
        position: relative;
        top: 0;
        width: 48%;
    }
    .cp_top_imgtext > .txt{
        width: 50%;
        padding: 3rem 3rem 3rem 0rem;
        max-width: 532px;
        margin: unset;
    }
    .contents_twocol{
        flex-direction: row;
        justify-content: space-between;
    }
    .contents_twocol > div{width: 45%;}
}
@media (min-width:1280px){
    .cp_top_imgtext {gap: 7rem;}
    .cp_top_imgtext > .txt{padding: 4.5rem 3.5rem 4.5rem 0;}
}
@media (min-width:1936px){
    .cp_top_imgtext {justify-content: center;}
    .cp_top_imgtext > .img{max-width: 950px;}
}
span.img-ex {
    display: block;
    text-align: center;
    padding-top: 0.75rem;
}
.umetenjin {
    max-width: 888px;
    margin: 3.75rem auto 0;
}
.umetenjin > p,
.umetenjin > div{
    padding-left: 2rem;
    padding-right: 2rem;
}
.umetenjin > p{
    font-size: 19px;
    padding-top: 1em;
    padding-bottom: 1em;
}
.umetenjin > div{
    background: #FCEAEC;
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
}
.umetenjin > div > p > small{
    display: block;
    padding-top: 1rem;
}
@media (min-width:640px){
    .umetenjin > p {font-size: 22px;}
}
.yurai-img > img{
    width: auto;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    margin: 0 auto;
}
.swiper-main{
    max-width: 702px;
    margin: 0 auto;
}
.swiper.swiper-thumbnail{margin-top: 65px;}
@media (min-width:769px){
    .swiper.swiper-thumbnail{margin-top: 100px;}
}
@media (min-width:1280px){
    .swiper.swiper-thumbnail{margin-top: 120px;}
}

a.mapdl {
    display: block;
    max-width: 331px;
    text-align: center;
    margin: 0 auto;
    padding: 1.5em 3em;
    border-radius: 100px;
    margin-top: 30px;
}
.souvenirlist {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-top: 50px;
}
.souvenirlist > div{
    width: 90%;
    margin: 0 auto;
}
.souvenirlist > div p{
    padding-top: 1rem;
}
@media (min-width:640px){
    .souvenirlist > div {
        width: 47%;
        margin: unset;
    }
}
@media (min-width:1024px){
    .souvenirlist {
        gap: 3rem 1.5rem;
        margin-top: 100px;
    }
    .souvenirlist > div{width: calc((100% - 3rem) / 3);}
}
.sodati-ume-img {
    width: 95%;
    max-width: 468px;
    margin: 0 auto;
}
.sodati-ume-text {padding-top: 2rem;}
.pink.sodati-ume {
    padding-top: 0.8rem;
    font-size: 23px;
    margin-bottom: 1.75rem;
    font-weight: 600;
}
.umelist {
    margin-top: 75px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}
.umelist .ume .umename{
    padding-top: 0.7rem;
}
@media (min-width:1024px){
    .umelist {
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 3rem 4rem;
        margin-top: 100px;
    }
}
.map {
    width: 100vw;
    margin: 3.5rem calc(50% - 50vw) 2.5rem;
    height: auto;
    aspect-ratio: 8 / 3;
    min-height: 350px;
    max-height: 660px;
}
a.map-keiro {
    display: block;
    border: 1px solid #bbb;
    padding: 0.7rem 1.5rem 0.575rem;
    width: 183px;
    max-width: 183px;
    margin: 0 auto;
    margin-bottom: 4rem;
    transform: var(--hover);
}
a.map-keiro:hover{
    background: var(--pink02);
}
.way {
    background: #FCEAEC;
    padding: 3rem 2rem;
}
.way > div:nth-of-type(n+2){
    margin-top: 1.75rem;
}
ul li.indent{
    padding-left: 1em;
    text-indent: -1em;
}
@media (min-width:768px){
    .way {padding: 3rem;}
}
div.openinfo > div{
    display: grid;
    gap: 1rem;
}
div.openinfo > div .item,
div.openinfo > div .info{
    display: block;
    width: 100%;
    padding: 1rem;
}
div.openinfo > div .item{
    background: #FEF6F7;
}
.att{
    padding-left: 1em;
    text-indent: -1em;
}
.info .att{color: #ff0000;}
a.coupon {
    display: block;
    max-width: 331px;
    text-align: center;
    padding: 1rem 2rem;
    border-radius: 100px;
    margin: 1.75rem 0;
}
@media (min-width:768px){
    div.openinfo > div:nth-of-type(n+2){
        margin-top: 1rem;
    }
    div.openinfo > div{
        display: flex;
        align-items: flex-start;
        gap: 1rem;
    }
    div.openinfo > div .item{width: 222px;}
    div.openinfo > div .info{
        width: calc(100% - (222px + 3rem));
    }
}
a.lgp-link{transition: var(--hover);}
a.lgp-link:hover{
    color: var(--pink);
    text-decoration: underline;
}
/* ------------- 404 -------------- */
#pagecontents.page404 {padding: 10rem 0 5rem;}

#pagecontents.page404 h2{
    font-size: clamp(20px, 3.75vw, 23px);
    color: var(--pink);
    font-weight: bold;
}
#pagecontents.page404 h3{margin: 1rem 0 3rem;}
ul.page404_links {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 30px;
}
ul.page404_links li a{
    display: inline-block;
    padding: 0.35rem 2rem 0.45rem;
    border-radius: 50px;
}
/* ------------- post ------------------- */
.news_wrapper,.single_wrapper{
    padding-top: 5.5rem;
    padding-bottom: 3rem;
}
.pagenation {
    margin-top: 3rem;
    text-align: center;
}

.pagenation .wp-pagenavi span.pages,
.pagenation .wp-pagenavi a.first,
.pagenation .wp-pagenavi a.last,
.pagenation .wp-pagenavi span.extend{display: none!important;}

.pagenation .wp-pagenavi{
    display: flex;
    align-items: center;
    justify-content: center;
}
.pagenation .wp-pagenavi span,
.pagenation .wp-pagenavi a {
    display: flex;
    border: 1px solid var(--pink02);
    background: var(--pink02);
    color: var(--t_bace);
    width: 30px;
    height: 31px;
    border-radius: 30px;
    align-items: center;
    justify-content: center;
    line-height: 0;
}
.pagenation .wp-pagenavi a{transition: var(--hover);}
.pagenation .wp-pagenavi a:hover{
    background: var(--pink);
    color: var(--white);
    border: 1px solid var(--pink);
}
.pagenation .wp-pagenavi span.current{
    background: var(--pink);
    color: var(--white);
    border: 1px solid var(--pink);
}

/* single */
.post_info{
    margin-bottom: 3rem;
}
.post-top-wrap{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 1rem;
    margin-bottom: 2.5rem;
}
.post-top-wrap .post_cat,
.post-top-wrap .post_date{
    font-size: 13px;
    display: block;
    font-weight: bold;
}
.post-top-wrap .post_cat{
    background: var(--pink);
    color: var(--white);
    padding: 0.5rem 1.5rem 0.3rem;
    border-radius: 30px;
}
.post_info .post-title{
    padding: 1rem 1.5rem;
    border-top: 1px solid #cecebf;
    border-bottom: 1px solid #cecebf;
    line-height: 1.66;
    font-size: 19px;
}
@media (min-width:640px){
    .post_info .post-title{font-size: 22px;}
}

.post_pagenation {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.85rem 2.5rem;
    margin-top: 3rem;
}
.post_pagenation > div a{
    background: var(--pink);
    color: var(--white);
    padding: 0.35rem 1rem 0.25rem;
    border-radius: 30px;
    font-size: 13px;
    transition: var(--hover);
}
.post_pagenation > div a:hover{
    background: var(--pink02);
    color: var(--t_bace);
}
/* ----------- 開花状況 -------------- */
.fr-plumnewswrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2em;
}
.plumnews-archive a .post_dt{
    display: flex;
    flex-direction: column;
    margin-top: 1rem;
}
.plumnews-archive a .post_title{
    font-size: 14px;
}
@media (min-width:1024px){
    .fr-plumnewswrap {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 5em 3em;
    }
}

ul.termlist {
    list-style: auto;
    padding-left: 2.5rem;
    padding-top: 0.7rem;
}
ul.termlist > li:nth-of-type(n+2){
    padding-top: 1rem;
}
ul.termlist > li > ul{
    list-style: upper-alpha;
    padding-left: 1.5rem;
    padding-top: 0.6rem;
}
ul.termlist > li > ul > li > ul{
    list-style: lower-roman;
    padding-left: 1.5rem;
    padding-top: 0.6rem;
}
table.termtable {
    width: 100%;
    margin-top: 2rem;
}
table.termtable th{
    background: #fff4f5;
}
table.termtable th,
table.termtable td{
    padding: 0.75rem 1rem;
    border: 1px solid #ebdadc;
}

@media (max-width:640px){
    table.termtable th,
    table.termtable td{
        display: block;
        width: 100%;
    }
    table.termtable td{border-top: none;}
    table.termtable tr:not(:last-of-type) td{border-bottom: none;}
}

/* ----------- フォトコンテスト -------------- */
/* 見出し（最低限） */
.photopage .photo-section-title {
	font-size: clamp(18px, 2.4vw, 24px);
	margin: 2.5rem 0 1rem;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--pink02);
}

/* -------------------------
   受賞概要（まとめ）
------------------------- */
.photopage .award-summary-wrap {
	display: grid;
	gap: 1.25rem;
}
.photopage .award-summary-block {
	background: var(--white);
}
.photopage .award-row {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) 280px;
	gap: 12px;
	align-items: center;
}
.photopage .award-badge {
	width: 76px;
	height: auto;
	display: block;
}
.photopage .award-title,
.photopage .award-name {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.photopage .award-title {
	font-weight: 600;
	line-height: 1.4;
}
.photopage .award-name {
	font-size: 14px;
	line-height: 1.4;
	opacity: .9;
	justify-self: end;
	text-align: right;
}
.photopage .award-suisen-figure {
	margin: 0 0 10px;
	max-width: 520px;
	width: 100%;
	overflow: hidden;
}
.photopage .award-suisen-figure img {
	width: 100%;
	height: auto;
	max-height: 460px;
	object-fit: contain;
	display: block;
}
.photopage .award-summary-list .award-list-head {
	display: grid;
	grid-template-columns: 92px 1fr;
	gap: 12px;
	align-items: start;
}
.photopage .award-summary-list .award-col--list {
	display: grid;
	gap: 10px;
}
.photopage .award-row--list {
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px solid var(--pink02);
}

.photopage .award-row--list:last-child {
	border-bottom: none;
}
@media (max-width: 960px) {
	.photopage .award-row {
		grid-template-columns: 84px minmax(0, 1fr) 240px;
		gap: 10px;
	}

	.photopage .award-row--list {
		grid-template-columns: minmax(0, 1fr) 240px;
		gap: 10px;
	}

	.photopage .award-badge {
		width: 70px;
	}

	.photopage .award-suisen-figure {
		max-width: 500px;
	}

	.photopage .award-suisen-figure img {
		max-height: 440px;
	}

	.photopage .award-summary-list .award-list-head {
		grid-template-columns: 84px 1fr;
		gap: 10px;
	}
}
@media (max-width: 640px) {
	.photopage .award-row {
		grid-template-columns: 78px minmax(0, 1fr);
		gap: 12px;
		align-items: end;
	}
	.photopage .award-row--suisen {
		grid-template-areas:
			"badge title"
			"badge name";
		column-gap: 12px;
		row-gap: 0;
		margin-bottom: 20px;
	}
	.photopage .award-row--suisen .award-col--badge {
		grid-area: badge;
	}
	.photopage .award-row--suisen .award-col--title {
		grid-area: title;
	}
	.photopage .award-row--suisen .award-col--name {
		grid-area: name;
		grid-column: auto;
	}
	.photopage .award-col--name {
		grid-column: 2;
	}
	.photopage .award-title,
	.photopage .award-name {
		white-space: normal;
		overflow: visible;
		text-overflow: clip;
	}
	.photopage .award-title {
		font-size: 16px;
		line-height: 1.55;
	}
	.photopage .award-name {
		margin-top: 0;
		font-size: 14px;
		line-height: 1.5;
		text-align: left;
		justify-self: start;
	}
	.photopage .award-badge {
		width: 70px;
	}
	.photopage .award-suisen-figure {
		max-width: 100%;
	}
	.photopage .award-suisen-figure img {
		max-height: 360px;
	}
	.photopage .award-summary-list .award-list-head {
		grid-template-columns: 78px 1fr;
		gap: 12px;
	}
	.photopage .award-row--list {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 10px 0;
	}
	.photopage .award-row--list .award-col--name {
		grid-column: auto;
	}
}

.photopage .photo-exhibition-body {
	padding: 1rem;
}

.photopage .photo-badge {
	width: 110px;
	height: auto;
	display: block;
}
.photopage .photo-badge.small {
	width: 86px;
}
.photopage .photo-works-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}
.photopage .photo-work-card {
	background: var(--white);
	border: 1px solid var(--pink02);
	border-radius: 18px;
	padding: 1rem;
}
.photopage .photo-work-head {
	display: grid;
	grid-template-columns: 86px 1fr;
	gap: .75rem;
	align-items: center;
}
.photopage .photo-work-title {
	font-weight: 600;
	line-height: 1.4;
}
.photopage .photo-work-name {
	margin-top: .25rem;
	font-size: 14px;
	opacity: .9;
}
.photopage .photo-work-figure {
	margin-top: .75rem;
	overflow: hidden;
}
.photopage .photo-work-figure img {
	width: 100%;
	height: auto;
	display: block;
}
.photopage .photo-work-comment {
	margin-top: .75rem;
	font-size: 14px;
	line-height: 1.7;
}

@media (max-width: 900px) {
	.photopage .photo-works-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.photopage .photo-works-grid {
		grid-template-columns: 1fr;
	}
	.photopage .photo-work-head {
		grid-template-columns: 76px 1fr;
	}
	.photopage .photo-badge.small {
		width: 76px;
	}
}

/* ------------ cookie ------------- */
.cookie-consent {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 13px;
  gap:0 1.15em;
  color: #fff;
  background: rgba(0,0,0,.7);
  padding: 0.75em 1.2em;
  box-sizing: border-box;
  z-index: 100;
  visibility: hidden;
}
.cookie-consent.is-show {
  visibility: visible;
}
.cookie-consent a {
  color: #fff !important;
}
.cookie-consent{
  line-height:1.5;
}
.cookie-agree {
  color: #fff;
  background: var(--pink);
  padding: .5em 1.5em;
  letter-spacing: 0.25em;
  border-radius: 3px;
}
.cookie-agree:hover {
  cursor: pointer;
}
/* パッと消える */
.cc-hide1 {
  display: none;
}
@media (any-hover: hover){
    .cookie-text > a:hover{text-decoration: underline;}
}

@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}

@media screen and (max-width: 600px) {
  .cookie-consent{
    font-size:12px;
  }
}