@charset "UTF-8";

/*---------------------------
/* arrow
---------------------------*/
.link-arrow {
  position: absolute;
  right: 80px;
  bottom: 80px;
}

.arrow-icon {
  position: absolute;
  width: 50px;
  height: 50px;
  border-radius: 100vh;
  background-color: var(--color-white);
}

.arrow-icon::before,
.arrow-icon::after {
	position: absolute;
	content: '';
  border-radius: 1px;
}

.arrow-l::before{
  top: 50%;
	left: 50%;
	width: 15px;
	height: 2px;
	background: var(--color-blue);
	-webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.arrow-l::after{
  top: 54%;
	left: 45%;  
	width: 10px;
	height: 10px;
  border-style: unset;
	border-top: 2px solid  var(--color-blue);
	border-right: 2px solid  var(--color-blue);
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translateX(-50%, -50%);
}

/*---------------------------
/* modaal
---------------------------*/
.modal { display: none; }

.modaal-container {
  width: min(90%,300px)!important;
  border-radius: 10px!important;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before { background: var(--color-blue)!important; }

.modal_title {
  font-size: var(--f18-size);
  text-align: center;
  color: var(--color-black);
}

.modal_menu {
	margin-top: 20px;
}

.modal_menu li {
	position: relative;
	margin: 0.4em 0;
	font-size: var(--f16-size);
  text-align: center;
	letter-spacing: 0;
	vertical-align: top;
}

.modal_menu li a {
	display: block;
	padding: 0.5em 1em;
	font-weight: bold;
  background-color: var(--color-blue);
  color: var(--color-white);
}

.modal_menu .recruit_btn a {
  padding: 0;
  border: var(--color-lightgray) 1px solid;
	background-color: var(--color-white);
}

.modal_menu li.graduate__btn a {
  background-color: var(--color-gradation);
}

.modal_menu li a::after {
	position: absolute;
	content: '';
	top: 50%;
	right: 0.8em;
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--color-white);
  border-right: 1px solid var(--color-white);
  -webkit-transform: rotate(45deg) translate(-50%, -50%);
  transform: rotate(45deg) translate(-50%, -50%);
  transform-origin: 50%;
}

.modal_menu .recruit_btn a::after {
  display: none;
}

/*---------------------------
/* ENTRY
---------------------------*/
.entry {
  padding: 30px;
  background: var(--gradation1);
}

.entry a[target=_blank] {
	background: none;
}

.entry-title {
  margin-bottom: 20px;
  font-family: var(--font-mincho);
  font-size: var(--f36-size);
  text-align: center;
  text-transform: uppercase;
  color: var(--color-white);
}

.entry-list li {
  margin-top: 10px;
}

.entry-list li img {
  width: 100%;
}

/*---------------------------
/* アコーディオン
---------------------------*/
.accordion-section__inner {
  margin-top: 20px;
  background-color: var(--color-babyblue);
  overflow: hidden;
}

.accordion-area {
  width: min(100%,960px);
  margin: 40px auto;
  padding: 0 20px;
  counter-reset: number 0;
}

.accordion-area li {
  margin: 10px 0;
}

.accordion-area span {
  margin-right: 20px;
  font-size: var(--f24-size);
  font-weight: bold;
  color: var(--color-blue);
}

.accordion_ttl {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  margin: 0;
  padding: 25px 60px 25px 25px;
  background-color: var(--color-white);
  color: var(--color-blue);
}

.accordion_ttl h2 {
  font-size: var(--f20-size);
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-blue);
}

.accordion_ttl::before,
.accordion_ttl::after{
	position: absolute;
	content:'';
	width: 20px;
	height: 2px;
	background-color: var(--color-blue);
  transition: all .5s ease;
}

.accordion_ttl::before{
	top: 50%;
	right: 25px;
	transform: rotate(0deg);
}

.accordion_ttl::after{
	top: 50%;
	right: 25px;
	transform: rotate(90deg);
}

.accordion_ttl.close::before{ transform: rotate(45deg); }
.accordion_ttl.close::after{ transform: rotate(-45deg); }

.accordion_box {
	display: none;
}

.accordion_box p {
	padding: 20px;
}

/*---------------------------
/* 戻るボタン
---------------------------*/
.return-top__btn {
  width: fit-content;
  margin: 0 auto 60px auto;
  text-align: center;
  background-color: var(--color-blue);
}

.return-top__btn a {
  display: block;
  padding: 8px 20px;
  color: var(--color-white);
}


/* 768px〜（スマホ＆タブレット用）
---------------------------*/
@media (min-width: 768px) {
  /* ENTRY */
  .entry {
    padding: 30px 0 40px 0;
  }

  .entry-title {
    margin-bottom: 20px;
  }

  .entry-list  {
    display: flex;
    flex-wrap: wrap;
    width: calc(100% - 40px);
    justify-content: space-between;
    margin: 0 auto;
    padding: 0;
  }

  /* 3つボタン設定 */
  .entry-list li,
  .entry-list.btn3 li {
    width: calc(100% / 3 - 10px);
    margin-top: 0;
  }

  /* 2つボタン設定 */
  .entry-list.btn2 li {
    width: calc(100% / 2 - 10px);
    margin-top: 0;
  }

  .entry-list.btn2 li:nth-child(n+3) {
    margin-top: 20px;
  }

  .entry-list.btn3 li:nth-child(n+4) {
    margin-top: 15px;
  }

  .entry-list::after{
    content:"";
    display: block;
    width: calc(100% / 3 - 10px);
  }

}


/* 960px〜（タブレット＆PC用）
---------------------------*/
@media (min-width: 960px) {
  /* ENTRY */
  .entry {
    padding: 60px 0 80px 0;
  }

  .entry-title {
    margin-bottom: 20px;
  }

  .entry-list  {
    width: min(100%,960px);
  }

  .entry-list.btn2  {
    width: min(100%,740px);
  }

/* アコーディオン
----------------*/
  .accordion-section__inner {
    margin-top: 40px;
  }

  .accordion-area {
    margin: 80px auto;
    padding: 0;
  }

  .accordion_ttl {
    cursor: auto;
  }

/* 戻るボタン
----------------*/
  .return-top__btn {
    margin: 0 auto 80px auto;
  }
}