@charset "utf-8";

/* - for redirect - */
/* header, main, footer{
    display: none;
} */
/* - for redirect end - */

html {
    font-size: 100%;
}

body {
    letter-spacing: 0.05rem;
    line-height: 1.8rem;
    text-align: justify;
    margin: 0;
    font-family: sans-serif;
}

a {
    text-decoration: none;
    display: block;
    color: #000;
}

img {
    max-width: 100%;
    vertical-align: bottom;
    image-rendering: -webkit-optimize-contrast;
}

li {
    list-style: none;
}

.wrapper {
    max-width: calc(1000px + 8%);
    padding: 0 4%;
    margin: 0 auto;
    display: block;
}

.flexBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.linkBtn {
    display: table;
    margin: 0 auto;
}

.linkBtn a {
    padding: 20px 70px;
    color: #fff;
    display: table;
    background: -moz-linear-gradient(top, #8dddfe, #a6e2cf);
    background: -webkit-linear-gradient(top, #8dddfe, #a6e2cf);
    background: linear-gradient(to bottom, #8dddfe, #a6e2cf);
    border-radius: 50px;
}


.section-title {
    font-size: 2rem;
    margin: 0 auto;
    padding-bottom: 25px;
    border-bottom: 7px dotted #b9c3c9;
    display: table;
    margin-bottom: 80px;
    letter-spacing: 0.25rem;
}







.marugo {
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
}


/* ヘッダー */

#header {
    position: fixed;
    height: 150px;
    top: 0;
    width: 100%;
    background: #ffffff99;
    z-index: 10;
}

.headernavi ul {
    display: flex;
    justify-content: space-between;
}

.headernavi ul li {
    padding-right: 50px;
}

.headernavi ul li:last-child {
    padding-right: 0;
}

#header .logo img {
    width: 80%;
}

#header .flexBox {
    height: 150px;
    width: 100%;
    max-width: calc(1000px + 8%);
    align-items: center;
}


/* メインビジュアル */

#topPage .mainArea {
    position: relative;
    margin-bottom: 90px;
    height: 600px;
}

.mainArea .text {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    top: calc(50% + 75px);
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    white-space: nowrap;
}

.mainArea .mv{
    height: 600px;
}

@media screen and (max-height: 800px) {
    #topPage .mainArea .mv {
        min-height: 100vh;
    }

    #topPage .mainArea {
        min-height: 100vh;
    }
}

.mainArea .mv img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.mainArea .text span {
    /* opacity: 0; */
    display: inline-block;
}

#topPage .mainArea .text span {
    transition: 1s all;
    opacity: 0;
    display: inline-block;
}

#topPage .mainArea .text.visible span {
    opacity: 1;
    transition-delay: .5s;
}

#topPage .mainArea .text.visible span:nth-of-type(2) {
    transition-delay: .6s;
}

#topPage .mainArea .text.visible span:nth-of-type(3) {
    transition-delay: .7s;
}

#topPage .mainArea .text.visible span:nth-of-type(4) {
    transition-delay: .8s;
}

#topPage .mainArea .text.visible span:nth-of-type(5) {
    transition-delay: .9s;
}

#topPage .mainArea .text.visible span:nth-of-type(6) {
    transition-delay: 1s;
}

#topPage .mainArea .text.visible span:nth-of-type(7) {
    transition-delay: 1.1s;
}

#topPage .mainArea .text.visible span:nth-of-type(8) {
    transition-delay: 1.2s;
}

#topPage .mainArea .text.visible span:nth-of-type(9) {
    transition-delay: 1.3s;
}

#topPage .mainArea .text.visible span:nth-of-type(10) {
    transition-delay: 1.4s;
}

#topPage .mainArea .text.visible span:nth-of-type(11) {
    transition-delay: 1.5s;
}

#topPage .mainArea .text.visible span:nth-of-type(12) {
    transition-delay: 1.6s;
}

#topPage .mainArea .text.visible span:nth-of-type(13) {
    transition-delay: 1.7s;
}

#topPage .mainArea .text.visible span:nth-of-type(14) {
    transition-delay: 1.8s;
}

#topPage .mainArea .text.visible span:nth-of-type(15) {
    transition-delay: 1.9s;
}

#topPage .mainArea .text.visible span:nth-of-type(16) {
    transition-delay: 2s;
}

#topPage .mainArea .text.visible span:nth-of-type(17) {
    transition-delay: 2.1s;
}

.text.pageMvText {
    writing-mode: unset;
    font-size: 2rem;
    line-height: 2.1rem;
    font-weight: 600;
    letter-spacing: 0.2rem;
    font-family: "Noto Sans", "Tsukushi A Round Gothic", "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", "Meiryo", "メイリオ";
    /* margin-top: 75px; */
}

.tsukushi,
.section-title,
.tokutyoList li {
    font-family: "Noto Sans", "Tsukushi A Round Gothic", "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", "Meiryo", "メイリオ";
}

@media screen and (max-height: 600px) {
    #header .flexBox {
        height: 120px;
    }

    #header {
        height: 120px;
    }
}


/* 発酵ラボとは */

