#key {
  background-image: url("../img/index/key_sp.jpg");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center top;
  border-bottom: 25vw solid #E1EAE5;
  padding-top: 55.8vw;
}

#key .txt-group {
  letter-spacing: 0;
}

#key .txt-group .sttl {
  display: table;
  margin: 0 auto 2.8vw;
  font-size: 5.5vw;
  line-height: 8.3vw;
  position: relative;
  z-index: 0;
}

#key .txt-group .sttl:before {
  content: '';
  height: 1.8vw;
  background: #FF7E7E;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

#key .txt-group .ttl {
  font-size: 12.5vw;
  line-height: 17.5vw;
  margin-bottom: 2.5vw;
}

#key .txt-group .ttl small {
  display: block;
  font-size: 7.0vw;
  line-height: 9.5vw;
}

#key .txt-group .tbox {
  width: 85vw;
  margin: 0 auto 2.5vw;
  border: 3px solid;
  border-radius: 12.5vw;
  font-size: 4vw;
  line-height: 6.3vw;
  padding: 1.8vw 0;
}

#key .txt-group .key-item {
  margin-bottom: 6vw;
}

#key .txt-group .key-item .circle {
  width: 35.8vw;
  height: 35.8vw;
  border: 2px solid #7CD1FA;
  border-radius: 50%;
  background: #fff;
  position: relative;
  z-index: 0;
  font-size: 3vw;
  line-height: 4.5vw;
  letter-spacing: 0;
  box-shadow: 1.5vw 1.5vw 0px rgba(43, 43, 43, 0.1);
  margin: 0 1.3vw;
  overflow: hidden;
}

#key .txt-group .key-item .circle:before {
  content: '';
  height: 50%;
  background: #7CD1FA;
  border-radius: 50% 50% 0 0;
  position: absolute;
  left: -1px;
  right: -1px;
  top: -1px;
  z-index: -1;
}

#key .txt-group .key-item .circle p {
  height: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#key .txt-group .key-item .circle .r1 {
  padding-top: 1.3vw;
}

#key .txt-group .key-item .circle .r2 {
  padding-bottom: 1.3vw;
}
/*
#key .apply-btn {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9;
}

#key .apply-btn a {
  display: block;
  background: #FA777C;
  color: #fff;
  text-align: center;
  font-size: 6.3vw;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 9.3vw;
  padding: 4vw 0 4.3vw;
}
*/
@media screen and (min-width: 1000px) {
  #key {
    background-image: url("../img/index/key.jpg");
    background-size: cover;
    background-position: 30%;
    border-bottom: none;
    padding: 8.9vw 0 3.6vw;
  }
  #key .txt-group {
    width: 45.6vw;
    margin-left: 5.6vw;
  }
  #key .txt-group .sttl {
    display: table;
    margin: 0 auto 1.1vw;
    font-size: 2.5vw;
    line-height: 3.7vw;
  }
  #key .txt-group .sttl:before {
    height: 0.8vw;
  }
  #key .txt-group .ttl {
    font-size: 4.4vw;
    line-height: 6.6vw;
    margin-bottom: 1.5vw;
    white-space: nowrap;
  }
  #key .txt-group .ttl small {
    white-space: nowrap;
    display: inline-block;
    font-size: 2.5vw;
    line-height: 3.7vw;
    margin-right: 0.6vw;
    position: relative;
    top: -1vw;
  }
  #key .txt-group .tbox {
    width: 100%;
    margin: 0 auto 1.7vw;
    border-radius: 2.8vw;
    font-size: 1.4vw;
    line-height: 2vw;
    padding: 0.6vw 0;
  }
  #key .txt-group .key-item {
    margin-bottom: 0;
    justify-content: space-between;
  }
  #key .txt-group .key-item .item {
    width: 22.4vw;
    position: relative;
    padding-bottom: 0.7vw;
  }
  #key .txt-group .key-item .img {
    width: 16.8vw;
  }
  #key .txt-group .key-item .circle {
    width: 12.8vw;
    height: 12.8vw;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    font-size: 1.1vw;
    line-height: 1.7vw;
    letter-spacing: 0;
    box-shadow: 0.3vw 0.3vw 0px rgba(43, 43, 43, 0.1);
  }
  #key .txt-group .key-item .circle:before {
    height: 55.6%;
  }
  #key .txt-group .key-item .circle .r1 {
    padding-top: 1.4vw;
  }
  #key .txt-group .key-item .circle .r2 {
    padding-bottom: 0px;
    font-size: 0.9vw;
    line-height: 1.3vw;
  }
