body {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
}

main {
	overflow: hidden;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

/* リキッドレイアウト対応 */

html {
	font-size: 16px;
}

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

/* Remove default padding */

ul,
ol {
	padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */

article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
	filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

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

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

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

.l-cta {
	margin-top: -2.1875rem;
}

.l-header {
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 900;
}

.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1150px;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.l-section-02 {
	margin-top: 3.5rem;
}

.l-section-03 {
	margin-top: 5rem;
}

.l-section {
	margin-top: 3.875rem;
}

.p-association {
	background-color: #EFF7FD;
	padding: 6.25rem 0;
	position: relative;
}

.p-association__inner {
	margin: 0 auto;
	max-width: 75rem;
	padding: 0 2.5rem;
}

.p-association__title {
	color: #333;
	font-size: 2.25rem;
	font-weight: 700;
	margin: 0;
	margin-bottom: 3.75rem;
	position: relative;
	text-align: center;
}

.p-association__title::after {
	background-color: #D4A017;
	bottom: -0.9375rem;
	content: "";
	height: 0.1875rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 6.25rem;
}

.p-association__wrapper {
	margin-top: 3.4375rem;
	padding: 0 0 3.125rem 4.375rem;
	position: relative;
}

.p-association__wrapper::before {
	background-color: #fff;
	box-shadow: 0 0 0.75rem rgba(0, 24, 43, 0.1);
	content: "";
	height: calc(100% - 4.3125rem);
	margin-right: calc(50% - 50vw);
	position: absolute;
	right: 0;
	top: 4.3125rem;
	width: 92.857vw;
}

.p-association__content {
	align-items: flex-start;
	display: flex;
	gap: 1.25rem;
	justify-content: space-between;
	position: relative;
}

.p-association__about {
	flex: 0 0 28.125rem;
}

.p-association__heading {
	color: #E4EEF5;
	font-family: "Lora", serif;
	font-size: 5.875rem;
	font-weight: 600;
}

.p-association__specialistContent {
	margin-top: 1.875rem;
}

.p-association-textWrap__label {
	color: #A28300;
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 600;
	position: relative;
}

.p-association-textWrap__label::before {
	background-color: #A28300;
	content: "";
	height: 0.0625rem;
	position: absolute;
	right: -3.8125rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2.8125rem;
}

.p-association-textWrap__text {
	color: #05528B;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5625rem;
	font-weight: 600;
	line-height: 1.8;
	margin-top: 0.4375rem;
}

.p-association-textWrap__description {
	margin-top: 1.875rem;
}

.p-association-textWrap__descriptionText {
	font-size: 0.875rem;
	line-height: 2;
	margin-top: 1.75rem;
}

.p-association-textWrap__descriptionText:first-child {
	margin-top: 0;
}

.p-association__map {
	flex: 0 0 31.25rem;
	margin-right: 0.625rem;
	padding-top: 3rem;
}

.p-association__mapImage {
	-o-object-fit: contain;
	aspect-ratio: 500/550;
	display: block;
	height: auto;
	object-fit: contain;
	width: 100%;
}

.p-association__trust {
	display: flex;
	gap: 0;
	justify-content: space-between;
	margin-top: 4.5rem;
	position: relative;
}

.p-association__trustImage {
	flex: 0 0 28.8125rem;
	position: relative;
}

.p-association__trustImage::before {
	background-image: url("../img/common/trust-meeting-bg.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 1.5625rem;
	content: "";
	height: 21.875rem;
	position: absolute;
	right: -7.625rem;
	width: 21.875rem;
}

.p-association__trustImg {
	aspect-ratio: 461/462;
	display: block;
	height: auto;
	position: relative;
	width: 100%;
}

.p-association__trustContent {
	flex: 0 0 28.125rem;
	padding-top: 3.375rem;
}

.p-association__trustLabel {
	border-bottom: 0.125rem solid #D4A017;
	color: #D4A017;
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.0625rem;
	margin-bottom: 0.9375rem;
	padding-bottom: 0.5rem;
}

.p-association__trustTitle {
	color: #295470;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
	margin-bottom: 1.875rem;
}

.p-association__trustDescription {
	color: #666;
	font-size: 1rem;
	line-height: 1.8;
	margin: 0;
	margin-top: 1.25rem;
}

.p-association__trustDescription:first-child {
	margin-top: 0;
}

.p-association__seminar {
	margin-left: auto;
	margin-right: auto;
	margin-top: 6rem;
	max-width: 68.75rem;
}

.p-association__seminarImg {
	aspect-ratio: 1100/406;
	display: block;
	height: auto;
	width: 100%;
}

.p-association__seminarButton {
	margin-top: 3.375rem;
}

.p-association__seminarButtonLabel {
	color: #05528B;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.p-association__seminarButtonLabel::before {
	background-color: #05528B;
	content: "";
	height: 3.4375rem;
	left: -1.5625rem;
	position: absolute;
	top: -0.3125rem;
	transform: rotate(-35deg);
	width: 0.125rem;
}

.p-association__seminarButtonLabel::after {
	background-color: #05528B;
	content: "";
	height: 3.4375rem;
	position: absolute;
	right: -1.5625rem;
	top: -0.3125rem;
	transform: rotate(35deg);
	width: 0.125rem;
}

.p-association__seminarButtonLink {
	background-color: #05528B;
	border-radius: 0.3125rem;
	color: #fff;
	display: block;
	font-size: 0.9375rem;
	font-weight: 700;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.1875rem;
	max-width: 19.6875rem;
	padding: 1.0625rem 1rem 1rem;
	position: relative;
	text-align: center;
	width: 100%;
}

.p-association__seminarButtonInner {
	position: relative;
	z-index: 1;
}

.p-association__seminarButtonLink::before {
	background: linear-gradient(to bottom, #074472, #05528B 100%);
	border-radius: 0 0 0.3125rem 0.3125rem;
	bottom: 0;
	content: "";
	display: block;
	height: 50%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: calc(100% - 0.125rem);
}

.p-association__seminarButtonLink::after {
	background-image: url("../img/common/link-icon.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 1.125rem;
	position: absolute;
	right: 0.9375rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.125rem;
}

.p-association__seminarButtonText::after {
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transition: width 0.3s ease;
	width: 0;
}

.p-association__seminarButtonLink:hover .p-association__seminarButtonText::after {
	width: 100%;
}

.p-association__seminarButtonText {
	display: inline-block;
	padding-bottom: 0.1875rem;
	position: relative;
	z-index: 1;
}

.p-backToTop {
	align-items: center;
	background-color: #EFF7FD;
	border: none;
	border-radius: 50%;
	bottom: 2.5rem;
	box-shadow: 0 0 0.375rem rgba(0, 21, 36, 0.16);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	height: 3.75rem;
	justify-content: center;
	opacity: 0;
	position: fixed;
	right: 2.5rem;
	transition: background-color 0.3s;
	visibility: hidden;
	width: 3.75rem;
	z-index: 1000;
}

.p-backToTop:hover {
	background-color: #DDF0FF;
}

.p-backToTop__icon {
	border-right: 0.1875rem solid #05528B;
	border-top: 0.1875rem solid #05528B;
	display: block;
	height: 0.75rem;
	margin-bottom: -0.25rem;
	transform: rotate(-45deg);
	width: 0.75rem;
}

.p-backToTop__text {
	color: #fff;
	display: block;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1;
}

.p-breadcrumb {
	background: #fff;
	padding-top: 1rem;
}

.p-breadcrumb__inner {
	position: relative;
}

.p-breadcrumb__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-breadcrumb__item {
	display: inline;
}

.p-breadcrumb__separator {
	color: #1A1A1A;
	display: inline-block;
	font-size: 0.8125rem;
	margin: 0 0.3125rem;
}

.p-breadcrumb__link {
	-webkit-text-decoration: underline;
	display: inline;
	font-size: 0.8125rem;
	text-decoration: underline;
	transition: color 0.3s ease;
	transition: opacity 0.3s ease, -webkit-text-decoration 0.3s ease;
	transition: opacity 0.3s ease, text-decoration 0.3s ease;
	transition: opacity 0.3s ease, text-decoration 0.3s ease, -webkit-text-decoration 0.3s ease;
}

.p-breadcrumb__link:hover {
	-webkit-text-decoration: none;
	opacity: 0.7;
	text-decoration: none;
}

.p-breadcrumb__current {
	font-size: 0.8125rem;
}

.p-building-spec__inner {
	position: relative;
}

.p-building-spec__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	margin-top: 2.1875rem;
}

.p-building-spec__tag {
	background: #fff;
	border: 0.0625rem solid #9FA0A0;
	border-radius: 0.125rem;
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 500;
	padding: 0.1875rem 0.8125rem;
}

.p-building-spec__table {
	margin-top: 1.5rem;
}

.p-card__cardImage {
	margin-top: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.p-card__cardImage img {
	-o-object-fit: cover;
	aspect-ratio: 330/210;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
	width: 100%;
}

.p-card__cardContent {
	margin-top: 1rem;
}

.p-card__cardTitle {
	font-size: 1.875rem;
	font-weight: 700;
	margin-top: 0;
	padding-left: 0.625rem;
	position: relative;
}

.p-card__cardTitle::before {
	background: #A28300;
	content: "";
	height: 0.4375rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 0.125rem;
	z-index: 1;
}

.p-card__cardTitle::after {
	background: #05528B;
	bottom: 0;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	width: 0.125rem;
}

.p-card__cardText {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	display: -webkit-box;
	font-size: 0.875rem;
	line-height: 1.8;
	margin-top: 0.9375rem;
	overflow: hidden;
}

.p-card__cardBadge {
	margin-top: 0.25rem;
}

.p-card__badge {
	background: linear-gradient(#D9C15D 0%, #FFF9DE 50%, #D9C15D 100%);
	border: 0.0625rem solid #A28300;
	border-radius: 0.3125rem;
	color: #534818;
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 600;
	padding: 0.1875rem;
}

.p-card__cardTags {
	margin-top: 1rem;
}

.p-card__tag {
	align-items: center;
	color: #05528B;
	display: inline-flex;
	display: flex;
	font-size: 1rem;
	font-weight: 600;
	white-space: nowrap;
}

.p-card__tag::before {
	color: #2672AA;
	content: "■";
	font-size: 0.75rem;
	margin-right: 0.3125rem;
}

.p-card__tag::after {
	background-color: #D1D3D4;
	content: "";
	display: block;
	height: 1px;
	margin-left: 0.5rem;
	width: 100%;
}

.p-card__tagText {
	font-size: 0.875rem;
	line-height: 1.8;
	margin-top: 0.6875rem;
}

.p-card__cardLink {
	display: block;
	height: 100%;
	width: 100%;
}

.p-card__cardButton {
	-webkit-text-decoration: none;
	background-image: linear-gradient(#05528B, #05528B);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 0% 0.0625rem;
	color: #05528B;
	display: flex;
	font-size: 1rem;
	font-weight: 700;
	justify-content: flex-end;
	margin-left: auto;
	margin-top: 0.8125rem;
	padding-bottom: 0.1875rem;
	padding-right: 0.625rem;
	text-decoration: none;
	transition: opacity 0.3s ease, background-size 0.3s ease;
	width: -moz-fit-content;
	width: fit-content;
}

.p-card__cardLink:hover .p-card__cardButton {
	background-size: 100% 0.0625rem; /* ホバーで100% */
}

.p-card__cardLinkIcon {
	display: inline-block;
	height: 1.5rem;
	margin-left: 0.375rem;
	position: relative;
	width: 1.0625rem;
}

.p-card__cardLinkIcon::before {
	-webkit-mask-image: url(../img/common/arrow-icon.svg);
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	background: #05528B;
	background-color: #05528B;
	content: "";
	height: 100%;
	mask-image: url(../img/common/arrow-icon.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(0, -50%);
	transition: transform 0.3s ease;
	width: 100%;
}

.p-card__cardLink:hover .p-card__cardLinkIcon::before {
	transform: translate(0.625rem, -50%);
}

.p-card__cardLink:hover .p-card__cardImage img {
	transform: scale(1.05);
}

.p-common-text-wrap__content {
	margin-top: 2.375rem;
}

.p-common-text-wrap__text {
	font-size: 0.875rem;
	line-height: 2;
	margin-top: 1.25rem;
}

.p-common-text-wrap__text:first-child {
	margin-top: 0;
}

.p-company-achievement__inner {
	position: relative;
}

.p-company-achievement__table {
	margin-top: 2rem;
}

.p-company-achievement__buttons {
	margin-top: 4rem;
}

.p-company-info {
	padding-bottom: 7.5rem;
}

.p-company-info__inner {
	position: relative;
}

.p-company-info__table {
	margin-top: 2rem;
}

.p-company-info__badge {
	background: linear-gradient(#D9C15D 0%, #FFF9DE 50%, #D9C15D 100%);
	border: 0.0625rem solid #A28300;
	border-radius: 0.3125rem;
	color: #534818;
	display: block;
	font-size: 0.75rem;
	font-weight: 600;
	margin-top: 0.5rem;
	padding: 0.3125rem 0.1875rem;
	width: -moz-fit-content;
	width: fit-content;
}

.p-company-info__buttons {
	grid-gap: 5rem;
	display: grid;
	gap: 5rem;
	grid-template-columns: repeat(2, 1fr);
	margin-left: auto;
	margin-right: auto;
	margin-top: 4rem;
	max-width: 65rem;
}

.p-company-info__button {
	-webkit-text-decoration: none;
	align-items: center;
	border-radius: 0.375rem;
	display: flex;
	font-size: 1.125rem;
	font-weight: bold;
	justify-content: center;
	padding: 1.625rem 1.125rem;
	position: relative;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.p-company-info__button::before {
	border-radius: 0 0 0.375rem 0.375rem;
	bottom: 0;
	content: "";
	display: block;
	height: 50%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100%;
}

.p-company-info__button--contact::before {
	background: linear-gradient(to bottom, #0A4B32, #0C5D3E 100%);
}

.p-company-info__button--website::before {
	background: linear-gradient(to bottom, #074472, #05528B 100%);
}

.p-company-info__button-inner {
	margin-right: 2.5rem;
	padding-bottom: 0.1875rem;
	position: relative;
	z-index: 1;
}

.p-company-info__button-inner::after {
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transition: width 0.3s ease;
	width: 0;
}

.p-company-info__button:hover .p-company-info__button-inner::after {
	width: 100%;
}

.p-company-info__button--contact {
	background: #0C5D3E;
	color: #fff;
}

.p-company-info__button--website {
	background: #05528B;
	color: #fff;
}

.p-company-info__button-arrow {
	background-image: url(../img/common/arrow-icon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	height: 1.3125rem;
	position: absolute;
	right: 1.4375rem;
	top: 50%;
	transform: translateY(-50%);
	transform: translate(0, -50%);
	transition: transform 0.3s ease;
	width: 2.1875rem;
}

.p-company-info__button:hover .p-company-info__button-arrow {
	transform: translate(0.5rem, -50%);
}

.p-company-strength__inner {
	position: relative;
}

.p-concerns {
	background: radial-gradient(circle at center, #2672AA 0%, #05528B 100%);
	overflow: hidden;
	position: relative;
}

.p-concerns::before {
	background-image: url(../img/common/concerns-decoration1.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 2.875rem;
	content: "";
	height: 28.625rem;
	left: 2.5rem;
	opacity: 0.15;
	position: absolute;
	width: 22.4375rem;
}

.p-concerns::after {
	background-image: url(../img/common/concerns-decoration2.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 2.875rem;
	content: "";
	height: 28.625rem;
	opacity: 0.15;
	position: absolute;
	right: 2.5rem;
	width: 22.4375rem;
}

.p-concerns__inner {
	margin: 0 auto;
	padding-top: 4.6875rem;
	position: relative;
}

.p-concerns__top {
	text-align: center;
}

.p-concerns__title {
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.4;
}

.p-concerns__lead {
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 1.1875rem;
	font-weight: 600;
	line-height: 1.8;
	margin-top: 1.75rem;
}

.p-concerns__items {
	display: flex;
	flex-wrap: wrap;
	gap: 2.875rem 1.5625rem;
	justify-content: center;
	margin-top: 3.875rem;
}

.p-concerns__item {
	align-items: flex-start;
	display: flex;
	gap: 0.9375rem;
	max-width: 21.875rem;
	position: relative;
	width: calc(33.333% - 0.78125rem);
}

.p-concerns__item:nth-child(4),
.p-concerns__item:nth-child(5) {
	width: calc(33.333% - 1.25rem);
}

.p-concerns__itemPerson {
	bottom: 0;
	flex-shrink: 0;
	height: 8.375rem;
	left: 0.75rem;
	position: absolute;
	z-index: 2;
}

.p-concerns__item:nth-child(2) .p-concerns__itemPerson {
	left: 0.5rem;
}

.p-concerns__item:nth-child(3) .p-concerns__itemPerson {
	left: -0.8125rem;
}

.p-concerns__item:nth-child(4) .p-concerns__itemPerson {
	left: 0.125rem;
}

.p-concerns__item:nth-child(5) .p-concerns__itemPerson {
	left: -0.375rem;
}

.p-concerns__itemImage {
	-o-object-fit: contain;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-concerns__itemBalloon {
	background-color: #fff;
	border-radius: 0.625rem;
	box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.1);
	flex: 1;
	padding: 1.25rem 1.5625rem;
	padding-left: 4.0625rem;
	position: relative;
}

.p-concerns__itemBalloon::after {
	background-image: url(../img/common/question-icon.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 4.875rem;
	position: absolute;
	right: 0.375rem;
	top: -0.8125rem;
	width: 3rem;
}

.p-concerns__itemTitle {
	-webkit-text-decoration: underline;
	font-family: "Noto Serif JP", serif;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 2.0555555556;
	margin: 0;
	text-decoration: underline;
	text-decoration-color: #D1D3D4;
	text-decoration-thickness: 0.0625rem;
	text-underline-offset: 0.5rem;
}

.p-concerns__itemHighlight {
	color: #2672AA;
}

.p-concerns__arrow {
	margin: 0 auto;
	margin-top: -0.125rem;
	width: 17.4375rem;
}

.p-concerns__bottom {
	margin-top: 1.875rem;
	text-align: center;
}

.p-concerns__solutionText {
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 1.5625rem;
	font-weight: 600;
	line-height: 1.6;
}

.p-concerns__solutionTitle {
	-webkit-text-decoration: underline;
	color: #fff;
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 3.4375rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.4;
	margin-top: 0.6875rem;
	position: relative;
	text-decoration: underline;
	text-decoration-thickness: 0.0625rem;
	text-underline-offset: 0.9375rem;
}

.p-concerns__solutionDesc {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.8;
	margin-top: 1.125rem;
}

.p-concerns__gallery {
	grid-gap: 1rem;
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, 1fr);
	margin: 0 auto;
	margin-top: -4.4375rem;
	max-width: 61.25rem;
}

.p-concerns__galleryItem {
	overflow: hidden;
	position: relative;
}

.p-concerns__galleryItem::before {
	background: linear-gradient(transparent, rgba(255, 255, 255, 0.4) 30%, rgba(1, 28, 49, 0.4) 100%);
	content: "";
	height: 100%;
	left: 0;
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-concerns__galleryImage {
	-o-object-fit: cover;
	aspect-ratio: 233/455;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-construction-detail {
	background: #fff;
	padding: 3.5rem 0 0;
}

.p-construction-detail__inner {
	position: relative;
}

.c-heading-02 {
	background-color: #eff7fd;
	font-family: "Noto Serif JP", serif;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1;
	margin-top: 0;
	padding: 1.4375rem 1.6875rem;
	position: relative;
}

.p-subsidy-section__title.c-heading-02,
.p-subsidy-consultation__title.c-heading-02 {
	padding-right: 0.4375rem;
}

.c-heading-02::before {
	background-color: #A28300;
	content: "";
	height: 0.9375rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 0.5rem;
	z-index: 1;
}

.c-heading-02::after {
	background: #05528B;
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0.5rem;
}

.c-heading-04 {
	font-family: "Noto Serif JP", serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	padding-left: 1.75rem;
	position: relative;
}

.c-heading-04::before {
	-webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
	background: #A28300;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
	content: "";
	height: 0.5rem;
	left: 0;
	position: absolute;
	top: 0.6875rem;
	width: 0.5rem;
	z-index: 1;
}

.c-heading-04::after {
	background: #05528B;
	content: "";
	height: 0.875rem;
	left: 0;
	position: absolute;
	top: 0.6875rem;
	width: 0.875rem;
}

.p-construction-detail__title {
	font-family: "Noto Serif JP", serif;
	font-size: 1.75rem;
	margin-top: 3rem;
}

.p-construction-detail__content {
	position: relative;
}

.p-construction-detail__content {
	margin-top: 1.75rem;
	position: relative;
}

.p-construction-detail__slider {
	position: relative;
}

.p-construction-detail__main-slider {
	margin: 0 auto;
	max-width: 54.375rem;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.p-construction-detail__main-image {
	-o-object-fit: cover;
	aspect-ratio: 87/54;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.p-construction-detail__nav-button {
	align-items: center;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	cursor: pointer;
	display: flex;
	height: 2.25rem;
	justify-content: center;
	position: absolute;
	top: 17.75rem;
	width: 1.25rem;
	z-index: 10;
}

.p-construction-detail__nav-button--prev {
	background-image: url(../img/common/detail-prev-arrow.svg);
	left: 3.75rem;
}

.p-construction-detail__nav-button--next {
	background-image: url(../img/common/detail-next-arrow.svg);
	right: 3.75rem;
}

.swiper-button-next:after,
.swiper-button-prev:after {
	display: none;
}

.p-construction-detail__nav-arrow {
	border-right: 0.125rem solid #333;
	border-top: 0.125rem solid #333;
	height: 0.75rem;
	width: 0.75rem;
}

.p-construction-detail__nav-button--prev .p-construction-detail__nav-arrow {
	margin-left: 0.25rem;
	transform: rotate(-135deg);
}

.p-construction-detail__nav-button--next .p-construction-detail__nav-arrow {
	margin-right: 0.25rem;
	transform: rotate(45deg);
}

.p-construction-detail__thumb-slider {
	margin-top: 2rem;
}

.p-construction-detail__thumb-slider .swiper-slide {
	cursor: pointer;
	opacity: 0.4;
	transition: opacity 0.3s ease;
}

.p-construction-detail__thumb-slider .swiper-slide-thumb-active {
	opacity: 1;
}

.p-construction-detail__thumb-slider .swiper-slide:hover {
	opacity: 0.8;
}

.p-construction-detail__thumb-image {
	-o-object-fit: cover;
	aspect-ratio: 95/95;
	height: 100%;
	object-fit: cover;
	transition: border-color 0.3s ease;
	width: 100%;
}

.p-construction-detail__dummy-text {
	background: rgba(255, 255, 255, 0.95);
	border: 0.0625rem solid #ddd;
	border-radius: 0.25rem;
	bottom: 1.25rem;
	color: #666;
	font-size: 0.875rem;
	padding: 0.5rem 1rem;
	position: absolute;
	right: 1.25rem;
	z-index: 5;
}

.p-construction {
	padding: 3.5rem 0 7.5rem;
}

.p-construction__items {
	grid-gap: 3.5rem 2.5rem;
	display: grid;
	gap: 3.5rem 2.5rem;
	grid-template-columns: repeat(3, 1fr);
}

.p-constructionSupport {
	background-image: url("../img/common/constructionSupport-bg.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-top: 0.375rem solid #BFB487;
	padding: 4.875rem 0 5.5rem;
	position: relative;
}

.p-constructionSupport__inner {
	margin: 0 auto;
	max-width: 75rem;
	padding: 0 1.25rem;
	position: relative;
	z-index: 2;
}

.p-constructionSupport__message {
	margin: auto;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.p-constructionSupport__messageText {
	color: #fff;
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.5;
}

.p-constructionSupport__messageTextSmall {
	font-size: 1.375rem;
}

.p-constructionSupport__laurel {
	background-image: url("../img/common/laurel.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	height: 7rem;
	position: absolute;
	top: 54%;
	transform: translateY(-50%);
	width: 3.25rem;
}

.p-constructionSupport__laurel--left {
	left: -4.5rem;
}

.p-constructionSupport__laurel--right {
	right: -4.5rem;
	transform: translateY(-50%) scaleX(-1);
}

.p-constructionSupport__cards {
	display: flex;
	flex-wrap: wrap;
	gap: 1.75rem;
	justify-content: center;
	margin: 4.5rem auto 0;
	max-width: 38.75rem;
}

.p-constructionSupport__card {
	align-items: center;
	background-image: url("../img/common/achievement-bg2.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	gap: 3.8125rem;
	justify-content: center;
	padding: 2.4375rem 1.875rem 2.3125rem;
	text-align: center;
	width: 100%;
}

.p-constructionSupport__cardStars {
	margin: 0 auto;
	width: 3.5625rem;
}

.p-constructionSupport__star {
	-o-object-fit: contain;
	aspect-ratio: 57/22;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.p-constructionSupport__cardTitle {
	color: #624F00;
	font-family: "Noto Serif JP", serif;
	font-size: 1.875rem;
	font-weight: 700;
	margin-top: 1.0625rem;
}

.p-constructionSupport__labelWrap {
	position: relative;
}

.p-constructionSupport__labelWrap::before {
	background-color: #A28300;
	content: "";
	height: 6.5rem;
	position: absolute;
	right: -1.875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 0.0625rem;
}

.p-constructionSupport__cardNumber {
	box-shadow: inset 0 -0.625rem 0 #BFB487;
	color: #624F00;
	font-family: "Noto Serif JP", serif;
	font-size: 2.125rem;
	font-weight: 900;
	line-height: 1;
}

.p-constructionSupport__cardNumberLarge {
	font-size: 3.1875rem;
	line-height: 1;
}

.p-constructionSupport__cardBullet {
	font-size: 2.3125rem;
	line-height: 1;
}

.p-constructionSupport__cta {
	display: flex;
	gap: 3.75rem;
	margin: 0 auto;
	margin-top: 3.75rem;
	max-width: 61.25rem;
}

.p-constructionSupport__ctaItem {
	flex: 1;
	position: relative;
}

.p-constructionSupport__ctaLabel {
	background: #003C69;
	border-radius: 6.25rem;
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	left: 50%;
	max-width: 22.5rem;
	padding: 0.5rem 1.5rem;
	position: absolute;
	text-align: center;
	top: -0.5625rem;
	transform: translateX(-50%);
	white-space: nowrap;
	width: 100%;
	z-index: 2;
}

.p-constructionSupport__ctaLabel--orange {
	background: #E38300;
	max-width: 26.375rem;
}

.p-constructionSupport__ctaButton {
	-webkit-text-decoration: none;
	align-items: center;
	background: #fff;
	background: linear-gradient(135deg, #fff, #F1EEE8);
	border-radius: 0.3125rem;
	color: #003C69;
	display: flex;
	font-size: 1.375rem;
	font-weight: 700;
	justify-content: center;
	overflow: hidden;
	padding: 3.8125rem 2.5rem 2.3125rem;
	position: relative;
	text-decoration: none;
	transition: all 0.3s ease;
	width: 100%;
}

.p-constructionSupport__ctaButtonText {
	position: relative;
	z-index: 2;
}

.p-constructionSupport__ctaButton::before {
	border: 0.125rem solid #05528B;
	border-radius: 0.3125rem;
	content: "";
	height: calc(100% - 0.625rem);
	left: 0.3125rem;
	position: absolute;
	top: 0.3125rem;
	width: calc(100% - 0.625rem);
	z-index: 1;
}

.p-constructionSupport__ctaButton--orange::before {
	border-color: #E38300;
}

.p-constructionSupport__ctaButton::after {
	background: linear-gradient(135deg, white, #EFF7FD);
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0; /* 初期は透明 */
	position: absolute;
	right: 0;
	top: 0;
	transition: opacity 0.4s ease;
}

.p-constructionSupport__ctaButton:hover::after {
	opacity: 1; /* ホバーでふわっと表示 */
}

.p-constructionSupport__ctaButton--orange {
	color: #E38300;
}

.p-constructionSupport__ctaButton--orange::after {
	background: linear-gradient(135deg, #fff, #FDF4E7);
}

.p-constructionSupport__ctaArrow {
	display: inline-block;
	height: 1.5rem;
	position: absolute;
	right: 3.4375rem;
	top: 58%;
	transform: translateY(-50%);
	transition: all 0.3s ease;
	width: 1.5rem;
	z-index: 2;
}

.p-constructionSupport__ctaButton:hover .p-constructionSupport__ctaArrow {
	right: 2.9375rem;
}

.p-constructionSupport__ctaButton--orange .p-constructionSupport__ctaArrow {
	right: 5.5rem;
}

.p-constructionSupport__ctaButton--orange:hover .p-constructionSupport__ctaArrow {
	right: 5rem;
}

.p-constructionSupport__ctaArrow::before {
	-webkit-mask-image: url("../img/common/arrow-icon.svg");
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	background: #05528B;
	content: "";
	height: 1.0625rem;
	left: 0;
	mask-image: url("../img/common/arrow-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: width 0.3s ease;
	width: 1.75rem;
}

.p-constructionSupport__ctaButton--orange .p-constructionSupport__ctaArrow::before {
	background: #E38300;
}

.p-constructionSupport__ctaButtonText::before {
	background-color: #05528B;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transition: width 0.3s ease;
	width: 0;
}

.p-constructionSupport__ctaButton--orange .p-constructionSupport__ctaButtonText::before {
	background-color: #E38300;
}

.p-constructionSupport__ctaButton:hover .p-constructionSupport__ctaButtonText::before {
	width: 100%;
}

.p-constructionSupport__ctaButtonText {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	padding-bottom: 0.1875rem;
	padding-right: 0.4375rem;
	position: relative;
	z-index: 1;
}

.p-constructionSupport__ctaButtonText::after {
	-webkit-mask-image: url("../img/common/arrow-icon.svg");
	-webkit-mask-size: contain;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	background: #05528B;
	content: "";
	height: 1.0625rem;
	mask-image: url("../img/common/arrow-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: relative;
	transform: translateX(0);
	transition: width 0.3s ease;
	transition: transform 0.3s ease;
	width: 1.75rem;
}

.p-constructionSupport__ctaButton--orange .p-constructionSupport__ctaButtonText::after {
	background: #E38300;
}

.p-constructionSupport__ctaButton:hover .p-constructionSupport__ctaButtonText::after {
	transform: translateX(0.4375rem);
}

.p-contact {
	padding: 3.5625rem 0 7.5rem;
}

.p-contact__title {
	color: #333;
	font-size: 1.75rem;
	font-weight: bold;
	margin-top: 0;
}

.p-contact__form {
	margin: 2.6875rem auto 0;
	max-width: 61.25rem;
}

.p-form__group {
	align-items: flex-start;
	display: flex;
	margin-top: 1.125rem;
}

.p-form__group:first-child {
	margin-top: 0;
}

.p-form__label {
	align-items: center;
	color: #333;
	display: flex;
	flex-shrink: 0;
	font-size: 1.125rem;
	font-weight: 700;
	padding-top: 0.8125rem;
	width: 19.625rem;
}

.p-form__required {
	background: #F4F4F4;
	border-radius: 0.125rem;
	color: #DB2356;
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 700;
	margin-left: 0.5rem;
	padding: 0.1875rem 0.75rem;
}

.p-form__input {
	border: 0.0625rem solid #7C7C7C;
	flex: 1;
	font-size: 1rem;
	line-height: 1.5;
	padding: 0.8125rem 1rem;
	transition: border-color 0.3s ease;
}

.p-form__input:focus {
	border-color: #05528B;
	outline: none;
}

.p-form__input::-moz-placeholder {
	color: #666666;
}

.p-form__input::placeholder {
	color: #666666;
}

.p-form__textarea {
	border: 0.0625rem solid #7C7C7C;
	flex: 1;
	font-size: 0.9375rem;
	height: 11.25rem;
	line-height: 1.6;
	padding: 0.8125rem 1.25rem;
	resize: vertical;
	transition: border-color 0.3s ease;
}

.p-form__textarea:focus {
	border-color: #05528B;
	outline: none;
}

.p-form__textarea::-moz-placeholder {
	color: #999;
}

.p-form__textarea::placeholder {
	color: #999;
}

.p-form__privacy {
	margin-top: 3rem;
}

.p-form__privacy-box {
	border: 0.0625rem solid #808080;
	height: 14.25rem;
	margin: 0 auto;
	max-width: 31.4375rem;
	overflow-y: auto;
	padding: 1.1875rem 2.125rem;
	padding-right: 1.4375rem;
}

.p-form__privacy-title {
	color: #121212;
	font-size: 1.125rem;
	font-weight: bold;
	margin-bottom: 1.8125rem;
	margin-top: 0;
}

.p-form__privacy-content {
	color: #121212;
	font-size: 0.9375rem;
	line-height: 1.8;
}

.p-form__privacy-content-text {
	margin-top: 0.9375rem;
}

.p-form__privacy-content-text:first-child {
	margin-top: 0;
}

.p-form__checkbox {
	margin-top: 0.9375rem;
	text-align: center;
}

.p-form__checkbox-input {
	cursor: pointer;
	opacity: 0;
	position: absolute;
}

.p-form__checkbox-label {
	color: #333;
	cursor: pointer;
	display: inline-block;
	font-size: 1rem;
	line-height: 2;
	padding-left: 2rem;
	position: relative;
}

.p-form__checkbox-label::before {
	background: #fff;
	border: 0.125rem solid #7C7C7C;
	border-radius: 0.0625rem;
	content: "";
	height: 1.25rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: border-color 0.3s ease, background-color 0.3s ease;
	width: 1.25rem;
}

.p-form__checkbox-label::after {
	border-bottom: 0.125rem solid #fff;
	border-right: 0.125rem solid #fff;
	content: "";
	height: 0.625rem;
	left: 0.4375rem;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-60%) rotate(45deg);
	transition: opacity 0.3s ease;
	width: 0.375rem;
}

.p-form__checkbox-input:checked + .p-form__checkbox-label::before {
	background: #05528B;
	border-color: #05528B;
}

.p-form__checkbox-input:checked + .p-form__checkbox-label::after {
	opacity: 1;
}

.p-form__checkbox-input:focus + .p-form__checkbox-label::before {
	box-shadow: 0 0 0 0.1875rem rgba(5, 82, 139, 0.2);
}

.p-form__buttons {
	align-items: center;
	display: flex;
	gap: 2rem;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 4rem;
	max-width: 30.4375rem;
	width: 100%;
}

.p-form__button {
	border: none;
	border-radius: 0.25rem;
	cursor: pointer;
	font-size: 1rem;
	font-weight: bold;
	padding: 1rem 1.875rem;
	position: relative;
	text-align: center;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.p-form__button--back:hover {
	opacity: 0.8;
}

.p-form__button--back {
	background: #666666;
	border: 0.0625rem solid transparent;
	color: #fff;
	transition: all 0.3s ease;
}

.p-form__button--submit {
	-webkit-text-decoration: none;
	align-items: center;
	background: #05528B;
	border-radius: 3.125rem;
	border-radius: 0.3125rem;
	color: #fff;
	display: inline-flex;
	font-size: 0.9375rem;
	font-weight: 700;
	justify-content: center;
	max-width: 19.6875rem;
	padding: 0.9375rem 2.5rem;
	position: relative;
	text-decoration: none;
	transition: all 0.3s ease;
	width: 100%;
}

.p-form__button--submit::before {
	background: linear-gradient(to bottom, #074472, #05528B 100%);
	border-radius: 0 0 0.3125rem 0.3125rem;
	bottom: 0;
	content: "";
	display: block;
	height: 50%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100%;
}

.p-form__button-text::after {
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transition: width 0.3s ease;
	width: 0;
}

.p-form__button--submit:hover .p-form__button-text::after {
	width: 100%;
}

.p-form__button-text {
	display: inline-block;
	padding-bottom: 0.1875rem;
	position: relative;
	z-index: 1;
}

.p-form__button-arrow {
	display: inline-block;
	height: 1.0625rem;
	position: absolute;
	right: 1.125rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.75rem;
}

.p-form__button-arrow::before {
	-webkit-mask-image: url(../img/common/arrow-icon.svg);
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	background: #fff;
	content: "";
	height: 100%;
	mask-image: url(../img/common/arrow-icon.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 0;
	top: 0;
	transition: right 0.3s ease;
	width: 100%;
}

.p-form__button--submit:hover .p-form__button-arrow::before {
	right: -0.4375rem;
}

.p-form__button--back {
	max-width: 8.75rem;
	padding: 0.75rem 1.875rem;
	width: 100%;
}

.p-form__button--back:hover {
	background-color: #D1D3D4;
	border: 0.0625rem solid #666666;
	color: #333;
}

.p-form__privacy-box::-webkit-scrollbar {
	width: 0.5rem;
}

.p-form__privacy-box::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 0.25rem;
}

.p-form__privacy-box::-webkit-scrollbar-thumb {
	background: #888;
	border-radius: 0.25rem;
}

.p-form__privacy-box::-webkit-scrollbar-thumb:hover {
	background: #555;
}

.p-cta-buttons {
	display: flex;
	gap: 1.5rem;
	justify-content: center;
}

.p-cta-buttons__item {
	-webkit-text-decoration: none;
	align-items: center;
	background: #05528B;
	border-radius: 0.3125rem;
	color: #fff;
	display: flex;
	justify-content: center;
	max-width: 16.0625rem;
	padding: 1.3125rem;
	position: relative;
	text-decoration: none;
	transition: background 0.3s ease, transform 0.3s ease;
	width: 100%;
}

.p-cta-buttons__item::before {
	background: linear-gradient(to bottom, #074472, #05528B 100%);
	border-radius: 0 0 0.3125rem 0.3125rem;
	bottom: 0;
	content: "";
	display: block;
	height: 50%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100%;
}

.p-cta-buttons__text-inner::after {
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transition: width 0.3s ease;
	width: 0;
}

.p-cta-buttons__item:hover .p-cta-buttons__text-inner::after {
	width: 100%;
}

.p-cta-buttons__text-inner {
	display: inline-block;
	padding-bottom: 0.1875rem;
	position: relative;
	z-index: 1;
}

.p-cta-buttons__icon {
	align-items: center;
	display: flex;
	height: 1.5rem;
	justify-content: center;
	left: 1.0625rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
}

.p-cta-buttons__icon svg {
	color: #fff;
	height: 100%;
	width: 100%;
}

.p-cta-buttons__text {
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}

.p-cta-buttons__arrow {
	background-image: url(../img/common/arrow-icon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	height: 0.8125rem;
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
	transform: translate(0, -50%);
	transition: transform 0.3s ease;
	width: 1.375rem;
}

.p-cta-buttons__item:hover .p-cta-buttons__arrow {
	transform: translate(0.5rem, -50%);
}

.p-cta {
	background-image: url("../img/common/cta-bg.jpg");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	border-bottom: 0.375rem solid #BFB487;
	overflow: hidden;
	padding: 9.0625rem 0 6.5rem;
	position: relative;
}

.p-cta__inner {
	position: relative;
	z-index: 1;
}

.p-cta__block {
	position: relative;
}

.p-cta__block--subsidy {
	align-items: flex-start;
	display: flex;
}

.p-cta__block--subsidy::before {
	color: rgba(228, 238, 245, 0.95);
	content: "SUBSIDY";
	font-family: "Lora", serif;
	font-size: 5.625rem;
	font-weight: 600;
	left: 1.25rem;
	position: absolute;
	top: -4.0625rem;
	z-index: 0;
}

.p-cta__content {
	flex: 1;
	position: relative;
	width: 30.3125rem;
	z-index: 1;
}

.p-cta__heading {
	align-items: baseline;
	display: flex;
	gap: 0.5rem;
	margin-bottom: 0.9375rem;
}

.p-cta__headingText {
	color: #295470;
	font-size: 1.75rem;
	font-weight: 500;
}

.p-cta__title {
	-webkit-text-decoration: underline;
	color: #05528B;
	font-family: "Noto Serif JP", serif;
	font-size: 2rem;
	font-weight: 700;
	line-height: 2;
	margin: 0;
	position: relative;
	text-decoration: underline;
	text-decoration-thickness: 0.125rem;
	text-underline-offset: 0.9375rem;
}

.p-cta__titleHighlight {
	color: #A28300;
}

.p-cta__description {
	margin-top: 2.25rem;
}

.p-cta__text {
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.9;
	margin: 0;
}

.p-cta__textHighlight {
	color: #05528B;
	font-weight: 700;
}

.p-cta__link {
	-webkit-text-decoration: none;
	align-items: center;
	color: #05528B;
	display: inline-flex;
	font-size: 1rem;
	font-weight: 600;
	gap: 0.625rem;
	margin-top: 1.125rem;
	padding-bottom: 4px;
	text-decoration: none;
	transition: gap 0.3s ease;
}

.p-cta__link {
	background-image: linear-gradient(currentColor, currentColor);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 0% 0.0625rem;
	padding-right: 0.5rem;
	transition: background-size 0.3s ease;
}

.p-cta__link:hover {
	background-size: 100% 0.0625rem; /* ホバーで100% */
}

.p-cta__linkArrow {
	-webkit-mask-image: url("../img/common/arrow-icon.svg");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	background-color: #05528B;
	display: inline-block;
	height: 0.75rem;
	mask-image: url("../img/common/arrow-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transform: translateX(0);
	transition: transform 0.3s ease;
	width: 1.3125rem;
}

.p-cta__link:hover .p-cta__linkArrow {
	transform: translateX(0.5rem);
}

.p-cta__contact {
	background: linear-gradient(125deg, #fff, #F7F5F0);
	border: 0.0625rem solid #EFF7FD;
	border-left: 0.1875rem solid #05528B;
	box-shadow: -0.625rem 0 0.625rem rgba(0, 24, 43, 0.05);
	display: flex;
	margin-right: calc(50% - 50vw);
	padding: 3.75rem 6.0625rem 4.75rem;
	padding-right: calc(50vw - 50%);
	position: relative;
}

.p-cta__contactLabel {
	color: #05528B;
	display: flex;
	font-family: "Lora", serif;
	font-size: 1.125rem;
	font-weight: 400;
	left: 1.625rem;
	position: absolute;
	top: -0.9375rem;
	writing-mode: vertical-lr;
}

.p-cta__contactLabel::after {
	background-color: #05528B;
	content: "";
	display: block;
	height: 3.75rem;
	left: 50%;
	position: absolute;
	top: 5.875rem;
	transform: translateX(-50%);
	width: 0.0625rem;
}

.p-cta__contactContent {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
}

.p-cta__contactText {
	font-family: "Noto Serif JP", serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.6;
	margin: 0;
}

.p-cta__contactHighlight {
	color: #A28300;
	font-size: 1.25rem;
}

.p-cta__button {
	-webkit-text-decoration: none;
	align-items: center;
	background: #05528B;
	border-radius: 0.375rem;
	color: #fff;
	display: inline-flex;
	font-size: 1.25rem;
	font-weight: 700;
	gap: 0.9375rem;
	justify-content: center;
	margin-top: 1.4375rem;
	padding: 2.1875rem 1.5625rem;
	position: relative;
	text-decoration: none;
	transition: all 0.3s ease;
	width: 100%;
}

.p-cta__button::before {
	background: linear-gradient(to bottom, #074472, #05528B 100%);
	border-radius: 0 0 0.375rem 0.375rem;
	bottom: 0;
	content: "";
	display: block;
	height: 50%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100%;
}

.p-cta__buttonText {
	display: inline-block;
	padding-bottom: 0.1875rem;
	position: relative;
}

.p-cta__buttonText::after {
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transition: width 0.3s ease;
	width: 0;
}

.p-cta__button:hover .p-cta__buttonText::after {
	width: 100%;
}

.p-cta__buttonArrow {
	-webkit-mask-image: url("../img/common/arrow-icon.svg");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	background-color: #fff;
	display: inline-block;
	height: 1.3125rem;
	mask-image: url("../img/common/arrow-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: relative;
	right: -5.625rem;
	transform: translateX(0);
	transition: all 0.3s ease;
	width: 2.1875rem;
}

.p-cta__button:hover .p-cta__buttonArrow {
	transform: translateX(0.5rem);
}

.p-drawer {
	height: 100%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: visibility 0.3s, opacity 0.3s;
	visibility: hidden;
	width: 100%;
	z-index: 200;
}

.p-drawer.is-active {
	opacity: 1;
	visibility: visible;
}

.p-drawer__overlay {
	background-color: rgba(0, 0, 0, 0.5);
	cursor: pointer;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-drawer__content {
	background-color: rgba(7, 52, 85, 0.95);
	border-bottom-left-radius: 6.25rem;
	height: auto;
	overflow-y: auto;
	position: absolute;
	right: 0;
	top: 0;
	transform: translateX(100%);
	transition: transform 0.3s ease;
	width: 25rem;
}

.p-drawer.is-active .p-drawer__content {
	transform: translateX(0);
}

.p-drawer__body {
	padding: 6.625rem 4rem 4.75rem;
	padding-right: 0;
}

.p-drawer__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.p-drawer__item {
	margin-top: 2.8125rem;
}

.p-drawer__item:first-child {
	margin-top: 0;
}

.p-drawer__link {
	-webkit-text-decoration: none;
	color: #fff;
	display: block;
	font-family: "Noto Serif JP", serif;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.5;
	position: relative;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.p-drawer__linkText {
	display: inline-block;
	padding-bottom: 0.1875rem;
	position: relative;
}

.p-drawer__linkText::after {
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transition: width 0.3s ease;
	width: 0;
}

.p-drawer__link:hover .p-drawer__linkText::after {
	width: 100%;
}

.p-drawer__linkIcon {
	-webkit-mask-image: url("../img/common/link-icon.svg");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	background-color: #fff;
	display: inline-block;
	height: 1.125rem;
	margin-left: 0.5rem;
	mask-image: url("../img/common/link-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	vertical-align: middle;
	width: 1.125rem;
}

.p-energyHouse {
	overflow: hidden;
	padding: 6rem 0;
}

.p-energyHouse__inner {
	position: relative;
}

.p-energyHouse__header {
	margin-top: 0;
	text-align: center;
}

.p-energyHouse__slider {
	margin-left: -1.25rem;
	margin-right: calc(50% - 50vw);
	margin-top: 7.5rem;
	overflow: hidden;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	position: relative;
}

.energyHouseSwiper {
	overflow: visible;
}

.energyHouseSwiper .swiper-wrapper {
	align-items: stretch;
}

.energyHouseSwiper .swiper-slide {
	max-width: 20.625rem;
	width: calc((100% - 6.75rem) / 3);
}

.p-energyHouse__card {
	height: 100%;
	overflow: hidden;
}

.p-energyHouse__navigation {
	display: flex;
	gap: 0.75rem;
	position: absolute;
	right: 1.5625rem;
	top: 7.4375rem;
	z-index: 10;
}

.p-energyHouse__navButton {
	align-items: center;
	background: #F2F2F2;
	border: 0.0625rem solid #D1D3D4;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	height: 2.5rem;
	justify-content: center;
	transition: all 0.3s ease;
	width: 2.5rem;
}

.p-energyHouse__navButton:hover {
	background: #f0f0f0;
	border-color: #05528B;
}

.p-energyHouse__navIcon {
	border-right: 0.125rem solid #05528B;
	border-top: 0.125rem solid #05528B;
	display: block;
	height: 0.625rem;
	width: 0.625rem;
}

.p-energyHouse__navButton--prev .p-energyHouse__navIcon {
	margin-left: 0.25rem;
	transform: rotate(-135deg);
}

.p-energyHouse__navButton--next .p-energyHouse__navIcon {
	margin-right: 0.25rem;
	transform: rotate(45deg);
}

.p-energyHouse__footer {
	margin-top: 4.1875rem;
	text-align: center;
}

.p-energyHouse__viewAllButton {
	-webkit-text-decoration: none;
	align-items: center;
	background: #05528B;
	border-radius: 0.3125rem;
	color: #fff;
	display: inline-flex;
	font-size: 0.9375rem;
	font-weight: 700;
	justify-content: center;
	max-width: 19.6875rem;
	padding: 0.9375rem 2.5rem;
	position: relative;
	text-decoration: none;
	transition: all 0.3s ease;
	width: 100%;
}

.p-energyHouse__viewAllButton::before {
	background: linear-gradient(to bottom, #074472, #05528B 100%);
	border-radius: 0 0 0.3125rem 0.3125rem;
	bottom: 0;
	content: "";
	display: block;
	height: 50%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: calc(100% - 0.125rem);
}

.p-energyHouse__viewAllButtonText::after {
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transition: width 0.3s ease;
	width: 0;
}

.p-energyHouse__viewAllButton:hover .p-energyHouse__viewAllButtonText::after {
	width: 100%;
}

.p-energyHouse__viewAllButtonText {
	display: inline-block;
	padding-bottom: 0.1875rem;
	position: relative;
	z-index: 1;
}

.p-energyHouse__viewAllIcon {
	display: inline-block;
	height: 1.0625rem;
	position: absolute;
	right: 1.125rem;
	top: 50%;
	transform: translate(0, -50%);
	transition: transform 0.3s ease;
	width: 1.75rem;
}

.p-energyHouse__viewAllIcon::before {
	-webkit-mask-image: url(../img/common/arrow-icon.svg);
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	background: #fff;
	content: "";
	height: 100%;
	mask-image: url(../img/common/arrow-icon.svg);
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}

.p-energyHouse__viewAllButton:hover .p-energyHouse__viewAllIcon {
	transform: translate(0.625rem, -50%);
}

.p-energySaving {
	background-color: #EFF7FD;
	padding-bottom: 6.25rem;
	position: relative;
}

.p-energySaving::after {
	background-image: url(../img/common/energy-bg.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 0;
	content: "";
	height: 51.92vw;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 137.1vw;
}

.p-energySaving::before {
	background-image: url(../img/common/energy-triangle.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 9.7857vw;
	left: 50%;
	position: absolute;
	top: -7.42578vw;
	transform: translateX(-50%);
	width: 137vw;
	z-index: 1;
}

.p-title-wrap {
	font-family: "Noto Serif JP", serif;
	position: relative;
	text-align: center;
	z-index: 2;
}

.p-title-wrap::after {
	background-image: url(../img/common/energy-title-decoration.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: -0.9375rem;
	content: "";
	height: 0.1875rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 9.6875rem;
}

.p-title-wrap__title {
	display: inline-block;
	font-size: 1.875rem;
	font-weight: 600;
	margin: 0;
}

.p-title-wrap__titleBig {
	color: #05528B;
	display: inline-block;
	font-size: 2.1875rem;
	font-weight: 600;
	margin: 0;
	position: relative;
}

.p-energySaving__content {
	background-color: #fff;
	box-shadow: 0 0 0.75rem rgba(0, 24, 43, 0.1);
	margin-top: 4.875rem;
	padding: 5.125rem 3.75rem 4.25rem;
	position: relative;
	z-index: 2;
}

.p-energySaving__content::before {
	background-color: #05528B;
	content: "";
	height: 0.5rem;
	left: 3.75rem;
	position: absolute;
	top: 0;
	width: 10rem;
	z-index: 1;
}

.p-energySaving__point + .p-energySaving__point {
	margin-top: 3.75rem;
}

.p-energySaving__point:last-child {
	margin-bottom: 0;
}

.p-energySaving__pointHeader {
	align-items: center;
	display: flex;
}

.p-energySaving__pointBody {
	margin-top: 1rem;
}

.p-energySaving__pointNumber {
	color: #A28300;
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 1rem;
	font-weight: 600;
	margin-right: 1.75rem;
	position: relative;
	white-space: nowrap;
}

.p-energySaving__pointNumberBig {
	font-size: 1.25rem;
}

.p-energySaving__pointNumber::after {
	background-color: #A28300;
	content: "";
	display: inline-block;
	height: 1.625rem;
	margin-left: 0.625rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	vertical-align: middle;
	width: 0.0625rem;
}

.p-energySaving__pointTitle {
	color: #05528B;
	flex: 1;
	font-family: "Noto Serif JP", serif;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.5;
	margin: 0;
}

.p-energySaving__pointHeadline {
	border-bottom: 0.0625rem solid #D1D3D4;
	color: #05528B;
	font-family: "Noto Serif JP", serif;
	font-size: 1.875rem;
	font-weight: 600;
	line-height: 1.6;
	margin: 0;
	padding-bottom: 0.9375rem;
}

.p-energySaving__pointContent {
	align-items: flex-start;
	display: flex;
	gap: 3.75rem;
	margin-top: 3.75rem;
}

.p-energySaving__point:nth-child(even) .p-energySaving__pointContent {
	flex-direction: row-reverse;
}

.p-energySaving__pointTextWrap {
	width: 50%;
}

.p-energySaving__pointText {
	font-size: 0.875rem;
	line-height: 2;
	margin-top: 0.875rem;
}

.p-energySaving__pointText:first-child {
	margin-top: 0;
}

.p-energySaving__point:nth-child(even) .p-energySaving__pointContent {
	flex-direction: row-reverse;
}

.p-energySaving__pointImage {
	width: 50%;
}

.p-energySaving__pointImg {
	height: auto;
	width: 100%;
}

.p-energySaving__footer {
	margin-top: 6rem;
}

.p-energySaving__footerText {
	font-family: "Noto Serif JP", serif;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.4;
	margin: 0;
	text-align: center;
}

.p-energySaving__footerText::after {
	background-image: url(../img/common/energy-underline.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 0.75rem;
	margin-top: 0.375rem;
	width: 100%;
}

.p-energySaving__benefits {
	margin-top: 1.3125rem;
}

.p-energySaving__benefitsTitle {
	font-family: "Noto Serif JP", serif;
	font-size: 1.625rem;
	font-weight: 600;
	line-height: 2.0769230769;
	text-align: center;
}

.p-energySaving__benefitsBigFirst {
	color: #05528B;
	font-size: 2.125rem;
	font-weight: 600;
	line-height: 1.5882352941;
}

.p-energySaving__benefitsBigSecond {
	color: #05528B;
	font-size: 2.25rem;
	font-weight: 600;
	line-height: 1.4;
}

.p-energySaving__button {
	-webkit-text-decoration: none;
	align-items: center;
	background-color: #0C5D3E;
	border-radius: 0.375rem;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	gap: 1.25rem;
	margin-top: 3.5625rem;
	padding: 1.25rem 1.8125rem 1.625rem;
	position: relative;
	text-decoration: none;
	transition: all 0.3s ease;
	width: 100%;
}

.p-energySaving__button:hover {
	background-color: #0F5A37;
	box-shadow: 0 0.3125rem 0.9375rem rgba(22, 121, 76, 0.3);
	transform: translateY(-0.125rem);
}

.p-energySaving__buttonIcon {
	background-image: url(../img/common/energy-button-icon.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	height: 5.1875rem;
	width: 5.3125rem;
}

.p-energySaving__buttonText {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}

.p-energySaving__buttonTextBig {
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 0.5625rem;
	text-align: left;
}

.p-energySaving__buttonHighlight {
	color: #F1C400;
}

.p-energySaving__pointIcon {
	flex-shrink: 0;
	height: 3rem;
	position: relative;
	position: absolute;
	right: 1.75rem;
	width: 3rem;
}

.p-energySaving__pointIconBg {
	background: linear-gradient(180deg, #FFFFFF 0%, #CDEDAD 100%);
	border-radius: 50%;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p-energySaving__pointIconArrow {
	background-image: url(../img/common/green-arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	display: inline-block;
	height: 0.75rem;
	line-height: 1;
	position: relative;
	transform: translateY(95%);
	transition: transform 0.3s ease;
	vertical-align: middle;
	width: 1.4375rem;
}

.p-energySaving__button.is-open .p-energySaving__pointIconArrow {
	transform: translateY(65%) rotate(-180deg);
}

.p-energySaving__accordion {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s ease, padding 0.5s ease;
}

.p-energySaving__accordion.is-open {
	max-height: 125rem;
}

.p-energySaving__accordionInner {
	background-color: #fff;
	border: 0.125rem solid #0C5D3E;
	margin-top: -0.25rem;
	padding: 2.5rem;
}

.p-energySaving__accordionContent {
	margin: 0 auto;
	max-width: 56.25rem;
}

.p-energySaving__accordionItem {
	background-color: #F1EEE8;
	margin-top: 1.5rem;
	padding: 2rem 1.875rem;
}

.p-energySaving__accordionItem:first-child {
	margin-top: 0;
}

.p-energySaving__accordionTitle {
	align-items: center;
	color: #0C5D3E;
	display: flex;
	font-size: 1.25rem;
	font-weight: 700;
	gap: 0.5rem;
	line-height: 1.5;
}

.p-energySaving__accordionBullet {
	background-color: #0C5D3E;
	border-radius: 50%;
	display: block;
	flex-shrink: 0;
	height: 0.625rem;
	width: 0.625rem;
}

.p-energySaving__accordionText {
	font-size: 1rem;
	line-height: 1.8;
	margin-top: 1rem;
}

.p-footer {
	background-color: #fff;
	overflow: hidden;
	padding: 3.5rem 0 1.875rem;
	position: relative;
}

.p-footer__inner {
	margin: 0 auto;
	max-width: 75rem;
	padding: 0 2.5rem;
}

.p-footer__content {
	margin-bottom: 3.5625rem;
	text-align: center;
}

.p-footer__label {
	font-size: 1.125rem;
	font-weight: 700;
	margin: 0;
}

.p-footer__subtitle {
	font-size: 0.9375rem;
	font-weight: 500;
	margin-top: 0.9375rem;
}

.p-footer__title {
	font-size: 1.8125rem;
	font-weight: 700;
	margin-top: 0.375rem;
}

.p-footer__year {
	color: #05528B;
	font-weight: 700;
}

.p-footer__organization {
	margin-top: 0.625rem;
}

.p-footer__organizationName {
	font-size: 0.9375rem;
	font-weight: 500;
}

.p-footer__address {
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.6666666667;
	margin-top: 0.5625rem;
}

.p-footer__tel {
	font-size: 0.8125rem;
	font-weight: 500;
	margin-top: 0.4375rem;
}

.p-footer__copyright {
	padding-top: 1.0625rem;
	position: relative;
	text-align: center;
}

.p-footer__copyright:before {
	background-color: #D1D3D4;
	content: "";
	height: 0.0625rem;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100vw;
}

.p-footer__copyrightText {
	font-size: 0.875rem;
	font-weight: 400;
	margin: 0;
}

.p-header {
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 0.125rem 0.625rem rgba(0, 0, 0, 0.05);
	height: 5.625rem;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}

.p-header__inner {
	display: flex;
	height: 100%;
	justify-content: space-between;
	padding-left: 2.5rem;
	padding-right: 7.8125rem;
}

.p-header__content {
	padding-top: 0.875rem;
}

.p-header__tagline {
	align-items: center;
	display: flex;
}

.p-header__taglineText {
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.2;
}

.p-header__titleWrapper {
	align-items: center;
	display: flex;
	gap: 0.9375rem;
}

.p-header__title {
	margin: 0;
}

.p-header__titleLink {
	-webkit-text-decoration: none;
	display: inline-block;
	font-size: 1.8125rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.p-header__titleLink:hover {
	opacity: 0.7;
}

.p-header__year {
	color: #05528B;
	font-weight: 700;
}

.p-header__divider {
	background-color: #D1D3D4;
	display: block;
	width: 0.0625rem;
}

.p-header__divider--pc {
	display: block;
	height: 2.8125rem;
}

.p-header__divider--sp {
	display: none;
}

.p-header__business {
	color: #666;
	font-size: 1.125rem;
	font-weight: 700;
}

.p-header__business--pc {
	display: inline-block;
}

.p-header__business--sp {
	display: none;
}

.p-header__actions {
	align-items: center;
	display: flex;
}

.p-header__contact {
	-webkit-text-decoration: none;
	align-items: center;
	background: #05528B;
	border: 1px solid transparent;
	border-radius: 3.125rem;
	color: #fff;
	display: flex;
	font-size: 0.9375rem;
	font-weight: 500;
	gap: 0.5rem;
	line-height: 1.8;
	overflow: hidden;
	padding: 0.625rem 0.75rem 0.625rem 0.875rem;
	position: relative;
	position: relative;
	text-decoration: none;
	transition: opacity 0.3s ease;
	transition: all 0.3s ease;
	width: 14.375rem;
}

.p-header__contact::before {
	background: linear-gradient(to bottom, #074472, #05528B 100%);
	border-radius: 0 0 3.125rem 3.125rem;
	bottom: 0;
	content: "";
	display: block;
	height: 50%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	transition: opacity 0.3s;
	width: 100%;
}

.p-header__contact:hover::before {
	opacity: 0;
}

.p-header__contactText {
	display: inline-block;
	padding-bottom: 0;
	position: relative;
}

.p-header__contact:hover {
	background-color: #EFF7FD;
	border: 1px solid #05528B;
	color: #05528B;
}

.p-header__contactIcon {
	-webkit-mask-image: url("../img/common/mail-icon.svg");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	background-color: #fff;
	display: block;
	height: 0.8125rem;
	mask-image: url("../img/common/mail-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	transition: all 0.3s ease;
	width: 1rem;
}

.p-header__contact:hover .p-header__contactIcon {
	background-color: #05528B;
}

.p-header__contactText {
	display: inline-block;
}

.p-header__contactArrow {
	-webkit-mask-image: url("../img/common/arrow-icon.svg");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	background-color: #fff;
	display: block;
	height: 0.6875rem;
	mask-image: url("../img/common/arrow-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	position: absolute;
	right: 0.75rem;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease;
	width: 1.125rem;
}

.p-header__contact:hover .p-header__contactArrow {
	background-color: #05528B;
}

.p-header__menuButton {
	align-items: center;
	background-color: #073455;
	border: none;
	border-radius: 0;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	height: 5.625rem;
	padding-top: 1.5rem;
	position: absolute;
	right: 0;
	top: 0;
	transition: background-color 0.3s ease;
	width: 5.625rem;
	z-index: 300;
}

.p-header__menuButton:hover {
	background-color: #052840;
}

.p-header__menuButtonInner {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	height: 1.5rem;
	justify-content: center;
	position: relative;
	width: 2.5rem;
}

.p-header__menuButtonBar {
	background-color: #fff;
	display: block;
	height: 0.1875rem;
	transition: all 0.3s ease;
	width: 100%;
}

.p-header__menuButton.is-active .p-header__menuButtonBar:nth-child(1) {
	transform: translateY(0.75rem) rotate(45deg);
}

.p-header__menuButton.is-active .p-header__menuButtonBar:nth-child(2) {
	opacity: 0;
}

.p-header__menuButton.is-active .p-header__menuButtonBar:nth-child(3) {
	transform: translateY(-0.5625rem) rotate(-45deg);
}

.p-header__menuButtonText {
	color: #fff;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.0625rem;
	text-transform: lowercase;
}

.p-mainView {
	background-image: url("../img/common/mainview-bg.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
	position: relative;
	position: relative;
	width: 100%;
	z-index: 2;
}

.p-mainView__inner {
	height: 100%;
	min-height: 45.9375rem;
	position: relative;
	width: 100%;
}

.p-mainView__content {
	font-family: "Noto Serif JP", serif;
	left: 6.25rem;
	max-width: 40.125rem;
	position: absolute;
	top: 7.5625rem;
	z-index: 10;
}

.p-mainView__heading {
	display: flex;
	gap: 1.875rem;
}

.p-mainView__lead {
	color: #fff;
	display: inline-block;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
	padding-top: 0.8125rem;
	position: relative;
}

.p-mainView__lead::after {
	background-color: #fff;
	content: "";
	height: 0.0625rem;
	position: absolute;
	right: -6.3125rem;
	top: 50%;
	transform: translateY(-50%);
	width: 5.6875rem;
}

.p-mainView__balloon {
	background-image: url("../img/common/balloon-img.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	border-radius: 1.5625rem;
	display: inline-block;
	margin-left: 5.125rem;
	padding: 0.875rem 1.125rem 1.5625rem 1.375rem;
	position: relative;
}

.p-mainView__balloonText {
	color: #0C5D3E;
	font-size: 1.375rem;
	font-weight: 700;
}

.p-mainView__titleLine {
	color: #fff;
	font-size: 4.3125rem;
	font-weight: 600;
	line-height: 1.25;
	text-shadow: 0.1875rem 0.1875rem 0.625rem rgba(0, 0, 0, 0.3);
}

.p-mainView__titleLine.p-mainView__titleLine--Small {
	font-size: 3.4375rem;
}

.p-mainView__titleLine.p-mainView__titleLine--Big {
	display: block;
	font-size: 5.75rem;
}

.p-mainView__tags {
	align-items: center;
	display: flex;
	gap: 0.5625rem;
	margin-top: 1.25rem;
}

.p-mainView__tag {
	background-color: transparent;
	border: 0.125rem solid #fff;
	color: #fff;
	display: inline-block;
	font-size: 1.625rem;
	font-weight: 600;
	padding: 0rem 0.3125rem;
}

.p-mainView__tagAnd {
	color: #fff;
	font-size: 1.625rem;
	font-weight: 600;
}

.p-mainView__tagText {
	color: #fff;
	font-size: 1.6875rem;
	font-weight: 600;
}

.p-mainView__features {
	display: flex;
	gap: 0.5625rem;
	margin-top: 2.375rem;
}

.p-mainView__feature {
	background-image: url("../img/common/tag-bg.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 11.125rem;
	position: relative;
	width: 13.0625rem;
}

.p-mainView__featureInner {
	left: 50%;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.p-mainView__featureLabel {
	color: #fff;
	display: inline-block;
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 0.5rem;
	position: relative;
}

.p-mainView__featureLabel::after {
	background-color: #E25F38;
	content: "";
	filter: blur(7px);
	height: calc(100% + 0.6875rem);
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% + 0.9375rem);
	z-index: -1;
}

.p-mainView__featureText {
	color: #1C2433;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	margin-top: 0.3125rem;
}

.p-mainView__featureText.p-mainView__featureText--Big {
	font-size: 1.5625rem;
}

.p-mainView__catchphrase {
	position: absolute;
	right: calc(50% - min(50vw, 24.2rem));
	top: 9.1875rem;
}

.p-mainView__catchphraseImage {
	height: auto;
	width: 5.125rem;
}

.p-page-header {
	margin-top: 5.625rem;
	overflow: hidden;
	position: relative;
}

.p-page-header__inner {
	padding-top: 4.0625rem;
}

.p-page-header__bg-decoration {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 0 0 0 50%;
	height: 100%;
	position: absolute;
	right: -6.25rem;
	top: 0;
	width: 50rem;
	z-index: 1;
}

.p-page-header__content {
	border-top-right-radius: 3.125rem;
	padding: 3.4375rem 2.5rem 3rem 0;
	position: relative;
	width: 50%;
	z-index: 3;
}

.p-page-header__content::after {
	background-color: #fff;
	border-top-right-radius: 3.125rem;
	bottom: 0;
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	right: 0;
	width: 50vw;
	z-index: -1;
}

.p-page-header__category {
	align-items: center;
	display: flex;
	margin-top: 0;
}

.p-page-header__category-icon {
	background: linear-gradient(#2889D1, #092840 100%);
	height: 0.5rem;
	margin-right: 0.625rem;
	transform: rotate(45deg);
	width: 0.5rem;
}

.p-page-header__category-text {
	color: #05528B;
	font-family: "Lora", serif;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.03125rem;
}

.p-page-header__title {
	color: #1e4d6b;
	font-family: "Noto Serif JP", serif;
	font-size: 1.875rem;
	font-weight: bold;
	line-height: 1.5;
	margin-top: 0.5rem;
}

.p-page-header__title-prefecture {
	display: inline-block;
}

.p-page-header__title-highlight {
	color: #A28300;
	display: inline-block;
	position: relative;
}

.p-page-header__title-suffix {
	display: inline-block;
}

.p-page-header__title-break {
	display: none;
}

.p-page-header__image {
	bottom: 0;
	bottom: 0.0625rem;
	height: 100%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100vw;
}

.p-page-header__image img {
	-o-object-fit: cover;
	-o-object-position: center;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.p-page-header__content::before {
	background: #d4a017;
	content: "";
	height: 0.375rem;
	left: -3.125rem;
	position: absolute;
	top: 0;
	width: 8.125rem;
}

.p-photo-gallery__inner {
	position: relative;
}

.p-photo-gallery__grid {
	grid-gap: 2.125rem;
	display: grid;
	gap: 2.125rem;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 2rem;
}

.p-photo-gallery__item {
	overflow: hidden;
	position: relative;
}

.p-photo-gallery__image {
	-o-object-fit: cover;
	aspect-ratio: 344/230;
	display: block;
	object-fit: cover;
	width: 100%;
}

.p-photo-gallery__caption {
	background: rgba(255, 255, 255, 0.95);
	border-radius: 0.25rem;
	bottom: 0.625rem;
	color: #666;
	font-size: 0.75rem;
	padding: 0.375rem 0.75rem;
	position: absolute;
	right: 0.625rem;
}

.p-subsidy-section__content {
	margin-top: 2.5rem;
}

.p-subsidy-section__text {
	font-size: 0.875rem;
	line-height: 2;
	margin-top: 1.6875rem;
}

.p-subsidy-section__text:first-child {
	margin-top: 0;
}

.p-subsidy-section--gray {
	background: #f8f8f8;
}

.p-subsidy-section__items {
	margin-top: 3rem;
}

.p-subsidy-section__item {
	margin-top: 3.5rem;
}

.p-subsidy-section__item:first-of-type {
	margin-top: 0;
}

.p-subsidy-item__content {
	margin-top: 1.75rem;
}

.p-subsidy-item__text {
	font-size: 0.875rem;
	line-height: 2;
	margin-top: 0;
}

.p-subsidy-item__example {
	display: flex;
	margin-top: 0.5625rem;
}

.p-subsidy-item__example-label {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.8;
	margin-right: 0.5rem;
	padding-top: 0.0625rem;
}

.p-subsidy-item__example-text {
	font-size: 0.875rem;
	line-height: 1.8;
}

.p-subsidy-item__example-text:first-child {
	margin-top: 0;
}

.p-subsidy-item__example-list {
	margin-top: 0;
}

.p-subsidy-item__label {
	-webkit-text-decoration: none;
	background: #05528B;
	border-radius: 0.3125rem;
	color: #fff;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: bold;
	margin-top: 1.25rem;
	padding: 0.1875rem 1.5rem 0.25rem;
	text-decoration: none;
}

.p-subsidy-item__contact {
	margin-top: 0.875rem;
}

.p-subsidy-item__contact-title {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 2;
	margin-top: 0;
}

.p-subsidy-item__contact-info {
	font-size: 0.875rem;
	line-height: 2;
}

.p-subsidy-item__linkWrapper {
	margin-top: 1.5rem;
}

.p-subsidy-item__link {
	background-color: #05528B;
	border-radius: 0.3125rem;
	color: #fff;
	display: block;
	font-size: 0.9375rem;
	font-weight: 700;
	max-width: 19.6875rem;
	padding: 1.0625rem 1rem 1rem;
	position: relative;
	text-align: center;
	width: 100%;
}

.p-subsidy-item__linkInner {
	position: relative;
	z-index: 1;
}

.p-subsidy-item__link::before {
	background: linear-gradient(to bottom, #074472, #05528B 100%);
	border-radius: 0 0 0.3125rem 0.3125rem;
	bottom: 0;
	content: "";
	display: block;
	height: 50%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100%;
}

.p-subsidy-item__link::after {
	background-image: url("../img/common/link-icon.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 1.125rem;
	position: absolute;
	right: 0.9375rem;
	top: 50%;
	transform: translateY(-50%);
	width: 1.125rem;
}

.p-subsidy-consultation .p-subsidy-item__link::after {
	background-image: url("../img/common/arrow-icon.svg");
	height: 1.0625rem;
	right: 1.125rem;
	transition: right 0.3s ease;
	width: 1.75rem;
}

.p-subsidy-consultation .p-subsidy-item__link:hover::after {
	right: 0.6875rem;
}

.p-subsidy-item__linkText::after {
	background-color: #fff;
	bottom: 0;
	content: "";
	height: 0.0625rem;
	left: 0;
	position: absolute;
	transition: width 0.3s ease;
	width: 0;
}

.p-subsidy-item__link:hover .p-subsidy-item__linkText::after {
	width: 100%;
}

.p-subsidy-item__linkText {
	display: inline-block;
	padding-bottom: 0.1875rem;
	position: relative;
	z-index: 1;
}

.p-subsidy-municipality__text {
	color: #333;
	font-size: 1rem;
	line-height: 1.8;
	margin-top: 0;
}

.p-subsidy-consultation {
	padding-bottom: 7.5rem;
}

.p-subsidy-consultation__inner {
	margin: 0 auto;
	max-width: 75rem;
	padding: 0 2.5rem;
}

.p-subsidy-consultation__content {
	align-items: flex-start;
	display: flex;
	gap: 3.75rem;
	margin-top: 3rem;
}

.p-subsidy-consultation__text-wrapper {
	flex: 1;
}

.p-subsidy-consultation__text {
	font-size: 0.875rem;
	line-height: 2;
	margin-top: 1.5625rem;
}

.p-subsidy-consultation__text:first-child {
	margin-top: 0;
}

.p-subsidy-consultation__image {
	flex: 0 0 25rem;
}

.p-subsidy-consultation__image img {
	aspect-ratio: 400/240;
	height: auto;
	width: 100%;
}

.p-subsidy-consultation__button {
	-webkit-text-decoration: none;
	align-items: center;
	background: #05528B;
	border-radius: 0.25rem;
	color: #fff;
	display: inline-flex;
	font-size: 1.125rem;
	font-weight: bold;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.125rem;
	padding: 1.125rem 2.5rem;
	text-decoration: none;
	transition: opacity 0.3s ease, transform 0.3s ease;
	width: 18.75rem;
}

.p-subsidy-consultation__button:hover {
	opacity: 0.8;
	transform: translateY(-0.125rem);
}

.p-subsidy-consultation__button-arrow {
	border-right: 0.125rem solid #fff;
	border-top: 0.125rem solid #fff;
	display: inline-block;
	height: 0.625rem;
	margin-left: 0.75rem;
	transform: rotate(45deg);
	width: 0.625rem;
}

.p-subsidy {
	background-color: #F4F1ED;
	padding: 7.1875rem 0 5.1875rem;
	position: relative;
}

.p-subsidy__container {
	background-color: #fff;
	border: 0.3125rem solid #A28300;
	position: relative;
	position: relative;
}

.p-subsidy__badge {
	-webkit-clip-path: polygon(2% 0%, 98% 0%, 100% 50%, 98% 100%, 2% 100%, 0% 50%);
	background-color: #A28300;
	clip-path: polygon(2% 0%, 98% 0%, 100% 50%, 98% 100%, 2% 100%, 0% 50%);
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 1.75rem;
	font-weight: 600;
	left: 50%;
	max-width: 31.25rem;
	padding: 0.375rem 2.5rem;
	position: absolute;
	text-align: center;
	top: -2.0625rem;
	transform: translateX(-50%);
	width: 100%;
	z-index: 2;
}

.p-subsidy__badgeBig {
	font-size: 2.5rem;
	line-height: 1;
}

.p-subsidy__content {
	align-items: center;
	display: flex;
}

.p-subsidy__left {
	flex: 0 0 29.5rem;
	position: relative;
}

.p-subsidy__label {
	left: 0;
	position: absolute;
	top: 3.4375rem;
	z-index: 2;
}

.p-subsidy__labelText {
	background-image: url(../img/common/ribbon-bg.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	color: #fff;
	display: inline-block;
	font-family: "Noto Serif JP", serif;
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.1875rem 3.5625rem 0.625rem 1.875rem;
	position: relative;
}

.p-subsidy__labelTextBig {
	font-size: 3.3125rem;
	line-height: 1;
}

.p-subsidy__labelTextSmall {
	font-size: 1.75rem;
}

.p-subsidy__image {
	overflow: hidden;
	width: 100%;
}

.p-subsidy__img {
	-o-object-fit: cover;
	aspect-ratio: 472/436;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.p-subsidy__flyerImageWrap {
	bottom: 2.0625rem;
	height: auto;
	left: 24.6875rem;
	position: absolute;
	width: 12.0625rem;
}

.p-subsidy__flyerImage {
	filter: drop-shadow(0.3125rem 0.3125rem 0.625rem rgba(0, 0, 0, 0.2));
	height: auto;
	width: 100%;
}

.p-subsidy__right {
	flex: 0 0 39.25rem;
	padding: 4.0625rem 5rem 3.875rem 6.125rem;
}

.p-subsidy__info {
	max-width: 31.25rem;
}

.p-subsidy__subtitle {
	align-items: center;
	display: flex;
	font-family: "Noto Serif JP", serif;
	font-size: 1.375rem;
	font-weight: 600;
	justify-content: center;
	margin: 0;
}

.p-subsidy__subtitle::before {
	background-color: #000;
	content: "";
	display: inline-block;
	height: 0.0625rem;
	margin-right: 0.625rem;
	width: 4rem;
}

.p-subsidy__subtitle::after {
	background-color: #000;
	content: "";
	display: inline-block;
	height: 0.0625rem;
	margin-left: 0.625rem;
	width: 4rem;
}

.p-subsidy__title {
	-webkit-text-decoration: underline;
	font-family: "Noto Serif JP", serif;
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 0.75rem;
	text-decoration: underline;
	text-decoration-color: #FFF0D0;
	text-decoration-thickness: 0.625rem;
	text-underline-offset: -0.25rem;
}

.p-subsidy__text {
	font-size: 0.9375rem;
	line-height: 1.9;
	margin-top: 2.125rem;
	padding-left: 0.3125rem;
	padding-right: 0.75rem;
}

.p-subsidy__dot {
	background-image: radial-gradient(circle at center, #05528B 20%, transparent 20%); /* 点の色とサイズ調整 */
	background-position: top right;
	background-repeat: repeat-x;
	background-size: 1em 0.25rem;
	padding-top: 0.1875rem;
}

.p-subsidy__highlight {
	color: #05528B;
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.425;
}

.p-subsidy__break--sp {
	display: none;
}

.p-subsidy__button {
	-webkit-text-decoration: none;
	align-items: center;
	background-color: #00965D;
	border: 0.125rem solid #07744A;
	border-radius: 0.3125rem;
	color: #fff;
	display: flex;
	font-size: 1rem;
	font-weight: 600;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.5rem;
	max-width: 21.375rem;
	padding: 1.125rem 2.1875rem;
	text-decoration: none;
	transition: all 0.3s ease;
	width: 100%;
}

.p-subsidy__button:hover {
	background-color: #F4FFFB;
	border: 0.125rem solid #07744A;
	color: #07744A;
}

.p-subsidy__button:hover .p-subsidy__buttonIcon {
	background: #07744A;
}

.p-subsidy__buttonIcon {
	-webkit-mask-image: url("../img/common/download-icon.svg");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	background-color: #fff;
	display: block;
	height: 1.125rem;
	margin-right: 0.5rem;
	mask-image: url("../img/common/download-icon.svg");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 1.125rem;
}

.p-subsidy__buttonText {
	display: inline-block;
}

.p-table__body {
	background: #fff;
	border-collapse: collapse;
	width: 100%;
}

.p-table__row {
	border-bottom: 0.0625rem solid #707070;
}

.p-table__row:first-child {
	border-top: 0.0625rem solid #707070;
}

.p-table__header {
	background: #F5F5F5;
	color: #000;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.4;
	padding: 1.5rem 1.25rem;
	text-align: left;
	vertical-align: middle;
	width: 30%;
}

.p-table__data {
	font-size: 0.875rem;
	letter-spacing: 0.03em;
	line-height: 1.4;
	padding: 1.5rem 1.25rem;
	vertical-align: middle;
}

@media (min-width: 768px) {

a[href^="tel:"] {
	pointer-events: none;
}

}

@media (max-width: 1100px) {

html {
	font-size: 1.4545454545vw;
}

}

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

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

html {
	font-size: 16px;
}

.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 37.5rem;
	padding-left: 20px;
	padding-right: 20px;
}

.l-section-02 {
	margin-top: 2.5rem;
}

.l-section-03 {
	margin-top: 3.5rem;
}

.l-section {
	margin-top: 2.75rem;
}

.p-association {
	padding: 3.75rem 0 4.125rem;
}

.p-association__inner {
	padding: 0 1.25rem;
}

.p-association__title {
	font-size: 1.5rem;
	margin-bottom: 2.5rem;
}

.p-association__title::after {
	bottom: -0.625rem;
	height: 0.125rem;
	width: 3.75rem;
}

.p-association__wrapper {
	border-radius: 0.5rem;
	margin-top: 1.3125rem;
	padding: 0 1.25rem;
	padding-bottom: 0.6875rem;
}

.p-association__wrapper::before {
	height: 100%;
	margin-right: 0;
	top: 2.5rem;
	width: 100%;
}

.p-association__content {
	flex-direction: column;
	gap: 1.4375rem;
}

.p-association__about {
	width: 100%;
}

.p-association__heading {
	font-size: 3.75rem;
	margin-left: -0.3125rem;
}

.p-association__specialistContent {
	margin-top: 0.75rem;
}

.p-association-textWrap__label {
	font-size: 0.875rem;
}

.p-association-textWrap__label::before {
	right: -2.9375rem;
	width: 2.5rem;
}

.p-association-textWrap__text {
	font-size: 1.25rem;
	line-height: 1.4;
	margin-top: 0.25rem;
}

.p-association-textWrap__description {
	margin-top: 1.625rem;
}

.p-association-textWrap__descriptionText {
	font-size: 0.875rem;
	line-height: 2;
}

.p-association__map {
	flex: 1;
	margin-right: 0;
	padding-top: 0;
	width: 100%;
}

.p-association__trust {
	flex-direction: column-reverse;
	gap: 1.875rem;
	margin-top: 2.6875rem;
}

.p-association__trustImage {
	flex: 1;
	max-width: 34.5rem;
	width: 100%;
}

.p-association__trustImage::before {
	display: none;
}

.p-association__trustImg {
	-o-object-fit: cover;
	aspect-ratio: 290/328;
	object-fit: cover;
}

.p-association__trustContent {
	flex: 0;
	padding-top: 0;
	width: 100%;
}

.p-association__trustLabel {
	font-size: 0.875rem;
	margin-bottom: 0.75rem;
	padding-bottom: 0.375rem;
}

.p-association__trustTitle {
	font-size: 1.25rem;
	line-height: 1.4;
	margin-bottom: 1.25rem;
}

.p-association__trustDescription {
	font-size: 0.875rem;
	line-height: 1.7;
	margin-top: 0.9375rem;
}

.p-association__seminar {
	margin-top: 3.625rem;
	max-width: 20.9375rem;
}

.p-association__seminarImg {
	aspect-ratio: 335/584;
}

.p-association__seminarButton {
	margin-top: 2.5rem;
}

.p-association__seminarButtonLabel {
	font-size: 0.9375rem;
}

.p-association__seminarButtonLink {
	max-width: 18.125rem;
}

.p-backToTop {
	bottom: 1.875rem;
	gap: 0.125rem;
	height: 3.125rem;
	right: 1.25rem;
	width: 3.125rem;
}

.p-backToTop__icon {
	border-right-width: 0.125rem;
	border-top-width: 0.125rem;
	height: 0.625rem;
	margin-bottom: -0.1875rem;
	width: 0.625rem;
}

.p-backToTop__text {
	font-size: 0.5625rem;
}

.p-breadcrumb__separator {
	font-size: 0.75rem;
	margin: 0 0.375rem;
}

.p-breadcrumb__link {
	font-size: 0.75rem;
}

.p-breadcrumb__current {
	font-size: 0.75rem;
}

.p-building-spec__tags {
	margin-top: 1.5rem;
}

.p-building-spec__table {
	margin-top: 1rem;
}

.p-card__cardImage img {
	aspect-ratio: 280/178;
}

.p-card__cardContent {
	margin-top: 0.75rem;
}

.p-card__cardTitle {
	font-size: 1.625rem;
}

.p-card__cardText {
	font-size: 0.875rem;
	margin-top: 0.5625rem;
}

.p-card__cardBadge {
	margin-top: 0.4375rem;
}

.p-card__badge {
	font-size: 0.6875rem;
	padding: 0.25rem 0.625rem;
}

.p-card__cardButton {
	padding-right: 0;
}

.p-common-text-wrap__content {
	margin-top: 1.5rem;
}

.p-company-achievement__table {
	margin-top: 1.5rem;
}

.p-company-achievement__buttons {
	margin-top: 2.75rem;
}

.p-company-info {
	padding-bottom: 4.5rem;
}

.p-company-info__table {
	margin-top: 1.5rem;
}

.p-company-info__badge {
	font-size: 0.6875rem;
	line-height: 1.7;
	padding: 0.25rem 0.5rem;
}

.p-company-info__buttons {
	gap: 1.25rem;
	grid-template-columns: 1fr;
	margin-top: 2.75rem;
}

.p-company-info__button {
	font-size: 0.9375rem;
	padding: 1.3125rem 1.5625rem;
}

.p-company-info__button-arrow {
	height: 1.0625rem;
	right: 0.8125rem;
	width: 1.75rem;
}

.p-concerns {
	background: radial-gradient(circle at center, #2672AA 0%, #05528B 100%);
}

.p-concerns::before {
	display: none;
}

.p-concerns::after {
	display: none;
}

.p-concerns__inner {
	padding-top: 3.75rem;
}

.p-concerns__title {
	font-size: 1.875rem;
	line-height: 1.4;
}

.p-concerns__lead {
	font-size: 1rem;
	line-height: 1.9125;
	margin-top: 0.875rem;
}

.p-concerns__items {
	align-items: center;
	flex-direction: column;
	gap: 2.25rem;
	margin-top: 2.625rem;
}

.p-concerns__item {
	gap: 0.75rem;
	width: 100%;
}

.p-concerns__item:nth-child(4),
.p-concerns__item:nth-child(5) {
	width: 100%;
}

.p-concerns__itemPerson {
	height: 7.375rem;
	left: 1rem;
	width: 2.875rem;
}

.p-concerns__item:nth-child(2) .p-concerns__itemPerson {
	left: 0.75rem;
	width: 3.25rem;
}

.p-concerns__item:nth-child(3) .p-concerns__itemPerson {
	left: 0;
	width: 4.75rem;
}

.p-concerns__item:nth-child(4) .p-concerns__itemPerson {
	left: 0.5625rem;
	width: 4rem;
}

.p-concerns__item:nth-child(5) .p-concerns__itemPerson {
	left: 0;
	width: 3.9375rem;
}

.p-concerns__itemBalloon {
	border-radius: 0.5rem;
	padding: 1.0625rem 2.25rem 1.3125rem;
	padding-left: 3.875rem;
}

.p-concerns__itemBalloon::after {
	font-size: 1.125rem;
	height: 4.25rem;
	right: 0.25rem;
	top: -0.8125rem;
	width: 2.625rem;
}

.p-concerns__itemTitle {
	font-size: 1.0625rem;
	line-height: 1.8;
}

.p-concerns__bottom {
	margin-top: 2.125rem;
}

.p-concerns__solutionText {
	font-size: 1.25rem;
	line-height: 1.4;
}

.p-concerns__solutionTitle {
	font-size: 2.1875rem;
	letter-spacing: 0.125rem;
	margin-top: 1.1875rem;
	text-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.2);
}

.p-concerns__solutionDesc {
	font-size: 1.0625rem;
	line-height: 2;
	margin-top: 1.5625rem;
	text-align: left;
}

.p-concerns__gallery {
	gap: 0.25rem;
	margin: 0 calc(50% - 50vw);
	margin-top: -1.125rem;
}

.p-concerns__galleryItem:nth-child(2),
.p-concerns__galleryItem:nth-child(3) {
	margin-bottom: 1.25rem;
}

.p-construction-detail {
	padding: 3.125rem 0 0;
}

.c-heading-02 {
	font-size: 1.5rem;
	line-height: 1.4;
	padding: 0.8125rem 1rem;
}

.c-heading-02::before {
	height: 0.9375rem;
	width: 0.375rem;
}

.c-heading-02::after {
	width: 0.375rem;
}

.c-heading-04 {
	font-size: 1.375rem;
	padding-left: 1.375rem;
}

.c-heading-04::before {
	top: 0.625rem;
}

.c-heading-04::after {
	height: 0.75rem;
	top: 0.625rem;
	width: 0.75rem;
}

.p-construction-detail__title {
	font-size: 1.5rem;
	line-height: 1.4;
	margin-top: 2rem;
}

.p-construction-detail__content {
	margin-top: 2rem;
}

.p-construction-detail__content {
	margin-top: 2rem;
}

.p-construction-detail__main-slider {
	padding-left: 1.4375rem;
	padding-right: 1.4375rem;
}

.p-construction-detail__main-image {
	aspect-ratio: 29/18;
}

.p-construction-detail__nav-button {
	height: 1.1875rem;
	width: 0.6875rem;
}

.p-construction-detail__nav-button--prev {
	left: 0;
	top: calc(50% + 1.625rem);
	transform: translateY(-50%);
}

.p-construction-detail__nav-button--next {
	right: 0;
	top: calc(50% + 1.625rem);
	transform: translateY(-50%);
}

.p-construction-detail__nav-arrow {
	height: 0.625rem;
	width: 0.625rem;
}

.p-construction-detail__thumb-slider {
	margin-top: 0.9375rem;
}

.p-construction-detail__thumb-image {
	aspect-ratio: 62/62;
}

.p-construction-detail__dummy-text {
	bottom: 0.9375rem;
	font-size: 0.75rem;
	padding: 0.375rem 0.75rem;
	right: 0.9375rem;
}

.p-construction {
	padding: 2.5rem 0 4.5rem;
}

.p-construction__items {
	gap: 2rem;
	grid-template-columns: 1fr;
}

.p-constructionSupport {
	background-image: url("../img/common/constructionSupport-bg-sp.png");
	padding: 2.8125rem 0;
}

.p-constructionSupport__inner {
	padding: 0 1rem;
}

.p-constructionSupport__messageText {
	font-size: 1.0625rem;
	line-height: 1.5;
}

.p-constructionSupport__messageTextSmall {
	font-size: 0.8125rem;
}

.p-constructionSupport__laurel {
	height: 6.375rem;
	top: 52%;
	width: 2.875rem;
}

.p-constructionSupport__laurel--left {
	left: -2.375rem;
}

.p-constructionSupport__laurel--right {
	right: -2.375rem;
}

.p-constructionSupport__cards {
	align-items: center;
	gap: 1rem;
	margin-top: 1.75rem;
}

.p-constructionSupport__card {
	gap: 2.25rem;
	max-width: 21.25rem;
	padding: 1.3125rem 0.625rem 1.4375rem;
	width: 100%;
}

.p-constructionSupport__cardStars {
	width: 1.875rem;
}

.p-constructionSupport__cardTitle {
	font-size: 1rem;
	margin-top: 0.5rem;
}

.p-constructionSupport__labelWrap::before {
	height: 3.5625rem;
	right: -1.1875rem;
}

.p-constructionSupport__cardNumber {
	box-shadow: inset 0 -0.3125rem 0 #BFB487;
	font-size: 1.125rem;
	margin-top: 0.25rem;
}

.p-constructionSupport__cardNumberLarge {
	font-size: 1.6875rem;
}

.p-constructionSupport__cardBullet {
	font-size: 1.1875rem;
}

.p-constructionSupport__cta {
	flex-direction: column;
	gap: 3.375rem;
	margin-top: 2.3125rem;
	max-width: 31.25rem;
}

.p-constructionSupport__ctaLabel {
	font-size: 0.9375rem;
	max-width: 20.0625rem;
	padding: 0.375rem 1rem;
	text-align: center;
	top: -0.4375rem;
	white-space: normal;
}

.p-constructionSupport__ctaLabel--orange {
	top: -1.875rem;
}

.p-constructionSupport__ctaButton {
	font-size: 1.25rem;
	padding: 2.875rem 1.25rem 2.125rem;
}

.p-constructionSupport__ctaArrow {
	height: 1.25rem;
	margin-left: 0.75rem;
	width: 1.25rem;
}

.p-contact {
	padding: 2.5625rem 0 4.375rem;
}

.p-contact__title {
	font-size: 1.5rem;
}

.p-contact__form {
	border-radius: 0.25rem;
	margin: 2rem auto 0;
	padding: 0 0.625rem;
}

.p-form__group {
	display: block;
	margin-top: 1.25rem;
}

.p-form__label {
	padding-top: 0;
	width: 100%;
}

.p-form__required {
	font-size: 0.6875rem;
	padding: 0.125rem 0.375rem;
}

.p-form__input {
	margin-top: 0.75rem;
	padding: 0.75rem 1rem;
	width: 100%;
}

.p-form__textarea {
	margin-top: 0.6875rem;
	padding: 0.75rem 1rem;
	width: 100%;
}

.p-form__privacy {
	margin-left: -0.625rem;
	margin-right: -0.625rem;
	margin-top: 2.1875rem;
}

.p-form__privacy-box {
	height: 15.625rem;
}

.p-form__privacy-title {
	margin-bottom: 1.6875rem;
}

.p-form__checkbox {
	margin-top: 0.9375rem;
}

.p-form__checkbox-label::before {
	height: 1.125rem;
	width: 1.125rem;
}

.p-form__checkbox-label::after {
	height: 0.5rem;
	left: 0.375rem;
	width: 0.3125rem;
}

.p-form__buttons {
	flex-direction: column-reverse;
	gap: 1.5rem;
	margin-top: 2.5rem;
}

.p-form__button {
	font-size: 0.9375rem;
	min-width: auto;
	padding: 0.875rem 1.5625rem;
	width: 100%;
}

.p-form__button--submit {
	font-size: 0.875rem;
	min-width: 15rem;
	padding: 1rem 2rem;
}

.p-cta-buttons {
	flex-wrap: wrap;
	gap: 1rem 0.9375rem;
	justify-content: flex-start;
}

.p-cta-buttons__item {
	max-width: 100%;
	padding: 1.125rem 0.9375rem;
	width: calc(50% - 0.5rem);
}

.p-cta-buttons__icon {
	height: 1.25rem;
	left: 0.4375rem;
	width: 1.25rem;
}

.p-cta-buttons__text {
	font-size: 0.875rem;
}

.p-cta-buttons__arrow {
	height: 0.6875rem;
	right: 0.5625rem;
	width: 1.125rem;
}

.p-cta {
	background-image: url("../img/common/cta-bg-sp.jpg");
	margin-top: 0;
	padding: 2.5rem 0 4rem;
}

.p-cta__block--subsidy {
	flex-direction: column;
}

.p-cta__block--subsidy::before {
	font-size: 3.5625rem;
	left: 2.625rem;
	letter-spacing: 0.03em;
	top: -2rem;
}

.p-cta__content {
	padding: 0;
	width: 100%;
}

.p-cta__heading {
	gap: 0.3125rem;
	margin-bottom: 0.625rem;
}

.p-cta__headingText {
	font-size: 1.25rem;
}

.p-cta__title {
	font-size: 1.5rem;
	line-height: 1.8;
	margin-left: -0.0625rem;
	margin-right: -0.0625rem;
	text-align: center;
}

.p-cta__description {
	margin-top: 2.5rem;
}

.p-cta__link {
	font-size: 1rem;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.p-cta__linkArrow {
	height: 1.125rem;
	width: 1.125rem;
}

.p-cta__contact {
	margin-top: 2.625rem;
	padding: 1.8125rem 2.8125rem 3.125rem;
	padding-right: calc(50vw - 50%);
	width: calc(100% + 1.25rem);
}

.p-cta__contactLabel {
	font-size: 1rem;
	left: 0.4375rem;
	margin-bottom: 1.25rem;
	padding: 0;
}

.p-cta__contactLabel::after {
	height: 3rem;
	top: 5.375rem;
}

.p-cta__contactContent {
	padding: 0;
}

.p-cta__contactText {
	font-size: 1.125rem;
	line-height: 1.4;
	text-align: center;
}

.p-cta__contactHighlight {
	font-size: 1.125rem;
}

.p-cta__button {
	border-radius: 0.375rem;
	font-size: 1.125rem;
	gap: 0.75rem;
	justify-content: space-between;
	margin-top: 1.875rem;
	padding: 1.625rem 1.25rem;
	padding-right: 0.75rem;
}

.p-cta__buttonArrow {
	height: 0.875rem;
	right: 0;
	width: 1.4375rem;
}

.p-drawer {
	top: 3.75rem;
}

.p-drawer__content {
	border-bottom-left-radius: 3.75rem;
	max-width: 23.4375rem;
	width: 100%;
}

.p-drawer__body {
	padding: 3.0625rem 1.25rem 4.875rem;
}

.p-drawer__item {
	margin-top: 2rem;
}

.p-drawer__link {
	font-size: 1rem;
}

.p-drawer__linkIcon {
	height: 1rem;
	margin-left: 0.375rem;
	width: 1rem;
}

.p-energyHouse {
	padding: 4.5625rem 0;
}

.p-energyHouse__slider {
	margin-left: -1rem;
	margin-top: 5.625rem;
	padding-left: 1.25rem;
}

.energyHouseSwiper {
	overflow: hidden;
}

.energyHouseSwiper .swiper-slide {
	width: calc((100% - 3rem) / 1.02);
}

.p-energyHouse__navigation {
	right: 1.25rem;
	top: 6.5rem;
}

.p-energyHouse__footer {
	margin-top: 2.5rem;
}

.p-energyHouse__viewAllButton {
	font-size: 0.875rem;
	min-width: 15rem;
	padding: 1rem 2rem;
}

.p-energySaving {
	padding: 0.6875rem 0 4.875rem;
}

.p-energySaving::after {
	background-image: url(../img/common/energy-bg-sp.png);
	height: 81.06vw;
	width: 213.33vw;
}

.p-energySaving::before {
	background-image: url(../img/common/energy-triangle-sp.png);
	height: 25.333vw;
	top: -14.5vw;
	width: 213.33vw;
}

.p-title-wrap::after {
	bottom: -0.625rem;
	height: 0.1875rem;
	width: 7.5rem;
}

.p-title-wrap__title {
	font-size: 1.125rem;
	line-height: 1.3;
}

.p-title-wrap__title--association {
	font-size: 1.625rem;
	margin: 0 -0.125rem;
}

.p-title-wrap__titleBig {
	font-size: 1.4375rem;
	margin-left: 0;
	margin-top: 0.5rem;
}

.p-energySaving__content {
	margin-top: 2.5rem;
	padding: 3.1875rem 1.25rem 2.3125rem;
}

.p-energySaving__content::before {
	height: 0.5rem;
	left: 1.125rem;
	width: 6.25rem;
}

.p-energySaving__point + .p-energySaving__point {
	margin-top: 2.25rem;
}

.p-energySaving__pointBody {
	margin-top: 0.875rem;
}

.p-energySaving__pointNumber {
	font-size: 0.75rem;
	margin-right: 1.125rem;
}

.p-energySaving__pointNumberBig {
	font-size: 0.9375rem;
}

.p-energySaving__pointNumber::after {
	height: 2.5rem;
	margin: 0 0.625rem;
}

.p-energySaving__pointTitle {
	font-size: 0.9375rem;
	line-height: 1.3066666667;
}

.p-energySaving__pointHeadline {
	font-size: 1.25rem;
	line-height: 1.4;
}

.p-energySaving__pointContent {
	flex-direction: column-reverse;
	gap: 1.5625rem;
	margin-top: 2.4375rem;
}

.p-energySaving__point:nth-child(even) .p-energySaving__pointContent {
	flex-direction: column;
}

.p-energySaving__pointTextWrap {
	width: 100%;
}

.p-energySaving__pointText {
	margin-top: 0.875rem;
}

.p-energySaving__point:nth-child(even) .p-energySaving__pointContent {
	flex-direction: column-reverse;
}

.p-energySaving__pointImage {
	width: 100%;
}

.p-energySaving__footer {
	margin-top: 2.25rem;
}

.p-energySaving__footerText {
	text-align: left;
}

.p-energySaving__footerText::after {
	background-image: url(../img/common/energy-underline-sp.png);
	height: 4vw;
	margin-top: 1rem;
}

.p-energySaving__benefits {
	margin-top: 0.75rem;
}

.p-energySaving__benefitsTitle {
	font-size: 1rem;
	line-height: 1.925;
}

.p-energySaving__benefitsBigFirst {
	font-size: 1.375rem;
	line-height: 1.4;
}

.p-energySaving__benefitsBigSecond {
	font-size: 1.375rem;
	line-height: 1.4;
}

.p-energySaving__button {
	gap: 0.9375rem;
	margin-top: 2.0625rem;
	padding: 1.25rem 0.9375rem;
	position: relative;
}

.p-energySaving__button:hover {
	box-shadow: none;
	transform: none;
}

.p-energySaving__buttonIcon {
	height: 2.625rem;
	left: calc(50% - min(34vw, 7.7rem));
	position: absolute;
	top: 0.9375rem;
	width: 2.6875rem;
}

.p-energySaving__buttonText {
	display: inline-block;
	font-size: 0.875rem;
	line-height: 1.4;
	text-align: center;
	width: 100%;
}

.p-energySaving__buttonTextBig {
	display: block;
	font-size: 1.25rem;
	line-height: 1.4;
	margin-top: 0.625rem;
	text-align: center;
}

.p-energySaving__pointIcon {
	height: 2rem;
	margin-left: 0.75rem;
	right: 0.5rem;
	width: 2rem;
}

.p-energySaving__pointIconArrow {
	height: 0.5rem;
	transform: translateY(30%);
	width: 1rem;
}

.p-energySaving__button.is-open .p-energySaving__pointIconArrow {
	transform: translateY(10%) rotate(-180deg);
}

.p-energySaving__accordionInner {
	padding: 1.1875rem 0.9375rem 2.75rem;
}

.p-energySaving__accordionItem {
	padding: 1.125rem 0.75rem;
}

.p-energySaving__accordionTitle {
	align-items: flex-start;
	font-size: 1.0625rem;
	gap: 0.5rem;
}

.p-energySaving__accordionBullet {
	height: 0.375rem;
	margin-top: 0.625rem;
	width: 0.375rem;
}

.p-energySaving__accordionText {
	font-size: 0.875rem;
	line-height: 1.7;
}

.p-footer {
	padding: 3.125rem 0 1.5625rem;
}

.p-footer__inner {
	padding: 0 1.25rem;
}

.p-footer__content {
	margin-bottom: 2.625rem;
}

.p-footer__label {
	font-size: 1.125rem;
}

.p-footer__subtitle {
	font-size: 0.9375rem;
}

.p-footer__title {
	font-size: 1.5rem;
	margin-top: 0;
}

.p-footer__organization {
	margin-top: 0.9375rem;
}

.p-footer__organizationName {
	font-size: 0.9375rem;
}

.p-footer__address {
	font-size: 0.9375rem;
	margin-top: 0.125rem;
}

.p-footer__tel {
	font-size: 0.9375rem;
	margin-top: 0.1875rem;
}

.p-footer__telText {
	font-size: 0.8125rem;
}

.p-footer__copyright {
	padding-top: 1.0625rem;
}

.p-footer__copyrightText {
	font-size: 0.8125rem;
}

.p-header {
	box-shadow: 0 0.0625rem 0.3125rem rgba(0, 0, 0, 0.05);
	height: 3.75rem;
}

.p-header__inner {
	padding-left: 0.9375rem;
	padding-right: 0;
}

.p-header__content {
	padding-top: 0.625rem;
}

.p-header__tagline {
	gap: 0.375rem;
}

.p-header__taglineText {
	font-size: 0.625rem;
}

.p-header__titleWrapper {
	gap: 0;
}

.p-header__title {
	display: flex;
}

.p-header__titleLink {
	font-size: 1.28125rem;
	line-height: 1.2;
	margin-top: 0.3125rem;
}

.p-header__titleLink:hover {
	opacity: 1;
}

.p-header__divider--pc {
	display: none;
}

.p-header__divider--sp {
	display: block;
	height: 0.75rem;
}

.p-header__business {
	font-size: 0.6875rem;
	line-height: 1;
}

.p-header__business--pc {
	display: none;
}

.p-header__business--sp {
	display: inline-block;
}

.p-header__actions {
	display: none;
}

.p-header__menuButton {
	gap: 0.0625rem;
	height: 3.75rem;
	padding-top: 0.75rem;
	width: 3.75rem;
}

.p-header__menuButton:hover {
	background-color: #073455;
}

.p-header__menuButtonInner {
	gap: 0.5625rem;
	height: 1.25rem;
	width: 2.0625rem;
}

.p-header__menuButtonBar {
	height: 0.125rem;
}

.p-header__menuButton.is-active .p-header__menuButtonBar:nth-child(1) {
	transform: translateY(0.75rem) rotate(45deg);
}

.p-header__menuButton.is-active .p-header__menuButtonBar:nth-child(3) {
	transform: translateY(-0.4375rem) rotate(-45deg);
}

.p-header__menuButtonText {
	font-size: 0.75rem;
}

.p-mainView {
	background-image: url("../img/common/mainview-bg-sp.jpg");
	margin-top: 3.75rem;
}

.p-mainView__inner {
	min-height: 35rem;
}

.p-mainView__content {
	left: 1.25rem;
	max-width: calc(100% - 2.5rem);
	right: 1.25rem;
	top: 1.1875rem;
	transform: none;
}

.p-mainView__heading {
	gap: 0.9375rem;
}

.p-mainView__lead {
	font-size: 1.375rem;
	padding-top: 0.4375rem;
}

.p-mainView__lead::after {
	right: -3.125rem;
	top: 43%;
	width: 2.875rem;
}

.p-mainView__balloon {
	margin-left: 2.5rem;
	padding: 0.3125rem 0.5625rem 1rem;
}

.p-mainView__balloonText {
	font-size: 0.8125rem;
	line-height: 1;
}

.p-mainView__title {
	margin-top: 0.3125rem;
}

.p-mainView__titleLine {
	font-size: 2.5rem;
	line-height: 1;
	text-shadow: 0.125rem 0.125rem 0.3125rem rgba(0, 0, 0, 0.3);
}

.p-mainView__titleLine.p-mainView__titleLine--Small {
	font-size: 1.875rem;
}

.p-mainView__titleLine.p-mainView__titleLine--Big {
	font-size: 3.5rem;
	margin-top: 0.1875rem;
}

.p-mainView__tags {
	gap: 0.3125rem;
	margin-top: 0.9375rem;
}

.p-mainView__tag {
	border-width: 0.09375rem;
	font-size: 1rem;
	padding: 0 0.1875rem;
}

.p-mainView__tagAnd {
	font-size: 0.875rem;
}

.p-mainView__tagText {
	font-size: 1rem;
}

.p-mainView__features {
	gap: 0.75rem;
	margin-top: 0.625rem;
}

.p-mainView__feature {
	height: 5.875rem;
	width: 6.875rem;
}

.p-mainView__featureInner {
	top: 46%;
}

.p-mainView__featureLabel {
	font-size: 0.6875rem;
	margin-bottom: 0.3125rem;
}

.p-mainView__featureText {
	font-size: 0.6875rem;
	line-height: 1.3;
	margin-top: 0;
}

.p-mainView__featureText.p-mainView__featureText--Big {
	font-size: 0.875rem;
}

.p-mainView__catchphrase {
	bottom: 2rem;
	left: 50%;
	right: auto;
	top: auto;
	transform: translateX(-50%);
}

.p-mainView__catchphraseImage {
	width: 3.5rem;
}

.p-page-header {
	margin-top: 3.75rem;
}

.p-page-header__inner {
	padding-top: 6.0625rem;
}

.p-page-header__bg-decoration {
	right: -12.5rem;
	width: 37.5rem;
}

.p-page-header__content {
	border-top-right-radius: 2.5rem;
	padding: 1.125rem 1.3125rem 1.0625rem 0;
	width: 85.2667%;
}

.p-page-header__content::after {
	border-top-right-radius: 2.5rem;
	width: 83.333vw;
}

.p-page-header__category {
	margin-top: 0;
}

.p-page-header__category-icon {
	font-size: 0.75rem;
	margin-right: 0.625rem;
}

.p-page-header__category-text {
	font-size: 0.75rem;
}

.p-page-header__title {
	font-size: 1.375rem;
	line-height: 1.4;
	margin-top: 0.5625rem;
}

.p-page-header__title-break {
	display: block;
}

.p-page-header__image img {
	-o-object-position: center;
	aspect-ratio: 375/220;
	object-position: center;
}

.p-page-header__content::before {
	height: 0.1875rem;
	left: 0;
	width: 5rem;
}

.p-photo-gallery__grid {
	gap: 1rem;
	grid-template-columns: 1fr;
	margin-top: 1.875rem;
}

.p-photo-gallery__image {
	aspect-ratio: 16/9;
}

.p-photo-gallery__caption {
	bottom: 0.5rem;
	font-size: 0.6875rem;
	padding: 0.25rem 0.625rem;
	right: 0.5rem;
}

.p-subsidy-section__content {
	margin-top: 2rem;
}

.p-subsidy-section__items {
	margin-top: 2rem;
}

.p-subsidy-section__item {
	margin-top: 3rem;
}

.p-subsidy-item__content {
	margin-top: 1.5rem;
}

.p-subsidy-item__text {
	font-size: 0.875rem;
}

.p-subsidy-item__example {
	margin-top: 1.25rem;
}

.p-subsidy-item__link {
	margin-left: auto;
	margin-right: auto;
}

.p-subsidy-municipality__text {
	font-size: 0.875rem;
}

.p-subsidy-consultation {
	padding-bottom: 4.5rem;
}

.p-subsidy-consultation__inner {
	padding: 0 1.25rem;
}

.p-subsidy-consultation__content {
	flex-direction: column-reverse;
	gap: 1.5rem;
	margin-top: 2rem;
}

.p-subsidy-consultation__text {
	font-size: 0.875rem;
	margin-top: 1.875rem;
}

.p-subsidy-consultation__image {
	flex: 0;
	width: 100%;
}

.p-subsidy-consultation__button {
	font-size: 1rem;
	margin-top: 2.5rem;
	padding: 0.9375rem 1.875rem;
	width: 100%;
}

.p-subsidy-consultation__button-arrow {
	height: 0.5rem;
	margin-left: 0.625rem;
	width: 0.5rem;
}

.p-subsidy {
	padding: 5.125rem 0 4rem;
}

.p-subsidy__badge {
	font-size: 1.0625rem;
	max-width: 16.25rem;
	padding: 0.5rem 1.875rem 0.375rem;
	top: -1.5625rem;
}

.p-subsidy__badgeBig {
	font-size: 1.5625rem;
}

.p-subsidy__content {
	flex-direction: column;
}

.p-subsidy__left {
	flex: 1;
	max-width: 100%;
	width: 100%;
}

.p-subsidy__label {
	bottom: -1.0625rem;
	left: -0.3125rem;
	top: auto;
}

.p-subsidy__labelText {
	font-size: 1.375rem;
	padding: 0.375rem 3.0625rem 0.5rem 1.5rem;
}

.p-subsidy__labelTextBig {
	font-size: 2.25rem;
}

.p-subsidy__labelTextSmall {
	font-size: 1rem;
}

.p-subsidy__img {
	aspect-ratio: 330/180;
}

.p-subsidy__flyerImageWrap {
	display: none;
}

.p-subsidy__right {
	flex: 0;
	padding: 2.1875rem 0.9375rem 2rem;
	text-align: center;
	width: 100%;
}

.p-subsidy__info {
	max-width: 100%;
}

.p-subsidy__subtitle {
	font-size: 1rem;
}

.p-subsidy__subtitle::before {
	width: 3rem;
}

.p-subsidy__subtitle::after {
	width: 3rem;
}

.p-subsidy__title {
	font-size: 1.5625rem;
	margin-top: 0.5rem;
}

.p-subsidy__text {
	font-size: 0.875rem;
	line-height: 2;
	margin-top: 1rem;
	padding-left: 0;
	padding-right: 0;
	text-align: left;
}

.p-subsidy__dot {
	background-image: radial-gradient(circle at center, #05528B 16%, transparent 18%); /* 点の色とサイズ調整 */
	background-size: 1.125rem 0.1875rem;
}

.p-subsidy__highlight {
	font-size: 1.125rem;
	line-height: 1.5555555556;
}

.p-subsidy__break--sp {
	display: inline;
}

.p-subsidy__button {
	border-radius: 0.375rem;
	font-size: 1rem;
	gap: 0.625rem;
	margin-top: 1.25rem;
	padding: 0.9375rem 1.5625rem;
}

.p-subsidy__buttonIcon {
	height: 1.25rem;
	width: 1.25rem;
}

.p-table__header {
	display: block;
	font-size: 0.875rem;
	padding: 1.25rem 0.9375rem;
	width: 100%;
}

.p-table__data {
	display: block;
	font-size: 0.875rem;
	padding: 1.125rem 0.9375rem;
}

}

@media (max-width: 375px) {

html {
	font-size: 4.2666666667vw;
}

}


/*# sourceMappingURL=style.css.map */
