@charset "UTF-8";
/* 使用例
@use "global" as g;
@use "sass:map";

.hoge {
z-index: map.get(g.$layer, "header");
}

相対的な順番は、共通定義したドロワーの値から
z-index: map.get($layer, "drawer") + 1;
あるいは
z-index: map.get($layer, "drawer") - 1;
などして制御。
*/
html {
  scroll-behavior: smooth;
}

body {
  font-family: "Shippori Mincho", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #000;
}

img {
  width: 100%;
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
.l-inner {
  width: 1400px;
  max-width: 89.3333333333vw;
  margin: auto;
}

.l-innerLarge {
  width: 1700px;
  max-width: 89.3333333333vw;
  margin: auto;
}

.c-btnPrimary {
  font-size: 1.125rem;
  font-weight: 700;
  position: relative;
  width: 154px;
  display: inline-block;
}
.c-btnPrimary::before, .c-btnPrimary::after {
  content: "";
  position: absolute;
  background: #000;
  right: 0;
  bottom: 0;
  transition: width 0.3s, right 0.3s;
}
.c-btnPrimary::before {
  height: 1px;
  width: 42px;
}
.c-btnPrimary::after {
  width: 1px;
  height: 14px;
  transform: rotate(-45deg);
  transform-origin: right bottom;
}
.c-btnPrimary:hover::before {
  width: 135px;
  right: -93px;
}
@media screen and (max-width: 767px) {
  .c-btnPrimary:hover::before {
    width: 42px;
    right: 0;
  }
}
.c-btnPrimary:hover::after {
  right: -93px;
}
@media screen and (max-width: 767px) {
  .c-btnPrimary:hover::after {
    right: 0;
  }
}

.c-sectionHead {
  display: inline-block;
  position: relative;
}
.c-sectionHead::after {
  left: calc(100% + 20px);
  bottom: 42px;
  position: absolute;
  content: "";
  height: 1px;
  width: 500px;
  background: #000;
  transform: rotate(-23.5deg);
  transform-origin: 0 0;
}
@media screen and (max-width: 767px) {
  .c-sectionHead::after {
    bottom: calc(100% + 14px);
    left: 76px;
  }
}
.c-sectionHead__ttl {
  font-size: 5.5rem;
}
@media screen and (max-width: 767px) {
  .c-sectionHead__ttl {
    font-size: 4.8125rem;
  }
}
.c-sectionHead__ttl .--light {
  color: #fff;
}
.c-sectionHead__subTtl {
  font-size: 2.625rem;
  line-height: 1.1904761905;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .c-sectionHead__subTtl {
    font-size: 2.125rem;
    margin-top: 16px;
  }
}
.c-sectionHead__subTtlEn {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .c-sectionHead__subTtlEn {
    margin-top: 14px;
  }
}

.c-arrowLink {
  display: inline-block;
  text-align: center;
  transition: opacity 0.3s;
}
.c-arrowLink:hover {
  opacity: 0.6;
}
.c-arrowLink__ttl {
  font-size: 2.25rem;
  font-weight: 500;
  border-bottom: 1px solid #000;
  display: inline-block;
  padding-bottom: 4px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-arrowLink__ttl {
    font-size: 2.125rem;
  }
}
.c-arrowLink__ttl::after {
  content: "";
  background: url(../img/ico_arrowRight_02.svg) no-repeat center center/contain;
  width: 27px;
  height: 12px;
  position: absolute;
  left: calc(100% + 8px);
  top: 50%;
  transform: translateY(-50%);
}
.c-arrowLink__subTtl {
  margin-top: 14px;
}

@media screen and (max-width: 767px) {
  .c-sectionHead02 {
    text-align: center;
  }
}
.c-sectionHead02__ttl {
  font-size: 2.375rem;
  font-weight: 500;
  border-bottom: 1px solid #000;
  display: inline-block;
  padding-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .c-sectionHead02__ttl {
    font-size: 2.125rem;
  }
}
.c-sectionHead02__subTtl {
  margin-top: 14px;
}
.c-sectionHead02.--light {
  color: #fff;
}
.c-sectionHead02.--light .c-sectionHead02__ttl {
  border-bottom-color: #fff;
}

.c-pageTop {
  position: absolute;
  width: 42px;
  right: 30px;
  bottom: 30px;
}
@media screen and (max-width: 767px) {
  .c-pageTop {
    right: 16px;
    bottom: 10px;
  }
}
.p-drawerContent {
  background: #433327;
  width: 375px;
  height: 100vh;
  right: 0;
  top: 0;
  position: fixed;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
  z-index: 299;
  transform: translateX(105%);
  overflow: auto;
  padding: 100px 50px 40px;
}
.p-drawerContent.isActive {
  transition: transform 0.5s ease 0s;
  transform: translateX(0);
}
.p-drawerContent__item {
  display: flex;
  align-items: flex-start;
}
.p-drawerContent__item + .p-drawerContent__item {
  margin-top: 40px;
}
.p-drawerContent__link {
  display: block;
  color: #fff;
  position: relative;
  transition: opacity 0.3s;
}
.p-drawerContent__link:hover {
  opacity: 0.6;
}
.p-drawerContent__link::after {
  position: absolute;
  content: "";
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
  height: 11px;
  background: url(/img/arrow-b.png) no-repeat center center/contain;
}
.p-drawerContent__dt {
  width: 110px;
}
.p-drawerContent__dd {
  width: calc(100% - 110px);
}
.p-drawerContent__lv2Item + .p-drawerContent__lv2Item {
  margin-top: 12px;
}
.p-drawerContent__lv2Link {
  font-size: 0.75rem;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 2px;
  transition: opacity 0.3s;
}
.p-drawerContent__lv2Link:hover {
  opacity: 0.6;
}
.p-drawerContent__lv2Link::before {
  content: "-";
  display: inline-block;
}
.p-drawerContent__lv3List {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px 0;
  margin-top: 50px;
}
.p-drawerContent__lv3Link {
  color: #fff;
  transition: opacity 0.3s;
}
.p-drawerContent__lv3Link:hover {
  opacity: 0.6;
}
.p-drawerContent__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 76px;
}
.p-drawerContent__footerInsta {
  width: 36px;
}
.p-drawerContent__footerLogo {
  width: 120px;
}
.p-drawerBackground {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  z-index: 298;
  display: none;
}
.p-drawerBackground.isActive {
  display: block;
}

