/*
Theme Name: Arida-ishikai
Text Domain: 
Theme URI: 
Description: 
Version: 1.0
Author: Webleaf
*/

body {font-family: "Noto Serif JP" , 'Noto Sans JP', system-ui,-apple-system,BlinkMacSystemFont,"ヒラギノ角ゴ W3",sans-serif; letter-spacing:0.1rem; margin:0; padding:0; width:100%; font-size:15px;  }

a { text-decoration:none; color:#000; }
a:hover { text-decoration:underline; }
p { margin-bottom:1rem;}
ul , ol { margin-bottom:3rem;}

h1 , h2 , h3 , h4, h5 , h6 { margin:0;font-family: "Noto Serif JP", serif; }
h2.wp-block-heading { margin: 2em 0;}

/* メインメニュー */
.menu-main-menu-container { position: absolute; right: 3%; top: 27px;}
ul#menu-main-menu { display:flex;justify-content: flex-end; align-items:center; flex-direction:row; flex-wrap:wrap; list-style:none;  }
ul#menu-main-menu li  { padding:4px 15px; }
ul#menu-main-menu li a { text-decoration:none; }
ul#menu-main-menu li a:hover { text-decoration:underline; }
li#menu-item-14465 { background: #2C8BC2!important;}
li#menu-item-14465 a { color:white !important;}
.menu-top {position: sticky; top: 0;z-index: 999;width: 100%; }
.menu-top { margin:1em 0 2em; }

/* header */
.header { position: relative;max-width: 1400px; margin: 0 auto; min-height: 160px;}
.header-in { height: 800px; }
.topcom {width:260px; border-radius: 20px;padding: 6px 4px 0 4px;position: absolute;top: 20px;left: 30px;z-index: 4;}
.topcom img { width:100%; }

/* NEWWWWW */
.header .menu ul { display: flex; position: absolute; right: 0; top: 25px;}
.header .menu ul li { width: 170px; text-decoration:none; }
.top-img-1 { height: 500px; width: 30%; position: absolute; top: 156px; left: 4%;}
.top-img-2 { height: 500px; width: 60%; position: absolute; top: 240px; right: 4%;}
.top-img-1 img { width:100%; height:500px; object-fit:cover; }
.top-img-2 img { width:100%; height:500px;object-fit:cover; }

.top-text-1 { position: absolute; right: 80px; top: 120px; font-size: 2rem; z-index: 999; width: 38px;margin: 0; padding: 0; font-family: 'Noto Serif JP'; color: #ffffff; text-shadow: 2px 2px black;}
.top-text-2 { position: absolute; right: 120px; top: 150px; font-size: 2rem; z-index: 999; width: 38px;margin: 0; padding: 0; font-family: 'Noto Serif JP'; color: #ffffff; text-shadow: 2px 2px black;}
.top-text-3 { position: absolute; right: 160px; top: 180px; font-size: 2rem; z-index: 999; width: 38px;margin: 0; padding: 0; font-family: 'Noto Serif JP'; color: #ffffff; text-shadow: 2px 2px black;}


/* banner-in */
.banner-in { display:flex; justify-content:space-between; }
.banner-in .inbox { width:24%; margin:3em 0; }

/* バナー */
.bannerlistbox { margin:2em 0 2em 1em; }
.bannerlist { display:flex; flex-wrap:wrap; }
.bannerlist .item { width:24%; margin:6px; box-shadow: 0 4px 20px rgba(0,0,0,.03); }
.bannerlist .item2 { width:24%; margin:3px 6px; box-shadow: 0 4px 20px rgba(0,0,0,.03); }
.bannerlist img { width:100%; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.1);}

/* main */
#wrap { max-width:1200px; margin:0 auto 6rem; }

/* topick title */
h2#topick-text {position: relative;padding: 1rem .5rem; margin-bottom: 2em;}
h2#topick-text:after {position: absolute;bottom: 0;left: 0;width: 100%;height: 6px;content: '';border-radius: 3px;background-image: -webkit-gradient(linear, right top, left top, from(#2af598), to(#009efd));background-image: -webkit-linear-gradient(right, #2af598 0%, #009efd 100%);background-image: linear-gradient(to left, #2af598 0%, #009efd 100%);}

/* contents-in */
.contetns-in { width:1000px; margin:8em auto; }
.banner-list ul { display:flex; flex-wrap:wrap; list-style:none; margin-left:-40px; }
.banner-list li { width:24%; margin:4px; }
.banner-list li img { width:100%!important; background:#fff; max-height:50px; object-fit:cover; }
.banner-list2 img { width:60%!important; margin:0 auto; display:block; }
.contetns-in.clinic-table a { text-decoration: underline;}

/* footer */
.footer { width:1200px; margin:100px auto 0;min-height:200px; }
.footer-in { padding:20px; background: #fff;}
.footer-in ul { display: flex; flex-wrap: wrap; justify-content: space-between;}
.footer-in ul li { width: 26%;list-style:decimal-leading-zero;}
.telephone { font-size: 1.5rem; font-weight: 900; font-family: "Noto Serif JP", serif;}

/* ブログ */
#blog{font-family:'Noto Serif JP'; list-style:none; width: 80%; margin: 0 auto;}
#blog li { width:100%; height:60px; border-bottom: 1px solid #ccc; display: flex; align-items: center; }
#blog li .bcate { margin: 2em; }
#blog li .bcate a { text-decoration:none; }
#blog li .btime { }
#blog li .btag { }
#blog li .btag a { text-decoration:none; }
#blog li .btitle {  }
#blog li img { width:100%; height:190px; object-fit:cover; border-radius: 10px 10px 0 0; }
#blog li a:hover { text-decoration:underline; }


/* 投稿枠 */
.bw2 { background:#fff; overflow:hidden; line-height: 1.5rem;}
.bw2 ul { list-style: circle; margin-left: -20px; }
.bw2 a { text-decoration:underline; }
.bw2 a:hover { text-decoration:none; }
.bw2 iframe  { width:100%; height:300px; }
.btn1 a { background:#8dc740; padding:6px 20px; border-radius:6px; color:#fff; display:inline-block; margin-top:3em; }
.btn2 a { background:#8dc740; padding:4px 14px; border-radius:2px; color:#fff; display:inline-block;  }
h1.page-title { padding: 1rem 2rem; background: #004caf; color: #fff; font-size: 1.8rem; line-height: 2.0rem;}

.bw2 h2 { position: relative; padding: .5em .7em .4em; border-bottom: 3px solid #2589d0; color: #333333;}
.bw2 h2::before,.bw2 h2::after { position: absolute; left: 30px; bottom: -15px; width: 30px; height: 15px; clip-path: polygon(0 0, 100% 0, 50% 100%); content: '';}
.bw2 h2::before { background-color: #2589d0;}
.bw2 h2::after { bottom: -11px; background-color: #fff;}

.bw2 h4 { font-size: 1.5rem;line-height: 1.5rem;margin:3em 0 2em; position: relative; padding: 1.5rem 1rem;}
.bw2 h4:after { position: absolute; bottom: 0; left: 0; width: 100%; height: 10px; content: ''; background-image: -webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px); background-image: repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px); background-size: 7px 7px; -webkit-backface-visibility: hidden; backface-visibility: hidden;}

.bw2 h3 { font-size: 1.2rem;line-height: 1.2rem; position: relative; padding: .3em 0 .2em 1.3em; border-bottom: 3px solid #2589d0; color: #333333;margin: 2.5rem 0 1.0rem;}
.bw2 h3::before { position: absolute; top: 0; left: .3em; transform: rotate(55deg); height: 11px; width: 12px; background: #2589d0; content: '';}
.bw2 h3::after { position: absolute; transform: rotate(15deg); top: .6em; left: 0; height: 8px; width: 8px; background: #2589d0; content: '';}  

/* ファイル */
.wp-block-file a { font-size: 0.9rem;}
a.wp-block-file__button { text-decoration: none!important;}

/* single.php */
.icathe img { width: 100%; height: auto; }
.cate-tag {margin-top: 5rem; text-align: right;}
.post-category span a { text-decoration: none; color: #fff; background: #E6B846; padding: 2px 6px 2px 8px; text-align: center; border-radius: 2px;}
.post-category span a:hover { text-decoration:underline; }
.post-tag span a {text-decoration: none; color: #fff; background: #F06C5A; padding: 1px 6px 2px 8px; border-radius: 2px;}
.post-tag span a:hover { text-decoration:underline; }
.post-tag { margin-top: 10px;}

.post_infotime { text-align:right;margin: 0 0 1rem; }
.post_tag { list-style:none; text-align:right;margin:0; }
.post_btcontent { padding: 3em; background: #fff; border: 2px solid #0a3f74;}
.post_btcontent , .post_btcontent a { font-size:1.0rem; }
.post_btcontent img { width:100%; }

/* page.php */
.pagecontent { padding:3em; border: 2px solid #0a3f74; }


/* ページネーション全体 */
.page-numbers { display: flex; justify-content: flex-start; list-style: none; margin: 0 0 30px; perspective: 600px;           /* 3D表現の奥行き */}
.page-numbers li { margin: 0 5px; transform-style: preserve-3d; /* 子要素の3Dを有効化 */}
.current,
a.page-numbers { display: inline-block; border-radius: 30px;          /* 丸みを帯びたピル型 */ padding: 8px 16px; text-decoration: none; font-weight: bold; background: linear-gradient(45deg, #3461eb, #34ebc1); color: #fff; box-shadow: 0 4px 15px rgba(0,0,0,0.2); transition:   transform 0.4s ease,   box-shadow 0.4s ease,   background 0.6s ease;}
a.page-numbers:hover { transform: translateY(-4px) rotateX(15deg); box-shadow: 0 8px 30px rgba(0,0,0,0.3); background: linear-gradient(45deg, #ff6b6b, #f06595);}
.current { pointer-events: none;         /* クリック無効 */ transform: scale(1.2) rotateX(15deg); background: linear-gradient(45deg, #f06595, #ff6b6b);}
nav.pagination-wrap {  margin-top: 3rem;}

/* search.php */
span.page-numbers.dots { display: inline;}
ul.search-list { margin: 2rem 0; background: #fff; padding: 2rem 3rem;}
ul.search-list a { font-weight: 900;}
ul.search-list li { list-style: decimal-leading-zero; }


/* ─── カラートークン（サイト共通なら :root に） ─── */
:root {--search-bg: #fff;--search-border: #d7dfe8;--search-border-focus: #2C8BC2;--search-icon-bg: #2C8BC2;--search-icon-bg-hover: #1d6d9d;--search-placeholder: #9aa4b1;}
.stylish-search {position: relative;max-width: 360px;  width: 100%;margin: 2rem auto;}
.stylish-search .search-input {width: 100%;padding: 0.7rem 3.3rem 0.7rem 1.1rem;  /* 右側アイコンぶん余白 */border: 1px solid var(--search-border);border-radius: 9999px;                 /* Pill 型 */background: var(--search-bg);font-size: 0.95rem;color: #333;outline: none;transition: border-color .25s, box-shadow .25s;}
.stylish-search .search-input::placeholder {color: var(--search-placeholder);}
.stylish-search .search-input:focus {border-color: var(--search-border-focus);box-shadow: 0 0 0 3px rgba(44,139,194,.25);}
/* ─── サーチボタン ─── */
.stylish-search .search-btn {position: absolute;top: 50%;right: 6px;transform: translateY(-50%);width: 2.4rem;height: 2.4rem;border: none;border-radius: 50%;background: var(--search-icon-bg);display: flex;align-items: center;justify-content: center;color: #fff;cursor: pointer;transition: background .25s, transform .25s;}
.stylish-search .search-btn:hover {background: var(--search-icon-bg-hover);transform: translateY(-50%) scale(1.05);}
.stylish-search .search-btn:active {transform: translateY(-50%) scale(0.95);}


/* カテゴリー並び */
.cate-list-top { display: flex; justify-content:space-between; flex-wrap: wrap;}
.cate-list-top li {width: 26%;}
.cate-list-menu {display: flex; flex-direction: column;}
/* 枠 */
ul.site-categories.cate-list-top { background: #fff; padding: 2rem 3rem;}

/* トップにもどる */
html {scroll-behavior: smooth !important;}
#topBtn { position: fixed; right: 0; bottom: 0; display: block; opacity: 0.7; z-index: 1000;  }
#topBtn:hover { opacity: 1;}
a#topBtn img { width: 62px; display: block; height: 62px; object-fit: cover;}
a#topBtn span {font-size: 80%;font-weight: 900;}


/* ハンバーガーアイコン */
.menu-toggle { position: fixed; top: 15px; right: 15px; font-size: 2rem; cursor: pointer; z-index: 1001; display:none;}
/* メニュー本体 */
.mobile-menu { position: fixed; top: 0; left: -400px; width:400px; height: 100%; background: linear-gradient(180deg, #f1f0ec 0%, #f9f7f1 100%); color: #fff; overflow-y: auto; transition: left 0.3s ease; z-index: 1000; color: #000;}
.mobile-menu ul { list-style: none; padding: 20px; margin: 0;}
.mobile-menu ul li { margin-bottom: 15px; font-size: 1.0rem; list-style: square; margin-left: 20px;}
.mobile-menu ul li a { text-decoration: none; }
.mobile-menu ul li a:hover { text-decoration: underline; }
.mobile-menu h2 { font-size: 1.5rem;line-height: 1.5rem;margin:0 0 1em; position: relative; padding: 1.5rem 1rem;}
.mobile-menu h2:after { position: absolute; bottom: 0; left: 0; width: 100%; height: 10px; content: ''; background-image: -webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px); background-image: repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px); background-size: 7px 7px; -webkit-backface-visibility: hidden; backface-visibility: hidden;}
/* メニューが開いている状態 */
.mobile-menu.open { left: 0;}
/* オーバーレイ */
.menu-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); display: none; z-index: 999;}
.menu-overlay.active { display: block;}


/* テーブル */
table { background:#fff; }
th , td  { text-align: center; max-width: 600px; padding: 10px; border:1px solid #ccc; }

/* ファイルダウンロード */
:where(.wp-block-file__button) { padding: .1em 1em!important;}

/* トップ記事グリッド */
.grid-item{ display:grid; grid-template-columns:minmax(120px,40%) 1fr; grid-template-areas:"gazou textz"; gap:3.6rem; align-items:start;margin-bottom: 8rem; }
.grid-item .gazou{ grid-area:gazou; }
.grid-item .textz{ grid-area:textz; }
.grid-item .gazou img{ width:100%; height:auto;display:block;object-fit:cover;}

/* トップ記事グリッドリバース */
.grid-item2{ display:grid; grid-template-columns:minmax(120px,50%) 1fr; grid-template-areas:"textz gazou"; gap:3.6rem; align-items:start; margin-bottom: 8rem;}
.grid-item2 .gazou{ grid-area:gazou; }
.grid-item2 .textz{ grid-area:textz; }
.grid-item2 .gazou img{ width:100%; height:auto;display:block;object-fit:cover;}

.grid-item a , .grid-item2 a { color:#004bb0; text-decoration:none; }

/* 4 カラム × 行の高さ 100px */
.grid-layout4 {display: grid;grid-template-columns: repeat(4, 1fr); gap: 0.8rem; list-style: none;margin-left: -40px;}
.grid-layout4 li { border: 1px solid #ccc; padding: 1.6rem; border-radius: 6px;display: flex; flex-direction: column; justify-content: space-between;}
.grid-layout4 li h3 { text-align: center; margin-bottom: 1rem; border-bottom: 1px solid #ccc;}
.grid-layout4 li h6  { text-align: center; padding: 12px; border: 1px solid #ccc; font-size: 0.8rem;}

/* トップ記事グリッド */
.grid-item_clinic { display:grid; grid-template-columns:minmax(120px,40%) 1fr; grid-template-areas:"gazou textz"; gap:3.6rem; align-items:start;margin-bottom: 2rem; }
.grid-item_clinic .gazou{ grid-area:gazou; }
.grid-item_clinic .textz{ grid-area:textz; }
.grid-item_clinic .gazou img{ width:100%; height:auto;display:block;object-fit:cover;}
.grid-item_clinic iframe { width:100%;height:360px; }
.grid-item_clinic .shinryokamoku { color:#dd2e44; font-weight:900; }

/* 診察テーブル */
.clinic-schedule .wp-block-table table { width: 100%; border-collapse: collapse;text-align: center;}
.clinic-schedule .wp-block-table th,
.clinic-schedule .wp-block-table td { padding: 0.8em 0.5em; font-size: 0.8rem; border-top: 1px solid #ccc; border-left: none; border-right: none; border-bottom: none;}
.clinic-schedule .wp-block-table thead th { font-weight: bold; font-size: 0.8rem;}
.clinic-schedule .wp-block-table td:first-child,
.clinic-schedule .wp-block-table th:first-child { text-align: left; padding-left: 1em;}
.clinic-schedule .wp-block-table thead { border-bottom: 1px solid;}
.clinic-schedule tbody { border-bottom: 1px solid #ccc;}
.clinic-schedule .wp-block-table table th:first-child,
.clinic-schedule .wp-block-table table td:first-child {  width: 110px;}

/* 医療P画像 */
.clinic-photo img {width: 100%;height: auto; object-fit: cover; display: block;}
.clinic-photo { display: flex; gap: 1rem; }
.clinic-photo img { flex: 1 1 0; max-width: 100%; height: auto; object-fit: cover; }

/* 医療機関リスト背景 */
.clinic-table table tr:nth-child(even) td {background-color: #f4f4f4; }

/*----------------------------scroll_up----------------------------*/
.scroll_up { transition: 1.6s ease-in-out; transform: translateY(30px); opacity: 0;}
.scroll_up.on { transform: translateY(0); opacity: 1.0;}
.scroll_up2 { transition: 3.0s ease-in-out; transform: translateY(30px); opacity: 0;}
.scroll_up2.on { transform: translateY(0); opacity: 1.0;}
.scroll_up3 { transition: 4.0s ease-in-out; transform: translateY(30px); opacity: 0;}
.scroll_up3.on { transform: translateY(0); opacity: 1.0;}
.scroll_left {   -webkit-transition: 2.8s ease-in-out;   -moz-transition: 0.8s ease-in-out;   -o-transition: 0.8s ease-in-out;   transition: 0.8s ease-in-out;   transform: translateX(-30px);   opacity: 0;   filter: alpha(opacity=0);   -moz-opacity: 0;}
.scroll_left.on {   opacity: 1.0;   filter: alpha(opacity=100);   -moz-opacity: 1.0;   transform: translateX(0);}
.scroll_right {   -webkit-transition: 1.8s ease-in-out;   -moz-transition: 0.8s ease-in-out;   -o-transition: 0.8s ease-in-out;   transition: 0.8s ease-in-out;   transform: translateX(30px);   opacity: 0;   filter: alpha(opacity=0);   -moz-opacity: 0;}
.scroll_right.on {   opacity: 1.0;   filter: alpha(opacity=100);   -moz-opacity: 1.0;   transform: translateX(0);}
/*------------------------*/

@media (max-width:1024px){
.menu-main-menu-container { width: 99%;}
#wrap { width: 97%; max-width: 100%;}
#blog{ grid-template-columns:repeat(2,1fr); }
.contetns-in { width: 100%;}
.bannerlist .item2 { width: 48%;}
.footer { width: 100%;}

}


@media only screen and (max-width:768px) {
html, body { overflow-x: hidden;}

/* header */
.header { margin: 0; width: 100%; }
.header-in { width:100%;height: 760px; }
.topcom { width:312px; top: 10px; left: 6px;}

.menu-main-menu-container { width:98%; }
ul#menu-main-menu { justify-content:center;}
/* main */
#wrap { width:94%; max-width:none; margin:0 auto 3rem; }

.top-text-1 { right: 60px; top: 150px; font-size: 1.5rem;}
.top-text-2 { right: 100px; top: 180px; font-size: 1.5rem; }
.top-text-3 { right: 140px; top:210px; font-size: 1.5rem; }

/* メニュー */
.menu-toggle { display:block;}
.mobile-menu { left: -80%; width: 80%; }
.menu-main-menu-container { display:none; }

/* 署名 */
.shomei { right: 0;bottom: -38px; top:unset; }
	
/* page.php */
.post_btcontent { padding: 1em;}
.pagecontent { padding:1em; }

/* カテゴリー並び */
.cate-list-top { flex-direction: column;}
.cate-list-top li {width: 100%;}

/* ブログ */
#blog{ width: 100%; margin: 0 0 0 -5%;}
#blog li { width:100%; height:90px; display: unset; align-items: center; }
#blog li .bcate { margin:0; }
#blog li .bcate a { text-decoration:none; }

#blog li {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "btime   bcate"
      "btitle  btitle";
    column-gap: .6rem; 
    row-gap:    .4rem; 
  }
#blog li .btime      { grid-area: btime; }
#blog li .bcate  { grid-area: bcate; }
#blog li .btitle     { grid-area: btitle; }

/* トップ記事グリッドスマホ */
.grid-item , .grid-item2 , .grid-item_clinic { display: grid; grid-template-columns: 1fr; grid-template-areas:  "gazou"  "textz"; gap: 0.6rem; margin:0 auto; width:94%;}
.grid-item .gazou , .grid-item2 .gazou { width: 100%; }
.grid-item .gazou img , .grid-item2 .gazou img { width: 100%; height: auto; display: block; }
.grid-item_clinic iframe { height:300px; }

/* 4 カラム × 行の高さ 100px */
.grid-layout4 {grid-template-columns: repeat(1, 1fr); }

/* 診察P画像 */
.clinic-photo { flex-direction: column;}

/* バナー */
.bannerlistbox { margin-left:0px; }
.bannerlist { display:flex; flex-wrap:wrap; width:99%; margin:0 auto;}
.bannerlist .item { width:100%; margin:3px; }
.bannerlist .item2 { width:48%; margin:3px; }

/* 引用 */
.wp-block-quote { margin:0; }
/* contents-in */
.banner-list ul { display:flex; flex-wrap:wrap; list-style:none; margin-left:-40px; }
.banner-list li { width:47%; }
.banner-list2 img { width:100%!important; }
/* footer */
.footer { width:100%; margin:130px auto 0; min-height:200px; }
.footer-in {  }
.footer-in ul { flex-direction: column; }
.footer-in ul li { width: 100%; line-height: 2.5rem;list-style: circle;}

#topBtn { display:none!important;}
}