@charset "utf-8";
/* トップ
-------------------------------------------------------------------*/
body.home .home-ttl_box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.5em;
  text-align: center;
  font-size: 1.125rem;
  font-weight: bold;
  color: var(--black);
  margin-bottom: 2em;
}
body.home .home-ttl_box .home-ttl_sub {
  text-transform: uppercase;
}
body.home .home-ttl_box .home-ttl {
  font-size: 2.555556em;
  font-weight: bold;
  letter-spacing: 0.05em;
}
html:is([lang="en"]) body.home .home-ttl_box .home-ttl {
  line-height: 1.1;
}
body.home .home-ttl_box.text-white {
  color: var(--white);
}
body.home .home-ttl_box.text-left {
  align-items: flex-start;
  text-align: left;
}
body.home .home-ttl_box.text-small {
  font-size: 1rem;
  gap: 0.125em;
}
body.home .home-ttl_box.text-small .home-ttl {
  font-size: 1.625em;
}
body.home .mv-wrap {
  background: var(--bg_color);
  padding-block: 6.875rem 4rem;
  margin-top: 0;
}
body.home .mv-wrap .mv-inner {
  margin-bottom: 4.375em;
}
body.home .mv-wrap .mv-bg_wrap {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  width: 100vw;
}
body.home .mv-wrap .mv-bg_list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  gap: 1.375em;
  padding-right: 1.375em;
}
body.home .mv-wrap .mv-bg_list:first-child {
  animation: loop 100s -50s linear infinite;
}
body.home .mv-wrap .mv-bg_list:last-child {
  animation: loop2 100s linear infinite;
}
body.home .mv-wrap .mv-bg_item {
  width: clamp(660px, 44.791667vw, 860px);
  aspect-ratio: 215/182;
  border-radius: 1.875em;
  overflow: hidden;
}
body.home .mv-wrap .mv-bg_item img {
  object-fit: cover;
  max-width: inherit;
  width: 100%;
  height: 100%;
}
body.home .mv-wrap .mv-text_wrap {
  position: absolute;
  z-index: 100;
  inset: 0 auto;
  left: 11.5%;
}
body.home .mv-wrap .mv-text_inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  text-align: left;
}
body.home .mv-wrap .mv-text_inner::after {
  position: absolute;
  z-index: -10;
  inset: -5px auto -5px -12%;
  display: inline-block;
  content: "";
  width: clamp(calc(400px + 12%), 31.7708333333vw, 610px);
  height: calc(100% + 10px);
  background: var(--bg_color);
}
body.home .mv-wrap .mv-ttl {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.25em;
  font-size: clamp(3rem, 5vw, 4.25rem);
  font-weight: bold;
  letter-spacing: 0.05em;
  color: var(--black);
  filter: drop-shadow(0 0 10px var(--white)) drop-shadow(0 0 5px var(--white)) drop-shadow(0 0 5px var(--white));
}
body.home .mv-wrap .mv-ttl::before {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 1.17647058824em;
  aspect-ratio: 80/60;
  background: url(../img/top/icon-dash.svg) no-repeat;
  background-size: contain;
  left: 0;
  top: -1.2em;
}
body.home .mv-wrap .mv-ttl em {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  line-height: 1;
}
body.home .mv-wrap .mv-text {
  width: min(100%, 400px);
  font-size: clamp(0.875rem, 1.35vw, 1.125rem);
  line-height: 2;
}
body.home .mv-brand_wrap {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: row-reverse;
  width: 100vw;
  margin-bottom: 2em;
}
body.home .mv-brand_wrap:nth-child(2) {
  translate: calc(75px + 1.25em);
}
body.home .mv-brand_wrap .mv-brand_list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  gap: 1.25em;
  padding-right: 1.25em;
}
body.home .mv-brand_wrap .mv-brand_list:first-child {
  animation: loop-reverse 300s linear infinite;
}
body.home .mv-brand_wrap .mv-brand_list:last-child {
  animation: loop-reverse2 300s -150s linear infinite;
}
body.home .mv-brand_wrap .mv-brand_list li {
  width: 150px;
  aspect-ratio: 1/1;
  border: 1px solid #cccccc;
}
body.home .mv-brand_wrap .mv-brand_list li img {
  object-fit: cover;
  max-width: inherit;
  width: 100%;
  height: 100%;
}
body.home .search-wrap {
  padding-block: 5em;
}
body.home .search-wrap .search-btn a {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: min(100%, 1000px);
  min-height: 12.25em;
  text-align: center;
  background: var(--main_color);
  border-radius: 1.25em;
  text-decoration: none;
  margin-inline: auto;
  transition: translate .4s;
}
body.home .search-wrap .search-btn a::after {
  position: absolute;
  z-index: -10;
  display: inline-block;
  content: "";
  width: 17.6%;
  aspect-ratio: 176/125;
  background: var(--white);
  mask: url(../img/common/icon-search.svg) no-repeat;
  mask-size: cover;
  top: 55%;
  right: 4%;
  translate: 0 -50%;
}
body.home .search-wrap .search-btn a .home-ttl_box {
  margin-bottom: 0;
}
body.home .brand-wrap {
  background: var(--bg_color);
  border-radius: 5em;
  padding: 5em 2% 8em;
}
body.home .brand-wrap .brand-list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 2em 2.5em;
  width: min(100%, 1600px);
  margin-inline: auto;
}
body.home .brand-wrap .brand-item {
  width: calc((100% - 7.5em) / 4);
  border-radius: 1em;
  overflow: hidden;
}
body.home .brand-wrap .brand-item a {
  position: relative;
  z-index: 10;
  display: block;
}
body.home .brand-wrap .brand-item a::after {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  inset: 0;
  background: rgb(0, 0, 0);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 44%);
}
body.home .brand-wrap .brand-item a .brand-item_image img {
  scale: 1.01;
  transition: scale .4s;
}
body.home .brand-wrap .brand-item a .brand-item_text {
  position: absolute;
  z-index: 20;
  inset: 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  font-size: 0.875rem;
  color: var(--white);
  padding: 1.5em 2em;
}
body.home .brand-wrap .brand-item a .brand-item_ttl {
  text-align: left;
  font-size: 1.85714285714em;
  font-weight: bold;
}
body.home .brand-wrap .brand-item a .brand-item_sub {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  width: 100%;
  text-align: right;
  font-size: min(1vw,1em);
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
body.home .brand-wrap .brand-item a .brand-item_sub::before {
  flex-grow: 1;
  content: "";
  display: inline-block;
  height: 1px;
  background: var(--white);
}
body.home .news-wrap {
  padding-block: 8em;
}
body.home .news-inner {
  width: 100%;
}
body.home .news-wrap .home-ttl_box,
body.home .news-wrap .common_btn {
  float: left;
  width: 275px;
}
body.home .news-wrap .topics-list {
  float: right;
  width: calc(100% - 275px);
}
body.home .news-wrap .common_btn a {
  margin: 2em 0 0;
}
body.home .mission-wrap {
  background: var(--bg_color);
  border-radius: 5em 0 0 0;
  padding-block: 6em;
  overflow: clip;
}
body.home .mission-wrap .mission-ttl {
  position: absolute;
  z-index: 10;
  top: 0.5em;
  left: 11.5%;
  font-size: 10rem;
  line-height: 1.2;
  color: #fdfcf9;
  text-transform: uppercase;
  white-space: nowrap;
}
body.home .mission-wrap .mission-image_box {
  position: absolute;
  top: 6em;
  right: calc(50% - 500px);
  translate: 50%;
}
body.home .mission-wrap .mission-text_box {
  position: relative;
  z-index: 20;
  width: min(100%, 605px);
  margin-block: 7.875em;
}
body.home .mission-wrap .mission-subttl {
  font-size: 2.875rem;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.05em;
  margin-bottom: 1.5em;
}
body.home .mission-wrap .mission-text_box p {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.15em;
  margin-bottom: 3em;
  -webkit-text-stroke: 4px #f2f1ee;
  paint-order: stroke;
}
body.home .mission-wrap .mission-text_box .common_btn a {
  margin: 0;
}
body.home .mission-wrap .mission-image {
  overflow: hidden;
  border-radius: 1.875rem;
}
body.home .mission-wrap .mission-image.img02 {
  position: absolute;
  z-index: 10;
  bottom: -18%;
  left: -28%;
}
body.home .mission-wrap .mission-image.img03 {
  position: absolute;
  z-index: 10;
  left: -3.5%;
  bottom: 16%;
  padding: 0;
}
body.home .ir-wrap {
  padding-block: 5em 8em;
}
body.home .ir-wrap .ir-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1em 3.125em;
  border-bottom: 1px solid #bdbdbd;
  padding-bottom: 5em;
  margin-bottom: 6em;
}
body.home .ir-wrap .ir-item {
  flex: 1;
}
body.home .ir-wrap .ir-item a {
  display: block;
  text-decoration: none;
}
body.home .ir-wrap .ir-item a .ir-item_image {
  border-radius: 1em;
  overflow: hidden;
  margin-bottom: 1em;
}
body.home .ir-wrap .ir-item a .ir-item_image img {
  scale: 1.01;
  transition: scale .4s;
}
body.home .ir-wrap .ir-item a .ir-item_ttl {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1em;
}
body.home .ir-wrap .ir-item a .ir-item_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 3.3335em;
  aspect-ratio: 1/1;
  font-size: 1.125rem;
  color: var(--point_color);
  background: var(--white);
  border: 1px solid var(--point_color);
  border-radius: 100%;
  transition: color .4s, background .4s;
}
body.home .ir-wrap .ir-item a .ir-item_icon::before {
  display: block;
  content: "\2192";
  font-size: 1em;
}
body.home .ir-wrap .ir-item a .home-ttl_box {
  margin: 0;
}
body.home .ir-wrap .ir-news_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1em;
}
body.home .ir-wrap .ir-news_box .home-ttl_box {
  order: 1;
  margin-bottom: 0;
}
body.home .ir-wrap .ir-news_box .common_btn {
  order: 2;
}
body.home .ir-wrap .ir-news_box .common_btn {
  margin: 0;
}
body.home .ir-wrap .ir-news_box .topics-list {
  order: 3;
  width: 100%;
}
body.home .other-wrap {
  background: var(--bg_color);
  border-radius: 5em 5em 0 0;
  padding-block: 4em;
}
body.home .other-wrap .other-inner {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 2.5em 3.125em;
}
body.home .other-wrap .other-item:not(.item-recruit) {
  width: calc((100% - 3.125em) / 2)
}
body.home .other-wrap .other-item:not(.item-recruit) a,
body.home .other-wrap .other-item.item-recruit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5em;
  width: 100%;
  min-height: 15em;
  background: var(--white);
  border-radius: 1em;
  padding: 2em 3.125em;
  text-decoration: none;
}
body.home .other-wrap .other-item:not(.item-recruit) a {
  transition: translate .4s;
}
body.home .other-wrap .other-item:not(.item-recruit) .home-ttl_box {
  margin: 0;
}
body.home .other-wrap .other-item_image {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 8.75em;
  aspect-ratio: 1/1;
  background: var(--gray02);
  border-radius: 100%;
}
body.home .other-wrap .other-item_image img {
  filter: brightness(0) saturate(100%) invert(40%) sepia(6%) saturate(25%) hue-rotate(315deg) brightness(95%) contrast(87%);
}
body.home .other-wrap .other-item .item-recruit_text {
  width: min(100%, 475px);
}
body.home .other-wrap .other-item .item-recruit_text .home-ttl_box {
  margin-bottom: 1.25em;
}
body.home .other-wrap .other-item .item-recruit_text>p {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.15em;
}
body.home .other-wrap .other-item .item-recruit_link {
  width: min(100%, 480px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1.25em;
}
body.home .other-wrap .other-item .common_btn {
  margin: 0;
}
body.home .banner-wrap {
  background: var(--point_color);
  padding: 4.25em 1em;
}
body.home .banner-list {
  width:min(100%,1464px);
  width: min(100%, 1168px);
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap:wrap;
  gap: 1em;
  margin-inline: auto;
}
body.home .banner-list li {
  position:relative;
  z-index:10;
  width: min(calc((100% - (1em * 3)) / 4),280px);
  background: var(--white);
  border-radius: 0.25em;
  overflow: hidden;
}
body.home .banner-list li .preparation{
  position:absolute;
  z-index:10;
  inset:0;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  font-size:1.125rem;
  font-weight:bold;
  color:var(--white);
  background:rgba(0,0,0,0.5);
}
body.home .banner-list a {
  display: block;
  transition: opacity .4s;
}
@media (any-hover: hover) and (any-pointer: fine) {
  body.home .search-wrap .search-btn a:hover,
  body.home .other-wrap .other-item:not(.item-recruit) a:hover {
    translate: 0 -5px;
  }
  body.home .brand-wrap .brand-item a:hover .brand-item_image img,
  body.home .ir-wrap .ir-item a:hover .ir-item_image img {
    scale: 1.05;
  }
  body.home .banner-list a:hover {
    opacity: 0.4;
  }
  body.home .ir-wrap .ir-item a:hover .ir-item_icon {
    color: var(--white);
    background: var(--point_color);
  }
}
@media screen and (max-width:1750px) {
  body.home .mission-wrap .mission-ttl {
    left: 2%;
    font-size: min(12vw,10rem);
  }
  body.home .mission-wrap .mission-image_box {
    width: 41.75%;
    right: 4%;
    translate: 0;
  }
  body.home .mission-wrap .mission-image.img02 {
    width: 46.6233766234%;
    bottom: -18%;
    left: -28%;
  }
  body.home .mission-wrap .mission-image.img03 {
    width: 18.6285714286%;
    bottom: auto;
    left: auto;
    top: 70%;
    right: 1%;
    translate: 0 -50%;
  }
  body.home .mission-wrap .mission-text_box {
    margin-block: 6vw;
  }
}
@media screen and (max-width:1510px) {
  body.home .banner-list {
    width: min(100%,1168px);
  }
}
@media screen and (max-width:1250px) {
  body.home .mission-wrap .mission-text_box p {
    width: min(100%, 420px);
  }
}
@media screen and (max-width:1200px) {
  body.home .brand-wrap .brand-list {
    gap: 2em 1.5em;
  }
  body.home .brand-wrap .brand-item {
    width: calc((100% - 4.5em) / 3);
  }
}
@media screen and (max-width:767px) {
  body.home .home-ttl_box {
    gap: 0.25em;
    font-size: 0.85714285714rem;
  }
  body.home .home-ttl_box .home-ttl {
    font-size: 2em;
  }
  body.home .home-ttl_box.text-left {
    align-items: center;
    text-align: center;
  }
  body.home .home-ttl_box.text-small {
    font-size: 0.75rem;
  }
  body.home .home-ttl_box.text-small .home-ttl {
    font-size: 1.55555555556em;
  }
  body.home .mv-wrap {
    padding-block: 4.28571428571em 2rem;
  }
  body.home .mv-wrap .mv-inner {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    flex-direction: column;
    width: 100vw;
    aspect-ratio: 29 / 28;
    margin-top: 1em;
    margin-bottom: 2.25em;
  }
  body.home .mv-wrap .mv-bg_wrap {
    position: absolute;
    z-index: -10;
    inset: 0 0 auto;
  }
  body.home .mv-wrap .mv-bg_list {
    gap: .75em;
    padding-right: .75em;
  }
  body.home .mv-wrap .mv-bg_item {
    width: 100.533333333vw;
    aspect-ratio: 29/28;
    border-radius: 1.075em;
  }
  body.home .mv-wrap .mv-text_wrap {
    position: relative;
    inset: 0 auto;
    padding: 0 1em 1em;
  }
  body.home .mv-wrap .mv-text_inner::after {
    inset: auto auto -1em 0;
    width: min(75vw, 300px);
    height: min(33vw, 130px);
    background: var(--bg_color);
    border-radius: 0 1.5em 0 0;
  }
  body.home .mv-wrap .mv-ttl {
    gap: 1rem;
    font-size: min(8.4vw, 32px);
    letter-spacing: 0.05rem;
  }
  html:is([lang="en"]) body.home .mv-wrap .mv-text_wrap {
    padding-top: 75vw;
  }
  html:is([lang="en"]) body.home .mv-wrap .mv-ttl {
    font-size: min(5.7vw, 32px);
    margin-bottom: 1rem;
  }
  body.home .mv-wrap .mv-text {
    width: 100%;
    font-size: 1rem;
  }
  body.home .mv-brand_wrap:first-child {
    margin-bottom: 0.75em;
  }
  body.home .mv-brand_wrap:nth-child(2) {
    translate: calc(32.5px + 0.75em);
  }
  body.home .mv-brand_wrap .mv-brand_list {
    gap: 0.75em;
    padding-right: 0.75em;
  }
  body.home .mv-brand_wrap .mv-brand_list li {
    width: 75px;
  }
  body.home .search-wrap {
    padding-block: 3em;
  }
  body.home .search-wrap .search-btn a {
    min-height: 7.25em;
    border-radius: 1em;
  }
  body.home .brand-wrap {
    border-radius: 2.14285714286em;
    padding: 3.5em 1em;
  }
  body.home .brand-wrap .brand-list {
    gap: 1.25em;
  }
  body.home .brand-wrap .brand-item {
    width: calc((100% - 1.25em) / 2);
    border-radius: 0.5em;
  }
  body.home .brand-wrap .brand-item a .brand-item_text {
    font-size: 0.71428571428rem;
    padding: 0.75em 1em;
  }
  body.home .brand-wrap .brand-item a .brand-item_ttl {
    font-size: 1.6em;
  }
  body.home .brand-wrap .brand-item a .brand-item_sub {
    gap: 0.5em;
    font-size: 1em;
  }
  body.home .news-wrap {
    padding-block: 3.5em;
  }
  body.home .news-wrap .home-ttl_box,
  body.home .news-wrap .common_btn,
  body.home .news-wrap .topics-list {
    float: none;
    width: 100%;
  }
  body.home .news-wrap .common_btn a {
    margin-inline: auto;
  }
  body.home .mission-wrap {
    border-radius: 2.14285714286em 0 0 0;
    padding-block: 3em;
  }
  body.home .mission-wrap .mission-ttl {
    position: relative;
    top: 0;
    left: 0;
    font-size: min(21.3333333333vw, 80px);
    line-height: 1;
    white-space: pre-wrap;
  }
  body.home .mission-wrap .mission-image_box {
    position: static;
    width: 80%;
    translate: 0;
    margin-left: auto;
    margin-top: -2em;
  }
  body.home .mission-wrap .mission-text_box {
    margin-block: 6em 0;
  }
  body.home .mission-wrap .mission-subttl {
    font-size: 1.71428571429rem;
    line-height: 1.3;
    margin-bottom: 0.75em;
  }
  body.home .mission-wrap .mission-text_box p {
    width: 100%;
    margin-bottom: 1.25em;
  }
  body.home .mission-wrap .mission-text_box .common_btn a {
    margin: 0 auto;
  }
  body.home .mission-wrap .mission-image {
    border-radius: 1rem;
  }
  body.home .mission-wrap .mission-image.img02 {
    width: 55%;
    left: -24.5%;
  }
  body.home .mission-wrap .mission-image.img03 {
    display: none;
  }
  body.home .ir-wrap {
    padding-block: 3em;
  }
  body.home .ir-wrap .ir-list {
    flex-direction: column;
    padding-bottom: 3em;
    margin-bottom: 3em;
  }
  body.home .ir-wrap .ir-item {
    flex: 1;
  }
  body.home .ir-wrap .ir-item a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.75em;
  }
  body.home .ir-wrap .ir-item a .ir-item_image {
    width: min(40%, 130px);
    aspect-ratio: 130/92;
    border-radius: 0.5em;
    margin-bottom: 0;
  }
  body.home .ir-wrap .ir-item a .ir-item_image img {
    object-fit: cover;
    max-width: inherit;
    width: 100%;
    height: 100%;
  }
  body.home .ir-wrap .ir-item a .ir-item_ttl {
    align-items: center;
    width: min(60%, calc(100% - 130px));
  }
  body.home .ir-wrap .ir-item a .home-ttl_box {
    width: calc(100% - 20px);
    align-items: flex-start;
    text-align: left;
  }
  body.home .ir-wrap .ir-item a .ir-item_icon {
    width: 2em;
    font-size: 0.75rem;
  }
  body.home .ir-wrap .ir-item a .home-ttl_box {
    margin: 0;
  }
  body.home .ir-wrap .ir-news_box {
    flex-direction: column;
    gap: 1.5em;
  }
  body.home .ir-wrap .ir-news_box .common_btn {
    order: 3;
    margin-top: 1em;
  }
  body.home .ir-wrap .ir-news_box .topics-list {
    order: 2;
  }
  body.home .other-wrap {
    border-radius: 2.14285714286em 2.14285714286em 0 0;
    padding-block: 3em;
  }
  body.home .other-wrap .other-inner {
    gap: 1.5em;
  }
  body.home .other-wrap .other-item:not(.item-recruit) {
    width: calc((100% - 1.5em) / 2)
  }
  body.home .other-wrap .other-item:not(.item-recruit) a,
  body.home .other-wrap .other-item.item-recruit {
    justify-content: flex-start;
    flex-direction: column;
    gap: 1em;
    min-height: 0;
    padding: 1em;
  }
  body.home .other-wrap .other-item:not(.item-recruit) a {
    flex-direction: column-reverse;
  }
  body.home .other-wrap .other-item_image {
    width: min(36%, 60px);
  }
  body.home .other-wrap .other-item .item-recruit_link {
    align-items: center;
    flex-direction: column;
  }
  body.home .banner-wrap {
    padding: 2.25em 15px;
  }
  body.home .banner-list {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  body.home .banner-list li {
    width: min(calc((100% - 1em)/ 2), 50%);
  }
}
/* IR情報
-------------------------------------------------------------------*/
body.post-name-ir .topics-list+.common_btn {
  margin-top: 3.5em;
}
body.post-name-ir .ir-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1em 1.65em;
  width: min(100%, 1000px);
  margin: 5em auto 0;
  padding: 0;
}
body.post-name-ir .ir-item {
  width: min(calc((100% - 1.65em)/2), 230px);
  margin: 0;
}
body.post-name-ir .ir-item a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.625em;
  color: var(--black);
  text-decoration: none;
}
body.post-name-ir .ir-item a .ir-item_image {
  border-radius: 1em;
  overflow: hidden;
}
body.post-name-ir .ir-item a .ir-item_image img {
  scale: 1.01;
  transition: scale .4s;
}
body.post-name-ir .ir-item a .ir-item_text {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.5em;
  width: 100%;
  font-size: 1.125rem;
}
body.post-name-ir .ir-item a .ir-item_ttl {
  font-size: 1em;
  font-weight: bold;
  margin: 0;
}
body.post-name-ir .ir-item a .ir-item_text i {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 3.3335em;
  aspect-ratio: 1/1;
  font-size: .5em;
  color: var(--point_color);
  background: var(--white);
  border: 1px solid var(--point_color);
  border-radius: 100%;
  transition: color .4s, background .4s;
  margin: 0;
}
body.post-name-ir .ir-item a .ir-item_text i::before {
  display: block;
  content: "\2192";
  font-size: 1em;
}
@media (any-hover: hover) and (any-pointer: fine) {
  body.post-name-ir .ir-item a:hover .ir-item_image img {
    scale: 1.05;
  }
  body.post-name-ir .ir-item a:hover .ir-item_text i {
    color: var(--white);
    background: var(--point_color);
  }
}
@media screen and (max-width: 767px) {
  body.post-name-ir .topics-list+.common_btn {
    margin-top: 2em;
  }
  body.post-name-ir .ir-list {
    flex-wrap: wrap;
    margin: 3.5em auto 0;
  }
  body.post-name-ir .ir-item {
    width: min(calc((100% - 1.65em)/2), 230px);
  }
  body.post-name-ir .ir-item a .ir-item_image {
    border-radius: 0.5em;
  }
  body.post-name-ir .ir-item a .ir-item_text {
    font-size: 1rem;
  }
  body.post-name-ir .ir-item a .ir-item_text i {
    width: 2em;
    font-size: 0.85em;
  }
}
/* よくある質問
-------------------------------------------------------------------*/
body.post-type-faq .faq-list:not(:last-child) {
  margin-bottom: 6em;
}
body.post-type-faq .faq-item {
  border-top: 1px solid #bdbdbd;
  margin: 0;
}
body.post-type-faq .faq-item:last-child {
  border-bottom: 1px solid #bdbdbd;
}
body.post-type-faq .faq-item .faq-item_ttl {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 1.5rem;
  min-height: 3.5556em;
  font-size: 1.125rem;
  font-weight: bold;
  padding: 0.75rem 1.25rem;
  padding-right: 3.25rem;
  margin: 0;
  cursor: pointer;
}
body.post-type-faq .faq-item .faq-item_ttl::before,
body.post-type-faq .faq-item .faq-item_ttl::after {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 1.25em;
  height: 3px;
  background: var(--black);
  top: 50%;
  right: 1.25em;
  translate: 0 -50%;
}
body.post-type-faq .faq-item .faq-item_ttl::after {
  rotate: 90deg;
  transition: rotate .4s;
}
body.post-type-faq .faq-item .faq-item_ttl.opened::after {
  rotate: 360deg;
}
body.post-type-faq .faq-item .faq-item_ttl span,
body.post-type-faq .faq-item .faq-item_text span {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  min-width: 1em;
  aspect-ratio: 1/1;
  font-size: 2rem;
  line-height: 1;
}
body.post-type-faq .faq-item .faq-item_text {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5rem;
  font-size: 1rem;
  line-height: 1.8;
  background: var(--bg_color02);
  padding: 0.75rem 1.25rem;
}
body.post-type-faq .faq-item .faq-item_text span {
  color: var(--gray01);
}
body.post-type-faq .faq-item .faq-item_text a{
  text-underline-offset:0.35em;
}
@media screen and (max-width: 767px) {
  body.post-type-faq .faq-list:not(:last-child) {
    margin-bottom: 3em;
  }
  body.post-type-faq .faq-item .faq-item_ttl {
    gap: 1rem;
    min-height: 3.5556em;
    font-size: 1rem;
    font-weight: bold;
    padding: 0.5rem 0.75rem;
    padding-right: 2.5rem;
  }
  body.post-type-faq .faq-item .faq-item_ttl::before,
  body.post-type-faq .faq-item .faq-item_ttl::after {
    width: 1em;
    height: 2px;
    right: 0.75em;
  }
  body.post-type-faq .faq-item .faq-item_ttl span,
  body.post-type-faq .faq-item .faq-item_text span {
    font-size: 1.5rem;
  }
  body.post-type-faq .faq-item .faq-item_text {
    gap: 1rem;
    font-size: 1rem;
    line-height: 1.6;
    padding: 0.5rem 0.75rem;
  }
}
/* ブランド紹介
-------------------------------------------------------------------*/
body.post-type-brand .brand-type_list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 1.5em;
  padding: 0;
  margin: 0;
  margin-inline: auto;
}
body.post-type-brand .brand-type_item {
  width: calc((100% - 4.5em) / 4);
  border-radius: 1em;
  overflow: hidden;
  padding: 0;
  margin: 0;
}
body.post-type-brand .brand-type_item a {
  position: relative;
  z-index: 10;
  display: block;
}
body.post-type-brand .brand-type_item a::after {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  inset: 0;
  background: rgb(0, 0, 0);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 44%);
}
body.post-type-brand .brand-type_item a .brand-type_image img {
  width: 100%;
  scale: 1.01;
  transition: scale .4s;
}
body.post-type-brand .brand-type_item a .brand-type_text {
  position: absolute;
  z-index: 20;
  inset: 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  font-size: 0.875rem;
  color: var(--white);
  padding: .75em 1em;
}
body.post-type-brand .brand-type_item a .brand-type_ttl {
  text-align: left;
  font-size: 1.71428571429em;
  font-weight: 500;
  line-height: 1.4;
  margin: 0;
}
body.post-type-brand .brand-type_item a .brand-type_sub {
  width: 100%;
  font-weight: bold;
  line-height: 1.4;
  font-size: min(1vw,1em);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0;
}
body.post-type-brand .h_style03 {
  margin-top: 4.5em;
}
body.post-type-brand .brand-list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 1.5em;
  padding: 0;
  margin: 0;
}
body.post-type-brand .brand-item {
  width: calc((100% - 4.5em) / 4);
  border: 1px solid #d9d9d9;
  border-radius: 1em;
  overflow: hidden;
  padding: 0;
  margin: 0;
}
body.post-type-brand .brand-item a {
  text-decoration: none;
}
body.post-type-brand .brand-item_image {
  overflow: hidden;
}
body.post-type-brand .brand-item_image img {
  scale: 1.01;
  transition: scale .4s;
}
body.post-type-brand .brand-item_logo {
  text-align: center;
}
body.post-type-brand .brand-item_logo.landscape img{
  object-fit:cover;
  object-position:center;
  max-width: inherit;
  width: min(100%,130px);
  aspect-ratio:1.625/1;
}
body.post-type-brand .brand-item_text {
  color: var(--black);
  padding: 0.5em 1em 0.75em;
}
body.post-type-brand .brand-item_name {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 0.5em;
}
body.post-type-brand .brand-item_lead {
  line-height: 1.2;
  margin: 0;
}
@media (any-hover: hover) and (any-pointer: fine) {
  body.post-type-brand .brand-type_item a:hover .brand-type_image img,
  body.post-type-brand a:hover .brand-item_image img {
    scale: 1.05;
  }
}
@media screen and (max-width: 767px) {
  body.post-type-brand .brand-type_list {
    gap: 0.75em;
  }
  body.post-type-brand .brand-type_item {
    width: calc((100% - 0.75em) / 2);
    border-radius: 0.5em;
  }
  body.post-type-brand .brand-type_item a::after {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 60%);
  }
  body.post-type-brand .brand-type_item a .brand-type_text {
    font-size: 0.71428571428rem;
  }
  body.post-type-brand .brand-type_item a .brand-type_ttl {
    font-size: 1.6em;
  }
  body.post-type-brand .brand-type_item a .brand-type_sub{
    font-size:0.875em;
  }
  body.post-type-brand .h_style03 {
    margin-top: 2.5em;
  }
  body.post-type-brand .brand-list {
    gap: 1.5em 0.75em;
  }
  body.post-type-brand .brand-item {
    width: calc((100% - 0.75em) / 2);
    border-radius: 0.5em;
  }
  body.post-type-brand .brand-item_logo {
    text-align: center;
    width: min(35%, 80px);
    margin-inline: auto;
  }
  body.post-type-brand .brand-item_logo img {
    object-fit: cover;
    max-width: inherit;
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
  }
  body.post-type-brand .brand-item_logo.landscape img{
    width: 162.5%;
    translate: -50%;
    margin-left: 50%;
  }
  body.post-type-brand .brand-item_text {
    padding: 0.25em 0.75em 0.75em;
  }
  body.post-type-brand .brand-item_name {
    font-size: 1rem;
  }
  body.post-type-brand .brand-item_lead {
    font-size: 0.85714285714rem;
  }
}
/* 採用情報
-------------------------------------------------------------------*/
body.post-name-recruit .site-body .container {
  width: min(96.3541666667%, 1850px) !important;
}
body.post-name-recruit .recruit-list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 1.5em 1em;
  padding: 0;
  margin: 0;
}
body.post-name-recruit .recruit-item {
  margin: 0;
}
body.post-name-recruit .recruit-item a {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.625em;
  color: var(--black);
  text-decoration: none;
}
body.post-name-recruit .recruit-item a .recruit-item_image {
  border-radius: 1em;
  overflow: hidden;
}
body.post-name-recruit .recruit-item a .recruit-item_image img {
  scale: 1.01;
  transition: scale .4s;
}
body.post-name-recruit .recruit-item a .recruit-item_text {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5em;
  width: 100%;
  font-size: 1.5rem;
}
body.post-name-recruit .recruit-item a p {
  font-size: 1em;
  font-weight: bold;
  margin: 0;
}
body.post-name-recruit .recruit-item a .recruit-item_text i {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 2.25em;
  aspect-ratio: 1/1;
  font-size: 0.6667em;
  color: var(--point_color);
  background: var(--white);
  border: 1px solid var(--point_color);
  border-radius: 100%;
  transition: color .4s, background .4s;
  margin: 0;
}
body.post-name-recruit .recruit-item a .recruit-item_text i::before {
  display: block;
  content: "\2192";
  font-size: 1em;
}
@media (any-hover: hover) and (any-pointer: fine) {
  body.post-name-recruit .recruit-item a:hover .recruit-item_image img {
    scale: 1.05;
  }
  body.post-name-recruit .recruit-item a:hover .recruit-item_text i {
    color: var(--white);
    background: var(--point_color);
  }
}
@media screen and (max-width: 767px) {
  body.post-name-recruit .site-body .container {
    width: 100% !important;
  }
  body.post-name-recruit .recruit-list {
    flex-wrap: wrap;
  }
  body.post-name-recruit .recruit-item {
    width: 100%;
  }
  body.post-name-recruit .recruit-item a .recruit-item_image img {
    aspect-ratio: 2/1;
    object-fit: cover;
    max-width: inherit;
    width: 100%;
    height: 100%;
  }
  body.post-name-recruit .recruit-item a .recruit-item_text {
    font-size: 1.25rem;
  }
}
body.post-name-career main {
  padding: 0;
}
body.post-name-career .career-lead_wrap .career-lead {
  text-align: center;
  font-size: 2.25rem;
  font-weight: 500;
  line-height: 1.8;
  margin: 0;
}
body.post-name-career .career-lead_wrap .career-lead_imagebox {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.25em;
  margin-top: 6em;
}
body.post-name-career .career-lead_wrap .career-lead_image{
  overflow:hidden;
  aspect-ratio: 320/520;
}
body.post-name-career .career-message_wrap {
  color: var(--white);
  background: #D9BF8E;
  background: linear-gradient(0deg, #d9bf8e 0%, #ab7c48 100%);
  border-radius: 3.75em;
  /* padding-block: 5.75em; */
  /* margin-top: -6.25em; */
  width: min(90%,1200px);
  border-radius: 1.5em;
  padding-block: 2.5em;
  margin-top: 3.5em;
  margin-inline: auto;
}
body.post-name-career .career-message_wrap .sitewrap{
  margin-left:50%;
  translate:-50%;
}
body.post-name-career .career-message_wrap .career-message_inner {
  text-align: center;
}
body.post-name-career .career-message_wrap .career-message_ttl_box {
  position: relative;
  z-index: 10;
  padding-top: 1.25em;
}
body.post-name-career .career-message_wrap .career-message_ttl {
  text-align: center;
  font-size: 2.125rem;
  font-weight: bold;
  color: var(--white);
  letter-spacing: 0.1em;
  margin-bottom: 1.5em;
  margin-bottom: 0.75em;
}
body.post-name-career .career-message_wrap .career-message_sub {
  position: absolute;
  z-index: -5;
  text-align: center;
  font-size: 6.25rem;
  color: var(--bg_color02);
  line-height: 0.78;
  text-transform: uppercase;
  white-space: nowrap;
  inset: 0 auto auto 50%;
  translate: -50%;
  margin: 0;
  opacity: 0.3;
}
body.post-name-career .career-message_wrap .career-message_textbox>p {
  font-size: 2.125rem;
  font-size: 1.5rem;
  margin-block: 1.5em;
}
body.post-name-career .career-message_wrap .career-message_moviebox {
  width: min(100%, 540px);
  margin-inline: auto;
}
body.post-name-career .career-interview_wrap {
  padding-block: 7.5em;
}
body.post-name-career .career-interview_wrap .h_style2,
body.post-name-career .career-brand_wrap .h_style2 {
  margin-bottom: 1.125em;
}
body.post-name-career .career-interview_wrap .slick-list {
  overflow: visible;
  overflow-y: clip;
}
body.post-name-career .career-interview_wrap .career-slide_item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: min(95vw, 1200px) !important;
  background: #f5f4f1;
  border-radius: 1em;
  padding: min(3.5vw, 3em);
  margin-inline: 2.5vw;
}
body.post-name-career .career-interview_wrap .career-slide_textbox {
  width: min(55%, 590px);
}
body.post-name-career .career-interview_wrap .career-slide_ttl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.25em;
  font-size: 2.125rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: var(--black);
  margin-bottom: 0.5em;
}
body.post-name-career .career-interview_wrap .career-slide_ttl::before {
  display: inline-block;
  content: "";
  width: 1.32352941176em;
  aspect-ratio: 80/60;
  background: url(../img/top/icon-dash.svg) no-repeat;
  background-size: contain;
  margin: 0;
}
body.post-name-career .career-interview_wrap .career-slide_name {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 2.5em;
}
body.post-name-career .career-interview_wrap .career-slide_article {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin: 0;
}
body.post-name-career .career-interview_wrap .career-slide_imagebox {
  width: min(40%, 430px);
  border-radius: 1em;
  overflow: hidden;
}
body.post-name-career .career-interview_wrap .slick-slider .slick-arrow {
  left: -2.85em;
}
body.post-name-career .career-interview_wrap .slick-slider .slick-arrow.slick-next {
  left: auto;
  right: -2.85em;
}
body.post-name-career .career-brand_wrap {
  background: var(--bg_color02);
  border-radius: 3.75em 3.75em 0 0;
  padding-block: 8.75em;
}
body.post-name-career .career-brand_wrap .career-brand_list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 1.5em;
  margin: 0;
  padding: 0;
}
body.post-name-career .career-brand_wrap .career-brand_item {
  width: calc((100% - 4.5em) / 4);
  margin: 0;
}
body.post-name-career .career-brand_wrap .career-brand_item:is(:nth-last-child(1), :nth-last-child(2)) {
  width: calc((100% - 1.5em) /2);
}
body.post-name-career .career-brand_wrap .career-brand_item a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  height: 100%;
  color: var(--white);
  background: var(--white);
  border: 1px solid #d9d9d9;
  border-radius: 1em;
  overflow: hidden;
  text-decoration: none;
  transition: translate .4s;
}
body.post-name-career .career-brand_wrap .career-brand_item p:not(:last-child) {
  text-align: center;
  color: var(--black);
  line-height: 1.6;
  padding-inline: 0.75em;
  margin-bottom: 0.75em;
}
body.post-name-career .career-brand_wrap .career-brand_item p:last-child {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  min-height: 2.5em;
  font-size: min(2vw, 1.25rem);
  font-weight: bold;
  background: var(--black);
  padding-inline: 2.25em;
  margin: 0;
}
body.post-name-career .career-brand_wrap .career-brand_item p:last-child::after {
  position: absolute;
  z-index: -10;
  display: inline-block;
  content: "\2192";
  font-size: 0.9em;
  color: var(--white);
  top: 50%;
  right: 1em;
  translate: 0 -50%;
}
@media (any-hover: hover) and (any-pointer: fine) {
  body.post-name-career .career-brand_wrap .career-brand_item a:hover {
    translate: 0 -5px;
  }
}
@media screen and (max-width: 1320px) {
  body.post-name-career .career-interview_wrap .slick-slider .slick-arrow {
    width: max(5vw, 48px);
    left: -2vw;
  }
  body.post-name-career .career-interview_wrap .slick-slider .slick-arrow.slick-next {
    left: auto;
    right: -2vw;
  }
}
@media screen and (max-width: 767px) {
  body.post-name-career .career-lead_wrap .career-lead {
    font-size: min(3.65vw, 1rem);
  }
  body.post-name-career .career-lead_wrap .career-lead_imagebox {
    flex-wrap: wrap;
    margin-top: 4em;
  }
  body.post-name-career .career-lead_wrap .career-lead_image {
    width: calc((100% - (0.25em * 2)) / 3);
    aspect-ratio: 1/1;
  }
  body.post-name-career .career-lead_wrap .career-lead_image img {
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: top center;
    max-width: inherit;
    width: 100%;
    height: 100%;
  }
  body.post-name-career .career-message_wrap {
    border-radius: 2em;
    padding-block: 3.5em;
    /* margin-top: -2em; */
    border-radius: 1em;
    padding-block: 1.5em;
    margin-top: 1.5em;
    width: calc(100% - 30px);
  }
  body.post-name-career .career-message_wrap .career-message_inner {
    flex-direction: column;
    gap: 1.5em;
  }
  body.post-name-career .career-message_wrap .career-message_textbox,
  body.post-name-career .career-message_wrap .career-message_moviebox {
    width: 100%;
  }
  body.post-name-career .career-message_wrap .career-message_ttl {
    font-size: 1.75rem;
    margin-bottom: 0.75em;
  }
  body.post-name-career .career-message_wrap .career-message_sub {
    font-size: 16.5vw;
    font-size: 15vw;
    top: 58%;
    translate: -50% -50%;
  }
  body.post-name-career .career-message_wrap .career-message_textbox>p {
    font-size: min(4.5vw, 1.25rem);
    font-size: min(4vw, 1.25rem);
  }
  body.post-name-career .career-interview_wrap {
    padding-block: 4.5em;
  }
  body.post-name-career .career-interview_wrap .career-slide_item {
    flex-direction: column-reverse;
    gap: 2em;
    padding: 2em;
  }
  body.post-name-career .career-interview_wrap .career-slide_textbox,
  body.post-name-career .career-interview_wrap .career-slide_imagebox {
    width: 100%;
  }
  body.post-name-career .career-interview_wrap .career-slide_ttl {
    font-size: 1.5rem;
  }
  body.post-name-career .career-interview_wrap .career-slide_name {
    margin-bottom: 1.5em;
  }
  body.post-name-career .career-interview_wrap .career-slide_imagebox img {
    aspect-ratio: 6/5;
    object-fit: cover;
    object-position: top center;
  }
  body.post-name-career .career-interview_wrap .slick-slider .slick-arrow {
    align-items: flex-end;
    width: 3em;
    left: -2em;
    padding-inline: 0.5em;
  }
  body.post-name-career .career-interview_wrap .slick-slider .slick-arrow.slick-next {
    align-items: flex-start;
    left: auto;
    right: -2em;
  }
  body.post-name-career .career-brand_wrap {
    border-radius: 2em 2em 0 0;
    padding-block: 3.5em;
  }
  body.post-name-career .career-brand_wrap .career-brand_list {
    gap: 1em 1.25em;
  }
  body.post-name-career .career-brand_wrap .career-brand_item {
    width: calc((100% - 1.25em) / 2);
  }
  body.post-name-career .career-brand_wrap .career-brand_item:is(:nth-last-child(1), :nth-last-child(2)) {
    width: 100%;
  }
  body.post-name-career .career-brand_wrap .career-brand_item p,
  body.post-name-career .career-brand_wrap .career-brand_item p:last-child {
    font-size: min(4vw, 1rem);
  }
}
/* 企業情報
-------------------------------------------------------------------*/
body.post-name-message main p {
  margin: 0;
}
body.post-name-message .greeting-wrap {
  padding-bottom: 6.5em;
}
body.post-name-message .greeting-box {
  min-width: min(calc(100vw - 4%), 1330px);
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2em 3em;
}
body.post-name-message .greeting-box .greeting-text_box {
  width: 68.5%;
}
body.post-name-message .greeting-box .greeting-text_box p {
  font-size: 1rem;
  line-height: 1.6;
}
body.post-name-message .greeting-box .greeting-text_box p:not(:first-of-type) {
  margin-top: 1.5em;
}
body.post-name-message .greeting-box .greeting-image_box {
  width: min(30% , 369px);
}
body.post-name-message .greeting-box .greeting-image {
  border-radius: 1em;
  overflow: hidden;
}
body.post-name-message .greeting-box .greeting-image img {
  object-fit: cover;
  object-position: center bottom;
  aspect-ratio: 3/4;
}
body.post-name-message .greeting-box .greeting-name {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 0.25em 1em;
  font-size: 1rem;
  margin-top: 1.5em;
}
body.post-name-message .greeting-box .greeting-name em {
  font-size: 1.375em;
  font-weight: 600;
}
body.post-name-message .vision-wrap {
  background: var(--bg_color02);
  border-radius: 3.75em;
  padding-block: 6.5em 10em;
}
body.post-name-message .vision-wrap .h_style2_box .h_style2_sub {
  color: var(--white);
}
body.post-name-message .vision-wrap .vision-box {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
  gap: 1em 2em;
  width: min(calc(100vw - 4%), 1330px);
  margin-top: 8em;
  margin-inline: auto;
  translate: 65px;
}
body.post-name-message .vision-wrap .vision-box:nth-child(odd) {
  flex-direction: row;
  translate: -65px;
}
body.post-name-message .vision-wrap .vision-box::before {
  position: absolute;
  z-index: -10;
  display: inline-block;
  content: "";
  width: 1080px;
  height: calc(100% + 80px);
  background: var(--white);
  border-radius: 1.7em;
  top: 50%;
  left: calc(50% - 250px);
  translate: -50% -50%;
}
body.post-name-message .vision-wrap .vision-box:nth-child(odd)::before {
  left: calc(50% + 250px);
}
body.post-name-message .vision-wrap .vision-image {
  width: min(calc(100% - 555px - 2em), 670px);
  height: 467px;
  border-radius: 1em;
  overflow: hidden;
}
body.post-name-message .vision-wrap .vision-image img {
  object-fit: cover;
  max-width: inherit;
  width: 100%;
  height: 100%;
}
body.post-name-message .vision-wrap .vision-text_wrap {
  width: 555px;
}
body.post-name-message .vision-wrap .vision-ttl_box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  font-size: 1rem;
  margin-bottom: 1.75em;
}
body.post-name-message .vision-wrap .vision-ttl_box .vision-num {
  display: inline-flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 0.5em;
  font-size: 1.125em;
  text-transform: uppercase;
}
body.post-name-message .vision-wrap .vision-ttl_box .vision-num em {
  font-size: 1.555556em;
}
body.post-name-message .vision-wrap .vision-ttl_box .vision-ttl {
  font-size: 2.5em;
  font-weight: bold;
  margin: 0;
}
body.post-name-message .vision-wrap .vision-lead {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 2em;
}
body.post-name-message .about-wrap {
  padding-block: 6.5em;
}
body.post-name-message :is(.about-wrap, .history-wrap, .group-wrap) div[class$="-inner"]>* {
  width: min(100%, 1000px);
  margin-inline: auto;
}
body.post-name-message .about-wrap .h_style03 {
  margin-block: 4em 2em;
}
body.post-name-message .about-wrap .base-box:nth-child(n+2){
  margin-top:3em;
}
body.post-name-message .about-wrap .base-box .table_style a {
  font-size: 0.875em;
}
body.post-name-message .history-wrap {
  background: var(--bg_color02);
  border-radius: 3.75em;
  padding-block: 5em 6.5em;
}
body.post-name-message .group-wrap {
  padding-top: 5em;
}
body.post-name-message .group-wrap .group-list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1.5em 3em;
  padding: 0;
  margin-block: 0;
}
body.post-name-message .group-wrap .group-item {
  width: calc((100% - 6em) / 3);
  margin: 0;
}
body.post-name-message .group-wrap .group-item a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.5em;
  font-size: 1.125rem;
  color: var(--black);
  text-decoration: none;
  transition: translate .4s;
}
body.post-name-message .group-wrap .group-item a .group-item_image {
  border: 1px solid #b3b3b3;
  border-radius: 0.35em;
  overflow: hidden;
}
@media (any-hover: hover) and (any-pointer: fine) {
  body.post-name-message .group-wrap .group-item a:hover {
    translate: 0 -5px;
  }
}
@media screen and (max-width: 1550px) {
  body.post-name-message .vision-wrap .vision-box,
  body.post-name-message .vision-wrap .vision-box:nth-child(odd) {
    translate: 0;
  }
}
@media screen and (max-width: 767px) {
  body.post-name-message .greeting-wrap {
    padding-bottom: 3.5em;
  }
  body.post-name-message .greeting-box {
    min-width: 0;
    flex-direction: column-reverse;
  }
  body.post-name-message .greeting-box .greeting-text_box{
      width: 100%;  
  }
body.post-name-message .greeting-box .greeting-image_box {
      width: 80%;
    margin-inline: auto;
  }
  body.post-name-message .greeting-box .greeting-text_box p:not(:first-of-type) {
    margin-top: 1.25em;
  }
  body.post-name-message .greeting-box .greeting-image img {
    object-position: center -40px;
    aspect-ratio: 8/9;
  }
  body.post-name-message .greeting-box .greeting-name {
    font-size: 1rem;
    margin-top: .75em;
  }
  body.post-name-message .vision-wrap {
    border-radius: 2em;
    padding-block: 3.5em;
  }
  body.post-name-message .vision-wrap .h_style2_box .h_style2_sub {
    font-size: 15vw;
  }
  body.post-name-message .vision-wrap .vision-box,
  body.post-name-message .vision-wrap .vision-box:nth-child(odd) {
    flex-direction: column;
    gap: 1em 2em;
    width: calc(100% - 2em);
    margin-top: 3em;
    margin-inline: 1em;
    padding-bottom: 2.5em;
  }
  body.post-name-message .vision-wrap .vision-box::before,
  body.post-name-message .vision-wrap .vision-box:nth-child(odd)::before {
    width: 100%;
    height: 85%;
    border-radius: 1.25em;
    inset: auto 0 0;
    translate: 0 0;
  }
  body.post-name-message .vision-wrap .vision-image {
    width: 85%;
    height: auto;
    margin-inline: 1em auto;
  }
  body.post-name-message .vision-wrap .vision-box:nth-child(odd) .vision-image {
    margin-inline: auto 1em;
  }
  body.post-name-message .vision-wrap .vision-image img {
    object-fit: cover;
    object-position: center;
    aspect-ratio: 3/2;
  }
  body.post-name-message .vision-wrap .vision-text_wrap {
    width: 100%;
  }
  body.post-name-message .vision-wrap .vision-ttl_box {
    font-size: 0.75rem;
    margin-bottom: 1.5em;
  }
  body.post-name-message .vision-wrap .vision-ttl_box .vision-num {
    font-size: 1em;
  }
  body.post-name-message .vision-wrap .vision-lead {
    margin-top: 1.25em;
  }
  body.post-name-message .about-wrap {
    padding-block: 3.5em;
  }
  body.post-name-message .about-wrap .h_style03 {
    margin-block: 2em 1em;
  }
  body.post-name-message .history-wrap {
    border-radius: 2em;
    padding-block: 3em;
  }
  body.post-name-message .group-wrap {
    padding-top: 3.5em;
  }
  body.post-name-message .group-wrap .group-list {
    gap: 1em 1.5em;
    padding: 0;
    margin-block: 0;
  }
  body.post-name-message .group-wrap .group-item {
    width: calc((100% - 1.5em) / 2);
  }
  body.post-name-message .group-wrap .group-item a {
    font-size: 1rem;
  }
  body.post-name-message .group-wrap .group-item a .group-item_name {
    line-height: 1.4;
  }
}
/* FC事業
-------------------------------------------------------------------*/
body.post-name-franchise main div[class$="-inner"]>* {
  width: min(100%, 1000px);
  margin-inline: auto;
}
body.post-name-franchise main p {
  margin: 0;
}
body.post-name-franchise .wanted-wrap {
  padding-bottom: 10em;
}
body.post-name-franchise .wanted-wrap .wanted-list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 2em 2.5em;
  width: min(100%,1100px);
  padding: 0;
  margin-block: 0;
}
body.post-name-franchise .wanted-wrap .wanted-item {
  width: calc((100% - 2.5em * 2) / 3);
  margin: 0;
  border: 1px solid #d9d9d9;
  border-radius: 1em;
  overflow: hidden;
  padding-bottom: 1.25em;
}
body.post-name-franchise .wanted-wrap .wanted-item a{
  display:block;
  height:100%;
  text-decoration:none;
  color:var(--black);
}
body.post-name-franchise .wanted-wrap .wanted-item .wanted-item_image {
  overflow: hidden;
  margin-bottom: 0.5em;
}
body.post-name-franchise .wanted-wrap .wanted-item .wanted-item_image img{
  transition:scale .4s;
}
body.post-name-franchise .wanted-wrap .wanted-item .wanted-item_logo {
  text-align: center;
  width: 80px;
  height: 80px;
  margin-bottom: 0.25em;
}
body.post-name-franchise .wanted-wrap .wanted-item .wanted-item_logo img {
  object-fit: cover;
  object-position: center;
  max-width: inherit;
  width: 100%;
  height: 100%;
}
body.post-name-franchise .wanted-wrap .wanted-item .wanted-item_logo:not(.logo_normal):not(.logo_wide) img {
  width: 110%;
  height: 110%;
}
body.post-name-franchise .wanted-wrap .wanted-item .wanted-item_logo.logo_wide {
  width: 135px;
  aspect-ratio:135/80;
}
body.post-name-franchise .wanted-wrap .wanted-item .wanted-item_text {
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.6;
  padding-inline: 0.625rem;
}
body.post-name-franchise .achievements-wrap {
  background: var(--bg_color02);
  border-radius: 3.75em;
  padding-block: 5.515em;
  margin-bottom: 7em;
}
body.post-name-franchise .achievements-wrap .achievements-ttl_box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1em;
  text-align: center;
  font-size: 1rem;
  margin-bottom: 3.5em;
  -webkit-text-stroke: 4px #f2f1ee;
  paint-order: stroke;
}
body.post-name-franchise .achievements-wrap .achievements-ttl_box .achievements-ttl {
  font-size: 2.125em;
  font-weight: 600;
  margin: 0;
}
body.post-name-franchise .achievements-wrap .achievements-ttl_box .achievements-sub {
  font-size: 1.375em;
  font-weight: 600;
  line-height: 1.8;
}
body.post-name-franchise .achievements-wrap .achievements-lead {
  text-align: center;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 2em;
  -webkit-text-stroke: 4px #f2f1ee;
  paint-order: stroke;
}
body.post-name-franchise .achievements-wrap .achievements-image_box {
  position: absolute;
  z-index: -10;
  height: 100%;
  top: 50%;
  translate: -50% -50%;
}
body.post-name-franchise .achievements-wrap .achievements-image_box.box_left {
  width: min(32.3%, 620px);
  left: 16%;
}
body.post-name-franchise .achievements-wrap .achievements-image_box.box_right {
  width: min(33.125%, 636px);
  right: -16.625%;
}
body.post-name-franchise .achievements-wrap .achievements-image {
  position: absolute;
  z-index: 10;
  border-radius: 1em;
  overflow: hidden;
}
body.post-name-franchise .achievements-wrap .achievements-image.image01 {
  z-index: 15;
  width: clamp(150px, 29%, 179px);
  top: 40%;
  left: 0;
  border-radius: 0 1em 1em 0;
}
body.post-name-franchise .achievements-wrap .achievements-image.image02 {
  width: clamp(240px, 50%, 305px);
  top: 5%;
  left: 33%;
}
body.post-name-franchise .achievements-wrap .achievements-image.image03 {
  z-index: 20;
  width: clamp(180px, 33%, 203px);
  top: 68%;
  right: 0;
}
body.post-name-franchise .achievements-wrap .achievements-image.image04 {
  width: clamp(160px, 27.4%, 180px);
  top: -9%;
  left: 0;
}
body.post-name-franchise .achievements-wrap .achievements-image.image05 {
  width: clamp(300px, 64%, 405px);
  bottom: 7%;
  right: 0;
}
body.post-name-franchise .support-wrap .support-box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 3em;
  background: var(--bg_color02);
  border-radius: 1em;
  padding: 1.5em 2em;
  margin-top: 1.5em;
}
body.post-name-franchise .support-wrap :nth-last-child(1 of .support-box) {
  margin-bottom: 5em;
}
body.post-name-franchise .support-wrap .support-item_image {
  width: 321px;
  border-radius: 1em;
  overflow: hidden;
}
body.post-name-franchise .support-wrap .support-item_text {
  width: calc(100% - 321px - 3em);
}
body.post-name-franchise .support-wrap .support-item_ttl {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.075em;
  margin-bottom: 0.5em;
}
body.post-name-franchise .support-wrap .support-item_text p {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.075em;
}
body:is(.post-name-franchise,.post-name-property) .contact-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  gap: 1em;
}
body:is(.post-name-franchise,.post-name-property) .contact-box {
  flex: 1;
  background: var(--bg_color02);
  border-radius: 1em;
  padding: 1.5em 2em;
  margin: 0;
}
body:is(.post-name-franchise,.post-name-property) .contact-box>* {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.8;
}
body:is(.post-name-franchise,.post-name-property) .contact-box dt {
  border-bottom: 1px solid #bdbdbd;
  padding-bottom: 0.25em;
  margin-bottom: 0.5em;
}
body:is(.post-name-franchise,.post-name-property) .contact-box a[href^="tel:"] {
  pointer-events: none;
}
body:is(.post-name-franchise,.post-name-property) .contact-box.box_form {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 1em;
}
body.post-name-property .property-wrap .property-lead {
  text-align: center;
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}
body.post-name-property .property-wrap .property-text {
  text-align: center;
  font-size: 1rem;
  margin-bottom: 5em;
}
body.post-name-property .property-wrap .property-box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1em 3.5em;
}
body.post-name-property .property-wrap :nth-last-child(n+2 of .property-box) {
  border-bottom: 1px solid;
  padding-bottom: 2.5em;
  margin-bottom: 2.5em;
}
body.post-name-property .property-wrap :nth-last-child(1 of .property-box) {
  margin-bottom: 7em;
}
body.post-name-property .property-wrap .property-image_box {
  width: 360px;
  text-align: center;
}
body.post-name-property .property-wrap .property-image_logo a{
  display:block;
  overflow:hidden;
}
body.post-name-property .property-wrap .property-image_logo a img{
  transition:scale .4s;
}
body.post-name-property .property-wrap .property-image_picture {
  border-radius: 1em;
  overflow: hidden;
}
body.post-name-property .property-wrap .property-text_box {
  width: calc(100% - 360px - 3.5em);
}
body.post-name-property .property-wrap .table_style dt {
  width: 220px;
}
body.post-name-property .property-wrap .table_style dd {
  width: calc(100% - 220px);
}
body.post-name-property .property-wrap .table_style dd h2 {
  margin: 0;
}
@media (any-hover: hover) and (any-pointer: fine) {
  body.post-name-franchise .wanted-wrap .wanted-item a:hover .wanted-item_image img,
  body.post-name-property .property-wrap .property-image_logo a:hover img{
    scale:1.05;
  }
}
@media screen and (min-width:1921px) {
  body.post-name-franchise .achievements-wrap .achievements-image_box.box_left {
    left: calc(50% - 650px);
  }
  body.post-name-franchise .achievements-wrap .achievements-image_box.box_right {
    right: calc(50% - 1277px);
  }
}
@media screen and (max-width:767px) {
  body.post-name-franchise .wanted-wrap {
    padding-bottom: 7em;
  }
  body.post-name-franchise .wanted-wrap .wanted-list {
    gap: 2em 1.25em;
  }
  body.post-name-franchise .wanted-wrap .wanted-item {
    width: calc((100% - 1.25em) / 2);
    margin: 0;
  }
  body.post-name-franchise .wanted-wrap .wanted-item .wanted-item_image img {
    object-fit: cover;
    max-width: inherit;
    width: 100%;
    height: 100%;
  }
  body.post-name-franchise .wanted-wrap .wanted-item .wanted-item_logo {
    order: 1;
    width: 60px;
    height: 60px;
  }
  body.post-name-franchise .wanted-wrap .wanted-item .wanted-item_logo.logo_wide {
    width: auto;
    height: 60px;
  }
  body.post-name-franchise .wanted-wrap .wanted-item .wanted-item_text {
    text-align: left;
    font-size: 1rem;
  }
  body.post-name-franchise .wanted-wrap .wanted-item .wanted-item_text br {
    display: none;
  }
  body.post-name-franchise .achievements-wrap {
    border-radius: 2em;
    padding-block: 3em 2em;
    margin-bottom: 7em;
  }
  body.post-name-franchise .achievements-wrap .achievements-ttl_box {
    margin-bottom: 1.5em;
  }
  body.post-name-franchise .achievements-wrap .achievements-ttl_box .achievements-ttl {
    font-size: 1.75em;
  }
  body.post-name-franchise .achievements-wrap .achievements-ttl_box .achievements-sub {
    font-size: 1.125em;
  }
  body.post-name-franchise .achievements-wrap .achievements-lead {
    margin-top: 1em;
  }
  body.post-name-franchise .achievements-wrap .achievements-image_box {
    position: relative;
    inset: auto 0 0;
    width: 100% !important;
    aspect-ratio: 2/1;
    margin-top: 2em;
    translate: 0 0;
  }
  body.post-name-franchise .achievements-wrap .achievements-image_box.box_left {
    display: none;
  }
  body.post-name-franchise .achievements-wrap .achievements-image.image04,
  body.post-name-franchise .achievements-wrap .achievements-image.image05 {
    width: 40%;
    aspect-ratio: 6/7;
    top: 0;
    left: 8%;
  }
  body.post-name-franchise .achievements-wrap .achievements-image.image05 {
    left: auto;
    right: 8%;
  }
  body.post-name-franchise .achievements-wrap .achievements-image img {
    object-fit: cover;
    max-width: inherit;
    width: 100%;
    height: 100%;
  }
  body.post-name-franchise .support-wrap .support-box {
    flex-direction: column;
    gap: 1em;
    padding: 1.25em;
    margin-top: 2.5em;
  }
  body.post-name-franchise .support-wrap :nth-last-child(1 of .support-box) {
    margin-bottom: 4em;
  }
  body.post-name-franchise .support-wrap .support-item_image,
  body.post-name-franchise .support-wrap .support-item_text {
    width: 100%;
  }
  body.post-name-franchise .support-wrap .support-item_image img {
    object-fit: cover;
    aspect-ratio: 2/1;
    max-width: inherit;
    width: 100%;
  }
  body.post-name-franchise .support-wrap .support-item_ttl {
    font-size: 1.35rem;
    margin-bottom: 0.25em;
  }
  body.post-name-franchise .support-wrap .support-item_text p {
    line-height: 1.6;
  }
  body:is(.post-name-franchise,.post-name-property) .contact-wrap {
    flex-direction: column;
  }
  body:is(.post-name-franchise,.post-name-property) .contact-box {
    padding: 1.25em;
  }
  body:is(.post-name-franchise,.post-name-property) .contact-box>* {
    font-size: 1rem;
  }
  body:is(.post-name-franchise,.post-name-property) .contact-box a[href^="tel:"] {
    pointer-events: auto;
  }
  body:is(.post-name-franchise,.post-name-property) .contact-box.box_form {
    gap: 0.5em;
  }
  body.post-name-property .property-wrap .property-lead {
    font-size: 1.125rem;
  }
  body.post-name-property .property-wrap .property-text {
    text-align: left;
    margin-bottom: 3em;
  }
  body.post-name-property .property-wrap .property-box {
    flex-direction: column;
    gap: 1em 3.5em;
  }
  body.post-name-property .property-wrap :nth-last-child(n+2 of .property-box) {
    border-bottom: none;
    padding-bottom: 0;
  }
  body.post-name-property .property-wrap :nth-last-child(1 of .property-box) {
    margin-bottom: 1em;
  }
  body.post-name-property .property-wrap .property-image_box {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1em;
    width: 100%;
  }
  body.post-name-property .property-wrap .property-text_box {
    width: 100%;
    margin: 0;
  }
  body.post-name-property .property-wrap .table_style dt,
  body.post-name-property .property-wrap .table_style dd {
    width: 100%;
  }
}
/* 店舗一覧
-------------------------------------------------------------------*/
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) #pan {
  margin-bottom: 4em;
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service):not(.single-shop) .shop-inner{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row-reverse;
  gap: 1.875rem;
}
#shop_search {
  width: min(100%, 330px);
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-main_wrap {
  width: calc(100% - 330px - 1.875rem);
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-main_wrap .shop-number {
  font-size: 1.75rem;
  font-weight: 600;
  margin-bottom: .5em;
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card_list {
  border-top: 1px solid #e3e3e3;
  padding: 0;
  margin: 0;
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card {
  border-bottom: 1px solid #e3e3e3;
  padding-block: 3em;
  margin: 0;
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.25em;
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail .shop-card_image {
  border: 1px solid #d9d9d9;
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail .shop-card_text {
  width: calc(100% - 134px - 1.25em);
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail :is(.newopen,.renew,.closed) {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--white);
  text-transform: uppercase;
  background: #d6281e;
  border-radius: 0.25em;
  padding: 0.125em 0.5em;
  margin-bottom: 0.35em;
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail :is(.renew) {
  background: #56a764;
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail :is(.closed) {
  background: var(--gray01);
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail .shop-card_ttl {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--black);
  margin-bottom: 0.625em;
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail .shop-card_ttl a {
  position: relative;
  z-index: 10;
  display: inline-block;
  color: inherit;
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail .shop-card_ttl a::before {
  position: absolute;
  z-index: 10;
  display: inline-block;
  content: "";
  width: 100%;
  height: 1px;
  background: var(--black);
  left: 0;
  bottom: 0;
  scale: 1 1;
  transform-origin: left;
  transition: scale .4s;
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail .shop-card_text p {
  font-size: 0.875rem;
  margin: 0;
}
body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_category {
  margin-top: 2em;
}
body.post-name-search main {
  background: var(--bg_color);
}
body.post-name-search .search_wrap .search-accordion_wrap .search-accordion_box {
  background: var(--white);
}
@media (any-hover: hover) and (any-pointer: fine) {
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail .shop-card_ttl a:hover::before {
    scale: 0 1;
    transform-origin: right;
  }
}
@media screen and (max-width:767px) {
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) #pan {
    margin-bottom: 2.5em;
  }
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service):not(.single-shop) .shop-inner {
    flex-direction: column-reverse;
    gap: 5rem;
  }
  #shop_search,
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-main_wrap {
    width: 100%;
  }
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-main_wrap .shop-number {
    font-size: 1.14285714286rem;
  }
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-main_wrap .shop-page_link {
    margin: 0;
  }
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-main_wrap .shop-page_link a {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
    gap: 0.5em;
    font-size: 1rem;
    line-height: 1;
    color: var(--black);
    text-decoration: none;
    margin-bottom: 1em;
  }
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-main_wrap .shop-page_link a::before {
    content: "";
    width: 0.5em;
    aspect-ratio: 1/1;
    border-top: 1px solid;
    border-right: 1px solid;
    rotate: 45deg;
    transform: skew(5deg, 5deg);
  }
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card {
    padding-block: 2em;
  }
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail {
    gap: 0.85714285714em;
  }
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail .shop-card_image {
    width: 63px;
  }
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail .shop-card_text {
    width: calc(100% - 63px - 0.85714285714em);
  }
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail .shop-card_ttl {
    font-size: 1rem;
    margin-bottom: 0.25em;
  }
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_detail .shop-card_text p {
    font-size: 1rem;
    line-height: 1.4;
  }
  body:is(.post-type-archive-shop, .post-name-search, .tax-shop-brand, .tax-shop-prefectures, .tax-shop-service) .shop-card .shop-card_category {
    margin-top: 1em;
  }
  body.post-name-search main {
    padding-bottom: 5em;
  }
}
/* 店舗詳細
-------------------------------------------------------------------*/
body.single-shop #pan {
  margin-bottom: 4em;
}
body.single-shop .shop-flex_box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2em;
  margin-bottom: 4em;
}
body.single-shop .shop-flex_box>* {
  flex: 1;
}
body.single-shop .shop-detail_box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 1em;
}
body.single-shop .shop-ttl_box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.25em;
  width: 100%;
}
body.single-shop .shop-ttl_box .shop-ttl_image {
  border: 1px solid #d9d9d9;
}
body.single-shop .shop-ttl_box .shop-ttl_text {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.25em;
  width: calc(100% - calc(1.25em / 2) - 134px);
  font-size: 1.5rem;
}
body.single-shop .shop-ttl_box .shop-ttl_text>* {
  font-weight: bold;
  line-height: 1.2;
  margin-block: 0;
}
body.single-shop .shop-ttl_box .shop-ttl_text .shop-brand {
  font-size: 1.25em;
}
body.single-shop .shop-detail_list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  width: 100%;
  margin: 0;
}
body.single-shop .shop-detail_list>* {
  border-bottom: 1px solid #d9d9d9;
  padding-block: 0.625em;
  margin: 0;
}
body.single-shop .shop-detail_list .shop-detail_ttl {
  width: 120px;
  font-weight: bold;
}
body.single-shop .shop-detail_list .shop-detail_text {
  width: calc(100% - 120px);
}
body.single-shop .shop-detail_list .menu_btn + .menu_btn {
  margin-top: 0.5em;
}
body.single-shop .shop-detail_list .menu_btn a {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.6255em;
  width: 100%;
  min-height: 2.625em;
  font-size: 1rem;
  font-weight: 500;
  color: var(--white);
  border-radius: 0;
  padding: 0.5em 2.25em 0.5em 1.5em;
  text-decoration: none;
  opacity: 1;
  box-shadow: none;
}
body.single-shop .shop-detail_list .menu_btn a::before {
  position: absolute;
  z-index: -10;
  inset: 0;
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
  background: #707070;
  border: 1px solid #707070;
  border-radius: 5em;
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.15));
  transition: filter .4s, transform .4s;
  box-sizing: border-box;
}
body.single-shop .shop-detail_list .menu_btn a::after {
  position: absolute;
  z-index: -10;
  inset: 50% 1em auto auto;
  display: inline-block;
  content: "→";
  translate: 0 -50%;
}
body.single-shop .shop-detail_list .menu_btn.allergy a::before {
  border-color:#d9d9d9;
}
body.single-shop .shop-link_box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5em;
  width: 100%;
}
body.single-shop .shop-link_box .shop-link_btn {
  width: min(100%, 180px);
}
body.single-shop .shop-link_box .shop-link_btn a {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  width: 100%;
  min-height: 3.5em;
  font-size: 1rem;
  font-weight: 500;
  color: var(--white);
  border-radius: 0;
  padding: 0.5em 1em;
  margin: auto;
  text-decoration: none;
  opacity: 1;
  box-shadow: none;
}
body.single-shop .shop-link_box .shop-link_btn a::before {
  position: absolute;
  z-index: -10;
  inset: 0;
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
  background: var(--point_color);
  border: 1px solid var(--point_color);
  border-radius: 5em;
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.15));
  transition: filter .4s, transform .4s;
  box-sizing: border-box;
}
body.single-shop .shop-detail_list .menu_btn a img,
body.single-shop .shop-link_box .shop-link_btn a img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(6220%) hue-rotate(205deg) brightness(106%) contrast(92%);
}
body.single-shop .shop-detail_list .menu_btn.allergy a,
body.single-shop .shop-link_box .shop-link_btn.btn_wht a {
  color: var(--point_color);
}
body.single-shop .shop-detail_list .menu_btn.allergy a::before,
body.single-shop .shop-link_box .shop-link_btn.btn_wht a::before {
  background: var(--bg_color02);
}
body.single-shop .shop-detail_list .menu_btn.allergy a img,
body.single-shop .shop-link_box .shop-link_btn.btn_wht a img {
  filter: brightness(0) saturate(100%) invert(5%) sepia(5%) saturate(4963%) hue-rotate(324deg) brightness(91%) contrast(87%);
}
body.single-shop .shop-service_box {
  border-top: 2px solid var(--point_color);
  margin-bottom: 5em;
}
body.single-shop .shop-service_category {
  border-bottom: 2px solid var(--point_color);
  padding-block: 1em;
  margin: 0;
}
.shop-service_list,
body.single-shop .shop-cashless_box .shop-cashless_list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 0.5em;
  padding: 0;
  margin: 0;
}
.shop-service_list .shop-service_item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.375em;
  width: 10em;
  border: 1px solid #ddd;
  border-radius: 0.25em;
  padding: 0.375em;
  margin: 0;
}
.shop-service_list .shop-service_item .shop-service_image {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 2.5em;
  aspect-ratio: 1/1;
  background: #577ab3;
  border-radius: 0.25em;
  padding: 0.35em;
}
.shop-service_list .shop-service_item:is(.item_credit, .item_cash_less) .shop-service_image {
  background: #4a3830;
}
.shop-service_list .shop-service_item:is(.item_shareholder, .item_special_stockholder) .shop-service_image {
  background: var(--main_color);
}
.shop-service_list .shop-service_item:is(.item_take_out, .item_delivery, .item_mobile_order, .item_bottomless) {
  order:2;
}
.shop-service_list .shop-service_item:is(.item_take_out, .item_delivery, .item_mobile_order, .item_bottomless) .shop-service_image {
  background: #56a764;
}
.shop-service_list .shop-service_item .shop-service_image img {
  object-fit: contain;
  max-width: inherit;
  width: 100%;
  height: 100%;
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(6220%) hue-rotate(205deg) brightness(106%) contrast(92%);
}
.shop-service_list .shop-service_item .shop-service_name {
  width: calc(100% - 0.42857142857em - 2.85714285714em);
  font-size: 0.875em;
  font-weight: 500;
  text-wrap: balance;
}
body.single-shop .shop-cashless_box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5em;
  background: var(--bg_color02);
  border-radius: 0.25em;
  padding: 1em 2em;
  margin-block: 0.625em 0;
}
body.single-shop .shop-cashless_box .shop-cashless_ttl {
  width: 116px;
  font-size: 0.875em;
  margin: 0;
}
body.single-shop .shop-cashless_box .shop-cashless_detail {
  width: calc(100% - 1.5em - 116px);
}
body.single-shop .shop-cashless_box :is(.shop-cashless_list li, .shop-cashless_detail p) {
  margin: 0;
}
@media (any-hover: hover) and (any-pointer: fine) {
  body.single-shop .shop-detail_list .menu_btn a:hover::before, 
  body.single-shop .shop-link_box .shop-link_btn a:hover::before {
    filter: drop-shadow(0 10px 16px rgba(0, 0, 0, 0.15));
    transform: scale(0.98);
  }
}
@media screen and (max-width:767px) {
  body.single-shop #pan {
    margin-bottom: 2.5em;
  }
  body.single-shop .shop-flex_box {
    flex-direction: column;
    margin-bottom: 2em;
  }
  body.single-shop .shop-flex_box>* {
    width: 100%;
  }
  body.single-shop .shop-detail_box {
    gap: 0.75em;
  }
  body.single-shop .shop-ttl_box {
    gap: 0.85714285714em;
  }
  body.single-shop .shop-ttl_box .shop-ttl_image {
    width: 63px;
  }
  body.single-shop .shop-ttl_box .shop-ttl_text {
    gap: 0.25em;
    width: calc(100% - 63px - 0.85714285714em);
    font-size: 1.125rem;
  }
  body.single-shop .shop-detail_list>* {
    padding-block: 0.5em;
  }
  body.single-shop .shop-detail_list .shop-detail_ttl {
    width: 80px;
  }
  body.single-shop .shop-detail_list .shop-detail_text {
    width: calc(100% - 80px);
  }
  body.single-shop .shop-link_box .shop-link_btn {
    width: calc((100% - 0.5em) / 2);
  }
  body.single-shop .shop-link_box .shop-link_btn a {
    min-height: 3em;
    gap: 0.25em;
  }
  body.single-shop .shop-detail_list .menu_btn a img,
  body.single-shop .shop-link_box .shop-link_btn a img {
    object-fit: contain;
    max-width: inherit;
    width: 1.5em;
    aspect-ratio: 1/1;
  }
  body.single-shop .shop-map_box iframe {
    object-fit: cover;
    max-width: inherit !important;
    width: 100%;
    height: 100%;
    aspect-ratio: 3/2;
    margin: 0;
  }
  body.single-shop .shop-service_box {
    margin-bottom: 2em;
  }
  .shop-service_list .shop-service_item {
    width: calc((100% - 0.5em) /2);
  }
  .shop-service_list .shop-service_item .shop-service_image {
    width: 2.25em;
    height: 2.25em;
  }
  .shop-service_list .shop-service_item .shop-service_name {
    width: calc(100% - 0.42857142857em - 2.57142857143em);
    text-wrap: auto;
  }
  body.single-shop .shop-cashless_box {
    flex-direction: column;
    gap: .75em;
    padding: 1em;
    margin-block: 1em 0;
  }
  body.single-shop .shop-cashless_box .shop-cashless_ttl {
    width: 100%;
    font-size: 0.875em;
    margin: 0;
  }
  body.single-shop .shop-cashless_box .shop-cashless_ttl br {
    display: none;
  }
  body.single-shop .shop-cashless_box .shop-cashless_detail {
    width: 100%;
  }
}