@charset "UTF-8";
/*@import url("http://fonts.googleapis.com/earlyaccess/notosansjp.css");*/


.a2milk-cont-main {
    font-family: 'Noto Sans JP', sans-serif !important;
    background-color: #fffeef;
    color: #1e1715;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.a2milk-cont-main * {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 16px;
    line-height: 1.5;
}

.a2milk-cont-main img { width: 100%; height: auto;}

.a2milk-main-slide:after {
    content: "";
    display: block;
    background: url(/g6/feature/image/a2milk_fv_wave.png) no-repeat 0 0;
    background-size: 100% 100%;
    width: 100%;
    height: 91px;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 8;
}

.a2milk-logo-oisix {
    position: absolute;
    width: 30% !important;
    right: 0;
    left: 0;
    top: 5%;
    margin: 0 auto;
    z-index: 10;
}

.a2milk-logo {
    position: absolute;
    width: 80% !important;
    right: 0;
    left: 0;
    top: 13%;
    margin: 0 auto;
    z-index: 10;
}

.a2milk-fv-text {
    position: absolute;
    width: 50% !important;
    right: 0;
    left: 0;
    bottom: 17%;
    margin: 0 auto;
    z-index: 10;
}

.a2milk-main-slide.swiper-slide { background: transparent !important; }
.a2milk-main-slide.swiper-container { padding-bottom: 0 !important; }

.a2milk-main-slide.swiper-pagination-fraction, .a2milk-main-slide.swiper-pagination-custom,
.a2milk-main-slide.swiper-container-horizontal > .swiper-pagination-bullets {
    bottom: 4%;
    left: 36%;
    width: 100%;
}

.a2milk-main-slide.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet:first-child {
    margin: 4px 0 8px 0;
}

.a2milk-side {
    position: relative;
    flex-wrap: nowrap;
    max-width: 100%;
    pointer-events: all;
    -webkit-overflow-scrolling: touch;
    align-content: center;
    align-items: center;
    display: flex;
    flex: none;
    flex-direction: column;
    z-index: 20;
}

.a2milk-side {
    background: rgba(0, 0, 0, 0.0);
    bottom: auto;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 10px;
    height: 100vh;
    justify-content: flex-end;
    left: auto;
    margin: 0 0 0 0;
    mix-blend-mode: normal;
    padding: 0;
    position: fixed;
    right: 0px;
    bottom: 0px;
    width: 50px;
    max-width: 100%;
}

.a2milk-side.a2milk-side-icon, .a2milk-side.a2milk-side-text {
    align-content: center;
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    overflow: visible;
    overflow-wrap: anywhere;
    word-break: break-word;
}
/*
.a2milk-side-icon { padding-bottom: 100px;}
*/
.a2milk-side-text {
    color: #64a9e0;
    flex: none;
    font-size: 1.14rem;
    font-weight: 400;
    height: auto;
    letter-spacing: normal;
    line-height: 1.4;
    text-align: center;
    writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    max-width: 100%;
    justify-content: center;
}

/* title */
.a2milk-title { margin-bottom: 20px; padding: 0 24px; position: relative; z-index: 10;}
.a2milk-title img { width: 50%; }

.a2milk-title-menu img { width: 38%; }

.a2milk-title-what { margin-right: 36px; text-align: right; position: relative; z-index: 10;}
.a2milk-title-what img { width: 50%; }

.a2milk-title.about { z-index: 20; }

.a2milk-title-faq img { width: 30%; }
.a2milk-title-shop img { width: 40%; }

