@charset "UTF-8";
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  -webkit-text-size-adjust: 100%;
}

p {
  color: #333;
  margin: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.pcOnly {
  display: none;
}
@media (min-width: 768px) {
  .pcOnly {
    display: block;
  }
}

.spOnly {
  display: block;
}
@media (min-width: 768px) {
  .spOnly {
    display: none;
  }
}

.tabOnly {
  display: none;
}
@media (min-width: 768px) {
  .tabOnly {
    display: block;
  }
}
@media (min-width: 1024px) {
  .tabOnly {
    display: none;
  }
}

/*=================================================*/
/*header
/*=================================================*/
.header .headerPosition {
  position: relative;
}
@media (min-width: 1600px) {
  .header .headerPosition {
    width: 100%;
    max-width: 1600px;
    margin: auto;
  }
}

.header {
  z-index: 100000;
  position: fixed;
  top: 0;
  width: 100%;
  height: 55px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.83), rgba(255, 255, 255, 0.08));
}

@media (min-width: 768px) {
  .header {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.73), rgba(255, 255, 255, 0));
  }
}
@media (min-width: 1300px) {
  .header {
    height: 162px;
  }
}
/*=================================================*/
/*headerテスト
/*=================================================*/
.header .headerInner {
  position: relative;
  margin: 0 auto;
  max-width: 1367px;
  width: 95%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
@media (min-width: 1200px) {
  .header .headerInner {
    width: 98%;
    padding: 6px 0 9px;
  }
}
@media (min-width: 1400px) {
  .header .headerInner {
    width: 100%;
  }
}

.header .headerInner .left {
  display: inline-flex;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 10px;
}
@media (min-width: 1300px) {
  .header .headerInner .left {
    gap: 20px;
  }
}
.header .headerInner .left .leftImg {
  width: 29.5px;
  height: 30px;
}
@media (min-width: 1300px) {
  .header .headerInner .left .leftImg {
    width: 39.5px;
    height: 40px;
  }
}
.header .headerInner .left .rightImg {
  width: 164px;
  height: 19px;
}
@media (min-width: 1300px) {
  .header .headerInner .left .rightImg {
    width: 214px;
    height: 25px;
  }
}

.header .navBox {
  display: none;
}
@media (min-width: 1300px) {
  .header .navBox {
    display: flex;
    align-items: center;
    flex-flow: column;
  }
}
.header .navBox .navTop {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header .navBox .navTop .companyInformationBox {
  display: flex;
  align-items: center;
  gap: 30px;
}
.header .navBox .navTop .companyInformationBox .leftInformation .leftInformationTelLink {
  display: flex;
  align-items: center;
  gap: 3px;
}
.header .navBox .navTop .companyInformationBox .leftInformation .leftInformationTelLink .commonImg {
  width: 29px;
  height: 29px;
}
.header .navBox .navTop .companyInformationBox .leftInformation .leftInformationTelLink .leftInformationTit {
  position: relative;
  z-index: 5;
  font: normal 900 24px/28px "Zen Kaku Gothic New", sans-serif;
  color: #333;
  letter-spacing: 0.08em;
}
.header .navBox .navTop .companyInformationBox .leftInformation .headerAddress {
  position: relative;
  z-index: 5;
  font: normal 700 14px/15px "Zen Kaku Gothic New", sans-serif;
  color: #333;
  letter-spacing: 0.05em;
}
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationTop .rightInformationTopList,
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationBottom .rightInformationTopList {
  display: flex;
  align-items: center;
  gap: 4px;
}
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationTop .rightInformationTopList .title,
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationBottom .rightInformationTopList .title {
  font: normal 500 14px/18px "Zen Kaku Gothic New", sans-serif;
  color: #333;
  letter-spacing: 0.08em;
  padding: 1px 4px 2px 6px;
  background: #fff;
  border-radius: 2px;
  border: 1px solid #1c882e;
}
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationTop .rightInformationTopList .time,
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationBottom .rightInformationTopList .time {
  font: normal 500 14px/18px "Zen Kaku Gothic New", sans-serif;
  color: #333;
  letter-spacing: 0.08em;
}
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationTop .rightInformationTopList .textGreen,
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationBottom .rightInformationTopList .textGreen {
  color: #1c882e;
  border: 1px solid #1c882e;
}
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationTop .rightInformationTopList .textRed,
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationBottom .rightInformationTopList .textRed {
  color: #AA2A2A;
  border: 1px solid #AA2A2A;
}
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationTop .rightInformationTopList .titleBg,
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationBottom .rightInformationTopList .titleBg {
  background: #fff;
  border-radius: 2px;
}
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationTop .rightInformationTopList .textOrange,
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationBottom .rightInformationTopList .textOrange {
  position: relative;
  background: linear-gradient(90deg, rgb(210, 154, 23), rgb(210, 154, 23) 30%, rgb(210, 154, 23));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  border: 1px solid #D29A17;
  z-index: 5;
}
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationTop {
  display: flex;
  align-items: center;
  gap: 10px;
}
.header .navBox .navTop .companyInformationBox .rightInformation .rightInformationBottom {
  margin-top: 5px;
}

.header .headerInner .navBox .right {
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 0 20px 0 10px;
  margin-top: 8px;
  display: none;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.85);
}
.header .headerInner .navBox .right .snsNavLinkbox {
  display: flex;
  align-items: center;
  gap: 22px;
}
.header .headerInner .navBox .right .snsNavLinkbox .snsLink {
  width: 22px;
  height: 22px;
  transition: 0.3s;
}
.header .headerInner .navBox .right .snsNavLinkbox .snsLink:hover {
  transform: translateY(-6px);
  transition: 0.3s;
}

@media (min-width: 1200px) {
  .header .headerInner .navBox .right {
    display: flex;
  }
}
.header .headerInner .navBox .right .link {
  position: relative;
  padding: 13px 10px;
}
.header .headerInner .navBox .right .link:hover .p::before {
  transform: scale(1, 1);
  transition: transform 0.3s;
}

.header .headerInner .navBox .right .link.span {
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.header .headerInner .navBox .right .link .p {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 23px;
  letter-spacing: 0.08em;
  color: #333;
  text-align: left;
  white-space: nowrap;
  transition: 0.3s;
}
.header .headerInner .navBox .right .link .p::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 0;
  bottom: -3px;
  background: #333;
  transform: scale(0, 1);
  /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
  transform-origin: left top;
  /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
  transition: transform 0.3s;
  /*変形の時間*/
}

.header .headerInner .navBox .right .headerButton {
  width: 160px;
  height: 44px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  border-radius: 50px;
  margin-left: 14px;
  border: 1px solid #1c882e;
  gap: 4px;
}

.header .headerInner .navBox .right .headerButton .buttonP {
  color: #1c882e;
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  font-size: 15px;
  line-height: normal;
}

.header .headerInner .navBox .right .headerButton .img {
  width: 15px;
  height: 15px;
}

.header .headerInner .navBox .right .headerButton.green {
  background-color: #1c882e;
  width: 148px;
  border-left: 0px solid transparent;
}

.header .headerInner .navBox .right .headerButton.green .buttonP {
  color: white;
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 1.12px;
}

.header .headerInner .navBox .right .headerButton.green:hover {
  opacity: 0.7;
}

.header .headerInner .navBox .right .icon {
  padding: 0;
  transition: 0.3s;
}
.header .headerInner .navBox .right .icon:hover {
  transform: translateY(-5px);
  transition: 0.3s;
}

.header .headerInner .navBox .right .icon .img {
  width: 24px;
  height: 24px;
}

.header .headerInner .navBox .right .icon.left {
  margin-left: 18px;
}

.snsLinkBox {
  margin-left: 20px;
}
.snsLinkBox .snsLink {
  display: inline-block;
  width: 25px;
  height: 25px;
  transition: 0.3s;
}
.snsLinkBox .snsLink:hover {
  transform: translateY(-6px);
  transition: 0.3s;
}

.linkBtnWrap {
  display: none;
}
@media (min-width: 1200px) {
  .linkBtnWrap {
    display: flex;
    align-items: center;
    gap: 15px;
  }
}
.linkBtnWrap .linkBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  width: 170px;
  height: 46px;
}
.linkBtnWrap .linkBtn .commonImg {
  position: absolute;
  width: 16px;
  height: 16px;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 4;
}
.linkBtnWrap .linkBtn .noHover {
  opacity: 1;
}
.linkBtnWrap .linkBtn .hover {
  opacity: 0;
}
.linkBtnWrap .linkBtnContact {
  position: relative;
  background: #333;
  border: 1px solid #333;
  overflow: hidden;
  z-index: 5;
  transition: 0.3s;
}
.linkBtnWrap .linkBtnContact:hover {
  background: #FFF;
}
.linkBtnWrap .linkBtnContact:hover .linkBtnTit {
  color: #333;
}
.linkBtnWrap .linkBtnContact:hover .noHover {
  opacity: 0;
}
.linkBtnWrap .linkBtnContact:hover .hover {
  opacity: 1;
}
.linkBtnWrap .linkBtnContact .linkBtnTit {
  position: relative;
  font: normal 500 16px/23px "Zen Kaku Gothic New", sans-serif;
  color: #333;
  color: #FFF;
  text-align: center;
  letter-spacing: 0em;
  padding-right: 15px;
  z-index: 5;
}
.linkBtnWrap .linkBtnRecruit {
  position: relative;
  background: #177451;
  overflow: hidden;
  z-index: 5;
  transition: 0.3s;
}
.linkBtnWrap .linkBtnRecruit:hover {
  background: #0a4931;
}
.linkBtnWrap .linkBtnRecruit .linkBtnTit {
  position: relative;
  font: normal 500 16px/23px "Zen Kaku Gothic New", sans-serif;
  color: #333;
  color: #FFF;
  text-align: center;
  letter-spacing: 0em;
  padding-right: 12px;
  z-index: 5;
}
.linkBtnWrap .linkBtnRecruit .commonImg {
  right: 37px;
}

