/* Scss Document */
/*  
---------------------------------------
facility01
---------------------------------------
*/
.conceptMovie {
  width: clamp(68rem, calc(10.8695652174vw + 57.1304347826rem), 78rem);
  margin: 0 auto clamp(7rem, calc(3.2608695652vw + 3.7391304348rem), 10rem);
  aspect-ratio: 16 / 9;
  overflow: hidden; }
  .conceptMovie iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0; }
  @media (max-width: 999px) {
    .conceptMovie {
      width: 100%;
      margin-bottom: 5rem; } }

.conceptList {
  width: 100%; }

.conceptItem {
  position: relative;
  display: grid;
  grid-template-columns: clamp(27rem, calc(5.4347826087vw + 21.5652173913rem), 32rem) 1fr;
  align-items: flex-start;
  gap: clamp(3rem, calc(2.1739130435vw + 0.8260869565rem), 5rem);
  padding: clamp(4rem, calc(1.0869565217vw + 2.9130434783rem), 5rem) clamp(3rem, calc(1.0869565217vw + 1.9130434783rem), 4rem); }
  .conceptItem::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: .2rem;
    background: repeating-linear-gradient(to right, rgba(244, 191, 18, 0.5) 0, rgba(244, 191, 18, 0.5) 0.6rem, transparent 0.6rem, transparent 1.2rem); }
  .conceptItem__head {
    display: flex;
    align-items: center;
    gap: clamp(2rem, calc(0.5434782609vw + 1.4565217391rem), 2.5rem); }
  .conceptItem__num {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5.5rem;
    height: 5.5rem;
    background: #FBC313;
    border-radius: 50%;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1; }
  .conceptItem__ttl {
    margin: 0;
    font-size: clamp(2.2rem, calc(0.652173913vw + 1.547826087rem), 2.8rem);
    font-weight: 700;
    line-height: 1.5; }
  .conceptItem__content {
    line-height: 2; }
    .conceptItem__content p {
      margin: 0; }
    .conceptItem__content ul {
      margin: 0;
      padding: 0;
      list-style: none; }
    .conceptItem__content li {
      position: relative;
      padding-left: 2rem; }
      .conceptItem__content li::before {
        content: "";
        position: absolute;
        top: .9em;
        left: 0;
        width: 1.2rem;
        height: 1.2rem;
        background: url("../img/ico_dot_yellow.png") center/contain no-repeat;
        transform: translateY(-50%); }
      .conceptItem__content li:not(:last-child) {
        margin-bottom: .8rem; }
  @media (max-width: 999px) {
    .conceptItem {
      display: block;
      padding: 3rem 0; }
      .conceptItem__head {
        margin-bottom: 2rem; }
      .conceptItem__num {
        width: 4.8rem;
        height: 4.8rem;
        font-size: 1.8rem; }
      .conceptItem__ttl {
        font-size: clamp(2rem, calc(0.9615384615vw + 1.6394230769rem), 2.6rem); }
      .conceptItem__content {
        line-height: 1.9; }
        .conceptItem__content br {
          display: none; }
        .conceptItem__content li {
          padding-left: 1.8rem; }
          .conceptItem__content li::before {
            width: 1rem;
            height: 1rem; } }

/*  
---------------------------------------
facility02
---------------------------------------
*/
#facility02 .inner14 {
  position: relative; }
#facility02 .illust1 {
  position: absolute;
  top: -22rem;
  right: -4vw;
  width: 22rem;
  height: auto; }
  @media (max-width: 999px) {
    #facility02 .illust1 {
      top: -11rem;
      right: -6vw;
      width: 9rem; } }
#facility02 .illust2 {
  position: absolute;
  left: -4rem;
  bottom: -16vw;
  width: 15rem;
  height: auto; }
  @media (max-width: 999px) {
    #facility02 .illust2 {
      left: -1rem;
      bottom: -28vw;
      width: 8rem; } }

