@font-face {
	font-family: "swiper-icons";
	src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
	font-weight: 400;
	font-style: normal
}
:root {
	--swiper-theme-color: #007aff
}
.swiper {
	margin-left: auto;
	margin-right: auto;
	position: relative;
	overflow: hidden;
	list-style: none;
	padding: 0;
	z-index: 1
}
.swiper-vertical>.swiper-wrapper {
	flex-direction: column
}
.swiper-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	transition-property: transform;
	box-sizing: content-box
}
.swiper-android .swiper-slide, .swiper-wrapper {
	transform: translate3d(0px, 0, 0)
}
.swiper-pointer-events {
	touch-action: pan-y
}
.swiper-pointer-events.swiper-vertical {
	touch-action: pan-x
}
.swiper-slide {
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	position: relative;
	transition-property: transform
}
.swiper-slide-invisible-blank {
	visibility: hidden
}
.swiper-autoheight, .swiper-autoheight .swiper-slide {
	height: auto
}
.swiper-autoheight .swiper-wrapper {
	align-items: flex-start;
	transition-property: transform, height
}
.swiper-backface-hidden .swiper-slide {
	transform: translateZ(0);
	backface-visibility: hidden
}
.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
	perspective: 1200px
}
.swiper-3d .swiper-wrapper, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-cube-shadow {
	transform-style: preserve-3d
}
.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-slide-shadow-bottom {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 10
}
.swiper-3d .swiper-slide-shadow {
	background: rgba(0, 0, 0, .15)
}
.swiper-3d .swiper-slide-shadow-left {
	background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}
.swiper-3d .swiper-slide-shadow-right {
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}
.swiper-3d .swiper-slide-shadow-top {
	background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}
.swiper-3d .swiper-slide-shadow-bottom {
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}
.swiper-css-mode>.swiper-wrapper {
	overflow: auto;
	scrollbar-width: none;
	-ms-overflow-style: none
}
.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
	display: none
}
.swiper-css-mode>.swiper-wrapper>.swiper-slide {
	scroll-snap-align: start start
}
.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
	scroll-snap-type: x mandatory
}
.swiper-vertical.swiper-css-mode>.swiper-wrapper {
	scroll-snap-type: y mandatory
}
.swiper-centered>.swiper-wrapper::before {
	content: "";
	flex-shrink: 0;
	order: 9999
}
.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
	-webkit-margin-start: var(--swiper-centered-offset-before);
	margin-inline-start: var(--swiper-centered-offset-before)
}
.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
	height: 100%;
	width: var(--swiper-centered-offset-after)
}
.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
	-webkit-margin-before: var(--swiper-centered-offset-before);
	margin-block-start: var(--swiper-centered-offset-before)
}
.swiper-centered.swiper-vertical>.swiper-wrapper::before {
	width: 100%;
	height: var(--swiper-centered-offset-after)
}
.swiper-centered>.swiper-wrapper>.swiper-slide {
	scroll-snap-align: center center;
	scroll-snap-stop: always
}
body {
	margin: 0;
	padding: 0;
	border: none
}
img, div, p, blockquote, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, form, fieldset, textarea, address, main, article, aside, figure, footer, header, hgroup, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	text-decoration: none;
	list-style-type: none
}
main, article, aside, figure, footer, header, hgroup, nav, section {
	display: block
}
h1, h2, h3, h4, h5, h6 {
	font-weight: inherit
}
table {
	border: none;
	border-collapse: collapse;
	border-spacing: 0
}
th, td {
	text-align: left;
	vertical-align: top
}
caption {
	text-align: left
}
a, a:focus, a:hover, a:active {
	outline: 0
}
input, input:focus, input:hover, input:active, textarea, textarea:focus, textarea:hover, textarea:active {
	outline: 0
}
img {
	vertical-align: top
}
html {
	font-size: 10px
}
@media only screen and (min-width: 1500px) {
	html {
		font-size: 12.5px
	}
}
body {
	color: #000;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.4rem;
	line-height: 2;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}
@media only screen and (max-width: 1023px) {
	html {
		font-size: 2.57vw
	}
	body {
		line-height: 1.72
	}
}
::-moz-selection {
	background: #098bde;
	color: #fff
}
::selection {
	background: #098bde;
	color: #fff
}
@keyframes anchor {
	0% {
		background-position: right bottom;
		background-size: 100% auto
	}
	50% {
		background-position: right bottom;
		background-size: 0% auto
	}
	50.1% {
		background-position: left bottom;
		background-size: 0% auto
	}
	100% {
		background-position: left bottom;
		background-size: 100% auto
	}
}
a {
	background: linear-gradient(to top, currentColor 0px, currentColor 1.1px, transparent 1px) no-repeat right bottom;
	background-size: 100% auto;
	color: inherit;
	text-decoration: none
}
a[href^=tel] {
	background: none;
	cursor: default
}
@media(hover: hover) {
	a:hover {
		animation: anchor .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
	}
}
img {
	width: 100%;
	height: auto
}
input[type=text], input[type=tel], input[type=email], input[type=password], textarea {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	color: #000;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	outline: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
input[type=text]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=password]::-moz-placeholder, textarea::-moz-placeholder {
	color: #999
}
input[type=text]:-moz-placeholder-shown, input[type=tel]:-moz-placeholder-shown, input[type=email]:-moz-placeholder-shown, input[type=password]:-moz-placeholder-shown, textarea:-moz-placeholder-shown {
	color: #999
}
input[type=text]::placeholder, input[type=text]:placeholder-shown, input[type=tel]::placeholder, input[type=tel]:placeholder-shown, input[type=email]::placeholder, input[type=email]:placeholder-shown, input[type=password]::placeholder, input[type=password]:placeholder-shown, textarea::placeholder, textarea:placeholder-shown {
	color: #999
}
input[type=text]::-webkit-input-placeholder, input[type=tel]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, input[type=password]::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
	color: #999
}
input[type=text]:-moz-placeholder, input[type=tel]:-moz-placeholder, input[type=email]:-moz-placeholder, input[type=password]:-moz-placeholder, textarea:-moz-placeholder {
	color: #999
}
input[type=text]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=password]::-moz-placeholder, textarea::-moz-placeholder {
	color: #999
}
input[type=text]:-ms-input-placeholder, input[type=tel]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, input[type=password]:-ms-input-placeholder, textarea:-ms-input-placeholder {
	color: #999
}
input::-ms-clear {
	visibility: hidden
}
input::-ms-reveal {
	visibility: hidden
}
select {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	color: #000;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	outline: 0;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
select::-ms-expand {
	display: none
}
button {
	box-sizing: border-box;
	outline: 0;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
.symbols {
	display: none;
	position: absolute;
	top: 0;
	left: 0
}
.header {
	display: flex;
	align-items: center;
	position: fixed;
	top: 2.5rem;
	right: 2.5rem;
	left: 2.5rem;
	z-index: 10
}
.header__logo {
	transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition-property: filter, -webkit-clip-path;
	transition-property: filter, clip-path;
	transition-property: filter, clip-path, -webkit-clip-path;
	width: 40.4rem;
	-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
}
.header__logo a {
	display: block;
	position: relative;
	background: none
}
.header__logo a::before {
	transition: opacity .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	background: url(../img/common/logo.svg) no-repeat center center;
	background-size: contain;
	opacity: 0;
	filter: brightness(0) invert(1)
}
.header__logo a img {
	transition: opacity .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
}
.header__menu {
	display: none
}
.header__nav {
	margin-left: auto
}
.header .h-nav {
	display: flex
}
.header .h-nav__list {
	display: flex;
	padding: 0 2.5rem;
	line-height: 1.5;
	font-weight: 500
}
.header .h-nav__list .nav-top {
	display: none
}
.header .h-nav__list li.active a .c-drawline {
	background-position: left bottom;
	background-size: 100% auto
}
.header .h-nav__list a {
	transition: color .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	display: flex;
	align-items: center;
	height: 4.2rem;
	padding: 0 1.5rem;
	background: none
}
.header .h-nav__list .c-arw {
	display: none
}
.header .h-nav__cv {
	display: flex;
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	font-weight: 500;
	line-height: 1.5
}
.header .h-nav__cv a {
	transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition-property: border-color, background, color;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 13rem;
	height: 4.2rem;
	padding-bottom: .2rem;
	border: #098bde solid 1px;
	border-radius: 2.1rem;
	background: #098bde;
	color: #fff
}
.header .h-nav__cv a .txt dd {
	display: none
}
.header .h-nav__cv a .c-arw {
	display: none
}
@media(hover: hover) {
	.header .h-nav__cv a:hover {
		background: none;
		color: #098bde
	}
}
.header .h-nav__cv a span {
	display: block
}
.header.scrolled .header__logo {
	-webkit-clip-path: polygon(0% 0%, 7.5rem 0%, 7.5rem 100%, 0% 100%);
	clip-path: polygon(0% 0%, 7.5rem 0%, 7.5rem 100%, 0% 100%);
}
.header.color-white .header__logo a::before {
	opacity: 1
}
.header.color-white .header__logo a img {
	opacity: 0
}
.header.color-white .h-nav__list a {
	color: #fff
}
.header.color-white .h-nav__cv a {
	border-color: #fff;
	background: none
}
@media(hover: hover) {
	.header.color-white .h-nav__cv a:hover {
		background: #fff;
		color: #000
	}
}
@media only screen and (max-width: 1199px) {
	.header .h-nav__list {
		padding: 0 .8rem 0 0
	}
	.header .h-nav__list a {
		padding: 0 .8rem
	}
	.header .h-nav__cv {
		-moz-column-gap: .8rem;
		column-gap: .8rem
	}
	.header .h-nav__cv a {
		width: 10rem
	}
}
@media only screen and (max-width: 1023px) {
	.header {
		position: static
	}
	.header__logo {
		position: fixed;
		top: 2rem;
		left: 2rem;
		z-index: 11;
		width: 24.5rem
	}
	.header__menu {
		display: block;
		overflow: hidden;
		text-indent: -5260px;
		transition: border-color .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
		box-sizing: border-box;
		position: fixed;
		right: 2rem;
		bottom: 2rem;
		z-index: 11;
		width: 5.5rem;
		height: 5.5rem;
		margin: 0;
		padding: 0;
		border: #098bde solid 1px;
		border-radius: 50%;
		background: #098bde
	}
	.header__menu .line {
		display: block;
		position: absolute;
		left: calc(50% - 1.2rem);
		width: 2.4rem;
		height: 2px;
		margin-top: -1px;
		background: #fff
	}
	.header__menu .line:nth-child(1) {
		top: calc(50% - .8rem)
	}
	.header__menu .line:nth-child(2) {
		top: 50%
	}
	.header__menu .line:nth-child(3) {
		top: calc(50% + .8rem)
	}
	.header__nav {
		transition: visibility 0s linear .4s, -webkit-clip-path .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
		transition: visibility 0s linear .4s, clip-path .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
		transition: visibility 0s linear .4s, clip-path .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s, -webkit-clip-path .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
		visibility: hidden;
		overflow: auto;
		position: fixed;
		inset: 0;
		z-index: 10;
		background: #098bde;
		overscroll-behavior: none;
		-webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
		clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
		pointer-events: none
	}
	.header .h-nav {
		display: block;
		padding: 8rem 3rem
	}
	.header .h-nav__list {
		display: block;
		padding: 0;
		border-top: rgba(255, 255, 255, .4) solid 1px;
		font-size: 1.9rem
	}
	.header .h-nav__list li {
		border-bottom: rgba(255, 255, 255, .4) solid 1px
	}
	.header .h-nav__list .nav-top {
		display: block
	}
	.header .h-nav__list a {
		justify-content: space-between;
		height: auto;
		padding: 2rem 0;
		color: #fff
	}
	.header .h-nav__list .c-drawline {
		background: none
	}
	.header .h-nav__list .c-arw {
		display: flex;
		width: 2.6rem;
		margin-left: 2rem
	}
	.header .h-nav__list .c-arw::before {
		border: #fff solid 1px
	}
	.header .h-nav__list .c-arw .arw {
		width: 1.1rem;
		fill: #fff
	}
	.header .h-nav__cv {
		display: flex;
		flex-direction: column;
		row-gap: 2rem;
		margin-top: 4rem;
		font-size: 1.3rem;
		font-weight: 400
	}
	.header .h-nav__cv a {
		justify-content: space-between;
		width: auto;
		height: 10rem;
		padding: 0 2rem 0 2.5rem;
		border: none;
		border-radius: 1rem;
		background: #fff;
		color: #000
	}
	.header .h-nav__cv a .txt dt {
		margin-bottom: .5rem;
		color: #098bde;
		font-size: 1.9rem;
		font-weight: 500
	}
	.header .h-nav__cv a .txt dd {
		display: block
	}
	.header .h-nav__cv a .c-arw {
		display: flex;
		width: 2.6rem;
		margin-left: 2rem
	}
	.header .h-nav__cv a .c-arw::before {
		border: #098bde solid 1px
	}
	.header .h-nav__cv a .c-arw .arw {
		width: 1.1rem;
		fill: #098bde
	}
}
@media only screen and (max-width: 1023px)and (hover: hover) {
	.header .h-nav__cv a:hover {
		background: #fff;
		color: #000
	}
}
@media only screen and (max-width: 1023px) {
	.header.scrolled .header__logo {
		-webkit-clip-path: polygon(0% 0%, 4.5rem 0%, 4.5rem 100%, 0% 100%);
		clip-path: polygon(0% 0%, 4.5rem 0%, 4.5rem 100%, 0% 100%)
	}
	.header.color-white .h-nav__list a {
		color: #fff
	}
	.header.color-white .h-nav__cv a {
		background: #fff
	}
	.header.nav-open .header__logo {
		-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
	}
	.header.nav-open .header__logo a::before {
		opacity: 1
	}
	.header.nav-open .header__logo a img {
		opacity: 0
	}
	.header.nav-open .header__menu {
		border-color: #fff
	}
	.header.nav-open .header__menu .line:nth-child(1) {
		transform: rotate(45deg);
		top: 50%
	}
	.header.nav-open .header__menu .line:nth-child(2) {
		opacity: 0
	}
	.header.nav-open .header__menu .line:nth-child(3) {
		transform: rotate(-45deg);
		top: 50%
	}
	.header.nav-open .header__nav {
		transition: visibility 0s linear 0s, -webkit-clip-path .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
		transition: visibility 0s linear 0s, clip-path .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
		transition: visibility 0s linear 0s, clip-path .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s, -webkit-clip-path .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
		visibility: visible;
		-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
		pointer-events: auto
	}
}
.main {
	position: relative
}
body:not(.page-home) .main {
	padding-bottom: 14rem;
}
.main__head {
	position: relative;
	z-index: 1;
	padding-top: 16rem;
	margin-right: max(5.5rem, (100% - 106rem)/2);
	margin-left: max(5.5rem, (100% - 106rem)/2)
}
.main__headAnclinks.c-anclinks {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 24rem;
	padding-top: 4rem;
	padding-right: 3rem;
	padding-left: 5.5rem;
	background: #fff
}
.main__breadcrumbs {
	display: flex;
	margin-bottom: 8rem;
	font-size: 1.2rem;
	line-height: 1.5;
	white-space: nowrap
}
.main__breadcrumbs li {
	position: relative;
	overflow: hidden;
	text-overflow: ellipsis
}
.main__breadcrumbs li:not(:last-child) {
	flex-shrink: 0;
	width: auto;
	padding-right: 1.5rem;
	margin-right: 1.5rem
}
.main__breadcrumbs li:not(:last-child)::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - .6rem);
	right: 0;
	width: 1px;
	height: 1.2rem;
	background: #e0e0e0
}
.main__breadcrumbs li a {
	color: #a7a7a7
}
.main__ttl {
	padding-bottom: 12rem
}
.main__ttl .en {
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 8rem;
	font-weight: 600;
	line-height: 1.2
}
.main__ttl .ja {
	margin-top: .5rem;
	color: #098bde;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5
}
.main__eyecatch {
	--y: 0;
	display: block;
	overflow: hidden;
	position: relative;
	z-index: 1;
	aspect-ratio: 1300/500;
	margin-bottom: 20rem
}
.main__eyecatch img {
	transform: translateY(max(-33.33%, -1 * var(--y) * 0.25px))
}
.main__eyecatch+.main__aside {
	z-index: 0
}
.main__aside {
	box-sizing: border-box;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	width: 24rem;
	padding-right: 3rem;
	padding-left: 5.5rem;
	border-left: #e0e0e0 solid 1px
}
/* .category .main__aside ,
	.page-contact .main__aside {
		border: none;
} */

