/*
Theme Name: 世田谷トラスト
*/

@charset "utf-8";

:root {
  --base-color:  #333333;
  --bg-color:  #FFF5E8;
  --gray-color:  #F0F2F2;
  --gray-light-color:  #F8F8F8;
  --gray-shade-color:  #AAAAAA;
  --main-color:  #004C87;
  --pink-color:  #F0728A;
  --pink-shade-color:  #D6345A;
  --yellow-dark-color:  #A36700;
  --yellow-Deep-color:  #C68100;
  --yellow-shade-color:  #E59703;
  --yellow-color:  #F7B900;
/*  --yellow-light-color:  #FFFFDD;*/
  --yellow-light-color:  #FFFFEE;
/*  --blue-shade-color:  #3c9491;*/
  --blue-shade-color:  #348275;
  --blue-color:  #97CEC8;
/*  --blue-light-color:  #eaf7f4;*/
  --blue-light-color:  #edfaf7;
  --green-shade-color:  #3C803C;
  --green-color:  #66A354;
  --green-light-color:  #F5FAF2;
  --vivid-red: #cf2e2e;

  --round-font:  "Zen Maru Gothic", "ヒラギノ丸ゴ Pro";
}

* {
  box-sizing: border-box;
}

html {
  font-size: 10px;
  overflow-x: hidden;
  scroll-behavior: smooth;
}
@media screen and (max-width: 768px) {
  html {
    font-size: 0.5rem;
  }
}

body {
  margin: 0;
  padding: 0;
  font-weight: 400;
  letter-spacing: inherit !important;
  font-size: 1.6rem;
  line-height: 1.7;
  color: var(--base-color);
  overflow-x: hidden;
  background-color: var(--bg-color);
}
@media screen and (max-width: 768px) {
	body {
		font-size: 1.7rem;
	}
}
body.home {
background: #fff;
}

/* サイト内のすべての要素（リンク、ボタン、入力フォーム）のフォーカス色 */
:focus-visible {
    outline: 3px solid var(--yellow-Deep-color); /* 太さと色 */
    outline-offset: 2px; /* 要素と線の間に少し隙間を作る（見やすくなる） */
}


h1, h2, h3, h4, h5, h6 {
  color: var(--base-color);
  font-weight: bold;
  line-height: 1.5;
  font-family: var(--round-font);
  margin: 2em 0 1em;
}
h1 {
  font-size: 3.4rem;
}
h2 {
  position: relative;
  font-size: 2.8rem;
  padding-top: 20px;
}
h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 129px;
  height: 5px; /* ラインの太さ */
  background-image: linear-gradient(to right,
    var(--main-color) 24%, transparent 24% 25%,
    var(--blue-shade-color) 25% 49%,
    transparent 49% 50%, var(--green-color) 50% 74%,
    transparent 74% 75%, var(--yellow-color) 75%
  );
}

h3 {
	font-size: 2.2rem;
	padding-bottom: .3em;
	color: var(--main-color);
	border-bottom: dotted 4px var(--gray-color);
}
h4 {
  font-size: 2rem;
  padding: .5em .8em;
  background-color: var(--blue-light-color);
  border-radius: 5px;
/*  color: var(--blue-shade-color);*/
  color: var(--main-color);
}
h5 {
	font-size: 1.9rem;
	padding-bottom: .3em;
	color: var(--green-shade-color);
	border-bottom: solid 1px var(--green-color);
}
h6 {
  width: fit-content;
  font-size: 1.8rem;
	color: var(--yellow-dark-color);
  padding: .5em .8em;
  border-radius: 5px;
  background-color: var(--yellow-light-color);
}


img {
  vertical-align: top;
}

a {
  text-decoration-line: none !important;
  color: var(--base-color);
  transition: .3s;
}
a:hover {
  opacity: .6;
}
p a, figure a {
  color: var(--blue-shade-color);
}

a.ab-item::after,
ul.news-cat-list li a::after,
.months-group li a::after,
.top-self-menu li a::after,
.ev-self-menu li a::after {
  content: none !important;
}

li a:has(> img)::after, figure a:has(> img)::after {
  content: none !important;
}

p a[href^="#"]::after, li a[href^="#"]::after, figure a[href^="#"]::after {
	content: "";
  position: relative;
  display: inline-block;
  width: .5em;
  height: .5em;
	margin: 0 .4em;
  transform: rotate(135deg);
  top: -0.2em;
  border-top: solid 2px var(--blue-shade-color);
  border-right: solid 2px var(--blue-shade-color);
}
p a::after, li a::after, figure a::after {
  font-family: "Font Awesome 6 Free";
  color: var(--blue-shade-color);
  font-weight: 900;
  content: "\f138";
	margin: 0 .4em;
  font-size: .9em;
}
p a[target="_blank"]::after, li a[target="_blank"]::after {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f35d";
	margin: 0 .4em;
  font-size: .9em;
}
a[href^="mailto:"]::before {
  font-family: "Font Awesome 6 Free";
/*  color: var(--blue-shade-color);*/
  font-weight: 900;
  content: "\f0e0" !important;
	margin: 0 .4em;
  font-size: .9em;
}
a[href^="mailto:"]::after {
  content: none !important;
}
a[href^="tel:"]::before {
  font-family: "Font Awesome 6 Free";
  color: var(--blue-shade-color);
  font-weight: 900;
  content: "\f095" !important;
  margin: 0 .4em;
  font-size: .9em;
}
a[href^="tel:"]::after {
  content: none !important;
}
p a[href$=".pdf"] {
  color: var(--pink-shade-color);
}
li a[href$=".pdf"] {
  color: var(--base-color);
}
li a[href$=".pdf"]::after, p a[href$=".pdf"]::after, figure a[href$=".pdf"]::after {
  color: var(--pink-shade-color);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f1c1";
	margin: 0 .4em;
}
p a[href$=".docx"], p a[href$=".doc"] {
  color: var(--main-color);
}
li a[href$=".docx"], li a[href$=".doc"] {
  color: var(--base-color);
}
li a[href$=".docx"]::after, li a[href$=".doc"]::after, p a[href$=".docx"]::after, p a[href$=".doc"]::after, figure a[href$=".docx"]::after, figure a[href$=".doc"]::after {
  color: var(--main-color);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f1c2";
	margin: 0 .4em;
}
p a[href$=".xlsx"] {
  color: var(--green-shade-color);
}
li a[href$=".xlsx"] {
  color: var(--base-color);
}
li a[href$=".xlsx"]::after, p a[href$=".xlsx"]::after, figure a[href$=".xlsx"]::after {
  color: var(--green-shade-color);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f1c3";
	margin: 0 .4em;
}
p a[href$=".zip"] {
  color: var(--green-shade-color);
}
li a[href$=".zip"] {
  color: var(--base-color);
}
li a[href$=".zip"]::after, p a[href$=".zip"]::after, figure a[href$=".zip"]::after {
  color: var(--yellow-shade-color);
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f1c6";
	margin: 0 .4em;
}

fieldset{
	border: none !important;
}

.container {
  width: 100%;
  max-width: 1300px;
  margin: 80px auto 0;
  padding: 0 50px;
  position: relative;
}

.custompost-single{
	margin-top: 80px;
}

@media screen and (max-width: 768px) {
  .container {
	padding: 0 30px;
  }
  .custompost-single{
  	margin-top: 50px;
  }
}
@media screen and (max-width: 568px) {
  .container {
    padding: 0 20px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  /* ここにタブレット用のスタイルを記述 */
  .container {
    width: 90%;
  }
}


section {
  margin: 80px 0;
}

.contents-main{
	background-color: #fff;
	padding: 30px;
	margin-bottom: 60px;
}
/*
.contents-main .pure-g > .pure-u-1-2:nth-of-type(2n) {
    margin-left: 45px !important;
}
*/
/*margin・padding*/
.m0{
	margin: 0px !important;
}
.m0rem{
	margin: 0px !important;
}
.mt0rem{
	margin-top: 0px !important;
}
.mb0rem{
	margin-bottom: 0px !important;
}
.ml0rem{
	margin-left: 0px !important;
}
.mr0rem{
	margin-right: 0px !important;
}

.m1rem{
	margin: 1rem !important;
}
.mt1rem{
	margin-top: 1rem !important;
}
.mb1rem{
	margin-bottom: 1rem !important;
}
.ml1rem{
	margin-left: 1rem !important;
}
.mr1rem{
	margin-right: 1rem !important;
}

.m2rem{
	margin: 2rem !important;
}
.mt2rem{
	margin-top: 2rem !important;
}
.mb2rem{
	margin-bottom: 2rem !important;
}
.ml2rem{
	margin-left: 2rem !important;
}
.mr2rem{
	margin-right: 2rem !important;
}

.p0{
	padding: 0px !important;
}
.p1rem{
	padding: 1rem !important;
}
.pt1rem{
	padding-top: 1rem !important;
}
.pb1rem{
	padding-bottom: 1rem !important;
}
.pl1rem{
	padding-left: 1rem !important;
}
.pr1rem{
	padding-right: 1rem !important;
}

.p2rem{
	padding: 2rem !important;
}
.pt2rem{
	padding-top: 2rem !important;
}
.pb2rem{
	padding-bottom: 2rem !important;
}
.pl2rem{
	padding-left: 2rem !important;
}
.pr2rem{
	padding-right: 2rem !important;
}

/*リスト*/
/* 共通設定：フォントアイコンを表示するための準備 */
ul.wp-block-list li::before, 
.maru-list li::before,
.wp-block-list.kaku-list li::before, 
.kaku-list li::before,
.wp-block-list.kome-list li::before, 
.kome::before, 
.kome-list li::before {
    font-family: "Font Awesome 6 Free"; /* アイコンフォントの指定 */
    font-weight: 900;                   /* Solidアイコンを使う場合に必須 */
    margin-right: 0.5em;                /* アイコンと文字の間の余白 */
    display: inline-block;
}



ol,ul {
  counter-reset:item;
  list-style: none;
  padding: 0;
  margin: 1em 0;
  text-align: left;
}
ol li ol,ul li ul {margin: 0; font-size: .9em;}
.wp-block-list li, .nam-list li, .maru-list li, .kaku-list li, .kome-list li, .komenam-list li, .kome {
  position: relative;
  padding-left: 1.2em;
  margin-left: 0;
}
.wp-block-list li, .maru-list li, .kaku-list li { padding-left: 1em;}
.kome-list li { padding-left: 1.5em;}
.komenam-list li, .bracket li { padding-left: 2em;}
.wp-block-list li::before, .nam-list li::before, .maru-list li::before, .kaku-list li::before, .kome-list li::before, .komenam-list li::before, .kome::before {
  position: absolute;
  left: 0;
}
ul.wp-block-list li::before, .maru-list li::before, .kaku-list li::before {
  font-size: .5em;
  top: calc(.5em * 1.7);
  color: var(--blue-shade-color);
}
ul.wp-block-list.kome-list li::before, .kome::before{
  font-size: 1em;
  top: calc(.9em * 0.1);
  color: var(--blue-shade-color);
}
ol.wp-block-list li::before {
  color: var(--base-color);
}
ul.wp-block-list li::before, .maru-list li::before {
/*  content: "●";*/
    content: "\f111"; /* circle */
    font-size: 0.5em;  /* 丸が大きく見えすぎる場合は調整 */
}
.wp-block-list.kaku-list li::before, .kaku-list li::before {
/*  content: "▶︎";*/
    content: "\f0da"; /* caret-right */
    font-size: 0.8em;  /* 丸が大きく見えすぎる場合は調整 */
    margin-top: -9px;
}
ol.wp-block-list li::before, .nam-list li::before {
  counter-increment:item;
  content: counter(item) ". ";
}
.wp-block-list.kome-list li::before, .kome::before, .kome-list li::before, .kome::before {
/*  content: "※";*/
    content: "\f069"; /* asterisk (米印の代用として一般的) */
    font-size: 0.9em;
}
ol.komenam-list li::before, .komenam-list li::before {
  counter-increment:item;
  content: "※" counter(item);
  font-family: inherit;
}

/* 括弧付き数字 */
/*
ol.bracket { 
  counter-reset: bracket-counter; 
}
ol.bracket > li {
  counter-increment: bracket-counter;
}
ol.bracket > li::before {
  color: var(--blue-shade-color);
  content: "(" counter(bracket-counter) ")";
}
*/
ol.bracket {
  counter-reset: bracket-counter;
  list-style: none; /* 標準の数字を消す */
  padding-left: 0;
}

ol.bracket > li {
  position: relative;
  padding-left: 2em; /* 数字の入るスペースを確保 */
  margin-bottom: 0.5em;
  color: #333;       /* 全体のテキスト色 */
}

ol.bracket > li::before {
  counter-increment: bracket-counter;
  content: "(" counter(bracket-counter) ")"; /* カッコ付き数字 */
  
  /* テキストのスタイル設定 */
  color: #333;             /* 数字部分の色 */
  display: inline-block;
  
  /* 位置の指定 */
  position: absolute;
  left: 0;
  width: 1.8em;            /* 数字部分の幅を固定して揃える */
  text-align: right;       /* 右寄せにして閉じカッコの位置を揃える */
}

/*表組み*/
.wp-block-flexible-table-block-table {
  margin: 0; 
}
.wp-block-flexible-table-block-table .table {
 margin: 50px 0 !important; 
}

@media (max-width: 768px) {
  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: center;
    border: 1px solid var(--main-color) !important;
    border-radius: 0px !important;
    border-collapse: collapse !important;
  }

  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile tbody,
  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile tr{
    display: block !important;
    width: 100% !important;
  }

  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile tr{
    border: 0 !important;
  }

  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile th,
  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile td{
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
    padding: .5em !important;

    border: 0 !important;
    border-bottom: 1px solid var(--main-color) !important;
  }

  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile tr:last-child td:last-child{
    border-bottom: 0 !important;
  }

  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile tr + tr{
    border-top: 1px solid var(--main-color);
  }

  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile tbody th{
    background: var(--gray-light-color) !important;
    color: var(--main-color) !important;
    font-weight: bold;
  }

  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile td{
    background: #fff !important;
    color: var(--base-color) !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  /* ここにタブレット用のスタイルを記述 */
  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: center;
    border: 1px solid var(--main-color) !important;
    border-radius: 0px !important;
    border-collapse: collapse !important;
  }

  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile tbody,
  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile tr {
    display: block !important;
    width: 100% !important;
  }

  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile tr {
    border: 0 !important;
  }

  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile th,
  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box;
    padding: .5em !important;
    border: 0 !important;
    border-bottom: 1px solid var(--main-color) !important;
  }

  /* 最後の要素の境界線を消す */
  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile tr:last-child td:last-child {
    border-bottom: 0 !important;
  }

  /* 行間の境界線 */
  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile tr + tr {
    border-top: 1px solid var(--main-color);
  }

  /* 見出し（th）の配色 */
  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile tbody th {
    background: var(--gray-light-color) !important;
    color: var(--main-color) !important;
    font-weight: bold;
  }

  /* データセル（td）の配色 */
  figure.wp-block-flexible-table-block-table table.is-stacked-on-mobile td {
    background: #fff !important;
    color: var(--base-color) !important;
  }

}


