@charset "UTF-8";
/*content820pxReset*/
/* #main{
width: 100%;
max-width: 1010px;
margin: 0 auto;
}
body.min{
min-width: 1120px;
} */
.mb90{
margin-bottom: 90px !important;
}
.mb140{
margin-bottom: 140px !important;
}
.spOnly{
display: none;
}
.sp-content {
display: none;
}
#nav01{
margin: 0;
}
#h2_001{
margin-top: 100px;
margin-bottom: 40px;
text-align: center;
}
.block-separat{
display: none;
}
/* wrap */
.osechiWrap {
width:100%;
max-width:1010px;
margin: 0 auto;
box-sizing: border-box;
margin-bottom: 30px;
}
.osechiWrap img {
vertical-align:top;
}
/* .osechiWrap h2 {
margin-top: 100px;
margin-bottom: 40px;
} */
/* reservationPeriodBlock */
.reservationPeriodBlock{
padding: 40px;
background: url(/contents/0018/img/event/osechi/osechi_bg_001_260728.jpg) no-repeat;
background-size: cover;
}
.reservationPeriodBtn{
margin-top: 30px;
text-align: center;
}
/* osechiItemBlock */
.osechiItemBlock{
padding: 20px 40px 40px;
background: url(/contents/0018/img/event/osechi/osechi_bg_002_260728.jpg) no-repeat;
background-size: cover;
}
.osechiItemBlock h2{
text-align: center;
margin-bottom: 20px;
}
.osechiItemBlock h3{
text-align: center;
margin-bottom: 20px;
}
.osechiItemBlock .osechiItemInner{
background: #fff;
}
.osechiItemBlock .osechiItemInner .col2{
display: flex;
flex-wrap: wrap;
padding: 40px;
justify-content: center;
gap:2%
}
.osechiItemBlock .osechiItemInner .purchaseBonus{
padding: 0 40px;
}
.osechiItemBlock .osechiItemInner .osechiNote{
margin-top: 20px;
padding: 0 40px;
line-height: 1.5;
font-size: 16px;
}
.osechiItemBlock .osechiItemInner .noteTxt{
margin-top: 10px;
padding: 0 40px 40px;
}
.osechiItemBlock .osechiItemInner .col2 .osechiTxt{
width: 49%;
}
.osechiItemBlock .osechiItemInner .col2 .osechiNote{
width: 49%;
margin-top: 0;
padding: 0;
}
.osechiItemBlock .osechiItemInner .col2 .osechiTitle{
font-size: 24px;
font-weight: bold;
}
.osechiItemBlock .osechiItemInner .col2 .osechiTitle span{
font-size: 20px;
font-weight: bold;
}
.osechiItemBlock .osechiItemInner .col2 .price{
margin: 20px 0;
font-size: 24px;
color: #000;
}
.osechiItemBlock .osechiItemInner .col2.item2 .osechiTxt:first-child{
border-right: 1px solid #e0e0e0;
}
/* campaignBlock */
.campaignBlock{
padding: 40px;
background: url(/contents/0018/img/event/osechi/osechi_bg_003_260728.jpg) no-repeat;
}
.campaignBlock h2{
text-align: center;
}
.campaignBlock .doubleMiles{
margin: 40px 0;
}
.campaignBlock .choosebonus{
margin-top: 40px;
display: flex;
gap: 20px;
}
.campaignBlock .campaignNote{
padding: 20px 0 0 40px;
}
.campaignBlock .choosebonus .chopsticks{
padding: 30px 23px;
background: url(/contents/0018/img/event/osechi/osechi_bg_005_260728.png) no-repeat;
background-size: contain;
}
.campaignBlock .choosebonus .chopsticks .chopsticksTtl{
margin-bottom: 20px;
}
.campaignBlock .choosebonus .chopsticks .chopsticksPeriod{
text-align: center;
}
.campaignBlock .choosebonus .chopsticks .chopsticksTxt{
margin-top: 20px;
}
.campaignBlock .choosebonus .chopsticks .chopsticksImg{
margin-top: 20px;
}
.campaignBlock .choosebonus .chopsticks .chopsticksBtn{
text-align: center;
margin-top: 21px;
}
.campaignBlock .choosebonus .coupon{
padding: 30px 32px;
background: url(/contents/0018/img/event/osechi/osechi_bg_005_260728.png) no-repeat;
background-size: contain;
}
.campaignBlock .choosebonus .coupon .couponTtl{
text-align: center;
}
.campaignBlock .choosebonus .coupon .couponOff{
margin-top: 20px;
}
.campaignBlock .choosebonus .coupon .couponBtn{
margin-top: 20px;
}
.campaignBlock .choosebonus .coupon .couponBtn button{
border: none;
background-color: initial;
position: relative;
}
.campaignBlock .choosebonus .coupon .couponBtn button p{
position: absolute;
top: 15%;
right: 25%;
color: #fff;
font-size: 1cqw;
}
.campaignBlock .choosebonus .coupon .couponPeriod{
margin-top: 30px;
}
.campaignBlock .choosebonus .coupon .couponNote{
margin-top: 40px;
}
/* navBlockA01 */
.navBlockA01 ul{
display: flex;
margin: 20px 0;
}
/* OriginalosechiCpn */
.OriginalosechiCpn{
background: #fff;
padding: 40px 50px;
}
.OriginalosechiCpn .couponBtn{
margin: 20px auto 0;
width: 392px;
}
/* Originalosechi */
.Originalosechi{
background: url(/contents/0018/img/event/osechi/osechi_bg_004_260728.jpg) no-repeat;
}
/* osechiKnowledge */
.osechiKnowledge{
background:#e9e8e8;
padding: 40px;
}
.osechiKnowledge .origin{
display: flex;
gap: 2%;
align-items: center;
background: #fff;
}
.osechiKnowledge .origin .knowledgeImg{
width: 39%;
}
.osechiKnowledge .origin .knowledgeTxt{
width: 59%;
padding: 30px 30px 30px 0;
}
.osechiKnowledge h3{
text-align: center;
font-size: 22px;
font-weight: bold;
margin-top: 40px;
margin-bottom: 10px;
}
.osechiKnowledge .source{
margin-top: 40px;
margin-bottom: 60px;
text-align: right;
}
/* bannerWrap */
.bannerWrap {
  margin: 30px auto;
}
.titleBlock-h2 {
  text-align: center;
  font-size: 32px;
  font-weight: bold;
}
.bannerList {
  margin-top: 30px;
  margin-inline: auto;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.justify-content-center .bannerList {
  justify-content: center !important;
}
.bannerWrap .bannerItem img {
  width: 100%;
}
.col3-286_286 .bannerList {
  width: 600px;
  --gap: 20px;
  gap: var(--gap);
}
.col3-286_286 .bannerItem {
  width: calc((100% / 3) - var(--gap) * 2 / 3);
}
.col4-286_286 .bannerList,.col5-286_286 .bannerList {
  max-width: 1010px;
  --gap: 20px;
  gap: var(--gap);
}
.col4-286_286 .bannerItem {
  width: calc(25% - var(--gap) * 3 / 4);
}
.col5-286_286 .bannerItem {
  width: calc(20% - var(--gap) * 4 / 5);
}
.noteBox {
  margin-top: 30px;
  margin-inline: auto;
  max-width: 1010px;
}
.noteBox .noteText {
  /* padding-left: 1em;
  text-indent: -1em; */
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.3px;
}
.noteBox.gray {
  margin-top: 30px;
  margin-inline: auto;
  padding: 1em;
  max-width: 1010px;
  background-color: #e3e5ed;
}
.noteBox.gray .noteText {
  padding-left: 1em;
  text-indent: -1em;
  letter-spacing: 0.3px;
  line-height: 1.3;
  font-size: 14px;
  font-weight: bold;
}

/* container */
.osechiWrap .container {
max-width: 960px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}

/* 各カード */
.card {
display: flex;
background-color: #ffffff;
min-height: 160px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* カード左側（画像エリア） */
.card-image-container {
width: 42%;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.card-image-container img {
max-width: 100%;
width: auto;
height: auto;
object-fit: contain;
}

/* カード右側（テキストエリア） */
.card-content {
width: 58%;
padding: 20px;
display: flex;
flex-direction: column;
justify-content: flex-start;
}

.card-title {
font-size: 1rem;
font-weight: bold;
color: #222222;
margin-bottom: 8px;
}

.card-description {
font-size: 0.825rem;
color: #555555;
line-height: 1.6;
}

/* =========================================================
一乃松エリア (4アイテムグリッド) のレイアウト・罫線調整
========================================================= */

/* フレックスボックスの設定を上書きし、隙間をなくす */
.Originalosechi .osechiItemInner .col2.item4 {
display: flex;
flex-wrap: wrap;
padding: 40px;
gap: 0; /* gapを0にして罫線を密着させる */
}

/* 各商品エリアの幅と内側の余白を設定 */
.Originalosechi .osechiItemInner .col2.item4 .osechiTxt {
width: 50%;
box-sizing: border-box;
padding: 0px 30px 40px 0px; /* アイテム内の余白（上下左右） */
}

/* 1番目 (左上)：右に点線、下に実線 */
.Originalosechi .osechiItemInner .col2.item4 .osechiTxt:nth-child(1) {
border-right: 1px solid #e0e0e0;
border-bottom: 1px solid #e0e0e0; /* 薄いグレーの実線 */
}

/* 2番目 (右上)：下に実線 */
.Originalosechi .osechiItemInner .col2.item4 .osechiTxt:nth-child(2) {
border-bottom: 1px solid #e0e0e0;
padding: 0px 0px 40px 30px;
}

/* 3番目 (左下)：右に点線 */
.Originalosechi .osechiItemInner .col2.item4 .osechiTxt:nth-child(3) {
border-right: 1px solid #e0e0e0;
padding: 40px 30px 0px 0px;
}

/* 4番目 (右下)：線なし */
.Originalosechi .osechiItemInner .col2.item4 .osechiTxt:nth-child(4) {
border: none;
padding: 40px 0px 0px 30px;
}

/* =========================================================
テキスト・価格・ボタンの微調整
========================================================= */

.Originalosechi .osechiItemInner .col2.item4 .osechiTitle {
font-size: 22px;
line-height: 1.5;
margin-bottom: 15px;
}

.Originalosechi .osechiItemInner .col2.item4 .price {
display: flex;
align-items: center;
gap: 12px;
font-size: 24px;
/* font-weight: bold; */
margin-bottom: 20px;
}

.Originalosechi .osechiItemInner .col2.item4 .price picture {
display: block;
}
.Originalosechi .osechiItemInner .col2.item4 .price img {
display: block;
height: auto;
}
/* =========================================================
   一乃松エリア（.item4）コンテンツの位置・高さ揃え
   ========================================================= */

.Originalosechi .osechiItemInner .col2.item4 .osechiTxt {
    display: flex;
    flex-direction: column;
}

.Originalosechi .osechiItemInner .col2.item4 .osechiTitle {
    font-size: 24px;
    line-height: 1.4;
    min-height: 4.2em;
    margin-bottom: 15px;
}

.Originalosechi .osechiItemInner .col2.item4 .price {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 24px;
    /* font-weight: bold; */
    white-space: nowrap;
    margin-top: auto;
    margin-bottom: 20px;
}

.Originalosechi .osechiItemInner .col2.item4 .price picture {
    flex-shrink: 0;
}

.Originalosechi .osechiItemInner .col2.item4 .price img {
    height: 34px;
    width: auto;
    display: block;
}

.Originalosechi .osechiItemInner .col2.item4 .osechiBtn {
    margin-top: 0;
}


/* =========================================================
   選べる特典エリア：背景枠からのハミ出し対策
   ========================================================= */

/* PC表示も含め、背景画像をコンテンツの高さに合わせて上下左右にフィットさせる */
.campaignBlock .choosebonus .chopsticks,
.campaignBlock .choosebonus .coupon {
    background-size: 100% 100% !important;
}

/* タブレット幅（1024px以下）での文字サイズ・余白の微調整 */
@media screen and (max-width: 1024px) {

    /* 枠の内側余白を画面幅に応じて少し詰める */
    .campaignBlock .choosebonus .chopsticks,
    .campaignBlock .choosebonus .coupon {
        box-sizing: border-box;
        padding: 4% 5% !important;
    }

    /* テキストの折り返しを減らすため、文字サイズを少し小さく調整 */
    .campaignBlock .choosebonus .chopsticks .chopsticksTxt,
    .campaignBlock .choosebonus .coupon .couponPeriod {
        font-size: 14px;
        line-height: 1.4;
    }

    .campaignBlock .choosebonus .coupon .couponNote {
        font-size: 12px;
        line-height: 1.4;
        margin-top: 15px;
    }

    /* クーポンボタン内のテキスト微調整 */
    .campaignBlock .choosebonus .coupon .couponBtn button p {
        font-size: 14px;
        top: 25%;
        right: 18%;
    }
}
/* =========================================================
   タブレット幅（1024px以下）：一乃松エリアの金額ハミ出し対策
   ========================================================= */
@media screen and (max-width: 1024px) {

    /* 1. 左右の余白を少し詰めて、テキスト表示エリアを広く確保 */
    .Originalosechi .osechiItemInner .col2.item4 .osechiTxt {
        padding: 30px 15px;
    }

    /* 2. タイトルの文字サイズを縮小（高さを3行分で再計算して揃える） */
    .Originalosechi .osechiItemInner .col2.item4 .osechiTitle {
        font-size: 16px;
        min-height: 4.2em;
    }

    /* 3. 価格部分の文字サイズを縮小し、万が一の折り返し（改行）を許可 */
    .Originalosechi .osechiItemInner .col2.item4 .price {
        font-size: 16px;
        white-space: normal; /* nowrapを解除して突き抜けを防止 */
        flex-wrap: wrap;     /* アイコンとテキストの折り返しを許可 */
        gap: 6px;            /* アイコンと金額の隙間を微調整 */
    }

    /* 4. 人数アイコンのサイズも少し小さくしてスペースを節約 */
    .Originalosechi .osechiItemInner .col2.item4 .price img {
        height: 22px;
    }
}

/* couponBlock */
.couponBlock{
display: flex;
padding: 30px;
gap: 50px;
background: url(/contents/0018/img/event/osechi/osechi_bg_006_260728.png) no-repeat;
}
.couponBlock .couponbtn{
text-align: center;
margin-top: 20px;
}
.couponBlock .couponR p{
margin-top: 30px;
}

.block-thumbnail-t--goods{
width: 231px;
}
