@charset "UTF-8";

/****/
.titlewrap {
	position:relative;
	&::before {
		content:'';
		display:block;
		width:100%;
		height:50px;
		background-color:var(--color_main);
		clip-path:polygon(0 0,100% 0,0 100%);
		position:absolute;
		z-index:1;
		top:0;
		left:0;
	}
	&::after {
		content:'';
		display:block;
		width:100%;
		height:50px;
		background-color:var(--color_sub2);
		clip-path:polygon(0 0,100% 0,100% 100%);
		position:absolute;
		z-index:0;
		top:0;
		left:0;
	}
	h1 {
		max-width:1200px;
		width: calc(100% - 60px);
		margin:0 auto;
		font-size:5.0rem;
		font-weight:500;
		display:grid;
		padding:2em 0 1em;
		grid-row-gap:.1em;
		span {
			font-size:.5em;
			color:var(--color_sub);
		}
	}
}
#main {
	padding-bottom:120px;
	.breadcrumbs {
		.rank-math-breadcrumb {
			max-width:1200px;
			width: calc(100% - 60px);
			margin:0 auto;
			padding-bottom:30px;
			p {
				font-size:1.5rem;
				line-height:1.33;
				text-align:right;
			}
		}
	}
	.wrap {
		.contents {
			h2 {
				font-size:3.0rem;
				line-height:1.5;
				background-color:var(--color_main);
				color:#FFFFFF;
				font-weight:500;
				padding:.3em .66em;
				border-left:15px solid var(--color_sub);
				&:not(:first-child) {
					margin-top:1.5em;
				}
				&:not(:last-child) {
					margin-bottom:1.5em;
				}
			}
			h3 {
				font-size:2.4rem;
				line-height:1.5;
				background-color:var(--color_sub3);
				color:var(--color_main);
				font-weight:500;
				padding:.3em .66em .3em 1.5em;
				position:relative;
				&::before {
					content:'';
					display:block;
					width:1em;
					height:100%;
					background-color:var(--color_main);
					position:absolute;
					z-index:1;
					left:0;
					top:0;
					clip-path:polygon(0 0,100% 0,0 100%);
				}
				&:not(:first-child) {
					margin-top:1.5em;
				}
				&:not(:last-child) {
					margin-bottom:1em;
				}
				.new {
					color:var(--color_sub2);
					background-color:var(--color_sub5);
					padding:.2em .3em;
					font-size:.6em;
					margin-left:.5em;
				}
			}
			h4 {
				font-size:2.2rem;
				line-height:1.5;
				color:var(--color_main);
				font-weight:500;
				padding:.4em 1em .3em;
				border-top:1px solid var(--color_main);
				border-bottom:1px solid var(--color_main);
				position:relative;
				&::before {
					content:'';
					display:block;
					width:100%;
					height:calc(100% - 8px);
					position:absolute;
					z-index:-1;
					left:0;
					top:3px;
					border-top:1px solid var(--color_main);
					border-bottom:1px solid var(--color_main);
				}
				&:not(:first-child) {
					margin-top:1.5em;
				}
				&:not(:last-child) {
					margin-bottom:1em;
				}
			}
			h5 {
				font-size:2.0rem;
				line-height:1.5;
				color:var(--color_main);
				font-weight:500;
				border-left:5px solid var(--color_main);
				padding-left:.5em;
				&:not(:first-child) {
					margin-top:1.5em;
				}
				&:not(:last-child) {
					margin-bottom:1em;
				}
			}
			h6 {
				font-size:1.8rem;
				line-height:1.5;
				color:var(--color_main);
				font-weight:500;
				text-indent:-1.25em;
				padding-left:1.25em;
				&::before {
					content:'■';
					margin-right:.15em;
				}
				&:not(:first-child) {
					margin-top:1.5em;
				}
				&:not(:last-child) {
					margin-bottom:1em;
				}
			}
			.mb-0 {
				margin-bottom:0px!important;
			}
			.mb-10 {
				margin-bottom:10px!important;
			}
			.mb-20 {
				margin-bottom:20px!important;
			}
			.mb-30 {
				margin-bottom:30px!important;
			}
			.mb-40 {
				margin-bottom:40px!important;
			}
			.mb-50 {
				margin-bottom:50px!important;
			}
			.mb-60 {
				margin-bottom:60px!important;
			}
			a {
				&:not(:has(img)):not(:has(svg)):not(.btn):not(.wp-element-button) {
					color:var(--color_main);
					text-decoration:underline;
					&[target="_blank"] {
						&::after {
							content:'';
							display:inline-block;
							width:.8em;
							height:.8em;
							background:url(../assets/img/common/icon-ex.svg);
							margin-left:.25em;
							transform:translateY(.1em);
						}
					}
				}
				&.btn {
					color:#FFFFFF;
					text-decoration:none;
				}
			}
			img {
				max-width:200%;
				width:100%;
				height:auto;
			}
			.wp-block-buttons {
				&.w100 {
					.wp-block-button {
						.wp-element-button {
							width:100%;
						}
					}
				}
			}
			.wp-block-button {
				display:flex;
				flex-wrap:wrap;
				gap:10px;
				justify-content:center;
				align-items:center;
				a {
					background-color:var(--color_main);
					color:#FFFFFF;
					text-decoration:none;
					display:inline-grid;
					width:auto;
					line-height:1.33;
					padding:1em 2em;
					font-weight:500;
					display:grid;
					grid-template-columns:repeat(2,auto);
					align-items:center;
					justify-content:center;
					grid-column-gap:.33em;
					position:relative;
					&::before {
						content:'';
						display:block;
						width:calc(100% + 6px);
						height:calc(100% + 6px);
						border:2px solid var(--color_main);
						border-radius:2em;
						position:absolute;
						top:50%;
						left:50%;
						transform:translate(-50%,-50%);
						z-index:0;
						pointer-events:none;
					}
					&::after {
						content:'';
						display:inline-block;
						width:.8em;
						height:.8em;
						background:url(../assets/img/common/icon-arrow-right-w.svg) no-repeat center center/contain;
						margin-left:.25em;
					}
					&[target="_blank"] {
						&::after {
							background:url(../assets/img/common/icon-ex-w.svg) no-repeat center center/contain;
						}
					}
				}
			}
			.wp-block-image {
				margin:30px auto;
				&.w600 {
					max-width:600px!important;
					margin:30px auto;
				}
				&.w800 {
					max-width:800px!important;
					margin:30px auto;
				}
				&.w1000 {
					max-width:1000px!important;
					margin:30px auto;
				}
				figcaption {
					position:relative;
					background:none;
					color:#000000;
					text-shadow:none;
					line-height:1.5;
					padding:.5em 0 0;
					font-size:1.4rem;
					text-align:left;
				}
			}
			.wp-block-gallery {
				margin:30px auto;
				&.w600 {
					max-width:600px!important;
					margin:30px auto;
				}
				&.w800 {
					max-width:800px!important;
					margin:30px auto;
				}
				&.w1000 {
					max-width:1000px!important;
					margin:30px auto;
				}
/* 				img {
					max-width:800px!important;
					margin:0 auto;
				} */
				&.gallery-slider {
					position:relative;
					width:calc(100% - 40px);
					margin:0 auto;
					margin:30px auto;
					.slick-slide {
						padding:0 10px;
						img {
							display:block;
							width:100%;
							aspect-ratio:4/3;
							object-fit:cover;
						}
					}
					.slick-arrow {
						width:30px;
						height:30px;
						background:url(../assets/img/common/icon-right.svg) no-repeat center center/contain;
						left:auto;
						bottom:auto;
						top:45%;
						transform:translate(0,0);
						z-index:1;
						&.slick-prev {
							transform:rotate(-180deg);
							left:-25px;
						}
						&.slick-next {
							right:-25px;
						}
						&::before {
							content:none;
						}
					}
					.slick-dots {
						position: relative;
						bottom:0;
						display:flex;
						align-items:center;
						justify-content:center;
						column-gap:10px;
						li {
							margin:0;
							width:auto;
							height:auto;
							padding:0;
							&.slick-active {
								button {
									background-color:var(--color_main);
								}
							}
						}
						button {
							width:15px;
							height:15px;
							border-radius:50%;
							padding:0;
							background-color:#cccccc;
							&::before {
								content:none;
							}
						}
					}
				}
			}
			.wp-block-heading {
				&.acd-title {
					position:relative;
					cursor:pointer;
					padding-right:2em;
					&::before,&::after {
						content:'';
						width:1em;
						height:1em;
						position:absolute;
						right:.25em;
						top:calc(50% - .5em);
						z-index:2;
						border-radius:50%;
						transition:.3s;
					}
					&::before {
						background:url(../assets/img/common/icon-plus.svg) no-repeat center center/contain;
					}
					&::after {
						background:url(../assets/img/common/icon-minus.svg) no-repeat center center/contain;
						opacity:0;
					}
					&.open {
						&::before {
							opacity:0;
						}
						&::after {
							opacity:1;
						}
					}
					& + .wp-block-columns {
						&.acd-item {
							display:none;
						}
					}
				}
			}
			.wp-block-columns {
				.wp-block-image {
					margin:0 auto 15px;
				}
				h4 {
					font-size:2.0rem;
					text-align:center;
					margin-bottom:.5em;
					padding:.4em 0 .3em;
				}
				
			}
			.wp-block-list {
				font-size:1.6rem;
				margin-bottom:60px;
				border:1px solid var(--color_main);
				padding:1.5em 2em;
				position:relative;
				&::before {
					content:'';
					display:block;
					pointer-events:none;
					width:calc(100% - 10px);
					height:calc(100% - 10px);
					border:1px solid var(--color_main);
					position:absolute;
					left:4px;
					top:4px;
				}
				li {
					line-height:1.66;
					text-indent:-1.3em;
					padding-left:1.3em;
					&:not(:last-child) {
						margin-bottom:.5em;
					}
					&::before {
						content:'●';
						color:var(--color_main);
						margin-right:.33em;
					}
				}
				&.flex-list {
					display:flex;
					flex-wrap:wrap;
					gap:.5em 1em;
					li {
						text-indent:0;
						padding-left:0;
						&::before {
							content:none;
						}
						&:not(:last-child) {
							margin-bottom:0;
						}
					}
				}
			}
			ol {
				&.wp-block-list {
					li {
						list-style:decimal;
						text-indent:-1.0em;
						padding-left:1.0em;
						list-style-position:inside;
						&::before {
							content:none;
						}
					}
				}
			}
			strong {
				font-weight:600;
				color:var(--color_main);
			}
			table {
				thead {
					border:none;
					tr {
						border:none;
						th,td {
							font-size:1.6rem;
							line-height:1.5;
							padding:1em;
							border:none;
							background-color:#EFEFEF;
							border:none;
							&:not(:last-child) {
								border-right:2px solid #FFFFFF
							}
						}
					}
				}
				tbody {
					tr {
						border-bottom:1px solid #cccccc;
						th,td {
							font-size:1.6rem;
							line-height:1.5;
							padding:1em;
							border:none;
						}
						th {
							font-weight:400;
						}
						td {
							font-weight:400;
							&:first-child {
								width:auto;
								min-width: 10em;
							}
						}
					}
				}
			}
			.tbl1 {
				table {
					tbody {
						tr {
							td {
								&:first-child {
									width:15em;
								}
							}
						}
					}
				}
			}
			.wp-block-embed {
				margin:30px 0;
				.wp-block-embed__wrapper {
					iframe {
						display:block;
						width:100%;
						max-width:640px;
						height:auto;
						aspect-ratio:16/9;
						margin:0 auto;
					}
				}
			}
			iframe[src*="/maps/"] {
				display:block;
				width:100%;
				max-width:1024px;
				height:auto;
				aspect-ratio:16/9;
				margin:30px auto;
			}
		}
	}
}

