@charset "utf-8";
/* CSS Document */
html {
  scroll-behavior: smooth;
}
body {
  font-family: "Noto Sans JP", serif;
}
.wrap {
  overflow: hidden;
}
.txt_center {
  text-align: center;
}
table {
  width: 100%;
}
p, li, th, td {
  line-height: 2em;
  font-size: 16px;
  letter-spacing: .01rem;
}
img {
  max-width: 100%;
  height: auto;
  transition: 1.0s;
}
.sec_box_h {
  padding-top: 80px;
  padding-bottom: 80px;
}
.container_n {
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
  max-width: 900px;
}
.center-block {
  display: block;
  margin: 0 auto;
}
.container-f {
  padding-left: 0px;
  padding-right: 0px;
  margin-right: auto;
  margin-left: auto;
}
.container {
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
  max-width: 1100px;
}
.container-w {
  padding-right: 20px;
  padding-left: 20px;
  margin-right: auto;
  margin-left: auto;
  max-width: 1600px;
}
a {
  text-decoration: none;
  color: #333;
  transition: .5s;
}
.flex_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex_box_l {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.flex_box_center, .flex_box_reverse_center {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-wrap: wrap;
}
.flex_box_reverse {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.item2 {
  width: calc(50% - 20px);
}
.item3 {
  width: calc(33.3% - 15px);
}
.item4 {
  width: calc(25% - 10px);
}
.item5 {
  width: calc(20% - 10px);
}
.item30 {
  width: calc(30% - 10px);
}
.item40 {
  width: calc(40% - 10px);
}
.item60 {
  width: calc(60% - 10px);
}
.p30 {
  padding-bottom: 30px;
  padding-top: 30px;
}
.item70 {
  width: calc(70% - 10px);
}
/* ベース設定 */
/* レイアウト */
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
  width: 100%;
  backdrop-filter: blur(8px);
  background-color: #eff1f480;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.header__inner {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
}
.header__logo img {
  width: 300px;
  height: auto;
}
.header__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header__menu {
  padding-left: 15px;
}
/* メイン部分 */
.g-menu {
  display: flex;
}
.g-menu__item {
  position: relative;
}
.g-menu__link {
  display: block; /* ポイント！！ */
  padding: 30px 20px; /* ポイント！！ */
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #000;
}
.g-menu__dropdown-menu {
  opacity: 0; /* ポイント！！ */
  pointer-events: none; /* ポイント！！ */
  position: absolute;
  top: 100%; /* ポイント！！ */
  left: 0;
  backdrop-filter: blur(8px);
  background-color: #fff;
  width: 200%;
}
.g-menu__dropdown-menu-item {
  border-bottom: 1px solid #ccc;
  padding-top: 10px;
  padding-bottom: 10px;
}
.g-menu__dropdown-menu-item:last-child {
  border-width: 0;
}
.g-menu__dropdown-menu-link {
  font-weight: 500;
  display: block;
  padding: 10px;
  font-size: 16px;
  line-height: 1.5;
}
.g-menu__item:hover .g-menu__link {
  color: #b2a476;
  transition: .5s;
}
.g-menu__item:hover .g-menu__dropdown-menu {
  opacity: 1;
  pointer-events: auto;
  transition: .5s;
}
.g-menu__dropdown-menu-link:hover {
  color: #b2a476;
}
.footer {
  border-top: 1px solid #ccc;
}
.sec_tl {
  font-size: 22px;
}
.engsub {
  color: #b2a476;
  padding-top: 15px;
  margin-bottom: 30px;
}
.txtb {
  font-weight: 600;
}
.mt30 {
  margin-top: 30px;
}
.related {
  text-align: center !important;
  padding: 30px 0;
}
.related li {
  font-size: 12px;
  display: inline-block;
  margin-left: 10px;
  margin-right: 10px;
}
.footer a:hover {
  color: #b2a476;
}
.footer_menu {
  padding-top: 30px;
  padding-bottom: 30px;
}
.copy {
  border-top: 3px solid #b2a476;
  text-align: center;
  padding-top: 10px;
  padding-bottom: 10px;
}
.copy p {
  font-size: 12px;
}
.footer_menu li {
  font-size: 14px;
  display: inline-block;
  margin-left: 10px;
  margin-right: 10px;
}
.snsmenu {
  font-size: 25px;
  margin-top: 30px;
}
.snsmenu li {
  display: inline-block;
  margin-left: 10px;
  margin-right: 10px;
}
.sec_box {
  padding-bottom: 160px;
  padding-top: 160px;
}
.lg {
  background: #f7f7f7
}
/*=========================================
#hamburger
=========================================*/
.hamburger {
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 150;
  width: 30px;
  height: 30px;
  cursor: pointer;
}
.hamburger.is-active span:nth-child(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(135deg);
}
.hamburger.is-active span:nth-child(2) {
  opacity: 0;
}
.hamburger.is-active span:nth-child(3) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-135deg);
}
.hamburger span {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 2px;
  background-color: #333333;
  transition: transform .3s;
}
.hamburger.is-active span {
  background-color: #333;
}
.hamburger span:nth-child(1) {
  top: 30%;
}
.hamburger span:nth-child(2) {
  top: 60%;
}
.hamburger span:nth-child(3) {
  top: 90%;
}
/*=========================================
#drawer
=========================================*/



