@charset "UTF-8";
/*--------------------------------------------------
  「外部サイトへ」の初期設定
--------------------------------------------------*/
.swell-block-box-menu.indexBtn .swell-block-box-menu__item.newtabText a.swell-block-box-menu__link[target=_blank] span.swell-block-box-menu__text::after, #spMenuWrap #spMenu .segmentLi .segmentInner ul li a.newtabText::before, #content #main_content a.newtabText::after, .btn.newtabText a::after, #content #main_content .wp-block-buttons .newtabText.wp-block-button a::after {
  display: inline-block;
  margin-left: 0.2em;
  margin-right: 0.2em;
  background-image: none;
  text-decoration: none;
  font-weight: inherit;
  content: "（外部サイトへ）";
  font-size: 80%;
  width: auto;
  height: auto;
}
.swell-block-box-menu.indexBtn .swell-block-box-menu__item.newtabText a.swell-block-box-menu__link[target=_blank] span.swell-block-box-menu__text:hover::after, #content #main_content a.newtabText:hover::after, .btn.newtabText a:hover::after, #content #main_content .wp-block-buttons .newtabText.wp-block-button a:hover::after {
  background-image: none;
  text-decoration: none;
}

/*--------------------------------------------------
  新規タブアイコン
--------------------------------------------------*/
.swell-block-box-menu.indexBtn .swell-block-box-menu__item.newtabIcon a.swell-block-box-menu__link[target=_blank] span.swell-block-box-menu__text::after, #spMenuWrap #spMenu .segmentLi .segmentInner ul li a.newtabIcon::before, #content #main_content a.newtabIcon::after, .btn.newtabIcon a::after, #content #main_content .wp-block-buttons .newtabIcon.wp-block-button a::after {
  content: "\e89e";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  display: inline-block;
  margin-left: 0.2em;
  margin-right: 0.2em;
  background-image: none;
  text-decoration: none;
  font-weight: inherit;
  font-size: 85%;
  width: auto;
  height: auto;
}
.swell-block-box-menu.indexBtn .swell-block-box-menu__item.newtabIcon a.swell-block-box-menu__link[target=_blank] span.swell-block-box-menu__text:hover::after, #content #main_content a.newtabIcon:hover::after, .btn.newtabIcon a:hover::after, #content #main_content .wp-block-buttons .newtabIcon.wp-block-button a:hover::after {
  background-image: none;
  text-decoration: none;
}

/*--------------------------------------------------
  PDFアイコンの初期設定
--------------------------------------------------*/
.btn.pdfIcon a, #spMenuWrap #spMenu .segmentLi .segmentInner ul li a.pdfIcon::before, #content #main_content a.pdfIcon::after, #content #main_content a[href$=".pdf"]::after, #content #main_content .wp-block-buttons .pdfIcon.wp-block-button a::after, .pdfIcon.btn a::after, #content #main_content .wp-block-buttons .wp-block-button a[href$=".pdf"]::after, .btn a[href$=".pdf"]::after {
  display: inline-block;
  margin-left: 0.2em;
  margin-right: 0.2em;
  content: "\e415";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  background-image: none;
  text-decoration: none;
  font-size: 85%;
}
.btn.pdfIcon a:hover::after, #content #main_content a.pdfIcon:hover::after, #content #main_content a[href$=".pdf"]:hover::after, #content #main_content .wp-block-buttons .pdfIcon.wp-block-button a:hover::after, .btn a[href$=".pdf"]:hover::after {
  background-image: none;
  text-decoration: none;
}

/*--------------------------------------------------
  import_wp-block-buttons
--------------------------------------------------*/
#content #main_content .listbuttons.wp-block-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1em;
  align-items: start;
}
@media screen and (max-width: 768px) {
  #content #main_content .listbuttons.wp-block-buttons {
    grid-template-columns: 1fr;
  }
}
#content #main_content .listbuttons.wp-block-buttons .wp-block-button {
  height: 100%;
  width: 100%;
  margin-bottom: 0;
  box-sizing: border-box;
}
#content #main_content .listbuttons.wp-block-buttons .wp-block-button a {
  padding-right: 3em;
  padding-left: 1.8em;
  width: 100%;
  border-radius: 0;
  text-align: center;
  height: 100%;
}
#content #main_content .listbuttons.wp-block-buttons .wp-block-button a::after {
  background-image: none;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  content: "\e313";
  font-family: "Material Symbols Outlined";
  line-height: 1;
}
#content #main_content .listbuttons.wp-block-buttons .wp-block-button a:hover::after {
  background-image: none;
}
#content #main_content .listbuttons.wp-block-buttons .wp-block-button.is-style-outline a::after {
  background-image: none;
}
#content #main_content .listbuttons.wp-block-buttons .wp-block-button.is-style-outline a:hover::after {
  background-image: none;
}
#content #main_content .listbuttons.rightIcon.wp-block-buttons .wp-block-button a::after {
  content: "\e315";
  font-family: "Material Symbols Outlined";
  line-height: 1;
}

#content #main_content .wp-block-buttons .wp-block-button a, .btn a {
  vertical-align: middle;
  font-weight: bold;
  display: inline-block;
  box-sizing: border-box;
  border: 1px solid #004ea1;
  background-color: #004ea1;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.05em;
  position: relative;
  border-radius: 0.6em;
  cursor: pointer;
  padding: 1em 4em 1em 2em;
  /* PDF */
}
@media screen and (max-width: 768px) {
  #content #main_content .wp-block-buttons .wp-block-button a, .btn a {
    width: 100%;
  }
}
#content #main_content .wp-block-buttons .wp-block-button a::after, .btn a::after {
  background-image: url(../img/top-slick_next-white.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  position: absolute;
  right: 1.5em;
  top: 50%;
  transform: translateY(-50%);
}
#content #main_content .wp-block-buttons .wp-block-button a:hover, .btn a:hover {
  text-decoration: none;
  color: #004ea1;
  background-color: #fff;
  opacity: 1;
}
#content #main_content .wp-block-buttons .wp-block-button a:hover::after, .btn a:hover::after {
  background-image: url(../img/top-slick_next.svg);
}
#content #main_content .wp-block-buttons .is-style-outline.wp-block-button a, .is-style-outline.btn a {
  color: #004ea1;
  background-color: #fff;
}
#content #main_content .wp-block-buttons .is-style-outline.wp-block-button a::after, .is-style-outline.btn a::after {
  background-image: url(../img/top-slick_next.svg);
}
#content #main_content .wp-block-buttons .is-style-outline.wp-block-button a:hover, .is-style-outline.btn a:hover {
  color: #fff;
  background-color: #004ea1;
  border-color: #004ea1;
  opacity: 1;
}
#content #main_content .wp-block-buttons .is-style-outline.wp-block-button a:hover::after, .is-style-outline.btn a:hover::after {
  background-image: url(../img/top-slick_next-white.svg);
}
#content #main_content .wp-block-buttons .is-style-outline.pdfIcon.wp-block-button a, .is-style-outline.pdfIcon.btn a, #content #main_content .wp-block-buttons .is-style-outline.newtabIcon.wp-block-button a, .is-style-outline.newtabIcon.btn a, #content #main_content .wp-block-buttons .is-style-outline.newtabText.wp-block-button a, .is-style-outline.newtabText.btn a {
  background-image: none;
}
#content #main_content .wp-block-buttons .is-style-outline.pdfIcon.wp-block-button a::after, .is-style-outline.pdfIcon.btn a::after, #content #main_content .wp-block-buttons .is-style-outline.newtabIcon.wp-block-button a::after, .is-style-outline.newtabIcon.btn a::after, #content #main_content .wp-block-buttons .is-style-outline.newtabText.wp-block-button a::after, .is-style-outline.newtabText.btn a::after {
  background-image: none;
}
#content #main_content .wp-block-buttons .is-style-outline.pdfIcon.wp-block-button a:hover, .is-style-outline.pdfIcon.btn a:hover, #content #main_content .wp-block-buttons .is-style-outline.newtabIcon.wp-block-button a:hover, .is-style-outline.newtabIcon.btn a:hover, #content #main_content .wp-block-buttons .is-style-outline.newtabText.wp-block-button a:hover, .is-style-outline.newtabText.btn a:hover {
  background-image: none;
}
#content #main_content .wp-block-buttons .is-style-outline.pdfIcon.wp-block-button a:hover::after, .is-style-outline.pdfIcon.btn a:hover::after, #content #main_content .wp-block-buttons .is-style-outline.newtabIcon.wp-block-button a:hover::after, .is-style-outline.newtabIcon.btn a:hover::after, #content #main_content .wp-block-buttons .is-style-outline.newtabText.wp-block-button a:hover::after, .is-style-outline.newtabText.btn a:hover::after {
  background-image: none;
}
#content #main_content .wp-block-buttons .newtabText.wp-block-button a, .newtabText.btn a {
  padding-right: 8em;
}
#top-newsArea .titleArea {
  text-align: center;
  color: #004ea1;
}
@media screen and (max-width: 768px) {
  #top-newsArea .titleArea {
    margin-bottom: 3em;
  }
}
@media print, screen and (min-width: 769px) {
  #top-newsArea .titleArea {
    grid-area: 1/1/2/2;
  }
}
#top-newsArea .titleArea h2 {
  margin-top: 0;
  margin-bottom: 1em;
}
#top-newsArea .titleArea img {
  display: block;
  margin: 0 auto;
}
#top-newsArea .top-newsInnerArea {
  margin: 0;
}
#top-newsArea .top-newsInnerArea ul.tabList {
  padding-left: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  #top-newsArea .top-newsInnerArea ul.tabList {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5em;
    margin-bottom: 1em;
  }
}
@media print, screen and (min-width: 769px) {
  #top-newsArea .top-newsInnerArea ul.tabList {
    grid-template-columns: repeat(3, 1fr);
    min-height: 5em;
  }
}
#top-newsArea .top-newsInnerArea ul.tabList li {
  place-items: center;
}
#top-newsArea .top-newsInnerArea ul.tabList li span.tabBtn {
  width: 100%;
  display: block;
  background-color: #dddddd;
  color: #999999;
  text-align: center;
  padding-top: 0.6em;
  padding-bottom: 0.6em;
  position: relative;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  #top-newsArea .top-newsInnerArea ul.tabList li span.tabBtn {
    border-radius: 2em;
  }
}
#top-newsArea .top-newsInnerArea ul.tabList li.active span.tabBtn {
  background-color: #004ea1;
  color: #fff;
}
@media print, screen and (min-width: 769px) {
  #top-newsArea .top-newsInnerArea ul.tabList li.active span.tabBtn::after {
    content: "";
    position: absolute;
    bottom: -0.6em; /* 吹き出しの三角形の底辺がリンクの下に来るように調整 */
    left: 50%;
    transform: translateX(-50%); /* 吹き出しを水平方向に中央揃え */
    width: 0;
    height: 0;
    border-left: 0.6em solid transparent;
    border-right: 0.6em solid transparent;
    border-top: 0.7em solid #004ea1; /* 吹き出しの色を調整 */
  }
}
@media print, screen and (min-width: 769px) {
  #top-newsArea .top-newsInnerArea ul.tabList li:first-child span.tabBtn {
    border-radius: 2em 0 0 2em;
  }
  #top-newsArea .top-newsInnerArea ul.tabList li:last-child span.tabBtn {
    border-radius: 0 2em 2em 0;
  }
}

@media print, screen and (max-width: 768px) {
  .sp_hidden {
    display: none !important;
  }
}

@media print, screen and (min-width: 769px) and (max-width: 1279px) {
  .tb_hidden {
    display: none !important;
  }
}

@media print, screen and (min-width: 1280px) {
  .pc_hidden {
    display: none !important;
  }
}

noscript {
  padding: 2em;
  text-align: center;
  text-decoration: underline;
}

/*--------------------------------------------------------------------------------
luminous
--------------------------------------------------------------------------------*/
.gallery-item {
  text-align: center;
}

/*--------------------------------------------------------------------------------
swell上書き
--------------------------------------------------------------------------------*/
.swl-bg-color {
  padding: 0 0.25em;
  display: inline-block;
}

#main_content .l-mainContent__inner > .post_content {
  padding-left: 0;
  padding-right: 0;
}

.l-container {
  max-width: max(70%, 1200px);
}

.p-blogCard {
  max-width: none;
}

.top #content {
  padding: 0;
  margin: 0;
}

/*
* ボックスメニューカスタマイズ
*/
.swell-block-box-menu.medialtextBtn .swell-block-box-menu__item {
  border: none;
}
.swell-block-box-menu.medialtextBtn .swell-block-box-menu__item a.swell-block-box-menu__link {
  border: 1px solid #dddddd;
}
.swell-block-box-menu.medialtextBtn .swell-block-box-menu__item a.swell-block-box-menu__link figure.swell-block-box-menu__figure img {
  aspect-ratio: 2/1;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
  height: auto;
  border-radius: 0.3em;
}
.swell-block-box-menu.medialtextBtn .swell-block-box-menu__item a.swell-block-box-menu__link span.swell-block-box-menu__text {
  text-align: left;
  line-height: 1.5;
}
.swell-block-box-menu.medialtextBtn .swell-block-box-menu__item a.swell-block-box-menu__link span.swell-block-box-menu__text strong {
  display: inline-block;
  margin-bottom: 0.8em;
  font-size: 1.5em;
}
.swell-block-box-menu.medialtextBtn .swell-block-box-menu__item a.swell-block-box-menu__link:hover {
  border: 1px solid #004ea1;
  background-color: transparent;
  text-decoration: none;
}
.swell-block-box-menu.medialtextBtn .swell-block-box-menu__item a.swell-block-box-menu__link:hover span strong {
  color: #004ea1;
}
.swell-block-box-menu.indexBtn .swell-block-box-menu__item {
  border: none;
}
.swell-block-box-menu.indexBtn .swell-block-box-menu__item a.swell-block-box-menu__link {
  font-size: 120%;
  padding: 0;
}
.swell-block-box-menu.indexBtn .swell-block-box-menu__item a.swell-block-box-menu__link figure.swell-block-box-menu__figure {
  overflow: hidden;
  aspect-ratio: 4/3;
  display: block;
  border-radius: 0.3em;
}
.swell-block-box-menu.indexBtn .swell-block-box-menu__item a.swell-block-box-menu__link figure.swell-block-box-menu__figure img {
  vertical-align: bottom;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
  aspect-ratio: 4/3;
  object-fit: cover;
  max-width: none;
  padding: 0;
  margin: 0;
  height: auto;
}
.swell-block-box-menu.indexBtn .swell-block-box-menu__item a.swell-block-box-menu__link figure.swell-block-box-menu__figure:hover img {
  transform: scale(1.1);
}
.swell-block-box-menu.indexBtn .swell-block-box-menu__item a.swell-block-box-menu__link span.swell-block-box-menu__text {
  text-align: left;
  line-height: 1.5;
  font-weight: bold;
  position: relative;
  padding-right: 2em;
  align-items: center;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 769px) {
  .swell-block-box-menu.indexBtn .swell-block-box-menu__item a.swell-block-box-menu__link span.swell-block-box-menu__text {
    display: flex;
  }
}
.swell-block-box-menu.indexBtn .swell-block-box-menu__item a.swell-block-box-menu__link span.swell-block-box-menu__text::before {
  background-image: url(../img/top-slick_next.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  width: 1.3em;
  height: 1.3em;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.swell-block-box-menu.indexBtn .swell-block-box-menu__item a.swell-block-box-menu__link:hover {
  background-color: transparent;
  text-decoration: none;
}
.swell-block-box-menu.indexBtn .swell-block-box-menu__item a.swell-block-box-menu__link:hover span.swell-block-box-menu__text {
  color: #004ea1;
}
.swell-block-box-menu.indexBtn .swell-block-box-menu__item a.swell-block-box-menu__link:hover span.swell-block-box-menu__text::before {
  background-image: url(../img/top-slick_next-white.svg);
}

/*--------------------------------------------------------------------------------
fontSize functionでも設定
--------------------------------------------------------------------------------*/
:root {
  --swl-fz--small: 0.8rem; /* S (12.8px) */
  --swl-fz--normal: 1rem; /* M (16px) */
  --swl-fz--large: 1.6rem; /* L (32px) */
  --swl-fz--huge: 2.8rem; /* XL (48px) */
}

.fs_s,
.has-s-font-size,
.has-small-font-size,
.u-fz-s {
  font-size: var(--swl-fz--small) !important;
}

.has-normal-font-size,
.has-regular-font-size {
  font-size: var(--swl-fz--normal) !important;
}

.fs_l,
.has-l-font-size,
.has-large-font-size,
.u-fz-l {
  font-size: var(--swl-fz--large) !important;
}

.fs_xl,
.has-huge-font-size,
.has-xl-font-size,
.u-fz-xl {
  font-size: var(--swl-fz--huge) !important;
}

/*--------------------------------------------------------------------------------
Layout
--------------------------------------------------------------------------------*/
#wrapper {
  position: relative;
}

#blockskip {
  z-index: 9999;
  overflow: visible;
  margin: 0;
  padding: 0;
  width: 100%;
}
#blockskip a {
  display: block;
  float: left;
  background: #004ea1;
  width: 100%;
  color: #fff;
  text-align: center;
  text-decoration: none;
  line-height: 0;
  cursor: default;
  height: 0;
  overflow: hidden;
}
#blockskip a:hover {
  text-decoration: underline;
}
#blockskip a:focus {
  font-size: 1em;
  height: 1.7em;
  color: #fff;
  line-height: 1.7em;
  cursor: pointer;
}

