/*
Theme Name: takatayaki
Version: 1.0.0
Template: xwrite
*/

:root {  --body-font-size: 16px;}
body {  font-size: var(--body-font-size) !important; transition: font-size 0.2s ease;}
header .menu-item-gtranslate a.glink span{ font-size:13px !important; }

.articleList .xw-article-media { /* color: var(--link-color) !important; */}
.article-date{ color: initial; }
.wp-block-table td, .wp-block-table th { border: 1px solid #dcdcdc;}

/* 文字サイズボタン */
.font-size-switcher { display: inline-flex; gap: 5px; align-items: center; vertical-align: middle; }
.font-size-switcher button { background: #b14a28; color: #fff; border-radius: 3px; width: auto; height: 28px; font-weight: bold; cursor: pointer; display: flex; align-items: center; justify-content: center;}

.font-size-switcher button:nth-child(1) { font-size: 13px; }
.font-size-switcher button:nth-child(2) { font-size: 16px; }
.font-size-switcher button:hover { background: #f0f0f0; }

.gNavList a.head-contact ,.gNavList a.head-tel{ display:block; min-width:70px;min-height:60px; text-align:center;
    display: flex;              /* 必須 */
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4px 16px;
    text-decoration: none;
    gap: 2px;
    transition: background 0.2s;
}
.gNavList a.head-contact{ background:#9C8AA4; color:#fff; }
.gNavList a.head-tel{ background:#C49A3A; color:#fff; }

.header .gNavList > .menu-item > .sub-menu, .header-fix .gNavList > .menu-item > .sub-menu{ border-top: 3px solid var(--link-color); }
.header-fix .siteInfo{ padding:10px 0; }

/* フッター本体 */
footer.footer .pagetop a:hover{ text-decoration:none; }
footer.footer { padding: 65px 20px 0; position: relative; background: url('images/bg-city.jpg') no-repeat center center; background-size: cover; color: #f8f8f2; overflow: hidden; font-size: inherit;}
footer.footer::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient( to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.4) 30%, rgba(0, 0, 0, 0.2) 80% ); z-index: 1;
}

footer.footer > .container-footer-area { position: relative; z-index: 2; }

footer.footer,
footer.footer a,
footer.footer h1, footer.footer h2, footer.footer h3,
footer.footer p, footer.footer li { color: #f8f8f2 !important;}

footer.footer li{ display:inline-block; margin-right:1rem; }
footer.footer li:last-child{ margin-right:0; }

footer .block, .mobile-widget,footer .widget, .widget_block{ margin-top:1.5rem; }

body .widget_nav_menu .menu > .menu-item > a{ padding: 1rem 0 !important; border:none; }
footer.footer a:hover { color: #ffffff !important; text-decoration: underline;}
footer .container-copyright{ padding-top:3rem; }
.container.container-footer-area {
    margin: 0 auto; padding: 40px 20px;
    display: grid !important;
    gap: 20px !important;
    max-width: 1000px;
    grid-template-columns: 2fr 3fr !important; 
}

.col-footer-area1,
.col-footer-area2 { flex: none !important; width: 100% !important;}
footer .col.col-footer-area3 { display: none; }



.articleBody :where(.wp-block-image.is-style-default) img, .articleBody :where(.wp-block-image.is-style-rounded) img, .articleBody :where(.wp-block-image:not([class*=is-style-])) img, .articleBody :where(img[class*=wp-image-]) {
    box-shadow: none; outline: none;
}

.split-two-column,
.wp-block-columns.split-two-column {
  margin: 0 auto; display: flex;
  justify-content: center;
  max-width: 1200px;
  gap: 0;
  position: relative;
  overflow: visible !important;
  padding: 0 20px;
  box-sizing: border-box;
}

/* 2. カラム */
.wp-block-columns.split-two-column > .wp-block-column {
  flex: 1;
  max-width: 48%;
  position: relative;
  z-index: 2;
  padding: 0;
}

/* 3. 画像の親figure：padding分を補正 */
.column-right figure.fullwidth-image-block {
  width: calc(50vw + 2%) !important;
  max-width: none !important;
  margin-left: 0 !important; 
  margin-right: auto !important;
  position: relative;
  z-index: 1;
  display: block;
}

.column-left figure.fullwidth-image-block {
  width: calc(50vw + 2%) !important;
    margin-right: 0;
    position: relative;
    left: 100%;
    transform: translateX(-100%);
    z-index: 1;
}

.split-two-column img { width: 100%; height: auto; display: block; max-width: 100% !important; }

/*custom-latest-posts*/
.custom-latest-posts {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.latest-post-item { padding-bottom: 1rem; display: flex; flex-direction: row; align-items: center; gap: 10px; border-bottom: 1px solid #ddd; }
.post-meta {
    display: flex;
    gap: 10px;
    align-items: center;
    white-space: nowrap;
}
.post-date { margin-top: 0; font-size: .8125em; white-space: nowrap; color: inherit; }
.category-names { display: flex; gap: 10px; flex-wrap: wrap; }
.custom-latest-posts .category-name {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 2px;
    font-size: 12px;
    margin-right: 5px;
    font-weight: 500;
    transition: all 0.2s ease;
}

/* ホバー効果（お好みで） */
.custom-latest-posts .category-name:hover { opacity: 0.9; transform: scale(1.05);}

/* デフォルト色（設定なしの場合） */
.custom-latest-posts .category-name:not([style]) { background-color: #e0e0e0; color: #3C2F27;}
.articleBody .latest-post-item h3:not(.is-style-default):not(.is-style-normal):not(h3[class*="is-style-heading"]) {
    margin: 0; padding: 0; font-size: 1em; font-weight: 500;
}
.articleBody .latest-post-item h3:not(.is-style-default):not(.is-style-normal):not(h3[class*="is-style-heading"]){ border:none; }
.articleBody .latest-post-item h3:not(.is-style-default):not(.is-style-normal):not(h3[class*="is-style-heading"])::before{ content:none; }

.articleFooter {  margin: 10rem 0 0;}

/*member*/
body.single-member .article-date{ display:none; }
.member-table{ margin-bottom:6rem; }
.table.member-table i,.articleList .articleList__item_member .xw-article-media i{ margin-right:1rem; font-size: 1.5em; }
.sprit{ margin-bottom:6rem; }
.my-custom-slider{  }
.my-custom-slider img {
    width: auto;
    height: auto;
}

.post-type-archive-member .article-meta, .post-type-archive-search .article-meta{ display:none; }
.articleList__item{ padding:0.5rem; border:1px solid #dfdfdf; position:relative; }
.articleList.type-card .xw-article-media__body{ position:relative; }
.articleList.type-card .xw-article-media__body .custom-field-area{ position:relative; }
.articleList__item .wp-block-button.is-style-arrow{ position:relative;bottom: 0; }
.articleList__item_member a.wp-block-button__link{ display:block; }
.articleList .articleList__item_member .xw-article-media{ color: var(--txt-color); }
.articleList .articleList__item_member .xw-article-media .member-icon{ margin:0.5rem auto; display: flex; justify-content: center; align-items: center; }
.post-type-archive-member .member-icon{ min-height:28px; }

.articleList.type-card .article-category{ left:0; top:0; }


/*お問い合わせボタン*/
input[type=submit]{ padding: 0.5rem 1.5rem; background: #b14a28; border: none; border-radius: 3px; color: #ffffff; }

@media (max-width: 768px) {
    .container.container-footer-area{ display:block !important; }
    .font-size-switcher { margin: 10px auto; justify-content: center; }

  .split-two-column,
  .wp-block-columns.split-two-column {
    flex-direction: column;
    gap: 20px;
    padding: 20px;
  }

  .wp-block-columns.split-two-column > .wp-block-column {
    max-width: 100%;
    flex: none;
  }

  .column-right figure.fullwidth-image-block,
  .column-left figure.fullwidth-image-block {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media (min-width: 768px) {
    .no-sidebar .alignwide, .widget-area.container .alignwide.container{
        margin-left: auto; margin-right:auto; 
    }
}
@media (max-width: 991px) {
    .gNavList a.head-contact ,.gNavList a.head-tel{
        margin-bottom: 0.8rem;
        padding: 10px 16px;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 8px;
        min-width: 70px;
        min-height: 40px;
        text-align: center;
    }
}
@media (min-width: 992px) {
    .header.is-pc-left .siteInfo{ padding:5px 0; }
    .head-contact{ margin-left:1rem; }
    .head-contact,.head-tel{ align-items: center; }
    .head-contact svg,.head-tel svg{ display:block; margin:0 auto !important; padding-top:0.5rem; }

    .gNavList a.head-contact ,.gNavList a.head-tel{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 4px 16px;
        text-decoration: none;
        gap: 2px;
        transition: background 0.2s;
        min-width:70px;
        min-height:60px;
        text-align:center;
    }
    body.single-member .wp-block-columns{  align-items: flex-start; }
    body.single-member figure.wp-block-table{ margin-top:0; }
    body.single-member .my-custom-slider{ width:600px; }

    figure.table-dantai table td:nth-of-type(1){ width:40%; }
}


