/* 学生向け LP スタイル（旧 gschool_view の Academic/css 7 ファイルを結合し、画像パスを WebP へ書換）*/

/* ===== 元: Academic/css/reset.css ===== */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:where([hidden]:not([hidden='until-found'])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
  tab-size: 2;
  scrollbar-gutter: stable;
}

:where(html:has(dialog:modal[open])) {
  overflow: clip;
}

@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}

:where(#top) {
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(button) {
  all: unset;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role='button'], [role='option']) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(a) {
  color: inherit;
  text-underline-offset: 0.2ex;
}

:where(ul, ol) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
  text-wrap: balance;
}

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(dialog, [popover]) {
  border: none;
  background: none;
  color: inherit;
  inset: unset;
  max-width: unset;
  max-height: unset;
}

:where(dialog:not([open], [popover]), [popover]:not(:popover-open)) {
  display: none !important;
}

:where(:focus-visible) {
  outline: 3px solid CanvasText;
  box-shadow: 0 0 0 5px Canvas;
  outline-offset: 1px;
}

:where(:focus-visible, :target) {
  scroll-margin-block: 8vh;
}

:where(.visually-hidden:not(:focus-within, :active)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
  user-select: none !important;
}

/* ===== 元: Academic/css/header.css ===== */
/* header */

.gl-header {
  position: sticky;
  height: auto
}

.gl-header .header-inner {
  height: 67px;
  background: #fff
}

.gl-header {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 67px;
  background: #fff
}

.gl-header .header-inner {
  display: flex;
  width: 67.5rem;
  height: 100%;
  margin: 0 auto;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap
}

.gl-header .header-inner h1 {
  height: 100%;
}

@media screen and (max-width: 1080px) {
  .gl-header .header-inner {
    width: 100%;
  }
}

.gl-header .logo {
  width: 210px;
  margin: 0 0 0 15px;
}

.gl-header .logo>a {
  position: relative;
  display: block
}

.gl-header .logo>a>img,
.gl-header .logo>a>picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.gl-header .pc-menu {
  display: flex;
  height: 100%;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap
}

.gl-header .pc-menu>li {
  height: 100%
}

.gl-header .pc-menu>li>a {
  position: relative;
  display: flex;
  height: 100%;
  padding: 0 20px;
  text-align: center;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap
}

.gl-header .pc-menu>li>a:before {
  position: absolute;
  top: 18px;
  left: 0;
  display: block;
  width: 1px;
  height: 30px;
  content: '';
  background: #b4b4b4
}

.gl-header .sp-menu-toggle {
  display: none
}

.gl-header .sp-menu-modal {
  display: none
}

@media (min-width:769px) {
  .gl-header .logo>a {
    transition: opacity .3s
  }

  .gl-header .logo>a:hover {
    opacity: .7
  }
}

@media (max-width:768px) {
  .gl-header {
    height: auto
  }

  .gl-header .header-inner {
    position: relative;
    height: 4.69333rem
  }

  .gl-header .sp-menu-modal {
    position: absolute;
    height: 100vh !important
  }

  .gl-header .sp-menu-modal .sp-menu {
    padding: .68267rem 1.36533rem 13.22667rem
  }

  .gl-header {
    width: 100%;
    height: 4.69333rem
  }

  .gl-header .header-inner {
    width: 100%
  }

  .gl-header .logo {
    width: 11.136rem;
    margin: 0 0 0 .85333rem;
    height: 100%;
    padding: 0;
  }

  .gl-header .logo>a {
    display: block;
    height: 100%;
  }


  .gl-header .logo>a>img,
  .gl-header .logo>a>picture {
    width: 100%;
    height: 100%;
  }

  .gl-header .pc-menu {
    display: none
  }

  .gl-header .sp-menu-toggle {
    display: block;
    width: 4.69333rem;
    height: 100%
  }

  .gl-header .sp-menu-toggle>a {
    position: relative;
    display: block;
    height: 100%
  }

  .gl-header .sp-menu-toggle>a .to-open {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0 1.19467rem 0 0;
    transition: opacity .3s;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
  }

  .gl-header .sp-menu-toggle>a .to-open .icon {
    width: 2.34667rem;
    height: 1.70667rem;
    position: relative;
  }

  .gl-header .sp-menu-toggle>a .to-open .icon::before,
  .gl-header .sp-menu-toggle>a .to-open .icon::after {
    content: "";
    position: absolute;
    background-color: #f6568e;
    width: 100%;
    height: 0.2rem;
  }

  .gl-header .sp-menu-toggle>a .to-open .icon::before,
  .gl-header .sp-menu-toggle>a .to-open .icon::after,
  .gl-header .sp-menu-toggle>a .to-open .icon span {
    content: "";
    position: absolute;
    background-color: #f6568e;
    width: 100%;
    height: 0.2rem;
  }

  .gl-header .sp-menu-toggle>a .to-open .icon::before {
    top: 0;
  }

  .gl-header .sp-menu-toggle>a .to-open .icon span {
    top: 50%;
    transform: translateY(-50%);
  }

  .gl-header .sp-menu-toggle>a .to-open .icon::after {
    bottom: 0;
  }

  .gl-header .sp-menu-toggle>a .to-open .txt {
    font-size: .93867rem;
    line-height: 1em;
    margin: .42667rem 0 0;
    white-space: nowrap;
    letter-spacing: 0
  }

  .gl-header .sp-menu-toggle>a .to-close {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: .42667rem 0 0;
    transition: opacity .3s;
    opacity: 0;
    background: #f6568e;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
  }

  .gl-header .sp-menu-toggle>a .to-close .icon {
    width: 2rem;
    height: 2rem;
    position: relative;
  }

  .gl-header .sp-menu-toggle>a .to-close .icon::before,
  .gl-header .sp-menu-toggle>a .to-close .icon::after {
    content: "";
    position: absolute;
    background-color: white;
  }

  .gl-header .sp-menu-toggle>a .to-close .icon::before {
    width: 100%;
    height: 0.2rem;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(45deg);
  }

  .gl-header .sp-menu-toggle>a .to-close .icon::after {
    width: 100%;
    height: 0.2rem;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(-45deg);
  }

  .gl-header .sp-menu-toggle>a .to-close .txt {
    font-size: .93867rem;
    line-height: 1em;
    margin: .512rem 0 0;
    white-space: nowrap;
    color: #fff
  }

  .gl-header .sp-menu-toggle>a.isOpen .to-open {
    pointer-events: none;
    opacity: 0
  }

  .gl-header .sp-menu-toggle>a.isOpen .to-close {
    pointer-events: auto;
    opacity: 1
  }

  .gl-header .sp-menu-modal {
    position: fixed;
    top: 4.69333rem;
    overflow-y: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    padding: 0 0 4.69333rem;
    background: #f6568e
  }

  .gl-header .sp-menu-modal .sp-menu {
    padding: .68267rem 1.36533rem 2.64533rem
  }

  .gl-header .sp-menu-modal .sp-menu a {
    color: #fff
  }

  .gl-header .sp-menu-modal .sp-menu>li {
    margin: .55467rem 0 0
  }

  .gl-header .sp-menu-modal .sp-menu>li>a {
    font-size: 1.10933rem;
    line-height: 1em;
    display: block;
    padding: 1.10933rem;
    letter-spacing: 0;
    border-bottom: solid 1px #fff
  }

  .gl-header .sp-menu-modal .sp-menu>li>a.toggle {
    position: relative
  }
}

