/*
 Theme Name:   青年会子テーマ
 Template:     twentytwentyfive
 Version:      1.0
*/
strong {
    font-weight: bold;
}
p{
	margin-top:0;
}
	main>div {
    margin-top: 78px !important;
}
@media (max-width: 768px) {
	main>div {
    margin-top: 63px !important;
}
}
@media (max-width: 1000px) {
  /* モバイル用にナビを非表示・ハンバーガーアイコンを表示 */
  .wp-block-navigation:not(.inline) .wp-block-navigation__container { display: none; }
  .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container-open { display: flex; }
  /* 以降、overlay-menu のスタイルなど… */

	.wp-block-navigation:not(.inline) .wp-block-group.sub-menu-block {
		display: none;
	}
	.wp-block-navigation:not(.inline) .is-menu-open .wp-block-group.sub-menu-block {
		display: flex;
	}
}
/*
 * ヘッダーレイアウトの調整
 * ロゴ・ナビ・SNSアイコンの3要素構成で、ナビを常に中央に配置する
 */

/* PC表示時のみ適用するメディアクエリ (783px以上) */
@media (min-width: 1000px) {

  /* ロゴ、ナビ、SNSアイコンを囲む親のグループブロック */
  .header-area .header-col {
    
    /* FlexboxをGridレイアウトで上書き */
    display: grid;
    
    /* [左の余白(可変)] [中央のコンテンツ(自動幅)] [右の余白(可変)] の3列構成にする */
    grid-template-columns: 1fr auto 1fr;
    
    /* 不要になる可能性のあるFlexboxプロパティをリセット */
    justify-content: initial; 
    align-items: center; /* アイテムを垂直方向に中央揃え */
  }

  /* 1番目の子要素 (ロゴのコンテナ) */
  .header-area .header-col > *:nth-child(1) {
    grid-column: 1; /* 1列目に配置 */
    justify-self: start; /* 列の左端に寄せる */
  }

  /* 2番目の子要素 (ナビゲーション) */
  .header-area .header-col  > *:nth-child(2) {
    grid-column: 2; /* 2列目に配置 */
    justify-self: center; /* 列の中央に配置 (念のため) */
  }

  /* 3番目の子要素 (SNSアイコンのコンテナ) */
  .header-area .header-col  > *:nth-child(3) {
    grid-column: 3; /* 3列目に配置 */
    justify-self: end; /* 列の右端に寄せる */
  }

}

.wp-block-navigation__responsive-container.is-menu-open {
    padding: 16px;
}

:where(.wp-site-blocks *:focus) {
    outline-width: 0 !Important;
    outline-style: none !important;
}


/* アイコン画像にスムーズなトランジションを設定 */
.sub-menu-block .wp-block-image img {
  transition: transform 0.2s ease;
  transform-origin: center center;
}

/* ホバー時に 1% 拡大 */
.sub-menu-block .wp-block-image:hover img {
  transform: scale(1.1);
}
nav.is-responsive.main-menu-block.wp-block-navigation.is-layout-flex.wp-block-navigation-is-layout-flex {
    display: block;
	padding-top: 7px;
}
.wp-block-group.sub-menu-block {
    line-height: 1;
}
/* 親が a タグの img にのみトランジションを設定 */
a > img {
  display: inline-block;       /* transform を効かせるために inline-block 以上にする */
  transition: transform 0.3s ease;
}

/* ホバー時に 1.1 倍に拡大 */
.home a:hover > img,
header a:hover > img{
  transform: scale(1.1);
}
/* ③CSS：位置固定＋アニメーション */
#site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /* 背景色や高さなどはお好みで */
  transition: transform 0.3s ease;
  z-index: 999;
}

/* is-hidden が付いたら上に隠す */
#site-header.is-hidden {
  transform: translateY(-100%);
}
body.admin-bar #site-header, body.admin-bar main {
    top: 32px;
}
.has-text-color{
  color:var(--wp--preset--color--text);
}

/* ---------------------------------------------
 * heading margins
 * ------------------------------------------- */

/* =============================================
 * Heading Margins (Specificity-safe)
 * ============================================= */

/* WordPressのスタイルを上書きするため、コンテナクラス (.article-body) を追加 */

/* H1 */
.page h1 {
  margin-block-start: 2em;    /* margin-top */
  margin-block-end: 1em;      /* margin-bottom */
}

/* H2 */
.page h2 {
  margin-block-start: 1.8em;
  margin-block-end: 0.8em;
}

/* H3 */
.page h3 {
  margin-block-start: 1.6em;
  margin-block-end: 0.6em;
}

/* H4 */.page h4 {
  margin-block-start: 1.5em;
  margin-block-end: 0.5em;
}

/* H5 */
.page h5 {
  margin-block-start: 1.5em;
  margin-block-end: 0.5em;
}

