@charset "UTF-8";

@import url("/common/css/default.css");
@import url("/common/css/layout_contents.css");
@import url("/common/css/navi.css");


/* -------------------------
   全体設定
------------------------- */
body {
    font-family: Meiryo, 'Hiragino Sans', sans-serif;
    color: #333;
}

.onlyPC {
    display: block;
}

.onlySP {
    display: none;
}

@media not screen and (min-width: 810px) {
    .onlyPC {
        display: none;
    }

    .onlySP {
        display: block;
    }

}

/* -------------------------
   FV（ファーストビュー）エリア
------------------------- */
#fv_Area {
  width: 100%;
  height: 100%;
  position: relative;
}

#fv_Inner {
    position: relative; /* 子要素を絶対配置するための基準 */
}

.product-images-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.product-item {
    width: 141px;
    height: 141px;
    position: absolute;
}

@media not screen and (min-width: 810px) {
    .product-item {
        max-width: unset !important;
        width: 32.86vw !important;
        height: 32.86vw !important;
    }
}

.product-item img {
    width: 100%;
    height: auto;
}

.tempura {
    top: 4%;
    left: 7%;
}

@media not screen and (min-width: 810px) {
    .tempura {
        top: 61.7vw;
        left: 15.14vw;
    }
}

.kitsune {
    top: 36%;
    left: 7%;
}

@media not screen and (min-width: 810px) {
    .kitsune {
        top: 98vw;
        left: 15.14vw;
    }
}

.curry {
    top: 68%;
    left: 7%;
}

@media not screen and (min-width: 810px) {
    .curry {
        top: 134.5vw;
        left: 15.14vw;
    }
}

#brandBox {
    width: 980px;
    margin: 13px auto 0;
    z-index: 0;
}

@media not screen and (min-width: 810px) {
    #brandBox {
        width: 100%;
        margin: 0;
    }
}

#content {
    width: 770px;
    float: left;
    margin: 0 10px 0 0;
    padding: 0 0 50px 0;
}

@media not screen and (min-width: 810px) {
    #content {
        width: 100%;
        float: none;
        margin: 0;
        padding-bottom: 20px;
    }
}

#brandInner {
    width: 770px;
    background: #F3DDB5;
    padding: 24px 20px 0;
    box-sizing: border-box;
    overflow: hidden;
}

@media not screen and (min-width: 810px) {
    #brandInner {
        width: 100%;
        padding: 24px 0 0;
        background-size: cover;
    }
}

.container {
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
}

/* -------------------------
   商品のこだわり（#sec01）
------------------------- */
.sec01-bg {
    padding: 50px 47px 24px;
    background: radial-gradient(56.57% 65.57% at 50% 50%, #FFF 0%, #FFF 64.58%, #F1DEBC 97.6%, #F3DDB5 100%);
}

@media not screen and (min-width: 810px) {
    .sec01-bg {
        padding: 40px 40px 24px;
        background: none;
    }

    .sec01-bg::before {
        content: "";
        width: 60%;
        height: 80%;
        background-color: rgba(255, 255, 255, 0.9);
        position: absolute;
        top: 47%;
        left: 50%;
        transform: translate(-50%, -50%);
        box-shadow: 0px 0px 50px 31px rgba(255, 255, 255, 1);
    }
}

@media not screen and (min-width: 810px) {
    #sec01 .inner {
        padding: 0 0 60px;
    }
}

#sec01 .feature-title {
    color: #A7480C;
}

#sec01 .feature-title span {
    color: #E6232A;
}

#sec01 .main-title {
    width: auto;
    margin: 0;
    padding: 0;
    border-bottom: none;
}

@media not screen and (min-width: 810px) {
    #sec01 .main-title {
    padding: 0 16px;
    position: relative;
    z-index: 1;
}
}

@media not screen and (min-width: 810px) {
    /* 商品のこだわり（#sec01） */
    #sec01 .product-item,
    #sec01 .product-lineup ul,
    #sec03 .productsList {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    #sec01 .feature-image {
        position: static;
        width: 80%;
        margin: 20px auto;
        display: block;
    }

    #sec01 .product-lineup ul {
        padding-left: 0;
    }

    #sec01 .product-item {
        width: 100%;
    }

    #sec01 .product-item .product-details {
        width: 100%;
        padding-left: 0;
        text-align: center;
    }
}

