@charset "UTF-8";

.home .page__heading{
  height: 0;
  padding-top: calc( 734 / 1920 * 100% );
  background-image: url(/marriage-salon/home/images/mv-home.jpg);
  background-size: contain;
  position: relative;
}
@media (max-width: 768px){
  .home .page__heading{
    padding-top: calc( 500 / 750 * 100% );
    background-image: url(/marriage-salon/home/images/mv-home-sp.jpg);
  }
}

.home .msalon-top-banner-link-pc{
  display: block;
  position: absolute;
  right: 100px;
  bottom: 30px;
  width: 23%;
}
.home .msalon-top-banner-pc{
  width: 100%;
  display: block;
}
@media (min-width:769px) {
  .home .msalon-top-banner-link-sp{
    display: none;
  }
}
@media (max-width: 768px){
  .home .msalon-top-banner-wrap{
    background-color: #faf7f2;
    padding: 30px 0 50px;
  }
  .home .msalon-top-banner-link-sp{
    position: static;
    width: 80%;
    margin-left: 7.5%;
    display: block;
  }
  .home .msalon-top-banner-sp{
    width:100%;
    display: block;
  }
  .home .msalon-top-banner-link-pc{
    display: none;
  }
}

.home .top_text-container{
  padding-bottom: var(--content-gap);
}
.main__lead{
  color: var(--color-main);
  font-family: var(--font_family-mincho);
  font-size: var(--font_size-24);
  font-weight: bold;
  text-align: center;
}
.top_text-container p{
  margin-top: 20px;
}
.section-feature{
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  background-color: var(--color-sub2);
}
.section-feature .link-container{
  margin: clamp(35px, (100vw - 374px) * ( 50 - 35 ) / 624 + 35px, 50px) auto 0;
  text-align: center;
}
.section-feature .link-container a{
  font-family: var(--font_family-mincho);
  font-size: var(--font_size-24);
}
.image-feature{
  margin-top: clamp(55px, (100vw - 374px) * ( 90 - 55 ) / 624 + 55px, 90px);
}
.feature__content.-feature .footnote{
  margin-top: 10px;
}
.section-flow .content-block__item{
  align-items: center;
}
@media (min-width: 769px) and (max-width: 1220px){
  .section-feature{
    /* width: 1220px; */
    width: 100%;
    margin: 0;
    /* margin-left: -20px; */
  }
}
@media (max-width: 400px){
  .main__lead{
    font-size: calc( 36 / 750 * 100vw );
  }
  main.home h2{
    font-size: calc( 53 / 750 * 100vw );
  }
}


.page-concept .page__heading{
  background-image: url(/marriage-salon/concept/images/mv-concept.jpg);
}
.page-concept{
  .content-block__item{
    p{
      word-break: break-all;
    }
  }
}
.note-wrap{
  display: flex;
  div{
    padding: 5px;
  }
  &::before, &::after{
    content: "";
    display: block;
    width: 5px;
    border: 1px solid #000000;
  }
  &::before{
    border-right: none;
  }
  &::after{
    border-left: none;
  }
}
@media (max-width: 768px){
  .page-concept .page__heading{
    background-image: url(/marriage-salon/concept/images/mv-concept-sp.jpg);
  }
}
.page-concept h3 span{
  font-size: var(--font_size-32);
}
@media (max-width: 845px){
  .page-concept h2 span{
    display: block;
  }
}
@media (max-width: 768px){
  .page-concept h3 span{
    display: block;
  }
}


