@charset "utf-8";
/* http://jigsaw.w3.org/css-validator/ */

/* var */
:root {
	--color_white: #FFFFFF;
	--color_black: #1F1F1F; /* 文字、ctrlボタン、メインフォームselect下三角 */
	--color_bg: var(--color_white);
	--color_txt: var(--color_black);
	--color_main: #22C3B4;
	--color_main_rgb: 34, 195, 180;
	--color_main_pale: rgb(var(--color_main_rgb), .18);
/*	--color_main_pale_opacity: #f2f9f5; */
	--color_accent: #008575; /* うすい */
	--color_accent: #008172;
	--color_accent_rgb: 0, 133, 117; /* うすい */
	--color_accent_rgb: 0, 129, 114;
	--color_dark: #4C3D41;
	--color_dark_rgb: 76, 61, 65;

	--color_bg_main: var(--color_main);
	--color_bg_main_txt: var(--color_txt);
	--color_bg_dark: var(--color_dark);
	--color_bg_dark_txt: var(--color_bg);
	--color_bg_pale: #FCFAF7;
	--color_bg_pale_accent: #FDECE7;
	--color_bg_pale_txt: var(--color_txt);

	--color_gradient_start: var(--color_bg_pale_accent);
	--color_gradient_end: var(--color_bg_pale);

	--color_neutral: #B7B1B3; /* h4下線、cmt枠線、table枠線、フォーム うすい */
	--color_neutral: #968D90; /* h4下線、cmt枠線、table枠線、フォーム、リスト区切り線 クリーム色の地の色とのコントラスト比確保 */
	--color_border: #BEBEBE; /* フッター区切り線、リスト区切り線、タグ小枠線 うすい */
	--color_border: #9A9394; /* フッター区切り線、タグ小枠線、白地と接する灰色線 */
	--color_border_light: #CCCCCC; /* ページネーション枠線 */
	--color_border_dark: rgb( var(--color_dark_rgb) ); /* フッター水平線 */
	--color_border_dark_pale: rgb( var(--color_dark_rgb), .4); /* タグ大枠線 */
	--color_border_table: var(--color_border); /* テーブル線 */
	--color_bg_thead: rgb(var(--color_main_rgb), .18); /* thead背景 */
	--color_bg_th: rgb(var(--color_dark_rgb), .05); /* th背景 */
	--color_link: #0000EE;

	--color_ctrl: var(--color_bg_dark); /* ボタン */
	--color_ctrl_txt: var(--color_bg_dark_txt);
	--color_ctrl_color: var(--color_main); /* 検索ボタン */
	--color_ctrl_color_txt: var(--color_dark);
	--color_ctrl_color_hover: #5b5b5b;

	--radius: 10px;
	--radius_small: calc( var(--radius)/2 );
	--radius_large: calc( var(--radius)*2 );
	--radius_full: 999999px;

	--content_width: 980px;
	--content_width: calc( 40rem + 260px );
	--content_padding: 100px;
	--content_width_wide: calc( var(--content_width) + 200px );
	--content_max_width: calc( var(--content_width) + var(--content_padding)*2 );
	--content_max_width_wide: calc( var(--content_width_wide) + var(--content_padding_wide)*2 );
	--content_padding_wide: calc( var(--content_padding)/2 );
	--page_padding: max( calc((100cqw - var(--content_width)) / 2), var(--content_padding));
	--trim_leading: calc((1em - 1lh) / 2);
	--base_margin: 30px;
	--base_margin_narrow: calc(var(--base_margin)/3*2);
	--base_margin_txt: max(calc(var(--base_margin) + var(--trim_leading) - .25rem), calc(var(--base_margin))/2);
	--base_margin_large: calc( var(--base_margin)/3*5 );
	--base_margin_large_txt: max(calc(var(--base_margin_large) + var(--trim_leading) - .5rem ), calc(var(--base_margin_large))/2);

	--menu_icon_width: 40px;
	--menu_icon_border_top: 12.3px;
	--menu_icon_border_bold: calc( var(--menu_icon_border_top)*0.21 );
	--menu_icon_border_margin: calc( var(--menu_icon_border_top)*0.35 );

	--icon_arrow_url:url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M8.59%2C16.59%2C13.17%2C12%2C8.59%2C7.41%2C10%2C6l6%2C6-6%2C6Z%22%2F%3E%3Cpath%20d%3D%22M0%2C0H24V24H0Z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E');
	--icon_arrow_circle_url: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%20fill%3D%22%234c3d41%22%2F%3E%3Cpath%20d%3D%22M8.59%2C16.59%2C13.17%2C12%2C8.59%2C7.41%2C10%2C6l6%2C6-6%2C6Z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%2C0H24V24H0Z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E');
	--icon_arrow_circle_color_url: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2212%22%20fill%3D%22%2322c3b4%22%2F%3E%3Cpath%20d%3D%22M8.59%2C16.59%2C13.17%2C12%2C8.59%2C7.41%2C10%2C6l6%2C6-6%2C6Z%22%20fill%3D%22%23fff%22%2F%3E%3Cpath%20d%3D%22M0%2C0H24V24H0Z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E');

}


/* font */
body,
.font_normal,
.bttn.ctrl,
.footer_info h2 {
	font-family: sans-serif;
}
.marugo_regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400; /* regular */
  font-style: normal;
	-webkit-font-smoothing: auto;
}
.marugo,
.tagline,
.heading_en,
.tag_index,
.home .intro {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500; /* medium */
	-webkit-font-smoothing: antialiased;
}
.marugo.bold,
#site-header .tel,
#page_title,
#content_title,
h1,
h2,
.heading,
.home main h1, .home main h2, .home main h3, .home main h4,
.list_title,
.bttn,
button,
input[type=button],
input[type=submit],
.wp-block-button__link {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700; /* bold */
	-webkit-font-smoothing: antialiased;
}
.marugo.black,
#site-header .tel .num {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900; /* black */
	-webkit-font-smoothing: antialiased;
}
body:not(.fontloaded) .wait_fontload {
	opacity: 0;
}

/* --font size */
html {
	font-size: 1.125em;
}
#site-header .tel .num {
	font-size: 2.111rem;
}
h1,
#page_title,
#content_title {
	font-size: 1.89rem; /* 34 */
	line-height: 1.778;
}
.home .intro h2 {
	font-size: 1.667rem; /* 30 */
}
h2,
main .tel .num {
	font-size: 1.556rem; /* 28 */
}
h3 {
	font-size: 1.333rem; /* 24 */
}
.bttn.bttn_large {
	font-size: 1.222rem; /* 22 */
}
h4,
h5 {
	font-size: 1.167rem; /* 21 */
}
.content_list,
.category_list {
	font-size: 1.111rem; /* 20 */
}
h6,
.index_list .label,
.home .intro,
.content_list .label,
.footer_info h2,
.footer_info h3,
.tag,
code {
	font-size: 1rem; /* 18 */
}
#site-header .tel,
#breadcrumbs,
#site-footer .content {
	font-size: .889rem; /* 16 */
}
/* figcaption,
.caption {
	font-size: .778rem; /* 14
}
*/
p:empty {
  display: none;
}

