@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

html{
   scroll-behavior: smooth;
}
.fs-l-page{
   overflow: hidden;
}
.fs-l-sideArea + .fs-l-pageMain, .fs-l-pageMain + .fs-l-sideArea{
   max-width: 100%;
   padding: 0;
}
.main__heading{
   display: none;
}
/*----------------------------
scroll_up
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

/*----------------------------
LP
----------------------------*/
.shikibu{
   font-weight: 500;
   font-family: "Noto Serif JP", serif;
   width: 100vw;
   margin: 0 calc(50% - 50vw);
}
.shikibu .number{
   color: #fff;
   font-size: 2rem;
   background: #3A5044;
   border: 3px solid #BF9E5B;
   display: inline-block;
}
@media screen and (max-width: 767px) {
   .shikibu{
      font-weight: 400;
      font-size: 1.4rem;
   }
   .shikibu .number{
      font-size: 1.5rem;
      border-width: 2px;
   }
}
/* page-main
-------------------------------------------------*/
.page-main{
   display: flex;
   flex-flow: column;
   justify-content:flex-end;
   height: 600px;
   color: #3A5044;
   font-weight: bold;
   text-align: center;
   background: url("https://zen3928.itembox.design/item/images/shikibu/page/shikibu_main.jpg") bottom center;
   background-size: cover;
}
.page-main__tit{
   line-height: 1.4;
   margin: 0 0 2.5rem;
   font-size: 5.2rem;
   font-weight: 700;
   text-shadow: 0px 0px 6px rgba(255, 255, 255, 0.8),
                  0px 0px 6px rgba(255, 255, 255, 0.8);
}
.page-main__tit span{
   display: inline-block;
   font-size: 3.6rem;
   font-weight: 600;
}
@media screen and (min-width: 1800px) {
   .page-main{
      background-position: center;
      height: 28vw;
      min-height: 600px;
   }
}
@media screen and (max-width: 767px) {
   .page-main{
      height: 460px;
   }
   .page-main__tit{
      font-size: 4rem;
      margin: 0 0 3rem;
   }
   .page-main__tit span{
      font-size: 2rem;
   }
}

/* page-mokuji
-------------------------------------------------*/
.page-mokuji_wrap{
   text-align: center;/*Firefox対策*/
}
.page-mokuji{
   display: inline-block;/*Firefox対策*/
   text-align: left;/*Firefox対策*/
   max-width: 900px;
   margin: auto;
   padding: 7rem 0;
   font-weight: bold;
   writing-mode: vertical-rl;
}
.page-mokuji__tit{
   font-size: 3.2rem;
   margin: 0;
   line-height: 2;
}
.page-mokuji__midashi{
   position: relative;
   color: #3A5044;
   font-size: 2.8rem;
   letter-spacing: 4px;
   padding-top: 3.8rem;
   margin: 0 3rem 0 2rem;
}
.page-mokuji__midashi::after{
   content: "";
   display: block;
   position: absolute;
   top: 0;
   left: 50%;
   width: 1px;
   height: 3rem;
   background: #3A5044;
}
.page-mokuji__list{
   margin: 3.8rem 0 0;
   padding: 0;
}
.page-mokuji__list li{
   position: relative;
   list-style: none;
   margin: 0 5rem;
}
.page-mokuji__list li a{
   color: #BF9E5B;
   text-decoration: none;
}
.page-mokuji__list li .number{
   padding: .5em .2em;
   margin: 0 0 0 1rem;
}
.page-mokuji__list li h3{
   margin: 0;
   padding: 0;
   letter-spacing: 4px;
   font-size: 2.4rem;
}
.page-mokuji__list .more{
   position: absolute;
   top: 200px;
   padding-top: 3.5rem;
}
.page-mokuji__list .more::after{
   content: "";
   display: block;
   position: absolute;
   top: 0;
   left: 50%;
   width: 1px;
   height: 3rem;
   background: #BF9E5B;
}

