.header {
	left: 50%;
	max-width: min(calc(1900 / 1900 * 100vw), 1900px);
	padding-left: min(calc(85 / 1900 * 100vw), 85px);
	pointer-events: none;
	position: fixed;
	top: 0;
	transform: translateX(-50%);
	width: 100%;
	z-index: 99;
}

.header__logo {
	display: block;
	pointer-events: all;
	width: min(calc(294 / 1900 * 100vw), 294px);
}

.l-top .mv {
	aspect-ratio: 16/9;
	height: 100vh;
	position: relative;
	width: 100%;
}

.l-top .mv__logo {
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(calc(500 / 1900 * 100vw), 500px);
	z-index: -1;
}

.l-top .mv video {
	height: 100%;
	width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

.l-top .sec01 {
	padding-block: min(calc(60 / 1900 * 100vw), 60px) min(calc(68 / 1900 * 100vw), 68px);
}

.l-top .sec01__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.l-top .sec01__content {
	display: flex;
	flex-direction: column;
	gap: min(calc(31 / 1900 * 100vw), 31px);
	margin-top: min(calc(103 / 1900 * 100vw), 103px);
	max-width: calc(min(calc(896 / 1900 * 100vw), 896px) + min(calc(50 / 1900 * 100vw), 50px) * 2);
	padding-inline: min(calc(50 / 1900 * 100vw), 50px);
	position: relative;
	width: 100%;
}

.l-top .sec01__content::after {
	background: url("../img/top-sec01-line.webp") repeat-x;
	background-size: auto min(calc(550 / 1900 * 100vw), 550px);
	content: "";
	height: min(calc(550 / 1900 * 100vw), 550px);
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -48%);
	width: 100vw;
	z-index: -1;
}

.l-top .sec01__box {
	background: #fff;
	border: min(calc(3 / 1900 * 100vw), 3px) solid #000;
	box-shadow: min(calc(4 / 1900 * 100vw), 4px) min(calc(4 / 1900 * 100vw), 4px) 0 #000;
	overflow: hidden;
	padding: min(calc(11 / 1900 * 100vw), 11px) min(calc(32 / 1900 * 100vw), 32px);
	width: -moz-fit-content;
	width: fit-content;
}

.l-top .sec01__box:nth-child(1) {
	margin-left: min(calc(23 / 1900 * 100vw), 23px);
}

.l-top .sec01__box:nth-child(2) {
	margin-left: auto;
	margin-right: min(calc(48 / 1900 * 100vw), 48px);
}

.l-top .sec01__box:nth-child(3) {
	margin-left: min(calc(106 / 1900 * 100vw), 106px);
}

.l-top .sec01__text {
	color: #000;
	font-size: min(calc(60 / 1900 * 100vw), 60px);
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1;
}

.l-top .sec01__text .punct {
	display: inline-block;
	font-size: min(calc(40 / 1900 * 100vw), 40px);
	padding-right: min(calc(25 / 1900 * 100vw), 25px);
}

.l-top .sec01__text .dash {
	font-size: min(calc(60 / 1900 * 100vw), 60px);
	font-weight: 800;
	line-height: 1;
	position: relative;
}

.l-top .sec01__text .dash::after {
	content: "“";
	font-size: min(calc(40 / 1900 * 100vw), 40px);
	left: max(calc(-23 / 1900 * 100vw), -23px);
	position: absolute;
	top: 0;
}

.l-top .sec01__text .dash::before {
	content: "”";
	font-size: min(calc(40 / 1900 * 100vw), 40px);
	position: absolute;
	right: 0;
	top: 0;
}

.l-top .sec01__foot {
	align-items: center;
	display: flex;
	gap: min(calc(10 / 1900 * 100vw), 10px);
	margin-top: min(calc(16 / 1900 * 100vw), 16px);
	position: relative;
	z-index: 1;
}

.l-top .sec01__img {
	margin-bottom: min(calc(26 / 1900 * 100vw), 26px);
	width: min(calc(199 / 1900 * 100vw), 199px);
}

.l-top .sec02 {
	padding-block: min(calc(60 / 1900 * 100vw), 60px) min(calc(100 / 1900 * 100vw), 100px);
}

.l-top .sec02__items {
	display: flex;
	flex-wrap: wrap;
	gap: min(calc(34 / 1900 * 100vw), 34px);
	margin-top: min(calc(59 / 1900 * 100vw), 59px);
}

.l-top .sec02__item {
	border: min(calc(3 / 1900 * 100vw), 3px) solid #000;
	width: calc((100% - min(calc(34 / 1900 * 100vw), 34px) * 2) / 3);
}