.drawer {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 0;
	bottom: 0;
  left: 0;

  z-index: 130;
  width: 100%;
	  height: 100dvh;
  background-color: #fff;
  transition: opacity .3s, visibility .3s;
	overflow-y: auto;
  overflow-x: hidden;

	padding-bottom: 50px;
  /* iOS 慣性スクロール */
  -webkit-overflow-scrolling: touch;



}
.drawer.is-active {
  visibility: visible;
  opacity: 1;
}
.drawer-inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: auto;
  padding: 0 10px;
	 flex-direction: column; /* 縦積み */
  width: 100% !important;

}
.drawer__list {
  display: flex;
  flex-direction: column;
}
.drawer__link {
  color: #333;
}
.drawer__item {
  border-bottom: 1px #ccc solid;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 15px;
  font-weight: 600;
  display: block;
  width: 100% !important;

}
.sns_sp_nav {
  text-align: center;
}
.sns_sp_nav li {
  margin-left: 10px;
  display: inline-block;
  margin-right: 10px;
  font-size: 18px;
}
.sp_sub_menu {
  font-weight: 300;
  margin-top: 10px;
  padding-left: 20px;
}
.sp_sub_menu li {
  font-size: 15px;
  padding-bottom: 10px;
}
.sp_sub_menu a::before {
  content: '- ';
  padding-right: 5px;
}
.drawer__nav {
  display: block;
  width: 90%;

}
.drawer__item:last-child {
  border-bottom: none;
}
.drawer__list {
  margin-top: 30px;
}
.sp_sub_menu li:last-child {
  padding-bottom: 0;
}
.righticon {
  color: #b2a476;
  float: right;
}
.newsdate {
  padding-right: 30px;
  color: #888;
  font-weight: 500;
  font-size: 14px;
}
.newslist {
  font-weight: 300;
}
.newslist li {
  padding-top: 10px;
  font-size: 15px;
  padding-bottom: 10px;
}
.newslist li:first-child {
  padding-top: 0;
}
.newslist a:hover {
  text-decoration: underline;
  color: #b2a476;
}
.righttxt {
  text-align: right;
}
.sliderinner {
  margin-left: 10px;
  margin-right: 10px;
}
.fakebanner {
  text-align: center;
  background: #ccc;
  padding-top: 60px;
  padding-bottom: 60px;
}
.slider img {
  border-radius: 10px;
}
.newsimportant {
  margin-top: 30px;
  border-radius: 6px;
  padding: 20px 30px;
  background: #FDEFF0;
}
.newsimportant th {
  color: #fe1f54;
  font-size: 14px;
}
.newsimportant td {
  font-size: 14px;
}
.bgc {
  background: #faf9f7;
}
.news .inner {
  border-radius: 10px;
  background: rgba(245, 243, 237, .4);
  padding: 50px;
}
.newscat {
  background: #b2a476;
  color: #fff;
  font-weight: 500;
  border-radius: 10px;
  font-size: 12px;
  padding: 3px 10px;
  margin-right: 20px;
}
.mt50 {
  margin-top: 50px;
}
a img {
  transition-property: opacity;
  transition-duration: 0.5s;
}
a img:hover {
  opacity: 0.7;
}
.languagebar {
  position: fixed;
  left: 1%;
  bottom: 1%;
}
.languagebar select {
  z-index: 10;
  color: #fff;
  padding: 3px 5px;
  background: #b2a476;
  border: none;
}
.languagebar option {
  background-color: #faf9f7;
  color: #333;
}
#pageTop {
  position: fixed;
  bottom: 10px;
  right: 5px;
}
#pageTop a {
  display: block;
  z-index: 999;
  padding: 9px 6px 0 9px;
  width: 30px;
  height: 30px;
  background-color: #555;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}
#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.mb30 {
  margin-bottom: 30px;
}
.mv {
  background: url("../img/mv.webp");
  background-size: cover;
  height: 100vh;
  background-position:right center;
background-repeat: no-repeat;
  border-radius: 0 0 0 12%;
}




.mvwrap {
  background: #f5f3ed;
  padding-bottom: 20px;
}
.header {
  border-radius: 50px;
  width: 96%;
  left: 0;
  margin: 20px auto;
  right: 0;
}
.news_head {
  padding: 20px 30px;
  max-width: 70%;
  margin-top: 20px;
}
.news_head th, .news_head td {
  font-size: 14px;
}
.recruit {
  position: relative;
  margin-bottom: 100px;
}
.rectxt {
  border-radius: 20px;
  position: absolute;
  background: #fff;
  width: 60%;
  left: 0;
  right: 0;
  padding: 60px;
  margin: auto;
  top: 70%;
}
.recruit h4 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 2px;
  margin-bottom: 20px;
}
.btn_basic a {
  background: #b2a476;
  width: 100%;
  display: block;
  padding: 20px;
  border-radius: 3px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: center;
}
.btn_basic a:hover {
  background: #8A7518;
}
.about h3 {
  font-size: 2.4890190337vw;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 2px;
  margin-bottom: 20px;
}
.sub_tl_thin {
  text-transform: capitalize;
  font-weight: 300;
  font-size: 20px;
  font-family: "Poppins", sans-serif;
}
.sec_tl {
  text-transform: uppercase;
  font-weight: 600;
  font-size: clamp(25px, 4.5vw, 70px)!important;
  font-family: "Poppins", sans-serif;
}
.rec_tl {
  font-weight: 600;
  font-size: 100px;
  font-family: "Poppins", sans-serif;
  color: #fff;
  position: absolute;
  left: 20%;
  top: 67%;
  text-shadow: 5px 1px 3px rgba(0, 0, 0, 0.1);
}
.base_btn {
  display: inline-block;
  width: 50%;
  text-align: center;
  text-decoration: none;
  line-height: 60px;
  outline: none;
  color: #fff;
  background-color: #b2a476;
  position: relative;
  border: 1px solid #b2a476;
  transition: color 0.5s ease;
}
.base_btn:hover {
  color: #b2a476;
}
.base_btn:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
.base_btn::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  transform: scaleX(0);
  transform-origin: right;
  transition: all 0.5s ease;
  transition-property: transform;
}
.base_btn .text {
  position: relative;
}
.contact_bg {
  padding-top: 70px;
  background: url("../img/contactbgb.webp");
  background-size: cover;
  background-position: center;
  padding-bottom: 50px;
  color: #fff;
}
.contact_bg a {
  color: #fff;
}
.service {
  background: #f5f3ed;
}
.company .item2 {
  width: calc(50% - 100px);
}
.service .item2 {
  width: calc(50% - 100px);
}
.companyinner {
  position: relative;
  margin-bottom: 15px;
}
.companyinner .txtbox {
  position: absolute;
  bottom: 50px;
  right: 0;
  color: #fff;
  padding: 5px 0;
  background: rgba(178, 164, 118, .8);
  width: 30%;
}
.companyinner h4 {
  text-align: center;
  font-size: 18px;
  margin-top: 10px;
  margin-bottom: 10px;
  letter-spacing: 1.5px;
  font-weight: 500;
}
.company .item4 {
  width: calc(25% - 25px);
}
img {
  border-radius: 10px;
}
.arrowbtn button {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: transparent;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
}
.arrowbtn button.learn-more {
  width: 13rem;
  height: auto;
}
.arrowbtn button.learn-more .circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 3rem;
  height: 3rem;
  background: #b2a476;
  border-radius: 1.625rem;
}
.arrowbtn button.learn-more .circle .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}
.arrowbtn button.learn-more .circle .icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 0.625rem;
  width: 1.125rem;
  height: 0.125rem;
  background: none;
}
.arrowbtn button.learn-more .circle .icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.29rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #fff;
  border-right: 0.125rem solid #fff;
  transform: rotate(45deg);
}
.arrowbtn button.learn-more .button-text {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.8rem 0;
  margin: 0 0 0 1.85rem;
  color: #282936;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
}
.arrowbtn button:hover .circle {
  width: 100%;
}
.arrowbtn button:hover .circle .icon.arrow {
  background: #fff;
  transform: translate(1rem, 0);
}
.arrowbtn button:hover .button-text {
  color: #fff;
}
.about {
  padding-top: 50px;
  padding-bottom: 130px;
  position: relative;
  margin-bottom: 300px;
}
.loop {
  animation: loop 30s linear infinite;
  color: rgba(245, 243, 237, .4);
  font-weight: 600;
  font-size: 200px;
  font-family: "Poppins", sans-serif;
}
.aboutover {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 10%;
  left: 0;
  right: 0;
  height: 200px;
  padding-top: 200px;
}
.aboutover p {
  line-height: 5em;
}
.aboutover .flex_box_center {
  justify-content: space-around;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}
