@charset "UTF-8";
@import url(../../css/common.css);

#main_title {
  background-image: url(../img/top_title_bg.jpg);
}

/* box01*/
#box01 img {
  width: 250px;
  height: 186px;
  float: right;
  padding: 0 0 10px 20px;
}

#box01 .skill {
  margin: 30px 0;
}

#box01 .skill p {
  font-size: 16px;
  font-size: 1.6rem;
  background-color: #3eb2d4;
  color: #FFF;
  padding: 5px 5px 5px 15px;
}

#box01 .skill ul:before,
#box01 .skill ul:after {
  content: "";
  display: table;
}

#box01 .skill ul:after {
  clear: both;
}

#box01 .skill ul {
  zoom: 1;
  /*IE7*/
  position: relative;
  /*DW*/
  margin: 10px 0;
}

#box01 .skill ul li {
  width: 122px;
  float: left;
  position: relative;
  background-color: #bae3ef;
  border-radius: 5px;
  padding: 10px 10px 10px 35px;
  margin-left: 10px;
  line-height: 1.3;
}

#box01 .skill ul li::after {
  display: block;
  content: '';
  position: absolute;
  top: 40%;
  left: 0.6em;
  width: 16px;
  height: 6px;
  border-left: 2px solid #FFF;
  border-bottom: 2px solid #FFF;
  transform: rotate(-45deg);
}

@media screen and (min-width:768px) {
  #box01 .skill ul li:nth-child(n+7) {
    border-bottom: none;
  }

  #box01 .skill ul li:nth-child(1),
  #box01 .skill ul li:nth-child(5) {
    margin-left: 0;
  }

  #box01 .skill ul li:nth-child(n+5) {
    margin-top: 10px;
  }
}

/* case */
#case li p.pic {
  height: 191px;
}

.linkItem {
  clear: both;
  margin-bottom: 15px;
  border-left: 5px solid #06c;
  padding: 1rem 0 1rem 2rem;
}

.linkItem:hover {
  background-color: #e4f6ff;
}

/*----------------------------------------
feature
-----------------------------------------*/
#feature {
  clear: both;
}

#feature .inner {
  margin-bottom: 30px;
}

#feature img {
  width: 220px;
  height: auto;
  border-radius: 110px;
}

#feature ul {
  font-size: 1.5rem;
  line-height: 2.4;
}

#feature li {
  position: relative;
  border-bottom: 1px dashed #8ac24a;
  padding-left: 20px;
}

#feature li:before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  left: 0;
  top: 12px;
  display: block;
  background-color: #d3fba4;
}

#feature h4 {
  color: #3eb1d3;
  position: relative;
  line-height: 30px;
  margin: 7px 0 15px 0;
  padding-left: 45px;
  font-size: 2.0rem;
  border-bottom: solid 1px #3eb2d4;
}

#feature h4:before {
  position: absolute;
  left: 0;
  width: 30px;
  height: 32px;
  background: #3eb2d4;
  text-align: center;
  color: #fff;
  top: 50%;
  transform: translateY(-50%);
}

#feature h4.first:before {
  content: "1";
}

#feature h4.second:before {
  content: "2";
}

#feature .midashi span {
  background-color: #8ac24a;
  color: #FFF;
  font-weight: bold;
  padding: 3px 25px;
}

#feature .midashi {
  margin: 30px 0 15px;
}

/*  other_box  */
.cmnbox.other_box {
  margin-top: -0;
  padding-top: 0;
}

.other_box dl:nth-child(6) {
  margin-bottom: 50px;
}

.other_box dl {
  position: relative;
  float: left;
  width: 310px;
  margin: -1px -1px 0 0;
  padding: 11px 19px 15px 19px;
  border: solid 1px #d5d5d5;
}

.other_box dt {
  padding-bottom: 9px;
}

