@charset "utf-8";
/* CSS Document */
/* theme name:mainstyle */
html {
    scroll-behavior: smooth;
}

body{
    background: #FBF9F3;
    font-size: 15px;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    /* font-weight: 500; */
    font-style: normal;
    color: #444444;
}

.container{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

*,
*::before,
*::after {
    padding: 0;
    margin: 0;
    list-style: none;
    list-style-type: none;
    text-decoration: none;
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

@media all and (min-width:640px){
    body{font-size: 16px;}
}

:root {
    --easing: cubic-bezier(.2, 1, .2, 1);
    --transition: .8s var(--easing);
    --hover: all .3s ease;
    --opacity: 0.55;
    --scale: 1.1;
    --shadow-small: 0 1px 3px 0 rgba(0, 0, 0, 0.1),
    0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --shadow-medium: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-large: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --lh_l: 1.92;
    --lh_m: 1.72;
    --lh_s: 1.52;
    --base01:#FBF9F3;
    --red:#ca0028;
    --gray: #EFEDE8;
    --brown:#774c2d;
    --darkbrown:#532100;
    --khaki: #664c00;
    --yellow:#ffff00;
    --orange:#ff794c;
    --white:#ffffff;
    --pink: #FFE6E8;
    --pink02: #F6B3BC;
    --pink03: #FFE6E8;
    --txtbasecolor:#444444;
}

.tate{
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
}
.palt{font-feature-settings: "palt";}

.c_red{color: var(--red);}
.c_brown{color: var(--brown);}
.c_darkbrown{color: var(--darkbrown);}
.c_khaki{color: var(--khaki);}
.c_orange{color: var(--orange);}

.bg_gray{background: var(--gray);}

.lh_l{line-height: var(--lh_l);}
.lh_m{line-height: var(--lh_m);}
.lh_s{line-height: var(--lh_s);}

.fade-left,.fade,.fastfade,.bomb{opacity: 0;}


/* --------- header ------------- */
header{
    padding: 1rem;
    position: fixed;
    width: 100%;
    z-index: 9999;
}
.header_flexwrapper {
    width: 100%;
    display: flex;
    /* align-items: center; */
    justify-content: space-between;
}
header .headerlogo{
    width: clamp(177px,23vw,269px);
    transition: var(--transition);
    transform-origin: left top;
}
header.scrolled .headerlogo,
.headerlogo.is_child{transform: scale(0.75);}

header .headerlogo a  img:nth-of-type(1){display: block;}
header.open .headerlogo a  img:nth-of-type(1){display: none;}
header .headerlogo a  img:nth-of-type(2){display: none;}
header.open .headerlogo a  img:nth-of-type(2){display: block;}

.header_flexwrapper .hambmenu{
    width: 45px;
    height: 45px;
    background: var(--white);
    border-radius: 50px;
    cursor: pointer;
}
.header_flexwrapper .hambmenu > span {
    width: 26px;
    height: 3px;
    border-radius: 100px;
    background: var(--red);
    left: 22%;
    transition: all .3s ease;
}
.header_flexwrapper .hambmenu > span:nth-of-type(1){top: 30%;}
.header_flexwrapper .hambmenu > span:nth-of-type(2){
    top: 50%;
    transform: translateY(-50%);
}
.header_flexwrapper .hambmenu > span:nth-of-type(3){top: 63%;}

.header_flexwrapper .hambmenu.active > span:nth-of-type(1){
    transform: rotate(45deg);
    top: 46%;
}
.header_flexwrapper .hambmenu.active > span:nth-of-type(2){opacity: 0;}
.header_flexwrapper .hambmenu.active > span:nth-of-type(3){
    transform: rotate(-45deg);
    top: 47%;
}

#hamb__g-navi_wrap{display: none;}

#hamb__g-navi_wrap {
    width: 100%;
    padding: clamp(114px,29vw,160px) 5vw 22vw;
    z-index: 777;
    font-weight: 600;
    position:fixed;
    top: 0;
    left: 0;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: scroll;
    background: var(--red);
}
.g-navi_inner {
    background: var(--base01);
    color: var(--txtbasecolor);
    padding: 2rem;
    border-radius: 18px;
    max-width: 600px;
}
#hamb__g-navi_wrap ul.hamb__g-navi{
    position: relative;
    z-index: 2;
    padding-bottom: 3rem;
}
ul.hamb__g-navi li{
    line-height: var(--lh_l);
}
ul.hamb__g-navi > li{
    background-image : linear-gradient(to right, var(--orange) 2px, transparent 2px);
    background-size: 10px 2px;
    background-repeat: repeat-x;
    background-position: left bottom;
    padding: 0.75em 0;
}
.g-navi_inner .cominfo{
    line-height: var(--lh_l);
}
.hamb__g-navi_haschild {
    display: grid;
    grid-template-columns: 1fr 1rem;
    align-items: center;
    gap: 2rem;
    padding-right: 0.25rem;
}
.hamb__g-navi_haschild > span{
    display: inline-block;
}
ul.hamb__g-navi_moremenulist{
    display: none;
    padding: 0.5rem 0 0.5rem;
}
/* ul.hamb__g-navi_moremenulist {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0.5em 0.25em 0.7em;
} */
ul.hamb__g-navi_moremenulist li{
    width: 100%;
    padding-left: 1rem;
    font-size: 95%;
    margin: 0.65rem 0;
}

@media all and (max-width:380px){
    ul.hamb__g-navi_moremenulist li {width: 100%;}
}

#hamb__g-navi_wrap ul.hamb__g-navi li a{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
span.hamb__g-navi_arrow {
    display: block;
    width: 1.5em;
    height: 1.5em;
    background: #938b75;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    box-sizing: border-box;
    border-radius: 50px;
}

#header.pctab_for_childpage.no-scroll-animation {
    transition: none !important;
}


/* -------- menu ----------- */
nav.global-nav span.home,nav.global-nav span.shop{
    display: block;
}
nav.global-nav span.home{width: 35px;}

span.shop a {
    display: block;
    width: 58px;
    background: var(--yellow);
    padding: 12px;
    border-radius: 50px;
    position: relative;
    right: -1.5rem;
}
nav.global-nav ul.nav-list {
    display: flex;
    align-items: center;
    gap: 0 1.85rem;
}
nav.global-nav ul.nav-list li.nav-item > a{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: var(--hover);
}
@media (any-hover: hover){
    nav.global-nav ul.nav-list li.nav-item > a:hover{color: var(--yellow);}
}
nav.global-nav ul.nav-list li.nav-item a span{
    font-size: 13px;
    padding-top: 0.75em;
}
nav.global-nav.for_childpage .logo {width: 119px;}

@media all and (min-width:1024px){
	nav.global-nav {
        background: var(--red);
        color: var(--white);
        align-items: center;
        justify-content: space-between;
        padding: 1rem 2.5rem;
        width: 90vw;
        max-width: 1168px;
        margin: 0 auto 3rem;
        border-radius: 150px;
	}
    nav.global-nav.for_childpage {
        display: flex;
        align-items: center;
        max-width: 1434px;
        padding-left: 0.75rem;
    }
    /* nav.global-nav.for_childpage span.shop a {
        width: 72px;
    } */
}
@media all and (min-width:1280px){
    nav.global-nav ul.nav-list {gap: 0 3rem;}
    nav.global-nav ul.nav-list li.nav-item a{font-size: 18px;}
    /* nav.global-nav.for_childpage .logo{width: 182px;} */
    nav.global-nav.for_childpage{padding-left: 2.5rem;}
}
#header.pctab_for_childpage{
    transition: color 0.5s, transform 0.5s;
}
#header.pctab_for_childpage.scrolled{
    transform: translateY(-100%);
}