/*
  #key .apply-btn {
    width: 240px;
    height: 240px;
    right: 10px;
    bottom: 90px;
    left: auto;
    z-index: 1;
    transition: 0.3s all ease-in-out;
  }
  #key .apply-btn a {
    width: 100%;
    height: 100%;
    font-size: 40px;
    line-height: 60px;
    padding: 60px 0;
    border-radius: 20px;
  }
  #key .apply-btn a:hover {
    background: #f7555c;
  }
*/
}

@media screen and (min-width: 1800px) {
  #key {
    padding: 160px 0 65px;
  }
  #key .txt-group {
    width: 820px;
    margin-left: 10%;
  }
  #key .txt-group .sttl {
    margin: 0 auto 19px;
    font-size: 45px;
    line-height: 66px;
  }
  #key .txt-group .sttl:before {
    height: 14px;
  }
  #key .txt-group .ttl {
    font-size: 80px;
    line-height: 119px;
    margin-bottom: 27px;
  }
  #key .txt-group .ttl small {
    font-size: 45px;
    line-height: 66px;
    margin-right: 10px;
    top: -10px;
  }
  #key .txt-group .tbox {
    margin: 0 auto 30px;
    border-radius: 50px;
    font-size: 25px;
    line-height: 36px;
    padding: 11px 0 10px;
  }
  #key .txt-group .key-item .item {
    width: 404px;
    padding-bottom: 12px;
  }
  #key .txt-group .key-item .img {
    width: 303px;
  }
  #key .txt-group .key-item .circle {
    width: 230px;
    height: 230px;
    font-size: 20px;
    line-height: 30px;
  }
  #key .txt-group .key-item .circle:before {
    height: 55.6%;
  }
  #key .txt-group .key-item .circle .r1 {
    padding-top: 25px;
  }
  #key .txt-group .key-item .circle .r2 {
    font-size: 16px;
    line-height: 24px;
  }
}

.nav--opened #key .apply-btn {
  opacity: 0;
  visibility: hidden;
}

.ttl-common {
  text-align: center;
  margin-bottom: 12.5vw;
}

.ttl-common .eng {
  display: block;
  text-transform: uppercase;
  font-family: 'Montserrat';
  font-size: 11.3vw;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 13.8vw;
  margin-bottom: 4vw;
}

.ttl-common .ja {
  display: block;
  font-size: 5vw;
  font-weight: 700;
  line-height: 7.2vw;
  letter-spacing: 0;
  padding-top: 14.0vw;
  background-image: url("../img/index/ttl_icon.png");
  background-repeat: no-repeat;
  background-size: 10vw;
  background-position: center top;
}

@media screen and (min-width: 1000px) {
  .ttl-common {
    margin-bottom: 39px;
  }
  .ttl-common .eng {
    font-size: 65px;
    line-height: 79px;
    margin-bottom: 21px;
  }
  .ttl-common .ja {
    font-size: 25px;
    line-height: 37px;
    padding-top: 61px;
    background-size: 47px;
  }
}

.apply-banner {
  background: #EEF8F0;
  padding: 13.8vw 7.5vw;
}

.btn-common a {
  display: block;
  background: #FA777C;
  color: #fff;
  text-align: center;
  border-radius: 6vw;
  font-size: 6.3vw;
  line-height: 9.3vw;
  letter-spacing: 0;
  font-weight: 700;
  padding: 4.3vw 0;
}

.btn-common.contact a {
  background: #7CD1FA;
}

