@charset "UTF-8";

/*
 * index.css（キャンペーンLP）
 * 構成: ベース / ヘッダー・MV / PCナビ / SPメニュー / フッター / 共通パーツ / 各セクション
 */

/*==========================================================
  ベース・レイアウト
==========================================================*/
body{font-size:15px;font-weight:400;line-height:1.466;font-family:"Noto Sans JP","游ゴシック",sans-serif;background:#E60012 url(https://img.petline-kaiseki-cp2026.com/assets/img/bg_gold.png) 50% 0 repeat;background-size:80px auto;}

#wrapper{overflow:hidden;}
#l-header,
#l-container{background:#fff;max-width:1310px;margin:0 auto;}
#l-container{padding:0 150px 150px 150px;border-radius: 0 0 30px 30px;}
@media screen and (max-width:1400px){
  #l-container{padding:0 4vw 15vw 4vw;width:93.33%;}
}
@media screen and (max-width:767px){
  #l-container{width:100%;border-radius:0;padding:0 4vw 13.333vw 4vw;}
}

/*********************************************
  HEADER
*********************************************/
#l-header{
  position:relative;
  width:93.33%;
  background-color:hsla(345, 76%, 74%, 0.7);
  background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/mv_bg_top.png),url(https://img.petline-kaiseki-cp2026.com/assets/img/bg_dots.png);
  background-repeat:no-repeat,repeat;
  background-position:0 0,0 0;
  background-size:contain,50px;
}
/* #l-header{background:url(https://img.petline-kaiseki-cp2026.com/assets/img/mv_bg_top.png) 0 0 no-repeat , url(https://img.petline-kaiseki-cp2026.com/assets/img/bg_dots.png) 0 0 repeat, url(https://img.petline-kaiseki-cp2026.com/assets/img/bg_pink.png) 0 0 repeat ;background-size:contain ,50px, 80px;position:relative;width: 93.33%;} */
#l-header::after{
  content:"";
  display:block;
  position:absolute;
  z-index:-1;
  top:min(18.98vw,205px);
  right:0;
  bottom:0;
  left:0;
  width:100%;
  opacity:.5;
  background:#fc5e87;
  mix-blend-mode:screen;
}

.mv_header{position:relative;top:0;left:0;width:100%;height:auto;box-sizing:border-box;}
.mv_header > *{z-index:2;}

