@charset "UTF-8";

:root {
  --light-gray-color: #f9f9fa;
}

.metatxt {
  background-color: #666;
  padding: .1em 1em;
  color: #fff !important;
}

/* ------------------------------------------------------ */
.subpage {
  letter-spacing: 0;
}

.subpage #contents {
  width: 1200px;
  min-height: 1000px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
  .subpage #contents {
    width: 100%;
    padding: 0 10px;
  }
}

@media screen and (max-width: 768px) {
  .subpage #contents {
    margin-top: 80px;
    width: 100%;
    padding: 0 20px;
  }
}

.subpage .container {
  padding: 0;
}

.content-body {
  margin-top: 30px;
  padding-bottom: 60px;
  min-height: 50vh;
}

@media screen and (max-width: 768px) {
  .content-body {
    padding-bottom: 30px;
  }
}

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

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

////////////////////////////////////////////////// */
.wp_entry a {
  font-size: unset;
}

.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 h2,
.wp_entry h3,
.wp_entry h4,
.wp_entry h5,
.wp_entry h6 {
  /* font-weight: 700; */
}

.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;
}

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

h4:has(> i)::before,
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;
  }
}

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

h2.ttl-01 {
  border-left: none;
  position: relative;
  padding: 10px 20px calc(10px + 10px);
  background: #fff100;
}

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

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

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

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

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;
}


/* <h2><i class="far fa-lightbulb"></i><span>CSS見出しデザイン</span></h2> */
h2.ttl-03 {
  border-left: none;
  border-left-color: unset;
  position: relative;
  padding: 15px;
  text-align: center;
  border: 2px solid #000;
  background: #fff;
}

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

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

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

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;
}

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

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

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

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

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

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%);
}





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

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

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

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

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


/* <h2><span>01</span>CSS見出しデザイン</h2> */
h2.ttl-08 {
  color: white;
  border-left: none;
  padding-right: .5em;
}

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

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;
}

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

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


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

/* .wp_entry [class*="__col"] > p:first-child,
.wp_entry [class*="__col"] > h2:first-child,
.wp_entry [class*="__col"] > h3:first-child,
.wp_entry [class*="__col"] > h4:first-child,
.wp_entry [class*="__col"] > h5:first-child,
.wp_entry [class*="section-"]>h2:first-child,
.wp_entry [class*="section-"]>h3:first-child
{ 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,
.qa > dt::after,
.elastic > dt::after,
.pnav ul li a::after,
.wp_entry .next-nav.next-nav-rev::after,
.wp_entry .next-nav::after,
.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,
.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);
  flex-shrink: 0;
}

.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;
}

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

.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:first-child{
  text-indent: 0;
}

.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 ul li.check::before,
.wp_entry ul.check li::before {
  color: inherit;
  font-family: "Font Awesome 5 Free";
  content: "\f00c";
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  font-weight: 900;
  color: #22ac38;
}
.wp_entry ol ul > li{
  list-style-type: none;
  margin-left: 0;
}



.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;
  }

  .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;
}

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

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

.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;
}

.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;
}

.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;
}

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

.dr_roster_sect_inner_reserve::before,
.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;
}

.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;
}

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

.slider-rosters .slider-rosters-prev,
.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 .table-dr-roster {width: 910px;}*/
  /*.wp_entry .table-dr-roster th,
  .wp_entry .table-dr-roster td { width: 130px;}*/
  .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;
  }
}

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

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

.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: 40px;
}

@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;
}

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

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

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

.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;
}

.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;
}

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

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

.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) {

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

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


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

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

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

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

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

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

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

.pnav ul li a {
  position: relative;
}

.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;
}

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

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

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


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

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

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

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

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



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

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

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

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

.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;
}

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

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

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

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

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

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

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

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

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

[class*='box0']>h4,
[class*='box0']>h5 {
  margin: 10px 0 20px;
  background: none !important;
  /* border: none; */
  /* padding: 0; */
  font-size: 1.125em;
  font-weight: bold;
  /* text-align: center; */
  line-height: 1.3;
}

[class*='box0'] h4:before {
  display: none;
}

.flex [class^='__col'] [class*='box0']:only-child {
  height: 100%;
}


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

  [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;
}

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

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

.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) {
  .btn_download {
    min-width: 260px;
    height: 50px;
  }

  .btn_download i {
    width: 18px;
  }
}

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

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

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

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


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

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

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

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

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

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

.doctor01 h4,
.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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .doctor01 th,
  .doctor01 td,
  .doctor02 th,
  .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;
}

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

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

#cboxContent .section-doctor-inner {
  width: 100%;
}

#cboxContent .dr-prof-more {
  display: none;
}

#cboxContent .dr-prof-message.hidden-sp {
  display: block;
}

#cboxContent .dr-prof-license,
#cboxContent .dr-prof-society {
  display: table-row;
}

#cboxContent .doctor {
  flex-direction: column;
}

#cboxContent .doctor>div {
  width: 100%;
}

.section-roster {
  display: none;
}

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

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

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

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

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

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

.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;
  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: 500;
  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