@media screen and (min-width: 1000px) {
  .apply-banner {
    padding: 98px 30px 102px;
  }
  .btn-common {
    max-width: 1140px;
    width: 100%;
    margin: 0 auto;
  }
  .btn-common a {
    border-radius: 20px;
    font-size: 40px;
    line-height: 59px;
    padding: 36px 30px 35px;
  }
  .btn-common a:hover {
    background: #f7555c;
  }
  .btn-common.contact a:hover {
    background: #4eb8eb;
  }
}

.deco1 {
  position: relative;
  z-index: 0;
}

.deco1:before {
  content: '';
  height: 100vw;
  background-image: url("../img/index/deco1.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center top;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: -1;
}

@media screen and (min-width: 1000px) {
  .deco1:before {
    height: 345px;
    width: 653px;
    right: auto;
    left: calc(50% - 600px);
  }
}

.deco2 {
  position: relative;
  z-index: 0;
}

.deco2:before {
  content: '';
  height: 100vw;
  background-image: url("../img/index/deco2.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center top;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: -1;
}

@media screen and (min-width: 1000px) {
  .deco2:before {
    height: 345px;
    width: 653px;
    left: auto;
    right: calc(50% - 600px);
  }
}

#features {
  padding: 22vw 0 8vw;
}

#features .main-txt {
  margin-bottom: 17.5vw;
}

#features .blk {
  margin-bottom: 17.5vw;
}

#features .blk .img {
  margin: 0 -7.5vw 2.8vw;
}

#features .blk .img p {
  width: 49.5%;
}

#features .blk .col-text h3 {
  margin-bottom: 5vw;
}

#features .blk .col-text h3 span {
  font-size: 15.3vw;
  line-height: 18.3vw;
  letter-spacing: 0;
  position: relative;
  z-index: 1;
  margin-bottom: 2.8vw;
}

#features .blk .col-text h3 span:before {
  content: '';
  height: 2.5vw;
  background: #F0F0F0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.3vw;
  z-index: -1;
}

#features .blk .col-text h3 small {
  font-size: 5vw;
  line-height: 7.5vw;
  letter-spacing: 0;
}

@media screen and (min-width: 1000px) {
  #features {
    padding: 150px 0 54px;
  }
  #features .wrap {
    max-width: 1920px;
    padding: 0;
  }
  #features .main-txt {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto 90px;
    padding: 0 30px;
  }
  #features .blk {
    margin-bottom: 100px;
    display: flex;
    padding-right: 30px;
  }
  #features .blk .img {
    max-width: 900px;
    width: 47%;
    margin: 0;
  }
  #features .blk .img img {
    width: 100%;
    height: 470px;
    object-fit: cover;
    object-position: 50%;
  }
  #features .blk .col-text {
    max-width: 550px;
    margin-left: 30px;
  }
  #features .blk .col-text h3 {
    margin-bottom: 39px;
  }
  #features .blk .col-text h3 span {
    font-size: 100px;
    line-height: 123px;
    margin-bottom: 23px;
  }
  #features .blk .col-text h3 span:before {
    height: 16px;
    bottom: 17px;
  }
  #features .blk .col-text h3 small {
    font-size: 25px;
    line-height: 40px;
  }
  #features .img--right {
    justify-content: flex-end;
    padding: 0 0 0 30px;
  }
  #features .img--right .img {
    order: 2;
  }
  #features .img--right .col-text {
    order: 1;
    margin: 0 30px 0 0px;
  }
}

@media screen and (min-width: 1300px) {
  #features .blk .col-text {
    margin-left: 80px;
  }
  #features .img--right .col-text {
    margin: 0 80px 0 0px;
  }
}

#curriculum {
  padding: 25.3vw 0 10.8vw;
}

#curriculum .main-txt {
  margin-bottom: 17.5vw;
}

#curriculum .blk {
  margin-bottom: 17.5vw;
  background: #EEF8F0;
  border-radius: 12.5vw;
  overflow: hidden;
}

#curriculum .blk .ttl-group {
  background: #D1EDD6;
  padding: 7.5vw;
  position: relative;
  z-index: 0;
}

