@charset "UTF-8";
/*
Theme Name: 【最新】シンプル　天野企画テーマ１
Author: amanokikaku
Author URI: http://amnk.co.jp/
Description: 2019.5.10
Version: 1.0
*/


:root {
	--main_color:#164387;
	--sub_color: #D9E2EC;
}

.section-common[data-back="sub-color"] {
	background: var(--sub_color);
}

@layer reset, form, base, layout, design, common;

/*--------------------reset.css--------------------*/
@layer reset {

	html,
	body,
	div,
	span,
	object,
	iframe,
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	p,
	blockquote,
	pre,
	abbr,
	address,
	cite,
	code,
	del,
	dfn,
	em,
	img,
	ins,
	kbd,
	q,
	samp,
	small,
	strong,
	sub,
	sup,
	var,
	b,
	i,
	dl,
	dt,
	dd,
	ol,
	ul,
	li,
	fieldset,
	form,
	label,
	legend,
	table,
	caption,
	tbody,
	tfoot,
	thead,
	tr,
	th,
	td,
	article,
	aside,
	canvas,
	details,
	figcaption,
	figure,
	footer,
	header,
	hgroup,
	menu,
	nav,
	section,
	summary,
	time,
	mark,
	audio,
	video {
		margin: 0;
		padding: 0;
		border: 0;
		outline: 0;
		background: transparent;
		font-size: 100%;
		/*  font-weight: normal;*/
		vertical-align: baseline;
	}

	html {
		width: 100%;
		overflow-x: hidden;
	}

	body {
		-webkit-text-size-adjust: 100%;
		line-height: 1;
	}

	article,
	aside,
	details,
	figcaption,
	figure,
	footer,
	header,
	hgroup,
	menu,
	nav,
	section {
		display: block;
	}

	ol,
	ul,
	li {
		list-style: none;
	}

	blockquote,
	q {
		quotes: none;
	}

	blockquote:before,
	blockquote:after,
	q:before,
	q:after {
		content: '';
		content: none;
	}

	a {
		margin: 0;
		padding: 0;
		background: transparent;
		color: #000;
		font-size: 100%;
		text-decoration: none;
		vertical-align: baseline;
	}

	/* change colours to suit your needs */
	ins {
		background-color: #ff9;
		color: #000;
		text-decoration: none;
	}

	/* change colours to suit your needs */
	mark {
		background-color: #ff9;
		color: #000;
		font-style: italic;
		font-weight: bold;
	}

	del {
		text-decoration: line-through;
	}

	abbr[title],
	dfn[title] {
		border-bottom: 1px dotted;
		cursor: help;
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	/* change border colour to suit your needs
	*/
	hr {
		display: block;
		height: 1px;
		margin: 1em 0;
		padding: 0;
		border: 0;
		border-top: 1px solid #cccccc;
	}

	input,
	select {
		vertical-align: middle;
	}

	img {
		vertical-align: bottom;
		max-width: 100%;
		height: auto;
	}

	iframe {
		vertical-align: bottom;
		max-width: 100%;
	}

	th {
		text-align: left;
	}

	*,
	*:before,
	*:after {
		box-sizing: border-box;
	}
}

/*--------------------reset.cssここまで--------------------*/

/*--------------------form.css--------------------*/
@layer form {

	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	input[type="password"],
	input[type="datetime"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="datetime-local"],
	input[type="number"],
	input[type="range"],
	input[type="color"],
	input[type="radio"],
	input[type="checkbox"],
	input[type="submit"],
	input[type="button"],
	input[type="image"],
	select,
	button,
	textarea {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		margin: 0;
		padding: 0;
		border: none;
		border-radius: 0;
		outline: none;
		background: none;
		font-family: "メイリオ", Meiryo, "Noto Sans JP", sans-serif;
	}

	/* プレースホルダー */
	::-webkit-input-placeholder {
		color: #ccc;
	}

	:-ms-input-placeholder {
		color: #ccc;
	}

	::-ms-input-placeholder {
		color: #ccc;
	}

	::placeholder {
		color: #ccc;
	}

	/* 入力欄 */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	input[type="password"],
	input[type="datetime"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="datetime-local"],
	input[type="number"],
	input[type="range"] {
		width: 100%;
		padding: 0.5em 1em;
		border: 1px solid #ccc;
		color: #666666;
	}

	/* 入力欄 */
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	input[type="password"],
	textarea {
		background: #fff;
		font-size: 16px;
		border-radius: 4px;
		box-shadow: inset 1.5px 1.5px 0px #cccccc;
		border: none;
		border-bottom: 1px solid #cccccc;
		border-right: 1px solid #cccccc;
	}

	/* 日付 */
	input[type="datetime"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="datetime-local"] {
		font-size: 16px;
	}

	/* 数値 */
	/* スピンボタン非表示*/
	input[type="number"]::-webkit-outer-spin-button,
	input[type="number"]::-webkit-inner-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}

	input[type="number"] {
		-moz-appearance: textfield;
	}

	/* レンジ */
	/* カラーピッカー */
	select {
		width: 100%;
		padding: 0.5em 1em;
		border: 1px solid #ccc;
		background: url(images/down-select.png) no-repeat right 1em center;
		cursor: pointer;
	}

	select::-ms-expand {
		display: none;
	}

	textarea {
		width: 100%;
		/* ieでスクロールバー非表示 */
		padding: 0.5em 1em;
		overflow: hidden;
		border: 1px solid #ccc;
	}

	input[type="submit"],
	input[type="button"],
	button {
		cursor: pointer;
	}

	form input[type="radio"] {
		display: none;
	}

	form input[type="radio"]+span {
		display: inline-block;
		vertical-align: middle;
		cursor: pointer;
		position: relative;
		line-height: 1;
	}

	form input[type="radio"]+span:before {
		margin-right: 0.3em;
		content: "";
		width: 14px;
		height: 14px;
		display: inline-block;
		border-radius: 10px;
		border: 1px solid #cccccc;
		position: relative;
		top: 2px;
	}

	form input[type="radio"]:checked+span:after {
		content: "";
		width: 10px;
		height: 10px;
		background: var(--main_color);
		display: inline-block;
		border-radius: 5px;
		position: absolute;
		left: 2px;
		top: 4px;
	}

	form input[type="checkbox"] {
		display: none;
	}

	form input[type="checkbox"]+span {
		display: inline-block;
		vertical-align: middle;
		cursor: pointer;
		position: relative;
		line-height: 1;
	}

	form input[type="checkbox"]+span:before {
		margin-right: 0.3em;
		content: "";
		width: 14px;
		height: 14px;
		display: inline-block;
		border: 1px solid #cccccc;
		position: relative;
		top: 2px;
	}

	form input[type="checkbox"]:checked+span:after {
		content: "";
		width: 14px;
		height: 10px;
		display: inline-block;
		position: absolute;
		left: 1px;
		top: 3px;
		border-bottom: 3px solid var(--main_color);
		border-left: 3px solid var(--main_color);
		transform: rotate(-45deg);
	}

	.prefbox select {
		width: 100px;
		margin-bottom: 0.5em;
		font-size: 16px;
	}

	.wrap .contact-form table th,
	.wrap .contact-form table td {
		vertical-align: middle;
	}

	.contact-form button {
		display: block;
		z-index: 1;
		position: relative;
		width: min(300px, 100%);
		padding: 0.85rem;
		background: #fff;
		text-align: center;
		transition: 0.5s;
		color: var(--main_color);
		border: 1px solid var(--main_color);
		border-radius: 4px;
		filter: drop-shadow(1px 1px 0px #ccc);
		font-size: 14px;
		margin: min(3vw, 25px) auto 0;
	}

	.contact-form button:after {
		-webkit-transform: rotate(45deg);
		display: inline-block;
		position: absolute;
		top: 0;
		right: 1em;
		bottom: 0;
		width: 12px;
		height: 12px;
		margin: auto;
		transform: rotate(45deg);
		border-top: 3px solid var(--main_color);
		border-right: 3px solid var(--main_color);
		content: "";
	}

	.contact-form button:hover {
		background: var(--main_color);
		color: #fff;
		opacity: 1;
	}

	.contact-form button:hover:after {
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
	}

	.mw_wp_form_preview .list-caution {
		display: none;
	}

	@media screen and (min-width: 900px),
	print {
		select {
			/* 			width: 410px; */
			width: auto;
		}

		textarea {
			height: 210px;
			display: block;
			border: none;
			border-bottom: 1px solid #cccccc;
			border-right: 1px solid #cccccc;
		}
	}

	@media screen and (max-width: 640px) {
		textarea {
			height: 60vw;
			display: block;
		}
	}
}

/*--------------------form.cssここまで--------------------*/

/* ////////////////////////////////////////
PC,SP共通 base.css
//////////////////////////////////////// */
@layer base {
	body {
		color: #333;
		font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
		font-size: min(16px, 3.7vw);
		letter-spacing: .05rem;
		font-weight: 500;
		text-align: justify;
		font-feature-settings: "palt";
		text-rendering: optimizeLegibility;
	}

	body :is(p, li, dt, dd) {
		line-height: 1.75;



		& img {
			vertical-align: baseline;
		}
	}

	.block-none {
		display: none !important;
	}

	.textLeft {
		text-align: left;
	}

	.textRight {
		text-align: right;
	}

	.textCenter {
		text-align: center;
	}

	.textJustify {
		text-align: justify;
		text-justify: inter-ideograph;
	}

	.weightBold {
		font-weight: bold;
	}

	.colorBlue {
		color: var(--main_color);
	}

	html,
	body {
		scroll-behavior: smooth;
		/*overscroll-behavior: none;*/
	}

	*[id] {
		/*scroll-margin-top: 100px;*/
		scroll-behavior: auto;
	}

	body {
		overflow-x: hidden;
		display: flex;
		flex-direction: column;
		min-height: 100vh;
		position: relative;
	}


	body.over {
		padding-top: 84px;

		& .header.over {
			position: fixed;
			inset-inline-start: 0;
			inset-block-start: -84px;

			&.active {
				position: fixed;
				inset-block-start: 0;
				inset-inline-start: 0;
				transition: all 0.5s 0.5s;
			}
		}

		@media(width <=640px) {
			& {
				padding-top: 70px;

				& .header.over {
					inset-block-start: -70px;
				}
			}
		}
	}

	.main-column {
		container: main-size / inline-size;

		& h2 {
			:is(&:not([class]), &.wp-block-heading:not([class*=" "])) {
				line-height: 1.75rem;
				margin-bottom: min(7vw, 28px);
				margin-top: min(20vw, 80px);
				font-size: min(5.5vw, 22px);
				padding: min(3vw, 12px);
				background: #f3f3f3;
				font-weight: bold;
			}
		}

		& h3 {
			:is(&:not([class]), &.wp-block-heading:not([class*=" "])) {
				margin: min(5vw, 1rem) 0;
				padding: min(2vw, 0.25rem) 0;
				font-size: min(4.5vw, 20px);
				line-height: 1.25;
				border-bottom: 2px solid var(--main_color);
			}
		}

		& .box-post-text h3 {
			:is(&:not([class]), &.wp-block-heading:not([class*=" "])) {
				margin: 0;
				border-bottom: none;
				padding: 0;
			}
		}

		& .box-post-archive h3 {
			:is(&:not([class]), &.wp-block-heading:not([class*=" "])) {
				width: 100%;
				line-height: 1.5;
				font-size: min(4.3vw, 20px);
				padding: 0;
				border: none;
				font-weight: bold;
				margin: min(2vw, 15px) 0;
			}
		}

		& h4 {
			:is(&:not([class]), &.wp-block-heading:not([class*=" "])) {
				margin: min(8vw, 2rem) 0 min(3vw, 0.5rem);
				padding-left: min(2.5vw, 1rem);
				font-size: min(4vw, 18px);
				line-height: 1.25;
				border-left: 4px solid var(--main_color);
			}
		}

		&>.card>div>*:first-child {
			margin-top: 0;
		}

		& p {
			&+ul {
				:is(&:not([class]), &.wp-block-list:not([class*=" "])) {
					margin-top: min(4vw, 1rem);
				}
			}

			&+ol {
				:is(&:not([class]), &.wp-block-list:not([class*=" "])) {
					margin-top: min(4vw, 1rem);
				}
			}
		}

		& ul {
			& li {
				position: relative;

				&+li {
					margin-top: 0.4rem
				}
			}

			:is(&:not([class]), &.wp-block-list:not([class*=" "])) {
				& li:not([class]) {
					line-height: 1.55;
					padding-left: min(4vw, 1.05rem);

					&::before {
						content: "";
						display: block;
						position: absolute;
						top: 7px;
						left: 2px;
						width: min(1.9vw, 8px);
						height: auto;
						aspect-ratio: 1;
						background: var(--main_color);
						border-radius: 15px;
					}
				}
			}
		}

		& ol {
			counter-reset: ol-count;

			&>li {
				position: relative;
				line-height: 1.55;

				&:before {
					counter-increment: ol-count;
					content: counter(ol-count);
				}

				[style*="upper-alpha"] &:before {
					content: counter(ol-count, upper-alpha);
				}

				[style*="lower-alpha"] &:before {
					content: counter(ol-count, lower-alpha);
				}

				[style*="upper-roman"] &:before {
					content: counter(ol-count, upper-roman);
				}

				[style*="lower-roman"] &:before {
					content: counter(ol-count, lower-roman);
				}

				&+li {
					margin-top: 0.4rem
				}
			}

			:is(&:not([class]), &.wp-block-list:not([class*=" "])) {
				& li:not([class]) {
					padding-left: min(7vw, 1.5rem);

					&::before {
						counter-increment: ol-count;
						content: counter(ol-count);
						color: #fff;
						font-weight: bold;
						background: var(--main_color);
						line-height: 1;
						display: flex;
						align-items: center;
						justify-content: center;
						padding: min(1.3vw, 0.35rem) min(1.3vw, 0.2rem) min(1.3vw, 0.2rem);
						width: min(4.8vw, 20px);
						height: min(4.8vw, 20px);
						border-radius: 50%;
						font-size: 80%;
						position: absolute;
						left: 0;
						top: 1px;
					}

					[style*="lower-alpha"] &:before {
						color: var(--main_color);
						font-weight: bold;
						content: counter(ol-count, lower-alpha) ".";
						background: none;
						border-radius: 0;
						padding: 0;
						top: 2px;
						font-size: 100%;
					}

					[style*="upper-roman"] &:before {
						color: var(--main_color);
						font-weight: bold;
						content: counter(ol-count, upper-roman) ".";
						background: none;
						border-radius: 0;
						padding: 0;
						top: 2px;
						font-size: 100%;
					}

					[style*="lower-roman"] &:before {
						color: var(--main_color);
						font-weight: bold;
						content: counter(ol-count, lower-roman) ".";
						background: none;
						border-radius: 0;
						padding: 0;
						top: 2px;
						font-size: 100%;
					}
				}
			}
		}
	}

	.main-column p+p {
		margin-top: min(3vw, 1rem);
	}

	p {
		word-break: break-all;
	}

	p:not([class]) a {
		text-decoration: underline;

		&:link {
			color: #0000ee;
		}

		&:active {
			color: #ff0000;
		}

		&:hover {
			color: #0000ee;
		}

		&:visited {
			color: #551a8b;
		}
	}

	.clearfix:after {
		display: block;
		clear: both;
		content: "";
	}

	.flexCenter {
		display: flex;
		flex-flow: row wrap;
		justify-content: center;
		width: 100%;
	}

	.flexLeft {
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-start;
	}

	.flexRight {
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-end;
	}

	.fullWidth {
		width: 100%;
	}

	.wp-block-image figcaption {
		text-align: center;
		margin: 15px 0 0;
		font-size: 14px;
	}

	/*
* object-fitのclassとie対応（ofi.js必要）
*/
	.ofi-cover {
		-o-object-fit: cover;
		object-fit: cover;
		font-family: "object-fit: cover;";
	}

	.ofi-contain {
		-o-object-fit: contain;
		object-fit: contain;
		font-family: "object-fit: contain;";
	}

	.wrap-zoom {
		overflow: hidden;
	}

	.wrap-zoom>img {
		transition: 0.5s;
		width: 100%;
		height: auto;
		aspect-ratio: 3 / 2;
	}

	.wrap-zoom>img:hover {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}

	/*　疑似要素テキスト　*/
	.attrTextLeft:before,
	.attrTextTop:before,
	.attrTextBottom:after,
	.attrTextRight:after {
		content: attr(data-text);
	}

	.attrTextLeft:before,
	.attrTextRight:after {
		display: inline-block;
	}

	.attrTextTop:before,
	.attrTextBottom:after {
		display: block;
	}

	/*　疑似要素テキスト　*/
	/*　疑似要素アイコン　*/
	.attrIconLeft:before,
	.attrIconTop:before,
	.attrIconBottom:after,
	.attrIconRight:after {
		content: "";
		display: inline-block;
		width: 28px;
		height: 28px;
		background: var(--main_color);
		position: absolute;
		left: -36px;
		top: -2px;
		border-radius: 5px;
	}

	.attrIconLeft:after {
		content: "";
		display: inline-block;
		width: 18px;
		height: 18px;
		background: url(images/tel.svg);
		background-size: cover;
		position: absolute;
		left: -36px;
		top: -2px;
		border-radius: 5px;
		margin: 5px;
	}

	.attrIconTop:before,
	.attrIconBottom:after {
		display: block;
	}

	.attrIconLeft:before,
	.attrIconRight:after {
		display: inline-block;
	}


	/* 共通色指定
*************************** */
	.global-nav .sub-menu>li>a,
	.btn-contact,
	.pagetop,
	.category-post,
	.slick-dots li.slick-active button:before,
	.sp-nav,
	.wpcf7-submit {
		background: var(--main_color);
		color: #fff;
	}

	.main-slider .slick-prev:before,
	.main-slider .slick-next:before {
		color: #fff;
	}

	/* カテゴリ表示の背景色 */
	/* .bg-cate-1 {
  background: #ffae5e;
}

.bg-cate-2 {
  background: #7a5b44;
}

.bg-cate-3 {
  background: #57b7e8;
}

.bg-cate-4 {
  background: #8fc31f;
}

.bg-cate-5 {
  background: #7e2a00;
}

.bg-cate-6 {
  background: #00a29a;
}

.bg-cate-7 {
  background: #f29c97;
}

.bg-cate-8 {
  background: #9082a4;
}

.bg-cate-9 {
  background: #e6001b;
}

.bg-cate-10 {
  background: #0047cf;
} */

	/* カテゴリ表示の背景色 */


	/* ウィジェット
*************************** */
	.widget_nav_menu li>a {
		padding: 1em 1em;
	}

	#gallery-1 .gallery-item,
	#gallery-2 .gallery-item {
		margin-top: 0 !important;
		margin-bottom: 0.5em;
	}

	#gallery-1 .gallery-caption,
	#gallery-2 .gallery-caption {
		padding: 0.5em 0;
		line-height: 1.25;
	}

	/* 見出し */
	.contents-page h2,
	.contents-page h3,
	.contents-page h4 {
		margin-bottom: 28px;
		line-height: 1.5;
	}

	.contents-page h2 {
		padding: 0.5em;
		font-size: 22px;
		font-weight: bold;
	}

	.contents-page h3 {
		padding: 0.5em;
		border-bottom: 1px solid #ccc;
		font-size: 20px;
	}

	.contents-page h4 {
		padding: 0.5em;
		font-size: 18px;
		font-weight: bold;
	}

	.contents-page h2 .mincho {
		font-size: 24px;
	}

	/* 見出し */
	.contents-page p,
	.contents-page span {
		line-height: 1.75;
	}

	.contents-page img {
		max-width: 100%;
		height: auto;
	}

	.inner-main h1 {
		margin-bottom: 1em;
	}

	.inner-main p {
		letter-spacing: 0.1em;
		line-height: 1.75;
	}

	.wrap-2column .list-post {
		margin-top: -20px;
	}

	.main-column>p {
		text-align: justify;
		line-height: 2.3;
		letter-spacing: .05em;
	}

	.main-column .has-text-align-right {
		text-align: right;
	}

	.main-column .has-text-align-center {
		text-align: center;
	}

	.main-columnc .is-style-outline .wp-block-button__link {
		background-color: transparent;
		text-decoration: none;
	}

	.is-style-outline .wp-block-button__link:after {
		-webkit-transform: rotate(45deg);
		display: inline-block;
		top: 0;
		right: 1em;
		bottom: 0;
		width: 10px;
		height: 10px;
		margin: auto;
		margin-left: 10px;
		transform: rotate(45deg);
		border-top: 2px solid var(--main_color);
		border-right: 2px solid var(--main_color);
		content: "";
	}

	.main-column pre {
		max-width: 100%;
		font-size: 14px;
		text-align: justify;
		line-height: 1.7;
		white-space: pre-wrap;
	}

	.main-column table {
		width: 100%;
	}

	/*テーブル*/
	.main-column table th,
	.main-column table td {
		line-height: 1.75;
	}

	.main-column table th {
		padding: 1em 1em;
		vertical-align: top;
	}

	.main-column table td {
		padding: 1em 1em;
		vertical-align: top;
	}

	/*間隔*/
	.section-common {
		padding: min(20vw, 120px) 0;
		position: relative;

		&.no_space {
			padding: unset;
		}

		&.no_space-top {
			padding-block-start: unset;
		}

		&.no_space-bottom {
			padding-block-end: unset;
		}
	}

	.contents {
		inline-size: min(100%, 1280px);
		margin-right: auto;
		margin-left: auto;
		padding-right: min(40px, 8vw);
		padding-left: min(40px, 8vw);

		&.wrap-1column-narrow {
			/* inline-size: min(100%, 920px); */
		}
	}

	.wrap-1column {

		&:not(:has(.contents)) {
			container: gap / inline-size;
			padding-right: min(40px, 8vw);
			padding-left: min(40px, 8vw);
		}

		& .section-common {
			padding: min(20vw, 150px) 0;
			position: relative;

			&.no_space {
				padding: unset;
			}

			&.no_space-top {
				padding-block-start: unset;
			}

			&.no_space-bottom {
				padding-block-end: unset;
			}
		}

		& .contents {
			container: gap / inline-size;
		}
	}

	.wrap-2column {
		display: flex;
		flex-flow: row-reverse wrap;
		gap: min(10vw, 120px) min(8vw, 40px);

		& .main-column {
			flex: 1;
			container: gap / inline-size;

			& .section-common {

				&+.section-common {
					margin-top: min(20vw, 120px);
					position: relative;
				}

				&.no_space {
					margin-block: unset;
				}
			}
		}

		& .sidebar {
			flex: 0 min(30vw, 300px);
		}

		@media(width <=900px) {
			flex-flow: wrap;

			& .sidebar {
				flex: 1 100%;
				;
			}
		}
	}


	.main-column {

		&>*:nth-child(1) {
			margin-top: 0;
		}

		& :is(p, ul, ol):not(:first-child) {
			margin-block-start: 1rem;
		}

		& :is(li, p):not([class]) a:not([class]) {
			text-decoration: underline;
		}

		& table {
			inline-size: 100%;

			& :is(th, td) {
				line-height: 1.75;
				border: unset;
				word-break: break-word;
				text-align: initial;
				padding: 1rem 1rem;
				vertical-align: top;
				border: unset;
			}
		}

		& .scroll {

			.scroll-pointer:has(+ &) {
				font-weight: 700;
				display: flex;
				align-items: center;
				justify-content: flex-end;
				gap: 0.5rem;
				margin-block-end: 0.5rem;

				&:after {
					content: "";
					mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20viewBox%3D%220%200%2023.58%2014%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20stroke%3A%20%23c96c88%3B%20%7D%20.cls-1%2C%20.cls-2%20%7B%20fill%3A%20none%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20%7D%20.cls-2%20%7B%20stroke%3A%20%23b7b7b7%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%22%20data-name%3D%22%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%22%3E%20%3Cg%3E%20%3Cline%20class%3D%22cls-2%22%20x1%3D%22.5%22%20y1%3D%227%22%20x2%3D%2216.59%22%20y2%3D%227%22%2F%3E%20%3Cpolyline%20class%3D%22cls-1%22%20points%3D%2216.59%20.5%2023.08%207%2016.59%2013.5%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') center / contain no-repeat;
					background: var(--main_color);
					inline-size: 1.5rem;
					aspect-ratio: 253/150;
				}
			}

			& :is(.main-column table th) {
				word-break: keep-all;
			}
		}


		@media(width <=900px) {
			& .scroll {
				overflow-x: scroll;

				& :is(.main-column table th, .main-column table td) {
					white-space: pre;
				}
			}
		}


		@media(width <=640px) {
			& table th {
				border-bottom: none;
				border-top: none;
				background: #f3f3f3;
			}
		}

	}

	.fullvw-width {
		width: 100vw;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		max-width: unset;
	}

	/**********************************
 * パスワード画面
 * ********************************/
	div:not(.contents):has(section:not(.main-column)) .post-password-form {
		width: min(100%, 1280px);
		padding: 0 min(8vw, 40px);
		margin: 0 auto;
	}

	.post-password-form {
		text-align: left;
	}

	.post-password-form input[type="submit"] {
		background: #333;
		color: #fff;
		padding: 0.2rem 0.8rem;
		border-radius: 5px;
		margin-top: 0.7rem;
	}

	.post-password-form input[type="submit"]:hover {
		opacity: 0.8;
	}

	/**************************
 * リンク
 * ************************/
	a:hover {
		opacity: 0.7;
		transition: 0.2s;
	}

	.btn-archive {
		display: block;
		z-index: 1;
		position: relative;
		width: min(100%, 350px);
		margin: min(9vw, 45px) auto 0;
		padding: min(5vw, 1.3rem) min(13vw, 3rem) min(5vw, 1.3rem) min(6vw, 1.5rem);
		background: var(--main_color);
		text-align: left;
		transition: 0.5s;
		color: #fff;
		border: 1px solid var(--main_color);
		border-radius: 6px;
		font-size: min(4vw, 17px);
	}

	.btn-archive:hover {
		background: #fff;
		color: var(--main_color);
		opacity: 1;
	}

	.btn-archive:after {
		content: "";
		mask: url(images/arrow.svg) center/contain no-repeat;
		background: #fff;
		display: block;
		position: absolute;
		transform: translatey(-50%);
		top: 50%;
		right: 1rem;
		width: 20px;
		height: auto;
		aspect-ratio: 1;
	}

	.btn-archive:hover:after {
		background: var(--main_color);
	}

	/******************************************
 * *ヘッダー
* *****************************************/
	.header {
		z-index: 6;
		background: #fff;
		box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
		position: relative;
		/* left: 0; */
		/* top: 0; */
		transition: all 0.5s 0.5s;
	}

	.inner-header {
		display: flex;
		position: relative;
		align-items: center;
		justify-content: space-between;
		padding: 10px 0 10px;
	}

	.wrap-logo {
		display: flex;
		align-items: center;
	}

	.wrap-logo .logo {
		display: block;
	}

	.wrap-logo .logo:hover {
		opacity: 1;
	}

	.wrap-logo .logo img {
		display: block;
		inline-size: min(40vw, 100%);
		block-size: auto;
		max-block-size: 40px;
	}

	.head-header {
		margin-left: min(5vw, 1.7rem);
		line-height: 1.25;
		margin-top: 5px;
		font-size: 14px;
	}

	.head-header>* {
		font-weight: 500;
		line-height: 1;
	}

	.header-tel {
		background: var(--main_color);
		color: #fff;
		display: flex;
		flex-direction: column;
		position: relative;
		padding: min(5vw, 1rem) min(3vw, 0.5rem) min(5vw, 1rem) min(7vw, 3.3rem);
		font-weight: bold;
	}

	.header-tel:before {
		content: "";
		background: url(images/tel.svg) center/contain no-repeat;
		width: min(3.5vw, 33px);
		height: auto;
		aspect-ratio: 23/30;
		position: absolute;
		left: min(1.2vw, 0.9rem);
		transform: translatey(-50%);
		top: 51%;
	}

	.htel {
		display: block;
		width: 100%;
		font-size: min(3.1vw, 35px);
		line-height: 1;
	}

	.htime-holi {
		display: block;
		width: 100%;
		font-size: min(1.15vw, 12px);
		line-height: 1;
		margin-top: 0.15rem;
		text-align: center;
	}

	.nav>.contents {
		width: 100%;
		padding: 0;
	}

	/*PCメニュー*/
	.global-nav {
		display: flex;
		z-index: 2;
		width: 100%;
		gap: min(2vw, 2rem);
		margin-right: min(2.5vw, 3rem);
	}

	.global-nav>li {
		position: relative;
	}

	.global-nav>li>a {
		display: block;
		text-align: center;
		position: relative;
		font-weight: bold;
	}

	.global-nav>li>a span {
		display: block;
		font-size: 10px;
		margin-top: 4px;
		margin-bottom: -4px;
	}

	.global-nav>li:before {
		content: none;
		display: block;
		height: 1px;
		width: 0;
		background: var(--main_color);
		position: absolute;
		bottom: 0;
		right: 0;
		left: 0;
		margin: 0 auto;
		transition: 0.5s;
	}

	.global-nav>li:hover:before {
		width: 80%;
	}

	.global-nav>li>ul {
		z-index: 2;
		position: absolute;
		top: calc(100% + 0px);
		left: 50%;
		transform: translateX(-50%);
		width: 13rem;
		height: auto;
		opacity: 0;
		transition: 0.5s;
		visibility: hidden;
	}

	.global-nav>li:hover>ul {
		height: auto;
		opacity: 1;
		transition: 0.5s;
		top: calc(100% + 15px);
		visibility: visible;
	}

	.global-nav>li:hover>ul:before {
		content: "";
		display: block;
		height: 15px;
		width: 100%;
		position: absolute;
		top: -15px;
		right: 0;
		left: 0;
		margin: 0 auto;
	}

	.global-nav>li:hover>ul:after {
		content: "";
		height: 0;
		width: 0;
		display: block;
		border-color: transparent transparent var(--main_color);
		border-style: solid;
		border-width: 0 10px 10px;
		position: absolute;
		top: -10px;
		right: 0;
		left: 0;
		margin: 0 auto;
		z-index: -1;
	}

	.global-nav>li>ul.sub-menu>li>ul>li {
		position: relative;
	}

	.global-nav>li>ul.sub-menu>li>ul>li:nth-child(1):before {
		content: "";
		height: 0;
		width: 0;
		display: block;
		border-color: transparent transparent #104f82;
		border-style: solid;
		border-width: 10px 10px 10px;
		position: absolute;
		top: 0;
		bottom: 0;
		left: -20px;
		margin: auto 0;
		z-index: 2;
		transform: rotate(-90deg);
		-webkit-transform: rotate(-90deg);
	}

	.global-nav>li:last-child>ul.sub-menu>li>ul>li:nth-child(1):before {
		left: initial;
		right: -20px;
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
	}

	.global-nav>li>ul.sub-menu>li a:hover {
		background: var(--sub_color);
		color: #333;
		opacity: 1;
	}

	.global-nav>li>ul>li {
		position: relative;
		transition: 0.5s;
	}

	.global-nav>li>ul>li>ul {
		position: absolute;
		top: 0;
		left: 100%;
		width: 100%;
		opacity: 0;
		visibility: hidden;
		transition: 0.5s;
		z-index: 1;
	}

	.global-nav>li>ul>li:hover>ul {
		opacity: 1;
		visibility: visible;
		transition: 0.5s;
	}

	.global-nav>li:last-child>ul>li>ul {
		right: 100%;
		left: initial;
	}

	.global-nav>li>ul>li>ul>li {
		opacity: 0;
		visibility: hidden;
	}

	.global-nav>li>ul>li:hover>ul>li {
		opacity: 1;
		visibility: visible;
	}

	.global-nav>li>ul.sub-menu>li>ul>li>a {
		background: #104f82;
	}

	.global-nav .sub-menu li:not(:last-child) {
		border-bottom: 1px solid #c9caca;
	}

	.global-nav .sub-menu a {
		display: block;
		padding: 1em;
		text-align: center;
	}

	.global-nav li>ul>li>a {
		z-index: 10;
	}

	/*モバイルメニュー*/
	.check {
		display: none;
	}

	.check+.parent {
		display: flex;
		justify-content: space-between;
		padding: 0.75em 1em;
		background: var(--main_color);
		color: #fff;
		line-height: 1.25;
		cursor: pointer;
	}

	.check+.parent:after {
		content: "▼";
	}

	.check+.parent+ul {
		display: none;
	}

	.check:checked+.parent:after {
		content: "▲";
	}

	.check:checked+.parent+ul {
		display: block;
	}

	.drawer-nav>li,
	.drawer-nav>li>ul>li,
	.drawer-nav>li>ul>li>ul>li {
		position: relative;
		border-bottom: 1px solid #ccc;
		line-height: 1.75;
	}

	.drawer-nav>li>ul>li:last-child,
	.drawer-nav>li>ul>li>ul>li:last-child {
		border-bottom: none;
	}

	.drawer-nav>li>a,
	.drawer-nav>li>ul>li>a,
	.drawer-nav>li>ul>li>ul>li>a {
		z-index: 1;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 50px;
	}

	.drawer-nav>li>ul>li>a {
		background: #eeeeee;
	}

	.drawer-nav li a span {
		display: none;
	}

	.drawer-nav .sub-menu {
		display: none;
		border-top: 1px solid #ccc;
	}

	.drawer-nav a {
		display: block;
		padding: 0.5em 1em;
		position: relative;
	}

	.drawer-nav .btn-sub+a:after {
		content: none;
	}

	.drawer-nav .btn-sub {
		z-index: 2;
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		height: 50px;
		margin: auto;
		color: #999999;
	}

	.drawer-nav .fa-angle-down:before {
		content: "";
		border-top: 3px solid #999;
		border-right: 3px solid #999;
		height: 9px;
		width: 9px;
		position: absolute;
		top: 47%;
		right: 10%;
		transform: translate(75%, -50%) rotate(135deg);
	}

	.drawer-nav .fa-angle-up:before {
		content: "";
		border-top: 3px solid #999;
		border-right: 3px solid #999;
		height: 9px;
		width: 9px;
		position: absolute;
		top: 44%;
		right: 8%;
		transform: rotate(-45deg);
	}

	.list-sp-menu {
		display: none;
	}

	.list-sp-menu li {
		width: 40px;
	}

	.sp-menu {
		display: flex;
		flex-flow: column nowrap;
		justify-content: space-between;
		text-align: center;
	}

	.sp-menu span {
		-webkit-transform: scale(0.8, 0.8);
		display: block;
		padding-top: 0.5em;
		transform: scale(0.8, 0.8);
		font-size: 10px;
		letter-spacing: 0;
		line-height: 1;
	}

	.sp-menu:before {
		color: var(--main_color);
		font-size: 24px;
	}

	.nav-open {
		display: flex;
		flex-flow: column nowrap;
		justify-content: flex-end;
	}

	/*
	.nav-open:after {
		-webkit-transform: scale(0.8, 0.8);
		transform: scale(0.8, 0.8);
		font-size: 10px;
		text-align: center;
		content: "MENU";
	}
	*/

	#nav-content .logo {
		display: block;
		margin: 1.5rem 3.5rem;
		overflow: hidden;
	}

	#nav-drawer {
		position: relative;
	}

	/*チェックボックス等は非表示に*/
	.nav-unshown {
		display: none;
	}

	#nav-open {
		z-index: 10000;
		position: absolute;
		top: 10px;
		right: 10px;
		width: 35px;
		height: 25px;
		margin: auto;
		vertical-align: middle;
	}

	#nav-open:hover {
		cursor: pointer;
	}

	#nav-open span {
		position: absolute;
		right: 0;
		left: 0;
		width: 80%;
		height: 3px;
		margin: auto;
		background: var(--main_color);
		transition: all 0.5s;
	}

	#nav-open span:nth-of-type(1) {
		top: 2px;
	}

	#nav-open span:nth-of-type(2) {
		top: 11px;
	}

	#nav-open span:nth-of-type(3) {
		top: 20px;
	}

	/*閉じる用の薄黒カバー*/
	.btn-close {
		margin: 40px;
		padding: 1em;
		text-align: center;
		cursor: pointer;
		border: #666666 1px solid;
	}

	.btn-close:before {
		content: "×";
	}

	#nav-input:checked~#nav-open span:nth-of-type(1) {
		-webkit-transform: translateY(9px) rotate(-45deg);
		transform: translateY(9px) rotate(-45deg);
		transition: all 0.5s;
	}

	#nav-input:checked~#nav-open span:nth-of-type(2) {
		opacity: 0;
	}

	#nav-input:checked~#nav-open span:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
		transition: all 0.5s;
	}

	/*********************************
 * フッター
 * ********************************/


	.wrap-fixed {
		position: fixed;
		inset: auto 0 0 auto;
		translate: -2rem -2rem;

		.pagetop {
			display: flex;
			z-index: 5;
			align-items: center;
			justify-content: center;
			inline-size: 3rem;
			aspect-ratio: 1/1;
			border-radius: 50%;
			background: var(--main_color);
			color: #fff;
			text-align: center;
			opacity: 0;
			transition: 0.6s opacity;
			pointer-events: none;

			& span {
				-webkit-transform: rotate(-45deg);
				display: block;
				inline-size: 25%;
				block-size: 25%;
				rotate(-45deg);
				translate: 0 20%;
				border-top: 3px solid #fff;
				border-right: 3px solid #fff;
			}

			.wrap-fixed.active & {
				opacity: inherit;
				pointer-events: unset;
			}
		}
	}

	.footer {
		position: relative;
		margin-top: auto;
		//background: url(images/pattern-back.jpg) center / auto;
// background-image: linear-gradient(150deg, rgba(170, 255, 160, 1) 9%, rgba(178, 255, 177, 1) 24% 38%, rgba(141, 255, 209, 1));
background:#164387;
	}

	.footer-top {
		padding: min(10vw, 75px) 0;
	}

	.inner-footer-top {
		display: flex;
		align-items: center;
		flex-flow: column;
		gap: min(5vw, 1.5rem);
	}

	.box-info-footer {
		width: min(70vw, 385px);
		text-align: center;
	}

	.box-info-footer .logo {
		display: block;
		margin-bottom: min(4vw, 1.5rem);
		inline-size: min(65vw,100%);
	}

	.box-info-footer img {
		width: 100%;
		height: auto;
	}

	.info-footer {
		line-height: 1.35;
		color: #fff;
		font-size: min(3.7vw, 15px);

		& * {
			line-height: 1.5;
		}

		&+p {
			color: #fff;
		}
	}

	.info-footer>*+* {
		margin-top: 0.2rem;
	}

	.sns-link {
		gap: min(4vw, 1rem);
		display: flex;
		justify-content: center;

		& li {
			width: min(15%, 52px);

			& a {
				display: block;

				& img {
					width: 100%;
				}
			}
		}
	}

	.footer-one .sns-link {
		justify-content: center;
		margin-top: min(4vw, 25px);
		margin-bottom: 0;
		width: 100%;
	}

	.wrap-footer-nav {
		display: flex;
		justify-content: end;
		margin-top: auto;
	}

	.footer-nav+.footer-nav {
		margin-left: min(5vw, 45px);
	}

	.wrap-footer-nav .footer-nav li a span {
		display: none;
	}

	.wrap-footer-nav .footer-nav li a {
		padding: 0.3rem 0 0.3rem 1rem;
		display: block;
		color: #fff;
		line-height: 1.25;
		border-left: 3px solid #fff;
		font-size: min(1.6vw, 15px);
	}

	.copyright {
		padding: 0.9rem 0;
		font-size: min(3vw, 12px);
		color: #ffffff;
		text-align: center;
		border-top: 1px solid #fff;
	}

	/* シンプルフッター */
	.simple-footer-nav {
		display: flex;
		justify-content: center;
	}

	.simple-footer-nav li a {
		padding: 0 1em;
		color: #fff;
		font-size: min(3vw, 12px);
	}

	.simple-footer-nav li ul {
		display: none;
	}

	/*フッター　ワンカラム*/
	.footer-one {
		padding: min(11vw, 75px) 0 min(10vw, 20px);
	}

	.inner-footer-one .box-info-footer {
		width: 100%;
		margin-bottom: min(10vw, 60px);
	}

	.inner-footer-one .box-info-footer .logo {
		width: min(70vw, 385px);
		margin-left: auto;
		margin-right: auto;
	}

	.inner-footer-one .info-footer {
		text-align: center;
	}

	/******************************************
*投稿モジュール
* *****************************************/
	.list-post .box-post-text:not(:last-of-type) {
		border-bottom: 1px dotted var(--main_color);
	}

	.box-post-text a {
		display: flex;
		align-items: center;
		padding: min(4vw, 17px) min(8.5vw, 40px) min(4vw, 17px) 0;
		position: relative;
		gap: min(2vw, 22px);
		flex-wrap: wrap;
	}

	.box-post-text a:after {
		content: "";
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 50"><path fill="%23d9d9d9" d="M25,0C11.19,0,0,11.19,0,25s11.19,25,25,25c13.81,0,25-11.19,25-25S38.81,0,25,0z M37.53,25.33L25.62,36.67 c-1.15,1.1-2.97,1.05-4.07-0.1c-1.1-1.15-1.05-2.97,0.1-4.07l4.86-4.62H15c-1.59,0-2.88-1.29-2.88-2.88s1.29-2.88,2.88-2.88h11.5 l-4.86-4.62c-1.15-1.09-1.2-2.92-0.1-4.07c1.1-1.15,2.92-1.2,4.07-0.1l11.91,11.33c0.09,0.09,0.14,0.21,0.14,0.33 C37.67,25.13,37.62,25.24,37.53,25.33z"/></svg>') no-repeat center center/contain;
		display: block;
		position: absolute;
		transform: translatey(-50%);
		top: 50%;
		right: 0;
		width: min(4.5vw, 28px);
		height: auto;
		aspect-ratio: 1;
	}

	.box-post-text time {
		margin-right: 0;
		font-size: min(3.2vw, 14px);
	}

	.box-post-text h3 {
		margin: 0;
		padding: 0;
		position: relative;
		line-height: 1.45;
		color: #333;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		overflow: hidden;
		text-align: left;
	}

	.wrap-post-img-text {
		display: grid;
		grid-template: auto / repeat(auto-fill, minmax(240px, 1fr));
		gap: min(4vw, 2rem);

		& a {
			display: flex;
			flex-flow: column;
			gap: min(4vw, 1.5rem);

			&>div:nth-of-type(2) {
				display: flex;
				flex-flow: row wrap;
				justify-content: space-between;
				align-items: center;
				inline-size: 100%;
				gap: 0.5rem 1rem;
			}

			& h3 {
				line-height: 1.5;
				font-size: min(4vw, 16px);
				flex: 1 100%;
			}
		}
	}

	.wrap-1column .box-post-img-text .btn-flex {
		display: flex;
		flex-flow: column;
		justify-content: space-between;
		height: 100%;
	}

	.wrap-1column .box-post-img-text h3[subtxt] {
		display: flex;
		flex-flow: column;
		align-items: baseline;
	}

	.wrap-1column .box-post-img-text h3[subtxt]:after {
		content: attr(subtxt);
		font-size: 14px;
		font-weight: normal;
		line-height: 1;
		color: var(--main_color);
	}

	.wrap-2column .wrap-post-archive {
		margin-top: max(-20px, -8vw);
	}

	.wrap-post-archive h3 {
		text-align: left;
	}

	.box-post-archive:not(:last-of-type) {
		border-bottom: 1px solid #ccc;
	}

	.box-post-archive a {
		display: flex;
		align-items: flex-start;
		width: 100%;
		padding: 20px 0;
		position: relative;
	}

	.wrap-1column .box-post-archive a {
		padding: min(40px, 8vw) 0;
	}

	.wrap-1column .box-post-archive:first-of-type a {
		padding-top: 0;
	}

	.box-post-archive a:after {
		content: "";
		content: "続きを読む";
		padding-right: 20px;
		display: inline-flex;
		align-items: center;
		justify-content: flex-end;
		height: 14px;
		background: url(images/triangle.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: right;
		margin-top: 15px;
		position: absolute;
		bottom: 20px;
		right: 0;
	}

	.wrap-1column .box-post-archive a:after {
		bottom: min(40px, 8vw);
	}

	.box-post-archive a>div:nth-child(1) {
		width: 250px;
		margin-right: 20px;
	}

	.box-post-archive a>div:nth-child(2) {
		position: relative;
		width: calc(100% - 270px);
		display: flex;
		flex-flow: column;
		align-items: flex-end;
		height: 100%;
	}

	.box-post-archive a>div:nth-child(2)>div {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		width: 100%;
	}

	.box-post-archive img {
		width: 100%;
		height: auto;
		aspect-ratio: 3/2;
	}

	.box-post-archive time {
		display: block;
		font-size: 14px;
		line-height: 20px;
	}

	.box-post-archive time:before {
		content: "";
		display: inline-block;
		width: 14px;
		height: 14px;
		background: url(images/date.svg);
		background-size: cover;
		margin-right: 5px;
		position: relative;
		top: 2px;
	}

	.wrap-1column .box-post-archive h3 {
		width: 100%;
		line-height: 1.5;
		font-size: 20px;
		margin: 0;
		padding: 0;
		border: none;
		font-weight: bold;
		margin-top: 15px;
		margin-bottom: 15px;
	}

	.box-post-archive p {
		width: 100%;
		line-height: 1.5;
		font-size: 14px;
		margin-top: 5px;
		position: relative;
		text-align: justify;
	}

	.box-post-archive-side a {
		display: flex;
		align-items: flex-start;
		width: 100%;
	}

	.box-post-archive-side a>div:nth-child(1) {
		width: 75px;
		margin-right: 10px;
	}

	.box-post-archive-side a>div:nth-child(2) {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		width: calc(100% - 96px);
	}

	.box-post-archive-side img {
		width: 100%;
		height: 75px !important;
		height: auto;
	}

	.box-post-archive-side time {
		display: block;
		font-size: 10px;
		line-height: 10px;
		margin-bottom: 4px;
	}

	.box-post-archive-side h3 {
		width: 100%;
		line-height: 1.35;
	}

	.box-post-archive-side .category-post {
		display: none;
		width: 70px;
		padding: 0 5px;
		height: 14px;
		border-radius: 3px;
		font-size: 10px;
		line-height: 16px;
		text-align: center;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.wrap-post-archive-side {
		margin-top: 12px;
	}

	.wrap-post-archive-side .box-post-archive-side:not(:last-child) {
		margin-bottom: 15px;
	}

	.category-post {
		display: inline-block;
		width: 80px;
		height: 20px;
		border-radius: 3px;
		font-size: 12px;
		line-height: 20px;
		text-align: center;
	}

	.box-post-text .category-post {
		width: auto;
		padding: min(1vw, 0.45rem) min(3vw, 0.8rem) min(1.2vw, 0.4rem);
		height: auto;
		white-space: nowrap;
		margin: 0;
		line-height: 1.25;
		font-size: min(3vw, 13px);
	}

	/*施工事例モジュール*/
	.work-tcadr {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: min(3vw, 13px);
		padding-right: min(7vw, 30px);
		font-size: min(3.5vw, 15px);
		margin-top: min(6vw, 25px);
	}

	.work-tcadr:after {
		content: "";
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 50"><path fill="%23d9d9d9" d="M25,0C11.19,0,0,11.19,0,25s11.19,25,25,25c13.81,0,25-11.19,25-25S38.81,0,25,0z M37.53,25.33L25.62,36.67 c-1.15,1.1-2.97,1.05-4.07-0.1c-1.1-1.15-1.05-2.97,0.1-4.07l4.86-4.62H15c-1.59,0-2.88-1.29-2.88-2.88s1.29-2.88,2.88-2.88h11.5 l-4.86-4.62c-1.15-1.09-1.2-2.92-0.1-4.07c1.1-1.15,2.92-1.2,4.07-0.1l11.91,11.33c0.09,0.09,0.14,0.21,0.14,0.33 C37.67,25.13,37.62,25.24,37.53,25.33z"/></svg>') no-repeat center center/contain;
		display: block;
		position: absolute;
		transform: translatey(-50%);
		top: 45%;
		right: 0;
		width: min(4.5vw, 20px);
		height: auto;
		aspect-ratio: 1;
	}

	.work-tcadr .time-post {
		margin-right: 0;
		font-size: inherit;
	}

	.work-tcadr .category-post {
		font-size: inherit;
		width: auto;
		height: auto;
		line-height: 1;
		background: none;
		color: #333;
	}

	.wrap-post-img-text+.flexCenter .btn-archive {
		margin-top: min(14vw, 70px);
	}

	/*フッターお問い合わせ*/
	body:not(.index) .contact-box {
		border-top: 1px solid #d9d9d9;
	}

	.contact-box {
		padding: min(7vw, 35px) 0;
	}

	.contact-box-con {
		display: flex;
		align-items: center;
		margin: 0 max(-2vw, -2rem);
		flex-flow: wrap;
	}

	.contact-box-con>div {
		padding: 0 min(2vw, 2rem);
	}

	.contact-box-title {
		flex: 1 auto;
		position: relative;
	}

	.contact-box-title:before {
		content: "";
		position: absolute;
		display: block;
		background: var(--main_color);
	}

	.contact-box-title h2 {
		color: var(--main_color);
		font-size: min(6vw, 29px);
		text-align: left;
		line-height: 1.35;
		font-family: "Kiwi Maru", serif;
		font-weight: 500;
	}

	.contact-box-tel {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 400px;
	}

	.contact-box-tel .header-tel {
		background: none;
		color: #333;
		padding-top: min(5vw, 0.5rem);
		padding-bottom: min(5vw, 0.5rem);
		margin: 0;
	}

	.contact-box-tel .header-tel:before {
		mask: url('data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 652.1"><path fill="%2355afbb" d="M44.7,27.63C-0.1,56.69-8.91,147.53,8.01,221.56c13.17,57.65,41.18,134.99,88.42,207.81 c44.43,68.51,106.42,129.94,153.69,165.48c60.7,45.64,147.22,74.65,192.03,45.59c22.66-14.69,56.32-54.84,57.85-62.04 c0,0-19.74-30.43-24.07-37.11l-66.19-102.06c-4.92-7.58-35.77-0.65-51.44,8.22c-21.14,11.98-40.61,44.11-40.61,44.11 c-14.49,8.37-26.63,0.03-52-11.64c-31.17-14.34-66.23-58.91-94.12-99.28c-25.48-41.93-51.88-92.11-52.26-126.43 c-0.31-27.92-2.98-42.41,10.58-52.23c0,0,37.28-4.67,56.84-19.08c14.5-10.69,33.4-36.03,28.49-43.61L149.02,37.23 c-4.33-6.68-24.07-37.11-24.07-37.11C117.74-1.42,67.36,12.94,44.7,27.63z"/></svg>') center/contain no-repeat;
		background: var(--main_color);
	}

	.contact-box-tel .htime-holi {
		margin-top: 0.35rem;
	}

	.contact-box-form {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 420px;
	}

	.contact-box-form:before {
		content: "";
		background: #d9d9d9;
		display: block;
		position: absolute;
	}

	.form-link {
		position: relative;
		display: flex;
		align-items: center;
		font-weight: bold;
		font-size: min(4vw, 24px);
		padding: min(5vw, 1rem) 0;

		& p {
			line-height: 1.25;

			& span {
				font-size: min(3.5vw, 14px);
			}
		}

	}

	.form-link:before {
		content: "";
		mask: url('data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 37.59"><g><polygon fill="%2355afbb" points="50,22.62 43.55,15.92 50,10.36"/><polygon fill="%2355afbb" points="6.46,15.92 0,22.63 0,10.36"/><path fill="%2355afbb" d="M50,28.72v6.17c0,1.49-1.21,2.7-2.7,2.7H2.7c-1.49,0-2.7-1.21-2.7-2.7v-6.17l9.66-10.03L20.7,28.2 c1.15,0.98,2.67,1.53,4.3,1.53c1.63,0,3.16-0.55,4.3-1.53l11.03-9.51L50,28.72z"/><path fill="%2355afbb" d="M50,2.7v2.7L26.42,25.71c-0.76,0.66-2.09,0.66-2.84,0L0,5.4V2.7C0,1.2,1.21,0,2.7,0H47.3 C48.79,0,50,1.2,50,2.7z"/></g></svg>') center/contain no-repeat;
		background: var(--main_color);
		width: min(10vw, 48px);
		height: auto;
		aspect-ratio: 4/3;
		display: block;
		margin-right: 0.8rem;
	}

	.form-link:after {
		content: "";
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 50"><path fill="%23d9d9d9" d="M25,0C11.19,0,0,11.19,0,25s11.19,25,25,25c13.81,0,25-11.19,25-25S38.81,0,25,0z M37.53,25.33L25.62,36.67 c-1.15,1.1-2.97,1.05-4.07-0.1c-1.1-1.15-1.05-2.97,0.1-4.07l4.86-4.62H15c-1.59,0-2.88-1.29-2.88-2.88s1.29-2.88,2.88-2.88h11.5 l-4.86-4.62c-1.15-1.09-1.2-2.92-0.1-4.07c1.1-1.15,2.92-1.2,4.07-0.1l11.91,11.33c0.09,0.09,0.14,0.21,0.14,0.33 C37.67,25.13,37.62,25.24,37.53,25.33z"/></svg>') no-repeat center center/contain;
		display: block;
		width: min(4.5vw, 25px);
		height: auto;
		aspect-ratio: 1;
		margin-left: 1.1rem;
		position: relative;
		top: -0.05rem;
	}

	/*サイドバー*/
	.company_tel a,
	.company_fax a {
		pointer-events: none !important;
	}

	.sidebar img {
		max-width: 100%;
		height: auto;
	}

	.widget_nav_menu:not(:last-child),
	.box-side:not(:last-child) {
		margin-bottom: 30px;
	}

	.widget_nav_menu h3,
	.head-side {
		position: relative;
		padding: 9px 0;
		font-size: 16px;
		font-weight: bold;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		background: var(--main_color);
		color: #fff;
		margin-bottom: 15px;
		line-height: 1;
	}

	.widget_nav_menu h3:before,
	.head-side:before,
	.widget_nav_menu h3:after,
	.head-side:after {
		display: block;
		content: none;
		height: 16px;
		background-color: #eeeeee;
		-webkit-box-flex: 1;
		-ms-flex: 1 0 0%;
		flex: 1 0 0%;
		min-width: 20px;
	}

	.widget_nav_menu h3:before,
	.head-side:before {
		margin-right: 0.5em;
	}

	.widget_nav_menu h3:after,
	.head-side:after {
		margin-left: 0.5em;
	}

	.widget_nav_menu .menu>li {
		position: relative;
	}

	.widget_nav_menu .menu>li,
	.list-side>li:not(:last-of-type) {
		border-bottom: 1px solid #eee;
	}

	.widget_nav_menu .menu>li a,
	.list-side>li a {
		display: block;
		position: relative;
		padding: 0.75em 0;
		background: #fff;
		line-height: 1.25;
	}

	.widget_nav_menu .menu>li a:after {
		-webkit-transform: rotate(45deg);
		display: inline-block;
		position: absolute;
		top: 0;
		right: 1em;
		bottom: 0;
		width: 10px;
		height: 10px;
		margin: auto;
		transform: rotate(45deg);
		border-top: 2px solid #999;
		border-right: 2px solid #999;
		content: "";
	}

	.widget_nav_menu ul>li>ul.sub-menu {
		visibility: hidden;
		position: absolute;
		top: 0;
		left: 100%;
		width: 100%;
		opacity: 0;
		transition: 0.5s;
	}

	.widget_nav_menu ul>li:hover>ul.sub-menu {
		visibility: visible;
		z-index: 10;
		opacity: 1;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li:nth-child(1):before {
		content: "";
		height: 15px;
		width: 15px;
		display: block;
		background: var(--main_color);
		transform: rotate(-45deg);
		position: absolute;
		top: 0;
		bottom: 0;
		left: -8px;
		margin: auto 0;
		z-index: -1;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li>ul>li:nth-child(1):before {
		background: #104f82;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li:not(:last-child) {
		border-bottom: 1px solid #c9caca;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li {
		position: relative;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li a {
		background: var(--main_color);
		padding: 0.75em 1em;
		color: #ffffff;
		z-index: 1;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li a:hover {
		opacity: 1;
		background: #3b80b7;
	}

	.widget_nav_menu ul>li>ul.sub-menu>li>ul>li>a {
		background: #104f82;
	}

	.wp-caption-text {
		font-size: 15px;
		line-height: 1.75;
		margin-top: 0.5em;
		width: 300px;
		text-align: justify;
		letter-spacing: 0.05em;
	}

	.list-side2 {
		margin-bottom: 1em;
	}

	.list-side2 li:not(:first-child) {
		margin-top: 15px;
	}

	.list-side2 a {
		display: flex;
	}

	.list-side2 a div:nth-child(1) {
		width: 90px;
		margin-right: 10px;
	}

	.list-side2 a div:nth-child(2) {
		width: 200px;
	}

	.box-side2 .list-side2 img {
		width: 100%;
		height: 90px !important;
	}

	.list-side2 time {
		display: block;
		margin-bottom: 0.5em;
		font-size: 12px;
	}

	.list-side2 span {
		font-size: 14px;
		line-height: 1.5;
	}

	.box-search {
		display: flex;
		padding-top: 12px;
	}

	.box-search input[type="text"] {
		width: 85%;
		padding: 7px 14px 6px;
		border-radius: 4px 0 0 4px;
	}

	.box-search button[type="submit"] {
		width: 15%;
	}

	.box-search .fa-search {
		display: block;
		background: #666666;
		height: 39px;
		border-radius: 0 4px 4px 0;
		position: relative;
	}

	.box-search .fa-search:before {
		content: "";
		background: url(images/search.svg);
		background-size: cover;
		display: block;
		height: 20px;
		width: 20px;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		margin: auto;
	}

	.side-compnay {
		line-height: 1.5;
	}

	.side-compnay picture {
		margin-top: 12px;
	}

	.side-compnay img {
		margin-bottom: 1em;
	}

	.side-address-compnay {
		margin-bottom: 1em;
	}

	.side-address-compnay p:before {
		content: "";
		display: inline-block;
		width: 14px;
		height: 14px;
		margin-right: 5px;
		background-size: cover;
		position: relative;
		top: 2px;
	}

	.company_name:before {
		background: url(images/company.svg);
	}

	.company_zipcode:before {
		background: url(images/zip.svg);
	}

	.company_pref:before {
		background: url(images/pref.svg);
	}

	.company_tel:before {
		background: url(images/tel2.svg);
	}

	.company_fax:before {
		background: url(images/fax.svg);
	}

	.side-list-compnay {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(min(48%, 100px), 1fr));
		gap: min(4vw, 15px);
	}

	.side-list-compnay a {
		display: block;
		padding: 0.5em 1em;
		border: 1px solid #aaaaaa;
		font-size: 12px;
		text-align: center;
	}

	/*パンくずリスト*/
	.breadcrumb {
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		margin-bottom: 2em;
		padding: 1em 0 0.5em;
	}

	.breadcrumb li:not(:first-child):before {
		margin: 0 0.5em 0 1em;
		font-size: 12px;
		content: "/";
	}

	.breadcrumb a,
	.breadcrumb span {
		font-size: 12px;
	}

	.breadcrumb a:hover {
		text-decoration: underline;
		opacity: 1;
	}

	/*間隔*/
	.interval5em>*:not(:last-child) {
		margin-bottom: 0.5rem;
	}

	.interval10em>*:not(:last-child) {
		margin-bottom: 1rem;
	}

	.interval15em>*:not(:last-child) {
		margin-bottom: 1.5rem;
	}

	.interval20em>*:not(:last-child) {
		margin-bottom: 2rem;
	}

	.interval25em>*:not(:last-child) {
		margin-bottom: 2.5rem;
	}

	.interval30em>*:not(:last-child) {
		margin-bottom: 3rem;
	}

	.interval35em>*:not(:last-child) {
		margin-bottom: 3.5rem;
	}

	.interval40em>*:not(:last-child) {
		margin-bottom: 4rem;
	}

	.interval45em>*:not(:last-child) {
		margin-bottom: 4.5rem;
	}

	.interval50em>*:not(:last-child) {
		margin-bottom: 5rem;
	}

	/*その他デザインcss*/
	.related {
		margin-top: min(13vw, 80px);
	}

	.wp-block-media-text {
		margin: 32px 0;
	}

	.wp-block-media-text {
		align-items: flex-start;
	}

	.wp-block-media-text>*:nth-child(1) {
		margin-right: 32px;
	}

	.wp-block-media-text.has-media-on-the-right>*:nth-child(1) {
		margin-right: 0px;
	}

	.wp-block-media-text.has-media-on-the-right>*:nth-child(2) {
		margin-right: 32px;
	}

	.wp-block-media-text .wp-block-media-text__content {
		padding: 0;
	}

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

	.wp-block-column {
		position: relative;
	}

	.wp-block-column>*:first-child {
		margin-top: 0;
	}

	.wp-block-buttons {
		width: 100%;
	}

	.wp-block-button__link {
		width: 100%;
		max-width: 360px;
		display: block;
	}

	.single-contents .wp-block-button__link {
		text-decoration: none;
	}

	.single-contents .wp-block-button__link strong {
		background: none;
		padding: 0;
	}

	/*ギャラリー*/
	.wp-block-gallery {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(25%, 230px), 1fr));
		gap: min(3vw, 20px);
	}

	.wp-block-gallery.columns-2 {
		grid-template-columns: repeat(auto-fill, minmax(min(45%, 350px), 1fr));
		gap: min(4vw, 40px);
	}

	.wp-block-gallery.columns-3 {
		grid-template-columns: repeat(auto-fill, minmax(min(25%, 250px), 1fr));
		gap: min(3vw, 30px);
	}

	.wp-block-gallery.columns-5 {
		grid-template-columns: repeat(auto-fill, minmax(min(25%, 180px), 1fr));
	}

	.wp-block-gallery.columns-6 {
		grid-template-columns: repeat(auto-fill, minmax(min(25%, 150px), 1fr));
	}

	.wp-block-gallery img {
		width: 100%;
		object-fit: cover;
		aspect-ratio: 3/2;
	}

	/*****************************
 * 装飾
 * ***************************/


	[class*="back_color-"] {
		background: var(--sub_color);

		&[class*="-main"] {
			background:#c1ffba;
		}

		&[class*="-key"] {
			background: var(--key_color);
		}

		&[class*="-gray"] {
			background:#fdffb6;
		}
	}

	[class*="mat-"] {
		padding: min(8vw, 5rem);

		&[class*="-middle"] {
			padding: min(8vw, 3rem);
		}

		&[class*="-min"] {
			padding: min(6vw, 2rem);
		}

		&[class*="-white"] {
			background: #fff;
		}

		&[class*="-gray"] {
			background: #f2f2f2;
		}

		&[class*="-main"] {
			background: var(--main_color);
		}

		&[class*="-sub"] {
			background: var(--sub_color);
		}

		&[class*="-border"] {
			border: 1px solid var(--border_color);
		}
	}

	/*****************************
 * 見出し（タイトル）デザイン
 * ***************************/
	/*メモ帳みたいなデザイン*/
	.notepad-title-box {
		position: relative;
		padding: min(6vw, 2.5rem);
		display: flex;
		flex-direction: column;
		align-items: center;
		background: var(--sub_color);
		width: min(100%, 480px);
		margin: 0 auto min(11.5vw, 65px);
	}

	.notepad-title-box:before {
		content: "";
		background: #b8b8b8;
		display: block;
		width: min(17vw, 93px);
		height: 2px;
		transform: rotate(140deg);
		position: absolute;
		top: min(4vw, 1.3rem);
		left: max(-4vw, -1.4rem);
	}

	.notepad-title-box:after {
		content: "";
		background: #b8b8b8;
		display: block;
		width: min(17vw, 93px);
		height: 2px;
		transform: rotate(140deg);
		position: absolute;
		bottom: min(4vw, 1.3rem);
		right: max(-4vw, -1.4rem);
	}

	.notepad-title {
		font-size: min(9.5vw, 50px);
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
		font-weight: bold;
		line-height: 1.25;
	}

	.notepad-sub {
		color: var(--main_color);
		font-size: min(3.7vw, 18px)
	}


	@media screen and (min-width: 1241px) {
		.single-wrap {
			border: 1px solid #ccc;
			padding: min(5vw, 52px);
		}

		.has-large-font-size {
			font-size: 42px;
		}

		.wp-block-cover__inner-container p {
			color: #ffffff;
			font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		}
	}


	@media screen and (min-width: 901px) {
		.tb {
			display: none;
		}

		.sp {
			display: none;
		}

		.pc-textCenter {
			text-align: center;
			line-height: 2.6;
		}

		.wrap-2column {
			display: flex;
			flex-flow: row-reverse nowrap;
		}

		.wrap-2column .sidebar {
			flex: 0 min(30%, 300px);
		}

		/*ヘッダー*/
		#nav-content,
		.nav,
		.nav>.contents,
		.nav .header-tel {
			height: 100%;
		}

		.header-tel {
			justify-content: center;
		}

		.nav-drawer {
			display: flex;
			flex-wrap: wrap;
			/* 			align-items: center; */
			width: 100%;
			gap: min(3vw, 15px) min(5vw, 25px);
		}

		.inner-header {
			padding: 0;
			margin-right: auto;
		}

		.wrap-logo {
			margin-left: 2rem;
		}

		.wrap-logo .logo {
			margin: min(4vw, 1rem) 0;
		}

		.wrap-logo .logo img {
			/* max-height: 50px; */
		}

		.nav {
			color: #666;
		}

		.nav>.contents {
			display: flex;
			align-items: center;
			margin: 0;
		}

		.drawer-nav {
			display: none;
		}

		#nav-open {
			display: none;
		}

		.btn-close {
			display: none;
		}

		.inner {
			padding: 0 50px;
		}

		.wrap-section-interval>*:not(:last-child) {
			margin-bottom: 90px;
		}

		.wrap-section-padding>* {
			padding: 60px 0;
		}

		.wrap-1column .box-post-img-text {
			width: calc((100% - 75px) / 3);
		}

		.wrap-main {
			display: flex;
			position: absolute;
			top: -25px;
			left: -450px;
			align-items: center;
			justify-content: flex-end;
			width: 898px;
			height: 305px;
			padding: 50px;
		}

		.inner-main {
			width: 250px;
		}

		.inner-main h1 {
			font-size: 26px;
		}

		.inner-main p {
			font-size: 14px;
		}

		.wrap-tel-header {
			display: flex;
			flex-wrap: nowrap;
		}

		a[href^="tel:"] {
			pointer-events: none;
			word-break: keep-all;
			white-space: nowrap;
		}

		.btn-form,
		button.btn-form {
			width: 250px;
			padding: 1em;
			font-size: 15px;
		}

		.pagetop.active {
			bottom: 20px;
			opacity: 0.7;
			transition: unset;
		}

		.pagetop.active:hover {
			opacity: 1;
		}

		.icon-question:before,
		.icon-tel:before {
			width: 15px;
			height: 15px;
		}

		.bg-footer {
			background: url(images/bg-footer.jpg) no-repeat center top -1px;
			background-size: 2001px 273px;
		}

		.index .overlay:before {
			z-index: 4;
			position: absolute;
			top: -40px;
			left: -450px;
			width: 480px;
			height: 743px;
			background: rgba(0, 155, 219, 0.6);
			content: "";
		}

		.index1:after {
			z-index: 1;
			position: absolute;
			top: -160px;
			left: -450px;
			width: 898px;
			height: 864px;
			background: url(images/index1.png) no-repeat center center;
			content: "";
		}

		.bg-company {
			background: url(images/bg-works.png) no-repeat center top;
		}

		.bg-outline {
			background: url(images/bg-outline.jpg) no-repeat center top;
		}

		.bg-history {
			background: url(images/bg-history.jpg) no-repeat center top;
		}

		.bg-access {
			background: url(images/bg-access.jpg) no-repeat center top;
		}

		.table-common th {
			width: 180px;
			padding: 0.5em 1em;
			vertical-align: top;
		}

		.table-common td {
			padding: 0.5em 1em;
			vertical-align: top;
		}

		.table-contact {
			margin-bottom: 60px;
		}

		.table-contact th {
			width: 230px;
			padding: 2em 0 0 1em;
			border-bottom: 1px solid #ccc;
			font-size: 15px;
			vertical-align: middle;
			vertical-align: top;
		}

		.table-contact th.required:after {
			top: 2.5em;
			font-size: 11px;
		}

		.table-contact td {
			padding: 1em 2em;
		}

		.confirm .table-contact td {
			height: 72px;
			line-height: 40px;
		}

		.wrap-1column .box-post-archive a>div:nth-child(1) {
			width: 300px;
			margin-right: 40px;
		}

		.wrap-1column .box-post-archive a>div:nth-child(2) {
			width: calc(100% - 300px);
		}

		/*フッター*/

		.inner-footer-top .wrap-simple-footer-nav {
			display: none;
		}

		/*フッター　ワンカラム*/
		.inner-footer-one .simple-footer-nav li:not(:first-of-type) a {
			border-left: 1px solid #fff;
		}
	}

	@media screen and (min-width: 901px) and (max-width:1240px) {
		.wrap-2column .main-column {
			width: calc(100% - 340px);
		}
	}

	@media screen and (max-width: 900px) {
		body p {
			line-height: 1.85;
		}

		.pc {
			display: none;
		}

		.sp {
			display: block;
		}

		.wrap-2column .main-column {
			margin-bottom: min(20vw, 120px);
		}

		.wrap-2column .section-common:nth-child(1) h2 {
			margin-top: 0px;
		}

		.wrap-section-interval>*:not(:last-child) {
			margin-bottom: 15vw;
		}

		.wrap-2column .section-common:not(:last-child) {
			margin-bottom: 10vw;
		}

		.pagetop {
			right: 3vw;
			bottom: -60px;
		}

		.pagetop.active {
			bottom: 3vw;
		}

		/*ヘッダー*/
		.header-tel {
			margin: 20px 20px 0;
		}

		.wrap-logo {
			margin-left: 20px;
		}

		.wrap-tel-header {
			display: none;
		}

		.global-nav {
			display: none;
		}

		#nav-close {
			display: none;
			z-index: 99;
			position: fixed;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background: #000;
			opacity: 0;
			transition: 0.3s ease-in-out;
		}

		#nav-content {
			-webkit-transform: translateX(-105%);
			z-index: 9999;
			position: fixed;
			top: 0;
			left: 0;
			width: 90%;
			max-width: 300px;
			min-width: 300px;
			height: 100%;
			overflow: auto;
			transform: translateX(-105%);
			background: #fff;
			transition: 0.5s ease-in-out;
			white-space: nowrap;
			word-break: keep-all;
		}

		.btn-close {
			display: block;
		}

		#nav-input:checked~#nav-close {
			display: block;
			opacity: 0.5;
		}

		#nav-input:checked~#nav-content {
			-webkit-transform: translateX(0%);
			transform: translateX(0%);
			box-shadow: 6px 0 25px rgb(0 0 0 / 15%);
		}

		.htel {
			font-size: min(4vw, 27px);
		}

		.header-tel:before {
			width: min(3.5vw, 24px);
			left: min(2.5vw, 1.2rem);
		}

		/*サイドバー*/
		.sidebar {
			display: flex;
			flex-flow: row wrap;
			justify-content: space-between;
		}

		.sidebar>* {
			width: 100%;
		}

		.sidebar .widget_nav_menu {
			display: none;
		}

		.sidebar img {
			width: 100%;
		}

		.list-side2 a div:nth-child(1) {
			width: 40%;
			margin-right: 5%;
		}

		.list-side2 a div:nth-child(2) {
			width: 55%;
		}

		.side-compnay {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}

		.side-compnay h3 {
			width: 100%;
		}

		.side-compnay picture {
			width: 100%;
		}

		.side-address-compnay-box {
			width: 100%;
		}

		.company-photo {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}

		.sidebar .company-photo>div {
			width: 48%;
			margin-bottom: 4vw;
		}

		body .telp {
			text-align: center;
			font-size: 3.5vw;
		}

		.contact-tel {
			font-size: 6vw;
			display: block;
			margin: 4vw 0 0;
		}

		/*フッター*/
		.footer-top .tb-contents {
			width: 100%;
			padding-right: 0;
			padding-left: 0;
		}

		.footer-nav {
			align-items: center;
		}

		.footer-contents {
			width: 100%;
		}

		.footer-top {
			padding-bottom: 0;
		}

		.inner-footer-top {
			flex-flow: row wrap;
			justify-content: center;
			gap: min(5vw, 25px);
		}

		.box-info-footer {
			display: flex;
			flex-flow: column nowrap;
			align-items: center;
			width: min(100%, 430px);
			padding: 0 min(8vw, 40px);
		}

		.wrap-footer-nav {
			display: none;
		}

		.footer-top .sns-link {
			padding: 0 min(8vw, 40px);
			width: 100%;
			justify-content: center;
			margin-bottom: min(11vw, 70px);
		}

		.simple-footer-nav {
			flex-wrap: wrap;
			justify-content: space-between;
		}

		.simple-footer-nav li {
			width: 50%;
			text-align: center;
			border-top: 1px solid #fff;
		}

		.simple-footer-nav li:nth-of-type(odd) {
			border-right: 1px solid #fff;
		}

		/* 		.simple-footer-nav li:nth-last-of-type(2){
			border-bottom: 1px solid #fff;
		} */
		.simple-footer-nav li a {
			border-right: none;
			width: 100%;
			padding: min(3.5vw, 15px);
			display: block;
		}

		/*フッター　ワンカラム*/
		.footer-one {
			padding-bottom: 0;
		}

		.footer-one .contents {
			width: 100%;
			padding-right: 0;
			padding-left: 0;
		}

		/*テキスト投稿*/
		.box-post-text h3 {
			width: 100%;
		}
	}

	@media screen and (min-width: 641px) and (max-width:900px) {
		.wrap-logo .logo img {
			/* max-height: 45px; */
		}

		.wrap-1column .box-post-archive a>div:nth-child(1) {
			width: 240px;
			margin-right: 40px;
		}

		.wrap-1column .box-post-archive a>div:nth-child(2) {
			width: calc(100% - 280px);
		}

		.widget_media_image figure {
			width: 100% !important;
			display: flex;
			flex-direction: row;
		}

		.widget_media_image figure a {
			max-width: 300px;
			margin-right: 2%;
		}

		.widget_media_image figcaption {
			margin-top: 0;
			width: calc(100% - (300px + 2%));
		}
	}

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