#toha {
    margin-bottom: 120px;
}

#toha .section-title img {
    padding-right: 10px;
    position: relative;
    top: 5px;
}

#toha .left {
    width: 55%;
}

#toha .left img {
    width: 100%;
}

#toha .right {
    width: 40%;
    position: relative;
}

#toha .right .title {
    font-size: 1.375rem;
    margin-bottom: 30px;
}

#toha .right .linkBtn {
    align-items: baseline;
    margin-top: 30px;
}


/* 受託加工サービス */

#service {
    padding-top: 100px;
    padding-bottom: 100px;
}

#service .title {
    font-size: 1.6rem;
    line-height: 2.2rem;
    letter-spacing: 0.2rem;
    margin-bottom: 30px;
}

#service .left {
    width: 40%;
    position: relative;
}

#service .right {
    width: 55%;
}

#service .left .linkBtn {
    align-items: baseline;
    margin-top: 30px;
}


/* 商品紹介 */

#items {
    padding-top: 100px;
    padding-bottom: 100px;
}

#items .section-title {
    padding-bottom: 20px;
    padding: 0 10px 20px;
    margin-bottom: 30px;
}

.itemList ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.itemList ul li {
    width: 32.5%;
    margin-bottom: 15px;
    position: relative;
}

.itemList ul li:nth-child(3n) {
    margin-right: 0;
}

.itemList ul li .whiteBox {
    position: absolute;
    bottom: 0;
    background: #ffffff60;
    padding: 15px 0;
    width: 100%;
    text-align: center;
    transition: 0.2s cubic-bezier(0.86, 0, 0.07, 1);
    transform: translateY(60px);
}

.itemList ul li:hover .whiteBox {
    opacity: 1;
    transform: translateY(0px);
}

.compInfo {
    max-width: 800px;
    margin: 0 auto;
    margin-bottom: 80px;
}

.compInfo .left {
    width: 25%;
}

.compInfo .right {
    width: 68%;
}

.compInfo .right .title {
    margin-bottom: 28px;
    line-height: 1rem;
    font-size: 1.375rem;
}

.compInfo .right .text {
    line-height: 1.4rem;
}

.compInfo.flexBox {
    align-items: center;
}


/* フッター */

#footer .bgGray {
    background: #b9c3c9;
    width: 100%;
}

#footer .wrapper {
    padding-top: 40px;
    padding-bottom: 20px;
    position: relative;
}

.footerLink ul {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.footerLink ul li a {
    padding: 0 20px;
    color: #fff;
    border-right: 1px solid #fff;
    line-height: 1rem;
}

.footerLink ul li:first-child a {
    border-left: 1px solid #fff;
}

.copy {
    text-align: center;
    display: block;
    color: #fff;
}

.toTop {
    height: 50px;
    width: 50px;
    position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

.toTop span {
    height: 30px;
    width: 30px;
    display: block;
    border-right: 5px solid #fff;
    border-top: 5px solid #fff;
    transform: rotate(-40deg) skew(10deg);
}

.toTop span:first-child {
    position: relative;
    top: 10px;
}

.fadeOut {
    opacity: 0;
    transition: 1s all ease-in-out;
}

.fadeIn {
    opacity: 1;
}

.itemList .fadeOut {
    opacity: 1;
}

.itemList .fadeOut li {
    opacity: 0;
    transition: 1s all ease-in-out;
}

.itemList .fadeOut li:nth-child(2) {
    transition-delay: .2s;
}

.itemList .fadeOut li:nth-child(3) {
    transition-delay: .4s;
}

.itemList .fadeOut li:nth-child(4) {
    transition-delay: .6s;
}

.itemList .fadeOut li:nth-child(5) {
    transition-delay: .8s;
}

.itemList .fadeOut li:nth-child(6) {
    transition-delay: 1s;
}

.itemList .fadeIn li {
    opacity: 1;
}

.compInfoWrap {
    padding: 140px 4% 100px;
}

#service {
    background-image: url(img/common/grayBg.png);
    background-size: cover;
    background-position: center;
}

.compInfoWrap.top {
    background-image: url(img/common/whiteBg.png);
    background-position: center;
}


main {
    background-image: url(img/common/bigPaya.png);
    background-size: auto;
    background-position: bottom 160px right 50%;
}

main#topPage {
    background-image: none;
}

main#effortPage {
    background-image: none;
}

.compInfo:nth-child(2) .title {
    margin-bottom: 0;
}

#service img {
    /* height: 100%;
    object-fit: cover; */
    width: 100%;
}

.compInfo .text {
    line-height: 2;
}


/* --------------------------------------------------------
同意ポップアップ
-------------------------------------------------------- */

body.open_popup {
    overflow: hidden;
    pointer-events: none;
}

.bg_onetime_popup {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background-color: #d5dbdf50;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
}

body.open_popup .bg_onetime_popup {
    opacity: 1;
    visibility: visible;
}

.onetime_popup {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 60%;
    min-width: 500px;
    background-color: #fff;
}

.onetime_popup_title {
    position: relative;
    padding: 60px 80px 0;
    margin: 0px;
    text-align: center;
    line-height: 1.6;
}

