﻿@charset "utf-8";
/*--------------------------------------------------------------------------------
 
  contact

--------------------------------------------------------------------------------*/
.contact {
  --link-color: var(--txt-color);
  --link-color-hover: var(--txt-color);
  --link-deco: none;
  --link-deco-hover: none;
  display: grid;
  gap: var(--space-s);
}
@media not (max-width: 760px) {
  .contact {
    grid-template-columns: repeat(2, 1fr);
  }
}
.contact_item.-company { --color: var(--color-secondary-light); }
.contact_item.-products { --color: var(--color-tertiary-light); }
.contact_item {
  --rd: var(--rd-1);
  line-height: var(--line-height-s);
  display: grid;
  gap: 0;
  grid-template-rows: subgrid;
  grid-row: span 2;
}
.contact_item dt {
  border-radius: var(--rd) var(--rd) 0 0;
  background-color: var(--color);
  color: #FFF;
  font-family: var(--ff-go);
  font-size: var(--fs-m);
  font-weight: 600;
  text-align: center;
  padding: 1em 1.5em;
  align-content: center;
}
.contact_item dd {
  border-radius: 0 0 var(--rd) var(--rd);
  border: 2px solid var(--color);
  border-top: 0;
  padding: var(--inner-space-s);
  background-color: #FFF;
  text-align: center;
  align-content: center;
}
.contact_item .tel-no {
  line-height: 1;
  font-size: var(--fs-3l);
  font-weight: 700;
}
.contact_item .tel-no small {
  font-size: 40%;
  margin-top: 0.8em;
  margin-left: 0.25rem;
}
.contact_item .icon-tel {
  --icon: var(--icon-tel);
  --icon-size: 0.8em;
  --mgr: 0.25rem;
}
.contact_item .icon-mail {
  font-size: clamp(var(--fs-n), 3vw, var(--fs-m));
  font-weight: 500;
  --icon: var(--icon-mail);
  --icon-size: 1em;
  --mgr: 0.5rem;
}
.contact_item .icon-freedial {
  --icon: var(--icon-freedial);
  --icon-size: 1em;
  --mgr: 0.5rem;
}
.contact_item a[class*="icon"] {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.contact_item a[class*="icon"]:before {
  content: "";
  background: var(--color);
  width: var(--icon-size);
  height: var(--icon-size);
  margin-right: var(--mgr);
  mask-image: var(--icon);
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: var(--icon-size);
}

/*--------------------------------------------------------------------------------
 
  faq

--------------------------------------------------------------------------------*/
.sec-faq {
  --ttl2-mgb: var(--space-s);
  --ttl4-mgb: var(--space-s);
}
.faq-ttl {
  margin-top: var(--space-2l);
}

/*--------------------------------------------------------------------------------
  .faq-new-list
--------------------------------------------------------------------------------*/
.faq-new-list {
  --link-color: var(--txt-color);
  --link-color-hover: var(--color-primary);
  --link-deco: none;
  --link-deco-hover: none;
  line-height: var(--line-height-s);
}
.faq-new-list a {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: clamp(0.75rem, 2vw, 1.25rem);
  border-bottom: 1px solid var(--border-color);
  padding: var(--inner-space-2s) 0;
}
.faq-new-list li a:before {
  content: "Q";
  line-height: 1;
  font-family: var(--ff-en);
  font-size: var(--fs-2l);
  font-weight: 600;
  color: var(--color-primary);
  margin-top: calc(1rem - 0.65em);
}

/*--------------------------------------------------------------------------------
  .faq-anchor-list
--------------------------------------------------------------------------------*/
.faq-anchor-list {
  --col: 2;
  margin-bottom: var(--space-l);
}

/*--------------------------------------------------------------------------------
  .faq-list
--------------------------------------------------------------------------------*/
.faq-list-ttl:not(:first-of-type) {
  margin-top: var(--space-l);
}
.faq-list {
  display: flex;
  flex-direction: column;
  row-gap: var(--inner-space-2s);
}
.faq-list_item {
  transition: var(--hover-trans);
  border-radius: var(--rd-q);
  background-color: var(--bg-primary);
  border: 1px solid var(--bg-primary);
}
.faq-list_item:has(.is-active) {
  background-color: #FFF;
  border-color: var(--border-color);
}
.faq-list_inner {
  --faq-list-inner-left: calc(var(--fs-2l) + min(2vw, 1rem));
  position: relative;
  padding-left: var(--faq-list-inner-left);
}
.faq-list_q .faq-list_inner:before { content: "Q"; --mgt: 0.05em; }
.faq-list_a .faq-list_inner:before { content: "A"; --mgt: 0em; }
.faq-list_q .faq-list_inner:before,
.faq-list_a .faq-list_inner:before {
  font-family: var(--ff-en);
  font-size: var(--fs-2l);
  font-weight: 600;
  color: var(--color-primary);
  position: absolute;
  left: 0;
  top: calc((1rem - 1em) + var(--mgt));
}
.faq-list_q {
  display: flex;
  align-items: center;
  column-gap: var(--inner-space-s);
  padding: var(--inner-space-2s);
  line-height: var(--line-height-s);
}
.faq-list_item:has(.is-active) .faq-list_q { font-weight: bold; }
.faq-list_a {
  padding: var(--inner-space-s) var(--inner-space-2s);
  border-top: 1px solid var(--border-color-light);
}
.faq-list_icon {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  position: relative;
  margin-left: auto;
}
.faq-list_icon:before,
.faq-list_icon:after {
  content: "";
  display: inline-block;
  --width: 100%;
  --height: 2px;
  width: var(--width);
  height: var(--height);
  background: var(--color-primary);
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: calc(-1 * var(--height) / 2);
}
.faq-list_icon:after {
  transition: transform 0.5s var(--cubic-bezier);
  transform-origin: center center;
  transform: rotate(90deg) scale(1,1);
}
.faq-list_item:has(.is-active) .faq-list_q .faq-list_icon:after {
  transform: rotate(90deg) scale(0,1);
}

/*--------------------------------------------------------------------------------
  .howto
--------------------------------------------------------------------------------*/
.howto {
  margin-left: calc(-1 * var(--faq-list-inner-left));
}
.howto_product-name {
  font-size: clamp(var(--fs-m), 2vw, var(--fs-2m));
  line-height: var(--line-height-s);
  display: block;
  transform: translateY(calc(-1 * (1em - 1rem)));
}
.howto_ttl {
  font-size: clamp(var(--fs-m), 2vw, var(--fs-2m));
  font-weight: bold;
  margin-top: var(--inner-space-m);
}
.howto_ttl:first-of-type {
  margin-top: var(--inner-space-s);
}
.howto-item {
  margin-top: var(--inner-space-2s);
  font-size: clamp(var(--fs-s), 2.5vw, var(--fs-n));
}
.howto-item[data-type] {
  padding: var(--inner-space-s);
}
.howto-item[data-type="boil"] { background-color: var(--bg-quinary); }
.howto-item[data-type="range"] { background-color: #DEF5FA; }
.howto-item[data-type="oven"] { background-color: var(--bg-secondary); }
.howto-item_ttl {
  font-size: clamp(var(--fs-n), 2vw, var(--fs-m));
  font-weight: bold;
  display: inline-block;
  margin-bottom: 1.25rem;
  line-height: var(--line-height-2s);
  padding: 0.5em 0.75em;
  border-radius: var(--rd-h2);
  color: #FFF;
}
.howto-item[data-type="boil"] .howto-item_ttl { background-color: var(--color-quinary); }
.howto-item[data-type="range"] .howto-item_ttl { background-color: #0F96E1; }
.howto-item[data-type="oven"] .howto-item_ttl { background-color: var(--color-secondary); }

/* table
----------------------------------------*/
.howto-tbl {
  --tbl-border-color: var(--border-color-dark);
  border-collapse: collapse;
  line-height: var(--line-height-s);
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}
.howto-tbl caption {
  font-size: var(--fs-s);
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.howto-tbl th,
.howto-tbl td {
  text-align: center;
  vertical-align: middle;
  padding: 0.5em 0.75em;
  border: 1px solid var(--tbl-border-color);
}
.howto-item[data-type="boil"] .howto-tbl th { background-color: var(--bg-quinary-3); }
.howto-item[data-type="range"] .howto-tbl th { background-color: #A5DEFA; }
.howto-item[data-type="oven"] .howto-tbl th { background-color: var(--bg-secondary-3); }
.howto-tbl td {
  background-color: #FFF;
  font-size: var(--fs-2m);
  font-weight: bold;
  color: var(--color-primary);
}
.howto-tbl:has(tr:first-child > :nth-child(-n+1):last-child) { max-width: min(320px, 80%); }
@media not (max-width: 760px) {
  .howto-tbl { width: min(440px, 70%); }
}
@media (max-width: 760px) {
  .howto-tbl { width: 100%; }
  .howto-tbl:has(tr:first-child > :nth-child(-n+1):last-child) { margin-inline: auto; }
}

/* .howto-cook
----------------------------------------*/
.howto-cook .howto-tbl { margin-top: 0; margin-bottom: 0; }
.howto-cook {
  margin-top: 1.5rem;
  display: flex;
  align-items: center;
  gap: var(--inner-space-s);
}
.howto-cook_item img[src*="plastic-wrap"] {
  width: clamp(8rem, 25vw, 10rem);
}
@media not (max-width: 760px) {
  .howto-cook:has(.howto-tbl caption) .howto-cook_item img[src*="plastic-wrap"] {
    margin-top: 2rem;
  }
  .howto-cook_item:has(img[src*="plastic-wrap"]) {
    flex-shrink: 0;
  }
}
@media (max-width: 760px) {
  .howto-cook {
    flex-direction: column;
    align-items: center;
  }
}
