@charset "UTF-8";

/* //////////////////////////////////////////////////

 汎用的なパーツのスタイル

////////////////////////////////////////////////// */
.wp_entry a {
  font-size: unset;
}
.wp_entry em,.wp_entry i {
  font-style: normal;
}
.wp_entry li,
.wp_entry a,
.wp_entry .link {
  font-feature-settings: normal;
}

/* 見出し
-------------------------------------------------- */
.wp_entry :is(h1, h2, h3, h4, h5) {
  letter-spacing: 0.05em;
}

.wp_entry h1 {
  margin-bottom: 30px;
  padding: 35px 25px;
  font-size: 2em;
  font-weight: normal;
  line-height: 1.3;
  letter-spacing: 0.05em;
  position: relative;
}

.wp_entry .h1 {
  margin-bottom: 40px;
}

.wp_entry h1 span {
  font-size: 0.85em;
}

.wp_entry .h1-has-img h1::before,
.wp_entry h1::before {
  width: 100%;
  content: attr(data-en);
  letter-spacing: 0;
  display: block;
  margin-bottom: 5px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
  font-style: italic;
}

.wp_entry .h1-has-img {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  width: 100vw;
  width: 100cqw;
  padding: 0;
  position: relative;
}

.wp_entry .h1-has-img h1 {
  position: absolute;
  bottom: 25px;
  left: 55px;
  padding: 30px;
  border-radius: 10px;
  width: max-content;
  min-width: 400px;
  height: fit-content;
  background: rgba(255, 255, 255, .95);
}

.wp_entry .h1-has-img img {
  width: 100%;
}

@media screen and (max-width: 560px) {
  .wp_entry .h1-has-img {
    height: 360px;
    margin-bottom: 100px;
  }

  .wp_entry .h1-has-img img {
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .wp_entry .h1-has-img h1 {
    background: rgba(255, 255, 255, 1);
    box-shadow: 0px 7px 8px -8px rgba(0, 0, 0, 0.3);
    left: 3vw;
    bottom: unset;
    top: 90%;
    width: 94vw;
    min-width: unset
  }
}



.wp_entry h2 {
  color: #000;
  margin-top: 80px;
  margin-bottom: 30px;
  border-left: 4px solid #666;
  border-bottom-width: 1px;
  padding: 20px 0 20px 20px;
  font-size: 1.875em;
  font-weight: normal;
  line-height: 1.3;
  letter-spacing: 0.05em;
}

.wp_entry h2.taC {
  border-left: none;
}

.wp_entry h3 {
  font-size: 1.5em;
  margin-top: 60px;
  margin-bottom: 25px;
  font-weight: normal;
  line-height: 1.3;
  position: relative;
  padding-bottom: 10px;
  border-bottom: 6px solid #aaa;
}

.wp_entry h3:before {
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 20%;
  height: 6px;
  content: '';
  background: #888;
}

.wp_entry h3.simple {
  border: none;
}

.wp_entry h2+h3 {
  margin-top: 0;
}

.wp_entry h4 {
  border: none;
  margin-top: 30px;
  margin-bottom: 20px;
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.3;
  font-weight: normal;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  gap: .5em;
}

.wp_entry h4::before {
  display: block;
  width: 1.25em;
  height: 1.25em;
  border-radius: 50%;
  content: "\f04d";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
}

.wp_entry .simple-ttl {
  padding-left: 0;
  border: none;
}

.wp_entry .simple-ttl::before,
.simple-ttl::after {
  display: none;
}


.wp_entry h5 {
  margin-top: 30px;
  margin-bottom: 20px;
  padding: 0px 8px;
  font-size: 1.15em;
  /* font-weight: normal; */
  line-height: 1.3;
  letter-spacing: 0.05em;
  border-left: 4px solid #666;
}

.wp_entry h2:has(> i),
.wp_entry h5:has(>i),
.wp_entry h2.has-fa,
.wp_entry h5.has-fa {
  border-left: none;
  padding-left: 0;
  ;
}

.wp_entry h4:has(> i)::before,
.wp_entry h4.has-fa::before {
  display: none;
}

.wp_entry i[class^='fa'] {
  /* line-height: 1.25; */
  /* font-size: 1.25em; */
  color: var(--main-color);
  margin-right: .3em;
}


@media screen and (max-width: 560px) {
  .wp_entry h1 {
    margin-bottom: 30px;
    padding: 17px 10px;
    font-size: 1.5em;
  }

  .wp_entry h2 {
    font-size: 1.5em;
    margin-bottom: 20px;
    background-size: 3px;
    margin-top: 40px;
  }

  .wp_entry h3 {
    /* margin-left: -10px;
    margin-right: -10px; */
    margin-bottom: 15px;
    margin-top: 30px;
    padding: 12px 10px;
  }

  .wp_entry h4 {
    margin-bottom: 15px;
    margin-top: 30px;
    background-size: 9px;
  }
}

.wp_entry h2[class^="ttl-"] {
  margin-bottom: 40px;
  font-weight: normal;
  /* margin: unset; */
  padding: unset;
}

.wp_entry h2.ttl-01 {
  border-left: none;
  position: relative;
  padding: 10px 20px calc(10px + 10px);
  background: var(--main-light-color);
}

.wp_entry h2.ttl-01::before {
  position: absolute;
  top: -7px;
  left: -7px;
  width: 100%;
  height: 100%;
  content: '';
  border: 1px solid #000;
}

.wp_entry h2.ttl-01>span {
  display: block;
}

@media screen and (max-width: 768px) {
  .wp_entry h2.ttl-01 {
    padding: 10px 10px 20px 10px
  }
}

.wp_entry h2.ttl-02 {
  border-left: none;
  position: relative;
  padding: 15px 10px 30px;
}

.wp_entry h2.ttl-02::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  content: '';
  /* background-image: -webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px); */
  background-image: repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.wp_entry h2.ttl-03 {
  border-left: none;
  border-left-color: unset;
  position: relative;
  padding: 15px;
  text-align: center;
  border: 2px solid #000;
  background: #fff;
}

.wp_entry h2.ttl-03::before,
h2.ttl-03::after {
  position: absolute;
  content: '';
}

.wp_entry h2.ttl-03::before {
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 80px;
  border: 2px solid #000;
  border-radius: 50%;
  background: #fff;
}

.wp_entry h2.ttl-03::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
}

.wp_entry h2.ttl-03>i {
  color: unset;
  font-size: 30px;
  line-height: 60px;
  position: absolute;
  z-index: 1;
  top: -40px;
  left: calc(50% - 38px);
  width: 80px;
  height: 60px;
  text-align: center;
}

.wp_entry h2.ttl-03>span {
  position: relative;
  z-index: 1;
}

.wp_entry h2.ttl-04 {
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: none;
}

.wp_entry h2.ttl-04>span {
  padding: 0 20px;
}

.wp_entry h2.ttl-04::before,
.wp_entry h2.ttl-04::after {
  content: "";
  height: 1px;
  width: 10%;
  background: #333;
}

.wp_entry h2.ttl-05 {
  border-left: none;
  position: relative;
  padding: 0 0 25px;
}

.wp_entry h2.ttl-05::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  content: '';
  border-radius: 3px;
  background-image: linear-gradient(to left, #2af598 0%, #009efd 100%);
}





.wp_entry h2.ttl-06 {
  border-left: none;
  position: relative;
  padding: 1em 2em;
  text-align: center;
}

.wp_entry h2.ttl-06::before,
h2.ttl-06::after {
  position: absolute;
  content: '';
  width: 50px;
  height: 50px;
}

.wp_entry h2.ttl-06::after {
  top: 0;
  left: 0;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
}

.wp_entry h2.ttl-06::before {
  right: 0;
  bottom: 0;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
}

.wp_entry h2.ttl-06.alt::before,
.wp_entry h2.ttl-06.alt::after {
  border-width: 5px;
  width: 25px;
  height: 25px;
}


.wp_entry h2.ttl-08 {
  color: white;
  border-left: none;
  padding-right: .5em;
}

.wp_entry h2.ttl-08>span {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  padding: 20px;
  color: #fff;
  background: #22ac38;
}

.wp_entry h2.ttl-08>span::after {
  position: absolute;
  top: calc(50% - 7px);
  right: -11px;
  width: 0;
  height: 0;
  content: '';
  border-width: 7px 0 7px 12px;
  border-style: solid;
  border-color: transparent transparent transparent #22ac38;
}

.wp_entry h2.ttl-08.rev {
  padding-left: 0;
  padding-left: .3em;
}

.wp_entry h2.ttl-08.rev span::after {
  transform: scale(-1, 1);
  left: -11px;
}


.wp_entry .h1+h2,
.wp_entry h2+h3,
.wp_entry h3+h4,
.wp_entry h4+h5,
.wp_entry h2+h4 {
  margin-top: 0;
}

.wp_entry .flex [class*="__col"]>p:first-child,
.wp_entry .flex [class*="__col"]>h2:first-child,
.wp_entry .flex [class*="__col"]>h3:first-child,
.wp_entry .flex [class*="__col"]>h4:first-child,
.wp_entry .flex [class*="__col"]>h5:first-child,
.wp_entry .flex [class*="__col"]>.cta:first-child,
.wp_entry [class*="section-"]>h2:first-child,
.wp_entry [class*="section-"]>h3:first-child {
  margin-top: 0;
}

/* テキスト
-------------------------------------------------- */
.wp_entry p,
.wp_entry li,
.wp_entry dl {
  line-height: 2.25;
}

.wp_entry p {
  margin: 15px 0;
}

.wp_entry p:first-child {
  margin-top: 0;
}

.wp_entry p:last-child {
  margin-bottom: 0;
}


.wp_entry a,
.wp_entry .link {
  position: relative;
}

.wp_entry .img-nav>span::after,
.wp_entry .qa dt::after,
.wp_entry .elastic dt::after,
.wp_entry .pnav ul li a::after,
.wp_entry .next-nav.next-nav-rev::after,
.wp_entry .next-nav::after,
.wp_entry .lnav-rich ul li a::after,
.wp_entry a::after,
.wp_entry a.arw_reverse::before,
.wp_entry .link::after,
.wp_entry a[rel="prev"]::before,
.wp_entry .rel-nav ul li a>span::after {
  box-sizing: content-box;
  background-color: var(--main-color);
  text-indent: .1em;
  display: inline-block;
  padding: 2px;
  width: 1em;
  height: 1em;
  line-height: 1em;
  border-radius: 50%;
  text-align: center;
  content: "\f105";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  color: #fff;
  transform: scale(.75);
}

.wp_entry a::after,
.wp_entry a.arw_reverse::before,
.wp_entry .link::after,
.wp_entry a[rel="prev"]::before {
  margin-left: 0.25em;
}


.wp_entry a.arw_reverse::before,
.wp_entry a[rel="prev"]::before {
  transform: scale(-1, 1);
  margin-right: 0.25em;
}

.wp_entry a.tel::after,
.wp_entry a:has(img)::after,
.wp_entry .breadcrumbs a::after,
.wp_entry a.has-img::after,
.wp_entry a.img_link::after,
.wp_entry a.link_img::after,
.wp_entry a:not([href])::after,
.wp_entry .pagenation a::after,
.wp_entry a.arw_reverse::after,
.wp_entry a[rel="prev"]::after {
  display: none;
}


.wp_entry a.no_mark,
.wp_entry a.img_link,
.wp_entry a.link_img {
  padding-right: 0;
}


.wp_entry .breadcrumbs a:not([href]) {
  color: unset;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .wp_entry a[href^="tel:"] {
    text-decoration: none;
    cursor: default;
    pointer-events: none;
  }

  .wp_entry a[href^="tel:"]::after {
    display: none;
  }
}

@media screen and (max-width: 560px) {
  .wp_entry a::after {
    background-size: 4px;
  }
}

.wp_entry em {
  display: block;
  font-size: 1.625em;
  line-height: 1.7;
  font-weight: normal;
  margin-bottom: 30px;
}

.wp_entry em.alt {
  line-height: 2;
}

.wp_entry em.alt span {
  box-decoration-break: clone;
  padding: 8px;
  background-color: #222;
  color: #fff;
}

.wp_entry small,
.wp_entry .memo {
  display: inline-block;
  line-height: 1.6;
  font-size: 0.875em;
}