.spsmall{font-size:18px!important;}

		/*モバイルヘッダー*/
		.header-tel {
			padding: min(4vw, 1rem) min(3vw, 1rem) min(4vw, 1rem) min(13vw, 3.3rem);
			font-family: "Roboto", sans-serif;
		}

		.header-tel:before {
			width: min(7vw, 24px);
			left: min(4.5vw, 1.5rem);
		}

		.htel {
			font-size: min(7.5vw, 27px);
		}

		.htime-holi {
			font-size: min(2.7vw, 12px);
			margin-top: 0.3rem;
		}

		.inner-header {
			height: 70px;
			/* padding: 25px 0 5px; */
		}

		.wrap-logo {
			margin-left: 0;
		}

		.wrap-logo .logo {
			width: 180px;
			margin-left: 10px;
		}

		.head-header {
			position: absolute;
			top: 0;
			width: 100%;
			margin: 0;
			background: var(--main_color);
			line-height: 15px;
		}

		.head-header>* {
			color: #fff;
			font-size: 8px;
			text-align: center;
			line-height: 1.75;
		}

		.list-sp-menu {
			display: flex;
			position: absolute;
			top: 15px;
			right: 50px;
		}

		/*spアイコンの色を変えるならfill内を"23"から初めて16進数のカラーコードで記述をする事*/
		.sp-header-tel:before {
			content: "";
			display: inline-block;
			height: 25px;
			width: 25px;
			mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%2355afbb" d="M15,12H17A5,5 0 0,0 12,7V9A3,3 0 0,1 15,12M19,12H21C21,7 16.97,3 12,3V5C15.86,5 19,8.13 19,12M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z" /></svg>') center / contain no-repeat;
			background: var(--main_color);
			margin: 0 auto;
			right: 0;
			left: 0;
		}

		.sp-header-contact:before {
			content: "";
			display: inline-block;
			height: 25px;
			width: 25px;
			mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%2355afbb" d="M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z" /></svg>') center / contain no-repeat;
			background: var(--main_color);
			margin: 0 auto;
			right: 0;
			left: 0;
		}

		.sp-header-access:before {
			content: "";
			display: inline-block;
			height: 25px;
			width: 25px;
			mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%2355afbb" d="M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z" /></svg>') center / contain no-repeat;
			background: var(--main_color);
			margin: 0 auto;
			right: 0;
			left: 0;
		}

		#nav-open {
			top: 50%;
			right: 10px;
			translate: 0 -50%;
		}

		/*モバイルアーカイブ*/
		.box-post-archive a {
			flex-flow: wrap;
		}

		.box-post-archive a:after {
			position: unset;
			bottom: none;
			right: none;
			width: 100%;
		}

		.box-post-archive a>div:nth-child(1) {
			width: 25vw;
		}

		.box-post-archive a>div:nth-child(2) {
			width: calc(100% - 25vw - 20px);
		}

		.main-column .box-post-archive h3,
		.wrap-1column .box-post-archive h3 {
			margin: 5px 0;
			letter-spacing: 0.1em;
			line-height: 1.25;
			font-size: 16px;
		}

		/*モバイルフッター*/
		.box-footer-top {
			padding: 10vw 10vw 7.5vw;
			text-align: center;
		}

		.wrap-footer-nav {
			display: none;
		}

		/*モバイルサイドバー*/
		.sidebar {
			display: block;
		}

		.sidebar>* {
			width: auto;
		}

		.widget_nav_menu:not(:last-child),
		.box-side:not(:last-child) {
			margin-bottom: 10vw;
		}

		.list-side2 a div:nth-child(1) {
			width: 30%;
		}

		.list-side2 a div:nth-child(2) {
			width: 65%;
		}

		/*モバイルレイアウト*/
		.textCenter {
			text-align: unset;
		}

		.spFullWidth {
			width: 100%;
			height: auto;
		}

		.wrap-main {
			width: 100%;
			padding: 10vw 5vw;
		}

		.inner-main h1 {
			font-size: 6vw;
		}

		.btn-form,
		button.btn-form {
			width: 65vw;
			padding: 1em;
		}

		.pagination .pager {
			min-width: 7.5vw;
			height: 7.5vw;
			font-size: 4vw;
			line-height: 7.5vw;
		}

		.pagination .pager i:before {
			min-width: 7.5vw;
			height: 7.5vw;
			font-size: 4vw;
			line-height: 7.5vw;
		}

		.bg-footer {
			background: url(images/bg-footer@2x.jpg) no-repeat center top;
			background-size: 100% 55.5vw;
		}

		.bg-company {
			background: url(images/bg-works.png) no-repeat right 40% bottom;
			background-size: cover;
		}

		.bg-outline {
			background: url(images/bg-outline.jpg) no-repeat center top;
			background-size: cover;
		}

		.bg-history {
			background: url(images/bg-history.jpg) no-repeat center top;
			background-size: cover;
		}

		.bg-access {
			background: url(images/bg-access.jpg) no-repeat center top;
			background-size: cover;
		}

		.spImgFullWidth {
			display: block;
			width: 100%;
			height: auto;
		}

		.wrap-about {
			flex-flow: row wrap;
			justify-content: center;
		}

		.wrap-about>div:nth-child(1) {
			margin-right: 0;
			margin-bottom: 3vw;
			margin-left: 0;
			width: 100%;
		}

		.wrap-about>div:nth-child(1) img {
			width: 100%;
		}

		.wrap-about>div:nth-child(2) {
			width: 100%;
		}

		.widget_media_image figure {
			width: 100% !important;
		}

		.widget_media_image figcaption {
			width: 100%;
		}

		/*投稿記事移動*/
		.nav-link {
			z-index: 10;
			bottom: 0;
			left: 0;
			width: 100%;
		}

		.link-prev,
		.link-next,
		.link-archive {
			flex: 1;
			width: auto;
			height: 100%;
		}

		.link-prev a,
		.link-next a,
		.link-archive a {
			height: 100%;
			font-size: 12px;
		}

		.link-prev a {
			border-right: none;
		}

		.link-next a {
			border-left: none;
		}

		.icon-question:before,
		.icon-tel:before {
			width: 4vw;
			height: 4vw;
		}

		/*モバイルテーブル*/
		.table-common>tbody>tr,
		.table-contact>tbody>tr {
			display: flex;
			flex-flow: wrap;
			align-items: center;
			width: 100%;
		}

		.table-common>tbody>tr th,
		.table-contact>tbody>tr th,
		.table-common>tbody>tr td,
		.table-contact>tbody>tr td {
			min-width: 8em;
			list-style-type: none;
			width: 100%;
		}

		.main-column .contact-form table th,
		.main-column .contact-form table td {
			width: 100%;
			padding-left: 0;
			background: none;
		}

		.main-column .contact-form table td {
			padding-top: 0;
		}

		.main-column .contact-form table tr:last-of-type td {
			border-bottom: none;
		}

		.table-common th {
			padding: 1em 0 0.5em;
		}

		.table-common td {
			padding: 0 0 1em;
			border-bottom: 1px solid #eee;
		}

		.table-contact {
			margin-bottom: 5vw;
		}

		.table-contact th {
			padding: 1.5em 1em 0.5em;
		}

		.table-contact th.required:after {
			top: 1.5em;
			margin-right: 1em;
			font-size: 2.7vw;
		}

		.table-contact td {
			padding: 0.5em 1em 1.5em;
		}

		.main-column table th {
			border-bottom: none;
			border-top: none;
			background: #f3f3f3;
		}

		.mobile-tel-header a {
			letter-spacing: -0.02em;
		}
	}
}

