@charset "utf-8";
/* ==================================
背景動画
================================== */
/* Youtube埋め込み　*/
@media only screen and (max-width: 910px) {

 .l-aside-left,
 .l-aside-right {
  position: relative;
 }
}

.video-background {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 z-index: -10;
 overflow: hidden;
 pointer-events: none;
}

.video-background iframe {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 min-width: 115%;
 min-height: 115%;
 width: 100vw;
 height: 56.25vw;
 /* 100 * 9 / 16 */
}


@media (max-aspect-ratio: 16/9) {
 .video-background iframe {
  width: 177.78vh;
  /* 100 * 16 / 9 */
  height: 100vh;
 }
}

.video-background video {
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: center center;
}

/* ==================================
コンテンツ内ブログ記事一覧
================================== */

.content-news:not(.center-slider) {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}

.content-news:not(.center-slider) li {
 padding: 5px;
 min-width: 210px;
 max-width: 330px;
}

.content-news:not(.center-slider) li.columns01 {
 width: 100%;
}

.content-news:not(.center-slider) li.columns02 {
 width: calc(50% - 5px);
}

.content-news:not(.center-slider) li.columns03 {
 width: calc(33.333% - 5px);
}

.content-news li .blog-txt {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 align-items: center;
}

.content-news li .blog-txt time {
 font-size: 0.8rem;
 padding: 5px;
}

.content-news li .blog-txt .blog-cat {
 padding: 5px;
 font-size: 0.8rem;
}

.content-news li .blog-txt .blog-title02 {
 font-size: 0.9rem;
 padding: 5px;
}

.blog-thum img {
 width: 100%;
 aspect-ratio: 16 / 10;
 object-fit: cover;
 display: block;
 transform: translateZ(0);
}

.blog-txt {
 padding: 10px;
}

.blog-txt {
 display: var(--news_txt03) !important;
}

.blog-txt time,
.blog-txt .blog-cat {
 display: var(--news_txt02);
}

.blog-thum {
 display: var(--news_txt04);
}

.content-news li a {
 background: var(--news_bg);
 border-radius: var(--news_corner);
 box-shadow: var(--news_shadow);
 display: block;
 text-decoration: none;
 overflow: hidden;
}

.content-news li a time,
.content-news li a .blog-title02 {
 color: var(--news_color);
}

.content-news li a .blog-cat {
 color: var(--news_bg);
 background: var(--news_color);
}

.content-news:not(.center-slider) {
 container-type: inline-size;
}

.content-news:not(.center-slider) li.content_news_txt03 {
 min-width: unset;
}

.content-news:not(.center-slider) li.content_news_txt03 .blog-thum img {
 aspect-ratio: 1 / 1;
}

@container (width < 911px) {
 .content-news:not(.center-slider) :is(.content_news_txt01, .content_news_txt02) .blog-thum img {
  max-height: 100px;
 }
}

@media screen and (min-width: 911px) {
 @container (width < 220px) {
  .content-news:not(.center-slider) :is(.content_news_txt01, .content_news_txt02, .content_news_txt04) {
   min-width: unset;
  }

  .content-news:not(.center-slider) :is(.content_news_txt01, .content_news_txt02) .blog-thum img {
   max-height: 80px;
  }
 }
}

@media screen and (max-width: 910px) {
 @container (width > 660px) {
  .content-news:not(.center-slider) :is(.content_news_txt01, .content_news_txt02) a {
   display: flex;
   justify-content: space-between;
   align-items: center;
   max-height: 80px;
   text-decoration: none;
  }

  .content-news:not(.center-slider) :is(.content_news_txt01, .content_news_txt02) .blog-thum {
   width: 25%;
   flex-shrink: 0;
  }

  .content-news:not(.center-slider) :is(.content_news_txt01, .content_news_txt02) .blog-txt {
   width: 75%;
  }

  .content-news:not(.center-slider) :is(.content_news_txt01, .content_news_txt02) .blog-thum img {
   width: 100%;
   height: 100%;
   aspect-ratio: 1 / 1;
   object-fit: cover;
   display: block;
  }
 }
}

@container (width < 660px) {

 .content-news:not(.center-slider) li.columns01 a,
 .content-news:not(.center-slider) li.columns02 a,
 .content-news:not(.center-slider) li.columns03 a {
  min-height: 170px;
 }
}

@media (min-width: 911px) {

 .content-news:not(.center-slider) li.columns01 a,
 .content-news:not(.center-slider) li.columns02 a,
 .content-news:not(.center-slider) li.columns03 a {
  min-height: 170px;
 }
}

