/*
Theme Name: Custom Original Theme
Theme URI: https://example.com/custom-original-theme
Author: Your Team
Author URI: https://example.com
Description: Minimal, production-ready WordPress starter theme scaffold (classic theme) with clean structure and sensible defaults.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: custom-original-theme
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, one-column, two-columns, custom-logo, custom-menu, featured-images
*/

:root{
  --bg:#ffffff;
  --fg:#111827;
  --muted:#6b7280;
  --link:#15171a;
  --border:#e5e7eb;
  --accent:#111827;
  --container:1320px;
  --radius:16px;
  --cta:#FED400;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--fg);
  background:var(--bg);
  font-family:"Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height:1.7;
  font-size:16px;
}
h1{
	margin-top:100px;
	margin-bottom:100px;
}
h2, h3{
	margin:0;
}
a{color:var(--link); text-decoration:none}
a:hover{text-decoration:underline}

.container{max-width:var(--container); margin:0 auto; padding:0 20px}

.site-header{
  border-bottom:1px solid var(--border);
  position:sticky; top:0; background:#fff; z-index:50;
}
.site-header .inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; padding:14px 10px;
}
.site-title{font-weight:700; font-size:20px; margin:0}
.site-description{color:var(--muted); font-size:13px; margin:0}

#menu-toggle{
  border:1px solid var(--border);
  border-radius:12px;
  background:#fff;
  padding:8px 12px;
  cursor:pointer;
}

#site-nav{display:flex; gap:16px; z-index: 1000;}
#site-nav a{color:var(--fg); padding:6px 10px; border-radius:10px; font-size:15px; font-weight:550; line-height:24px;}
#site-nav a:hover{background:var(--border)}

@media (max-width: 820px){
  #site-nav{display:none; flex-direction:column; padding:12px; border:1px solid var(--border);}
  #site-nav.is-open{display:flex; background:#fff}
}

.hero{
  padding:64px 0 24px;
  background:linear-gradient(180deg,#f9fafb, #ffffff);
  border-bottom:1px solid var(--border);
}
.hero h1{font-size: clamp(28px, 5vw, 44px); margin:0 0 8px}
.hero p{color:var(--muted); margin:0}

main{padding:32px 0}

.grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:20px;
}
@media(max-width:960px){
  .grid{grid-template-columns: repeat(2, 1fr)}
}
@media(max-width:640px){
  .grid{grid-template-columns: 1fr}
}

