/* ehime-nursing.scss

***************************************

          ehime-nursing

*****************************************/
:root {
  --ehime-nursing-orange: #db701e;
  --ehime-nursing-green: #4ea83f;
  --ehime-nursing-red: #b53b29; }

html:has(dialog[open].mv-dlog) {
  overflow: hidden; }

body {
  padding-top: 0 !important; }
  body img {
    width: 100%; }
  @media print, screen and (min-width: 768px) {
    body .center {
      max-width: 1100px; } }
  body button {
    border: none;
    cursor: pointer; }

/*---------------------------------------
header / footer
---------------------------------------*/
header {
  border-top: none;
  position: relative;
  z-index: 9999;
  height: auto;
  padding-top: 20px;
  padding-bottom: 30px;
  background: linear-gradient(#f7f2e5 0%, #ffffff 50%, #ffffff 100%); }
  @media screen and (max-width: 767px) {
    header {
      padding-top: 40px; } }
  header h1 {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto; }
  header .fix-menu-btn {
    position: absolute;
    top: 100%;
    right: 0;
    width: 30px; }
    header .fix-menu-btn.js-fix {
      top: 30px;
      position: fixed;
      z-index: 999; }
  header .menu-open {
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 999999;
    left: 0;
    top: 0;
    margin-top: 0;
    background-color: var(--ehime-nursing-orange);
    box-sizing: border-box;
    overflow: hidden;
    display: none;
    overflow-y: scroll; }
    header .menu-open .logo {
      display: block;
      width: 230px;
      margin-top: 15px; }
      @media screen and (max-width: 1030px) {
        header .menu-open .logo {
          margin-left: 3%; } }
    header .menu-open .btn-bg {
      position: absolute;
      top: 20px;
      right: 30px;
      cursor: pointer; }
      @media screen and (max-width: 767px) {
        header .menu-open .btn-bg {
          right: 4%; } }
      header .menu-open .btn-bg .box-btn {
        position: relative;
        font-size: 4rem;
        line-height: 1;
        color: #fff;
        font-weight: 400; }
    header .menu-open nav ul {
      margin-top: 50px; }
      header .menu-open nav ul li {
        display: block;
        text-align: left;
        transition: 0.3s; }
        header .menu-open nav ul li a {
          color: #fff;
          display: block;
          width: 100%;
          height: auto;
          padding-left: 10%;
          padding-top: 15px;
          padding-bottom: 15px;
          font-size: 2.4rem;
          font-weight: normal;
          transition: 0.3s; }
          header .menu-open nav ul li a .sub {
            font-size: 1.6rem;
            line-height: 1;
            letter-spacing: 0.05em;
            display: block;
            margin-bottom: 5px;
            position: relative; }
            header .menu-open nav ul li a .sub::before {
              content: "";
              display: block;
              position: absolute;
              left: -20%;
              top: 0.4em;
              width: 18%;
              height: 1px;
              background-color: #fff;
              transition: 0.3s; }
            @media print, screen and (min-width: 768px) {
              header .menu-open nav ul li a .sub {
                margin-bottom: 12px; }
                header .menu-open nav ul li a .sub::before {
                  left: -60px;
                  width: 50px; } }
          header .menu-open nav ul li a .txt-s {
            font-size: 70%; }
          @media print, screen and (min-width: 768px) {
            header .menu-open nav ul li a {
              padding-left: 60px;
              padding-top: 25px;
              padding-bottom: 23px; }
              header .menu-open nav ul li a .pc-inner {
                max-width: 1100px;
                padding-left: 40px;
                padding-right: 40px;
                margin-left: auto;
                margin-right: auto; } }
        @media screen and (min-width: 1030px) {
          header .menu-open nav ul li:hover {
            background-color: #fff; }
            header .menu-open nav ul li:hover a {
              color: var(--ehime-nursing-orange); }
              header .menu-open nav ul li:hover a .sub::before {
                background-color: var(--ehime-nursing-orange); } }

footer .box-line {
  border-bottom: 1px solid #fff;
  padding-bottom: 60px; }
  footer .box-line .logo {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 767px) {
      footer .box-line .logo {
        max-width: 400px;
        width: 90%; } }

/*---------------------------------------
content
---------------------------------------*/
.ehime-nursing {
  padding-top: 50px; }
  .ehime-nursing .c-orange {
    color: var(--ehime-nursing-orange); }
  .ehime-nursing .c-red {
    color: var(--ehime-nursing-red); }
  @media screen and (max-width: 767px) {
    .ehime-nursing .sp-text-left {
      text-align: left; } }
  .ehime-nursing .clb-cont {
    padding-top: 120px;
    padding-bottom: 100px; }
    @media screen and (max-width: 767px) {
      .ehime-nursing .clb-cont {
        padding-top: 80px;
        padding-bottom: 80px; } }
    .ehime-nursing .clb-cont.inner-back {
      padding-top: 0; }
      .ehime-nursing .clb-cont.inner-back .top-grad {
        padding-top: 120px;
        background: linear-gradient(#f7f2e5 0%, #ffffff 100%); }
        @media screen and (max-width: 767px) {
          .ehime-nursing .clb-cont.inner-back .top-grad {
            padding-top: 80px; } }
    .ehime-nursing .clb-cont.bottom-none {
      padding-bottom: 0; }
    .ehime-nursing .clb-cont .title-line {
      color: var(--ehime-nursing-orange);
      font-size: 3rem;
      padding-left: 57px;
      margin-bottom: 70px;
      line-height: 1.3;
      position: relative; }
      @media screen and (max-width: 767px) {
        .ehime-nursing .clb-cont .title-line {
          font-size: 2rem;
          margin-bottom: 25px; } }
      .ehime-nursing .clb-cont .title-line::before {
        content: "";
        display: inline-block;
        position: absolute;
        width: 50px;
        height: 2px;
        background-color: var(--ehime-nursing-orange);
        left: 0;
        top: calc(50% - 1px); }
    .ehime-nursing .clb-cont .cont-top_copy {
      font-size: 4.5rem;
      line-height: 1.3;
      letter-spacing: -0.03em; }
      @media screen and (max-width: 767px) {
        .ehime-nursing .clb-cont .cont-top_copy {
          font-size: 3.4rem; } }
      .ehime-nursing .clb-cont .cont-top_copy span {
        font-size: 3rem; }
        @media screen and (max-width: 767px) {
          .ehime-nursing .clb-cont .cont-top_copy span {
            font-size: 1.8rem; } }
  .ehime-nursing .back-pink {
    background-color: #f0dcd9; }
  .ehime-nursing .back-orange {
    background-color: #f5eedc; }
  .ehime-nursing .tag {
    display: inline-block;
    border-radius: 50px;
    font-size: 2.4rem;
    color: #fff;
    padding: 10px 35px;
    line-height: 1; }
    .ehime-nursing .tag.blue {
      background-color: #2F569F; }
  .ehime-nursing #hero {
    margin-top: 60px;
    position: relative; }
    @media screen and (max-width: 767px) {
      .ehime-nursing #hero {
        margin-top: 0;
        padding-top: 46vw; } }
    .ehime-nursing #hero .box-copy {
      position: absolute;
      top: 0;
      left: calc(50% - (10.8vw / 2));
      z-index: 99; }
      @media screen and (max-width: 767px) {
        .ehime-nursing #hero .box-copy {
          left: calc(50% - (29.5vw / 2)); } }
      .ehime-nursing #hero .box-copy h2 {
        width: 10.8vw;
        position: relative; }
        @media screen and (max-width: 767px) {
          .ehime-nursing #hero .box-copy h2 {
            width: 29.5vw; } }
        .ehime-nursing #hero .box-copy h2 span {
          display: inline-block;
          width: 3.8vw;
          position: absolute;
          top: 0;
          right: -7.6vw; }
          @media screen and (max-width: 767px) {
            .ehime-nursing #hero .box-copy h2 span {
              width: 10vw;
              right: -24.5vw; } }
    .ehime-nursing #hero .wrap-rslide {
      position: relative; }
    .ehime-nursing #hero .rslides {
      width: 100vw;
      height: 75vw; }
      @media screen and (max-width: 767px) {
        .ehime-nursing #hero .rslides {
          height: 112vw; } }
      .ehime-nursing #hero .rslides .item {
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transform: translate3d(0, 0, 0); }
        @media print, screen and (min-width: 768px) {
          .ehime-nursing #hero .rslides .item {
            aspect-ratio: 4 / 3; } }
        .ehime-nursing #hero .rslides .item img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center center; }
    .ehime-nursing #hero .chara {
      position: absolute;
      z-index: 999; }
      .ehime-nursing #hero .chara.katanyan {
        top: -50px;
        right: 20%;
        width: 12vw;
        opacity: 0;
        transform: translate(30px, 30px); }
        @media screen and (max-width: 767px) {
          .ehime-nursing #hero .chara.katanyan {
            top: 40vw;
            right: 4%;
            width: 25vw; } }
        .ehime-nursing #hero .chara.katanyan.delighter.started {
          animation: charaAniKata 0.6s ease 0.8s forwards; }
