* {
  font-family: serif;
  margin: 0;
  padding: 0;
}

header {
  height: 63px;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  background: rgba(18, 0, 33, 0.749);
}
header div {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  width: 960px;
}
header div a {
  margin: auto 0 auto 30px;
  color: rgb(166, 0, 255);
  text-decoration: none;
  height: min-content;
  display: block;
  font-size: 26px;
  white-space: nowrap;
  font-weight: bold;
}
header div div.logo {
  padding: 2px 0;
  width: 200px;
}
header div div.logo a {
  width: 100%;
  vertical-align: middle;
}
header div div.logo a img {
  vertical-align: middle;
  object-fit: contain;
  width: 100%;
}
header div .headerMenuList {
  justify-content: flex-end;
  display: flex;
  list-style: none;
}
header div .headerMenuList a {
  padding: 16px 10px;
  margin: 0;
  color: white;
  text-decoration: none;
  font-size: 16px;
  box-sizing: border-box;
  display: block;
  position: relative;
}
header div .headerMenuList a::after {
  content: "";
  color: white;
  height: 1px;
  width: 0;
  display: block;
  position: absolute;
  top: 80%;
  left: 50%;
  background: white;
  transition: 0.5s;
  transform: translate(-50%);
}
header div .headerMenuList a:hover {
  transition: 1s;
}
header div .headerMenuList a:hover::after {
  width: 80%;
}
header div .headerMenuList .spMenu {
  display: none;
}
@media screen and (max-width: 960px) {
  header div {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  header div .headerMenuList a {
    display: none;
  }
  header div .spMenu {
    position: fixed;
    right: 0;
    top: 0;
    display: block !important;
    width: 63px;
    height: 63px;
    margin-right: 0;
  }
  header div .spMenu .HBG {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
  }
  header div .spMenu .HBG .line {
    transition: 0.2s;
    display: block;
    width: 80%;
    height: 2px;
    background: white;
    position: absolute;
    transform: translate(-50%, -50%);
  }
  header div .spMenu .HBG .line:nth-child(1) {
    top: 25%;
    left: 50%;
  }
  header div .spMenu .HBG .line:nth-child(2) {
    top: 50%;
    left: 50%;
  }
  header div .spMenu .HBG .line:nth-child(3) {
    top: 75%;
    left: 50%;
  }
  header div .spMenu.open .HBG .line:nth-child(1) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  header div .spMenu.open .HBG .line:nth-child(2) {
    opacity: 0;
  }
  header div .spMenu.open .HBG .line:nth-child(3) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  header div .spMenu.open .menuBody {
    position: fixed;
    top: 63px;
    width: 100vw;
    background: white;
    margin: 0 calc(50% - 50vw);
    height: 100px;
    display: block;
  }
}

#spMenuBody {
  background: rgba(18, 0, 33, 0.749);
  position: fixed;
  width: 100vw;
  height: 0;
  z-index: 99;
  top: 63px;
  transition: 0.5s;
  overflow: hidden;
}
#spMenuBody .spMenuList {
  display: flex;
  flex-direction: column;
}
#spMenuBody .spMenuList a {
  height: 40px;
  display: block;
  color: white;
  font-size: 20px;
  text-decoration: none;
  text-align: center;
}
#spMenuBody.open {
  height: 160px;
}

.mainImageArea {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1;
}
.mainImageArea img.mainImage {
  filter: brightness(75%);
  object-fit: cover;
  height: 100vmax;
}
.mainImageArea .heading {
  position: absolute;
  top: 40%;
  left: 25%;
  transform: translate(-50%, -50%);
  font-size: 60px;
  font-size: clamp(16px, 4vw, 60px);
  color: white;
  animation: 1s textAppearingAnimation 0.83s forwards ease-in-out;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  font-family: serif;
  display: block;
}
.mainImageArea .heading span {
  display: block;
}
.mainImageArea .heading span:nth-child(n+2) {
  text-align: center;
}
.mainImageArea .heading span:nth-child(3) {
  font-size: 1.5vmax;
}
@media screen and (max-width: 960px) {
  .mainImageArea .heading {
    top: clamp(20%, 8vmax, 40%);
    font-size: clamp(20px, 4vw, 60px);
  }
}
.mainImageArea .images {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
}
.mainImageArea .images img {
  animation: 1.3s fadeInAnimation forwards cubic-bezier(0.65, 0.12, 0.45, 1.01);
  opacity: 0;
  transform: translate(0, 20%);
  position: absolute;
  width: 16vmax;
}
.mainImageArea .images img:nth-child(1) {
  top: 160px;
  left: 78%;
  animation-delay: 2.3s;
}
.mainImageArea .images img:nth-child(2) {
  top: 50%;
  left: 56%;
  animation-delay: 2.4s;
}
@media screen and (max-width: 960px) {
  .mainImageArea .images img {
    animation: 1.3s fadeInAnimationSp forwards cubic-bezier(0.65, 0.12, 0.45, 1.01);
    width: clamp(160px, 30vw, 400px);
  }
  .mainImageArea .images img:nth-child(1) {
    left: 90%;
  }
  .mainImageArea .images img:nth-child(2) {
    left: 60%;
    top: 60%;
  }
}
.mainImageArea .mainImageSlider {
  animation: 2.6s loadAnimation forwards cubic-bezier(0.65, 0.12, 0.45, 1.01);
  width: 100%;
  height: 100%;
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 2s;
  background: url(../images/bg.jpg), rgba(25, 25, 25, 0.8);
  opacity: 0.8;
}
.mainImageArea .mainImageSlider.mainImageTrigger {
  transition: 2s;
  animation: 1.6s triggerAnimation forwards cubic-bezier(0.65, 0.12, 0.45, 1.01);
}
.mainImageArea .mainImageSlider .mainImageSliderInner {
  padding: 0 20px;
  width: calc(50% - 40px);
  height: 90vh;
  margin-top: 68px;
}
.mainImageArea img {
  z-index: 1;
  width: 100%;
}