.other_box dt a {
  display: inline-block;
  padding-left: 34px;
  background: url(../../../img/cmn_main_ya_b3.gif) no-repeat 0 0.2em;
  color: #333333;
  text-decoration: none;
  font-weight: bold;
  font-size: 20px;
  font-size: 1.85rem;
}

.other_box dt sup {
  font-size: 0.8rem;
  top: -1.2em;
}

.other_box dd ul {
  padding: 4px 0 8px 0;
}

.other_box dd li {
  float: left;
  margin: 1px 1px 0 0;
  padding: 4px 10px 3px 10px;
  background-color: #3eb2d4;
  color: #ffffff;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1;
  white-space: nowrap;
}

.other_box dd li sup {
  font-size: 0.7rem;
}

/* odd */
.other_box dl.odd {
  padding-right: 20px;
}

/* hover */
.other_box dl.hover {
  z-index: 500;
  border: solid 1px #37acd4;
  background-color: #e4f6ff;
  cursor: pointer;
}

.other_box dl.hover dt a {
  background-position: -700px 0.2em;
}

/*   /other_box   */
#box04 .blue {
  color: #3eb2d4;
}

/*  step  */
#step {
  margin-top: 20px;
  margin-bottom: 10px;
}

#step img {
  width: 123px;
  height: auto;
}

#step h2 {
  margin-top: 30px;
  background-color: #000066;
  color: #fff;
  font-weight: bold;
  font-size: 17px;
  margin-bottom: 10px;
  padding: 2px 0 0 10px;
}

#step ul li {
  float: left;
  padding-left: 20px;
  background: url(../../img/step_ya.gif) no-repeat 7px 43px;
}

#step ul li.first {
  padding-left: 0px;
  background: none;
}

#step dd {
  padding: 5px 1px 5px;
}

#step .step {
  color: #000066;
  display: inline-block;
  font-size: 1.1em;
}

#step .flow {
  display: block;
  font-size: 1.1em;
  font-weight: bold;
}

#step h3 {
  color: #000066;
}

#step .clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

#step .clearfix {
  zoom: 1;
  position: relative;
}

#step .caution {
  clear: both;
  text-align: right;
  font-size: small;
}

#school_list h4 {
  margin-bottom: 8px;
  padding-bottom: 8px;
  border-bottom: solid 1px #bfbfbf;
  font-weight: bold;
  font-size: 1.0em;
}

#school_list {
  margin: -10px auto 0;
  border-top: solid 20px #fff;
}

#school_list li {
  padding: 5px 0 3px 0;
  font-size: 1.0em;
  float: left;
  padding-left: 19px;
  width: 18%;
}

#school_list li:last-child {
  padding-left: 20px;
  width: 17%;
}

#school_list li:first-child {
  padding-left: 0;
}

#school_list .bg_non {
  background: none;
}

#school_list .open {
  font-size: 0.9em;
  margin-left: 8px;
}

/*   こんな方におすすめ　　*/
.cmnbox #box02_b {
  margin-bottom: 45px;
}

#box02_b ul {
  width: 100%;
  padding: 2px 8px 0;
}

#box02_b li {
  float: left;
  width: 43%;
  background: #8ac24a;
  color: #fff;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  padding: 10px;
  margin: 10px;
  border-radius: 5px;
  position: relative;
}

#box02_b li:after {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(136, 183, 213, 0);
  border-top-color: #8ac24a;
  border-width: 8px;
  margin-left: -8px;
}

#box02_b .inner::after {
  content: "";
  display: block;
  clear: both;
}

/* #box02_c */
#box02_c {
  margin-top: 0;
}

/* faq */
#box02_c {
  width: 700px;
}

#box02_c .faq {
  padding-top: 15px;
}

#box02_c .faq dt {
  padding: 2px 0 0 54px;
  background: #f4f4f4 url(../../../img/cmn_main_faq_txt_q.gif) no-repeat;
  font-weight: bold;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 25px;
}

