#blwrap {
  position: relative;
  width: 100%;
  margin-bottom: 30px;
  padding-left: 20px;}
#blwrap .lobox + .lobox {
  margin-top: 40px;}
#blwrap .flex-kodawari {
  display: flex;
  align-items: center;}
#blwrap .flex-kodawari figure {
  margin: 0; 
  padding: 0;
  width: 300px;}
#blwrap .flex-kodawari img {
  width: 100%;
  height: auto;}
#blwrap .flex-kodawari > div {
  flex: 1;
  margin-left: 40px;}
h3.ch3 {
  position: relative;
  font-weight: 500!important;
  margin-bottom: 15px;
  color: #333;}
h3.ch3:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ccc;}
h3.ch3 span {
  position: relative;
  display: inline-block;
  padding: 0 20px 0 0;
  background-color: #fff;
  font-size: 20px;
  color: #333;
  z-index: 2;}
#blwrap .flex-kodawari > div p {
  line-height: 1.9;
  font-size: 15px;}
#blwrap .lobox .flex-kodawari:nth-child(even) figure {
  order: 2;}
#blwrap .lobox .flex-kodawari:nth-child(even) > div {
  margin-left: 0;
  margin-right: 40px;}
.ch2 {
  position: relative;
  border-bottom: 1px solid #333;
  padding-bottom: 5px;
  margin-bottom: 20px;
  text-align: center;
  font-size: 22px;
  font-weight: 600;
  color: #333;
  letter-spacing: .1em;}
.ch2:before {
  pointer-events: none;
  content: 'At.';
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: 2em;
  line-height: 1.0;
  letter-spacing: 0;}
.ch2 span {
  display: inline-block;
  font-size: 70%;
  line-height: 1.3;}



#itlist {
  display: flex;
  flex-wrap: wrap;}
#itlist li {
  position: relative;
  width: 32%;
  margin-top: 30px;}
#itlist li + li {
  margin-left: 2%;}
#itlist li:nth-child(3n+1) {
  margin-left: 0;}
#itlist li:nth-child(-n+3) {
  margin-top: 0;}
#itlist li a {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #4b4b4b;}
#itlist li a > div {
  flex: 1;}
#itlist li a figure {
  margin: 0;
  padding: 0;
  margin-top: 10px;
  width: 100%;
  border: 1px solid #e5ebfa;}
#itlist li a figure img {
  width: 100%;
  height: auto;}
#itlist li a figure + p {
  margin-top: 5px;
  text-align: center;}
#itlist li a h2 {
  margin-bottom: 0;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .03em;
  color: #2cb6b9;}
#itlist li a h2 span {
  display: inline-block;
  margin-left: 10px;
  font-size: 90%;}

.mincho {
  font-family: 'Yu Mincho',"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN",serif;
  font-weight: 500;}

.program + .program {
  margin-top: 30px;}
.program .stitle {
  width: 100%;
  display: flex;
  align-items: center;
  color: #fff;}
.program .stitle span {
  display: inline-block;
  padding: 12px 15px;
  font-weight: 600;
  font-size: 15px; }
.program .stitle i {
  font-weight: 600;
  font-size: 20px;
  margin-left: 20px;
  font-style: normal;}
.program .detaile {
  padding: 20px;
  border: solid #eee;
  border-width: 0 1px 1px;
  font-size: 15px;}
.program .detaile ul li {
  position: relative;
  padding-left: 1em;}
.program .detaile ul li:before {
  pointer-events: none;
  content: '\30FB';
  position: absolute;
  top: 0;
  left: 0;}
.program .detaile ul li + li {
  margin-top: 5px;}
.program .detaile .price {
  text-align: right;}
.program .detaile .price span {
  display: inline-block;
  margin-bottom: 5px;}
.program.pt-a .stitle {
  background-color: #dbf8ff;}
.program.pt-a .stitle span {
  background-color: #1f8ea8;}
.program.pt-a .stitle i {
  color: #1f8ea8;}
.program.pt-b .stitle {
  background-color: #ffebf7;}
.program.pt-b .stitle span {
  background-color: #ff72a1;}
.program.pt-b .stitle i {
  color: #ff72a1;}
.program.pt-c .stitle {
  background-color: #e0fddb;}
.program.pt-c .stitle span {
  background-color: #70b664;}
.program.pt-c .stitle i {
  color: #70b664;}