.messageBox {
  display: grid;
  grid-template-columns: 1fr clamp(32rem, calc(11.9565217391vw + 20.0434782609rem), 43rem);
  align-items: start;
  column-gap: clamp(6rem, calc(3.2608695652vw + 2.7391304348rem), 9rem);
  row-gap: clamp(8rem, calc(2.1739130435vw + 5.8260869565rem), 10rem);
  padding: clamp(7rem, calc(3.2608695652vw + 3.7391304348rem), 10rem) clamp(6rem, calc(3.2608695652vw + 2.7391304348rem), 9rem) clamp(8rem, calc(2.1739130435vw + 5.8260869565rem), 10rem);
  background: #fff;
  border-radius: clamp(8rem, calc(6.5217391304vw + 1.4782608696rem), 14rem); }
  .messageBox__content {
    min-width: 0; }
  .messageBox__ttl {
    margin: 0 0 clamp(4rem, calc(1.0869565217vw + 2.9130434783rem), 5rem);
    font-size: clamp(2.6rem, calc(0.8695652174vw + 1.7304347826rem), 3.4rem);
    font-weight: 700;
    line-height: 1.5; }
  .messageBox__txt {
    line-height: 2; }
    .messageBox__txt p {
      margin: 0; }
      .messageBox__txt p:not(:last-child) {
        margin-bottom: clamp(2.5rem, calc(1.0869565217vw + 1.4130434783rem), 3.5rem); }
  .messageBox__sign {
    margin-top: clamp(5rem, calc(2.1739130435vw + 2.8260869565rem), 7rem); }
    .messageBox__sign p {
      margin: 0 0 .5rem; }
  .messageBox__picArea {
    align-self: stretch; }
  .messageBox__pic {
    position: sticky;
    top: 12rem;
    width: clamp(32rem, calc(11.9565217391vw + 20.0434782609rem), 43rem); }
    .messageBox__pic img {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 430 / 572;
      object-fit: cover;
      border-radius: 4rem; }
  @media (max-width: 999px) {
    .messageBox {
      display: flex;
      flex-direction: column;
      gap: 0;
      padding: 4rem 2rem 5rem;
      border-radius: 4rem; }
      .messageBox__content {
        width: 100%; }
      .messageBox__ttl {
        margin-bottom: 3rem;
        font-size: clamp(2.2rem, calc(0.9615384615vw + 1.8394230769rem), 2.8rem); }
      .messageBox__txt {
        line-height: 2; }
      .messageBox__sign {
        margin-top: 4rem; }
      .messageBox__picArea {
        order: -1;
        width: 100%;
        margin-bottom: 3rem; }
      .messageBox__pic {
        position: relative;
        top: auto;
        width: clamp(24rem, calc(16.0256410256vw + 17.9903846154rem), 34rem);
        margin: 0 auto; }
        .messageBox__pic img {
          width: 100%;
          height: auto;
          aspect-ratio: 430 / 572;
          border-radius: 2rem; } }

.mediaPublishBox {
  position: relative;
  grid-column: 1 / -1;
  width: 100%;
  margin-top: clamp(2rem, calc(2.1739130435vw + -0.1739130435rem), 4rem);
  padding: clamp(6rem, calc(2.1739130435vw + 3.8260869565rem), 8rem) clamp(5rem, calc(2.1739130435vw + 2.8260869565rem), 7rem) clamp(5rem, calc(1.0869565217vw + 3.9130434783rem), 6rem);
  border: 3px solid #F4BF12;
  border-radius: 1.5rem; }
  .mediaPublishBox__ttl {
    position: absolute;
    top: 0;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(20rem, calc(4.347826087vw + 15.652173913rem), 24rem);
    min-height: 5.5rem;
    margin: 0;
    padding: 1rem 2rem;
    background: #F4BF12;
    border-radius: 4rem;
    color: #fff;
    font-size: clamp(2rem, calc(0.4347826087vw + 1.5652173913rem), 2.4rem);
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    transform: translate(-50%, -50%); }
  .mediaPublishBox__content {
    font-size: 1.6rem;
    line-height: 2; }
  .mediaPublishBox__txt p {
    margin: 0; }
    .mediaPublishBox__txt p:not(:last-child) {
      margin-bottom: clamp(2rem, calc(1.0869565217vw + 0.9130434783rem), 3rem); }
  .mediaPublishBox__info {
    margin-top: clamp(3rem, calc(1.0869565217vw + 1.9130434783rem), 4rem); }
    .mediaPublishBox__info p {
      margin: 0; }
    .mediaPublishBox__info a {
      display: inline-block;
      margin-top: .5rem;
      color: inherit;
      text-decoration: underline;
      text-underline-offset: .3rem;
      word-break: break-all; }
  .mediaPublishBox__infoTtl {
    position: relative;
    padding-left: 1.8rem;
    font-weight: 500; }
    .mediaPublishBox__infoTtl::before {
      content: "";
      position: absolute;
      top: .9em;
      left: 0;
      width: 1.2rem;
      height: 1.2rem;
      background: #333;
      transform: translateY(-50%); }
  @media (max-width: 999px) {
    .mediaPublishBox {
      width: 100%;
      margin-top: 6rem;
      padding: 5rem 1.8rem 3rem;
      border-width: .2rem;
      border-radius: 1.2rem; }
      .mediaPublishBox__ttl {
        width: 17rem;
        min-height: 4.8rem;
        padding: .8rem 1.5rem;
        font-size: 1.8rem; }
      .mediaPublishBox__content {
        font-size: 1.4rem;
        line-height: 1.9; }
      .mediaPublishBox__txt p:not(:last-child) {
        margin-bottom: 2rem; }
      .mediaPublishBox__info {
        margin-top: 2.5rem; }
      .mediaPublishBox__infoTtl {
        padding-left: 1.6rem; }
        .mediaPublishBox__infoTtl::before {
          width: 1rem;
          height: 1rem; } }