/* line-height */
body {
	line-height: 1.875;
}
.home .intro {
	line-height: 2;
}
.slide .text {
	line-height: 2;
}
.border_list li,
figcaption,
table {
	line-height: 1.75;
}
h2,h3,h4,h5,h6,
.menu,
li,
.slide .caption {
	line-height: 1.5;
}

/* html */
html {
	scroll-behavior: smooth;
}

/* body */
body {
	font-family: sans-serif;
	color: var(--color_txt);
	background-color: var(--color_bg);
	word-break: break-word;
	-webkit-text-size-adjust: 100%;
	container: body/inline-size;
}
body *,
::before,
::after {
	box-sizing: border-box;
}
strong,
em {
	color: var(--color_accent);
	font-style: normal;
}
strong strong {
	border-bottom: 3px var(--color_main) double;
}
u {
	text-decoration: none;
	background: linear-gradient(transparent 70%, #EAD67980 0);
	border-bottom: 1px solid #EAD67980;
}
img,
iframe,
figure {
	max-width: 100%;
}
img {
	height: auto;
	border: none;
}
svg {
	vertical-align: bottom;
}
.aligncenter figcaption,
.gallery figcaption {
	text-align: center;
}
.gallery figcaption {
	margin-top: -1em;
}
.gallery .gallery-icon {
	text-align: center;
}
blockquote {
	margin-inline: 0;
}
hr {
	margin-block: var(--base_margin_large);
	border: none;
	border-top: 1px solid var(--color_neutral);
}

img[src*=feed-icon-large] {
  min-width: 24px;
	width: calc(1em/28*24) ;
	height: auto;
	aspect-ratio: 1;
	border: 1px solid #D36636;
	border-radius: 3px;
	margin-left: 10px;
  transform: translateY(8%);
}

/* link */
:link {
	color: var(--color_link);
}
a,
a::before {
	transition: opacity .3s, background-color .3s;
	text-underline-offset: 2px;
}
header a[href^=tel],
#footer-navigation a,
.childpost_list a,
.category_list a {
	color: inherit;
}
a:hover,
header a[href^=tel],
#global-navigation a,
.border_list a:hover,
a.tag,
.border_list a.tag,
.content_list a,
.childpost_list a,
.category_list a,
footer .link_list a {
	text-decoration: none;
}
.border_list a,
footer .link_list a:hover,
.nav-links a.page-numbers.prev:hover,
.nav-links a.page-numbers.next:hover {
	text-decoration: underline;
}
a > img:only-child:hover,
.thumb:has(a[aria-hidden]:only-child:empty):hover {
	outline: 1px dashed var(--color_border_dark);
	outline-offset: 2px;
}
.content_list a:hover,
.category_list a:hover,
.childpost_list a:hover {
	background-color: var(--color_main_pale);
}
.bg_main .content_list a:hover,
.bg_main .category_list a:hover,
.bg_main .childpost_list a:hover {
	background-color: var(--color_bg_pale_accent);
}

a.link,
a.return_link,
a .link_text {
	display: inline-block;
	padding-left: 32px;
	position: relative;
}
a .link_text {
	display: block;
	margin-top: 12px;
}
a.return_link {
	margin-top: var(--base_margin);
}
a.link.archive_link,
a.return_link {
	display: block;
	width: fit-content;
	margin-left: auto;
}
a.link::before,
a.link.archive_link::before,
a.return_link::before,
a .link_text::before {
	content: '';
	display: block;
	width: 24px;
	aspect-ratio: 1;
	background: var(--icon_arrow_circle_color_url) left top/cover no-repeat;
	background-size: 24px 24px;
	position: absolute;
	left: 0;
	top: calc(.5lh);
	transform: translateY(-50%);
}

/* button */
.bttn,
button,
input[type=button],
input[type=submit],
.wp-block-button__link,
.bttn_list li a {
	--el_color_bg: var(--color_ctrl);
	--el_color: var(--color_ctrl_txt);
	-webkit-appearance: none;
	box-sizing: border-box;
	padding-block: 10px;
	padding-inline: 48px;
	min-height: 60px;
	max-width: 100%;
	margin: .5rem 0;
	border: none;
	background-color: var(--el_color_bg);
	color: var(--el_color);
	line-height: 1.5;
	border-radius: var(--radius_full);
	text-decoration: none;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	cursor: pointer;
	vertical-align: middle;
	font-size: 1rem;
}
.bttn:hover,
.bttn:active,
button:hover,
button:active,
input[type=button]:hover,
input[type=button]:active,
input[type=submit]:hover,
input[type=submit]:active,
.wp-block-button__link:hover,
.wp-block-button__link:active {
}
.bg_dark a.bttn {
	background-color: #E4E2E3;
	color: var(--color_dark);
	background-image: var(--icon_arrow_url);
}
a.bttn,
.bg_white a.bttn {
	padding-left: 44px;
	background-image: var(--icon_arrow_circle_url);
	background-repeat: no-repeat;
	background-position: var(--base_margin_narrow) center;
}
a.bttn.bttn_large {
	padding-left: 82px;
	background-position: 30px;
	background-size: 40px;
}
.bttn.bttn_large {
	min-height: 72px;
	padding-inline: 44px;
}
.bg_main .bttn {
	--el_color_bg: var(--color_bg);
	--el_color: var(--color_txt);
	color: var(--el_color) !important;
}
.bttn.bttn_ctrl {
	padding-block: 5px;
	min-height: auto;
	margin-block: 0;
}
.bttn.ctrl:hover,
.bttn.ctrl:focus {
	--el_color_bg: var(--color_ctrl_dark_hover);
}
.bttn.main,
.bttn.primary,
.bg_dark .search-form .bttn {
	--el_color_bg: var(--color_bg_main);
	--el_color:  var(--color_bg_main_txt);
}
.bttn.main:hover,
.bttn.primary:hover,
.bttn.main:focus,
.bttn.primary:focus,
.bg_dark .search-form .bttn:hover,
.bttn_list li a:hover,
.bttn_list li a:focus {
  background-color: var(--color_txt);
}
.bg_dark .search-form .bttn:hover {
  color: inherit;
  outline: 2px solid var(--color_bg);
  outline-offset: -2px;
}
header .search-form .bttn,
footer .search-form .bttn {
	border-radius: var(--radius_small);
	padding-block: 0;
	min-height: auto;
	margin: 0;
}

/* bg */
.bg_main {
	background-color: var(--color_main);
	color: var(--color_txt);
}
.bg_main_pale {
	background-color: var(--color_main_pale);
	color: var(--color_bg);
}
.bg_dark {
	background-color: var(--color_bg_dark);
	color: var(--color_bg_dark_txt);
}
.bg_pale {
	background-color: var(--color_bg_pale);
	color: var(--color_txt);
}
.bg_white {
	background-color: var(--color_white);
	color: var(--color_black);
}

/* wrapper */
.wrapper,
#page-header,
#content > h1:first-of-type {
/*	margin-inline: auto;
	width: var(--content_max_width);
	max-width: 100%;
	padding-inline: var(--content_padding);
*/
	width: 100%;
	padding-inline: var(--page_padding);
}
/* 全幅 */
.wrapper.full_width,
#page-header,
#content > h1:first-of-type {
  width: 100cqw;
	margin: 0 calc(50% - 50cqw) ;
}
.wrapper .wrapper {
	padding-inline: 0;
	width: 100%;
}