@keyframes charaAniKata {
  0% {
    opacity: 0;
    transform: translate(30px, 30px); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
  .ehime-nursing #ov {
    padding-top: 80px; }
    @media screen and (max-width: 767px) {
      .ehime-nursing #ov {
        padding-top: 20px; } }
    .ehime-nursing #ov h3 {
      color: var(--ehime-nursing-orange);
      line-height: 1.3;
      letter-spacing: -0.05em;
      transform: rotate(-5deg);
      margin-bottom: 20px; }
      @media print, screen and (min-width: 768px) {
        .ehime-nursing #ov h3 {
          font-size: 4.5rem;
          margin-right: 5%; } }
      @media screen and (min-width: 768px) and (max-width: 1029px) {
        .ehime-nursing #ov h3 {
          font-size: 3.8rem; } }
      @media screen and (max-width: 767px) {
        .ehime-nursing #ov h3 {
          padding-top: 50px;
          font-size: 3.5rem; } }
      .ehime-nursing #ov h3 span {
        font-weight: bold; }
        @media print, screen and (min-width: 768px) {
          .ehime-nursing #ov h3 span {
            font-size: 4rem; } }
        @media screen and (max-width: 767px) {
          .ehime-nursing #ov h3 span {
            font-size: 3rem; } }
    .ehime-nursing #ov .sb {
      width: 350px;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 10px; }
      @media screen and (min-width: 768px) and (max-width: 1029px) {
        .ehime-nursing #ov .sb {
          width: 280px; } }
      @media screen and (max-width: 767px) {
        .ehime-nursing #ov .sb {
          width: 300px; } }
    .ehime-nursing #ov .area-message .list-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 25px; }
      @media screen and (max-width: 767px) {
        .ehime-nursing #ov .area-message .list-grid {
          grid-template-columns: repeat(3, 1fr);
          gap: 3vw; } }
    .ehime-nursing #ov .area-message a.mdl-mv,
    .ehime-nursing #ov .area-message .box-title {
      display: block;
      width: 100%; }
    .ehime-nursing #ov .area-message a.mdl-mv {
      position: relative;
      transform-origin: center;
      transform: scale(0.5);
      opacity: 0; }
      .ehime-nursing #ov .area-message a.mdl-mv::before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 5px solid var(--ehime-nursing-orange);
        box-sizing: border-box;
        border-radius: 10px;
        opacity: 0;
        transform: scale(1.1);
        transition: opacity 0.3s, transform 0.3s; }
      @media screen and (min-width: 1030px) {
        .ehime-nursing #ov .area-message a.mdl-mv:hover::before {
          transform: scale(1);
          opacity: 1; } }
      .ehime-nursing #ov .area-message a.mdl-mv img {
        border-radius: 10px; }
    .ehime-nursing #ov .area-message .box-title {
      grid-column: 2 / 5;
      grid-row: 2 / 4;
      display: grid; }
      @media print, screen and (min-width: 768px) {
        .ehime-nursing #ov .area-message .box-title {
          place-content: center; } }
      @media screen and (max-width: 767px) {
        .ehime-nursing #ov .area-message .box-title {
          grid-column: 2 / 3;
          grid-row: 2 / 7;
          align-items: center; } }
      .ehime-nursing #ov .area-message .box-title .box-title_inner {
        position: relative; }
      .ehime-nursing #ov .area-message .box-title .title_image {
        width: 280px; }
        @media print, screen and (min-width: 768px) {
          .ehime-nursing #ov .area-message .box-title .title_image {
            padding-right: 70px; } }
        @media screen and (min-width: 768px) and (max-width: 1029px) {
          .ehime-nursing #ov .area-message .box-title .title_image {
            width: 24vw;
            padding-right: 7vw; } }
        @media screen and (max-width: 767px) {
          .ehime-nursing #ov .area-message .box-title .title_image {
            width: 27vw; } }
        .ehime-nursing #ov .area-message .box-title .title_image_sub {
          position: absolute;
          width: 65px;
          left: 0;
          bottom: 0;
          transform: rotate(0);
          transform-origin: center; }
          @media screen and (min-width: 768px) and (max-width: 1029px) {
            .ehime-nursing #ov .area-message .box-title .title_image_sub {
              width: 5.8vw; } }
          @media screen and (max-width: 767px) {
            .ehime-nursing #ov .area-message .box-title .title_image_sub {
              width: 14vw; } }
          .ehime-nursing #ov .area-message .box-title .title_image_sub.delighter.started {
            animation: roteAni 0.6s ease-in-out forwards; }