.hamburgerWrapper {
  margin-left: 20px;
  margin-top: 2px;
}
.hamburgerWrapper .accordionRoot:hover .accordionChild {
  visibility: visible;
  opacity: 1;
  transform: scaleY(1);
}
.hamburgerWrapper .accordionRoot .accordionChild {
  transition: all 0.4s ease;
  visibility: hidden;
  opacity: 0;
  transform: scaleY(0);
  transform-origin: center top;
}

@media (min-width: 1300px) {
  .hamburgerWrapper {
    display: none;
  }
}
.hamburgerWrapper .hamburger {
  display: block;
  position: relative;
  z-index: 4;
  width: 30px;
  height: 30px;
  cursor: pointer;
  text-align: center;
}

.hamburgerWrapper .hamburger .span {
  display: block;
  position: absolute;
  width: 30px;
  height: 1px;
  left: 0px;
  background: #333;
  transition: 0.2s ease-in-out;
}

.hamburgerWrapper .hamburger .span:nth-child(1) {
  top: 0px;
}

.hamburgerWrapper .hamburger .span:nth-child(2) {
  top: 12px;
}

.hamburgerWrapper .hamburger .span:nth-child(3) {
  top: 24px;
}

.hamburgerWrapper .hamburger.active {
  transition: all 0.3s ease-in-out;
  transition-delay: 0.6s;
  transform: rotate(45deg);
}