mark {
	&.has-inline-color {
		font-style:normal;
		font-weight:500;
		&.has-color-main-color {
			color:var(--color_main);
		}
		&.has-color-sub-color {
			color:var(--color_sub);
		}
		&.has-color-sub-2-color {
			color:var(--color_sub2);
		}
		&.has-color-sub-3-color {
			color:var(--color_sub3);
		}
		&.has-color-sub-4-color {
			color:var(--color_sub4);
		}
		&.has-color-sub-5-color {
			color:var(--color_sub5);
		}
		&.has-color-sub-6-color {
			color:var(--color_sub6);
		}
		&.has-color-sub-7-color {
			color:var(--color_sub7);
		}
		&.has-color-sub-8-color {
			color:var(--color_sub8);
		}
		&.has-color-sub-9-color {
			color:var(--color_sub9);
		}
		&.has-color-w-color {
			color:#FFFFFF;
		}
	}
}

/****/

html {
	:where(.wp-block) {
		max-width:1200px;
		width: calc(100% - 60px);
		margin:0 auto;
	}
	&:has(.editor-styles-wrapper) {
		font-size:62.5%;
		line-height:1;
			* {
				font-family: "Poppins", "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,'Hiragino Kaku Gothic Pro',Osaka, "ＭＳ Ｐゴシック", "MS PGothic",sans-serif;
				margin: 0;
				padding: 0;
				box-sizing:border-box;
				font-feature-settings: "palt";
				line-height:1;
		}
		body {
				font-size:1.6rem;
				.is-root-container {
					img {
						-webkit-backface-visibility: hidden;
						vertical-align:bottom;
						line-height:0;
						max-width: 100%;
						height: auto;
					}
					p,th,td,dt,dd,li,h1,h2,h3,h4,h5,h6,label {
						color:#000000;
					}
					a {
						color:#000000;
						text-decoration:none;
						outline:none;
						border:none;
						img {
							outline:none;
							border:none;
							-webkit-backface-visibility: hidden;
						}
					}
					area {
						border:none;
						outline:none;
					}
					.clear {
						clear:both;
					}
			}
		}
	}
}