#box02_c .faq dd {
  margin-top: 1px;
  padding: 6px 0 28px 54px;
  background: url(../../../img/cmn_main_faq_txt_a.gif) no-repeat;
}

#box02_c .faq dd:last-child {
  padding-bottom: 10px;
}

/*----------------------------------------
reason
-----------------------------------------*/
#reason h2:before,
#reason h2:after {
  content: "";
  display: table;
}

#reason h2:after {
  clear: both;
}

#reason h2 {
  clear: both;
  width: 682px;
  margin-bottom: 20px;
  padding: 5px 0 4px 14px;
  border-left: solid 4px #3eb2d4;
  background-color: #000066;
  color: #ffffff;
  font-weight: bold;
  font-size: 18px;
  font-size: 1.8rem;
}

#reason ul {
  width: 700px;
}

#reason li.hover {
  z-index: 500;
  border: solid 1px #37acd4 !important;
  background-color: #e4f6ff;
  cursor: pointer;
}

/* rea01 */
#reason li#rea01 {
  position: relative;
  width: 660px;
  padding: 19px;
  border: solid 1px #d5d5d5;
}

#reason li#rea01 h3 {
  display: inline-block;
}

#reason li#rea01 p.pic {
  float: right;
  width: 310px;
}

#reason li#rea01 p.sub {
  width: 328px;
  margin-top: 15px;
  padding: 15px 0 9px 0;
  background: url(../../../img/cmn_main_line_w.gif) repeat-x;
}

#reason li#rea01 p {
  width: 328px;
}

/* rea02-05 */
#reason li.box {
  position: relative;
  float: left;
  width: 310px;
  margin: -1px -1px 0 0;
  padding: 19px 19px 17px 19px;
  border: solid 1px #d5d5d5;
}

#reason li.box p.pic {
  padding: 15px 0 9px 0;
}

#reason li#rea03,
#reason li#rea05 {
  padding-right: 20px;
}

@media screen and (max-width:767px) {
  #reason {
    box-sizing: border-box;
    width: 100%;
    margin: 20px 0 25px;
    padding: 0 10px;
  }

  #reason h2 {
    width: auto;
    padding: 8px 14px 6px 14px;
    font-size: 16px;
    line-height: 1.4;
    margin-bottom: 10px;
    border-left: none;
  }

  #reason ul {
    width: auto;
    padding-right: 10px;
    padding-left: 10px;
  }

  #reason li.box,
  #reason li#rea01 {
    height: auto !important;
    float: none;
    width: 100%;
    border: none;
    border-bottom: 1px solid #d5d5d5;
    padding: 20px 0 20px 0;
  }

  #reason li#rea01 {
    padding-top: 0;
  }

  #reason li#rea01 h3 {
    display: block;
    background: url(../../../img/cmn_main_line_w.gif) repeat-x left bottom;
    padding-bottom: 15px;
  }

  #reason li#rea01 p {
    width: 100%;
  }

  #reason li.box:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  #reason li.box p.pic,
  #reason li#rea01 p.pic {
    width: 100%;
    text-align: center;
    float: none;
  }

  #reason li#rea01 p.pic {
    margin-top: 15px;
  }

  #reason li#rea01 p.sub {
    background: none;
    margin-top: 0;
    width: auto;
  }

  #reason li#rea03,
  #reason li#rea05 {
    padding-right: 0;
  }
}