.p-drawerIcon {
  position: fixed;
  width: 60px;
  height: 60px;
  top: 60px;
  right: 50px;
  z-index: 300;
  display: flex;
  background: transparent;
  border-bottom-left-radius: 3px;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  /* drop-shadow */
  filter: drop-shadow(0px 0px 1px #d8d6d6);
}
@media screen and (max-width: 767px) {
  .p-drawerIcon {
    top: 4px;
    right: 10px;
  }
}
.p-drawerIcon.isActive .p-drawerIcon__bar1 {
  transform: translateY(-50%) rotate(-45deg);
  top: 50%;
  background: #fff;
}
.p-drawerIcon.isActive .p-drawerIcon__bar2 {
  display: none;
}
.p-drawerIcon.isActive .p-drawerIcon__bar3 {
  transform: translateY(-50%) rotate(45deg);
  top: 50%;
  background: #fff;
}
.p-drawerIcon.isActive .p-drawerIcon__text {
  color: #fff;
}
.p-drawerIcon__bars {
  width: 34px;
  height: 12px;
  display: block;
  position: relative;
}
.p-drawerIcon__bar1, .p-drawerIcon__bar2, .p-drawerIcon__bar3 {
  position: absolute;
  width: 100%;
  height: 2px;
  background: #433327;
  left: 0;
  transition: 0.3s;
}
.p-drawerIcon__bar1 {
  top: 0;
}
.p-drawerIcon__bar2 {
  top: 50%;
  transform: translateY(-50%);
}
.p-drawerIcon__bar3 {
  bottom: 0;
}
.p-drawerIcon__text {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.75rem;
  color: #433327;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.p-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
}
.p-header__box {
  margin: 38px 0 0 35px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  /* drop-shadow */
  filter: drop-shadow(0px 0px 1px #d8d6d6);
}
@media screen and (max-width: 767px) {
  .p-header__box {
    margin: 18px 0 0 16px;
  }
}
.p-header__logo {
  width: 154px;
}
@media screen and (max-width: 767px) {
  .p-header__logo {
    width: 112px;
  }
}
.p-header__insta {
  width: 36px;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-header__insta {
    display: none;
  }
}
.p-header__btn {
  position: absolute;
  top: 80px;
  right: 120px;
  width: 140px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  font-size: 0.875rem;
  gap: 6px;
  transition: color 0.3s, background 0.3s;
}
@media screen and (max-width: 767px) {
  .p-header__btn {
    display: none;
  }
}
.p-header__btn:hover {
  background: #000;
  color: #fff;
}
.p-header__btn::before {
  content: "";
  background: url(../img/ico_mail_01.svg) no-repeat center center/contain;
  width: 17px;
  height: 11px;
  display: inline-block;
}
.p-header__btn:hover::before {
  background-image: url(../img/ico_mail_01_light.svg);
}

@media screen and (max-width: 767px) {
  .p-mv {
    padding: 50px 0 0;
  }
}
.p-mv__container {
  max-width: 1920px;
  margin: auto;
}
.p-mv__imgWrap {
  display: flex;
  justify-content: center;
  position: relative;
}
.p-mv__imgWrap::before, .p-mv__imgWrap:after {
  content: "";
  position: absolute;
  background: no-repeat center center/contain;
  bottom: 0;
}
.p-mv__imgWrap::before {
  background-image: url(../img/img_mv_02.png);
  width: 256px;
  height: 248.5px;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-mv__imgWrap::before {
    display: none;
  }
}
.p-mv__imgWrap::after {
  background-image: url(../img/img_mv_03.png);
  right: 0;
  width: 627px;
  height: 274.5px;
}
@media screen and (max-width: 767px) {
  .p-mv__imgWrap::after {
    display: none;
  }
}
.p-mv__img {
  max-width: 1482px;
  height: 880px;
  object-fit: cover;
  box-shadow: 8px 8px 10px -5px #777777;
}
@media screen and (max-width: 767px) {
  .p-mv__img {
    box-shadow: none;
    height: auto;
  }
}
.p-mv__body {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-mv__body {
    text-align: left;
    display: flex;
    justify-content: center;
  }
}
.p-mv__ttl {
  font-size: 2.625rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-mv__ttl {
    font-size: 6.9333333333vw;
  }
}
.p-mv__subTtl {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-mv__subTtl {
    font-size: 0.75rem;
    font-size: 3.2vw;
  }
}

.p-frontAbout {
  margin-top: 74px;
}
@media screen and (max-width: 767px) {
  .p-frontAbout {
    margin-top: 0;
  }
}
.p-frontAbout__inner {
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 1399px) {
  .p-frontAbout__inner {
    flex-direction: column;
    gap: 100px;
  }
}
@media screen and (max-width: 767px) {
  .p-frontAbout__inner {
    gap: 180px;
  }
}
.p-frontAbout__ttlWrap {
  width: 50%;
}
@media screen and (max-width: 1399px) {
  .p-frontAbout__ttlWrap {
    width: 100%;
  }
}
.p-frontAbout__ttlText {
  font-size: 10.9375rem;
}
@media screen and (max-width: 1399px) {
  .p-frontAbout__ttlText {
    font-size: 10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-frontAbout__ttlText {
    font-size: 4.8125rem;
  }
}
.p-frontAbout__ttlText .--light {
  color: #fff;
}
.p-frontAbout__ttlTextSmall {
  font-size: 4.625rem;
  line-height: 1;
}
.p-frontAbout__body {
  width: 50%;
  padding-left: 7.1428571429%;
}
@media screen and (max-width: 1399px) {
  .p-frontAbout__body {
    width: 100%;
    padding-left: 0;
  }
}
.p-frontAbout__sectionHead::after {
  left: 100%;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-frontAbout__sectionHead::after {
    bottom: calc(100% + 14px);
    left: 76px;
  }
}
.p-frontAbout__subTtl {
  margin-top: 0;
}
.p-frontAbout__text {
  font-size: 1.125rem;
  line-height: 1.6666666667;
  margin-top: 80px;
}
@media screen and (max-width: 1399px) {
  .p-frontAbout__text {
    margin-top: 40px;
  }
}
.p-frontAbout__btnWrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-frontAbout__btnWrap {
    margin-top: 20px;
  }
}
.p-main {
  overflow: hidden;
}

.p-frontService {
  margin-top: 180px;
}
@media screen and (max-width: 767px) {
  .p-frontService {
    margin-top: 220px;
  }
}
.p-frontService__body {
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 130px 0 150px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-frontService__body {
    flex-direction: column;
    gap: 120px;
    padding: 40px 0 70px;
  }
}
.p-frontService__body::before {
  z-index: -1;
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  background: url(../img/bg_frontService_01.jpg) no-repeat center center/cover;
  height: 100%;
  width: calc(100vw - (100vw - 100%) / 2);
  margin-left: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  .p-frontService__body::before {
    width: 100vw;
    margin-right: calc(50% - 50vw);
    background-image: url(../img/bg_frontService_01_sp.jpg);
  }
}
.p-frontService__body::after {
  position: absolute;
  content: "ALMIGHTY — Service";
  left: calc(100% + 70px);
  top: 0;
  writing-mode: vertical-rl;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-frontService__body::after {
    top: auto;
    bottom: calc(100% + 48px);
    left: auto;
    right: 0;
    font-size: 0.75rem;
    white-space: nowrap;
  }
}
.p-frontService__list {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-frontService__list {
    width: 100%;
  }
}
.p-frontService__item + .p-frontService__item {
  margin-top: 50px;
}
.p-frontService__link {
  color: #fff;
  transition: opacity 0.3s;
}
.p-frontService__link:hover {
  opacity: 0.6;
}
.p-frontService__linkText {
  font-size: 1.625rem;
  display: inline-block;
  border-bottom: 1px solid #fff;
  padding-bottom: 6px;
  position: relative;
}
.p-frontService__linkText::after {
  position: absolute;
  left: calc(100% + 4px);
  top: 50%;
  transform: translateY(-50%);
  content: "";
  background: url(../img/ico_arrowRight_01.svg) no-repeat center center/contain;
  height: 12px;
  width: 27px;
}
.p-frontService__linkTextEn {
  margin-top: 4px;
}
.p-frontService__text {
  font-size: 1.875rem;
  color: #fff;
  width: 50%;
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-frontService__text {
    width: 100%;
    font-size: 1.625rem;
  }
}

.p-frontStrength {
  margin-top: 180px;
}
@media screen and (max-width: 767px) {
  .p-frontStrength {
    margin-top: 220px;
  }
}
.p-frontStrength__headWrap {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-frontStrength__headWrap {
    justify-content: flex-start;
  }
}
.p-frontStrength__sectionHead {
  position: relative;
  right: -272px;
}
@media screen and (max-width: 1399px) {
  .p-frontStrength__sectionHead {
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-frontStrength__sectionHead {
    right: -28px;
  }
}
.p-frontStrength__body {
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 130px 0 150px;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-frontStrength__body {
    flex-direction: column;
    gap: 120px;
    padding: 40px 0 70px;
  }
}
.p-frontStrength__body::before {
  z-index: -1;
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  background: url(../img/bg_frontStrength_01.jpg) no-repeat center center/cover;
  height: 100%;
  width: calc(100vw - (100vw - 100%) / 2);
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  .p-frontStrength__body::before {
    width: 100vw;
    margin-right: calc(50% - 50vw);
    background-image: url(../img/bg_frontStrength_01_sp.jpg);
  }
}
.p-frontStrength__body::after {
  position: absolute;
  content: "ALMIGHTY — Strength";
  right: calc(100% + 70px);
  top: 0;
  writing-mode: vertical-rl;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-frontStrength__body::after {
    top: auto;
    bottom: calc(100% + 48px);
    left: 0;
    right: auto;
    font-size: 0.75rem;
    white-space: nowrap;
  }
}
.p-frontStrength__list {
  width: 50%;
  padding-left: 60px;
}
@media screen and (max-width: 767px) {
  .p-frontStrength__list {
    width: 100%;
    padding-left: 0;
  }
}
.p-frontStrength__item + .p-frontStrength__item {
  margin-top: 50px;
}
.p-frontStrength__link {
  color: #fff;
  transition: opacity 0.3s;
}
.p-frontStrength__link:hover {
  opacity: 0.6;
}
.p-frontStrength__linkText {
  font-size: 1.625rem;
  display: inline-block;
  border-bottom: 1px solid #fff;
  padding-bottom: 6px;
  position: relative;
}
.p-frontStrength__linkText::after {
  position: absolute;
  left: calc(100% + 4px);
  top: 50%;
  transform: translateY(-50%);
  content: "";
  background: url(../img/ico_arrowRight_01.svg) no-repeat center center/contain;
  height: 12px;
  width: 27px;
}
.p-frontStrength__linkTextEn {
  margin-top: 4px;
}
.p-frontStrength__text {
  font-size: 1.875rem;
  color: #fff;
  width: 50%;
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-frontStrength__text {
    width: 100%;
    font-size: 1.625rem;
  }
}

.p-frontProducts {
  margin-top: 400px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-frontProducts {
    margin-top: 290px;
  }
}
.p-frontProducts::before {
  content: "";
  position: absolute;
  bottom: calc(100% - 170px);
  left: calc(50% - 650px);
  transform: translateX(-50%);
  background: url(../img/img_frontProductsDecoration_01.png) no-repeat center center/contain;
  width: 953px;
  height: 387px;
}
@media screen and (max-width: 767px) {
  .p-frontProducts::before {
    bottom: calc(100% + 100px);
    left: calc(50% - 50px);
    width: 381.2px;
    height: 154.8px;
  }
}
.p-frontProducts__inner {
  position: relative;
}
.p-frontProducts__headWrap {
  display: flex;
  justify-content: center;
}
.p-frontProducts__head {
  text-align: center;
}
.p-frontProducts__ttl {
  font-size: 2.25rem;
  font-weight: 500;
}
.p-frontProducts__subTtl {
  margin-top: 20px;
}
.p-frontProducts__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 76px 280px;
  margin-top: 50px;
  position: relative;
}
@media screen and (max-width: 1399px) {
  .p-frontProducts__list {
    gap: 50px 100px;
  }
}
@media screen and (max-width: 767px) {
  .p-frontProducts__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
    margin: 35px auto 0;
    max-width: 288px;
  }
}
.p-frontProducts__list::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-9.7deg);
  height: 79%;
  width: 200vw;
  background: #fdf8ed;
}
@media screen and (max-width: 767px) {
  .p-frontProducts__list::before {
    width: 500vw;
    transform: translate(-50%, -50%) rotate(-25deg);
  }
}
.p-frontProducts__list::after {
  position: absolute;
  content: "ALMIGHTY — List of products";
  left: calc(100% + 70px);
  top: 0;
  writing-mode: vertical-rl;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .p-frontProducts__list::after {
    top: 0;
    transform: translateY(-50%);
    left: calc(100% + 10px);
    font-size: 0.75rem;
    white-space: nowrap;
  }
}
.p-productsCard__link {
  position: relative;
  display: block;
  transition: opacity 0.3s;
}
.p-productsCard__link:hover {
  opacity: 0.6;
}
.p-productsCard__body {
  color: #fff;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.p-productsCard__ttl {
  font-size: 1.625rem;
  font-weight: 500;
  border-bottom: 1px solid #fff;
  display: inline-block;
  padding-bottom: 2px;
}
@media screen and (max-width: 1399px) {
  .p-productsCard__ttl {
    font-size: 1.25rem;
  }
}
.p-productsCard__subTtl {
  margin-top: 4px;
}
@media screen and (max-width: 767px) {
  .p-productsCard__subTtl {
    font-size: 0.625rem;
  }
}