/* text */
.a2milk-text { font-size: 1.2rem; }
.a2milk-text-note { font-size: 0.85rem; }
.a2milk-text-center { text-align: center; }
.a2milk-text-block { margin: 0 24px; }
.a2milk-mb24 { margin-bottom: 24px;}
.a2milk-mt24 { margin-top: 24px;}
.a2milk-text-bold { font-weight: 700; }
.a2milk-text-note-sup { vertical-align: top; }
.a2milk-text-note_red {font-size: 1rem; color: #e43301;}

.a2milk-contets {
    position: relative;
    margin-top: -10px;
    padding-bottom: 64px;
    /*z-index: 10;*/
    box-sizing: border-box;
    overflow: hidden;
}

.a2milk-contets-block { padding: 0 0 45px; }

.a2milk-contets.story_bg {
    background-image: url(/g6/feature/image/a2milk_story_bg.png);
    background-repeat: no-repeat;
    background-position: top;
    background-size: 100% 100%;
}

.a2milk-menu {
    display: flex;
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    gap: 20px 16px;
}

.a2milk-menu01 { animation: a2milkmenulink01 1.5s ease-in-out infinite alternate-reverse; }

.a2milk-menu02 { animation: a2milkmenulink02 1.8s ease-in-out infinite alternate-reverse; }

@keyframes a2milkmenulink01 {
    0% {
        transform: translateY(-5%);
    }
    100% {
        transform: translateY(5%);
    }
    }


@keyframes a2milkmenulink02 {
    0% {
      transform: translateY(-8%);
    }
    100% {
      transform: translateY(8%);
    }
  }

.a2milk-menu a { width: calc(74% / 3); }

/* top */
.a2milk-cont-top-category {
    display: flex;
    margin: 12px 12px 0;
    flex-wrap: nowrap;
    gap: 10px 10px;
}

.a2milk-cont-top-category li { flex: 1; }

.a2milk-cont-top-new-block, .a2milk-cont-top-item { display: block; }

.a2milk-cont-top-new-block, .a2milk-cont-top-item { border-bottom: 1px dotted #e0e0e0; }

.a2milk-cont-top-new-link {
    display: block;
    position: relative;
    padding: 16px 40px 16px 16px;
    background: #fff;
    box-sizing: border-box;
    width: 100%;
}

.a2milk-cont-top-new-link:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 24px;
    margin-top: -5px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #e0e0e0;
    border-top: 2px solid #e0e0e0;
    transform: rotate(45deg);
}
    

.a2milk-cont-top-new {
    display: flex;
    margin-bottom: 5px;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px 10px;
}

/* story */
.a2milk-cont-story {
    display: flex;
    margin-bottom: 24px;
    align-items: center;
    overflow: hidden;
}

.story-image {
    width: 140px;
    height: auto;
    margin: 0 20px;
    background-color: #fffeef;
    padding: 20px;
    text-align: center;
    border-radius: 50%;
    z-index: 10;
}

.story-image.left { margin-left: -10px; }
.story-image.right { margin-right: -10px; order: 2; }

.story-image-01 img { width: 67%; } 

.story-text { flex: 1; font-size: 1.34rem; z-index: 11; line-height: 1.8; }
.story-text.left { margin: 24px -36px 0 24px; order:1; }
.story-text.right { margin: 24px 36px 0 -36px; }
.story-text .a2milk-text-note { vertical-align: top;}

/* whats */
.a2milk-what-block {
    margin: -42px 60px 0 0;
    padding: 24px;
    border-right: 4px solid #74b3e4;
    border-top: 4px solid #74b3e4;
    border-bottom: 4px solid #74b3e4;
    border-radius: 0 10px 10px 0;
    background-color: #fff;
}

.a2milk-what-block img { margin: 30px 0 24px;}

/* about */
.a2milk-about-block { margin: 0 48px 24px; padding-bottom: 100px;}
.a2milk-about-block.pbnone { padding-bottom: 0;}

.a2milk-about-block-snd { margin: 96px 0 24px; padding-bottom: 100px;}

.a2milk-about-container {
    max-width: 750px;
    width: 100%;
    margin: 0 auto 60px;
    padding: 0;
}

/* 背景を持つセクション */
.a2milk-about-oval-section {
    position: relative;
    width: 100%;
    padding: 0 0;
    margin-top: -55px;
    box-sizing: border-box;
}

.a2milk-about-oval-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    display: flex;
    justify-content: center;
}

/* 実際の形状を作る */
.a2milk-about-oval-shape {
    position: relative;
    width: 80%;
    height: 100%;
}

/* 上部 */
.a2milk-about-oval-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 300px; /* 上部の高さ */
    background-color: #deeef7; /* 背景色 */
    border-radius: 100% 100% 0 0 / 100% 100% 0 0;
}

