/*既存CSSに追加調整*/
.card01>li h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  /* 3行まで表示 */
  overflow: hidden;
  text-overflow: ellipsis;
  height: 4.5em;
}

/*
.tit03 span:nth-of-type(1) {
   font-stretch: condensed;
  transform: scaleX(0.85) translateX(-8.5%);
}
*/
/*新規*/
/*ページネーション*/

.p-pagenation {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  margin: 32px 0 64px;
}

.p-pagenation__btn {
  width: 32px;
  height: 32px;
  border: 1px solid #4F4F4F;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  color: #4F4F4F;
  font-feature-settings: 'palt' on;
  font-family: 'DIN 2014', 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  padding: 0;
  transition: box-shadow 0.2s, background 0.2s, color 0.2s, opacity 0.3s;
  border-radius: 50%;
  overflow: hidden;
}

.p-pagenation__btn:focus {
  outline: 2px solid #D22625;
}

.p-pagenation__btn:hover {
  opacity: .75;
}

.p-pagenation__btn--current {
  background: #4F4F4F;
  color: #fff;
  border: none;
}

.p-pagenation__btn--prev,
.p-pagenation__btn--next {
  border: none;
  background: none;
  position: relative;
}

.p-pagenation__btn--prev::before,
.p-pagenation__btn--next::before {
  content: '';
  display: block;
  width: 32px;
  height: 32px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 32px 32px;
}

.p-pagenation__btn--prev::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'><circle cx='16' cy='16' r='16' fill='%23D22625'/><path d='M18.4 22.4L12 16L18.4 22.4ZM12 16L18.4 9.59998L12 16Z' fill='%23D22625'/><path d='M18.4 22.4L12 16L18.4 9.59998' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

.p-pagenation__btn--next::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32' fill='none'><circle cx='16' cy='16' r='16' transform='matrix(-1 0 0 1 32 0)' fill='%23D22625'/><path d='M13.6 22.4L20 16L13.6 22.4ZM20 16L13.6 9.59998L20 16Z' fill='%23D22625'/><path d='M13.6 22.4L20 16L13.6 9.59998' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

.p-pagenation__btn--prev,
.p-pagenation__btn--next {
  color: transparent;
}

.p-pagenation__btn--prev:focus,
.p-pagenation__btn--next:focus {
  outline: 2px solid #D22625;
}

.p-pagenation__ellipsis {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  color: #4F4F4F;
  font-size: 20px;
  user-select: none;
  pointer-events: none;
}

@media (max-width: 640px) {
  .p-pagenation {
    gap: 4px;
    margin: 20px 0;
  }

  .p-pagenation__btn,
  .p-pagenation__btn--prev::before,
  .p-pagenation__btn--next::before {
    width: 28px;
    height: 28px;
    min-width: 28px;
    min-height: 28px;
    font-size: 14px;
  }

  .p-pagenation__btn {
    font-size: 14px;
  }

  .p-pagenation__ellipsis {
    width: 28px;
    height: 28px;
    font-size: 16px;
  }
}

/*個別ページ*/
.p-single-content#base_sec {
  padding: 40px 24px 40px;
}

.p-single-content__inner {
  max-width: 930px;
  margin: 0 auto 40px;
}

.p-single-content h1 {
  display: flex;
  padding: 16px 8px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  align-self: stretch;
  border-bottom: 3px solid #D22625;
  color: #4F4F4F;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  margin: 0 0 16px;
}

@media (max-width: 960px) {
  .p-single-content#base_sec {
    padding: 24px 24px 32px;
  }

  .p-single-content h1 {
    font-size: 32px;
  }
}

@media (max-width: 640px) {
  .p-single-content h1 {
    font-size: 24px;
  }
}

.p-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 auto 28px;
}

.p-meta>h6 {
  order: 1;
}

.p-meta>h6>div {
  display: flex;
  padding: 5px 10px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 5px;
  color: #FFF;
  font-family: "Noto Sans JP";
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  
}

.p-meta>h6>div span.badge {
  background: none !important;
}

.p-meta>h6>div {
  background-color: #EF990E !important;
}

.p-meta>h6>div.type-kawaguchi {
  background-color: #ff4444 !important;
}

