@charset "UTF-8";
/* reset */
html {color: #000;background: #FFF}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td {margin: 0;padding: 0;}
table {border-collapse: collapse;border-spacing: 0}
fieldset,img {border: 0}
address,caption,cite,code,dfn,em,strong,th,var {font-style: normal;font-weight: normal}
ol,ul {list-style: none}
caption,th {text-align: left}
h1,h2,h3,h4,h5,h6 {font-size: 100%;font-weight: normal}
q:before,q:after {content: ''}
abbr,acronym {border: 0;font-variant: normal}
sup {vertical-align: text-top}
sub {vertical-align: text-bottom}
input,textarea,select {font-family: inherit;font-size: inherit;font-weight: inherit;font-size: 100%}
legend {color: #000}
/**/
table {width: 100%;border-spacing: 0;empty-cells: show;}
caption {text-align: left; }
p {margin-bottom: 0;-webkit-margin-before: 0;-webkit-margin-after: 0; }
th {vertical-align: top;text-align: center;font-weight: normal; }
td {text-align: left;vertical-align: top; }
h1, h2, h3, h4, h5, h6 {font-size: 100%;font-weight: bold; }
img {border: none;vertical-align: middle;max-width: 100%; }
a img {border: none; }
li {list-style: none; }
iframe {vertical-align: middle; }
figure{margin:0;padding:0;}
/* common */
html {
  position: relative;
  min-height: 100%;
  font-size: 62.5%;
}
body{
  font-family: Hiragino Sans, "ヒラギノ角ゴ Pro W6", "メイリオ", sans-serif;
  letter-spacing: 0em;
  transform-origin: left top;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt" 1;
  overflow-y: scroll;
  background: #f6f6f6;
  font-size: 1.6em;
  line-height: 1.5;
}
.din_condensed {
  font-family: "din-condensed", 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'メイリオ', sans-serif;
  font-weight: 400;
}
strong{
  font-weight: bold;
}

/* animate */
.fade {
  opacity: 0;
  transition: all 0.6s ease;
}
.fade.show {
  opacity: 1;
}
img{
  max-width: 100%;
}
@media screen and (max-width: 1000px) {
  .is-pc {
    display: none !important;
  }
}
.is-sp {
  display: none !important;
}
@media screen and (max-width: 1000px) {
  .is-sp {
    display: block !important;
  }
}

/* ------------------------------------------------------- */
@media only screen and (max-width: 767px) {}
@media only screen and (min-width: 767.1px) {}

/* header */
.header{
  background: #000;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 64px;
}
.header-logo{
  display: inline-flex;
  align-items: center;
  padding: 14px 0 14px 20px;
  height: 64px;
}
.header-inner{
  flex-grow: 1;
}
.header-nav{
  display: flex;
  gap: 24px;
  justify-content: flex-start;
  align-items: center;
}
.header-nav-item a{
  color: #fff;
  text-decoration: none;
  transition: all 0.3s ease;
  font-size: 12px;
}
.header-nav-item a:hover{
  opacity: .7;
}

.header-mkt-apply{
  display: flex;
}
.header-mkt-apply a{
  display: flex;
  padding: 0 20px;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.2;
  transition: all 0.3s ease;
  height: 64px;
  color: #eee;
  background: #404040;
}
.header-mkt-apply a:hover{
  opacity: 0.7;
}
.header-mkt-apply a.header-apply-button{
  font-weight: 600;
  background: #de0020;
  color: #fff;
}
.header-mkt-apply a.header-apply-button:hover{
  background: #fff;
  color: #de0020;
  opacity: 1;
}
@media screen and (max-width: 639px) {
  .header-mkt-apply a{
    padding: 0 12px;
    font-size: 12px;
  }
}

/* footer */
.footer{
  position: relative;
}
.footer-sub{
  display: flex;
  gap: 20px 60px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 24px 40px;
  background: #222;
}
@media screen and (max-width: 639px) {
  .footer-sub{
    flex-direction: column;
    padding: 24px 16px;
  }
}
.footer-sub-link-group {
  display: flex;
  gap: 12px 32px;
  flex-wrap: wrap;
}
@media screen and (max-width: 639px) {
  .footer-sub-link-group {
    gap: 12px 20px;
  }
}
.footer-sub-link {
  font-size: 1.2rem;
  font-weight: 400;
  text-decoration: underline;
  color: #bbb;
}
.footer-sub-link:hover {
  opacity: .8;
}
.footer-sub-copyright {
  font-size: 1.2rem;
  color: #aaa;
}
.footer-pagetop {
  position: absolute;
  right: 0;
  bottom: 100%;
  display: flex;
  width: 70px;
  height: 70px;
  background: #000;
}
@media screen and (max-width: 639px) {
  .footer-pagetop {
    width: 60px;
    height: 60px;
  }
}
.footer-pagetop:hover {
  opacity: .8;
}
.footer-pagetop-angle {
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
}


/* main */
.gakuin-main{
  margin-top: 64px;
  line-height: 1.75;
  letter-spacing: 0.12em;
  font-size: 16px;
}
@media only screen and (max-width: 767px) {
  .gakuin-main{
    font-size: 14px;
    letter-spacing: 0.05em;
  }
}

/* section */
.gakuin-section{
  clear: both;
  padding: 60px 0;
}
@media only screen and (max-width: 767px) {
  .gakuin-section{
    padding: 40px 15px;
  }
}
.section_inner{
  max-width: 880px;
  margin: 0 auto;
}
.bg-white{
  background: #fff;
}
.has-bg{
  background: url(../img/common/bg-gakuin01.webp) no-repeat center center / cover;
  color: #fff;
}
.has-bg .section_inner{
  max-width: 1040px;
}


/* title */
.gakuin-content-title{
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  font-size: 32px;
  line-height: 1.25;
  margin-bottom: 20px;
}
.gakuin-content-title::before{
  content: "";
  width: 14px;
  height: 14px;
  border: solid 8px #FABD00;
  border-radius: 60px;
}
@media only screen and (max-width: 767px) {
  .gakuin-content-title{
    font-size: 20px;
  }
}

/* article */
.gakuin-content + .gakuin-content{
  padding-top: 60px;
}
@media only screen and (max-width: 767px) {
  .gakuin-content + .gakuin-content{
    padding-top: 40px;
  }
}

/* cta */
.gakuin-cta{
  background: #FABD00;
  padding: 0;
}
.gakuin-cta-block{
  display: flex;
  align-items: center;
  flex-direction: column;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .gakuin-cta-block{
    align-items: normal;
    padding: 0 15px;
  }
}

.gakuin-cta-shoulder{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  line-height: 1.15;
}
.gakuin-cta-shoulder::after,
.gakuin-cta-shoulder::before{
  display: inline-block;
  content: "";
  width: 1px;
  height: 40px;
  background: #000;
}
.gakuin-cta-shoulder::before {
  transform: rotate(-30deg);
}
.gakuin-cta-shoulder::after{
  transform: rotate(30deg);
}
.has-bg .gakuin-cta-shoulder::after,
.has-bg .gakuin-cta-shoulder::before{
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .gakuin-cta-shoulder{
    font-size: 13px;
  }
}

.gakuin-cta-link{
  position: relative;
  display: flex;
  /*padding: 20px min(3vw,40px) ;*/
  padding: 20px 60px 20px 40px;
  justify-content: center;
  align-items: center;
  gap: 30px;
  border-radius: 60px;
  background: #de0020;
  color: #fff;
  font-size: 30px;
  font-size: max(min(3vw, 32px), 20px);
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.9px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
}
.gakuin-cta-link:hover{
  background: #fff;
  color: #de0020;
}
.gakuin-cta-link::after{
  content:"";
  width: 16px;
  height: 25px;
  position: absolute;
  right: 30px;
  mask-image: url(../img/common/icon_arw_white.svg);
  mask-repeat: no-repeat;
  mask-position: 0;
  mask-size: 100%;
  background-color: #fff;
}
.gakuin-cta-link:hover::after{
  background-color: #de0020;
}

@media only screen and (max-width: 767px){
  .gakuin-cta-link{
    padding: 10px 30px 10px 15px;
    gap:10px;
  }
  .gakuin-cta-link::after{
    width: 8px;
    height: 12px;
    right: 12px;
  }
}
.gakuin-cta-figure{
  margin: 0;
  padding: 0;
}
.gakuin-cta-figure img{
  max-height: 280px;
  position: relative;
  top: -20px;
  z-index: 5;
}
.gakuin-cta .section_inner{
  max-width: 1040px;
  display: flex;
  align-items: center;
  gap: 20px;
}
@media only screen and (max-width: 767px){
  .gakuin-cta .section_inner{
    flex-direction: column;
    padding-bottom: 20px;
    gap: 0;
    justify-content: center;
  }
  .gakuin-cta-figure{
    margin-bottom: -20px;
  }
  .gakuin-cta-figure img{
    max-height: 140px;
    top: -20px;
    left: calc( 50% - 110px );
  }
}

/* hero */
.gakuin-hero{
  padding: 84px 10vw 100px;
  min-height: 610px;
  box-sizing: border-box;
  position: relative;
  background: #000;
  display: flex;
  justify-content: start;
  align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .gakuin-hero{
    padding: 170px 25px 100px;
    min-height: 690px;
  }
}

.gakuin-hero-img{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
  overflow: hidden;
}
.gakuin-hero-img::before{
  content: "";
  display: block;
  background: rgba(32, 66, 128, 0.50);
  position: absolute;
  bottom: 0;
  height: 210px;
  width: 100vw;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .gakuin-hero-img::before{
    height: 200px;
    background: rgba(32, 66, 128, 0.90);
  }
}
.gakuin-hero-img img{
  object-fit: cover;
  object-position: center top;
  width: 100%;
  height: 100%;
}
.gakuin-hero-inner{
  display: flex;
  justify-content: flex-start;
  position: relative;
  z-index: 3;
  text-align: left;
  color: #fff;
}
.hero-title-block{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.gakuin-hero-logo img{
  filter: drop-shadow(0px 4px 10px rgba(0, 0, 0, 0.25));
}
.gakuin-hero-title{
  font-size: min(5vw,72px);
  line-height: 1.12;
  text-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
  margin-bottom: 12px;
}
.gakuin-hero-title strong{
  display: block;
  font-weight: 800;
}
.gakuin-hero-title strong small{
  font-size: 60%;
}
@media only screen and (max-width: 767px) {
  .hero-title-block{
    gap: 2px;
  }
  .gakuin-hero-title{
    font-size: max(5vw, 36px);
    margin-bottom: 0;
  }
}

/* ポイント */
.gakuin-hero-point{
  display: flex;
  gap: 10px;
  margin-bottom: 10px;
}
.gakuin-hero-point-item{
  display: flex;
  padding: 10px 40px;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: 10px;
  background: var(--Linear, linear-gradient(0deg, #FABD00 0%, #FFDF7D 100%));
  /*box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.25);*/
  color: #000;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 110%;
  letter-spacing: 0.96px;
  text-decoration: none;
}
@media only screen and (max-width: 767px){
  .gakuin-hero-point{
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
  }
  .gakuin-hero-point-item{
    display: inline-flex;
    flex-direction: row;
    justify-content: flex-start;
    align-self: baseline;
    padding: 10px 20px;
    font-size: 18px;
  }
}

/* 最安値バッジ */
.gakuin-hero-badge{
  position: absolute;
  top: 0;
  right: max(5vw,10px);
  z-index: 2;
}
.gakuin-hero-badge a:hover{
  opacity: .8;
}
.gakuin-hero-badge img{
  width: min(30vw,180px);
}


/* KV内CTA __________*/
.gakuin-hero-cta{
  position: absolute;
  bottom: 5px;
  height: 200px;
  display: flex;
  justify-content: space-between;
  gap: 40px;
  z-index: 4;
}
.hero-footnote{
  position: absolute;
  bottom: 20px;
  padding-right: 480px;
}
.hero-footnote p{
  font-size: 11px;
  color: #fff;
  text-align: left;
}
.hero-footnote p a{
  color: #fff;
}
.hero-footnote br{
  display: none;
}
@media only screen and (max-width: 767px){
  .hero-footnote{
    position: relative;
    padding: 0 4px;
    bottom: auto;
  }
  .hero-footnote p{
    color: #eee;
  }
  .hero-footnote p a{
    color: #eee;
  }
}

.gakuin-hero-cta-block{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding-top: 12px;
}
.gakuin-hero-cta-link{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
  border-radius: 60px;
  padding: 24px 120px 24px 90px;
  gap: 30px;
  background: #de0020;
  color: #fff;
  font-size: max(min(3vw, 32px), 20px);
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0.9px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
}
.gakuin-hero-cta-link::after{
  content:"";
  width: 16px;
  height: 25px;
  position: absolute;
  right: 30px;
  mask-image: url(../img/common/icon_arw_black.svg);
  mask-repeat: no-repeat;
  mask-position: 0;
  mask-size: 100%;
  background-color: #fff;
}
.gakuin-hero-cta-link:hover{
  background: #fff;
  color: #de0020;
}
.gakuin-hero-cta-link:hover::after{
  background-color: #de0020;
}
@media screen and (max-width: 1000px) {
  .gakuin-hero-cta-link{
    font-size: max(min(2.5vw, 28px), 18px);
  }
}

.gakuin-hero-cta .gakuin-cta-shoulder{
  color: #fff;
}
.gakuin-hero-cta .gakuin-cta-shoulder::after,
.gakuin-hero-cta .gakuin-cta-shoulder::before{
  background: #fff;
}
.gakuin-hero-cta-figure img{
  max-height: 300px;
  position: relative;
  top: -60px;
  right: -80px;
  z-index: 5;
}
@media only screen and (max-width: 767px){
  .gakuin-hero-cta{
    justify-content: center;
    flex-direction: column;
    width: 100%;
    left: 0;
    text-align: center;
    gap: 10px;
  }
  .gakuin-hero-cta-block{
    padding-top: 0;
  }
  .gakuin-hero-cta-link{
    padding: 15px 40px;
  }
  .gakuin-hero-cta-link::after{
    right: 16px;
    width: 8px;
    height: 12px;
  }
}


/* lead */
.gakuin-lead .section_inner{
  max-width: 1080px;
}
.gakuin-lead-title{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  text-align: center;
  margin-bottom: 30px;
  font-size: 32px;
  letter-spacing: 2px;
}
.gakuin-lead-title::before{
  content: "";
  height: 60px;
  width: 60px;
  background: url(../img/common/icon_gakuin.svg) no-repeat top center / contain;
}
@media only screen and (max-width: 767px){
  .gakuin-lead-title{
    font-size: 18px;
    line-height: 1.25;
    text-align: left;
    justify-content: flex-start;
    margin-bottom: 12px;
  }
  .gakuin-lead-title::before{
    width: 48px;
    height: 48px;
  }
}

.gakuin-article-text{
  font-size: 16px;
  line-height: 1.7;
  font-weight: 300;
  margin-top: 1.6em;
}
.gakuin-lead-img img{
  max-width: 380px;
  filter: drop-shadow(20px 20px 0 #D9D9D9);
}
.gakuin-article.is-primary{
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
  gap: 12px;
}
@media only screen and (max-width: 767px){
  .gakuin-article.is-primary{
    flex-direction: column;
  }
  .gakuin-lead-img{
    text-align: center;
  }
  .gakuin-lead-img img{
    max-width: 280px;
    margin: 1em auto 0;
  }
}
.gakuin-article.is-2nd{
  max-width: 880px;
  margin: 0 auto;
  padding-top: 10px;
  border-top: solid 2px #D9D9D9;
}
.gakuin-regulations th{
  width: 90px;
  padding: 15px 0;
}
.gakuin-regulations td{
  padding: 20px 0 0 15px;
}
.gakuin-regulations td > h3{
  font-size: 16px;
}
.gakuin-regulations td > h4{
  font-size: 14px;
  margin-top: 1em;
}
.gakuin-regulations td > p{
  font-size: 14px;
  line-height: 1.35;
}

@media only screen and (max-width: 767px){
  .gakuin-regulations th{
    width: 60px;
  }
  .gakuin-regulations td{
    padding-left: 12px;
  }
}
.gakluin_corp_coution_text{
	font-size: 14px;
}
@media screen and (max-width: 1000px) {
	.gakluin_corp_coution_text{
		font-size: 12px;
	}
}

/* merit */
.gakuin-merit{
  padding: 40px 0 60px;
}
.gakuin-merit-title{
  text-align: center;
  margin-bottom: 40px;
  font-size: 36px;
  font-weight: 800;
}
.gakuin-merit-list{
	display: flex;
	justify-content: space-between;
}
.gakuin-merit-item{
	width: 30.91%;
	text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 20px;
}
.gakuin-merit-img{
	width: 58.82%;
	margin: 0 auto;
}
.gakuin-merit-subtitle{
	font-size: 20px;
	line-height: 1.5;
	font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60px;
}
.gakuin-merit-text{
  font-size: 14px;
  font-weight: 300;
	margin-top: 15px;
}

@media only screen and (max-width: 767px) {
  .gakuin-merit{
    padding: 40px 15px 60px;
  }
  .gakuin-merit-title{
    font-size: 30px;
  }
  .gakuin-merit-list{
    flex-direction: column;
    gap: 30px;
  }
  .gakuin-merit-item{
    width: 100%;
    text-align: left;
    flex-direction: row;
  }
  .gakuin-merit-head{
    display: flex;
    align-items: center;
    gap: 20px;
  }
  .gakuin-merit-img{
    width: 26.87%;
    margin: 0;
  }
  .gakuin-merit-subtitle{
    font-size: 16px;
    margin-top: 0;
    min-height: auto;
    display: block;
  }
  .gakuin-merit-textarea{
    width: calc(73.13% - 20px);
  }
  .gakuin-merit-text{
    margin-top: 8px;
    line-height: 1.2;
  }
}

/* about */
.gakuin-about{
  padding-top: 0;
}
.gakuin-price{
  padding-top: 60px;
}
@media only screen and (max-width: 767px) {
  .gakuin-price{
    padding-top: 40px;
  }
}

.tag_most-low-price-level{
	padding: 2px 15px 2px 10px;
	border-radius: 5px;
	background: #FA0000;
	color: #fff;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
}
.tag_most-low-price-level::before{
	content: url(../img/common/gakuin_open_label_icon.svg);
	margin-right: 10px;
}
.tag_most-low-price-level sup{
	font-size: 12px;
	font-weight: 400;
}
@media only screen and (max-width: 767px) {
  .tag_most-low-price-level{
    padding: 6px 8px 6px 8px;
    font-size: 13px;
  }
  .tag_most-low-price-level::before{
    content: "";
    display: none;
  }
  .tag_most-low-price-level sup{
    font-size: 11px;
  }
}

/* 助太刀ユーザーなら */
.gakuin_tertiary_cta{
	margin-top: 40px;
}
.gakuin_second_cta_btn + .gakuin_notation_text,
.gakuin_tertiary_cta + .gakuin_notation_text{
	margin: 40px 0 -40px;
}

.gakuin_tertiary_cta_link{
	display: inline-block;
	text-align: center;
	background: #000;
	color: #fff;
	padding: 20px 40px;
	border-radius: 9999px;
	margin-bottom: 20px;
	box-sizing: border-box;
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
	width: 100%;
	position: relative;
	transition: all .3s;
  text-decoration: none;
}
.gakuin_tertiary_cta p{
	position: relative;
}
.gakuin_tertiary_cta_link strong{
	font-weight: 600;
}
.gakuin_tertiary_cta_link::after{
	display: inline-block;
	content: "";
	width: 20px;
	height: 12px;
	background: url(../img/common/academy_skdc_arrow.svg) no-repeat center center / contain;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto 0;
}
.gakuin_tertiary_cta_link:hover{
	opacity: 0.8;
}

.gakuin_tertiary_cta_link.has-figure{
	padding-left: 80px;
	margin-bottom: 50px;
}
.gakuin_tertiary_cta_link.has-figure figure{
	position: absolute;
	width: 166px;
	top: -24px;
	left: 18px;
}
.gakuin_course_caption + .gakuin_notation_text,
.gakuin_tertiary_cta_link + .gakuin_notation_text{
	text-align: center;
	font-size: 11px;
	color: #7C7C7C;
}
.gakuin_cta .tag_most-low-price-level{
  position: absolute;
	top: -45px;
	left: 50%;
	transform:translateX(-50%);
	padding: 4px 10px;
	min-width: 180px;
}

@media only screen and (max-width: 767px) {
	.gakuin_tertiary_cta_link{
		padding: 10px 30px;
		font-size: 16px;
		line-height: 1.2;
	}
	.gakuin_tertiary_cta_link.has-figure{
		padding-left: 60px;
	}
	.gakuin_tertiary_cta_link.has-figure figure{
		width: 100px;
		top: -8px;
		left: -14px;
	}
	.gakuin_cta .tag_most-low-price-level{
		top: -35px;
	}
}


/* table-content */
.gakuin-content-table{
	border-collapse: collapse;
}
.gakuin-content-table th{
	background: #000;
	color: #fff;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	padding: 8px;
	border: 1px solid #fff;
}
.gakuin-content-table td{
	background: #EDEDED;
	font-size: 14px;
	padding: 20px 30px;
	border: 1px solid #fff;
}
.gakuin-content-table td.time{
	text-align: center;
}
.gakuin-price-table td{
	vertical-align: middle;
	font-size: 18px;
	font-weight: 600;
}
.gakuin-price-table .price_cell{
	padding: 10px 30px;
	text-align: center;
}
.gakuin-price-table strong{
	font-size: 20px;
	font-weight: 600;
}
.gakuin-price-table td small{
	display: block;
	font-size: 80%;
	line-height: 1;
}
.gakuin-price-table .price_cell .tax-text{
	font-size: 80%;
	line-height: 1;
}

@media only screen and (max-width: 767px) {
	.gakuin-content-table td{
    padding: 10px 15px;
  }
  .gakuin-price-table td{
		font-size: 14px;
		text-align: center;
		padding: 10px 5px;
    line-height: 1.2;
	}
	.gakuin-price-table .price_cell{
		padding: 10px 5px;
	}
	.gakuin-price-table strong{
		font-size: 13px;
	}
	.gakuin-price-table td small{
		font-size: 11px;
	}
}

/* column */
.gakuin-content-column{
  padding: 30px;
  background: #fff;
  border-radius: 10px;
  margin-top: 24px;
}
.gakuin-content-column p{
  font-size: 14px;
  font-weight: 300;
  line-height: 1.55;
}
.gakuin-content-column h4{
  font-size: 16px;
  letter-spacing: 0;
}
.gakuin-content-column p + h4{
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .gakuin-content-column{
    padding: 15px 10px;
  }
  .gakuin-content-column h4{
    font-size: 13px;
  }
  .gakuin-content-column p{
    font-size: 13px;
  }
}


/* flow */
.gakuin-flow-list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.gakuin-flow-item{
	width: 13.825%;
	text-align: center;
	position: relative;
}
.gakuin-flow-item:not(:first-child)::after{
  display: inline-block;
  content: "";
  width: min(1.56vw, 15px);
  height: min(2.7vw, 26px);
  background: url("../img/common/gakuin-flow-arrow.svg") no-repeat center center/contain;
  position: absolute;
  left: max(-2.29vw,-22px);
  top: min(4.06vw, 39px);
}
.gakuin-flow-img{
	width: 86.3%;
	margin: 0 auto;
}
.gakuin-flow-img img{
	width: 100%;
}
.gakuin-flow-title{
	line-height: 1.5;
	font-weight: 600;
	margin-top: 12px;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .gakuin-flow-item{
    width: 29.85%;
  }
  .gakuin-flow-item:nth-child(3n+1)::after{
    content: none;
  }
  .gakuin-flow-item:nth-child(n+4){
    margin-top: 20px;
  }
  .gakuin-flow-item:not(:first-child)::after{
      width: 3.47vw;
      height: 5.33vw;
    left:-3.8vw;
    top: 8.8vw;
  }
  .gakuin-flow-img{
    width: 85%;
  }
  .gakuin-flow-title{
    margin-top: 10px;
  }
}


/* attract */
.gakuin-attract .section_inner{
  max-width: 1040px;
}
.gakuin-certificate{
  display: flex;
  align-items: center;
  gap: 20px;
}
.gakuin-attract-img{
  margin-right: -80px;
  /*order: -1;*/
}
.gakuin-attract-img img{
   max-width: 480px;
}
.gakuin-attract-title{
  font-size: 32px;
  line-height: 1.25;
  margin-bottom: 1em;
}
.gakuin-attract-text + .gakuin-attract-text{
  margin-top: 1em;
}
.gakuin-attract-text a{
  text-decoration: none;
  color: #000;
}
.gakuin-attract-text a:hover{
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .gakuin-certificate{
    flex-direction: column;
  }
  .gakuin-attract-title{
    font-size: 18px;
  }
  .gakuin-attract-img{
    max-width: 280px;
    order: 0;
    margin: 0 auto;
  }
  .gakuin-attract-img img{
    max-width: 280px;
  }
}

/* voice */
.gakuin-voice-title{
  position: relative;
  text-align: center;
  z-index: 3;
  font-size: 32px;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .gakuin-voice-title{
    font-size: 20px;
  }
}
.gakuin-voice-title strong{
  display: inline-block;
  padding: 0 30px;
  background: #fff;
}
.gakuin-voice-title::after{
  content: "";
  height: 4px;
  width: 100%;
  background: #D9D9D9;
  position: absolute;
  top: calc( 50% - 2px );
  left: 0;
  z-index: -1;
}

.gakuin-voice-list{
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-bottom: 40px;
}
.gakuin-voice-item{
  position: relative;
  background: #fff;
  filter: drop-shadow(8px 8px 0 rgba(0,0,0,.25));
  padding: 20px;
  display: flex;
  justify-content: flex-start;
  gap: 12px;
  width: calc( 50% - 20px );
}
@media screen and (max-width: 767px) {
  .gakuin-voice-list{
    flex-direction: column;
  }
  .gakuin-voice-item{
    width: calc(100% - 40px);
  }
}
.gakuin-voice-item::after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 30px;
  height: 60px;
  border: solid 30px #FABD00;
  border-top: solid 30px #FABD00;
  border-left: solid 30px #FABD00;
  border-right-color:transparent;
  border-bottom-color:transparent;
}
.gakuin-voice-img{
  max-width: 100px;
  margin: 0;
}
.gakuin-voice-img figcaption{
  font-size: 13px;
  font-weight: 300;
}
.gakuin-voice-textarea p{
  font-size: 14px;
}

/* faq */
.gakuin-faq{
	padding: 60px 0 120px;
}
.gakuin-faq-article{
	border-bottom: 1px solid #D4D4D4;
}
.gakuin-faq-title{
	padding: 30px 60px 30px 0;
	display: flex;
	cursor: pointer;
	position: relative;
}
.gakuin-faq-title::after{
	display: inline-block;
	content: "";
	width: 20px;
	height: 12px;
	background: url("../img/common/gakuin-faq-arrow.svg") no-repeat center center/contain;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto 0;
}
.gakuin-faq-title.is_open::after{
	transform: rotate(180deg);
}
.gakuin-faq-title_head,
.gakuin-faq-content_head{
	display: block;
	font-size: 30px;
	line-height: 1.25;
	flex-shrink: 0;
	padding-right: 20px;
}
.gakuin-faq-title_inner{
	padding-top: 1px;
	font-size: 20px;
	font-weight: 600;
}
.gakuin-faq-content{
	display: none;
	padding-bottom: 30px;
}
.gakuin-faq-content_inner{
	display: flex;
}
.gakuin-faq-content_txt{
	padding-top: 5px;
}
.gakuin-faq-content_txt a{
	text-decoration: underline;
}
@media only screen and (max-width: 767px){
  .gakuin-faq{
    padding: 60px 15px 120px;
  }
  .gakuin-faq-title{
    padding: 20px 36px 20px 0;
  }
  .gakuin-faq-title::after{
    width: 16px;
    height: 10px;
    right: 0;
  }
  .gakuin-faq-title_head,
  .gakuin-faq-content_head{
    font-size: 24px;
  }
  .gakuin-faq-title_inner{
    font-size: 16px;
  }
  .gakuin-faq-content{
    padding-bottom: 20px;
  }
  .gakuin-faq-content_txt{
    padding-top: 3px;
  }
}

/* apply */
.gakuin-cta_header{
  text-align: center;
}
.gakuin-cta_title{
  font-size: 30px;
  line-height: 1.2;
}
.gakuin-cta_container{
  display: flex;
  justify-content: center;
  gap: 40px;
}
.gakuin-cta_container{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 60px;
	margin: 55px 0 40px;
}
@media screen and (max-width: 767px) {
  .gakuin-cta_title{
    font-size: 18px;
  }
}

.gakuin-cta_block{
	width: min(45vw,410px);
}
.gakuin-cta_subtitle{
	font-size: 16px;
	font-weight: 800;
	text-align: center;
	line-height: 1.2;
	margin-bottom: 10px;
	position: relative;
	z-index: 3;
}
@media screen and (max-width: 767px) {
  .gakuin-cta_subtitle{
    font-size: 14px;
    font-weight: 600;
  }
}

.gakuin-cta_detail{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.gakuin-cta_detail_text{
  padding-bottom: 1em;
}
.gakuin-cta_detail figure{
  order: -1;
}

.gakuin-cta_detail figure img{
  height: 120px;
}
.gakuin-cta_btn_link{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  width: 100%;
  text-decoration: none;
  color: #fff;
  background: #de0020;
  padding: 24px 40px;
  border-radius: 9999px;
  box-sizing: border-box;
  text-align: center;
  font-size: min(1.72vw, 20px);
  font-size: 18px;
  line-height: 1.35;
  font-weight: 700;
	transition: all .3s;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
}
.gakuin-cta_btn_link span{
  font-size: 14px;
}
.gakuin-cta_btn_link::after{
  content:"";
  width: 12px;
  height: 20px;
  position: absolute;
  right: 20px;
  mask-image: url(../img/common/icon_arw_black.svg);
  mask-repeat: no-repeat;
  mask-position: 0;
  mask-size: 100%;
  background-color: #fff;
}
.gakuin-cta_btn_link:hover{
  background: #fff;
  color: #de0020;
}
.gakuin-cta_btn_link:hover::after{
  background-color: #de0020;
}

@media screen and (max-width: 767px) {
	.gakuin-cta_container{
		display: block;
		margin: 20px 0 40px;
	}
	.gakuin-cta_block{
		width: 100%;
	}
	.gakuin-cta_block+.gakuin-cta_block{
		margin-top: 40px;
	}
	.gakuin-cta_detail{
		margin-bottom: 5px;
	}
	.gakuin-cta_detail figure{
		height: 80px;
	}
  .gakuin-cta_detail figure img{
    height: 80px;
  }
  .gakuin-cta_btn_link{
    font-size: 16px;
    margin: 0 15px;
    width: auto;
  }
  .gakuin-cta_btn_link::after{
    width: 8px;
    height: 12px;
  }
}
.gakuin-cta_detail_text{
	text-align: center;
}
.gakuin-cta_detail_text p{
	font-size: 36px;
	font-weight: 600;
	line-height: 1.15;
	/*text-align: center;*/
}
.gakuin-cta_detail_text p small{
	font-size: 14px;
}
.gakuin-cta_detail_text p + p{
	margin-top: 10px;
}
.gakuin-cta_block .gakuin-cta_btn_link{
	padding: 12px 20px;
}
@media screen and (max-width: 767px) {
	.gakuin-cta_detail_text p{
		font-size: 30px;
		text-align: left;
	}
}


/* 脚注 */
.gakuin-footnote{
  color: #fff;
  margin: 10px auto;
  max-width: 1040px;
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.gakuin-footnote a{
  color: #fff;
}
.gakuin-text-gray.gakuin-footnote,
.gakuin_cta .gakuin-footnote a,
.gakuin_cta .gakuin-footnote{
  color: #666;
}

.gakuin-footnote-text{
  font-size: 11px;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: 0;
}
.gakuin-footnote-text.has-indent{
  padding-left: 2em;
  text-indent: -1.65em;
}
.gakuin-merit  .gakuin-footnote{
  padding-top: 30px;
  margin: 30px auto -20px;
}
.is-mkt .gakuin-apply .gakuin-footnote{
  margin: 30px auto 60px;
}
.is-corp .gakuin-apply .gakuin-footnote{
  margin: 30px auto;
}

/*__  __*/
.gakuin_course_special_list{
  display: flex;
  flex-wrap: wrap;
}
.gakuin_course_special_title{
  display: flex;
  gap: 5px;
}

/*__ ++++++++++++++++++++++++++++++++++++++++ __*/
/*__ その他の特別教育 __*/
.gakuin_aside_recommend {
  padding: 60px 0px 100px;
  background: url("/gakuin/assets/img/common/academy_course_bg_pc.jpg") center bottom / 100% no-repeat rgb(251, 185, 1);
}
.gakuin_aside_inner{
  max-width: 1140px;
  margin: 0 auto;
}
.gakuin_aside_recommend a{
  text-decoration: none;
  color: #000;
}

.gakuin_aside_recommend_title{
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  font-size: 32px;
  line-height: 1.25;
  margin-bottom: 20px;
}
.gakuin_aside_recommend_title::before{
  content: "";
  width: 14px;
  height: 14px;
  border: solid 8px #fff;
  border-radius: 60px;
}
@media only screen and (max-width: 767px) {
  .gakuin_aside_recommend_title{
    font-size: 20px;
  }
}

.gakuin_aside_recommend_content {
  width: 100%;
  background: rgb(255, 255, 255);
  box-sizing: border-box;
  padding: 40px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 15px 0px;
}

.gakuin_aside_recommend_content .is-current {
  display: none;
  visibility: hidden;
}

.gakuin_aside_recommend_content .academy_course_special_item {
  width: calc(50% - 10px);
}

.gakuin_aside_recommend_btn {
  width: min(480px, 51.06%);
  margin: 60px auto 0px;
}

a.gakuin_aside_recommend_btn_link {
  display: block;
  width: 100%;
  color: rgb(255, 255, 255);
  background: rgb(0, 0, 0);
  padding: 24px 40px;
  border-radius: 9999px;
  box-sizing: border-box;
  text-align: center;
  font-size: min(2.72vw, 20px);
  line-height: 1.35;
  font-weight: 800;
  transition: 0.3s;
}

@media (hover: hover) {
  .gakuin_aside_recommend_btn_link:hover {
    color: rgb(0, 0, 0);
    background: rgb(255, 255, 255);
  }
}

@media screen and (max-width: 767px) {
  .gakuin_aside_recommend {
    padding: 60px 0px 120px;
    background: url("/gakuin/assets/img/common/academy_course_bg_sp.jpg") center bottom / 100% no-repeat rgb(251, 185, 1);
  }

  .gakuin_aside_recommend_title {
    font-size: 16px;
  }

  .gakuin_aside_recommend_content {
    margin-top: 15px;
    padding: 30px 20px;
  }

  .gakuin_aside_recommend_content .gakuin_course_special_item {
    width: 100%;
  }

  .gakuin_aside_recommend_btn {
    width: 100%;
    margin: 40px auto 0px;
  }

  .gakuin_aside_recommend_btn_link {
    padding: 20px 30px;
    font-size: 16px;
  }
}

/**/
.academy_course_special_label{
	position: absolute;
	z-index: 3;
	top: 0;
	left: 0;
	padding: 6px 10px;
	background: #FABD00;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}
.academy_open_label{
	background: #FA0000;
	color: #fff;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.academy_open_label::before{
	content: url(../img/common/academy_open_label_icon.svg);
	margin-right: 5px;
}

/**/
.academy_course_special_list {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 20px;
}
.academy_course_special_item{
	width: calc(33.33% - 13.33px);
	position: relative;
}
.academy_course_special_link{
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
	height: 100%;
	box-sizing: border-box;
	transition: opacity .3s;
}
.academy_course_special_img {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  padding-bottom: 56%;
  position: relative;
}

.academy_course_special_img img {
  position: absolute;
  top: 0;
  left: 0;
  transition: transform .3s;
}
@media (hover:hover) {
  .academy_course_special_link:hover .academy_course_special_img img{
    transform: scale(1.08);
  }
  .academy_course_special_link:hover{
    opacity: 0.85;
  }
}

.gakuin_course_special_title{
	margin-top: 20px;
	display: flex;
	align-items: start;
	justify-content: space-between;
	flex-direction: column;
	gap: 8px;
	height: 100%;
	width: 100%;
}
.gakuin_course_special_title_inner{
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
}
.gakuin_course_price_text{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	width: 100%;
}
.gakuin_course_price{
	font-size: 16px;
	line-height: 1.2;
}
.gakuin_course_price strong{
	font-size: 22px;
	font-weight: 600;
}
.gakuin_course_link{
	display: flex;
	align-items: center;
	gap: 8px;
}
.gakuin_course_link::after{
	display: inline-block;
	content: "";
	width: 24px;
	height: 20px;
	background: url("/gakuin/assets/img/top/academy_course_arrow.svg") no-repeat center center/12px auto;
}