/* container */

/* header */
#site-header {
	position: relative;
	padding-bottom: .85rem;
	z-index: 100;
}
#site-header img {
	display: block;
}
#site-header > .content {
	display: grid;
	grid-template-areas:
		"nav nav"
		"logo tel"
	;
	grid-template-columns: auto 1fr;
	align-items: flex-start;
	justify-content: space-between;
	column-gap: var(--base_margin);
	padding-block: 2px;
	align-items: center;
}
#site_title {
	margin-block: 0;
	grid-area: logo;
}
#site_title img {
	display: block;
}
#site-header #nav-content {
	grid-area: nav;
	margin-left: auto;
	margin-bottom: calc( var(--trim_leading)*1.5 );
}
#site-header .menu {
	display: flex;
	flex-wrap: wrap;
	column-gap: var(--base_margin_narrow);
}
#site-header .tel {
	margin: 0;
	margin-right: auto;
	grid-area: tel;
	display: grid;
	grid-template-areas:
		"icon text"
		"icon num"
	;
	align-items: center;
	column-gap: 10px;
}
#site-header .tel_icon {
	grid-area: icon;
}
#site-header .tel_num {
	display: flex;
	align-items: center;
	line-height: 1;
	flex-wrap: wrap;
	row-gap: .4rem;
}
#site-header .tel_num .note {
	font-weight: 500;
}
#site-header .icon + .label {
	display: block;
	text-align: center;
	line-height: 1.4;
	margin-top: 2px;
}

/* mainmenu */
#mainmenu {}

/* main_column */
main {
	background: var(--color_bg_pale);
	padding-bottom: calc( var(--base_margin_large_txt)*2 );
	border-bottom: 1px solid var(--color_border);
}
#breadcrumbs {
	background: var(--color_bg_pale_accent);
	padding-block: 10px;
}
#breadcrumbs p {
	position: relative;
	z-index: 1;
	margin-block: 0;
}
#page-header,
#content > h1:first-of-type,
#heroimage {
	min-height: 186px; /* 220 - 24 のつもりだったけれど、いったん186で*/
	background: linear-gradient(var(--color_bg_pale_accent) 0%, var(--color_bg_pale_accent) 32.6%, var(--color_bg_pale) 100%);
}
#page-header,
#content > h1:first-of-type {
	--el_point_size: min( 25%, 180px );
	padding-block: calc( var(--base_margin_large_txt) + 1rlh ) var(--base_margin) ;
	position: relative;
	z-index: 0;
	margin-top: -1rlh;
}
#page-header:has(.header_point:not(:empty)) {
	padding-right: calc( var(--page_padding) + var(--el_point_size) + var(--base_margin));
}
#page-header::before,
#content > h1:first-of-type::before {
	content: '';
	display: block;
	width: 100%;
	height: min( 100%, 169px );
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	background: url(../images/header_bg.png) center top no-repeat;
	background-size: auto 100%;
}
#page-header .header_point {
	width: var(--el_point_size);
	position: absolute;
	bottom: 0;
	right: var(--page_padding);
	z-index: -1;
}
#page-header .header_point:empty {
	content: '';
	display: block;
	aspect-ratio: 1;
/*	background: url(../images/header_point.svg) right bottom/contain no-repeat; */
}
#page-header .header_point {
	top: 50%;
	bottom: auto;
	transform: translateY(-50%);
}
#page-header .header_point img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}
#page-header h1 {
	margin-top: 0;
}




#site-content {
	min-height: 20rem;
}
.post_data {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: space-between;
	column-gap: var(--base_margin);
	row-gap: var(--base_margin_narrow);
}
.post_data > * {
	margin-block: 0;
}
.post_data .date {
	margin-top: 0;
}
.post_info:not(:empty) {
	margin-top: var(--base_margin_large);
	padding-top: var(--base_margin);
	border-top: 1px solid var(--color_border);
}
.post_info > * {
	margin: 0;
}
.intro p {
	line-height: 2;
	margin-block: 0;
}

/* aside */
aside {
	padding-block: var(--base_margin);
}
aside > :first-child,
aside > .dashi_pagepart_wrapper:first-child > :first-child,
aside h2:first-of-type {
	margin-top: 0;
}
aside > :last-child,
aside > .dashi_pagepart_wrapper:last-child > :last-child {
	margin-bottom: 0;
}

/* footer */
#gopagetop {
    position: sticky;
    text-align: right;
    bottom: 50px;
    margin: 0 0 30px auto;
    font-size: 14px;
}
#gopagetop.show {
	display: block;
}
#gopagetop a {
	display: inline-block;
	transform: translateX(calc(var(--content_padding)/2));
}
#gopagetop img {
	transition: .2s ease-in-out;
	outline: none;
}
#gopagetop a:hover img {
	transform: translateY( -6px );
	filter: drop-shadow(0 0 2px var(--color_bg))
}
#site-footer h3 {
	margin-block: 0;
}
#site-footer .bg_main {
	padding-block: var(--base_margin);
}
#site-footer .bg_main > :first-child {
	margin-top: var(--trim_leading);
}
#footer-navigation {
}
#site-footer .content {
	padding-block: var(--base_margin) var(--base_margin_large);
}
#site-footer .footer_info {
	border-top: 1px solid var(--color_dark);
	margin-top: var(--base_margin);
}

/* content */
/* clearfix */
.clearfix,
#site-content::after,
#content::after {
    clear: both;
    content: '';
    display: block;
}
/* heading */
h1,h2,h3,h4,h5,h6 {
	position: relative;
  clear: both;
}
h1 + *,h2 + *,h3 + *,h4 + *,h5 + *,h6 + * {
	margin-top: 0;
}
h2, h3, h4, h5 {
	margin-top: 26px;
}
main h1 {
	margin-block: 13px 34px;
}
main h1:has(+.date) {
	margin-bottom: .5rem;
}
h2 {
	margin-top: var(--base_margin_large);
	margin-bottom: var(--base_margin);
}
main h2 {
	background: var(--color_main_pale);
	border-radius: var(--radius);
	padding: 12px 16px;
}
main .content_wrapper h2:first-child,
main .content_wrapper > *:first-child > h2:first-child {
	margin-top: 0;
}
main h2:has(img) {
  display: flex;
  align-items: center;
}
main h2 img {
  flex-shrink: 0;
  width: 60px;
  aspect-ratio: 1;
  object-fit: contain;
  max-width: 20%;
  margin-right: 10px;
}
aside h2 {
	margin-block: var(--base_margin);
}
.footer_info h2,
.footer_info h3 {
	margin-block: var(--base_margin_txt) 0;
}
h3 {
	margin-top: var(--base_margin_large_txt);
	margin-bottom: var(--base_margin_txt);
}
main h3 {
	border-bottom: 2px solid var(--color_main);
	padding-bottom: 15px;
}
h4 {
	margin-bottom: 15px;
}
main h4 {
	border-bottom: 1px solid var(--color_border_light);
	padding-bottom: 15px;
}
h5 {
	margin-bottom: 12px;
}
h6 {
	margin-block: 16px;
}