-------------------------------------------------- */
.qa > dt,
.qa > dd,
.elastic > dt,
.elastic > dd {
  position: relative;
  padding: 15px;
  padding-left: 25px;
  line-height: 1.8;
}

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

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

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

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

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

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

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

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

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

.elastic.alt > :is(dt, dd) {
  background-color: transparent;
  border-left: none;
  border-bottom: 1px solid #9d9d9d;
  margin: 0;
}

.elastic.alt > dt {
  gap: 12px;
  font-size: 1.25em;
  font-weight: 700;
  padding-left: 0;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}

.elastic.alt > dt::after {
  font-size: .8em;
  top: 7px;
}

.elastic.alt > dt:first-child {
  border-top: 1px solid #666;
}

.elastic.alt > dt::before,
.elastic.alt > dd::before {
  display: none;
}




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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

.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;
}

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

.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%;
}

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

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

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

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

  .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) {
  .lnav ul {
    margin: -10px -5px 0;
  }

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

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

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

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

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

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

.lnav01 ul li h1,
.lnav01 ul li h2,
.lnav01 ul li h3,
.lnav01 ul li h4,
.lnav01 ul li h5,
.lnav01 ul li h6,
.lnav02 ul li h1,
.lnav02 ul li h2,
.lnav02 ul li h3,
.lnav02 ul li h4,
.lnav02 ul li h5,
.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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.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;
}


/*-------------*/
.privacy_box {
  width: 100%;
  height: 280px;
  border: 1px solid #c2c2c2;
  overflow-y: scroll;
  padding: 50px;
  margin-bottom: 50px;
}

.privacy_box .in {
  margin-left: 20px;
  margin-right: 20px;
}

.privacy_box .frame01 {
  border: 1px solid #d2d2d2;
  padding: 15px 20px;
  margin-bottom: 30px;
}

.privacy_text p,
.privacy_text ul {
  margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
  .form_block th {
    width: 100%;
  }

  .privacy_box {
    padding: 15px;
  }
}

#wp-calendar a::after {
  display: none;
}

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

.layout01 {
  position: relative;
}

.layout01 .fig {
  width: 50%;
  position: relative;
}

.layout01 .fig::after {
  content: " ";
  position: absolute;
  right: -30px;
  bottom: -30px;
  width: 100%;
  height: 100%;
  background-color: var(--sub-light-color);
  z-index: -1;
}

.layout01 .box-text {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 60%;
  padding: 30px;
  background-color: white;
  box-shadow: 0 0 15px #ececec;
  z-index: 9;
}

@media screen and (max-width: 640px) {
  .layout01 {
    position: relative;
  }

  .layout01 .fig {
    width: 85%;
    position: static;
  }

  .layout01 .box-text {
    top: unset;
    width: 80%;
    margin-right: auto;
    margin-left: 0;
    transform: translateY(-20px);
  }
}

.layout01.rev .fig {
  margin-left: 50%;
}

.layout01.rev .box-text {
  left: 0;
  right: unset;
}

@media screen and (max-width: 640px) {
  .layout01.rev .box-text {
    margin-right: 20%;
    margin-left: auto;
    transform: translateY(-20px);
    width: 80%;
  }

  .layout01.rev .fig {
    margin-left: 15%;
    width: 85%;
  }
}



/*
  ホームページ内検索
----------------------------------------------- */
#search_site {
  max-width: 1000px;
  margin: 40px auto;
  background: #f7f7f7;
  padding: 15px 50px;
}

#search_site form {
  display: flex;
}

#search_site input[type="text"] {
  -webkit-appearance: none;
  background: #fff;
  border: 1px solid #d9d9d9;
  border-right: none;
  border-radius: 2px 0 0 2px;
  width: 75%;
  height: 55px;
  padding: 10px 20px;
}

#search_site input[type="text"]::-webkit-input-placeholder {
  color: #b0b0b0;
}

#search_site input[type="text"]:-ms-input-placeholder {
  color: #b0b0b0;
}

#search_site input[type="text"]::-ms-input-placeholder {
  color: #b0b0b0;
}

#search_site input[type="text"]::placeholder {
  color: #b0b0b0;
}

#search_site .submit {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #013d95;
  width: 25%;
  height: 55px;
  border-radius: 0 2px 2px 0;
  color: #fff;
}

#search_site .submit::after {
  display: inline-block;
  content: url(../img/ico-search-w.png);
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
  -webkit-transform-origin: center;
  transform-origin: center;
}

#search_site .submit:hover {
  opacity: .8;
}

@media (max-width: 960px) {
  #search_site {
    margin: 30px 20px;
    padding: 10px;
  }

  #search_site input[type="text"] {
    height: 45px;
  }

  #search_site .submit {
    height: 45px;
  }

  #search_site .submit::after {
    -webkit-transform: scale(0.35);
    transform: scale(0.35);
    -webkit-transform-origin: right center;
    transform-origin: right center;
    margin: 0 -15px;
  }
}

.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> :is(p, div) {
  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> :is(p, div) {
  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> :is(p, div) {
  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;
  color: inherit;
}

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

.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: 5px;
}

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

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

@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;
  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: 16rem;
  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);
}