table {
  border-collapse: collapse;
  width: 100%;
  max-width: 1200px;
/*  text-align: center;*/
  margin: 50px auto;
  border-radius: 5px;
}
th, td {
  padding: .5em;
  border: 1px solid var(--main-color);
}
thead {
  border: 1px solid var(--main-color);
}
thead th, thead td {
  border: 0.5px solid #fff;
}
thead tr {
  border: 0.5px solid #fff;
}
thead th {
  position: relative;
  background: var(--main-color);
  color: #fff;
  font-weight: bold;
}
thead th::after {
  content: "";
  position: absolute;
  display: block;
  width: 1px;
  height: 100%;
  /* background-color: #fff; */
  top: 0;
  right: 0;
}
thead th:last-child:after {content: none;}
tbody th {
  background: var(--gray-light-color);
  color: var(--main-color);
  font-weight: bold;
}
td {
  background: #fff;
  color: var(--base-color);
}
table caption {
	font-weight: bold;
	font-family: var(--round-font);
	font-size: 2.2rem;
	padding-bottom: .3em;
	color: var(--main-color);
}

.blue-table th, .blue-table td { border: 1px solid var(--blue-shade-color);}
.blue-table thead th { background: var(--blue-shade-color);}
.blue-table tbody th { background: var(--blue-light-color); color: var(--main-color);}
.blue-table caption {color: var(--blue-shade-color);}

.green-table th, .green-table td { border: 1px solid var(--green-color);}
.green-table thead th { background: var(--green-color);}
.green-table tbody th { background: var(--green-light-color); color: var(--green-shade-color);}
.green-table caption {color: var(--green-shade-color);}

.yellow-table th, .yellow-table td { border: 1px solid var(--yellow-dark-color);}
.yellow-table thead th { background: var(--yellow-shade-color); border-color:var(--yellow-dark-color);}
.yellow-table tbody th { background: var(--yellow-shade-color); border-color:var(--yellow-dark-color); color: #ffffff;}
.yellow-table caption {color: #ffffff;}


@media screen and (max-width: 1024px) {
	.contents-main{
		padding: 1em;
	}
	.contents-main figure{
		margin-left: 0rem;
		margin-right: 0rem;
		overflow: auto;
	}
	
	.contents-main .scrolltbl table th, .contents-main .scrolltbl table td{
		white-space: nowrap;
	}

	.contents-main .button{
		display: block;		
	}
	.contents-main .button .sp-btn{
		margin-bottom: 1rem;
	}
}

.has-vivid-red-color {
  color: var(--vivid-red);
}

.entry-content {
/*  margin-top: 100px;*/
  margin-top: 60px;
  padding-bottom: 80px;
}

@media screen and (max-width: 1024px) {
	.entry-content {
	  margin-top: 30px;
	}
}

.entry-content mark {
  background: none !important;
  padding: 0;
}

/* 基本色 */
.entry-content .has-base-color { color: var(--base-color) !important; }
.entry-content .has-main-color { color: var(--main-color) !important; }
.entry-content .has-bg-color { color: var(--bg-color) !important; }

/* グレー */
.entry-content .has-gray-color { color: var(--gray-color) !important; }
.entry-content .has-gray-light-color { color: var(--gray-light-color) !important; }

/* ピンク */
.entry-content .has-pink-color { color: var(--pink-color) !important; }
.entry-content .has-pink-shade-color { color: var(--pink-shade-color) !important; }

/* イエロー */
.entry-content .has-yellow-deep-color { color: var(--yellow-Deep-color) !important; }
.entry-content .has-yellow-shade-color { color: var(--yellow-shade-color) !important; }
.entry-content .has-yellow-color { color: var(--yellow-color) !important; }
.entry-content .has-yellow-light-color { color: var(--yellow-light-color) !important; }

/* ブルー */
.entry-content .has-blue-shade-color { color: var(--blue-shade-color) !important; }
.entry-content .has-blue-color { color: var(--blue-color) !important; }
.entry-content .has-blue-light-color { color: var(--blue-light-color) !important; }

/* グリーン */
.entry-content .has-green-shade-color { color: var(--green-shade-color) !important; }
.entry-content .has-green-color { color: var(--green-color) !important; }
.entry-content .has-green-light-color { color: var(--green-light-color) !important; }

/* レッド */
.entry-content .has-vivid-red-color { color: var(--vivid-red) !important; }

/* Webアクセシビリティ対策 */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
/**********************
	カラム
**********************/
body .is-layout-flex {
  display: flex;
}

/* .wp-block-column .wp-block-image img {
  width: 100%;
  height: auto;
  display: block;
} */

.wp-block-image img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0;
  border-style: solid;
  border-width: 0;
  box-sizing: border-box;
}

.waku img{
  border: 1px solid var(--gray-color);
  box-sizing: border-box;
}

.wp-block-image {
  margin: 0;
}

.wp-block-image.aligncenter {
  display: table;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.wp-block-image.aligncenter img {
  display: inline-block;
  vertical-align: middle;
}

.has-text-align-center {
  text-align: center;
}
.has-text-align-left {
  text-align: left;
}
.has-text-align-right {
  text-align: right;
}

.wp-block-columns.last-item-bottom > *,
.wp-block-column.last-item-bottom {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.wp-block-columns.last-item-bottom > * > *:last-child,
.wp-block-column.last-item-bottom > *:last-child {
  margin-top: auto;
}
.wp-block-columns.last-item-bottom > * > *:nth-last-child(2),
.wp-block-column.last-item-bottom > *:nth-last-child(2) {
  margin-bottom: 15px;
}

.wp-block-columns.is-layout-flex {
  align-items: stretch !important;
}
.entry-content .wp-block-columns > * > *:first-child {
  margin-top: 0 !important;
}
.entry-content .wp-block-columns > * > *:last-child {
  margin-bottom: 0 !important;
}
.entry-content * + .wp-block-group,
.entry-content * + .wp-block-columns {
  margin-top: 30px;
}

.entry-content * + .wp-block-image, .entry-content .wp-block-image + * {
  margin-top: 20px;
}
.entry-content .wp-block-columns .wp-block-image + * {
  margin-top: 20px;
}
.entry-content .is-nowrap .wp-block-image + * {
  margin-top: 0;
}

:where(.is-layout-flex),
:where(.wp-block-columns) {
  gap: 25px;
}

.entry-content iframe {
  max-width: 100%;
}

.wp-block-columns > .wp-block-column:not([style]) {
  flex: 1 1 0;
}

@media (max-width: 768px) {
  .wp-block-columns {
    gap: 30px;
  }
  .wp-block-columns.is-layout-flex { flex-direction: column; }
  .wp-block-columns.is-layout-flex > .wp-block-column {
    flex: 0 0 100% !important;
    max-width: 100%;
  }

  .wp-block-columns > .wp-block-column:not([style]) {
    flex: 1 1 100%;
  }
}

ul.column2 {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
}
@media screen and (max-width: 567px) {
  ul.column2 {
    -webkit-column-count: inherit;
       -moz-column-count: inherit;
            column-count: inherit;
  }
}
ul.column3 {
  -webkit-column-count: 3;
     -moz-column-count: 3;
          column-count: 3;
}
@media screen and (max-width: 767px) {
  ul.column3 {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
}
@media screen and (max-width: 567px) {
  ul.column3 {
    -webkit-column-count: inherit;
       -moz-column-count: inherit;
            column-count: inherit;
  }
}


@media screen and (min-width: 769px) and (max-width: 1024px) {
  /* --- ブロックエディタの各種カラム調整 --- */
  .wp-block-columns {
    gap: 20px; /* PCより少し狭いギャップに調整 */
  }

  /* タブレットで1カラムに落とさず、2カラムを維持したい場合は
     flex-direction: column は記述しません。
     もしタブレットでも縦積みにしたい場合は以下を有効にしてください */
  /* .wp-block-columns.is-layout-flex { flex-direction: column; } */


  /* --- リストの多段組み（column2 / column3）調整 --- */

  /* 2段組みリスト：タブレットでも2段を維持 */
  ul.column2 {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    column-gap: 2em;
  }

  /* 3段組みリスト：タブレットでは3段だと窮屈なため、2段に落とすのがおすすめ */
  ul.column3 {
    -webkit-column-count: 2; /* 3段から2段へ変更 */
       -moz-column-count: 2;
            column-count: 2;
    column-gap: 2em;
  }

}
/**********************
	ボタン
**********************/
.wp-block-button__width-25 { width: 25% !important; }
.wp-block-button__width-50 { width: 50% !important; }
.wp-block-button__width-75 { width: 75% !important; }
.wp-block-button__width-100 { width: 100% !important; }

.wp-block-buttons {  
  align-items: stretch;
  margin: 3em auto;
  gap: 25px;
}
.wp-block-buttons > .wp-block-button.wp-block-button__width-50 {
  width: calc(50% - var(--wp--style--block-gap, 25px) * 0.5);
}

.button {
  margin: 3em auto;
  display: flex;
}

.button-b, .button-s {
  margin: 3em auto;
}

/* ボタン2列 */
.entry-content .wp-block-buttons.button2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 25px;
}

.entry-content .wp-block-buttons.button2 > .wp-block-button {
  width: auto !important;
  flex: initial !important;
}

.entry-content .wp-block-buttons.button2 > .wp-block-button > a,
.entry-content .wp-block-buttons.button2 > .wp-block-button .wp-block-button__link {
  width: 100% !important;
  max-width: none !important;
}

.entry-content .button2 a[href$=".pdf"]::after,
.entry-content .button2 a[href*=".pdf#page="]::after,
.entry-content .button3 a[href$=".pdf"]::after,
.entry-content .button3 a[href*=".pdf#page="]::after,
.entry-content .button4 a[href$=".pdf"]::after,
.entry-content .button4 a[href*=".pdf#page="]::after,
.entry-content .wp-block-button a[href$=".pdf"]::after,
.entry-content .wp-block-button a[href*=".pdf#page="]::after {
  color: #fff;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f1c1";
	margin: 0 .4em;
  border: none;
  width: auto;
  height: auto;
  transform: none;
}

/* ボタン3列 */
.entry-content .wp-block-buttons.button3 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px;
}

.entry-content .wp-block-buttons.button3 > .wp-block-button {
  width: auto !important;
  flex: initial !important;
}

.entry-content .wp-block-buttons.button3 > .wp-block-button > a,
.entry-content .wp-block-buttons.button3 > .wp-block-button .wp-block-button__link {
  max-width: none !important;
  width: 100% !important;
}

/* ボタン4列 */
.entry-content .wp-block-buttons.button4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.entry-content .wp-block-buttons.button4 > .wp-block-button {
  width: auto !important;
  flex: initial !important;
}

.entry-content .wp-block-buttons.button4 > .wp-block-button > a,
.entry-content .wp-block-buttons.button4 > .wp-block-button .wp-block-button__link {
  max-width: none !important;
  width: 100% !important;
}

@media screen and (max-width: 1024px) {
  .entry-content .wp-block-buttons.button4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 768px) {
  .entry-content .wp-block-buttons.button3,
  .entry-content .wp-block-buttons.button4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 568px) {
  .entry-content .wp-block-buttons.button2,
  .entry-content .wp-block-buttons.button3,
  .entry-content .wp-block-buttons.button4 {
    grid-template-columns: 1fr;
  }
}

/**********************
	aタグボタン
**********************/
.wp-block-button a, .button a, .button-b a, .button-s a {
  display: flex;
  justify-content: center;
  align-items: center;
  margin:0 auto;
  border-radius: 10px;
  color: #fff;
  transition: .3s;
}
.wp-block-button a::after, .button a::after, .button-b a::after, .button-s a::after {
  content: "";
  position: relative;
  display: inline-block;
  width: .5em;
  height: .5em;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  margin-left: 10px;
  transform: rotate(45deg);
  transition: .3s;
}
.wp-block-button a:hover, .button a:hover, .button-b a:hover, .button-s a:hover {
  background: #F7B900;
  color: #fff;
  opacity: 1;
}

.wp-block-button a, .button a {
  max-width: 300px;
  background-color: var(--blue-shade-color);
  padding: .6em 2em;
}
.button-b a {
  max-width: 500px;
  padding: 1em 2em;
  text-align: left;
  color: var(--base-color);
  background-color: #fff;
  font-family: var(--round-font);
  font-weight: bold;
  justify-content: space-between;
}
.button-b a::after {
  border-top: solid 2px var(--blue-shade-color);
  border-right: solid 2px var(--blue-shade-color);
}
.button-b a:hover::after {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
.button-s a {
	max-width: 200px;
	background-color: var(--green-color);
	border-radius: 5px;
	padding: .3em 1em;
}
.wp-block-button a[href^="#"]::after,
.button-anker a::after,
.button a[href^="#"]::after,
.button-s a[href^="#"]::after,
.button-b a[href^="#"]::after {
  transform: rotate(135deg);
  top: -0.1em;
}

/* イベント一覧ボタン */
.button-event{
  width: 100%; 
  text-align: right !important;
}
.button-event a{
  max-width: 300px;
  background-color: var(--blue-shade-color);
  padding: 1em 2em;
  align-items: center;
  margin:0 auto;
  border-radius: 10px;
  color: #fff !important;
  transition: .3s;
}

.button-event a::after{
  content: "";
  position: relative;
  display: inline-block;
  width: .5em;
  height: .5em;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  margin-left: 10px;
  transform: rotate(45deg);
  transition: .3s;
}
.button-event a:hover{
  background: #F7B900;
  color: #fff;
  opacity: 1;
}

/* 申込みボタン */
.button-app{
  margin: 0.5em auto;	
}
.button-app a{
  display: flex;
  justify-content: center;
  align-items: center;
  margin:0 auto;
  background-color: var(--yellow-dark-color);
  border-radius: 5px;
  color: #fff;
  transition: .3s;
  padding:1rem;
}
.button-app a:not([target="_blank"])::after {
  content: "";
  position: relative;
  display: inline-block;
  width: .5em;
  height: .5em;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  margin-left: 10px;
  transform: rotate(45deg);
  transition: .3s;
}

.button-app a[target="_blank"]::after{
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f35d";
  margin: 0 .4em;
  font-size: .9em;
}


.button-app a:hover{
  background: var(--yellow-shade-color);
  color: #fff;
  opacity: 1;
}

/**********************
	buttonタグボタン
**********************/
.button button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin:0 auto;
  border-radius: 10px;
  color: #fff;
  transition: .3s;
  max-width: 300px;
  background-color: var(--blue-shade-color);
  border: none;
  padding: .6em 2em;
}
.button-b button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin:0 auto;
  border-radius: 10px;
  color: #fff;
  transition: .3s;
  max-width: 500px;
  padding: 1em 2em;
  text-align: left;
  color: var(--base-color);
  background-color: #fff;
  font-family: var(--round-font);
  font-weight: bold;
  justify-content: space-between;
}
.button-s button {
  display: flex;
  justify-content: center;
  align-items: center;
  margin:0 auto;
  border-radius: 10px;
  color: #fff;
  transition: .3s;
  max-width: 200px;
  background-color: var(--green-color);
  border-radius: 5px;
  padding: .3em 1em;
}
.button button::after, .button-b button::after, .button-s button::after {
  content: "";
  position: relative;
  display: inline-block;
  width: .5em;
  height: .5em;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  margin-left: 10px;
  transform: rotate(45deg);
  transition: .3s;
}
.button button:hover, .button-b button:hover, .button-s button:hover {
  background: #F7B900;
  color: #fff;
  opacity: 1;
}

.button-b button::after {
  border-top: solid 2px var(--blue-shade-color);
  border-right: solid 2px var(--blue-shade-color);
}
.button-b button:hover::after {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}


.button-anker button::after {
  transform: rotate(135deg);
  top: -0.1em;
}

/**********************
	テキストボックス
**********************/
.text-box-h, .text-box-w, .text-box-r, .text-box-b, .text-box-g {
  padding: .2em 1.5em;
  margin: 1em auto;
  width: 100%;
/*  max-width: 1000px;*/
  border-radius: 10px
}
.text-box-h {
  border: solid 3px var(--gray-color);
  background: var(--gray-light-color);
}
.text-box-w {
  background: #fff;
  box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .1);
}
.text-box-r {
  color: var(--pink-shade-color);
  border: solid 1px var(--pink-shade-color);
}
.text-box-r h3, .text-box-r h5 {
  color: var(--pink-shade-color);
  border-color: var(--pink-color);
}
.text-box-r h4, .text-box-r h6 {
  color: #fff;
  background-color: var(--pink-color);
}
.text-box-b {
  color: var(--blue-shade-color);
  border: solid 1px var(--blue-shade-color);
  background: var(--blue-light-color);
}
.text-box-g {
  color: var(--green-shade-color);
  border: solid 1px var(--green-shade-color);
  background: var(--green-light-color);
}
.text-box-h > *:first-child, .text-box-w > *:first-child, .text-box-r > *:first-child, .text-box-b > *:first-child, .text-box-g > *:first-child {
  margin-top: 1em;
}