.onetime_popup_title_close {
    position: absolute;
    top: 50%;
    right: 30px;
    width: 30px;
    height: 30px;
    transform: translateY(-50%);
    cursor: pointer;
}

.onetime_popup_content {
    padding: 60px 30px;
    text-align: center;
}

.popUpLink {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 500px;
}
.linkBtn.popUpLink a{
display: block;
}
@media screen and (max-width:1000px){

    .popUpLink {
        flex-direction: column;
    }
    .popUpLink a:first-child {
        margin-bottom: 20px;
    }
}

.popUpLink a {
    min-width: 240px;
    cursor: pointer;
}



/* --------------------------------------------------------
同意ポップアップ ここまで
-------------------------------------------------------- */


/* --------------------------------------------------------
爛漫の取り組み
-------------------------------------------------------- */

#effortPage .itemList ul:first-child {
    margin-bottom: 100px;
}

#effortPage .itemList ul li {
    width: 45%;
    margin-bottom: 40px;
}

#effortPage .itemList ul li img {
    width: 100%;
    margin-bottom: 30px;
}

.sozaiTitle {
    text-align: center;
    font-family: "Noto Sans", "Tsukushi A Round Gothic", "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", "Meiryo", "メイリオ";
    font-size: 1.625rem;
    margin-bottom: 20px;
}

.sonota ul {
    justify-content: center;
}

#genryo .section-title {
    margin-bottom: 60px;
}


/* --------------------------------------------------------
OEMについて
-------------------------------------------------------- */

#oemPage .wrapper {
    max-width: 800px;
}
#oemPage #zirei .flexBox img{
    width: 75%;
}

.zyutakuImage {
    margin-bottom: 30px;
}

#zyutaku {
    margin-bottom: 60px;
}

#flow {
    padding-top: 100px;
    position: relative;
}

#flow .section-title {
    margin-bottom: 0;
}

.flowDaen {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.flowInner {
    padding: 60px 0;
    background: #f1f3f4;
}

.maruNum {
    color: #fff;
    background: #656766;
    padding: 8px 11px 8px 12px;
    font-size: 1.2rem;
    font-weight: bold;
    border-radius: 30px;
}

.flowList li {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.maru {
    width: 10%;
}

.flowInfo {
    width: 90%;
}

.flowTitle {
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.05rem;
    margin-bottom: 20px;
}

#zirei {
    background: #f1f3f4;
    padding-bottom: 100px;
}

#zirei .section-title {
    margin-bottom: 60px;
}

#zirei .flexBox {
    margin-bottom: 60px;
}

.zireiText {
    text-align: center;
    font-weight: bold;
    margin-bottom: 30px;
}

#setsubi {
    margin-top: 120px;
}

.setsubiList li {
    margin: 0 auto 90px;
}

.setsubiList img {
    display: block;
    margin: 0 auto 50px;
}

.setsubiTitle {
    text-align: center;
    font-size: 1.625rem;
    margin-bottom: 30px;
}

.setsubiText {
    text-align: center;
}


/* --------------------------------------------------------
酒蔵爛漫塩麹もろみ
-------------------------------------------------------- */

.kouboImage {
    width: 50%;
}

.kouboImage img {
    margin-bottom: 10px;
}

.kouboInfo {
    width: 42%;
    text-align: justify;
}

.imageKome {
    font-size: 0.9rem;
}

#moromiPage .hyouziImage {
    max-width: 450px;
}

#koubo {
    margin-bottom: 100px;
}

.detailPage .section-title {
    letter-spacing: 0.5rem;
    padding: 0 30px 25px;
}

.tokutyoFlex {
    align-items: center;
}

.tokutyoList {
    line-height: 2;
    font-size: 1.5rem;
}

#tokutyo {
    margin-bottom: 100px;
}

#moromiPage .hyouziBox {
    display: block;
    max-width: 450px;
    margin: 0 auto;
}

.hyouziBox img {
    margin: 20px 0 10px;
}

.hyouzi-atari {
    font-size: 1.375rem;
}

#hyouzi .section-title {
    margin-bottom: 60px;
}

#hyouzi {
    margin-bottom: 80px;
}

.katsuyouImage {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 30px;
}

.katsuyouInfo {
    text-align: center;
    margin-bottom: 60px;
}

#katsuyou .linkBtn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#katsuyou .linkBtn a:nth-child(n+2) {
    margin-left: 30px;
}

#katsuyou .linkBtn a {
    width: 276px;
}

#edamamePage .tokutyoImage {
    max-width: 300px;
}

.tokutyoFlex {
    margin-bottom: 80px;
}

.poliInner {
    max-width: 730px;
    display: block;
    margin: 0 auto;
}

.poriFlex .poriInfo {
    width: 50%;
}

.poriFlex .poriImage {
    width: 40%;
}

.poriFlex .poriImage img {
    margin-bottom: 20px;
}

.poriTitle {
    font-size: 1.375rem;
    margin-bottom: 30px;
}

.poliInner .imageKome {
    text-indent: -1rem;
    padding-left: 1rem;
    line-height: 1.5;
}

