@media only screen and (min-width: 769px) {
  .wrap {
    width: 1200px;
    padding: 0;
  }
}

@media only screen and (max-width: 1230px) {
  .wrap {
    padding: 0 15px;
  }
}

/*------				
.btn-link
------*/
.btn-link a {
  display: block;
  font-size: 18px;
  color: #fff;
  position: relative;
  text-decoration: none;
  text-align: center;
  font-weight: 700;
  padding: 10.5px 0;
  line-height: 2;
  border-radius: 29px;
  background: #DA0150;
}

.btn-link a::before {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 22px;
  background: url("../images/meikokidse/index/arrow4.png") no-repeat center/100% auto;
  width: 10px;
  height: 17px;
}

.btn-link a:hover {
  opacity: 0.8;
}

.btn-link.style2 a {
  background: #15B3EE;
}

@media only screen and (max-width: 768px) {
  .btn-link {
    width: 276px;
    margin: 0 auto;
  }
  .btn-link a {
    font-size: 14px;
    padding: 12px 0;
  }
  .btn-link a::before {
    right: 21px;
    width: 7px;
    height: 13px;
  }
}

/*------
ttl
------*/
.ttl {
  font-size: 32px;
  line-height: 46px;
  font-weight: 700;
}

.ttl span {
  display: block;
  font-size: 52px;
  letter-spacing: 0.23em;
  line-height: 62px;
}

.ttl.style2 {
  font-size: 29px;
  line-height: 35px;
}

@media only screen and (max-width: 768px) {
  .ttl {
    font-size: 20px;
    line-height: 33px;
  }
  .ttl.style2 {
    font-size: 20px;
    line-height: 33px;
  }
  .ttl span {
    font-size: 30px;
    line-height: 36px;
    margin-bottom: -2px;
  }
}

/*------
secLink
------*/
.secLink {
  margin: 0 50px 0 47px;
}

.secLink .wrap {
  max-width: 100%;
}

.secLink + .secLink {
  margin-top: 40px;
}

@media only screen and (max-width: 768px) {
  .secLink {
    margin: 0;
  }
  .secLink + .secLink {
    margin-top: 0;
  }
}

/*------
key
------*/
#key {
  background: url("../images/school/detail/deco.png") no-repeat center #D2F3FE;
  text-align: center;
  padding: 167px 0 122px;
}

#key h1 {
  font-size: 42px;
  line-height: 50px;
  font-weight: 700;
}

#key h1 span {
  display: block;
  margin: 15px 0 0;
  font-size: 18px;
  line-height: 100%;
}

@media only screen and (max-width: 768px) {
  #key {
    background-image: url("../images/school/detail/deco_sp.png");
    background-size: 100% auto;
    padding: 58px 0 57px;
  }
  #key h1 {
    font-size: 22px;
    line-height: 36px;
  }
  #key h1 span {
    margin: 3px 0 0;
    font-size: 14px;
    line-height: 25px;
  }
}

/*------
sec1
------*/
#sec1 {
  padding: 100px 0 112px;
}

#sec1 .wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

#sec1 .left {
  width: 700px;
  line-height: 0;
}

#sec1 .left .s1-thumb {
  display: flex;
  flex-wrap: wrap;
}

#sec1 .left .s1-thumb p {
  transition: all 0.3s ease;
  cursor: pointer;
}

#sec1 .left .s1-thumb p:hover {
  opacity: 0.8;
}

#sec1 .right {
  width: 430px;
}

#sec1 .right .logo {
  width: 300px;
}

#sec1 .right h3 {
  font-weight: 700;
  margin: 23px 0 24px;
  font-size: 25px;
  line-height: 35px;
}

#sec1 .right .map {
  display: flex;
  gap: 0 13px;
  font-size: 16px;
  line-height: 35px;
  align-items: flex-start;
}

#sec1 .right .map img {
  margin-top: 8px;
  width: 13px;
}

#sec1 .right .googlemap{
  margin: 0 0 20px 27px;
}

#sec1 .right .googlemap img{
	width: 15px;
	height: auto;
	margin-left: 5px;
}

#sec1 .right .tel {
  margin: 34px 0 44px;
}

#sec1 .right .tel .gr {
  display: flex;
  align-items: flex-start;
  gap: 0 13px;
}

#sec1 .right .tel .gr img {
  width: 32.25px;
  margin: 20px 0 0;
}

#sec1 .right .tel .gr span {
  font-size: 53px;
  line-height: 63px;
  font-weight: 700;
}

#sec1 .right .tel .gr span small {
  display: block;
  margin: 8px 0 0;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
}

#sec1 .right .btn-mail {
  width: 318px;
}

#sec1 .right .btn-mail a {
  border-radius: 43px;
  background: #FCA400;
  display: flex;
  align-items: center;
  color: #fff;
  font-weight: 700;
  font-size: 17px;
  line-height: 21px;
  padding: 21.5px 0 21.5px 57px;
  gap: 0 11px;
  box-shadow: 0 5px 0 0 #D98D00;
}