/*
.img-wrap {
  overflow: hidden;
  position: relative;
        border-radius: 0 0 0 12%;
}


.img-wrap::before,
.img-wrap::after {
  animation: 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #fff;
  content: '';
  pointer-events: none;
  position: absolute;
  z-index: 1;
}

.img-wrap::before {
  animation-name: img-wrap-before;
  inset: 0 50% 0 0;
}

.img-wrap::after {
  animation-name: img-wrap-after;
  inset: 0 0 0 50%;
}

@keyframes img-wrap-before {
  100% {
    transform: translateY(100%);
  }
}

@keyframes img-wrap-after {
  100% {
    transform: translateY(-100%);
  }
}







*/
/*.img-wrap img{

    border-radius: 0;}

.img-wrap {
  overflow: hidden;
  position: relative;
    height: 90vh;
}



.cover1,
.cover2,
.cover3 {
  animation: cover 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #fff;
  height: calc(100% / 3);
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  z-index: 1;
}

.cover1 {
  top: 0;
}

.cover2 {
  animation-delay: 0.2s;
  top: calc(100% / 3);
}

.cover3 {
  animation-delay: 0.4s;
  top: calc(100% / 3 * 2);
}

@keyframes cover {
  100% {
    transform: translateX(100%);
  }
}
*/
.smooth {
  clip-path: inset(0 100% 0 0);
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path;
  line-height: 1;
  height: 40px;
  margin-top: 15px;
}
.smooth.is-animated {
  clip-path: inset(0);
}
.txtleft_spcenter {
  text-align: left;
}
.breadcrumb {
  margin-top: 150px;
  padding-top: 15px;
  padding-bottom: 15px;
  list-style: none;
}
.breadcrumb li {
  display: inline;
  list-style: none;
  font-size: 13px;
}
.breadcrumb li:after {
  content: '>';
  padding: 0 0.2em;
  color: #555;
}
.breadcrumb li:last-child:after {
  content: '';
}
.breadcrumb li a {
  text-decoration: underline;
  color: #b2a476;
}
.breadcrumb li a:hover {
  text-decoration: underline;
}
.breadcrumb .active a {
  color: #000;
  text-decoration: none;
}
.sec_box_first {
  padding-top: 80px;
  padding-bottom: 80px;
}
.sec_part {
  padding-bottom: 90px;
  padding-top: 90px;
}
.newspage li {
  border-bottom: 1px solid #ccc;
}
.newspage .newsdate {
  color: #b2a476;
  font-weight: 600;
}
.pagenation {
  text-align: center;
}
.pagenation li {
  display: inline;
  padding: 5px 14px;
  border: 1px solid #ccc;
}
.pagenation .active {
  background: rgba(178, 164, 118, .2);
}
.sec_box_page {
  padding-bottom: 150px;
  padding-top: 80px;
}
.pagenation a {
  font-weight: 500;
  color: #333;
}
.mb50 {
  margin-bottom: 50px;
}
.mb100 {
  margin-bottom: 100px;
}
.article_tl {
  margin-bottom: 30px;
  font-size: clamp(20px, 1.8vw, 33px);
  line-height: 1.4em;
}
.article_info .newsdate {
  font-size: 15px;
  font-weight: 400;
}
.article_info {
  margin-bottom: 100px;
}
.article_content a {
  font-weight: 500;
  color: #b2a476;
  border-bottom: 1px solid #b2a476;
}
.article_content h2 {
  background-color: rgba(178, 164, 118, .2);
  padding: 10px;
  border-bottom: 1px solid #b2a476;
  margin-top: 30px;
  margin-bottom: 15px;
  border-left: 5px solid #b2a476;
}
.article_content h3 {
  margin-top: 30px;
  margin-bottom: 15px;
  background: #b2a476;
  color: #fff;
  padding: 8px 0 8px 15px;
  font-size: 22px;
}
.article_content h4 {
  margin-top: 30px;
  margin-bottom: 15px;
  border-left: 5px solid #b2a476;
  padding-left: 10px;
  font-size: 20px;
}
.article_content h5 {
  margin-top: 30px;
  margin-bottom: 15px;
  border-bottom: 2px solid #b2a476;
  padding-bottom: 10px;
  font-size: 18px;
}
.article_content h6 {
  margin-top: 30px;
  margin-bottom: 15px;
  border-bottom: 2px dotted #b2a476;
  padding-bottom: 10px;
  font-size: 18px;
}
.article_content img {
  margin-top: 40px;
  margin-bottom: 40px;
}
.article_content ul {
  padding-left: 20px;
}
.article_content ul li {
  padding-bottom: 10px;
  line-height: 1.5em;
  display: flex; /* 点とリストを横並びに */
  align-items: center; /* 垂直方向に中央揃い */
}
.article_content ul li:before {
  content: "⚫︎"; /* 記号(黒丸)を挿入 */
  color: #b2a476; /* 好きな色にする */
  font-size: 0.6em; /* 黒丸の大きさに差異があるので調整 */
  margin-right: 1em; /* 余白 */
}
.article_content ol {
  padding-left: 20px;
  counter-reset: ol_li;
}
.article_content ol li {
  padding-bottom: 10px;
  line-height: 1.5em;
}
.article_content ol li:before {
  margin-right: .25em;
  font-weight: 600;
  counter-increment: ol_li; /* ol_li カウンタの値に1加える */
  content: counter(ol_li); /* before擬似要素のcontentで出力 */
  color: #b2a476; /* 色を変更 */
}
.article_content .caution {
  padding: 30px;
  background-color: rgba(178, 164, 118, .2)
}
.tl_jp {
  line-height: 1.7em;
  letter-spacing: .2rem;
	font-size: clamp(20px, 3vw, 30px);
}
.side_page {
  padding-left: 15%;
  padding-right: 15%;
}
.page_mv .item2 {
  width: 50%;
}
.sec_box_first_page {
  padding-bottom: 100px;
}
.handwritting {
  font-family: "shelby", sans-serif;
  font-weight: 400;
  font-size: 70px;
  font-style: normal;
  margin-bottom: 20px;
}
.btn_seclist {
  color: #b2a476;
  display: block;
  border: 1px solid #b2a476;
  text-align: center;
  padding: 20px 0;
  font-weight: 300;
  font-size: 18px;
  letter-spacing: .1rem;
  background: #fff;
  border-radius: 5px;
  position: relative;
}
.btn_seclist:hover {
  background: #b2a476;
  color: #fff;
}
.btn_seclist::before {
  position: absolute;
  content: '\02193';
  right: 20px;
}
.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.para_tl_jp {
  font-weight: bold !important;
  color: #b2a476;
  margin-bottom: 50px;

	font-size: clamp(16px, 2vw, 20px);
  letter-spacing: .1rem;
}
.para_tl_en {
  text-transform: uppercase;
  margin-bottom: 20px;
  font-weight: 600;
	font-size: clamp(40px, 6vw, 60px);
  font-family: "Poppins", sans-serif;
}
.tb1 th {
  padding-bottom: 25px;
  padding-top: 25px;
  width: 25%;
  padding-right: 20px;
  border-bottom: 1px solid #ccc;
}
.tb1 td {
  padding-bottom: 25px;
  padding-top: 25px;
  border-bottom: 1px solid #ccc;
}
.nobb {
  border-bottom: none !important;
}
.bb {
  background: #f5f3ed;
}
.whbg {
  background: #fff;
  border-radius: 30px;
  padding: 50px 60px;
}
.txt_r {
  text-align: right;
}
.ceoname {
  font-size: 140%;
	 font-family: "Klee One", cursive;
	 font-weight: 500;
  font-style: normal;
}
.tl_jp2 {

	font-size: clamp(18px, 3vw, 30px);
  line-height: 1.7em;
  font-weight: 400;
  letter-spacing: .1rem;
}
.tl_jp3 {
	font-size: clamp(18px, 2.5vw, 25px);
  line-height: 1.7em;
  letter-spacing: .1rem;
}
.listdisc {
  list-style: disc;
  padding-left: 20px;
}
.sitemap_box {
  margin-bottom: 50px;
}
.sitemap_box h4 {
  border-bottom: 1px solid #333;
  padding-bottom: 10px;
}
.sitemap_box li {
  width: 30%;
  padding-top: 20px;
  padding-bottom: 20px;
  display: inline-block;
  margin-right: 20px;
  border-bottom: 1px solid #ccc;
  font-size: 14px;
  position: relative;
}
.sitemap_box li::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  right: 0;
  background-image: url("../img/arrow_r.png");
  position: absolute;
  background-size: contain;
}
.sitemap_sub {
  color: #b2a476;
  margin-left: 20px;
  font-size: 13px;
  text-transform: capitalize;
}
/*rec*/
.rec_contents {
  font-family: "Zen Kaku Gothic New", serif;
  font-style: normal;
}
.rec_contents p {
  font-weight: 500;
}
.recpage_mv {
  padding-top: 40px;
  padding-bottom: 40px;
}
.hw {
  margin-top: 50px;
  text-align: center;
  font-size: 30px;
  font-family: "Ms Madi", serif;
  color: #AFA37D;
  transform: rotate(-10deg);
  -moz-transform: rotate(-10deg);
  -webkit-transform: rotate(-10deg);
  font-weight: 300;
  position: fixed;
  letter-spacing: .1rem;
  right: 1.5%;
  top: 71%;
}
.recpage_mv h2 {
  margin-top: 50px;
  font-family: "Zen Kaku Gothic New", serif;
  font-size: 100px;
  text-align: center;
  margin-bottom: 30px;
  z-index: 20;
}
.recpage_interview {
  background: #f3efe6;
  border-radius: 12% 0 12% 0;
}
.rectl {
  font-size: clamp(20px, 4vw, 50px);
  letter-spacing: .1rem;
  margin-bottom: 40px;
}
.rectlw {
  font-size: 50px;
  letter-spacing: .1rem;
  margin-bottom: 40px;
}
.rectl2 {
 /* font-size: clamp(20px, 3.5vw, 50px);*/
  letter-spacing: .1rem;
  margin-bottom: 40px;
  line-height: 1.8em;
	font-size: clamp(16px, 3vw, 35px);
}
.rectl_sub {
  margin-bottom: 30px;
  font-size: clamp(16px, 3vw, 35px);
  line-height: 1.7em;
}
.rectl:first-letter {
  color: #b2a476;
}
.rectlw:first-letter {
  color: #fff;
}
.recpage_mv p {
  font-size: 40px;
  text-align: center;
  margin-bottom: 50px;
}
.pictsec {
  background: #f3efe6;
}
.pictinner {
  background: #fff;
  margin-bottom: 30px;
  border-radius: 10px;
}
.rf1 {
  background: blue;
  color: #fff;
  padding: 30px 50px;
  border-bottom-left-radius: 20px;
  border-top-left-radius: 20px;
  font-weight: bold;
  position: fixed;
  right: 0;
  top: 50%;
}
.rf2 {
  background: #e7e434;
  font-size: 20px;
  display: inline-block;
  width: 70px;
  height: 130px;
  border-radius: 100% 0 0 100% / 50%;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-weight: bold;
  position: fixed;
  right: 0;
  top: 65%;
  padding-top: 30px;
  letter-spacing: .2rem;
  padding-right: 10px;
}
.recpage_fixed li {
  letter-spacing: .1rem;
}
.interview_box {
  position: relative;
}
.righttop {
  background: #f3efe6;
  border-bottom-left-radius: 20px;
  position: absolute;
  top: 0;
  right: 0;
  font-size: clamp(13px, 1.5vw, 18px);
  padding: 20px;
  font-weight: 600;
}
.interview_box .info {
  position: absolute;
  left: 5%;
  bottom: 10%;
  width: 70%;
  color: #fff;
}
.interview_box h5 {
  line-height: 1.5em;
  font-size: clamp(16px, 1.6vw, 20px);
}
.interview_box p {
  padding: 8px 0;
  font-size: 14px;
}
.rec_contents .arrowbtn button.learn-more .circle {
  background: #e7e434;
}
.rec_contents .arrowbtn button.learn-more .circle .icon.arrow::before {
  border-color: #282936;
}
.rec_contents .arrowbtn button:hover .button-text {
  color: #282936;
}
.rec_contents .arrowbtn button:hover .circle .icon.arrow {
  background: #282936;
  transform: translate(1rem, 0);
}
.recbannerbox {
  padding: 30px;
  border-radius: 10px;
  height: 150px;
  width: auto;
  transition: 0.3s;
	margin-bottom: 40px;
}
.recbannerbox:hover {
  opacity: 0.7;
}

