@charset "utf-8";
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/**/
/*==========================================
Common CSS
==========================================*/
body {
  position: relative;
  font-size: clamp(0.875rem, 0.774rem + 0.43vw, 1.125rem); /*375～1300：14～18px*/
  line-height: 1.4;
  color: #000;
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Osaka, sans-serif;
  font-weight: 400;
  animation: fadein 1s forwards;
  letter-spacing: 0.05em;
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
img {
  max-width: 100%;
  vertical-align: middle;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}
.bold {
  font-weight: 700;
}
/*-------------
column
---------------*/
.wrap1200 {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
.wrap1000 {
  max-width: 1000px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 767px) {
  .wrap1200, .wrap1000 {
    padding-left: 15px;
    padding-right: 15px;
  }
}
/*-------------

---------------*/ :root {
  /*余白*/
  --space120: clamp(3.75rem, 2.23rem + 6.49vw, 7.5rem);
  --space80: clamp(2.5rem, 1.486rem + 4.32vw, 5rem);
  --space60: clamp(1.875rem, 1.115rem + 3.24vw, 3.75rem);
  --space40: clamp(1.25rem, 0.743rem + 2.16vw, 2.5rem);
  --space30: clamp(0.938rem, 0.511rem + 1.82vw, 1.875rem);
  --space20: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem);
  /*フォント　375～1200間*/
  --fs56: clamp(1.5rem, 0.591rem + 3.88vw, 3.5rem); /*24～56*/
  --fs36: clamp(1.375rem, 0.977rem + 1.7vw, 2.25rem); /*22～36*/
  --fs32: clamp(1.25rem, 0.909rem + 1.45vw, 2rem); /*20～32*/
  --fs24: clamp(1.125rem, 0.955rem + 0.73vw, 1.5rem); /*18～24*/
  --fs18: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem); /*14～18*/
  --fs16: clamp(0.75rem, 0.659rem + 0.45vw, 1rem); /*12～16*/
}
/*-------------
表示・非表示
---------------*/
@media screen and (min-width:768px) { /*PC*のみで表示*/
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}
@media screen and (max-width:767px) { /*スマホのみで表示*/
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
/*-------------
link
---------------*/
a {
  text-decoration: none;
  color: inherit;
}
a:link {
  text-decoration: none;
}
a:visited {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
  transition: .3s;
  opacity: .8;
}
a:active {
  text-decoration: none;
}
a.page-link {
  text-decoration: underline;
}
/*-------------
電話番号
---------------*/
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    white-space: nowrap;
  }
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
  }
  a[href^="tel:"]:hover {
    text-decoration: underline;
  }
}
/*==========================================
header
==========================================*/
header {
  display: flex;
  background: #fff;
  padding: 0 0 15px 12px;
}
header .higo {
  max-width: 190px;
}
header .code {
  font-size: 10px;
  margin: 12px 0 0 25px;
  text-align: center;
}
header .flex {
  width: 509px;
  display: flex;
  flex-direction: column;
  margin: 12px 0 0 25px;
}
header .flex .flex_top {
  display: flex;
}
header .kfg {
  max-width: 182.72px;
}
header .kagoshima {
  max-width: 127.5px;
}
header .flex .flex_bottom {
  display: flex;
  margin-top: 5px;
}
header .kfgs {
  max-width: 105px;
}
header .kyu_ds {
  max-width: 190.91px;
}
header .creation {
  max-width: 154px;
}
header .flex .flex_top div, header .flex .flex_bottom div {
  margin-right: 30px;
}
@media screen and (max-width:767px) {
  header {
    padding: 0 0 5px 5px;
  }
  header .higo {
    width: 98px;
  }
  header .flex {
    margin-left: 5px;
  }
  header .kfg {
    max-width: 27px;
    margin-left: 0px;
  }
}
/*----------------------------------------------------
main
------------------------------------------------------*/
@media screen and (min-width:768px) {
  main {
    min-width: 1300px;
  }
}
/*----------------------------------------------------
bg
------------------------------------------------------*/
.bg{
	background: url("images/bg.jpg")no-repeat;
	background-size: cover;
}
/*----------------------------------------------------
fv
------------------------------------------------------*/
.fv img {
  width: 100%;
}
/*----------------------------------------------------
course
------------------------------------------------------*/
.course {
  padding-bottom: var(--space120);
  ;
}
/*-------　courseType　---------*/
.courseType {
  padding-top: var(--space60);
}
.courseType__ttl{
	text-align: center;
}
.courseType__list {
  margin-top: 10px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width:767px) {
  .courseType__list {
    flex-wrap: wrap;
    grid-column-gap: 5px;
    grid-row-gap: 10px;
  }
  .courseType__item--teiki {
    width: calc(50% - 5px);
  }
  .courseType__item--mix {
    width: 100%;
  }
}
.courseType__item img {
  border-radius: 10px;
  border: 1px solid #DEDEDE;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
}
/*------- attention */
.attention {
  font-size: var(--fs16);
  margin-top: var(--space20);
}
.indent {
  text-indent: -1em;
  padding-left: 1em;
}
/*------- arrow　-*/
.arrow {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 80px solid transparent;
  border-left: 80px solid transparent;
  border-top: 70px solid #213C8C;
  border-bottom: 0;
  margin: var(--space80) auto 10px;
}
@media screen and (max-width:767px) {
  .arrow {
    border-right: 40px solid transparent;
    border-left: 40px solid transparent;
    border-top: 30px solid #213C8C;
  }
}
/*-------　courseInterest　---------*/
.courseInterset__item {
  border-radius: 10px;
  display: flex;
  margin-top: var(--space60);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
}
.courseInterset__item + .courseInterset__item {
  margin-top: var(--space20);
}
.courseInterset__itemTtl {
  width: 34%;
}
.courseInterset__itemTtl img {
  border-radius: 10px 0 0 10px;
}
.courseInterset__interest {
  background: #fff;
  width: 66%;
  box-sizing: border-box;
  border-radius: 0 10px 10px 0;
  padding: var(--space40) var(--space60);
}
.courseInterset__interestItem {
  font-size: var(--fs36);
  font-weight: 700;
  font-feature-settings: "palt";
}
.courseInterset__interestItem .pink {
  color: #DC0013;
}
.courseInterset__interestItem .small {
  font-size: var(--fs18);
}
/* マーカーのスタイル */
.marker {
  background: linear-gradient(transparent 40%, #ff0 40%); /* 線の色 */
  background-position: left bottom; /* 線の起点を左・下に設定 */
  background-repeat: no-repeat;
  background-size: 0 .5em; /* 線の横幅を0、縦幅を0.5emに */
  transition: background-size 1s; /* 線を伸ばすアニメーション実行時間を指定 */
}
/* マーカーが表示された時のスタイル */
.marker.active {
  background-size: 100% .5em; /* 線の横幅を100%にする */
}
.courseInterset__interestItemDetail {
  margin-top: var(--space20);
}
.courseInterset__interestItemDetailTax {
  display: flex;
  margin-top: 1em;
}
.courseInterset__interestItemDetailTax dt {
  flex-shrink: 0;
}
.courseInterset__interestItemDetailTax::before {
  content: "";
  width: 21px;
  height: auto;
  margin-right: .5em;
  background: url("images/bracket-left.png") no-repeat;
  background-position: left top;
  background-size: contain;
}
.courseInterset__interestItemDetailTax::after {
  content: "";
  width: 21px;
  height: auto;
  margin-left: .5em;
  background: url("images/bracket-right.png") no-repeat;
  background-position: right top;
  background-size: contain;
  display: block;
}
@media screen and (max-width:767px) {
  .courseInterset__item {
    flex-direction: column;
  }
  .courseInterset__itemTtl {
    width: 100%;
  }
  .courseInterset__itemTtl img {
    border-radius: 10px 10px 0 0;
  }
  .courseInterset__interest {
    background: #fff;
    width: 100%;
    padding: 20px;
    border-radius: 0 0 10px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .courseInterset__interestItemDetailTax::before {
    background: url("images/bracket-left_sp.png") no-repeat;
    background-size: contain;
    background-position: left top;
  }
  .courseInterset__interestItemDetailTax::after {
    background: url("images/bracket-right_sp.png") no-repeat;
    background-size: contain;
    background-position: right top;
  }
}
/*-------　courseContinue　---------*/
.courseContinue {
  margin-top: var(--space60);
}
.courseContinue__ttl {
  font-size: var(--fs24);
  margin-bottom: var(--space20);
}
.courseContinue__cnt{
	text-align: center;
}
@media screen and (max-width:767px) {
  .courseContinue__img {
    max-width: 460px;
    width: 100%;
    margin: 0 auto;
  }
}
/*----------------------------------------------------
overview
------------------------------------------------------*/
.overview {
  background: #FFF8F0;
  padding-top: var(--space120);
  padding-bottom: var(--space120);
}
.overview__ttl {
  color: #A10E1B;
  font-size: var(--fs56);
  text-align: center;
  font-weight: 700;
}
.overviewTable {
  margin-top: var(--space40);
}
.overviewTable table tr {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
}
.overviewTable table th {
  border-right: 1px solid #707070;
  background: #F5F5F5;
  padding: 10px;
}
.overviewTable table td {
  border-right: 1px solid #707070;
  background: #fff;
  padding: var(--space20);
}
.overviewTable table th:first-of-type {
  width: 18.18%;
}
.overviewTable table th {
  width: 27.27%;
  text-align: center;
  vertical-align: middle;
  font-weight: 700;
}
.overviewTable table td {
  text-align: center;
  vertical-align: middle;
}
.overviewTable table th.headlineTeiki {
  background: #A10E1B;
  color: #fff;
  border-right: 1px solid #fff;
}
.overviewTable table th.headlineMix {
  background: #680E16;
  color: #fff;
}
.overviewTable table th:last-child {
  border-right: none;
}
.overviewTable table td:last-child {
  border-right: none;
}
.overviewTable table td.left {
  text-align: left;
}
.overviewTable table dt {
  text-indent: -1em;
  padding-left: 1em;
}
.overviewTable table dd {
  text-indent: -1em;
  padding-left: 2em;
}
.overviewTable table .bold {
  font-weight: 700;
}
@media screen and (max-width:767px) {
  .overviewTable table {
    width: 100%;
    overflow-x: scroll;
  }
  .overviewTable table {
    width: 150%;
  }
}
/*横スクロールのアイコン位置*/
.scroll-hint-icon {
  top: 20%;
}
/*------overviewMix---------*/
.overviewMix {
  border: solid 8px #FFF1C1;
  background: #fff;
  border-radius: 20px;
  padding: var(--space40) 100px var(--space60);
  margin-top: var(--space60);
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
}
.overviewMix__2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 30px;
  gap: 20px;
}
.overviewMix__txt {
  font-weight: 700;
  margin-top: var(--space20);
  line-height: 1.8;
}
.overviewMix__icon {
  margin-top: var(--space20);
}
@media screen and (max-width:767px) {
  .overviewMix {
    padding: var(--space40) 20px var(--space60);
  }
  .overviewMix__2col {
    grid-template-columns: repeat(1, 1fr);
  }
  .overviewMix__icon {
    margin: 0 auto;
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;
    max-width: 80%;
  }
}
.overviewMix__table {
  margin-top: var(--space40);
}
.overviewMix__table table {
  width: 100%;
}
.overviewMix__table thead th {
  background: #213C8C;
  color: #fff;
  font-weight: 700;
}
.overviewMix__table tr {
  border-bottom: 1px solid #707070;
}
.overviewMix__table thead tr {
  border-bottom: none;
}
.overviewMix__table th {
  background: #F5F5F5;
  padding: 10px;
  width: 20%;
  vertical-align: middle;
  font-weight: 700;
}
.overviewMix__table td {
  padding: var(--space20);
}
.overviewMix__table td dd {
  margin-top: .8em;
}
/*----------------------------------------------------
info
------------------------------------------------------*/
.info {
  padding-top: var(--space60);
  padding-bottom: 200px;
  font-size: var(--fs16);
}
.info__list li::before {
  content: "●";
}
.info__list li {
  text-indent: -1em;
  padding-left: 1em;
}
.infoCnt__ttl {
  color: #A10E1B;
  font-size: var(--fs32);
  margin-bottom: 10px;
}
.infoCnt__ttl--2 {
  color: #A10E1B;
}
.infoCnt + .infoCnt {
  margin-top: var(--space60);
}
.infoCnt__txt {
  margin-top: 1em;
}
@media screen and (max-width:767px) {
  .info {
    padding-bottom: 120px;
  }
}
/*----------------------------------------------------
footer
------------------------------------------------------*/
footer {
  background: #3c4950;
}
footer .txt-area {
  color: #fff;
  padding-top: 40px;
  padding-bottom: 40px;
  font-size: 0.875rem;
}
footer .txt-area img.logo-higobank {
  max-width: 364px;
}
footer .txt-area p.privacy {
  text-decoration: underline;
  margin-top: 30px;
}
footer .txt-area p.privacy a {
  color: #fff;
}
footer .txt-area p.bankcode {
  margin-top: 10px;
}
footer .txt-area p.copyright {
  font-size: 0.75rem;
  margin-top: 20px;
}
@media screen and (max-width:767px) {
  footer .txt-area img.logo-higobank {
    width: 90%;
  }
}
.contact {
  width: 100%;
  text-align: center;
  position: relative;
}
.contact a {
  padding-top: 10px;
  background: #FFEFDC;
  width: 100%;
  display: block;
}
.contact a:hover {
  opacity: 1;
}
@media screen and (max-width:767px) {
  .contact img {
    max-width: 80%;
  }
}
/*----------------------------------------------------
toTop
------------------------------------------------------*/
.toTop {
  position: absolute;
  right: 20px;
  top: -80px;
}
.toTop:hover {
  cursor: pointer;
  opacity: 0.8;
}
.toTop__btn {
  max-width: 50px;
}
@media screen and (max-width:767px) {
  .toTop {
    position: absolute;
    right: 10px;
    top: -50px;
  }
  .toTop__btn {
    max-width: 40px;
  }
}