.entry-content p a {
  overflow-wrap: anywhere;
  word-break: keep-all;
}

.topBtn {
  position: fixed;
  z-index: 50;
  bottom: 0;
  right: 0;
  display: none;
}
.topBtn img {
  vertical-align: bottom;
  width: 3em;
  height: 3em;
}
.topBtn:hover {
  opacity: 0.7;
  cursor: pointer;
}

/*--------------------------------------------------------------------------------
body
--------------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  body:not(.page-template-template-form) {
    padding-top: 25vw;
  }
}
@media print, screen and (min-width: 769px) {
  body:not(.page-template-template-form) {
    padding-top: 16vw;
  }
}
@media print, screen and (min-width: 1280px) {
  body:not(.page-template-template-form) {
    padding-top: 10vw;
  }
}

/*--------------------------------------------------------------------------------
widebox,contentbox
--------------------------------------------------------------------------------*/
.fullwidebox {
  width: 100vw;
  margin: 2em calc(50% - 50vw);
}

@media screen and (max-width: 768px) {
  .contentboxWrap .contentbox {
    width: 100%;
  }
}

.contentbox {
  width: 90%;
  margin: 0 auto;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .contentbox {
    margin-top: 1em;
    margin-bottom: 1em;
  }
}
@media print, screen and (min-width: 1280px) {
  .contentbox {
    width: max(70%, 1200px);
    padding-left: 0;
    padding-right: 0;
  }
}

/*--------------------------------------------------------------------------------
Base
--------------------------------------------------------------------------------*/
a {
  background-color: transparent;
  text-decoration: none;
  color: #004ea1;
}
a:hover:not(.swl-inline-btn a):not(.swell-block-button a):not(.btn a) {
  text-decoration: underline;
  color: #333333;
}
a:hover:not(.swl-inline-btn a):not(.swell-block-button a):not(.btn a)::after, a:hover:not(.swl-inline-btn a):not(.swell-block-button a):not(.btn a)::before {
  text-decoration: none !important;
}

::-moz-selection {
  background: #ddd;
}

::selection {
  background: #ddd;
}

::-moz-selection {
  background: #ddd;
}

.fa {
  padding: 0 5px;
}

a,
a:hover,
a:focus,
content,
input[type=submit],
img,
p {
  transition: 0.2s;
}

/*--------------------------------------------------------------------------------
#content / H1-6
entry-content / H1-6,wp-parts
--------------------------------------------------------------------------------*/
#content ul {
  list-style-type: none;
}
#content ul:not([class]), #content ul:not([class*=" "]).wp-block-list {
  list-style-type: disc;
  margin-top: 0.2em;
  margin-bottom: 0.2em;
  padding-left: 1.5em;
  margin-bottom: 2em;
}
#content ul:not([class]) li, #content ul:not([class*=" "]).wp-block-list li {
  margin: 0.5em 0;
  line-height: 1.8;
}
#content ul:not([class]) li::marker, #content ul:not([class*=" "]).wp-block-list li::marker {
  color: #004ea1;
}
#content ul:not([class]) li ul li, #content ul:not([class*=" "]).wp-block-list li ul li {
  list-style-type: circle;
}
#content ol.no {
  list-style: none;
  padding: 0;
  counter-reset: list-counter;
}
#content ol.no li {
  counter-increment: list-counter;
  position: relative;
  padding-left: 2em;
}
#content ol.no li::before {
  content: counter(list-counter);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  padding: 0;
  background-color: #004ea1;
  color: #fff;
  font-weight: bold;
  text-align: center;
  border-radius: 100%;
  width: 1.5em;
  height: 1.5em;
  line-height: 1.45em;
}
#content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6 {
  font-weight: bold;
  line-height: 1.5;
  margin: 1.5em 0 1.5em 0;
}
@media screen and (max-width: 768px) {
  #content h1,
#content h2,
#content h3,
#content h4,
#content h5,
#content h6 {
    margin: 1.5em 0 1.5em 0;
  }
}
#content h1 {
  font-size: 250%;
  line-height: 1.4;
  position: relative;
  display: block;
}
@media screen and (max-width: 768px) {
  #content h1 {
    font-size: 170%;
  }
}
#content h2 {
  font-size: 185%;
  line-height: 1.4;
  position: relative;
}
@media screen and (max-width: 768px) {
  #content h2 {
    font-size: 140%;
  }
}
#content h2 a {
  text-decoration: none;
}
#content h2 a:hover {
  text-decoration: underline;
}
#content h3 {
  font-size: 140%;
  line-height: 1.4;
  position: relative;
}
@media screen and (max-width: 768px) {
  #content h3 {
    font-size: 130%;
  }
}
#content h4 {
  font-size: 130%;
  color: #333333;
  position: relative;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #content h4 {
    font-size: 120%;
  }
}
#content h5 {
  font-size: 120%;
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 768px) {
  #content h5 {
    font-size: 110%;
  }
}
#content h6 {
  font-size: 110%;
  line-height: 1.5em;
}
@media screen and (max-width: 768px) {
  #content h6 {
    font-size: 100%;
  }
}
#content .top0 {
  margin-top: 0 !important;
}
#content .btm0 {
  margin-bottom: 0 !important;
}
#content h1.entry-title,
#content h2.entry-title,
#content h3.entry-title,
#content h4.entry-title,
#content h5.entry-title,
#content h6.entry-title {
  margin-top: 0;
}
#content p {
  line-height: 1.8;
  letter-spacing: 0.01em;
}
#content a.pc_nolink {
  cursor: text;
  color: inherit;
}
#content a.pc_nolink:hover {
  text-decoration: none;
}
#content #main_content {
  width: 100%;
  margin-bottom: 5em;
  overflow: visible;
  /* ファイル */
  /* youtube埋め込み */
}
@media screen and (max-width: 768px) {
  #content #main_content {
    margin-bottom: 2.5em;
  }
}
#content #main_content .entry-content > :is(h1, h2, h3, h4, h5, h6):first-child {
  margin-top: 0;
}
#content #main_content a {
  position: relative;
  /* （外部サイトへ）テキスト */
  /* 新規タブアイコン */
  /* PDF */
}
#content #main_content h1:not(.nopreset) {
  font-weight: bold;
  border: 0;
  font-weight: 700;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #dddddd;
  letter-spacing: 0.02em;
}
#content #main_content h1:not(.nopreset) span.description {
  font-size: 60%;
  vertical-align: middle;
}
#content #main_content h1:not(.nopreset) .subTitle {
  font-size: 60%;
}
#content #main_content h2.is-style-section_ttl {
  font-weight: bold;
  color: #004ea1;
}
#content #main_content h2.is-style-section_ttl.has-text-align-left {
  text-align: left !important;
}
#content #main_content h2.is-style-section_ttl.has-text-align-center {
  text-align: center !important;
}
#content #main_content h2.is-style-section_ttl.has-text-align-right {
  text-align: right !important;
}
#content #main_content h2.is-style-section_ttl.line {
  display: flex;
  align-items: center;
}
#content #main_content h2.is-style-section_ttl.line::before, #content #main_content h2.is-style-section_ttl.line::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #004ea1;
  position: static;
  display: block;
  bottom: auto;
  left: auto;
  z-index: auto;
}
#content #main_content h2.is-style-section_ttl.line::before {
  margin-right: 1rem;
}
#content #main_content h2.is-style-section_ttl.line::after {
  margin-left: 1rem;
}
#content #main_content h2:not(.nopreset):not(.is-style-section_ttl) {
  position: relative;
  border: 0;
  font-weight: bold;
  padding: 0.5em 1em;
  background-color: #f5f5f5;
  border-bottom: 3px solid #004ea1;
}
#content #main_content h2:not(.nopreset):not(.is-style-section_ttl) span.description {
  font-size: 60%;
  vertical-align: middle;
}
#content #main_content h2:not(.nopreset):not(.is-style-section_ttl).menu {
  font-size: 1.5em;
  background-color: transparent;
  border-bottom: 1px solid #dddddd;
  padding: 0 0.5em 0.5em 0;
  margin-bottom: 1.5em;
}
#content #main_content h3.is-style-section_ttl {
  font-weight: bold;
  color: #004ea1;
}
#content #main_content h3.is-style-section_ttl.has-text-align-left {
  text-align: left !important;
}
#content #main_content h3.is-style-section_ttl.has-text-align-center {
  text-align: center !important;
}
#content #main_content h3.is-style-section_ttl.has-text-align-right {
  text-align: right !important;
}
#content #main_content h3.is-style-section_ttl.line {
  display: flex;
  align-items: center;
}
#content #main_content h3.is-style-section_ttl.line::before, #content #main_content h3.is-style-section_ttl.line::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #004ea1;
  position: static;
  display: block;
  bottom: auto;
  left: auto;
  z-index: auto;
}
#content #main_content h3.is-style-section_ttl.line::before {
  margin-right: 1rem;
}
#content #main_content h3.is-style-section_ttl.line::after {
  margin-left: 1rem;
}
#content #main_content h3:not(.nopreset):not(.is-style-section_ttl) {
  line-height: 1.4;
  padding: 0.6em 0;
  color: #333333;
  font-weight: 700;
  position: relative;
  border-bottom: 1px solid #333333;
}
#content #main_content h3:not(.nopreset):not(.is-style-section_ttl)::before {
  height: 1px;
}
#content #main_content h3:not(.nopreset):not(.is-style-section_ttl) span.description {
  font-size: 70%;
  vertical-align: middle;
}
#content #main_content h4:not(.nopreset) {
  line-height: 1.4;
  padding: 0 0em 0 0.5em;
  font-weight: 700;
  border-left: 5px solid #004ea1;
}
#content #main_content h4:not(.nopreset) span.description {
  font-size: 90%;
  vertical-align: middle;
}
#content #main_content h4:not(.nopreset).is-style-section_ttl {
  color: #004ea1;
  text-align: left;
}
#content #main_content h5:not(.nopreset) {
  padding: 0.6em 0 0.6em 0;
}
#content #main_content h5:not(.nopreset)::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1px;
  background-color: #004ea1;
  position: absolute;
  left: 0;
  bottom: 0;
}
#content #main_content h6:not(.nopreset) {
  color: #333333;
  font-weight: bold;
  padding: 0.5em 0;
  border-bottom: 2px dotted #dddddd;
}
#content #main_content figure.wp-block-table {
  margin-top: 3em;
  margin-bottom: 3em;
}
#content #main_content figure.wp-block-table figcaption {
  text-align: right;
}
#content #main_content figure.wp-block-table.no-borderspace table {
  border: none;
}
#content #main_content figure.wp-block-table.no-borderspace table th,
#content #main_content figure.wp-block-table.no-borderspace table td {
  padding: 0.5em;
  border: none;
}
#content #main_content figure.wp-block-table.no-borderspace table tr:first-child th,
#content #main_content figure.wp-block-table.no-borderspace table tr:first-child td {
  padding-top: 0;
}
#content #main_content figure.wp-block-table.no-borderspace table tr:last-child th,
#content #main_content figure.wp-block-table.no-borderspace table tr:last-child td {
  padding-bottom: 0;
}
#content #main_content figure.wp-block-table.no-borderspace table tr th:first-child,
#content #main_content figure.wp-block-table.no-borderspace table tr td:first-child {
  padding-left: 0;
}
#content #main_content figure.wp-block-table.no-borderspace table tr th:last-child,
#content #main_content figure.wp-block-table.no-borderspace table tr td:last-child {
  padding-right: 0;
}
@media screen and (max-width: 768px) {
  #content #main_content figure.wp-block-table.no-borderspace table tr th,
#content #main_content figure.wp-block-table.no-borderspace table tr td {
    padding-left: 0;
    padding-right: 0;
  }
}
#content #main_content .post-thumbnail {
  text-align: center;
}
#content #main_content .post-thumbnail img {
  width: 100%;
  height: auto;
}
#content #main_content .wp-block-file:not(.wp-element-button) {
  font-size: 1em;
}
#content #main_content .wp-block-file .wp-block-file__button {
  background-color: #004ea1;
  border: 1px solid #004ea1;
  border-radius: 0.5em;
}
#content #main_content .wp-block-file .wp-block-file__button:hover {
  background-color: #fff;
  color: #004ea1;
  opacity: 1;
}
#content #main_content .wp-block-embed-youtube {
  margin-top: 3em;
  margin-bottom: 3em;
}
#content #main_content .wp-block-columns.column3 {
  display: grid;
  grid-template-columns: 1fr;
}
@media print, screen and (min-width: 769px) {
  #content #main_content .wp-block-columns.column3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 1280px) {
  #content #main_content .wp-block-columns.column3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
#content #main_content .wp-block-columns.align-text-height > .wp-block-column > p {
  line-height: 1.8; /* 読みやすい行間 */
  min-height: 5.4em; /* 3行分（1.8 × 3） */
}
@media screen and (max-width: 768px) {
  #content #main_content .wp-block-columns {
    gap: 0;
    margin-bottom: 3em;
  }
}
@media print, screen and (min-width: 769px) {
  #content #main_content .wp-block-columns {
    margin-top: 3em;
    margin-bottom: 3em;
  }
}
@media screen and (max-width: 768px) {
  #content #main_content .wp-block-columns .wp-block-column + .wp-block-column {
    margin-top: 1em;
  }
}
#content #main_content .wp-block-columns h1:first-child,
#content #main_content .wp-block-columns h2:first-child,
#content #main_content .wp-block-columns h3:first-child,
#content #main_content .wp-block-columns h4:first-child,
#content #main_content .wp-block-columns h5:first-child,
#content #main_content .wp-block-columns h6:first-child {
  margin-top: 0;
}
#content #main_content .wp-block-columns .wp-block-image.imgwidth100 {
  width: 100%;
}
#content #main_content .wp-block-columns .wp-block-image.imgwidth100 img {
  width: 100% !important;
  height: auto;
}
@media print, screen and (min-width: 769px) {
  #content #main_content .wp-block-columns .wp-block-image {
    margin-bottom: 0;
  }
  #content #main_content .wp-block-columns .wp-block-image:first-of-type {
    margin-top: 0;
  }
  #content #main_content .wp-block-columns .wp-block-image:not(:first-of-type) {
    margin-top: 1em;
  }
}
@media screen and (max-width: 768px) {
  #content #main_content .wp-block-columns .wp-block-image {
    margin-bottom: 1em;
  }
  #content #main_content .wp-block-columns .wp-block-image:first-of-type {
    margin-top: 0;
  }
  #content #main_content .wp-block-columns .wp-block-image:not(:first-of-type) {
    margin-top: 1em;
  }
}
#content #main_content .wp-block-columns figure.wp-block-table table {
  margin-top: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  #content #main_content .wp-block-columns figure.wp-block-table table {
    margin-top: 1em;
    margin-bottom: 1em;
  }
}
#content #main_content .wp-block-group.height100 {
  height: 100%;
}
#content #main_content .wp-block-buttons {
  width: 100%;
  box-sizing: border-box;
  gap: 1em;
}
#content #main_content .wp-block-buttons.is-content-justification-center {
  justify-content: center;
}
#content #main_content .wp-block-buttons.is-content-justification-left {
  justify-content: flex-start;
}
#content #main_content .wp-block-buttons.is-content-justification-right {
  justify-content: flex-end;
}
#content #main_content .wp-block-buttons.noicon .wp-block-button a {
  padding-right: 2.5em;
}
#content #main_content .wp-block-buttons.noicon .wp-block-button a::before, #content #main_content .wp-block-buttons.noicon .wp-block-button a::after {
  display: none;
}
#content #main_content .wp-block-buttons.narrow .wp-block-button a {
  padding-top: 0.6em;
  padding-bottom: 0.6em;
}
#content #main_content .wp-block-buttons.is-vertical .wp-block-button {
  width: auto;
  margin-left: auto;
  margin-right: auto;
}
#content #main_content .wp-block-buttons .wp-block-button {
  width: auto;
}
#content #main_content .wp-block-buttons .wp-block-button a:not([href]) {
  pointer-events: none;
}
#content #main_content .wp-block-buttons .wp-block-button a:not([href]):hover {
  opacity: 1;
}
#content #main_content .wp-block-buttons .wp-block-button a:not([href]), #content #main_content .wp-block-buttons .wp-block-button.nolink a {
  background-color: #dddddd;
  border-color: #dddddd;
}
#content #main_content .wp-block-buttons .wp-block-button a:not([href])::after, #content #main_content .wp-block-buttons .wp-block-button.nolink a::after {
  color: #fff;
}
#content #main_content .wp-block-buttons .wp-block-button a:not([href]):hover, #content #main_content .wp-block-buttons .wp-block-button.nolink a:hover {
  opacity: 1;
  color: #999999;
  background-color: #fff;
  border-color: #999999;
}
#content #main_content .wp-block-buttons .wp-block-button a:not([href]):hover::after, #content #main_content .wp-block-buttons .wp-block-button.nolink a:hover::after {
  color: #999999;
}
#content #main_content .wp-block-buttons .wp-block-button.newtabIcon a {
  padding-right: 4em;
}
#content #main_content .img100 img {
  max-width: none;
  width: 100%;
  height: auto;
}
#content #main_content #nav-below {
  position: relative;
  margin: 4em 0 2em 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2em;
}
@media screen and (max-width: 768px) {
  #content #main_content #nav-below {
    gap: 1em;
  }
}
#content #main_content #nav-below .nav-all a,
#content #main_content #nav-below .nav-previous a,
#content #main_content #nav-below .nav-next a {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 2em;
  padding: 0.5em 0.8em;
  color: #004ea1;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  #content #main_content #nav-below .nav-all a,