/* ==================================
サイドメニュー
================================== */
.side_menu {
 background-color: var(--lm-bgcolor);
}

.side_menu>ul>li>a {
 color: var(--lm-color, #222222);
 display: block;
 padding: 15px 0;
 text-align: center;
 transition: 0.5s;
}

@media only screen and (min-width: 768px) {
 @media (hover: hover) {
  .side_menu>ul>li>a:hover {
   color: var(--lm-bgcolor, rgba(255, 255, 255, 0.8));
   background-color: var(--lm-color);
   transition: 0.5s;
   opacity: 1;
  }
 }

 .side_menu>ul>li.current-page>a {
  color: var(--lm-bgcolor, rgba(255, 255, 255, 0.8));
  background-color: var(--lm-color);
  transition: 0.5s;
  opacity: 1;
 }
}

@media only screen and (max-width: 767px) {
 .side_menu a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  outline: none;
 }

 .side_menu a:focus,
 .side_menu a:active {
  background-color: transparent !important;
  color: inherit !important;
 }
}

.side_menu>ul {
 display: flex;
 flex-wrap: wrap;
 justify-content: flex-start;
}

.side_menu>ul>li {
 width: calc(25% - 6px);
 margin: 3px;
}

.side_menu>ul {
 container-type: inline-size;
}

@container (width < 481px) {
 .side_menu>ul>li {
  width: calc(50% - 6px);
 }
}

@container (width < 360px) {
 .side_menu>ul>li {
  margin: 3px auto;
  width: 75%;
 }
}

@media (min-width: 911px) {
 .menu-position-bt {
  position: absolute;
  bottom: 80px;
 }
}

@media (max-width: 910px) {
 .menu-position-bt {
  position: absolute;
  bottom: 0;
 }
}

.one-line .side_menu>ul>li {
 width: calc(100% - 6px);
}

/* ==================================
フッター
================================== */
.translator-wrap {
 position: fixed;
 bottom: 80px;
 left: 10px;
}

.footer_info img {
 max-width: 150px;
}

.footer_copy {
 text-align: center;
 opacity: 0.5;
 font-size: 0.7rem;
}

footer {
 position: relative;
 z-index: 1;
 text-align: center;
 padding: 12.5px;
}

@media only screen and (min-width: 911px) {
 body:has(.icon_position_bottom) footer {
  padding: 20px 12.5px 70px;
 }
}

/* ==================================
固定バナー
================================== */
@media only screen and (min-width: 768px) {

 .bottom_nav,
 .bottom_nav02 {
  width: 100%;
  max-width: 380px;
  height: auto;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 9995;
 }
}

@media only screen and (max-width: 767px) {

 .bottom_nav,
 .bottom_nav02 {
  position: fixed;
  bottom: 0px;
  right: 0px;
  width: 100%;
  z-index: 1000;
 }
}

.bottom_nav_t {
 background-color: var(--fb-bg);
 border: solid var(--fb-bo) var(--fb-tc);
 border-radius: var(--fb-co);
 width: var(--fb-w);
 height: 70px;
 padding: var(--fb-pa);
 position: fixed;
 bottom: 0;
 right: 0;
 overflow: hidden;
 transition: 0.5s;
 max-width: 100%;
}

.bottom_nav_t:hover {
 opacity: 0.8;
 transition: 0.5s;
}

.bnr_pattern02 a,
.bnr_pattern03 a {
 display: flex;
 justify-content: flex-start;
 align-items: center;
}

.bnr_pattern03 a {
 flex-direction: row-reverse;
}

.bnr_pattern02 a div:first-child,
.bnr_pattern03 a div:first-child {
 max-width: 90px;
}

.bnr_pattern02 a div:first-child {
 text-align: left;
 margin-right: 10px;
 overflow: hidden;
}

.bnr_pattern03 a div:first-child {
 text-align: right;
 margin-left: 10px;
}

.bnr_pattern02 a div img,
.bnr_pattern03 a div img {
 max-height: calc(70px - var(--fb-pa)*2 - var(--fb-bo)*2);
 max-width: unset;
 object-fit: cover;
}

.bnr_pattern03 a div:last-child,
.bnr_pattern02 a div:last-child {
 display: block;
 color: var(--fb-tc);
 max-height: calc(70px - var(--fb-pa) * 2 - var(--fb-bo) * 2);
 width: calc(100% - 100px);
}

.bottom_nav_t a span.txt01 {
 text-align: var(--fbtxt-po);
 font-size: clamp(10px, 3vw, var(--fbtxt-s));
 display: block;
 word-wrap: break-word;
 overflow-wrap: break-word;
 margin-bottom: 3px;
 font-weight: bold;
}