/*--------------------base.cssここまで--------------------*/


/*--------------------（レイアウト）layout.css--------------------*/
@layer layout {

	/*幅*/

	[class*="width-"] {
		margin-left: auto;
		margin-right: auto;
	}

	.width-960 {
		inline-size: min(100%, 960px);
	}

	.width-1080 {
		inline-size: min(100%, 1080px);
	}

	.width-over {
		inline-size: 100vw;
		position: relative;
		left: 50%;
		transform: translateX(-50vw);
	}

	.width-over [class*="width-"]:not([class*="mat"]) {
		padding-right: min(40px, 8vw);
		padding-left: min(40px, 8vw);
	}

	.width-over_right {
		margin-right: calc(50% - 50vw);
	}

	.width-over_left {
		margin-left: calc(50% - 50vw);
	}

	/*番号*/

	[class*="number-"] {
		position: relative;

		*:has(>&) {
			counter-reset: number 0;
		}

		&.number-square:before {
			counter-increment: number 1;
			content: counter(number);
			position: absolute;
			inset-block-start: 0;
			inset-inline-start: 0;
			font-size: min(12vw, 30px);
			aspect-ratio: 1/1;
			background: var(--main_color);
			color: #fff;
			display: flex;
			align-items: center;
			justify-content: center;
			inline-size: 3rem;
		}
	}


	/*flex*/
	/*
  div:has(> [class*="flex-"]) {
    container: gap / inline-size;
  }
	*/

	:is([class*="flex-"]:not(.wp-block-group, .flex-column, .flex-center), [class*="flex-"].wp-block-group:not(.flex-column, .flex-center) >div) {
		display: flex;
		gap: min(6vw, 6rem) min(4vw, 4rem);

		:is(&.container-small, .container-small >&) {
			gap: min(6vw, 4rem) min(4vw, 3rem);
		}

		&>* {
			margin: unset;
		}
	}

	:is(.no-wrap:not(.wp-block-group), .no-wrap.wp-block-group >div) {
		flex-wrap: nowrap !important;
	}

	:is(.no-gap:not(.wp-block-group), .no-gap.wp-block-group >div) {
		gap: unset !important;
	}


	.flex-column {
		:is(&:not(.wp-block-group), &.wp-block-group >div) {
			display: flex;
			flex-flow: column;
			gap: min(8vw, 3rem);

			&>*:last-child {
				margin-top: auto !important;
			}
		}

		&.flex-reverse {
			:is(&:not(.wp-block-group), &.wp-block-group >div) {
				flex-flow: column-reverse;
				block-size: auto;
				gap: min(12vw, 4rem);

				@media(width <=900px) {
					flex-flow: column;
				}
			}
		}
	}

	:is(.flex-center:not(.wp-block-group), .flex-center.wp-block-group >div) {
		display: flex;
		flex-flow: column;
		align-items: center;
		gap: 0;
	}

	.self-top {
		align-self: flex-start;
	}

	.self-center {
		align-self: center;
	}

	.self-end {
		align-self: flex-end;
	}

	:is(.flex-reverse:not(.wp-block-group), .flex-reverse.wp-block-group >div) {
		flex-flow: row-reverse;
	}

	:is(.flex:not(.wp-block-group), .flex.wp-block-group >div) {
		display: flex;
		flex-flow: row;
		gap: 4rem;

		&>* {
			flex: 1;
		}

		&:has(> :nth-child(3)) {
			gap: 2rem;
		}

		&:has(> :nth-child(4)) {
			gap: 2rem;
		}

		&:has(> :nth-child(5)) {
			gap: 1rem;
		}
	}


	:is(.flex-0_1:not(.wp-block-group), .flex-0_1.wp-block-group >div)>*:nth-child(1) {
		flex: 0 auto;
	}

	:is(.flex-0_1:not(.wp-block-group), .flex-0_1.wp-block-group >div)>*:nth-child(2) {
		flex: 1;
	}

	:is(.flex-1:not(.wp-block-group), .flex-1.wp-block-group >div)>* {
		flex: 1;

		&.object_min {
			flex: 0 calc(50% - min(4vw, 4rem))
		}
	}

	:is(.flex-1_2:not(.wp-block-group), .flex-1_2.wp-block-group >div) {
		display: flex;
	}

	:is(.flex-1_2:not(.wp-block-group), .flex-1_2.wp-block-group >div)>*:nth-child(1) {
		flex: 1;
	}

	:is(.flex-1_2:not(.wp-block-group), .flex-1_2.wp-block-group >div)>*:nth-child(2) {
		flex: 2;
	}

	:is(.flex-1_3:not(.wp-block-group), .flex-1_3.wp-block-group >div)>*:nth-child(1) {
		flex: 1;
	}

	:is(.flex-1_3:not(.wp-block-group), .flex-1_3.wp-block-group >div)>*:nth-child(2) {
		flex: 3;
	}

	:is(.flex-2_1:not(.wp-block-group), .flex-2_1.wp-block-group >div)>*:nth-child(1) {
		flex: 2;
		margin: unset;
	}

	:is(.flex-2_1:not(.wp-block-group), .flex-2_1.wp-block-group >div)>*:nth-child(2) {
		flex: 1;
	}

	:is(.flex-2_5:not(.wp-block-group), .flex-2_5.wp-block-group >div)>*:nth-child(1) {
		flex: 2;
	}

	:is(.flex-2_5:not(.wp-block-group), .flex-2_5.wp-block-group >div)>*:nth-child(2) {
		flex: 5;
	}

	:is(.flex-3_1:not(.wp-block-group), .flex-3_1.wp-block-group >div)>*:nth-child(1) {
		flex: 3;
	}

	:is(.flex-3_1:not(.wp-block-group), .flex-3_1.wp-block-group >div)>*:nth-child(2) {
		flex: 1;
	}

	:is(.flex-3_2:not(.wp-block-group), .flex-3_2.wp-block-group >div)>*:nth-child(1) {
		flex: 3;
	}

	:is(.flex-3_2:not(.wp-block-group), .flex-3_2.wp-block-group >div)>*:nth-child(2) {
		flex: 2;
	}

	:is(.flex-3_8:not(.wp-block-group), .flex-3_8.wp-block-group >div)>*:nth-child(1) {
		flex: 3;
	}

	:is(.flex-3_8:not(.wp-block-group), .flex-3_8.wp-block-group >div)>*:nth-child(2) {
		flex: 8;
	}

	.flex-list_center {
		display: flex;
		justify-content: center;
	}

	:is(.flex-info:not(.wp-block-group), .flex-info.wp-block-group >div) {
		display: flex;
		gap: 1rem;
		font-size: min(3.5vw, 14px);
	}

	:is(.flex-info:not(.wp-block-group), .flex-info.wp-block-group >div)>* {
		flex: 1;

		&:has(img) {
			flex: 0 min(30%, 150px);
		}
	}

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

		:is(.flex-1:not(.wp-block-group), .flex-1.wp-block-group >div),
		:is(.flex-1:not(.wp-block-group), .flex-1.wp-block-group >div):has(.width-over_left, .width-over_right) {
			flex-flow: wrap;
			gap: min(16vw, 4rem) min(4vw, 2rem);

			&>* {
				flex: 1 100%;
			}
		}

	}

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

		:is([class*="flex-"]:not(.wp-block-group, .flex-column, .no-wrap, .flex-center), [class*="flex-"].wp-block-group:not(.flex-column, .no-wrap, .flex-center) >div) {
			flex-flow: wrap;

			&>* {
				flex: 1 100%;
			}
		}

		:is(.flex-2:not(.wp-block-group), .flex-2.wp-block-group >div):has(.width-over_left, .width-over_right) {
			gap: min(16vw, 4rem) min(4vw, 2rem);

			&>* {
				flex: 1 100%;
			}
		}

	}


	/*grid*/
	/*
  *:has(> [class*="grid-"]) {
    container: gap / inline-size;
  }
*/

	:is([class*="grid-"]:not(.wp-block-group), [class*="grid-"].wp-block-group >div) {
		display: grid;

		&>* {
			margin: unset;
		}

		&.list-member {
			gap: min(8vw, 0.5rem) min(6vw, 1rem);
			/* font-weight: 700; */
		}


		&:is(.no-gap:not(.wp-block-group), .no-gap.wp-block-group >div) {
			gap: unset !important;
		}
	}

	:is(.grid-2:not(.wp-block-group), .grid-2.wp-block-group >div) {
		grid-template: auto / repeat(auto-fill, minmax(min(40%, 600px), 1fr));
		gap: min(8vw, 6rem) min(6vw, 6rem);

		@container gap (width <=1280px) {
			grid-template: auto / repeat(auto-fill, minmax(min(40%, 420px), 1fr));
			gap: min(8vw, 4rem) min(4vw, 4rem);
		}

		@container gap (width <=840px) {
			grid-template: auto / repeat(auto-fill, minmax(min(100%, 300px), 1fr));
			gap: min(6vw, 3rem) min(4vw, 2rem);
		}

		:is(&.container-small, .container-small >&) {
			grid-template: auto / repeat(auto-fill, minmax(min(100%, 300px), 1fr));
			gap: min(8vw, 3rem) min(4vw, 2rem);

			:is(&.shape-keep, .shape-keep >&) {
				grid-template: auto / repeat(auto-fill, minmax(min(40%, 300px), 1fr));
				gap: min(4vw, 4rem) min(4vw, 2rem);
			}
		}

		@media (width <=800px) {
			:is(&.shape-keep, .shape-keep >&) {
				grid-template: auto / repeat(auto-fill, minmax(min(40%, 300px), 1fr));
				gap: min(4vw, 4rem) min(4vw, 3rem);
			}
		}
	}

	:is(.grid-3:not(.wp-block-group), .grid-3.wp-block-group >div) {
		grid-template: auto / repeat(auto-fill, minmax(min(40%, 480px), 1fr));
		gap: min(8vw, 4rem) min(6vw, 4rem);

		@container gap (width <=1280px) {
			grid-template: auto / repeat(auto-fill, minmax(min(100%, 280px), 1fr));
			gap: min(6vw, 3rem) min(4vw, 3rem);
		}

		@container gap (width <=840px) {
			grid-template: auto / repeat(auto-fill, minmax(min(100%, 200px), 1fr));
			gap: min(6vw, 3rem) min(4vw, 2rem);
		}

		:is(&.container-small, .container-small >&) {
			grid-template: auto / repeat(auto-fill, minmax(min(100%, 200px), 1fr));
			gap: min(6vw, 3rem) min(4vw, 2rem);

			:is(&.shape-keep, .shape-keep >&) {
				grid-template: auto / repeat(auto-fill, minmax(min(40%, 280px), 1fr));
			}
		}

		@media (width <=800px) {
			:is(&.shape-keep, .shape-keep >&) {
				grid-template: auto / repeat(auto-fill, minmax(min(40%, 280px), 1fr));
			}
		}
	}

	:is(.grid-4:not(.wp-block-group), .grid-4.wp-block-group >div) {
		grid-template: auto / repeat(auto-fill, minmax(min(40%, 400px), 1fr));
		gap: min(8vw, 3rem) min(6vw, 3rem);

		@container gap (width <=1280px) {
			grid-template: auto / repeat(auto-fill, minmax(min(40%, 240px), 1fr));
			gap: min(6vw, 3rem) min(4vw, 2rem);
		}

		@container gap (width <=840px) {
			grid-template: auto / repeat(auto-fill, minmax(min(40%, 180px), 1fr));
			gap: min(6vw, 2rem) min(4vw, 1rem);
		}

		:is(&.container-small, .container-small >&) {
			grid-template: auto / repeat(auto-fill, minmax(min(40%, 180px), 1fr));
			gap: min(6vw, 1rem) min(4vw, 1rem);

			:is(&.shape-keep, .shape-keep >&) {
				grid-template: auto / repeat(auto-fill, minmax(min(40%, 180px), 1fr));
			}
		}

		@media (width <=800px) {
			:is(&.shape-keep, .shape-keep >&) {
				grid-template: auto / repeat(auto-fill, minmax(min(40%, 180px), 1fr));
			}
		}

	}

	/*flex・gridポジション*/

	.order-1 {
		order: 1;
	}

	.order-2 {
		order: 2;
	}

	.order-3 {
		order: 3;
	}

	.area-a {
		grid-area: a;
	}

	.area-b {
		grid-area: b;
	}

	.area-c {
		grid-area: c;
	}

	.area-d {
		grid-area: d;
	}

	.area-e {
		grid-area: e;
	}

	/*アスペクト*/

	[class*="aspect-"]:not(:has(img)),
	[class*="aspect-"]:has(img) img {
		object-fit: cover;
		inline-size: 100%;
	}

	.aspect-1_1:not(:has(img)),
	.aspect-1_1:has(img) img {
		aspect-ratio: 1/1;
	}

	.aspect-3_1:not(:has(img)),
	.aspect-3_1:has(img) img {
		aspect-ratio: 3/1;
	}

	.aspect-4_1:not(:has(img)),
	.aspect-4_1:has(img) img {
		aspect-ratio: 4/1;
	}

	.aspect-4_3:not(:has(img)),
	.aspect-4_3:has(img) img {
		aspect-ratio: 4/3;
	}


	.aspect-5_6:not(:has(img)),
	.aspect-5_6:has(img) img {
		aspect-ratio: 5/6;
	}


	.aspect-7_5:not(:has(img)),
	.aspect-7_5:has(img) img {
		aspect-ratio: 7/5;
	}


	.aspect-8_5:not(:has(img)),
	.aspect-8_5:has(img) img {
		aspect-ratio: 8/5;
	}

	.aspect-16_9:not(:has(img)),
	.aspect-16_9:has(img) img {
		aspect-ratio: 16/9;
	}

	.aspect-20_13:not(:has(img)),
	.aspect-20_13:has(img) img {
		aspect-ratio: 20/13;
	}

	.contain[class*="aspect-"]:not(:has(img)),
	.contain[class*="aspect-"]:has(img) img {
		object-fit: contain;
		object-position: center;
	}

	.object-height img,
	.object-height video {
		object-fit: cover;
		inline-size: 100%;
		block-size: 100%;
	}

	.circle:not(:has(>img)),
	.circle:has(>img)>img {
		mask: url(images/icon-nicooto.svg) center / contain no-repeat;
	}

	.radius:not(:has(>img)),
	.radius:has(>img)>img {
		border-radius: min(4vw, 1rem);
		overflow: hidden;
	}

	.filter {
		filter: drop-shadow(0px 0px 6px #ccccccaa);
	}

	[class*="object_position-"] {
		&[class*="-top"] img {
			object-position: top;
		}

		&[class*="-bottom"] img {
			object-position: bottom;
		}
	}

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

		.aspect-1_1-sp:not(:has(img)),
		.aspect-1_1-sp:has(img) img {
			inline-size: 100%;
			aspect-ratio: 1/1;
			object-fit: cover;
		}

		.aspect-4_3-sp:not(:has(img)),
		.aspect-4_3-sp:has(img) img {
			inline-size: 100%;
			aspect-ratio: 4/3;
			object-fit: cover;
		}

		.aspect-8_5-sp:not(:has(img)),
		.aspect-8_5-sp:has(img) img {
			inline-size: 100%;
			aspect-ratio: 8/5;
			object-fit: cover;
		}

		.aspect-5_6-sp:not(:has(img)),
		.aspect-5_6-sp:has(img) img {
			inline-size: 100%;
			aspect-ratio: 5/6;
			object-fit: cover;
		}

		.aspect-3_1-sp:not(:has(img)),
		.aspect-3_1-sp:has(img) img {
			inline-size: 100%;
			aspect-ratio: 3/1;
			object-fit: cover;
		}

	}

}

