/*********************************

_main.scss

*********************************/
/*********************************

_variables.scss

*********************************/
/*********************************

_mixins.scss

*********************************/
/*********************************

_functions.scss

*********************************/
/*********************************

_base.scss

*********************************/
* {
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  word-break: break-word;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
}

body {
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
  box-sizing: border-box;
  font-weight: normal;
  text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  color: #585858;
  background-color: #F0EFE8;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

section {
  position: relative;
}

main {
  margin: 0 auto;
  padding: 0 0 0;
  display: block;
}

input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  line-height: 100%;
  box-sizing: border-box;
}

/* Hide HTML5 Up and Down arrows. */
input[type=search]::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

input[type=search]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
}

textarea {
  resize: none;
}

a {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}
a:hover {
  text-decoration: none !important;
}

figure {
  margin: 0;
}

img {
  margin: 0 auto;
  display: block;
  width: 100%;
  height: auto;
}

ul {
  list-style-position: inside;
}

::placeholder,
::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder,
:-moz-placeholder {
  font-size: inherit;
  font-weight: inherit;
  font-family: inherit;
  color: inherit;
}

button {
  cursor: pointer;
  transition: opacity 0.2s linear;
  -webkit-transition: opacity 0.2s linear;
  -o-transition: opacity 0.2s linear;
}
button:hover {
  text-decoration: none !important;
  opacity: 0.8;
}

.wow {
  animation-duration: 1s !important; /* Forces all WOW.js elements to have a 1.5s duration */
}

/*********************************

_misc.scss

*********************************/
/*********************************

_utilities.scss

*********************************/
body.is-popup {
  overflow: hidden;
}

main.is-child-page {
  margin-top: 11.328125vw;
}

.siteContainer {
  margin: 3.125vw auto;
  width: 75vw;
}

.textCenter {
  text-align: center;
}

.displayNone {
  display: none;
}