:root {
	--color_def: #000000;
	--color_main: #e31837;
	--color_sub: #FF7600;
	--color_sub2: #EFEFEF;
	--color_sub3: #DDE9FF;
	--color_sub4: #00A9E4;
	--color_sub5: #cc0000;
	--color_sub6: #ffff00;
	--color_sub7: #00cc00;
	--color_sub8: #ff0099;
	--color_sub9: #0099ff;
}

:where(.editor-styles-wrapper) {
	h1 {
		margin-bottom:1.5em;
	}
	.is-root-container {
		p {
			font-size: 1.6rem;
			line-height: 2;
		}
		h2 {
			font-size:3.0rem;
			line-height:1.5;
			background-color:var(--color_main);
			color:#FFFFFF!important;
			font-weight:500;
			padding:.3em .66em;
			border-left:15px solid var(--color_sub);
			&:not(:first-child) {
				margin-top:1.5em;
			}
			&:not(:last-child) {
				margin-bottom:1.5em;
			}
		}
		h3 {
			font-size:2.4rem;
			line-height:1.5;
			background-color:var(--color_sub3);
			color:var(--color_main)!important;
			font-weight:500;
			padding:.3em .66em .3em 1.5em;
			position:relative;
			&::before {
				content:'';
				display:block;
				width:1em;
				height:100%;
				background-color:var(--color_main);
				position:absolute;
				z-index:1;
				left:0;
				top:0;
				clip-path:polygon(0 0,100% 0,0 100%);
			}
			&:not(:first-child) {
				margin-top:1.5em;
			}
			&:not(:last-child) {
				margin-bottom:1em;
			}
		}
		h4 {
			font-size:2.2rem;
			line-height:1.5;
			color:var(--color_main)!important;
			font-weight:500;
			padding:.4em 1em .3em;
			border-top:1px solid var(--color_main);
			border-bottom:1px solid var(--color_main);
			position:relative;
			&::before {
				content:'';
				display:block;
				width:100%;
				height:calc(100% - 8px);
				position:absolute;
				z-index:-1;
				left:0;
				top:3px;
				border-top:1px solid var(--color_main);
				border-bottom:1px solid var(--color_main);
			}
			&:not(:first-child) {
				margin-top:1.5em;
			}
			&:not(:last-child) {
				margin-bottom:1em;
			}
		}
		h5 {
			font-size:2.0rem;
			line-height:1.5;
			color:var(--color_main)!important;
			font-weight:500;
			border-left:5px solid var(--color_main);
			padding-left:.5em;
			&:not(:first-child) {
				margin-top:1.5em;
			}
			&:not(:last-child) {
				margin-bottom:1em;
			}
		}
		h6 {
			font-size:1.8rem;
			line-height:1.5;
			color:var(--color_main);
			font-weight:500;
			text-indent:-1.25em;
			padding-left:1.25em;
			&::before {
				content:'■';
				margin-right:.15em;
			}
			&:not(:first-child) {
				margin-top:1.5em;
			}
			&:not(:last-child) {
				margin-bottom:1em;
			}
		}
		.mb-0 {
			margin-bottom:0px!important;
		}
		.mb-10 {
			margin-bottom:10px!important;
		}
		.mb-20 {
			margin-bottom:20px!important;
		}
		.mb-30 {
			margin-bottom:30px!important;
		}
		.mb-40 {
			margin-bottom:40px!important;
		}
		.mb-50 {
			margin-bottom:50px!important;
		}
		.mb-60 {
			margin-bottom:60px!important;
		}
		a {
			&:not(:has(img)) {
				color:var(--color_main)!important;
				text-decoration:underline!important;
				&[target="_blank"] {
					&::after {
						content:'';
						display:inline-block;
						width:.8em;
						height:.8em;
						background:url(../assets/img/common/icon-ex.svg);
						margin-left:.25em;
						transform:translateY(.1em);
					}
				}
			}
		}
		.wp-block-buttons {
			&.w100 {
				.wp-block-button {
					.wp-element-button {
						width:100%;
					}
				}
			}
		}
		.wp-block-button {
			display:flex;
			flex-wrap:wrap;
			gap:10px;
			justify-content:center;
			align-items:center;
			a,.wp-block-button__link {
				background-color:var(--color_main);
				color:#FFFFFF;
				text-decoration:none;
				display:inline-grid;
				width:auto;
				line-height:1.33;
				padding:1em 2em;
				font-weight:500;
				display:grid;
				grid-template-columns:repeat(2,auto);
				align-items:center;
				justify-content:center;
				grid-column-gap:.33em;
				&::before {
					content:'';
					display:block;
					width:calc(100% + 6px);
					height:calc(100% + 6px);
					border:2px solid var(--color_main);
					border-radius:2em;
					position:absolute;
					top:50%;
					left:50%;
					transform:translate(-50%,-50%);
					z-index:0;
					pointer-events:none;
				}
				&::after {
					content:'';
					display:inline-block;
					width:.8em;
					height:.8em;
					background:url(../assets/img/common/icon-arrow-right-w.svg) no-repeat center center/contain;
					margin-left:.25em;
				}
				&[target="_blank"] {
					&::after {
						background:url(../assets/img/common/icon-ex-w.svg) no-repeat center center/contain;
					}
				}
			}
		}
		.wp-block-image {
			margin:30px auto!important;
			&.w600 {
				max-width:600px!important;
				margin:30px auto;
			}
			&.w800 {
				max-width:800px!important;
				margin:30px auto;
			}
			&.w1000 {
				max-width:1000px!important;
				margin:30px auto;
			}
		}
		.wp-block-gallery {
			margin-top:30px!important;
			&.w600 {
				max-width:600px!important;
				margin:30px auto;
			}
			&.w800 {
				max-width:800px!important;
				margin:30px auto;
			}
			&.w1000 {
				max-width:1000px!important;
				margin:30px auto;
			}
		}	
		.wp-block-list {
			font-size:1.6rem;
			margin-bottom:60px;
			border:1px solid var(--color_main);
			padding:1.5em 2em;
			position:relative;
			list-style:none;
			&::before {
				content:'';
				display:block;
				pointer-events:none;
				width:calc(100% - 10px);
				height:calc(100% - 10px);
				border:1px solid var(--color_main);
				position:absolute;
				left:4px;
				top:4px;
			}
			li {
				& > div {
					line-height:1.66;
					text-indent:-1.3em;
					padding-left:1.3em;
					&:not(:last-child) {
						margin-bottom:.5em;
					}
					&::before {
						content:'●';
						color:var(--color_main);
						margin-right:.33em;
					}
				}
			}
		}
		ol {
			&.wp-block-list {
				li {
					list-style:decimal;
					text-indent:-1.0em;
					padding-left:1.0em;
					list-style-position:inside;
					&::before {
						content:none;
					}
				}
			}
		}
		.wp-block-columns {
			.wp-block-image {
				margin:0 auto 15px;
			}
			h4 {
				font-size:2.0rem;
				text-align:center;
				margin-bottom:.5em;
				padding:.4em .5em .3em;
			}
			
		}
		strong {
			font-weight:600;
			color:var(--color_main);
		}
		table {
			tbody {
				tr {
					border-bottom:1px solid #cccccc;
					th,td {
						font-size:1.6rem;
						line-height:1.5;
						padding:1em;
						border:none;
					}
					th {
						font-weight:400;
					}
					td {
						font-weight:400;
						&:first-child {
							width:auto;
							min-width: 10em;
						}
					}
				}
			}
		}
		.tbl1 {
			table {
				tbody {
					tr {
						td {
							&:first-child {
								width:15em;
							}
						}
					}
				}
			}
		}
		.wp-block-embed {
			margin:30px;
			.wp-block-embed__wrapper {
				iframe {
					display:block;
					width:100%;
					max-width:640px;
					height:auto;
					aspect-ratio:16/9;
					margin:0 auto;
				}
			}
		}
		iframe[src*="/maps/"] {
			display:block;
			width:100%;
			max-width:1024px;
			height:auto;
			aspect-ratio:16/9;
			margin:30px auto;
		}
	}
}