.p-frontType {
  padding: 146px 0 256px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-frontType {
    padding: 146px 0 440px;
  }
}
.p-frontType::before, .p-frontType::after {
  content: "";
  background: no-repeat center center/contain;
}
.p-frontType::before {
  position: absolute;
  top: 250px;
  left: 0;
  background-image: url(../img/img_frontType_01.jpg);
  width: 30vw;
  height: 18.4895833333vw;
}
@media screen and (max-width: 767px) {
  .p-frontType::before {
    top: 492px;
    width: 294px;
    height: 137px;
  }
}
.p-frontType::after {
  position: absolute;
  top: 100px;
  right: 0;
  background-image: url(../img/img_frontType_02.jpg);
  width: 30vw;
  height: 15.8854166667vw;
}
@media screen and (max-width: 1399px) {
  .p-frontType::after {
    top: 200px;
  }
}
@media screen and (max-width: 767px) {
  .p-frontType::after {
    top: 682px;
    width: 222px;
    height: 118px;
  }
}
.p-frontType__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 150px;
}
@media screen and (max-width: 767px) {
  .p-frontType__list {
    gap: 130px;
  }
}
.p-frontFlow {
  background-image: linear-gradient(to bottom, #fdf8ed, #fff);
}
@media screen and (max-width: 767px) {
  .p-frontFlow {
    background: transparent;
  }
}
.p-frontFlow__inner {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-frontFlow__inner {
    flex-direction: column;
  }
}
.p-frontFlow__body {
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-frontFlow__body {
    width: 100%;
    background-image: linear-gradient(to bottom, #fdf8ed, #fff);
    padding: 86px 0 50px;
  }
}
.p-frontFlow__imgWrap {
  width: 50vw;
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  .p-frontFlow__imgWrap {
    width: 100%;
    margin-right: auto;
  }
}
.p-frontOurWorks {
  padding: 188px 0 244px;
}
@media screen and (max-width: 767px) {
  .p-frontOurWorks {
    padding: 114px 0 150px;
  }
}
.p-frontOurWorks__media {
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 1399px) {
  .p-frontOurWorks__media {
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
  }
}
.p-frontOurWorks__body {
  width: 42.8571428571%;
  padding-right: 70px;
}
@media screen and (max-width: 1399px) {
  .p-frontOurWorks__body {
    width: 100%;
    padding-right: 0;
  }
}
.p-frontOurWorks__lead {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4444444444;
  margin-top: 40px;
}
.p-frontOurWorks__text {
  font-size: 0.875rem;
  line-height: 2.0714285714;
  margin-top: 40px;
}
.p-frontOurWorks__imgContainer {
  display: flex;
  width: 57.1428571429%;
  gap: 5%;
}
@media screen and (max-width: 1399px) {
  .p-frontOurWorks__imgContainer {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-frontOurWorks__imgContainer {
    flex-direction: column;
    gap: 20px;
  }
}
.p-frontOurWorks__imgWrap01 {
  width: 55%;
}
@media screen and (max-width: 767px) {
  .p-frontOurWorks__imgWrap01 {
    width: 90%;
  }
}
.p-frontOurWorks__imgWrap02 {
  width: 40%;
}
@media screen and (max-width: 767px) {
  .p-frontOurWorks__imgWrap02 {
    width: 80%;
  }
}
.p-frontOurWorks__imgCaption {
  font-size: 0.75rem;
  line-height: 1.6666666667;
  margin-top: 12px;
}
.p-frontOurWorks__slider {
  margin-top: 60px;
  padding: 0 50px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-frontOurWorks__slider {
    padding: 0 30px;
  }
}
.p-frontOurWorks__slider .swiper-slide img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 100%;
}
.p-frontOurWorks__slider .swiper-button-next-wrap {
  display: flex;
  justify-content: flex-end;
}
.p-frontOurWorks__slider .swiper-button-next {
  color: #000;
  height: auto;
  margin-top: 60px;
  width: 140px;
}
.p-frontNews {
  background: #433327;
  color: #fff;
  padding: 80px 0 136px;
}
@media screen and (max-width: 767px) {
  .p-frontNews {
    padding: 44px 0 80px;
  }
}
.p-frontNews__inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .p-frontNews__inner {
    grid-template-columns: repeat(1, 1fr);
    gap: 50px;
  }
}
.p-frontNews__text {
  font-size: 1.125rem;
  margin-top: 44px;
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .p-frontNews__text {
    margin-top: 24px;
  }
}
.p-frontNews__textEn {
  margin-top: 34px;
  line-height: 2.1428571429;
  letter-spacing: 0.05em;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-frontNews__textEn {
    margin-top: 20px;
  }
}
.p-frontNews__faceBookWrap iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 563/653;
}