.bottom_nav_t a span.txt02 {
 text-align: var(--fbtxt-po);
 font-size: clamp(10px, 3vw, var(--fbtxt-s));
 display: block;
 word-wrap: break-word;
 overflow-wrap: break-word;
 font-weight: bold;
}

.bnr_pattern02.is-arrow a::after,
.bnr_pattern03.is-arrow a::after,
.bnr_pattern04.is-arrow a::after {
 content: "";
 position: absolute;
 top: 50%;
 transition: 0.5s;
 -webkit-clip-path: polygon(0 0, 86.6% 50%, 0 100%);
 clip-path: polygon(0 0, 86.6% 50%, 0 100%);
 height: 8px;
 width: 8px;
 aspect-ratio: 1;
 background-color: var(--fb-tc);
 transform: translateY(-50%) translateZ(0);
}

.bnr_pattern04.is-arrow a::after,
.bnr_pattern02.is-arrow a::after {
 right: 2px;
}

.bnr_pattern03.is-arrow a::after {
 left: 2px;
}

.bnr_pattern04 a div {
 display: flex;
 height: calc(70px - var(--fb-pa) * 2 - var(--fb-bo) * 2);
 color: var(--fb-tc);
 text-shadow: 1px 1px 5px var(--fb-bg), -1px 1px 5px var(--fb-bg), 1px -1px 5px var(--fb-bg), -1px -1px 5px var(--fb-bg);
 padding: 0 15px;
 flex-wrap: wrap;
 flex-direction: column;
 justify-content: center;
}

.bnr_pattern04 {
 background-image: var(--fb-bgimg);
 background-size: cover;
 background-position-y: center;
}

.bnr_pattern04 a {
 position: relative;
 display: block;
 height: 100%;
 width: 100%;
}

.bnr_pattern04.is-gradient::before {
 content: "";
 background:
  color-mix(in srgb, var(--fb-bg), transparent 30%);
 border-radius: calc(var(--fb-co) - 5px);
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
}

.bottom_nav_t.bnr_pattern04 {
 border: solid var(--fb-bo) color-mix(in srgb, var(--fb-tc), transparent 30%);
}

.bnr_pattern02.is-gradient a div:first-child,
.bnr_pattern03.is-gradient a div:first-child {
 position: relative;
}

.bnr_pattern02.is-gradient a div:first-child::after {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 box-shadow: inset -30px 0 15px -10px var(--fb-bg);
}

.bnr_pattern03.is-gradient a div:first-child::after {
 content: '';
 position: absolute;
 top: 0;
 right: 0;
 width: 100%;
 height: 100%;
 box-shadow: inset 30px 0 15px -10px var(--fb-bg);
}

.bnr_pattern02.is-gradient a div:first-child,
.bnr_pattern03.is-gradient a div:first-child {
 max-width: 40%;
 width: 40%;
 overflow: hidden;
}

.bnr_pattern02.is-gradient a div img,
.bnr_pattern03.is-gradient a div img {
 width: 100%;
 height: 100%;
}

@media (min-width: 768px) {

 body:has(.navi-position-bottom-right) .bottom_nav,
 body:has(.navi-position-bottom-right) .bottom_nav02,
 body:has(.navi-position-bottom-right) footer>.bottom_nav_t {
  right: 60px;
 }

 .bottom_nav02:has(.bottom_nav_t) {
  width: auto;
  max-width: unset;
 }

 .bnr_pattern02.is-arrow.is-gradient a div:last-child {
  padding-right: 25px;
 }

 .bnr_pattern03.is-arrow.is-gradient a div:last-child {
  padding-left: 25px;
 }

 footer:has(.bnr_pattern02),
 footer:has(.bnr_pattern03),
 footer:has(.bnr_pattern04) {
  padding-bottom: 80px;
 }

 .bottom_nav_img img {
  height: 70px;
  max-width: unset;
 }

 .bottom_nav02 .bnr_pattern02.is-gradient a div:first-child,
 .bottom_nav02 .bnr_pattern03.is-gradient a div:first-child {
  height: calc(70px - var(--fb-pa) * 2 - var(--fb-bo) * 2);
 }
}