/*  
---------------------------------------
facility03
---------------------------------------
*/
@media (max-width: 999px) {
  #facility03 .txt {
    text-align: left; } }

.educationBoxs {
  display: flex;
  flex-direction: column;
  gap: clamp(7rem, calc(3.2608695652vw + 3.7391304348rem), 10rem); }
  @media (max-width: 999px) {
    .educationBoxs {
      gap: 5rem; } }

.educationBox {
  display: grid;
  grid-template-columns: 1fr clamp(45rem, calc(10.8695652174vw + 34.1304347826rem), 55rem);
  align-items: center;
  gap: clamp(4rem, calc(3.2608695652vw + 0.7391304348rem), 7rem); }
  .educationBox__content {
    min-width: 0; }
  .educationBox__head {
    display: flex;
    align-items: center;
    gap: clamp(2rem, calc(1.0869565217vw + 0.9130434783rem), 3rem);
    margin-bottom: clamp(2rem, calc(1.0869565217vw + 0.9130434783rem), 3rem); }
    .educationBox__head .ttl {
      margin: 0;
      color: #A65EB0;
      font-size: clamp(2.4rem, calc(0.8695652174vw + 1.5304347826rem), 3.2rem);
      font-weight: 700;
      line-height: 1.5; }
  .educationBox__ico {
    flex-shrink: 0;
    width: clamp(8rem, calc(2.1739130435vw + 5.8260869565rem), 10rem);
    height: auto; }
  .educationBox .txt {
    margin: 0;
    line-height: 2; }
  .educationBox__pic img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 4rem; }
  @media (max-width: 999px) {
    .educationBox {
      display: flex;
      flex-direction: column;
      gap: 2rem; }
      .educationBox__head {
        gap: 1.5rem;
        margin-bottom: 1rem; }
        .educationBox__head .ttl {
          font-size: clamp(2rem, calc(0.9615384615vw + 1.6394230769rem), 2.6rem); }
      .educationBox__ico {
        width: clamp(7rem, calc(3.2051282051vw + 5.7980769231rem), 9rem); }
      .educationBox__pic {
        order: -1; }
        .educationBox__pic img {
          border-radius: 2rem; } }

/*  
---------------------------------------
facility04
---------------------------------------
*/
#facility04 .inner18 {
  position: relative; }
#facility04 .illust1 {
  position: absolute;
  top: -12rem;
  right: -4vw;
  width: 30rem;
  height: auto; }
  @media (max-width: 999px) {
    #facility04 .illust1 {
      width: 10rem;
      top: -5rem;
      right: -4vw; } }
#facility04 .illust2 {
  position: absolute;
  left: 0rem;
  bottom: -5rem;
  width: 22rem;
  height: auto;
  z-index: 1; }
  @media (max-width: 999px) {
    #facility04 .illust2 {
      left: -2rem;
      bottom: -4vw;
      width: 9rem; } }

.facilityGallery {
  position: relative;
  width: 100%;
  aspect-ratio: 1317 / 1175; }
  .facilityGallery__pic {
    position: absolute;
    overflow: hidden;
    border-radius: 3rem; }
    .facilityGallery__pic img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .facilityGallery .pic01 {
    top: 0;
    left: 0;
    width: 27.335%;
    height: 22.128%; }
  .facilityGallery .pic02 {
    top: 22.809%;
    left: 0;
    width: 27.335%;
    height: 26.894%; }
  .facilityGallery .pic03 {
    top: 50.383%;
    left: 0;
    width: 27.335%;
    height: 22.213%; }
  .facilityGallery .pic04 {
    top: 0;
    left: 28.018%;
    width: 43.888%;
    height: 49.787%; }
  .facilityGallery .pic05 {
    top: 50.383%;
    left: 28.018%;
    width: 27.335%;
    height: 22.298%; }
  .facilityGallery .pic06 {
    top: 73.277%;
    left: 0;
    width: 55.353%;
    height: 26.723%; }
  .facilityGallery .pic07 {
    top: 0;
    left: 72.513%;
    width: 27.487%;
    height: 26.723%; }
  .facilityGallery .pic08 {
    top: 27.404%;
    left: 72.513%;
    width: 27.487%;
    height: 22.383%; }
  .facilityGallery .pic09 {
    top: 50.383%;
    left: 55.961%;
    width: 44.039%;
    height: 49.617%; }
  @media (max-width: 999px) {
    .facilityGallery {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1rem;
      aspect-ratio: auto; }
      .facilityGallery__pic {
        position: relative;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1;
        border-radius: 1.5rem; }
        .facilityGallery__pic img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
      .facilityGallery .pic04,
      .facilityGallery .pic06,
      .facilityGallery .pic09 {
        grid-column: 1 / -1;
        aspect-ratio: 16 / 9; } }