.post-section .text-box-h, .post-section .text-box-w, .post-section .text-box-r, .post-section .text-box-b, .post-section .text-box-g {
  padding: .2em 1.5em;
  margin: 1em auto;
  width: 100%;
  max-width: 100%;
  border-radius: 10px
}


/**********************
	グリッドレイアウト
**********************/
.card-box, .link-card-box, .button-box {
	margin: 3em -15px 2em;
}

.open-cont .card-box, .open-cont .link-card-box, .open-cont .button-box {
	margin: 0em -15px 2em;
}

.card-box h3{
	margin-top: 2.4rem;
}


.card-box > div, .link-card-box > div, .button-box > div {
	margin: 0 15px 4em;
}

.card-box > div, .link-card-box > div {
	display: block;
	position: relative;
	padding: .5em 1.8em;
	background: #fff;
	border-radius: 15px;
	box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .1);
}

.card-box > div, .link-card-box > div > a {
	display: block;
	height: 100%;
    text-decoration:none;
    color:inherit;
}

.card-box > div > img:first-child,
.link-card-box > div > img:first-child,
.link-card-box > div a > img:first-child {
	display: block;
	width: calc(100% + 3.6em);
	height: 240px;
	margin: -.5em -1.8em 1em;
	object-fit: cover;
	border-radius: 10px 10px 0 0;
}
.button-box a {
	max-width: 100%;
}

.card-link {
	position: relative;
	margin: 0;
	height: 1em;
}
.card-link a {
	position: absolute;
	right: -10px;
	top: 0;
}

.pure-u-1-2.button-b {
	margin: 0 15px 3em;
}

.pure-u-1-1 { width: calc(100% - 30px);}
.pure-u-1-2 { width: calc(50% - 30px);}
.pure-u-1-3 { width: calc(33.3333% - 30px);}
.pure-u-1-4 { width: calc(25% - 30px);}
.pure-u-1-5 { width: calc(20% - 30px);}

.pure-u-2-3 { width: calc(66.6667% - 30px);}
.pure-u-2-5 { width: calc(40% - 30px);}

.pure-u-3-4 { width: calc(75% - 30px);}
.pure-u-3-5 { width: calc(60% - 30px);}

.pure-u-4-5 { width: calc(80% - 30px);}

.contents-main .pure-u-1-2 { width: 50%;}
.contents-main .pure-u-1-5 { width: 20%;}
.contents-main .pure-u-4-5 { width: 80%;}

@media screen and (max-width: 1024px) {
  .pure-u-1-4 {
    width: calc(33.3333% - 30px);
  }
  .pure-u-4-5, .pure-u-3-4 {
    width: 100%;
  }
  
  .card-box h3{
	margin-top: 1rem;
  }
  
  .card-box > div, .link-card-box > div {
	padding: .5em 1em;
  }
}

@media screen and (max-width: 1024px) {
  .card-box, .link-card-box, .button-box {
    margin: 3em 0 2em;
  }

  .pure-u-1-1, .pure-u-1-2, .pure-u-1-3, .pure-u-1-4, .pure-u-1-5, .pure-u-2-3, .pure-u-2-5, .pure-u-3-5 {
    width: 100%;
  }
  .pure-u-1-4, .pure-u-1-3, .pure-u-1-5 {
    width: calc(50% - 30px);
  }
  .pure-u-1-2.button-b {
    margin:  1em 0;
  }
}
@media screen and (max-width: 568px) {
  .pure-u-1-4, .pure-u-1-3, .pure-u-1-5 {
    width: 100%;
  }
}

.txt-center {
  text-align: center;
}
.txt-left {
  text-align: left;
}
.txt-right {
  text-align: right;
}
.has-text-align-right{
  text-align: right;
}
.txt-justify {
  text-align: justify;
}

.pc {display: block;}
.sp {display: none;}
@media screen and (max-width: 768px) {
  .pc {display: none;}
  .sp {display: block;}
}

/*****************
	パンくずリスト
******************/
.breadlist{
	list-style: none;
	padding: 0px;
	margin: 0px;
	display: flex;
	align-items: center;
}
.breadlist li{
	display: flex;	
	align-items: center;
	font-size: 1.4rem;
	margin-top: 10px;
}
/*.breadlist li:not(:last-child)::after{*/
.breadlist li::after{
  content: "";
  position: relative;
  display: inline-block;
  width: .5em;
  height: .5em;
  border-top: solid 1px var(--base-color);
  border-right: solid 1px var(--base-color);
  margin-left: 1rem;
  margin-right: 1rem;
  transform: rotate(45deg);
  transition: .3s;	
}
.breadlist li a::after{
	display: none;
}
/****************************************************************
	ページトップ
****************************************************************/
.page-top {
  position: fixed;
  right: 10px;
  bottom: 40px;
}
.page-top a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--blue-color);
}
.page-top a::before,.page-top a::after {
  position: absolute;
  content: "";
  width: 20px;
  height: 4px;
  border-radius: 2px;
  background-color: #fff;
  top: 26px;
}
.page-top a::before {
  transform: rotate(-45deg);
  left: 14px;
}
.page-top a::after {
  transform: rotate(45deg);
  right: 14px;
}
.page-top a:hover {
  background: var(--yellow-color);
}

/****************************************************************
	ヘッダー
****************************************************************/
header {
  position: fixed;
  z-index: 1000;
  width: 100%;
  background-color: #fff;
  transition: .3s;
}
.header-cont {
  display: flex;
  padding: 5px 20px;
  align-items: center;
  justify-content: space-between;
}
header h1.title {
  all: unset;
}
.title a {
  display: flex;
  align-items: center;
  gap: 10px;
}
.title img {
  display: block;
  width: auto;
  max-width: 100%;
}
.title .logo-m { height: 60px;}
.title .logo-t { 
	height: 45px;
	margin-top: 10px;	/*★*/
}

.menu {
  display: flex;
  height: 100%;
  flex-flow: column;
  justify-content: space-between;
  gap: 10px;
}
.menu-list {
  display: flex;
  align-items: center;
  margin: 0;
  justify-content: flex-end;
}
.menu-list-item {
  font-size: 1.4rem;
  font-weight: bold;
  margin: 0 15px;
}
.menu-list-item a {
  display: flex;
  align-items: center;
  gap: 5px;
}
.menu-list-item img {
  height: 30px;
  width: auto;
}
.menu-list-item-sp {
  display: none;
}

.search-form, .contact-buttom {
    margin: 0 5px;
}

.search-form form {
  display: flex;
  align-items: center;
  background: var(--gray-light-color);
  border: solid 1px var(--gray-light-color);
  height: 30px;
  width: 200px;
  max-width: 100%;
  transition: .3s;
  border-radius: 10px;
}
.search-form input {
  background: none;
}
.search-form form:hover {
  background: #fff;
  box-shadow: none;
}
.search-form form::before {
    width: 30px;
    height: 15px;
    background-image: url('images/icon-search.svg');
    background-position: center;
    background-repeat: no-repeat;
    content: '';
}
.search-form input {
  width: 100%;
  padding: 5px;
  border: none;
  box-sizing: border-box;
  outline: none;
}

.contact-buttom a {
  background: var(--green-shade-color);
  padding: 2px 15px;
  border-radius: 10px;
  color: #fff;
}
.contact-buttom img {
  height: 20px!important;
}
.contact-buttom a:hover {
  opacity: 1;
  background: var(--yellow-color);
}


.menu-list .menu-list-item:last-child {
  margin-right: 0;
}

header .sns-list {
/*  display: none;*/
	margin-top: 0px;
}

header.large-header .sns-list, .sns-list {
  display: flex;
  margin: 20px auto 0;
  justify-content: center;
  align-items: center;
}