.icon_heading {
	--el_icon_size: 42px;
	--el_icon_margin: var(--base_margin_narrow);
	min-height: var(--el_icon_size);
	padding-left: calc( var(--el_icon_size) + var(--el_icon_margin)*2 );
	position: relative;
}
.icon_heading::before {
	content: '';
	display: block;
	width: var(--el_icon_size);
	aspect-ratio: 1;
	position: absolute;
	left: calc(var(--el_icon_margin)*2/3*2);
	top: 50%;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-size: contain;
}
.icon_heading.icon_menu::before {
	background-image: url(../images/icon_menu.svg);
}
.icon_heading.icon_news::before {
	background-image: url(../images/icon_balloon.svg);
}
.icon_heading.icon_category::before {
	background-image: url(../images/icon_category.svg);
}
.icon_heading.icon_pickup::before {
	background-image: url(../images/icon_pickup.svg);
}
aside .icon_heading,
footer .icon_heading {
	padding-left: calc( var(--el_icon_size) + var(--el_icon_margin)*2/3 );
}
aside .icon_heading::before,
footer .icon_heading::before {
	left: 0;
}
.bg_main .icon_heading::before {
	filter: brightness(0) invert(1);
	opacity: .7;
}
.bg_white .icon_heading::before,
.cmt .icon_heading::before {
	filter: none;
	opacity: 1;
}
.cmt {
	border-radius: var(--radius);
	padding: var(--base_margin_txt) var(--base_margin) ;
	background-color: var(--color_bg);
	border-color: var(--color_border);
}
main .cmt h2,
main .cmt h3 {
	background: none;
	border: none;
	padding: 0;
	font-size: 1.25rem;
	margin: 0 0 .5em;
}
main .cmt .tel {
  margin-block: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
main .cmt:has(.tel) p {
  margin-block: 0;
}
main .tel .num {
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  display: inline-flex;
  position: relative;
  column-gap: 12px;
  align-items: center;
}
main .tel .num::before {
  content: '';
  width: 40px;
  aspect-ratio: 1;
  display: block;
  background: url(../images/icon_tel_color.svg) center center / contain no-repeat;
}
main .cmt .tel > br {
  display: block;
  width: 100%;
}

/* list */
/*
ul:not([class]) > li::marker,
ul[class=""] > li::marker {
	content: '・';
}
*/
:is(ul, ol):not([class]) li:has(+ li),
:is(ul, ol).list > li:has(+ li) {
	margin-bottom: .45em;
}
ol {
	padding-left: 1.45em;
}
ul {
	padding-left: 0;
	list-style: none;
}
ul > li {
	position: relative;
	padding-left: 23px;
}
ul > li::before {
	content: '';
	display: block;
	width: 8px;
	aspect-ratio: 1;
	border-radius: 50%;
	position: absolute;
	left: 8px;
	top: calc( 1.875em / 2 - 4px );
	top: calc( .5lh - 4px );
	background-color: var(--color_main);
}
.menu {
	margin-block: 0;
}
[class*=_list] > li,
.menu > li {
	padding-left: 0;
}
[class*=_list] > li::before,
.menu > li::before {
	content: none;
}
li.sticky {
	background-color: #FCF2EE;
}
li.sticky .data::after {
	content: '';
	display: inline-block;
	width: 1.111rem;
	aspect-ratio: 20/19;
	background: url(../images/icon_sticky.svg) left center/contain no-repeat;
	margin-left: 10px;
}

.card_list a {
	display: block;
}
.card_list .thumb:empty,
.card_list .thumb img {
	display: block;
	width: 100%;
	border-radius: var( --radius );
	aspect-ratio: 300/180;
}
.card_list .thumb img {
	object-fit: cover;
}
.category_list {
	--el_gap: 16px;
	--el_col: 4;
	display: flex;
	flex-wrap: wrap;
	gap: var(--el_gap);
	container: category_list/inline-size;
}
.category_list > * {
	min-width: calc( (100% - var(--el_gap)*(var(--el_col) - 1 ))/var(--el_col) );
}
@container category_list (max-width: 35em) {
	.category_list > * {
		--el_col: 3;
	}
}
@container category_list (max-width: 28em) {
	.category_list > * {
		--el_col: 2;
		min-width: calc( (100% - var(--el_gap)*(var(--el_col) - 1 ))/var(--el_col) );

	}
}
.category_list a {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color_txt);
	background-color: var(--color_bg);
	border-radius: calc(var(--radius)*3);
	position: relative;
	padding-block: 10px;
	padding-inline: var(--base_margin_narrow);
	border: 2px solid var(--color_border_dark_pale);
	text-align: initial;
}

.link_list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.link_list > li {
	padding-left: 32px;
	position: relative;
}
.link_list > li::before {
	content: '';
	display: block;
	width: 24px;
	aspect-ratio: 1;
	background: var(--icon_arrow_circle_color_url) left top/cover no-repeat;
	background-size: 24px 24px;
	position: absolute;
	left: 0;
	top: calc(.5lh);
	transform: translateY(-50%);
}
footer .link_list > li {
	padding-left: 24px;
	margin-block: 0;
}
footer .link_list > li::before {
	background: var(--icon_arrow_circle_url) left top/cover no-repeat;
	background: var(--icon_arrow_url) left top/cover no-repeat;
}
.link_list:not([class*=col/_]) > li + li {
	margin-top: 9px;
}
.border_list {
	border-bottom: 1px solid var(--color_neutral)
}
.border_list > li {
	display: grid;
	grid-template-areas:
		"data thumb"
		"label thumb";
	grid-template-columns: 1fr auto;
	grid-template-rows: auto 1fr;
	row-gap: 7px;
	border-top: 1px solid var(--color_neutral);
	padding-block: 24px;
}
.border_list time {
	width: 9em;
}
.border_list .data {
	grid-area: data;
	display: flex;
	flex-wrap: wrap;
	row-gap: 5px;
	align-items: center;
}
.border_list .thumb {
	margin-left: auto;
	flex-shrink: 0;
	grid-area: thumb;
	width: 180px;
	aspect-ratio: 180/108;
	border-radius: var(--radius);
	margin-left: var(--base_margin);
}
.border_list .thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	border-radius: var(--radius);
}
.border_list .label {
	grid-area: label;
}
.border_list .info {
	display: flex;
	gap: 5px 13px;
	flex-wrap: wrap;
}
.border_list time {
	font-size: 1rem;
	color: inherit;
}
.content_list:not([class*=col]) li + li {
	margin-top: var(--base_margin_narrow);
}
.content_list a {
	display: flex;
	width: 100%;
	min-height: calc( 2lh );
	align-items: center;
	color: var(--color_txt);
	background: var(--icon_arrow_circle_url) 16px center no-repeat;
	background-color: var(--color_bg);
	border: 2px solid var(--color_main);
	border-radius: var(--radius);
	gap: 12px;
	min-height: calc(2.25lh + var(--base_margin_narrow));
	padding-block: calc(var(--base_margin_narrow) + var(--trim_leading) - 4px);
	padding-inline: 50px 16px;
	font-weight: bold;
}
.childpost_list {
	display: flex;
	flex-direction: column;
	gap: calc( var(--base_margin)/2 );
}
.childpost_list a {
	display: flex;
	align-items: center;
	border-radius: var(--radius_full);
	column-gap: 18px;
	padding: var(--base_margin_narrow) 24px;
	font-weight: bold;
	padding-left: 57px;
	background: url(../images/icon_link.svg) left 26px center no-repeat  var(--color_neutral);
}
.childpost_list .title {
	display: block;
	margin: 0;
}
.bttn_list {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
	gap: 12px;
}
.bttn_list > li {
  padding-left: 0;
}
.bttn_list > li::before {
  content: none;
}
.bttn_list a {
  font-weight: bold;
}
.tags {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
}
.tag {
	font-weight: 400;
	color: var(--color_txt);
	background-color: var(--color_bg);
/*	border: 1px solid var(--color_border); うすい */
	border: 1px solid var(--color_border);
	padding: 7px var(--radius_large);
	line-height: 1;
	border-radius: var(--radius_large);
}
.border_list .tag {
	padding: 5px 10px;
	border-radius: 0;
}
a.tag:hover {
	background-color: var(--color_main_pale);
}
.icon_list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-block: var(--base_margin_narrow) 0;
}
.icon_list .icon {
	width: 36px;
	aspect-ratio: 1;
}
.thumb:empty,
.thumb:has(a[aria-hidden]:only-child:empty) {
	background: url(../images/placeholder.png) center center/cover no-repeat;
}
.thumb a[aria-hidden]:only-child:empty {
	display: block;
	width: 100%;
	height: 100%;
}
/* table */
table {
	margin: 5px 0 10px;
	box-sizing: border-box;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	border-top: 1px var(--color_border_table) solid;
	border-left: 1px var(--color_border_table) solid;
}

