@charset "UTF-8";


/*------------- 表示デバイス幅が390rem以下の場合、縮小する ----*/
html{
  font-size: 1px;
}
@media screen and (max-width: 1024rem) {
  html{
    font-size: min(calc(1/390 * 100vw), 1.5px);
  }
}
body{
  overflow: hidden;
  overflow-y: scroll;
}
html{
  touch-action: none;
  touch-action: pan-y;
}

.m_contact_btn, .m_recuruit_btn, .m_nav_adoption_btn {
  display: flex;
  color: #ffffff;
  align-items: center;
  justify-content: space-between;
  border-radius: 4rem;
  background-color: #B39A47;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  text-align: center;
  font-size: 14rem;
  font-weight: 400;
  letter-spacing: 0.5rem;
  z-index: 100;
}
.m_nav_adoption_btn {
  letter-spacing: 0;
}
/*------------- PC SITE DISABLE ----*/
.wrapper {
  position: relative;
  background-color: #ffffff;
  display: none;
}
.sp_wrapper {
  position: relative;
  background-color: #ffffff;
  display: block;
  width: 100%;
  overflow-x: clip;
  margin-left: auto;
  margin-right: auto;
}
.inner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
/*-------------------------------------*/
.nav_bar{
  position: relative;
  width: 100%;
  height: 70rem;
  color: black;
  background-color: #ffffff;
  overflow: hidden;
}
.nav_logo{
  position: relative;
  left: 1.875%;
  top: 32.86%;
  width: 8.594%;
  height: auto;
  overflow: hidden;
}
.nav_body{
  position: absolute;
  left: 10.47%;
  top: 10rem;
  width: 72.66%;
  height: 50rem;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  font-weight: bold;
  font-size: 13rem;
  white-space: nowrap;
  text-align: center;
}
.nav_summary{
  position: absolute;
  left: 8.772%;
  top: 0rem;
  width: 5.81%;
  height: 50rem;
}
.nav_state{
  position: absolute;
  left: 24.52%;
  width: 10.22%;
  height: 50rem;
}
.nav_dele_msg{
  position: absolute;
  float: right;
  left: 44.84%;
  width: 11.72%;
  height: 50rem;
}
.nav_bs{
  position: absolute;
  left: 66.67%;
  width: 5.81%;
  height: 50rem;
}
.nav_contact_us{
  position: absolute;
  left: 82.58%;
  width: 8.82%;
  height: 50rem;
}
.nav_summary span, .nav_state span, .nav_dele_msg span, .nav_bs span, .nav_contact_us span{
  position: relative;
  left: 0rem;
  top: 19rem;
  width: 100%;
  height: 50rem;
}
.nav_adoption_btn{
  position: relative;
  float: right;
  right: 1.875%;
  margin-top: 15rem;
  width: 192rem;
  height: 40rem;
}
.li-menu {
  display: flex;
  -moz-column-gap: 5%;
  column-gap: 5%;
}
.li-menu li a {
  display: block;
  color: #000;
  font-weight: 600;
  font-size: 13rem;
  letter-spacing: 1rem;
}
a {
  color: #000;
  text-decoration: none;
}
ul {
  list-style: none;
}
/*-------------------------------------*/
.header_img {
  position: relative;
  width: 100%;
  height: 712rem;
}
.header_img_bg {
  position: absolute;
  width: 100%;
  height: 712rem;
}
.m_nav_bar{
  position: fixed;
  width: 100%;
  background-color: #ffffff;
  z-index: 1000;
  padding-left: 20rem;
  display: flex;
  align-items: center;
}
.m_nav_logo{
  width: 110rem;
  margin-right: auto;
}
.m_nav_adoption_btn{
  width: 114rem;
  height: 19rem;
  padding-left: 13rem;
  padding-right: 13rem;
  color: #ffffff;
  font-size: 10rem;
  background-color: #B39A47;
  border-radius: 4rem;
}
.m_nav_icon{
  width: 60rem;
  height: 60rem;
}
/*-------------------------------------*/
/*-------------------------------------*/
.backtop_block{
  position: relative;
  top: -20rem;
  left: 48.4375%;
  width: 40rem;
  height: 40rem;
  border-radius: 50%;
  overflow: hidden;
  z-index: 3;
}
/*-------------------------------------*/
.biz_div_h54{
  position: relative;
  width: 100%;
  height: auto;
  font-family:"BIZ UDPMincho", serif;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
}
.biz_div_h54 span {
  font-family:"BIZ UDPMincho", serif;
  position: relative;
  width: 100%;
  height: auto;
  text-align: center;
}
.biz_div_h54 span a{
  position: relative;
  width: 100%;
  height: auto;
  font-size: 14rem;
  font-weight: bold;
  color: #B39A47;
  border-bottom: 8rem;
  padding-bottom: 8rem;
}
.biz_div_h54 span b{
  position: relative;
  width: 100%;
  height: auto;
  font-size: 32rem;
  font-weight: bold;
  color: #000;
}
.biz_stylye_a{
  position: relative;
  width: 100%;
  height: 14rem;
  font-size: 14rem;
  font-weight: bold;
  color: #B39A47;
}
.biz_stylye_b{
  position: relative;
  top: 8rem;
  width: 100%;
  height: 32rem;
  font-size: 32rem;
  font-weight: bold;
  color: #000;
}
.biz_div_h54{
  position: relative;
  width: 100%;
  height: auto;
  font-family:"BIZ UDPMincho", serif;
  text-align: center;
}
.biz_div_lh2_span_a {
  font-family:"BIZ UDPMincho", serif;
  position: relative;
  width: 100%;
  height: auto;
  text-align: left;
  padding-bottom: 8rem;
}
.biz_div_lh2_span_b {
  font-family:"BIZ UDPMincho", serif;
  position: relative;
  width: 100%;
  height: auto;
  text-align: left;
}
.biz_div_lh3_span_a{
  position: relative;
  width: 100%;
  height: 30rem;
  font-size: 20rem;
  text-align: left;
  inline-size: 30rem;
}
.biz_div_lh3_body{
  position: relative;
  width: 100%;
  height: 30rem;
  font-size: 20rem;
  text-align: left;
  inline-size: 30rem;
}
/*-------------------------------------*/
.title_style_en{
  position: relative;
  width: 100%;
  height: 20rem;
  font-family:"BIZ UDPMincho", serif;
  font-size: 20rem;
  font-weight: 400;
  color: #B39A47;
}
.title_style_jp{
  position: relative;
  margin-top: 8rem;
  width: 100%;
  height: 24rem;
  font-family:"BIZ UDPMincho", serif;
  letter-spacing: 0.8rem;
  font-weight: 400;
  font-size: 24rem;
  color: #000;
}
.page_header{
  position: relative;
  width: 100%;
  margin-top: 60rem;
  margin-left: auto;
  margin-right: auto;
}
.page_header_title{
  position: relative;
  margin-left: 20rem;
  width: 350rem;
  height: 42rem;
  text-align: center;
  margin-top: 50rem;
  margin-bottom: 39rem;
}
.page_header_title_en{
  position: relative;
  width: 350rem;
  height: 14rem;
  font-family:"BIZ UDPMincho", serif;
  font-size: 14rem;
  font-weight: 400;
  line-height: 14rem;
  letter-spacing: 0.75rem;
  color: #B39A47;
}
.page_header_title_jp{
  position: relative;
  width: 350rem;
  height: 24rem;
  margin-top: 8rem;
  font-family:"BIZ UDPMincho", serif;
  font-size: 24rem;
  font-weight: 400;
  line-height: 14rem;
}
/*-----------  お問い合わせ ----------------*/
.contact_sec{
  position: relative;
  width: 100%;
  height: 442rem;
  background-color: #F5F0E4;
}
.contact_body{
  position: relative;
  left: 344rem;
  top: 96rem;
  width: 592rem;
  height: 250rem;
  background-color: #F5F0E4;
}
.contact_title{
  position: relative;
  width: 100%;
  height: 116rem;
  text-align: center;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  font-size: 14rem;
}
.contact_info{
  position: relative;
  width: 100%;
  height: 94rem;
  text-align: center;
  font-size: 14rem;
  line-height: 17rem;
}
.contact_btn{
  position: relative;
  left: 80rem;
  width: 432rem;
  height: 40rem;
  border-radius: 5rem;
}
/*---------------  採用情報 ----------------------*/
.recuruit_sec{
  position: relative;
  width: 100%;
  height: 720rem;
}
.recuruit_sec{
  position: relative;
  width: 100%;
  height: 720rem;
}
.recuruit_body{
  position: absolute;
  left: 184rem;
  top: 140rem;
  width: 352rem;
  height: 440rem;
}
.recuruit_title{
  position: relative;
  width: 100%;
  height: 110rem;
  text-align: left;
  z-index: 1;
}
.recuruit_body1{
  position: relative;
  width: 100%;
  height: 147rem;
  font-family:"BIZ UDPMincho", serif;
  text-align: left;
  font-size: 20rem;
  font-weight: bold;
  line-height: 30rem;
  z-index: 1;
}
.recuruit_body2{
  position: relative;
  width: 100%;
  height: 143rem;
  text-align: left;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  text-align: left;
  font-size: 14rem;
  font-weight: bold;
  line-height: 17rem;
  z-index: 1;
}
.recuruit_btn{
  position: relative;
  width: 100%;
  height: 64rem;
  text-align: left;
  border-radius: 5rem;
  z-index: 1;
}
/*----------------- 底部 --------------------*/
.buttom_nav_sec{
  position: relative;
  width: 100%;
  height: 480rem;
  background-color: black;
  margin-left: auto;
  margin-right: auto;
}
.buttom_body{
  position: relative;
  left: 14.375%;
  padding-top: 96rem;
  width: 71.25%;
  height: 291rem;
}
.buttom_logo{
  position: relative;
  left: 36.84%;
  width: 31.58%;
  height: 64rem;
  background-color: black;
  padding-bottom: 48rem;
}
.buttom_nav_body{
  position: relative;
  left: 6.14%;
  width: 87.72%;
  height: auto;
  padding-top: 48rem;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  font-size: 14rem;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
}
.buttom_nav_summary{
  position: relative;
  width: 20%;
  height: 17rem;
  color: #FFFFFF;
}
.buttom_nav_dele_msg{
  position: relative;
  width: 20%;
  height: 17rem;
  color: #FFFFFF;
}
.buttom_nav_bs{
  position: relative;
  width: 20%;
  height: 17rem;
  color: #FFFFFF;
}
.buttom_nav_contact_us{
  position: relative;
  width: 20%;
  height: 17rem;
  color: #FFFFFF;
}
.buttom_nav_recruit{
  position: relative;
  width: 20%;
  height: 17rem;
  color: #FFFFFF;
}
.buttom_copyright{
  position: relative;
  width: 100%;
  height: 21rem;
  color: #ffffff;
  text-align: center;
  padding-top: 139rem;
  margin-bottom: 256rem;
  padding-bottom: 144rem;
  white-space: nowrap;
}
/*-----------  お問い合わせ ----------------*/
.m_contact_sec{
  position: relative;
  width: 100%;
  background-color: #F5F0E4;
  padding-top: 90rem;
  padding-bottom: 90rem;
}
.m_contact_body{
  background-color: #F5F0E4;
}
.m_contact_title{
  position: relative;
  width: 100%;
  height: 52rem;
  text-align: center;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  font-size: 14rem;
  margin-bottom: 45rem;
}
.m_contact_info{
  position: relative;
  width: 100%;
  height: 68rem;
  text-align: center;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  text-align: center;
  font-size: 14rem;
  line-height: 17rem;
  letter-spacing: 0.7rem;
  margin-bottom: 46rem;
}
.m_contact_btn{
  width: 339rem;
  height: 40rem;
  padding-left: 98.5rem;
  padding-right: 11rem;
  color: #ffffff;
  background-color: #333333;
  margin-right: auto;
  margin-left: auto;
}
/*---------------  採用情報 ----------------------*/
.m_recuruit_sec{
  position: relative;
  width: 100%;
  height: 428rem;
}
.m_recuruit_pic{
  position: absolute;
  width: 100%;
  height: 428rem;
}
.m_recuruit_body{
  position: absolute;
  margin-top: 85rem;
  width: 100%;
  height: auto;
}
.m_recuruit_title{
  position: relative;
  margin-left: 25.5rem;
  width: 339rem;
  height: 52rem;
  text-align: center;
  z-index: 1;
  font-family:"BIZ UDPMincho", serif;
}
.m_recuruit_info{
  position: relative;
  margin-left: 25.5rem;
  width: 339rem;
  height: 68rem;
  margin-top: 46rem;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  text-align: center;
  font-size: 14rem;
  line-height: 17rem;
  letter-spacing: 0.7rem;
  font-size: 14rem;
  line-height: 17rem;
  margin-bottom: 47rem;
}
.m_recuruit_btn{
  position: relative;
  margin-top: 25rem;
  margin-left: 25rem;
  width: 339rem;
  height: 40rem;
  overflow: hidden;
  padding-left: 112rem;
  padding-right: 7rem;
  color: #ffffff;
  background-color: #B39A47;
}