#curriculum .blk .ttl-group:before {
  content: '';
  background-image: url("../img/shared/pattern1.png");
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
}

#curriculum .blk .ttl-group h3 {
  font-size: 7.5vw;
  letter-spacing: 0;
  font-weight: 700;
  /* line-height: 11.3vw; */
  line-height: 1;
  margin-bottom: 3.3vw;
  padding-left: 18.3vw;
  position: relative;
}

#curriculum .blk .ttl-group h3 span {
  display: block;
  width: 14.2vw;
  height: 14.2vw;
  border: 2px solid;
  border-radius: 50%;
  text-align: center;
  font-size: 9.3vw;
  line-height: 13.3vw;
  letter-spacing: 0;
  font-weight: 700;
  font-family: 'DIN Alternate';
  position: absolute;
  left: 0;
  top: -1vw;
  padding-left: 1vw;
}

#curriculum .blk .ttl-group h3 small {
	/*font-size: 1.5vw;*/
	font-size: 1.6rem;
}

@media screen and ( max-width: 767px ){

  #curriculum .blk .ttl-group h3 {
    height: 10rem;
    padding-bottom: 4rem;

    display: flex;
    align-items: center;
  }

  #curriculum .blk .ttl-group h3 span {
    top: 0;
  }

  #curriculum .blk .ttl-group h3 small {
    font-size: 3.5vw;

    position: absolute;
    width: 100%;
    left: 0;
    bottom: 1rem;
    text-align: center;
  }

}

#curriculum .blk .ttl-group .h3-2 span {
  top: 1.5vw;
}

#curriculum .blk .ttl-group .tag {
  width: 62.5vw;
  margin: 0 auto;
  background: #5DBD6E;
  color: #fff;
  border-radius: 6.3vw;
  text-align: center;
  font-size: 5vw;
  line-height: 7.2vw;
  letter-spacing: 0;
  font-weight: 700;
  padding: 2.8vw 2.5vw 2.5vw;
}

#curriculum .blk .content-group {
  padding: 7.5vw;
}

#curriculum .blk .content-group .col-left {
  margin-bottom: 7.5vw;
}

#curriculum .blk .content-group .col-left .img {
  margin-bottom: 2.5vw;
}

#curriculum .blk .content-group .col-left h4 {
  font-size: 5vw;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 7.2vw;
  margin-bottom: 2.5vw;
}

#curriculum .blk .content-group .col-left .h4-2 {
  letter-spacing: 0.03em;
}

#curriculum .blk .content-group .col-left .txt {
  font-weight: 500;
}

#curriculum .blk .content-group .col-right {
  background: #fff;
  border-radius: 5vw;
  padding: 5vw;
}

#curriculum .blk .content-group .col-right .img {
  margin-bottom: 5vw;
}

#curriculum .blk .content-group .col-right .ttl {
  font-weight: 700;
  line-height: 24px;
  letter-spacing: 0;
  margin-bottom: 2.5vw;
}

