@font-face {
	src: url("../font/din-condensed-bold.woff") format("woff");
	font-family: "DIN Condensed";
}

/*----------------------------------
下層ページ共通
----------------------------------*/

body:not(.home) .mainvisual-sidebar {
	position: absolute;
	top: 0;
	right: 0;
	width: 100px;
	height: 100%;
	margin-top: 5px;
}

body:not(.home) .scroll {
	bottom: -112px;
}

.page-mainvisual {
	position: relative;
	margin-top: 167px;
}

.page-mainvisual.short .scroll {
	bottom: -548px;
}

.page-mainvisual__wrapper {
	position: relative;
	padding-right: 50px;
	overflow: hidden;
}

.page-mainvisual__wrapper::before {
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 8px;
	height: 116px;
	background-color: #000;
	content: "";
}

.page-mainvisual__wrapper.no-line::before {
	content: none;
}

.page-mainvisual__wrap {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: -61px;
}

.page-mainvisual__left {
	width: 100vw;
	height: 380px;
	margin-left: calc(50% - 50vw);
}

.page-mainvisual__img {
	height: 100%;
}

.page-mainvisual__img img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-mainvisual__title > span {
	display: block;
	line-height: 1;
}

.page-mainvisual__title .en {
	font-weight: 700;
	font-size: 11rem;
	font-family: "DIN Condensed";
	letter-spacing: 0;
	text-shadow: 1px 1px 2px #96FE04;
	white-space: nowrap;
}

.page-mainvisual__title .ja {
	margin-top: -10px;
	font-weight: 700;
}

.is-safari .page-mainvisual__title .en {
	transform: translateZ(0);
	font-weight: 500;
	text-shadow: none !important;
	filter: drop-shadow(1px 1px 0 #96FE04);
}

.page-mainvisual-menu {
	position: relative;
	flex: 0 0 51.119%;
	padding: 122px 0 123px 120px;
}

.page-mainvisual-menu::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 50px);
	height: 100%;
	background-color: #000;
	content: "";
}

.page-mainvisual-menu.gray {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 493px;
	padding: 76px 0 75px 120px;
}

.page-mainvisual-menu.gray::before {
	width: 100vw;
	margin-right: calc(50% - 50vw);
	background-color: #F2F2F2;
}

.page-mainvisual-menu.gray .page-mainvisual-menu__list {
	border-color: #000;
}

.page-mainvisual-menu.gray .page-mainvisual-menu-link .en {
	color: #707070;
	opacity: 0.1;
}

.page-mainvisual-menu.gray .page-mainvisual-menu-link .ja {
	color: #000;
}

.page-mainvisual-menu__list {
	border-bottom: 1px solid #fff;
}

.page-mainvisual-menu__list + .page-mainvisual-menu__list {
	margin-top: 30px;
}

.page-mainvisual-menu-link {
	display: block;
	position: relative;
	padding: 21px 0 24px 40px;
	color: #fff;
	line-height: 1;
}

.page-mainvisual-menu-link .en {
	position: absolute;
	top: 0;
	left: 0;
	color: #CDFF86;
	font-weight: 700;
	font-size: 4rem;
	font-family: "DIN Condensed";
	opacity: 0.1;
}

.page-mainvisual-menu-link .ja {
	font-weight: 700;
	font-size: 1.8rem;
}

.page-mainvisual-menu-link::before {
	position: absolute;
	right: 0;
	bottom: -1px;
	width: 50px;
	height: 1px;
	background-color: #000;
	content: "";
}

.page-mainvisual-menu-link::after {
	position: absolute;
	top: 50%;
	right: 16px;
	width: 17px;
	height: 3px;
	transform: translateY(-50%);
	background: url(../img/point_black.png) no-repeat center left/contain;
	content: "";
}

.page__title {
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 1;
	letter-spacing: 0;
}

.page-sec__title > span {
	display: block;
	line-height: 1;
}

.page-sec__title .en {
	font-size: 7rem;
	font-family: "DIN Condensed";
	letter-spacing: 0;
}

.page-sec__title .ja {
	display: flex;
	align-items: center;
	font-weight: 700;
}

.page-sec__title .ja::before {
	display: inline-block;
	width: 12px;
	height: 1px;
	margin: 3px 10px 0 0;
	background-color: #000;
	content: "";
}

.page-sec__sub-title {
	font-weight: 700;
	font-size: 3.1rem;
	line-height: 1.5;
}

.breadcrumb {
	margin-bottom: 32px;
	padding: 0 50px;
}

.breadcrumb__items {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.breadcrumb__items > span {
	margin-top: 4px;
	font-size: 1.2rem;
}

.breadcrumb__items > span a {
	color: #6C6C6C;
}

.breadcrumb__items > span:first-child {
	position: relative;
}

.breadcrumb__items > span:nth-child(2) {
	position: relative;
}

.breadcrumb__items > span:not(:first-child) {
	position: relative;
}

.breadcrumb__items > span:not(:first-child)::before {
	display: inline-block;
	margin-right: 10px;
	content: ">";
}

.breadcrumb__items > span:not(:last-child) {
	margin-right: 10px;
	color: #6C6C6C;
	white-space: nowrap;
}

.breadcrumb__items > span:last-child::after {
	content: none;
}

.pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 100px;
}

.page-numbers {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-right: 20px;
	padding-bottom: 2px;
	border: 1px solid #000;
	border-radius: 50%;
	background-color: #fff;
	color: #000;
	font-weight: 500;
	font-size: 16px;
	transition: all 0.3s ease 0s;
}

.page-numbers:hover {
	background-color: #000;
	color: #fff;
	opacity: 1;
}

.page-numbers:last-child {
	margin-right: 0;
}

.page-numbers.prev,
.page-numbers.next {
	border: none;
	background-color: #F2F2F2;
}

.page-numbers.prev::after,
.page-numbers.next::after {
	position: absolute;
	top: 50%;
	left: 53%;
	width: 28px;
	height: 10px;
	transform: translate(-50%, -50%);
	background: url(../img/arrow_black.png) no-repeat center left/contain;
	content: "";
}

.page-numbers.prev:hover,
.page-numbers.next:hover {
	background-color: #000;
}

.page-numbers.prev:hover::after,
.page-numbers.next:hover::after {
	background-image: url(../img/arrow_white.png);
}

.page-numbers.prev::after {
	left: 48%;
	transform: translate(-50%, -50%) rotate(180deg);
}

.page-numbers.current {
	background-color: #000;
	color: #fff;
}

.page-numbers.current:hover {
	cursor: default;
}

.error404 .page__title {
	padding-bottom: 10px;
}

.page-404 {
	padding-bottom: 200px;
	text-align: center;
}

.page-404 h1 {
	color: #000;
	font-weight: 700;
	font-size: 5rem;
}

.page-404 p {
	margin-top: 50px;
}

.page-404 .top-link {
	margin-top: 50px;
}

.page-404 .top-link a {
	color: #000;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/*----------------------------------
会社案内ページ
----------------------------------*/

.company-sec01 {
	margin-top: 130px;
	padding-top: 30px;
}

.company-sec01__wrap {
	display: flex;
}

.company-sec01__img {
	flex: 0 0 33.582%;
}

.company-sec01__content {
	margin-left: 100px;
}

.company-sec01__wrapper {
	margin-top: 65px;
}

.company-sec01__wrapper .text__wrap {
	margin-top: 50px;
}

.company-sec01__text + .company-sec01__text {
	margin-top: 30px;
}

.president {
	margin-top: 30px;
	font-weight: 700;
	font-size: 2rem;
	text-align: right;
}

.president .font-small {
	display: inline-block;
	margin-right: 10px;
	font-size: 1.6rem;
}

.company-sec02 {
	z-index: 1;
	position: relative;
	margin-top: 130px;
	padding: 135px 0 130px;
	background-color: rgba(239, 239, 239, 0.8);
}

.company-sec02::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 74.861%;
	height: 405px;
	background: url(../img/company_bg.jpg) no-repeat top left/cover;
	content: "";
}

.company-sec02 .page-sec__title span {
	color: #fff;
}

.company-sec02 .page-sec__title .ja::before {
	background-color: #fff;
}

.company-profile {
	margin-top: 88px;
	padding: 60px 80px;
	border: 2px solid #000;
	background-color: #fff;
}

.company-profile .table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.company-profile .table tr {
	display: block;
	border-bottom: 1px solid #E5E5E5;
}

.company-profile .table tr:last-child {
	border-bottom: none;
}

.company-profile .table tr:last-child th::after {
	content: none;
}

.company-profile .table th,
.company-profile .table td {
	padding: 20px 0 20px 30px;
}

.company-profile .table th {
	position: relative;
	width: 180px;
	font-weight: 600;
	text-align: left;
}

.company-profile .table th::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
	content: "";
}

.company-profile .table td {
	vertical-align: middle;
}

.company-profile .table td .circle {
	display: none;
}

.company-profile .table td .txt {
	margin-right: 20px;
}

.google-map-button-link {
	display: inline-block;
	width: 112px;
	height: 24px;
	border-radius: 40px;
	background-color: #000;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.5;
	text-align: center;
}

.company-sec03 {
	padding: 97px 0 163px;
}

.company-sec03 .page-sec__title .en {
	line-height: 0.8;
}

.company-sec03__wrap {
	display: flex;
}

.company-sec03__wrap .page-sec__title {
	flex: 0 0 241px;
}

.company-sec03__content {
	margin: -20px 0 0 160px;
}

.history__list {
	display: flex;
	position: relative;
}

.history__list::before {
	z-index: 1;
	position: absolute;
	top: 43px;
	left: 155px;
	width: 1px;
	height: calc(100% + 7px);
	background-color: #000;
	content: "";
}

.history__list:first-child .large-year {
	margin-top: 0;
}

.history__list:not(:first-child) {
	margin-top: 10px;
}

.history__list:last-child::before {
	content: none;
}

.history__list .large-year,
.history__list .small-year {
	line-height: 1;
	font-family: "DIN Condensed";
	letter-spacing: 0;
	white-space: nowrap;
}

.history__list .large-year {
	position: relative;
	color: #F2F2F2;
	font-size: 12rem;
}

.history__list .large-year::after {
	position: absolute;
	top: 39px;
	right: 19px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background-color: #000;
	content: "";
}

.history__list .small-year {
	margin-left: 19px;
	font-size: 5rem;
}

.history__list .event {
	margin-left: 39px;
}

.history__wrap {
	display: flex;
	margin-top: 26px;
}

/*----------------------------------
事業概要ページ
----------------------------------*/

.page-service .page-mainvisual__left {
	margin-top: 95px;
}

.page-service .contact-part {
	margin-top: 200px;
}

.service-sec {
	overflow-x: hidden;
}

.service-sec + .service-sec {
	margin-top: 140px;
	padding-top: 30px;
}

.service-sec:nth-of-type(odd) .service__img {
	width: 100vw;
	margin-right: calc(50% - 50vw);
	margin-left: 100px;
}

.service-sec:nth-of-type(even) .service__wrap {
	flex-direction: row-reverse;
}

.service-sec:nth-of-type(even) .service__img {
	width: 100vw;
	margin-right: 100px;
	margin-left: calc(50% - 50vw);
}

.service-sec01 {
	margin-top: 130px;
	padding-top: 30px;
}

.service__lists {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	margin-top: 65px;
	gap: 12px 10px;
}

.service__list {
	display: flex;
	align-items: center;
	height: 60px;
	padding: 0 10px 0 40px;
	background-color: #F2F2F2;
	line-height: 1.5;
}

.service__wrap {
	display: flex;
	margin-top: 65px;
}

.service__content {
	flex: 0 0 57.089%;
}

.service__content .text__wrap {
	margin-top: 50px;
}

.service__content .button {
	margin-top: 50px;
}

.service__title {
	font-weight: 700;
	font-size: 3.1rem;
	line-height: 1.5;
}

.service__text + .service__text {
	margin-top: 30px;
}

/*----------------------------------
事業概要下層ページ
----------------------------------*/

.service-lower-layer .service__content {
	flex: 0 0 54.67%;
}

.service-lower-layer .service-sec03 {
	z-index: 1;
	position: relative;
	margin-top: 85px !important;
	margin-bottom: 0;
	padding: 85px 0;
	background-color: #F2F2F2;
}

.service-lower-layer .service-sec03 .service__lists {
	gap: 12px;
}

.service-lower-layer .service-sec03 .service__list {
	background-color: #fff;
}

.service-lower-layer .service-sec04 {
	margin-top: 85px !important;
	margin-bottom: 200px;
}

.service__lead {
	position: relative;
	margin-top: 65px;
	padding: 35px 28px 35px 0;
	background-color: #000;
	color: #fff;
}

.service__lead::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	margin: 0 calc(50% - 50vw);
	transform: translateX(-50%);
	background-color: #000;
	content: "";
}

.service-wrap-bg {
	z-index: 0;
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.service__wrapper {
	padding-right: 96px;
}

.service__wrapper + .service__wrapper {
	position: relative;
	margin-top: 85px;
	padding-top: 85px;
	background-color: #F2F2F2;
}

.service__wrapper + .service__wrapper::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	margin-left: calc(50% - 100vw);
	background-color: #F2F2F2;
	content: "";
}

.service__wrapper .service__title {
	position: relative;
}

.service__wrapper .service__title::before {
	position: absolute;
	top: 50%;
	left: -40px;
	width: 100vw;
	height: 1px;
	transform: translate(-100%, -50%);
	background-color: #000;
	content: "";
}

.service-images-col {
	position: relative;
	width: 100vw;
	margin-right: calc(50% - 50vw);
}

.service-images {
	position: relative;
	overflow: hidden;
}

.service-image {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.5s ease;
}

.service-image img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.service-image.is-active {
	opacity: 1;
}

.service-images::before {
	display: block;
	padding-top: 60%;
	content: "";
}

.service-feature__lists {
	margin-top: 65px;
	padding-right: 28px;
}

.service-feature__list + .service-feature__list {
	margin-top: 65px;
}