#katsuyou .section-title {
    margin-bottom: 60px;
}


/* --------------------------------------------------------
米糠発酵素材
-------------------------------------------------------- */

#gabaPage .poliInner {
    max-width: 447px;
    margin: 0 auto;
}

#gabaPage .section-title {
    font-size: 30px;
}

#gabaPage .sub-title .small_top {
    font-size: 28px;
}

#gabaPage .sub-title .big_bottom {
    font-size: 38px;
}

#gabaPage .sub-title .small_top,
#gabaPage .sub-title .big_bottom {
    display: table;
    letter-spacing: 0.3rem;
    text-align: center;
    margin: 0 auto 20px;
}

.sub-title {
    margin-bottom: 80px;
}

.sub-title .gabaTitle {
    font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
    text-align: center;
    display: table;
    margin: 20px auto 60px;
    border-bottom: #a2e1d6 4px solid;
    /* padding: 0 10px; */
}

.gabaPageInner2 {
    max-width: 570px;
    display: table;
    margin: 0 auto;
}

.tokutyoList li {
    text-indent: -32px;
    padding-left: 32px;
    letter-spacing: 0;
    line-height: 1.5;
    margin-bottom: 10px;
}

#gabaPage .kouboInfo {
    width: 45%;
}

#gabaPage #koubo {
    margin-bottom: 120px;
}

#gabaPage #koubo .flexBox {
    margin-bottom: 60px;
}

#gabaPage #koubo .linkBtn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#gabaPage #koubo .linkBtn a {
    color: #000;
    margin-right: 20px;
}

#gabaPage #koubo .linkBtn a:last-of-type {
    margin-right: 0;
}

#gabaPage .section-title {
    margin-bottom: 40px;
}


/* --------------------------------------------------------
爛漫酒粕粉末
-------------------------------------------------------- */

#sakekasuPage .kouboImage {
    width: 51%;
}

#sakekasuPage .section-title.center {
    text-align: center;
}

#sakekasuPage .section-title.center {
    text-align: center;
    line-height: 1.5;
    letter-spacing: 1rem;
}

#sakekasuPage .section-title.center .hokyo {
    letter-spacing: 0.05rem;
    font-size: 30px;
}

#sakekasuPage .tokutyoList li {
    text-indent: unset;
    padding-left: unset;
}

.tokutyoList li .title {
    min-width: 240px;
    display: inline-block;
}

.flexBox.genen {
    align-items: center;
}

.genenInfo,
.genenImage {
    width: 48%;
}

.genenTitle {
    font-size: 24px;
    margin-bottom: 20px;
}

.genenText {
    margin-bottom: 30px;
}

#sakekasuPage #hyouzi .poliInner {
    position: relative;
    margin-bottom: 200px;
}

.paya {
    position: absolute;
    right: -58%;
    bottom: 0;
}

.sakeGraph h3 {
    font-size: 1.5rem;
    font-weight: normal;
    margin-bottom: 30px;
}

.sakeGraph h3 .small {
    font-size: 1rem;
}

.sakeText {
    width: 60%;
}

.sakeGraphImage {
    width: 30%;
}



.sakeGraph {
    margin-bottom: 100px;
}


/* --------------------------------------------------------
爛漫乾燥麹
-------------------------------------------------------- */

#kansouPage .kouboImage {
    width: 52%;
}

#kansouPage .kouboInfo {
    width: 41%;
}

#kansouPage .tokutyoList {
    width: 60%;
}

#kansouPage .tokutyoImage {
    width: 38%;
}

#kansouPage .tokutyoImage img {
    width: 100%;
}

#kansouPage .hyouziBox {
    max-width: 448px;
    margin: 20px auto 10px;
}

#kansouPage #hyouzi {
    margin-bottom: 160px;
}


/* --------------------------------------------------------
動き
-------------------------------------------------------- */

.mv {
    opacity: 0;
    transition: 0.8s cubic-bezier(0.86, 0, 0.07, 1);
    transform: translateY(-80px);
}

#topPage .mv {
    transform: translateY(0);
}

/*MVテキストを滑らかに出現させる*/

span.smoothText {
    overflow: hidden;
    display: block;
}

span.smoothTextTrigger {
    transition-delay: .3s;
    transition: 1s cubic-bezier(0.86, 0, 0.07, 1);
    transform: translate3d(0, 100%, 0) skewY(12deg);
    transform-origin: left;
    display: block;
}

span.smoothTextTrigger.smoothTextAppear {
    transform: translate3d(0, 0, 0) skewY(0);
    text-align: center;
}

/*MVテキストを滑らかに出現させる ここまで*/

#service {
    opacity: 0;
    transform: translateY(50px);
    transition: 1s all cubic-bezier(0.86, 0, 0.07, 1);
}

#service.active {
    opacity: 1;
    transform: translateY(0);
}

.katsuyouImage img {
    opacity: 0;
    transition: 0.5s all ease-in-out;
    width: 32%;
}

.katsuyouImage.active img {
    opacity: 1;
}