.pagenavi {
    padding-top:60px;
    .screen-reader-text {
        display:none;
    }
    .page-numbers {
        display:flex;
        align-items:start;
        justify-content:center;
        gap:.5em .33em;
        li {
            a,span {
                background-color:#f1f1f1;
                color:var(--color_main);
				border-radius:6px;
                font-size:1.6rem;
                min-height:2em;
                line-height:2;
                min-width:2em;
                padding:0 .5em;
				text-decoration:none!important;
            }
        }
        .current {
            font-weight:700;
        }
    }
}



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

}

@media screen and (max-width:1024px){
	
	.titlewrap {
		&::before {
			height:40px;
		}
		&::after {
			height:40px;
		}
		h1 {
			width: calc(100% - 50px);
			font-size:4.0rem;
		}
	}
	#main {
		.breadcrumbs {
			.rank-math-breadcrumb {
				width: calc(100% - 50px);
				p {
					font-size:1.4rem;
				}
			}
		}
		.wrap {
			.contents {
				h2 {
					font-size:2.4rem;
				}
				h3 {
					font-size:2.0rem;
				}
				h4 {
					font-size:1.8rem;
				}
				h5 {
					font-size:1.7rem;
				}
			}
		}
	}

}

@media screen and (max-width:768px){
	
	.titlewrap {
		&::before {
			height:30px;
		}
		&::after {
			height:30px;
		}
		h1 {
			width: calc(100% - 40px);
			font-size:3.0rem;
			padding:1.5em 0 .75em;
		}
	}
	#main {
		.breadcrumbs {
			.rank-math-breadcrumb {
				width: calc(100% - 40px);
				padding-bottom:15px;
				p {
					font-size:1.2rem;
				}
			}
		}
		.wrap {
			.contents {
				h2 {
					font-size:2.0rem;
				}
				h3 {
					font-size:1.8rem;
				}
				h4 {
					font-size:1.7rem;
				}
				h5 {
					font-size:1.6rem;
				}
				.wp-block-button {
					a {
						font-size:1.4rem;
					}
				}
				.wp-block-image {
					margin:20px auto;
				}
				.wp-block-list {
					font-size:1.5rem;
					margin-bottom:30px;
					padding:1em;
				}
				table {
					thead {
						tr {
							th,td {
								font-size:1.4rem;
								padding:1em;
							}
						}
					}
					tbody {
						tr {
							th,td {
								font-size:1.4rem;
								padding:1em;
							}
						}
					}
				}
				.tbl1 {
					table {
						tbody {
							tr {
								td {
									&:first-child {
/* 										width:100%;
										padding-bottom:0;
										font-weight:600; */
									}
								}
							}
						}
					}
				}
				.wp-block-embed {
					margin:20px 0;
				}
				iframe[src*="/maps/"] {
					aspect-ratio:4/3;
					margin:30px auto;
				}
			}
		}
	}
	
}

