
/*====================================================
//// id mv
====================================================*/
#mv {
    color: #fff;
    overflow: hidden;
    position: relative;
}
#mv::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1280 40" preserveAspectRatio="none"><path fill="%23FFFCEF" d="M1280,0C1025.6,80.81,108.17-14.43,0,8.66v31.34h1280V0Z" /></svg>') no-repeat center;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        left: 0;
        bottom: 0;
    width: 100%;
    height: 40px;
    z-index: 10;
}
.mv-inner {
    display: flex;
        justify-content: center;
}
.mv-head-wrapper::before,
.mv-head-wrapper::after {
    content: '';
    display: block;
    margin: auto;
    position: absolute;
}
.mv-head-wrapper::before {
    background: url('../img/top/mv-onion.svg') no-repeat center right / contain;
}
.mv-head-wrapper::after {
    background: url('../img/top/mv-eggplant.svg') no-repeat center left / contain;
}
.mv-head {
    display: grid;
        grid-gap: .2em;
    letter-spacing: .02em;
    line-height: 1; /* iOSのズレを軽減 */
    text-orientation: upright;
    writing-mode: vertical-rl;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 960px) {
    .mv-wrapper {
        display: grid;
            place-items: center;
    }
    .mv-head-wrapper {
        display: flex;
            justify-content: center;
        position: relative;
    }
    .mv-head-wrapper::before,
    .mv-head-wrapper::after {
        width: min(60vw, 385px);
        height: 110%;
    }
    .mv-head-wrapper::before {
        top: -10px;
        right: 100%;
    }
    .mv-head-wrapper::after {
        top: -10px;
        left: calc(100% - 2vw);
    }
    .mv-head {
        font-size: min(10vw, 5rem);
    }
    .mv-text {
        margin-top: min(10vw, 100px);
    }
    .mv-text p {
        display: grid;
        font-size: min(4.2vw, 2.2rem);
        letter-spacing: .1em;
        text-align: center;
        padding: .8em 0;
        position: relative;
    }
    .mv-text p::after {
        border-top: solid 1px #fff;
        content: '';
        display: block;
        margin: auto;
        position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
        width: 25px;
        height: 0;
    }
    .mv-text p:last-child {
        padding-bottom: 0;
    }
    .mv-text p:last-child:after {
        display: none;
    }
}
@media screen and (min-width:769px) and (max-width:960px) {
    .mv-head-wrapper::before,
    .mv-head-wrapper::after {
        width: min(60vw, 385px);
        height: 140%;
    }
    .mv-head-wrapper::before {
        top: -10px;
        right: 120%;
    }
    .mv-head-wrapper::after {
        top: -10px;
        left: 110%;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960px) {
    .mv-inner {
        padding: 70px 0;
    }
    .mv-wrapper {
        display: flex;
            flex-direction: row-reverse;
            justify-content: center;
    }
    .mv-wrapper {
        position: relative;
    }
    .mv-head-wrapper::before,
    .mv-head-wrapper::after {
        width: min(24vw, 385px);
        height: 565px;
    }
    .mv-head-wrapper::before {
        top: -10px;
        right: 100%;
    }
    .mv-head-wrapper::after {
        top: -20px;
        left: calc(100% - 2vw);
    }
    .mv-head {
        font-size: min(4.5vw,5rem);
        margin-left: .5em;
    }
    .mv-text {
        letter-spacing: 0;
        line-height: 1; /* iOSのズレを軽減 */
        text-orientation: upright;
        writing-mode: vertical-rl;
    
    }
    .mv-text p {
        display: grid;
            grid-gap: .7em;
        font-size: 2rem;
        letter-spacing: .15em;
        padding: 0 1.2em;
        position: relative;
    }
    .mv-text p:last-child {
        padding-left: 0;
    }
    .mv-text p::after {
        border-left: solid 1px #fff;
        content: '';
        display: block;
        margin: auto;
        position: absolute;
            top: 4.5em;
            left: 0;
        width: 0;
        height: 25px;
    }
    .mv-text p:last-child:after {
        display: none;
    }
    .mv-text .quotation {
        color: var(--color_1);
        display: inline-block;
        position: relative;
    }
    .mv-text .quotation::after {
        background: url('../img/top/mv-quotation.svg') no-repeat top center / contain;
        content: '';
        display: block;
        margin: auto;
        position: absolute;
        width: .5em;
        height: .4em;
    }
    .mv-text .quotation-1::after {
        right: 0;
        bottom: .2em;
    }
    .mv-text .quotation-2::after {
        left: 0;
        top: .2em;
        transform: rotate(180deg);
    }
}

@media screen and (min-width:1040px) {
    .mv-head-wrapper::before,
    .mv-head-wrapper::after {
        width: min(28vw, 385px);
    }
    .mv-head-wrapper::before {
        top: -10px;
        right: 100%;
    }
    .mv-head-wrapper::after {
        top: -40px;
        left: 100%;
    }
}


/*====================================================
//// id bg
====================================================*/
.bg-dot-wrapper {
    position: relative;
}
.bg-dot {
    overflow: hidden;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
    width: 100%;
    height: 100%;
}
.bg-dot::before {
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: -10%;
        right: -10%;
    width: min(120%, 1520px);
    height: 100%;
}

.bg-dot-1 {
    background-color: var(--color_2);
}
.bg-dot-1 .bg-dot::before {
    background: url('../img/top/bg-1.svg') repeat-y top center;
}

.bg-dot-2 {
    background-color: #fff;
}
.bg-dot-2 .bg-dot::before {
    background: url('../img/top/bg-2.svg') repeat-y top center;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

@media screen and (min-width:1040px) {
}

@media (hover: hover) {}

/*====================================================
//// id main_link
====================================================*/
.main_link-inner {
    padding: min(15vw, 75px) 0 0;
}
.main_link-link {
    background-color: #fff;
    border: solid 5px var(--color_1);
    border-radius: min(6vw, 30px);
    color: var(--color_1);
    font-weight: 900;
    position: relative;
}
.main_link-deco {
    display: block;
    margin: auto;
    position: absolute;
    transition: transform .2s ease-in-out;
    z-index: 5;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .main_link-wrapper {
        display: grid;
        grid-gap: min(5vw, 30px);
    }
    .main_link-link {
        border-width: min(1vw, 5px);
        font-size: min(8vw, 5rem);
        line-height: 1.2;
        padding: min(5vw, 30px) min(4vw, 50px) min(4vw, 30px);
    }
    .main_link-first {
        background-image: radial-gradient(circle, var(--color_1) 1px, transparent 1px);
        background-position: left bottom;
        background-repeat: repeat-x;
        background-size: 5px 2px;
        font-size: .6em;
        font-weight: 500;
        letter-spacing: .15em;
        margin-bottom: min(3vw, 20px);
        padding-bottom: min(4vw, 30px);
    }

    .main_link-deco:after {
        content: '';
        display: block;
        margin: auto;
        pointer-events: none;
        position: absolute;
            bottom: calc(min(2.0vw, 13px) * -1);
            left: 0;
        width: 95%;
        height: min(3.3vw, 30px);
    }

    .main_link-1 .main_link-deco {
        background: url('../img/top/main_link-onion-mob.svg') no-repeat right bottom / contain;
        right: 2%;
        bottom: 0;
        width: 33%;
        height: 80%;
    }
    .main_link-1 .main_link-deco:after {
        background: url('../img/top/main_link-onion-mob-hand.svg') no-repeat center bottom / contain;
        left: 3.5%;
    }

    .main_link-2 .main_link-main {
        /*font-size: 2em;
        letter-spacing: .15em;*/
    }
    .main_link-2 .main_link-deco {
        background: url('../img/top/main_link-eggplant-mob.svg') no-repeat right bottom / contain;
        right: 1%;
        bottom: 0;
        width: 35%;
        height: 80%;
    }
    .main_link-2 .main_link-deco:after {
        background: url('../img/top/main_link-eggplant-mob-hand.svg') no-repeat center bottom / contain;
        left: 3%;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .main_link-wrapper {
        display: grid;
            gap: 0 min(3vw, 30px);
            grid-template-columns: 1fr 1fr;
    }
    .main_link-link {
        display: grid;
            grid-template-rows: subgrid;
        grid-row: span 2;
        font-size: min(4.8vw, 5rem);
        line-height: 1.2;
        padding: min(3vw, 30px) min(3vw, 50px) min(3vw, 20px);
        text-align: center;
    }
    .main_link-first {
        background-image: radial-gradient(circle, var(--color_1) 2px, transparent 2px);
        background-position: left bottom;
        background-repeat: repeat-x;
        background-size: 10px 4px;
        display: flex;
            align-items: center;
            justify-content: center;
        letter-spacing: .1em;
        margin-bottom: 10px;
        padding-bottom: 20px;
    }
    .main_link-main {
        text-align: justify;
        text-align-last: justify;
    }

    .main_link-1 .main_link-deco {
        background: url('../img/top/main_link-onion.svg') no-repeat left bottom / contain;
        left: calc(min(2vw, 30px) * -1);
        bottom: -40px;
        width: 50%;
        height: 72%;
    }
    .main_link-1 .main_link-first,
 .main_link-2 .main_link-first{
        font-size: .6em;
        font-weight: 500;
    }
    .main_link-1 .main_link-main {
        display: flex;
            justify-content: flex-end;
    }

    .main_link-2 .main_link-deco {
        background: url('../img/top/main_link-eggplant.svg') no-repeat right bottom / contain;
        right: calc(min(2vw, 30px) * -1);
        bottom: -40px;
        width: 46%;
        height: 76%;
    }
    .main_link-2 .main_link-main {
        display: flex;
            justify-content: flex-start;
    }

}

@media screen and (min-width:1040px) {
    .main_link-2 .main_link-main {
        letter-spacing: .15em;
    }
}
@media (hover: hover) {
    .main_link-link:hover {
        opacity: 1;
        transform: scale(1.02);
    }

}
@media (hover: hover) and (min-width: 769px) {
    .main_link-1:hover .main_link-deco {
        transform: rotate(-6deg);
    }
    .main_link-2:hover .main_link-deco {
        transform: rotate(6deg);
    }
}

/*====================================================
//// id discussion
====================================================*/
.discussion-inner {
    padding: min(30vw, 130px) 0 0;
}
.discussion-wrapper {
    border-radius: min(5vw, 30px);
    padding: min(8vw, 60px) min(4vw, 100px) min(8vw, 100px);
}
.discussion-head {
    display: grid;
        place-items: center;
    font-weight: 900;
    text-align: center;
}
.discussion-head .sub {
    color: #fff;
    margin-bottom: .2em;
    padding: 0 1.2em;
    position: relative;
}
.discussion-head .sub::before,
.discussion-head .sub::after {
    border-left: solid 2px #fff;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        bottom: -.2em;
    transform-origin: top;
    width: 0;
    height: 1.3em;
}
.discussion-head .sub::before {
    left: 0;
    transform: rotate(-40deg);
}
.discussion-head .sub::after {
    right: 0;
    transform: rotate(40deg);
}
.discussion-head .main {
    position: relative;
}
.discussion-head .main::before {
    background: url('../img/top/discussion-head-img.svg') no-repeat center bottom / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
}

.discussion-item-wrapper {
    display: grid;
    margin-top: min(6vw, 60px);
}
.discussion-item-link {
    display: block;
}
.discussion-item-img {
    transition: transform .2s ease-in-out;
}
.discussion-item-coverImg {
    padding-top: min(56.6%, 160px);
}
.discussion-item-text {
    text-align: center;
}
.discussion-item-text .sub {
    font-weight: 700;
}
.discussion-item-text .main {
    border-radius: 2em;
    font-weight: 900;
    position: relative;
}
.discussion-item-text .main::after {
    border: solid 2px var(--color_1);
    border-radius: 2em;
    box-sizing: border-box;
    content: '';
    display: block;
    margin: auto;
    opacity: 0;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    transition: opacity .2s ease-in-out;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .discussion-head {
        /*margin-top: min(30vw, 200px);*/
     margin-top: min(35vw, 200px);
    }
    .discussion-head .sub {
        /*display: none;*/
     display: block;
     font-size: .6em;
    }
    .discussion-head .main {
        /*background-color: var(--color_1);
        border: solid .1em #fff;
        color: #fff;*/
        background-color: #fff;
        color: var(--color_1);
        border-radius: 100px;
        font-size: min(5.3vw, 4rem);
        padding: .4em;
        width: 100%;
    }
    .discussion-head .main::before {
        /*bottom: calc(100% - .2em);*/
        bottom: calc(100% + 1.7em);
        left: 0;
        right: 0;
        width: 50%;
        height: min(36vw, 240px);
    }

    .discussion-item-wrapper {
        display: grid;
            grid-gap: min(8vw, 40px);
    }
    .discussion-item {
        margin: 0 auto;
        width: min(100%, 500px);
    }
    .discussion-item-img {
        margin: 0 auto min(3vw, 20px);
        width: 90%;
    }
    .discussion-item-text .sub {
        /*color: #fff;*/
        color: var(--color_4);
        font-size: min(5vw, 2.2rem);
        margin-bottom: .3em;
    }
    .discussion-item-text .main {
        /*background-color: #fff;
        color: var(--color_1);*/
        background-color: var(--color_4);
        color: var(--color_1);
        font-size: min(7vw, 3rem);
        padding: .2em .8em;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .discussion-head .sub {
        font-size: min(3vw, 3rem);
    }
    .discussion-head .main {
        background-color: #fff;
        border-radius: 100px;
        color: var(--color_1);
        font-size: min(4vw, 4rem);
        padding: .4em;
        width: 100%;
    }
    .discussion-head .main::before {
        bottom: -23px;
        left: calc(min(3vw, 38px) * -1);
        width: min(10vw, 110px);
        height: min(16vw, 150px);
    }

    .discussion-item-wrapper {
        grid-gap: min(10vw, 120px) min(6vw, 78px);
        grid-template-columns: 1fr 1fr;
        position: relative;
    }
    .discussion-item-wrapper:after {
        background-image: radial-gradient(circle, #ffffff 2px, transparent 2px);
        background-position: left top;
        background-repeat: repeat-y;
        background-size: 4px 8px;
        content: '';
        display: block;
        margin: auto;
        position: absolute;
            top: 0;
            left: 0;
            right: 0;
        width: 4px;
        height: 100%;
    }
    .discussion-item {
        position: relative;
    }
    .discussion-item::after {
        background-image: radial-gradient(circle, #ffffff 2px, transparent 2px);
        background-position: left bottom;
        background-repeat: repeat-x;
        background-size: 8px 4px;
        content: '';
        display: block;
        margin: auto;
        position: absolute;
            top: calc(min(10vw, 120px) / 2 * -1);
        width: calc(100% + (min(6vw, 78px) / 2) - 10px);
        height: 4px;
    }
    .discussion-item:nth-child(odd):after {
        left: 0;
    }
    .discussion-item:nth-child(even):after {
        right: 0;
    }
    .discussion-item:nth-child(1),
    .discussion-item:nth-child(2) {
        padding-top: 0;
    }
    .discussion-item:nth-child(1)::after,
    .discussion-item:nth-child(2)::after {
        display: none;
    }
    .discussion-item-img {
        margin: 0 auto 12px;
        width: 75%;
    }
    .discussion-item-text .sub {
        color: var(--color_4);
        font-size: min(2vw, 1.8rem);
        margin-bottom: .3em;
    }
    .discussion-item-text .main {
        background-color: var(--color_4);
        color: var(--color_1);
        font-size: min(3vw, 3rem);
        padding: .2em .8em;
    }
}

@media screen and (min-width:1040px) {
}

@media (hover: hover) {
    .discussion-item-link:hover {
        opacity: 1;
    }
    .discussion-item-link:hover .discussion-item-img {
        transform: scale(1.05);
    }
    .discussion-item-link:hover .discussion-item-text .main::after {
        opacity: 1;
    }
}

/*====================================================
//// id video
====================================================*/
.video-inner {
    padding: min(10vw, 140px) 0 min(10vw, 70px);
}
.video-head-wrapper {
    margin: 0 auto min(7vw, 37px);
    position: relative;
    width: min(85%, 780px);
}
.video-head {
    background-color: var(--color_1);
    border-radius: 2em;
    color: #fff;
    font-weight: 900;
    letter-spacing: .1em;
    padding: .2em .5em;
    text-align: center;
}
.video-head-deco {
    margin: auto;
    overflow: hidden;
    position: absolute;
}
.video-head-deco::before {
    background: url('../img/top/video-head-img.svg') no-repeat center bottom / contain;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
}
.video-item-wrapper {
    display: grid;
        grid-gap: min(5vw, 40px);
}
.video-item {
    margin: auto;
    width: min(70vw, 520px);
}
.yt {
	position: relative;
	height: 0;
	padding: 0px 0 56.3%;
	overflow: hidden;
}
.yt iframe {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 100%;
}
.video-item-text {
    margin-top: .8em;
}
.video-item-date {
    font-size: .7em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .video-head {
        font-size: min(5.5vw, 3rem);
        margin-top: min(30vw, 200px);
        padding: .5em;
    }
    .video-head-deco {
        left: 0;
        right: 0;
        bottom: calc(100% - min(1.5vw, 15px));
        width: min(25vw, 150px);
        height: min(30vw, 200px);
    }
    .video-head-deco::before {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .video-head {
        font-size: min(4vw, 4rem);
    }
    .video-head-deco {
        right: 3.5%;
        bottom: 0;
        width: min(11vw, 110px);
        height: min(12vw, 130px);
    }
    .video-head-deco::before {
        top: 0;
        left: 0;
        width: 100%;
        height: 140%;
    }
}

@media screen and (min-width:1040px) {
}

@media (hover: hover) {}

/*====================================================
//// id news
====================================================*/
#news {
    position: relative;
}
#news::after {
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1280 40" preserveAspectRatio="none"><path fill="%23ffffff" d="M1280,0C1025.6,80.81,108.17-14.43,0,8.66v31.34h1280V0Z" /></svg>') no-repeat center;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        left: 0;
        bottom: calc(100% - 1px);
    width: 100%;
    height: 40px;
    z-index: 10;
}
.news-inner {
    display: flex;
        justify-content: center;
}
.news-head {
    color: var(--color_1);
    font-weight: 900;
    letter-spacing: .1em;
    margin-bottom: 1em;
    text-align: center;
}
.news-item-wrapper {
    display: grid;
    grid-gap: min(7vw, 22px) 0;
}
.news-item-link {
    display: grid;
    line-height: 1.4;
}
.news-item-date {
    color: var(--color_1);
    font-size: .7em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .news-item-link {
        display: flex;
            flex-direction: column-reverse;
            gap: .3em;
        align-items: center;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .news-head {
        font-size: min(4vw, 4rem);
    }
    .news-item-wrapper {
        grid-template-columns: auto 1fr;
    }
    .news-item-link {
        display: grid;
            grid-template-columns: subgrid;
        grid-column: span 2;
    }
    .news-item-date {
        margin-right: 2em;
        padding-top: .4em;
        position: relative;
    }
    .news-item-date::after {
        border-left: solid 2px var(--color_1);
        content: '';
        display: block;
        margin: auto;
        position: absolute;
            top: 0;
            right: -1em;
            bottom: 0;
        width: 0;
        height: 100%;
    }
}

@media screen and (min-width:1040px) {
}

@media (hover: hover) {}

/*====================================================
//// id relation
====================================================*/
.relation-head-wrapper {
    margin: 0 auto min(7vw, 37px);
    position: relative;
    width: min(85%, 780px);
}
.relation-head {
    background-color: #BFBFBF;
    border-radius: 2em;
    color: #fff;
    font-weight: 700;
    padding: .4em;
    text-align: center;
}
.relation-item-wrapper {
    display: flex;
        flex-wrap: wrap;
        gap: min(10vw, 50px) min(4vw, 80px);
        justify-content: center;
    margin: min(7vw, 45px) auto 0;
}
.relation-link {
    width: min(80vw, 345px);
}
.relation-link img {
    transition: transform .2s ease-in-out;
}
.relation-link p {
    line-height: 1.4;
    margin-top: .5em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .relation-head {
        font-size: min(6vw, 3rem);
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .relation-head {
        font-size: min(3vw, 3rem);
    }
}

@media screen and (min-width:1040px) {
}

@media (hover: hover) {
    .relation-link:hover img {
        transform: scale(1.02);
    }
}

/*====================================================
//// id xxx
====================================================*/
footer {
    background-color: var(--color_1);
    color: #fff;
    padding: min(4vw, 40px);
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
}

@media screen and (min-width:1040px) {
}

@media (hover: hover) {}