.mainImageArea:has(.mainImageTrigger) .images img {
  animation: 1.3s fadeOutAnimation forwards cubic-bezier(0.65, 0.12, 0.45, 1.01);
}
.mainImageArea:has(.mainImageTrigger) .images img:nth-child(1) {
  animation-delay: 0;
}
.mainImageArea:has(.mainImageTrigger) .images img:nth-child(2) {
  animation-delay: 0.1s;
  opacity: 0.9;
  transform: translate(0, 0);
}
@media screen and (max-width: 960px) {
  .mainImageArea:has(.mainImageTrigger) .images img {
    animation: 1.3s fadeOutAnimationSp forwards cubic-bezier(0.65, 0.12, 0.45, 1.01);
  }
  .mainImageArea:has(.mainImageTrigger) .images img:nth-child(2) {
    transform: translate(-100%, 0);
  }
}

@keyframes loadAnimation {
  0% {
    transform: translate(-50%, -50%);
  }
  100% {
    transform: translate(10%, -50%);
  }
}
@keyframes fadeInAnimation {
  0% {
    opacity: 0;
    transform: translate(0, 20%);
  }
  100% {
    opacity: 0.9;
    transform: translate(0, 0);
  }
}
@keyframes fadeOutAnimation {
  0% {
    opacity: 0.9;
    transform: translate(0, 0);
  }
  100% {
    opacity: 0;
    transform: translate(0, -20%);
  }
}
@keyframes fadeInAnimationSp {
  0% {
    opacity: 0;
    transform: translate(-100%, 20%);
  }
  100% {
    opacity: 0.9;
    transform: translate(-100%, 0);
  }
}
@keyframes fadeOutAnimationSp {
  0% {
    opacity: 0.9;
    transform: translate(-100%, 0);
  }
  100% {
    opacity: 0;
    transform: translate(-100%, -20%);
  }
}
@keyframes textAppearingAnimation {
  0% {
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
@keyframes triggerAnimation {
  0% {
    transform: translate(10%, -50%);
  }
  100% {
    transform: translate(50%, -50%);
  }
}
main {
  z-index: 10;
  position: relative;
}

.content {
  padding-bottom: 60px;
}
.content .post, .content .gmap {
  width: 960px;
  color: rgb(218, 218, 218);
  border: 1px solid rgb(74, 51, 0);
  background: rgba(0, 0, 0, 0.6039215686);
  margin: 0px auto;
  box-sizing: border-box;
  padding: 30px;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.content .post > * img, .content .gmap > * img {
  width: 100%;
}
.content .post h2, .content .gmap h2 {
  display: block;
  width: 100%;
  text-align: center;
}
.content .post .flexBox, .content .gmap .flexBox {
  display: flex;
  width: 100%;
}
.content .post .flexBox .left, .content .gmap .flexBox .left {
  padding: 3px;
  width: 40%;
}
.content .post .flexBox .right, .content .gmap .flexBox .right {
  padding: 3px;
  width: 60%;
}
.content .post .flexBox .right p, .content .gmap .flexBox .right p {
  text-align: left;
  width: 100%;
  display: block;
}
@media screen and (max-width: 480px) {
  .content .post .flexBox, .content .gmap .flexBox {
    flex-direction: column;
  }
  .content .post .flexBox .right, .content .post .flexBox .left, .content .gmap .flexBox .right, .content .gmap .flexBox .left {
    width: 100%;
  }
}
.content .post h2, .content .gmap h2 {
  margin-bottom: 30px;
  font-size: 30px;
}
.content .post p, .content .gmap p {
  color: rgb(191, 191, 191);
}
.content .post.greeting .right, .content .gmap.greeting .right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
}
.content .post.greeting .right p, .content .gmap.greeting .right p {
  display: block;
}
.content .post.greeting .right p:nth-child(2), .content .gmap.greeting .right p:nth-child(2) {
  height: min-content;
  width: min-content;
  white-space: nowrap;
  margin: auto 20px 10px auto;
}
.content .post.access, .content .gmap.access {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}
.content .post.access .accessColumn, .content .gmap.access .accessColumn {
  position: relative;
}
.content .post.access .accessColumn p, .content .gmap.access .accessColumn p {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 22px;
  padding: 1.5em;
  background: hsla(0, 0%, 10%, 0.5);
  width: max-content;
  color: white;
  border-radius: 1em;
}
.content .post.access .accessColumn p span, .content .gmap.access .accessColumn p span {
  display: block;
  word-break: keep-all;
}
.content .post.access .accessColumn p span:first-of-type, .content .gmap.access .accessColumn p span:first-of-type {
  margin-bottom: 1em;
}
.content .post.access .accessColumn img, .content .gmap.access .accessColumn img {
  aspect-ratio: 2/1;
  object-fit: cover;
}
@media screen and (max-width: 700px) {
  .content .post.access .accessColumn p, .content .gmap.access .accessColumn p {
    font-size: clamp(16px, 2vw, 22px);
    box-sizing: border-box;
    color: rgb(137, 137, 137);
    padding: 30px;
    max-width: 100vw;
    position: static;
    background: transparent;
  }
  .content .post.access .accessColumn img, .content .gmap.access .accessColumn img {
    display: block;
  }
}
.content .post.menu, .content .gmap.menu {
  flex-wrap: wrap;
}
.content .post.menu table, .content .gmap.menu table {
  display: block;
  border-spacing: 0px;
}
.content .post.menu table tbody, .content .gmap.menu table tbody {
  width: 90%;
  display: block;
  margin: 0 auto 0 0;
}
.content .post.menu table tr, .content .gmap.menu table tr {
  display: flex;
  width: 100%;
}
.content .post.menu table tr td, .content .gmap.menu table tr td {
  display: block;
  border-bottom: 1px solid white;
  width: 50%;
}
.content .post.menu table:nth-child(1), .content .gmap.menu table:nth-child(1) {
  margin-bottom: 20px;
}
.content .post.menu h2, .content .gmap.menu h2 {
  width: 100%;
  text-align: center;
}
.content .post.menu div, .content .gmap.menu div {
  width: 100%;
  margin: 20px 0;
}
.content .post.menu div h2, .content .gmap.menu div h2 {
  border-bottom: 1px solid white;
  width: min-content;
  white-space: nowrap;
}
.content .post.menu div table, .content .gmap.menu div table {
  width: 70%;
  margin: 0 auto 0 auto;
}
.content .post.menu div table tr td, .content .gmap.menu div table tr td {
  padding: 8px 0;
}
.content .post.menu:nth-child(2), .content .gmap.menu:nth-child(2) {
  flex-direction: row-reverse;
}
.content .post.news, .content .gmap.news {
  padding-top: 43px;
  position: relative;
}
.content .post.news::before, .content .gmap.news::before {
  padding: 0px 20px 0 20px;
  content: "news";
  font-size: 26px;
  color: rgb(142, 142, 142);
  border-bottom: 1px solid white;
  position: absolute;
  top: 0;
  left: 0;
}
.content .post.news .newsInner, .content .gmap.news .newsInner {
  overflow-y: scroll;
  width: 100%;
  padding: 10px 0;
  height: 230px;
}
.content .post.news .newsInner::-webkit-scrollbar, .content .gmap.news .newsInner::-webkit-scrollbar {
  display: none;
}
.content .post.news .newsInner p, .content .gmap.news .newsInner p {
  display: block;
  width: 100%;
}
.content .post.news .newsInner p:nth-child(odd), .content .gmap.news .newsInner p:nth-child(odd) {
  color: rgb(180, 180, 180);
}
.content .post.news .newsInner p:nth-child(even), .content .gmap.news .newsInner p:nth-child(even) {
  color: white;
  border-bottom: 1px solid rgb(126, 126, 126);
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.content .post.news .newsInner a, .content .gmap.news .newsInner a {
  color: white;
}
.content .post.recruit, .content .gmap.recruit {
  margin-top: 30px;
  display: block;
}
.content .post.recruit p, .content .gmap.recruit p {
  color: white;
  margin: 0 auto 20px;
  width: max-content;
  text-align: left;
  font-size: 22px;
}
@media screen and (max-width: 480px) {
  .content .post.recruit p, .content .gmap.recruit p {
    font-size: clamp(12px, 4vw, 22px);
  }
}
.content .post.recruit div, .content .gmap.recruit div {
  width: 100%;
}
.content .post.recruit div h2, .content .gmap.recruit div h2 {
  width: 100%;
  text-align: center;
}
.content .post.recruit div table, .content .gmap.recruit div table {
  margin: 0 auto;
  width: 80%;
  color: white;
  border-spacing: 0;
  font-size: 22px;
}
@media screen and (max-width: 480px) {
  .content .post.recruit div table, .content .gmap.recruit div table {
    font-size: clamp(12px, 4vw, 22px);
  }
}
.content .post.recruit div table tr th, .content .post.recruit div table tr td, .content .gmap.recruit div table tr th, .content .gmap.recruit div table tr td {
  box-sizing: border-box;
  text-align: left;
  vertical-align: top;
  border: 1px solid white;
  border-top: none;
  padding: 10px;
}
.content .post.recruit div table tr th, .content .gmap.recruit div table tr th {
  vertical-align: middle;
}
.content .post.recruit div table tr td, .content .gmap.recruit div table tr td {
  border-left: none;
}
.content .post.recruit div table tr:nth-child(1) th, .content .post.recruit div table tr:nth-child(1) td, .content .gmap.recruit div table tr:nth-child(1) th, .content .gmap.recruit div table tr:nth-child(1) td {
  border-top: 1px solid white;
}
@media screen and (max-width: 960px) {
  .content .post, .content .gmap {
    width: 100%;
  }
  .content .post.recruit div table, .content .gmap.recruit div table {
    width: 100%;
  }
}
.content:not(:has(.colored)) {
  padding: 30px 0;
}
.content:nth-child(1) {
  padding-top: 60px;
}
.content:nth-child(1) div:has(h2) {
  padding-left: 20px;
  text-align: right;
}
.content .gmap {
  margin-top: 60px;
}
.content.colored {
  background: #191919;
}
.content.colored .post {
  color: rgb(137, 137, 137);
}

body {
  min-height: 100vh;
  background: #191919;
  color: rgb(137, 137, 137);
}
body::-webkit-scrollbar {
  display: none;
}
body.recruit {
  background: url(../images/mainImages/mainImage.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
body.recruit::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: inherit;
  filter: brightness(75%);
}

footer {
  position: relative;
  z-index: 100;
  background: black;
  bottom: 0;
}
footer .footerInner {
  margin: 0px auto 0;
  width: 960px;
  padding-bottom: 60px;
  padding-top: 10px;
}
footer .footerInner .footerNav {
  width: 70%;
  height: min-content;
  margin: 20px auto;
  display: flex;
  justify-content: center;
}
footer .footerInner .footerNav a {
  border-left: 1px solid rgb(68, 52, 0);
  color: rgb(137, 137, 137);
  text-decoration: none;
  padding: 10px 2vw;
  white-space: nowrap;
  display: block;
}
footer .footerInner .footerNav a:nth-child(1) {
  border: none;
}
footer .footerInner .footerInfos {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
footer .footerInner .footerInfos .footerInfoArea {
  display: block;
  width: max-content;
}
footer .footerInner .footerInfos .footerInfoArea .logoArea {
  display: flex;
  align-items: center;
}
footer .footerInner .footerInfos .footerInfoArea .logoArea div.logo {
  padding: 2px 0;
  width: 200px;
}
footer .footerInner .footerInfos .footerInfoArea .logoArea div.logo a {
  width: 100%;
  vertical-align: middle;
}
footer .footerInner .footerInfos .footerInfoArea .logoArea div.logo a img {
  vertical-align: middle;
  object-fit: contain;
  width: 100%;
}
footer .footerInner .footerInfos .footerInfoArea .logoArea p {
  margin-left: 20px;
  color: rgb(164, 164, 164);
}
footer .footerInner .footerInfos .footerInfoArea .logoArea .logo {
  display: block;
  width: 140px;
}
footer .footerInner .footerInfos .footerInfoArea div:nth-child(2) {
  margin-top: 20px;
  font-size: 14px;
}
footer .footerInner .footerInfos .footerSNSArea {
  display: block;
  width: max-content;
}
@media screen and (max-width: 960px) {
  footer .footerInner {
    width: 100%;
  }
}

.recruitFooter .footerInner {
  margin-bottom: 0;
}

@media screen and (max-width: 960px) {
  .mainImageArea .images img {
    left: 50%;
  }
}
body.recruit {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}/*# sourceMappingURL=style.css.map */