.textClamp2Lines {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

@media print, screen and (min-width: 769px) {
  .pcBlock {
    display: block;
  }
  .spBlock {
    display: none !important;
  }
  .pcFlex { /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */ /* TWEENER - IE 10 */ /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  }
  .spFlex {
    display: none !important;
  }
  .pcInline-block {
    display: inline-block;
  }
  .spInline-block {
    display: none !important;
  }
}
@media print, screen and (max-width: 768px) {
  main.is-child-page {
    margin-top: 28.2051282051vw;
  }
  .siteContainer {
    margin: 10.2564102564vw auto;
    width: 87.4358974359vw;
  }
  .pcBlock {
    display: none !important;
  }
  .spBlock {
    display: block;
  }
  .pcFlex {
    display: none !important;
  }
  .spFlex { /* OLD - iOS 6-, Safari 3.1-6 */ /* OLD - Firefox 19- (buggy but mostly works) */ /* TWEENER - IE 10 */ /* NEW - Chrome */
    display: flex; /* NEW, Spec - Opera 12.1, Firefox 20+ */
  }
  .pcInline-block {
    display: none !important;
  }
  .spInline-block {
    display: inline-block;
  }
}
/*-----------------------------------------------
Anchor
------------------------------------------------*/
.anchor {
  position: relative;
}
.anchor__box {
  margin: auto;
  position: absolute;
  top: -7.8125vw;
  left: 0;
  right: 0;
  width: 3.90625vw;
  height: 3.90625vw;
  outline: none;
  pointer-events: none;
  cursor: default;
  z-index: -1;
}
@media print, screen and (max-width: 768px) {
  .anchor__box {
    top: -25.641025641vw;
    width: 12.8205128205vw;
    height: 12.8205128205vw;
  }
}

/*********************************

_header.scss

*********************************/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 11;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.header.is-child-page, .header.is-scrolled {
  background-color: #F0EFE8;
}
.header.is-child-page .header__container, .header.is-scrolled .header__container {
  padding: 1.484375vw 0 0.9375vw;
}
.header.is-child-page .header__logo, .header.is-scrolled .header__logo {
  opacity: 1;
  pointer-events: auto;
}
.header.is-child-page .header__navMenuItemLink, .header.is-scrolled .header__navMenuItemLink {
  color: #585858;
}
.header__container {
  margin: 0 auto;
  padding: 1.484375vw 0;
  width: calc(100% - 4.0625vw);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  box-sizing: border-box;
}
.header__logo {
  margin-right: 15vw;
  display: block;
  width: 14.296875vw;
  opacity: 0;
  pointer-events: none;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
@media print, screen and (min-width: 769px) {
  .header__logo:hover {
    opacity: 0.7;
  }
}
.header__menuBarsWrapper {
  display: none;
}
.header__navMenuContainer {
  margin-right: 3.75vw;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.header__navMenuItems {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  list-style: none;
}
.header__navMenuItems.m-pcDb {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.header__navMenuItem {
  position: relative;
}
.header__navMenuItem:nth-child(1) {
  margin-right: 2.96875vw;
}
.header__navMenuItem:nth-child(2) {
  margin-right: 3.828125vw;
}
.header__navMenuItem:nth-child(3) {
  margin-right: 2.109375vw;
}
.header__navMenuItem:nth-child(4) {
  margin-right: 2.109375vw;
}
.header__navMenuItemLink {
  font-size: 1.015625vw;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2;
  color: #fff;
  position: relative;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
@media print, screen and (min-width: 769px) {
  .header__navMenuItemLink:hover {
    opacity: 0.7;
  }
}
.header__navMenuItemLink span {
  display: none;
}
.header__contactBtn {
  margin-right: 1.875vw;
  padding: 0;
  width: 9.609375vw;
  min-height: 2.1875vw;
  font-size: 0.859375vw;
  font-weight: 500;
  letter-spacing: -0.006em;
  line-height: 2;
  border-radius: 1.328125vw;
  color: #fff;
  background-color: #3E7A48;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.header__contactBtn span {
  margin: 0 0 0 0.703125vw;
}
.header__contactBtn span svg {
  width: 0.68046875vw;
}
.header__contactBtn span svg path {
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.header__contactBtn:hover {
  opacity: 1;
  background-color: #fff;
  color: #224528;
}
.header__contactBtn:hover svg path {
  fill: #224528;
}

@media print, screen and (max-width: 768px) {
  .header {
    width: 100%;
  }
  .header.is-child-page .header__container, .header.is-scrolled .header__container {
    padding: 3.8461538462vw 0 2.8205128205vw;
  }
  .header.is-child-page .header__menuBar, .header.is-scrolled .header__menuBar {
    background-color: #000;
  }
  .header.is-child-page .header__navMenuItemLink, .header.is-scrolled .header__navMenuItemLink {
    color: #fff;
  }
  .header__container {
    margin: 0 auto;
    padding: 3.8461538462vw 0 2.8205128205vw;
    width: calc(100% - 4.1025641026vw);
    justify-content: space-between;
  }
  .header__logo {
    width: 37.9487179487vw;
  }
  .header__contactBtn {
    display: none;
  }
  .header__sns {
    margin: 12.5641025641vw auto 0;
    width: 7.6923076923vw;
  }
  .header__navMenuContainer {
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: #1c3c20;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
  }
  .header__navMenuContainer.is-active {
    left: 0;
  }
  .header__navMenuItems {
    margin: 0 auto;
    padding-top: 22.0512820513vw;
    width: 78.46%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
  .header__navMenuItem {
    margin: 0 auto 0;
    padding-top: 3.5897435897vw;
    padding-bottom: 4.358974359vw;
    width: 100%;
    border-bottom: 0.1282051282vw solid #C0C0C0;
  }
  .header__navMenuItem:nth-child(1), .header__navMenuItem:nth-child(2), .header__navMenuItem:nth-child(3), .header__navMenuItem:nth-child(4), .header__navMenuItem:nth-child(5) {
    margin-right: 0;
  }
  .header__navMenuItem.contactUs span svg {
    width: 1.4666666667vw;
  }
  .header__navMenuItemLink {
    display: block;
    width: 100%;
    font-size: 3.5897435897vw;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0;
    color: #fff;
    position: relative;
  }
  .header__navMenuItemLink span {
    position: absolute;
    top: 50%;
    right: 3.3333333333vw;
    transform: translateY(-50%);
    width: 5.1282051282vw;
    height: 2.8205128205vw;
    border-radius: 6.9230769231vw;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .header__navMenuItemLink span svg {
    width: 1.4666666667vw;
  }
  .header__menuBarsWrapper {
    margin-right: 2.3076923077vw;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    background-color: transparent;
  }
  .header__menuBars {
    margin: 0 auto;
    width: auto;
    display: inline-block;
    transition: all 0.7s ease;
    cursor: pointer;
  }
  .header__menuBars.bars-clicked .header__menuBar {
    background-color: #fff;
  }
  .header__menuBar {
    margin: 1.5384615385vw auto;
    width: 9.2307692308vw;
    height: 0.5128205128vw;
    display: block;
    background: #fff;
    transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
  }
  .header__menuBar.top {
    margin-top: 0;
  }
  .header__menuBar.bottom {
    margin: 1.5384615385vw 0 0;
  }
  .header .bars-clicked .top {
    transform: translateY(1.0256410256vw) rotateZ(45deg);
  }
  .header .bars-clicked .bottom {
    transform: translateY(-1.0256410256vw) rotateZ(-45deg);
  }
}
/*********************************

_footer.scss

*********************************/
.footer {
  margin: 0 auto;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../images/footer/footer-bg.webp);
  position: relative;
}
.footer__backToTop {
  position: fixed;
  bottom: 3.125vw;
  right: 4.21875vw;
  width: 3.984375vw;
  z-index: 5;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(0);
  transition: opacity 0.3s ease, transform 0.4s ease, visibility 0s linear 0.3s;
}
@media print, screen and (min-width: 769px) {
  .footer__backToTop:hover {
    opacity: 0.7;
  }
}
.footer__backToTop.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 0.3s ease, transform 0.4s ease, visibility 0s;
}
.footer__backToTop.is-footer {
  transform: translateY(-32.421875vw);
}
.footer__container {
  margin: 0 auto;
  width: 100%;
}
.footer__topContents {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  border-bottom: 0.0390625vw solid #fff;
}
.footer__contactHeading {
  padding-top: 9.296875vw;
  padding-left: 5.703125vw;
  width: 50%;
  color: #fff;
  position: relative;
}
.footer__contactHeading h2 {
  width: 27.34375vw;
  font-size: 6.97265625vw;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.003em;
  position: relative;
}
.footer__contactHeading p {
  font-size: 1.09375vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0;
}
.footer__contactHeading p.topTxt {
  margin-bottom: 2.265625vw;
  font-weight: 500;
}
.footer__contactLink {
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
@media print, screen and (min-width: 769px) {
  .footer__contactLink:hover {
    opacity: 0.7;
  }
}
.footer__contactLink span {
  position: absolute;
  top: 3.90625vw;
  right: 0;
  width: 1.953125vw;
  height: 1.11640625vw;
  background-color: #fff;
  border-radius: 2.65625vw;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.footer__contactLink span svg {
  width: 0.5578125vw;
}
.footer__contactLink:hover span {
  background-color: #224528;
}
.footer__contactLink:hover span svg path {
  fill: #fff;
}
.footer__contactLink.is-clicked span, .footer__contactLink:focus span {
  background-color: #fff;
}
.footer__contactLink.is-clicked span svg path, .footer__contactLink:focus span svg path {
  fill: #224528;
}
.footer__mainImg {
  width: 50%;
  height: 38.828125vw;
  display: block;
}
.footer__mainImg img {
  height: 100%;
}
.footer__midContents {
  padding-top: 4.6875vw;
  padding-left: 5vw;
  padding-right: 4.0625vw;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.footer__companyDetails {
  width: 15.15625vw;
}
.footer__logo {
  margin: 0 auto 3.90625vw;
  display: block;
  width: 6.40625vw;
}
.footer__text1 {
  margin-bottom: 1.1796875vw;
  width: 100%;
  display: block;
}
.footer__text2 {
  margin: 0 0 0.46875vw;
  width: 3.90625vw;
  display: block;
}
.footer__text3 {
  margin-bottom: 0.78125vw;
  width: 100%;
  display: block;
}
.footer__tel {
  font-size: 0.859375vw;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.5;
  color: #fff;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
@media print, screen and (min-width: 769px) {
  .footer__tel:hover {
    opacity: 0.7;
  }
}
.footer__tel span {
  font-size: 2.03125vw;
  font-weight: 500;
  line-height: 1.5;
}
.footer__links {
  padding-top: 1.640625vw;
  margin-left: 19.53125vw;
  margin-right: 6.40625vw;
  width: 35.3125vw;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 4.53125vw 0;
}
.footer__link {
  margin-right: 1.953125vw;
  font-size: 1.015625vw;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2;
  color: #fff;
  display: block;
  position: relative;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
@media print, screen and (min-width: 769px) {
  .footer__link:hover {
    opacity: 0.7;
  }
}
.footer__link span {
  margin-left: 0.3125vw;
}
.footer__link span svg {
  width: 0.68046875vw;
}
.footer__link:first-child {
  margin-right: 1.640625vw;
}
.footer__link:nth-child(3) {
  margin-right: 0;
}
.footer__link:last-child {
  margin-right: 0;
}
.footer__extLinks {
  padding-top: 1.875vw;
  width: 14.53125vw;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.78125vw;
}
.footer__extLink {
  width: 100%;
  display: block;
  position: relative;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.footer__extLink:first-child {
  width: 100%;
}
.footer__extLink:nth-child(2) {
  width: 100%;
}
.footer__extLink:last-child {
  width: 100%;
}
.footer__extLink:last-child img {
  width: 7.109375vw;
}
.footer__extLink span.footer__extLinkTtlArrow {
  position: absolute;
  bottom: 0.625vw;
  right: 0;
  width: 1.484375vw;
  height: 0.859375vw;
  background-color: #fff;
  border-radius: 2.03125vw;
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer__extLink span.footer__extLinkTtlArrow svg {
  width: 0.4296875vw;
}
.footer__extLink:hover .footer__extLinkImgWrapper,
.footer__extLink:hover .footer__extLinkTtl {
  opacity: 0.7;
}
.footer__extLink:hover .footer__extLinkTtlArrow {
  background-color: #224528;
}
.footer__extLink:hover svg path {
  fill: #fff;
}
.footer__extLinkImgWrapper {
  width: 100%;
  height: 4.0625vw;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.footer__extLinkTtl {
  font-size: 0.9375vw;
  font-weight: 400;
  letter-spacing: -0.11em;
  line-height: 2;
  color: #fff;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.footer__bottomContents {
  padding: 3.828125vw 4.0625vw 2.03125vw 5vw;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  box-sizing: border-box;
}
.footer__sns {
  margin-bottom: 2.265625vw;
  width: 1.171875vw;
  display: block;
}
.footer__text4 {
  width: 30.46875vw;
  display: block;
}
.footer__linkPrivacyPolicy {
  margin-bottom: 1.5625vw;
  font-size: 0.9375vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
  color: #fff;
  text-align: right;
  display: block;
}
.footer__copyrights {
  font-size: 0.9375vw;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  color: #fff;
}

@media print, screen and (max-width: 768px) {
  .footer {
    background-image: url(../images/footer/footer-bg-mob.webp);
  }
  .footer__backToTop {
    right: 5.258974359vw;
    width: 10.3820512821vw;
    bottom: 12.8205128205vw;
  }
  .footer__backToTop.is-footer {
    transform: translateY(-12.8205128205vw);
  }
  .footer__topContents {
    border-bottom: 0;
    flex-direction: column;
    gap: 11.0256410256vw;
  }
  .footer__contactHeading {
    padding-top: 6.1538461538vw;
    padding-left: 4.8717948718vw;
    width: 100%;
  }
  .footer__contactHeading h2 {
    width: 66.6666666667vw;
    font-size: 16.4102564103vw;
  }
  .footer__contactHeading p {
    font-size: 3.3333333333vw;
  }
  .footer__contactHeading p.topTxt {
    margin-bottom: 5.3846153846vw;
  }
  .footer__contactLink {
    width: max-content;
    display: block;
  }
  .footer__contactLink span {
    top: 10.2564102564vw;
    width: 6.4102564103vw;
    height: 3.6641025641vw;
    border-radius: 8.7179487179vw;
  }
  .footer__contactLink span svg {
    width: 1.8307692308vw;
  }
  .footer__contactLink:hover span {
    background-color: #224528;
  }
  .footer__contactLink:hover span svg path {
    fill: #fff;
  }
  .footer__mainImg {
    width: 100%;
    height: 53.5897435897vw;
  }
  .footer__midContents {
    margin-top: 5.3846153846vw;
    padding-top: 3.0769230769vw;
    padding-left: 10.2564102564vw;
    padding-right: 10.2564102564vw;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
  }
  .footer__companyDetails {
    margin: 0 auto;
    width: 45.641025641vw;
    order: 3;
  }
  .footer__logo {
    margin: 0 auto 6.6666666667vw;
    width: 19.2307692308vw;
  }
  .footer__text1 {
    margin-bottom: 3.8717948718vw;
    width: 100%;
  }
  .footer__text2 {
    margin: 0 0 1.5384615385vw;
    width: 11.7641025641vw;
  }
  .footer__text3 {
    margin-bottom: 1.2820512821vw;
    width: 100%;
  }
  .footer__tel {
    font-size: 2.5641025641vw;
  }
  .footer__tel span {
    font-size: 5.8974358974vw;
  }
  .footer__links {
    margin: 0 auto;
    padding-top: 0;
    width: 100%;
    flex-direction: column;
    gap: 0;
  }
  .footer__link {
    margin: auto;
    padding: 3.5897435897vw 0 4.358974359vw;
    width: 100%;
    font-size: 3.5897435897vw;
    line-height: 1;
    letter-spacing: -0.003em;
    border-bottom: 0.1282051282vw solid #C0C0C0;
  }
  .footer__link span {
    margin-left: 1.2820512821vw;
  }
  .footer__link span svg {
    width: 2.2333333333vw;
  }
  .footer__link:first-child {
    margin-right: 0;
  }
  .footer__link:nth-child(4) {
    margin-right: 0;
  }
  .footer__link:nth-child(5) {
    margin-right: 0;
  }
  .footer__link:last-child {
    margin-right: 0;
    padding-bottom: 0;
    border-bottom: 0;
    color: #D0D0D0;
  }
  .footer__extLinks {
    margin-bottom: 12.3076923077vw;
    padding-top: 13.0769230769vw;
    width: 47.6923076923vw;
    gap: 2.5641025641vw;
  }
  .footer__extLink:last-child img {
    width: 23.3333333333vw;
  }
  .footer__extLink span.footer__extLinkTtlArrow {
    bottom: 1.5384615385vw;
    width: 4.8717948718vw;
    height: 2.8205128205vw;
    border-radius: 6.6666666667vw;
  }
  .footer__extLink span.footer__extLinkTtlArrow svg {
    width: 1.4102564103vw;
  }
  .footer__extLink:hover .footer__extLinkImgWrapper,
  .footer__extLink:hover .footer__extLinkTtl {
    opacity: 0.7;
  }
  .footer__extLink:hover .footer__extLinkTtlArrow {
    background-color: #224528;
  }
  .footer__extLink:hover svg path {
    fill: #fff;
  }
  .footer__extLinkImgWrapper {
    height: 13.3333333333vw;
  }
  .footer__extLinkTtl {
    font-size: 3.0769230769vw;
  }
  .footer__bottomContents {
    padding: 5.641025641vw 10.7692307692vw 6.6666666667vw;
    width: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .footer__sns {
    margin: 0 auto 5.641025641vw;
    width: 5.3846153846vw;
  }
  .footer__text4 {
    margin-bottom: 9.4871794872vw;
    width: 61.7948717949vw;
  }
  .footer__linkPrivacyPolicy {
    display: none;
  }
  .footer__copyrights {
    font-size: 2.5641025641vw;
  }
}
/*********************************

_button.scss

*********************************/
.royalBtnTypeA,
.royalBtnTypeB,
.royalBtnTypeC,
.royalBtnTypeD {
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
@media print, screen and (min-width: 769px) {
  .royalBtnTypeA:hover,
  .royalBtnTypeB:hover,
  .royalBtnTypeC:hover,
  .royalBtnTypeD:hover {
    opacity: 0.7;
  }
}
.royalBtnTypeA__arrow,
.royalBtnTypeB__arrow,
.royalBtnTypeC__arrow,
.royalBtnTypeD__arrow {
  position: relative;
  width: 1.5625vw;
  height: 0.89296875vw;
  border-radius: 2.109375vw;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  z-index: 2;
}
.royalBtnTypeA svg,
.royalBtnTypeB svg,
.royalBtnTypeC svg,
.royalBtnTypeD svg {
  width: 0.44609375vw;
}
.royalBtnTypeA svg path,
.royalBtnTypeB svg path,
.royalBtnTypeC svg path,
.royalBtnTypeD svg path {
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}

.royalBtnTypeA__arrow {
  background-color: #fff;
}
.royalBtnTypeA:hover svg path {
  fill: #fff;
}

.royalBtnTypeB {
  padding-right: 0.859375vw;
  padding-bottom: 1.015625vw;
  width: 10.625vw;
  font-size: 0.9375vw;
  font-weight: 400;
  line-height: 1;
  border-bottom: 0.0390625vw solid #000;
  color: #000;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.royalBtnTypeB__arrow {
  background-color: #224528;
}
.royalBtnTypeB:hover .royalBtnTypeB__arrow {
  background-color: #fff;
}
.royalBtnTypeB:hover .royalBtnTypeB__arrow svg path {
  fill: #224528;
}

.royalBtnTypeC {
  width: 100%;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.005em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.royalBtnTypeC__arrow {
  background-color: #224528;
}
.royalBtnTypeC:hover .royalBtnTypeC__arrow {
  background-color: #fff;
}
.royalBtnTypeC:hover svg path {
  fill: #224528;
}

.royalBtnTypeD {
  margin: 0 auto 0;
  padding-left: 0.859375vw;
  padding-right: 1.796875vw;
  padding-bottom: 1.015625vw;
  width: 10.625vw;
  font-size: 0.9375vw;
  font-weight: 400;
  line-height: 1;
  color: #000;
  border-bottom: 0.0390625vw solid #000;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.royalBtnTypeD__arrow {
  background-color: #224528;
}
.royalBtnTypeD:hover .royalBtnTypeD__arrow {
  background-color: #fff;
}
.royalBtnTypeD:hover .royalBtnTypeD__arrow svg path {
  fill: #224528;
}

@media print, screen and (max-width: 768px) {
  .royalBtnTypeA__arrow,
  .royalBtnTypeB__arrow,
  .royalBtnTypeC__arrow,
  .royalBtnTypeD__arrow {
    width: 5.1282051282vw;
    height: 2.9307692308vw;
    border-radius: 6.9230769231vw;
  }
  .royalBtnTypeA svg,
  .royalBtnTypeB svg,
  .royalBtnTypeC svg,
  .royalBtnTypeD svg {
    width: 1.4641025641vw;
  }
  .royalBtnTypeA svg path,
  .royalBtnTypeB svg path,
  .royalBtnTypeC svg path,
  .royalBtnTypeD svg path {
    transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
  }
  .royalBtnTypeA__arrow {
    background-color: #fff;
  }
  .royalBtnTypeA:hover svg path {
    fill: #fff;
  }
  .royalBtnTypeB {
    padding-right: 3.2230769231vw;
    padding-bottom: 3.3333333333vw;
    width: 34.8717948718vw;
    font-size: 3.0769230769vw;
    border-bottom: 0.1282051282vw solid #000;
  }
  .royalBtnTypeB__arrow {
    background-color: #224528;
  }
  .royalBtnTypeB:hover .royalBtnTypeB__arrow {
    background-color: #fff;
  }
  .royalBtnTypeB:hover .royalBtnTypeB__arrow svg path {
    fill: #224528;
  }
  .royalBtnTypeC {
    font-size: 3.3333333333vw;
  }
  .royalBtnTypeC__arrow {
    background-color: #224528;
  }
  .royalBtnTypeC:hover .royalBtnTypeC__arrow {
    background-color: #fff;
  }
  .royalBtnTypeC:hover svg path {
    fill: #224528;
  }
  .royalBtnTypeD {
    padding-left: 2.8205128205vw;
    padding-right: 5.8974358974vw;
    padding-bottom: 3.3333333333vw;
    width: 34.8717948718vw;
    font-size: 3.0769230769vw;
    border-bottom: 0.1282051282vw solid #000;
  }
  .royalBtnTypeD__arrow {
    background-color: #224528;
  }
  .royalBtnTypeD:hover .royalBtnTypeD__arrow {
    background-color: #fff;
  }
  .royalBtnTypeD:hover .royalBtnTypeD__arrow svg path {
    fill: #224528;
  }
}
.pageHeading {
  margin: 0 auto;
  width: 100%;
}
.pageHeading__container {
  margin: 0 auto;
  width: 75vw;
}
.pageHeading__mainTtl {
  margin-bottom: 1.40625vw;
  font-size: 1.875vw;
  font-weight: 500;
  letter-spacing: 0.012em;
  line-height: 1.2;
  color: #585858;
}
.pageHeading__pagination {
  display: block;
}
.pageHeading__paginationItem {
  font-size: 0.78125vw;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 2;
  color: #585858;
  text-decoration: underline;
  text-underline-offset: 0.15625vw;
}
.pageHeading__paginationItem:last-child, .pageHeading__paginationItem.divider {
  text-decoration: none;
}

@media print, screen and (max-width: 768px) {
  .pageHeading__container {
    width: 87.4358974359vw;
  }
  .pageHeading__mainTtl {
    margin-bottom: 4.1025641026vw;
    font-size: 5.1282051282vw;
    line-height: 1.5;
  }
  .pageHeading__paginationItem {
    font-size: 2.5641025641vw;
    text-underline-offset: 0.5128205128vw;
  }
}
.pageIntro {
  margin: 5.546875vw auto -1.40625vw;
  width: 100%;
}
.pageIntro__container {
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.pageIntro__descWrapper {
  padding-top: 2.421875vw;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.5625vw;
}
.pageIntro__descWrapper p {
  font-size: 1.09375vw;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  color: #585858;
  writing-mode: vertical-lr;
  text-orientation: upright;
}
.pageIntro__descWrapper--1 {
  margin-right: 3.75vw;
}
.pageIntro__descWrapper--2 {
  margin-right: 11.09375vw;
}
.pageIntro__mainHead {
  font-size: 1.5625vw;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  color: #585858;
  writing-mode: vertical-lr;
  text-orientation: upright;
}

@media print, screen and (max-width: 768px) {
  .pageIntro {
    margin: 14.1025641026vw auto 13.5897435897vw;
  }
  .pageIntro__descWrapper {
    padding-top: 8.2051282051vw;
    gap: 3.0769230769vw;
  }
  .pageIntro__descWrapper p {
    font-size: 3.3333333333vw;
  }
  .pageIntro__descWrapper--1 {
    margin-right: 7.4358974359vw;
  }
  .pageIntro__descWrapper--2 {
    margin-right: 12.0512820513vw;
  }
  .pageIntro__mainHead {
    font-size: 4.6153846154vw;
  }
}
.pagination {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.pagination.single-page .pagination__item:first-child, .pagination.single-page .pagination__item:nth-last-child(2) {
  margin-right: 7.34375vw;
}
.pagination__item {
  display: block;
  margin-right: 1.796875vw;
  font-size: 1.40625vw;
  font-weight: 500;
  letter-spacing: 0.012em;
  line-height: 1;
  color: #585858;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.pagination__item:hover, .pagination__item.is-active {
  color: #9B9B9B;
  position: relative;
}
.pagination__item:hover:after, .pagination__item.is-active:after {
  content: "";
  position: absolute;
  bottom: -0.15625vw;
  left: 0;
  width: 100%;
  height: 0.0390625vw;
  background-color: #9B9B9B;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.pagination__item.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}
.pagination__item:first-child, .pagination__item:nth-last-child(2) {
  margin-right: 2.34375vw;
}
.pagination__item.is-prev, .pagination__item.is-next {
  width: 2.01171875vw;
}
.pagination__item.is-prev:after, .pagination__item.is-next:after {
  display: none;
}
.pagination__item:last-child {
  margin-right: 0;
}
.pagination__item:hover svg rect {
  fill: #fff;
}
.pagination__item:hover svg path {
  fill: #224528;
}

@media print, screen and (max-width: 768px) {
  .pagination.single-page .pagination__item:first-child, .pagination.single-page .pagination__item:nth-last-child(2) {
    margin-right: 7.6923076923vw;
  }
  .pagination__item {
    margin-right: 5.8974358974vw;
    font-size: 4.6153846154vw;
  }
  .pagination__item:hover:after, .pagination__item.is-active:after {
    bottom: -0.5128205128vw;
    height: 0.1282051282vw;
  }
  .pagination__item:first-child, .pagination__item:nth-last-child(2) {
    margin-right: 7.6923076923vw;
  }
  .pagination__item.is-prev, .pagination__item.is-next {
    width: 6.6025641026vw;
  }
  .pagination__item:last-child {
    margin-right: 0;
  }
  .pagination__item:hover svg rect {
    fill: #224528;
  }
  .pagination__item:hover svg path {
    fill: #fff;
  }
}
.profilePopup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 8.984375vw;
  z-index: 9999;
  background: rgba(159, 162, 136, 0.33);
  backdrop-filter: blur(1.1640625vw);
  box-shadow: 0 0.3125vw 0.3125vw 0 rgba(0, 0, 0, 0.25);
  overflow: scroll;
  display: none;
}
.profilePopup__container {
  margin: 0 auto;
  padding: 5.3125vw 7.5vw;
  width: 77.1875vw;
  min-height: 54.6875vw;
  background-color: #fff;
  position: relative;
  box-sizing: border-box;
  box-shadow: 0 0.078125vw 1.5625vw 0.078125vw rgba(0, 0, 0, 0.25);
}
.profilePopup__closeBtn {
  position: absolute;
  top: -2.34375vw;
  right: -2.34375vw;
  width: 4.609375vw;
  height: 4.609375vw;
  border-radius: 9999px;
  background-color: #224528;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  cursor: pointer;
}
.profilePopup__closeBtn svg {
  width: 1.15234375vw;
}
.profilePopup__closeBtn svg path {
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
}
.profilePopup__closeBtn:hover {
  background-color: #fff;
}
.profilePopup__closeBtn:hover svg path {
  fill: #224528;
}
.profilePopup__contents {
  display: block;
}
.profilePopup__topConts {
  margin: 0 auto 3.828125vw;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 4.140625vw;
}
.profilePopup__staffThumb {
  width: 16.09375vw;
}
.profilePopup__staffDetails {
  display: block;
}
.profilePopup__staffPosition {
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.9;
  color: #808080;
}
.profilePopup__staffName {
  margin-top: 0.703125vw;
  font-size: 1.25vw;
  font-weight: 500;
  letter-spacing: 0.012em;
  line-height: 1.9;
  color: #585858;
}
.profilePopup__staffName span#popupName {
  font-size: 2.1875vw;
  line-height: 1;
}
.profilePopup__botConts {
  display: block;
}
.profilePopup__staffInfo {
  padding: 1.484375vw 0;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  border-top: 0.078125vw solid #A2A2A2;
}
.profilePopup__staffInfo p {
  width: 100%;
}
.profilePopup__staffInfo p:nth-child(odd) {
  width: 9.375vw;
  font-size: 1.09375vw;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 2.2;
  color: #000;
}
.profilePopup__staffInfo p:nth-child(even) {
  font-size: 1.09375vw;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 2.2;
  color: #585858;
}
.profilePopup__staffInfo:last-child p {
  width: 100%;
  font-size: 1.09375vw;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 2.2;
  color: #585858;
}
.profilePopup__navBtns {
  margin: 5.078125vw auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.109375vw;
}
.profilePopup__navBtn {
  width: 4.453125vw;
  height: 2.54453125vw;
  background-color: #224528;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 6.04375vw;
  transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  border: 0.078125vw solid #224528;
}
.profilePopup__navBtn svg {
  width: 1.27265625vw;
}
.profilePopup__navBtn.disabled {
  opacity: 0.29;
  pointer-events: none;
}
.profilePopup__navBtn:hover {
  opacity: 0.7;
}

@media print, screen and (max-width: 768px) {
  .profilePopup {
    padding: 14.1025641026vw 6.4102564103vw;
    backdrop-filter: blur(7.641025641vw);
    box-shadow: 0 1.0256410256vw 1.0256410256vw 0 rgba(0, 0, 0, 0.25);
    box-sizing: border-box;
  }
  .profilePopup__container {
    padding: 10.2564102564vw 8.2051282051vw 10.2564102564vw 6.6666666667vw;
    width: 87.4358974359vw;
    min-height: 251.5384615385vw;
    box-shadow: 0 0.2564102564vw 5.1282051282vw 0.2564102564vw rgba(0, 0, 0, 0.25);
  }
  .profilePopup__closeBtn {
    top: -3.8461538462vw;
    right: -3.0769230769vw;
    width: 7.6923076923vw;
    height: 7.6923076923vw;
  }
  .profilePopup__closeBtn svg {
    width: 1.9230769231vw;
  }
  .profilePopup__topConts {
    margin: 0 auto 8.4615384615vw;
    flex-direction: column;
    align-items: flex-start;
    gap: 4.8717948718vw;
  }
  .profilePopup__staffThumb {
    align-self: center;
    width: 63.0769230769vw;
    height: 63.0769230769vw;
  }
  .profilePopup__staffPosition {
    font-size: 3.5897435897vw;
    line-height: 2.2;
  }
  .profilePopup__staffName {
    margin-top: 0;
    font-size: 3.5897435897vw;
    line-height: 2.2;
  }
  .profilePopup__staffName span#popupName {
    font-size: 5.1282051282vw;
  }
  .profilePopup__staffInfo {
    padding: 1.0256410256vw 0 2.0512820513vw;
    flex-direction: column;
    border-top: 0.2564102564vw solid #A2A2A2;
  }
  .profilePopup__staffInfo p:nth-child(odd) {
    width: 100%;
    font-size: 3.3333333333vw;
    letter-spacing: 0;
    line-height: 2.3;
  }
  .profilePopup__staffInfo p:nth-child(even) {
    font-size: 3.3333333333vw;
    line-height: 1.8;
  }
  .profilePopup__staffInfo:last-child {
    padding-top: 4.8717948718vw;
    width: 100%;
  }
  .profilePopup__staffInfo:last-child p {
    font-size: 3.3333333333vw;
    line-height: 2.3;
  }
  .profilePopup__navBtns {
    margin: 9.7435897436vw auto 0;
    gap: 6.9230769231vw;
  }
  .profilePopup__navBtn {
    width: 14.6153846154vw;
    height: 8.3512820513vw;
    border-radius: 19.8358974359vw;
    border: 0.2564102564vw solid #224528;
  }
  .profilePopup__navBtn svg {
    width: 4.1769230769vw;
  }
  .profilePopup__navBtn:hover {
    opacity: 1;
  }
}