.page-plan{
  section{
    position: relative;
  }
  section + section{
    margin-top: 80px;
  }
  .page__heading{
    background-image: url(/marriage-salon/plan/images/mv-plan.jpg);
  }
  h3{
    position: relative;
    margin: 0 auto 30px;
    padding: 5px 30px 3px 30px;
    background-color: #e2d29b;
    text-align: center;
    overflow: hidden;
    letter-spacing: 0.1em;
    &::before{
      content: "";
      background-color: #fff; /* 切り替わる色1 */
      display: block;
      opacity: 0.3; /* 不透明度 */
      transform: rotate(-50deg);
      position: absolute;
      bottom: -10px;
      right: -50px;
      width: 200px;
      height: 200px;
    }
    &::after{
      content: "";
      background-color: #fff; /* 切り替わる色2 */
      display: block;
      opacity: 0.4; /* 不透明度 */
      transform: rotate(-70deg);
      position: absolute;
      bottom: -100px;
      right: -86px;
      width: 200px;
      height: 200px;
    }
    span{
      position: relative;
      z-index: 1;
      color: #000;
    }
  }
  .label{
    position: absolute;
    top: -7px;
    left: -10px;
    line-height: 1;
    padding: 8px 25px;
    background: linear-gradient(45deg, rgba(182, 123, 3, .7) 0%, rgba(218, 175, 8, .7) 45%, rgba(254, 233, 160, .7) 70%, rgba(218, 175, 8, .7) 85%, rgba(182, 123, 3, .7) 90% 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1em;
    font-weight: bold;
    letter-spacing: 0.1em;
    text-shadow: 1px 1px 7px #ffffff ,
    -1px 1px 7px #ffffff ,
    1px -1px 7px #ffffff ,
    -1px -1px 7px #ffffff;
    &::before{
      display: none;
      position: absolute;
      content: '';
      top: 100%;
      left: 0;
      border: none;
      border-bottom: solid 6px transparent;
      border-right: solid 10px rgb(149, 158, 155);
    }
    span{
      position: relative;
      top: 2px;
    }
  }
}
.page-plan-footnote{
  margin-top: 60px;
  text-align: right;
  text-indent: 0;
  padding-left: 0;
}
@media (max-width: 1024px){
    .page-plan {
    .label {
      left: -5px;
    }
  }
}
@media (max-width: 780px){
  .page-plan-footnote{
    text-align: left;
  }
}
@media (max-width: 768px){
  .page-plan .page__heading{
    background-image: url(/marriage-salon/plan/images/mv-plan-sp.jpg);
  }
  h3{
    span{
      top: -2px;
    }
  }
  .page-plan {
    .label {
      left: -2vw;
      padding: 2px 12px 6px 12px;
      font-size: 1em;
    }
  }
  .page-plan-footnote{
    text-align: left;
  }
  .page-plan {
    section + section {
        margin-top: 60px;
    }
  }
}
.content__table{
  width: 100%;
  border-top: 2px solid var(--color-main);
  border-bottom: 2px solid var(--color-main);
}
.content__table + .content__table{
  margin-top: 30px;
}
.content__table td, .content__table th{
  padding: clamp(3px, (100vw - 374px) * ( 8 - 3 ) / 624 + 3px, 8px) 0;
  border: 1px solid var(--color-sub1);
  text-align: center;
}
.content__table th{
  border-left: none;
  line-height: 1.2;
}
.content__table td,
.content__table thead th:last-of-type{
  border-right: none;
}
.content__table.-plice_list thead th{
  color: var(--color-main);
}
.-plice_list .contentTable__row--emphasis:first-of-type{
  height: 100px;
}
.border-top{
  border-top: 2px solid var(--color-main);
}
.contentTable__row--emphasis th, .contentTable__row--emphasis td{
  background-color: var(--color-sub2);
  font-size: 128.5714%;
  font-weight: bold;
}
.bg-pink{
  th, td{
  background-color: #ffe3e3;
  }
}
.contentTable__row--emphasis span{
  font-size: 80%;
  font-weight: normal;
}
/* .contentTable__head{
  width: 260px;
} */
.contentTable__row--emphasis th:first-of-type{
  width: 30%;
}
.content__table td{
  width: 35%;
}
/* @media (max-width: 1020px){
  .contentTable__row--emphasis th:first-of-type{
    width: calc( 300 / 1020 * 100vw );
  }
  .content__table td{
    width: calc( (980px - ( 300 / 1020 * 100vw )) / 2 );
  }
} */
.marriage_fee th{
  padding: 0;
}
.marriage_fee td{
  padding: clamp(5px, (100vw - 374px) * ( 10 - 5 ) / 624 + 5px, 10px) 0;

}
.content__table .benefits td{
  padding: 2px 5px;
  border-top: 1px dashed var(--color-sub2);
}
.content__table .label-benefits{
  display: inline-block;
  padding: 6px 10px 4px 10px;
  background-color: var(--color-main);
  color: #ffffff;
  font-weight: bold;
  line-height: 1.2;
}
.content__table .merge{
  width: 80px;
  border-left: none;
  border-right: 1px solid var(--color-sub1);
}
/* .content__table .merge span{
  display:inline-block;
  writing-mode: vertical-rl;
  white-space: pre;
} */
.other-services{
  tbody{
     tr{
      height: 55px;
    } 
  }
}
@media (max-width: 768px){
  .content__table .label-benefits{
    padding: 7px 10px 7px 10px;
    text-align: left;
  }
  .content__table .merge span{
    width: 25px;
  }
  .content__table .merge{
    width: 7%;
    /* writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    text-orientation: mixed; */
  }
  .content__table.-conditions tr:nth-last-of-type(2) .contentTable__head{
    letter-spacing: -0.2vw;
  }
}



.page-faq .page__heading{
  background-image: url(/marriage-salon/faq/images/mv-faq.jpg);
}
@media (max-width: 768px){
  .page-faq .page__heading{
    background-image: url(/marriage-salon/faq/images/mv-faq-sp.jpg);
  }
}
.faq__list dt{
  font-weight: bold;
}
.faq__list [class^="text-"]{
  margin-right: 10px;
  font-family: var(--font_family-mincho);
  font-size: var(--font_size-24);
}
.faq__list dt,
.faq__list dd{
  display: flex;
  align-items: baseline;
  /* padding-left: 2em;
  text-indent: -2.1em; */
}
.text-q{
  color: var(--color-main);
  font-weight: normal;
}
.text-a{
  color: var(--color-red);
}
@media (max-width: 768px){
  .faq__list dd{
    margin-top: 12px;
  }
}