.l-top .sec02__item:nth-child(1) .sec02__num::after,
.l-top .sec02__item:nth-child(4) .sec02__num::after,
.l-top .sec02__item:nth-child(5) .sec02__num::after {
	aspect-ratio: 178.82/139.7;
	background: url(../img/icon-1.webp) no-repeat center center/contain;
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(calc(178.82 / 1900 * 100vw), 178.82px);
	z-index: -1;
}

.l-top .sec02__item:nth-child(1) {
	position: relative;
}

.l-top .sec02__item:nth-child(1)::after {
	aspect-ratio: 157/164;
	background: url(../img/person-2.webp) no-repeat center center/contain;
	bottom: max(calc(-22 / 1900 * 100vw), -22px);
	content: "";
	left: max(calc(-92 / 1900 * 100vw), -92px);
	position: absolute;
	width: min(calc(157 / 1900 * 100vw), 157px);
}

.l-top .sec02__item:nth-child(2) .sec02__num::after {
	aspect-ratio: 228.132/137.449;
	background: url(../img/icon-2.webp) no-repeat center center/contain;
	width: min(calc(228.132 / 1900 * 100vw), 228.132px);
}

.l-top .sec02__item:nth-child(3) .sec02__num::after {
	aspect-ratio: 106.7/103.723;
	background: url(../img/icon-3.webp) no-repeat center center/contain;
	width: min(calc(106.7 / 1900 * 100vw), 106.7px);
}

.l-top .sec02__item:nth-child(4) {
	position: relative;
}

.l-top .sec02__item:nth-child(5) {
	position: relative;
	z-index: 1;
}

.l-top .sec02__item:nth-child(6) {
	position: relative;
}

.l-top .sec02__item:nth-child(6)::after {
	aspect-ratio: 170/164;
	background: url(../img/person-3.webp) no-repeat center center/contain;
	bottom: max(calc(-57 / 1900 * 100vw), -57px);
	content: "";
	position: absolute;
	right: max(calc(-102 / 1900 * 100vw), -102px);
	width: min(calc(170 / 1900 * 100vw), 170px);
}

.l-top .sec02__item:nth-child(6) .sec02__num::after {
	aspect-ratio: 1/1;
	background: url(../img/icon-4.webp) no-repeat center center/contain;
	width: min(calc(134 / 1900 * 100vw), 134px);
}

.l-top .sec02__head {
	background: #e51010;
	border-bottom: min(calc(3 / 1900 * 100vw), 3px) solid #000;
	padding: min(calc(15 / 1900 * 100vw), 15px) min(calc(10 / 1900 * 100vw), 10px);
	text-align: center;
}

.l-top .sec02__head-text {
	color: #fff;
	font-size: min(calc(30 / 1900 * 100vw), 30px);
	font-weight: 400;
}

.l-top .sec02__body {
	align-items: center;
	display: flex;
	flex-direction: column;
	line-height: 1;
	padding: min(calc(13 / 1900 * 100vw), 13px);
}

.l-top .sec02__num {
	color: #000;
	font-family: Roboto;
	font-size: min(calc(150 / 1900 * 100vw), 150px);
	font-weight: 900;
	overflow: hidden;
	position: relative;
	text-align: center;
	width: 100%;
}

.l-top .sec02__num::after {
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.l-top .sec02__text {
	color: #000;
	font-family: "Noto Sans JP";
	font-size: min(calc(30 / 1900 * 100vw), 30px);
	font-weight: 700;
}

.l-top .sec03 {
	padding-top: min(calc(277 / 1900 * 100vw), 277px);
	position: relative;
}

.l-top .sec03:after {
	aspect-ratio: 200/135;
	background: url(../img/person-4.webp) no-repeat center center/contain;
	bottom: 0;
	content: "";
	position: absolute;
	right: calc(50% - min(calc(537 / 1900 * 100vw), 537px));
	width: min(calc(200 / 1900 * 100vw), 200px);
	z-index: 1;
}

.l-top .sec03__inner {
	background: #fde7d8;
	display: flex;
	flex-direction: column;
	padding-bottom: min(calc(152 / 1900 * 100vw), 152px);
}

.l-top .sec03 .c-heading {
	margin-top: max(calc(-60 / 1900 * 100vw), -60px);
	position: relative;
	z-index: 1;
}

.l-top .sec03 .swiper {
	margin-top: min(calc(52 / 1900 * 100vw), 52px);
	padding-block: min(calc(30 / 1900 * 100vw), 30px);
	width: 100%;
}

.l-top .sec03 .swiper-wrapper {
	transition-timing-function: linear;
}

.l-top .sec03__img {
	border: min(calc(3 / 1900 * 100vw), 3px) solid #000;
	display: block;
	position: relative;
	transition: 0.3s;
	width: min(calc(370 / 1900 * 100vw), 370px);
	z-index: 0;
}

.l-top .sec03__img:hover {
	scale: 1.1;
	z-index: 1;
}

.l-top .sec04 {
	background: #f9f6de;
	padding-block: min(calc(53 / 1900 * 100vw), 53px) min(calc(97 / 1900 * 100vw), 97px);
}

.l-top .sec04__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: min(calc(73 / 1900 * 100vw), 73px);
	margin-top: min(calc(64 / 1900 * 100vw), 64px);
}

