@charset "UTF-8";
/* --------------------------------------------------------------------------------------
メインヴィジュアル
--------------------------------------------------------------------------------------- */
#mainv {
  background-color: #FAFAFA;
}
#mainv .inner {
  background-image: linear-gradient(90deg, #FAFAFA, #FAFAFA 44%, rgba(250, 250, 250, 0) 51%, rgba(250, 250, 250, 0) 95%, #FAFAFA 99%, #FAFAFA), var(--mainvBg);
  background-size: auto auto, auto 100%;
  background-position: left top, right -120px center;
}
#mainv .inner h1 {
  color: var(--textMain);
  font-size: var(--mainvFontSize);
  font-weight: 700;
  line-height: 1.2;
  padding: 110px 0 130px;
}
#mainv .inner h1 span {
  font-size: 1.44em;
}

/*--------------------------endPC--------------------------------*/
/*SP
-----------------------------------------------------------------*/
@media only screen and (max-width: 750px) {
  #mainv .inner {
    background-image: linear-gradient(90deg, #FAFAFA, #FAFAFA 20%, rgba(250, 250, 250, 0) 40%, rgba(250, 250, 250, 0)), var(--mainvBg);
    background-position: left top, right 60% bottom;
  }
  #mainv .inner h1 {
    color: var(--textMain);
    font-size: var(--mainvFontSize);
    font-weight: 700;
    line-height: 1.2;
    padding: 26.6vw 0;
    filter: drop-shadow(0 0 3px rgb(255, 255, 255)) drop-shadow(0 0 3px rgb(255, 255, 255)) drop-shadow(0 0 3px rgb(255, 255, 255)) drop-shadow(0 0 3px rgb(255, 255, 255));
  }
  #mainv .inner h1 span {
    font-size: 1.44em;
  }
}
/*--------------------------endSP--------------------------------*/
/* --------------------------------------------------------------------------------------
メインカラム
--------------------------------------------------------------------------------------- */
#mainColmun .inner > h2 {
  font-weight: 700;
  margin: 0 0 60px;
  font-size: 1.7142857143rem;
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner > h2 {
    font-size: 6.3942857143vw;
  }
}
#mainColmun .inner .campaignArea {
  margin: 0 0 40px;
}
#mainColmun .inner .planArea {
  margin: 0 0 80px;
}
#mainColmun .inner .planArea .plan + .plan {
  margin: 80px 0 0;
}
#mainColmun .inner .planArea .plan .midashi {
  color: var(--zabuton1Text);
  background: var(--zabuton1Bg);
  border-radius: 50vh;
  margin: 0 0 20px;
  padding: 0.5em 2em;
  display: inline-block;
}
#mainColmun .inner .planArea .plan ul li + li {
  margin: 40px 0 0;
}
#mainColmun .inner .planArea .plan ul li h3 {
  color: var(--textEm);
  font-weight: 700;
  margin: 0 0 20px;
  font-size: 1.7142857143rem;
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .planArea .plan ul li h3 {
    font-size: 6.3942857143vw;
  }
}
#mainColmun .inner .planArea .plan ul li table {
  width: 100%;
  text-align: left;
}
#mainColmun .inner .planArea .plan ul li table th {
  color: var(--thText);
  vertical-align: middle;
  width: 36%;
  background: var(--thBg);
  border-right: 4px solid #FFF;
  border-bottom: 3px solid #FFF;
  padding: 30px;
  font-size: 1.5714285714rem;
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .planArea .plan ul li table th {
    font-size: 5.8614285714vw;
  }
}
#mainColmun .inner .planArea .plan ul li table td {
  text-align: left;
  background: var(--tdBg);
  border-bottom: 3px solid #FFF;
  padding: 30px 10px 30px 30px;
}
#mainColmun .inner .planArea .plan ul li table td span {
  color: var(--thText);
  font-weight: 700;
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .planArea .plan ul li table td span {
    font-size: 7.46vw;
  }
}
#mainColmun .inner .planArea .plan .note {
  color: var(--noteText);
  margin: 5px 0 0;
}
#mainColmun .inner .planArea .plan .recommendList {
  background: var(--thBg);
  margin: 30px 0 0;
  padding: 24px 24px 30px;
}
#mainColmun .inner .planArea .plan .recommendList dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-column-gap: 15px;
  grid-row-gap: 15px;
}
#mainColmun .inner .planArea .plan .recommendList dl dt {
  font-weight: 700;
  box-sizing: border-box;
  padding: 0 0 0 1.2em;
  grid-column: span 3/span 3;
  position: relative;
  font-size: 1.1428571429rem;
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .planArea .plan .recommendList dl dt {
    font-size: 4.2628571429vw;
  }
}
#mainColmun .inner .planArea .plan .recommendList dl dt::before {
  content: "";
  width: 1em;
  height: 1em;
  background: var(--textEm);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}