/* ===== 元: Academic/css/footer.css ===== */
/* footer */

.gl-footer {
  color: #3c3c3c;
  background: #fff
}

.gl-footer .area-inner {
/*  width: 67.5rem;*/
  margin: 0 auto
}

.gl-footer a {
  color: #3c3c3c
}

.gl-footer .logo-area .area-inner {
  display: flex;
  padding: 1.37109rem 0;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap
}

.gl-footer .logo-area .logo {
  width: 12.12891rem;
  margin: 0 0 0 2.26758rem
}

.gl-footer .logo-area .logo>a {
  position: relative;
  display: block
}

.gl-footer .logo-area .logo>a:before {
  display: block;
  padding: 16.95652% 0 0 0;
  content: ''
}

.gl-footer .logo-area .logo>a>img,
.gl-footer .logo-area .logo>a>picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%
}

.gl-footer .logo-area .address {
  font-size: .73828rem;
  font-weight: 300;
  line-height: 1em;
  margin: 0 0 0 1.6875rem;
  letter-spacing: 0
}

.gl-footer .menu-area {
  border: solid 1px #f2f3f5;
  border-right: none;
  border-left: none
}

.gl-footer .misc-area .area-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 3rem 0;
  padding-bottom: 9rem;
/*  margin-bottom: 2rem;*/
}

.gl-footer .misc-area .link-list {
  display: flex;
  padding: 0rem 0 1rem;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 1.5rem;
}


.gl-footer .misc-area .link-list>li:first-child {
  margin: 0
}

.gl-footer .misc-area .link-list>li>a {
  font-weight: 300;
  line-height: 1em;
  letter-spacing: 0
}

.gl-footer .misc-area .copyright {
  font-size: 0.8rem;
  font-weight: 300;
  line-height: 1em;
  letter-spacing: 0
}


@media (min-width:769px) {

  .gl-footer .logo-area .logo>a {
    transition: opacity .3s
  }

  .gl-footer .logo-area .logo>a:hover {
    opacity: .7
  }

  .gl-footer .menu-area .menu {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: nowrap
  }

  .gl-footer .menu-area .menu .col {
    display: flex;
    width: 100%;
    border: solid 1px #f2f3f5;
    border-top: none;
    border-bottom: none;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: nowrap
  }

  .gl-footer .menu-area .menu .col .col-inner {
    height: 16.76953rem;
    padding: 1.58203rem 0 0;
  }

  .gl-footer .menu-area .menu .col:first-child .col-inner {
    padding: 2.00391rem 0 0;
  }

  .gl-footer .menu-area .menu .item {
    margin: 1.58203rem 0 0;
    line-height: 1;
  }

  .gl-footer .menu-area .menu .item:first-child {
    margin: 0;
  }

  .gl-footer .menu-area .menu .item>a {
    line-height: 1em;
    letter-spacing: 0
  }

  .gl-footer .menu-area .menu .item>a.link:hover {
    text-decoration: underline;
  }

}
/*

@media (max-width:1080px) {
  .gl-footer {
    width: 1080px
  }
}
*/

@media (max-width:768px) {
  .gl-footer {
    width: 100%;
    background: #edeef0
  }

  .gl-footer .area-inner {
    width: 100%
  }

  .gl-footer .logo-area .area-inner {
    display: block;
    padding: 1.10933rem 0 1.36533rem
  }

  .gl-footer .logo-area .logo {
    width: 12.33067rem;
    margin: 0 auto
  }

  .gl-footer .logo-area .logo>a {
    position: relative;
    display: block
  }

  .gl-footer .logo-area .logo>a:before {
    display: block;
    padding: 16.95502% 0 0 0;
    content: ''
  }

  .gl-footer .logo-area .logo>a>img,
  .gl-footer .logo-area .logo>a>picture {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%
  }

  .gl-footer .logo-area .address {
    font-size: .68267rem;
    line-height: 1em;
    margin: .93867rem 0 0;
    text-align: center;
    letter-spacing: 0
  }

  .gl-footer .menu-area {
    border: none
  }

  .gl-footer .menu-area .menu {
    padding: 0 .85333rem
  }

  .gl-footer .menu-area .menu .item>a {
    font-size: .768rem;
    font-weight: 500;
    line-height: 1em;
    display: block;
    padding: 1.06667rem .85333rem;
    letter-spacing: 0;
    border-bottom: solid 1px #fff
  }

  .gl-footer .misc-area .area-inner {
    padding: 1.96267rem 0 1.36533rem;
	padding-bottom: 13rem;
  }

  .gl-footer .misc-area .link-list {
    display: block;
	  text-align: center;
	  margin: 0 auto;
    padding: 0;
  }

  .gl-footer .misc-area .link-list>li {
    margin: 0rem;
    line-height: 1;
  }

  .gl-footer .misc-area .link-list>li>a {
    font-size: 12px;
    font-weight: 400;
    line-height: 2em;
    letter-spacing: 0
  }

  .gl-footer .misc-area .copyright {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1em;
    margin: .93867rem 0 0;
    text-align: center;
    letter-spacing: 0;
    color: #6e6e6e
  }
}

/* ===== 元: Academic/css/common.css ===== */
/* CSS Document */

/*オリジナルリセットcss----------------------------------------------------------- */

img {
  display: block;
}

a {
  text-decoration: none;
}

/*デバイス共通----------------------------------------------------------- */
html {
  font-size: 1rem;
  scroll-behavior: smooth;
}

@media (max-width:1280px) {
  html {
    font-size: 1.48148vw
  }
}

@media (max-width:1080px) {
  html {
    font-size: 16px
  }
}