/*--------------------layout.cssここまで--------------------*/
/*--------------------layout.cssここまで--------------------*/

/*--------------------design.css--------------------*/
@layer design {

	/*左線と英語*/
	.left-line-en {
		position: relative;
		font-size: min(5.5vw, 30px);
		border-left: 5px solid var(--main_color);
		margin-bottom: min(13.5vw, 75px);
		padding: min(3.3vw, 1rem) 0 min(3.3vw, 1rem) min(4vw, 1.3rem);
		line-height: 1.25;
	}

	.left-line-en:after {
		content: attr(txt);
		display: block;
		font-size: min(3.5vw, 17px);
		color: #b8b8b8;
		position: absolute;
		bottom: max(-5.5vw, -1.7rem);
		left: min(4.5vw, 1.5rem);
	}

	/*下三角がついているべた塗タイトル*/
	.back-color-arrow {
		position: relative;
		background: var(--main_color);
		color: #fff;
		font-size: min(5.5vw, 30px);
		padding: min(3.3vw, 1rem) min(4vw, 1.3rem);
		line-height: 1.25;
		margin-bottom: min(11.5vw, 65px);
	}

	.back-color-arrow:after {
		content: "";
		background: var(--main_color);
		clip-path: polygon(0% 0%, 0% 0%, 100% 0%, 50% 75%);
		width: min(7vw, 30px);
		height: auto;
		aspect-ratio: 1;
		position: absolute;
		bottom: max(-5vw, -1.5rem);
		left: min(5.5vw, 2.5rem);
	}

	/*べた塗の左外に線のあるタイトル*/
	.left-line-out {
		border-left: 10px solid var(--main_color);
		background: #ececec;
		font-size: min(5vw, 22px);
		padding: min(3.3vw, 1rem) min(4vw, 1.3rem);
		line-height: 1.25;
		margin-bottom: min(8vw, 40px);
	}

	.left-line-out+p {
		margin-top: max(-2.5vw, -1rem);
	}

	/*べた塗の内側の左に線があるタイトル*/
	.left-line-in {
		background: #ececec;
		font-size: min(5vw, 22px);
		position: relative;
		padding: min(3.3vw, 1rem) min(4vw, 1.3rem) min(3.3vw, 1rem) min(8vw, 2.1rem);
		line-height: 1.25;
		margin-bottom: min(8vw, 40px);
	}

	.left-line-in:before {
		content: "";
		background: var(--main_color);
		width: 6px;
		height: 60%;
		display: block;
		left: 15px;
		top: 50%;
		position: absolute;
		transform: translateX(-50%) translateY(-50%);
	}

	/*下線のタイトル*/
	.line-bottom {
		line-height: 1.25;
		font-size: min(5vw, 22px);
		padding-bottom: min(2.5vw, 0.7rem);
		border-bottom: 3px solid var(--main_color);
		margin-bottom: min(4.5vw, 35px);
	}

	/*背景に塗りつぶし・上線・下線あり*/
	.backcolor-line-title {
		background: var(--sub_color);
		border-top: 3px solid var(--main_color);
		border-bottom: 3px solid var(--main_color);
		font-size: min(5.5vw, 30px);
		padding: min(3vw, 0.7rem) min(4vw, 1.3rem);
		line-height: 1.25;
		margin-bottom: min(8vw, 40px);
	}

	/*背景に塗りつぶし*/
	.backcolor {
		background: var(--sub_color);
		font-size: min(5.5vw, 30px);
		padding: min(3vw, 0.7rem) min(4vw, 1.3rem);
		line-height: 1.25;
		margin-bottom: min(8vw, 40px);
	}

	/*下線テキスト中央*/
	.title-center-border_bottom {
		border-bottom: 1px solid var(--main_color);
		padding-bottom: min(2.5vw, 0.7rem);
		font-size: min(4.5vw, 22px);
		font-weight: 700;
		margin-top: min(5vw, 1.2rem);
		margin-bottom: min(3.5vw, 1rem);
		line-height: 1.5;
		text-align: center;

		+p {
			font-size: min(3.5vw, 15px);
		}
	}

	/*太字・少し大きく*/
	.sub-title-color {
		color: var(--main_color);
		line-height: 1.5;
		font-size: min(4.5vw, 20px);
		font-weight: bold;
		margin-bottom: min(1.5vw, 0.5rem);
	}

	/*真ん中・太字・少し大きく*/
	.title-min {
		font-size: min(4.5vw, 18px);
		font-weight: 700;
		margin-block-end: 0.5rem;
		line-height: 1.25;
		text-align: center;
	}

	/*最初大文字の下線付き*/
	.obig-text-title {
		position: relative;
		font-size: min(4.5vw, 22px);
		border-bottom: 1px solid var(--main_color);
		margin-bottom: min(3vw, 16px);
		padding-bottom: min(2vw, 12px);
		line-height: 1.25;

		&:first-letter {
			font-size: min(6.5vw, 30px);
			color: var(--main_color);
		}

		+p {
			font-size: min(3.5vw, 14px);
			line-height: min(6vw, 1.75rem);
		}
	}

	/*中央テキスト・下線ありの真ん中色付き*/
	.center-color-title {
		position: relative;
		font-size: min(5vw, 22px);
		text-align: center;
		border-bottom: 3px solid #ddd;
		margin-bottom: min(4vw, 16px);
		padding-bottom: min(3vw, 12px);
		line-height: 1.25;

		&::after {
			content: "";
			position: absolute;
			bottom: -3px;
			left: 50%;
			transform: translateX(-50%);
			width: 70px;
			height: 3px;
			background-color: var(--main_color);
		}
	}

	/********************************
	 * リストデザイン（通常：ドット、丸に数字）
	 * ******************************/
	.list_grid-3>div {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 150px), 1fr));
		gap: min(7vw, 60px);
		width: min(100%, 600px);
		margin: 0 auto;
	}

	/*チェックリスト*/
	.check-list li {
		position: relative;
		padding-left: min(6vw, 1.3rem);
		line-height: 1.55;
	}

	.check-list li:before {
		content: "";
		position: absolute;
		top: min(1.4vw, 6px);
		left: 1px;
		display: block;
		width: min(4vw, 12px);
		height: auto;
		aspect-ratio: 12/7;
		border-left: 2px solid var(--main_color);
		border-bottom: 2px solid var(--main_color);
		transform: rotate(-45deg);
	}

	/*タイトルありリスト*/
	.with-title-list li {
		position: relative;
		padding-left: min(5vw, 1.2rem);
		line-height: 1.65;
		font-size: min(3.5vw, 15px);

		&::before {
			content: "";
			display: block;
			position: absolute;
			top: 6px;
			left: 2px;
			width: min(2vw, 8px);
			height: auto;
			aspect-ratio: 1;
			background: var(--main_color);
			border-radius: 15px;
		}

		& strong {
			font-size: min(4.5vw, 17px);
			display: inline-block;
			margin-bottom: min(2vw, 0.3rem);
			line-height: 1.25;
		}
	}

	.with-title-list>li:not(:last-of-type) {
		margin-bottom: min(4.5vw, 1.2rem);
	}

	/*数字と点のリスト*/
	.num-dot-list li {
		position: relative;
		padding-left: min(6.5vw, 1.8rem);
		line-height: 1.55;

		&::before {
			counter-increment: ol-count;
			color: var(--sub_green_color);
			font-weight: bold;
			content: counter(ol-count, decimal-leading-zero) ".";
			display: block;
			position: absolute;
			top: 0;
			left: 0;
		}
	}

	.num-dot-list>li:not(:last-of-type) {
		margin-bottom: 0.4rem;
	}

	/*数字と括弧のリスト*/
	p+.num-brackets-list {
		margin-top: min(4vw, 1rem);
	}

	.num-brackets-list li {
		position: relative;
		padding-left: min(6.5vw, 1.8rem);
		line-height: 1.55;

		&::before {
			counter-increment: ol-count;
			color: var(--sub_green_color);
			/* 		font-weight: bold; */
			content: "（" counter(ol-count)"）";
			display: block;
			position: absolute;
			top: 0;
			left: 0;
		}
	}

	.num-brackets-list>li:not(:last-of-type) {
		margin-bottom: 0.4rem;
	}

	/*数字と右括弧のみのリスト*/
	p+.num-Rbrackets-list {
		margin-top: min(4vw, 1rem);
	}

	.num-Rbrackets-list li {
		position: relative;
		padding-left: min(6vw, 1.5rem);
		line-height: 1.55;

		&::before {
			counter-increment: ol-count;
			color: var(--sub_green_color);
			content: counter(ol-count)"）";
			display: block;
			position: absolute;
			top: 0;
			left: 0;
		}
	}

	.num-Rbrackets-list>li:not(:last-of-type) {
		margin-bottom: 0.4rem;
	}

	/*******************************
	 * テーブルデザイン
	 * *****************************/
	/*項目ベタ塗りテーブル*/
	.back_color-table>table {
		border-top: 1px solid #B8B8B8;
		width: min(100%, 840px);
		margin: 0 auto;
	}

	.back_color-table td {
		border-bottom: 1px solid #B8B8B8;
		padding: 1.2rem 1rem;
	}

	.back_color-table tr>*:nth-child(1) {
		background: var(--sub_color);
		color: var(--main_color);
		font-weight: bold;
	}

	/*項目ライン入りテーブル*/
	.border_color-table>table {
		width: min(100%, 840px);
		margin: 0 auto;
	}

	.border_color-table td {
		border-bottom: 1px solid #B8B8B8;
		padding: 1rem;
	}

	.border_color-table tr>*:nth-child(1) {
		font-weight: bold;
		color: var(--main_color);
		border-bottom: 2px solid var(--main_color);
	}

	/*文字だけカラーなテーブル*/
	.item_color-table {
		border-top: 1px solid #B8B8B8;
	}

	.item_color-table tr {
		display: flex;
		flex-wrap: wrap;
	}

	.item_color-table tr td {
		display: block;
		width: 100%;
		line-height: 1.45;
	}

	.item_color-table tr>*:nth-child(1) {
		color: var(--main_color);
		font-weight: bold;
		padding: 1.5rem 0 0.3rem 0;
		font-size: min(3.5vw, 14px);
	}

	.item_color-table tr>*:nth-child(2) {
		border-bottom: 1px solid #B8B8B8;
		padding: 0 0 1.4rem 0;
	}
}

