@charset "UTF-8";
/* placeholder color */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@500;600&display=swap");
/**********************************************************************************************

　全体

**********************************************************************************************/
#wrap {
  font-size: 1.5rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  overflow: hidden; }
  @media (min-width: 751px) {
    #wrap {
      min-width: 1024px; } }
  @media (max-width: 750px) {
    #wrap {
      font-size: 2.93vw; } }

img[src$=".svg"] {
  width: 100%; }

/* common */
img {
  max-width: 100%;
  height: auto; }

.inner {
  max-width: 840px;
  margin: auto;
  position: relative;
  z-index: 2; }

.graduate-inner-2024{
	display:flex;
	justify-content: space-between;
  margin: 50px auto;
}
  @media (max-width: 750px) {
	  .graduate-inner-2024{
		  display:block;
      margin: 6vw auto;
	  }
	  .graduate-inner-2024 a{
		  width:64vw;
		  display:block;
		  margin:10.67vw auto 0;
	  }
	  .inner {
		  max-width: 90vw; } 
}
main {
  display: block;
  position: relative; }
  @media (max-width: 750px) {
    main {
      display: block !important;
      padding: 0;
      margin: 21vw 0 0; } }

@media (min-width: 751px) {
  .fadelink {
    transition: .4s opacity; }
    .fadelink:hover {
      opacity: 0.6; } }

.bold {
  font-weight: 700; }

.mincho {
  font-family: 'Noto Serif JP', serif; }

.pagetop {
  position: fixed;
  display: none;
  z-index: 1000; }
  @media (min-width: 751px) {
    .pagetop {
      width: 88px;
      height: 88px;
      right: 30px;
      bottom: 30px; } }
  @media (max-width: 750px) {
    .pagetop {
      width: 11vw;
      height: 11vw;
      right: 5vw;
      bottom: 30px; } }
  .pagetop a {
    display: block;
    background: #62B47D;
    border-radius: 50%;
    height: 100%;
    width: 100%; }
    @media (min-width: 751px) {
      .pagetop a {
        transition: .4s; } }
    @media (min-width: 751px) {
      .pagetop a:hover {
        background: #0070C0;
        transform: translateY(-10px);
        opacity: 1; } }
    .pagetop a::after {
      content: "";
      background: url("../img/common/returntop_btn.svg") no-repeat;
      background-size: contain;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      @media (min-width: 751px) {
        .pagetop a::after {
          width: 33px;
          height: 54px;
          transition: .4s; } }
      @media (max-width: 750px) {
        .pagetop a::after {
          width: 4.5vw;
          height: 7.2vw; } }
  .pagetop.is-abs {
    position: absolute;
    bottom: 90%; }
    @media (max-width: 750px) {
      .pagetop.is-abs {
        bottom: 93%; } }

@media (min-width: 751px) {
  .u-sp {
    display: none !important; }

  a[href^="tel:"] {
    pointer-events: none; } }
@media (max-width: 750px) {
  .u-pc {
    display: none !important; } }
/**********************************************************************************************

　header

**********************************************************************************************/
@media (max-width: 750px) {
  header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3000;
    background: #fff;
    width: 100%; } }
header::after {
  background: url("../img/common/header_bg.png") no-repeat top left;
  background-size: contain;
  width: 157px;
  height: 38px;
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0; }
  @media (max-width: 750px) {
    header::after {
      width: 23vw;
      height: 6vw; } }

.head_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px;
  border-bottom: 3px solid #0070C0;
  position: relative;
  background: url("../img/common/head_bg.jpg") no-repeat center center;
  background-size: cover; }
  @media (max-width: 750px) {
    .head_flex {
      padding: 5vw;
      border-width: 2px; } }

.head_item {
  display: flex;
  align-items: center; }

.head_logo, .foot_logo {
  width: 129px;
  margin: 0 30px 0 0; }
  @media (max-width: 750px) {
    .head_logo, .foot_logo {
      width: 22.6vw;
      margin: 0 4vw 0 0; } }

.head_tit, .foot_tit {
  font-weight: 600;
  color: #0070C0;
  font-size: 2.6rem;
  background: #0070C0;
  color: #fff;
  padding: 0 30px; }
  @media (max-width: 750px) {
    .head_tit, .foot_tit {
      font-size: 4vw;
      padding: 0 4vw; } }

