@charset "utf-8";

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
common
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ----------------------------------------------------
element base setting (common)
---------------------------------------------------- */
:root {
  --ff-serif: "Noto Serif JP", serif;
  --ff-en: futura-pt, sans-serif;
  --ff-symbol: "Material Symbols Outlined";
  --bg-green: #9ccbcf;
  --bg-green-light: #e5eeef;
  --bg-green-dark: #2b797f;
  --bg-navi: #2c6569;
  --bg-gray-dark: #4a4a4a;
  --c-green: #2b797f;
  --c-gray: #5e5957;
  --c-link: #3d3935;
}

body {
  color: #3d3935;
  line-height: 1.8;
  background: #fff;
}
body.menu-open {
  overflow: hidden;
}
a {
  color: var(--c-green);
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.clickable a,
.clickable a:hover {
  color: var(--c-green);
}
img {
  width: 100%;
  height: auto;
}

.ic--symbol {
  position: relative;
}
.ic--symbol::before {
  font-family: var(--ff-symbol);
  position: absolute;
}
.ic--fill::before {
  font-variation-settings: "FILL" 1;
}
.ic--left::before {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.ic--top::before {
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

.inner {
  width: 80%;
  max-width: 1020px;
  margin-left: auto;
  margin-right: auto;
}
.inner--S {
  max-width: 854px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

header 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#mainContainer {
  width: 100%;
}

#header {
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  height: min(11.67vw, 140px);
  z-index: 9;
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 min(3.75vw, 45px);
}
#hd-logo img {
  width: auto;
  height: min(7vw, 84px);
}
#home #hd-logo {
  display: none;
}

#btnGlobal {
  position: absolute;
  right: min(3.75vw, 45px);
  top: min(3.75vw, 45px);
  z-index: 120;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
#btnGlobal .btnWrapGlobal {
  width: min(4.16vw, 50px);
  height: min(3.3vw, 40px);
  position: relative;
}
#btnGlobal .btnLine {
  height: 2px;
  background: #3d3935;
  position: absolute;
  left: 0;
}
#btnGlobal .btnLine.btnLineT {
  width: 100%;
  top: 0;
}
#btnGlobal .btnLine.btnLineM {
  width: 74%;
  top: 50%;
  transform: translateY(-50%);
}
#btnGlobal .btnLine.btnLineB {
  width: 50%;
  bottom: 0;
}
#btnGlobal.active .btnLine {
  background: #fff;
}
#btnGlobal.active .btnLine.btnLineT {
  display: none;
}
#btnGlobal.active .btnLine.btnLineM {
  width: 100%;
  transform: translateY(0) rotate(45deg);
}
#btnGlobal.active .btnLine.btnLineB {
  width: 100%;
  transform: rotate(-45deg);
  bottom: inherit;
  top: 50%;
}
#btnGlobal .btnLine.btnLineM,
#btnGlobal .btnLine.btnLineB {
  transition: all 0.3s ease-in-out;
}

#grandMenu {
  background: var(--bg-navi);
  width: 32%;
  max-width: 450px;
  height: 100vh;
  position: fixed;
  z-index: 100;
  right: 0;
  top: 0;
  display: none;
}
#grandMenu .gmWrapper {
  height: 100%;
  overflow: auto;
  padding: min(5vw, 60px) 0 min(2.5vw, 30px);
}
#grandMenu a {
  color: #fff;
}
#grandMenu #navGlobal,
#grandMenu #navSNS {
  width: 80%;
  margin: 0 auto;
}
#grandMenu #navGlobal li {
  font-size: min(1.66vw, 2rem);
  margin-bottom: min(3.3vw, 40px);
}
#grandMenu #navGlobal li .navGlobal__child li {
  margin: min(2vw, 24px) 0 0;
  position: relative;
  padding-left: min(5vw, 60px);
}
#grandMenu #navGlobal li .navGlobal__child li span {
  font-size: min(1.16vw, 1.4rem);
  margin-left: min(1.66vw, 20px);
}
#grandMenu #navGlobal li .navGlobal__child li::before {
  content: "";
  width: min(2vw, 24px);
  height: 1px;
  background: #fff;
  position: absolute;
  left: min(1.25vw, 15px);
  top: 50%;
}

#grandMenu #navSNS {
  display: flex;
  display: -webkit-flex;
  column-gap: min(1.25vw, 15px);
}
#grandMenu #navSNS li {
  width: min(4.16vw, 50px);
  aspect-ratio: 1/1;
  border-radius: 30vw;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
}
#grandMenu #navSNS li img {
  height: min(2vw, 25px);
  width: auto;
}

@media (max-width: 767px) {
  #header {
    height: min(23vw, 90px);
    padding: 0 min(3.75vw, 45px);
  }
  #hd-logo img {
    height: min(15vw, 57px);
  }

  #btnGlobal {
    right: min(6vw, 25px);
    top: min(8vw, 30px);
  }
  #btnGlobal .btnWrapGlobal {
    width: min(10vw, 40px);
    height: min(8vw, 40px);
  }
  #grandMenu {
    width: 100%;
    max-width: inherit;
  }
  #grandMenu .gmWrapper {
    padding: min(15vw, 60px) 0 min(5vw, 40px);
  }
  #grandMenu #navGlobal,
  #grandMenu #navSNS {
    width: 65%;
  }
  #grandMenu #navGlobal li {
    font-size: min(5vw, 2rem);
    margin-bottom: min(8vw, 40px);
  }
  #grandMenu #navGlobal li .navGlobal__child li {
    margin: min(6vw, 24px) 0 0;
    padding-left: min(15vw, 60px);
  }
  #grandMenu #navGlobal li .navGlobal__child li span {
    font-size: min(4vw, 1.4rem);
    margin-left: min(5vw, 20px);
  }
  #grandMenu #navGlobal li .navGlobal__child li::before {
    width: min(6vw, 24px);
    left: min(4vw, 15px);
  }

  #grandMenu #navSNS {
    column-gap: min(6vw, 30px);
  }
  #grandMenu #navSNS li {
    width: min(12vw, 50px);
  }
  #grandMenu #navSNS li img {
    height: min(6vw, 25px);
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