.p-frontCompany {
  background: #433327;
}
.p-frontCompany__inner {
  border-top: 1px solid #fff;
  padding: 78px 0 70px;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-frontCompany__inner {
    flex-direction: column;
    padding: 54px 0 80px;
  }
}
.p-frontCompany__headWrap {
  width: 400px;
  width: 28.5714285714%;
}
@media screen and (max-width: 767px) {
  .p-frontCompany__headWrap {
    width: 100%;
  }
}
.p-frontCompany__list {
  width: 71.4285714286%;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-frontCompany__list {
    flex-direction: column;
    width: 100%;
    margin-top: 26px;
  }
}
.p-frontCompany__item {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-frontCompany__item {
    width: 100%;
  }
}
.p-frontCompany__link {
  transition: opacity 0.3s;
}
.p-frontCompany__link:hover {
  opacity: 0.6;
}
.p-contactSection {
  background: #433327;
}
.p-contactSection.--isPage .p-contactSection__inner {
  border-top: none;
}
.p-contactSection__inner {
  display: flex;
  align-items: center;
  padding: 78px 0;
  border-top: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .p-contactSection__inner {
    flex-direction: column;
    gap: 34px;
    padding: 66px 0 88px;
  }
}
.p-contactSection__headWrap {
  width: 28.5714285714%;
}
@media screen and (max-width: 767px) {
  .p-contactSection__headWrap {
    width: 100%;
  }
}
.p-contactSection__list {
  width: 71.4285714286%;
  display: flex;
  gap: 2px;
}
@media screen and (max-width: 767px) {
  .p-contactSection__list {
    width: 100%;
    flex-direction: column;
    gap: 10px;
  }
}
.p-contactSection__item {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-contactSection__item {
    width: 100%;
  }
}
.p-contactSection__link {
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 76px;
  font-size: 1.25rem;
  gap: 8px;
  transition: opacity 0.3s;
}
.p-contactSection__link:hover {
  opacity: 0.6;
}
.p-contactSection__link::before {
  content: "";
  display: inline-block;
  background: no-repeat center center/contain;
}
.p-contactSection__link.--tel::before {
  background-image: url(../img/ico_tel_01.svg);
  width: 22px;
  height: 22px;
}
.p-contactSection__link.--mail::before {
  background-image: url(../img/ico_mail_01.svg);
  width: 36px;
  height: 24px;
}