/* メガメニュー */
.mega-menu {
    position: absolute;
    left: 50%;
    top: 100%;
    background: var(--red);
    color: var(--white);
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    transition: max-height 0.95s ease, opacity 0.95s ease;
    transform: translateX(-50%);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    border-radius: 0 0 30px 30px;
    width: 220px;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mega-menu ul {
    list-style: none;
    margin: 0;
    padding: 1em;
}

.mega-menu > ul li a {
    display: flex;
    align-items: center;
    gap: 0 0.5em;
    padding: 0.45em 0;
    color: var(--white);
    text-decoration: none;
    transition: color 0.3s, transform 0.3s;
    font-size: 14px!important;
}
.mega-menu > ul li a span.arrow-hoso{
    padding: 0!important;
    display: block;
    width: 1em;
}
@media all and (min-width:1280px){
    .mega-menu > ul li a {
        font-size: 16px!important;
    }
}

@media (any-hover: hover){
    .mega-menu li a:hover {
        transform: translateX(4px);
        color: var(--yellow);
    }
}

/* ホバー時に表示 */
.nav-item:hover .mega-menu {
    max-height: 400px; /* 高さに合わせて調整 */
    opacity: 1;
    visibility: visible;
}

.st0, .st1 {fill: none;}
.st1 {
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2px;
    transition: var(--hover);
}

.mega-menu > ul li a:hover .st1 {
    stroke: var(--yellow);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2px;
}

/* --------- footer ----------- */
footer{
    padding-top: 2rem;
}
.footercontentswrap{
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}
footer .logo {
    width: clamp(166px, 51vw, 275px);
    margin: 0 auto;
    padding: 1rem 0;
    padding-top: 0;
}
.footer-left {
    width: 46vw;
    max-width: 522px;
    margin-right: auto;
    margin-left: 0;
}
.footer-right {
    width: 43vw;
    max-width: 502px;
    margin-right: 0;
    margin-left: auto;
    position: absolute;
    right: 0;
}
.footer_info{
    color: #774c2d;
    line-height: var(--lh_l);
    padding: 0 1rem;
    padding-bottom: 1rem;
    font-size: 14px;
}
ul.sns{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}
ul.sns li {
    width: 2.5rem;
}
.copyright{
    font-size: 12px;
    padding: 1.75em 0 1em;
}

@media all and (min-width:640px){
    footer .logo{padding-top: 1rem;}
    .footercontentswrap {
        display: flex;
        flex-direction: row;
        gap: 2rem;
        align-items: anchor-center;
    }
    .footer-right {
        position: relative;
        right: unset;
    }
}
@media all and (min-width:768px){
    .footer_info{
        font-size: 16px;
    }
}

#page_top {
    position: fixed;
    width: 55px;
    right: 5%;
    bottom: 3%;
    z-index: 99;
    transition: var(--hover);
}

@media all and (min-width:640px){
    #page_top {
        position: absolute;
        width: 69px;
        right: 5%;
        top: -5%;
        z-index: 99;
    }
}
@media (min-width: 1280px) {
    #page_top {
        position: absolute;
        width: 86px;
        top: -14%;
    }
}
@media (min-width: 1366px) {
    #page_top {top: -21%;}
}
@media (any-hover: hover){
    #page_top:hover{opacity: var(--opacity);}
}
/* ------------- front ------------- */
.mainvisual{
	margin-bottom: 50px;
    /* メインビジュアル静止画の時 */
    width: 100%;
    height: 100dvh;
    min-height: 560px;
    position: relative;
}
/* メインビジュアル静止画の時 */
.mainvisual > img.mvimage{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center;
}
.movie { 
    width: 100%;
    height: auto;
    aspect-ratio: 9 / 16;
    position: relative;
}
@media (orientation: landscape){
    .mainvisual{
        background: url(./img/topbg.webp);
        background-size: cover;
        background-position: left center;
    }
	.movie{
		aspect-ratio: 16 / 9;
	}
}
@media (orientation: portrait){
    .mainvisual{
        background: url(./img/topbg.webp);
        background-size: cover;
        background-position: 11.5% center;
    }
	.movie {
		aspect-ratio: 9 / 16;
	}
}
.movie video { 
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center;
}

.pv-popup {
    position: absolute;
    right: 4%;
    bottom: 13%;
	z-index: 200;
    transition: var(--hover);
}
@media (any-hover: hover){
    .pv-popup:hover{opacity: var(--opacity);}
}
a.mv-pv-popup {
    display: flex;
    align-items: center;
    background: rgb(189 189 189 / 50%);
    padding: 0.5rem 0.75rem;
    border-radius: 10px;
    gap: 1rem;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.1rem;
    color: #fdfdfd;
}
a.mv-pv-popup .img {
    width: 63px;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
}
a.mv-pv-popup .img::after{
    content: "";
    width: 43%;
    height: auto;
    aspect-ratio: 1 / 1;
    background: url(./img/play.svg);
    background-size: cover;
    background-position: center center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 10;
}

.movie__btn{
    right: 8%;
    bottom: 12%;
	z-index: 200;
}
.movie__btn button { 
    font-family: inherit;
    padding: 0.5em;
	padding-left: 3em;
    border-radius: 50px;
    box-shadow: initial;
    display: inline-block;
    appearance: none;
    border: 2px solid var(--white);
    background-color: initial;
    cursor: pointer;
	color: var(--white);
	font-weight: 600;
	font-size: 12px;
}

.js-video-button {
    /* width: 2.5rem;
    height: 2.5rem; */
    border: none;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: transparent;
    cursor: pointer;
    display: inline-block;
}

/* 初期状態（音声オフ → 「オンにする」画像） */
.js-video-button[aria-pressed="false"] {
    background-image: url(./img/soundon.svg);
    background-size: 1.75em;
    background-position: 11%;
}

/* 音声オン → 「オフにする」画像 */
.js-video-button[aria-pressed="true"] {
    background-image: url("./img/soundoff.svg");
    background-size: 1.75em;
    background-position: 11%;
}
.mvcatch {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    width: 84vw;
}

.mvmountarea {
    width: 100%;
    bottom: -2px;
}
.mvmountarea > img.mountonly{display: none;}
.mvmountarea > span.mount01,
.mvmountarea > span.mount02{
	bottom: 0;
}
.mvmountarea > span.mount01{
	display: block;
	width: 35%;
	max-width: 836px;
}
.mvmountarea > span.mount02{
	display: block;
	width: 31%;
	max-width: 705px;
}

@media all and (min-width:768px){
	.movie { 
        width: 100%;
        height: auto;
		max-height: 100vh;
		min-height: 100vh;
        position: relative;
	}
	.mvcatch {width: min(65vw,869px);}
}
@media all and (min-width:1024px){
	.mv-logo-bar {
        width: 95%;
        z-index: 100;
        justify-content: space-between;
        left: 50%;
        transform: translateX(-50%);
        padding: 1.5rem 0;
	}
	.mv-logo-bar .logo{width: min(20vw,269px);}
	.mv-logo-bar .cologo{max-width: 208px;}
	.movie__btn {bottom: 17%;}
	.movie__btn button {font-size: 14px;}
}
@media all and (min-width:1860px){
	.mvmountarea {
        max-width: 1800px;
        left: 50%;
        transform: translateX(-50%);
    }
	.mvmountarea::after {
        content: "";
        width: 101vw;
        padding-top: 5%;
        bottom: 0;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        background-image: url(./img/wave01.svg);
        background-repeat: repeat;
        background-size: cover;
        z-index: -1;
    }
	.mvmountarea > img.xl-hidden{display: none;}
	.mvmountarea > img.mountonly{display: block;}
}

.fr_newlist {
    margin-bottom: 4.5rem;
    max-width: 936px;
}
ul.newslist li{
    padding: 1em 0.75em;
    background-image : linear-gradient(to right, var(--red) 2px, transparent 2px);
    background-size: 7px 2px;
    background-repeat: repeat-x;
    background-position: left bottom;
}
ul.newslist li a{
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: baseline;
    gap: 1.75rem;
}
.post_date{
    font-size: 14px;
    color: #888;
}
.post_title{
    line-height: var(--lh_m);
    transition: var(--hover);
}
@media (any-hover: hover){
    ul.newslist li a:hover .post_title{
        color: var(--red);
        opacity: var(--opacity);
    }
}

.newsbtn {
    width: 53vw;
    max-width: 201px;
    margin: 2rem auto 0;
}
.newsbtn a{
    display: block;
    width: 100%;
    border: 2px solid var(--red);
    padding: 0.75em 1em;
    border-radius: 50px;
    color: var(--red);
    font-size: 14px;
    transition: var(--hover);
}
@media all and (min-width:768px){
    ul.newslist li{padding: 1em 2.75em;}
    ul.newslist li a{gap: 2.75rem;}
}

