@charset "UTF-8";
/* 
  css設定 @charsetが消されるsass仕様へのハック用コメントです。削除しないでください。新規作成時も必須！
 */
/*==================================================================================
 animations
==================================================================================*/
@keyframes left0 {
  100% {
    left: 0;
  }
}
@keyframes right0 {
  100% {
    right: 0;
  }
}
@keyframes fadeIn {
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  100% {
    opacity: 0;
  }
}
@keyframes roop01 {
  100% {
    left: -275.5rem;
  }
}
@keyframes roop02 {
  100% {
    left: -224rem;
  }
}
@keyframes arrow01 {
  100% {
    transform: translateY(15rem);
  }
}
/*==================================================================================
 common
==================================================================================*/
html {
  font-size: .25641026vw;
}

.commonButton01 a {
  width: 160rem;
  height: 36rem;
  border-radius: 18rem;
  font-size: 14rem;
}

/*==================================================================================
 siteHeader
==================================================================================*/
.siteHeader {
  padding: 15rem 20rem;
  z-index: 100;
}
.siteHeader .headerLogo {
  width: 160rem;
}
.siteHeader > .contact {
  display: none;
}
.siteHeader .globalNavi {
  justify-content: flex-start;
  top: 50rem;
  padding: 20px 0;
  width: 100%;
  height: calc(100vh - 50rem);
}
.siteHeader .globalNavi .links {
  padding-bottom: 40px;
}
.siteHeader .globalNavi .links > li {
  padding-right: 20px;
  padding-left: 40px;
}
.siteHeader .globalNavi .links > li:not(:last-child) {
  margin-bottom: 15px;
  padding-bottom: 15px;
}
.siteHeader .globalNavi .links > li > img {
  padding-bottom: 15px;
}
.siteHeader .globalNavi .links > li ul li:not(:last-child) {
  padding-bottom: 15px;
}
.siteHeader .globalNavi .links img {
  max-width: 140px;
}
.siteHeader .globalNavi .sns {
  padding: 0 40px;
}

/*==================================================================================
 siteFooter
==================================================================================*/
.siteFooter .contact a {
  padding: 40rem 0;
}
.siteFooter .contact a img {
  width: 70%;
}
.siteFooter .chambers {
  margin: -1rem 0 -3rem;
}
.siteFooter .bottomArea {
  display: block;
  padding: 30rem 0 20rem;
  text-align: center;
}
.siteFooter .bottomArea .sns {
  justify-content: center;
  padding-bottom: 30rem;
}
.siteFooter .bottomArea .sns li:nth-child(1) img {
  width: 12rem;
}
.siteFooter .bottomArea .sns li:nth-child(2) img {
  width: 21rem;
}
.siteFooter .bottomArea .sns li:nth-child(3) img {
  width: 19rem;
}
.siteFooter .bottomArea .copyright {
  font-size: 13rem;
}