#content #main_content #nav-below .nav-previous a,
#content #main_content #nav-below .nav-next a {
    padding: 0.25em 0.3em;
  }
}
#content #main_content #nav-below .nav-all a::before, #content #main_content #nav-below .nav-all a::after,
#content #main_content #nav-below .nav-previous a::before,
#content #main_content #nav-below .nav-previous a::after,
#content #main_content #nav-below .nav-next a::before,
#content #main_content #nav-below .nav-next a::after {
  color: #fff;
  border-radius: 100%;
  background-color: #004ea1;
  display: inline-block;
}
#content #main_content #nav-below .nav-all a:hover,
#content #main_content #nav-below .nav-previous a:hover,
#content #main_content #nav-below .nav-next a:hover {
  color: #333333;
}
#content #main_content #nav-below .nav-all a:hover::before, #content #main_content #nav-below .nav-all a:hover::after,
#content #main_content #nav-below .nav-previous a:hover::before,
#content #main_content #nav-below .nav-previous a:hover::after,
#content #main_content #nav-below .nav-next a:hover::before,
#content #main_content #nav-below .nav-next a:hover::after {
  background-color: #fff;
  color: #004ea1;
}
#content #main_content #nav-below .nav-all {
  text-align: center;
}
#content #main_content #nav-below .nav-previous a::before {
  content: "\e5c4";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  margin-right: 0.5em;
}
#content #main_content #nav-below .nav-next {
  text-align: right;
}
#content #main_content #nav-below .nav-next a::after {
  content: "\e5c8";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  margin-left: 0.5em;
}
#content .gmapWrap {
  margin-top: 3em;
  margin-bottom: 3em;
}
#content .gmapWrap:has(iframe) {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
}
#content .gmapWrap:has(iframe) iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*--------------------------------------------------------------------------------
common parts font
--------------------------------------------------------------------------------*/
#content .ctaArea {
  background: #f6f6f6;
  text-align: center;
  padding: 1.5em;
  border-top: 2px solid #004ea1;
}
@media print, screen and (min-width: 769px) {
  #content .ctaArea {
    padding: 2.5em;
  }
}
#content .ctaArea h2 {
  margin: 0 0 1.8em 0;
}
#content .ctaArea .telbtnArea {
  margin-bottom: 3em;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 2em;
}
@media print, screen and (min-width: 1280px) {
  #content .ctaArea .telbtnArea {
    flex-wrap: nowrap;
    gap: 3.5em;
    flex-direction: row;
  }
}
#content .ctaArea .telbtnArea .telBlock {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 1em;
  border-radius: 0.8em;
  background-color: #fff;
  padding: 1.5em;
  flex-direction: column;
}
@media print, screen and (min-width: 1280px) {
  #content .ctaArea .telbtnArea .telBlock {
    padding: 0;
    background-color: transparent;
    gap: 2.5em;
    flex-direction: row;
  }
}
#content .ctaArea .telbtnArea .telBlock p.name {
  font-weight: bold;
  font-size: 1.2em;
}
#content .ctaArea .telbtnArea .telBlock .telhoursArea {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5em;
}
#content .ctaArea .telbtnArea .telBlock .telhoursArea p.tel {
  font-size: 2em;
  color: #004ea1;
  font-weight: bold;
  line-height: 1;
  font-family: "Roboto", serif;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
}
#content .ctaArea .telbtnArea .telBlock .telhoursArea p.tel::before {
  margin-right: 0.3em;
  content: "\e0b0";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-variation-settings: "FILL" 1;
}
#content .ctaArea .telbtnArea .telBlock .telhoursArea p.hours {
  font-size: 0.9rem;
  color: #666;
}
#content .ctaArea .telbtnArea .separater {
  width: 1px;
  background-color: #dddddd;
  height: auto;
  align-self: stretch;
}
#content .ctaArea .telbtnArea .btn {
  position: relative;
  justify-content: center;
}
#content .ctaArea .note {
  margin-top: 1.5em;
  font-size: 80%;
  color: #666;
  display: inline-block;
  text-align: left;
}

.returnIcon {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.3em;
}
.returnIcon::before {
  content: "\e25a";
  font-family: "Material Symbols Outlined";
  line-height: 1;
}

.tabContent {
  display: none; /* 初期状態で非表示 */
}

.tabContent.active {
  display: block; /* activeクラスがついた場合だけ表示 */
}

/*--------------------------------------------------------------------------------
top-serviceArea
--------------------------------------------------------------------------------*/
body.home #top-serviceArea {
  padding: 2vw 0;
  margin-top: -2em;
}
@media print, screen and (min-width: 769px) {
  body.home #top-serviceArea {
    padding: 2vw;
    margin-top: -5em;
  }
}

@media print, screen and (min-width: 1280px) {
  body.introduction #top-serviceArea .top-serviceInnerArea dl dd ul.serviceserviceList {
    grid-template-columns: 1fr 1fr;
  }
}

#top-serviceArea {
  min-height: 20em;
  border-radius: 2em;
  background-color: #fff;
}
#top-serviceArea .titleArea h2 {
  color: #004ea1;
}
#top-serviceArea .titleArea p {
  text-align: center;
  margin-bottom: 1em;
}
#top-serviceArea .top-serviceInnerArea dl {
  grid-template-columns: 1fr;
  grid-auto-flow: row;
}
@media print, screen and (min-width: 769px) {
  #top-serviceArea .top-serviceInnerArea dl {
    grid-template-columns: 10em auto;
    gap: 0;
    display: grid;
  }
}
#top-serviceArea .top-serviceInnerArea dl dt {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  color: #004ea1;
  height: 100%;
  box-sizing: border-box;
  padding: 2em 1em 2em 1em;
}
@media print, screen and (min-width: 769px) {
  #top-serviceArea .top-serviceInnerArea dl dt:not(:last-of-type) {
    border-bottom: 0.1em solid #004ea1;
  }
}
#top-serviceArea .top-serviceInnerArea dl dt::before {
  display: block;
  font-size: 3em;
  color: #004ea1;
}
#top-serviceArea .top-serviceInnerArea dl dt.energy::before {
  content: "\ef55";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-variation-settings: "FILL" 1;
}
#top-serviceArea .top-serviceInnerArea dl dt.gas::before {
  content: "\f544";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-variation-settings: "FILL" 1;
}
#top-serviceArea .top-serviceInnerArea dl dt.showroom::before {
  content: "\e88a";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-variation-settings: "FILL" 1;
}
#top-serviceArea .top-serviceInnerArea dl dt.outdoor::before {
  content: "\f8a2";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-variation-settings: "FILL" 1;
}
#top-serviceArea .top-serviceInnerArea dl dt.other::before {
  content: "\e5d3";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-variation-settings: "FILL" 1;
}
#top-serviceArea .top-serviceInnerArea dl dt.related::before {
  content: "\ea40";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-variation-settings: "FILL" 1;
}
#top-serviceArea .top-serviceInnerArea dl dd {
  position: relative;
  margin-bottom: 0;
  padding: 1em 0;
  display: flex;
  align-items: center;
}
#top-serviceArea .top-serviceInnerArea dl dd:not(:last-of-type) {
  border-bottom: 0.1em solid #004ea1;
}
#top-serviceArea .top-serviceInnerArea dl dd ul.serviceserviceList {
  padding-left: 0;
  padding: 0.5em 0;
  display: grid;
  align-items: center;
  height: 100%;
  width: 100%;
  gap: 1em;
}
@media print, screen and (min-width: 769px) {
  #top-serviceArea .top-serviceInnerArea dl dd ul.serviceserviceList {
    padding-left: 1em;
    padding-right: 1em;
    border-left: 0.1em solid #004ea1;
    grid-template-columns: 1fr 1fr;
  }
}
@media print, screen and (min-width: 1280px) {
  #top-serviceArea .top-serviceInnerArea dl dd ul.serviceserviceList {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
#top-serviceArea .top-serviceInnerArea dl dd ul.serviceserviceList li a {
  display: grid;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: 0.8em;
  align-items: center;
  border: 0.1em solid #dddddd;
  padding: 0.5em;
  border-radius: 0.5em;
  color: #333333;
}
#top-serviceArea .top-serviceInnerArea dl dd ul.serviceserviceList li a:hover {
  color: #004ea1;
  text-decoration: none;
}
#top-serviceArea .top-serviceInnerArea dl dd ul.serviceserviceList li a .thumbnail img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
  width: 4em;
  border-radius: 0.3em;
}
#top-serviceArea .top-serviceInnerArea dl dd ul.serviceserviceList li a .textArea {
  display: flex;
  flex-direction: column; /* テキストを縦に並べる */
}
#top-serviceArea .top-serviceInnerArea dl dd ul.serviceserviceList li a .textArea .title {
  font-weight: bold;
  margin-bottom: 0.25em;
}
@media print, screen and (min-width: 1280px) {
  #top-serviceArea .top-serviceInnerArea dl dd ul.serviceserviceList li a .textArea .title {
    line-height: 1.4;
    font-size: 90%;
  }
}
@media print, screen and (min-width: 1280px) {
  #top-serviceArea .top-serviceInnerArea dl dd ul.serviceserviceList li a .textArea .text {
    font-size: 75%;
  }
}
#top-serviceArea .top-serviceInnerArea dl dd ul.serviceserviceList li a:hover {
  background-color: #eaf7ff;
  border-color: #004ea1;
  color: #004ea1;
}

#content #main_content .supportContactArea {
  justify-content: flex-start;
  flex-wrap: nowrap; /* wrapからnowrapに変更 */
  /* 左のボックス調整 */
  /* 右のボックス調整 */
  /* ボタンスタイル */
  /* ボタンリンク */
  /* 電話番号スタイル */
}
#content #main_content .supportContactArea .wp-block-buttons,
#content #main_content .supportContactArea .wp-block-button,
#content #main_content .supportContactArea .wp-block-button__link {
  margin-bottom: 0;
  margin-top: 0;
}
#content #main_content .supportContactArea .leftBox {
  flex: 0 0 20em; /* 幅を20emに固定 */
}
#content #main_content .supportContactArea .rightBox {
  flex: 1 0 auto; /* 残りのスペースを埋める */
}
#content #main_content .supportContactArea .leftBox .wp-block-button {
  width: 100%; /* ボタンを親要素いっぱいに */
}
#content #main_content .supportContactArea .leftBox .wp-block-button__link {
  width: 100%; /* リンクをボタンいっぱいに */
  box-sizing: border-box;
  white-space: nowrap; /* テキストを折り返さない */
}
#content #main_content .supportContactArea p.telno {
  display: flex;
  align-items: center;
  font-size: 2em;
  letter-spacing: 0.1em;
}
#content #main_content .supportContactArea p.telno img {
  margin-right: 0.5em;
}

.search-highlight {
  background-color: #f9f988;
}

.searchformArea {
  display: block;
}
.searchformArea form {
  padding: 1em 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.searchformArea form input[type=text] {
  border-radius: 0;
  flex-grow: 1;
}
@media screen and (max-width: 768px) {
  .searchformArea form input[type=text] {
    width: calc(100% - 6.5em);
  }
}
.searchformArea form button[type=submit] {
  padding: 0.5em 1em;
  border: none;
  background-color: #f6f6f6;
  color: #333333;
  letter-spacing: 0.1em;
}
.searchformArea form button[type=submit]:hover {
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .searchformArea form button[type=submit] {
    width: 6.5em;
  }
}

.snsshareArea {
  display: grid;
  justify-content: space-between;
  gap: 1em;
  grid-template-columns: repeat(3, 1fr);
}
.snsshareArea a {
  color: #fff;
  text-align: center;
  padding: 0.5em;
}
.snsshareArea a:hover {
  opacity: 0.7;
}
.snsshareArea a img {
  max-width: 1.5em;
  max-height: 1.5em;
  vertical-align: bottom;
}
.snsshareArea a.facebook {
  background-color: #3b5998;
}
.snsshareArea a.x {
  background-color: #333333;
}
.snsshareArea a.instagram {
  background-color: #333333;
}
.snsshareArea a.line {
  background-color: #00c300;
}

.new {
  font-size: 0.8em;
  padding: 0 0.5em;
  letter-spacing: 0.1em;
  color: #d65a65;
}

.adobeBlock {
  padding: 0.8em;
  background-color: #efefef;
}
.adobeBlock p {
  font-size: 0.8em;
}
.adobeBlock p:last-of-type {
  margin-bottom: 0;
}

.font-roboto {
  font-family: "Roboto", serif;
}

.titleArea {
  position: relative;
}
.titleArea h2 {
  text-align: center;
  letter-spacing: 0.1em;
  margin-top: 0;
  margin-bottom: 0;
  box-sizing: border-box;
  line-height: 1;
}
.titleArea span.en {
  display: block;
  font-family: "Roboto", serif;
  font-weight: 600;
  font-size: 0.5em;
  line-height: 1;
  margin-bottom: 0.5em;
}
.titleArea span.ja {
  display: block;
  font-weight: 600;
  font-size: 1.3em;
  letter-spacing: 0.1em;
}

.datetermArea {
  display: flex;
  gap: 1em;
  margin-bottom: 2em;
}
.datetermArea .term {
  display: flex;
  align-items: center;
  gap: 0.4em;
  margin-top: 0.1em;
  margin-bottom: 0.1em;
}
.datetermArea .term span {
  margin-top: 0;
  margin-bottom: 0;
  text-decoration: none;
}
/*--------------------------------------------------------------------------------
common parts ul
--------------------------------------------------------------------------------*/
ol.brackets {
  counter-reset: parent-item;
  list-style-type: none;
  padding-left: 0;
}
ol.brackets > li {
  counter-increment: parent-item;
  position: relative;
  padding-left: 2em;
  margin-bottom: 0.5em;
}
ol.brackets > li::before {
  content: "(" counter(parent-item) ")";
  position: absolute;
  left: 0;
}
ol.brackets > li > ol {
  counter-reset: child-item;
  list-style-type: none;
  padding-left: 1em;
  margin-top: 0.5em;
}
ol.brackets > li > ol > li {
  counter-increment: child-item;
}
ol.brackets > li > ol > li:nth-child(1)::before {
  content: "①";
}
ol.brackets > li > ol > li:nth-child(2)::before {
  content: "②";
}
ol.brackets > li > ol > li:nth-child(3)::before {
  content: "③";
}
ol.brackets > li > ol > li:nth-child(4)::before {
  content: "④";
}
ol.brackets > li > ol > li:nth-child(5)::before {
  content: "⑤";
}
ol.brackets > li > ol > li:nth-child(6)::before {
  content: "⑥";
}
ol.brackets > li > ol > li:nth-child(7)::before {
  content: "⑦";
}
ol.brackets > li > ol > li:nth-child(8)::before {
  content: "⑧";
}
ol.brackets > li > ol > li:nth-child(9)::before {
  content: "⑨";
}
ol.brackets > li > ol > li:nth-child(10)::before {
  content: "⑩";
}
ol.brackets > li > ol > li:nth-child(n+11)::before {
  content: counter(child-item);
}

ol.circle-numbers {
  counter-reset: circle-counter;
  list-style-type: none;
  padding-left: 0;
}
ol.circle-numbers > li {
  counter-increment: circle-counter;
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.5em;
}
ol.circle-numbers > li:nth-child(1)::before {
  content: "①";
  position: absolute;
  left: 0;
}
ol.circle-numbers > li:nth-child(2)::before {
  content: "②";
  position: absolute;
  left: 0;
}
ol.circle-numbers > li:nth-child(3)::before {
  content: "③";
  position: absolute;
  left: 0;
}
ol.circle-numbers > li:nth-child(4)::before {
  content: "④";
  position: absolute;
  left: 0;
}
ol.circle-numbers > li:nth-child(5)::before {
  content: "⑤";
  position: absolute;
  left: 0;
}
ol.circle-numbers > li:nth-child(6)::before {
  content: "⑥";
  position: absolute;
  left: 0;
}
ol.circle-numbers > li:nth-child(7)::before {
  content: "⑦";
  position: absolute;
  left: 0;
}
ol.circle-numbers > li:nth-child(8)::before {
  content: "⑧";
  position: absolute;
  left: 0;
}
ol.circle-numbers > li:nth-child(9)::before {
  content: "⑨";
  position: absolute;
  left: 0;
}
ol.circle-numbers > li:nth-child(10)::before {
  content: "⑩";
  position: absolute;
  left: 0;
}
ol.circle-numbers > li:nth-child(n+11)::before {
  content: counter(circle-counter);
  position: absolute;
  left: 0;
}

#content ul.taxList {
  padding-left: 0;
  display: grid;
  gap: 0.5em 0.8em;
  grid-template-columns: repeat(2, 1fr);
}
@media print, screen and (min-width: 769px) {
  #content ul.taxList {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media print, screen and (min-width: 1280px) {
  #content ul.taxList {
    grid-template-columns: repeat(6, 1fr);
  }
}
#content ul.taxList li {
  margin-top: 0;
  margin-bottom: 0;
}
#content ul.taxList li a {
  width: 100%;
  text-align: center;
  font-weight: bold;
  display: inline-block;
  text-decoration: none;
  padding: 0.2em 1em;
  margin-top: 0.2em;
  margin-bottom: 0.2em;
  background-color: #fff;
  color: #ea5520;
  border: 0.1em solid #ea5520;
  border-radius: 0.4em;
}
@media screen and (max-width: 768px) {
  #content ul.taxList li a {
    line-height: 1.4;
  }
}
#content ul.taxList li a:hover {
  background-color: #ea5520;
  color: #fff !important;
  text-decoration: none;
}