.card{
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  background:#fff;
}
.card .thumb{display:block; aspect-ratio: 16/9; background:#f3f4f6}
.card .body{padding:16px}
.card h2{font-size:18px; margin:0 0 10px}
.card .meta{font-size:12px; color:var(--muted)}

.post-content img{max-width:100%; height:auto}
.post-meta{color:var(--muted); font-size:14px; margin-bottom:12px}
.post-nav{display:flex; justify-content:space-between; gap:10px; margin-top:28px}

.site-footer{
  border-top:1px solid var(--border);
  padding:24px 0; color:var(--muted); font-size:14px;
}
/* .site-footer .links{display:flex; gap:12px; flex-wrap:wrap} */
.site-footer .links{
	text-align:center;
	padding-bottom:20px;
	    border-bottom: 1px dotted var(--border);
}
.site-footer .links li{
	list-style:none;
}
.site-footer .copy{
	text-align:center;
	margin-top:10px;
}
hr{border:0; border-top:1px solid var(--border); margin:24px 0}
.pagination{display:flex; gap:12px; align-items:center}
.screen-reader-text{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

.news-list h3{
	    font-size: 22px;
    font-weight: 725;
    letter-spacing: -.014em;
    line-height: 1.3;
}
.news-list .wp-block-group.is-layout-grid{
	padding:15px !important;
}

.site-nav li{
	list-style:none;
}
.top-fv{
	padding:180px 80px;
	background:url(https://sdtfc.com/wp-content/uploads/2025/09/yellow_diagonal_texture_custom.png);
	background-position:center;
	background-size:cover;
}

.branding{flex:1;}           /* 右側要素を押し出して配置 */
.cta-button{
  background:var(--cta);
  color:#111827;
  font-weight:700;
  padding:10px 16px;
  border-radius:9999px;      /* ピル型 */
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
}
.cta-button:hover{opacity:.9; text-decoration:none}
@media (max-width: 820px){
	.top-fv{
	padding:80px 20px;
	background:url(https://sdtfc.com/wp-content/uploads/2025/09/yellow_diagonal_texture_custom.png);
	background-position:center;
	background-size:cover;
}
	.container{max-width:var(--container); margin:0 auto; padding:0;}
  #site-nav{display:none}    /* 既存のモバイル挙動を維持 */
  #site-nav.is-open{display:flex}
  .cta-button{padding:9px 14px}
}
.wp-block-group{
	padding:0 !important;
}

.form__cate {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 14px;
    font-size: 16px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
/* 	color:white; */
}
.form__cate {
    margin-top: 30px;
    padding-top: 26px;
/*     border-top: 1px solid #d4d4d4; */
}
.form__required {
    display: inline-block;
    margin-left: 5px;
    padding: 4px 6px;
    font-family: "メイリオ","Yu Gothic",YuGothic,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","Meiryo","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    font-size: 10px;
    line-height: 1;
    vertical-align: middle;
    color: #fff;
    border-radius: 5px;
}

.form__required {
    background: #bb271a;
}

figure {
    margin: 0 0 1em;
}
.c-category figure {
    position: relative;
}
.c-category figure div {
    position: relative;
    overflow: hidden;
    background-color: #fff;
    padding-top: 76.71233%;
    -webkit-box-shadow: 3px 3px 10px rgb(0 0 0 / 26%);
    box-shadow: 3px 3px 10px rgb(0 0 0 / 26%);
}
.c-category a img {
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s,-webkit-transform .3s;
}
.c-category a:hover img {
    -webkit-transform: translate(-50%, -50%) scale(1.1);
    transform: translate(-50%, -50%) scale(1.1);
}
.c-category figure div img {
    position: absolute;
    top: 50%;
    left: 50%;
/*     width: %; */
    height: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -o-object-fit: cover;
    object-fit: cover;
}
.c-category a figcaption {
    -webkit-transition: right .3s;
    transition: right .3s;
}
.c-category a:hover figcaption {
    right: -20px;
}
.c-category figure figcaption {
    position: absolute;
    right: -12px;
    bottom: -15px;
    width: 220px;
    padding: 0.4em calc(1em + 10px) 0.4em 0.5em;
    font-size: 18px;
/*     font-size: 1.8rem; */
    line-height: 1.2;
    text-align: center;
    color: #fff;
    background-color: #4C4A4A;
    -webkit-clip-path: polygon(210px 0, 100% 50%, 210px 100%, 0 100%, 0 0);
    clip-path: polygon(210px 0, 100% 50%, 210px 100%, 0 100%, 0 0);
}
.c-category figure figcaption:after {
    content: '';
    width: 0.80769em;
    height: 0.66501em;
    background-image: url(https://alice-home.com/wp-content/uploads/2023/02/icon_arrow2_wh.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media (min-width: 48.0625em){
.c-category ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.c-category ul > li {
    width: 31%;
}
.c-category ul > li:not(:nth-child(3n+2)) {
    margin-top: 30px;
}
.c-category ul > li:nth-child(1), .c-category ul > li:nth-child(3) {
    margin-top: 0;
}
.c-category a {
    display: block;
}
.c-category ul > li:not(:nth-child(3n+1)) {
    margin-left: 3.5%;
}
.c-category ul > li:nth-child(3n+2) {
    margin-top: 90px;
}
.c-category ul > li:not(:nth-child(3n+2)) {
    margin-top: 30px;
}
}

@media (max-width: 48em){
	.c-sec__cont {
    margin-top: 30px;
}
	.c-category ul{
		padding:10px;
	}
	.c-category ul > li {
    width: 46.34921%;
}
	.c-category ul > li:not(:last-child) {
    margin-bottom: 65px;
}
	.c-category ul > li:nth-child(odd) {
    float: left;
    clear: left;
}
	.c-category figure figcaption {
    width: 140px;
    font-size: 13px;
    font-size: 0.8rem;
    -webkit-clip-path: polygon(130px 0, 100% 50%, 130px 100%, 0 100%, 0 0);
    clip-path: polygon(130px 0, 100% 50%, 130px 100%, 0 100%, 0 0);
}
	.c-category ul > li:not(:last-child) {
    margin-bottom: 65px;
}
	.c-category ul > li:nth-child(even) {
    float: right;
}
	.c-category ul > li:nth-child(2) {
    margin-top: 30px;
}
}

.info-list {
    margin: 52px auto 80px;
}
.info-list__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.info-list__container > dt, .info-list__container > dd {
    padding: 23px 0 23px 15px;
    font-size: 16px;
	  margin:0 auto;
}
.info-list__container > dt {
    width: 19%;
    border-bottom: 1px solid #05235c;
}
.info-list__container > dd {
    width: 81%;
    border-bottom: 1px solid #d4d4d4;
}

input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    border: 1px solid #666;
    border-radius: 3px;
    padding: .5rem 1rem;
    transition: all .3s;
    width: 100%;
}
.form__container li{
	list-style:none;
}

/* ハンバーガー（SPのみ表示） */
.hamburger {
  appearance: none;
  background: none;
  border: 0;
  padding: 8px;
  margin: 0;
  cursor: pointer;
  display: none; /* PCでは非表示 */
  line-height: 1;
	z-index: 1000;
}

/* --- ここから差し替え --- */
/* ハンバーガーアイコン（CSSで3本線） */
.hamburger-box {
  display: inline-block;
  width: 28px;
  height: 20px;
  position: relative;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  position: absolute;
  width: 28px;
  height: 2px;
  left: 0;
  content: "";
  background: currentColor;
  transition: transform .25s ease, opacity .25s ease, top .25s ease;
}

/* 中央のバーをボックス中央へ */
.hamburger-inner {
  top: 50%;
  margin-top: -1px; /* 2pxの半分 */
}

/* 上下のバーを上下に配置（←ここがポイント） */
.hamburger-inner::before { top: -8px; }  /* 上の線 */
.hamburger-inner::after  { top:  8px; }  /* 下の線 */

/* 開いた時の「×」アニメーション */
.hamburger.is-active .hamburger-inner {
  transform: rotate(45deg);
}
.hamburger.is-active .hamburger-inner::before {
  top: 0;                 /* 中央へ寄せる */
  transform: rotate(90deg);
}
.hamburger.is-active .hamburger-inner::after {
  top: 0;                 /* 中央へ寄せる */
  opacity: 0;             /* 消す */
}
/* --- ここまで差し替え --- */

@media (max-width: 1024px) {
  .site-nav {
    position: fixed;
    inset: 0 0 0 auto;           /* 右側に出す */
    width: 100vw;
    transform: translateX(100%);
    transition: transform .25s ease;
    background: #fff;
    box-shadow: -8px 0 24px rgba(0,0,0,.12);
    padding: 80px 20px 24px;
    overflow-y: auto;
  }
  .site-nav > ul {
    flex-direction: column;
    gap: 12px;
  }
/* ハンバーガーを表示 */
  .hamburger {
    display: inline-flex;
  }

  /* PC時のナビ水平表示を抑止 */
  .site-nav.is-open {
    transform: translateX(0%);
  }

  /* オーバーレイ */
  .nav-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.35);
    z-index: 999;
  }	
	
}
@media (min-width: 1025px) {
  .site-nav {
    position: static;
    transform: none !important;
    width: auto;
    padding: 0;
    box-shadow: none;
    background: transparent;
  }
  .nav-overlay {
    display: none !important;
  }
	.mobile-menu-footer{
		display:none;
	}
}

@media (max-width: 1024px) {
  /* ヘッダーのCTAは隠す（下部に別CTAを出すため） */
  #header-cta { display: none !important; }

  /* ドロワー全体を縦レイアウトにして中央にメニューを寄せる */
  #site-nav.site-nav {
    display: flex;
    flex-direction: column;
    padding: 80px 20px 100px; /* 下にCTAぶんの余白 */
        align-items: center;
        justify-content: center;
  }

  /* メニューは中央寄せ＆行間を広めに */
  #site-nav > ul {
    flex-direction: column;
    gap: 18px;
    margin: auto 0;          /* ← これで縦方向の中央に寄る */
    align-items: center;
  }
  #site-nav > ul > li > a {
    font-size: 16px;
    line-height: 1.9;
    padding: 6px 0;
  }

  /* 下部固定のCTA（黄色・角丸・横いっぱい） */
  .mobile-menu-footer {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 24px;
	  display:block;
  }
  .mobile-menu-footer .cta-large {
    display: block;
    width: 100%;
    border: none;
    border-radius: 999px;        /* 強い角丸（画像に近い雰囲気） */
    padding: 14px 18px;
    text-align: center;
    background: #FFD200;         /* ビビッドな黄色 */
    color: #111;                 /* 可読性の高い濃色文字 */
    font-weight: 800;
  }
	#site-nav a{
		font-size:18px;
		font-weight:600;
	}

  /* オープン中スクロール時も常に見えるよう、ドロワー側が親（position:fixed）なのでabsoluteでOK */
}

.mw_wp_form{
	width:100%;
}
.mw_wp_form .form__container{
	padding:10px;
}
.wpcf7-submit {
	background: var(--cta);
    color: #111827;
    font-weight: 700;
    padding: 10px 16px;
    border-radius: 5px;
	border:none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    box-shadow: 0 1px 0 rgba(0, 0, 0, .04);
	min-width:300px;
	min-height:50px;
}
.c-txtbtn__inner > p{
	text-align:center;
}
.wpcf7-spinner{
	display:none !important;
}

.post-content{
	padding:10px;
	margin-bottom:50px;
}