@media screen and (max-width: 900px) {
   .page-mokuji__tit{
      font-size: 2.8rem;
      font-weight: 600;
      line-height: 1.8;
   }
   .page-mokuji__midashi{
      font-size: 2.4rem;
      letter-spacing: 2px;
      margin: 0 2.5rem 0 1.5rem;
   }
   .page-mokuji__list li {
      margin: 0 3rem;
   }
   .page-mokuji__list li .number{
      font-size: 1.8rem;
   }
   .page-mokuji__list li h3{
      font-size: 2rem;
      letter-spacing: 2px;
   }
}
@media screen and (max-width: 767px) {
   .page-mokuji{
      padding: 4rem 2rem 3rem;
      text-align: center;
      writing-mode: horizontal-tb;
   }
   .page-mokuji__tit {
      font-size: 2rem;
   }
   .page-mokuji__midashi {
      font-size: 1.8rem;
      padding-top: 2.8rem;
      margin: 1rem 0 0;
   }
   .page-mokuji__midashi::after{
      height: 2rem;
   }
   .page-mokuji__list {
      margin: 2rem 0 0;
   }
   .page-mokuji__list li {
      margin: 2rem 0;
   }
   .page-mokuji__list li .number{
      font-size: 1.4rem;
      padding: .2em .5em;
      margin: 0 0 .8rem;
   }
   .page-mokuji__list li h3 {
      font-size: 1.8rem;
      line-height: 1.4;
   }
   .page-mokuji__list .more{
      position: relative;
      top: 0;
      padding: 0 0 0 2.8rem;
      margin-top: .5em;
      display: inline-block;
   }
   .page-mokuji__list .more::after{
      width: 2rem;
      height: 1px;
      top: 45%;
      left: 0;
   }
}

/* page-mokuji-img
-------------------------------------------------*/
.page-mokuji-img{
   display: flex;
}
.page-mokuji-img .box{
   width: calc(100% / 3) ;
}
.page-mokuji-img .box img{
   width: 100%;
   height: 100%;
   object-fit: cover;
}
@media screen and (max-width: 767px) {
   .page-mokuji-img{
      flex-wrap: wrap;
   }
   .page-mokuji-img .box{
      width: 50%;
      height: 40vw;
   }
   .page-mokuji-img .box:first-child {
      width: 100%;
      height: 50vw;
   }
   
}
/* conts-box
-------------------------------------------------*/
.conts-box{
   margin: 10rem 0;
}
.conts-box-message{
   position: relative;
   margin-bottom: 6rem;
}
.conts-box__thumb{
   position: absolute;
   right: 0;
   top: 0;
   width: 47vw;
   height: 100%;
}
.conts-box:nth-child(even) .conts-box__thumb{
   right: auto;
   left: 0;
}
.conts-box__thumb img {
   object-fit: cover;
   width: 100%;
   height: 100%;
}
.conts-box__wrap{
   max-width: 880px;
   margin: auto;
   overflow: hidden;
}
.conts-text{
   width: 45%;
   padding: 4vw 0;
}
.conts-box:nth-child(even) .conts-text{
   float: right;
}
.conts-text .number{
   padding: .1rem 1.2rem;
}
.conts-text .tit{
   color: #BF9E5B;
   font-size: 3.2rem;
   font-weight: bold;
   margin: 2rem 0;
   line-height: 1.5;
}
.conts-box-sub{
   position: relative;
   max-width: 1030px;
   margin: auto;
   padding: 0 8rem 12rem;
   display: flex;
   justify-content: space-between;
}
.conts-box-sub::after{
   display: block;
   content: "";
   position: absolute;
   left: 0;
   bottom: 0;
   width: 100%;
   height: 60%;
   background: url("https://zen3928.itembox.design/item/images/shikibu/page/shikibu_conts-bg.jpg");
   background-size: cover;
   z-index: -1;
}
.conts-box-sub .box{
   position: relative;
   width: 45%;
   height: 18vw;
   min-height: 250px;
}
.conts-box-sub .box img{
   object-fit: cover;
   width: 100%;
   height: 100%;
}
.conts-box-sub .text{
   position: absolute;
   right: 0;
   top: 80%;
   width: 92%;
   padding: 2rem;
   background: rgba(255,255,255,0.9);
}
@media screen and (max-width: 767px) {
   .conts-box {
      margin: 5rem 0;
   }
   .conts-box-message{
      position: static;
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 4rem;
   }
   .conts-box__wrap{
      order: 1;
      padding: 0 2rem;
   }
   .conts-text .tit{
      font-size: 2.6rem;
      margin: 1rem 0;
   }
   .conts-box__thumb{
      position: static;
      width: 100%;
      order: 2;
   }
   .conts-text{
      width: 100%;
   }
   .conts-box-sub{
      flex-wrap: wrap;
      padding: 0 0 5rem;
   }
   .conts-box-sub::after{
      height: 90%;
      background: url("https://zen3928.itembox.design/item/images/shikibu/page/shikibu_conts-bg_sp.jpg");
      background-size: cover;
   }
   .conts-box-sub .box{
      width: 85%;
      height: auto;
      margin: auto auto 2rem;
   }
   .conts-box-sub .box figure{
      height: 40vw;
   }
   .conts-box-sub .text{
      position: static;
      width: 100%;
      padding: 1.5rem;
   }
}

