*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
	all: unset;
	display: revert
}

*,
*::before,
*::after {
	box-sizing: border-box
}

ol,
ul {
	list-style: none
}

img {
	max-width: 100%
}

table {
	border-collapse: collapse
}

html {
	font-size: 10px;
	font-family: "Noto Sans JP", sans-serif;
	color: #595757
}

@media screen and (max-width: 767px) {
	html {
		font-size: 3.125vw
	}
}

body {
	margin-top: 74px
}

@media screen and (max-width: 767px) {
	body {
		margin-top: 60px
	}
}

@media screen and (max-width: 767px) {
	body.is-fixed {
		position: fixed
	}
}

img {
	display: block
}

a {
	cursor: pointer
}

@media screen and (min-width: 768px) {
	.pc {
		display: block
	}
}

@media screen and (max-width: 767px) {
	.pc {
		display: none
	}
}

@media screen and (min-width: 768px) {
	.sp {
		display: none
	}
}

@media screen and (max-width: 767px) {
	.sp {
		display: block
	}
}

.l-header {
	position: fixed;
	width: 100%;
	height: 74px;
	background-color: #fff;
	top: 0;
	left: 0;
	z-index: 3
}

@media screen and (max-width: 767px) {
	.l-header {
		height: 60px
	}
}

@media screen and (max-width: 767px) {
	.l-header.is-active {
		transition: background-color ease .6s;
		background-color: #038960
	}
}

.l-header_wrap {
	padding: 0 20px;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	height: 74px;
	align-items: center
}

@media screen and (min-width: 768px) {
	.l-header_wrap {
		max-width: 1040px
	}
}

@media screen and (max-width: 767px) {
	.l-header_wrap {
		height: 60px;
		width: 90%;
		margin: 0 auto;
		padding: 0
	}
}

.l-header_logo {
	max-width: 31rem;
	width: 100%;
	z-index: 100;
	transition: max-width ease .3s
}

@media screen and (min-width: 768px)and (max-width: 1000px) {
	.l-header_logo {
		max-width: 24rem
	}
}

@media screen and (max-width: 767px) {
	.l-header_logo {
		max-width: 20rem
	}
}

.l-header_outer {
	display: flex;
	height: 74px;
	align-items: center
}

@media screen and (max-width: 767px) {
	.l-header_outer {
		overflow-y: scroll;
		display: block;
		width: 100%;
		height: 100%;
		position: fixed;
		top: 60px;
		padding: 7rem 2rem 0;
		left: 100%;
		z-index: 80;
		background: linear-gradient(0deg, #38be72 0%, #34ba71 27.02%, #27ad6c 55.02%, #139965 83.37%, #038960 100%);
		transition: left .6s ease
	}
}

@media screen and (max-width: 767px) {
	.l-header_outer.is-view {
		left: 0
	}
}

.l-header_outerItem {
	height: 74px;
	line-height: 74px
}

@media screen and (max-width: 767px) {
	.l-header_outerItem {
		height: auto;
		line-height: normal;
		opacity: 0;
		-webkit-transform: translateY(18px);
		transform: translateY(18px);
		transition: opacity ease .6s, -webkit-transform ease .6s;
		transition: transform ease .6s, opacity ease .6s;
		transition: transform ease .6s, opacity ease .6s, -webkit-transform ease .6s
	}
}

@media screen and (min-width: 768px) {
	.l-header_outerItem+.l-header_outerItem {
		margin-left: 3rem
	}
}

@media screen and (min-width: 768px)and (max-width: 1000px) {
	.l-header_outerItem+.l-header_outerItem {
		margin-left: 1.5rem
	}
}

@media screen and (max-width: 767px) {
	.l-header_outerItem+.l-header_outerItem {
		border-top: 2px solid #fff;
		padding-top: 2rem;
		margin-top: 2rem
	}
}

@media screen and (max-width: 767px) {
	.l-header_outerItem:last-child {
		margin-bottom: 60px;
		padding-bottom: 60px
	}
}

@media screen and (max-width: 767px) {
	.l-header_outerText {
		display: block;
		color: #fff
	}
}

.l-header_outerText--arrow {
	display: flex;
	align-items: center
}

@media screen and (max-width: 767px) {
	.l-header_outerText--arrow {
		justify-content: space-between
	}
}

@media screen and (min-width: 768px) {
	.l-header_outerArrow {
		display: block;
		width: 10px;
		height: 10px;
		border: 0px;
		margin: 0 0 .5rem .5rem;
		border-top: solid 1.8px currentColor;
		border-right: solid 1.8px currentColor;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg)
	}
}

@media screen and (max-width: 767px) {
	.l-header_outerArrow {
		width: 3rem;
		height: 3rem;
		border-radius: 50%;
		background-color: #fff;
		position: relative;
		transition: background-color ease .3s
	}

	.l-header_outerArrow::before,
	.l-header_outerArrow::after {
		content: "";
		background-color: #38be72;
		display: block;
		position: absolute;
		top: 50%;
		height: 2px;
		width: 1.5rem
	}

	.l-header_outerArrow::before {
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%)
	}

	.l-header_outerArrow::after {
		left: 48%;
		transition: -webkit-transform ease .3s;
		transition: transform ease .3s;
		transition: transform ease .3s, -webkit-transform ease .3s;
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: rotate(90deg) translate(-50%, -50%);
		transform: rotate(90deg) translate(-50%, -50%)
	}
}

.l-header_outerArrow.is-active {
	background-color: #ffffff33;
	border: solid 2px #fff
}

@media screen and (max-width: 767px) {

	.l-header_outerArrow.is-active::before,
	.l-header_outerArrow.is-active::after {
		background-color: #fff
	}

	.l-header_outerArrow.is-active::after {
		transition: -webkit-transform ease .3s;
		transition: transform ease .3s;
		transition: transform ease .3s, -webkit-transform ease .3s;
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: rotate(0deg) translate(-50%, -50%);
		transform: rotate(0deg) translate(-50%, -50%)
	}
}

.l-header_inner {
	display: flex;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	height: 0;
	transition: margin-top ease .3s, height ease .3s, opacity ease .3s, visibility ease .3s
}

@media screen and (max-width: 767px) {
	.l-header_inner.is-active {
		margin-top: 2rem;
		height: 100%;
		opacity: 1;
		visibility: visible;
		transition: margin-top ease .3s, height ease .3s, opacity ease .3s, visibility ease .3s
	}
}

@media screen and (min-width: 768px) {
	.l-header_inner {
		background: linear-gradient(90deg, #38be72 0%, #34ba71 27.02%, #27ad6c 55.02%, #139965 83.37%, #038960 100%);
		position: absolute;
		left: 0;
		top: 74px;
		justify-content: center
	}
}

@media screen and (max-width: 767px) {
	.l-header_inner {
		height: 0;
		display: block
	}
}

@media screen and (min-width: 768px) {
	.l-header_innerItem+.l-header_innerItem {
		margin-left: 5rem
	}
}

@media screen and (max-width: 767px) {
	.l-header_innerItem {
		opacity: 0;
		-webkit-transform: translateY(18px);
		transform: translateY(18px);
		transition: opacity ease .6s, -webkit-transform ease .6s;
		transition: transform ease .6s, opacity ease .6s;
		transition: transform ease .6s, opacity ease .6s, -webkit-transform ease .6s
	}

	.l-header_innerItem+.l-header_innerItem {
		margin-top: 2rem
	}
}

@media screen and (min-width: 768px) {
	.l-header_innerArrow {
		display: block;
		width: 7px;
		height: 7px;
		border: 0px;
		margin: 0 .7rem 0 0;
		border-top: solid 1.5px currentColor;
		border-right: solid 1.5px currentColor;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg)
	}
}

@media screen and (max-width: 767px) {
	.l-header_innerArrow {
		width: 1rem;
		margin-right: 1rem;
		height: 2px;
		background-color: #fff;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%)
	}
}

.l-header_innerText {
	display: flex;
	align-items: center
}

.l-header_text {
	font-size: 1.4rem;
	letter-spacing: .2em;
	transition: font-size ease .3s, color ease .3s
}

@media screen and (min-width: 768px)and (max-width: 1000px) {
	.l-header_text {
		font-size: 1.2rem
	}
}

@media screen and (max-width: 767px) {
	.l-header_text {
		font-size: 1.7rem
	}
}

.l-header_text--white {
	color: #fff
}

.l-header_button {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 100;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: inherit;
	font-size: inherit;
	text-align: left;
	color: inherit;
	cursor: pointer;
	width: 60px;
	height: 60px;
	margin-left: 16px;
	background: linear-gradient(180deg, #038960 0%, #139965 16.63%, #27ad6c 44.98%, #34ba71 72.98%, #38be72 100%);
	transition: background ease .3s;
	border: 0px solid transparent
}

@media screen and (min-width: 768px) {
	.l-header_button {
		display: none
	}
}

.l-header_button.is-active {
	transition: background ease .3s;
	background: #ffffff33;
	border: 2px solid #fff
}

.l-header_buttonLine {
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 20px;
	height: 2px;
	background-color: #fff;
	-webkit-transform-origin: left;
	transform-origin: left
}

.l-header_buttonLine:nth-of-type(1) {
	top: 25px;
	transition: top ease .3s, scale ease .3s, -webkit-transform ease .3s;
	transition: transform ease .3s, top ease .3s, scale ease .3s;
	transition: transform ease .3s, top ease .3s, scale ease .3s, -webkit-transform ease .3s
}

.l-header_buttonLine:nth-of-type(2) {
	top: calc(50% - 1px);
	transition: opacity ease .3s, scale ease .3s
}

.l-header_buttonLine:nth-of-type(3) {
	bottom: 25px;
	transition: bottom ease .3s, scale ease .3s, -webkit-transform ease .3s;
	transition: transform ease .3s, bottom ease .3s, scale ease .3s;
	transition: transform ease .3s, bottom ease .3s, scale ease .3s, -webkit-transform ease .3s
}

.l-header_button.is-active .l-header_buttonLine:nth-of-type(1) {
	top: 27px;
	-webkit-transform: rotate(45deg) translateX(-50%);
	transform: rotate(45deg) translateX(-50%);
	transition: top ease .3s, scale ease .3s, -webkit-transform ease .3s;
	transition: transform ease .3s, top ease .3s, scale ease .3s;
	transition: transform ease .3s, top ease .3s, scale ease .3s, -webkit-transform ease .3s
}

.l-header_button.is-active .l-header_buttonLine:nth-of-type(2) {
	opacity: 0;
	transition: opacity ease .3s, scale ease .3s
}

.l-header_button.is-active .l-header_buttonLine:nth-of-type(3) {
	bottom: 27px;
	-webkit-transform: rotate(-45deg) translateX(-50%);
	transform: rotate(-45deg) translateX(-50%);
	transition: bottom ease .3s, scale ease .3s, -webkit-transform ease .3s;
	transition: transform ease .3s, bottom ease .3s, scale ease .3s;
	transition: transform ease .3s, bottom ease .3s, scale ease .3s, -webkit-transform ease .3s
}

.l-header_outer.is-view .l-header_outerItem {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0)
}

.l-header_outer.is-view .l-header_outerItem:nth-child(1) {
	transition-delay: .3s
}

.l-header_outer.is-view .l-header_outerItem:nth-child(2) {
	transition-delay: .38s
}

.l-header_outer.is-view .l-header_outerItem:nth-child(3) {
	transition-delay: .46s
}

.l-header_outer.is-view .l-header_outerItem:nth-child(4) {
	transition-delay: .54s
}

.l-header_outer.is-view .l-header_outerItem:nth-child(5) {
	transition-delay: .62s
}

.l-header_outer.is-view .l-header_outerItem:nth-child(6) {
	transition-delay: .7s
}

.l-header_inner.is-active .l-header_innerItem {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0)
}

.l-header_inner.is-active .l-header_innerItem:nth-child(1) {
	transition-delay: .3s
}

.l-header_inner.is-active .l-header_innerItem:nth-child(2) {
	transition-delay: .38s
}

.l-header_inner.is-active .l-header_innerItem:nth-child(3) {
	transition-delay: .46s
}

.l-header_inner.is-active .l-header_innerItem:nth-child(4) {
	transition-delay: .54s
}

.l-header_inner.is-active .l-header_innerItem:nth-child(5) {
	transition-delay: .62s
}

@media screen and (min-width: 768px) {
	.l-header_outerItem:hover .l-header_inner {
		height: 100%;
		opacity: 1;
		visibility: visible;
		z-index: 1
	}
}

@media screen and (min-width: 768px) {
	.l-header_outerItem:hover .l-header_outerText {
		color: #38be72
	}
}

@media screen and (min-width: 768px) {
	.l-header_outerItem:hover .l-header_outerArrow {
		border-top: solid 1.8px #38be72;
		border-right: solid 1.8px #38be72
	}
}