footer

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#footer {
  background: #fff;
  padding: min(7.5vw, 90px) 0 min(2.5vw, 30px);
}
#ft-logo {
  width: min(25.83vw, 310px);
  margin: 0 auto min(3.3vw, 40px);
}
#footer .copy {
  text-align: center;
}

.ft__brand {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  column-gap: min(1.66vw, 20px);
  align-items: center;
  margin: 0 auto min(5vw, 60px);
  font-size: min(1.3vw, 1.6rem);
}
.ft__brand__link img {
  width: min(14vw, 170px);
}
.ft__brand__link a {
  position: relative;
  padding-right: min(2.5vw, 30px);
}
.ft__brand__link a::before {
  content: "";
  background: url("../img/common/ic-exLink.svg") center center / contain no-repeat;
  aspect-ratio: 1/1;
  width: min(1.4vw, 17px);
  position: absolute;
  right: 0;
  top: 0;
}

@media (max-width: 767px) {
  #footer {
    padding: min(15vw, 70px) 0 min(6vw, 30px);
  }
  #ft-logo {
    width: min(67vw, 265px);
    margin: 0 auto min(12vw, 60px);
  }

  .ft__brand {
    column-gap: min(4vw, 20px);
    margin: 0 auto min(8vw, 40px);
    font-size: min(3vw, 1.2rem);
  }
  .ft__brand__link img {
    width: min(36.7vw, 130px);
  }
  .ft__brand__link a {
    padding-right: min(6vw, 30px);
  }
  .ft__brand__link a::before {
    width: min(3vw, 17px);
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

inview

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.slideUp_0s {
  animation: slideUp_0s 1s ease-in-out 0s forwards;
}
.slideUp_05s {
  animation: slideUp_05s 1s ease-in-out 0.5s forwards;
}
.fadeIn {
  animation: fadeIn 1.5s ease-in-out 0s forwards;
}
.inview {
  opacity: 0;
}
.fadeIn_up {
  transform: translateY(50px);
}
.fadeIn_left.is-show {
  animation: LtoR 0.8s ease-in-out 0.3s forwards;
}
.fadeIn_up.is-show {
  animation: slideUp_05s 1s ease-in-out 0s forwards;
}
.fadeIn.is-show {
  animation: fadeIn 1s ease-in-out 0.5s forwards;
}
.a-delay {
  animation-delay: 1.8s !important;
}

@keyframes slideUp_0s {
  from {
    transform: translateY(15%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes slideUp_05s {
  from {
    transform: translateY(50px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes LtoR {
  from {
    transform: translateX(-8%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/*
.fadeIn_up {
  opacity: 0;
  transform: translate(0, 50%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
*/

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

home

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.shoulder {
  font-size: min(1.5vw, 1.8rem);
  position: relative;
}

@media (max-width: 767px) {
  .shoulder {
    font-size: min(5vw, 1.8rem);
  }
}

#homVisual {
  aspect-ratio: 1400/800;
  background: var(--bg-green);
  position: relative;
  display: flex;
  display: -webkit-flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding-right: min(11.25vw, 135px);
}
#homVisual::before {
  content: "";
  background: url("../img/home/bg-rt-pc.svg") right top / cover no-repeat;
  position: absolute;
  right: 0;
  top: 0;
  aspect-ratio: 245/150;
  width: min(51.67vw, 620px);
}
#homVisual::after {
  content: "";
  background: url("../img/home/bg-lb-pc.svg") left bottom / cover no-repeat;
  position: absolute;
  left: 0;
  bottom: 0;
  aspect-ratio: 102/150;
  width: min(25vw, 300px);
}

#homVisual__sitename {
  width: min(25.92vw, 311px);
  position: absolute;
  left: 50%;
  top: min(2.5vw, 30px);
  margin-left: -40%;
  z-index: 1;
}
.homVisual__img {
  width: 81%;
  opacity: 0;
}
.homVisual__sns {
  position: absolute;
  right: min(3.3vw, 40px);
  bottom: min(4.16vw, 50px);
  margin: 0;
}
.homVisual__sns li:not(:last-child) {
  margin-bottom: min(1.66vw, 20px);
}
.homVisual__sns li a {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: center;
  width: min(4.16vw, 50px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--bg-green-dark);
}
.homVisual__sns li a img {
  width: auto;
  height: min(2.33vw, 28px);
}

@media (max-width: 767px) {
  #homVisual {
    min-height: 100vh;
    aspect-ratio: 393/852;
    padding-right: 0;
  }
  #homVisual::before {
    right: inherit;
    left: 0;
    width: 100vw;
    transform-origin: right top;
    transform: translateX(-100%) rotate(270deg);
    opacity: 0.6;
  }
  #homVisual::after {
    content: none;
  }
  #homVisual__sitename {
    width: min(60%, 234px);
    left: 0;
    top: 0;
    margin-left: 0;
  }
  .homVisual__img {
    width: 88%;
  }
  .homVisual__sns {
    right: min(5vw, 20px);
    bottom: min(5vw, 20px);
  }
  .homVisual__sns li {
    display: inline-block;
  }
  .homVisual__sns li:not(:last-child) {
    margin: 0 min(5vw, 20px) 0 0;
  }
  .homVisual__sns li a {
    width: min(13vw, 50px);
  }
  .homVisual__sns li a img {
    height: min(6vw, 25px);
  }
}

#homConcept {
  padding: min(10vw, 120px) 0 min(16.33vw, 196px);
  background: var(--bg-green-light);
}
#homConcept .shoulder {
  color: var(--c-green);
}
#homConcept .homConcept__flex {
  margin: min(3.75vw, 45px) auto 0;
  max-width: 969px;
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#homConcept .homConcept__title {
  width: 50%;
}
#homConcept .homConcept__text {
  width: 48%;
  padding-left: min(2vw, 24px);
  border-left: 1px solid var(--bg-green);
}

