/*
Theme Name: Aridashi-shakyo
Text Domain: 
Theme URI: 
Description: 
Version: 2.0
Author: Webleaf
*/

body {font-family: 'Noto Sans JP', system-ui,-apple-system,BlinkMacSystemFont,"ヒラギノ角ゴ W3",sans-serif; letter-spacing:0.1rem; margin:0; padding:0; width:100%; font-size:15px; background-color: transparent;  background-image: linear-gradient(180deg, #f1f0ec 0%, #f9f7f1 100%); }

a { text-decoration:none; color:#000; }
a:hover { text-decoration:underline; }

h1 , h2 , h3 , h4, h5 , h6 { margin:0;font-family: "Noto Serif JP", serif; }

/* メインメニュー */
.menu-top { margin:1em 0 2em; }
.menu-main-menu-container { width:1200px; margin:0 auto;background: #f3f2ed; }
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  { background:#fff; padding:4px 15px; border-radius: 20px; border: 1px solid #268dc1;box-shadow: 0 4px 12px rgba(0,0,0,.05);}
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%; }

/* header */
.header { max-width: 1200px;margin: 0 auto;position: relative;height: 360px;}
.header-in { width:1200px; margin:0 auto; }
.topcom {width:320px; /* background: hsl(0deg 0% 100% / 60%); */ border-radius: 20px;padding: 6px 4px 0 4px;position: absolute;top: 20px;left: 6px;z-index: 4;}
.topcom img { width:100%; }
.header .hero-img { width: 100%; border-radius: 20px; position: absolute; top: 10px; z-index: 2; height: 330px; object-fit: cover;}
.pc-top { display:block; }
.sm-top { display:none; }

/* 絵師 */
.shomei {position: absolute;right: 30px;top: 21px;z-index: 999;font-size: 75%;}

/* 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; min-height: 500px; }

/* 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:1200px; margin:4em 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; }

/* 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{list-style:none;display:grid;gap:32px 24px;grid-template-columns:repeat(3,1fr); grid-auto-rows:1fr;margin-left:-40px;}
#blog li { width:100%; height:300px; position:relative;border: 4px solid #fff; border-radius: 10px 0 0 10px; box-shadow: 0 4px 12px rgba(0,0,0,.05); background: #fff; border-right: 2px solid #f06c5a;}
#blog li .bcate { position:absolute; left:4px; top:164px; z-index:3; }
#blog li .bcate a { text-decoration:none; color:#fff; background:#E6B846; padding: 2px 6px 2px 8px; margin-right: 4px;text-align: center; border-radius: 2px;font-size: 0.9rem;}

#blog li .btime { position:absolute; left:0; z-index:2; bottom:0; background:#fff; padding: 4px 8px;display:inline-block;background:hsl(202deg 63.03% 46.67% / 67%);color:white;padding:0.1em 0.6em;border-radius:6px;font-weight:bold;font-family:'Segoe UI',sans-serif;letter-spacing:0.05em;transition:transform 0.2s ease;}
#blog li .btime:hover {transform:scale(1.05);}

#blog li .btag { position:absolute; right:0; z-index:3; bottom:2px; }
#blog li .btag a { text-decoration:none; color:#fff; background:#F06C5A; margin-left: 4px; padding:1px 6px 2px 8px;border-radius:2px 0 0 2px;font-size: 0.9rem;}
#blog li .btitle { position:absolute; bottom:0; height:92px; padding:5px 7px 10px 7px; background:#fff; overflow:hidden; border-radius: 0 0 10px 10px;font-family:'Noto Serif JP';font-weight: bold;font-size: 1.2rem;border-top: 1px solid #f5f5f5; }
#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:none; margin-left:-40px; }
.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; border-left: 6px double #FFF; background: #0a3f74; color: #fff; font-size: 1.8rem; line-height: 2.0rem;}

.bw2 h2 { font-size: 1.5rem;line-height: 1.5rem;margin:3em 0 2em; position: relative; padding: 1.5rem 1rem;}
.bw2 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;}
.bw2 h3 { font-size: 1.2rem;line-height: 1.2rem;margin:2em 0 1em; }
.bw2 h4 { font-size: 1.2rem;line-height: 1.2rem;margin:1em 0 1em; }

/* アコーディオン */
.accordion {margin-bottom: 10px;border: 1px solid #ccc;border-radius: 5px;overflow: hidden;font-family: sans-serif;}
.accordion input[type="checkbox"] {display: none;}
.accordion label {display: block;background: #2c8bc2;color: #fff;padding: 12px 16px;cursor: pointer;font-weight: bold;border-bottom: 1px solid #ccc;transition: background 0.3s;}
.accordion label:hover {background: #1f6ba0;}
.accordion .content-a {max-height: 0;overflow: hidden;transition: max-height 0.3s ease, padding 0.3s ease;padding: 0 16px;}
.accordion input[type="checkbox"]:checked ~ .content-a {max-height: 1300px; padding: 12px 16px;}

/* ファイル */
.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; }

/* 関連記事表示 */
.relation-post { padding: 2rem 1rem 1rem; background: #fff; margin-top: 2rem; border: 2px solid #2c8bc2;}
.post-navigation .next-post { text-align: right; }
.post-navigation .next-post:before { content:"『" }
.post-navigation .next-post:after { content:"』" }
.post-navigation .prev-post:before { content:"『" }
.post-navigation .prev-post:after { content:"』" }


/* ページネーション全体 */
.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;}

/*----------------------------scroll_up----------------------------*/
.scroll_up { transition: 0.8s ease-in-out; transform: translateY(30px); opacity: 0;}
.scroll_up.on { transform: translateY(0); opacity: 1.0;}
.scroll_left {   -webkit-transition: 0.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: 0.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%; height: 440px;margin-bottom: 3em;}
.header-in { width:100%;}
.topcom { width:312px; }

.header .hero-img { top:0; z-index: 2; height: 480px; object-fit: cover; border-radius: 0;}
.pc-top { display:none; }
.sm-top { display:block; }

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

/* メニュー */
.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{ grid-template-columns:1fr; }
#blog li { height:260px;}
#blog li .bcate { top:150px;}
#blog li .bcate a { bottom:-20px; min-width:50px; }
#blog li .btag { right:0; bottom:0; }
#blog li .btime { left:-2px; bottom:-2px; height: 20px;}
#blog li .btitle { width:96%; overflow:hidden; height:68px; }
#blog li img { width:100%; height:176px; }
h1.page-title { padding: 1rem 1rem; max-width: 100%;}

/* バナー */
.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;}

}