@media (any-hover: hover){
    .newsbtn a:hover{
        background: var(--red);
        color: var(--white);
    }
}
/* ------ parallax-content ------ */
.parallax-content {
    clip-path: inset(0);
    position: relative;
}
.parallax-content::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -10;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
@media all and (min-width:640px){
    .parallax-content::after{
        position: fixed;
    }
}
#fr_concept {
    color: var(--white);
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
    line-height: var(--lh_m);
    font-size: clamp(17px,4.3vw,23px);
}
#fr_concept::after {
    background-image: url(./img/frconcept-bg.webp);
}
#fr_concept > .container{
    height: 100%;
    padding: 4rem 0;
}
@media all and (min-width:1280px){
    #fr_concept {height: 818px;}
    #fr_concept > .container p{
        position: relative;
        top: 50%;
        transform: translateY(-50%);
    }
}
.fruit-swiper {
    margin: clamp(45px, 4.25vw, 100px) 0 3.5rem;
}
.fruit-swiper-slide a{position: relative;}
.fruit-swiper-slide a::after {
    content: "";
    position: absolute;
    right: 7%;
    bottom: 10%;
    background: var(--white);
    border-radius: 50px;
    padding: 11px 15px;
    font-size: 13px;
    font-weight: 500;
    opacity: 0;
    visibility: hidden;
    transition: var(--hover);
}
.fruit-swiper-slide._grape a::after{
    content: "ぶどうについて";
    bottom: 64%;
}
.fruit-swiper-slide._cherry a::after{
    content: "さくらんぼについて";
}
.fruit-swiper-slide._peach a::after{
    content: "ももについて";
    right: unset;
    left: 7%;
    bottom: 64%;
}
.fruit-swiper-slide._berry a::after{
    content: "いちごについて";
    right: unset;
    left: 10%;
    bottom: 32%;
}
.fruit-swiper-slide._plum a::after{
    content: "すももについて";
    right: unset;
    left: 7%;
    bottom: 64%;
}
.fruit-swiper-slide._fig a::after{
    content: "いちじくについて";
}
.fruit-swiper-slide span.fruit-illust {
    display: block;
    width: 28%;
    height: auto;
    aspect-ratio: 1 / 1;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
}
.fruit-swiper-slide span.fruit-illust.grape{
    width: 33%;
}
.fruit-swiper-slide span.fruit-illust.cherry {
    width: 28%;
    transform: rotate(17deg) translate(-50%, 14%);
}
/* .fruit-swiper-slide span.fruit-illust.peach{width: 33%;} */
.fruit-swiper-slide span.fruit-illust.berry{
    width: 35%;
}
.fruit-swiper-slide span.fruit-illust.plum{
    width: 25%;
}
.fruit-swiper-slide span.fruit-illust.fig{
    width: 29%;
}

.fruit-swiper-slide span.fruit-illust > img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
}
.fruit-swiper-slide span.fruit-illust.grape > img{object-position: top center;}
.fruit-swiper-slide  div {
    border-radius: 45px;
    overflow: hidden;
    margin-top: -14%;
}
.fruit-swiper-slide  div.grape{margin-top: -19%;}
.fruit-swiper-slide  div.berry{margin-top: -21%;}
.fruit-swiper-slide  div.plum{margin-top: -10%;}

@media (any-hover: hover){
    .fruit-swiper-slide a:hover::after{
        opacity: 1;
        visibility: visible;
    }
}
.otoriyosewrap {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    justify-content: center;
    padding: 0 5rem;
}
.otoriyose{
    max-width: 388px;
    width: 70vw;
    margin: 0 auto;
}
.otoriyose a{
    display: block;
    border: 3px solid var(--red);
    padding: 1.5rem 1.75rem;
    padding-left: 2.75;
    border-radius: 80px;
    color: var(--red);
    font-weight: 500;
    background: var(--yellow);
    font-size: 18px;
    text-align: center;
    transition: var(--hover);
}
.otoriyose:nth-child(2) a{padding-left: unset;}
.otoriyose span {
    position: absolute;
    display: block;
    width: 2em;
    top: 50%;
    transform: translateY(-50%);
    left: 1.25em;
}
.otoriyose span > img:nth-of-type(1){display: block;}
.otoriyose span > img:nth-of-type(2){display: none;}
.otoriyose a p{padding-left: 1em;}
@media all and (max-width:360px){
    .otoriyose span{
        position: inherit;
        top: unset;
        left: unset;
        transform: unset;
    }
    .otoriyose a{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1.2em;
        text-align: left;
        font-size: 17px;
        padding: 1.15rem 1.65rem;
    }
    .otoriyose a p{padding-left: 0;}
    .otoriyose:nth-child(2) a{padding-left: 1.65rem;}
}
@media all and (min-width:786px){
    .otoriyose a{font-size: 22px;}
}
@media all and (min-width: 1024px){
    .otoriyose{
        max-width:unset;
        width: 388px;
        margin: unset;
    }
}
@media (any-hover: hover){
    .otoriyose a:hover{
        background: var(--red);
        color: var(--yellow);
    }
    .otoriyose a:hover span > img:nth-of-type(2){display: block;}
    .otoriyose a:hover span > img:nth-of-type(1){display: none;}
}
#recruit .imgarea {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 0.85;
}
#recruit .imgarea::before {
    content: "";
    width: 100%;
    display: block;
    position: absolute;
    top: 0;
    background: url(img/wave02.svg) center center / cover no-repeat;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 13.2%;
}
#recruit .imgarea::after {
    content: "";
    width: 100%;
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url(img/wave03.svg) center center / cover no-repeat;
    padding-top: 13%;
}
#recruit .imgarea > img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
@media all and (min-width:1024px){
    #recruit .imgarea {
        aspect-ratio: 375 / 228;
        padding-top: 0%;
        overflow: hidden;
    }
    #recruit .imgarea::before {
        top: -8%;   
        padding-top: 13.2%;
    }
}
.fr-recruit-text {
    background: var(--white);
    width: min(90vw, 1033px);
    border-radius: 9rem;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    margin-top: -13.5%;
    padding: 3rem 4rem;
}
.fr-recruit-text .item {
    font-size: 2rem;
    font-weight: 500;
}
.fr-recruit-text .m-item{
    font-size: 1.25rem;
    margin: 1.5em 0;
    line-height: 1.25;
}
.fr-recruit-text .txt {
    line-height: var(--lh_l);
    width: 95%;
    max-width: 763px;
    margin: 0 auto;
    text-align: left;
}
.fr-recruit-text a {
    display: block;
    color: var(--white);
    background: var(--red);
    padding: 0.75em 3em 0.85em;
    font-size: 14px;
    border-radius: 50px;
    width: 72%;
    max-width: 238px;
    margin: 0 auto;
    margin-top: 2em;
    font-weight: 500;
    border: 2px solid var(--red);
    transition: var(--hover);
}
.fr-recruit-text a br{display: block;}

@media all and (min-width:414px){
    .fr-recruit-text a br{display: none;}
}
@media all and (max-width:430px){
    .fr-recruit-text {padding: 3rem 1.5rem;}
}
@media all and (min-width:768px){
    .fr-recruit-text {border-radius: 14rem;}
}
@media all and (min-width: 1024px) {
    .fr-recruit-text {border-radius: 30rem;}
}
@media all and (min-width:1079px){
    .fr-recruit-text .item {
        font-size: 3.75rem;
        font-weight: 400;
    }
    .fr-recruit-text .m-item {font-size: 1.7rem;}
    .fr-recruit-text{padding: 4rem;}
    .fr-recruit-text a {margin-top: 4em;}
}
@media (any-hover: hover){
    .fr-recruit-text a:hover{
        background: var(--white);
        color: var(--red);
    }
}
.map {
    width: 100vw;
    height: auto;
    aspect-ratio: 3 / 2;
    margin-top: 4.75rem;
}
@media all and (min-width:768px){
    .map {margin-top: 7.75rem;}
}
@media all and (min-width:1280px){
    .map{aspect-ratio: 3.75 / 1;}
}
.way a {
    display: block;
    text-align: center;
    color: var(--orange);
    font-size: 14px;
    padding: 0.75em 2.5em 0.9em;
    border-radius: 50px;
    border: 2px solid #ffb399;
    max-width: 204px;
    margin: 27px auto 10px;
    transition: var(--hover);
}
@media (any-hover: hover){
    .way a:hover{
        background: var(--orange);
        color: var(--white);
    }
}
/* -------- 404 -------- */
#pagecontents.page404 > .container{
    padding-bottom: 5rem;
}
#pagecontents.page404 > .container h1{
    font-size: clamp(21px, 2.875vw, 29px);
    font-weight: 500;
    color: var(--brown);
    margin-bottom: 0.35em;
}
#pagecontents.page404 > .container h2{
    font-size: clamp(18px,2.5vw,22px);
    margin-bottom: 3rem;
    color: var(--brown);
}
ul.page404_links {
    margin-top: 3rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.2em;
    align-items: anchor-center;
    justify-content: center;
}
ul.page404_links li a{
    background: var(--red);
    color: var(--white);
    text-align: center;
    padding: 0.6em 1.75em 0.75em;
    border-radius: 50px;
    border: 2px solid var(--red);
    font-weight: 500;
    transition: var(--hover);
}