th,
td {
	vertical-align: top;
	text-align: left;
	padding: 8px 10px;
	border-bottom: 1px var(--color_border_table) solid;
	border-right: 1px var(--color_border_table) solid;
}

th {
	text-align: left;
	background-color: var(--color_bg_th);
	font-weight: bold;
}
tbody th {
	min-width: 10em;
}
thead th {
	background-color: var(--color_bg_thead);
}
tfoot th,
tfoot td {
	background-color: var(--color_bg_th);
}

th > *:first-child,
td > *:first-child {
	margin-top: 0;
}

th > *:last-child,
td > *:last-child {
	margin-bottom: 0;
}
.border_table {
	border-left: none;
}
.border_table th,
.border_table td {
	border-right: none;
	background: none;
}
/* form */
main form {
	font-size: 1.25rem;
}
[type="text"],
[type="password"],
[type="number"],
[type="tel"],
[type="email"],
[type="url"],
[type="date"],
[type="time"],
[type="week"],
[type="month"],
[type="datetime-local"],
[type="search"],
textarea {
	box-sizing: border-box;
	max-width: 100%;
	padding: 6px;
	vertical-align: middle;
	border: 1px solid var(--color_border_dark);
	font-size: 1em;
	width: 100%;
}
select {
	box-sizing: border-box;
	padding: 5px;
	max-width: 100%;
	border: 1px solid var(--color_border_dark);
	font-size: 1em;
}
[type=radio],
[type=checkbox] {
	border: 1px solid var(--color_border_dark);
	zoom: 1.6;
	vertical-align: top;
}
input[id$=zip] {
	width: auto;
}
form [type=submit],
form button:not([type]) {
	white-space: nowrap;
}
form.search-form {
	display: flex;
	width: 958px;
	max-width: 100%;
	padding-inline: var(--content_padding);
	align-items: stretch;
	gap: 12px 15px;
	margin: var(--base_margin_narrow) auto;
}
form.search-form label {
	display: flex;
	align-items: center;
	width: 100%;
	white-space: nowrap;
	column-gap: 14px;
}
form.search-form label,
form.search-form label .label_text {
	display: inline-flex;
	align-items: center;
	column-gap: 10px;
}
form.search-form label .label_text::before {
	--el_size: 40px;
	content: '';
	display: flex;
	width: var(--el_size);
	aspect-ratio: 1;
	border-radius: 50%;
	background: url(../images/icon_search.svg) center center / 24px no-repeat  var(--color_main);
	flex-shrink: 0;
}
.wrapper_search-form {
	container: search-form/inline-size;
}
@container search-form (max-width: 35em) {
	form.search-form {
		display: grid;
		grid-template-areas:
			"label label"
			"input button"
		;
		grid-template-columns: 1fr auto;

	}
	form.search-form label {
		display: grid;
  	grid-template-rows: subgrid;
  	grid-template-columns: subgrid;
		grid-column: 1/-1;
		grid-row: 1/-1;
	}
	form.search-form label .label_text {
		grid-area: label;
		margin-inline: auto;
	}
	form.search-form label .search-field {
		grid-area: input;
	}
	form.search-form .search-submit {
		grid-area: button;
	}

}

main form p + p {
	margin-top: 1.5em;
}

/* カレンダー */
.calendar_header {
	display: grid;
	grid-template-areas: "prev heading next";
	align-items: center;
	border-radius: var(--radius_large) var(--radius_large) 0 0;
	padding: 12px var(--base_margin_narrow);
}
.calendar_header .heading {
	grid-area: heading;
	padding: 0;
	margin: 0;
	text-align: center;
	border: none;
	color: inherit;
}
.calendar_header nav {
   display: grid;
	 grid-column: 1/-1;
	 grid-row: 1/-1;
   grid-template-columns: subgrid;
}
.calendar_header .prev {
	grid-area: prev;
	margin-right: auto;
}
.calendar_header .next {
	grid-area: next;
	margin-left: auto;
}
.calendar_header ~ .tbl_calendar {
	margin-top: 0;
}
.tbl_calendar tr {
	background: var(--color_bg);
}
.tbl_calendar th:first-child {
	width: calc( 3em + 45px );
	min-width: auto;
	padding-right: 25px;
	text-align: right;
	white-space: nowrap;
	border-right: none;
}
.tbl_calendar thead th {
    background-color: var(--color_bg_th);
}
[lang=ja] .tbl_calendar th .day {
	--el_mask_size: 1em;
    display: inline-block;
    -webkit-mask-image: linear-gradient(to left, transparent var(--el_mask_size), black var(--el_mask_size));
    mask-image: linear-gradient(to left, transparent var(--el_mask_size), black var(--el_mask_size));
		margin-right: calc(var(--el_mask_size) * -1);
}
.tbl_calendar tbody th span + span {
	display: inline-block;
	margin-left: .5em;
	margin-block: .25em;
}
.tbl_calendar tbody td a {
	display: block;
	margin-block: .25em;
}



