/*
Theme Name: fuji-techno
Description: fujitechnostylesheet
Version: 1.00
Author: KT
*/
* {
	margin: 0;
	padding: 0;
}
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
	scroll-snap-type: y proximity;
	scroll-padding-top: 80px;
	max-width: 100%;
	overflow-x: hidden;
}
body {
	-webkit-text-size-adjust: 100% !important;
	font-family: sans-serif;
	max-width: 100%;
	overflow-x: hidden;
}
.mt8{margin-top:.8rem}.mt16{margin-top:1.6rem}.mt32{margin-top:3.2rem}.mt48{margin-top:4.8rem}.mt64{margin-top:6.4rem}.mt80{margin-top:8rem}.mt96{margin-top:9.6rem}
.mb8{margin-bottom:.8rem}.mb16{margin-bottom:1.6rem}.mb32{margin-bottom:3.2rem}.mb48{margin-bottom:4.8rem}.mb64{margin-bottom:6.4rem}.mb80{margin-bottom:8rem}.mb96{margin-bottom:9.6rem}
.pt8{padding-top:.8rem}.pt16{padding-top:1.6rem}.pt32{padding-top:3.2rem}.pt48{padding-top:4.8rem}.pt64{padding-top:6.4rem}.pt80{padding-top:8rem}.pt96{padding-top:9.6rem}.pt128{padding-top:12.8rem}
.pb8{padding-bottom:.8rem}.pb16{padding-bottom:1.6rem}.pb32{padding-bottom:3.2rem}.pb48{padding-bottom:4.8rem}.pb64{padding-bottom:6.4rem}.pb80{padding-bottom:8rem}.pb96{padding-bottom:9.6rem}
.pl8{padding-left:.8rem}.pl16{padding-left:1.6rem}.pl32{padding-left:3.2rem}.pl48{padding-left:4.8rem}.pl64{padding-left:6.4rem}.pl80{padding-left:8rem}.pl96{padding-left:9.6rem}
.pr8{padding-right:.8rem}.pr16{padding-right:1.6rem}.pr32{padding-right:3.2rem}.pr48{padding-right:4.8rem}.pr64{padding-right:6.4rem}.pr80{padding-right:8rem}.pr96{padding-right:9.6rem}
.pb60 {
	padding-bottom: 6.0rem;
}
.mt6 {
	margin-top: 0.6rem;
}
.mt24 {
	margin-top: 2.4rem;
}
.pt24 {
	padding-top: 2.4rem;
}
.pt140 {
	padding-top: 14.0rem;
}
.pt240 {
	padding-top: 24.0rem;
}
@media(min-width:769px) {
	.pc-none {
		display: none;
	}
}
@media(max-width:768px) {
	.sp-pt32 {
		margin-top: 3.2rem
	}
	.sp-none {
		display: none;
	}
}
.fs16{font-size:1.6rem}.fs18{font-size:1.8rem}.fs20{font-size:2rem}.fs24{font-size:2.4rem}.fs28{font-size:2.8rem}.fs30{font-size:3rem}.fs32{font-size:3.2rem}.fs36{font-size:3.6rem}.fs48{font-size:4.8rem}.fs50{font-size:5rem}.fs64{font-size:6.4rem}.fs75{font-size:7.5rem}.fs96{font-size:9.6rem}.fs150{font-size:15rem}
@media (max-width: 1024px) {
	.sp-fw400{font-weight:400}.sp-fs13{font-size:1.3rem}.sp-fs14{font-size:1.4rem}.sp-fs15{font-size:1.5rem}.sp-fs16{font-size:1.6rem}.sp-fs18{font-size:1.8rem}.sp-fs20{font-size:2rem}.sp-fs24{font-size:2.4rem}.sp-fs28{font-size:2.8rem}.sp-fs32{font-size:3.2rem}.sp-fs36{font-size:3.6rem}.sp-fs40{font-size:4rem}.sp-fs48{font-size:4.8rem}.sp-fs80{font-size:8rem}
}
.text-left {
	text-align: left;
}
.text-center {
	text-align: center;
}
.lb {
	display: inline-block;
}
.lh32 {
	line-height: 3.2rem;
}
.lh64 {
	line-height: 6.4rem;
}
.lh128 {
	line-height: 12.8rem;
}
@media (max-width: 1024px) {
	.sp-lh32 {
		line-height: 3.2rem;
	}
	.sp-lh64 {
		line-height: 6.4rem;
	}
}
.ls {
	letter-spacing: .1em;
}
.zen-kaku {
	font-family: 'Zen Kaku Gothic New', sans-serif;
}
.outfit {
	font-family: 'Outfit', sans-serif;
}
.manrope {
	font-family: 'Manrope', sans-serif;
}
.regular {
	font-weight: 400;
}
.medium {
	font-weight: 500;
}
.semibold {
	font-weight: 600;
}
.bold {
	font-weight: 700;
}
.extrabold {
	font-weight: 800;
}
.c-fff {
	color: #fff;
}
.c-295C9C {
	color: #295C9C;
}
.c-292929 {
	color: #292929;
}
.c-F7FBFF {
	color: #F7FBFF;
}
.c-8F8F8F {
	color: #8f8f8f;
}
a {
	color: inherit;
}
.top-bg {
	position: relative;
	width: 100%;
	height: 940px;
	margin-bottom: -150px;
	background-image: url('img/top01.png');
	background-size: cover;
	background-position: center bottom;
	background-repeat: no-repeat;
}
.top_01 {
	position: absolute;
	width: 12em;
	top: 124px;
	left: 0;
	right: 0;
	margin: auto;
	animation: ap01 2s ease-out forwards;
}
@keyframes ap01 {
	from {
		opacity: 0;
		transform: scale(1.2);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}
.top_02-container {
	position: relative;
	width: 100%;
	height: 534px;
	overflow: hidden;
	display: flex;
	align-items: center;
}
.top_02 {
	opacity: 0.22;
	position: absolute;
	white-space: nowrap;
	animation: marquee-animation 16s linear infinite;
	pointer-events: none;
}
@keyframes marquee-animation {
	from {
		left: 10%;
	}
	to {
		left: -150%;
	}
}
@media(max-width:1220px) {
	.top-bg {
		height: 720px;
		background-image: url('img/top01-sp.png');
		z-index: 100;
	}
}
@media(max-width:768px) {
	.top-bg {
		height: 660px;
	}
}
.header {
	background-color: #fff;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	filter: drop-shadow(0, 4px, 4px, rgba(97, 97, 97, 0.25));
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	border-radius: 7px;
	position: fixed;
	top: 20px;
	left: 20px;
	width: calc(100% - 40px);
	height: 70px;
	z-index: 1200;
}
.nav-item {
	z-index: 1400;
}
.logo {
	margin-left: 24px;
}
.logo img {
	height: 56px;
}
@media(max-width:1024px) {
	.logo img {
		height: 27px;
	}
}
.nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 20px;
}
.nav ul li {
	display: inline;
}
.nav ul li a {
	text-decoration: none;
	color: #3a6aa1;
}
.not-a {
	pointer-events: none;
	cursor: default;
}
.menu-toggle {
	display: block;
	position: absolute;
	top: 14px;
	right: 30px;
	font-size: 28px;
	background: none;
	border: none;
	cursor: pointer;
	color: #3a6aa1;
	z-index: 1200;
}
.menu-close {
	display: none;
	position: absolute;
	top: 14px;
	right: 30px;
	font-size: 36px;
	background: none;
	border: none;
	cursor: pointer;
	color: #3a6aa1;
	z-index: 1100;
}
.nav02 {
	display: none;
}
@media (max-width: 768px) {
	.nav {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(30, 73, 125, 0.95);
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		transition: all 0.3s ease-in-out;
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
	}
	.nav02 {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(30, 73, 125, 0.95);
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		transition: all 0.3s ease-in-out;
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
	}
	.toggle-open {
		position: absolute;
		top: 0;
	}
	.nav02.active {
		opacity: 1;
		visibility: visible;
	}
	.nav02.active+.menu-close {
		display: block;
	}
	.nav ul {
		flex-direction: column;
		gap: 20px;
		text-align: center;
		padding: 0;
	}
	.nav ul li {
		display: block;
	}
	.nav ul li a {
		color: #fff;
		font-size: 24px;
		text-decoration: none;
		transition: color 0.3s ease;
	}
	.nav ul li a:hover {
		color: #ffcc00;
	}
}
.nav ul li {
	position: relative;
}
.nav ul li ul {
	position: absolute;
	top: 160%;
	left: 50%;
	transform: translateX(-50%);
	background: #295C9C;
	border-radius: 8px;
	padding: 10px;
	width: 220px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	z-index: 1000;
	display: none;
	opacity: 0;
	transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}