.recbannerbox h4 {
  line-height: 1.7em;
  color: #fff;
  letter-spacing: .1rem;
  font-size: clamp(18px, 2vw, 25px);

}
.rec_pict {
  background-size: cover !important;
  background-repeat: no-repeat;
  background: url("../img/rec_pict.webp");
  background-position: center;
}
.rec_com {
  background-size: cover !important;
  background-repeat: no-repeat;
  background: url("../img/rec_bn1.webp");
}
.rec_buz {
  background-size: cover !important;
  background-repeat: no-repeat;
  background-position: center !important;
  background: url("../img/rec_bn2.webp");
}
.rec_new {
  background-size: cover !important;
  background-repeat: no-repeat;
  background: url("../img/rec_new.webp");
  background-position: top center !important;
}
.rec_career {
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat;
  background: url("../img/rec_career.webp");
}

.rec_partner {
  background-position:top center !important;
  background-size: cover !important;
  background-repeat: no-repeat;
  background: url("../img/partnerb.webp");
}

.rec_area{
  background-position:top center !important;
  background-size: cover !important;
  background-repeat: no-repeat;
  background: url("../img/areab.webp");
}
.rec_et {
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat;
  background: url("../img/rec_en2.webp");
}
.rec_etnew {
  background-size: cover !important;
  background-repeat: no-repeat;
  background: url("../img/rec_bn5.webp");
}

.rec_award {
  background-size: cover !important;
	background-position: top center!important;
  background-repeat: no-repeat;
  background: url("../img/rec_award.webp");
}