.l-footer {
	padding: 5rem 0 7rem;
	background: linear-gradient(180deg, #038960 0%, #139965 16.63%, #27ad6c 44.98%, #34ba71 72.98%, #38be72 100%)
}

.l-footer_logo {
	display: block
}

.l-footer_wrap {
	padding: 0 20px;
	width: 100%;
	margin: 0 auto;
	box-sizing: border-box
}

@media screen and (min-width: 768px) {
	.l-footer_wrap {
		max-width: 840px
	}
}

@media screen and (max-width: 767px) {
	.l-footer_wrap {
		width: 85%;
		margin: 0 auto;
		padding: 0
	}
}

.l-footer_copy {
	margin: 1rem 0 0
}

@media screen and (max-width: 767px) {
	.l-footer_copy {
		margin: 1.5rem 0 0
	}
}

.l-footer_container {
	display: flex
}

@media screen and (max-width: 767px) {
	.l-footer_container {
		display: block
	}
}

.l-footer_bylaw {
	margin: 1rem 0 0;
	display: flex
}

@media screen and (min-width: 768px) {
	.l-footer_bylaw {
		justify-content: center
	}
}

@media screen and (max-width: 767px) {
	.l-footer_bylaw {
		margin: 6rem 0 0
	}
}

.l-footer_text {
	font-size: 1.2rem;
	letter-spacing: .1em;
	color: #fff
}

.l-footer_text--small {
	font-size: 1rem
}

.l-footer_text--inner {
	font-size: 1.1rem;
	font-weight: 300;
	position: relative;
	text-indent: 1em;
	display: block
}

.l-footer_text--inner::before {
	content: "";
	position: absolute;
	width: 5px;
	height: 1px;
	background-color: #fff;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}

@media screen and (min-width: 768px) {
	.l-footer_outer {
		margin-left: 6rem
	}
}

.l-footer_list--inner {
	margin: 1rem 0 0
}

.l-footer_list--horizontal+.l-footer_list--horizontal {
	margin: 0 0 0 1rem
}

@media screen and (max-width: 767px) {
	.l-footer_box+.l-footer_box {
		margin-top: 2.5rem
	}
}

.l-footer_link {
	transition: opacity .3s ease
}

@media screen and (min-width: 768px) {
	.l-footer_link:hover {
		opacity: .75
	}
}

@media screen and (max-width: 767px) {
	.l-footer_line {
		margin-top: 6rem;
		padding-top: 2.5rem;
		border-top: 2px solid #fff
	}
}

.l-footer_top {
	width: 60px;
	height: 60px;
	position: fixed;
	bottom: 5rem;
	right: 5rem;
	z-index: 2;
	opacity: 0;
	transition: opacity .3s ease
}

@media screen and (max-width: 767px) {
	.l-footer_top {
		width: 50px;
		height: 50px;
		bottom: 2rem;
		right: 2rem
	}
}

.l-footer_top.is-view {
	opacity: 1
}

.l-footer_topInner {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	display: block;
	background-color: #fff;
	border: 2px solid #38be72;
	border-radius: 50%;
	position: relative;
	transition: background-color .3s ease, border .3s ease
}

@media screen and (min-width: 768px) {
	.l-footer_topInner:hover {
		background-color: #b2e6c8;
		border: 2px solid #38be72
	}
}

@media screen and (min-width: 768px) {
	.l-footer_topInner:hover::after {
		border-color: #38be72
	}
}

.l-footer_top::after {
	content: "";
	width: 20px;
	height: 20px;
	border-top: 1px solid #38be72;
	border-right: 1px solid #38be72;
	position: absolute;
	top: calc(50% + 5px);
	left: 50%;
	transition: border-color .3s ease;
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg)
}

@media screen and (max-width: 767px) {
	.l-footer_top::after {
		width: 15px;
		height: 15px
	}
}

.l-wrap {
	width: 100%;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box
}

@media screen and (min-width: 768px) {
	.l-wrap {
		max-width: 1040px
	}
}

@media screen and (max-width: 767px) {
	.l-wrap {
		width: 90%;
		margin: 0 auto;
		padding: 0
	}
}

@media screen and (min-width: 768px) {
	.l-wrap--narrow {
		max-width: 940px
	}
}

@media screen and (min-width: 768px) {
	.l-wrap--narrower {
		max-width: 800px
	}
}

@-webkit-keyframes rotation {
	from {
		-webkit-transform: translate3d(0, 0, 0) rotateZ(0);
		transform: translate3d(0, 0, 0) rotateZ(0)
	}

	to {
		-webkit-transform: translate3d(0, 0, 0) rotateZ(360deg);
		transform: translate3d(0, 0, 0) rotateZ(360deg)
	}
}

@keyframes rotation {
	from {
		-webkit-transform: translate3d(0, 0, 0) rotateZ(0);
		transform: translate3d(0, 0, 0) rotateZ(0)
	}

	to {
		-webkit-transform: translate3d(0, 0, 0) rotateZ(360deg);
		transform: translate3d(0, 0, 0) rotateZ(360deg)
	}
}

@-webkit-keyframes move-y {
	from {
		-webkit-transform: translateY(0);
		transform: translateY(0)
	}

	to {
		-webkit-transform: translateY(10rem);
		transform: translateY(10rem)
	}
}

@keyframes move-y {
	from {
		-webkit-transform: translateY(0);
		transform: translateY(0)
	}

	to {
		-webkit-transform: translateY(10rem);
		transform: translateY(10rem)
	}
}

@-webkit-keyframes move-x {
	from {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}

	to {
		-webkit-transform: translateX(10rem);
		transform: translateX(10rem)
	}
}

@keyframes move-x {
	from {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}

	to {
		-webkit-transform: translateX(10rem);
		transform: translateX(10rem)
	}
}

@-webkit-keyframes move-orange {
	from {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}

	to {
		-webkit-transform: translateX(15vw);
		transform: translateX(15vw)
	}
}

@keyframes move-orange {
	from {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}

	to {
		-webkit-transform: translateX(15vw);
		transform: translateX(15vw)
	}
}

@-webkit-keyframes move-blue {
	from {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}

	to {
		-webkit-transform: translateX(-15vw);
		transform: translateX(-15vw)
	}
}

@keyframes move-blue {
	from {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}

	to {
		-webkit-transform: translateX(-15vw);
		transform: translateX(-15vw)
	}
}

@-webkit-keyframes move-blue-sp {
	from {
		-webkit-transform: translateY(0);
		transform: translateY(0)
	}

	to {
		-webkit-transform: translateY(-15vw);
		transform: translateY(-15vw)
	}
}

@keyframes move-blue-sp {
	from {
		-webkit-transform: translateY(0);
		transform: translateY(0)
	}

	to {
		-webkit-transform: translateY(-15vw);
		transform: translateY(-15vw)
	}
}

@-webkit-keyframes move-green {
	from {
		-webkit-transform: translateY(0);
		transform: translateY(0)
	}

	to {
		-webkit-transform: translateY(12rem);
		transform: translateY(12rem)
	}
}

@keyframes move-green {
	from {
		-webkit-transform: translateY(0);
		transform: translateY(0)
	}

	to {
		-webkit-transform: translateY(12rem);
		transform: translateY(12rem)
	}
}

@-webkit-keyframes move-yellowgreen {
	from {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}

	to {
		-webkit-transform: translateX(-9vw);
		transform: translateX(-9vw)
	}
}

@keyframes move-yellowgreen {
	from {
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}

	to {
		-webkit-transform: translateX(-9vw);
		transform: translateX(-9vw)
	}
}

@-webkit-keyframes wobbling-orange {
	from {
		top: -23rem
	}

	to {
		top: -25rem
	}
}

@keyframes wobbling-orange {
	from {
		top: -23rem
	}

	to {
		top: -25rem
	}
}

@-webkit-keyframes wobbling-orange-sp {
	from {
		left: 0
	}

	to {
		left: 1vw
	}
}

@keyframes wobbling-orange-sp {
	from {
		left: 0
	}

	to {
		left: 1vw
	}
}

@-webkit-keyframes wobbling-blue {
	from {
		bottom: -25rem
	}

	to {
		bottom: -27rem
	}
}

@keyframes wobbling-blue {
	from {
		bottom: -25rem
	}

	to {
		bottom: -27rem
	}
}

@-webkit-keyframes wobbling-blue-sp {
	from {
		left: -4vw
	}

	to {
		left: -5vw
	}
}

@keyframes wobbling-blue-sp {
	from {
		left: -4vw
	}

	to {
		left: -5vw
	}
}

@-webkit-keyframes wobbling-green {
	from {
		bottom: 7rem
	}

	to {
		bottom: 8.5rem
	}
}

@keyframes wobbling-green {
	from {
		bottom: 7rem
	}

	to {
		bottom: 8.5rem
	}
}

@-webkit-keyframes wobbling-green-sp {
	from {
		top: -19vw
	}

	to {
		top: -17vw
	}
}

@keyframes wobbling-green-sp {
	from {
		top: -19vw
	}

	to {
		top: -17vw
	}
}

@-webkit-keyframes wobbling-yellowgreen {
	from {
		top: 1rem
	}

	to {
		top: 3rem
	}
}

@keyframes wobbling-yellowgreen {
	from {
		top: 1rem
	}

	to {
		top: 3rem
	}
}

@-webkit-keyframes wobbling-yellowgreen-sp {
	from {
		bottom: 20vw
	}

	to {
		bottom: 18vw
	}
}

@keyframes wobbling-yellowgreen-sp {
	from {
		bottom: 20vw
	}

	to {
		bottom: 18vw
	}
}

@-webkit-keyframes opacity {
	from {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

@keyframes opacity {
	from {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

.c-animation_rotation {
	-webkit-animation: rotation 60s infinite linear;
	animation: rotation 60s infinite linear
}

.c-animation_rotation--fast {
	-webkit-animation-duration: 5s;
	animation-duration: 5s
}

.c-animation_rotation--near {
	-webkit-transform-origin: 48% 52%;
	transform-origin: 48% 52%
}

.c-animation_move {
	display: inline-block
}

.c-animation_move--orange {
	-webkit-animation: opacity 3s ease-in-out 3s forwards, move-orange 12s 6s infinite alternate ease-in-out, wobbling-orange 3s 6s ease-in-out infinite alternate;
	animation: opacity 3s ease-in-out 3s forwards, move-orange 12s 6s infinite alternate ease-in-out, wobbling-orange 3s 6s ease-in-out infinite alternate
}

@media screen and (max-width: 767px) {
	.c-animation_move--orange {
		-webkit-animation: opacity 3s ease-in-out 3s forwards, move-y 6s 4s infinite alternate ease-in-out, wobbling-orange-sp 1.5s 6s ease-in-out infinite alternate;
		animation: opacity 3s ease-in-out 3s forwards, move-y 6s 4s infinite alternate ease-in-out, wobbling-orange-sp 1.5s 6s ease-in-out infinite alternate
	}
}

.c-animation_move--blue {
	-webkit-animation: opacity 3s ease-in-out 1s forwards, move-blue 16s 6s infinite alternate ease-in-out, wobbling-blue 3s 6s ease-in-out infinite alternate;
	animation: opacity 3s ease-in-out 1s forwards, move-blue 16s 6s infinite alternate ease-in-out, wobbling-blue 3s 6s ease-in-out infinite alternate
}

@media screen and (max-width: 767px) {
	.c-animation_move--blue {
		-webkit-animation: opacity 3s ease-in-out 1s forwards, move-blue-sp 6s 5s infinite alternate ease-in-out, wobbling-blue-sp 1.5s 6s ease-in-out infinite alternate;
		animation: opacity 3s ease-in-out 1s forwards, move-blue-sp 6s 5s infinite alternate ease-in-out, wobbling-blue-sp 1.5s 6s ease-in-out infinite alternate
	}
}

.c-animation_move--green {
	-webkit-animation: opacity 3s ease-in-out forwards, move-green 12s 4s infinite alternate ease-in-out;
	animation: opacity 3s ease-in-out forwards, move-green 12s 4s infinite alternate ease-in-out
}

@media screen and (max-width: 767px) {
	.c-animation_move--green {
		-webkit-animation: opacity 3s ease-in-out forwards, move-x 6s 4s infinite alternate ease-in-out, wobbling-green-sp 1.5s 4s ease-in-out infinite alternate;
		animation: opacity 3s ease-in-out forwards, move-x 6s 4s infinite alternate ease-in-out, wobbling-green-sp 1.5s 4s ease-in-out infinite alternate
	}
}

.c-animation_move--yellowgreen {
	-webkit-animation: opacity 3s ease-in-out 2s forwards, move-yellowgreen 10s 8s infinite alternate ease-in-out, wobbling-yellowgreen 3s 5s ease-in-out infinite alternate;
	animation: opacity 3s ease-in-out 2s forwards, move-yellowgreen 10s 8s infinite alternate ease-in-out, wobbling-yellowgreen 3s 5s ease-in-out infinite alternate
}

@media screen and (max-width: 767px) {
	.c-animation_move--yellowgreen {
		-webkit-animation: opacity 3s ease-in-out 2s forwards, move-x 6s 8s infinite alternate ease-in-out, wobbling-yellowgreen-sp 1.5s 5s ease-in-out infinite alternate;
		animation: opacity 3s ease-in-out 2s forwards, move-x 6s 8s infinite alternate ease-in-out, wobbling-yellowgreen-sp 1.5s 5s ease-in-out infinite alternate
	}
}

.c-animation_opacity {
	-webkit-animation: opacity 3s ease-in-out forwards;
	animation: opacity 3s ease-in-out forwards
}

.c-animation_opacity--delay {
	-webkit-animation-delay: 4s;
	animation-delay: 4s
}

.c-arrow_circle {
	position: relative
}

.c-arrow_circle::before {
	content: "";
	position: absolute;
	margin: auto;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 50%;
	background-color: #959696
}

.c-arrow_circle::after {
	content: "";
	position: absolute;
	margin: auto;
	top: 50%;
	width: .4rem;
	height: .4rem;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%)
}

@media screen and (max-width: 767px) {
	.c-arrow_circle::after {
		top: 50%
	}
}

@media screen and (min-width: 768px) {
	.c-arrow_circle--news:hover::before {
		background-color: #d2d3d3
	}
}

.c-arrow_circle--news::before {
	right: 0;
	transition: background-color ease .3s
}

.c-arrow_circle--news::after {
	right: .9rem;
	transition: background-color ease .3s
}

.c-background_sub {
	width: 100%;
	height: 230px;
	background: url("../img/img_background_02.png") no-repeat no-repeat center/cover
}

@media screen and (max-width: 767px) {
	.c-background_sub {
		height: 190px
	}
}

.c-background_sub--techno {
	background: url("../img/housingMaterialsBusiness/img_hero.png") no-repeat no-repeat center/cover
}

@media screen and (max-width: 767px) {
	.c-background_sub--techno {
		height: 40rem;
		background: url("../img/housingMaterialsBusiness/img_hero_sp.png") no-repeat no-repeat center/cover
	}
}

.c-background_sub--water {
	background: url("../img/waterRelatedBusiness/img_hero.png") no-repeat no-repeat center/cover
}

@media screen and (max-width: 767px) {
	.c-background_sub--water {
		height: 40rem;
		background: url("../img/waterRelatedBusiness/img_hero_sp.png") no-repeat no-repeat center/cover
	}
}

.c-background_sub--electric {
	background: url("../img/electricPowerBusiness/img_hero.png") no-repeat no-repeat center/cover
}

@media screen and (max-width: 767px) {
	.c-background_sub--electric {
		height: 40rem;
		background: url("../img/electricPowerBusiness/img_hero_sp.png") no-repeat no-repeat center/cover
	}
}

.c-background_sub--usa {
	background: url("../img/housingMaterialsBusinessUsa/img_hero.png") no-repeat no-repeat center/cover
}

@media screen and (max-width: 767px) {
	.c-background_sub--usa {
		height: 40rem;
		background: url("../img/housingMaterialsBusinessUsa/img_hero_sp.png") no-repeat no-repeat center/cover
	}
}

.c-background_work {
	padding: 7rem 0;
	background: url("../img/img_background_01.png") no-repeat no-repeat center/cover
}

.c-background_brandMessage {
	background: url("../img/brandMessage/background_01.png") no-repeat no-repeat center/cover;
	padding: 50rem 0 8rem 0
}

@media screen and (max-width: 767px) {
	.c-background_brandMessage {
		background: url("../img/brandMessage/background_01_sp.png") no-repeat no-repeat center/cover;
		padding: 24rem 0 6rem
	}
}

.c-bubble {
	position: absolute;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border-radius: 50%;
	opacity: 0
}

.c-bubble--blue {
	max-width: 64rem;
	width: 100%;
	mix-blend-mode: multiply
}

@media screen and (min-width: 768px) {
	.c-bubble--blue {
		right: -15rem;
		bottom: -25rem
	}
}

@media screen and (max-width: 767px) {
	.c-bubble--blue {
		bottom: -27vw;
		left: -4vw
	}
}

.c-bubble--yellowgreen {
	max-width: 38rem;
	width: 100%;
	mix-blend-mode: darken
}

@media screen and (min-width: 768px) {
	.c-bubble--yellowgreen {
		right: -28rem;
		top: 1rem
	}
}

@media screen and (max-width: 767px) {
	.c-bubble--yellowgreen {
		max-width: 19rem;
		right: -20vw;
		bottom: 20vw
	}
}

.c-bubble--orange {
	max-width: 64rem;
	width: 100%;
	mix-blend-mode: multiply
}

@media screen and (min-width: 768px) {
	.c-bubble--orange {
		top: -23rem;
		left: -13rem
	}
}

@media screen and (max-width: 767px) {
	.c-bubble--orange {
		max-width: 32rem;
		top: -88vw;
		left: 0vw
	}
}

.c-bubble--green {
	max-width: 40rem;
	width: 100%;
	mix-blend-mode: darken
}

@media screen and (min-width: 768px) {
	.c-bubble--green {
		left: -21rem;
		bottom: 7rem
	}
}

@media screen and (max-width: 767px) {
	.c-bubble--green {
		max-width: 20rem;
		left: -15vw;
		top: -19vw
	}
}

.c-button {
	background: linear-gradient(90deg, #38be72 0%, #34ba71 27.02%, #27ad6c 55.02%, #139965 83.37%, #038960 100%);
	border-radius: 10rem;
	display: block;
	max-width: 30rem;
	width: 100%;
	position: relative;
	text-align: center;
	padding: .2rem
}

.c-buttonInner {
	display: block;
	padding: 1.8rem;
	border-radius: 10rem;
	background: linear-gradient(90deg, #38be72 0%, #34ba71 27.02%, #27ad6c 55.02%, #139965 83.37%, #038960 100%);
	transition: background ease .3s
}

.c-buttonInner--gray {
	background: #959696
}

@media screen and (max-width: 767px) {
	.c-buttonInner {
		padding: 1rem
	}
}

.c-buttonText {
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: .1em;
	transition: color ease .3s
}

@media screen and (max-width: 767px) {
	.c-buttonText {
		font-size: 1.4rem
	}
}

@media screen and (max-width: 767px) {
	.c-buttonText--long {
		font-size: 1.2rem
	}
}

.c-button::after {
	content: "";
	position: absolute;
	margin: auto;
	right: 3rem;
	top: 50%;
	width: 1em;
	height: 1em;
	border-top: 1.5px solid #fff;
	border-right: 1.5px solid #fff;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
	transition: border-color ease .3s
}

@media screen and (min-width: 768px) {
	.c-button:hover .c-buttonText {
		color: #038960
	}

	.c-button:hover>.c-buttonInner {
		background: #fff
	}

	.c-button:hover::before {
		color: #fff;
		background-color: #38be72
	}

	.c-button:hover::after {
		border-color: #038960
	}
}

.c-button--gray {
	background: #959696
}

@media screen and (min-width: 768px) {
	.c-button--gray:hover .c-buttonText {
		color: #959696
	}

	.c-button--gray:hover>.c-buttonInner {
		background: #fff
	}

	.c-button--gray:hover::before {
		color: #fff;
		background-color: #959696
	}

	.c-button--gray:hover::after {
		border-color: #959696
	}
}

.c-button--special {
	max-width: none;
	width: 42rem
}

@media screen and (max-width: 767px) {
	.c-button--special {
		width: 100%
	}
}

.c-button--small {
	max-width: 25rem;
	width: 100%
}

.c-button--large {
	max-width: 42rem
}

@media screen and (max-width: 767px) {
	.c-button--long {
		padding: .35rem
	}
}

.c-button--center {
	margin: 0 auto
}

.c-button--badge::before {
	display: block;
	position: absolute;
	content: "New";
	left: 1rem;
	top: 50%;
	width: 3.6rem;
	height: 3.6rem;
	background-color: #fff;
	border-radius: 50%;
	line-height: 3.6rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	font-size: 1.2rem;
	font-weight: bold;
	color: #38be72;
	letter-spacing: -0.05em;
	transition: border-color ease .3s, color ease .3s
}

@media screen and (max-width: 767px) {
	.c-button--badge::before {
		width: 3rem;
		height: 3rem;
		line-height: 3rem;
		font-size: 1.1rem
	}
}

.c-container {
	display: flex
}

.c-container_item {
	width: 100%
}

.c-container_itemLeft {
	margin: 0 5rem 0 0
}

@media screen and (max-width: 767px) {
	.c-container_itemLeft {
		margin: 2.5rem 0 0 0
	}
}

@media screen and (max-width: 767px) {
	.c-container_itemStack+.c-container_itemStack {
		margin: 3rem 0 0
	}
}

@media screen and (min-width: 768px) {
	.c-container_itemBlock:nth-child(n+3) {
		margin: 3rem 0 0
	}
}

@media screen and (max-width: 767px) {
	.c-container_itemBlock+.c-container_itemBlock {
		margin: 3rem 0 0
	}
}

@media screen and (min-width: 768px) {
	.c-container_itemBlock--wide:nth-child(n+3) {
		margin: 11rem 0 0
	}
}

@media screen and (max-width: 767px) {
	.c-container_itemBlock--wide+.c-container_itemBlock--wide {
		margin: 11rem 0 0
	}
}

.c-container_item--half {
	width: 50%
}

@media screen and (max-width: 767px) {
	.c-container_item--half {
		width: 100%
	}
}

@media screen and (max-width: 767px) {
	.c-container_item--halfsp {
		width: 50%
	}
}

.c-container--aice {
	align-items: center
}

.c-container--aifs {
	align-items: flex-start
}

.c-container--aibl {
	align-items: baseline
}

@media screen and (max-width: 767px) {
	.c-container--block {
		display: block
	}
}

.c-container--sb {
	justify-content: space-between
}

.c-container--ce {
	justify-content: center
}

.c-container--fdrr {
	flex-direction: row-reverse
}

.c-container--wrap {
	flex-wrap: wrap
}

@media screen and (max-width: 767px) {
	.c-container--wrapsp {
		flex-wrap: wrap
	}
}

.c-frame_pseudo {
	padding: 1.5rem 1.5rem 0 1.5rem
}

.c-image_100 {
	max-width: 10rem;
	width: 100%
}

.c-image_160 {
	max-width: 16rem;
	width: 100%
}

@media screen and (max-width: 767px) {
	.c-image_160 {
		max-width: 12rem
	}
}

.c-image_180 {
	max-width: 18rem;
	width: 100%
}

@media screen and (max-width: 767px) {
	.c-image_180 {
		max-width: 9rem
	}
}

.c-image_250 {
	max-width: 25rem;
	width: 100%
}

.c-image_330 {
	max-width: 33rem;
	width: 100%
}

@media screen and (max-width: 767px) {
	.c-image_330 {
		max-width: 23rem
	}
}

.c-image_370 {
	max-width: 37rem;
	width: 100%
}

@media screen and (max-width: 767px) {
	.c-image_370 {
		max-width: 25rem
	}
}

.c-image_500 {
	max-width: 50rem;
	width: 100%
}

.c-image_550 {
	max-width: 55rem;
	width: 100%
}

.c-image_660 {
	max-width: 66rem;
	width: 100%
}

@media screen and (max-width: 767px) {
	.c-image_660 {
		max-width: 27rem
	}
}

.c-image_780 {
	max-width: 78rem;
	width: 100%
}

.c-image_800 {
	max-width: 80rem;
	width: 100%
}

.c-image_950 {
	max-width: 95rem;
	width: 100%
}

.c-image--center {
	margin: 0 auto
}

.c-image--core {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}

.c-input_text {
	display: block;
	width: 100%;
	border: 1px solid #595757;
	padding: .6rem;
	border-radius: .5rem;
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.3125
}

.c-input_text::-webkit-input-placeholder {
	font-size: 1.4rem;
	color: #c9caca
}

.c-input_text::-moz-placeholder {
	font-size: 1.4rem;
	color: #c9caca
}

.c-input_text:-ms-input-placeholder {
	font-size: 1.4rem;
	color: #c9caca
}

.c-input_text::-ms-input-placeholder {
	font-size: 1.4rem;
	color: #c9caca
}

.c-input_text::placeholder {
	font-size: 1.4rem;
	color: #c9caca
}

.c-input_text--tiny {
	width: 15%
}

@media screen and (max-width: 767px) {
	.c-input_text--tiny {
		max-width: 12rem;
		width: 100%
	}
}

.c-input_text--small {
	width: 30%
}

.c-input_text--small+.c-input_text--small {
	margin: 0 0 0 2rem
}

@media screen and (max-width: 767px) {
	.c-input_text--small+.c-input_text--small {
		margin: .5rem 0 0
	}
}

@media screen and (max-width: 767px) {
	.c-input_text--small {
		max-width: 40rem;
		width: 70%
	}
}

.c-input_text--half {
	width: 48%
}

@media screen and (max-width: 767px) {
	.c-input_text--half+.c-input_text--half {
		margin: 2rem 0 0
	}
}

@media screen and (max-width: 767px) {
	.c-input_text--half {
		width: 100%
	}
}

.c-input_radio {
	cursor: pointer
}

.c-input_radio+.c-input_radio {
	margin-left: 4rem
}

.c-input_radioText {
	position: relative;
	padding: 0 0 0 3rem
}

.c-input_radioText::before,
.c-input_radioText::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}

.c-input_radioText::before {
	border: 1px solid #595757;
	border-radius: 50%;
	width: 1.6rem;
	height: 1.6rem
}

.c-input_radioText::after {
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	left: .2rem;
	background-color: #959696;
	opacity: 0
}

.c-input_textarea {
	width: 100%;
	display: block;
	border: 1px solid #595757;
	border-radius: .5rem;
	resize: vertical;
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.3125;
	padding: 1rem
}

.c-input_radioInput:checked+.c-input_radioText::after {
	opacity: 1
}

.c-line {
	position: relative
}

.c-line::before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -40%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 6rem;
	height: .6rem;
	background: linear-gradient(90deg, #38be72 0%, #28ae6d 16.63%, #149a66 44.98%, #078d61 72.98%, #038960 100%)
}

.c-line--blue::before {
	background: linear-gradient(90deg, #3ae8dc 0%, #34e0e0 5.61%, #1dc3ec 29.69%, #0daff6 53.65%, #03a2fb 77.24%, #009efd 100%)
}

.c-line--orange::before {
	background: linear-gradient(90deg, #e1ea00 0%, #e7cf0a 11.12%, #f0aa19 29.23%, #f68d24 47.37%, #fb792c 65.31%, #fe6c31 82.96%, #ff6833 100%)
}

.c-line--green::before {
	background: linear-gradient(270deg, #38be72 0%, #41bf67 4.9%, #61c442 24.3%, #79c725 43.7%, #8bca11 62.89%, #95cb04 81.78%, #99cc00 100%)
}

@media screen and (max-width: 767px) {
	.c-line::before {
		width: 5rem
	}
}

.c-line_title {
	background-color: #f1f5f9;
	padding: 1rem 1.5rem
}

@media screen and (max-width: 767px) {
	.c-line_title {
		padding: .2rem 1rem
	}
}

.c-link_lineArrow {
	transition: color ease .3s
}

@media screen and (min-width: 768px) {
	.c-link_lineArrow:hover {
		color: #038960
	}
}

@media screen and (min-width: 768px) {
	.c-link_lineArrow:hover::before {
		background-color: #038960
	}
}

@media screen and (min-width: 768px) {
	.c-link_lineArrow:hover::after {
		border-color: #038960
	}
}

.c-link::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #595757;
	left: 0;
	bottom: -5px;
	transition: background-color ease .3s
}

.c-link::after {
	content: "";
	position: absolute;
	margin: auto;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #595757;
	border-right: 2px solid #595757;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
	transition: border-color ease .3s
}

.c-link_text {
	transition: opacity .3s ease;
	text-decoration: underline;
	font-weight: 400;
	color: #04c
}

@media screen and (min-width: 768px) {
	.c-link_text:hover {
		opacity: .7
	}
}

.c-list_outer {
	margin: 6rem 0 0
}

@media screen and (max-width: 767px) {
	.c-list_outer {
		margin: 5rem 0 0
	}
}

.c-list_inner {
	margin: 5rem 0 0
}

.c-logo_jotoTechno {
	max-width: 33rem;
	width: 100%
}

@media screen and (max-width: 767px) {
	.c-logo_jotoTechno {
		max-width: 23rem
	}
}

.c-logo_jotoLyprone {
	max-width: 38rem;
	width: 100%
}

@media screen and (max-width: 767px) {
	.c-logo_jotoLyprone {
		max-width: 23rem
	}
}

.c-logo_tdm {
	max-width: 25rem;
	width: 100%
}

@media screen and (max-width: 767px) {
	.c-logo_tdm {
		max-width: 14rem
	}
}

.c-logo_jotoVentSystem {
	max-width: 32rem;
	width: 100%
}

@media screen and (max-width: 767px) {
	.c-logo_jotoVentSystem {
		max-width: 24rem
	}
}

.c-logo--center {
	margin: 0 auto
}

.mwform-radio-field>label {
	cursor: pointer;
	display: flex
}

.mwform-radio-field>label+.mwform-radio-field>label {
	margin-left: 4rem
}

.mwform-radio-field-text {
	position: relative;
	padding: 0 0 0 3rem;
	font-size: 1.6rem;
	letter-spacing: .05em;
	line-height: 1.3125;
	font-weight: 300
}

@media screen and (max-width: 767px) {
	.mwform-radio-field-text {
		font-size: 1.4rem
	}
}

.mwform-radio-field-text::before,
.mwform-radio-field-text::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%)
}

.mwform-radio-field-text::before {
	border: 1px solid #595757;
	border-radius: 50%;
	width: 1.6rem;
	height: 1.6rem
}

.mwform-radio-field-text::after {
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	left: .2rem;
	background-color: #959696;
	opacity: 0
}

.mw_wp_form_confirm .p-contact_an {
	font-size: 1.4rem;
	letter-spacing: .05em;
	line-height: 1.3125
}

.c-input_radioInput:checked+.mwform-radio-field-text::after {
	opacity: 1
}

.mw_wp_form .error {
	color: #f33 !important;
	font-size: 1.6rem !important
}

@media screen and (max-width: 767px) {
	.mw_wp_form .error {
		font-size: 1.2rem !important
	}
}

.c-paragraph+.c-paragraph {
	margin: 3rem 0 0
}

@media screen and (max-width: 767px) {
	.c-paragraph+.c-paragraph {
		margin: 2rem 0 0
	}
}

.c-separate {
	border-top: 1px solid #595757;
	padding: 9rem 0 0 0;
	margin: 9rem 0 0 0
}

@media screen and (max-width: 767px) {
	.c-separate {
		padding: 6rem 0 0 0;
		margin: 6rem 0 0 0
	}
}

.c-separate--news {
	border-top: 1px solid #959696;
	padding: 6rem 0 0 0;
	margin: 3rem 0 0 0
}

@media screen and (max-width: 767px) {
	.c-separate--news {
		padding: 3rem 0 0 0;
		margin: 1.5rem 0 0 0
	}
}

.c-separate_title {
	border-bottom: 1px solid #959696;
	padding: 0 0 1.5rem 0;
	margin: 0 0 1.5rem 0
}

@media screen and (max-width: 767px) {
	.c-separate_title {
		padding: 0 0 1rem 0;
		margin: 0 0 1rem 0
	}
}

.c-separate_pseudo {
	margin: 7rem 0 0
}

@media screen and (max-width: 767px) {
	.c-separate_pseudo {
		margin: 6rem 0 0
	}
}

.c-separate_pseudo--low {
	margin: 2rem 0 0
}

.c-separate_pseudo--zero {
	margin: 0
}

.c-shadow::before {
	content: "";
	background: linear-gradient(90deg, #38be72 0%, #28ae6d 16.63%, #149a66 44.98%, #078d61 72.98%, #038960 100%);
	border-radius: 50%;
	width: 34rem;
	height: 34rem;
	position: absolute;
	left: 50%;
	top: 5rem;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-filter: blur(21px);
	filter: blur(21px)
}

@media screen and (max-width: 767px) {
	.c-shadow::before {
		width: 22rem;
		height: 22rem;
		top: 4rem
	}
}

.c-shadow--blue::before {
	background: linear-gradient(90deg, #3ae8dc 0%, #34e0e0 5.61%, #1dc3ec 29.69%, #0daff6 53.65%, #03a2fb 77.24%, #009efd 100%)
}

.c-shadow--orange::before {
	background: linear-gradient(90deg, #e1ea00 0%, #e7cf0a 11.12%, #f0aa19 29.23%, #f68d24 47.37%, #fb792c 65.31%, #fe6c31 82.96%, #ff6833 100%)
}

.c-shadow--green::before {
	background: linear-gradient(90deg, #38be72 0%, #41bf67 4.9%, #61c442 24.3%, #79c725 43.7%, #8bca11 62.89%, #95cb04 81.78%, #99cc00 100%)
}

svg .svg-elem-1 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 4s
}

svg.active .svg-elem-1 {
	fill: #fff
}

svg .svg-elem-2 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.1s
}

svg.active .svg-elem-2 {
	fill: #fff
}

svg .svg-elem-3 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s
}

svg.active .svg-elem-3 {
	fill: #fff
}

svg .svg-elem-4 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.3s
}

svg.active .svg-elem-4 {
	fill: #fff
}

svg .svg-elem-5 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.4s
}

svg.active .svg-elem-5 {
	fill: #fff
}

svg .svg-elem-6 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.5s
}

svg.active .svg-elem-6 {
	fill: #fff
}

svg .svg-elem-7 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.6s
}

svg.active .svg-elem-7 {
	fill: #fff
}

svg .svg-elem-8 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.7s
}

svg.active .svg-elem-8 {
	fill: #fff
}

svg .svg-elem-9 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.8s
}