#homConcept .homConcept__title .homConcept__copy {
  font-size: min(1.5vw, 1.8rem);
  margin-bottom: min(2.5vw, 30px);
  font-weight: 600;
}
#homConcept .homConcept__title h2 span {
  display: block;
  font-size: min(2.5vw, 3rem);
  font-weight: 600;
}
#homConcept .homConcept__text p:last-child {
  margin-bottom: 0;
}

.homConcept__slider {
  margin-top: min(8.3vw, 100px);
}
.homSlider__wrap {
  margin: 0 min(2.5vw, 30px);
  width: min(44.67vw, 536px);
  aspect-ratio: 536/393;
  pointer-events: none;
}
.homSlider__wrap p {
  margin: 0;
}

.homConcept__greeting {
  width: 80%;
  max-width: 969px;
  margin: 0 auto;
  background: url("../img/home/bg-greeting-01.svg") left top / cover no-repeat;
  position: relative;
  min-height: min(27.08vw, 325px);
  margin-top: min(14vw, 170px);
  display: flex;
  display: -webkit-flex;
  align-items: center;
  padding: min(4.16vw, 50px) 0;
}
.homGreeting__cont {
  width: 57%;
  padding-left: min(5.83vw, 70px);
}
.homGreeting__sign {
  margin: 0 auto;
  width: min(23.92vw, 287px);
}
.homGreeting__read {
  margin: min(2.5vw, 30px) auto 0;
}
.homGreeting__img {
  margin: 0;
  position: absolute;
  right: min(3.3vw, 40px);
  bottom: 0;
  width: min(31.17vw, 374px);
}

@media (max-width: 767px) {
  #homConcept {
    padding: min(19vw, 75px) 0 min(25vw, 100px);
  }
  #homConcept .homConcept__flex {
    margin: min(6vw, 25px) auto 0;
  }
  #homConcept .homConcept__title {
    width: 100%;
  }
  #homConcept .homConcept__text {
    width: 100%;
    margin-top: min(8vw, 30px);
    padding: min(8vw, 30px) 0 0 0;
    border-top: 1px solid var(--bg-green);
    border-left: none;
  }
  #homConcept .homConcept__title .homConcept__copy {
    font-size: clamp(1.3rem, 4vw, 1.5rem);
    margin-bottom: min(5vw, 20px);
  }
  #homConcept .homConcept__title h2 span {
    font-size: clamp(2rem, 6vw, 2.5rem);
    line-height: 1.4;
  }
  .homConcept__slider {
    margin-top: min(10vw, 40px);
  }
  .homSlider__wrap {
    margin: 0 min(4vw, 15px);
  }
  .homConcept__greeting {
    min-height: inherit;
    margin-top: min(14vw, 170px);
    padding: min(11vw, 45px) 0 0;
    display: block;
    background-image: url("../img/home/bg-greeting-02.svg");
  }
  .homGreeting__cont {
    width: 100%;
    padding: 0 min(8vw, 30px);
  }
  .homGreeting__sign {
    width: 66%;
  }
  .homGreeting__read {
    margin: min(8vw, 30px) auto 0;
  }
  .homGreeting__img {
    margin: min(3vw, 10px) auto 0;
    position: relative;
    right: inherit;
    width: 91%;
  }
}

#homProducts {
  padding: min(12.5vw, 150px) 0;
  position: relative;
}
#homProducts::before {
  content: "";
  background: url("../img/home/bg-product-01.svg") left top / cover no-repeat;
  aspect-ratio: 282/397;
  width: min(23.5vw, 282px);
  position: absolute;
  left: 50%;
  top: min(-0.83vw, -10px);
  margin-left: max(-50%, -630px);
}
.homProduct__cat {
  position: relative;
}
.homProduct__cat:not(:first-child) {
  margin-top: min(4.16vw, 50px);
}
.homProduct__cat__img {
  width: 50%;
  margin-left: 50%;
  background: url("../img/home/bg_homProduct-00.png") right center / auto 100% no-repeat;
}
.homProduct__cat__img img {
  width: 100%;
  height: auto;
}
.homProduct__other__img {
  background: url("../img/home/bg_homProduct-04.png") center center / 100% auto no-repeat;
}

