:root {
  --main-color: #DE6977;
  --sub-color: #FAF0EF;
  --light-color: #F6DEDC;
}



/* followLink
----------------------------------*/
#followLink .contact a {
  background-color: var(--main-color);
}

#followLink .setsumeikaiForm {
  border: solid 1px var(--main-color)
}

#followLink .setsumeikaiForm a h2 {
  color: var(--main-color);
}

#followLink .setsumeikaiForm a .bgPink {
  background-color: var(--main-color);
}

@media screen and (max-width: 1000px) {
  #followLink {
    background-color: var(--main-color);
  }

  #followLink .setsumeikaiForm {
    border-top: solid 3px var(--main-color);
    border-bottom: solid 3px var(--main-color);
  }


}

/* hero
----------------------------------*/
#hero #slide01 .swiper-slide01 img {
  object-position: left;
}

#hero #slide01 .swiper-slide02 img {
  object-position: right;
}

/* setsumeikai
----------------------------------*/
.setsumeikai {
  border: solid 1px var(--main-color);
  border-radius: 10px;
  overflow: hidden;
}

.setsumeikai.borderWhite {
  border: solid 1px #FFF;
}

.setsumeikai p.detail {
  background-image: linear-gradient(270deg, rgba(222, 105, 119, 1) 80%, rgba(255, 255, 255, 1) 100%);
}

@media screen and (max-width: 768px) {
  .setsumeikai p.detail {
    background-color: var(--main-color);
    background-image: none;
  }
}

/* kouzaInfo
----------------------------------*/
#kouzaInfo h2 {
  color: var(--main-color);
}

/* point
----------------------------------*/
#point:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/bg_line_pink_long.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}

#point .inner>h3 {
  margin-bottom: 40px;
  background-color: var(--main-color);
}

#point ul.boxWrap:before {
  content: "";
  position: absolute;
  top: -272px;
  right: 70px;
  width: 186px;
  height: 272px;
  background-image: url(../img/under/bridalplanner/point_staff_img.png);
  background-repeat: no-repeat;
  background-size: 100%;
}

#point ul.boxWrap li {
  padding: 25px 20px;
  margin-bottom: 25px;
  border: solid 1px var(--main-color);
  border-radius: 10px;
}

#point ul.boxWrap li:nth-of-type(odd) {
  background-color: var(--main-color);
  color: #FFF;
}

#point ul.boxWrap li:nth-of-type(even) p.number {
  color: var(--main-color);
}

#point ul.boxWrap li a {
  padding-right: 30px;
  color: var(--main-color);
  font-size: 16px;
}

#point ul.boxWrap li a::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--main-color);
}

#point ul.boxWrap li a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 24px;
  height: 24px;
  margin: auto 0;
  background-image: url(../img/icon_document_pink.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}

@media screen and (max-width: 1000px) {
  #point ul.boxWrap:before {
    content: none;
  }
}

@media screen and (max-width: 768px) {
  #point:after {
    width: 350%;
  }

  #point ul.boxWrap li a {
    padding-right: 30px;
    color: var(--main-color);
    font-size: 14px;
  }
}

/* kouzaContent
----------------------------------*/
.kouzaContent .titleWrap {
  background-color: var(--sub-color);
  border: solid 1px var(--main-color);
}

.kouzaContent .titleWrap::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 16px 8.5px 0 8.5px;
  border-color: var(--main-color) transparent transparent;
  translate: -50% 100%;
}

.kouzaContent .titleWrap::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 15px 7.5px 0 7.5px;
  border-color: var(--sub-color) transparent transparent;
  translate: -50% 100%;
}

.kouzaContent .titleWrap h2::before {
  content: "【";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -30px;
  margin: auto 0;
  color: var(--main-color);
}

.kouzaContent .titleWrap h2::after {
  content: "】";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -35px;
  margin: auto 0;
  color: var(--main-color);
}

.kouzaContent .titleWrap dl {
  background-color: var(--main-color);
}

.kouzaContent .titleWrap dl::before {
  content: "";
  position: absolute;
  top: -25px;
  left: -140px;
  width: 580px;
  height: 1px;
  margin: 0 auto;
  background-color: var(--main-color);
}

.kouzaContent .date .column p.price {
  color: var(--main-color);
}

.kouzaContent .date .lecture {
  background-color: var(--sub-color);
  border: solid 1px var(--main-color);
}

.kouzaContent .date .lecture h4 {
  color: var(--main-color);
}

