@charset "UTF-8";
body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Verdana, Arial, Helvetica, sans-serif;
  font-weight: 500;
  line-height: 1.4;
  color: #333;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", Verdana, Arial, Helvetica, sans-serif;
}

a {
  color: inherit;
}
a:link, a:active, a:visited, a:focus {
  text-decoration: none;
}
@media (any-hover: hover) {
  a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  a:hover {
    opacity: 0.6;
  }
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    display: inline-block;
    pointer-events: none;
  }
}

.container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

.container-divider {
  border-top: none;
  margin-bottom: 10px;
}

.sub-nav {
  gap: 20px;
  margin-bottom: 32px;
}

.breadcrumbs:not(.search-result-breadcrumbs) li {
  color: #333;
  font-size: 12px;
}

.breadcrumbs:not(.search-result-breadcrumbs) li + li::before {
  content: "";
  display: inline-block;
  width: 5px;
  aspect-ratio: 7/13;
  margin: 0 8px 0 12px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 7.18 13.41"><path fill="%23333333" d="M7.04,7.04L.79,13.29c-.09.08-.21.13-.33.13-.12,0-.24-.05-.32-.14-.09-.09-.14-.2-.14-.32,0-.12.04-.24.13-.33l5.92-5.92L.13.79C.04.7,0,.58,0,.46c0-.12.05-.24.14-.32C.22.05.34,0,.46,0c.12,0,.24.04.33.13l6.25,6.25c.09.09.14.21.14.33s-.05.24-.14.33Z" /></svg>') no-repeat center center/contain;
}

.breadcrumbs:not(.search-result-breadcrumbs) li a {
  color: #A0A5A8;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.breadcrumbs:not(.search-result-breadcrumbs) li:last-child a {
  color: #333;
  text-decoration: none;
}

.sub-nav .search-container {
  max-width: inherit;
}
@media screen and (min-width: 768px) {
  .sub-nav .search-container {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 335px;
            flex: 0 1 335px;
  }
}

.search-icon {
  display: none;
}

.search {
  position: relative;
  border-color: #5F8092;
  border-radius: 5px;
}
.search::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 56px;
  height: 100%;
  background: #5F8092 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="%23ffffff" d="M18.9881 18.1931L14.1712 13.3762C15.5448 11.7966 16.2514 9.74529 16.1421 7.6548C16.0328 5.56432 15.1161 3.59794 13.5852 2.17016C12.0544 0.742392 10.0289 -0.035227 7.93592 0.00122609C5.8429 0.0376792 3.84579 0.885357 2.36557 2.36557C0.885357 3.84579 0.0376792 5.8429 0.00122609 7.93592C-0.035227 10.0289 0.742392 12.0544 2.17016 13.5852C3.59794 15.1161 5.56432 16.0328 7.6548 16.1421C9.74529 16.2514 11.7966 15.5448 13.3762 14.1712L18.1931 18.9881C18.2997 19.0874 18.4407 19.1415 18.5865 19.139C18.7322 19.1364 18.8712 19.0774 18.9743 18.9743C19.0774 18.8712 19.1364 18.7322 19.139 18.5865C19.1415 18.4407 19.0874 18.2997 18.9881 18.1931ZM1.15308 8.09058C1.15308 6.71847 1.55996 5.37718 2.32226 4.23631C3.08456 3.09545 4.16805 2.20625 5.43571 1.68117C6.70338 1.15608 8.09828 1.0187 9.44402 1.28638C10.7898 1.55407 12.0259 2.2148 12.9961 3.18503C13.9664 4.15525 14.6271 5.3914 14.8948 6.73714C15.1625 8.08288 15.0251 9.47779 14.5 10.7454C13.9749 12.0131 13.0857 13.0966 11.9448 13.8589C10.804 14.6212 9.46269 15.0281 8.09058 15.0281C6.25133 15.0258 4.48804 14.2942 3.18749 12.9937C1.88694 11.6931 1.15531 9.92984 1.15308 8.09058Z" /></svg>') no-repeat center center/20px;
  cursor: pointer;
}

.search input[type=search] {
  color: #333;
  height: 54px;
  font-size: 14px;
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  .search input[type=search] {
    font-size: 16px;
  }
}
.search input[type=search]::-webkit-input-placeholder {
  color: #64696E;
  opacity: 1;
}
.search input[type=search]::-moz-placeholder {
  color: #64696E;
  opacity: 1;
}
.search input[type=search]:-ms-input-placeholder {
  color: #64696E;
  opacity: 1;
}
.search input[type=search]::-ms-input-placeholder {
  color: #64696E;
  opacity: 1;
}
.search input[type=search]::placeholder {
  color: #64696E;
  opacity: 1;
}

[dir=ltr] .search input[type=search] {
  padding-left: 20px;
  padding-right: 76px;
}

[dir=ltr] .search .clear-button {
  display: none;
}

.page-header .section-subscribe {
  display: none;
}

/* =====================================================
   検索のカスタマイズ
   ===================================================== */

/* 枠の設定（基準点） */
.search-container {
  position: relative !important;
  display: block !important;
}

/* 既存の「ボタン」や「背景画像」を完全に消去 */
.search-container::before,
.search-container::after,
.search-container .search::before,
.search-container .search::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

/* 新しい検索ボタン */
#custom-search-trigger {
  position: absolute !important;
  top: 0;
  bottom: 0;
  width: 56px; /* ボタンの幅 */
  background-color: #5f8092 !important; /* ボタンの背景色（青） */
  border-radius: 0 5px 5px 0;

  /* アイコンを中央揃えにする設定 */
  display: flex !important;
  justify-content: center;
  align-items: center;

  /* マウスポインタ 指差しマーク */
  cursor: pointer;

  /* 位置調整エリア */
  right: 0px !important;
}

/* アイコンの設定 */
#custom-search-trigger svg,
#custom-search-trigger .search-icon {
  display: block !important;
  width: 22px !important; /* アイコンの大きさ */
  height: 22px !important;

  /* 位置調整：左に余白を入れて右へずらす */
  margin-left: 3px !important;

  /* 色の変更エリア（白にする） */
  stroke: #ffffff !important;
  color: #ffffff !important;
  fill: none !important;
}

/* 入力欄のサイズ調整 */
.sub-nav .search input[type="search"] {
  height: 48px !important; /* 高さを合わせる */
  padding-right: 55px !important; /* 文字がボタンの下に入らないようにする */
}