.sns-list li {
  margin: 0 3px;
}
.sns-list li img {
  max-width: 100%;
  height: 2.5rem !important;
  filter: drop-shadow(0 5px 5px #ddd);
}


/*トップページ*/
.large-header *, .small-header * {
  transition: all 0.3s ease;
}

.large-header .title-box {
  position: absolute;
  top: 0;
  left: 10px;
  width: calc(25% - 20px);
  padding: 30px;
  background: #fff;
  border-radius: 0 0 50px 50px;
}
.large-header .title {
  display: block;
  max-width: 270px;
/*  max-width: 250px;*/
/*  max-width: 230px;*/
  margin: auto;
}
.large-header .title a {
  flex-flow: column;
}
.large-header .title img { height: auto;}
.large-header .logo-m { 
/*	width: 100%;*/
	width: 40%;
	margin-left: 0px;
	margin-right: 50%;
	margin-top: 30%;
}
.large-header .logo-t { width: 90%;}
.large-header .header-cont {
  padding: 20px 30px;
  justify-content: flex-end;
}
.large-header .menu-bottom {
  display: none;
}
.large-header .menu-list-item img {
  height: 60px;
}
.small-header .sns-list {
/*  display: none;*/
	margin-top: 0px;
}

/*スマホ対応*/
@media screen and (max-width: 1024px) {
  .search-form form {
      width: 150px;
  }
}

@media screen and (min-width: 1025px) {
  .header-cont > input, .header-cont > label {
    display: none;
  }
  header .menu .sns-list {
/*  display: none;*/
	margin-top: 0px;
  }
}

@media screen and (max-width: 1024px) {

  .header-cont {
    padding: 10px 20px 10px 10px;
  }
  .header-cont > a img, .title img {
    max-width: 250px;
    width: 100%;
    height: auto;
  }
  .small-header .title img {
    max-height: 50px;
  }
  .title .logo-t { 
	height: 25px;
	margin-top: 10px;	/*★*/
  }

  /*ハンバーガーメニュー*/
  .menu-btn {
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
  }
  .menu-btn span,
  .menu-btn span:before,
  .menu-btn span:after {
    content: '';
    display: block;
    height: 2px;
    width: 50px;
    border-radius: 3px;
    background-color: var(--green-color);
    position: absolute;
    transition: all .2s ease-in-out;
  }
  .menu-btn span:before {
    bottom: 10px;
  }
  .menu-btn span:after {
    top: 10px;
  }

  #menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
  }
  #menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(30deg);
  }
  #menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-30deg);
  }

  #menu-btn-check {
    display: none;
  }

  .menu-list {
    padding: 10px 20px;
    display: block;
  }
  .menu-list-item {
    border-bottom: solid 1px var(--gray-color);
    list-style: none;
    margin: 0;
	font-size: 1.6rem;    
  }
  .menu-list-item a {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 10px 25px 10px 0;
    position: relative;
  }
  .menu-list-item a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px var(--main-color);
    border-right: solid 2px var(--main-color);
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 16px;
  }
  .menu-list-item .sns-list a {
    width: auto;
    padding: 15px 0;
  }
  .menu-list-item .sns-list a::before {
    content: none;
  }

  .large-header .menu-bottom {
    display: block;
  }
  .menu-list-item img, .large-header .menu-list-item img {
    height: 30px;
    width: 40px;
    object-fit: contain;

  }
  .menu-list-item-sp {
    display: flex;
  }

  .menu-list-item-sp a::after {
    display: none;
  }

  .search-form form {
    width: 100%;
    margin: 10px auto;
    height: 42px;
  }
  .search-form, .contact-buttom {
    border: none;
  }
  .contact-buttom a::before {
    content: none;
  }

  .menu {
    max-width: 300px;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 80px;
    right: -300px;
    z-index: 80;
    background-color: #fff;
    transition: all .5s ease-in-out;/*アニメーション設定*/
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: auto;
    overflow-y: auto;
    flex-flow: column-reverse;
    justify-content: flex-end;
  }

  #menu-btn-check:checked ~ .menu {
    right: 0;
  }
}

@media screen and (max-width: 568px) {
  .menu-btn {
    height: 50px;
    width: 50px;
  }
  .header-cont > a img, .title img {
    max-width: 220px;
  }
  .menu {
    top: 70px;
  }
}

/****************************************************************
	共通フッター
****************************************************************/
footer {
  background: #fff;
}
.footer-cont {
  max-width: 1300px;
  margin: 0 auto;
  padding: 80px 50px 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.footer-title {
  max-width: 350px;
  width: 100%;
  margin-right: 50px;
  text-align: center;
}
.footer-title .logo-m {
  width: 100%;
  max-width: 250px;
}
.footer-title .logo-t {
  width: 90%;
  margin-top: 10px;
  max-width: 220px;
}

.footer-nav {
  width: calc(100% - 400px);
}
.footer-nav ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
/*  justify-content: space-between;*/
}
.footer-nav li {
  width: 33.3333%;
  margin-bottom: 1rem;
}

.footer-nav li a[href="#"]::after{
	display: none;
}

.ninsyo{
	margin-top:2rem; 
	font-size: 1.2rem; 
	display: flex; 
	align-items: center; 
	gap: 10px;
}

.ninsyo a img{
	vertical-align: middle;
}

.copyright {
  font-size: 1.2rem;
  text-align: center;
  width: 100%;
  margin: 20px auto 0;
}

/*@media screen and (max-width: 768px) {*/
@media screen and (max-width: 1024px) {
  .footer-cont {
    padding: 50px 50px 50px;
  }

  .footer-title {
    margin: 0 auto 30px;
    max-width: 250px;
  }
  .footer-nav {
    width: 100%;
    font-size: 1.4rem;
  }
  .footer-nav li {
    width: 33.3333%;
  }
}
@media screen and (max-width: 568px) {
  .footer-nav {
    font-size: 1.1rem;
  }
  .footer-nav li {
    width: 50%;
  }
}



/****************************************************************
	トップページ	
****************************************************************/
#top {
  margin-top: 100px;
}
/********************************
	トップページ　スライダー
********************************/
.slider-wrap {
  width: 100vw;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.top-slider {
  margin: 0;
  margin-left: 25%;
  overflow: hidden;
  border-radius: 50px 0 0 0;
}
.top-slider .slick-list {
  overflow: visible;
  margin-left: -15%;
  margin-right: 0;
}

.top-slider-item a::after{
	display: none;
}
.top-slider-img {
  overflow: hidden;
  padding: 0;
  padding-right: 60px;
  height: calc(100vh - 300px);
}
.top-slider-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50px;
}

.slider-wrap {
  position: relative;
}

/* スライドキャプション */
.slider-caption {
  position: absolute;
  left: 0;
  bottom: 62px;
  background: #fff;
  color: var(--base-color);
  padding: 30px 30px 0 10%;
  width: 35%;
  border-radius: 0 30px 0 0;
  opacity: 1!important;
}
.slider-caption::before, .slider-caption::after {
  content: "";
  position: absolute;
  display: block;
  background-image: url(images/round_kado.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 50px;
  height: 50px;
}
.slider-caption::before {
  top: -50px;
  left: 25vw;
}
.slider-caption::after {
  bottom: 0;
  right: -50px;
}
.top-slider-title {
  display: block;
  font-size: 2rem;
  font-family: var(--round-font);
  font-weight: bold;
  margin-bottom: 10px;
}
/* スライド内の元テキストは非表示 */
.top-slider-text {
  display: none;
  padding-right: 20px;
}

.top-morimori, .tanu-onaga, .top-pickup {
  position: absolute;
}
.top-morimori {
  top: 10%;
  left: 4%;
  width: 20%;
}
.tanu-onaga {
  bottom: calc(100% - 30px);
  right: 0;
  width: 30%;
}
.top-pickup {
  bottom: calc(100% - 25px);
  left: 25%;
  width: 25%;
}


.top-slider .slick-dots {
  display: flex;
  justify-content: flex-end;
  padding: 0 20px;
  margin: 20px 0;
}
.top-slider .slick-dots li {
  display: block;
}
.top-slider .slick-dots button {
  display: block;
  width: 1rem;
  height: 1rem;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: var(--gray-color);
  border-radius: 50%;
}
.top-slider .slick-dots .slick-active button {
  background: var(--yellow-color);
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  /* スライダー全体の枠組み */
  .top-slider {
    margin-left: 40px !important;
    height: 415px !important;
  }

  /* 読み込み直後の隙間と干渉を防ぐ固定設定 */
  .top-slider .slick-list,
  .top-slider .slick-track,
  .top-slider-item {
    height: 415px !important;
  }

  .top-slider-img {
    height: 415px !important;
    padding-right: 20px !important; 
  }

  .top-slider-img img {
    width: 100% !important;
    height: 415px !important;
    object-fit: cover;
  }

  /* キャプションエリア：位置を下に下げるための調整 */
  .slider-caption {
    position: relative !important;
    width: 100% !important;
    /* padding-top を大きくして全体を下にずらす */
    padding: 140px 10% 80px 25% !important;
    box-sizing: border-box;
    background: transparent !important;
  }
  
  /* アイコン3種：位置をさらに下へ調整 */
  .top-morimori,
  .tanu-onaga,
  .top-pickup {
    position: absolute !important;
    z-index: 100 !important;
    width: auto !important;
  }

  /* ヤモリ：左下 */
  .top-morimori {
    height: 160px !important;
    left: 40px !important;
    /* 位置をさらに下げる */
    bottom: -20px !important;
  }

  /* たぬき：右側（画像と被る位置まで下げる） */
  .tanu-onaga {
    height: 240px !important;
    right: 5% !important;
    /* 位置をさらに下げる */
    bottom: -10px !important;
  }

  /* ピックアップ（吹き出し）：タイトルの直上へ */
  .top-pickup {
    height: 90px !important;
    left: 24% !important;
    /* タイトルに合わせて位置を下げる */
    top: 60px !important;
  }

  /* タイトルテキスト：位置を調整 */
  .top-slider-title {
    display: block !important;
    font-size: 1.8rem !important;
    font-weight: bold !important;
    margin-top: 20px !important;
    margin-bottom: 10px !important;
    width: 30rem;
  }

  /* ドット位置 */
  .top-slider .slick-dots {
    position: absolute !important;
    bottom: 20px !important;
    left: 40px !important;
    margin: 0 !important;
    z-index: 110 !important;
    display: flex !important;
  }
}

@media screen and (max-width: 768px) {
	.top-slider {
		margin-left: 20px;
	    height: 415px;
	}
	.top-slider-item{
		width: 100%;
	}
	.top-slider-img {
		padding-right: 20px; 
		height: 100%; /* 親要素の高さに合わせる */
	}
	.top-slider-img img {
		/* 横幅は維持し、画像が歪まないように調整 */
		width: 100% !important;
		height: auto !important; /* height: 100% を打ち消す */
		aspect-ratio: 16 / 9;
		object-fit: cover;     
	}	
	.slider-caption {
	    width: 100%;
	    padding-left: 24%;
	    padding-right: 6%;
	}
		.slider-caption::before {
	    left: calc(15vw + 20px);
	  }
	.top-slider-title {
	    display: block;
	    width: 100%;
	    font-size: 2rem;
	    font-family: var(--round-font);
	    font-weight: bold;
	    margin-bottom: 10px;
	}
	.top-slider .slick-dots {
		position: absolute;
		top: 0;
		display: flex;
		justify-content: flex-end;
		padding: 0 20px;
		margin: 240px 0;
	}
}

@media screen and (max-width: 480px) {
	.top-slider {
		/* 親の高さは維持（500px） */
		height: 500px !important;
	}
	.top-slider-img {
		padding-right: 20px; 
		height: 100%; /* 親要素の高さに合わせる */
	}
	.top-slider-img img {
		/* 横幅は維持し、画像が歪まないように調整 */
		width: 100% !important;
		height: auto !important; /* height: 100% を打ち消す */
		aspect-ratio: 16 / 9;
		object-fit: cover;     
	}
	.top-slider-title {
		/* 狭い画面に合わせてフォントサイズを微調整 */
		font-size: 1.5rem !important; 
	}
	.top-slider .slick-dots {
		position: absolute;
		top: 0;
		display: flex;
		justify-content: flex-end;
		padding: 0 20px;
		margin: 240px 0;
	}
}
/********************************
	トップページ　画面遷移ボタン
********************************/
.banner-list {
  margin: 1em -15px;
  justify-content: center;
}
.banner-list div {
  margin: 0 15px 2em;
}
.banner-list div a {
  position: relative;
  display: block;
  padding: .5em .1em;
  width: 100%;
  height: 100%;
  text-align: center;
  background: #fff;
  border-radius: 15px;
  box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .1);
  border: solid 3px;
  font-size: 1.5rem;
}
.banner-list .go a { border-color: var(--main-color);}
.banner-list .studies a { border-color: var(--blue-shade-color);}
.banner-list .support a { border-color: var(--green-color);}
.banner-list .consultation a { border-color: var(--yellow-dark-color);}
.banner-list div img {
/*  height: 40px;*/
  display: block;
  margin: 0 auto .2em;
}
.banner-list .banner-list-title {
  display: block;
  margin-bottom: .2em;
  font-size: 2rem;
  font-family: var(--round-font);
  font-weight: bold;
}
.banner-list .go .banner-list-title { color: var(--main-color);}
.banner-list .studies .banner-list-title { color: var(--blue-shade-color);}
.banner-list .support .banner-list-title { color: var(--green-shade-color);}
.banner-list .consultation .banner-list-title { color: var(--yellow-dark-color);}

.banner-list .kifu {
  max-width: 650px;
}
.banner-list .kifu img{
	margin-top: -4rem;
}

.banner-list .kifu a, .banner-list .goods a {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 150px;
}
.banner-list .kifu a {
  background-image: url(images/kifu-banner-bg.png);
  border-color: var(--green-shade-color);
  background-color: rgba(255,255,255,0.5);
  background-blend-mode: lighten;
}
.banner-list .goods a {
  background-image: url(images/goods-banner-bg.png);
  border-color: var(--main-color);
  background-color: rgba(255,255,255,0.5);
  background-blend-mode: lighten;
}

.banner-list .kifu a, .banner-list .goods a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: column;
  padding: 50px 10px 0;
}

.banner-list .banner-list-icon {
  position: absolute;
  height: 120px;
  top: -20px;
}
.banner-list .banner-list-text {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  max-width: 250px;
}
@media screen and (max-width: 1024px) {
  .banner-list .kifu img{
	margin-top: -6rem;
  }
}

@media screen and (min-width: 769px) {
  .banner-list .kifu {
    width: calc(66.6667% - 30px);
  }
  .kifu .banner-list-icon {
    height: auto;
    width: calc(35% - 10px);
    left: 10px;
  }
}

/********************************
	トップページ　テンプレート
********************************/
.home .pure-g {
	margin: 1em -15px 2em;
}
.home .pure-g > div {
  margin: 1em 15px;
}