@media (max-width: 767px) {
 .bottom_nav_t {
  left: 0;
  height: 60px;
 }

 .bnr_pattern02 a div img,
 .bnr_pattern03 a div img {
  max-height: calc(60px - var(--fb-pa)*2 - var(--fb-bo)*2);
 }

 .bnr_pattern03 a div:last-child,
 .bnr_pattern02 a div:last-child {
  max-height: calc(60px - var(--fb-pa) * 2 - var(--fb-bo) * 2);
  width: calc(100% - 80px);
 }

 .bnr_pattern04 a div {
  display: flex;
  height: calc(60px - var(--fb-pa) * 2 - var(--fb-bo) * 2);
 }

 body:has(.navi-position-bottom-right) .bottom_nav,
 body:has(.navi-position-bottom-right) .bottom_nav02 {
  max-width: 85%;
  left: 0;
 }

 body:has(.navi-position-bottom-left) .bottom_nav,
 body:has(.navi-position-bottom-left) .bottom_nav02 {
  max-width: 85%;
  right: 0;
 }

 .bottom_nav02 .bnr_pattern02.is-gradient a div:first-child,
 .bottom_nav02 .bnr_pattern03.is-gradient a div:first-child {
  margin: 0;
  max-width: unset;
  width: unset;
 }

 .bottom_nav02 .bnr_pattern02.is-gradient a div:first-child img,
 .bottom_nav02 .bnr_pattern03.is-gradient a div:first-child img {
  width: 60px;
  height: 60px;
 }

 .bottom_nav02 .bnr_pattern02 a div:first-child,
 .bottom_nav02 .bnr_pattern03 a div:first-child {
  max-width: 60px;
 }

 footer:has(.bottom_nav),
 footer:has(.bottom_nav02) {
  padding-bottom: 80px;
 }

 .bottom_nav_img img {
  object-fit: cover;
  height: 60px;
  max-width: unset;
 }

 footer:has(.bnr_pattern01) .bottom_nav_t:not(.bnr_pattern01) {
  flex: 1;
 }

 .bnr_pattern03 a div:first-child {
  margin-left: 5px;
 }

 .bnr_pattern02 a div:first-child {
  margin-right: 5px;
 }

 .is-arrow.bnr_pattern02 a div:last-child {
  margin-right: 15px;
 }

 .is-arrow.bnr_pattern03 a div:last-child {
  margin-left: 15px;
 }
}

.bnr_pattern03 a div:last-child {
 margin-left: 15px;
}

.bottom_nav02 .bottom_nav_t {
 position: relative;
}

/* ---------------------------
（2分割）
--------------------------- */
.bottom_nav02 {
 display: flex;
 justify-content: space-between;
}

/* ---------------------------
youtube レスポンシブ
--------------------------- */
.youtube {
 width: 100%;
 aspect-ratio: 16 / 9;
}

.youtube iframe {
 width: 100%;
 height: 100%;
}

/* ---------------------------
サムネイル付きギャラリー
---------------------------*/
.gallery-slider {
 margin-bottom: 30px;
}

.gallery-slider img {
 max-height: 400px;
 object-fit: contain;
}

.trimming {
 overflow: hidden;
 position: relative;
 padding-top: 56.25%;
}

.trimming img {
 width: 100%;
 height: 100%;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 object-fit: cover;
}

.slider-nav .slick-slide {
 margin-left: 15px;
}

@media screen and (max-width: 767px) {
 .slider-nav .slick-slide {
  margin-left: 7.5px;
 }
}

.gallery_list_outer {
 z-index: 0;
 position: relative;
}

/* ---------------------------
アコーディオン
---------------------------*/
.accordion-wrapper details summary {
 background-color: var(--ac-tit-bg);
 color: var(--ac-tit-color);
}

.accordion-wrapper details div.menu-content-ac {
 background-color: var(--ac-content-bg);
 color: var(--ac-content-color);
}

.accordion-wrapper.pattern02 details summary p::before {
 color: var(--ac-q-color);
}

.accordion-wrapper.pattern02 details div.menu-content-ac p::before {
 color: var(--ac-a-color);
}

.accordion-wrapper.details01 details summary,
.accordion-wrapper.details01 details div.menu-content-ac {
 border-color: var(--ac-other-color);
}

.accordion-wrapper.icon02 details summary::before,
.accordion-wrapper.icon02 details summary::after {
 background-color: var(--ac-other-color);
}

div.pattern01 details.accordion_menu summary,
details div.menu-content-ac {
 padding: 14px 28px;
}

details.accordion_menu summary {
 display: block;
 list-style: none;
 margin-bottom: 3px;
}

details.accordion_menu summary::-webkit-details-marker {
 display: none;
}

details.accordion_menu {
 margin-bottom: 5px;
}

details.accordion_menu div.menu-content-ac {
 margin-bottom: 15px;
}

details[open] .menu-content-ac {
 animation: fadeIn_ac 0.5s ease;
}

@keyframes fadeIn_ac {
 0% {
  opacity: 0;
  transform: translateY(-10px);
 }

 100% {
  opacity: 1;
  transform: none;
 }
}