.homProduct__cat .inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.homProduct__cat__info {
  width: 37%;
}
.homProduct__title span {
  font-size: min(3.3vw, 4rem);
  margin-right: min(1.66vw, 20px);
}
a.more {
  font-size: min(1.3vw, 1.6rem);
}
a.more span {
  position: relative;
  padding-right: min(5.83vw, 70px);
}
a.more span::before {
  content: "";
  height: 1px;
  width: min(4.16vw, 50px);
  background: var(--c-gray);
  position: absolute;
  right: 0;
  top: 50%;
}
a.more span::after {
  content: "";
  height: 1px;
  width: min(0.83vw, 10px);
  background: var(--c-gray);
  position: absolute;
  right: 0;
  top: 50%;
  transform-origin: right bottom;
  transform: rotate(30deg);
}

.homProduct__cat__info .homProduct__title {
  margin-bottom: min(2.5vw, 30px);
}
.homProduct__cat__read {
  margin-bottom: 0;
}
.homProuct__cat__link {
  margin: min(2.5vw, 30px) 0 0;
}

.homProduct__other {
  width: 80%;
  max-width: 600px;
  margin: min(8.3vw, 100px) auto 0;
}
.homProduct__other__title {
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  align-items: baseline;
  column-gap: min(4.16vw, 50px);
  margin-bottom: min(2.5vw, 30px);
}
.homProuct__other__link {
  margin: 0;
}

@media (max-width: 767px) {
  #homProducts {
    padding: min(19vw, 70px) 0;
  }
  #homProducts::before {
    width: min(39vw, 152px);
    left: 0;
    top: min(-3vw, -10px);
    margin-left: max(-5vw, -20px);
  }
  .homProduct__cat {
    margin-top: min(19vw, 70px) !important;
  }
  .homProduct__cat__img {
    width: 90%;
    margin-left: 10%;
  }
  .homProduct__other__img {
    background: none;
  }
  .homProduct__cat .inner {
    position: relative;
    left: inherit;
    top: inherit;
    transform: none;
  }
  .homProduct__cat__info {
    width: 100%;
    margin-bottom: min(6vw, 25px);
  }
  .homProduct__title span {
    font-size: clamp(3.2vw, 10vw, 4rem);
    margin-right: min(5vw, 20px);
  }
  a.more {
    font-size: clamp(1.4rem, 4vw, 1.6rem);
  }
  a.more span {
    padding-right: min(18vw, 70px);
  }
  a.more span::before {
    width: min(13vw, 50px);
  }
  a.more span::after {
    width: min(3vw, 10px);
  }

  .homProduct__cat__info .homProduct__title {
    margin-bottom: min(5vw, 20px);
  }
  .homProuct__cat__link {
    margin: min(5vw, 20px) 0 0;
  }
  .homProduct__other {
    margin: min(17vw, 65px) auto 0;
  }
  .homProduct__other__title {
    display: block;
    column-gap: 0;
    margin-bottom: min(8vw, 30px);
  }
}

#homAbout {
  background: var(--bg-green);
  padding: min(10vw, 120px) 0 min(8.3vw, 100px);
}
.homAbout__img {
  margin: min(3.3vw, 40px) auto 0;
  width: 80%;
  max-width: 1020px;
}
.homAbout__flex {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: min(4.16vw, 50px) 0 0;
}
.homAbout__info {
  width: 39%;
}
.homAbout__map {
  width: 47%;
}
.homAbout__info p {
  margin-bottom: 0;
}
.homAbout__info h3 {
  font-size: min(2vw, 2.4rem);
}
.homAbout__link {
  margin-top: min(0.83vw, 10px);
}
.homAbout__link a {
  display: inline-block;
  background: var(--bg-green-light);
  color: var(--c-link);
  padding: min(0.6vw, 8px) min(2vw, 24px);
  position: relative;
  font-size: min(1.3vw, 1.6rem);
  line-height: 1.2;
}
.homAbout__link a::before {
  content: "";
  height: 1px;
  width: min(4.16vw, 50px);
  background: var(--c-gray);
  position: absolute;
  right: min(0.83vw, 10px);
  top: 50%;
  transform: translateX(100%);
}
.homAbout__link a::after {
  content: "";
  height: 1px;
  width: min(0.83vw, 10px);
  background: var(--c-gray);
  position: absolute;
  right: 0;
  top: 50%;
  transform-origin: right bottom;
  transform: translateX(min(3.33vw, 40px)) rotate(30deg);
}

.homAbout__time {
  margin: min(5vw, 60px) 0 0 0;
  width: 100%;
  border-top: 1px solid #fff;
}
.homAbout__time tr {
  border-bottom: 1px solid #fff;
}
.homAbout__time th,
.homAbout__time td {
  font-weight: normal;
  padding: min(0.6vw, 8px) min(1.25vw, 15px);
  text-align: left;
}

