/* --------------------------------------------------------------------------------
misc
-------------------------------------------------------------------------------- */

br.small {
	display: inline;
}
br.large {
	display: none;
}
img.small {
	display: block;
}
img.large {
	display: none;
}
:where(span, i).no-small {
	display: none;
}



/* --------------------------------------------------------------------------------
page
-------------------------------------------------------------------------------- */

div#page {
	padding-top: 50px;
}
p.button-left {
	justify-content: center;
}

/* home
-------------------------------------------------------------------------------- */

body.home div#page {
	padding-top: 50px;
}



/* --------------------------------------------------------------------------------
header
-------------------------------------------------------------------------------- */

header#header *#logo {
	width: 100%;
	height: 50px;
	top: 0px;
	background-color: #ffffff;
}
body.admin-bar header#header *#logo {
	top: 0px;
}
header#header *#logo span {
	font-size: 1.25rem;
}
header#header :where(p#button-menu, div#menu) {
	position: fixed;
}
header#header p#button-menu {
	aspect-ratio: 1;
	width: 50px;
	right: 0px;
	top: 0px;
	z-index: 30;
	cursor: pointer;
}
header#header p#button-menu i {
	position: absolute;
	width: 24px;
	height: 0px;
	left: calc(50% - 12px);
	top: calc(50% - 1px);
	border-bottom: 2px solid #000000;
	transition: 0.375s all ease;
}
header#header p#button-menu i:nth-child(1) {
	transform: translateY(-8px);
}
header#header p#button-menu i:nth-child(2) {
	transform: translateY(8px);
}
header#header:has(div#menu.active) p#button-menu i:nth-child(-n+3) {
	width: 0px;
	left: 50%;
	opacity: 0;
	transform: translateY(0px);
}
header#header:has(div#menu.active) p#button-menu i:nth-child(4) {
	transform: rotate(45deg);
}
header#header:has(div#menu.active) p#button-menu i:nth-child(5) {
	transform: rotate(-45deg);
}
header#header div#menu {
	width: 100%;
	height: 100%;
	right: 0px;
	top: 0px;
	overflow: auto;
	z-index: 10;
	background-color: #e4ebeb;
	transform: translateX(100%);
	transition: 0.375s transform ease;
	-webkit-overflow-scrolling: touch;
}
header#header div#menu.active {
	transform: translateX(0%);
}
header#header div#menu::-webkit-scrollbar {
	display: none;
}
header#header div#menu div.inner-menu {
	padding: 110px 30px 40px 30px;
}
header#header nav#navi {
	display: block;
	position: static;
	width: auto;
	height: auto;
	left: auto;
	top: auto;
	padding-right: 0px;
	background-color: transparent;
}
body.admin-bar header#header nav#navi {
	top: auto;
}
header#header nav#navi ul {
	display: block;
}
header#header nav#navi ul li {
	font-size: 1.125rem;
}
header#header nav#navi ul li:not(:last-child) {
	border-bottom: 1px solid #ffffff;
	margin: 0px 0px 20px 0px;
	padding-bottom: 20px;
}
header#header nav#navi ul li:not(:last-child)::before {
	display: none;
}
header#header nav#navi ul li a {
	display: block;
	position: relative;
}
header#header nav#navi ul li span {
	display: block;
	margin-right: 10px;
	transform: translateY(-1px);
}
header#header nav#navi ul li i.arrow {
	display: flex;
	position: absolute;
	right: 0px;
	top: calc(50% - 10px);
	background-color: #ffffff;
}
header#header nav#navi ul li a:hover i.arrow,
header#header nav#navi ul li a:hover i.arrow::before {
	border-color: #e70012;
}

/* home
-------------------------------------------------------------------------------- */

body.home header#header :where(*#logo, nav#navi) {
	transform: translateY(0px);
}



/* --------------------------------------------------------------------------------
cover
-------------------------------------------------------------------------------- */