.wp_entry .memo {
  color: #666;
}

.wp_entry strong,
.wp_entry b {
  font-weight: bold;
}

.wp_entry .marker {
  background: linear-gradient(transparent 70%, #ffdc00 30%);
  display: inline;
}


@media screen and (max-width: 768px) {
  .wp_entry em {
    font-size: 1.25em;
  }
}

.wp_entry dt {
  font-weight: bold;
}

.wp_entry dd+dt {
  margin-top: 1em;
}


/* リスト
-------------------------------------------------- */

.wp_entry li {
  line-height: 1.8;
}

.wp_entry ul li {
  margin-bottom: 5px;
  padding-left: 1em;
  text-indent: -1em;
}

.wp_entry li th,
.wp_entry li td {
  text-indent: 0;
}

.wp_entry ul>li::before {
  content: "●";
  vertical-align: middle;
  font-size: 0.75em;
  margin-right: .5em;
}

.wp_entry ul>li li::before {
  content: "・";
}


.wp_entry ul.roomy li:last-child,
.wp_entry ol.roomy li:last-child {
  margin-bottom: 0;
}

.wp_entry .no-style li {
  padding-left: 0;
  text-indent: 0;
}

.wp_entry .no-style li::before {
  display: none;
}


.wp_entry ol li {
  margin-bottom: 5px;
  margin-left: 1.5em;
  list-style: decimal;
}

.wp_entry ol.rich {
  counter-reset: number;
  counter-reset: li;
  padding: 0px;
  margin: 0px;
}

.wp_entry ol.rich li {
  list-style-type: none !important;
  list-style-image: none !important;
  margin: 5px 0px 5px 0px !important;
  position: relative;
  display: block;
  padding: 5px 5px 5px 45px;
  background: #efefef;
}


.wp_entry ol.rich li::before {
  position: absolute;
  left: 0px;
  top: 0px;
  background: #333;
  /* height: calc(100% - 4px); */
  height: 100%;
  width: 30px;
  content: "";
}

.wp_entry ol.rich li::after {
  counter-increment: li;
  content: counter(li);
  position: absolute;
  left: 0px;
  top: 0.1em;
  background: unset;
  width: 30px;
  text-align: center;
  font-weight: bold;
  color: #fff;
}

.wp_entry ol.rich.flow li {
  background-color: transparent;
  padding-bottom: 30px;
}

.wp_entry ol.rich.flow li::before {
  height: calc(100% - 2em);
  min-height: 2em;
  line-height: 1em;
}

.wp_entry ol.rich.flow li:last-child::before,
.wp_entry ol.rich.flow li.flow-end::before {
  height: 100%;
}

.wp_entry ol.rich.flow li span {
  display: block;
}

.wp_entry ol.rich.flow li span::after {
  position: absolute;
  left: 0;
  bottom: 0;
  text-align: center;
  /* background-color: #fff; */
  content: "\f103";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  font-size: 1.6em;
  line-height: 30px;
  height: 30px;
  width: 30px;
  color: #999999;
}

.wp_entry .section-01 ol.rich.flow li span::after {
  background-color: #f9f6f1;
}

.wp_entry .section-02 ol.rich.flow li span::after {
  background-color: #fbedf2;
}

.wp_entry .section-03 ol.rich.flow li span::after {
  background-color: var(--main-light-color);
}

.wp_entry .box-01 ol.rich.flow li span::after {
  background-color: #ccc;
}

.wp_entry .box-02 ol.rich.flow li span::after {
  background-color: var(--main-light-color);
}

.wp_entry .box-03 ol.rich.flow li span::after {
  background-color: #fff9fb;
}

.wp_entry .box-04 ol.rich.flow li span::after {
  background-color: #ecffd2;
}



.wp_entry ol.rich.flow li:last-child {
  padding-bottom: 0;
}

.wp_entry ol.rich.flow:not(.flow-continue) li:last-child span::after {
  display: none;
}


.wp_entry ol.rich.flow li.flow-end span::after {
  display: none;
}

.wp_entry .counter-reset-3 {
  counter-reset: li 3 !important;
}

.wp_entry .counter-reset-6 {
  counter-reset: li 6 !important;
}

.wp_entry ul.ul01,
.wp_entry ul.ul01 li {
  padding: 0px;
  margin: 0px;
  text-indent: 0;
}

.wp_entry ul.ul01 li {
  list-style-type: none !important;
  list-style-image: none !important;
  margin: 5px 0px 5px 0px !important;
}

.wp_entry ul.ul01 li {
  position: relative;
  display: block;
  padding: 5px 0px 5px 30px;
  background: #efefef;
}

.wp_entry ul.ul01 li::after {
  content: '';
  display: block;
  position: absolute;
  width: 6px;
  height: 6px;
  top: 14px;
  left: 10px;
  background: #1270b3;
}

.wp_entry ul.ul01 li::before {
  display: none;
}


.wp_entry .fa-ul li {
  margin-bottom: unset;
  padding-left: unset;
  text-indent: unset;
}

.wp_entry .fa-ul>li::before {
  display: none;
}

.wp_entry .inline-ul li {
  display: inline-block;
  margin-right: 1em
}

.wp_entry .inline-ul li::before {
  display: none;
}

.wp_entry .inline-ul li::after {
  display: inline;
  ;
  margin-left: 1em;
  content: "/";
  color: #c7c7c7;
}

.wp_entry .inline-ul li:last-child {
  margin-right: 0;
}

.wp_entry .inline-ul li:last-child::after {
  display: none;
}

.wp_entry :is(ul, ol) li :is(i, span) {
  text-indent: 0;
}




.wp_entry p.kome {
  padding-left: 1em;
  text-indent: -1em;
}

.wp_entry p.kome::before,
.wp_entry ul li.kome::before,
.wp_entry ul.kome li::before {
  color: inherit;
  content: "※";
}

.wp_entry sup.notice {
  font-size: 70%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
  color: #666;
}

.wp_entry dt {
  padding: 6px;
  margin-bottom: 5px;
  display: inline-block;
  background-color: #efefef;
}

/* 画像
-------------------------------------------------- */
.wp_entry img {
  max-width: 100%;
  height: auto;
}

.wp_entry figcaption {
  margin-top: 10px;
  font-size: 0.875em;
  line-height: 1.5;
  color: #666;
}

/* 表組
-------------------------------------------------- */
table {
  border-collapse: collapse;
  width: 100%;
  margin: 0;
}

.wp_entry table.auto {
  width: inherit;
}

.wp_entry table th,
.wp_entry table td {
  background-clip: border-box;
  padding: 10px 10px;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  line-height: 1.5;
  /*word-break: break-word;*/
}

.wp_entry table th {
  background-color: var(--main-light-color);
}

/* th:first-child {
  width: 20%;
} */
.wp_entry th,
.wp_entry tr:last-child th,
.wp_entry tr:last-child td {
  border-bottom: 1px solid #ccc;
}


.wp_entry table.table-simple th,
.wp_entry table.table-simple td {
  border: none;
  padding: 10px;
  background-color: inherit;
  line-height: 1.8;
  color: inherit;
  /*word-break: break-word;*/
}

.wp_entry table.table-simple th {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}

.wp_entry table.table-simple td {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}


.wp_entry table th {
  background-color: #333;
  color: #fff;
}

.wp_entry table th.light {
  background-color: #555;
  font-size: 1em;
}

.wp_entry table .clear {
  background-color: transparent;
}

.wp_entry .table_note {
  display: none;
}

.wp_entry table.table-narrow th,
.wp_entry table.table-narrow td,
.wp_entry .narrow th,
.wp_entry .narrow td {
  padding: 5px;
}

.wp_entry table.table-fs-sm th,
.wp_entry table.table-fs-sm td {
  font-size: 0.875em;
}


.wp_entry .table-taC th,
.wp_entry .table-taC td {
  text-align: center;
}

.wp_entry .td-taR td {
  text-align: right !important;
}

.table-layout-fixed {
  table-layout: fixed;
}

.table-v-top th,
.table-v-top td {
  vertical-align: top;
}


.wp_entry table.alt {
  border: none;
  border-collapse: separate;
  border-spacing: 10px;
  margin-bottom: 15px;
}

.wp_entry table.alt th,
.wp_entry table.alt td {
  border: none;
  border-radius: 4px;
  padding: 20px;
}

.wp_entry table.alt td {
  background-color: #efefef;
}

.table_note i {
  opacity: 0;
  position: absolute;
  animation: swiping 2s 1s cubic-bezier(0.25, 1, 0.5, 1) forwards infinite;
}




@keyframes swiping {
  0% {
    transform: translateX(-10px);
    opacity: 0;
  }

  100% {
    transform: translateX(-30px);
  }

  40%,
  100% {
    opacity: 1;
  }
}

@media screen and (max-width: 560px) {

  .wp_entry table th,
  .wp_entry table td {
    padding: 10px 15px;
  }

  .wp_entry table.head>tr>td,
  .wp_entry table.head> :is(tr, tbody, thead, tfoot)>tr>td {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .wp_entry table.head> :is(tbody, thead, tfoot)>tr,
  .wp_entry table.head>tr {
    display: block;
    margin-bottom: 1em;
  }

  .wp_entry table.head>tr> :is(th, td),
  .wp_entry table.head> :is(tbody, thead, tfoot)>tr> :is(th, td) {
    display: block;
    width: auto;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid #fff;
    white-space: inherit;
  }

  .wp_entry table.head>tr>th,
  .wp_entry table.head> :is(tr, tbody, thead, tfoot)>tr>th {
    border-bottom: 1px solid #ccc;
    /* color: #fff; */
    padding-left: 1em;
    padding-right: 10px;
  }

  .wp_entry table.head>tr>td,
  .wp_entry table.head> :is(tr, tbody, thead, tfoot)>tr>td {
    border-bottom: none;
    /* margin-bottom: 20px; */
    padding-left: 0;
    padding-right: 0;
    background-color: transparent;
  }

  .wp_entry table.head .clear {
    display: none;
  }

  .wp_entry .table_wrap {
    overflow-x: auto;
    overflow-y: hidden;
  }



  .wp_entry .clear {
    display: none;
  }

  .wp_entry .ac_content_halfhide .table_note {
    display: none;
  }

  .wp_entry .ac_content_halfhide.active .table_note,
  .wp_entry .table_note {
    position: relative;
    display: block;
    margin: 10px 0;
    text-align: center;
    font-size: 0.75em;
    padding: 30px;
  }

  .wp_entry table.alt th {
    padding: 10px;
    margin-bottom: 5px;
  }

  .wp_entry table.alt td {
    padding: 10px;
    margin-bottom: 20px;
  }
}


.wp_entry table.table-form {
  background-color: #efefef;
}

.wp_entry table.table-form tbody tr :is(th, td) {
  border-left: none;
  border-right: none;
}

.wp_entry table.table-form tbody tr th {
  background-color: transparent;
  font-weight: 700;
  color: #000;
  border-bottom: none;
}

.wp_entry table.table-form tbody tr:last-child th {
  border-bottom: 1px solid #ccc;
}

.wp_entry table.table-form tbody tr td {
  padding-left: 10px;
  padding-right: 10px;
}


.wp_entry .table_dr_closed,
.wp_entry .table_dr_closed :is(th, td) {
  border-left: none;
  border-right: none;
  line-height: 2;
}

.wp_entry .label-dr-closed-type {
  min-width: 5em;
  text-align: center;
}

.wp_entry .label-dr-closed-sub {
  font-size: .85em;
  color: #808080;
  display: inline-block;
}

.wp_entry .blank-slash {
  background-image: linear-gradient(to right top, transparent calc(50% - 0.5px), #999 50%, #999 calc(50% + 0.5px), transparent calc(50% + 1px));
}


/* 外来担当医表
-------------------------------------------------- */
body.roster #a-roster {
  display: none;
}

.wp_entry .table-dr-roster {
  table-layout: fixed;
  width: 100%;
}

.wp_entry .table-dr-roster thead {
  font-size: 0.875em;
}

.wp_entry .table-dr-roster p {
  line-height: 1.4;
  margin: 0;
}

.wp_entry .table-dr-roster th,
.wp_entry .table-dr-roster td {
  width: auto;
  padding: 0;
  word-wrap: break-word;
  white-space: normal;
  border: 3px solid #fff;
}

.wp_entry .table-dr-roster th {
  background-color: var(--main-color);
  color: #fff;
  text-align: center;
  padding: 2px;
}

.wp_entry .table-dr-roster td {
  vertical-align: top;
  padding: 1px;
  /*background-color: #fff;*/
}

.wp_entry .table-dr-roster tbody tr:last-child td {
  border: none;
}

.wp_entry .table-dr-roster tbody tr:nth-child(2) {
  background-color: #efefef;
}


.table-dr-roster td:empty {
  vertical-align: middle;
  padding: 1em 0;
  text-align: center;
  color: #999;
}

.wp_entry .table-dr-roster td:empty::after {
  content: '休診';
}

/*.wp_entry .table-dr-roster thead th:nth-child(n+2){width:15%;}*/
.wp_entry .table-dr-roster .dr-roster-sect {
  background-color: #fff;
  border-width: 1px;
  border-color: #dad8d8;
}

.wp_entry .table-dr-roster .dr-roster-sect:last-child {
  border: none;
}

.wp_entry .table-dr-roster .dr-roster-sect .label {
  padding: 3px 6px;
}

.wp_entry .dr_roster_sect_inner {
  min-height: 52px;
  border-color: #adadad;
  padding: 0px 4px 0 4px;
  border-style: solid;
  border-width: 1px;
  margin: 1px;
}

.wp_entry .table-dr-roster>tbody.table-dr-roster-pm {
  background-color: #efefef;
}

.wp_entry .dr_roster_sect_inner_reserve,
.wp_entry .dr_roster_sect_inner_reserve_priority {
  padding: 4px 4px 0 4px;
  /*border-style:solid;border-width:1px;margin: 1px;*/
}

.wp_entry .dr_roster_sect_inner_reserve::before,
.wp_entry .dr_roster_sect_inner_reserve_priority::before {
  content: "予約のみ";
  display: block;
  padding: 0;
  text-align: center;
  font-size: 0.75em;
  margin-top: -5px;
  margin-right: -4px;
  margin-left: -4px;
}

.wp_entry .dr_roster_sect_inner_reserve_priority::before {
  content: "予約優先";
}

.wp_entry .table-dr-roster .dr-roster-sect {
  border-bottom: 1px solid #fff;
  ;
}

.wp_entry .table-dr-roster .dr-roster-name {
  font-size: 100%;
  margin-top: 3px;
  margin-bottom: 3px;
  font-weight: 700;
}

.wp_entry .table-dr-roster .dr-roster-desc {
  font-size: 80%;
  line-height: 1.4;
  margin-top: 3px;
  margin-bottom: 3px;
}

.wp_entry .dr_roster_sect_inner_gender-female {
  background-color: #f9e5f1;
}

.wp_entry .slider-rosters .slider-rosters-prev,
.wp_entry .slider-rosters .slider-rosters-next {
  margin: 0;
}

.wp_entry .slider-rosters .slick-prev::before {
  content: "←前月";
}

.wp_entry .slider-rosters .slick-next::before {
  content: "→翌月";
}


@media screen and (max-width: 768px) {
  .wp_entry .slider-rosters.slick-slider {
    margin-left: 20px;
    margin-right: 20px;
    ;
  }

  .wp_entry .slider-rosters.slick-slider .tab_content {
    padding-left: 0;
    padding-right: 0;
  }
}

.wp_entry .table-dr-roster td:empty {
  vertical-align: middle;
}

.wp_entry .table-dr-roster td:empty:before {
  display: block;
  text-align: center;
  margin-top: 1em;
  margin-bottom: 1em;
  /* content:"診察なし/休診"; */
  color: #888;
}

.wp_entry .table-dr-roster td:has(.blank) {
  color: #666;
  vertical-align: middle;
  text-align: center;
  font-size: 1.25em;
}

.wp_entry hr {
  display: block;
  border: none;
  border-bottom: 1px dashed #787878;
  width: 100%;
  height: 1px;
  margin: 40px auto;
}



/* タブUI
-------------------------------------------------- */
.wp_entry .tabs {
  margin-top: 50px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  width: 100%;
  margin: 0 auto;
}

.wp_entry .tab_items {
  display: flex;
}

.wp_entry .tab_item {
  align-items: center;
  justify-content: center;
  cursor: pointer;
  /* width: calc(100%/7); */
  width: 100%;
  min-height: 3em;
  border-right: 1px solid #fff;
  border-bottom: 3px solid #666;
  background-color: #d9d9d9;
  line-height: 1.2;
  font-size: 0.938em;
  text-align: center;
  color: #565656;
  display: flex;
  /* float: left; */
  text-align: center;
  /* font-weight: bold; */
  transition: all 0.2s ease;
  font-size: .85em;
  position: relative;
}

.wp_entry .tab_item:nth-last-of-type(1) {
  border-right: none;
}

.wp_entry .tab_item:hover {
  opacity: 0.75;
}


/*タブ切り替えの中身のスタイル*/
.wp_entry .tab_content {
  display: none;
  padding: 30px;
  clear: both;
  overflow: hidden;
}

.wp_entry .tab_content.active {
  display: block;
}

.wp_entry .main-contetnt .tab_content {
  padding: 10px;
}

@media screen and (max-width: 560px) {
  .wp_entry .tab_content {
    padding: 15px;
  }

  .wp_entry .main-contetnt .tab_content {
    padding: 15px;
  }
}

.wp_entry .tab_content+.tab_items .tab_item {
  border-top: 3px solid #666;
  border-bottom: none;
}

.wp_entry .tab_content+.tab_items .tab_item.active {
  border: none;
}


.wp_entry .tab_item.active::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -12px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #414141 transparent transparent transparent;
  border-width: 10px 10px 0 10px;
}

.wp_entry .tab_content+.tab_items .tab_item.active::after {
  top: -12px;
  bottom: unset;
  transform: scaleY(-1);
}

.wp_entry .tab_content:has(.table-dr-roster) {
  padding: 15px 10px 10px;
}

.tab_content .lnav-rich {
  padding: 0;
}

.tab_content .lnav-rich:first-child {
  margin-top: 0;
}


/* セクション
-------------------------------------------------- */

.wp_entry .__col_wideover {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  /* padding: 0 calc(50vw - 50%); */
  /* width: 100vw; */
}

.wp_entry .section {
  margin: 0 calc(50% - 50vw);
  padding: 50px calc(50vw - 50%);
  width: 100vw;
  width: 100cqw;
}

.wp_entry .section h2:first-child,
.wp_entry .section h3:first-child,
.wp_entry .section h4:first-child,
.wp_entry .ac_content_halfhide h2:first-child,
.wp_entry .ac_content_halfhide h3:first-child,
.wp_entry .ac_content_halfhide h4:first-child {
  margin-top: 0;
}

.wp_entry .h1+.section {
  margin-top: -60px;
}

.wp_entry .section-01 {
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 30px;
}

.wp_entry .section-02 {
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 30px;
  border-top-width: 3px;
  border-top-style: solid;
  border-bottom-width: 3px;
  border-bottom-style: solid;
}

.wp_entry .section-03 {
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 30px;
  border-top-width: 3px;
  border-top-style: dashed;
  border-bottom-width: 3px;
  border-bottom-style: solid;
}

.wp_entry .section-04,
.wp_entry .section-step,
.wp_entry .section-timeline {
  margin-top: 40px;
  margin-bottom: 40px;
  padding: 30px;
  border: 3px solid transparent;
}

.wp_entry .section-timeline,
.wp_entry .section-ww {
  margin: 80px calc(50% - 50vw);
  width: 100vw;
  width: 100cqw;
  padding: 20px calc(50vw - 50%);
}

.wp_entry .page-ww {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  width: 100vw;
  width: 100cqw;
  display: block;
  padding: 0;
}


@media screen and (max-width: 560px) {

  .wp_entry .section-01,
  .wp_entry .section-02,
  .wp_entry .section-03 {
    padding: 20px;
  }

  .wp_entry .section-04,
  .wp_entry .section-step,
  .wp_entry .section-timeline {
    margin-top: 20px;
    padding: 20px;
  }
}


/* ページ内リンク
-------------------------------------------------- */
.wp_entry .pnav {
  margin-bottom: 40px;
  padding: 20px 20px 0;
  background-color: var(--main-light-color);
}

.wp_entry .pnav ul {
  display: flex;
  flex-wrap: wrap;
}

.wp_entry .pnav ul li {
  text-indent: 0;
  line-height: 2;
  padding-left: 0;
  margin-bottom: 20px;
}

.wp_entry .pnav ul li {
  margin-right: 2em;
}

.wp_entry .pnav ul li:last-child {
  margin-left: 0;
}

.wp_entry .pnav ul li a {
  display: flex;
  align-items: center;
  padding: 0;
  line-height: 1.2;
  text-decoration: none;
}

.wp_entry .pnav ul li a::after {
  transform: rotate(90deg);
}

.wp_entry .pnav ul li a {
  position: relative;
}

.wp_entry .pnav ul li a::before {
  content: "";
  width: 0;
  height: 1px;
  background: var(--main-color);
  display: block;
  position: absolute;
  top: calc(100% + 5px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  transition: .3s;
}

.wp_entry .pnav ul li a:hover::before {
  width: 100%;
}

.wp_entry .pnav i {
  font-weight: 700;
  color: var(--main-color);
  margin-right: .5em;
}

.wp_entry .pnav .sub {
  display: none !important;
}


@media screen and (max-width: 560px) {
  .wp_entry .pnav ul {
    flex-wrap: wrap;
    row-gap: 10px;
  }

  .wp_entry .pnav ul li {
    display: inline-block;
    margin-right: 20px;
  }

  .wp_entry .pnav ul li+li {
    padding-left: 0;
    margin-left: 0;
  }

  .wp_entry .pnav ul li a {
    padding: 0;
    background-position: left 10px center;
  }
}

.wp_entry .pnav ul li::before {
  display: none;
}



/* ステップ
-------------------------------------------------- */
.wp_entry .step {
  display: flex;
  flex-wrap: wrap;
  margin-top: -50px;
}

.wp_entry .step dt,
.wp_entry .step dd {
  display: flex;
  flex-grow: 2;
  padding: 20px;
  margin: 50px 0 0;
}

.wp_entry .step dt {
  display: block;
  background-color: unset;
  font-weight: normal;
  color: #fff;
  font-size: 1em;
  line-height: 1.8;
  justify-content: center;
}

.wp_entry .step dt span {
  display: flex;
  align-items: center;
  text-indent: -1.35em;
  padding-left: 1.35em;
}

.wp_entry .step dt::before {
  position: absolute;
  left: 50vw;
  transform: translate(-50%, -55px);
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 900;
  content: "\f103";
  font-family: "Font Awesome 5 Free";
  font-size: 1.6em;
  line-height: 1;
}

.wp_entry .step dt:first-child::before {
  display: none;
}

.wp_entry .step dd+dt {
  margin-top: 50px;
}

@media screen and (max-width: 960px) {
  .wp_entry .step dd {
    margin-top: 0;
  }
}

@media screen and (max-width: 560px) {
  .wp_entry .step {
    margin-top: -40px;
  }

  .wp_entry .step dt,
  .wp_entry .step dd {
    padding: 10px 15px;
  }

  .wp_entry .step dt {
    display: block;
    background-color: unset;
    margin-top: 40px;
  }

  .wp_entry .step dt::before {
    transform: translate(-50%, -40px) scale(0.75);
  }

  .wp_entry .step dd+dt {
    margin-top: 40px;
  }
}

/* box
-------------------------------------------------- */
.wp_entry [class^='box0'] {
  padding: 20px 30px;
  border: 1px solid;
}

.wp_entry [class^='box0']>h4,
.wp_entry [class^='box0']>h5 {
  margin: 10px 0 20px;
  background: none !important;
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.3;
}

.wp_entry [class^='box0'] h4:before {
  display: none;
}

.wp_entry .flex [class^='__col'] [class^='box0'] {
  height: 100%;
}


@media screen and (max-width: 560px) {
  .wp_entry [class^='box0'] {
    padding: 10px 15px;
  }

  .wp_entry [class^='box0'] h4 {
    border: none;
    margin: 8px 0;
  }
}

/* ダウンロードボタン
-------------------------------------------------- */
.wp_entry .btn_download {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  min-width: 300px;
  height: 60px;
  border-radius: 5px;
  color: #fff;
  font-size: 1.125em;
  font-weight: bold;
  text-decoration: none;
  line-height: 1.2;
  vertical-align: top;
}

.wp_entry .btn_download:hover {
  opacity: .8;
  text-decoration: none;
}

.wp_entry .btn_download::after {
  display: none !important;
}

.wp_entry .btn_download i {
  margin-right: 8px;
  width: 20px;
  height: 100%;
  background: url("../img/parts/ico_download.png") no-repeat center 45%;
  background-size: 100%;
}

@media screen and (max-width: 960px) {
  .wp_entry .btn_download {
    min-width: 260px;
    height: 50px;
  }

  .wp_entry .btn_download i {
    width: 18px;
  }
}

@media screen and (max-width: 560px) {
  .wp_entry .btn_download i {
    width: .wp_entry 17px;
  }
}

/* 医師紹介
-------------------------------------------------- */
.wp_entry .section-doctors {
  background-color: #f3f3f3;
  padding: 20px;
}

.wp_entry .section-doctors section+section {
  margin-top: 20px;
}

.wp_entry .main-contetnt .tab_content .section-doctors {
  background-color: transparent;
  padding: 0;
}


.wp_entry .doctor01,
.wp_entry .doctor02 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  border: 1px solid #ccc;
  border-top-width: 4px;
  padding: 20px;
  background: #fff;
}

.wp_entry .doctor01::before,
.wp_entry .doctor02::before {
  display: none;
}

.wp_entry .doctor01>figure,
.wp_entry .doctor02>figure {
  width: 210px;
  padding-left: 30px;
}

.wp_entry .doctor01>figure img,
.wp_entry .doctor02>figure img {
  width: 100%;
}

.wp_entry .doctor01>div,
.wp_entry .doctor02>div {
  width: calc(100% - 210px);
}

.wp_entry .doctor01.doctor-no-fig .text,
.wp_entry .doctor02.doctor-no-fig .text {
  width: 100%;
}

.wp_entry .doctor01 h4,
.wp_entry .doctor02 h4 {
  background: none;
  border: none;
  margin: 0 0 7px;
  padding: 0 0 6px;
  line-height: 1.4;
  font-size: 1em;
  font-weight: normal;
  display: block;
}

.wp_entry .doctor01 h4::before,
.wp_entry .doctor02 h4::before {
  display: none;
}

.wp_entry .doctor01 .position,
.wp_entry .doctor02 .position {
  display: block;
  margin-bottom: 0.4em;
  line-height: 1.3;
  font-size: 0.875em;
}

.wp_entry .doctor01 .name,
.wp_entry .doctor02 .name {
  font-size: 1.375em;
  font-weight: bold;
}

.wp_entry .doctor01 .name-kana,
.wp_entry .doctor02 .name-kana {
  display: inline-block;
  font-size: .75em;
}

.wp_entry .doctor01 .attach,
.wp_entry .doctor02 .attach {
  margin-top: 0.6em;
  margin-bottom: 0.6em;
  font-size: 0.875em;
}

.wp_entry .wp_entry .doctor01 th,
.wp_entry .wp_entry .doctor02 th {
  border-color: #fff;
}

.wp_entry .wp_entry .doctor01 td,
.wp_entry .wp_entry .doctor02 td {
  background-color: #fff;
  border-color: #ccc
}

@media screen and (max-width: 960px) {

  .wp_entry .doctor01>figure,
  .wp_entry .doctor02>figure {
    width: 180px;
  }

  .wp_entry .doctor01>div,
  .wp_entry .doctor02>div {
    width: calc(100% - 180px);
  }

  .wp_entry .doctor01.doctor-no-fig .text,
  .wp_entry .doctor02.doctor-no-fig .text {
    width: 100%;
  }
}

@media screen and (max-width: 560px) {

  .wp_entry .doctor01 table,
  .wp_entry .doctor02 table {
    margin-top: 0;
  }

  .wp_entry .doctor01,
  .wp_entry .doctor02 {
    display: block;
    padding: 10px;
  }

  .wp_entry .doctor01 figure,
  .wp_entry .doctor02 figure {
    float: right;
    width: 105px;
    margin-bottom: 10px;
  }

  .wp_entry .doctor01>div,
  .wp_entry .doctor02>div {
    width: auto;
  }

  .wp_entry .doctor01>.flex,
  .wp_entry .doctor02>.flex {
    flex-direction: row;
    flex-wrap: nowrap;
  }

  .wp_entry .doctor01 th,
  .wp_entry .doctor01 td,
  .wp_entry .doctor02 th,
  .wp_entry .doctor02 td {
    border: none;
  }
}

.wp_entry .doctor01 .table-simple th,
.wp_entry .doctor02 .table-simple th,
.wp_entry .doctor01 .table-simple td,
.wp_entry .doctor02 .table-simple td {
  padding: 7px;
  line-height: 1.6;
}

.wp_entry .doctor01 .table-simple th,
.wp_entry .doctor02 .table-simple th {
  border-color: #b7b7b7;
  border-width: 2px;
  background-color: #fff;
  padding-left: 0;
  padding-right: 0;
}

.wp_entry .section-doctors>*:last-child {
  margin-bottom: 20px;
}

.wp_entry .section-doctor-inner .doctor {
  height: 100%;
}


.wp_entry .section-roster {
  display: none;
}

.wp_entry .section-roster:first-child {
  display: block;
}

.wp_entry .section-doctors-modal section {
  display: block;
  padding: 13px;
}

.wp_entry .section-doctors-modal section>div {
  width: auto;
}

.wp_entry .section-doctors-modal section .name {
  font-size: 1.25em;
}

.wp_entry .section-doctors-modal section .name small {
  letter-spacing: normal;
  font-weight: normal;
  color: #333;
  display: block;
  font-size: .66em;
}

.wp_entry .section-doctors-modal section th {
  font-size: 0.75em;
  width: 20%;
  padding: 7px;
}

.wp_entry .section-doctors-modal section .btn_small {
  font-size: 1em;
  background: none;
  background-color: #1f80cc;
  border-radius: 20px;
  min-width: 100px;
}

/* お問い合わせ
-------------------------------------------------- */
.wp_entry .cta {
  margin-top: 40px;
  padding: 0 10px 20px;
  /*height: 100%;*/
  background-color: #eee;
  text-align: center;
}

.wp_entry .cta h4 {
  display: block;
  padding: 10px;
  margin: 0 -10px 25px;
  border: none;
  background-image: none;
  color: #fff;
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
}

.wp_entry .cta h4::before {
  display: none;
}

.wp_entry .cta p {
  line-height: 1.6;
}

.wp_entry .cta em {
  display: inline-block;
  font-weight: normal;
  font-size: 1.5em;
  margin-bottom: 0;
}

.wp_entry .cta .tel {
  color: #000;
  font-family: "Barlow", sans-serif;
  display: inline-block;
  padding: 5px 0;
  font-size: 2.2em;
  font-weight: bold;
  line-height: 1;
  margin-right: 0;
  text-decoration: none;
  white-space: nowrap;
}

.wp_entry .cta .tel::before {
  font-size: .8em;
  margin-right: .5em;
  /* content: "\f095"; */
  content: "\f879";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
  background-color: transparent;
}

.wp_entry .cta .tel+p {
  margin-top: 0.4em;
}

.wp_entry .cta .tel.fax::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  transform: translateY(5px);
  background-image: url(../img/ico-fax.png);
  background-repeat: no-repeat;
  background-size: contain;
}