/* for wp */
.aligncenter {
	display: block;
	margin: 0 auto;
}
.alignleft {
	text-align: left;
}
.alignright {
	text-align: right;
}
img.alignleft {
	float: left;
	margin-right: min( 10vw, 40px );
}
img.alignright {
	float: right;
	margin-left: min( 10vw, 40px );
}

/* ページネーション */
.nav-links:not(:has(ul)),
ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
}
.nav-links li {
	padding-left: 0;
}
.nav-links li::before {
	content: none;
}
.nav-links .prev,
.nav-links .next,
.nav-links .dots {
	background: none !important;
	border: none !important;
	color: var(--color_txt) !important;
}
.nav-links .prev::after,
.nav-links .next::after {
	content: '';
	display: block;
	width: calc( 1rem + 6px ); /* 24px */
	aspect-ratio: 1;
	background: var(--icon_arrow_url) center center / contain no-repeat;
}
.nav-links .prev::after {
	transform: scaleX(-1);
}
.nav-links .disabled {
	visibility: hidden;
}
.nav-links .page-numbers:not(ul) {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 2em;
	height: 2em;
	margin: .7em 5px;
	padding-inline: .1em;
	color: var(--color_txt);
	background-color: var(--color_bg);
	border: 1px solid var(--color_border_light);
	text-decoration: none;
	white-space: nowrap;
}
.nav-links .page-numbers:not(ul):hover,
.nav-links .page-numbers:not(ul)[aria-current]
{
	color: var(--color_bg_dark_txt);
	background-color: var(--color_bg_dark);
	border-color: var(--color_bg_dark);
	text-decoration: none;
}

/* 各ページ */
/* home */
#heroimage {
	display: block;
	text-align: center;
	overflow: hidden;
	padding-top: 1rlh;
}
#heroimage img {
	display: block;
	margin-inline: auto;
}
.home .intro h2 {
	margin-top: 0;
	text-align: center;
	padding: 0;
	background: none;
}

/* article */
figure + figure {
	margin-top: var(--base_margin_large);
}
figcaption {
	text-align: center;
	margin-top: 10px;
  font-size: 0.9375rem;
}
:is(.alignleft, .alignright) figcaption {
  margin-top: 0;
  text-align: left;
}
figure img {
	display: block;
}
figure.article_image img {
	max-width: min( 100%, 490px);
	margin-inline: auto;
}

.icon_outlink {
	flex-shrink: 0;
}
.icon_outlink::before {
	content: '';
	display: inline-block;
	vertical-align: text-bottom;
	width: 1em;
	height: 1em;
	background: url(../images/icon_outlink.svg) left bottom/contain no-repeat;
	filter: invert(1);
	margin-inline: .2em;
}
.icon_outlink.circle {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	margin-left: 13px;
	aspect-ratio: 1;
	border-radius: 100%;
	background-color: var(--color_black);
}
.icon_outlink.circle::before {
	width: 18px;
	height: 18px;
	display: block;
	filter: invert(0);
	margin: 0;
}

/* col */
.col,
.col2,
.col3,
.col4,
.col_full,
.gallery-columns-2,
.gallery-columns-3,
.gallery-columns-4 {
	--el_gap: 16px;
	display: flex;
	justify-content: space-between;
	padding: 0;
	list-style: none;
	align-items: stretch;
	width: 100%;
	gap: var(--el_gap);
	flex-direction: row;
}
.col2,
.col3,
.col4,
.gallery-columns-2,
.gallery-columns-3,
.gallery-columns-4 {
	flex-wrap: wrap;
}
.col2,
.gallery-columns-2 {
	--el_col: 2;
	--el_gap: var(--base_margin_narrow);
}
.col3,
.gallery-columns-3 {
	--el_col: 3;
}
.col4,
.gallery-columns-4 {
	--el_col: 4;
}
.card_list {
	--el_gap: calc( var(--base_margin)/3*4 );
}
.col2 > *,
.gallery-columns-2 > *,
.col3 > *,
.col3::after,
.col3::before,
.gallery-columns-3 > .gallery-item,
.gallery-columns-3::after,
.gallery-columns-3::before,
.col4 > *,
.col4::before,
.col4::after,
.gallery-columns-4 > .gallery-item,
.gallery-columns-4::before,
.gallery-columns-4::after {
	width: calc( (100% - var(--el_gap)*(var(--el_col) - 1) )/var(--el_col) );
	margin-block: 0 !important;
}
.col_full > * {
	width: 100%;
}
.col.center,
.col2.center,
.col3.center,
.col4.center {
	justify-content: center;
}
.col3:not(.center)::after,
.col3:not(.center)::before,
.col4:not(.center)::before,
.col4:not(.center)::after,
.gallery-columns-3::before,
.gallery-columns-3::after,
.gallery-columns-4::before,
.gallery-columns-4::after {
	content: '';
	display: block;
}
.col3:not(.center)::before,
.col4:not(.center)::before,
.gallery-columns-3:not(.center)::before,
.gallery-columns-4:not(.center)::before {
	-ms-flex-order: 1;
	-webkit-order: 1;
	order: 1;
}
.col3:has(li:nth-child(3n):last-child)::before,
.col3:has(li:nth-child(3n-1):last-child)::before,
.col3:has(li:nth-child(3n):last-child)::after {
    content: none;
}
.col > * >:last-child,
.col2 > * >:last-child,
.col3 > * >:last-child,
.col4 > * >:last-child,
.col_full > * >:last-child,
.gallery-columns-3 > * >:last-child,
.gallery-columns-4 > * >:last-child {
	margin-bottom: 0;
}
.col > *:first-child,
.col > .content > *:first-child,
.box > .content > *:first-child {
	margin-top: 0;
}
.col > *:last-child,
.col > .content > *:last-child,
.box > .content > *:last-child {
	margin-bottom: 0;
}
.col img,
.col2 img,
.col3 img,
.col4 img,
.col_full img,
.gallery img {
		vertical-align: bottom;
}