svg.active .svg-elem-9 {
	fill: #fff
}

svg .svg-elem-10 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 4.9s
}

svg.active .svg-elem-10 {
	fill: #fff
}

svg .svg-elem-11 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 5s
}

svg.active .svg-elem-11 {
	fill: #fff
}

svg .svg-elem-12 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 5.1s
}

svg.active .svg-elem-12 {
	fill: #fff
}

svg .svg-elem-13 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 5.2s
}

svg.active .svg-elem-13 {
	fill: #fff
}

svg .svg-elem-14 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 5.3s
}

svg.active .svg-elem-14 {
	fill: #fff
}

svg .svg-elem-15 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 5.4s
}

svg.active .svg-elem-15 {
	fill: #fff
}

svg .svg-elem-16 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 5.5s
}

svg.active .svg-elem-16 {
	fill: #fff
}

svg .svg-elem-17 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 5.6s
}

svg.active .svg-elem-17 {
	fill: #fff
}

svg .svg-elem-18 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 5.7s
}

svg.active .svg-elem-18 {
	fill: #fff
}

svg .svg-elem-19 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 5.8s
}

svg.active .svg-elem-19 {
	fill: #fff
}

svg .svg-elem-20 {
	fill: transparent;
	transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 5.9s
}

svg.active .svg-elem-20 {
	fill: #fff
}

