@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');
html {
	margin: 0!important;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	height: 100%;
	overflow: auto;
	overflow-y: scroll;
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}
body {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	color: #454545;
	font-family: "Noto Sans JP", "Yu Gothic", yugothic, meiryo, sans-serif;
	font-weight: 400;
	font-feature-settings: "palt";
	text-align: left
}
div {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
span {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
object {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
iframe {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
h1 {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
h2 {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
h3 {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
h4 {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
h5 {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
h6 {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
p {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
blockquote {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	quotes: none
}
blockquote:before {
	content: "";
	content: none
}
blockquote:after {
	content: "";
	content: none
}
pre {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
abbr {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
address {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
cite {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
code {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
del {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	text-decoration: line-through
}
dfn {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
em {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
img {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
ins {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	background-color: #ff9;
	color: #000;
	text-decoration: none
}
kbd {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
q {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	quotes: none
}
q:before {
	content: "";
	content: none
}
q:after {
	content: "";
	content: none
}
samp {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
small {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
strong {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
sub {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
sup {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
var {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
b {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
i {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
dl {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
dt {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
dd {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
ol {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	list-style: none
}
ul {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	list-style: none
}
li {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
form {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
label {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
legend {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
table {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	border-collapse: collapse;
	border-spacing: 0
}
caption {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
tbody {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
tfoot {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
thead {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
tr {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
th {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
article {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	display: block;
}
aside {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	display: block;
}
dialog {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	display: block;
}
figure {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	display: block;
}
footer {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	display: block;
}
header {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	display: block;
}
hgroup {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	display: block;
}
menu {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
nav {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	display: block;
}
section {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	display: block;
}
time {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
mark {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0;
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: 700
}
audio {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: 0 0
}
figcaption {
	display: block
}
a {
	color: #454545;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
a:hover {
	opacity: .75;
	text-decoration: none;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0
}
input {
	vertical-align: middle
}
select {
	vertical-align: middle
}
.pc-inline {
	display: inline!important
}
.pc-inline-block {
	display: inline-block!important
}
.pc-block {
	display: block!important
}
.sp-inline {
	display: none!important
}
.sp-inline-block {
	display: none!important
}
.sp-block {
	display: none!important
}
#issp {
	display: none
}

@media not all and (min-width:768px) {
	.pc-inline {
		display: none!important
	}
	.pc-inline-block {
		display: none!important
	}
	.pc-block {
		display: none!important
	}
	.sp-inline {
		display: inline!important
	}
	.sp-inline-block {
		display: inline-block!important
	}
	.sp-block {
		display: block!important
	}
	#issp {
		position: absolute;
		left: 0;
		top: 0;
		display: block;
		width: 1px;
		height: 1px;
		pointer-events: none
	}
}

header {
	background-color: #ffffff;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 208001;
	width: 100%;
	font-family: "Noto Serif JP", serif;;
	transition: opacity .2s linear
}
.header--visible {
	opacity: 1;
	pointer-events: auto
}
.header-inner {
	position: relative;
	display: flex;
    align-items: center;
	gap: 20px;
	max-width: 1400px;
	height: 100px;
    padding: 20px;
	margin: 0 auto;
	box-sizing: border-box;
}
.header-logo {
	padding: 0;
}
.header-logo a {
	color: #4c94b5;
	background: url(../images/common/logo.png) no-repeat left center;
	background-size: 100% auto;
	display: block;
	text-indent: -9999px;
	width: 231px;
	height: 50px;
	overflow: hidden;
}
.header-nav {
	margin: 0 0 0 auto;
	display: flex;
	align-items: center;
	gap: 30px;
}
.header-nav .header-menu-links {
	display: flex;
	justify-content: center;
    align-items: center;
    gap: 20px;
	font-size: 18px;
	line-height: 1.5;
}
.header-nav .header-menu-links > li a {
	color: #4c94b5;
	display: block;
	width: max-content;
	padding: 0;
	text-decoration: none;
	white-space: nowrap;
}
body.nav--visible .header-menu {
}
body.nav--visible .header-drawer-menu {
	height: calc(100vh - 80px)
}
.header--visible .header-menu-button {
	color: #1f1f1f
}
body.nav--visible .header-menu-button {
	color: #1f1f1f
}
.header-button {
	color: #ffffff;
	background-color: #4c94b5;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 180px;
	height: 60px;
	padding: 6px 10px;
	border-radius: 6px;
	border: 1px solid #4c94b5;
	font-size: 18px;
	text-align: center;
	text-decoration: none!important;
	transition: all 0.3s;
}
.header-button:hover {
	color: #4c94b5;
	background-color: #ffffff;
}
.header-buttons {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 15px;
}
.header-menu-button {
	display: none;
}
footer {
	color: #454545;
	background: linear-gradient(to bottom,#83cff3 0%, #ffffff 100%);
	padding: 40px 20px 30px;
	font-family: "Noto Serif JP", serif;;
	position: relative;
}
footer::before {
	background: linear-gradient(to bottom, #ffffff00 0%, #f3d62e 100%);
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}
footer::after {
	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 725 385"><path fill-rule="evenodd" stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M157.839,257.853 C137.559,259.073 117.066,256.688 97.610,250.843 C91.724,249.076 84.697,245.087 85.666,239.028 C86.296,235.084 90.178,232.600 93.779,230.863 C106.996,224.491 121.688,221.189 136.365,221.294 C173.815,221.290 219.640,213.555 253.528,230.026 C258.723,232.550 264.018,235.145 268.126,239.201 C272.234,243.256 275.017,249.107 273.931,254.772 C272.275,263.410 262.942,268.037 254.576,270.790 C218.732,282.587 182.448,280.354 145.038,280.598 C101.589,280.881 56.349,279.904 17.595,260.286 C13.749,258.339 9.766,255.987 7.887,252.112 C3.447,242.952 13.186,233.408 22.130,228.529 C48.872,213.943 79.627,206.782 110.072,208.053 C188.328,208.082 266.585,208.111 344.841,208.139 C381.786,208.153 429.188,200.576 453.141,235.745 C455.667,239.454 457.839,243.579 458.214,248.050 C459.086,258.417 450.374,266.984 441.704,272.754 C408.336,294.959 365.244,290.445 333.118,313.839 C325.848,319.133 318.608,326.552 319.088,335.524 C319.402,341.392 323.028,346.548 326.992,350.892 C348.223,374.160 374.327,377.544 403.946,374.256 L582.088,375.208 C623.125,375.208 665.222,371.166 702.763,354.617 C709.021,351.857 716.085,347.040 715.358,340.247 C714.113,328.615 692.123,318.064 682.907,315.307 C650.315,305.556 616.092,301.265 582.097,302.667 C550.377,302.487 519.296,302.099 488.097,308.694 C485.350,309.275 482.596,309.858 479.939,310.763 C470.180,314.088 462.077,321.944 458.459,331.586 C457.829,333.264 457.324,335.065 457.622,336.832 C457.998,339.062 459.580,340.877 461.177,342.480 C479.828,361.205 507.309,366.346 532.579,365.411 C536.234,365.276 540.308,365.217 543.020,367.667 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M157.839,257.676 C137.559,258.896 117.066,256.510 97.610,250.661 C91.724,248.892 84.697,244.901 85.666,238.837 C86.296,234.890 90.178,232.405 93.779,230.667 C106.996,224.289 121.688,220.985 136.365,221.090 L223.605,221.081 C223.251,223.333 226.216,223.783 228.491,223.619 C245.960,222.359 263.356,226.132 280.463,229.882 C287.340,231.389 294.329,232.938 300.488,236.349 C303.835,238.203 306.969,240.684 308.785,244.050 C310.600,247.416 310.873,251.785 308.755,254.970 C307.137,257.402 304.421,258.837 301.788,260.105 C253.637,283.303 197.131,280.098 145.038,280.438 C101.589,280.722 56.349,279.743 17.595,260.110 C13.749,258.162 9.766,255.809 7.887,251.931 C3.447,242.764 13.186,233.213 22.130,228.330 C48.872,213.734 79.627,206.567 110.071,207.839 L400.442,207.946 C429.093,207.946 466.533,208.159 486.589,232.180 C493.738,240.742 496.869,253.709 490.950,263.162 C487.536,268.615 481.763,272.068 476.206,275.317 C424.213,305.711 355.331,284.016 299.305,304.892 C287.632,309.241 275.997,315.643 269.551,326.296 C267.204,330.177 265.603,334.772 266.442,339.228 C267.861,346.773 275.454,351.319 282.432,354.529 C320.164,371.884 362.663,378.751 403.946,374.166 L582.088,375.117 C623.125,375.117 665.222,371.073 702.763,354.512 C709.021,351.750 716.085,346.929 715.358,340.131 C714.113,328.491 692.123,317.931 682.907,315.172 C650.315,305.415 616.092,301.120 582.097,302.524 C550.377,302.343 519.296,301.955 488.097,308.555 C485.350,309.136 482.596,309.719 479.939,310.625 C470.180,313.953 462.077,321.815 458.459,331.463 C457.829,333.142 457.324,334.945 457.622,336.714 C457.998,338.945 459.580,340.762 461.177,342.366 C479.828,361.105 507.309,366.248 532.579,365.314 C536.234,365.179 540.308,365.120 543.020,367.571 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M157.839,257.676 C137.559,258.896 117.066,256.510 97.610,250.661 C91.724,248.892 84.697,244.901 85.666,238.837 C86.296,234.890 90.178,232.405 93.779,230.667 C106.996,224.289 121.688,220.985 136.365,221.090 L223.605,221.081 C223.251,223.333 226.216,223.783 228.491,223.619 C245.960,222.359 263.356,226.132 280.463,229.882 C287.340,231.389 294.329,232.938 300.488,236.349 C303.835,238.203 306.969,240.684 308.785,244.050 C310.600,247.416 310.873,251.785 308.755,254.970 C307.137,257.402 304.421,258.837 301.788,260.105 C253.637,283.303 197.131,280.098 145.038,280.438 C101.589,280.722 56.349,279.743 17.595,260.110 C13.749,258.162 9.766,255.809 7.887,251.931 C3.447,242.764 13.186,233.213 22.130,228.330 C48.872,213.734 79.627,206.567 110.071,207.839 L400.442,207.946 C430.871,207.946 462.612,212.737 491.019,223.634 C500.880,227.418 511.800,233.536 513.208,243.996 C514.633,254.589 505.399,263.499 496.252,269.039 C438.686,303.910 362.381,281.390 299.305,304.892 C287.632,309.241 275.997,315.643 269.551,326.296 C267.204,330.177 265.603,334.772 266.442,339.228 C267.861,346.773 275.454,351.319 282.432,354.529 C320.164,371.884 362.663,378.751 403.946,374.166 L582.088,375.117 C623.125,375.117 665.222,371.073 702.763,354.512 C709.021,351.750 716.085,346.929 715.358,340.131 C714.113,328.491 692.123,317.931 682.907,315.172 C650.315,305.415 616.092,301.120 582.097,302.524 L539.066,302.278 C517.803,300.202 496.286,302.647 475.199,306.076 C460.664,308.440 445.898,311.552 433.305,319.180 C426.404,323.360 419.675,330.543 421.395,338.421 C422.497,343.465 426.818,347.156 431.275,349.768 C439.436,354.550 448.743,356.985 458.001,358.935 C482.476,364.091 507.584,366.238 532.579,365.314 C536.234,365.179 540.308,365.120 543.020,367.571 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M131.621,63.283 C113.749,63.554 95.841,61.433 78.532,56.993 C70.215,54.860 52.617,47.823 61.612,35.467 C63.033,33.515 65.192,32.243 67.333,31.117 C92.045,18.120 121.172,21.226 148.194,21.221 C176.120,21.216 238.782,20.697 261.784,38.934 C264.709,41.253 270.933,45.374 271.916,48.966 C274.896,59.851 255.537,67.602 247.597,70.274 C206.167,84.218 157.419,81.764 114.188,82.123 C87.187,82.347 59.716,82.508 33.829,74.866 C22.909,71.642 11.267,65.890 7.657,55.137 C4.644,46.159 8.404,35.948 15.021,29.148 C21.638,22.349 30.665,18.420 39.710,15.497 C58.863,9.308 79.242,6.908 99.317,8.476 C114.825,9.688 131.622,8.946 147.178,9.122 C181.765,9.513 216.402,8.863 250.992,8.660 C301.969,8.360 357.398,5.620 404.539,26.806 C410.664,29.559 416.844,32.589 421.511,37.401 C426.179,42.213 429.115,49.195 427.447,55.674 C425.581,62.918 418.731,67.651 412.152,71.263 C379.215,89.346 344.399,92.224 307.614,93.485 L22.726,94.111 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M131.331,63.283 C113.498,63.555 95.631,61.433 78.361,56.993 C70.062,54.860 52.504,47.823 61.479,35.466 C62.897,33.514 65.051,32.242 67.187,31.116 C91.843,18.118 120.904,21.225 147.866,21.220 C171.172,21.216 193.949,21.542 215.553,31.541 C220.723,33.933 225.840,36.876 229.295,41.398 C232.749,45.921 234.207,52.342 231.604,57.400 C229.813,60.880 226.446,63.229 223.208,65.436 C216.388,70.083 209.346,74.828 201.277,76.586 C172.320,82.895 143.634,81.877 113.937,82.124 C86.997,82.348 59.587,82.510 33.758,74.867 C22.862,71.642 11.247,65.890 7.646,55.137 C4.638,46.158 8.391,35.947 14.993,29.147 C21.594,22.347 30.601,18.418 39.626,15.495 C58.736,9.306 79.069,6.905 99.099,8.474 C114.573,9.686 131.332,8.944 146.852,9.120 C181.362,9.511 215.921,8.862 250.433,8.658 C297.279,8.381 346.328,4.426 389.435,26.537 C394.732,29.254 399.906,32.467 403.751,37.005 C407.597,41.542 409.984,47.598 409.011,53.459 C408.450,56.842 406.822,59.968 404.844,62.773 C394.143,77.947 374.568,83.532 356.504,87.945 C340.266,91.911 323.589,92.914 306.928,93.488 L22.681,94.112 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M131.654,61.925 C113.776,62.198 95.864,60.062 78.551,55.592 C70.231,53.444 52.629,46.358 61.626,33.917 C63.047,31.951 65.207,30.670 67.349,29.536 C92.067,16.450 121.201,19.577 148.230,19.573 C171.595,19.568 194.430,19.897 216.088,29.964 C221.271,32.373 226.401,35.336 229.864,39.890 C233.327,44.443 234.789,50.909 232.179,56.001 C230.384,59.505 227.008,61.870 223.762,64.092 C216.925,68.771 209.865,73.549 201.776,75.319 C172.746,81.671 143.987,80.646 114.216,80.895 C87.208,81.120 59.730,81.283 33.836,73.588 C22.912,70.341 11.268,64.550 7.657,53.722 C4.642,44.682 8.404,34.401 15.023,27.554 C21.641,20.708 30.670,16.751 39.719,13.808 C58.876,7.576 79.261,5.160 99.340,6.739 C114.853,7.960 131.655,7.213 147.214,7.390 C181.811,7.784 216.457,7.129 251.056,6.924 C282.979,6.735 317.471,2.068 346.942,17.397 C359.027,23.682 369.534,34.492 372.021,47.905 C372.915,52.730 372.676,57.984 370.121,62.172 C368.794,64.347 366.916,66.124 364.998,67.799 C326.634,101.305 269.398,92.421 222.102,92.525 C170.314,92.639 118.526,92.754 66.738,92.868 C52.069,92.901 37.399,92.933 22.730,92.965 "/></svg>'), url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 960 445"><path fill-rule="evenodd" stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M631.002,231.327 C669.932,232.576 709.016,228.953 747.053,220.569 C759.313,217.867 774.147,211.457 774.169,198.904 C774.192,186.588 759.885,180.038 747.959,176.957 C668.969,156.545 585.568,153.382 505.259,167.751 C486.921,171.031 468.380,175.356 452.438,184.993 C444.254,189.939 436.053,198.912 439.312,207.901 C440.774,211.935 444.274,214.845 447.764,217.342 C482.329,242.065 527.461,244.776 569.920,246.607 L836.621,246.963 C867.117,246.963 897.365,240.565 925.876,229.746 C933.983,226.669 942.146,223.098 948.377,217.069 C957.070,208.654 957.999,193.973 951.130,184.129 C946.031,176.822 938.074,172.066 930.089,168.110 C897.166,151.797 862.788,149.607 826.928,146.727 C777.480,142.755 722.905,147.962 683.314,118.062 C653.796,95.763 684.057,73.587 706.714,64.087 C710.905,62.329 723.311,49.725 812.949,50.454 L962.273,49.767 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M630.875,231.342 C669.780,232.589 708.838,228.972 746.850,220.601 C759.102,217.903 773.926,211.502 773.949,198.971 C773.971,186.674 759.674,180.135 747.755,177.058 C668.817,156.680 585.470,153.521 505.213,167.867 C486.887,171.142 468.359,175.460 452.427,185.081 C444.248,190.021 436.053,198.979 439.309,207.953 C440.770,211.981 444.268,214.886 447.756,217.379 C482.298,242.062 527.401,244.769 569.833,246.598 L836.360,246.953 C866.836,246.953 897.065,240.565 925.557,229.763 C933.658,226.691 941.817,223.126 948.043,217.106 C956.731,208.706 957.659,194.048 950.794,184.220 C945.698,176.924 937.747,172.175 929.767,168.226 C896.865,151.939 862.510,149.752 826.674,146.876 C810.376,145.568 794.920,145.629 779.480,139.739 C776.165,138.475 773.278,136.328 770.294,134.410 C758.786,127.014 744.505,121.963 738.123,109.872 C732.242,98.730 735.347,84.388 743.186,74.522 C751.025,64.655 762.775,58.638 774.737,54.653 C806.007,44.236 848.468,50.594 881.757,50.440 C908.482,50.317 935.206,50.195 961.931,50.072"/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M630.875,230.312 C659.600,231.233 701.437,234.372 723.094,211.004 C726.385,207.453 729.212,203.139 729.548,198.310 C730.053,191.067 724.923,184.663 719.394,179.954 C692.596,157.131 651.663,158.849 618.339,158.088 C580.466,157.223 542.505,160.113 505.213,166.785 C486.887,170.063 468.359,174.383 452.427,184.013 C444.248,188.956 436.053,197.922 439.309,206.904 C440.770,210.935 444.268,213.843 447.756,216.337 C482.298,241.041 527.401,243.750 569.833,245.580 C611.338,245.635 652.843,245.690 694.349,245.746 C750.546,245.821 833.801,253.451 874.258,224.872 C881.002,220.108 887.345,214.068 889.914,206.223 C893.135,196.391 889.591,185.293 883.059,177.268 C876.527,169.244 867.386,163.804 858.147,159.143 C807.767,133.726 745.113,155.868 698.799,119.053 C694.809,115.881 690.974,112.231 688.980,107.541 C687.442,103.923 687.098,99.884 687.454,95.971 C688.665,82.628 697.816,70.957 709.161,63.826 C720.507,56.695 733.864,53.504 747.093,51.366 C791.146,44.248 837.182,49.466 881.757,49.262 C908.482,49.139 935.206,49.016 961.931,48.893 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M959.950,83.579 C952.286,88.462 946.211,96.527 945.899,105.509 C945.587,114.490 952.373,123.786 961.471,124.525 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M962.530,76.159 C944.944,77.103 927.605,82.375 912.449,91.386 C909.577,93.093 906.622,95.119 905.349,98.218 C902.438,105.301 909.700,112.237 916.328,116.028 C933.084,125.613 943.396,131.956 962.497,134.606 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M962.274,6.586 L113.899,6.586 C110.118,6.512 102.555,6.768 98.774,6.804 C71.443,7.064 49.736,13.164 24.931,24.572 C17.944,27.786 10.623,33.365 7.794,40.482 C4.247,49.404 9.181,59.549 15.788,66.543 C25.907,77.254 39.880,83.751 54.237,87.259 C68.592,90.766 83.466,91.501 98.231,92.222 C110.384,92.815 122.537,93.408 134.690,94.001 L295.796,93.516 L302.876,93.516 C332.312,93.516 357.852,88.684 386.069,80.350 C395.596,77.537 410.058,69.531 411.378,59.741 C412.663,50.213 403.760,42.515 395.236,37.969 C365.342,22.024 330.022,20.481 296.096,20.215 C267.345,19.990 238.588,20.429 209.857,21.530 C174.435,22.888 138.057,19.944 106.024,35.031 C99.515,38.097 92.234,45.080 93.792,52.069 C95.046,57.693 101.349,64.591 106.880,66.314 C137.421,75.825 169.405,80.747 201.411,80.860 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" fill="none" d="M940.059,6.574 C932.919,6.574 925.779,6.574 918.639,6.574 C831.741,6.574 744.842,6.574 657.943,6.574 C538.296,6.574 418.649,6.574 299.001,6.574 C253.210,6.574 207.419,6.574 161.628,6.574 C146.846,6.574 132.063,6.576 117.281,6.574 C90.909,6.570 71.670,14.276 48.221,27.431 C39.036,32.584 29.206,39.788 28.376,50.249 C27.849,56.900 31.314,63.369 36.109,68.032 C40.904,72.695 46.938,75.853 52.879,78.946 C74.774,90.342 88.227,92.849 112.958,94.057 L273.970,93.572 L281.046,93.572 C310.465,93.572 339.440,85.701 367.640,77.362 C377.162,74.546 388.165,69.568 389.484,59.771 C390.768,50.235 381.870,42.531 373.352,37.982 C343.475,22.024 308.176,20.479 274.270,20.214 C245.535,19.988 216.796,20.427 188.082,21.529 C165.309,22.404 145.148,23.644 124.065,32.974 C120.445,34.576 116.650,37.707 114.357,40.920 C111.447,44.998 111.663,50.656 113.621,55.261 C115.580,59.866 118.725,62.573 122.418,65.962 C135.605,78.060 174.730,80.350 195.852,80.350 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" opacity="0.4" fill="none" d="M962.274,355.263 C860.020,357.397 861.684,408.005 962.737,411.844 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" opacity="0.4" fill="none" d="M962.767,350.798 C937.297,349.289 911.415,349.888 886.275,354.569 C868.652,357.851 797.045,376.143 840.382,399.152 C871.455,415.648 899.637,418.310 933.831,419.830 C943.024,420.238 952.217,420.646 961.411,421.055 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" opacity="0.4" fill="none" d="M957.617,336.749 C924.868,336.749 892.120,336.749 859.372,336.749 C814.833,336.749 763.669,328.754 724.130,354.017 C711.411,362.144 701.233,376.803 703.895,391.728 C706.386,405.691 718.968,415.428 731.492,421.932 C768.600,441.205 811.405,434.809 852.181,434.699 C888.727,434.601 925.273,434.503 961.819,434.405 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" opacity="0.4" fill="none" d="M958.065,336.304 L762.346,336.304 C728.627,335.763 696.258,340.604 669.315,362.464 C662.268,368.182 655.427,375.879 655.804,384.967 C656.141,393.095 662.143,399.725 667.938,405.415 C689.700,426.780 734.585,434.334 770.315,434.334 L962.274,433.819 "/><path fill-rule="evenodd"  stroke="rgb(255, 255, 255)" stroke-width="6px" stroke-linecap="butt" stroke-linejoin="miter" opacity="0.4" fill="none" d="M958.062,336.368 L769.617,336.368 C733.066,335.779 690.358,338.907 656.770,357.525 C649.572,361.514 640.303,372.210 640.303,385.396 C640.303,397.392 653.964,410.655 658.205,413.577 C686.955,433.389 770.976,435.238 770.630,434.351 L962.264,433.837 "/></svg>');
	background-repeat: no-repeat;
	background-position: -3% 75px, right 30px;
	background-size: 712px auto, 960px auto;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.4;
	z-index: 1;
}
footer .footer-inner {
	display: flex;
	gap: 40px;
	max-width: 1080px;
	margin: 0 auto 30px;
	position: relative;
	z-index: 3;
}
footer .footer-heading {
	max-width: 240px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 30px;
	flex: 0 0 auto;
}
footer .footer-logo {
	width: 100%;
	padding: 20px 25px;
	margin: 5px 0;
	position: relative;
}
footer .footer-logo::before {
	background-color: #ffffffe6;
	box-shadow: 0px 0px 25px 25px #ffffffe6;
	padding: 10% 20%;
	content: "";
	width: 100%;
	border-radius: 20%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}
footer .footer-logo img {
	width: 100%;
	vertical-align: bottom;
	position: relative;
	z-index: 2;
}
footer .footer-buttons {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 30px;
}
footer .footer-button {
	max-width: 240px;
	flex: 1;
}
footer .footer-button > a {
	color: #ffffff;
	background-color: #4c94b5;
	font-size: 18px;
	text-align: center;
	line-height: 1.5;
	text-decoration: none!important;
	display: block;
	width: 100%;
	padding: 15px 0;
	border-radius: 10px;
	border: 1px solid #4c94b5;
	transition: all 0.3s;
}
footer .footer-button > a:hover {
	color: #4c94b5;
	background-color: #ffffff;
}
footer .footer-sns {
	width: fit-content;
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 0 auto;
}
footer .footer-sns-icon {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% auto;
	width: 60px;
	height: 60px;
	flex: 1;
	text-indent: -9999px;
	overflow: hidden;
}
footer .footer-sns-icon.sns-icon-facebook {
	background-image: url("../images/common/icon_facebook.png");
}
footer .footer-sns-icon.sns-icon-instagram {
	background-image: url("../images/common/icon_instagram.png");
}
footer .footer-sns-icon.sns-icon-youtube {
	background-image: url("../images/common/icon_youtube.png");
}
footer .footer-body {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 30px;
}
footer .footer-banner {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
footer .footer-banner > * {
	width: calc((100% - 20px * 3) / 4);
}
footer .footer-banner img {
	width: 100%;
	vertical-align: bottom;
}
footer .footer-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
footer .footer-nav > * {
	width: calc((100% - 20px * 3) / 4);
	padding-left: 1em;
	text-indent: -1em;
	font-size: 18px;
	position: relative;
}
footer .footer-nav > *::before {
	content: "・";
}
footer #copyright {
	font-size: 14px;
	text-align: center;
	position: relative;
	z-index: 3;
}
main {
	position: relative;
	padding-top: 100px;
	font-size: 18px;
	overflow: hidden;
}

@media screen and (min-width:1080px) and (max-width:1199px) {
	.header-nav {
		gap: 15px;
	}
	.header-nav .header-menu-links {
		gap: 15px;
		font-size: 16px;
	}
}

@media screen and (max-width:1079px) {
	html {
		scroll-padding-top: 60px;
	}
	.header-inner {
		padding: 15px 10px;
		height: 60px;
		gap: 15px;
	}
	.header-logo {
		transition: opacity .2s linear
	}
	.header-logo a {
		width: 138px;
		height: 30px;
	}
	.header-menu-button {
		color: #ffffff;
		flex: 0 0 auto;
		display: block;
		width: 25px;
		padding-top: 20px;
		margin: 0 0 0 auto;
		font-size: 2.66667vw;
		font-family: "noto serif jp", serif;
		line-height: 1;
		text-decoration: none;
		text-align: center;
		position: relative;
	}
	.header-menu-button::before,
	.header-menu-button::after {
		background-color: #4c94b5;
		content: "";
		width: 100%;
		height: 2px;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		transition: ease-in 0.3s;
	}
	.header-menu-button::before {
		top: 0;
	}
	.header-menu-button::after {
		bottom: 0;
	}
	html:has(body.nav--visible) {
		overflow: hidden;
	}
	body.nav--visible .header-menu-button::before {
		top: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
	}
	body.nav--visible .header-menu-button::after {
		display: none;
	}
	.header-menu {
		background-size: 100% auto
	}
	.header-menu .open {
		display: block;
		width: 100%;
		height: 2px;
		background-color: #4c94b5;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		text-indent: -9999px;
		transition: ease-in 0.3s;
	}
	body.nav--visible .header-menu .open {
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	.header-menu .close {
		display: none
	}
	.header-drawer-menu {
		color: #4c94b5;
		background-color: #ffffff;
		display: block;
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 0;
		overflow-y: auto;
		transition: height .4s cubic-bezier(.19, 1, .22, 1)
	}
	body.nav--visible .header-drawer-menu {
		height: calc(100% - 60px);
	}
	.header-drawer-menu-inner {
		padding: 0 0 20px;
	}
	.header-nav {
		width: 100%;
		margin: 0;
	}
	.header-nav .header-menu-links {
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
		gap: 0;
		border-top: 2px solid #4c94b5;
		font-size: 16px;
	}
	.header-nav .header-menu-links > li {
		position: relative;
		width: 100%;
		border-bottom: 2px solid #4c94b5;
	}
	.header-nav .header-menu-links > li a {
		display: block;
		padding: 15px 10px;
	}
	.header-button {
		width: 100%;
		height: 60px;
		padding: 6px 10px;
		border-radius: 6px;
		font-size: 18px;
	}
	.header-buttons {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		gap: 30px;
		margin: 0 auto;
		padding: 30px 15px 40px;
	}
	main {
		padding-top: 60px;
		font-size: 16px;
	}
}

@media screen and (min-width:768px) and (max-width:1399px) {
	footer::after {
		background-size: calc(712 / 1399 * 100vw) auto, calc(960 / 1399 * 100vw) auto;
	}
}

@media screen and (min-width:768px) and (max-width:1079px) {
	footer .footer-body {
		gap: 20px;
	}
	footer .footer-banner {
		gap: 10px;
	}
	footer .footer-banner > * {
		width: calc((100% - 10px * 2) / 3);
	}
	footer .footer-nav {
		gap: 10px;
	}
	footer .footer-nav > * {
		width: calc((100% - 10px * 2) / 3);
		font-size: 18px;
	}
}

@media screen and (max-width:767px) {
	footer {
		padding: 40px 15px 30px;
	}
	footer::after {
		background-position: left center, right 80px;
		background-size: 80vw auto, 98.13vw auto;
	}
	footer .footer-inner {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
	}
	footer .footer-heading {
		width: 100%;
		max-width: none;
		gap: 20px;
	}
	footer .footer-logo {
		max-width: 240px;
		margin: 15px auto;
		padding: 20px 25px;
	}
	footer .footer-logo::before {
		box-shadow: 0px 0px 25px 25px #ffffffe6;
		padding: 15% 20%;
		content: "";
		width: 100%;
		border-radius: 20%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 1;
	}
	footer .footer-buttons {
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	footer .footer-button {
		width: 100%;
		max-width: none;
	}
	footer .footer-button > a {
		font-size: 16px;
		padding: 20px 0;
		border-radius: 6px;
	}
	footer .footer-sns {
		justify-content: center;
		gap: 20px;
	}
	footer .footer-sns-icon {
		width: 60px;
		height: 60px;
	}
	footer .footer-body {
		gap: 20px;
	}
	footer .footer-banner {
		gap: 20px 25px;
	}
	footer .footer-banner > * {
		width: calc((100% - 25px) / 2);
	}
	footer .footer-nav {
		gap: 20px 25px;
	}
	footer .footer-nav > * {
		width: calc((100% - 25px) / 2);
		font-size: 16px;
	}
	footer #copyright {
		font-size: 12px;
	}
}

@media screen and (max-width:430px) {
	html {
		scroll-padding-top: calc(60 / 375 * 100vw)
	}
	.header-inner {
		padding: calc(15 / 375 * 100vw) calc(10 / 375 * 100vw);
		height: calc(60 / 375 * 100vw);
		gap: calc(15 / 375 * 100vw);
	}
	.header-logo a {
		width: calc(138 / 375 * 100vw);
		height: calc(30 / 375 * 100vw);
	}
	.header-menu-button {
		color: #ffffff;
		flex: 0 0 auto;
		display: block;
		width: calc(25 / 375 * 100vw);
		padding-top: calc(20 / 375 * 100vw);
	}
	.header-menu-button::before,
	.header-menu-button::after {
		height: calc(2 / 375 * 100vw);
	}
	.header-menu .open {
		height: calc(2 / 375 * 100vw);
	}
	body.nav--visible .header-drawer-menu {
		height: calc(100% - 60 / 375 * 100vw);
	}
	.header-drawer-menu-inner {
		padding: 0 0 calc(20 / 375 * 100vw);
	}
	.header-nav .header-menu-links {
		border-top-width: calc(2 / 375 * 100vw);
		font-size: calc(16 / 375 * 100vw);
	}
	.header-nav .header-menu-links > li {
		border-bottom-width: calc(2 / 375 * 100vw);
	}
	.header-nav .header-menu-links > li a {
		padding: calc(15 / 375 * 100vw) calc(10 / 375 * 100vw);
	}
	.header-button {
		height: calc(60 / 375 * 100vw);
		padding: calc(6 / 375 * 100vw) calc(10 / 375 * 100vw);
		border-radius: calc(6 / 375 * 100vw);
		border-width: calc(1 / 375 * 100vw);
		font-size: calc(18 / 375 * 100vw);
	}
	.header-buttons {
		gap: calc(30 / 375 * 100vw);
		padding: calc(30 / 375 * 100vw) calc(15 / 375 * 100vw) calc(40 / 375 * 100vw);
	}
	main {
		padding-top: calc(60 / 375 * 100vw);
		font-size: calc(16 / 375 * 100vw);
	}
	footer {
		padding: calc(40 / 375 * 100vw) calc(15 / 375 * 100vw) calc(30 / 375 * 100vw);
	}
	footer::after {
		background-position: left center, right calc(80 / 375 * 100vw);
		background-size: 80vw auto, 98.13vw auto;
	}
	footer .footer-inner {
		gap: calc(20 / 375 * 100vw);
	}
	footer .footer-heading {
		gap: calc(20 / 375 * 100vw);
	}
	footer .footer-logo {
		max-width: calc(240 / 375 * 100vw);
		margin: calc(15 / 375 * 100vw) auto;
		padding: calc(20 / 375 * 100vw) calc(25 / 375 * 100vw);
	}
	footer .footer-logo::before {
		box-shadow: 0px 0px calc(25 / 375 * 100vw) calc(25 / 375 * 100vw) #ffffffe6;
	}
	footer .footer-buttons {
		gap: calc(20 / 375 * 100vw);
	}
	footer .footer-button > a {
		font-size: calc(16 / 375 * 100vw);
		padding: calc(20 / 375 * 100vw) 0;
		border-radius: calc(6 / 375 * 100vw);
		border-width: calc(1 / 375 * 100vw);
	}
	footer .footer-sns {
		gap: calc(20 / 375 * 100vw);
	}
	footer .footer-sns-icon {
		width: calc(60 / 375 * 100vw);
		height: calc(60 / 375 * 100vw);
	}
	footer .footer-body {
		gap: calc(20 / 375 * 100vw);
	}
	footer .footer-banner {
		gap: calc(20 / 375 * 100vw) calc(25 / 375 * 100vw);
	}
	footer .footer-banner > * {
		width: calc((100% - 25 / 375 * 100vw) / 2);
	}
	footer .footer-nav {
		gap: calc(20 / 375 * 100vw) calc(25 / 375 * 100vw);
	}
	footer .footer-nav > * {
		width: calc((100% - 25 / 375 * 100vw) / 2);
		font-size: calc(16 / 375 * 100vw);
	}
	footer #copyright {
		font-size: calc(12 / 375 * 100vw);
	}
}

.grecaptcha-badge { visibility: hidden; }

#mainvisual {
	background: url("../images/mainvisual/bg_mv.webp") no-repeat center center;
	background-size: 1400px auto;
	position: relative;
	width: 100%;
	height: 500px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

#activity #mainvisual {
	background-image: url("../images/mainvisual/bg_activity.webp");
}

#report #mainvisual {
	background-image: url("../images/mainvisual/bg_report.webp");
}

#mainvisual::before {
	background-color: #33333380;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

#mainvisual #mainvisual-title {
	color: #ffffff;
	font-size: 72px;
	font-family: "Noto Serif JP", serif;;
	font-weight: 700;
	text-align: center;
	position: relative;
	z-index: 2;
}

#mainvisual .mainvisual-copy {
	color: #ffffff;
	font-size: 60px;
	font-family: "Noto Serif JP", serif;;
	font-weight: 700;
	text-align: center;
	position: relative;
	z-index: 2;
}

#breadcrumbs {
	padding: 16px 20px 17px;
	border-bottom: 1px solid #ababab;
	overflow-x: auto;
}

#breadcrumbs ul {
	display: flex;
	gap: 10px;
	max-width: 1080px;
	margin: 0 auto;
	position: relative;
}

#breadcrumbs ul > li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: "Noto Serif JP", serif;
	line-height: 1;
	position: relative;
}

#breadcrumbs ul > li:not(:last-child)::after {
	content: ">";
	position: relative;
}

#breadcrumbs ul > li:last-child {
	font-weight: 700;
}

section {
	padding: 60px 20px;
	position: relative;
}

section:nth-of-type(even) {
	background-color: #83cff326;
}

section p a {
	text-decoration: underline;
}

section p a:hover {
	text-decoration: none;
}

section .section-inner {
	max-width: 1080px;
	margin: 0 auto;
}

section .section-inner > *:first-child {
	margin-top: 0!important;
}

section .section-inner > *:last-child {
	margin-bottom: 0!important;
}

section .section-title {
	font-size: 36px;
	font-family: "Noto Serif JP", serif;;
	font-weight: 700;
	text-align: left;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	margin-bottom: 40px;
	position: relative;
}

section .section-title::before {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 225.53 267.05"><defs><linearGradient id="gradient01" x1="147.1" y1="127.6" x2="147.1" y2="0" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="%2383ccd2"/><stop offset=".18" stop-color="%2377c6d1"/><stop offset=".7" stop-color="%2358b7d0"/><stop offset="1" stop-color="%234db2d0"/></linearGradient><linearGradient id="gradient02" x1="112.24" y1="149.31" x2="112.24" y2="21.71" gradientUnits="userSpaceOnUse"/><linearGradient id="gradient03" x1="77.38" y1="171.02" x2="77.38" y2="43.42" gradientUnits="userSpaceOnUse"/></defs><g><g><path fill="none" d="M65.96,168.3c-.57-.26-1.08-.48-1.53-.66.53.23,1.04.44,1.53.66Z"/><path fill="%23ffffff" d="M65.96,168.3c.8.35,1.56.68,2.27.98-1.35-.87,10.36,1.86,5.93.12l-9.77-1.79s.03.01.05.02c.45.18.96.4,1.53.66Z"/><path fill="%23ffffff" d="M64.44,167.64s-.03-.01-.05-.02h0s.03.01.05.02Z"/></g><path fill="url(%23gradient01)" d="M148.7,127.6c-.08,0-.15-.02-.22-.07-.15-.1-.21-.3-.13-.47,3.26-7.4,5.94-24.24,1.37-36.87l-16.31-37.74c-7.42-16.02-2.57-38.52,11.29-52.34.07-.07.17-.11.27-.11.07,0,.14.02.2.06.15.09.22.28.16.44-1.82,5.59-7.17,25.24.52,43.27l15.49,35.85c.05.11,4.42,10.58,2.34,21.82-1.93,10.44-8.87,20.3-14.71,26.05-.07.07-.17.11-.27.11Z"/><path fill="url(%23gradient01)" d="M113.84,149.31c-.08,0-.15-.02-.22-.07-.15-.1-.21-.3-.13-.47,3.26-7.4,5.94-24.24,1.37-36.87l-16.31-37.74c-7.42-16.02-2.57-38.52,11.29-52.34.07-.07.17-.11.27-.11.07,0,.14.02.2.06.15.09.22.28.16.44-1.82,5.59-7.17,25.24.52,43.27l15.49,35.85c.05.11,4.42,10.58,2.34,21.82-1.93,10.44-8.87,20.3-14.71,26.05-.07.07-.17.11-.27.11Z"/><path fill="url(%23gradient01)" d="M78.98,171.02c-.08,0-.15-.02-.22-.07-.15-.1-.21-.3-.13-.47,3.26-7.4,5.94-24.24,1.37-36.87l-16.31-37.74c-7.42-16.02-2.57-38.52,11.29-52.34.07-.07.17-.11.27-.11.07,0,.14.02.2.06.15.09.22.28.16.44-1.82,5.59-7.17,25.24.52,43.27l15.49,35.85c.05.11,4.42,10.58,2.34,21.82-1.93,10.44-8.87,20.3-14.71,26.05-.07.07-.17.11-.27.11Z"/><path fill="%234c94b5" d="M112.63,226.89c50.44-28.65,76.72-36.1,105.25-32.23-.75-.25-1.72-.53-2.52-.77-9.92-2.98-25.89-5.98-45.65-3.28-40.15,5.48-53.77.24-82.79-11.5-3.77-1.52-15.4-8.25-20.96-10.79-.49-.21-1-.43-1.53-.66-.02,0-.04-.01-.05-.02h0c-5.62-2.4-13.21-5.33-22.4-6.47-1.21-.14-2.41-.26-3.21-.31-11.07-.8-24.2,1.19-38.78,9.64,4.29,28.86,19.47,54.18,41.21,71.64,21.71,4.39,49.12-2.57,71.42-15.24Z"/><path fill="%23f5b2b2" d="M112.24,234.66c-16.47,9.48-32.65,12.12-48.89,12.12-6.6,0-13.04-.8-19.23-2.41,18.95,14.24,42.5,22.68,68.03,22.68,48.16,0,89.3-30.02,105.74-72.37-.06-.02.06.02,0,0-31.81.38-56.53,11.7-105.64,39.98Z"/><path fill="%2397cfac" d="M73.93,171.61c27.88,10.97,56.12,18.75,92.99,13.72,22.04-3.01,40.67,3.78,50.98,9.31,4.93-12.71,7.63-26.52,7.63-40.96,0-7.84-.8-15.49-2.31-22.88-18.85-3.93-53.19.89-93.11,29.82-23.7,17.17-44.7,14.63-56.18,11Z"/></g></svg>') no-repeat center center;
	background-size: auto 100%;
	content: "";
	width: 52px;
	height: 60px;
	position: relative;
	flex: 0 0 auto;
}

section .section-button {
	width: 380px;
	margin-top: 30px;
}

section .section-button.center-button {
	margin-left: auto;
	margin-right: auto;
}

section .section-button > a {
	color: #ffffff;
	background-color: #4c94b5;
	font-size: 18px;
	text-align: center;
	line-height: 1.5;
	text-decoration: none!important;
	display: block;
	width: 100%;
	padding: 15px 0;
	border-radius: 6px;
	border: 1px solid #4c94b5;
	transition: all 0.3s;
}

section .section-button > a:hover {
	color: #4c94b5;
	background-color: #ffffff;
}

section .section-flex-item {
	display: flex;
	justify-content: flex-start;
	gap: 40px;
}

section .section-flex-item > * {
	width: calc(100% / 2 - 40px / 2);
}

section .section-flex-item .section-flex-item-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

section .section-flex-item.variable-column .section-flex-item-body {
	width: 100%;
}

section .section-flex-item .section-flex-item-image {
	overflow: hidden;
}

section .section-flex-item.variable-column .section-flex-item-image {
	width: fit-content;
	flex: 0 0 auto;
}

section .section-flex-item .section-flex-item-image img {
	width: 100%;
}

section .section-table {
	width: 100%;
	margin-top: 30px;
	border-top: 1px solid #ababab;
}

section .section-table tr {
	border-bottom: 1px solid #ababab;
}

section .section-table th {
	font-weight: bold;
	vertical-align: top;
	width: 140px;
	padding: 16px 10px 16px 30px;
}

section .section-table td {
	vertical-align: top;
	padding: 16px 30px;
}

.section-arrow-link {
	margin-top: 40px;
}

.section-arrow-link > a {
	color: #454545;
	font-family: "Noto Serif JP", serif;;
	font-weight: 500;
	text-align: right;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	width: max-content;
	margin-left: auto;
	position: relative;
}

.section-arrow-link > a::after {
	background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 41 11"><path fill="%234c94b5" d="M40.000,8.000 L40.000,8.454 L40.091,8.506 L40.000,8.663 L40.000,9.1000 L39.228,9.1000 L39.091,10.238 L38.678,9.1000 L25.1000,9.1000 L24.000,9.1000 L-0.000,9.1000 L-0.000,8.000 L24.000,8.000 L24.000,-0.000 L25.1000,-0.000 L25.1000,0.371 L39.214,8.000 L40.000,8.000 ZM25.1000,2.680 L25.1000,8.000 L35.214,8.000 L25.1000,2.680 Z" /></svg>') no-repeat center center;
	background-size: 100% auto;
	content: "";
	width: 41px;
	height: 11px;
	position: relative;
	flex: 0 0 auto;
}

.post-text-list {
	border-bottom: 1px solid #ababab;
}

.post-text-list > li {
	border-top: 1px solid #ababab;
}

.post-text-list > li > a {
	display: flex;
	justify-content: flex-start;
	gap: 30px;
	padding: 18px 20px;
	text-decoration: none!important;
}

.post-text-list > li > a .post-date {
	width: 5em;
	flex: 0 0 auto;
}

.no-post {
	padding: 80px 20px;
	border-top: 1px solid #ababab;
	border-bottom: 1px solid #ababab;
	text-align: center;
}

.post-items {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 20px;
}

.post-items > .post-item {
	width: calc((100% - 20px * 3) / 4);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
}

.post-item .item-image {
	width: 100%;
	aspect-ratio: 400 / 300;
	border: 1px solid #ababab;
	position: relative;
	overflow: hidden;
}

.post-item .item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	vertical-align: bottom;
}

.post-item .item-title {
	text-align: left;
}

.post-pagination {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 40px auto 0;
}

.post-pagination > .page-numbers {
	color: #4c94b5;
	border: 1px solid #4c94b5;
	width: 36px;
	height: 36px;
	padding: 5px;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	text-align: center;
	font-weight: 700;
	overflow: hidden;
}

.post-pagination > .page-numbers.current {
	color: #ffffff;
	background-color: #4c94b5;
}

.post-pagination > .page-numbers.prev,
.post-pagination > .page-numbers.next {
	color: #ffffff;
	text-indent: -9999px;
	position: relative;
}

.post-pagination > .page-numbers.prev {
	background-color: #97cfac;
	border-color: #97cfac;
}

.post-pagination > .page-numbers.next {
	background-color: #f4b2b3;
	border-color: #f4b2b3;
}

.post-pagination > .page-numbers.prev::after,
.post-pagination > .page-numbers.next::after {
	content: "";
	position: absolute;
	width: 15px;
	height: 15px;
	transform: rotate(45deg);
}

.post-pagination > .page-numbers.prev::after {
	border-bottom: 2px solid #ffffff;
	border-left: 2px solid #ffffff;
	margin-right: -5px;
}

.post-pagination > .page-numbers.next::after {
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	margin-left: -5px;
}

@media (min-width:1401px) {
	#mainvisual {
		background-size: 100% auto;
	}
}

@media (min-width:768px) and (max-width:1079px) {
	#mainvisual #mainvisual-title {
		font-size: 60px;
	}

	#mainvisual .mainvisual-copy {
		font-size: 48px;
	}

	#breadcrumbs ul {
		width: max-content;
		max-width: none;
		margin: 0;
	}
}

@media screen and (max-width:767px) {
	#mainvisual {
		background-size: auto 100%;
		height: calc(420 / 375 * 100vw);
	}

	#activity #mainvisual {
		background-position: 54% center;
	}

	#mainvisual #mainvisual-title {
		font-size: calc(48 / 375 * 100vw);
	}

	#mainvisual .mainvisual-copy {
		font-size: calc(40 / 375 * 100vw);
	}

	#breadcrumbs {
		padding: 16px 15px 17px;
	}

	#breadcrumbs ul {
		width: max-content;
		max-width: none;
		margin: 0;
	}

	section {
		padding: 30px 15px;
		position: relative;
	}

	section .section-title {
		font-size: 26px;
		text-align: center;
		flex-direction: column;
		margin-bottom: 30px;
	}

	section .section-title::before {
		width: 56px;
		height: 56px;
	}

	section .section-button {
		width: max-content;
		min-width: 240px;
		margin: 30px auto 0;
	}

	section .section-button > a {
		font-size: 16px;
		padding: 11px 15px;
	}

	section .section-flex-item {
		gap: 30px;
	}

	section .section-flex-item > * {
		width: calc(100% / 2 - 30px / 2);
	}

	section .section-flex-item.sp-direction-column {
		flex-direction: column;
		align-items: stretch;
	}

	section .section-flex-item.sp-direction-column > * {
		width: 100%;
	}

	section .section-table,
	section .section-table > tbody {
		display: block;
	}

	section .section-table tr {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		padding: 16px 30px;
	}

	section .section-table th {
		width: 100%;
		padding: 0;
	}

	section .section-table td {
		width: 100%;
		padding: 0;
	}

	.post-text-list > li > a {
		flex-direction: column;
		align-items: flex-start;
		gap: 5px;
		padding: 16px 15px;
	}

	.post-text-list > li > a .post-date {
		width: 100%;
	}

	.no-post {
		padding: 60px 10px;
	}

	.post-items {
		gap: 20px;
	}

	.post-items > .post-item {
		width: calc((100% - 20px) / 2);
		gap: 10px;
	}

	.post-pagination {
		gap: 10px;
		margin: 30px auto 0;
	}

	.post-pagination > .page-numbers {
		width: 28px;
		height: 28px;
		padding: 3px;
		font-size: 14px;
	}

	.post-pagination > .page-numbers.prev::after,
	.post-pagination > .page-numbers.next::after {
		width: 10px;
		height: 10px;
	}

	.post-pagination > .page-numbers.prev::after {
		margin-right: -3px;
	}

	.post-pagination > .page-numbers.next::after {
		margin-left: -3px;
	}
}

@media screen and (max-width:430px) {
	#breadcrumbs {
		padding: calc(16 / 375 * 100vw) calc(15 / 375 * 100vw) calc(17 / 375 * 100vw);
	}

	#breadcrumbs ul {
		gap: calc(10 / 375 * 100vw);
	}

	#breadcrumbs ul > li {
		gap: calc(10 / 375 * 100vw);
	}

	section {
		padding: calc(30 / 375 * 100vw) calc(15 / 375 * 100vw);
	}

	section .section-title {
		gap: calc(15 / 375 * 100vw);
		font-size: calc(26 / 375 * 100vw);
		margin-bottom: calc(30 / 375 * 100vw);
	}

	section .section-title::before {
		width: calc(56 / 375 * 100vw);
		height: calc(56 / 375 * 100vw);
	}

	section .section-button {
		min-width: calc(240 / 375 * 100vw);
		margin: calc(30 / 375 * 100vw) auto 0;
	}

	section .section-button > a {
		font-size: calc(16 / 375 * 100vw);
		padding: calc(11 / 375 * 100vw) calc(15 / 375 * 100vw);
		border-width:calc(1 / 375 * 100vw);
	}

	section .section-flex-item {
		gap: calc(30 / 375 * 100vw);
	}

	section .section-flex-item > * {
		width: calc(100% / 2 - (30 / 375 * 100vw) / 2);
	}

	section .section-table {
		margin-top: calc(30 / 375 * 100vw);
		border-top-width: calc(1 / 375 * 100vw);
	}

	section .section-table tr {
		border-bottom-width: calc(1 / 375 * 100vw);
		padding: calc(16 / 375 * 100vw) calc(30 / 375 * 100vw);
	}

	.section-arrow-link {
		margin-top: calc(40 / 375 * 100vw);
	}

	.section-arrow-link > a {
		gap: calc(10 / 375 * 100vw);
	}

	.section-arrow-link > a::after {
		width: calc(41 / 375 * 100vw);
		height: calc(11 / 375 * 100vw);
	}

	.post-text-list {
		border-bottom-width: calc(1 / 375 * 100vw);
	}

	.post-text-list > li {
		border-top-width: calc(1 / 375 * 100vw);
	}

	.post-text-list > li > a {
		gap: calc(5 / 375 * 100vw);
		padding: calc(16 / 375 * 100vw) calc(15 / 375 * 100vw);
	}

	.no-post {
		padding: calc(60 / 375 * 100vw) calc(10 / 375 * 100vw);
	}

	.post-items {
		gap: calc(20 / 375 * 100vw);
	}

	.post-items > .post-item {
		width: calc((100% - 20 / 375 * 100vw) / 2);
		gap: calc(10 / 375 * 100vw);
	}

	.post-item .item-image {
		border-width: calc(1 / 375 * 100vw);
	}

	.post-pagination {
		gap: calc(10 / 375 * 100vw);
		margin: calc(30 / 375 * 100vw) auto 0;
	}

	.post-pagination > .page-numbers {
		width: calc(28 / 375 * 100vw);
		height: calc(28 / 375 * 100vw);
		padding: calc(3 / 375 * 100vw);
		font-size: calc(14 / 375 * 100vw);
	}

	.post-pagination > .page-numbers.prev::after,
	.post-pagination > .page-numbers.next::after {
		width: calc(10 / 375 * 100vw);
		height: calc(10 / 375 * 100vw);
	}

	.post-pagination > .page-numbers.prev::after {
		margin-right: calc(-3 / 375 * 100vw);
	}

	.post-pagination > .page-numbers.next::after {
		margin-left: calc(-3 / 375 * 100vw);
	}
}

#post {
	position: relative;
}

#post .post-heading {
	position: relative;
}

#post .post-heading .post-title {
	font-size: 40px;
	font-family: "Noto Serif JP", serif;;
	font-weight: bold;
}

#post .post-heading .post-date {
	font-size: 18px;
	margin-top: 25px;
}

#post .post-image {
	max-width: 740px;
	aspect-ratio: 400 / 300;
	margin: 30px auto;
	border: 1px solid #ababab;
	position: relative;
	overflow: hidden;
}

#post .post-image img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	vertical-align: bottom;
}

#post .post-body {
	position: relative;
	margin: 30px 0 40px;
}

#post .post-body > *:first-child {
	margin-top: 0!important;
}

#post .post-body > *:last-child {
	margin-bottom: 0!important;
}

#post .post-body > * + * {
	margin-top: 1em;
}

#post .post-body h2 {
	font-size: 32px;
	font-family: "Noto Serif JP", serif;;
	font-weight: bold;
}

#post .post-body h3 {
	font-size: 24px;
	font-family: "Noto Serif JP", serif;;
	font-weight: bold;
	padding-left: 16px;
	margin-top: 30px;
	position: relative;
}

#post .post-body h3::before {
	background-color: #4c94b5;
	content: "";
	width: 6px;
	height: 100%;
	border-radius: 3px;
	position: absolute;
	top: 0;
	left: 0;
}

#post .post-body h4 {
	font-size: 20px;
	font-family: "Noto Serif JP", serif;;
	font-weight: bold;
	margin-top: 20px;
}

#post .post-body > * + h2 {
	margin-top: 30px;
}

#post .post-body > *:not(h2, h3) + h3 {
	margin-top: 30px;
}

#post .post-body *:not(h2, h3) + h4 {
	margin-top: 20px;
}

#post .post-body ol {
	counter-reset : item ;
}

#post .post-body a {
	color: #4c94b5;
	text-decoration: underline;
}

#post .post-body a:hover {
	text-decoration: none;
}