.service-feature__title {
	display: inline-block;
	padding-bottom: 2px;
	background-color: #000;
	color: #fff;
	font-size: 2.1rem;
	line-height: 1;
}

.service-feature__text {
	margin-top: 20px;
	font-size: 1.4rem;
}

.service-field {
	margin-top: 65px;
}

.service-field__title {
	padding: 0 0 3px 20px;
	border-left: 2px solid;
	font-weight: 700;
	font-size: 2.1rem;
	line-height: 1;
}

.service-field__lists {
	display: flex;
	flex-wrap: wrap;
	margin-top: 25px;
}

.service-field__list {
	margin: 0 8px 10px 0;
	padding: 15px 20px;
	background-color: #fff;
	line-height: 1;
}

.service-box {
	position: relative;
	margin-top: 75px;
	padding: 85px 0;
	background-color: #000;
	color: #fff;
}

.service-box::before,
.service-box::after {
	position: absolute;
	top: 0;
	height: 100%;
	background-color: #000;
	content: "";
}

.service-box::before {
	z-index: -1;
	left: 0;
	width: 100vw;
	margin-left: calc(50% - 100vw);
}

.service-box::after {
	right: 0;
	width: 98px;
	transform: translateX(100%);
}

.service-box .button {
	margin-top: 18px;
}

.service-box__inner {
	padding: 50px 45px 40px 39px;
	border: 1px solid #fff;
}

.service-box__title {
	font-size: 2rem;
	line-height: 1.5;
}

.service-box__text {
	margin-top: 42px;
	font-size: 1.4rem;
}

.medical-works {
	margin-top: 65px;
}

.medical-works-buttons {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 12px 11px;
}

.medical-works-link {
	display: flex;
	position: relative;
	align-items: center;
	height: 84px;
	padding: 0 30px 0 40px;
	border: 1px solid;
	color: #000;
	line-height: 1.5;
}

.medical-works-link::after {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 9px;
	height: 13px;
	transform: translateY(-50%);
	background: url(../img/arrow_below.svg) no-repeat center left/contain;
	content: "";
}

.medical-works__item {
	margin-top: 120px;
}

.medical-works__item:nth-of-type(odd) {
	margin-left: 170px;
}

.medical-works__item:nth-of-type(even) {
	margin-right: 170px;
}

.medical-works__item:first-of-type .medical-works-flex__list .medical-works-flex__title {
	margin-top: 0;
}

.medical-works__item:first-of-type .medical-works-flex__list:first-child {
	padding: 23px 0 37px;
}

.medical-works__item:first-of-type .medical-works-flex__list:first-child .medical-works-flex__text {
	margin-top: 40px;
}

.medical-works__item:first-of-type .medical-works-flex__list:nth-child(2) {
	padding: 28px 0 42px;
}

.medical-works__item:first-of-type .medical-works-flex__list:nth-child(2) .medical-works-flex__text {
	margin-top: 43px;
}

.medical-works__item:first-of-type .medical-works-flex__list:nth-child(3) {
	padding: 30px 0 39px;
}

.medical-works__item:first-of-type .medical-works-flex__list:nth-child(3) .medical-works-flex__text {
	margin-top: 35px;
	font-weight: 400;
	line-height: 2;
}

.medical-works__item:nth-of-type(3) .medical-works-flex__list {
	padding-top: 12px;
}

.medical-works__item:nth-of-type(3) .medical-works-flex__list:first-child .medical-works-flex__img {
	width: 92px;
	margin: auto;
}

.medical-works__item:nth-of-type(4) .medical-works-flex__list {
	padding-top: 9px;
}

.medical-works__item:nth-of-type(4) .medical-works-flex__list:nth-child(2) .medical-works-flex__img {
	width: 126px;
	margin: auto;
}

.medical-works__item:nth-of-type(4) .medical-works-flex__list:nth-child(2) .medical-works-flex__title {
	margin-top: 19px;
}

.medical-works__text {
	margin-top: 40px;
}

.medical-works-flex__lists {
	display: flex;
	margin-top: 40px;
}

.medical-works-flex__list {
	flex: 0 0 33.333%;
	padding-bottom: 21px;
	border-right: 1px solid;
	text-align: center;
}

.medical-works-flex__list:first-child {
	border-left: 1px solid;
}

.medical-works-flex__wrap {
	margin-top: 17px;
}

.medical-works-flex__title {
	font-size: 2.2rem;
	line-height: 1.5;
}

.medical-works-flex__title img {
	max-width: 80%;
}

.medical-works-flex__text {
	margin-top: 5px;
	font-weight: 600;
	line-height: 1.5;
}

.medical-works-flex__text .number {
	margin-right: 7px;
	font-size: 7rem;
	line-height: 0.5;
	font-family: "DIN Condensed";
}

.service-flex__wrap {
	display: flex;
	margin-top: 40px;
}

.service-flex-images {
	flex: 0 0 41.132%;
}

.service-flex__img {
	width: 240px;
}

.service-flex__img:nth-of-type(2) {
	margin: -204px 0 0 131px;
}

.service-flex__lists {
	flex: 0 0 47.783%;
	margin: 30px 0 0 100px;
}

.service-flex__list {
	padding: 30px 10px 30px 22px;
	border-bottom: 1px solid;
	line-height: 1;
}

.service-flex__list:first-child {
	border-top: 1px solid;
}

.project-tools__img {
	width: 88.526%;
	margin-top: 49px;
}

.works-part {
	padding: 99px 0;
	background: url(../img/works_part.jpg) no-repeat top center/cover;
}

.works-part .contact-part__wrap {
	flex-direction: row-reverse;
}

.works-part .top-section__title .en {
	color: #fff;
	font-size: 10rem;
}

.works-part .contact-part__content {
	display: block;
	margin: 0 20px 0 0;
	padding: 56px 91px 46px 87px;
}

.works-part .contact-part__text {
	color: #fff;
	font-weight: 700;
	font-size: 1.4rem;
	letter-spacing: 0;
}

.works-part__wrap {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-top: 30px;
}

.works-part__wrap .contact-part__text {
	display: flex;
	align-items: center;
}

.works-part__wrap .contact-part__text::before {
	display: inline-block;
	width: 17px;
	height: 3px;
	margin: 3px 12px 0 0;
	background: url(../img/point.png) no-repeat center left/contain;
	content: "";
}

.nanairo-cafe .service-sec02 {
	padding-bottom: 230px;
}

.slider {
	margin-top: 65px;
}

.slick-list {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

.slider-img {
	margin: 0 5px;
	padding: 10px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
}

.slider-img img {
	width: 100%;
	height: auto;
}

.slide-arrow {
	position: absolute;
	bottom: -28px;
}

.slide-arrow::before {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 27px;
	height: 9px;
	transform: translate(-50%, -50%);
	background: url(../img/arrow_black.png) no-repeat center left/contain;
	content: "";
}

.slide-arrow:hover {
	cursor: pointer;
}

.prev-arrow {
	right: 251px;
}

.prev-arrow::before {
	transform: translate(-50%, -50%) rotate(180deg);
}

.next-arrow {
	right: 184px;
}

.education-business .service-feature__lists {
	padding-right: 0;
}

.education-business .service-feature__text {
	padding-right: 35px;
}

.education-business .service-field {
	margin-top: 0;
}

.education-business .service-flex__wrap {
	margin-top: 60px;
	padding-right: 170px;
}

.education-business .service-box .button {
	margin-top: 20px;
}

.education-business .service-sec03 {
	padding-bottom: 200px;
}

.education-business .project-tools__img {
	width: 77.332%;
	margin-top: 60px;
	mix-blend-mode: multiply;
}

/*----------------------------------
事例紹介ページ
----------------------------------*/

.archive-works {
	margin-top: 90px;
	padding: 85px 50px 200px;
	background-color: #F2F2F2;
}

.archive-works .no-post {
	margin-top: 100px;
	text-align: center;
}

.taxonomy-works_type .works-button-link.works-active {
	pointer-events: none;
}

.works-buttons {
	display: flex;
	justify-content: center;
	gap: 12px;
}

.works-button {
	width: calc(25% - 9px);
}

.works-button.all .works-button-link:hover {
	cursor: default !important;
}

.works-button-link {
	display: flex;
	position: relative;
	align-items: center;
	height: 84px;
	padding: 0 30px 0 40px;
	border: 1px solid #000;
	background-color: #fff;
	color: #000;
	line-height: 1.5;
}

.works-button-link::after {
	position: absolute;
	top: 50%;
	right: 19px;
	width: 9px;
	height: 13px;
	transform: translateY(-50%);
	background: url(../img/arrow_below.svg) no-repeat center left/contain;
	content: "";
}

.works-button-link.works-active {
	background-color: #000;
	color: #fff;
}

.works-button-link.works-active::after {
	background-image: url(../img/arrow_below_white.svg);
	content: "";
}

.archive-works__content {
	margin-top: 110px;
}

.archive-works__items {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 30px;
}

.archive-works-link {
	display: block;
	height: 100%;
	background-color: #fff;
}

.archive-works__img {
	box-sizing: content-box;
	height: 178px;
	padding: 10px;
	border-bottom: 1px solid #F2F2F2;
}

.archive-works__img img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.archive-works__wrap {
	padding: 0 34px 25px 30px;
	color: #000;
}

.archive-works-tags {
	display: flex;
	flex-wrap: wrap;
	padding: 15px 0;
	border-bottom: 1px solid #F2F2F2;
}

.archive-works-tag {
	margin-right: 18px;
	font-weight: 600;
	line-height: 1.5;
}

.archive-works__title {
	padding: 15px 0;
	border-bottom: 1px solid #F2F2F2;
	font-weight: 600;
	line-height: 1.5;
}

.archive-works__text {
	padding-top: 15px;
	line-height: 1.5;
}

.single-page .page-mainvisual__wrapper {
	margin-top: 80px;
}

.single-page .page-mainvisual__wrapper::before {
	height: 100%;
}

.single__title {
	font-weight: 700;
	font-size: 5.1rem;
	line-height: 1.5;
}

.single__sub-title {
	margin-top: 30px;
	font-weight: 700;
	font-size: 3.1rem;
	line-height: 1.5;
}

.works-single {
	padding: 0 50px 200px;
}

.single__content {
	margin-top: 50px;
}

.single__content .wp-block-column figure img {
	-o-object-fit: cover;
	aspect-ratio: 8/5;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
}

.single__content figure {
	margin: 50px 0;
	text-align: center;
}

.single__content figure img {
	max-width: 78.917%;
}

.single__content .button {
	margin-top: 100px;
	text-align: center;
}

.single-works__item {
	padding: 40px 0;
	border-bottom: 1px solid #000;
}

.single-works__item:first-of-type {
	border-top: 1px solid #000;
}

.single-works__item.pb-30 {
	padding-bottom: 30px;
}

.single-works-item__title {
	font-weight: 700;
	font-size: 3.1rem;
	line-height: 1.5;
}

.single-works-item__text {
	margin-top: 30px !important;
}

.single-works-item__text.f-18 {
	font-weight: 600;
	font-size: 1.8rem;
}

.single-works-item-tags {
	display: flex;
	flex-wrap: wrap;
	margin-top: 30px;
}

.single-works-item-tag {
	height: 46px;
	margin: 0 10px 10px 0;
	padding: 15px 20px;
	background-color: #F2F2F2;
	line-height: 1;
}

.production-business .single-works__items {
	margin-top: 140px;
}

.single-works-mv {
	width: 100%;
}

.single-works-mv img {
	width: 100%;
}

.single-works-images {
	display: flex;
	margin-top: 50px;
}

.single-works-image.pc {
	flex: 0 0 58.208%;
}

.single-works-image.sp {
	margin-left: 43px;
}

.single-works__img + .single-works__img {
	margin-top: 20px;
}

.single-works-button {
	margin-top: 60px;
}

.single-works-button-link {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: 0;
}

.single-works-button-link::after {
	display: inline-block;
	width: 22px;
	height: 23px;
	margin: 0 0 4px 10px;
	background: url(../img/icon_link.svg) no-repeat center left/contain;
	content: "";
}

.educational-business .single-works__items {
	margin-bottom: 70px;
}

/*----------------------------------
ブログページ
----------------------------------*/

.archive-blog {
	margin-top: 210px;
	padding: 0 50px 210px;
}

.archive-blog .no-post {
	text-align: center;
}

.archive-blog__items {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 41px 50px;
}

.archive-blog__img {
	aspect-ratio: 1;
}

.archive-blog__img img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.archive-blog__wrap {
	margin-top: 25px;
	line-height: 1;
}

.blog__published {
	display: inline-block;
	padding-bottom: 2px;
	background-color: #000;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1;
}

.archive-blog__title {
	margin-top: 10px;
	color: #000;
	line-height: 1.5;
}

.page-mainvisual__wrapper .blog__published {
	margin-top: 20px;
}

.blog-single {
	padding: 0 50px 200px;
}

.single__content h2 {
	position: relative;
	margin: 60px 0 30px;
	padding-left: 22px;
	font-weight: 700;
	font-size: 3.1rem;
	line-height: 1.5;
}

.single__content h2::before {
	position: absolute;
	top: 8px;
	left: 0;
	width: 2px;
	height: calc(100% - 12px);
	background-color: #000;
	content: "";
}

.single__content p {
	margin-top: 30px;
}

/*----------------------------------
新着情報ページ
----------------------------------*/

.archive-news {
	margin-top: 170px;
	padding: 0 50px 200px;
}

.archive-news__item {
	border-bottom: 1px solid #000;
}

.archive-news__item:first-of-type {
	border-top: 1px solid #000;
}

.archive-news__item .info {
	display: flex;
	padding: 30px;
}

.archive-news__item .info__meta {
	display: flex;
	align-items: center;
}

.archive-news__item .info__published {
	display: inline-block;
	height: 16px;
	background-color: #000;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1;
}

.archive-news__item .info__category {
	flex: 0 0 70px;
	margin-left: 20px;
	color: #000;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.5;
	text-align: center;
}

.archive-news__item .info__title {
	margin-left: 60px;
	color: #000;
	line-height: 1.5;
}

.single-news {
	padding: 0 50px 200px;
}

/*----------------------------------
サイトマップページ
----------------------------------*/

.sitemap {
	margin-top: 170px;
	padding: 0 50px 200px;
}

.sitemap-nav {
	display: flex;
	padding: 30px 0;
	border-bottom: 1px solid #000;
}

.sitemap-nav:first-of-type {
	padding-top: 0;
}

.sitemap-nav:nth-of-type(2) {
	padding-bottom: 40px;
}

.sitemap-nav:nth-of-type(2) .sitemap__lists:nth-of-type(2) {
	margin-left: 100px;
}

.sitemap-nav:nth-of-type(2) .sitemap__lists:nth-of-type(3) {
	margin-left: 80px;
}

.sitemap-nav:nth-of-type(3) .sitemap__lists:nth-of-type(2) {
	margin-left: 100px;
}

.sitemap-nav:nth-of-type(3) .sitemap__lists:nth-of-type(3) {
	margin-left: 109px;
}

.sitemap__list > a {
	position: relative;
	padding-right: 31px;
	color: #000;
	font-weight: 600;
	font-size: 2rem;
	line-height: 1.5;
}

.sitemap__list > a::before {
	position: absolute;
	top: 5px;
	right: 0;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	background-color: #000;
	content: "";
}

.sitemap__list > a::after {
	position: absolute;
	top: 55%;
	right: 6px;
	width: 7px;
	height: 11px;
	transform: translateY(-50%);
	background: url(../img/arrow_white.svg) no-repeat center left/contain;
	content: "";
}

.sitemap__list.contact-menu a::before {
	content: none;
}

.sitemap__list.contact-menu a::after {
	position: absolute;
	top: 50%;
	right: 0;
	width: 22px;
	height: 23px;
	transform: translateY(-50%);
	background: url(../img/icon_link.svg) no-repeat center left/contain;
	content: "";
}

.sitemap__list ul li {
	margin-top: 20px;
}

.sitemap__list ul li a {
	position: relative;
	padding-right: 17px;
	color: #000;
	line-height: 1.5;
}

.sitemap__list ul li a::after {
	position: absolute;
	top: 55%;
	right: 0;
	width: 11px;
	height: 7px;
	transform: translateY(-50%) rotate(-90deg);
	background: url(../img/arrow_below.svg) no-repeat center left/contain;
	content: "";
}

/*----------------------------------
個人情報保護方針ページ
----------------------------------*/

.page-privacy-policy .page__title {
	padding-bottom: 5px;
}

.policy {
	margin-top: 170px;
	padding: 0 50px 200px;
}

.policy__item {
	padding-bottom: 36px;
	border-bottom: 1px solid #000;
}

.policy__item + .policy__item {
	margin-top: 30px;
}

.policy__item:last-of-type {
	padding-bottom: 0;
	border-bottom: none;
}

.policy__title {
	font-weight: 600;
	font-size: 2rem;
	line-height: 1.5;
}

.policy__text {
	margin-top: 17px;
}

.policy__lists {
	margin-top: 15px;
}

/*----------------------------------
お問い合わせページ
----------------------------------*/

.contact {
	margin-top: 170px;
	padding: 0 50px 200px;
}

.contact-row {
	display: flex;
	align-items: center;
	padding: 15px 0;
	border-top: 1px solid #E2E2E2;
}

.contact-row:first-child {
	align-items: initial;
	padding: 25px 0 15px;
}

.contact-row:nth-child(8) {
	align-items: initial;
}

.contact-row:nth-child(8) .contact-title {
	margin-top: 10px;
}

.contact-row:last-child {
	align-items: initial;
	padding: 25px 0;
	border-bottom: 1px solid #E2E2E2;
}

.contact-title {
	flex: 0 0 193px;
	font-weight: 600;
}

.contact-title.flex {
	display: flex;
	align-items: center;
}

.contact-title .required {
	display: inline-block;
	width: 29px;
	height: 15px;
	margin: 3px 0 0 15px;
	padding: 1px 0 0 2px;
	border-radius: 2px;
	background-color: #F24000;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1;
}

.contact-title .caption {
	display: block;
	color: #777;
	font-weight: 400;
	font-size: 1.2rem;
}

.contact-text {
	flex: 0 0 calc(100% - 249px);
	max-width: 100%;
	margin-left: 56px;
}

input[type=text],
input[type=email] {
	width: 100%;
	height: 70px;
	padding-left: 24px;
	border: none;
	background-color: #F4F5F5;
	font-size: 16px;
	font-family: "Noto Sans JP", sans-serif;
}

::-moz-placeholder {
	color: #777;
}

::placeholder {
	color: #777;
}

::-ms-expand { /* select要素のデザインを無効にする（IE用） */
	display: none;
}

textarea {
	width: 100%;
	height: 295px;
	padding: 13px 24px;
	border: none;
	background-color: #F4F5F5;
	font-size: 16px;
	font-family: "Noto Sans JP", sans-serif;
}

.radio-content .contact-text {
	display: flex;
	flex-wrap: wrap;
}

.radio-content .contact-text label {
	display: flex;
	align-items: center;
	margin: 0 35px 10px 0;
}

.radio-content .contact-text label:hover {
	cursor: pointer;
}

.radio-content .wpcf7-list-item {
	white-space: nowrap;
}

input[type=radio] {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	position: relative;
	top: 1px;
	flex: 0 0 19px;
	height: 19px;
	margin: 0 5px 0 0;
	border: 1px solid #707070;
	border-radius: 50%;
	cursor: pointer;
}

input[type=radio]:checked::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: #fff;
	content: "";
}