@media (any-hover: hover){
    ul.page404_links li a:hover{
        background: transparent;
        color: var(--red);
    }
}
/* ------------- childpage ---------------- */
.page-main {
    padding-bottom: 2rem;
}
.page-header {
    width: 100%;
    height: auto;
    max-height: 700px;
    min-height: 277px;
    aspect-ratio: 16 / 11;
    margin-bottom: min(14.75vw, 140px);
}
.page-header > img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}
.page-header > img.news{
    object-position: 100% 50%;
}
.page-header > img.setbottom,
.page-header > img.vm{
    object-position: 50% 100%;
}
.page-header::after {
    content: "";
    width: 100%;
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url(img/wave01.svg) center top / cover no-repeat;
    padding-top: 2%;
}
h1.pageitem {
    display: inline-block;
    background: var(--red);
    padding: 0.825em;
    padding-left: min(10vw, 200px);
    padding-right: 2em;
    color: var(--white);
    font-size: clamp(21px, 2.875vw, 29px);
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    text-shadow: 1px 1px 4px rgb(0, 0, 0, .7);
    position: absolute;
    bottom: -4.5%;
    left: 0;
    z-index: 5;
}
@media all and (min-width:640px){
    .page-header {aspect-ratio: 16 / 7;}
}
@media all and (max-width:640px){
    .page-header.news::after{padding-top: 4%;}
}
h2.ul_item,
h3.ul_sitem {
    color: var(--brown);
    font-size: clamp(19px, 1.875vw, 23px);
    padding-bottom: 1.15em;
    position: relative;
    margin-bottom: 1.85em;
}
h3.ul_sitem{font-size:clamp(17.5px, 1.15vw, 18px);}
h2.ul_item::after,
h3.ul_sitem::after{
    content: "";
    border-bottom: 1px solid #acac9d;
    width: 145px;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: -0.5em;
}
@media all and (min-width:1280px){
    h2.ul_item::after{
        left: -1.5em;
    }
}
.pagebottommenu {
    background: #EFEDE8;
    margin-top: 5rem;
    padding: 1.75rem 0;
}
.pagebottommenu ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1em 3em;
}
.pagebottommenu ul li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--txtbasecolor);
    gap: 0.35em;
    transition: var(--hover);
}
.pagebottommenu ul li a span{
    color: #666666;
    font-size: 11px;
    transition: var(--hover);
}
.pagebottommenu ul li a.active,
.pagebottommenu ul li a.active span{
    color: var(--red);
}
@media all and (min-width:1280px){
    .pagebottommenu {margin-top: 6.5rem;}
    .pagebottommenu ul li a{font-size: 18px;}
}
@media (any-hover: hover){
    .pagebottommenu ul li a:hover,
    .pagebottommenu ul li a:hover span{
        color: var(--red);
    }
}

.messagecontents {
    display: flex;
    flex-wrap: wrap;
    gap: 3rem 3.5rem;
    align-items: flex-end;
}
ul.keireki li{
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1em;
}
.messagecontents .left .name {
    text-align: right;
    position: absolute;
    bottom: -3rem;
    right: 0;
    padding-top: 1rem;
}
.messagecontents .left .picture {
    width: clamp(138px, 61%, 310px);
    margin: -6px auto 14px;
}
@media all and (min-width:640px){
    ul.keireki li{font-size: 15px;}
    .messagecontents .left .picture {
        position: absolute;
        right: 0;
        bottom: 88%;
    }
}
@media all and (min-width:1024px){
    .messagecontents > div{
        width: 46.5%;
    }
    .messagecontents > div.right .picture{
        right: 0;
        bottom: 100%;
    }
}
a.about-history {
    display: block;
    margin-top: 4rem;
}
a.about-history span {
    text-align: center;
    background: rgb(102 76 0 / 83%);
    color: var(--white);
    font-size: clamp(17px, 2.875vw, 29px);
    padding: 0.6em 2em 0.7em;
    border-radius: 100px;
    position: absolute;
    bottom: -24px;
    left: 50%;
    transform: translateX(-50%);
    transition: var(--hover);
}
@media (any-hover: hover){
    a.about-history:hover span{
        background: rgb(102 76 0 / 100%);
    }
}
.philosophyimg {
    width: 100vw;
    height: auto;
    aspect-ratio: 16 / 14;
    margin: 0 calc(50% - 50vw);
    margin-top: 2.5rem;
}
.philosophyimg::after{background-image: url(./img/philosophy-bg.webp);}

.philosophyimg .container{
    position: relative;
    height: 100%;
    padding: 3rem 0;
    display: flex;
    align-items: flex-end;
    font-weight: 500;
    font-size: clamp(17px, 2.875vw, 29px);
    color: var(--txtbasecolor);
    color: var(--white);
    text-shadow: 1px 1px 10px rgb(0 0 0 / 70%);
}
.parallax-content.recruit-parallax{
    position: relative;
    display: flex;
}
.parallax-content.recruit-parallax .container{
    position: relative;
    left: 0;
    bottom: 0;
    /* height: 100%; */
    padding: 3rem 0;
    display: flex;
    flex-direction: column;
    justify-content: end;
    /* -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-end;
    justify-content: flex-end; */
    align-items: flex-end;
    font-weight: 500;
    font-size: clamp(17px, 2.875vw, 29px);
    color: var(--txtbasecolor);
    color: var(--white);
    text-shadow: 1px 1px 10px rgb(0 0 0 / 70%);
}
.parallax-content.recruit-parallax .container *{
    width: 100%;
}
.parallax-content.recruit-parallax .container p{
    line-height: 1.5;
    margin-bottom: 1em;
}
.parallax-content.recruit-parallax .container div{
    font-size: clamp(16px,1.75vw,18px);
    line-height: 1.35;
}
#philosophy{padding-top: 5.5rem;}
@media all and (min-width:640px){
    .philosophyimg {
        width: 100vw;
        height: auto;
        max-height: 525px;
        aspect-ratio: 16 / 10;
        margin: 0 calc(50% - 50vw);
        margin-top: 4rem;
    }
}
@media all and (min-width:1024px){
    a.about-history {
        margin-top: 6rem;
    }
    #philosophy{padding-top: 7rem;}
}
.philosophytxt {
    margin-top: 4rem;
}

.contentswrap:nth-of-type(n+2){padding-top: 4rem;}
@media all and (min-width:640px){
    .contentswrap:nth-of-type(n+2){padding-top: 6.5rem;}
}
.tablewrapper,.tablewrapper table{
    width: 100%;
}
table th{font-weight: normal;}

table.overview-table th{
    background-color: #F7F3ED;
}
table.overview-table th,
table.overview-table td {
    width: 100%;
    padding: 1.25em 2em;
    display: block;
    line-height: var(--lh_s);
}
@media all and (min-width:640px){
    table.overview-table th,
    table.overview-table td{
        display: table-cell;
        width: auto;
        border-bottom: 1px solid #D7CABD;
    }
}
@media all and (min-width:768px){
    table.overview-table th{width: 245px;}
    table.overview-table th, table.overview-table td {padding: 1.5em 2.5em;}
}
.keiei-philosophy {
    font-size: clamp(17px, 2.875vw, 29px);
    font-weight: 500;
    line-height: var(--lh_l);
    margin-bottom: 1em;
    padding-top: 0.5em;
}
/* ---------------- history ---------------- */
.pagecontflex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 3rem 2rem;
}
.pagecontflex:nth-of-type(n+2){
    margin-top: 5rem;
}
.pagecontflex.historyblk .imgs{
    width: 100%;
    max-width: 561px;
    margin: 0 auto;
}
.pagecontflex.historyblk .imgs div{
    position: relative;
    width: 60%;
    max-width: 340px;
}
.pagecontflex.historyblk .imgs div:nth-of-type(n+2){
    margin-top: -9%;
}
.pagecontflex.historyblk .imgs div:nth-of-type(2n){
    margin-left: auto;
    margin-right: 0;
    z-index: 10;
}

.pagecontflex > div,
.pagecontflex .imgs{
    width: 100%;
}
@media (min-width:768px){
    .pagecontflex._rv{flex-direction: row-reverse;}

    .pagecontflex > div,
    .pagecontflex .imgs{
        width: 48%;
        margin: unset;
    }
    .pagecontflex:nth-of-type(n+2){margin-top: 8rem;}
}
/* --------------- fruits ------------ */
h3.fruitname {
    display: grid;
    grid-template-columns: 53px 1fr;
    gap: 1.5rem;
    align-items: flex-end;
    font-weight: 500;
    margin-bottom: 1rem;
    font-size: 21px;
}
h3.fruitname.berry,
h3.fruitname.fig {gap: 1.8rem;}
h3.fruitname.grape{gap: 1.75rem;}
h3.fruitname.plum {gap: 1.1rem;}


h3.fruitname i {width: 58px;}
h3.fruitname i.peach {width: 60px;}
h3.fruitname i.berry,
h3.fruitname i.fig{width: 67px;}
h3.fruitname i.plum{width: 52px;}
h3.fruitname i.grape{width: 63px;}