/*----------------------------------------
/reason
-----------------------------------------*/
@media screen and (max-width:767px) {
  #box01 img {
    display: block;
    width: 80%;
    height: auto;
    float: none;
    padding: 0;
    margin: 0 auto 15px;
  }

  #box01 .skill ul {
    margin: 10px 0 0;
  }

  #box01 .skill ul li {
    width: 40%;
    float: left;
    padding: 10px 2% 10px 7%;
    margin-left: 0;
    line-height: 1.3;
  }

  #box01 .skill ul li:nth-child(even) {
    margin-left: 2%;
  }

  #box01 .skill ul li:nth-child(n+3) {
    margin-top: 10px;
  }

  #box01 .skill ul li::after {
    top: 40%;
  }

  #case li.sp1 p.pic {
    padding-top: 0;
    padding-left: 5px;
  }

  #case li.sp1 p.pic img {
    top: 11px;
    position: relative;
  }

  #case li.sp2 p.pic img {
    top: 11px;
  }

  .footer_etc.ftrCrsBnr ul li:nth-child(2) a {
    background-image: url(../../../img/cmn_side_btn_kyufukin_sp.png);
  }

  /*      .other_box       */
  .other_box dl {
    float: none;
    width: auto;
    height: auto !important;
    margin-bottom: 10px;
    max-width: 400px;
    margin-right: auto;
    margin-left: auto;
  }

  .other_box dd p img {
    display: block;
    margin-right: auto;
    margin-left: auto;
  }

  .other_box dd ul {
    margin-top: 8px;
  }

  .other_box dt a {
    font-size: 1.8rem;
    background: url(../../../img/cmn_main_ya_b3.gif) no-repeat 0 .15em;
  }

  .other_box dl.hover dt a {
    background-position: -700px 0.15em;
  }

  .other_box dl:nth-child(4) {
    margin-bottom: 20px;
  }

  #box04 .small {
    font-size: small;
  }

  #box04 .blue {
    color: #3eb2d4;
  }

  #step h2 {
    margin-left: 10px;
    margin-right: 10px;
  }

  #step ul li {
    float: none;
    width: 100%;
    background: none;
    padding-left: 0;
  }

  #step dt:after {
    content: url("../../img/step_ya_sp.gif");
    position: absolute;
    left: 50%;
    margin-left: -45px;
    bottom: 0px;
  }

  #step .last dt:after {
    content: none;
  }

  #step img {
    width: 40%;
    height: suto;
    display: block;
    margin: 5px auto;
  }

  #school_list {
    width: auto;
    margin: 10px;
  }

  #step .caution {
    text-align: left;
    font-size: 12px;
    margin: 0 10px;
  }

  #step .step {
    color: #000066;
    display: inline-block;
    font-size: 1.1em;
  }

  #step .flow {
    display: inline-block;
    margin-left: 10px;
    font-size: 1.1em;
    font-weight: bold;
  }

  #step h3 {
    text-align: center;
    color: #000066;
  }

  #school_list li {
    padding: 2px 0 2px 0;
    font-size: 1.0em;
    float: left;
    width: 50%;
  }

  #school_list ul {
    padding: 0 5px 0;
  }

  #school_list li:last-child {
    padding-left: 0;
    width: 50%;
  }

  /* plan  */
  .plan .plan_inner {
    padding: 15px 10px;
  }

  .plan .plan_inner table {
    width: 100%;
  }

  .plan .plan_inner table,
  .plan .plan_inner table th {
    font-size: 12px;
  }

  .plan .plan_inner table td {
    padding: 9px 5px;
  }

  .plan .plan_inner th.first {
    width: 30%;
  }

  .plan .plan_inner th.middle {
    width: 45%;
  }

  .plan .plan_inner th.last {
    width: 25%;
  }

  .plan .plan_innerth br,
  .plan .plan_inner td.first br {
    display: inherit;
  }

  .plan .plan_inner ul.notice {
    width: auto;
  }

  /*----------------------------------------
#list-plan
-----------------------------------------*/
  #list_plan {
    margin-top: 15px;
    padding: 12px 15px 15px 0;
    background-color: #f4f4f4;
  }

  #list_plan h4 {
    margin-left: 25px;
  }

  #list_plan ul {
    float: left;
    width: 95%;
  }

  #list_plan li.sp_dot {
    border-bottom: 1px dotted #d4d4d4;
  }

  #list_plan li {
    padding-left: 15px;
    color: #333333;
    text-decoration: none;
    font-size: 13px;
  }

  #list_plan li a span {
    font-size: 10px;
    font-size: 1.0rem;
  }

  #list_plan li a:hover,
  #list_plan li a:active {
    color: #0099ff;
    text-decoration: underline;
  }

  #list_plan li sup {
    font-size: 0.8rem;
  }

  /* sp */
  .sp.list ul {
    width: 327px;
  }

  /*　　こんな方におすすめ　　*/
  .cmnbox #box02_b {
    margin-bottom: 0;
  }

  #box02_b ul {
    width: 100%;
    padding: 0;
  }

  #box02_b li {
    width: 100%;
    float: none;
    margin-left: 0;
    padding: 8px 0;
    margin-bottom: 15px;
  }

  /* box02_c */
  #box02_c .sp {
    display: block;
    margin: 20px auto 10px;
  }

  /* .faq */
  #box02_c {
    box-sizing: border-box;
    width: 100%;
    margin: 20px 0 25px;
    padding: 0 10px;
  }

  #box02_c .faq {
    background: none;
    padding-top: 0;
  }

  #box02_c dl {
    padding: 15px 0 0 0;
  }

  #box02_c .faq dt {
    line-height: 1.3;
    background: #f4f4f4 url(../../../img/cmn_main_faq_txt_q_sp.gif) no-repeat;
    background-size: 40px 30px;
    padding: 6px 10px 6px 50px;
  }

  #box02_c .faq dd {
    padding: 6px 10px 15px 50px;
    background: url(../../../img/cmn_main_faq_txt_a_sp.gif) no-repeat;
    background-size: 40px 30px;
  }
}