#sec1 .right .btn-mail a img {
  width: 27px;
  margin-top: 4px;
}

@media only screen and (max-width: 768px) {
  #sec1 {
    padding: 15px 0 52px;
  }
  #sec1 .wrap {
    display: block;
  }
  #sec1 .left {
    width: auto;
  }
  #sec1 .left .s1-thumb .thumb {
    width: calc(100%/5);
  }
  #sec1 .right {
    width: auto;
    margin: 22px 0 0;
  }
  #sec1 .right .logo {
    width: 208px;
  }
  #sec1 .right h3 {
    margin: 15px 0 21px;
    font-size: 21px;
    line-height: 35px;
  }
  #sec1 .right .map {
    gap: 0 9px;
    font-size: 15px;
    line-height: 28px;
  }
  #sec1 .right .map + .map {
    margin-top: 15px;
  }
  #sec1 .right .googlemap{
	margin: 5px 0 20px 22px;
  }
  
  #sec1 .right .tel {
    margin: 20px 0 24.5px;
  }
  #sec1 .right .tel .gr {
    justify-content: center;
    gap: 0 12px;
  }
  #sec1 .right .tel .gr img {
    width: 30px;
    margin-top: 10px;
  }
  #sec1 .right .tel .gr span {
    font-size: 43px;
    line-height: 51px;
  }
  #sec1 .right .tel .gr span small {
    margin-left: -14px;
    margin-top: 4.5px;
    font-size: 13px;
    line-height: 19px;
  }
  #sec1 .right .btn-mail {
    margin: 24.5px auto 0;
  }
}

/*------
sec2
------*/
#sec2 {
  background: #FFFBEF;
  position: relative;
  padding: 86px 0 126px;
  overflow: hidden;
  text-align: center;
}

#sec2::before {
  content: '';
  position: absolute;
  top: 26px;
  background: url("../images/school/detail/deco2.png") no-repeat top center;
  width: 1642px;
  bottom: 0;
  left: calc(50% - 888px);
}

#sec2 .wrap {
  position: relative;
  z-index: 2;
}

#sec2 h2 {
  margin-bottom: 47px;
}

#sec2 h2 span {
  margin-bottom: 16px;
}

#sec2 .group-item {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

#sec2 .group-item .item {
  width: calc((100% - 32px)/3);
  background: #fff;
}

#sec2 .group-item .item .group-txt {
  padding: 28px 25px 50px;
}

#sec2 .group-item .item .group-txt .tit {
  font-size: 25px;
  line-height: 36px;
  font-weight: 700;
  margin-bottom: 19px;
}

#sec2 .group-item .item .group-txt .txt {
  text-align: left;
  line-height: 31px;
  font-size: 15px;
}

@media only screen and (max-width: 768px) {
  #sec2 {
    padding: 50px 15px 26px;
  }
  #sec2::before {
    display: none;
  }
  #sec2 h2 {
    line-height: 29px;
    margin-bottom: 28px;
  }
  #sec2 .group-item {
    display: block;
  }
  #sec2 .group-item .item {
    width: 100%;
  }
  #sec2 .group-item .item + .item {
    margin-top: 30px;
  }
  #sec2 .group-item .item .group-txt {
    padding: 17px 15px 25px;
  }
  #sec2 .group-item .item .group-txt .tit {
    font-size: 20px;
    line-height: 33px;
    margin-bottom: 17px;
  }
}

/*------
sec3
------*/
#sec3 {
  padding: 96px 0 109px;
  text-align: center;
}

#sec3 h2 {
  margin-bottom: 47px;
}

@media only screen and (max-width: 768px) {
  #sec3 {
    padding: 43px 0 65px;
  }
  #sec3 h2 {
    margin-bottom: 24px;
  }
}

/*------
sec4
------*/
#sec4 {
  padding: 81px 0 126px;
  text-align: center;
  background: #D2F3FE;
}

#sec4 h2 {
  margin-bottom: 55px;
}

#sec4 .group + .group {
  margin-top: 50px;
}

#sec4 .group h3 {
  font-weight: 700;
  font-size: 24px;
  line-height: 35px;
  margin-bottom: 23px;
}

#sec4 .group ul {
  width: 816px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 33px;
}

#sec4 .group ul li {
  width: 250px;
  background: #fff;
  font-size: 16px;
  line-height: 1.5;
  padding: 3.5px 0;
  font-weight: 500;
  border-radius: 16px;
}

#sec4 .group ul.style2 li {
  background: #FFFBEE;
}

