@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Fjalla+One&display=swap");

/*--- float ----------*/

.flL {
  float: left;
}
.flR {
  float: right;
}
.ft12 {
  font-size: 12px !important;
}
.ft14 {
  font-size: 14px !important;
}

/*--- font-size ----------

.ft10 { font-size: 10px !important; }
.ft11 { font-size: 11px !important; }

.ft13 { font-size: 13px !important; }
.ft15 { font-size: 15px !important; }
.ft16 { font-size: 16px !important; }
.ft17 { font-size: 17px !important; }
.ft18 { font-size: 18px !important; }
.ft19 { font-size: 19px !important; }
.ft20 { font-size: 20px !important; }
.ft21 { font-size: 21px !important; }
.ft22 { font-size: 22px !important; }
.ft23 { font-size: 23px !important; }
.ft24 { font-size: 24px !important; }
.ft25 { font-size: 25px !important; }
.ft30 { font-size: 30px !important; }
.ft35 { font-size: 35px !important; }
.ft40 { font-size: 40px !important; }
.ft45 { font-size: 45px !important; }
.ft50 { font-size: 50px !important; }
*/

/*--- color ----------*/

.clrRed {
  color: #f44336 !important;
}
.clrPink {
  color: #e91e63 !important;
}
.clrOrange {
  color: #ff5722 !important;
}
.clrYellow {
  color: #ffc107 !important;
}
.clrLime {
  color: #8bc304 !important;
}
.clrGreen {
  color: #4caf50 !important;
}
.clrCyan {
  color: #00bcd4 !important;
}
.clrBlue {
  color: #1976d2 !important;
}
.clrNavy {
  color: #303f9f !important;
}
.clrPurple {
  color: #9c27b0 !important;
}
.clrBrown {
  color: #5d4037 !important;
}
.clrBlack {
  color: #000000 !important;
}
.clrWhite {
  color: #ffffff !important;
}
.clrGray {
  color: #9e9e9e !important;
}

/*--- font-weight ----------*/

.ftB {
  font-weight: bold;
}
.ftN {
  font-weight: normal !important;
}

/*--- text-align ----------*/

.txL {
  text-align: left;
}
.txC {
  text-align: center;
}
.txR {
  text-align: right;
}

/*--- 中央配置 ----------*/

.mgC {
  margin-right: auto !important;
  margin-left: auto !important;
}

/*--- 上 ----------*/

.mgT0 {
  margin-top: 0px !important;
}
.mgT5 {
  margin-top: 5px !important;
}
.mgT10 {
  margin-top: 10px !important;
}
.mgT15 {
  margin-top: 15px !important;
}
.mgT20 {
  margin-top: 20px !important;
}
.mgT25 {
  margin-top: 25px !important;
}
.mgT30 {
  margin-top: 30px !important;
}
.mgT40 {
  margin-top: 40px !important;
}
.mgT50 {
  margin-top: 50px !important;
}
.pdT0 {
  padding-top: 0px !important;
}
.pdT5 {
  padding-top: 5px !important;
}
.pdT10 {
  padding-top: 10px !important;
}
.pdT15 {
  padding-top: 15px !important;
}
.pdT20 {
  padding-top: 20px !important;
}
.pdT25 {
  padding-top: 25px !important;
}
.pdT30 {
  padding-top: 30px !important;
}
.pdT40 {
  padding-top: 40px !important;
}
.pdT50 {
  padding-top: 50px !important;
}

/*--- 右 ----------*/

.mgR0 {
  margin-right: 0px !important;
}
.mgR10 {
  margin-right: 10px !important;
}
.mgR15 {
  margin-right: 15px !important;
}
.mgR20 {
  margin-right: 20px !important;
}
.mgR25 {
  margin-right: 25px !important;
}
.mgR30 {
  margin-right: 30px !important;
}
.mgR40 {
  margin-right: 40px !important;
}
.mgR50 {
  margin-right: 50px !important;
}
.pdR0 {
  padding-right: 0px !important;
}
.pdR5 {
  padding-right: 5px !important;
}
.pdR10 {
  padding-right: 10px !important;
}
.pdR15 {
  padding-right: 15px !important;
}
.pdR20 {
  padding-right: 20px !important;
}
.pdR25 {
  padding-right: 25px !important;
}
.pdR30 {
  padding-right: 30px !important;
}
.pdR40 {
  padding-right: 40px !important;
}
.pdR50 {
  padding-right: 50px !important;
}

/*--- 左 ----------*/