/*----------------------------------------
2022_01 追記
-----------------------------------------*/
/*#place実装*/
#place {
  margin-top: 45px;
}

#place .topmsg {
  padding: 10px;
}

#place .areamap {
  border: solid 1px #d5d5d5;
  padding: 10px;
}

#place .areamap:after {
  display: block;
  clear: both;
  height: 0;
  content: "";
}

#place .border li {
  background-color: #e4f6ff;
  display: inline-block;
  width: 31%;
  padding: 5px 0;
  font-size: 1.3em;
  margin: 5px;
  text-align: center;
}

#place h2 {
  padding: 1px 0 15px 18px;
  border-bottom: solid 1px #000055;
  background: url(../../../img/top_cmn_h2_bg.gif) no-repeat 0 0;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 24px;
}

#place h2 .pc {
  display: none;
}

@media screen and (min-width:768px) {
  #place p.area {
    margin-top: 5px;
    margin-bottom: 2px;
  }

  #place .tel_no a {
    text-decoration: none;
    color: #000;
  }
}

@media screen and (max-width:767px) {
  #place .topmsg {
    padding: 10px;
  }

  #place .areamap {
    border: none;
    padding: 5px;
  }

  #place .areamap:after {
    display: block;
    clear: both;
    height: 0;
    content: "";
  }

  #place .border {
    border: solid 1px #d5d5d5;
    padding: 10px;
    margin-bottom: 15px;
  }

  #place .border .splink {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  #place .border li {
    background-color: #e4f6ff;
    width: 45%;
    padding: 2px 0 2px 0;
    font-size: 1.3em;
    margin: 3px;
    text-align: center;
  }

  #place .border li.online {
    width: calc(100% - 6px);
  }

  #place p.area {
    margin-top: 5px;
    margin-bottom: 2px;
  }

  .faq {
    clear: both;
  }

  #place {
    margin: 45px 10px 0;
  }

  #place h2 {
    background: none;
    border-bottom: none;
    width: calc(100% - 20px);
    margin: 0 auto;
    padding: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: #3eb2d4;
    text-align: center;
  }

  #place h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    margin-top: 5px;
    background: #3eb2d4;
  }

  #place h2 .pc {
    display: inline;
  }
}

/* 20250903-#lesson-style */
#lesson-style {
  max-width: 700px;
  margin: 0 auto;
  background: white;
  overflow: hidden;
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0px) rotate(0deg);
  }

  50% {
    transform: translateY(-10px) rotate(180deg);
  }
}