.section-title {
    width: auto;
}

.section-title-img {
    width: auto;
    text-align: center;
}

.product-details-item {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

@media not screen and (min-width: 810px) {
    .product-details-item {
        flex-direction: column;
    }

    .flavor-picture {
        margin: 20px 0;
    }
}

.product-details-item .product-img {
    width: 141px !important;
    flex-shrink: 0;
}

@media not screen and (min-width: 810px) {
    .product-details-item .product-img {
        margin: 0 auto;
    }
}

.product-details-item .product-img img {
    width: 100%;
    height: auto;
}

.product-name-img {
    max-width: 394px;
    height: auto;
}

..product-name-img img {
    width: 100%;
    height: auto;
}

.product-details-item .product-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-left: 24px;
    width: 100%;
    max-width: 417px;
}

.flavor-text {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.75;
}

.storage-info {
    max-width: 646px;
    margin: 0 auto 60px;
}

@media not screen and (min-width: 810px) {
    .storage-info {
        padding: 0 16px;
        margin: 0;
        position: relative;
        z-index: 1;
    }
}

.storage-info img {
    width: 100%;
    height: auto;
}

.noodle-details {
    padding: 20px 0 44px;
    display: flex;
    justify-content: center;
    position: relative;
}

.noodle-details::after {
    content: "";
    width: 656px;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: url(/assets/img/products/mochimochi/feature_line_pc.png) center center/contain no-repeat;
    z-index: 2;
}

@media not screen and (min-width: 810px) {
    .noodle-details {
        padding: 0 0 20px;
        flex-direction: column;
    }

    .noodle-details img {
        width: 100%;
        height: auto;
    }

    .noodle-details::after {
        width: 100%;
        height: 5px;
        background-image: url(/assets/img/products/mochimochi/feature_line_sp.png);
    }
}

.noodle-details .txt01{
    width: 308px;
    margin-right: 24px;
    position: relative;
    font-size: 16px;
    line-height: 1.75;
    z-index: 1;
}

@media not screen and (min-width: 810px) {
    .noodle-details .txt01{
        width: 100%;
        margin: 0 0 24px;
        font-size: 14px;
    }
}

.noodle-details .txt01::after {
    content: "";
    display: block;
    width: 162px;
    height: 253px;
    background: url("/assets/img/products/mochimochi/img01.png") center center/contain no-repeat;
    position: absolute;
    top: 47%;
    left: 42%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

@media not screen and (min-width: 810px) {
    .noodle-details .txt01::after {
        width: 126px;
        height: 167px;
    }
}

.product-lineup {
    padding: 44px 0 0;
    position: relative;
    z-index: 1;
}

.product-lineup::after {
    content: "";
    margin: 0;
    display: block;
    width: 350px;
    height: 300px;
    margin-top: 10px;
    background: url("/assets/img/products/mochimochi/img02.png") center center/contain no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

@media not screen and (min-width: 810px)  {
    .product-lineup::after {
        width: 315px;
        height: 269px;
        top: -3%;
        right: -15%;
    }
}

.product-lineup .section-title-img {
    margin-bottom: 20px !important;
    padding-bottom: 0;
}

@media not screen and (min-width: 810px) {
    .product-lineup .section-title-img {
        margin-bottom: 24px !important;
    }
}

.product-feature .section-title-img {
    position: relative;
    z-index: 2;
}

/* -------------------------
   調理方法（#sec02）
------------------------- */
@media not screen and (min-width: 810px) {
    #sec02.container {
        padding: 0 16px;
    }
}

#sec02 .section-title {
    padding-bottom: 0;
}

#sec02 .product-info-header {
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media not screen and (min-width: 810px) {
    #sec02 .product-package-img {
        width: 35%;
    }
}

#sec02 .product-info-header .secIcon {
    width: 50px;
    height: auto;
    margin-right: 15px;
}

#sec02 .product-info-header .product-name {
    font-size: 16px;
    font-weight: bold;
}

@media not screen and (min-width: 810px) {
    #sec02 .product-info-header .secIcon {
        margin: 0 0 10px;
    }
}

.making-step {
    display: flex;
    align-items: center;
}

.making-steps {
    padding: 24px 32px;
    background-color: #fff;
}