.katsuyouImage.active img:nth-child(2) {
    transition-delay: 0.3s;
}

.katsuyouImage.active img:nth-child(3) {
    transition-delay: 0.6s;
}

#items .itemList li {
    overflow: hidden;
}

#items .itemList li img {
    transition: 0.2s all ease-in-out;
    width: 100%;
}

#items .itemList li:hover img {
    transform: scale(1.05);
}

#kansouPage .compInfoWrap.top {
    background-image: none;
}

/* --------------------------------------------------------
プライバシーポリシー
-------------------------------------------------------- */
#privacyPage {
    background-image: none;
}

#privacy {
    margin-bottom: 100px;
}

.privacyBlock {
    margin-bottom: 30px;
}

.privacyTitle {
    font-weight: bold;
}

.flowList li {
    opacity: 0;
    transition: 0.8s all ease-in-out;
    /* transform: translateY(50px); */
}

.flowList li:nth-child(1) {
    transition-delay: .1s;
}

.flowList li:nth-child(2) {
    transition-delay: .3s;
}

.flowList li:nth-child(3) {
    transition-delay: .5s;
}

.flowList li:nth-child(4) {
    transition-delay: .7s;
}

.flowList.fadeUp li {
    opacity: 1;
    /* transform: translateY(0); */
}

#header.semaku,
#header.semaku .flexBox {
    height: 100px;
}

#header,
#header .flexBox {
    transition: 0.3s all ease;
}


/*--------------------------------------------------------------------
ハンバーガー
--------------------------------------------------------------------*/
.hamburger {
    height: 20px;
    width: 20px;
    position: relative;
    z-index: 40;
    display: none;
}

.hamburger span {
    background: #000;
    height: 2px;
    width: 20px;
    position: absolute;
    transition: 0.3s all ease-in-out;
    left: 50%;
    transform: translateX(-50%);
}

.hamburger span:nth-child(1) {
    top: 0;
}

.hamburger span:nth-child(2) {
    top: 9px;
    width: 15px;
}

.hamburger span:nth-child(3) {
    top: 18px;
}

.mask {
    display: none;
    width: 100vw;
    height: 100vh;
    background: #fff;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: 0.3s all ease-in-out;
}

/*--------------------------------------------------------------------
ハンバーガー　OPEN
--------------------------------------------------------------------*/

#header {
    /* position: unset; */
}

#header .logo {
    z-index: 6;
}

#header.open,
#header.open .wrapper {
    background: transparent;
}



.open .headernavi {
    display: inline;
    z-index: 4;
    position: fixed;
    top: 50%;
    left: 47%;
    /* top: 50%;
    left: 50%; */
    transform: translate(-50%, -50%);
}

.open .headernavi ul {
    flex-direction: column;
}

.open .headernavi ul li {
    /* margin-bottom: 10px; */
    padding-right: 0;
}

.open .headernavi a {
    padding: 10px 20px;
    
}

.mask.open {
    display: block;
    opacity: 0.9;
    pointer-events: none;
}

.open .hamburger span:nth-child(1) {
    transform: translateX(-50%) rotate(135deg);
    top: 10px;
}

.open .hamburger span:nth-child(2) {
    top: px;
    width: 0;
}

.open .hamburger span:nth-child(3) {
    transform: translateX(-50%) rotate(-135deg);
    top: 10px
}

.mask.open {
    display: block;
    z-index: 2;
}
.nonTop .mainArea {
    position: relative;
    margin-bottom: 80px;
}

.spOnly {
    display: none;
}













/*-------------------------------------------------------------------------------------------------
レスポンシブ
-------------------------------------------------------------------------------------------------*/

@media screen and (max-width:1024px) {
    #header .flexBox {
        justify-content: center;
        flex-direction: column;
    }

    #header .flexBox .logo img {
        width: 60%;
        display: block;
        margin: 5px auto 5px;
    }

    #toha {
        margin-bottom: 0;
    }

    .compInfo .right .title {
        line-height: 1.5;
    }

    .footerLink ul li a {
        padding: 0 10px;
    }

    .itemList ul li {
        width: 48.9%;
    }
    #header .flexBox .logo img{
        margin-bottom: 20px;
        transition: all 0.3s ease-in-out;
    }
    #header.semaku .flexBox .logo img{
        margin-bottom: 5px;
    }
}

/* ヘッダーメニュー */
.headernavi ul.spOnly{
    display: none;
    line-height: 1.2;
    font-size: 0.9rem;
}
.labo_receipe {
	font-size: 1.6rem;
	letter-spacing: 0!important;
	margin-bottom: 30px!important;
}
.labo_receipe svg{
	display: none;
}
.labo_item{
	border-bottom: 1px #333 solid;
	padding-bottom: 30px;
	margin-bottom: 30px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
}
.labo_info{
	width: 66%;
}
.labo_flex{
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: flex-start;
}
.labo_use{
	width: 48.5%;
}
.labo_des{
	width: 48.5%;
}
.labo_info h5{
	font-weight: normal;
	font-size: 1rem;
}
.labo_info p,
.labo_sort{
	font-size: 0.875rem;
	line-height: 1.8;
}
.labo_info dl{
	font-size: 0.875rem;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	line-height: 1.8;
}
.labo_info dl dt{
	width: 49%;
}
.labo_info dl dd{
	width: 49%;
}
.labo_mb80{
	margin-bottom: 80px;
}