.c-tableInfo_text {
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 3.75;
	letter-spacing: .075em
}

@media screen and (max-width: 767px) {
	.c-tableInfo_text {
		font-size: 1.4rem;
		line-height: 1.7142857143;
		letter-spacing: .05em
	}
}

.c-tableInfo_small {
	border-top: 1px solid #959696;
	width: 17%
}

@media screen and (max-width: 767px) {
	.c-tableInfo_small {
		width: 22%;
		padding: 2rem 0
	}
}

.c-tableInfo_large {
	border-top: 1px solid #959696;
	width: 82%
}

@media screen and (max-width: 767px) {
	.c-tableInfo_large {
		width: 74%;
		padding: 2rem 0
	}
}

.c-tableInfo--bottom {
	border-bottom: 1px solid #959696
}

.c-tableWork_text {
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 3.75;
	letter-spacing: .075em
}

@media screen and (max-width: 767px) {
	.c-tableWork_text {
		font-size: 1.4rem;
		line-height: 1.7142857143;
		letter-spacing: .05em
	}
}

.c-tableWork_column:nth-child(odd) {
	background-color: #f2f6fa
}

.c-tableWork_small {
	width: 20%;
	padding: 0 0 0 2rem
}

@media screen and (max-width: 767px) {
	.c-tableWork_small {
		width: 30%;
		padding: 2rem 1rem
	}
}

.c-tableWork_large {
	width: 80%
}

@media screen and (max-width: 767px) {
	.c-tableWork_large {
		width: 70%;
		padding: 2rem 0
	}
}

.c-text_10 {
	font-size: 1rem;
	line-height: 1.8;
	letter-spacing: .2em
}

.c-text_11 {
	font-size: 1.1rem;
	line-height: 1.7272727273;
	letter-spacing: .1em
}

.c-text_14 {
	font-size: 1.4rem;
	line-height: 1.7142857143;
	letter-spacing: .1em
}

@media screen and (max-width: 767px) {
	.c-text_14 {
		font-size: 1.2rem
	}
}

.c-text_16 {
	font-size: 1.6rem;
	line-height: 1.75;
	letter-spacing: .1em
}

@media screen and (max-width: 767px) {
	.c-text_16 {
		font-size: 1.4rem
	}
}

.c-text_16--high {
	line-height: 2
}

.c-text_16--higher {
	line-height: 2.125
}

.c-text_16--highest {
	line-height: 3.75
}

.c-text_16--narrow {
	letter-spacing: .075em
}

.c-text_16--narrower {
	letter-spacing: .05em
}

.c-text_16--narrowest {
	letter-spacing: 0
}

.c-text_18 {
	font-size: 1.8rem;
	line-height: 2.6666666667;
	letter-spacing: .2em
}

@media screen and (max-width: 767px) {
	.c-text_18 {
		font-size: 1.6rem
	}
}

.c-text_18--narrow {
	letter-spacing: .15em
}

.c-text_18--narrower {
	letter-spacing: .1em
}

.c-text_18--low {
	line-height: 1.7777777778
}

.c-text_20 {
	font-size: 2rem;
	line-height: 1.75;
	letter-spacing: .1em
}

@media screen and (max-width: 767px) {
	.c-text_20 {
		font-size: 1.8rem
	}
}

.c-text_24 {
	font-size: 2.4rem;
	line-height: 1.3333333333;
	letter-spacing: .1em
}

@media screen and (max-width: 767px) {
	.c-text_24 {
		font-size: 1.8rem
	}
}

@media screen and (max-width: 767px) {
	.c-text_24--distort {
		font-size: 1.7rem
	}
}

.c-text_25 {
	font-size: 2.5rem;
	line-height: 1.16;
	letter-spacing: .05em
}

@media screen and (max-width: 767px) {
	.c-text_25 {
		font-size: 1.8rem
	}
}

.c-text_25--high {
	line-height: 1.2
}

.c-text_25--far {
	letter-spacing: .2em
}

.c-text_28 {
	font-size: 2.8rem;
	line-height: 1.75;
	letter-spacing: .1em
}

@media screen and (max-width: 767px) {
	.c-text_28 {
		font-size: 2rem
	}
}

.c-text_28--low {
	line-height: 1.2142857143
}

.c-text_28--high {
	line-height: 1.7857142857
}

.c-text_28--near {
	letter-spacing: .05em
}

.c-text_32 {
	font-size: 3.2rem;
	line-height: 1.1034482759;
	letter-spacing: .1em
}

@media screen and (max-width: 767px) {
	.c-text_32 {
		font-size: 2.4rem
	}
}

.c-text_32--high {
	line-height: 1.5625
}

.c-text_32--higher {
	line-height: 1.875
}

.c-text_34 {
	font-size: 3.4rem;
	line-height: 1.7647058824;
	letter-spacing: .05em
}

@media screen and (max-width: 767px) {
	.c-text_34 {
		font-size: 2.6rem
	}
}

.c-text_36 {
	font-size: 3.6rem;
	line-height: 1.75;
	letter-spacing: .1em
}

@media screen and (max-width: 767px) {
	.c-text_36 {
		font-size: 3.2rem
	}
}

.c-text_36--narrow {
	letter-spacing: .05em
}

@media screen and (max-width: 767px) {
	.c-text_36--distort {
		font-size: 2.4rem
	}
}

.c-text--white {
	color: #fff
}

.c-text--oswald {
	font-family: "Oswald", sans-serif
}

.wp-pagenavi {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 5rem 0 0
}

.wp-pagenavi .current {
	font-size: 1.8rem;
	line-height: 1.7777777778;
	letter-spacing: .1em;
	color: #595757;
	margin: 0 2rem
}

.wp-pagenavi .page {
	font-size: 1.8rem;
	line-height: 1.7777777778;
	letter-spacing: .1em;
	color: #959696
}

.wp-pagenavi .page.smaller {
	margin-left: 2rem
}

.wp-pagenavi .page.larger {
	margin-right: 2rem
}

.wp-pagenavi .previouspostslink {
	position: relative;
	font-size: 1.8rem;
	line-height: 1.7777777778
}