@media (max-width:768px) {
  html {
    font-size: 16px;
    font-size: 2vw;
    line-height: 0
  }
}

#top {
  font-family: "Noto Sans JP", Arial, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 1.5;
  background-color: #fff;
  color: #000;
  overflow-x: hidden;
  word-break: break-all;
}

@media screen and (max-width: 767px) {
  #top {
    font-size: 16px;
    line-height: 1.4;
  }
}

a,
a img {
  transition: all .3s;
}

a:hover,
a img:hover {
  opacity: 0.7;
}

.m0a {
  margin: 0 auto;
}

.imgr {
  display: block;
  max-width: 100%;
  height: auto;
}

.float_bnn.active{
    display: none;
    position: fixed;
    z-index: 9999;
}


/*テキスト関連----------------------------------------------------------- */

h1 {
  font-size: 3.6rem;
}

h2 {
  font-size: 32px;
  line-height: 46px;
  text-align: center;
}

h3 {
  font-size: 2.2rem;
}

/*
p {
  font-size: 1.2rem;
}
*/

.fwb {
  font-weight: bold !important;
}

/*12px*/
.font_xs {
  font-size: 0.666em;
}

/*14px*/
.font_s {
  font-size: 0.777em;
}

/*24px*/
.font_m {
  font-size: 1.333em;
}

/*40px*/
.font_l {
  font-size: 2.222em;
}

/*60px*/
.font_xl {
  font-size: 3.333em;
}

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

  /*10px*/
  .font_xs {
    font-size: 0.6em;
  }

  /*12px*/
  .font_s {
    font-size: 0.75em;
  }

  /*18px*/
  .font_m {
    font-size: 1.13em;
  }

  /*28px*/
  .font_l {
    font-size: 1.75em;
  }

  /*40px*/
  .font_xl {
    font-size: 2.5em;
  }
}

/*余白&幅調整 Container / Break----------------------------------------------------------- */
@media (min-width: 960px) {
  .container {
    width: 960px;
    margin: 0 auto;
    position: relative;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
  .p_none {
    display: none;
  }
  .pt_none {
    display: none!important;
  }
  .ps_none {
    display: none;
  }
  .t_none {
    display: block;
  }
  .ts_none {
    display: block;
  }
  .s_none {
    display: block;
  }
  .xs{
	display: none;
	}
}

@media (min-width: 768px) and (max-width: 959px) {
  #top {
    overflow-x: hidden;
  }
  .container {
    width: 95%;
    margin: 0 auto;
    position: relative;
    margin-right: auto;
    margin-left: auto;

    box-sizing: border-box;
  }
  .p_none {
    display: block;
  }
  .pt_none {
    display: none!important;
  }
  .ps_none {
    display: block;
  }
  .t_none {
    display: none;
  }
  .ts_none {
    display: none;
  }
  .s_none {
    display: block;
  }
  .xs{
	display: none;
	}	
}

@media screen and (max-width: 767px) {
  #top {
    overflow-x: hidden;
    display: block;
    max-width: 767px;
  }
  .container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
  .p_none {
    display: block;
  }
  .pt_none {
    display: block;
  }
  .ps_none {
    display: none;
  }
  .t_none {
    display: block;
  }
  .ts_none {
    display: none;
  }
  .s_none {
    display: none!important;
  }
  .xs{
	display: none;
	}
}
@media screen and (max-width: 390px) {
	.xs{
		display: block;
	}
	.x_none{
	display: none;		
	}
}

a, a img {transition: all .3s;}
a:hover, a img:hover {opacity: 0.8;}
.dib {display: inline-block;}
.m0a {margin: 0 auto;}
.mla {margin-left: auto;}
.posr {position: relative;}
.posa {position: absolute;}
.imgr {
  display: block;
  max-width: 100%;
  height: auto;
}

.wd80{
	width: 80%;
}
.wd70{
	width: 70%;
}
.wd60{
	width: 60%;
}
@media screen and (max-width: 767px) {
  .spwd80 {
    width: 80% !important;
  }
  .spwd70 {
    width: 70% !important;
  }
  .spwd60 {
    width: 60% !important;
  }
}

/*見出し----------------------------------------------------------- */
h1,
h2,
h3 {
/*  letter-spacing: -0.05em;*/
  line-height: 1.4;
}

h2 {
  margin: 0;
  padding: 0 0 45px;
  text-align: center;
}

h3 {
  margin: 0;
  padding: 0;
}

@media (min-width: 768px) and (max-width: 959px) {
  h2 {
    padding: 0 0 45px;
  }
}

@media screen and (max-width: 767px) {
  h2 {
    padding: 0 0 30px;
	  font-size: 21px;
    line-height: 30px;
	}
}

/*ボタン----------------------------------------------------------- */
/*
.btn {
  display: inline-block;
  background-image: -moz-linear-gradient( -170deg, rgb(231,91,145) 0%, rgb(224,62,46) 100%);
  background-image: -webkit-linear-gradient( -170deg, rgb(231,91,145) 0%, rgb(224,62,46) 100%);
  background-image: -ms-linear-gradient( -170deg, rgb(231,91,145) 0%, rgb(224,62,46) 100%);
  width: 100%;
  height: 80%;
  text-align: center;
  padding: 5px 0;
  color: #fff;
  border-radius:40px;
}
*/

/*Page Top----------------------------------------------------------- */
/*TOPへ戻る*/
.pagetop {
  display: none;
  position: fixed;
  bottom: 15px;
  right: 15px;
  z-index: 9999;
}

.pagetop a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  background-color: #153aa1;
  border-radius: 50%;
  filter: alpha(opacity=100);
  opacity: 1;
}

.pagetop a:before {
  position: absolute;
  content: "";
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 12px solid #fff;
  top: 50%;
  right: 50%;
  transform: translateX(50%) translateY(-60%);
}

.pagetop a:hover {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 12px;
  text-decoration: none;
  filter: alpha(opacity=70);
  opacity: 0.7;
}

.pagetop a:link,
.pagetop a:visited {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .pagetop {
    bottom: 14%;
    right: 5px;
  }
}

/*white-box----------------------------------------------------------- */
.white_box {
  padding: 45px;
  background-color: #fff;
  margin-bottom: 30px;
  border-radius: 15px;
}

.white_box:last-of-type {
  margin-bottom: 0;
}