/* gallery */
.gallery img {
	border-radius: var(--radius);
}
.gallery-columns-1 {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.gallery-columns-2 {
	gap: var(--base_margin);
}
.gallery-columns-2:has( >*:nth-child(even):last-child ) {
	justify-content: center;
}

/* メディアクエリ */
@media all and ( max-width: 1280px ) {
}
@media all and ( min-width: 1025px ) { /* メニュー折りたたみ */
	.sp
	{
		display: none !important;
	}
}
@media all and ( max-width: 1024px ) { /* メニュー折りたたみ */
	.pc {
			display: none !important;
	}
	/* 小さい画面のみ visually-hidden */
	.sp_skip {
		position: absolute;
	}

	.sp_skip:not(:focus) {
		clip: rect(1px, 1px, 1px, 1px);
		height: 1px;
		overflow: hidden;
		white-space: nowrap; /* added line */
		width: 1px;
	}
	.sp_skip:focus {
		display: inline-block;
		padding: 5px 10px;
		background-color: #fff;
		color: #333;
		text-decoration: none;
		z-index: 9999999;
	}

	:root {
		--content_padding: 7.5vw;
	}
	.contact_banner p:has(img.alignleft),
	.contact_banner p:has(img.alignright) {
		display: none !important;
	}
	/* site-header */
	#site-header {
		padding-block: 0;
	}
	#site-header .content {
		grid-template-areas:
			"logo tel nav"
		;
		grid-template-columns: 1fr auto auto;
		gap: var(--base_margin);
		padding-block: 12px;
	}
	#site-header .tel {
		display: block;
		width: max-content;
	}
	#site-header #nav-content {
		margin: 0;
	}
	#site-header .label {
		font-size: max(.556rem, calc(.3rem + 1vw )); /* 10 */
	}

	/* mainmemu */
	.menu_bttn {
		--el_color_bg: transparent;
		--el_color: inherit;
		display: flex;
		flex-direction: column;
		min-width: auto;
		height: auto;
		font-size: 12px;
		white-space: nowrap;
		position: relative;
		z-index: 1000;
		margin: 0;
		padding: 0 ;
		background: none !important;
		border-radius: 0;
		color: var(--color_txt) !important;
		border: none !important;
	}
	.menu_bttn .icon {
		--el_padding: 11px;
		position: relative;
		width: var(--menu_icon_width);
		height: auto;
		aspect-ratio: 1;
		border-radius:  var(--menu_icon_width);
		margin: auto auto;
    display: block;
		background-color: var(--color_bg_dark);
		color: var(--color_bg_dark_txt);
	}
	.menu_bttn .icon span,
	.menu_bttn .icon::before,
	.menu_bttn .icon::after {
		position: absolute;
		content: '';
		display: block;
		width: calc( 100% - var(--el_padding)*2 );
		height: var(--menu_icon_border_bold);
		transition: 0.3s;
		background-color: var(--color_bg);
		margin: auto;
		left: var(--el_padding);
		right: var(--el_padding);
		margin-top: var(--el_padding);
	}
	.menu_bttn .icon::before {
		top: 0;
	}
	.menu_bttn .icon span {
		top: calc(var(--menu_icon_border_bold) + var(--menu_icon_border_margin) );
	}
	.menu_bttn .icon::after {
		top: calc(var(--menu_icon_border_bold)*2 + var(--menu_icon_border_margin)*2 );
	}
	.menu_bttn .txt {
	}
	.menu_bttn[aria-expanded=true] .icon::before,
	.menu_bttn[aria-expanded=true] .icon::after {
		transform: rotate(45deg);
		top: calc( var(--menu_icon_border_top)/1.4142 ) ;
	}
	.menu_bttn[aria-expanded=true] .icon::after {
		transform: rotate(-45deg);
	}
	.menu_bttn[aria-expanded=true] .icon span,
	.menu_bttn[aria-expanded=true] .txt .close,
	.menu_bttn[aria-expanded=false] ~ #bg_mainmenu,
	.menu_bttn[aria-expanded=false] .txt .open,
	.menu_bttn[aria-expanded=false] ~ #wrapper_mainmenu,
	#headermenu {
		display: none;
	}
	/* -- メニュー展開時 */
	html:has(.menu_bttn[aria-expanded=true]),
	body:has(.menu_bttn[aria-expanded=true]) {
		height: 100%;
/*		overflow: hidden;*/
	}
	body:has(.menu_bttn[aria-expanded=true]) main,
	body:has(.menu_bttn[aria-expanded=true]) aside,
	body:has(.menu_bttn[aria-expanded=true]) footer {
		display: none !important;
	}

	.menu_bttn[aria-expanded=true] ~ #bg_mainmenu {
		position: absolute;
		top: 100%;
		left: 0;
		right:0 ;
		z-index: 0;
		width: 100%;
		height: 100vh;
		background-color: var(--color_bg_pale);
	}
	.menu_bttn[aria-expanded=true] ~ #wrapper_mainmenu {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: 100%;
		overflow: auto;
	}
	#global-navigation-header {
		display: flex;
		flex-wrap: wrap;
		padding: var(--base_margin) var(--content_padding);
		background-color: var(--color_bg_pale);
	}
	#global-navigation-header > * {
		width: 100%;
	}

}
@media all and ( max-width: 800px ) {
	:root {
		--content_padding: 5vw;
	}
}
@media all and ( min-width: 741px ) {
	/* col */
	.col > .auto,
	.col2 > .auto,
	.col2 > .thumb {
		flex: 1;
	}
	.col2 > .thumb {
		margin-bottom: 0;
	}
	.col > *:not(.auto) {
		width: auto;
	}
	.col.reverse {
		flex-direction: row-reverse;
	}
	/* dangumi */
	.dangumi2 {
		column-count: 2;
		column-gap: calc(var(--content_padding)*.6);
	}
	.dangumi2 > * {
		break-inside: avoid;
	}
	.border_table th {
		white-space: nowrap;
	}
}
@media all and (max-width: 740px) {
	:root {
		--content_padding: 5vw;
		--base_margin: var(--content_padding);
	}
	/* font */

	/* col */
	.col_full,
	.col,
	.wp-block-group.person_profile > .wp-block-group__inner-container {
		flex-wrap: wrap;
	}
	.col_full > * {
		margin: 0 0 var(--base_margin_narrow);
		width: calc( 50% - 10px );
	}
	.col3,
	.gallery-columns-3 {
		--el_col: 2;
	}
	.col4,
	.gallery-columns-4 {
		--el_col: 3;
	}
	.border_table tr,
	.border_table th,
	.border_table td {
		display: block;
		width: 100%;
	}

	.news_list > li,
	.news_list.border_list:not(:has(a:only-child)) > li {
		flex-direction: column;
		row-gap: calc( var(--base_margin)/5 );
	}

	/* col */
	.col2 > .auto,
	.col2 > * {
		width: 100% !important;
	}
	.col2 .thumb {
		text-align: center;
	}
	.col2.bttns {
		flex-wrap: wrap;
	}
}
@media all and (min-width: 641px) {
	#heroimage {
	}
}
@media all and (max-width: 640px) {
	#heroimage img {
		width: 100%;
		margin-bottom: var(--base_margin);
	}
	main h2 {
		border-radius: 0;
		width: 100cqw;
		margin-inline: calc(50% - 50cqw) ;
	}
	#page-header + h2 {
		margin-top: 0;
	}
	.home .intro h2 {
		width: 100%;
		margin-inline: auto;
	}

	.col4,
	.gallery-columns-4 {
		--el_col: 2;
	}
}
@media all and (max-width: 520px) {
	:root {
		--content_padding: 4vw;
	}
	/* font-size */
	#page_title,
	#content_title,
	.home .intro h2,
	.home .intro strong,
	.home main h2,
	.icon_heading,
	.home .intro .icon_heading,
	.full_banner h2 {
		font-size: 1.625rem; /* 26 */
	}
	h5,
	.content_list a,
	.index_list .label,
	.home .intro,
	.home .intro .caption,
	.content_list .label {
		font-size: 1rem;
	}

	#page-header,
	#content > h1:first-of-type,
  #page-header:has(.header_point:not(:empty)) {
		--el_point_size: 180px;
		padding-right: var(--content_padding);
	}
	#page-header:has(.header_point) {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	#page-header .header_point {
		display: block;
		position: static;
		transform: none;
	}
	#page-header .header_point:empty {
		display: none !important;
	}

	.border_list > li {
		display: flex;
		flex-direction: column;
	}
	.border_list .thumb:not(:empty) {
		margin-top: 8px;
		margin-inline: auto;
	}


	/* col */
	.col2,
	.gallery-columns-2,
	.col3,
	.gallery-columns-3,
	.col4,
	.gallery-columns-4 {
		--el_col: 1;
	}
	footer .link_list {
		--el_col: 2;
	}
	.col > * {
		width: 100% !important;
	}
	.col2 .thumb {
		text-align: center;
	}
	.col3::before,
	.col3::after,
	.col4:before,
	.col4::after,
	.gallery-columns-3::before,
	.gallery-columns-3::after,
	.gallery-columns-4:before,
	.gallery-columns-4::after {
			content: none;
	}
	.col > * {
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.col img {
		display: block;
		margin: 25px auto;
	}
}