@media screen and (min-width: 1000px) {
  #curriculum {
    padding: 150px 0 106px;
  }
  #curriculum .main-txt {
    text-align: center;
    margin-bottom: 70px;
  }
  #curriculum .blk {
    margin-bottom: 40px;
    border-radius: 50px;
  }
  #curriculum .blk .ttl-group {
    padding: 50px 50px 54px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #curriculum .blk .ttl-group h3 {
    font-size: 40px;
    /* line-height: 66px; */
    margin-bottom: 0;
    padding-left: 107px;
  }
  #curriculum .blk .ttl-group h3 span {
    width: 80px;
    height: 80px;
    font-size: 53px;
    line-height: 76px;
    top: -5px;
    padding-left: 5px;
  }
  #curriculum .blk .ttl-group .h3-2 span {
    top: -5px;
  }
  #curriculum .blk .ttl-group .tag {
    width: 250px;
    margin: 0;
    border-radius: 25px;
    font-size: 20px;
    line-height: 29px;
    padding: 11px 10px 10px;
  }
  #curriculum .blk .content-group {
    padding: 50px;
    display: flex;
    justify-content: space-between;
  }
  #curriculum .blk .content-group .col-left {
    max-width: 500px;
    width: 49%;
    margin-bottom: 0;
  }
  #curriculum .blk .content-group .col-left .img {
    margin-bottom: 20px;
  }
  #curriculum .blk .content-group .col-left h4 {
    font-size: 30px;
    line-height: 45px;
    margin-bottom: 19px;
  }
  #curriculum .blk .content-group .col-left .h4-2 {
    letter-spacing: 0;
  }
  #curriculum .blk .content-group .col-left .txt {
    line-height: 35px;
  }
  #curriculum .blk .content-group .col-right {
    max-width: 500px;
    width: 49%;
    border-radius: 20px;
    padding: 40px;
  }
  #curriculum .blk .content-group .col-right .img {
    margin-bottom: 30px;
  }
  #curriculum .blk .content-group .col-right .ttl {
    line-height: 29px;
    margin-bottom: 20px;
  }
  #curriculum .blk .content-group .col-right .txt {
    line-height: 35px;
  }
}

@media screen and (min-width: 1200px) {
  #curriculum .blk .ttl-group h3 {
    font-size: 45px;
  }
}

#voice {
  padding: 25.3vw 0 19.3vw;
}

#voice .blk {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 6.5vw;
}

#voice .blk .avatar {
  width: 19.3vw;
}

#voice .blk .box-chat {
  width: 57.5vw;
  background: #EEF8F0;
  border-radius: 9.3vw;
  padding: 6vw 6.3vw 6.3vw;
  position: relative;
  z-index: 0;
}

#voice .blk .box-chat:before {
  content: '';
  width: 12.5vw;
  height: 7.5vw;
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  top: 8vw;
  z-index: -1;
}

#voice .blk .box-chat .comming-soon {
  text-align: center;
  font-size: 5.8vw;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 7.0vw;
  color: #CFE3D2;
}

#voice .ava--left .box-chat:before {
  background-image: url("../img/index/box_deco.png");
  left: -4.5vw;
}

#voice .ava--right .avatar {
  order: 2;
}

#voice .ava--right .box-chat {
  order: 1;
}

#voice .ava--right .box-chat:before {
  background-image: url("../img/index/box_deco2.png");
  right: -4.5vw;
}

@media screen and (min-width: 1000px) {
  #voice {
    padding: 150px 0 99px;
  }
  #voice:before {
    height: 345px;
    width: 653px;
    left: auto;
    right: calc(50% - 600px);
  }
  #voice h2 {
    margin-bottom: 99px;
  }
  #voice .blk {
    margin-bottom: 49px;
    justify-content: center;
  }
  #voice .blk .avatar {
    width: 148px;
  }
  #voice .blk .box-chat {
    width: 440px;
    border-radius: 37px;
    padding: 47px 30px 46px;
  }
  #voice .blk .box-chat:before {
    width: 109px;
    height: 42px;
    top: 55px;
  }
  #voice .blk .box-chat .comming-soon {
    font-size: 45px;
    line-height: 55px;
  }
  #voice .ava--left .avatar {
    margin-right: 63px;
  }
  #voice .ava--left .box-chat:before {
    left: -30px;
  }
  #voice .ava--right .avatar {
    margin-left: 63px;
  }
  #voice .ava--right .box-chat:before {
    right: -30px;
  }
}

#flow {
  padding: 25.3vw 0 13.3vw;
}

#flow h2 {
  margin-bottom: 17.5vw;
}

#flow .box-main {
  background: #EEF8F0;
  border-top: 1.3vw solid #5DBD6E;
  margin-bottom: 12.5vw;
}

#flow .box-main .ttl-group {
  background: #D1EDD6;
  font-size: 7.5vw;
  letter-spacing: 0;
  line-height: 10vw;
  padding: 8vw 5vw 8.3vw;
}

#flow .box-main .ttl-group small {
  font-size: 5vw;
}

#flow .box-main .box-content {
  padding: 5vw;
}