.rec_train {	background-position: center!important;
  background-size: cover !important;
  background-repeat: no-repeat;
  background: url("../img/rec_train.webp");
}
.sepa {
  background: url("../img/sepa.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  padding-top: 600px;
  background-position: center;
  clip-path: polygon(0 19%, 100% 0%, 100% 100%, 0% 100%);
  width: 100%;
}
.sepa1 {
  background: url("../img/sepa.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  padding-top: 600px;
  background-position: center;
  clip-path: polygon(0 0, 100% 19%, 100% 100%, 0% 100%);
  width: 100%;
}
.mt100 {
  margin-top: 100px;
}
.recpage_other_w, .recpage_message {
  background: #fff;
}
.recpage_env {
  padding-top: 160px;
}
.recmvsvg svg {
  width: 90%;
  margin: auto;
}
/*side*/
.rec_contents {
  width: calc(86% - 30px);
  overflow: hidden;
}
.side_rec {
  width: 12%;
  background: #f3efe6;
  height: 100vh;
  position: fixed;
  right: 0;
  top: 0;
  padding-left: 30px;
  padding-right: 10px;
}
.side_rec ul {
  margin-top: 40vh;
}
.side_rec li {
  font-size: 14px;
  font-weight: 600;
  padding-bottom: 10px;
  position: relative;
}
.side_rec li a:hover {
  /*padding-left: 20px;*/
  transition: .8s;
color: #b2a476!important;
}
/*.side_rec li::after {
  position: absolute;
  content: '-';
  left: -10px;
}
.side_rec li:hover::after {
  transition: 1s;
  position: absolute;
  content: '-';
  color: #e7e434;
  left: -10px;
}*/
.recfixedbottom {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 100;
}
.btnbottom_entry {
  letter-spacing: .1rem;
  font-weight: 600;
  display: block;
  padding: 16px 15px;
  width: 200px;
  background: #e7e434;
  position: relative;
}
.btnbottom_entry::after {
  position: absolute;
  content: '\21C0';
  right: 20px;
}
.sch_h {
  font-size: 30px;
}
.sch_t {
  border-left: 2px solid #ccc;
  margin-left: 40px;
  padding-left: 40px;
}
.jobtl {
  font-size: clamp(16px, 2.5vw, 25px);
}
.interviewinfo h4 {
  font-size: clamp(18px, 3vw, 30px);
  margin-bottom: 20px;
  margin-top: 15px;
}
.san {
  font-size: 20px;
}
.in_sch {
  border: 1px #ccc solid;
  padding: 50px;
  border-radius: 30px;
  margin-top: 55px;
}
.time_schedule {
  position: relative;
}
.time_line {
  width: 4px;
  height: 95%;
  position: absolute;
  top: 0;
  left: 25%;
  z-index: 999;
  transform: translateX(-50%);
  padding-top: 18px;
}
.time_line span {
  display: block;
  width: 100%;
  height: 94%;
  background: #ccc;
}
.time_ball {
  position: absolute;
  background: #b2a476;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 25%;
  z-index: 999;
}
dl {
  padding: 15px 0;
}
dl dt {
  width: 100%;
  position: absolute;
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 700;
}
dl dd {
  font-weight: 600;
  width: 60%;
  font-size: clamp(14px, 1.7vw, 17px);
  line-height: 1.7em;
  margin-left: 40%;
}
.inmv {
  position: relative;
}
.int_mvtxt {
  position: absolute;
  top: 0;
  z-index: -1;
}
.rec_mess {
  position: relative;
}
.rec_mess_txt {
  position: absolute;
  z-index: -1;
  top: 10%;
}
.rec_mess_img {
  position: relative;
}
.ceoname2 {
  position: absolute;
  bottom: 10%;
  left: -3%;
  background: rgb(231, 228, 52);
  padding: 5px 20px;
}
.ceoname2 p {
  font-weight: 700;
}
.rel {
  position: relative;
}
.eng_hw {
  font-family: "Ms Madi", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 100px;
  top: 5%;
  color: #ccc;
  position: absolute;
  transform: rotate(-10deg);
  -moz-transform: rotate(-10deg);
  -webkit-transform: rotate(-10deg);
}
/*アコーディオン全体*/
.accordion-area {
  list-style: none;
  width: 100%;
  margin: 0 auto;
}
.accordion-area li {
  margin: 10px 0;
}
.accordion-area section {
  border: 1px solid #ccc;
}
/*アコーディオンタイトル*/
.title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  padding: 3% 3% 3% 50px;
  transition: all .5s ease;
}
/*アイコンの＋と×*/
.title::before, .title::after {
  position: absolute;
  content: '';
  width: 15px;
  height: 2px;
  background-color: #b2a476;
}
.title::before {
  top: 48%;
  left: 15px;
  transform: rotate(0deg);
}
.title::after {
  top: 48%;
  left: 15px;
  transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.title.close::before {
  transform: rotate(45deg);
}
.title.close::after {
  transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.box {
  display: none; /*はじめは非表示*/
  background: #f3f3f3;
  margin: 0 3% 3% 3%;
  padding: 3%;
}
.ideallist {
  padding-left: 20px;
}
.ideallist li {
  list-style: circle;
  font-size: clamp(15px, 1.7vw, 20px);
}
.interviewpage_box {
  margin-bottom: 80px;
  position: relative;
}
.prof_in_name {
  font-weight: 600 !important;
  font-size: 18px;
}
.prof_in {
  position: absolute;
  background: #f3efe6;
  bottom: 30px;
  right: 0;
  padding: 15px;
}
.prof_in_stat {
  font-size: 13px;
}
.prof_in_tl {
  color: #fff;
  background: #b2a476;
  padding: 2px 5px;
}
.rec_tb th {
  width: 25%;
  border: 1px solid #CCC;
  padding: 15px 0 15px 15px;
  background: #f3efe6;
}
.rec_tb td {
  border: 1px solid #CCC;
  padding: 15px 15px;
}

.btn_job_entrybtn{
	position: relative;
	display: block;
	margin: auto;
	text-align: center;
	letter-spacing: .1rem;
    font-weight: 600;
	width: 80%;
	padding: 25px 0;
	background: #e7e434;
    font-size: clamp(16px, 1.7vw, 20px);}

.btn_job_entrybtn::after {
    position: absolute;
    content: '\21C0';
    right: 20px;
}

.btn_job_entrybtn:hover{
	background:rgba(231,228,52,.5)
}

.rec_job_flow{

	background: #f3efe6;}

.jobflowlist li{padding: 10px 30px;
	background: #fff;
	margin-bottom: 20px;
	border-radius: 10px;
}

.flow_num{
	color: #fff;
	  background: #b2a476;
	padding: 2px 25px;
	font-weight: 600;
	border-radius: 30px;
	letter-spacing: .1rem;
	font-size: 13px;
	text-transform: capitalize;
	margin-right: 15px;
}

.flowde{
	font-weight: 600;
		letter-spacing: .1rem;
}

.lightbeige{background: #f3efe6;}

.benetopbox{
	background: #fff;
	margin-bottom: 80px;
	position: relative;
}

.benetopbox h5{
	    font-family: "Oooh Baby", cursive;
	position: absolute;
		font-size: 53px;
	text-transform: capitalize;
	top:-10%;
	right:92%;
color: #b2a476;
transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -webkit-transform: rotate(-10deg);}
.benetxt{
	padding: 40px;
}

.benetopbox .righttxt{
	color: #b2a476;
	font-weight: 600;
}

.benetxt h4{font-family: "Noto Sans JP", serif;
    font-size: clamp(18px, 2vw, 25px);
	margin-bottom: 20px;
	font-weight:600!important;
}
.benetopbox img{
	border-radius: 0;
}

.benelist li{
	background: #fff;
		margin-bottom: 20px;
	padding:20px 30px;
	display: flex;
	align-items: center;
}

.bene_num{
	color: #b2a476;
	font-size: 30px;
	margin-right: 20px;
	font-family: "Oooh Baby", cursive;}

.bene_exp{
	font-weight: 600;
	letter-spacing: .1rem;

}

.hoken{
	padding: 40px;

}

.pb160{
	padding-bottom: 160px;
}
.hoken h4{
	font-size: 20px;
}

.hoken ul{
	list-style: disc;
}

.traindetail .item4{
	margin-bottom: 40px;
}

.traindetail img{
	border-radius: 0;
}

.tr_txt{letter-spacing: .1rem;
	color: #fff;
	font-weight: 600;
	padding:20px 10px;
	align-items: center;
	background:#b2a476;
display: flex;}

.tr_txtnum{
	 font-size: clamp(18px, 2vw, 30px);

	margin-right:20px;
	font-family: "Oooh Baby", cursive;}

.tr_txtexp{font-weight: 500;
	line-height: 1.3em;
	font-size: clamp(14px, 1.5vw, 16px);
}

.req{
	font-size: 12px;
	color: #fff;
	background: #c48985;
	padding: 2px 5px;
}

.contact_tb th{
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
		font-size:110%

}

.contact_tb td{
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
		font-size:110%

}
.form_box .whbg{
	padding: 50px;
	margin-top: 50px;
	border-radius:0;
}

.form_box input[type="text"],.form_box input[type="email"],.form_box input[type="tel"]{
	height: 40px;
	padding: 10px;
	width: 90%;
	border: 1px solid #d4d9e2;

}



.form_box textarea{
	height:100px;
	width:90%;
	padding: 10px;
	border: 1px solid #d4d9e2;
}

.sendbtn{display: block;
  background: #fff;
  width: 50%;
  margin: auto;
  border: 1px solid #b2a476;
  text-align: center;
  margin-bottom: 30px;
  font-weight: 500;
 font-size: clamp(14px, 1.7vw, 16px);
  padding: 18px 0;
  letter-spacing: .1rem;
  position: relative;
  color: #b2a476;
  overflow: hidden;
  z-index: 1;
	}

.sendbtn:hover {
  color: #fff;
	 background: #b2a476;
}



.hotellink .item3{
	    width: calc(33.3% - 30px)!important;
}

#brands .item3{
	margin-bottom: 20px;

}



.hotellink img{
	max-height: 60px;
	display: block;
	margin: auto;
	border: 1px solid #ccc;
	width: 100%;
	border-radius: 0;
	padding:7px 10px!important;
}
.hotelnum1{text-align: center;
	font-weight: 600;
}

.hotelnum2{
		font-weight: 700;
color: #b2a476;
	font-size:80px;
	font-style: italic;
	text-align: center;}

.hotelnum3 {
    font-weight: 600;
    font-size: 25px;
    text-align: center;
    margin-bottom: 30px;
}



@media (min-width: 1200px) {
  .about h3 {
    font-size: 35px;
  }
}
@media (max-width: 1000px) {
  .rectxt {
    width: 70%;
    padding: 40px 30px;
  }
}
@media (min-width: 901px) {
  .sp_navi {
    display: none;
  }
}
@media (max-width: 900px) {
  .side_rec {
    display: none;
  }
  .header {
    display: none;
  }
  .mv {
    margin-top: 0;
  }


  .sp_navi {
    background-color: #eff1f480;
    backdrop-filter: blur(8px);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    position: fixed;
    top: 0;
    height: 50px;
    padding-bottom: 10px;
    z-index: 100;
    width: 100%;
  }
}
@media (min-width: 771px) {
  .visible-xs {
    display: none;
  }
}
@media (max-width: 770px) {

	.sepa1 {padding-top: 300px;
	background-position: bottom center;
		background-size: contain;
	}

	.mv{
		background-position:right center!important;}


	.hotelnum2{
		font-size: 60px!important;
	}

	.hotelnum3{
		margin-top: 30px;
		font-size: 18px!important;
	}

	.hotellink .item3 {
    width: calc(50% - 15px) !important;
}

	.hotellink img {
		padding: 10px;
		max-height: 30px;
		width:100%;
	}

	.hotellink{
		width: 94%!important;
	}
	.tb1{
width: calc(100% - 20px);
	}
	.tb1 th{
		width: 100%!important;
		display: block;
		font-size: 14px;
		border-top: 1px solid #ccc;
	}

	.tb1 td{font-size: 14px;
	width: 100%;
		border-bottom: none;
	}

	.nobb{
		width: 50%!important;
		display: inline-block;
	}
	.whbg{
		padding: 30px 20px;
	}
	.rec {
		font-size: 12px;

	}

	.contact_tb th{
		width: 100%;
		display: block;
		border-bottom: none;
	}

		.contact_tb td{	width: 100%;
		display: block;}

	.sendbtn{
		width: 80%;
	}
	.contact_tb th,.contact_tb td{font-size: 14px;}

	.form_box .whbg{
		padding: 50px 20px;
	}

	.tr_txt{text-align: center;
		display: block;
		padding: 15px 5px;
	}
.tr_txtnum{width: 100%;
	display: block;
	margin-right: 0;
	text-align: center;
	margin-bottom: 5px;
	}



	.benetxt {
    padding: 20px;
}
	.pb160{
	padding-bottom: 80px;
}
	.rec_tb{
		width:  calc(100% - 20px);
	}

		.rec_tb th{
	width:100%;
			font-size: 14px;
			display: block;
				padding:10px;

	}

			.rec_tb td{
		width:100%;
				padding:10px;
					display: block;
				font-size: 14px;
				border-top:none;
				border-bottom:none;
	}

	.lasttr td{
		border-bottom: 1px solid #ccc;
	}

	.title{
		font-size: 15px;
	}
  .sec_box_first_page {
    padding-bottom: 30px;
  }
  .rec_mes_slide {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .rectl_sub {
    margin-top: 30px;
  }
  .page_mv .item2 {
    width: 100%;
  }
  .page_mv {
    padding-left: 20px;
    padding-right: 20px;
  }
  .page_mv .flex_box_center {
    flex-wrap: wrap-reverse;
  }

  .side_page .sec_tl {
    margin-top: 30px;
  }
  .side_page {
    padding-left: 0px;
    padding-right: 0px;
  }
  .recpage_about .mt50 {
    margin-top: 0;
  }
  .recbannerbox {
    margin-bottom: 30px;
    height: 70px;
    padding: 15px 30px 30px 30px;
  }
  .pictsec .item3 {
    width: calc(50% - 5px);
  }
  .pictinner {
    margin-bottom: 10px;
  }
  .sec_box {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .recmvsvg svg {
    height: 100px !important
  }
  .sp_navi img {
    height: 35px;
    width: auto;
    padding-top: 10px;
	  padding-left: 20px;
	  padding-bottom: 5px;
  }
  .inmv .item60 {
    margin-bottom: 40px;
  }
  .rec_contents {
    width: 100% !important;
  }
  .txtleft_spcenter {
    text-align: center;
  }
  .hidden-xs {
    display: none;
  }
  .item4, .item3, .item2, .item30, .item40, .item60, .item70 {
    width: 100%;
  }
  .base_btn {
    width: 100%;
    line-height: 50px;
  }
  .footer_menu li {
    font-size: 12px;
  }
  .newslist li {
    font-size: 14px;
    padding-bottom: 0;
  }
  .mv {
    height: 50vh;
  margin-top: 60px;
  }


  .news_head {
    max-width: 100%;
    padding: 10px;
  }
  .news_head th, .news_head td {
    font-size: 13px;
  }
  p {
    font-size: 14px;
  }
  th {
    display: block;
    position: relative;
    width: 100%;
  }
td {
    display: block;
    width: 100%;
    border-bottom: none;
    position: relative;
  }
	

  .loop {
    font-size: 90px;
  }
  .about h3 {
    font-size: 23px;
  }
  .aboutover {
    padding-top: 80px;
  }
  .aboutover p {
    line-height: 3em;
  }
  .about {
    margin-bottom: 200px;
  }
  .sec_tl {
    font-size: 35px;
  }
  .service .item2, .company .item2 {
    width: 100%;
    margin-bottom: 20px;
  }
  .companyinner h4 {
    font-size: 14px;
  }
  .service .arrowbtn {
    margin-bottom: 30px;
  }
  .recruit h4 {
    font-size: 18px;
  }
  .recruit .arrowbtn {
    margin-top: 30px;
  }
  .recruit {
    margin-bottom: 250px;
  }
  .news .inner {
    padding: 50px 20px
  }
  .news .righttxt {
    text-align: left;
  }
  .newslist li {
    padding-bottom: 20px;
  }
  .news .sec_tl {
    margin-bottom: 30px;
  }
  .hadj {
    height: 60px;
  }
}
.splogo {
  top: 15px;
  position: fixed;
  left: 10px;
  z-index: 10;
  font-weight: 500;
  font-family: "Playfair Display", serif;
  font-size: 25px;
}
.join svg {
  position: absolute;
  top: 0%;
  margin: 0 auto;
  left: 0;
  right: 0;
  width: 100%;
}
/* img animation */
.photoArea figure {
  position: relative;
  display: inline-block;
  overflow: hidden;
}
.photoArea figure::before {
  content: '';
  display: inline-block;
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background: #ebe8dc;
}
.photoArea.move figure::before {
  animation: barAnime forwards 1.5s 1 ease 0.1s normal;
}
.photoArea figure img {
  opacity: 0;
  transform: scale(1.1);
}
.photoArea.move figure img {
  animation: photoAnime forwards 1.5s 1 ease 0.5s normal;
}
@keyframes barAnime {
  0% {
    left: 0;
    width: 0;
  }
  50% {
    left: 0;
    width: 100%;
  }
  51% {
    left: 0;
    width: 100%;
  }
  68% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 100%;
    width: 0;
  }
}
@keyframes photoAnime {
  0% {
    opacity: 0;
    transform: scale(1.1);
  }
  50% {
    opacity: 0;
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
/*text animation*/
.text-animation span {
  opacity: 0;
}

.side_page .sec_tl {

 overflow-wrap: anywhere;

}
.policy a {
  color: #0055a6;
  border-bottom: solid 1px #0055a6;
  font-weight: 600;
}
.policy h3 {
  letter-spacing: .1rem;
  margin-top: 80px;
  margin-bottom: 30px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ccc;
  font-size: 140%;
}
.policy ol {
  padding-left: 40px;
  list-style: decimal;
  margin-top: 20px;
  margin-bottom: 30px;
}
.policy p {
  line-height: 1.9em;
}
.policy ul {
  padding-left: 40px;
  margin-top: 20px;
  margin-bottom: 30px;
  list-style: disc;
}
.policy li {
  line-height: 1.8em;
  padding-bottom: 10px;
}

.contact_tb select{
	    height: 40px;
    padding: 10px;
    width: 94%;
    border: 1px solid #d4d9e2;

}
.rectl_sub2{
    font-size: clamp(16px, 2vw, 25px);
	line-height: 1.7em;
margin-bottom: 20px;}



/*20250414編集*/

.about{
	margin-bottom:100px;
}

.tl_jp4{font-size: clamp(16px, 2vw, 20px);
	font-weight: 400;
	color: #fff;
	padding: 8px 10px;
	margin-top: 20px;
	margin-bottom: 10px;
	background: #b2a476;
}

.requirementtxt{font-size: clamp(25px, 4vw, 50px) !important;}
/*ローディング*/
.header{z-index: 100;}

#loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    text-align: center;
}
#loading img{
  max-width: 600px;
  margin: 0 auto;
 animation: 1s fadeup ease-in-out forwards;
}
#content {
    opacity: 0;
    transition: opacity 1.5s ease;
}

@keyframes fadeup {
  0% {
    opacity: 0;
    transform: translateY(1px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


/*.entryright{
	position: fixed;
		display: block;
	left: 0;
	top:35%;
width:70px;


}*/




.entryright img{

}
@media (max-width: 770px) {
	#loading img{
		max-width: 90%;}
}

.side_page10{
	padding-left:8%;
	padding-right:8%;
}



/*2025.05.08*/
.righticon{
	display: none;
}

.discli{
	padding-left: 25px;
	list-style: disc;
}

.f_r{float:right;}

.mvv .para_tl_en{
	text-transform: capitalize;
}

.sample-count{
	color:#b2a476;
	font-size: 6em;
margin-bottom: 20px;
font-weight:bolder;}

.related_inner img{
	border-radius: 0!important;
}

.related_inner{
	position: relative;
	margin: 5px;
}

.related_inner_logo{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	max-height:20px ;
	width: 90%;
	margin: auto;
}

.poc{max-height:40px ;}

.related .flex_box{
	justify-content: flex-start;
}

.snsmenu{
	margin-top: 10px;
}

.recmvsvg{
	margin-top: 50px;
	margin-bottom: 50px;
}
.recmvsvg svg {
	width: 80%;
	display: block;
 height: auto;}


.entryright{
	position: fixed;
		display: block;
	left: 0;
	bottom:0;}


.entryright img{
	max-width: 60%;
}

.languagebar{
	display: none;
}

.recpage_interview .slick-prev
{z-index: 10;
    left:5%;
}
.recpage_interview .slick-next
{
   z-index: 10;
    right:5%;

}

.recpage_interview .slick-prev:before, .recpage_interview .slick-next:before{
	font-size: 50px!important;
	color: #333!important;
}

@media (max-width: 1000px) {
	.related .item5{    width: calc(33.3% - 10px) !important;
	}
	.related_inner{
		margin-bottom: 10px;
	}
}

@media (max-width: 770px) {
#overview{
	margin-top: 50px;
	}
.related .item5{    width: calc(50% - 10px) !important;
	}


	.recmvsvg {
		padding-left: 20px;
		padding-right: 20px;

	margin-top: 0px;
	margin-bottom: 0px;
}

.recmvsvg svg {
	width: 100%;}


	.entryright img{
	max-width: 78%;
}

	.recpage_interview .slick-prev:before, .recpage_interview .slick-next:before{
	font-size:30px!important;

}
}

	/*20250616add*/
.para_tl_jpmain{font-weight: bold !important;
    color: #000;
	font-family: "Noto Sans JP", serif;
    margin-bottom: 50px;
        font-size: clamp(30px, 4.5vw, 45px);
    letter-spacing: .15rem;}

.entryright{display:none;}

.tabs {
  margin-top: 50px;
  padding-bottom: 40px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  width: 100%;
  margin: 0 auto;
}

.tab_item {
  width: calc(100%/4);
  height:50px;
  border-bottom: 3px solid #e7e434;
  background-color: #d9d9d9;
  line-height:50px;
  font-size: clamp(13px, 1.7vw, 16px) !important;
  text-align: center;
  color: #333;
  display: block;
  float: left;
  text-align: center;
  font-weight: 800;
  transition: all 0.2s ease;
}
.tab_item:hover {
  opacity: 0.75;
}

input[name="tab_item"] {
  display: none;
}

.tab_content {
  display: none;
  padding: 40px 40px 0;
  clear: both;
  overflow: hidden;
}

#t1:checked ~ #t1_content, #t2:checked ~ #t2_content, #t3:checked ~ #t3_content, #t4:checked ~ #t4_content {
  display: block;
}

.tabs input:checked + .tab_item {
  background-color: #e7e434;
  color: #000;
}
.c-txtsp {
  text-align: center;
}
.tab_content_description h3 {
  text-align: center;
  margin-bottom: 20px;
  font-size: clamp(15px, 1.8vw, 26px) !important;
  letter-spacing: .1rem;
	line-height: 1.5rem;
}
.rec_tab_area .tab_item {
	width: calc(100%/2);}

.newspage{
	padding-bottom:100px;
}



.recpage_interview .slick-prev:before, .recpage_interview .slick-next:before{
	color:#fff!important;
}

.yakuin2{border-bottom:1px solid #ccc!important;}

.pplname {
   text-align:right;
}
.yakusyoku{
	padding-left:50px;
	white-space:nowrap;
}

.tdnosp{white-space:nowrap;}



@media (max-width: 770px) {
	.breadcrumb {margin-top:100px;}

	 .tab_content {
    padding: 20px 10px;
  }
	.tab_item { line-height: 1.3rem;
	padding-top:20px;}

	.yakusyoku{width:40%;}



	.enkaku_cell td{
		padding-top:0px;
		padding-bottom:0px;
	}

.enkaku_cell td:nth-child(2) {
  padding-bottom:30px;
}
	.yakuin{
		border-bottom:none!important
	}

	.fir_1{padding-bottom:0!important;}

	.fir_2{padding-bottom:30px!important;}

	.tb1 th{border-top:none;}

	.sns_sp_nav{
		padding-bottom:100px;
	}

	.sitemap_box li{
		width:100%;
	}
	#overview .whbg{padding-top:0;}

	.para_tl_jpmain {margin-bottom:25px;}

	.sec_box {
		padding-bottom:40px;
		padding-top: 40px;}

	.recpage_message .para_tl_jpmain  {
		padding-top: 40px;
	}

	.side_page  .para_tl_jpmain  {
		padding-top: 40px;
	}
	    .side_page .sec_tl {
			margin-top: 40px;}

	.ssadj{
		margin-bottom:25px;
	}
	.recpage_env{
		padding-top:40px;
	}


	.about{
		margin-bottom:0;
		padding-top:0;
		padding-bottom:0px;
	}
	.aboutover {
        padding-top:130px;
    }
}

.ceoname{ font-family: "Noto Sans JP", serif;
  font-weight:500;
  font-style: normal;}


/*2025.07.08ＳＰメニューアコーディオン*/
.sp_sub_menu {
  display: none;
  padding-left: 1em;
}

.toggle-icon {
  float: right;
  font-size: 1.2em;
  cursor: pointer;
  transition: all 0.3s ease;
}

.drawer__item.open .toggle-icon::before {
  content: '－';
}
.drawer__item:not(.open) .toggle-icon::before {
  content: '＋';
}

/*2025.07.08　rec sideアコーディオン*/
.accordion {

max-width: 60vw;
}
.toggle {
display: none;
}
.option {
position: relative;
margin-bottom: 1em;
}
.actitle,
.accontent {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0);
transition: all 0.3s;
}
.actitle {

display: block;
color: #333;

}
.actitle::after,
.actitle::before {
content: "";
position: absolute;
 left: -10px;
top:9px;
width: 2px;
height: 0.75em;
background-color: #1a1a1a;
transition: all 0.3s;
}
.actitle::after {
transform: rotate(90deg);
}
.accontent {
max-height: 0;
overflow: hidden;
}

.toggle:checked + .actitle + .accontent {
max-height: 400px;
transition: all 1.5s;
}
.toggle:checked + .actitle::before {
transform: rotate(90deg) !important;
}
.side_rec ul {
    margin-top:30vh;
}


.ac_re_ul{
	margin-top: 0!important;
}

.ac_re_ul li::after{display: none;
    content: '';}

.sideli_li::after {
  position: absolute;
  content: '-';
  left: -10px;

}
.sideli_li:hover::after {
  transition: 1s;
  position: absolute;
  content: '-';
  color: #e7e434;
  left: -10px;
}

/*20250716追加分*/
.contact_tb th{
	width: 50%;
}
/*20250718追加分*/
.historytb{
	margin-top: 50px;
}
.historytb td{
	border-bottom: 1px solid #ccc;
	padding-bottom: 10px;
	padding-top: 10px;
	border-right: 1px solid #ccc;
	border-left: 1px solid #ccc;
	padding-left: 5px;
		padding-right:5px;
}

  .historytb tr:first-child td {
    border-top: 1px solid #ccc;
  }

@media (max-width: 770px) {
	.historytb td{
		font-size: 13px;
}
	.historytb .tdnw {
  white-space: nowrap;}
	
	 .historybox table td {
    display: table-cell;
    width: auto;
    border-bottom: 1px solid #ccc; /* 必要に応じて */
    position: static;
  }
	
}

.photeladd img {border-radius:0;
margin:5px;}
.related .item5 {
  width: calc(16.6% - 10px);
}
	