@media not screen and (min-width: 810px) {
    .making-steps {
        padding: 16px 24px !important;
    }
}

/* 区切り線のスタイル */
.making-steps li:not(:last-child) {
    padding-bottom: 16px !important;
    border-bottom: solid 1px #C1C1C1;
}

.making-steps li:not(:first-child) {
    padding-top: 8px;
}

@media not screen and (min-width: 810px) {
    .making-steps li:not(:last-child) {
        padding-bottom: 16px !important;
    }

    .making-steps li:not(:first-child) {
        padding-top: 8px !important;
    }
}

.cooking-icon {
    width: 108px;
    height: auto;
    margin-right: 24px;
}

@media not screen and (min-width: 810px) {
    .cooking-icon {
        width: 80px;
    }
}

.step-details {
    display: flex;
    align-items: center;
}

@media not screen and (min-width: 810px) {
        .step-details {
            align-items: flex-start;
        }
}

.step-number-icon {
    width: 40px;
    height: 40px;
    margin-right: 8px;
}

@media not screen and (min-width: 810px) {
    .step-number-icon {
        width: 30px;
        height: 30px;
    }
}

.step-text {
    font-size: 16px;
    line-height: 1.5;
}

.making-content {
    margin: 16px 0;
    padding: 20px 32px;
}

@media not screen and (min-width: 810px) {
    .making-content {
        padding: 12px 24px 16px !important;
        margin: 20px 0 !important;
    }
}

.making-content-tempura {
    background: #E6232D url(/assets/img/products/mochimochi/sec02_bg01_pc.png) no-repeat right top / contain;
}

@media not screen and (min-width: 810px) {
    .making-content-tempura {
        background-image: url(/assets/img/products/mochimochi/sec02_bg01_sp.png);
        background-size: 100% auto;
    }
}

.making-content-kitsune {
    background: #ED7121 url(/assets/img/products/mochimochi/sec02_bg02_pc.png) no-repeat right top / contain;
}

@media not screen and (min-width: 810px) {
    .making-content-kitsune {
        background-image: url(/assets/img/products/mochimochi/sec02_bg02_sp.png);
        background-size: 100% auto;
    }
}

.making-content-curry {
    background: #B28A09 url(/assets/img/products/mochimochi/sec02_bg03_pc.png) no-repeat right top / contain;
}

@media not screen and (min-width: 810px) {
    .making-content-curry {
        background-image: url(/assets/img/products/mochimochi/sec02_bg03_sp.png);
        background-size: 100% auto;
    }
}


.product-name-picture {
    margin-left: 24px;
}

@media not screen and (min-width: 810px) {
    .product-name-picture {
    margin-left: 13px;
}
}

/* -------------------------
   フォントスタイル太字
------------------------- */
.highlight {
    font-family: Meiryo, sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0;
    color: #8F3802;
}

/* -------------------------
   商品ラインナップ（#sec03）
------------------------- */

#sec03 .section-title {
    margin: 75px 0 0;
    padding-bottom: 0;
}

@media not screen and (min-width: 810px) {
    #sec03 .section-title {
    margin: 68px 0 0 !important;
    padding: 0 16px;
    position: relative;
    z-index: 1;
    }
}

/* ロゴ位置調整 */
img.secIcon{
    position: absolute;
    right: 100px;
    left: 25%;
    transform: translateX(-50%);
    z-index: 10;
    top: -50px;
}


/* 商品リスト全体のスタイル */
#sec03 .productsList {
    width: 100%;
    list-style: none;
    padding: 60px 30px 74px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: radial-gradient(60% 60% at 50% 50%, #FFF 0%, #FFF 64.58%, #F1DEBC 97.6%, #F3DDB5 100%);
}

@media not screen and (min-width: 810px) {
    #sec03 .productsList {
        padding-bottom: 30px;
        position: relative;
        background: none;
    }

    #sec03 .productsList::before {
        content: "";
        width: 60%;
        height: 95%;
        background-color: rgba(255, 255, 255, 0.9);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        box-shadow: 0px 0px 50px 31px rgba(255, 255, 255, 1);
    }
}

/* 各商品アイテムのスタイル */
#sec03 .productsList li {
    width: 30%; /* PCでは3列表示 */
    padding: 0 10px;
    text-align: center;
    position: relative;
    box-sizing: border-box;
    margin-bottom: 20px; /* 商品間の余白 */
}