#flow .box-main .box-content .box-list {
  margin-bottom: 5vw;
}

#flow .box-main .box-content .box-list .box-item {
  background: #FFFFFF;
  border-radius: 5vw;
  position: relative;
  padding: 3.8vw 5vw 5vw;
}

#flow .box-main .box-content .box-list .box-item .sttl {
  font-size: 6.3vw;
  letter-spacing: 0;
  line-height: 9.3vw;
  padding-bottom: 3.3vw;
  margin-bottom: 3.8vw;
  border-bottom: 1px solid #2B2B2B;
}

#flow .box-main .box-content .box-list .box-item .txt {
  font-size: 18px;
  line-height: 30px;
  letter-spacing: 0;
}

#flow .box-main .box-content .box-list .box-item .txt.flow01 {
  margin-bottom: 2rem;
}

#flow .box-main .box-content .box-list .box-item + .box-item {
  margin-top: 15vw;
}

#flow .box-main .box-content .box-list .box-item + .box-item:before {
  content: '';
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 5.3vw 3vw 0 3vw;
  border-color: #BABABA transparent transparent transparent;
  transform: rotate(0deg) translateX(-50%);
  position: absolute;
  left: 50%;
  top: -10vw;
}

#flow .box-main .box-content .box-text a {
  display: block;
  background: #FA777C;
  color: #fff;
  border-radius: 5vw;
  padding: 5vw 5vw 3vw;
}

@media screen and ( max-width: 767px ){

    #flow .box-main .box-content .box-text a {
      padding: 4.3vw 0;
    }

}

#flow .box-main .box-content .box-text a {
    display: block;
    background: #FA777C;
    color: #fff;
    border-radius: 5vw;
    padding: 5vw 5vw 5vw;
    padding: 4.3vw 0;
}

#flow .box-main .box-content .box-text .tbox {
  background: #fff;
  color: #FA777C;
  font-size: 4.5vw;
  line-height: 6.8vw;
  letter-spacing: 0;
  padding: 1.3vw;
  border-radius: 2.5vw;
  margin-bottom: 2.5vw;
}

#flow .box-main .box-content .box-text .btxt {
  /* font-size: 5.3vw; */
  font-size: 6.3vw;
  line-height: 7.8vw;
  letter-spacing: 0;
}

@media screen and (min-width: 1000px) {
  #flow {
    padding: 150px 0 103px;
  }
  #flow h2 {
    margin-bottom: 79px;
  }
  #flow .box-main {
    border-top-width: 5px;
    margin-bottom: 50px;
  }
  #flow .box-main .ttl-group {
    font-size: 35px;
    line-height: 52px;
    padding: 25px 30px 28px;
  }
  #flow .box-main .ttl-group small {
    display: inline-block;
    font-size: 20px;
    margin-left: 30px;
  }
  #flow .box-main .box-content {
    padding: 40px 2.663116vw;
  }
  #flow .box-main .box-content .box-list {
    max-width: 1019px;
    width: 100%;
    margin: 0 auto 40px;
    display: flex;
    justify-content: space-between;
  }
  #flow .box-main .box-content .box-list .box-item {
    width: 29.442%;
    border-radius: 20px;
    padding: 15px 20px 20px;
  }
  #flow .box-main .box-content .box-list .box-item .sttl {
    font-size: 25px;
    line-height: 37px;
    padding-bottom: 13px;
    margin-bottom: 15px;
  }
  #flow .box-main .box-content .box-list .box-item + .box-item {
    margin-top: 0;
  }
  #flow .box-main .box-content .box-list .box-item + .box-item:before {
    border-width: 11px 0 11px 24px;
    border-color: transparent transparent transparent #BABABA;
    transform: rotate(0deg) translateY(-50%);
    top: 50%;
    left: -14%;
  }
  #flow .box-main .box-content .box-text {
    max-width: 1019px;
    width: 100%;
    margin: 0 auto;
  }
  #flow .box-main .box-content .box-text a {
    border-radius: 20px;
    padding: 30px 30px 30px 27px;
    display: flex;
    /* justify-content: space-between; */
    justify-content: center;
    align-items: center;
  }
  #flow .box-main .box-content .box-text a:hover {
    background: #f7555c;
  }
  #flow .box-main .box-content .box-text .tbox {
    width: 51%;
    font-size: 165%;
    line-height: 200%;
    padding: 0vw;
    border-radius: 1.0vw;
    margin-bottom: 0;
  }
  #flow .box-main .box-content .box-text .btxt {
    width: 49%;
    font-size: 177%;
    line-height: 200%;
    text-align: center;
  }
}