.main__asideInner {
	display: flex;
	align-items: center;
	overflow: hidden;
	position: sticky;
	top: 0;
	height: 100vh;
	height: 100svh
}
.main__anclinks.c-anclinks[data-scrollvisible-target] {
	transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition-property: transform, opacity;
	transform: translateX(10rem);
	opacity: 0
}
.main__anclinks.c-anclinks[data-scrollvisible-target].visibled {
	transform: translateX(0);
	opacity: 1
}
.main__body {
	position: relative;
	z-index: 1
}
.main--2col .main__head {
	margin-right: 0;
	padding-right: 29.5rem
}
.main--2col .main__body {
	margin-right: 24rem
}
.archive-cases .main--2col .main__body {
	margin-right: 0
}
@media only screen and (max-width: 1023px) {
	.main__head {
		padding-top: 9rem;
		margin-right: 3rem;
		margin-left: 3rem
	}
	.main__headAnclinks.c-anclinks {
		display: none
	}
	.main__breadcrumbs {
		margin-bottom: 3rem;
		font-size: 1.1rem
	}
	.main__breadcrumbs li:not(:last-child) {
		padding-right: 1rem;
		margin-right: 1rem
	}
	.main__ttl {
		padding-bottom: 5rem
	}
	.main__ttl .en {
		font-size: 5.1rem
	}
	.main__ttl .ja {
		margin-top: 0;
		font-size: 1.6rem
	}
	.main__eyecatch {
		aspect-ratio: auto;
		margin-bottom: 5rem
	}
	.main__eyecatch img {
		transform: none
	}
	.main__aside {
		position: static;
		width: auto;
		margin-bottom: 8rem;
		padding-left: 3rem;
		border-left: none
	}
	.category .main__aside {
		margin-top: 8rem;
		margin-bottom: 0;
	}
	.main__asideInner {
		display: block;
		overflow: visible;
		position: static;
		height: auto
	}
	.main__anclinks.c-anclinks ,
		.main__anclinks.d-anclinks {
			display: grid;
		grid-template-columns: 1fr 1fr;
		-moz-column-gap: 1rem;
		column-gap: 1rem;
		row-gap: 1rem
	}
	.main__anclinks.c-anclinks li ,
		.main__anclinks.d-anclinks li {
			display: flex
	}
	.main__anclinks.c-anclinks li a ,
		.main__anclinks.d-anclinks li a {
			display: flex;
		justify-content: center;
		align-items: center;
		flex-grow: 1;
		padding: 1.5rem;
		border: #e0e0e0 solid 1px;
		border-radius: .8rem
	}
	.main__anclinks.c-anclinks li a::before,
		.main__anclinks.d-anclinks li a::before {
			display: none
	}
	.main__anclinks.c-anclinks li a .c-drawline ,
		.main__anclinks.d-anclinks li a .c-drawline {
			background: none
	}
	.main__anclinks.c-anclinks[data-scrollvisible-target] {
		transition: none;
		transform: none;
		opacity: 1
	}
	.main__body {
		position: relative;
		z-index: 1
	}
	.main--2col .main__head {
		margin-right: 3rem;
		padding-right: 0
	}
	.main--2col .main__body {
		margin-right: 0
	}
}
.section {
	scroll-margin-top: 10rem
}
.section:not(:last-child) {
	padding-bottom: 20rem
}
.section__container {
	box-sizing: border-box;
	max-width: 117rem;
	margin-right: auto;
	margin-left: auto;
	padding-right: 5.5rem;
	padding-left: 5.5rem
}
@media only screen and (max-width: 1023px) {
	.section__container {
		max-width: none;
		padding-right: 3rem;
		padding-left: 3rem
	}
}
.section__container p + p{
	margin-top: 2em;
}