@keyframes roteAni {
  0% {
    transform: rotate(0); }
  50% {
    transform: rotate(10deg); }
  100% {
    transform: rotate(0); } }
    .ehime-nursing #ov .area-message .mv-dlog {
      padding: 0;
      border: none;
      background: transparent;
      max-width: 90vw;
      overflow: hidden; }
      .ehime-nursing #ov .area-message .mv-dlog::backdrop {
        background: rgba(255, 255, 255, 0.6); }
      .ehime-nursing #ov .area-message .mv-dlog_inner {
        position: relative;
        line-height: 0; }
    .ehime-nursing #ov .area-message #mv_msg {
      display: block;
      width: MIN(90vw, 450px);
      aspect-ratio: 3 / 4;
      max-height: 85vh;
      background-color: #fff;
      object-fit: contain;
      opacity: 0; }
      .ehime-nursing #ov .area-message #mv_msg.ready {
        opacity: 1;
        transition: opacity 0.3s ease; }
    .ehime-nursing #ov .area-message .btn-p {
      position: absolute;
      left: 0;
      bottom: 50px;
      display: grid;
      place-content: center;
      width: 10%;
      height: auto;
      aspect-ratio: 1 / 1;
      background: rgba(255, 255, 255, 0);
      color: #000; }
      .ehime-nursing #ov .area-message .btn-p.pause .fa-pause::before {
        content: "\f04b"; }
    .ehime-nursing #ov .area-message .flex-cont_btn {
      margin-top: 10px; }
    .ehime-nursing #ov .area-message .mv-prev,
    .ehime-nursing #ov .area-message .mv-next,
    .ehime-nursing #ov .area-message .mv-close {
      border: none;
      cursor: pointer;
      color: var(--ehime-nursing-orange);
      width: 40px;
      height: 40px;
      line-height: 40px;
      text-align: center;
      background: white; }
    .ehime-nursing #ov .area-message .mv-prev,
    .ehime-nursing #ov .area-message .mv-next {
      font-size: 2.4rem; }
    .ehime-nursing #ov .area-message .mv-prev {
      left: 8px;
      top: calc(50% - (40px / 2)); }
    .ehime-nursing #ov .area-message .mv-next {
      right: 8px;
      top: calc(50% - (40px / 2)); }
    .ehime-nursing #ov .area-message .mv-close {
      font-size: 3rem;
      top: 8px;
      right: 8px; }
    .ehime-nursing #ov .area-message.delighter.started a.mdl-mv {
      animation: thumbAni 0.8s ease-out forwards; }
