@charset "utf-8";
/* CSS Document */
/* ---------- header_a ---------- */
.header_a {
  position: relative;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 20px 40px 20px;
  z-index: 999;
}
.header_a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 110%;
  background: #fff;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 70%, rgba(255, 255, 255, 0) 100%);
  z-index: 2;
  opacity: 0;
  transition: ease 0.3s;
}
.header_a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 110%;
  background: #64D6D1;
  background: linear-gradient(180deg, rgba(100, 214, 209, 1) 0%, rgba(181, 235, 127, 1) 70%, rgba(188, 237, 120, 0) 100%);
  z-index: 1;
  opacity: 0;
  transition: ease 0.3s;
}
.header_a.scon::before, .header.scon::after {
  opacity: 1;
}
.header_a > div {
  position: relative;
  z-index: 3;
}
.header_a .logo {
  width: 30%;
  max-width: 180px;
}
.header_a .head_menu .top_menu, .header .head_menu .bottom_menu {
  gap: 40px;
}
.header_a .head_menu .top_menu .flex {
  gap: 10px;
}
.header_a .head_menu .top_menu img {
  width: 26px;
}
.header_a .head_menu .top_menu .tel {
  width: 20px;
}
.header_a .menu-bt {
  display: none;
}
.header_a .head_menu .top_menu, .header .head_menu .bottom_menu {
  gap: 30px;
}
.header_a .head_menu .top_menu img {
  width: 23px;
}
/* ---------- header_b ---------- */
.header_b {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  padding: 15px clamp(10px, 2vw, 40px);
  justify-content: space-between;
  z-index: 9999;
}
.header_b .logo {
  width: 30%;
  max-width: 160px;
}
.header_b .head_menu, .header_b .head_menu .ul {
  gap: clamp(20px, 5vw, 40px);
}
.header_b .head_menu, .header_b .head_menu .ul p {
  font-size: clamp(8px, 6vw, 16px);
  white-space: nowrap;
}
.header_b .head_menu {
  padding: 20px 30px;
  border-radius: 200px;
  background-color: #fff;
  box-shadow: 0 0 20px rgba(113, 113, 113, 0.1);
}
.header_b .head_menu .ul .contact_bt {
  padding: 6px 18px;
  background-color: #383743;
  border-radius: 100px;
}
.header_b .head_menu .ul .contact_bt p {
  color: #fff;
}
.header_b .head_menu .menu-bt {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  aspect-ratio: 1 / 1;
  cursor: pointer;
}
.header_b .head_menu .menu-bt .line {
  position: relative;
  width: 32px;
  height: 22px;
}
.header_b .head_menu .menu-bt .line div {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #222;
  transition: ease 0.4s;
}
.header_b .head_menu .menu-bt .line div:nth-of-type(1) {
  top: 0;
}
.header_b .head_menu .menu-bt .line div:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.header_b .head_menu .menu-bt .line div:nth-of-type(3) {
  bottom: 0;
}
.header_b .head_menu .menu-bt.active .line div:nth-of-type(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.header_b .head_menu .menu-bt.active .line div:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%) translateX(50%);
  opacity: 0;
}
.header_b .head_menu .menu-bt.active .line div:nth-of-type(3) {
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}
.menu-wrap_b {
  display: none;
  position: fixed;
  z-index: 98;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.menu-wrap_b::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #F8F8F8;
  opacity: 0.9;
}
.menu-wrap_b > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  z-index: 2;
  padding-left: 20px;
  padding-right: 20px;
}
.menu-wrap_b .ul {
  width: 90%;
  max-width: 1000px;
  gap: 50px 30px;
  overflow: auto;
}
.menu-wrap_b .ul .li {
  width: calc(100% / 3 - 60px / 3);
}
.menu-wrap_b .ul .li a {
  position: relative;
  display: block;
  padding: 15px 20px;
  box-sizing: border-box;
  text-align: center;
  overflow: hidden;
  border-bottom: 2px solid #8F8F8F;
}
.menu-wrap_b .ul .li a p {
  color: #8F8F8F;
  text-align: center;
}
.menu-wrap_b .ul .li a p.en {
  font-family: "Dancing Script", cursive, "Noto Sans", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 26px;
  font-weight: 700;
}
.menu-wrap_b .ul .li a p.jp {
  font-size: 13px;
  font-weight: 400;
}
/* ---------- header_c ---------- */
.page_links_c {
  position: fixed;
  z-index: 99;
  top: 90px;
  left: 0;
  width: 100%;
  padding: 20px;
  gap: 40px;
  background-color: #000;
}
.page_links_c a {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 15px;
}
.page_links_c a p {
  color: #fff;
}
.page_links_c a i {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 22px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  font-size: 12px;
  color: #829953;
  background-color: #fff;
  transition: ease 0.3s;
  padding-top: 3px;
}
.page_links_c a:hover i {
  transform: translateY(2px);
}
.header_c .online_bt_link a {
  padding: 10px 25px;
  border: 2px solid #AFC502;
  background-color: #fff;
  gap: 15px;
  border-radius: 200px;
}
.header_c .online_bt_link img {
  width: 28px;
}
.header_c .online_bt_link p {
  margin-top: 5px;
  font-weight: 500;
}
.header_c {
  position: fixed;
  width: 100%;
  height: 90px;
  top: 0;
  left: 0;
  justify-content: space-between;
  gap: 20px;
  padding: 0 40px;
  z-index: 999;
  background-color: #DDDDDD;
}
.header_c .logo {
  gap: 20px;
  justify-content: flex-start;
}
.header_c .logo img {
  max-width: 270px;
}
.header_c .header_c_right {
  gap: 40px;
}
.header_c .header_c_right p {
  font-weight: 600;
}
.header_c .header_c_right .menu-bt {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 60px;
  aspect-ratio: 1 / 1;
  cursor: pointer;
  background-color: #000;
  border-radius: 3px;
  z-index: 999;
}
.header_c .header_c_right .menu-bt .line {
  position: relative;
  width: 28px;
  height: 22px;
}
.header_c .header_c_right .menu-bt .line div {
  position: absolute;
  width: 100%;
  height: 3px;
  border-radius: 10px;
  background-color: #fff;
  transition: ease 0.4s;
}
.header_c .header_c_right .menu-bt .line div:nth-of-type(1) {
  top: 0;
}
.header_c .header_c_right .menu-bt .line div:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.header_c .header_c_right .menu-bt .line div:nth-of-type(3) {
  bottom: 0;
}
.header_c .header_c_right .menu-bt.active .line div:nth-of-type(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.header_c .header_c_right .menu-bt.active .line div:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%) translateX(50%);
  opacity: 0;
}
.header_c .header_c_right .menu-bt.active .line div:nth-of-type(3) {
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}
.menu-wrap_c {
  display: none;
  position: fixed;
  z-index: 992;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.menu-wrap_c::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #000;
  opacity: 0.9;
}
.menu-wrap_c > div {
  position: absolute;
  top: 30px;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  z-index: 2;
  padding-left: clamp(0px, 2vw, 80px);
  padding-right: clamp(0px, 2vw, 80px);
}
.menu-wrap_c .ul {
  width: 90%;
  gap: 50px 30px;
  overflow: auto;
}
.menu-wrap_c .ul .menu_box {
  width: calc(100% / 3 - 60px / 3);
}
.menu-wrap_c .ul .menu_box a {
  position: relative;
  display: block;
  padding: 15px 50px;
  box-sizing: border-box;
  text-align: center;
  overflow: hidden;
  border-bottom: 3px solid #fff;
}
.menu-wrap_c .ul .menu_box a p {
  color: #fff;
}
.menu-wrap_c .ul .menu_box a p.en {
  font-size: clamp(20px, 2.5vw, 32px);
  font-weight: 700;
}
.menu-wrap_c .ul .menu_box a p.jp {
  font-size: 16px;
  font-weight: 700;
}
/* ---------- header_d ---------- */
.header_d .more a, .header_d .more > div {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #000;
  color: #fff;
  padding: 14px 32px;
  border-radius: 9999px;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 500;
  text-decoration: none;
  gap: 12px;
  transition: 0.4s ease;
}
.header_d .more .morebox {
  gap: 40px;
}
.header_d .more .morebox p {
  color: #fff;
  font-size: clamp(16px, 4vw, 18px);
}
.header_d .more a:hover, .header_d .more > div:hover {
  background-color: #3a4046;
}
.header_d .more i {
  font-size: 14px;
  color: #fff;
  transition: transform 0.3s ease;
}
.header_d .more a:hover i.fa-chevron-right, .more > div:hover i.fa-chevron-right {
  transform: translateX(4px);
}
.header_d .ul .li a p.en {
  position: absolute;
  left: 0;
  top: 100%;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(-8px);
  transition: ease 0.3s;
}
.header_d .ul .li a:hover p.en {
  opacity: 1;
  transform: translateY(0);
}
.menu-wrap_d {
  display: none;
}
.header_d {
  white-space: nowrap;
  position: fixed;
  z-index: 9999;
  height: 90px;
  width: 100%;
  overflow: hidden;
}
.header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
  z-index: 0;
}
.header_d .rightbox {
  position: fixed;
  top: 0px;
  right: 20px;
  z-index: 50;
  white-space: nowrap;
}
.header_d .rightbox .ul {
  height: 100px;
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
  gap: clamp(10px, 5vw, 30px);
}
.header_d > div {
  position: relative;
  z-index: 2;
}
.header_d .leftbox {
  position: fixed;
  top: 25px;
  left: 20px;
  z-index: 10;
}
.header_d .leftbox .logo img {
  width: clamp(120px, 30vw, 200px);
}
.header_d .menu-item {
  position: relative;
  flex-wrap: nowrap;
}
.header_d .menu-item .hover-icon {
  position: absolute;
  top: 20px;
  left: 50%;
  width: 40px;
  height: auto;
  opacity: 0;
  transform: translateX(-50%) translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  z-index: 1;
}
.header_d .menu-item:hover .hover-icon {
  opacity: 0.3;
  transform: translateX(-50%) translateY(-20px);
}
.header_d .rightbox .ul .li a p.jp {
  font-size: clamp(8px, 1.4vw, 16px);
  margin: 0;
  text-align: center;
  color: #fff;
}
.header_d .rightbox .ul .li a p.en {
  font-size: clamp(16px, 4vw, 22px);
  color: #fff;
  font-weight: 500;
  margin: 0;
  text-align: center;
  font-family: "Cormorant", sans-serif;
}
.header_d .menu-bt {
  display: none;
}
/* ---------- header_e ---------- */
.header-mobile_e {
  display: none;
}
.header_e {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0;
  justify-content: center;
  gap: 30px;
  z-index: 9999;
  background-color: #DEDEDE;
}
.header_e:not(.header_e-mobile_e) > div {
  position: relative;
  z-index: 2;
  max-width: 1400px;
  margin: 0 auto;
}
.header_e .ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 100%;
}
.header_e .head_menu a {
  position: relative;
  width: 12%;
  z-index: 1;
  padding: 10px 20px 10px 20px;
  box-sizing: border-box;
  height: 100%;
  align-items: stretch;
}
.header_e .head_menu .logo {
  width: 22%;
}
.header_e .dot {
  position: relative;
  width: 8px;
  height: 160px;
}
.header_e .dot::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 8px;
  height: 70%;
  background-image: radial-gradient(#ccc 20%, transparent 21%);
  background-size: 10px 6px;
  background-repeat: repeat-y;
}
.header_e .li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: auto;
  min-height: 100px;
}
.header_e .li p {
  font-size: clamp(13px, 1vw, 16px);
  font-weight: 700;
  text-align: center;
}
.header_e .head_menu a img {
  width: 40%;
  height: auto;
  margin-bottom: 10px;
  object-fit: contain;
}
.header_e .head_menu a .logoimg {
  width: 80%;
}
.header_e .head_menu a:hover {
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.header_e .head_menu a::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #EABE4A;
  opacity: 0;
  z-index: -1;
  transition: opacity 0.3s ease;
  border-radius: 0 0 8px 8px;
}
.header_e .head_menu a:hover {
  opacity: 1;
}
.header_e .head_menu a:hover::before {
  opacity: 1;
}
.header_e .head_menu .logo:hover {
  background-color: transparent;
}
.header_e .head_menu .logo:hover {
  background-color: transparent;
}
.header_e .head_menu .logo:hover::before {
  display: none;
}
/* ---------- header_f ---------- */
.header_f .category-nav {
  top: 102px;
  left: 0;
  right: 0;
  z-index: 100;
  padding: 1rem 0;
  background-color: #DDDDDD;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
body.on .header_f .category-nav {
  position: fixed;
}
.header_f .category-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: nowrap;
  overflow-x: auto;
}
.header_f .category-item {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0;
  min-width: 120px;
  padding: 0.75rem 1.5rem;
  background: #ffffff;
}
.header_f .category-item:hover {
  transform: translateY(-2px);
  background: #7BE861;
}
.header_f .category-name {
  font-family: "Lato", "Noto Sans", "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 13px;
  font-weight: 900;
  color: #0a183e;
  text-align: center;
  white-space: nowrap;
}
.header_f .header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: transparent;
  backdrop-filter: none;
  z-index: 1000;
  padding: 20px 0;
  border-bottom: none;
  transition: all 0.3s ease;
}
.header_f .header.active {
  background-color: rgba(0, 0, 0, 0.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.header_f .header-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header_f .header-logo {
  display: flex;
  align-items: center;
}
.header_f .header-logo-img {
  height: 45px;
  width: auto;
  transition: transform 0.3s ease;
}
.header_f .header-logo-img:hover {
  transform: scale(1.05);
}
.header_f .header-right {
  display: flex;
  align-items: center;
  gap: 35px;
}
.header_f .contact-link {
  font-family: 'Orbitron', sans-serif;
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  font-size: 14px;
  padding: 15px 30px 8px;
  border: none;
  border-radius: 200px;
  letter-spacing: 0.05em;
  background-color: #000;
}
.header_f .contact-link p {
  color: #ffffff !important;
}
.contact-link:hover {
  background-color: #aa1a1a;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(204, 34, 34, 0.3);
}
.header_f .menu-bt {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  padding: 8px;
  transition: all 0.3s ease;
}
.header_f .menu-bt div {
  width: 28px;
  height: 3px;
  background-color: #000;
  margin: 4px 0;
  transition: 0.3s;
  border-radius: 2px;
}
.header_f .menu-bt:hover div {
  background-color: #000;
  transform: scaleX(1.1);
}
/* アクティブ状態でクロス（×）になる */
.header_f .menu-bt.active div:nth-child(1) {
  transform: rotate(45deg) translate(8px, 8px);
  background-color: #fff;
}
.header_f .menu-bt.active div:nth-child(2) {
  opacity: 0;
}
.header_f .menu-bt.active div:nth-child(3) {
  transform: rotate(-45deg) translate(8px, -8px);
  background-color: #fff;
}
/* ---------- header_g ---------- */
.header_g .recruit-link a {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.08em;
  color: #111;
  text-decoration: none;
  position: relative;
}
.header_g .recruit-link .icon {
  width: 80px;
  height: 80px;
  border: 1px solid #111;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 18px;
  transition: background .3s, color .3s;
}
.header_g .recruit-link .text {
  position: relative;
  padding: 10px 20px 4px 0;
}
/* 下線（初期は100%幅） */
.header_g .recruit-link .text::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 3px;
  background: #111;
  transition: width .5s ease;
}
.header_g .recruit-link a:hover .text::after {
  width: 0;
}
.header_g .recruit-link a:hover .icon {
  background: #000;
  color: #fff;
}
.header_g .recruit-link a:hover i {
  color: #fff; /* ← 白にするだけ */
}
.header_g .recruit-link a:hover {
  opacity: 1;
}
.header_g .ul .li a p.en {
  position: absolute;
  left: 0;
  top: 100%;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(-8px);
  transition: ease 0.3s;
}
.header_g .ul .li a:hover p.en {
  opacity: 1;
  transform: translateY(0);
}
.header_g {
  white-space: nowrap;
  position: fixed;
  z-index: 9999;
  height: 90px;
  width: 100%;
  overflow: hidden;
}
.header_g .rightbox {
  position: fixed;
  top: 0px;
  right: 0px;
  z-index: 50;
  white-space: nowrap;
}
.header_g .rightbox .ul {
  height: 100px;
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
  gap: clamp(10px, 5vw, 30px);
}
.header_g > div {
  position: relative;
  z-index: 2;
}
.header_g .leftbox {
  position: fixed;
  top: 25px;
  left: 20px;
  z-index: 10;
}
.header_g .leftbox .logo img {
  width: clamp(120px, 30vw, 200px);
}
.header_g .menu-item {
  position: relative;
  flex-wrap: nowrap;
}
.header_g .menu-item .hover-icon {
  position: absolute;
  top: 20px;
  left: 50%;
  width: 40px;
  height: auto;
  opacity: 0;
  transform: translateX(-50%) translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  z-index: 1;
}
.header_g .menu-item:hover .hover-icon {
  opacity: 0.3;
  transform: translateX(-50%) translateY(-20px);
}
.header_g .rightbox .ul .li a p.jp {
  font-size: clamp(8px, 1.4vw, 16px);
  margin: 0;
  text-align: center;
}
.header_g .rightbox .ul .li a p.en {
  font-size: clamp(16px, 4vw, 22px);
  color: #fff;
  font-weight: 500;
  margin: 0;
  text-align: center;
}
.header_g .menu-bt {
  display: none;
}
/* ---------- header_h ---------- */
.header_h {
  border-top: 4px solid #30363b;
  background: #fff;
}
.header_h .container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 clamp(12px, 4vw, 24px);
}
.header_h .topbar {
  display: grid;
  grid-template-columns: 350px auto 250px;
  align-items: center;
  gap: clamp(8px, 3vw, 24px);
  padding: 12px 0;
}
.header_h .top-left, .header_h .top-right {
  display: flex;
  align-items: center;
  gap: clamp(12px, 4vw, 32px);
  justify-content: flex-start;
}
.header_h .top-right {
  justify-content: flex-end;
}
.header_h .tel {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.header_h .tel p {
  margin: 0;
}
.header_h .tel-number {
  font-weight: 800;
}
.header_h .time {
  background: #111;
  color: #fff;
  border-radius: 999px;
  padding: 6px 10px;
  display: inline-block;
  margin: 0;
}
.header_h .head_menu {
  border-top: 1px solid #cfd3d6;
  background: #f1f3f4;
}
.header_h .head_menu .menu-list {
  display: flex;
  gap: clamp(12px, 6vw, 40px);
  margin: 0;
  padding: 14px 0;
  justify-content: center;
  flex-wrap: nowrap;
  overflow: auto hidden;
}
.header_h .head_menu .menu-item {
  white-space: nowrap;
}
.header_h .head_menu .menu-item p {
  margin: 0;
}
.header_h .head_menu .menu-list::-webkit-scrollbar {
  height: 6px;
}
.header_h .head_menu .menu-list::-webkit-scrollbar-thumb {
  background: #ddd;
  border-radius: 999px;
}
/* ---------- 1080px以下 ---------- */
@media (max-width: 1080px) {
  .header_h .top-left, .header_h .top-right, .header_h .bottom_menu {
    display: none;
  }
  .header_h .topbar {
    display: flex;
    align-items: center;
    gap: clamp(8px, 3vw, 24px);
    padding: 12px 0;
    position: relative;
  }
  .header_h .menu-bt {
    display: block;
    position: absolute;
    right: 20px;
    width: 70px;
    aspect-ratio: 1 / 1;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    background: #000;
    border-radius: 50%;
    cursor: pointer;
  }
  .header_h .menu-bt .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 20px;
  }
  .header_h .menu-bt .line > div {
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #fff;
    left: 0;
    transition: ease 0.3s;
  }
  .header_h .menu-bt .line > div:nth-of-type(1) {
    top: 0;
  }
  .header_h .menu-bt .line > div:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  .header_h .menu-bt .line > div:nth-of-type(3) {
    bottom: 0;
  }
  .header_h .menu-bt.active .line > div:nth-of-type(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  .header_h .menu-bt.active .line > div:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%) translateX(50%);
    opacity: 0;
  }
  .header_h .menu-bt.active .line > div:nth-of-type(3) {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
}
/* ---------- 576px以下 ---------- */
@media (max-width: 576px) {
  .header_h {
    padding: 15px 20px;
  }
  .header_h .menu-bt {
    width: 50px;
  }
  .header_h .menu-bt .line {
    width: 20px;
    height: 16px;
  }
}
/* ---------- header_i ---------- */
.header_i .contact-box a {
  flex-direction: column;
  width: 160px;
  height: 180px;
  background: #333;
  font-weight: 600;
  text-decoration: none;
  gap: 12px;
  transition: background .3s, transform .3s;
}
.header_i .contact-box p {
  color: #fff;
  font-size: clamp(8px, 1.4vw, 16px);
}
.header_i .contact-box i {
  font-size: 24px;
  color: #fff;
}
/* ホバー効果 */
.header_i .contact-box a:hover {
  background: #000; /* 濃い黒に */
  transform: translateY(-4px); /* 少し浮かせる */
}
.header_i .ul .li a p.en {
  position: absolute;
  left: 0;
  top: 100%;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(-8px);
  transition: ease 0.3s;
}
.header_i .ul .li a:hover p.en {
  opacity: 1;
  transform: translateY(0);
}
.header_i {
  white-space: nowrap;
  position: fixed;
  z-index: 9999;
  height: 90px;
  width: 100%;
  overflow: hidden;
}
.header_i .rightbox {
  position: fixed;
  top: 0px;
  right: 0px;
  z-index: 50;
  white-space: nowrap;
}
.header_i .rightbox .ul {
  height: 100px;
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
  gap: clamp(10px, 5vw, 30px);
}
.header_i > div {
  position: relative;
  z-index: 2;
}
.header_i .leftbox {
  position: fixed;
  top: 25px;
  left: 20px;
  z-index: 10;
}
.header_i .leftbox .logo img {
  width: clamp(120px, 30vw, 200px);
}
.header_i .menu-item {
  position: relative;
  flex-wrap: nowrap;
}
.header_i .menu-item .hover-icon {
  position: absolute;
  top: 20px;
  left: 50%;
  width: 40px;
  height: auto;
  opacity: 0;
  transform: translateX(-50%) translateY(-10px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  z-index: 1;
}
.header_i .menu-item:hover .hover-icon {
  opacity: 0.3;
  transform: translateX(-50%) translateY(-20px);
}
.header_i .rightbox .ul .li a p.jp {
  font-size: clamp(8px, 1.4vw, 16px);
  margin: 0;
  text-align: center;
}
.header_i .rightbox .ul .li a p.en {
  font-size: clamp(16px, 4vw, 22px);
  color: #fff;
  font-weight: 500;
  margin: 0;
  text-align: center;
}
.header_i .menu-bt {
  display: none;
}
/* ---------- header_j ---------- */
.header_j {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background-color: #212121;
}
.header_j::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.9);
  opacity: 0;
  transition: ease 0.4s;
}
.header_j.on::after {
  opacity: 1;
}
.header_j.onbg::after {
  opacity: 1 !important;
}
.header_j > div {
  position: relative;
  z-index: 3;
}
.header_j .logo {
  padding-left: 40px;
}
.header_j .logo img {
  max-height: 80px;
}
.header_j .menu-bt {
  cursor: pointer;
  aspect-ratio: 1 / 1;
  width: 120px;
  background-color: none;
}
.header_j .menu-bt .line {
  position: relative;
  width: 36px;
  height: 26px;
}
.header_j .menu-bt .line div {
  height: 2px;
  background-color: #fff;
  position: absolute;
  left: 0;
  transition: ease 0.3s;
}
.header_j .menu-bt .line div:nth-of-type(1) {
  width: 100%;
  top: 0;
}
.header_j .menu-bt .line div:nth-of-type(2) {
  width: 100%;
  top: 50%;
  transform: translateY(-50%);
}
.header_j .menu-bt .line div:nth-of-type(3) {
  width: 100%;
  bottom: 0;
}
.header_j .menu-bt.active .line div:nth-of-type(1) {
  width: 100%;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.header_j .menu-bt.active .line div:nth-of-type(2) {
  width: 100%;
  top: 50%;
  transform: translateY(-50%) translateX(50%);
  opacity: 0;
}
.header_j .menu-bt.active .line div:nth-of-type(3) {
  width: 100%;
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}
.header_j.on::after {
  opacity: 1;
  background-color: rgba(36, 38, 35, 0.9);
}
/* ---------- header_k ---------- */
.header_k {
  position: fixed;
  top: 0;
  right: 0;
  width: 80px;
  height: 100vh;
  padding: 30px 0;
  z-index: 9999;
  background-color: #FFFFFF4D;
  flex-direction: column;
  align-items: center;
}
.header_k.flex {
  justify-content: flex-start;
  flex-direction: column;
  align-items: center;
}
.header_k .head_menu .ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}
.header_k .head_menu .ul p {
  writing-mode: vertical-rl;
  text-orientation: sideways;
  font-size: clamp(8px, 6vw, 16px);
  white-space: nowrap;
  color: #3F5841;
  font-family: "EB Garamond", sans-serif;
  font-weight: 500;
}
.header_k .head_menu .ul .li {
  position: relative;
}
.header_k .head_menu .ul .li:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translateX(-50%);
  width: 30px;
  height: 1px;
  background-color: rgba(63, 88, 65, .3);
}
.header_k .head_menu {
  padding: 20px 30px;
}
.header_k .menu-bt {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  aspect-ratio: 1 / 1;
  cursor: pointer;
  margin-bottom: 40px;
}
.header_k .menu-bt .line {
  position: relative;
  width: 24px;
  height: 14px;
}
.header_k .menu-bt .line div {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #3F5841;
  transition: ease 0.4s;
}
.header_k .menu-bt .line div:nth-of-type(1) {
  top: 0;
}
.header_k .menu-bt .line div:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.header_k .menu-bt .line div:nth-of-type(3) {
  bottom: 0;
}
.header_k .menu-bt.active .line div:nth-of-type(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.header_k .menu-bt.active .line div:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%) translateX(50%);
  opacity: 0;
}
.header_k .menu-bt.active .line div:nth-of-type(3) {
  bottom: 50%;
  transform: translateY(50%) rotate(-45deg);
}
/* ---------- footer_a ---------- */
.footer_a {
  background-color: #DEDEDE;
  padding-top: 60px;
  padding-bottom: 60px;
}
.footer_a p, .footer_a i {
  color: #333333;
}
.footer_a .logo {
  max-width: 250px;
}
.footer_a .rightbox {
  gap: 60px;
}
.footer_a .rightbox .title {
  font-weight: bold;
  margin-bottom: 20px;
}
.footer_a .rightbox .item:not(:last-of-type) {
  margin-bottom: 15px;
}
.footer_a .leftbox .snsbox a i {
  font-size: 27px;
}
/* ---------- footer_b ---------- */
.footer_b {
  background-color: #181818;
  color: #ffffff;
  position: relative;
}
.footer_b .leftbox .snsbox a i {
  color: #ffffff;
  font-size: 27px;
}
.footer_b .footer-logo {
  max-width: 280px;
  text-align: center;
}
.footer_b .rightbox {
  gap: 60px;
}
.footer_b .rightbox .title {
  margin-bottom: 20px;
  font-family: "Orbitron", sans-serif;
}
.footer_b .rightbox .item p {
  color: #fff;
}
.footer_b .rightbox .item:not(:last-of-type) {
  margin-bottom: 15px;
}
.footer-bottom_b {
  background-color: #181818;
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
/* ---------- footer_c ---------- */
.footer_c {
  background-color: #333333;
  color: #fff;
  padding-top: 50px;
  padding-bottom: 50px;
}
.footer_c .topbox .ul {
  width: 50%;
  gap: 10px 60px;
}
.footer_c .topbox .ul .li {
  flex: 0 0 calc((100% - 120px) / 3);
}
.footer_c .topbox .ul .li a {
  display: block;
  width: 100%;
  border-bottom: 1px solid #707070;
  padding-bottom: 5px;
}
.footer_c .topbox .ul .li a p {
  color: #fff;
}
/* ---------- footer_d ---------- */
.footer_d {
  margin-top: 50px;
  position: relative;
  z-index: 9;
  background-color: #333333;
}
.footer_d .top_footer {
  padding-top: 5%;
  padding-bottom: 5%;
  justify-content: space-between;
}
.footer_d .top_footer .leftbox {
  max-width: 50%;
}
.footer_d .top_footer .leftbox .logo {
  max-width: 250px;
}
.footer_d .top_footer .leftbox .tel .flex {
  gap: 14px;
}
.footer_d .top_footer .leftbox .tel p {
  font-size: 25px;
}
.footer_d .top_footer .leftbox .tel img {
  width: 25px;
}
.footer_d .top_footer .rightbox {
  width: 50%;
}
.footer_d .top_footer .rightbox .footer_list {
  gap: 30px;
}
.footer_d .top_footer .rightbox .footer_list a {
  width: calc(100% / 3 - 60px / 3);
  border-bottom: 2px dotted #fff;
  padding-bottom: 5px;
}
.footer_d .top_footer .rightbox .footer_list a p {
  color: #fff;
}
.footer_d .online_bt_link a {
  padding: 10px 25px;
  border: 2px solid #000;
  background-color: #fff;
  gap: 15px;
  border-radius: 200px;
}
.footer_d .online_bt_link img {
  width: 28px;
}
.footer_d .snsbox {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 20px;
}
.footer_d .snsbox a {
  width: 36px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: #000000;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.footer_d .snsbox a i {
  color: #fff;
  font-size: 18px;
}
/* ---------- footer_e ---------- */
.footer_e {
  background-color: #FFF;
  padding-top: 60px;
  padding-bottom: 60px;
  flex-direction: column;
}
.footer_e p, .footer i {
  color: #333333;
}
.footer_e .logo {
  max-width: 250px;
}
.footer_e .topbox {
  margin: 0 auto;
}
.footer_e .bottombox {
  width: 100%;
  justify-content: space-between;
}
.footer_e .bottombox .leftbox {
  gap: 60px;
}
.footer_e .bottombox .leftbox .title {
  font-weight: bold;
  margin-bottom: 20px;
}
.footer_e .bottombox .leftbox .item:not(:last-of-type) {
  margin-bottom: 15px;
}
.footer_e .bottombox .rightbox {
  flex-direction: column;
  gap: 20px;
}
.footer_e .bottombox .rightbox .snsbox a i {
  font-size: 30px;
}
.footer_e .bottombox .rightbox .contact_wrap .contact_bt a {
  padding: 10px 25px;
  background-color: #383743;
  gap: 15px;
  border-radius: 200px;
}
.footer_e .bottombox .rightbox .contact_wrap .contact_bt a p {
  color: #fff;
}
.footer_e .bottombox .rightbox .contact_wrap .tel .flex {
  margin-top: 10px;
  gap: 14px;
}
.footer_e .bottombox .rightbox .contact_wrap .tel img {
  width: 18px;
}
.footer_e .bottombox .rightbox .contact_wrap .tel p {
  font-size: 22px;
  font-weight: 600;
}
.footer_e .bottombox .rightbox .contact_wrap .contact_bt img {
  width: 18px;
}
.copyright_e {
  background-color: #000;
  color: #fff;
}
/* ---------- footer_f ---------- */
.footer_f {
  background-color: #333333;
  padding-top: 60px;
  padding-bottom: 60px;
  flex-direction: column;
}
.footer_f p, .footer_f i {
  color: #CCCCCC;
}
.footer_f .logo {
  max-width: 250px;
}
.footer_f .topbox {
  width: 100%;
  gap: 80px;
  margin: 0 auto;
}
.footer_f .topbox .title {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: #666666 solid 1px;
}
.footer_f .topbox .item:not(:last-of-type) {
  margin-bottom: 10px;
}
.footer_f .topbox .item a {
  justify-content: flex-start;
}
.footer_f .topbox .item a i {
  font-size: 20px;
}
.footer_f .topbox .box {
  width: calc(100% / 4 - 240px / 4);
}
.footer_f .bottombox {
  margin-top: 100px;
  width: 100%;
  justify-content: space-between;
}
.footer_f .bottombox .copyright, .footer_f .bottombox .logo {
  width: 50%;
}
/* ---------- footer_g ---------- */
.footer_g {
  background-color: #333333;
  color: #fff;
  justify-content: space-between;
}
.footer_g .leftbox {
  width: 40%;
}
.footer_g .leftbox .logo {
  width: 100%;
}
.footer_g .rightbox {
  gap: 30px 40px;
}
.footer_g .rightbox .ul .li:not(:last-of-type) {
  margin-bottom: 15px;
}
.footer_g .rightbox .ul .li a p {
  color: #fff;
}
.footer-bottombox_g .ul {
  gap: 30px 40px;
  justify-content: flex-end;
}
/* ---------- footer_h ---------- */
.footer_h {
  background-color: #242328;
}
.footer_h .logo {
  width: 100%;
  max-width: 220px;
}
.footer_h p {
  color: #fff;
  font-size: 15px;
  font-weight: 600;
}
.footer_h > div {
  padding-top: 40px;
  padding-bottom: 40px;
}
.footer_h .ul {
  gap: 30px;
}
/* ---------- contact_a ---------- */
.contact_a {
  background: #0f5289; /* 青背景 */
  text-align: center;
  padding: 2rem 1rem;
  color: #fff;
  max-width: 900px;
  margin: 0 auto;
}
.contact_a .contact-inner {
  max-width: 900px;
  margin: 0 auto;
}
.contact_a .contact-title {
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 500;
  color: #fff;
}
.contact_a .contact-sub {
  font-size: clamp(12px, 1.5vw, 14px);
  margin: 0.5rem 0;
  opacity: 0.9;
}
.contact_a .tel a {
  text-decoration: none;
  color: #fff;
}
.contact_a .tel-number {
  font-size: clamp(18px, 2vw, 22px);
  font-weight: bold;
  letter-spacing: 1px;
  color: #fff;
}
.contact_a .telicon {
  width: 25px;
  height: 25px;
}
/* ---------- contact_b ---------- */
.contact_b {
  background-color: #6fbfd9;
}
.contact_b h2, .contact_b p {
  color: #fff;
}
.contact_b .txtbox {
  width: 50%;
  margin-left: auto;
  margin-right: 0;
}
.contact_b .more > a, .contact_b .more > div {
  gap: 20px;
  border-radius: 200px;
  padding: 10px 30px;
  background-color: #DD0086;
}
.contact_b .more.more2 a, .contact_b .more > div {
  background-color: transparent;
  border: 2px solid #fff;
}
.contact_b .more a > div, .contact_b .more > div > div {
  gap: 20px;
}
.contact_b .more a > div p, .contact_b .more > div > div p {
  color: #fff;
  font-size: clamp(14px, 2vw, 18px);
  padding-left: 20px;
}
.contact_b .more a > div i, .contact_b .more > div > div i {
  color: #fff;
  transition: ease 0.3s;
}
.contact_b .more a:hover > div i, a:hover .contact_b .more > div > div i, .contact_b .more > div:hover > div i {
  transform: translateX(2px);
}
/* ---------- contact_c ---------- */
.contact_c {
  gap: 40px;
  background-color: #343434;
  margin-top: 60px;
  justify-content: space-around;
  padding: 60px 80px;
}
.contact_c .titlebox {
  flex-direction: column;
  align-items: flex-start;
}
.contact_c .titlebox p {
  font-family: "EB Garamond", sans-serif;
  letter-spacing: 0.2em;
  font-weight: 400;
  color: #847D5F;
}
.contact_c .telbox {
  margin-left: 50px;
}
.contact_c .telbox img {
  width: 25px;
  margin-right: 10px;
}
.contact_c .more1 a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 48px;
  min-width: 260px;
  color: #FDF7E7;
  text-decoration: none;
  background:
    linear-gradient(#857E60, #857E60) top center / calc(100% - 2*8px) 1px no-repeat, linear-gradient(#857E60, #857E60) bottom center / calc(100% - 2*8px) 1px no-repeat, linear-gradient(#857E60, #857E60) left center / 1px 42px no-repeat, linear-gradient(#857E60, #857E60) right center / 1px 42px no-repeat;
  border: none;
  overflow: hidden;
  transition: background-size .35s ease, opacity .2s ease;
}
.contact_c .more1 a:hover {
  background-size:
    calc(100% - 2 * (8px + 8px)) 1px, calc(100% - 2 * (8px + 8px)) 1px, 1px calc(42px - 14px), 1px calc(42px - 14px);
}
.contact_c .more1-w a {
  background:
    linear-gradient(#FDF7E7, #FDF7E7) top center / calc(100% - 2*8px) 1px no-repeat, linear-gradient(#FDF7E7, #FDF7E7) bottom center / calc(100% - 2*8px) 1px no-repeat, linear-gradient(#FDF7E7, #FDF7E7) left center / 1px 42px no-repeat, linear-gradient(#FDF7E7, #FDF7E7) right center / 1px 42px no-repeat;
}
/* ---------- 1080px以下 ---------- */
@media (max-width: 1080px) {
  .contact_c {
    flex-direction: column;
    padding: 30px 40px;
  }
  .contact_c .more1 a {
    min-width: 180px;
    padding: 14px 30px;
  }
}
/* ---------- 768px以下 ---------- */
@media (max-width: 768px) {
  .contact_c {
    gap: 40px;
    margin-top: 40px;
  }
  .contact_c .rightbox {
    flex-direction: column;
  }
  .contact_c .telbox {
    margin-left: 0px;
    margin-top: 20px;
  }
}
/* ---------- contact_d ---------- */
.contact_d {
  background-color: #212121;
  color: #fff;
}
.contact_d a:hover {
  opacity: 1;
}
.contact_d p {
  color: #fff;
}
.contact_d .topbox {
  position: relative;
  overflow: visible;
  text-align: center;
  background-color: #2b2b2b;
  padding-top: 100px;
  padding-bottom: 60px;
  width: 100%;
}
.contact_d .bottombox {
  width: 100%;
}
.contact_d .topbox .contact-label {
  position: relative;
  height: 0;
}
.contact_d .contact-en {
  position: relative;
  display: inline-block;
  letter-spacing: 0.3em;
  font-weight: 600;
  margin-bottom: 5px;
  font-size: 12px;
}
.contact_d .contact-jp {
  font-size: clamp(18px, 2vw, 22px);
  font-weight: 600;
}
.contact_d .topbox .bubble {
  position: absolute;
  top: -190px;
  left: 50%;
  transform: translateX(-50%);
  width: 300px;
  height: 160px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #343434;
  z-index: 1;
}
.contact_d .topbox .bubble::after {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../img/babble.svg') no-repeat center/contain;
  z-index: -1;
  pointer-events: none;
}
.contact_d .topbox .bubble p {
  color: #343434;
}
.contact_d .topbox .contact-message p {
  margin: 0;
  line-height: 2;
}
.contact_d .topbox .contact-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
  flex-wrap: wrap;
}
.contact_d .topbox .btn1 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 90px;
  background: #fff;
  color: #111;
  border: 1px solid #fff;
  text-decoration: none;
  transition: background 0.3s, color 0.3s;
}
.contact_d .topbox .btn1 p {
  color: #343434;
}
.contact_d .topbox .btn1:hover {
  background: #343434;
  color: #fff;
  border-color: #fff;
}
.contact_d .topbox .btn1:hover p, .footer .topbox .btn1:hover i {
  color: #fff;
}
/* ---------- contact_e ---------- */
.contact_e {
  color: #fff;
}
.contact_e a:hover {
  opacity: 1;
}
.contact_e p {
  color: #fff;
}
.contact_e .topbox {
  position: relative;
  overflow: visible;
  text-align: center;
  background-color: rgba(43, 43, 43, 0.5);
  padding-top: 60px;
  padding-bottom: 60px;
  width: 100%;
}
.contact_e .contact-en {
  position: relative;
  display: inline-block;
  letter-spacing: 0.3em;
  font-weight: 600;
  margin-bottom: 5px;
  font-size: clamp(24px, 5vw, 46px);
}
.contact_e .topbox .contact-message p {
  margin: 0;
  line-height: 2;
}
.contact_e .topbox .contact-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 40px;
  flex-wrap: wrap;
}
.contact_e .topbox .btn1 {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 90px;
  background: #fff;
  color: #111;
  border: 1px solid #fff;
  border-radius: 700px;
  text-decoration: none;
  transition: background 0.3s, color 0.3s;
}
.contact_e .topbox .btn1 p {
  color: #343434;
}
.contact_e .topbox .btn1:hover {
  background: #343434;
  color: #fff;
  border-color: #fff;
}
.contact_e .topbox .btn1:hover p, .footer .topbox .btn1:hover i {
  color: #fff;
}
/* ---------- contact_f ---------- */
.contact_f {
  padding: 20px 16px 40px;
  max-width: 1280px;
  margin: 50px auto;
}
.contact_f .cta-card {
  position: relative;
  background: #073d87;
  padding: clamp(20px, 4vw, 40px) 30px;
  color: #fff;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
}
.contact_f .cta-bubble {
  position: absolute;
  top: -18px;
  left: clamp(16px, 6vw, 48px);
  background: #fff;
  color: #09346f;
  border-radius: 10px;
  padding: 10px 18px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
}
.contact_f .cta-bubble p {
  margin: 0;
  font-weight: 800;
  letter-spacing: .05em;
  font-size: clamp(14px, 2.2vw, 20px);
}
.contact_f .cta-bubble::after {
  content: "";
  position: absolute;
  left: 24px;
  bottom: -8px;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-right: 12px solid #ffffff;
  border-left: 0;
}
.contact_f .cta-lead {
  margin-top: 30px;
  font-size: clamp(14px, 1.8vw, 16px);
  opacity: .95;
}
.contact_f .cta-desc {
  font-size: clamp(13px, 1.8vw, 15px);
  opacity: .9;
}
.contact_f .cta-actions {
  display: flex;
  align-items: center;
  gap: clamp(16px, 3vw, 28px);
  flex-wrap: wrap;
}
.contact_f .cta-phone {
  display: flex;
  align-items: center;
  gap: 14px;
}
.contact_f .cta-phone img {
  width: 40px;
}
.contact_f .cta-phone i {
  font-size: clamp(22px, 3.6vw, 34px);
  color: #b9d3ff;
}
.contact_f .phone-number {
  color: #fff;
  margin: 0;
  font-weight: 800;
  letter-spacing: .12em;
  font-size: clamp(28px, 6vw, 56px); /* デカ文字 */
}
.contact_f .cta-mail {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  color: #0b2864;
  border-radius: 4px;
  text-decoration: none;
  padding: 12px clamp(16px, 3.2vw, 24px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .15);
  transition: opacity .5s ease, transform .2s ease;
}
.contact_f .cta-mail:hover {
  opacity: .8;
  transform: translateY(-2px);
}
.contact_f .mail-left {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #0b2864;
  border: 2px solid #9b1c33;
  flex-shrink: 0;
}
.contact_f .mail-left i {
  font-size: 20px;
  color: #fff;
}
.contact_f .mail-label {
  margin: 0;
  font-weight: 800;
  letter-spacing: .02em;
  font-size: clamp(14px, 2vw, 18px);
}
.contact_f .cta-body {
  display: grid;
  gap: clamp(12px, 3vw, 22px);
}
/* ---------- contact_g ---------- */
.contact_g {
  color: #fff;
}
.contact_g a:hover {
  opacity: 1;
}
.contact_g p {
  color: #fff;
}
.contact_g .topbox {
  position: relative;
  overflow: visible;
  padding-top: 60px;
  padding-bottom: 60px;
  width: 100%;
  gap: 80px;
}
.contact_g .contact-en {
  position: relative;
  display: inline-block;
  font-size: 14px;
}
.contact_g .contact-jp {
  font-size: clamp(15px, 5vw, 28px);
  color: #fff;
  white-space: nowrap;
}
.contact_g .topbox .contact-message p {
  margin: 0;
}
.contact_g .topbox .contactbtnwrap {
  gap: 20px;
}
.contact_g .btnwrap {
  gap: 10px;
}
.contact_g .topbox .btn1 {
  justify-content: space-between;
  gap: 30px;
  padding: 15px clamp(24px, 6vw, 50px);
  height: 70px;
  background: #fff;
  color: #111;
  border: 1px solid #fff;
  text-decoration: none;
  transition: opacity 0.4s ease;
}
.contact_g .topbox .btn1 p {
  color: #033792;
  font-size: clamp(14px, 4vw, 20px);
}
.contact_g .topbox .btn1:hover {
  opacity: 0.4;
}
.contact_g .contact-btn img {
  width: clamp(20px, 4vw, 28px);
}
.contact_g .faq-btn img {
  width: clamp(24px, 5vw, 35px);
}
.contact_g .btn1 .circle {
  background: #0e4a8f;
  color: #fff;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  transition: transform 0.6s ease;
}
.contact_g .btn1 i {
  font-size: 14px;
  color: #fff;
}
.contact_g .btn1:hover .circle {
  transform: translateX(5px); /* 数値で移動距離を調整 */
}
/* ---------- contact_h ---------- */
.contact_h .en_title {
  font-family: "Quicksand", sans-serif;
  font-size: 40px;
  letter-spacing: 0.15em;
  font-weight: 600;
}
.contact_h .title-color {
  color: #B0C502;
}
.contact_h .more2 a {
  min-width: 260px;
  border-radius: 200px;
  justify-content: space-between;
  padding: 13px 30px;
  background-color: #4BA223;
  border: 2px solid #E0ECD6;
}
.contact_h .more2 a > div {
  gap: 15px;
  justify-content: space-between;
  width: 100%;
}
.contact_h .more2 a > div p, .more a > div i {
  color: #fff;
}
.contact_h .more2 a > div p {
  font-weight: 500;
}
.contact_h .more2 a > div i {
  transition: ease 0.4s;
  color: #fff;
}
.contact_h .more2 a:hover > div i {
  transform: translateX(3px);
}
.contact_h {
  width: 100%;
  flex-direction: column;
  padding-bottom: 100px;
}
.contact_h .topbox {
  width: 100%;
  padding-bottom: 60px;
  border-bottom: #DBDBDB solid 2px;
}
.contact_h .topbox .leftbox {
  width: 30%;
}
.contact_h .topbox .rightbox {
  width: 70%;
  background-color: #fff;
  border-radius: 40px;
  padding: 30px 70px;
}
.contact_h .topbox .rightbox .contact-box {
  width: 100%;
  position: relative;
}
.contact_h .topbox .rightbox .contact-box .bird-icon {
  position: absolute;
  top: -50px;
  right: -20px;
  width: 8%;
}
.contact_h .topbox .rightbox .contact-box .txtbox {
  width: 50%;
  padding: 20px 0;
  position: relative;
}
.contact_h .topbox .rightbox .contact-box .txtbox::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 8px;
  height: 70%;
  background-image: radial-gradient(#ccc 20%, transparent 21%);
  background-size: 10px 6px;
  background-repeat: repeat-y;
}
.contact_h .topbox .contact-box .txtbox .mail-icon {
  width: 20px;
}
.contact_h .topbox .rightbox .contact-box .more_wrap {
  width: 50%;
}
/* ---------- contact_i ---------- */
.contact_i {
  background: #f1f3f4; /* 薄いグレー */
  padding: 48px 16px;
  color: #333;
}
.contact_i .inquiry-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.contact_i .inquiry-title {
  text-align: center;
  font-size: clamp(16px, 2.4vw, 20px);
  font-weight: 700;
  color: #2d2d2d;
  margin: 0 0 28px;
  position: relative;
}
.contact_i .inquiry-title-underline {
  width: 64px;
  height: 4px;
  margin: 10px auto 0;
  background: linear-gradient(90deg, #d74c4c, #2b2b2b);
  border-radius: 999px;
}
.contact_i .inquiry-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 56px;
  align-items: center;
}
.contact_i .inquiry-col {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 24px;
  align-items: center;
}
.contact_i .inquiry-media {
  width: 200px;
  height: 190px;
  overflow: hidden;
  background: #ddd;
}
.contact_i .inquiry-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contact_i .inquiry-content {}
.contact_i .inquirywrap {
  justify-content: space-between;
}
.contact_i .pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: #fff;
  color: #333;
  border: 1px solid #e5e7eb;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}