.accordion_menu .shadow {
 box-shadow: 2px 2px 5px #999;
}

/* アコーディオン　パターンQ＆A */
.pattern02 details summary p::before {
 content: "Q.";
 font-weight: bold;
 font-size: 1.1em;
 position: absolute;
 left: 1em;
}

.pattern02 details div.menu-content-ac p::before {
 content: "A.";
 font-weight: bold;
 font-size: 1.1em;
 position: absolute;
 left: 1em;
}

.pattern02 details summary>p,
.pattern02 details div.menu-content-ac {
 position: relative;
 padding: 14px 28px 14px 3em;
}

.pattern02 details summary {
 display: flex;
 align-items: center;
 position: relative;
 cursor: pointer;
}

/* アコーディオン　ディティール（下線） */
.details01 details summary {
 border-bottom: 1px dotted var(--ac-other-color);
}

.details01 details div.menu-content-ac {
 border-bottom: 1px solid var(--ac-other-color);
}

/* アコーディオン　ディティール（枠線のみ） */
.details02 details summary,
.details02 details div.menu-content-ac {
 border: 1px solid var(--ac-other-color);
}

/* アコーディオン　ディティール（枠線＆吹き出し風） */
.details04 details summary,
.details04 details div.menu-content-ac {
 border: 1px solid var(--ac-other-color);
}

.details04 details summary {
 margin-bottom: 15px;
}

.details04 details div.menu-content-ac {
 position: relative;
}

.details04 details div.menu-content-ac::before,
.details04 details div.menu-content-ac:after {
 position: absolute;
 top: -15px;
 left: 1.2em;
 width: 30px;
 height: 16px;
 clip-path: polygon(50% 0, 0 100%, 100% 100%);
 content: '';
}

.details04 details div.menu-content-ac::before {
 background-color: var(--ac-content-bg);
}

.details04 details div.menu-content-ac:after {
 top: -16px;
 background-color: var(--ac-other-color);
 z-index: -1;
}

/* アコーディオン　ディティール（見出し風） */
.details05 details summary {
 border-left: 5px solid var(--ac-tit-l-color);
}

/* アコーディオン　角丸 */
.corner01 details summary,
.corner01 details div.menu-content-ac {
 border-radius: 10px
}

/* アコーディオン　アイコン（矢印） */
.icon01 details summary {
 position: relative;
}

.icon01 details summary::after {
 transform: translateY(-25%) rotate(45deg);
 width: 7px;
 height: 7px;
 margin-left: 10px;
 border-bottom: 2px solid;
 border-right: 2px solid;
 content: '';
 transition: transform .3s;
 position: absolute;
 right: 20px;
 top: 50%;
 border-color: var(--ac-other-color);
}

.icon01 details[open] summary::after {
 transform: rotate(225deg);
}

/* アコーディオン　アイコン（プラスマイナス） */
.icon02 details summary {
 display: flex;
 align-items: center;
 position: relative;
 cursor: pointer;
}

.icon02 details summary::before,
.icon02 details summary::after {
 content: '';
 position: absolute;
 width: 2px;
 height: 14px;
 border-radius: 1px;
 right: 20px;
}

.icon02 details summary::after {
 transition: rotate .3s;
}

.icon02 details summary::before {
 rotate: 90deg;
}

.icon02 details[open] summary::after {
 rotate: 90deg;
}

/* 動画コンテンツ　モーダル */
.modal-container {
 position: relative;
}

.modal-container a:before {
 transition: 0.5s;
 font-family: "Font Awesome 5 Brands";
 content: "\f167";
 font-weight: bold;
 -webkit-font-smoothing: antialiased;
 display: inline-block;
 font-style: normal;
 font-variant: normal;
 text-rendering: auto;
 line-height: 1;
 font-size: 5.0rem;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translateX(-50%) translateY(-50%);
 color: #222;
 z-index: 10;
}

.modal-container a:hover:before {
 color: #ff0000;
}

.block-child:has(.content_dl) {
 container-type: inline-size;
}

.content_dl {
 display: flex;
 flex-wrap: wrap;
}

.content_dl dt {
 box-sizing: border-box;
 padding: 10px;
 width: 30%;
}

.content_dl dd {
 box-sizing: border-box;
 margin: 0;
 padding: 10px;
 width: 70%;
}

@container (width < 481px) {
 .content_dl {
  flex-flow: column nowrap;
 }

 .content_dl dt,
 .content_dl dd {
  width: 100%;
 }
}

.h2-wrapper {
 width: 100%;
}

.h2-wrapper h2.fit-con,
h3.fit-con,
h4.fit-con,
h5.fit-con {
 width: fit-content;
}