@media screen and (min-width: 768px) {
	.wp-pagenavi .previouspostslink:hover::before {
		background-color: #3e3a39
	}
}

.wp-pagenavi .previouspostslink::before {
	content: "";
	position: absolute;
	margin: auto;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background-color: #959696;
	transition: background-color ease .3s
}

.wp-pagenavi .previouspostslink::after {
	content: "";
	position: absolute;
	margin: -1px 0 0;
	top: 50%;
	right: 7px;
	width: .7rem;
	height: .7rem;
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%)
}

.wp-pagenavi .nextpostslink {
	position: relative;
	font-size: 1.8rem;
	line-height: 1.7777777778
}

@media screen and (min-width: 768px) {
	.wp-pagenavi .nextpostslink:hover::before {
		background-color: #3e3a39
	}
}

.wp-pagenavi .nextpostslink::before {
	content: "";
	position: absolute;
	margin: auto;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background-color: #959696;
	transition: background-color ease .3s
}

.wp-pagenavi .nextpostslink::after {
	content: "";
	position: absolute;
	margin: -1px 0 0;
	top: 50%;
	left: 3px;
	width: .7rem;
	height: .7rem;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%)
}

.p-brandMessage {
	padding: 50rem 0 8rem 0
}

.p-brandMessage_text {
	line-height: 2.375
}

@media screen and (max-width: 767px) {
	.p-brandMessage_text {
		font-size: 1.4rem;
		letter-spacing: 0
	}
}

@media screen and (min-width: 768px) {
	.p-brandMessage_inner {
		padding: 0 10rem
	}
}

.p-brandMessage_title {
	max-width: 44rem;
	width: 100%
}

@media screen and (max-width: 767px) {
	.p-brandMessage_title {
		max-width: 22rem
	}
}

.p-brandMessage_subTitle {
	max-width: 55rem;
	width: 100%;
	margin-top: 7rem
}

@media screen and (max-width: 767px) {
	.p-brandMessage_subTitle {
		max-width: 27rem;
		margin-top: 5rem
	}
}

.p-brandMessage_logo {
	max-width: 14rem;
	width: 100%;
	margin: 6rem 0 0
}

@media screen and (max-width: 767px) {
	.p-brandMessage_logo {
		max-width: 12rem;
		margin: 6rem 0 0
	}
}

.p-contact_frame {
	border: 1px solid #595757;
	padding: 3rem 4rem;
	max-width: 95rem;
	width: 100%;
	margin: 0 auto
}

@media screen and (max-width: 767px) {
	.p-contact_frame {
		overflow-y: scroll;
		height: 19rem;
		padding: 1.5rem 2rem
	}
}

.p-contact_qu {
	width: 27%
}

@media screen and (max-width: 767px) {
	.p-contact_qu {
		width: 100%
	}
}

.p-contact_an {
	width: 73%
}

@media screen and (max-width: 767px) {
	.p-contact_an {
		width: 100%;
		margin: 1rem 0 0
	}
}

.p-contact_field {
	padding: 2rem 0
}

.p-contact_field+.p-contact_field {
	border-top: 1px solid #959696
}

.p-contact_field:last-child {
	border-bottom: 1px solid #959696
}

.p-contact_container {
	margin: 0 auto;
	max-width: 53rem;
	width: 100%;
	justify-content: space-between
}

.p-contact_choice {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer
}

@media screen and (max-width: 767px) {
	.p-contact_choice {
		padding: .9rem;
		max-width: 13rem
	}
}

@media screen and (max-width: 767px) {
	.p-contact_choice::after {
		right: 2rem
	}
}

.p-contact_text {
	font-size: 1.6rem;
	letter-spacing: .05em;
	line-height: 1.3125
}

@media screen and (max-width: 767px) {
	.p-contact_text {
		font-size: 1.4rem
	}
}

.p-contact_badge {
	font-size: 1.2rem;
	display: block;
	line-height: 1.75;
	background-color: #f33;
	padding: 0 .7rem;
	border-radius: .5rem;
	color: #fff;
	margin-left: 1rem
}

.p-contact_button {
	cursor: pointer
}

.p-contact_button::before {
	content: "確認する";
	color: #fff;
	font-size: 1.6rem;
	letter-spacing: .1em;
	display: block;
	padding: 1.8rem;
	border-radius: 10rem;
	background: linear-gradient(90deg, #38be72 0%, #34ba71 27.02%, #27ad6c 55.02%, #139965 83.37%, #038960 100%);
	transition: background ease .3s, color ease .3s
}

@media screen and (min-width: 768px) {
	.p-contact_button:hover::before {
		color: #038960;
		background: #fff
	}

	.p-contact_button:hover::after {
		border-color: #038960
	}
}

.p-contact_button--submit::before {
	content: "送信する"
}

@media screen and (max-width: 767px) {
	.p-contact_button--submit::before {
		padding: .9rem
	}
}

.p-contact_button--gray {
	background: #959696
}

.p-contact_button--gray::before {
	content: "修正する";
	background: #959696
}

@media screen and (max-width: 767px) {
	.p-contact_button--gray::before {
		padding: .9rem
	}
}

@media screen and (min-width: 768px) {
	.p-contact_button--gray:hover::before {
		color: #959696;
		background: #fff
	}

	.p-contact_button--gray:hover::after {
		border-color: #959696
	}
}

.p-front_core {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}

.p-front_fill {
	background-color: #fff;
	border-radius: 50%
}

.p-front_gradient {
	background: linear-gradient(240deg, rgba(239, 239, 239, 0.9976365546) 0%, white 100%)
}

@media screen and (max-width: 767px) {
	.p-front_gradient {
		overflow: hidden
	}
}

.p-front_subTitle {
	max-width: 52rem;
	width: 100%;
	margin: 0 auto
}

@media screen and (max-width: 767px) {
	.p-front_subTitle {
		max-width: 24rem
	}
}

.p-front_fadeIn {
	opacity: 0;
	-webkit-transform: translateY(18px);
	transform: translateY(18px);
	transition: opacity ease .6s, -webkit-transform ease .6s;
	transition: transform ease .6s, opacity ease .6s;
	transition: transform ease .6s, opacity ease .6s, -webkit-transform ease .6s
}

.p-front_fadeIn.is-active {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0)
}

@media screen and (min-width: 768px) {
	.p-front_fadeIn.is-active:nth-child(1) {
		transition-delay: .6s
	}
}

@media screen and (min-width: 768px) {
	.p-front_fadeIn.is-active:nth-child(2) {
		transition-delay: 1s
	}
}

@media screen and (min-width: 768px) {
	.p-front_fadeIn.is-active:nth-child(3) {
		transition-delay: .6s
	}
}

@media screen and (min-width: 768px) {
	.p-front_fadeIn.is-active:nth-child(4) {
		transition-delay: 1s
	}
}

@media screen and (max-width: 767px) {
	.p-hero {
		width: 100vw;
		height: 100vh
	}
}

.p-hero_core {
	position: absolute;
	max-width: 34rem;
	width: 100%;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: 0
}

@media screen and (max-width: 767px) {
	.p-hero_core {
		top: 40%;
		max-width: 18rem
	}
}

.p-hero_kv {
	background: url("../img/hero_background_01.png") no-repeat no-repeat center/cover;
	width: 100%;
	height: 630px;
	overflow: hidden
}

@media screen and (max-width: 767px) {
	.p-hero_kv {
		height: calc(100% - 60px)
	}
}

.p-hero_text {
	max-width: 22rem;
	width: 100%
}

@media screen and (min-width: 768px) {
	.p-hero_text {
		bottom: 13rem;
		right: 13rem
	}
}

@media screen and (max-width: 767px) {
	.p-hero_text {
		max-width: 14rem;
		bottom: 46vw;
		left: 20vw
	}
}

.p-hero_link {
	cursor: pointer;
	display: flex;
	align-items: center;
	position: absolute;
	opacity: 0
}

@media screen and (min-width: 768px) {
	.p-hero_link {
		bottom: 5.5rem;
		right: 18.5rem
	}
}

@media screen and (max-width: 767px) {
	.p-hero_link {
		bottom: 25vw;
		left: 20vw
	}
}

.p-hero_linkWrap {
	overflow: hidden;
	position: relative
}

.p-hero_linkText {
	display: block;
	font-size: 1.8rem;
	letter-spacing: .045em;
	font-weight: 600;
	color: #fff;
	position: relative;
	transition: color ease .3s;
	height: 4.4rem;
	line-height: 4.4rem
}

.p-hero_linkText::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #fff;
	left: 0;
	bottom: 5px;
	transition: background-color ease .3s
}

.p-hero_linkText--hover {
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	transition: -webkit-transform ease .3s;
	transition: transform ease .3s;
	transition: transform ease .3s, -webkit-transform ease .3s
}

.p-hero_linkArrow {
	display: block;
	transition: background-color ease .3s;
	width: 4.4rem;
	height: 4.4rem;
	border-radius: 50%;
	background-color: #38be72;
	position: relative;
	margin: 0 0 0 1.5rem
}

.p-hero_linkArrow::before {
	content: "";
	position: absolute;
	margin: auto;
	top: 50%;
	left: 50%;
	transition: background-color ease .3s, width ease .3s, height ease .3s, opacity ease .3s;
	width: 0;
	height: 0;
	background-color: #038960;
	border-radius: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: 0
}

.p-hero_linkArrow::after {
	content: "";
	position: absolute;
	margin: auto;
	top: 60%;
	left: 30%;
	transition: background-color ease .3s;
	width: 1.3rem;
	height: 1.3rem;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%)
}

@media screen and (min-width: 768px) {
	.p-hero_link:hover .p-hero_linkText {
		color: #038960;
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%)
	}
}

@media screen and (min-width: 768px) {
	.p-hero_link:hover .p-hero_linkText::before {
		background-color: #038960
	}
}

@media screen and (min-width: 768px) {
	.p-hero_link:hover .p-hero_linkText--hover {
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%)
	}
}

@media screen and (min-width: 768px) {
	.p-hero_link:hover .p-hero_linkArrow::before {
		opacity: 1;
		width: 100%;
		height: 100%
	}
}

.p-news {
	padding: 9rem 0
}

.p-news_list {
	max-width: 80rem;
	width: 100%;
	margin: 0 auto
}

.p-news_link {
	position: absolute;
	right: 1.5rem;
	top: -5rem;
	font-size: 1.6rem;
	letter-spacing: .045em;
	display: block;
	font-weight: 600
}

@media screen and (max-width: 767px) {
	.p-news_link {
		font-size: 1.4rem;
		top: -4rem
	}
}

.p-news_item {
	padding: 2rem 1rem;
	border-top: 1px solid #959696
}

.p-news_item:last-child {
	border-bottom: 1px solid #959696
}

.p-news_itemDate {
	margin: 0 2rem 0 0
}

.p-news_itemBadge {
	margin: 0 2rem 0 0
}

@media screen and (min-width: 768px) {
	.p-news_itemText--narrow {
		width: 75%
	}
}

@media screen and (max-width: 767px) {
	.p-news_itemText {
		width: 90%
	}
}

.p-news_badge {
	width: 2rem;
	height: .5rem;
	display: block
}

@media screen and (max-width: 767px) {
	.p-news_badge {
		width: 4rem;
		height: 1rem
	}
}

.p-news_badge--square {
	width: 1em;
	height: 1em
}

.p-news_badge--large {
	width: 5rem;
	height: 1.2rem;
	margin-top: .1rem
}

@media screen and (max-width: 767px) {
	.p-news_badge--large {
		width: 2rem;
		height: .5rem
	}
}

.p-news_badge--new {
	width: 2.4rem;
	padding: 0 .5rem;
	border: 1px solid #008e3c;
	color: #008e3c;
	display: inline;
	font-family: "Oswald", sans-serif
}

.p-news_new {
	display: inline-block;
	max-width: 2.4rem;
	width: 100%
}

.p-news_new--large {
	max-width: 6.6rem
}

@media screen and (min-width: 768px) {
	.p-news_note+.p-news_note {
		margin-left: 1rem
	}
}

@media screen and (max-width: 767px) {
	.p-news_note:first-child {
		width: 100%
	}
}

@media screen and (max-width: 767px) {

	.p-news_note:nth-child(2),
	.p-news_note:nth-child(4) {
		width: 60%
	}
}

@media screen and (max-width: 767px) {

	.p-news_note:nth-child(3),
	.p-news_note:nth-child(5) {
		width: 40%
	}
}

.p-news_detail h1 {
	font-size: 3.2rem;
	letter-spacing: .1em;
	line-height: 2
}

@media screen and (max-width: 767px) {
	.p-news_detail h1 {
		font-size: 2.4rem
	}
}

.p-news_detail h2 {
	font-size: 2.8rem;
	letter-spacing: .1em;
	line-height: 2
}

@media screen and (max-width: 767px) {
	.p-news_detail h2 {
		font-size: 2.2rem
	}
}

.p-news_detail h3 {
	font-size: 2.4rem;
	letter-spacing: .1em;
	line-height: 2
}

@media screen and (max-width: 767px) {
	.p-news_detail h3 {
		font-size: 2rem
	}
}

.p-news_detail h4 {
	font-size: 2rem;
	letter-spacing: .1em;
	line-height: 2
}

@media screen and (max-width: 767px) {
	.p-news_detail h4 {
		font-size: 1.8rem
	}
}

.p-news_detail h5 {
	font-size: 1.8rem;
	letter-spacing: .1em;
	line-height: 2
}

@media screen and (max-width: 767px) {
	.p-news_detail h5 {
		font-size: 1.6rem
	}
}

.p-news_detail h6 {
	font-size: 1.6rem;
	letter-spacing: .1em;
	line-height: 2
}