ul.boxList {
  display: grid;
  gap: 2em 1em;
  margin-bottom: 2em;
  padding-left: 0;
}
@media print, screen and (min-width: 769px) {
  ul.boxList {
    grid-template-columns: repeat(3, 1fr);
  }
}
ul.boxList li {
  border: 1px solid #b1b1b1;
}
ul.boxList li:hover {
  border-color: #004ea1;
  background-color: #f6faff;
}
ul.boxList li:hover a {
  text-decoration: none !important;
}
ul.boxList li .thumbnail {
  position: relative;
  margin-bottom: 2.5em;
}
ul.boxList li .thumbnail:not(:has(.logo)) {
  margin-bottom: 0; /* .logo がない場合はマージンなし */
}
ul.boxList li .thumbnail > img {
  aspect-ratio: 384/220;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  vertical-align: bottom;
}
ul.boxList li .thumbnail .logo {
  position: absolute;
  left: 1em;
  bottom: 0;
  transform: translateY(2.5em);
  background-color: #fff;
  width: 9em;
  height: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
ul.boxList li .thumbnail .logo img {
  aspect-ratio: 150/90;
  max-height: 5em;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
  vertical-align: bottom;
  box-sizing: border-box;
  padding: 0.3em;
}
ul.boxList li .textArea {
  padding: 1em 1em 1.5em 1em;
}
ul.boxList li .textArea .title {
  color: #004ea1;
  margin-bottom: 1em;
  font-weight: bold;
  font-size: 1.1em;
}
ul.boxList li .textArea .nameArea {
  font-size: 85%;
  letter-spacing: 0.05em;
}
ul.boxList li .textArea .nameArea .name {
  display: block;
  margin-bottom: 0.3em;
}
ul.boxList li .textArea .nameArea .business strong {
  color: #898989;
  margin-right: 1em;
  font-weight: 500;
}

ul.apronList {
  padding-left: 0;
  display: grid;
  gap: 2em 1em;
  margin-bottom: 2em;
}
@media print, screen and (min-width: 769px) {
  ul.apronList {
    grid-template-columns: repeat(2, 1fr);
  }
}
ul.apronList li {
  border: 1px solid #dddddd;
  margin: 0;
}
ul.apronList li:hover {
  border-color: #004ea1;
  background-color: #f6faff;
}
ul.apronList li a {
  display: flex;
  padding: 1em;
  gap: 1em;
}
ul.apronList li a:hover {
  text-decoration: none !important;
}
ul.apronList li .thumbnail {
  position: relative;
  height: 100%;
}
ul.apronList li .thumbnail > img {
  aspect-ratio: 176/250;
  -o-object-fit: cover;
     object-fit: cover;
  width: auto;
  height: 16em;
  vertical-align: bottom;
  max-width: none;
}
ul.apronList li .textArea .title {
  color: #004ea1;
  margin-bottom: 1em;
  font-weight: bold;
  font-size: 1.1em;
}
ul.apronList li .textArea .excerpt {
  font-size: 85%;
  letter-spacing: 0.05em;
}
ul.apronList li .textArea .excerpt .content {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

ul.snsList {
  list-style-type: none;
  display: grid;
  flex-direction: row;
  justify-content: space-between;
  gap: 1em;
  margin: 0;
  grid-template-columns: repeat(3, 1fr);
}
ul.snsList li a {
  flex-direction: column;
  display: flex;
  align-items: center;
}
ul.snsList li a img {
  height: auto;
  display: block;
  vertical-align: bottom;
}
ul.snsList li a span {
  text-align: center;
  font-size: 0.8em;
  margin-top: 0.2em;
}

ul.indexList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-left: 0;
  gap: 0.8em;
  margin-top: 3em;
  margin-bottom: 3em;
}
@media screen and (max-width: 768px) {
  ul.indexList {
    justify-content: flex-start;
  }
}
ul.indexList li {
  font-size: 0.8em;
}
ul.indexList li a {
  font-weight: bold;
  display: inline-block;
  box-sizing: border-box;
  border: 1px solid #004ea1;
  background-color: #fff;
  color: #004ea1 !important;
  text-decoration: none !important;
  letter-spacing: 0.05em;
  position: relative;
  border-radius: 0;
  cursor: pointer;
  padding: 1.5em 2em;
  line-height: 1;
  vertical-align: middle;
}
ul.indexList li a:hover {
  background-color: #004ea1;
  color: #fff !important;
}
ul.indexList li.current a {
  background-color: #004ea1;
  color: #fff !important;
}
ul.indexList li.current a:hover {
  background-color: #fff;
  color: #004ea1;
}
ul.indexList.is-style-outline li a {
  background-color: #fff;
  color: #004ea1 !important;
}
ul.indexList.is-style-outline li a:hover {
  background-color: #004ea1;
  color: #fff;
}
ul.indexList.is-style-outline li.current a {
  background-color: #004ea1;
  color: #fff !important;
}
ul.indexList.is-style-outline li.current a:hover {
  background-color: #fff;
  color: #004ea1;
}

ul.thumbList {
  margin-bottom: 3em;
  display: grid;
  gap: 2em 1.5em;
  grid-template-columns: 1fr;
  padding-left: 0;
}
@media print, screen and (min-width: 769px) {
  ul.thumbList {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 1280px) {
  ul.thumbList {
    grid-template-columns: repeat(3, 1fr);
  }
}
ul.thumbList li {
  display: flex;
  flex-direction: column;
  height: 100%;
}
ul.thumbList li a {
  border: 1px solid #dddddd;
  color: #333333;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  height: 100%;
  border-radius: 0.5em;
  text-decoration: none;
}
ul.thumbList li a:hover {
  border-color: #004ea1;
  color: #004ea1;
  background-color: rgba(246, 250, 255, 0.3);
  background-color: #f6faff;
  text-decoration: none !important;
}
ul.thumbList li .thumbnail img {
  border-radius: 0.5em 0.5em 0 0;
  width: 100%;
  height: auto;
  vertical-align: bottom;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}
ul.thumbList li .textArea {
  border-radius: 0 0 0.5em 0.5em;
  padding: 1.5em;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  ul.thumbList li .textArea {
    padding: 1em;
  }
}
ul.thumbList li .textArea .datetermArea {
  display: flex;
  gap: 1em;
  margin-bottom: 1em;
}
ul.thumbList li .textArea .datetermArea .term {
  display: grid;
  grid-template-columns: 1fr;
}
ul.thumbList li .textArea .title {
  margin: 0;
  font-size: 1em;
}
ul.thumbList li .textArea .title a {
  text-decoration: none;
}
ul.thumbList li .textArea .title a:hover {
  text-decoration: underline;
}
ul.thumbList li .textArea .content {
  flex-grow: 1;
}

ul.common-newsList {
  margin-bottom: 3em;
  padding-left: 0;
}
ul.common-newsList li {
  font-weight: 500;
  box-sizing: border-box;
  margin-top: 0;
  margin-bottom: 0;
}
ul.common-newsList li:nth-child(even) {
  background-color: #dddddd;
}
ul.common-newsList li > a {
  text-decoration: none;
  width: 100%;
  position: relative;
  display: grid;
  align-items: center;
  box-sizing: border-box;
  padding: 1em;
  color: #333333;
}
@media screen and (max-width: 768px) {
  ul.common-newsList li > a {
    text-decoration: none;
    width: 100%;
    position: relative;
    display: grid;
    grid-template-columns: -webkit-max-content 1fr auto;
    grid-template-columns: max-content 1fr auto;
    grid-template-rows: -webkit-max-content 1fr auto;
    grid-template-rows: max-content 1fr auto;
    grid-column-gap: 0.5em;
    grid-row-gap: 0.5em;
    align-items: center;
    padding-right: 2em;
  }
}
@media print, screen and (min-width: 769px) {
  ul.common-newsList li > a {
    padding: 1em 2.5em 1em 2em;
    grid-column-gap: 1em;
    grid-template-columns: auto auto 1fr; /* 3列構成: 日付、カテゴリ、タイトル */
    grid-template-rows: auto; /* 一行にまとめる */
  }
}
ul.common-newsList li > a .date {
  width: 6em;
}
@media screen and (max-width: 768px) {
  ul.common-newsList li > a .date {
    grid-area: 1/1/2/2;
  }
}
ul.common-newsList li > a .term {
  display: flex;
  gap: 0.3em;
}
@media print, screen and (min-width: 769px) {
  ul.common-newsList li > a .term {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  ul.common-newsList li > a .term {
    flex-wrap: wrap;
    grid-area: 1/2/2/3;
  }
}
@media screen and (max-width: 768px) {
  ul.common-newsList li > a .title {
    grid-area: 2/1/2/3;
  }
}
ul.common-newsList li > a::before {
  content: "\e315";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  color: #333333;
  position: absolute;
  font-size: 100%;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  text-decoration: none;
}
ul.common-newsList li > a:hover {
  color: #004ea1;
  text-decoration: none !important;
}
ul.common-newsList li > a:hover span.title {
  text-decoration: underline;
}
ul.common-newsList li > a:hover span.date {
  text-decoration: none;
}
ul.common-newsList li > a:hover::before {
  color: #999999;
}
ul.common-newsList li > a:hover {
  background-color: rgba(0, 78, 161, 0.1);
  background-color: #f6faff;
}
ul.common-newsList li > a:hover::before {
  color: #004ea1;
}
ul.common-newsList li:nth-child(even) a:hover {
  background-color: #f6faff;
}
ul.common-newsList li:nth-child(even) a:hover::before {
  color: #004ea1;
}

ul.btnList {
  display: grid;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 3em;
  grid-template-columns: 1fr;
  padding-left: 0;
}
@media print, screen and (min-width: 769px) {
  ul.btnList {
    gap: 1vw;
    grid-template-columns: repeat(3, 1fr);
  }
}
ul.btnList li {
  width: 100%;
}
@media screen and (max-width: 768px) {
  ul.btnList li:not(:last-child) {
    margin-bottom: 1em;
  }
}
ul.btnList li a {
  font-weight: bold;
  display: inline-block;
  box-sizing: border-box;
  background-color: #f6f6f6;
  text-decoration: none !important;
  color: #333333;
  letter-spacing: 0.05em;
  position: relative;
  border-radius: 0.6em;
  cursor: pointer;
  display: flex;
  align-items: center;
  height: 100%;
  border-radius: 0.3em;
  padding: 1em 4.5em 1em 2em;
}
@media screen and (max-width: 768px) {
  ul.btnList li a {
    width: 100%;
    padding-right: 2em;
  }
}
@media print, screen and (min-width: 1280px) {
  ul.btnList li a {
    padding-left: 4.5em;
    justify-content: center;
  }
}
ul.btnList li a::after {
  background-image: url(../img/top-slick_next.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  position: absolute;
  top: 50%;
  right: 2em;
  left: auto;
  transform: translateY(-50%);
  margin-left: 0;
}
ul.btnList li a:hover {
  text-decoration: none;
  color: #fff !important;
  background-color: #004ea1 !important;
  opacity: 1;
}
ul.btnList li a:hover::after {
  background-image: url(../img/top-slick_next-white.svg);
}
body.guide ul.btnList.showroomlinkList .guide a, body.cooking ul.btnList.showroomlinkList .cooking a, body.appliance-reform ul.btnList.showroomlinkList .appliance-reform a, body.program ul.btnList.showroomlinkList .program a, body.access ul.btnList.showroomlinkList .access a, body.contact ul.btnList.showroomlinkList .contact a {
  background-color: #004ea1;
  color: #fff;
}
body.guide ul.btnList.showroomlinkList .guide a::after, body.cooking ul.btnList.showroomlinkList .cooking a::after, body.appliance-reform ul.btnList.showroomlinkList .appliance-reform a::after, body.program ul.btnList.showroomlinkList .program a::after, body.access ul.btnList.showroomlinkList .access a::after, body.contact ul.btnList.showroomlinkList .contact a::after {
  background-image: url(../img/top-slick_next-white.svg);
}

ul.sqList {
  display: grid;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 3em;
  grid-template-columns: 1fr;
  padding-left: 0;
}
@media print, screen and (min-width: 769px) {
  ul.sqList {
    gap: 1vw;
    grid-template-columns: repeat(3, 1fr);
  }
}
ul.sqList li {
  width: 100%;
}
@media screen and (max-width: 768px) {
  ul.sqList li:not(:last-child) {
    margin-bottom: 1em;
  }
}
ul.sqList li a {
  font-size: 90%;
  font-weight: bold;
  display: inline-block;
  box-sizing: border-box;
  text-decoration: none !important;
  color: #004ea1;
  letter-spacing: 0.05em;
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 1em 2.2em 1em 1.2em;
  border: 1px solid #004ea1;
}
@media screen and (max-width: 768px) {
  ul.sqList li a {
    width: 100%;
    padding-left: 1.5em;
    padding-right: 2.5em;
  }
}
ul.sqList li a span {
  font-size: 80%;
  display: contents;
}
ul.sqList li a::after {
  content: "\e313";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  width: 1em;
  height: 1em;
  position: absolute;
  top: 50%;
  right: 0.8em;
  left: auto;
  transform: translateY(-50%);
  margin-left: 0;
}
ul.sqList li a:hover {
  text-decoration: none;
  color: #fff !important;
  background-color: #004ea1 !important;
  opacity: 1;
}

/* -------------------------------------------------- slick -------------------------------------------------- */
.pickupcontentsSlick {
  opacity: 0;
  transition: opacity 0.3s linear;
}

.pickupcontentsSlick.slick-initialized {
  opacity: 1;
}

#content .slick-slide img {
  max-width: none;
  width: 100%;
  height: auto;
}
#content .slick-prev,
#content .slick-next {
  z-index: 100;
  width: 10vw;
  height: 10vw;
}
@media print, screen and (min-width: 769px) {
  #content .slick-prev,
#content .slick-next {
    width: 2.5em;
    height: 2.5em;
  }
}
#content .slick-prev::before,
#content .slick-next::before {
  font-size: 1.4em;
  color: #333333;
  opacity: 1 !important;
  content: "";
  display: block;
  position: absolute;
  background-size: contain;
  background-position: center;
  width: 10vw;
  height: 10vw;
}
@media print, screen and (min-width: 769px) {
  #content .slick-prev::before,
#content .slick-next::before {
    width: 2.5em;
    height: 2.5em;
  }
}
#content .slick-prev {
  left: 0;
}
#content .slick-next {
  right: 0;
}
#content .slick-dots {
  /* 3個以下の時はドット表示しない */
  width: auto;
  position: relative;
  bottom: 0;
  display: flex;
  gap: 0.5em;
  justify-content: center;
  margin: 0;
  margin-left: 0 !important;
  padding: 0;
}
#content .slick-dots:not(:has(:nth-child(4))) {
  display: none !important;
}
@media print, screen and (min-width: 769px) {
  #content .slick-dots {
    padding: 0;
  }
}
#content .slick-dots li {
  vertical-align: middle;
  opacity: 1 !important;
  margin: 0;
  width: 3.6em;
  height: 0.45em;
}
#content .slick-dots li:first-child {
  margin-left: calc(0.45em * 2);
}
#content .slick-dots li:last-child {
  margin-right: calc(0.45em * 2);
}
#content .slick-dots li button {
  font-size: 1em;
  width: 3.6em;
  height: 0.45em;
  line-height: 0.45em;
  background-color: #fff;
  border-radius: 1em;
  border: 0.1em solid #004ea1;
  padding: 0;
}
#content .slick-dots li button::before {
  display: none;
}
#content .slick-dots li.slick-active button {
  background-color: #004ea1;
  opacity: 1;
}
#content .slick-dots li.slick-active button::before {
  display: none;
}
#content .common-arrow-prev,
#content .common-arrow-next {
  cursor: pointer;
}
#content .common-arrow-prev::before,
#content .common-arrow-next::before {
  content: "";
  display: block;
  width: 2.5em;
  height: 2.5em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
