@charset "utf-8";

/* 共通設定 */
* {
    box-sizing: border-box;
}

html {
    font-size: 100%;
    font-family: "游ゴシック体 Pr6N B", "Yu Gothic Pr6N B", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", sans-serif;
}

body {
    font-size: 16px;
    line-height: 1.7;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

a {
    text-decoration: none;
}

a:hover {
    opacity: .8;
}


.wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

.flex {
    display: flex;
    padding-bottom: 0;
    margin: 0 auto;
}

.secTitle {
    font-size: 50px;
    font-family: 'Ultra', serif;
    letter-spacing: 0.2rem;
    text-align: center;
    color: #fa407d;
    padding: 40px 30px;
    @media (max-width: 665px) {
        font-size: 30px;
        padding: 30px 20px;
    }
}


/*==================================================================
--header
==================================================================*/
header {
    background-color: #fa407d;
    color: #fff;
}

.header__logo {
    width: 120px;
}

.headerWrapper {
    max-width: 1200px;
    width: 94%;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    align-items: center;
}


/* navigation */
.gnav {
    font-family: 'Chakra Petch', sans-serif;
    margin: .5rem;
    font-size: 24px;
    align-items: center;
        @media screen and (max-width:800px) {
    font-size: 14px;
        }
    }


.gnav__list {
    display: flex;
    list-style-type: none;
}

.gnav__item + .gnav__item {
    margin-left: 1.5em;
}

h2 {
    color: #703413;
}

.main__text {
    color: #fa407d;
    margin-top: 20px;
}

h3 {
    display: inline-block;
    border-bottom: 2px solid #fa407d;
    padding-bottom: 0;
}

.scrolldown2{
/*描画位置※位置は適宜調整してください*/
    position:relative;
    bottom: 20%;
    left:8%;
    @media (max-width: 505px) {
        display: none;
    }
}

/*Scrollテキストの描写*/
.scrolldown2 span{
    /*描画位置*/
    position: absolute;
    left:10px;
    bottom:10px;
        /*テキストの形状*/
    color: #9cf3f2;
    font-size:1.5rem;
    letter-spacing: 0.05em;
    /*縦書き設定*/
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown2:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom:0;
    left:-5px;
    /*丸の形状*/
    width:13px;
    height:13px;
    border-radius: 50%;
    background:#9cf3f2;
        /*丸の動き1.6秒かけて透過し、永遠にループ*/
    animation:
    circlemove 1.6s ease-in-out infinite,
    cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:70px;}
     100%{bottom:-5px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
  100%{opacity:0;}
 }

/* 線の描写 */
.scrolldown2:after{
    content:"";
/*描画位置*/
    position: absolute;
    bottom:0;
    left:0;
/*線の形状*/
    width:2px;
    height: 80px;
    background:#9cf3f2;
}

.hero__img {
    max-width: 100%;
}

/* ABOUT */
.sec {
    max-width: 1200px;
    background-color: #fbe3ee;
    border-radius: 30px;
    text-align: center;
    padding: 50px;
    @media (max-width: 665px) {
        text-align: left;
    }
    @media (max-width: 665px) {
        padding: 20px;
    }
}

.outLine {
    width: 90%;
    border: 1px solid #fa407d;
    border-radius: 30px;
    padding: 10px;
    margin-top: 90px;
    @media (max-width: 1000px) {
        width: 80%;
    }
}


.soimilk {
    width: 280px;
    height: auto;
    @media (max-width: 1000px) {
        display: none;
    }
}

.point {
    border: 1px solid #fa407d;
    background-color: #fff;
    color: #703413;
    padding: 20px 40px 0 40px;
    margin-top: 40px;
    height: 230px;
    width: 80%;
    @media (max-width: 1000px) {
        font-size: 14px;
        flex-direction: column;
    }
    @media (max-width: 720px) {
        font-size: 14px;
        height: 270px;
        text-align: left;
        padding: 40px;
        width: 90%;
    }
    @media (max-width: 665px) {
        padding: 15px;
    }
    @media (max-width: 505px) {
        height: 300px;
    }
    @media (max-width: 427px) {
        height: 400px;
}
}

.pt__text {
    margin-top: 20px;
    display: block;
    font-size: 15px;
    @media (max-width: 720px) {
        font-size: 14px;
    }
}

.fresh {
    width: 300px;
    height: auto;
    /* margin-right: 50px;
    transform: translateX(30px); */
    @media (max-width: 1000px) {
        display: none;
    }
}


/* FLAVOR */
.flavor {
    background-image: url(images/full-flavor.jpg);
    background-size: cover;
    margin-top: 85px;
    padding: 180px 40px;
}

.flavor-bg {
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 40px;
    display: inline-block;
    padding: 20px 60px;
    width: 100%;
    
}

.menu {
    width: 200px;
    height: auto;
    min-width: 0;
    margin-bottom: 15px;
}

#menu {
    display: flex;
    flex-wrap: wrap;
    justify-content:center;
    @media (max-width: 500px) {
        text-align: center;
    }
}

.menuBox {
    text-align: center;
    padding: 20px;
}