@keyframes thumbAni {
  0% {
    opacity: 0;
    transform: scale(0.5); }
  50% {
    transform: scale(1.05);
    opacity: 1; }
  100% {
    transform: scale(1);
    opacity: 1; } }
  .ehime-nursing #fact .flex-cont_text1 p {
    display: inline-block; }
  .ehime-nursing #fact .flex-cont_chart {
    justify-content: space-around; }
    .ehime-nursing #fact .flex-cont_chart .box-chart .box-num {
      position: relative; }
      .ehime-nursing #fact .flex-cont_chart .box-chart .box-num .cont-num {
        position: absolute;
        width: 100%;
        font-size: 7rem;
        line-height: 1;
        text-align: center;
        color: #fff;
        font-weight: bold; }
        .ehime-nursing #fact .flex-cont_chart .box-chart .box-num .cont-num .unit {
          font-size: 40%; }
        @media screen and (min-width: 768px) and (max-width: 1029px) {
          .ehime-nursing #fact .flex-cont_chart .box-chart .box-num .cont-num {
            font-size: 5vw; } }
        @media screen and (max-width: 767px) {
          .ehime-nursing #fact .flex-cont_chart .box-chart .box-num .cont-num {
            font-size: 6rem; } }
      .ehime-nursing #fact .flex-cont_chart .box-chart .box-num_1 .cont-num, .ehime-nursing #fact .flex-cont_chart .box-chart .box-num_2 .cont-num {
        bottom: 23%; }
      .ehime-nursing #fact .flex-cont_chart .box-chart .box-num_3 .cont-num {
        top: calc(50% - 0.5em); }
    .ehime-nursing #fact .flex-cont_chart .box-chart .contents-title {
      font-size: 2rem; }
    .ehime-nursing #fact .flex-cont_chart .box-chart .caption span {
      font-size: 90%; }
    @media print, screen and (min-width: 768px) {
      .ehime-nursing #fact .flex-cont_chart .box-chart {
        width: 25%; } }
    @media screen and (max-width: 767px) {
      .ehime-nursing #fact .flex-cont_chart .box-chart {
        width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .ehime-nursing #fact .flex-cont_chart .box-chart img {
          max-width: 250px; } }
  .ehime-nursing #ehime-map {
    overflow: hidden; }
    .ehime-nursing #ehime-map .map-tab {
      margin-top: 50px;
      text-align: center; }
      .ehime-nursing #ehime-map .map-tab button {
        border: none;
        background-color: #ddd;
        display: inline-block;
        padding: 15px 18px;
        line-height: 1;
        border-radius: 5px;
        margin-right: 5px;
        margin-left: 5px;
        color: #000; }
        @media screen and (min-width: 1030px) {
          .ehime-nursing #ehime-map .map-tab button {
            font-size: 2rem;
            padding: 18px 20px; } }
        .ehime-nursing #ehime-map .map-tab button.se {
          color: #fff; }
        .ehime-nursing #ehime-map .map-tab button.work.se {
          background-color: var(--ehime-nursing-orange); }
        .ehime-nursing #ehime-map .map-tab button.facility.se {
          background-color: var(--ehime-nursing-green); }
    @media screen and (min-width: 1030px) {
      .ehime-nursing #ehime-map .flex-cont_map {
        justify-content: space-evenly;
        align-items: center; }
        .ehime-nursing #ehime-map .flex-cont_map .box-map {
          width: 43%; }
          .ehime-nursing #ehime-map .flex-cont_map .box-map.ehime {
            order: 2; } }
    @media screen and (min-width: 768px) and (max-width: 1029px) {
      .ehime-nursing #ehime-map .flex-cont_map {
        display: block; } }
    .ehime-nursing #ehime-map .box-map {
      width: 100%; }
      .ehime-nursing #ehime-map .box-map_inner {
        position: relative; }
        .ehime-nursing #ehime-map .box-map_inner img {
          width: 100%; }
      .ehime-nursing #ehime-map .box-map .box-pop-point {
        position: absolute; }
        .ehime-nursing #ehime-map .box-map .box-pop-point .box-pop {
          position: relative;
          display: inline-block; }
      .ehime-nursing #ehime-map .box-map .btn-pop {
        width: 6vw;
        height: 6vw;
        border: 0.5vw solid #fff;
        color: #fff;
        border-radius: 50%;
        display: grid;
        place-content: center;
        font-size: 2.5vw; }
        @media screen and (min-width: 1030px) {
          .ehime-nursing #ehime-map .box-map .btn-pop {
            width: calc(6vw * 0.5);
            height: calc(6vw * 0.5);
            line-height: calc(6vw * 0.5);
            font-size: 1.8vw;
            border: 0.25vw solid #fff; }
            .ehime-nursing #ehime-map .box-map .btn-pop:hover {
              animation: scaleRepe 1s ease-in-out infinite; }
          @keyframes scaleRepe {
            0% {
              transform: scale(1); }
            50% {
              transform: scale(1.1); }
            100% {
              transform: scale(1); } } }
      .ehime-nursing #ehime-map .box-map .cont-pop {
        position: absolute;
        z-index: 99;
        width: 45vw;
        bottom: calc(100% + 0.5vw);
        left: -4vw;
        background-color: #fff;
        border: 0.5vw solid var(--ehime-nursing-orange);
        padding: 2vw 3vw;
        border-radius: 2vw;
        margin-bottom: 3.5vw;
        font-size: 3vw;
        line-height: 1.5;
        display: none;
        opacity: 0;
        transform: translateY(10px);
        transition: opacity 0.3s, transform 0.3s; }
        .ehime-nursing #ehime-map .box-map .cont-pop.show {
          display: block;
          opacity: 1;
          transform: translateY(0); }