#mainColmun .inner .planArea .plan .recommendList dl dd {
  min-height: 4.5em;
  background: #FFF;
  border: solid 2px var(--zabuton1Bg);
  border-radius: 6px;
  box-sizing: border-box;
  padding: 10px 15px;
  display: flex;
  align-items: center;
  grid-column: span 1/span 1;
  font-size: 1rem;
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .planArea .plan .recommendList dl dd {
    font-size: 3.73vw;
  }
}
#mainColmun .inner .planArea .plan .recommendList dl dd span {
  font-weight: 700;
}
#mainColmun .inner .planArea .plan .recommendList dl dd.off {
  background: #e2e2e2;
}
#mainColmun .inner .contBlock {
  margin: 0 0 80px;
}
#mainColmun .inner .contBlock .box {
  flex-direction: row-reverse;
}
#mainColmun .inner .contBlock .box p {
  width: 59%;
}
#mainColmun .inner .contBlock .box figure {
  width: 34%;
}
#mainColmun .inner .info h3 {
  margin: 0 30px 15px;
  font-size: 1.1428571429rem;
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .info h3 {
    font-size: 4.2628571429vw;
  }
}
#mainColmun .inner .info h3::before {
  content: "■";
  color: var(--zabuton1Bg);
}
#mainColmun .inner .info .detailBox {
  border: 2px solid #D9D9D9;
  border-radius: 10px;
  margin: 0 30px;
  padding: 20px 40px;
}
#mainColmun .inner .info .detailBox + h3 {
  margin-top: 50px;
}
#mainColmun .inner .info .detailBox ul li {
  border-bottom: 1px dashed #CCC;
  padding: 10px 0;
}
#mainColmun .inner .info .detailBox ul li:last-child {
  border: none;
}
#mainColmun .inner .info .detailBox ul li small {
  padding: 0 0 0 1.5em;
  display: block;
  font-size: 0.8571428571rem;
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .info .detailBox ul li small {
    font-size: 3.1971428571vw;
  }
}
#mainColmun .inner .pageLinkBox .onImg p {
  color: #fff;
  filter: drop-shadow(0 0 3px rgba(85, 85, 85, 0.5)) drop-shadow(0 0 3px rgba(85, 85, 85, 0.5)) drop-shadow(0 0 3px rgba(85, 85, 85, 0.5)) drop-shadow(0 0 3px rgba(85, 85, 85, 0.5));
}