.section__ttl {
	margin-bottom: 7rem
}
.section__ttl .ja {
	position: relative;
	margin-bottom: 1rem;
	padding-left: 1.2rem;
	color: #098bde;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5
}
.section__ttl .ja::before {
	content: "";
	display: block;
	position: absolute;
	top: calc(.75em - .3rem);
	left: 0;
	width: .6rem;
	height: .6rem;
	border-radius: 50%;
	background: currentColor
}
.section__ttl .en {
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 5.9rem;
	font-weight: 600;
	line-height: 1.2
}
.section__ttl.js-cliptext .ja::before {
	opacity: 0
}
.section__ttl.js-cliptext.visibled .ja::before {
	transition: opacity .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	opacity: 1
}
.main--2col .section__container {
	max-width: 93rem
}
@media only screen and (max-width: 1023px) {
	.section:not(:last-child) {
		padding-bottom: 10rem
	}
	.section__ttl {
		margin-bottom: 3.5rem
	}
	.section__ttl .ja {
		margin-bottom: .5rem;
		font-size: 1.3rem
	}
	.section__ttl .en {
		font-size: 4.3rem
	}
}
.footer__container {
	box-sizing: border-box;
	max-width: 117rem;
	margin-right: auto;
	margin-left: auto;
	padding-right: 5.5rem;
	padding-left: 5.5rem;
	max-width: 121rem
}
@media only screen and (max-width: 1023px) {
	.footer__container {
		max-width: none;
		padding-right: 3rem;
		padding-left: 3rem
	}
}
.footer__contact {
	position: relative;
	z-index: 1
}
.footer .f-contact {
	display: flex;
	justify-content: space-between;
	align-items: center;
	overflow: hidden;
	position: relative;
	height: 33rem;
	padding: 0 8rem;
	background-image: linear-gradient(130deg, #00beff 0%, #0098ec 35%, #007bd7 55%, #0062c4 75%, #004bb1 100%);
	color: #fff
}
.footer .f-contact::before {
	transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition-property: transform, opacity;
	transform: scale(1.05);
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	z-index: 0;
	background: url(../img/home/contact_bg.jpg) no-repeat center center;
	background-size: cover;
	opacity: 0
}
.footer .f-contact__txt {
	position: relative;
	z-index: 1;
	font-weight: 500;
	line-height: 1.72
}
.footer .f-contact__ttl {
	margin-bottom: 5rem
}
.footer .f-contact__ttl .en {
	margin-bottom: .5rem;
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 6.7rem;
	font-weight: 600;
	line-height: 1.2
}
.footer .f-contact__ttl .ja {
	font-size: 1.8rem;
	line-height: 1.5
}
.footer .f-contact .c-arw {
	position: relative;
	z-index: 1;
	width: 8rem
}
.footer .f-contact .c-arw::before {
	border: #fff solid 1px
}
.footer .f-contact .c-arw .arw {
	width: 2rem;
	fill: #fff
}
@media(hover: hover) {
	.footer .f-contact:hover::before {
		transform: scale(1);
		opacity: 1
	}
}
.footer__body {
	position: relative;
	z-index: 0;
	margin-top: -16.5rem;
    padding: 24.5rem 0 9rem;
	background: #ededed
}
.footer__row {
	display: flex;
	justify-content: space-between;
	-moz-column-gap: 5.5rem;
	column-gap: 5.5rem;
	align-items: center
}
.footer__row:not(:first-child) {
	margin-top: 6rem
}
.footer__logo {
	display: block;
	width: 35rem;
	background: none
}
.footer__nav {
	display: flex;
	align-items: flex-start;
	-moz-column-gap: 3rem;
	column-gap: 3rem;
	margin-top: 4rem;
	font-weight: 500;
	line-height: 1.5
}
.footer__nav .c-arw {
	display: none
}
.footer__banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 3rem;
	width: 30rem
}
.footer__banner a {
	display: block;
	transition: opacity .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
}
@media(hover: hover) {
	.footer__banner a:hover {
		opacity: .7
	}
}
.footer__lower {
	align-items: center
}
.footer__lower .footer__col {
	display: flex;
	-moz-column-gap: 3rem;
	column-gap: 3rem;
	align-items: center
}
.footer__links {
	font-size: 1.2rem;
	line-height: 1.5
}
.footer__copyright {
	font-size: 1.2rem
}
@media only screen and (max-width: 1099px) {
	.footer__nav {
		-moz-column-gap: 2rem;
		column-gap: 2rem
	}
}
@media only screen and (max-width: 1023px) {
	.footer__container {
		max-width: none
	}
	.footer .f-contact {
		box-sizing: border-box;
		display: block;
		height: 26rem;
		padding: 4rem 3rem 0
	}
	.footer .f-contact::before {
		display: none
	}
	.footer .f-contact__ttl {
		margin-bottom: 3rem
	}
	.footer .f-contact__ttl .en {
		font-size: 5.1rem
	}
	.footer .f-contact__ttl .ja {
		font-size: 1.6rem
	}
	.footer .f-contact .c-arw {
		position: absolute;
		right: 1.5rem;
		bottom: 1.5rem;
		width: 4rem
	}
	.footer .f-contact .c-arw .arw {
		width: 1.2rem
	}
	.footer__body {
		margin-top: -13rem;
		padding: 19rem 0 8rem
	}
	.footer__row {
		display: block
	}
	.footer__row:not(:first-child) {
		margin-top: 4rem
	}
	.footer__logo {
		width: 28rem
	}
	.footer__nav {
		display: block;
		margin-top: 2.5rem;
		border-top: #e0e0e0 solid 1px
	}
	.footer__nav li {
		border-bottom: #e0e0e0 solid 1px
	}
	.footer__nav li a {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 1.8rem 1.5rem 1.8rem 0;
		background: none
	}
	.footer__nav .c-arw {
		display: flex;
		width: 2rem;
		margin-left: 1.5rem
	}
	.footer__nav .c-arw::before {
		border: #098bde solid 1px
	}
	.footer__nav .c-arw .arw {
		width: .8rem;
		fill: #098bde
	}
	.footer__banner {
		display: grid;
		width: auto;
		margin-top: 4rem;
		grid-template-columns: 1fr;
        row-gap: 2rem;
	}
	.footer__lower {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		row-gap: 1.5rem
	}
	.footer__lower .footer__col {
		display: block
	}
}
.c-drawline {
	transition: background-size .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	background: linear-gradient(to top, currentColor 0px, currentColor 1.1px, transparent 1px) no-repeat right bottom;
	background-position: right bottom;
	background-size: 0% auto
}
.d-anclinks {
    display: flex;
    flex-direction: column;
    row-gap: 2rem;
    font-weight: 500;
    line-height: 1.5;
}
.d-anclinks li a {
    display: inline-block;
    position: relative;
    padding-left: 1.5rem;
    background: none;
}
.d-anclinks li a::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(.75em - .3rem);
    left: 0;
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    background: #098bde;
    opacity: 1;
}
@media(hover: hover) {
	a.c-drawline:hover, a:hover .c-drawline {
		animation: none;
		background-position: left bottom;
		background-size: 100% auto
	}
}
@keyframes arw-r {
	0% {
		transform: translateX(0);
		opacity: 1
	}
	50% {
		transform: translateX(100%);
		opacity: 0
	}
	50.1% {
		transform: translateX(-100%);
		opacity: 0
	}
	100% {
		transform: translateX(0);
		opacity: 1
	}
}
.c-arw {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	position: relative;
	aspect-ratio: 1/1;
	border-radius: 50%
}
.c-arw::before {
	transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition-property: transform, background;
	box-sizing: border-box;
	content: "";
	display: block;
	position: absolute;
	inset: 0;
	border-radius: 50%
}
.c-arw .arw {
	transition: fill .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	display: block;
	position: relative;
	z-index: 1;
	aspect-ratio: 1/1
}
@media(hover: hover) {
	a:hover .c-arw .arw--r {
		animation: arw-r .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
	}
}
.c-anclinks {
	display: flex;
	flex-direction: column;
	row-gap: 2rem;
	font-weight: 500;
	line-height: 1.5
}
.c-anclinks li a {
	display: inline-block;
	position: relative;
	padding-left: 1.5rem;
	background: none
}
.c-anclinks li a::before {
	content: "";
	display: block;
	position: absolute;
	top: calc(.75em - .3rem);
	left: 0;
	width: .6rem;
	height: .6rem;
	border-radius: 50%;
	background: #098bde;
	opacity: 0
}
.c-anclinks li a.active::before {
	opacity: 1
}
.c-form {
	scroll-margin-top: 10rem
}
.c-form__message {
	margin-bottom: 4rem;
	font-size: 1.5rem;
	font-weight: 500
}
.c-form__message:not(:first-child) {
	margin-top: 10rem
}
.c-form__item {
	padding: 3rem 0;
	border-top: #e0e0e0 solid 1px;
	border-bottom: #e0e0e0 solid 1px
}
.c-form__item+.c-form__item {
	border-top: none
}
.c-form__item dt {
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5
}
.c-form__item dt .req {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	height: 2rem;
	margin-left: 1rem;
	padding: 0 .5rem;
	border: currentColor solid 1px;
	border-radius: .5rem;
	color: #098bde;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1
}
.c-form__name {
	display: grid;
	grid-template-columns: 1fr 1fr;
	-moz-column-gap: 2rem;
	column-gap: 2rem;
	max-width: 43rem
}
.c-form__name .c-form-text {
	margin-top: 0 !important
}
.c-form__caption {
	margin-top: .5rem;
	font-size: 1.2rem;
	line-height: 1.5
}
.c-form__privacy {
	padding: 7rem 0 0;
	border-bottom: none
}
.c-form__privacy dt {
	justify-content: center
}
.c-form__privacy dd {
	text-align: center
}
.c-form__privacyInner {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 8.5rem;
	border: #e0e0e0 solid 1px;
	border-radius: 2rem
}
.c-form__btns {
	display: flex;
	justify-content: center;
	-moz-column-gap: 3rem;
	column-gap: 3rem;
	margin-top: 6rem
}
.c-form__btns li {
	flex: 1;
	max-width: 26rem
}
.c-form__btn {
	transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition-property: background, color;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 5rem;
	margin: 0;
	padding: 0;
	border: #098bde solid 1px;
	border-radius: 2.5rem;
	background: #098bde;
	color: #fff;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5
}
@media(hover: hover) {
	.c-form__btn:hover {
		background: none;
		color: #098bde
	}
}
.c-form__btn--secondary {
	background: none;
	color: #098bde
}
.c-form__note {
	margin-top: 3rem;
	font-size: 1.2rem
}
.wpcf7-turnstile{
    display: flex;
    justify-content: center;
    margin-top: 3rem;
}
.c-form-step {
	display: flex;
	flex-direction: column;
	row-gap: 2rem;
	font-weight: 500;
	line-height: 1.5
}
.c-form-step li {
	position: relative;
	padding-left: 1.5rem
}
.c-form-step li::before {
	content: "";
	display: block;
	position: absolute;
	top: calc(.75em - .3rem);
	left: 0;
	width: .7rem;
	height: .7rem;
	border-radius: 50%;
	background: #e0e0e0
}
.c-form-step li:not(:last-child)::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(100% - .25rem);
	left: .3rem;
	width: 1px;
	height: 2.5rem;
	background: #e0e0e0
}
.c-form-step li.active::before {
	background: #098bde
}
.c-form-text, .c-form-select {
	display: block;
	max-width: 44rem
}
.c-form-text:not(:first-child), .c-form-select:not(:first-child) {
	margin-top: 1.5rem
}
.c-form-text .label, .c-form-select .label {
	display: block;
	margin-bottom: .5rem;
	line-height: 1.5
}
.c-form-text--s, .c-form-select--s {
	max-width: 33rem
}
.c-form-text--l, .c-form-select--l {
	max-width: 53rem
}
.c-form-text input {
	width: 100%;
	height: 5rem;
	margin: 0;
	padding: 0 1.5rem;
	border: none;
	border-radius: .4rem;
	background: #f2f2f2;
	font-size: 1.4rem;
	line-height: 1.72
}
.c-form-text input.invalid {
	background: rgba(255, 0, 0, .05)
}
.c-form-select .select {
	position: relative
}
.c-form-select .select::after {
	transform: rotate(45deg);
	transform-origin: right bottom;
	content: "";
	box-sizing: border-box;
	position: absolute;
	right: 2.2rem;
	bottom: calc(50% - .3rem);
	z-index: 1;
	width: 1rem;
	height: 1rem;
	border-right: #000 solid 1px;
	border-bottom: #000 solid 1px;
	pointer-events: none
}
.c-form-select .select select {
	position: relative;
	z-index: 0;
	width: 100%;
	height: 5rem;
	margin: 0;
	padding: 0 4.5rem 0 1.5rem;
	border: none;
	border-radius: .4rem;
	background: #f2f2f2;
	font-size: 1.4rem;
	line-height: 1.72
}
.c-form-select .select select.invalid {
	background: rgba(255, 0, 0, .05)
}
.c-form-textarea textarea {
	width: 100%;
	height: 30rem;
	margin: 0;
	padding: 1.5rem;
	border: none;
	border-radius: .4rem;
	background: #f2f2f2;
	font-size: 1.4rem;
	line-height: 1.72;
	resize: vertical
}
.c-form-textarea textarea.invalid {
	background: rgba(255, 0, 0, .05)
}
.c-form-checkbox {
	display: flex;
	align-items: flex-start;
	font-weight: 500;
	line-height: 1.72
}
.c-form-checkbox input[type=checkbox] {
	box-sizing: border-box;
	position: relative;
	top: calc(.86em - 1rem);
	width: 2rem;
	height: 2rem;
	margin: 0 1rem 0 0;
	padding: 0;
	border: #e0e0e0 solid 1px;
	border-radius: .4rem;
	outline: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}