h3.fruitname > p{padding-bottom: 0.5rem;}

.fruitexplain > a,
a.kakumarubtn {
    display: inline-block;
    text-align: center;
    padding: 0.75em 2.5em;
    line-height: 1.35;
    border-radius: 100px;
    font-weight: 500;
    border: 3px solid var(--red);
    transition: var(--hover);
    font-size: clamp(17px, 1.75vw, 21px);
    margin-top: 2.5rem;
}
a.bs_red{
    background: var(--red);
    color: var(--white);
}
a.bs_yellow{
    background: var(--yellow);
    color: var(--red);
}
a.bs_cr{
    background: var(--base01);
    color: var(--red);
    border-color: var(--base01);
}
.fruitexplain > a.gray{
    border-color: #d1d1d1;
    background: #d1d1d1;
    color: #fff;
}


@media (any-hover: hover){
    a.bs_red:hover{
        background:transparent;
        color: var(--red);
    }
    a.bs_yellow:hover{
        background:var(--red);
        color: var(--yellow);
    }
    a.bs_cr:hover{
        background: var(--red);
        color: var(--base01);
    }
}

.pagecontflex.fruitsblk{
    gap: 3rem 0rem;
}
.pagecontflex.fruitsblk:nth-of-type(n+2){
    margin-top: 0;
    padding-top: 5rem;
}
@media (min-width:768px){
    .pagecontflex.fruitsblk:nth-of-type(n+2){
        margin-top: 0;
        padding-top: 8rem;
    }
}
@media (min-width:1024px){
    .pagecontflex.fruitsblk{
        gap: 3rem 2rem;
        align-items: flex-end;
    }
    .pagecontflex.fruitsblk > div{max-width: 560px;}
    .fruitexplain > a{margin-top: 3.25rem;}
}

/* さくらんぼ狩り */
.swiper-wrapper.cherry-swiper-wrapper {transition-timing-function: linear;}
.swiper-slide img {
    height: auto;
    width: 100%;
}

.cherry-parallax,
.recruit-parallax{
    width: 100vw;
    height: auto;
    aspect-ratio: 1500 / 643;
    max-height: 643px;
    margin: 0 calc(50% - 50vw);
    margin-top: 2.25rem;
    min-height: 312px;
}
.recruit-parallax{margin-bottom: 3.5rem;}
@media (min-width:640px){.recruit-parallax{margin-bottom: 5rem;}}
@media (min-width:768px){.recruit-parallax{margin-bottom: 6rem;}}
@media (min-width:1024px){.recruit-parallax{margin-bottom: 7rem;}}
.cherry-parallax::after {background-image: url(./img/cherry-para-bg.webp);}
.recruit-parallax::after{background-image: url(./img/recruit-para-bg.webp);}
.recruit-parallax.int-ai::after{background-image: url(./img/int01_01.webp);}
.recruit-parallax.int-hs::after{background-image: url(./img/int02_01.webp);}
.recruit-parallax.int-tu::after{background-image: url(./img/int03_01.webp);}
.cherry_kodawari_top{
    margin-top: 3.5rem;
}
.cherry_kodawari_top h3{
    font-size: clamp(22px,3.75vw,29px);
    font-weight: 500;
    margin-bottom: 2em;
    line-height: 1.35;
}
.cherry_feature_point {max-width: 252px;}
.cherry_feature_point.rec{max-width: 294px;}
.fruitexplain .cherry_feature_point:nth-of-type(n+2){
    margin-top: 2rem;
}
.cherry_feature h4{
    font-size: clamp(22px,3.75vw,29px);
    padding: 1em 0;
}
.cherry_feature h4.double{
    padding: 0.5em 0;
}
.pagecontflex.cherry_kodawari {
    align-items: center;
}
.feature-flex {
    display: grid;
    grid-template-columns: 1fr clamp(95px,10vw,113px);
    align-items: flex-end;
    gap: 1.5rem;
}
.feature-flex p a{
    display: inline-block;
    margin-top: 0.5rem;
    font-size: smaller;
}
.feature-flex p a i{
    display: inline-block;
    width: 1rem;
    margin-left: 0.25rem;
}
.cherry-swiper-outer {margin: 4rem 0;}

@media (max-width:374px){
    .feature-flex.perinitiative{
        grid-template-columns:unset;
    }
    .feature-flex.perinitiative .mark {
        width: 50%;
        margin: 0 auto;
        max-width: 200px;
        min-width: 100px;
    }
}
.feature-flex p a:hover{
    text-decoration: underline;
}
#cherry-reserve {
    background: var(--red);
    padding: 60px 5vw 50px;
    margin-top: 4rem;
}
.reserve-txt p{
    color: var(--white);
    font-size: clamp(24px, 4.25vw, 40px);
    line-height: 1.375;
    margin: 1em 0 0;
}
.infiniteslide_wrap {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}
.infiniteslide.text-reserve {
    color: #DB576F;
    font-size: clamp(90px, 9.5vw, 258px);
}
.to-reserve .container{
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    text-align: center;
}
@media (min-width:640px){
    #cherry-kodawari{padding-top: 4rem;}
    .cherry-swiper-outer {margin: 6rem 0;}
    #cherry-reserve{margin-top: 6rem;}
}
@media (min-width:768px){
    #cherry-reserve {
        padding-top: 67px;
        padding-bottom: 60px;
    }
}
@media (min-width:1079px){
    .cherry_kodawari_top {margin-top: 6.5rem;}
}
@media (min-width:1280px){
    #cherry-kodawari{padding-top: 6rem;}
    .cherry-swiper-outer {margin: 8rem 0;}
    #cherry-reserve{margin-top: 8rem;}
}

.att{
    padding-left: 1em!important;
    text-indent: -1em!important;
}
a.hoverUl {
    border: none;
    font-size: inherit;
    display: block;
    text-align: left;
    font-weight: normal;
    padding: unset;
    margin: unset;
}
a.hoverUl i {
    display: inline-block;
    width: 1rem;
    margin-left: 0.25rem;
    vertical-align: middle;
}
a.hoverUl i.chain{width: 0.875rem;}
@media (any-hover: hover){a.hoverUl:hover{text-decoration: underline;}}

.pagecontflex-wrap{
    padding: 2rem;
}
.flow-outer .pagecontflex-wrap:nth-child(n+2){margin-top: 5rem;}
.flow-outer .pagecontflex-wrap.cherryflowblk:nth-child(n+2){margin-top: 2rem;}
.flow-outer .cherryflowblk:not(:last-child):after {
    content: "";
    border-left: 1.4rem solid transparent;
    border-right: 1.4rem solid transparent;
    border-top: 1.75rem solid var(--red);
    position: absolute;
    left: 50%;
    bottom: -1.5rem;
    transform: translateX(-50%);
    z-index: 5;
}
@media (min-width:768px){
    .flow-outer .pagecontflex-wrap:nth-child(n+2){margin-top: 8rem;}
    .pagecontflex-wrap.cherryflowblk .pagecontflex > div{max-width: 480px;}
    .flow-outer .cherryflowblk:not(:last-child):after {
        border-left: 2rem solid transparent;
        border-right: 2rem solid transparent;
        border-top: 2.45rem solid var(--red);
        bottom: -2.1rem;
    }
}
@media (min-width:1280px){
    .pagecontflex-wrap {padding: 3rem 4.75rem;}
    .flow-outer .cherryflowblk:not(:last-child):after {
        border-left: 2.25rem solid transparent;
        border-right: 2.25rem solid transparent;
        border-top: 2.75rem solid var(--red);
        bottom: -2.3rem;
    }
}

h4.numitem {
    width: 100%;
    display: grid;
    grid-template-columns: 59px 1fr;
    align-items: center;
    gap: 0.7em;
    padding-bottom: 1rem;
    padding-top: 0;
    border-bottom: 1px solid var(--brown);
    font-weight: 500;
    margin-bottom: 1.5rem;
}

h4.lb-item {
    padding-left: 0.95rem;
    padding-top: 0;
    padding-bottom: 0;
    position: relative;
    border-left: 2px solid var(--brown);
    line-height: 1.35;
    margin-bottom: 1em;
}
h4.lb-item + p {
    padding-left: 1.25rem;
}
.fruitexplain h4:nth-of-type(n+2){
    margin-top: 3rem;
}
.cherry-plan {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    gap: 3rem 1.5rem;
}
.priceblk {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    max-width: 380px;
}

.priceblk .course {
    font-size: clamp(20px, 3.75vw, 29px);
    width: 100%;
    height: 150px;
    text-align: center;
    font-weight: 500;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    overflow: hidden;
}
.priceblk .course.std{background: var(--pink);}
.priceblk .course.gld{background: var(--pink02);}
.priceblk .course.gldp{background: var(--pink03);}