body[class*="inquiry"] .wp_entry .cta .btn-inquiry {
  display: none;
}

@media screen and (max-width: 960px) {

  .wp_entry .cta h1,
  .wp_entry .cta h2,
  .wp_entry .cta h3,
  .wp_entry .cta h4,
  .wp_entry .cta h5,
  .wp_entry .cta h6 {
    margin-bottom: 15px;
  }

  .wp_entry .cta .tel {
    background-size: 25px;
  }

  .wp_entry .cta .fax {
    background-size: 26px;
  }
}

@media screen and (max-width: 560px) {
  .wp_entry .cta .tel {
    background-size: 23px;
  }

  .wp_entry .cta .fax {
    background-size: 24px;
  }
}

/* FAQ
-------------------------------------------------- */
.wp_entry .qa dt,
.wp_entry .qa dd,
.wp_entry .elastic dt,
.wp_entry .elastic dd {
  position: relative;
  padding: 15px;
  padding-left: 25px;
  line-height: 1.8;
}

.wp_entry .qa dt::before,
.wp_entry .qa dd::before,
.wp_entry .elastic dt::before,
.wp_entry .elastic dd::before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 10px;
  content: "";
}

.wp_entry .qa dt,
.wp_entry .elastic dt {
  display: block;
  background-color: #666;
  font-weight: normal;
  cursor: pointer;
}