@media (max-width: 767px) {
  #homAbout {
    padding: min(13vw, 50px) 0 min(20vw, 80px);
  }
  .homAbout__img {
    margin: min(11vw, 45px) auto 0;
    width: 100%;
    max-width: inherit;
  }
  #homAbout .inner:not(.shoulder) {
    width: 100%;
    max-height: inherit;
  }
  .homAbout__flex {
    display: block;
    margin: min(8vw, 30px) 0 0;
  }
  .homAbout__info {
    width: 80%;
    margin: 0 auto min(10vw, 40px);
  }
  .homAbout__map {
    width: 100%;
  }
  .homAbout__info h3 {
    font-size: clamp(2rem, 6vw, 2.4rem);
  }
  .homAbout__link {
    margin-top: min(3vw, 10px);
  }
  .homAbout__link a {
    padding: min(2vw, 8px) min(6vw, 24px);
    font-size: clamp(1.4rem, 4vw, 1.6rem);
  }
  .homAbout__link a::before {
    width: min(13vw, 50px);
    right: min(3vw, 10px);
  }
  .homAbout__link a::after {
    width: min(3vw, 10px);
    transform: translateX(min(10vw, 40px)) rotate(30deg);
  }
  .homAbout__time {
    margin: min(9vw, 38px) 0 0 0;
  }
  .homAbout__time th,
  .homAbout__time td {
    padding: min(2vw, 8px) min(4vw, 15px);
    text-align: left;
  }
  .homAbout__time a {
    color: var(--c-link);
  }
}

#homSNS {
  background: url("../img/home/bg-homSNS.jpg") center center / cover no-repeat;
  min-height: min(32.5vw, 390px);
  color: #fff;
  text-align: center;
  padding: min(7.5vw, 90px) 0 min(6.67vw, 80px);
}
.homSNS__list {
  margin: min(2.5vw, 30px) 0 min(3.3vw, 40px);
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  column-gap: min(6.25vw, 75px);
}
.homSNS__list li a {
  width: min(8.3vw, 100px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  display: flex;
  display: -wekbit-flex;
  justify-content: center;
  align-items: center;
  background: rgb(43, 121, 127);
  background: linear-gradient(160deg, rgba(43, 121, 127, 1) 0%, rgba(121, 168, 157, 1) 100%);
}
.homSNS__list li a img {
  width: auto;
  height: min(4.16vw, 50px);
}

@media (max-width: 767px) {
  #homSNS {
    min-height: inherit;
    padding: min(23vw, 90px) 0 min(20vw, 80px);
  }
  .homSNS__list {
    margin: min(8vw, 30px) 0 min(10vw, 40px);
    column-gap: min(19vw, 75px);
  }
  .homSNS__list li a {
    width: min(25vw, 100px);
  }
  .homSNS__list li a img {
    height: min(14vw, 54px);
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

underlayer

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#pageInfo {
  padding-top: min(11.67vw, 140px);
  background: var(--bg-green);
  position: relative;
}
#pageInfo::before {
  content: "";
  background: url("../img/page/common/bg-rt-pc.svg") right top / cover no-repeat;
  aspect-ratio: 242/150;
  width: min(55.33vw, 664px);
  position: absolute;
  right: 0;
  top: 0;
}
#pageInfo::after {
  content: "";
  background: url("../img/page/common/bg-lb-pc.svg") left bottom / cover no-repeat;
  aspect-ratio: 300/113;
  width: min(55vw, 660px);
  position: absolute;
  left: 0;
  bottom: 0;
}
.pageInfo__wrapper {
  text-align: center;
  width: 90%;
  margin: 0 auto;
  padding: min(4.16vw, 50px) 0 min(7.5vw, 90px);
  position: relative;
  z-index: 2;
}
.pageTitle {
  font-size: min(2.5vw, 3rem);
  margin-bottom: min(0.83vw, 10px);
}
.pageRead {
  margin: min(2.5vw, 30px) auto 0;
}
.pageSubRead {
  font-size: min(3vw, 12px);
}
.navLocal {
  margin: min(4.16vw, 50px) 0 0;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  column-gap: 4%;
  line-height: 1.2;
}
.navLocal li a {
  display: block;
  background: var(--bg-green-light);
  color: var(--c-link);
  padding: min(0.83vw, 10px) min(3.3vw, 40px);
  position: relative;
  min-width: min(18.33vw, 220px);
}
.navLocal li a span {
  font-size: min(1.66vw, 2rem);
  margin-right: min(0.83vw, 10px);
}
.navLocal li a::before {
  content: "";
  width: 1px;
  height: min(2.5vw, 30px);
  background: var(--c-gray);
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(0, calc(100% - min(0.5vw, 6px)));
}
.navLocal li a::after {
  content: "";
  width: 1px;
  height: min(0.83vw, 10px);
  background: var(--c-gray);
  position: absolute;
  left: 50%;
  bottom: max(-2.5vw, -30px);
  transform-origin: left bottom;
  transform: translate(0, -50%) rotate(30deg);
}