.l-top .sec04 .c-works__item:nth-child(1) {
	position: relative;
	z-index: 1;
}

.l-top .sec04 .c-works__item:nth-child(1):after {
	aspect-ratio: 191/161;
	background: url(../img/person-5.webp) no-repeat center center/contain;
	content: "";
	left: max(calc(-33 / 1900 * 100vw), -33px);
	position: absolute;
	top: max(calc(-168 / 1900 * 100vw), -168px);
	width: min(calc(220 / 1900 * 100vw), 220px);
	z-index: -1;
}

.l-top .sec05 {
	background: #d0ebf9;
	padding-block: min(calc(42 / 1900 * 100vw), 42px) min(calc(110 / 1900 * 100vw), 110px);
}

.l-top .sec05__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: min(calc(49 / 1900 * 100vw), 49px);
	margin-top: min(calc(50 / 1900 * 100vw), 50px);
	position: relative;
	width: 100%;
	z-index: 1;
}

.l-top .sec05__content {
	background: #fff;
	border: min(calc(3 / 1900 * 100vw), 3px) solid #000;
	position: relative;
	width: 100%;
	z-index: 1;
}

.l-top .sec05__items {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: min(calc(33 / 1900 * 100vw), 33px);
	padding: min(calc(70 / 1900 * 100vw), 70px) min(calc(60 / 1900 * 100vw), 60px);
}

.l-top .sec05__item {
	align-items: start;
	display: flex;
	gap: min(calc(45 / 1900 * 100vw), 45px);
	padding-inline: min(calc(24 / 1900 * 100vw), 24px);
	width: 100%;
}

.l-top .sec05__head {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: min(calc(45 / 1900 * 100vw), 45px);
}

.l-top .sec05__text {
	color: #000;
	font-family: "Noto Sans JP";
	font-size: min(calc(20 / 1900 * 100vw), 20px);
	font-weight: 400;
	line-height: 1.8;
}

.l-top .sec05__label {
	background: #e51010;
	border-radius: min(calc(25 / 1900 * 100vw), 25px);
	color: #fff;
	display: flex;
	font-size: min(calc(16 / 1900 * 100vw), 16px);
	font-weight: 400;
	justify-content: center;
	min-width: min(calc(130 / 1900 * 100vw), 130px);
	padding: min(calc(3 / 1900 * 100vw), 3px) min(calc(10 / 1900 * 100vw), 10px) min(calc(4 / 1900 * 100vw), 4px);
}

.l-top .sec05__label.--info {
	background: #00a0e8;
}

.l-top .sec05__line {
	background: #000;
	display: block;
	height: min(calc(1 / 1900 * 100vw), 1px);
	width: 100%;
}

.l-top .sec05__line:last-of-type {
	display: none;
}

.l-top .sec05__bg {
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100vw;
	z-index: -1;
}

.l-top .sec05 .swiper-wrapper {
	transition-timing-function: linear;
}

.l-top .sec05__bg-text {
	color: #fff;
	font-family: "Londrina Solid";
	font-size: min(calc(180 / 1900 * 100vw), 180px);
	font-weight: 400;
}

.l-top .sec06 {
	display: flex;
	flex-direction: column;
	margin-top: max(calc(-95 / 1900 * 100vw), -95px);
	padding-block: min(calc(42 / 1900 * 100vw), 42px) min(calc(75 / 1900 * 100vw), 75px);
}