.wp_entry .qa dt::after,
.wp_entry .elastic dt::after {
  position: relative;
  top: 2px;
  left: 5px;
  display: inline-block;
  transform: rotate(90deg);
}

.wp_entry .qa dt.active::after,
.wp_entry .elastic dt.active::after {
  transform: rotate(-90deg);
}

.wp_entry .qa dd,
.wp_entry .elastic dd {
  display: none;
  margin-top: 3px;
}

.wp_entry .elastic-released dd {
  display: block;
}

.wp_entry .elastic-released dt {
  cursor: unset;
}

.wp_entry .elastic-released dt::after {
  display: none;
}

.wp_entry .qa dd+dt,
.wp_entry .elastic dd+dt {
  margin-top: 20px;
}

@media screen and (max-width: 560px) {

  .wp_entry .qa dt,
  .wp_entry .qa dd,
  .wp_entry .elastic dt,
  .wp_entry .elastic dd {
    padding: 13px;
    padding-left: 22px;
  }

  .wp_entry .qa dt::before,
  .wp_entry .qa dd::before,
  .wp_entry .elastic dt::before,
  .wp_entry .elastic dd::before {
    width: 7px;
  }
}

.wp_entry .qa dt,
.wp_entry .qa dd {
  padding-left: 55px;
}

.wp_entry .qa dt::before,
.wp_entry .qa dd::before {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  color: #fff;
}

.wp_entry .qa dt::before {
  content: "Q";
}

.wp_entry .qa dd::before {
  content: "A";
}

@media screen and (max-width: 560px) {

  .wp_entry .qa dt,
  .wp_entry .qa dd {
    padding-left: 43px;
  }

  .wp_entry .qa dt::before,
  .wp_entry .qa dd::before {
    width: 30px;
  }
}

/* ローカルナビ
-------------------------------------------------- */
.wp_entry .lnav-rich-h2 {
  margin: 0 0 10px 0;
  font-size: 1.125em;
  padding: 5px 0 5px 10px;
}

.wp_entry .lnav ul {
  display: flex;
  flex-wrap: wrap;
  margin: -20px -10px 0;
}

.wp_entry .lnav ul li {
  width: 33.333%;
  margin-top: 20px;
  padding: 0 10px;
  text-indent: 0;
}

.wp_entry .lnav ul.row4 li {
  width: 25%;
}

.wp_entry .lnav ul.row1 li {
  width: 100%;
}


.wp_entry .lnav ul li::before {
  display: none;
}

.wp_entry .lnav ul li a {
  display: flex;
  align-items: center;
  border-radius: 5px;
  height: 70px;
  padding: 0 10px;
  font-weight: bold;
  line-height: 1.3;
  text-decoration: none;
  color: inherit;
}

.wp_entry .lnav ul li a:hover {
  opacity: .8;
}