/*--------------------design.cssここまで--------------------*/

/*--------------------common.css--------------------*/
@layer common {


	.table-mat table {
		margin: unset;
		background: #f4f4f5;
		outline: 1px solid #f5f5f5;
		outline-offset: -1px
	}

	.table-mat :is(th, td) {
		text-align: center;
		border: 1px solid #ddd;
		vertical-align: middle;
		padding: 1rem min(2vw,1rem);
		line-height: 1.5
	}

	.table-mat tbody th {
		background: var(--main_color);
		color: #fff;
		border: 1px solid #fff;
		width: min(calc(60vw - min(40px, 8vw) - 1px), 400px);
	}

	.table-mat thead th {
		background: var(--main_color);
		color: #fff;
		border: 1px solid #fff;
	}

	.table-mat span {
		font-size: min(3vw, 13px);
	}


	[class*="title-"] {

		&[class*="-large"] {
			font-size: min(6vw, 42px);
			font-weight: 700;
			line-height: 1.25;
			display: flex;
			flex-flow: column;
			gap: 1rem 1.5rem;
			font-family: "Kiwi Maru", serif;
			font-weight: 500;
			letter-spacing: 0;
			text-indent: 0;

			&:has(+ *) {
				margin-block-end: min(6vw, 3rem);
			}

			&:has(+p) {
				margin-block-end: min(6vw, 2rem);
			}

			&+ :is(p, ul, ol, dd) {
				margin-block-start: -0.5rem;
			}

			&+p {
				margin-block-start: -0.5rem;
				line-height: min(7vw, 2.5em);
				font-size: min(16px, 3.5vw);
			}

			&+p:has(+*) {
				margin-block-end: min(8vw, 3rem);
			}

			&[data-text]:before {
				content: attr(data-text);
				font-size: min(4vw, 24px);
				line-height: 1;
				color: var(--main_color);
			}

		}

		&[class*="-middle"] {
			font-size: min(4.5vw, 32px);
			font-weight: 700;
			line-height: 1.5;
			display: flex;
			gap: 0.5rem;


			&:has(+ *) {
				margin-block-end: min(4vw, 1.5rem);
			}

			/*
			&+ :is(p, ul, ol, dd) {
				margin-block-start: -0.5rem;
			}
				*/

			&[data-text]:before {
				content: attr(data-text);
				color: var(--main_color);
			}
		}

		&[class*="-min"] {
			font-size: min(4vw, 18px);
			font-weight: 700;
			line-height: 1.25;

			&:has(+ *) {
				margin-block-end: 1rem;
			}

			&+ :is(p, ul, ol, dd) {
				margin-block-start: -0.5rem;
			}

		}

		&[class*="-border_right"] {
			display: flex;
			gap: 1rem;
			align-items: center;
			flex-flow: row;

			&:after {
				content: "";
				flex: 1;
				background: var(--sub_color);
				block-size: 1px;
			}
		}

		&[class*="-border_side"] {
			display: flex;
			gap: 1rem;
			align-items: center;
			flex-flow: row;

			&:before,
			&:after {
				content: "";
				flex: 1;
				background: var(--border_color);
				block-size: 1px;
			}
		}

		&[class*="-border_left"] {
			border-left: 5px solid var(--key_color);
			padding-inline-start: 1rem;
		}

		&[class*="-border_bottom"] {
			padding-block-end: 0.5rem;
			border-bottom: 1px solid var(--sub_color);

			&[data-text] {
				display: flex;
				align-items: baseline;
				gap: 0.5rem 1rem;

				&:after {
					margin-inline-start: auto;
				}

				@media(width <=640px) {
					flex-flow: wrap;

					&:after {
						flex: 1 100%;
						margin-inline-start: unset;
					}
				}
			}
		}

		&[class*="-color"] {
			color: var(--main_color);
		}

		&[class*="-mat"] {
			padding: 0.5rem;
			background: var(--sub_color);

			&[class*="-mat_white"] {
				background: #fff;
			}

			&[class*="-mat_border"] {
				background: unset;
				border: 1px solid var(--border_color);
			}
		}

		&[class*="-icon"] {
			display: flex;
			gap: 0.5rem;

			&:before {
				content: "";
				background: var(--main_color);
				aspect-ratio: 1/1;
				inline-size: 1rem;
			}

			&[class*="-icon_service"]:before {
				aspect-ratio: 87/77;
				mask: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODciIGhlaWdodD0iNzciIHZpZXdCb3g9IjAgMCA4NyA3NyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIuNjkwOTIgM1Y3NEg4Mi4wNDM5IiBzdHJva2U9IiM1NUFGQkIiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik00Ljc3OTMgNTcuMjk0MUwzNi4xMDI4IDI1Ljk3MDZMNDguNjMyMiAzOC41TDg0LjEzMjIgMyIgc3Ryb2tlPSIjNTVBRkJCIiBzdHJva2Utd2lkdGg9IjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNODQuMTMyMyAzVjIxLjc5NDEiIHN0cm9rZT0iIzU1QUZCQiIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTYzLjI0OTUgM0g4NC4xMzE5IiBzdHJva2U9IiM1NUFGQkIiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPg==') center /contain no-repeat;
			}
		}

		:is(&[class*="-center"], &.has-text-align-center) {
			display: flex;
			flex-flow: column;
			text-align: center;
			align-items: center;

			@media(640px < width) {
				&+p {
					text-align: center;
				}
			}

			@media(width <=640px) {
				&:not([class*="-keep"]) {
					text-align: inherit;
					align-items: baseline;
				}
			}
		}

		:is(&[class*="-right"], &.has-text-align-right) {
			text-align: right;
			align-items: flex-end;

			&+p {
				text-align: right;
			}
		}

		:is(&[class*="-left"], &.has-text-align-left) {
			text-align: left;
			flex-flow: wrap;
			align-items: baseline;
		}

		& img {
			vertical-align: baseline;
		}

	}

	/******************************************
 * *トップ
* *****************************************/
	.wrap:has(> .main-column > section:last-of-type:not([data-back="sub-color"])) {
		border-bottom: 1px solid #ccc;
	}

	.top-title {
		color: var(--main_color);
		line-height: 1.45;
		font-size: min(6.7vw, 35px);
		text-align: center;
		margin-bottom: min(6vw, 35px);
	}

	.index .pc-textCenter+* {
		/* margin-top: min(12vw, 50px); */
	}

	/*メインイメージコンテンツ*/
	.main-visual {
		position: relative;
	}

	.main-visual .noslide {
		width: 100%;
		position: relative;
	}

	.main-visual picture {
		display: block;
	}

	.main-visual .noslide img {
		width: 100%;
		height: auto;
	}

	.catchcopy-text {
		position: absolute;
		translate: -50% -50%;
		inset: 50% auto auto 50%;
		font-weight: bold;
		font-size: min(7vw, 58px);
		line-height: 1.45;
		font-family: "Kiwi Maru", serif;
		font-weight: 500;
		color: #fff;
		filter: drop-shadow(2px 4px 6px var(--main_color));
		white-space: pre;
		display: flex;
		flex-flow: column;
		align-items: center;
		gap: 1rem;
		line-height: 1;

		&:before {
			content: "";
			background: url(images/icon-nicooto.svg) center / contain no-repeat;
			inline-size: min(15vw, 5rem);
			aspect-ratio: 1/1;
		}

		@media(width <=900px) {
			display: none;
		}
	}

	.top-appli-box {
		padding-top: min(9vw, 3rem);
		position: relative;
		width: min(85%, 350px);
		margin: min(4vw, 35px) auto 0;
	}

	.top-appli-box:before {
		content: "";
		display: block;
		background: url(images/sanka-icon.svg) center/contain no-repeat;
		width: min(19.5vw, 100px);
		height: auto;
		aspect-ratio: 1;
		top: 0;
		left: max(-6vw, -3.5rem);
		position: absolute;
	}

	.top-appli-con {
		background: var(--main_color);
		padding: min(8vw, 3rem) min(6.5vw, 2.5rem) min(6.5vw, 2.5rem);
	}

	.top-appli-title {
		color: #fff;
		text-align: center;
		font-size: min(6.5vw, 28px);
		line-height: 1.25;
	}

	.top-appli-btn {
		color: #333;
		background: #fff;
		font-size: min(4vw, 18px);
		margin-top: min(5vw, 15px);
		font-weight: bold;
		padding: 1rem 2.9rem 1rem 1rem;
	}

	.top-appli-btn:hover {
		background: #ffc85e;
		color: #fff;
	}

	.top-appli-btn:after {
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 50"><path fill="%23ffc85e" d="M25,0C11.19,0,0,11.19,0,25s11.19,25,25,25c13.81,0,25-11.19,25-25S38.81,0,25,0z M37.53,25.33L25.62,36.67 c-1.15,1.1-2.97,1.05-4.07-0.1c-1.1-1.15-1.05-2.97,0.1-4.07l4.86-4.62H15c-1.59,0-2.88-1.29-2.88-2.88s1.29-2.88,2.88-2.88h11.5 l-4.86-4.62c-1.15-1.09-1.2-2.92-0.1-4.07c1.1-1.15,2.92-1.2,4.07-0.1l11.91,11.33c0.09,0.09,0.14,0.21,0.14,0.33 C37.67,25.13,37.62,25.24,37.53,25.33z"/></svg>') no-repeat center center;
	}

	.top-appli-btn:hover:after {
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 50"><path fill="%23FFFFFF" d="M25,0C11.19,0,0,11.19,0,25s11.19,25,25,25c13.81,0,25-11.19,25-25S38.81,0,25,0z M37.53,25.33L25.62,36.67 c-1.15,1.1-2.97,1.05-4.07-0.1c-1.1-1.15-1.05-2.97,0.1-4.07l4.86-4.62H15c-1.59,0-2.88-1.29-2.88-2.88s1.29-2.88,2.88-2.88h11.5 l-4.86-4.62c-1.15-1.09-1.2-2.92-0.1-4.07c1.1-1.15,2.92-1.2,4.07-0.1l11.91,11.33c0.09,0.09,0.14,0.21,0.14,0.33 C37.67,25.13,37.62,25.24,37.53,25.33z"/></svg>') no-repeat center center;
	}

	/*スライド*/
	.swiper-wrapper {
		transition-timing-function: linear;
	}

	.top-slide-list li {
		/* 	width:20%!important; */
		width: min(55vw, 380px) !important;
		height: auto;
		aspect-ratio: 160/93;
	}

	.top-slide-list li img {
		object-fit: cover;
		width: 100%;
		height: 100%;
	}

	/*こだわり*/
	.tc-con {
		margin-bottom: min(14vw, 70px);
	}

	.tc-box {
		background: #fff;
		border-radius: 10px;
		padding: min(6vw, 2rem);
	}

	.tc-box-title {
		color: var(--main_color);
		font-size: min(4.8vw, 20px);
		line-height: 1.45;
		font-weight: bold;
		text-align: center;
	}

	.tc-box-img {
		display: block;
		margin: min(4vw, 1.5rem) auto min(3.5vw, 1.2rem);
		width: auto;
		height: min(13vw, 50px);
	}

	.tc-box-text {
		text-align: center;
		font-size: min(3.5vw, 15px);
		line-height: 1.55;
	}

	/*トップSDGs*/
	.top-sdgs-con {
		background: #fff;
		width: min(100%, 490px);
		margin: 0 auto;
		display: block;
		padding: min(5.5vw, 2rem) min(6vw, 2.3rem) min(5vw, 1.9rem);
	}

	.top-sdgs-img {
		width: 100%;
	}

	.top-sdgs-text {
		font-size: min(3.2vw, 14px);
		text-align: center;
		line-height: 1.25;
		margin-top: min(3.5vw, 1rem);
	}

	/*トップ新着*/

	/*トップ新着*/
	.top-info {

		& .box-post-text {
			& a {
				padding: min(3vw, 17px) min(8.5vw, 40px) min(3vw, 17px) 0;
			}

			& time {
				margin-right: 0;
				font-size: min(3.2vw, 14px);
			}

			& .category-post {
				font-size: min(2.5vw, 13px);
				padding: min(1vw, 0.45rem) min(2vw, 0.8rem) min(0.7vw, 0.4rem);
			}

			& h3 {
				font-size: min(16px, 3.3vw);
				line-height: 1.5;
			}
		}

		@media(width <=640px) {
			& {
				background: unset;
				padding-block-start: unset;

				& [class*="mat-"] {
					padding: unset;
					border-radius: unset;
				}

				& .box-post-text {

					& h3 {
						display: -webkit-box;
						-webkit-box-orient: vertical;
						-webkit-line-clamp: 2;
						overflow: hidden;
					}
				}
			}
		}
	}

	.top-info .contents {
		/* background: #fff; */
		/* padding: min(8vw, 85px) min(5vw, 75px) min(8vw, 95px); */
		/* border-radius: min(2vw, 20px); */
	}

	.top-info .list-post {
		width: min(100%, 900px);
		margin: min(5vw, 35px) auto 0;
	}

	.top-info .btn-archive {
		margin-top: min(5vw, 45px);
	}

	/*トップ採用*/
	.top-rec-link {
		width: min(100%, 790px);
		height: auto;
		aspect-ratio: 395/137;
		display: block;
		margin-left: auto;
		margin-right: auto;
		position: relative;
		background: #d9d9d9;
	}

	.top-rec-link:after {
		content: "";
		background: url(images/arrow.svg) center/contain no-repeat;
		display: block;
		position: absolute;
		right: min(2vw, 0.7rem);
		bottom: min(2vw, 0.7rem);
		width: min(4vw, 20px);
		height: auto;
		aspect-ratio: 1;
	}

	.tr-link-banner {
		width: 100%;
	}

	/*代表メッセージ*/
	.top-message {
		background: url(images/top-recruit-back.jpg) center/cover no-repeat;
		padding: min(20vw, 150px) 0 min(23vw, 130px);
	}

	.top-message-title {
		line-height: 1.45;
		font-size: min(6.7vw, 35px);
		margin-bottom: min(6vw, 35px);
	}

	.top-message-box {
		gap: min(8vw, 60px);
		display: flex;
		flex-wrap: wrap;
	}

	.tmb-text {
		flex: 1 min(100%, 750px);
	}

	.top-message-text {
		line-height: min(8.5vw, 3rem);
		font-size: min(3.7vw, 16px);
	}

	.tmb-img {
		flex: 1 min(100%, 150px);
	}

	.tmb-img img {
		width: 100%;
		height: auto;
		object-fit: cover;
		aspect-ratio: 1;
		display: block;
		margin: 0 auto;
		max-width: 300px;
	}

	.top-message-name {
		text-align: right;
		font-size: min(6.7vw, 35px);
		font-weight: bold;
		line-height: 1.55;
		width: min(100%, 870px);
		margin-top: min(6vw, 60px);
	}

	.tm-job-title {
		font-size: min(3.5vw, 14px);
		display: block
	}

	/*トップアクセス*/
	.top-access-address {
		text-align: center;
		line-height: 1.45;
		margin-bottom: min(4vw, 15px);
	}

	.top-access-contact {
		text-align: center;
		font-size: min(3.2vw, 14px);
		line-height: 1.25;
	}

	.tac-tel {
		font-size: min(7vw, 35px);
		display: block;
		font-weight: bold;
	}

	.top-access-box {
		/* margin-top: min(12vw, 55px); */
	}

	.tab-map {
		border: 2px solid var(--main_color);
	}

	.tab-map iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 10/7;
	}

	.tab-img img {
		width: 100%;
		object-fit: cover;
		aspect-ratio: 10/7;
	}

	.profile-image {
		inline-size: min(40vw, 100%);
		margin: 0 auto;
		display: block;
	}

	/******************************************
 * *固定ページ
* *****************************************/
	body:not(.index) .wrap {
		padding: 0 0 min(25vw, 200px);
	}

	body:not(.index) .main-visual {
		display: flex;
		align-items: center;
	}

	body:not(.index) .main-visual:before {
		content: "";
		background: url(images/ptitle-backimg.jpg) center/cover no-repeat;
		display: block;
		width: 100%;
		height: 50%;
		position: absolute;
		left: 0;
		top: 0;
	}

	body:not(.index) .main-visual:after {
		content: "";
		background: var(--main_color);
		display: block;
		width: 100%;
		height: 50%;
		position: absolute;
		left: 0;
		bottom: 0;
	}

	body.about .main-visual:before {}

	body.company .main-visual:before {}

	body.contact .main-visual:before {}

	body.info .main-visual:before {}

	body.work .main-visual:before {}

	body.sitemap .main-visual:before {}

	body.privacypolicy .main-visual:before {}

	body.sdgs .main-visual:before {}

	body.application .main-visual:before {}

	.head-page {
		width: min(100%, 567px);
		background: #fff;
		z-index: 1;
		font-size: min(3.5vw, 16px);
		text-align: center;
		position: relative;
		margin: min(15vw, 130px) auto;
		padding: min(6vw, 3rem) min(6vw, 3rem) min(6.5vw, 3.5rem);
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}

	.head-page:before {
		margin-bottom: min(1vw, 0.5rem);
		font-size: min(8vw, 38px);
		text-transform: uppercase;
		font-weight: bold;
		line-height: 1.25;
	}

	.head-page:after {
		content: "";
		background: var(--sub_color);
		width: min(70%, 158px);
		height: auto;
		aspect-ratio: 158/9;
		display: block;
		position: absolute;
		transform: translatex(-50%);
		left: 50%;
		bottom: 0;
	}

	.wrap-head-common {
		margin-bottom: 30px;
	}

	.head-common {
		line-height: 1.5;
	}

	.page-section+.page-section {
		margin-top: min(25vw, 120px);
	}

	.page-section_inner+.page-section_inner {
		margin-top: min(15vw, 80px);
	}

	.section_inner-box+.section_inner-box {
		margin-top: min(7vw, 40px);
	}

	:is([class*="flex-"]:not(.wp-block-group, .flex-column), [class*="flex-"].wp-block-group:not(.flex-column) >div) {
		.section_inner-box+.section_inner-box {
			margin-top: min(6vw, 30px);
		}
	}

	/* 会社概要 */
	.table-company a {
		pointer-events: none !important;
		text-decoration: none !important;
	}

	.company-box {
		width: min(100%, 900px);
		margin: 0 auto;
	}

	.company-img-map>* {
		height: calc((100% - min(8vw, 45px)) / 2);
		width: 100%;
	}

	.company-box.wp-block-columns {
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 415px), 1fr));
		gap: min(8vw, 55px);
	}

	.company-img-map {
		display: flex;
		flex-wrap: wrap;
		gap: min(8vw, 45px);
	}

	.company-img-map .wp-block-image {
		margin-bottom: 0;
		width: 100%;
	}

	.company-img-map .wp-block-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.map-box iframe {
		width: 100%;
		height: 100%;
	}

	.company-access h3 {
		margin-top: 0;
	}

	.history {
		overflow: visible;
	}

	.history table tr {
		display: flex;
		line-height: 1.5;
	}

	.history table tr td:nth-of-type(1) {
		position: relative;
		min-width: min(18vw, 70px);
		padding: 0 1em 0 0;
	}

	.history table tr td:nth-of-type(2) {
		/*     padding: 0px 1em min(6vw,2.5em) 1.3em; */
		padding: 0px 0 min(4vw, 1.5em) 1.3em;
		position: relative;
		border-left: 1px solid var(--main_color);
	}

	.history table tr td:nth-of-type(2):before {
		content: "";
		height: min(2.7vw, 11px);
		width: min(2.7vw, 11px);
		border-radius: 50%;
		position: absolute;
		top: min(1.5vw, 7px);
		left: max(-1.5vw, -6px);
		background: var(--main_color);
	}

	.history table tr:nth-last-of-type(2) td:nth-of-type(2) {
		padding-bottom: 1em;
	}

	.history table tr:last-of-type td:nth-of-type(2) {
		border-left: 1px dashed var(--main_color);
	}

	.history table tr:last-of-type td:nth-of-type(2):before {
		display: none;
	}

	.gmap {
		& iframe {
			width: 100%;
			height: auto;
			aspect-ratio: 10/4;

			@media(width < 641px) {
				aspect-ratio: 10/6.5;
			}
		}
	}

	/* お問い合わせ */
	.grecaptcha-badge {
		/*     bottom: min(20vw, 95px) !important; */
		bottom: min(4vw, 20px) !important;
		z-index: 2;
	}

	.main-column .contact-tell {
		padding: 2em;
		border: 1px solid #ccc;
		margin-bottom: 1.5rem;
	}

	.main-column .contact-tell a {
		font-size: min(6vw, 24px);
		font-weight: bold;
	}

	.main-column .contact-tell span {
		font-size: 14px;
		display: block;
		line-height: 1;
	}

	.contact table {
		width: 100%;
		margin: min(6vw, 3rem) 0 min(5.5vw, 2rem);
	}

	.contact table th,
	.contact table td {
		line-height: 1.75;
	}

	.table-common th span {
		background: #990000;
		margin-left: 10px;
		color: #ffffff;
		font-size: 12px;
		padding: 2px 5px;
		border-radius: 5px;
		line-height: 1;
		letter-spacing: 0.2em;
		text-indent: 0.2em;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.mw_wp_form .error {
		color: #990000;
		background: none;
		margin-left: 0;
		display: initial;
		font-size: 12px;
	}

	.contact-flex div {
		display: flex;
		align-items: center;
		flex-flow: column;
		margin: 80px 0;
	}

	.contact-flex a {
		font-size: 32px;
		line-height: 1;
		display: block;
		margin: 15px 0;
	}

	.wauto-td {
		display: flex;
		align-items: center;
		gap: 1rem;
	}

	.wauto-td select {
		width: auto;
	}

	.wauto-td>div {
		display: flex;
		align-items: center;
		gap: 0.5rem;
	}

	/*CF7（コンタクトフォーム7）*/
	/*確認画面と完了画面を非表示*/
	.substitute-form .confirm_area,
	.substitute-form .thanks_area {
		display: none;
	}

	/*デフォルトのサンクスメッセージを非表示*/
	.substitute-form .wpcf7-response-output,
	.substitute-form .wpcf7-spinner {
		display: none;
	}

	/*そのほかデザイン*/
	.form-btn {
		width: min(300px, 100%);
		position: relative;
		margin: min(3vw, 25px) auto 0;
	}

	.form-btn:after {
		-webkit-transform: rotate(45deg);
		display: inline-block;
		position: absolute;
		top: 0;
		right: 1em;
		bottom: 0;
		width: 12px;
		height: 12px;
		margin: auto;
		transform: rotate(45deg);
		border-top: 3px solid var(--main_color);
		border-right: 3px solid var(--main_color);
		content: "";
	}

	.form-btn:has(> input:hover):after {
		border-top: 3px solid #fff;
		border-right: 3px solid #fff;
	}

	.form-btn input,
	.confirm-links input[type='submit'] {
		display: block;
		z-index: 1;
		width: 100%;
		padding: 0.85rem;
		background: #fff;
		text-align: center;
		transition: 0.5s;
		color: var(--main_color);
		border: 1px solid var(--main_color);
		border-radius: 4px;
		filter: drop-shadow(1px 1px 0px #ccc);
		font-size: 14px;
	}

	.form-btn input:hover,
	.confirm-links input[type='submit']:hover {
		background: var(--main_color);
		color: #fff;
		opacity: 1;
	}

	.form-btn input:disabled,
	.form-btn input[disabled=""] {
		background: #efefef;
		pointer-events: none;
		border: none;
	}

	.form-btn:has(input:disabled):after,
	.form-btn:has(input[disabled=""]):after {
		display: none;
	}

	.form-tyui {
		margin-top: 2rem;
		border: 2px solid #ffc85e;
		padding: 0.5rem 0.7rem;
		font-size: min(3.5vw, 15px);
		line-height: 1.55;
		display: none;
	}

	.adrs-td {
		display: flex;
		align-items: center;
		gap: 5px;
	}

	.adrs-td input[type="text"] {
		width: 100px;
		margin: 0;
	}

	.substitute-form .wpcf7-not-valid-tip {
		font-size: 12px;
		margin-top: 0.3rem;
	}

	.substitute-form .wpcf7-list-item {
		display: block !important;
		margin: 0 !important;
	}

	/* .file-form *:has(> input[type="file"]){
	position:relative;
	display:block;
	width: min(100%, 150px);
}
.file-form input[type="file"]{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    cursor: pointer;
	width:100%;
    opacity: 0;
}
.file-form *:has(> input[type="file"]):after {
    content: "ファイルを選択";
	cursor: pointer;
    display: block;
    color: #333;
    background: #efefef;
    border-radius: 3px;
    padding: 0.3rem;
    font-size: min(3.5vw,14px);
    text-align: center;
	width:100%;
    line-height: 1;
    border: 1px solid #333;
    font-weight: 500;
    position: absolute;
    top: 0;
    z-index: -1;
}
.file-form *:has(> input[type="file"]):hover:after{
	opacity:0.8;
}
.preview-info{
    display: flex;
    align-items: center;
    gap: min(3vw, 0.5rem);
    margin-top: min(0.7vw, 0.4rem);
}
.main-column .preview-info p{
    margin-top: 0;
    font-size: min(3.5vw,13px);
    line-height: 1.25;
}
.displayFileName{
    margin-top: 0;
    font-size: min(3vw,13px);
    line-height: 1.25;
}
.fn-size{
    line-height: 1.25;
    font-size: min(3vw,13px);
    margin-top: 0;
} */
	.substitute-form .form-btn-box>*>* {
		display: flex;
		flex-wrap: wrap;
		gap: min(1vw, 15px) min(4vw, 15px);
	}

	.confirm-links {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr));
		gap: min(5vw, 30px);
		width: min(100%, 550px);
		margin: 0 auto;
	}

	.confirm-links .back_button {
		display: block;
		z-index: 1;
		width: 100%;
		padding: 0.85rem;
		background: var(--sub_color);
		text-align: center;
		transition: 0.5s;
		color: var(--main_color);
		border: 1px solid var(--sub_color);
		border-radius: 4px;
		filter: drop-shadow(1px 1px 0px #ccc);
		font-size: 14px;
	}

	.confirm-links .back_button:hover {
		opacity: 0.5;
		transition: 0.5s;
	}

	/* .confirm-links .wpcf7-spinner{
	display:none;
}
.substitute-form + *{
	display:none;
} */
	.wpcf7 form.sent .wpcf7-response-output {
		display: none !important;
	}

	/******************************************
 * *投稿関連
* *****************************************/
	.single-post .head-common {
		font-size: min(6vw, 36px);
		border-bottom: 1px solid #999999;
		padding-bottom: 13px;
		line-height: 1.35;
	}


	.sidebar .btn-archive {
		margin-top: 15px;
		padding: 0.75em;
	}

	.btn-form,
	button.btn-form {
		border: 1px solid var(--main_color);
		background: var(--main_color);
		color: #fff;
		text-align: center;
	}

	.btn-form:hover,
	button.btn-form:hover {
		background: #fff;
		color: var(--main_color);
		opacity: 1;
	}

	.footer-nav>li {
		line-height: 1.75;
	}

	.footer-nav .sub-menu li a {
		padding-left: 1em;
	}

	.footer-nav .sub-menu li ul li a {
		padding-left: 2em;
	}

	.pagination {
		display: flex;
		position: relative;
		align-items: center;
		justify-content: center;
		margin-top: 50px;
		color: var(--main_color);
	}

	.main-column .pagination li {
		margin: 0 5px;
		padding: 0;
	}

	.main-column .pagination li:before {
		content: none;
	}

	.pagination .pager {
		display: inline-block;
		min-width: 40px;
		border-radius: 50%;
		background: #999;
		color: #fff;
		font-weight: bold;
		line-height: 40px;
		text-align: center;
	}

	.pagination .pager i {
		vertical-align: bottom;
	}

	.pagination .pager i:before {
		display: block;
		min-width: 40px;
		height: 40px;
		line-height: 40px;
		text-align: center;
	}

	.pagination .pager:hover,
	.pagination .pager.current {
		background: var(--main_color);
		opacity: 1;
	}

	.lazyload,
	.lazyloading {
		opacity: 0;
	}

	.okuric li {
		line-height: 14px;
	}

	/*追従リンク*/


	.fbtn-link {
		color: #fff;
		background: #ffc85e;
		font-weight: bold;
		text-align: justify;
		line-height: 1.15;
		letter-spacing: 0.2rem;
		position: fixed;
		bottom: 0;
		left: 0;
		transition: 0.5s;
		z-index: 5;
		display: flex;
		align-items: center;
		padding: min(3.5vw, 1rem) min(3vw, 1rem) min(2.5vw, 1rem);
	}

	.fbtn-link:before {
		content: "";
		display: block;
		position: absolute;
		width: min(13vw, 60px);
		height: auto;
		aspect-ratio: 28/25;
	}

	.fblink-top-text {
		font-size: min(3.7vw, 18px);
	}

	.fblink-bottom-text {
		font-size: min(4.5vw, 22px);
	}

	/*投稿記事移動*/
	.nav-link {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: space-between;
		margin: 15px auto;
	}

	.nav-link li:before {
		content: none;
	}

	.nav-link li.link-archive:nth-child(1) {
		margin: 0 auto;
	}

	.link-prev,
	.link-next,
	.link-archive {
		position: relative;
	}

	.link-prev a,
	.link-next a,
	.link-archive a {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: min(2.5vw, 1rem);
		color: var(--main_color);
		text-align: center;
		font-weight: bold;
		border: 1px solid var(--main_color);
		filter: drop-shadow();
		font-size: min(3vw, 14px);
	}

	.pageokuri li {
		width: 25%;
		margin: 0;
		padding: 0;
	}

	.link-prev a:hover,
	.link-next a:hover,
	.link-archive a:hover {
		background: var(--main_color);
		color: #fff;
		opacity: 1;
	}

	.link-prev a:before,
	.link-prev a:after,
	.link-next a:before,
	.link-next a:after,
	.link-archive a:before,
	.link-archive a:after {
		font-family: "Font Awesome 5 Free";
		font-weight: 700;
	}

	.link-archive {
		order: 2;
	}

	.link-prev a:before {
		-webkit-transform: rotate(225deg);
		display: inline-block;
		width: 10px;
		height: 10px;
		margin-right: 10px;
		transform: rotate(225deg);
		border-top: 2px solid var(--main_color);
		border-right: 2px solid var(--main_color);
		content: "";
	}

	.link-next {
		order: 3;
		text-align: right;
	}

	.link-next a:after {
		-webkit-transform: rotate(45deg);
		display: inline-block;
		width: 10px;
		height: 10px;
		margin-left: 10px;
		transform: rotate(45deg);
		border-top: 2px solid var(--main_color);
		border-right: 2px solid var(--main_color);
		content: "";
	}

	.link-prev a:hover:before,
	.link-next a:hover:after {
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}

	.list-caution li {
		font-size: min(13px, 3vw);
		line-height: 1.5;
		text-indent: max(-6vw, -1rem);
		padding-inline-start: min(6vw, 1rem);

		&+li {
			margin-block-start: 0.25rem;
		}

		&:before {
			content: "※";
			block-size: initial;
			inline-size: initial;
			background: none;
		}
	}

	.list-data_text li {
		display: flex;
		flex-flow: wrap;
		align-items: baseline;
		gap: 1rem;

		&[data-text]:before {
			content: attr(data-text);
		}
	}

	.list-check li {
		line-height: 1.5;
		text-indent: calc(max(-6vw, -1rem) - 0.5rem);
		padding-inline-start: calc(min(6vw, 1rem) + 0.5rem);
		font-size: min(4vw, 18px);
		font-weight: 700;

		&+li {
			margin-block-start: 0.5rem;
		}

		&:before {
			display: inline-block;
			content: "";
			min-inline-size: min(6vw, 1.25rem);
			margin-right: 0.5rem;
			aspect-ratio: 5/4;
			background: var(--main_color);
			mask: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%20%5B%20%3C!ENTITY%20ns_flows%20%22http%3A%2F%2Fns.adobe.com%2FFlows%2F1.0%2F%22%3E%5D%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20113%2089%22%20enable-background%3D%22new%200%200%20113%2089%22%20xml%3Aspace%3D%22preserve%22%3E%3Cdefs%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22%231f887c%22%20d%3D%22M41.453%2C89.064L2.5%2C47.858c-3.417-3.538-3.319-9.176%2C0.219-12.594c3.452-3.333%2C8.923-3.333%2C12.375%2C0%20l26.359%2C27.081L97.354%2C2.756c3.396-3.558%2C9.034-3.689%2C12.593-0.292c3.557%2C3.396%2C3.688%2C9.034%2C0.292%2C12.592l0%2C0L41.453%2C89.064z%22%2F%3E%3C%2Fsvg%3E') center/contain no-repeat;
		}
	}

	.list-flex {
		display: flex;
		flex-flow: wrap;
		gap: min(2vw, 1rem) min(4vw, 2rem);

		& li {
			margin: unset !important;

			@media (width <=640px) {
				flex: 1 100%;
			}
		}
	}

	.imgFullWidth {
		display: block;
		width: 100%;
		height: auto;
	}

	.table-common {
		width: 100%;
	}

	.table-common th {
		letter-spacing: 0.2em;
		line-height: 2;
	}

	.table-common td {
		letter-spacing: 0.1em;
		line-height: 2;
	}

	.table-common a {
		text-decoration: underline;
	}

	.table-contact {
		width: 100%;
		border-top: 1px solid #ccc;
	}

	.table-contact th {
		position: relative;
	}

	.table-contact th.required:after {
		position: absolute;
		right: 0;
		height: 1.5em;
		padding: 0 1em;
		background: #e60012;
		color: #fff;
		line-height: 1.5;
		content: "必須";
	}

	.table-contact td {
		border-bottom: 1px solid #ccc;
	}

	.single-post {
		margin-bottom: 50px;
	}

	.single-header {
		margin-bottom: 1em;
		display: flex;
		justify-content: space-between;
	}

	.single-header time {
		margin-right: 2em;
		font-size: 14px;
	}

	.single-header time:before {
		content: "";
		display: inline-block;
		width: 14px;
		height: 14px;
		background: url(images/date.svg);
		background-size: cover;
		margin-right: 5px;
		position: relative;
		top: 2px;
	}

	.single-contents {
		&>*:not(:last-child) {
			margin-bottom: 1em;
		}

		& strong {
			font-weight: bold;
		}

		& a {
			text-decoration: underline;
			color: #1A0DAB;
		}

		& p {
			line-height: 2;

			&+.wp-block-columns {
				margin-top: 2rem;
			}
		}

		& img {
			max-width: 100%;
			height: auto;
		}

		& iframe {
			max-width: 100%;
		}

		& table {
			width: 100%;

			& th,
			td {
				padding: 0.5em 1em;
				line-height: 1.5;
			}
		}
	}

	.main-column>*:nth-child(1) {
		margin-top: 0;
	}

	.wp-block-cover {
		margin: 32px 0;
	}

	.has-very-dark-gray-background-color.has-very-dark-gray-background-color {
		background-color: var(--main_color);
	}

	.main-column .sitemap>li {
		border-top: 1px solid #cccccc;
	}

	.main-column .sitemap li>a {
		padding: 0.7rem 0 0.6rem;
		display: block;
		font-weight: bold;
		font-size: min(3.7vw, 15px);
		line-height: 1.55;
	}

	.main-column .sitemap>li:last-child {
		border-bottom: 1px solid #cccccc;
	}

	.main-column .sitemap li a span {
		display: none;
	}

	.main-column .sitemap .sub-menu {
		margin: 0;
	}

	.main-column .sitemap>li>.sub-menu {
		border-top: 1px solid #cccccc;
		padding-left: 15px;
	}

	.main-column .sitemap>li>ul>li>ul>li {
		margin: 0px 0 0 20px;
		line-height: 2;
	}

	.main-column .sitemap>li>ul>li>ul>li>a {
		display: inline-block;
	}

	.main-column .sitemap li:before {
		content: none;
	}

	.main-column .contact-form table th {
		padding: 15px 15px 15px 0;
		min-width: 250px;
	}

	.main-column .contact-form table td {
		padding: 15px 0 15px 15px;
		width: calc(100% - 250px);
	}

	.mobile-header-banner {
		margin: 30px 20px 0;
	}

	.mobile-header-banner li {
		position: relative;
		top: unset;
	}

	.mobile-header-banner li:not(:first-child) {
		margin-top: 10px;
	}

	.mobile-header-banner li>* {
		font-family: "游ゴシック", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	}

	.mobile-header-banner a {
		display: block;
		display: flex;
		align-items: center;
		position: relative;
		padding: 15px;
		/*     font-size: 12px; */
		background: var(--main_color);
		color: #fff;
	}

	.mobile-header-banner li.contact a:before {
		content: "";
		height: auto;
		width: min(6vw, 22px);
		aspect-ratio: 22 / 18;
		margin-right: min(3vw, 10px);
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="white" d="M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z" /></svg>') no-repeat center center;
		background-size: cover;
		fill: #fff;
	}

	.mobile-header-banner li.tel a:before {
		content: "";
		height: 20px;
		width: 20px;
		margin-right: 10px;
		background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="white" d="M15,12H17A5,5 0 0,0 12,7V9A3,3 0 0,1 15,12M19,12H21C21,7 16.97,3 12,3V5C15.86,5 19,8.13 19,12M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z" /></svg>') no-repeat center center;
		background-size: cover;
		fill: #fff;
	}

	/*MW WP Form*/
	.mw_wp_form_input .mw-input-page {
		display: block;
	}

	.mw_wp_form p {
		font-size: 16px;
		line-height: 1.7em;
	}

	.mw_wp_form_input .mw-check-page {
		display: none;
	}

	.mw_wp_form_preview .mw-input-page {
		display: none;
	}

	.mw-btn {
		background: var(--main_color);
		display: block;
		text-align: center;
		color: #ffffff;
		padding: 1em;
		margin-top: min(6vw, 35px);
	}

	/* Edge */
	@supports (-ms-ime-align: auto) {
		.wp-block-image img {
			width: 100%;
		}
	}


	/* IE10以降 */
	@media all and (-ms-high-contrast: none) {

		/* ハイコントラストモードが「オフ」の場合 */
		.wp-block-image img {
			width: 100%;
		}
	}

	@media screen and (min-width: 1151px) {
		.contact-box-title:before {
			width: 2px;
			height: 100%;
			right: 0;
			top: 50%;
			transform: translateY(-50%);
		}
	}

	@media screen and (max-width:1150px) {
		.contact-box-con {
			justify-content: center;
		}

		.contact-box-con .contact-box-title {
			margin-bottom: min(7vw, 2rem);
			/* padding-bottom: min(8vw, 1.5rem); */
		}

		.contact-box-title {
			flex: 1 100%;
		}



		.contact-box-title h2 {
			text-align: center;

			& br {
				display: none;
			}
		}
	}



	@media screen and (min-width: 901px) {

		/*追従*/
		.fbtn-link {
			top: 50%;
			right: 0;
			transform: translate(0, -50%);
			bottom: auto;
			left: auto;
			display: flex;
			flex-direction: column-reverse;
			align-items: center;
			padding: 5.1rem 0.9rem 1rem;
			writing-mode: vertical-lr;
			border-radius: 5px 0 0 5px;
		}

		.fbtn-link:before {
			background: url(images/free-icon.svg) center/contain no-repeat;
			top: 1.2rem;
			left: 50%;
			transform: translatex(-50%);
		}

		/*メインイメージ*/


		.top-appli-box {
			position: absolute;
			bottom: 0;
			right: min(4vw, 3.5rem);
			padding-top: min(4vw, 3rem);
		}

		.top-appli-box:before {
			width: min(9vw, 100px);
			left: max(-5vw, -3.5rem);
		}

		.top-appli-con {
			padding: min(7vw, 3rem) min(5vw, 2.5rem) min(5vw, 2.5rem);
		}

		.top-appli-title {
			font-size: min(4.5vw, 28px);
		}

		/*フッターお問い合わせ*/
		.contact-box-form:before {
			width: 2px;
			height: 100%;
			left: 0;
			top: 50%;
			transform: translateY(-50%);
		}
	}


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

		/*追従*/
		.fbtn-link {
			width: 100%;
			flex-direction: column;
		}

		.fbtn-link:before {
			background: url(images/free-icon-sp.svg) center/contain no-repeat;
			top: 50%;
			transform: translate(-197%, -50%);
		}

		/*フッターお問い合わせ*/
		.contact-box {
			padding: min(15vw, 80px) 0;
		}

		.contact-box-tel {
			flex: 0 100%;
		}

		.contact-box-con .contact-box-form {
			flex: 0 100%;
			margin-top: min(5vw, 1rem);
			padding-top: min(8vw, 0.5rem);
		}

		.contact-box-form:before {
			height: 2px;
			width: min(66vw, 340px);
			transform: translatex(-50%);
			left: 50%;
			top: 0;
		}


		/*トップ*/
		.main-visual .noslide img {
			/* aspect-ratio: 5/3; */
			object-fit: cover;
		}
	}


	/*ブルースカイス入れ込みのみ用*/
	@media screen and (max-width: 600px) {
		.wp-block-buttons {
			margin-top: 20px;
		}

		.wp-block-buttons .wp-block-button {
			display: initial;
			margin: 0;
		}

		.main-columnc .is-style-outline .wp-block-button__link {
			position: relative;
			max-width: unset;
			display: block;
			left: unset;
			transform: unset;
			bottom: unset;
		}
	}

	/*ブルースカイス入れ込みのみ用ここまで*/


	@media screen and (min-width: 641px),
	print {

		/* 会社概要　テーブル
	*************************** */
		table.table-company tr:not(:last-of-type) {
			border-bottom: 1px solid #ccc;
		}

		table.table-company th {
			width: 20%;
		}

		.border_color-table tr>*:nth-child(1),
		.back_color-table tr>*:nth-child(1) {
			width: 20%;
		}

		/* 会社概要　テーブル
	*************************** */
		/* お問い合わせ　テーブル
	*************************** */
		.contact table tr {
			display: flex;
			flex-flow: wrap;
		}

		.contact table th {
			width: 20%;
			line-height: 42px;
		}

		/* お問い合わせ　テーブル
	*************************** */
	}



	/* ////////////////////////////////////////
SPのみ
//////////////////////////////////////// */
	@media screen and (max-width: 640px) {

		.index .main-visual {
			width: 100%;
			margin-bottom: 0;
		}

		.wrap-slider .slider {
			height: 75vw;
		}

		.wrap-slider .slider img {
			height: 75vw;
		}

		.main-column .contact-tell {
			line-height: 1.5;
		}

		.main-column .contact-tell a {
			margin-top: 3vw;
			display: inline-block;
		}

		.link-prev a {
			border-right: none;
		}

		.link-next a {
			border-left: none;
		}

		/*追従*/
		.fbtn-link:before {
			transform: translate(-173%, -50%);
		}

		/*****************************
 * モバイルトップ
 * ***************************/
		.top-sdgs-text {
			text-align: justify;
		}

		/****************************
 * テーブルデザイン
 * *************************/
		.back_color-table>table {
			border-top: none;
		}

		.back_color-table tr,
		.border_color-table tr {
			display: flex;
			flex-flow: wrap;
			align-items: center;
			width: 100%;
		}

		.back_color-table td,
		.border_color-table td {
			border-bottom: none;
			display: block;
			width: 100%
		}

		.border_color-table {
			border-top: 2px solid var(--main_color);
		}

		.border_color-table tr>*:nth-child(1) {
			background: var(--light-sub_color);
			border-bottom: 1px solid #B8B8B8;
		}

		.border_color-table tr>*:nth-child(2) {
			border-bottom: 2px solid var(--main_color);
		}


		/*会社概要*/
		.access-code>div {
			flex-flow: column-reverse;
		}

		.access-code>div img {
			width: 100%;
		}

		.access-code-company {
			margin-left: 0;
			margin-bottom: 20px;
		}

		/*会社概要*/

		/*お問い合わせ*/
		.contact-flex a {
			font-size: 24px;
			padding: 0.5em 0.75em;
			border-radius: 100px;
			background: var(--main_color);
			color: #fff;
			line-height: 1;
			display: block;
			margin: 20px 0;
		}

		.substitute-form .codedropz-upload-wrapper,
		.main-column .contact-form table th,
		.main-column .contact-form table td,
		.contact-form tbody,
		.contact-form table {
			width: min(100%, 84vw);
			display: block;
		}

		.main-column .contact-form table td {
			padding-top: 0;
			padding-left: 0;
		}

		/*お問い合わせ*/
	}
}

/*--------------------common.cssここまで--------------------*/
/* ////////////////////////////////////////
SPのみ
//////////////////////////////////////// */