.mgL0 {
  margin-left: 0px !important;
}
.mgL10 {
  margin-left: 10px !important;
}
.mgL15 {
  margin-left: 15px !important;
}
.mgL20 {
  margin-left: 20px !important;
}
.mgL25 {
  margin-left: 25px !important;
}
.mgL30 {
  margin-left: 30px !important;
}
.mgL40 {
  margin-left: 40px !important;
}
.mgL50 {
  margin-left: 50px !important;
}
.pdL0 {
  padding-left: 0px !important;
}
.pdL5 {
  padding-left: 5px !important;
}
.pdL10 {
  padding-left: 10px !important;
}
.pdL15 {
  padding-left: 15px !important;
}
.pdL20 {
  padding-left: 20px !important;
}
.pdL25 {
  padding-left: 25px !important;
}
.pdL30 {
  padding-left: 30px !important;
}
.pdL40 {
  padding-left: 40px !important;
}
.pdL50 {
  padding-left: 50px !important;
}

/*--- 下 ----------*/

.mgB0 {
  margin-bottom: 0px !important;
}
.mgB5 {
  margin-bottom: 5px !important;
}
.mgB10 {
  margin-bottom: 10px !important;
}
.mgB15 {
  margin-bottom: 15px !important;
}
.mgB20 {
  margin-bottom: 20px !important;
}
.mgB25 {
  margin-bottom: 25px !important;
}
.mgB30 {
  margin-bottom: 30px !important;
}
.mgB40 {
  margin-bottom: 40px !important;
}
.mgB50 {
  margin-bottom: 50px !important;
}
.pdB0 {
  padding-bottom: 0px !important;
}
.pdB5 {
  padding-bottom: 5px !important;
}
.pdB10 {
  padding-bottom: 10px !important;
}
.pdB15 {
  padding-bottom: 15px !important;
}
.pdB20 {
  padding-bottom: 20px !important;
}
.pdB25 {
  padding-bottom: 25px !important;
}
.pdB30 {
  padding-bottom: 30px !important;
}
.pdB40 {
  padding-bottom: 40px !important;
}
.pdB50 {
  padding-bottom: 50px !important;
}

/*--- 上下 ----------*/

.mgTB0 {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}
.mgTB5 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}
.mgTB10 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}
.mgTB15 {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}
.mgTB20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}
.mgTB20 {
  margin-top: 25px !important;
  margin-bottom: 25px !important;
}
.mgTB30 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}
.mgTB40 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}
.mgTB50 {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}
.pdTB0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}
.pdTB5 {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}
.pdTB10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.pdTB15 {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}
.pdTB20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}
.pdTB25 {
  padding-top: 25px !important;
  padding-bottom: 25px !important;
}
.pdTB30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}
.pdTB40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}
.pdTB50 {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

/*--- 左右 ----------*/

.mgLR0 {
  margin-left: 0px !important;
  margin-right: 0px !important;
}
.mgLR10 {
  margin-left: 10px !important;
  margin-right: 10px !important;
}
.mgLR15 {
  margin-left: 15px !important;
  margin-right: 15px !important;
}
.mgLR20 {
  margin-left: 20px !important;
  margin-right: 20px !important;
}
.mgLR25 {
  margin-left: 25px !important;
  margin-right: 25px !important;
}
.mgLR30 {
  margin-left: 30px !important;
  margin-right: 30px !important;
}
.mgLR40 {
  margin-left: 40px !important;
  margin-right: 40px !important;
}
.mgLR50 {
  margin-left: 50px !important;
  margin-right: 50px !important;
}
.pdLR0 {
  padding-left: 0px !important;
  padding-right: 0px !important;
}
.pdLR5 {
  padding-left: 5px !important;
  padding-right: 5px !important;
}
.pdLR10 {
  padding-left: 10px !important;
  padding-right: 10px !important;
}
.pdLR15 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}
.pdLR20 {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.pdLR25 {
  padding-left: 25px !important;
  padding-right: 25px !important;
}
.pdLR30 {
  padding-left: 30px !important;
  padding-right: 30px !important;
}
.pdLR40 {
  padding-left: 40px !important;
  padding-right: 40px !important;
}
.pdLR50 {
  padding-left: 50px !important;
  padding-right: 50px !important;
}

/*--- 全体 ----------*/

.mgA0 {
  margin: 0px !important;
}
.mgA10 {
  margin: 10px !important;
}
.mgA15 {
  margin: 15px !important;
}
.mgA20 {
  margin: 20px !important;
}
.mgA25 {
  margin: 25px !important;
}
.mgA30 {
  margin: 30px !important;
}
.mgA40 {
  margin: 40px !important;
}
.mgA50 {
  margin: 50px !important;
}
.pdA0 {
  padding: 0px !important;
}
.pdA5 {
  padding: 5px !important;
}
.pdA10 {
  padding: 10px !important;
}
.pdA15 {
  padding: 15px !important;
}
.pdA20 {
  padding: 20px !important;
}
.pdA25 {
  padding: 25px !important;
}
.pdA30 {
  padding: 30px !important;
}
.pdA40 {
  padding: 40px !important;
}
.pdA50 {
  padding: 50px !important;
}

/*--- float ----------*/

.flL {
  float: left;
}
.flR {
  float: right;
}
.flLPc {
  float: left;
}
.flRPc {
  float: right;
}
@media screen and (max-width: 767px) {
  .flLPc,
  .flRPc {
    float: none;
  }
}

/*--- float（画像のfloat） ----------*/

.flImgL {
  float: left;
  margin-right: 10px;
}
.flImgR {
  float: right;
  margin-left: 10px;
}
.flImgLPc {
  float: left;
  margin-right: 10px;
}
.flImgRPc {
  float: right;
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .flImgLPc,
  .flImgRPc {
    float: none;
    margin: 0 0 10px 0;
    width: 100%;
  }
}

/* ----------------------------------------------
　11. clearfix
---------------------------------------------- */

.clear {
  clear: both;
  _zoom: 1;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
}

/*--- cssハック ----------*/

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.clearfix {
  display: inline-block;
}

/*--- hides IE-mac \ ----------*/

*html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}