.home h2::before {
  content: none;
}
.home .title-eng, .contents-main .title-eng {
  display: block;
  font-size: 2rem;
  letter-spacing: .05em;
}
.home section {
  position: relative;
}
.home section::before {
  position: absolute;
  display: block;
  width: 100vw;
  height: 100%;
  top: 0;
  left: calc(50% - 50vw);
  z-index: -999;
}
/*
@media screen and (max-width: 1024px) {
	.home .pure-g {
		margin: 0px;
	}
}
*/
/********************************
	トップページ　リード
********************************/
#read {
  margin-bottom: 0;
  padding: 80px 0 200px;
}
#read::before {
  content: "";
  background-color: var(--green-light-color);
}
.read-bg {
  position: absolute;
  width: 100vw;
  height: auto;
  top: 0;
  left: calc(50% - 50vw);
}
.read-matinami {
  position: absolute;
  width: 250%;
  height: auto;
  top: 280px;
  left: 0;
  z-index: -1;
}

.read-text, .read-text h2 {
  color: var(--main-color);
}
.read-text .title-eng {
  color: var(--green-shade-color);
  font-size: 1.4rem;
  margin-bottom: 1em;
}
.read-text p {
  line-height: 2;
}

/********************************
	トップページ　新着のお知らせ
********************************/
#news {
  margin-top: 0;
  padding: 250px 0 50px;
}
#news::before {
  content: "";
  background-color: var(--bg-color);
}
#news .title-eng {
  color: var(--blue-shade-color);
}
#news .link-card-box { margin-bottom: 0;}
#news .button { margin: 0;}
#news .button a { margin-right: 0;}

