@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400&family=Noto+Sans+JP:wght@400;500;600;700&display=swap");
@font-face {
  font-family: "Lato";
  src: url("../fonts/lato-semibold.ttf") format("truetype");
}
body {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #211918;
}

.u-desktop {
  display: none;
  visibility: hidden;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
    visibility: visible;
  }
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none !important;
    visibility: hidden;
  }
}

.fadeImg {
  opacity: 0;
  -webkit-animation-name: fadeSlider;
          animation-name: fadeSlider;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 1.8s;
          animation-duration: 1.8s;
  -webkit-animation-delay: 3.2s;
          animation-delay: 3.2s;
}

@-webkit-keyframes fadeSlider {
  to {
    opacity: 1;
  }
}

@keyframes fadeSlider {
  to {
    opacity: 1;
  }
}
.fadeText {
  opacity: 0;
  -webkit-animation-name: fadeText;
          animation-name: fadeText;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}

@-webkit-keyframes fadeText {
  to {
    opacity: 1;
  }
}

@keyframes fadeText {
  to {
    opacity: 1;
  }
}
.fadeUp {
  opacity: 0;
  -webkit-animation-name: fadeUp;
          animation-name: fadeUp;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-delay: 5.2s;
          animation-delay: 5.2s;
}

@-webkit-keyframes fadeUp {
  from {
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeUp {
  from {
    -webkit-transform: translateY(40px);
            transform: translateY(40px);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
.fadeUpText {
  -webkit-animation-name: fadeUpText;
          animation-name: fadeUpText;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-timing-function: cubic-bezier(0.8, 0.01, 0.8, 1);
          animation-timing-function: cubic-bezier(0.8, 0.01, 0.8, 1);
  -webkit-transform: translateY(80%);
          transform: translateY(80%);
  opacity: 0;
}
.fadeUpText-1 {
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
}
.fadeUpText-2 {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}

@-webkit-keyframes fadeUpText {
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpText {
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.recommend .imageUp:before {
  background-color: #EDF2F5;
}
.recommend:nth-child(even) .imageUp:before {
  background-color: #E1E7EB;
}
.recommend .fadeZoomOut:before {
  background-color: #EDF2F5;
}
.recommend:nth-child(even) .fadeZoomOut:before {
  background-color: #E1E7EB;
}

@media screen and (min-width: 768px) {
  .coordinate__item:nth-child(2) .fadeZoomOut img {
    -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s;
  }
}

@media screen and (min-width: 768px) {
  .coordinate__item:nth-child(3) .fadeZoomOut img {
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
}

.delighter.imageUp {
  overflow: hidden;
  position: relative;
}
.delighter.imageUp img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition-timing-function: cubic-bezier(0.01, 0.58, 0.18, 0.1);
          transition-timing-function: cubic-bezier(0.01, 0.58, 0.18, 0.1);
  -webkit-transition-duration: 0.6s;
          transition-duration: 0.6s;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}
.delighter.imageUp:before {
  -webkit-transition-timing-function: cubic-bezier(0.01, 0.58, 0.18, 0.1);
          transition-timing-function: cubic-bezier(0.01, 0.58, 0.18, 0.1);
  -webkit-transition-duration: 0.6s;
          transition-duration: 0.6s;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 1;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}
.delighter.started.imageUp:before {
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.delighter.started.imageUp img {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.delighter.fadeZoomOut {
  overflow: hidden;
  position: relative;
}
.delighter.fadeZoomOut img {
  opacity: 0;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition-duration: 1.2s;
          transition-duration: 1.2s;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}
.delighter.started.fadeZoomOut img {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.delighter .titleTop {
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-duration: 0.6s;
          transition-duration: 0.6s;
  -webkit-transition-timing-function: cubic-bezier(0.5, 0.2, 0.5, 1);
          transition-timing-function: cubic-bezier(0.5, 0.2, 0.5, 1);
  -webkit-transform: translateY(1em);
          transform: translateY(1em);
  opacity: 0;
}
.delighter.started .titleTop {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
.delighter .fade {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  opacity: 0;
}
.delighter.started .fade {
  opacity: 1;
}

html {
  font-size: 16px;
  font-size: 1rem;
}

/* hover */
a {
  text-decoration: none;
  color: inherit;
}

img {
  width: 100%;
  display: block;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

@media screen and (min-width: 768px) {
  .coordinate__inner {
    padding-inline: 2.5rem;
  }
}

.coordinate__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.coordinate__slider-nav {
  display: none;
}
@media screen and (min-width: 768px) {
  .coordinate__slider-nav {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.coordinate__slider-navItem {
  display: inline-block;
  padding: 9.6px;
  padding: 0.6rem;
  border: 1px solid #3E3E3E;
  border-radius: 50vh;
  margin-left: 8px;
  margin-left: 0.5rem;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}
@media screen and (min-width: 768px) {
  .coordinate__slider-navItem {
    padding: 0.8rem;
    margin-left: 1rem;
  }
}
.coordinate__slider-navItem-arrow {
  position: relative;
}
.coordinate__slider-navItem-arrow::before {
  content: "";
  display: block;
  width: 6.4px;
  width: 0.4rem;
  height: 6.4px;
  height: 0.4rem;
  border-top: 1px solid #3E3E3E;
  border-right: 1px solid #3E3E3E;
}
@media screen and (min-width: 768px) {
  .coordinate__slider-navItem-arrow::before {
    width: 0.6rem;
    height: 0.6rem;
  }
}
.coordinate__slider-navItem-prev .coordinate__slider-navItem-arrow {
  -webkit-transform: translateX(0.1rem);
          transform: translateX(0.1rem);
}
.coordinate__slider-navItem-prev .coordinate__slider-navItem-arrow::before {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
.coordinate__slider-navItem-next .coordinate__slider-navItem-arrow {
  -webkit-transform: translateX(-0.1rem);
          transform: translateX(-0.1rem);
}
.coordinate__slider-navItem-next .coordinate__slider-navItem-arrow::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.coordinate__slider-navItem:hover {
  background: #3E3E3E;
}
.coordinate__slider-navItem:hover .coordinate__slider-navItem-arrow::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

@media screen and (min-width: 768px) {
  .coordinate__list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-flow: column;
  }
}
@media screen and (max-width: 767px) {
  .coordinate__list {
    display: block !important;
  }
}

.coordinate__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  gap: 0.625rem;
  padding: 12px;
  padding: 0.75rem;
  border-top: 1px solid #3E3E3E;
  border-right: 1px solid #3E3E3E;
}
@media screen and (max-width: 767px) {
  .coordinate__item {
    border-left: 1px solid #3E3E3E;
  }
  .coordinate__item:last-child {
    border-bottom: 1px solid #3E3E3E;
  }
}
@media screen and (min-width: 768px) {
  .coordinate__item {
    padding: 1rem;
    padding-bottom: 0.875rem;
    border-bottom: 1px solid #3E3E3E;
  }
  .coordinate__item:first-child {
    border-left: 1px solid #3E3E3E;
  }
}

.coordinate__title {
  text-transform: uppercase;
  color: #211918;
  letter-spacing: 0.04em;
  font-family: "Lato", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  margin-bottom: 16px;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .coordinate__title {
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
  }
}

.coordinate__text {
  font-size: 12px;
  font-size: 0.75rem;
  color: rgba(33, 25, 24, .8);
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .coordinate__text {
    letter-spacing: -0.01em;
  }
}

#footer {
  background-color: #000;
}

.copyright {
  height: 24px;
  line-height: 24px;
  color: #fff;
  font-size: 10px;
  font-size: 0.625rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .copyright {
    height: 54px;
    line-height: 54px;
  }
}

.page_home {
  padding-top: 40px;
}
@media screen and (min-width: 768px) {
  .page_home {
    padding-top: 64px;
  }
}

#header {
  background-color: #000;
  width: 100%;
  z-index: 1001;
}
#header.fixed {
  position: fixed;
  top: 0;
  left: 0;
}
#header .site-logo {
  width: 120px;
  padding: 12px 0;
  line-height: 0;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  #header .site-logo {
    width: 184px;
    padding: 20px 0;
  }
}
#header #online-shop {
  width: 20px;
  position: absolute;
  top: 12px;
  right: 12px;
  line-height: 0;
  z-index: 10000;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  #header #online-shop {
    width: 28px;
    top: 18px;
    right: 24px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
}

main {
  background-color: #BAC3C9;
}

.banner {
  max-width: 378px;
  max-width: 23.625rem;
  width: 100%;
  position: fixed;
  z-index: 10;
}
@media (hover: hover) and (pointer: fine) {
  .banner a {
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }
  .banner a:hover {
    -webkit-transition: 0.4s;
    transition: 0.4s;
    opacity: 0.8;
  }
}
.banner img {
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, .1607843137);
          box-shadow: 0 3px 6px rgba(0, 0, 0, .1607843137);
}
@media screen and (min-width: 768px) {
  .banner {
    right: 1.25rem;
    bottom: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .banner {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 0.75rem;
    width: calc(100% - 1.5rem);
  }
}

.hero {
  padding-block: 56px 105px;
  padding-block: 3.5rem 6.5625rem;
}
@media screen and (min-width: 768px) {
  .hero {
    padding-block: 5.8565153734vw 8.78477306vw;
  }
}

.hero__inner {
  margin-inline: auto;
  position: relative;
  padding-inline: 32px;
  padding-inline: 2rem;
}
@media screen and (min-width: 768px) {
  .hero__inner {
    padding-inline: 2.5rem;
    width: calc(100% - 4rem);
  }
}

.hero__lead {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #7B7A7A;
  font-size: 10px;
  font-size: 0.625rem;
  letter-spacing: 0.04em;
  position: absolute;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
  font-family: "Lato", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .hero__lead {
    top: 0.25rem;
    left: 0.625rem;
  }
}
@media screen and (min-width: 768px) {
  .hero__lead {
    bottom: 100%;
    left: 0;
  }
}

.hero__title {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  z-index: 2;
  overflow: hidden;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.hero__title--top {
  top: -29px;
  top: -1.8125rem;
  right: 10px;
  right: 0.625rem;
  padding-bottom: 4px;
  padding-bottom: 0.25rem;
}
@media screen and (min-width: 768px) {
  .hero__title--top {
    top: -4.0995607613vw;
    right: 0;
    padding-bottom: 0.625rem;
  }
}
.hero__title--vertical {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 6px;
  margin-top: 0.375rem;
  right: 10px;
  right: 0.625rem;
}
@media screen and (min-width: 768px) {
  .hero__title--vertical {
    margin-top: 1.756954612vw;
    right: 0;
  }
}
.hero__title--bottom {
  left: 24px;
  left: 1.5rem;
  bottom: -22px;
  bottom: -1.375rem;
  padding-bottom: 8px;
  padding-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .hero__title--bottom {
    left: 0;
    bottom: -3.125rem;
    padding-bottom: 0.75rem;
  }
}
.hero__title img {
  height: 100%;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

@media screen and (max-width: 767px) {
  .hero__title1 {
    height: 5.3191489362vw;
    min-height: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .hero__title1 {
    height: 3.513909224vw;
  }
}

.hero__titleNum1 {
  position: relative;
}
@media screen and (max-width: 767px) {
  .hero__titleNum1 {
    height: 9.0425531915vw;
    min-height: 2.125rem;
    margin-inline: 0.25rem;
  }
}
@media screen and (min-width: 768px) {
  .hero__titleNum1 {
    height: 5.270863836vw;
    margin-inline: 0.8125rem 0.375rem;
  }
}
.hero__titleNum1:after {
  content: "";
  position: absolute;
  display: block;
  background-color: #fff;
  width: 100%;
  height: 2px;
  height: 0.125rem;
  bottom: -4px;
  bottom: -0.25rem;
}
@media screen and (min-width: 768px) {
  .hero__titleNum1:after {
    height: 0.25rem;
    bottom: -0.625rem;
  }
}

@media screen and (max-width: 767px) {
  .hero__title2 {
    width: 5.8510638298vw;
  }
}
@media screen and (min-width: 768px) {
  .hero__title2 {
    width: 3.513909224vw;
  }
}
.hero__title2 img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .hero__title3 {
    height: 12.7659574468vw;
  }
}
@media screen and (min-width: 768px) {
  .hero__title3 {
    height: 4.6852122987vw;
  }
}

.hero__titleNum3 {
  position: relative;
}
@media screen and (max-width: 767px) {
  .hero__titleNum3 {
    height: 18.085106383vw;
    margin-inline: 0.25rem;
  }
}
@media screen and (min-width: 768px) {
  .hero__titleNum3 {
    height: 7.3206442167vw;
    margin-inline: 0.625rem 0.375rem;
  }
}
.hero__titleNum3:after {
  content: "";
  position: absolute;
  display: block;
  background-color: #fff;
  width: 100%;
  height: 3px;
  height: 0.1875rem;
  bottom: -8px;
  bottom: -0.5rem;
}
@media screen and (min-width: 768px) {
  .hero__titleNum3:after {
    height: 0.25rem;
    bottom: -0.75rem;
  }
}

.hero__main {
  overflow: hidden;
}

.hero__image.swiper-slide {
  overflow: hidden;
  width: 40.9574468085vw;
  border-radius: 0.25rem;
}
@media screen and (min-width: 768px) {
  .hero__image.swiper-slide {
    width: 18.3016105417vw;
    border-radius: 0.5rem;
  }
}

.hero__slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.hero__slider + .hero__slider {
  margin-top: 2px;
  margin-top: 0.125rem;
}
@media screen and (min-width: 768px) {
  .hero__slider + .hero__slider {
    margin-top: 0.25rem;
  }
}

.inner {
  width: 100%;
  margin-inline: auto;
  width: calc(100% - 3rem);
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 1286px;
    width: calc(100% - 5rem);
  }
}

.intro {
  position: relative;
  padding-block: 40px;
  padding-block: 2.5rem;
}
@media screen and (min-width: 768px) {
  .intro {
    padding-block: 5rem;
  }
}
.intro:before {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  content: "";
  width: 100%;
  display: block;
  background: transparent -webkit-gradient(linear, left top, left bottom, from(#BAC3C9), to(rgba(186, 195, 201, 0))) 0% 0% no-repeat padding-box;
  background: transparent linear-gradient(180deg, #BAC3C9 0%, rgba(186, 195, 201, 0) 100%) 0% 0% no-repeat padding-box;
  height: 40px;
  height: 2.5rem;
}
@media screen and (min-width: 768px) {
  .intro:before {
    height: 5rem;
  }
}

.intro__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.1;
  z-index: 1;
  background-image: url(../images/bg-sp.svg);
}
@media screen and (min-width: 768px) {
  .intro__bg {
    background-image: url(../images/bg.svg);
  }
}

.intro__inner {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .intro__inner {
    max-width: 49.625rem;
    width: 100%;
  }
}

.intro__lead {
  color: #fff;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.04em;
  margin-bottom: 36px;
  margin-bottom: 2.25rem;
}
@media screen and (min-width: 768px) {
  .intro__lead {
    font-size: 0.875rem;
    margin-bottom: 5rem;
    text-align: center;
  }
}

.intro__box {
  border: 1px solid #3E3E3E;
  padding: 20px;
  padding: 1.25rem;
  color: #3E3E3E;
}
@media screen and (min-width: 768px) {
  .intro__box {
    display: grid;
    grid-template-columns: auto 1fr;
    padding: 2.5rem;
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .intro__text {
    grid-row: 1/2;
    grid-column: 2;
  }
}

.intro__title {
  font-weight: 600;
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 12px;
  margin-bottom: 0.75rem;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 768px) {
  .intro__title {
    font-size: 1.25rem;
    margin-bottom: 0.625rem;
  }
}

.intro__desc {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 2;
  margin-bottom: 16px;
  margin-bottom: 1rem;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 768px) {
  .intro__desc {
    font-size: 0.875rem;
    margin-bottom: 0.875rem;
    letter-spacing: 0.04em;
  }
}

.intro__staff {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  gap: 0.75rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .intro__staff {
    display: contents;
  }
}

.intro__staffImg {
  max-width: 120px;
  max-width: 7.5rem;
}
@media screen and (min-width: 768px) {
  .intro__staffImg {
    max-width: 9.75rem;
    grid-column: 1/2;
    grid-row: span 3;
  }
}

.intro__staffProfile {
  font-weight: 600;
  letter-spacing: 0.04em;
  font-size: 12px;
  font-size: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
  gap: 0.375rem;
}
@media screen and (min-width: 768px) {
  .intro__staffProfile {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0.75rem;
    grid-column: 2;
    grid-row: 2/3;
  }
}

.recommend {
  padding-block: 80px;
  padding-block: 5rem;
  background-color: #EDF2F5;
}
.recommend:nth-child(even) {
  background-color: #E1E7EB;
}
@media screen and (min-width: 768px) {
  .recommend {
    padding-block: 7.5rem;
  }
}

.recommend__coordinate {
  overflow: hidden;
}

.recommend__inner {
  display: grid;
  gap: 24px;
  gap: 1.5rem;
  margin-bottom: 44px;
  margin-bottom: 2.75rem;
}
@media screen and (min-width: 768px) {
  .recommend__inner {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    margin-bottom: 4.75rem;
  }
}

@media screen and (min-width: 768px) {
  .recommend__main {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    position: relative;
  }
}

.recommend__styling {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .recommend__styling {
    max-width: 33.9375rem;
  }
}

.recommend__lead {
  display: none;
}
@media screen and (min-width: 768px) {
  .recommend__lead {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    color: #7B7A7A;
    font-size: 0.625rem;
    letter-spacing: 0.04em;
    position: absolute;
    left: 0;
    bottom: 100%;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transform-origin: bottom left;
            transform-origin: bottom left;
    font-family: "Lato", "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka Meiryo, "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 300;
  }
}

@media screen and (min-width: 768px) {
  .recommend__text {
    padding-top: 1rem;
    padding-right: 2.5rem;
  }
}

.recommend__title {
  overflow: hidden;
  letter-spacing: 0.04em;
  color: #3E3E3E;
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
  margin-bottom: 24px;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .recommend__title {
    margin-bottom: 3.375rem;
    font-size: 1.5rem;
  }
}

.recommend__staff {
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .recommend__staff {
    margin-bottom: 1rem;
  }
}

.recommend__staffImg {
  max-width: 120px;
  max-width: 7.5rem;
  width: 100%;
  border-radius: 50vh;
  overflow: hidden;
}

.recommend__staffProfile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 2;
  color: #3E3E3E;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .recommend__staffProfile {
    line-height: 1.5;
  }
  .recommend__staffProfile p:nth-child(2) {
    margin-top: 0.5em;
  }
}

.recommend__desc {
  color: rgba(62, 62, 62, .8);
  line-height: 2;
  font-size: 12px;
  font-size: 0.75rem;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .recommend__desc {
    font-size: 0.875rem;
    margin-bottom: 3rem;
  }
}

.recommend__btn {
  width: 120px;
  width: 7.5rem;
}
@media screen and (min-width: 768px) {
  .recommend__btn {
    width: 10.25rem;
  }
}
.recommend__btn a {
  color: #211918;
  width: 100%;
  display: block;
  border: 1px solid #211918;
  text-align: center;
  font-weight: 500;
  border-radius: 1.5rem;
  line-height: 29px;
  line-height: 1.8125rem;
  font-size: 12px;
  font-size: 0.75rem;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .recommend__btn a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    font-size: 0.875rem;
    line-height: 2.125rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .recommend__btn a:before {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(0);
            transform: translate(-50%, -50%) scale(0);
    width: 2.25rem;
    height: 2.125rem;
    border-radius: 1.5rem;
    background-color: #211918;
    opacity: 0;
    -webkit-transition: ease-out 0.3s;
    transition: ease-out 0.3s;
  }
  .recommend__btn a:hover::before {
    -webkit-transform: translate(-50%, -50%) scale(6);
            transform: translate(-50%, -50%) scale(6);
    opacity: 1;
    -webkit-transition: ease-out 0.3s;
    transition: ease-out 0.3s;
  }
  .recommend__btn a:hover span {
    -webkit-transform: translate3d(0, 0, -60px) rotateX(90deg);
            transform: translate3d(0, 0, -60px) rotateX(90deg);
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
  .recommend__btn a:hover span:after {
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
}
.recommend__btn a span {
  color: #211918;
  display: inline-block;
  position: relative;
  -webkit-transform-origin: 50% 0%;
          transform-origin: 50% 0%;
}
@media (hover: hover) and (pointer: fine) {
  .recommend__btn a span {
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
}
@media (hover: hover) and (pointer: fine) {
  .recommend__btn a span:after {
    color: #fff;
    position: absolute;
    left: 0;
    top: 0;
    content: "商品はこちら";
    display: inline-block;
    -webkit-transform-origin: 50% 0%;
            transform-origin: 50% 0%;
    -webkit-transform: translate3d(0, 100%, 0) rotateX(-90deg);
            transform: translate3d(0, 100%, 0) rotateX(-90deg);
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
  }
}
/*# sourceMappingURL=styles.css.map */