@media (min-width: 768px) and (max-width: 959px) {
  .white_box {
    padding: 30px;
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 767px) {
  .white_box {
    padding: 15px;
    margin-bottom: 15px;
  }
}

/*Container / Break----------------------------------------------------------- */
@media (min-width: 960px) {
  .container {
    width: 960px;
    margin: 0 auto;
    position: relative;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
}

@media (min-width: 768px) and (max-width: 959px) {
  #top {
    overflow-x: hidden;
  }

  .container {
    width: 768px;
    margin: 0 auto;
    position: relative;
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
}

@media screen and (max-width: 767px) {
  #top {
    overflow-x: hidden;
  }

  .container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
}


/*Container / Break----------------------------------------------------------- */
@media (min-width: 960px) {
  .container {
    width: 960px;
    margin: 0 auto;
    position: relative;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
  .p_none {
    display: none;
  }
  .pt_none {
    display: none;
  }
  .ps_none {
    display: none;
  }
  .t_none {
    display: block;
  }
  .ts_none {
    display: block;
  }
  .s_none {
    display: block;
  }
}

@media (min-width: 768px) and (max-width: 959px) {
  #top {
    overflow-x: hidden;
  }
  .container {
/*    width: 768px;*/
    width: 100%;
    margin: 0 auto;
    position: relative;
    margin-right: auto;
    margin-left: auto;
/*
    padding-left: 15px;
    padding-right: 15px;
*/
    box-sizing: border-box;
  }
  .p_none {
    display: block;
  }
  .pt_none {
    display: none;
  }
  .ps_none {
    display: block;
  }
  .t_none {
    display: none;
  }
  .ts_none {
    display: none;
  }
  .s_none {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  #top {
    overflow-x: hidden;
    display: block;
    max-width: 767px;
  }
  .container {
    margin-right: auto;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
  .p_none {
    display: block;
  }
  .pt_none {
    display: block;
  }
  .ps_none {
    display: none;
  }
  .t_none {
    display: block;
  }
  .ts_none {
    display: none;
  }
  .s_none {
    display: none;
  }
}

a, a img {transition: all .3s;}
a:hover, a img:hover {opacity: 0.8;}
.dib {display: inline-block;}
.m0a {margin: 0 auto;}
.mla {margin-left: auto;}
.posr {position: relative;}
.posa {position: absolute;}
.imgr {
  display: block;
  max-width: 100%;
  height: auto;
}


/*余白&幅調整----------------------------------------------------------- */
.mt0 {margin-top: 0;}.mt5 {margin-top: 5px;}.mt10 {margin-top: 10px;}.mt15 {margin-top: 15px;}.mt20 {margin-top: 20px;}.mt30 {margin-top: 30px;}.mt45 {margin-top: 45px;}.mt60 {margin-top: 60px;}.mt75 {margin-top: 75px;}.mt90 {margin-top: 90px;}.mt120 {margin-top: 120px;}
.mb0 {margin-bottom: 0;}.mb5 {margin-bottom: 5px;}.mb10 {margin-bottom: 10px;}.mb15 {margin-bottom: 15px;}.mb20 {margin-bottom: 20px;}.mb30 {margin-bottom: 30px;}.mb45 {margin-bottom: 45px;}.mb60 {margin-bottom: 60px;}.mb75 {margin-bottom: 75px;}.mb90 {margin-bottom: 90px;}.mb120 {margin-bottom: 120px;}
.pt0 {padding-top: 0;}.pt5 {padding-top: 5px;}.pt10 {padding-top: 10px;}.pt15 {padding-top: 15px;}.pt20 {padding-top: 20px;}.pt30 {padding-top: 30px;}.pt45 {padding-top: 45px;}.pt60 {padding-top: 60px;}.pt75 {padding-top: 75px;}.pt90 {padding-top: 90px;}.pt120 {padding-top: 120px;}
.pb0 {padding-bottom: 0;}.pb5 {padding-bottom: 5px;}.pb10 {padding-bottom: 10px;}.pb15 {padding-bottom: 15px;}.pb20 {padding-bottom: 20px;}.pb30 {padding-bottom: 30px;}.pb45 {padding-bottom: 45px;}.pb60 {padding-bottom: 60px;}.pb75 {padding-bottom: 75px;}.pb90 {padding-bottom: 90px;}.pb120 {padding-bottom: 120px;}
.pl0 {padding-left: 0;} .pl15{padding-left: 15px;}.ml15{margin-left: 15px;}.ml30{margin-left: 30px;}
.pr0 {padding-right: 0;}.pr15{padding-right: 15px;}.mr15{margin-right: 15px;}.mr30{margin-right: 30px;}
.ph0 {padding-left: 0; padding-right: 0;}
.ph15 {padding-left: 15px; padding-right: 15px;}

@media screen and (max-width: 767px) {
  .spmt0 {margin-top: 0;}.spmt5 {margin-top: 5px;}.spmt10 {margin-top: 10px;}.spmt15 {margin-top: 15px;}.spmt20 {margin-top: 20px;}.spmt30 {margin-top: 30px;}.spmt45 {margin-top: 45px;}.spmt60 {margin-top: 60px;}
  .spmb0 {margin-bottom: 0;}.spmb5 {margin-bottom: 5px;}.spmb10 {margin-bottom: 10px;}.spmb15 {margin-bottom: 15px!important;}.spmb20 {margin-bottom: 20px;}.spmb30 {margin-bottom: 30px;}.spmb45 {margin-bottom: 45px;}.spmb60 {margin-bottom: 60px;}
  .sppt0 {padding-top: 0;}.sppt5 {padding-top: 5px;}.sppt10 {padding-top: 10px;}.sppt15 {padding-top: 15px;}.sppt20 {padding-top: 20px;}.sppt30 {padding-top: 30px;}.sppt45 {padding-top: 45px;}.sppt60 {padding-top: 60px;}
  .sppb0 {padding-bottom: 0;}.sppb5 {padding-bottom: 5px;}.sppb10 {padding-bottom: 10px;}.sppb15 {padding-bottom: 15px;}.sppb20 {padding-bottom: 20px;}.sppb30 {padding-bottom: 30px;}.sppb45 {padding-bottom: 45px;}.sppb60 {padding-bottom: 60px;}
  .sppl0 {padding-left: 0!important;}
  .sppr0 {padding-right: 0!important;}
  .spph0 {padding-left: 0; padding-right: 0;}
  .spmr0{margin-right: 0!important;}
}
@media screen and (max-width: 767px) {
  .spwd50 {width: 50% !important;}
  .spwd60 {width: 60% !important;}
  .spwd70 {width: 70% !important;}
  .spwd80 {width: 80% !important;}
  .spwd90 {width: 90% !important;}
}

/* ===== 元: Academic/css/style.css ===== */
/* CSS Document */

/*セクション間余白----------------------------------------------------------- */

section {
  padding: 60px 0;
}

@media (min-width: 960px) {
  .container.ph0 {
    padding-right: 0;
    padding-left: 0;
  }
}

header a,
footer a,
header a:hover,
footer a:hover {
  text-decoration: none;
}

/*色関連----------------------------------------------------------- */
.bg_cl1 {
  background-color: #d5f6e8;
}

.bg_cl2 {
  background-image: -moz-linear-gradient(-15deg, rgb(150, 154, 160) 0%, rgb(79, 81, 84) 100%);
  background-image: -webkit-linear-gradient(-15deg, rgb(150, 154, 160) 0%, rgb(79, 81, 84) 100%);
  background-image: -ms-linear-gradient(-15deg, rgb(150, 154, 160) 0%, rgb(79, 81, 84) 100%);
}

.bg_cl3 {
  background-image: -moz-linear-gradient(50deg, rgb(232, 249, 187) 0%, rgb(203, 245, 255) 100%);
  background-image: -webkit-linear-gradient(50deg, rgb(232, 249, 187) 0%, rgb(203, 245, 255) 100%);
  background-image: -ms-linear-gradient(50deg, rgb(232, 249, 187) 0%, rgb(203, 245, 255) 100%);
}

.bg_cl4 {
  background: #fdfbf0;
}

.bg_img1 {
  background-size: cover;
}

.bg_img2 {
  background-size: cover;
}

.bg_img3 {
  background-size: cover;
}

.bg_img4 {
  background-size: cover;
}

.bg_img5 {
  background-size: cover;
}

.bg_img6 {
  background-size: cover;
}

.bg_img7 {
  background-size: cover;
}

.bg_img8 {
  background-size: cover;
}

.bg_img9 {
  background-size: cover;
}

.bg_img10 {
  background-size: cover;
}

.bg_check {
  background-size: cover;
}


.cl_white {
  color: #fff;
}

.cl_base {
  color: #ff00cc;
}

.cl_main {
  color: #c99494;
}

.cl_red {
  color: #e03e2e;
}

.cl_1 {
  color: #0e88a7
}

.cl_2 {
  color: #c9dfff;
}

.cl_white {
  color: #fff;
}


/*テキスト関連----------------------------------------------------------- */
.highlight {
  background: linear-gradient(transparent 60%, #f3cf1a 60%);
  font-weight: bold;
}

.sample ul li {
  background: url("/assets/img/academic/check_blue.webp")no-repeat left center;
  padding-left: 4.5rem;
}

.light {
  text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 5px #fff;
}

.center {
  text-align: center;
  margin: 0 auto;
}


.brett li {
  padding: 0;
  text-indent: 0;
  margin: 0;
  font-size: 24px;
  margin-bottom: 15px;
  padding-bottom: 14px;
  font-weight: bold;
  display: flex;
  align-items: baseline;
  border-bottom: dashed 1px #cccccc;
  line-height: 1.3;
}

.brett ul li:last-child {
  margin-bottom: 0;
}

/*-----ribon----------*/
.ribon {
  position: relative;
  margin-top: -2%;
  text-align: center;
}

.ribon:before,
.ribon:after {
  position: absolute;
  z-index: 0;
  bottom: 10px;
  display: block;
  content: '';
  border: 1em solid #d90606;
}

.ribon:before {
  left: -5.2%;
  border-left-width: 15px;
  border-left-color: transparent;
}

.ribon:after {
  right: -5.2%;
  border-right-width: 15px;
  border-right-color: transparent;
}

.ribon span {
  position: relative;
  z-index: 1;
  display: block;
  padding: 1rem 2rem;
  color: #fff;
  background: #fa4141;
}

.ribon span:before,
.ribon span:after {
  position: absolute;
  bottom: -10px;
  display: block;
  width: 10px;
  height: 10px;
  content: '';
  border-style: solid;
  border-color: #b70505 transparent transparent transparent;
}

.ribon span:before {
  left: 0;
  border-width: 10px 0 0 10px;
}

.ribon span:after {
  right: 0;
  border-width: 10px 10px 0 0;
}

/*スラッシュ*/
.slash {
  align-items: center;
  /* 線を上下中央 */
  display: flex;
  /* 文字と横線を横並び */
  justify-content: center;
  /* 文字を中央寄せ */
}

.slash::before,
.slash::after {
  background-color: #e03e2e;
  /* 線の色 */
  border-radius: 5px;
  /* 線の両端を丸く */
  content: "";
  height: 5px;
  /* 線の高さ */
  width: 40px;
  /* 線の長さ */
}

.slash::before {
  margin-right: 10px;
  /* 文字との余白 */
  transform: rotate(60deg);
  /* 傾ける */
}

.slash::after {
  margin-left: 10px;
  /* 文字との余白 */
  transform: rotate(-60deg);
  /* 傾ける */
}


/*Page Top----------------------------------------------------------- */
.pagetop a {
  background-color: #fd495d;
}

.flex {
  display: flex;
}

/*Header----------------------------------------------------------- */
/*
header,
footer {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', Geneva, Arial, Verdana, sans-serif;
}

header a:hover,
header a img:hover,
footer a:hover,
footer a img:hover {
  opacity: 1;
}

.gl-container {
  overflow-x: hidden;
  padding-top: 67px;
}

.gl-container .head_bm {
  font-size: 1.4rem;
}

.head_bm {
  padding: 15px 0;
  text-align: center;
  background-color: #f6568e;
  color: #fff;
}

.head_bm span {
  color: #f3cf1a;
}
*/

.css-12j5kn9 {
  padding-top: 0 !important;
}

/*MV----------------------------------------------------------- */
#mv {
  padding: 0 5rem 2rem;
  background: url(/assets/img/academic/pc_fv_bg.webp) no-repeat center;
  background-size: cover;
  position: relative;
}

#mv img {
  max-height: 750px;
}



/*CTA----------------------------------------------------------- */
.cta .flex {
  justify-content: space-evenly;
}

.cta h2 {
  padding: 0 0 20px;
}

.yellow_box {
  background: #fdfbf0;
  padding: 30px;
  margin-bottom: 15px;
}

/*sec01----------------------------------------------------------- */

.sec01 .sec01_headline h2 span {
  color: #0e88a7;
}

.sec01 .sec01_headline p {
  display: inline-block;
  background-color: #e03e2e;
  color: #fff;
  padding: .5rem;
  margin-bottom: 5px;
}

.sec01 .brett {
  flex-direction: column;
  justify-content: space-evenly;
  margin: 0 5%;
  padding: 30px 0;
}

.sec01 .box {
  background-color: #fffcf9;
  border: solid 1px #e03e2e;
  border-radius: 10px;
  text-align: center;
  padding: 20px;
  margin: 0 10px;
  width: 33.33333%;
}

.sec01 .flex {
  justify-content: center;
}

.sec01 .white_box {
  background: #fdfbf0;
  padding: 30px;
  padding-bottom: 45px;
}

.sec01 h3 {
  padding: 15px;
  background: #0e88a7;
  font-size: 30px;
  border-radius: 20px 20px 0 0;
  color: #fff;
  text-align: center;
}

.sec01 h4 {
  color: #0e88a7;
  padding-bottom: 30px;
  text-align: center;
  font-size: 30px;
  position: relative;
}

.sec01 h4::before {
  position: absolute;
  bottom: 20%;
  left: calc(50% - 30px);
  width: 60px;
  height: 5px;
  content: '';
  border-radius: 3px;
  background: #0e88a7;
}

.matching .h_2 {
  font-size: 30px;
  font-weight: bold;

}

.matching .en {
  color: #0e88a7;
  font-size: 5.5rem;
  margin-top: -2.2rem;
  margin-right: 15px;
}

.sec01 .matching .flex {
  justify-content: flex-start;
}

.gsw_box {
  background: url(/assets/img/academic/gschool_gwork_bg.webp) center/cover no-repeat;
  display: flex;
  width: 100%;
  padding: 10px;
}
.gsw_box > .content {
  flex: 7;
  padding: 40px;
  border-radius: 20px;
}
.logo {
  width: 250px;
  margin-bottom: 20px;
}
.image {
  flex: 3;
  display: flex;
  align-items: center;
  justify-content: center;
}
.image img {
  width: 100%;
  max-width: 450px;
  border-radius: 20px;
}

.gsw_white_box {
  background: #fdfbf0;
  border-radius: 15px;
}

/*sec02----------------------------------------------------------- */
.sec02 .number {
  margin-top: -18%;
}

.sec02 .number2 {
  margin-top: -12%;
}

.sec02 h3 {
  font-size: 22px;
}

.sec02 .white_box {
  margin: 0 5px;
  padding: 30px 20px;
  width: 33%;
  text-align: center;
}

.sec02 .white_box2 {
  background: #fff;
  margin: 0 5px;
  padding: 30px 20px;
  width: 45%;
  border-radius: 15px;
  text-align: center;
}

.sec02 .flex {
  justify-content: center;
}

.sec02 .h_3 {
  background: #0e88a7;
  padding: 10px 15px;
  color: #fff7cb;
  border-radius: 30px;
  max-width: 80%;
  font-size: 30px;
}

.sec02 .white_box3 {
  background: #fff;
  margin: 0 5px;
  padding: 30px 20px;
  border-radius: 0 0 15px 15px;
  text-align: center;
  max-width: 300px !important;
  height: 350px;
}

.sec02 h3 {
  text-align: center;
  margin: 0 auto;
}

.sec02 .txt {
  font-size: 24px;
  line-height: 1.4;
}

.sec02 .sec02_container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 3% 0;
}