@media screen and (max-width:768px){
    .headernavi ul.spOnly{
        display: inline;
    }
}
/* ヘッダーメニュー */

@media screen and (max-width: 768px) {
    .wrapper{
        max-width: calc(1000px + 10%);
        padding: 0 5%;
    }
    .spOnly {
        display: inline;
    }

    .pcOnly {
        display: none;
    }

    #header {
        height: 50px;
    }

    .section-title {
        margin-bottom: 40px;
    }
    #header .flexBox .logo img{
        margin-bottom: 5px;
    }
    .itemList ul li .whiteBox {
        transform: translateY(0);
    }

    .itemList ul li {
        width: 100%;
    }

    #header .flexBox {
        justify-content: space-between;
        flex-direction: inherit;
        height: 50px;
    }

    #header .flexBox .logo img {
        width: 157px;
    }

    .mainArea .text {
        top: 50%;
    }

    #topPage .mainArea,
    #topPage .mainArea .mv {
        height: 100vh;
    }

    #toha .section-title {
        font-size: 1.4rem;
        line-height: 1rem;
    }

    #toha .section-title img {
        width: 200px;
    }

    .mainArea {
        margin-bottom: 30px;
    }

    .flexBox {
        flex-direction: column;
    }

    .flexBox .left,
    .flexBox .right {
        width: 100% !important;
    }

    .flexBox .left {
        margin-bottom: 20px;
    }

    .flexBox .right .title {
        font-size: 1.1rem !important;
        line-height: 1.5;
    }

    .linkBtn a {
        padding: 10px 60px;
    }

    #items {
        padding-top: 60px;
        padding-bottom: 20px;
    }

    #service {
        background-image: url(img/common/grayBg_sp.png);
    }

    .compInfoWrap {
        padding: 40px 4%;
    }

    .compInfoWrap img {
        display: block;
        margin: 0 auto;
    }

    .compInfo .center {
        text-align: center;
    }

    .compInfo .center .text {
        letter-spacing: 0.02rem;
        line-height: 1.5;
        font-size: 0.9rem;
    }

    .compInfo {
        margin-bottom: 40px;
    }

    .footerLink {
        display: none;
    }

    .toTop {
        width: 40px;
        height: 40px;
    }

    .toTop span {
        width: 15px;
        height: 15px;
        border-right: 3px solid #fff;
        border-top: 3px solid #fff;
    }

    .toTop span:nth-child(2) {
        top: 5px;
        position: relative;
    }

    .ranmanUnder {
        width: 150px;
        margin-bottom: 10px;
    }

    .haccpUnder {
        width: 120px;
        margin-bottom: 20px !important;
    }

    .compInfoWrap.top {
        background-image: url(img/common/whiteBg_sp.png);
        background-size: contain;
    }

    #footer .wrapper {
        padding-top: 20px;
    }

    .compInfo .right .title {
        margin-bottom: 15px;
    }

    #service .flexBox .left {
        margin-bottom: 40px;
    }

    #service {
        padding-top: 80px;
        padding-bottom: 60px;
    }

    #toha .section-title img {
        padding-right: 0;
    }

    .mainArea,
    .mainArea .mv,
    .mainArea .mv img {
        height: 250px;
    }

    .mainArea .mv img {
        object-fit: cover;
    }



    .nonTop .mainArea .text {
        top: calc(50% + 25px);
        font-size: 30px;
    }

    main .flexBox>div {
        width: 100% !important;
    }

    .kouboImage img {
        margin-bottom: 30px;
    }

    #koubo {
        margin-bottom: 60px;
    }

    .tokutyoList {
        font-size: 1.2rem;
    }

    .tokutyoList li {
        text-indent: -26px;
    }

    .tokutyoList {
        margin-bottom: 20px;
    }

    .tokutyoFlex {
        margin-bottom: 40px;
    }

    .poriText {
        margin-bottom: 40px;
    }

    .imageKome,
    .houziKome {
        font-size: 0.8rem;
        line-height: 1.5;
    }

    .hyouzi-atari {
        font-size: 1.2rem;
        letter-spacing: 0.05rem;
    }

    .atariIndent {
        position: relative;
        right: 10px;
    }

    #katsuyou .section-title {
        margin-bottom: 40px;
    }

    .katsuyouImage img {
        margin-bottom: 20px;
    }

    .katsuyouImage img:last-child {
        margin-bottom: 0;
    }

    .katsuyouInfo {
        text-align: left;
        margin-bottom: 30px;
    }

    .linkBtn a {
        text-align: center;
        /* font-weight: bold; */
        /* padding: 10px 30px; */
    }

    #katsuyou .linkBtn a {
        /* width: 230px; */
        font-size: 0.9rem;
        letter-spacing: 0.05rem;
    }

    #header::after {
        height: 100%;
        width: 100%;
        background: #ffffff99;
        content: "";
        display: block;
        top: 0;
        position: absolute;
        transition: .3s all ease-in-out;
    }

    #header.open::after {
        content: none;

    }

    main.nonTop {
        background-image: url(img/common/whiteBg_sp.png);
        background-size: contain;
    }

    .onetime_popup {
        min-width: unset;
        width: 90%;
    }

    .onetime_popup_title {
        padding: 60px 20px 0;
        font-size: 0.8rem;
    }

    .onetime_popup_content {
        padding: 30px 20px 60px;
    }

    .hamburger {
        display: block;
    }

    .headernavi {
        display: none;
    }
    .nonTop .mainArea {
        margin-bottom: 40px;
    }
    /*--------------------------------------------------------------------
爛漫の取り組み
--------------------------------------------------------------------*/
/* #effortPage #toha .flexBox{
    flex-direction: column-reverse;
} */
#effortPage #toha .flexBox .title{
    line-height: 1.8;
    letter-spacing: 0.1rem;
}
#effortPage #toha .flexBox .text{
    margin-bottom: 30px;
}
#effortPage #toha .flexBox .left{
    margin-bottom: 60px;
}
#genryo .section-title{
    margin-bottom: 40px;
}
#effortPage .itemList ul:first-child{
    margin-bottom: 30px;
}
#genryo .itemList ul li{
    width: 100%;
}
#gabaPage #koubo .linkBtn a,
#gabaPage #koubo .linkBtn a:last-of-type{
    margin: 0 auto 20px;
    display: block;
}
#gabaPage #koubo .flexBox{
    margin-bottom: 30px;
}
#gabaPage #koubo{
    margin-bottom: 60px;
}
#gabaPage .sub-title .small_top{
    font-size: 16px;
}
#gabaPage .sub-title .big_bottom{
    font-size: 28px;
}
#tokutyo{
    margin-bottom: 80px;
}
#gabaPage .section-title{
    margin-bottom: 20px;
}
.sub-title .gabaTitle{
    margin-bottom: 30px;
}
#gabaPage #tokutyo .section-title{
    margin-bottom: 30px;
    font-size: 1.6rem;
}
.sub-title,
#tokutyo{
    margin-bottom: 40px;
}
#katsuyou .section-title{
    margin-bottom: 30px;
}
#kansouPage .tokutyoList{
    width: 100%;
}
.tokutyoImage li,
.graphsImage .lower{
    font-size: 0.8rem;
    line-height: 1.5;
}
.tokutyoImage img,
.graphsImage img{
    margin-bottom: 10px;
}
#kansouPage #hyouzi{
    margin-bottom: 80px;
}
#katsuyou{
    margin-bottom: 40px;
}
.kouboImage .imageKome{
    margin-bottom: 10px;
}
#moromiPage .tokutyoList li{
    font-size: 1.1rem;
}
#moromiPage #tokutyo{
    margin-bottom: 80px;
}
#hyouzi .section-title{
    margin-bottom: 30px;
}
#moromiPage .hyouziImage{
    max-width: 100%;
}
#moromiPage #katsuyou .linkBtn a{
    margin: 0 auto 20px;
}
    /*--------------------------------------------------------------------
OEM
--------------------------------------------------------------------*/
#oemPage .section-title{
    font-size: 1.4rem;
}
#oemPage .mainArea{
    margin-bottom: 60px;
}
.flowDaen{
    top: 46px;
}
.maruNum {

    padding: 8px 9px 8px 11px;
    font-size: 1rem;

}
.maru{
    width: 12%;
}
.flowInfo{
    width: 88%;
}
#zirei .section-title{
    margin-bottom: 40px;
}
#zirei img{
    margin-bottom: 20px;
}
#zirei .flexBox{
    margin-bottom: 30px;
}
.setsubiTitle{
    font-size: 1.2rem;
}
.setsubiText{
    text-align: left;
}
.setsubiList img{
    margin-bottom: 30px;
}
.setsubiTitle{
    margin-bottom: 20px;
}
.setsubiList li{
    margin-bottom: 70px;
}
#setsubi{
    margin-top: 60px;
}
#zirei{
    padding-bottom: 60px;
}
    /*--------------------------------------------------------------------
さけかす
--------------------------------------------------------------------*/
#sakekasuPage #koubo .kouboInfo p{
    margin-bottom: 20px;
}
#sakekasuPage .section-title{
    font-size: 1.4rem;
}
#sakekasuPage .section-title.center .hokyo{
    font-size: 26px;
}
.tokutyoList li .title {
    display: block;
}
.tokutyoList li .info {
    padding-left: 45px;
    text-indent: -20px;
}
#tokutyo{
    margin-bottom: 60px;
}
#sakekasuPage #hyouzi .poliInner{
    margin-bottom: 60px;
}
.sakeGraph h3{
    font-size: 1.2rem;
}
#hyouzi .sakeText{
    margin-bottom: 20px;
}
.sakeGraphImage img{
    display: block;
    margin: 0 auto;
}