.course-tabs {
  display: flex;
  list-style: none;
  background: #f8f9ff;
  margin: 0;
  padding: 0;
  justify-content: center;
  border-bottom: 2px solid #e1e8ff;
}

.course-tabs li {
  flex: 1;
  text-align: center;
  padding: 15px 20px;
  cursor: pointer;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  color: #666;
  background: linear-gradient(135deg, #f8f9ff 0%, #e8ecff 100%);
  border-right: 1px solid #ddd;
}

.course-tabs li:last-child {
  border-right: none;
}

.course-tabs li::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #4facfe, #00f2fe);
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

.course-tabs li:hover {
  background: linear-gradient(135deg, #e8ecff 0%, #d4e0ff 100%);
  color: #4facfe;
  transform: translateY(-1px);
}

.course-tabs li.active {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(79, 172, 254, 0.3);
}

.course-tabs li.active::before {
  width: 100%;
}

.course-area {
  padding: 25px;
  background: white;
}

.course-group {
  display: none;
  animation: fadeInUp 0.5s ease-out;
}

.course-group.active {
  display: block;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.course-group>h3 {
  text-align: center;
  font-size: 18px;
  color: #000066;
  margin-bottom: 25px;
  position: relative;
  padding-bottom: 10px;
}

.course-group>h3::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 60px;
  height: 2px;
  background: linear-gradient(90deg, #4facfe, #00f2fe);
  transform: translateX(-50%);
  border-radius: 1px;
}

.course-cards-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 30px;
}

.course-card {
  background: white;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
  border: 1px solid #e8ecff;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  height: fit-content;
}

.course-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(79, 172, 254, 0.03), transparent);
  transition: left 0.5s ease;
}

.course-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(79, 172, 254, 0.12);
  border-color: #4facfe;
}

.course-card:hover::before {
  left: 100%;
}

.course-card h3 {
  color: #333;
  font-size: 16px;
  margin-bottom: 10px;
  font-weight: 700;
  position: relative;
}

.course-card .desc {
  color: #666;
  font-size: 13px;
  margin-bottom: 15px;
  font-style: italic;
}

.course-card ul {
  list-style: none;
  margin-bottom: 15px;
}

.course-card ul li {
  padding: 5px 0;
  border-bottom: 1px solid #f0f0f0;
  position: relative;
  padding-left: 15px;
  font-size: 14px;
}

.course-card ul li::before {
  content: '●';
  position: absolute;
  left: 0;
  color: #4facfe;
  font-size: 10px;
  top: 5px;
}

.course-card ul li:last-child {
  border-bottom: none;
}

.course-card dl {
  background: linear-gradient(135deg, #f8f9ff 0%, #e8ecff 100%);
  padding: 15px;
  border-radius: 8px;
  margin-top: 15px;
}

.course-card dt {
  font-weight: 700;
  color: #0066cc;
  margin-bottom: 8px;
  font-size: 14px;
}

.course-card dd {
  color: #666;
  line-height: 1.6;
  margin-bottom: 6px;
  font-size: 13px;
}

.course-card dd:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {

  .course-area {
    padding: 15px;
  }

  .course-cards-container {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .course-card {
    padding: 15px;
  }

  .course-group>h3 {
    font-size: 16px;
    margin-bottom: 20px;
  }
}

@media (max-width: 480px) {
  .course-cards-container {
    grid-template-columns: 1fr;
  }
}

/* 700px幅のコンテナに最適化 */
@media (max-width: 700px) and (min-width: 481px) {
  .course-cards-container {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* 特別なエフェクト */
.course-card:nth-child(odd) {
  background: linear-gradient(135deg, #ffffff 0%, #f8f9ff 100%);
}

.course-card:nth-child(even) {
  background: linear-gradient(135deg, #f8f9ff 0%, #ffffff 100%);
}