.wp_entry .lnav ul li a::before {
  content: "";
  width: 15px;
  min-width: 15px;
  height: 15px;
  min-height: 15px;
  margin: 0 8px 0 5px;
  background-image: url("../img/parts/mrk_btn_light.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 5px;
  border-radius: 50%;
}

.wp_entry .lnav ul li a::after {
  display: none;
}

@media screen and (max-width: 960px) {
  .wp_entry .lnav ul li {
    width: 50%;
  }

  .wp_entry .lnav ul.row2-sp li {
    width: 50%;
  }

  .wp_entry .lnav ul li a {
    height: 60px;
  }

  .wp_entry .lnav ul li a::before {
    width: 12px;
    min-width: 12px;
    height: 12px;
    min-height: 12px;
    margin: 0 6px 0 3px;
    background-size: 4px;
  }
}

@media screen and (max-width: 560px) {
  .wp_entry .lnav ul {
    margin: -10px -5px 0;
  }

  .wp_entry .lnav ul li,
  .wp_entry .lnav ul.row4 li {
    width: 100%;
    margin-top: 10px;
    padding: 0 5px;
  }

  .wp_entry .lnav ul li a {
    height: 50px;
  }
}

/* ローカルナビ（画像あり）
-------------------------------------------------- */
.wp_entry .lnav01 ul,
.wp_entry .lnav02 ul {
  display: flex;
  flex-wrap: wrap;
  margin: -20px -10px 0;
}

.wp_entry .lnav01 ul li,
.wp_entry .lnav02 ul li {
  width: calc(33.333% - 20px);
  margin: 20px 10px 0;
  padding: 20px;
  text-indent: 0;
}

.wp_entry .lnav01 ul li::before,
.wp_entry .lnav02 ul li::before {
  display: none;
}

.wp_entry .lnav01 ul li img,
.wp_entry .lnav02 ul li img {
  width: 100%;
}

.wp_entry .lnav01 ul li h1,
.wp_entry .lnav01 ul li h2,
.wp_entry .lnav01 ul li h3,
.wp_entry .lnav01 ul li h4,
.wp_entry .lnav01 ul li h5,
.wp_entry .lnav01 ul li h6,
.wp_entry .lnav02 ul li h1,
.wp_entry .lnav02 ul li h2,
.wp_entry .lnav02 ul li h3,
.wp_entry .lnav02 ul li h4,
.wp_entry .lnav02 ul li h5,
.wp_entry .lnav02 ul li h6 {
  display: flex;
  align-items: center;
  background-image: none;
  border: none;
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.2;
}

.wp_entry .lnav01 ul li a,
.wp_entry .lnav02 ul li a {
  display: flex;
  align-items: center;
  height: 40px;
  font-weight: bold;
  line-height: 1.3;
  text-decoration: none;
}

.wp_entry .lnav01 ul li a::before,
.wp_entry .lnav02 ul li a::before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 5px;
  border-radius: 50%;
}

.wp_entry .lnav01 ul li a:hover,
.wp_entry .lnav02 ul li a:hover {
  opacity: .8;
}

@media screen and (max-width: 960px) {

  .wp_entry .lnav01 ul,
  .wp_entry .lnav02 ul {
    margin: -20px -5px 0;
  }

  .wp_entry .lnav01 ul li,
  .wp_entry .lnav02 ul li {
    width: calc(33.333% - 10px);
    margin: 20px 5px 0;
    padding: 15px;
  }
}

@media screen and (max-width: 560px) {

  .wp_entry .lnav01 ul,
  .wp_entry .lnav02 ul {
    flex-direction: column;
  }

  .wp_entry .lnav01 ul li,
  .wp_entry .lnav02 ul li {
    width: calc(100% - 10px);
  }

  .wp_entry .lnav01 ul li a::before,
  .wp_entry .lnav02 ul li a::before {
    background-size: 4px;
  }
}

.wp_entry .lnav01 h1,
.wp_entry .lnav01 h2,
.wp_entry .lnav01 h3,
.wp_entry .lnav01 h4,
.wp_entry .lnav01 h5,
.wp_entry .lnav01 h6 {
  height: 45px;
  margin: 5px 0 0;
  padding: 0;
}

.wp_entry .lnav01 p {
  margin: 0;
  font-size: 0.875em;
}

.wp_entry .lnav01 a {
  justify-content: center;
  margin: 0.9em 0 0;
  border-radius: 5px;
  color: inherit;
}

.wp_entry .lnav01 a::before {
  width: 15px;
  min-width: 15px;
  height: 15px;
  min-height: 15px;
  margin: 0 8px 0 -10px;
  background-image: url("../img/parts/mrk_btn_dark.png");
}

@media screen and (max-width: 560px) {

  .lnav01 h1,
  .lnav01 h2,
  .lnav01 h3,
  .lnav01 h4,
  .lnav01 h5,
  .lnav01 h6 {
    justify-content: center;
    height: 40px;
  }

  .lnav01 a::before {
    width: 12px;
    min-width: 12px;
    height: 12px;
    min-height: 12px;
  }
}

.lnav02 h1,
.lnav02 h2,
.lnav02 h3,
.lnav02 h4,
.lnav02 h5,
.lnav02 h6 {
  justify-content: center;
  height: 50px;
  margin: -20px -20px 20px;
  padding: 0 10px;
}

.lnav02 a {
  position: relative;
  padding: 0 15px;
  padding-right: 30px;
  margin: 2px 0 0;
  border-radius: 3px;
  font-size: 0.875em;
}

.lnav02 a:first-of-type {
  margin-top: 10px;
}

.lnav02 a::before {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  background-image: url("../img/parts/mrk_btn_light.png");
}

@media screen and (max-width: 960px) {

  .lnav02 h1,
  .lnav02 h2,
  .lnav02 h3,
  .lnav02 h4,
  .lnav02 h5,
  .lnav02 h6 {
    margin: -15px -15px 15px;
  }

  .lnav02 a::before {
    width: 12px;
    height: 12px;
  }
}




/* ボタン
-------------------------------------------------- */
.wp_entry .btn_small {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 160px;
  height: 40px;
  padding: 0 20px;
  border-radius: 5px;
  color: #fff;
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.3;
  text-decoration: none;
  margin-bottom: 10px;
}

.btn_small::after {
  display: none !important;
}

.btn_small:hover {
  text-decoration: none;
}

@media screen and (max-width: 560px) {
  .btn_small {
    min-width: 140px;
    height: 30px;
  }
}

.link {
  position: relative;
  /*font-size: 0.875em;*/
}

.wp_entry .submit_button a {
  margin: 0 60px 0 0;
}

.wp_entry .btn_send,
.wp_entry .btn_back,
.wp_entry form input[type=submit] {
  display: inline-block;
  min-width: 300px;
  padding: 15px 10px;
  border-radius: 5px;
  color: #fff;
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.3;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
}

.wp_entry .btn_send::after,
.wp_entry .btn_back::after {
  display: none;
}

.wp_entry .btn_send:hover,
.wp_entry .btn_back:hover,
form input[type=email]:hover {
  opacity: .8;
}

.wp_entry .btn_send::after,
.wp_entry .btn_back::after {
  display: none;
}

.wpcf7-spinner {
  display: none !important;
}

#file1-clear,
#file2-clear,
#file3-clear {
  display: none;
}


/* ///////// RESPONSIVE ///////// */
@media screen and (max-width: 768px) {
  .link::after {
    transform: scale(.9);
  }

  .wp_entry .submit_button a {
    margin: 0 0 20px;
  }

  .btn_send,
  .btn_back {
    width: 250px;
  }
}


.form input[type=text],
.form input[type=email],
.form input[type=tel],
.form input[type=date],
.form input[type=number],
.form textarea,
.form select {
  padding: 12px 10px 10px;
  border-width: 1px;
  border-style: solid;
  border-color: rgb(204, 204, 204);
  /*width: 100%;*/
}

.table-form td label {
  margin-right: 2em;
}

.table-form td label:last-child {
  margin-right: 0;
}

p.hint {
  color: #900;
}

.wp_entry td.hint,
.wp_entry div.hint {
  background-color: #ffe3e3 !important;
}

.wp_entry dl.form dt {
  padding: 0;
  background-color: transparent;
  margin-bottom: 0;
}

.wp_entry dl.form dt p {
  margin-bottom: 0;
}

.wpcf7-form .wpcf7-response-output {
  padding: 2em;
}

.wpcf7-form.sent .input-elem {
  display: none;
}

.wpcf7-form.sent .wpcf7-response-output {
  background-color: #cfffd3;
}


/* form
-------------------------------------------------- */
.wpcf7-not-valid {
  background-color: #fdcdd1;
  border: 1px solid #d00 !important;
}



/* ラベル
-------------------------------------------------- */
.wp_entry .label {
  text-align: center;
  min-width: 1.6em;
  text-indent: 0;
  display: inline-block;
  padding: 3px 6px;
  margin-bottom: 2px;
  /* background-color: #666; */
  border-radius: 4px;
  font-size: .875em;
  font-weight: normal;
  color: #fff;
  line-height: 1.2;
}

.label {
  background-color: #666;
}

.wp_entry .label.label-simple {
  background-color: transparent;
  border: 1px solid #555;
  color: inherit;
}

.wp_entry .label.label-simple-wh {
  border-color: #fff;
}

.wp_entry .label.fs-normal {
  font-size: inherit;
}

.label.alt {
  border-radius: 1em;
  padding-left: 1em;
  padding-right: 1em;
}

.news_label {
  display: inline-block;
  color: #fff;
  background: #B81C2A;
  padding: 1px 3px;
  /*font-size:12px;*/
}


.wp_entry :is(ul, ol) span.label {
  text-indent: 0;
}

/* タイムライン
-------------------------------------------------- */
ul.timeline {
  display: table;
}

ul.timeline>li {
  display: table-row;
  padding-left: 0 !important;
  text-indent: 0 !important;
}

ul.timeline>li::before {
  display: none;
}

ul.timeline>li>time,
ul.timeline>li>span {
  display: table-cell;
}

ul.timeline>li>time {
  padding: 0 25px 20px 0;
  color: #666;
}

ul.timeline>li>span {
  position: relative;
  border-left: 3px #dad8d8 solid;
  padding: 0 0 30px 30px;
  color: #333;
}

ul.timeline>li span::before {
  position: absolute;
  left: -6px;
  top: 8px;
  width: 9px;
  height: 9px;
  content: "";
  background: #555;
  border-radius: 50%;
}

.timeline>li:last-child>span {
  padding-bottom: 0;
}

.wp_entry .section-timeline .timeline-date {
  color: #fff;
}

.wp_entry .section-timeline .timeline-content:before {
  background: #fff;
}

.wp_entry .section-timeline .timeline-content {
  border-left: 1px #fff solid;
}


/* 2020/04 追加 */
/* 見出し
-------------------------------------------------- */
.hx-richB>figure img {
  width: 100%;
  max-width: inherit;
}

.hx-richB>div {
  position: relative;
  z-index: 1;
  background: #aaa;
  margin: -170px -50px 0 auto;
  width: 660px;
  max-width: 100%;
  padding: 40px 50px;
  color: #fff;
}

.hx-richB h1,
.hx-richB h2,
.hx-richB h3,
.hx-richB h4,
.hx-richB h5,
.hx-richB h6 {
  margin: 0;
  padding: 0;
  background: none !important;
  font-size: 1.375em;
  font-weight: bold;
  width: 100%;
  text-align: left;
}

.hx-richB p {
  line-height: 2;
  font-size: 0.75em;
}

.hx-richB b {
  color: inherit !important;
}

.hx-richB .en {
  position: absolute;
  top: 0;
  right: 50px;
  margin: 0;
  padding: 5px 15px;
  background: #fff;
  color: #333;
  font-size: 0.5em;
}

.hx-richB .bar {
  position: relative;
  margin-bottom: 20px;
  padding-left: 30px;
}

.hx-richB .bar::before {
  position: absolute;
  top: 11px;
  left: 0px;
  display: inline-block;
  width: 16px;
  height: 2px;
  content: "";
  background: #fff;
}

@media screen and (max-width: 560px) {
  .hx-richB {
    margin: 0 -10px;
  }

  .hx-richB>div {
    margin: -50px 0 0 50px;
    padding: 15px 25px;
    padding-top: 35px;
    width: auto;
  }

  .hx-richB h1,
  .hx-richB h2,
  .hx-richB h3,
  .hx-richB h4,
  .hx-richB h5,
  .hx-richB h6 {
    font-size: 1.125em;
  }

  .hx-richB p {
    font-size: 0.625em;
  }

  .hx-richB .en {
    right: 0px;
    padding: 3px 10px;
    font-size: 0.4375em;
  }

  .hx-richB .bar {
    margin-bottom: 15px;
    padding-left: 20px;
  }

  .hx-richB .bar::before {
    top: 10px;
    width: 10px;
    height: 1px;
  }
}

.hx-richA {
  display: flex;
  flex-direction: row-reverse;
}