/*==================================================================================
 top
==================================================================================*/
#top {
  padding-top: 50rem;
}
#top .mainVisual {
  padding: 220rem 0 185rem;
}
#top .mainVisual:before {
  content: '';
  display: block;
  position: absolute;
  top: 186rem;
  right: 0;
  left: 100%;
  height: 2rem;
  background: #000;
  animation: left0 1.5s 0s forwards;
}
#top .mainVisual:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  right: 100%;
  left: 0;
  height: 2rem;
  background: #000;
  animation: right0 1.5s 0s forwards;
}
#top .mainVisual h2 {
  width: 320rem;
  animation: fadeIn 1s 2.5s forwards;
}
#top .mainVisual .peoples li:nth-child(-n+4) {
  bottom: 343rem;
}
#top .mainVisual .peoples li:nth-child(1) {
  left: 32rem;
  width: 72rem;
  animation: fadeIn 1s 0.6s forwards;
}
#top .mainVisual .peoples li:nth-child(2) {
  left: 91rem;
  width: 107rem;
  animation: fadeIn 1s 1.4s forwards;
}
#top .mainVisual .peoples li:nth-child(3) {
  left: 211rem;
  width: 69rem;
  animation: fadeIn 1s 1.2s forwards;
}
#top .mainVisual .peoples li:nth-child(4) {
  left: 279rem;
  width: 70rem;
  animation: fadeIn 1s 0.2s forwards;
}
#top .mainVisual .peoples li:nth-child(5) {
  left: 25rem;
  width: 84rem;
  animation: fadeIn 1s 1s forwards;
}
#top .mainVisual .peoples li:nth-child(6) {
  left: 104rem;
  width: 76rem;
  animation: fadeIn 1s 0.8s forwards;
}
#top .mainVisual .peoples li:nth-child(7) {
  left: 203rem;
  width: 96rem;
  animation: fadeIn 1s 1.5s forwards;
}
#top .mainVisual .peoples li:nth-child(8) {
  left: 294rem;
  width: 40rem;
  animation: fadeIn 1s 0.4s forwards;
}
#top .mainVisual .items li:nth-child(1) {
  bottom: 377rem;
  left: 11rem;
  width: 15rem;
  animation: fadeIn 1s 0.1s forwards;
}
#top .mainVisual .items li:nth-child(2) {
  bottom: 425rem;
  left: 185rem;
  width: 18rem;
  animation: fadeIn 1s 1.1s forwards;
}
#top .mainVisual .items li:nth-child(3) {
  bottom: 368rem;
  left: 357rem;
  width: 22rem;
  animation: fadeIn 1s 0.3s forwards;
}
#top .mainVisual .items li:nth-child(4) {
  bottom: 33rem;
  left: 8rem;
  width: 21rem;
  animation: fadeIn 1s 0.9s forwards;
}
#top .mainVisual .items li:nth-child(5) {
  bottom: 40rem;
  left: 171rem;
  width: 19rem;
  animation: fadeIn 1s 0.7s forwards;
}
#top .mainVisual .items li:nth-child(6) {
  bottom: 75rem;
  left: 178rem;
  width: 20rem;
  animation: fadeIn 1s 1.3s forwards;
}
#top .mainVisual .items li:nth-child(7) {
  bottom: 44rem;
  left: 349rem;
  width: 32rem;
  animation: fadeIn 1s 0.5s forwards;
}
#top .mainVisual .bg {
  top: 27rem;
  bottom: auto;
  left: 17rem;
  width: 366rem;
  height: 652rem;
  animation: fadeIn 1s 2s forwards;
}
#top .mainVisual + .roopTextArea .roopTexts {
  padding: 13rem 0 17rem;
  font-size: 16rem;
  animation: roop01 4s 0s linear infinite;
}
#top section.introduction {
  position: relative;
}
#top section.introduction > header {
  top: 50rem;
  height: calc(100vh - 50rem);
}
#top section.introduction > header h3 {
  top: calc(50% - 80rem);
  left: calc(50% - 175rem);
  width: 350rem;
}
#top section.introduction > header .photos {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}
#top section.introduction > header .photos li {
  position: absolute;
  opacity: 0;
}
#top section.introduction > header .photos li:nth-child(1) {
  top: 80rem;
  left: 110rem;
  width: 160rem;
}
#top section.introduction > header .photos li:nth-child(2) {
  top: 110rem;
  left: 210rem;
  width: 150rem;
}
#top section.introduction > header .photos li:nth-child(3) {
  top: 50rem;
  right: 170rem;
  width: 170rem;
  z-index: 1;
}
#top section.introduction > header .photos li:nth-child(4) {
  top: 260rem;
  left: 130rem;
  width: 150rem;
  z-index: 1;
}
#top section.introduction > header .photos li:nth-child(5) {
  top: 250rem;
  right: 230rem;
  width: 170rem;
}
#top section.introduction > header .photos li:nth-child(6) {
  right: 110rem;
  bottom: 260rem;
  width: 190rem;
}
#top section.introduction > header .photos li:nth-child(7) {
  right: 40rem;
  bottom: 120rem;
  width: 165rem;
}
#top section.introduction > header .photos li:nth-child(8) {
  bottom: 60rem;
  left: 50rem;
  width: 180rem;
  z-index: -1;
}
#top section.introduction > header .photos li:nth-child(9) {
  bottom: 70rem;
  left: 220rem;
  width: 175rem;
}
#top section.introduction > header .photos li:nth-child(10) {
  top: 100rem;
  left: -15rem;
  width: 250rem;
}
#top section.introduction > header .photos li:nth-child(11) {
  top: 270rem;
  left: 220rem;
  width: 170rem;
  z-index: 3;
}
#top section.introduction > header .photos li:nth-child(12) {
  top: 170rem;
  right: 100rem;
  width: 230rem;
}
#top section.introduction > header .photos li:nth-child(13) {
  top: 60rem;
  right: -30rem;
  width: 280rem;
  z-index: 1;
}
#top section.introduction > header .photos li:nth-child(14) {
  bottom: 210rem;
  left: -15rem;
  width: 270rem;
  z-index: 2;
}
#top section.introduction > header .photos li:nth-child(15) {
  bottom: 280rem;
  left: 210rem;
  width: 185rem;
  z-index: 2;
}
#top section.introduction > header .photos li:nth-child(16) {
  bottom: 260rem;
  left: 145rem;
  width: 150rem;
  z-index: 3;
}
#top section.introduction > header .photos li:nth-child(17) {
  right: 140rem;
  bottom: 80rem;
  width: 280rem;
}
#top section.introduction > header .open {
  bottom: 160rem;
  left: calc(50% - 6.5rem);
  width: 13rem;
}
#top section.introduction.animation h3 {
  animation: fadeIn 1s 1.2s forwards;
}
#top section.introduction.animation .photos li:nth-child(1) {
  animation: fadeIn 0.3s 0.1s forwards;
}
#top section.introduction.animation .photos li:nth-child(2) {
  animation: fadeIn 0.3s 0.2s forwards;
}
#top section.introduction.animation .photos li:nth-child(3) {
  animation: fadeIn 0.3s 0.1s forwards;
}
#top section.introduction.animation .photos li:nth-child(4) {
  animation: fadeIn 0.3s 0.3s forwards;
}
#top section.introduction.animation .photos li:nth-child(5) {
  animation: fadeIn 0.3s 0.4s forwards;
}
#top section.introduction.animation .photos li:nth-child(6) {
  animation: fadeIn 0.3s 0.7s forwards;
}
#top section.introduction.animation .photos li:nth-child(7) {
  animation: fadeIn 0.3s 0.4s forwards;
}
#top section.introduction.animation .photos li:nth-child(8) {
  animation: fadeIn 0.3s 0.2s forwards;
}
#top section.introduction.animation .photos li:nth-child(9) {
  animation: fadeIn 0.3s 0.3s forwards;
}
#top section.introduction.animation .photos li:nth-child(10) {
  animation: fadeIn 0.3s 0.8s forwards;
}
#top section.introduction.animation .photos li:nth-child(11) {
  animation: fadeIn 0.3s 0.6s forwards;
}
#top section.introduction.animation .photos li:nth-child(12) {
  animation: fadeIn 0.3s 0.5s forwards;
}
#top section.introduction.animation .photos li:nth-child(13) {
  animation: fadeIn 0.3s 0.9s forwards;
}
#top section.introduction.animation .photos li:nth-child(14) {
  animation: fadeIn 0.3s 0.6s forwards;
}
#top section.introduction.animation .photos li:nth-child(15) {
  animation: fadeIn 0.3s 0.8s forwards;
}
#top section.introduction.animation .photos li:nth-child(16) {
  animation: fadeIn 0.3s 0.5s forwards;
}
#top section.introduction.animation .photos li:nth-child(17) {
  animation: fadeIn 0.3s 0.7s forwards;
}
#top section.introduction .leadArea {
  position: relative;
  margin-top: 100vh;
  padding: 580rem 55rem 80rem;
  background: url("../img/sp/top/intro-bg.png") no-repeat left top #fff;
  background-size: 100% auto;
  background-attachment: unset;
}
#top section.introduction .leadArea p {
  font-size: 16rem;
}
#top article.ourService > header {
  border-bottom: 2rem solid #000;
  text-align: center;
  overflow: hidden;
}
#top article.ourService > header h4 {
  padding: 17rem 0 20rem;
  font-size: 30rem;
  animation: roop02 3s 0s linear infinite;
}
#top article.ourService > header .links {
  display: block;
  width: auto;
  background: none;
}
#top article.ourService > header .links li {
  flex: 0 0 120rem;
  background: linear-gradient(90deg, #000 6rem, transparent 4rem) repeat-x bottom left;
  background-size: 10rem 2rem;
}
#top article.ourService > header .links li:last-child {
  background: none;
}
#top article.ourService > header .links li a {
  padding: 25rem 0 25rem;
}
#top article.ourService > header .links img {
  width: 341rem;
  height: auto;
}
#top article.ourService > section {
  display: block;
  scroll-margin-top: 55rem;
}
#top article.ourService > section h3 {
  position: static;
  padding: 40rem 0 30rem !important;
  text-align: center;
  background: linear-gradient(90deg, #000 6rem, transparent 4rem) repeat-x bottom left;
  background-size: 10rem 2rem;
}
#top article.ourService > section h3 img {
  width: 185rem;
}
#top article.ourService > section .contents {
  padding: 30rem 0 30rem 30rem;
  background: none;
}
#top article.ourService > section .catch,
#top article.ourService > section .lead {
  padding-right: 30rem;
}
#top article.ourService > section .catch {
  padding-bottom: 20rem;
  font-size: 22rem;
}
#top article.ourService > section .lead {
  padding-bottom: 30rem;
  line-height: 2;
  font-size: 13rem;
}
#top article.ourService > section .lead + .lead {
  padding-bottom: 40rem;
}
#top article.ourService > section .commonSlider01 {
  padding-right: 50rem;
  max-width: none;
}
#top article.ourService > section .commonSlider01 .slideItems {
  margin-right: 30rem;
}
#top article.ourService > section .commonSlider01 .slideItems figure {
  margin-bottom: 20rem;
}
#top article.ourService > section .commonSlider01 .slideItems figure figcaption {
  bottom: 10rem;
  left: 15rem;
  line-height: 1.5;
  font-size: 12rem;
}
#top article.ourService > section .commonSlider01 .slideItems .textArea {
  padding-right: 30rem;
}
#top article.ourService > section .commonSlider01 .slideItems .textArea .name {
  padding-bottom: 8rem;
  font-size: 14rem;
}
#top article.ourService > section .commonSlider01 .slideItems .textArea .address {
  padding-bottom: 15rem;
  font-size: 12rem;
}
#top article.ourService > section .commonSlider01 .slideItems .textArea .more {
  position: static;
  width: 100rem;
}
#top article.ourService > section .commonSlider01 .controller {
  display: flex;
  gap: 0 13rem;
  padding-top: 30rem;
}
#top article.ourService > section .commonSlider01 .controller li {
  cursor: pointer;
  box-sizing: border-box;
  position: relative;
  width: 42rem;
  height: 42rem;
  border-radius: 50%;
  border: 2rem solid #000;
}
#top article.ourService > section .commonSlider01 .controller li:before {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 4.75rem);
  left: calc(50% - 6rem);
  width: 7rem;
  height: 7rem;
  border-top: 2rem solid #000;
  border-right: 2rem solid #000;
  transform: rotate(45deg);
}
#top article.ourService > section .commonSlider01 .controller li.previous {
  transform: rotate(180deg);
}
#top article.ourService > section .commonSlider01 .controller li.slick-disabled {
  pointer-events: none;
  opacity: .3;
}
@media (min-width: 1025px) {
  #top article.ourService > section .commonSlider01 .controller li:hover {
    border: #fff;
    background: #000;
  }
  #top article.ourService > section .commonSlider01 .controller li:hover:before {
    border-color: #fff;
  }
}
#top article.ourService section.sauna h3 {
  padding-left: 97rem;
  width: 368rem;
}
#top article.ourService section.produce h3 {
  padding-left: 97rem;
  width: 387rem;
}