.c-form-checkbox input[type=checkbox]::before {
	content: "";
	transform: rotate(-45deg);
	box-sizing: border-box;
	display: block;
	position: absolute;
	top: .2rem;
	left: .1rem;
	width: 1.5rem;
	height: 1rem;
	border-bottom: #098bde solid 3px;
	border-left: #098bde solid 3px;
	opacity: 0
}
.c-form-checkbox input[type=checkbox]:checked::before {
	opacity: 1
}
.c-form-error {
	margin-top: .5rem;
	color: red;
	line-height: 1.5
}
@media only screen and (max-width: 1023px) {
	.c-form__message {
		margin-bottom: 3rem;
		font-size: 1.4rem
	}
	.c-form__message:not(:first-child) {
		margin-top: 7rem
	}
	.c-form__item {
		padding: 2.5rem 0
	}
	.c-form__item dt {
		align-items: center;
		margin-bottom: 1.5rem;
		font-size: 1.4rem
	}
	.c-form__name {
		max-width: none
	}
	.c-form__privacy {
		padding: 4rem 0 0
	}
	.c-form__privacyInner {
		height: auto;
		border: none;
		border-radius: 0
	}
	.c-form__btns {
		flex-direction: column;
		align-items: center;
		row-gap: 2rem;
		margin-top: 4rem
	}
	.c-form__btns li {
		width: 26rem
	}
	.c-form__btn {
		font-size: 1.4rem
	}
	.c-form__note {
		margin-top: 2rem
	}
	.c-form-step {
		flex-direction: row;
		justify-content: center;
		-moz-column-gap: 10.5rem;
		column-gap: 10.5rem;
		padding: 2rem 0;
		border: #e0e0e0 solid 1px;
		border-radius: .8rem
	}
	.c-form-step li {
		width: .7rem;
		height: .7rem;
		padding-top: 3rem;
		padding-left: 0
	}
	.c-form-step li .label {
		transform: translateX(-50%);
		position: absolute;
		top: 0;
		left: 50%;
		white-space: nowrap
	}
	.c-form-step li::before {
		position: static
	}
	.c-form-step li:not(:last-child)::after {
		top: auto;
		bottom: .3rem;
		left: calc(100% + 1rem);
		width: 8.5rem;
		height: 1px
	}
	.c-form-text, .c-form-select {
		max-width: none
	}
	.c-form-text:not(:first-child), .c-form-select:not(:first-child) {
		margin-top: 1rem
	}
	.c-form-text--s, .c-form-select--s {
		max-width: none
	}
	.c-form-text--l, .c-form-select--l {
		max-width: none
	}
	.c-form-textarea textarea {
		height: 25rem
	}
}
.js-cliptext {
	--delay: 0s
}
.js-cliptext__line {
	display: inline-block;
	-webkit-clip-path: polygon(0% 105%, 100% 105%, 100% 105%, 0% 105%);
	clip-path: polygon(0% 105%, 100% 105%, 100% 105%, 0% 105%);
	opacity: 0
}
.js-cliptext.visibled .js-cliptext__line {
	transition: -webkit-clip-path .8s cubic-bezier(0.645, 0.045, 0.355, 1) var(--delay);
	transition: clip-path .8s cubic-bezier(0.645, 0.045, 0.355, 1) var(--delay);
	transition: clip-path .8s cubic-bezier(0.645, 0.045, 0.355, 1) var(--delay), -webkit-clip-path .8s cubic-bezier(0.645, 0.045, 0.355, 1) var(--delay);
	transition-property: opacity, -webkit-clip-path;
	transition-property: clip-path, opacity;
	transition-property: clip-path, opacity, -webkit-clip-path;
	-webkit-clip-path: polygon(0% -5%, 100% -5%, 100% 105%, 0% 105%);
	clip-path: polygon(0% -5%, 100% -5%, 100% 105%, 0% 105%);
	opacity: 1
}
.js-accordion__summary {
	outline: 0;
	cursor: pointer
}
.js-accordion__body {
	overflow: hidden
}
.p-home-fv {
	position: relative;
	height: 100vh;
	height: 100svh;
}
.p-home-fv__shadow {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	opacity: 0
}
.p-home-fv__shadow::before {
	content: "";
	display: block;
	position: sticky;
	top: 0;
	height: 14rem;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0))
}
.p-home-fv__slider {
	overflow: hidden;
	position: relative;
	z-index: 0;
	height: 100%
}
.p-home-fv__copy {
	position: absolute;
	top: calc(50% - 10.2rem);
	left: 7.69%;
	z-index: 2;
	aspect-ratio: 280/105;
	width: 80rem;
	font-weight: bold;
	fill: #fff;
	filter: drop-shadow(0 0 5rem rgba(0, 0, 0, 0.35));
	pointer-events: none
}
.p-home-fv__copy path {
	-webkit-clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
	clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%)
}
.p-home-fv__copy path:nth-of-type(1) {
	--delay: 0.4s
}
.p-home-fv__copy path:nth-of-type(2) {
	--delay: 0.5s
}
.p-home-fv__images {
	position: relative;
	z-index: 0;
	width: 100%;
	height: 100%
}
.p-home-fv__images .img {
	transition: all .8s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition-property: filter, opacity;
	display: block;
	position: absolute;
	inset: 0;
	z-index: 0;
	filter: brightness(2);
	opacity: 0
}
.p-home-fv__images .img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}
.p-home-fv__images .img.active {
	z-index: 1;
	filter: brightness(1);
	opacity: 1
}
.p-home-fv__controls {
	display: flex;
	align-items: center;
	position: absolute;
	bottom: 2rem;
	left: 2rem;
	z-index: 2;
	color: #fff
}
.p-home-fv__dots {
	display: flex;
	-moz-column-gap: .5rem;
	column-gap: .5rem
}
.p-home-fv__dots .dot {
	transition: opacity .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	opacity: .6;
	cursor: pointer
}
.p-home-fv__dots .dot .icon {
	display: block;
	position: relative
}
.p-home-fv__dots .dot .icon::before {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - .4rem);
	left: calc(50% - .4rem);
	width: .8rem;
	height: .8rem;
	border-radius: 50%;
	background: currentColor
}
.p-home-fv__dots .dot .line {
	transform: rotate(-90deg);
	display: block;
	overflow: visible;
	width: 2.4rem;
	height: 2.4rem
}
.p-home-fv__dots .dot .line circle {
	fill: none;
	stroke: currentColor;
	stroke-width: 1px;
	stroke-dasharray: 0 315%;
	opacity: 0
}
.p-home-fv__dots .dot .caption {
	display: none
}
@media(hover: hover) {
	.p-home-fv__dots .dot:hover {
		opacity: 1
	}
}
.p-home-fv__dots .dot.active {
	opacity: 1
}
.p-home-fv__dots .dot.active .line circle {
	opacity: 1
}
.p-home-fv__caption {
	margin-left: 1.5rem;
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.2;
	display: none;
}
.p-home-fv__banner {
	visibility: hidden;
	position: absolute;
	right: 3rem;
	bottom: 3rem;
	z-index: 1;
	width: 22rem;
	font-size: 1.2rem;
	line-height: 1.5;
	opacity: 0
}
.p-home-fv__banner li+li {
	margin-top: 1rem
}
.p-home-fv__banner a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 8rem;
	padding: 0 1.5rem 0 2rem;
	border-radius: .8rem;
	background: #fff
}
.p-home-fv__banner a .en {
	color: #098bde;
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 2.1rem;
	font-weight: 700;
	line-height: 1.2
}
.p-home-fv__banner a .c-arw {
	width: 2.2rem
}
.p-home-fv__banner a .c-arw::before {
	border: #098bde solid 1px
}
.p-home-fv__banner a .c-arw .arw {
	width: .9rem;
	fill: #098bde
}
@media(hover: hover) {
	.p-home-fv__banner a:hover .c-arw::before {
		transform: scale(1.27);
		background: #098bde
	}
	.p-home-fv__banner a:hover .c-arw .arw {
		fill: #fff
	}
}
.p-home-fv.loaded .p-home-fv__shadow {
	transition: opacity .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	opacity: 1
}
.p-home-fv.loaded .p-home-fv__copy path {
	transition: -webkit-clip-path .6s cubic-bezier(0.645, 0.045, 0.355, 1) var(--delay);
	transition: clip-path .6s cubic-bezier(0.645, 0.045, 0.355, 1) var(--delay);
	transition: clip-path .6s cubic-bezier(0.645, 0.045, 0.355, 1) var(--delay), -webkit-clip-path .6s cubic-bezier(0.645, 0.045, 0.355, 1) var(--delay);
	-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
	clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
}
.p-home-fv.loaded .p-home-fv__banner {
	transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) .4s;
	transition-property: visibility, opacity;
	visibility: visible;
	opacity: 1
}
@media only screen and (max-width: 1023px) {
	.p-home-fv {
		height: auto;
		margin-bottom: 3rem
	}
	.p-home-fv__shadow {
		display: none
	}
	.p-home-fv__slider {
		height: min(166.67vw, 100vh - 13rem);
		height: min(166.67vw, 100svh - 13rem)
	}
	.p-home-fv__slider::before {
		content: "";
		display: block;
		position: absolute;
		inset: auto 0 0 0;
		z-index: 1;
		height: 25rem;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0))
	}
	.p-home-fv__copy {
		top: auto;
		bottom: 3.5rem;
		left: 2rem;
		width: 40rem
	}
	.p-home-fv__images {
		position: relative;
		z-index: 0;
		width: 100%;
		height: 100%
	}
	.p-home-fv__images .img {
		transition: all .8s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
		transition-property: filter, opacity;
		display: block;
		position: absolute;
		inset: 0;
		z-index: 0;
		filter: brightness(2);
		opacity: 0
	}
	.p-home-fv__images .img img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		object-fit: cover
	}
	.p-home-fv__images .img.active {
		z-index: 1;
		filter: brightness(1);
		opacity: 1
	}
	.p-home-fv__controls {
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		top: 0;
		bottom: 0;
		left: 1rem
	}
	.p-home-fv__dots {
		flex-direction: column;
		row-gap: .5rem
	}
	.p-home-fv__dots .dot {
		display: flex;
		align-items: center
	}
	.p-home-fv__dots .dot .icon {
		margin-right: 1rem
	}
	.p-home-fv__dots .dot .line {
		transform: none
	}
	.p-home-fv__dots .dot .caption {
		transition: opacity .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
		display: block;
		opacity: 0
	}
	.p-home-fv__dots .dot.active .caption {
		opacity: 1
	}
	.p-home-fv__caption {
		display: none
	}
	.p-home-fv__banner {
		display: grid;
		grid-template-columns: 1fr 1fr;
		-moz-column-gap: 1rem;
		column-gap: 1rem;
		position: static;
		width: auto;
		margin: 2.5rem 2.5rem 0
	}
	.p-home-fv__banner li+li {
		margin-top: 0
	}
	.p-home-fv__banner a {
		box-sizing: border-box;
		padding: 0 1rem 0 1.5rem;
		border: #e0e0e0 solid 1px
	}
	.p-home-fv__banner a .en {
		font-size: 1.9rem
	}
}
@keyframes home-cm-open {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
.p-home-cmModal {
	box-sizing: border-box;
	max-width: calc(100vw - 5rem);
	height: 60rem;
	max-height: calc(100vh - 5rem);
	padding: 8rem 0;
	border: none;
	background: none
}
.p-home-cmModal::backdrop {
	animation: home-cm-open .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	background: rgba(0, 0, 0, .8)
}
.p-home-cmModal[open] {
	animation: home-cm-open .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
}
.p-home-cmModal.close {
	transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition-property: visibility, opacity;
	visibility: hidden;
	opacity: 0
}
.p-home-cmModal.close::backdrop {
	transition: opacity .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	opacity: 0
}
.p-home-cmModal__movie {
	aspect-ratio: 16/9;
	height: 100%
}
.p-home-cmModal__movie iframe {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: none
}
.p-home-cmModal__close {
	display: block;
	overflow: hidden;
	text-indent: -5260px;
	transition: color .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	box-sizing: border-box;
	position: absolute;
	bottom: 0;
	left: calc(50% - 2.8rem);
	width: 5.6rem;
	height: 5.6rem;
	margin: 0;
	padding: 0;
	border: currentColor solid 1px;
	border-radius: 50%;
	background: none;
	color: #fff
}
.p-home-cmModal__close::before, .p-home-cmModal__close::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: calc(50% - 1.2rem);
	width: 2.4rem;
	height: 1px;
	background: currentColor
}
.p-home-cmModal__close::before {
	transform: rotate(45deg)
}
.p-home-cmModal__close::after {
	transform: rotate(-45deg)
}
@media(hover: hover) {
	.p-home-cmModal__close:hover {
		color: #098bde
	}
}
@media only screen and (max-width: 1023px) {
	.p-home-cmModal {
		width: calc(100vw - 6rem);
		height: -moz-fit-content;
		height: fit-content;
		max-height: calc(100vh - 4rem);
		padding: 0 0 6rem
	}
	.p-home-cmModal__movie {
		aspect-ratio: 16/9;
		width: 100%;
		height: auto
	}
	.p-home-cmModal__close {
		left: calc(50% - 2rem);
		width: 4rem;
		height: 4rem
	}
	.p-home-cmModal__close::before, .p-home-cmModal__close::after {
		left: calc(50% - .9rem);
		width: 1.8rem
	}
}
.p-home-section {
	padding: 20rem 0 13rem;
	background: #ebf4ff;
}
.p-home-section__container {
	box-sizing: border-box;
	max-width: 117rem;
	margin-right: auto;
	margin-left: auto;
	padding-right: 5.5rem;
	padding-left: 5.5rem
}
@media only screen and (max-width: 1023px) {
	.p-home-section__container {
		max-width: none;
		padding-right: 3rem;
		padding-left: 3rem
	}
}
.p-home-section__ttl .en {
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 6.7rem;
	font-weight: 600;
	line-height: 1
}
.p-home-section__ttl .ja {
	--delay: 0.1s;
	margin-top: 1rem;
	color: #098bde;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5
}
@media only screen and (max-width: 1023px) {
	.p-home-section {
        padding: 10rem 0;
	}
	.p-home-section__ttl .en {
		font-size: 5.1rem
	}
	.p-home-section__ttl .ja {
		margin-top: .5rem;
		font-size: 1.6rem
	}
}
@keyframes home-about-more {
	0% {
		-webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
		clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%)
	}
	100% {
		-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
	}
}
@keyframes home-about-slider {
	0% {
		transform: translateX(0)
	}
	100% {
		transform: translateX(-33.33%)
	}
}
.p-home-about__container {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-start
}
.p-home-about__ttl {
	flex-shrink: 0;
	text-align: right
}
.p-home-about__ttl .en {
	display: flex;
	flex-direction: column;
	font-size: 11.4rem;
	line-height: .79
}
.p-home-about__ttl .en .js-cliptext__line:nth-child(2) {
	--delay: 0.1s
}
.p-home-about__ttl .ja {
	margin-top: 1.5rem;
	font-size: 2.6rem
}
.p-home-about__ttl .ja .js-cliptext__line {
	--delay: 0.2s
}
.p-home-about__body {
	font-size: 1.5rem
}
.p-home-about__lead {
	margin-bottom: 3rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.82
}
.p-home-about__images {
	overflow: hidden;
	display: flex;
	margin-top: 15rem
}
.p-home-about__images .container {
	display: flex;
	flex-shrink: 0
}
.p-home-about__images .group {
	display: flex;
	flex-shrink: 0;
	-moz-column-gap: 4rem;
	column-gap: 4rem;
	padding-right: 4rem
}
.p-home-about__images img {
	width: 42rem
}
.p-home-about__images.animating .container {
	animation: home-about-slider calc(var(--length)*8s) linear 0s infinite normal;
	will-change: transform
}
.p-home-about__images.animating.paused .container {
	animation-play-state: paused
}
.p-home-about__more {
	margin-top: 14rem
}
.p-home-about__more .link ,
	.p-home-news__more .link {
	display: flex;
	align-items: center;
	padding-bottom: 4rem;
	border-bottom: #e0e0e0 solid 1px;
	background: none
}
.p-home-about__more .link .ttl ,
	.p-home-news__more .link .ttl {
		transition: transform .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s
}
.p-home-about__more .link .more ,
	.p-home-news__more .link .more {
		transition: -webkit-clip-path .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition: clip-path .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition: clip-path .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s, -webkit-clip-path .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	margin: 0 2.7rem 0 auto;
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.2;
	-webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
	clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%)
}
.p-home-about__more .link .c-arw ,
	.p-home-news__more .link .c-arw {
		width: 6.2rem
}
.p-home-about__more .link .c-arw::before ,
	.p-home-news__more .link .c-arw::before {
		background: #098bde
}
.p-home-about__more .link .c-arw .arw ,
	.p-home-news__more .link .c-arw .arw {
		width: 1.8rem;
		fill: #fff
}
@media(hover: hover) {
	.p-home-about__more .link:hover .ttl ,
		.p-home-news__more .link:hover .ttl {
			transform: translateX(2rem)
	}
	.p-home-about__more .link:hover .more ,
		.p-home-news__more .link:hover .more {
			animation: home-about-more .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
		transition: none;
		-webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
	}
	.p-home-about__more .link:hover .c-arw::before ,
		.p-home-news__more .link:hover .c-arw::before {
			transform: scale(1.23)
	}
}
@media only screen and (max-width: 1023px) {
	.p-home-about__container {
		display: block
	}
	.p-home-about__ttl {
		margin-bottom: 4rem;
		text-align: left
	}
	.p-home-about__ttl .en {
		display: block;
		font-size: 5.1rem;
		line-height: 1
	}
	.p-home-about__ttl .en .js-cliptext__line:nth-child(2) {
		--delay: 0s
	}
	.p-home-about__ttl .ja {
		margin-top: .5rem;
		font-size: 1.6rem
	}
	.p-home-about__ttl .ja .js-cliptext__line {
		--delay: 0.1s
	}
	.p-home-about__body {
		font-size: 1.4rem
	}
	.p-home-about__lead {
		margin-bottom: 2rem;
		font-size: 1.8rem;
		line-height: 1.56
	}
	.p-home-about__images {
		margin-top: 6rem
	}
	.p-home-about__images .group {
		-moz-column-gap: 2rem;
		column-gap: 2rem;
		padding-right: 2rem
	}
	.p-home-about__images img {
		width: 21rem
	}
	.p-home-about__more {
		margin-top: 5rem
	}
	.p-home-about__more .link,
		.p-home-news__more .link {
			flex-wrap: wrap;
		justify-content: flex-end;
		padding-bottom: 0;
		border-bottom: none
	}
	.p-home-about__more .link .ttl ,
		.p-home-news__more .link .ttl {
			width: 100%;
		margin-bottom: .5rem
	}
	.p-home-about__more .link .ttl .en ,
		.p-home-news__more .link .ttl .en {
			font-size: 3.5rem
	}
	.p-home-about__more .link .ttl .ja ,
		.p-home-news__more .link .ttl .ja {
			font-size: 1.4rem
	}
	.p-home-about__more .link .more ,
		.p-home-news__more .link .more {
			display: flex;
		align-items: center;
		margin-right: 1.5rem;
		flex-grow: 1;
		font-size: 1.5rem;
		-webkit-clip-path: none;
		clip-path: none
	}
	.p-home-about__more .link .more::before ,
		.p-home-news__more .link .more::before {
			content: "";
		display: block;
		flex-grow: 1;
		height: 1px;
		margin-right: 1rem;
		background: #e0e0e0
	}
	.p-home-about__more .link .c-arw ,
		.p-home-news__more .link .c-arw {
			width: 4rem
	}
	.p-home-about__more .link .c-arw .arw ,
		.p-home-news__more .link .c-arw .arw {
			width: 1.3rem
	}
}
@media only screen and (max-width: 1023px)and (hover: hover) {
	.p-home-about__more .link:hover .ttl ,
		.p-home-news__more .link:hover .ttl {
			transform: none
	}
	.p-home-about__more .link:hover .more ,
		.p-home-news__more .link:hover .more {
			animation: none;
		-webkit-clip-path: none;
		clip-path: none
	}
}
.p-home-service {
	padding-top: 25rem;
	background-image: linear-gradient(130deg, #00beff 0%, #0098ec 35%, #007bd7 55%, #0062c4 75%, #004bb1 100%);
	color: #fff
}
.p-home-service__inner {
	display: flex;
	align-items: flex-start;
	position: relative
}
.p-home-service__inner::before {
	content: "";
	aspect-ratio: 630/768;
	width: 48.46%
}
.p-home-service__body {
	box-sizing: border-box;
	align-self: center;
	flex-grow: 1;
	width: 51.54%;
	max-width: 56rem;
	margin: 0 auto;
	padding: 0 5.5rem
}
.p-home-service__ttl {
	margin-bottom: 8rem
}
.p-home-service__ttl .en {
	display: flex;
	flex-direction: column
}
.p-home-service__ttl .en .js-cliptext__line:nth-child(2) {
	--delay: 0.1s
}
.p-home-service__ttl .ja {
	color: #fff
}
.p-home-service__ttl .ja .js-cliptext__line {
	--delay: 0.2s
}
.p-home-service__items {
	counter-reset: home-service-number 0;
	border-top: rgba(255, 255, 255, .3) solid 1px
}
.p-home-service__items .item {
	counter-increment: home-service-number 1;
	border-bottom: rgba(255, 255, 255, .3) solid 1px
}
.p-home-service__items .item__img {
	transition: opacity .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 48.46%;
	opacity: 0;
	pointer-events: none
}
.p-home-service__items .item__txt {
	padding: 3.5rem 0
}
.p-home-service__items .item__txt dt {
	display: flex;
	align-items: center;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.32
}
.p-home-service__items .item__txt dt::before {
	transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition-property: background, color;
	content: counter(home-service-number, decimal-leading-zero);
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	width: 5.5rem;
	height: 5.5rem;
	border: #fff solid 1px;
	border-radius: 50%;
	color: #fff;
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1
}
.p-home-service__items .item__txt dt .label {
	padding: 0 2rem
}
.p-home-service__items .item__txt dt .icon {
	display: block;
	position: relative;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	margin-left: auto;
	background: rgba(255, 255, 255, .4)
}
.p-home-service__items .item__txt dt .icon::before, .p-home-service__items .item__txt dt .icon::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 1px);
	left: calc(50% - .5rem);
	width: 1rem;
	height: 2px;
	background: #098bde
}
.p-home-service__items .item__txt dt .icon::after {
	transform: rotate(90deg)
}
.p-home-service__items .item__txt dd {
	overflow: hidden;
	height: 0;
	line-height: 1.72
}
.p-home-service__items .item__txt dd .txt {
	padding-top: 2rem
}
.p-home-service__items .item__more {
	display: flex;
	justify-content: flex-end;
	margin-top: 3rem;
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5
}
.p-home-service__items .item__more a {
	display: flex;
	align-items: center;
	background: none
}
.p-home-service__items .item__more .c-arw {
	width: 1.2rem;
	margin-left: 1rem
}
.p-home-service__items .item__more .c-arw .arw {
	width: 1.2rem;
	fill: currentColor
}
.p-home-service__items .item.active .item__img {
	opacity: 1
}
.p-home-service__items .item.active .item__txt dt::before {
	background: #fff;
	color: #098bde
}
.p-home-service__items .item.active .item__txt dt .icon::after {
	opacity: 0
}
.p-home-service__items .item.active .item__txt dd {
	height: auto;
	opacity: 1
}
.p-home-service__images {
	display: grid;
	grid-template-columns: 36.92% 26.16% 36.92%;
	grid-template-rows: 1fr 1fr;
	aspect-ratio: 1300/700;
}
.p-home-service__images .slider {
	overflow: hidden;
	position: relative
}
.p-home-service__images .slider--1 {
	grid-row: 1/3
}
.p-home-service__images .slider--2 {
	grid-column: 2/3;
	grid-row: 1/2
}
.p-home-service__images .slider--3 {
	grid-column: 2/3;
	grid-row: 2/3
}
.p-home-service__images .slider--4 {
	grid-row: 1/3
}
.p-home-service__images .slider .img {
	transform: translateX(100%);
	display: block;
	position: absolute;
	inset: 0;
	opacity: 0
}
.p-home-service__images .slider .img.active {
	transform: translateX(0);
	opacity: 1
}
.p-home-service__images .slider .img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}
@media only screen and (max-width: 1023px) {
	.p-home-service {
		padding: 10rem 0
	}
	.p-home-service__inner {
		display: block
	}
	.p-home-service__inner::before {
		display: none
	}
	.p-home-service__body {
		width: auto;
		max-width: none;
		padding: 0 3rem
	}
	.p-home-service__ttl {
		margin-bottom: 4rem
	}
	.p-home-service__ttl .en {
		display: block
	}
	.p-home-service__ttl .en .js-cliptext__line:nth-child(2) {
		--delay: 0s
	}
	.p-home-service__ttl .ja .js-cliptext__line {
		--delay: 0.1s
	}
	.p-home-service__items {
		border-top: none
	}
	.p-home-service__items .item {
		border-bottom: none
	}
	.p-home-service__items .item+.item {
		margin-top: 6rem
	}
	.p-home-service__items .item__img {
		position: static;
		width: auto;
		margin-bottom: 3rem;
		opacity: 1
	}
	.p-home-service__items .item__txt {
		padding: 0
	}
	.p-home-service__items .item__txt dt {
		margin-bottom: 1.5rem;
		font-size: 1.8rem;
		line-height: 1.39
	}
	.p-home-service__items .item__txt dt::before {
		width: 4.5rem;
		height: 4.5rem;
		font-size: 1.8rem
	}
	.p-home-service__items .item__txt dt .label {
		padding-right: 0
	}
	.p-home-service__items .item__txt dt .icon {
		display: none
	}
	.p-home-service__items .item__txt dd {
		overflow: visible;
		height: auto
	}
	.p-home-service__items .item__txt dd .txt {
		padding-top: 0
	}
	.p-home-service__items .item__more {
		margin-top: 2rem;
		font-size: 1.5rem
	}
	.p-home-service__images {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
		aspect-ratio: auto;
		margin-top: 10rem
	}
	.p-home-service__images .slider--1 {
		grid-column: 1/3;
		grid-row: auto;
		aspect-ratio: 390/250
	}
	.p-home-service__images .slider--2 {
		grid-column: 1/2;
		grid-row: auto;
		aspect-ratio: 1/1
	}
	.p-home-service__images .slider--3 {
		grid-column: 2/3;
		grid-row: auto;
		aspect-ratio: 1/1
	}
	.p-home-service__images .slider--4 {
		grid-column: 1/3;
		grid-row: auto;
		aspect-ratio: 390/250
	}
}
.p-home-news{
	padding: 14rem 0;
	background: #fff;
}
.p-home-news__container {
	display: flex;
	flex-direction: column;
    row-gap: 8rem;
}
.p-home-news__ttl {
}
.p-home-news__items {
	flex-grow: 1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 4rem;
}
.p-cases__items{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding-bottom: 6rem;
}
.p-home-news__items .item__link {
	transition: border-color .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	display: block;
	padding: 0 0 2rem;
	border: #e0e0e0 solid 1px;
	border-radius: 1.5rem;
	background: none;
	overflow: hidden;
}
@media(hover: hover) {
	.p-home-news__items .item__link:hover {
		border-color: #098bde
	}
	.p-home-news__items .item__link:hover .c-arw::before {
		transform: scale(1.36);
		background: #098bde
	}
	.p-home-news__items .item__link:hover .c-arw .arw {
		fill: #fff
	}
}
.p-home-news__items .item__img {
	width: 100%;
	aspect-ratio: 16/9;
	margin-bottom: 1.5rem;
	background: #f2f2f2;
}
.p-home-news__items .item__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p-home-news__items .item__txt {
	padding: 0 1.5rem;
}
.p-home-news__items .item__date {
	margin-bottom: .5rem;
    color: #098bde;
    font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.2;
}
.p-home-news__items .item__ttl {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
}
.p-home-news__items .item .c-arw {
	width: 2.8rem
}
.p-home-news__items .item .c-arw::before {
	border: #098bde solid 1px
}
.p-home-news__items .item .c-arw .arw {
	width: 1.1rem;
	fill: #098bde
}
@media only screen and (max-width: 1023px) {
	.p-home-news{
		padding: 10rem 0
	}
	.p-home-news__container {
	}
	.p-home-news__ttl {
		margin-right: 0;
		margin-bottom: 3rem
	}
	.p-home-news__items {
		max-width: none;
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}
	.p-home-news__items .item__link {
		padding: 0 0 1.5rem;
		border-radius: 1rem
	}
	.p-home-news__items .item__txt {
		padding: 0 1rem;
	}
	.p-home-news__items .item__date {
		font-size: 1.2rem
	}
	.p-home-news__items .item__ttl {
		font-size: 1.2rem
	}
	.p-home-news__items .item .c-arw {
		display: none;
	}
}
.p-message-president__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	-moz-column-gap: 4rem;
	column-gap: 4rem;
	margin-bottom: 8rem
}
.p-message-president .section__ttl {
	flex-shrink: 0;
	margin-bottom: 0
}
.p-message-president__img {
	max-width: 36rem
}
.p-message-president__img .name {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	margin-top: 2rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.5
}
.p-message-president__img .name__prefix {
	font-size: 1.4rem;
	font-weight: 400
}
.p-message-president__lead {
	margin-bottom: 4rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.56
}
.p-message-president__txt p:not(:first-child) {
	margin-top: 2em
}
@media only screen and (max-width: 1023px) {
	.p-message-president__head {
		display: block;
		margin-bottom: 4rem
	}
	.p-message-president .section__ttl {
		margin-bottom: 3.5rem
	}
	.p-message-president__img {
		display: flex;
		align-items: flex-end;
		-moz-column-gap: 3rem;
		column-gap: 3rem;
		max-width: none
	}
	.p-message-president__img img {
		width: 19rem
	}
	.p-message-president__img .name {
		display: block;
		margin-top: 0;
		font-size: 1.8rem
	}
	.p-message-president__img .name__prefix {
		display: block;
		margin-bottom: .2rem;
		font-size: 1.3rem
	}
	.p-message-president__lead {
		margin-bottom: 2rem;
		font-size: 1.8rem
	}
	.p-message-president__txt p:not(:first-child) {
		margin-top: 1.72em
	}
}
.p-message-philosophy__items {
	counter-reset: message-philosophy-number 0;
	border-top: #e0e0e0 solid 1px
}
.p-message-philosophy__items .item {
	counter-increment: message-philosophy-number 1;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	-moz-column-gap: 5.5rem;
	column-gap: 5.5rem;
	padding: 8rem 0;
	border-bottom: #e0e0e0 solid 1px
}
.p-message-philosophy__items .item__ttl {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex-shrink: 0;
	row-gap: 1.5rem;
	width: 29rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.46
}
.p-message-philosophy__items .item__ttl .label {
	display: flex;
	align-items: center;
	-moz-column-gap: .5rem;
	column-gap: .5rem;
	padding: 0 .5rem;
	height: 2.8rem;
	background: #098bde;
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.5
}
.p-message-philosophy__items .item__ttl .label::before {
	content: counter(message-philosophy-number, decimal-leading-zero) ".";
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.6rem;
	font-weight: 600
}
.p-message-philosophy__items .item__txt {
	flex-grow: 1;
	max-width: 46rem
}
@media only screen and (max-width: 1023px) {
	.p-message-philosophy__items .item {
		display: block;
		padding: 4rem 0
	}
	.p-message-philosophy__items .item__ttl {
		row-gap: .5rem;
		width: auto;
		margin-bottom: 2rem;
		font-size: 1.8rem;
		line-height: 1.56
	}
	.p-message-philosophy__items .item__ttl .label {
		height: 2.4rem;
		font-size: 1.2rem
	}
	.p-message-philosophy__items .item__ttl .label::before {
		font-size: 1.3rem
	}
	.p-message-philosophy__items .item__txt {
		flex-grow: 1;
		max-width: 46rem
	}
}
.p-message-sdgs__img {
	display: flex;
	align-items: center;
	-moz-column-gap: 4.88%;
	column-gap: 4.88%;
	margin: 7rem 0 4rem;
	padding: 4.88%;
	border: #e0e0e0 solid 1px
}
.p-message-sdgs__img .logo {
	display: block;
	flex-shrink: 0;
	width: 28.11%
}
.p-message-sdgs__img .icons {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(6, 1fr)
}
.p-message-sdgs__items {
	counter-reset: message-sdgs-number 0;
	margin-top: 7rem;
	border-top: #e0e0e0 solid 1px
}
.p-message-sdgs__items .item {
	counter-increment: message-sdgs-number 1;
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	-moz-column-gap: 5.5rem;
	column-gap: 5.5rem;
	padding: 8rem 0;
	border-bottom: #e0e0e0 solid 1px
}
.p-message-sdgs__items .item__icons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .5rem;
	flex-shrink: 0;
	width: 26.5rem
}
.p-message-sdgs__items .item__txt {
	flex-grow: 1
}
.p-message-sdgs__items .item__ttl {
	display: flex;
	align-items: flex-start;
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	margin-bottom: 3rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.46
}
.p-message-sdgs__items .item__ttl::before {
	content: counter(message-sdgs-number);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	top: .1rem;
	width: 3rem;
	height: 3rem;
	background: #098bde;
	color: #fff;
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 2.3rem;
	font-weight: 600;
	line-height: 1.2
}
.p-message-sdgs__items .item__attempt {
	margin-top: 3rem
}
.p-message-sdgs__items .item__attempt dt {
	display: table;
	margin-bottom: 1.5rem;
	padding: .2rem 1rem;
	background: #ededed;
	font-weight: 500;
	line-height: 1.5
}
.item__list li {
	padding-left: 1em
}
.item__list li::before {
	content: "・";
	display: inline-block;
	width: 1em;
	margin-left: -1em
}
@media only screen and (max-width: 1023px) {
	.p-message-sdgs__img {
		display: block;
		margin: 5rem 0 2rem;
		padding: 2.5rem
	}
	.p-message-sdgs__img .logo {
		width: auto;
		margin-bottom: 1.5rem
	}
	.p-message-sdgs__img .icons {
		gap: .5rem
	}
	.p-message-sdgs__items {
		margin-top: 4rem
	}
	.p-message-sdgs__items .item {
		flex-direction: column;
        padding: 4rem 0;
        row-gap: 4rem;
	}
	.p-message-sdgs__items .item__icons {
		grid-template-columns: repeat(4, 1fr);
		width: auto;
		margin-bottom: 2.5rem
	}
	.p-message-sdgs__items .item__ttl {
		-moz-column-gap: 1rem;
		column-gap: 1rem;
		margin-bottom: 2rem;
		font-size: 1.8rem;
		line-height: 1.56
	}
	.p-message-sdgs__items .item__ttl::before {
		width: 2.6rem;
		height: 2.6rem;
		font-size: 1.8rem
	}
	.p-message-sdgs__items .item__attempt {
		margin-top: 2rem
	}
	.p-message-sdgs__items .item__attempt dt {
		display: table;
		margin-bottom: 1rem
	}
	.item__list li {
		padding-left: 1em
	}
	.item__list li::before {
		content: "・";
		display: inline-block;
		width: 1em;
		margin-left: -1em
	}
}
.p-company-outline__table {
	width: 100%;
	border-top: #e0e0e0 solid 1px;
	border-bottom: #e0e0e0 solid 1px
}
.p-company-outline__table tr {
	border-top: #e0e0e0 solid 1px;
	border-bottom: #e0e0e0 solid 1px
}
.p-company-outline__table th, .p-company-outline__table td {
	padding: 2.5rem 0;
	vertical-align: top
}
.p-company-outline__table th {
	width: 16.5rem;
	font-weight: 500
}
.p-company-outline__table .maplink {
	display: flex;
	margin-top: 1rem
}
.p-company-outline__table .maplink a {
	transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition-property: background, color;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	height: 3.5rem;
	padding: 0 2rem;
	border: #098bde solid 1px;
	border-radius: 1.75rem;
	background: none;
	color: #098bde;
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2
}
.p-company-outline__table .maplink a .icon {
	flex-shrink: 0;
	width: .8rem;
	height: .7rem;
	margin-left: 1rem;
	fill: currentColor
}
@media(hover: hover) {
	.p-company-outline__table .maplink a:hover {
		background: #098bde;
		color: #fff
	}
}
@media only screen and (max-width: 1023px) {
	.p-company-outline__table {
		display: block;
		border-top: none;
		border-bottom: none
	}
	.p-company-outline__table thead, .p-company-outline__table tbody, .p-company-outline__table tfoot {
		display: block
	}
	.p-company-outline__table tr {
		display: block;
		padding: 2rem 0
	}
	.p-company-outline__table tr:not(:first-child) {
		border-top: none
	}
	.p-company-outline__table th, .p-company-outline__table td {
		display: block;
		padding: 0;
		vertical-align: top
	}
	.p-company-outline__table th {
		width: auto;
		margin-bottom: .5rem
	}
	.p-company-outline__table .maplink {
		display: flex;
		margin-top: 1rem
	}
	.p-company-outline__table .maplink a {
		font-size: 1.4rem
	}
}
.p-company-qualified__table {
	width: 100%;
}
.p-company-qualified__table th, .p-company-qualified__table td {
	padding: 2.5rem 0;
	font-weight: bold;
	vertical-align: top;
}
.p-company-qualified__table th {
	width: 22.5rem;
	font-weight: 500
}
.p-company-qualified__table .maplink {
	display: flex;
	margin-top: 1rem
}
.p-company-qualified__table .maplink a {
	transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition-property: background, color;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	height: 3.5rem;
	padding: 0 2rem;
	border: #098bde solid 1px;
	border-radius: 1.75rem;
	background: none;
	color: #098bde;
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2
}
.p-company-qualified__table .maplink a .icon {
	flex-shrink: 0;
	width: .8rem;
	height: .7rem;
	margin-left: 1rem;
	fill: currentColor
}
@media(hover: hover) {
	.p-company-qualified__table .maplink a:hover {
		background: #098bde;
		color: #fff
	}
}
@media only screen and (max-width: 1023px) {
	.p-company-qualified__table {
		display: block;
		border-top: none;
		border-bottom: none
	}
	.p-company-qualified__table thead, .p-company-qualified__table tbody, .p-company-qualified__table tfoot {
		display: block
	}
	.p-company-qualified__table tr {
		display: block;
	}
	.p-company-qualified__table tr:not(:first-child) {
		border-top: none
	}
	.p-company-qualified__table th, .p-company-qualified__table td {
		display: block;
		padding: 0;
	}
	.p-company-qualified__table th {
		width: auto;
		margin-bottom: .5rem
	}
	.p-company-qualified__table .maplink {
		display: flex;
		margin-top: 1rem
	}
	.p-company-qualified__table .maplink a {
		font-size: 1.4rem
	}
}