.hx-richA>figure {
  width: 60%;
  margin-bottom: 0;
}

.hx-richA>figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.hx-richA>div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 40%;
  padding: 40px 50px;
  background: #aaa;
  color: #fff;
}

.hx-richA .en {
  font-size: 0.625em;
}

.hx-richA h1,
.hx-richA h2,
.hx-richA h3,
.hx-richA h4,
.hx-richA h5,
.hx-richA h6 {
  margin: 0;
  padding: 0;
  background: none !important;
  font-size: 1.375em;
  font-weight: bold;
  margin-right: -50px;
  /* margin-bottom: 35px; */
  padding-right: 50px;
  padding-bottom: 20px;
  border-bottom: 1px solid transparent;
  text-align: left;
  width: 100%;
}

.hx-richA p:not(.large) {
  font-size: 0.75em;
  line-height: 2;
}

@media screen and (max-width: 960px) {
  .hx-richA>div {
    padding: 30px 40px;
  }

  .hx-richA h1,
  .hx-richA h2,
  .hx-richA h3,
  .hx-richA h4,
  .hx-richA h5,
  .hx-richA h6 {
    margin-right: -40px;
    padding-right: 40px;
  }
}

@media screen and (max-width: 560px) {
  .hx-richA {
    margin-left: -20px;
    margin-right: -20px;
    display: block;
  }

  .wp_entry .hx-richA>figure {
    width: 100%;
    margin-bottom: 0;
  }

  .hx-richA>figure img {
    /* object-fit: none; */
    height: auto;
  }

  .hx-richA>div {
    width: 100%;
    padding: 15px 20px;
  }

  .hx-richA .en {
    font-size: 0.563em;
  }

  .hx-richA h1,
  .hx-richA h2,
  .hx-richA h3,
  .hx-richA h4,
  .hx-richA h5,
  .hx-richA h6 {
    font-size: 1.375em;
    margin-right: 0px;
    /* margin-bottom: 15px; */
    padding-right: 0px;
    padding-bottom: 10px;
  }

  .hx-richA p:not(.large) {
    font-size: 0.625em;
  }
}

.wp_entry h2[class|="num"],
.wp_entry h3[class|="num"],
.wp_entry h4[class|="num"],
.wp_entry h5[class|="num"] {
  /* position: relative; */
  border: none;
  border-left: none;
  padding-left: 0;
}

.wp_entry h2[class|="num"]::before,
.wp_entry h3[class|="num"]::before,
.wp_entry h4[class|="num"]::before,
.wp_entry h5[class|="num"]::before {
  display: none;
}

.wp_entry h2[class|="num"] i,
.wp_entry h3[class|="num"] i,
.wp_entry h4[class|="num"] i,
.wp_entry h5[class|="num"] i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5em;
  /* height: 20px; */
  border: 2px solid transparent;
  border-radius: 6px;
  background: #fff;
  /* font-size: 0.75em; */
  margin-right: .2em;
  /* position: absolute; */
}

.wp_entry .num i.ic {
  border: none;
  color: #fff;
  background-color: #000;
}

.wp_entry .num-h2 {
  padding-left: 45px;
}

.wp_entry .num-h2 i {
  top: calc(5px + .3em);
  left: 15px;
}

.wp_entry .num-h3 {
  padding-left: 50px;
}

.wp_entry .num-h3 i {
  top: calc(15px + .2em);
  left: 15px;
}

.wp_entry .num-h4,
.wp_entry .num-h5 {
  padding-left: 30px;
  background: none;
}

.wp_entry .num-h4 i,
.wp_entry .num-h5 i {
  top: calc(5px + .2em);
  left: 0;
}

@media screen and (max-width: 560px) {
  .wp_entry .num-h2 {
    padding-left: 40px;
  }

  .wp_entry .num-h3 {
    padding-left: 40px;
  }

  .wp_entry .num-h3 i {
    left: 10px;
  }

  .wp_entry .num-h4,
  .wp_entry .num-h5 {
    padding-left: 45px;
  }
}

/* ステップ
-------------------------------------------------- */
.wp_entry .step-simple {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  padding-left: 90px;
}

.wp_entry .step-simple>dt,
.wp_entry .step-simple>dd {
  /* display: flex; */
  align-items: center;
  border-bottom: 1px solid #d9d9d9;
  margin-bottom: -1px;
  min-height: 90px;
  padding: 20px;
  line-height: 1.75;
}

.wp_entry .step-simple>dt {
  background-color: unset;
  position: relative;
  color: #000;
}

.wp_entry .step-simple>dt i {
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 2px solid transparent;
  border-radius: 6px;
  background: #fff;
  font-size: 1.125em;
  position: absolute;
  left: -60px;
  /* top: 50%; */
  top: 0;
  transform: translateY(-50%);
}

@media screen and (max-width: 560px) {
  .wp_entry .step-simple>dt i {
    /* width: 17px; */
    /* height: 17px; */
    /* font-size: 0.625em; */
  }
}

.wp_entry .step-simple>dt::before,
.wp_entry .step-simple>dt::after {
  position: absolute;
  content: "";
}

.wp_entry .step-simple>dt::before {
  /* top: 50%; */
  top: 1%;
  left: -45px;
  bottom: 10px;
  width: 1px;
  background: #aaa;
}

.wp_entry .step-simple>dt::after {
  bottom: 3px;
  left: -48px;
  width: 6px;
  height: 9px;
  background: url("../img/common/mrk_arrow.png") no-repeat center top;
  background-size: 6px;
}

.wp_entry .step-simple>dt:last-of-type::before,
.wp_entry .step-simple>dt:last-of-type::after {
  display: none;
}

.wp_entry .step-simple>dd+dt {
  margin-top: 0;
}

@media screen and (max-width: 560px) {
  .wp_entry .step-simple {
    padding-left: 50px;
  }

  .wp_entry .step-simple>dt,
  .wp_entry .step-simple>dd {
    min-height: inherit;
    padding: 0px;
    line-height: 1.75;
  }

  .wp_entry .step-simple>dt {
    padding: 20px 0;
    border-bottom: none;
  }

  .wp_entry .step-simple>dt i {
    left: -41px;
  }

  .wp_entry .step-simple>dt::before {
    display: none;
    /* left: -27px; */
    /* bottom: 0px; */
  }

  .wp_entry .step-simple>dt::after {
    display: none;
    bottom: -8px;
    left: -29px;
  }

  .wp_entry .step-simple>dd {
    margin-top: -5px;
    padding-bottom: 20px;
  }
}

.wp_entry .step-smart {
  background: var(--light-gray-color);
  padding: 30px 50px 30px 110px;
}

@media screen and (max-width: 560px) {
  .wp_entry .step-smart {
    padding: 10px 20px 20px 20px;
  }
}

.wp_entry .step-smart>dt {
  display: block;
  background-color: unset;
  position: relative;
  border-top: 1px solid #7ca8db;
  padding-top: 40px;
  color: #000;
  font-size: 1.25em;
  line-height: 1.4;
}

.wp_entry .step-smart>dt i {
  background-color: #333;
  color: #fff;
  ;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 2px solid transparent;
  border-radius: 6px;
  background: #fff;
  /* font-size: 1.125em; */
  position: absolute;
  top: 38px;
  left: -70px;
}

@media screen and (max-width: 560px) {
  .wp_entry .step-smart>dt i {
    top: 0;
    width: 22px;
    height: 22px;
    font-size: 0.938em;
  }
}

.wp_entry .step-smart>dt::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -55px;
  width: 1px;
  /* content: ""; */
  background: #aaa;
}

.wp_entry .step-smart>dt:first-of-type {
  margin-top: 20px;
}

.wp_entry .step-smart>dt:last-of-type::before {
  display: none;
}

@media screen and (max-width: 560px) {
  .wp_entry .step-smart>dt {
    padding-top: 20px;
  }

  .wp_entry .step-smart>dt i {
    top: -9px;
    left: 0px;
  }

  .wp_entry .step-smart>dt i::after {
    position: absolute;
    left: calc(100% + 2px);
    height: 100%;
    width: 10px;
    content: "";
    background: #f9f9fa;
  }

  .wp_entry .step-smart>dt::before {
    display: none;
  }
}

.wp_entry .step-smart>dd {
  position: relative;
  padding-top: 25px;
  /*font-size: 0.857em;*/
  line-height: 2;
}

.wp_entry .step-smart>dd+dt {
  margin-top: 50px;
}

.wp_entry .step-smart>dd::before {
  position: absolute;
  top: 0;
  bottom: -80px;
  left: -55px;
  width: 1px;
  content: "";
  background: #aaa;
}

.wp_entry .step-smart>dd::after {
  position: absolute;
  bottom: -80px;
  left: -58px;
  width: 6px;
  height: 9px;
  content: "";
  background: url("../img/common/mrk_arrow.png") no-repeat center top;
  background-size: 6px;
}

.wp_entry .step-smart>dd:last-of-type::before,
.wp_entry .step-smart>dd:last-of-type::after {
  display: none;
}

@media screen and (max-width: 560px) {
  .wp_entry .step-smart>dd {
    padding-top: 10px;
  }

  .wp_entry .step-smart>dd+dt {
    margin-top: 60px;
  }

  .wp_entry .step-smart>dd::before {
    top: inherit;
    bottom: -30px;
    left: 50%;
    height: 15px;
    transform: translateX(-50%);
  }

  .wp_entry .step-smart>dd::after {
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
  }
}

.wp_entry .step-smart div.contact {
  display: inline-flex;
  flex-direction: column;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  background: #fff;
  margin-top: 25px;
  padding: 15px 40px;
  /* width: 410px; */
  max-width: 100%;
  line-height: 1.4;
}

.wp_entry .step-smart div.contact strong {
  margin-top: 5px;
}

.wp_entry .step-smart div.contact p {
  position: relative;
  padding-left: 65px;
  line-height: 1.55;
}

.wp_entry .step-smart div.contact p::before,
.wp_entry .step-smart div.contact p::before {
  position: absolute;
  top: .6em;
  left: 0;
  width: 45px;
  height: 25px;
  border-right: 1px solid transparent;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
}

.wp_entry .step-smart div.contact p.tel::before {
  font-size: 1.2em;
  content: "\f879";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
}

.wp_entry .step-smart div.contact p.fax::before {
  font-size: 1.2em;
  content: "\f1ac";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 900;
  font-family: "Font Awesome 5 Free";
}

.wp_entry .step-smart div.contact p .tel,
.wp_entry .step-smart div.contact p .fax {
  font-size: 1.5em;
  font-weight: bold;
  color: inherit;
  text-decoration: none;
}

.wp_entry .step-smart div.contact p .tel::after {
  display: none;
}

.wp_entry .step-smart div.contact small {
  color: #2f2f2f;
}

@media screen and (max-width: 560px) {
  .wp_entry .step-smart div.contact {
    margin-top: 15px;
    padding: 10px 15px;
    width: 100%;
  }

  .wp_entry .step-smart div.contact p {
    padding-left: 40px;
  }

  .wp_entry .step-smart div.contact p.tel::before,
  .wp_entry .step-smart div.contact p.fax::before {
    width: 27px;
    height: 17px;
  }

  .wp_entry .step-smart div.contact p .tel {
    text-decoration: underline;
  }
}

/* ローカルナビ
-------------------------------------------------- */
.lnav-rich {
  margin-top: 40px;
}

.simple-ttl+.lnav-rich {
  margin-top: 0;
}

.lnav-rich:has(+ .breadcrumbs) {
  margin-top: 80px !important;
}

.lnav-rich ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -5px;
}

.lnav-rich .lnav-rich-descendant {
  margin-bottom: 40px;
}

.lnav-rich ul li {
  text-indent: 0;
  padding: 5px;
  margin-bottom: 0;
}

.lnav-rich ul li::before {
  display: none;
}

.lnav-rich ul li a {
  display: flex;
  flex-direction: column;
  border: 1px solid #d7d7d7;
  border-radius: 5px;
  height: 100%;
  padding: 10px 50px 10px 20px;
  background: #fff;
  text-decoration: none;
  color: #2f2f2f;
  font-size: 0.857em;
  line-height: 1.86;
  transition: all .1s;
}

.lnav-rich ul li a i[class^='fa'] {
  color: inherit;
}