@starting-style {
  .ehime-nursing #ehime-map .box-map .cont-pop.show {
    opacity: 0;
    transform: translateY(10px); } }
        .ehime-nursing #ehime-map .box-map .cont-pop::before, .ehime-nursing #ehime-map .box-map .cont-pop::after {
          content: "";
          position: absolute;
          display: block;
          left: 4.5vw; }
        .ehime-nursing #ehime-map .box-map .cont-pop::before {
          top: 100%;
          left: 5vw;
          border: 1.5vw solid transparent;
          border-top: 2.2vw solid #fff;
          z-index: 1; }
        .ehime-nursing #ehime-map .box-map .cont-pop::after {
          top: 100%;
          border: 2vw solid transparent;
          border-top: 3vw solid var(--ehime-nursing-orange); }
        .ehime-nursing #ehime-map .box-map .cont-pop.rev {
          left: inherit;
          right: -4vw; }
          .ehime-nursing #ehime-map .box-map .cont-pop.rev::before, .ehime-nursing #ehime-map .box-map .cont-pop.rev::after {
            left: inherit;
            right: 4.5vw; }
          .ehime-nursing #ehime-map .box-map .cont-pop.rev::before {
            left: inherit;
            right: 5vw; }
        @media screen and (max-width: 1030px) {
          .ehime-nursing #ehime-map .box-map .cont-pop.end {
            left: -2vw; }
            .ehime-nursing #ehime-map .box-map .cont-pop.end::after {
              left: 2.5vw; }
            .ehime-nursing #ehime-map .box-map .cont-pop.end::before {
              left: 3vw; }
            .ehime-nursing #ehime-map .box-map .cont-pop.end.rev {
              left: inherit;
              right: -2vw; }
              .ehime-nursing #ehime-map .box-map .cont-pop.end.rev::before, .ehime-nursing #ehime-map .box-map .cont-pop.end.rev::after {
                left: inherit;
                right: 2.5vw; }
              .ehime-nursing #ehime-map .box-map .cont-pop.end.rev::before {
                left: inherit;
                right: 3vw; } }
        @media screen and (min-width: 1030px) {
          .ehime-nursing #ehime-map .box-map .cont-pop {
            width: calc(45vw * 0.5);
            bottom: calc(100% + 0.25vw);
            left: -2vw;
            border: 0.25vw solid var(--ehime-nursing-orange);
            padding: 1vw 1.5vw;
            border-radius: 1vw;
            margin-bottom: 1.5vw;
            font-size: 1.2vw; }
            .ehime-nursing #ehime-map .box-map .cont-pop::before, .ehime-nursing #ehime-map .box-map .cont-pop::after {
              left: calc(4.5vw * 0.5); }
            .ehime-nursing #ehime-map .box-map .cont-pop::before {
              left: calc(5vw * 0.5);
              border: 0.75vw solid transparent;
              border-top: 1.1vw solid #fff; }
            .ehime-nursing #ehime-map .box-map .cont-pop::after {
              border: 1vw solid transparent;
              border-top: 1.5vw solid var(--ehime-nursing-orange); }
            .ehime-nursing #ehime-map .box-map .cont-pop.rev {
              right: -2vw; }
              .ehime-nursing #ehime-map .box-map .cont-pop.rev::before, .ehime-nursing #ehime-map .box-map .cont-pop.rev::after {
                right: calc(4.5vw * 0.5); }
              .ehime-nursing #ehime-map .box-map .cont-pop.rev::before {
                right: calc(5vw * 0.5); } }
      .ehime-nursing #ehime-map .box-map .point-matsuyameshi {
        position: absolute;
        font-size: 3.5vw;
        line-height: 1;
        display: flex;
        align-items: center;
        top: 30.5%;
        left: 23%; }
        .ehime-nursing #ehime-map .box-map .point-matsuyameshi span {
          display: inline-block;
          width: 4vw;
          height: 4vw;
          border: 1.5vw solid #fff;
          margin-left: 3vw;
          border-radius: 50%; }
        @media screen and (min-width: 1030px) {
          .ehime-nursing #ehime-map .box-map .point-matsuyameshi {
            font-size: 2vw;
            left: 15.5%; }
            .ehime-nursing #ehime-map .box-map .point-matsuyameshi span {
              width: 1.7vw;
              height: 1.7vw;
              border-width: 0.7vw; } }
      .ehime-nursing #ehime-map .box-map .box-num {
        position: absolute;
        bottom: 15%;
        right: 10%; }
        .ehime-nursing #ehime-map .box-map .box-num .pre {
          border-width: 0.5vw;
          border-style: solid;
          border-radius: 50%;
          background-color: #fff;
          width: 23vw;
          height: 23vw;
          font-size: 4.5vw;
          display: grid;
          place-content: center; }
        .ehime-nursing #ehime-map .box-map .box-num p {
          text-align: center;
          font-size: 4.5vw; }
          .ehime-nursing #ehime-map .box-map .box-num p span {
            font-size: 6vw; }
        @media screen and (min-width: 1030px) {
          .ehime-nursing #ehime-map .box-map .box-num {
            bottom: 6vw;
            right: 2vw; }
            .ehime-nursing #ehime-map .box-map .box-num .pre {
              border-width: 5px;
              width: 12vw;
              height: 12vw;
              font-size: 2.5vw; }
            .ehime-nursing #ehime-map .box-map .box-num p {
              font-size: 2.5vw; }
              .ehime-nursing #ehime-map .box-map .box-num p span {
                font-size: 4vw; } }
      .ehime-nursing #ehime-map .box-map.matsuyama {
        margin-top: 10vw;
        padding-top: 5vw; }
        .ehime-nursing #ehime-map .box-map.matsuyama .box-num {
          top: -5vw;
          left: 10vw;
          bottom: inherit;
          right: inherit; }
        @media screen and (min-width: 1030px) {
          .ehime-nursing #ehime-map .box-map.matsuyama {
            margin-top: 0; }
            .ehime-nursing #ehime-map .box-map.matsuyama .box-num {
              left: 3vw; } }
      .ehime-nursing #ehime-map .box-map .work .box-pop-point .btn-pop {
        background-color: var(--ehime-nursing-orange); }
      .ehime-nursing #ehime-map .box-map .work .point-matsuyameshi span {
        background-color: var(--ehime-nursing-orange); }
      .ehime-nursing #ehime-map .box-map .work .box-num .pre {
        border-color: var(--ehime-nursing-orange); }
      .ehime-nursing #ehime-map .box-map .work .box-num p span {
        color: var(--ehime-nursing-orange); }
      .ehime-nursing #ehime-map .box-map .facility {
        display: none; }
        .ehime-nursing #ehime-map .box-map .facility .box-pop-point .btn-pop {
          background-color: var(--ehime-nursing-green); }
        .ehime-nursing #ehime-map .box-map .facility .cont-pop {
          border-color: var(--ehime-nursing-green); }
          .ehime-nursing #ehime-map .box-map .facility .cont-pop::after {
            border-top-color: var(--ehime-nursing-green); }
        .ehime-nursing #ehime-map .box-map .facility .point-matsuyameshi span {
          background-color: var(--ehime-nursing-green); }
        .ehime-nursing #ehime-map .box-map .facility .box-num .pre {
          border-color: var(--ehime-nursing-green); }
        .ehime-nursing #ehime-map .box-map .facility .box-num p span {
          color: var(--ehime-nursing-green); }
      .ehime-nursing #ehime-map .box-map.ehime .work .box-pop-point.point_1 {
        left: 7%;
        top: 62%; }
      .ehime-nursing #ehime-map .box-map.ehime .work .box-pop-point.point_2 {
        left: 12%;
        top: 78%; }
      .ehime-nursing #ehime-map .box-map.ehime .work .box-pop-point.point_3 {
        left: 18%;
        top: 57%; }
      .ehime-nursing #ehime-map .box-map.ehime .work .box-pop-point.point_4 {
        left: 41%;
        top: 50%; }
      .ehime-nursing #ehime-map .box-map.ehime .work .box-pop-point.point_5 {
        left: 40%;
        top: 39%; }
      .ehime-nursing #ehime-map .box-map.ehime .work .box-pop-point.point_6 {
        left: 48%;
        top: 35%; }
      .ehime-nursing #ehime-map .box-map.ehime .work .box-pop-point.point_7 {
        left: 59%;
        top: 16%; }
      .ehime-nursing #ehime-map .box-map.ehime .work .box-pop-point.point_8 {
        left: 70%;
        top: 28.5%; }
      .ehime-nursing #ehime-map .box-map.ehime .work .box-pop-point.point_9 {
        left: 78%;
        top: 28.5%; }
      .ehime-nursing #ehime-map .box-map.ehime .work .box-pop-point.point_10 {
        left: 88%;
        top: 28.5%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .work .box-pop-point.point_1 {
        left: 28%;
        top: 49%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .work .box-pop-point.point_2 {
        left: 30%;
        top: 60%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .work .box-pop-point.point_3 {
        left: 39%;
        top: 50%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .work .box-pop-point.point_4 {
        left: 47.5%;
        top: 14%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .work .box-pop-point.point_5 {
        left: 42%;
        top: 28%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .work .box-pop-point.point_6 {
        left: 48%;
        top: 44%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .work .box-pop-point.point_7 {
        left: 49.5%;
        top: 50.5%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .work .box-pop-point.point_8 {
        left: 49.2%;
        top: 59%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .work .box-pop-point.point_9 {
        left: 56%;
        top: 62%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .work .box-pop-point.point_10 {
        left: 66%;
        top: 65.5%; }
      .ehime-nursing #ehime-map .box-map.ehime .facility .box-pop-point.point_1 {
        left: 3%;
        top: 59.3%; }
      .ehime-nursing #ehime-map .box-map.ehime .facility .box-pop-point.point_2 {
        left: 7%;
        top: 63.5%; }
      .ehime-nursing #ehime-map .box-map.ehime .facility .box-pop-point.point_3 {
        left: 13%;
        top: 67.5%; }
      .ehime-nursing #ehime-map .box-map.ehime .facility .box-pop-point.point_4 {
        left: 12%;
        top: 95%; }
      .ehime-nursing #ehime-map .box-map.ehime .facility .box-pop-point.point_5 {
        left: 19%;
        top: 58%; }
      .ehime-nursing #ehime-map .box-map.ehime .facility .box-pop-point.point_6 {
        left: 26%;
        top: 56%; }
      .ehime-nursing #ehime-map .box-map.ehime .facility .box-pop-point.point_7 {
        left: 33%;
        top: 38%; }
      .ehime-nursing #ehime-map .box-map.ehime .facility .box-pop-point.point_8 {
        left: 44%;
        top: 48%; }
      .ehime-nursing #ehime-map .box-map.ehime .facility .box-pop-point.point_9 {
        left: 45%;
        top: 34%; }
      .ehime-nursing #ehime-map .box-map.ehime .facility .box-pop-point.point_10 {
        left: 90%;
        top: 28.5%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_1 {
        left: 25%;
        top: 53%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_2 {
        left: 27%;
        top: 47%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_3 {
        left: 31.5%;
        top: 51.5%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_4 {
        left: 32%;
        top: 41.5%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_5 {
        left: 38%;
        top: 47%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_6 {
        left: 38.5%;
        top: 52.5%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_7 {
        left: 36%;
        top: 58%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_8 {
        left: 33%;
        top: 63.5%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_9 {
        left: 48%;
        top: 46%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_10 {
        left: 47%;
        top: 51.5%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_11 {
        left: 43.2%;
        top: 57%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_12 {
        left: 54%;
        top: 50.5%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_13 {
        left: 51.5%;
        top: 56%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_14 {
        left: 48%;
        top: 61%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_15 {
        left: 43%;
        top: 65%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_16 {
        left: 63%;
        top: 66.5%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_17 {
        left: 72%;
        top: 58%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_18 {
        left: 39.5%;
        top: 35%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_19 {
        left: 42%;
        top: 29%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_20 {
        left: 48%;
        top: 13%; }
      .ehime-nursing #ehime-map .box-map.matsuyama .facility .box-pop-point.point_21 {
        left: 51%;
        top: 5%; }
  .ehime-nursing #graduate-voices .int-list .list-item {
    background-color: #fff;
    position: relative; }
    .ehime-nursing #graduate-voices .int-list .list-item:not(:last-child) {
      margin-bottom: 40px; }
    .ehime-nursing #graduate-voices .int-list .list-item button {
      border: none;
      background-color: var(--ehime-nursing-red);
      color: #fff;
      width: 50px;
      height: 50px;
      cursor: pointer;
      position: absolute;
      left: 0;
      bottom: 0; }
      @media screen and (max-width: 767px) {
        .ehime-nursing #graduate-voices .int-list .list-item button {
          width: 10vw;
          height: 10vw; } }
    .ehime-nursing #graduate-voices .int-list .list-item.open button i::before {
      content: "\f00d"; }
    @media print, screen and (min-width: 768px) {
      .ehime-nursing #graduate-voices .int-list .list-item dt {
        display: flex;
        align-items: center;
        cursor: pointer; } }
    @media screen and (max-width: 767px) {
      .ehime-nursing #graduate-voices .int-list .list-item dt {
        padding-top: 8vw; } }
    .ehime-nursing #graduate-voices .int-list .list-item dt .ex {
      color: var(--ehime-nursing-red);
      font-size: 4rem;
      line-height: 1.5;
      box-sizing: border-box;
      width: 60%;
      padding-left: 5%;
      opacity: 0;
      transform: translateX(-15px);
      transition: all 0.8s ease; }
      @media screen and (min-width: 768px) and (max-width: 1029px) {
        .ehime-nursing #graduate-voices .int-list .list-item dt .ex {
          font-size: 3.5vw;
          padding-left: 8%; } }
      @media screen and (max-width: 767px) {
        .ehime-nursing #graduate-voices .int-list .list-item dt .ex {
          width: 100%;
          font-size: 6vw;
          padding-left: 5%;
          padding-right: 5%;
          margin-bottom: 8vw; } }
      .ehime-nursing #graduate-voices .int-list .list-item dt .ex.delighter.started {
        opacity: 1;
        transform: translateX(0); }
    .ehime-nursing #graduate-voices .int-list .list-item dt .box-pic {
      width: 40%; }
      @media screen and (max-width: 767px) {
        .ehime-nursing #graduate-voices .int-list .list-item dt .box-pic {
          width: 80%;
          margin-left: auto; } }
    .ehime-nursing #graduate-voices .int-list .list-item dd {
      position: relative;
      box-sizing: border-box;
      padding: 75px 5%;
      display: none; }
      @media screen and (max-width: 767px) {
        .ehime-nursing #graduate-voices .int-list .list-item dd {
          margin-top: 15vw;
          padding-top: 15vw;
          padding-bottom: 15vw; } }
      .ehime-nursing #graduate-voices .int-list .list-item dd .contents-title {
        font-weight: normal; }
      .ehime-nursing #graduate-voices .int-list .list-item dd .title {
        margin-bottom: 35px; }
      .ehime-nursing #graduate-voices .int-list .list-item dd .name span {
        display: inline-block;
        font-size: 90%;
        margin-left: 10px;
        margin-bottom: 10px; }
      .ehime-nursing #graduate-voices .int-list .list-item dd .sup {
        margin-bottom: 30px; }
      .ehime-nursing #graduate-voices .int-list .list-item dd::before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 35%;
        height: 5px;
        background-color: var(--ehime-nursing-red); }
  .ehime-nursing #why-ehime .why_top {
    max-width: 270px; }
    @media print, screen and (min-width: 768px) {
      .ehime-nursing #why-ehime .why_top {
        margin-left: 40px; } }
  .ehime-nursing #why-ehime dt {
    background-color: #a89281;
    border-radius: 10px;
    box-sizing: border-box;
    padding: 20px 70px 20px 3%;
    color: #fff;
    position: relative;
    line-height: 1.3;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .ehime-nursing #why-ehime dt {
        padding: 15px 50px 17px 5%; } }
    .ehime-nursing #why-ehime dt i {
      position: absolute;
      top: calc(50% - 0.5em);
      right: 30px;
      text-align: center; }
      @media screen and (max-width: 767px) {
        .ehime-nursing #why-ehime dt i {
          right: 20px; } }
  .ehime-nursing #why-ehime dd {
    padding-top: 50px;
    padding-bottom: 50px;
    display: none; }
    @media screen and (max-width: 767px) {
      .ehime-nursing #why-ehime dd {
        padding-top: 30px; } }
    .ehime-nursing #why-ehime dd img {
      border-radius: 10px; }
    .ehime-nursing #why-ehime dd .flex-cont_fig {
      justify-content: space-evenly; }
      .ehime-nursing #why-ehime dd .flex-cont_fig figure {
        margin: 0; }
        @media print, screen and (min-width: 768px) {
          .ehime-nursing #why-ehime dd .flex-cont_fig figure {
            width: 42%; } }
    @media print, screen and (min-width: 768px) {
      .ehime-nursing #why-ehime dd .sin-cont {
        width: 55%;
        margin-left: auto;
        margin-right: auto; } }
    .ehime-nursing #why-ehime dd .box-btn {
      margin-top: 40px; }
      @media print, screen and (min-width: 768px) {
        .ehime-nursing #why-ehime dd .box-btn {
          text-align: center; } }
      .ehime-nursing #why-ehime dd .box-btn button {
        display: inline-block;
        width: 50px;
        height: 50px;
        color: #fff;
        border: none;
        background-color: #a89281; }
  @media print, screen and (min-width: 768px) {
    .ehime-nursing #why-ehime .we-list p {
      font-size: 1.8rem; } }
  .ehime-nursing #why-ehime .list-item:not(:last-child) {
    margin-bottom: 30px; }
  .ehime-nursing #why-ehime .list-item.open dt .fa-chevron-down:before {
    content: "\f00d"; }
  .ehime-nursing #why-ehime .area-copy_message {
    margin-top: 135px;
    background-color: #fff;
    box-sizing: border-box;
    border-radius: 20px;
    padding-top: 90px;
    padding-bottom: 80px; }
    @media screen and (min-width: 1030px) {
      .ehime-nursing #why-ehime .area-copy_message .center {
        max-width: 800px; } }
    @media screen and (max-width: 767px) {
      .ehime-nursing #why-ehime .area-copy_message {
        margin-top: 100px;
        padding-top: 50px;
        padding-bottom: 50px; } }
    .ehime-nursing #why-ehime .area-copy_message .contents-title {
      font-weight: normal; }
    .ehime-nursing #why-ehime .area-copy_message .copy_message {
      font-size: 4.5rem;
      line-height: 1.3; }
      @media screen and (max-width: 767px) {
        .ehime-nursing #why-ehime .area-copy_message .copy_message {
          font-size: 3rem; } }
      .ehime-nursing #why-ehime .area-copy_message .copy_message .txt-s {
        font-size: 90%;
        display: block;
        margin-top: 15px; }
      .ehime-nursing #why-ehime .area-copy_message .copy_message .up-space {
        display: none; }
        @media print, screen and (min-width: 768px) {
          .ehime-nursing #why-ehime .area-copy_message .copy_message .up-space {
            display: inline-block;
            width: 0.3em; } }

#load {
  z-index: 9999999; }
