@charset "utf-8";
/* CSS Document */

#sec_preconception {
  background: url(../img/art/bg_prologue_01.jpg) no-repeat 50% 50%;
  background-size: cover;
  padding: 120px 0;
}
#sec_preconception .div_contents {
  background: #fff;
  max-width: 1080px;
  width: 95%;
  margin: auto;
  padding: 40px;
  font-size: 18rem;
  p {
    text-align: center;
  }
}
#sec_preconception h2:after {
  display: none;
}
#sec_price .div_topics01 {
  .ul01 > li::before {
    top: 12px;
  }
  .ul01>li+li {
    margin-block-start: 2px;
  }
}
#sec_price .cost_box {
  h4 {
    position: relative;
    margin-left: 25px;
    margin-bottom: .25em;
    font-size: 20rem;
    &::before {
      content: "";
      position: absolute;
      width: 10px;
      height: 10px;
      left: -20px;
      top: .75em;
      background: var(--primary_bg03);
    }
  }
  .table02 {
    th:first-of-type {
      width: 70%;
    }
    th:nth-of-type(2) {
      width: 12%;
    }
    td:first-of-type {
      text-align: left;
    }
	td:nth-of-type(2), td:nth-of-type(3) {
      border-right-style: dotted;
    }
    td span.green {
      margin-inline-start: 5px;
    }
  }
  .ul03 li+li {
    margin-block-start: 15px;
  }
}

@media screen and (max-width: 780px) {
  #sec_preconception {
    padding: 60px 0;
  }
  #sec_preconception .div_contents {
    p {
      text-align: left;
    }
  }
  #sec_price .div_topics01 .ul01>li::before {
    top: 10px;
  }
  #sec_price .ul01 .div_datewrap .ul03 li {
    font-size: 14rem;
  }
  #sec_price .cost_box {
    h4 {
      font-size: 18rem;
    }
    .ul03 li+li {
      margin-block-start: 10px;
    }
	.table02 {
	  th {
		font-size: 14rem;
		line-height: 1.5;
	  }
	  th:first-of-type {
        width: 50%;
      }
      th:nth-of-type(2) {
        width: 22%;
      }
	  td:nth-of-type(2) {
	    text-align: right;
	  }
	}
  }
}
@media screen and (min-width: 781px) {
  #sec_price .ul01 .div_datewrap {
    display: flex;
    justify-content: flex-start;
    gap: 20px;
    .ul03 li {
      font-size: 15rem;
    }
  }
  #sec_price .cost_box {
	.table02 {
	  td:nth-of-type(2) {
	    display: flex;
	    justify-content: space-between;
	    margin: 0 auto;
	    .price-num {
	      text-align: right;
	      flex-grow: 1;
  	    }
  	    .price-unit {
    	  margin-left: 2px;
  	    }
	  }
	}
  }
}