input[type=radio]:checked {
	border-color: #000;
	background-color: #000;
}

.check-box {
	margin-top: 48px;
	text-align: center;
}

.check-box__text {
	font-size: 1.4rem;
}

.contact-check input {
	position: relative;
	top: 2px;
	width: 19px;
	height: 19px;
	margin: 0;
	border-radius: 2px;
	border-color: #000;
}

.check-text {
	margin-left: 5px;
}

.submit-caution {
	margin-top: 80px;
	text-align: center;
}

.submit-button {
	margin-top: 20px;
}

.submit-button .wpcf7-spinner {
	display: none;
}

.submit-button-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 270px;
	max-width: 100%;
	height: 60px;
	margin: auto;
	border: none;
	border-radius: 50px;
	background-color: #000;
	color: #fff;
	font-weight: 600;
	font-size: 16px;
	transition: all 0.3s ease 0s;
}

.submit-button-link:hover {
	cursor: pointer;
	opacity: 0.7;
}

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

span.wpcf7-list-item {
	margin-left: 0;
}

input[type=checkbox] + .wpcf7-list-item-label {
	display: inline-block;
	position: relative;
	padding-left: 24px;
}

input[type=checkbox] + .wpcf7-list-item-label::before {
	left: 0;
	width: 19px;
	height: 19px;
	border: 1px solid #707070;
	border-radius: 2px;
	background-color: #fff;
}

input[type=checkbox] + .wpcf7-list-item-label::after,
input[type=checkbox] + .wpcf7-list-item-label::before {
	position: absolute;
	top: 54%;
	transform: translateY(-50%);
	content: "";
}

.contact-type input[type=checkbox] + .wpcf7-list-item-label::before {
	display: block;
	left: 0;
	width: 24px;
	height: 24px;
	border: 1px solid #838491;
	border-radius: 2px;
	background: #fff;
}

input[type=checkbox] + .wpcf7-list-item-label::after {
	top: 12px;
	left: 4px;
	width: 12px;
	height: 7px;
	transform: rotate(-45deg);
	border-bottom: 2px solid #000;
	border-left: 2px solid #000;
	opacity: 0;
	transition: opacity 0.3s ease 0s;
}

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

.wpcf7-form.sent .wpcf7-response-output {
	display: none;
}

.contact-thanks .button {
	margin-top: 100px;
	text-align: center;
}

.contact-thanks__text {
	text-align: center;
}

.contact-thanks-link {
	margin-top: 29px;
	text-align: center;
}

.contact-thanks-link a {
	color: #000;
	font-size: 4rem;
	font-family: "DIN Condensed";
}

/*----------------------------------
初期化
----------------------------------*/

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

html,
body {
	position: relative;
	margin: 0;
	padding: 0;
}

html {
	height: 100%;
	font-size: 62.5%;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	background: #fff;
	color: #000;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: 0.03em;
	overflow-wrap: break-word;
}

body.open {
	overflow: auto;
}

body.open .header {
	background-color: #000;
}

body.open .header.bg .header__inner {
	background-color: #000;
}

.content {
	flex: 1;
}

img {
	max-width: 100%;
	height: auto;
	border: none;
}

a {
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

a:hover {
	opacity: 0.7;
}

.d-iblock {
	display: inline-block;
}

/*----------------------------------
補完クラス
----------------------------------*/

.color-active {
	color: #1A837B;
}

.font-size-small {
	font-size: 0.9em;
}

.font-em {
	font-weight: 700;
}

/*----------------------------------
共通パーツ
----------------------------------*/

.inner {
	width: min(100% - 100px, 1072px);
	height: inherit;
	margin: auto;
}

.inner2 {
	width: min(100% - 100px, 1240px);
	height: inherit;
	margin: auto;
}

.top-section__title {
	display: inline-block;
	position: relative;
}

.top-section__title > span {
	display: block;
	font-weight: 700;
}

.top-section__title .en {
	padding-right: 25px;
	font-size: 14rem;
	line-height: 0.95;
	font-family: "DIN Condensed";
	text-shadow: 1px 1px 2px #96FE04;
}

.top-section__title .ja {
	font-size: 1.4rem;
	line-height: 1;
	text-align: right;
}

.top-section__title .ja span {
	position: relative;
}

.top-section__title .ja span::before {
	position: absolute;
	top: 50%;
	left: -8px;
	width: 100px;
	height: 1px;
	transform: translateY(-50%);
	transform: translateX(-100%);
	background-color: #000;
	content: "";
}

.top-section__title.fadeIn .sub-title {
	-webkit-clip-path: inset(0 100% 0 0);
	clip-path: inset(0 100% 0 0);
	transition: all 0.4s ease 0s;
}

.top-section__title.ttl-fadeIn .sub-title {
	-webkit-clip-path: inset(0 0% 0 0);
	clip-path: inset(0 0% 0 0);
}

.top-section__title .sub-title {
	position: absolute;
}

.is-safari .top-section__title .en {
	transform: translateZ(0);
	font-weight: 500;
	text-shadow: none !important;
	filter: drop-shadow(1px 1px 0 #96FE04);
}

.button {
	text-align: right;
}

.button-link {
	display: inline-block;
	color: #000;
	font-weight: 700;
	font-size: 1.4rem;
	font-family: "Roboto", sans-serif;
	letter-spacing: 0;
	transition: all 0.3s ease 0s;
}

.button-link .wrap {
	display: flex;
	align-items: center;
}

.button-link .ttl {
	transition: all 0.3s ease 0s;
}

.button-link .arrow {
	display: inline-block;
	position: relative;
	width: 48px;
	height: 48px;
	margin-left: 16px;
	border: 1px solid #000;
	border-radius: 50%;
	background-color: #000;
	transition: all 0.3s ease 0s;
}

.button-link .arrow::after {
	position: absolute;
	top: 50%;
	left: 53%;
	width: 28px;
	height: 10px;
	transform: translate(-50%, -50%);
	background: url(../img/arrow_white.png) no-repeat center left/contain;
	content: "";
}

.button-link:hover {
	opacity: 1;
}

.button-link:hover .ttl {
	margin-right: -4px;
}

.button-link:hover .arrow {
	background-color: #fff;
}

.button-link:hover .arrow::after {
	background-image: url(../img/arrow_black.png);
}

.button-link.gray {
	color: #fff;
}

.button-link.gray:hover .arrow {
	border-color: #fff;
	background-color: #444;
}

.button-link.gray:hover .arrow::after {
	background-image: url(../img/arrow_white.png);
}

.button-link.gray .arrow {
	border-color: #E1E1E1;
	background-color: #E1E1E1;
}

.button-link.gray .arrow::after {
	background-image: url(../img/arrow_black.png);
}

.home main {
	overflow: hidden;
}

/*----------------------------------
スクロールでふわっと
----------------------------------*/

.view {
	transform: translate(0, 70px);
	opacity: 0;
	transition: all 800ms;
}

.view.scrollin {
	transform: translate(0, 0);
	opacity: 1;
}

/*----------------------------------
ヘッダー
----------------------------------*/

.header {
	z-index: 41;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 0 14px 0 16px;
}

.header.bg {
	padding: 16px 14px 16px 16px;
}

.header.bg .header__inner {
	-webkit-backdrop-filter: blur(8px);
	padding: 16px 40px;
	border-radius: 8px;
	backdrop-filter: blur(8px);
	background-color: rgba(255, 255, 255, 0.8);
}

.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
	padding: 56px 40px 56px;
	transition: all 0.3s ease 0s;
}

.logo {
	width: 180px;
}

.header__wrap {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
}

.header__nav-items {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
}

.header__nav-items > li {
	margin-right: 48px;
}

.header__nav-items > li:last-child {
	margin-right: 0;
}

.header__nav-items > li:last-child a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 119px;
	height: 36px;
	border: 1px solid #000;
	border-radius: 18px;
	background: #000;
	color: #fff;
}

.header__nav-items > li:last-child a:hover {
	background-color: #fff;
	color: #000;
	opacity: 1;
}

.header__nav-items > li a {
	display: block;
	color: #000;
	font-weight: 500;
	font-size: 1.5rem;
	font-family: "Roboto", sans-serif;
	white-space: nowrap;
}

/*----------------------------------
ドロワー
----------------------------------*/

.drawer__toggle {
	display: none;
}

.drawer__line--top {
	width: 40px;
}

.drawer__line--center.active {
	transform: scaleX(0);
}