div#cover {
	height: auto;
	min-height: 0px;
}
body.admin-bar div#cover {
	height: calc(100svh - 32px);
}
div#cover p.image {
	height: 400px;
}
div#cover div.text {
	position: relative;
	width: auto;
	height: auto;
	left: auto;
	top: auto;
}
div#cover div.text div.inner-text {
	height: auto;
	padding: 40px 30px 0px 30px;
}
div#cover div.text h1 {
	font-size: 2.375rem;
	line-height: 2.625rem;
	margin-right: -30px;
}
div#cover div.text h2 {
	font-size: 1.875rem;
	line-height: 2.5rem;
}
div#cover div.text p.description {
	margin-bottom: 40px;
}
div#cover div.text div.navi-cover-wrapper {
	display: none;
}
div#cover div.text h3 {
	position: static;
	width: 100vw;
	left: auto;
	font-size: 4rem;
	line-height: 3rem;
	bottom: auto;
}



/* --------------------------------------------------------------------------------
title
-------------------------------------------------------------------------------- */

div#title.news div.text {
	padding: 40px 30px;
}
div#title.news div.text h1 {
	font-size: 4rem;
	line-height: 3rem;
}
div#title.school::before {
	top: 0px;
	height: 100%;
}
div#title.school div.image-text {
	padding: 0px 30px 40px 30px;
}
div#title.school div.image-text p.image {
	position: static;
	width: auto;
	height: 400px;
	right: auto;
	top: auto;
	margin: 0px -30px 40px -30px;
	border-radius: 0px;
}
div#title.school div.image-text div.text p.sub {
	margin-bottom: 20px;
}
div#title.school div.image-text div.text h1 {
	font-size: 2.75rem;
	line-height: 3.25rem;
	margin-right: -30px;
}
div#title.school div.image-text div.text h2 {
	font-size: 1.625rem;
	line-height: 2.625rem;
}
div#title.school div.image-text div.text h2 span {
	font-size: 2rem;
}
div#title.school div.image-text div.text p.point {
	width: calc(234px * 0.75);
	left: auto;
	right: -35px;
	top: -445px;
	bottom: auto;
	font-size: 0.875rem;
	line-height: 1.5rem;
}



/* --------------------------------------------------------------------------------
main
-------------------------------------------------------------------------------- */

main section div.inner-section {
	width: auto;
	padding: 80px 30px;
}
main section:last-child div.inner-section {
	padding-bottom: 120px;
}
main div.block:not(:last-child) {
	margin-bottom: 80px;
}
main header.common {
	margin-bottom: 60px;
}
main header.common h2 {
	font-size: 3.25rem;
	line-height: 3.25rem;
}
main div.button-wrapper {
	display: block;
}
main div.button-wrapper p.button-default:not(:last-child) {
	margin: 0px 0px 20px 0px;
}
main :where(div#pager, nav#navi-article) {
	margin-top: 60px;
}
main nav#navi-article {
	padding-top: 60px;
}

/* home
-------------------------------------------------------------------------------- */

main section#home-news div.inner-section {
	padding: 80px 30px 120px 30px;
}
main section#home-business::before {
	height: 40px;
	top: -40px;
}
main section#home-business div.inner-section {
	padding-top: 60px;
}
main section#home-business div.block header p.sub {
	font-size: 1.25rem;
	line-height: 1.25rem;
	margin-bottom: -10px;
	padding-right: 0px;
}
main section#home-business div.block header h2 {
	font-size: 1.625rem;
	line-height: 1.625rem;
	margin-left: -30px;
	margin-right: -30px;
	padding: 20px 30px;
	border-radius: 0px;
}
main section#home-business div.block div.image-text {
	display: block;
}
main section#home-business div.block div.image-text p.image {
	width: auto;
	height: 220px;
	margin-bottom: 20px;
}
main section#home-business div.block div.image-text div.text {
	width: auto;
}
main section#home-business div#school.block div.image-text {
	margin-right: 0px;
}
main section#home-business div#school.block div.course div.list {
	display: block;
	margin: 0px 0px 40px 0px;
}
main section#home-business div#school.block div.course div.list div.row {
	width: auto;
	margin-right: 0px;
}
main section#home-business div#school.block div.course div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#home-business div#school.block div.course div.list div.row p.description {
	min-height: 0px;
}
main section#home-business div#school.block div.image-text p.image {
	margin-left: -10px;
	margin-right: -30px;
	border-radius: 110px 0px 0px 110px;
}
main section#home-business div#inspection.block div.image-text {
	margin-left: 0px;
}
main section#home-business div#inspection.block div.image-text p.image {
	margin-left: -30px;
	margin-right: -10px;
	border-radius: 0px 110px 110px 0px;
}
main section#home-business div#inspection.block div.image {
	display: block;
	margin-right: 0px;
}
main section#home-business div#inspection.block div.image p.row {
	width: auto;
	margin-right: 0px;
}
main section#home-business div#inspection.block div.image p.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#home-business div#sales-maintenance.block div.column {
	display: block;
}
main section#home-business div#sales-maintenance.block div.column div.left {
	width: auto;
	margin-bottom: 40px;
}
main section#home-business div#sales-maintenance.block div.column div.right {
	width: auto;
}