@media not screen and (min-width: 810px) {
    [data-pagetype=brand] #content #brandInner .productsList li {
        width: 90% !important;
        margin-bottom: 48px !important;
    }

    [data-pagetype=brand] #content #brandInner .productsList li:last-child {
        margin-bottom: 0 !important;
    }
}

#sec03 .productsList li a {
    text-decoration: none;
}

/* 商品画像のスタイル */
#sec03 .productsList_package {
    width: 100%;
    height: auto;
    filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.3));
    transition: transform 0.3s ease-in-out;
}

@media not screen and (min-width: 810px) {
    #sec03 .productsList_package {
        width: 174px;
    }
}

/* 商品名のスタイル */
[data-pagetype=brand] #content #brandInner .productsList li .itemDescri h3.product-name-heading {
    width: auto;
    font-size: 20px !important;
    line-height: 1.4;
    font-weight: bold;
    color: #000;
    padding: 20px 0 0;
    text-align: center;
}

/* ボタンのスタイル */
#sec03 .productsList li .pageLinkBtn {
    width: 100%;
    color: #fff;
    padding: 13px 14px;
    border-radius: 50px; /* 角を丸くする */
    margin-top: 15px;
    box-sizing: border-box;
    transition: all 0.3s ease-in-out;
    font-size: 18px;
    font-weight: bold;
}

@media not screen and (min-width: 810px) {
    #sec03 .productsList li .pageLinkBtn {
        width: 192px;
        padding: 10px 14px;
    }
}

/* 各ボタンの色を画像に合わせて指定 */
#sec03 .productsList .pageLinkBtn {
    border: 2px solid #fff;
    box-shadow: 0px 2px 6px 0px #00000052;
}

#sec03 .productsList li:nth-child(1) .pageLinkBtn {
    background: #e60012;
}

#sec03 .productsList li:nth-child(2) .pageLinkBtn {
    background: #f8992c;
}

#sec03 .productsList li:nth-child(3) .pageLinkBtn {
    background: #b6a71e;
}

/* ホバーエフェクト */
#sec03 .productsList li:hover .productsItem {
    transform: scale(1.04, 1.04);
}
#sec03 .productsList li:hover h3 {
    color: #e60012;
    transform: scale(1.04, 1.04);
}
#sec03 .productsList li:hover .pageLinkBtn {
    opacity: 0.8; /* ホバーで少し透明にする */
}

@media not screen and (min-width: 810px) {
    #sec03 {
        padding-bottom: 48px !important;
    }

    #sec03 .productsList {
        flex-direction: column;
        align-items: center;
    }

    /* ロゴ位置調整 */
    img.secIcon{
        width: 62px;
        height: 98.16px;
        position: absolute;
        right: 100px;
        left: 15%;
        transform: translateX(-50%);
        z-index: 10;
        top: -20px;
    }
}

/* -------------------------
  localNav
------------------------- */
#localNav { float:left; width:200px; padding:0 0 50px 0; }
	#localNav img { max-width:100%; }
	#localNav ul { background:#fafafa; border-right:1px solid #d9d9d9; border-left:1px solid #d9d9d9; }
	#localNav li { text-align:center; border-bottom:1px dashed #d9d9d9; }
		#localNav li:last-child { border-bottom:1px solid #d9d9d9; }
		#localNav li .itemName { font-size:11px; line-height:1.3em; padding-top:15px; }
			#localNav li .itemName span.kakko { margin-left:-0.7em; }
		#localNav li .itemImg_wl { width:120px; height:auto; padding:8px 0 12px 0; }
		#localNav li .localNavBtn { width:102px; padding-bottom:15px; }
		#localNav ul li a { text-decoration:none; color:#4e4e4e; display:flex; flex-flow:column; align-items:center; }

		/*--ホバー設定--*/
		#localNav li:hover { cursor:pointer; }
			#localNav li:hover .itemName {
				filter:alpha(opacity=50);
    			-moz-opacity:0.5;
    			opacity:0.5; }
			#localNav li:hover img {
				filter:alpha(opacity=50);
    			-moz-opacity:0.5;
    			opacity:0.5; }

@media not screen and (min-width: 1020px) {
    #localNav {
        display: none;
    }
}