.drawer__line--bottom.active {
	right: 0;
	bottom: 3px;
	width: 40px;
	transform: rotate(135deg);
	background: #fff;
}

/*gnav*/

.drawer__nav {
	display: none;
	z-index: 40;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 165px 24px 75px;
	overflow: scroll;
	background: #000;
	transition: all 1s;
}

.drawer__nav.active {
	display: block;
	transition: all 0.6s;
}

.drawer-menu li {
	line-height: 1;
	text-align: center;
}

.drawer-menu li + li {
	margin-top: 64px;
}

.drawer-menu li:last-child {
	margin-top: 96px;
}

.drawer-menu li:last-child a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 119px;
	height: 36px;
	margin: auto;
	border-radius: 18px;
	background-color: #fff;
	color: #000;
}

.drawer-menu li a {
	color: #fff;
	font-weight: 500;
	font-size: 1.5rem;
	font-family: "Roboto", sans-serif;
}

.drawer__bottom {
	margin-top: 56px;
}

.drawer__bottom ul {
	display: flex;
	justify-content: center;
}

.drawer__bottom ul li + li {
	margin-left: 56px;
}

.drawer__bottom ul li a {
	color: #fff;
	font-size: 1.2rem;
}

.drawer-overlay {
	box-sizing: border-box;
	display: none;
	z-index: 39;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

.drawer-overlay.open {
	display: block;
}

/*----------------------------------
トップページ：MV
----------------------------------*/

.mainvisual {
	display: flex;
	position: relative;
	margin-top: 156px;
	padding-bottom: 51px;
}

.mainvisual::after {
	z-index: -2;
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% - 100px);
	height: 220px;
	background-color: #000;
	content: "";
}

.mainvisual__content {
	flex: 0 0 calc(100% - 100px);
	padding-left: 71px;
}

.mainvisual__wrap {
	display: flex;
	justify-content: space-between;
	padding-top: 111px;
}

.mainvisual__en-title {
	position: relative;
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: 708px;
}

.mainvisual__en-title::before {
	position: absolute;
	top: 0;
	left: -71px;
	width: 4px;
	height: 100%;
	background-color: #000;
	content: "";
}

.mainvisual__en-title .en-title__wrap {
	position: relative;
}

.mainvisual__en-title .en-title__wrap::before {
	position: absolute;
	top: -1px;
	left: -71px;
	width: 8px;
	height: 252px;
	background-color: #000;
	content: "";
}

.mainvisual__en-title .sub-title {
	display: inline-block;
	position: absolute;
	top: -101px;
	right: -305px;
	width: 460px;
	overflow: hidden;
}

.mainvisual__en-title .sub-title img {
	-webkit-clip-path: inset(0 100% 0 0);
	display: block;
	clip-path: inset(0 100% 0 0);
}

.mainvisual__img {
	z-index: -1;
	position: absolute;
	top: -102px;
	left: 102px;
	width: 630px;
	height: 623px;
	overflow: hidden;
}

.mv-geo-wrap {
	position: absolute;
	width: 100%;
	height: 100%;
	inset: 0;
}