.sec02 .photo {
  margin: 0 1.8%;
}

/*sec06----------------------------------------------------------- */
.list-step {
  grid-template-columns: repeat(5, 5fr);
  display: grid;
  grid-column-gap: 10px;
  grid-row-gap: 10px;
}

.list-step li {
  background: #effdf7;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  height: 260px;
  border-radius: 10px;
  padding: 10px;
  padding-top: 30px;
  font-size: 14px;
}

.list-step li p.img {
  margin-bottom: -45px;
}

.list-step li p {
  margin: -15px 0 0;
  line-height: 1.3em;
  color: #3e3a39;
  font-weight: 500;
  width: 100%;
}

.list-step li .desc {
  height: 35%;
}

/*
.sec06 i::before {
content: '\f00c';
font-family: 'Font Awesome 6 Free';
font-weight: 900;
padding: 0 7px 0 0
}
*/

.sec06 li {
  position: relative;
}

.sec06 .step {
  position: absolute;
  top: -15%;
}

/*sec07----------------------------------------------------------- */
.sec07 {
  background-color: #f7f7f7;
}

.sec07 .sec07_headline {
  text-align: center;
}

.sec07 .sec07_fcl_01 {
  font-size: 1.333em;
  color: #0e88a7;
}

.sec07 .sec07_fcl_02 {
  font-size: 1.333em;
  color: #fd495d;
}