/* news
-------------------------------------------------------------------------------- */

main div.list-news div.row a {
	display: block;
}
main div.list-news div.row p.image {
	width: auto;
	margin-bottom: 20px;
}
main div.list-news div.row div.text {
	width: auto;
}
main div.list-news-alternate {
	display: block;
	margin: 0px;
}
main div.list-news-alternate div.row {
	width: auto;
	margin: 0px;
}
main div.list-news-alternate div.row:not(:last-child) {
	margin-bottom: 40px;
}
main div.list-news-alternate div.row div.text p.body {
	height: auto;
}
main article.news header {
	margin-bottom: 60px;
}
main section#news div.inner-section {
	width: auto;
}

/* school
-------------------------------------------------------------------------------- */

main section#school div.inner-section {
	width: auto;
	padding-left: 0px;
	padding-right: 0px;
}
main section#school header:has(div.button-wrapper) {
	margin-bottom: 60px;
}
main section#school div.block div.inner-block {
	width: auto;
	padding: 0px 30px;
}
main section#school div#features.block header.common {
	margin-bottom: 35px;
	transform: translateY(-25px);
}
main section#school div#features.block div.summary {
	margin-bottom: 60px;
}
main section#school div#features.block div.summary div.list {
	display: block;
	margin-right: 0px;
}
main section#school div#features.block div.summary div.list div.row {
	width: auto;
	margin-right: 0px;
}
main section#school div#features.block div.summary div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#school div#features.block div.flow div.list {
	display: block;
}
main section#school div#features.block div.flow div.list div.row {
	width: auto;
}
main section#school div#features.block div.flow div.list div.row:not(:last-child) {
	margin-bottom: 80px;
}
main section#school div#features.block div.flow div.list div.row:not(:last-child)::before {
	width: 5px;
	height: 40px;
	left: calc(50% - 2.5px);
	right: auto;
	top: auto;
	bottom: -45px;
}
main section#school div#features.block div.flow div.list div.row:not(:last-child)::after {
	width: 20px;
	height: 25px;
	left: calc(50% - 10px);
	right: auto;
	top: auto;
	bottom: -75px;
	clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