.mv-logo{position:absolute;top:22px;right:8%;width: 12.6%;max-width: 126px;height: auto;}
.mv-logo img{width:auto;max-height:100%;}
.mv_main{position:relative;overflow:hidden;z-index:0;padding:0;background:transparent;}
.mv_main::before,
.mv_main::after{content:"";display:block;position:absolute;left:0;width:100%;}
.mv_main::after{height:100%;max-height:500px;bottom:0;background-image:linear-gradient(0deg,#E60012 ,transparent);opacity:.5;}
.mv_main::before{bottom:0;background-position:0 100%;background-image:linear-gradient(0deg,#E60012 ,transparent);width:100%;height:100%;max-height:500px;  /*z-index: -1;*/}
.mv_main .mv_img1,
.mv_main .mv_prize,
.mv_main .mv_note{display:block;z-index:5;position:relative;}

.mv_main .mv_img2{width:100%;position:relative;user-select: none;-webkit-touch-callout: none;}
.mv_main .mv_img2 img{max-width:inherit;width:100%;}

.mv_head_img{display:block;width:100%;}
.mv-k-logo{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  height:140px;
  margin:0 auto;
  background-color:#CE0000;
}
.mv-k-logo_txt{width:345.65px;height:34.52px;margin-right:16px;}
.mv-k-logo_img{width:116.27px;height:115.39px;}
.mv_main .notice{
  z-index:5;
  display:block;
  margin:-3.1% auto 0;
  color:#FFF;
  font-weight:400;
  font-size:18px;
  text-align:center;
}
.mv_img1{margin:-11.5% auto 0;}

.mv_note{background:url(https://img.petline-kaiseki-cp2026.com/assets/img/note-list-mark.png) no-repeat;background-size:122px;background-position:bottom left;}
.mv_note .note-list{
  z-index:5;
  width:100%;
  max-width:1020px;
  margin:30px auto 0;
  padding:0 0 7%;
  color:#FFF;
  font-size:18px;
  font-weight:700;
  line-height:1.57;
  text-align:justify;
}

.mv_date{
  width:100%;
  margin:0 auto;
  padding:5.55% 20px;
  overflow:hidden;
  text-align:center;
  background:#FFD9DB url(https://img.petline-kaiseki-cp2026.com/assets/img/mv_date_img.png) no-repeat center center;
  background-size:5.381%;
  background-position:95% 50%;
}
.mv_date img{display:block;width:100%;max-width:975px;margin:0 auto;}

@media only screen and (max-width:1310px){
  .mv_note .note-list{padding:0 5.55% 7%;}
}

@media only screen and (max-width:1400px){
  .mv_date img{width:93.33%;}
}

@media only screen and (max-width:767px){
  /* MV */
  .mv_main::before{
    bottom:0;
    max-height:114vw;
    background-position:0 100%;
    background-image:linear-gradient(0deg,#E60012 75%,transparent);
  }
  .mv_main{padding-bottom:8vw;}
  /* .mv_main::before{background:url(https://img.petline-kaiseki-cp2026.com/assets/img/mv_bg_top_sp.png) 0 0 no-repeat;background-size:contain;height:82.66vw;transform:scale(1,-1);} */
  .mv_main::after{content:none;}
  #l-header::after{
    top:inherit;
    bottom:132.46vw;
    height:99.06vw;
    background-color:transparent;
    background-image:linear-gradient(0deg,#fc5e87 75%,transparent);
    opacity:.5;
    mix-blend-mode:screen;
  }

  /* 375px 基準: vw = px / 375 × 100 */
  .mv-k-logo{height:13.3333vw;}
  .mv-k-logo_txt{width:34.6507vw;height:3.4613vw;margin-right:2.6667vw;}
  .mv-k-logo_img{width:10.6667vw;height:10.6667vw;}
  .mv_main .notice{
    z-index:5;
    display:block;
    margin:0 auto;
    padding:2.6vw 4vw 8vw;
    color:#FFF;
    font-weight:400;
    font-size:3.73vw;
    text-align:left;
  }
  .mv_img1{margin:-3% auto 0;}

  .mv_main .mv_img1::before{top:44.88vw;}

  .mv_main .note-list{
    margin:5.333vw auto 0;
    padding:0 4vw;
    font-size:4vw;
    line-height:1.5;
  }
  .mv_note{background:none;}
  .mv_date{padding:5.333vw;background:#FFD9DB;}
  .mv_date img{width:100%;max-width:100%;}
}

/* ----- MV・賞品画像: WebP フォールバック ----- */
.index .mv_main .mv_img2,
.index .mv_main .mv_img2 img,
#prize .prize_a,
#prize .prize_a img {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 0 0;
  display: block;
}
@supports (background-image: url('https://img.petline-kaiseki-cp2026.com/assets/img/bg-mv_prize.webp')) {
  .index .mv_main .mv_img2 {background-image: url(https://img.petline-kaiseki-cp2026.com/assets/img/bg-mv_prize.webp);}
  .index .mv_main .mv_img2 img{visibility: hidden;}
}
.index .mv_main .mv_img2 img {background-image: url(https://img.petline-kaiseki-cp2026.com/assets/img/bg-mv_prize.png);}
@media screen and (max-width: 767px) {
  @supports (background-image: url('https://img.petline-kaiseki-cp2026.com/assets/img/bg-mv_prize_sp.webp')) {
    .index .mv_main .mv_img2 {background-image: url(https://img.petline-kaiseki-cp2026.com/assets/img/bg-mv_prize_sp.webp);}
  }
}
@supports (background-image: url('https://img.petline-kaiseki-cp2026.com/assets/img/bg-prize_a-item.webp')) {
  #prize .prize_a {background-image: url(https://img.petline-kaiseki-cp2026.com/assets/img/bg-prize_a-item.webp);}
  #prize .prize_a {user-select: none;-webkit-touch-callout: none;}
  #prize .prize_a img{visibility: hidden;}
}
#prize .prize_a img {background-image: url(https://img.petline-kaiseki-cp2026.com/assets/img/bg-prize_a-item.png);}
@media screen and (max-width: 767px) {
  @supports (background-image: url('https://img.petline-kaiseki-cp2026.com/assets/img/bg-prize_a-item_sp.webp')) {
    #prize .prize_a {background-image: url(https://img.petline-kaiseki-cp2026.com/assets/img/bg-prize_a-item_sp.webp);}
  }
}
#prize .prize_a img, #prize .prize_a source {
    width: 100%;
}

/* NAVI */
.navi{position:relative;z-index:9997;height:auto;min-height:85px;background:#FFF;display:flex;align-items:center;justify-content:center;padding: 0 5.55%;}
ul.gnav.fixed{position:fixed;z-index:999;top:0;left:0;right:0;width:100%;animation:slideIn 1s cubic-bezier(0.25,1,0.5,1) forwards;}
@keyframes slideIn{
  0%{transform:translateY(-105%);opacity:0;}
  100%{transform:translateY(0);}
  40%,
  100%{opacity:1;}
}
.navi ul.gnav{background:#FFF;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;max-width:1000px;width:100%;box-sizing:border-box;padding:20px 0;}
@media only screen and (min-width:768px){
  .navi ul.gnav.fixed{max-width:none;width:100%;margin-left:0;margin-right:0;padding:20px max(24px,calc(50% - 500px));box-sizing:border-box;}
}
.navi ul.gnav li{position:relative;width:auto;height:auto;}
.navi ul.gnav span{position:relative;display:block;text-indent:0;line-height:1.5;grid-column:2;grid-row:1;justify-self:start;align-self:center;min-width:0;}
.navi ul.gnav a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px;row-gap:5px;width:auto;height:auto;font-size:clamp(20px,1.45vw,20px);font-weight:700;color:#111;background-repeat:no-repeat;background-size:auto;}
.navi ul.gnav a::before{content:"";grid-column:1;grid-row:1;width:34px;height:24px;background:50% 50% / contain no-repeat;}
.navi ul.gnav a::after{content:"";grid-column:1 / -1;grid-row:2;width:12px;height:8px;justify-self:center;background:50% 50% / contain no-repeat;}
.navi ul.gnav li.nav-1 a::before,
.navi ul.gnav li.nav-3 a::before{background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/spnav-icon-pink.svg);}
.navi ul.gnav li.nav-2 a::before,
.navi ul.gnav li.nav-4 a::before{background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/spnav-icon-orange.svg);}
.navi ul.gnav li.nav-5 a::before{background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/spnav-icon-contact.svg);}
.navi ul.gnav li.nav-1 a::after,
.navi ul.gnav li.nav-3 a::after,
.navi ul.gnav li.nav-5 a::after{background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/spnav-chevron-pink.svg);}
.navi ul.gnav li.nav-2 a::after,
.navi ul.gnav li.nav-4 a::after{background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/spnav-chevron-orange.svg);}

.hnbg{display:none;border:none;background:transparent;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;}
.hnbg:focus-visible{outline:2px solid #f94c76;outline-offset:3px;}

/* ----- SP: ヘッダー・ハンバーガー・ドロワーナビ ----- */
@keyframes fade{
  from{opacity:0;}
  to{opacity:1;}
}
@media only screen and (max-width:767px){
  /* 固定ヘッダー高・SP 背景 */
  #l-header{
    --sp-header-h:calc(5.3333vw + 10.6667vw + 1.3333vw);
    width:100%;
    background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/mv_bg_top_sp.png);
    background-size:cover;
  }
  .mv_header{
    position:fixed;
    z-index:9999;
    height:auto;
    min-height:var(--sp-header-h);
    box-sizing:border-box;
    overflow:visible;
    transition:background-color 0.2s ease;
  }
  #wrapper.open .mv_header{background:#fff;}
  .mv_header > *{z-index:9999;}
  .hnbg{display:flex;align-items:center;position:absolute;top:5.3333vw;right:5.3333vw;left:auto;}
  .hnbg__icon{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.3333vw;width:10.6667vw;height:10.6667vw;padding:0 2.6667vw;box-sizing:border-box;background:#fff;border-radius:0.8vw;box-shadow:0 0.5333vw 1.6vw rgba(0,0,0,0.12);transition:box-shadow 0.2s ease;}
  .hnbg__bar{display:block;height:0.5333vw;border-radius:1.3333vw;background:#f94c76;transition:transform 0.3s ease,opacity 0.2s ease,width 0.3s ease;}
  .hnbg__bar:nth-child(1){width:5.3333vw;}
  .hnbg__bar:nth-child(2){width:4.8vw;}
  .hnbg__bar:nth-child(3){width:4vw;}
  .open .hnbg__icon{align-items:center;justify-content:center;padding:0;position:relative;}
  .open .hnbg__bar:nth-child(1){position:absolute;width:5.3333vw;transform:rotate(45deg);}
  .open .hnbg__bar:nth-child(2){opacity:0;width:5.3333vw;}
  .open .hnbg__bar:nth-child(3){position:absolute;width:5.3333vw;transform:rotate(-45deg);}
  .mv-logo{top:3.2vw;left:5.3333vw;right:auto;width:13.3333vw;height:auto;}
  .navi{transition-duration:0s;animation:fade .2s linear forwards;display:none;}
  .navi ul.gnav{opacity:0;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;max-width:100%;width:100%;gap:0;border-top:none;padding:0 13.3333vw;margin:0 auto;background-color:transparent;box-sizing:border-box;}
  .navi ul.gnav li{width:100%!important;height:auto;min-height:0;padding:0;border-bottom:none;}
  .navi ul.gnav li + li{position:relative;border-top:none;}
  .navi ul.gnav li + li::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:0.2667vw;
    pointer-events:none;
    background:repeating-linear-gradient(
      to right,
      #D7D7D7 0,
      #D7D7D7 1.0667vw,
      transparent 1.0667vw,
      transparent 1.8667vw
    );
  }
  .navi ul.gnav span{min-width:0;text-align:left;font-size:4.8vw;line-height:6.6667vw;font-weight:700;flex:1 1 auto;}
  .navi ul.gnav a{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;column-gap:3.2vw;row-gap:0;width:100%;height:auto;min-height:14.9333vw;padding:3.7333vw 1.0667vw 3.7333vw 0;text-align:left;font-size:4.8vw;font-weight:700;color:#111;box-sizing:border-box;}
  .navi ul.gnav a::before{content:"";width:8vw;height:6.4vw;background:50% 50% / contain no-repeat;}
  .navi ul.gnav a::after{content:"";width:3.2vw;height:2.133vw;margin-left:auto;background:50% 50% / contain no-repeat;transform:rotate(-90deg);}
  .open .navi{position:fixed;top:var(--sp-header-h);left:0;right:0;z-index:9998;max-width:100%;width:100%;padding:0 0 4.467vw;background:#fff;box-sizing:border-box;height:auto;-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:auto;display:block;opacity:1;border-radius:0 0 5.3333vw 5.3333vw;transition:opacity 0.25s ease,box-shadow 0.25s ease;}
  .open .navi ul.gnav{opacity:1;display:flex;animation:fade 0.25s ease forwards;}
  .open .navi ul.gnav.fixed{position:relative;width:auto;}
}

/*********************************************
  FOOTER
*********************************************/
#l-footer{background:#E60012;text-align:center;padding:30px 0 30px;margin:150px auto 0;}
#l-footer .logo{width:200px;margin:0 auto 10px;}
#l-footer .copy{font-size:14px;font-weight:700;color:#FFF;}
@media only screen and (max-width:767px){
  #l-footer{padding:8vw 0 30vw;margin:0 auto 0;}
  #l-footer .copy{font-size:3.7333vw;}
}

#js-fixedarea{
  position:fixed;
  right:0;
  bottom:0;
  z-index:10000;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity 0.35s ease, visibility 0.35s ease, transform 0.35s ease, box-shadow 0.2s ease;
}
#js-fixedarea.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
/* ページ先頭へ */
.pagetop{position:fixed;right:20px;bottom:20px;z-index:10000;display:flex;align-items:center;justify-content:center;width:70px;height:70px;border-radius:10px;background:#fff;box-shadow:0 4px 12px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.06);}
.pagetop__icon{display:block;width:28px;height:auto;flex-shrink:0;transform:rotate(180deg);}
/* 固定ボタン */
.fixed_btn{position:fixed;right:0;bottom:110px;z-index:10000;width:135px;height:120px;}
.fixed_btn img{width:100%;height:100%;object-fit:contain;}
@media (prefers-reduced-motion:reduce){
  .pagetop{transition:opacity 0.2s ease, visibility 0.2s ease;}
}
@media only screen and (max-width:767px){
  #js-fixedarea{bottom:0;width:100vw;}
  /* fixed_btn_sp(75/518) の表示高＋セーフエリア＋隙間 — iOS で CTA に被さらないよう bottom を算出 */
  .pagetop{
    right:5.333vw;
    left:auto;
    width:8vw;
    height:8vw;
    border-radius:1.333vw;
    bottom:calc(env(safe-area-inset-bottom, 0px) + (75 * (100vw - 10.666vw) / 518) + 2.133vw);
  }
  .pagetop__icon{width:3.2vw;}
  /* vw＋中央寄せ。セーフエリアは padding ではなく ::after（iOS で下端だけ全幅に化けるのを防ぐ） */
  .fixed_btn{
    right:auto;
    left:50%;
    bottom:0;
    width:calc(100vw - 10.666vw);
    height:auto;
    padding:0;
    border-radius:5.333vw 5.333vw 0 0;
    background-color:#F94C76;
    transform:translate3d(-50%,0,0);
    box-sizing:border-box;
  }
  .fixed_btn::after{content:"";display:block;width:100%;height:constant(safe-area-inset-bottom);height:env(safe-area-inset-bottom, 0px);background-color:#F94C76;}
  .fixed_btn a{display:block;}
  .fixed_btn img{width:100%;height:auto;display:block;margin:0 auto;}
}

/*********************************************
  CONTAINER（共通コンポーネント）
*********************************************/
/* section */
.section{margin:12% auto 0;position:relative;z-index:0;}
.section-header{text-align:center;position:relative;margin-bottom:min(4.62vw,50px);}
.section-title{display:block;position:relative;font-size:40px;font-weight:700;color:#F94C76;background-color:#FFD2DD;border-radius:50px;margin:0 auto;padding:5px 0 10px;}
#dogfood_content .section-title{color:#EA5514;background-color:#FFD1BD;}
.section-title.lineup-title{margin-bottom:40px;margin-bottom:4%;font-size:30px;padding: 20px 0 20px;}
.section-title.lineup-title::after{content:none;}
.section-title.orange{color:#EA5514;background-color:#FFDFD1;}
.section-title::after{content:"";display:block;position:absolute;border-style:solid;border-right:15px solid transparent;border-left:15px solid transparent;border-top:15px solid #FFD2DD;border-bottom:0;left:50%;margin-left:-15px;bottom:-14px;}
.section-title.orange::after{border-top:15px solid #FFDFD1;}
.section-title2{font-size:20px;font-weight:700;color:#EA5514;background-color:#FFF4F0FF;border-radius:50px;display:block;margin:0 auto;padding:15px 0 15px 0;text-align:center;}
.section-contents{padding:0;font-size:18px;font-weight:400;line-height:166.667%;}
.section-contents + .section-contents{margin-top:40px;}
@media only screen and (max-width:767px){
  .section{margin:13.333vw auto 0;}
  .section-header{margin-bottom:5.333vw;}
  .section-title{font-size:5.333vw;padding: 2.66vw 0;}
  .section-title.lineup-title{margin-bottom:5.333vw;font-size:4.8vw;margin-top: 6vw;padding: 2.66vw 0;}
  .section-title2{font-size:4.8vw;margin-bottom:5.3333vw;}
  .section-title2::before{border-top-width:1px;}
  .section-contents{padding:2.66vw 0;font-size:4.533vw;line-height:1.5;text-align:left;}
}

/* sub section */
.sub-section:not(:first-child){margin-top:40px;}
.sub-section > .ttl{color:#000;font-size:18px;font-weight:700;letter-spacing:.05em;border-bottom:1px solid #FF8DA8;position:relative;padding-left:40px;padding-bottom:10px;margin-bottom:10px;}
.sub-section > .ttl::before{content:"";display:block;position:absolute;left:0;top:.1em;width:1.7em;height:1.4em;background:url(https://img.petline-kaiseki-cp2026.com/assets/img/subttl-mark.svg) 0 0 no-repeat;background-size:contain;}

/* box section */
.box-section{border:3px solid #FF8DA8;margin:40px auto 60px;border-radius:30px;overflow:hidden;}
.box-section > .box-ttl{background-color:#FFDDE5;color:#F94C76;text-align:center;font-size:20px;letter-spacing:.05em;font-weight:700;padding:15px 0;}
.box-section .box-body{padding:30px;background-color:#fff;}
@media only screen and (max-width:767px){
  .sub-section:not(:first-child){margin-top:5.3333vw;}
  .sub-section > .ttl{font-size:4.8vw;letter-spacing:0;padding-left:10.666vw;padding-bottom:2.666vw;margin-bottom:2.666vw;}
  .sub-section > .ttl::before{top:0;width:8vw;height:100%;}

  .box-section > .box-ttl{font-size:4.8vw;padding:2.666vw 2.666vw;}
  .box-section .box-body{padding:5.333vw 4vw;}
}

/* btn */
p.btn{min-width:370px;max-width:100%;width:fit-content;margin:40px auto 20px;}
p.btn span,
p.btn a{display:block;background:#5E9CE5;font-size:22px;color:#fff;text-align:center;position:relative;border-radius:1.36em;padding:.55em 1.86em .75em;font-weight:700;box-shadow:5px 10px 0 rgba(94,156,229,0.5);}
p.btn a::after{content:"";display:inline-block;width:0;height:0;border-color:transparent transparent transparent currentColor;border-width:.325em .6em;border-style:solid;margin-left:.25em;margin-right:-.85em;}
p.btn-w{min-width:400px;max-width:100%;width:fit-content;margin:50px auto 0;}
p.btn-w a{display:block;background:#fff;font-size:32px;color:#DA1F00;text-align:center;position:relative;border-radius:1.25em;padding:.5em 1.86em .55em;letter-spacing:.05em;font-weight:700;box-shadow:5px 10px 0 #A87E21;}
@media only screen and (max-width:767px){
  p.btn{min-width:280px;}
  p.btn span,
  p.btn a{font-size:16px;line-height:1.25;border-radius:1.875em;min-height:3.75em;box-shadow:4px 6px 0 rgba(94,156,229,0.5);display:flex;align-items:center;justify-content:center;}
  p.btn a::after{position:absolute;top:50%;right:20px;margin-top:-.3em;}
  p.btn-w{min-width:280px;margin:30px auto;}
  p.btn-w a{font-size:18px;line-height:1.25;border-radius:1.875em;min-height:3.75em;box-shadow:4px 6px 0 #A87E21;display:flex;align-items:center;justify-content:center;}
}

/* txt */
p.txt:not(:last-child){margin-bottom:1em;}
p.txt.date + .date{margin-top:-1em;}
.bold{font-weight:bold;}
.note{text-indent:-1em;margin-left:1em;}
.t-center{text-align:center;}
.t-red{color:#f00;}

/* list */
ul.list li{text-indent:-1.05em;padding-left:1.05em;}
ul.list li::before{content:"・";}
ul.list li.nomark{text-indent:0;padding-left:0;}
ul.list li.nomark::before{content:none;}

/* disc list */
ul.disc-list li{margin-left:2em;letter-spacing:.05em;list-style-type:disc;}

/* note list */
ul.note-list{margin:1em 0;}
ul.note-list li{text-indent:-1.05em;padding-left:1.05em;}

/* dl */
dl.dl{letter-spacing:.05em;}
dl.dl:not(:last-child){margin-bottom:1.5em;}
dl.dl dt{font-weight:700;}
dl.dl dd{font-weight:400;}
dl.mark-dl{padding-left:1em;letter-spacing:.05em;}
dl.mark-dl:not(:last-child){margin-bottom:2em;}
dl.mark-dl dt{margin-left:-1em;font-weight:700;}
dl.mark-dl dt .note{font-weight:400;text-indent:0;margin-left:0;}
.text-pc{display:block!important;}
.text-sp{display:none!important;}
@media only screen and (max-width:767px){
  .text-pc{display:none!important;}
  .text-sp{display:block!important;}
}

/*********************************************
  PRIZE
*********************************************/
#prize{z-index:0;overflow:hidden;}
#prize .section-contents{margin-left:auto;margin-right:auto;position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;}
#prize .section-contents picture:last-of-type{margin-top: 5%;}
@media only screen and (max-width:767px){
  #prize .section-contents picture:last-of-type{margin-top: 8vw;}
}

/*********************************************
  SUBJECT
*********************************************/
#subject .note-list{margin-bottom:45px;}
#subject .card-ttl{margin-bottom:40px;}
#subject .pink-card .card-ttl img{max-height:70px;}
#subject .blue-card .card-ttl img{max-height:75px;}
@media only screen and (max-width:767px){
  #subject{background-repeat:repeat-y;}
  #subject .note-list,
  #subject .txt{font-size:16px;line-height:1.375;margin-bottom:25px;}
  #subject .card .card-ttl{padding:25px;margin-bottom:20px;}
  #subject .card .card-ttl img{max-height:54px;}
  #subject .lineup-list{margin:0;margin-bottom:0px;margin-bottom:-4.31%;column-gap:3.88%;grid-template-columns:auto;display:flex;flex-wrap:wrap;justify-content: left;}
}

/*タブ切り替え全体のスタイル*/
.lineup-tabs{width:100%;margin:0 auto;text-align:center;}

/*タブのスタイル*/
.lineup-tabs .tab-nav{position:relative;text-align:center;display:flex;justify-content:center;}
.lineup-tabs .tab_item{
  width:calc(100% / 2 - 20px);
  height:80px;
  border-radius:30px 30px 0 0;
  background-color:transparent;
  display:inline-block;
  align-content:center;
  text-align:center;
  transition:all 0.2s ease;
  cursor:pointer;
  z-index:1;
  color:#fff;
  /* 一行のまま、幅に応じて 12px〜30px（Figma PC 30px 上限） */
  font-size:clamp(12px, 3.2vw, 30px);
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  box-sizing:border-box;
}
.lineup-tabs .tab_item:hover{opacity:0.75;}

/*ラジオボタンを全て消す*/
.lineup-tabs input[name="tab_item"]{display:none;}

/*タブ切り替えの中身のスタイル*/
.lineup-tabs .tab_content{display:none;padding:6% 4.5% 12%;clear:both; border-radius:30px;margin-top:-3px;background-position:-10px -20px;background-size:80px auto;position:relative;}
.lineup-tabs .tab_content#catfood_content{background-color:#FFEFF3;border:10px solid #FF8DA8;}
.lineup-tabs .tab_content#dogfood_content{border:10px solid #FF9566;background:#FFEBE2;}
@media only screen and (max-width:767px){
  .lineup-tabs .tab_content{border-radius:4vw;padding: 6% 4.5% 25%;}
  .lineup-tabs .tab_content#catfood_content{border:0.8vw solid #FF8DA8;}
  .lineup-tabs .tab_content#dogfood_content{border:0.8vw solid #FF9566;}
}

/*選択されているタブのコンテンツのみを表示*/
#catfood:checked ~ #catfood_content,
#dogfood:checked ~ #dogfood_content{display:block;}

/*選択されているタブのスタイルを変える*/
.lineup-tabs input:checked + .tab_item{border-bottom:0 none;position:relative;}

.lineup-tabs input#catfood:checked + .tab_item{background-color:#FF8DA8;}
.lineup-tabs input#catfood + .tab_item{background-color: #FF8DA8;}
.lineup-tabs input#dogfood:checked + .tab_item{background-color:#FF9566;}
.lineup-tabs input#dogfood + .tab_item{background-color: #FF9566;}

.lineup-section{position: relative;}
.lineup-section + .lineup-section{margin-top:13%;}
.tab_content_ttl{margin-bottom:4%;}
.tab_content_ttl.ttl_img:nth-of-type(1){width:71%;aspect-ratio:632.85 / 55.72;height:auto;display: block;margin-left:auto;margin-right:auto;}
.tab_content_ttl.ttl_img:nth-of-type(2){width:56%;aspect-ratio:502.66 / 54.48;height:auto;display: block;margin-top:13%;margin-left:auto;margin-right:auto;}
#dogfood_content .tab_content_ttl.ttl_img:nth-of-type(1){width:47.3%;aspect-ratio:425 / 57.27;height:auto;display: block;margin-left:auto;margin-right:auto;}
#dogfood_content .half-wetfood .tab_content_ttl.ttl_img{width:25.5%;aspect-ratio:229 / 58;height:auto;display: block;margin-left:auto;margin-right:auto;}

.tab_content_ttl img{width:100%;max-width:inherit;}
.lineup-wrap{
  position:relative;
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  width:100%;
  margin-left:auto;
  margin-right:auto;
  column-gap:36px;
}
.lineup-wrap + .lineup-wrap{margin-top:5.8%;}
/* 文字サイズ: clamp(最小, 可変, 最大) */
.lineup-ttl{
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  align-self:center;
  width:18%;
  height:auto!important;
  flex-shrink:0;
  padding:10px;
  border-radius:50%;
  box-sizing:border-box;
  font-size:clamp(12px,1.4vw,20px);
  font-weight:bold;
  line-height:1.2;
  color:#F94C76;
  background:#FFF;
  aspect-ratio:1 / 1;
}

#catfood_content .dryfood .lineup-wrap .lineup-list{display:grid;grid-template-columns:repeat(5,1fr);gap:40px;margin:0 auto;margin-bottom:-15px;z-index:0;}
#catfood_content .dryfood .lineup-wrap .lineup-list li{ max-width:125px;}
#catfood_content  .oyatsu .lineup-wrap .lineup-list {display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:-15px;position:relative;z-index:0;}
#catfood_content  .oyatsu .lineup-wrap .lineup-list li{ max-width: 125px;}

#dogfood_content .lineup-wrap .lineup-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;width:auto;margin:0 auto;margin-bottom: -40px;}
#dogfood_content .half-wetfood .lineup-wrap .lineup-list{grid-template-columns:repeat(4,1fr);gap:40px;width:auto;margin:0 auto;margin-bottom: -40px;}
#dogfood_content .lineup-wrap .lineup-list li{ max-width:125px;margin-bottom:0;}

.wetfood .lineup-list{display:flex;flex-wrap:wrap;justify-content:center;gap:40px;margin-left:auto;margin-right:auto;margin-bottom:-15px;position:relative;z-index:0;}
.wetfood .lineup-list li{max-width:125px;text-align:center;margin-bottom:4%;order:0;}

.wetfood-img{max-width:780px;width:100%;}
.lineup-list .caption{display:none;}
.lineup-txt{max-width:693px;margin:5.8% auto;}
.lineup-img{margin:0 auto;}

@media only screen and (max-width:767px){
  .lineup-tabs .tab_item{width: calc(100% / 2 - 4vw);border-radius:4vw 4vw 0 0; padding: 4vw 0; height:auto;font-size:4vw;}
  #catfood_content  .tab_content_ttl.ttl_img:nth-of-type(1){width:81.674vw;aspect-ratio:auto;height:auto;display: block;margin-top:0;margin-bottom:8vw;}
  #catfood_content  .tab_content_ttl.ttl_img:nth-of-type(2){width:82.650vw;aspect-ratio:auto;height:auto;display: block;margin-top:13.33vw;margin-bottom:8vw;}

  #dogfood_content  .tab_content_ttl.ttl_img:nth-of-type(1){width:65.592vw;aspect-ratio:auto;height:auto;display: block;margin-top:0;margin-bottom:5.333vw;}
  #dogfood_content .half-wetfood .tab_content_ttl.ttl_img{width:43.304vw;aspect-ratio:auto;height:auto;display: block;margin-top:0;margin-bottom:5.333vw;}
  .tab_content_ttl img{max-height: inherit; width: 100%; display: block;}

  #catfood_content .dryfood .lineup-wrap .lineup-list{grid-template-columns:repeat(2,1fr);gap:5.3333vw;margin-bottom:0;padding: 0 5%;}
  #catfood_content .dryfood .lineup-wrap .lineup-list li{width: 100%;max-width: 100%; }
  #catfood_content  .oyatsu .lineup-wrap .lineup-list {grid-template-columns:repeat(2,1fr);gap:5.3333vw;margin-bottom:0;padding: 0 5%;}
  #catfood_content  .oyatsu .lineup-wrap .lineup-list li{width: 100%;max-width: 100%; }
  .lineup-ttl{width:100%;padding: 1.5vw 0; font-size: 4.8vw;margin-bottom: 5.333vw;aspect-ratio: auto;border-radius: 20vw;}
  #subject .lineup-list{display: grid;justify-content: left;grid-template-columns: repeat(2,1fr);gap: 5.3333vw;margin: 0 auto;padding: 0 5%;}
  .wetfood .lineup-list li{max-width:100%;text-align:left;margin-bottom:0;width: 100%;max-width: 100%;}
  
  #dogfood_content .lineup-wrap .lineup-list{grid-template-columns: repeat(2,1fr); gap: 5.3333vw;margin-bottom: 0;}
  #dogfood_content .lineup-wrap .lineup-list li{width: 100%;max-width: 100%;}
  #dogfood_content .half-wetfood .lineup-wrap .lineup-list{grid-template-columns: repeat(2,1fr); gap: 5.3333vw;margin-bottom: 0;}
  
  .lineup-wrap + .lineup-wrap{margin-top:2.333vw;}
  .lineup-wrap{flex-direction:column;align-items:center;}
  
  .lineup-wrap .lineup-list{width:100%;justify-content:center;}
  .lineup-wrap .lineup-list li{width:45.86%;max-width: 100%;}
  .lineup-list{column-gap:8.28%;}
  .lineup-list li{width:45.86%;margin-bottom:8.62%;}
  .card .lineup-list::before,
  .card .lineup-list::after{content:none;}

  .lineup-tabs .tab_item:hover{opacity:1;}
}

/*********************************************
  SUBJECT: ラインナップ装飾・CTA
*********************************************/
.lineup-section.wetfood .tab_content_ttl{color:#F94C76;text-align:center;font-size:30px;font-weight:700;height:auto;margin-top:0;margin-bottom:4%;}
.lineup-section.wetfood .tab_content_ttl:last-of-type{margin-top:6%;position: relative;line-height: 1.2;}
.section-title.lineup-title::before{content:"";display:block;position:absolute;background-repeat:no-repeat;background-size:contain;background-position:0 0;z-index:1;}
.lineup-section.wetfood::after,
.lineup-section.half-wetfood::after{
  content:"";
  display:block;
  position:absolute;
  z-index:1;
  background-repeat:no-repeat;
  background-size:contain;
  background-position:0 0;
}
.lineup-section:nth-of-type(1) .section-title.lineup-title::before{background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/lineup-cat-01.png);width:9.8%;aspect-ratio:94 / 111;left:4.16%;top:0;transform:translateY(-80%);}
.lineup-section:nth-of-type(2) .section-title.lineup-title::before{background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/lineup-cat-02.png);width:16.8%;aspect-ratio:161 / 124;padding-top:0;right:4.16%;bottom:0;transform:translateY(0%);}
.lineup-section:nth-of-type(3) .section-title.lineup-title::before{background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/lineup-cat-03.png);width:24.6%;aspect-ratio:236 / 110;padding-top:0;left:0;bottom:0;transform:translateY(10%);}
.lineup-section.wetfood::after{background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/lineup-cat-04.png);width:19.4%;aspect-ratio:186 / 145;padding-top:0;right:0;bottom:0;transform:translateY(120%);}

#dogfood_content .lineup-section:nth-of-type(1) .section-title.lineup-title::before{background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/lineup-dog-01.png);width:18.2%;aspect-ratio:175 / 168;right: 0;left: auto;bottom:0;transform:translateY(-53%);}
#dogfood_content .lineup-section:nth-of-type(2) .section-title.lineup-title::before{background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/lineup-dog-02.png);width:16.8%;aspect-ratio:161 / 168;padding-top:0;right:auto;left:0;bottom:0;transform:translateY(0%);}
#dogfood_content .lineup-section.half-wetfood::after{background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/lineup-dog-03.png);width:14.9%;aspect-ratio:143 / 180;padding-top:0;right:-4%;bottom:0;transform:translateY(95%);}

/* 懐石logo */
#catfood_content .lineup-section::before ,
#catfood_content .lineup-section.dryfood .lineup-wrap:nth-of-type(1)::before,
#catfood_content .lineup-section.dryfood .lineup-wrap:nth-of-type(2)::before,
#catfood_content .lineup-section.oyatsu .lineup-wrap:nth-of-type(2)::before,
#catfood_content .lineup-section.wetfood .tab_content_ttl:nth-of-type(2)::before
{content:"";display:block;position:absolute;background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/cat-kaiseki_logo.png);background-repeat:no-repeat;background-size:contain;background-position:0 0;z-index:0;}

#catfood_content .lineup-section.dryfood .lineup-wrap:nth-of-type(1)::before{width:100%;max-width:185px;aspect-ratio:185 / 185;padding-top:0;right:12%;bottom:0;transform:translateY(0%);}
#catfood_content .lineup-section.dryfood .lineup-wrap:nth-of-type(2)::before{width:100%;max-width:170px;aspect-ratio:170 / 170;padding-top:0;right:0%;bottom:0;transform:translateY(0%);}
#catfood_content .lineup-section.oyatsu .lineup-wrap:nth-of-type(2)::before{width:100%;max-width:170px;aspect-ratio:170 / 170;padding-top:0;right:0%;bottom:0;transform:translateY(0%);}
#catfood_content .lineup-section.wetfood .tab_content_ttl:nth-of-type(2)::before{width:100%;max-width:170px;aspect-ratio:170 / 170;padding-top:0;right:5%;top:0;transform:translateY(-35%);}

#dogfood_content .lineup-section::before{content:"";display:block;position:absolute;background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/dog-kaiseki_logo.png);background-repeat:no-repeat;background-size:contain;background-position:0 0;z-index:0;}
#dogfood_content .lineup-section:nth-of-type(1)::before{width:100%;max-width:170px;aspect-ratio:170 / 170;padding-top:0;right:0;top:0;transform:translateY(130%);}
#dogfood_content .lineup-section:nth-of-type(2)::before{width:100%;max-width:224px;aspect-ratio:224 / 224;padding-top:0;right:0;top:0;transform:translateY(40%);}

@media only screen and (max-width:767px){
  .lineup-section:nth-of-type(1) .section-title.lineup-title::before{width: 16vw;left: 7.16%;transform: inherit;top: -3vw;}
  .lineup-section:nth-of-type(2) .section-title.lineup-title::before{width: 28vw;right: 0;}
  .lineup-section:nth-of-type(3) .section-title.lineup-title::before{width: 32vw;transform: translateY(57%);left: -6%;}
  .lineup-section.wetfood::after{width: 39.4%;}
  
  .lineup-section.wetfood .tab_content_ttl{font-size:4.8vw;}
  #catfood_content .lineup-section.dryfood .lineup-wrap:nth-of-type(1)::before{max-width:34.933vw;aspect-ratio:110 / 110;right:5%;transform:translateY(-40%);}
  #catfood_content .lineup-section.dryfood .lineup-wrap:nth-of-type(2)::before{max-width:34.933vw;aspect-ratio:110 / 110;right:5%;transform:translateY(-40%);}
  #catfood_content .lineup-section.oyatsu .lineup-wrap:nth-of-type(2)::before{content: none;}
  #catfood_content .lineup-section.wetfood .tab_content_ttl:nth-of-type(2)::before{display: none;}

  #dogfood_content .lineup-section:nth-of-type(1) .section-title.lineup-title::before{width: 24.53vw;transform:translateY(0);}
  #dogfood_content .lineup-section:nth-of-type(2) .section-title.lineup-title::before{display: none;}
  #dogfood_content .lineup-section.half-wetfood::after{width: 34.9%;right: -25%;transform: translateY(82%);}
  #dogfood_content .lineup-section:nth-of-type(1)::before ,
  #dogfood_content .lineup-section:nth-of-type(2)::before {content: none;}
}


/*********************************************
  ENTRY ESSENTIALS
*********************************************/
.prize-note dd{margin-top:1em;}
#entry-essentials .sub-section > .note.t-red{font-weight:700;letter-spacing:.05em;}
#entry-essentials .btn{min-width:452px;}
#entry-essentials .btn a{background-color:transparent;box-shadow:none;padding:0;border-radius:0;display:block;box-sizing:border-box;height:0;padding-top:18.66%;position:relative;text-indent:-9999em;overflow:hidden;background-repeat:no-repeat;background-size:contain;background-position:top center;background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/btn-post.png);}
#entry-essentials .btn a::after{content:none;}
@media only screen and (max-width:767px){
  #entry-essentials .btn{min-width:0;width:100%;}
}

.btn-box .btn{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:42%;
  height:60px;
  margin:0 auto;
  padding:15px 0;
  border-radius:30px;
  background:#EA5514;
  color:#FFF;
  font-size:18px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:0;
  text-align:center;
}

.btn-box .btn.large{
  max-width:900px;
  font-size:25px;
  box-shadow:7px 7px 0 0 rgba(255,149,102,.3);
}

.button-group{
  display:flex;
  justify-content:center;
  /*max-width:770px;*/
  margin:60px auto 0;
}

.btn-box .btn.medium{max-width:46%;}

.btn-box .txt{
  margin:0 auto;
  font-size:18px;
  font-weight:400;
  line-height:166.667%;
  text-align:center;
}

.btn-box .btn::after{
  content:"";
  position:absolute;
  top:53%;
  right:20px;
  width:12px;
  height:100%;
  transform:translateY(-50%);
  background-image:url(https://img.petline-kaiseki-cp2026.com/assets/img/spnav-chevron-white.svg);
  background-repeat:no-repeat;
  background-position:center;
  background-size:auto;
}

@media only screen and (max-width:767px){
  .btn-box .btn{
    max-width:66.666%;
    height:13.333vw;
    padding:0;
    border-radius:12vw;
    font-size:4.8vw;
  }
  .btn-box .btn::after{
    right:5.333vw;
    width:2.733vw;
    background-size:contain;
  }
  .btn-box .btn.medium{max-width:100%;}
  .btn-box .btn.large{max-width:100%;font-size:4.8vw;}
  .button-group{display:block;margin:0 auto;}
  .btn-box .txt{margin-bottom:10vw !important;font-size:4.8vw;}
  .button-group .btn:nth-of-type(2){margin:13.333vw auto 0;}
}

/*********************************************
  ENTRY METHOD
*********************************************/
.step-wrap{display:flex;column-gap:4.5%;margin:30px auto 0;}
.step-item{width:30.33%;position:relative;}
.step-item:not(:last-child)::before{
  content:"";
  display:block;
  width:20px;
  height:22px;
  box-sizing:border-box;
  position:absolute;
  left:100%;
  top:30%;
  margin-left:10px;
  transform:translateY(100%);
  background:url(https://img.petline-kaiseki-cp2026.com/assets/img/step-flow-arrow.svg) no-repeat 50% 50% / 100% 100%;
}
.step-item .note{text-align:justify;}
.step-item:nth-child(2) .note{font-feature-settings:"palt";}
.step-head{text-align:center;font-size:20px;font-weight:700;}
.step-num{position:relative;border:2px solid #EA5514;color:#EA5514;display:block;border-radius:2em;margin-bottom:1em;font-size:1em;padding:3px 0;}
.step-num::before{content:"";position:absolute;top:10px;left:10px;width:100%;height:100%;background-color:#FFF4F0FF;border-radius:100vh;z-index:-1;}
.step-num .big{font-size:2.5em;font-family: "Noto Sans", sans-serif;font-weight:700;line-height:1;}
.step-ttl{letter-spacing:.1em;line-height:1.3;display:block;margin-bottom: 2em;}
.step-txt{margin-top:30px;font-size:16px;letter-spacing:.1em;text-align:center;font-weight:500;line-height:1.625;min-height:6.5em;margin-bottom:1em;}
.r_border-box{border:3px solid #A87E21;border-radius:30px;padding:40px;margin:40px auto;box-shadow:10px 10px 0px 0px rgba(227,215,189,1);}
.r_border-box .ttl{text-align:center;font-weight:700;color:#A87E21;font-size:26px;letter-spacing:.05em;margin-bottom:.5em;}
.r_border-box .list li{border-bottom:1px solid #D1BD91;padding-top:.75em;padding-bottom:.75em;}
.r_border-box .list li:last-child{border-bottom:none;}
.r_border-box .list li::before{content:"・";}
@media only screen and (max-width:767px){
  .step-wrap{flex-direction:column;}
  .step-item{width:100%;max-width:inherit;}
  .step-item + .step-item{margin-top:16vw;}
  .step-item:not(:last-child)::before{
    top:100%;
    left:50%;
    width:5.8666vw;
    height:5.333vw;
    margin-top:25px;
    margin-left:0;
    transform:translateX(-50%) rotate(90deg);
  }
  .step-item .note{margin-top:2.666vw;font-size:4.533vw;}
  .step-head{width:64.7066vw;margin:0 auto;font-size:4.26vw;text-align:center;}
  .step-num{margin-bottom:.5em;padding:.5vw 0;}
  .step-num .big{font-size:10.66vw;}
  .step-ttl{margin:5.333vw auto 2.666vw;font-size:4.8vw;min-height:inherit;}
  .step-txt{margin:0;font-size:4.533vw;line-height:1.5;min-height:inherit;}
  .step-img img{display:block;width:100%;margin:0 auto;}
  .r_border-box{margin:13.3333vw auto;padding:4vw;border-radius:5.33333vw;}
  .r_border-box .ttl{font-size:4.8vw;}
  .r_border-box .list{font-size:4.533vw;}
}

.btn_area{margin:0 auto;background-color:#FFF;width:100%;}
.btn_area .inner{display:flex;justify-content:space-between;align-items:center;width:100%;gap:7%;margin:0 auto;padding:7.633% 0 0;}
@media only screen and (max-width:767px){
  .btn_area .inner{flex-direction:column;gap:2.666vw;padding: 13.333vw 0 0;}
}