#content .common-arrow-prev:hover::before,
#content .common-arrow-next:hover::before {
  filter: brightness(2);
}
#content .common-arrow-prev::before {
  background-image: url(../img/top-slick_prev.svg);
}
#content .common-arrow-next::before {
  background-image: url(../img/top-slick_next.svg);
}
#content .mainColor ul.slick-dots {
  text-align: left;
}
#content .mainColor ul.slick-dots li.slick-active button {
  opacity: 1 !important;
  background-color: #004ea1 !important;
}

/*--------------------------------------------------------------------------------
btn,cat
--------------------------------------------------------------------------------*/
/* 日本ガス協会 www.gas.or.jp/anzen/gas-smell/ からの移植 */
.caution_text {
  color: #c80d22;
  display: flex;
  align-items: center;
}
.caution_text.has-text-align-center {
  justify-content: center;
}
.caution_text img {
  margin-right: 1em;
}
.caution_text span {
  line-height: 1.5;
}

span.vmiddle {
  vertical-align: middle;
}
span.table_cell {
  display: table-cell;
}

span.need, span.noneed {
  line-height: 1.8;
  font-size: 80%;
  font-weight: bold;
  padding: 0 1em;
  display: inline-block;
  letter-spacing: 0.15em;
  border-radius: 0.2em;
  white-space: nowrap;
}
span.need {
  background-color: #d40000;
  color: #fff;
}
span.noneed {
  background-color: #2b2b2b;
  color: #fff;
}

.btnArea {
  margin-top: 1.5em;
  margin-bottom: 2em;
}

.btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1em;
}
@media screen and (max-width: 768px) {
  .btn {
    justify-content: center;
  }
}
.btn.center {
  justify-content: center;
}
.btn.newtabText a {
  padding-right: 8em;
}

/* --------------------------------------------------------------------------------
 catset
-------------------------------------------------------------------------------- */
.cat {
  display: inline-block;
  min-width: 10em;
}
.cat:not(:has(a)) {
  text-align: center;
  font-weight: bold;
  display: inline-block;
  text-decoration: none;
  padding: 0 1em;
  background-color: #5495b8;
  color: #fff;
  border: 0.1em solid #5495b8;
  border-radius: 0.4em;
}
@media screen and (max-width: 768px) {
  .cat:not(:has(a)) {
    font-size: 70%;
    line-height: 1.4;
  }
}
@media print, screen and (min-width: 769px) {
  .cat:not(:has(a)) {
    font-size: 80%;
  }
}

.centerBtnBlock {
  text-align: center;
}
.centerBtnBlock a {
  box-sizing: border-box;
  margin: 0 auto;
}
.centerBtnBlock a::after {
  position: relative;
  top: auto;
  bottom: auto;
  right: auto;
  left: auto;
}

/*--------------------------------------------------------------------------------
header
--------------------------------------------------------------------------------*/
header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 100;
}
header #mainNavi {
  box-sizing: border-box;
  top: 0;
  left: 0;
  z-index: 800;
  width: 100%;
  padding: 0;
  flex-direction: column;
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  padding: 0 2vw;
  /* common */
  /* hover,focus メガメニュー操作（ホバーで表示） utilityの企業情報、メインメニューのホバーメニュー  */
}
header #mainNavi .navTOP {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
}
@media screen and (max-width: 768px) {
  header #mainNavi .navTOP {
    height: calc(25vw / 2);
  }
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .navTOP {
    height: calc(16vw / 2);
  }
}
@media print, screen and (min-width: 1280px) {
  header #mainNavi .navTOP {
    height: calc(10vw * 3 / 5);
  }
}
header #mainNavi .navTOP .site-titleArea {
  display: flex;
  align-items: center;
}
header #mainNavi .navTOP .site-titleArea #site-title {
  display: inline-block;
  box-sizing: border-box;
  margin-top: 0;
  margin-bottom: 0;
}
header #mainNavi .navTOP .site-titleArea #site-title a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 200%;
  line-height: 1;
  font-weight: bold;
  text-decoration: none;
  color: #333333;
}
header #mainNavi .navTOP .site-titleArea #site-title a img {
  height: auto;
  vertical-align: bottom;
  display: inline-block;
  width: 35vw;
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .navTOP .site-titleArea #site-title a img {
    width: 20vw;
  }
}
@media print, screen and (min-width: 1280px) {
  header #mainNavi .navTOP .site-titleArea #site-title a img {
    width: auto;
    height: calc(10vw * 4 / 9);
  }
}
header #mainNavi .navTOP .site-titleArea p.siteName {
  font-size: 0.9em;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  header #mainNavi .navTOP .site-titleArea p.siteName {
    font-size: max(70%, 3vw);
    line-height: 1;
  }
}
header #mainNavi .navTOP .utilityArea {
  margin-bottom: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1em;
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  list-style-type: none;
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li {
  padding-top: 1em;
  padding-bottom: 1em;
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li:not(:first-of-type) > a {
  border-left: 0.1em solid #dddddd;
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li > a {
  display: flex;
  align-items: center;
  font-weight: 700;
  font-size: 90%;
  letter-spacing: 0.05em;
  padding-left: 1.3em;
  padding-right: 1.3em;
  text-decoration: none;
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li > a:hover {
  text-decoration: none !important;
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li a {
  color: #333333;
  text-decoration: none;
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li a:hover {
  color: #004ea1;
  text-decoration: underline;
  opacity: 1;
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li a {
    font-size: 1vw;
  }
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li ul li {
  letter-spacing: 0.05em;
  padding-left: 0.3vw;
  padding-right: 0.3vw;
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li.house > a::before {
  content: "\e7fd";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-weight: normal;
  margin-right: 0.25em;
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li.business > a::before {
  content: "\ea40";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-weight: normal;
  margin-right: 0.25em;
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li.company {
  position: relative;
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li.company > a::before {
  content: "\e88e";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-weight: normal;
  margin-right: 0.25em;
}
header #mainNavi .navTOP .utilityArea ul.utilitymenuArea > li.recruit > a::before {
  content: "\f106";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-weight: normal;
  margin-right: 0.25em;
}
header #mainNavi .navTOP .utilityArea ul.utilitybtnArea {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: fixed;
  z-index: 500;
  bottom: 0;
  left: 0;
  width: 100%;
  /* ボタン */
}
@media print, screen and (min-width: 1280px) {
  header #mainNavi .navTOP .utilityArea ul.utilitybtnArea {
    position: relative;
    bottom: auto;
    left: auto;
    gap: 1em;
    width: auto;
  }
}
header #mainNavi .navTOP .utilityArea ul.utilitybtnArea .emergencytBtn,
header #mainNavi .navTOP .utilityArea ul.utilitybtnArea .contactBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1; /* 空間の余った分を均等に割り当てる */
  flex-shrink: 0; /* 縮ませない */
}
header #mainNavi .navTOP .utilityArea ul.utilitybtnArea .emergencytBtn a,
header #mainNavi .navTOP .utilityArea ul.utilitybtnArea .contactBtn a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  padding: 0.5em 1em;
}
header #mainNavi .navTOP .utilityArea ul.utilitybtnArea .emergencytBtn a {
  background-color: #c80d22;
  border-radius: 0.5em 0 0 0;
  border: 0.1em solid #c80d22;
}
@media print, screen and (min-width: 1280px) {
  header #mainNavi .navTOP .utilityArea ul.utilitybtnArea .emergencytBtn a {
    border-radius: 0.5em;
  }
}
header #mainNavi .navTOP .utilityArea ul.utilitybtnArea .emergencytBtn a::before {
  content: "\e002";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-variation-settings: "FILL" 1;
  margin-right: 0.5em;
}
header #mainNavi .navTOP .utilityArea ul.utilitybtnArea .emergencytBtn a:hover {
  background-color: #fff;
  color: #c80d22;
  opacity: 1;
}
header #mainNavi .navTOP .utilityArea ul.utilitybtnArea .contactBtn a {
  background-color: #004ea1;
  border-radius: 0 0.5em 0 0;
  border: 0.1em solid #004ea1;
}
@media print, screen and (min-width: 1280px) {
  header #mainNavi .navTOP .utilityArea ul.utilitybtnArea .contactBtn a {
    border-radius: 0.5em;
  }
}
header #mainNavi .navTOP .utilityArea ul.utilitybtnArea .contactBtn a::before {
  content: "\e158";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-variation-settings: "FILL" 1;
  margin-right: 0.5em;
}
header #mainNavi .navTOP .utilityArea ul.utilitybtnArea .contactBtn a:hover {
  background-color: #fff;
  color: #004ea1;
  opacity: 1;
}
header #mainNavi .navTOP ul.snsList {
  /* 右端メニューボタンの横に配置 */
  margin-left: auto;
  margin-right: 1em;
}
@media screen and (max-width: 768px) {
  header #mainNavi .navTOP ul.snsList {
    gap: 0.5em;
  }
}
header #mainNavi .navTOP ul.snsList li img {
  width: 8vw;
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .navTOP ul.snsList li img {
    width: 4.5vw;
  }
}
header #mainNavi .navTOP ul.snsList li span {
  display: none;
}
@media print, screen and (min-width: 1280px) {
  header #mainNavi .navTOP ul.snsList li span {
    display: block;
  }
}
header #mainNavi .navTOP .menuBtn {
  z-index: 100;
  border: none;
  cursor: pointer;
  box-sizing: border-box;
  border: none;
  display: flex;
  align-items: center;
  flex-direction: column;
  background-image: url(../img/menubtn-close.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 8vw;
  height: 8vw;
}
header #mainNavi .navTOP .menuBtn span {
  display: block;
}
@media screen and (max-width: 768px) {
  header #mainNavi .navTOP .menuBtn span {
    font-size: 3vw;
  }
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .navTOP .menuBtn {
    width: 4.5vw;
    height: 4.5vw;
  }
}
header #mainNavi .navTOP .menuBtn.active {
  background-image: url(../img/menubtn.svg);
}
header #mainNavi .navBTM {
  display: flex;
  align-items: center;
  justify-content: center;
  /* --------------------------------------------------
  SP,TB用
  -------------------------------------------------- */
  /* --------------------------------------------------
  PC
  -------------------------------------------------- */
  /* menu-common-container */
}
@media screen and (max-width: 768px) {
  header #mainNavi .navBTM {
    height: calc(25vw / 2);
  }
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .navBTM {
    height: calc(16vw / 2);
  }
}
@media print, screen and (min-width: 1280px) {
  header #mainNavi .navBTM {
    height: calc(10vw * 2 / 5);
    justify-content: flex-end;
  }
}
header #mainNavi .navBTM ul.segmentList {
  display: flex;
  align-items: center;
  list-style-type: none;
  justify-content: center;
  letter-spacing: -1em;
}
header #mainNavi .navBTM ul.segmentList li {
  letter-spacing: 0;
  padding: 0 0.8em;
}
@media screen and (max-width: 768px) {
  header #mainNavi .navBTM ul.segmentList li {
    padding: 0 1.5vw;
  }
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .navBTM ul.segmentList li:not(:first-of-type) {
    border-left: 0.1em solid #dddddd;
  }
}
header #mainNavi .navBTM ul.segmentList li a {
  color: #333333;
  letter-spacing: 0.1em;
  padding: 0.4em 0.4em;
  position: relative;
}
@media screen and (max-width: 768px) {
  header #mainNavi .navBTM ul.segmentList li a {
    text-align: center;
    display: block;
    letter-spacing: 0;
    font-size: 2.8vw;
    padding: 0.3vw 0.3vw;
  }
}
header #mainNavi .navBTM ul.segmentList li a:hover {
  text-decoration: none;
}
header #mainNavi .navBTM ul.segmentList li.current a {
  color: #004ea1;
}
header #mainNavi .navBTM ul.segmentList li.current a::before {
  content: "";
  display: inline-block;
  background-color: #004ea1;
  position: absolute;
  width: 100%;
  height: 0.15em;
  min-height: 2px;
  bottom: -1px;
  left: 0;
}
header #mainNavi .navBTM .menu-common-container {
  /* ul */
}
header #mainNavi .navBTM .menu-common-container ul {
  margin: 0 auto;
  letter-spacing: -1em;
  display: flex;
  justify-content: flex-end;
}
header #mainNavi .navBTM .menu-common-container ul li {
  letter-spacing: 0.05em;
  position: relative;
  display: inline-block;
  list-style-type: none;
  margin: 0;
  padding-left: 0.3vw;
  padding-right: 0.3vw;
}
header #mainNavi .navBTM .menu-common-container ul li a {
  display: inline-flex;
  align-items: center;
  color: #333333;
  padding: 0;
  line-height: 1.5vw;
  font-weight: bold;
  text-decoration: none;
  position: relative;
}
@media print, screen and (min-width: 769px) {
  header #mainNavi .navBTM .menu-common-container ul li a {
    font-size: 1vw;
  }
}
header #mainNavi .navBTM .menu-common-container ul li a:hover {
  color: #004ea1;
}
header #mainNavi .navBTM .menu-common-container ul li.parentLi {
  /*--------------------------------------------------
  current
  --------------------------------------------------*/
  /* archive */
}
header #mainNavi .navBTM .menu-common-container ul li.parentLi > a {
  padding-left: 0.5em;
  padding-right: 0.5em;
  font-weight: 500;
}
@media print, screen and (min-width: 1280px) {
  header #mainNavi .navBTM .menu-common-container ul li.parentLi > a {
    height: calc(10vw / 5 * 2);
    padding-bottom: 0.5em;
  }
}
header #mainNavi .navBTM .menu-common-container ul li.parentLi > a:hover {
  opacity: 1;
}
header #mainNavi .navBTM .menu-common-container ul li.parentLi.hasChild {
  position: relative;
}
header #mainNavi .navBTM .menu-common-container ul li.parentLi.hasChild > a::after {
  content: "\e313";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  margin-left: 0.4em;
  color: #dbdbdb;
}
header #mainNavi .navBTM .menu-common-container ul li.parentLi.hasChild > a:hover::after {
  color: #004ea1;
  transition: 0.2s;
}
body.post-type-archive-s-news header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a, body.post-type-archive-r-works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a, body.post-type-archive-works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-works > a, body.post-type-archive-apron header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-communication > a, body.post-type-archive-laundry header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-service > a, body.single-s-news header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a, body.single-r-works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a, body.single-works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-works > a, body.single-apron header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-communication > a, body.single-laundry header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-service > a, body.tax-s-newslist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a, body.tax-r-workslist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a, body.tax-workslist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-works > a, body.tax-apronlist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-communication > a, body.tax-laundrylist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-service > a, body.home header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-home > a, body.about header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-about > a, body.contact:not(.showroom) header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-contact > a, body.price:not(.welfare) header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-price > a, body.showroom header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a, body.safety header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-safety > a, body.service header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-service > a, body.communication header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-communication > a, body.business:not(.businessprice):not(.equipment):not(.environment) header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-business > a, body.businessprice header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-businessprice > a, body.equipment header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-equipment > a, body.environment header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-environment > a, body.works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-works > a, header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-menu-item > a {
  font-weight: 700;
  position: relative;
  color: #004ea1;
}
body.post-type-archive-s-news header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::before, body.post-type-archive-r-works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::before, body.post-type-archive-works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-works > a::before, body.post-type-archive-apron header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-communication > a::before, body.post-type-archive-laundry header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-service > a::before, body.single-s-news header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::before, body.single-r-works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::before, body.single-works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-works > a::before, body.single-apron header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-communication > a::before, body.single-laundry header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-service > a::before, body.tax-s-newslist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::before, body.tax-r-workslist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::before, body.tax-workslist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-works > a::before, body.tax-apronlist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-communication > a::before, body.tax-laundrylist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-service > a::before, body.home header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-home > a::before, body.about header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-about > a::before, body.contact:not(.showroom) header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-contact > a::before, body.price:not(.welfare) header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-price > a::before, body.showroom header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::before, body.safety header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-safety > a::before, body.service header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-service > a::before, body.communication header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-communication > a::before, body.business:not(.businessprice):not(.equipment):not(.environment) header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-business > a::before, body.businessprice header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-businessprice > a::before, body.equipment header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-equipment > a::before, body.environment header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-environment > a::before, body.works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-works > a::before, header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-menu-item > a::before {
  content: "";
  display: inline-block;
  background-color: #004ea1;
  position: absolute;
  width: 100%;
  height: 0.15em;
  bottom: 0.7em;
  left: 0;
}
body.post-type-archive-s-news header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::after, body.post-type-archive-r-works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::after, body.post-type-archive-works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-works > a::after, body.post-type-archive-apron header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-communication > a::after, body.post-type-archive-laundry header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-service > a::after, body.single-s-news header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::after, body.single-r-works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::after, body.single-works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-works > a::after, body.single-apron header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-communication > a::after, body.single-laundry header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-service > a::after, body.tax-s-newslist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::after, body.tax-r-workslist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::after, body.tax-workslist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-works > a::after, body.tax-apronlist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-communication > a::after, body.tax-laundrylist header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-service > a::after, body.home header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-home > a::after, body.about header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-about > a::after, body.contact:not(.showroom) header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-contact > a::after, body.price:not(.welfare) header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-price > a::after, body.showroom header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-showroom > a::after, body.safety header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-safety > a::after, body.service header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-service > a::after, body.communication header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-communication > a::after, body.business:not(.businessprice):not(.equipment):not(.environment) header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-business > a::after, body.businessprice header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-businessprice > a::after, body.equipment header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-equipment > a::after, body.environment header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-environment > a::after, body.works header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-works > a::after, header #mainNavi .navBTM .menu-common-container ul li.parentLi.current-menu-item > a::after {
  color: #004ea1;
}
header #mainNavi .navBTM .menu-common-container > ul > li > a:hover {
  opacity: 1;
  color: #004ea1;
}
header #mainNavi li:hover div.subcategoryWrap.toggleWrap {
  opacity: 1;
  height: auto;
  visibility: visible;
  transition: 0.5s;
  z-index: 999;
}
header #mainNavi div.subcategoryWrap {
  background-color: #fff;
  border-radius: 0.8em;
  box-shadow: 0 0 0.15em rgba(0, 0, 0, 0.2);
  filter: drop-shadow(0 0 0.15em rgba(0, 0, 0, 0.2));
  top: calc(10vw / 5 * 1.5 - 0.1em);
  top: calc(10vw / 5 * 2 - 0.1em);
  position: absolute;
}
header #mainNavi div.subcategoryWrap > ::before {
  content: "";
  position: absolute;
  top: -0.7em;
  left: 3em;
  transform: translateX(-50%);
  border-left: 0.5em solid transparent;
  border-right: 0.5em solid transparent;
  border-bottom: 0.8em solid #fff;
}
header #mainNavi div.subcategoryWrap.subcategoryWrap-right {
  right: 0;
}
header #mainNavi div.subcategoryWrap.subcategoryWrap-right > ::before {
  left: auto;
  right: 3em;
}
header #mainNavi div.subcategoryWrap.toggleWrap {
  /* 初期状態_非表示用 hidden */
  opacity: 0;
  visibility: hidden;
  height: 0;
}
header #mainNavi div.subcategoryWrap .megaMenuWrap {
  display: flex;
  flex-wrap: nowrap;
  padding: 2em;
  margin-left: auto;
  margin-right: auto;
  align-items: center;
  gap: 1em;
}
header #mainNavi div.subcategoryWrap .megaMenuWrap .megaMenuTitleArea .indexLink a {
  font-weight: bold;
  display: inline-block;
  box-sizing: border-box;
  margin: 0 auto;
  color: #004ea1;
  text-decoration: none;
  letter-spacing: 0.05em;
  position: relative;
  cursor: pointer;
  padding: 0 0 0.5em 0;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-decoration: none;
}
header #mainNavi div.subcategoryWrap .megaMenuWrap .megaMenuTitleArea .indexLink a::after {
  content: "";
  display: inline-block;
  background-color: #004ea1;
  position: absolute;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
}
header #mainNavi div.subcategoryWrap .megaMenuWrap .megaMenuTitleArea .indexLink a:hover {
  text-decoration: none;
}
header #mainNavi div.subcategoryWrap .megaMenuWrap .megaMenuTitleArea .indexLink a:hover::after {
  display: none;
}
header #mainNavi div.subcategoryWrap li {
  flex-direction: column;
}
header #mainNavi div.subcategoryWrap ul.sub-menu {
  display: grid;
  margin-left: 1em;
  border-left: 1px solid #dddddd;
  padding-left: 1em;
  font-size: 90%;
}
header #mainNavi div.subcategoryWrap ul.sub-menu.column2 {
  grid-template-columns: repeat(2, 1fr);
}
header #mainNavi div.subcategoryWrap ul.sub-menu li a {
  padding: 0 0.5em 0 0.5em;
  margin: 0.25em 0;
  text-align: left;
  line-height: 1.5;
  display: block;
  width: 100%;
  white-space: nowrap;
  box-sizing: border-box;
  font-weight: 500;
}
header #mainNavi div.subcategoryWrap ul.sub-menu li a span {
  font-size: 90%;
}
header #mainNavi div.subcategoryWrap ul.sub-menu li a span.small::before {
  content: "　"; /* 全角1文字分空白 */
}
header #mainNavi div.subcategoryWrap ul.sub-menu li a:hover {
  text-decoration: underline;
}
header #mainNavi div.subcategoryWrap ul.sub-menu li a:hover::before {
  color: #dddddd;
}
header #mainNavi div.subcategoryWrap ul.sub-menu li ul.sub-menu {
  border-left: none;
  padding-left: 0.5em;
  margin-left: 0;
  justify-content: flex-start;
}