@media screen and (max-width: 768px) {
  .kouzaContent .titleWrap h2::before {
    content: none;
  }

  .kouzaContent .titleWrap h2::after {
    content: "";
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    right: auto;
    width: 100%;
    height: 1px;
    margin: 0 auto;
    background-color: var(--main-color);
    border: none;
  }

  .kouzaContent .titleWrap dl::before {
    content: none;
  }
}

/* kouzaOther
----------------------------------*/
#kouzaOther {
  background-color: var(--main-color);
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.1) 3px, transparent 3px), radial-gradient(circle, rgba(255, 255, 255, 0.1) 3px, transparent 3px);
  background-position: 0 0, 15px 30px;
  background-size: 30px 60px;
}

#kouzaOther #tokuten h3 {
  color: var(--main-color);
}

#kouzaOther #tokuten h3::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 750px;
  height: 102px;
  margin: 0 auto;
  background-image: url(../img/under/bridalplanner/tokuten_h3_bg.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}

#kouzaOther #tokuten .tokutenDetail:not(:last-of-type) {
  border-bottom: solid 1px var(--main-color);
}

#kouzaOther #tokuten .tokutenDetail .tokutenNumber h5 {
  background-color: var(--main-color);
}

#kouzaOther #textBook .column .textWrap {
  width: 500px;
}

#kouzaOther #tokuten .tokutenDetail .textWrap dl dt {
  background-color: var(--light-color);
}

#kouzaOther #textBook {
  padding-bottom: 30px;
}

#kouzaOther #textBook .column .textWrap p.linkText a {
  padding-right: 25px;
  color: var(--main-color);
  font-size: 16px;
}

#kouzaOther #textBook .column .textWrap p.linkText a::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--main-color);
}

#kouzaOther #textBook .column .textWrap p.linkText a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 20px;
  height: 20px;
  margin: auto 0;
  background-image: url(../img/icon_document_pink.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}

#kouzaOther #textBook .column .imgWrap {
  position: relative;
  right: -20px;
  width: calc(100% - 550px);
  background-color: #666;
  border-radius: 10px;
  padding: 0 20px 10px 10px;
  margin-top: -40px;
  margin-left: 50px;
  text-align: center;
}


@media screen and (max-width: 1000px) {
  #kouzaOther #tokuten h3::after {
    width: 100%;
  }

  #kouzaOther #textBook {
    padding-bottom:
      50px;
  }

  #kouzaOther #textBook .column .textWrap {
    width: 100%;
  }

  #kouzaOther #textBook .column .imgWrap {
    right: 0;
    width: 100%;
    margin-top: 20px;
    margin-left: 0;
  }
}

@media screen and (max-width: 768px) {
  #kouzaOther #tokuten h3::after {
    width: 318px;
    height: 76.5px;
    background-image: url(../img/under/bridalplanner/tokuten_h3_bg_sp.svg);
    background-repeat: no-repeat;
    background-size: 100%;
  }
}

@media screen and (max-width: 370px) {
  #kouzaOther #tokuten h3::after {
    width: 280px;
    height: 67px;
  }
}

/* voice
----------------------------------*/
#voice {
  background-color: #F1E4E2;
}

#voice .inner>h3 {
  background-color: var(--main-color);
}

#voice .inner>h3::before {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 0;
  left: 22px;
  width: 82px;
  height: 53px;
  margin: auto 0;
  background-image: url(../img/under/bridalplanner/voice_h2_bg.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}

@media screen and (max-width: 768px) {
  #voice .inner>h3 {
    padding: 0 10px 0 80px;
    font-size: 36px;
  }

  #voice .inner>h3::before {
    left: 12px;
    width: 61px;
    height: 38px;
  }
}

/* kentei
----------------------------------*/
#kentei {
  background-color: var(--main-color)
}

#kentei ul.kenteiGaiyou li dl {
  background-color: #F3E6E5;
}

#kentei ul.kenteiGaiyou li dl dt {
  background-color: var(--main-color);
}

#kentei #kakomon {
  background-color: #BF4762;
  border: solid 1px #FFF;
  border-radius: 10px;
}

#kentei .formButton a:hover {
  background-color: #BF4762;
  transition: all .5s ease;
}


/* #kenteiInfo
----------------------------------*/
#kenteiInfo {
  background-color: #bf4762;
}

/* official
----------------------------------*/
.official a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  width: 40px;
  height: 40px;
  width: 30px;
  height: 30px;
  margin: auto 0;
  background-image: url(../img/icon_arrow_right_bgpink.svg);
  background-repeat: no-repeat;
  background-size: 100%;
}