.mv-geo-wrap img {
	-webkit-clip-path: url(#mvGeoClip);
	clip-path: url(#mvGeoClip);
}

.mv-geo-inner {
	-webkit-clip-path: url(#mvGeoClip);
	-webkit-backface-visibility: hidden;
	position: relative;
	width: 100%;
	height: 100%;
	clip-path: url(#mvGeoClip);
	will-change: clip-path;
}

.mv-geo-video {
	-o-object-fit: cover;
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	inset: 0;
	object-fit: cover;
	filter: grayscale(100%);
}

.mv-geo-circle {
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 208px;
	height: 208px;
	border-radius: 50%;
	background: rgba(217, 254, 4, 0.7);
	pointer-events: none;
}

.en-title {
	-webkit-clip-path: inset(0 100% 0 0);
	display: block;
	margin-top: -25px;
	overflow: hidden;
	font-weight: 700;
	font-size: 16rem;
	line-height: 1.02;
	font-family: "DIN Condensed";
	letter-spacing: -0.01em;
	text-shadow: 0.75px 0.75px 1.51px #96FE04;
	white-space: nowrap;
	clip-path: inset(0 100% 0 0);
}

.en-title.white {
	color: #fff;
}

.is-safari .en-title {
	transform: translateZ(0);
	font-weight: 500;
	text-shadow: none !important;
	filter: drop-shadow(1px 1px 0 #96FE04);
}

.mainvisual__ja-title {
	margin-top: 250px;
	font-weight: 900;
	font-size: 1.8rem;
	line-height: 1.777;
}

.mainvisual__ja-title span {
	position: relative;
}

.mainvisual__ja-title span::before {
	position: absolute;
	top: 50%;
	left: -16px;
	width: 150px;
	height: 1px;
	transform: translateY(-50%);
	transform: translateX(-100%);
	background-color: #000;
	content: "";
}

.mainvisual-sidebar {
	display: flex;
	position: relative;
	flex: 0 0 100px;
	justify-content: center;
	margin-top: 24px;
	white-space: nowrap;
}

.mainvisual-sidebar__text {
	font-size: 1.4rem;
	line-height: 1.2;
	font-family: "Roboto", sans-serif;
	writing-mode: vertical-rl;
}

/* スクロールダウンの位置 */

.scroll {
	position: absolute;
	bottom: -51px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 1.2rem;
	font-family: "Roboto", sans-serif;
	letter-spacing: 0.1em;
	writing-mode: vertical-rl;
}

.scroll::before {
	z-index: 1;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	width: 1px;
	height: 220px;
	margin: auto;
	background-color: #000;
	content: "";
	animation: scroll 2s infinite;
}

.scroll::after {
	display: inline-block;
	width: 1px;
	height: 220px;
	margin-top: 9px;
	background-color: #ccc;
	content: "";
}

/* 線のアニメーション */

.mv-geo-wrap {
	position: relative;
	aspect-ratio: 638/631;
	width: 320px;
	margin: 0 auto;
}

.mv-geo {
	display: block;
	width: 100%;
	height: auto;
}

.mv-geo-dot {
	fill: rgba(255, 255, 255, 0.85);
}

/*----------------------------------
トップページ：NEWS
----------------------------------*/

.top-news {
	margin-top: 131px;
}

.top-news .top-section__title .en {
	padding-right: 0;
	font-size: 10rem;
}

.top-news .button {
	margin-top: 40px;
}

.top-news .no-post {
	margin-left: 200px;
}

.top-news__wrap {
	display: flex;
	align-items: center;
}

.news__items {
	position: relative;
	flex: 0 0 calc(100% - 302px);
	margin-left: 118px;
	padding: 64px 80px 49px 72px;
}

.news__items::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	margin-right: calc(50% - 50vw);
	background-color: rgba(239, 239, 239, 0.8);
	content: "";
}

.news__item .info {
	display: flex;
	position: relative;
	align-items: center;
	padding: 16px 46px 16px 20px;
}

.news__item .info::after {
	position: absolute;
	top: 50%;
	right: 20px;
	width: 5px;
	height: 9px;
	transform: translateY(-50%);
	background: url(../img/arrow_news.svg) no-repeat center left/contain;
	content: "";
	transition: all 0.3s ease 0s;
}

.news__item .info:hover {
	background-color: #fff;
	opacity: 1;
}

.news__item .info:hover::after {
	right: 8px;
}

.news__item .info .info__meta {
	display: flex;
	flex: 0 0 160px;
	align-items: center;
}

.news__item .info .info__published {
	color: #777;
	font-size: 1.3rem;
	letter-spacing: 0;
}

.news__item .info .info__category {
	flex: 0 0 70px;
	margin-left: 24px;
	color: #000;
	font-weight: 500;
	font-size: 1.3rem;
	letter-spacing: 0;
	text-align: center;
}

.news__item .info__title {
	margin-left: 32px;
	color: #000;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: -0.03em;
}

/*----------------------------------
トップページ：私たちの想い
----------------------------------*/

.top-sec {
	position: relative;
}

.top-sec::before,
.top-sec::after {
	z-index: 2;
	position: absolute;
	background-color: #000;
	content: "";
}

.top-sec::before {
	top: 0;
	width: 4px;
	height: 302px;
}

.top-sec::after {
	top: 150px;
	width: 8px;
	height: 152px;
	content: "";
}

.top-sec:nth-of-type(odd)::before {
	right: 0;
}

.top-sec:nth-of-type(odd)::after {
	right: 4px;
}

.top-sec:nth-of-type(even)::before {
	left: 0;
}

.top-sec:nth-of-type(even)::after {
	left: 4px;
}

.top-mission {
	margin-top: 104px;
}

.top-mission .inner2 {
	position: relative;
	padding-bottom: 65px;
}

.top-mission .inner2::after {
	z-index: -1;
	position: absolute;
	bottom: 0;
	left: 85px;
	width: 100vw;
	height: 206px;
	margin-right: calc(50% - 50vw);
	background-color: #000;
	content: "";
}

.top-mission .top-section__title .sub-title {
	top: -110px;
	right: -80px;
	width: 234px;
	height: 140px;
}

.top-mission__wrapper {
	z-index: 1;
	position: relative;
	padding-top: 154px;
}

.top-mission__wrapper::before {
	z-index: -3;
	position: absolute;
	top: 0;
	left: 0;
	width: 72.222%;
	height: calc(100% - 103px);
	background-color: rgba(239, 239, 239, 0.8);
	content: "";
}

.top-mission__wrapper::after {
	z-index: -2;
	position: absolute;
	right: 0;
	bottom: 206px;
	width: 600px;
	height: 521px;
	background: url(../img/top_mission_bg.png) no-repeat center left/contain;
	content: "";
}

.top-mission__wrap {
	display: flex;
	align-items: flex-end;
	padding-left: 84px;
}

.top-mission__text {
	padding: 48px 0 225px;
	font-weight: 700;
	white-space: nowrap;
}

.top-mission__text .txt {
	display: block;
	position: relative;
	overflow: hidden;
	color: rgba(0, 0, 0, 0.3);
}

.top-mission__text .txt .reveal {
	-webkit-clip-path: inset(0 100% 0 0);
	display: block;
	position: absolute;
	inset: 0;
	color: rgb(0, 0, 0);
	clip-path: inset(0 100% 0 0);
}

.top-mission__img {
	margin-right: calc(50% - 52vw);
	margin-left: 50px;
}

/*----------------------------------
トップページ：事業紹介
----------------------------------*/

.top-service {
	padding-top: 154px;
}

.top-service .top-section__title {
	display: block;
	z-index: 1;
	position: relative;
}

.top-service .top-section__title .en {
	text-align: right;
}

.top-service .top-section__title .sub-title {
	top: -93px;
	right: 23px;
	width: 185px;
}

.top-service__items {
	position: relative;
	margin-top: 48px;
}

.top-service__items::before {
	position: absolute;
	top: -248px;
	left: -167px;
	width: 670px;
	height: 662px;
	background: url(../img/top_service_bg.png) no-repeat center left/contain;
	content: "";
}

.top-service__item {
	display: flex;
	position: relative;
}

.top-service__item:nth-of-type(odd) .top-service__content {
	margin-right: 132px;
	padding-left: 84px;
}

.top-service__item:nth-of-type(odd) .top-service__img {
	width: 100vw;
	margin-right: calc(50% - 50vw);
}

.top-service__item:nth-of-type(odd) .top-service__img .top-service__small-img {
	left: -72px;
}

.top-service__item:nth-of-type(even) {
	flex-direction: row-reverse;
}

.top-service__item:nth-of-type(even) .top-service__content {
	margin-left: 136px;
	padding-right: 80px;
}

.top-service__item:nth-of-type(even) .top-service__img {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

.top-service__item:nth-of-type(even) .top-service__img .top-service__small-img {
	right: -72px;
}

.top-service__item + .top-service__item {
	margin-top: 120px;
}

.top-service__item:nth-of-type(2) .top-service__en-title {
	right: -1px;
	left: initial;
}

.top-service__item .button {
	margin-top: 25px;
}

.top-service__content {
	z-index: 1;
	position: relative;
}

.top-service__title span {
	font-weight: 700;
	line-height: 1;
}

.top-service__title span.en {
	padding: 0 4px;
	background-color: #000;
	color: #fff;
	font-size: 1.2rem;
}

.top-service__title span.ja {
	display: block;
	margin-top: 16px;
	font-size: 4rem;
}

.top-service__text {
	margin-top: 43px;
	font-weight: 700;
}

.top-service__img {
	position: relative;
	flex: 0 0 54.839%;
	padding-bottom: 120px;
}

.top-service__small-img {
	position: absolute;
	bottom: 0;
	width: 240px;
	height: 320px;
}

.top-service__en-title {
	text-stroke: 1px #666;
	display: inline-block;
	position: absolute;
	bottom: 57px;
	left: 1px;
	-webkit-text-stroke: 1px #666;
	color: rgba(255, 255, 255, 0.5);
	font-weight: 700;
	font-size: 16rem;
	line-height: 0.3;
	font-family: "DIN Condensed";
	letter-spacing: 0;
	white-space: nowrap;
}

/* Safari：枠線は捨てる。半透明＋影だけでクリーンに見せる */

.is-safari .top-service__en-title {
	text-stroke: 2px #000;
	paint-order: stroke;
	-webkit-text-stroke: 2px #000;
	color: #fff;
	font-weight: 500;
	text-rendering: optimizeLegibility;
	opacity: 0.5;
}

/*----------------------------------
トップページ：実績紹介
----------------------------------*/

.top-works {
	margin-top: 120px;
	padding: 154px 0 104px;
	background: url(../img/top_works_bg.jpg) no-repeat top left/cover;
}

.top-works::before,
.top-works::after {
	background-color: #fff;
}

.top-works .top-section__title > span {
	color: #fff;
}

.top-works .top-section__title > span.ja span::before {
	background-color: #fff;
}

.top-works .top-section__title .sub-title {
	top: -77px;
	right: -63px;
	width: 162px;
	height: 94px;
}

.top-works__wrap {
	display: flex;
	justify-content: space-between;
	padding-right: 80px;
}

.top-works__content {
	flex: 0 0 42.07%;
	margin: 96px 0 0 30px;
}

.top-works__content .button {
	margin-top: 32px;
}

.top-works__text {
	color: #fff;
	font-weight: 700;
}

/*----------------------------------
トップページ：会社紹介
----------------------------------*/

.top-company .top-section__title {
	display: block;
}

.top-company .top-section__title .en {
	text-align: right;
}

.top-company .top-section__title .sub-title {
	top: -68px;
	right: 75px;
	width: 130px;
}

.top-company__wrapper {
	position: relative;
	padding: 154px 0 100px;
}

.top-company__wrapper::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background: url(../img/top_company.jpg) no-repeat top left/cover;
	content: "";
}

.top-company__wrap {
	display: flex;
	align-items: center;
	margin-top: 62px;
	padding-left: 84px;
}

.top-company__wrap > .button {
	flex: 0 0 133px;
	margin-left: 40px;
}

.top-company__content {
	display: flex;
}

.top-company__content > .top-company__item {
	flex: 0 0 50%;
	margin-left: 103px;
}

.top-company__content > .top-company__item .top-company__title {
	flex: 0 0 32px;
}

.top-company__items {
	flex: 0 0 248px;
}

.top-company__items .top-company__item + .top-company__item {
	margin-top: 25px;
}

.top-company__items .top-company__title {
	flex: 0 0 80px;
}

.top-company__items .top-company__text {
	margin-left: 40px;
}

.top-company__item {
	display: flex;
	letter-spacing: 0;
}

.top-company__item .item__wrap {
	margin-left: 40px;
}

.top-company__title {
	font-weight: 700;
}

.top-company-caption {
	margin-top: 10px;
	font-size: 1.3rem;
	line-height: 1.6;
}

.google-map {
	margin-top: 22px;
	text-align: right;
}

.google-map a {
	color: #000;
	font-weight: 700;
}

/*----------------------------------
各ページ：お問い合わせパート
----------------------------------*/

.contact-part {
	padding: 134px 0;
	background: url(../img/contact_part.jpg) no-repeat top center/cover;
}

.contact-part .top-section__title .en {
	font-size: 10rem;
}

.contact-part__wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.contact-part__content {
	display: flex;
	flex: 0 0 69.032%;
	align-items: center;
	justify-content: space-between;
	margin-left: 20px;
	padding: 50px 59px;
	background-color: rgba(0, 0, 0, 0.6);
}

.contact-part__content .button {
	flex: 0 0 132px;
	margin-left: 28px;
}

.contact-part__content .button-link {
	color: #E1E1E1;
}

.contact-part__wrapper {
	display: flex;
	flex: 0 0 calc(100% - 132px);
	align-items: center;
	justify-content: space-between;
	color: #fff;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.6;
	letter-spacing: 0;
}

.contact-part__wrapper .text__wrap .contact-part__text + .contact-part__text {
	margin-top: 13.5px;
}

.contact-part__wrapper > .contact-part__text {
	display: flex;
	align-items: center;
	margin-left: 30px;
}

.contact-part__wrapper > .contact-part__text::before {
	display: inline-block;
	width: 17px;
	height: 3px;
	margin: 3px 12px 0 0;
	background: url(../img/point.png) no-repeat center left/contain;
	content: "";
}

/*----------------------------------
フッター
----------------------------------*/

.footer {
	padding: 85px 99px 72px 148px;
	background-color: #000;
}

.footer__wrapper {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	width: 100%;
}

.footer__left {
	flex: 0 0 430px;
	margin-bottom: 9px;
}

.footer-logo {
	width: 180px;
}

.footer-logo a {
	color: #fff;
}

.footer-logo .en {
	font-size: 1.6rem;
}

.footer-info {
	margin-top: 30px;
	color: #fff;
	font-size: 1.3rem;
}

.footer__wrap {
	display: flex;
	margin-left: 116px;
}

.footer__center {
	padding-top: 7px;
}

.footer__right {
	flex: 0 0 calc(60% - 60px);
	margin-left: 40px;
}

.footer__nav {
	display: flex;
	justify-content: flex-end;
}

.footer__nav ul + ul {
	margin-left: 56px;
}

.footer__nav ul li a {
	color: #fff;
	white-space: nowrap;
}

.nav__wrap {
	display: flex;
}

.nav__wrap + .nav__wrap {
	margin-left: 56px;
}

.nav__wrap > ul > li > a {
	font-weight: 700;
	font-size: 1.4rem;
}

.nav__wrap > ul > li ul {
	margin-top: 20px;
}

.nav__wrap > ul > li ul li + li {
	margin-top: 12px;
}

.nav__wrap > ul > li ul li a {
	font-size: 1.3rem;
}

.blog-menu {
	margin-top: 4px !important;
	padding-left: 10px;
}

.footer__bottom {
	margin-top: 77px;
}

.footer__bottom .footer__nav {
	display: initial;
}

.footer__bottom .footer__nav ul {
	display: flex;
	justify-content: flex-end;
}

.footer__bottom .footer__nav ul li + li {
	margin-left: 48px;
}

.footer__bottom .footer__nav ul li a {
	font-size: 1.2rem;
}

.footer__copy {
	margin-top: 40px;
	color: #999;
	font-size: 1.3rem;
	line-height: 1;
	text-align: right;
}

.disable-auto-tel a[href^="tel:"] {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
}

@media (min-width: 768px) {

.hidden-pc {
	display: none;
}

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

}

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

.hidden-tab {
	display: none;
}

.block-tab {
	display: block;
}

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

}

@media (max-width: 1439px) {

.page-mainvisual.short .scroll {
	bottom: -548px;
	bottom: -38.0555555556vw;
}

.hidden-xl {
	display: none;
}

.mainvisual {
	margin-top: 152px;
	margin-top: 10.5555555556vw;
	padding-bottom: 53px;
	padding-bottom: 3.6805555556vw;
}

.mainvisual::after {
	height: 220px;
	height: 15.2777777778vw;
}

.mainvisual__wrap {
	padding-top: 123px;
	padding-top: 8.5416666667vw;
}

.mainvisual__en-title {
	flex-basis: 708px;
	flex-basis: 49.1666666667vw;
}

.mainvisual__en-title .en-title__wrap::before {
	top: -1px;
	top: -0.0694444444vw;
	height: 252px;
	height: 17.5vw;
}

.mainvisual__en-title .sub-title {
	top: -101px;
	top: -7.0138888889vw;
	right: -305px;
	right: -21.1805555556vw;
	width: 460px;
	width: 31.9444444444vw;
}

.mainvisual__img {
	top: -102px;
	top: -7.0833333333vw;
	left: 102px;
	left: 7.0833333333vw;
	width: 630px;
	width: 43.75vw;
	height: 623px;
	height: 43.2638888889vw;
}

.en-title {
	margin-top: -25px;
	margin-top: -1.7361111111vw;
	font-size: 160px;
	font-size: 11.1111111111vw;
}

.mainvisual__ja-title {
	margin-top: 250px;
	margin-top: 17.3611111111vw;
	font-size: clamp(14px, 1.5vw, 18px);
}

.scroll {
	bottom: -51px;
	bottom: -3.5416666667vw;
}

.scroll::before {
	height: 220px;
	height: 15.2777777778vw;
}

.scroll::after {
	height: 220px;
	height: 15.2777777778vw;
}

.top-mission .inner2::after {
	height: 206px;
	height: 14.3055555556vw;
}

.top-mission__wrapper::after {
	bottom: 206px;
	bottom: 14.3055555556vw;
	width: 600px;
	width: 41.6666666667vw;
	height: 521px;
	height: 36.1805555556vw;
}

.top-mission__text {
	flex: 0 0 auto;
	white-space: initial;
}

.top-mission__img {
	margin-left: 64px;
	margin-left: 4.4444444444vw;
}

.top-service__item:nth-of-type(odd) .top-service__img .top-service__small-img {
	left: -72px;
	left: -5vw;
}

.top-service__item:nth-of-type(even) .top-service__img .top-service__small-img {
	right: -72px;
	right: -5vw;
}

.top-service__img {
	padding-bottom: 120px;
	padding-bottom: 8.3333333333vw;
}

.top-service__small-img {
	width: 240px;
	width: 16.6666666667vw;
	height: 320px;
	height: 22.2222222222vw;
}

.top-service__en-title {
	bottom: 57px;
	bottom: 3.9583333333vw;
	font-size: 160px;
	font-size: 11.1111111111vw;
}

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

}

@media (max-width: 1399px) {

.footer {
	padding-left: 111px;
}

.footer__nav ul + ul {
	margin-left: 45px;
}

.nav__wrap + .nav__wrap {
	margin-left: 45px;
}

}

@media (max-width: 1299px) {

.service__wrapper .service__title::before {
	left: -20px;
}

.footer {
	padding: 100px 50px 72px;
}

.footer__wrap {
	margin-left: 20px;
}

.footer__right {
	flex: 0 0 383px;
	margin-left: 20px;
}

.footer__nav {
	display: block;
}

.footer__nav ul {
	flex: 0 0 33.333%;
}

.footer__nav ul + ul {
	margin-left: 0;
}

.nav__wrap {
	justify-content: flex-end;
}

.nav__wrap + .nav__wrap {
	margin: 20px 0 0 0;
}

.footer__bottom {
	margin-right: 36px;
}

}

@media (max-width: 1271px) {

.service-flex__img {
	width: 240px;
	width: 18.8679245283vw;
}

.service-flex__img:nth-of-type(2) {
	margin-top: -204px;
	margin-top: -16.0377358491vw;
	margin-left: 131px;
	margin-left: 10.2987421384vw;
}

.archive-works__img {
	height: 178px;
	height: 14.0047206924vw;
}

}

@media (max-width: 1199px) {

.hidden-w1200 {
	display: none;
}

.top-mission__img {
	margin-right: calc(50% - 50vw);
	margin-left: 0;
}

.top-company__content > .top-company__item {
	flex: 0 0 58%;
	margin-left: 50px;
}

}

@media (max-width: 1149px) {

.hidden-w1150 {
	display: none;
}

}

@media (max-width: 1099px) {

.display-w1100 {
	display: block;
}

}

@media (max-width: 1023px) {

.page-mainvisual__left {
	height: 380px;
	height: 37.109375vw;
	margin-top: 95px;
}

.page-mainvisual-menu {
	padding: 80px 0 80px 40px;
}

.page-mainvisual-menu.gray {
	padding-left: 40px;
}

.page-mainvisual-menu-link .en {
	font-size: 3.2rem;
}

.company-sec03__content {
	margin-left: 20px;
}

.page-service .page-mainvisual-menu {
	min-height: 412px;
}

.service-sec:nth-of-type(odd) .service__img {
	margin-left: 30px;
}

.service-sec:nth-of-type(even) .service__img {
	margin-right: 30px;
}

.service__list {
	padding: 0 20px;
}

.service__wrapper {
	padding-right: 40px;
}

.service-feature__lists {
	padding-right: 0;
}

.service-box::after {
	width: 40px;
}

.service-box__inner {
	padding: 50px 30px 40px;
}

.medical-works-link {
	padding: 0 15px 0 10px;
	font-size: 1.3rem;
}

.medical-works-link::after {
	right: 10px;
}

.medical-works__item:nth-of-type(odd) {
	margin-left: 80px;
}

.medical-works__item:nth-of-type(even) {
	margin-right: 80px;
}

.medical-works-flex__title {
	font-size: 2rem;
}

.service-flex__lists {
	flex: 0 0 52%;
	margin-left: 40px;
}

.project-tools__img {
	width: 100%;
}

.works-part {
	padding: 72px 0;
	background-image: url(../img/works_part_sp.jpg);
}

.works-part .top-section__title .en {
	font-size: 5.6rem;
}

.prev-arrow {
	right: 167px;
}

.next-arrow {
	right: 100px;
}

.education-business .page-mainvisual__wrapper::before {
	height: 198px;
}

.education-business .page-mainvisual__title {
	padding-top: 12px;
}

.education-business .page-mainvisual__title .en {
	line-height: 0.8;
}

.education-business .page-mainvisual__title .ja {
	margin-top: -8px;
}

.education-business .service-feature__text {
	padding-right: 0;
}

.education-business .service-flex__wrap {
	padding-right: 80px;
}

.education-business .project-tools__img {
	width: 100%;
}

.archive-works {
	padding-left: 0;
}

.works-button-link {
	padding-left: 19px;
}

.works-button-link::after {
	right: 10px;
}

.archive-works__items {
	grid-template-columns: 1fr 1fr;
}

.archive-works__img {
	height: 210px;
	height: 21vw;
}

.works-single {
	padding-left: 0;
}

.single-works-image.sp {
	margin-left: 20px;
}

.post-type-archive-blog .page-mainvisual__title .en {
	font-size: 10rem;
}

.archive-blog {
	padding-left: 0;
}

.archive-blog__items {
	grid-template-columns: 1fr 1fr;
}

.blog-single {
	padding-left: 0;
}

.archive-news {
	padding-left: 0;
}

.archive-news__item .info__title {
	margin-left: 30px;
}

.single-news {
	padding-left: 0;
}

.sitemap {
	padding-left: 0;
}

.sitemap-nav:nth-of-type(2) .sitemap__lists:nth-of-type(2) {
	margin-left: 50px;
}

.sitemap-nav:nth-of-type(2) .sitemap__lists:nth-of-type(3) {
	margin-left: 46px;
}

.sitemap-nav:nth-of-type(3) .sitemap__lists:nth-of-type(2) {
	margin-left: 50px;
}

.sitemap-nav:nth-of-type(3) .sitemap__lists:nth-of-type(3) {
	margin-left: 77px;
}

.sitemap__list ul li a {
	font-size: 1.6rem;
}

.policy {
	padding-left: 0;
}

.contact {
	padding-left: 0;
}

.contact-text {
	flex: 0 0 calc(100% - 223px);
	margin-left: 30px;
}

input[type=checkbox] + .wpcf7-list-item-label::after {
	top: 10px;
}

body {
	font-size: 1.4rem;
}

body.open .header__nav-items > li:last-child {
	display: none;
}

.inner {
	width: min(100% - 80px, 1072px);
}

.inner2 {
	width: min(100% - 80px, 1240px);
}

.top-section__title .en {
	font-size: 10rem;
}

.header {
	padding-top: 16px;
	padding-bottom: 16px;
}

.header.bg .header__inner {
	padding: 16px 88px 16px 16px;
}

.header__inner {
	padding: 16px 88px 16px 16px;
}

.logo {
	width: 165px;
}

.header__nav-items > li {
	margin-right: 30px;
}

.header__nav-items > li:not(:last-child) {
	display: none;
}

.drawer__toggle {
	display: block;
	z-index: 42;
	position: fixed;
	top: 41px;
	right: 32px;
	width: 40px;
	height: 12px;
	cursor: pointer;
}

.drawer__wrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 12px;
	transform: translate(-50%, -50%);
}

.drawer__line {
	display: block;
	position: absolute;
	right: 0;
	height: 1px;
	border-radius: 3px;
	background: #000;
	transition: transform 0.3s;
}

.drawer__line--bottom {
	bottom: 0;
	width: 32px;
}

.drawer__line--top.active {
	top: 8px;
	right: 0;
	transform: rotate(45deg);
	background: #fff;
}

.mainvisual {
	padding-bottom: 4.2vw;
}

.mainvisual::after {
	width: calc(100% - 80px);
}

.mainvisual__content {
	flex: 0 0 calc(100% - 80px);
	padding-left: 40px;
}

.mainvisual__wrap {
	padding-top: 11.25vw;
}

.mainvisual__en-title::before {
	left: -40px;
}

.mainvisual__en-title .en-title__wrap::before {
	left: -40px;
}

.mainvisual__en-title .sub-title {
	top: -6.3vw;
	right: -15.5vw;
	width: 28.16vw;
}

.mainvisual__img {
	top: -8.5vw;
	left: 63px;
	left: 7.875vw;
	width: 346px;
	width: 43.25vw;
	height: 342px;
	height: 42.75vw;
}

.mv-geo-circle {
	width: 114px;
	width: 14.25vw;
	height: 114px;
	height: 14.25vw;
}

.en-title {
	margin-top: -13px;
	margin-top: -1.625vw;
	font-size: 84px;
	font-size: 10.5vw;
}

.mainvisual__ja-title {
	margin: 12.5vw 0 0 110px;
}

.mainvisual__ja-title span::before {
	width: 80px;
}

.mainvisual-sidebar {
	flex: 0 0 80px;
	margin-top: 14px;
}

.mainvisual-sidebar__text {
	font-size: 1.2rem;
}

.scroll {
	bottom: -4.2vw;
}

.scroll::before {
	height: 160px;
	height: 20vw;
}

.scroll::after {
	height: 160px;
	height: 20vw;
}

.top-news {
	margin-top: 80px;
}

.top-news .top-section__title .en {
	font-size: 5.6rem;
}

.top-news .button {
	margin-top: 24px;
}

.top-news .no-post {
	margin-left: 100px;
}

.news__items {
	flex: 0 0 calc(100% - 142px);
	margin-left: 38px;
	padding: 32px 0 32px 32px;
}

.news__item .info {
	padding: 8px 25px 8px 20px;
}

.news__item .info::after {
	right: 10px;
}

.news__item .info:hover::after {
	right: 3px;
}

.news__item .info .info__category {
	margin-left: 20px;
}

.news__item .info__title {
	margin-left: 24px;
}

.top-sec::before {
	width: 2px;
	height: 210px;
}

.top-sec::after {
	top: 100px;
	width: 4px;
	height: 110px;
}

.top-sec:nth-of-type(odd)::after {
	right: 2px;
}

.top-sec:nth-of-type(even)::after {
	left: 2px;
}

.top-mission {
	margin-top: 48px;
}

.top-mission .inner2::after {
	left: 152px;
	height: 118px;
	height: 14.75vw;
}

.top-mission .top-section__title .sub-title {
	top: -71px;
	right: -26px;
	width: 150px;
}

.top-mission__wrapper {
	padding-top: 101px;
}

.top-mission__wrapper::before {
	width: 72%;
	height: calc(100% - 67px);
}

.top-mission__wrapper::after {
	right: -91px;
	right: -11.375vw;
	bottom: 118px;
	bottom: 14.75vw;
	width: 420px;
	width: 52.5vw;
	height: 363px;
	height: 45.375vw;
}

.top-mission__wrap {
	padding-left: 0;
}

.top-mission__text {
	flex: 0 0 43%;
	padding: 32px 0 114px;
	font-size: 1.4rem;
}

.top-mission__img {
	margin-right: calc(50% - 55vw);
}

.top-service {
	padding-top: 101px;
}

.top-service .top-section__title .sub-title {
	top: -60px;
	right: 17px;
	width: 120px;
}

.top-service__items::before {
	top: -26vw;
	left: -9vw;
	width: 406px;
	width: 50.75vw;
	height: 401px;
	height: 50.125vw;
}

.top-service__item:nth-of-type(odd) .top-service__content {
	margin-right: 69px;
	padding-left: 0;
}

.top-service__item:nth-of-type(even) .top-service__content {
	margin-left: 69px;
	padding-right: 0;
}

.top-service__item .button {
	margin-right: 6px;
}

.top-service__title span.ja {
	margin-top: 8px;
	font-size: 3.2rem;
}

.top-service__text {
	margin-top: 14px;
}

.top-service__img {
	flex: 0 0 49.724%;
	padding-bottom: 63px;
	padding-bottom: 7.875vw;
}

.top-service__small-img {
	width: 126px;
	width: 15.75vw;
	height: 168px;
	height: 21vw;
}

.top-service__en-title {
	bottom: 3vw;
	left: -3px;
	font-size: 120px;
	font-size: 15vw;
}

.top-works {
	margin-top: 100px;
	padding: 101px 0 48px;
}

.top-works .top-section__title .sub-title {
	top: -61px;
	right: -54px;
	width: 125px;
}

.top-works__wrap {
	padding-right: 0;
}

.top-works__content {
	flex: 0 0 50%;
	margin-top: 70px;
}

.top-works__content .button {
	margin-top: 16px;
}

.top-company .top-section__title .sub-title {
	top: -46px;
	right: 52px;
	width: 90px;
}

.top-company__wrapper {
	padding: 107px 0 72px;
}

.top-company__wrapper::before {
	background: url(../img/top_company.jpg) no-repeat top center/cover;
}

.top-company__wrap {
	margin-top: 33px;
	padding-left: 0;
}

.top-company__content {
	display: block;
}

.top-company__content > .top-company__item {
	margin: 10px 0 0 0;
}

.top-company__content > .top-company__item .top-company__title {
	flex: 0 0 70px;
}

.top-company__items .top-company__item + .top-company__item {
	margin-top: 10px;
}

.top-company__items .top-company__title {
	flex: 0 0 70px;
}

.top-company__items .top-company__text {
	margin-left: 28px;
}

.top-company__item .item__wrap {
	flex: 0 0 67%;
	margin-left: 28px;
}

.top-company-caption {
	margin-top: 5px;
}

.google-map {
	margin-top: 10px;
}

.contact-part {
	padding: 72px 0;
	background-image: url(../img/contact_part_sp.jpg);
}

.contact-part .top-section__title .en {
	font-size: 5.6rem;
}

.contact-part__content {
	flex: 0 0 calc(100% - 140px);
	margin-left: 0;
}

.contact-part__content .button {
	margin-left: 20px;
}

.contact-part__wrapper {
	display: block;
}

.contact-part__wrapper .text__wrap .contact-part__text + .contact-part__text {
	margin-top: 10px;
}

.contact-part__wrapper > .contact-part__text {
	margin: 10px 0 0 0;
}

.footer {
	padding: 85px 0 33px;
}

.footer__wrapper {
	display: block;
}

.footer-logo {
	width: 165px;
	margin: auto;
}

.footer-info {
	text-align: center;
}

.footer__wrap {
	display: block;
	margin-left: 0;
}

.footer__right {
	width: 656px;
	max-width: 100%;
	margin: 30px auto 0;
}

.footer__nav {
	display: flex;
	justify-content: initial;
}

.footer__nav ul {
	flex: initial;
}

.footer__nav ul + ul {
	margin-left: 56px;
}

.nav__wrap + .nav__wrap {
	margin: 0 0 0 56px;
}

.nav__wrap > ul > li > a {
	font-size: 1.3rem;
}

.footer__bottom {
	margin: 40px 0 0 0;
}

.footer__copy {
	text-align: center;
}

}

@media (max-width: 899px) {

.hidden-w900 {
	display: none;
}

.block-w900 {
	display: block;
}

}

@media (max-width: 799px) {

.mainvisual__ja-title {
	margin-left: 98px;
}

}

@media (max-width: 767px) {

body:not(.home) .mainvisual-sidebar {
	top: -48px;
	justify-content: flex-start;
	width: 50px;
	height: auto;
	margin-top: 0;
}

.page-mainvisual {
	margin-top: 128px;
}

.page-mainvisual__wrapper {
	padding-right: 0;
}

.page-mainvisual__wrapper::before {
	content: none;
}

.page-mainvisual__wrap {
	display: block;
	margin-top: 35px;
}

.page-mainvisual__wrap .inner {
	display: block;
}

.page-mainvisual__left {
	height: 111px;
	height: 29.6vw;
	margin-top: 0;
	padding-right: 50px;
}

.page-mainvisual__img {
	height: 111px;
	height: 29.6vw;
	max-height: initial;
}

.page-mainvisual__title {
	position: relative;
	padding-top: 8px;
}

.page-mainvisual__title::before {
	z-index: 1;
	position: absolute;
	top: 0;
	left: -24px;
	width: 4px;
	height: 100%;
	background-color: #000;
	content: "";
}

.page-mainvisual__title .en {
	font-size: 7rem;
	line-height: 0.8;
	white-space: initial;
}

.page-mainvisual__title .ja {
	margin-top: 4px;
	font-size: 1.6rem;
}

.page-mainvisual-menu {
	width: calc(100vw - 24px);
	margin-right: calc(50% - 50vw);
	padding: 50px 0;
}

.page-mainvisual-menu::before {
	left: -24px;
	width: calc(100% - 26px);
}

.page-mainvisual-menu.gray {
	width: calc(100vw - 24px);
	min-height: initial;
	margin-right: calc(50% - 50vw);
	padding: 50px 0;
}

.page-mainvisual-menu.gray::before {
	left: -24px;
	width: calc(100% - 26px);
}

.page-mainvisual-menu__list + .page-mainvisual-menu__list {
	margin-top: 15px;
}

.page-mainvisual-menu-link {
	padding: 15px 0 15px 39px;
}

.page-mainvisual-menu-link .en {
	font-size: 2.9rem;
}

.page-mainvisual-menu-link .ja {
	font-size: 1.3rem;
}

.page__title {
	font-size: 2rem;
}

.page-sec__title .en {
	font-size: 4.8rem;
	line-height: 0.8;
}

.page-sec__title .ja {
	font-size: 1rem;
}

.page-sec__title .ja::before {
	margin: 1px 5px 0 0;
}

.page-sec__sub-title {
	font-size: 1.9rem;
}

.breadcrumb {
	margin-bottom: 70px;
	padding: 0 60px 0 0;
}

.breadcrumb__items {
	justify-content: flex-start;
}

.breadcrumb__items > span {
	font-size: 1.1rem;
	line-height: 1.5;
}

.breadcrumb__items > span:nth-child(2) {
	white-space: nowrap;
}

.breadcrumb__items > span:not(:first-child)::before {
	margin-right: 6px;
}

.breadcrumb__items > span:not(:last-child) {
	margin-right: 6px;
}

.pagination {
	margin-top: 60px;
}

.page-numbers {
	width: 30px;
	height: 30px;
	margin-right: 13px;
	padding-bottom: 1px;
	border-width: 0.6px;
	font-size: 1.05rem;
}

.page-numbers.prev::after,
.page-numbers.next::after {
	left: 62%;
	width: 22px;
	height: 6px;
}

.page-numbers.prev::after {
	left: 41%;
}

.page-404 {
	padding-bottom: 100px;
}

.page-404 h1 {
	font-size: 3rem;
}

.company-sec01 {
	margin-top: 30px;
}

.company-sec01 .page-sec__title {
	order: 1;
}

.company-sec01__wrap {
	flex-direction: column;
}

.company-sec01__img {
	order: 2;
	width: 60.244%;
	margin-top: 35px;
}

.company-sec01__content {
	display: contents;
}

.company-sec01__wrapper {
	order: 3;
	margin-top: 30px;
}

.company-sec01__wrapper .text__wrap {
	margin-top: 30px;
}

.company-sec01__text + .company-sec01__text {
	margin-top: 20px;
}

.president {
	margin: 20px 1px 0 0;
	font-size: 1.5rem;
}

.president .font-small {
	font-size: 1.2rem;
}

.company-sec02 {
	margin-top: 50px;
	padding: 40px 0 60px;
}

.company-sec02::before {
	width: calc(100% - 50px);
	height: 213px;
	height: 56.8vw;
	background-image: url(../img/company_bg_sp.jpg);
}

.company-profile {
	margin-top: 50px;
	padding: 31px 26px 41px;
}

.company-profile .table tr:nth-child(2) th,
.company-profile .table tr:nth-child(2) td {
	padding-bottom: 5px;
}

.company-profile .table th,
.company-profile .table td {
	padding: 15px 0;
	line-height: 1.5;
}

.company-profile .table th {
	width: 80px;
}

.company-profile .table td .circle {
	display: inline-block;
}

.company-profile .table td .txt {
	display: inline-block;
	margin-bottom: 10px;
}

.google-map-button {
	display: inline-block;
	margin-bottom: 10px;
}

.company-sec03 {
	padding: 60px 0 100px;
}

.company-sec03__wrap {
	display: block;
}

.company-sec03__content {
	margin: 30px 0 0 0;
}

.history__list {
	align-items: flex-start;
}

.history__list::before {
	top: 49px;
	left: 89px;
	height: 100%;
}

.history__list:not(:first-child) {
	margin-top: 5px;
}

.history__list .large-year {
	font-size: 8.6rem;
}

.history__list .large-year::after {
	top: 43px;
	right: 34px;
}

.history__list .small-year {
	margin-left: 0;
	font-size: 3.6rem;
}

.history__list .event {
	margin-left: 0;
	font-size: 1.3rem;
	line-height: 1.6;
}

.history__wrap {
	display: block;
	position: relative;
	margin: 34px 0 0 -26px;
}

.page-service .page-mainvisual-menu {
	min-height: initial;
}

.page-service .page-mainvisual__left {
	margin-top: 0;
}

.page-service .contact-part {
	margin-top: 100px;
}

.service-sec + .service-sec {
	margin-top: 65px;
}

.service-sec:nth-of-type(odd) .service__img {
	width: auto;
	margin-left: 0;
}

.service-sec:nth-of-type(even) .service__wrap {
	flex-direction: column-reverse;
}

.service-sec:nth-of-type(even) .service__img {
	width: auto;
	margin-right: calc(50% - 50vw);
	margin-left: 0;
}

.service-sec01 {
	margin-top: 35px;
}

.service__lists {
	grid-template-columns: 1fr;
	margin-top: 35px;
	gap: 5px;
}

.service__list {
	height: 45px;
	padding: 0 17px;
}

.service__wrap {
	flex-direction: column-reverse;
	margin-top: 60px;
}

.service__content {
	margin-top: 40px;
}

.service__content .text__wrap {
	margin-top: 30px;
}

.service__title {
	font-size: 1.9rem;
}

.service__text + .service__text {
	margin-top: 20px;
}

.service-sec02 .service__wrap {
	margin-top: 50px;
}

.service-sec03 .service__wrap {
	margin-top: 50px;
}

.service-lower-layer .page-mainvisual__title {
	padding-top: 8px;
}

.service-lower-layer .page-mainvisual__title .en {
	line-height: 0.8;
}

.service-lower-layer .page-mainvisual__title .ja {
	margin-top: 0;
}

.service-lower-layer .service__wrap {
	position: relative;
	width: 100vw;
	margin-top: 0;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding: 0 24px;
	overflow: hidden;
}

.service-lower-layer .service__content {
	z-index: 1;
	position: relative;
	margin-top: 50px;
}

.service-lower-layer .service-sec03 {
	margin-top: 90px !important;
	padding: 65px 0 60px;
}

.service-lower-layer .service-sec03 .service__lists {
	margin-top: 50px;
	gap: 5px;
}

.service-lower-layer .service-sec04 {
	margin-top: 35px !important;
	margin-bottom: 100px;
}

.service__lead {
	margin-top: 35px;
	padding: 55px 0;
}

.service__lead::before {
	transform: none;
}

.service__wrapper {
	padding-right: 0;
}

.service__wrapper + .service__wrapper {
	margin-top: 40px;
	padding-top: 40px;
	background-color: initial;
}

.service__wrapper + .service__wrapper::before {
	content: none;
}

.service__wrapper .service__title::before {
	top: 55%;
	left: -5px;
	width: 19px;
}

.service-images-col {
	display: none;
}

.service-image {
	position: static;
	opacity: 1;
}

.service-image img {
	height: auto;
}

.service-images::before {
	content: none;
}

.service-feature__lists {
	margin-top: 50px;
}

.service-feature__list + .service-feature__list {
	margin-top: 40px;
}

.service-feature__title {
	font-size: 1.6rem;
}

.service-feature__text {
	margin-top: 10px;
}

.service-field {
	margin-top: 49px;
}

.service-field__title {
	padding-left: 9px;
	border-left-width: 3px;
	font-size: 1.6rem;
}

.service-field__lists {
	margin-top: 20px;
}

.service-field__list {
	margin-right: 10px;
	padding: 7px 12px;
}

.service-box {
	margin-top: 50px;
	padding: 50px 0 60px;
}

.service-box .button {
	margin-top: 50px;
}

.service-box__inner {
	padding: 40px 23px 40px 20px;
}

.medical-works {
	margin-top: 35px;
}

.medical-works-buttons {
	grid-template-columns: 1fr;
	gap: 10px;
}

.medical-works-link {
	height: auto;
	min-height: 50px;
	padding: 13.5px 30px 9.5px 20px;
	font-size: 1.4rem;
}

.medical-works-link::after {
	right: 20px;
}

.medical-works__item {
	position: relative;
	margin-top: 50px;
	padding-top: 50px;
}

.medical-works__item::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 223px;
	height: 59.4666666667vw;
	margin: 0 calc(50% - 50vw);
	background: linear-gradient(to bottom, #F2F2F2, #FFF);
	content: "";
}

.medical-works__item:nth-of-type(odd) {
	margin-left: 0;
}

.medical-works__item:nth-of-type(even) {
	margin-right: 0;
}

.medical-works__item:first-of-type .medical-works-flex__list:first-child .medical-works-flex__title img {
	width: 159px;
}

.medical-works__item:first-of-type .medical-works-flex__list:first-child .medical-works-flex__text {
	margin-top: 36px;
}

.medical-works__item:first-of-type .medical-works-flex__list:nth-child(2) .medical-works-flex__title img {
	width: 149px;
}

.medical-works__item:first-of-type .medical-works-flex__list:nth-child(2) .medical-works-flex__text {
	margin-top: 34px;
}

.medical-works__item:first-of-type .medical-works-flex__list:nth-child(3) .medical-works-flex__text {
	margin-top: 10px;
}

.medical-works__item:nth-of-type(3) .medical-works-flex__list:first-child .medical-works-flex__img {
	width: auto;
	margin: initial;
	text-align: left;
}

.medical-works__item:nth-of-type(3) .medical-works-flex__list:first-child .medical-works-flex__img img {
	width: 62px;
}

.medical-works__item:nth-of-type(3) .medical-works-flex__list:nth-child(2) .medical-works-flex__img {
	text-align: center;
}

.medical-works__item:nth-of-type(3) .medical-works-flex__list:nth-child(2) .medical-works-flex__img img {
	width: 49px;
}

.medical-works__item:nth-of-type(3) .medical-works-flex__list:nth-child(3) .medical-works-flex__img {
	text-align: center;
}

.medical-works__item:nth-of-type(3) .medical-works-flex__list:nth-child(3) .medical-works-flex__img img {
	width: 55px;
}

.medical-works__item:nth-of-type(4) .medical-works-flex__list:first-child .medical-works-flex__img {
	text-align: center;
}

.medical-works__item:nth-of-type(4) .medical-works-flex__list:first-child .medical-works-flex__img img {
	width: 61px;
}

.medical-works__item:nth-of-type(4) .medical-works-flex__list:nth-child(2) .medical-works-flex__img {
	width: auto;
	margin: initial;
}

.medical-works__item:nth-of-type(4) .medical-works-flex__list:nth-child(3) .medical-works-flex__img {
	text-align: center;
}

.medical-works__item:nth-of-type(4) .medical-works-flex__list:nth-child(3) .medical-works-flex__img img {
	width: 48px;
}

.medical-works__text {
	margin-top: 30px;
}

.medical-works-flex__lists {
	display: block;
	margin-top: 30px;
}

.medical-works-flex__list {
	padding: 20px 0 !important;
	border-right: none;
	border-bottom: 1px solid #000;
}

.medical-works-flex__list.flex {
	display: flex;
	align-items: center;
	padding: 23px 0 !important;
	text-align: left;
}

.medical-works-flex__list.flex .medical-works-flex__text {
	font-weight: 600;
	font-size: 1.4rem;
}

.medical-works-flex__list:first-child {
	border-top: 1px solid #000;
	border-left: none;
}

.medical-works-flex__img {
	flex: 0 0 79px;
}

.medical-works-flex__wrap {
	margin: 0 0 0 16px;
}

.medical-works-flex__title {
	font-size: 1.7rem;
}

.medical-works-flex__text {
	font-weight: 400;
	font-size: 1.3rem;
}

.medical-works-flex__text .number {
	font-size: 5.5rem;
}

.service-flex__wrap {
	display: block;
	margin-top: 30px;
}

.service-flex-images {
	display: flex;
}

.service-flex__img {
	width: calc(50% - 14px);
}

.service-flex__img:nth-of-type(2) {
	margin: 31px 0 0 28px;
}

.service-flex__lists {
	margin-left: 0;
}

.service-flex__list {
	padding: 20px 10px 18px 20px;
}

.project-tools__img {
	margin-top: 50px;
}

.works-part {
	padding: 72px 0 57px;
}

.works-part .top-section__title {
	display: flex;
	justify-content: flex-end;
}

.works-part .top-section__title .en {
	font-size: 4.8rem;
}

.works-part .contact-part__content {
	margin: 24px 0 0 0;
	padding: 48px 32px 32px 0;
}

.works-part .contact-part__content::before {
	left: -24px;
}

.works-part__wrap {
	margin-top: 32px;
}

.works-part__wrap .contact-part__text {
	display: none;
}

.works-part__wrap .button {
	margin-top: 0 !important;
}

.nanairo-cafe .service-sec01 .service__wrap {
	margin-top: 86px;
}

.nanairo-cafe .service-sec02 {
	padding-bottom: 139px;
}

.slider {
	margin-top: 30px;
}

.slick-list {
	overflow: initial !important;
}

.slide-arrow {
	bottom: -57px;
}

.prev-arrow {
	right: 106px;
}

.next-arrow {
	right: 36px;
}

.education-business .service-flex__wrap {
	padding-right: 0;
}

.education-business .service-box .button {
	margin-top: 50px;
}

.education-business .service-sec03 {
	padding-bottom: 80px;
}

.education-business .project-tools__img {
	mix-blend-mode: initial;
}

.archive-works {
	margin-top: 80px;
	padding: 50px 0 100px;
}

.works-buttons {
	flex-wrap: wrap;
	gap: 10px 12px;
}

.works-button {
	width: calc(50% - 6px);
}

.works-button-link {
	height: 50px;
	padding-left: 20px;
}

.archive-works__content {
	margin-top: 50px;
}

.archive-works__items {
	grid-template-columns: 1fr;
	gap: 20px;
}

.archive-works__img {
	height: 172px;
	height: 45.8666666667vw;
}

.archive-works__wrap {
	padding-right: 30px;
	padding-left: 20px;
}

.archive-works-tag {
	margin-right: 20px;
}

.single-page .page-mainvisual__wrapper {
	margin-top: 70px;
	overflow: initial;
}

.single-page .page-mainvisual__wrapper::before {
	width: 4px;
	height: 139px;
	content: "";
}

.single__title {
	font-size: 2rem;
}

.single__sub-title {
	margin-top: 20px;
	font-size: 1.5rem;
}

.works-single {
	padding: 0 0 100px;
}

.single__content {
	margin-top: 40px;
}

.single__content .wp-block-column:first-of-type figure {
	margin-bottom: 0;
}

.single__content .wp-block-column:nth-of-type(2) figure {
	margin-top: 0;
}

.single__content figure {
	margin: 30px 0;
}

.single__content figure img {
	max-width: 100%;
}

.single__content .button {
	margin-top: 60px;
}

.single-works__item {
	padding: 25px 0 30px;
}

.single-works__item.pb-30 {
	padding-bottom: 20px;
}

.single-works-item__title {
	font-size: 1.6rem;
}

.single-works-item__text {
	margin-top: 10px !important;
}

.single-works-item__text.f-18 {
	font-size: 1.4rem;
	line-height: 1.5;
}

.single-works-item-tags {
	margin-top: 10px;
}

.single-works-item-tag {
	height: 28px;
	padding: 7px 12px;
}

.production-business .single-works__items {
	margin-top: 60px;
}

.single-works-images {
	display: block;
	margin-top: 40px;
}

.single-works-image.sp {
	margin: 20px 0 0 0;
}

.single-works__img {
	width: 88.073%;
	margin: auto;
}

.single-works__img img {
	width: 100%;
}

.single-works-button {
	margin-top: 40px;
}

.educational-business .single-works__items {
	margin-bottom: 30px;
}

.post-type-archive-blog .page-mainvisual__title .en {
	font-size: 7rem;
}

.archive-blog {
	margin-top: 80px;
	padding: 0 0 100px;
}

.archive-blog__items {
	grid-template-columns: 1fr;
	gap: 40px;
}

.archive-blog__img {
	width: 81.039%;
	margin: auto;
}

.archive-blog__wrap {
	margin-top: 15px;
}

.blog__published {
	font-size: 1.2rem;
}

.blog-single {
	padding: 0 0 100px;
}

.single__content h2 {
	margin: 50px 0 20px;
	padding-left: 19px;
	font-size: 1.6rem;
}

.single__content h2::before {
	top: 4px;
	height: calc(100% - 5px);
}

.single__content p {
	margin-top: 20px;
}

.archive-news {
	margin-top: 80px;
	padding: 0 0 100px;
}

.archive-news__item .info {
	display: block;
	padding: 24px 0 20px;
}

.archive-news__item .info__published {
	padding-top: 1px;
	font-size: 1.2rem;
}

.archive-news__item .info__category {
	margin-left: 10px;
	font-size: 1.3rem;
}

.archive-news__item .info__title {
	margin: 15px 0 0 0;
}

.single-news {
	padding: 0 0 100px;
}

.sitemap {
	margin-top: 80px;
	padding: 0 0 100px;
}

.sitemap-nav {
	display: block;
}

.sitemap-nav:nth-of-type(2) {
	padding-bottom: 30px;
}

.sitemap-nav:nth-of-type(2) .sitemap__lists:nth-of-type(2) {
	margin: 30px 0 0 0;
}

.sitemap-nav:nth-of-type(2) .sitemap__lists:nth-of-type(3) {
	margin: 30px 0 0 0;
}

.sitemap-nav:nth-of-type(3) .sitemap__lists:nth-of-type(2) {
	margin: 30px 0 0 0;
}

.sitemap-nav:nth-of-type(3) .sitemap__lists:nth-of-type(3) {
	margin: 30px 0 0 0;
}

.sitemap__list > a {
	padding-right: 27px;
	font-size: 1.6rem;
}

.sitemap__list > a::before {
	width: 17px;
	height: 17px;
}

.sitemap__list > a::after {
	top: 59%;
	right: 4.5px;
	width: 6px;
	height: 10px;
}

.sitemap__list ul li {
	margin-top: 25px;
	padding-left: 11px;
}

.policy {
	margin-top: 80px;
	padding: 0 0 100px;
}

.policy__item {
	padding-bottom: 25px;
}

.policy__item + .policy__item {
	margin-top: 25px;
}

.policy__title {
	font-size: 1.6rem;
}

.policy__text {
	margin-top: 15px;
}

.contact {
	margin-top: 80px;
	padding: 0 0 100px;
}

.contact-row {
	display: block;
	padding: 20px 0;
}

.contact-row:first-child {
	padding: 20px 0 10px;
}

.contact-row:nth-child(8) .contact-title {
	margin-top: 0;
}

.contact-row:last-child {
	padding: 20px 0 0;
	border-bottom: none;
}

.contact-title {
	font-size: 1.6rem;
}

.contact-title.sp-flex {
	display: flex;
	align-items: center;
}

.contact-text {
	margin: 10px 0 0 0;
}

input[type=text],
input[type=email] {
	height: 55px;
	padding-left: 12px;
}

textarea {
	height: 252px;
	padding: 12px;
}

input[type=radio] {
	flex: 0 0 16px;
	height: 16px;
}

.check-box {
	margin-top: 32px;
}

.check-box__text {
	font-size: 1.3rem;
}

.contact-check input {
	width: 16px;
	height: 16px;
}

.submit-caution {
	margin-top: 50px;
	line-height: 1.5;
}

.submit-button-link {
	width: 214px;
	font-size: 14px;
}

.contact-thanks .button {
	margin-top: 80px;
}

.contact-thanks__text {
	text-align: left;
}

.contact-thanks-link {
	margin-top: 50px;
	line-height: 1;
}

.hidden-sp {
	display: none;
}

.inner {
	width: min(100% - 48px, 1072px);
}

.inner2 {
	width: min(100% - 48px, 1240px);
}

.top-section__title .en {
	font-size: 7.2rem;
}

.button-link {
	font-size: 1.1rem;
}

.button-link .arrow {
	width: 40px;
	height: 40px;
	margin-left: 12px;
}

.button-link .arrow::after {
	left: 55%;
	width: 25px;
	height: 8px;
}

.view {
	transform: translate(0, 40px);
	transition: all 800ms;
}

.header {
	padding: 16px 10px;
}

.header.bg {
	padding: 16px 10px;
}

.header.bg .header__inner {
	padding: 12px 0 12px 14px;
}

.header__inner {
	justify-content: initial;
	padding: 12px 0 12px 14px;
}

.logo {
	width: 153px;
}

.header__nav {
	display: none;
}

.drawer__toggle {
	top: 36px;
	right: 24px;
}

.mainvisual {
	margin-top: 84px;
	padding-bottom: 34.333333vw;
}

.mainvisual::after {
	width: 100%;
	height: 286px;
	height: 76.2666666667vw;
}

.mainvisual__content {
	flex: 0 0 calc(100% - 16px);
	padding-left: 20px;
}

.mainvisual__wrap {
	display: block;
	padding-top: 185px;
	padding-top: 49.3333333333vw;
}

.mainvisual__en-title::before {
	left: -20px;
}

.mainvisual__en-title .en-title__wrap::before {
	top: 0;
	left: -20px;
	height: 112px;
	height: 29.8666666667vw;
}

.mainvisual__en-title .sub-title {
	top: -9.5vw;
	right: initial;
	left: 35.5vw;
	width: 210px;
	width: 56vw;
	height: 130px;
	height: 34.6666666667vw;
}

.mainvisual__img {
	top: -21.2vw;
	left: -6px;
	width: 88.933333vw;
	height: 87.866667vw;
}

.mv-geo-circle {
	width: 108px;
	width: 28.8vw;
	height: 108px;
	height: 28.8vw;
}

.en-title {
	margin-top: -3vw;
	font-size: 72px;
	font-size: 19.2vw;
}

.mainvisual__ja-title {
	margin-top: 30px;
	margin-top: 8vw;
	margin-left: 0;
	color: #fff;
	font-size: 14px;
	font-size: 3.7333333333vw;
}

.mainvisual__ja-title span {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.mainvisual__ja-title span::before {
	display: inline-block;
	position: static;
	width: 80px;
	width: 21.3333333333vw;
	margin-right: 16px;
	margin-right: 4.2666666667vw;
	transform: none;
	background-color: #fff;
}

.mainvisual-sidebar {
	position: absolute;
	top: 0;
	right: 24px;
	flex: initial;
	margin-top: 0;
}

.mainvisual-sidebar__text {
	font-size: 1.1rem;
}

.scroll {
	display: none;
}

.top-news {
	margin-top: 72px;
}

.top-news .top-section__title .en {
	font-size: 4.8rem;
}

.top-news .no-post {
	margin: 30px 0 0 0;
	text-align: center;
}

.top-news__wrap {
	display: block;
}

.news__items {
	margin: 24px 0 0 0;
	padding: 32px 0 21px 20px;
}

.news__item .info {
	display: block;
}

.news__item .info::after {
	width: 7px;
	height: 11px;
}

.news__item .info .info__meta {
	flex: initial;
}

.news__item .info .info__category {
	flex: initial;
}

.news__item .info__title {
	margin-left: 0;
	line-height: 1.6;
}

.top-sec::before {
	height: 174px;
}

.top-sec::after {
	top: 90px;
	height: 84px;
}

.top-mission {
	margin-top: 64px;
}

.top-mission .inner2 {
	padding-bottom: 52px;
}

.top-mission .inner2::after {
	left: 10%;
	width: 100%;
	height: 104px;
	height: 27.7333333333vw;
	margin-right: 0;
}

.top-mission .top-section__title .sub-title {
	right: -58px;
}

.top-mission__wrapper {
	padding-top: 93px;
}

.top-mission__wrapper::before {
	width: calc(100% - 24px);
}

.top-mission__wrapper::after {
	right: -90px;
	right: -24vw;
	bottom: 104px;
	bottom: 27.7333333333vw;
	width: 278px;
	width: 74.1333333333vw;
	height: 241px;
	height: 64.2666666667vw;
}

.top-mission__wrap {
	display: block;
}

.top-mission__text {
	padding: 30px 0 32px;
}

.top-mission__text .txt {
	color: #000;
}

.top-mission__img {
	width: 100vw;
	margin: 0;
}

.top-service {
	padding-top: 93px;
}

.top-service .top-section__title .sub-title {
	right: -7px;
	width: 125px;
}

.top-service__items {
	margin-top: 32px;
}

.top-service__items::before {
	top: -182px;
	top: -48.5333333333vw;
	left: -74px;
	left: -19.7333333333vw;
	width: 320px;
	width: 85.3333333333vw;
	height: 316px;
	height: 84.2666666667vw;
}

.top-service__item {
	display: block;
}

.top-service__item:nth-of-type(odd) .top-service__content {
	margin-right: 0;
}

.top-service__item:nth-of-type(odd) .top-service__img {
	width: 90.4vw;
	margin: 32px calc(50% - 50vw) 0 auto;
}

.top-service__item:nth-of-type(odd) .top-service__img .top-service__small-img {
	left: -36px;
	left: -9.6vw;
}

.top-service__item:nth-of-type(even) .top-service__content {
	margin-left: 0;
}

.top-service__item:nth-of-type(even) .top-service__img {
	width: 90.4vw;
	margin: 32px auto 0 calc(50% - 50vw);
}

.top-service__item:nth-of-type(even) .top-service__img .top-service__small-img {
	right: -36px;
	right: -9.6vw;
}

.top-service__item + .top-service__item {
	margin-top: 56px;
}

.top-service__item:nth-of-type(2) .top-service__en-title {
	right: initial;
	left: -24px;
}

.top-service__item .button {
	margin-top: 16px;
	margin-right: 0;
}

.top-service__title span.ja {
	font-size: 2.6rem;
}

.top-service__img {
	padding-bottom: 61px;
	padding-bottom: 16.2666666667vw;
}

.top-service__small-img {
	width: 120px;
	width: 32vw;
	height: 160px;
	height: 42.6666666667vw;
}

.top-service__en-title {
	bottom: 6.6vw;
	left: -24px;
	font-size: 110px;
	font-size: 29.3333333333vw;
}

.top-works {
	margin-top: 64px;
	padding: 92px 0 32px;
}

.top-works .top-section__title .sub-title {
	top: -58px;
	right: -55px;
	width: 120px;
}

.top-works__wrap {
	display: block;
}

.top-works__content {
	margin: 32px 0 0 0;
}

.top-company .top-section__title .sub-title {
	right: 27px;
}

.top-company__wrapper {
	padding: 94px 0 32px;
}

.top-company__wrapper::before {
	top: 207px;
	left: -21px;
	width: 400px;
	width: 106.6666666667vw;
	height: calc(100% - 207px);
	background: url(../img/top_company_sp.jpg) no-repeat center left/cover;
}

.top-company__wrap {
	display: block;
	margin-top: 65px;
}

.top-company__wrap > .button {
	margin: 24px 10px 0 0;
}

.top-company__content {
	position: relative;
	padding: 40px 0 33px 28px;
}

.top-company__content::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% + 24px);
	height: 100%;
	background-color: rgba(255, 255, 255, 0.6);
	content: "";
}

.top-company__content > .top-company__item {
	margin-top: 15px;
}

.top-company__content > .top-company__item .top-company__title {
	flex: 0 0 auto;
}

.top-company__items .top-company__item + .top-company__item {
	margin-top: 15px;
}

.top-company__items .top-company__title {
	flex: 0 0 auto;
}

.top-company__items .top-company__text {
	margin-left: 24px;
}

.top-company__item .item__wrap {
	flex: 0 0 calc(100% - 54px);
	margin-left: 24px;
}

.top-company__title {
	line-height: 1.3;
}

.top-company__text {
	line-height: 1.3;
}

.top-company-caption {
	margin-top: 10px;
	line-height: 1.5;
	letter-spacing: 0.03em;
}

.google-map {
	margin: 8px 8px 0 0;
}

.contact-part {
	padding: 72px 0 64px;
}

.contact-part .top-section__title .en {
	font-size: 4.8rem;
}

.contact-part__wrap {
	display: block;
}

.contact-part__content {
	display: block;
	z-index: 1;
	position: relative;
	margin-top: 13px;
	padding: 48px 0 32px 32px;
	background-color: initial;
}

.contact-part__content::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% + 24px);
	height: 100%;
	background-color: rgba(0, 0, 0, 0.6);
	content: "";
}