@media (max-width: 767px) {
  #pageInfo {
    padding-top: min(23vw, 90px);
  }
  #pageInfo::before {
    background: url("../img/page/common/bg-rt-sp.svg") right top / cover no-repeat;
    aspect-ratio: 202/150;
    width: 84%;
  }
  #pageInfo::after {
    background: url("../img/page/common/bg-lb-sp.svg") left bottom / cover no-repeat;
    aspect-ratio: 181/150;
    width: 100%;
  }

  .pageInfo__wrapper {
    width: 80%;
    padding: min(13vw, 50px) 0 min(20vw, 90px);
  }
  .pageTitle {
    font-size: min(8vw, 3rem);
    margin-bottom: 0;
  }
  .pageRead {
    margin: min(8vw, 30px) auto 0;
  }
  .navLocal {
    margin: min(13vw, 50px) auto 0;
    column-gap: 0;
    flex-wrap: wrap;
    width: 70%;
  }
  .navLocal li {
    width: 100%;
  }
  .navLocal li:not(:last-child) {
    margin-bottom: min(10vw, 40px);
  }
  .navLocal li a {
    padding: min(3vw, 10px) min(10vw, 40px);
    min-width: inherit;
  }
  .navLocal li a span {
    font-size: min(5vw, 2rem);
    margin-right: min(3vw, 10px);
  }
  .navLocal li a::before {
    height: min(8vw, 30px);
    transform: translate(0, calc(100% - min(2vw, 6px)));
  }
  .navLocal li a::after {
    height: min(3vw, 10px);
    bottom: max(-8vw, -30px);
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

products

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.product {
  margin: min(13vw, 160px) 0;
}
.product:first-child {
  margin-top: 0;
}
.product__intro {
  min-height: min(33vw, 400px);
  padding: min(6.67vw, 80px) 0;
  color: #fff;
  display: flex;
  display: -webkit-flex;
  align-items: center;
  position: relative;
  background-color: #1c1a18;
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-position: right top;
}
.product__intro::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  background: url("../img/page/product/bg-intro-01.svg") left top / cover no-repeat;
  aspect-ratio: 270/400;
  height: min(33vw, 400px);
  margin-left: max(-50%, -700px);
}
.product__intro__txt {
  width: 38%;
  position: relative;
}
.product__intro__txt h3 {
  margin-bottom: min(1.66vw, 20px);
}
.product__intro__txt h3 span {
  font-size: min(3.33vw, 4rem);
  margin-right: min(1.66vw, 20px);
}
.product__intro__txt p {
  margin: 0;
}
#other .product__intro {
  min-height: min(21.67vw, 260px);
  padding: min(4.16vw, 50px) 0;
}
#other .product__intro::before {
  background-image: url("../img/page/product/bg-intro-02.svg");
  aspect-ratio: 270/260;
  height: min(21.67vw, 260px);
}

#galette .product__intro {
  background-image: url("../img/page/product/bg-galette-01.png");
}
#dacoise .product__intro {
  background-image: url("../img/page/product/bg-dacoise-01.png");
}
#muffin .product__intro {
  background-image: url("../img/page/product/bg-muffin-01.png");
}
#other .product__intro {
  background-image: url("../img/page/product/bg-other-01.png");
}

@media (max-width: 767px) {
  .product {
    margin: min(25vw, 100px) 0;
  }
  .product__intro {
    min-height: inherit;
    aspect-ratio: 393/537;
    padding: min(13vw, 50px) 0 0;
    align-items: flex-start;
    background-size: 100% auto;
    background-position: right bottom;
  }
  .product__intro::before {
    height: min(77vw, 304px);
    left: -10vw;
    margin-left: 0;
  }
  .product__intro__txt {
    width: 100%;
  }
  .product__intro__txt h3 {
    margin-bottom: min(5vw, 20px);
  }
  .product__intro__txt h3 span {
    font-size: clamp(3rem, 10.2vw, 4rem);
    margin-right: min(5vw, 20px);
  }
  #other .product__intro {
    min-height: inherit;
    aspect-ratio: 393/304;
    padding: min(6.67vw, 80px) 0;
  }
  #other .product__intro::before {
    height: min(46vw, 180px);
  }

  #galette .product__intro {
    background-image: url("../img/page/product/bg-galette-02.png");
  }
  #dacoise .product__intro {
    background-image: url("../img/page/product/bg-dacoise-02.png");
  }
  #muffin .product__intro {
    background-image: url("../img/page/product/bg-muffin-02.png");
  }
  #other .product__intro {
    background-image: url("../img/page/product/bg-other-02.png");
  }
}

.product__item {
  margin-top: min(0.83vw, 10px);
}
.product__item__wrapper {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  margin: 0;
}
.product__item__wrapper li {
  width: 25%;
  padding: 0 min(0.83vw, 10px);
  font-size: clamp(1rem, 1vw, 1.2rem);
  margin-top: min(6.67vw, 80px);
  text-align: center;
  position: relative;
}
.product__item__wrapper li .product__item__img {
  margin-bottom: min(2vw, 25px);
  text-align: center;
}
.product__item__wrapper li .product__item__img img {
  width: 100%;
}
.product__item__wrapper li h4 {
  font-size: clamp(1.4rem, 1.3vw, 1.6rem);
}
.product__item__wrapper li .product__price {
  margin-bottom: min(1.25vw, 15px);
}
.product__item__wrapper li .produce__txt {
  margin: 0;
}

.product__other__wrap {
  margin: min(6.6vw, 80px) 0 0;
}
.product__other__wrap p {
  margin: 0;
}

.product__item__wrapper li.limited::before {
  content: "季節限定";
  position: absolute;
  left: 0;
  top: 0;
  background: #333;
  color: #fff;
  padding: 0 min(1.66vw, 20px);
  z-index: 3;
  transform: translateY(-25%);
}
.product__item__wrapper li.p-before .product__item__img {
  opacity: 0.1;
}
.product__item__wrapper li.p-before .produce__txt {
  display: none;
}

@media (min-width: 768px) {
  .product__item__wrapper li.single {
    margin-top: min(7vw, 110px);
  }
}

@media (max-width: 767px) {
  .product__item {
    margin-top: min(3vw, 10px);
  }
  .product__item__wrapper {
    justify-content: space-between;
  }
  .product__item__wrapper li {
    width: 47%;
    padding: 0;
    font-size: clamp(1rem, 3vw, 1.2rem);
    margin-top: min(8vw, 30px);
  }
  .product__item__wrapper li .product__item__img {
    margin-bottom: min(4vw, 15px);
  }
  .product__item__wrapper li h4 {
    font-size: clamp(1.2rem, 4vw, 1.6rem);
  }
  .product__item__wrapper li .product__price {
    margin-bottom: min(3vw, 10px);
  }
  .product__other__wrap {
    margin: min(8vw, 30px) 0 0;
  }
  .product__other__wrap p {
    margin-bottom: min(5vw, 20px);
  }
  .product__other__wrap p br {
    display: none;
  }
  .product__item__wrapper li.limited::before {
    padding: 0 min(4vw, 20px);
  }
}