/*==================================================================================
 lower common
==================================================================================*/
.lower {
  padding-top: 50rem;
}
.lower .lowerPageTitle01 {
  display: block;
  padding: 50rem 0;
  text-align: center;
}
.lower .lowerPageTitle01 img {
  padding: 0 0 20rem;
  width: auto;
  height: 36rem;
}
.lower .lowerPageTitle01 .ja {
  font-size: 15rem;
}

/*==================================================================================
 about
==================================================================================*/
#about .sections {
  display: block;
}
#about .sections h2 {
  padding: 40rem 0;
  text-align: center;
  background: linear-gradient(90deg, #000 6rem, transparent 4rem) repeat-x bottom left;
  background-size: 10rem 2rem;
}
#about .sections h2 img {
  height: 36rem;
}
#about .sections .contents {
  padding: 40rem 30rem;
  text-align: center;
  background: none;
}
#about .sections .catch {
  font-size: 20rem;
}
#about .sections .catch .en {
  padding-top: 8rem;
  font-size: 14rem;
}
#about .sections .lead {
  line-height: 1.7;
  font-size: 13rem;
}
#about section.value ol li {
  display: block;
}
#about section.value ol li:not(:last-child) {
  margin-bottom: 30rem;
  padding-bottom: 25rem;
}
#about section.value ol .number {
  padding-bottom: 15rem;
}
#about section.value ol .number img {
  height: 40rem;
}
#about section.value ol .catch {
  padding-bottom: 20rem;
}
#about section.value ol .catch .ja {
  margin-top: 12rem;
  padding: 4rem 10rem 6rem;
  font-size: 14rem;
}
#about section.value ol .lead {
  margin: auto;
}
#about section.company h2 img {
  height: 90rem;
}
#about section.company dl {
  display: block;
  padding: 20rem 0;
}
#about section.company dl:first-child {
  border-top: none;
}
#about section.company dl:last-child {
  border-bottom: none;
}
#about section.company dl dt {
  font-size: 15rem;
  padding-bottom: 5rem;
}
#about section.company dl dd {
  font-size: 13rem;
}

/*# sourceMappingURL=smartphone.css.map */