.news-cat-list {
  display: flex;
  flex-wrap: wrap;
  /* margin: 1em -3px; */
  margin: 1em 0;
  gap: 10px;
}
.news-cat-list li {
  font-size: 1.3rem;
  margin: 0;
  font-weight: bold;
}
.news-cat-list li a, .news-cat-list li span {
  display: block;
  padding: .5em 1em;
  line-height: 1.2;
  border-radius: 5px;
  background: var(--gray-light-color);
}
#news .cat-nav {
  justify-content: flex-end;
}
.cat-nav li a {
  background: #fff;
}
.cat-all a { background-color: #ffffff !important; border: solid 1px #333333;; color: #333333;}
.cat-news a, .cat-news span, .category-news .post-bar .cat-tag a { background-color: #ffffff !important; border: solid 1px var(--main-color); color: var(--main-color); }
.cat-green a, .cat-green span, .category-green.post-bar .cat-tag a { background-color: #ffffff !important; border: solid 1px var(--green-shade-color); color: var(--green-shade-color);}
.cat-town a, .cat-town span, .category-town .post-bar .cat-tag a { background-color: #ffffff !important; border: solid 1px var(--pink-shade-color); color: var(--pink-shade-color);}
.cat-living a, .cat-living span, .category-living .post-bar .cat-tag a { background-color: #ffffff !important; border: solid 1px var(--yellow-dark-color); color: var(--yellow-dark-color);}
.cat-media a, .cat-media span, .category-media .post-bar .cat-tag a { background-color: #ffffff !important; border: solid 1px var(--blue-shade-color); color: var(--blue-shade-color);}
.cat-blog a, .cat-blog span, .category-blog .post-bar .cat-tag a { background-color: #ffffff !important; border: solid 1px var(--base-color); color: var(--base-color);}

.news-time {
  font-size: 1.4rem;
}

.news-time.is-sticky::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f08d";
  color: var(--yellow-color);
  margin-right: .2em;
}

@media screen and (max-width: 1024px) {
  #read { padding-bottom: 120px;}
  #news { padding-top: 150px;}
  .read-matinami {
    top: 300px;
  }
}
@media screen and (max-width: 768px) {
  #read { padding-bottom: 180px;}
  #news { padding-top: 120px;}
  .read-matinami {
    top: 420px;
  }
}
@media screen and (max-width: 568px) {
  #read { padding-bottom: 0; margin-bottom: -20%;}
  #news { padding-top: 50px;}
  .read-matinami {
    position: relative;
    top: 0;
  }
}

/********************************
	トップページ　イベント
********************************/
.event-top-form-catelabel{
	font-size: 1.4rem;
	padding:0.7rem 1rem;
	box-shadow: 3px 2px 1px var(--gray-color);
}
#event .title-eng {
  color: var(--green-color);
}
.event-list .pure-g {
  display: flex;
  margin: 0px;
}
.event-list .event-col {
  margin-bottom: 60px;	
}
.event-list .pure-g > div {
  margin: 15px;
}

.event-image {
  width: 100%;
  margin: 1em auto;
  border-radius: 10px;
}

.event-nav-list {
  display: flex;
  margin-bottom: 3px;
}
.event-nav-list li {
  font-size: 1.4rem;
  padding: .5em 1em;
  margin: 3px;
  border-radius: 5px;
  font-weight: bold;
}
.event-cat {
  color: var(--green-shade-color);
  background: var(--green-light-color);
}
.event-area{
  color: var(--yellow-dark-color);
  background: var(--yellow-light-color);	
}
.volunteer-external{
  color: var(--blue-shade-color);
  background: var(--blue-light-color);	
}

.event-time {
  font-size: 1.5rem;
  padding: .5em 1em;
  margin: 0px 3px;
  border-radius: 5px;
  font-weight: bold;
  color: var(--main-color);
  background: var(--blue-light-color);
}
.event-time-single{
  padding: 0em 1em;
  background: #fff;	
}
.event-list h3 {
  margin: 1em 0;
  border: none;
  color: var(--base-color);
}

.event-limit dl, event-app dl,.event-info-list, .event-info-datetime {
  display: flex;
  flex-wrap: wrap;
  margin: 0px 0px 3px 0px;
  font-size: 1.6rem;
}
.event-limit dt, .event-app dt, .event-info-list dt, .event-info-datetime dt {
  display: flex;justify-content: center;
  align-items: center;
  width: 80px;
  border-radius: 5px 0 0 5px;
  color: #fff;
  font-weight: bold;
  margin: 0 0 5px;
  padding: .6em .2em .5em;
}
.event-app dt{
  width: 100%;
  border-radius: 5px 5px 0 0;
  color: #fff;
  font-weight: bold;
  margin: 0px;
  padding: .6em .2em .5em;
  background: var(--yellow-dark-color);
}


.event-limit dt { background: var(--yellow-color);}
.event-info-list dt { background: var(--green-shade-color);}
.event-info-datetime dt { background: var(--blue-shade-color);}

.event-limit dd, .event-app dd, .event-info-list dd, .event-info-datetime dd {
  padding: .6em 1em .5em;
  border-radius: 0 5px 5px 0;
  margin: 0 0 5px;
  width: calc(100% - 80px);
}
.event-limit dd, .event-app dd {
  background: var(--yellow-light-color);
  font-weight: bold;
  color: var(--yellow-dark-color);
/*  color: var(--yellow-shade-color);*/
}
.event-app dd{
	width: 100%;
/*	text-align: center;*/
}

.event-info-list dd { background: var(--green-light-color);}

/* dlが連続している最後の要素を指定 */
.pure-u-3-5 > dl.event-info-list:last-child {
    margin-bottom: 30.6px;
}

.event-info-datetime dd { 
	background: var(--blue-light-color);
	color: var(--main-color);
	font-weight: bold;
}

.event-limit-closed {
  background: var(--gray-color);
  color: var(--base-color);
  padding: .6em;
  text-align: center;
  border-radius: 5px;
  font-weight: bold;
  text-shadow: 0 0 15px rgba(0, 0, 0, .3);
}

.event-sort {
  background: var(--green-light-color);
  padding: 1em;
  height: fit-content;
  border-radius: 10px;
}
.event-sort h3 {
  width: 100%;
  color: var(--green-shade-color);
  border-color: var(--green-shade-color);
  margin: .5em 0 1em;
}

.event-calendar {
  background: #fff;
  border-radius: 10px;
  padding: 1em;
  font-size: 1.7rem;
  text-align: center;
}
.event-calendar-moon {
  display: flex;
  justify-content: space-between;
}
.event-calendar-moon span {
  font-weight: bold;
  order: 2;
}
.event-calendar-moon a:first-child { order: 1;}
.event-calendar-moon a:last-child { order: 3;}
.event-calendar table {
  margin: 20px 0 0;
}
.event-calendar table thead{
	border: none;
}
.event-calendar th, .event-calendar td {
  background: #fff;
  color: var(--base-color);
  font-weight: normal;
  border: none;
  border-right: 2px dotted var(--gray-color);
  padding: .1em;
}
.event-calendar tr {
  border-bottom: 2px dotted var(--gray-color);
}
.event-calendar th:last-child, .event-calendar td:last-child, .event-calendar tbody tr:last-child {
  border: none;
}
.event-calendar .calander-sunday{
	color: #a00;
}
.event-calendar .calander-satday{
	color: #00a;
}
.event-calendar .eventset{
	cursor: pointer;
	font-weight: bold;
}
.event-cont {
  align-items: center;
  margin: 30px 0 0;
}
.event-sort-title {
  color: var(--green-shade-color);
  font-weight: bold;
  font-size: 1.4rem;
  width: 80px;
}

.event-cat-list {
  font-size: 1.6rem;
}
.event-cat-list label{
	margin: 0 1rem 1rem 0;
}

.event-keyword input {
  width: 100%;
  border: none;
  background-color: var(--green-light-color);
  padding: .6em;
  border-radius: 10px;

}

.event-button {
	position: absolute;
	bottom: -7rem !important;
	right: 2rem;
}

.event-button.button a::after {
  /* 共通の土台 */
  display: inline-block;
  vertical-align: middle;
  transition: 0.3s;
  flex-shrink: 0;

  /* 内部リンク用（自作の＞） */
  content: "";
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  margin-left: 10px;
  position: relative;
  top: -1px;
}
.event-button.button a[target*="blank"]::after {
  /* 内部リンク用の線を消す */
  border: none !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
  top: 0 !important;

  /* Font Awesomeの設定 */
  content: "\f35d" !important;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  margin: 0 .4em !important;
  font-size: .9em !important;
  color: #fff;
}
/*
.event-button .button a[target="_blank"]::after{
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f35d";
  margin: 0 .4em;
  font-size: .9em;
}
.event-button .button a:not([target="_blank"])::after {
  content: "";
  position: relative;
  display: inline-block;
  width: .5em;
  height: .5em;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  margin-left: 10px;
  transform: rotate(45deg);
  transition: .3s;
}
*/

.event-sort .event-sort-button {
  width: 100%;
  margin-top: 20px;
  text-align: center;
}
.event-sort-button button {
  padding: .6em 2em;
  width: 100%;
  max-width: 300px;
  border-radius: 10px;
  color: #fff;
  transition: .3s;
  border: none;
  background: var(--green-shade-color);
  font-weight: bold;
  cursor: pointer;
}
.event-sort-button button:hover {
  background: var(--green-shade-color);
}

@media screen and (max-width: 1024px) {
  .event-wrap {
    flex-wrap: wrap-reverse;
  }
  .event-sort {
    padding: 1.8em;
  }
  .event-list .pure-g > div {
    margin: 0px;
  }
  
  .event-limit dl, .event-app dl, .event-info-list, .event-info-datetime {
    display: flex;
    flex-wrap: wrap;
    margin: 0px 0px 3px 0px;
    font-size: 1.7rem;
  }
}

@media screen and (min-width: 569px) and (max-width: 1024px) {
  .event-wrap .event-sort {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-bottom: 30px;
  }
  .event-sort > div {
    width: 50%;
  }
  .event-cont {
    padding-left: 30px;
  }
}

/********************************
	トップページ　背景画像（町並み）
********************************/
.bottom-matinami {
  position: relative;
  width: 100vw;
  left: calc(50% - 50vw);
  display: flex;
  justify-content: flex-end;
  z-index: -999;
  margin-top: -20%;
}
.bottom-matinami img {
  position: relative;
  display: block;
  width: 200%;
  height: auto;
  right: 5%;
}

/********************************
	トップページ　当財団について
********************************/
#about {
  padding-bottom: 0;
  margin-bottom: 0;
}
#about .title-eng {
  color: var(--blue-shade-color);
}

.top-self-menu{
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
    -webkit-box-align: end;
	align-items: end;
    position: relative;
    z-index: 1;
    margin-top: 50px;
    margin-bottom : 0px;
    gap: 10px;
    height: 80px;
}
.top-self-menu li {
    display: block;
    margin: 0 2px;
    width: calc(25% - 15px);
	height: 90%;
    border-radius: 10px 10px 0 0;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    padding: 10px 15px;
}
.top-self-menu li a {
	display: flex;
	flex-wrap: wrap;
    text-decoration: none;
    width: 100%;
    height: 100%;
    color: #fff;
    font-weight: bold;
	justify-content: center;
    align-items: center;
}
.top-self-menu li.top-self-menu-active {
    transition: all .15s;
    height: 100%;
}

.top-self-menu-step1 {
    background-color: var(--yellow-dark-color);
}
.top-self-menu-step2 {
    background-color: var(--green-shade-color);
}
.top-self-menu-step3 {
    background-color: var(--blue-shade-color);
}
.top-self-menu-step4 {
    background-color: var(--main-color);
}
.top-self-panel {
    display: none;
    padding: 15px 30px;
    margin: 0px 10px;
}
.top-self-panel-step1 {
    background-color: var(--yellow-light-color);

}
.top-self-panel-step2 {
    background-color: var(--green-light-color);
}
.top-self-panel-step3 {
    background-color: var(--blue-light-color);
}
.top-self-panel-step4 {
    background-color: var(--gray-light-color);
}

.top-self-panel-active {
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    animation-name: displayAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

.contents-main .top-self-panel .pure-g > div {
	margin: 1em 15px;
}
.contents-main .top-self-panel-step2 .pure-u-1-2 {
	width: calc(50% - 30px);
}


.accordion {
  background-color: #fff;
  border-radius: 10px;
  margin-bottom: 30px;
}
.accordion:not([open]) {
  margin-bottom: 7px;
}
.accordion summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1em 1.5em;
  border-radius: 10px;
  color: #fff;
  font-weight: bold;
  font-family: var(--round-font);
  cursor: pointer;
  transition: all .3s;
}
.accordion summary::-webkit-details-marker {
  display: none;
}
.accordion summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-bottom: 3px solid #fff;
  border-right: 3px solid #fff;
  content: '';
  transition: transform .3s;
}
.accordion[open] summary::after {
  transform: rotate(225deg);
}
.accordion div {
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: .3em 1.5em;
  transition: all .3s;
}
.accordion[open] div {
  transform: none;
  opacity: 1;
}
.accordion[open] summary {
  border-radius: 10px 10px 0 0;
}

.top-self-panel-step1 .accordion summary { background: var(--yellow-dark-color);}
.top-self-panel-step2 .accordion summary { background: var(--green-shade-color);}
.top-self-panel-step3 .accordion summary { background: var(--blue-shade-color);}
.top-self-panel-step4 .accordion summary { background: var(--main-color);}

.top-self-panel-step1 .maru-list li::before { color: var(--yellow-color);}
.top-self-panel-step2 .maru-list li::before { color: var(--green-color);}
.top-self-panel-step3 .maru-list li::before { color: var(--blue-shade-color);}
.top-self-panel-step4 .maru-list li::before { color: var(--main-color);}


@media screen and (max-width: 1024px) {
	.top-self-menu{
		display: inline-block;
		width: 100%;
		height: auto;
		margin-top: 10px;
		margin-bottom: 10px;
	}
	.top-self-menu li {
	    display: inline-flex;
	    margin: 10px 2px;
	    width: 48%;
		height: 100%;
	    border-radius: 10px;
	    padding: 1rem;
	    text-align: center;
	}
	
	.top-self-panel {
		margin: 0px;
	}
}
/****************************************************************
	各ページ共通
****************************************************************/
/*ページトップ*/
.page-title-area {
  position: relative;
  padding: 100px 0 0;
}
.page-title-area::before {
  content: "";
  position: absolute;
  display: block;
  width: 100vw;
  height: 100%;
  left: calc(50% - 50vw);
  top: 0;
  background: var(--blue-color);
  z-index: -1;
}
.page-title-area .inner {
  position: relative;
  width: fit-content;
  min-width: 500px;
  max-width: 50%;
}
.page-title-area h1 {
  position: relative;
  width: fit-content;
  padding: 50px;
  margin: 0;
}
.page-title-area .inner::before {
  content: "";
  position: absolute;
  display: block;
  width: 100vw;
  height: 100%;
  background-color: var(--bg-color);
  right: -30px;
  top: 0;
  z-index: -1;
  border-radius: 0 50px 0 0;
}

.is-title-multiline {
  /*スマホ以外は何もしない*/	
}
.is-title-multiline-double{
  /*スマホ以外は何もしない*/		
}

.page-header-bg {
  position: absolute;
  height: calc(150% + 100px);
  bottom: -50px;
  left: 100%;
}
.page-title-sub{
  display: block;
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: normal;
}


.page-title .subtitle {
	display: block;
	font-size: 2.2rem;
}	
/* バックナンバーのアコーディオン */
.open-cont {
  display: none;
}

/* 投稿の詳細ページのカテゴリーと一覧に戻る */
.post-bar{
  display:block;
}

.cat-tag{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.cat-tag span{
  font-size: 1.4rem;
  padding:.5em 1em;
  margin: 3px;
  border-radius: 5px;
  font-weight: bold;
  background-color: var(--gray-light-color);
  color: var(--green-shade-color);
}

.button-return{
  gap:8px;
  text-align: end;
  display: block !important;
}
.button-return a{
  max-width: 300px;
  margin: 3em auto;
  padding: .6em 2em;
  border-radius: 10px;
  background-color: var(--blue-shade-color);
  color: #ffffff;
}
.button-return a:hover{
  background: #F7B900;
  color: #fff;
  opacity: 1;
}

@media screen and (max-width: 1024px) {
	.page-title-area {
	  position: relative;
	  padding: 30px 0 0;
	  height: 250px;
	}
	.page-title-area::before {
	  height: 30px;
	}
	.page-title-area .inner {
	  min-width: 0px;
	  max-width: 100%;
	}
	.page-title-area h1{
	  padding: 10px 10px;
	  font-size: 3rem;
	  z-index: 2;
	  line-height: 1.5
	}
	.page-title-sub{
	  display: block;
	  line-height: 1.5;
	  margin-top: 1rem;
	}
	.page-title .subtitle {
	  display: block;
	  line-height: 1.5;
	  margin-top: 1rem;	
	  font-size: 1.8rem;
	}
	.is-title-multiline {
	  /* タイトルが1.6行以上の時だけ、マージンを強制的に上書き */
	  margin-top: 120px !important;
	}
	.is-title-multiline-double {
	  /* タイトルが3行以上の時だけ、マージンを強制的に上書き */
	  margin-top: 180px !important;		
	}

	.page-header-bg{
		top: 20px;
		left: 0px;
		z-index: 1;
	}
	.page-title-area .inner::before {
	  right: 60px;
	  border-radius: 0px 100px 0px 0px;
	}
}
/****************************************************************
	相談したい
****************************************************************/
/********************************
	キーワード検索
********************************/
.search-keywd-title{
	display: block;
	margin-top: 1.3rem;
}
.search-keywd{
	display: flex;
	margin: 1rem;
}
.search-keywd input{
	background-color: #fff;
	border: solid 1px var(--gray-color);
	border-radius: 0;
	padding:5px 10px;
	width: 100%;
	font-size: 1.6rem;
}
.search-keywd button{
	display: block;
	margin-left: 1rem;
	padding: 0.5em;
	width: 20rem;
	background-color: var(--green-shade-color);
	border-color: var(--green-shade-color);
	border: none;
	border-radius: 10px;
	transition: .3s;
	font-weight: bold;
	color: #fff;
}

/****************************************************************
	スポット検索・イベント検索フォーム
*****************************************************************/
.search-form-content{
/*	margin-top: 80px;*/
	padding: 2rem 4rem;
	width: 100%;
	border-radius: 10px;
    background-color: #fff;
    box-shadow: 0 5px 15px 0 rgba(0, 0, 0, .1);
    margin-bottom: 80px;
}

.ev-self-panel .search-form-content{
	margin-top: 15px;
	margin-bottom: 15px;
}

.search-form-content .pure-g{
	display: flex;
	flex-direction: inherit !important;
}

.search-form-content .pure-u-1-2 { width: 50%;}
.search-form-content .pure-u-1-5 { width: 20%;}
.search-form-content .pure-u-4-5 { width: 80%;}
.search-form-content .pure-u-1-4 { width: 25%;}
.search-form-content .pure-u-3-4 { width: 75%;}

.search-form-content .search-title{
	height: 100%;
	font-weight: bold;
	margin-top: 1rem;
}
.search-form-content .search-title .area{
	color: var(--yellow-Deep-color);
}
.search-form-content .search-title .cate{
	color: var(--green-color);
}
.search-form-content .search-title .point{
	color: var(--blue-shade-color);
}

.search-form-content-checklist{
	display: inline-flex;
	flex-wrap: wrap;
}
/* ボタン */
.search-button-field{
	font-family: var(--round-font);
	padding: 30px 30px 2rem 30px;
}
.button-clear{
	display: block;
	margin:0 auto;
	padding: 1em 2em;
	width: 80%;
	background-color: var(--gray-color);
	border-color: var(--base-color);
	border: none;
	border-radius: 10px;
	transition: .3s;
	font-weight: bold;
	color: var(--base-color);
}
.button-search{
	display: block;
	margin:0 auto;
	padding: 1em 2em;
	width: 80%;
	background-color: var(--green-shade-color);
	border-color: var(--green-shade-color);
	border: none;
	border-radius: 10px;
	transition: .3s;
	font-weight: bold;
	color: #fff;
}

.button-clear:hover {
	background: var(--base-color);
	color: var(--gray-light-color);
}
.button-search:hover {
	background: var(--green-shade-color);
}

/* チェックボックス */
.unsoldchkbox-area, .unsoldchkbox-cate, .unsoldchkbox-point {
	display: inline-flex;
	flex-wrap: wrap;
/*    margin: 1rem;*/
}
.detail-area{
	margin-buttom: 0.5rem;
}

.unsoldchkbox-area input, .unsoldchkbox-cate input, .unsoldchkbox-point input {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    margin: -1px;	
/*	display: none;*/
}
.unsoldchkbox-area label, .unsoldchkbox-cate label, .unsoldchkbox-point label {
/*	background-color: var(--gray-light-color);*/
    text-align: center;
    display: block;
    padding: 0.7rem 1.4rem;
	border-radius: 5px;
	box-shadow: 6px 3px 3px var(--gray-color);
	margin: 0 1rem 1rem 0;
}
.unsoldchkbox-area label{
	border: solid 1.4px var(--yellow-Deep-color);
}
.unsoldchkbox-cate label{
	border: solid 1.4px var(--green-shade-color);	
} 
.unsoldchkbox-point label{
	border: solid 1.4px var(--blue-shade-color);
}

.unsoldchkbox-area input:checked + label {
	background-color: #fff;
	color: var(--yellow-Deep-color);
	border: 2px solid var(--yellow-Deep-color);
	border-radius: 5px;
	font-weight: bold;
}
.unsoldchkbox-cate input:checked + label {
	background-color: #fff;
	color: var(--green-shade-color);
	border: 2px solid var(--green-shade-color);
	border-radius: 5px;
	font-weight: bold;
}
.unsoldchkbox-point input:checked + label {
	background-color: #fff;
	color: var(--blue-shade-color);
	border: 2px solid var(--blue-shade-color);
	border-radius: 5px;
	font-weight: bold;
}

/* NG: これだとタブが当たらない */
/* input[type="checkbox"] { display: none; } */

/* OK: 視覚的に隠すが、タブ移動やスクリーンリーダーには認識させる */
.unsoldchkbox-area input[type="checkbox"],
.unsoldchkbox-cate input[type="checkbox"],
.unsoldchkbox-point input[type="checkbox"] {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    margin: -1px;
}

/* タブが当たった時に、どのラベルを操作しているか分かるようにする（重要！） */
.unsoldchkbox-area input[type="checkbox"]:focus + label,
.unsoldchkbox-cate input[type="checkbox"]:focus + label,
.unsoldchkbox-point input[type="checkbox"]:focus + label {
    outline: 2px solid var(--yellow-Deep-color); /* フォーカスリングを表示 */
    outline-offset: 2px;
}

/* チェックされた時のラベルの見た目（参考） */
/*
.unsoldchkbox-area input[type="checkbox"]:checked + label,
.unsoldchkbox-cate input[type="checkbox"]:checked + label,
.unsoldchkbox-point input[type="checkbox"]:checked + label {	
    background-color: var(--yellow-Deep-color);
    color: #fff;
}
*/



/* 検索ヒット件数 */
.search-resultnum {
	text-align: end;
	margin: 2rem;
}
.search-resultnum span{
	margin-right: 0.5rem;
	font-weight: bold;
}

@media screen and (max-width: 1024px) {
	.search-form-content{
		margin-top: 0px;
		margin-bottom: 0px;
		padding: 1rem;
	}
	.search-form-content .pure-u-1-5, 
	.search-form-content .pure-u-1-4, 
	.search-form-content .pure-u-3-4, 
	.search-form-content .pure-u-4-5 {
		width: 100%;
	}
	.search-form-content .search-title{
		margin-bottom: 1rem;
	}
	.search-item{
		margin: 1rem;
	}
	.search-button-field{
		margin-top: 2rem;
		margin-bottom: 2rem;
		padding: 0px;
	}
	.button-clear, .button-search{
		padding: 0.5em;
		height: 6rem;
	}

}

/****************************************************************
	スポット情報
*****************************************************************/
.spot-list {
	position: relative;
}

.spot-list-item{
	margin-top: 40px !important;
	margin-bottom: 120px !important;
	padding-bottom: 42px !important;
}
/* 一覧のグリッド */
.entry-content .spot-list-item .pure-u-1-2 { width: 50%;}
.entry-content .spot-list-item .pure-u-1-4 { width: 25%;}
.entry-content .spot-list-item .pure-u-3-4 { width: 75%;}
.entry-content .spot-list-item .pure-u-2-5 { width: 40%;}
.entry-content .spot-list-item .pure-u-3-5 { width: 60%;}
.entry-content .spot-list-item .pure-u-1-5 { width: 20%;}
.entry-content .spot-list-item .pure-u-4-5 { width: 80%;}

.spot-detail-item{
	margin-top: 10px !important;
	margin-bottom: 80px !important;
}
/* 詳細のグリッド */
.spot-detail-item .pure-u-1-2 { width: 50%;}
.spot-detail-item .pure-u-1-5 { width: 20%;}
.spot-detail-item .pure-u-4-5 { width: 80%;}
.spot-detail-item .pure-u-1-4 { width: 25%;}
.spot-detail-item .pure-u-3-4 { width: 75%;}


.spot-detail-img {
	margin: 0px 15px;
	text-align: center;
}
.spot-detail-overview {
	margin: 0px 15px;
}


.spot-title {
	font-size: 2.2rem !important;
	margin-top: -5rem !important;
	font-weight: bold;
}

.spot-title-notice {
	text-align: right;
	font-size: 1.8rem !important;
	font-weight: bold;
	color: #D6345A;
}

.spot-img {
	width: 100% !important;
	height: auto !important;
	text-align: center;
	margin-top: -5rem !important;
	border-radius: 15px !important;
}
.spot-button {
	position: absolute;
	bottom: -7rem !important;
	right: 2rem;
}
.spot-icon-area {
	margin-top: 20px;
	display: inline-flex;
	flex-wrap: wrap;
}
.spot-icon {
	background-color: var(--gray-light-color);
	color: var(--green-shade-color);
	font-size:1.6rem;
	padding: 0.5rem;
	margin: 0.5rem;
	font-weight: bold;
}
.spotaddr{
	margin-top:2rem;
	padding: 1rem;
	border-radius: 5px;
	background-color: var(--yellow-light-color);
	color: var(--yellow-dark-color);
	font-size: 1.6rem
}
.spotaddr p{
	margin: 0rem 2rem;
}
.spotmap-link{
	width: 15rem; 
	margin-left: auto; 
	margin-right: 0px;
}
.spotmap{
	text-align: center;
	margin-top: 1rem !important;
	border-radius: 5px;
	background-color: var(--yellow-dark-color);
	color:#fff;
	font-size: 1.4rem;
	padding: 1rem;
/*	
	margin-top:2rem;
	text-align: center;
*/	
}
.spotmap a{
	font-size: 1.4rem;
	color:#fff !important;
}
.spotmap a[target="_blank"]::after{
	color: #ffffff;	
}

.spotinq-title{
	display: flex;
	justify-content: center;
	align-items: center;	
	margin-top:2rem;
	border-radius: 5px 0 0 5px;
	background-color: var(--green-shade-color);
	color:#fff;
	font-size: 1.3rem;
}
.spotinq-body{
	margin-top: 2rem;
	padding: 1rem;
	border-radius: 0 5px 5px 0;
	background-color: var(--green-light-color);
	color: var(--green-shade-color);
	font-size: 1.6rem
}

.spotinq-body p{
	margin:0px;
	font-size: 1.6rem;
	color: var(--green-shade-color);
}

.spotinq-body p a{
	margin:0px;
	font-size: 1.6rem;
	color: var(--green-shade-color);
}

.spotinq-body p a[href^="tel:"]::before{
	color: var(--green-shade-color);
	font-weight: bold;
}

.spot-lead {
	display: block;
	min-height: 8rem;
	margin: 3rem 15px 15px 15px;
}

.spotdetail-title{
	padding: 0px 15px;
}

.spotdetail-title ul{
  counter-reset:item;
  list-style: none;
  padding: 0;
  margin: 1em 0;
  text-align: left;
  font-size: .9em;
}
.spotdetail-title li{
  position: relative;
  padding-left: 1em;
  margin-left: 0;
}
.spotdetail-title li::before{
  position: absolute;
  left: 0;
}
.spotdetail-title li::before{
  font-size: .5em;
  top: calc(.5em * 1.7);
  color: var(--blue-shade-color);
}
.spotdetail-title li::before {
/*  content: "●";*/
    content: "\f111"; /* circle */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 0.5em;  /* 丸が大きく見えすぎる場合は調整 */
}

.slide-wrapper{
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0px auto;
}
.slick-slide{
	width: 100%;
}
.slide-inner{
	width: calc(100% - 10px);
	max-width: 600px;
	height: 100%;
}

.slide-wrapper img{
  width: 100% !important;
  height: auto !important;
  border-radius: 10px;
}

.slick-control{
	display: inline-block;
	text-align: center;
	margin-top: 4rem;
	width: 100%;
}
.slide-wrapper .slick-control .slick-pause,
.slide-wrapper .slick-control .slick-play{
	width: 30px !important;
	margin: 1rem;
}
.slide-wrapper .slider{
	display: block;
	margin-top: 10px !important;
	margin-bottom: 0px !important;
}
.spot-single-img, .ev-single-img{
	margin: 10px !important;
	width: calc(100% - 10px) !important;
	max-width: 600px !important;
	height: 100% !important;
	border-radius: 10px !important;
}


.spot-relation p {
	margin-left: 1rem;
}

.spot-relation p .relationlink{
	word-wrap: break-word !important;
}
.relationlink a{
	margin-top: 0px;
	margin-bottom: 0px;
}

/* spotのcontact7 */
.hidden-fields-container{
	border: none;
}
.spot-contact7form-input{
	margin-top: 10px;	
}
.spot-contact7form-input input[type="text"]{
	width: 100%;
	border: none;
	background-color: var(--yellow-light-color);
	padding:.6em;
	border-radius: 10px;
}
.spot-contact7form-input input[type="submit"]{
	display: flex;
	justify-content: center;
	align-items: center;
	margin:0 auto;
	border-radius: 10px;
	color: #fff;
	transition: .3s;
	max-width: 300px;
	background-color: var(--blue-shade-color);
	border: none;
	padding: .6em 2em;
}
.spot-contact7form-input label{
	font-weight: bold;
}

.spot-contact7form-input label span{
	font-size: 1.7rem;
	font-weight: normal;
	line-height: 2rem;
}
.spot-contact7form-ol li p{
	margin-top: 1rem;
	margin-bottom: 0px;
}
/* エラーメッセージ */
.screen-reader-response ul{
	display: none;
}
.screen-reader-response p{
	color: #aa0000 !important;
}
.wpcf7-not-valid-tip{
	display: block;
	color: #aa0000 !important;
	font-size: 1.5rem !important;
	font-weight: bold !important;
}

@media screen and (max-width: 1024px) {
	/* 一覧のグリッド */
	.spot-list {
		margin-top: -40px;
	}
	.spot-list-item {
		margin-bottom: 2rem !important;
	}
	.spot-detail-item{
		padding: 0.5em 1em !important;
	}
	
	/* 一覧のグリッド */
	.entry-content .spot-list-item .pure-u-1-2 { width: 100%;}
	
	/* 詳細のグリッド */
	.spot-detail-item .pure-u-1-2 { width: 100%;}


/* 親要素を「テーブル」として扱う */
    .entry-content .spot-list-item .spot-detail-overview .pure-g.spot-access, 
    .entry-content .spot-list-item .spot-detail-overview .pure-g.spot-inq,
    .entry-content .spot-detail-item .spot-detail-overview .pure-g.spot-access,
    .entry-content .spot-detail-item .spot-detail-overview .pure-g.spot-inq{
        display: table !important;
        width: 100% !important;
        table-layout: fixed !important; /* 幅を固定 */
        border-collapse: separate;
        border-spacing: 0;
        margin-top: 2rem;
        
    }

    /* 左側（住所）と右側（MAP）共通：テーブルセルとして扱う */
    .entry-content .spot-list-item .spot-detail-overview .pure-u-3-4,
    .entry-content .spot-list-item .spot-detail-overview .pure-u-1-4,
    .entry-content .spot-detail-item .spot-detail-overview .pure-u-3-4,
    .entry-content .spot-detail-item .spot-detail-overview .pure-u-1-4 {
        display: table-cell !important;
        vertical-align: middle !important; /* これで上下中央も同時に解決 */
        float: none !important; /* Pure.cssのfloatを解除 */
        height: 100%; /* 親の高さに合わせる */
    }

    /* 左側（住所） */
    .entry-content .spot-list-item .spot-detail-overview .pure-u-3-4,
    .entry-content .spot-detail-item .spot-detail-overview .pure-u-3-4 {
        width: 75% !important;
        padding-right: 10px;
        word-break: break-all;
    }

    /* 右側（MAP） */
    .entry-content .spot-list-item .spot-detail-overview .pure-u-1-4,
    .entry-content .spot-detail-item .spot-detail-overview .pure-u-1-4 {
        width: 25% !important;
        text-align: center;
    }

    /* Pタグの余白を消す */
    .spot-access p {
        margin: 0 !important;
    }

    .spot-inq p {
        margin: 0 !important;
    }
	.spotaddr p,
	.spotinq-body p{
		margin: 7px !important;
		word-break: keep-all !important;
		white-space: normal !important;
	}

	.spot-detail-img {
		margin: 0px;
	}
	.spot-img{
		margin-top: 2rem !important;
	}
	.spot-detail-overview, .spot-detail-item .spotdetail-title {
		margin: 0px;
		padding: 0px;
	}
	.spot-title{
		margin-top: 2rem !important;
	}
	.spot-single-img{
		margin: 2rem !important;	
	}
	.slide-wrapper img{
		margin-top: 1rem;
	}
	
	.spot-title-notice {
		margin-top: 1rem;
	}
	.spot-single-img, .ev-single-img{
		margin: 7px 0px !important;
		width: 100% !important;
		max-width: 600px !important;
		height: 100% !important;
		border-radius: 10px !important;
	}
}


/****************************************************************
	イベント・ボランティア
*****************************************************************/
.ev-self-menu{
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
    -webkit-box-align: end;
	align-items: end;
    position: relative;
    z-index: 1;
    margin-top: 50px;
    margin-bottom : 0px;
    gap: 10px;
    height: 80px;
}
.ev-self-menu li {
    display: block;
    margin: 0 2px;
    width: calc(50% - 15px);
	height: 90%;
    border-radius: 10px 10px 0 0;
    -webkit-box-align: center;
    -webkit-box-pack: center;
    padding: 10px 15px;
}
.ev-self-menu li a {
	display: flex;
	flex-wrap: wrap;
    text-decoration: none;
    width: 100%;
    height: 100%;
    color: #fff;
    font-weight: bold;
	justify-content: center;
    align-items: center;
    font-size: 1.7rem;
}

.ev-self-menu li a:hover{
	opacity: 1;
}
.ev-self-menu li.ev-self-menu-active {
    transition: all .15s;
    height: 100%;
    opacity: 1;
}

.ev-self-menu-step1 {
    background-color: var(--yellow-shade-color);
    opacity: 0.6;
}
.ev-self-menu-step2 {
    background-color: var(--green-shade-color);
    opacity: 0.6;
}
.ev-self-panel {
    display: none;
    padding: 15px 30px;
    margin: 0px 10px;
}
.ev-self-panel-step1 {
    background-color: var(--yellow-light-color);

}
.ev-self-panel-step2 {
    background-color: var(--green-light-color);
}
.ev-self-panel-active {
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    animation-name: displayAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}
.ev-self-panel-step1 .accordion summary { background: var(--yellow-color);}
.ev-self-panel-step2 .accordion summary { background: var(--green-color);}
.ev-self-panel-step1 .maru-list li::before { color: var(--yellow-color);}
.ev-self-panel-step2 .maru-list li::before { color: var(--green-color);}


.ev-self-panel-step1 .event-cat-list{
	font-size: 1.6rem;
}

/* 一覧のグリッド */
.ev-list .pure-u-1-2 { width: 50%;}
.ev-list .pure-u-1-5 { width: 20%;}
.ev-list .pure-u-2-5 { width: 40%;}
.ev-list .pure-u-3-5 { width: 60%;}
.ev-list .pure-u-4-5 { width: 80%;}

.ev-list .event-list-item{
	padding-bottom: 42px;	
}

.ev-list .ev-title {
	margin-top: 1.5rem;
	margin-left: 0.5rem;
	font-size: 2.2rem;
	font-weight: bold;
}
.eventvol-img{
	margin-top: 15px;
	margin-right: 15px;
	text-align: center;	
}
.eventvol-img img{
	width: 100% !important;
	height: auto !important;
}
.eventvol-detail{
	margin-top: 15px;
	margin-left: 30px;
	margin-bottom: 30px;
}
.evdetail-title{
	padding: 0px 15px;
}
.volufield{
	padding: 1rem;
	border-radius: 5px 0 0 5px;
	background-color: var(--yellow-light-color);
	color: var(--yellow-dark-color);
	font-size: 1.4rem
}
.volufield p{
	margin:0px;
}
.volufieldmap{
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 0 5px 5px 0;
	background-color: var(--yellow-color);
	text-align: center;
}
.volufieldmap p{
	margin-top: 2rem;
}
.volufieldmap a{
	font-size: 1.4rem;
	color:#fff !important;
}

.evdetail-app{
	width: 50%
}

/* 詳細のグリッド */
.eventvol-detail-item .pure-u-1-2 { width: 50%;}
.eventvol-detail-item .pure-u-1-5 { width: 20%;}
.eventvol-detail-item .pure-u-4-5 { width: 80%;}

.join-title{
	display: flex;
	justify-content: center;
	align-items: center;	
	margin-top:2rem;
	border-radius: 5px 0 0 5px;
	background-color: var(--green-shade-color);
	color:#fff;
	font-size: 1.4rem;
	padding: 7px;
}
.join-body{
	margin-top: 2rem;
	padding: 0px 1rem;
	border-radius: 0 5px 5px 0;
	background-color: #ffffff;
	border: solid 1px var(--green-shade-color);
	color: var(--green-shade-color);
	font-size: 1.4rem
}
.join-body-link{
	display: inline;
	width: 6rem;
	border-radius: 5px;
	background-color: var(--yellow-dark-color);
	padding :0.5rem;
	margin-left: 0.5rem;
}

.join-body-link a{
	color: #ffffff;	
}

.join-body-link a[target="_blank"]::after{
	color: #ffffff;	
}

@media screen and (max-width: 1024px) {
	.ev-self-menu{
	    margin-left: -1rem;
	    margin-right : -1rem;
		height: 50px;
	}
	.ev-self-panel {
	    margin: 0px;
	    padding: 1rem;
	}
	.ev-self-panel .search-form-content{
		margin-top: 0px;
		margin-bottom: 0px;
	}
	.event-calendar{
		margin-top: 1rem;
	}
	.ev-list {
		margin-top: 0px !important;
	}
	.ev-list .pure-u-1-2, .ev-list .pure-u-2-5, .ev-list .pure-u-3-5 {
		width: 100%;
	}
	.eventvol-detail-item{
		margin-top: 10px;
		padding: 0.5em 1em !important;
	}
	
	.eventvol-detail-item-field .pure-g {
        flex-direction: row !important;
        flex-wrap: nowrap !important; /* 折り返しを防止 */
    }
	.eventvol-detail-item .pure-u-1-2, .eventvol-detail-item .pure-u-2-5, .eventvol-detail-item .pure-u-3-5 {
		width: 100%;
	}
	.eventvol-detail {
		margin-left: 0px;
	}
	.evdetail-title{
		padding: 0px;
	}
	.evdetail-app{
		width: 100%;
		margin-bottom: 4rem;
	}
/*
	.form-application table{
		width: 100% !important;
		margin: 0px !important;
	}
	.form-application table th{
		width: 100% !important;
		display: block;
	}
	.form-application table td{
		width: 100%;
		display: block;
	}
*/
    /* テーブルの構造を解除してブロック要素にする */
    .form-application table,
    .form-application tbody,
    .form-application tr,
    .form-application th,
    .form-application td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box; /* 余白によるはみ出しを防止 */
    }

    /* テーブル全体の余白調整 */
    .form-application table {
        margin: 0px !important;
    }

    /* 見出し（th）の調整：少し隙間を開ける */
    .form-application table tbody th {
        border-bottom: none; /* 横並び時の線を消す（必要なら） */
        padding-bottom: 5px; /* 入力欄との距離 */
    }

    /* 入力欄（td）の調整：下の項目との距離をあける */
    .form-application table td {
        padding-bottom: 20px;
        padding-left: 10px;
        padding-right: 10px;
    }	

}

/****************************************************************
	広報誌
*****************************************************************/
/* 一覧のグリッド */
.magazine-list .pure-u-1-3 { width: 33.3333%;}
.magazine-list .pure-u-2-3 { width: 66.6667%;}

/* 728px以下：画像+テキストを50%ずつ横並び */
@media (max-width: 728px) {
  .entry-content .card-box.magazine-list article > .pure-g{
    display: flex !important;
    flex-direction: row !important;
  }

  .entry-content .card-box.magazine-list article > .pure-g > .pure-u-1-3,
  .entry-content .card-box.magazine-list article > .pure-g > .pure-u-2-3{
    width: calc(50% - 5px) !important;
  }
  .entry-content .card-box.magazine-list article > .pure-g{
    gap: 10px;
  }
}

/* 568px以下：縦並びに戻す */
@media (max-width: 568px) {
  .entry-content .card-box.magazine-list > div {
    padding: 1em 1em;
  }

  .entry-content .card-box.magazine-list article > .pure-g{
    flex-direction: column !important;
    gap: 0;
  }

  .entry-content .card-box.magazine-list article > .pure-g > .pure-u-1-3,
  .entry-content .card-box.magazine-list article > .pure-g > .pure-u-2-3{
    width: 100% !important;
  }
}

/* 部品 */
.magazine-img{
  border: 1px solid var(--gray-color);
	margin-top: 15px;
	margin-right: 15px;
	text-align: center;	
}
.magazine-img img{
	width: 100% !important;
	height: auto !important;
}
.magazine-feature{
	margin:15px;
}

@media screen and (max-width: 728px) {
  .magazine-img{
    margin-top: 0;
    margin-right: 0;
  }
  .magazine-feature{
    margin-bottom: 1em;
  }
}

/* バックナンバー開くボタン */
.open-button{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  border-radius: 10px;
  color: #fff;
  transition: .3s;
  background-color: var(--green-shade-color);
  padding: .6em 2em;
  cursor: pointer;
}
.open-button:hover {
  background: var(--green-shade-color);
  color: #fff;
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .open-button {
    display: block;
    text-align: center;
    padding: 1em;
}

.open-button span {
    display: inline;
    vertical-align: middle;
}
}

/****************************************************************
	発行図書・グッズ
*****************************************************************/
/* 一覧のグリッド */
.goods-list .pure-u-1-4 { width: 25%;}
.goods-list .pure-u-3-4 { width: 75%;}

/* 詳細のグリッド */
.goods-detail-item{
	margin-top: 10px !important;
	margin-bottom: 20px !important;
}
.goods-detail-item .pure-u-1-2 { width: 50%;}


/* レイアウト */
.goods-img-left{
	margin-top: 15px;
	margin-right: 15px;
	text-align: center;	
}
.goods-img-right{
	margin-top: 15px;
	margin-left: 30px;
	margin-right: 30px;
	text-align: center;	
}
.goods-img-left img, .goods-img-right img{
  /* border: 1px solid var(--gray-color); */
	width: 100% !important;
	height: auto !important;
}
.goods-detail{
	margin-top: 15px;
	margin-left: 30px;	
}
.goods-feature{
	margin: 0px 15px;
}
.goods-feature p{
	margin: 0px;
}
.price-tag{
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	margin: 0px 0px 3px 0px;
	font-size: 1.4rem;
	font-weight: bold;
}
.price-label{
	border-radius: 5px 0 0 5px;
	padding: 5px 15px;
	background-color: var(--green-shade-color);
	min-width: 5rem;
	color: #fff;
}
.price-value{
	padding: 5px 15px;
	border-radius: 0 5px 5px 0;
	background-color: var(--green-light-color);
	text-align: right;
	min-width: 10rem;
}
.newitem{
	position: relative;
	margin: 3px;
	bottom: 3px;
	font-size: 1.4rem;
	padding:.5em 1em;
	border-radius: 5px;
	font-weight: bold;
	background-color: var(--yellow-light-color);
	color: var(--pink-shade-color);
}


@media screen and (max-width: 1024px) {
	.goods-list .pure-u-1-4, .goods-list .pure-u-3-4 { 
		width: 100%;
	}
	.goods-list h3{
		margin-top: 2rem;
	}
	.goods-list .goods-detail{
		margin-left: 0px;
	}
	.goods-list .price-label{
		min-width: 10rem;
	}
	.goods-list .price-value{
		text-align: left;
	}
	.goods-list .card-link{
		margin-top: 1rem;
	}

	.goods-detail-item .pure-u-1-2{
		width: 100%;		
	}
	.goods-feature{
		margin: 0px 0px 1rem 0px;
	}
	.goods-img-right{
		margin: 1rem 0px 0px;
	}

}


/****************************************************************
	申込みフォーム（共通）
*****************************************************************/
.form-application{
	
}
.form-application table{
	margin: 0px 15px;
	width: 100%;
}
.form-application table th{
	width: 20%;
}

.form-application label{
	margin-left: 0.5rem;
	margin-right:2rem;
}
.form-application input[type="text"], .form-application input[type="email"], .form-application textarea, .form-application select{
	width: 100%;
	border: none;
	background-color: var(--yellow-light-color);
	padding:.6em;
	border-radius: 10px;
}
.form-application .privacyarea{
	width: 100%; 
	height: 32rem; 
	overflow: auto;
}
.form-application .privacyarea .privacyagreechk{
	margin-top: 1rem;
	background-color: var(--yellow-light-color);
	padding:0.5rem;
}

.form-application .privacy-button{
	text-align: left;
	margin: 15px 0px;
}
/*
.form-application .privacy-button a{
	border-radius: 10px;
	padding: .6em 2em;
	color: #ffffff;
	background-color: var(--yellow-color);
}
.form-application .privacy-button a::after{
  content: "";
  position: relative;
  display: inline-block;
  width: .5em;
  height: .5em;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  margin-left: 10px;
  transform: rotate(45deg);
  transition: .3s;
}
.form-application .privacy-button a:hover{
  background: var(--yellow-shade-color);
  color: #fff;
  opacity: 1;
}
*/
.application-button{
	display: flex;
	justify-content: center;
	width: 100%;
	margin: 45px 0px;
}

.application-button button, .form-application input[type="submit"]{
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: 500px;
	padding: 2rem;
	color: #ffffff;
	background-color: var(--yellow-color);
	border-radius: 10px;
	font-size: 1.6rem;
	font-weight: bold;
	border: none;
}

.application-button button::after, .form-application input[type="submit"]::after{
  content: "";
  position: relative;
  display: inline-block;
  width: .5em;
  height: .5em;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  margin-left: 10px;
  margin-top: 0.3em;
  transform: rotate(45deg);
  transition: .3s;
}

.application-button button:hover, .form-application input[type="submit"]:hover{
  background: var(--yellow-shade-color);
  color: #fff;
  opacity: 1;
}

.application-button button:disabled, .form-application input[type="submit"]:disabled{
/*  background: var(--gray-light-color);*/
  background: var(--gray-shade-color);
  color: #fff;
  opacity: 1;
}
.form-application .need{
	font-size:1.2rem;
	margin-left:0.3rem;
}
.form-application .errormsg{
	color: #aa0000;
}
.application-complate-msg{
	background-color: var(--blue-light-color);
	color: var(--blue-shade-color);
	margin:15px;
	padding:15px;
}

/****************************************************************
	お知らせ一覧ページ（アーカイブ）
*****************************************************************/
.container:has(.archive-menu) .pure-g.link-card-box {
	margin: 2em -15px 2em;
}
.container:has(.archive-menu) .pure-u-1-4 {
  margin-top: 1em;
  padding-right: 25px;
  width: calc(25%);
}
.container:has(.archive-menu) .pure-u-3-4 {
  padding-left: 25px;
  width: calc(75%);
}
.archive-menu .year-trigger > .pure-menu-link {
  background: var(--blue-shade-color);
  color: #fff;
  border-radius: 5px;
  padding: 5px 15px;
  cursor: pointer;
}
.archive-menu .months-group .pure-menu-link {
  background: #fff;
  color: var(--base-color);
  border-radius: 5px;
  padding: 5px 15px;
}
.archive-menu .months-group .pure-menu-link:hover {
  background: var(--yellow-color);
  color: #fff;
  opacity: 1;
}

/* ページナビ */
.wp-pagenavi { text-align: center; clear: both; line-height: 3;}
.wp-pagenavi .current { background: var(--blue-shade-color); color: #fff; }
.wp-pagenavi a, .wp-pagenavi span {
  background-color: #fff;
  padding: 7px 20px;
  margin: 0 5px;
  border-radius: 5px;
}

@media (max-width: 768px){
  .entry-content .pure-g{
    display: flex;
    flex-direction: column;
  }
  .entry-content .pure-g > .pure-u-3-4,
  .entry-content .pure-g > .pure-u-1-4{
    order: initial;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: auto;
    margin-right: auto;
  }
  .entry-content .pure-g > .pure-u-3-4{
    order: 1;
  }
  .entry-content .pure-g > .pure-u-1-4{
    order: 2;
    margin-top: 1em;
  }
  .container:has(.archive-menu) .pure-g.link-card-box{
    margin: 2em 0;
  }
  .card-box > div, .link-card-box > div, .button-box > div {
    margin: 1em 0;
  }
  .card-box > div > img:first-child,
  .link-card-box > div > img:first-child,
  .link-card-box > div a > img:first-child {
    display: block;
    width: calc(100% + 2em);
    height: 240px;
    margin: -0.5em -1em 1em;
    object-fit: cover;
    border-radius: 10px 10px 0 0;
  }
}

@media (max-width: 768px){
  .card-box > div, .link-card-box > div, .button-box > div {
    margin: 2em 0;
  }
}

/****************************************************************
	お知らせ個別ページ
*****************************************************************/
article.post {
  background: #fff;
  margin: 60px 0;
}
article.post .post-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5em;
}
.post-bar .cat-tag {
  font-size: 1.3rem;
  font-weight: bold;
}
.post-bar .cat-tag a {
  padding: .5em 1em;
  border-radius: 5px;
  background: var(--gray-light-color);
}

/****************************************************************
	相談したい個別ページ
*****************************************************************/
article.system .post-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5em;
}

@media (max-width: 768px){
  .post-type-archive-system .pure-g.button-box {
     margin-top: 5em; 
   }
 }

.post-type-archive-system .card-box .item-list{
  margin-bottom: 8rem;	
}
/****************************************************************
	支援したい個別ページ
*****************************************************************/
article.support .post-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5em;
}