.contact_i .tel-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-top: 14px;
}
.contact_i .tel-label {
  font-weight: 600;
  color: #6b7280;
  letter-spacing: .04em;
}
.contact_i .tel-number {
  font-weight: 800;
  font-size: clamp(26px, 4.2vw, 35px);
  letter-spacing: .06em;
  color: #222;
}
.contact_i .tel-hours {
  margin-top: 6px;
  color: #6b7280;
  font-size: 13px;
}
.contact_i .mail-cta {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
  margin-top: 12px;
}
.contact_i .mail-copy {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 700;
  line-height: 1.8;
  color: #2b2b2b;
}
.contact_i .mail-button {
  text-decoration: none;
}
.contact_i .mail-button .circle {
  width: 22px;
  height: 22px;
  transition: transform 0.6s ease, opacity 0.6s ease;
}
.contact_i .inquiry-col .circle img {
  height: auto;
  transition: transform 0.6s ease, opacity 0.6s ease;
}
.contact_i .inquiry-col:hover .circle img {
  transform: translateX(6px);
  opacity: 0.8;
}
.contact_i .inquiry-section {
  background: #f1f3f4;
  padding: 48px 16px;
  color: #333;
}
.contact_i .inquiry-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.contact_i .inquiry-title p {
  text-align: center;
  font-size: clamp(16px, 2.4vw, 20px);
  font-weight: 700;
  color: #2d2d2d;
  margin: 0 0 28px;
}
.contact_i .inquiry-title-underline {
  position: relative;
  width: 100%;
  height: 1px;
  background: #ddd; /* 薄いグレーの横線 */
  margin: 20px auto;
}
.contact_i .inquiry-title-underline::before, .contact_i .inquiry-title-underline::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 4px;
}
.contact_i .inquiry-title-underline::before {
  left: 50%;
  width: 40px;
  background: #e63939; /* 赤いライン */
  transform: translate(-100%, -50%); /* 中央の左側に配置 */
}
.contact_i .inquiry-title-underline::after {
  left: 50%;
  width: 25px;
  background: #333; /* 黒いライン */
  transform: translateY(-50%); /* 中央の右側に配置 */
}
/* ---------- contact_j ---------- */
.contact_j {
  background: #e9eaeb; /* 薄いグレー（見本） */
  padding: 72px 16px 60px;
  position: relative;
  color: #2b2b2b;
}
.contact_j .ca-inner {
  max-width: 960px;
  margin: 0 auto;
  position: relative
}
/* 背景の大きなタイトル */
.contact_j .ca-bgtitle {
  position: absolute;
  inset: -50px 0 auto 0;
  text-align: center;
  font-size: clamp(40px, 9vw, 92px);
  font-weight: 700;
  letter-spacing: .08em;
  color: #ffffff;
  opacity: .5; /* うっすら白 */
  pointer-events: none; /* クリック無効 */
  user-select: none;
}
/* 小見出し */
.contact_j .ca-subtitle p {
  margin: 0;
  text-align: center;
  font-weight: 700;
  color: #2b2b2b;
  font-size: clamp(14px, 2.2vw, 18px);
  position: relative;
  z-index: 1; /* 背景文字より前 */
}
/* 電話＋ボタン横並び */
.contact_j .ca-row {
  margin: 60px auto 14px;
  gap: 26px;
  position: relative;
  z-index: 1;
}
.contact_j .ca-tel {
  display: flex;
  align-items: baseline;
  gap: 10px
}
.contact_j .ca-tel-label {
  margin: 0;
  font-weight: 600;
  letter-spacing: .06em
}
.contact_j .ca-tel-number {
  margin: 0;
  font-weight: 800;
  letter-spacing: .12em;
  font-size: clamp(18px, 3.2vw, 22px);
}
/* 仕切り線 */
.contact_j .ca-divider {
  width: 1px;
  height: 38px;
  background: #cfcfcf;
  flex: 0 0 auto
}
.contact_j .ca-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  background: transparent; /* ← 背景透明 */
  border: 1px solid #bbb; /* 枠線だけ */
  border-radius: 24px;
  padding: 10px 25px;
  color: #333;
}
.contact_j .ca-btn:hover {
  background: #999; /* 背景を濃いグレー */
  border-color: #999; /* 枠も背景色と揃える */
}
.contact_j .ca-btn:hover p, .contact_j .ca-btn:hover, .contact_j .ca-btn:hover .ca-btn-icon i {
  color: #fff; /* 文字とアイコンを白に反転 */
}
.contact_j .ca-btn-icon i {
  color: #555; /* アイコン濃いめグレー */
  font-size: 14px;
}
.contact_j .ca-btn-label {
  font-size: 14px;
  letter-spacing: .04em;
  color: #4A4446;
}
.contact_j .ca-btn-label2 {
  font-size: 12px;
}
/* 補足 */
.contact_j .ca-note p {
  margin: 10px 0 18px;
  text-align: center;
  color: #6b7280;
  font-size: 12px;
}
/* 地図カード */
.contact_j .ca-mapcard {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
}
.contact_j .ca-mapcard iframe {
  display: block;
  width: 100%;
  height: clamp(260px, 50vw, 420px);
  border: 0;
}
/* ---------- contact_k ---------- */
.contact_k {
  background-color: #343434;
  color: #fff;
  gap: 20px;
}
.contact_k .leftbox .en {
  font-size: 16px;
  font-family: "Cormorant", sans-serif;
  display: inline-block;
  position: relative;
  padding-left: 28px;
}
.contact_k .leftbox .line {
  display: inline-block;
  position: relative;
  padding-left: 28px;
}
.contact_k .leftbox .line::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 1px;
  background: currentColor;
  opacity: .9;
}
.contact_k .leftbox h2 {
  font-size: 36px;
  font-family: "Zen Old Mincho", sans-serif;
}
.contact_k .leftbox .txt {
  font-size: 15px;
  padding-top: 20px;
}
.contact_k .leftbox {
  width: calc(30% - 10px);
}
.contact_k .rightbox {
  width: calc(70% - 10px);
  gap: 10px;
}
.contact_k .rightbox .box {
  width: calc(50% - 5px);
  border: 1px solid #fff;
  border-radius: 10px;
  padding: 30px 60px;
  gap: 7px;
}
.contact_k .rightbox .box .label {
  background-color: #fff;
  border-radius: 50px;
  padding: 5px 15px;
}
/* ---------- submenu_a ---------- */
.submenu_a {
  padding: 50px 20px;
}
.submenu_a > .flex {
  gap: 20px;
}
.submenu_a > .flex a {
  min-width: 110px;
  flex-direction: column;
  gap: 8px;
}
.submenu_a > .flex a img {
  max-width: 40px;
}
.submenu_a .en {
  font-family: "EB Garamond", sans-serif;
  font-size: 20px;
}
/* ---------- submenu_b ---------- */
.submenu_b .box {
  position: relative;
  width: calc(100% / 3);
  aspect-ratio: 2 / 1;
  overflow: hidden;
  gap: 10px;
  animation-duration: 2.0s !important;
}
.submenu_b .box::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-color: #000;
  opacity: 0.3;
  transition: ease 0.4s;
}
.submenu_b .box .bgbox {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition: ease 1.3s;
}
.submenu_b .box .titlebox {
  position: absolute;
  bottom: 10%;
  left: 0;
  z-index: 3;
  width: 100%;
  color: #fff;
}
.submenu_b .box .titlebox .line {
  flex: 1;
  height: 1px;
  background-color: #fff;
  opacity: 0.8;
}
.submenu_b .box .titlebox .line {
  width: 65%;
}
.submenu_b .box .titlebox p {
  width: 45%;
  color: #fff;
  font-size: 18px;
  font-family: "Shippori Mincho", sans-serif;
}
/* ---------- submenu_c ---------- */
.submenu_c > a {
  position: relative;
  width: 50%;
  aspect-ratio: 2 / 1;
}
.submenu_c > a:hover {
  opacity: 1;
}
.submenu_c > a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.40);
  transition: ease 0.3s;
}
.submenu_c > a:hover::after {
  opacity: 0.5;
}
.submenu_c > a > div {
  position: relative;
  z-index: 2;
}
.submenu_c .box .en {
  font-size: 44px;
  font-weight: 400;
  letter-spacing: 0.15em;
  font-family: "EB Garamond", sans-serif;
}
.submenu_c .more a, .submenu_c .more > div {
  position: relative;
  display: inline-block;
  padding: 15px 50px 15px 30px;
  min-width: 260px;
  background-color: #154A7E;
  text-decoration: none;
  border: none;
}
.submenu_c .more a::after, .submenu_c .more > div::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 17px;
  background-image: url("../img/arrow1.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  transition: 0.3s ease;
}
.submenu_c .more.more3 a, .submenu_c .more.more3 > div {
  background-color: transparent;
  border: 1px solid #fff;
}
.submenu_c .more a:hover::after, a:hover .more > div::after {
  transform: translate(3px, -50%);
}
.submenu_c .more a p, .submenu_c .more > div p {
  color: #fff;
  text-align: center;
  margin: 0;
  font-size: 17px;
  font-weight: 500;
}
/* ---------- submenu_d ---------- */
.submenu_d {
  gap: 30px;
  flex-wrap: wrap;
}
.submenu_d .box {
  flex: 0 1 calc((100% - 60px) / 3);
  gap: 20px;
  box-sizing: border-box;
}
.submenu_d .box > .flex {
  flex: 1;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #434343;
  padding-bottom: 12px;
}
.submenu_d .box .num {
  font-family: "Crimson Text", sans-serif;
  font-size: 28px;
  margin-right: 15px;
}
.submenu_d .box i {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 30px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: #434343;
  color: #fff;
  transition: ease 0.3s;
}
.submenu_d .box:hover > div i {
  transform: translateX(2px);
}
/* ---------- submenu_e ---------- */
.submenu_e {
  gap: 20px;
}
.submenu_e .box {
  position: relative;
  width: calc(100% / 3 - 40px / 3);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  gap: 10px;
  animation-duration: 2.0s !important;
}
.submenu_e .box .bgbox {
  position: absolute;
  inset: 0;
  z-index: 1;
  transition: ease 1.3s;
}
.submenu_e .box::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: #000;
  background: linear-gradient(234deg, rgba(0, 0, 0, 0.5) 0%, rgba(255, 255, 255, 1) 40%, rgba(0, 0, 0, 0.6) 100%);
  mix-blend-mode: multiply;
  opacity: 1;
  transition: opacity .4s ease;
}
.submenu_e .box .label {
  position: absolute;
  top: 40px;
  right: 40px;
  z-index: 3;
  background-color: #00674E;
  color: #fff;
  letter-spacing: 0.3em;
  transition: ease 0.4s;
  padding: 15px 5px;
}
.submenu_e .box .txtbox {
  position: absolute;
  width: 100%;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  transition: ease 0.4s;
  padding-left: 35px;
  padding-right: 35px;
}
.submenu_e .box:hover {
  opacity: 1;
}
.submenu_e .box:hover::before {
  opacity: 0;
}
.submenu_e .box:hover .bgbox {
  transform: scale(1.1);
}
.submenu_e .more {
  position: relative;
  width: 160px;
  border-bottom: #fff 1px solid;
  margin-top: 40px;
}
.submenu_e .more:not(:last-of-type) {
  margin-bottom: 20px;
}
.submenu_e .more a {
  display: block;
  padding: 10px 0;
  position: relative;
  border-bottom: 1px solid #C1C1C1;
}
.submenu_e .more i {
  position: absolute;
  top: 50%;
  right: 0;
  font-size: 12px;
  transform: translate(0, -50%);
  transition: ease 0.3s;
  color: #fff;
}
.submenu_e a:hover .more i {
  transform: translate(3px, -50%);
}
/* ---------- submenu_f ---------- */
.submenu_f {
  gap: 80px;
}
.submenu_f .box {
  width: calc(100% / 3 - 160px / 3);
  flex-direction: column;
  gap: 20px;
}
.submenu_f .box .titlebox {
  position: relative;
  margin-right: auto;
}
.submenu_f .box .titlebox::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 20px;
  height: 1px;
  background-color: currentColor;
  pointer-events: none;
}
.submenu_f .box .titlebox .title {
  font-size: 22px;
  font-family: "Zen Old Mincho", sans-serif;
  color: #434343;
  padding-right: 10px;
}
.submenu_f .box .titlebox .num {
  font-size: 47px;
  font-family: "Zen Old Mincho", sans-serif;
  color: #434343;
}
.submenu_f .box .imgbox {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 50%;
}
.submenu_f .box .imgbox img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s ease;
}
.submenu_f .box .imgbox:hover img {
  transform: scale(1.1);
}
/* ---------- submenu_g ---------- */
.submenu_g {
  gap: 40px;
}
.submenu_g .titlebox {
  flex-direction: column;
  gap: 20px;
  width: 100%;
}
.submenu_g .titlebox h2 {
  position: relative;
  color: #1F8C55;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 10px; /* 元は var(--line-gap) */
}
/* before/after の線（変数なし版） */
.submenu_g .titlebox h2::before, .submenu_g .titlebox h2::after {
  content: "";
  display: block;
  width: 30px; /* 元は var(--line-width) */
  height: 2px; /* 元は var(--line-height) */
  background-color: currentColor; /* 元は var(--line-color) */
  opacity: 0.9;
}
.submenu_g .titlebox p {
  color: #846C5B;
  font-family: "EB Garamond", sans-serif;
  letter-spacing: 0.2em;
  font-weight: 500;
}
.submenu_g .box_wrap {
  flex-wrap: wrap;
  gap: 40px;
  width: 100%;
}
.submenu_g .box_wrap .box {
  position: relative;
  flex: 0 1 calc((100% - 40px) / 2);
  box-sizing: border-box;
  border: #C4E8D9 2px solid;
  border-radius: 20px;
  overflow: hidden;
}
.submenu_g .box_wrap .box::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(250, 253, 242, 0.88);
  z-index: 1;
  pointer-events: none;
  opacity: 1;
  transition: opacity .3s ease, background .3s ease;
}
.submenu_g .box_wrap .box .boxitem {
  flex-direction: column;
  gap: 20px;
  z-index: 2;
  padding: 50px;
}
.submenu_g .box_wrap .box .flex .icon {
  width: 54px;
}
.submenu_g .box_wrap .box .flex .txtbox {
  flex-direction: column;
  gap: 6px;
}
.submenu_g .box_wrap .box .flex h3 {
  color: #1F8C55;
}
.submenu_g .box_wrap .box .flex .en {
  color: #846C5B;
  font-family: "EB Garamond", sans-serif;
  letter-spacing: 0.2em;
}
.submenu_g .more {
  position: relative;
}
.submenu_g .more:not(:last-of-type) {
  margin-bottom: 20px;
}
.submenu_g .more a {
  display: block;
  padding: 10px 0;
  position: relative;
}
.submenu_g .more i {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 22px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: #017138;
  color: #fff;
  transition: ease 0.3s;
  margin-left: 15px;
}
.submenu_g .box > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s ease;
}
.submenu_g .box_wrap a:hover .more i {
  transform: translateX(2px);
}
.submenu_g .box:hover::after {
  background-color: rgba(250, 253, 242, 0.98);
}
.submenu_g .box:hover > img {
  transform: scale(1.1);
}
/* ---------- 1080px以下 ---------- */
@media (max-width: 1080px) {
  .submenu_g .box_wrap .box {
    flex: 0 1 100%;
  }
  .submenu_g .box_wrap {
    gap: 20px;
  }
  /* font-size削除済み */
}
/* ---------- 768px以下 ---------- */
@media (max-width: 768px) {
  .submenu_g .box_wrap .box .boxitem {
    flex-direction: column;
    gap: 10px;
    z-index: 2;
    padding: 30px;
  }
  .submenu_g .box_wrap .box .flex .icon {
    width: 44px;
  }
  /* font-size削除済み */
}
/* ---------- submenu_h ---------- */
.submenu_h {
  flex-wrap: wrap;
}
.submenu_h .box {
  position: relative;
  width: calc(100% / 4);
  aspect-ratio: 9 / 16;
  overflow: hidden;
  gap: 10px;
  animation-duration: 2.0s !important;
}
.submenu_h .box .bgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.submenu_h .box::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background-color: #000;
  opacity: 0.3;
  transition: ease 0.4s;
}
.submenu_h .box .bgbox {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition: transform 0.8s ease;
}
.submenu_h .box:hover .bgbox {
  transform: scale(1.08);
}
.submenu_h .box:hover::after {
  opacity: 0.55;
}
.submenu_h .box .titlebox {
  z-index: 3;
  width: 100%;
  color: #fff;
  gap: 10px;
}
.submenu_h .box .titlebox .arrow {
  width: 26px;
  aspect-ratio: 1 / 1;
  border: #fff 1px solid;
  border-radius: 50%;
  transition: transform 0.3s ease, color 0.3s ease;
}
.submenu_h .box .titlebox .arrow img {
  width: 4px;
}
.submenu_h .box .titlebox .arrow i {
  font-size: 10px;
  color: #fff;
}
.submenu_h .box:hover .titlebox .arrow {
  transform: translateX(5px);
  color: #fff;
}
/* ---------- submenu_i ---------- */
.submenu_i {
  gap: 90px;
}
.submenu_i .leftbox {
  width: calc(50% - 45px);
}
.submenu_i .rightbox {
  width: calc(50% - 45px);
}
.submenu_i .leftbox .imgbox img, .submenu_i .rightbox .imgbox img {
  border-radius: 40px;
  border: #fff 1px solid;
}
.submenu_i .rightbox {
  gap: 50px;
  flex-direction: column;
}
.submenu_i .rightbox .box-item {
  gap: 20px;
}
.submenu_i .rightbox .box-item .imgbox {
  width: calc(50% - 10px);
}
.submenu_i .rightbox .box-item .txtbox {
  width: calc(50% - 10px);
}
/* ---------- submenu_j ---------- */
.submenu_j .box_wrap {
  gap: 40px;
}
.submenu_j .box_wrap .box-item {
  position: relative;
  width: calc((100% - 80px)/3);
}
.submenu_j .box_wrap .box-item .txtbox {
  position: absolute;
  bottom: -20%;
  right: 0;
  width: 80%;
  gap: 20px;
  background-color: #fff;
  padding: 30px;
  align-items: flex-start;
  z-index: 2;
}
.submenu_j .box_wrap .box-item > img {
  width: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 1 / 1;
}
/* ---------- onlineshop_a ---------- */
.onlineshop_a {
  flex-wrap: nowrap;
  align-items: stretch;
}
.onlineshop_a > div {
  width: calc(100% / 3);
}
.onlineshop_a .txtbox {
  background-color: #FC8706;
  padding: 50px 10px;
}
.onlineshop_a > .imgbox img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.onlineshop_a .more a {
  position: relative;
  border-radius: 200px;
  border: 2px solid #343434;
  overflow: hidden;
  box-sizing: border-box;
  transition: ease 0.4s;
}
.onlineshop_a .more a:hover {
  opacity: 1;
  background-color: #fff;
}
.onlineshop_a .more a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translateX(-100%);
  transition: ease 0.3s;
  background-color: #343434;
}
.onlineshop_a .more a:hover::after {
  transform: translateX(0);
}
.onlineshop_a .more a > .flex {
  position: relative;
  z-index: 2;
  min-width: 210px;
  height: 50px;
  padding: 0 20px;
  justify-content: space-between;
}
.onlineshop_a .more a > .flex p {
  font-family: "Josefin Sans", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: #0064A8;
  line-height: 1;
  transform: translateY(2px);
  transition: ease 0.3s;
}
.onlineshop_a .more a:hover > .flex p {
  color: #fff;
}
.onlineshop_a .more a > .flex::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  width: 12px;
  height: 12px;
  background-image: url("../img/arrow1.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  transition: ease 0.3s;
  z-index: 3;
}
.onlineshop_a .more3 a {
  background-color: #343434;
  border-color: #343434;
}
.onlineshop_a .more3 a::after {
  background-color: #fff;
}
.onlineshop_a .more3 a > .flex::after {
  background-image: url("../img/arrow2.svg");
}
.onlineshop_a .more3 a:hover > .flex::after {
  background-image: url("../img/arrow1.svg");
}
.onlineshop_a .more3 a > .flex p {
  color: #fff;
}
.onlineshop_a .more3 a:hover > .flex p {
  color: #343434;
}
/* ---------- onlineshop_b ---------- */
.onlineshop_b {
  background-color: #61CBE0;
  background-image: linear-gradient(90deg, rgba(0, 0, 0, .1) 1px, transparent 1px), linear-gradient(rgba(0, 0, 0, .1) 1px, transparent 1px);
  background-size: 20px 20px;
  padding: 60px;
  position: relative;
  overflow: hidden;
}
.onlineshop_b .txtbox {
  flex-direction: column;
  max-width: 600px;
  color: #fff;
  z-index: 10;
}
.onlineshop_b .txtbox h2 {
  font-size: 80px;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-family: "Baloo Bhaijaan", sans-serif;
  position: relative;
  color: #fff;
}
.onlineshop_b .txtbox h2::before {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  color: transparent;
  -webkit-text-stroke: 3px #000;
  text-stroke: 3px #000;
  pointer-events: none;
  transform: translate(-3px, -3px);
}
.onlineshop_b .txtbox .subtitle {
  background: #000;
  color: #fff;
  display: inline-block;
  padding: 4px 20px;
  font-weight: bold;
  margin-bottom: 20px;
}
.onlineshop_b .txtbox .text {
  line-height: 1.7;
  margin-bottom: 30px;
}
.onlineshop_b .imgbox {
  width: 100%;
  height: auto;
  position: relative;
}
.onlineshop_b .imgbox .item {
  width: clamp(160px, 28vw, 300px);
  position: absolute;
  z-index: 1;
}
.onlineshop_b .imgbox .item1 {
  bottom: 0;
  left: -50px;
}
.onlineshop_b .imgbox .item2 {
  bottom: 0;
  right: -50px;
}
/* more */
.onlineshop_b .more a {
  position: relative;
  background-color: #fff;
  padding: 15px 25px;
  min-width: 240px;
  border: 2px solid #000;
  border-radius: 4px;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 1);
}
.onlineshop_b .more a:hover {
  box-shadow: none;
  transform: translate(2px, 2px);
  opacity: 1;
}
.onlineshop_b .more a > div {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  gap: 20px;
}
.onlineshop_b .more a .icon {
  width: 25px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: #000;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  transition: ease 0.3s;
}
.onlineshop_b .more a:hover .icon {
  transform: translateX(3px);
}
.onlineshop_b .more a .icon img {
  width: 25%;
}
/* ---------- onlineshop_c ---------- */
.onlineshop_c .bg-green {
  background-color: #F6F8ED;
  border-radius: 40px;
  padding: 60px 80px;
  gap: 80px;
}
.onlineshop_c .titlebox {
  gap: 20px;
}
.onlineshop_c .title {
  color: #6AA01D;
  font-size: 36px;
  letter-spacing: 0.15em;
  font-family: "Quicksand", sans-serif;
  font-weight: 500;
}
.onlineshop_c .jp-title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 500;
}
.onlineshop_c .title span {
  color: #2F7527;
}
.onlineshop_c .bg-green .txtbox {
  flex-direction: column;
  gap: 30px;
  align-items: flex-start;
  width: calc(60% - 40px);
}
.onlineshop_c .bg-green .imgbox {
  width: calc(40% - 40px);
}
.onlineshop_c .bg-green .imgbox img {
  border-radius: 30px;
}
.onlineshop_c .bg-green .txtbox .txt-item {
  line-height: 2;
}
.onlineshop_c .more a {
  position: relative;
  max-width: 100%;
  min-width: 220px;
  background-color: #fff;
  border: 2px solid #AFC502;
  border-radius: 90px;
}
.onlineshop_c .more a::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  width: 100%;
  height: 100%;
  transition: ease 0.3s;
  z-index: 1;
}
.onlineshop_c .more a:hover::after {
  transform: translate(-5px, -5px);
}
.onlineshop_c .more a > div {
  position: relative;
  z-index: 2;
  gap: 10px;
  border-radius: 10px;
  padding: 13px 20px;
}
.onlineshop_c .more a img {
  width: 28px;
}
.onlineshop_c .more a .icon {
  width: 23px;
  aspect-ratio: 1 / 1;
  background-color: #AFC502;
  border-radius: 50%;
  transition: ease 0.3s;
}
.onlineshop_c .more a:hover .icon {
  transform: translateX(3px);
}
.onlineshop_c .more a .icon i {
  color: #FAF9F5;
  font-size: 7px;
}
.onlineshop_c .more a p {
  color: #695A23;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1;
  font-weight: 700;
}
/* ---------- onlineshop_d ---------- */
.onlineshop_d a {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  min-height: clamp(320px, 25vw, 560px);
}
.onlineshop_d a.bg_img_wrap2 > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.onlineshop_d a.bg_img_wrap2::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  z-index: 1;
  pointer-events: none;
}
.onlineshop_d a .box {
  position: absolute;
  inset: 0;
  z-index: 2;
  padding: 30px 100px;
  flex-direction: column;
  align-items: flex-start;
  pointer-events: none;
}
.onlineshop_d a .box .en {
  font-size: 15px;
  font-family: "EB Garamond", sans-serif;
  padding-bottom: 12px;
}
.onlineshop_d a .box h2 {
  font-size: 28px;
  font-family: "Zen Old Mincho", sans-serif;
}
.onlineshop_d .more {
  position: relative;
  width: 160px;
  border-bottom: #000 1px solid;
  padding-bottom: 10px;
  margin-top: 30px;
}
.onlineshop_d .more:not(:last-of-type) {
  margin-bottom: 20px;
}
.onlineshop_d .more a {
  display: block;
  padding: 10px 0;
  position: relative;
  border-bottom: 1px solid #C1C1C1;
}
.onlineshop_d .more i {
  position: absolute;
  top: 50%;
  right: 0;
  font-size: 12px;
  transform: translate(0, -50%);
  transition: ease 0.3s;
  color: #000;
}
.onlineshop_d a:hover .more i {
  transform: translate(3px, -50%);
}
.onlineshop_d a:hover {
  color: inherit;
  text-decoration: none;
}
/* ---------- onlineshop_e ---------- */
.onlineshop_e a {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  min-height: clamp(320px, 25vw, 560px);
  border-top-right-radius: 150px;
  border-bottom-left-radius: 150px;
}
.onlineshop_e a.bg_img_wrap2 > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.onlineshop_e a .box {
  position: absolute;
  left: 0;
  z-index: 2;
  background-color: #3B3B3B;
  width: 40%;
  height: 100%;
  flex-direction: column;
  align-items: flex-start;
  pointer-events: none;
  padding-right: 50px;
}
.onlineshop_e a .box .en {
  position: relative;
  font-size: 22px;
  font-family: "EB Garamond", sans-serif;
  padding-bottom: 5px;
  padding-left: 80px;
  color: #fff;
  letter-spacing: 0.12em;
}
.onlineshop_e a .box .en::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 220px;
  height: 1px;
  background-color: currentColor;
  pointer-events: none;
}
.onlineshop_e a .box h2 {
  font-size: 28px;
  font-family: "Zen Old Mincho", sans-serif;
  color: #fff;
  padding-left: 80px;
}
/* ---------- onlineshop_f ---------- */
.onlineshop_f {
  background: #FF0062;
  background: -webkit-linear-gradient(right, rgba(255, 0, 98, 1) 0%, rgba(32, 67, 214, 1) 100%);
  background: -o-linear-gradient(right, rgba(255, 0, 98, 1) 0%, rgba(32, 67, 214, 1) 100%);
  background: linear-gradient(to left, rgba(255, 0, 98, 1) 0%, rgba(32, 67, 214, 1) 100%);
}
.onlineshop_f a .box {
  flex-direction: column;
}
.onlineshop_f a .box h2 {
  font-size: 20px;
  color: #fff;
  font-family: "Zen Old Mincho", sans-serif;
  font-weight: 400;
  letter-spacing: 0.15em;
}
.onlineshop_f a .box .en {
  font-size: 60px;
  color: #fff;
  font-family: "EB Garamond", sans-serif;
  letter-spacing: 0.2em;
  font-weight: 400;
}
.onlineshop_f .more {
  position: relative;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  border: #fff 1px solid;
  margin: 0 auto;
  flex-direction: column;
  margin-top: 25px;
}
.onlineshop_f .more i {
  font-size: 24px;
  transition: ease 0.3s;
  color: #fff;
}
.onlineshop_f .more p {
  font-size: 26px;
  font-family: "EB Garamond", sans-serif;
  font-weight: 400;
}
.onlineshop_f a:hover .more i {
  transform: translateX(3px);
}
.onlineshop_f a:hover {
  color: inherit;
  text-decoration: none;
}
/* ---------- onlineshop_g ---------- */
.onlineshop_g {
  width: 100%;
}
.onlineshop_g a {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}
.onlineshop_g a > img {
  width: 100%;
  height: 450px;
  object-fit: cover;
  display: block;
}
.onlineshop_g a .box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  aspect-ratio: 1 / 1;
  width: 600px;
  max-width: 80vw;
  padding: 60px;
  background-color: #62CAE0;
  border-radius: 50%;
  overflow: hidden;
}
.onlineshop_g a .box .top-txt {
  position: relative;
  gap: 30px;
  flex-direction: column;
  z-index: 2;
}
.onlineshop_g a .box .arrow {
  width: 26px;
  aspect-ratio: 1 / 1;
  border: #fff 1px solid;
  border-radius: 50%;
  transition: transform 0.3s ease, color 0.3s ease;
}
.onlineshop_g a .box .arrow i {
  font-size: 10px;
  color: #fff;
}
.onlineshop_g a:hover .box .arrow {
  transform: translateX(5px);
  color: #fff;
}
.onlineshop_g a .box .bg-txt {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.onlineshop_g a .box .bg-txt p {
  color: #4EB9D3;
  font-size: 110px;
  line-height: 1;
  opacity: 0.5;
}
/* ---------- onlineshop_h ---------- */
.onlineshop_h {
  width: 100%;
}
.onlineshop_h a {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}
.onlineshop_h a > img {
  width: 100%;
  height: 450px;
  object-fit: cover;
  display: block;
}
.onlineshop_h a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1;
}
.onlineshop_h a .txtbox {
  position: absolute;
  inset: 0;
  flex-direction: column;
  gap: 20px;
  z-index: 2;
  padding: 0 20px;
}
.onlineshop_h a .txtbox p, .onlineshop_h a .txtbox h2 {
  color: #fff;
}
.onlineshop_h a .txtbox::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 50px 0 0;
  border-color: #F8DF28 transparent transparent transparent;
  z-index: 3;
}
.onlineshop_h a .txtbox::before {
  content: "";
  position: absolute;
  bottom: 5px;
  right: 5px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 50px 50px;
  border-color: transparent transparent #F8DF28 transparent;
  z-index: 3;
  pointer-events: none;
}
/* ---------- sns_a ---------- */
.sns_a .titlebox {
  color: #767676;
  gap: 20px;
  justify-content: flex-start;
}
.sns_a .box_wrap {
  gap: 6px;
  flex-wrap: wrap;
}
.sns_a .box_wrap .box-item {
  width: calc((100% - 30px) / 6);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
}
.sns_a .titlebox img {
  width: 30px;
}
.sns_a .box_wrap .box-item > a, .sns_a .box_wrap .box-item > a > img {
  display: block;
  width: 100%;
  height: 100%;
}
.sns_a .box_wrap .box-item > a > img {
  object-fit: cover;
  object-position: center;
}
/* ---------- sns_b ---------- */
.sns_b .titlebox {
  flex-direction: column;
  width: 100%;
}
.sns_b .titlebox img {
  width: 50px;
}
.sns_b .iframe-box {
  position: relative;
  width: 100%;
  max-width: 800px;
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  overflow: hidden;
}
.sns_b .iframe-box iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 0;
  left: 0;
  top: 0;
  display: block;
}
.sns_b .box_wrap {
  gap: 30px;
  flex-wrap: wrap;
}
.sns_b .box_wrap .box-item {
  width: calc((100% - 60px) / 3);
}
.sns_b .titlebox p {
  font-size: 56px;
  font-family: "EB Garamond", sans-serif;
  font-weight: 400;
  color: #ADAAAA;
  letter-spacing: 0.1em;
}
/* ---------- sns_c ---------- */
.sns_c .titlebox {
  flex-direction: column;
  width: 100%;
}
.sns_c .box_wrap {
  gap: 30px;
  flex-wrap: wrap;
}
.sns_c .box_wrap .box-item {
  width: calc((100% - 120px) / 5);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
}
.sns_c .titlebox p {
  font-size: 40px;
  font-family: "EB Garamond", sans-serif;
  font-weight: 400;
  color: #3D3D3F;
  letter-spacing: 0.1em;
}
.sns_c .titlebox img {
  width: 30px;
}
.sns_c .box_wrap .box-item > a, .sns_c .box_wrap .box-item > a > img {
  display: block;
  width: 100%;
  height: 100%;
}
.sns_c .box_wrap .box-item > a > img {
  object-fit: cover;
  object-position: center;
}
/* ---------- sns_d ---------- */
.sns_d .box_wrap {
  background-color: #FFFEE0;
  padding: 30px;
  gap: 40px;
}
.sns_d .box_wrap .titlebox {
  width: calc(25% - 20px);
}
.sns_d .box_wrap .sns_wrap {
  width: calc(75% - 20px);
  gap: 50px;
}
.sns_d .box_wrap .sns_wrap .sns-item {
  width: 150px;
  background-color: #fff;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}
.sns_d .box_wrap .sns_wrap .sns-item i {
  font-size: 50px;
}
/* ---------- pagetitle_a ---------- */
.pagetitle_a {
  padding: 0;
  background: #eef2f2;
}
.pagetitle_a .pagetitle-container {
  position: relative;
  margin: 0 auto;
  padding: 0;
}
.pagetitle_a .pagetitle-image {
  width: 60%;
  height: clamp(260px, 36vw, 500px);
  background: #cfcfcf;
  overflow: hidden;
}
.pagetitle_a .pagetitle-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.pagetitle_a .pagetitle-content {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: min(45%, 780px);
  background: #dfdfdf;
  padding: clamp(20px, 4vw, 80px) clamp(24px, 4vw, 80px);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.02);
}
.pagetitle_a .page_jptitle {
  font-size: clamp(12px, 1.6vw, 14px);
  color: #555;
  letter-spacing: .25em;
  margin: 0 0 10px;
}
.pagetitle_a .page_entitle {
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.4;
  color: #222;
  letter-spacing: .1em;
  margin: 0;
}
/* ---------- pagetitle_b ---------- */
.pagetitle_b {
  position: relative;
  height: clamp(250px, 36vw, 500px);
  overflow: hidden;
}
.pagetitle_b .pagetitle-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.pagetitle_b .pagetitle-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center; /* 上寄せなら top に */
}
/* ベースレイアウト */
.pagetitle_b .pagetitle-container {
  position: relative;
  margin: 0 auto;
  padding: 0;
}
.pagetitle_b .pagetitle-content {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 30%;
  width: clamp(200px, 20vw, 500px); /* 帯の幅 */
  background: rgba(238, 238, 238, 0.90);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  display: flex;
  align-items: center;
  justify-content: center; /* 横方向中央（帯の中心寄せ） */
  gap: 24px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .03);
}
/* タイポ */
.pagetitle_b .page_jptitle {
  font-size: clamp(12px, 1.6vw, 14px);
  color: #555;
  letter-spacing: .25em;
  margin-top: 30px;
}
.pagetitle_b .page_entitle {
  font-size: clamp(20px, 4vw, 40px);
  line-height: 1.4;
  color: #222;
  letter-spacing: .1em;
  margin: 0;
}
/* ---------- pagetitle_c ---------- */
.pagetitle_c {
  position: relative;
  height: clamp(260px, 36vw, 400px);
  background: #eef2f2; /* 背景の淡いグレー */
  overflow: hidden;
}
/* 高さの基準 */
.pagetitle_c .pagetitle-container {
  position: relative;
  height: 100%;
}
/* 背景画像（全面） */
.pagetitle_c .pagetitle-image {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.pagetitle_c .pagetitle-image .pagetitle-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
/* 上から下へ薄くなるグラデーションを画像の上に敷く */
.pagetitle_c .pagetitle-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(190, 190, 190, .95) 0%, rgba(190, 190, 190, .55) 35%, rgba(255, 255, 255, 1) 100%);
  pointer-events: none;
}
/* 中央寄せの白文字タイトル */
.pagetitle_c .pagetitle-content {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translateX(-50%);
  width: min(92%, 1100px);
  text-align: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
/* タイポ */
.pagetitle_c .page_jptitle {
  font-size: clamp(14px, 1.6vw, 18px);
  letter-spacing: .25em;
  margin: 0;
  opacity: .95;
}
.pagetitle_c .page_entitle {
  font-size: clamp(28px, 5vw, 56px);
  line-height: 1.25;
  letter-spacing: .28em; /* 見本の広めカーニング */
  margin: 0;
}
/* ---------- pagetitle_d ---------- */
.pagetitle_d {
  position: relative;
  overflow: visible;
}
.pagetitle_d .pagetitle {
  position: relative;
  width: 100%;
  height: clamp(400px, 36vw, 480px);
}
body.on .pagetitle_d .pagetitle::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
}
.pagetitle_d .pagetitle .bg_img_wrap2 {
  position: relative;
  overflow: hidden;
}
.pagetitle_d .pagetitle .title_wrap {
  width: 100%;
  position: relative;
  z-index: 2;
}
.pagetitle_d .pagetitle .titlebox h1 {
  color: #fff;
  font-family: "Zen Old Mincho", sans-serif;
  text-align: center;
  font-size: 34px;
  font-weight: 700;
}
.pagetitle_d .pagetitle .titlebox p {
  font-family: "Funnel Sans", sans-serif;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 1px;
  color: rgba(255, 255, 255, 0.8);
}
.pagetitle_d .subtxt {
  position: absolute;
  bottom: -120px;
  z-index: 3;
}
.pagetitle_d .subtxt p {
  letter-spacing: 5px;
  font-size: 24px;
}
.pagetitle-wrap .subtxt p span {
  display: inline-block;
  background: #fff;
  padding: 15px 5px;
}
.pagetitle_d .subtxt p span:first-child {
  margin-left: 8px;
}
/* ---------- pagetitle_e ---------- */
.pagetitle_e {
  position: relative;
  overflow: visible;
}
.pagetitle_e .box {
  position: relative;
  width: 100%;
  height: clamp(200px, 36vw, 300px);
}
body.on .pagetitle_e .box::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
}
.pagetitle_e .box .bg_img_wrap2 {
  position: relative;
  overflow: hidden;
}
.pagetitle_e .box .title_wrap {
  width: 100%;
  position: relative;
  z-index: 2;
}
.pagetitle_e .box .titlebox h1 {
  color: #fff;
  font-family: "Zen Old Mincho", sans-serif;
  text-align: center;
  font-weight: 700;
}
.pagetitle_e .box .titlebox p {
  letter-spacing: 1px;
}
/* ---------- pagetitle_g ---------- */
.pagetitle_g {
  width: 100%;
}
.pagetitle_g .bg_img_wrap2 {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  height: 450px;
}
.pagetitle_g .bg_img_wrap2 > img {
  width: 100%;
  object-fit: cover;
  display: block;
}
.pagetitle_g .bg_img_wrap2::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1;
}
.pagetitle_g .bg_img_wrap2::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 50%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
  z-index: 3;
  pointer-events: none;
}
.pagetitle_g .bg_img_wrap2 .txtbox {
  width: 95%;
  position: absolute;
  inset: 0;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
  padding-bottom: 50px;
  z-index: 4;
}
.pagetitle_g .bg_img_wrap2 .txtbox .entitle {
  font-size: 100px;
  color: #FFFFFF4D;
  line-height: 1;
}
.pagetitle_g .bg_img_wrap2 .blue-panel {
  position: absolute;
  inset: 0;
  background: #315BCE;
  clip-path: polygon(80% 0, 100% 0, 100% 100%, 60% 100%);
  z-index: 2;
  pointer-events: none;
}
/* ---------- pagetitle_h ---------- */
.pagetitle_h {
  width: 100%;
}
.pagetitle_h .bg_img_wrap2 {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  height: 450px;
}
.pagetitle_h .bg_img_wrap2 > img {
  width: 100%;
  object-fit: cover;
  display: block;
}
.pagetitle_h .bg_img_wrap2::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1;
}
.pagetitle_h .bg_img_wrap2 .txtbox {
  width: 100%;
  position: absolute;
  inset: 0;
  flex-direction: column;
  z-index: 3;
}
.pagetitle_h .bg_img_wrap2 .blue-panel {
  position: absolute;
  inset: 0;
  background: #315BCE;
  clip-path: polygon(0 0, 100% 0, 0% 100%);
  z-index: 2;
  pointer-events: none;
}
/* ---------- pagetitle_i ---------- */
.pagetitle_i {
  gap: 50px;
  padding: 5% 3%;
  align-items: flex-start;
}
.pagetitle_i .leftbox, .pagetitle_i .rightbox {
  flex: 1 1 0;
}
.pagetitle_i .leftbox .txtbox {
  align-items: flex-start;
}
.pagetitle_i .leftbox .txtbox2 {
  padding-top: 50px;
  width: 85%;
  margin-left: auto;
}
.pagetitle_i .leftbox h1 {
  font-size: 28px;
  font-weight: 600;
  padding-top: 8px;
}
.pagetitle_i .title1 {
  top: 5%;
  left: 10%;
  opacity: 0.15;
  color: #937F70;
  font-weight: 400;
  z-index: 3;
  font-size: 100px;
}
/* ---------- pagetitle_j ---------- */
.pagetitle_j {
  width: 100%;
}
.pagetitle_j .bg_img_wrap2 {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  height: 450px;
}
.pagetitle_j .bg_img_wrap2 > img {
  width: 100%;
  object-fit: cover;
  display: block;
}
.pagetitle_j .bg_img_wrap2::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/pagetitleimg2.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0.8;
  z-index: 1;
  pointer-events: none;
}
.pagetitle_j .bg_img_wrap2 .txtbox {
  width: 100%;
  position: absolute;
  inset: 0;
  flex-direction: column;
  z-index: 3;
}
.pagetitle_j .bg_img_wrap2 .txtbox h1 {
  color: #8A1B50;
}
.pagetitle_j .bg_img_wrap2 .txtbox p {
  color: #CCCCCC;
}
.pagetitle_j .bg_img_wrap2 .txtbox .icon {
  width: 50px;
}
/* ---------- pagetitle_k ---------- */
.pagetitle_k {
  width: 100%;
  background-color: #E6B6A1;
}
.pagetitle_k .bg_img_wrap2 {
  position: relative;
  width: 100%;
  overflow: hidden;
  height: 450px;
}
.pagetitle_k .bg_img_wrap2 > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 0;
}
.pagetitle_k .bg_img_wrap2 .box {
  position: absolute;
  inset: 0;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  z-index: 1;
  padding: 0 20px;
}
.pagetitle_k .bg_img_wrap2::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(230, 182, 161, 0.3);
  z-index: 1;
}
.pagetitle_k .bg_img_wrap2 .txtbox {
  width: 100%;
  flex-direction: column;
  z-index: 2;
}
.pagetitle_k .bg_img_wrap2 .txtbox .icon {
  width: 50px;
}
/* ---------- pagetitle_l ---------- */
.pagetitle_l {
  position: relative;
  width: 100%;
  padding-top: 50px;
  padding-bottom: 50px;
}
.pagetitle_l .bg_img_wrap2 {
  position: relative;
  width: 100%;
  overflow: hidden;
  height: 450px;
  border-radius: 300px;
}
.pagetitle_l .txtbox {
  position: absolute;
  bottom: -10%;
  width: 100%;
  flex-direction: column;
  z-index: 2;
}
.pagetitle_l .txtbox p {
  font-size: 90px;
}
.pagetitle_l .txtbox h1 {
  background-color: #fff;
  border: #222 1px solid;
  border-radius: 200px;
  padding: 5px 20px;
}
/* ---------- newstop_a ---------- */
.newstop_a .news_list .webgene-blog {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row;
  gap: 30px 40px;
}
.newstop_a .news_list .webgene-blog .webgene-item {
  width: calc(100% / 2 - 40px / 2);
}
.newstop_a .news_list .webgene-blog .webgene-item {
  padding: 20px 0;
  border-bottom: 1px solid #EBEBEB;
}
.newstop_a .news_list .webgene-blog .webgene-item .imgbox {
  width: 110px;
}
.newstop_a .news_list .webgene-blog .webgene-item .txtbox {
  width: calc(100% - 110px);
  padding-left: 30px;
  text-align: left;
}
.newstop_a .news_list .webgene-blog .webgene-item .cate_txt {
  color: #DC0185;
  border: 1px solid #DC0185;
  border-radius: 200px;
  padding: 3px 20px;
}
.newstop_a .news_list .webgene-blog .webgene-item .date {
  color: #707070;
  font-weight: 500;
}
/* ---------- newstop_b ---------- */
.newstop_b .contents {
  width: 100%;
}
.newstop_b .webgene-blog .webgene-item {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #D0D0D0;
}
.newstop_b .webgene-blog .webgene-item a > .flex {
  gap: 20px;
  padding: 10px 0;
}
.newstop_b .webgene-blog .webgene-item a .date {
  width: 100px;
}
.newstop_b .webgene-blog .webgene-item a .catelabel {
  border: #000 solid 1px;
  border-radius: 50px;
}
.newstop_b .webgene-blog .webgene-item a .cate_txt {
  width: 94px;
  text-align: center;
  padding: 3px 3px;
  box-sizing: border-box;
}
.newstop_b .webgene-blog .webgene-item a h3 {
  width: calc(100% - 240px);
}
/* ---------- newstop_c ---------- */
.newstop_c .newslist .webgene-blog {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 50px 25px;
}
.newstop_c .newslist .webgene-blog .webgene-item {
  width: calc(100% / 3 - 75px / 3);
  background: #fff;
  border: #D0D0D0 solid 1px;
}
.newstop_c .newslist .txtbox {
  padding: 20px;
}
.newstop_c .newslist .webgene-blog .webgene-item .date {
  color: #A8A8A8;
  font-weight: 400;
}
.newstop_c .newslist .webgene-blog .webgene-item .cate-txt {
  color: #222;
  font-weight: 400;
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: #fff;
  font-size: 15px;
  line-height: 1.4;
  padding: 5px 15px;
  border-radius: 2px;
  z-index: 1;
}
.newstop_c .imgbox {
  position: relative;
}
/* ---------- newstop_d ---------- */
.newstop_d .webgene-blog {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  gap: 60px;
}
.newstop_d .webgene-blog .webgene-item {
  position: relative;
  width: calc(100% / 4 - 180px / 4);
  transition: ease 0.3s;
}
.newstop_d .webgene-blog .webgene-item:not(:nth-child(4n))::after {
  content: "";
  position: absolute;
  top: 0;
  right: -30px;
  width: 1px;
  height: 100%;
  background-color: #E0E0E0;
}
.newstop_d .webgene-blog .webgene-item a {
  display: block
}
.newstop_d .webgene-blog .webgene-item:hover {
  opacity: 0.5 !important;
}
.newstop_d .webgene-blog .webgene-item .date {
  color: #8B8B8B;
}
.newstop_d .webgene-blog .webgene-item .cate {
  display: inline-block;
  padding: 7px 15px;
  border-radius: 200px;
  line-height: 1;
  background-color: #0A183E;
  color: #fff;
}
/* ---------- news_a ---------- */
.news_a .news_list .webgene-blog .webgene-item {
  padding: 20px 0;
  border-bottom: 1px solid #EBEBEB;
}
.news_a .news_list .webgene-blog .webgene-item .imgbox {
  width: 250px;
  height: 180px;
}
.news_a .news_list .webgene-blog .webgene-item .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news_a .news_list .webgene-blog .webgene-item .txtbox {
  width: calc(100% - 250px);
  padding-left: 30px;
  text-align: left;
}
.news_a .news_list .webgene-blog .webgene-item .cate_txt {
  color: #DC0185;
  border: 1px solid #DC0185;
  border-radius: 200px;
  padding: 3px 20px;
}
.news_a .news_list .webgene-blog .webgene-item .date {
  color: #707070;
  font-weight: 500;
}
.news_a .cate-wrap .webgene-blog {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  gap: 20px;
}
.news_a .cate-wrap .webgene-blog .webgene-item {
  min-width: calc(100% / 4 - 60px / 4);
}
.news_a .cate-wrap .webgene-blog .webgene-item a {
  border: 2px solid #DC0185;
  padding: 5px 15px;
  border-radius: 200px;
}
.news_a .cate-wrap .webgene-blog .webgene-item a.on {
  background-color: #DC0185;
  border-color: #DC0185;
}
.news_a .cate-wrap .webgene-blog .webgene-item a.on p {
  color: #fff;
}
.news_a .webgene-pagination {
  width: 100%;
  padding-top: 50px;
}
.news_a .webgene-pagination ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 30px;
}
.news_a .webgene-pagination ul a {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  color: #333;
  text-align: center;
  letter-spacing: 0;
  background-color: transparent;
  width: 46px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  font-size: 22px;
  font-weight: 700;
  line-height: 0;
}
.news_a .webgene-pagination ul a:hover {}
.news_a .webgene-pagination ul .selected a {
  pointer-events: none;
  background-color: #DC0185;
  border-color: #DC0185;
  border: none;
  color: #fff;
}
/* ---------- news_b ---------- */
.news_b .cate-wrap .webgene-blog {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 20px;
}
.news_b .cate-wrap .webgene-blog .webgene-item a {
  border: 1px solid #ADAAAA;
  padding: 5px 15px;
  border-radius: 100px;
  font-weight: 500;
}
.news_b .cate-wrap .webgene-blog .webgene-item a.on {
  background-color: #0A183E;
  border-color: #0A183E;
}
.news_b .cate-wrap .webgene-blog .webgene-item a.on p {
  color: #fff;
}
.news_b .cate-wrap .webgene-blog .webgene-item a p {
  font-weight: 500;
}
.news_b .webgene-pagination {
  width: 100%;
  padding-top: 50px;
}
.news_b .webgene-pagination ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 30px;
}
.news_b .webgene-pagination ul a {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  color: #333;
  text-align: center;
  letter-spacing: 0;
  background-color: transparent;
  width: 46px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  font-size: 22px;
  font-weight: 500;
  border: 1px solid #0A183E;
}
.news_b .webgene-pagination ul a:hover {}
.news_b .webgene-pagination ul .selected a {
  pointer-events: none;
  background-color: #0A183E;
  border-color: #0A183E;
  border: none;
  color: #fff;
}
.news_b.news_list .contents .webgene-blog {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  gap: 50px 40px;
}
.news_b.news_list .contents .webgene-blog .webgene-item {
  width: calc(100% / 4 - 120px / 4);
}
.news_b.news_list .contents .webgene-blog .webgene-item .imgbox {
  border-radius: 5px;
  margin-bottom: 15px;
}
.news_b .webgene-blog .webgene-item .date {
  line-height: 1;
  font-size: 15px;
}
.news_b .webgene-blog .webgene-item .catename {
  padding: 4px 15px 2px;
  border-radius: 200px;
  font-size: 14px;
}
.news_b.news_list .contents .webgene-blog .webgene-item h2 {
  line-height: 1;
}
/* ---------- news_d ---------- */
.news_d {
  gap: 50px;
  align-items: flex-start;
}
.news_d .cate-wrap {
  flex: 0 0 220px;
  position: sticky;
  top: 80px;
  align-self: flex-start;
}
.news_d .contents.news_list {
  flex: 1;
  min-width: 0;
}
/* cate-wrap  */
.news_d .cate-wrap .titlebox {
  border-bottom: #CCCCCC 1px solid;
  margin-bottom: 30px;
  padding-bottom: 10px;
}
.news_d .cate-wrap .webgene-blog {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 40px;
}
.news_d .cate-wrap .webgene-blog .webgene-item a {
  position: relative;
  padding: 5px 25px;
}
.news_d .cate-wrap .webgene-blog .webgene-item a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 15px;
  height: 1px;
  background: #433213;
  transform: translateY(-50%);
}
.news_d .cate-wrap .webgene-blog .webgene-item a.on {
  background-color: #433213;
  border-color: #433213;
}
.news_d .cate-wrap .webgene-blog .webgene-item a.on p {
  color: #fff;
}
/*  news_list  */
.news_d .contents .webgene-blog {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  gap: 80px 40px;
}
.news_d .contents .webgene-blog .webgene-item {
  width: calc(100% / 2 - 40px / 2);
}
.news_d .contents .webgene-blog .webgene-item .imgbox {
  border-radius: 5px;
  margin-bottom: 15px;
}
.news_d .webgene-blog .webgene-item .date {
  line-height: 1;
  font-size: 15px;
}
.news_d.news_list .contents .webgene-blog .webgene-item h2 {
  line-height: 1;
}
.news_d .news_list .webgene-blog .webgene-item .catename::before {
  content: "#";
  margin-right: 0.25em;
}
/*  pagination  */
.news_d .webgene-pagination {
  width: 100%;
}
.news_d .webgene-pagination ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 30px;
}
.news_d .webgene-pagination ul a {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  color: #333;
  text-align: center;
  letter-spacing: 0;
  background-color: transparent;
  width: 46px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  font-size: 22px;
  font-weight: 700;
  line-height: 0;
  border: 1px solid #503F36;
}
.news_d .webgene-pagination ul a:hover {}
.news_d .webgene-pagination ul .selected a {
  pointer-events: none;
  background-color: #503F36;
  border-color: #503F36;
  border: none;
  color: #fff;
}
/* ---------- newspage_a ---------- */
.newspage_a .webgene-blog .webgene-item .date {
  line-height: 1;
  color: #707070;
}
.newspage_a .webgene-blog .webgene-item .catename {
  padding: 3px 10px;
  background-color: #000;
}
/* ---------- newspage_b ---------- */
.newspage_b .contents > .webgene-blog .webgene-item .txtbox .date {
  position: relative;
  padding-right: 15px;
  margin-right: 15px;
}
.newspage_b .contents > .webgene-blog .webgene-item .txtbox .date::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 12px;
  background-color: #847D5F;
}
.newspage_b .webgene-blog .webgene-item .cate-txt {
  padding: 3px 15px;
  border-radius: 100px;
  border: 1px solid #847D5F;
}
/* ---------- topmessage_a ---------- */
.topmessage_a .messagebox_wrap {
  position: relative;
  justify-content: flex-start;
  align-items: flex-end;
  flex-wrap: wrap;
  background: linear-gradient(to bottom, transparent 45%, #D0DEDB 20%, #D0DEDB 85%, transparent 80%);
}
.topmessage_a .messagebox {
  gap: 80px;
  flex-wrap: nowrap;
}
/* テキストエリア */
.topmessage_a .txtbox {
  width: 50%;
}
.topmessage_a .txtbox .title1 {
  margin-bottom: clamp(20px, 4vw, 50px);
  border-bottom: 1px solid #ccc;
  padding-bottom: 12px;
}
.topmessage_a .name_wrap {
  margin-top: 40px;
  position: relative;
  z-index: 8;
  line-height: 1.6;
  justify-content: flex-start;
  gap: 20px;
  align-items: baseline;
}
/* 大きく・強調された名前 */
.topmessage_a .name_wrap .name {
  font-size: clamp(15px, 5vw, 26px);
}
.topmessage_a .imgbox {
  position: relative;
  z-index: 5;
}
.topmessage_a .imgbox img {
  width: 100%;
  height: clamp(300px, 50vw, 700px);
  object-fit: cover;
  display: block;
}
.topmessage_a .subtxt {
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 50;
}
.topmessage_a .subtxt p {
  writing-mode: vertical-rl;
  letter-spacing: 0.18em;
  padding: 10px 2px;
  text-align: center;
  font-size: clamp(20px, 4vw, 40px);
}
/* ---------- topmessage_b ---------- */
.topmessage_b .messagebox_wrap {
  gap: clamp(60px, 15vw, 100px);
}
.topmessage_b .messagebox_wrap .boxitem {
  gap: 50px;
}
.topmessage_b .messagebox_wrap .boxitem .imgbox {
  width: calc(50% - 25px);
  max-width: 400px;
}
.topmessage_b .messagebox_wrap .boxitem .txtbox {
  width: calc(50% - 25px);
  flex-direction: column;
  align-items: flex-start;
}
.topmessage_b .messagebox_wrap .line {
  width: 100%;
  height: 1px;
  background: #857E60;
  margin: 16px 0 24px;
  opacity: .7;
}
.topmessage_b .messagebox_wrap .signature {
  text-align: center;
  display: inline-flex;
  align-items: baseline;
  gap: 12px;
}
.topmessage_b .messagebox_wrap .signature .position {
  font-size: 1rem;
  font-weight: 400;
}
.topmessage_b .messagebox_wrap .signature .name {
  letter-spacing: 0.05em;
}
/* ---------- company_a ---------- */
.company_a .company-wrap {
  width: 80%;
}
.company_a .company-wrap .item {
  padding: 10px;
}
.company_a .company-wrap .item:not(:last-of-type) {
  border-bottom: 1px solid #DEDEDE;
}
.company_a .company-wrap .item:first-of-type, .recruit1 .item-wrap .item:first-of-type {
  padding-top: 0;
}
.company_a .company-wrap .item h3 {
  width: 20%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: left;
  flex-direction: row;
  box-sizing: border-box;
  padding-right: 30px;
  padding: 20px 0;
}
.company_a .company-wrap .item > div {
  width: 80%;
  padding: 15px 0;
  padding-left: 80px;
}
/* ---------- company_b ---------- */
.company_b .company-wrap {
  max-width: 900px;
  margin: 0 auto;
  padding: 0px;
  position: relative;
}
.company_b .company-wrap::before {
  content: "";
  position: absolute;
  top: 30px;
  left: 30%;
  width: 1px;
  height: calc(100% - 60px);
  background: #AAAAAA;
}
.company_b .company-wrap .item {
  display: flex;
  align-items: flex-start;
  gap: 0;
  padding: 18px 0;
}
.company_b .company-wrap .item .label {
  flex: 0 0 33%;
  padding-right: 24px;
  line-height: 1.8;
  color: #111827;
  font-weight: bold;
}
.company_b .company-wrap .item > div {
  flex: 1;
  padding-left: 60px;
  line-height: 1.9;
  color: #374151;
}
.company_b .company-wrap .item:last-child {
  padding-bottom: 32px;
}
/* ---------- newstop_a ---------- */
.company_c .companywrap {
  width: 100%;
}
.company_c .companywrap .boxwrap {
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
}
.company_c .companywrap .boxwrap .box {
  justify-content: flex-start;
  align-items: stretch;
}
.company_c .companywrap .boxwrap .box > div {
  justify-content: flex-start;
  align-items: center;
  padding: 20px 0;
}
.company_c .companywrap .boxwrap .box .title {
  width: 180px;
  border-bottom: 1px solid #000;
}
.company_c .companywrap .boxwrap .box .title .title_txt {
  color: #000;
  font-weight: 600;
  letter-spacing: 0;
}
.company_c .companywrap .boxwrap .box .txtbox {
  width: calc(100% - 180px);
  padding-left: 10px;
  border-bottom: 1px solid #B1B1B1;
}
.company_c .companywrap .boxwrap .box .txtbox p {
  letter-spacing: 0;
}
/* ---------- newstop_a ---------- */
.access_a .maptxt {
  align-items: flex-start;
  flex-direction: column;
}
.access_a .map-card {
  width: clamp(320px, 90vw, 800px);
  margin: 0 auto;
  flex-direction: column;
}
/* 地図フレーム（角丸＋ブルーの線） */
.access_a .map-frame {
  position: relative;
  width: 100%;
}
/* 画像でもiframeでもOK */
.access_a .map-frame iframe, .access_a .map-frame img {
  display: block;
  width: 100%;
  height: clamp(260px, 50vw, 440px);
  border: 0;
}
/* 住所ラベル */
.access_a .map-address {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  margin-bottom: 10px;
}
/* ピンアイコン */
.access_a .map-card i {
  font-size: 20px;
  margin-right: 5px;
  display: inline-block;
  position: relative;
}
/* ---------- history_a ---------- */
.history_a .company-info-wrap {}
.history_a .history-list {
  position: relative;
  border-left: 2px solid #ccc;
  padding-left: 30px;
}
.history_a .history-item {
  position: relative;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  gap: 50px;
}
.history_a .history-item::before {
  content: "";
  position: absolute;
  left: -2.45em;
  top: 14px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #000;
}
.history_a .year-wrap .year {
  white-space: nowrap;
}
/* ---------- faq_a ---------- */
.faq_a .box {
  position: relative;
}
.faq_a .box:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #000 0, #000 3px, transparent 2px, transparent 5px);
}
.faq_a .box::after, .faq_a .box .qbox::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background-image: repeating-linear-gradient(to right, #000 0, #000 3px, /* 点の太さ */ transparent 2px, /* 空白開始 */ transparent 5px);
}
.faq_a .box .qbox {
  cursor: pointer;
  position: relative;
  padding: 20px 25px;
  padding-right: 50px;
  gap: 15px;
}
.faq_a .qbox img, .faq_a .abox img {
  width: 20px;
  height: auto;
}
.faq_a .box .qbox .icon {
  position: absolute;
  width: 20px;
  height: 20px;
  right: clamp(10px, 5vw, 25px);
  top: 50%;
  transform: translateY(-50%);
}
.faq_a .box .qbox .icon::before, .faq_a .box .qbox .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #555555;
  transition: ease 0.3s;
}
.faq_a .box .qbox .icon::before {
  width: 100%;
  height: 2px;
}
.faq_a .box .qbox .icon::after {
  height: 100%;
  width: 2px;
}
.faq_a .box .qbox.active .icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq_a .box .abox {
  padding: 20px;
}
body.on .faq_a .box .abox {
  display: none;
}
/* ---------- faq_b ---------- */
.faq_b .box:not(:last-of-type) {
  margin-bottom: 20px;
}
.faq_b .box .qbox {
  cursor: pointer;
  position: relative;
  padding: 10px 25px;
  padding-right: 50px;
  border-bottom: 1px solid #E5E5E5;
  background-color: #E5EEF6;
  gap: 15px;
}
.faq_b .q_icon {
  color: #016FD4;
}
.faq_b .box .qbox .icon {
  position: absolute;
  width: 20px;
  height: 20px;
  right: clamp(10px, 5vw, 25px);
  top: 50%;
  transform: translateY(-50%);
}
.faq_b .box .qbox .icon::before, .faq_b .box .qbox .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #555555;
  transition: ease 0.3s;
}
.faq_b .box .qbox .icon::before {
  width: 100%;
  height: 2px;
}
.faq_b .box .qbox .icon::after {
  height: 100%;
  width: 2px;
}
.faq_b .box .qbox.active .icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq_b .box .abox {
  background-color: #fff;
  padding: 20px;
}
body.on .faq_b .box .abox {
  display: none;
}
/* ---------- faq_c ---------- */
.faq_c .box_wrap {
  width: 100%;
  flex-direction: column;
  gap: 15px;
  align-items: stretch;
}
.faq_c .box {
  width: 100%;
  flex: 0 0 100%;
}
.faq_c .box .qbox {
  cursor: pointer;
  position: relative;
  padding: 10px 5px;
  padding-right: 30px;
  justify-content: flex-start;
}
.faq_c .box .qbox .icon {
  position: absolute;
  width: 20px;
  height: 20px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.faq_c .box .qbox .icon::before, .faq_c .box .qbox .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #555555;
  transition: ease 0.3s;
}
.faq_c .box .qbox .icon::before {
  width: 100%;
  height: 2px;
}
.faq_c .box .qbox .icon::after {
  height: 100%;
  width: 2px;
}
.faq_c .box .qbox.active .icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq_c .box .abox {
  margin-top: 10px;
  background-color: #fff;
  padding: 20px;
}
body.on .faq_c .box .abox {
  display: none;
}
.faq_c .box .qbox p {
  width: 40px;
}
.faq_c .box .qbox h3 {
  flex: 1;
}
/* ---------- contact-form_a ---------- */
/* ---------- contact-form_a ---------- */
.contact-form_a .check-box p {
  cursor: pointer;
  font-weight: 400;
}
.contact-form_a .form-box .box-wrap {
  max-width: 1000px;
}
.contact-form_a .form-box .box-wrap .box {
  margin-bottom: 40px;
}
.contact-form_a .form-box .box-wrap .box h3 {
  width: 300px;
  position: relative;
  padding-right: 80px;
}
.contact-form_a .form-box .box-wrap .box.required-box h3::after {
  content: "必須";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #BF272D;
  border-radius: 3px;
  padding: 2px 20px 3px;
  color: #fff;
  font-size: 14px;
  font-family: "Funnel Sans", "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact-form_a .form-box .box-wrap .box .inputbox {
  width: calc(100% - 300px);
  padding-left: 30px;
}
.contact-form_a .form-box .box-wrap .box:not(.filebox) .inputbox > input, .contact-form_a .form-box .box-wrap .box .inputbox textarea {
  background-color: #fff;
  border: 1px solid rgba(112, 112, 112, 0.5);
  border-radius: 5px;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 20px;
  font-family: "Funnel Sans", "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.contact-form_a .form-box .box-wrap .box .inputbox input::placeholder, .contact-form_a .form-box .box-wrap .box .inputbox textarea::placeholder {
  color: rgba(112, 112, 112, 0.5);
  font-size: 14px;
}
.contact-form_a .form-box .box-wrap .box .inputbox.date-box {
  gap: 20px
}
.contact-form_a .form-box .box-wrap .box .inputbox.date-box input {
  width: auto;
  max-width: 120px;
}
.contact-form_a .form-box .box-wrap .box .inputbox textarea {
  height: 300px;
}
.contact-form_a .form-box .box-wrap .box .inputbox .check-wrap {
  justify-content: flex-start;
  gap: 30px;
}
.contact-form_a .form-box .box-wrap .box .inputbox .check-wrap .check-box {
  gap: 10px;
}
.contact-form_a .form-box .box-wrap .box .inputbox .check-wrap .check-box:not(:last-of-type) {
  margin-bottom: 10px;
}
.contact-form_a .form-box .check-wrap .check-box input[type="radio"] {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(112, 112, 112, 0.5);
  border-radius: 50%;
  background-color: #fff;
  position: relative;
}

