@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(12px, 3vw, 18px);
  color: #fff;
  font-weight: 300;
  margin: 0;
  text-align: center;
  font-family: "Zen Old Mincho", "Cormorant", sans-serif;
  font-weight: 300;
}
.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;
    font-family: "Cormorant", sans-serif;
    font-weight: 500;
}
.header_g .menu-bt {
    display: none;
}
/* ---------- header_h ---------- */
.header_h {
    position: relative;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 20px 40px 20px;
    z-index: 999;
}
.header_h::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_h::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_h.scon::before,
.header_h.scon::after {
    opacity: 1;
}
.header_h > div {
    position: relative;
    z-index: 3;
}
.header_h .logo {
    width: 100%;
    max-width: 180px;
}
.header_h .head_menu .top_menu,
.header_h .bottom_menu {
    gap: 40px;
}
.header_h .head_menu .top_menu .flex {
    gap: 10px;
}
.header_h .container .icon {
    width: 26px;
}
.header_h .container .telicon {
    width: 16px;
}
.header_h .head_menu .top_menu .tel {
    width: 20px;
}
.header_h .menu-bt {
    display: none;
}
.header_h .head_menu .top_menu img {
    width: 23px;
}

/* global (そのまま) */
:root {
    --border: #cfd3d6;
    --text: #111;
    --pill-bg: #111;
    --pill-fg: #fff;
    --container: 1100px;
}
* {
    box-sizing: border-box
}
body {
    margin: 0;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans JP", sans-serif;
    color: var(--text);
}
.header_h {
    border-top: 4px solid #30363b;
    background: #fff;
}
.header_h .container {
    max-width: var(--container);
    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;
    font-size: clamp(14px, 3.2vw, 20px)
}
.header_h .time {
    font-size: clamp(10px, 2.4vw, 12px);
    background: var(--pill-bg);
    color: var(--pill-fg);
    border-radius: 999px;
    padding: 6px 10px;
    display: inline-block;
    margin: 0;
}
.header_h .head_menu {
    border-top: 1px solid var(--border);
    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 {
    font-size: clamp(10px, 4.2vw, 16px);
    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;
}
/* ---------- 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;
  font-family: "Cormorant", sans-serif;
  font-weight: 500;
}
.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); 
}
/* ---------- 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;
font-size: clamp(20px, 5vw, 40px);
	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 .telbox .telnum{
    font-size: clamp(24px, 2.5vw, 27px);
}
.contact_c .more1 a {
    --line: #857E60;
    --stroke: 1px;
    --inset: 8px;
    --tick: 42px;
    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(var(--line), var(--line)) top center / calc(100% - 2*var(--inset)) var(--stroke) no-repeat,
        linear-gradient(var(--line), var(--line)) bottom center / calc(100% - 2*var(--inset)) var(--stroke) no-repeat,
        linear-gradient(var(--line), var(--line)) left  center / var(--stroke) var(--tick) no-repeat,
        linear-gradient(var(--line), var(--line)) right center / var(--stroke) var(--tick) no-repeat;
    border: none; 
    overflow: hidden;
    transition: background-size .35s ease, opacity .2s ease;
}
.contact_c .more1 a:hover {
    background-size:
        calc(100% - 2 * (var(--inset) + 8px)) var(--stroke),
        calc(100% - 2 * (var(--inset) + 8px)) var(--stroke),
        var(--stroke) calc(var(--tick) - 14px),
        var(--stroke) calc(var(--tick) - 14px);
}
.contact_c .more1-w a{
	--line: #FDF7E7;
}
/* ---------- 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;

  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;
    z-index: 
}
.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-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{
	--line-width: 30px;
    --line-height: 2px;
    --line-gap: 10px;  
    --line-color: currentColor;

    position: relative;
    color: #1F8C55;
    font-size: 20px;
	font-weight: 500;
    display: inline-flex; 
    align-items: center;
    gap: var(--line-gap);
}
.submenu_g .titlebox h2::before,
.submenu_g .titlebox h2::after{
    content: "";
    display: block;
    width: var(--line-width);
    height: var(--line-height);
    background-color: var(--line-color);
    opacity: 0.9;
}
.submenu_g .titlebox p{
	color: #846C5B;
	font-size: 40px;
	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{
    font-size: 33px;
	color: #1F8C55;
}
.submenu_g .box_wrap .box .flex .en{
    font-size: 15px;
	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:-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%;
	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);
}
/* ---------- 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-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{

}
.onlineshop_a .more3 a:hover > .flex::after{

}
.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;
}
/* ---------- sns_a ---------- */
.sns_a .titlebox{
	color: #767676;
	gap: 20px;
	justify-content: flex-start;
}
.sns_a{
	overflow: hidden;
}
.sns_a .imgbox {
    border-radius: 10px;
    overflow: hidden;      
}
.sns_a .swiper-slide {
    width: 230px;     
}

.sns_a .swiper-container {
    padding: 0;        
}
/* ---------- 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;
}
/* ---------- 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 .pagetitle{
	position: relative;
	width: 100%;
  height: clamp(200px, 36vw, 300px);
}
body.on .pagetitle_e .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_e .pagetitle .bg_img_wrap2{
	position: relative;
	overflow: hidden;
}

.pagetitle_e .pagetitle .title_wrap{
	width: 100%;
	position: relative;
	z-index: 2;
}
.pagetitle_e .pagetitle .titlebox h1{
	color: #fff;
	font-family: "Zen Old Mincho", sans-serif;
	text-align: center;
	font-size: 34px;
	font-weight: 700;
}
.pagetitle_e .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);
}
.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 ---------- */
.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;
}
/* ---------- 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;
}
/* ---------- 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;
    color: ;
}

/* ---------- 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;
    font-size: 24px;
}
.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:not(:last-of-type) {
    margin-bottom: 20px;
}
.faq_c .box .qbox {
    cursor: pointer;
    position: relative;
    padding: 10px 5px;
    padding-right: 30px;
}
.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;
}
/* ---------- 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 .form-box .check-wrap .check-box input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background-color: #64D6D1;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}
.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-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;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 20px;
  font-size: 14px;
  width: 100%;
}

.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;
    overflow: auto;
}
.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);
}
/* ---------- shoplist_a ---------- */
.shoplist_a{
	background-color: #212121;
}
.shoplist_a .more 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-size: 26px;
	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);
}