.sec07 .sec07_headline p .sec07_fs_01 {
  font-size: 1em;
  font-weight: normal;
}

.sec07 .sec07_fcl_03 {
  color: #0e88a7;
}

.sec07 .sec07_fcl_04 {
  color: #fd495d;
}

.qa .q .txt {
  margin-left: 10px;
}

.qa .a {
  margin-bottom: 25px;
}

.qa .txt {
  margin-left: 10px;
}

.qa .box {
  margin-bottom: 25px;
}

.qa .box:last-child,
.qa .box:last-child .a {
  margin-bottom: 0;
}

.qa .box .a {
  border-bottom: dashed 1px #cccccc;
  padding-bottom: 25px;
}

.qa .box_item {
  display: flex;
  align-items: flex-start;
  padding-bottom: 0;
}

.qa .q .box_item {
  align-items: center;
  margin-bottom: 15px;
}

.qa .qq .txt {
  margin: 0 auto;
}


/*form----------------------------------------------------------- */
.form_container {
  max-width: 780px;
  margin: 0 auto;
  background-color: #ffffff;
  padding: 40px;
}

.ph0 {
  padding-left: 0;
  padding-right: 0;
}

form {
  display: flex;
  flex-direction: column;
}

label {
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 1em;
  color: #f6568e;
  ;

}

input[type="text"],
input[type="email"],
textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 20px;
  border: 1px solid #e0e0e0;
  border-radius: 5px;
  font-size: 16px;
  box-sizing: border-box;
}

input[type="submit"] {
  margin: 0 auto;
  border: none;
  font-size: 1em;
  width: 50%;
}

textarea {
  height: 150px;
  resize: vertical;
}

/*==========================================================================*/
/*                             floating banner                                      */
/*==========================================================================*/
.float_btn {
  position: fixed;
  bottom: -200px;
  background: rgba(255, 255, 255, 0.6);
  left: 0;
  width: 100%;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all ease 0.3s;
  z-index: 99;
}