/* link-bnr
-------------------------------------------------*/
.link-bnr{
   max-width: 500px;
   margin: 0 auto 10rem;
   padding: 0;
   list-style: none;
}
.link-bnr li a{
   display: flex;
   color: #fff;
   background: url(https://zen3928.itembox.design/item/images/shikibu/page/shikibu_arrow.png) no-repeat 95% center #3A5044;
   background-size: 10px;
   border: 2px solid #BF9E5B;
}
.link-bnr li a figure{
   width: 25%;
}
.link-bnr li a p{
   margin: 0;
   flex: 1;
   display: flex;
   align-items: center;
   font-size: 1.8rem;
   line-height: 1.4;
   padding-left: 3rem;
}
@media screen and (max-width: 767px) {
   .link-bnr{
      margin: 0 2rem 5rem;
   }
   .link-bnr li a figure{
      width: 30%;
   }
   .link-bnr li a p{
      font-size: 1.4rem;
      padding-left: 2rem;
   }
}

/* howto
-------------------------------------------------*/
.howto{
   text-align: center;
}
.howto__tit{
   color: #3A5044;
   font-size: 3.2rem;
   position: relative;
   display: inline-block;
   padding: 0 170px;
   margin: 0 0 3.5rem;
}
.howto__tit::before,
.howto__tit::after {
   content: '';
   position: absolute;
   top: 50%;
   display: inline-block;
   width: 150px;
   height: 1px;
   background-color: #3A5044;
}
.howto__tit::before {
    left: 0;
}
.howto__tit::after {
   right: 0;
}
.howto__tit br{
   display: none;
}
.howto_img{
   height: 270px;
   max-width: 950px;
   margin: auto;
}
.howto_img img{
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.howto_step{
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   max-width: 520px;
   margin: 4rem auto 8rem;
   text-align: left;
}
.howto_step dt{
   width: 15%;
}
.howto_step dt span{
   font-size: 2.8rem;
   display: inline-block;
   padding-left: .2rem;
}
.howto_step dd{
   width: 85%;
   margin: .7rem 0;
   font-size: 1.1em;
}

@media screen and (max-width: 767px) {
   .howto__tit{
      font-size: 2.6rem;
      line-height: 1.5;
      width: 100%;
      padding: 0;
   }
   .howto__tit::before,
   .howto__tit::after{
      width: 18vw;
   }
   .howto__tit br{
      display: block;
   }
   .howto_img{
      height: 40vw;
   }
   .howto_step{
      padding: 2rem 2rem 6rem;
      margin: 0;
   }
   .howto_step dt{
      text-align: center;
      line-height: 1.2;
      margin: 1.4rem 0;
      font-size: .9em;
   }
   .howto_step dt span{
      display: block;
      font-size: 2.2rem;
   }
   .howto_step dd{
      margin: 1.4rem 0;
      font-size: 1em;
   }
}

/* product-image
-------------------------------------------------*/
.product-image{
   height: 35vw;
   max-height: 480px;
}
.product-image img{
   width: 100%;
   height: 100%;
   object-fit: cover;
}
@media screen and (max-width: 767px) {
   .product-image{
      height: 60vw;
      max-height: inherit;
   }
}

/* shikibu-menu
-------------------------------------------------*/
.shikibu-menu{
   max-width: 880px;
   margin: 80px auto;
}
.shikibu-menu ul{
   margin: 0;
   padding: 0;
   display: flex;
   justify-content: space-between;
}
.shikibu-menu li{
   position: relative;
   list-style: none;
   width: 230px;
   height: 230px;
   border: 3px solid #BF9E5B;
}
.shikibu-menu li img{
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.shikibu-menu li p{
   width: 100%;
   position: absolute;
   left: 0;
   bottom: 0;
   color: #fff;
   margin: 0;
   padding: .5rem;
   font-size: 1.8rem;
   background: url("https://zen3928.itembox.design/item/images/shikibu/page/shikibu_arrow.png") no-repeat 95% center #3A5044;
   background-size: 10px;
   text-align: center;
}

@media screen and (max-width: 767px) {
   .shikibu-menu {
      padding: 3rem 2rem 2.5rem;
      margin: auto;
   }
   .shikibu-menu ul{
      display: block;
   }
   .shikibu-menu li{
      width: 100%;
      height: auto;
      margin: .8rem 0;
      border-width: 2px;
   }
   .shikibu-menu li a{
      display: flex;
      height: 24vw;
   }
   .shikibu-menu li figure{
      width: 40%;
   }
   .shikibu-menu li figure img{
      object-position: center -1rem;
   }
   .shikibu-menu li p{
      position: static;
      width: 60%;
      display: flex;
      align-items: center;
      padding: 0 0 0 1rem;
      font-size: 1.6rem;
   }
}

/* jisseki
-------------------------------------------------*/
.jisseki{
   max-width: 880px;
   margin: auto;
   text-align: center;
}
.jisseki__tit{
   font-size: 2.4rem;
}
.jisseki__text{
   max-width: 590px;
   margin: 3rem auto 8rem;
   font-weight: bold;
   font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
   .jisseki__tit{
      font-size: 2rem;
      padding: 0 2rem;
      font-weight: 600;
   }
   .jisseki__text{
      font-size: 1.4rem;
      text-align: left;
      padding: 0 2rem;
      margin: 1rem auto 4rem;
   }
   .jisseki__img{
      width: 80%;
      margin: auto;
   }
}
/* jisseki
-------------------------------------------------*/
.reviews{
   max-width: 880px;
   margin: 8rem auto;
   text-align: center;
}
.reviews__tit{
   color: #BF9E5B;
   font-size: 3rem;
   line-height: 1.4;
   margin: 0 0 2rem;
}
.reviews__tit br.sp{
   display: none;
}
.reviews__wrap{
   display: flex;
}
.reviews-box{
   color: #BF9E5B;
   font-size: 1.6rem;
   text-align: left;
   width: 45%;
   padding: 2.5rem;
   margin: 1rem 3% 1rem 0;
   background: #FFFDF8;
   border: 1px solid #BF9E5B;
}
.reviews-box p{
   margin: 0;
}
.reviews-box .info{
   text-align: right;
}
.reviews-box .info span{
   display: inline-block;
   padding-left: .5rem;
}
.reviews-box .info span::after{
   font-size: 1.15em;
   content: "\2605\2605\2605\2605\2605";
}
.reviews__wrap:nth-of-type(even){
   justify-content: flex-end;
}
.reviews__wrap:nth-of-type(even) .reviews-box{
   margin: 1rem 0 1rem 3%;
}

@media screen and (max-width: 767px) {
   .reviews{
      margin: 4rem auto;
   }
   .reviews__tit{
      font-size: 2rem;
      padding: 0 2rem;
      margin: 0 0 1rem;
   }
   .reviews__tit br.sp{
      display: block;
   }
   .reviews-box{
      padding: 2rem;
      font-size: 1.3rem;
      margin-top: .5rem;
      margin-bottom: .5rem;
   }
}

/* product
-------------------------------------------------*/
.product{
   max-width: 880px;
   margin: 80px auto;
}
.product-menu{
   margin: 0;
   padding: 0;
   display: flex;
   justify-content: space-between;
}
.product-menu li{
   position: relative;
   list-style: none;
   width: 200px;
   border: 3px solid #BF9E5B;
}
.product-menu li img{
   width: 100%;
   height: 80%;
   object-fit: cover;
}
.product-menu li p{
   width: 100%;
   position: absolute;
   left: 0;
   bottom: 0;
   color: #fff;
   margin: 0;
   padding: .5rem;
   font-size: 1.8rem;
   background: url("https://zen3928.itembox.design/item/images/shikibu/page/shikibu_arrow-u.png") no-repeat 94% center #3A5044;
   background-size: 16px;
   text-align: center;
}
.product__tit{
   color: #fff;
   font-size: 2.4rem;
   text-align: center;
   background: #3A5044;
   margin: 8rem 0 2rem;
   padding: .7rem;
   border: 3px solid #BF9E5B;
}
.product__list{
   display: flex;
   flex-wrap: wrap;
   justify-content: space-around;
   margin: 0;
   padding: 0 4rem 6rem;
   border-bottom: 1px solid #ddd;
}
.product__list.type{
   border: none;
   padding-bottom: 0;
}
.product__list li{
   position: relative;
   width: 30%;
   display: flex;
   flex-direction: column;
   margin: 2.5rem 0;
   list-style: none;
}
.product__list.ranking{
   counter-reset: rank;
}
.product__list.ranking li{
   content: counter(rank);
}
.product__list.ranking li::before {
   position: absolute;
   left: -4px;
   top: -4px;
   width: 2em;
   height: 2em;
   line-height: 2em;
   text-align: center;
   counter-increment: rank;
   content: counter(rank);
   color: #fff;
   font-size: 2rem;
   font-weight: 600;
   background: #999;
}
.product__list.ranking li:first-child::before{
   background: #EBBB09;
}
.product__list.ranking li:nth-child(2)::before{
   background: #B9B9B9;
}
.product__list.ranking li:nth-child(3)::before{
   background: #D28367;
}
.product__list li .thumb{
   border: 2px solid #3A5044;
}
.product__list li .name{
   font-size: 1.7rem;
   margin: 1.5rem 0 1rem;
}
.product__list li .text{
   font-size: 1.4rem;
   margin: 0;
   margin-top: auto;
}
.product__list li .price{
   font-size: 1.8rem;
   text-align: right;
   margin: 0 0 1.5rem;
}
.product__list li .price .tax{
   font-size: 1.4rem;
   display: inline-block;
   padding-left: .3em;
}
.product__list li .detail-btn a{
   color: #fff;
   text-align: center;
   padding: .8rem;
   display: block;
   background: #3A5044;
   border: 2px solid #BF9E5B;
}
.product__subnav{
   display: flex;
   justify-content: center;
   padding: 2rem 0 0;
}
.product__subnav li{
   font-size: 2rem;
   list-style: none;
   background: #51A175;
   width: 25%;
   margin: 0 1%;
   background-image: url("https://zen3928.itembox.design/item/images/shikibu/page/shikibu_arrow-w.png");
   background-position: 90% center;
   background-repeat: no-repeat;
}
.product__subnav li.tea-bag{
   background-color: #76C26A;
}
.product__subnav li.powder{
   background-color: #A6D36E;
}
.product__subnav li a{
   color: #fff;
   display: block;
   padding: 1.5rem;
}
.product__subtit{
   display: flex;
   align-items: stretch;
   background: #51A175;
   border: 1px solid #51A175;
   margin: 5rem 0 2rem;
}
.product__subtit dt{
   color: #51A175;
   background: #fff;
   width: 250px;
   display: flex;
   align-items: center;
   font-size: 2rem;
   font-weight: bold;
   padding: 0 2rem;
}
.product__subtit dd{
   flex: 1;
   color: #fff;
   padding: 1rem 2rem;
   display: flex;
   align-items: center;
}
.product__subtit.tea-bag{
   background: #76C26A;
   border: 1px solid #76C26A;
}
.product__subtit.powder dt{
   color: #A6D36E;
}
.product__subtit.powder{
   background: #A6D36E;
   border: 1px solid #A6D36E;
}

@media screen and (max-width: 767px) {
   .product {
       margin: 4rem auto;
   }
   .product-menu {
      padding: 0 2rem 3rem;
      margin: 0;
      display: block;
   }
   .product-menu li{
      width: 100%;
      height: auto;
      margin: .8rem 0;
   }
   .product-menu li a{
      display: flex;
      height: 24vw;
   }
   .product-menu li figure{
      width: 40%;
   }
   .product-menu li figure img{
      object-position: center;
      height: 100%;
   }
   .product-menu li p{
      position: static;
      width: 60%;
      display: flex;
      align-items: center;
      padding: 0 0 0 1rem;
      font-size: 1.7rem;
   }
   .product__tit{
      font-size: 2rem;
      margin: 4rem 0 1rem;
      border-right: 0;
      border-left: 0;
   }
   .product__list{
      padding: 0 2rem 4rem
   }
   .product__list li{
      width: 48%;
      margin: 1.5rem 0;
   }
   .product__list.ranking li::before{
      font-size: 1.5rem;
   }
   .product__list li .name{
      font-size: 1.4rem;
      font-weight: 600;
   }
   .product__list li .text{
      font-size: 1.2rem;
      min-height: 76px;
   }
   .product__list li.one_culumn .text{
      min-height: inherit;
   }
   .product__list li .price{
      font-size: 1.6rem;
      margin: .5rem 0 1rem;
      white-space: nowrap;
      font-weight: 500;
   }
   .product__list li .price .tax {
      font-size: 80%;
   }
   .product__list li.one_culumn{
      width: 80%;
      margin-left: auto;
      margin-right: auto;
   }
   .product__subnav{
      display: block;
      width: 80%;
      margin: auto;
      padding: 1rem 0 0;
   }
   .product__subnav li{
      width: 100%;
      font-size: 1.6rem;
      margin: .5rem 0;
   }
   .product__subnav li a{
      padding: 1.5rem 2rem;
      font-weight: 700;
   }
   .product__subtit{
      display: block;
      margin: 4rem 0 2rem;
   }
   .product__subtit dt{
      width: 100%;
      font-size: 1.8rem;
      font-weight: 500;
      padding: .8rem 2rem;
   }
}

/* teiki
-------------------------------------------------*/
.teiki{
   max-width: 880px;
   margin: auto auto 5rem;
}
.teiki__img{
   position: relative;
   height: 300px;
}
.teiki__img::before{
   display: block;
   content: "";
   position: absolute;
   right: 3rem;
   top: 2rem;
   width: 162px;
   height: 162px;
   background: url("https://zen3928.itembox.design/item/images/shikibu/page/shikibu_10off.png");
   background-size: cover;
}
.teiki__img img{
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: center -30px;
}
.teiki .product__list{
   width: 45%;
}
.teiki .product__list li{
   width: 100%;
}
.teiki__wrap{
   margin: 3rem 3rem;
   display: flex;
   align-items: flex-start;
}
.teiki__text{
   width: 52%;
   margin: 2.5rem 0 0;
   padding: 0 0 0 4%;
}
.teiki__text h2{
   margin: 0;
}
.teiki__text .chuui{
   padding: 2.5rem;
   margin-top: 2.5rem;
   background: #D9D9D9;
}
.teiki .product__list li .price{
   margin-top: 2rem;
}

@media screen and (max-width: 767px) {
   .teiki__img{
      height: 45vw;
   }
   .teiki__img img{
      object-position: center -10px;
   }
   .teiki__img::before{
      top: 2rem;
      right: 2rem;
      width: 90px;
      height: 90px;
   }
   .teiki__wrap{
      display: flex;
      flex-wrap: wrap;
      padding: 2rem 2rem 0;
      margin: 0;
   }
   .teiki .product__list{
      width: 100%;
      padding: 0;
      order: 2;
   }
   .teiki__text{
      position: static;
      width: 100%;
      order: 1;
      margin-bottom: 2rem;
      padding: 0;
   }
   .teiki__text h2{
      font-size: 1.9rem;
   }
   .teiki .product__list li{
      width: 80%;
   }
}




/* 260123追加
-------------------------------------------------*/

/* 全体コンテナ */
.teiki-section-wrapper {
  max-width: 1000px;
  margin: 0 auto;
}

/* 上段：テキストと注意書きの並び */
.teiki__custom-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-start;
  padding: 40px 20px;
}

.teiki__custom-flex .teiki__text {
  flex: 1;
  min-width: 300px;
  text-align: left;
}

.teiki__custom-flex .teiki__text h2 {
  font-size: 24px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.teiki__custom-flex .teiki__text p {
  line-height: 1.8;
}

/* 注意書きボックス */
.teiki__custom-flex .chuui {
  flex: 0 0 350px;
  background: #f4f4f4;
  padding: 25px;
  box-sizing: border-box;
  text-align: left;
}

.teiki__custom-flex .chuui p {
  font-weight: bold;
  margin-bottom: 10px;
}

.teiki__custom-flex .chuui ul {
  margin: 0;
  padding-left: 20px;
  font-size: 14px;
  line-height: 1.6;
}

.teiki__custom-flex .chuui li {
  margin-bottom: 10px;
}

/* 下段：商品エリア */
.teiki-products-area {
  max-width: 1000px;
  margin: 0 auto 60px;
  padding: 0 20px;
}

.teiki-products-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  padding: 0;
  list-style: none;
}

.teiki-products-list li {
  flex: 0 1 340px;
  border: 1px solid #ddd;
  padding: 20px;
  box-sizing: border-box;
  background: #fff;
  text-align: left;
}

.teiki-products-list .thumb img {
  width: 100%;
  height: auto;
}

.teiki-products-list .name {
  font-weight: bold;
  margin: 15px 0 5px;
  min-height: 3em;
}

.teiki-products-list .text {
  font-size: 13px;
  color: #666;
  margin-bottom: 15px;
  min-height: 3em;
}

.teiki-products-list .price {
  font-weight: bold;
  color: #b33e3e;
  font-size: 18px;
  text-align: right;
}

.teiki-products-list .price .tax {
  font-size: 12px;
  color: #333;
  font-weight: normal;
}

.teiki-products-list .detail-btn {
  margin-top: 15px;
  background: #3A5044;
  text-align: center;
  padding: 5px;
}

.teiki-products-list .detail-btn a {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  display: block;
}

/* --- 260123追加分（最終完成版・余白調整済み） --- */

/* 全体コンテナ */
.teiki-section-wrapper { max-width: 1000px; margin: 0 auto; }

/* 上段：テキストと注意書きの並び */
.teiki__custom-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-start;
  padding: 40px 20px;
}

/* 文章エリア */
.teiki__custom-flex .teiki__text {
  flex: 1.5;
  min-width: 350px;
  text-align: left;
}

.teiki__custom-flex .teiki__text h2 {
  font-size: 22px;
  line-height: 1.5;
  margin-bottom: 20px;
  word-break: keep-all;
}

/* 注意書きの枠（上下余白を均等に調整） */
.teiki__custom-flex .chuui {
  flex: 1;
  min-width: 300px;
  max-width: 350px;
  background: #f4f4f4;
  padding: 30px 25px; /* 上下30px、左右25pxで均等化 */
  box-sizing: border-box;
  text-align: left;
  align-self: flex-end; /* PCでは下揃え */
}

/* ボックス内の見出し設定 */
.teiki__custom-flex .chuui p {
  font-weight: bold;
  margin-top: 0;      /* 上の余白計算を狂わせないよう0に */
  margin-bottom: 12px; 
  line-height: 1.2;
}

/* リストの設定 */
.teiki__custom-flex .chuui ul {
  margin: 0;
  padding-left: 20px;
  font-size: 14px;
  line-height: 1.6;
}

.teiki__custom-flex .chuui li {
  margin-bottom: 0; /* 項目間の隙間をなくし、下の余白を均等に見せる */
}

/* --- 商品カードエリア --- */
.teiki-products-area { max-width: 1000px; margin: 0 auto 60px; padding: 0 20px; }
.teiki-products-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; padding: 0; list-style: none; }