/* dashi */
div.dashi_pagepart_wrapper a.edit_link {
	color: #086408 !important;
}
.dashi_pagepart_wrapper .dashi_pagepart_wrapper .edit_link {
	bottom: 1lh;
}
div.dashi_pagepart_wrapper:has(a.edit_link) {
	padding-bottom: 1lh;
}

dl.search_results dt span.link2archive {
	display: none;
}

dl.flat{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	flex-wrap: wrap;
}
.flat.w11 dt{
	width: 11em;
}
.flat.w11 dd{
	padding: 0;
	margin: 0;
	width: calc(100% - 11em - 1rem);
}


.org_list{
    display: flex;
    gap: 2rem;
    list-style: none;
    margin: 0 auto;
    justify-content: flex-start;
}
.org_list ::before,
.org_list ::after{
    background: #999;
    position: absolute;
    content: '';
}
.org_list li{
    margin: 0 !important;
    padding: 0;
    position: relative;
}
.org_list p{
    display: none;
}
.org_list a{
    text-decoration: none;
}
.org_list>li:nth-of-type(1) a{
    background: #f1eeec;
	border-radius: 5px;
    margin: 0 auto;
    padding: 1rem;
    display: flex;
    width: 200px;
    justify-content: center;
    gap: 0.5rem;
}
.org_list>li:nth-of-type(1) a>.like_a{
    align-items: center;
    justify-content: center;
    display: flex;
    padding:0.5rem 1rem;
    width: 2.5rem;
}
div.fuk,
.org_list li:nth-of-type(2) ul{
    display: flex;
    gap: 0.5rem;
    flex-direction: column;
}

.org_list>li:nth-of-type(2) li a,
.org_list li:nth-of-type(2) a,
.org_list li .like_a{
    padding:0.5rem 1rem;
	border-radius: 5px;
    display: flex;
	justify-content: space-between;
	gap: 1rem;
    color: #fff;
    background: #4C3D41;
}
.org_list>li:nth-of-type(2)>ul>li>a,
.org_list>li:nth-of-type(2) .like_a{
    background: #008468;

}
.org_list>li:nth-of-type(2)>ul>li>a::after{
	content: '>' !important;
	order:2;
	position: relative !important;
	background: transparent;
}

.org_list li ul li{
    padding: 0;
    overflow: visible;
}
.org_list li ul li::before{
    display: none;
}
.org_list>li:nth-of-type(1) a::after{
    width: 1rem;
    height: 2px;
    right: -1rem;
    top: 6.75rem;
}
.org_list a:hover{
    opacity: 0.75;
}
.org_list li:nth-of-type(2) .like_a+ul::before,
.org_list li:nth-of-type(2)::after{
    width: 2px;
    height: calc(100% - 2.5rem);
    left: -1rem;
    top: 1.25rem;
}
.org_list li:nth-of-type(2) .like_a::before,
.org_list li:nth-of-type(2) a::before{
    width: 1rem;
    height: 2px;
    left: -1rem;
    top: calc(50% - 2px);
}
.org_list{
    padding: 0 0 7em;
}


.org_list li:nth-of-type(2) .like_a+ul{
    margin: 0 auto;
    padding: 0;
    position: absolute;
    top: -4.5rem;
    right: -9em;
}
.org_list li:nth-of-type(2) .like_a+ul::after{
    top: calc(50% - 2px);
    left: -2rem;
    height: 2px;
    width: 1rem;
}
.org_list li:nth-of-type(2) .like_a+ul::before{
    top: 1.25rem;
    height: calc(100% - 2.5rem);
}

@media all and (max-width: 720px){
    .org_list{
        padding: 0 0 15em;
    }

    .org_list li:nth-of-type(2) .like_a+ul{
        top: 3.5rem;
        right: 0;
    }
    .org_list li:nth-of-type(2) .like_a+ul::before{
        top: -1rem;
        height: calc(100% - 0.25rem);
    }
.org_list li:nth-of-type(2) .like_a+ul::after{
    display: none;
}
}
@media all and (max-width: 460px){
    .org_list{
        flex-direction: column;
    }
    .org_list > li:nth-of-type(1){
        max-width: 100%;
    }
    .org_list > li:nth-of-type(1) a{
        width: 100%;
    }
    .org_list > li:nth-of-type(1) a > .like_a{
        width: 5em;
    }
    .org_list > li:nth-of-type(1) a::after {
        display: none;
    }
    .org_list li:nth-of-type(2){
        align-self: flex-end;
    }
    .org_list li:nth-of-type(2)::after{
          height: calc(100% + 0.75rem);
          top: -2rem;
    }

}
.flex {
	display: flex;
	justify-content: space-between;
	align-items:flex-start;
	flex-wrap: wrap;
	gap: 2rem;
}
.flex::before,.flex::after {
	content:'';
	order: 2;
}
.flex br{
	display: none;
}
.flex.c2>*,.flex.c2::before,.flex.c2::after {
	width: calc((100% - 2rem) / 2);
}
.flex.c3>*,.flex.c3::before,.flex.c3::after {
	width: calc((100% - 4rem) / 3);
}
@media all and (max-width: 720px){

.flex.c3>*,.flex.c3::before,.flex.c3::after {
	width: calc((100% - 2rem) / 2);
}
}
@media all and (max-width: 560px){

  .flex.c2>*,.flex.c2::before,.flex.c2::after,
  .flex.c3>*,.flex.c3::before,.flex.c3::after {
    width: 100%;
  }
}
.ideaimg {
	display: block;
	margin: 1rem auto;
	width:revert-layer;
}
div.center:has(.ideaimg) {
	text-align: center;
	display: flex;
	flex-wrap: nowrap;
	padding: 0 1rem;
	gap: 0.5rem;
	justify-content: center;
	align-items: flex-start;
}
figure .ideaimg {
	margin: 0 auto;
}
figure:has(.ideaimg) figcaption {
	margin-top: 0;
	font-size: 0.8rem;
}
@media all and (max-width: 480px){
  .ideaimg {
    float: none;
    min-width: 90%;
  }
}