/* 中央の長方形 */
.a2milk-about-oval-middle {
    position: absolute;
    top: 300px; /* 上部高さと合わせる */
    left: 0;
    width: 100%;
    height: calc(100% - 600px); /* 全体から上下合計を引く */
    background-color: #deeef7; 
}

/* 下部 */
.a2milk-about-oval-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 300px; /* 下部の高さ */
    background-color: #deeef7; /* 背景色 */
    border-radius: 0 0 100% 100% / 0 0 100% 100%;
}

.a2milk-about-content {
    position: relative;
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    z-index: 20;
}

.a2milk-about-title { margin: 0 auto 24px; padding-top: 46px; text-align: center;}
.a2milk-about-title img { width: 80%; }
.a2milk-about-title.about-snd { padding: 46px 46px 0}
.a2milk-about-block-inner { padding: 0 12px; }

.a2milk-about-block-link-btn {
    position: relative;
    margin: 0 auto;
    width: 100%;
    background: #74b3e4;
    border-radius: 20px ;
    cursor: pointer;
}

.a2milk-about-block-link-btn-text {
    position: relative;
    padding: 6px 12px;
    color: #fff;
    text-align: center;
}

.a2milk-about-block-link-btn-text:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -3px;
    border-top: 7px solid #fff;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    transition: all 0.3s ease;
}