.p-company-history__blocks .block+.block {
	margin-top: 6rem
}
.p-company-history__blocks .block__label {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	position: relative;
	height: 8.5rem;
	padding: 0 6rem 0 2.5rem;
	border: #e0e0e0 solid 1px;
	border-radius: 2rem;
	color: #098bde;
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 2.3rem;
	font-weight: 600;
	line-height: 1.2
}
.p-company-history__blocks .block__label::-webkit-details-marker {
	display: none
}
.p-company-history__blocks .block__label .separate {
	display: block;
	margin: 0 .5rem;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.6rem;
	font-weight: 500
}
.p-company-history__blocks .block__label .icon {
	position: absolute;
	top: calc(50% - 1rem);
	right: 2rem;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: #f2f2f2
}
.p-company-history__blocks .block__label .icon::before, .p-company-history__blocks .block__label .icon::after {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 1px);
	left: calc(50% - .5rem);
	width: 1rem;
	height: 2px;
	background: #098bde
}
.p-company-history__blocks .block__label .icon::after {
	transform: rotate(-90deg)
}
.p-company-history__blocks .block__bodyInner {
	padding-top: 2rem
}
.p-company-history__blocks .block__items {
	position: relative;
	padding: 2rem 0 3rem 1.6rem
}
.p-company-history__blocks .block__items::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 0;
	left: 2rem;
	width: 1px;
	background: #e0e0e0
}
.p-company-history__blocks .block__items .item {
	display: flex;
	align-items: flex-start;
	position: relative;
	z-index: 1
}
.p-company-history__blocks .block__items .item+.item {
	margin-top: 6rem
}
.p-company-history__blocks .block__items .item__y {
	display: flex;
	align-items: center;
	width: 16rem;
	color: #098bde;
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 3rem;
	font-weight: 600;
	line-height: 1.2
}
.p-company-history__blocks .block__items .item__y::before {
	content: "";
	display: block;
	width: .9rem;
	height: .9rem;
	margin-right: 1.5rem;
	border-radius: 50%;
	background: currentColor
}
.p-company-history__blocks .block__items .item__body {
	flex-grow: 1
}
.p-company-history__blocks .block__items .item__month {
	line-height: 1.72
}
.p-company-history__blocks .block__items .item__month+.item__month {
	margin-top: 2.5rem;
	padding-top: 2.5rem;
	border-top: #e0e0e0 solid 1px
}
.p-company-history__blocks .block__items .item__month dt {
	margin-bottom: .5rem;
	font-size: 1.6rem;
	font-weight: 500
}
.p-company-history__blocks .block.opened .block__label .icon::after {
	opacity: 0
}
@media only screen and (max-width: 1023px) {
	.p-company-history__blocks .block+.block {
		margin-top: 4rem
	}
	.p-company-history__blocks .block__label {
		height: 6.5rem;
		padding: 0 5.5rem 0 2rem;
		border-radius: .8rem;
		font-size: 2.1rem
	}
	.p-company-history__blocks .block__label .separate {
		font-size: 1.4rem
	}
	.p-company-history__blocks .block__label .icon {
		top: calc(50% - .8rem);
		width: 1.6rem;
		height: 1.6rem
	}
	.p-company-history__blocks .block__label .icon::before, .p-company-history__blocks .block__label .icon::after {
		left: calc(50% - .4rem);
		width: .8rem
	}
	.p-company-history__blocks .block__bodyInner {
		padding-top: 1rem
	}
	.p-company-history__blocks .block__items {
		padding: 2rem 0 2rem .6rem
	}
	.p-company-history__blocks .block__items::before {
		left: .9rem
	}
	.p-company-history__blocks .block__items .item {
		display: block
	}
	.p-company-history__blocks .block__items .item+.item {
		margin-top: 3rem
	}
	.p-company-history__blocks .block__items .item__y {
		width: auto;
		margin-bottom: 1rem;
		font-size: 2.2rem
	}
	.p-company-history__blocks .block__items .item__y::before {
		width: .7rem;
		height: .7rem
	}
	.p-company-history__blocks .block__items .item__body {
		padding-left: 2.2rem
	}
	.p-company-history__blocks .block__items .item__month+.item__month {
		margin-top: 1.5rem;
		padding-top: 1.5rem
	}
	.p-company-history__blocks .block__items .item__month dt {
		margin-bottom: 0;
		font-size: 1.5rem
	}
	.p-company-history__blocks .block.opened .block__label .icon::after {
		opacity: 0
	}
}
.p-cases__container{
	display: flex;
	flex-direction: column;
	padding: 0;
	margin: 0;
	max-width: 100%;
}
.p-cases__items .item__link {
	transition: border-color .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
    display: block;
    padding: 0 0 2rem;
    border: #e0e0e0 solid 1px;
    background: none;
    overflow: hidden;
    width: 100%;
    padding-bottom: 68%;
    position: relative;
	color: #fff;
}
.p-cases__items .item__link::after{
	background: linear-gradient(to top, #1a1a1a 0%, rgba(26, 26, 26, 0) 100%);
    content: '';
    display: block;
    width: 100%;
    height: 35%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
}

@media(hover: hover) {
	.p-cases__items .item__link:hover {
		border-color: #098bde;
	}
	.p-cases__items .item__link:hover .item__img{
		top: calc(50% - 24px);
	}
	
}
.p-cases__items .item__img {
	width: 100%;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    transition: top .4s ease;
}
.p-cases__items .item__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.p-cases__items .item__txt {
	width: 100%;
    padding: 10px 20px 12px;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    overflow: hidden;
}
.p-cases__items .item__txt>p{
	position: relative;
    z-index: 1;
    display: block;
}

.p-cases__items .item__txt::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
    top: 100%;
    left: 0;
    opacity: 0;
    transition: .4s ease;
}
.p-cases__items .item__txt::after {
    background-image: linear-gradient(130deg, #00beff 0%, #0098ec 35%, #007bd7 55%, #0062c4 75%, #004bb1 100%);
}
.p-cases__items a.item__link:hover .item__txt::after {
    top: 0;
    opacity: 1;
}
.p-cases__items .item__date {
	margin-bottom: .5rem;
    font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.2;
}
.p-cases__items .item__ttl {
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
}
@media only screen and (max-width: 1023px) {
	.p-cases{
		padding: 10rem 0
	}
	.p-cases__container {
	}
	.p-cases__ttl {
		margin-right: 0;
		margin-bottom: 3rem
	}
	.p-cases__items {
		max-width: none;
		grid-template-columns: repeat(1, 1fr);
	}
	.p-cases__items .item__link {
	}
	.p-cases__items .item__txt {
		padding: 1rem;
	}
	.p-cases__items .item__date {
		font-size: 1.2rem
	}
	.p-cases__items .item__ttl {
		font-size: 1.2rem
	}
	.p-cases__items .item .c-arw {
		display: none;
	}
}

@keyframes service-about-slider {
	0% {
		transform: translateX(0)
	}
	100% {
		transform: translateX(-33.33%)
	}
}
.p-service-about__ttl {
	margin-bottom: 4rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.46
}
.p-service-about__images {
	overflow: hidden;
	display: flex;
	margin-top: 12rem
}
.p-service-about__images .container {
	display: flex;
	flex-shrink: 0
}
.p-service-about__images .group {
	display: flex;
	flex-shrink: 0;
	-moz-column-gap: 4rem;
	column-gap: 4rem;
	padding-right: 4rem
}
.p-service-about__images img {
	width: 42rem
}
.p-service-about__images.animating .container {
	animation: home-about-slider calc(var(--length)*8s) linear 0s infinite normal;
	will-change: transform
}
.p-service-about__images.animating.paused .container {
	animation-play-state: paused
}
@media only screen and (max-width: 1023px) {
	.p-service-about__ttl {
		margin-bottom: 2rem;
		font-size: 1.8rem;
		line-height: 1.56
	}
	.p-service-about__images {
		margin-top: 3rem
	}
	.p-service-about__images .group {
		-moz-column-gap: 2rem;
		column-gap: 2rem;
		padding-right: 2rem
	}
	.p-service-about__images img {
		width: 21rem
	}
}
.p-service-section__slider {
	overflow: hidden;
	margin-top: 7rem
}
.p-service-section__slider .dots {
	display: flex;
	-moz-column-gap: .5rem;
	column-gap: .5rem;
	margin-top: 2rem;
	padding: 1px
}
.p-service-section__slider .dots .swiper-pagination-bullet {
	opacity: .6;
	cursor: pointer;
	color: #000
}
.p-service-section__slider .dots .swiper-pagination-bullet .icon {
	display: block;
	position: relative
}
.p-service-section__slider .dots .swiper-pagination-bullet .icon::before {
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - .4rem);
	left: calc(50% - .4rem);
	width: .8rem;
	height: .8rem;
	border-radius: 50%;
	background: currentColor
}
.p-service-section__slider .dots .swiper-pagination-bullet .line {
	transform: rotate(-90deg);
	display: block;
	overflow: visible;
	width: 2.4rem;
	height: 2.4rem
}
.p-service-section__slider .dots .swiper-pagination-bullet .line circle {
	fill: none;
	stroke: currentColor;
	stroke-width: 1px;
	stroke-dasharray: 0 315%;
	opacity: 0
}
.p-service-section__slider .dots .swiper-pagination-bullet-active {
	color: #098bde;
	opacity: 1
}
.p-service-section__slider .dots .swiper-pagination-bullet-active .line circle {
	opacity: 1
}
.p-service-section__blocks {
	margin-top: 8rem;
	border-top: #e0e0e0 solid 1px
}
.p-service-section__blocks .block {
	padding: 8rem 0;
	border-bottom: #e0e0e0 solid 1px
}
.p-service-section__blocks .block__ttl {
	margin-bottom: 3rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.46
}
.p-service-section__blocks .block__img {
	display: block
}
.p-service-section__blocks .block__img:not(:first-child) {
	margin-top: 4rem
}
.p-service-section__blocks .block__btn {
	display: flex
}
.p-service-section__blocks .block__btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 5rem;
	padding: 0 2rem;
	border-radius: 2.5rem;
	background: #098bde;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5
}
.p-service-section__blocks .block__btn a .pdf {
	display: block;
	width: 1.8rem;
	height: 2rem;
	margin-left: 1rem;
	fill: currentColor
}
.p-service-section__blocks .block__dl {
	margin-top: 10rem;
	padding: 5rem;
	background: #ededed
}
.p-service-section__blocks .block__dl dt {
	margin-bottom: 3rem;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.46
}
.p-service-section__blocks .block__banner {
	max-width: 31rem;
	margin-top: 3rem
}
.p-service-section__blocks .block__banner a {
	transition: opacity .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	display: block
}
@media(hover: hover) {
	.p-service-section__blocks .block__banner a:hover {
		opacity: .7
	}
}
@media only screen and (max-width: 1023px) {
	.p-service-section .section__ttl .en .js-cliptext__line:nth-child(2) {
		--delay: 0.1s
	}
	.p-service-section__slider {
		margin-top: 4rem
	}
	.p-service-section__slider .dots {
		margin-top: 1.5rem
	}
	.p-service-section__blocks {
		margin-top: 5rem
	}
	.p-service-section__blocks .block {
		padding: 5rem 0
	}
	.p-service-section__blocks .block__ttl {
		margin-bottom: 2rem;
		font-size: 1.8rem;
		line-height: 1.56
	}
	.p-service-section__blocks .block__img:not(:first-child) {
		margin-top: 3rem
	}
	.p-service-section__blocks .block__btn {
		display: flex;
		justify-content: center
	}
	.p-service-section__blocks .block__btn a {
		padding: 0 4rem;
		font-size: 1.3rem
	}
	.p-service-section__blocks .block__dl {
		margin-top: 4rem;
		padding: 3rem
	}
	.p-service-section__blocks .block__dl dt {
		margin-bottom: 2rem;
		font-size: 1.8rem;
		line-height: 1.56
	}
	.p-service-section__blocks .block__banner {
		max-width: none;
		margin-top: 2rem
	}
}
.p-contact__message {
	font-size: 1.5rem;
	font-weight: 500
}
.p-contact__message:not(:last-child) {
	margin-bottom: 7rem
}
@media only screen and (max-width: 1023px) {
	.p-contact__message {
		font-size: 1.4rem
	}
	.p-contact__message:not(:last-child) {
		margin-bottom: 4rem
	}
}
.p-privacy__blocks .block {
	scroll-margin-top: 10rem
}
.p-privacy__blocks .block:not(:last-child) {
	padding-bottom: 10rem
}
.p-privacy__blocks .block__ttl {
	position: relative;
	margin-bottom: 3rem;
	padding-bottom: 4rem;
	padding-left: 1.2rem;
	border-bottom: #e0e0e0 solid 1px;
	color: #098bde;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5
}
.p-privacy__blocks .block__ttl::before {
	content: "";
	display: block;
	position: absolute;
	top: calc(.75em - .3rem);
	left: 0;
	width: .6rem;
	height: .6rem;
	border-radius: 50%;
	background: #098bde
}
.p-privacy__blocks .block__ttl+.block__sttl {
	margin-top: 0
}
.p-privacy__blocks .block__sttl {
	margin: 3rem 0 .5rem;
	font-weight: 500;
	line-height: 1.5
}
.p-privacy__blocks .block__numlist {
	counter-reset: privacy-numlist-number 0
}
.p-privacy__blocks .block__numlist > li {
	counter-increment: privacy-numlist-number 1;
	padding-left: 1.2em
}
.p-privacy__blocks .block__numlist > li::before {
	content: counter(privacy-numlist-number) ".";
	display: inline-block;
	width: 2em;
	margin-left: -2em
}
@media only screen and (max-width: 1023px) {
	.p-privacy__blocks .block:not(:last-child) {
		padding-bottom: 7rem
	}
	.p-privacy__blocks .block__ttl {
		margin-bottom: 2rem;
		padding-bottom: 3rem
	}
	.p-privacy__blocks .block__sttl {
		margin-top: 2rem
	}
}
.p-news-detail__container {
	max-width: 93rem
}
.p-news-detail__head {
	margin-bottom: 3rem;
	padding-bottom: 2rem;
	border-bottom: #e0e0e0 solid 1px
}
.p-news-detail__head.p-cases-detail__head {
	margin-bottom: 3rem;
	padding-bottom: 0;
	border-bottom: 0
}
.p-news-detail__date {
	margin-bottom: 2rem;
	color: #098bde;
	font-family: "Figtree", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.2
}
.p-news-detail__ttl {
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.37
}
.p-news-detail__body {
	--fontsize: 1rem;
	font-size: calc(var(--fontsize)*1.4);
	line-height: 2
}
.p-news-detail__body *:first-child {
	margin-top: 0 !important
}
.p-news-detail__body *:last-child {
	margin-bottom: 0 !important
}
.p-news-detail__body h2 {
	position: relative;
	margin: calc(var(--fontsize)*6) 0 calc(var(--fontsize)*2);
	padding-left: 1rem;
	border-left: #098bde solid calc(var(--fontsize)*.4);
	font-size: calc(var(--fontsize)*2);
	font-weight: 500;
	line-height: 1.5
}
.p-news-detail__body h2+h3, .p-news-detail__body h2+p, .p-news-detail__body h2+.wp-block-image, .p-news-detail__body h2+.wp-block-twocol, .p-news-detail__body h2+.wp-block-embed {
	margin-top: 0
}
.p-news-detail__body h3 {
	margin: calc(var(--fontsize)*6) 0 calc(var(--fontsize)*2);
	padding: calc(var(--fontsize)*1.5);
	background: #ededed;
	font-size: calc(var(--fontsize)*1.6);
	font-weight: 500;
	line-height: 1.5
}
.p-news-detail__body h3+p, .p-news-detail__body h3+.wp-block-image, .p-news-detail__body h3+.wp-block-twocol, .p-news-detail__body h3+.wp-block-embed {
	margin-top: 0
}
.p-news-detail__body p {
	margin: 2em 0
}
.p-news-detail__body a {
	color: #999
}
.p-news-detail__body strong {
	font-weight: 500
}
.p-news-detail__body figure {
	display: block
}
.p-news-detail__body figure figcaption {
	display: block;
	margin-top: calc(var(--fontsize)*1);
	font-size: calc(var(--fontsize)*1.2);
	text-align: center
}
.p-news-detail__body .wp-block-image {
	margin: 2em 0;
	text-align: center
}
.p-news-detail__body .wp-block-twocol {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	-moz-column-gap: calc(var(--fontsize)*4);
	column-gap: calc(var(--fontsize)*4);
	margin: calc(var(--fontsize)*6) 0
}
.p-news-detail__body .wp-block-embed {
	margin: calc(var(--fontsize)*6) 0
}
.p-news-detail__body .wp-block-embed-youtube .wp-block-embed__wrapper {
	position: relative
}
.p-news-detail__body .wp-block-embed-youtube .wp-block-embed__wrapper::before {
	content: "";
	display: block;
	padding-top: 56.25%
}
.p-news-detail__body .wp-block-embed-youtube .wp-block-embed__wrapper iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}
.p-news-detail__body .wp-block-buttons {
	margin: 2em 0
}
.p-news-detail__body .wp-block-button__link {
	display: table;
	padding: calc(var(--fontsize)*1.2) calc(var(--fontsize)*4);
	border: #098bde solid 1px;
	border-radius: calc(var(--fontsize)*2.5);
	background: none;
	color: #098bde;
	font-size: calc(var(--fontsize)*1.6);
	font-weight: 500;
	line-height: 1.5;
	text-decoration: none;
	transition: all .4s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
	transition-property: background, color
}
@media(hover: hover) {
	.p-news-detail__body .wp-block-button__link:hover {
		background: #098bde;
		color: #fff
	}
}
@media only screen and (max-width: 1023px) {
	.p-news-detail__body {
		line-height: 1.72
	}
	.p-news-detail__body h2 {
		margin-top: calc(var(--fontsize)*5);
		font-size: calc(var(--fontsize)*1.8)
	}
	.p-news-detail__body h3 {
		margin-top: calc(var(--fontsize)*5);
		padding: calc(var(--fontsize)*1)
	}
	.p-news-detail__body p {
		margin: 1.72em 0
	}
	.p-news-detail__body .wp-block-image {
		margin: 1.72em 0
	}
	.p-news-detail__body .wp-block-twocol {
		grid-template-columns: 1fr;
		row-gap: 1.72em;
		margin: calc(var(--fontsize)*5) 0
	}
	.p-news-detail__body .wp-block-embed {
		margin: calc(var(--fontsize)*5) 0
	}
	.p-news-detail__body .wp-block-buttons {
		margin: 1.72em 0
	}
	.p-news-detail__body .wp-block-button__link {
		padding: calc(var(--fontsize)*1) calc(var(--fontsize)*3);
		border-radius: calc(var(--fontsize)*2.2);
		font-size: calc(var(--fontsize)*1.4)
	}
}
@media only screen and (max-width: 1023px) {
	.p-news-detail__container {
		max-width: none
	}
	.p-news-detail__head {
		margin-bottom: 2rem;
		padding-bottom: 1.5rem
	}
	.p-news-detail__date {
		margin-bottom: 1rem
	}
	.p-news-detail__ttl {
		font-size: 2.2rem
	}
}
.clearfix {
	zoom: 1
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
	height: 0
}
.pc-hidden {
	display: none
}
@media only screen and (max-width: 1023px) {
	.sp-hidden {
		display: none
	}
	.pc-hidden {
		display: block
	}
	br.pc-hidden {
		display: inline-block
	}
}