/*--- hide  IE-mac ----------*/

.course_content {
  margin-top: 0;
  margin-bottom: 5%;
}

.course_content img {
  max-width: 100%;
}

/* Common */
h1,
h2,
h3,
h4,
h5,
h6 {
  /*
	font-weight: 700
	*/
}

article {
  overflow-x: hidden;
}

small {
  font-size: smaller;
}

:root {
  --main-color: #fff600;
}

section:last-child {
  padding-bottom: 0;
}

@media print, screen and (min-width: 768px) {
  section {
    padding: 6em 0;
  }
}

@media screen and (max-width: 767px) {
  section {
    padding: 3em 0;
  }
  .inner {
    font-size: small;
  }
}

.inner {
  margin: auto;
  max-width: 1200px;
  width: 96%;
}

.notes::before {
  color: red;
  content: "※";
  font-weight: 800;
  padding-right: 0.25em;
}

mark {
  background: linear-gradient(transparent 60%, #fff 60%);
}
.contents .course_content a {
  background: var(--main-color);
  color: #000;
  display: block;
  font-weight: bold;
  line-height: normal;
  padding: 0.5em 0;
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: 0.3s linear;
  transition-property: all;
}
.contents .course_content a::after {
  content: "\f054";
  font: 900 100% "Font Awesome 5 Free";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%); /* Safari用 */
  transform: translateY(-50%);
}
@media print, screen and (min-width: 769px) {
  .contents a {
    width: 50%;
  }
  .contents .course_content a {
    width: 100%;
  }
  .contents .course_content a::after {
    right: 5%;
  }
}
@media screen and (max-width: 768px) {
  .contents .course_content a {
    padding: 1em 0;
  }
  .contents .course_content a::after {
    right: 1.5%;
  }
}

.contents .course_content a:hover {
  opacity: 0.7;
}

@media print, screen and (min-width: 768px) {
  .inner {
    font-size: medium;
  }
}
/*
.contents p a{
	background: var(--main-color);
	color: #000;
	display: block;
	font-weight: bold;
	line-height: normal;
	padding: 1em 0;
	position: relative;
	text-align: center;
	text-decoration: none;
	transition: 0.3s linear;
	transition-property: all;
}

.contents p a::after {
	content: "\f054";
	font: 900 100% "Font Awesome 5 Free";
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	/* Safari用 
	transform: translateY(-50%);
}

@media print,screen and (min-width:768px){

	.contents p a::after {
		right: 5%
	}

}

@media screen and (max-width:767px){

	.contents .course_content a::after {
		right: 1.5%
	}

}

.contents .course_content a:hover {
	opacity: .7
}
*/
@media (max-width: 1023px) {
  .l-content__lead-heading {
    text-align: center;
  }
}

.l-content__lead {
  padding-bottom: 30px;
}

.bnr_area {
  margin: 0 auto;
  max-width: 780px;
}
.bnr_area a:hover {
  transition: 0.8s;
}

.bnr_area a:hover {
  opacity: 0.7;
}

.contents .anchor a {
  background: #fff;
}

.contents .anchor a::after {
  color: #110074;
  content: "\f078";
}
.course_details a {
  transition: 0.8s;
}

.course_details a:hover {
  opacity: 0.8;
}

/* decoration */
.contents h1 {
  display: none !important;
}

@media print, screen and (min-width: 768px) {
  .br\@sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .ready_to_content h2,
  .course_content h2 {
    padding-left: 1.8em;
    position: relative;
  }

  .ready_to_content h2::before,
  .course_content h2::before {
    background: url(img/arrow_black.svg) left top / contain no-repeat;
    content: "";
    height: 240%;
    left: 1em;
    position: absolute;
    top: -150%;
    width: 5%;
  }
}

