@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
*/

/* トップページのブログセクション */
.home .p-postListWrap .c-postThumb,
.front-page .p-postListWrap .c-postThumb {
  border-radius: 15px;
  overflow: hidden;
}

.home  .p-postListWrap.is-home-blog .p-postList__body,
.front-page .p-postListWrap.is-home-blog .p-postList__body  {
  margin-top:5px;
  background-color: #fff7e0;
  border-radius: 15px;
  padding: 15px;
  height: 35%;
}

.home .p-postListWrap.is-home-blog .p-postList__title,
.front-page .p-postListWrap.is-home-blog .p-postList__title {
  height: 80%;
}

  .smart-archives li {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
  }
  
  .smart-archives li a {
    display: block;
    line-height: 1.4;
    position: relative;
    text-decoration: none;
  }

  .smart-archives li a::before {
    color: inherit;
    content: "\e921";
    display: inline-block;
    left: 2px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    vertical-align: middle;
    -webkit-font-smoothing:antialiased;
    font-family:icomoon!important;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    text-transform: none;
  }
  
  .smart-archives li a:hover {
    color: var(--color_main);
    background-color: #f5f5f5;
    padding-left: 1.75em;
    padding-right: .75em;
  }

.widget-title {
    padding: .5em;
    font-weight:700;
    margin-bottom: 1.5em;
    overflow: hidden;
    position: relative;
}

@media (min-width: 600px) {
    .widget-title {
        font-size: 16px;
    }
}

.widget-title::before {
    content: "";
    bottom: 0;
    left: 0;
    width: 40%;
    z-index: 1;
    background: var(--color_main);
}

.widget-title::after {
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    background: var(--color_border);
}

.widget-title:after,.widget-title:before {
    box-sizing: inherit;
    display: block;
    height: 1px;
    position: absolute;
    z-index: 0;
}

.widget+.widget {
    margin-top: 2em;
}

@media (min-width: 960px) {
    #sidebar .widget+.widget {
        margin-top: 2.5em;
    }
}

.widget_categories a {
    padding: .75em 1em .75em 1.5em;
    transition: padding .25s;
    border-bottom: 1px solid var(--color_border);
    color: inherit;
    display: block;
    line-height: 1.4;
    position: relative;
    text-decoration: none;
}

.widget_categories a:hover {
    color: var(--color_main);
    background-color: #f5f5f5;
    padding-left: 1.75em;
    padding-right: .75em;
}

.c-widget__item a {
    color: inherit;
    display: block;
    line-height: 1.4;
    position: relative;
    padding: .75em 1em .75em 1.5em;
    text-decoration: none;
    transition: padding .25s;
}

.c-widget__item a::before {
    color: inherit;
    content: "\e921";
    display: inline-block;
    left: 2px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    vertical-align: middle;
    -webkit-font-smoothing:antialiased;
    font-family:icomoon!important;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    text-transform: none;
}

.c-widget__item a:hover {
    color: var(--color_main);
    background-color: #f5f5f5;
    padding-left: 1.75em;
    padding-right: .75em;
  }

  .widget_archive li {
    border-bottom: 1px solid var(--color_border);
  }

  .c-pageTitle[data-style=b_bottom]{
    border-bottom:none;
  }

  .c-pageTitle[data-style=b_bottom] .c-pageTitle__inner {
    border-bottom: none;
    float:none;
    margin-bottom: 0;
    padding: initial;
    padding-top: .5em;
  }

  .c-pageTitle__subTitle {
    display: none;
  }

  .c-taxList__link {
    background:var(--color_main);
    color: #fff;
  }

  /* パンくず記事名表示 */
  .p-breadcrumb__list {
    flex-wrap: wrap;
}
.single .p-breadcrumb__item:last-child>span.p-breadcrumb__text {
    display: block!important;
    opacity: 1;
    white-space: pre-wrap;
}

