@charset "UTF-8";
main {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 120px; }
  @media (max-width: 960px) {
    main {
      padding: 0 24px; } }
  @media (max-width: 520px) {
    main {
      padding: 0 12px; } }

h1 {
  text-align: left; }

h2 {
  text-align: left;
  margin: 0; }

a {
  text-decoration: none; }

h3 {
  text-align: left;
  margin: 0;
  display: block; }

h4 {
  font-size: 18px;
  max-width: 100%;
  margin-bottom: 0em; }

h5 {
  max-width: 100%;
  font-size: 16px;
  margin: 0 0 0 1em; }

h5::before {
  content: "・"; }

.hozyoken {
  max-width: 100%;
  margin-top: 0px;
  margin-left: 2em; }

/* 文字装飾 */
ul.price-list {
  padding-left: 0px;
  line-height: 1.5;
  margin-top: -1.1em; }

li {
  list-style: none; }

.asterisk {
  list-style: none;
  text-indent: -1.5em;
  padding-left: 1.5em;
  margin-left: 0.5em; }

.asterisk::before {
  content: "※";
  margin-right: 0.5em; }

.inside {
  list-style: inside;
  padding-left: 0.5em; }

ul.list-top {
  margin-top: 1em; }

ul.price {
  padding-left: 0px; }

.price-asterisk {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
  line-height: 1.5; }
  .price-asterisk::before {
    content: "※";
    margin-right: 0.5em; }

.list-br {
  padding-left: 1.5em; }

@keyframes bound-anim {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(6px); } }
/*** 全文字にアニメーションを適用 ***/
.bound span {
  display: inline-block;
  /*横並びにしつつアニメーションを適用*/
  animation: .5s bound-anim ease-in infinite alternate; }

/*** 各文字のスタート時間をずらす ***/
/* 1文字目 */
.bound span:nth-child(1) {
  animation-delay: 0; }

/* 2文字目 */
.bound span:nth-child(2) {
  animation-delay: 0.2s; }

/* 3文字目 */
.bound span:nth-child(3) {
  animation-delay: 0.4s; }

/* 4文字目 */
.bound span:nth-child(4) {
  animation-delay: 0.6s; }

.bound span:nth-child(5) {
  animation-delay: 0.8s; }

.section-price-maternity h2, .section-price-postpartum h2, .section-price-childcare h2 {
  border-bottom: 1px solid #333333; }

.section-price-maternity {
  margin-top: 40px; }

.section-price-postpartum, .section-price-childcare {
  margin-top: 120px; }

.section-price-h2 {
  display: flex;
  text-align: left;
  justify-content: space-between;
  align-items: flex-end; }
  .section-price-h2 p {
    margin: 0;
    text-align: right; }

.price-table table {
  width: 100%;
  border-collapse: separate;
  border: 3px solid #707070;
  border-spacing: 0;
  border-radius: 20px;
  overflow: hidden;
  margin-top: 10px; }
  .price-table table th, .price-table table td {
    border: none;
    border-bottom: 3px solid #707070;
    border-right: 3px solid #707070; }
    @media (max-width: 960px) {
      .price-table table th, .price-table table td {
        text-align: left; } }
  .price-table table th {
    background-color: #FAF2C3;
    width: 20%; }
    .price-table table th h3 {
      text-align: center; }
  .price-table table td {
    background-color: #FBF8EB;
    width: 40%; }
    @media (max-width: 520px) {
      .price-table table td {
        max-width: 450px; } }
    .price-table table td p {
      line-height: 1.6; }
  .price-table table td:last-child {
    text-align: left;
    border-right: none; }
  .price-table table tr:last-child {
    border-bottom: none; }
    .price-table table tr:last-child th, .price-table table tr:last-child td {
      border-bottom: none; }
@media (max-width: 960px) {
  .price-table {
    overflow: auto; }
    　
    .price-table::-webkit-scrollbar {
      height: 5px;
      /* スクロールバーの高さ */ }
    .price-table::-webkit-scrollbar-track {
      background: #F1F1F1;
      /* スクロールバーの背景色 */ }
    .price-table::-webkit-scrollbar-thumb {
      background: #d6d6d6;
      /* スクロールバーの色 */ }
    .price-table td, .price-table th {
      white-space: nowrap;
      /* 文字の折返しを禁止 */ } }
