@charset "utf-8";
/* head,text */
p.text,
.texts>p {
	font-size: 1rem;
	line-height: 1.875;
	text-align: left;
}
.f_small {
	font-size: 0.875rem;
}
.mb1em {
	margin-bottom: 1.875em;
}
.mb2em {
	margin-bottom: 3.75em;
}
@media screen and (min-width: 769px) {
	.pc_center {
		text-align: center !important;
	}
}
.limit_lh p {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
@media screen and (max-width: 768px) {
	p.text,
	.texts>p {
		font-size: 1rem;
	}
}
/* Link */
:root :is(.btn,.wp-block-button__link,.smf-action button) {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.25em;
	width: min(206px, 100%);
	min-height: 58px;
	font-size: 1.25rem;
	font-family: inherit;
	font-weight: 400;
	color: var(--whitecolor) !important;
	background: var(--keycolor) !important;
	border: 1px solid var(--keycolor);
	border-radius: 2em;
	padding: 0.5em 1.5em 0.5em 1em;
	transition: var(--hover);
	text-decoration: none;
	cursor: pointer;
	translate: 0 0;
	flex-direction: column;
	text-align: center;
	letter-spacing: 0;
}
:root :is(.btn,.wp-block-button__link,.smf-action button)::after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: solid 2px var(--whitecolor);
	border-right: solid 2px var(--whitecolor);
	position: absolute;
	inset: 0 1em 0 auto;
	margin: auto;
	transform: rotate(45deg);
}
:root .btn.white {
	color: var(--keycolor) !important;
	background: var(--whitecolor) !important;
}
:root .btn.white::after {
	border-top: solid 2px var(--keycolor);
	border-right: solid 2px var(--keycolor);
}
:root .btn.list-btn {
	margin-top:5em;
	margin-inline:auto;
}
:root .btn.contact-btn {
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 0.5em;
	border-radius: 0.5em;
	font-size: 0.875rem;
	width: 12.715em;
	height: 3.8578em;
	font-weight: 600;
}
:root .btn.contact-btn::after {
	content: none;
}
@media (any-hover: hover) {
	:root :is(.btn,.wp-block-button__link,.smf-action button):hover {
		--whitecolor: #22a0e1;
		--keycolor: #ffffff;
		border: 2px solid var(--whitecolor);
	}
}
:root .style_news li article a{
	display: block;
	padding: 2.5em 6em 2.5em 2em;
	border-bottom: 1px solid #c6c6c6;
	position: relative;
	z-index: 0;
	color: inherit;
}
body:not(.home) .style_news li article a{
	padding-block:1.5em;
}
:root .style_news li:last-child article a{
	border-bottom: none;
}
:root .style_news li article a time {
	display: block;
	margin-bottom: 1.25em;
}
:root .style_news li article a span {
	font-weight: 500;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
:root .style_news li article a i{
	position: absolute;
	right: 2%;
	top: 50%;
	transform: translateY(-50%);
	width: 66px;
	height: 66px;
	border-radius: 50%;
	background-color: #219bdc;
	display: block;
	transition: background-color 0.3s ease;
	margin: 0;
}
:root .style_news li article a i::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 45%;
	width: 10px;
	height: 10px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: translate(-50%, -50%) rotate(45deg);
}
@media (any-hover: hover) {
	:root .style_news li article a:hover{
		background: #22a0e11c;
	}
}
@media screen and (max-width: 768px){
	:root .style_news li article a{
		padding: 2em 4em 2em 1.5em;
	}
	:root .style_news li article a time {
		margin-bottom: 0.5em;
	}
	:root .style_news li article a i{
		right: 10px;
		width: 34px;
		height: 34px;
	}
	:root .style_news li article a i::after {
		left: 46%;
		width: 6px;
		height: 6px;
	}
}
/*	パンくずリスト	*/
#pan {
	position: relative;
	z-index: 2;
	margin-top: 1.625rem;
	margin-bottom: 4.125rem;
	overflow: hidden;
}
#pan ol {
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0;
	font-size: 0;
	overflow-y: hidden;
	overflow-x: auto;
}
#pan li,
#pan li * {
	display: inline-block;
	vertical-align: middle;
	font-size: 0.875rem;
	text-transform: uppercase;
	white-space: nowrap;
	margin: 0;
}
#pan li::after {
	display: inline-block;
	vertical-align: middle;
	content: "\002F";
	margin-left: 0.25em;
}
#pan li:not(:last-child) {
	margin-right: 0.25em;
}
#pan li:last-child::after {
	display: none;
}
#pan li * {
	display: inline-flex;
	justify-content: flex-start;
	align-items: center;
}
#pan li a {
	text-decoration: underline;
}
@media (hover: hover) and (pointer: fine),
(hover: none) and (pointer: coarse) {
	#pan li a:hover {
		text-decoration: none;
	}
}
@media only screen and (max-width: 767px) {
	#pan {
		z-index: 10;
		margin-top: 1em;
		margin-bottom: 2.5em;
		padding: 0;
		margin-inline: var(--inner);
	}
	#pan:after,
	#pan li:last-child:after {
		position: absolute;
		z-index: 10;
		content: "";
		display: block;
		top: 0;
		bottom: 0;
		right: 0;
		width: 0.75em;
		background: #000;
		background: linear-gradient(-90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0) 50%);
	}
	#pan li:last-child {
		position: relative;
		padding-right: 0.75em;
		margin-right: 0;
		flex-grow: 1;
	}
	#pan li:last-child:after {
		z-index: 20;
		top: -1em;
		bottom: -1em;
		background: var(--whitecolor);
	}
}
/*	ページャー	*/
.pager_style {
	text-align: center;
	padding: 30px 0 0 0;
}
.pager_style li {
	width: 40px;
	border: 1px solid #BBBBBB;
	background: var(--whitecolor);
	display: inline-block;
	margin: 0 0 10px 0;
}
.pager_style li:hover {
	background: #024384;
}
.pager_style li.on {
	background: #024384;
}
.pager_style li a {
	font-size: 16px;
	text-decoration: none;
	display: block;
	padding: 8px 0;
}
.pager_style li.on a {
	color: var(--whitecolor);
}
.pager_style li a:hover {
	color: var(--whitecolor);
}
.pager_style li.prev {
	margin: 0 10px 0 0;
}
.pager_style li.next {
	margin: 0 0 0 10px;
}
@media screen and (max-width: 768px) {
	.pager_style li {
		width: 30px;
	}
	.pager_style li a {
		font-size: 12px;
		padding: 6px 0;
	}
	.pager_style li.prev,
	.pager_style li.next {
		margin: 0;
	}
}
/*	モーダル	*/
.modal-content {
	width: 80%;
	max-width: 1240px;
	margin: 0px;
	padding: 10px 20px;
	background: none;
	position: fixed;
	display: none;
	z-index: 1020;
}
#modal-overlay {
	z-index: 1000;
	display: none;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 120%;
	background-color: rgba(0, 0, 0, 0.66);
}
.modal_tit {
	position: fixed;
	top: 0px;
	left: 0px;
	right: 0px;
	margin: auto;
	max-width: 250px;
	text-align: center;
	line-height: normal;
	font-size: 20px;
	z-index: 1025;
	overflow: hidden;
	padding: 0px 30px;
	color: var(--whitecolor);
}
.modal_tit span {
	display: block;
	position: relative;
	padding: 10px 0px;
	background: rgb(0, 0, 0);
	z-index: 2;
	border-bottom: 1px solid rgb(255, 255, 255);
}
.modal-content .close_btn {
	position: absolute;
	top: -5%;
	right: 15px;
	color: rgb(255, 255, 255);
	font-size: 40px;
	line-height: 1;
	display: block;
	cursor: pointer;
	text-underline-offset: 4px;
}
.modal-content .modal_whole {
	background: var(--whitecolor);
	padding: 3em 3em;
	overflow: auto;
	max-height: 80vh;
	text-align: left;
	overscroll-behavior: contain;
}
@media screen and (max-width: 768px) {
	.modal-content {
		width: 100%;
		padding: 30px 15px 15px;
		box-sizing: border-box;
	}
	.modal-content .modal_whole {
		padding: 2em 1em;
		overflow: auto;
		max-height: 70vh;
		text-align: left;
	}
	.modal-content .close_btn {
		font-size: 2em;
		top: -1%;
		right: 10px;
	}
}
/*	タブ切替	*/
.tab_change .controller input[type="radio"] {
	appearance: none;
	border: none;
	background: none;
	outline: none;
}
.tab_change .tab_content {
	overflow: hidden;
	opacity: 0;
	max-height: 0;
	z-index: -10;
	visibility: hidden;
	transition: opacity .4s;
}
.tab_change:has(.controller input[id$="01"]:checked) .tab_table div[class$="01"],
.tab_change:has(.controller input[id$="02"]:checked) .tab_table div[class$="02"],
.tab_change:has(.controller input[id$="03"]:checked) .tab_table div[class$="03"],
.tab_change:has(.controller input[id$="04"]:checked) .tab_table div[class$="04"],
.tab_change:has(.controller input[id$="05"]:checked) .tab_table div[class$="05"],
.tab_change:has(.controller input[id$="06"]:checked) .tab_table div[class$="06"],
.tab_change:has(.controller input[id$="07"]:checked) .tab_table div[class$="07"],
.tab_change:has(.controller input[id$="08"]:checked) .tab_table div[class$="08"],
.tab_change:has(.controller a) .tab_content {
	opacity: 1;
	z-index: 10;
	visibility: visible;
	max-height: fit-content;
	overflow: visible;
	width: 100%;
}
.tab_change .controller {
	display: flex;
	margin: 0 auto 2em;
	flex-wrap: wrap;
	gap: 2em;
}
.tab_change .controller :is(label, a) {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	border-bottom: solid 1px var(--dgray);
	background: transparent;
	font-weight: 500;
	font-size: 1.125rem;
	line-height: 1.1;
	text-align: left;
	padding-block: 0.5em;
	padding-left: 1.0em;
	transition: var(--hover);
	min-width: 170px;
	position: relative;
	color: var(--dgray);
}
.tab_change .controller a:hover,
.tab_change .controller a.current,
.tab_change .controller label:has(:checked) {
	text-decoration-color: transparent;
}
.tab_change .controller :is(label, a)::before {
	content: "";
	display: block;
	height: 6px;
	width: 6px;
	position: absolute;
	z-index: 1;
	inset: 0 auto 0 0;
	border: solid 1px #9ea7a5;
	border-radius: 50%;
	margin: auto;
	transition: background .4s, border-color .4s;
}
.tab_change .controller :is(label, a)::after {
	content: "";
	display: block;
	height: 2px;
	width: 0%;
	position: absolute;
	z-index: 1;
	inset: auto 0 0 0;
	background: var(--keycolor);
	transition: width .2s;
}
.tab_change .controller :is(a, label) {
	width: auto;
}
.tab_change .controller :is(a.current, a:hover, label:has(:checked)) {
	color: var(--keycolor);
}
.tab_change .controller :is(a.current, a:hover)::before,
.tab_change .controller label:has(:checked)::before {
	background: var(--keycolor);
	border-color: var(--keycolor);
}
.tab_change .controller :is(a.current, a:hover, label:has(:checked))::after {
	width: 100%;
}
body:not(.home) .tab_change .controller {
	margin-block: 2em;
}
body:not(.home) .tab_change .tab_table {
	margin-inline: auto;
}
.tab_change .tab_content:has(.pulldown) {
	display: flex;
	justify-content: space-between;
	gap: 3em;
}
.tab_change .pulldown .select_wrap {
	position: relative;
	z-index: 2;
	width: fit-content;
	background: var(--whitecolor);
}
.tab_change .pulldown .select_wrap::after {
	content: "";
	display: block;
	height: 0.45em;
	aspect-ratio: 1 / 1;
	border-top: solid 1px;
	border-right: solid 1px;
	transform: rotate(135deg) skew(5deg, 5deg);
	position: absolute;
	right: 1em;
	top: calc(50% - 0.4em);
}
.tab_change .pulldown select {
	appearance: none;
	font-size: 1rem;
	border: none;
	padding: 1em 2em 1em 1em;
	width: 180px;
	background: transparent;
	cursor: pointer;
	color: inherit;
}
.tab_change .tab_table {
	margin-inline: calc(50% - 50vw);
}
.tab_change .data {
	max-width: var(--container);
	margin-inline: auto;
}
.tab_change .btn_area a {
	margin-inline: auto;
}
.tab_change .tab_content:has(.pulldown) .tab_result {
	flex-grow: 1;
	max-width: 942px;
}
.tab_change .tab_result :is(h2, h3) {
	font-size: 1.75rem;
	font-weight: 700;
	margin-bottom: 1em;
}
.tab_result label[for^="view-more"] {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-inline: auto;
	width: fit-content;
	padding: 0.5em 2em 0.5em 0;
	border-bottom: solid 1px;
	transition: background .4s, color .4s;
	font-size: 1.1275rem;
	letter-spacing: 0.1em;
	position: relative;
}
.tab_result label[for^="view-more"] span {
	display: flex;
	gap: 0.5em;
	align-items: center;
	transition: 0.3s;
	max-height: fit-content;
	overflow: hidden;
}
.tab_result label[for^="view-more"]::after {
	content: "";
	display: block;
	width: 0.35em;
	height: 0.35em;
	border-top: solid 2px;
	border-right: solid 2px;
	transform: rotate(135deg);
	position: absolute;
	right: 0.75em;
	top: 0.875em;
	margin: auto;
	z-index: 1;
	transition: top .3s;
}
.tab_result input[id^="view-more"] {
	appearance: none;
	border: none;
	width: 0;
	height: 0;
	background: none;
	outline: none;
}
.tab_result label[for^="view-more"]:hover {
	background: var(--whitecolor);
}
.tab_result label[for^="view-more"]:has(input:checked) {
	opacity: 0;
	pointer-events: none;
	max-height: 0;
	padding: 0;
}
.tab_result label[for^="view-more"]:hover span {
	transform: translateX(0.5em);
}
.tab_result label[for^="view-more"]:hover::after {
	top: 1.1em
}
.tab_result:has(input[id^="view-more"]) .news_list>*:nth-child(n+6) {
	display: none;
}
.tab_result:has(input[id^="view-more"]:checked) .news_list>*:nth-child(n+6) {
	display: block;
}
@media screen and (max-width: 1410px) {
	.tab_change .controller {
		gap: 1.25em;
	}
	.tab_change .controller :is(label, a) {
		min-width: 6em;
	}
}
@media screen and (max-width: 767px) {
	.tab_change .controller {
		justify-content: flex-start;
		gap: 0.75em;
	}
	.tab_change .controller :is(label, a) {
		font-size: 1rem;
		width: 90px;
		min-height: 30px;
	}
	.tab_change .tab_content:has(.pulldown) {
		flex-direction: column;
		gap: 2em;
	}
}
/*snow-monkey-form*/
:root .snow-monkey-form {
	margin-block: 2em 0;
}
:root .snow-monkey-form .smf-item__label {
	font-size: 1rem;
	margin-block: 0;
}
:root .snow-monkey-form .smf-item__label .smf-item__label__text {
	display: flex;
	align-items: center;
	gap: 0.5em;
	font-weight: 600;
}
:root .snow-monkey-form a {
	color: var(--key);
	text-decoration: underline solid 1px;
}
:root .snow-monkey-form a:hover {
	text-decoration-color: transparent;
}
:root .snow-monkey-form .smf-action {
	margin-block: 3em 0;
	text-align: center;
}
.snow-monkey-form .smf-item {
	padding: 1rem 0;
	border-bottom: 1px solid #cdd0d2;
}
.snow-monkey-form .smf-item:last-child {
	border-bottom: none;
}
.smf-form--simple-table .smf-item {
	display: flex;
}
.smf-placeholder[data-name="your-doui"] {
	margin-block: 1em;
}
.smf-form .smf-radio-buttons-control--horizontal .smf-radio-buttons-control__control>.smf-label {
	display: inline-block;
	margin-right: 1em;
	margin-top: 0;
}
.smf-form .birth-wrap:not(.is-not-stacked-on-mobile)>.wp-block-column,
.smf-form .birth-wrap>.wp-block-column {
	flex-basis: auto;
	flex-grow: 0;
}
.snow-monkey-form .smf-item.no-form {
	border-bottom: none !important;
	padding: 0;
}
.snow-monkey-form .smf-item__col--label {
	max-width: 190px;
	flex: 100%;
}
.smf-form .smf-item .smf-item__col--label {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 100%;
	max-height: 3.5em;
	flex: 280px;
	width: 280px;
	padding-right: 5em;
	box-sizing: border-box;
}
.smf-form .smf-item .smf-item__description {
	display: inline-block;
	font-size: 0.875rem;
	font-weight:500;
	line-height: 1;
	color: #fff;
	background: #e60012;
	border-radius:3px;;
	padding: 0.35em 0.5em 0.5em;
	margin: 0;
}
.snow-monkey-form .smf-item__col--controls {
	max-width: calc(100% - 280px);
	flex: 100%;
	margin-top: 0;
	/* min-height: 3.5em; */
}
.snow-monkey-form .smf-item .smf-radio-button-control__control {
	display: none;
}
.smf-form--simple-table .smf-item--divider .smf-item__col {
	max-width: none;
}
.snow-monkey-form input,
.snow-monkey-form select {
	font-family: "Noto Sans JP", serif;
}
.snow-monkey-form .smf-form .smf-item .smf-text-control__control,
.snow-monkey-form input[type="search"],
.snow-monkey-form input[type="email"],
.snow-monkey-form input[type="tel"],
.snow-monkey-form input[type="number"],
.snow-monkey-form input[type="password"],
.snow-monkey-form .smf-form .smf-item .smf-textarea-control__control {
	appearance: none;
	-webkit-appearance: none;
	background: #fff;
	margin: 0;
	border: #cdd0d2 solid 1px;
	display: block;
	width: 100%;
	height: 2.875em;
	line-height: 2.875em;
	padding: 0 1em;
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 0 !important;
	border-radius: 0;
}
.snow-monkey-form input[type="date"] {
	max-width: 170px;
}
.smf-form .smf-item .smf-select-control,
.smf-form .smf-item .smf-select-control__control {
	width: 100%;
	height: 2.875em;
	line-height: 2.875em;
	padding: 0 2em 0 1em;
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 0 !important;
	border-radius: 0;
}
.smf-form .smf-item .smf-select-control:has(.control-short) {
	width: 30%;
}
.smf-form .smf-item .smf-select-control {
	padding: 0;
	background: #fff;
}
.snow-monkey-form input::placeholder,
.snow-monkey-form textarea::placeholder {
	color: #a2a0a0;
}
.snow-monkey-form .smf-form .smf-item .smf-textarea-control__control {
	height: auto;
	padding: 0.5em 1em;
	line-height: 1.4em;
}
.smf-form .smf-item .smf-select-control__control:active,
.smf-form .smf-item .smf-select-control__control:focus,
.smf-form .smf-item .smf-select-control__control:focus-within,
.smf-form .smf-item .smf-select-control__control[aria-selected=true] {
	border-color: #000;
}
.smf-form .smf-item .smf-select-control__toggle:before,
.smf-form .smf-item .smf-select-control__control:focus+.smf-select-control__toggle:before {
	border-color: #000;
}
.snow-monkey-form[data-screen="confirm"] .smf-item.required-box .smf-item__description {
	display: none;
}
#autozip {
	display: none !important;
}
/*radio,checkbox*/
.snow-monkey-form label {
	cursor: pointer;
}
.smf-form .smf-item .smf-checkboxes-control__control>.smf-label {
	margin-right: 0.5em;
	margin-bottom: 0.5em;
}
.smf-form .smf-item.check_center .smf-checkboxes-control__control>.smf-label {
	text-align: center;
	margin-top: 1.5em;
}
.smf-form .smf-item .smf-radio-control__control,
.smf-form .smf-item .smf-checkbox-control__control {
	display: none;
}
.smf-form input.smf-checkbox-control__control {
	display: none;
}
.smf-checkboxes-control__control:has(input[name="your-doui[]"]) {
	margin-top: 0.5em;
	text-align: center;
}
.smf-form .smf-item .smf-select-control__toggle {
	background: transparent;
}
.snow-monkey-form input[type="radio"]+span,
.snow-monkey-form input[type="checkbox"]+span {
	display: inline-block;
	padding: 0.25em 0.25em 0.25em 1.875em;
	position: relative;
	margin-top: 0;
}
.snow-monkey-form input[type="radio"]+span {
	padding-left: 1.75em;
}
.snow-monkey-form label input[type="radio"]+span:before,
.snow-monkey-form label input[type="checkbox"]+span:before,
.snow-monkey-form label input[type="radio"]+span:after,
.snow-monkey-form label input[type="checkbox"]+span:after {
	content: "";
	display: inline-block;
	width: 1.375rem;
	height: 1.375rem;
	border: solid 1px #cdd0d2;
	border-radius: 2px;
	position: absolute;
	left: 0;
	top: 5px;
	transition: opacity .2s;
}
.snow-monkey-form label input[type="radio"]+span:before,
.snow-monkey-form label input[type="checkbox"]+span:before {
	background-color: #fff;
}
.snow-monkey-form label input[type="checkbox"]+span:after {
	border: none;
	width: 1rem;
	height: 0.5rem;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	transform: rotate(135deg);
	top: 10px;
	left: 3px;
	opacity: 0;
}
.snow-monkey-form label input[type="radio"]+span:before {
	border-radius: 50%;
	width: 24px;
	height: 24px;
	top: 0.25em;
}
.snow-monkey-form label input[type="radio"]+span:after {
	border-radius: 50%;
	width: 16px;
	height: 16px;
	border: none;
	background: var(--keycolor);
	top: 8px;
	left: 4px;
	opacity: 0;
}
.snow-monkey-form label input[type="radio"]:checked+span:before {
	border-color: var(--keycolor);
}
.snow-monkey-form label input[type="checkbox"]:checked+span:before {
	border-color: var(--keycolor);
	background: var(--keycolor);
}
.snow-monkey-form label input[type="radio"]:checked+span:after,
.snow-monkey-form label input[type="checkbox"]:checked+span:after {
	opacity: 1;
}
/*smf-button-control__control*/
.smf-action {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 5%;
	margin-top: 2em
}
.smf-action>* {
	margin-top: 0;
}
.smf-action .smf-button-control {
	width: 330px;
}
.smf-action .smf-button-control button {
	width: 100%;
}
.smf-action .smf-button-control:has(button) {
	margin: 0 auto;
}
@media screen and (max-width:767px) {
	.snow-monkey-form .smf-item {
		padding: 1em 0;
	}
	.smf-form--simple-table .smf-item {
		display: block;
	}
	.smf-form .smf-item .smf-item__col--label {
		justify-content: flex-start;
		gap: 3%;
		margin-bottom: 0.75em;
		padding-bottom: 0;
		padding-right: 0;
		width: 100%;
	}
	.smf-form .birth-wrap.is-layout-flex {
		gap: 12px;
	}
	.snow-monkey-form .smf-item__col--label,
	.snow-monkey-form .smf-item__col--controls,
	.snow-monkey-form .form_harf .smf-item__col--label,
	.snow-monkey-form .form_harf .smf-item__col--controls {
		max-width: 100%;
	}
	.smf-form .smf-item .smf-select-control {
		max-width: 100%;
	}
	.smf-action {
		display: flex;
		flex-direction: column-reverse;
		flex-wrap: wrap;
	}
	.smf-action>*+* {
		margin-top: 1em;
	}
	.smf-action .smf-button-control+.smf-button-control {
		margin: 0;
	}
	.smf-action .smf-button-control__control {
		margin: 0.5em auto;
		width: 100%;
		max-width: 270px;
		border-width: 1px;
	}
	.snow-monkey-form .smf-item.privacy-box,
	.snow-monkey-form .smf-item.text-box {
		margin: 20px auto;
		padding: 20px 15px;
	}
	.snow-monkey-form .privacy-box ul li:before {
		width: 4px;
		height: 4px;
		left: 0;
		top: 0.65em;
	}
	.snow-monkey-form .sp-flex {
		gap: 0.5em;
	}
	.snow-monkey-form label input[type="radio"]+span:before {
		top: 0.375em;
		width: 18px;
		height: 18px;
	}
	.snow-monkey-form label input[type="radio"]+span:after {
		top: 8px;
		width: 12px;
		height: 12px;
		left: 3px;
	}
	.snow-monkey-form input[type="date"] {
		max-width: 100%;
		width: 100%;
		min-width: 150px;
	}
	.smf-action .smf-button-control {
		width: 100%;
	}
	:root .smf-action .smf-button-control+.smf-button-control {
		margin-left: 0;
	}
}
.table_wrap table {
	margin-inline: 0 auto;
}
.table_wrap table :is(th, td) {
	font-size: 1.125rem;
	padding: 1em 1em 1.25em;
	line-height: 1.4;
	border-bottom: 1px solid var(--bgcolor03);
	letter-spacing: 0;
}
.table_wrap table th {
	white-space: nowrap;
	border-bottom: 1px solid var(--keycolor);
	font-weight: bold;
}
.table_wrap table td {
	padding-inline: 3em;
}
.table_wrap table .caption {
	font-size: 0.875em;
	line-height: 1.6;
}
.table_wrap table *:not(.caption)+.caption {
	margin-top: 1em;
}
.table_wrap table.calendar_table {
	width: 100%;
	margin-bottom: 1em;
}
.table_wrap table.calendar_table :is(th, td) {
	font-size: 1.125rem;
	padding: 1em;
	line-height: 1.4;
}
.flex_list .table_wrap table :is(th, td) {
	padding: 0.5em 0.25em;
}
@media screen and (max-width: 767px) {
	.table_wrap table {
		width: 100%;
	}
	.table_wrap table th {
		white-space: normal;
		width: auto;
		padding: 0.75em 0.5em 1em;
		text-align: center;
		font-size: 0.814rem;
	}
	.table_wrap table td {
		padding: 0.75em 0.5em 1em;
		font-size: 1rem;
	}
	.table_wrap.break :is(table, thead, tbody, tr, th, td) {
		display: block;
		width: 100%;
		border: none;
	}
	.table_wrap.break :is(th, td) {
		font-size: 1rem;
		text-align: left;
	}
	.table_wrap.break td {
		border-top: none;
	}
	.table_wrap.break tr {
		margin-bottom: 1em;
	}
	.table_wrap.break th br {
		display: none;
	}
	.table_wrap table *:not(.caption)+.caption {
		margin-top: 1em;
	}
	.table_wrap table.calendar_table :is(th, td) {
		font-size: 0.875rem;
		padding: 1em 0.5em;
	}
	.table_wrap table.calendar_table tr:has(th:first-child + td:nth-child(2):last-child) th {
		white-space: nowrap;
	}
}
:root .container {
	max-width: 100%;
	width: calc(var(--container) + 30px);
}
:root .kaso .page-header {
	text-align: left;
	min-height: 31.5625em;
	background-image: url(../img/common/bg-image.png);
	background-position: 90% center;
	background-color: var(--bgcolor);
	background-repeat: no-repeat;
	background-size: cover;
	padding-block: var(--header) 6.25em;
}
:root .kaso .page-header-title {
	font-size: 2.625rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	color: var(--fontcolor);
}
:root .site-body {
	position: relative;
	z-index: 1;
	background: #fff;
	border-radius: 6.25em 6.25em 0 0;
	margin: 0;
	margin-top: -5.625em;
	padding: 1px 0 4em;
}
:root .single .entry {
	--vk-width-container: 1030px;
	max-width: 1000px;
	margin-inline: auto;
}
:root .entry-body :is(:is(h1, h2, h3, h4, h5, h6):not([class*="is-style-vk-heading"]), ul:not([class]), ol:not([class]), .li, p) {
	font-size: 1em;
	line-height: 1.8;
	margin: 0;
	padding: 0;
}
:root :is(.site-body .entry-body :is(h1, h2, h3, h4, h5, h6):not([class*="is-style-vk-heading"]), .sub-section-title) {
	font-weight: 700;
	margin-bottom: 1em;
	letter-spacing: 0.06em;
	line-height: 1.4;
}
:root .sub-section-title {
	margin-bottom: 0.5em !important;
}
:root .site-body h1 {
	position: relative;
	z-index: 10;
	font-size: 1.75rem;
	font-weight: bold;
	color: inherit;
	border-bottom: 1px solid #cdc6bd;
	padding-bottom: 0.5em;
}
:root .site-body .archive-header {
	margin-bottom: 1.5em;
}
:root .site-body .entry-header {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	align-items: center;
}
:root .site-body .entry-header time {
	font-size: 0.875rem;
	color: #949494;
}
:root .site-body .entry-header h1 {
	flex-basis: 100%;
}
:root .site-body .entry-body h2:first-child,
:root .site-body .entry-body .vk_spacer+ :is(h2, h3, h4, h5) {
	margin-top: 0;
}
:root .site-body .entry-body h2:not([class*="is-style-vk-heading"]) {
	border:none;
	position:relative;
	z-index:10;
	font-size:2.25rem;
	font-weight:500;
	border-bottom:3px solid #eee;
	padding-bottom:0.5em;
}
:root .site-body .entry-body h2:not([class*="is-style-vk-heading"])::after {
	position:absolute;
	z-index:10;
	inset:auto auto -3px 0;
	display:inline-block;
	content:"";
	width:3.33334em;
	height:3px;
	background:var(--keycolor);
}
:root .site-body .entry-body h3:not([class*="is-style-vk-heading"]) {
	border:none;
	font-size:1.75rem;
	font-weight:500;
	background:var(--bgcolor);
	border-radius:5px;
	padding:0.5em 1em;
}
:root .site-body .entry-body h3:not([class*="is-style-vk-heading"])::after {
	display:none;
}
:root :is(.site-body .entry-body h4:not([class*="is-style-vk-heading"]), .sub-section-title) {
	border: none;
	background:transparent;
	padding-bottom: 0;
	position:relative;
	z-index:10;
	font-size:1.5rem;
	font-weight:bold;
	padding-left:2em;
}
:root :is(.site-body .entry-body h4:not([class*="is-style-vk-heading"]), .sub-section-title)::before,
:root :is(.site-body .entry-body h4:not([class*="is-style-vk-heading"]), .sub-section-title)::after{
	position:absolute;
	z-index:10;
	display:inline-block;
	content:"";
	width:0.6071428571428571em;
	aspect-ratio:1/1;
	background:var(--keycolor);
	border: none;
	border-radius:100%;
	top:.35em;
	left:3px;
	bottom: auto;
}
:root :is(.site-body .entry-body h4:not([class*="is-style-vk-heading"]), .sub-section-title)::after{
	z-index:5;
	background:#d1ebf9;
	top:.45em;
	left:8px;
}
:root .site-body .entry-body h5:not([class*="is-style-vk-heading"]) {
	border:none;
	font-size:1.25rem;
	font-weight:bold;
	color:var(--keycolor);
}
:root .site-body .entry-body h6:not([class*="is-style-vk-heading"]) {font-size: 1.125rem;font-weight: bold;}
:root .site-body .entry-body :is(p, li, td) {
	font-weight: 400;
	letter-spacing: 0.03em;
}
:root .site-body .entry-body :is(ul:not([class]), ol:not([class])):not(:is(ul:not([class]), ol:not([class])) :is(ul:not([class]), ol:not([class]))) {
	margin-block: 1em;
}
:root .site-body .entry-body ul:is(ul:not([class]), ol:not([class])),
.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 1.5em !important;
}
:root .site-body .entry-body ol {
	margin-left: 0.5em;
}
:root .site-body .entry-body :is(ul:not([class]), ol:not([class])) li {
	line-height: 1.4;
	margin-block: 0.5em;
}
:root .site-body .entry-body ul li::marker {
	color: var(--key);
}
:root .site-body .entry-body ol li::marker {
	color: var(--accent);
	font-weight: 600;
}
:root .site-body .entry-body p {
	line-height: 1.8;
}
:root .site-body .entry-body :is(p, figure) {
	margin-block: 1em;
}
:root .site-body .entry-body :is(p, figure):first-child {
	margin-top: 0;
}
:root .site-body .entry-body :is(p, figure):last-child {
	margin-bottom: 0;
}
:root .site-body .entry-body a:not(.btn,.wp-block-button__link, .status-mark, .sb_icon_inner) {
	color: var(--keycolor);
	text-decoration: underline;
}
:root .site-body .entry-body .vk_post_title a {
	color: inherit;
	text-decoration: none;
}
:root .site-body .entry-body a:not(.btn,.wp-block-button__link):is(:hover, :focus) {
	text-decoration-color: transparent;
}
:root .site-body .entry-body table {
	margin-bottom: 0;
	border: none;
}
:root .site-body .entry-body table :is(th, td) {
	font-size: 1rem;
	padding: 1em 1em;
	border-inline: none;
	border-color: #dadada;
}
:root .site-body .entry-body table th {
	font-weight: bold;
	background: var(--lgray);
}
:root .site-body .entry-body :is(.btn,.wp-block-button__link) {
	width: fit-content;
	min-width: 296px;
	min-height: 2.9em;
	font-size: 1.25rem;
	padding: 0.5em 1.75em;
	display: inline-flex;
	opacity: 1;
	box-shadow: none;
	text-decoration: none;
	filter: none;
}
:root .site-body .entry-body .single-thumbnail img {
	min-width: min(500px, 100%);
	height: auto;
}
@media (hover: hover) and (pointer: fine),
(hover: none) and (pointer: coarse) {
	:root .site-body .entry-body :is(.btn,.wp-block-button__link):hover {
		--whitecolor: #22a0e1;
		--keycolor: #ffffff;
		border: 2px solid var(--whitecolor);
	}
}
:root .site-body iframe {
	max-width: 100%;
	max-height: 100%;
}
@media screen and (max-width:1320px) {
	:root .site-body {
		border-radius: 3.125em 3.125em 0 0;
	}
}
@media screen and (max-width:767px) {
	:root .kaso .page-header {
		background-position: right top;
		background-size: 240%;
		min-height: 20em;
	}
	:root .kaso .page-header-title {
		font-size: 2rem;
	}
	:root .site-body {
		border-radius: 2.5em 2.5em 0 0;
	}
	:root .site-body .entry-body h2:not([class*="is-style-vk-heading"]) {
		font-size: 1.65rem;
	}
	:root .site-body .entry-body h3:not([class*="is-style-vk-heading"]) {
		font-size: 1.5rem;
	}
	:root .site-body .entry-body :is(.btn,.wp-block-button__link) {
	min-width: 220px;
	}
}
#vk-mobile-nav-menu-btn {
	display:none !important;
}