.wp-pagenavi {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	font-size: 1.4rem;
  }
  
  .wp-pagenavi a,
  .wp-pagenavi span {
	min-width: 6rem;
    border: 1px solid #ebf4ff;
    color: #098bde;
    text-decoration: none;
    transition: all 0.2s ease;
    font-weight: 500;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    position: relative;
    z-index: 1;
    background: none;
  }
  
  .wp-pagenavi a:hover {
	background-color: #ebf4ff;
	border-color:#ebf4ff;
  }
  
  .wp-pagenavi .current {
	background-color: #098bde;
	color: #fff;
	pointer-events: none;
	border-color: #098bde;
  }
  
  .wp-pagenavi .previouspostslink,
  .wp-pagenavi .nextpostslink {
	font-weight: 600;
  }
  .nav-links{
	display: flex;
    justify-content: space-between;
    gap: 1.4rem;
  }
  
  @media screen and (max-width: 768px) {
	.wp-pagenavi {
	  gap: 2rem;
	}
  
	.wp-pagenavi a,
	.wp-pagenavi span {
		font-size: 1.2rem;
		min-width: 4rem;
	}
  }

  .p-cases-outline__table {
	width: 100%;
	border-top: #e0e0e0 solid 1px;
	border-bottom: #e0e0e0 solid 1px;
	margin-bottom: 3rem;
}
.p-cases-outline__table tr {
	border-top: #e0e0e0 solid 1px;
	border-bottom: #e0e0e0 solid 1px
}
.p-cases-outline__table th, .p-cases-outline__table td {
	padding: 2.5rem 0;
	vertical-align: top
}
.p-cases-outline__table th {
	width: 16.5rem;
	font-weight: 500
}

@media only screen and (max-width: 1023px) {
	.p-cases-outline__table {
		display: block;
		border-top: none;
		border-bottom: none
	}
	.p-cases-outline__table thead, .p-cases-outline__table tbody, .p-cases-outline__table tfoot {
		display: block
	}
	.p-cases-outline__table tr {
		display: block;
		padding: 2rem 0
	}
	.p-cases-outline__table tr:not(:first-child) {
		border-top: none
	}
	.p-cases-outline__table th, .p-cases-outline__table td {
		display: block;
		padding: 0;
		vertical-align: top
	}
	.p-cases-outline__table th {
		width: auto;
		margin-bottom: .5rem
	}
}