/* パンくずで /blog/ を指す要素の li を非表示にする */
/* .p-breadcrumb__list li > a[href$="/blog/"] { display:none; } */
/* :has 対応ブラウザ向け */
/* .p-breadcrumb__list li:has(> a[href$="/blog/"]) { display:none; }  */

/* --- SWELLのタグ表示(c-tagList)をCPTでも横並びに --- */
.p-articleMetas.-bottom{
  display:flex; flex-wrap:wrap; gap:.5rem 1rem;
}

.p-articleMetas__termList {
 align-items: center;
 display: flex;
 flex-wrap: wrap;
 gap: .5em;
}

/* アイコンとリスト */
.p-articleMetas__termList.c-tagList .c-icon {
  line-height:1; margin-top:.15em;
}

/* 各タグ */
.p-articleMetas__termList.c-tagList .c-tagList__item{ margin:0; }
.p-articleMetas__termList.c-tagList .c-tagList__item a{
  text-decoration:none;
  /* 必要なら色をテーマのリンク色に揃える */
  /* color: var(--color_link, inherit); */
}

.p-postList__thumb:before {
  background:linear-gradient(45deg,#fef4e1,#fef4e1)
}

.sidebar-blog .tag-cloud-link {
  border-radius: 10px;
  background: #fcefca;
}

.sidebar-blog .c-postThumb {
  border-radius: 15px;
}

.widget-title.widget-title--blog {
  background-color: #fcefca;
  color: #333c5e;
  border-radius: 20px;
  padding-left: 1em;
}

.widget-title.widget-title--blog::before {
  background: none;
}

.widget-title.widget-title--blog::after {
  background: none;
}

.widget.widget_recent_entries.widget_recent_entries--blog a:hover {
  background-color: rgba(252, 239, 202, 0.32);
}

.widget_categories.widget_categories--blog a:hover {
  background-color: rgba(252, 239, 202, 0.32);
}

.widget.widget_archive.widget_archive--blog a:hover {
  background-color: rgba(252, 239, 202, 0.32);
}
/* ブログ詳細タブ */
/* カスタム投稿 blog の詳細ページだけ（親が js-blog-tags のときだけ） */
.c-tagList.js-blog-tags .c-tagList__link {
  border-radius: 10px;
  background: #fef4e1;
}

.post-type-archive-blog .c-postThumb {
  border-radius: 10px;
  overflow: hidden;
}

/* ヘッダー内のSWELLボタンを縮ませない＆改行させない */
.w-header .swell-block-button,
.w-header .swell-block-button__link {
  flex-shrink: 0;
}

.w-header .swell-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

/* アイコンつきボタンで詰まる場合の間隔補正 */
.w-header .swell-block-button__icon {
  margin-right: .5em;
}

:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tiktok {
  background-color:#333c5e;
}

:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-instagram {
  background-color:#333c5e;
}

/* 固定ヘッダーぶんのズレ対策（PC） */
#access-section { scroll-margin-top: 110px; }
/* ブラウザの標準アンカー移動対策（初回クリックでも効く） */
#access-section:target::before {
  content: "";
  display: block;
  height: 110px;
  margin-top: -110px;
}

/* SP時のオフセット（必要なら微調整） */
@media (max-width: 959px) {
  #access-section { scroll-margin-top: 76px; }
  #access-section:target::before { height: 76px; margin-top: -76px; }
}

/* 管理バー表示時（ログイン時）の上乗せ */
body.admin-bar #access-section { scroll-margin-top: 142px; }
body.admin-bar #access-section:target::before { height: 142px; margin-top: -142px; }
@media (max-width: 959px) {
  body.admin-bar #access-section { scroll-margin-top: 122px; }
  body.admin-bar #access-section:target::before { height: 122px; margin-top: -122px; }
}

/* ========== PC（行ベースの縞） ========== */
.wp-block-table.is-style-double table.has-fixed-layout tbody > tr:nth-of-type(odd) > td {
  background-color: #ededed;
}
.wp-block-table.is-style-double table.has-fixed-layout tbody > tr:nth-of-type(even) > td {
  background-color: transparent;
}

