@charset "UTF-8";
/* ブレイクポイント
   ========================================================================== */
/* フォント
   ========================================================================== */
/* 色
   ========================================================================== */
/* 商品詳細
   ========================================================================== */
.products__ttl {
  font-weight: bold;
  font-size: clamp(2.4rem, 3vw, 4.8rem);
  line-height: 1.4;
  padding-bottom: .5em;
  margin-bottom: 20px; }
  .products__ttl span {
    display: block;
    font-size: 66%;
    font-weight: normal;
    margin-top: .25em; }
@media (min-width: 768px) {
  .products__ttl {
    text-align: center;
    margin-bottom: 30px; } }
@media (min-width: 1025px) {
  .products__ttl {
    margin-bottom: 40px; } }

/* イントロダクション
   ========================================================================== */
.intro__box {
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: #000 url("../img/intro_bg.png") no-repeat top center/100% auto;
  padding: 20px 20px 30px 20px; }
.intro__txt p {
  color: #fff; }
  .intro__txt p:last-of-type {
    margin-top: clamp(1em, 3vw, 1.5em); }
.intro__image img {
  width: 160px;
  margin: 0 auto; }
@media (min-width: 768px) {
  .intro__box {
    flex-direction: row;
    gap: 40px;
    align-items: center;
    background-position: bottom 0 left 20px;
    background-size: auto 100%;
    padding: 40px; }
  .intro__txt {
    flex: 1; }
    .intro__txt p {
      font-size: 1.8rem; }
  .intro__image img {
    width: 200px; } }
@media (min-width: 1025px) {
  .intro__box {
    gap: 60px;
    padding: 60px;
    margin: 0 auto; }
  .intro__txt p {
    font-size: 2.4rem; }
  .intro__image img {
    width: auto; } }

/* テニスプレミアベース
   ========================================================================== */
.base__lead {
  display: flex;
  flex-direction: column;
  gap: 20px; }
  .base__lead .txt {
    flex: 1; }
  .base__lead .image img {
    width: 60%;
    margin: 0 auto; }
.base__box {
  display: flex;
  flex-direction: column; }
.base__table {
  display: block; }
  .base__table th,
  .base__table td {
    display: block;
    text-align: left; }
  .base__table th {
    margin-top: 1em; }
  .base__table td {
    padding-top: .25em; }
@media (min-width: 768px) {
  .base__lead {
    flex-direction: row;
    align-items: flex-start;
    gap: 30px; }
    .base__lead .txt {
      flex: 1; }
      .base__lead .txt p {
        font-size: 1.8rem; }
    .base__lead .image img {
      width: 240px; }
  .base__box {
    flex-direction: row;
    justify-content: space-between;
    gap: 40px;
    margin: 60px 0; }
  .base__table {
    display: table; }
    .base__table th,
    .base__table td {
      display: table-cell;
      vertical-align: top;
      padding: 1em 0; }
    .base__table th {
      white-space: nowrap;
      padding-right: 2em;
      margin-top: 0; } }
@media (min-width: 1025px) {
  .base__lead {
    gap: 60px; }
    .base__lead .txt p {
      font-size: 2.4rem; }
    .base__lead .image img {
      width: auto; }
  .base__box {
    gap: 60px;
    margin: 80px 0; }
  .base__table th,
  .base__table td {
    padding: 1.5em 0; }
  .base__table th {
    padding-right: 3em; } }

/* 成分／栄養素成分表示
   ====================================== */
.base-ingredients,
.base-nutrition-facts {
  margin-top: 40px; }
  .base-ingredients__ttl,
  .base-nutrition-facts__ttl {
    font-weight: bold;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    line-height: 1; }
    .base-ingredients__ttl span,
    .base-nutrition-facts__ttl span {
      font-weight: normal;
      font-size: 66%; }
  .base-ingredients__list,
  .base-nutrition-facts__list {
    margin-top: 1em; }
    .base-ingredients__list li,
    .base-nutrition-facts__list li {
      font-size: 1.6rem;
      padding: .5em; }
      .base-ingredients__list li:nth-child(odd),
      .base-nutrition-facts__list li:nth-child(odd) {
        background-color: #f4f4f4; }
      .base-ingredients__list li a,
      .base-nutrition-facts__list li a {
        text-decoration: underline; }
        @media (hover: hover) {
          .base-ingredients__list li a:hover,
          .base-nutrition-facts__list li a:hover {
            text-decoration: none; } }
  @media (min-width: 768px) {
    .base-ingredients,
    .base-nutrition-facts {
      width: 50%;
      margin-top: 0; }
      .base-ingredients__list li,
      .base-nutrition-facts__list li {
        font-size: 1.6rem; } }
  @media (min-width: 1025px) {
    .base-ingredients__list li,
    .base-nutrition-facts__list li {
      font-size: 2rem; } }

.base-nutrition-facts__list li {
  display: flex;
  justify-content: space-between; }
  .base-nutrition-facts__list li span {
    display: block; }

/* 強化オプション
   ========================================================================== */
.topping__link {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px; }
  .topping__link li {
    width: calc((100% - 40px) / 3);
    cursor: pointer;
    transition: .3s; }
    @media (hover: hover) {
      .topping__link li:hover {
        opacity: .5; } }
    .topping__link li img {
      margin: 0 auto; }
    .topping__link li figcaption {
      font-size: 1.2rem;
      line-height: 1.4;
      text-align: center;
      margin-top: .5em; }
@media (min-width: 768px) {
  .topping__link {
    display: flex;
    flex-wrap: nowrap;
    gap: 30px;
    margin-top: 30px; }
    .topping__link li {
      width: auto; }
      .topping__link li figcaption {
        font-size: 1.4rem; } }
@media (min-width: 1025px) {
  .topping__link {
    gap: 40px;
    margin-top: 40px; }
    .topping__link li figcaption {
      font-size: 1.6rem; } }

.topping-list li {
  margin-top: 40px; }
  .topping-list li a {
    text-decoration: underline; }
    @media (hover: hover) {
      .topping-list li a:hover {
        text-decoration: none; } }
.topping-list__ttl {
  display: none; }
.topping-list__box {
  display: flex;
  flex-direction: column; }
  .topping-list__box figure {
    text-align: center; }
    .topping-list__box figure img {
      width: 120px;
      margin: 0 auto; }
    .topping-list__box figure figcaption {
      font-size: 1.4rem;
      line-height: 1;
      margin-top: .5em; }
  .topping-list__box > div {
    margin-top: 1em; }
.topping-list__catch {
  font-weight: bold; }
.topping-list table {
  display: block; }
  .topping-list table th,
  .topping-list table td {
    display: block; }
  .topping-list table th {
    text-align: left;
    margin-top: 1em; }
@media (min-width: 768px) {
  .topping-list li {
    margin-top: 60px; }
  .topping-list__ttl {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: clamp(1.6rem, 3vw, 3rem);
    line-height: 1; }
    .topping-list__ttl span {
      display: inline-block;
      font-weight: normal;
      font-size: 66%;
      margin-left: 1em; }
  .topping-list__box {
    flex-direction: row; }
    .topping-list__box figure {
      margin-right: 30px; }
      .topping-list__box figure img {
        width: 150px; }
      .topping-list__box figure figcaption {
        display: none; }
    .topping-list__box > div {
      flex: 1;
      margin-top: 0; }
  .topping-list__catch {
    margin-top: 1em; }
  .topping-list table {
    display: table; }
    .topping-list table th,
    .topping-list table td {
      display: table-cell;
      vertical-align: top;
      padding-top: 1em; }
    .topping-list table th {
      white-space: nowrap;
      padding-right: 2em;
      margin-top: 0; } }
@media (min-width: 1025px) {
  .topping-list li {
    margin-top: 100px; }
  .topping-list__box figure {
    margin-right: 40px; }
    .topping-list__box figure img {
      width: auto; } }

/* おすすめのセットアップ
   ========================================================================== */
.setup__box {
  display: flex;
  flex-direction: column;
  margin-top: clamp(20px, 3vw, 40px); }
  .setup__box > div {
    position: relative;
    height: 200px;
    background-color: #000;
    background-repeat: no-repeat;
    background-size: auto 200px;
    background-position: top right;
    color: #fff;
    font-weight: bold;
    padding: clamp(20px, 3vw, 40px); }
.setup__catch {
  position: absolute;
  top: 20px;
  left: 20px;
  font-size: clamp(1.8rem, 3vw, 3.6rem); }
.setup__01 {
  background-image: url("../img/setup_bg_01.png"); }
.setup__02 {
  background-image: url("../img/setup_bg_02.png");
  margin-top: 10px; }
.setup__cat {
  position: absolute;
  bottom: 20px;
  left: 20px;
  display: inline-block; }
  .setup__cat div {
    font-size: 1.6rem;
    line-height: 1;
    text-align: center; }
.setup__base {
  padding: .5em;
  border: 1px solid #fff; }
.setup__topping {
  display: flex;
  justify-content: space-between;
  gap: .5em;
  margin-top: .5em; }
  .setup__topping div {
    padding: .5em;
    border: 1px solid #fff; }
.setup .tab {
  display: none; }
@media (min-width: 768px) {
  .setup__box {
    flex-direction: row;
    justify-content: space-between;
    gap: 10px; }
    .setup__box > div {
      width: 50%;
      height: 300px;
      background-size: auto 300px; }
  .setup__catch {
    top: 30px;
    left: 30px; }
  .setup__cat {
    bottom: 30px;
    left: 30px; }
    .setup__cat div {
      font-size: 1.8rem; }
  .setup__02 {
    margin-top: 0; }
  .setup .tab {
    display: block; } }
@media (min-width: 1025px) {
  .setup__box > div {
    height: 400px;
    background-size: auto auto; }
  .setup__catch {
    top: 40px;
    left: 40px; }
  .setup__cat {
    bottom: 40px;
    left: 40px; }
    .setup__cat div {
      font-size: 2.4rem; } }

/* お召し上がり方
   ========================================================================== */
.how-to-eat__box {
  text-align: left;
  padding: 20px;
  margin-top: 20px;
  border: 1px solid #000; }
  .how-to-eat__box figure img {
    margin: 20px auto; }
@media (min-width: 768px) {
  .how-to-eat__box {
    text-align: center;
    padding: 30px;
    margin-top: 30px; }
    .how-to-eat__box figure img {
      width: 80%;
      margin: 30px auto; } }
@media (min-width: 1025px) {
  .how-to-eat__box {
    padding: 40px;
    margin-top: 40px; }
    .how-to-eat__box figure img {
      width: auto;
      margin: 40px auto; } }

/* おすすめの飲用タイミング
   ========================================================================== */
.timing__box {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 20px; }
  .timing__box figure {
    position: relative;
    width: 100%;
    overflow: hidden; }
    .timing__box figure::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      top: 33%;
      z-index: 2;
      background: linear-gradient(to top, black, rgba(0, 0, 0, 0));
      pointer-events: none; }
    .timing__box figure img {
      width: 100%;
      height: auto;
      display: block; }
    .timing__box figure figcaption {
      position: absolute;
      bottom: 10px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 3;
      width: 100%;
      text-align: center;
      font-size: 1.2rem;
      font-weight: bold;
      color: #fff; }
      .timing__box figure figcaption span {
        display: block;
        font-weight: normal;
        font-size: 80%; }
.timing__banana {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  margin-top: 20px; }
  .timing__banana img {
    width: 60px; }
  .timing__banana figcaption {
    font-size: 1.4rem; }
@media (min-width: 768px) {
  .timing__box {
    margin-top: 30px; }
    .timing__box figure figcaption {
      font-size: 1.6rem;
      bottom: 20px; }
      .timing__box figure figcaption span {
        display: inline-block; }
  .timing__banana {
    justify-content: center;
    gap: 20px;
    margin-top: 30px; }
    .timing__banana img {
      width: 60px; }
    .timing__banana figcaption {
      font-size: 1.6rem; } }
@media (min-width: 1025px) {
  .timing__box {
    margin-top: 40px; }
    .timing__box figure figcaption {
      font-size: 2.4rem; }
  .timing__banana {
    margin-top: 40px; }
    .timing__banana img {
      width: 80px; }
    .timing__banana figcaption {
      font-size: 2rem; } }
