@charset "UTF-8";
/*********************************************************************
* ブレークポイント定義
**********************************************************************/
/*********************************************************************
* メディアクエリー定義
**********************************************************************/
/* ************************************************
 *	TOP
 * *************************************************/
/* 共通
----------------------------------------------*/
body {
  background-color: #fafafa;
}

.top_wrapper {
  width: 100%;
}
.top_wrapper h1 {
  text-align: center;
  padding: 100px 0 20px;
}

.mv_wrapper {
  width: 100%;
  position: relative;
  max-height: 1080px;
}
.mv_wrapper:nth-last-of-type(1) {
  margin-bottom: 0;
}
.mv_wrapper picture {
  position: relative;
  z-index: 1;
}
.mv_wrapper .bg_right {
  position: absolute;
  bottom: -80px;
  right: 0;
  width: 15%;
  z-index: 4;
}
@media print, screen and (min-width: 428px) {
  .mv_wrapper .bg_right {
    bottom: -150px;
    right: 0;
    width: 15%;
  }
}
@media print, screen and (min-width: 960px) {
  .mv_wrapper .bg_right {
    right: 0;
    width: 12%;
    bottom: -200px;
  }
}
.mv_wrapper .bg_left {
  display: none;
}
@media print, screen and (min-width: 960px) {
  .mv_wrapper .bg_left {
    position: absolute;
    display: block;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 5%;
    z-index: 4;
  }
}

/* MV
----------------------------------------------*/
.mv_width_base {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-height: 800px;
}
.mv_width_base img {
  width: 100%;
  max-height: 800px;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
@media print, screen and (min-width: 960px) {
  .mv_width_base img {
    max-width: 1920px;
    aspect-ratio: unset;
  }
}

.swiper-slide img {
  height: auto;
  width: 100%;
  border-radius: 15% 15% 0 0;
}
@media print, screen and (min-width: 960px) {
  .swiper-slide img {
    border-radius: 27% 27% 0 0;
  }
}

.copy_wrapper {
  position: absolute;
  top: 37%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 3;
}
@media print, screen and (min-width: 960px) {
  .copy_wrapper {
    top: 40%;
  }
}
.copy_wrapper .copy_bg {
  position: absolute;
  top: 50%;
  left: 43%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 110px;
  z-index: -1;
}
@media print, screen and (min-width: 428px) {
  .copy_wrapper .copy_bg {
    width: 200px;
  }
}
@media print, screen and (min-width: 768px) {
  .copy_wrapper .copy_bg {
    width: 250px;
  }
}
.copy_wrapper h2 {
  font-size: 11vw;
  font-weight: 400;
  color: #fff;
  white-space: nowrap;
  font-family: "Dancing Script";
}
@media print, screen and (min-width: 768px) {
  .copy_wrapper h2 {
    font-size: 7.5vw;
  }
}
@media print, screen and (min-width: 960px) {
  .copy_wrapper h2 {
    font-size: 7.5vw;
  }
}
@media print, screen and (min-width: 1280px) {
  .copy_wrapper h2 {
    font-size: 90px;
  }
}

.copy_wrapper.fade-in {
  opacity: 0;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); /* ふわっと浮かせるための初期位置 */
  -webkit-transition: opacity 1.5s ease-out, -webkit-transform 1.5s ease-out;
  transition: opacity 1.5s ease-out, -webkit-transform 1.5s ease-out;
  transition: opacity 1.5s ease-out, transform 1.5s ease-out;
  transition: opacity 1.5s ease-out, transform 1.5s ease-out, -webkit-transform 1.5s ease-out;
}