.p-meta>h6>div.type-isesaki {
  background-color: #222222 !important;
}

.p-meta>h6>div.type-hamamatsu {
  background-color: #4285F4 !important;
}

.p-meta>h6>div.type-regist {
  background-color: #00c851 !important;
}

.p-meta>h6>div.type-hamamatsu {
  background-color: #4285F4 !important;
}

.p-meta>h6>div.type-iizuka {
  background-color: #ffbb33 !important;
}

.p-meta>h6>div.type-sanyo {
  background-color: #ff6d00 !important;
}

.p-meta>span {
  order: 2;
  color: #4F4F4F;
  font-family: "Noto Sans JP";
  font-size: 17.5px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}

.p-meta>span>i {
  padding-right: 4px;
}

.p-single-content .content_box {
  display: flex;
  max-width: 925px;
  padding: 32px 32px 48px;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  border-radius: 16px;
  background: #FFF;
}

.p-single-content .content_box>section {
  width: 100%;
}

.p-single-content h2 {
  width: 100%;
  display: flex;
  padding: 12px 32px;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  background: #D22625;
  color: #FFF;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  margin: 0 auto 40px;
}

@media (max-width: 960px) {
  .p-single-content .content_box {
    padding: 24px 24px 32px;
  }

  .p-single-content h2 {
    font-size: 24px;
  }
}

@media (max-width: 640px) {
  .p-single-content h2 {
    font-size: 20px;
  }
}

.p-single-content .campaign_box {
  border-left: 5px solid #D22625;
  border-right: 5px solid #D22625;
  text-align: center;
  padding: 0 calc(30px + 16px);
  position: relative;
  margin: 0 0 40px;
}

