/* CSS Document */
*,
*::before, *::after { box-sizing: border-box; }
a { text-decoration: none; }
.contents-width { width: 980px; max-width: 90%; margin: 0 auto; }
.contents-width-l { width: 1120px; max-width: 90%; margin:0 auto; }

.conts-section { padding: 30px 0 50px; }

.bg-blue { background: #3D86C3; }
.bg-lightblue { background: #F4FAFF; }
.t-red { color: #D96040; }
.t-blue { color: #3D86C3; }
.t-white { color: #FFF; }
.t-center { text-align: center; }

.t-large { font-size: 2.4rem; }
.t-medium { font-size: 1.8rem; }
.t-small { font-size: 1.2rem; }
.t-em { font-weight: bold; }
.t-exbold { font-weight: 900; }

.mt1em { margin-top: 1em; }
.mt2em { margin-top: 2em; }
.mt3em { margin-top: 3em; }

.title-s { font-size: 2.4rem; }

.sp-visible { display: none; }
@media screen and (max-width: 600px) {
  .t-large { font-size: 1.6rem; }
  .t-medium { font-size: 1.4rem; }
  .title-s { font-size: 1.8rem; }
  .sp-visible { display: initial; }
}
.list-dot > li { padding-left: 1em; }
.list-dot > li::before { content: '・'; margin-left: -1em; display: inline-block; width: 1em; } 


.btn-block { background: #3D86C3; color: #FFF; border-radius: 2em; display: inline-block; padding: .5em 1.5em; }
.btn-block.-center{ width: fit-content; margin: 0 auto; display: block; }

.btn-contact { width: 500px; max-width: 90%; text-align: center; color: #D96040;  margin: 0 auto 0; background: #FFF; box-shadow: 3px 3px 10px rgba(0,0,0,.1); display: block; padding: 1em; border-radius: 2em; }
.btn-contact::before { content: ''; width: 1.5em; height: 1.5em; display: inline-block; vertical-align: middle;
  background:url(https://www.credo-m.co.jp/cms/wp-content/uploads/2025/09/icon-letter.png) no-repeat center center/ contain; margin-right: .5em; }
.title-academy { text-align: center; font-size: 2.8rem; position: relative; z-index: 2; padding: 2em 0 0; margin-bottom: 1em; line-height: 1.5;  }
.title-academy .en-l { font-size: 5.5em; font-family: 'Figtree', sans-serif; color: #F4F4F4; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: auto; z-index: -1; }
.title-academy .en-s { font-size: 1.5rem; display: block; font-family: 'Figtree', sans-serif; }

.title-academy .en-l.blue { color: #E1EEF9; }
.title-academy.white { color: #FFF; }
.title-academy.white .en-l { color: #FFF; opacity: .1; }
.title-academy.white .en-s { color: #FFF; }

@media screen and (max-width: 600px) {
  .title-academy { font-size: 1.8rem; }
  .title-academy .en-l { font-size: 4.5em; }
}
.academy_head { position: relative; }
.academy_head .text-c { position: absolute; top: 50px; left: 5%; z-index: 2; }
.academy_head .text-c .name { font-size: 1.8rem; color: #D96040; background: #FFF; padding: .3em 1.5em; border-radius: 2em; display: block; width: fit-content; }
.academy_head .text-c .copy { font-size: 7.8rem; display: block; line-height: 1.3; font-weight: 400; margin-bottom: .2em; }

@media screen and (max-width: 600px) {
  .academy_head img { height: 70vw; object-fit: cover; }
  .academy_head .text-c  { max-width: 45%; font-size: 2.5vw;  }
  .academy_head .text-c .name { font-size: 2vw; margin-bottom: 1em; }
  .academy_head .text-c .copy { font-size: 5vw; }
}

.academy_nayami { background: #FFF; padding: 2em; position: relative; }
.academy_nayami::before { content: ''; width: calc(100% - 20px); height: calc(100% - 20px); display: block; position: absolute; inset: 0; border: 3px solid #3D86C3;margin: auto; pointer-events: none; }
.academy_nayami .ttl { text-align: center; position: relative; color: #3D86C3; font-size: 2.4rem; }
.academy_nayami .ttl .en { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 4em; opacity: .1; white-space: nowrap; line-height: 1; }

.academy_nayami .list { width: fit-content; margin: 1em auto; max-width: 90%; }
.academy_nayami .list > li { padding-left: 2em; margin-bottom: .5em; }
.academy_nayami .list > li::before { content: ''; width: 1.5em;height: 1.5em; display: inline-block; background: url(https://www.credo-m.co.jp/cms/wp-content/uploads/2025/09/check.png) no-repeat center center/ 100% 100%; margin-left: -2em; margin-right: .5em; vertical-align: middle; }


.nayami_bottom { margin: 60px auto 30px; text-align: center; color: #FFF;  }
.nayami_bottom .t-marker { text-decoration: underline; text-decoration-thickness: 0.5em; text-underline-offset: -.21em; text-decoration-color: #2666AC; }

@media screen and (max-width: 600px) {
  .academy_nayami { padding: 2em 1.5em; margin-top: 2em; }
  .academy_nayami .ttl { font-size: 1.8rem; }
  .academy_nayami .ttl .en { font-size: 3em; }
  .academy_nayami .list { font-size: 1.4rem; }
}

.academy_movie-wrap { background: linear-gradient(to bottom, #3D86C3 60%, #FFF 60%); }
.academy_movie-wrap .academy_movie { width: 90%; aspect-ratio: 16 / 9; position: relative; max-width: 980px; margin:  0 auto; }
.academy_movie-wrap .academy_movie iframe { width: 100%; height: 100%; position: absolute; inset: 0; margin: auto; }

.img_shadow { position: relative; z-index: 2; }
.img_shadow::after { content: ''; width: 100%; height: 100%; background: #3D86C3; position: absolute; top: 10px; left: 10px; margin: auto; z-index: -1; opacity: .3; mix-blend-mode: multiply; }
.img_shadow.-dark::after { background: #2F73B5; opacity: 1;  }

.nayami_text { display: flex; justify-content: space-between; margin-top: 70px; align-items: center; }
.nayami_text .img { width: 50%; }
.nayami_text .text { width: calc(48% * 0.9); margin: 0 auto 0 4%; max-width: 610px; }

@media screen and (max-width: 600px) {
  .nayami_text { flex-wrap: wrap; }
  .nayami_text .img { width: 90%; margin: 0 auto 1em;  }
  .nayami_text .text { width: 90%; margin: 0 auto;  }
}

.point_summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.point_summary > li { border: 1px solid #3D86C3; text-align: center; color: #3D86C3; position: relative; }
.point_summary .inner { display: block; padding: 23px 15px 55px; position: relative;  }
.point_summary > li::after { content: ''; width: 8px; height: 8px; display: block; border-right: 3px solid #3D86C3; border-bottom: 3px solid #3D86C3; position: absolute; bottom: 25px; left: 0; right: 0; transform: rotate(45deg); margin: auto; } 
.point_summary a { height: 100%; }
.point_summary img { height: 100px; display: block; width: auto; margin: 1em auto; }
.point_summary .ttl { font-size: 2rem; line-height: 1.5; }
.point_summary .ttl span { font-size: 1.5em;vertical-align: baseline; margin-left: .2em; }
.point_summary .text { font-size: 1.8rem; line-height: 1.5; }
.point_summary .text-s { font-size: .6em; line-height: 1.5; display: block;}

@media screen and (max-width: 600px) {
  .point_summary { grid-template-columns: 1fr; }
  .point_summary .inner { padding: 15px 15px 50px; }
  .point_summary .ttl { font-size: 1.6rem; }
  .point_summary img { height: 60px;}
  .point_summary .text { font-size: 1.5rem; }
}


.point-title .point { display: block; font-size: 3rem; margin-bottom: .2em;}
.point-title .point span { font-size: 2em; vertical-align: baseline; margin-left: .2em; }
.point-title { color: #3D86C3; text-align: center; font-size: 3rem; }
.point-title .ttl { line-height: 1.5; font-size: 3rem; display: block; }
.point-title .s { font-size: .7em; }

@media screen and (max-width: 600px) {
  .point-title .point { font-size: 2rem; }
  .point-title .ttl { font-size: 2rem; }
  
}
.lightblue-block { background: #F4FAFF; padding: 50px 0; }
.lightblue-block .inner { max-width: 960px; width: 90%; margin: 0 auto; }

@media screen and (max-width: 600px) {
  .lightblue-block { padding: 30px 5%; }
  .lightblue-block .inner { width: 100%;}
}

.point-detail { padding: 50px 0; }
.point-detail .conts { display: flex; justify-content: space-between; margin-bottom: 60px; }
.point-detail .conts.last { margin-bottom: 0; }
.point-detail .conts.-reverse { flex-direction: row-reverse; } 
.point-detail .conts .img-c { width: 48%; }
.point-detail .conts .text-c { width: 48%; font-size: 1.5rem;  }
.point-detail .conts .title-s { font-size: 2.4rem; color: #3D86C3; font-weight: 500; border-bottom: 2px solid #E0E0E0; padding-bottom: .5em; margin-bottom: .5em; position: relative; }
.point-detail .conts .title-s::after { content: ''; width: 30px; height: 2px; background: #3D86C3; position: absolute; left: 0; bottom: -2px; margin: auto; } 
.point-detail .conts .title-s span { font-size: .6em; vertical-align: middle; }

.point-detail .comment { font-size: 1.2rem; margin-top: 1em; }

@media screen and (max-width: 600px) {
  .point-detail .conts,.point-detail .conts.-reverse { flex-direction: column; }
  .point-detail .conts .img-c { width: 100%; margin-bottom: 1em; }
  .point-detail .conts .text-c { width: 100%; }
  .point-detail .conts .title-s span { display: block; }
}
.white-block { background: #FFF; padding: 40px; }
.title-point-center { text-align: center; font-size: 2rem; position: relative; }
.title-point-center::after { content: ''; width: 300px; height: 2px; max-width: 60%; margin: 1em auto; display: block; background: linear-gradient(to right, #E0E0E0 45%, #3D86C3 45%, #3D86C3 55%, #E0E0E0 55%); }
.title-point-center .t-l { font-size: 1.2em; }

.box-conts { display: flex; justify-content: space-between; }
.box-conts .img-c { width: 50%; }
.box-conts .text-c { width: 45%; font-size: 1.5rem; }

.conts-point2-2 { display: flex; justify-content: space-between; margin: 70px 0;  }
.conts-point2-2 .img-c { width: 45%; }
.conts-point2-2 .text-c { width: 50%; }

.conts-point2-3 { width: 100%; max-width: 960px; margin: 0 auto; display: flex; justify-content: space-between; }
.conts-point2-3 .text-c { width: 30%; }
.conts-point2-3 .img-c { width: 65%; }

@media screen and (max-width: 600px) {
  
  .white-block { padding: 30px 5%; }
  .title-point-center { font-size: 1.5rem; }
  
  .box-conts { flex-direction: column; }
  .box-conts .img-c { width: 100%; margin-bottom: 1em; }
  .box-conts .text-c { width: 100%; }
  
  .conts-point2-2 { flex-direction: column; }
  .conts-point2-2 .img-c { width: 100%; margin-bottom: 1em; }
  .conts-point2-2 .text-c { width: 100%; }
  
  .conts-point2-3 { flex-direction: column; }
  .conts-point2-3 .img-c { width: 100%; margin-bottom: 1em; }
  .conts-point2-3 .text-c { width: 100%; margin-bottom: 1em; }
}

.schedule-wrap { padding-left: 150px; position: relative; }
.schedule-wrap .month { float: left; position: absolute; top: 0; left: 0; margin: auto; color: #FFF; font-size: 3rem; font-weight: bold; }

.schedule-table { margin-bottom: 10px; }
.schedule-table thead { background: #FFF; cursor: pointer; position: relative; }
.schedule-table thead::after { content: ''; width: .5em; height: .5em; border-right: 2px solid #3D86C3; border-bottom: 2px solid #3D86C3; display: block; position: absolute; top: 0; bottom: 0; right: 1em; margin: auto; transform: rotate(45deg) translateY(-25%); }

.schedule-table thead.open::after { transform: rotate(225deg) translateY(-25%);}
.schedule-table thead th { padding: .7em 3em .7em 1.5em;font-size: 1.8rem; line-height: 1.5; }
.schedule-table tbody { background: #EDF7FF; display: none; }
.schedule-table tbody tr { border-top: 1px solid #E0E0E0; }
.schedule-table tbody th,
.schedule-table tbody td { padding: .5em 1.5em; }


@media screen and (max-width: 600px) {
  .schedule-wrap { padding-left: 0; }
  .schedule-wrap .month { float: none; margin-bottom: .5em; position: relative; top: auto; left: auto; margin: auto; font-size: 2rem; }
  .schedule-table thead th { font-size: 1.5rem; }
}


.price-table { width: 100%; table-layout: fixed; border-top: 1px solid #3D86C3; }
.price-table thead { background: #F4FAFF; }
.price-table tr { border-bottom: 1px solid #3D86C3;}
.price-table th:first-child { width: 45%; border-right: 1px solid #3D86C3;  }
.price-table th,
.price-table td { text-align: center; padding: .5em 0; vertical-align: middle; }
.price-table td { color: #3D86C3; font-size: 2.4rem; font-weight: bold; }
.price-table td span { font-size: 1.8rem; }

@media screen and (max-width: 600px) {
  .price-table td { font-size: 2rem; }
  .price-table td span { font-size: 1.5rem; }
}

.title-acc { margin-top: 1em; background: #FAFAFA; padding: .5em 2em .5em 1em; font-size: 1.8rem; margin-bottom: .5em; position: relative; cursor: pointer; }
.title-acc::after { content: ''; width: .5em; height: .5em; border-right: 2px solid #3D86C3; border-bottom: 2px solid #3D86C3; position: absolute; top: 0; bottom: 0; right: 1em; margin: auto; transform: rotate(45deg) translateY(-25%); }
.open .title-acc::after { transform: rotate(225deg) translateY(25%); }
.acc-conts { display: none; }


.academy_contact .entry-form { width: 100%!important; }
.academy_contact .c-head03 { display: none; }
.academy_contact .c-form01__table { background: #FAFAFA; }


.recent-seminar-posts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem ;}

.recent-column-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem ;}

.recent-column-posts > li { background: #FFF; padding: 20px 20px 10px; }
.recent-column-posts .title{ line-height: 1.5; margin: .5em 0; }
.recent-column-posts .time { text-align: right; font-size: .85rem; color: #3D86C3; }


@media screen and (max-width: 600px) {
  .recent-column-posts { grid-template-columns: 1fr; }
}