.katsuyouImage img {
    width: 100%;
}
#gaba01,
#gaba02{
    padding-top: 40px;
    margin-top: -40px;
}
.tokutyoImage img{
    width: 100%;
}
#oemPage #zirei .flexBox img{
    width: 100%;
}
#moromiPage .tokutyoList{
    width: unset!important;
}
#topPage .mainArea .mv img{
    height: 100%;
}
.compInfo.flexBox .right{
text-align: center;
}

}




#gaba01,
#gaba02{
    padding-top: 80px;
    margin-top: -80px;
}
#sakekasuPage .poliInner{
    overflow: hidden;
    margin-bottom: 0!important;
    padding-bottom: 200px;
}
#moromiPage .tokutyoList{
    width: 40%;
}
#moromiPage .tokutyoImage{
    width: 55%;
}
.onetime_popup,
.bg_onetime_popup{
    pointer-events: none;
}
.onetime_popup .linkBtn a{
    pointer-events: auto;
}
/* Safari */
::-webkit-full-page-media, :future, :root
 .onetime_popup .linkBtn a{
    display: block;
}
@media screen and (max-width: 768px){
    @media screen and (min-width: 600px){

        .compInfoWrap.top {
            background-size: cover;
        }
}
}
.section-title{
    position: relative;
    border-bottom: none;
    padding: 0 20px 36px 20px!important;
}