.request_content h2,
.see_data_content h2 {
  border-bottom: solid 4px #000;
  border-top: solid 4px #000;
  padding: 0.5em;
}
.request_content h2 {
  margin-bottom: 4em;
}
@media print, screen and (min-width: 768px) {
  .request_content {
    padding: 6em 0 15em;
  }
}
@media screen and (max-width: 767px) {
  .request_content {
    padding: 3em 0 7em;
  }
}

/* heading_content */
.heading_content {
  font-size: 0;
  text-align: center;
}

/* ready_to_content */
.ready_to_content {
  background-color: #dfdcce;
}

.ready_to_content .anchor ul {
  margin: auto;
}

@media print, screen and (min-width: 768px) {
  .ready_to_content {
    background-image: url(img/ready_to_before.png), url(img/ready_to_after.png);
    background-position: 10% 70%, 100% 100%;
    background-repeat: no-repeat, no-repeat;
  }

  .ready_to_content .anchor ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 70%;
  }

  .ready_to_content .anchor ul li {
    width: calc(96% / 2);
  }

  .ready_to_content .anchor ul li:not(:nth-child(even)) {
    margin-right: 4%;
  }

  .ready_to_content .anchor ul li:not(:last-child) {
    margin-bottom: 3.5%;
  }
}

@media screen and (max-width: 767px) {
  .ready_to_content {
    background-image: url(img/ready_to_before.png),
      url(img/ready_to_after@sp.png);
    background-position: 0% 100%, 120px 100%;
    background-repeat: no-repeat, no-repeat;
    background-size: 38%, 100%;
    padding-bottom: 17.25em;
  }

  .ready_to_content .anchor ul li:not(:last-child) {
    margin-bottom: 4%;
  }
}

/* Q AND A */
.qAndA {
  background: #f9f9f9;
}
.qAndA dl {
  align-items: center;
  background: #fff;
  border-radius: 1em;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 3em;
}
.qAndA dl:not(:last-child) {
  margin-bottom: 3em;
}
.qAndA dl dd h3 {
  border-bottom: 2px solid #333;
  font-size: larger;
  margin-bottom: 1em;
  padding-left: 4em;
  position: relative;
  text-align: left;
}
.qAndA dl dd h3::before {
  bottom: -0.15em;
  color: var(--main-color);
  content: "Q";
  font-size: 7rem;
  left: 0;
  position: absolute;
}

.qAndA dl dd strong {
  background: linear-gradient(transparent 60%, var(--main-color) 60%);
  font-weight: 700;
}
.qAndA dl dd figure figcaption {
  font-size: small;
}
@media print, screen and (min-width: 768px) {
  .qAndA dl dd:first-child {
    width: 55%;
  }
  .qAndA dl dd:last-child {
    width: 35%;
  }

  .qAndA dl:last-child dd .event_btn {
    width: 50%;
  }
  .qAndA dl dd figure figcaption {
    padding: 0.5em 0 0 1.75em;
  }
}
@media screen and (max-width: 767px) {
  .qAndA dl dd:not(:last-child) {
    margin-bottom: 1em;
  }
  .qAndA dl:first-child dd figure picture {
    display: block;
    padding: 0 1.75em;
  }
  .qAndA dl dd figure {
    text-align: center;
  }
  .qAndA dl dd figure figcaption {
    padding: 0.5em 0 0 0;
    text-align: center;
  }
}

/* course_content */
.course_content {
  background-image: url(img/course_bg.png);
  background-repeat: no-repeat;
}