.contact-part__content .button {
	margin-top: 32px;
}

.contact-part__wrapper .text__wrap .contact-part__text + .contact-part__text {
	margin-top: 8px;
}

.contact-part__wrapper > .contact-part__text {
	margin-top: 25px;
}

.footer {
	padding: 46px 24px 25px;
}

.footer__left {
	width: 100%;
}

.footer-logo {
	width: 130px;
}

.footer-logo .ja {
	font-size: 1.87rem;
}

.footer-logo .en {
	margin-top: 1px;
}

.footer-info {
	margin-top: 16px;
	font-size: 1rem;
	line-height: 1.6;
}

.footer__wrap {
	margin-left: 0;
}

.footer__center {
	padding-top: 38px;
}

.footer__right {
	display: none;
}

.nav__wrap {
	display: block;
}

.footer__copy {
	margin-top: 35px;
}

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

}

@media (max-width: 650px) {

.company-profile .table td .txt {
	margin-right: 0;
}

}

@media (max-width: 449px) {

.block-w450 {
	display: block;
}

}

@media (max-width: 433px) {

.hidden-w433 {
	display: none;
}

}

@media (max-width: 400px) {

.block-w400 {
	display: block;
}

}

@media (max-width: 389px) {

.hidden-w390 {
	display: none;
}

.footer-logo .ja {
	font-size: 18.7px;
	font-size: 4.5609756098vw;
}

}