.l-top .sec06__head {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.l-top .sec06__logo {
	width: min(calc(463 / 1900 * 100vw), 463px);
}

.l-top .sec06 .c-heading {
	margin-top: max(calc(-129 / 1900 * 100vw), -129px);
}

.l-top .sec06__table {
	margin-top: min(calc(56 / 1900 * 100vw), 56px);
}

.l-top .sec06__table tr {
	width: 100%;
}

.l-top .sec06__table tr:nth-child(odd) {
	background: #f5f1ee;
}

.l-top .sec06__table th {
	color: #000;
	font-family: "Noto Sans JP";
	font-size: min(calc(20 / 1900 * 100vw), 20px);
	font-weight: 400;
	padding: min(calc(41 / 1900 * 100vw), 41px) min(calc(70 / 1900 * 100vw), 70px) min(calc(45 / 1900 * 100vw), 45px);
	text-align: left;
	vertical-align: top;
}

.l-top .sec06__table td {
	color: #000;
	font-family: "Noto Sans JP";
	font-size: min(calc(20 / 1900 * 100vw), 20px);
	font-weight: 400;
	padding: min(calc(41 / 1900 * 100vw), 41px) min(calc(70 / 1900 * 100vw), 70px) min(calc(45 / 1900 * 100vw), 45px) min(calc(22 / 1900 * 100vw), 22px);
}

.l-top .sec06__items {
	display: flex;
	flex-direction: column;
	gap: min(calc(8 / 1900 * 100vw), 8px);
}

.l-works {
	background: #f9f6de;
	padding-block: min(calc(106 / 1900 * 100vw), 106px) min(calc(108 / 1900 * 100vw), 108px);
}

.l-works__wrap {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.l-works .pagination-list {
	display: flex;
	gap: min(calc(5 / 1900 * 100vw), 5px);
	justify-content: center;
}

.l-works .pagination-list li {
	align-items: center;
	display: flex;
	justify-content: center;
}

.l-works .pagination-link {
	align-items: center;
	display: flex;
	font-family: "Noto Sans JP";
	font-size: min(calc(18 / 1900 * 100vw), 18px);
	font-weight: 700;
	height: min(calc(40 / 1900 * 100vw), 40px);
	justify-content: center;
	width: min(calc(40 / 1900 * 100vw), 40px);
}

.l-works .pagination-link.current {
	background: #00a0e8;
	color: #fff;
}

.l-works .pagination .page-numbers {
	font-family: "Noto Sans JP";
	font-size: min(calc(18 / 1900 * 100vw), 18px);
	font-weight: 700;
}

.l-works .pagination .page-numbers.next,
.l-works .pagination .page-numbers.prev {
	padding-inline: min(calc(5 / 1900 * 100vw), 5px);
}

.l-contact {
	background: #fde7d8;
	padding-block: min(calc(103 / 1900 * 100vw), 103px);
}

.l-contact .contact {
	display: flex;
	flex-direction: column;
	gap: min(calc(77 / 1900 * 100vw), 77px);
	margin-top: min(calc(98 / 1900 * 100vw), 98px);
}

.l-contact .contact__container {
	display: flex;
	flex-direction: column;
	gap: min(calc(77 / 1900 * 100vw), 77px);
}

.l-contact .contact__text {
	color: #000;
	font-size: min(calc(18 / 1900 * 100vw), 18px);
	font-weight: 400;
}

.l-contact .contact__text.-tac {
	text-align: center;
}

.l-contact .contact__text.-b {
	font-weight: bold;
}

.l-contact .contact__text.--check {
	padding-left: min(calc(38 / 1900 * 100vw), 38px);
	position: relative;
}

.l-contact .contact__text.--check::before,
.l-contact .contact__text.--check::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.l-contact .contact__text.--check::before {
	aspect-ratio: 1/1;
	background: #fff;
	border: min(calc(3 / 1900 * 100vw), 3px) solid #000;
	left: min(calc(4 / 1900 * 100vw), 4px);
	width: min(calc(30 / 1900 * 100vw), 30px);
}

.l-contact .contact__text.--check::after {
	aspect-ratio: 18/11;
	background: url(../img/check.svg) no-repeat center center/contain;
	left: min(calc(7 / 1900 * 100vw), 7px);
	opacity: 0;
	width: min(calc(22 / 1900 * 100vw), 22px);
}

.l-contact .contact__items {
	display: flex;
	flex-direction: column;
	gap: min(calc(39 / 1900 * 100vw), 39px);
}

.l-contact .contact__item {
	display: flex;
	flex-direction: column;
	gap: min(calc(13 / 1900 * 100vw), 13px);
}

.l-contact .contact__head {
	align-items: center;
	display: flex;
	gap: min(calc(15 / 1900 * 100vw), 15px);
}

.l-contact .contact__title {
	color: #000;
	font-size: min(calc(20 / 1900 * 100vw), 20px);
	font-weight: 700;
}

.l-contact .contact__title span {
	font-size: min(calc(18 / 1900 * 100vw), 18px);
}

.l-contact .contact__tag {
	background: #7c7c7c;
	color: #fff;
	font-family: "Noto Sans JP";
	font-size: min(calc(14 / 1900 * 100vw), 14px);
	font-weight: 400;
	padding: min(calc(2 / 1900 * 100vw), 2px) min(calc(6 / 1900 * 100vw), 6px);
}

.l-contact .contact__tag.--red {
	background: #e51010;
}

.l-contact .contact input:not([type=submit]),
.l-contact .contact select,
.l-contact .contact textarea {
	background: #fff;
	border: min(calc(3 / 1900 * 100vw), 3px) solid #000;
	outline: none;
	padding: min(calc(9 / 1900 * 100vw), 9px);
	width: 100%;
}

.l-contact .contact textarea {
	height: min(calc(222 / 1900 * 100vw), 222px);
}

.l-contact .contact__check-items {
	display: flex;
	flex-wrap: wrap;
	gap: min(calc(20 / 1900 * 100vw), 20px) min(calc(15 / 1900 * 100vw), 15px);
}

.l-contact .contact input[type=checkbox] {
	height: min(calc(1 / 1900 * 100vw), 1px);
	position: absolute;
	width: min(calc(1 / 1900 * 100vw), 1px);
	clip: rect(0, 0, 0, 0);
	overflow: hidden;
}

.l-contact .contact input[type=checkbox]:checked + .wpcf7-list-item-label::after {
	opacity: 1;
}

.l-contact .contact label:has(input[type=checkbox]:checked) .--check::after {
	opacity: 1;
}

.l-contact .contact .wpcf7-list-item-label {
	color: #000;
	display: inline-block;
	flex-shrink: 0;
	font-size: min(calc(18 / 1900 * 100vw), 18px);
	font-weight: 400;
	padding-left: min(calc(38 / 1900 * 100vw), 38px);
	position: relative;
	width: min(calc(200 / 1900 * 100vw), 200px);
}

.l-contact .contact .wpcf7-list-item-label::before,
.l-contact .contact .wpcf7-list-item-label::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.l-contact .contact .wpcf7-list-item-label::before {
	aspect-ratio: 1/1;
	background: #fff;
	border: min(calc(3 / 1900 * 100vw), 3px) solid #000;
	left: 0;
	width: min(calc(30 / 1900 * 100vw), 30px);
}

.l-contact .contact .wpcf7-list-item-label::after {
	aspect-ratio: 18/11;
	background: url(../img/check.svg) no-repeat center center/contain;
	left: min(calc(4 / 1900 * 100vw), 4px);
	opacity: 0;
	width: min(calc(22 / 1900 * 100vw), 22px);
}

.l-contact .contact__desc {
	display: flex;
	flex-direction: column;
	gap: min(calc(24 / 1900 * 100vw), 24px);
}

.l-contact .contact__desc-item {
	display: flex;
	flex-direction: column;
	gap: min(calc(5 / 1900 * 100vw), 5px);
}

.l-contact .contact__note {
	color: #000;
	font-family: "Noto Sans JP";
	font-size: min(calc(15 / 1900 * 100vw), 15px);
	font-weight: 400;
	line-height: 140%;
}

.l-contact .contact__buttons {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: min(calc(40 / 1900 * 100vw), 40px);
}

.l-contact .contact__privacy a {
	text-decoration: underline;
	text-underline-offset: min(calc(4 / 1900 * 100vw), 4px);
}

.l-contact .contact__button {
	align-items: center;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-family: "Noto Sans JP";
	font-size: min(calc(20 / 1900 * 100vw), 20px);
	font-weight: 700;
	justify-content: center;
	transition: 0.3s;
}

.l-contact .contact .contact__button:disabled,
.l-contact .contact .c-button:disabled {
	cursor: not-allowed;
	opacity: 0.7;
}

.l-contact .contact .screen-reader-response {
	display: none;
}

.l-contact .contact form {
	position: relative;
}

.l-contact .contact .wpcf7-response-output {
	bottom: max(calc(-10 / 1900 * 100vw), -10px);
	font-size: min(calc(16 / 1900 * 100vw), 16px);
	font-weight: bold;
	left: 50%;
	position: absolute;
	text-align: center;
	transform: translateX(-50%);
	width: 100%;
}

.l-privacy {
	background: #fde7d8;
	padding-block: min(calc(103 / 1900 * 100vw), 103px);
}

.l-privacy .privacy {
	display: flex;
	flex-direction: column;
	gap: min(calc(30 / 1900 * 100vw), 30px);
	margin-top: min(calc(98 / 1900 * 100vw), 98px);
}

.l-privacy .privacy p {
	font-size: min(calc(18 / 1900 * 100vw), 18px);
}

.l-privacy .privacy a {
	text-decoration: underline;
	text-underline-offset: min(calc(4 / 1900 * 100vw), 4px);
}

.footer__item {
	align-items: center;
	background: #000;
	display: flex;
	justify-content: center;
	padding-block: min(calc(58 / 1900 * 100vw), 58px) min(calc(59 / 1900 * 100vw), 59px);
}

.footer__item.--contact {
	background: #e51010;
	gap: min(calc(38 / 1900 * 100vw), 38px);
	padding-block: min(calc(42 / 1900 * 100vw), 42px) min(calc(32 / 1900 * 100vw), 32px);
}

.footer__title-en {
	color: #fff;
	font-family: "Londrina Solid";
	font-size: min(calc(125 / 1900 * 100vw), 125px);
	font-weight: 400;
	line-height: 100%;
}

.footer__title-ja {
	color: #fff;
	font-family: "Noto Sans JP";
	font-size: min(calc(30 / 1900 * 100vw), 30px);
	font-weight: 400;
}

.footer__logo {
	width: min(calc(161 / 1900 * 100vw), 161px);
}

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

.header {
	padding-left: 0;
	padding-top: calc(10 / 390 * 100vw);
}

.header__logo {
	width: calc(213 / 390 * 100vw);
}

.l-top .mv__logo {
	width: calc(150 / 390 * 100vw);
}

.l-top .mv {
	height: auto;
}

.l-top .sec01 {
	padding-block: calc(91 / 390 * 100vw) calc(28 / 390 * 100vw);
}

.l-top .sec01__content {
	gap: calc(17 / 390 * 100vw);
	margin-top: calc(61 / 390 * 100vw);
	max-width: none;
	padding-inline: 0;
}

.l-top .sec01__content::after {
	background: url("../img/top-sec01-line-sp.webp") repeat-x;
	background-size: auto calc(288 / 390 * 100vw);
	height: calc(291 / 390 * 100vw);
	transform: translate(-50%, -53%);
}

.l-top .sec01__box {
	border: calc(2 / 390 * 100vw) solid #000;
	box-shadow: calc(4 / 390 * 100vw) calc(4 / 390 * 100vw) 0 #000;
	padding: calc(2 / 390 * 100vw) calc(20 / 390 * 100vw);
}

.l-top .sec01__box:nth-child(1) {
	margin-left: 0;
}

.l-top .sec01__box:nth-child(2) {
	margin-right: 0;
}

.l-top .sec01__box:nth-child(3) {
	margin: 0 auto;
}

.l-top .sec01__box:nth-child(4) {
	margin: 0 auto;
}

.l-top .sec01__text {
	font-size: calc(31 / 390 * 100vw);
	line-height: 1.2;
}

.l-top .sec01__text .punct {
	font-size: calc(21 / 390 * 100vw);
	padding-right: calc(10 / 390 * 100vw);
}

.l-top .sec01__text .dash {
	font-size: calc(31 / 390 * 100vw);
	padding-right: calc(15 / 390 * 100vw);
}

.l-top .sec01__text .dash::after {
	font-size: calc(20 / 390 * 100vw);
	left: calc(-10 / 390 * 100vw);
}

.l-top .sec01__text .dash::before {
	font-size: calc(20 / 390 * 100vw);
}

.l-top .sec01__foot {
	gap: calc(10 / 390 * 100vw);
	margin-top: calc(-6 / 390 * 100vw);
}

.l-top .sec01__img {
	margin-bottom: 0;
	width: calc(111 / 390 * 100vw);
}

.l-top .sec02 {
	padding-block: calc(60 / 390 * 100vw) calc(60 / 390 * 100vw);
}

.l-top .sec02__items {
	flex-direction: column;
	gap: calc(14 / 390 * 100vw);
	margin-top: calc(63 / 390 * 100vw);
	padding-inline: calc(10 / 390 * 100vw);
}

.l-top .sec02__item {
	border: calc(2 / 390 * 100vw) solid #000;
	width: calc(280 / 390 * 100vw);
}

.l-top .sec02__item:nth-child(odd) {
	margin-left: auto;
}

.l-top .sec02__item:nth-child(even) {
	margin-right: auto;
}

.l-top .sec02__item:nth-child(1) .sec02__num::after,
.l-top .sec02__item:nth-child(4) .sec02__num::after,
.l-top .sec02__item:nth-child(5) .sec02__num::after {
	width: calc(153 / 390 * 100vw);
}

.l-top .sec02__item:nth-child(1)::after {
	bottom: calc(-19 / 390 * 100vw);
	left: calc(-77 / 390 * 100vw);
	width: calc(124 / 390 * 100vw);
}

.l-top .sec02__item:nth-child(2) .sec02__num::after {
	width: calc(196 / 390 * 100vw);
}

.l-top .sec02__item:nth-child(3) .sec02__num::after {
	width: calc(140 / 390 * 100vw);
}

.l-top .sec02__item:nth-child(4)::after {
	aspect-ratio: 170/164;
	background: url(../img/person-3.webp) no-repeat center center/contain;
	bottom: calc(-26 / 390 * 100vw);
	content: "";
	position: absolute;
	right: calc(-82 / 390 * 100vw);
	width: calc(134 / 390 * 100vw);
}

.l-top .sec02__item:nth-child(6)::after {
	display: none;
}

.l-top .sec02__item:nth-child(6) .sec02__num::after {
	width: calc(114 / 390 * 100vw);
}

.l-top .sec02__head {
	border-bottom: calc(2 / 390 * 100vw) solid #000;
	padding: calc(7 / 390 * 100vw) calc(10 / 390 * 100vw);
}

.l-top .sec02__head-text {
	font-size: calc(22 / 390 * 100vw);
}

.l-top .sec02__body {
	padding-block: calc(10 / 390 * 100vw);
}

.l-top .sec02__num {
	font-size: calc(123 / 390 * 100vw);
	line-height: 1;
}

.l-top .sec02__text {
	font-size: calc(24 / 390 * 100vw);
	margin-top: calc(-10 / 390 * 100vw);
}

.l-top .sec03:after {
	right: calc(44 / 390 * 100vw);
	width: calc(125 / 390 * 100vw);
}

.l-top .sec03 {
	padding-top: calc(153 / 390 * 100vw);
}

.l-top .sec03__inner {
	padding-bottom: calc(80 / 390 * 100vw);
}

.l-top .sec03 .c-heading {
	margin-top: calc(-25 / 390 * 100vw);
}

.l-top .sec03 .swiper {
	margin-top: calc(20 / 390 * 100vw);
	padding-block: calc(30 / 390 * 100vw);
}

.l-top .sec03__img {
	border: calc(2 / 390 * 100vw) solid #000;
	width: calc(312 / 390 * 100vw);
}

.l-top .sec04 {
	padding-block: calc(37 / 390 * 100vw) calc(62 / 390 * 100vw);
}

.l-top .sec04__inner {
	gap: calc(53 / 390 * 100vw);
	margin-top: calc(105 / 390 * 100vw);
}

.l-top .sec04 .c-works__item:nth-child(1):after {
	left: calc(-3 / 390 * 100vw);
	top: calc(-95 / 390 * 100vw);
	width: calc(142 / 390 * 100vw);
}

.l-top .sec05 {
	padding-block: calc(37 / 390 * 100vw) calc(78 / 390 * 100vw);
}

.l-top .sec05__inner {
	gap: calc(48 / 390 * 100vw);
	margin-top: calc(6 / 390 * 100vw);
}

.l-top .sec05__content {
	border: calc(2 / 390 * 100vw) solid #000;
}

.l-top .sec05__items {
	gap: calc(20 / 390 * 100vw);
	padding: calc(29 / 390 * 100vw) calc(20 / 390 * 100vw);
}

.l-top .sec05__item {
	flex-direction: column;
	gap: calc(8 / 390 * 100vw);
	padding-inline: 0;
}

.l-top .sec05__head {
	gap: calc(14 / 390 * 100vw);
}

.l-top .sec05__text {
	font-size: calc(15 / 390 * 100vw);
	line-height: 1.7;
}

.l-top .sec05__label {
	border-radius: calc(25 / 390 * 100vw);
	font-size: calc(12 / 390 * 100vw);
	min-width: calc(99 / 390 * 100vw);
	padding: calc(2 / 390 * 100vw) calc(10 / 390 * 100vw) calc(3 / 390 * 100vw);
}

.l-top .sec05__line {
	height: calc(1 / 390 * 100vw);
}

.l-top .sec05__bg {
	display: none;
}

.l-top .sec06 {
	margin-top: calc(-16 / 390 * 100vw);
	padding-block: 0;
}

.l-top .sec06__logo {
	width: calc(250 / 390 * 100vw);
}

.l-top .sec06 .c-heading {
	margin-top: calc(-51 / 390 * 100vw);
}

.l-top .sec06 .c-wrap940 {
	padding-inline: 0;
}

.l-top .sec06__table {
	margin-top: calc(38 / 390 * 100vw);
}

.l-top .sec06__table tr {
	line-height: 1.6;
}

.l-top .sec06__table th {
	font-size: calc(15 / 390 * 100vw);
	padding: calc(42 / 390 * 100vw) calc(10 / 390 * 100vw) calc(42 / 390 * 100vw) calc(25 / 390 * 100vw);
	white-space: nowrap;
}

.l-top .sec06__table td {
	font-size: calc(15 / 390 * 100vw);
	padding: calc(42 / 390 * 100vw) calc(14 / 390 * 100vw);
}

.l-top .sec06__items {
	gap: 0;
}

.l-works {
	padding-block: calc(106 / 390 * 100vw) calc(50 / 390 * 100vw);
}

.l-works .pagination-list {
	gap: calc(5 / 390 * 100vw);
}

.l-works .pagination-link {
	font-size: calc(14 / 390 * 100vw);
	height: calc(32 / 390 * 100vw);
	width: calc(32 / 390 * 100vw);
}

.l-works .pagination .page-numbers {
	font-size: calc(14 / 390 * 100vw);
}

.l-works .pagination .page-numbers.next,
.l-works .pagination .page-numbers.prev {
	padding-inline: calc(5 / 390 * 100vw);
}

.l-contact {
	padding-block: calc(119 / 390 * 100vw) calc(80 / 390 * 100vw);
}

.l-contact .contact {
	gap: calc(57 / 390 * 100vw);
	margin-top: calc(87 / 390 * 100vw);
}

.l-contact .contact__container {
	gap: calc(77 / 390 * 100vw);
}

.l-contact .contact__text {
	font-size: calc(15 / 390 * 100vw);
	line-height: 180%;
}

.l-contact .contact__text.--check {
	padding-left: calc(38 / 390 * 100vw);
}

.l-contact .contact__text.--check::before {
	border: calc(2 / 390 * 100vw) solid #000;
	width: calc(26 / 390 * 100vw);
}

.l-contact .contact__text.--check::after {
	left: calc(4 / 390 * 100vw);
	width: calc(18 / 390 * 100vw);
}

.l-contact .contact__items {
	gap: calc(28 / 390 * 100vw);
}

.l-contact .contact__item {
	gap: calc(7 / 390 * 100vw);
}

.l-contact .contact__head {
	gap: calc(15 / 390 * 100vw);
}

.l-contact .contact__title {
	font-size: calc(18 / 390 * 100vw);
}

.l-contact .contact__title span {
	font-size: calc(14 / 390 * 100vw);
}

.l-contact .contact__tag {
	font-size: calc(14 / 390 * 100vw);
	padding: 0 calc(6 / 390 * 100vw);
}

.l-contact .contact input:not([type=submit]),
.l-contact .contact select,
.l-contact .contact textarea {
	border: calc(2 / 390 * 100vw) solid #000;
	padding: calc(10 / 390 * 100vw);
}

.l-contact .contact textarea {
	height: calc(174 / 390 * 100vw);
}

.l-contact .contact__check-items {
	flex-direction: column;
	gap: calc(12 / 390 * 100vw);
}

.l-contact .contact .wpcf7-list-item-label {
	font-size: calc(15 / 390 * 100vw);
	padding-left: calc(36 / 390 * 100vw);
	width: -moz-fit-content;
	width: fit-content;
}

.l-contact .contact .wpcf7-list-item-label::before {
	border: calc(2 / 390 * 100vw) solid #000;
	width: calc(26 / 390 * 100vw);
}

.l-contact .contact .wpcf7-list-item-label::after {
	left: calc(4 / 390 * 100vw);
	width: calc(18 / 390 * 100vw);
}

.l-contact .contact__desc {
	gap: calc(24 / 390 * 100vw);
}

.l-contact .contact__desc-item {
	gap: calc(5 / 390 * 100vw);
}

.l-contact .contact__note {
	font-size: calc(15 / 390 * 100vw);
}

.l-contact .contact__buttons {
	gap: calc(40 / 390 * 100vw);
}

.l-contact .contact__privacy a {
	text-underline-offset: calc(4 / 390 * 100vw);
}

.l-contact .contact__button {
	font-size: calc(16 / 390 * 100vw);
}

.l-contact .contact .wpcf7-response-output {
	bottom: calc(-10 / 390 * 100vw);
	font-size: calc(14 / 390 * 100vw);
}

.l-privacy {
	padding-block: calc(119 / 390 * 100vw) calc(80 / 390 * 100vw);
}

.l-privacy .privacy {
	gap: calc(20 / 390 * 100vw);
	margin-top: calc(87 / 390 * 100vw);
}

.l-privacy .privacy p {
	font-size: calc(16 / 390 * 100vw);
}

.l-privacy .privacy a {
	text-underline-offset: calc(4 / 390 * 100vw);
}

.footer__item {
	padding-block: calc(51 / 390 * 100vw) calc(46 / 390 * 100vw);
}

.footer__item.--contact {
	gap: calc(20 / 390 * 100vw);
	padding-block: calc(50 / 390 * 100vw) calc(48 / 390 * 100vw);
}

.footer__title-en {
	font-size: calc(52 / 390 * 100vw);
}

.footer__title-ja {
	font-size: calc(15 / 390 * 100vw);
}

.footer__logo {
	width: calc(134 / 390 * 100vw);
}

}

