.gakka {
  margin-bottom: 40px;
}
.gakka:last-of-type {
  margin-bottom: 0;
}
.gakka.is-red .gakka__heading {
  background: #E9463F;
}
.gakka.is-red .gakka__sub-heading, .gakka.is-red .gakka__dl01 dt, .gakka.is-red .gakka__dl02 {
  color: #E9463F;
}
.gakka.is-red .gakka__box {
  background-image: url(/assets/img/common/bg_common_red.jpg);
}
.gakka.is-red .gakka__dl01 dt::before {
  background-color: #E9463F;
}
.gakka.is-red .gakka__dl02 {
  background: rgba(233, 70, 63, 0.15);
}
.gakka.is-pink .gakka__heading {
  background: #EB6DA5;
}
.gakka.is-pink .gakka__sub-heading, .gakka.is-pink .gakka__dl01 dt, .gakka.is-pink .gakka__dl02 {
  color: #EB6DA5;
}
.gakka.is-pink .gakka__box {
  background-image: url(/assets/img/common/bg_common_pink.jpg);
}
.gakka.is-pink .gakka__dl01 dt::before {
  background-color: #EB6DA5;
}
.gakka.is-pink .gakka__dl02 {
  background: rgba(235, 109, 165, 0.15);
}
.gakka.is-orange .gakka__heading {
  background: #F08637;
}
.gakka.is-orange .gakka__sub-heading, .gakka.is-orange .gakka__dl01 dt, .gakka.is-orange .gakka__dl02 {
  color: #F08637;
}
.gakka.is-orange .gakka__box {
  background-image: url(/assets/img/common/bg_common_orange.jpg);
}
.gakka.is-orange .gakka__dl01 dt::before {
  background-color: #F08637;
}
.gakka.is-orange .gakka__dl02 {
  background: rgba(240, 134, 55, 0.15);
}
.gakka.is-yellow .gakka__heading {
  background: #F8B500;
}
.gakka.is-yellow .gakka__sub-heading, .gakka.is-yellow .gakka__dl01 dt, .gakka.is-yellow .gakka__dl02 {
  color: #F8B500;
}
.gakka.is-yellow .gakka__box {
  background-image: url(/assets/img/common/bg_common_yellow.jpg);
}
.gakka.is-yellow .gakka__dl01 dt::before {
  background-color: #F8B500;
}
.gakka.is-yellow .gakka__dl02 {
  background: rgba(248, 181, 0, 0.15);
}
.gakka__heading {
  display: inline-block;
  text-align: center;
  padding: 4px 10px;
  font-size: 2.4rem;
  color: #fff;
  font-weight: 500;
  background: #1CB9EE;
}
.gakka__heading span {
  font-size: 2rem;
  position: relative;
  display: inline-block;
  padding-left: 10px;
  margin-left: 3px;
}
.gakka__heading span::before {
  content: "";
  width: 1px;
  height: 90%;
  background: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.gakka__sub-heading {
  color: #1CB9EE;
  display: inline-block;
  font-size: 2.4rem;
  margin-bottom: 20px;
  font-weight: 500;
  padding: 11px 20px;
}
.gakka__box {
  background: url(/assets/img/common/bg_common_blue.jpg) no-repeat center/cover;
  padding: 35px 38px;
}
.gakka__dl01 {
  margin-bottom: 20px;
}
.gakka__dl01 dt {
  color: #1CB9EE;
  font-size: 2.4rem;
  font-weight: 500;
  margin-bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.gakka__dl01 dt::before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #1CB9EE;
  display: inline-block;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-right: 10px;
  vertical-align: middle;
  position: relative;
  top: 10px;
}
.gakka__dl02 {
  background: rgba(28, 185, 238, 0.15);
  color: #1CB9EE;
  padding: 10px;
  border-radius: 10px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .gakka {
    margin-bottom: 30px;
  }
  .gakka.is-red .gakka__sub-heading span {
    -webkit-box-shadow: 3px 3px 0 0 #E9463F;
            box-shadow: 3px 3px 0 0 #E9463F;
  }
  .gakka.is-pink .gakka__sub-heading span {
    -webkit-box-shadow: 3px 3px 0 0 #EB6DA5;
            box-shadow: 3px 3px 0 0 #EB6DA5;
  }
  .gakka.is-orange .gakka__sub-heading span {
    -webkit-box-shadow: 3px 3px 0 0 #F08637;
            box-shadow: 3px 3px 0 0 #F08637;
  }
  .gakka.is-yellow .gakka__sub-heading span {
    -webkit-box-shadow: 3px 3px 0 0 #F8B500;
            box-shadow: 3px 3px 0 0 #F8B500;
  }
  .gakka__heading {
    font-size: 1.4rem;
    padding: 6px 11px;
  }
  .gakka__heading span {
    font-size: 1.4rem;
  }
  .gakka__sub-heading {
    font-size: 2rem;
    background: none;
    -webkit-box-shadow: none;
            box-shadow: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0;
    margin-bottom: 10px;
  }
  .gakka__sub-heading span {
    background: #fff;
    -webkit-box-shadow: 3px 3px 0 0 #1CB9EE;
            box-shadow: 3px 3px 0 0 #1CB9EE;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding: 3px 10px;
    margin-bottom: 7px;
    border: solid 1px;
  }
  .gakka__box {
    padding: 20px 15px;
  }
  .gakka__dl01 dt {
    font-size: 1.8rem;
  }
  .gakka__dl02 dt {
    font-size: 1.6rem;
  }
  .gakka__dl02 dd {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) {
  .gakka:nth-of-type(odd) .gakka__row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .gakka.is-red .gakka__sub-heading {
    -webkit-box-shadow: 3px 3px 0 0 #E9463F;
            box-shadow: 3px 3px 0 0 #E9463F;
  }
  .gakka.is-pink .gakka__sub-heading {
    -webkit-box-shadow: 3px 3px 0 0 #EB6DA5;
            box-shadow: 3px 3px 0 0 #EB6DA5;
  }
  .gakka.is-orange .gakka__sub-heading {
    -webkit-box-shadow: 3px 3px 0 0 #F08637;
            box-shadow: 3px 3px 0 0 #F08637;
  }
  .gakka.is-yellow .gakka__sub-heading {
    -webkit-box-shadow: 3px 3px 0 0 #F8B500;
            box-shadow: 3px 3px 0 0 #F8B500;
  }
  .gakka__sub-heading {
    background: #fff;
    -webkit-box-shadow: 3px 3px 0 0 #1CB9EE;
            box-shadow: 3px 3px 0 0 #1CB9EE;
    border: solid 1px;
    padding: 6px 10px;
  }
  .gakka__dl02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .gakka__dl02 dt {
    font-size: 2rem;
    border-right: solid 1px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-right: 10px;
    margin-right: 10px;
  }
}
@media screen and (max-width: 999px) {
  .gakka__box {
    max-width: 850px;
    margin: 0 auto;
  }
  .gakka__img {
    margin-top: 20px;
  }
}
@media screen and (min-width: 1000px) {
  .gakka__box-unit {
    width: 53%;
  }
  .gakka__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .gakka__dl02 {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
  }
  .gakka__img {
    width: 44%;
    max-width: 487px;
  }
}