@media only screen and (max-width: 768px) {
  #sec4 {
    padding: 36px 0 40px;
  }
  #sec4 h2 {
    margin-bottom: 34px;
  }
  #sec4 h2 span {
    line-height: 33px;
  }
  #sec4 .group + .group {
    margin-top: 34px;
  }
  #sec4 .group h3 {
    font-size: 20px;
    line-height: 29px;
    margin-bottom: 19px;
  }
  #sec4 .group ul {
    width: auto;
    gap: 10px;
    margin: 0 15px;
  }
  #sec4 .group ul li {
    width: calc((100% - 10px)/2);
    font-size: 15px;
  }
}

/*------
sec5
------*/
#sec5 {
  background: #FFEFEF;
  padding: 71px 0 118px;
}

#sec5 h2 {
  text-align: center;
  margin-bottom: 53px;
}

#sec5 .empty { padding: 50px 0; text-align: center; }

#sec5 .group-item {
  width: 1000px;
  margin: 0 auto;
}

#sec5 .group-item .item {
  background: #fff;
  padding: 12px 29px 12px 12px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

#sec5 .group-item .item .img {
  width: 231px;
}

#sec5 .group-item .item .group-txt {
  width: 685px;
  padding: 36px 0 0;
}

#sec5 .group-item .item .group-txt .tit {
  font-weight: 700;
  font-size: 32px;
  line-height: 46px;
  color: #15B3EE;
  margin-bottom: 12px;
}

#sec5 .group-item .item .group-txt .txt {
  line-height: 31px;
}

#sec5 .group-item .item + .item {
  margin-top: 26px;
}

@media only screen and (max-width: 768px) {
  #sec5 {
    padding: 30px 0 46px;
  }
  #sec5 h2 {
    margin-bottom: 19px;
  }
  #sec5 .group-item {
    width: auto;
  }
  #sec5 .group-item .item {
    padding: 15px 15px 25px;
    display: block;
  }
  #sec5 .group-item .item .img {
    width: 116px;
    margin: 0 auto;
  }
  #sec5 .group-item .item .group-txt {
    padding: 7px 0 0;
    width: auto;
  }
  #sec5 .group-item .item .group-txt .tit {
    text-align: center;
    font-size: 21px;
    line-height: 30px;
    margin-bottom: 13px;
  }
  #sec5 .group-item .item .group-txt .txt {
    font-size: 13px;
    line-height: 2;
  }
}

#sec6 {
  background: #EAFFE2;
  padding: 73px 0 90px;
}

#sec6 .wrap2 {
  width: 1400px;
  margin: 0 auto;
  max-width: calc(100% - 40px);
}

#sec6 .ttl {
  text-align: center;
  margin-bottom: 59px;
}

#sec6 .ttl span {
  margin-bottom: 4px;
}

#sec6 .group-item {
  display: flex;
  gap: 0 27px;
}

#sec6 .group-item .empty { text-align: center; width: 100%; padding: 0 0 50px; }

#sec6 .group-item .item {
  width: calc((100% - 54px)/3);
  background: #fff;
}

#sec6 .group-item .item .group-txt {
  padding: 25px 41px 54px 24px;
}

#sec6 .group-item .item .group-txt .date {
  font-size: 12px;
  line-height: 17px;
  color: #ADADAD;
  font-weight: 700;
}

#sec6 .group-item .item .group-txt .tit {
  font-size: 20px;
  line-height: 29px;
  font-weight: 700;
  margin: 12px 0 16px;
}

#sec6 .group-item .item .group-txt .txt {
  font-size: 14px;
  line-height: 26px;
  margin-bottom: 25px;
}

#sec6 .group-item .item .group-txt .logo {
  display: flex;
  align-items: center;
  gap: 0 8px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
}

#sec6 .group-item .item .group-txt .logo img {
  width: 106px;
}

#sec6 .btn-link {
  margin: 39px auto 0;
  width: 303px;
}

@media only screen and (max-width: 768px) {
  #sec6 {
    padding: 46px 0 68px;
  }
  #sec6 .wrap {
    max-width: 100%;
    padding: 0 30px;
  }
  #sec6 .ttl {
    margin-bottom: 30px;
    letter-spacing: -0.025em;
  }
  #sec6 .group-item {
    display: block;
  }
  #sec6 .group-item .item {
    width: 100%;
  }
  #sec6 .group-item .item + .item {
    margin-top: 34px;
  }
  #sec6 .group-item .item .group-txt {
    padding: 16px 16px 28px;
  }
  #sec6 .group-item .item .group-txt .date {
    font-size: 12px;
  }
  #sec6 .group-item .item .group-txt .tit {
    font-size: 18px;
    line-height: 26px;
    margin: 6px 0;
  }
  #sec6 .group-item .item .group-txt .txt {
    line-height: 25px;
    margin-bottom: 18px;
  }
}

#column {
  margin: -23px 0 0;
}

@media only screen and (min-width: 769px) {
  #column {
    padding-top: 128px;
  }
}

@media only screen and (max-width: 768px) {
  #column {
    margin-top: 25px;
  }
}
