@charset "UTF-8";
main {
  width: calc(100% - 100px);
  margin: 0 auto; }

@media (max-width: 1280px) {
  main {
    width: calc(100% - 80px);
    margin: 0 auto; } }
/*max-width:1280px*/
/*max-width:1024px*/
@media (max-width: 768px) {
  main {
    width: calc(100% - 60px);
    margin: 0 auto; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .pankuzu li {
    font-size: 1.2rem;
    margin: 0 0 0 8px; }

  main {
    width: calc(100% - 40px);
    margin: 0 auto; } }
/*max-width:480px*/
/************************************/
br.sp_none {
  display: block; }
br.sp_block {
  display: none; }

@media (max-width: 768px) {
  br.sp_none {
    display: none; }
  br.sp_block {
    display: block; } }
/*max-width:768px*/
/************************************/
.archive_all {
  background: url(../images/index/facluty_bg.png) center top no-repeat;
  background-size: 100% auto;
  background-color: #BBFEE6; }

.content {
  max-width: 1820px;
  width: 100%;
  margin: 0 auto 80px; }

.content_box.border {
  padding: 0 0 30px;
  margin-bottom: 10px;
  border-bottom: 1px solid #91D5B7; }
.content_box h2 {
  width: fit-content;
  padding: 0 20px;
  letter-spacing: 0.1em;
  border-left: 1px solid #7D9B8E;
  border-right: 1px solid #7D9B8E; }
.content_box a {
  background-color: #F0F8FA; }
  .content_box a:before, .content_box a:after {
    background-color: #C4EBF5; }
.content_box h3 {
  padding: 25px 55px;
  font: 2rem/1.5em "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  border-radius: 10px;
  background-color: #EFFEF9;
  cursor: pointer;
  position: sticky;
  top: 110px;
  z-index: 5; }
  .content_box h3 br {
    display: none; }
  .content_box h3 span {
    font: 1.5rem/1.5em "Inter", sans-serif;
    font-weight: 100;
    display: inline-block;
    padding: 0 0 0 20px; }
  .content_box h3:after {
    display: block;
    position: absolute;
    content: "";
    width: 5px;
    height: 30px;
    background-color: #77FBCC;
    left: 30px;
    top: 51%;
    transform: translateY(-50%); }
  .content_box h3:before {
    content: "+";
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    font: 2rem/40px dnp-shuei-gothic-kin-std, sans-serif;
    text-align: center;
    transition: 0.3s;
    width: 40px;
    height: 40px;
    display: block;
    background-color: #77FBCC;
    border-radius: 50%; }
  .content_box h3.active {
    background-color: #fff; }
    .content_box h3.active:before {
      content: "−"; }

@media (hover: hover) {
  .accordion_box h3:hover {
    background-color: #fff; } }
@media (max-width: 1280px) {
  .content_box h3 {
    top: 80px; } }
@media (max-width: 768px) {
  .archive_all {
    background: url("../images/index//facluty_bg_sp.png") center top no-repeat #BBFEE6;
    background-size: 100% auto; }

  .content_box {
    width: calc(100% - 50px); }
    .content_box h3 {
      top: 80px; }
      .content_box h3 span {
        display: block;
        padding: 0; }
      .content_box h3:before {
        right: 15px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .content_box {
    padding: 40px 0 38px;
    width: calc(100% - 20px); }
    .content_box h2 {
      font-size: 1.4rem; }
    .content_box h3 {
      padding: 22px 40px 22px 35px;
      font: 1.6rem/1.6em "Noto Sans JP", sans-serif;
      font-weight: 500;
      top: 60px; }
      .content_box h3 br {
        display: block; }
      .content_box h3 span {
        font: 1.3rem/1.5em "Inter", sans-serif;
        font-weight: 100;
        padding: 3px 0 0; }
      .content_box h3:after {
        height: 30px;
        left: 15px;
        top: 51%;
        transform: translateY(-50%); }
      .content_box h3:before {
        right: 15px;
        font: 2rem/36px dnp-shuei-gothic-kin-std, sans-serif;
        width: 36px;
        height: 36px; } }
/*max-width:480px*/
/************************************/
.page_header {
  width: 100%;
  background: none;
  padding: 0; }
  .page_header span.ttl:before {
    background-color: #77FBCC; }
  .page_header > div {
    padding: 69px 0 0;
    max-width: 1460px;
    width: calc(100% - 100px);
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start; }
  .page_header .img {
    aspect-ratio: 630/436;
    width: calc(100% - 500px);
    max-width: 640px;
    height: auto; }
    .page_header .img img {
      object-fit: cover;
      width: 100%;
      height: 100%; }
  .page_header .txt {
    padding: 20px 0 0 0;
    position: relative;
    max-width: 450px;
    width: 100%; }
    .page_header .txt.innovation {
      max-width: 470px; }
    .page_header .txt span {
      min-height: 100px;
      display: flex;
      flex-direction: column;
      flex-wrap: wrap;
      justify-content: center;
      align-items: flex-start;
      padding: 0 0 0 80px;
      width: 100%;
      position: relative;
      font: 1.9rem/100px dnp-shuei-gothic-kin-std, sans-serif;
      font-weight: 700;
      letter-spacing: 0.1em; }
      .page_header .txt span::before, .page_header .txt span::after {
        position: absolute;
        content: "";
        display: block;
        width: auto;
        height: 80px;
        aspect-ratio: 66/90;
        top: 0;
        left: 0%;
        transition: opacity .4s ease; }
      .page_header .txt span::before {
        background: url("../images/character01.svg") center center/contain no-repeat;
        animation: switch1 2s steps(1, end) infinite; }
      .page_header .txt span::after {
        background: url("../images/character02.svg") center center/contain no-repeat;
        animation: switch2 2s steps(1, end) infinite; }
  .page_header h1 {
    width: 100%;
    margin: 0;
    padding: 30px 0;
    font: 4.2rem/1.5em dnp-shuei-gothic-kin-std, sans-serif;
    font-weight: 300;
    letter-spacing: 0.1em;
    border-top: #91D5B7 1px solid;
    border-bottom: #91D5B7 1px solid;
    margin-bottom: 40px; }
    .page_header h1 small {
      max-width: 100%;
      padding: 15px 0 0;
      display: block;
      font: 1.3rem/1.4em "Inter", sans-serif;
      font-weight: 300;
      letter-spacing: 0.05em; }
    .page_header h1::before, .page_header h1::after {
      display: none; }
    .page_header h1 br {
      display: block; }
  .page_header .link {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start; }
    .page_header .link a {
      display: block;
      max-width: 220px;
      text-align: center;
      padding: 0 50px 0 0;
      font: 1.5rem/48px dnp-shuei-gothic-kin-std, sans-serif;
      font-weight: 400;
      letter-spacing: 0.1em;
      height: 48px;
      width: calc((100% - 10px)/2);
      position: relative;
      background: #77FBCC;
      border-radius: 50px;
      text-decoration: none; }
      .page_header .link a:nth-of-type(2) {
        padding: 0 20px 0 0; }
      .page_header .link a:after {
        content: "";
        position: absolute;
        width: 46px;
        height: 22px;
        border-radius: 25px;
        background: #fff url(../images/common/arrow.svg) center center no-repeat;
        top: 50%;
        left: auto;
        right: 20px;
        transform: translate(0%, -50%); }

@keyframes switch1 {
  0%, 49.999% {
    opacity: 1; }
  50%,100% {
    opacity: 0; } }
@keyframes switch2 {
  0%, 49.999% {
    opacity: 0; }
  50%,100% {
    opacity: 1; } }
@media (hover: hover) {
  .page_header .link a:hover {
    background: #3FF4B4; } }
@media (max-width: 1280px) {
  .page_header > div {
    align-items: center; }
  .page_header .img {
    aspect-ratio: 630/436;
    width: calc(100% - 450px); }
  .page_header .txt {
    max-width: 400px; }
    .page_header .txt.innovation {
      max-width: 400px; }
  .page_header h1 {
    font: clamp(2.8rem, 2.85vw, 4.5rem)/1.3 dnp-shuei-gothic-kin-std, sans-serif;
    font-weight: 300;
    letter-spacing: 0.1em; } }
/*max-width:1280px*/
@media screen and (max-width: 1024px) {
  .page_header {
    margin-bottom: 60px; }
    .page_header > div {
      padding: 88px 0 0;
      width: calc(100% - 80px);
      display: flex;
      flex-direction: column;
      align-items: stretch;
      max-width: 580px; }
    .page_header .txt {
      display: contents;
      width: 100% !important; }
    .page_header h1 {
      font: 4rem/1.3em dnp-shuei-gothic-kin-std, sans-serif;
      margin-bottom: 30px; }
    .page_header .txt > span,
    .page_header .txt > h1 {
      order: 1; }
    .page_header .img {
      order: 2;
      width: 100%;
      max-width: none;
      margin-bottom: 40px; }
    .page_header .txt > .link {
      padding: 0;
      margin-top: 0;
      order: 3;
      width: 100%;
      justify-content: center; }
      .page_header .txt > .link a {
        margin: 0 5px; } }
@media (max-width: 768px) {
  .page_header {
    margin-bottom: 60px; }
    .page_header > div {
      width: calc(100% - 60px);
      padding: 82px 0 0;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      max-width: 580px; }
    .page_header h1 {
      font: clamp(3rem, 6.5vw, 4.2rem)/1.3em dnp-shuei-gothic-kin-std, sans-serif;
      font-weight: 300;
      margin-bottom: 30px; }
    .page_header span {
      min-height: 80px; }
    .page_header .txt {
      display: contents; }
    .page_header .img {
      order: 2;
      width: 100%;
      max-width: none;
      margin-bottom: 20px; }
    .page_header .txt > .link {
      justify-content: space-between;
      max-width: 400px;
      margin: 0 auto; }
      .page_header .txt > .link a {
        width: calc((100% - 10px)/2);
        margin: 0;
        padding: 15px 0 48px !important;
        height: auto;
        font: 1.5rem/1em dnp-shuei-gothic-kin-std, sans-serif;
        font-weight: 400;
        letter-spacing: 0.1em;
        border-radius: 10px; }
        .page_header .txt > .link a:after {
          top: auto;
          left: 50%;
          bottom: 13px;
          right: auto;
          transform: translate(-50%, 0%); } }
/*max-width:768px*/
@media (max-width: 480px) {
  .page_header > div {
    max-width: 305px;
    padding: 63px 0 0;
    width: calc(100% - 40px); }
  .page_header .img {
    margin-bottom: 20px;
    max-width: 305px; }
  .page_header .txt {
    padding: 0; }
    .page_header .txt span {
      min-height: 80px;
      padding: 0 0 0 65px;
      font: 1.6rem/80px dnp-shuei-gothic-kin-std, sans-serif;
      font-weight: 700;
      margin-bottom: 9px; }
      .page_header .txt span::before, .page_header .txt span::after {
        width: 50px;
        height: 69px; }
  .page_header h1 {
    font: clamp(2.8rem, 7vw, 4.2rem)/1.5em dnp-shuei-gothic-kin-std, sans-serif;
    font-weight: 300;
    width: 100%;
    margin: 0;
    padding: 10px 0;
    letter-spacing: 0.1em;
    margin-bottom: 20px; }
    .page_header h1 small {
      padding: 8px 0 0;
      display: block;
      font: 1.2rem/1.5em "Inter", sans-serif;
      font-weight: 300;
      width: 100%; }
    .page_header h1::before, .page_header h1::after {
      display: none; }
    .page_header h1 br {
      display: block; }
  .page_header .link a {
    font: 1.4rem/48px dnp-shuei-gothic-kin-std, sans-serif;
    font-weight: 400;
    letter-spacing: 0.1em;
    max-width: 148px;
    width: calc((100% - 8px)/2); } }
/*max-width:480px*/
/****************************************/
.accordion_box {
  border-radius: 10px;
  background: #EFFEF9;
  width: 100%;
  margin: 0 auto 15px;
  position: relative; }

/****************************************/
.accordion_item {
  display: none;
  max-width: 1020px;
  width: calc(100% - 120px);
  margin: 0 auto;
  padding: 60px 0 60px; }

@media (max-width: 1024px) {
  .accordion_item {
    width: calc(100% - 80px); } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .accordion_item {
    padding: 50px 0 60px;
    width: calc(100% - 50px); } }
/*max-width:768px*/
@media (max-width: 480px) {
  .accordion_item {
    width: calc(100% - 40px);
    padding: 30px 0 40px; } }
/*max-width:480px*/
/*********************************/
.features .features_head {
  border-bottom: 1px solid #B0C6BF;
  margin: 0 0 30px; }
.features h4 {
  font: 3rem/1.7em dnp-shuei-gothic-kin-std, sans-serif;
  font-weight: 300;
  letter-spacing: 0.08em;
  padding: 0 0 20px; }
.features .head {
  font: 1.7rem/2em "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: justify;
  text-justify: inter-ideograph;
  padding: 0 0 20px; }
.features p {
  margin-bottom: 30px; }
  .features p.section-title {
    font: 1.7rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 10px; }
  .features p:last-child {
    margin-bottom: 0; }
  .features p b {
    font-weight: 500; }
  .features p .line {
    background: linear-gradient(transparent 0%, #DAFD21 0%);
    display: inline; }
.features .dot {
  margin-bottom: 30px; }

@media (max-width: 768px) {
  .features h4 {
    font: 2.5rem/1.7em dnp-shuei-gothic-kin-std, sans-serif;
    font-weight: 300;
    letter-spacing: 0.08em; }
  .features .head {
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500; } }
@media (max-width: 480px) {
  .features .features_head {
    margin: 0 0 20px; }
  .features h4 {
    font: 2.1rem/2em dnp-shuei-gothic-kin-std, sans-serif;
    font-weight: 300;
    letter-spacing: 0.08em;
    padding: 0 0 15px; }
  .features .head {
    font: 1.5rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500;
    padding: 0 0 15px; }
  .features p {
    margin-bottom: 20px; }
    .features p.section-title {
      font: 1.5rem/2em "Noto Sans JP", sans-serif;
      font-weight: 500;
      letter-spacing: 0.05em;
      margin-bottom: 10px; } }
/*max-width:480px*/
/*********************************/
.programs .programs_box {
  margin-bottom: 50px; }
  .programs .programs_box:last-of-type {
    margin: 0; }
.programs h4 {
  font: clamp(2.5rem, 2.2vw, 3rem)/1.6 dnp-shuei-gothic-kin-std, sans-serif;
  font-weight: 300;
  letter-spacing: 0.1em;
  margin: 0 0 30px;
  padding: 0 0 20px;
  position: relative;
  border-bottom: 1px solid #B0C6BF;
  vertical-align: middle; }
  .programs h4 span.block {
    padding: 0 28px;
    width: fit-content;
    border-left: 1px solid #726E6E;
    border-right: 1px solid #726E6E; }
  .programs h4 span.txt {
    vertical-align: middle;
    font: 1.7rem/1.4em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
    display: inline-block;
    margin: 0 -15px 0 5px;
    vertical-align: middle; }
  .programs h4 small {
    vertical-align: middle;
    letter-spacing: 0.05em;
    font: 1.3rem/1.4em "Inter", sans-serif;
    font-weight: 200;
    display: inline-block;
    padding: 0 0 0 20px; }
  .programs h4 .kome {
    font: clamp(1.3rem, 1vw, 1.4rem)/1 "Inter", sans-serif;
    font-weight: 300;
    padding: 0 0 0 15px; }
.programs h5 {
  letter-spacing: 0.1em;
  width: 100%;
  font: 1.8rem/2em "Noto Sans JP", sans-serif;
  font-weight: 500;
  border-top: 1px solid #B0C6BF;
  border-bottom: 1px solid #B0C6BF;
  margin: 0 0 30px;
  padding: 8px 0 10px 10px; }
.programs p {
  font: 1.6rem/2em "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: justify;
  text-justify: inter-ideograph; }
.programs p.head {
  font: 1.9rem/2em "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 0 0 20px; }
.programs p.dat {
  font: 1.6rem/2em "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 0 0 30px; }
.programs p.b_block {
  letter-spacing: 0.05em;
  font: 1.6rem/2em "Noto Sans JP", sans-serif;
  font-weight: 400;
  margin: 0 0 30px; }
  .programs p.b_block b {
    display: block;
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500;
    margin: 0 0 15px; }
.programs p.last {
  font: 1.6rem/2em "Noto Sans JP", sans-serif;
  font-weight: 500;
  margin-top: 30px; }
.programs p.ttl {
  background-color: #A7FDDE;
  border-radius: 25px;
  padding: 13px 30px;
  font: 1.7rem/1.5em "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 13px;
  position: relative;
  margin-bottom: 45px; }
  .programs p.ttl:nth-of-type(2) {
    margin-bottom: 25px; }
  .programs p.ttl span {
    font-size: 1.6rem;
    font-weight: 400; }
.programs span.sub_ttl {
  font: 1.8rem/40px "Noto Sans JP", sans-serif;
  font-weight: 300;
  border: 1px solid #726E6E;
  letter-spacing: 0.05em;
  display: block;
  width: fit-content;
  padding: 0 15px;
  margin: 0 0 30px; }

@media (max-width: 1280px) {
  .programs h4 .kome {
    padding: 10px 0 0 0;
    display: block; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .programs h4 span.block {
    display: block;
    width: fit-content;
    padding: 0 20px; }
  .programs h4 small {
    padding: 4px 0 0;
    display: block; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .programs h4 {
    font: 2.7rem/1.6em dnp-shuei-gothic-kin-std, sans-serif;
    font-weight: 300; }
    .programs h4 span.txt {
      display: block;
      margin: 0;
      padding: 0 0 0; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .programs .programs_box {
    margin-bottom: 40px; }
    .programs .programs_box:last-of-type {
      margin: 0; }
  .programs h4 {
    font: clamp(1.8rem, 5vw, 2rem)/1.6 dnp-shuei-gothic-kin-std, sans-serif;
    font-weight: 300;
    margin-bottom: 15px;
    padding-bottom: 15px; }
    .programs h4 small {
      display: block;
      letter-spacing: 0.05em;
      font: 1.2rem/1.4em "Inter", sans-serif;
      font-weight: 300; }
    .programs h4 span.txt {
      display: block;
      font: 1.4rem/1.4em "Noto Sans JP", sans-serif;
      font-weight: 400; }
  .programs h5 {
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500;
    margin-bottom: 20px; }
  .programs p {
    font: 1.5rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500; }
  .programs p.head {
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 0 15px; }
  .programs p.dat {
    font: 1.5rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 0 20px; }
  .programs p.b_block {
    font: 1.4rem/2em "Noto Sans JP", sans-serif;
    font-weight: 400;
    margin: 0 0 20px; }
    .programs p.b_block b {
      font: 1.5rem/2em "Noto Sans JP", sans-serif;
      font-weight: 500;
      margin: 0 0 10px; }
  .programs p.ttl {
    padding: 13px 10px 13px 20px;
    font: 1.6rem/1.5em "Noto Sans JP", sans-serif;
    font-weight: 500;
    margin-bottom: 20px; }
    .programs p.ttl:nth-of-type(2) {
      margin-bottom: 20px; }
    .programs p.ttl span {
      font-size: 1.4rem;
      font-weight: 400; }
  .programs p.last {
    font: 1.4rem/2em "Noto Sans JP", sans-serif;
    margin-top: 20px;
    font-weight: 500; }
  .programs span.sub_ttl {
    font: 1.4rem/32px "Noto Sans JP", sans-serif;
    font-weight: 400;
    padding: 0 15px;
    margin: 0 0 20px; } }
/*max-width:480px*/
/*********************************/
.message .message_box {
  padding: 0 0 50px;
  margin: 0 0 50px;
  border-bottom: 1px solid #B0C6BF; }
  .message .message_box:last-of-type {
    padding: 0;
    border-bottom: none;
    margin: 0; }
.message img {
  display: block;
  width: 100%;
  margin: 0 auto 40px;
  max-width: 800px; }
.message .messeage_flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start; }
.message .left {
  width: 360px; }
  .message .left .num {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    font: 3rem/1em "Inter", sans-serif;
    font-weight: 100;
    color: #B0C6BF;
    letter-spacing: 0.05em;
    margin: 0 0 25px; }
    .message .left .num span {
      font: 6.4rem/1em "Inter", sans-serif;
      font-weight: 100;
      margin: 0 0 0 15px; }
  .message .left .department {
    font: 1.6rem/1.5em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
    border-bottom: #B0C6BF 1px solid;
    margin: 0 0 15px;
    padding: 0 0 10px; }
  .message .left h4 {
    margin: 0 0 15px;
    font: 2rem/1em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em; }
    .message .left h4 span {
      font: 1.5rem/1em "Noto Sans JP", sans-serif;
      font-weight: 400;
      letter-spacing: 0.05em; }
      .message .left h4 span:nth-of-type(1) {
        margin: 0 10px 0 0; }
      .message .left h4 span:nth-of-type(2) {
        margin: 0 0 0 10px; }
  .message .left small {
    font: 1.5rem/1em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em; }
.message .right {
  max-width: 570px;
  width: calc(100% - 400px); }
  .message .right h5 {
    text-align: justify;
    text-justify: inter-ideograph;
    font: 2.5rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 10px; }
  .message .right p {
    text-align: justify;
    text-justify: inter-ideograph;
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
    margin-bottom: 15px; }
  .message .right small {
    display: block;
    font: 1.4rem/1em "Noto Sans JP", sans-serif;
    font-weight: 300;
    letter-spacing: 0.05em;
    text-align: right; }

@media (max-width: 1280px) {
  .message .messeage_flex {
    display: block; }
  .message .left {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 48px; }
    .message .left .num {
      width: 250px; }
    .message .left div {
      width: calc(100% - 250px);
      max-width: 360px; }
  .message .right {
    width: 100%;
    max-width: 100%; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .message .left .num {
    width: 1000%; }
  .message .left div {
    width: 100%;
    max-width: 360px; } }
/*max-width:1024px*/
@media (max-width: 480px) {
  .message .message_box {
    padding: 0 0 30px;
    margin: 0 0 30px; }
  .message img {
    margin: 0 auto 15px; }
  .message .left {
    margin-bottom: 20px; }
    .message .left .num {
      font: 2.5rem/1em "Inter", sans-serif;
      font-weight: 100;
      letter-spacing: 0.05em;
      margin: 0 0 13px; }
      .message .left .num span {
        font: 4.2rem/1em "Inter", sans-serif;
        font-weight: 100;
        margin: 0 0 0 15px; }
    .message .left .department {
      font: 1.4rem/1.5em "Noto Sans JP", sans-serif;
      font-weight: 400;
      letter-spacing: 0.05em;
      margin: 0 0 15px;
      padding: 0 0 10px; }
    .message .left h4 {
      font: 1.6rem/1em "Noto Sans JP", sans-serif;
      font-weight: 400;
      letter-spacing: 0.05em;
      margin-bottom: 10px; }
      .message .left h4 span {
        font: 1.3rem/1em "Noto Sans JP", sans-serif;
        font-weight: 400;
        letter-spacing: 0.05em; }
        .message .left h4 span:nth-of-type(1) {
          margin: 0 8px 0 0; }
        .message .left h4 span:nth-of-type(2) {
          margin: 0 0 0 8px; }
    .message .left small {
      font: 1.3rem/1em "Noto Sans JP", sans-serif;
      font-weight: 400;
      letter-spacing: 0.05em; }
  .message .right h5 {
    text-align: justify;
    text-justify: inter-ideograph;
    font: 2rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 10px; }
  .message .right p {
    font: 1.4rem/2.1em "Noto Sans JP", sans-serif;
    font-weight: 400; }
  .message .right small {
    font: 1.2rem/1em "Noto Sans JP", sans-serif;
    font-weight: 300; } }
/*max-width:480px*/
/*********************************/
.career h4 {
  font: 1.8rem/2em "Noto Sans JP", sans-serif;
  font-weight: 500;
  border-top: 1px solid #B0C6BF;
  border-bottom: 1px solid #B0C6BF;
  margin: 0 0 30px;
  padding: 8px 0 10px 8px;
  letter-spacing: 0.1em; }
.career p {
  font: 1.6rem/2em "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
  font-weight: 400;
  text-align: justify;
  text-justify: inter-ideograph;
  margin-bottom: 30px; }
  .career p.line {
    margin: 0;
    border-top: 1px solid #B0C6BF;
    padding: 30px 0 0; }
    .career p.line b {
      display: block;
      font-weight: 500; }
.career .btn {
  display: block;
  max-width: 230px;
  text-align: center;
  margin: 0 0 40px auto;
  padding: 0 55px 0 0;
  font: 1.5rem / 48px dnp-shuei-gothic-kin-std, sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  height: 48px;
  width: 100%;
  position: relative;
  background: #77FBCC;
  border-radius: 50px;
  text-decoration: none;
  min-height: auto;
  color: #000; }
  .career .btn:before {
    display: none; }
  .career .btn:after {
    content: "";
    position: absolute;
    width: 45px;
    height: 22px;
    border-radius: 25px;
    background: #fff url(../images/common/arrow.svg) center center no-repeat;
    top: 50%;
    left: auto;
    right: 20px;
    transform: translate(0%, -50%); }
.career .accordion_flex p {
  margin-bottom: 0; }

@media (max-width: 480px) {
  .career h4 {
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500;
    margin-bottom: 20px; }
  .career p {
    font: 1.5rem/2em "Noto Sans JP", sans-serif;
    font-weight: 400;
    text-align: justify;
    text-justify: inter-ideograph;
    margin-bottom: 20px; }
  .career .btn {
    max-width: 245px;
    font: 1.5rem / 48px dnp-shuei-gothic-kin-std, sans-serif;
    font-weight: 400;
    margin: 0 auto 40px; } }
/*max-width:480px*/
/*********************************/
.accordion_flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start; }
  .accordion_flex .img {
    width: 370px; }
    .accordion_flex .img img {
      width: 100%;
      height: auto;
      display: block;
      margin: 0 0 15px; }
      .accordion_flex .img img:last-of-type {
        margin-bottom: 0; }
  .accordion_flex .txt {
    width: calc(100% - 420px);
    max-width: 610px;
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-align: justify;
    text-justify: inter-ideograph;
    /*p{
      margin-bottom: 30px;
      &:last-child{
        margin-bottom: 0
      }
      b{
        font-weight: 500;
      }
      .line{
         background: linear-gradient(transparent 0%, #DAFD21 0%);
        display: inline;
      }
    }//p*/ }

/*min-width:1920px*/
@media (max-width: 1280px) {
  .accordion_flex {
    display: block; }
    .accordion_flex .img {
      width: 100%;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start; }
      .accordion_flex .img img {
        width: calc((100% - 15px) /2);
        height: auto;
        display: block;
        margin: 0; }
    .accordion_flex .txt {
      width: 100%;
      max-width: 100%;
      margin-bottom: 40px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .accordion_flex .img {
    display: block; }
    .accordion_flex .img img {
      width: 100%;
      max-width: 365px;
      margin: 0 auto 10px; }
      .accordion_flex .img img:last-of-type {
        margin-bottom: 0; } }
/*max-width:1024px*/
/*max-width:768px*/
@media (max-width: 480px) {
  .accordion_flex img {
    width: 100%;
    max-width: 365px;
    margin: 0 auto 10px; }
  .accordion_flex .txt {
    font: 1.5rem/2em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
    margin-bottom: 30px; } }
/*max-width:480px*/
/*********************************/
/*********************************/
dl.number {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
  margin-bottom: 40px; }
  dl.number:before {
    position: absolute;
    content: "";
    display: block;
    width: 1px;
    height: calc(100% - 150px);
    left: 36px;
    top: 75px;
    border-left: #B0C6BF 2px dotted; }
  dl.number dt {
    position: relative;
    z-index: 1;
    padding: 0 0 5px;
    width: 75px;
    height: 75px;
    border-radius: 50%;
    background-color: #D2F4EA;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font: 1.6rem/1em "Noto Sans JP", sans-serif;
    font-weight: 400; }
    dl.number dt span {
      font: 2.4rem/1em "Inter", sans-serif;
      font-weight: 300;
      display: block; }
  dl.number dd {
    width: calc(100% - 95px);
    margin: 0 0 30px 20px;
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em; }
    dl.number dd:last-of-type {
      margin-bottom: 0; }

@media (max-width: 480px) {
  dl.number {
    margin-bottom: 0; }
    dl.number:before {
      height: calc(100% - 120px);
      left: 30px;
      top: 60px; }
    dl.number dt {
      width: 60px;
      height: 60px;
      font: 1.2rem/1em "Noto Sans JP", sans-serif;
      font-weight: 400; }
      dl.number dt span {
        font: 2rem/1em "Inter", sans-serif;
        font-weight: 300; }
    dl.number dd {
      width: calc(100% - 72px);
      margin: 0 0 25px 11px;
      font: 1.4rem/2em "Noto Sans JP", sans-serif;
      font-weight: 400;
      letter-spacing: 0.05em; } }
/*max-width:480px*/
/*********************************/
.licenses h4 {
  font: 1.8rem/2em "Noto Sans JP", sans-serif;
  font-weight: 500;
  border-top: 1px solid #B0C6BF;
  border-bottom: 1px solid #B0C6BF;
  padding: 8px 0 10px 0;
  letter-spacing: 0.1em;
  margin-bottom: 30px; }
.licenses small {
  margin-top: 50px;
  display: block;
  font: 1.4rem/1em "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-align: right; }

/*min-width:1920px*/
/*max-width:1280px*/
/*max-width:1024px*/
/*max-width:768px*/
@media (max-width: 480px) {
  .licenses h4 {
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500;
    padding: 8px 0 10px 10px;
    margin-bottom: 20px; }
  .licenses small {
    margin: 30px 0 0;
    font: 1.3rem/1em "Noto Sans JP", sans-serif;
    font-weight: 400; } }
/*max-width:480px*/
/*********************************/
.accordion_dl {
  width: 100%;
  margin-bottom: 40px; }
  .accordion_dl dt {
    background-color: #A7FDDE;
    border-radius: 25px;
    padding: 13px 30px;
    font: 1.7rem/1.5em "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-top: 13px;
    position: relative; }
    .accordion_dl dt:before {
      content: "+";
      position: absolute;
      right: 15px;
      top: 50%;
      transform: translateY(-50%);
      font: 2rem/27px dnp-shuei-gothic-kin-std, sans-serif;
      text-align: center;
      transition: 0.3s;
      width: 28px;
      height: 28px;
      display: block;
      background-color: #fff;
      border-radius: 50%; }
    .accordion_dl dt.active:before {
      content: "−"; }
    .accordion_dl dt:first-of-type {
      margin-top: 0; }
  .accordion_dl dd {
    display: none;
    margin: 10px 0 40px;
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-align: justify;
    text-justify: inter-ideograph; }
    .accordion_dl dd b {
      display: block;
      margin: 15px 0 10px; }

@media (hover: hover) {
  .accordion_dl dt:hover {
    cursor: pointer;
    background-color: #3FF4B4; } }
@media (max-width: 480px) {
  .accordion_dl {
    margin-bottom: 30px; }
    .accordion_dl dt {
      border-radius: 25px;
      padding: 13px 30px 13px 25px;
      font: 1.5rem/1.5em "Noto Sans JP", sans-serif;
      font-weight: 500; }
    .accordion_dl dd {
      display: none;
      margin-bottom: 25px;
      font: 1.4rem/2em "Noto Sans JP", sans-serif;
      font-weight: 400; } }
/*max-width:480px*/
/*********************************/
.flex_dl {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch; }
  .flex_dl.long dd {
    width: calc(100% - 325px); }
  .flex_dl.long dt {
    width: 300px; }
  .flex_dl.short dd {
    width: calc(100% - 175px); }
  .flex_dl.short dt {
    width: 150px; }
  .flex_dl dd {
    width: calc(100% - 265px);
    margin: 0 0 30px;
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
    text-align: justify;
    text-justify: inter-ideograph; }
    .flex_dl dd b {
      font-weight: 500;
      display: block; }
    .flex_dl dd:last-of-type {
      margin: 0; }
    .flex_dl dd.flex {
      width: fit-content;
      margin: 0;
      max-width: auto;
      padding: 0 30px 0 0; }
    .flex_dl dd ul {
      margin: 0; }
  .flex_dl dt {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 235px;
    border: 1px solid #B0C6BF;
    position: relative;
    margin: 0 25px 30px 0;
    background-color: #fff;
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em;
    padding: 15px; }
    .flex_dl dt span {
      display: block;
      width: fit-content; }
    .flex_dl dt:before {
      position: absolute;
      content: "";
      right: -12px;
      top: 50%;
      transform: translateY(-50%);
      width: 0;
      height: 0;
      border-style: solid;
      border-top: 6px solid transparent;
      border-bottom: 6px solid transparent;
      border-left: 11px solid #b0c6bf;
      border-right: 0; }
    .flex_dl dt:last-of-type {
      margin-bottom: 0; }

@media (max-width: 1024px) {
  .flex_dl {
    width: 100%;
    display: block; }
    .flex_dl.long dd,
    .flex_dl.long dt, .flex_dl.short dd,
    .flex_dl.short dt {
      width: 100%; }
    .flex_dl dd {
      width: 100%;
      margin: 0 0 30px; }
      .flex_dl dd:last-of-type {
        margin: 0; }
    .flex_dl dt {
      width: 100%;
      margin: 0 0 20px; }
      .flex_dl dt br {
        display: none; }
      .flex_dl dt:before {
        right: auto;
        left: 50%;
        top: auto;
        bottom: -11px;
        transform: translate(-50%, 0%);
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 11px solid #b0c6bf;
        border-bottom: 0; }
      .flex_dl dt:last-of-type {
        margin-bottom: 20px; } }
/*max-width:1024px*/
/*max-width:768px*/
@media (max-width: 480px) {
  .flex_dl {
    margin-bottom: 30px; }
    .flex_dl dt {
      font: 1.5rem/1.5em "Noto Sans JP", sans-serif;
      font-weight: 400;
      padding: 12px 10px;
      margin-bottom: 15px; }
      .flex_dl dt span br {
        display: block; }
    .flex_dl dd {
      margin: 0 0 20px;
      font: 1.4rem/2em "Noto Sans JP", sans-serif;
      font-weight: 400;
      letter-spacing: 0.05em; } }
/*max-width:480px*/
/*********************************/
.dot {
  margin-bottom: 30px; }
  .dot li {
    padding: 0 0 0 15px;
    position: relative;
    margin: 0 0 5px;
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 400;
    letter-spacing: 0.05em; }
    .dot li b {
      font-weight: 500;
      display: block; }
    .dot li:before {
      position: absolute;
      top: 12px;
      left: 0;
      content: "";
      display: block;
      width: 8px;
      height: 8px;
      background-color: #4CD6A5; }

@media (max-width: 480px) {
  .dot li {
    padding: 0 0 0 15px;
    font: 1.4rem/2em "Noto Sans JP", sans-serif;
    font-weight: 400; }
    .dot li:before {
      top: 11px;
      width: 6px;
      height: 6px; } }
/*max-width:480px*/
/*********************************/
.num_list {
  counter-reset: num; }
  .num_list > li {
    font: 1.6rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 0 0 0 45px;
    margin: 0 0 20px;
    position: relative;
    text-align: justify;
    text-justify: inter-ideograph; }
    .num_list > li:last-of-type {
      margin-bottom: 0; }
    .num_list > li:before {
      color: #4CD6A5;
      font: 2.4rem/1em "Inter", sans-serif;
      font-weight: 300;
      position: absolute;
      counter-increment: num;
      content: "0" counter(num);
      left: 0;
      top: 5px; }
    .num_list > li ul.dot {
      margin-bottom: 0; }

@media (max-width: 480px) {
  .num_list > li {
    font: 1.5rem/2em "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: 0 0 0 38px;
    margin: 0 0 15px; }
    .num_list > li:before {
      font: 2rem/1em "Inter", sans-serif;
      font-weight: 300;
      left: 0;
      top: 5px; } }
/*max-width:480px*/
/*********************************/
.row_list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  counter-reset: num;
  margin-bottom: 30px; }
  .row_list li {
    position: relative;
    padding: 0 0 0 25px;
    font: 1.7rem/1.5em "Noto Sans JP", sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 30px 0 0; }
    .row_list li:before {
      position: absolute;
      counter-increment: num;
      content: counter(num) ".";
      left: 0;
      color: #4CD6A5; }

@media (max-width: 768px) {
  .row_list {
    display: block; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .row_list {
    margin-bottom: 20px; }
    .row_list li {
      font: 1.5rem/1.5em "Noto Sans JP", sans-serif;
      font-weight: 500;
      letter-spacing: 0.05em;
      margin: 0 0 15px 0; }
      .row_list li:last-of-type {
        margin: 0; } }
/*max-width:480px*/
/*********************************/
.close_btm {
  margin-bottom: 50px !important; }

.close {
  transition: .3s;
  text-align: center;
  position: relative;
  font-weight: 500;
  letter-spacing: 0.05em;
  font: 1.7rem/60px dnp-shuei-gothic-kin-std, sans-serif;
  display: block;
  width: 295px;
  height: 60px;
  background-color: #77FBCC;
  border-radius: 50px;
  margin: 0 auto;
  padding: 0 20px 0 0; }
  .close:before {
    content: "×";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font: 1.6rem/30px dnp-shuei-gothic-kin-std, sans-serif;
    text-align: center;
    transition: 0.3s;
    width: 30px;
    height: 30px;
    display: block;
    background-color: #fff;
    border-radius: 50%; }

.accordion_title,
.close {
  cursor: pointer; }

@media (hover: hover) {
  .close:hover {
    background-color: #3FF4B4; } }
@media (max-width: 480px) {
  .close_btm {
    margin-bottom: 40px !important; }

  .close {
    font: 1.4rem/50px dnp-shuei-gothic-kin-std, sans-serif;
    font-weight: 500;
    width: 245px;
    height: 50px;
    padding: 0 20px 0 0;
    margin: 0 auto 0; }
    .close:before {
      font: 1.6rem/28px dnp-shuei-gothic-kin-std, sans-serif;
      width: 28px;
      height: 28px; }

  .accordion_title,
  .close {
    cursor: pointer; } }
/*max-width:480px*/
/**********************************/
@media (max-width: 1280px) {
  .humanities .programs .accordion_flex {
    display: flex;
    flex-direction: column; }
    .humanities .programs .accordion_flex .txt {
      order: 1;
      margin: 0; }
    .humanities .programs .accordion_flex .number {
      order: 2;
      margin-bottom: 40px; }
    .humanities .programs .accordion_flex .accordion_dl {
      order: 3; }
    .humanities .programs .accordion_flex h5 {
      order: 4; }
    .humanities .programs .accordion_flex .flex_dl {
      order: 5;
      margin-bottom: 30px; }
    .humanities .programs .accordion_flex .img {
      order: 6; } }
/*max-width:1280px*/
@media (max-width: 480px) {
  .humanities .programs .accordion_flex .number {
    margin-bottom: 30px; }
  .humanities .programs .accordion_flex .flex_dl {
    margin-bottom: 30px; } }
/*max-width:480px*/
/**********************************/
/*max-width:480px*/
/**********************************/
@media (max-width: 1280px) {
  .medicine .programs .accordion_flex {
    display: flex;
    flex-direction: column; }
  .medicine .programs .accordion_flex .txt {
    order: 1; }
    .medicine .programs .accordion_flex .txt p.b_block:last-of-type {
      margin: 0; }
  .medicine .programs .accordion_flex h5 {
    order: 2; }
  .medicine .programs .accordion_flex > p.b_block {
    order: 3; }
  .medicine .programs .accordion_flex .flex_dl {
    order: 4;
    margin: 0 auto 20px; }
  .medicine .programs .accordion_flex .last {
    order: 5;
    margin-bottom: 30px; }
  .medicine .programs .accordion_flex .img {
    order: 6; } }
/*max-width:1280px*/