@media (max-width: 768px){
 .post-type-archive-support .pure-g.button-box {
    margin-top: 5em; 
  }
}

.post-type-archive-support .card-box .item-list{
  margin-bottom: 8rem;	
}
/****************************************************************
	グッズ個別ページ
*****************************************************************/
article.goods .post-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5em;
}
article.goods .price-tag span {
  font-size: 1.6rem;
}


/****************************************************************
	寄付のお願い（たぬきくん）
*****************************************************************/
.donate-anchor-icon img{
  width: 120px;
  height: auto;
  display: block;
}
.donate-anchor-icon {
  position: fixed;
  left: 10px;
  bottom: 10px;
}

@media (max-width: 1024px){
/*@media (max-width: 768px){*/
  .donate-anchor-icon img{
    width: 100px;
    height: auto;
    display: block;
  }
  .donate-anchor-icon {
    position: fixed;
    left: 5px;
    bottom: 0;
  }
}

/****************************************************************
	スクロールヒント
*****************************************************************/
@media (max-width: 768px){
  .wp-block-flexible-table-block-table.is-scroll-on-mobile{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .wp-block-flexible-table-block-table.is-scroll-on-mobile table{
    width: max-content;
    min-width: 1140px;
    border-collapse: collapse;
  }
}

/****************************************************************
	ログイン時の管理バー
*****************************************************************/
.admin-bar #main-header,.admin-bar .container {
    top: 32px;
}
@media screen and (max-width: 782px) {
.admin-bar #main-header,.admin-bar .container {
      top: 46px;
    }
}

/****************************************************************
	recaptchaのプライバシーポリシーと利用規約を消す、その注意書き
*****************************************************************/
.grecaptcha-badge { visibility: hidden !important; }
.recaptcha-text{
	display: block;
	font-size: 1.2rem;
	margin-top: 0rem;
	margin-bottom: 3rem;
}