.nav ul li ul::before {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid #295C9C;
}
.nav ul li:hover ul {
	display: block;
	animation: fadeInScale 0.3s ease-out forwards;
}
.nav ul li:not(:hover) ul {
	animation: fadeOutScale 0.3s ease-out forwards;
}
@starting-style {
	.nav ul li ul {
		display: block;
		opacity: 0;
	}
}
@keyframes fadeInScale {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes fadeOutScale {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		display: none;
	}
}
.nav ul li ul li {
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 12px;
	border-bottom: 1px solid #fff;
}
.nav ul li ul li:last-child {
	border-bottom: none;
}
.nav ul li ul li::after {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	background-image: url('img/arrow01.png');
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: auto;
}
.nav ul li ul li a {
	color: #fff;
	display: block;
	padding: 8px 12px;
	text-align: left;
}
.nav ul li ul li:hover {
	background: rgba(255, 255, 255, 0.3);
}
.nav ul li:hover a {
	color: inherit;
}
.nav02-container {
	display: block;
	width: 80%;
	padding-top: 70px;
}
@media(max-width:330px) {
	.nav02-container {
		transform: scale(0.75);
	}
}
.nav02-container-box {
	line-height: 3;
	border-bottom: 1px solid #fff;
}
.nav02-container-box-last {
	line-height: 3;
	border-bottom: none;
}
.nav02-container-box-2 {
	line-height: 2.4;
	display: flex;
	flex-wrap: wrap;
	column-gap: 16px;
}
.nav02-container-box-2 div::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	background-image: url('img/arrow01.png');
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 4px;
}
.nav02-container-box-2 img {
	width: 64px;
}
.nav {
	margin-right: 64px;
}
.nav-link a {
	color: inherit;
	font-size: inherit;
	text-decoration: none;
}
.wrapper_01 {
	padding-left: 10%;
	padding-right: 10%;
	background-image: url('img/about-bg.png');
	background-attachment: fixed;
	background-size: 45%;
	background-position: center;
	background-repeat: no-repeat;
}
@media(max-width:1024px) {
	.wrapper_01 {
		position: relative;
		padding-left: 10%;
		padding-right: 10%;
		background-color: transparent;
		clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 0);
		overflow: visible;
	}
	.wrapper_01::before {
		content: '';
		position: fixed;
		z-index: -1;
		inset: 0;
		width: 100%;
		height: 100%;
		background-image: url('img/about-bg.png');
		background-size: 45%;
		background-position: center;
		background-repeat: no-repeat;
		pointer-events: none;
	}
}
@media(max-width:768px) {
	.wrapper_01 {
		background-attachment: fixed;
		background-size: 60%;
		background-position: center;
		background-repeat: no-repeat;
	}
}
.card_2-1 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 9.6rem;
	row-gap: 6.4rem;
}
.about-img {
	width: 100%;
}
.about-title {
	border-bottom: 1px solid #295C9C;
}
.viewmore-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 180px;
	padding: 12px 20px;
	border: 1px solid #295C9C;
	border-radius: 40px;
	text-decoration: none;
	font-family: 'Outfit', sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	color: #295C9C;
	background: white;
	transition: all 0.3s ease-in-out;
	position: relative;
}
.viewmore-button .text {
	flex-grow: 1;
	text-align: center;
}
.viewmore-button .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: #295C9C;
	color: white;
	border-radius: 50%;
	transition: all 0.3s ease-in-out;
}
.viewmore-button:hover {
	background: #295C9C;
	color: white;
}
.viewmore-button:hover .icon {
	background: white;
	color: #295C9C;
}
.grid-reverse_01 {
	order: 4;
}
.grid-reverse_02 {
	order: 3;
}
@media (max-width:768px) {
	.card_2-1 {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1.6rem;
	}
	.item_01:nth-child(2n) {
		margin-bottom: 6.4rem;
	}
	.grid-reverse_01 {
		order: 3;
	}
	.grid-reverse_02 {
		order: 4;
	}
}
.wrapper_02 {
	background-color: #D6E1EA;
	padding-left: 10%;
	padding-right: 10%;
}
.item_02 {
	background: white;
	width: 100%;
	padding: 20px;
	border-radius: 15px;
	box-shadow: 8px 8px 15px rgba(42, 84, 136, 0.3);
	border: 1px solid #295C9C;
	text-align: center;
	position: relative;
	justify-self: center;
}
.item_02-header {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background: #295C9C;
	color: white;
	padding: 1.2rem 1.6rem;
	border-radius: 15px;
	font-size: 14px;
	font-weight: bold;
	width: fit-content;
}
.item_02-icon {
	width: 20px;
	height: 20px;
	margin-right: 6px;
}
.item_02-image img {
	width: 80%;
	height: auto;
	border-radius: 10px;
}
.item_02-content {
	font-size: 14px;
	color: #295C9C;
	margin: 15px 0;
}
.item_02-content .highlight {
	font-weight: bold;
}
.item_02-footer {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}
.wrapper_03 {
	width: 100%;
	height: 520px;
	overflow: hidden;
	background-color: #295C9C;
}
.gallery-title {
	margin: 8% 0 0 16%;
}
@media(max-width:1024px) {
	.gallery-title {
		margin-left: 5%;
	}
}
.joinourteam {
	position: absolute;
	top: 0;
	left: 5%;
}
.joinourteam img {
	width: 90%;
}
.gallery-bg {
	position: absolute;
	width: 100%;
	height: 520px;
	background: url('img/gallery-bg.png') center/cover no-repeat;
	opacity: 1;
	z-index: 1;
}
.gallery-btn {
	margin-top: 64px;
}
@media(max-width:768px) {
	.gallery-btn {
		margin-top: 220px;
	}
}
.diagonal {
	transform: translateX(40%) translateY(-150px) rotate(20deg);
}
.gallery-bg-img {
	display: flex;
	gap: 20px;
	z-index: 0;
	position: relative;
	overflow: hidden;
}
.gallery-bg-img-item {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.gallery-bg-img-item img {
	width: 380px;
	object-fit: cover;
	animation: scroll-down 10s linear infinite;
}
.diagonal-reverse img {
	animation: scroll-up 10s linear infinite;
}
@keyframes scroll-down {
	0% {
		transform: translateY(-280px);
	}
	100% {
		transform: translateY(0);
	}
}
@keyframes scroll-up {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(-280px);
	}
}
@media(max-width:1024px) {
	.diagonal {
		transform: translateX(40%) translateY(-150px) rotate(20deg);
	}
	.gallery-bg-img-item img {
		width: 290px;
	}
}
@media(max-width:768px) {
	.diagonal {
		transform: translateX(-10%) translateY(-150px) rotate(20deg);
	}
	.gallery-bg-img {
		display: flex;
		gap: 20px;
		z-index: 0;
		position: relative;
		overflow: visible;
	}
	.gallery-bg-img-item img {
		width: 240px;
	}
}
.wrapper_04 {
	background-color: #F3F7FC;
}
.news-grid {
	display: grid;
	grid-template-columns: 1fr 2fr;
}
.news-title-container {
	position: relative;
	background-image: url('img/news01.png');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 320px;
	height: 300px;
	margin: 0 auto;
}
.news-title {
	position: absolute;
	top: 120px;
	left: 70px;
}
.news-container {
	align-items: center;
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
}
.news-card {
	align-items: center;
	display: grid;
	grid-template-columns: repeat(9, 1fr);
	background-color: #fff;
	padding: 32px 20px;
	border-radius: 30px;
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
	width: 90%;
	text-decoration: none;
	transition: .3s;
}
.new {
	grid-column: 1/2;
}
.news-label {
	grid-column: 2/3;
}
.news-date {
	grid-column: 3/4;
}
.news-text {
	grid-column: 4/10;
}
.news-card:hover {
	background-color: #f7f7f7;
}
@media (max-width:1024px) {
	.news-grid {
		display: grid;
		grid-template-columns: 1fr;
		margin-left: 5%;
		margin-right: 5%;
	}
	.news-title-container {
		width: 155px;
		height: 147px;
		margin-left: 0;
		margin-bottom: 16px;
	}
	.news-title {
		position: absolute;
		top: 50px;
		left: 26px;
	}
	.news-card {
		grid-template-rows: repeat(2, 1fr);
		margin-left: auto;
		margin-right: auto;
		border-radius: 15px;
		padding: 20px 20px;
		width: 90%;
		row-gap: 4px;
	}
	.new {
		grid-column: 3/10;
		grid-row: 1/2;
	}
	.news-label {
		grid-column: 1/2;
		grid-row: 1/2;
	}
	.news-date {
		grid-column: 2/3;
		grid-row: 1/2;
	}
	.news-text {
		grid-column: 1/10;
		grid-row: 2/3;
	}
}
.new {
	visibility: hidden;
}
.new.is-show {
	visibility: visible;
	display: inline-block;
	color: #ff1b1f;
	font-family: 'Manrope', sans-serif;
	font-weight: 800;
	font-size: 1.4rem;
}
.news-label::before {
	content: "NEWS";
	display: inline-block;
	padding: 8px 16px;
	border: 1px solid #295C9C;
	color: #295C9C;
	font-family: 'Manrope', sans-serif;
	font-weight: 800;
	font-size: 1.4rem;
	text-align: center;
}
.news-date {
	padding-left: 0.8rem;
	color: #8F8F8F;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
}
@media(max-width:1024px) {
	.news-label::before {
		padding: 3px 16px;
	}
}
.news-text {
	color: #292929;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
}
.news-viewmore {
	position: absolute;
	right: 10%;
}
.wrapper_05 {
	background: linear-gradient(180deg, #F3F7FC 0%, #F3F7FC 50%, #E8EFF8 50%, #E8EFF8 100%);
	display: flex;
	justify-content: center;
	align-items: center;
}
.wrapper_05b {
	background: linear-gradient(180deg, #ECF5FC 0%, #ECF5FC 50%, #E8EFF8 50%, #E8EFF8 100%);
	display: flex;
	justify-content: center;
	align-items: center;
}
.wrapper_05c {
	background: linear-gradient(180deg, #fff 0%, #fff 50%, #E8EFF8 50%, #E8EFF8 100%);
	display: flex;
	justify-content: center;
	align-items: center;
}
.contact-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: url('img/contact01.png?20250415a') no-repeat center/cover;
	padding: 50px;
	border-radius: 30px;
	margin: 40px auto;
	width: 80%;
	max-width: 1000px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	position: relative;
}
@media (max-width:1024px) {
	.contact-wrapper {
		display: grid;
		grid-template-columns: 1fr;
		gap: 32px;
		width: 60%;
	}
}
.contact-container {
	max-width: 500px;
	color: white;
}
.contact-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 180px;
	padding: 12px 20px;
	border-radius: 40px;
	text-decoration: none;
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 1.6rem;
	color: #295C9C;
	background: white;
	transition: all 0.3s ease-in-out;
	position: relative;
	z-index: 1000;
}
.contact-button .text {
	flex-grow: 1;
	text-align: center;
}
.contact-button .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: #295C9C;
	color: white;
	border-radius: 50%;
	transition: all 0.3s ease-in-out;
}
.contact-button:hover {
	background: #295C9C;
	color: white;
}
.contact-button:hover .icon {
	background: white;
	color: #295C9C;
}
.contactus {
	position: absolute;
	top: 0;
	left: 0;
}
.contactus img {
	width: 90%;
}
.contact02 {
	position: absolute;
	top: 5%;
	right: 0;
	z-index: 0;
}
@media (max-width:1024px) {
	.contact02 {
		display: none;
	}
}
.wrapper_06 {
	background-color: #E8EFF8;
	margin-left: auto;
	margin-right: auto;
}
.footer-grid {
	width: 920px;
	margin-left: auto;
	margin-right: auto;
	display: grid;
	grid-template-columns: 270px 550px 100px;
}
@media (max-width:1024px) {
	.footer-grid {
		display: none;
	}
}
.footer-nav {
	display: flex;
	gap: 2rem;
	margin-left: auto;
	margin-right: auto;
}
.footer-nav a,
.footer-nav_c a {
	display: block;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	color: #295C9C;
	text-decoration: none;
}
.footer-nav_02 a,
.footer-nav_02_c a {
	display: block;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	color: #295C9C;
	text-decoration: none;
}
.footer-logo img {
	width: 266px;
}
@media (min-width:1025px) {
	.footer-grid_c {
		display: none;
	}
}
.footer-logo_c img {
	width: 164px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.footer-insta img {
	width: 64px;
}
.footer-insta_c img {
	margin-top: 16px;
	width: 44px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.footer-nav_c {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	width: 24rem;
	padding-left: 16px;
	margin-left: auto;
	margin-right: auto;
}
.footer-nav_c a {
	padding-bottom: 8px;
}
.wrapper_07 {
	height: 92px;
	background-color: #295C9C;
	font-family: 'Manrope', sans-serif;
	font-weight: 500;
	font-size: 1.4rem;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.news-top-bg {
	position: relative;
	padding-top: 43.6%;
	background-image: url('img/news-top.png');
	background-color: #ECF5FC;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
@media(max-width:1280px) {
	.news-top-bg {
		padding-top: 50%;
	}
}
@media(max-width:768px) {
	.news-top-bg {
		padding-top: 70%;
		background-image: url('img/news-top_sp.png');
	}
}
.news-top_01 {
	position: absolute;
	top: 12rem;
	left: 4rem;
}
.news-top_02 {
	position: absolute;
	top: 24rem;
	left: 18rem;
}
.wrapper_08 {
	padding-left: 10%;
	padding-right: 10%;
	background-color: #F3F7FC;
	background-size: 80%;
	background-position: center;
	background-repeat: no-repeat;
}
.newarrival {
	margin: 0 auto;
	position: relative;
}
.newarrival::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(to right, #295C9C 0px, #295C9C 170px, #CBD8E7 170px, #CBD8E7 980px);
}
.post-wrapper {
	display: grid;
	grid-template-columns: 11em 11em;
}
.back-to-news {
	display: flex;
	justify-content: center;
}
.top_03-container {
	opacity: 0;
	position: absolute;
	top: 230px;
	left: 0;
	right: 0;
	margin: auto;
	animation: fadeInUp 2s ease-out forwards;
	animation-delay: 1s;
}
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(80px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.top03-earth {
	position: relative;
	margin: 0 auto;
	width: 500px;
	height: 500px;
	background-image: url('img/top03-earth.png');
	background-repeat: no-repeat;
	background-size: 500px;
	transform: translateY(80px) scale(1.2);
}
.top03-windmill {
	position: absolute;
	top: -50px;
	left: -70px;
	width: 200px;
	animation: spin 10s linear infinite;
}
@keyframes spin {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}
.top03-sun {
	position: absolute;
	top: 22px;
	left: 350px;
	width: 50px;
}
.top03-splash {
	position: absolute;
	top: 160px;
	left: 295px;
	width: 97.96px;
	animation: splash 0.5s ease-out infinite;
}
@keyframes splash {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(2px);
	}
	100% {
		transform: translateY(0);
	}
}
.top03-cloud1 {
	position: absolute;
	top: 120px;
	left: -70px;
	width: 80px;
	animation: cloud1 3.5s ease-in-out infinite;
}
@keyframes cloud1 {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(8px);
	}
	100% {
		transform: translateY(0);
	}
}
.top03-cloud2 {
	position: absolute;
	top: 20px;
	left: 210px;
	width: 80px;
	animation: cloud2 3.5s ease-in-out infinite;
	animation-delay: 0.5s;
}
@keyframes cloud2 {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
	100% {
		transform: translateY(0);
	}
}
.top03-cloud3 {
	position: absolute;
	top: 80px;
	left: 450px;
	width: 100px;
	animation: cloud3 3.5s ease-in-out infinite;
	animation-delay: 0.2s;
}
@keyframes cloud3 {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-12px);
	}
	100% {
		transform: translateY(0);
	}
}
.top03-character1 {
	position: absolute;
	top: 140px;
	left: 47px;
	width: 32px;
}
.top03-character2 {
	position: absolute;
	top: 110px;
	left: 75px;
	width: 30px;
}
.top03-character3 {
	position: absolute;
	top: 116px;
	left: 90px;
	width: 52px;
}
.top03-character4 {
	position: absolute;
	top: 118px;
	left: 180px;
	width: 28px;
}
.top03-character5 {
	position: absolute;
	top: 115px;
	left: 210px;
	width: 32px;
}
.top03-character1:hover,.top03-character2:hover,.top03-character3:hover,.top03-character4:hover,.top03-character5:hover {
	animation: shake 0.5s infinite;
}
@keyframes shake {
	0% {
		transform: translate(0, 0) rotate(0deg);
	}
	20% {
		transform: translate(-1px, 1px) rotate(-1deg);
	}
	40% {
		transform: translate(1px, -1px) rotate(1deg);
	}
	60% {
		transform: translate(-1px, -1px) rotate(-1deg);
	}
	80% {
		transform: translate(1px, 1px) rotate(1deg);
	}
	100% {
		transform: translate(0, 0) rotate(0deg);
	}
}
.ap02 {
	opacity: 0;
	position: absolute;
	top: -30px;
	left: -280px;
	animation: fadeIn_ap02-05 1s ease-out forwards, float_ap02-03 3s ease-in-out infinite;
	animation-delay: 3s;
}
.ap02-img {
	width: 200px;
}
.ap03 {
	opacity: 0;
	position: absolute;
	top: 260px;
	left: -190px;
	animation: fadeIn_ap02-05 1s ease-out forwards, float_ap02-03 3s ease-in-out infinite;
	animation-delay: 3s;
}
.ap03-img {
	width: 194px;
}
.ap04 {
	opacity: 0;
	position: absolute;
	top: 0px;
	right: -260px;
	animation: fadeIn_ap02-05 1s ease-out forwards, float_ap04-05 4s ease-in-out infinite;
	animation-delay: 3s;
}
.ap04-img {
	width: 194px;
}
.ap05 {
	opacity: 0;
	position: absolute;
	top: 260px;
	right: -190px;
	animation: fadeIn_ap02-05 1s ease-out forwards, float_ap04-05 4s ease-in-out infinite;
	animation-delay: 3s;
}
.ap05-img {
	width: 194px;
}
@keyframes fadeIn_ap02-05 {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes float_ap02-03 {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
	100% {
		transform: translateY(0);
	}
}
@keyframes float_ap04-05 {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-14px);
	}
	100% {
		transform: translateY(0);
	}
}
@media(max-width:1220px) {
	.top_01 {
		top: 100px;
	}
	.top_02-container {
		height: 360px;
	}
	.top_03-container {
		top: 200px;
	}
	.top03-earth {
		transform: scale(0.9);
	}
	.ap02-img,
	.ap03-img,
	.ap04-img,
	.ap05-img {
		transform: scale(0.9);
	}
	.top03-cloud1 {
		top: -50px;
		left: 70px;
	}
	.top03-cloud3 {
		top: -30px;
		left: 400px;
	}
	.ap02 {
		top: -30px;
		left: -200px;
	}
	.ap03 {
		top: 260px;
		left: -170px;
	}
	.ap04 {
		top: 0px;
		right: -200px;
	}
	.ap05 {
		top: 260px;
		right: -170px;
	}
}
@media(max-width:768px) {
	.top_01 {
		top: 100px;
	}
	.top_02-container {
		height: 350px;
	}
	.top_03-container {
		top: 140px;
		left: -50px;
		transform: scale(-50%);
	}
	.top03-earth {
		transform: scale(0.6);
	}
	.ap02-img,
	.ap03-img,
	.ap04-img,
	.ap05-img {
		transform: scale(0.65);
	}
	.ap02 {
		top: 350px;
		left: -80px;
	}
	.ap03 {
		top: 480px;
		left: 70px;
	}
	.ap04 {
		top: 360px;
		right: -60px;
	}
	.ap05 {
		top: 480px;
		right: 60px;
	}
}
.fade-in-top {
	animation: fadeInUp 2s ease-out forwards;
}
.fade-in {
	opacity: 0;
	transform: translateY(60px);
	transition: opacity 1s ease-out, transform 1s ease-out;
}
.fade-in.visible {
	opacity: 1;
	transform: translateY(0);
}
.zoom-in {
	opacity: 0;
	transform: scale(0.5) translateY(60px);
	transition: opacity 1s ease-out, transform 1s ease-out;
}
.zoom-in.visible {
	opacity: 1;
	transform: scale(1) translateY(0);
}
.breadcrumb {
	position: absolute;
	top: 110px;
	left: 4%;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #fff;
}
.title {
	position: absolute;
	top: 36%;
	left: 14%;
}
.title01 {
	font-family: 'Outfit', sans-serif;
	font-weight: 700;
	font-size: 64px;
	color: #fff;
}
.title02 {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 24px;
	color: #fff;
}
.title03 {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 24px;
	position: absolute;
	top: 30%;
	right: 15%;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 20px;
	color: #fff;
}
.title04 {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 24px;
	position: absolute;
	top: 35%;
	right: 15%;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 18px;
	color: #fff;
}
.title05 {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 24px;
	position: absolute;
	top: 40%;
	right: 15%;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 18px;
	color: #fff;
}
.row-link {
	display: block;
	text-decoration: none;
	color: inherit;
}
.row {
	display: grid;
	grid-template-columns: 136px 2fr;
	padding-bottom: 2px;
	border-bottom: 2px solid #ccc;
}
.row02 {
	display: grid;
	grid-template-columns: 234px 2fr;
	padding-bottom: 2px;
	border-bottom: 2px solid #ccc;
}
.title03-arrow img {
	width: 13px;
	height: auto;
	vertical-align: middle;
}
@media(max-width:1280px) {
	.title03 {
		display: none;
		top: 18%;
		right: 8%;
	}
	.title04 {
		display: none;
		top: 16%;
		right: 5%;
	}
	.title05 {
		display: none;
	}
}
@media(max-width:768px) {
	.breadcrumb {
		top: 100px;
		left: 4%;
		font-size: 10px;
		color: #fff;
	}
	.title {
		top: 50%;
		left: 10%;
	}
	.title01 {
		font-size: 32px;
	}
	.title02 {
		font-size: 16px;
	}
	.title03 {
		font-size: 14px;
	}
	.title04 {
		top: 18%;
		right: 3%;
		font-size: 12px;
		row-gap: 14px;
	}
	.row {
		grid-template-columns: 70px 2fr;
	}
	.row02 {
		grid-template-columns: 140px 2fr;
	}
}
.gallery-top-bg {
	position: relative;
	padding-top: 43.6%;
	background-image: url('img/gallery-top.png');
	background-color: #ECF5FC;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
@media(max-width:1280px) {
	.gallery-top-bg {
		padding-top: 50%;
	}
}
@media(max-width:768px) {
	.gallery-top-bg {
		padding-top: 70%;
		background-image: url('img/gallery-top_sp.png');
	}
}
.wrapper_gallery {
	background-color: #ECF5FC;
}
.wrapper_gallery img {
	display: block;
	margin: 0 auto;
	width: 90%;
	max-width: 1000px;
}
img.ga04 {
	width: 208px;
}
@media(max-width:1280px) {
	img.ga04 {
		width: 156px;
	}
}
@media(max-width:768px) {
	img.ga04 {
		width: 104px;
	}
}
.information-top-bg {
	position: relative;
	padding-top: 43.6%;
	background-image: url('img/information-top.png');
	background-color: #ECF5FC;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
@media(max-width:1280px) {
	.information-top-bg {
		padding-top: 50%;
	}
}
@media(max-width:768px) {
	.information-top-bg {
		padding-top: 70%;
		background-image: url('img/information-top_sp.png');
	}
}
.wrapper_information01 {
	background-color: #ECF5FC;
	padding-bottom: 90px;
}
.title-service {
	background-image: linear-gradient(90deg, #295c9c 0 20%, #cbd8e7 20%);
	background-repeat: no-repeat;
	background-size: 100% 2px;
	background-position: bottom;
}
.block-information01 {
	width: 980px;
	margin-left: auto;
	margin-right: auto;
}
@media(max-width:1280px) {
	.block-information01 {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
}
@media(max-width:768px) {
	.block-information01 {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}
.information-card-grid01 {
	display: flex;
	gap: 27px;
	width: 100%;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 32px;
}
.information-card-grid02 {
	display: flex;
	gap: 27px;
	width: 100%;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 32px;
}
@media (max-width: 1280px) {
	.information-card-box {
		width: 330px;
		margin-left: auto;
		margin-right: auto;
	}
	.information-card-grid01 {
		flex-direction: column;
		gap: 18px;
	}
	.information-card-grid02 {
		flex-direction: column;
		gap: 18px;
	}
}
@media (max-width: 768px) {
	.information-card-box {
		width: 100%;
	}
	.information-card-grid01 {
		flex-direction: column;
		width: 270px;
	}
	.information-card-grid02 {
		flex-direction: column;
		width: 270px;
	}
}
.card-button {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 326px;
	height: 133px;
	background-color: #fff;
	border: 2px solid #295c9c;
	border-radius: 30px;
	box-shadow: 4px 4px 8px #92b3d3;
	text-align: center;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	color: #295C9C;
	cursor: pointer;
	text-decoration: none;
	transition: box-shadow 0.5s ease;
}
.card-button:hover {
	box-shadow: none;
}
.card-button .label {
	line-height: 2;
	font-size: 20px;
	margin-bottom: 8px;
}
.card-button .label02 {
	line-height: 2;
	font-size: 16px;
	margin-bottom: 8px;
}
.card-button img {
	width: 36px;
	height: 36px;
}
@media (max-width: 1280px) {
	.card-button {
		flex-direction: row;
		justify-content: space-between;
		width: 300px;
		height: 65px;
		border-radius: 15px;
		text-align: left;
		transition: box-shadow 0.5s ease;
	}
	.card-button:hover {
		box-shadow: none;
	}
	.card-button .label {
		line-height: 1;
		font-size: 16px;
		padding-left: 16px;
		margin: 0;
	}
	.card-button .label02 {
		line-height: 1;
		font-size: 14px;
		padding-left: 16px;
		margin: 0;
	}
	.card-button img {
		width: 29px;
		height: 29px;
		padding-right: 29px;
	}
}
@media (max-width: 768px) {
	.card-button {
		flex-direction: row;
		justify-content: space-between;
		width: 100%;
		height: 65px;
	}
	.card-button .label {
		line-height: 1;
		font-size: 16px;
		padding-left: 16px;
		padding-right: 16px;
		margin: 0;
	}
}
.wrapper-information02 {
	width: 100%;
	height: 247px;
	background-image: url('img/information02.png');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
	text-align: center;
}
.wrapper-information02 div {
	width: 90%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
.wrapper-information03 {
	background-color: #ECF5FC;
}
.information03-block01 {
	background-color: #ECF5FC;
	width: 946px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 12px;
	padding-top: 56px;
	margin-left: auto;
	margin-right: auto;
}
.information03a-block01 {
	width: 100%;
	text-align: center;
}
.information03a-block01 img {
	display: inline-block;
	max-width: 600px;
	width: 95%;
	height: auto;
	margin-top: 56px;
}
.information-card {
	width: 227px;
	display: flex;
	flex-direction: column;
}
.information-card img {
	width: 227px;
}
.information-card p {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #292929;
	text-align: center;
	height: 42px;
	line-height: 2.5;
	background-color: #fff;
}
.table-wrapper {
	padding-top: 56px;
}
.business-table {
	width: 100%;
	max-width: 946px;
	margin: 0 auto;
	border-collapse: collapse;
	background: white;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
}
.business-table th {
	background: #295C9C;
	color: white;
	font-weight: bold;
	padding: 12px;
	text-align: center;
	font-size: 16px;
	border: 1px solid #B8B8B8;
}
.business-table td {
	width: 50%;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #292929;
	border: 1px solid #B8B8B8;
	padding: 12px;
	vertical-align: middle;
	text-align: center;
}
.business-table .center-text {
	text-align: center;
}
.business-table .sub-header01 th {
	color: #292929;
	background-color: #CBD8E7;
}
@media(max-width:946px) {
	.information03-block01 {
		width: 300px;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 7px;
		row-gap: 29px;
	}
	.information-card {
		width: 100%;
		max-width: 167px;
		display: flex;
		flex-direction: column;
	}
	.information-card img {
		width: 100%;
		max-width: 167px;
	}
	.information-card p {
		font-size: 14px;
		height: 31px;
		line-height: 2;
	}
	.business-table {
		width: 95%;
		max-width: 768px;
	}
	.business-table th {
		background: #295C9C;
		color: white;
		font-weight: bold;
		padding: 12px;
		text-align: center;
		font-size: 16px;
		border: 1px solid #B8B8B8;
	}
	.business-table td {
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: 500;
		font-size: 14px;
		border: 1px solid #B8B8B8;
		padding: 12px;
		vertical-align: middle;
		text-align: left;
	}
}
.business-table .center-text {
	text-align: center;
}
.business-table .sub-header01 th {
	color: #292929;
	background-color: #CBD8E7;
}
.button02 {
	margin-top: 31px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 289px;
	padding: 12px 20px;
	border: 1px solid #295C9C;
	border-radius: 29px;
	text-decoration: none;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #295C9C;
	background: white;
	transition: all 0.3s ease-in-out;
	position: relative;
}
@media(max-width:768px) {
	.button02 {
		width: 240px;
	}
}
.button02 .text {
	flex-grow: 1;
	text-align: center;
}
.button02 .icon {
	display: inline-block;
	width: 36px;
	height: 36px;
	background-image: url('img/arrow04.png');
	background-size: cover;
	background-position: center;
	border-radius: 50%;
	background-color: #23579b;
	margin-left: 1rem;
	transition: all 0.3s ease;
}
.button02:hover {
	background: #295C9C;
	color: white;
}
.button02:hover .icon {
	background-image: url('img/arrow05.png');
	background-color: #fff;
}
.wrapper-information04 {
	width: 100%;
	height: 247px;
	background-image: url('img/information04.png');
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
	text-align: center;
}
.wrapper-information04 div {
	width: 90%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
.wrapper-information05 {
	width: 100%;
	height: 247px;
	background-image: url('img/information05.png');
	background-size: cover;
	background-position: center bottom 25%;
	background-repeat: no-repeat;
	position: relative;
	text-align: center;
}
.wrapper-information05 div {
	width: 90%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
.wrapper-information06 {
	background-color: #ECF5FC;
}
.information06-block01 {
	background-color: #ECF5FC;
	width: 707px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 12px;
	padding-top: 56px;
	margin-left: auto;
	margin-right: auto;
}
.information-card {
	width: 227px;
	display: flex;
	flex-direction: column;
}
.information-card img {
	width: 227px;
}
.information-card p {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #292929;
	text-align: center;
	height: 42px;
	line-height: 2.5;
	background-color: #fff;
}
.table-wrapper {
	padding-top: 56px;
}
.business-table {
	width: 100%;
	max-width: 946px;
	margin: 0 auto;
	border-collapse: collapse;
	background: white;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
}
.business-table th {
	background: #295C9C;
	color: white;
	font-weight: bold;
	padding: 12px;
	text-align: center;
	font-size: 16px;
	border: 1px solid #B8B8B8;
}
.business-table td {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	border: 1px solid #B8B8B8;
	padding: 12px;
	vertical-align: middle;
	text-align: center;
}
.business-table .center-text {
	text-align: center;
}
.business-table .sub-header01 th {
	color: #292929;
	background-color: #CBD8E7;
}
@media(max-width:946px) {
	.information06-block01 {
		width: 300px;
		grid-template-columns: 1fr 1fr;
		column-gap: 7px;
		row-gap: 29px;
	}
	.information06-block01 .information-card:nth-child(3) {
		grid-column: 1 / 3;
		justify-self: center;
	}
	.information-card {
		width: 100%;
		max-width: 167px;
		display: flex;
		flex-direction: column;
	}
	.information-card img {
		width: 100%;
		max-width: 167px;
	}
	.information-card p {
		font-size: 14px;
		height: 31px;
		line-height: 2;
	}
	.business-table {
		width: 95%;
		max-width: 768px;
	}
	.business-table th {
		background: #295C9C;
		color: white;
		font-weight: bold;
		padding: 12px;
		text-align: center;
		font-size: 16px;
		border: 1px solid #B8B8B8;
	}
	.business-table td {
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: 500;
		font-size: 14px;
		border: 1px solid #B8B8B8;
		padding: 12px;
		vertical-align: middle;
		text-align: left;
	}
	.business-table .center-text {
		text-align: center;
	}
	.business-table .sub-header01 th {
		color: #292929;
		background-color: #CBD8E7;
	}
}
.wrapper_information02 {
	background-color: #fff;
}
table.company-info {
	margin-top: 61px;
	margin-bottom: 76px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #ccc;
}
table.company-info th,
table.company-info td {
	padding: 16px;
	vertical-align: center;
}
table.company-info th {
	border: 1px solid #fff;
	background-color: #295C9C;
	color: #fff;
	text-align: center;
	width: 224px;
}
table.company-info td {
	border: 1px solid #295C9C;
	color: #292929;
}
table.company-info th:first-child {
	border-top: 1px solid#295C9C;
}
table.company-info th:last-child {
	border-bottom: 1px solid#295C9C;
}
.map-container {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: nowrap;
	gap: 16px;
	margin-bottom: 12px;
}
.map-btn {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #295C9C;
	padding: 4px 12px;
	background-color: #fff;
	border: 1px solid #295C9C;
	color: #005bac;
	cursor: pointer;
	font-size: 0.9em;
	text-decoration: none;
}
.map-btn:hover {
	background-color: #d6e7f5;
}
@media(max-width:946px) {
	table.company-info {
		width: 100%;
		max-width: 768px;
		font-size: 14px;
	}
	table.company-info th,
	table.company-info td {
		padding: 14px 8px;
	}
	table.company-info th {
		width: 60px;
	}
	table.company-info td {
		border: 1px solid #295C9C;
		color: #292929;
	}
	table.company-info th:first-child {
		border-top: 1px solid#295C9C;
	}
	table.company-info th:last-child {
		border-bottom: 1px solid#295C9C;
	}
	.map-container {
		position: relative;
	}
	.map-btn {
		position: absolute;
		top: 4px;
		right: 0;
	}
}
.block02 {
	display: grid;
	grid-template-columns: 40% 60%;
	place-items: center;
	margin-top: 42px;
	margin-left: auto;
	margin-right: auto;
}
.block02 img {
	width: 100%;
	max-width: 261px;
}
.block02 p {
	font-family: 'Outfit', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: #292929;
}
@media(max-width:1280px) {
	.block02 {
		grid-template-columns: 1fr;
	}
	.block02 p {
		font-size: 16px;
	}
}
.policy {
	width: 1020px;
	padding: 30px 40px;
	margin-top: 60px;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.policy-title {
	font-size: 24px;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	text-align: center;
	color: #295C9C;
	background-color: #ECF5FC;
	padding-top: 10px;
	padding-bottom: 10px;
}
.policy-block {
	margin-bottom: 40px;
}
.policy-heading {
	font-size: 20px;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-weight: bold;
	color: #005bac;
	margin-top: 32px;
	margin-bottom: 8px;
	border-bottom: 1px solid #295C9C;
}
.policy-text {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	margin-top: 18px;
}
.policy-list {
	list-style: none;
	padding-left: 0;
	margin-top: 18px;
}
.policy-list li {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	margin-bottom: 16px;
}
.policy-footer {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	text-align: left;
	margin-top: 42px;
	width: fit-content;
	margin-left: auto;
}
@media(max-width:1280px) {
	.policy {
		width: 70%;
	}
}
@media(max-width:768px) {
	.policy {
		width: 70%;
	}
}
table.group-info {
	width: 100%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 60px;
	border-collapse: collapse;
	background-color: #fff;
}
table.group-info thead th.table-title {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-size: 20px;
	background-color: #295C9C;
	color: #fff;
	text-align: center;
	width: 100%;
}
table.group-info th,
table.group-info td {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	border: 1px solid #B8B8B8;
	padding: 16px;
	vertical-align: top;
}
table.group-info th {
	padding-left: 66px;
	vertical-align: middle;
	max-width: 292px;
	background-color: #CBD8E7;
	text-align: left;
}
table.group-info td {
	padding-left: 35px;
	max-width: 573px;
}
@media(max-width:1280px) {
	table.group-info {
		width: 80%;
	}
	table.group-info th {
		padding-left: 33px;
	}
}
@media(max-width:768px) {
	table.group-info thead th.table-title {
		font-size: 16px;
	}
	table.group-info {
		width: 90%;
	}
	table.group-info th {
		padding-left: 16px;
	}
	table.group-info th,
	table.group-info td {
		font-size: 14px;
	}
}
.wrapper_09 {
	background-color: #fff;
}
.block03 {
	display: flex;
	align-items: flex-end;
	column-gap: 16px;
}
.block-right {
	margin-left: auto;
}
@media (max-width: 980px) {
	.block03 {
		flex-wrap: wrap;
	}
	.block-right {
		margin-left: 0;
		width: 100%;
		margin-top: 4px;
	}
}
.license-wrapper {
	max-width: 892px;
	margin: 0 auto;
    padding-top: 40px;
    padding-right: 20px;
    padding-left: 20px;
}
.license-wrapper-pb1{
    padding-bottom: 32px;
}
.license-wrapper-pb2{
    padding-bottom: 128px;
}
.license-grid {
	display: grid;
	grid-template-columns: 366px 80px 366px 80px;
	border: 1px solid #B8B8B8;
}
.title-cell {
	grid-column: span 4;
	background-color: #316095;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	padding: 12px 0;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	border: 1px solid #B8B8B8;
}
.header-cell {
	background-color: #CBD8E7;
	color: #000;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	padding: 12px 0;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	border: 1px solid #B8B8B8;
}
.item {
	background: #fff;
	padding: 12px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #000;
	border: 1px solid #B8B8B8;
}
@media (max-width: 896px) {
	.license-grid {
		grid-template-columns: 78% 22%;
	}
	.title-cell {
		grid-column: span 2;
		font-size: 16px;
	}
	.header-cell,
	.item {
		font-size: 14px;
	}
	.title-cell {
		order: 1;
	}
	.header-cell:nth-child(2) {
		order: 2;
	}
	.header-cell:nth-child(3) {
		order: 3;
	}
	.header-cell:nth-child(4) {
		display: none;
	}
	.header-cell:nth-child(5) {
		display: none;
	}
	.item:nth-child(6) {
		order: 4;
	}
	.item:nth-child(7) {
		order: 5;
	}
	.item:nth-child(10) {
		order: 6;
	}
	.item:nth-child(11) {
		order: 7;
	}
	.item:nth-child(14) {
		order: 8;
	}
	.item:nth-child(15) {
		order: 9;
	}
	.item:nth-child(18) {
		order: 10;
	}
	.item:nth-child(19) {
		order: 11;
	}
	.item:nth-child(22) {
		order: 12;
	}
	.item:nth-child(23) {
		order: 13;
	}
	.item:nth-child(26) {
		order: 14;
	}
	.item:nth-child(27) {
		order: 15;
	}
	.item:nth-child(30) {
		order: 16;
	}
	.item:nth-child(31) {
		order: 17;
	}
	.item:nth-child(34) {
		order: 18;
	}
	.item:nth-child(35) {
		order: 19;
	}
	.item:nth-child(38) {
		order: 20;
	}
	.item:nth-child(39) {
		order: 21;
	}
	.item:nth-child(42) {
		order: 22;
	}
	.item:nth-child(43) {
		order: 23;
	}
	.item:nth-child(46) {
		order: 24;
	}
	.item:nth-child(47) {
		order: 25;
	}
	.item:nth-child(50) {
		order: 26;
	}
	.item:nth-child(51) {
		order: 27;
	}
	.item:nth-child(54) {
		order: 28;
	}
	.item:nth-child(55) {
		order: 29;
	}
	.item:nth-child(8) {
		order: 30;
	}
	.item:nth-child(9) {
		order: 31;
	}
	.item:nth-child(12) {
		order: 32;
	}
	.item:nth-child(13) {
		order: 33;
	}
	.item:nth-child(16) {
		order: 34;
	}
	.item:nth-child(17) {
		order: 35;
	}
	.item:nth-child(20) {
		order: 36;
	}
	.item:nth-child(21) {
		order: 37;
	}
	.item:nth-child(24) {
		order: 38;
	}
	.item:nth-child(25) {
		order: 39;
	}
	.item:nth-child(28) {
		order: 40;
	}
	.item:nth-child(29) {
		order: 41;
	}
	.item:nth-child(32) {
		order: 42;
	}
	.item:nth-child(33) {
		order: 43;
	}
	.item:nth-child(36) {
		order: 44;
	}
	.item:nth-child(37) {
		order: 45;
	}
	.item:nth-child(40) {
		order: 46;
	}
	.item:nth-child(41) {
		order: 47;
	}
	.item:nth-child(44) {
		order: 48;
	}
	.item:nth-child(45) {
		order: 49;
	}
	.item:nth-child(48) {
		order: 50;
	}
	.item:nth-child(49) {
		order: 51;
	}
	.item:nth-child(52) {
		order: 52;
	}
	.item:nth-child(53) {
		order: 53;
	}
	.item:nth-child(56) {
		order: 54;
	}
	.item:nth-child(57) {
		order: 55;
	}
}
.wrapper_10 {
	background-color: #ECF5FC;
}
.block04 {
	width: 685px;
	margin-left: auto;
	margin-right: auto;
	display: grid;
	grid-template-columns: 164px 521px;
	place-items: center;
	text-align: left;
}
.block04 img {
	width: 164px;
}
@media(max-width:1280px) {
	.block04 {
		margin-top: 62px;
		width: 100%;
		display: grid;
		grid-template-columns: 1fr;
	}
}
.others-top-bg {
	position: relative;
	padding-top: 43.6%;
	background-image: url('img/others-top.png');
	background-color: #ECF5FC;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
@media(max-width:1280px) {
	.others-top-bg {
		padding-top: 50%;
	}
}
@media(max-width:768px) {
	.others-top-bg {
		padding-top: 70%;
		background-image: url('img/others-top_sp.png');
	}
}
.recruit-top-bg {
	position: relative;
	padding-top: 43.6%;
	background-image: url('img/recruit-top.png');
	background-color: #ECF5FC;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
@media(max-width:1280px) {
	.recruit-top-bg {
		padding-top: 50%;
	}
}
@media(max-width:768px) {
	.recruit-top-bg {
		padding-top: 70%;
		background-image: url('img/recruit-top_sp.png');
	}
}
.block-recruit01 {
	background-image: url('img/recruit03.png');
	background-repeat: repeat-x;
	background-size: auto 100%;
	background-position: center;
	width: 100%;
	height: 100%;
}
.block05 {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
.block06 img {
	display: block;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
@media(max-width:768px) {
	.block06 img {
		width: 96%;
	}
}
/*↓↓↓採用リンクcss↓↓↓*/
.job-list {
	display: flex;
	justify-content: flex-start;
	gap: 15px;
	flex-wrap: wrap;
	margin-top: 28px;
	margin-bottom: 76px;
	margin-left: auto;
	margin-right: auto;
	max-width: 1280px;
}
.job-column {
	display: flex;
	flex-direction: column;
	gap: 15px;
	align-items: center;
}
.job-card {
	border: 1px solid #295C9C;
	border-radius: 10px;
	padding: 15px;
	width: 251px;
	text-align: center;
	text-decoration: none;
	box-shadow: 4px 4px 8px #92b3d3;
	transition: box-shadow 0.5s ease;
}
.job-card:hover {
	box-shadow: none;
}
.job-card h3 {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #295C9C;
	padding-bottom: 10px;
	border-bottom: 1px solid #295C9C;
	display: inline-block;
	width: 220px;
}
.job-card h4 {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-size: 14px;
	color: #295C9C;
	padding-bottom: 10px;
	border-bottom: 1px solid #295C9C;
	display: inline-block;
	width: 220px;
}
.job-card p {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 13px;
	padding-top: 10px;
}
.job-card.blue {
	background: #EFF5FF;
}
.job-card.green {
	background: #F0FFFE;
}
.job-card.yellow {
	background: #FFFCE9;
}
.job-card.pink {
	background: #FFF3F1;
}
@media (max-width: 1280px) {
	.job-list {
		flex-direction: column;
		align-items: center;
	}
	.job-column {
		width: 100%;
		align-items: center;
	}
}
/*↑↑↑採用リンクcss↑↑↑*/
.block07 {
	width: 884px;
	margin-top: 32px;
	margin-bottom: 89px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	gap: 28px;
}
.card-button02 {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 277px;
	height: 145px;
	border: 2px solid #295c9c;
	border-radius: 30px;
	text-align: center;
	color: #295C9C;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 4px 4px 8px #92b3d3;
	transition: box-shadow 0.5s ease;
	background-color: #fff;
}
.card-button02:hover {
	box-shadow: none;
}
.card-button02 .label {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 8px;
}
.card-button02 img {
	width: 36px;
	height: 36px;
}
.card-button02.yellow {
	background: #FFFCE9;
}
.card-button02.pink {
	background: #FFF3F1;
}
@media (max-width: 1280px) {
	.block07 {
		width: 740px;
		margin-left: auto;
		margin-right: auto;
		gap: 10px;
	}
	.card-button02 {
		width: 240px;
		height: 120px;
		gap: 10px;
	}
}
@media (max-width: 768px) {
	.block07 {
		flex-direction: column;
		width: 277px;
		margin-left: auto;
		margin-right: auto;
	}
	.card-button02 {
		width: 270px;
		height: 137px;
		gap: 13px;
	}
}
.block08 {
	width: 1075px;
	margin-left: auto;
	margin-right: auto;
	display: grid;
	gap: 21px;
	grid-template-columns: 456px 598px;
}
.block08 img {
	width: 100%;
}
@media (max-width: 1280px) {
	.block08 {
		width: 95%;
		grid-template-columns: 1fr 1fr;
	}
	.block08 img {
		display: block;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
}
@media (max-width: 768px) {
	.block08 {
		width: 90%;
		grid-template-columns: 100%;
	}
	.block08 img {
		width: 100%;
	}
}
.block09 {
	line-height: 1.6;
	width: 80%;
	max-width: 900px;
	background-color: #fff;
	border-radius: 15px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 64px;
	padding: 10px 87px 49px 76px;
}
.block09-1 {
	background-color: #ECF5FC;
	width: 900px;
	height: 61px;
	margin-top: 20px;
	position: relative;
}
.block09-1 img {
	display: block;
	width: 300px;
	margin-left: auto;
	margin-right: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%)translateY(-50%);
}
.block09-2 {
	width: 900px;
	display: flex;
	gap: 21px;
	align-items: flex-end;
	border-bottom: 1px solid #295C9C;
	margin-top: 40px;
	margin-bottom: 12px;
}
.block09-2-q1 {
	font-size: 36px;
	font-weight: 700;
	font-family: 'Outfit', sans-serif;
	color: #295C9C;
}
.block09-2-q2 {
	font-size: 20px;
	font-weight: 800;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	color: #295C9C;
	margin-bottom: 6px;
}
.block09-3 img {
	grid-area: image092;
	width: 200px;
}
.block09-5 img {
	width: 200px;
}
.block09-2-a {
	grid-area: text092;
	font-size: 16px;
	font-weight: 500;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	color: #292929;
}
.block09-3 {
	display: grid;
	grid-template-columns: 700px 200px;
	grid-template-areas: "text092" "image092";
}
.block09-4 {
	display: grid;
	grid-template-columns: 900px;
	grid-template-areas: "text092" "image092";
}
.block09-5 {
	display: grid;
	grid-template-columns: 200px 700px;
	gap: 16px;
}
.block09-5-a {
	font-size: 16px;
	font-weight: 500;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	color: #292929;
}
@media(max-width:1280px) {
	.block09 {
		width: 80%;
		background-color: #fff;
		border-radius: 15px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 64px;
		padding: 25px 5% 49px;
	}
	.block09-1 {
		background-color: #ECF5FC;
		width: 100%;
		height: 61px;
		margin-top: 20px;
		position: relative;
	}
	.block09-1 img {
		display: block;
		width: 300px;
		margin-left: auto;
		margin-right: auto;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%)translateY(-50%);
	}
	.block09-2 {
		width: 100%;
		display: flex;
		gap: 21px;
		align-items: flex-end;
		border-bottom: 1px solid #295C9C;
		margin-top: 40px;
		margin-bottom: 12px;
	}
	.block09-2-q1 {
		font-size: 36px;
		font-weight: 700;
		font-family: 'Outfit', sans-serif;
		color: #295C9C;
	}
	.block09-2-q2 {
		font-size: 20px;
		font-weight: 800;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		color: #295C9C;
		margin-bottom: 6px;
	}
	.block09-3 img {
		grid-area: image092;
		width: 100%;
	}
	.block09-2-a {
		grid-area: text092;
		font-size: 16px;
		font-weight: 500;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		color: #292929;
	}
	.block09-3 {
		width: 100%;
		display: grid;
		grid-template-columns: 2fr 1fr;
		gap: 20px;
		grid-template-areas: "text092" "image092";
	}
	.block09-4 {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-areas: "text092" "image092";
	}
	.block09-5 {
		grid-template-columns: 1fr 2fr;
	}
	.block09-5-a {
		font-size: 16px;
		font-weight: 500;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		color: #292929;
	}
}
@media(max-width:768px) {
	.block09 {
		width: 80%;
		margin-top: 64px;
		padding: 25px 5% 49px;
	}
	.block09-1 {
		background-color: #ECF5FC;
		width: 100%;
		height: 61px;
		margin-top: 20px;
		position: relative;
	}
	.block09-1 img {
		display: block;
		width: 300px;
		margin-left: auto;
		margin-right: auto;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%)translateY(-50%);
	}
	.block09-2 {
		width: 100%;
		display: flex;
		gap: 21px;
		align-items: flex-end;
		border-bottom: 1px solid #295C9C;
		margin-top: 40px;
		margin-bottom: 12px;
	}
	.block09-2-q1 {
		font-size: 36px;
		font-weight: 700;
		font-family: 'Outfit', sans-serif;
		color: #295C9C;
	}
	.block09-2-q2 {
		font-size: 16px;
		font-weight: 800;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		color: #295C9C;
		margin-bottom: 6px;
	}
	.block09-3 img {
		grid-area: image092;
		width: 100%;
	}
	.block09-2-a {
		grid-area: text092;
		font-size: 14px;
		font-weight: 500;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		color: #292929;
	}
	.block09-3 {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-areas: "image092" "text092";
	}
	.block09-4 {
		display: grid;
		grid-template-columns: 1fr;
	}
	.block09-5 img {
		width: 100%;
	}
	.block09-5 {
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.block09-5-a {
		font-size: 14px;
		font-weight: 500;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		color: #292929;
	}
	.pc-none img {
		width: 100%;
	}
}
.block10 {
	width: 80%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 99px;
	margin-bottom: 71px;
}
.block10 p {
	padding: 16px;
	margin-bottom: 12px;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 16px;
	color: #295C9C;
	background-color: #fff;
	border-radius: 29px;
	text-align: center;
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: fit-content;
}
.video {
	width: 704px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 34px;
}
.video img {
	width: 704px;
}
@media(max-width:1280px) {
	.video {
		width: 100%;
	}
	.video img {
		width: 100%;
	}
}
.video-wrapper {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.contact-top-bg {
	position: relative;
	padding-top: 43.6%;
	background-image: url('img/contact-top.png');
	background-color: #ECF5FC;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
@media(max-width:1280px) {
	.contact-top-bg {
		padding-top: 50%;
	}
}
@media(max-width:768px) {
	.contact-top-bg {
		padding-top: 70%;
		background-image: url('img/contact-top_sp.png');
	}
}
.form-wrapper {
	background: #fff;
	width: 90%;
	max-width: 980px;
	margin-top: 40px;
	margin-bottom: 50px;
	margin-left: auto;
	margin-right: auto;
	padding: 30px;
	border-radius: 30px;
}
.form-wrapper h2 {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 24px;
	text-align: center;
	color: #295C9C;
	background-color: #ECF5FC;
	padding: 16px;
}
.form-wrapper p {
	text-align: left;
	margin-bottom: 24px;
	color: #292929;
}
.form-group {
	display: flex;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid #ddd;
}
.form-group label {
	flex: 0 0 260px;
	color: #292929;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 18px;
}
.required {
	color: #fff;
	background-color: #CE062B;
	border-radius: 3px;
	font-size: 0.9em;
	margin-left: 5px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 13px;
	padding: 0 8px;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
	width: 700px;
	max-width: 100%;
	padding: 8px;
	margin-left: 10px;
	background-color: #f5f5f5;
	border: 1px solid #bebebe;
	border-radius: 0;
	box-sizing: border-box;
}
textarea {
	height: 120px;
	resize: vertical;
}
.form01 {
	width: 100%;
	align-items: flex-start;
}
.radio-options {
	width: 700px;
}
.radio-options label {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #292929;
	margin-right: 24px;
}
.form-group input[type="radio"] {
	margin-right: 5px;
}
.form-group.checkbox-group {
	display: block;
	margin-top: 20px;
}
.form-group.checkbox-group label {
	display: inline;
	font-weight: normal;
}
.form-buttons {
	text-align: center;
	margin-top: 30px;
}
.notice-button {
	width: 334px;
	height: 81px;
	background: #295C9C;
	color: #fff;
	border: none;
	padding: 12px 40px;
	cursor: pointer;
	border-radius: 7px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-size: 24px;
}
.checkbox-group {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: nowrap;
	margin-top: 20px;
}
.privacy-set {
	display: flex;
	align-items: center;
	gap: 8px;
}
.form03 {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 600;
	font-size: 18px;
	color: #292929;
}
.required {
	color: #fff;
	background-color: #CE062B;
	border-radius: 3px;
	font-size: 13px;
	padding: 0 8px;
	display: inline-block;
}
.checkbox-line {
	display: grid;
	grid-template-columns: 162px 50px 20px 300px;
	align-items: left;
	gap: 10px;
	flex-wrap: nowrap;
	margin-top: 20px;
	border-bottom: none;
}
.checkbox-line02 {
	display: grid;
	grid-template-columns: 101px 50px 20px 300px;
	align-items: left;
	gap: 10px;
	flex-wrap: nowrap;
	margin-top: 20px;
}
.form03 {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 18px;
	color: #292929;
}
.form04 {
	margin-left: 32px;
}
.required {
	color: #fff;
	background-color: #CE062B;
	border-radius: 3px;
	font-size: 13px;
	padding: 0 8px;
	display: inline-block;
}
input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 0 8px 0 8px;
}
label {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #292929;
	padding-bottom: 8px;
}
.notice-button {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #295C9C;
	border: 2px solid #295C9C;
	background: #fff;
	padding: 4px 12px;
	border-radius: 3px;
	cursor: pointer;
	width: 100px;
}
.notice-text {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #292929;
	margin-top: 0;
	padding-left: 20px;
	list-style-type: disc;
}
.notice-text li {
	margin-bottom: 8px;
	line-height: 1;
}
@media(max-width:768px) {
	.checkbox-group {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.form-wrapper {
		background: #fff;
		width: 90%;
		margin-top: 40px;
		margin-bottom: 50px;
		margin-left: auto;
		margin-right: auto;
		padding: 10px;
		border-radius: 8px;
	}
	.form-wrapper h2 {
		font-family: 'Outfit', sans-serif;
		font-weight: 800;
		font-size: 18px;
		text-align: center;
		color: #295C9C;
		background-color: #ECF5FC;
		padding: 8px;
	}
	.form-group {
		display: flex;
		align-items: center;
		padding: 10px 0;
		border-bottom: 1px solid #ddd;
	}
	.form-group label {
		flex: 0 0 260px;
		color: #292929;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: 500;
		font-size: 16px;
	}
	.required {
		color: #fff;
		background-color: #CE062B;
		border-radius: 3px;
		font-size: 0.9em;
		margin-left: 5px;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: 500;
		font-size: 13px;
		padding: 0 8px;
	}
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea {
		width: 100%;
		padding: 8px;
		margin-left: 10px;
		background-color: #f5f5f5;
		border: 1px solid #bebebe;
		border-radius: 0;
		box-sizing: border-box;
	}
	textarea {
		height: 120px;
		resize: vertical;
	}
	.form01 {
		width: 100%;
		align-items: flex-start;
	}
	.radio-options {
		width: 100%;
	}
	.radio-options label {
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: 400;
		font-size: 14px;
		color: #292929;
		margin-right: 10px;
	}
	.form-group input[type="radio"] {
		margin-right: 5px;
	}
	.form-group.checkbox-group {
		display: block;
		margin-top: 20px;
	}
	.form-group.checkbox-group label {
		display: inline;
		font-weight: normal;
	}
	.form-buttons {
		text-align: center;
		margin-top: 30px;
	}
	.notice-button {
		background: #295C9C;
		color: #fff;
		border: none;
		padding: 12px 40px;
		font-size: 20px;
		cursor: pointer;
		width: 50%;
	}
	.form02 {
		display: grid;
		grid-template-columns: 1fr;
	}
	.checkbox-line {
		flex-wrap: wrap;
		gap: 8px;
	}
	.checkbox-line input[type="checkbox"],
	.checkbox-line label {
		margin-left: 0;
	}
	.checkbox-line02 {
		flex-wrap: wrap;
		gap: 8px;
	}
	.checkbox-line02 input[type="checkbox"],
	.checkbox-line02 label {
		margin-left: 0;
	}
}
.error-message {
	color: #ff0000;
	font-size: 10px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	margin-top: 4px;
	line-height: 1.4;
}
.block-sitemap {
	width: 980px;
	margin-left: auto;
	margin-right: auto;
}
@media(max-width:1280px) {
	.block-sitemap {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
}
@media(max-width:768px) {
	.block-sitemap {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}
.sitemap-list {
	line-height: 2;
	list-style: none;
	padding: 16px 0 64px;
}
.sitemap-list>li {
	margin: 12px 0;
}
.sitemap-list li a {
	text-decoration: none;
	color: #2b4c85;
}
.sitemap-list ul {
	list-style: none;
	padding-left: 20px;
	margin-top: 8px;
}
.sitemap-list ul li {
	margin: 6px 0;
}
.sitemap-f01 {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 16px;
}
.sitemap-f02 {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
}
.contact1-grid {
	display: grid;
	grid-template-columns: 250px 650px;
	justify-content: start;
}
.contact1-grid p {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 18px;
	color: #292929;
	text-align: left;
}
.contact1-label {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 18px;
	color: #292929;
	text-align: left;
}
.contact1-border {
	border-bottom: 1px solid #CBD8E7;
	width: 100%;
	margin-bottom: 24px;
}
.contact1-label02 {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-size: 16px;
	text-align: left;
	color: #295C9C;
	border: 2px solid #295C9C;
	border-radius: 3px;
	letter-spacing: 1.2;
	padding: 8px 12px;
}
.contact1-formbutton p {
	display: block;
	text-align: center;
}
.contact1-formbutton input[type="submit"] {
	appearance: none;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: #fff;
	background-color: #295C9C;
	width: 334px;
	height: 81px;
	border-radius: 7px;
	transition: .3s;
}
.contact1-formbutton2 p {
	display: block;
	text-align: center;
}
.contact1-formbutton2 input {
	appearance: none;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-size: 16px;
	color: #295C9C;
	background-color: #fff;
	width: 334px;
	height: 81px;
	border: #295C9C 1px solid;
	border-radius: 7px;
	transition: .3s;
}
.contact1-formbutton input:hover {
	color: #295C9C;
	background-color: #fff;
}
.contact1-formbutton2 input:hover {
	color: #fff;
	background-color: #295C9C;
}
.cc-grid {
	margin-top: 32px;
	margin-bottom: 32px;
	margin-right: auto;
	margin-left: auto;
	display: grid;
	grid-template-columns: repeat(2, 336px);
	gap: 25px;
	width: 697px;
}
@media(max-width:768px) {
	.contact1-grid {
		display: block !important;
	}
	.contact1-grid p {
		font-size: 14px;
	}
	.contact1-label {
		font-size: 14px;
	}
	.contact1-label02 {
		font-size: 14px;
	}
	.contact1-formbutton input[type="submit"] {
		font-size: 20px;
	}
	.contact1-formbutton2 input {
		font-size: 14px;
	}
	.cc-grid {
		display: grid;
		grid-template-columns: 1fr;
		width: auto;
	}
}
span.wpcf7-spinner {
	display: none;
}
.faq-block {
	background-color: #fff;
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 20px;
}
.faq-grid {
	display: grid;
	grid-template-columns: 40px 1fr;
	align-items: start;
}
.faq-q1 {
	font-family: 'Outfit', sans-serif;
	font-weight: 700;
	font-size: 36px;
	color: #295C9C;
}
.faq-q2 {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: #295C9C;
	padding-top: 8px;
}
.faq-a1 {
	font-family: 'Outfit', sans-serif;
	font-weight: 700;
	font-size: 36px;
	color: #E15456;
}
.faq-a2 {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #292929;
	padding-top: 8px;
}
.totop {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: #fff;
	background-color: #3A6AA1;
	border: 1px solid #3A6AA1;
	border-radius: 60px;
	text-align: center;
	max-width: 334px;
	padding: 16px 32px;
	display: block;
	margin: 64px auto 80px;
	transition: .5s;
}
.totop a {
	text-decoration: none;
}
.totop:hover {
	color: #3A6AA1;
	background-color: #fff;
}
@media(max-width:1280px) {
	.ct-block {
		transform: scale(0.8);
	}
}
@media(max-width:768px) {
	.ct-block {
		transform: scale(0.6);
	}
}
.thoughts-top-bg {
	position: relative;
	padding-top: 43.6%;
	background-image: url('img/thoughts-top.png');
	background-color: #fff;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
@media(max-width:1280px) {
	.thoughts-top-bg {
		padding-top: 50%;
	}
}
@media(max-width:768px) {
	.thoughts-top-bg {
		padding-top: 70%;
		background-image: url('img/thoughts-top_sp.png');
	}
}
.wrapper_thoughts01 {
	background-color: #fff;
}
.block-thoughts01 {
	width: 980px;
	margin-left: auto;
	margin-right: auto;
}
@media(max-width:1280px) {
	.block-thoughts01 {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
}
@media(max-width:768px) {
	.block-thoughts01 {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}
.thoughts002-img {
	width: 758px;
	margin-top: 49px;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
}
.thoughts002-img img {
	width: 100%;
	transition: opacity 0.5s ease;
}
.thoughts002-img:hover img{
	opacity: 0.7;
}
@media(max-width:1280px) {
	.thoughts002-img {
		width: 98%;
		margin-top: 16px;
		margin-bottom: 16px;
	}
}
.block-thoughts02 {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 91px;
}
.block-thoughts02-1 img {
	width: 100%;
}
.block-thoughts02-2 {
	width: 440px;
	margin-top: 72px;
}
.thoughts02-2-1-1 {
	font-family: 'Outfit', sans-serif;
	font-weight: 700;
	color: #295C9C;
	font-size: 36px;
}
.thoughts02-2-1-2 {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	color: #295C9C;
	font-size: 16px;
	margin-left: 10px;
}
.thoughts02-2-1::before {
	background-color: #295C9C;
	border-radius: 5px;
	content: "";
	display: inline-block;
	height: 43px;
	margin-right: 16px;
	vertical-align: top;
	width: 5px;
}
.thoughts02-2-2 {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: #292929;
	padding-top: 20px;
}
.thoughts02-2-3 {
	padding-top: 28px;
	margin-bottom: 45px;
	border-bottom: dashed 3px #e1e1e1;
}
.mb118-64 {
	margin-bottom: 118px;
}
@media(max-width:1280px) {
	.block-thoughts02 {
		grid-template-columns: 1fr;
		row-gap: 16px;
		width: 300px;
		margin: auto;
	}
	.block-thoughts02-1 img {
		width: 50%;
	}
	.block-thoughts02-2 {
		width: 100%px;
		margin-top: 6px;
	}
	.thoughts02-2-1-1 {
		font-size: 20px;
	}
	.thoughts02-2-1-2 {
		font-size: 16px;
		margin-left: 10px;
	}
	.thoughts02-2-1::before {
		background-color: #295C9C;
		border-radius: 5px;
		content: "";
		display: inline-block;
		height: 32px;
		margin-right: 16px;
		vertical-align: top;
		width: 5px;
	}
	.thoughts02-2-2 {
		width: 60%;
		font-size: 16px;
		padding-top: 8px;
	}
	.thoughts02-2-3 {
		width: 300px;
		padding-top: 28px;
		margin-bottom: 45px;
		border-bottom: dashed 3px #e1e1e1;
	}
	.mb118-64 {
		margin-bottom: 64px;
	}
}
.block-thoughts03 {
	background-color: #ECF5FC;
	padding-top: 91px;
}
.block-thoughts04 {
	background-color: #fff;
	border-radius: 30px;
	width: 520px;
	margin-left: auto;
	margin-right: auto;
	padding: 63px 231px 61px 87px;
	position: relative;
}
.title-greeting {
	background-image: linear-gradient(90deg, #295c9c 0 20%, #cbd8e7 20%);
	background-repeat: no-repeat;
	background-size: 100% 2px;
	background-position: bottom;
}
.mt37 {
	margin-top: 37px;
}
.greeting01 p {
	width: 514px;
	line-height: 2;
	margin-top: 1.2em;
}
.greeting02 {
	padding-top: 27px;
	display: flex;
	align-items: flex-end;
	gap: 18px;
}
.greeting02img img {
	width: 265px;
}
@media(max-width:768px) {
	.greeting02 {
		display: block;
	}
	.greeting02 div {
		margin-bottom: 8px;
	}
}
.greeting03 {
	position: absolute;
	top: 96px;
	left: 621px;
}
.greeting03 img {
	width: 463px;
}
@media(max-width:1280px) {
	.greeting03 {
		position: static;
		top: 96px;
		left: 621px;
	}
	.greeting03 img {
		display: block;
		width: 60%;
		margin: auto;
	}
}
@media(max-width:1280px) {
	.block-thoughts04 {
		width: 80%;
		padding: 5%;
	}
	.greeting01 p {
		width: 100%;
		line-height: 2;
		margin-top: 1.2em;
	}
}
.greeting04 {
	font-family: 'Outfit', sans-serif;
	font-weight: 700;
	font-size: 128px;
	color: #DEEBF4;
	position: relative;
	width: 100%;
	height: 168px;
	overflow: hidden;
	display: flex;
	align-items: center;
}
.greeting04-1 {
	position: absolute;
	white-space: nowrap;
	animation: marquee-animation 16s linear infinite;
}
@keyframes marquee-animation {
	from {
		left: 10%;
	}
	to {
		left: -150%;
	}
}
.wrapper_thoughts02 {
	background-color: #fff;
    padding-left: 5%;
}
.block-thoughts05 {
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
@media(max-width:1280px) {
	.block-thoughts05 {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
}
@media(max-width:768px) {
	.block-thoughts05 {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}
.timeline {
	width: 860px;
	margin-top: 120px;
	margin-bottom: 0;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	padding-bottom: 0;
	padding-left: 3px;
	border-left: 2px solid #CBD8E7;
}
.imgstart{
    position: absolute;
    top:-60px;
    left: -80px;
    transform: rotate(-10deg);
}
.imgstart img {
    width: 122px;
}

@media(max-width:1280px) {
    .imgstart {
        position: absolute;
        top: -60px;
        left: -30px;
        transform: rotate(-10deg);
    }

    .imgstart img {
        width: 80px;
    }

}
.timeline-item {
	position: relative;
	margin-bottom: 40px;
}
.timeline-item::before {
	content: '';
	position: absolute;
	left: -12px;
	top: 0px;
	width: 16px;
	height: 16px;
	background-color: #295c9c;
	border-radius: 50%;
}
.year {
	display: inline-block;
	background-color: #295c9c;
	color: white;
	font-weight: bold;
	padding: 6px 16px;
	border-radius: 5px;
	font-family: 'Outfit', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: #fff;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
	position: absolute;
	top: -16px;
	left: 64px;
}
.year::before {
	border-top: 2px dashed #D8D8D8;
	content: "";
	position: absolute;
	top: 50%;
	left: -55px;
	width: 50px;
	transform: translateY(-50%);
}
.description {
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #292929;
	padding-top: 60px;
	padding-left: 106px;
	margin-top: 50px;
}
.description li {
	margin-bottom: 6px;
	line-height: 1.6;
}
.hidden {
	display: none;
}
.custom-summary {
	width: 240px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 16px;
	border: 1px solid #295C9C;
	border-radius: 29px;
	background: #fff;
	cursor: pointer;
	list-style: none;
	margin-left: -32px;
	padding-left: 32px;
	font-family: 'Zen Kaku Gothic New', sans-serif;
	font-weight: 500;
	font-size: 16px;
	color: #295C9C;
	transition: all 0.3s ease;
}
.custom-summary span {
	margin-left: auto;
}
.custom-summary .circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #295C9C;
	color: #fff;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid #295C9C;
	font-size: 14px;
	line-height: 1;
}
.custom-summary:hover {
	border: 1px solid #295C9C;
	background: #295C9C;
	color: #fff;
}
.custom-summary span:hover {
	margin-left: auto;
}
.custom-summary:hover .circle {
	background-color: #fff;
	color: #295C9C;
	border: 1px solid #295C9C;
}
@media(max-width:1280px) {
	.timeline {
		width: 80%;
		margin-top: 60px;
		margin-bottom: 0;
		margin-left: auto;
		margin-right: auto;
		position: relative;
		padding-bottom: 0;
		padding-left: 3px;
		border-left: 2px solid #CBD8E7;
	}
	.timeline-item {
		position: relative;
		margin-bottom: 40px;
	}
	.timeline-item::before {
		content: '';
		position: absolute;
		left: -12px;
		top: 0px;
		width: 16px;
		height: 16px;
		background-color: #295c9c;
		border-radius: 50%;
	}
	.year {
		display: inline-block;
		background-color: #295c9c;
		color: white;
		font-weight: bold;
		padding: 6px 16px;
		border-radius: 5px;
		font-family: 'Outfit', sans-serif;
		font-weight: 700;
		font-size: 20px;
		color: #fff;
		letter-spacing: 0.1em;
		margin-bottom: 10px;
		position: absolute;
		top: -16px;
		left: 32px;
	}
	.year::before {
		border-top: 2px dashed #D8D8D8;
		content: "";
		position: absolute;
		top: 56%;
		left: -25px;
		width: 25px;
		transform: translateY(-50%);
	}
	.description {
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: 500;
		font-size: 14px;
		color: #292929;
		padding-top: 60px;
		padding-left: 53px;
		margin-top: 50px;
	}
	.description li {
		margin-bottom: 6px;
		line-height: 1.6;
	}
	.custom-summary {
		width: 180px;
		display: inline-flex;
		align-items: center;
		gap: 10px;
		padding: 8px 16px;
		border: 1px solid #295C9C;
		border-radius: 29px;
		background: #fff;
		cursor: pointer;
		list-style: none;
		margin-left: -25px;
		padding-left: 32px;
		font-family: 'Zen Kaku Gothic New', sans-serif;
		font-weight: 500;
		font-size: 14px;
		color: #295C9C;
		transition: all 0.3s ease;
	}
}
@media(max-width:1280px) {
	.timeline {
		width: 90%;
	}
}
.grecaptcha-badge {
	visibility: hidden;
}
.csbtn-block{
	margin-left: -6px;
}