.product__gift {
  max-width: 1200px;
  background: var(--bg-green-light);
  margin: min(8.3vw, 100px) auto 0;
  padding: min(4.58vw, 55px) 0 min(6vw, 75px);
}
.product__gift .inner {
  width: 85%;
}
.product__gift h3 {
  text-align: center;
  font-size: min(2vw, 2.4rem);
  margin-bottom: min(2vw, 25px);
}
.product__gift__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
  gap: min(1.66vw, 20px) 3.5%;
}
.product__gift__grid .product__gift__img {
  margin: 0;
}
.product__gift__grid h4 {
  font-size: clamp(1.4rem, 1.33vw, 1.6rem);
  text-align: center;
  display: flex;
  display: -weblit-flex;
  align-items: center;
  justify-content: center;
}
.product__gift__price {
  margin: 0;
   text-align: center;
}
.product__gift__grid .product__gift__read {
  margin: 0;
  border-top: 1px solid var(--bg-green);
  border-bottom: 1px solid var(--bg-green);
  padding: min(1.66vw, 20px);
  text-align: center;
}

.product__gift__img.gift--01 {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
h4.gift--01 {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}
.product__gift__price.gift--01 {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
}

.product__gift__read.gift--01 {
  grid-column: 1 / 2;
  grid-row: 4 / 4;
}

.product__gift__img.gift--02 {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}
h4.gift--02 {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}
.product__gift__price.gift--02 {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
}

.product__gift__read.gift--02 {
  grid-column: 2 / 3;
  grid-row: 4 / 4;
}

.product__gift__img.gift--03 {
  grid-column: 3 / 4;
  grid-row: 1 / 2;
}
h4.gift--03 {
  grid-column: 3 / 4;
  grid-row: 2 / 3;
}

.product__gift__read.gift--03 {
  grid-column: 3 / 4;
  grid-row: 3 / 4;
}

.product__gift__read.gift--03 {
  grid-column: 3 / 4;
  grid-row: 4 / 4;
}

@media (max-width: 767px) {
  .product__gift {
    margin: min(14vw, 55px) auto 0;
    padding: min(8vw, 30px) 0 min(10vw, 40px);
  }
  .product__gift .inner {
    width: 80%;
  }
  .product__gift h3 {
    font-size: clamp(2rem, 6vw, 2.4rem);
    margin-bottom: min(6vw, 25px);
  }
  .product__gift__grid {
    display: block;
    grid-template-columns: inherit;
    grid-template-rows: inherit;
    gap: 0;
  }
  .product__gift__img:not(.gift--01) {
    margin: min(13vw, 50px) 0 0 0;
  }
  .product__gift__grid h4 {
    display: block;
    padding: min(6vw, 25px) 0 0;
    font-size: clamp(1.4rem, 4vw, 1.6rem);
  }
  .product__gift__price {
    padding-bottom: min(6vw, 25px);

  }
  .product__gift__grid .product__gift__read {
    padding: min(5vw, 20px);
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

contact

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* input */
#contact #mainContent {
  background: var(--bg-green-light);
  padding: min(9.58vw, 115px) 0 min(12.5vw, 150px);
}
.l-contact {
  background: #fff;
  padding: min(7.5vw, 90px) min(10vw, 120px);
}

/* form調整 */
.inner-efo-default-theme fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.inner-efo-default-theme legend {
  display: none !important;
}
.inner-efo-default-theme .margin-bottom-xs {
}
.inner-efo-default-theme .ttl-item {
  margin-bottom: min(1.25vw, 15px);
}
.inner-efo-default-theme .font-size-m {
  font-size: clamp(1.4rem, 1.3vw, 1.6rem) !important;
}
.inner-efo-default-theme .required-icon {
  background: var(--bg-green-dark) !important;
  vertical-align: middle !important;
  font-size: min(1rem, 1vw, 1.2rem) !important;
  border-radius: 30vw !important;
  padding: 0 min(0.83vw, 10px) !important;
  line-height: 1.5;
  display: inline-block;
  margin-left: min(0.83vw, 10px) !important;
}
.inner-efo-default-theme .control {
  align-items: center;
}
.inner-efo-default-theme .control-s {
  font-size: clamp(1.1rem, 1.14vw, 1.4rem) !important;
}
.inner-efo-default-theme .control.radio .control-indicator {
  margin-bottom: 0 !important;
}
.inner-efo-default-theme .input-s {
  border-radius: 30vw;
  font-size: clamp(1.1rem, 1.14vw, 1.4rem) !important;
  padding: 1rem !important;
  height: 4rem !important;
}
.inner-efo-default-theme .button,
.inner-efo-default-theme button {
  width: min(21vw, 249px) !important;
  text-align: center;
  margin-left: calc(50% - min(10.5vw, 124.5px));
  font-size: clamp(1.4rem, 4vw, 1.6rem) !important;
  height: min(4.16vw, 5rem) !important;
  background: var(--bg-green-light) !important;
  border: none !important;
  color: var(--c-gray) !important;
}
.inner-efo-default-theme button:hover {
  color: var(--c-gray) !important;
  opacity: 0.8 !important;
}

@media (max-width: 767px) {
  #contact #mainContent {
    padding: min(10vw, 40px) 0 min(15vw, 60px);
  }
  .l-contact {
    padding: min(8vw, 30px);
  }
  .inner-efo-default-theme .ttl-item {
    margin-bottom: min(4vw, 15px);
  }
  .inner-efo-default-theme .font-size-m {
    font-size: clamp(1.4rem, 4vw, 1.6rem) !important;
  }
  .inner-efo-default-theme .required-icon {
    font-size: min(1rem, 3vw, 1.2rem) !important;
    padding: 0 min(3vw, 10px) !important;
    margin-left: min(3vw, 10px) !important;
  }
  .inner-efo-default-theme .control-s {
    font-size: clamp(1.2rem, 4vw, 1.4rem) !important;
  }
  .inner-efo-default-theme .input-s {
    font-size: clamp(1.2rem, 4vw, 1.4rem) !important;
    height: 10vw !important;
  }
  .inner-efo-default-theme .button,
  .inner-efo-default-theme button {
    width: 100% !important;
    margin-left: 0;
    font-size: clamp(1.4rem, 4vw, 1.6rem) !important;
    height: min(13vw, 5rem) !important;
    margin-top: min(8vw, 30px) !important;
  }
}

/* thanks */
#thanks footer {
  background: var(--bg-green-light);
}
#thanks #mainContent {
  padding: min(9.58vw, 115px) 0 min(12.5vw, 150px);
  text-align: center;
}
.thanks__title {
  font-size: clamp(2rem, 2.08vw, 2.5rem);
  color: var(--bg-green-dark);
  font-weight: 600;
  letter-spacing: 0.1rem;
  margin-bottom: min(2.9vw, 35px);
}
.thanks__copy {
  font-size: clamp(1.8rem, 1.66vw, 2rem);
  margin-bottom: min(2.9vw, 35px);
}
.thanks__btn {
  margin: min(4.16vw, 50px) 0 0;
}
.btn__back {
  font-size: clamp(1.4rem, 1.3vw, 1.6rem);
  position: relative;
  padding: 0 min(1.66vw, 20px);
  display: inline-block;
}
.btn__back::before {
  content: "";
  width: min(4.16vw, 50px);
  height: 1px;
  background: var(--c-gray);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateX(-100%);
}
.btn__back::after {
  content: "";
  width: min(0.83vw, 10px);
  height: 1px;
  background: var(--c-gray);
  position: absolute;
  left: max(-4.16vw, -50px);
  top: 50%;
  transform-origin: left center;
  transform: rotate(-30deg);
}

