/*
Theme Name: Astra Child
Version: 1.0
Template: astra
*/

td, th {
    padding: .3em 1em;
    border-width: 0 1px 1px 0;
}

.single-post h1{
    padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
    color: #494949;/*文字色*/
    background: #f4f4f4;/*背景色*/
    border-left: solid 5px #171c21;/*左線*/
    border-bottom: solid 3px #d7d7d7;/*下線*/
}
.single-post h2 {
    background-image: linear-gradient(#C8D1D9 51%, #171c21 51%);
    background-size: 8px 100%;
    background-repeat: no-repeat;
    padding-left: 18px;
}

.single-post h3{
    color: #494949;/*文字色*/
    /*線の種類（点線）2px 線色*/
    border-bottom: dashed 2px #171c21;
}

.single-post h4{
    font-weight: bold;
    padding: 0.5em 0.3em;
    margin-bottom: 0.3em;
    position: relative;
}
.single-post h4::before {
    content: '';
    background-color: #888888;
    width: 2em;
    height: 3px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.single-post h5 {
    position: relative;
    padding-left: 24px; /* アイコン分のスペースを確保 */
}

.single-post h5::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask-image: url("tag-solid.svg");
    mask-image: url("tag-solid.svg");
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.single-post h6 {
    position: relative;
    padding-left: 24px; /* アイコン分のスペースを確保 */
}

.single-post h6::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask-image: url("angles-right-solid.svg");
    mask-image: url("angles-right-solid.svg");
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

/* 次の記事への非表示 */
body .nav-next,
body .nav-previous {
    display: none !important;
}

body .entry-meta
{
    display: none !important;
}

.ast-breadcrumbs
{
    display: none !important;
}


/* 非会員系ページでのチャットボット非表示との噛み合いのため、一旦検索とハンバーガー非表示 */
/* body.page-membership-login */
body.page-id-1067 .ast-icon.icon-search,
body.page-id-1067 .mobile-menu-toggle-icon,
/* body.page-free-member-registration */
body.page-id-1889 .ast-icon.icon-search,
body.page-id-1889 .mobile-menu-toggle-icon,
/* body.page-subscribe */
body.page-id-1076 .ast-icon.icon-search,
body.page-id-1076 .mobile-menu-toggle-icon,
/* body.page-password-reset */
body.page-id-1069 .ast-icon.icon-search,
body.page-id-1069 .mobile-menu-toggle-icon,
/* body.page-membership-profile */
body.page-id-1068 .ast-icon.icon-search,
body.page-id-1068 .mobile-menu-toggle-icon
{
    display: none !important;
}

/* 会員登録ページ姓名非表示 */
body.page-id-1889 .swpm-form-row.swpm-lastname-row,
body.page-id-1889 .swpm-form-row.swpm-firstname-row,
body.page-id-1889 .swpm-form-row.swpm-membership-level-row
{
    display: none !important;
}

/* プロフィールページ - 不要な項目を非表示 */
/* 表示する項目: メールアドレス、ユーザー名、パスワード、会員レベルのみ */
body.page-id-1068 .swpm-form-row.swpm-firstname-row,
body.page-id-1068 .swpm-form-row.swpm-lastname-row,
body.page-id-1068 .swpm-form-row.swpm-company-row,
body.page-id-1068 .swpm-form-row.swpm-phone-row,
body.page-id-1068 .swpm-form-row.swpm-address-street-row,
body.page-id-1068 .swpm-form-row.swpm-address-city-row,
body.page-id-1068 .swpm-form-row.swpm-address-state-row,
body.page-id-1068 .swpm-form-row.swpm-address-zipcode-row,
body.page-id-1068 .swpm-form-row.swpm-country-row,
body.page-id-1068 .swpm-form-row.swpm-gender-row,
body.page-id-1068 .swpm-form-row.swpm-account-state-row,
body.page-id-1068 .swpm-form-row.swpm-subscription-starts-row
{
    display: none !important;
}

/* 利用規約・プライバシーポリシーのチェックボックス配置改善 */

/* ラベル全体のスタイル統一 */
body.page-id-1889 .swpm-tos-row > div > label,
body.page-id-1889 .swpm-pp-row > div > label,
.page-id-1889 label[for="swpm-accept-terms"],
.page-id-1889 label:has(#swpm-accept-terms),
.page-id-1889 label:has(#swpm-accept-pp) {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    cursor: pointer !important;
    line-height: 1.6 !important;
    font-size: 14px !important;
    color: #333 !important;
    font-weight: 400 !important;
}

/* チェックボックスのスタイル統一 - IDで直接指定 */
body.page-id-1889 input#swpm-accept-terms,
body.page-id-1889 input#swpm-accept-pp {
    margin: 0 !important;
    margin-top: 3px !important;
    padding: 0 !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    accent-color: #2563eb !important;
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: checkbox !important;
    transform: none !important;
    filter: none !important;
    border: 1px solid #d1d5db !important;
}

/* リンクのスタイル統一 */
body.page-id-1889 .swpm-tos-row a,
body.page-id-1889 .swpm-pp-row a,
body.page-id-1889 label:has(#swpm-accept-terms) a,
body.page-id-1889 label:has(#swpm-accept-pp) a {
    color: #2563eb !important;
    text-decoration: underline !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    margin-left: -4px !important;
}

/* リンクホバー統一 */
body.page-id-1889 .swpm-tos-row a:hover,
body.page-id-1889 .swpm-pp-row a:hover {
    color: #1d4ed8 !important;
    text-decoration: none !important;
}

/* 会員登録ページ姓名非表示 */
body.page-id-1068 .swpm-form-row.swpm-lastname-row,
body.page-id-1068 .swpm-form-row.swpm-firstname-row,
body.page-id-1068 .swpm-form-row.swpm-phone-row,
body.page-id-1068 .swpm-form-row.swpm-street-row,
body.page-id-1068 .swpm-form-row.swpm-state-row,
body.page-id-1068 .swpm-form-row.swpm-city-row,
body.page-id-1068 .swpm-form-row.swpm-zipcode-row,
body.page-id-1068 .swpm-form-row.swpm-country-row,
body.page-id-1068 .swpm-form-row.swpm-company-row
{
    display: none !important;
}

/* 非ログイン時のみ "アカウント" を "サインイン" に変更 */
body:not(.logged-in).page-id-1067 .entry-title::before {
    content: "サインイン";  /* 文字を変更 */
}
body:not(.logged-in).page-id-1067 .entry-title {
    color: transparent;  /* 元の文字を見えなくする */
    position: relative;
}
body:not(.logged-in).page-id-1067 .entry-title::before {
    position: absolute;
    color: black; /* 適宜変更 */
}


/* 目次 */
#mobile-toc-widget-wrap ol, ul {
    margin: 0 0 1.5em 0em;
}

#mobile-toc-widget-wrap li>ol, li>ul {
    margin-bottom: 0;
    margin-left: 0.5em !important;
}
/* 目次 */
:root {
	--mobile-toc-color: #000000;/* ベースの色 */
}
#mobile-toc-widget-wrap .menu-trigger,
#mobile-toc-widget-wrap .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
}
#mobile-toc-widget-wrap .menu-trigger {
    position: relative;
    width: 25px;
    height: 35px;
}
#mobile-toc-widget-wrap .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #fff;
    border-radius: 4px;
}
#mobile-toc-widget-wrap .menu-trigger span:nth-of-type(1) {
    top: 13px;
}
#mobile-toc-widget-wrap .menu-trigger span:nth-of-type(2) {
    top: 20px;
}
#mobile-toc-widget-wrap .menu-trigger span:nth-of-type(3) {
    top: 27px;
}
#mobile-toc-widget-wrap .menu-trigger.active {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
}
#mobile-toc-widget-wrap .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(20px) rotate(-45deg);
    transform: translateY(20px) rotate(-45deg);
    top:0;
}
#mobile-toc-widget-wrap .menu-trigger.active span:nth-of-type(2) {
    -webkit-transform: translateY(0) rotate(45deg);
    transform: translateY(0) rotate(45deg);
}
#mobile-toc-widget-wrap .menu-trigger.active span:nth-of-type(3) {
    opacity: 0;
}
#mobile-toc-widget-wrap{
    position: fixed;
    bottom: 50px;
    left: 20px;
    margin: 0;
    padding: 0;
    z-index:100;
    counter-reset: mobile-toc;
}
#mobile-toc-widget-wrap label .mobile-toc-button {
    width: 58px;
    height: 58px;
    border-radius:50%;
    background: var(--mobile-toc-color);
    box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.16);
    transition: ease-out 0.3s;
    text-align:center;
    position:relative;
    z-index: 3;
}
#mobile-toc-widget-wrap label .mobile-toc-button .mobile-toc-button-title {
    color: #fff;
    font-size: 0.65em;
    letter-spacing: 0;
    position: absolute;
    bottom: 7px;
    left: 0;
    right: 0;
    margin: auto;
}
#mobile-toc-widget-wrap label:hover {
    background: #efefef;
}
#mobile-toc-widget-wrap input {
    display: none;
}
#mobile-toc-widget-wrap .mobile-toc-show {
    display:none;
}
#mobile-toc-widget-wrap input:checked ~ .mobile-toc-show {
    background:#fff;
    position: absolute;
    top: 0;
    left: 0;
    padding: 2.5em 1em;
    position:fixed;
    width:100%;
    height:100%;
    display:block;
    animation: 0.5s fade-in;
    -webkit-animation: 0.5s fade-in;
    overflow-y:scroll;
}
#mobile-toc-widget-wrap .mobile-toc-widget {
    background-color: #fff;
    padding: 1em;
}
@-webkit-keyframes fadeIn { 
  0% {display: none;opacity: 0;}
  1% {display: block;opacity: 0;}
  100% {display: block;opacity: 0.93;}
}
@keyframes fade-in {
  0% {display: none;opacity: 0;}
  1% {display: block;opacity: 0;}
  100% {display: block;opacity: 0.93;}
}
#mobile-toc-widget-wrap .widgettitle{
    text-align: center;
    margin: 0 0 1em;
    color: var(--mobile-toc-color);
    font-size: 1.1em;
    letter-spacing:2px;
    background:none;
    font-weight:600;
}
/*スマホ追尾目次 TOC*/
#mobile-toc-widget-wrap .toc_widget_list{
    font-size:0.8em;
    padding:0 !important;
}
#mobile-toc-widget-wrap .toc_widget_list a{
    text-decoration:none;
    color:#555;
    font-weight:600;
}
#mobile-toc-widget-wrap .toc_widget_list > li {
    list-style-type: none !important;
    position: relative;
    margin-left: 13px;
    margin-right: 25px;
    padding-left: 32px;
    margin-bottom: 15px;
    padding-bottom: 0px;
    font-size: 1.1em;
    line-height: 1.6;
}
#mobile-toc-widget-wrap .toc_widget_list > li:before{
    counter-increment: mobile-toc;
    content: counter(mobile-toc);
    position: absolute;
    left: 5px;
    top: -1px;
    background: none;
    font-size: 1.1em;
    color:var(--mobile-toc-color);
}
#mobile-toc-widget-wrap .toc_widget_list > li ul {
    margin-top: 5px;
    padding-left: 20px;
    list-style:none;
}
#mobile-toc-widget-wrap .toc_widget_list > li > ul > li a {
    position: relative;
    text-decoration: none !important;
    font-weight:500;
}
#mobile-toc-widget-wrap .toc_widget_list > li ul li a:before {
    position: absolute;
    content: "・";
    font-size: 1.4em;
    left: -20px;
    top: -10px;
    color: var(--mobile-toc-color);
}
#mobile-toc-widget-wrap input:checked ~ .mobile-toc-show {
    background: #000000bd;
}

/* Custom Table Styles */
.custom-image-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 14px;
}
.custom-image-table th {
  background-color: #d4d4d4;
  text-align: center;
  padding: 6px;
  border: 1px solid #ccc;
}
.custom-image-table td {
  background-color: #ffffff;
  text-align: center;
  vertical-align: middle;
  padding: 6px;
  border: 1px solid #ccc;
}
.custom-image-table img {
  width: 100%;
  height: auto;
  max-width: 240px;
  border-radius: 4px;
}
@media screen and (max-width: 600px) {
  .custom-image-table {
    font-size: 13px;
  }
  .custom-image-table img {
    max-width: 160px;
  }
}

/* スマホで記事ページ上部の目次のみ非表示（下部の追尾型目次は残す） */
@media screen and (max-width: 768px) {
    .single #ez-toc-container {
        display: none !important;
    }
}