@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* サイドバーのアコーディオン */
/* ===== サイドバー商品メニュー アコーディオン ===== */
#nav_menu-2.c-widget.c-listMenu .menu > li {
  list-style: none;
}

/* 
  ラッパー：親リンク＋トグルを横並びで1行化
  inline-flex…SWELL標準のインラインレイアウトを崩しにくい
*/
#nav_menu-2 .menu-item-label {
  display: inline-flex;
  align-items: center;
  width: 100%;
  position: relative;
}

/* 親リンク本体：右側にトグル分スペース */
#nav_menu-2 .menu-item-label > a {
  flex: 1 1 auto;
  display: block;
  padding-right: 2.5em; /* トグル重なり回避 */
  line-height: 1.4;     /* テーマと合わせて調整 */
  text-decoration: none;
}

/* トグルボタン */
#nav_menu-2 .submenu-toggle {
  flex: 0 0 auto;
  width: 1.5em;
  height: 1.5em;
  margin-left: .25em;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  line-height: 1;
  position: absolute;   /* 親リンク行右端に固定 */
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

/* ▼アイコン */
#nav_menu-2 .submenu-toggle::after {
  content: "\25BC"; /* ▼ */
  display: block;
  font-size: 0.85em;
  transition: transform .2s ease;
  transform-origin: center;
}

/* 開いたら上向き（▲）相当） */
#nav_menu-2 .is-open > .menu-item-label > .submenu-toggle::after {
  transform: rotate(-180deg);
}

/* サブメニュー */
#nav_menu-2 .sub-menu {
  margin: 0;
  padding: 0 0 0 1em;
  list-style: none;
  display: none; /* JS初期化前のチラつき軽減（任意） */
}

/* 開いている親を強調（任意） */
#nav_menu-2 .is-open > .menu-item-label > a {
  font-weight: 600;
}

/* SPでタップしやすく（任意） */
@media (max-width: 767.98px) {
  #nav_menu-2 .submenu-toggle {
    width: 2em;
    height: 2em;
    right: .25em;
  }
  #nav_menu-2 .submenu-toggle::after {
    font-size: 1em;
  }
}

/* --- 初期化前後でアニメ制御 ------------------------------ */
/* JS初期化前：回転アニメを無効化（読み込み時のクルッ防止） */
#nav_menu-2:not(.js-accordion-ready) .submenu-toggle::after {
  transition: none !important;
}

/* JS初期化完了後：回転アニメ有効 */
#nav_menu-2.js-accordion-ready .submenu-toggle::after {
  transition: transform .2s ease; /* 好みで時間調整 */
}



/* ヘッダー内カスタム */

.w-header__inner {
  display: flex;
  justify-content: space-between;
}

/* ヘッダー内のお問合せ */

.header__info p {
  margin-bottom: 0;
}

/* フッターカスタマイズ */

.footer__companyinfo p {
  margin-bottom: 0.3em;
}

.w-footer {
  align-items: flex-end;
}

.w-footer .w-footer__box:nth-of-type(2) {
  display: flex;
  padding-bottom: 0;

}

.footerLogo__link {
  width: 250px;
  display: inline-block;
}

.footerLogo__link img {
  aspect-ratio: 150/25;
  object-fit: contain;
}

.w-footer__box .c-listMenu a {
  border-bottom: none;
  position: initial;
}

.w-footer__box .c-widget+.c-widget {
  margin-top: initial;
}

/* お問合せカスタマイズ */

/* 必須ラベル */
.smf-item:has([data-validations~="required"]) .smf-item__label__text::after {
	content: "必須";
	display: inline-block;
	padding: 5px 6px;
	color: #fff;
	background-color: crimson;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	margin-left: 1em;
	border-radius: 4px;
}

/* ボックスメニュー h3/4化後の余白調整 */
.swell-block-box-menu__item h4 {
  margin: 0;
  font-size: 1.125rem; /* サイトの見出しスケールに合わせて調整 */
  line-height: 1.4;
}
.swell-block-box-menu__item h3 {
  margin: 0;
  font-size: 1.125rem; /* サイトの見出しスケールに合わせて調整 */
  line-height: 1.4;
}