@media (max-width: 767px) {
  #thanks #mainContent {
    padding: min(10vw, 40px) 0 min(15vw, 60px);
  }
  .thanks__title {
    font-size: clamp(2rem, 6vw, 2.5rem);
    margin-bottom: min(9vw, 35px);
  }
  .thanks__copy {
    font-size: clamp(1.8rem, 5vw, 2rem);
    margin-bottom: min(9vw, 35px);
  }
  .thanks__btn {
    margin: min(13vw, 50px) 0 0;
  }
  .btn__back {
    font-size: clamp(1.4rem, 4vw, 1.6rem);
    padding: 0 min(5vw, 20px);
  }
  .btn__back::before {
    width: min(13vw, 50px);
  }
  .btn__back::after {
    width: min(3vw, 10px);
    left: max(-13vw, -50px);
  }
  .thanks__cont p {
    text-align: left;
  }
  .thanks__cont p br {
    display: none;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

privacy

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#privacy #mainContent {
  padding: min(9.58vw, 115px) 0 min(12.5vw, 150px);
}
#privacy footer {
  background: var(--bg-green-light);
}
.privacy__read {
  margin-bottom: min(5vw, 60px);
}
.privacy__cont {
  margin-top: min(2.92vw, 35px);
}
.privacy__cont h3 {
  margin-bottom: min(1.66vw, 20px);
  font-size: clamp(1.4rem, 1.3vw, 1.6rem);
  font-weight: 600;
}
.privacy__cont h4 {
  margin-top: min(1.66vw, 20px);
}
.privacy__cont p:last-child {
  margin-bottom: 0;
}
.privacy__cont ul.listDot li {
  list-style: disc;
  margin-left: 1.5em;
}

@media (max-width: 767px) {
  #privacy #mainContent {
    padding: min(10vw, 40px) 0 min(15vw, 60px);
  }
  .privacy__read {
    margin-bottom: 0;
  }
  .privacy__cont {
    margin-top: min(5vw, 20px);
  }
  .privacy__cont h3 {
    margin-bottom: min(5vw, 20px);
    font-size: clamp(1.5rem, 4vw, 1.6rem);
  }
  .privacy__cont h4 {
    margin-top: min(4vw, 15px);
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pcSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

@media (min-width: 768px) {
  /* ----------------------------------------------------
common(pc)
---------------------------------------------------- */
  /* hover */
  a:hover {
    opacity: 0.8 !important;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
  }
  a img:hover {
    opacity: 0.8 !important;
    transition: all 0.2s ease-in-out;
  }
  .clickable:hover {
    opacity: 0.8 !important;
    transition: all 0.2s ease-in-out;
  }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
tabletSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 1200px) and (min-width: 768px) {
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
spSetting
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 767px) {
}