/* * 記事の最初の要素が見出しの場合、上の余白をなくす
 * こちらも詳細度を合わせるために .article-body を追加
 */
.page > *:first-child {
  margin-block-start: 0;
}

/*
 * 見出しが連続する場合の調整
 */
.page h2 + h3,
.page h3 + h4,
.page h4 + h5 {
  margin-block-start: 1em;
}

blockquote.wp-block-quote {
    border-width: 0 0 0 5px;
}

/* --- Contact Form 7 カスタムスタイル --- */

/* フォーム全体のデザイン */
.wpcf7-form {
  max-width: 700px; /* フォームの横幅 */
  margin: 2em auto; /* 上下の余白と中央寄せ */
  padding: 2em;
  background-color: #f9f9f9; /* フォームの背景色 */
  border: 1px solid #ddd;
  border-radius: 12px; /* 角の丸み */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); /* 影をつけて立体感を出す */
}

/* 各入力項目の下の余白 */
.wpcf7-form p {
  margin-bottom: 1.5em;
}

/* ラベル（「お名前」「メールアドレス」などのテキスト） */
.wpcf7-form label {
  display: block; /* ラベルをブロック要素にして改行させる */
  font-weight: bold;
  color: #333;
  margin-bottom: 0.5em; /* ラベルと入力欄の間の余白 */
}

/* 入力欄 (input, textarea) の共通スタイル */
.wpcf7-form .wpcf7-form-control {
  width: 100%;
  padding: 12px 15px; /* 内側の余白（上下、左右） */
  font-size: 16px;
  color: #555;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 8px; /* 入力欄の角の丸み */
  box-sizing: border-box; /* paddingとborderをwidthに含める */
  transition: border-color 0.3s, box-shadow 0.3s; /* アニメーション効果 */
}

/* テキストエリアのサイズ変更を縦方向のみに限定 */
.wpcf7-form .wpcf7-textarea {
  resize: vertical;
}

/* 入力欄を選択（フォーカス）した時のデザイン */
.wpcf7-form .wpcf7-form-control:focus {
  border-color: #007bff; /* 枠線の色を変える */
  box-shadow: 0 0 8px rgba(0, 123, 255, 0.25); /* 影をつけて目立たせる */
  outline: none; /* ブラウザ標準の枠線を消す */
}

/* 送信ボタンのデザイン */
.wpcf7-form .wpcf7-submit {
    display: block;
    width: 100%;
    padding: 15px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    background-color: #08DAFF;
    border: none;
    border-radius: 35px;
    cursor: pointer;
    transition: background-color 0.3s, transform 0.2s;
}

/* 送信ボタンにマウスカーソルを合わせた時のデザイン */
.wpcf7-form .wpcf7-submit:hover {
  background-color: #0056b3; /* 背景色を少し濃くする */
  transform: translateY(-2px); /* 少し上に動かす */
}

/* 必須項目の「(必須)」の文字を少し控えめに */
.wpcf7-form .wpcf7-form-control-wrap + br + span {
    font-size: 0.9em;
    color: #777;
}

/* 送信後のメッセージ表示エリア */
.wpcf7-response-output {
  margin-top: 2em;
  padding: 1.5em;
  border-radius: 8px;
  text-align: center;
}

/* エラーメッセージ（入力不備など）のデザイン */
div.wpcf7-validation-errors {
  border: 1px solid #f5c6cb;
  background-color: #f8d7da;
  color: #721c24;
}

/* 送信完了メッセージのデザイン */
div.wpcf7-mail-sent-ok {
  border: 1px solid #c3e6cb;
  background-color: #d4edda;
  color: #155724;
}

/* 送信中のスピナー（くるくる回るアイコン）の位置調整 */
.wpcf7-spinner {
  position: absolute;
  margin-top: 18px;
  margin-left: -32px;
}
span.wpcf7-form-control.wpcf7-checkbox span label {
    display: flex
;
}
span.wpcf7-form-control.wpcf7-checkbox span {
    margin: 0.2em;
    display: block;
}
span.wpcf7-form-control.wpcf7-checkbox,
span.wpcf7-form-control.wpcf7-acceptance{
    background: none;
    border: none;
}
span.wpcf7-form-control.wpcf7-acceptance {
    padding: 0;
}
span.wpcf7-form-control.wpcf7-acceptance span {
    margin: 0;
}
/* ==========================================
   あらきとうりよう一覧（ショートコード [arakitoryo_items] ）
   ========================================== */
:root {
	/* 基調色をまとめておくと差し替えがラク */
	--ark-accent: #005bac;
	--ark-bg: #f7f9fc;
	--ark-card-bg: #ffffff;
	--ark-border: #e3e7ee;
}