.h2-wrapper:has(.tC.fit-con) h2 {
 margin: auto;
}

h3.tC.fit-con,
h4.tC.fit-con,
h5.tC.fit-con {
 margin: 5px auto 15px;
}

.content-flex2-1,
.content-flex3-1,
.content-flex4-1,
.content-flex4-3 {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}

.content-flex2-1>*:not(.h2-wrapper) {
 width: calc(50% - 10px);
}

.content-flex3-1>*:not(.h2-wrapper) {
 width: calc(33.333% - 10px);
}

.content-flex4-1>*:not(.h2-wrapper),
.content-flex4-3>*:not(.h2-wrapper) {
 width: calc(25% - 10px);
}

.contents {
 container-type: inline-size;
}

@container (width > 481px) {

 .content-flex2-2,
 .content-flex3-2,
 .content-flex4-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
 }

 .content-flex2-2>*:not(.h2-wrapper) {
  width: calc(50% - 10px);
 }

 .content-flex3-2>*:not(.h2-wrapper) {
  width: calc(33.333% - 10px);
 }

 .content-flex4-2>*:not(.h2-wrapper) {
  width: calc(25% - 10px);
 }
}

@container (width < 481px) {
 .content-flex4-3>*:not(.h2-wrapper) {
  width: calc(50% - 5px);
 }

 .wap-order {
  display: flex;
  flex-direction: column;
 }

 .wap-order>* {
  order: 0;
 }

 .wap-order .item1 {
  order: 1;
 }

 .wap-order .item2 {
  order: 2;
 }

 .wap-order .item3 {
  order: 3;
 }

 .wap-order .item4 {
  order: 4;
 }

 .wap-order .item5 {
  order: 5;
 }

 .wap-order .item6 {
  order: 6;
 }

 .wap-order .item7 {
  order: 7;
 }

 .wap-order .item8 {
  order: 8;
 }
}

/* リンクボタンデザイン */
/* 右下三角 */
.lb-triangle1 a,
.lb-triangle2 a,
.lb-line a,
.lb-arrow a {
 position: relative;
}

.lb-line a,
.lb-arrow a {
 width: calc(100% - 15px);
}

.lb-triangle1 a::after {
 content: "";
 position: absolute;
 bottom: 0;
 right: 0;
 width: 0;
 height: 0;
 border-bottom: 14px solid var(--link-color);
 border-left: 14px solid transparent;
 transition: 0.5s;
}

.lb-triangle2 a::after {
 content: "";
 position: absolute;
 top: 50%;
 right: 2%;
 transition: 0.5s;
 clip-path: polygon(0 0, 86.6% 50%, 0 100%);
 height: 12px;
 aspect-ratio: 1;
 background-color: var(--link-color);
 transform: translateY(-50%);
}

.lb-line a::after {
 content: '';
 position: absolute;
 top: 50%;
 right: -15px;
 transform: translateY(-50%);
 width: 30px;
 height: 1px;
 background-color: var(--link-color);
}

.lb-arrow a::before {
 content: '';
 position: absolute;
 top: calc(90% - 3px);
 right: -15px;
 transform: rotate(30deg);
 width: 9px;
 height: 1px;
 background-color: var(--link-color);
}

.lb-arrow a::after {
 content: '';
 position: absolute;
 top: 90%;
 right: -15px;
 transform: translateY(-50%);
 width: 50px;
 height: 1px;
 background-color: var(--link-color);
}

.lb-triangle1 a:hover::after {
 border-bottom: 14px solid var(--link-hcolor);
 transition: 0.5s;
}

.lb-triangle2 a:hover::after {
 background-color: var(--link-hcolor);
 transition: 0.5s;
}

.lb-arrow a:hover::before,
.lb-arrow a:hover::after,
.lb-line a:hover::after,
.lb-triangle2 a:hover::after {
 background-color: var(--link-hcolor);
 box-shadow: 0px 1px 1px var(--link-color);
 transition: 0.5s;
}

h3 {
 line-height: 1.5;
}

h4 {
 line-height: 1.5;
}

.tC {
 text-align: center;
}

.fw-b {
 font-weight: bold;
}