@media screen and (min-width: 1200px) {
  #flow .box-main .box-content .box-text .tbox {
    width: 51.976%;
    font-size: 175%;
  }
  #flow .box-main .box-content .box-text .btxt {
    /* font-size: 200%; */
    font-size: 40px;
    line-height: 200%;
  }
}

#faq {
  background: #EEF8F0;
  padding: 25.3vw 0 19.5vw;
}

#faq:before {
  background-image: url("../img/index/deco3.png");
}

#faq h2 {
  margin-bottom: 17.5vw;
}

#faq .blk {
  margin-bottom: 5vw;
}

#faq .blk .question {
  background: #5DBD6E;
  color: #fff;
  border-radius: 20px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 30px;
  padding: 25px 70px 25px 77px;
  position: relative;
}

#faq .blk .question:before {
  content: '';
  width: 5px;
  height: 30px;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 37px;
  transform: translateY(-50%);
  transition: 0.3s all ease-in-out;
}

#faq .blk .question:after {
  content: '';
  height: 5px;
  width: 30px;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  transition: 0.3s all ease-in-out;
}

#faq .blk .question span {
  font-family: 'Montserrat';
  font-size: 30px;
  line-height: 37px;
  position: absolute;
  left: 20px;
  top: 22px;
}

#faq .blk .answer {
  margin-top: 20px;
  background: #fff;
  border-radius: 20px;
  padding: 20px;
}

#faq .blk .answer .ttl-a,
#faq .blk .answer .ttl-q {
  font-size: 18px;
  line-height: 27px;
  letter-spacing: 0;
  margin-bottom: 7px;
}

#faq .blk .answer .txt {
  font-size: 15px;
  line-height: 24px;
  letter-spacing: 0;
}

#faq .blk.active .question:after, #faq .blk.active .question:before {
  transform: translateY(-50%) rotate(45deg);
}

@media screen and (min-width: 1000px) {
  #faq {
    padding: 150px 0 123px;
  }
  #faq h2 {
    margin-bottom: 79px;
  }
  #faq .blk {
    margin-bottom: 30px;
  }
  #faq .blk .question {
    font-size: 25px;
    line-height: 38px;
    padding: 21px 70px 21px 120px;
    cursor: pointer;
    transition: 0.3s all ease-in-out;
  }
  #faq .blk .question span {
    font-size: 40px;
    line-height: 49px;
    left: 30px;
    top: 15px;
  }
  #faq .blk .question:hover {
    background: #35b24b;
  }
  #faq .blk .answer {
    padding: 60px;
  }
  #faq .blk .answer .ttl-a,
  #faq .blk .answer .ttl-q {
    font-size: 25px;
    line-height: 37px;
    margin-bottom: 19px;
  }
  #faq .blk .answer .ttl-a {
    margin-bottom: 29px;
  }
  #faq .blk .answer .txt {
    font-size: 20px;
    line-height: 35px;
  }
  #faq .blk.active .question:after, #faq .blk.active .question:before {
    transform: translateY(-50%) rotate(45deg);
  }
}

#contact .contact2,
#contact .contact1 {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 0%;
  padding: 85px 0;
}

#contact .contact1 {
  background-image: url("../img/index/contact_bg1.jpg");
}

#contact .contact2 {
  background-image: url("../img/index/contact_bg2.jpg");
}

@media screen and (min-width: 1000px) {
  #contact .contact2,
  #contact .contact1 {
    padding: 85px 0;
  }
}