.contact-form_a .send, .contact-form_a .check-area {
  text-align: center;
}
.contact-form_a .check-area {
  margin-bottom: clamp(40px, 5vw, 50px);
  padding-top: clamp(10px, 3vw, 40px);
}
.contact-form_a .privacy-bt {
  cursor: pointer;
  margin-left: 10px;
}
.contact-form_a .send .send-bt button {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  opacity: 0;
  cursor: pointer;
}
.contact-form_a .send .send-bt {
  width: 200px;
  position: relative;
  padding: 10px 30px;
  padding-right: 50px;
  border-radius: 200px;
  border: 1px solid #ADAAAA;
}
.contact-form_a .send .send-bt::after {
  content: "";
  position: absolute;
  width: 20px;
  aspect-ratio: 4 / 1;
  background-image: url("../img/arrow1.svg");
  background-position: center center;
  background-size: 100% auto;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  transition: ease 0.3s;
}
.contact-form_a .send .send-bt:hover::after {
  transform: translate(3px, -50%);
}
.contact-form_a .form-box .box-wrap .box .inputbox .product-tabs {
  width: calc(100% - 300px);
}
.contact-form_a .form-box .box-wrap .box .inputbox .product-tabs select {
  width: 100%;
  padding: 5px;
  border: 1px solid #ADAAAA;
  border-radius: 5px;
}
.contact-form_a .form-box .box-wrap .box .inputbox .qty-wrap {
  width: 200px;
}
.contact-form_a .form-box .box-wrap .box .inputbox .qty-wrap input {
  width: 60px;
  padding: 5px;
  border: 1px solid #ADAAAA;
  border-radius: 5px;
}
.contact-form_a .form-box .addressbox > div:not(:last-of-type) {
  margin-bottom: 10px;
}
.contact-form_a .form-box .addressbox .address1 {
  gap: 10px;
}
.contact-form_a .form-box .addressbox .address1 input {
  max-width: 100px;
}
.contact-form_a .addressbox input {
  background-color: #fff;
  border: 1px solid rgba(112, 112, 112, 0.5);
  border-radius: 5px;
  box-sizing: border-box;
  padding: 10px 20px;
  font-size: 14px;
  width: 100%;
}
.contact-form_a .form-box .box-wrap .file-box input[type="file"] {
  color: #B3B3B3;
  font-size: 14px;
  width: 280px;
}
.contact-form_a .form-box .box-wrap .file-box input[type="file"]::file-selector-button {
  padding: 5px 16px;
  border-radius: 2px;
  border: 1px solid #B3B3B3;
  background-color: #F0F0F0;
  font-size: 15px;
  cursor: pointer;
  margin-right: 12px;
}
.privacypolicy {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  box-sizing: border-box;
  padding: 100px 100px;
  background-color: rgba(51, 51, 51, 0.90);
  color: #ffffff;
  z-index: 99999;
  overflow: auto;
}
.privacypolicy .contents {
  font-family: "Funnel Sans", "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.privacypolicy .contents .title {
  font-weight: 900;
  text-align: center;
  margin-bottom: clamp(20px, 5vw, 50px);
  font-size: clamp(18px, 2vw, 24px);
}
.privacypolicy .box-wrap {
  padding-top: 50px;
}
.privacypolicy .box-wrap .box:not(:last-of-type) {
  margin-bottom: 80px;
}
.privacypolicy .box-wrap a {
  display: inline-block;
  opacity: 1;
  transition: ease 0.3s;
}
.privacypolicy .box-wrap a:hover {
  opacity: 0.5;
}
.privacypolicy .box-wrap p {
  color: #fff !important;
}
.privacypolicy .close-bt {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  background-color: rgba(51, 51, 51, 1.00);
  transition: ease 0.3s;
  cursor: pointer;
}
.privacypolicy .close-bt:hover {
  opacity: 0.6
}
.privacypolicy .close-bt::before, .privacypolicy .close-bt::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 42px;
  height: 3px;
  background-color: #ffffff;
}
.privacypolicy .close-bt::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.privacypolicy .close-bt::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.privacypolicy .box-wrap .box h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
  padding-bottom: 5px;
  border-bottom: 2px solid #ffffff;
  color: #fff !important;
}
.privacypolicy .box-wrap .box p a {
  color: #fff !important;
}
/* ---------- burgermenu_a ---------- */
.menu-wrap.burgermenu_a {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 998;
  background-color: rgba(255, 255, 255, 0.90);
}
.menu-wrap.burgermenu_a > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  padding: 20px 50px;
  box-sizing: border-box;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  gap: 60px;
  flex-direction: column;

}
.menu-wrap.burgermenu_a > div .ul {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 40px;
  padding: 50px;
}
.menu-wrap.burgermenu_a > div .ul .li {
  text-align: center;
}
.menu-wrap.burgermenu_a > div .ul .li a {
  margin: 0 auto;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 20px;
  padding: 10px 20px;
  border-bottom: 1px solid #707070;
}
.menu-wrap.burgermenu_a .arrow_icon {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 20px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  transition: ease 0.3s;
  background-color: #000;
}
.menu-wrap.burgermenu_a .arrow_icon i {
  font-size: 12px;
  color: #fff;
}
.menu-wrap.burgermenu_a a:hover .arrow_icon {
  transform: translateX(2px);
}
.menu-wrap.burgermenu_a .bottom-box {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  gap: 30px;
}
.menu-wrap.burgermenu_a .bottom-box .bottom-bt a {
  position: relative;
  background-color: #000;
  gap: 30px;
  padding: 25px 90px;
  border-radius: 10px;
  flex: 1 1 0;
  width: 100%;
}
.menu-wrap.burgermenu_a .bottom-box .arrow_icon {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  background-color: #fff;
}
.menu-wrap.burgermenu_a .bottom-box .arrow_icon i {
  color: #000;
}
.menu-wrap.burgermenu_a .bottom-box .bottom-bt a:hover .arrow_icon {
  transform: translate(2px, -50%);
}
.menu-wrap.burgermenu_a > div .ul .li a p {
  color: #000000;
  font-size: 18px;
  font-weight: 500;
}
.menu-wrap.burgermenu_a .bottom-box .bottom-bt .en {
  font-size: 16px;
  font-family: "Zen Maru Gothic", sans-serif;
}
.menu-wrap.burgermenu_a .bottom-box .bottom-bt .jp {
  font-size: 22px;
  font-family: "Zen Maru Gothic", sans-serif;
}
.menu-wrap.burgermenu_a .bottom-box .bottom-bt p {
  color: #fff;
}
/* ---------- burgermenu_b ---------- */
.menu-wrap.burgermenu_b {
  display: none;
  position: fixed;
  z-index: 98;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.menu-wrap.burgermenu_b::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #2C2C2C;
  opacity: 0.6;
}
.menu-wrap.burgermenu_b .mene_box {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 500px; /* 固定幅 */
  max-width: 100%;
  margin: 0;
  background: #fff; /* 背景 */
  overflow-y: auto;
  z-index: 2;
  box-shadow: -4px 0 20px rgba(0, 0, 0, .15);
}
.menu-wrap.burgermenu_b .mene_box .titlebox {
  gap: 10px;
  margin-bottom: 20px;
}
.menu-wrap.burgermenu_b .mene_box .titlebox img {
  width: 20px;
}
.menu-wrap.burgermenu_b .mene_box .nav_box {
  padding: clamp(80px, 12vw, 150px) clamp(40px, 8vw, 110px) clamp(80px, 12vw, 100px);
  background-color: #fff;
  width: 100%;
  height: 100%;
  overflow-y: auto; /* 縦スクロール許可 */
  -webkit-overflow-scrolling: touch;
}
.menu-wrap.burgermenu_b .mene_box .nav_box .ul {
  margin-bottom: 20px;
  padding-left: 20px;
  flex-direction: column;
  align-items: flex-start;
  max-width: 250px;
  margin-right: auto;
  margin-left: auto;
}
.menu-wrap.burgermenu_b .mene_box .nav_box .ul .li {
  padding: 15px 0;
}
.menu-wrap.burgermenu_b .mene_box .nav_box .ul .li a {
  justify-content: flex-start;
  gap: 15px;
}
.menu-wrap.burgermenu_b .mene_box p {
  font-family: "EB Garamond", serif;
}
.menu-wrap.burgermenu_b .mene_box .nav_box .ul .li p {
  font-size: clamp(20px, 2.5vw, 24px);
}
.menu-wrap.burgermenu_b .mene_box a .icon {
  width: 21px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 1px solid #d9d9d9;
}
.menu-wrap.burgermenu_b .mene_box a .icon img {
  width: 16px;
  transition: ease 0.3s;
  margin-left: -18px;
}
.menu-wrap.burgermenu_b .mene_box a:hover .icon img {
  transform: translateX(5px);
}
.menu-wrap.burgermenu_b .mene_box .sns-icons {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-bottom: 20px;
}
.menu-wrap.burgermenu_b .mene_box .sns-icons a img {
  width: 24px;
  height: 24px;
}
.menu-wrap.burgermenu_b .mene_box .lang-buttons {
  border-top: 1px solid #eee;
  padding-top: 30px;
  margin-top: 10px;
}
.menu-wrap.burgermenu_b .mene_box .lang-btn {
  padding: 6px 20px;
  border-radius: 20px;
  border: none;
  font-size: 14px;
  cursor: pointer;
  background-color: #bfa256;
  color: white;
}
.menu-wrap.burgermenu_b .mene_box .lang-btn p {
  color: #fff;
}
/* ---- burgermenu_c ---- */
.menu-wrap.burgermenu_c {
  display: none;
  position: fixed;
  z-index: 98;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.menu-wrap.burgermenu_c::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #F8F8F8;
  opacity: 0.9;
}
.menu-wrap.burgermenu_c > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  z-index: 2;
  padding: 120px 20px;
  overflow-y: auto;
  flex-wrap: nowrap;
}
.menu-wrap.burgermenu_c .ul {
  width: 50%;
  max-width: 1000px;
  gap: 50px 30px;
  overflow: auto;
  margin: 0 auto;
}
.menu-wrap.burgermenu_c .ul .li {
  width: calc(100% / 2 - 60px / 2);
}
.menu-wrap.burgermenu_c .ul .li a {
  position: relative;
  display: block;
  padding: 15px 20px;
  box-sizing: border-box;
  text-align: left;
  overflow: hidden;
}
.menu-wrap.burgermenu_c .ul .li a p {
  margin: 0;
}
.menu-wrap.burgermenu_c .ul .li a p.en {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.15em;
  color: #C0C0C0;
  text-transform: uppercase;
  margin-bottom: 4px;
  font-family: "Outfit", sans-serif, "Noto Sans", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.menu-wrap.burgermenu_c .ul .li a p.jp {
  font-size: clamp(15px, 2vw, 22px);
  color: #000;
  white-space: nowrap;
}
.menu-wrap.burgermenu_c .menu-divider {
  width: 1px;
  background: #E6E6E6;
  height: 100%;
}
.menu-wrap.burgermenu_c .menu-side {
  flex-direction: column;
  width: auto;
  gap: clamp(20px, 4vh, 32px);
  margin: 0 auto;
}
.menu-wrap.burgermenu_c .menu-side .telbox {
  gap: 10px;
}
.menu-wrap.burgermenu_c .menu-side .tel {
  color: #2F2F2F;
  font-weight: 800;
  margin: 0;
  font-size: clamp(22px, 2vw, 25px);
  font-family: "Outfit", sans-serif;
}
.menu-wrap.burgermenu_c .menu-side .telbox i {
  font-size: 20px;
}
.menu-wrap.burgermenu_c .menu-side .cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 20px 80px;
  background: #191919;
  color: #fff;
  text-decoration: none;
  border-radius: 999px;
  font-weight: 800;
  font-size: clamp(15px, 1.6vw, 18px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .15);
  transition: transform .15s ease, opacity .15s ease;
}
.menu-wrap.burgermenu_c .menu-side .cta i {
  font-size: 16px;
  color: #fff;
}
.menu-wrap.burgermenu_c .menu-side .cta:hover {
  transform: translateY(-2px);
  opacity: .9;
}
.menu-wrap.burgermenu_c .menu-side .follow {
  text-align: center;
}
.menu-wrap.burgermenu_c .menu-side .follow p {
  margin: 8px 0;
  color: #555;
  font-size: 14px;
}
.menu-wrap.burgermenu_c .menu-side .sns {
  display: flex;
  gap: 30px;
  justify-content: center;
}
.menu-wrap.burgermenu_c .menu-side .sns a {
  color: #111;
  font-size: 35px;
  text-decoration: none;
}
/* ---- burgermenu_d ---- */
.menu-wrap.burgermenu_d {
  display: none;
  position: fixed;
  z-index: 98;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.menu-wrap.burgermenu_d::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #000;
  opacity: 0.9;
}
.menu-wrap.burgermenu_d > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  z-index: 2;
  padding-left: 80px;
  padding-right: 80px;
}
.menu-wrap.burgermenu_d .ul {
  width: 90%;
  gap: 50px 30px;
  overflow: auto;
}
.menu-wrap.burgermenu_d .ul .menu_box {
  width: calc(100% / 3 - 60px / 3);
}
.menu-wrap.burgermenu_d .ul .menu_box a {
  position: relative;
  display: block;
  padding: 15px 50px;
  box-sizing: border-box;
  text-align: center;
  overflow: hidden;
  border-bottom: 3px solid #fff;
}
.menu-wrap.burgermenu_d .ul .menu_box a p {
  color: #fff;
}
.menu-wrap.burgermenu_d .ul .menu_box a p.en {
  font-size: clamp(18px, 2.6vw, 26px);
  font-weight: 700;
}
.menu-wrap.burgermenu_d .ul .menu_box a p.jp {
  font-size: 16px;
  font-weight: 700;
}
/* ---- burgermenu_e ---- */
.menu-wrap.burgermenu_e {
  display: none;
  position: fixed;
  z-index: 98;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.menu-wrap.burgermenu_e::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #2C2C2C;
  opacity: 0.6;
}
.menu-wrap.burgermenu_e .mene_box {
  position: absolute;
  top: 0;
  right: 30px;
  height: 100%;
  width: 1000px;
  max-width: 100%;
  margin: 0;
  overflow-y: auto;
  z-index: 2;
}
.menu-wrap.burgermenu_e .mene_box .titlebox {
  gap: 10px;
  margin-bottom: 20px;
}
.menu-wrap.burgermenu_e .mene_box .titlebox img {
  width: 20px;
}
.menu-wrap.burgermenu_e .mene_box .nav_box {
  padding: 100px clamp(40px, 8vw, 110px) clamp(80px, 12vw, 100px);
  margin-top: clamp(80px, 12vw, 150px);
  background-color: #053283;
  width: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 20px;
}
.menu-wrap.burgermenu_e .mene_box .nav_box .ul {
  margin-bottom: 20px;
  flex-direction: column;
  align-items: flex-start;
  max-width: 250px;
  margin-right: auto;
  margin-left: auto;
}
.menu-wrap.burgermenu_e .mene_box .nav_box .ul .li {
  padding: 15px 0;
}
.menu-wrap.burgermenu_e .mene_box .nav_box .ul .li a {
  justify-content: flex-start;
  gap: 15px;
}
.menu-wrap.burgermenu_e .mene_box p {
  font-family: "EB Garamond", serif;
  color: #fff;
}
.menu-wrap.burgermenu_e .mene_box .nav_box .ul .li p {
  font-size: clamp(16px, 2.5vw, 20px);
}
.menu-wrap.burgermenu_e .mene_box a .icon {
  width: 28px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 1px solid #fff;
}
.menu-wrap.burgermenu_e .mene_box a .icon i {
  font-size: 14px;
  color: #fff;
  transition: transform 0.3s ease;
}
.menu-wrap.burgermenu_e .mene_box a:hover .icon i {
  transform: translateX(3px);
}
.menu-wrap.burgermenu_e .mene_box .sns-icons {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-bottom: 20px;
}
.menu-wrap.burgermenu_e .mene_box .sns-icons a img {
  width: 24px;
  height: 24px;
}
.menu-wrap.burgermenu_e .mene_box .lang-buttons {
  border-top: 1px solid #eee;
  padding-top: 30px;
  margin-top: 10px;
}
.menu-wrap.burgermenu_e .mene_box .lang-btn {
  padding: 6px 20px;
  border-radius: 20px;
  border: none;
  font-size: 14px;
  cursor: pointer;
  background-color: #bfa256;
  color: white;
}
.menu-wrap.burgermenu_e .mene_box .lang-btn p {
  color: #fff;
}
.menu-wrap.burgermenu_e .cta-row {
  border-top: 1px solid #4666A2;
  padding-top: 50px;
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 30px;
  flex-wrap: wrap;
}
/* ボタン */
.menu-wrap.burgermenu_e .cta-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 15px 50px;
  background: #fff;
  color: #333;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.menu-wrap.burgermenu_e .cta-btn p {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 18px;
}
/* アイコン */
.menu-wrap.burgermenu_e .cta-btn i {
  font-size: 16px;
  color: #333;
}
/* ホバー */
.menu-wrap.burgermenu_e .cta-btn:hover p {}
/* ---------- pagelinks_a ---------- */
.pagelinks_a {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, auto));
  gap: 12px 20px;
  width: 100%;
  justify-content: center;
}
.pagelinks_a .tab-wrap {
  display: block;
}
.pagelinks_a .jp {
  background-color: #BFBFBF;
  color: #fff;
  line-height: 1;
  padding: 10px 12px;
  display: block;
  text-align: center;
}
.pagelinks_a .tab-wrap:hover .jp {
  background-color: #033791;
}
.pagelinks_a .tab-wrap:hover {
  opacity: 1;
}
/* ---------- pagelinks_b ---------- */
.pagelinks_b {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, auto));
  gap: 12px 20px;
  width: 100%;
  justify-content: center;
}
.pagelinks_b .tab-wrap {
  position: relative;
}
.pagelinks_b .tab-wrap::after {
  content: "";
  position: absolute;
  top: 10%;
  bottom: 10%;
  right: -10px;
  width: 1px;
  background: #D8D8D8;
}
.pagelinks_b .tab-wrap::before {
  content: "";
  position: absolute;
  top: 10%;
  bottom: 10%;
  left: -10px;
  width: 1px;
  background: #D8D8D8;
  display: none;
}
.pagelinks_b .tab-wrap:nth-child(4n+1)::before {
  display: block;
}
.pagelinks_b .jp {
  color: #222222;
  line-height: 1;
  padding: 10px 12px;
  display: block;
  text-align: center;
}
.pagelinks_b .tab-wrap:hover .jp {
  background-color: #212121;
  color: #fff;
}
.pagelinks_b .tab-wrap:hover {
  opacity: 1;
}
/* ---------- pagelinks_c ---------- */
.pagelinks_c {
  gap: 40px 60px;
}
.pagelinks_c a > .flex {
  gap: 20px;
}
.pagelinks_c a > .flex .more-icon {
  width: 40px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 2px solid #B1B1B1;
}
.pagelinks_c a > .flex .more-icon i {
  color: #B1B1B1;
  transform: rotate(-45deg);
  font-size: 14px;
  transition: ease 0.3s;
}
.pagelinks_c a:hover > .flex .more-icon i {
  transform: rotate(0deg);
}
/* ---------- pagelinks_d ---------- */
.pagelinks_d {
  gap: 70px;
}
.pagelinks_d a {
  border-bottom: #212121 solid 1px;
}
.pagelinks_d a > .flex {
  gap: 20px;
}
.pagelinks_d a > .flex .more-icon {
  width: 20px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 2px solid #212121;
  background-color: #212121;
  transition: transform 0.25s ease;
}
.pagelinks_d a > .flex .more-icon i {
  color: #fff;
  font-size: 10px;
  transition: ease 0.3s;
}
.pagelinks_d a:hover > .flex .more-icon {
  transform: translateY(3px);
}
/* ---------- pagelinks_e ---------- */
.pagelinks_e {
  gap: 20px;
}
.pagelinks_e a {
  position: relative;
  background-color: #F07B6F;
  border-radius: 10px;
  padding: 15px 20px;
  width: 240px
}
.pagelinks_e a > .flex .more-icon {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  transition: transform 0.25s ease;
}
.pagelinks_e a > .flex .more-icon i {
  color: #fff;
  font-size: 10px;
  transition: ease 0.3s;
}
.pagelinks_e a:hover > .flex .more-icon {
  transform: translateY(calc(-50% + 3px));
}
/* ---------- shoplist_a ---------- */
.shoplist_a {
  background-color: #212121;
}
.shoplist_a .more a, .shoplist_a .more > div {
  position: relative;
  display: inline-block;
  padding: 15px 30px;
  min-width: 260px;
  text-decoration: none;
  border: #fff solid 1px;
  border-radius: 2px;
}
.shoplist_a .more a .flex {
  justify-content: flex-start;
}
.shoplist_a .more a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translateY(-50%);
  transform-origin: right;
  width: 26px;
  height: 1px;
  background: #fff;
  transition: transform .28s ease;
}
.shoplist_a .more a:hover::after {
  transform: translateY(-50%) scaleX(0);
}
.shoplist_a .title_wrap {
  justify-content: space-between;
}
.shoplist_a .title_wrap .titlebox p {
  font-family: "EB Garamond", sans-serif;
  border-bottom: #fff 1px solid;
  padding-bottom: 5px;
}
.shoplist_a .box_wrap {
  gap: 40px;
}
.shoplist_a .box_wrap .box-item {
  gap: 30px;
  width: calc(50% - 20px);
}
.shoplist_a .box_wrap .box-item .imgbox {
  width: calc(40% - 15px);
}
.shoplist_a .box_wrap .box-item .txtbox {
  width: calc(60% - 15px);
}
/* ----- arrow（CSS変数なし版）----- */
.shoplist_a .box_wrap .box-item .txtbox .arrow {
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid #fff;
  display: grid;
  place-items: center;
  margin-left: auto;
  transition: transform .25s ease;
}
.shoplist_a .box_wrap .box-item .txtbox .arrow img {
  width: 25%;
  height: auto;
  display: block;
}
.shoplist_a .box_wrap .box-item:hover .txtbox .arrow {
  transform: translateX(4px);
}
/* ---------- 1280px以下 ---------- */
@media (max-width: 1280px) {
  .shoplist_a .box_wrap {
    flex-direction: column;
    gap: 30px;
  }
  .shoplist_a .box_wrap .box-item {
    width: 100%;
  }
}
/* ---------- 768px以下 ---------- */
@media (max-width: 768px) {
  .shoplist_a .box_wrap {
    gap: 20px;
  }
  .shoplist_a .box_wrap .box-item {
    gap: 15px;
  }
  .shoplist_a .box_wrap .box-item .txtbox .arrow {
    width: 30px;
    height: 30px;
  }
}
/* ---------- 576px以下 ---------- */
@media (max-width: 576px) {
  .shoplist_a .box_wrap .box-item {
    flex-direction: column;
  }
  .shoplist_a .box_wrap .box-item .imgbox {
    width: 100%;
  }
  .shoplist_a .box_wrap .box-item .txtbox {
    width: 100%;
  }
}
/* ---------- menu_a ---------- */
.menu_a .titlebox {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}
.menu_a .titlebox::before, .menu_a .titlebox::after {
  content: "";
  flex: 1;
  height: 1px;
  border-top: 1px dotted #707070;
}
.menu_a .titlebox img {
  width: 340px;
  height: auto;
  display: block;
}
.menu_a .box_wrap {
  gap: 70px;
}
.menu_a .box_wrap .box-item {
  position: relative;
}
.menu_a .box_wrap .box-item .topbox {
  gap: 80px;
}
.menu_a .box_wrap .box-item:not(:last-child) {
  border-bottom: 1px solid #D9D9D9;
  padding-bottom: 150px;
}
.menu_a .box_wrap .box-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.menu_a .box_wrap .box-item:nth-child(2) .topbox {
  flex-direction: row-reverse;
}
.menu_a .box_wrap .box-item:nth-child(2) .txtbox {
  padding-right: 10%;
  padding-left: 0;
}
.menu_a .box_wrap .box-item .txtbox {
  gap: 40px;
  width: calc(50% - 40px);
  flex-direction: column;
  align-items: flex-start;
  padding-left: 5%;
}
.menu_a .box_wrap .box-item .txtbox .txt-item {
  background-color: #FFFEF5;
  padding: 70px 60px;
}
.menu_a .box_wrap .box-item .txtbox h3 {
  border-bottom: #D9D9D9 1px solid;
  border-top: #D9D9D9 1px solid;
  padding: 20px 20px 15px 20px;
}
.menu_a .box_wrap .box-item .imgbox {
  width: calc(50% - 40px);
  position: relative;
}
.menu_a .box_wrap .box-item .imgbox > img {
  width: 70%;
  justify-content: flex-start;
  display: block;
  position: relative;
  z-index: 1;
}
.menu_a .box_wrap .box-item .imgbox .iconbox .icon1 {
  position: absolute;
  top: 5%;
  right: 20%;
  width: 15%;
  z-index: 3
}
.menu_a .box_wrap .box-item .imgbox .iconbox .icon2 {
  position: absolute;
  bottom: 5%;
  left: 0%;
  width: 15%;
  z-index: 3
}
.menu_a .box_wrap .box-item .imgbox::after {
  content: "";
  position: absolute;
  right: 0;
  top: 30%;
  width: 90%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  background-color: #E2DEB3;
}
.menu_a .blueline span {
  display: inline-block;
  background: linear-gradient(to bottom, transparent 70%, #B4EBDF 0%);
}
.menu_a .title {
  position: relative;
  display: inline-block;
  padding-right: 24px;
  color: #2a2a2a;
}
.menu_a .title::after {
  content: "";
  position: absolute;
  right: -100px;
  bottom: -30px;
  width: clamp(80px, 12vw, 220px);
  height: 1px;
  background: currentColor;
  transform-origin: left center;
  transform: rotate(-35deg);
  opacity: .9;
  pointer-events: none;
}
.menu_a .more_wrap {
  width: 100%;
}
.menu_a .more1 a, .more1 > div {
  position: relative;
  display: inline-block;
  padding: 15px 30px;
  min-width: 340px;
  text-decoration: none;
  border: #3D3D3F solid 1px;
  border-radius: 2px;
}
.menu_a .more1 a .flex {
  justify-content: center;
}
.menu_a .more1 a::after {
  content: "";
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 8px;
  height: 14.8px;
  background: url("../img/more-arrow.png") no-repeat center / contain;
  opacity: .9;
  pointer-events: none;
  transition: transform .28s ease, opacity .28s ease;
}
/* ---------- swiper_a ---------- */
.swiper_a {
  overflow: hidden;
}
.swiper_a img {
  display: block;
  height: auto;
  width: 100%;
}
.swiper_a .swiper-wrapper {
  transition-timing-function: linear !important;
}
.swiper_a .swiper-slide {
  opacity: 1 !important;
  width: auto;
  margin-right: 0 !important;
}
/* ---------- more_a ---------- */
.more_a > a {
  width: 200px;
  gap: 20px;
  border-radius: 200px;
  padding: 10px 30px;
  border: #222222 solid 1px;
  overflow: hidden;
  box-sizing: border-box;
}
.more_a a > div p {
  color: #222;
  font-size: 16px;
}
/* ---------- more_b ---------- */
.more_b a {
  position: relative;
  border-radius: 200px;
  border: 2px solid #1AAB79;
  background-color: #fff;
  overflow: hidden;
  box-sizing: border-box;
  transition: ease 1.0s;
}
.more_b a:hover {
  opacity: 1;
  background-color: #1AAB79;
}
.more_b a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translateX(-100%);
  transition: ease 0.3s;
  background-color: #1AAB79;
}
.more_b a:hover::after {
  transform: translateX(0);
}
.more_b a > .flex {
  position: relative;
  z-index: 2;
  min-width: 240px;
  height: 50px;
  padding: 0 20px;
  justify-content: space-between;
}
.more_b a > .flex p {
  font-weight: 700;
  color: #333333;
  line-height: 1;
  transform: translateY(2px);
  transition: ease 0.3s;
}
.more_b .fa-solid {
  font-size: 18px;
  color: #1AAB79;
  margin-left: 10px;
  transition: transform 0.3s ease, color 0.3s ease;
}
.more_b a:hover .fa-solid {
  transform: translateX(5px);
  color: #fff;
}
.more_b a:hover p {
  color: #fff;
}
/* ---------- more_c ---------- */
.more_c a {
  position: relative;
  padding: 15px 30px;
  background-color: #65D5D1;
  min-width: 300px;
  border-radius: 10px;
  border: none;
}
.more_c a::after {
  content: "";
  position: absolute;
  width: 20px;
  aspect-ratio: 4 / 1;
  background-image: url("../img/arrow1.svg");
  background-position: center center;
  background-size: 100% auto;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  transition: ease 0.3s;
}
.more_c a:hover::after {
  transform: translate(3px, -50%);
}
.more_c a p {
  color: #fff;
}
/* ---------- more_d ---------- */
.more_d a {
  position: relative;
  max-width: 80%;
  min-width: 220px;
}
.more_d a::after {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  width: 100%;
  height: 100%;
  transition: ease 0.3s;
  z-index: 1;
}
.more_d a:hover::after {
  transform: translate(-5px, -5px);
}
.more_d a > div {
  position: relative;
  z-index: 2;
  gap: 10px;
  border-radius: 10px;
  padding: 15px;
}
.more_d a .icon {
  width: 30px;
  aspect-ratio: 1 / 1;
  background-color: #4BA223;
  border: #E0ECD6 solid 2px;
  border-radius: 50%;
  transition: ease 0.3s;
}
.more_d a:hover .icon {
  transform: translateX(3px);
}
.more_d a .icon i {
  color: #FAF9F5;
  font-size: 15px;
}
.more_d a p {
  color: #4BA223;
  line-height: 1;
  font-weight: 700;
}
/* ---------- more_e ---------- */
.more_e a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 30px;
  min-width: 230px;
  color: #FDF7E7;
  text-decoration: none;
  background:
    linear-gradient(#433213, #433213) top center / calc(100% - 2*8px) 1px no-repeat, linear-gradient(#433213, #433213) bottom center / calc(100% - 2*8px) 1px no-repeat, linear-gradient(#433213, #433213) left center / 1px 42px no-repeat, linear-gradient(#433213, #433213) right center / 1px 42px no-repeat;
  border: none;
  overflow: hidden;
  transition: background-size .35s ease, opacity .2s ease;
}
.more_e a:hover {
  background-size:
    calc(100% - 2 * (8px + 8px)) 1px, calc(100% - 2 * (8px + 8px)) 1px, 1px calc(42px - 14px), 1px calc(42px - 14px);
}
/* ---------- more_f ---------- */
.more_f a, .more_f .more > div {
  position: relative;
  display: inline-block;
  padding: 15px 30px;
  min-width: 260px;
  text-decoration: none;
  border: #5E6574 solid 1px;
  border-radius: 2px;
}
.more_f a .flex {
  justify-content: flex-start;
}
.more_f a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translateY(-50%);
  transform-origin: right;
  width: 26px;
  height: 1px;
  background: #5E6574;
  transition: transform .28s ease;
}
.more_f a:hover::after {
  transform: translateY(-50%) scaleX(0);
}
/* ---------- more_g ---------- */
.more_g a, .more_g > div {
  position: relative;
  display: inline-block;
  padding: 15px 30px;
  min-width: 340px;
  text-decoration: none;
  border: #3D3D3F solid 1px;
  border-radius: 2px;
}
.more_g a::after {
  content: "";
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 8px;
  height: 14.8px;
  background: url("../img/arrow1.svg") no-repeat center / contain;
  opacity: .9;
  pointer-events: none;
  transition: transform .28s ease, opacity .28s ease;
}
.more_g a:hover::after {
  transform: translate(2px, 2px) scale(1.04);
  opacity: 1;
}
/* ---------- more_h ---------- */
.more_h a {
  min-width: 260px;
  border-radius: 200px;
  justify-content: space-between;
  padding: 13px 30px;
  background-color: #4BA223;
  border: 2px solid #E0ECD6;
}
.more_h a > div {
  gap: 15px;
  justify-content: space-between;
  width: 100%;
}
.more_h a > div p, .more a > div i {
  color: #fff;
}
.more_h a > div p {
  font-weight: 500;
}
.more_h a > div i {
  transition: ease 0.4s;
  color: #fff;
}
.more_h a:hover > div i {
  transform: translateX(3px);
}
/* ---------- more_i ---------- */
.more_i a {
  min-width: 200px;
  justify-content: space-between;
  padding: 13px 0px;
  border-bottom: 1px solid #222222;
}
.more_i a > div {
  gap: 15px;
  justify-content: space-between;
  width: 100%;
}
.more_i a > div p, .more a > div i {
  color: #222222;
}
.more_i a > div p {
  font-weight: 500;
}
.more_i a > div i {
  transition: ease 0.4s;
  color: #222222;
}
.more_i a:hover > div i {
  transform: translateX(3px);
}
/* ---------- more_j ---------- */
.more_j a {
  min-width: 180px;
  justify-content: space-between;
  padding: 13px 0px;
  border-bottom: 1px solid #4D3F5841;
}
.more_j a > div {
  gap: 15px;
  justify-content: space-between;
  width: 100%;
}
.more_j a > div p, .more a > div i {
  color: #222222;
}
.more_j a > div p {
  font-weight: 500;
}
.more_j .icon {
  width: 21px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 1px solid #4D3F5841;
}
.more_j .icon img {
  width: 16px;
  transition: ease 0.3s;
  margin-left: -18px;
}
.more_j a:hover .icon img {
  transform: translateX(5px);
}
/* ---------- worries_b ~ ---------- */
.worries_b .worry-box {
  background-color: #fff;
  box-shadow: 0 0px 20px rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  gap: 20px 40px;
  padding: 60px 10%;
}
.worries_b .worry-box .worry-item {
  width: calc(50% - 20px);
  position: relative;
  justify-content: flex-start;
  padding: 10px;
  background-image: repeating-linear-gradient(to right, #C4E8D9 0, #C4E8D9 2px, transparent 2px, transparent 6px);
  background-repeat: repeat-x;
  background-position: bottom left;
  background-size: 8px 2px;
}
.worries_b .titlebox {
  position: relative;
  align-items: center;
  padding-inline: 140px;
}
.worries_b .worry-box .worry-item {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 10px;
}
.worries_b .worry-box .worry-item img {
  width: 100%;
  max-width: 25px;
  flex: 0 0 10%;
  padding-top: 3px;
  margin-right: 10px;
  align-items: center;
}
.worries_b .worry-box .worry-item p {
  flex: 0 0 90%;
  min-width: 0;
  word-break: break-word;
}
/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px) {
  /* ---------- header_b ---------- */
  .header_b .head_menu, .header_b .head_menu .ul {
    gap: clamp(12px, 3vw, 30px);
  }
  /* ---------- header_c ---------- */
  .header_c {
    padding: 0 30px;
  }
  .header_c .logo img {
    max-width: 220px;
  }
  .header_c .header_c_right {
    gap: 20px;
  }
  .menu-wrap_c .ul {
    gap: 30px 30px;
  }
  .menu-wrap_c .ul .menu_box {
    width: calc(100% / 3 - 60px / 3);
  }
  .menu-wrap_c .ul .menu_box a p {
    font-size: 18px;
  }
  /* ---------- header_d ---------- */
  .header_d .rightbox {
    display: none;
  }
  .header_d .menu-bt {
    display: block;
    position: fixed;
    z-index: 9999;
    top: 20px;
    right: 20px;
    width: 70px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-color: #000;
    cursor: pointer;
  }
  .header_d .menu-bt .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 20px;
  }
  .header_d .menu-bt .line > div {
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    border-radius: 6px;
    background-color: #fff;
    left: 0;
    transition: ease 0.3s;
  }
  .header_d .menu-bt .line > div:nth-of-type(1) {
    top: 0;
  }
  .header_d .menu-bt .line > div:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  .header_d .menu-bt .line > div:nth-of-type(3) {
    bottom: 0;
  }
  .header_d .menu-bt.active .line > div:nth-of-type(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  .header_d .menu-bt.active .line > div:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%) translateX(50%);
    opacity: 0;
  }
  .header_d .menu-bt.active .line > div:nth-of-type(3) {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
  .menu-wrap_d {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(241, 241, 241, 0.90);
    z-index: 998;
  }
  .menu-wrap_d > div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .menu-wrap_d .menu-wrap_d-box {
    overflow: auto;
  }
  .menu-wrap_d > div .ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: 40px;
    padding: clamp(20px, 5vw, 50px);
  }
  .menu-wrap_d > div .ul .li {
    min-width: calc(100% / 4 - 120px / 4);
    text-align: center;
  }
  .menu-wrap_d > div .ul .li a {
    margin: 0 auto;
  }
  .menu-wrap_d > div .ul .li a:hover {
    transform: translateY(-3px);
  }
  .menu-wrap_d > div .ul .li a p {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    color: #222222;
    font-size: clamp(18px, 2.5vw, 30px);
    font-weight: 900;
  }
  .menu-wrap_d > div .ul .li a p.en {
    font-size: clamp(18px, 2.5vw, 25px);
    color: #2E9568;
    font-family: "Cormorant", "Zen Kaku Gothic New", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
  /* ---------- header_e ---------- */
  .header_e .rightbox {
    display: none;
  }
  .header_e .menu-bt {
    display: block;
    position: fixed;
    z-index: 9999;
    top: 20px;
    right: 20px;
    width: 70px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-color: #000;
    cursor: pointer;
  }
  .header_e .menu-bt .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 20px;
  }
  .header_e .menu-bt .line > div {
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    border-radius: 6px;
    background-color: #fff;
    left: 0;
    transition: ease 0.3s;
  }
  .header_e .menu-bt .line > div:nth-of-type(1) {
    top: 0;
  }
  .header_e .menu-bt .line > div:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  .header_e .menu-bt .line > div:nth-of-type(3) {
    bottom: 0;
  }
  .header_e .menu-bt.active .line > div:nth-of-type(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  .header_e .menu-bt.active .line > div:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%) translateX(50%);
    opacity: 0;
  }
  .header_e .menu-bt.active .line > div:nth-of-type(3) {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
  /* ---------- header_f ---------- */
  .header_f .category-container {
    gap: 1.5rem;
    padding: 0 1rem;
  }
  /* ---------- header_g ---------- */
  .header_g .rightbox {
    display: none;
  }
  .header_g .menu-bt {
    display: block;
    position: fixed;
    z-index: 9999;
    top: 20px;
    right: 20px;
    width: 70px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-color: #000;
    cursor: pointer;
  }
  .header_g .menu-bt .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 20px;
  }
  .header_g .menu-bt .line > div {
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    border-radius: 6px;
    background-color: #fff;
    left: 0;
    transition: ease 0.3s;
  }
  .header_g .menu-bt .line > div:nth-of-type(1) {
    top: 0;
  }
  .header_g .menu-bt .line > div:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  .header_g .menu-bt .line > div:nth-of-type(3) {
    bottom: 0;
  }
  .header_g .menu-bt.active .line > div:nth-of-type(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  .header_g .menu-bt.active .line > div:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%) translateX(50%);
    opacity: 0;
  }
  .header_g .menu-bt.active .line > div:nth-of-type(3) {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
  /* ---------- header_i ---------- */
  .header_i .rightbox {
    display: none;
  }
  .header_i .menu-bt {
    display: block;
    position: fixed;
    z-index: 9999;
    top: 20px;
    right: 20px;
    width: 70px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background-color: #000;
    cursor: pointer;
  }
  .header_i .menu-bt .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 20px;
  }
  .header_i .menu-bt .line > div {
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    border-radius: 6px;
    background-color: #fff;
    left: 0;
    transition: ease 0.3s;
  }
  .header_i .menu-bt .line > div:nth-of-type(1) {
    top: 0;
  }
  .header_i .menu-bt .line > div:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  .header_i .menu-bt .line > div:nth-of-type(3) {
    bottom: 0;
  }
  .header_i .menu-bt.active .line > div:nth-of-type(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  .header_i .menu-bt.active .line > div:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%) translateX(50%);
    opacity: 0;
  }
  .header_i .menu-bt.active .line > div:nth-of-type(3) {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
  /* ---------- footer_a ---------- */
  .footer_a .rightbox {
    gap: 40px;
  }
  .footer_a .rightbox .box .item p {
    font-size: 14px;
  }
  /* ---------- footer_b ---------- */
  .footer_b .rightbox {
    gap: 40px;
  }
  .footer_b .rightbox .box .item p {
    font-size: 14px;
  }
  /* ---------- footer_d ---------- */
  .footer_d .top_footer .rightbox {
    width: 60%;
  }
  /* ---------- footer_e ---------- */
  .footer_e .bottombox .leftbox {
    gap: 40px;
  }
  .footer_e .bottombox .leftbox .box .item p {
    font-size: 14px;
  }
  /* ---------- footer_f ---------- */
  .footer_f .bottombox {
    margin-top: 80px;
  }
  /* ---------- footer_g ---------- */
  .footer_g .rightbox {
    gap: 20px 20px;
  }
  .footer_g .rightbox .ul .li a p {
    font-size: 14px;
  }
  /* ---------- contact_h ---------- */
  .contact_h .more2 a {
    min-width: 200px;
  }
  .contact_h .more2 p {
    font-size: 12px;
  }
  .contact_i .inquiry-grid {
    gap: 32px 40px;
  }
  .contact_i .inquiry-col {
    grid-template-columns: 220px 1fr;
    gap: 20px;
  }
  .contact_i .inquiry-media {
    width: 220px;
    height: 170px;
  }
  .contact_i .tel-number {
    font-size: clamp(24px, 3.6vw, 36px);
  }
  /* ---------- contact_k ---------- */
  .contact_k {
    flex-direction: column;
  }
  .contact_k .leftbox {
    width: 100%;
    margin-right: auto;
  }
  .contact_k .rightbox {
    width: 100%;
    gap: 10px;
  }
  /* ---------- submenu_c ---------- */
  .submenu_c .box .en {
    font-size: 34px;
  }
  /* ---------- submenu_d ---------- */
  .submenu_d .box {
    flex: 0 1 calc((100% - 30px) / 2);
  }
  /* ---------- submenu_e ---------- */
  .submenu_e .box {
    flex: 0 1 calc((100% - 30px) / 2);
  }
  .submenu_e .box {
    aspect-ratio: 1.5 / 1;
  }
  .submenu_e .more {
    margin-top: 20px;
  }
  .submenu_e .box .txtbox {
    bottom: 30px;
  }
  /* ---------- submenu_i ---------- */
  .submenu_i {
    flex-direction: column;
  }
  .submenu_i .leftbox {
    width: 60%;
  }
  .submenu_i .leftbox .box-item .imgbox {
    width: calc(50% - 10px);
  }
  .submenu_i .leftbox .box-item .txtbox {
    width: calc(50% - 10px);
  }
  .submenu_i .rightbox {
    width: 100%;
  }
  /* ---------- submenu_j ---------- */
  .submenu_j .box_wrap .box-item .txtbox {
    bottom: -30%;
    width: 90%;
  }
  .submenu_j .box_wrap {
    gap: 30px;
  }
  /* ---------- onlineshop_c ---------- */
  .onlineshop_c .bg-green {
    gap: 50px;
    padding: 40px 60px;
  }
  .onlineshop_c .titlebox {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }
  /* ---------- sns_a ~ ---------- */
  .sns_a .box_wrap .box-item {
    width: calc((100% - 24px) / 5);
  }
  /* ---------- sns_b ~ ---------- */
  .sns_b .box_wrap .box-item {
    width: calc((100% - 30px) / 2);
  }
  /* ---------- sns_c ---------- */
  .sns_c .box_wrap .box-item {
    width: calc((100% - 90px) / 4);
  }
  /* ---------- sns_d ---------- */
  .sns_d .box_wrap {
    flex-direction: column;
  }
  .sns_d .box_wrap .titlebox {
    width: 100%;
  }
  .sns_d .box_wrap .sns_wrap {
    width: 100%;
  }
  /* ---------- pagetitle_g ---------- */
  .pagetitle_g .bg_img_wrap2 .txtbox .entitle {
    font-size: 80px;
  }
  /* ---------- pagetitle_i ---------- */
  .pagetitle_i {
    flex-wrap: nowrap;
  }
  .pagetitle_i .leftbox {
    flex: 3 1 0;
  }
  .pagetitle_i .rightbox {
    flex: 2 1 0;
  }
  .pagetitle_i .title1 {
    font-size: 80px;
  }
  /* ---------- newstop_c ---------- */
  .newstop_c .newslist .webgene-blog {
    gap: 50px 20px;
  }
  .newstop_c .newslist .webgene-blog .webgene-item {
    width: calc(100% / 3 - 60px / 3);
  }
  /* ---------- newstop_d ---------- */
  .newstop_d .webgene-blog .webgene-item {
    width: calc(100% / 3 - 120px / 3);
  }
  .newstop_d .webgene-blog .webgene-item:not(:nth-child(4n))::after {
    content: none;
  }
  .newstop_d .webgene-blog .webgene-item:not(:nth-child(3n))::after {
    content: "";
    position: absolute;
    top: 0;
    right: -30px;
    width: 1px;
    height: 100%;
    background-color: #E0E0E0;
  }
  /* ---------- news_b ---------- */
  .news_b.news_list .contents .webgene-blog {
    gap: 60px 40px;
  }
  .news_b.news_list .contents .webgene-blog .webgene-item {
    width: calc(100% / 3 - 80px / 3);
  }
  /* ---------- news_d ---------- */
  .news_d .contents .webgene-blog {
    gap: 50px 30px;
  }
  .news_d .contents .webgene-blog .webgene-item {
    width: calc(100% / 2 - 30px / 2);
  }
  /* ---------- company_a ---------- */
  .company_a .company-wrap {
    width: 100%;
  }
  /* ---------- faq_a ---------- */
  .faq_a .form-box .box-wrap .box h3 {
    width: 250px;
  }
  .faq_a .form-box .box-wrap .box .inputbox {
    width: calc(100% - 250px);
  }
  .faq_a .send, .faq_a .check-area {
    margin-left: 250px;
  }
  /* ---------- contact-form_a ---------- */
  .contact-form_a .form-box .box-wrap .box h3 {
    width: 250px;
  }
  .contact-form_a .form-box .box-wrap .box .inputbox {
    width: calc(100% - 250px);
  }
  .contact-form_a .send, .contact-form_a .check-area {
    margin-left: 250px;
  }
  /* ---------- burgermenu_d ---------- */
  .menu-wrap.burgermenu_d .ul {
    gap: 30px 30px;
  }
  .menu-wrap.burgermenu_d .ul .menu_box {
    width: calc(100% / 3 - 60px / 3);
  }
  .menu-wrap.burgermenu_d .ul .menu_box a p {
    font-size: 18px;
  }
  /* ---------- menu_a ---------- */
  .menu_a .box_wrap .box-item .topbox {
    gap: 50px;
  }
  .menu_a .box_wrap .box-item .txtbox {
    width: calc(50% - 25px);
    align-items: flex-start;
    padding-left: 0%;
  }
  .menu_a .box_wrap .box-item .txtbox .txt-item {
    background-color: #FFFEF5;
    padding: 50px 40px;
  }
  .menu_a .box_wrap .box-item .imgbox {
    width: calc(50% - 25px);
  }
  .menu_a .box_wrap .box-item .imgbox > img {
    width: 80%;
  }
  .menu_a .titlebox img {
    width: 280px;
  }
  .menu_a .title::after {
    right: -70px;
    bottom: -20px;
    width: clamp(80px, 12vw, 220px);
  }
  /* ---------- worries_b ~ ---------- */
  .worries_b .worry-box .worry-item {
    width: 100%;
  }
  .worries_b .worry-box {
    gap: 15px;
    padding: 40px 20%;
  }
  .worries_b .titlebox::before, .worries_b .titlebox::after {
    width: 120px;
    height: 120px;
    top: 75%;
  }
  .worries_b .worry-box .worry-item img {
    max-width: 18px;
    flex: 0 0 10%;
    padding-top: 7px;
    margin-right: 10px;
    align-items: center;
  }
}
@media screen and (min-width: 1081px) {
  .menu-wrap_a {
    display: none !important;
  }
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px) {
  /* ---------- header_a ---------- */
  .header_a .head_menu {
    display: none;
  }
  .header_a .menu-bt {
    display: block;
    position: relative;
    width: 70px;
    aspect-ratio: 1 / 1;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
    background: #64D6D1;
    background: linear-gradient(135deg, rgba(100, 214, 209, 1) 0%, rgba(188, 237, 120, 1) 100%);
    border-radius: 50%;
    cursor: pointer;
  }
  .header_a .menu-bt .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30px;
    height: 20px;
  }
  .header_a .menu-bt .line > div {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #fff;
    left: 0;
    transition: ease 0.3s;
  }
  .header_a .menu-bt .line > div:nth-of-type(1) {
    top: 0;
  }
  .header_a .menu-bt .line > div:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  .header_a .menu-bt .line > div:nth-of-type(3) {
    bottom: 0;
  }
  .header_a .menu-bt.active .line > div:nth-of-type(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  .header_a .menu-bt.active .line > div:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%) translateX(50%);
    opacity: 0;
  }
  .header_a .menu-bt.active .line > div:nth-of-type(3) {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
  .menu-wrap_a {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #64D6D1;
    background: linear-gradient(135deg, rgba(100, 214, 209, 0.8) 0%, rgba(188, 237, 120, 0.8) 100%);
    z-index: 998;
  }
  .menu-wrap_a > div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    padding: 20px 50px;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.60);
  }
  .menu-wrap_a > div {
    overflow: auto;
  }
  .menu-wrap_a > div .ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: 40px;
    padding: 50px;
  }
  .menu-wrap_a > div .ul .li {
    min-width: calc(100% / 4 - 120px / 4);
    text-align: center;
  }
  .menu-wrap_a > div .ul .li a {
    margin: 0 auto;
  }
  .menu-wrap_a > div .ul .li a p {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    color: #333333;
    font-size: 16px;
    font-weight: 500;
  }
  .menu-wrap_a > div .ul .li a p.en {
    font-size: 24px;
    font-family: "EB Garamond", "Zen Old Mincho", "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";
    color: #05AA8E;
    opacity: 0.8;
  }
  /* ---------- header_b ---------- */
  .header_b {
    padding: 10px 20px;
  }
  .header_b .head_menu, .header_b .head_menu .ul {
    gap: 20px;
  }
  .header_b .head_menu {
    padding: 15px 30px;
  }
  .header_b .head_menu .ul p {
    font-size: 14px;
  }
  .header_b .head_menu .ul .contact_bt {
    padding: 3px 12px 5px;
  }
  .header_b {
    padding: 10px 15px;
  }
  .header_b .head_menu {
    width: 60px;
    height: 60px;
    border-radius: 50%;
  }
  .header_b .head_menu .ul {
    display: none;
  }
  .header_b .head_menu .menu-bt .line {
    width: 26px;
    height: 20px;
  }
  .menu-wrap_b .ul {
    width: 90%;
    gap: 30px 15px;
    overflow: auto;
  }
  .menu-wrap_b .ul .li {
    width: calc(100% / 2 - 15px / 2);
  }
  /* ---------- header_c ---------- */
  .page_links_c a {
    gap: 10px;
  }
  .page_links_c a p {
    font-size: 14px;
  }
  .header_c .header_c_right > a {
    display: none;
  }
  .header_c .logo {
    max-width: 50%;
  }
  .menu-wrap_c .ul {
    gap: 30px 50px;
  }
  .menu-wrap_c .ul .menu_box {
    width: calc(100% / 2 - 50px / 2);
  }
  .menu-wrap_c .ul .menu_box a p {
    font-size: 16px;
  }
  /* ---------- header_e ---------- */
  .header_e {
    display: none;
  }
  .header-mobile_e {
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    padding: 15px 20px;
    background-color: #F6F2EF;
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
  }
  .header-mobile_e .logo-box img {
    width: auto;
    height: 60px;
  }
  .header-mobile_e .menu-bt {
    width: 60px;
    height: 60px;
    cursor: pointer;
  }
  .header-mobile_e .menu-bt .line div {
    height: 3px;
    background-color: #fff;
    transition: 0.3s;
  }
  .header_e .menu-bt {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: #4BA223;
    z-index: 9999;
    cursor: pointer;
  }
  .header_e .menu-bt .line {
    position: relative;
    width: 30px;
    height: 24px;
  }
  .header_e .menu-bt .line div {
    height: 4px;
    border-radius: 2px;
    background-color: #fff;
    position: absolute;
    left: 0;
    transition: ease 0.3s;
  }
  .header_e .menu-bt .line div:nth-of-type(1) {
    width: 100%;
    top: 0;
  }
  .header_e .menu-bt .line div:nth-of-type(2) {
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
  }
  .header_e .menu-bt .line div:nth-of-type(3) {
    width: 100%;
    bottom: 0;
  }
  .header_e .menu-bt.active .line div:nth-of-type(1) {
    width: 100%;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
  }
  .header_e .menu-bt.active .line div:nth-of-type(2) {
    width: 100%;
    top: 50%;
    transform: translateY(-50%) translateX(50%);
    opacity: 0;
  }
  .header_e .menu-bt.active .line div:nth-of-type(3) {
    width: 100%;
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
  }
  /* ---------- header_f ---------- */
  .header_f .category-container {
    gap: 1.5rem;
  }
  .header_f .category-icon {
    width: 70px;
    height: 70px;
    font-size: 2.5rem;
  }
  .header_f .category-nav {
    display: none;
  }
  /* ---------- footer_a ---------- */
  .footer_a .rightbox {
    display: none;
  }
  .footer_a {
    justify-content: center;
    text-align: center;
    padding-bottom: 30px;
  }
  .footer_a .leftbox .snsbox {
    justify-content: center;
  }
  .footer_a .leftbox p {
    font-size: 14px;
  }
  /* ---------- footer_b ---------- */
  .footer_b .rightbox {
    display: none;
  }
  .footer_b {
    justify-content: center;
    text-align: center;
    padding-bottom: 30px;
  }
  .footer_b .leftbox .snsbox {
    justify-content: center;
  }
  .footer_b .leftbox p {
    font-size: 14px;
  }
  .footer-bottom_b {
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin: 0 auto;
  }
  .footer-bottom_b .footer-address {
    width: 100%;
    text-align: center;
  }
  /* ---------- footer_c ---------- */
  .footer_c .topbox .ul {
    width: 100%;
    gap: 30px;
  }
  /* ---------- footer_d ---------- */
  .footer_d .top_footer {
    flex-direction: column;
    gap: 30px;
  }
  .footer_d .top_footer .rightbox .footer_list {
    display: none;
  }
  .footer_d .top_footer .rightbox .online_bt_link {
    justify-content: center;
  }
  /* ---------- footer_e ---------- */
  .footer_e .bottombox .leftbox {
    display: none;
  }
  .footer_e {
    justify-content: center;
    text-align: center;
    padding-bottom: 30px;
  }
  .footer_e .bottombox {
    justify-content: center;
  }
  .footer_e .bottombox .rightbox {
    align-items: center;
    width: 100%;
    margin: 0 auto;
  }
  .footer .bottombox .rightbox .snsbox {
    justify-content: center;
  }
  .footer_e .bottombox .rightbox p {
    font-size: 14px;
  }
  /* ---------- footer_f ---------- */
  .footer_f .topbox {
    display: none;
  }
  .footer_f .bottombox {
    margin-top: 0px;
    flex-direction: column-reverse;
  }
  .footer_f .bottombox .logo, .footer_f .bottombox .copyright {
    width: 100%;
    text-align: center;
  }
  .footer_f .bottombox .copyright {
    padding-top: 20px;
  }
  /* ---------- footer_g ---------- */
  .footer_g .rightbox {
    display: none;
  }
  .footer_g {
    display: block;
  }
  .footer_g .leftbox {
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: 30px 40px;
  }
  .footer_g .leftbox .logo {
    width: auto;
    max-width: 300px;
    margin: 0 auto;
    text-align: center;
  }
  .footer-bottombox_g {
    justify-content: center;
  }
  .footer-bottombox_g .copyright {
    width: 100%;
    text-align: center;
    margin: 0 auto;
  }
  .footer-bottombox_g .ul {
    display: none;
  }
  /* ---------- footer_h ---------- */
  .footer_h {
    padding-top: 30px;
    flex-direction: column;
  }
  .footer_h > div {
    padding-top: 20px;
    padding-bottom: 20px;
    justify-content: center;
  }
  .footer_h .ul {
    display: none;
  }
  /* ---------- contact_h ---------- */
  .contact_h .topbox {
    flex-direction: column;
    padding-bottom: 40px;
  }
  .contact_h .topbox .leftbox {
    width: 100%;
    justify-content: flex-start;
    padding-bottom: 30px;
  }
  .contact_h .topbox .rightbox {
    width: 100%;
    justify-content: flex-start;
  }
  /* ---------- contact_i ---------- */
  .contact_i .inquiry-grid {
    grid-template-columns: 1fr; /* ← 1カラム化 */
    gap: 32px;
    max-width: 600px;
    margin: 0 auto;
  }
  .contact_i .inquiry-col {
    grid-template-columns: 200px 1fr;
  }
  .contact_i .inquiry-media {
    width: 200px;
    height: 160px;
  }
  .contact_i .mail-copy {
    font-size: clamp(15px, 1.8vw, 18px);
  }
  .contact_i .mail-button .circle {
    width: 32px;
    height: 32px;
  }
  /* ---------- contact_k ---------- */
  .contact_k .rightbox {
    flex-direction: column;
  }
  .contact_k .rightbox .box {
    width: 100%;
    padding: 30px 30px;
  }
  /* ---------- submenu_c ---------- */
  .submenu_c > a {
    position: relative;
    width: 50%;
    aspect-ratio: 1.5 / 1;
  }
  .submenu_c .box h2 {
    font-size: 28px;
  }
  /* ---------- submenu_e ---------- */
  .submenu_e .box {
    flex: 0 1 100%;
  }
  /* ---------- submenu_f ---------- */
  .submenu_f .box {
    flex: 0 1 calc((100% - 80px) / 2);
  }
  .submenu_f .box .titlebox .num {
    font-size: 37px;
  }
  /* ---------- submenu_h ---------- */
  .submenu_h .box {
    aspect-ratio: 3 / 2;
    width: 50%;
  }
  /* ---------- submenu_i ---------- */
  .submenu_i {
    gap: 60px;
  }
  .submenu_i .leftbox {
    width: 80%;
  }
  /* ---------- submenu_i ---------- */
  .submenu_j .box_wrap .box-item {
    width: 100%;
  }
  .submenu_j .box_wrap .box-item .txtbox {
    bottom: -5%;
    width: 90%;
  }
  .submenu_j .box_wrap .box-item > img {
    aspect-ratio: 3 / 2;
  }
  /* ---------- onlineshop_b ---------- */
  .onlineshop_b .txtbox h2 {
    font-size: 70px;
  }
  /* ---------- onlineshop_c ---------- */
  .onlineshop_c .bg-green {
    flex-direction: column-reverse;
    gap: 30px;
  }
  .onlineshop_c .bg-green .txtbox {
    width: 100%;
    gap: 20px;
  }
  .onlineshop_c .bg-green .imgbox {
    width: 70%;
  }
  /* ---------- onlineshop_d ---------- */
  .onlineshop_d a .box {
    padding: 20px 50px;
  }
  /* ---------- onlineshop_e ---------- */
  .onlineshop_e a .box {
    width: 50%;
    padding-right: 30px;
  }
  .onlineshop_e a {
    border-top-right-radius: 100px;
    border-bottom-left-radius: 100px;
  }
  .onlineshop_e a .box .en {
    font-size: 18px;
    padding-left: 50px;
  }
  .onlineshop_e a .box .en::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 165px;
  }
  .onlineshop_e a .box h2 {
    font-size: 22px;
    padding-left: 50px;
  }
  /* ---------- onlineshop_f ---------- */
  .onlineshop_f a .box .en {
    font-size: 50px;
  }
  .onlineshop_f .more i {
    font-size: 20px;
  }
  .onlineshop_f .more p {
    font-size: 20px;
  }
  .onlineshop_f .more {
    width: 120px;
    height: 120px;
  }
  /* ---------- onlineshop_f ---------- */
  .onlineshop_g a .box {
    padding: 30px;
    width: 500px;
  }
  .onlineshop_g a .box .top-txt {
    gap: 20px;
  }
  .onlineshop_g a .box .bg-txt p {
    font-size: 80px;
  }
  .onlineshop_g a > img {
    height: 350px;
  }
  /* ---------- onlineshop_h ---------- */
  .onlineshop_h a > img {
    height: 350px;
  }
  /* ---------- sns_a ~ ---------- */
  .sns_a .box_wrap .box-item {
    width: calc((100% - 18px) / 4);
  }
  /* ---------- sns_c ---------- */
  .sns_c .box_wrap .box-item {
    width: calc((100% - 90px) / 3);
  }
  /* ---------- pagetitle_d ---------- */
  .pagetitle_d .subtxt {
    bottom: -140px;
  }
  /* ---------- pagetitle_g ---------- */
  .pagetitle_g .bg_img_wrap2 {
    height: 350px;
  }
  /* ---------- pagetitle_h ---------- */
  .pagetitle_h .bg_img_wrap2 {
    height: 350px;
  }
  /* ---------- pagetitle_i ---------- */
  .pagetitle_i .leftbox .txtbox2 {
    padding-top: 30px;
    width: 100%;
  }
  /* ---------- pagetitle_j ---------- */
  .pagetitle_j .bg_img_wrap2 {
    height: 350px;
  }
  /* ---------- pagetitle_k ---------- */
  .pagetitle_k .bg_img_wrap2 {
    height: 350px;
  }
  .pagetitle_k .link_wrap {
    display: none;
  }
  /* ---------- pagetitle_l ---------- */
  .pagetitle_l .bg_img_wrap2 {
    height: 350px;
    border-radius: 200px;
  }
  .pagetitle_l .link_wrap {
    display: none;
  }
  .pagetitle_l .txtbox p {
    font-size: 50px;
  }
  .pagetitle_l .txtbox {
    bottom: -3%;
  }
  /* ---------- newstop_c ---------- */
  .newstop_c .newslist .webgene-blog, .grid_4 {
    gap: 50px 30px;
  }
  .newstop_c .newslist .txtbox {
    padding: 8px 10px 0px;
  }
  /* ---------- newstop_d ---------- */
  .newstop_d .webgene-blog .webgene-item {
    width: calc(100% / 2 - 60px / 2);
  }
  .newstop_d .webgene-blog .webgene-item:not(:nth-child(3n))::after {
    content: none;
  }
  .newstop_d .webgene-blog .webgene-item:not(:nth-child(2n))::after {
    content: "";
    position: absolute;
    top: 0;
    right: -30px;
    width: 1px;
    height: 100%;
    background-color: #E0E0E0;
  }
  /* ---------- news_d ---------- */
  .news_d .cate-wrap {
    flex: 0 0 150px;
  }
  .news_d .cate-wrap .webgene-blog {
    gap: 20px;
  }
  /* ---------- topmessage_a ---------- */
  .topmessage_a .messagebox_wrap {
    flex-direction: column;
    align-items: center;
  }
  .topmessage_a .messagebox_wrap .txtbox h2 {
    text-align: center;
  }
  .topmessage_a .name_wrap p {
    font-size: clamp(12px, 2vw, 14px);
  }
  .topmessage_a .name_wrap .name {
    font-size: clamp(18px, 4vw, 25px);
    font-weight: bold;
  }
  /* ---------- burgermenu_a ---------- */
  .menu-wrap.burgermenu_a > div .ul {
    gap: 20px;
    padding: 30px;
  }
  .menu-wrap.burgermenu_a > div {
    gap: 40px;
  }
  .menu-wrap.burgermenu_a > div .ul .li a p {
    font-size: 16px;
  }
  .menu-wrap.burgermenu_a .bottom-box .bottom-bt .en {
    font-size: 16px;
  }
  .menu-wrap.burgermenu_a .bottom-box .bottom-bt .jp {
    font-size: 18px;
  }
  .menu-wrap.burgermenu_a .bottom-box .bottom-bt p {
    color: #fff;
  }
  .menu-wrap.burgermenu_a .bottom-box .bottom-bt {
    flex-basis: 100%;
  }
  /* ---------- burgermenu_b ---------- */
  .menu-wrap.burgermenu_b .mene_box .nav_box .ul {
    gap: 20px;
    padding: 0 30px;
  }
  .menu-wrap.burgermenu_b .mene_box .nav_box {
    padding: clamp(80px, 12vw, 150px) 30px clamp(80px, 12vw, 100px);
  }
  .menu-wrap.burgermenu_b .mene_box .nav_box .ul .li a p {
    font-size: 16px;
  }
  /* ---------- burgermenu_c ---------- */
  .menu-wrap.burgermenu_c .ul {
    gap: clamp(15px, 3vh, 30px) clamp(8px, 2vw, 15px);
    overflow: auto;
  }
  /* ---------- burgermenu_d ---------- */
  .menu-wrap.burgermenu_d .ul {
    gap: 30px 50px;
  }
  .menu-wrap.burgermenu_d .ul .menu_box {
    width: calc(100% / 2 - 50px / 2);
  }
  .menu-wrap.burgermenu_d .ul .menu_box a p {
    font-size: 16px;
  }
  /* ---------- burgermenu_e ---------- */
  .menu-wrap.burgermenu_e .mene_box {
    right: 0px;
  }
  /* ---------- pagelinks_a ---------- */
  .pagelinks_a {
    gap: 10px;
  }
  .pagelinks_a .jp {
    font-size: 14px;
  }
  /* ---------- pagelinks_b ---------- */
  .pagelinks_b {
    gap: 10px;
  }
  .pagelinks_b .jp {
    font-size: 14px;
  }
  .pagelinks_b .tab-wrap::after {
    right: -5px;
  }
  .pagelinks_b .tab-wrap::before {
    left: -5px;
  }
  .pagelinks_b .tab-wrap:nth-child(3n+1)::before {
    display: block;
  }
  .pagelinks_b .tab-wrap:nth-child(3n)::after {
    display: block;
  }
  /* ---------- menu_a ---------- */
  .menu_a .box_wrap .box-item {
    flex-direction: column;
  }
  .menu_a .box_wrap .box-item:nth-child(2) .topbox {
    flex-direction: column-reverse;
  }
  .menu_a .box_wrap .box-item .topbox {
    flex-direction: column-reverse;
  }
  .menu_a .box_wrap .box-item .txtbox {
    width: 100%;
  }
  .menu_a .box_wrap .box-item .imgbox {
    width: 70%;
  }
  .menu_a .box_wrap .box-item .topbox {
    gap: 100px;
  }
  .menu_a .box_wrap .box-item .imgbox::after {
    right: 0;
    top: 10%;
  }
  .menu_a .box_wrap .box-item .txtbox {
    width: 100%;
    align-items: center;
  }
  .menu_a .box_wrap .box-item:not(:last-child) {
    padding-bottom: 100px;
  }
  .menu_a .box_wrap .box-item:nth-child(2) .txtbox {
    padding-right: 0%;
  }
  .menu_a .titlebox img {
    width: 240px;
  }
  .menu_a .title::after {
    right: -50px;
    bottom: -20px;
    width: clamp(80px, 12vw, 220px);
  }
  /* ---------- worries_b ~ ---------- */
  .worries_b .worry-box {
    padding: 40px 60px;
  }
  .worries_b .titlebox::before {
    left: 0%;
  }
  .worries_b .titlebox::after {
    right: 0%;
  }
  .worries_b .titlebox {
    padding-inline: 90px;
  }
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px) {
  /* ---------- header_a ---------- */
  .menu-wrap_a > div .ul .li a p {
    font-size: 16px;
  }
  .menu-wrap_a > div .ul .li a p.en {
    font-size: 20px;
  }
  /* ---------- header_c ---------- */
  .page_links_c {
    top: 70px;
    gap: 30px;
    position: absolute;
  }
  .header_c {
    padding: 0 20px;
    height: 70px;
  }
  .header_c .logo {
    gap: 10px;
  }
  .header_c .header_c_right {
    gap: 15px
  }
  .header_c .header_c_right .menu-bt {
    width: 50px;
  }
  .menu-wrap_c .ul {
    gap: 30px;
  }
  .menu-wrap_c .ul .menu_box {
    width: calc(100% / 2 - 30px / 2);
  }
  /* ---------- header_d ---------- */
  .page_links {
    top: 70px;
    gap: 30px;
  }
  .header_d {
    padding: 0px;
    height: 70px;
  }
  .header_d .logo {
    gap: 10px;
  }
  .header_d3 .logo > a {
    width: calc(50% - 5px);
  }
  .header_d .header_d_right {
    gap: 15px
  }
  .header_d .header_d_right .menu-bt {
    width: 50px;
  }
  .menu-wrap_d .ul {
    gap: 30px;
  }
  .menu-wrap_d .ul .menu_box {
    width: calc(100% / 2 - 30px / 2);
  }
  /* ---------- header_e ---------- */
  .header-mobile_e .menu-bt {
    width: 60px;
    height: 60px;
  }
  .header_e .menu-bt .line {
    width: 30px;
    height: 24px;
  }
  /* ---------- header_f ---------- */
  .header_f .contact-link {
    display: none;
  }
  .header_f .category-container {
    flex-direction: column;
    gap: 1rem;
  }
  .header_f .category-icon {
    width: 60px;
    height: 60px;
    font-size: 2rem;
  }
  /* ---------- header_g ---------- */
  .header_g .page_links {
    top: 70px;
    gap: 30px;
  }
  .header_g {
    padding: 0px;
    height: 70px;
  }
  .header_g .logo {
    gap: 10px;
  }
  .header_g .header_right {
    gap: 15px
  }
  .header_g .header_right .menu-bt {
    width: 50px;
  }
  /* ---------- header_i ---------- */
  .header_i .page_links {
    top: 70px;
    gap: 30px;
  }
  .header_i {
    padding: 0px;
    height: 70px;
  }
  .header_i .logo {
    gap: 10px;
  }
  .header_i .header_right {
    gap: 15px
  }
  .header_i .header_right .menu-bt {
    width: 50px;
  }
  /* ---------- header_j ---------- */
  .header_j .logo img {
    height: 70px;
  }
  .header_j .head_nav .menu-bt {
    width: 90px;
  }
  /* ---------- footer_c ---------- */
  .footer_c .topbox .ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: flex-start;
  }
  .footer_c .topbox .ul .li {
    flex: 0 0 calc((100% - 30px) / 2);
    box-sizing: border-box;
  }
  /* ---------- footer_h ---------- */
  .footer_h {
    padding-top: 0;
  }
  /* ---------- contact_b ---------- */
  .contact_b .txtbox {
    width: 55%;
  }
  /* ---------- contact_g ---------- */
  .contact_g .topbox {
    flex-direction: column;
    gap: 20px;
  }
  /* ---------- contact_h ---------- */
  .contact_h .topbox .rightbox .contact-box {
    flex-direction: column;
  }
  .contact_h .topbox .rightbox .contact-box .txtbox::after {
    display: none;
  }
  .contact_h .topbox .rightbox .contact-box .txtbox {
    width: 100%;
    padding-bottom: 20px;
  }
  .contact_h .topbox .rightbox .contact-box .more_wrap {
    width: 100%;
  }
  .contact_h .topbox .rightbox {
    padding: 20px 30px;
  }
  .contact_h .topbox .rightbox .contact-box .bird-icon {
    top: -35px;
    right: -5px;
    width: 12%;
  }
  /* ---------- contact_i ---------- */
  .contact_i .inquiry-section {
    padding: 36px 14px;
  }
  .contact_i .inquiry-col {
    grid-template-columns: 160px 1fr;
    align-items: start;
    gap: 16px;
  }
  .contact_i .inquiry-media {
    width: 160px;
    height: 130px;
  }
  .contact_i .pill {
    font-size: 11px;
    padding: 5px 10px;
  }
  .contact_i .tel-row {
    gap: 10px;
    margin-top: 10px;
  }
  .contact_i .tel-number {
    font-size: clamp(22px, 6vw, 32px);
  }
  .contact_i .tel-hours {
    font-size: 12px;
  }
  .contact_i .mail-cta {
    gap: 12px;
  }
  .contact_i .mail-copy {
    font-size: clamp(15px, 3.8vw, 18px);
    line-height: 1.7;
  }
  .contact_i .mail-button .circle {
    width: 32px;
    height: 32px;
  }
  .contact_i .inquiry-title p {
    font-size: clamp(15px, 4.6vw, 18px);
    margin-bottom: 20px;
  }
  .contact_i .inquiry-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .contact_i .inquiry-col {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .contact_i .inquiry-media {
    width: 100%;
    height: clamp(160px, 48vw, 220px);
  }
  .contact_i .mail-cta {
    grid-template-columns: 1fr auto; /* テキスト左、丸ボタン右 */
    align-items: center;
    gap: 12px;
  }
  .contact_i .mail-copy p {
    margin: 0;
  }
  .contact_i .tel-row {
    gap: 8px;
  }
  .contact_i .tel-label {
    font-size: 13px;
  }
  .contact_i .tel-hours {
    font-size: 12px;
  }
  .contact_i .mail-button .circle {
    width: 30px;
    height: 30px;
  }
  /* ---------- submenu_b ---------- */
  .submenu_b .box {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  .submenu_b .box .titlebox .line {
    width: 75%;
  }
  .submenu_b .box .titlebox p {
    width: 35%;
    color: #fff;
  }
  /* ---------- submenu_c ---------- */
  .submenu_c .more a, .submenu_c .more > div {
    padding: 15px 40px 15px 30px;
    min-width: 220px;
  }
  /* ---------- submenu_d ---------- */
  .submenu_d .box {
    flex: 0 1 100%;
  }
  /* ---------- submenu_e ---------- */
  .submenu_e .box .txtbox {
    bottom: 20px;
  }
  .submenu_e .box .label {
    top: 10px;
    right: 20px;
    padding: 10px 2px;
  }
  /* ---------- submenu_f ---------- */
  .submenu_f .box {
    flex: 0 1 100%;
  }
  .submenu_f {
    gap: 50px;
  }
  /* ---------- submenu_i ---------- */
  .submenu_i .leftbox {
    width: 100%;
  }
  /* ---------- onlineshop_a ---------- */
  .onlineshop_a .imgbox {
    width: 30vw;
  }
  .onlineshop_a .txtbox {
    width: 40vw;
    padding: 50px 10px;
  }
  /* ---------- onlineshop_b ---------- */
  .onlineshop_b {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 40px;
  }
  .onlineshop_b .imgbox {
    order: 1;
    width: 100%;
    min-height: clamp(150px, 25vw, 230px);
    margin: 0 auto;
  }
  .onlineshop_b .imgbox .item {
    width: clamp(100px, 30vw, 230px);
  }
  .onlineshop_b .imgbox .item1 {
    bottom: 0;
    top: -80px;
    left: 10px;
  }
  .onlineshop_b .imgbox .item2 {
    bottom: 0;
    top: -80px;
    right: 10px;
  }
  .onlineshop_b .txtbox h2 {
    font-size: 60px;
  }
  .onlineshop_b .txtbox {
    width: 100%;
  }
  /* ---------- onlineshop_d ---------- */
  .onlineshop_d a .box {
    padding: 20px 30px;
  }
  /* ---------- onlineshop_e ---------- */
  .onlineshop_e a .box {
    width: 70%;
    padding-right: 20px;
  }
  .onlineshop_e a .box .en {
    font-size: 16px;
    padding-left: 30px;
  }
  .onlineshop_e a .box h2 {
    font-size: 20px;
    padding-left: 30px;
  }
  .onlineshop_e a {
    border-top-right-radius: 50px;
    border-bottom-left-radius: 50px;
  }
  /* ---------- onlineshop_f ---------- */
  .onlineshop_f a .box .en {
    font-size: 40px;
  }
  .onlineshop_f .more i {
    font-size: 18px;
  }
  .onlineshop_f .more p {
    font-size: 18px;
  }
  .onlineshop_f .more {
    width: 100px;
    height: 100px;
  }
  /* ---------- onlineshop_h ---------- */
  .onlineshop_h a > img {
    height: 250px;
  }
  /* ---------- sns_a ~ ---------- */
  .sns_a .box_wrap .box-item {
    width: calc((100% - 12px) / 3);
  }
  /* ---------- sns_b ---------- */
  .sns_b .box_wrap .box-item {
    width: 100%;
  }
  .sns_b .titlebox img {
    width: 30px;
  }
  .sns_b .titlebox p {
    font-size: 36px;
  }
  /* ---------- sns_c ---------- */
  .sns_c .box_wrap .box-item {
    width: calc((100% - 60px) / 2);
  }
  /* ---------- pagetitle_g ---------- */
  .pagetitle_g .bg_img_wrap2 .txtbox .entitle {
    font-size: 50px;
  }
  /* ---------- pagetitle_i ---------- */
  .pagetitle_i {
    position: relative;
    flex-direction: column;
    background-image: url("../img/pagetitleimg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 50px 50px;
  }
  .pagetitle_i::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1;
  }
  .pagetitle_i .rightbox {
    display: none;
  }
  .pagetitle_i .leftbox {
    width: 100%;
    position: relative;
    z-index: 2;
  }
  .pagetitle_i .leftbox h1, .pagetitle_i .leftbox p {
    color: #fff;
  }
  .pagetitle_i .leftbox h1 {
    font-size: 22px;
  }
  .pagetitle_i .title1 {
    color: rgba(255, 255, 255, 0.25);
    opacity: 1;
    z-index: 2;
    font-size: 50px;
  }
  /* ---------- news_a ---------- */
  .news_a .news_list .webgene-blog .webgene-item .imgbox {
    width: 150px;
    height: 110px;
  }
  .news_a .news_list .webgene-blog .webgene-item .txtbox {
    width: calc(100% - 150px);
    padding-left: 15px;
  }
  /* ---------- news_b ---------- */
  .news_b.news_list .contents .webgene-blog {
    gap: 60px 50px;
  }
  .news_b.news_list .contents .webgene-blog .webgene-item {
    width: calc(100% / 2 - 50px / 2);
  }
  /* ---------- news_d ---------- */
  .news_d .contents .webgene-blog .webgene-item {
    width: 100%;
  }
  .news_d .contents .webgene-blog {
    gap: 30px;
  }
  /* ---------- topmessage_a ---------- */
  .topmessage_a .messagebox {
    flex-direction: column;
  }
  .topmessage_a .messagebox {
    gap: 20px;
  }
  .topmessage_a .txtbox {
    width: 100%;
  }
  .topmessage_a .imgbox {}
  .topmessage_a .imgbox img {
    object-position: top;
  }
  /* ---------- topmessage_b ---------- */
  .topmessage_b .messagebox_wrap .boxitem {
    flex-direction: column;
  }
  .topmessage_b .messagebox_wrap .boxitem .imgbox {
    width: 80%;
  }
  .topmessage_b .messagebox_wrap .boxitem .txtbox {
    width: 100%;
  }
  /* ---------- contact-form_a ---------- */
  .contact-form_a .form-box .box-wrap .box h3 {
    width: 100%;
    margin-bottom: 10px;
  }
  .contact-form_a .form-box .box-wrap .box .inputbox {
    width: 100%;
    padding-left: 0;
  }
  .contact-form_a .form-box .box-wrap .box.required-box h3 {
    padding-right: 0;
    padding-left: 0px;
  }
  .contact-form_a .form-box .box-wrap .box.required-box h3::after {
    position: static;
    display: inline-block;
    margin-left: 20px;
    font-size: 13px;
    transform: translateY(-2px);
  }
  .contact-form_a .form-box .box-wrap .box .inputbox .check-wrap {
    padding-top: 10px;
    gap: 20px;
  }
  .contact-form_a .form-box .box-wrap .box .inputbox .check-wrap1 .check-box {
    box-sizing: border-box;
  }
  .contact-form_a .send, .contact-form_a .check-area {
    margin-left: 0px;
  }
  .privacypolicy {
    padding: 100px 50px;
  }
  .privacypolicy .box-wrap {
    padding-left: 30px;
    padding-top: 50px;
  }
  .privacypolicy .box-wrap .box h3 {
    font-size: 18px;
  }
  .privacypolicy p {
    font-size: 14px;
  }
  .privacypolicy .close-bt {
    top: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
  }
  .privacypolicy .close-bt::before, .privacypolicy .close-bt::after {
    width: 36px;
    height: 2px;
  }
  /* ---------- burgermenu_a ---------- */
  .menu-wrap.burgermenu_a > div {
    align-items: stretch;
  }
  .menu-wrap.burgermenu_a .bottom-box .bottom-bt {
    flex: 1 1 100%;
    width: 100%;
  }
  .menu-wrap.burgermenu_a .bottom-box .bottom-bt a {
    width: 100%;
    box-sizing: border-box;
    padding: 18px 56px;
  }
  .menu-wrap.burgermenu_a .bottom-box .arrow_icon {
    right: 16px;
  }
  /* ---------- burgermenu_d ~ ---------- */
  .menu-wrap.burgermenu_d .ul {
    gap: 30px;
  }
  .menu-wrap.burgermenu_d .ul .menu_box {
    width: calc(100% / 2 - 30px / 2);
  }
  /* ---------- pagelinks_b ---------- */
  .pagelinks_b .tab-wrap:nth-child(2n+1)::before {
    display: block;
  }
  .pagelinks_b .tab-wrap:nth-child(3)::after {
    display: none;
  }
  /* ---------- pagelinks_c ---------- */
  .pagelinks_c {
    gap: 30px 50px;
  }
  .pagelinks_c a > .flex {
    gap: 15px;
  }
  .pagelinks_c a > .flex .more-icon {
    width: 36px;
  }
  .pagelinks_c a > .flex .more-icon i {
    font-size: 14px;
  }
  /* ---------- pagelinks_d ---------- */
  .pagelinks_d {
    gap: 50px;
  }
  .pagelinks_d a > .flex {
    gap: 15px;
  }
  /* ---------- pagelinks_e ---------- */
  .pagelinks_e a > .flex {
    gap: 15px;
  }
  /* ---------- menu_a ---------- */
  .menu_a .box_wrap .box-item .topbox {
    gap: 60px;
  }
  .menu_a .box_wrap .box-item .txtbox {
    gap: 30px;
  }
  .menu_a .box_wrap .box-item:not(:last-child) {
    padding-bottom: 80px;
  }
  .menu_a .titlebox img {
    width: 200px;
  }
  /* ---------- worries_b ~ ---------- */
  .worries_b .titlebox::before, .worries_b .titlebox::after {
    width: 100px;
    height: 100px;
    top: 100px;
  }
  .worries_b .titlebox {
    padding-inline: 0px;
    width: 100%;
    margin-bottom: 30px;
  }
  .worries_b .worry-box {
    gap: 10px;
    padding: 40px 30px;
  }
  .worries_b .worry-box .worry-item img {
    padding-top: 5px;
  }
}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px) {
  /* ---------- header_a ---------- */
  .header_a {
    padding: 15px 20px;
  }
  .header_a .menu-bt {
    width: 50px;
  }
  .header_a .menu-bt .line {
    width: 20px;
    height: 16px;
  }
  .menu-wrap_a > div {
    padding: 100px 20px 60px;
  }
  .menu-wrap_a > div .ul {
    padding: 0;
    gap: 40px 20px;
  }
  .menu-wrap_a > div .ul .li a p {
    font-size: 13px;
  }
  .menu-wrap_a > div .ul .li a p.en {
    font-size: 16px;
  }
  /* ---------- header_c ---------- */
  .page_links_c {
    top: 60px;
    gap: 30px;
  }
  .header_c {
    height: 60px;
    padding: 0 10px;
  }
  .header_c .logo {
    max-width: 66%;
  }
  .header_c .online_bt_link a {
    padding: 0;
    gap: 0;
    aspect-ratio: 1 / 1;
    width: 40px;
    border-radius: 50%;
  }
  .header_c .online_bt_link p {
    display: none;
  }
  .header_c .online_bt_link img {
    width: 22px;
  }
  .header_c .header_c_right {
    gap: 10px;
  }
  .header_c .header_c_right .menu-bt {
    width: 40px;
  }
  .header_c .header_c_right .menu-bt .line {
    width: 24px;
    height: 19px;
  }
  .header_c .header_c_right .menu-bt .line div {
    height: 2px;
  }
  .menu-wrap_c > div {
    padding: 0px 0 50px;
  }
  .menu-wrap_c .ul {
    gap: 0 10px;
  }
  .menu-wrap_c .ul .menu_box {
    width: calc(50% - 5px);
  }
  .menu-wrap_c .ul .menu_box a {
    padding: 20px 0;
  }
  .menu-wrap_c .ul .menu_box a p.en {
    font-size: 16px;
  }
  .menu-wrap_c .ul .menu_box a p.jp {
    font-size: 13px;
  }
  /* ---------- header_d ---------- */
  .header_d .menu-bt {
    width: 45px;
    border: 2px solid #000;
  }
  .header_d .menu-bt .line {
    width: 20px;
    height: 16px;
  }
  .header_d .menu-bt .line > div {
    height: 2px;
  }
  /* ---------- header_e ---------- */
  .header-mobile_e .logo-box img {
    height: 50px;
  }
  .header-mobile_e .menu-bt {
    width: 50px;
    height: 50px;
  }
  .header_e .menu-bt .line {
    width: 22px;
    height: 20px;
  }
  /* ---------- header_f ---------- */
  .header_f .category-icon {
    width: 50px;
    height: 50px;
    font-size: 1.5rem;
  }
  /* ---------- header_g ---------- */
  .header_g .menu-bt {
    width: 45px;
    border: 2px solid #000;
  }
  .header_g .menu-bt .line {
    width: 20px;
    height: 16px;
  }
  .header_g .menu-bt .line > div {
    height: 2px;
  }
  /* ---------- header_i ---------- */
  .header_i .menu-bt {
    width: 45px;
    border: 2px solid #000;
  }
  .header_i .menu-bt .line {
    width: 20px;
    height: 16px;
  }
  .header_i .menu-bt .line > div {
    height: 2px;
  }
  /* ---------- header_j ---------- */
  .header_j .logo {
    padding-left: 20px;
  }
  .header_j .logo img {
    height: 40px;
  }
  .header_j .menu-bt {
    width: 60px;
  }
  .header_j .menu-bt .line {
    width: 26px;
    height: 20px;
  }
  .header_j .menu-bt p {
    font-size: 12px;
  }
  /* ---------- header_k ---------- */
  .header_k_sp {
    width: 100%;
    height: 50px;
    padding: 0px 15px;
    flex-direction: row;
    justify-content: space-between;
  }
  .header_k_sp .head_menu .ul {
    flex-direction: row;
    gap: 40px;
  }
  .header_k_sp .menu-bt {
    margin-bottom: 0;
  }
  .header_k_sp .logo {
    width: 30%;
    max-width: 160px;
  }
  /* ---------- contact_b ---------- */
  .contact_b {
    position: relative;
  }
  .contact_b::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1; /* 擬似要素を前面に */
  }
  .contact_b .txtbox {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 0px 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .contact_b .more a, .contact_b .more > div {
    gap: 10px;
    padding: 8px 20px;
  }
  .contact_b .more a > div, .contact_b .more > div > div {
    gap: 10px;
  }
  .contact_b .more a > div p, .contact_b .more > div > div p {
    font-size: 14px;
    padding-left: 10px;
  }
  .contact_b .more a > div i, .contact_b .more > div > div i {
    font-size: 14px;
  }
  /* ---------- contact_h  ---------- */
  .contact_h .topbox .rightbox {
    border-radius: 20px;
  }
  .contact_h .topbox .rightbox .contact-box .bird-icon {
    top: -32px;
    right: -5px;
    width: 16%;
  }
  /* ---------- contact_j  ---------- */
  .contact_j .ca-divider {
    display: none;
  }
  /* ---------- submenu_a  ---------- */
  .submenu_a > .flex {
    justify-content: center;
    gap: 30px 20px;
  }
  .submenu_a > .flex a img {
    width: 34px;
  }
  /* ---------- submenu_c  ---------- */
  .submenu_c > a {
    position: relative;
    width: 100%;
    aspect-ratio: 1.5 / 1;
  }
  .submenu_c .more a, .submenu_c .more > div {
    min-width: 180px;
    padding: 10px 40px 10px 30px;
  }
  .submenu_c .more a::after, .submenu_c .more > div::after {
    width: 6px;
    height: 10px;
  }
  .submenu_c .more a p, .submenu_c .more > div p {
    font-size: 14px;
  }
  /* ---------- submenu_f ---------- */
  .submenu_f .box .titlebox .num {
    font-size: 27px;
  }
  .submenu_f {
    gap: 30px;
  }
  /* ---------- submenu_h ---------- */
  .submenu_h .box {
    aspect-ratio: 2 / 1;
    width: 100%;
  }
  /* ---------- submenu_i ---------- */
  .submenu_i .rightbox .box-item {
    flex-direction: column;
    width: 100%;
    gap: 0;
  }
  .submenu_i .rightbox .box-item .imgbox, .submenu_i .rightbox .box-item .txtbox {
    width: 100%;
  }
  .submenu_i {
    gap: 30px;
  }
  .submenu_i .rightbox {
    gap: 30px;
  }
  .submenu_i .leftbox .imgbox img, .submenu_i .rightbox .imgbox img {
    border-radius: 20px;
  }
  /* ---------- submenu_i ---------- */
  .submenu_j .box_wrap {
    flex-direction: column;
    gap: 20px;
  }
  .submenu_j .box_wrap .box-item {
    width: 100%;
    position: relative;
    overflow: hidden;
  }
  .submenu_j .box_wrap .box-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.75);
    z-index: 1;
  }
  .submenu_j .box_wrap .box-item > img {
    aspect-ratio: 3 / 2;
  }
  .submenu_j .box_wrap .box-item .txtbox {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 20px;
    background: transparent;
    align-items: flex-start;
    justify-content: center;
    z-index: 2;
    gap: 10px;
  }
  /* ---------- onlineshop_a  ---------- */
  .onlineshop_a {
    flex-wrap: wrap;
  }
  .onlineshop_a .imgbox {
    width: 100%;
    height: 120px;
  }
  .onlineshop_a .txtbox {
    width: 100%;
    padding: 40px 10px;
  }
  /* ---------- onlineshop_b  ---------- */
  .onlineshop_b .txtbox h2 {
    font-size: 40px;
  }
  .onlineshop_b .txtbox .subtitle {
    font-size: 14px;
  }
  .onlineshop_b .more p {
    font-size: 18px;
  }
  .onlineshop_b .imgbox {
    order: 1;
    width: 100%;
    min-height: clamp(80px, 25vw, 230px);
    margin: 0 auto;
  }
  .onlineshop_b .imgbox .item1 {
    bottom: 0;
    top: -30px;
    left: 0px;
  }
  .onlineshop_b .imgbox .item2 {
    bottom: 0;
    top: -30px;
    right: 0px;
  }
  .onlineshop_b .txtbox .text {
    margin-bottom: 20px;
  }
  /* ---------- onlineshop_c ---------- */
  .onlineshop_c .bg-green .imgbox {
    width: 90%;
  }
  .onlineshop_c .bg-green {
    gap: 30px;
    padding: 20px 30px;
  }
  .onlineshop_c .more a img {
    width: 24px;
  }
  .onlineshop_c .more a .icon {
    width: 20px;
  }
  /* ---------- onlineshop_f ---------- */
  .onlineshop_f a .box .en {
    font-size: 30px;
  }
  .onlineshop_f .more i {
    font-size: 16px;
  }
  .onlineshop_f .more p {
    font-size: 16px;
  }
  .onlineshop_f .more {
    width: 80px;
    height: 80px;
  }
  /* ---------- onlineshop_f ---------- */
  .onlineshop_g a .box {
    max-width: 90vw;
  }
  /* ---------- sns_a ~ ---------- */
  .sns_a .box_wrap .box-item {
    width: calc((100% - 6px) / 2);
  }
  /* ---------- sns_c ---------- */
  .sns_c .box_wrap .box-item {
    width: calc((100% - 30px) / 1);
  }
  /* ---------- pagetitle_a ---------- */
  .pagetitle_a .pagetitle-content {
    width: min(80%, 780px);
  }
  /* ---------- pagetitle_g ---------- */
  .pagetitle_g .bg_img_wrap2 {
    height: 250px;
  }
  /* ---------- pagetitle_h ---------- */
  .pagetitle_h .bg_img_wrap2 {
    height: 250px;
  }
  /* ---------- pagetitle_i ---------- */
  .pagetitle_i .title1 {
    font-size: 30px;
  }
  .pagetitle_i {
    padding: 30px 20px;
  }
  .pagetitle_i .leftbox .txtbox2 {
    padding-top: 20px;
  }
  /* ---------- pagetitle_j ---------- */
  .pagetitle_j .bg_img_wrap2 {
    height: 250px;
  }
  /* ---------- pagetitle_k ---------- */
  .pagetitle_k .bg_img_wrap2 {
    height: 250px;
  }
  /* ---------- pagetitle_l ---------- */
  .pagetitle_l .bg_img_wrap2 {
    height: 250px;
    border-radius: 150px;
  }
  /* ---------- newstop_b ---------- */
  .newstop_b .webgene-blog .webgene-item a .item {
    flex-direction: column;
  }
  .newstop_b .webgene-blog .webgene-item a .item .label, .newstop_b .webgene-blog .webgene-item a .item h3 {
    width: 100%;
    justify-content: flex-start;
  }
  .newstop_b .webgene-blog .webgene-item a .item .catelabel {
    font-size: 12px;
  }
  .newstop_b .webgene-blog .webgene-item a .cate_txt {
    width: 64px;
    padding: 2px 5px;
  }
  .newstop_b .webgene-blog .webgene-item a > .flex {
    gap: 10px;
  }
  .newstop_b .webgene-blog .webgene-item {
    padding-bottom: 0px;
    margin-bottom: 10px;
  }
  /* ---------- newstop_c ---------- */
  .newstop_c .newslist .webgene-blog {
    flex-direction: column;
    gap: 40px 0px;
  }
  .newstop_c .newslist .webgene-blog .webgene-item {
    width: 100%;
    max-width: 350px;
  }
  /* ---------- newstop_d ---------- */
  .newstop_d .webgene-blog {
    gap: 50px;
    justify-content: center;
  }
  .newstop_d .webgene-blog .webgene-item {
    width: 90%;
  }
  .newstop_d .webgene-blog .webgene-item:not(:nth-child(2n))::after {
    content: none;
  }
  /* ---------- news_a ---------- */
  .news_a .webgene-pagination {
    padding-top: 50px;
  }
  .news_a .webgene-pagination ul {
    gap: 20px;
  }
  .news_a .webgene-pagination ul a {
    width: 36px;
    font-size: 18px;
  }
  .news_a .cate-wrap .webgene-blog .webgene-item a {
    padding: 3px 12px;
  }
  .news_a .cate-wrap .webgene-blog {
    gap: 10px;
  }
  .news_a .cate-wrap .webgene-blog .webgene-item {
    min-width: calc(100% / 3 - 20px / 3);
  }
  .news_a .news_list .webgene-blog .webgene-item .imgbox {
    width: 100px;
    height: 100px;
  }
  .news_a .news_list .webgene-blog .webgene-item .txtbox {
    width: calc(100% - 100px);
    padding-left: 10px;
  }
  .news_a .news_list .webgene-blog .webgene-item .cate_txt {
    padding: 3px 12px;
  }
  /* ---------- news_b ---------- */
  .news_b .webgene-pagination {
    padding-top: 0;
  }
  .news_b .webgene-pagination ul {
    gap: 20px;
  }
  .news_b .webgene-pagination ul a {
    width: 36px;
    font-size: 18px;
  }
  .news_b .cate-wrap .webgene-blog .webgene-item a {
    padding: 3px 12px;
  }
  .news_b.news_list .contents .webgene-blog {
    width: 90%;
    margin: 0 auto;
    gap: 40px;
  }
  .news_b.news_list .contents .webgene-blog .webgene-item {
    width: 100%;
  }
  /* ---------- news_d ---------- */
  .news_d {
    flex-direction: column;
  }
  .news_d .cate-wrap {
    width: 100%;
    position: relative;
    top: 80px;
    align-self: flex-start;
  }
  .news_d .cate-wrap .titlebox {
    margin-bottom: 10px;
    padding-bottom: 5px;
  }
  .news_d .cate-wrap .webgene-blog {
    gap: 10px;
  }
  .news_d .contents .webgene-blog {
    gap: 20px;
  }
  /* ---------- newspage_a ---------- */
  .newspage_a .news_detail .webgene-blog .webgene-item .border-so5-b {
    border-width: 3px;
    padding-bottom: 15px
  }
  /* ---------- newspage_b ---------- */
  .newspage_b .webgene-blog .webgene-item .cate-txt {
    padding: 3px 10px;
  }
  /* ---------- topmessage_a ---------- */
  .topmessage_a .messagebox_wrap {
    background: linear-gradient(to bottom, transparent 30%, #D0DEDB 20%, #D0DEDB 85%, transparent 80%);
  }
  /* ---------- topmessage_b ---------- */
  .topmessage_b .messagebox_wrap .boxitem .imgbox {
    width: 90%;
  }
  /* ---------- company_a ---------- */
  .company_a .company-wrap .item > div {
    width: 70%;
    padding-left: 30px;
  }
  .company_a .company-wrap .item h3 {
    width: 30%;
  }
  /* ---------- company_b ---------- */
  .company_b .company-wrap::before {
    display: none;
  }
  .company_b .company-wrap .item {
    display: block;
    padding: 14px 0;
  }
  .company_b .company-wrap .item .label {
    flex: none;
    padding-right: 0;
    margin-bottom: 6px;
  }
  .company_b .company-wrap .item > div {
    padding-left: 0;
  }
  /* ---------- company_c ---------- */
  .company_c .companywrap .boxwrap .box {
    padding-bottom: 20px;
  }
  .company_c .companywrap .boxwrap .box > div {
    padding: 7px 0;
  }
  .company_c .companywrap .boxwrap .box .title {
    width: 100%;
  }
  .company_c .companywrap .boxwrap .box .txtbox {
    width: 100%;
    padding-left: 0px;
  }
  /* ---------- access_a ---------- */
  .access_a .company-info-wrap {
    width: 90%;
  }
  .access_a .history-item::before {
    width: 10px;
    height: 10px;
    left: -2.25em;
  }
  /* ---------- history_a ---------- */
  .history_a .company-info-wrap {
    width: 90%;
  }
  .history_a .history-item::before {
    width: 10px;
    height: 10px;
    left: -2.25em;
  }
  .history_a .history-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  /* ---------- faq_a ---------- */
  .faq_a .box .qbox .icon {
    width: 15px;
    height: 15px;
  }
  /* ---------- faq_b ---------- */
  .faq_b .box .qbox .icon {
    width: 15px;
    height: 15px;
  }
  /* ---------- faq_c ---------- */
  .faq_c .box .qbox .icon {
    width: 15px;
    height: 15px;
  }
  .faq_c .box .qbox p {
    width: 20px;
  }
  .faq_c .box .qbox h3 {
    flex: 1;
  }
  /* ---------- contact-form_a ---------- */
  .contact-form_a .form-box .box-wrap .box .inputbox > input, .contact-form_a .form-box .box-wrap .box .inputbox textarea {
    font-size: 14px;
  }
  .contact-form_a .form-box .box-wrap .box .inputbox {
    padding-left: 0;
  }
  .contact-form_a .form-box .box-wrap .box .inputbox.date-box {
    gap: 10px
  }
  .contact-form_a .form-box .box-wrap .box .inputbox.date-box input {
    width: auto;
    max-width: 70px;
  }
  .contact-form_a .form-box .box-wrap .box .inputbox .check-wrap {
    padding-top: 20px;
    gap: 20px;
  }
  .contact-form_a .form-box .box-wrap .box .inputbox .check-wrap1 .check-box {
    width: 100%;
    box-sizing: border-box;
  }
  .contact-form_a .form-box .box-wrap .box.required-box h3::after {
    font-size: 12px;
    padding: 2px 10px;
  }
  .contact-form_a .form-box .box-wrap .box h3 {
    padding-left: 0px;
  }
  .privacypolicy {
    padding: 80px 20px;
  }
  .privacypolicy .box-wrap .box:not(:last-of-type) {
    margin-bottom: 50px;
  }
  .privacypolicy .box-wrap {
    padding-top: 30px;
    padding-left: 0;
  }
  .contact-form_a .send-bt p {
    font-size: 18px !important;
  }
  /* ---------- burgermenu_a ~ ---------- */
  .menu-wrap.burgermenu_a > div {
    padding: 100px 20px 60px;
  }
  .menu-wrap.burgermenu_a > div .ul {
    padding: 0;
    gap: 40px 20px;
  }
  .menu-wrap.burgermenu_a > div .ul .li a {
    padding: 6px 10px;
    gap: 10px;
  }
  .menu-wrap.burgermenu_a > div .ul .li a p {
    font-size: 12px;
    padding-left: 10px;
  }
  /* ---------- burgermenu_b ~ ---------- */
  .menu-wrap.burgermenu_b .mene_box .nav_box {
    padding: 80px 20px 60px;
  }
  .menu-wrap.burgermenu_b .mene_box .nav_box .ul {
    padding: 0;
    gap: 40px 20px;
  }
  .menu-wrap.burgermenu_b .mene_box .nav_box .ul .li a {
    padding: 6px 10px;
    gap: 10px;
  }
  .menu-wrap.burgermenu_b .mene_box .nav_box .ul .li a p {
    font-size: 12px;
    padding-left: 10px;
  }
  /* ---------- burgermenu_c ~ ---------- */
  .menu-wrap.burgermenu_c .ul {
    width: 100%;
  }
  .menu-wrap.burgermenu_c .menu-divider {
    display: none;
  }
  .menu-wrap.burgermenu_c .menu-side {
    display: none;
  }
  /* ---------- burgermenu_d ~ ---------- */
  .menu-wrap.burgermenu_d > div {
    padding: 120px 0 50px;
  }
  .menu-wrap.burgermenu_d .ul {
    gap: 0 10px;
  }
  .menu-wrap.burgermenu_d .ul .menu_box {
    width: calc(50% - 5px);
  }
  .menu-wrap.burgermenu_d .ul .menu_box a {
    padding: 20px 0;
  }
  .menu-wrap.burgermenu_d .ul .menu_box a p.en {
    font-size: 16px;
  }
  .menu-wrap.burgermenu_d .ul .menu_box a p.jp {
    font-size: 13px;
  }
  /* ---------- burgermenu_e ~ ---------- */
  .menu-wrap.burgermenu_e .mene_box {
    background: #053283;
  }
  .menu-wrap.burgermenu_e .mene_box .nav_box {
    padding: 100px 20px clamp(80px, 12vw, 100px);
  }
  .menu-wrap.burgermenu_e .mene_box .nav_box .ul .li a {
    gap: 10px;
  }
  .menu-wrap.burgermenu_e .mene_box a .icon {
    width: 25px;
  }
  .menu-wrap.burgermenu_e .mene_box a .icon i {
    font-size: 12px;
    color: #fff;
    transition: transform 0.3s ease;
  }
  /* ---------- pagelinks_b ---------- */
  .pagelinks_b .tab-wrap:nth-child(1n+1)::before {
    display: block;
  }
  .pagelinks_b .tab-wrap:nth-child(3)::after {
    display: block;
  }
  /* ---------- pagelinks_c ---------- */
  .pagelinks_c {
    gap: 30px;
  }
  .pagelinks_c a > .flex {
    gap: 10px;
  }
  .pagelinks_c a > .flex .more-icon {
    width: 30px;
  }
  .pagelinks_c a > .flex .more-icon i {
    font-size: 10px;
  }
  .pagelinks_c a p {
    font-size: 16px;
  }
  /* ---------- pagelinks_d ---------- */
  .pagelinks_d {
    gap: 30px;
  }
  .pagelinks_d a > .flex {
    gap: 10px;
  }
  .pagelinks_d a > .flex .more-icon {
    width: 18px;
  }
  .pagelinks_d a > .flex .more-icon i {
    font-size: 8px;
  }
  .pagelinks_d a p {
    font-size: 16px;
  }
  /* ---------- pagelinks_e ---------- */
  .pagelinks_e {
    gap: 30px;
  }
  .pagelinks_e a > .flex {
    gap: 10px;
  }
  .pagelinks_e a p {
    font-size: 16px;
  }
  /* ---------- menu_a ---------- */
  .menu_a .titlebox img {
    width: 160px;
  }
  .menu_a .box_wrap .box-item .topbox {
    gap: 40px;
  }
  .menu_a .box_wrap .box-item:not(:last-child) {
    padding-bottom: 50px;
  }
  .menu_a .box_wrap .box-item .imgbox {
    width: 100%;
  }
  .menu_a .box_wrap .box-item .txtbox .txt-item {
    padding: 30px 30px;
  }
  /* ---------- worries_b ~ ---------- */
  .worries_b .worry-box {
    gap: 10px;
    padding: 30px 20px;
  }
  .worries_b .titlebox::before, .worries_b .titlebox::after {
    width: 75px;
    height: 75px;
    top: 85px;
  }
  .worries_b .worry-box .worry-item {
    align-items: flex-start;
  }
  .worries_b .worry-box .worry-item img {
    max-width: 15px;
    padding-top: 5px;
    margin-right: 8px;
    align-items: center;
  }
  .worries_b .worry-box .worry-item p {
    flex: 0 0 90%;
    line-height: 1.5;
  }
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px) {}
/* ---------- 追加分 ---------- */
/* ---------- topmessage_c ---------- */
.topmessage_c {
  padding: 60px 0 80px;
  max-width: 100%;
}
.topmessage_c .boxitem {
  gap: 50px;
}
.topmessage_c .boxitem .imgbox {
  width: calc(50% - 25px);
  max-width: 400px;
}
.topmessage_c .boxitem .txtbox {
  width: calc(50% - 25px);
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}
.topmessage_c .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.topmessage_c .line {
  position: absolute;
  right: 0;
  left: 0;
  top: 28%;
  width: 100vw;
  padding: 18px 30px;
  background: #111;
  box-sizing: border-box;
  z-index: -2;
}
.topmessage_c .signature {
  position: relative;
  left: clamp(80px, 12vw, 170px);
  display: flex;
  align-items: flex-start;
  gap: 18px;
  color: #fff;
  font-size: 0.95rem;
}
.topmessage_c .signature .position {
  margin: 0;
  font-weight: 400;
}
.topmessage_c .signature .name {
  margin: 0;
  letter-spacing: .12em;
}
@media screen and (max-width: 1080px) {
  .topmessage_c .boxitem {
    flex-direction: column;
  }
  .topmessage_c .boxitem .imgbox {
    width: 80%;
  }
  .topmessage_c .line {
    position: relative;
  }
  .topmessage_c .signature {
    padding-left: 0;
  }
  .topmessage_c .boxitem .txtbox {
    gap: 20px;
    width: 100%;
    align-items: center;
    overflow: hidden;
  }
  .topmessage_c .text {
    width: 80%;
  }
}
@media screen and (max-width: 576px) {
  .topmessage_c .boxitem .imgbox {
    width: 90%;
  }
  .topmessage_c .text {
    width: 90%;
    margin-top: 10px;
  }
}
/* ---------- column2_a ---------- */
.column2_a1 {
  padding: 60px 0;
}
.column2_a1 .inner {
  max-width: 1280px;
  margin: 0 20px;
  padding: 0 20px;
}
.column2_a1 .row1 {
  background: #fff;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
  position: relative;
  align-items: stretch;
}
/* テキストエリア */
.column2_a1 .txtbox {
  padding: 60px 0px 60px 50px;
  flex: 1 1 60%;
  box-sizing: border-box;
  position: relative;
}
.column2_a1 .step {
  line-height: 1;
  margin: 0 0 30px;
  position: absolute;
  top: -30px;
  left: 20px;
}
.column2_a1 .title {
  font-size: 24px;
  font-weight: 500;
  margin: 0 0 20px;
}
.column2_a1 .title span {
  color: #00a4a7; /* 強調文字の色 */
  font-weight: 600;
}
.column2_a1 .imgbox {
  flex: 0 0 40%;
  position: relative;
  transform: translateX(30px) translateY(-30px);
}
.column2_a1 .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media screen and (max-width: 768px) {
  .column2_a1 .inner {
    margin: 0 0px;
    padding: 0px;
  }
  .column2_a1 .row1 {
    flex-direction: column; /* 縦並び */
  }
  .column2_a1 .imgbox {
    width: 95%;
    transform: none;
    margin: auto auto;
  }
  .column2_a1 .txtbox {
    width: 100%;
    padding: clamp(30px, 5vw, 60px) clamp(20px, 4vw, 50px);
  }
}
/* ---------- column2_b ---------- */
.column2_b .inner {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  min-height: 320px;
}
.column2_b .imgbox {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 58%;
  aspect-ratio: 800 / 458;
  overflow: hidden;
  border-radius: 2px;
}
.column2_b .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.column2_b .txtbox {
  position: absolute;
  right: 0px;
  top: 60px;
  width: 50%;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .08);
  padding: 28px clamp(16px, 4.5vw, 36px) 30px;
}
.column2_b .title {
  margin: 0 0 14px;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: .04em;
}
.column2_b .title span {
  color: #0b8ca0;
}
@media screen and (max-width: 1080px) {
  .column2_b .txtbox {
    position: relative;
    right: auto;
    left: 120px;
    width: 80%;
    top: -20px;
  }
  .column2_b .imgbox {
    position: relative;
    width: 80%;
  }
}
@media screen and (max-width: 768px) {
  .column2_b .txtbox {
    width: 100%;
    left: 20px;
  }
  .column2_b .imgbox {
    width: 90%;
  }
}
@media screen and (max-width: 576px) {
  .column2_b .txtbox {
    left: 0px;
    width: 100%;
    top: 0px;
  }
  .column2_b .imgbox {
    position: relative;
    width: 100%;
  }
}
.column2_c .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 4.8vw, 56px);
  align-items: start;
}
.column2_c .imgbox {
  background: #c7c7c7;
  border-radius: 2px;
  overflow: hidden;
  aspect-ratio: 1 / 1;
}
.column2_c .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.column2_c .content {
  max-width: 540px;
}
.column2_c .eyebrow {
  margin: 0 0 10px;
  letter-spacing: .14em;
  color: #A42115; /* 新しい赤色 */
}
.column2_c .title {
  margin: 0 0 18px;
  letter-spacing: .04em;
}
.column2_c .lead1 {
  margin: 0 0 28px;
  line-height: 2;
  letter-spacing: .04em;
}
.column2_c .point {
  margin-top: 10px;
}
.column2_c .point_head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
}
/* POINTの文字 */
.column2_c .point_label {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #A42115;
  line-height: 1;
}
/* 右側の横線（文字の右だけに出す） */
.column2_c .point_head::after {
  content: "";
  flex: 1 1 auto;
  height: 2px;
  background: #A42115;
  opacity: .8;
}
.column2_c .point_title {
  margin: 14px 0 12px;
  letter-spacing: .06em;
}
@media screen and (max-width: 768px) {
  .column2_c .inner {
    grid-template-columns: 1fr; /* 1カラム */
    gap: 24px;
  }
  .column2_c .imgbox {
    width: 90%;
    min-width: 320px;
    margin: 0 auto;
  }
  .column2_c .content {
    max-width: none;
  }
}
/* ---------- column2_d ---------- */
.column2_d .inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: clamp(24px, 4.5vw, 56px);
  align-items: start;
}
.column2_d .imgbox {
  aspect-ratio: 16 / 10;
  border-radius: 16px;
  overflow: hidden;
  background: #c7c7c7;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .06);
}
.column2_d .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.column2_d .txtbox {
  max-width: 620px;
}
.column2_d .titlewrap {
  justify-content: flex-start;
  gap: 14px;
  margin-bottom: clamp(10px, 4vw, 30px);
}
.column2_d .icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #c7c7c7;
  display: grid;
  place-items: center;
  color: #666;
  font-size: 12px;
  line-height: 1;
  flex: 0 0 auto;
}
.column2_d .icon img {
  width: 70%;
  height: 70%;
  object-fit: contain;
}
.column2_d .titlebox {
  line-height: 1.2;
}
.column2_d .title {
  margin: 0 0 4px;
  letter-spacing: .04em;
}
.column2_d .en {
  margin: 0;
  letter-spacing: .18em;
}
@media screen and (max-width: 768px) {
  .column2_d .inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .column2_d .imgbox {
    width: min(100%, 900px);
    margin: 0 auto;
    aspect-ratio: 16 / 10;
  }
  .column2_d .txtbox {
    max-width: none;
    width: min(100%, 900px);
    margin: 0 auto;
  }
}
.column2_e .inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px;
}
.column2_e .grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
}
.column2_e .card1 {
  display: block;
}
.column2_e .imgbox {
  width: 100%;
  aspect-ratio: 4/ 3;
  border-radius: 28px;
  overflow: hidden;
}
.column2_e .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.column2_e .title {
  margin-bottom: clamp(0px, 4vw, 20px);
  text-align: center;
}
.column2_e .txtbox {
  margin-top: 18px;
}
@media screen and (max-width: 768px) {
  .column2_e .grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
@media screen and (max-width: 576px) {
  .column2_e .grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
.column2_f .inner {
  max-width: 1280px;
  margin: 0 auto;
  gap: clamp(0px, 5vw, 64px);
  align-items: flex-start;
  flex-wrap: nowrap;
}
/* 左：タイトル列（固定幅） */
.column2_f .titlebox {
  flex: 0 0 clamp(250px, 26vw, 360px);
}
/* 01 —— の行 */
.column2_f .num {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 18px;
  font-size: 14px;
  letter-spacing: .18em;
  color: #333;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.column2_f .num::after {
  content: "";
  flex: 0 0 56px; /* 横線の長さ */
  height: 2px;
  background: #333;
  opacity: .35;
}
.column2_f .title {
  margin: 0;
  font-size: clamp(20px, 2.4vw, 28px);
  font-weight: 500;
  letter-spacing: .12em;
  white-space: nowrap;
}
.column2_f .txtbox {
  flex: 1 1 auto;
  max-width: 760px;
  gap: 30px;
}
.column2_f .imgbox {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #c7c7c7;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 6px 14px rgba(0, 0, 0, .06);
}
.column2_f .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media screen and (max-width: 1080px) {
  .column2_f .inner {
    flex-wrap: wrap;
  }
  .column2_f .inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .column2_f .imgbox {
    width: min(100%, 900px);
    margin: 0 auto;
    aspect-ratio: 16 / 10;
  }
  .column2_f .titlebox {
    margin-left: 0;
    margin-right: auto;
  }
  .column2_f .txtbox {
    max-width: none;
    width: min(100%, 900px);
    margin: 0 auto;
    display: flex;
    flex-direction: column-reverse;
  }
  .column2_f .txtbox {
    display: flex;
    flex-direction: column-reverse;
  }
  .column2_f .text {
    margin: 0 0 0px;
  }
}
.column2_g .inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: clamp(24px, 4.5vw, 56px);
  align-items: center;
}
.column2_g .imgbox {
  aspect-ratio: 16 / 10;
  background: #c7c7c7;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .06);
  position: relative;
}
.column2_g .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.column2_g .subtxt {
  position: absolute;
  top: -12px;
  right: 3%;
  justify-content: space-between;
}
.column2_g p {
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
}
.column2_g span {
  background: #0F6A59;
  color: #fff;
  padding: 10px 4px;
  letter-spacing: 0.5em;
  box-shadow: 0 6px 12px rgba(0, 0, 0, .15);
}
/* ====== 右：テキスト ====== */
.column2_g .txtbox {
  max-width: 620px;
  display: grid;
  gap: clamp(20px, 4vw, 30px);
}
/* 丸アイコン */
.column2_g .icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #c7c7c7;
  display: grid;
  place-items: center;
  color: #666;
  font-size: 12px;
  line-height: 1;
  flex: 0 0 auto;
}
.column2_g .icon img {
  width: 70%;
  height: 70%;
  object-fit: contain;
}
/* 見出し */
.column2_g .titlebox {
  line-height: 1.2;
}
.column2_g .title {
  letter-spacing: .04em;
}
@media screen and (max-width: 1080px) {
  .column2_g .inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .column2_g .imgbox {
    width: min(100%, 900px); /* 中央寄せ＆最大幅 */
    margin: 0 auto;
    aspect-ratio: 16 / 10; /* 比率維持（任意） */
  }
  .column2_g .txtbox {
    max-width: none;
    width: min(100%, 900px);
    margin: 0 auto; /* テキストも中央寄せ */
  }
}
.column2_h .inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  height: 530px; /* お好みで */
}
/* 左：画像 */
.column2_h .imgbox {
  position: relative;
  overflow: hidden;
  background: #000;
  min-height: 320px;
}
.column2_h .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.95);
}
/* 右側を暗く落とすグラデーション（画像の上） */
.column2_h .imgbox::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.5) 65%, rgba(0, 0, 0, 0.95) 100%);
  pointer-events: none;
}
/* 縦書きのサブテキスト */
.column2_h .subtxt {
  position: absolute;
  inset: auto 0 0 auto; /* 右下寄せ */
  right: clamp(8px, 1.5vw, 16px);
  bottom: clamp(8px, 1.5vw, 16px);
  display: flex;
  gap: 8px;
  z-index: 1;
}
/* 右：テキスト */
.column2_h .txtbox {
  background: #000;
  color: #fff;
  flex-direction: column;
  align-items: flex-start;
}
.column2_h .title {
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.4;
  letter-spacing: .04em;
  margin-bottom: 30px;
}
.column2_h .text {
  margin: 0;
  font-size: clamp(14px, 1.4vw, 16px);
  opacity: .95;
}
@media screen and (max-width: 768px) {
  .column2_h .imgbox::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.0) 40%);
    pointer-events: none;
  }
  .column2_h .txtbox {
    width: 100%;
    max-width: 100%;
    margin: 0;
    display: flex; /* 念のため明示 */
    flex-direction: column;
    align-items: flex-start;
  }
  .column2_h .inner {
    grid-template-columns: 1fr;
    height: auto;
  }
  .column2_h .imgbox {
    min-height: clamp(260px, 50vw, 380px);
  }
  .column2_h .txtbox {
    width: 100%;
    max-width: 100%;
    padding: clamp(20px, 5vw, 40px);
    padding-bottom: clamp(40px, 5vw, 50px);
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
.column2_i {
  flex-wrap: nowrap;
  gap: 50px;
  margin: auto auto;
}
.column2_i .icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 90px;
  height: 90px;
  background: #333;
  flex-direction: column;
  color: #fff;
}
.column2_i .icon img {
  width: auto;
  height: 30px;
  margin-bottom: 8px;
}
.column2_i .inner {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #404040;
  padding: 32px clamp(16px, 5vw, 40px);
  box-sizing: border-box;
  align-items: flex-start;
}
/* 左：画像 */
.column2_i .imgbox {
  flex: 0 0 clamp(200px, 25vw, 220px);
  aspect-ratio: 4 / 3;
  background: #d1d1d1;
  border-radius: 2px;
  overflow: hidden;
}
.column2_i .imgbox img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
/* 右：タイトル＋本文 */
.column2_i .txtbox {
  flex: 1 1 auto;
}
/* タイトル行（アイコン＋タイトルの横並び） */
.column2_i .titlewrap {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
}
.column2_i .title {
  margin-bottom: clamp(10px, 4vw, 30px);
}
.column2_i .boxwrap {
  flex-wrap: nowrap;
  gap: 20px;
}
@media screen and (max-width: 1080px) {
  .column2_i {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .column2_d .inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .column2_d .imgbox {
    width: min(100%, 900px);
    margin: 0 auto;
    aspect-ratio: 16 / 10;
  }
  .column2_d .txtbox {
    max-width: none;
    width: min(100%, 900px);
    margin: 0 auto;
  }
}
@media screen and (max-width: 576px) {
  .boxwrap {
    flex-direction: column;
  }
}
.column3_a {
  padding: 40px 0 70px;
}
.column3_a .inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px;
}
.column3_a .grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}
.column3_a .card1 {
  display: block;
}
.column3_a .thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 28px;
  overflow: hidden;
}
.column3_a .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.column3_a .txtbox {
  margin-top: 18px;
}
.column3_a .title {
  letter-spacing: .02em;
  margin: 0 0 14px;
  text-align: center;
}
.column3_a .text {
  line-height: 2;
  letter-spacing: .02em;
}
@media screen and (max-width: 768px) {
  .column3_a .grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
@media screen and (max-width: 576px) {
  .column3_a .grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
.column3_b .inner {
  margin: 0 auto;
}
.column3_b .grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(24px, 4vw, 36px);
}
/* カード本体 */
.column3_b .card1 {
  display: block;
  background: #fff;
  border: 1px solid #e6ecec;
  padding: 46px 44px 50px;
  text-align: center;
}
.column3_b .en {
  margin: 0;
  letter-spacing: 0.3em;
}
.column3_b .en span {
  font-family: inherit;
  font-size: 48px;
  margin-left: 6px;
  transform: translateY(2px);
}
.column3_b .line {
  width: 24px;
  height: 2px;
  background: #7a7a7a;
  margin: 18px auto 16px;
}
.column3_b .title {
  margin: 0 0 26px;
  letter-spacing: 0.2em;
}
.column3_b .text {
  margin: 0;
  letter-spacing: 0.04em;
  text-align: left;
}
@media screen and (max-width: 1080px) {
  .column3_b .grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
@media screen and (max-width: 576px) {
  .column3_b .grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
.column3_c .inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 60px;
}
.column3_c .columnbox1 {
  text-align: center;
}
.column3_c .pill {
  width: min(280px, 90%);
  margin: 0 auto 20px;
  background: #fff;
  border-radius: 9999px;
  padding: 12px 0 14px;
}
.column3_c .pill-num {
  margin: -38px 0 4px;
  font-size: 28px;
  font-variant-numeric: tabular-nums;
}
.column3_c .pill-title {
  margin: 0;
  letter-spacing: 0.1em;
}
.column3_c .content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.column3_c .icon {
  width: 140px;
  height: 140px;
  background: #c9c9c9;
  border-radius: 50%;
  margin: 0 auto 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #444;
  font-size: 16px;
}
.column3_c .icon img {
  width: 60%;
  height: auto;
}
.column3_c .text {
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: left;
  max-width: 360px;
  margin: 0 auto;
  overflow-wrap: anywhere;
}
.column3_d .inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 350px));
  justify-content: center;
  gap: 60px 40px;
  text-align: center;
}
.column3_d .col {
  max-width: 350px;
  margin: 0 auto;
}
.column3_d .colbox {
  flex-wrap: nowrap;
  gap: 28px;
  margin: 0 0 30px;
  width: 100%;
}
.column3_d .imgbox {
  flex: 0 0 40%;
  width: 40%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
  background: #c8c8c8;
}
.column3_d .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.column3_d .titlebox {
  flex: 1 1 60%;
  text-align: left;
}
.column3_d .subtitle {
  margin: 0 0 6px;
  letter-spacing: .25em;
}
.column3_d .title {
  margin: 0;
  letter-spacing: .28em;
}
.column3_d .text {
  max-width: 520px;
  margin: 20px auto 0;
  line-height: 2;
  letter-spacing: .04em;
  text-align: left;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.fourcolumn_a .inner {
  margin: 0 auto;
}
.fourcolumn_a .grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 290px));
  gap: clamp(16px, 3vw, 28px) clamp(16px, 3vw, 28px);
  justify-content: center;
}
.fourcolumn_a .card {
  width: 100%;
  max-width: 290px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #e6e6e6;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .04);
  padding: clamp(16px, 3vw, 24px);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.fourcolumn_a .card .num {
  margin-top: -70px;
  font-size: clamp(35px, 4vw, 47px);
}
.fourcolumn_a .card .title {
  margin: 0 0 10px;
  text-align: center;
  letter-spacing: .12em;
}
.fourcolumn_a .card .decor {
  width: clamp(120px, 40%, 180px);
  margin: 4px auto 14px;
  display: block;
  pointer-events: none;
}
.fourcolumn_a .thumb {
  width: clamp(160px, 70%, 220px);
  aspect-ratio: 1 / 1;
  background: #cfcfcf;
  margin: 0 auto clamp(14px, 3vw, 18px);
  overflow: hidden;
}
.fourcolumn_a .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.fourcolumn_a .card .text {
  margin: 0;
  line-height: 2;
  letter-spacing: .02em;
}
@media screen and (max-width: 768px) {
  .fourcolumn_a .card .num {
    margin-top: -10px;
  }
}
.fourcolumn_b .inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px;
}
.fourcolumn_b .grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
/* カード本体 */
.fourcolumn_b .card1 {
  position: relative;
  background: #fff;
  border: 3px solid #222;
  border-radius: 4px;
  padding: 28px 22px 26px;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.15);
}
/* 上辺の“切り欠き” */
.fourcolumn_b .card1::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -3px;
  transform: translateX(-50%);
  width: 80px;
  height: 10px;
  background: #fff;
}
/* 丸い番号バッジ */
.fourcolumn_b .num {
  position: absolute;
  top: -26px;
  left: 50%;
  transform: translateX(-50%);
  width: 52px;
  height: 52px;
  line-height: 52px;
  text-align: center;
  background: #fff;
  border: 3px solid #222;
  border-radius: 50%;
  font-weight: 700;
  font-size: 22px;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.15);
}
.fourcolumn_b .txtbox {
  margin-top: 8px;
}
.fourcolumn_b .title {
  margin: 0 0 14px;
  position: relative;
  text-align: center;
}
.fourcolumn_b .title::after {
  content: "";
  display: block;
  width: 80%;
  height: 10px;
  background: #e5e5e5;
  margin: -10px auto 0;
}
.fourcolumn_b .text {
  line-height: 2;
}
@media screen and (max-width: 1080px) {
  .fourcolumn_b .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 576px) {
  .fourcolumn_b .grid {
    grid-template-columns: 1fr;
  }
  .fourcolumn_b .title::after {
    width: 140px;
  }
}
.flow_a .inner {
  max-width: 1000px;
  margin: 0 auto;
}
.flow_a .item {
  display: grid;
  grid-template-columns: 72px 1fr minmax(260px, 300px);
  column-gap: clamp(16px, 3vw, 40px);
  position: relative;
  padding-bottom: 20px;
}
.flow_a .col-num {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.flow_a .col-num::before {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(56px + 8px);
  bottom: 0;
  transform: translateX(-50%);
  width: 0;
  border-left: 2px dotted #222;
  opacity: .8;
  pointer-events: none;
}
.flow_a .item:last-child .col-num::before {
  display: none;
}
.flow_a .circle {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  border: 1px solid #222;
  display: grid;
  place-items: center;
}
.flow_a .circle p {
  margin: 0;
  line-height: 1;
  letter-spacing: .02em;
  color: #111;
}
.flow_a .txtbox {
  margin-top: 10px;
}
.flow_a .txtbox .title {
  margin: 0 0 10px;
  letter-spacing: .02em;
}
.flow_a .txtbox .text {
  margin: 0;
  line-height: 2;
  text-align: justify;
}
.flow_a .imgbox {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #cfcfcf;
  overflow: hidden;
}
.flow_a .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media screen and (max-width: 768px) {
  .flow_a .col-num {
    grid-area: col;
  }
  .flow_a .txtbox {
    grid-area: txtbox;
  }
  .flow_a .imgbox {
    grid-area: imgbox;
  }
  .flow_a .item {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "col col"
      "txtbox imgbox";
    column-gap: clamp(12px, 3vw, 24px);
    row-gap: clamp(12px, 3vw, 24px);
    padding-bottom: 32px;
  }
  .flow_a .col-num {
    justify-content: center;
    align-items: flex-start;
  }
  .flow_a .col-num::after {
    display: none;
  }
  .flow_a .inner {
    padding: 0 0;
  }
  .flow_a .txtbox .title {
    text-align: center;
  }
  .flow_a .item {
    grid-template-columns: 1fr;
    grid-template-areas:
      "col"
      "imgbox"
      "txtbox";
    row-gap: 16px;
    padding-bottom: 28px;
  }
  .flow_a .col-num {
    justify-content: flex-start;
    margin-bottom: -30px;
  }
  .flow_a .col-num::after {
    display: none;
  }
  .flow_a .imgbox {
    max-width: 400px;
    justify-self: center;
  }
  .flow_a .txtbox {
    width: 80%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 576px) {
  .flow_a .txtbox {
    width: 100%;
  }
}
.flow_b {
  max-width: 1280px;
  gap: 30px;
  margin: 0 auto;
  align-items: stretch;
}
.flow_b .flow_item {
  flex-direction: column;
  width: 20%;
  background-color: #fff;
  border-radius: 20px;
  border: #DEDEDE solid 1px;
  padding: 30px 10px;
}
.flow_b .flow_item .step {
  margin: 0;
  letter-spacing: .02em;
  color: #B0C502;
}
.flow_b .flow_item img {
  width: 30%;
}
.flow_b .flow_arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 10px;
  padding-right: 10px;
}
.flow_b .flow_arrow img {
  width: 16px;
  height: auto;
}
@media screen and (max-width: 1080px) {
  .flow_b {
    flex-direction: column;
    gap: 20px;
    align-items: center;
  }
  .flow_b .flow_item {
    width: 100%;
    max-width: 500px;
  }
  .flow_b .flow_arrow img {
    transform: rotate(90deg);
  }
}
.flow_c {
  padding: clamp(20px, 4vw, 28px) 0;
}
.flow_c .inner {
  max-width: 900px;
  margin: 0 auto 20px;
  padding: 0 clamp(16px, 3vw, 24px);
}
/* 本体バー */
.flow_c .bar {
  position: relative;
  display: grid;
  grid-template-columns: 170px 1fr;
  background: #fff;
  box-shadow: 0 0 0 1px #e7e7e7 inset;
  overflow: hidden;
}
/* 左の斜めラベル（SVGを敷く） */
.flow_c .label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  padding: 16px 8px;
  margin-left: -20px;
}
.flow_c .label .shape {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.flow_c .step {
  position: relative;
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: .35em;
  letter-spacing: .02em;
}
.flow_c .step span {
  font-size: clamp(28px, 6vw, 40px);
}
/* 右側コンテンツ */
.flow_c .content {
  display: flex;
  align-items: center;
  gap: clamp(12px, 2.5vw, 20px);
  padding: clamp(16px, 4vw, 36px) clamp(18px, 3vw, 32px);
}
.flow_c .icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #d8d8d8;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  overflow: hidden;
}
.flow_c .icon img {
  width: 60%;
  height: 60%;
  object-fit: contain;
  display: block;
}
.flow_c .text {
  margin: 0;
  letter-spacing: .02em;
  line-height: 2;
}
/* 下の▼ */
.flow_c .chevron {
  width: 14px;
  height: 10px;
  margin: 20px auto 0;
  background: #555;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  opacity: .85;
}
@media screen and (max-width: 576px) {
  .flow_c .bar {
    grid-template-columns: 100px 1fr;
  }
  .flow_c .label .shape {
    display: none;
  }
  .flow_c .label {
    background: #C9C9C9;
    min-height: 58px;
    padding: 12px 8px;
    overflow: hidden;
    margin-left: 0px;
  }
}
.flow_d .inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 clamp(0px, 3vw, 24px);
}
/* 上部に細いラインを通す行レイアウト */
.flow_d .row1 {
  position: relative;
  display: grid;
  grid-template-columns: 92px 160px 1fr;
  column-gap: clamp(14px, 3vw, 28px);
  align-items: start;
  margin-bottom: clamp(18px, 3vw, 28px);
}
.flow_d .row1::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: #2f2f2f; /* 上の細い線 */
  opacity: .8;
}
/* 左の黒バッジ（SVGを全面に敷き、文字を重ねる） */
.flow_d .badge1 {
  position: relative;
  width: 100px;
  height: 100px;
}
.flow_d .badge1 .box {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 100%;
}
.flow_d .badge1 .shape {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}
.flow_d .badge1 .step {
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  margin: 0;
  text-align: center;
  font-size: 14px;
  letter-spacing: .08em;
  color: #fff;
}
.flow_d .badge1 .num {
  position: absolute;
  top: 32px;
  left: 12px;
  right: 12px;
  margin: 0;
  text-align: center;
  line-height: 1.05;
  letter-spacing: .02em;
  color: #fff;
}
/* タイトルと本文 */
.flow_d .title {
  margin: 0;
  align-self: center;
  letter-spacing: .08em;
}
.flow_d .text {
  margin: 0;
  line-height: 2;
  letter-spacing: .02em;
  text-align: justify;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .flow_d .inner {
    padding: 0 0;
  }
  .flow_d .badge1 {
    grid-area: badge;
  }
  .flow_d .title {
    grid-area: title;
  }
  .flow_d .text {
    grid-area: text;
  }
  .flow_d .row1 {
    grid-template-columns: 92px 1fr; /* 左：バッジ / 右：本文カラム */
    grid-template-areas:
      "badge title"
      "badge text";
    column-gap: clamp(12px, 4vw, 20px);
    row-gap: 8px;
  }
  .flow_d .title {
    margin-top: 20px;
  }
  .flow_d .text {
    margin-top: 0; /* 既存の上マージンをリセット */
  }
}
.worries_a .inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 clamp(16px, 3vw, 24px);
}
/* タイトルブロック（見出し＋worry.svg） */
.worries_a .titlebox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(8px, 1.2vw, 12px);
  margin-bottom: clamp(24px, 4vw, 40px);
}
.worries_a .titlebox .title {
  margin: 0;
  text-align: center;
  letter-spacing: .04em;
}
.worries_a .titlebox img {
  display: block;
  width: clamp(220px, 30vw, 400px);
  height: auto;
}
.worries_a .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(12px, 2.2vw, 20px) clamp(16px, 3vw, 30px);
}
.worries_a .item {
  display: flex;
  align-items: center;
  gap: clamp(12px, 2.5vw, 20px);
  background: #fff;
  border-radius: 12px;
  padding: clamp(12px, 2.2vw, 16px) clamp(16px, 3vw, 24px);
  box-shadow: 0 2px 0 rgba(0, 0, 0, .06) inset;
}
.worries_a .icon {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #171717;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.worries_a .icon img {
  width: 60%;
  height: 60%;
  object-fit: contain;
  display: block;
}
.worries_a .text {
  margin: 0;
  line-height: 1.9;
}
@media screen and (max-width: 1080px) {
  .worries_a .grid {
    grid-template-columns: 1fr;
  }
}
.staff_a .messagebox_wrap {
  gap: 40px;
}
.staff_a .messagebox_wrap .boxitem {
  display: flex;
  gap: 32px;
  width: calc(50% - 30px);
}
.staff_a .messagebox_wrap .boxitem .imgbox {
  width: calc(50% - 25px);
  max-width: 400px;
  overflow: hidden;
}
.staff_a .messagebox_wrap .boxitem .imgbox img {
  border-radius: 10px;
}
.staff_a .messagebox_wrap .boxitem .txtbox {
  width: calc(50% - 25px);
  flex-direction: column;
  align-items: flex-start;
}
.staff_a .messagebox_wrap .signature .position {
  font-size: 1rem;
  font-weight: 400;
}
.staff_a .messagebox_wrap .signature .name {
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1080px) {
  .staff_a .messagebox_wrap .boxitem {
    flex-direction: column;
  }
  .staff_a .messagebox_wrap .boxitem .imgbox {
    width: 80%;
  }
  .staff_a .messagebox_wrap .boxitem .txtbox {
    width: 100%;
  }
}
@media screen and (max-width: 576px) {
  .staff_a .messagebox_wrap .boxitem .imgbox {
    width: 100%;
  }
  .staff_a .messagebox_wrap .boxitem {
    width: 100%;
  }
}
.staff_b .messagebox_wrap {
  gap: 40px;
  width: 100%;
}
.staff_b .messagebox_wrap .boxitem {
  gap: clamp(16px, 4vw, 32px);
  width: calc(50% - 20px);
  background: #fff;
  box-shadow: 0 8px 26px rgba(0, 0, 0, .06);
  padding: clamp(20px, 4vw, 36px) clamp(20px, 5vw, 50px);
}
.staff_b .messagebox_wrap .boxitem .box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.staff_b .messagebox_wrap .boxitem .imgbox {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.staff_b .messagebox_wrap .boxitem .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.staff_b .messagebox_wrap .boxitem .namebox {
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}
.staff_b .messagebox_wrap .boxitem .namebox .line {
  width: 40px;
  height: 2px;
  background: #8A1B50;
}
.staff_b .messagebox_wrap .boxitem .namebox .default_title3 {
  margin: 0;
  font-family: "Shippori Mincho", serif; /* ← 追加 */
  font-weight: 600;
  letter-spacing: .02em;
  color: #111;
}
/* メッセージ（2段目で横幅いっぱい） */
.staff_b .messagebox_wrap .boxitem .txtbox {
  flex: 1 1 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 8px;
}
.staff_b .messagebox_wrap .boxitem .txtbox .red_t {
  position: relative;
  margin: 0 0 12px;
  padding-left: 10px;
}
/* 赤い山括弧（見本のマーカー） */
.staff_b .messagebox_wrap .boxitem .txtbox .red_t::before {
  content: "";
  position: absolute;
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
  border-left: 6px solid #b73a3a;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}
@media screen and (max-width: 768px) {
  .staff_b .messagebox_wrap .boxitem {
    width: 100%;
  }
  .staff_b .messagebox_wrap .boxitem .txtbox .red_t::before {
    left: 0px;
  }
  @media screen and (max-width: 576px) {
    .staff_b .messagebox_wrap .boxitem .box {
      gap: 20px;
    }
  }
  .shop_pagetitle_a {
    position: relative;
    padding: 50px;
    background: none; /* ← ここを維持 */
    height: 300px;
    overflow: hidden;
  }
  body.on .shop_pagetitle_a::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .35);
    pointer-events: none;
    z-index: 1;
  }
  .shop_pagetitle_photos {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    z-index: 0;
  }
  .shop_pagetitle_photos .photo {
    margin: 0;
  }
  .shop_pagetitle_photos .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
  }
  .shop_pagetitle_a .en_txt {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    color: #fff;
    transform: translateY(-17%);
    z-index: 2;
    letter-spacing: 0.4em;
  }
  .shop_pagetitle_a .titlebox {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    z-index: 2;
  }
  .shop_pagetitle_a .titlebox .title {
    color: #fff;
    letter-spacing: .1em;
    text-align: center;
  }
  @media screen and (max-width: 1280px) {
    .shop_pagetitle_a {
      padding: 50px;
    }
  }
  @media screen and (max-width: 768px) {
    .shop_pagetitle_a {
      height: 280px;
    }
  }
  @media screen and (max-width: 576px) {
    .shop_pagetitle_a {
      height: 200px;
    }
  }
  .column2_i {
    flex-wrap: nowrap;
    gap: 50px;
    margin: auto auto;
  }
  .column2_i .icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 90px;
    height: 90px;
    background: #333;
    flex-direction: column;
    color: #fff;
  }
  .column2_i .icon img {
    width: auto;
    height: 30px;
    margin-bottom: 8px;
  }
  .column2_i .inner {
    position: relative;
    max-width: 960px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #404040;
    padding: 32px clamp(16px, 5vw, 40px);
    box-sizing: border-box;
    align-items: flex-start;
  }
  /* 左：画像 */
  .column2_i .imgbox {
    flex: 0 0 clamp(200px, 25vw, 220px);
    aspect-ratio: 4 / 3;
    background: #d1d1d1;
    border-radius: 2px;
    overflow: hidden;
  }
  .column2_i .imgbox img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }
  /* 右：タイトル＋本文 */
  .column2_i .txtbox {
    flex: 1 1 auto;
  }
  /* タイトル行（アイコン＋タイトルの横並び） */
  .column2_i .titlewrap {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
  }
  .column2_i .title {
    margin-bottom: clamp(10px, 4vw, 30px);
  }
  .column2_i .boxwrap {
    flex-wrap: nowrap;
    gap: 20px;
  }
  @media screen and (max-width: 1080px) {
    .column2_i {
      flex-direction: column;
    }
  }
  @media screen and (max-width: 576px) {
    .column2_i .boxwrap {
      flex-direction: column;
    }
  }
  .column2_j {
    gap: 80px;
  }
  .column2_j .topbox {
    gap: 60px;
    align-items: flex-start;
    margin-bottom: 60px;
  }
  .column2_j .txtbox {
    gap: 40px;
    width: calc(50% - 30px);
    flex-direction: column;
    align-items: flex-start;
  }
  .column2_j .imgbox {
    position: relative;
    gap: 40px;
    width: calc(50% - 30px);
    justify-content: flex-start;
  }
  .column2_j .imgbox img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50%;
    display: block;
  }
  .column2_j .imgbox .img1 {
    border-radius: 50%;
    width: 80%;
    align-items: flex-start;
  }
  .column2_j .imgbox .img2 {
    position: absolute;
    border-radius: 50%;
    width: 40%;
    right: 10px;
    bottom: -20%;
  }
  .column2_j .topbox:nth-of-type(even) {
    flex-direction: row-reverse;
  }
  .column2_j .topbox:nth-of-type(even) .imgbox {
    justify-content: flex-start;
  }
  .column2_j .topbox:nth-of-type(even) .imgbox .img2 {
    right: 5%;
    left: auto;
  }
  @media screen and (max-width: 1080px) {
    .column2_j .topbox {
      flex-direction: column-reverse;
      gap: 10px;
      margin-bottom: 0px;
    }
    .column2_j .topbox:nth-of-type(even) {
      flex-direction: column-reverse;
    }
    .column2_j .topbox:nth-of-type(even) .imgbox {
      justify-content: flex-end;
    }
    .column2_j .txtbox {
      gap: 30px;
      width: 90%;
      margin-right: auto;
    }
    .column2_j .imgbox {
      width: 90%;
      margin-left: auto;
      padding-right: 10%;
    }
    .column2_j .imgbox .img1 {
      border-radius: 50%;
      width: 80%;
      align-items: flex-start;
    }
  }
  @media screen and (max-width: 768px) {
    .column2_j .txtbox {
      gap: 20px;
      width: 100%;
    }
    .column2_j .imgbox {
      margin-left: auto;
    }
  }
  .column2_k .box_wrap {
    gap: 60px;
  }
  .column2_k .box_wrap .box-item {
    gap: 50px;
    padding-bottom: 60px;
    border-bottom: #DEDEDE 1px solid;
  }
  .column2_k .box_wrap .box-item .txtbox {
    width: calc(50% - 25px);
    justify-content: flex-start;
  }
  .column2_k .box_wrap .box-item .txtbox .topbox {
    margin-bottom: 40px;
    gap: 40px;
    align-items: center;
    width: 100%;
  }
  .column2_k .box_wrap .box-item .txtbox .topbox .iconbox {
    width: calc(30% - 20px);
    max-width: 200px;
  }
  .column2_k .box_wrap .box-item .txtbox .topbox .titlebox {
    width: calc(70% - 20px);
  }
  .column2_k .box_wrap .box-item .imgbox {
    position: relative;
    width: calc(50% - 25px);
    padding-bottom: 40px;
    z-index: 1;
  }
  .column2_k .box_wrap .box-item .imgbox img {
    border-radius: 10px;
    aspect-ratio: 4/ 3;
    object-fit: cover;
  }
  .column2_k .box_wrap .box-item .iconbox img {
    aspect-ratio: 1/1;
    object-fit: cover;
  }
  .column2_k .box_wrap .box-item .iconbox {
    position: relative;
  }
  .column2_k .box_wrap .box-item .iconbox .num {
    position: absolute;
    left: -10px;
    top: -10px;
    z-index: 2;
    font-size: 35px;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #017138;
    line-height: 1;
  }
  @media screen and (max-width: 1280px) {
    .column2_k .box_wrap .box-item {
      flex-direction: column;
    }
    .column2_k .box_wrap .box-item .txtbox, .column2_k .box_wrap .box-item .imgbox {
      width: 60%;
    }
  }
  @media screen and (max-width: 1080px) {
    .column2_k .box_wrap .box-item .txtbox, .column2_k .box_wrap .box-item .imgbox {
      width: 70%;
    }
  }
  @media screen and (max-width: 768px) {
    .column2_k .box_wrap {
      gap: 40px;
    }
    .column2_k .box_wrap .box-item .txtbox, .column2_k .box_wrap .box-item .imgbox {
      width: 80%;
    }
    .column2_k .box_wrap .box-item .txtbox .topbox {
      flex-direction: column;
      margin: 0 auto;
      margin-bottom: 20px;
      gap: 20px;
    }
    .column2_k .box_wrap .box-item .txtbox .topbox h3, .column2_k .box_wrap .box-item .txtbox .topbox p {
      text-align: center;
    }
    .column2_k .box_wrap .box-item {
      gap: 30px;
      padding-bottom: 30px;
    }
    .column2_k .title-style1 h2 br {
      display: inline-block;
    }
    .column2_k .box_wrap .box-item .txtbox .topbox .iconbox {
      width: 50%;
    }
    .column2_k .box_wrap .box-item .txtbox .topbox .titlebox {
      width: 100%;
    }
  }
  @media screen and (max-width: 576px) {
    .column2_k .box_wrap .box-item .txtbox, .column2_k .box_wrap .box-item .imgbox {
      width: 100%;
    }
    .column2_k .box_wrap .box-item .imgbox {
      padding-bottom: 30px;
    }
    .column2_k .box_wrap .box-item .imgbox .more {
      bottom: 0px;
      left: 50%;
      transform: translateX(-50%);
    }
    .column2_k .box_wrap .box-item .iconbox .num {
      font-size: 28px;
    }
  }
  .column2_l .box_wrap {
    gap: 80px;
  }
  .column2_l .box-item {
    gap: 50px;
  }
  .column2_l .box-item .txtbox {
    gap: 20px;
    width: calc(50% - 25px);
    flex-direction: column;
    align-items: flex-start;
  }
  .column2_l .box-item .txtbox .topbox {
    width: 100%;
    justify-content: space-between;
  }
  .column2_l .box-item .txtbox .topbox .topright {
    width: 30%;
  }
  .column2_l .box-item .txtbox .topbox .topleft {
    width: 70%;
  }
  .column2_l .box-item .txtbox .topbox .topleft .numbox {
    justify-content: flex-start;
    gap: 10px;
  }
  .column2_l .box-item .txtbox .topbox .topleft .numbox .pointlabel {
    background-color: #818181;
    border-radius: 5px;
    color: #fff;
    padding: 1px 8px;
    font-size: 12px;
  }
  .column2_l .box-item .txtbox .topbox .topleft .numbox .num {
    font-size: 35px;
    color: #818181;
    font-weight: 500;
  }
  .column2_l .box-item .imgbox {
    width: calc(50% - 25px);
  }
  .column2_l .box_wrap .box-item .imgbox img {
    border-radius: 10px;
    aspect-ratio: 4/ 3;
    object-fit: cover;
  }
  .column2_l .box_wrap .box-item:nth-child(even) {
    flex-direction: row-reverse;
  }
  @media screen and (max-width: 1080px) {
    .column2_l .box-item {
      flex-direction: column-reverse;
      gap: 30px;
      width: 100%;
    }
    .column2_l .box-item .txtbox {
      width: 80%;
    }
    .column2_l .box-item .imgbox {
      width: 80%;
    }
    .column2_l .box_wrap .box-item:nth-child(even) {
      flex-direction: column-reverse;
    }
  }
  @media screen and (max-width: 768px) {
    .column2_l .box-item .txtbox {
      width: 100%;
    }
    .column2_l .box-item .imgbox {
      width: 90%;
    }
    .column2_l .box_wrap {
      gap: 50px;
    }
    .column2_l .box-item .txtbox .topbox .topleft .numbox .num {
      font-size: 28px;
    }
  }
  @media screen and (max-width: 576px) {
    .column2_l .box-item {
      gap: 20px;
    }
  }
  .column2_m .inner {
    max-width: 1280px;
    margin: 0 auto;
  }
  .column2_m .grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
  }
  .column2_m .card1 {
    gap: 20px;
  }
  .column2_m .imgbox {
    width: 100%;
    aspect-ratio: 4/ 3;
    overflow: hidden;
  }
  .column2_m .imgbox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .column2_m .title {
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
  .column2_m .txtbox {
    flex-wrap: nowrap;
    gap: 24px;
    flex-direction: row-reverse;
  }
  @media screen and (max-width: 768px) {
    .column2_m .grid {
      grid-template-columns: 1fr;
      gap: 50px;
    }
  }
  .column2_n .grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .column2_n .card1 {
    position: relative;
    margin-bottom: clamp(40px, 6vw, 120px);
    gap: 30px;
  }
  .column2_n .num {
    font-family: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: clamp(70px, 6vw, 80px);
    font-weight: 500;
    line-height: 1;
    position: absolute;
    top: -40px;
    left: 30px;
    z-index: 2;
  }
  .column2_n .imgbox {
    width: 100%;
    height: auto;
    background: #c9c9c9;
    position: relative;
    aspect-ratio: 16/ 9;
  }
  .column2_n .imgbox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: relative;
    z-index: 0;
  }
  .column2_n .card1:nth-child(odd) .imgbox {
    clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
  }
  .column2_n .card1:nth-child(even) .imgbox {
    clip-path: polygon(20% 0, 100% 0, 100% 100%, 0% 100%);
  }
  .column2_n .card1:nth-child(even) {
    top: 40%;
  }
  .column2_n .txtbox {
    gap: 24px;
    width: 80%;
    justify-content: flex-start;
  }
  @media screen and (max-width: 768px) {
    .column2_n .grid {
      grid-template-columns: 1fr;
      gap: 50px;
    }
    .column2_n .card1:nth-child(even) {
      top: 0;
    }
  }
  .flow_e {
    padding: 32px 24px;
    gap: 4px;
    overflow-x: auto;
    display: flex;
    flex-wrap: nowrap;
  }
  .flow_e .flow_item {
    flex: 0 0 auto;
    width: 60px;
    height: 200px;
    background: #fff;
    border: 1px solid #333;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .flow_e .flow_title {
    margin: 0;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: .18em;
  }
  .flow_e .flow_arrow {
    flex: 0 0 56px;
    position: relative;
    height: 1px;
    display: flex;
    align-items: center;
  }
  .flow_e .flow_line {
    width: 100%;
    border-bottom: 2px dotted #999;
  }
  .flow_e .flow_arrow-last {
    flex: 0 0 56px;
    position: relative;
    display: flex;
    align-items: center;
  }
  .flow_e .flow_arrow-last .flow_line {
    border-bottom: 2px dotted #999;
  }
  .flow_e .flow_triangle {
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 10px solid #222;
    position: absolute;
    right: -2px;
  }
  @media screen and (max-width: 1080px) {
    .flow_e {
      justify-content: flex-start;
    }
  }
  @media screen and (max-width: 576px) {
    .flow_e {
      flex-direction: column;
      overflow-x: visible;
      overflow-y: visible;
      align-items: center;
    }
    .flow_e .flow_item {
      width: 80%;
      height: 60px;
    }
    .flow_e .flow_title {
      writing-mode: horizontal-tb;
    }
    .flow_e .flow_arrow, .flow_e .flow_arrow-last {
      width: 1px;
      height: 40px;
      flex: none;
    }
    .flow_e .flow_line {
      width: 1px;
      height: 100%;
      border-bottom: none;
      border-left: 2px dotted #999;
    }
    .flow_e .flow_arrow-last .flow_line {
      border-left: 2px dotted #999;
    }
    .flow_e .flow_triangle {
      right: auto;
      left: 50%;
      bottom: -5px;
      transform: translateX(-50%) rotate(90deg);
      border-left: 10px solid #222;
      border-top: 8px solid transparent;
      border-bottom: 8px solid transparent;
    }
    }}