.lnav-rich ul li a.current {
  opacity: 0.5;
  pointer-events: none;
}

.lnav-rich ul li a::after {
  position: absolute;
  transform: translateY(-55%);
  top: calc(100% - 25px);
  right: 15px;
}

.lnav-rich ul li a:hover::after {
  color: #fff;
}

.lnav-rich ul li a strong {
  font-weight: 800;
  margin-bottom: 0;
  font-size: 1.143em;
  line-height: 1.7;
}

.lnav-rich ul li a strong+p {
  line-height: 1.4;
  margin-top: 10px;
}


@media screen and (max-width: 560px) {
  .lnav-rich {
    padding: 15px;
    /* margin-top: 60px; */
  }

  .lnav-rich:has(+ .breadcrumbs) {
    margin-top: 60px !important;
  }

  .lnav-rich ul {
    /* margin: -8px; */
    margin: 0;
  }

  .lnav-rich ul li {
    margin-bottom: 0;
    padding-bottom: 0;
    /* padding: 8px; */
  }

  .lnav-rich ul li a strong {
    margin-bottom: .5em;
  }
}

.lnav-rich.simple,
.index-page .lnav-rich {
  background-color: transparent;
  padding: 0;
}

.lnav-rich ul li a::after {
  transform: translateY(-50%);
  top: 50%;
}

.lnav-rich.alt ul li a {
  background-color: var(--main-color);
  color: #fff;
}

.lnav-rich.alt ul li a:hover,
.lnav-rich.alt ul li a:hover * {
  background-color: white;
  color: black;
}

.wp_entry .lnav-rich .lnav-rich-thumb {
  margin-top: -10px;
  margin-left: -20px;
  margin-right: -50px;
  margin-bottom: 12px;
}

.wp_entry .lnav-rich .lnav-rich-thumb img {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.lnav-rich ul .recruit-available a {
  background-color: var(--main-light-color);
}

.lnav-rich ul .recruit-available a:hover {
  background: var(--main-color);
  border-color: var(--main-color);
  color: #fff
}

.lnav-rich .recruit-not-available a {
  color: #888;
}




/* その他のナビ
-------------------------------------------------- */
.rel-nav ul li {
  text-indent: 0;
  padding: 0;
}

.rel-nav ul li+li {
  margin-top: 30px;
}

.rel-nav ul li::before {
  display: none;
}

.lnav-rich ul li a p {
  margin: 0;
}

.rel-nav ul li a {
  position: relative;
  display: block;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  padding: 20px;
  color: inherit;
  text-decoration: none;
  transition: all .1s;
  overflow: hidden;
}

.rel-nav ul li a::after {
  display: none;
}

.rel-nav ul li a>figure {
  float: left;
  margin-right: 40px;
}

.rel-nav ul li a>figure img {
  border-radius: 6px;
}

.rel-nav ul li a h2,
.rel-nav ul li a h3,
.rel-nav ul li a h4,
.rel-nav ul li a h5,
.rel-nav ul li a h6 {
  margin: 0 20px 0 .3em;
  padding: 0;
  border: none;
  background: none;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.75;
}

.rel-nav ul li a h2::before,
.rel-nav ul li a h3::before,
.rel-nav ul li a h4::before,
.rel-nav ul li a h5::before,
.rel-nav ul li a h6 {
  display: none;
}

.rel-nav ul li a>p {
  /* margin-right: 90px; */
  margin-bottom: 30px;
  margin-right: 20px;
  font-size: 0.857em;
}

.rel-nav ul li a>span {
  position: absolute;
  bottom: 35px;
  right: 40px;
  display: inline-flex;
  align-items: center;
  font-size: 0.857em;
}



.rel-nav ul li a>span::after {
  margin-left: 10px;
}

.rel-nav ul li a:hover img {
  opacity: 1;
}

.rel-nav.rel-nav-side ul li a {
  letter-spacing: 0.01em;
  padding: 5px;
}

.rel-nav.rel-nav-side ul li a>figure {
  width: 30%;
  margin-right: 10px;
}

.rel-nav.rel-nav-side ul li a>h3 {
  letter-spacing: 0.01em;
  font-size: 0.875em;
  line-height: 1.5;
}

.rel-nav.rel-nav-side ul li a>p {
  margin-right: 0;
}


@media screen and (max-width: 560px) {
  .rel-nav ul li+li {
    margin-top: 15px;
  }

  .rel-nav ul li a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 20px;
    padding-bottom: 45px;
  }

  .rel-nav ul li a>figure {
    float: none;
    width: calc(50% - 20px);
    margin-right: 20px;
  }

  .rel-nav ul li a h2,
  .rel-nav ul li a h3,
  .rel-nav ul li a h4,
  .rel-nav ul li a h5,
  .rel-nav ul li a h6 {
    margin: 0;
    font-size: 0.875em;
  }

  .rel-nav ul li a>p {
    width: 100%;
    margin: 15px 0 0;
  }

  .rel-nav ul li a>span {
    bottom: 18px;
    right: 20px;
  }

  .rel-nav ul li a>span::after {
    margin-left: 8px;
    width: 15px;
    height: 15px;
    background-size: 4px;
  }
}

/* NEXT
-------------------------------------------------- */
.wp_entry .next-nav {
  display: flex;
  align-items: center;
  border: 1px solid #aaa;
  padding: 25px 30px;
  padding-top: 10px;
  padding-bottom: 10px;
  color: inherit;
  text-decoration: none;
  background-color: #fff;
}

.wp_entry .next-nav h2,
.wp_entry .next-nav h3,
.wp_entry .next-nav h4,
.wp_entry .next-nav h5,
.wp_entry .next-nav h6 {
  margin: 0;
  padding: 0 85px 0 0;
  background: none;
  border: none;
  color: #000;
  font-size: 1em;
  line-height: 1.55;
  box-shadow: none;
}

.wp_entry .next-nav>span {
  display: flex;
  align-items: center;
  margin-right: 50px;
  font-size: 0.857em;
  font-weight: bold;
}

.wp_entry .next-nav>span::before {
  display: inline-block;
  margin-right: 15px;
  width: 8px;
  height: 8px;
  content: "";
  background: #ccc;
  border-radius: 50%;
}

.wp_entry .next-nav-rev>span::before {
  display: none;
}

.wp_entry .next-nav-rev>span::after {
  margin-right: unset;
  margin-left: 15px;
  background: #ccc;
  border-radius: 50%;
}

.wp_entry .next-nav::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 80px;
  content: "";
  background: #aaa;
}

.wp_entry .next-nav-rev::before {
  color: #fff;
  display: block;
  left: 0;
}

.wp_entry .next-nav::after {
  position: absolute;
  top: 50%;
  transform: translateY(-55%);
  right: 30px;
  background-color: #fff;
  color: var(--main-color);
}

.wp_entry .next-nav:hover::after {
  color: #fff;
}

.wp_entry .next-nav.next-nav-rev h2,
.wp_entry .next-nav.next-nav-rev h3,
.wp_entry .next-nav.next-nav-rev h4,
.wp_entry .next-nav.next-nav-rev h5,
.wp_entry .next-nav.next-nav-rev h6 {
  padding: 0 0 0 85px;
}

.wp_entry .next-nav.next-nav-rev::before {
  right: auto;
  left: 0;
}

.wp_entry .next-nav.next-nav-rev::after {
  right: auto;
  left: 26px;
  top: calc(50% - 9px);
  transform: rotate(180deg);
}

.wp_entry .next-nav.next-nav-rev:hover::after {
  transform: rotate(180deg);
}

.wp_entry .next-nav.lanv-next-nav {
  /* border-color: #d7d7d7; */
  border-radius: 5px;
  font-size: 0.857em;
}

.wp_entry .next-nav.lanv-next-nav h2,
.wp_entry .next-nav.lanv-next-nav h3,
.wp_entry .next-nav.lanv-next-nav h4,
.wp_entry .next-nav.lanv-next-nav h5,
.wp_entry .next-nav.lanv-next-nav h6 {
  padding-left: 70px;
  font-size: 1.143em;
  font-weight: bold;
}

@media screen and (max-width: 560px) {
  .wp_entry .next-nav {
    padding: 10px 15px;
  }

  .wp_entry .next-nav h2,
  .wp_entry .next-nav h3,
  .wp_entry .next-nav h4,
  .wp_entry .next-nav h5,
  .wp_entry .next-nav h6 {
    padding-right: 40px;
    font-size: 0.875em;
  }

  .wp_entry .next-nav::before {
    width: 35px;
  }

  .wp_entry .next-nav::after {
    right: 11px;
    background-size: 4px;
  }

  .wp_entry .next-nav.next-nav-rev h2,
  .wp_entry .next-nav.next-nav-rev h3,
  .wp_entry .next-nav.next-nav-rev h4,
  .wp_entry .next-nav.next-nav-rev h5,
  .wp_entry .next-nav.next-nav-rev h6 {
    padding: 0 0 0 40px;
  }

  .wp_entry .next-nav.next-nav-rev::after {
    right: auto;
    left: 8px;
    top: 37%;
  }

  .wp_entry .next-nav.next-nav-rev::after {
    width: 15px;
    height: 15px;
    background-size: 4px;
  }

  .wp_entry .next-nav>span {
    margin-right: 1.5em;
  }

  .wp_entry .next-nav>span::before {
    display: none;
  }
}


.wp_entry .news-list li {
  padding: 10px 0;
  border-bottom: 1px solid #ddd;
  text-indent: 0;
}

.wp_entry .news-list li:first-child {
  border-top: 1px solid #ddd;
}

.wp_entry .news-list li::before {
  display: none;
}

.wp_entry .news-list li a {
  color: #000;
}

.wp_entry .news-list p {
  display: inline;
}

.wp_entry .news-list .date {
  width: 6em;
  display: inline-block;
}

.wp_entry .news-list .category {
  display: inline-block;
  /* width: 6em; */
}

.wp_entry .news-list a.title {
  color: #000;
}


@media (max-width: 768px) {
  .wp_entry .news-list .title {
    display: block;
  }

  .wp_entry .news-list .category {
    width: unset;
  }

  .wp_entry .news-list .text {
    display: block;
  }

}

.wp_entry .news-list .news-list-date {
  display: inline-block;
  color: var(--main-color);
}

.wp_entry .news-list .news-list-title {
  display: inline-block;
}

body.recruit .wp_entry .news-list .category {
  display: none;
}


@media (max-width: 768px) {
  .scroller {
    overflow: auto;
  }

  .swipeable {
    width: 1200px;
  }
}


.sm-ttl {
  position: relative;
  padding: 1rem 2rem;
  color: #0080cc;
  /*border-radius: 0 10px 10px 10px;*/
  background: #d8ecf5;
}

.sm-ttl:before {
  text-align: center;
  /*font-family: 'Font Awesome 5 Free';*/
  font-size: 0.938em;
  /* font-size: 1.5rem; */
  position: absolute;
  content: 'POINT';
  top: -24px;
  left: 0;
  height: 21px;
  padding: 3px 1em 0;
  color: #fff;
  border-radius: 5px 5px 0 0;
  background: #0080cc;
}

.sm-ttl.sm-ttl-pdf-download:before {
  content: 'PDFダウンロード';
}

/* DPC
-------------------------------------------------- */
.wp_entry .out_link {
  margin-bottom: 10px;
}

.wp_entry ol.contents li {
  margin-bottom: 5px;
}

.wp_entry div.comment {
  line-height: 1.8;
  padding: 20px;
  background: #efefef;
  margin: 20px auto 20px;
}

.wp_entry .template-table {
  font-size: 0.875em;
  margin-bottom: 10px;
}

.wp_entry .template-table th,
.wp_entry .template-table td {
  padding: 6px 4px;
  min-width: 6em;
}

.wp_entry .template-table td:nth-of-type(1) {
  white-space: nowrap;
}

.btn_video_play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.wp_entry .breadcrumbs {
  margin-top: 30px;
  line-height: 2;
  font-size: 0.875em;

}

@media screen and (max-width: 560px) {
  .wp_entry .breadcrumbs {
    margin-top: 40px;
  }

  .wp_entry .breadcrumbs .breadcrumbs-inner {
    /* height: 28px; */
    overflow-x: scroll;
    overflow-scrolling: touch;
    word-break: keep-all;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .wp_entry .breadcrumbs .breadcrumbs-inner::-webkit-scrollbar {
    display: none;
  }
}

.single-blog #header .secondary,
.post-type-archive-blog #header .secondary {
  display: none !important;
}