.p-single-content .campaign_box::before,
.p-single-content .campaign_box::after {
  height: 5px;
  width: 100%;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  background-image: linear-gradient(to right,
      /* グラデーションの方向（左から右へ） */

      /* 左側の赤い部分 */
      #D22625 30px,

      /* 真ん中の透明な部分 */
      transparent 30px,
      transparent calc(100% - 30px),

      /* 右側の赤い部分 */
      #D22625 calc(100% - 30px));

  /* 念のため、背景色は透明に */
  background-color: transparent;

  /* グラデーションが繰り返し表示されるのを防ぐ */
  background-repeat: no-repeat;
}

.p-single-content .campaign_box::before {
  content: "";
  display: block;
  top: 0;
}

.p-single-content .campaign_box::after {
  content: "";
  display: block;
  bottom: 0;
}

.p-single-content .campaign_box h3 {
  display: inline-block;
  padding: 6px 24px;
  justify-content: center;
  align-items: center;
  gap: 24px;
  border-radius: 30px;
  background: #EF990E;
  color: #FFF;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  margin: 0 0 12px;
}

.p-single-content .campaign_box p {
  color: #4F4F4F;
  text-align: center;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  /* 18px */
}

.p-single-content .campaign_box p span {
  display: block;
  color: #4F4F4F;
  text-align: center;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;

}

.p-single-content .campaign_box p:nth-last-of-type(2) span {
  padding: 0 0 16px;
  margin: 0 0 16px;
  position: relative;
}

.p-single-content .campaign_box p:nth-last-of-type(2) span::after {
  content: "";
  display: block;
  width: 100px;
  height: 3px;
  background: #D22625;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}

@media (max-width: 960px) {
  .p-single-content .campaign_box {
    border-left: 3px solid #D22625;
    border-right: 3px solid #D22625;
    padding: 0 calc(24px + 16px);
    margin: 0 0 32px;
  }

  .p-single-content .campaign_box::before,
  .p-single-content .campaign_box::after {
    height: 3px;
    background-image: linear-gradient(to right,
        /* グラデーションの方向（左から右へ） */

        /* 左側の赤い部分 */
        #D22625 24px,

        /* 真ん中の透明な部分 */
        transparent 24px,
        transparent calc(100% - 24px),

        /* 右側の赤い部分 */
        #D22625 calc(100% - 24px));

    /* 念のため、背景色は透明に */
    background-color: transparent;

    /* グラデーションが繰り返し表示されるのを防ぐ */
    background-repeat: no-repeat;
  }


}

@media (max-width: 640px) {
  .p-single-content .campaign_box {
    padding: 0 calc(16px + 8px);
    margin: 0 0 24px;
  }

  .p-single-content .campaign_box::before,
  .p-single-content .campaign_box::after {
    background-image: linear-gradient(to right,
        /* グラデーションの方向（左から右へ） */

        /* 左側の赤い部分 */
        #D22625 16px,

        /* 真ん中の透明な部分 */
        transparent 16px,
        transparent calc(100% - 16px),

        /* 右側の赤い部分 */
        #D22625 calc(100% - 16px));

    /* 念のため、背景色は透明に */
    background-color: transparent;

    /* グラデーションが繰り返し表示されるのを防ぐ */
    background-repeat: no-repeat;
  }

  .p-single-content .campaign_box h3 {
    font-size: 14px;
    padding: 6px 8px;
  }

  .p-single-content .campaign_box p {
    font-size: 13px;
  }

  .p-single-content .campaign_box p span {
    font-size: 18px;
  }
}

.p-single-content .content_box section:nth-of-type(2) {
  max-width: 700px;
  margin: 0 auto;
}

.p-single-content h3 {
  display: flex;
  padding-bottom: 16px;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #D22625;
  color: #4F4F4F;
  font-feature-settings: 'palt' on;
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  margin: 0 0 16px;
}

@media (max-width: 640px) {
  .p-single-content h3 {
    font-size: 18px;
  }
}

.p-single-content p {
  color: #4F4F4F;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 190%;
  margin: 0 0 16px;
}

.p-single-content h4 {
  display: flex;
  padding: 8px 16px;
  align-items: center;
  gap: 8px;
  border-left: 3px solid #EF990E;
  color: #4F4F4F;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  margin: 40px 0 16px;
}

@media (max-width: 640px) {
  .p-single-content h4 {
    font-size: 16px;
  }
}

.p-single-content table {
  display: block;
  margin: 0 0 16px;
}

.p-single-content table tr {
  display: flex;
  width: 100%;
  padding: 8px 24px;
  align-items: center;
  gap: 101px;
  border-top: 0.5px solid #CCC;
}

.p-single-content table tr:nth-last-of-type(1) {
  border-bottom: 0.5px solid #CCC;
}

.p-single-content table th {
  width: 110px;
  color: #4F4F4F;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 190%;
  /* 26.6px */
}

.p-single-content table td {
  width: calc(100% - 110px - 125px);
  color: #4F4F4F;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 190%;
  /* 26.6px */
}

.p-single-content table td p {
  margin: 0;
}

@media (max-width: 640px) {

  .p-single-content table,
  .p-single-content table tbody {
    display: block;
    padding: 0;
  }

  .p-single-content table tr {
    padding: 8px 0;
    gap: 0;
  }

  .p-single-content table th {
    width: 100px;
  }

  .p-single-content table td {
    width: calc(100% - 100px);
  }
}

@media (max-width: 450px) {

  .p-single-content table th,
  .p-single-content table td,
  .p-single-content table tr {
    width: 100%;
    display: block;
    text-align: left;
  }
}

.p-single-content h5 {
  display: flex;
  padding: 8px 16px;
  align-items: center;
  gap: 8px;
  background: #F4F4F4;
  color: #4F4F4F;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%;
  margin: 40px 0 16px;
}


.p-single-content table a {
  overflow-wrap: break-word;
}

.p-single-content dt {
  display: flex;
  padding: 8px 16px;
  align-items: center;
  gap: 8px;
  background: #4F4F4F;
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  margin: 0 0 8px;
}

.p-single-content dd {
  color: #4F4F4F;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 190%;
  margin: 0 0 16px;
}

.p-single-content .btn_box {
  display: flex;
  max-width: 523px;
  margin: 40px auto;
  align-items: center;
}

.p-single-content .btn_box a {
  display: flex;
  width: 100%;
  padding: 16px 48px;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  background: #D22625;
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 21px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  position: relative;
}

.p-single-content .btn_box a::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 21px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.p-single-content .btn_box:not(.btn_box--external) a::after {
  width: 8px;
  height: 15px;
  background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="8" height="15" viewBox="0 0 8 15" fill="none"%3E%3Cpath d="M1 13.5L7 7.5L1 1.5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/%3E%3C/svg%3E');
  transform: translateY(-50%);
}

/* --externalクラスがある時のアイコン */
.p-single-content .btn_box--external a::after {
  width: 17px;
  height: 17px;
  background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17" fill="none"%3E%3Cpath fill-rule="evenodd" clip-rule="evenodd" d="M13.98 1.7L7.76985 7.91017C7.4053 8.27472 7.40477 8.86726 7.76991 9.2324C8.13431 9.59679 8.72704 9.59756 9.09214 9.23246L15.3 3.0246V5.10067C15.3 5.56875 15.6806 5.95 16.15 5.95C16.6185 5.95 17 5.56974 17 5.10067V0.849328C17 0.615401 16.905 0.40316 16.7513 0.249355C16.5973 0.0952872 16.3851 0 16.1507 0H11.8993C11.4313 0 11.05 0.380558 11.05 0.85C11.05 1.31849 11.4303 1.7 11.8993 1.7H13.98ZM17 10.2V6.15934V14.8813C17 16.0514 16.157 17 15.1157 17H1.88425C0.843608 17 0 16.0496 0 14.8813V2.11869C0 0.948569 0.843033 0 1.88425 0H10.9579H6.8C7.26944 0 7.65 0.380558 7.65 0.85C7.65 1.31944 7.26944 1.7 6.8 1.7H2.18403C1.91362 1.7 1.7 1.95388 1.7 2.26706V14.7329C1.7 15.0405 1.91671 15.3 2.18403 15.3H14.816C15.0864 15.3 15.3 15.0461 15.3 14.7329V10.2C15.3 9.73056 15.6806 9.35 16.15 9.35C16.6194 9.35 17 9.73056 17 10.2Z" fill="white"/%3E%3C/svg%3E');
  transform: translateY(-50%);
}

@media (max-width: 640px) {
  .p-single-content .btn_box a {
    font-size: 14px;
  }
}

.p-infobar {
  display: flex;
  width: 100%;
  padding: 8px 16px;
  justify-content: center;
  align-items: baseline;
  gap: 8px;
  border: 1px solid #4F4F4F;
  margin: 0 0 16px;
}

.p-infobar p {
  margin: 0;
}

.p-caution-box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid #FFBB32;
  margin: 40px 0 16px;
}

.p-caution-box h6 {
  display: flex;
  padding: 8px 16px;
  align-items: center;
  gap: 8px;
  background: #FFBB32;
  color: #4F4F4F;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%;
  width: 100%;
}

.p-caution-box div {
  display: block;
  padding: 12px 16px 16px 16px;
  align-items: center;
  gap: 8px;
  align-self: stretch;
}

.p-caution-box div p {
  color: #4F4F4F;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 190%;
}

.p-caution-box div p:nth-last-of-type(1) {
  margin: 0;
}

@media (max-width: 640px) {
  .p-caution-box div p {
    font-size: 12px;
    line-height: 1.5;
  }
}

.fv_pagetit-single {
  height: 400px;
  margin: 0 0 160px;
}

.fv_pagetit-single .thum-img {
  border-radius: 16px;
  border: 2px #fff solid;
  overflow: hidden;
  transform: translateY(0px);
  max-width: 930px;
  margin: 0 auto;
}

.fv_pagetit-single .thum-img img {
  width: 100%;
  height: auto;
}

@media (max-width: 960px) {
  .fv_pagetit-single {
    height: auto;
    margin: 0 0 16px;
  }
}

@media (max-width: 640px) {
  .p-single-content#base_sec {
    padding-top: 24px;
  }
}

.p-single-content figure img {
  width: 100%;
  height: auto;
}

.p-grya-box {
  display: flex;
  padding: 8px 16px;
  justify-content: center;
  align-items: baseline;
  gap: 8px;
  background: #F4F4F4;
}

.p-grya-box p {
  margin: 0;
  color: #4F4F4F;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  /* 22.4px */
}

.p-grya-box p a {
  color: #4F4F4F;
  font-family: "Noto Sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}