.hamburgerWrapper .hamburger.active .span {
  background: #333;
}

.hamburgerWrapper .hamburger.active .span:nth-child(2) {
  width: 0px;
}

.hamburgerWrapper .hamburger.active .span:nth-child(1),
.hamburgerWrapper .hamburger.active .span:nth-child(3) {
  transition-delay: 0.3s;
}

.hamburgerWrapper .hamburger.active .span:nth-child(1) {
  transform: translateY(16px);
}

.hamburgerWrapper .hamburger.active .span:nth-child(3) {
  transform: translateY(-8px) rotate(90deg);
}

.hamburgerWrapper .globalMenuSp {
  position: fixed;
  z-index: 3;
  top: -20px;
  right: 0;
  background: rgba(255, 255, 255, 0.9);
  text-align: left;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  opacity: 0;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, 0.5);
}

@media (min-width: 1000px) {
  .hamburgerWrapper .globalMenuSp {
    width: 40%;
  }
}
.hamburgerWrapper .globalMenuSp .navUl {
  margin: 0 auto;
  padding: 70px 0 40px;
  width: 100%;
}

.hamburgerWrapper .globalMenuSp .navUl .link {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 100%;
  height: 38px;
  text-decoration: none;
  border-bottom: 0.5px solid rgb(173, 173, 173);
  transition: 0.3s;
}
.hamburgerWrapper .globalMenuSp .navUl .link:hover {
  background: rgba(23, 116, 81, 0.1);
  transition: 0.3s;
}

.hamburgerWrapper .globalMenuSp .navUl .link .p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 15px;
  line-height: 15px;
  letter-spacing: 0.08em;
  color: #333;
  text-align: center;
}

.hamburgerWrapper .globalMenuSp .navUl .link .commonImg {
  width: 24px;
  height: 24px;
}