/*--------------------------------------------------------------------------------
	スマホ用メニュー
--------------------------------------------------------------------------------*/
#spMenuWrap {
  display: none;
  position: absolute;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 100;
  height: calc(100dvh - 25vw / 2 - 3em);
  top: calc(25vw / 2);
}
@media print, screen and (min-width: 769px) {
  #spMenuWrap {
    height: calc(100dvh - 16vw / 2);
    top: calc(16vw / 2);
  }
}
#spMenuWrap #spMenu {
  position: relative;
  background-color: #fff;
  overflow-y: auto;
  width: 100%;
  height: 100%;
  padding-bottom: 0.5em;
}
#spMenuWrap #spMenu a {
  width: 100%;
  display: block;
  padding: 0.7em 0;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  color: #333333;
}
#spMenuWrap #spMenu a:hover {
  text-decoration: none;
}
#spMenuWrap #spMenu .segmentLi > a {
  background-color: #aaaaaa;
  color: #fff;
  position: relative;
  padding-left: 0.7em;
  padding-right: 0.7em;
}
#spMenuWrap #spMenu .segmentLi > a::before {
  content: "\e145";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  position: absolute;
  font-size: 130%;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
}
#spMenuWrap #spMenu .segmentLi > a.active::before {
  content: "\e15b";
  font-family: "Material Symbols Outlined";
  line-height: 1;
}
#spMenuWrap #spMenu .segmentLi > a:not(.active) {
  position: relative;
}
#spMenuWrap #spMenu .segmentLi > a:not(.active)::after {
  width: 100%;
  content: "";
  display: inline-block;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}
#spMenuWrap #spMenu .segmentLi .segmentInner {
  display: none;
}
#spMenuWrap #spMenu .segmentLi .segmentInner {
  background-color: #edf6ff;
  padding-left: 1em;
  padding-right: 1em;
  padding-bottom: 1em;
}
#spMenuWrap #spMenu .segmentLi .segmentInner .indexLink {
  position: relative;
}
#spMenuWrap #spMenu .segmentLi .segmentInner .indexLink a::after {
  background-image: url(../img/top-slick_next.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li {
  font-size: 95%;
  border-top: 0.1em solid #e7e7e7;
  position: relative;
  /* common */
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li a {
  position: relative;
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li a::before {
  color: #004ea1;
  content: "\e315";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  position: absolute;
  font-size: 100%;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li a.pdfIcon {
  position: relative;
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li a.newtabIcon {
  position: relative;
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li a.newtabText {
  position: relative;
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li.parentLi.hasChild {
  position: relative;
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li.parentLi.hasChild > a {
  position: relative;
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li.parentLi.hasChild > a::before {
  content: "\e145";
  font-family: "Material Symbols Outlined";
  line-height: 1;
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li.parentLi.hasChild > a.active::before {
  content: "\e15b";
  font-family: "Material Symbols Outlined";
  line-height: 1;
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li.parentLi.hasChild ul.sub-menu {
  display: none;
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li.parentLi.hasChild ul.sub-menu li:last-of-type {
  border-bottom: none;
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li.parentLi.hasChild ul.sub-menu li a {
  padding-left: 1em;
}
#spMenuWrap #spMenu .segmentLi .segmentInner ul li.parentLi.hasChild ul.sub-menu li ul {
  display: block;
  padding-left: 1em;
}
#spMenuWrap #spMenu ul.utility {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
#spMenuWrap #spMenu ul.utility li {
  position: relative;
}
#spMenuWrap #spMenu ul.utility li a {
  padding: 0.6em 0.7em;
}
#spMenuWrap #spMenu ul.utility li a::before {
  content: "\e315";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  color: #004ea1;
  position: absolute;
  font-size: 100%;
  top: 50%;
  right: 0.5em;
  transform: translateY(-50%);
}

/*--------------------------------------------------------------------------------
pagetitle
--------------------------------------------------------------------------------*/
.pagetitleWrap {
  width: 100%;
}
.pagetitleWrap .pagetitleBg {
  border-top: 1px solid #ddd;
  padding-top: 2px;
  background-color: #f6faff;
}
.pagetitleWrap .pagetitleBg .pagetitle {
  margin: 0 auto;
}
.pagetitleWrap .pagetitleBg .pagetitle .entry-title {
  box-sizing: border-box;
  text-align: center;
  display: block;
  font-weight: bold;
  font-size: 1.5em;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}
@media screen and (max-width: 768px) {
  .pagetitleWrap .pagetitleBg .pagetitle .entry-title {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 1em;
    padding-bottom: 1em;
  }
}
@media print, screen and (min-width: 769px) {
  .pagetitleWrap .pagetitleBg .pagetitle .entry-title {
    font-size: 2.5em;
  }
}
.pagetitleWrap.showroom {
  padding: 2em 1em;
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 768px) {
  .pagetitleWrap.showroom {
    aspect-ratio: 2/1;
  }
}
@media print, screen and (min-width: 769px) {
  .pagetitleWrap.showroom {
    aspect-ratio: 3/1;
  }
}
@media print, screen and (min-width: 1280px) {
  .pagetitleWrap.showroom {
    padding: 4em 5em;
  }
}
.pagetitleWrap.showroom .textArea {
  z-index: 1;
  color: #fff;
}
.pagetitleWrap.showroom .textArea h1.text02 {
  font-size: 1.8em;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 0.5em;
}
@media print, screen and (min-width: 769px) {
  .pagetitleWrap.showroom .textArea h1.text02 {
    font-size: 3em;
  }
}
@media screen and (max-width: 768px) {
  .pagetitleWrap.showroom .textArea .text03 p br {
    display: none;
  }
}
.pagetitleWrap.showroom::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(115, 115, 115, 0) 60%, #737373 100%);
  pointer-events: none; /* 背景として機能させ、クリックを透過 */
  mix-blend-mode: multiply; /* 乗算モード */
}
.pagetitleWrap.showroom-child {
  display: grid;
  grid-template-columns: 1fr; /* 1列に設定 */
  grid-template-rows: auto;
  margin-bottom: 2em;
}
.pagetitleWrap.showroom-child .titleArea {
  grid-row: 1/2;
  grid-column: 1/2;
  padding: 2em 1.5em 5em 1.5em;
}
.pagetitleWrap.showroom-child .imgArea {
  grid-row: 2/3;
  grid-column: 1/2;
  height: 30vw; /* スマホで画像の高さを30vwに設定 */
  border-radius: 0;
  margin-top: -3em;
  z-index: 1;
  margin-left: 1.5em;
  border-radius: 1em 0 0 1em;
}
.pagetitleWrap.showroom-child .breadcrumbList {
  grid-row: 3/4;
  grid-column: 1/2;
}
@media print, screen and (min-width: 1280px) {
  .pagetitleWrap.showroom-child {
    margin-bottom: 3em;
    grid-template-columns: 3fr 5fr; /* 横並びにするために2列に設定 */
    grid-template-rows: auto auto; /* 行は2つ */
  }
  .pagetitleWrap.showroom-child .titleArea {
    grid-row: 1/2;
    grid-column: 1/2;
    padding: 4em 4em 4em 4em;
  }
  .pagetitleWrap.showroom-child .imgArea {
    margin-top: 0;
    margin-left: 0;
    grid-row: 1/3;
    grid-column: 2/3;
    height: auto; /* PCでは高さを自動調整 */
    border-radius: 0 0 0 3em;
  }
  .pagetitleWrap.showroom-child .breadcrumbList {
    grid-row: 2/3;
    grid-column: 1/2;
  }
}
.pagetitleWrap.showroom-child .titleArea {
  color: #fff;
  background-color: #ea5520;
  background-image: url(../img/showroom/titlebg.svg);
  background-repeat: no-repeat;
  background-position: right 1em bottom;
  background-size: contain;
}
.pagetitleWrap.showroom-child .titleArea .title,
.pagetitleWrap.showroom-child .titleArea h1 {
  font-size: 2em;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: bold;
}
.pagetitleWrap.showroom-child .titleArea p {
  margin-top: 1.5em;
  margin-bottom: 0;
}
.pagetitleWrap.showroom-child .imgArea {
  background-color: #f6f6f6;
  background-repeat: no-repeat;
  position: relative;
}
.pagetitleWrap.showroom-child .breadcrumbList {
  padding: 1em;
}
@media print, screen and (min-width: 769px) {
  .pagetitleWrap.showroom-child .breadcrumbList {
    padding: 1em 1.5em 1em 4em;
  }
}

/*--------------------------------------------------------------------------------
breadcrumbList
--------------------------------------------------------------------------------*/
#content div.taxonomyList .titleArea {
  background-color: #004ea1;
  border-radius: 0.5em 0.5em 0 0;
  padding: 0.8em 1.6em;
  display: inline-block;
}
#content div.taxonomyList .titleArea strong {
  color: #fff;
}
#content div.taxonomyList ul.terms {
  padding: 2em;
  background-color: #f6f6f6;
  display: flex;
  gap: 0.8em;
  flex-wrap: wrap;
  margin: 0 0 2em 0;
}
@media screen and (max-width: 768px) {
  #content div.taxonomyList ul.terms {
    padding: 1em;
  }
}
@media screen and (max-width: 768px) {
  #content div.taxonomyList ul.terms {
    gap: 0.5em 0.4em;
  }
}
#content div.taxonomyList ul.terms li {
  list-style-type: none;
}
#content div.taxonomyList ul.terms li a {
  border-radius: 2em;
  line-height: 1.3;
  padding: 0.3em 1.6em;
  border: 1px solid #fff;
  color: #333333;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  #content div.taxonomyList ul.terms li a {
    padding: 0.3em 0.8em;
  }
}
#content div.taxonomyList ul.terms li a:hover {
  color: #004ea1;
  border-color: #004ea1;
  text-decoration: none !important;
}
#content div.taxonomyList ul.terms li a .count {
  font-size: 80%;
  vertical-align: middle;
}
#content div.taxonomyList ul.terms li.current a {
  color: #fff;
  border-color: #004ea1;
  background-color: #004ea1;
  text-decoration: none;
  pointer-events: none;
}