#post .post-body ul > li,
#post .post-body ol > li {
	display: flex;
	justify-content: flex-start;
	align-items: baseline;
	gap: 3px;
	position: relative;
}

#post .post-body ul > li::before {
	content: "・";
	flex: 0 0 auto;
}

#post .post-body ol > li::before {
	content: counters(item, ".") ". ";
	counter-increment: item ;
	flex: 0 0 auto;
}

#post .post-body figure {
	margin: 30px auto;
}

#post .post-body img {
	width: fit-content;
	max-width: 100%;
	margin: 0 auto;
	display: block;
	vertical-align: bottom;
}

#post .post-body table {
	border-color: #ababab;
}

#post .post-body table > thead {
	border-bottom: 1px;
}

#post .post-body table > thead th {
	color: #ffffff;
	background-color: #4c94b5;
}

#post .post-body table > tfoot {
	border-top: 1px;
}

#post .post-body figure:has(table) figcaption {
	font-size: 16px;
}

@media screen and (max-width:767px) {
	#post .post-heading .post-title {
		font-size: 32px;
	}

	#post .post-heading .post-date {
		margin-top: 16px;
	}

	#post .post-image {
		margin: 40px auto 30px;
	}

	#post .post-body {
		margin: 30px 0 40px;
	}

	#post .post-body h2 {
		font-size: 24px;
	}
	
	#post .post-body h3 {
		font-size: 20px;
		padding-left: 9px;
	}
	
	#post .post-body h3::before {
		width: 4px;
	}

	#post .post-body h4 {
		font-size: 18px;
	}
	
	#post .post-body > * + h2 {
		margin-top: 30px;
	}
	
	#post .post-body > *:not(h2, h3) + h3 {
		margin-top: 30px;
	}

	#post .post-body figure:has(table:not(.has-fixed-layout)) {
		overflow-x: auto;
	}

	#post .post-body figure > table:not(.has-fixed-layout) {
		width: 200%;
		max-width: 767px;
	}

	#post .post-body figure:has(table) figcaption {
		font-size: 14px;
	}
}