/* 表示時のスタイル */
.copy_wrapper.fade-in.show {
  opacity: 1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/* ************************************************
 *	top bg
 * ************************************************ */
.top_bg {
  background-color: #fafafa;
  position: relative;
  z-index: 0;
}
.top_bg::after {
  content: "";
  position: absolute;
  top: 30%; /* 背景画像の中央揃えを保つ場合の調整 */
  left: 0;
  width: 100%;
  height: 80%; /* 背景画像の高さ */
  background-image: url("images/top-bg.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
}
@media print, screen and (min-width: 960px) {
  .top_bg::after {
    height: 90%;
  }
}

/* ************************************************
 *	About
 * ************************************************ */
.top_about {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}

@media print, screen and (min-width: 960px) {
  .top_about_text_box {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.top_about_text_box .btn_pink {
  margin-top: 40px;
}
@media print, screen and (min-width: 960px) {
  .top_about_text_box .btn_pink {
    margin-top: 0;
  }
}

.about_text {
  margin-right: 0;
}
@media print, screen and (min-width: 960px) {
  .about_text {
    margin-right: 60px;
  }
}
.about_text h4 {
  font-size: 20px;
  font-weight: 400;
}
@media print, screen and (min-width: 960px) {
  .about_text h4 {
    font-size: 24px;
  }
}
.about_text p {
  margin-top: 20px;
  line-height: 2;
}
@media print, screen and (min-width: 428px) {
  .about_text p {
    margin-top: 40px;
  }
}

.top_about_img {
  margin-top: 40px;
  width: 100%;
  margin-right: auto;
  margin-left: calc(50% - 50vw);
}
@media print, screen and (min-width: 960px) {
  .top_about_img {
    margin-top: 60px;
  }
}
@media print, screen and (min-width: 1280px) {
  .top_about_img {
    width: 90%;
  }
}
.top_about_img img {
  width: 100%;
  border-radius: 0 90px 90px 0;
}

/* ************************************************
 *	News
 * ************************************************ */
.top_news {
  position: relative;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media print, screen and (min-width: 960px) {
  .top_news {
    position: static;
  }
}
.top_news .section_ttl {
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .top_news .section_ttl {
    text-align: start !important;
  }
}
.top_news .section_ttl span {
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .top_news .section_ttl span {
    text-align: start !important;
  }
}

.news_right .news_card:nth-child(1) a {
  padding-top: 0;
}
@media print, screen and (min-width: 960px) {
  .news_right .news_card:nth-child(1) a {
    padding-top: 20px;
  }
}

.news_left {
  width: 100%;
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .news_left {
    width: 30%;
    text-align: left !important;
  }
}
.news_left h3 .en_ttl {
  text-align: center;
}
@media print, screen and (min-width: 960px) {
  .news_left h3 .en_ttl {
    text-align: left !important;
  }
}
.news_left .btn_pink {
  position: absolute;
  bottom: 50px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
}
@media print, screen and (min-width: 960px) {
  .news_left .btn_pink {
    position: static;
    -webkit-transform: unset;
            transform: unset;
  }
}

.news_right {
  width: 100%;
  margin-top: 20px;
  padding-bottom: 100px;
}
@media print, screen and (min-width: 960px) {
  .news_right {
    width: 70%;
    margin-top: 0;
    padding-bottom: 0;
  }
}
.news_right .news_card {
  border-bottom: 1px solid #555555;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
}
.news_right .news_card a {
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 0;
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
}
@media print, screen and (min-width: 768px) {
  .news_right .news_card a {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.news_right .news_card a:hover {
  opacity: 0.7;
}
.news_right dt {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .news_right dt {
    width: 300px;
  }
}
@media screen and (min-width: 1080px) {
  .news_right dt {
    width: 35%;
  }
}
.news_right dt time {
  line-height: 1;
  padding: 0 30px 0 0;
}
.news_right dt time span {
  font-size: 12px;
}
@media print, screen and (min-width: 960px) {
  .news_right dt time span {
    font-size: 18px;
  }
}
.news_right dt .info_list_category {
  font-size: 12px;
  padding: 4px 25px;
  border-radius: 30px;
  background-color: #8cc8f5;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #fff;
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
  color: #fff;
  white-space: nowrap;
}
@media print, screen and (min-width: 960px) {
  .news_right dt .info_list_category {
    padding: 6px 35px;
    font-size: 14px;
  }
}
.news_right dd {
  font-size: 16px;
  position: relative;
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .news_right dd {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin-left: 30px;
  }
}
.news_right dd h4 {
  font-weight: 400;
  line-height: 1.2;
  font-size: 16px;
  padding-top: 20px;
}
@media print, screen and (min-width: 768px) {
  .news_right dd h4 {
    padding: 0;
    font-size: 18px;
  }
}

/* ************************************************
*	facility
* ************************************************ */
.top_facility {
  background-color: #fff;
  border-radius: 10%;
}
@media print, screen and (min-width: 960px) {
  .top_facility {
    border-radius: 200px 0 0 200px;
  }
}

.top_facility_contents li {
  width: 100%;
}
@media print, screen and (min-width: 960px) {
  .top_facility_contents li {
    width: 46%;
  }
}
.top_facility_contents li:nth-child(1) {
  margin-bottom: 80px;
}
@media print, screen and (min-width: 960px) {
  .top_facility_contents li:nth-child(1) {
    margin-bottom: 0;
  }
}
.top_facility_contents li .facility_img {
  margin-top: 10px;
}
.top_facility_contents li .facility_img img {
  border-radius: 70px;
}
.top_facility_contents p {
  margin-top: 20px;
  line-height: 2;
}
@media print, screen and (min-width: 428px) {
  .top_facility_contents p {
    margin-top: 40px;
  }
}
.top_facility_contents .btn_pink,
.top_facility_contents .btn_blue {
  margin-top: 20px;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .top_facility_contents .btn_pink,
  .top_facility_contents .btn_blue {
    margin-top: 40px;
  }
}

.facility_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.facility_title h3 {
  font-weight: 400;
  font-size: 20px;
}
@media print, screen and (min-width: 428px) {
  .facility_title h3 {
    font-size: 24px;
  }
}

.facility_logo {
  margin-right: 20px;
  border-radius: 0 !important;
  width: 15%;
}
@media print, screen and (min-width: 768px) {
  .facility_logo {
    font-size: 24px;
    margin-right: 20px;
  }
}
.facility_logo img {
  height: 80px;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 0 !important;
}
@media print, screen and (min-width: 428px) {
  .facility_logo img {
    height: 120px;
  }
}

/* ************************************************
 *	recruit
 * ************************************************ */
.top_recruit {
  background-color: #fafafa;
}
.top_recruit .top_recruit_img {
  position: relative;
  margin-top: 40px;
  width: 85%;
  margin-right: calc(50% - 50vw);
  margin-left: auto;
}
@media print, screen and (min-width: 428px) {
  .top_recruit .top_recruit_img {
    width: 75%;
  }
}
@media print, screen and (min-width: 768px) {
  .top_recruit .top_recruit_img {
    width: 85%;
  }
}
@media print, screen and (min-width: 1280px) {
  .top_recruit .top_recruit_img {
    width: 75%;
    margin-bottom: 80px;
  }
}
@media print, screen and (min-width: 1300px) {
  .top_recruit .top_recruit_img {
    width: 69vw;
  }
}
@media print, screen and (min-width: 1700px) {
  .top_recruit .top_recruit_img {
    width: 65vw;
  }
}
.top_recruit .top_recruit_img img {
  width: 100%;
  border-radius: 0 0 0 70px;
}
.top_recruit .top_recruit_img .section_title {
  display: inline-block;
  position: absolute;
  font-size: 20px;
  padding: 20px 30px;
  border-radius: 35px;
  background: linear-gradient(45deg, #ffb4cc, #ffb04d);
  color: #fff;
  font-weight: 400;
  line-height: 1.4;
  top: -50px;
  left: -80px;
}
@media print, screen and (min-width: 428px) {
  .top_recruit .top_recruit_img .section_title {
    font-size: 24px;
    padding: 30px 40px;
    left: -130px;
  }
}
@media print, screen and (min-width: 768px) {
  .top_recruit .top_recruit_img .section_title {
    font-size: 32px;
    padding: 40px 50px;
    left: -150px;
  }
}
@media print, screen and (min-width: 1280px) {
  .top_recruit .top_recruit_img .section_title {
    padding: 50px 75px;
    font-size: 45px;
    top: -80px;
    left: -310px;
  }
}
.top_recruit .top_recruit_img .top_recruit_bg {
  position: absolute;
  background-image: url(images/top-recruit-bg.svg);
  top: 100%;
  right: -38%;
  width: 100%;
  height: 65%;
  background-position: center;
  background-repeat: no-repeat;
}

.top_recruit_wrapper {
  position: relative;
}

.top_recruit_text {
  position: static;
  -webkit-transform: translateZ(10px);
          transform: translateZ(10px);
}
@media print, screen and (min-width: 1280px) {
  .top_recruit_text {
    position: absolute;
    top: 30%;
    left: 0;
    width: 25%;
    -webkit-transform: unset;
            transform: unset;
  }
}
.top_recruit_text p {
  margin-top: 20px;
  line-height: 2;
}
@media print, screen and (min-width: 428px) {
  .top_recruit_text p {
    margin-top: 40px;
  }
}
.top_recruit_text .btn_pink {
  margin-top: 40px;
  text-align: center;
}
@media print, screen and (min-width: 1280px) {
  .top_recruit_text .btn_pink {
    text-align: start;
    width: 200%;
  }
}

/* ************************************************
 *	Instagram
 * ************************************************ */
.top_instagram {
  background-color: #fff;
  border-radius: 10% 10% 0 0;
}

.top_instagram_contents {
  gap: 20px;
}
.top_instagram_contents li {
  width: calc(50% - 10px);
}
@media print, screen and (min-width: 768px) {
  .top_instagram_contents li {
    width: calc(25% - 15px);
  }
}
@media print, screen and (min-width: 960px) {
  .top_instagram_contents li {
    width: calc(20% - 16px);
  }
}
.top_instagram_contents li a {
  -webkit-transition: all ease 0.5s;
  transition: all ease 0.5s;
}
.top_instagram_contents li a:hover {
  opacity: 0.7;
}