.a2milk-about-block-link-btn-text.close:after {
    margin-top: -2px;
    -ms-transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.a2milk-about-block-link-inner {
    margin-top: -24px;
    padding: 40px 18px 18px;
    background: #fff;
    border: 2px solid #74b3e4;
    border-radius: 10px;
    z-index: 10;
    box-sizing: border-box;
    overflow: hidden;
}

.a2milk-about-block-inner-snd { padding: 0 36px; }

.a2milk-about-sttl {
    display: block;
    margin: 0 auto 24px;
    padding: 4px 24px;
    width: 50%;
    font-size: 1.2rem;
    font-weight: 400;
    text-align: center;
    background: #fff;
    border: 2px solid #74b3e4;
    border-radius: 20px;
}

/* アンケート結果 */
.a2milk-about-enq-block { position: relative; margin: 30px 0 0; }
.a2milk-about-enq-msg {
    position: absolute;
    left: 10px;
    top: -16px;
    z-index: 10;
}

.a2milk-about-enq-msg img { width: 50%;}

.a2milk-about-enq-note { margin: 10px 24px; font-size: 0.85rem; }

.a2milk-about-enq-block .swiper-container { padding-bottom: 0 !important;}

.swiper-3 {
    overflow: visible;
    padding: 0 50px; /* 両端に余白を追加してうっすら見える部分を確保 */
}

.swiper-3 .swiper-slide {
    opacity: 0.4;
    transform: scale(0.9); /* サイズも少し小さく */
    transition: all 0.3s ease;
}

.swiper-3 .swiper-slide-active {
    opacity: 1;
    transform: scale(1);
}

.a2milk-about-enq-block .swiper-slide { background: transparent !important;}

.a2milk-cont-about {
    display: flex;
    margin-bottom: 24px;
    overflow: hidden;
}
.about-image { width: 45%; z-index: 10; }

.about-image.left { margin-right: 12px; }
.about-image.right { margin-left: 12px; order: 2; }

.about-text { flex: 1; font-size: 1.14rem;}
.about-text.right { margin: 0 60px 0 0; }
.about-text.left { margin: 0 0 0 60px; order:1; }

.a2milk-title-about { width: 40%; margin: 96px auto 24px; text-align: center;}

.a2milk-title-about-snd { width: 40%; margin: 46px auto 24px; text-align: center;}

.a2milk-about-slide .swiper-slide:not(.swiper-slide-active) { opacity: 0.4; }
.a2milk-about-slide .swiper-slide { background: transparent !important;}

.a2milk-about-dot {
    display: flex;
    justify-content: center;
    align-items: center;
}

.a2milk-about-dot .swiper-pagination {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
}

.a2milk-about-dot .swiper-pagination-bullet {
    width: 6px;
    height: 6px;
    display: inline-block;
    border-radius: 100%;
    background: #fffeef;
    border: 1px solid #1e1715;
    opacity: 0.2;
}

.a2milk-about-dot .swiper-pagination-bullet-active {
    opacity: 1;
    top: 2px;
    background: #74b3e4;
    border: 3px solid #74b3e4;
  }

  .a2milk-about-dot .swiper-pagination-fraction, .a2milk-about-dot .swiper-pagination-custom,
  .a2milk-about-dot .swiper-container-horizontal > .swiper-pagination-bullets {
    bottom: 0 !important;
  }

  .swiper2-button-next.swiper-button-next, .swiper2-button-prev .swiper-container-rtl .swiper-button-prev {
    background-image: none !important;
    margin-left: 32px;
  
  }
  .swiper2-button-prev.swiper-button-prev, .swiper2-button-next .swiper-container-rtl .swiper-button-next {
    background-image: none !important;
    margin-right: 32px;
  }

  .swiper2-button-prev.swiper-button-prev, .swiper2-button-next.swiper-button-next {
    position: relative;
    width: 30px;
    height: 30px;
    margin-top: 0;
    background: #74b3e4;
    cursor: pointer;
    background-size: 0;
    border-radius: 50%;
    z-index: 10;
}

.swiper2-button-prev.swiper-button-prev:after {
    content: "";
    position: absolute;
    color: #fff;
    width: 8px;
    height: 8px;
    top: 50%;
    margin-top: -4px;
    margin-left: 11px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -ms-transform: rotate(-229deg);
    -webkit-transform: rotate(-229deg);
    transform: rotate(229deg);
}

.swiper2-button-next.swiper-button-next:after {
    content: "";
    position: absolute;
    color: #fff;
    width: 8px;
    height: 8px;
    top: 50%;
    margin-top: -4px;
    margin-left: 8px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(45deg);
}

 /* みんなの正直レビュー */
.review-bg {
    background-image: url(/g6/feature/image/a2milk_review_bg.png);
    background-repeat: no-repeat;
    background-position: top;
    background-size: 100% 100%;
}

.a2milk-review-block { margin: 0 36px 24px 24px; }

.a2milk-review-block-text img { width: 80%; }

.a2milk-review-block .a2milk-review-image { margin-bottom: 24px; }

.a2milk-review-block-link-btn {
    position: relative;
    margin: 0 auto;
    width: 90%;
    background: #74b3e4;
    border-radius: 20px ;
}

.a2milk-review-block-link-btn-text {
    position: relative;
    padding: 6px 12px;
    color: #fff;
    text-align: center;
}

.a2milk-review-block-link-btn-text:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -3px;
    border-top: 7px solid #fff;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    transition: all 0.3s ease;
}

.a2milk-review-block-link-btn-text.close:after {
    margin-top: -2px;
    -ms-transform: rotate(-183deg);
    -webkit-transform: rotate(-183deg);
    transform: rotate(-183deg);
}

.a2milk-review-block-link-inner { padding: 32px 12px 12px; }

/* FAQ */
.a2milk-faq-block {
    position: relative;
    margin: 24px 24px;
    background: #fff;
}

.a2milk-faq-accordion-header { position: relative; padding: 0 12px 0 0; cursor: pointer;}

.a2milk-faq-text {
    display: flex;
    position: relative;
    margin-left: 32px;
    background: #fff;
    border-radius: 5px;
    align-items: flex-start;
}

.a2milk-faq-accordion-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.8s ease, opacity 0.8s ease, padding 0.8s ease;
    padding-top: 0;
    padding-bottom: 0;
}

.a2milk-faq-accordion-content.active {
    max-height: 1000px;
    opacity: 1;
    padding: 24px 12px 24px 0;
}


.a2milk-faq-accordion-icon {
    display: inline-block;
    margin-top: -8px;
    position: absolute;
    right: 22px;
    top: 50%;
    cursor: pointer;
    z-index: 10;
    transition: transform 0.5s ease;
}