/* グリッド全体 */
.wp-block-lazyblock-arakitoryo {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 2rem;
	padding: 1rem 0;
	background: var(--ark-bg);
}

/* 1 商品カード（section.column4 想定） */
.wp-block-lazyblock-arakitoryo section.column4 {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--ark-card-bg);
	border: 1px solid var(--ark-border);
	border-radius: 12px;
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* ホバー時に少し浮かせる */
.wp-block-lazyblock-arakitoryo section.column4:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 20px rgba(0, 0, 0, 0.12);
}

/* サムネイル */
.wp-block-lazyblock-arakitoryo .itemThumb-wrap-left {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.wp-block-lazyblock-arakitoryo .itemThumb-wrap-left img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

/* 画像ズーム効果 */
.wp-block-lazyblock-arakitoryo section.column4:hover
.itemThumb-wrap-left img {
	transform: scale(1.05);
}

/* テキストエリア */
.wp-block-lazyblock-arakitoryo .itemThumb-wrap-right {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 1rem 1.25rem 1.5rem;
}

/* 商品名 */
.wp-block-lazyblock-arakitoryo .itemThumb-wrap-right h2 {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.45;
	color: #222;
	margin: 0 0 0.75rem;
}

/* 価格（必要なら表示する場合） */
.wp-block-lazyblock-arakitoryo .price {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--ark-accent);
	margin-top: auto;          /* カード下部に配置 */
}

/* ==========================
   既存の非表示指定（再掲）
   ========================== */
.wp-block-lazyblock-arakitoryo .badge,
.wp-block-lazyblock-arakitoryo .sps-wishAddItem,
.wp-block-lazyblock-arakitoryo .sps-wishAddItemOk {
	display: none;
}

/* ==========================
   レスポンシブ調整
   ========================== */
@media (min-width: 640px) {
	/* サムネイルとテキストを横並びにしたい場合は以下を有効化
	   （※カード奥行きがそろわなくなるため、縦並びのままでも OK）
	.wp-block-lazyblock-arakitoryo section.column4 {
		flex-direction: row;
	}
	.wp-block-lazyblock-arakitoryo .itemThumb-wrap-left {
		max-width: 45%;
	}
	*/
}

@media (prefers-color-scheme: dark) {
	:root {
		--ark-bg: #11151c;
		--ark-card-bg: #1c1f26;
		--ark-border: #2a2d35;
	}
	.wp-block-lazyblock-arakitoryo .itemThumb-wrap-right h2,
	.wp-block-lazyblock-arakitoryo .price {
		color: #f1f3f6;
	}
}
.taxonomy-category a {
    background: #08daff;
    color: #fff;
    font-weight: bold;
}

.wp-block-post-terms__separator {
    color:#fff;
}
.is-menu-open ul.wp-block-navigation__container li a {font-size: 15px;}

.is-menu-open ul.wp-block-navigation__container {
    margin-bottom: 24px;
    gap: 0 !important;
    width: 100%;
}

.is-menu-open ul.wp-block-navigation__container li {
    border-top: solid 1px #ccc;
    padding: 16px 0;
    width: 100%;
    position: relative;
}

li.wp-block-navigation-item.info-icon.fadeInUp.delay-100ms.wp-block-navigation-link.o-anim-ready {}

.is-menu-open ul.wp-block-navigation__container li:last-child {
    border-bottom: solid 1px #ccc;
}

.is-menu-open ul.wp-block-navigation__container li:before {
    content: "";
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    border-width: 0.325em 0.45em;
    border-left-color: #fff;
    border-right: 0;
    right: 10px;
    top: 50%;
    transform: translate(0px, -50%);
    z-index: 1;
}

.is-menu-open ul.wp-block-navigation__container li:after {
    content: "";
    position: absolute;
    display: inline-block;
    vertical-align: middle;
    background-color: #08daff;
    line-height: 1;
    width: 16px;
    height: 16px;
    right: 14px;
    top: 50%;
    transform: translate(50%, -50%);
    border-radius: 16px;
}

.wp-block-group.sub-menu-block.has-global-padding.is-content-justification-right.is-layout-constrained.wp-container-core-group-is-layout-f1f2ed93.wp-block-group-is-layout-constrained {}

.is-menu-open .sub-menu-block {
    width: 100%;
}

.is-menu-open .sub-menu-block img {width: 64px !important;height: 64px !important;}

.is-menu-open .sub-menu-block {
    flex-wrap: wrap !important;
}

.is-menu-open .sub-menu-block>div {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}
.has-modal-open .header-area>div>div>figure a img {
    z-index: 999999;
    position: relative;
}
.disnone{
	display:none;
}
.single .taxonomy-category a {
    border-radius: 12px;
    padding: 3px 6px;
    text-decoration: none;
}