@charset "utf-8";

html,
body {
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-optical-sizing: auto;
  line-height: 1.5;
  letter-spacing: 0.1em;
  overflow-x: clip;
  color: #231600;
  word-break: auto-phrase;
}

.bg-fix {
  background-image: url("../images/washi-bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-style: normal;
}

a {
  color: #231600;
  text-decoration: none !important;
  transition: all 0.3s;
}

a:hover {
  color: #937300;
  cursor: pointer;
}

/* フォント */

.ship {
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.fc-white {
  color: #fff !important;
}

.fc-beige {
  color: #fff9ec !important;
}

.fc-brown {
  color: #5e3505 !important;
}

.fc-red {
  color: #e43905 !important;
}

.v-text {
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: nowrap;
}

.text-shadow {
  text-shadow: 2px 2px 5px black;
}

.text-shadow-white {
  text-shadow: 2px 2px 5px white;
}

.has-shadow {
  box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.15);
}

/* 背景 */
.bg-white {
  background-color: #fff;
}

.bg-brown {
  background-color: #726030;
}

.bg-yellow {
  background-color: #e3b017;
}

.bg-beige-1 {
  background-color: rgba(242, 203, 76, 0.21);
}

.bg-beige-2 {
  background-color: rgba(190, 135, 16, 0.15);
}

/*罫線*/
.b-brown {
  border: 1px solid #231600;
}

.bl-brown {
  border-left: 1px solid #231600;
}

.br-brown {
  border-right: 1px solid #231600;
}

.bb-brown {
  border-bottom: 1px solid #231600;
}

.bt-brown {
  border-bottom: 1px solid #231600;
}

/* ボタン */
.button {
  position: relative;
  display: inline-flex !important;
  width: auto;
  height: auto;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
}

.button p::after {
  content: "";
  width: 20px;
  height: 6px;
  background-image: url(../images/arrow.svg);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  top: 50%;
  right: -35px;
  transform: translateY(-50%);
  transition: all 0.3s;
}

.button:hover p::after {
  right: -45px;
}

.button p {
  color: #231600;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-style: normal;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: 0.2rem;
  font-size: clamp(0.75rem, 0.669rem + 0.35vw, 1rem);
}

.re-button {
  position: relative;
  display: inline-flex;
  background-color: #e6d997;
  border-radius: 100px;
  width: 196px;
  height: 56px;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
}

.re-button:hover {
  background-color: #fff;
  border: #e6d997 2px solid;
}

.re-button p {
  color: #231600;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-style: normal;
  margin: 0 !important;
  padding: 0 !important;
  letter-spacing: 0.2rem;
  font-size: clamp(0.75rem, 0.669rem + 0.35vw, 1rem);
}

.re-button:hover p {
  color: #978c6f;
}

.button-rou .yazi {
  width: 26px;
  transition: all 0.3s;
}

@media (min-width: 768px) {
  .button-rou .yazi {
    width: 48px;
    transition: all 0.3s;
  }
}

.button-rou:hover .yazi {
  transform: scale(1.1);
}

/* ナビ */

.a-nav-menu {
  display: none;
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  z-index: 800;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  transition: all 0.3s;
  background: linear-gradient(92deg, #fffdf3 3.94%, #f8f5ec 91.82%);
  overflow-y: auto;
}

@media (min-width: 768px) {
  .a-nav-menu {
    width: 75%;
  }
}

@media (min-width: 992px) {
  .a-nav-menu {
    width: 650px;
  }
}

.a-nav-menu.edit {
  display: flex;
  opacity: 1;
}

.nav-menu-box {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 2rem;
  z-index: 2;
  margin-top: 2rem;
}

@media (min-width: 768px) {
  .nav-menu-box {
    gap: 2.5rem;
    margin-top: 0;
  }
}

.nav-menu-box .nav-list {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  line-height: 1.5;
  gap: 1.2rem;
}

.nav-list a p {
  position: relative;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: clamp(0.75rem, 0.588rem + 0.7vw, 1.25rem);
  color: #231600;
  transition: all 0.3s;
  min-height: auto;
}

.nav-list a:hover p {
  color: #e6d997;
}

.nav-menu-box .inst {
  display: flex;
  align-items: center;
  justify-content: start;
  transition: all 0.3s;
  gap: 1rem;
}

.nav-menu-box .inst p {
  font-size: 14px;
}

.nav-menu-box .inst img {
  width: 18px;
}

@media (min-width: 768px) {
  .nav-menu-box .nav-list {
    gap: 2rem;
  }
}

.header-wrap {
  position: fixed;
  opacity: 0;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 2rem 1.5rem 1.5rem 1.5rem;
  z-index: 1000;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, #fff 42.79%);
}

.header-menu-box {
  display: flex;
  align-items: center;
  justify-content: end;
}

.header-menu-box .inst {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 0.8rem;
}

.header-menu-box .inst p {
  font-size: 16px;
}

.header-menu-box .inst img {
  width: 16px;
}

.header-logo {
  max-width: 80px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .header-wrap {
    padding: 3rem 2rem 0 2rem;
  }

  .header-menu-box .inst img {
    width: 18px;
  }

  .header-logo {
    max-width: 110px;
  }
}

@media (min-width: 992px) {
  .header-wrap {
    padding: 3rem 4rem 0 4rem;
  }
}

.top-logo {
  max-width: 110px;
}

.nav-logo {
  max-width: 160px;
}

.a-burger {
  display: flex;
  align-items: center;
  justify-content: start;
  padding: 0 0 0 1.8rem;
  border-left: #231600 1px solid;
}

@media (min-width: 768px) {
  .a-burger {
    padding: 0 1.8rem 0 1.8rem;
  }
}

.a-burger .burger-inner {
  position: relative;
  z-index: 1100;
  cursor: pointer;
  width: 25px;
  height: 14px;
  margin: 0;
  padding: 0;
}

.a-burger .burger-inner div {
  width: 25px;
  height: 1px;
  background-color: #231600;
  border-radius: 2px;
  position: absolute;
  left: 0;
  transform-origin: center;
  transition: all 0.3s;
  padding: 0;
  margin: 0;
  min-height: 1px !important;
}

.a-burger .burger-inner div:nth-child(1) {
  top: 0px;
}

.a-burger .burger-inner div:nth-child(2) {
  top: 6.5px;
}

.a-burger .burger-inner div:nth-child(3) {
  bottom: 0px;
}

.a-burger.is-active .burger-inner div:nth-child(1) {
  transform: rotate(-35deg);
  top: 8px;
}

.a-burger.is-active .burger-inner div:nth-child(2) {
  display: none;
}

.a-burger.is-active .burger-inner div:nth-child(3) {
  transform: rotate(35deg);
  bottom: 5px;
}

.a-burger p {
  padding-left: 1.5rem;
  font-size: clamp(0.75rem, 0.669rem + 0.35vw, 1rem);
}

.a-burger:hover {
    cursor: pointer;
}

/* フッター */

.foot-logo {
  max-width: 220px;
}

.foot-insta {
  width: 26px;
}

@media (min-width: 768px) {
  .foot-logo {
    max-width: 250px;
  }
}

/* News表示 */

/* News表示 画像あり版 */
.news-list .webgene-blog {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.news-list .webgene-item {
  width: 100%;
}

@media (min-width: 768px) {
  .news-list .webgene-item {
    width: 48%;
  }
}
/* ページネーション共通 */
.webgene-pagination {
  width: 100%;
}

.webgene-pagination ul,
.pagelink {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  gap: 20px;
  max-width: 220px;
}

.webgene-pagination ul li,
.pagelink p {
  font-size: clamp(0.75rem, 0.669rem + 0.35vw, 1rem);
  letter-spacing: 0.2rem;
  line-height: 1.5;
  width: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.webgene-pagination ul li a,
.pagelink p a {
  display: inline-flex !important;
  width: 90px;
  height: 50px;
  padding: 15px 0 !important;
  align-items: center;
  justify-content: space-between;
  transition: all 0.3s;
}

.webgene-pagination ul li a:hover,
.pagelink p a:hover {
  cursor: pointer;
}

.webgene-pagination .next {
  margin-left: auto;
}

@media (min-width: 768px) {
  .webgene-pagination ul,
  .pagelink {
    max-width: 300px;
  }
}

/* Nextボタン */
.webgene-pagination li.next a::after,
.pagelink p.next a::after {
  content: "";
  display: block;
  width: 22px;
  height: 6px;
  background-image: url("../images/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.3s;
}
.webgene-pagination ul li.next a:hover::after,
.pagelink p.next a:hover::after {
  transform: translateX(3px);
}

/* Prevボタン */
.webgene-pagination ul li.prev a::before,
.pagelink p.prev a::before {
  content: "";
  display: block;
  width: 22px;
  height: 6px;
  background-image: url("../images/arrow-prev.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: all 0.3s;
}
.webgene-pagination ul li.prev a:hover::before,
.pagelink p.prev a:hover::after {
  transform: translateX(-3px);
}

/* フォーム */
.formInput,
.formTextArea {
  width: 100%;
  padding: 0.5rem;
  border: none;
  border-radius: 0;
  border: 1px solid #cbc3b0;
  background-color: #fffcf5;
  margin-bottom: 2rem;
}

.formTextArea {
  height: 8rem;
}

.formInput:focus,
.formInput:focus-visible,
.formTextArea:focus,
.formTextArea:focus-visible,
.form-button:focus,
.form-button:focus-visible {
  border: 1px solid #cbc3b0;
  background-color: #fffcf5;
}
.zipInput {
  width: 6rem;
}
@media (min-width: 768px) {
  .formTh {
    padding-left: 2rem;
  }
}

.requiredText {
  background-color: #a3987c;
  color: #fff;
  padding: 4px 8px;
  font-size: 0.8rem;
  margin-left: 1rem;
}
.privacyformError {
  padding-top: 25px;
}
@media (min-width: 768px) {
  .privacyformError {
    padding-top: 0;
  }
}
/* ページ共通設定 */

/* プラシバシーポリシー */
.policy-box {
  overflow-y: scroll;
  height: 400px;
  border-radius: 30px;
}

.btn a::after {
  content: "→";
}

/* TOP */

.top-fv-wrap {
  position: relative;
  width: 100%;
  height: 95vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  overflow: hidden;
}

.top-fv-wrap.sub {
  height: 85vh;
}

@media (min-width: 768px) {
  .top-fv-wrap,
  .top-fv-wrap.sub {
    height: 80vh;
  }
}

@media (min-width: 1200px) {
  .top-fv-wrap,
  .top-fv-wrap.sub {
    height: 100vh;
  }
}

.top-fv-wrap .logo {
  position: absolute;
  left: 63%;
  top: -3%;
  width: 40%;
  background-image: url("../images/top-fv-deco.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  max-width: 400px;
  z-index: 10;
  padding: 2rem;
}

.top-fv-wrap .logo a {
  display: block;
  height: 100%;
}

@media (min-width: 768px) {
  .top-fv-wrap .logo {
    left: -3%;
    top: -12%;
    width: 40%;
    padding: 5rem;
  }
}

@media (min-width: 768px) {
  .top-fv-wrap .logo {
    padding: 5rem;
  }
}

@media (min-width: 1200px) {
  .top-fv-wrap .logo {
    left: -2%;
    top: -14%;
    padding: 6rem;
  }
}

.top-fv-menu {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: end;
  padding: 1rem 1rem;
}

.top-fv-menu.news {
  justify-content: center;
  padding: 2rem 2rem 0 2rem;
}

@media (min-width: 768px) {
  .top-fv-menu {
    padding: 2rem 3rem;
  }
}

.top-fv-menu .inst {
  display: flex;
  align-items: center;
  justify-content: start;
  transition: all 0.3s;
  gap: 1rem;
}

.top-fv-menu .inst p {
  font-size: 14px;
}

.top-fv-menu .inst img {
  width: 18px;
}

.top-fv-menu .logo {
  width: 20%;
  max-width: 110px;
}

.top-fv-box {
  position: relative;
  width: 100%;
  height: 90%;
  max-width: 1352px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.top-fv-box.sub {
  height: 90%;
  max-width: 1352px;
  align-items: start;
}

.top-fv-box .deco {
  position: absolute;
  bottom: 40%;
  left: 8%;
  width: 50%;
  max-width: 480px;
}

.top-fv-box .bg {
  width: 100%;
  height: 95%;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-fv-box .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.top-fv-box .bg.tr img {
  object-position: top right;
}

@media (min-width: 768px) {
  .top-fv-box,
  .top-fv-box.sub {
    height: 78%;
  }
}

@media (min-width: 992px) {
  .top-fv-box,
  .top-fv-box.sub {
    height: 85%;
  }
}

@media (min-width: 1200px) {
  .top-fv-box,
  .top-fv-box.sub {
    height: 100%;
  }
  .top-fv-box .bg img {
    width: 99%;
    height: 99%;
  }
}

.top-fv-bottom {
  position: absolute;
  bottom: 20%;
  left: 0;
  width: 101%;
  height: 100%;
  background-image: url("../images/top-fv-bottom.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
  z-index: 8;
}

.top-fv-bottom.sub {
  bottom: 6%;
}

@media (min-width: 768px) {
  .top-fv-bottom,
  .top-fv-bottom.sub {
    bottom: -1%;
  }
}

@media (min-width: 1200px) {
  .top-fv-bottom,
  .top-fv-bottom.sub {
    bottom: -8%;
  }
}

.top-fv-text {
  position: static;
  display: inline-flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 0.5rem;
  z-index: 20;
  padding: 3rem 4rem 0 3rem;
  line-height: 1.8;
}

.sub-fv-text {
  position: static;
  display: inline-flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 0.5rem;
  z-index: 20;
  padding: 0 3rem;
  line-height: 1.8;
}

@media (min-width: 768px) {
  .top-fv-text {
    position: absolute;
    bottom: -3%;
    right: 4%;
    gap: 0.5rem;
    padding: 0;
  }

  .sub-fv-text {
    position: absolute;
    align-items: center;
    bottom: 5%;
    right: 24%;
    gap: 0.5rem;
    padding: 0;
  }

  .sub-fv-text.long {
    right: 12%;
  }
}

@media (min-width: 992px) {
  .top-fv-text {
    bottom: 6%;
    gap: 0.8rem;
  }

  .sub-fv-text {
    bottom: 10%;
    gap: 0.8rem;
  }
}

.top-fv-text h1 {
  font-size: clamp(0.75rem, 0.669rem + 0.35vw, 1rem);
}

.sub-fv-text h1 {
  font-size: clamp(1.5rem, 1.136rem + 1.58vw, 2.625rem);
}

.top-fv-text h2 {
  font-size: clamp(1.5rem, 1.136rem + 1.58vw, 2.625rem);
}

.top-fv-text p {
  font-size: clamp(0.875rem, 0.754rem + 0.53vw, 1.25rem);
}

.sub-fv-text p {
  font-size: clamp(0.875rem, 0.754rem + 0.53vw, 1.25rem);
}

.top-sec2-wrap {
  position: relative;
  width: 100%;
  z-index: 1;
}

.top-sec2-bg {
  position: absolute;
  top: 0%;
  right: -20%;
  z-index: -1;
  width: 70%;
  max-width: 896px;
}

.top-sec2-bg.l {
  position: absolute;
  top: 0%;
  left: -20%;
  z-index: -1;
  width: 70%;
  max-width: 810px;
}

.top-sec2-box1 {
  display: flex;
  justify-content: end;
  width: 100%;
}

.top-sec2-box1.l {
  display: flex;
  justify-content: start;
  width: 100%;
}

.top-sec2-box1 img {
  width: 70%;
  max-width: 576px;
}

.top-sec2-box1.l img {
  width: 70%;
  max-width: 525px;
}

.top-sec2-box2 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 2rem;
  z-index: 1;
}

@media (min-width: 768px) {
  .top-sec2-box2 {
    gap: 3rem;
  }
}

.top-sec2-box2.con {
  flex: 1;
}

.top-sec2-bg2 {
  position: absolute;
  bottom: 16%;
  right: -1%;
  z-index: -1;
  width: 40%;
  max-width: 350px;
}

.top-sec2-bg2.l {
  position: absolute;
  bottom: 16%;
  left: 60%;
  z-index: -1;
  width: 40%;
  max-width: 376px;
}

@media (min-width: 768px) {
  .top-sec2-bg2,
  .top-sec2-bg2.l {
    bottom: 8%;
  }
}

@media (min-width: 992px) {
  .top-sec2-bg2.l {
    left: -50%;
  }
}

.common-title {
  font-size: clamp(1rem, 0.838rem + 0.7vw, 1.5rem);
  color: #937300;
  margin-bottom: 2rem;
  position: relative;
}

.common-title.b {
  color: #231600;
}

.common-title::after {
  content: "";
  width: 88px;
  height: 26px;
  background-image: url(../images/title-deco.svg);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  bottom: -47px;
  left: 0px;
}

.common-title2,
.common-title3 {
  font-size: clamp(1.25rem, 0.926rem + 1.4vw, 2.25rem);
  margin-bottom: 5rem;
  position: relative;
  z-index: 1;
  line-height: 1.8;
}

.common-title4 {
  font-size: clamp(1rem, 0.838rem + 0.7vw, 1.5rem);
  margin-bottom: 3rem;
  position: relative;
  z-index: 1;
  line-height: 1.8;
}

.common-title2::before,
.common-title4::before {
  content: "";
  width: 330px;
  height: 94px;
  background-image: url(../images/title-bg.png);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  top: -25%;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.common-title2::after {
  content: "";
  width: 92px;
  height: 46px;
  background-image: url(../images/title-deco.svg);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  bottom: -75px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.common-title3::after {
  content: "";
  width: 92px;
  height: 46px;
  background-image: url(../images/title-deco.svg);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  bottom: -65px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

@media (min-width: 768px) {
  .common-title2::before,
  .common-title4::before {
    width: 460px;
    height: 94px;
    top: -60%;
  }

  .common-title2::after,
  .common-title3::after {
    width: 148px;
    height: 46px;
    bottom: -100px;
  }
}

.common-text-box {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 1.5rem;
  max-width: 750px;
}

.common-text-box.l {
  max-width: 420px;
}

.common-text-box .title {
  font-size: clamp(1.5rem, 1.257rem + 1.05vw, 2.25rem);
  line-height: 1.8;
}

.common-text-box .title2 {
  font-size: clamp(1.5rem, 1.257rem + 1.05vw, 2.25rem);
  line-height: 1.8;
  margin-bottom: 2rem;
  position: relative;
}

.common-text-box .title2::before {
  content: "";
  width: 100px;
  height: 1px;
  background-color: #000;
  position: absolute;
  left: 0;
  bottom: -30px;
}

.common-text-box .title3 {
  font-size: clamp(1.125rem, 0.882rem + 1.05vw, 1.875rem);
  line-height: 1.8;
}

.common-text-box .text {
  font-size: clamp(0.625rem, 0.504rem + 0.53vw, 1rem);
  line-height: 2.8;
}

.top-sec2-img1 {
  width: 100%;
  max-width: 592px;
  overflow: hidden;
}

.top-sec2-img1 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media (min-width: 768px) {
  .top-sec2-img1 {
    width: 70%;
  }
}

.top-sec4-box {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  z-index: 1;
  position: relative;
  gap: 2rem;
}

.top-sec4-box .img {
  width: 100%;
  max-width: 442px;
}

.top-sec4-box::before {
  content: "";
  width: 300px;
  height: 280px;
  background-image: url(../images/top-sec3-deco1.png);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  z-index: -1;
  top: -2%;
  right: -18%;
}

.top-sec4-box.r::before {
  content: "";
  width: 320px;
  height: 280px;
  background-image: url(../images/top-sec3-deco2.png);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  z-index: -1;
  top: -2%;
  right: -18%;
}

.top-sec5-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3rem;
}

@media (min-width: 768px) {
  .top-sec5-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 2rem;
  }
}

.top-sec5-box,
.top-sec5-box2 {
  flex: 1;
  position: relative;
  background: #fff;
  box-shadow: 4px 4px 8px 0 rgba(147, 115, 0, 0.2);
}

.top-sec5-box::before {
  content: "";
  width: 220px;
  height: 60px;
  background-image: url(../images/top-recommend.svg);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  top: -5%;
  left: -4%;
}

.top-sec5-box.r::before {
  content: "";
  width: 130px;
  height: 40px;
  background-image: url(../images/top-menu.svg);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  top: -2%;
  left: -2%;
}

.top-sec5-box .box,
.top-sec5-box2 .box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.2rem 1.5rem;
}

.top-sec5-box .box p,
.top-sec5-box2 .box p {
  font-size: clamp(1.25rem, 1.007rem + 1.05vw, 2rem);
  position: relative;
}

.top-sec5-box .box p::before {
  content: "";
  width: 35px;
  height: 60px;
  background-image: url(../images/top-sec4-deco.svg);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  top: 50%;
  right: -55px;
  transform: translateY(-50%);
}

.top-sec5-box2 .box p::before {
  display: none;
  content: "";
  width: 35px;
  height: 60px;
  background-image: url(../images/top-sec4-deco.svg);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  top: 50%;
  right: -55px;
  transform: translateY(-50%);
}

@media (min-width: 768px) {
  .top-sec5-box2 .box p::before {
    display: block;
  }
}

.top-sec5-box .img {
  width: 100%;
}

.top-sec5-box .img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.top-sec6-bg {
  position: sticky;
  top: 0;
  width: 100%;
  height: 70vh;
  overflow: hidden;
}

@media (min-width: 768px) {
  .top-sec6-bg {
    height: 100%;
  }
}

.top-sec6-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.top-sec6-wrap {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 1;
}

.top-sec6-wrap::before {
  content: "";
  width: 230px;
  height: 210px;
  background-image: url(../images/top-sec3-deco2.png);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  top: -20%;
  left: -20%;
  z-index: -1;
}

.top-sec6-wrap::after {
  content: "";
  width: 250px;
  height: 230px;
  background-image: url(../images/top-sec3-deco1.png);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  bottom: -2%;
  right: -22%;
  z-index: -1;
}

@media (min-width: 768px) {
  .top-sec6-wrap::before {
    width: 430px;
    height: 410px;
    top: -40%;
    left: -20%;
  }

  .top-sec6-wrap::after {
    width: 380px;
    height: 360px;
    bottom: -6%;
    right: -22%;
  }
}

.top-sec6-wrap .img {
  width: 80%;
  max-width: 696px;
}

.top-sec6-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  width: 100%;
}

@media (min-width: 768px) {
  .top-sec6-box {
    flex-direction: row;
    gap: 2rem;
  }
}

.top-sec6-box .box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  width: 100%;
  gap: 3rem;
  background-image: url(../images/top-sec5-img1.jpg);
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  border: #000 1px solid;
  padding: 2rem 2rem;
}

@media (min-width: 768px) {
  .top-sec6-box .box {
  gap: 5rem;
  padding: 5rem 2rem;
}
}

.top-sec6-box .box.r {
  background-image: url(../images/top-sec5-img2.jpg);
}

.top-sec6-box .box p {
  font-size: clamp(1.25rem, 1.007rem + 1.05vw, 2rem);
  position: relative;
}

.top-sec6-box .box p::before {
  content: "";
  width: 100px;
  height: 1px;
  background-color: #000;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -25px;
}

.webgene-blog {
  width: 100% !important;
}

iframe {
  border: none;
  display: block;
}

.footer-wrap {
  background-color: #f8f5ec;
  display: flex;
  flex-direction: column-reverse;
  align-items: stretch;
  justify-content: center;
}

@media (min-width: 768px) {
  .footer-wrap {
    flex-direction: row;
    justify-content: space-between;
  }
}

.footer-wrap .l {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  flex: 3;
}

.footer-wrap .r {
  width: 100%;
  height: auto;
  flex: 1;
  background-color: #978c6f;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 0;
}

@media (min-width: 1200px) {
  .footer-wrap .l {
    flex: 2;
  }
}

.footer-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 2.4rem;
}

@media (min-width: 768px) {
  .footer-box {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0;
  }
}

.footer-box.b {
  padding-bottom: 3rem;
  border-bottom: #231600 1px solid;
}

.footer-box .img {
  width: 30%;
  max-width: 236px;
}

.footer-box .list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.8rem;
}

@media (min-width: 768px) {
  .footer-box .list {
    align-items: end;
  }
}

.footer-box .list .box {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: end;
  gap: 1.8rem;
}

.footer-box .list .box a {
  min-height: auto;
  min-width: auto;
}

.footer-box .list .box a p {
  font-size: clamp(0.75rem, 0.669rem + 0.35vw, 1rem);
}

.footer-inst {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.footer-inst img {
  width: 18px;
}

.footer-inst p {
  font-size: clamp(0.625rem, 0.504rem + 0.53vw, 1rem);
}
/* コンセプト */

.con-sec2-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .con-sec2-box {
    flex-direction: row;
    align-items: end;
  }
}

.con-sec2-box .img {
  flex: 0.7;
  width: 100%;
  display: block;
  overflow: hidden;
}

.con-sec2-box .img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.con-sec2-box2 {
  display: flex;
  align-items: center;
  justify-content: end;
  position: relative;
  z-index: 1;
}

.con-sec2-box2 .img {
  display: block;
  width: 100%;
  max-width: 685px;
}

.con-sec2-box2 .img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.con-sec2-deco {
  position: absolute;
  bottom: 75%;
  left: -8%;
  z-index: -1;
  width: 40%;
  max-width: 350px;
}

@media (min-width: 768px) {
  .con-sec2-deco {
    bottom: 50%;
    left: -6%;
    width: 30%;
  }
}

@media (min-width: 992px) {
  .con-sec2-deco {
    bottom: 0%;
    left: 0%;
  }
}

.con-sec3-wrap {
  position: relative;
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 4rem;
}

@media (min-width: 768px) {
  .con-sec3-wrap {
    flex-direction: row;
    justify-content: start;
    margin-top: 6rem;
  }
}

.con-sec3-wrap::before {
  content: "";
  width: 100vw;
  height: 80%;
  background: linear-gradient(92deg, #fffdf3 3.94%, #f8f5ec 91.82%);
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.con-sec3-img {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 95%;
  z-index: 1;
}

@media (min-width: 768px) {
  .con-sec3-img {
    width: 70%;
  }
}

.con-sec3-text {
  position: static;
  right: -20%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
  z-index: 6;
  width: clamp(460px, 90vw, 600px);
  aspect-ratio: 1 / 1; /* ← 正円を保証 */
  background: #fff;
  border-radius: 50%;
  margin-top: 2rem;
}

.con-sec3-text.l {
  left: -20%;
}

@media (min-width: 768px) {
  .con-sec3-text {
    position: absolute;
    right: -14%;
    margin-top: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .con-sec3-text.l {
    position: absolute;
    left: -14%;
    margin-top: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media (min-width: 992px) {
  .con-sec3-text {
    right: -5%;
  }

  .con-sec3-text.l {
    left: -5%;
  }
}

.con-sec3-box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 1.2rem;
  width: 60%;
  z-index: 1;
}

.con-sec3-box .deco,
.con-sec3-box .deco.r {
  position: absolute;
  top: -78%;
  left: 54%;
  width: 55%;
  max-width: 276px;
  z-index: -1;
}

@media (min-width: 768px) {
  .con-sec3-box .deco {
    position: absolute;
    top: -90%;
    left: -45%;
    width: 55%;
    max-width: 276px;
    z-index: -1;
  }

  .con-sec3-box .deco.r {
    left: 85%;
  }
}

@media (min-width: 1200px) {
  .con-sec3-box .deco {
    top: -65%;
  }

  .con-sec3-box .deco.r {
    top: -65%;
  }
}

.con-sec3-box .p {
  font-size: clamp(0.625rem, 0.504rem + 0.53vw, 1rem);
  line-height: 3;
}

.con-sec3-box .text {
  font-size: clamp(0.875rem, 0.754rem + 0.53vw, 1.25rem);
  line-height: 2.4;
}

.con-sec5-wrap {
  background: linear-gradient(180deg, #fff 19.71%, #fffcf7 100%);
}

.con-sec5-wrap .con {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.con-sec5-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 500px;
  background-image: url(../images/con-sec5-img.jpg);
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  border: #000 1px solid;
  padding: 1.2rem 1rem;
  text-align: center;
  gap: 0.8rem;
}

.con-sec5-box p {
  font-size: clamp(1rem, 0.838rem + 0.7vw, 1.5rem);
  letter-spacing: 0.05em;
}

@media (min-width: 768px) {
  .con-sec5-box {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    padding: 2rem 2rem;
    gap: 0;
  }
}

.tri-sec2-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}

@media (min-width: 768px) {
  .tri-sec2-wrap {
    flex-direction: row;
    align-items: stretch;
  }
}

.tri-sec2-wrap::after {
  content: "";
  width: 250px;
  height: 220px;
  background-image: url(../images/top-sec3-deco2.png);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  bottom: -2%;
  right: -18%;
}

@media (min-width: 768px) {
  .tri-sec2-wrap::after {
    width: 350px;
    height: 270px;
  }
}

.tri-sec2-wrap .l {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  padding: 2rem;
  position: relative;
}

.tri-sec2-wrap .l::before {
  content: "";
  width: 380px;
  height: 360px;
  background-image: url(../images/top-sec3-deco1.png);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  z-index: -1;
  top: -5%;
  right: -46%;
}

@media (min-width: 768px) {
  .tri-sec2-wrap .l::before {
    top: -2%;
    right: -18%;
  }
}

.tri-sec2-wrap .r {
  flex: none;
  width: 100%;
  height: 50vh;
  overflow: hidden;
  margin-top: 2rem;
}

@media (min-width: 768px) {
  .tri-sec2-wrap .r {
    flex: 1;
    height: auto;
    margin-top: 0;
  }
}

.tri-sec2-wrap .r img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.tri-sec3-wrap {
  background: linear-gradient(180deg, #fff 19.71%, #fffcf7 100%);
}

.tri-sec3-wrap.bg {
  background: linear-gradient(180deg, #fffef6 19.71%, #fffae4 100%);
}

.tri-sec3-wrap .con {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.tri-sec3-wrap .con .no {
  width: 25%;
  max-width: 130px;
}

.tri-sec3-wrap .con .title {
  font-size: clamp(1.125rem, 0.842rem + 1.23vw, 2rem);
  line-height: 1.8;
}

.tri-sec3-wrap .con .p {
  font-size: clamp(0.625rem, 0.504rem + 0.53vw, 1rem);
  line-height: 2.4;
}

.tri-sec3-wrap .con .img {
  width: 95%;
  max-width: 880px;
}

@media (min-width: 768px) {
  .tri-sec3-wrap .con .img {
    width: 80%;
    max-width: 880px;
  }
}

.text-left {
  text-align: left;
}

.rec-sec2-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 1.2rem;
}

@media (min-width: 768px) {
  .rec-sec2-box {
    gap: 2rem;
  }
}

.rec-sec2-box .box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff5c5;
  width: 100%;
  padding: 1.2rem;
}

.rec-sec2-box .box p {
  font-size: clamp(0.75rem, 0.669rem + 0.35vw, 1rem);
  line-height: 1.5;
}

.rec-sec3-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.4rem;
}

.rec-sec3-wrap p {
  font-size: clamp(0.625rem, 0.504rem + 0.53vw, 1rem);
  line-height: 2;
}

.rec-sec3-title {
  background-color: #978c6f;
  width: 100%;
  padding: 1.2rem;
  color: #fff;
}

.rec-sec3-title p {
  font-size: clamp(1rem, 0.757rem + 1.05vw, 1.75rem);
  line-height: 1.8;
}

.rec-sec3-name {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 2rem;
  border-bottom: 1px #231600 solid;
  width: 100%;
}

.rec-sec3-name h2,
.rec-sec3-name p {
  font-size: clamp(1.25rem, 1.007rem + 1.05vw, 2rem);
  line-height: 1.8;
}

.rec-sec3-box {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem;
  background-color: #fff5c5;
  width: 100%;
}

.rec-sec3-box p {
  text-align: center;
  font-size: clamp(0.75rem, 0.588rem + 0.7vw, 1.25rem);
  line-height: 1.8;
}

.rec-sec4-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 580px;
  background-color: #fff;
  box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.15);
  padding: 1.6rem;
  gap: 0.8rem;
}

@media (min-width: 768px) {
  .rec-sec4-button {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
}

.rec-sec4-button p {
  font-size: clamp(1rem, 0.838rem + 0.7vw, 1.5rem);
  line-height: 1.8;
}

.rec-sec5-bg {
  overflow: hidden;
  width: 100%;
  position: relative;
}

.menu-sec2-box {
  position: relative;
}

.menu-sec2-box::before {
  content: "";
  width: 280px;
  height: 240px;
  background-image: url(../images/top-sec3-deco1.png);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  z-index: -1;
  top: 5%;
  right: -10%;
}

.menu-sec2-box.r::before {
  content: "";
  width: 280px;
  height: 240px;
  background-image: url(../images/top-sec3-deco1.png);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  z-index: -1;
  top: 30%;
  left: 38%;
}

@media (min-width: 768px) {
  .menu-sec2-box::before {
    top: 5%;
    right: 8%;
  }

  .menu-sec2-box.r::before {
    top: 30%;
    left: 52%;
  }
}

.menu-sec2-img {
  width: 100%;
  overflow: hidden;
}

.menu-sec2-img img {
  width: 100%;
  height: 30vh;
  object-fit: cover;
  object-position: center;
}

@media (min-width: 992px) {
  .menu-sec2-img img {
    height: 100%;
  }
}

.menu-list-title {
  width: 100%;
  padding: 1.2rem;
  background-color: #e6d997;
}

.menu-list-title.sub {
  background-color: #fff5c5;
}

.menu-list-title h2 {
  font-size: clamp(1rem, 0.757rem + 1.05vw, 1.75rem);
}

.menu-list-name {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 1.2rem;
  padding-bottom: 2rem;
  border-bottom: #231600 1px solid;
}

.menu-list-name .icon {
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: start;
  gap: 0.8rem;
}

.menu-list-name .icon img {
  height: 32px;
  width: auto;
}

@media (min-width: 768px) {
  .menu-list-name {
    gap: 2rem;
  }

  .menu-list-name .icon img {
    height: 40px;
  }
}

.menu-list-name .name {
  width: 100%;
  display: flex;
  align-items: end;
  justify-content: space-between;
}

.menu-list-name .name .r {
  display: flex;
  align-items: end;
  justify-content: end;
}

.menu-list-name .name p {
  font-size: clamp(1rem, 0.838rem + 0.7vw, 1.5rem);
  line-height: 1.8;
}

.menu-list-name .text {
  font-size: clamp(0.625rem, 0.504rem + 0.53vw, 1rem);
  line-height: 2;
}

.beg-sec2-box {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.beg-sec2-box .img {
  width: 100%;
  height: auto;
  overflow: hidden;
}

.beg-sec2-box .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  align-items: center;
}

.beg-sec2-box .box {
  position: static;
  display: inline-flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  background-color: #fff;
  padding: 2rem;
  gap: 1.5rem;
}

.beg-sec2-box .box h2 {
  font-size: clamp(1rem, 0.676rem + 1.4vw, 2rem);
  line-height: 1.8;
}

.beg-sec2-box .box p {
  font-size: clamp(0.75rem, 0.669rem + 0.35vw, 1rem);
  line-height: 2;
}

@media (min-width: 768px) {
  .beg-sec2-box {
    flex-direction: row;
    justify-content: start;
  }

  .beg-sec2-box .img {
    width: 70%;
  }

  .beg-sec2-box .box {
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translateY(-50%);
    max-width: 430px;
    padding: 3rem;
  }
}

@media (min-width: 992px) {
  .beg-sec2-box .box {
    right: 10%;
    max-width: 530px;
    padding: 4rem;
  }
}

.beg-sec3-wrap {
  position: relative;
}

.beg-sec3-wrap .deco1 {
  position: absolute;
  width: 80%;
  max-width: 800px;
  top: 5%;
  left: -25%;
}

.beg-sec3-wrap .deco2 {
  position: absolute;
  width: 60%;
  max-width: 433px;
  bottom: 0%;
  right: -2%;
}

.beg-sec3-wrap .deco3 {
  position: absolute;
  width: 80%;
  max-width: 800px;
  top: 5%;
  right: -25%;
}

.beg-sec3-wrap .deco4 {
  position: absolute;
  width: 60%;
  max-width: 433px;
  bottom: 3%;
  left: -6%;
}

.beg-sec3-box {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  padding: 3rem;
  gap: 1.5rem;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.15);
  position: relative;
  width: 100%;
  max-width: 740px;
}

.beg-sec3-box .no {
  position: absolute;
  top: -4%;
  right: 6%;
  max-width: 100px;
  width: 20%;
}

@media (min-width: 768px) {
  .beg-sec3-box .no {
    position: absolute;
    top: -8%;
    right: 6%;
    width: 25%;
  }
}

.beg-sec3-box h2 {
  font-size: clamp(1rem, 0.717rem + 1.23vw, 1.875rem);
  line-height: 1.8;
  margin: 0%;
}

.beg-sec3-box p {
  font-size: clamp(0.625rem, 0.504rem + 0.53vw, 1rem);
  line-height: 2.2;
}

.faq-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.faq-box .q-box {
  width: 100%;
  display: flex;
  align-items: start;
  justify-content: start;
  gap: 2rem;
  background-color: #f8f8f8;
  border-bottom: #978c6f 1px solid;
  padding: 2rem 1.5rem;
}

.faq-box .a-box {
  width: 100%;
  display: flex;
  align-items: start;
  justify-content: start;
  gap: 2rem;
  padding: 2rem 1.5rem;
}

.faq-box .q-box img,
.faq-box .a-box img {
  width: 30px;
  height: 30px;
  display: block;
}

.faq-box .q-box p,
.faq-box .a-box p {
  font-size: clamp(0.875rem, 0.754rem + 0.53vw, 1.25rem);
  line-height: 2;
}

@media (min-width: 768px) {
  .faq-box .q-box {
    gap: 4rem;
    padding: 2rem 2.5rem;
  }

  .faq-box .a-box {
    gap: 4rem;
    padding: 2rem 2.5rem;
  }

  .faq-box .q-box img,
  .faq-box .a-box img {
    width: 40px;
    height: 40px;
    display: block;
  }
}

.guide-sec2-box {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .guide-sec2-box {
    gap: 2rem;
  }
}

.guide-sec2-box .bg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -25%;
  width: 80%;
  max-width: 700px;
  z-index: -1;
}

.guide-sec2-box h2 {
  font-size: clamp(1rem, 0.676rem + 1.4vw, 2rem);
  line-height: 2;
}

.guide-sec2-box p {
  font-size: clamp(0.625rem, 0.504rem + 0.53vw, 1rem);
  line-height: 2.4;
}

.guide-sec2-box .img {
  width: 100%;
  display: block;
}

.guide-sec3-step,
.guide-sec3-step2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  padding: 0 1.5rem 0rem 1.5rem;
  gap: 1rem;
  text-align: center;
  max-width: 860px;
}

@media (min-width: 768px) {
  .guide-sec3-step,
  .guide-sec3-step2 {
    flex-direction: row;
    padding: 0 2rem 4rem 2rem;
    gap: 1.8rem;
    text-align: start;
  }
}

.guide-sec3-step .no,
.guide-sec3-step2 .no {
  position: relative;
  width: 100px;
  flex: 1;
  padding: 0.5rem;
}

.guide-sec3-step .no::after {
  display: none;
  content: "";
  width: 26px;
  height: 15px;
  background-image: url(../images/yazirushi.svg);
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute;
  top: 120%;
  left: 50%;
  transform: translateX(-50%);
}

@media (min-width: 768px) {
  .guide-sec3-step .no::after {
    display: flex;
  }
}

.guide-sec3-step .no img,
.guide-sec3-step2 .no img {
  width: 100%;
  object-fit: contain;
  object-position: center;
}

.guide-sec3-step .box,
.guide-sec3-step2 .box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex: 2.5;
}

@media (min-width: 768px) {
  .guide-sec3-step .box,
  .guide-sec3-step2 .box {
    align-items: start;
    gap: 1rem;
    flex: 6;
  }
}

.guide-sec3-step .box .title,
.guide-sec3-step2 .box .title {
  font-size: clamp(1.125rem, 1.004rem + 0.53vw, 1.5rem);
  line-height: 1.8;
}

.guide-sec3-step .box .p,
.guide-sec3-step2 .box .p {
  font-size: clamp(0.625rem, 0.504rem + 0.53vw, 1rem);
  line-height: 2;
}

.guide-yazi {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 0;
}

.guide-yazi img {
  width: 26px;
  height: 15px;
  margin-left: 0rem;
}

@media (min-width: 768px) {
  .guide-yazi {
    display: none;
  }
}

.guide-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  border: #231600 1px solid;
  width: 100%;
  max-width: 500px;
  padding: 1.5rem;
}

.guide-button p {
  font-size: clamp(1rem, 0.838rem + 0.7vw, 1.5rem);
  line-height: 1.8;
}

.news-box {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 1.8rem;
}

.news-box.r {
  align-items: end;
}

.news-box h2 {
  font-size: clamp(1rem, 0.676rem + 1.4vw, 2rem);
  margin: 0;
  line-height: 1.8;
}

.news-box p {
  font-size: clamp(0.625rem, 0.504rem + 0.53vw, 1rem);
  line-height: 2.4;
}

.news-box img {
  width: 100%;
  max-width: 678px;
}

.news-button {
  width: 70%;
  max-width: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: #937300 1px solid;
  transition: all 0.3s;
  padding: 1.2rem;
}

.news-button p {
  font-size: clamp(0.75rem, 0.669rem + 0.35vw, 1rem);
  letter-spacing: 0.2rem;
  line-height: 1.5;
}

.news-button:hover{
  background-color: #937300;
}

.news-img-box img {
  height: 40vh;
  width: 100%;
  object-fit: cover;
  object-position: center;
}

@media (min-width: 768px) {
  .news-img-box img {
  height: 45vh;
}
}