@charset "UTF-8";
html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  font-weight: normal;
  font-style: normal;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  font-family: "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Segoe UI", "メイリオ", Meiryo, sans-serif;
  color: #231815;
  background: url(../img/bg.jpg) repeat-y top center;
  background-size: contain;
  font-weight: 800;
}
@media screen and (max-width: 768px) {
  body {
    background: url(../img/bg_sp.jpg) repeat-y top center;
    background-size: contain;
  }
}

img {
  width: 100%;
}

.sp {
  display: none;
}

a {
  text-decoration: unset;
}

.blue {
  color: #00A5D5;
}

.orange {
  color: #F29300;
}

.none {
  opacity: 0;
}

small {
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  small {
    font-size: 11px;
    display: block;
    line-height: 1.4;
    margin-top: 6px;
  }
}

.wave_bottom {
  position: relative;
}
.wave_bottom::before {
  content: "";
  display: block;
  width: 100%;
  height: min(89px, 7.4vw);
  background: url(../img/ptn_wave.png) repeat-x center;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .wave_bottom::before {
    height: min(44px, 11.28vw);
  }
}

.wave_top {
  position: relative;
}
.wave_top::before {
  content: "";
  display: block;
  width: 100%;
  height: min(89px, 7.4vw);
  background: url(../img/ptn_wave_bottom.png) repeat-x center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .wave_top::before {
    height: min(44px, 11.28vw);
  }
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
header {
  background-color: #fff;
  padding: 20px 7.5%;
}
header .logo {
  width: 160px;
}
@media screen and (max-width: 768px) {
  header {
    padding: 18px 4.5%;
  }
  header .logo {
    width: min(126px, 32vw);
  }
}

.kv {
  position: relative;
}
.kv figure {
  margin: 0 auto;
  width: 100%;
  max-width: 1440px;
  width: 100%;
}

.cta {
  width: 100%;
  background-color: #FFFEEE;
  position: relative;
}
.cta .btn {
  padding-bottom: 10px;
}
.cta .btn a {
  display: block;
  width: 483px;
  height: 90px;
  line-height: 90px;
  font-size: 38px;
  font-weight: 800;
  letter-spacing: 0.05em;
  background-color: #fff;
  border-radius: 16px;
  border: solid 4px #EC6D81;
  box-shadow: 0 10px 0 #EC6D81;
  text-align: center;
  color: #F29300;
  margin: 0 auto;
  transition-duration: 0.3s;
  position: relative;
}
.cta .btn a span {
  font-weight: 800;
}
.cta .btn a::before {
  content: "";
  display: block;
  width: 58px;
  height: 50px;
  background: url(../img/star.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 10px;
}
.cta .btn a::after {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background: url(../img/arrow.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 30px;
  right: 38px;
}
.cta .btn a:hover {
  transform: translateY(10px);
  box-shadow: none;
}
@media screen and (max-width: 768px) {
  .cta .btn a {
    width: 300px;
    height: 60px;
    line-height: 56px;
    font-size: 24px;
    border: solid 3px #EC6D81;
  }
  .cta .btn a::before {
    width: 40px;
    height: 35px;
    left: 8px;
  }
  .cta .btn a::after {
    width: 18px;
    height: 18px;
    top: 19px;
    right: 27px;
  }
}
.cta.cta_bottom .btn {
  padding-bottom: 68px;
}
@media screen and (max-width: 768px) {
  .cta.cta_bottom .btn {
    padding-bottom: min(41px, 10.5vw);
  }
}

.present {
  padding-top: min(150px, 12.5vw);
}
.present .present_inner {
  width: 95%;
  max-width: 1200px;
  background-color: #FFFEEE;
  box-shadow: 16px 16px 0 rgba(223, 103, 100, 0.7);
  margin: 0 auto;
  padding: 50px 0 32px;
}
.present .present_inner .present_strong {
  font-size: min(32px, 2.66vw);
  font-weight: 800;
  text-align: center;
  margin-top: 26px;
}
.present .present_inner .present_strong span {
  font-weight: 800;
}
@media screen and (max-width: 768px) {
  .present {
    padding-top: min(78px, 20vw);
  }
  .present .present_inner {
    width: 92.3%;
    max-width: 600px;
    box-shadow: 8px 8px 0 rgba(223, 103, 100, 0.7);
    padding: min(30px, 7.6vw) 0;
  }
  .present .present_inner .present_strong {
    font-size: min(20px, 5.1vw);
    margin-top: min(22px, 5.6vw);
  }
}

.present_ttl_box {
  display: flex;
  justify-content: center;
}
.present_ttl_box h2 {
  font-size: min(36px, 2.5vw);
  text-align: center;
  font-weight: 800;
  display: inline-block;
  position: relative;
}
.present_ttl_box h2 span {
  font-size: min(23px, 1.9vw);
  font-weight: 800;
}
.present_ttl_box h2::before {
  content: "";
  display: block;
  width: min(36px, 3vw);
  height: min(82px, 6.8vw);
  background: url(../img/present_ttl_left.png) no-repeat center;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: max(-36px, -3vw);
}
.present_ttl_box h2::after {
  content: "";
  display: block;
  width: min(36px, 3vw);
  height: min(82px, 6.8vw);
  background: url(../img/present_ttl_right.png) no-repeat center;
  background-size: contain;
  position: absolute;
  bottom: 0;
  right: max(-36px, -3vw);
}
@media screen and (max-width: 768px) {
  .present_ttl_box h2 {
    font-size: min(24px, 6.15vw);
    line-height: 1.2;
  }
  .present_ttl_box h2 span {
    font-size: min(18px, 4.6vw);
    line-height: 1;
    margin-bottom: min(10px, 2.5vw);
    display: inline-block;
  }
  .present_ttl_box h2::before {
    width: min(29px, 7.4vw);
    height: min(66px, 16.9vw);
    left: max(-29px, -7.4vw);
  }
  .present_ttl_box h2::after {
    width: min(29px, 7.4vw);
    height: min(66px, 16.9vw);
    right: max(-29px, -7.4vw);
  }
}

.present_cource {
  width: 95%;
  max-width: 1067px;
  margin: 18px auto 0;
}
@media screen and (max-width: 768px) {
  .present_cource {
    width: 92.5%;
    margin: min(36px, 9.2vw) auto 0;
  }
}
.present_cource .catch {
  position: relative;
}
.present_cource .catch figure {
  width: min(111px, 9.25vw);
  position: absolute;
  left: max(-18px, -1.5vw);
  top: max(-18px, -1.5vw);
}
.present_cource .catch h4 {
  background-color: #00A5D5;
  border-radius: 16px 16px 0 0;
  color: #fff;
  font-weight: 800;
  font-size: min(28px, 2.3vw);
  padding: min(12px, 0.83vw) 0 min(12px, 0.83vw) min(94px, 7.8vw);
}
.present_cource .catch h4 span {
  font-weight: 800;
  font-size: min(24px, 2vw);
}
@media screen and (max-width: 768px) {
  .present_cource .catch figure {
    width: min(80px, 20vw);
    left: max(-9px, -2.3vw);
    top: max(-18px, -4.6vw);
  }
  .present_cource .catch h4 {
    font-size: min(18px, 4.6vw);
    padding: min(10px, 2.5vw) 0;
    text-align: center;
    line-height: 1.4;
  }
  .present_cource .catch h4 span {
    font-size: min(15px, 3.8vw);
  }
}
.present_cource .present_detail {
  border-radius: 0 0 16px 16px;
  border: solid 5px #00A5D5;
  border-top: unset;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .present_cource .present_detail {
    display: block;
    border: solid 3px #00A5D5;
  }
}
.present_cource .present_detail .present_block_left {
  padding: min(14px, 1.16vw) 0 min(16px, 1.3vw) min(25px, 2vw);
}
@media screen and (max-width: 768px) {
  .present_cource .present_detail .present_block_left {
    padding: min(20px, 5.12vw) 0 min(24px, 6.15vw);
  }
}
.present_cource .present_detail .present_block_left .present_box {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .present_cource .present_detail .present_block_left .present_box {
    justify-content: center;
  }
}
.present_cource .present_detail .present_block_left .present_box:nth-of-type(1) {
  margin-bottom: min(18px, 1.5vw);
}
.present_cource .present_detail .present_block_left .present_box figure {
  width: min(180px, 15vw);
}
.present_cource .present_detail .present_block_left .present_box .present_ttl {
  margin-left: 17px;
}
.present_cource .present_detail .present_block_left .present_box .present_ttl figure {
  width: min(455px, 37.9vw);
}
.present_cource .present_detail .present_block_left .present_box .present_ttl p {
  font-size: min(21px, 1.75vw);
  font-weight: 800;
  margin-top: min(10px, 0.83vw);
}
.present_cource .present_detail .present_block_left .present_box .present_txt dl {
  border: solid 2px #00A5D5;
  background-color: #EAF4F9;
  display: flex;
  font-size: min(20px, 1.66vw);
}
.present_cource .present_detail .present_block_left .present_box .present_txt dl dt, .present_cource .present_detail .present_block_left .present_box .present_txt dl dd {
  padding: min(8px, 0.66vw) min(13px, 1vw);
  font-weight: 800;
  letter-spacing: 0.1em;
}
.present_cource .present_detail .present_block_left .present_box .present_txt dl dt {
  background-color: #00A5D5;
  color: #fff;
  display: flex;
  align-items: center;
  width: min(114px, 9.5vw);
}
.present_cource .present_detail .present_block_left .present_box .anpan_logo {
  width: min(134px, 11.16vw);
  margin-left: min(14px, 1.1vw);
}
@media screen and (max-width: 768px) {
  .present_cource .present_detail .present_block_left .present_box {
    width: 93%;
    margin: 0 auto;
  }
  .present_cource .present_detail .present_block_left .present_box:nth-of-type(2) {
    display: block;
  }
  .present_cource .present_detail .present_block_left .present_box:nth-of-type(1) {
    margin-bottom: 0;
  }
  .present_cource .present_detail .present_block_left .present_box figure {
    width: min(102px, 26vw);
  }
  .present_cource .present_detail .present_block_left .present_box .present_ttl {
    margin-left: min(10px, 2.5vw);
  }
  .present_cource .present_detail .present_block_left .present_box .present_ttl figure {
    width: min(195px, 50vw);
  }
  .present_cource .present_detail .present_block_left .present_box .present_txt dl {
    font-size: min(16px, 4.1vw);
  }
  .present_cource .present_detail .present_block_left .present_box .present_txt dl dt, .present_cource .present_detail .present_block_left .present_box .present_txt dl dd {
    padding: min(12px, 3vw);
    letter-spacing: 0.1em;
  }
  .present_cource .present_detail .present_block_left .present_box .present_txt dl dt {
    width: min(60px, 15.38vw);
  }
}
@media screen and (max-width: 768px) {
  .present_cource .present_detail .present_block_left .ttl_txt {
    font-size: min(14px, 3.5vw);
    margin-top: min(7px, 1.7vw);
    margin-bottom: min(14px, 3.5vw);
    text-align: center;
    font-weight: 800;
  }
  .present_cource .present_detail .present_block_left .present_photo {
    width: 100%;
    max-width: 500px;
    margin: 0 auto min(10px, 2.5vw);
  }
}
.present_cource .present_detail .present_block_right {
  width: min(353px, 29.4vw);
  margin-right: min(8px, 0.66vw);
  display: flex;
}
.present_cource .present_detail .present_block_right figure {
  display: flex;
  align-items: center;
}
.present_cource.present_courceb {
  margin-top: min(42px, 3.5vw);
}
@media screen and (max-width: 768px) {
  .present_cource.present_courceb {
    margin-top: min(42px, 10vw);
  }
}
.present_cource.present_courceb .catch h4 {
  background-color: #F29300;
}
.present_cource.present_courceb .present_detail {
  border: solid 5px #F29300;
}
@media screen and (max-width: 768px) {
  .present_cource.present_courceb .present_detail {
    border: solid 3px #F29300;
  }
}
.present_cource.present_courceb .present_detail .present_block_left .present_box .present_ttl figure {
  width: min(457px, 38vw);
}
.present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner {
  display: flex;
}
.present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner dl {
  border: solid 2px #F29300;
  background-color: #FEF1DD;
}
.present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner dl dt {
  background-color: #F29300;
  width: min(70px, 5.8vw);
  flex-shrink: 0;
}
.present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner dl dd {
  font-size: min(14px, 1.28vw);
}
.present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner dl:nth-of-type(1) {
  width: min(377px, 31.4vw);
}
.present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner dl:nth-of-type(2) {
  width: min(302px, 25.16vw);
}
@media screen and (max-width: 768px) {
  .present_cource.present_courceb .present_detail .present_block_left .present_box .present_ttl figure {
    width: min(195px, 50vw);
  }
  .present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner {
    display: block;
  }
  .present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner dl {
    border: unset;
  }
  .present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner dl dt {
    width: min(60px, 15.38vw);
    padding: min(11px, 2.8vw);
    justify-content: center;
  }
  .present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner dl dd {
    font-size: min(14px, 3.58vw);
    padding: min(11px, 2.8vw);
    flex: 1;
    border: solid 2px #F29300;
    border-left: unset;
  }
  .present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner dl:nth-of-type(1) {
    width: unset;
  }
  .present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner dl:nth-of-type(2) {
    width: unset;
    margin-top: -2px;
  }
  .present_cource.present_courceb .present_detail .present_block_left .present_box .present_txt .present_txt_inner dl:nth-of-type(2) dt {
    border-top: solid 2px #FEF1DD;
  }
}

.cource_detail {
  padding: min(64px, 5.3vw) 0 min(150px, 12.5vw);
}
.cource_detail .cource_inner {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
}
.cource_detail .cource_inner .cource_detail_area {
  width: 95%;
  max-width: 1067px;
  margin: 0 auto;
  padding: min(46px, 3.8vw) 0;
}
.cource_detail small {
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .cource_detail {
    padding: min(34px, 8.7vw) 0 min(78px, 20vw);
  }
  .cource_detail .cource_inner {
    width: 92.3%;
    max-width: 600px;
  }
  .cource_detail .cource_inner .cource_detail_area {
    width: 92.5%;
    padding: min(22px, 5.6vw) 0;
  }
}

.cource_block {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.cource_block td, .cource_block th {
  border: solid 4px #fff;
}
@media screen and (max-width: 768px) {
  .cource_block td, .cource_block th {
    border: solid 2px #fff;
  }
}
.cource_block thead th {
  letter-spacing: 0.1em;
  color: #fff;
  font-size: min(22px, 1.8vw);
  font-weight: 800;
  background-color: #00A5D5;
  padding: min(12px, 1vw) 0;
}
.cource_block thead th.gray {
  background-color: #9FA0A0;
  border-radius: 16px 0 0 0;
  width: min(151px, 12.5vw);
}
.cource_block thead th:nth-of-type(3) {
  background-color: #F29300;
  border-radius: 0 16px 0 0;
}
@media screen and (max-width: 768px) {
  .cource_block thead th {
    font-size: min(16px, 4.1vw);
    padding: min(10px, 2.56vw) 0;
  }
  .cource_block thead th:nth-of-type(2) {
    border-radius: 0 16px 0 0;
  }
  .cource_block thead th.gray {
    width: min(60px, 15.3vw);
  }
}
.cource_block tbody tr th, .cource_block tbody tr td {
  vertical-align: middle;
}
.cource_block tbody tr th:nth-of-type(1) {
  font-size: min(24px, 2vw);
  font-weight: 800;
  line-height: 1.3;
  width: min(151px, 12.5vw);
  background-color: #D3D3D4;
  letter-spacing: 0.1em;
}
.cource_block tbody tr td {
  font-size: min(26px, 2.16vw);
  font-weight: 700;
  padding: min(30px, 2.5vw);
}
.cource_block tbody tr td:nth-of-type(1) {
  background-color: #EAF4F9;
}
.cource_block tbody tr td:nth-of-type(2) {
  background-color: #FEF1DD;
}
.cource_block tbody tr td.fz {
  font-size: min(22px, 1.8vw);
}
.cource_block tbody tr:nth-of-type(3) th {
  border-radius: 0 0 0 16px;
}
.cource_block tbody tr:nth-of-type(3) td {
  vertical-align: unset;
  font-size: min(16px, 1.5vw);
}
.cource_block tbody tr:nth-of-type(3) td span {
  font-size: 13px;
  font-weight: 600;
}
.cource_block tbody tr:nth-of-type(3) td:last-of-type {
  border-radius: 0 0 16px 0;
}
@media screen and (max-width: 768px) {
  .cource_block tbody tr:nth-of-type(3) td {
    border-radius: 0 0 16px 0;
    font-size: min(14px, 3.9vw);
  }
  .cource_block tbody tr:nth-of-type(3) td span {
    font-size: 12px;
  }
  .cource_block tbody tr:nth-of-type(3) td:last-of-type {
    border-radius: 0 0 16px 0;
  }
  .cource_block tbody tr th:nth-of-type(1) {
    font-size: min(14px, 3.8vw);
    width: min(60px, 15.3vw);
  }
  .cource_block tbody tr td {
    font-size: min(18px, 4.6vw);
    padding: min(14px, 3.5vw) min(18px, 4.6vw);
  }
  .cource_block tbody tr td.fz {
    font-size: min(16px, 4.1vw);
  }
}
.cource_block.formlink {
  margin: min(16px, 1.3vw) 0;
}
.cource_block.formlink tbody tr th {
  border-radius: 16px 0 0 16px;
}
.cource_block.formlink tbody tr td {
  border-radius: 0 16px 16px 0;
  background-color: #E9EAEA;
}
.cource_block.formlink tbody tr td a {
  color: #EC6D81;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .cource_block.formlink {
    margin: min(14px, 3.5vw) 0;
  }
}
.cource_block.cource_b_detail {
  margin-top: min(14px, 3.8vw);
}
.cource_block.cource_b_detail thead th {
  background-color: #F29300;
}
.cource_block.cource_b_detail thead th.gray {
  background-color: #9FA0A0;
}
.cource_block.cource_b_detail tbody tr td {
  background-color: #FEF1DD;
}

footer {
  padding: 28px 0;
  background-color: #EC6D81;
}
footer .copyright {
  font-size: 12px;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  footer .copyright {
    font-size: 11px;
  }
}/*# sourceMappingURL=style.css.map */