@media screen and (min-width: 768px) {
 h2 {
  font-size: 2.0rem;
 }

 h3 {
  font-size: 1.8rem;
 }

 h4 {
  font-size: 1.6rem;
 }

 h5 {
  font-size: 1.4rem;
 }

 h6 {
  font-size: 1.2rem;
 }

 .ft56 {
  font-size: 5.6rem;
 }

 .ft48 {
  font-size: 4.8rem;
 }

 .ft42 {
  font-size: 4.2rem;
 }

 .ft40 {
  font-size: 4.0rem;
 }

 .ft38 {
  font-size: 3.8rem;
 }

 .ft36 {
  font-size: 3.6rem;
 }

 .ft34 {
  font-size: 3.4rem;
 }

 .ft32 {
  font-size: 3.2rem;
 }

 .ft30 {
  font-size: 3.0rem;
 }

 .ft28 {
  font-size: 2.8rem;
 }

 .ft26 {
  font-size: 2.6rem;
 }

 .ft24 {
  font-size: 2.4rem;
 }

 .ft22 {
  font-size: 2.2rem;
 }

 .ft20 {
  font-size: 2.0rem;
 }

 .ft18 {
  font-size: 1.8rem;
 }

 .ft16 {
  font-size: 1.6rem;
 }

 .ft14 {
  font-size: 1.4rem;
 }

 .ft12 {
  font-size: 1.2rem;
 }
}

@media screen and (max-width: 767px) {
 h2 {
  font-size: 1.6rem;
 }

 h3 {
  font-size: 1.4rem;
 }

 h4 {
  font-size: 1.2rem;
 }

 h5 {
  font-size: 1.0rem;
 }

 h6 {
  font-size: 1.0rem;
 }

 .ft56 {
  font-size: 4.0rem;
 }

 .ft48 {
  font-size: 3.4rem;
 }

 .ft42 {
  font-size: 3.0rem;
 }

 .ft40 {
  font-size: 2.8rem;
 }

 .ft38 {
  font-size: 2.7rem;
 }

 .ft36 {
  font-size: 2.6rem;
 }

 .ft34 {
  font-size: 2.5rem;
 }

 .ft32 {
  font-size: 2.4rem;
 }

 .ft30 {
  font-size: 2.3rem;
 }

 .ft28 {
  font-size: 2.1rem;
 }

 .ft26 {
  font-size: 2.0rem;
 }

 .ft24 {
  font-size: 1.8rem;
 }

 .ft22 {
  font-size: 1.6rem;
 }

 .ft20 {
  font-size: 1.5rem;
 }

 .ft18 {
  font-size: 1.4rem;
 }

 .ft16 {
  font-size: 1.2rem;
 }

 .ft14 {
  font-size: 1.0rem;
 }

 .ft12 {
  font-size: 0.9rem;
 }
}