@media (max-width: 380px) {

.hidden-w380 {
	display: none;
}

}

@media (max-width: 375px) {

.block-w376 {
	display: block;
}

}

@media (max-width: 374px) {

.hidden-w375 {
	display: none;
}

}

@media (max-width: 359px) {

body:not(.home) .mainvisual-sidebar {
	width: 35px;
}

.breadcrumb {
	padding-right: 40px;
}

.page-404 h1 {
	font-size: 2.7rem;
}

.page-404 p {
	font-size: 1.3rem;
}

.company-profile {
	margin-top: 30px;
}

.service-flex__list {
	padding: 20px 4px 18px 5px;
}

.education-business .service-field__list {
	margin-right: 0;
}

.works-button-link {
	padding: 0 20px 0 10px;
}

.radio-content .contact-text label {
	margin-right: 0;
}

.submit-caution {
	font-size: 1.3rem;
}

.hidden-sm {
	display: none;
}

.top-news .no-post {
	font-size: 1.3rem;
}

}

@keyframes scroll {

0% {
	transform: scale(1, 0);
	transform-origin: 0 0;
}

50% {
	transform: scale(1, 1);
	transform-origin: 0 0;
}

51% {
	transform: scale(1, 1);
	transform-origin: 0 100%;
}

100% {
	transform: scale(1, 0);
	transform-origin: 0 100%;
}

}