@media screen and (max-width: 767px) {
	.p-news_detail h6 {
		font-size: 1.4rem
	}
}

.p-news_detail p {
	font-size: 1.6rem;
	letter-spacing: .1em;
	line-height: 2;
	font-weight: 300
}

@media screen and (max-width: 767px) {
	.p-news_detail p {
		font-size: 1.4rem
	}
}

.p-news_detail pre {
	font-size: 1.6rem;
	letter-spacing: .1em;
	line-height: 2;
	font-weight: 300
}

@media screen and (max-width: 767px) {
	.p-news_detail pre {
		font-size: 1.4rem
	}
}

.p-news_detail a {
	font-size: 1.6rem;
	letter-spacing: .1em;
	line-height: 2;
	text-decoration: underline;
	transition: color ease .3s
}

@media screen and (min-width: 768px) {
	.p-news_detail a:hover {
		color: #038960
	}
}

@media screen and (max-width: 767px) {
	.p-news_detail a {
		font-size: 1.4rem
	}
}

.p-news_detail img {
	width: auto;
	max-width: 100%
}

.p-outline {
	padding: 7rem 0 12rem
}

@media screen and (max-width: 767px) {
	.p-outline {
		padding: 9rem 0 9rem
	}
}

.p-policy {
	padding: 8rem 0 9rem
}

@media screen and (max-width: 767px) {
	.p-policy {
		padding: 7rem 0 8rem
	}
}

.p-terms {
	padding: 8rem 0 9rem
}

@media screen and (max-width: 767px) {
	.p-terms {
		padding: 7rem 0 8rem
	}
}

.p-workHero_wrap {
	position: absolute;
	top: 50%;
	left: 50%
}

@media screen and (min-width: 768px) {
	.p-workHero_wrap {
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%)
	}
}

@media screen and (max-width: 767px) {
	.p-workHero_wrap {
		top: 10%;
		left: 8%
	}
}

.p-workHero_text {
	width: 100%
}

.p-workHero_text--techno {
	max-width: 24rem
}

@media screen and (max-width: 767px) {
	.p-workHero_text--techno {
		max-width: 15rem
	}
}

.p-workHero_text--water {
	max-width: 18rem
}

@media screen and (max-width: 767px) {
	.p-workHero_text--water {
		max-width: 12rem
	}
}

.p-workHero_text--electric {
	max-width: 36rem
}

@media screen and (max-width: 767px) {
	.p-workHero_text--electric {
		max-width: 12rem
	}
}

.p-workHero_text--usa {
	max-width: 24rem
}

@media screen and (max-width: 767px) {
	.p-workHero_text--usa {
		max-width: 15rem
	}
}

.p-workLink {
	max-width: 13rem;
	width: 100%;
	display: block
}

@media screen and (max-width: 767px) {
	.p-workLink {
		max-width: 6rem
	}
}

.p-workLink_image {
	position: absolute;
	max-width: 11rem;
	width: 100%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}

@media screen and (max-width: 767px) {
	.p-workLink_image {
		max-width: 5rem
	}
}

.p-workLink_image::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transition: opacity ease .3s;
	background: linear-gradient(-45deg, #38be72 0%, #28ae6d 16.63%, #149a66 44.98%, #078d61 72.98%, #038960 100%);
	opacity: 0
}