/* すりガラス風デザイン */
.glass {
 background-color: rgba(255, 255, 255, 0.2);
 -webkit-backdrop-filter: blur(8px);
 backdrop-filter: blur(8px);
 border: 1px solid rgba(255, 255, 255, 0.2);
 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* ページネーション */
.pagination ul {
 display: flex;
 list-style: none;
 padding: 0;
 margin: 50px 0 0;
}

.pagination li:not(:last-child) {
 margin-right: 5px;
}

.pagination li a {
 padding: 5px 10px;
}

.pagination li a:hover {
 background-color: color-mix(in srgb, var(--link-color) 70%, transparent);
 color: var(--link-hcolor);
}

.pagination .current {
 font-weight: bold;
 background: var(--link-color);
 padding: 5px 10px;
 color: var(--link-hcolor);
}

/* カスタム投稿 */
.h2-wrapper span.tax-cat {
 font-size: 0.60em;
}

.category-list-wrapper {
 margin-bottom: 20px;
}

.category-list {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
}

.category-list .cat-item a {
 display: block;
 min-width: 165px;
 margin: auto;
 padding: 10px;
 text-align: center;
 margin: 5px;
 border: solid 1px var(--link-color);
 background-color: var(--link-hcolor);
}

.category-list .cat-item a:hover {
 color: var(--link-hcolor);
 border: solid 1px var(--link-color);
 background-color: var(--link-color);
 opacity: 1.0;
}

/* 会社概要デザイン */
.information-dl {
 border: 20px solid #f7f7f7;
}

.information-dl dt {
 background: #777;
 border-bottom: 1px solid #e4e4e4;
 padding: 20px;
 color: #fff;
 font-weight: normal;
}

.information-dl dd {
 background: #fff;
 border-bottom: 1px solid #e4e4e4;
 padding: 20px;
}

.information-dl dd:last-child {
 border-bottom: none;
}

/* 固定バナー開閉 */
.banner-checkbox {
 display: none;
}

.banner-arrow-btn {
 position: fixed;
 z-index: 1001;
 right: 10px;
 bottom: 70px;
 width: 70px;
 height: 26px;
 background: rgba(0, 0, 0, 0.2);
 backdrop-filter: blur(8px);
 -webkit-backdrop-filter: blur(8px);
 border: 1px solid rgba(255, 255, 255, 0.3);
 border-bottom: none;
 color: #fff;
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 4px;
 cursor: pointer;
 border-radius: 6px 6px 0 0;
 transition: all 0.3s ease;
}

.btn-text::before {
 content: "CLOSE";
 font-size: 10px;
 font-weight: bold;
}

.arrow-icon {
 font-size: 10px;
 text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
 transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

footer>div.bottom_nav_t,
.bottom_nav02,
.bottom_nav {
 transition: transform 0.3s ease-in-out !important;
 will-change: transform;
}

.banner-checkbox:checked~.bottom_nav_t,
.banner-checkbox:checked~.bottom_nav02,
.banner-checkbox:checked~.bottom_nav {
 transform: translateY(100%) !important;
}

.banner-checkbox:checked~.banner-arrow-btn {
 bottom: 0;
 background: #000;
}

.banner-checkbox:checked~.banner-arrow-btn .btn-text::before {
 content: "OPEN";
}

.banner-checkbox:checked~.banner-arrow-btn .arrow-icon {
 transform: rotate(180deg);
}

@media (max-width: 767px) {
 .banner-arrow-btn {
  bottom: 60px;
 }
}

/* ブログ記事ページ */
.single-wrapper-inner .h2-wrapper {
 margin-bottom: 15px;
}

.single-wrapper-inner .article_time {
 font-size: 0.8em;
}

.single-wrapper-inner>*:not(.h2-wrapper) {
 margin-bottom: 30px;
}

.single-wrapper-inner .gallery_list_wrapper02 {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}

.single-wrapper-inner .gallery_list_wrapper02 .normal_list {
 width: calc(50% - 10px);
}

.single-wrapper-inner .normal_list {
 margin-bottom: 20px;
}

/* ページャー */
.single-pager {
 display: flex;
 justify-content: space-evenly;
 background-color: var(--link-hcolor);
 align-items: center;
 padding: 10px 0;
}

.single-pager a {
 display: block;
 padding: 10px;
 font-size: 12px;
 position: relative;
}

.single-pager a:hover {
 background-color: var(--link-color);
 color: var(--link-hcolor);
}

.single-pager li {
 min-width: 100px;
}

.single-pager li:first-child a:before {
 content: '«';
 display: block;
 position: absolute;
 left: 5px;
 top: 50%;
 transform: translateY(-50%);
}

.single-pager li:first-child a {
 padding: 10px 10px 10px 15px;
}

.single-pager li:nth-child(2) a {
 text-align: center;
 padding: 10px;
}

.single-pager li:last-child a:before {
 content: '»';
 display: block;
 position: absolute;
 right: 5px;
 top: 50%;
 transform: translateY(-50%);
}

.single-pager li:last-child a {
 padding: 10px 15px 10px 10px;
}

.custom_signature {
 margin-bottom: 30px;
 padding: 0 10px;
}

.custom {
 margin: 0 10px 50px;
}

.modal01 img {
 max-width: unset;
 width: 100%;
}


/* パンくず全体のコンテナ */
.breadcrumbs {
 position: absolute;
 font-size: 0.85rem;
 color: #666;
 overflow-x: auto;
 white-space: nowrap;
 -webkit-overflow-scrolling: touch;
 width: 95%;
}

.breadcrumbs::-webkit-scrollbar {
 display: none;
}

@media (min-width: 911px) {
 .breadcrumbs {
  width: 300px;
  white-space: normal;
  right: 10px;
  text-align: right;
 }

 body:has(.l-aside-left) .breadcrumbs {
  right: unset;
  left: 10px;
  text-align: left;
 }
}

@media (max-width: 910px) {
 .breadcrumbs {
  left: 10px;
  text-align: left;
 }
}

@media (min-width: 768px) {
 .breadcrumbs {
  top: 75px;
 }
}

@media (max-width: 767px) {
 .breadcrumbs {
  top: 55px;
 }
}

/* リストのスタイル */
.breadcrumbs span {
 display: inline-block;
}

/* リンクの色とホバー */
.breadcrumbs a {
 text-decoration: none;
 transition: color 0.3s;
}

/* 区切り文字の調整（NavXTの設定に合わせて調整） */
.breadcrumbs .separator {
 margin: 0 8px;
 color: #ccc;
}

.breadcrumbs .home::before {
 font-family: "Font Awesome 5 Free";
 content: "\f015";
 font-weight: 900;
 -webkit-font-smoothing: antialiased;
 font-style: normal;
 font-variant: normal;
 text-rendering: auto;
 line-height: inherit;
 padding-right: 5px;
}