.course_content .heading {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.course_content .heading div:first-child p {
  background: #fff;
  border: 1px dotted #000;
  font-size: small;
  padding: 1.5em;
  position: relative;
}

.course_content .heading div:first-child p::after {
  background: #f8f7f3;
  content: "";
  position: absolute;
  z-index: -1;
}

.course_content .heading div:last-child ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.course_content .heading div:last-child ul li {
  width: calc(96% / 2);
}

.course_content .heading div:last-child ul li:nth-child(even) {
  margin-left: 4%;
}

.course_content .heading div:last-child ul li:not(:last-child) {
  margin-bottom: 6%;
}

.course_content .heading div:last-child ul li a::before {
  bottom: 0;
  content: "";
  position: absolute;
}

.course_content .heading div:last-child ul li:nth-child(1) a::before {
  background: url(img/course_numeral01.png) left top / contain no-repeat;
}

.course_content .heading div:last-child ul li:nth-child(2) a::before {
  background: url(img/course_numeral02.png) left top / contain no-repeat;
}

.course_content .heading div:last-child ul li:nth-child(3) a::before {
  background: url(img/course_numeral03.png) left top / contain no-repeat;
}

.course_content .heading div:last-child ul li:nth-child(4) a::before {
  background: url(img/course_numeral04.png) left top / contain no-repeat;
}

.course_content .heading div:last-child ul li:nth-child(5) a::before {
  background: url(img/course_numeral05.png) left top / contain no-repeat;
}

.course_content .heading div:last-child ul li:nth-child(6) a::before {
  background: url(img/course_numeral06.png) left top / contain no-repeat;
}

.course_content .heading div:last-child ul li:nth-child(7) a::before {
  background: url(img/course_numeral07.png) left top / contain no-repeat;
}

.course_content .heading div:last-child ul li:nth-child(8) a::before {
  background: url(img/course_numeral08.png) left top / contain no-repeat;
}

.course_content .heading div:last-child ul li a::after {
  border-color: #000000 transparent transparent transparent;
  border-style: solid;
  content: "";
  height: 0;
  left: 50%;
  top: 100%;
  -webkit-transform: translateX(-50%);
  /* Safari */
  transform: translateX(-50%);
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .course_content {
    background-size: 50%;
    background-position: 100% 42.5em;
  }

  .course_content .heading {
    padding-bottom: 6em;
  }

  .course_content .heading div:first-child {
    font-size: 1.4rem;
    width: 35%;
  }

  .course_content .heading div:last-child {
    width: 55%;
  }

  .course_content .heading div:first-child p::after {
    height: 420px;
    left: 15%;
    top: -10em;
    width: 510px;
  }

  .course_content .heading div:last-child ul li a::before {
    height: 2em;
    right: 1em;
    width: 4em;
  }

  .course_content .heading div:last-child ul li a::after {
    border-width: 15px 12.5px 0 12.5px;
  }
}

@media screen and (max-width: 767px) {
  .course_content {
    background-size: contain;
    background-position: 100% 30%;
    overflow: hidden;
  }
  .p-top-courses__inner {
    padding-bottom: 10% !important;
  }

  .course_content .heading {
    padding-bottom: 3em;
  }

  .course_content .heading div:first-child {
    padding-bottom: 3em;
  }

  .course_content .heading div:first-child p {
    width: 80%;
  }

  .course_content .heading div:first-child p::after {
    height: 100%;
    right: -30%;
    top: -8em;
    width: 100%;
  }

  .course_content .heading div:last-child ul li:not(:last-child) a {
    /*font-size: .8rem*/
  }

  .course_content .heading div:last-child ul li a::before {
    height: 1.75em;
    right: 0.25em;
    width: 3.5em;
  }

  .course_content .heading div:last-child ul li a::after {
    border-width: 10px 10px 0 10px;
  }
}

.course_content .course_details dl dt {
  position: relative;
}

.course_content .course_details dl dt::before,
.course_content .course_details dl dt::after {
  content: "";
  position: absolute;
}

.course_content .course_details dl dt::before {
  background-repeat: no-repeat;
}

.course_content .course_details dl dt::after {
  background: url(img/arrow_white.svg) no-repeat;
  top: 0;
  width: 5%;
}

.course_content .course_details dl:nth-child(1) dt {
  background: #b69817;
  color: #fff;
}

.course_content .course_details dl:nth-child(1) dt::before {
  /*background-image: url(img/course_numeral01.png);*/
  background-size: 83%;
}

.course_content .course_details dl:nth-child(2) dt {
  background: #0074b1;
  color: #fff;
}

.course_content .course_details dl:nth-child(2) dt::before {
  /*background-image: url(img/course_numeral02.png);*/
  background-size: 83%;
}

.course_content .course_details dl:nth-child(3) dt {
  background: #e95383;
  color: #fff;
}

.course_content .course_details dl:nth-child(3) dt::before {
  /*background-image: url(img/course_numeral03.png);*/
  background-size: 83%;
}

.course_content .course_details dl:nth-child(4) dt {
  background: #0074b1;
  color: #fff;
}
.course_content .course_details dl:nth-child(5) dt {
  background: #582041;
  color: #fff;
}

.course_content .course_details dl:nth-child(4) dt::before {
  /*	background-image: url(img/course_numeral04.png);*/
  background-size: 83%;
}

.course_content .course_details dl dt p {
  font-weight: 700;
}

.course_content .course_details dl dt p:last-child {
  font-size: 0;
}

.course_content .course_details dl dt em {
  display: block;
  font-family: "Fjalla One", sans-serif;
  font-weight: 400;
  font-style: normal;
}

@media print, screen and (min-width: 768px) {
  .course_content .course_details dl:not(:last-child) {
    padding-bottom: 6em;
  }

  .course_content .course_details dl dt {
    display: flex;
    flex-wrap: wrap;
  }

  .course_content .course_details dl:nth-child(odd) dt::before {
    left: 0;
  }

  .course_content .course_details dl:nth-child(even) dt::before {
    left: 50%;
  }

  .course_content .course_details dl dt::before {
    height: 4.3em;
    top: 50%;
    -webkit-transform: translateY(-50%);
    /* Safari */
    transform: translateY(-50%);
    width: 8em;
  }

  .course_content .course_details dl dt::after {
    height: 85%;
  }

  .course_content .course_details dl:nth-child(odd) dt::after {
    left: 1.5%;
  }

  .course_content .course_details dl:nth-child(even) dt::after {
    left: 51.5%;
  }

  .course_content .course_details dl dt p {
    width: 50%;
  }

  .course_content .course_details dl dt p:first-child {
    font-size: 1.6rem;
    padding: 3% 0 0 6em;
  }

  .course_content .course_details dl:nth-child(even) dt p:first-child {
    order: 2;
  }

  .course_content .course_details dl dt em {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 767px) {
  .course_content .course_details dl:not(:last-child) {
    padding-bottom: 3em;
  }

  .course_content .course_details dl dt::before {
    background-size: 100%;
    height: 20%;
    top: 10%;
    width: 20%;
  }

  .course_content .course_details dl dt::after {
    left: 5%;
    height: 60%;
  }

  .course_content .course_details dl dt p:first-child {
    font-size: 1.5rem;
    line-height: 1.4;
    padding: 5% 0 5% 3.8em;
  }

  .course_content .course_details dl dt em {
    font-size: 1.2rem;
  }

  .course_content .course_details dl dt img {
    width: 100%;
  }
}

.course_content .course_details dl dd {
  margin-top: -1.5em;
  position: relative;
  z-index: 1;
}

.course_content .course_details dl dd ul li {
  align-items: center;
  background: #fff;
  display: flex;
  font-weight: 700;
  justify-content: start;
  position: relative;
  font-size: 15px;
}

.course_content .course_details dl dd ul li:not(:last-child) {
  margin-bottom: 1px;
}

.course_content .course_details dl dd ul li a {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  padding: 0;
  position: relative;
  text-align: left;
  width: 100%;
}

.course_content .course_details dl dd ul li:nth-child(odd) {
  background: #f7f5ec;
}

.course_content .course_details dl dd ul li:nth-child(even) {
  background: #fff;
}

.course_content .course_details dl dd ul li:nth-child(odd) ::after {
  color: #000;
}

.course_content .course_details dl dd ul li:nth-child(even) ::after {
  color: #000;
}

.course_content .course_details dl dd ul li span {
  color: #fff;
  display: inline-block;
}

.course_content .course_details dl dd ul li span {
  background: #b69817;
}

.course_content .course_details dl:nth-child(2) dd ul li span {
  background: #0074b1;
}

.course_content .course_details dl:nth-child(3) dd ul li span {
  background: #e95383;
}
.course_content .course_details dl:nth-child(4) dd ul li span {
  background: #0074b1;
}
.course_content .course_details dl:nth-child(5) dd ul li span {
  background: #582041;
}

.course_content .course_details dl dd ul li b {
  background: #e51a45;
  color: #fff;
  font-size: smaller;
}

@media print, screen and (min-width: 768px) {
  .course_content .course_details dl dd {
    padding: 0 5%;
  }

  .course_content .course_details dl dd ul li span {
    margin-right: 1em;
    padding: 1.5em 0em 1.5em 2em;
    width: 22em;
  }

  .course_content .course_details dl dd ul li b {
    margin-left: 1em;
    padding: 0.25em 0.5em 0.05em;
  }

  .course_content .course_details dl dd ul li span small {
    font-size: 0.5em;
    padding: 0 0 0 5px;
    margin: 0;
    display: inline;
    font-size: 11px;
  }
}

@media screen and (max-width: 767px) {
  .course_content .course_details dl dd {
    padding: 0 2%;
  }

  .course_content .course_details dl dd ul li span {
    font-size: x-small;
    margin-right: 0.5em;
    padding: 1.5em 0.4em;
    width: 30%;
    line-height: 1.5em;
    letter-spacing: 0em;
  }

  .course_content .course_details dl dd ul li big {
    font-size: 1rem;
    display: inline-block;
  }

  .course_content .course_details dl dd ul li b {
    -ms-transform: translateY(-50%);
    padding: 0 0.25em 0.05em;
    position: absolute;
    right: 5%;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .course_content .course_details dl dd ul li span small {
    font-size: 0.5em;
    display: block;
  }
}

/* schedule_content */
.schedule_content {
  background-image: url(img/schedule_bg.png);
  background-color: #dfdcce;
  background-repeat: repeat-y;
  padding-bottom: 0;
  padding-top: 1.5em;
  position: relative;
}

.schedule_content::before {
  background: url(img/schedule_content_before.png) no-repeat;
  bottom: 100%;
  content: "";
  left: 50%;
  position: absolute;
  -webkit-transform: translateX(-50%);
  /* Safari */
  transform: translateX(-50%);
}

.schedule_content h2 {
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .schedule_content {
    background-position: 0 3em;
  }

  .schedule_content::before {
    height: 88px;
    width: 675px;
  }
}

@media screen and (max-width: 767px) {
  .schedule_content {
    background-position: 0 3em;
  }

  .schedule_content::before {
    background-size: 100%;
    height: 3.5em;
    width: 100%;
  }
}

.schedule_content .inner div {
  position: relative;
}

.schedule_content div:nth-child(8) {
  padding-bottom: 3em;
}

.schedule_content .inner div h3 {
  margin: 0;
  position: absolute;
  z-index: 1;
}

.schedule_content dl dd:last-child {
  background: #fff;
  order: -1;
  position: relative;
}

.schedule_content dl dd:last-child::after {
  border-color: #fff transparent transparent transparent;
  border-style: solid;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  top: 100%;
  -webkit-transform: translateX(-50%);
  /* Safari */
  transform: translateX(-50%);
  width: 0;
}

.schedule_content .inner div:last-child {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.schedule_content .inner div:last-child p:first-child {
  font-size: 0;
}

.schedule_content .inner div:last-child p:last-child {
  align-items: center;
  display: flex;
  justify-content: center;
}

@media print, screen and (min-width: 768px) {
  .schedule_content div {
    padding-bottom: 7em;
  }

  .schedule_content div:nth-child(4),
  .schedule_content div:nth-child(7) {
    padding-bottom: 12em;
  }

  .schedule_content div:last-child {
    padding-bottom: 0;
  }

  .schedule_content .inner div h3 {
    left: -2em;
    top: -2em;
  }

  .schedule_content .inner div h3 img {
    width: 90%;
  }

  .schedule_content div dl {
    display: flex;
    flex-wrap: wrap;
  }

  .schedule_content dl dd:first-child {
    left: 75%;
    position: absolute;
    top: -2em;
    width: 26%;
    z-index: 1;
  }

  .schedule_content dl dd:first-child img {
    width: 100%;
  }

  .schedule_content dl dd:last-child {
    padding: 2em 6em 4em 10em;
    width: 80%;
  }

  .schedule_content dl dd:last-child::after {
    border-width: 26px 31px 0 31px;
  }

  .schedule_content dl dd:last-child ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .schedule_content dl dd:last-child a {
    margin-top: 1em;
  }

  .schedule_content dl dd:last-child ul li:nth-child(-n + 2) {
    width: calc(94% / 2);
  }

  .schedule_content dl dd:last-child ul li:last-child {
    width: 70%;
  }

  .schedule_content dl dd:last-child ul li:nth-child(even) {
    margin-left: 3%;
  }

  .schedule_content .inner div:last-child {
    padding: 0 12.5%;
  }

  .schedule_content .inner div:last-child p:first-child {
    width: 15%;
  }

  .schedule_content .inner div:last-child p:last-child {
    text-align: center;
    width: 85%;
  }
}

@media screen and (max-width: 767px) {
  .schedule_content .inner {
    width: 100%;
  }

  .schedule_content div:not(:last-child) {
    padding-bottom: 3.5em;
  }

  .schedule_content .inner div h3 {
    left: -10%;
    top: 30%;
  }

  .schedule_content .inner div h3 img {
    width: 50%;
  }

  .schedule_content dl dd:last-child {
    margin: -12.25em 0 0 auto;
    padding: 1em 2em 1em 5em;
    width: 90%;
  }

  .schedule_content dl dd:last-child a {
    font-size: 1.2rem;
    margin-top: 1em;
  }

  .schedule_content dl dd:last-child::after {
    border-width: 17px 20px 0 20px;
  }

  .schedule_content .inner div:last-child p:first-child {
    width: 35%;
  }

  .schedule_content .inner div:last-child p:last-child {
    font-size: smaller;
    width: 63%;
  }

  .schedule_content .inner div:last-child {
    margin: auto;
    width: 96%;
  }
}

/* see_data_content */
.see_data_content .inner div {
  display: flex;
  flex-wrap: wrap;
}

.see_data_content .inner div dt {
  display: none;
}

.see_data_content .inner div:nth-of-type(5) dl:nth-of-type(1) {
  background: #afdde4;
}

.see_data_content .inner div:nth-of-type(5) dl:nth-of-type(2) {
  background: #fff67f;
}

.see_data_content .inner div:nth-of-type(5) dl:nth-of-type(3) {
  background: #afdde4;
}

@media print, screen and (min-width: 768px) {
  .see_data_content .inner div:nth-of-type(1) dl:nth-of-type(1) {
    padding-top: 0.4em;
    width: 25.25%;
  }

  .see_data_content .inner div:nth-of-type(1) dl:nth-of-type(2) {
    width: 40.25%;
  }

  .see_data_content .inner div:nth-of-type(1) dl:nth-of-type(3) {
    width: 34.5%;
  }

  .see_data_content .inner div:nth-of-type(2) dl {
    width: 100%;
  }

  .see_data_content .inner div:nth-of-type(3) {
    margin: 0.5% 0 1.25% 0;
  }

  .see_data_content .inner div:nth-of-type(3) dl:nth-of-type(1) {
    background: #fff67f;
    width: 43%;
  }

  .see_data_content .inner div:nth-of-type(3) dl:nth-of-type(1) dd {
    position: relative;
  }

  .see_data_content .inner div:nth-of-type(3) dl:nth-of-type(1) dd p {
    bottom: -1em;
    position: absolute;
    right: 0;
    width: 60%;
  }

  .see_data_content .inner div:nth-of-type(3) dl:nth-of-type(2) {
    background: #afdde4;
    width: 34%;
  }

  .see_data_content .inner div:nth-of-type(3) dl:nth-of-type(3) {
    background: #fff67f;
    width: 23%;
  }

  .see_data_content .inner div:nth-of-type(4) dl:nth-of-type(1) {
    background: #afdde4;
    width: 60%;
  }

  .see_data_content .inner div:nth-of-type(4) dl:nth-of-type(2) {
    background: #afdde4;
    width: 40%;
  }

  .see_data_content .inner div:nth-of-type(5) {
    margin: 1.25% 0 0.25em;
  }

  .see_data_content .inner div:nth-of-type(5) dl {
    width: 33.3333333333%;
  }

  .see_data_content .inner div:nth-of-type(5) dl p {
    padding: 0 1.5em 1.5em;
    line-height: 22px;
  }
}

@media screen and (max-width: 767px) {
  .see_data_content .inner div:nth-of-type(1) dl {
    width: 100%;
  }

  .see_data_content .inner div:nth-of-type(2) dl {
    width: 100%;
  }

  .see_data_content .inner div:nth-of-type(3) dl {
    width: 100%;
  }

  .see_data_content .inner div:nth-of-type(4) dl {
    width: 100%;
  }

  .see_data_content .inner div:nth-of-type(5) dl p {
    font-size: smaller;
    padding: 0 2em 2em;
  }
}

/* animate */
.invisible {
  visibility: hidden;
}

@media screen and (max-width: 767px) {
  .course_read {
    text-align: center;
  }

  .course_content .heading div:first-child p {
    margin: 0 auto !important;
  }

  .inpage_link {
    margin: 0 auto !important;
  }
}

.about {
  /*border: 1px solid #EEE;*/
  max-width: 1024px;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .about {
    margin-bottom: 50px;
  }

  .about > p {
    text-align: start;
  }
}

/* request_content */
.request_content {
  margin: auto;
  width: min(96%, 1200px);
}
.request_content dl {
  background-color: #f4ff43;
  border-radius: 0.5em;
  overflow: hidden;
  position: relative;
}
.request_content dl:nth-of-type(2)::before {
  background: #e5e600;
  bottom: 0;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  content: "";
  height: min(50vw, 100%);
  position: absolute;
  right: 0;
  width: min(50vw, 100%);
}

.request_content dl dt {
  background: #000;
  color: #fff;
  font-weight: 700;
  left: 0;
  padding: 0 1em;
  position: absolute;
  top: 1em;
}

.request_content dl dd a {
  left: 50%;
  margin: auto;
  -ms-transform: translateX(-50%);
  position: absolute;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.request_content dl dd picture {
  display: block;
}
.request_content dl:nth-of-type(2) dd picture {
  position: absolute;
}
@media print, screen and (min-width: 768px) {
  .request_content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .request_content dl {
    width: calc(100% / 2.1);
  }
  .request_content dl dt {
    font-size: x-large;
  }

  .request_content dl dd {
    padding: 9em 0.75em;
  }
  .request_content dl:nth-of-type(2) dd picture {
    bottom: -6.75em;
    /*padding: 0 1em;*/
  }

  .request_content dl dd a {
    bottom: 2em;
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .request_content dl:not(:last-child) {
    margin-bottom: 1.5em;
  }

  .request_content dl dt {
    font-size: medium;
  }

  .request_content dl:nth-of-type(1) dd {
    padding: 6.16em 0.5em 8em;
  }
  .request_content dl:nth-of-type(2) dd {
    padding: 23.25em 0.5em 0.75em;
  }
  .request_content dl:nth-of-type(2) dd picture {
    bottom: -1.5em;
  }

  .request_content dl dd a {
    bottom: 1.5em;
    width: 80%;
  }
}