.p-footer {
  background: #433327;
  color: #fff;
  padding-bottom: 38px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-footer {
    padding-bottom: 10px;
  }
}
.p-footer__inner {
  border-top: 1px solid #fff;
  padding: 40px 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px;
}
.p-footer__logo {
  display: block;
  width: 388px;
}
@media screen and (max-width: 767px) {
  .p-footer__logo {
    width: 100%;
  }
}
.p-footer__text {
  line-height: 1.8125;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-footer__text {
    text-align: center;
    font-size: 0.875rem;
  }
}
.p-footer__sns {
  margin-top: 84px;
}
@media screen and (max-width: 767px) {
  .p-footer__sns {
    margin-top: 50px;
  }
}
.p-footer__snsItem {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-footer__snsItem {
    justify-content: center;
  }
}
.p-footer__snsLink {
  transition: opacity 0.3s;
}
.p-footer__snsLink:hover {
  opacity: 0.6;
}
.p-footer__snsImg.--insta {
  width: 43px;
}
@media screen and (max-width: 767px) {
  .p-footer__nav {
    display: none;
  }
}
.p-footer__navList {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.p-footer__navList + .p-footer__navList {
  margin-top: 30px;
}
.p-footer__navLink {
  font-size: 1.125rem;
  transition: opacity 0.3s;
}
.p-footer__navLink:hover {
  opacity: 0.6;
}
.p-footer__navSubList {
  margin-top: 8px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 12px 0;
}
.p-footer__navSubList.--2col {
  grid-template-columns: repeat(2, 1fr);
}
.p-footer__navSubLink {
  font-size: 0.875rem;
  display: block;
  transition: opacity 0.3s;
}
.p-footer__navSubLink:hover {
  opacity: 0.6;
}
.p-footer__copy {
  font-size: 0.75rem;
  text-align: center;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-footer__copy {
    margin-top: 54px;
  }
}

.p-fv {
  color: #fff;
  position: relative;
}
.p-fv.--strength .p-fv__inner {
  background-image: url(../img/bg_fvStrength_01.jpg);
}
.p-fv.--flow .p-fv__inner {
  background-image: url(../img/bg_fvStrength_01.jpg);
}
.p-fv.--products .p-fv__inner {
  background-image: url(../img/bg_fvProducts_01.jpg);
}
.p-fv.--company .p-fv__inner {
  background-image: url(../img/bg_fvCompany_01.jpg);
}
.p-fv.--contact .p-fv__inner {
  background-image: linear-gradient(to left, rgba(67, 51, 39, 0), #433327 50%);
}
.p-fv__inner {
  height: 470px;
  background: url(../img/bg_fvService_01.jpg) no-repeat center center/cover;
  margin-left: calc(50% - 50vw);
  width: 93.4375vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-fv__inner {
    margin-right: calc(50% - 50vw);
    width: 100vw;
    height: 350px;
  }
}
.p-fv__inner::before {
  content: attr(data-text);
  position: absolute;
  top: 220px;
  left: calc(100% + 40px);
  color: #000000;
  writing-mode: vertical-rl;
  letter-spacing: 0.15em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-fv__inner::before {
    display: none;
  }
}
.p-fv__head {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
}
.p-fv__ttl {
  font-size: 3.75rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-fv__ttl {
    font-size: 2.375rem;
  }
}
.p-fv__subTtl {
  font-size: 1.5rem;
  font-weight: 500;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-fv__subTtl {
    font-size: 1.125rem;
  }
}
.p-fv__subTtlEn {
  font-size: 0.875rem;
  margin-top: 12px;
}

.p-breadCrumb {
  font-size: 0.875rem;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-breadCrumb {
    font-size: 0.75rem;
    margin-top: 20px;
  }
}

.p-natural {
  padding: 42px 0 0;
  background: url(../img/bg_diagonalLine_01.svg) no-repeat center center/cover;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-natural {
    margin-top: 40px;
  }
}
.p-natural__head {
  display: flex;
  gap: 30px;
  align-items: center;
  padding-left: 94px;
}
@media screen and (max-width: 1399px) {
  .p-natural__head {
    padding-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-natural__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
}
.p-natural__text {
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  font-size: 0.875rem;
}
.p-natural__list {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .p-natural__list {
    margin-top: 40px;
  }
}
.p-natural__item + .p-natural__item {
  margin-top: 80px;
}

.p-sectionHeadPrimary {
  border: 1px solid #433327;
  display: inline-block;
  padding: 20px 50px 30px;
  position: relative;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-sectionHeadPrimary {
    padding: 20px 30px;
  }
}
.p-sectionHeadPrimary.--leftLine::before {
  content: "";
  height: 1px;
  width: 428px;
  background: #000000;
  position: absolute;
  right: calc(100% - 40px);
  top: 13px;
  transform: rotate(-23deg);
  transform-origin: 100% 0;
}
.p-sectionHeadPrimary.--rightLine::before {
  content: "";
  height: 1px;
  width: 428px;
  background: #000000;
  position: absolute;
  left: calc(100% - 20px);
  top: 40px;
  transform: rotate(-23deg);
  transform-origin: 0 100%;
}
.p-sectionHeadPrimary__ttl {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-sectionHeadPrimary__ttl {
    font-size: 1.5rem;
  }
}
.p-sectionHeadPrimary__subTtl {
  font-size: 0.875rem;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-sectionHeadPrimary__subTtl {
    font-size: 0.75rem;
  }
}

.p-mediaPrimary {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-mediaPrimary {
    flex-direction: column;
    gap: 20px;
  }
}
.p-mediaPrimary__imgWrap {
  width: 50%;
  padding-left: 140px;
}
@media screen and (max-width: 1399px) {
  .p-mediaPrimary__imgWrap {
    padding-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-mediaPrimary__imgWrap {
    width: 100%;
  }
}
.p-mediaPrimary__body {
  width: 50%;
  padding-left: 46px;
}
@media screen and (max-width: 767px) {
  .p-mediaPrimary__body {
    width: 100%;
    padding-left: 0;
  }
}
.p-mediaPrimary__ttl {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-mediaPrimary__ttl {
    font-size: 1.5rem;
  }
}
.p-mediaPrimary__caution {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .p-mediaPrimary__caution {
    margin-top: 20px;
  }
}
.p-mediaPrimary__text {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-mediaPrimary__text {
    margin-top: 20px;
  }
}

.p-briefExplanation {
  text-align: center;
  margin-top: 88px;
}
@media screen and (max-width: 767px) {
  .p-briefExplanation {
    text-align: left;
  }
}
.p-briefExplanation__ttl {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.1875;
}
@media screen and (max-width: 767px) {
  .p-briefExplanation__ttl {
    font-size: 1.5rem;
  }
}
.p-briefExplanation__text {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .p-briefExplanation__text {
    margin-top: 20px;
  }
}

.p-finishing {
  margin-top: 40px;
}
.p-finishing .l-innerLarge {
  background: #d8d6d6;
  padding: 70px 0 110px;
}
@media screen and (max-width: 767px) {
  .p-finishing .l-innerLarge {
    padding: 30px 10px;
  }
}
.p-finishing__inner {
  max-width: 1400px;
  margin: auto;
}
.p-finishing__head {
  display: flex;
  align-items: center;
  gap: 30px;
  padding-left: 94px;
}
@media screen and (max-width: 767px) {
  .p-finishing__head {
    flex-direction: column;
    padding-left: 0;
    align-items: flex-start;
    gap: 20px;
  }
}
.p-finishing__text {
  font-size: 0.875rem;
  line-height: 1.8571428571;
  letter-spacing: 0.05em;
}
.p-finishing__list {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-finishing__list {
    margin-top: 40px;
  }
}
.p-finishing__item + .p-finishing__item {
  margin-top: 60px;
}

.p-mediaSecondary {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .p-mediaSecondary {
    flex-direction: column;
    gap: 20px;
  }
}
.p-mediaSecondary.--rev {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-mediaSecondary.--rev {
    flex-direction: column;
  }
}
.p-mediaSecondary.--rev .p-mediaSecondary__body {
  padding-left: 0;
}
.p-mediaSecondary__body {
  width: 42.8571428571%;
  padding-left: 100px;
  position: relative;
}
@media screen and (max-width: 1399px) {
  .p-mediaSecondary__body {
    padding-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-mediaSecondary__body {
    width: 100%;
    padding-left: 0;
  }
}
.p-mediaSecondary__body::before {
  content: "";
  width: 120%;
  height: 1px;
  background: #000000;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: rotate(-23deg);
  transform-origin: 0 100%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-mediaSecondary__body::before {
    display: none;
  }
}
.p-mediaSecondary__ttl {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.1875;
  color: #433327;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-mediaSecondary__ttl {
    font-size: 1.125rem;
    font-weight: 700;
  }
}
.p-mediaSecondary__text {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  margin-top: 18px;
}
.p-mediaSecondary__imgContainer {
  width: 57.1428571429%;
  background: #433327;
  padding: 20px 50px 30px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-mediaSecondary__imgContainer {
    width: 100%;
    padding: 20px;
  }
}

.p-beforeAfter {
  color: #fff;
}
.p-beforeAfter__item + .p-beforeAfter__item {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .p-beforeAfter__item + .p-beforeAfter__item {
    margin-top: 40px;
  }
}
.p-beforeAfter__ttl {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-beforeAfter__ttl {
    font-size: 1rem;
  }
}
.p-beforeAfter__imgContainer {
  display: flex;
  gap: 100px;
}
@media screen and (max-width: 767px) {
  .p-beforeAfter__imgContainer {
    gap: 20px;
  }
}
.p-beforeAfter__imgWrap {
  margin-top: 10px;
}
.p-beforeAfter__subTtl {
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .p-beforeAfter__subTtl {
    font-size: 0.875rem;
  }
}
.p-beforeAfter__subTtl.--arrow {
  position: relative;
}
.p-beforeAfter__subTtl.--arrow::before {
  position: absolute;
  content: "";
  width: 94%;
  height: 1px;
  background: #fff;
  right: -80px;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-beforeAfter__subTtl.--arrow::before {
    right: -12px;
    width: 50%;
  }
}
.p-beforeAfter__subTtl.--arrow::after {
  content: "";
  position: absolute;
  right: -83px;
  top: calc(50% - 2px);
  display: block;
  width: 15px;
  height: 15px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-45deg) translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-beforeAfter__subTtl.--arrow::after {
    right: -15px;
    width: 10px;
    height: 10px;
    top: calc(50% - 1px);
  }
}

.p-tile {
  color: #fff;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 46px;
}
@media screen and (max-width: 767px) {
  .p-tile {
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
  }
}
.p-tile__text {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 12px;
}
@media screen and (max-width: 767px) {
  .p-tile__text {
    font-size: 0.875rem;
  }
}

.p-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 90px;
}
@media screen and (max-width: 767px) {
  .p-cards {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-cards__ttl {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.1875;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-cards__ttl {
    font-size: 1.5rem;
  }
}
.p-cards__ttl.--noMt {
  margin-top: 0;
}
.p-cards__text {
  font-size: 0.875rem;
  line-height: 1.8571428571;
  letter-spacing: 0.05em;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-cards__text {
    margin-top: 14px;
  }
}

.p-technology {
  padding: 156px 0 290px 94px;
}
@media screen and (max-width: 1399px) {
  .p-technology {
    padding: 156px 0 290px;
  }
}
@media screen and (max-width: 767px) {
  .p-technology {
    padding: 80px 0;
  }
}
.p-technology__head {
  display: flex;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .p-technology__head {
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
  }
}
.p-technology__text {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
}
.p-technology__cards {
  margin-top: 76px;
}

.p-strength {
  margin-top: 56px;
  background: url(../img/bg_diagonalLine_02.svg) no-repeat center top/contain;
}
@media screen and (max-width: 767px) {
  .p-strength {
    background-position: center;
  }
}
.p-strength + .p-strength {
  margin-top: 120px;
}
.p-strength.--noBg {
  background: none;
}
.p-strength.--pb {
  padding-bottom: 270px;
}
@media screen and (max-width: 767px) {
  .p-strength.--pb {
    padding-bottom: 100px;
  }
}
.p-strength__text {
  margin-top: 50px;
  padding-left: 3em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-strength__text {
    padding-left: 0;
    margin-top: 20px;
  }
}
.p-strength__list {
  margin-top: 56px;
}
.p-strength__item + .p-strength__item {
  margin-top: 130px;
}
@media screen and (max-width: 767px) {
  .p-strength__item + .p-strength__item {
    margin-top: 80px;
  }
}

.p-mediaTertiary {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-mediaTertiary {
    flex-direction: column;
  }
}
.p-mediaTertiary.--rev {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-mediaTertiary.--rev {
    flex-direction: column;
  }
}
.p-mediaTertiary.--rev .p-mediaTertiary__body {
  padding-left: 0;
  padding-right: 78px;
}
@media screen and (max-width: 767px) {
  .p-mediaTertiary.--rev .p-mediaTertiary__body {
    padding: 0;
  }
}
.p-mediaTertiary.--rev .p-mediaTertiary__imgWrap {
  margin-left: auto;
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  .p-mediaTertiary.--rev .p-mediaTertiary__imgWrap {
    margin-right: auto;
  }
}
.p-mediaTertiary__imgWrap {
  margin-left: calc(50% - 50vw);
  width: 50vw;
}
@media screen and (max-width: 767px) {
  .p-mediaTertiary__imgWrap {
    width: 100%;
    margin-left: auto;
  }
}
.p-mediaTertiary__body {
  width: 50%;
  padding-left: 78px;
}
@media screen and (max-width: 767px) {
  .p-mediaTertiary__body {
    width: 100%;
    padding-left: 0;
  }
}
.p-mediaTertiary__item + .p-mediaTertiary__item {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .p-mediaTertiary__item + .p-mediaTertiary__item {
    margin-top: 40px;
  }
}
.p-mediaTertiary__skypeLogoImg {
  width: auto;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p-mediaTertiary__skypeLogoImg {
    margin-bottom: 10px;
  }
}
.p-mediaTertiary__ttl {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.1875;
}
@media screen and (max-width: 767px) {
  .p-mediaTertiary__ttl {
    font-size: 1.5rem;
    margin-top: 20px;
  }
}
.p-mediaTertiary__text {
  font-size: 0.875rem;
  line-height: 1.8571428571;
  letter-spacing: 0.05em;
  margin-top: 20px;
}

.p-anchorList {
  margin-top: 70px;
}
.p-anchorList__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 70px;
}
@media screen and (max-width: 1399px) {
  .p-anchorList__list {
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .p-anchorList__list {
    gap: 40px 10px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-anchorList__link {
  font-size: 2rem;
  font-weight: 500;
  border: 1px solid #433327;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 114px;
  transition: color 0.3s, background 0.3s;
}
@media screen and (max-width: 767px) {
  .p-anchorList__link {
    font-size: 0.75rem;
    height: 40px;
  }
}
.p-anchorList__link:hover {
  background: #433327;
  color: #fff;
}
.p-anchorList__subList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 0;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-anchorList__subList {
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
}
.p-anchorList__subItem {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.2083333333;
}
@media screen and (max-width: 767px) {
  .p-anchorList__subItem {
    font-size: 0.75rem;
  }
}

.p-productsList {
  margin-top: 100px;
  padding-bottom: 260px;
}
@media screen and (max-width: 767px) {
  .p-productsList {
    padding-bottom: 100px;
  }
}
.p-productsList__item + .p-productsList__item {
  margin-top: 100px;
}

.p-products__header {
  background: #433327;
  height: 175px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-products__header {
    height: 100px;
  }
}
.p-products__header.--cow {
  background: url(../img/bg_productsHeader_01.jpg) no-repeat center center/cover;
}
.p-products__header.--sheep {
  background: url(../img/bg_productsHeader_02.jpg) no-repeat center center/cover;
}
.p-products__header.--gibier {
  background: url(../img/bg_productsHeader_03.jpg) no-repeat center center/cover;
}
.p-products__header.--other {
  background: url(../img/bg_productsHeader_04.jpg) no-repeat center center/cover;
}
.p-products__ttl {
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-left: 58px;
}
@media screen and (max-width: 767px) {
  .p-products__ttl {
    font-size: 1.5rem;
    padding-left: 20px;
  }
}
.p-products__list {
  max-width: 1287px;
  margin: auto;
  margin-top: 30px;
}
.p-products__item {
  border-bottom: 1px solid #707070;
  display: flex;
  padding-bottom: 26px;
}
@media screen and (max-width: 767px) {
  .p-products__item {
    flex-direction: column;
    gap: 10px;
  }
}
.p-products__item + .p-products__item {
  margin-top: 30px;
}
.p-products__dt {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  width: 270px;
}
@media screen and (max-width: 767px) {
  .p-products__dt {
    width: 100%;
    font-size: 1.125rem;
  }
}
.p-products__dd {
  width: calc(100% - 270px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-products__dd {
    width: 100%;
  }
}
.p-products__caution {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 60px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-products__caution {
    text-align: left;
  }
}

.p-flow {
  background-image: linear-gradient(to bottom, #fdf8ed, #fff);
  margin-top: 100px;
  padding: 40px 0 400px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-flow {
    padding: 40px 0 200px;
    margin-top: 48px;
  }
}
.p-flow__lead {
  text-align: center;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
}
@media screen and (max-width: 767px) {
  .p-flow__lead {
    text-align: left;
  }
}
.p-flow__list {
  width: 36.4583333333vw;
  margin: 130px auto 0;
}
@media screen and (max-width: 1399px) {
  .p-flow__list {
    width: 100%;
  }
}
.p-flow__item {
  display: flex;
  align-items: center;
  gap: 70px;
}
@media screen and (max-width: 767px) {
  .p-flow__item {
    gap: 20px;
  }
}
.p-flow__item + .p-flow__item {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .p-flow__item + .p-flow__item {
    margin-top: 48px;
  }
}
.p-flow__dt {
  font-size: 7.875rem;
}
@media screen and (max-width: 767px) {
  .p-flow__dt {
    font-size: 2rem;
  }
}
.p-flow__ttl {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .p-flow__ttl {
    font-size: 1.5rem;
  }
}
.p-flow__text {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8571428571;
  margin-top: 26px;
}
@media screen and (max-width: 767px) {
  .p-flow__text {
    margin-top: 8px;
  }
}
@media screen and (max-width: 1399px) {
  .p-flow__imgContainer {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    gap: 20px;
  }
}
.p-flow__img01 {
  width: 28.4895833333vw;
  position: absolute;
  top: 200px;
  left: 0;
}
@media screen and (max-width: 1399px) {
  .p-flow__img01 {
    position: static;
  }
}
@media screen and (max-width: 767px) {
  .p-flow__img01 {
    width: 50%;
  }
}
.p-flow__img02 {
  width: 28.4895833333vw;
  position: absolute;
  top: 824px;
  right: 0;
}
@media screen and (max-width: 1399px) {
  .p-flow__img02 {
    position: static;
  }
}
@media screen and (max-width: 767px) {
  .p-flow__img02 {
    width: 50%;
  }
}

.p-message {
  margin-top: 48px;
}
.p-message__inner {
  width: 850px;
}
.p-message__ttl {
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
}
.p-message__text {
  font-size: 1.125rem;
  line-height: 1.6111111111;
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .p-message__text {
    margin-top: 40px;
  }
}
.p-message__nameWrap {
  text-align: right;
  margin-top: 40px;
}
.p-message__name {
  font-size: 1.5rem;
}

.p-overview {
  margin-top: 210px;
}
@media screen and (max-width: 767px) {
  .p-overview {
    margin-top: 100px;
  }
}
.p-overview__inner {
  width: 996px;
}
.p-overview__ttl {
  font-size: 1.5rem;
  border-bottom: 2px solid #433327;
  text-align: center;
  padding-bottom: 20px;
}
.p-overview__list {
  margin-top: 20px;
}
.p-overview__item {
  display: flex;
  align-items: flex-start;
  border-bottom: 1px solid #CDD6DD;
  padding-bottom: 20px;
}
.p-overview__item + .p-overview__item {
  margin-top: 20px;
}
.p-overview__dt {
  font-weight: 400;
  width: 146px;
}
@media screen and (max-width: 767px) {
  .p-overview__dt {
    font-size: 0.75rem;
    width: 90px;
  }
}
.p-overview__dd {
  font-size: 1.125rem;
  line-height: 1.6111111111;
  width: calc(100% - 146px);
}
@media screen and (max-width: 767px) {
  .p-overview__dd {
    font-size: 0.875rem;
    width: calc(100% - 90px);
  }
}

.p-map {
  margin-top: 100px;
  padding-bottom: 170px;
}
.p-map__inner {
  width: 1028px;
}
.p-map__contaienr iframe {
  aspect-ratio: 1028/502;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-map__contaienr iframe {
    aspect-ratio: 1/1;
  }
}
.p-map__text {
  font-size: 0.875rem;
  text-align: center;
  margin-top: 40px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-map__text {
    text-align: left;
  }
}

.p-faq {
  background-image: linear-gradient(to bottom, #fdf8ed, #fff);
  padding: 116px 0 180px;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .p-faq {
    padding: 50px 0 100px;
  }
}
.p-faq__inner {
  width: 1290px;
}
.p-faq__ttl {
  font-size: 2.25rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-faq__ttl {
    font-size: 1.5rem;
  }
}
.p-faq__lead {
  font-size: 1.125rem;
  line-height: 1.6111111111;
  text-align: center;
  margin-top: 44px;
}
@media screen and (max-width: 767px) {
  .p-faq__lead {
    font-size: 1rem;
    text-align: left;
  }
}
.p-faq__list {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .p-faq__list {
    margin-top: 50px;
  }
}
.p-faq__item {
  border-bottom: 1px solid #707070;
  padding-bottom: 16px;
}
.p-faq__item + .p-faq__item {
  margin-top: 30px;
}
.p-faq__dt {
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-faq__dt {
    font-size: 1rem;
  }
}
.p-faq__dt .--large {
  font-size: 2.25rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-faq__dt .--large {
    font-size: 1.5rem;
  }
}
.p-faq__dd {
  margin-top: 18px;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding-left: 2.5em;
}
@media screen and (max-width: 767px) {
  .p-faq__dd {
    font-size: 1rem;
  }
}
.p-faq__dd .--large {
  font-size: 2.25rem;
  letter-spacing: 0.1em;
  color: #C47D48;
}
@media screen and (max-width: 767px) {
  .p-faq__dd .--large {
    font-size: 1.5rem;
  }
}

.p-contact {
  padding: 150px 0 200px;
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding: 70px 0 100px;
  }
}
.p-contact__inner {
  width: 1130px;
}
.p-contact__ttl {
  font-size: 2.25rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contact__ttl {
    font-size: 1.5rem;
  }
}
.p-contact__lead {
  font-size: 0.875rem;
  text-align: center;
  margin-top: 44px;
}
@media screen and (max-width: 767px) {
  .p-contact__lead {
    margin-top: 20px;
  }
}
.p-form__list {
  margin-top: 120px;
}
@media screen and (max-width: 767px) {
  .p-form__list {
    margin-top: 60px;
  }
}
.p-form__item + .p-form__item {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .p-form__item + .p-form__item {
    margin-top: 40px;
  }
}
.p-form__dt {
  font-size: 1.3125rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .p-form__dt {
    font-size: 1rem;
  }
}
.p-form__dt.--required::after {
  content: "必須";
  border: 2px solid #ff0000;
  color: #ff0000;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding: 0.2em 0.5em;
}
.p-form__nameContainer {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .p-form__nameContainer {
    gap: 20px;
  }
}
.p-form__nameLabel {
  font-size: 1.3125rem;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-form__nameLabel {
    font-size: 1rem;
    margin-top: 10px;
  }
}
.p-form__input {
  border: 1px solid #0e2f8d;
  width: 100%;
  font-size: 1.375rem;
  letter-spacing: 0.1em;
  padding: 1em 1.5em;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-form__input {
    font-size: 1rem;
    margin-top: 10px;
  }
}
.p-form__input::placeholder {
  color: #c4c4c4;
}
.p-form__textarea {
  resize: none;
  height: 300px;
}
.p-form__radioContainer {
  display: flex;
  gap: 40px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-form__radioContainer {
    margin-top: 16px;
  }
}
.p-form__radioContainer .mwform-radio-field-text {
  font-size: 1.4375rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .p-form__radioContainer .mwform-radio-field-text {
    font-size: 1rem;
  }
}
.p-form__radioContainer input[type=radio] {
  appearance: none;
  display: none;
}
.p-form__radioContainer input[type=radio] + span {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 4px;
}
.p-form__radioContainer input[type=radio] + span:before {
  content: "";
  width: 30px;
  height: 30px;
  background: #fff;
  border: 1px solid #cdd6dd;
  display: inline-block;
  border-radius: 50%;
}
.p-form__radioContainer input[type=radio]:checked + span::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 6px;
  display: block;
  width: 18px;
  height: 18px;
  background: #ff0000;
  border-radius: 50%;
}
.p-form__checkWrap {
  display: flex;
  justify-content: center;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-form__checkWrap {
    margin-top: 40px;
  }
}
.p-form__checkWrap input[type=checkbox] {
  appearance: none;
  display: none;
}
.p-form__checkWrap input[type=checkbox] + span {
  position: relative;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  gap: 14px;
}
.p-form__checkWrap input[type=checkbox] + span:before {
  content: "";
  width: 47px;
  height: 47px;
  background: #fff;
  border: 1px solid #757575;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-form__checkWrap input[type=checkbox] + span:before {
    width: 32px;
    height: 32px;
  }
}
.p-form__checkWrap input[type=checkbox]:checked + span::after {
  content: "";
  position: absolute;
  top: 30%;
  left: 15px;
  display: block;
  width: 25px;
  height: 15px;
  box-sizing: border-box;
  border-bottom: 2px solid #000;
  border-left: 2px solid #000;
  /*箱を斜めに傾けてチェック表示にする*/
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg) translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-form__checkWrap input[type=checkbox]:checked + span::after {
    width: 18px;
    height: 10.8px;
    left: 10px;
  }
}
.p-form__btnWrap {
  display: flex;
  justify-content: center;
  margin-top: 100px;
}
.p-form .thanks {
  text-align: center;
  margin-top: 40px;
}

.p-privacyPolicy {
  padding-bottom: 180px;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy {
    padding-bottom: 100px;
  }
}
.p-privacyPolicy__lead {
  font-size: 0.875rem;
  line-height: 2.0714285714;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy__lead {
    margin-top: 40px;
  }
}
.p-privacyPolicy__list {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-privacyPolicy__list {
    margin-top: 40px;
  }
}
.p-privacyPolicy__item + .p-privacyPolicy__item {
  margin-top: 40px;
}
.p-privacyPolicy__ttl {
  font-size: 0.875rem;
  line-height: 2.0714285714;
}
.p-privacyPolicy__text {
  font-size: 0.875rem;
  line-height: 2.0714285714;
}

.p-lead {
  text-align: center;
  padding: 90px 0 0;
}
@media screen and (max-width: 767px) {
  .p-lead {
    padding: 40px 0 0;
  }
}
.p-lead.--onFinishing {
  padding-top: 260px;
}
@media screen and (max-width: 767px) {
  .p-lead.--onFinishing {
    padding-top: 100px;
  }
}
.p-lead__ttl {
  font-size: 2.25rem;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-lead__ttl {
    font-size: 1.5rem;
  }
}
.p-lead__text {
  font-size: 1.125rem;
  line-height: 1.6111111111;
  margin-top: 38px;
}
@media screen and (max-width: 767px) {
  .p-lead__text {
    font-size: 0.875rem;
    text-align: left;
  }
}

@media screen and (min-width: 1400px) {
  .u-sp-only {
    display: none;
  }
}
@media screen and (max-width: 1399px) {
  .u-sp-only {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .u-sp-only {
    display: block;
  }
}

@media screen and (min-width: 1400px) {
  .u-tab-only {
    display: none;
  }
}
@media screen and (max-width: 1399px) {
  .u-tab-only {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .u-tab-only {
    display: none;
  }
}

@media screen and (max-width: 1399px) {
  .u-pc-only {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .u-pc-only {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-none {
    display: none;
  }
}

@media screen and (max-width: 1399px) {
  .u-tab-none {
    display: none;
  }
}

@media screen and (min-width: 1400px) {
  .u-pc-none {
    display: none;
  }
}

.u-tab-flex {
  display: none;
}
@media screen and (max-width: 1399px) {
  .u-tab-flex {
    display: flex;
  }
}

.u-sp-flex {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-sp-flex {
    display: flex;
  }
}

.u-linkPosition {
  display: block;
  position: relative;
  top: -50px;
}

.u-uppercase {
  text-transform: uppercase;
}

.u-bgGray {
  background: #D8D6D6;
}

/*# sourceMappingURL=style.css.map */