/* RANKING */

#ranking {
    display: flex;
    justify-content: center;
    margin-bottom: 70px;
    @media (max-width: 500px) {
        flex-direction: column;
    }
}

.rankingLogo {
    text-align: center;
    margin: 80px 0;
}

.rank {
    color: #fa407d;
    font-family: 'Ultra', serif;
    font-size: 40px;
}


.rankingMenu {
    border: 3px solid #fa407d;
    border-radius: 30px;
    padding: 0 40px 40px 40px;
    margin: 20px;
    text-align: center;
    @media (max-width: 665px) {
        margin: 10px;
    }
    @media (max-width: 490px) {
        margin: 50px;
        padding: 4px;
    }
}

/* NEWS */
#news {
    background-color: #fbe3ee;
    padding-top: 80px;
    display: flex;
    justify-content: center;
    @media (max-width: 500px) {
        flex-direction: column;
    }
}

.news {
    text-align: center;
}
.img__outline {
    justify-content: space-between;
    border: 1px solid #fa407d;
    padding: 8px;
    margin-bottom: 20px;
}

.pink {
    color: #fa407d;
    display: inline-block;
    margin-bottom: 10px;
}

.newsBox {
    justify-content: space-between;
    padding: 30px;
    @media (max-width: 500px) {
        padding: 10px;
    }
}

.news__date {
    text-align: left;
    @media (max-width: 500px) {
        font-size: 14px;
        text-align: center;
    }
}

.news__text {
    font-size: 14px;
    display: inline-block;
    text-align: left;
    max-width: 250px;
    @media (max-width: 500px) {
        text-align: left;
    }
}

.more {
    margin-top: 10px;
    margin-bottom: 80px;
    @media (max-width: 500px) {
        text-align: center;
    }
}

/* CONTACT */

#contact {
    margin: 0 auto;
    text-align: center;
}


.contact {
    display: flex;
    justify-content: center;
}

.contact__text {
    margin-bottom: 40px;
}

.contact__dlist {
        width: 90%;
        margin: 0 auto;
    @media screen and (max-width:600px){
        width: 100%;
    }
}

.contact__dInner {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    @media screen and (max-width:850px) {
        flex-direction: column;
        margin: 20px auto;
    }
    
}


.contact__dt {
    width:25%;
    font-weight: normal;
    margin-left: 0 !important;
    font-size: 20px;
    font-weight: normal;
    margin-left: 20px;
    @media screen and (max-width:850px) {
        margin-bottom: 10px;
        width: 100%;
        text-align: left;
        padding-left: 40px;
        font-size: 18px;

}
}

.contact__dd{
    width: 70%;
    justify-content: space-between;
    font-size: 20px;
    @media screen and (max-width:850px) {
        width: 100%;
    }
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
    width:100%;
    padding: 0.2em 0.5em;
    border: 1px solid #fa407d;
    text-align: left;
    border-radius: 4px;
    margin: 0 auto;
    @media screen and (max-width:850px) {
        display: block;
        width: 80%;
    }
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
textarea:focus {
    width: 100%;
    border: 1px solid #fa407d;
    @media screen and (max-width:850px) {
        display: block;
        width: 80%;
    }
}

textarea {
    height: 160px;
}

::placeholder {
    color: #e47a9e;
    font-size: 18px;
}

.dl__inner {
    display: flex;
    flex-wrap: wrap;
    margin: 10px 0;

}

form {
    margin-bottom: 80px;
    @media screen and (max-width:850px) {
        margin: 0 auto;
    }
}


.form__btn button {
    background-color: #a2eaea;
    color: #fa407d;
    display: inline-block;
    border-radius: 4px;
    padding: 15px;
    width: 300px;
    margin-top: 30px;
    @media screen and (max-width:800px) {
        width: 50%;
    }

}


.form__btn:hover {
    opacity: .8;
}

.submit__btn:hover {
    color: #fff;
}


/*==================================================================
--footer
==================================================================*/
footer {
    font-family: 'Chakra Petch', sans-serif;
    text-align: center;
    background-color:#fa407d;
    color: #fff;
    padding: 10px 0;
    margin-top: 100px;
}
.footer-logo {
    display: block;
    text-align: left;
    margin-top: 30px;
    align-items: center;
    @media screen and (max-width:800px) {
        margin-top: 0;
    }
}

/* GNAV */
.footerNavi {
    max-width: 1200px;
    width: 94%;
    justify-content: space-between;
    @media screen and (max-width:800px) {

    }
}

.sitemap {

    margin-top: 30px;
    font-size: 24px;
    @media screen and (max-width:800px) {
        font-size: 16px;
    }
}

.sitemap__list {
    list-style-type: none;
    color: #fff;
}

.sitemap__item + .sitemap__item {
    margin-left: 1.5em;
}

.sns {
    margin-top: 18px;
    text-align: left;
    display: flex;
}

.snsIcon {
    margin-right: 1rem;
}

.copy {
    font-size: 0.625rem;
    color: #fff;
    display: block;
    margin-top: 20px;
    text-align: left;
}