.post-type-archive-blog .alignright .post-type-archive-blog .alignleft {
  float: unset !important;
}


.at-below-post.addthis_tool {
  margin-top: 40px;
}

.table-dialysis-schedule td {
  text-align: center;
}





.mfp-wrap .mfp-content .text {
  margin-top: 10px;
}

.mfp-wrap .mfp-content .text dd {
  margin-top: 5px;
  font-size: 0.8em;
}

/* popup */
.mfp-wrap .mfp-container .mfp-content {
  width: 660px;
  padding: 30px;
  background: #fff;
}

.mfp-wrap .mfp-content img {
  max-width: 100%;
  height: auto;
}

.popup_close {
  position: absolute;
  top: 0px;
  right: 10px;
  font-size: 2em;
  line-height: 1;
  display: none;
}

@media screen and (max-width: 640px) {

  /* popup */
  .mfp-wrap .mfp-container .mfp-content {
    width: auto;
    padding: 10px;
  }

  .mfp-arrow-left {
    left: -12px;
  }

  .mfp-arrow-right {
    right: -12px;
  }
}





/* 一部表示させておくアコーディオン
-------------------------------------------------- */
.halfhide_wrap {
  position: relative;
  padding-bottom: 50px;
  margin-bottom: 20px;
}

.ac_content_halfhide:has(h2:first-child) {
  margin-top: 60px;
}

.ac_content_halfhide {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-height: 200px;
  transition: all 0.6s;
}

.ac_content_halfhide.active {
  max-height: 5000px;
}

.ac_content_halfhide::after {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  content: "";
  height: 149px;
  background: url(../img/parts/bg_falfhide.png) repeat-x;
  background-size: 100% 149px;
}

.ac_content_halfhide.active::after {
  height: 1px;
}

.halfhide_wrap .disp_all {
  position: absolute;
  z-index: 10;
  bottom: 0px;
  width: 100%;
  text-align: center;
}

.ac_btn_halfhide {
  padding: 7px 30px;
  background-color: var(--main-color);
  border-radius: 6px;
  color: #fff !important;
}

.ac_btn_halfhide span {
  display: inline-block;
  padding-left: 25px;
  background: url(../img/parts/mrk_open.png) no-repeat 0 50%;
}

.ac_btn_halfhide span::after {
  content: "すべて表示する";
}

.ac_btn_halfhide.active {
  background-color: #787878;
}

.ac_btn_halfhide.active span {
  background: url(../img/parts/mrk_close.png) no-repeat 0 50%;
}

.ac_btn_halfhide.active span::after {
  content: "閉じる";
}

.wp_entry .pnav .is-active {
  color: white;
  background-color: #436616;
  background-image: url("../img/parts/mrk_nav_anchor.png");
}

.is-hide {
  display: none !important;
}



.search-results {
  min-height: 600px;
}


/* ----------------------------------------------------- */
.box-006 {
  display: flex;
  grid-gap: 0 .7em;
  margin: 0 auto;
  padding: 1em;
  border-radius: 5px;
  background-color: #fff9e5;
  color: #333333;
}

.box-006 p {
  margin: 0;
  padding: 0 0 0 .7em;
  border-left: 1px solid #ffb36b;
}

.box-008 {
  display: flex;
  grid-gap: 0 .7em;
  margin: 0 auto;
  padding: 1em;
  border-radius: 5px;
  background-color: #ecffe9;
  color: #333333;
}

.box-008 p {
  margin: 0;
  padding: 0 0 0 .7em;
  border-left: 1px solid #86d67c;
}

.box-004 {
  display: flex;
  grid-gap: 0 .7em;
  margin: 0 auto;
  padding: 1em;
  border-radius: 5px;
  background-color: #ffebee;
  color: #333333;
}

.box-004 p {
  margin: 0;
  padding: 0 0 0 .7em;
  border-left: 1px solid #f06060;
}


.box-007 {
  margin: 1em auto 0;
  border: 2px solid #ffb36b;
  border-radius: 5px;
  color: #333333;
}

.box-007>div:first-child {
  display: inline-flex;
  align-items: center;
  position: relative;
  top: -13px;
  left: 10px;
  margin: 0 7px;
  padding: 0 8px;
  background: #fff;
  color: var(--main-color);
  font-weight: 600;
  vertical-align: top;
}

.box-007 svg {
  padding-right: 4px;
}

.box-007> :is(p, *:nth-child(2)) {
  margin: 0;
  padding: 0 1.5em 1em;
}

/* ----------------------------------------------------- */

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* ----------------------------------------------------- */

.wp_entry .slick-dots li {
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
  text-indent: unset;
}

.slick-dots li::before {
  display: none;
}

.bg-m,
.bg-main-color {
  background-color: var(--main-color) !important;
}

.bg-d,
.bg-dark-color {
  background-color: var(--main-dark-color) !important;
}

.bg-l,
.bg-light-color {
  background-color: var(--main-light-color) !important;
}

.bg-sd,
.bg-sub-dark-color {
  background-color: var(--sub-dark-color) !important;
}

.bg-sl,
.bg-sub-light-color {
  background-color: var(--sub-light-color) !important;
}

.bg-n,
.bg-notice-color {
  background-color: var(--main-text-notice-color) !important;
}

.bg-light-gray {
  background-color: var(--light-gray-color) !important;
}

.wp_entry :is(sup, sub) {
  font-size: .75em;
}

.wp_entry .timeline-smart {
  margin-left: 10px;
  border-left: 4px dotted #ccc;
}

.wp_entry .timeline-smart>li {
  text-indent: 0;
  position: relative;
  margin: 1.5em 0 1.5em 30px;
  padding: 15px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  background: #FFF;
  border: solid 1px #aaa;
  border-radius: 5px;
  box-sizing: border-box;
}

.wp_entry .timeline-smart>li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -44px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 3px solid #000;
  background-color: #fff
}

.wp_entry .timeline-smart>li>div {
  display: block;
}

.wp_entry .timeline-smart>li>div::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #FFF;
  z-index: 2;
}

.wp_entry .timeline-smart>li>div::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -28px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-right: 14px solid #aaa;
  z-index: 1;
}

.wp_entry .timeline-smart .tl-ttl {
  font-size: 1.125em;
  background-color: #666;
  color: #fff;
  padding-left: .5em;
  padding-right: .5em;
}

.wp_entry .timeline-smart .simple-ttl {
  display: block;
  font-size: 1.125em;
  margin-bottom: 0;
}

.wp_entry .timeline-smart .simple-ttl:has(+*) {
  margin-bottom: 15px;
}

.wp_entry .timeline-smart .simple-ttl .label {
  margin-right: 1em;
}

.wp_entry .timeline-smart .tl-content {
  margin-top: 15px;
}

@media (max-width: 768px) {

  .wp_entry .timeline-smart>li::before,
  .wp_entry .timeline-smart>li>div::before,
  .wp_entry .timeline-smart>li>div::after {
    top: 25px;
  }

  .wp_entry .timeline-smart .simple-ttl .label {
    display: block;
    margin-right: 0;
  }
}

.wp_entry .img-nav {
  position: relative;
  display: block;
}

.wp_entry .img-nav>span {
  padding: 10px;
  position: absolute;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  bottom: 0;
  color: white;
}

.wp_entry .img-nav::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  /* mix-blend-mode: multiply; */
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
  height: 30%;
  bottom: 0;
}

.wp_entry .img-nav::after {
  display: none;
}



.layer-layout {
  position: relative;
}

.layer-layout .ll-box-2 {
  padding: 40px;
  background: rgba(255, 255, 255, 0.75);
  position: absolute;
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 560px) {
  .layer-layout {
    position: static;
  }

  .layer-layout .ll-box-2 {
    padding: 0;
    background: rgba(255, 255, 255, 0.75);
    position: static;
    right: unset;
    bottom: unset;
  }
}

[class^="box"]+ul,
ul+[class^="box"] {
  margin-top: 30px;
}

@keyframes bg-alert-color {
  0% {
    background-color: #e74c3c;
  }

  50% {
    background-color: orange;
  }

  100% {
    background-color: #e74c3c;
  }
}

.lnav-rich .bg-alert {
  background-color: #e74c3c;
  animation: bg-alert-color 2s infinite;
}

.lnav-rich a.bg-alert:hover {
  animation: none;
}



.wp_entry .cc {
  border-radius: 100%;
  padding: 16px;
  background: #aaa;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.wp_entry .cc::before {
  display: block;
  content: '';
  padding-top: 100%;
}

.wp_entry .cc {
  border-radius: 100%;
  padding: 16px;
  background: #aaa;
  display: flex;
  justify-content: center;
  align-items: center;
}

.wp_entry .cc::before {
  display: block;
  content: '';
  padding-top: 100%;
}

.wp_entry .h1-bg-img {
  background: url(../img/h1-bg.jpg) no-repeat center center / cover;
  margin: 0 calc(50% - 50vw);
  height: 300px;
}

.wp_entry .h1-bg-img div {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.wp_entry .h1-bg-img h1 {
  background-color: transparent;
  background-image: unset;
  margin: 0;
  padding: 10px 40px;
  display: inline-block;
  width: auto;
  color: #fff;
  background-image: linear-gradient(to right, var(--main-color) 0%, var(--sub-light-color) 100%);
  opacity: .9;
}

.wp_entry .h1-bg-img h1:not([data-en])::before {
  display: none;
}

@media screen and (max-width: 560px) {
  .wp_entry .h1-bg-img {
    height: 200px;
  }

  .wp_entry .h1-bg-img h1 {
    text-align: center;
  }
}


/*
  重要なお知らせ
----------------------------------------------- */
.important_information {
  padding-left: calc(50% - 600px);
  padding-right: calc(50% - 600px);
  background-color: #ddd;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 1040px) {
  .important_information {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.important_information .ttl {
  display: flex;
  border-left: none;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 55px;
  margin-top: 0;
  margin-bottom: 0;
  padding-right: 15px;
  padding-left: 0;
  border-radius: 50px;
  background-color: #bbb;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  background-image: none;
}

.important_information .ttl::before {
  content: url("../img/ico-important.png");
  transform: scale(0.5);
}

.important_information ul {
  width: calc(100% - 200px);
  padding: 30px 0;
  padding-left: 70px;
}

.important_information ul li {
  display: flex;
  padding-left: 0;
  text-indent: 0;
}

.important_information ul li+li {
  margin-top: 10px;
}

.important_information ul .date {
  margin-right: 2em;
  color: #7c7c7c;
}

.important_information ul .title a {
  color: #000;
}

.important_information ul li::before {
  display: none;
}

.subpage .important_information {
  margin: 0 calc(50% - 50vw);
  padding: 4px calc(50vw - 50% + 8px);
  width: 100vw;
  width: 100cqw;
}

@media (max-width: 960px) {
  .important_information {
    align-items: flex-start;
    flex-direction: column;
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .important_information .ttl {
    border-radius: 0 0 15px 0;
    justify-content: start;
    padding: 10px;
    height: 26px;
    width: 180px;
    margin-left: -15px;
    margin-bottom: 10px;
  }

  .important_information .ttl::before {
    transform: scale(0.35);
    margin-right: -5px;
  }

  .important_information ul {
    width: 100%;
    padding: 0;
  }

  :root .important_information ul li {
    flex-direction: column;
    padding-left: 0;
    text-indent: 0;
  }

  .important_information ul .date {
    line-height: 1;
    margin: 0 0 .3em;
  }

  .subpage .important_information {
    padding: 0 15px 15px 15px;
  }
}

.slide .slick-slide {
  margin-right: 1vw !important;
  margin-left: 1vw !important;
}

.slide-box-bnr .slick-dots {
  margin-top: 20px;
  margin-bottom: 20px;
  position: static;
}

.slide-box-bnr .slick-dots li button {
  background-color: #bbb;
}

.slide-box-bnr .slick-dots li.slick-active button {
  background-color: black;
}

.slide-box-bnr .slick-slide img {
  transform: scale(.9);
  transition: transform .3s;
}

.slide-box-bnr .slick-slide.slick-center img {
  transform: scale(1);
}