.priceblk .course .obi {
    background: var(--red);
    color: var(--white);
    font-size: 17px;
    padding: 0.2rem;
    width: 100%;
    position: absolute;
    transform: rotate(41deg);
    right: -39%;
    top: 14%;
}

.priceblk .price {
    margin: 1.5rem 0 1.25rem;
}
.priceblk .price p{
    color: var(--red);
    font-weight: 800;
    font-size: clamp(35px,15.75vw,60px);
    margin-bottom: 0.9rem;
}
.priceblk .price p > small {
    font-size: 46%;
    font-weight: 500;
    display: inline-flex;
    padding-right: 0.3rem;
}

.priceblk .detail {
    width: 80%;
    max-width: 277px;
    min-width: 200px;
}
.priceblk .detail > div{padding: 1rem;}
.priceblk .detail > div:not(:first-child){border-top: 1px solid var(--brown);}
.priceblk .detail > div span.time{
    font-size: clamp(25px,13.75vw,50px);
    padding-right: 3px;
}
.priceblk .detail > div span.time._er{
    font-size: clamp(15px,11.475vw,40px);
}
.priceblk .detail > div span.omiya{font-size: 112.5%;}

#cherry-attention div{
    background: var(--brown);
    color: var(--white);
    font-size: clamp(22px, 3.75vw, 29px);
    padding: 1rem 1.5rem;
}
#cherry-attention p{
    padding: 1.75rem;
    border: 1px solid var(--brown);
}

@media (min-width:768px){
    .priceblk .course{white-space: nowrap;}
    #cherry-attention p {padding: 1.75rem 4rem;}
}
@media (max-width:350px){.priceblk .course .obi{font-size: 14px;}}

.faqcontents_blk{
    padding: 1.5rem;
    border-top: 1px solid var(--brown);
}
.faqcontents_blk:last-of-type{border-bottom: 1px solid var(--brown);}
.acc_item {
    font-size: clamp(18px, 2.75vw, 23px);
    line-height: 1.5;
    position: relative;
    cursor: pointer;
    display: grid;
    grid-template-columns: 1fr 25px;
    gap: 1rem;
    align-items: center;
}
.acc_item > div{
    display: grid;
    grid-template-columns: 37px 1fr;
    gap: 1rem;
    align-items: center;
}
.acc_item span.acc {
    display: block;
    width: 25px;
    height: 25px;
    border-radius: 50px;
    position: relative;
    background: var(--brown);
}
.acc_item span.acc::after {
    content: "";
    display: inline-block;
    vertical-align: middle;
    color: #ffffff;
    line-height: 1;
    width: 0.65rem;
    height: 0.65rem;
    border: 0.15rem solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateX(-50%) translateY(-50%) rotate(135deg);
    position: absolute;
    top: 43%;
    left: 52%;
}
.acc_item span.acc.active::after{
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
    position: absolute;
    top: 58%;
}
.acc_contents_wrap{
    display: none;
    position: relative;
}
.faq_ans {
    display: grid;
    grid-template-columns: 37px 1fr;
    gap: 1rem;
    padding-top: 1.5rem;
}
@media (min-width:1024px){
    .faq_ans{
        width: calc(100% - (25px + 1rem));
    }
    .faq_ans .grid div {
        position: relative;
        top: -1.5rem;
    }
}
@media (min-width:1280px){
    .acc_item {
        grid-template-columns: 1fr 31px;
        gap: 2rem;
    }
    .acc_item span.acc {
        width: 31px;
        height: 31px;
    }
    .acc_item > div{
        display: grid;
        grid-template-columns: 55px 1fr;
        gap: 1.5rem;
    }
    .faq_ans {
        grid-template-columns: 55px 1fr;
        width: calc(100% - (31px + 1rem));
        gap: 1.5rem;
        padding-top: 1.75rem;
    }
}
.faq_ans .grid{gap: 1rem 2rem;}
.faq_ans .grid div{
    max-width: 164px;
    width: 65%;
    margin: 0 auto;
}
@media (min-width:640px){
    .faq_ans .grid{
        grid-template-columns: 1fr 164px;
    }
    .faq_ans .grid div{
        width: unset;
        margin: unset;
    }
}
.rchItem{
    font-size: clamp(22px, 3.75vw, 29px);
    color: var(--white);
    background: var(--brown);
    padding: 1.35rem 3rem;
}
.iso_item{
    font-size: clamp(22px, 3.75vw, 29px);
    margin-bottom: 1.25em;
}
.access {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 2rem;
    margin-bottom: 1.25rem;
}
.access a.keiro{
    display: grid;
    grid-template-columns: 1fr 56px;
    gap: 0.7rem;
    align-items: center;
    transition: var(--hover);
}
@media (any-hover: hover){
    .access a.keiro:hover{opacity: var(--opacity);}
}
.mapwrap{
    width: 100%;
    min-height: 366px;
    aspect-ratio: 60 / 29;
    margin-bottom: 4.5rem;
}
.access_detail:nth-of-type(n+2){
    margin-top: 3rem;
}
#cherry-reserve.bottom-recruit-entry {
    padding-top: 35px;
    padding-bottom: 40px;
}
.to-reserve.recruit-entry > img{
    width: 90vw;
    max-width: 734px;
    margin: 0 auto;
}

/* 職場環境 */
.worklife.parent{
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    justify-content: space-between;
}

.worklife .blk { width: 100%; }
.worklife .blk._3,.worklife .blk._4,.worklife .blk._5,
.worklife .blk._6,.worklife .blk._7,.worklife .blk._8{
    padding: 1.25rem;
}

.worklife .blk._1,.worklife .blk._2{padding: 2rem;}