.teiki-products-list li {
  flex: 0 1 340px;
  border: none;
  padding: 20px;
  box-sizing: border-box;
  background: #fff;
  text-align: left;
}

.teiki-products-list .thumb {
  border: 2px solid #3A5044;
  line-height: 0;
  margin-bottom: 10px;
}
.teiki-products-list .thumb img { width: 100%; height: auto; }

.teiki-products-list .name { font-weight: bold; margin: 15px 0 5px; min-height: 3em; }
.teiki-products-list .price { font-weight: bold; color: #b33e3e; font-size: 18px; text-align: right; }

/* 金色のフチが外側に来るボタン */
.teiki-products-list .detail-btn {
  margin-top: 15px;
  background: #3A5044;
  text-align: center;
  border: 2px solid #BF9E5B;
  box-sizing: border-box;
}

.teiki-products-list .detail-btn a {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  display: block;
  padding: 8px 10px; 
  border: none;
  line-height: 1.5;
}

/* --- スマホ対応設定：すべてを中央に揃える確定版 --- */
@media screen and (max-width: 768px) {
  
  /* 1. 外枠：PC用の横並び設定を完全に解除 */
  .teiki__custom-flex {
    display: block !important; /* Flexを解除して単純な縦並びに */
    padding: 20px !important;  /* 画面端との余白をここで作る */
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* 2. 文章エリア：幅とはみ出しをリセット */
  .teiki__custom-flex .teiki__text {
    width: 100% !important;
    min-width: 0 !important;   /* PC用の350pxを解除（これが原因でした） */
    flex: none !important;     /* PC用の比率を解除 */
    margin-bottom: 30px !important;
    text-align: left;
  }

  /* 見出しのサイズと改行 */
  .teiki__custom-flex .teiki__text h2 { 
    font-size: 20px !important; 
    line-height: 1.4 !important;
    word-break: normal !important; /* 改行をブラウザに任せる */
  }

  /* 3. 注意書き(chuui)エリア：幅を文章と揃える */
  .teiki__custom-flex .chuui {
    width: 100% !important; 
    min-width: 0 !important;   /* PC用の300pxを解除 */
    margin: 0 auto !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    align-self: auto !important;
  }

  /* 4. 商品カードエリア：上の文章エリアと幅を合わせる */
  .teiki-products-area {
    padding: 0 20px !important; /* 20pxで統一 */
    margin-bottom: 60px !important;
  }

  .teiki-products-list li {
    width: 100% !important;
    flex: 0 1 100% !important;
    margin: 0 0 30px 0 !important;
  }
}