.float_btn a {
  display: inline-block;
}

.float_btn.active {
  bottom: 0;
}

.float_btn img {
  width: 80%;
}

/* ===== 元: Academic/css/tab.css ===== */
/* CSS Document */
/*タブレット用スタイル*/
@media (min-width: 768px) and (max-width: 959px) {

  /*セクション間余白-----------------------------------------------------------*/
  section {
    padding: 60px 0;
  }

  footer {
    padding: 30px 0;
  }

  /*MV-----------------------------------------------------------*/
  #mv {
    padding: 0;
    overflow: hidden;
  }
  #mv img {
	max-height: 400px;
  }

/*sec01-----------------------------------------------------------*/
.matching .h_2{
	font-size: 24px;
	line-height: 1.3;
	padding-bottom: 15px;
}
.matching .en{
	color: #0e88a7;
	font-size: 3.5rem;
	margin-top: -0.8rem;
	margin-right: 12px;
}
.matching .left{
	margin-right: 15px;	
}
.matching .right{
	margin-left: 30px;	
}
.mr30{
	margin-right: 0;
}
.sec01 .white_box{
	background: #fdfbf0;
	padding: 30px;
	padding-bottom: 45px;
	margin-bottom: 45px;
}
	

/*sec02-----------------------------------------------------------*/
.sec02 .white_box {
    margin: 0 5px;
    width: 33%;
    text-align: center;
}
.font_m {
    font-size: 1.2em;
}
.sec02 .white_box3 {
    background: #fff;
    margin: 0 5px;
    padding: 20px 15px;
    border-radius: 0 0 15px 15px;
    text-align: center;
    max-width: 300px;
}
  /*Footer----------------------------------------------------------- */
  footer ul li {
    margin: 0;
  }

  footer ul li a {
    margin: 0;
    padding: 0 10px;
  }

  footer ul li:first-child a {
    padding-left: 0;
  }

}

@media (min-width: 960px) and (max-width: 1080px) {

  .gl-container,
  .gl-header,
  .gl-header .header-inner,
  .gl-footer,
  .gl-footer .area-inner {
    width: 100%;
  }

}

/*タブレット用スタイルend*/

/* ===== 元: Academic/css/sp.css ===== */
/* CSS Document */
/*スマホ用スタイル*/
@media screen and (max-width: 767px) {

  #top {
    text-align: left;
    font-size: 12px;
  }

  /*セクション間余白----------------------------------------------------------- */
  section {
    padding: 40px 0 !important;
  }
  footer {
    padding: 15px 0 !important;
  }
  .flex{
	  display: block !important;
  }
	.sp_tal{
		text-align: left !important;
	}

  /*Header----------------------------------------------------------- */
  header .logo {
    padding-right: 20px !important;
  }

  .head_bm {
    padding: 10px 0 !important;
  }  
  .gl-container {
    width: 100% !important;
/*    padding-top: 4.69333rem*/
  }

	
  /*MV----------------------------------------------------------- */
  #mv {
    padding: 0 !important;
    background: none !important;
  }
  #mv img{
    max-height: 100% !important;
  }
	
  /*CTA----------------------------------------------------------- */
  .cta {
    padding: 30px 0px !important;
  }
  .cta .white_box{
	padding: 20px 15px !important;
  }
  .yellow_box {
    text-align: center;
    padding: 20px 5px !important;
    margin-bottom: 15px !important;
  }
	.cta .flex{
		display: flex;
		font-size: 12px !important;
	}


/*sec01----------------------------------------------------------- */
  .sec01 h4 {
    padding-bottom: 20px !important;
    font-size: 18px !important;
  }
  .sec01 h4::before{
	bottom: 20% !important;
	left: calc(50% - 30px) !important;
	width: 60px !important;
	height: 3px !important;
	content: '';
	border-radius: 3px !important;
	background: #0e88a7 !important;
  }
  .sec01 .white_box {
    padding: 10px 0px !important;
    padding-bottom: 30px !important;
  }
  .sec01 h3 {
    font-size: 18px !important;
}

  /*sec02----------------------------------------------------------- */
  .matching .h_2{
    font-size: 20px !important;
    line-height: 1.2 !important;
  }
  .flex_sp{
	  display: flex !important;
  }
  .matching .en {
    font-size: 5rem !important;
    margin-top: -0.8rem !important;
    margin-right: 15px !important;
  }
	
  .sec02 .white_box {
    margin: 0 5px !important;
	  margin-bottom: 0px !important;
    padding: 20px 15px !important;
    width: 50% !important;
  }
  .sec02 .white_box2{
      padding: 20px 15px !important;
      width: 50% !important;
  }
  .sec02 h3 {
    font-size: 18px !important;
  }
	.sec02 .number{
    margin-top: -24% !important;
	}
	.sec02 .number2{
    margin-top: -24% !important;
	}
	.sec02 .white_box_sp{
    background: #fff !important;
    margin: 0 5px !important;
    padding: 30px 20px !important;
    width: 100% !important;
  }
	.number_sp{
		margin-top: -11%!important;
	}
  .sec02 .h_3 {
    padding: 10px 15px !important;
    border-radius: 80px !important;
    font-size: 16px !important;
    max-width: 100% !important;
  }	
  .sec02 .photo {
    margin: 0% !important;
  }
  .sec02 .white_box3 {
    margin: 0 auto !important;
    padding: 20px !important;
    max-width: 100% !important;
    height: auto !important;
  }
  .sec02 .font_s{
	line-height: 1 !important;
  }

  .gsw_box {
    display: block !important;
  }
  .gsw_box > .content {
    padding: 20px !important;
  }
  .image img {
    width: 70% !important;
  }
	
@media screen and (max-width: 365px) {
  .matching .h_2 {
    font-size: 20px !important;
	line-height: 1.2 !important;
	}
  .sec02 .h_3 {
    font-size: 14px !important;
  }
}

	
/*sec06----------------------------------------------------------- */
.list-step {
	grid-template-columns: repeat(1, 1fr) !important;
	display: grid !important;
	grid-column-gap: 10px !important;
	grid-row-gap: 10px !important;
	margin: 0 auto !important;
}
.list-step li {
	background: #effdf7 !important;
	text-align: center !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: space-between  !important;
	align-items: center !important;
	height: 120px !important;
	border-radius: 10px !important;
	padding: 15px !important;
}
.list-step li p.img {
	margin-bottom: 0 !important;
}
.list-step li p {
	margin: 0 !important;
	line-height: 1.3em !important;
  width: 20% !important;
}
.sec06 .step{
	position: relative !important;
	top: 0% !important;
}
.sec06 i{
	width: 90px !important;
}
.list-step li .desc {
    height: auto !important;
}
.sec06 .desc{
	width: 50% !important;
	text-align: left !important;
}