.head_contact, .foot_contact {
  text-align: right;
  font-weight: 400;
  font-size: 1.2rem; }
  @media (max-width: 750px) {
    .head_contact, .foot_contact {
      text-align: left;
      font-size: 2.93vw;
      padding: 4vw 8vw 8vw;
      line-height: 1.6;
      animation-name: fadeIn;
      animation-timing-function: ease-out;
      animation-duration: 1s;
      animation-fill-mode: forwards;
      opacity: 0;
      animation-delay: 1.6s; } }

.head_contactBtn, .foot_contactBtn {
  background: #62B47D;
  border-radius: 100px;
  color: #fff;
  padding: 5px 20px;
  font-weight: 700;
  margin: 0 0 10px;
  display: inline-block;
  font-size: 1.7rem;
  transition: .4s; }
  @media (min-width: 751px) {
    .head_contactBtn:hover, .foot_contactBtn:hover {
      background: #0070C0;
      opacity: 1; } }
  @media (max-width: 750px) {
    .head_contactBtn, .foot_contactBtn {
      display: block;
      width: 66.7vw;
      padding: 4vw;
      font-size: 3.73vw;
      text-align: center;
      margin: 5.3vw auto 0; } }

.head_contact_list, .foot_contact_list {
  display: flex;
  justify-content: flex-end; }
  @media (max-width: 750px) {
    .head_contact_list, .foot_contact_list {
      justify-content: flex-start;
      flex-wrap: wrap; } }
  .head_contact_list li:not(:last-child), .foot_contact_list li:not(:last-child) {
    margin: 0 1em 0 0; }