div.breadcrumbList {
  color: #333333;
  padding-top: 1em;
  padding-bottom: 2em;
  font-weight: 400;
  display: flex;
  gap: 0.4em 0;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (max-width: 768px) {
  div.breadcrumbList {
    padding-top: 4vw;
    padding-bottom: 4vw;
    margin-top: 0;
    margin-bottom: 0;
  }
}
div.breadcrumbList a {
  color: #333333;
}
div.breadcrumbList a:hover {
  text-decoration: underline;
  color: #004ea1;
}
div.breadcrumbList span {
  line-height: 1.4;
}
div.breadcrumbList span:nth-child(n+2) {
  position: relative;
  display: flex;
  align-items: center;
}
div.breadcrumbList span:nth-child(n+2):before {
  content: "\e315";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-weight: 300;
  margin-left: 0.5em;
  margin-right: 0.5em;
  text-indent: 0;
  display: inline-block;
  line-height: inherit; /* 親の高さに揃える */
}

/*--------------------------------------------------------------------------------
footer
--------------------------------------------------------------------------------*/
footer .footercontactmenuAreaWrap {
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 1280px) {
  footer .footercontactmenuAreaWrap {
    flex-direction: row;
  }
}
footer .footercontactmenuAreaWrap .footercontactArea {
  background-color: #004ea1;
  padding: 3em 1em;
}
@media print, screen and (min-width: 769px) {
  footer .footercontactmenuAreaWrap .footercontactArea {
    width: 100%;
  }
}
@media print, screen and (min-width: 1280px) {
  footer .footercontactmenuAreaWrap .footercontactArea {
    border-radius: 0 2em 0 0;
    width: 40%;
    padding: 5em;
  }
}
footer .footercontactmenuAreaWrap .footercontactArea .titleArea {
  color: #fff;
  margin-bottom: 3em;
}
footer .footercontactmenuAreaWrap .footercontactArea .titleArea h2 {
  text-align: left;
  margin-bottom: 1em;
}
footer .footercontactmenuAreaWrap .footercontactArea .titleArea h2 span.en {
  margin-bottom: 1em;
}
footer .footercontactmenuAreaWrap .footercontactArea .titleArea .description {
  font-size: 90%;
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .telArea {
  color: #fff;
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .telArea .telno {
  font-size: 2em;
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .telArea .telno a {
  display: flex;
  align-items: center;
  color: #fff;
  font-family: "Roboto", serif;
  letter-spacing: 0.1em;
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .telArea .telno a::before {
  content: "\e0b0";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  font-variation-settings: "FILL" 1;
  margin-right: 0.3em;
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .telArea .telno a:hover {
  text-decoration: none !important;
  color: #dddddd !important;
}
@media screen and (max-width: 768px) {
  footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea {
    margin-top: 1em;
    margin-bottom: 1em;
  }
}
@media print, screen and (min-width: 1280px) {
  footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea {
    margin-bottom: 3em;
  }
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul {
  padding-left: 0;
  display: grid;
  gap: 1em;
  list-style-type: none;
}
@media print, screen and (min-width: 769px) {
  footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print, screen and (min-width: 1280px) {
  footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media print, screen and (min-width: 769px) and (max-width: 1279px) {
  footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li {
    display: flex;
  }
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li a {
  vertical-align: middle;
  font-weight: bold;
  box-sizing: border-box;
  border: 0.1em solid #004ea1;
  text-decoration: none;
  letter-spacing: 0.05em;
  position: relative;
  border-radius: 0.6em;
  cursor: pointer;
  padding: 1.3em 3.5em 1.3em 1.3em;
  display: block;
  color: #004ea1;
  background-color: #fff;
}
@media print, screen and (min-width: 769px) and (max-width: 1279px) {
  footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li a {
    display: grid;
    align-items: center;
    width: 100%;
    min-height: 100%;
    text-decoration: none;
    padding: 1em;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 768px) {
  footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li a {
    width: 100%;
  }
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li a::after {
  background-image: url(../img/top-slick_next.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  position: absolute;
  right: 1.5em;
  top: 50%;
  transform: translateY(-50%);
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li a:hover {
  color: #fff !important;
  background-color: #004ea1;
  border-color: #fff;
  opacity: 1;
  text-decoration: none !important;
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li a:hover::after {
  background-image: url(../img/top-slick_next-white.svg);
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li.gasmap a {
  font-size: 120%;
  background-position: center;
  background-size: cover;
  background-image: url(../img/btn_gasmapbg.png);
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li.gasmap a span.small {
  font-size: 65%;
  display: block;
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li.gasmap a span.main {
  display: block;
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li.gasmap a span.main strong {
  font-size: 150%;
  color: #c80d22;
  font-size: 115%;
  padding-right: 0.1em;
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li.gasmap a:hover {
  background-image: none;
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li.gasmap a:hover span.main strong {
  color: #fff;
}
@media (min-width: 1280px) and (max-width: 1400px) {
  footer .footercontactmenuAreaWrap .footercontactArea .contactArea .btnArea ul li.gasmap {
    font-size: 90%;
  }
}
footer .footercontactmenuAreaWrap .footercontactArea .contactArea .copyright {
  color: #fff;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea {
  background-color: #f9f9f9;
  flex: 1;
  padding: 3em 1em 5em 1em;
}
@media print, screen and (min-width: 769px) {
  footer .footercontactmenuAreaWrap .footeraddressmenuArea {
    width: 100%;
  }
}
@media print, screen and (min-width: 1280px) {
  footer .footercontactmenuAreaWrap .footeraddressmenuArea {
    width: 60%;
    margin-top: 3em;
    padding: 4em 5em 4em 6em;
  }
}
@media screen and (max-width: 768px) {
  footer .footercontactmenuAreaWrap .footeraddressmenuArea .spmenuArea {
    margin-bottom: 5em;
  }
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .spmenuArea ul li {
  border-bottom: 1px solid #dddddd;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .spmenuArea ul li a {
  padding: 0.7em 0;
  display: block;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea {
  display: grid;
  position: relative;
  margin-bottom: 2em;
  gap: 3em 3em;
  padding-bottom: 1.5em;
  border-bottom: 1px solid #dddddd;
  grid-template-columns: 1fr;
}
@media print, screen and (min-width: 769px) {
  footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea {
    grid-template-columns: repeat(2, 1fr);
  }
  footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 1px;
    height: calc(100% - 1.5em);
    background-color: #dddddd;
    transform: translateX(-50%);
  }
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .nikahogasArea .logo,
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .tokaigasArea .logo {
  margin-bottom: 2em;
}
@media screen and (max-width: 768px) {
  footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .nikahogasArea .logo,
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .tokaigasArea .logo {
    maxi-width: 50vw;
  }
}
@media print, screen and (min-width: 769px) {
  footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .nikahogasArea .logo,
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .tokaigasArea .logo {
    margin-bottom: 3em;
  }
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .nikahogasArea .place > div:not(:last-child),
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .tokaigasArea .place > div:not(:last-child) {
  margin-bottom: 1em;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .nikahogasArea,
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .tokaigasArea {
  list-style-type: none;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .nikahogasArea > div,
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .tokaigasArea > div {
  font-size: 85%;
  line-height: 1.7;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .nikahogasArea > div strong,
footer .footercontactmenuAreaWrap .footeraddressmenuArea .logoaddressArea .tokaigasArea > div strong {
  display: block;
  margin-bottom: 0.5em;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .menuArea {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .menuArea .vertical ul {
  list-style-type: none;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .menuArea .vertical ul li {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .menuArea .vertical ul li:not(.index) > a {
  font-size: 0.85em;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .menuArea .vertical ul li:not(:first-of-type).index {
  margin-top: 1.5em;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .menuArea .vertical ul li a {
  color: #333333;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .menuArea .vertical ul li a:hover {
  color: #004ea1;
  text-decoration: underline;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .menuArea .vertical ul li.index {
  margin-bottom: 1em;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .menuArea .vertical ul li.index a {
  font-weight: bold;
  color: #004ea1;
  font-size: 0.9em;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .menuArea .vertical ul li ul.child {
  margin-left: 1em;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .menuArea .vertical ul li ul.child li {
  padding-left: 1.5em;
  position: relative;
}
footer .footercontactmenuAreaWrap .footeraddressmenuArea .menuArea .vertical ul li ul.child li:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.8em;
  height: 1px;
  background-color: #333333;
}
@media screen and (max-width: 768px) {
  footer .footercontactmenuAreaWrap .footeraddressmenuArea .copyright {
    text-align: center;
  }
}

/*--------------------------------------------------------------------------------
wp-pagenavi
--------------------------------------------------------------------------------*/
#content .wp-pagenavi {
  display: block;
  margin: 2em 0 2em 0;
  font-family: "Poppins", sans-serif;
  padding: 2em 0 2em 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #content .wp-pagenavi {
    margin-bottom: 0;
  }
}
#content .wp-pagenavi .pages {
  margin: 0.5em 0.3em !important;
  width: auto;
  background: #004ea1;
  border: 1px solid #004ea1;
  color: #fff;
}
#content .wp-pagenavi a,
#content .wp-pagenavi span {
  margin: 0 0.3em 0 0.3em;
  vertical-align: middle;
  padding: 0.3em 0.6em;
  min-width: 1em;
  display: inline-block;
  color: #333333;
  background-color: #f6f6f6;
  border: 1px solid #f6f6f6;
}
#content .wp-pagenavi a:hover {
  background-color: #004ea1;
  color: #fff;
  text-decoration: none;
}
#content .wp-pagenavi span.current {
  font-weight: bold;
  border-color: #004ea1;
  color: #fff;
  background: #004ea1;
}

body {
  background-color: #fff;
  color: #333333;
}

.bokun-widgets-cart-wrapper {
  visibility: hidden !important;
}

/* --------------------------------------------------------------------------------
   Global Elements
  -------------------------------------------------------------------------------- */
body {
  font-style: normal;
  line-height: 1.5;
  font-weight: 500;
  font-feature-settings: "rvrn" 1;
  font-family: "Roboto", "Zen Kaku Gothic New", "Segoe UI", "Noto Sans JP", sans-serif;
  font-size: 16px;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 3.8vw; /* swell「小」設定に合わせて*/
  }
}
@media print, screen and (min-width: 769px) {
  body {
    font-size: max(16px, 1vw);
  }
}

/* form
  ----------------------------- */
select {
  font-size: 1em;
  width: 100%; /* selectの幅をコンテナに合わせる */
  white-space: nowrap; /* テキストを1行に */
  overflow: hidden; /* はみ出した部分を隠す */
  text-overflow: ellipsis; /* はみ出した部分を...で表示 */
  color: #333333;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background-image: url("../img/chevron-down-solid.svg");
  background-repeat: no-repeat;
  background-size: 0.8em auto; /* 画像のサイズ（幅 高さ）*/
  background-position: right 1em center; /* 画像の位置 */
}

.selectWrap {
  display: inline-flex;
  align-items: center;
  position: relative;
  width: 100%;
}
.selectWrap select {
  min-width: 12em;
  padding: 0.8em 1.2em;
  border: none;
  background-color: #fff;
  border: 1px solid #dddddd;
}

/*--------------------------------------------------------------------------------
contact form お問い合わせ
--------------------------------------------------------------------------------*/
form > p {
  margin-bottom: 2em;
}

/* 説明 */
.leadTxt {
  margin-bottom: 2em;
}

.cautionTxt {
  color: #ff0000;
  color: #c80d22;
}

.hint {
  font-size: 90%;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.hint.nowrap {
  white-space: nowrap;
}

.leadBlock {
  line-height: 1.8;
  margin-top: 3em;
  margin-bottom: 3em;
}
.leadBlock span.need {
  margin-right: 0.8em;
}
.leadBlock .numberTxt {
  font-size: 120%;
  font-weight: bold;
}

img.ajax-loader {
  display: inline-block;
}

.wpcf7-spinner {
  display: none;
}

.grecaptcha-badge {
  visibility: hidden;
}

/* 通常のフォーム用 */
/* 郵便番号入力欄のIME無効化 */
#postalcode_prefsep_1,
#postalcode_prefsep_2,
#postalcode1,
#postalcode2,
#postalcode {
  ime-mode: disabled; /* 古いブラウザ用 */
  -webkit-ime-mode: disabled; /* Safari用 */
  -moz-ime-mode: disabled; /* Firefox用 */
  composition-mode: disabled; /* Edge用 */
}

input[type=date],
input[type=text],
input[type=tel],
input[type=email],
input[type=radio],
select,
textarea {
  padding: 0.5em 0.8em;
  background-color: #fff;
  color: #333333;
  border: 1px solid #ccc;
  border-radius: 0.2em;
}
input[type=date]::-moz-placeholder, input[type=text]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=radio]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #999999;
}
input[type=date]::placeholder,
input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=email]::placeholder,
input[type=radio]::placeholder,
select::placeholder,
textarea::placeholder {
  color: #999999;
}

input[type=checkbox] {
  padding: 0.3em;
  width: 1.3em;
  height: 1.3em;
  border: 1px solid #ccc;
  border-radius: 0.2em;
  cursor: pointer;
  accent-color: #004ea1;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  position: relative;
}
input[type=checkbox]:checked {
  background-color: #004ea1 !important; /* チェック時の背景色 */
  border-color: #004ea1 !important; /* チェック時のボーダー */
}
input[type=checkbox]:checked::after {
  content: "\e5ca";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  color: white; /* アイコンの色 */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* アイコンを中央に配置 */
}

.width50 {
  width: 100%;
}
@media print, screen and (min-width: 1280px) {
  .width50 {
    width: 50%;
  }
}

.width80 {
  width: 100%;
}
@media print, screen and (min-width: 1280px) {
  .width80 {
    width: 80%;
  }
}

.width100 {
  width: 100%;
}
@media print, screen and (min-width: 1280px) {
  .width100 {
    width: 100%;
  }
}

.form-group {
  margin-top: 2em;
  margin-bottom: 2em;
  /* ダークモードを無効化 */
}
.form-group label {
  display: flex;
  align-items: center;
  gap: 0.8em;
}
.form-group > label {
  margin-bottom: 0.5em;
}
.form-group select,
.form-group input:not([type=radio]):not([type=checkbox]) {
  margin: 0.5em 0;
}
.form-group .wpcf7-radio,
.form-group .radio-group {
  display: grid;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  gap: 0 0.8em;
}
.form-group .wpcf7-radio .wpcf7-list-item,
.form-group .wpcf7-radio .radio-option,
.form-group .radio-group .wpcf7-list-item,
.form-group .radio-group .radio-option {
  margin: 0.5em 0;
  border: 1px solid #ccc;
  border-radius: 0.2em;
  position: relative;
}
.form-group .wpcf7-radio .wpcf7-list-item label,
.form-group .wpcf7-radio .wpcf7-list-item input[type=radio],
.form-group .wpcf7-radio .radio-option label,
.form-group .wpcf7-radio .radio-option input[type=radio],
.form-group .radio-group .wpcf7-list-item label,
.form-group .radio-group .wpcf7-list-item input[type=radio],
.form-group .radio-group .radio-option label,
.form-group .radio-group .radio-option input[type=radio] {
  cursor: pointer;
}
.form-group .wpcf7-radio .wpcf7-list-item label,
.form-group .wpcf7-radio .radio-option label,
.form-group .radio-group .wpcf7-list-item label,
.form-group .radio-group .radio-option label {
  padding: 0.5em 0.8em;
  display: flex;
  align-items: center;
  gap: 0.8em;
  width: 100%;
}
.form-group .wpcf7-radio.column1,
.form-group .radio-group.column1 {
  grid-template-columns: 1fr;
}
.form-group .wpcf7-radio.column2,
.form-group .radio-group.column2 {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .form-group .wpcf7-radio.column2,
.form-group .radio-group.column2 {
    grid-template-columns: 1fr;
  }
}
.form-group .wpcf7-radio.column3,
.form-group .radio-group.column3 {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .form-group .wpcf7-radio.column3,
.form-group .radio-group.column3 {
    grid-template-columns: 1fr;
  }
}
.form-group .wpcf7-radio.column3-1,
.form-group .radio-group.column3-1 {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .form-group .wpcf7-radio.column3-1,
.form-group .radio-group.column3-1 {
    grid-template-columns: 1fr;
  }
}
@media print, screen and (min-width: 769px) {
  .form-group .wpcf7-radio.column3-1 > span:nth-child(4),
.form-group .radio-group.column3-1 > span:nth-child(4) {
    grid-column: span 3; /* 3列分の幅を占める */
  }
}
.form-group input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #f8f8f8 !important; /* 強制適用 */
  width: 1em;
  height: 1em;
  border-radius: 50%;
  display: inline-block;
  vertical-align: middle;
  padding: 0.4em;
  border: 1px solid #bbbbbb;
  padding: 0.6em;
  /* チェック時のスタイル */
}
.form-group input[type=radio]:checked {
  background-color: #fff !important; /* チェック時の色 */
  box-shadow: inset 0 0 0 5px #004ea1;
}
@media (prefers-color-scheme: dark) {
  .form-group input[type=radio] {
    background-color: #f8f8f8 !important; /* ダークモードで固定 */
    border: 1px solid #bbbbbb;
  }
  .form-group input[type=radio]:checked {
    background-color: #fff !important; /* ダークモードで固定 */
  }
}
.form-group .wpcf7-checkbox,
.form-group .checkbox-group {
  display: block;
  position: relative;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.form-group .wpcf7-checkbox .wpcf7-list-item,
.form-group .wpcf7-checkbox .radio-option,
.form-group .checkbox-group .wpcf7-list-item,
.form-group .checkbox-group .radio-option {
  border: 1px solid #ccc;
  border-radius: 0.2em;
  margin: 0.5em 0;
  padding: 0.5em 1em 0.5em 0.8em;
  position: relative;
}
.form-group .wpcf7-checkbox .wpcf7-list-item label,
.form-group .wpcf7-checkbox .radio-option label,
.form-group .checkbox-group .wpcf7-list-item label,
.form-group .checkbox-group .radio-option label {
  cursor: pointer;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.8em;
}
.form-group .grid-group {
  display: grid;
  gap: 0.8em;
  margin-bottom: 0.5em;
  align-items: flex-start;
}
.form-group .grid-group input {
  width: 100%;
}
.form-group .grid-group.column2 {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 768px) {
  .form-group .grid-group.column2 {
    grid-template-columns: 1fr;
  }
}
.form-group .grid-group.column3 {
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 768px) {
  .form-group .grid-group.column3 {
    grid-template-columns: 1fr;
  }
}
.form-group .grid-group.rows {
  display: grid;
  align-items: center;
  gap: 0.8em 1.6em;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
}
@media screen and (max-width: 768px) {
  .form-group .grid-group.rows {
    grid-template-columns: 1fr;
  }
}
@media print, screen and (min-width: 769px) {
  .form-group .grid-group.rows .section {
    display: contents; /* section要素を透明化してGridアイテムとして子要素を直接配置 */
  }
  .form-group .grid-group.rows .section label {
    justify-content: space-between;
  }
}
@media print, screen and (min-width: 769px) {
  .form-group .flex-group {
    display: flex;
    gap: 0.8em;
    margin-bottom: 0.5em;
    align-items: center;
  }
}
@media print, screen and (min-width: 769px) {
  .form-group .flex-group.postalcode {
    align-items: flex-start;
  }
  .form-group .flex-group.postalcode p.hint {
    padding-top: 1.25em;
  }
}

.calloutBlock {
  background-color: rgba(234, 85, 32, 0.1);
  position: relative;
  padding: 1em 1em 1em 4.25em;
}
.calloutBlock::before {
  content: "\f52b";
  font-family: "Material Symbols Outlined";
  line-height: 1;
  color: #ea5520;
  display: inline-block;
  left: 1.25em;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) scale(1.5);
}
.calloutBlock::after {
  border-right: 1px solid rgba(234, 85, 32, 0.5);
  content: "";
  display: block;
  height: 50%;
  left: 3.25em;
  opacity: 0.4;
  position: absolute;
  top: 25%;
  width: 0;
}

/* 個別設定 */
.wpcf7-form-control-wrap[data-name=gas-date] .wpcf7-form-control {
  background-image: url(../img/icon_calendar.svg);
  background-position: right 0.7em center;
  background-repeat: no-repeat;
  background-size: 1.3em;
  padding-right: 2.5em;
  cursor: pointer;
}

@media print, screen and (min-width: 769px) {
  .creditcardImg {
    width: 50%;
  }
}

/*入力エラー*/
.wpcf7-not-valid, .wpcf7-not-valid > .wpcf7-list-item {
  border-color: #c80d22 !important;
}

.tel-error,
.wpcf7-not-valid-tip {
  color: #c80d22;
  display: block;
  font-weight: 500;
}

/*記入に関してのお願い*/
.sendArea {
  margin: 4em 0 4em 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.sendArea label {
  margin-bottom: 2em;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.8em;
}
.sendArea label span.privacyLink {
  line-height: 1.5;
}
.sendArea .form-actionsArea {
  display: flex;
  gap: 1em;
}
.sendArea .editBtn,
.sendArea .submitBtn {
  vertical-align: middle;
  font-weight: bold;
  display: inline-block;
  box-sizing: border-box;
  text-decoration: none;
  letter-spacing: 0.05em;
  position: relative;
  border-radius: 0.6em;
  cursor: pointer;
  padding: 0.8em 2.5em;
  width: 10em;
}
@media screen and (max-width: 768px) {
  .sendArea .editBtn,
.sendArea .submitBtn {
    width: 100%;
  }
}
.sendArea .editBtn {
  border: 0.1em solid #ea5520;
  background-color: #fff;
  color: #ea5520;
}
.sendArea .editBtn:hover {
  background-color: #ea5520;
  color: #fff;
}
.sendArea .submitBtn {
  border: 0.1em solid #ea5520;
  background-color: #ea5520;
  color: #fff;
}
.sendArea .submitBtn:hover {
  background-color: #fff;
  color: #ea5520;
}

/* table 幅設定
--------------------------------*/
.wp-block-table {
  /* 改行なし - 1列目から5列目まで */
  /* ヘッダー（th）用 - 1列目 */
  /* ヘッダー（th）用 - 2列目 */
  /* ヘッダー（th）用 - 3列目 */
  /* ヘッダー（th）用 - 4列目 */
  /* ヘッダー（th）用 - 5列目 */
}
.wp-block-table.table-td1-nowrap table td:nth-child(1) {
  white-space: nowrap;
}
.wp-block-table.table-td2-nowrap table td:nth-child(2) {
  white-space: nowrap;
}
.wp-block-table.table-td3-nowrap table td:nth-child(3) {
  white-space: nowrap;
}
.wp-block-table.table-td4-nowrap table td:nth-child(4) {
  white-space: nowrap;
}
.wp-block-table.table-td5-nowrap table td:nth-child(5) {
  white-space: nowrap;
}
.wp-block-table.table-th1-10 table th:nth-child(1) {
  width: 10%;
}
.wp-block-table.table-th1-15 table th:nth-child(1) {
  width: 15%;
}
.wp-block-table.table-th1-20 table th:nth-child(1) {
  width: 20%;
}
.wp-block-table.table-th1-25 table th:nth-child(1) {
  width: 25%;
}
.wp-block-table.table-th1-30 table th:nth-child(1) {
  width: 30%;
}
.wp-block-table.table-th1-35 table th:nth-child(1) {
  width: 35%;
}
.wp-block-table.table-th1-40 table th:nth-child(1) {
  width: 40%;
}
.wp-block-table.table-th1-45 table th:nth-child(1) {
  width: 45%;
}
.wp-block-table.table-th1-50 table th:nth-child(1) {
  width: 50%;
}
.wp-block-table.table-th1-55 table th:nth-child(1) {
  width: 55%;
}
.wp-block-table.table-th1-60 table th:nth-child(1) {
  width: 60%;
}
.wp-block-table.table-th1-65 table th:nth-child(1) {
  width: 65%;
}
.wp-block-table.table-th1-70 table th:nth-child(1) {
  width: 70%;
}
.wp-block-table.table-th1-75 table th:nth-child(1) {
  width: 75%;
}
.wp-block-table.table-th1-80 table th:nth-child(1) {
  width: 80%;
}
.wp-block-table.table-th2-10 table th:nth-child(2) {
  width: 10%;
}
.wp-block-table.table-th2-15 table th:nth-child(2) {
  width: 15%;
}
.wp-block-table.table-th2-20 table th:nth-child(2) {
  width: 20%;
}
.wp-block-table.table-th2-25 table th:nth-child(2) {
  width: 25%;
}
.wp-block-table.table-th2-30 table th:nth-child(2) {
  width: 30%;
}
.wp-block-table.table-th2-35 table th:nth-child(2) {
  width: 35%;
}
.wp-block-table.table-th2-40 table th:nth-child(2) {
  width: 40%;
}
.wp-block-table.table-th2-45 table th:nth-child(2) {
  width: 45%;
}
.wp-block-table.table-th2-50 table th:nth-child(2) {
  width: 50%;
}
.wp-block-table.table-th2-55 table th:nth-child(2) {
  width: 55%;
}
.wp-block-table.table-th2-60 table th:nth-child(2) {
  width: 60%;
}
.wp-block-table.table-th2-65 table th:nth-child(2) {
  width: 65%;
}
.wp-block-table.table-th2-70 table th:nth-child(2) {
  width: 70%;
}
.wp-block-table.table-th2-75 table th:nth-child(2) {
  width: 75%;
}
.wp-block-table.table-th2-80 table th:nth-child(2) {
  width: 80%;
}
.wp-block-table.table-th3-10 table th:nth-child(3) {
  width: 10%;
}
.wp-block-table.table-th3-15 table th:nth-child(3) {
  width: 15%;
}
.wp-block-table.table-th3-20 table th:nth-child(3) {
  width: 20%;
}
.wp-block-table.table-th3-25 table th:nth-child(3) {
  width: 25%;
}
.wp-block-table.table-th3-30 table th:nth-child(3) {
  width: 30%;
}
.wp-block-table.table-th3-35 table th:nth-child(3) {
  width: 35%;
}
.wp-block-table.table-th3-40 table th:nth-child(3) {
  width: 40%;
}
.wp-block-table.table-th3-45 table th:nth-child(3) {
  width: 45%;
}
.wp-block-table.table-th3-50 table th:nth-child(3) {
  width: 50%;
}
.wp-block-table.table-th3-55 table th:nth-child(3) {
  width: 55%;
}
.wp-block-table.table-th3-60 table th:nth-child(3) {
  width: 60%;
}
.wp-block-table.table-th3-65 table th:nth-child(3) {
  width: 65%;
}
.wp-block-table.table-th3-70 table th:nth-child(3) {
  width: 70%;
}
.wp-block-table.table-th3-75 table th:nth-child(3) {
  width: 75%;
}
.wp-block-table.table-th3-80 table th:nth-child(3) {
  width: 80%;
}
.wp-block-table.table-th4-10 table th:nth-child(4) {
  width: 10%;
}
.wp-block-table.table-th4-15 table th:nth-child(4) {
  width: 15%;
}
.wp-block-table.table-th4-20 table th:nth-child(4) {
  width: 20%;
}
.wp-block-table.table-th4-25 table th:nth-child(4) {
  width: 25%;
}
.wp-block-table.table-th4-30 table th:nth-child(4) {
  width: 30%;
}
.wp-block-table.table-th4-35 table th:nth-child(4) {
  width: 35%;
}
.wp-block-table.table-th4-40 table th:nth-child(4) {
  width: 40%;
}
.wp-block-table.table-th4-45 table th:nth-child(4) {
  width: 45%;
}
.wp-block-table.table-th4-50 table th:nth-child(4) {
  width: 50%;
}
.wp-block-table.table-th4-55 table th:nth-child(4) {
  width: 55%;
}
.wp-block-table.table-th4-60 table th:nth-child(4) {
  width: 60%;
}
.wp-block-table.table-th4-65 table th:nth-child(4) {
  width: 65%;
}
.wp-block-table.table-th4-70 table th:nth-child(4) {
  width: 70%;
}
.wp-block-table.table-th4-75 table th:nth-child(4) {
  width: 75%;
}
.wp-block-table.table-th4-80 table th:nth-child(4) {
  width: 80%;
}
.wp-block-table.table-th5-10 table th:nth-child(5) {
  width: 10%;
}
.wp-block-table.table-th5-15 table th:nth-child(5) {
  width: 15%;
}
.wp-block-table.table-th5-20 table th:nth-child(5) {
  width: 20%;
}
.wp-block-table.table-th5-25 table th:nth-child(5) {
  width: 25%;
}
.wp-block-table.table-th5-30 table th:nth-child(5) {
  width: 30%;
}
.wp-block-table.table-th5-35 table th:nth-child(5) {
  width: 35%;
}
.wp-block-table.table-th5-40 table th:nth-child(5) {
  width: 40%;
}
.wp-block-table.table-th5-45 table th:nth-child(5) {
  width: 45%;
}
.wp-block-table.table-th5-50 table th:nth-child(5) {
  width: 50%;
}
.wp-block-table.table-th5-55 table th:nth-child(5) {
  width: 55%;
}
.wp-block-table.table-th5-60 table th:nth-child(5) {
  width: 60%;
}
.wp-block-table.table-th5-65 table th:nth-child(5) {
  width: 65%;
}
.wp-block-table.table-th5-70 table th:nth-child(5) {
  width: 70%;
}
.wp-block-table.table-th5-75 table th:nth-child(5) {
  width: 75%;
}
.wp-block-table.table-th5-80 table th:nth-child(5) {
  width: 80%;
}

/* 余白
  ----------------------------- */
.m_v0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.m_v1em {
  margin-top: 1em !important;
  margin-bottom: 1em !important;
}

.m_v2em {
  margin-top: 2em !important;
  margin-bottom: 2em !important;
}

.m_v3em {
  margin-top: 3em !important;
  margin-bottom: 3em !important;
}

.m_top05em {
  margin-top: 0.5em !important;
}

.m_btm05em {
  margin-bottom: 0.5em !important;
}

.m_top1em {
  margin-top: 1em !important;
}

.m_btm1em {
  margin-bottom: 1em !important;
}

.m_top2em {
  margin-top: 2em !important;
}

.m_btm2em {
  margin-bottom: 2em !important;
}

.m_top3em {
  margin-top: 3em !important;
}

.m_btm3em {
  margin-bottom: 3em !important;
}

.m_auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.m_top0 {
  margin-top: 0 !important;
}

.m_right0 {
  margin-right: 0 !important;
}

.m_left0 img,
.m_left0 {
  margin-left: 0 !important;
}

.m_bottom0 {
  margin-bottom: 0 !important;
}

.p_top0 {
  padding-top: 0 !important;
}

/*画像*/
img,
canvas,
video,
svg {
  max-width: 100%;
  height: auto;
}

iframe {
  max-width: 100%;
}

/*ボタンiOS装飾削除*/
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

/*--------------------------------------------------------------------------------
IE
--------------------------------------------------------------------------------*/
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
#itemname {
    width: auto;
  }
}
/*--------------------------------------------------------------------------------
print
--------------------------------------------------------------------------------*/
@media print {
  html body {
    margin-top: 0;
    padding-top: 0 !important;
  }
  html header {
    position: relative;
  }
  html #main_content .contentbox {
    max-width: 90%;
  }
  html #main_content .widebox {
    margin: 0;
    width: 100%;
    max-width: none;
  }
  html .menu-common-container {
    display: block !important;
  }
  .switch.hide {
    background-color: #fff;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.16);
  }
  .switch.hide #mainNavi .logoColumn .siteName,
.switch.hide #mainNavi .logoColumn #site-title {
    opacity: 1;
  }
  header #mainNavi .navBTM {
    display: none;
  }
  #content .hasSidebar {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  #content .hasSidebar #pageslistArea {
    display: none !important;
  }
  #content .hasSidebar span.edit-link {
    display: none;
  }
  footer {
    font-size: 60%;
  }
}