@media screen and (max-width: 390px) {
.sec06 .desc{
	width: 50% !important;
	text-align: left !important;
}
}
	
/*sec07----------------------------------------------------------- */
  .qa .icon {
    width: 30px !important;
    flex-shrink: 0 !important;
  }

  .qa .q .box_item {
    align-items: center !important;
  }


  /*form----------------------------------------------------------- */

  form>ul>li {
    padding: 15px !important;
  }
	
	
/*==========================================================================*/
/*                             floating banner                                      */
/*==========================================================================*/
.float_btn{
	padding: 5px !important;
	padding-bottom: 3px !important;
}	
	
}

/*スマホ用スタイルend*/

/* ===== 以下は静的化にあたっての追加分（元 JSX の MUI sx を CSS 化） ===== */

/* Font Awesome 6 Free（使用アイコンのみのサブセット。webfonts 全同梱を廃止） */
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url(/assets/fonts/fa-solid-900.woff2) format("woff2");
}

.fa-solid {
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-variant: normal;
  font-weight: 900;
  line-height: 1;
  text-rendering: auto;
}

.fa-solid::before { content: var(--fa); }
.fa-person { --fa: "\f183"; }
.fa-arrow-pointer { --fa: "\f245"; }
.fa-person-chalkboard { --fa: "\e53d"; }
.fa-flag { --fa: "\f024"; }
.fa-building { --fa: "\f1ad"; }
.fa-3x { font-size: 3em; }
.fa-5x { font-size: 5em; }

/* CTA セクションの注記（旧 Typography variant="caption"） */
.acad-cta__banner { padding: 0 0 20px; }
.acad-cta__note {
  display: block;
  margin-top: 8px;
  font-size: 0.75rem;
  text-align: center;
}

/* 「GSchoolで学んで、GWorkで就職！」（旧 _internal/Gwork.jsx） */
.acad-gwork__title {
  padding: 15px;
  font-weight: 600;
  background-color: #0b88a7;
  font-size: 18px;
  border-radius: 20px 20px 0 0;
  color: #fff;
  text-align: center;
}

.acad-gwork {
  background-color: #fdfbf0;
  padding: 10px 0 30px;
}

.acad-gwork__logo {
  display: block;
  width: 80%;
  height: auto;
  margin: 5px 0 0 47px;
}

.acad-gwork__lead,
.acad-gwork__support {
  display: block;
  font-size: 14px;
  text-align: center;
  line-height: 1.7;
  max-width: 850px;
  margin: 20px 20px 0;
  padding: 8px;
}

.acad-gwork__support { max-width: 700px; padding: 0; }

.acad-gwork__lead .em,
.acad-gwork__support .em {
  color: #0b88a7;
  font-weight: 600;
  font-size: 16px;
}

.acad-gwork__lead .x { margin-right: 15px; }

.acad-gwork__image {
  display: flex;
  justify-content: center;
  align-items: center;
}

.acad-gwork__image img { width: 100%; max-width: 600px; height: auto; }

@media (min-width: 600px) {
  .acad-gwork__title { font-size: 30px; }
  .acad-gwork { padding: 30px 30px 45px; }
}

@media (min-width: 900px) {
  .acad-gwork__logo { width: 40%; margin: 0 auto; }
  .acad-gwork__lead { margin: 10px auto 0; }
  .acad-gwork__support { margin: 0 auto; }
  .acad-gwork__lead .em,
  .acad-gwork__support .em { font-size: 18px; }
  .acad-gwork__lead,
  .acad-gwork__support { font-size: 16px; }
}

/* 「選べるプラン＋オプション」（旧 _internal/Plan.jsx） */
.acad-plan {
  padding: 32px;
  background-color: #fff;
}

.acad-plan__inner {
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}

.acad-plan__title {
  color: #1b1139;
  font-size: 21px;
  margin: 24px 0 16px;
  text-align: center;
  font-weight: 600;
}

.acad-plan__title .em { color: #0b88a7; }

.acad-plan__stack {
  display: flex;
  flex-direction: column;
  gap: 32px;
  justify-content: center;
  align-items: center;
}

.acad-plan__card {
  width: 100%;
  min-width: 280px;
  max-width: 350px;
  border: 2px solid #fff;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14),
    0px 1px 8px 0px rgba(0, 0, 0, 0.12);
  padding: 16px;
}

.acad-plan__name {
  font-weight: 600;
  color: #0b88a7;
  font-size: 22px;
  text-align: center;
  margin-bottom: 8px;
}

.acad-plan__desc {
  color: rgba(0, 0, 0, 0.6);
  text-align: center;
  margin-bottom: 16px;
}

.acad-plan__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 50px;
}

.acad-plan__row--price { min-height: auto; padding: 4px 0; }
.acad-plan__row .label { color: rgba(0, 0, 0, 0.6); }
.acad-plan__price { font-weight: bold; font-size: 18px; }
.acad-plan__divider { border: 0; border-top: 1px solid rgba(0, 0, 0, 0.12); margin: 8px 0; }

.acad-plan__row .icon-ok { color: #00c292; }
.acad-plan__row .icon-ng { color: #cf6679; }
.acad-plan__row svg { display: block; }

.acad-plan__gwork-logo { width: 60px; }

.acad-plan__help {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: help;
}

.acad-plan__help svg { color: rgba(0, 0, 0, 0.4); }

.acad-plan__plus {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 16px 0;
  color: #0b88a7;
  font-size: 5rem;
  font-weight: 400;
  line-height: 1;
}

.acad-plan__extra {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 12px;
}

.acad-plan__extra::before {
  content: "";
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #33a9ae;
}

@media (min-width: 900px) {
  .acad-plan__inner { max-width: 960px; padding: 30px 0; }
  .acad-plan__title { font-size: 2.5rem; margin-bottom: 40px; }
  .acad-plan__stack { flex-direction: row; gap: 16px; align-items: stretch; }
  .acad-plan__card { width: 30%; }
  .acad-plan__plus { width: auto; margin: 0 16px; }
  .acad-plan__price { font-size: 21px; }
  .acad-plan__desc, .acad-plan__row .name { font-size: 14px; }
  .acad-plan__extra { font-size: 14px; }
}

/* ページトップボタンは JS でスクロール時に表示（初期非表示） */
.pagetop { display: none; }