.a2milk-faq-accordion-icon.rotate {
    -ms-transform: rotate(-180deg);
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.a2milk-faq-icon { 
    position: absolute;
    top: 0;
    left: -24px;
    padding: 4px 12px;
    background: #74b3e4;
    border-radius: 50% 50% 50% 70%/50% 50% 70% 60%;
    color: #fff
}

.a2milk-faq-accordion-icon { font-size: 1.2rem; }

.a2milk-q-text {
    padding: 12px 24px;
    font-size: 1.2rem;
    line-height: 1.5;
    flex: 1;
}

.a2milk-a-text {
    padding: 12px 24px;
    font-size: 1.14rem;
    line-height: 1.5;
    flex: 1;
}

.a2milk-a-text-note {
    display: block;
    margin-top: 12px;
    font-size: 1rem;        
}

.a2milk-a-text-link {
    display: inline;
    font-size: 1.14rem;
    color: #64a9e0;
}

/* line up */
.a2milk-lineup-block, .a2milk-shop-block { margin: 24px; text-align: center; }

      
/*---------- PC ----------*/
@media screen and (min-width: 750px) {
    .a2milk-cont-main {
        display: block;
        margin: 0 auto;
        width: 100%;
        max-width: 750px;
    }

    .a2milk-side { width: 70px; }
    
    .a2milk-menu a { width: calc(74% / 4); }
    .a2milk-title img { width: 28%; }
    .a2milk-title-what img { width: 30%; }
    .a2milk-text { font-size: 1.34rem; }

    .a2milk-main-slide:after { bottom: 0; }
    .a2milk-side-text { bottom: 13%; font-size: 1.34rem; }

    .a2milk-main-slide.swiper-pagination-fraction, .a2milk-main-slide.swiper-pagination-custom,
    .a2milk-main-slide.swiper-container-horizontal > .swiper-pagination-bullets { bottom: 2%; }
    .a2milk-main-slide.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 2px 7px; }

    /* menu */
    .a2milk-title-menu img { width: 23%; }

    /* story */
    .story-image { width: 200px; }
    .story-text.left { margin: 24px -36px 0 36px;}
    .story-text  { font-size: 1.34rem;}

    /* what */
    .a2milk-what-block { margin: -42px 120px 0 0; }
    .a2milk-what-block img { width: 90%;}

    /* about */
    .a2milk-about-block { margin: -42px 120px 24px; }
    .a2milk-about-sttl { font-size: 1.34rem; }
    .about-text { font-size: 1.2rem;}
    .a2milk-about-block-snd { margin: 0 0 24px; }

    .a2milk-about-title img { width: 70%;}

    .a2milk-title-about { width: 32%; }
    .a2milk-title-about-snd { margin: 0 auto 24px; width: 32%; }

    .a2milk-about-block-link-inner { padding: 46px 24px 24px;}

    .a2milk-about-oval-shape { width: 70%; }
    .a2milk-about-oval-top { height: 400px; }
    .a2milk-about-oval-middle { top: 400px; }
    .a2milk-about-oval-bottom { height: 400px;}

    .a2milk-about-container { margin-bottom: 120px; }
    .a2milk-about-title.about-snd { padding: 46px 46px 0; }
    .a2milk-about-title.about-snd img { width: 70%; }
    .about-image {width: 30%; }
    .about-text.right { margin-right: 144px;}
    .about-text.left { margin-left: 144px;}
    .a2milk-about-block-inner { padding: 0 24px;}
    .a2milk-about-block-link-btn { width: 90%;}

    .a2milk-about-oval-section { padding: 0;}

    .a2milk-about-enq-msg { left: 90px; top: -20px;}
    
    .a2milk-about-enq-msg img { width: 70%;}

    /* review */
    .a2milk-review-block { margin: 0 120px 24px 108px}
    .a2milk-review-block-link-btn-text { cursor: pointer;}
    .a2milk-review-image img { width: 90%; }
    .a2milk-review-block-text img { width: 60%; }

    /* FAQ */
    .a2milk-title-faq img { width: 18%; }

    /* lineup */
    .a2milk-lineup-block img { width: 80%;}
}