.worklife > div{
    border-radius: 16px;
    overflow: hidden;
}
.worklife_lblk_item{
    font-size: clamp(22px, 3.75vw, 29px);
    margin-bottom: 0.75rem;
}
.worklife .blk._1{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.worklife .blk .info .main {
    display: flex;
    align-items: baseline;
    font-size: clamp(26px, 4.5vw, 41px);
    line-height: 1;
    margin-top: -0.5rem;
    margin-bottom: 0.5rem;
    gap: 0.65rem;
}
.worklife_sblkwrap_flex {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 0 0.5rem;
    justify-content: space-between;
    margin-top: 15px;
}
.worklife .blk .info .main.fs_s {
    font-size: clamp(17px, 3.45vw, 26px);
    gap: 0.15rem;
}
.worklife .blk .worklife_sblk_item{
    margin-bottom: 0.05rem;
    line-height: 1.45;
}
span.glh_num {
    font-size: min(33vw, 153px);
    letter-spacing: -4px;
}
.main.fs_s span.glh_num {
    font-size: min(25vw, 87px);
    letter-spacing: -4px;
}
span.glh_num.ratio{
    display: flex;
    align-items: center;
    gap: 0.15rem;
    position: relative;
}
span.glh_num.ratio span.male,
span.glh_num.ratio span.female{
    position: relative;
    margin-top: 0.7rem;
}
span.glh_num.ratio span.male::before {
    content: "男性";
    position: absolute;
    left: 53%;
    transform: translateX(-50%);
    bottom: 100%;
    color: var(--red);
    font-size: 1rem;
    font-weight: 500;
    top: 4px;
    letter-spacing: 0.1rem;
    width: 100%;
    text-align: center;
}
span.glh_num.ratio span.female::before {
    content: "女性";
    position: absolute;
    left: 53%;
    transform: translateX(-50%);
    bottom: 100%;
    color: var(--red);
    font-size: 1rem;
    font-weight: 500;
    top: 4px;
    letter-spacing: 0.1rem;
    width: 100%;
    text-align: center;
}

@media (max-width:374px){
    span.glh_num.ratio span.male::before,
    span.glh_num.ratio span.female::before{top: 0;}
}

.worklife .blk p,
.worklife .blk div{
    position: relative;
    z-index: 2;
}
.worklife .blk img{
    z-index: 1;
}
.worklife .blk._2 img{
    position: absolute;
    right: 0;
    top: 35%;
    transform: translateY(-15%);
    max-width: 463px;
    width: 83%;
    padding: 2rem;
}
.worklife .blk._3 img{
    position: absolute;
    right: 1.25rem;
    bottom: 1.25rem;
    width: 22%;
    max-width: 65px;
    min-width: 45px;
}
.worklife .blk._4 img {
    position: absolute;
    top: 0.5rem;
    right: 1.25rem;
    max-width: 117px;
    width: 29%;
    min-width: 83px;
}
.worklife .blk._5 img {
    position: absolute;
    top: 55%;
    right: 1.25rem;
    max-width: 156px;
    width: 43%;
    min-width: 137px;
    transform: translateY(-50%);
}
.worklife .blk._6 img {
    position: absolute;
    top: 1.5rem;
    right: 1.75rem;
    max-width: 156px;
    width: 43%;
    min-width: 137px;
}
.worklife .blk._7 img {
    position: absolute;
    top: 2.5rem;
    right: 2.25rem;
    max-width: 78px;
    width: 48%;
    min-width: 52px;
}
@media (min-width:640px){
    .worklife .blk._3,.worklife .blk._4,.worklife .blk._5,
    .worklife .blk._6,.worklife .blk._7,.worklife .blk._8{
        width: calc((100% - 1.5rem) / 2);
        padding: 1.25rem;
    }
}
@media (min-width:1024px){
    .worklife .blk._1,.worklife .blk._2{padding: 3rem 4.5rem;}
    .worklife .blk._1{
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 1.5rem;
    }
    .worklife .blk._1 > div{
        padding-top: 0.85rem;
    }
    .worklife .blk._2 img {
        padding: 0;
        right: 3rem;
        top: 40%;
    }
    .worklife .blk._3, .worklife .blk._4, .worklife .blk._5,
    .worklife .blk._6, .worklife .blk._7, .worklife .blk._8 {
        width: calc((100% - 3rem) / 3);
        padding: 1.25rem;
    }
}
@media (min-width:1280px){
    .worklife .blk .worklife_sblk_item{
        font-size: 18px;
    }
}


.welfare{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

@media (max-width:350px){
    .welfare{
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
        flex-wrap: wrap;
    }
}
@media (min-width:640px){
    .welfare {grid-template-columns: 1fr 1fr 1fr;}
}
@media (min-width: 1024px) {
    .welfare {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}
.welfare div.wfblk {
    min-height: 175px;
    padding: 1.25rem 1rem;
    text-align: center;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    font-size: 14px;
    line-height: 1.4;
    box-sizing: border-box;
}
.welfare div.wfblk i{
    display: block;
}
i.wf-i-01 {
    width: 64.6%;
    max-width: 105px;
}
i.wf-i-02 {
    width: 67%;
    max-width: 121px;
    margin-bottom: -8px;
}
i.wf-i-03 {
    width: 68%;
    max-width: 125px;
}
i.wf-i-04 {
    width: 56%;
    max-width: 100px;
}
i.wf-i-05 {
    width: 45%;
    max-width: 79px;
}
i.wf-i-06 {
    width: 97%;
    max-width: 213px;
}
i.wf-i-07 {
    width: 68%;
    max-width: 126px;
}
i.wf-i-08 {
    width: 37%;
    max-width: 68px;
    margin-bottom: -2px;
}
i.wf-i-09 {
    width: 55%;
    max-width: 106px;
}
i.wf-i-10 {
    width: 52%;
    max-width: 91px;
}
i.wf-i-11 {
    width: 56%;
    max-width: 103px;
}
i.wf-i-12 {
    width: 74%;
    max-width: 125px;
    margin-bottom: -7px;
    margin-top: 7px;
}
i.wf-i-13 {
    width: 62%;
    max-width: 108px;
}
i.wf-i-14 {
    width: 67%;
    max-width: 109px;
    margin-bottom: -3px;
    margin-top: 3px;
}
i.wf-i-15 {
    width: 60%;
    max-width: 102px;
}
/* ---------- interview ----------- */
a.btn-center{
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
#interview-wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 3rem;
}
#interview-wrapper > .recintblk{
    width: 100%;
}
.recruitInfo .int_title {
    font-size: clamp(18px, 2.875vw, 25px);
    margin: 0.8rem 0;
    transition: var(--hover);
    color: var(--brown);
}
.recruitInfo .name,
.recruitInfo .year{
    font-size: clamp(16px,1.85vw,18px);
}
@media (any-hover: hover){
    a:hover .recruitInfo  .int_title{color: var(--red);}
}
@media (min-width:768px){
    #interview-wrapper > .recintblk{
        width: calc((100% - 3rem) / 2);
    }
}
@media (min-width:1079px){
    #interview-wrapper > .recintblk{
        width: calc((100% - 6rem) / 3);
    }
}
.single-interview-main{
    overflow-x: clip;
}