.p-workLink_image--blue::before {
	background: linear-gradient(-45deg, #3ae8dc 0%, #34e0e0 5.61%, #1dc3ec 29.69%, #0daff6 53.65%, #03a2fb 77.24%, #009efd 100%)
}

.p-workLink_image--orange::before {
	background: linear-gradient(-45deg, #e1ea00 0%, #e7cf0a 11.12%, #f0aa19 29.23%, #f68d24 47.37%, #fb792c 65.31%, #fe6c31 82.96%, #ff6833 100%)
}

.p-workLink_image--green::before {
	background: linear-gradient(-45deg, #38be72 0%, #41bf67 4.9%, #61c442 24.3%, #79c725 43.7%, #8bca11 62.89%, #95cb04 81.78%, #99cc00 100%)
}

.p-workLink_background {
	width: 13rem;
	height: 13rem;
	border-radius: 50%;
	position: relative;
	background: linear-gradient(315deg, #38be72 0%, #038960 100%)
}

.p-workLink_background--blue {
	background: linear-gradient(315deg, #3ae8dc 0%, #009efd 100%)
}

.p-workLink_background--orange {
	background: linear-gradient(315deg, #e1ea00 0%, #ff6833 100%)
}

.p-workLink_background--green {
	background: linear-gradient(315deg, #38be72 0%, #99cc00 100%)
}

.p-workLink_background::before {
	content: "";
	width: 12rem;
	height: 12rem;
	border-radius: 50%;
	top: 50%;
	position: absolute;
	display: block;
	left: 50%;
	background-color: #fff;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%)
}

@media screen and (max-width: 767px) {
	.p-workLink_background {
		width: 6rem;
		height: 6rem
	}

	.p-workLink_background::before {
		width: 5.5rem;
		height: 5.5rem
	}
}

.p-workLink_text {
	font-size: 1.4rem;
	font-weight: 300;
	line-height: 1.7142857143;
	letter-spacing: .05em;
	text-align: center;
	margin: 1.5rem 0 0
}

@media screen and (max-width: 767px) {
	.p-workLink_text {
		font-size: 1.2rem;
		margin: .5rem 0 0;
		line-height: 1.5
	}
}

@media screen and (max-width: 767px) {
	.p-work_title {
		font-size: 2.4rem
	}
}

@media screen and (max-width: 767px) {
	.p-work_subTitle {
		line-height: 1.4
	}
}

@media screen and (max-width: 767px) {
	.p-work_subTitle--small {
		line-height: 1.3333333333
	}
}

.p-work_en {
	font-size: 1.6rem
}

.p-work_box {
	max-width: 62rem;
	width: 100%;
	margin: 0 auto
}

.p-work_container {
	margin: 10rem 0 0
}

@media screen and (min-width: 768px) {
	.p-workLink:hover .p-workLink_image::before {
		opacity: .6
	}
}

.u-bgcolor-black {
	background-color: #3e3a39
}

.u-bgcolor-snow {
	background-color: #fdfdfd
}

.u-bgcolor-summerGreen {
	background-color: #008e3c
}

.u-bgcolor-cyan {
	background-color: #09f
}

.u-bgcolor-tomato {
	background-color: #ff6833
}

.u-bgcolor-yellowGreen {
	background-color: #9c0
}

.u-bgcolor-aliceblue {
	background-color: #f2f6fa
}

.u-flex-1 {
	flex: 1 1
}

.u-fw-thin {
	font-weight: 100
}

.u-fw-extraLight {
	font-weight: 200
}

.u-fw-light {
	font-weight: 300
}

.u-fw-normal {
	font-weight: 400
}

.u-fw-medium {
	font-weight: 500
}

.u-fw-semiBold {
	font-weight: 600
}

.u-fw-bold {
	font-weight: 700
}

.u-fw-extraBold {
	font-weight: 800
}

.u-fw-black {
	font-weight: 900
}

.u-mb-0 {
	margin-bottom: 0rem
}

@media screen and (max-width: 767px) {
	.u-mb-0 {
		margin-bottom: calc(0rem/ 2)
	}
}

.u-mb-1 {
	margin-bottom: 1rem
}

@media screen and (max-width: 767px) {
	.u-mb-1 {
		margin-bottom: calc(1rem/ 2)
	}
}

.u-mb-2 {
	margin-bottom: 2rem
}

@media screen and (max-width: 767px) {
	.u-mb-2 {
		margin-bottom: calc(2rem/ 2)
	}
}

.u-mb-3 {
	margin-bottom: 3rem
}

@media screen and (max-width: 767px) {
	.u-mb-3 {
		margin-bottom: calc(3rem/ 2)
	}
}

.u-mb-4 {
	margin-bottom: 4rem
}

@media screen and (max-width: 767px) {
	.u-mb-4 {
		margin-bottom: calc(4rem/ 2)
	}
}

.u-mb-5 {
	margin-bottom: 5rem
}

@media screen and (max-width: 767px) {
	.u-mb-5 {
		margin-bottom: calc(5rem/ 2)
	}
}

.u-mb-6 {
	margin-bottom: 6rem
}

@media screen and (max-width: 767px) {
	.u-mb-6 {
		margin-bottom: calc(6rem/ 2)
	}
}

.u-mb-7 {
	margin-bottom: 7rem
}

@media screen and (max-width: 767px) {
	.u-mb-7 {
		margin-bottom: calc(7rem/ 2)
	}
}

.u-mb-8 {
	margin-bottom: 8rem
}

@media screen and (max-width: 767px) {
	.u-mb-8 {
		margin-bottom: calc(8rem/ 2)
	}
}

.u-mb-9 {
	margin-bottom: 9rem
}

@media screen and (max-width: 767px) {
	.u-mb-9 {
		margin-bottom: calc(9rem/ 2)
	}
}

.u-mb-10 {
	margin-bottom: 10rem
}

@media screen and (max-width: 767px) {
	.u-mb-10 {
		margin-bottom: calc(10rem/ 2)
	}
}

.u-mb-11 {
	margin-bottom: 11rem
}

@media screen and (max-width: 767px) {
	.u-mb-11 {
		margin-bottom: calc(11rem/ 2)
	}
}

.u-mb-12 {
	margin-bottom: 12rem
}

@media screen and (max-width: 767px) {
	.u-mb-12 {
		margin-bottom: calc(12rem/ 2)
	}
}

.u-mb-13 {
	margin-bottom: 13rem
}

@media screen and (max-width: 767px) {
	.u-mb-13 {
		margin-bottom: calc(13rem/ 2)
	}
}

.u-mb-14 {
	margin-bottom: 14rem
}

@media screen and (max-width: 767px) {
	.u-mb-14 {
		margin-bottom: calc(14rem/ 2)
	}
}

.u-mb-15 {
	margin-bottom: 15rem
}

@media screen and (max-width: 767px) {
	.u-mb-15 {
		margin-bottom: calc(15rem/ 2)
	}
}

.u-mb-16 {
	margin-bottom: 16rem
}

@media screen and (max-width: 767px) {
	.u-mb-16 {
		margin-bottom: calc(16rem/ 2)
	}
}

.u-mb-17 {
	margin-bottom: 17rem
}

@media screen and (max-width: 767px) {
	.u-mb-17 {
		margin-bottom: calc(17rem/ 2)
	}
}

.u-mb-18 {
	margin-bottom: 18rem
}

@media screen and (max-width: 767px) {
	.u-mb-18 {
		margin-bottom: calc(18rem/ 2)
	}
}

.u-mb-19 {
	margin-bottom: 19rem
}

@media screen and (max-width: 767px) {
	.u-mb-19 {
		margin-bottom: calc(19rem/ 2)
	}
}

.u-mb-20 {
	margin-bottom: 20rem
}

@media screen and (max-width: 767px) {
	.u-mb-20 {
		margin-bottom: calc(20rem/ 2)
	}
}

.u-ml-0 {
	margin-left: 0rem
}

@media screen and (max-width: 767px) {
	.u-ml-0 {
		margin-left: calc(0rem/ 2)
	}
}

.u-ml-1 {
	margin-left: 1rem
}

@media screen and (max-width: 767px) {
	.u-ml-1 {
		margin-left: calc(1rem/ 2)
	}
}

.u-ml-2 {
	margin-left: 2rem
}

@media screen and (max-width: 767px) {
	.u-ml-2 {
		margin-left: calc(2rem/ 2)
	}
}

.u-ml-3 {
	margin-left: 3rem
}

@media screen and (max-width: 767px) {
	.u-ml-3 {
		margin-left: calc(3rem/ 2)
	}
}

.u-ml-4 {
	margin-left: 4rem
}

@media screen and (max-width: 767px) {
	.u-ml-4 {
		margin-left: calc(4rem/ 2)
	}
}

.u-ml-5 {
	margin-left: 5rem
}

@media screen and (max-width: 767px) {
	.u-ml-5 {
		margin-left: calc(5rem/ 2)
	}
}

.u-ml-6 {
	margin-left: 6rem
}

@media screen and (max-width: 767px) {
	.u-ml-6 {
		margin-left: calc(6rem/ 2)
	}
}

.u-ml-7 {
	margin-left: 7rem
}

@media screen and (max-width: 767px) {
	.u-ml-7 {
		margin-left: calc(7rem/ 2)
	}
}

.u-ml-8 {
	margin-left: 8rem
}

@media screen and (max-width: 767px) {
	.u-ml-8 {
		margin-left: calc(8rem/ 2)
	}
}

.u-ml-9 {
	margin-left: 9rem
}

@media screen and (max-width: 767px) {
	.u-ml-9 {
		margin-left: calc(9rem/ 2)
	}
}

.u-ml-10 {
	margin-left: 10rem
}

@media screen and (max-width: 767px) {
	.u-ml-10 {
		margin-left: calc(10rem/ 2)
	}
}

.u-ml-11 {
	margin-left: 11rem
}

@media screen and (max-width: 767px) {
	.u-ml-11 {
		margin-left: calc(11rem/ 2)
	}
}

.u-ml-12 {
	margin-left: 12rem
}

@media screen and (max-width: 767px) {
	.u-ml-12 {
		margin-left: calc(12rem/ 2)
	}
}

.u-ml-13 {
	margin-left: 13rem
}

@media screen and (max-width: 767px) {
	.u-ml-13 {
		margin-left: calc(13rem/ 2)
	}
}

.u-ml-14 {
	margin-left: 14rem
}

@media screen and (max-width: 767px) {
	.u-ml-14 {
		margin-left: calc(14rem/ 2)
	}
}

.u-ml-15 {
	margin-left: 15rem
}

@media screen and (max-width: 767px) {
	.u-ml-15 {
		margin-left: calc(15rem/ 2)
	}
}

.u-ml-16 {
	margin-left: 16rem
}

@media screen and (max-width: 767px) {
	.u-ml-16 {
		margin-left: calc(16rem/ 2)
	}
}

.u-ml-17 {
	margin-left: 17rem
}

@media screen and (max-width: 767px) {
	.u-ml-17 {
		margin-left: calc(17rem/ 2)
	}
}

.u-ml-18 {
	margin-left: 18rem
}

@media screen and (max-width: 767px) {
	.u-ml-18 {
		margin-left: calc(18rem/ 2)
	}
}

.u-ml-19 {
	margin-left: 19rem
}

@media screen and (max-width: 767px) {
	.u-ml-19 {
		margin-left: calc(19rem/ 2)
	}
}

.u-ml-20 {
	margin-left: 20rem
}

@media screen and (max-width: 767px) {
	.u-ml-20 {
		margin-left: calc(20rem/ 2)
	}
}

.u-mr-0 {
	margin-right: 0rem
}

@media screen and (max-width: 767px) {
	.u-mr-0 {
		margin-right: calc(0rem/ 2)
	}
}

.u-mr-1 {
	margin-right: 1rem
}

@media screen and (max-width: 767px) {
	.u-mr-1 {
		margin-right: calc(1rem/ 2)
	}
}

.u-mr-2 {
	margin-right: 2rem
}

@media screen and (max-width: 767px) {
	.u-mr-2 {
		margin-right: calc(2rem/ 2)
	}
}

.u-mr-3 {
	margin-right: 3rem
}

@media screen and (max-width: 767px) {
	.u-mr-3 {
		margin-right: calc(3rem/ 2)
	}
}

.u-mr-4 {
	margin-right: 4rem
}

@media screen and (max-width: 767px) {
	.u-mr-4 {
		margin-right: calc(4rem/ 2)
	}
}

.u-mr-5 {
	margin-right: 5rem
}

@media screen and (max-width: 767px) {
	.u-mr-5 {
		margin-right: calc(5rem/ 2)
	}
}

.u-mr-6 {
	margin-right: 6rem
}

@media screen and (max-width: 767px) {
	.u-mr-6 {
		margin-right: calc(6rem/ 2)
	}
}

.u-mr-7 {
	margin-right: 7rem
}

@media screen and (max-width: 767px) {
	.u-mr-7 {
		margin-right: calc(7rem/ 2)
	}
}

.u-mr-8 {
	margin-right: 8rem
}

@media screen and (max-width: 767px) {
	.u-mr-8 {
		margin-right: calc(8rem/ 2)
	}
}

.u-mr-9 {
	margin-right: 9rem
}

@media screen and (max-width: 767px) {
	.u-mr-9 {
		margin-right: calc(9rem/ 2)
	}
}

.u-mr-10 {
	margin-right: 10rem
}

@media screen and (max-width: 767px) {
	.u-mr-10 {
		margin-right: calc(10rem/ 2)
	}
}

.u-mr-11 {
	margin-right: 11rem
}

@media screen and (max-width: 767px) {
	.u-mr-11 {
		margin-right: calc(11rem/ 2)
	}
}

.u-mr-12 {
	margin-right: 12rem
}

@media screen and (max-width: 767px) {
	.u-mr-12 {
		margin-right: calc(12rem/ 2)
	}
}

.u-mr-13 {
	margin-right: 13rem
}

@media screen and (max-width: 767px) {
	.u-mr-13 {
		margin-right: calc(13rem/ 2)
	}
}

.u-mr-14 {
	margin-right: 14rem
}

@media screen and (max-width: 767px) {
	.u-mr-14 {
		margin-right: calc(14rem/ 2)
	}
}

.u-mr-15 {
	margin-right: 15rem
}

@media screen and (max-width: 767px) {
	.u-mr-15 {
		margin-right: calc(15rem/ 2)
	}
}

.u-mr-16 {
	margin-right: 16rem
}

@media screen and (max-width: 767px) {
	.u-mr-16 {
		margin-right: calc(16rem/ 2)
	}
}

.u-mr-17 {
	margin-right: 17rem
}

@media screen and (max-width: 767px) {
	.u-mr-17 {
		margin-right: calc(17rem/ 2)
	}
}

.u-mr-18 {
	margin-right: 18rem
}

@media screen and (max-width: 767px) {
	.u-mr-18 {
		margin-right: calc(18rem/ 2)
	}
}

.u-mr-19 {
	margin-right: 19rem
}

@media screen and (max-width: 767px) {
	.u-mr-19 {
		margin-right: calc(19rem/ 2)
	}
}

.u-mr-20 {
	margin-right: 20rem
}

@media screen and (max-width: 767px) {
	.u-mr-20 {
		margin-right: calc(20rem/ 2)
	}
}

.u-mt-0 {
	margin-top: 0rem
}

@media screen and (max-width: 767px) {
	.u-mt-0 {
		margin-top: calc(0rem/ 2)
	}
}

.u-mt-1 {
	margin-top: 1rem
}

@media screen and (max-width: 767px) {
	.u-mt-1 {
		margin-top: calc(1rem/ 2)
	}
}

.u-mt-2 {
	margin-top: 2rem
}

@media screen and (max-width: 767px) {
	.u-mt-2 {
		margin-top: calc(2rem/ 2)
	}
}

.u-mt-3 {
	margin-top: 3rem
}

@media screen and (max-width: 767px) {
	.u-mt-3 {
		margin-top: calc(3rem/ 2)
	}
}

.u-mt-4 {
	margin-top: 4rem
}

@media screen and (max-width: 767px) {
	.u-mt-4 {
		margin-top: calc(4rem/ 2)
	}
}

.u-mt-5 {
	margin-top: 5rem
}

@media screen and (max-width: 767px) {
	.u-mt-5 {
		margin-top: calc(5rem/ 2)
	}
}

.u-mt-6 {
	margin-top: 6rem
}

@media screen and (max-width: 767px) {
	.u-mt-6 {
		margin-top: calc(6rem/ 2)
	}
}

.u-mt-7 {
	margin-top: 7rem
}

@media screen and (max-width: 767px) {
	.u-mt-7 {
		margin-top: calc(7rem/ 2)
	}
}

.u-mt-8 {
	margin-top: 8rem
}

@media screen and (max-width: 767px) {
	.u-mt-8 {
		margin-top: calc(8rem/ 2)
	}
}

.u-mt-9 {
	margin-top: 9rem
}

@media screen and (max-width: 767px) {
	.u-mt-9 {
		margin-top: calc(9rem/ 2)
	}
}

.u-mt-10 {
	margin-top: 10rem
}

@media screen and (max-width: 767px) {
	.u-mt-10 {
		margin-top: calc(10rem/ 2)
	}
}

.u-mt-11 {
	margin-top: 11rem
}

@media screen and (max-width: 767px) {
	.u-mt-11 {
		margin-top: calc(11rem/ 2)
	}
}

.u-mt-12 {
	margin-top: 12rem
}

@media screen and (max-width: 767px) {
	.u-mt-12 {
		margin-top: calc(12rem/ 2)
	}
}

.u-mt-13 {
	margin-top: 13rem
}

@media screen and (max-width: 767px) {
	.u-mt-13 {
		margin-top: calc(13rem/ 2)
	}
}

.u-mt-14 {
	margin-top: 14rem
}

@media screen and (max-width: 767px) {
	.u-mt-14 {
		margin-top: calc(14rem/ 2)
	}
}

.u-mt-15 {
	margin-top: 15rem
}

@media screen and (max-width: 767px) {
	.u-mt-15 {
		margin-top: calc(15rem/ 2)
	}
}

.u-mt-16 {
	margin-top: 16rem
}

@media screen and (max-width: 767px) {
	.u-mt-16 {
		margin-top: calc(16rem/ 2)
	}
}

.u-mt-17 {
	margin-top: 17rem
}

@media screen and (max-width: 767px) {
	.u-mt-17 {
		margin-top: calc(17rem/ 2)
	}
}

.u-mt-18 {
	margin-top: 18rem
}

@media screen and (max-width: 767px) {
	.u-mt-18 {
		margin-top: calc(18rem/ 2)
	}
}

.u-mt-19 {
	margin-top: 19rem
}

@media screen and (max-width: 767px) {
	.u-mt-19 {
		margin-top: calc(19rem/ 2)
	}
}

.u-mt-20 {
	margin-top: 20rem
}

@media screen and (max-width: 767px) {
	.u-mt-20 {
		margin-top: calc(20rem/ 2)
	}
}

@media screen and (max-width: 767px) {
	.u-mt-1--sp {
		margin-top: 1rem
	}
}

@media screen and (min-width: 768px) {
	.u-mt-7--pc {
		margin-top: 7rem
	}
}

.u-mt-4--keep {
	margin-top: 4rem
}

.u-mt-5--keep {
	margin-top: 5rem
}

.u-mt-6--keep {
	margin-top: 6rem
}

.u-mt-8--keep {
	margin-top: 8rem
}

.u-mt-12--keep {
	margin-top: 12rem
}

.u-pb-0 {
	padding-bottom: 0rem
}

@media screen and (max-width: 767px) {
	.u-pb-0 {
		padding-bottom: calc(0rem/ 2)
	}
}

.u-pb-1 {
	padding-bottom: 1rem
}

@media screen and (max-width: 767px) {
	.u-pb-1 {
		padding-bottom: calc(1rem/ 2)
	}
}

.u-pb-2 {
	padding-bottom: 2rem
}

@media screen and (max-width: 767px) {
	.u-pb-2 {
		padding-bottom: calc(2rem/ 2)
	}
}

.u-pb-3 {
	padding-bottom: 3rem
}

@media screen and (max-width: 767px) {
	.u-pb-3 {
		padding-bottom: calc(3rem/ 2)
	}
}

.u-pb-4 {
	padding-bottom: 4rem
}

@media screen and (max-width: 767px) {
	.u-pb-4 {
		padding-bottom: calc(4rem/ 2)
	}
}

.u-pb-5 {
	padding-bottom: 5rem
}

@media screen and (max-width: 767px) {
	.u-pb-5 {
		padding-bottom: calc(5rem/ 2)
	}
}

.u-pb-6 {
	padding-bottom: 6rem
}

@media screen and (max-width: 767px) {
	.u-pb-6 {
		padding-bottom: calc(6rem/ 2)
	}
}

.u-pb-7 {
	padding-bottom: 7rem
}

@media screen and (max-width: 767px) {
	.u-pb-7 {
		padding-bottom: calc(7rem/ 2)
	}
}

.u-pb-8 {
	padding-bottom: 8rem
}

@media screen and (max-width: 767px) {
	.u-pb-8 {
		padding-bottom: calc(8rem/ 2)
	}
}

.u-pb-9 {
	padding-bottom: 9rem
}

@media screen and (max-width: 767px) {
	.u-pb-9 {
		padding-bottom: calc(9rem/ 2)
	}
}

.u-pb-10 {
	padding-bottom: 10rem
}

@media screen and (max-width: 767px) {
	.u-pb-10 {
		padding-bottom: calc(10rem/ 2)
	}
}

.u-pb-11 {
	padding-bottom: 11rem
}

@media screen and (max-width: 767px) {
	.u-pb-11 {
		padding-bottom: calc(11rem/ 2)
	}
}

.u-pb-12 {
	padding-bottom: 12rem
}

@media screen and (max-width: 767px) {
	.u-pb-12 {
		padding-bottom: calc(12rem/ 2)
	}
}

.u-pb-13 {
	padding-bottom: 13rem
}

@media screen and (max-width: 767px) {
	.u-pb-13 {
		padding-bottom: calc(13rem/ 2)
	}
}

.u-pb-14 {
	padding-bottom: 14rem
}

@media screen and (max-width: 767px) {
	.u-pb-14 {
		padding-bottom: calc(14rem/ 2)
	}
}

.u-pb-15 {
	padding-bottom: 15rem
}

@media screen and (max-width: 767px) {
	.u-pb-15 {
		padding-bottom: calc(15rem/ 2)
	}
}

.u-pb-16 {
	padding-bottom: 16rem
}

@media screen and (max-width: 767px) {
	.u-pb-16 {
		padding-bottom: calc(16rem/ 2)
	}
}

.u-pb-17 {
	padding-bottom: 17rem
}

@media screen and (max-width: 767px) {
	.u-pb-17 {
		padding-bottom: calc(17rem/ 2)
	}
}

.u-pb-18 {
	padding-bottom: 18rem
}

@media screen and (max-width: 767px) {
	.u-pb-18 {
		padding-bottom: calc(18rem/ 2)
	}
}

.u-pb-19 {
	padding-bottom: 19rem
}

@media screen and (max-width: 767px) {
	.u-pb-19 {
		padding-bottom: calc(19rem/ 2)
	}
}

.u-pb-20 {
	padding-bottom: 20rem
}

@media screen and (max-width: 767px) {
	.u-pb-20 {
		padding-bottom: calc(20rem/ 2)
	}
}

.u-pl-0 {
	padding-left: 0rem
}

@media screen and (max-width: 767px) {
	.u-pl-0 {
		padding-left: calc(0rem/ 2)
	}
}

.u-pl-1 {
	padding-left: 1rem
}

@media screen and (max-width: 767px) {
	.u-pl-1 {
		padding-left: calc(1rem/ 2)
	}
}

.u-pl-2 {
	padding-left: 2rem
}

@media screen and (max-width: 767px) {
	.u-pl-2 {
		padding-left: calc(2rem/ 2)
	}
}

.u-pl-3 {
	padding-left: 3rem
}

@media screen and (max-width: 767px) {
	.u-pl-3 {
		padding-left: calc(3rem/ 2)
	}
}

.u-pl-4 {
	padding-left: 4rem
}

@media screen and (max-width: 767px) {
	.u-pl-4 {
		padding-left: calc(4rem/ 2)
	}
}

.u-pl-5 {
	padding-left: 5rem
}

@media screen and (max-width: 767px) {
	.u-pl-5 {
		padding-left: calc(5rem/ 2)
	}
}

.u-pl-6 {
	padding-left: 6rem
}

@media screen and (max-width: 767px) {
	.u-pl-6 {
		padding-left: calc(6rem/ 2)
	}
}

.u-pl-7 {
	padding-left: 7rem
}

@media screen and (max-width: 767px) {
	.u-pl-7 {
		padding-left: calc(7rem/ 2)
	}
}

.u-pl-8 {
	padding-left: 8rem
}

@media screen and (max-width: 767px) {
	.u-pl-8 {
		padding-left: calc(8rem/ 2)
	}
}

.u-pl-9 {
	padding-left: 9rem
}

@media screen and (max-width: 767px) {
	.u-pl-9 {
		padding-left: calc(9rem/ 2)
	}
}

.u-pl-10 {
	padding-left: 10rem
}

@media screen and (max-width: 767px) {
	.u-pl-10 {
		padding-left: calc(10rem/ 2)
	}
}

.u-pl-11 {
	padding-left: 11rem
}

@media screen and (max-width: 767px) {
	.u-pl-11 {
		padding-left: calc(11rem/ 2)
	}
}

.u-pl-12 {
	padding-left: 12rem
}

@media screen and (max-width: 767px) {
	.u-pl-12 {
		padding-left: calc(12rem/ 2)
	}
}

.u-pl-13 {
	padding-left: 13rem
}

@media screen and (max-width: 767px) {
	.u-pl-13 {
		padding-left: calc(13rem/ 2)
	}
}

.u-pl-14 {
	padding-left: 14rem
}

@media screen and (max-width: 767px) {
	.u-pl-14 {
		padding-left: calc(14rem/ 2)
	}
}

.u-pl-15 {
	padding-left: 15rem
}

@media screen and (max-width: 767px) {
	.u-pl-15 {
		padding-left: calc(15rem/ 2)
	}
}

.u-pl-16 {
	padding-left: 16rem
}

@media screen and (max-width: 767px) {
	.u-pl-16 {
		padding-left: calc(16rem/ 2)
	}
}

.u-pl-17 {
	padding-left: 17rem
}

@media screen and (max-width: 767px) {
	.u-pl-17 {
		padding-left: calc(17rem/ 2)
	}
}

.u-pl-18 {
	padding-left: 18rem
}

@media screen and (max-width: 767px) {
	.u-pl-18 {
		padding-left: calc(18rem/ 2)
	}
}

.u-pl-19 {
	padding-left: 19rem
}

@media screen and (max-width: 767px) {
	.u-pl-19 {
		padding-left: calc(19rem/ 2)
	}
}

.u-pl-20 {
	padding-left: 20rem
}

@media screen and (max-width: 767px) {
	.u-pl-20 {
		padding-left: calc(20rem/ 2)
	}
}

.u-pos-re {
	position: relative
}

.u-pos-ab {
	position: absolute
}

.u-pr-0 {
	padding-right: 0rem
}

@media screen and (max-width: 767px) {
	.u-pr-0 {
		padding-right: calc(0rem/ 2)
	}
}

.u-pr-1 {
	padding-right: 1rem
}

@media screen and (max-width: 767px) {
	.u-pr-1 {
		padding-right: calc(1rem/ 2)
	}
}

.u-pr-2 {
	padding-right: 2rem
}

@media screen and (max-width: 767px) {
	.u-pr-2 {
		padding-right: calc(2rem/ 2)
	}
}

.u-pr-3 {
	padding-right: 3rem
}

@media screen and (max-width: 767px) {
	.u-pr-3 {
		padding-right: calc(3rem/ 2)
	}
}

.u-pr-4 {
	padding-right: 4rem
}

@media screen and (max-width: 767px) {
	.u-pr-4 {
		padding-right: calc(4rem/ 2)
	}
}

.u-pr-5 {
	padding-right: 5rem
}

@media screen and (max-width: 767px) {
	.u-pr-5 {
		padding-right: calc(5rem/ 2)
	}
}

.u-pr-6 {
	padding-right: 6rem
}

@media screen and (max-width: 767px) {
	.u-pr-6 {
		padding-right: calc(6rem/ 2)
	}
}

.u-pr-7 {
	padding-right: 7rem
}

@media screen and (max-width: 767px) {
	.u-pr-7 {
		padding-right: calc(7rem/ 2)
	}
}

.u-pr-8 {
	padding-right: 8rem
}

@media screen and (max-width: 767px) {
	.u-pr-8 {
		padding-right: calc(8rem/ 2)
	}
}

.u-pr-9 {
	padding-right: 9rem
}

@media screen and (max-width: 767px) {
	.u-pr-9 {
		padding-right: calc(9rem/ 2)
	}
}

.u-pr-10 {
	padding-right: 10rem
}

@media screen and (max-width: 767px) {
	.u-pr-10 {
		padding-right: calc(10rem/ 2)
	}
}

.u-pr-11 {
	padding-right: 11rem
}

@media screen and (max-width: 767px) {
	.u-pr-11 {
		padding-right: calc(11rem/ 2)
	}
}

.u-pr-12 {
	padding-right: 12rem
}

@media screen and (max-width: 767px) {
	.u-pr-12 {
		padding-right: calc(12rem/ 2)
	}
}

.u-pr-13 {
	padding-right: 13rem
}

@media screen and (max-width: 767px) {
	.u-pr-13 {
		padding-right: calc(13rem/ 2)
	}
}

.u-pr-14 {
	padding-right: 14rem
}

@media screen and (max-width: 767px) {
	.u-pr-14 {
		padding-right: calc(14rem/ 2)
	}
}

.u-pr-15 {
	padding-right: 15rem
}

@media screen and (max-width: 767px) {
	.u-pr-15 {
		padding-right: calc(15rem/ 2)
	}
}

.u-pr-16 {
	padding-right: 16rem
}

@media screen and (max-width: 767px) {
	.u-pr-16 {
		padding-right: calc(16rem/ 2)
	}
}

.u-pr-17 {
	padding-right: 17rem
}

@media screen and (max-width: 767px) {
	.u-pr-17 {
		padding-right: calc(17rem/ 2)
	}
}

.u-pr-18 {
	padding-right: 18rem
}

@media screen and (max-width: 767px) {
	.u-pr-18 {
		padding-right: calc(18rem/ 2)
	}
}

.u-pr-19 {
	padding-right: 19rem
}

@media screen and (max-width: 767px) {
	.u-pr-19 {
		padding-right: calc(19rem/ 2)
	}
}

.u-pr-20 {
	padding-right: 20rem
}

@media screen and (max-width: 767px) {
	.u-pr-20 {
		padding-right: calc(20rem/ 2)
	}
}

.u-pt-0 {
	padding-top: 0rem
}

@media screen and (max-width: 767px) {
	.u-pt-0 {
		padding-top: calc(0rem/ 2)
	}
}

.u-pt-1 {
	padding-top: 1rem
}

@media screen and (max-width: 767px) {
	.u-pt-1 {
		padding-top: calc(1rem/ 2)
	}
}

.u-pt-2 {
	padding-top: 2rem
}

@media screen and (max-width: 767px) {
	.u-pt-2 {
		padding-top: calc(2rem/ 2)
	}
}

.u-pt-3 {
	padding-top: 3rem
}

@media screen and (max-width: 767px) {
	.u-pt-3 {
		padding-top: calc(3rem/ 2)
	}
}

.u-pt-4 {
	padding-top: 4rem
}

@media screen and (max-width: 767px) {
	.u-pt-4 {
		padding-top: calc(4rem/ 2)
	}
}

.u-pt-5 {
	padding-top: 5rem
}

@media screen and (max-width: 767px) {
	.u-pt-5 {
		padding-top: calc(5rem/ 2)
	}
}

.u-pt-6 {
	padding-top: 6rem
}

@media screen and (max-width: 767px) {
	.u-pt-6 {
		padding-top: calc(6rem/ 2)
	}
}

.u-pt-7 {
	padding-top: 7rem
}

@media screen and (max-width: 767px) {
	.u-pt-7 {
		padding-top: calc(7rem/ 2)
	}
}

.u-pt-8 {
	padding-top: 8rem
}

@media screen and (max-width: 767px) {
	.u-pt-8 {
		padding-top: calc(8rem/ 2)
	}
}

.u-pt-9 {
	padding-top: 9rem
}

@media screen and (max-width: 767px) {
	.u-pt-9 {
		padding-top: calc(9rem/ 2)
	}
}

.u-pt-10 {
	padding-top: 10rem
}

@media screen and (max-width: 767px) {
	.u-pt-10 {
		padding-top: calc(10rem/ 2)
	}
}

.u-pt-11 {
	padding-top: 11rem
}

@media screen and (max-width: 767px) {
	.u-pt-11 {
		padding-top: calc(11rem/ 2)
	}
}

.u-pt-12 {
	padding-top: 12rem
}

@media screen and (max-width: 767px) {
	.u-pt-12 {
		padding-top: calc(12rem/ 2)
	}
}

.u-pt-13 {
	padding-top: 13rem
}

@media screen and (max-width: 767px) {
	.u-pt-13 {
		padding-top: calc(13rem/ 2)
	}
}

.u-pt-14 {
	padding-top: 14rem
}

@media screen and (max-width: 767px) {
	.u-pt-14 {
		padding-top: calc(14rem/ 2)
	}
}

.u-pt-15 {
	padding-top: 15rem
}

@media screen and (max-width: 767px) {
	.u-pt-15 {
		padding-top: calc(15rem/ 2)
	}
}

.u-pt-16 {
	padding-top: 16rem
}

@media screen and (max-width: 767px) {
	.u-pt-16 {
		padding-top: calc(16rem/ 2)
	}
}

.u-pt-17 {
	padding-top: 17rem
}

@media screen and (max-width: 767px) {
	.u-pt-17 {
		padding-top: calc(17rem/ 2)
	}
}

.u-pt-18 {
	padding-top: 18rem
}

@media screen and (max-width: 767px) {
	.u-pt-18 {
		padding-top: calc(18rem/ 2)
	}
}

.u-pt-19 {
	padding-top: 19rem
}

@media screen and (max-width: 767px) {
	.u-pt-19 {
		padding-top: calc(19rem/ 2)
	}
}

.u-pt-20 {
	padding-top: 20rem
}

@media screen and (max-width: 767px) {
	.u-pt-20 {
		padding-top: calc(20rem/ 2)
	}
}

.u-pt-7--keep {
	padding-top: 7rem
}

.u-ta-center {
	text-align: center
}

.u-ta-cele {
	text-align: center
}

@media screen and (max-width: 767px) {
	.u-ta-cele {
		text-align: left
	}
}

.u-ta-right {
	text-align: right
}

.u-ti-1 {
	text-indent: -1em;
	padding-left: 1em
}

.u-ti-bracket {
	text-indent: -2.5rem;
	padding-left: 2.5rem
}

/*# sourceMappingURL=map/style.css.map */

.formarea {

	.item {
		display: flex;
		width: 100%;
		margin-top: 20px;
		padding-bottom: 20px;
		border-bottom: 1px dotted #ccc;

		&:first-child {
			padding-top: 20px;
			border-top: 1px dotted #ccc;
		}

		.th {
			width: 240px;
			font-size: 14px;
			font-weight: bold;

			span {
				display: inline-block;
				background: #f00;
				color: #fff;
				font-weight: 400;
				margin-left: 5px;
				padding: 2px 3px;
				font-size: 12px;
				border-radius: 3px;
			}
		}

		.td {
			width: calc(100% - 240px);
			font-size: 14px;

			input[type="text"],
			input[type="mail"],
			select,
			textarea {
				display: block;
				width: 100%;
				height: 34px;
				padding: 6px 12px;
				font-size: 14px;
				line-height: 1.42857143;
				color: #555;
				background-color: #fff;
				background-image: none;
				border: 1px solid #ccc;
				border-radius: 4px;

				&::placeholder {
					color: #999;
				}
			}

			textarea {
				height: auto;
			}

			input[type="radio"],
			input[type="checkbox"] {
				all: revert;
			}

			input.zip {
				display: inline-block;
				width: 8em;
			}

			select {
				appearance: base-select;
			}

			select.prefecture {
				width: 10em;
			}

			.col2 {
				display: flex;
				gap: 20px;

				>div {
					width: calc((100% - 20px) / 2);
				}
			}

			.col {
				display: flex;
				gap: 20px;
			}

			>div+div {
				margin-top: 10px;
			}

			p {
				margin-top: 10px;
			}
		}
	}

	p.center {
		text-align: center;
		font-size: 14px;
		margin-top: 30px;
	}

	.submit {
		text-align: center;
		margin-top: 30px;

		input {
			display: inline-block;
			cursor: pointer;
			padding: 12px 65px;
			background: #008F3D;
			border: 1px solid #008F3D;
			color: #fff;
			font-size: 18px;
			border-radius: 8px;

			&:hover {
				background: #fff;
				color: #008F3D;
			}
		}
	}

	.error_mes {
		color: #f00;
		font-size: 14px;
		line-height: 1.7;
		padding-bottom: 20px;
	}
}


.news-content .text-right {
	text-align: right;
}


@media screen and (min-width: 768px) {
	.news-content .mr-left-28 {
		margin-left: 28rem;
	}

	.news-content .mr-left-9 {
		margin-left: 9rem;
	}

}

.new-green {
	margin-right: 1rem;
	padding-right: 0.5rem;
	padding-left: 0.5rem;
	border: 1px solid #008e3c;
	color: #008e3c;
	font-size: 14px;
}

.c-container {
	display: flex;
	align-items: center;
}