/* ========== スマホ（tdを縦に、奇数セルに背景色） ========== */
@media (max-width: 959px) {
  /* まず行背景の影響を消す */
  .wp-block-table.is-style-double table.has-fixed-layout tbody > tr > td {
    background-color: transparent; /* リセット */
  }

  .wp-block-table.is-style-double table.has-fixed-layout tbody > tr:nth-of-type(odd) > td {
    background-color: transparent;
  }

  /* 縦崩し（必要なら） */
  .wp-block-table.is-style-double table.has-fixed-layout,
  .wp-block-table.is-style-double table.has-fixed-layout tbody,
  .wp-block-table.is-style-double table.has-fixed-layout tr,
  .wp-block-table.is-style-double table.has-fixed-layout td {
    display: block;
    width: 100%;
  }

  .wp-block-table.is-style-double table.has-fixed-layout tr {
    margin-bottom: 1rem;
  }

  /* 奇数の td にだけ色 */
  .wp-block-table.is-style-double table.has-fixed-layout tbody > tr > td:nth-of-type(odd) {
    background-color: #ededed; /* PCと同じ色でもOK */
  }
}

/* デフォルト値（環境により後でJSで上書き） */
:root { --anchor-offset: 96px; }

/* ブラウザのアンカースクロール＆scrollIntoViewにオフセットを適用 */
html { scroll-padding-top: var(--anchor-offset); }

/* 個別要素にも保険で付けておく（任意の見出しでも流用可） */
#access-section { scroll-margin-top: var(--anchor-offset); }


/* お問い合わせ送信ボタン背景色 */
div.wpforms-container-full input[type=submit]:not(:hover):not(:active), div.wpforms-container-full button[type=submit]:not(:hover):not(:active), div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active), .wp-core-ui div.wpforms-container-full input[type=submit]:not(:hover):not(:active), .wp-core-ui div.wpforms-container-full button[type=submit]:not(:hover):not(:active), .wp-core-ui div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active){
  background-color: #333c5e;
}

div.wpforms-container-full input[type=submit]:hover, div.wpforms-container-full input[type=submit]:active, div.wpforms-container-full button[type=submit]:hover, div.wpforms-container-full button[type=submit]:active, div.wpforms-container-full .wpforms-page-button:hover, div.wpforms-container-full .wpforms-page-button:active, .wp-core-ui div.wpforms-container-full input[type=submit]:hover, .wp-core-ui div.wpforms-container-full input[type=submit]:active, .wp-core-ui div.wpforms-container-full button[type=submit]:hover, .wp-core-ui div.wpforms-container-full button[type=submit]:active, .wp-core-ui div.wpforms-container-full .wpforms-page-button:hover, .wp-core-ui div.wpforms-container-full .wpforms-page-button:active {
  box-shadow:0 4px 12px rgba(0,0,0,.1),0 12px 24px -12px rgba(0,0,0,.2);
  opacity: 1;
  background-color: #333c5e;
}
/* フッターsnsアイコン */
.u-fz-14 {
  font-size: 25px;
}


/* 追従バナー */
  #fixed-bottom-menu {
      display: block;
      position: fixed;
      left: 0;
      bottom: 0;
      width: 100%;
      z-index: 99;
      padding-left: .3em;
      padding-right: .3em;
      padding-bottom: 8em;
  }

  #fixed-bottom-menu img.swell-block-bannerLink.c-bannerLink__img {
    object-fit: contain;
    max-width: 100%;
    max-height: none;
  }

  #fixed-bottom-menu img {
    width: 100%;
    /* height: auto; */
    display: block;
  }

  @media (min-width: 768px) {
    #fixed-bottom-menu {
      left: initial;
      right: 0;
      bottom: 0;
      width: 20%;
      padding-bottom: initial;
    }
  }