/*--------------------------endPC--------------------------------*/
/*SP
-----------------------------------------------------------------*/
@media only screen and (max-width: 750px) {
  #mainColmun .inner > h2 {
    text-align: center;
    line-height: 1.7;
    margin: 0 0 13.3vw;
    padding: 0 3vw;
    font-size: 1.1428571429rem;
  }
}
@media only screen and (max-width: 750px) and (max-width: 750px) {
  #mainColmun .inner > h2 {
    font-size: 4.2628571429vw;
  }
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .campaignArea {
    margin: 0 0 8vw;
  }
  #mainColmun .inner .planArea {
    margin: 0 0 16vw;
    padding: 0 3vw;
  }
  #mainColmun .inner .planArea .plan + .plan {
    margin: 16vw 0 0;
  }
  #mainColmun .inner .planArea .plan .midashi {
    margin: 0 0 6vw;
    padding: 4vw 8vw;
    font-size: 0.9285714286rem;
  }
}
@media only screen and (max-width: 750px) and (max-width: 750px) {
  #mainColmun .inner .planArea .plan .midashi {
    font-size: 3.4635714286vw;
  }
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .planArea .plan ul li + li {
    margin: 8vw 0 0;
  }
  #mainColmun .inner .planArea .plan ul li h3 {
    margin: 0 0 6vw;
    font-size: 1.5714285714rem;
  }
}
@media only screen and (max-width: 750px) and (max-width: 750px) {
  #mainColmun .inner .planArea .plan ul li h3 {
    font-size: 5.8614285714vw;
  }
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .planArea .plan ul li table th {
    width: 42%;
    padding: 6.6vw 1vw 6.6vw 4vw;
    font-size: 0.9285714286rem;
  }
}
@media only screen and (max-width: 750px) and (max-width: 750px) {
  #mainColmun .inner .planArea .plan ul li table th {
    font-size: 3.4635714286vw;
  }
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .planArea .plan ul li table td {
    padding: 6.6vw 2vw 6.6vw 4vw;
  }
  #mainColmun .inner .planArea .plan ul li table td span {
    font-size: 1.3571428571rem;
  }
}
@media only screen and (max-width: 750px) and (max-width: 750px) {
  #mainColmun .inner .planArea .plan ul li table td span {
    font-size: 5.0621428571vw;
  }
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .planArea .plan .note {
    margin: 2vw 0 0;
    font-size: 0.8571428571rem;
  }
}
@media only screen and (max-width: 750px) and (max-width: 750px) {
  #mainColmun .inner .planArea .plan .note {
    font-size: 3.1971428571vw;
  }
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .planArea .plan .recommendList {
    margin: 5vw 0 0;
    padding: 5.4vw 3vw;
  }
  #mainColmun .inner .planArea .plan .recommendList dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-column-gap: 2vw;
    grid-row-gap: 2vw;
    justify-content: space-between;
  }
  #mainColmun .inner .planArea .plan .recommendList dl dt {
    padding: 0 0 0 4.2vw;
    grid-column: span 2/span 2;
    font-size: 0.9285714286rem;
  }
}
@media only screen and (max-width: 750px) and (max-width: 750px) {
  #mainColmun .inner .planArea .plan .recommendList dl dt {
    font-size: 3.4635714286vw;
  }
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .planArea .plan .recommendList dl dt::before {
    width: 3.1vw;
    height: 3.1vw;
  }
  #mainColmun .inner .planArea .plan .recommendList dl dd {
    border-radius: 0.7vw;
    padding: 2.4vw 3.6vw;
    font-size: 0.8571428571rem;
  }
}
@media only screen and (max-width: 750px) and (max-width: 750px) {
  #mainColmun .inner .planArea .plan .recommendList dl dd {
    font-size: 3.1971428571vw;
  }
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .contBlock {
    margin: 0 0 13.3vw;
  }
  #mainColmun .inner .contBlock .box {
    flex-direction: row;
  }
  #mainColmun .inner .contBlock .box p {
    width: 100%;
  }
  #mainColmun .inner .contBlock .box figure {
    width: 100%;
    margin: 0 0 6vw;
  }
  #mainColmun .inner .info {
    padding: 0 3vw;
  }
  #mainColmun .inner .info h3 {
    margin: 0 0 4vw;
    font-size: 1rem;
  }
}
@media only screen and (max-width: 750px) and (max-width: 750px) {
  #mainColmun .inner .info h3 {
    font-size: 3.73vw;
  }
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .info .detailBox {
    margin: 0;
    padding: 4vw;
  }
  #mainColmun .inner .info .detailBox + h3 {
    margin: 13.3vw 0 4vw;
  }
  #mainColmun .inner .info .detailBox p {
    font-size: 0.8571428571rem;
  }
}
@media only screen and (max-width: 750px) and (max-width: 750px) {
  #mainColmun .inner .info .detailBox p {
    font-size: 3.1971428571vw;
  }
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .info .detailBox ul li {
    padding: 4vw 0;
    font-size: 0.9285714286rem;
  }
}
@media only screen and (max-width: 750px) and (max-width: 750px) {
  #mainColmun .inner .info .detailBox ul li {
    font-size: 3.4635714286vw;
  }
}
@media only screen and (max-width: 750px) {
  #mainColmun .inner .info .detailBox ul li small {
    font-size: 0.7142857143rem;
  }
}
@media only screen and (max-width: 750px) and (max-width: 750px) {
  #mainColmun .inner .info .detailBox ul li small {
    font-size: 2.6642857143vw;
  }
}
/*--------------------------endSP--------------------------------*/
/* タイトル背景：inline-styleでCF差し替え可。未設定時の既定 */
#mainv {
  --mainvBg:url(../images/price/mainv_bg.jpg);
}

/*# sourceMappingURL=price.css.map */