.hamburgerWrapper .globalMenuSp .navUl .link.span {
  cursor: pointer;
}

.hamburgerWrapper .globalMenuSp .navUl .link.span .img {
  width: 10px;
  height: 5px;
}

.hamburgerWrapper .globalMenuSp .navUl .link .online {
  width: 15px;
  height: 15px;
  margin-top: 0;
  margin-bottom: 0;
}

.hamburgerWrapper .globalMenuSp .navUl .link.linkChild {
  height: 48px;
  background: #dff6f6;
}

.hamburgerWrapper .globalMenuSp .navUl .link.linkChild .p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 15px;
  line-height: 21px;
  letter-spacing: 0.08em;
  color: #333;
  text-align: center;
}

.hamburgerWrapper .globalMenuSp .navUl .link.linkTel {
  flex-flow: column;
  height: 70px;
}
.hamburgerWrapper .globalMenuSp .navUl .link.linkTel_2{
  height: 30px;
  border-bottom: none;
}
.hamburgerWrapper .globalMenuSp .navUl .link.linkTel .telFlex {
  display: flex;
  align-items: center;
  gap: 3px;
}
.hamburgerWrapper .globalMenuSp .navUl .link.linkTel_2 .telFlex{
  margin-left: 20px;
}
.hamburgerWrapper .globalMenuSp .navUl .link.linkTel .telFlex .leftInformationTit {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 18px;
  letter-spacing: 0.08em;
  color: #333;
  text-align: center;
}
.hamburgerWrapper .globalMenuSp .navUl .link.linkTel .telFlex .commonImg {
  width: 20px;
  height: 20px;
}
.hamburgerWrapper .globalMenuSp .navUl .link.linkTel .bottomTextBox {
  text-align: center;
}
.hamburgerWrapper .globalMenuSp .navUl .link.linkTel .bottomTextBox .bottomText {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  letter-spacing: 0.08em;
  color: #333;
  text-align: center;
}

.hamburgerWrapper .globalMenuSp.active {
  opacity: 100;
  height: auto;
}

.hamburgerWrapper .globalMenuSp .navUl .languageLinkBox {
  border-bottom: 1px solid rgb(225, 225, 225);
}
.hamburgerWrapper .globalMenuSp .navUl .languageLinkBox .navLink .navText {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.hamburgerWrapper .globalMenuSp .navUl .link.bgReservation {
  gap: 0;
  background: #F8F5F3;
  transition: 0.3s;
}
.hamburgerWrapper .globalMenuSp .navUl .link.bgReservation:hover {
  background: #DBD0CD;
  transition: 0.3s;
}
.hamburgerWrapper .globalMenuSp .navUl .link.bgReservation .titFlex {
  display: flex;
  align-items: baseline;
}
.hamburgerWrapper .globalMenuSp .navUl .link.bgReservation .titFlex .pEn {
  font-family: "Josefin Sans", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 15px;
  line-height: 21px;
  letter-spacing: 0.08em;
  color: #333;
  text-align: center;
}
.hamburgerWrapper .globalMenuSp .navUl .link.bgReservation .titFlex .pJa {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 15px;
  line-height: 21px;
  letter-spacing: 0.08em;
  color: #333;
  text-align: center;
}

.hamburgerWrapper .globalMenuSp .navUl .link.bgContact {
  background: #333;
}
.hamburgerWrapper .globalMenuSp .navUl .link.bgContact .p {
  color: #FFF;
}
.hamburgerWrapper .globalMenuSp .navUl .link.bgContact:hover {
  background: rgba(23, 116, 81, 0.1);
}
.hamburgerWrapper .globalMenuSp .navUl .link.bgContact:hover .p {
  color: #333;
}

.hamburgerWrapper .globalMenuSp .navUl .link.bgRecruitment {
  background: #177451;
}
.hamburgerWrapper .globalMenuSp .navUl .link.bgRecruitment .p {
  color: #FFF;
}
.hamburgerWrapper .globalMenuSp .navUl .link.bgRecruitment:hover {
  background: rgba(23, 116, 81, 0.1);
}
.hamburgerWrapper .globalMenuSp .navUl .link.bgRecruitment:hover .p {
  color: #333;
}

.header.change_color {
  background: rgba(255, 255, 255, 0.9);
}
.header.change_color .headerInner .navBox .right {
  background: none;
}/*# sourceMappingURL=header.css.map */