.dot{
    position: absolute;
    bottom: 0;
    left: 0;
    max-width: 100%;
}
svg{ 
	width: 100%;
	 height:20px; 
} 
svg line{ 
	fill: none; 
	stroke: #b9c3c9; ;
	stroke-width: 16;
	stroke-linecap: round; 
         /* 線の端の部分を丸く、四角はsquare*/
	stroke-dasharray: 0.5, 50;
         /*　塗りと空白距離で間隔を設ける */
}

#toha .section-title,
#zyutaku .section-title{
    padding-bottom: 40px!important;
}
@media screen and (max-width: 768px){
    .section-title{
        padding: 0 20px 30px 20px!important;
    }
    #gabaPage #koubo .linkBtn a{
        width: 260px;
        padding: 10px;
    }
		.labo_receipe{
			margin-bottom: 0!important;
			padding-bottom: 20px!important;
			font-size: 1.375rem;
		}
		.labo_item{
			display: block;
			padding-bottom: 20px;
			margin-bottom: 20px;
		}
		.labo_img img{
			width: 100%;
			margin-bottom: 10px;
		}
		.labo_info, .labo_flex{
			width: 100%;
			display: block;
		}
		.labo_info dl{
			font-size: 0.875rem;
		}
		.labo_use{
			width: 100%;
			margin-bottom: 10px;
			font-size: 0.875rem;
		}
		.labo_des{
			width: 100%;
			font-size: 0.875rem;
		}
		.labo_info p, .labo_sort{
			font-size: 0.875rem;
		}
		.labo_mb80{
			margin-bottom: 40px;
		}
}



#edamamePage .poriFlex .poriImage img{
    display: block;
    margin: 0 auto 20px;
}
.smallKome{
    font-size: 0.9rem;
    position: relative;
    bottom: 7px;
}
.kouboInfo .smallKome{
    font-size: 0.7rem;
}
@media screen and (max-width: 768px){
    .smallKome{
        bottom: 4px;
    }
}

#edamamePage.nonTop .mainArea{
    top: -30px;
}
#hyouzi .linkBtn{
    margin-top: 60px;
}



/*--------------------------------------------------------------------
2025年3月 レシピページ
--------------------------------------------------------------------*/
#recipe .labo_use h5{
    text-indent: 12px;
}
#recipe .labo_des h5{
    text-indent: 5px;
}
#recipe table td{
    font-size: 0.875rem;
    line-height: 1.5;
    padding: 1px;
}
#recipe table td:first-child{
    vertical-align: top;
}
.linkBtn a{
    padding: 20px 60px;
    text-align: center;
}
#recipe .labo_use table td:nth-last-child(2){
    padding-right: 20px;
}

#recipe .labo_des table tr td{
    padding-bottom: 10px;
}

/* ---------------------------------------------------
2025-03-19 もろみページ新商品
--------------------------------------------------- */
#moromiPage .tokutyoList{
    display: table;
    margin: 0 auto 40px;
}
#moromiPage .tokutyoImage{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
}

#moromiPage .tokutyoImage img{
margin: 0 auto 10px;
}



#moromiPage .tokutyoImage img:nth-child(1){
    /* margin-right: 80px; */
}
#moromiPage .tokutyoImage img:nth-child(2){
    /* height: fit-content; */
    margin-left: 80px!important;
}


#moromiPage .tokutyoImage p{
text-align: center;
}


@media screen and (max-width: 768px){
    #moromiPage .tokutyoImage{
        gap: 10px;
    }
    #moromiPage .tokutyoImage img:nth-child(1){
        max-width: 30vw;
    }

    #moromiPage .tokutyoImage img:nth-child(2){
        max-width: 40vw;
    }
}





.toRecipe{
    margin-bottom: 120px;
}
@media screen and (max-width: 768px){
    .toRecipe{
        margin-bottom: 80px;
    }
}