.shoplist_a .box_wrap .box-item .txtbox .arrow{
	width: auto;
    padding: 0;
	--size: 42px;              
    width: var(--size);
    height: var(--size);
    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);
}
/* ---------- 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;

    opacity: .9;
    pointer-events: none;
    transition: transform .28s ease, opacity .28s ease;
}
/* ---------- 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: absolute;
    z-index: 9999;
    top: 20px;
    right: 20px;
    width: 70px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    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;
	}
/* ---------- onlineshop_c ---------- */
	.onlineshop_c .bg-green {
		gap: 50px;
		padding: 40px 60px;
	}
	.onlineshop_c .titlebox {
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
	}
/* ---------- 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); }
/* ---------- newstop_c ---------- */
    .newstop_c .newslist .webgene-blog{
		gap: 50px 20px;
	}
	.newstop_c .newslist .webgene-blog .webgene-item{
		width: calc(100% / 3 - 60px / 3);
	}
/* ---------- 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);
    }
/* ---------- 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;
    }
/* ---------- shoplist_a ---------- */
	.shoplist_a .box_wrap {
		flex-direction: column;
	}
	.shoplist_a .box_wrap .box-item{
		width: 100%;
	}
	.shoplist_a .box_wrap {
		gap: 30px;
	}
/* ---------- 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);
	}
}
@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;
  }
/* ---------- header_h ---------- */
    .header_h .top-left,
    .header_h .top-right,
    .header_h .bottom_menu {
        display: none;
    }
    .header_h .topbar {
        display: flex;
        grid-template-columns: 350px auto 200px;
        align-items: center;
        gap: clamp(8px, 3vw, 24px);
        padding: 12px 0;
    }
    .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 {
        content: "";
        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);
    }
/* ---------- 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_c ---------- */
      	.contact_c {
		flex-direction: column;
		padding: 30px 40px;
	}
      	.contact_c .more1 a {
		min-width: 180px;
		padding: 14px 30px;
	}
/* ---------- 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_g ---------- */
	.submenu_g .box_wrap .box{ flex: 0 1 100%; }
	.submenu_g .box_wrap {
		gap: 20px;
	}
	.submenu_g .titlebox p {
		font-size: 34px;
	}
/* ---------- 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;
	}
/* ---------- sns_c ---------- */
	.sns_c .box_wrap .box-item { width: calc((100% - 90px) / 3); }
/* ---------- pagetitle_d ---------- */
   .pagetitle_d .subtxt{
		bottom: -140px;
	}
/* ---------- newstop_c ---------- */
	.newstop_c .newslist .webgene-blog,.grid_4{
		gap: 50px 30px;
	}
	.newstop_c .newslist .txtbox {
		padding: 8px 10px 0px;
	}
/* ---------- 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);
	}
}
/* ---------- 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_c ---------- */
	.contact_c {
		gap: 40px;
		margin-top: 40px;
	}
	.contact_c .rightbox {
		flex-direction: column;
	}
	.contact_c .telbox {
		margin-left: 0px;
		margin-top: 20px;
	}
/* ---------- 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_g ---------- */
	.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;
	}
	.submenu_g .box_wrap .box .flex h3 {
		font-size: 23px;
	}
	.submenu_g .titlebox p {
		font-size: 24px;
	}
/* ---------- 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;
	}
/* ---------- 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); }
/* ---------- 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);
    }
/* ---------- 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;
	}
/* ---------- shoplist_a ---------- */
	.shoplist_a .box_wrap {
		gap: 20px;
	}
	.shoplist_a .box_wrap .box-item {
		gap: 15px;
	}
		.shoplist_a .box_wrap .box-item .txtbox .arrow {
		--size: 30px;
	}
/* ---------- 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;
	}
}
/* ---------- 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;
    }
    .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_h ---------- */
    .header_h {
        padding: 15px 20px;
    }
    .header_h .menu-bt {
        width: 50px;
    }
    .header_h .menu-bt .line {
        width: 20px;
        height: 16px;
    }
/* ---------- 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;
	}
/* ---------- 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;
	}
/* ---------- 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;
	}
/* ---------- sns_c ---------- */
	.sns_c .box_wrap .box-item { width: calc((100% - 30px) / 1); }
/* ---------- pagetitle_a ---------- */
	.pagetitle_a .pagetitle-content {
		width: min(80%, 780px);
	}
/* ---------- 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;
	}
/* ---------- 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%;
    }
/* ---------- 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 {
        padding-right: 20px;
    }
    .faq_c .box .qbox .icon {
        width: 15px;
        height: 15px;
    }
/* ---------- 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;
	}
/* ---------- shoplist_a ---------- */
    .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 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;
    }
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