main section#school div.block-course div.inner-block {
	padding-top: 40px;
}
main section#school div.block-course header {
	margin-bottom: 40px;
}
main section#school div.block-course header p.sub {
	font-size: 1.25rem;
	line-height: 1.25rem;
	margin-bottom: -10px;
	padding-right: 0px;
}
main section#school div.block-course header h2 {
	color: #ffffff;
	font-size: 1.625rem;
	line-height: 1.625rem;
	margin-left: -30px;
	margin-right: -30px;
	padding: 20px 30px;
	border-radius: 0px;
}
main section#school div.block-course div.image-text {
	display: block;
	margin-right: 0px;
}
main section#school div.block-course div.image-text p.image {
	width: auto;
	height: 250px;
	margin: 0px -30px 20px -10px;
	border-radius: 125px 0px 0px 125px;
	transform: translateY(0px);
}
main section#school div.block-course div.image-text div.text {
	width: auto;
}
main section#school div.block-course div.image-text div.text div.detail {
	padding-top: 40px;
}
main section#school div.block-course div.image-text div.text div.detail div.list:not(:last-child) {
	margin-bottom: 20px;
}
main section#school div.block-course div.flow div.list {
	display: block;
	margin-bottom: 80px;
}
main section#school div.block-course div.flow div.list div.row {
	margin-left: auto;
	margin-right: auto;
}
main section#school div.block-course div.flow div.list div.row:not(:last-child) {
	margin: 0px auto 80px auto;
}
main section#school div.block-course div.flow div.list div.row:not(:last-child)::before {
	left: calc(50% - 2.5px);
}
main section#school div.block-course div.flow div.list div.row:first-child {
	width: 240px;
}
main section#school div.block-course div.flow div.list div.row:first-child::before {
	width: 5px;
	height: 80px;
	right: auto;
	top: auto;
	bottom: -80px;
}
main section#school div.block-course div.flow div.list div.row:nth-child(2)::before {
	width: 5px;
	height: 35px;
	left: calc(50% - 2.5px);
	right: auto;
	top: auto;
	bottom: -45px;
}
main section#school div.block-course div.flow div.list div.row:nth-child(2)::after {
	width: 20px;
	height: 25px;
	left: calc(50% - 10px);
	right: auto;
	top: auto;
	bottom: -75px;
	clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
main section#school div.block-course div.flow div.e-learning {
	width: auto;
	margin-top: 0px;
	padding: 20px;
}
main section#school div.block-course div.flow div.e-learning p.illust {
	width: calc(225px * 0.75);
	top: -85px;
}
main section#school div.block-course div.flow div.e-learning h5 {
	font-size: 1.375rem;
	font-weight: 700;
	margin-bottom: 10px;
}
main section#school div.block-course div.price div.table-wrapper {
	max-width: 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
main section#school div.block-course div.price div.table-wrapper::-webkit-scrollbar {
	height: 15px;
}
main section#school div.block-course div.price div.table-wrapper::-webkit-scrollbar-track {
	background: linear-gradient(180deg, transparent 80%, #b3b3b3 80%, #b3b3b3 86.66%, transparent 86.66%, transparent 100%);
}
main section#school div.block-course div.price div.table-wrapper::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, transparent 66.66%, #b3b3b3 66.66%, #b3b3b3 100%);
}
main section#school div.block-course div.price table {
	width: 800px;
}



/* --------------------------------------------------------------------------------
footer
-------------------------------------------------------------------------------- */

footer#footer div.inner-footer {
	padding: 40px 30px;
	border-top-left-radius: 40px;
}
footer#footer div.information-misc {
	display: block;
	margin-bottom: 40px;
}
footer#footer div.information {
	display: block;
	margin-bottom: 40px;
}
footer#footer div.information p.logo {
	margin: 0px 0px 20px 0px;
}
footer#footer div.information p.logo a {
	justify-content: center;
}
footer#footer div.information p.logo span {
	font-size: 1.25rem;
	line-height: 1.25rem;
}
footer#footer div.misc {
	padding-top: 0px;
}
footer#footer div.misc nav#navi-footer ul {
	justify-content: space-between;
	max-width: 320px;
	margin: 0px auto;
}
footer#footer div.misc nav#navi-footer ul li {
	width: calc(50% - 10px);
}
footer#footer div.misc nav#navi-footer ul li:not(:last-child) {
	margin-right: 0px;
}
footer#footer div.misc nav#navi-footer ul li:not(:last-child)::before {
	display: none;
}
footer#footer div.misc nav#navi-footer ul li a {
	display: block;
	position: relative;
	padding-left: 20px;
}
footer#footer div.misc nav#navi-footer ul li span {
	display: block;
	transform: translateY(-1px);
}
footer#footer div.misc nav#navi-footer ul li i.arrow {
	display: flex;
	position: absolute;
	left: -5px;
	top: calc(50% - 10px);
	border: none;
}
footer#footer div.misc nav#navi-footer ul li i.arrow::before {
	border-color: #ffffff;
}
footer#footer div.misc p.button-corporate {
	justify-content: center;
}
footer#footer p.copyright {
	width: auto;
	text-align: center;
	margin-top: 0px;
}