.head_contact_link a {
  transition: .2s; }
  @media (min-width: 751px) {
    .head_contact_link a:hover {
      opacity: 1;
      color: #0070C0; } }

@media (min-width: 751px) {
  .headNav {
    display: block !important;
    height: auto !important; } }
@media (max-width: 750px) {
  .headNav {
    display: none;
    position: absolute;
    top: 100%;
    background: #0070C0;
    color: #fff;
    z-index: 9999;
    width: 100%;
    overflow: auto; } }

.headNav_inner {
  max-width: 1024px;
  margin: auto; }

.headNav_list {
  display: flex;
  justify-content: space-between;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.3; }
  @media (max-width: 750px) {
    .headNav_list {
      display: block;
      text-align: left;
      font-size: 3.46vw; } }
  .headNav_list > li {
    flex-grow: 1; }
    @media (max-width: 750px) {
      .headNav_list > li {
        border-bottom: 1px solid #fff; }
        .headNav_list > li:nth-child(1) a {
          animation-delay: .2s; }
        .headNav_list > li:nth-child(2) a {
          animation-delay: .3s; }
        .headNav_list > li:nth-child(3) a {
          animation-delay: .4s; }
        .headNav_list > li:nth-child(4) a {
          animation-delay: .5s; }
        .headNav_list > li:nth-child(5) a {
          animation-delay: .6s; }
        .headNav_list > li:nth-child(6) a {
          animation-delay: .7s; }
        .headNav_list > li:nth-child(7) a {
          animation-delay: .8s; }
        .headNav_list > li:nth-child(8) a {
          animation-delay: .9s; }
        .headNav_list > li:nth-child(9) a {
          animation-delay: 1s; } }
    .headNav_list > li > a {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100%;
      padding: 15px 0;
      transition: .2s;
      width: 100%;
      position: relative; }
      @media (max-width: 750px) {
        .headNav_list > li > a {
          display: block;
          padding: 4vw 8vw;
          animation-name: menufadeIn;
          animation-timing-function: ease-out;
          animation-duration: 1s;
          animation-fill-mode: forwards;
          opacity: 0; }
          .headNav_list > li > a::after {
            content: "";
            display: block;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 1.46vw 0 1.46vw 2.4vw;
            border-color: transparent transparent transparent #fff;
            position: absolute;
            top: 50%;
            right: 5.3vw;
            transform: translateY(-50%); } }
      @media (min-width: 751px) {
        .headNav_list > li > a:hover {
          color: #0070C0;
          opacity: 1; } }

.headNav_list_item {
  position: relative; }
  .headNav_list_item:hover .headNav_subList {
    visibility: visible;
    opacity: 1; }

.headNav_subList {
  transition: .4s;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 100;
  visibility: hidden;
  opacity: 0; }
  @media (max-width: 750px) {
    .headNav_subList {
      position: static; } }
  .headNav_subList li:not(:last-child) {
    border-bottom: 1px solid #fff; }
  .headNav_subList a {
    padding: 10px;
    display: block;
    background: #0070C0;
    color: #fff; }

.menuBtn,
.menuBtn span {
  display: inline-block;
  transition: all .4s;
  cursor: pointer;
  z-index: 1000; }

.menuBtn {
  width: 8vw;
  height: 5.3vw;
  top: 50%;
  right: 0;
  position: relative; }
  .menuBtn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #0070C0; }
    .menuBtn span:nth-of-type(1) {
      top: 0; }
    .menuBtn span:nth-of-type(2) {
      top: calc(50% - 1px); }
    .menuBtn span:nth-of-type(3) {
      bottom: 0; }
  .menuBtn.active span:nth-of-type(1) {
    transform: translateY(2.5vw) rotate(-45deg); }
  .menuBtn.active span:nth-of-type(2) {
    opacity: 0; }
  .menuBtn.active span:nth-of-type(3) {
    transform: translateY(-2.4vw) rotate(45deg); }

/**********************************************************************************************

　footer

**********************************************************************************************/
footer {
  position: relative; }
  footer::before {
    content: "";
    display: block;
    width: 100%;
    background: url("../img/common/footer_bg.png") no-repeat;
    background-size: 100% 100%;
    padding-top: 19.5%;
    position: absolute;
    bottom: calc(100% - 1px);
    left: 0; }
    @media (max-width: 750px) {
      footer::before {
        padding-top: 25.5%; } }

.foot_inner {
  max-width: 1024px;
  margin: auto; }

.foot_top {
  padding: 24vw 0 0;
  background: url("../img/common/foot_bg.png") no-repeat top center;
  background-size: cover; }
  @media (max-width: 1024px) {
    .foot_top {
      padding: 260px 0 0; } }
  @media (max-width: 750px) {
    .foot_top {
      background: url("../img/common/foot_bg_sp.png") no-repeat top center;
      background-size: cover;
      padding: 42vw 0 0; } }

.foot_content {
  padding: 30px 0 40px;
  background: #E5F1F9;
  position: relative;
  z-index: 20; }
  @media (max-width: 750px) {
    .foot_content {
      padding: 9.3vw 5.3vw 13.3vw; } }

.foot_name {
  color: #fff;
  opacity: 0.75;
  font-size: 8.9rem;
  text-align: right;
  line-height: 1; }
  @media (max-width: 750px) {
    .foot_name {
      font-size: 14vw;
      text-align: center; } }

.footNav {
  margin: 0 0 40px; }
  @media (max-width: 750px) {
    .footNav {
      margin: 0 0 2.6vw; } }

.footNav_list {
  display: flex;
  justify-content: center;
  font-size: 1.5rem;
  text-align: center;
  line-height: 1.2;
  font-weight: 400; }
  @media (max-width: 750px) {
    .footNav_list {
      font-size: 2.93vw;
      flex-wrap: wrap; } }
  .footNav_list li {
    flex-grow: 1; }
    @media (max-width: 750px) {
      .footNav_list li {
        width: 33%;
        margin: 0 0 6.6vw;
        border-right: 1px solid #000; } }
    .footNav_list li:not(:last-child) {
      border-right: 1px solid #000; }
    @media (max-width: 750px) {
      .footNav_list li:nth-child(3n + 1) {
        border-left: 1px solid #000; } }
  .footNav_list a {
    padding: 0 20px;
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    transition: .2s; }
    @media (max-width: 750px) {
      .footNav_list a {
        padding: 0; } }
    @media (min-width: 751px) {
      .footNav_list a:hover {
        opacity: 1;
        color: #0070C0; } }

.foot_flex {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  @media (max-width: 750px) {
    .foot_flex {
      display: block; } }

.foot_item {
  display: flex;
  align-items: center; }

@media (max-width: 750px) {
  .foot_contact {
    display: flex;
    flex-direction: column-reverse;
    padding: 0;
    margin: 5.3vw 0 0; } }

.foot_contact_list li:not(:last-child) {
  margin: 0 1em 0 0; }

.foot_contact_link a {
  transition: .2s; }
  @media (min-width: 751px) {
    .foot_contact_link a:hover {
      opacity: 1;
      color: #0070C0; } }

.copyright {
  font-size: 1.2rem;
  font-weight: 400;
  display: block;
  background: #0070C0;
  color: #fff;
  text-align: center;
  padding: 15px 0; }