ul.recruitmentlist {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-bottom: 1px solid var(--red);
}
ul.recruitmentlist li {
    width: calc(100% / 2.025);
    border: 1px solid var(--red);
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    overflow: hidden;
    text-align: center;
    padding: 1rem 0.75rem;
    color: var(--red);
    font-size: clamp(14px,2.05vw,23px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--base01);
    transition: var(--hover);
    cursor: pointer;
}
/* ul.recruitmentlist li a{
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 1rem 0.75rem;
    color: var(--red);
    font-size: clamp(14px,2.05vw,23px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--base01);
    transition: var(--hover);
} */
ul.recruitmentlist li:nth-of-type(3),
ul.recruitmentlist li:nth-of-type(4){
    border-bottom: none;
    margin-top: -0.5rem;
}
ul.recruitmentlist li.active{
    background: var(--red);
    color: var(--base01);
    text-align: center;
    padding: 1rem 0.75rem;
    font-size: clamp(14px,2.05vw,23px);
    display: flex;
    align-items: center;
    justify-content: center;
}
.recruitmentInfowrap {margin-top: 3rem;}
table.recruitmenttable{
    width: 100%;
    border-bottom: 1px solid var(--brown);
}
table.recruitmenttable th,
table.recruitmenttable td{
    display: block;
    width: 100%;
    padding: 1.25rem;
    line-height: 1.65;
}
table.recruitmenttable th{
    border-top: 1px solid var(--brown);
    padding-bottom: 0.45rem;
}
table.recruitmenttable td{
    padding-top: 0.45rem;
}
a.kakumarubtn.recruitment-entry{
    max-width: 400px;
    width: 80%;
}
p.td-sitem{
    padding-left: 3em;
    text-indent: -3em;
}
@media (any-hover: hover){
    ul.recruitmentlist li a:hover{
        background: var(--red);
        color: var(--base01);
    }
}
@media (min-width:640px){
    ul.recruitmentlist li {
        width: calc(100% / 4.1);
        max-width: 282px;
        border-bottom: none;
    }
    ul.recruitmentlist li:nth-of-type(3),
    ul.recruitmentlist li:nth-of-type(4) {
        margin-top: 0;
    }
    table.recruitmenttable th, table.recruitmenttable td {
        border-top: 1px solid var(--brown);
        display: table-cell;
        width: auto;
        padding: 1.25rem;
        padding-top: 1.25rem;
        padding-top: 1.25rem;
        line-height: 1.65;
    }
    table.recruitmenttable th{width: 26%;}
}
@media (min-width:1024px){
    .recruitmentInfowrap {margin-top: 7rem;}
    table.recruitmenttable th{
        width: 200px;
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
}
.senkouflow{
    display: flex;
    flex-wrap: wrap;
    gap:0.45rem 1rem;
    margin-bottom: 0.85rem;
}
.senkouflow > div {
    background-color: #efede8;
    padding: 0.5em 1.15em;
    padding-right: 0.25em;
    position: relative;
    overflow-y: clip;
}
.senkouflow > div:not(:first-of-type){
    padding-left: 1.75rem;
}
.senkouflow > div:not(:first-of-type)::before {
    content: "";
    border-left: 15px solid var(--base01);
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    position: absolute;
    top: 0;
    left: 0px;
}
.senkouflow > div::after {
    content: "";
    border-left: 27px solid #efede8;
    border-top: 36px solid transparent;
    border-bottom: 36px solid transparent;
    position: absolute;
    top: -16px;
    right: -24px;
    z-index: 1;
}
/*   tab   */
.tabContent {display: none;}
.tabContent.active {display: block;}
/*   news   */
.pagenation {
    margin-top: 4rem;
    margin-bottom: 1rem;
    text-align: center;
}
.pagenation .wp-pagenavi{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
}
.pagenation .wp-pagenavi .pages{display: none;}
.pagenation .wp-pagenavi span,
.pagenation .wp-pagenavi a{
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--red);
    color: var(--red);
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50px;
    transition: var(--hover);
}
.pagenation .wp-pagenavi span.current{
    background: var(--red);
    border: 1px solid var(--red);
    color: var(--white);
}
@media (any-hover: hover){
    .pagenation .wp-pagenavi a:hover{
        background: var(--red);
        border: 1px solid var(--red);
        color: var(--white);
    }
}
/* --------- single ---------- */
.post-title.single{
    padding-top: 0.875rem;
    font-size: clamp(20px, 2.85vw, 24px);
    line-height: 1.35;
}
.post_content.single{
    margin: 2.5rem 0;
}
.post_pagenation{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
}
.post_pagenation > div,
.back_allnews{
    width: 6.75rem;
}
.back_allnews.sol{
    display: none;
    margin: 2.75rem auto 0;
}
.post_pagenation > div a,
.back_allnews a{
    display: block;
    width: 100%;
    text-align: center;
    padding: 0.55rem 0.6rem;
    border-radius: 50px;
    overflow: hidden;
    transition: var(--hover);
    border: 1px solid var(--red);
    background: var(--red);
    color: var(--base01);
    font-size: 14px;
}
@media (any-hover: hover){
    .post_pagenation > div a:hover{
        background: var(--base01);
        color: var(--red);
    }
}
@media (max-width:460px){
    .post_pagenation .back_allnews{display: none;}
    .back_allnews.sol{display: block;}
}
/* ------------- form -------------- */
.entryformwrap {
    width: 90%;
    margin: 0 auto;
    max-width: 850px;
}
/* --------- contactform ------------ */
.contact-txt ul{margin: 2em 0;}
.contact-txt ul li{
    padding-left: 1em;
    text-indent: -1em;
}
.contact-txt > a{text-decoration: underline;}
.contact-txt > a:hover{text-decoration: unset;}
span.req{color: var(--red);}
@media all and (min-width:1079px){
    .contact_wrap{
        grid-template-columns: 1fr 2fr;
    }
}
/* input */
.form-item {
    margin-bottom: 1.3em;
    font-weight: 500;
}
.form-input-wrap{margin-bottom: 1.75em;}
.form-input-wrap input[type="text"],
.form-input-wrap input[type="email"],
.form-input-wrap textarea,
.form-input-wrap select{
	width: 100%;
    font-size: 15px;
    background: #ffffff!important;
    box-sizing: border-box;
    padding: 1.5em;
    font-family: 'Noto Sans JP', sans-serif;
    position: relative;
    z-index: 2;
	resize: none;
    border: 1px solid #878787;
    border-radius: 6px;
}
.form-input-wrap input:focus,
.form-input-wrap textarea:focus,
.form-input-wrap select:focus{
    outline-color: var(--blue);
}
.form-input-wrap textarea{
	height:185px;
    line-height: 1.77;
}
.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .form-input-wrap.textarea{line-height: 1.77;}
.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .radio-box{padding: 0 0;}
.form-input-wrap select .option:first-child{
    color: #BFC0BF!important;
}
.check-box input[type=checkbox].check_btn_item{display: none;}
.check-box label {display: inline-block;}
.check-box .check_btn_item + span {
	padding-left:2.5em;
	display: inline-block;
	position: relative;
}
.mw_wp_form .vertical-item + .vertical-item {margin-top: 15px!important;}
.radio-box{padding: 1.2em 0 1.5em;}
.radio-box input[type=radio].radio_btn_item{display: none;}
.radio-box label {display: inline-block;}
.radio-box .radio_btn_item + span {
	padding-left:1.85em;
	display: inline-block;
	position: relative;
}
.radio-box .radio_btn_item + span::after,
.radio-box .radio_btn_item + span::before {
	content: '';
	display: block;
	position: absolute;
}
.radio-box .radio_btn_item + span::before {
	border: 1px solid #878787;
	left: 0;
	top:53%;
	transform: translateY(-50%);
	height:1.4em;
	width:1.4em;
    background: #fff;
    border-radius: 50px;
    overflow: hidden;
}
.radio-box .radio_btn_item + span::after {
    background: var(--red);
    height: 0.65em;
    width: 0.65em;
    left: 0.375em;
    top: 0.275em;
    opacity: 0;
    border-radius: 50px;
}
.radio-box .radio_btn_item:checked + span::after {opacity: 1;}
.check-box .check_btn_item + span::after,
.check-box .check_btn_item + span::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
}
.check-box .check_btn_item + span::before {
    top:54%;
    transform: translateY(-50%);
    border: 1px solid #878787;
    border-radius: 3px;
    left: 0;
    height: 1.5em;
    width: 1.5em;
    background: #fff;
}
.check-box .check_btn_item + span::after {
    border: none;
    border-right: 0.25em solid var(--red);
    border-bottom: 0.25em solid var(--red);
    height: 0.75em;
    width: 0.45em;
    left: 0.575em;
    opacity: 0;
    top: 0.175em;
    transform: rotate(45deg);
}
.check-box .check_btn_item:checked + span::after {opacity: 1;}
.formbtn_wrap {
    text-align: center;
    margin-top: 55px;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.formbtn{
    position: relative;
    margin: 0 auto;
    display: inline-block;
	text-align: center;
}
.formbtn.back{margin-bottom: 10px;}
.formbtn input{
    display: block;
    padding: 14px 37px;
    width: 225px;
    font-size: 0.96em;
    margin: 0 auto;
    text-align: center;
    letter-spacing: 0.5em;
    color: #ffffff;
    border: 2px solid var(--red);
    background: var(--red) !important;
    font-weight: bold;
    border-radius: 50px !important;
    background: transparent;
    transition: all .3s;
    position: relative;
    font-family: 'Noto Sans JP', sans-serif;
}
.mw_wp_form .error {
    font-size: 85%!important;
    color: var(--red);
    display: block;
    margin-top: 13px!important;
}
.form_complete a{
    display: block;
    padding: 4px 37px;
    width: 200px;
    max-width: 200px;
    font-size: 0.96em;
    margin: 0 auto;
    text-align: center;
    color: #ffffff;
    border: 2px solid var(--red);
    background: var(--red) !important;
    font-weight: bold;
    border-radius: 50px !important;
    background: transparent;
    transition: all .3s;
    position: relative;
    margin-top: 2.5rem;
}
p.form-bottom-privacy {text-align: center;}
p.form-bottom-privacy > a{text-decoration: underline;}
@media (any-hover: hover){
    .formbtn:hover input{
        background: var(--white)!important;
        color: var(--red);
    }
    .form_complete a:hover{
        background: var(--white)!important;
        color: var(--red);
    }
    p.form-bottom-privacy > a:hover{text-decoration: unset;}
}
@media all and (min-width:640px){
    .mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .formblk {
        display: grid;
        grid-template-columns: 1fr 2fr;
    }
    .person-q {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }
}
p.required_text {
    text-align: right;
    font-size: smaller;
    margin-bottom: 2rem;
}
/* input emputy */
.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .person-q{display: block;}
.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .formblk.not_req.preview_hidden,
.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .form-bottom-privacy,
.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .required_text,
.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview span.req{
    display: none;
    visibility: hidden;
}
.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .form-item,
.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .form-input-wrap{
    padding-left: 1.5rem;
    position: relative;
}
.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .form-item::before{
    content: "";
    width: 0.7rem;
    height: 0.7rem;
    background: var(--red);
    border-radius: 50px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
/* -------------- privacy ---------------- */
.privacypolicywrap {line-height: 2;}
.privacypolicywrap ul.termlist {
    padding: 1rem 2rem;
    list-style:decimal;
}
.privacypolicywrap ul.termlist li{list-style-type: decimal;}
.privacypolicywrap ul.termlist li ul{
    padding: 0.85rem 1rem;
    list-style: upper-roman;
}
.privacypolicywrap ul.termlist li ul li{list-style-type: upper-roman;}
.privacypolicywrap ul.termlist li ul li ul{
    padding: 0.85rem 1rem;
    list-style: upper-alpha;
}
.privacypolicywrap ul.termlist li ul li ul li{list-style-type: upper-alpha;}
table.termtable{
    border: 1px solid #b39a89;
    width: 100%;
    margin-top: 0.75rem;
}
table.termtable th, table.termtable td {
    display: block;
    width: 100%;
    padding: 0.5rem 0.75rem;
}
table.termtable th{
    border-bottom: 1px solid #b39a89;
    background: #b39a89;
    color: var(--white);
}
table.termtable tr:not(:first-child) th{border-top: 1px solid #b39a89;}
@media (min-width:640px){
    table.termtable th{border-bottom: 1px solid #fbf4f4;}
    table.termtable td{border-bottom: 1px solid #b39a89;}
    table.termtable th, table.termtable td{
        display: table-cell;
        width: auto;
    }
}
/* ------------ 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(56, 32, 0, 0.7);
  padding: 0.75em 1.2em;
  box-sizing: border-box;
  z-index: 210;
  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(--red);
  padding: .5em 1.5em;
  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;
  }
}
/* -------------- cookie -------------- */
/* フルーツ自販機 */
.cherry-swiper-outer.vm-slider-outer{
    margin: 3.5rem calc(50% - 50vw) 0;
}
@media (min-width:768px){
    .cherry-swiper-outer.vm-slider-outer{
        margin: 5.5rem calc(50% - 50vw) 0;
    }
}