.m_contact_btn::after, .m_recuruit_btn::after, .m_nav_adoption_btn::after{
  content: "";
  display: block;
  width: 14rem;
  height: 14rem;
  background-image: url(../img/common/arrow03.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
}
/*----------------- 底部 --------------------*/
.m_buttom_nav_sec{
  position: relative;
  width: 100%;
  height: 400rem;
  background-color: #F9F9F9;
  margin-left: auto;
  margin-right: auto;
}
.m_backtop_block{
  display: block;
  position: relative;
  top: -21rem;
  margin: 0 auto;
  width: 40rem;
  height: 40rem;
  border-radius: 20rem;
  background-color: #B39A47;
  background-image: url(../img/common/arrow.svg);
  background-repeat: no-repeat;
  background-size: 40%;
  background-position: center;
  overflow: hidden;
  z-index: 3;
}
.m_buttom_body{
  position: relative;
  width: 350rem;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
.m_buttom_logo{
  position: relative;
  width: 240rem;
  height: 64rem;
  margin-left: auto;
  margin-right: auto;
  background-color: transparent;
  margin-top: 20rem;
  margin-bottom: 15rem;
}
.m_buttom_nav_body{
  position: relative;
  width: 130rem;
  margin-left: auto;
  margin-right: auto;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  font-size: 13rem;
  color: #333;
  text-align: center;
  white-space: nowrap;
  margin-bottom: 15rem;
}
.m_buttom_nav_body ul li {
  line-height: 42rem;
}
.m_buttom_nav_body a{
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  font-size: 13rem;
  color: #333;
  text-align: center;
  white-space: nowrap;
}
.m_buttom_copyright{
  position: relative;
  width: 220rem;
  height: 21rem;
  margin-left: auto;
  margin-right: auto;
  color: #333;
  text-align: center;
  white-space: nowrap;
  font-size: 10rem;;
  letter-spacing: -0.22rem;
  margin-top: 20rem;
  padding-bottom: 40rem;
}


.li-menu {
  display: flex;
  column-gap: 5%;
}
.li-menu li {
  flex-shrink: 0;
}
.li-menu li a {
  display: block;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 1px;
  position: relative;
}
.li-menu li a.current {
  color: #B39A47;
}
.li-menu li a.current::after {
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-color: #B39A47;
  position: absolute;
  left: 0;
  bottom: -15px;
}

.sp-menu {
  display: none;
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: #fff;
  opacity: 0;
  transition: opacity .5s ease;
}
.sp-menu .logo-header {
  width: 110rem;
  margin-right: auto;
}
.sp-menu.opened {
  opacity: 1;
}
.sp-menu-header {
  display: flex;
  align-items: center;
  padding-left: 20rem;
}
.btn-recruit {
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #B39A47;
  width: 114rem;
  height: 39rem;
  color: #fff;
  font-size: 13rem;
  padding-left: 13rem;
  padding-right: 13rem;
  font-weight: 400;
}
.btn-recruit::after {
  content: '';
  display: block;
  width: 14rem;
  height: 14rem;
  background-image: url(../img/common/arrow03.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
}
.btn-menu {
  width: 60rem;
  height: 60rem;
  background-image: url(../img/common/menu-close.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.li-menu--sp-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: calc(100vh - 60rem);
  row-gap: 52rem;
}
@media screen and (min-width: 680px) {
  .li-menu--sp-menu {
    row-gap: 20rem;
  }
}
.li-menu--sp-menu li a {
  color: #000;
  text-align: center;
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
  font-size: 16rem;
  font-weight: 600;
  letter-spacing: 0.8rem;
}

.fixed-body {
  width: 100%;
  height: 100%;
  position: fixed;
}
.header--black {
  background-color: transparent;
}

.right-arrow {
  position: relative;
}
.right-arrow::before {
  content: '';
  display: block;
  background-image: url(../smartphoneimg/common/icn_arrow_right.webp);
  width: 14rem;
  height: 14rem;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  right: 13rem;
  top: 50%;
  transform: translateY(-50%);
}
.btn-detail {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 350rem;
  height: 40rem;
  margin-top: 50rem;
  border-radius: 4rem;
  background: var(--color-gold_normal, #B39A47);
  color: var(--color-white, #FFF);
  font-family: "Inter", "Noto Sans JP", serif;
  font-size: 14rem;
  letter-spacing: 0.7rem;
}


.sec-business {
  padding-bottom: 80rem;
}
.list-msg {
  display: flex;
  gap: 12rem;
  flex-wrap: wrap;
  justify-content: center;
}
.list-msg li {
  width: calc(50% - 6rem);
}
.list-msg li:first-child {
  width: 148rem;
  height: 170rem;
  overflow: hidden;
}
.list-msg li:first-child img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.inner-biz {
  width: 350rem;
  margin-right: auto;
  margin-left: auto;
}
.title-biz-en {
  display: block;
  color: var(--color-gold_normal, #B39A47);
  text-align: center;
  font-family: "BIZ UDPMincho", serif;
  font-size: 14rem;
  margin-bottom: 10rem;
}
.title-biz {
  display: block;
  color: #000;
  text-align: center;
  font-family: "BIZ UDPMincho", serif;
  font-size: 24rem;
  letter-spacing: 1.2rem;
  margin-bottom: 30rem;
}
.list-business li {
  padding-top: 80rem;
}
.area-img-biz {
  margin-bottom: 30rem;
}
.sub-title-biz {
  color: #000;
  text-align: center;
  font-family: "BIZ UDPMincho", serif;
  font-size: 18rem;
  line-height: 30rem;
  margin-bottom: 30rem;
}
.desc-biz {
  color: #000;
  text-align: left;
  font-family: "Inter", "Noto Sans JP", serif;
  font-size: 12rem;
  line-height: 28rem;
  letter-spacing: 0.7rem;
  margin-bottom: 30rem;
}
.area-overview .desc-biz {
  text-align: center;
}
.area-overview {
  padding-top: 80rem;
}



.inter {
  font-family: 'Inter', 'Noto Sans JP', sans-serif;
}
.udpmincho {
  font-family: "BIZ UDPMincho", serif;
}

.sec-recruit {
  aspect-ratio: calc(395 / 458);
  background-image: url(../smartphoneimg/common/bg-recruit-sp.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.area-recruit {
  padding-top: 60rem;
}
.txt-rec-en {
  color: var(--color-gold_normal, #B39A47);
  text-align: center;
  font-size: 16rem;
  margin-bottom: 4rem;
}
.txt-rec {
  color: #B39A47;
  text-align: center;
  font-size: 24rem;
  letter-spacing: 1.2rem;
  margin-bottom: 24rem;
}
.btn-foot-recruit {
  color: var(--color-white, #FFF);
  text-align: center;
  font-size: 14rem;
  letter-spacing: 0.7rem;
  width: 339rem;
  height: 40rem;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4rem;
  background: var(--color-gold_normal, #B39A47);
}

.head-en {
  display: block;
  color: var(--color-gold_normal, #B39A47);
  text-align: center;
  font-size: 14rem;
  margin-bottom: 4rem;
}
.head {
  display: block;
  color: #000;
  font-size: 24rem;
  letter-spacing: 1.2rem;
  margin-bottom: 40rem;
  text-align: center;
}

/* FVのふわっと表示 */
@keyframes fadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

.animation-fade-in {
  animation: fadeIn 1s ease-in-out;
}