@media screen and (max-width:430px) {
	#post .post-heading .post-title {
		font-size: calc(32 / 375 * 100vw);
	}

	#post .post-heading .post-date {
		margin-top: calc(16 / 375 * 100vw);
		font-size: calc(18 / 375 * 100vw);
	}

	#post .post-image {
		margin: calc(40 / 375 * 100vw) auto calc(30 / 375 * 100vw);
		border-width: calc(1 / 375 * 100vw);
	}

	#post .post-body {
		margin: calc(30 / 375 * 100vw) 0 calc(40 / 375 * 100vw);
	}

	#post .post-body h2 {
		font-size: calc(24 / 375 * 100vw);
	}
	
	#post .post-body h3 {
		font-size: calc(20 / 375 * 100vw);
		padding-left: calc(9 / 375 * 100vw);
		margin-top: calc(30 / 375 * 100vw);
	}
	
	#post .post-body h3::before {
		width: calc(4 / 375 * 100vw);
		border-radius: calc(3 / 375 * 100vw);
	}

	#post .post-body h4 {
		font-size: calc(18 / 375 * 100vw);
		margin-top: calc(20 / 375 * 100vw);
	}
	
	#post .post-body > * + h2 {
		margin-top: calc(30 / 375 * 100vw);
	}
	
	#post .post-body > *:not(h2, h3) + h3 {
		margin-top: calc(30 / 375 * 100vw);
	}

	#post .post-body *:not(h2, h3) + h4 {
		margin-top: calc(20 / 375 * 100vw);
	}

	#post .post-body ul > li,
	#post .post-body ol > li {
		gap: calc(3 / 375 * 100vw);
	}

	#post .post-body figure {
		margin: calc(30 / 375 * 100vw) auto;
	}

	#post .post-body figure > table:not(.has-fixed-layout) {
		max-width: calc(767 / 375 * 100vw);
	}

	#post .post-body figure:has(table) figcaption {
		font-size: calc(14 / 375 * 100vw);
	}
}

#notfound {
	border-top: 2px solid #4c94b5;
}

#notfound .notfound-item {
	width: fit-content;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 auto;
}

#notfound .notfound-item .notfound-item-title {
	color: #4c94b5;
	font-size: 60px;
	font-family: "Noto Serif JP", serif;;
	font-weight: 700;
	text-align: center;
}

#notfound .notfound-item .notfound-item-text {
	margin-top: 20px;
}

@media (max-width:767px) {
	#notfound .notfound-item .notfound-item-title {
		font-size: 48px;
	}
}

@media screen and (max-width:430px) {
	#notfound {
		border-top-width: calc(2 / 375 * 100vw);
	}

	#notfound .notfound-item .notfound-item-title {
		font-size: calc(48 / 375 * 100vw);
	}

	#notfound .notfound-item .notfound-item-text {
		margin-top: calc(20 / 375 * 100vw);
	}
}