/* --------------------------------------------------------------------------------
essential
-------------------------------------------------------------------------------- */

h1 {
	font-size: 1.5rem;
	line-height: 2.25rem;
}
h2 {
	font-size: 1.375rem;
	line-height: 2.125rem;
}



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

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



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

div#page {
	padding-top: 60px;
}



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

header#header :where(*#logo, p#button-menu, p.button-contact) {
	height: 60px;
}
body.admin-bar header#header :where(*#logo, p#button-menu, p.button-contact) {
	top: 0px;
}
header#header *#logo {
	padding-left: 15px;
}
header#header *#logo img {
	width: calc(189px * 0.75);
}
header#header p#button-menu {
	width: 60px;
}
header#header p#button-menu i {
	width: 24px;
	left: calc(50% - 12px);
}
header#header p#button-menu i:nth-child(1) {
	transform: translateY(-9px);
}
header#header p#button-menu i:nth-child(2) {
	transform: translateY(9px);
}
header#header p:where(.button-logout, .button-flow, .button-students) {
	top: 20px;
	font-size: 0.75rem;
	line-height: 1rem;
}
header#header:has(p.button-logout) p:where(.button-flow, .button-students) {
	top: 7.5px;
}
body.admin-bar header#header p:where(.button-logout, .button-flow, .button-students) {
	top: 20px;
}
body.admin-bar header#header:has(p.button-logout) p:where(.button-flow, .button-students) {
	top: 7.5px;
}
header#header p:where(.button-logout, .button-flow, .button-students) a {
	width: 75px;
	height: 20px;
	border-radius: 10px;
}
header#header p.button-logout {
	right: 60px;
	top: 32.5px;
}
body.admin-bar header#header p.button-logout {
	top: 32.5px;
}
header#header p.button-flow {
	right: 140px;
}
header#header p.button-students {
	right: 60px;
}
@media (max-width:360px) {
header#header p:where(.button-logout, .button-flow, .button-students) a {
	width: 65px;
	font-size: 0.625rem;
}
header#header p.button-flow {
	right: 130px;
}
header#header p.button-students {
	right: 60px;
}
}
header#header p:where(.button-contact, .button-free-trial) {
	bottom: 0px;
	z-index: 10;
	transition: 0.25s transform ease;
	transform: translateY(60px);
}
div.scroll header#header p:where(.button-contact, .button-free-trial) {
	transform: translateY(0px);
}
header#header p.button-contact {
	width: 67.5vw;
	left: 0px;
	right: auto;
	top: auto;
}
body.admin-bar header#header p.button-contact {
	top: auto;
}
header#header p.button-contact::after {
	position: absolute;
	width: 0px;
	height: calc(100% - 20px);
	right: 0px;
	top: 10px;
	border-right: 1px solid #ffffff;
	content: "";
}
header#header p.button-contact a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 100%;
	color: #ffffff;
	padding-left: 0px;
	background: linear-gradient(135deg, #f5870a 0%, #f5870a 25%, #f69629 75%, #f69629 100%);
	transition: 0.25s background-color ease;
}
header#header p.button-contact i.icon {
	transform: translateY(0px);
}
header#header p.button-free-trial {
	width: 32.5vw;
	height: 60px;
	right: 0px;
	top: auto;
	font-family: YakuHanMP, "Noto Serif JP", serif;
	font-size: 1.375rem;
	font-weight: 500;
}
body.admin-bar header#header p.button-free-trial {
	top: auto;
}
header#header p.button-free-trial a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	height: 100%;
	color: #ffffff;
	background-color: #f69629;
	transition: 0.25s background-color ease;
}
header#header p.button-free-trial a:hover {
	background-color: #f5870a;
}
header#header p.button-free-trial img {
	display: none;
}
header#header p.button-free-trial span {
	display: block;
}
header#header div#menu {
	display: block;
	height: calc(100% - 60px);
	top: 60px;
	transform: translateX(100%);
	transition-duration: 0.25s;
}
body.admin-bar header#header div#menu {
	height: calc(100% - 60px);
	top: 60px;
}
div.menu-header header#header div#menu {
	transform: translateX(0%);
}
header#header div#menu div.inner-menu {
	padding: 40px 30px;
}
header#header div#menu div.list {
	justify-content: space-between;
	width: auto;
	margin-right: 0px;
}
header#header div#menu div.list div.row {
	width: 100%;
	margin: 0px;
}
header#header div#menu div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
header#header div#menu div.list div.row-class p.headline {
	height: 40px;
	font-size: 1.125rem;
	line-height: 1.875rem;
}
header#header div#menu div.list div.row-class p.headline span {
	font-size: 1.5rem;
	transform: translateY(-1px);
}
header#header div#menu div.list div:where(.row-class-02, .row-class-03) ul li a {
	height: 40px;
}
header#header div#menu div.list div.row-button ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
header#header div#menu div.list div.row-button ul li {
	width: calc(50% - 5px);
	font-size: 1.125rem;
}
header#header div#menu div.list div.row-button ul li:not(:last-child) {
	margin-bottom: 0px;
}
header#header div#menu div.list div.row-button ul li a {
	height: 50px;
	border-radius: 25px;
}
header#header div#menu div.list div.row-misc {
	width: calc(50% - 10px);
	padding: 0px;
}
header#header div#menu div.list div.row-misc p.headline {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
header#header div#menu div.list div.row-misc ul li {
	font-size: 1rem;
}
header#header div#menu div.list div.row-misc ul li a {
	margin-right: -20px;
}
header#header nav#navi-alternate {
	display: none;
}



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

div#cover {
	aspect-ratio: 390 / 520;
	width: 100vw;
	height: auto;
}
div#cover div.image,
div#cover div.image div.inner-image,
div#cover div.image p.row {
	position: relative;
	height: 100%;
}
div#cover div.image p.row {
	aspect-ratio: auto;
	width: 100vw;
}



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

div#title {
	height: 160px;
}
div#title:not(.class) {
	padding-top: 40px;
}
div#title:not(:has(.background)) {
	height: 100px;
}
body.class-01-02 div#title div.background::before {
	background-position: 80% center;
}
body.class-01-03 div#title div.background::before {
	background-position: 72.5% center;
}
body.class-02-01 div#title div.background::before {
	background-position: 75% center;
}
body.class-02-02 div#title div.background::before {
	background-position: 42.5% center;
}
body.class-03-01 div#title div.background::before {
	background-position: 65% center;
}
body.free-trial div#title div.background::before {
	background-position: 67.5% center;
}
div#title div.text {
	width: 100%;
}
div#title:not(.class) div.text h1 {
	font-size: 2rem;
	line-height: 2.5rem;
}
div#title div.text h1 span:not(:last-child) {
	margin-right: 10px;
}
div#title div.text h1 span.sub {
	font-size: 2.25rem;
	transform: translateY(2px);
}
div#title div.text h1 span.main {
	width: 100%;
	font-size: 3.25rem;
}
div#title.class div.text h1 {
	height: auto;
	line-height: 3.75rem;
	margin-bottom: 20px;
}
body.class-01-01 div#title div.text h1 span.icon {
	width: calc(145px * 0.625);
}
body.class-01-02 div#title div.text h1 span.icon {
	width: calc(125px * 0.625);
}
div#title.class div.text p.headline {
	width: 240px;
	height: 50px;
	font-size: 2rem;
	margin-bottom: 10px;
}
div#title.class div.text ul {
	display: block;
}
body:where(.class-02-02, .class-03-02) div#title.class div.text ul:not(:has(li:nth-child(2))) {
	padding-top: 60px;
}
div#title.class div.text ul li {
	font-size: 1rem;
}
div#title.class div.text ul li:not(:last-child) {
	margin: 0px 0px 10px 0px;
}
div#title.class div.text ul li a {
	height: 50px;
	margin: 0px auto;
}
body.class-01-03 div#title.class div.text ul li a {
	width: 340px;
}



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

main section div.background {
	height: calc(100% + 240px);
	bottom: 80px;
}
main section div.inner-section {
	width: auto;
	padding: 80px 20px;
}
main div.block:not(:last-child) {
	margin-bottom: 80px;
}
main div#banner-reason a {
	height: 280px;
}
main div:where(#banner-reason, #banner-reason-alternate, #banner-pass-record, #banner-qa) h3 {
	top: 20px;
	font-size: 3.25rem;
	line-height: 3.25rem;
}
main div:where(#banner-reason, #banner-reason-alternate) h3 {
	line-height: 2rem;
}
main div:where(#banner-reason, #banner-reason-alternate, #banner-qa) h3 span.sub {
	font-size: 2rem;
	transform: translateY(-5px);
}
main div:where(#banner-reason, #banner-reason-alternate, #banner-pass-record, #banner-qa) p.button-default {
	bottom: 20px;
}
main div#banner-reason p.button-default {
	top: 120px;
	bottom: auto;
}
main div#banner-reason p.button-default span {
	border: none;
}
main div#banner-reason p.image {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	left: 0px;
}
main div#banner-reason p.image img {
	max-width: 400px;
}
main div:where(#banner-reason-alternate, #banner-pass-record, #banner-qa) a {
	height: 220px;
}
main div#banner-reason-alternate h3 {
	width: auto;
	left: calc(50% - 50px);
	text-align: right;
}
main div#banner-reason-alternate h3 span:not(:first-child) {
	transform: translateY(-5px);
}
main div#banner-reason-alternate h3 span.main {
	transform: translateY(0px);
}
main div#banner-reason-alternate p.button-default {
	transform: translateX(55px);
}
main div#banner-reason-alternate p.image {
	left: calc(50% - 210px);
	width: calc(335px * 0.875);
}
main div#banner-pass-record h3 {
	top: 40px;
}
main div#banner-pass-record p.button-default {
	bottom: 40px;
}
main div#banner-pass-record p.illust {
	width: calc(255px * 0.625);
	right: calc(50% + 100px);
}
main div#banner-qa h3 span.sub {
	font-size: 2rem;
	margin-right: 10px;
}
main div#banner-qa h3 span.main {
	font-size: 2.75rem;
	transform: translateY(-10px);
}
main div#banner-qa h3 span.main i {
	font-size: 4rem;
}
main div#banner-qa p.icon-01 {
	right: calc(50% + 105px);
}
main div#banner-qa p.icon-02 {
	left: calc(50% + 105px);
}
main div#banner-misc div.list,
main div#banner-misc div.list div.row a {
	display: block;
}
main div#banner-misc div.list {
	margin: 0px calc(50% - 50vw);
}
main div#banner-misc div.list::before {
	display: none;
}
main div#banner-misc div.list div.row {
	width: auto;
}
main div#banner-misc div.list div.row a {
	position: relative;
}
main div#banner-misc div.list div.row div.text {
	position: absolute;
	width: 100%;
	left: 0px;
	bottom: 20px;
	z-index: 1;
}
main div#banner-misc div.list div.row div.text h3 {
	color: #ffffff;
	border: none;
	background-color: #170e85;
}
main div#banner-misc div.list div.row a:hover div.text h3 {
	color: #ffffff;
	background-color: #0068c5;
}
main div#banner-misc div.list div.row p.image {
	width: auto;
}
main div#banner-free-trial:not(:last-child) {
	margin-bottom: 60px;
}
main div#banner-free-trial a {
	display: block;
}
main div#banner-free-trial p:where(.headline, .image) {
	width: auto;
	height: 180px;
}
main div#banner-free-trial p.headline img {
	width: calc(284px * 0.75);
}
main :where(div#pager, nav#navi-article) {
	margin-top: 60px;
}

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

main section:where(#home-class, #home-news-event, #home-banner) div.inner-section {
	padding-bottom: 0px;
}
main section:where(#home-class, #home-banner) div.inner-section {
	width: auto;
}
main section#home-class div.inner-section {
	padding: 0px;
}
main section#home-class div.list {
	display: block;
	margin-right: 0px;
}
main section#home-class div.list div.row {
	width: auto;
	margin-right: 0px;
	border-radius: 0px;
}
main section#home-class div.list div.row p.image {
	display: none;
}
main section#home-class div.list div.row p.headline {
	height: 60px;
	font-size: 1.125rem;
	line-height: 1.875rem;
	padding-bottom: 0px;
}
main section#home-class div.list div.row p.headline span {
	font-size: 1.55rem;
	transform: translateY(-1px);
}
main section#home-class div.list div.row p.headline i {
	width: 30px;
	height: 30px;
	left: auto;
	right: 20px;
	top: clc(50% - 15px);
	bottom: auto;
	background-color: #ffffff;
	border-radius: 50%;
}
main section#home-class div.list div.row p.headline i::before {
	width: 10px;
	height: 10px;
	left: calc(50% - 5px);
	top: calc(50% - 5px);
	transition: 0.25s transform ease;
	transform: translateY(-2px) rotate(45deg);
}
main section#home-class div.list div.row.open p.headline i::before {
	transform: translateY(2px) rotate(-135deg);
}
main section#home-class div.list div.row-01 p.headline i::before {
	border-color: #54b2b3;
}
main section#home-class div.list div.row-02 p.headline i::before {
	border-color: #44b5ec;
}
main section#home-class div.list div.row-03 p.headline i::before {
	border-color: #6a79b7;
}
main section#home-class div.list div.row div.body {
	height: 0px;
}
main section#home-class div.list div.row div.body ul li a {
	padding: 10px 20px;
}
main section#home-class div.list div.row-01 div.body ul li a {
	height: auto;
}
main section#home-class div.list div:where(.row-02, .row-03) div.body ul li a {
	height: auto;
}
main section#home-news-event div.inner-section {
	padding: 60px 20px 0px 20px;
}
main section#home-news-event header h2 {
	text-align: center;
	font-size: 2rem;
	line-height: 2.5rem;
}
main section#home-news-event div.list-news-event {
	margin-bottom: 20px;
}
main section#home-news-event p.button-more {
	position: static;
	right: auto;
	top: auto;
}
main section#home-banner div.inner-section {
	padding-top: 60px;
}
main section#home-banner div:not(.slide) div.list-banner {
	display: none;
}
main section#home-banner div.slide {
	display: block;
	position: relative;
	margin: 0px calc(50% - 50vw);
}
main section#home-banner div.slide div.list-banner {
	display: block;
	overflow: hidden;
	margin: 0px 0px 20px 0px;
}
main section#home-banner div.slide div.list-banner div.inner-list-banner {
	display: flex;
	flex-wrap: wrap;
	width: 9999px;
}
main section#home-banner div.slide div.list-banner div.row {
	width: 320px;
	margin-bottom: 0px;
}
main section#home-banner div.slide div.navi p.button {
	pointer-events: auto;
}
main section#home-banner div.slide div.navi {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	z-index: 10;
	pointer-events: none;
}
main section#home-banner div.slide div.navi p.button {
	width: 10px;
	height: 10px;
	cursor: pointer;
	background-color: #d9d9d9;
	border-radius: 50%;
	transition: 0.25s background-color ease;
}
main section#home-banner div.slide div.navi p.button:not(:last-child) {
	margin-right: 10px;
}
main section#home-banner div.slide div.navi p.button:where(:hover, p.active) {
	background-color: #170e85;
}

/* class
-------------------------------------------------------------------------------- */

main section#summary div.inner-section {
	width: auto;
	padding-top: 60px;
}
main section#summary header {
	margin-bottom: 80px;
	padding: 0px;
}
main section#summary header h2 {
	font-size: 1.5rem;
	line-height: 2.5rem;
	margin-bottom: 10px;
}
main section#summary div.block {
	padding: 20px;
}
main section#summary div.block h3.headline {
	transform: translate(-20px, -40px);
	margin-bottom: -20px;
}
main section#summary div.block-content div.diagram-text {
	display: block;
}
main section#summary div.block-content div.diagram-text div.text {
	margin-bottom: 40px;
}
body.class-01-01 main section#summary div.block-content div.diagram-text div.text {
	width: auto;
}
body.class-01-03 main section#summary div.block-content div.diagram-text div.text {
	width: auto;
}
main section#summary div.block-content div.diagram-text div.text h4 {
	font-size: 1.375rem;
	line-height: 2.125rem;
	margin-right: 0px;
}
body.class-01-01 main section#summary div.block-content div.diagram-text div.text p.illust {
	width: calc(244px * 0.75);
}
body.class-01-03 main section#summary div.block-content div.diagram-text div.text p.illust {
	width: calc(196px * 0.75);
}
body:where(.class-01-01, .class-01-03) main section#summary div.block-content div.diagram-text p.diagram {
	margin: 0px auto;
}
main section#summary div.block-point h3.headline {
	margin-bottom: 0px;
}
main section#summary div.block-point div.list div.row:has(p:where(.illust, .image)) {
	display: block;
}
main section#summary div.block-point div.list div.row:has(p:where(.illust, .image)) div.text {
	margin-bottom: 20px;
}
body:where(.class-01-01, .class-01-02) main section#summary div.block-point div.list div.row:has(p.image) div.text {
	width: auto;
}
body:where(.class-02-02, .class-03-02) main section#summary div.block-point div.list div.row-01 div.text {
	width: auto;
}
body:where(.class-02-02, .class-03-02) main section#summary div.block-point div.list div:where(.row-02, .row-03) div.text {
	width: auto;
}
body:where(.class-02-02, .class-03-02) main section#summary div.block-point div.list div.row-04 div.text {
	width: auto;
}
main section#summary div.block-point div.list div.row div.text h4 {
	margin-right: -20px;
}
main section#summary div.block-point div.list div.row div.text h4 span.main {
	font-size: 1.375rem;
	line-height: 1.875rem;
}
main section#summary div.block-point div.list div.row div.text ul {
	display: block;
}
main section#summary div.block-point div.list div.row div.text ul li {
	width: auto;
}
body:where(.class-01-01, .class-01-02) main section#summary div.block-point div.list div.row p.image {
	width: auto;
}
body:where(.class-02-02, .class-03-02) main section#summary div.block-point div.list div.row-01 p.image {
	width: auto;
}
body:where(.class-02-02, .class-03-02) main section#summary div.block-point div.list div:where(.row-02, .row-03) p.image {
	margin: 0px auto
}
body:where(.class-02-02, .class-03-02) main section#summary div.block-point div.list div.row-04 p.illust {
	width: calc(425px * 0.625);
	margin: 0px auto;
}
main section#summary div.block-point p.goal {
	display: block;
}
main section#summary div.block-point p.goal span.main {
	font-size: 1.5rem;
	margin: 0px;
}
main section#summary div.block-flow div.list div.row div.illust-text {
	display: block;
}
main section#summary div.block-flow div.list div.row div.illust-text div.text {
	margin-bottom: 20px;
}
body.class-02-01 main section#summary div.block-flow div.list div.row div.text {
	width: auto;
}
body.class-03-01 main section#summary div.block-flow div.list div.row div.text {
	width: auto;
}
main section#summary div.block-flow div.list div.row p.illust {
	margin: 0px auto;
}
body.class-02-01 main section#summary div.block-flow div.list div.row p.illust {
	width: calc(330px * 0.75);
}
body.class-03-01 main section#summary div.block-flow div.list div.row p.illust {
	width: calc(360px * 0.75);
}
main section#summary div.block-individual div.diagram-text {
	display: block;
}
main section#summary div.block-individual div.diagram-text div.text {
	width: auto;
}
main section#summary div.block-individual div.diagram-text div.text h4 {
	text-align: center;
	font-size: 1.375rem;
	line-height: 2.125rem;
}
main section#summary div.block-individual div.diagram-text div.text p.balloon {
	position: relative;
	font-weight: 500;
	line-height: 1.625rem;
	margin-bottom: 10px;
	padding: 20px;
	border-radius: 10px;
}
main section#summary div.block-individual div.diagram-text div.text p.illust {
	width: calc(190px * 0.875);
}
main section#summary div.block-individual div.diagram-text p.diagram {
	max-width: 480px;
	margin: 0px auto 20px auto;
}
main section#summary div.block-individual div.list div.row {
	display: block;
}
main section#summary div.block-individual div.list div.row p.illust {
	width: calc(155px * 0.75);
	margin: 0px auto 10px auto;
}
main section#summary div.block-individual div.list div.row div.text {
	width: auto;
}
main section#summary div.block-individual div.list div.row div.text h4 {
	display: block;
	text-align: center;
}
main section#summary div.block-individual div.list div.row div.text h4 span.sub {
	margin: 0px auto 10px auto;
}
main section#summary div.block-individual div.list div.row div.text h4 span.main {
	width: auto;
	font-size: 1.375rem;
}
main section#summary div.block-flow-alternate div.list div.row h4 span.main {
	font-size: 1.375rem;
}
main section.grade header {
	height: auto;
	padding: 0px 0px 20px 0px;
}
main section.grade header::before {
	width: 100%;
}
main section.grade header p.image {
	display: none;
}
main section.grade header div.text {
	width: calc(100% - 60px);
	padding-top: 20px;
}
main section.grade header div.text div:where(.headline-subject, .grade-description) {
	display: block;
}
main section.grade header div.text div.headline-subject {
	min-height: 0px;
	margin: 0px 0px 20px 0px;
}
main section.grade header div.text div.headline-subject h2 {
	text-align: center;
	font-size: 2.75rem;
	line-height: 3.5rem;
}
main section.grade header div.text div.headline-subject h2:not(:last-child) {
	margin: 0px 0px 10px 0px;
}
main section.grade header div.text div.headline-subject div.subject ul {
	justify-content: center;
	margin: 0px calc(50% - 50vw);
}
main section.grade header div.text div.headline-subject div.subject ul li {
	width: 65px;
	height: 65px;
	font-size: 1.125rem;
}
main section.grade header div.text div.headline-subject div.subject ul li:not(:last-child) {
	margin-right: 5px;
}
main section.grade header div.text div.grade-description p.grade {
	width: 200px;
	height: 50px;
	font-size: 1.375rem;
	margin: 0px auto 10px auto;
	border-radius: 25px;
}
main section.grade header div.text div.grade-description p.grade span {
	display: inline-block;
	font-size: 2rem;
}
main section.grade header div.text div.grade-description p.description {
	text-align: center;
	font-size: 1.5rem;
	line-height: 2.5rem;
	margin: 0px calc(50% - 50vw);
}
main section.grade div.block-summary div:where(.subject, .timetable) {
	margin-bottom: 60px;
}
main section.grade div.block-summary div.subject ul {
	margin: 0px -5px 20px 0px;
}
main section.grade div.block-summary div.subject ul li {
	color: #ffffff;
	margin: 0px 5px 10px 0px;
}
main section.grade div.block-summary div:where(.subject-01, .subject-02, .subject-03) ul li {
	font-size: 1.25rem;
}
main section.grade div.block-summary div.subject-01 ul li {
	width: calc(25% - 5px);
}
main section.grade div.block-summary div.subject-02 ul li {
	width: calc(25% - 5px);
}
main section.grade div.block-summary div.subject-03 ul li {
	width: calc(25% - 5px);
}
main section.grade div.block-summary div.subject div.time {
	display: block;
}
main section.grade div.block-summary div.subject div.time h4 {
	display: flex;
	justify-content: center;
	border-left: none;
	border-right: none;
	margin-right: 0px;
	padding: 0px;
	margin-bottom: 20px;
}
main section.grade div.block-summary div.subject div.time h4 span.main {
	font-size: 2rem;
}
main section.grade div.block-summary div:where(.timetable, .price) div.list div.row {
	display: block;
}
main section.grade div.block-summary div:where(.timetable, .price) div.list div.row p.label {
	width: auto;
	height: 40px;
	font-size: 1rem;
	padding: 0px;
}
main section.grade div.block-summary div:where(.timetable, .price) div.list div.row div.body-wrapper {
	width: auto;
}
main section.grade div.block-summary div:where(.timetable, .price) div.list div.row p.body {
	font-size: 1rem;
	line-height: 1.375rem;
	padding: 20px 10px;
}
main section.grade div.block-summary div:where(.timetable, .price) div.list div.row p.body:first-child {
	border-top: none;
}
main section.grade div.block-summary div.timetable div.list div.row p.body span:where(.class, .day-height-double, .day-blank) {
	width: calc(100% - 185px);
}
main section.grade div.block-summary div.timetable div.list div.row p.body span.day-height-double {
	padding-left: 10px;
	transform: translate(-10px, calc(50% + 20px));
}
main section.grade div.block-summary div.timetable div.list div.row p.body span:where(.day, .prefix) {
	width: 60px;
}
main section.grade div.block-summary div.timetable div.list div.row p.body span.time {
	width: 125px;
	font-size: 1.125rem;
}
main section.grade div.block-summary div.price div.list div.row p.label {
	width: auto;
	border-radius: 20px;
}
main section.grade div.block-summary div.price div.list div.row div.body-wrapper {
	width: auto;
}
main section.grade div.block-summary div.price div.list div.row-alternate div.body-wrapper  {
	padding-left: 20px;
}
main section.grade div.block-summary div.price div.list div.row-alternate p.body:first-child {
	border-top: 1px solid #ffffff80;
}
main section.grade div.block-summary div.price div.list div.row p.body span:where(.grade, .subject, .time) {
	width: calc(100% - 180px);
}
main section.grade div.block-summary div.price div.list div.row p.body span:where(.plus, .prefix) {
	width: 80px;
}
main section.grade div.block-summary div.price div.list div.row p.body span.plus {
	transform: translateX(10px);
}
main section.grade div.block-summary div.price div.list div.row p.body span.number {
	width: 100px;
	font-size: 1.5rem;
}
main section.grade div.block-summary div.price div.list div.row p.body span.number i {
	font-size: 1rem;
}
main section.grade div.block-schedule div.list div.row {
	padding: 20px;
}
main section.grade div.block-schedule div.list div.row div.header {
	display: block;
}
main section.grade div.block-schedule div.list div.row div.header :where(h4, p.time) {
	width: auto;
}
main section.grade div.block-schedule div.list div.row div.header h4 {
	font-size: 1.375rem;
}
main section.grade div.block-schedule div.list div.row div.header p.time {
	text-align: left;
}
main section.grade div.block-schedule div.list div.row div.header p.time span {
	font-size: 1.375rem;
}
main section.grade div.block-schedule div.list div.row div.diagram-text {
	display: block;
}
main section.grade div.block-schedule div.list div.row div.diagram-text p.diagram {
	margin-bottom: 20px;
}
main section.grade div.block-schedule div.list div.row div.diagram-text div.text {
	width: auto;
}
main section.grade div.block-schedule div.list div.row div.diagram-text div.text p.label {
	border-radius: 10px;
}
main section.grade div.block-schedule div.list div.row div.diagram-text div.text p.price {
	font-size: 2rem;
}
main section.grade div.block-schedule div.list div.row div.diagram-text div.text p.price i {
	font-size: 1.375rem;
}
main section.grade div:where(.block-content, .block-textbook, .block-point) div.list {
	padding: 40px 20px 20px 20px;
}
main section.grade div.block-content div.list div.row {
	display: block;
}
main section.grade div.block-content div.list div.row p.subject {
	width: auto;
	height: 40px;
	margin-bottom: 10px;
	padding: 0px;
}
main section.grade div.block-content div.list div.row div.body {
	width: auto;
}
main section.grade div.block-content div.list div.row div.body :where(h4, p.description, ul):not(:last-child) {
	margin-bottom: 10px;
}
main section.grade div.block-textbook div.list div.row h4 {
	font-size: 1.375rem;
}
main section.grade div.block-textbook div.list div.row div.image-text {
	display: block;
}
main section.grade div.block-textbook div.list div.row div.image-text p.image {
	width: auto;
	margin-bottom: 20px;
}
main section.grade div.block-textbook div.list div.row div.image-text div.text {
	width: auto;
}
main section.grade div.block-class h4 {
	font-size: 1.375rem;
}
main section.grade div.block-class table thead th {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section.grade div.block-class table tbody :where(th, td) {
	font-size: 0.875rem;
	line-height: 1.5rem;
	color: #170e85;
	padding: 10px 0px;
}
main section.grade div.block-class table.class-01 tbody td span {
	font-size: 1.375rem;
}
main section.grade div.block-class table.class-02 thead th:nth-child(1) {
	width: 60px;
}
main section.grade div.block-class table.class-02 tbody th span {
	writing-mode: vertical-rl;
	white-space: pre;
}
main section.grade div.block-class table.class-02 tbody td {
	padding-left: 10px;
	padding-right: 10px;
}
main section.grade div.block-class table.class-02 tbody td ul li {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section.grade div.block-class table.class-02 tbody td ul li:not(:last-child) {
	margin-bottom: 10px;
	padding-bottom: 10px;
}
main section.grade div.block-class table.class-02 tbody td ul li span.label {
	width: 50px;
	height: 25px;
}
main section.grade div.block-class table.class-02 tbody td ul li span.main {
	width: calc(100% - 60px);
}
main section.grade div.block-class table.class-02 tbody td ul li span.main i:where(.emphasis-01, .emphasis-02) {
	font-size: 1rem;
}
main section.grade div.block-class table.class-02 tbody td ul li span.main i:where(.emphasis-01, .emphasis-02):not(:first-child) {
	margin-left: 5px;
}
main section.grade div.block-class table.class-02 tbody td ul li span.main i:where(.emphasis-01, .emphasis-02):not(:last-child) {
	margin-right: 5px;
}
main section.grade div.block-pattern div.pattern div.segment div.headline h4 span.main {
	font-size: 1.5rem;
}
main section.grade div.block-point div.list div.row:has(p.image) {
	display: block;
}
main section.grade div.block-point div.list div.row:has(p.image) div.text {
	width: auto;
	margin-bottom: 20px;
}
body.class-02-01 main section.grade div.block-point div.list div.row-01 div.text {
	width: auto;
}
body.class-02-01 main section.grade div.block-point div.list div.row-02 div.text {
	width: auto;
}
body.class-02-01 main section.grade div.block-point div.list div.row-03 div.text {
	width: auto;
}
body.class-03-01 main section.grade div.block-point div.list div.row-01 div.text {
	width: auto;
}
body.class-03-01 main section.grade div.block-point div.list div.row-02 div.text {
	width: auto;
}
main section.grade div.block-point div.list div.row p.image {
	width: auto;
}
body.class-02-01 main section.grade div.block-point div.list div.row-01 p.image {
	width: auto;
}
body.class-02-01 main section.grade div.block-point div.list div.row-02 p.image {
	width: auto;
}
body.class-02-01 main section.grade div.block-point div.list div.row-03 p.image {
	width: auto;
}
body.class-03-01 main section.grade div.block-point div.list div.row-01 p.image {
	width: auto;
}
body.class-03-01 main section.grade div.block-point div.list div.row-02 p.image {
	width: auto;
}
main section.grade div.block-flow div.flow-wrapper {
	max-width: 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
main section.grade div.block-flow div.flow-wrapper::-webkit-scrollbar {
	height: 15px;
}
main section.grade div.block-flow div.flow-wrapper::-webkit-scrollbar-track {
	background: linear-gradient(180deg, transparent 80%, #d9d9d9 80%, #d9d9d9 86.66%, transparent 86.66%, transparent 100%);
}
main section.grade div.block-flow div.flow-wrapper::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, transparent 66.66%, #999999 66.66%, #999999 100%);
}
@media (max-width:580px) {
main section.grade div.block-flow div.flow-wrapper div.flow {
	width: 540px;
}
}
main section.grade div.block-flow div.flow div.segment {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
main section.grade div.block-flow div.flow div.segment:not(.segment-last) {
	margin-bottom: 2px;
}
main section.grade div.block-flow div.flow div.segment p.month {
	width: 40px;
	font-size: 1rem;
	line-height: 1.25rem;
}
main section.grade div.block-flow div.flow div.segment p.month span i {
	width: 100%;
	display: block;
	font-size: 1.375rem;
}
main section.grade div.block-flow div.flow div.segment div.list {
	width: calc(100% - 42px);
}
main section.grade div.block-flow div.flow div.segment div.list div.row p.event {
	font-size: 1rem;
	line-height: 1.375rem;
}
main section.grade div.block-flow div.flow:has(div.period) div.segment div.list div.row p.event-05 {
	width: calc(100% - 180px);
}
main section.grade div.block-flow div.flow:has(div.period) div.segment div.list div.row p.event.width-half {
	width: calc(50% - 90px);
}
main section.grade div.block-flow div.flow:has(div.period) div.segment div.list div.row p.event.width-half:nth-child(2) {
	left: calc(50% - 90px);
}
main section.grade div.block-flow div.flow div.segment div.list div.row p.event span.grade {
	font-size: 0.75rem;
}
main section.grade div.block-flow div.flow div.period {
	width: 140px;
}
main section.grade div.block-flow div.flow div.period div.list div.row h4 {
	width: 120px;
	font-size: 1rem;
	line-height: 1.375rem;
}
main section.grade div.block-flow div.flow div.period div.list div.row p.main {
	font-size: 1rem;
	line-height: 1.375rem;
}
main section.grade div.block-writing div.writing {
	padding: 20px;
}
main section.grade div.block-writing div.writing p.headline {
	transform: translateY(-40px);
}
main section.grade div.block-writing div.writing h3 {
	display: block;
}
main section.grade div.block-writing div.writing h3 span.sub {
	margin: 0px 0px 5px 0px;
}
main section.grade div.block-writing div.writing h3 span.main {
	font-size: 2rem;
	line-height: 2.5rem;
}
main section.grade div.block-writing div.writing div.image-text {
	display: block;
}
main section.grade div.block-writing div.writing div.image-text div.text {
	width: auto;
	margin-bottom: 20px;
}
main section.grade div.block-writing div.writing div.image-text :where(div.image, p.image) {
	width: auto;
}
main section.grade div.block-voice div.list div.row {
	display: block;
}
main section.grade div.block-voice div.list div.row div.balloon {
	width: auto;
	margin-bottom: 30px;
	padding: 20px;
}
main section.grade div.block-voice div.list div.row:first-child div.balloon {
	padding-top: 40px;
}
main section.grade div.block-voice div.list div.row div.balloon::before {
	bottom: -29px;
}
main section.grade div.block-voice div.list div.row:nth-child(2n+1) div.balloon::before {
	left: calc(50% + 30px);
	right: auto;
}
main section.grade div.block-voice div.list div.row:nth-child(2n) div.balloon::before {
	left: calc(50% + 30px);
	transform: scaleX(1);
}
main section.grade div.block-voice div.list div.row div.balloon h4 {
	font-size: 1.375rem;
	line-height: 2.125rem;
}
main section.grade div.block-voice div.list div.row div.student {
	margin: 0px auto;
	padding-bottom: 0px;
}

/* message
-------------------------------------------------------------------------------- */

main section#message div.inner-section {
	padding-top: 40px;
}
main section#message header {
	height: 420px;
	min-height: 0px;
	margin-bottom: 80px;
}
body.admin-bar main section#message header {
	height: 420px;
}
main section#message header h2 {
	font-size: 2.25rem;
	font-weight: 500;
	line-height: 3.5rem;
}
main section#message header p.image-main {
	width: calc(100% + 60px);
	left: -30px;
}
main section#message header p.image-main img {
	max-width: 720px;
}
main section#message p.name span.sub {
	font-size: 1rem;
}
main section#message p.name span.main {
	font-size: 1.375rem;
}
main section#message div.description {
	margin-bottom: 80px;
}
main section#message div.description p.row {
	line-height: 2.25rem;
}
main section#message div.description p.row:not(:last-child) {
	margin-bottom: 2.25rem;
}

/* reason
-------------------------------------------------------------------------------- */

main section#reason div.block:not(:last-child) div.inner-block {
	padding-bottom: 80px;
}
main section#reason div.block div.header {
	margin: 0px calc(50% - 50vw) 40px calc(50% - 50vw);
}
main section#reason div.block div.header p.image {
	aspect-ratio: 1.5;
}
main section#reason div.block div.header p.image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
main section#reason div.block div.header p.number {
	font-size: 4.5rem;
	line-height: 4.5rem;
	margin: -112px 0px 10px 0px;
}
main section#reason div.block div.header h2 {
	font-size: 1.75rem;
	margin: 0px calc(50% - 50vw);
}
@media (max-width:360px) {
main section#reason div.block div.header h2 {
	font-size: 1.5rem;
}
}
main section#reason div.block div.header h2 span i {
	height: 60px;
	padding: 0px 30px;
	border-radius: 30px;
}
main section#reason div.block div.list div.row {
	display: block;
}
main section#reason div.block div.list div.row div.text {
	width: auto;
}
main section#reason div.block div.list div.row div.text:not(:last-child) {
	margin-bottom: 20px;
}
main section#reason div.block-02 div.list div.row div.text {
	width: auto;
}
main section#reason div.block-03 div.list div.row div.text {
	width: auto;
}
main section#reason div.block div.list div.row p.image {
	width: auto;
}
main section#reason div.block-02 div.list div.row p.image {
	width: auto;
}
main section#reason div.block-03 div.list div.row p.image {
	width: auto;
}
main section#reason div.block-04 div.list div.row:nth-child(2) p.image,
main section#reason div.block-06 div.list div.row p.image {
	width: 280px;
	margin: 0px auto;
}
main section#reason div.block div.lecturer {
	margin: 0px 0px;
	padding: 0px 30px 40px 30px;
}
main section#reason div.block div.lecturer p.image {
	margin-bottom: 20px;
}
main section#reason div#banner-pass-record {
	margin-bottom: 80px;
}

/* qa
-------------------------------------------------------------------------------- */

main section#qa div.inner-section {
	padding-bottom: 160px;
}
main section#qa div.block h2 {
	font-size: 1.5rem;
	line-height: 2.5rem;
}
main section#qa div.block div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#qa div.block div.list div.row h3 {
	justify-content: flex-start;
	min-height: 100px;
	text-align: left;
	padding: 20px 40px 20px 60px;
}
main section#qa div.block div.list div.row h3 span.icon {
	width: 60px;
	height: 60px;
	left: 0px;
}

/* gallery
-------------------------------------------------------------------------------- */

main section#gallery div.block div.header {
	margin-bottom: 40px;
}
main section#gallery div.block div.header div.image-wrapper {
	height: auto;
	margin: 0px calc(50% - 50vw);
	padding: 40px 0px;
}
main section#gallery div.block div.header p.image {
	width: 100%;
}
main section#gallery div.block div.header h2 {
	font-size: 2rem;
}
main section#gallery div.block div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}
main section#gallery div.block div.list div.row div.image {
	display: block;
	margin: 0px 0px 20px 0px;
}
main section#gallery div.block div.list div.row div.image p.row {
	width: auto;
	margin: 0px;
}
main section#gallery div.block div.list div.row div.image p.row:not(:last-child) {
	margin-bottom: 20px;
}

/* cm
-------------------------------------------------------------------------------- */

main section#cm header {
	margin-bottom: 60px;
}
main section#cm header p.image {
	margin: 0px calc(50% - 50vw) 60px calc(50% - 50vw);
}
main section#cm div.image-text {
	display: block;
	margin-bottom: 80px;
}
main section#cm div.image-text div.text {
	margin-bottom: 20px;
}
main section#cm div.image-text div.text {
	width: auto;
}
main section#cm div.image-text p.image {
	width: auto;
}
main section#cm h2 {
	font-size: 1.5rem;
	line-height: 2.5rem;
}
main section#cm div.list {
	display: block;
	margin: 0px;
}
main section#cm div.list div.row {
	width: auto;
	margin: 0px;
}
main section#cm div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}

/* pass-record
-------------------------------------------------------------------------------- */

main section#pass-record div.inner-section {
	padding-bottom: 160px;
}
main section#pass-record div.block p.year {
	font-size: 2rem;
}
main section#pass-record div.block h2 {
	margin: 0px calc(50% - 50vw) 40px calc(50% - 50vw);
}
main section#pass-record div.block h2 span.main {
	font-size: 2.75rem;
	line-height: 4rem;
	margin-right: 10px;
}
main section#pass-record div.block h2 span.sub {
	height: 50px;
	font-size: 2rem;
	padding: 0px 10px 2px 10px;
}
main section#pass-record div.block div.list-school-large {
	margin: 0px calc(50% - 50vw) 40px calc(50% - 50vw);
}
main section#pass-record div.block div.list-school-large div.row {
	width: calc(50% - 10px);
	max-width: 185px;
	margin: 0px 5px 10px 5px;
}
main section#pass-record div.block div.list-school-large div.row p.name {
	height: 3rem;
	font-size: 1.25rem;
	line-height: 1.5rem;
}
main section#pass-record div.block div.list-school-large div.row p.number span.main {
	font-size: 2.75rem;
}
main section#pass-record div.block div.list-school-large div.row p.number span.sub {
	font-size: 1.375rem;
	transform: translateY(10px);
}
main section#pass-record div.block div.list-school {
	display: block;
	margin: 0px;
}
main section#pass-record div.block div.list-school:not(:last-child) {
	margin-bottom: 40px;
}
main section#pass-record div.block div.list-school div.row {
	width: auto;
	margin-right: 0px;
}
main section#pass-record div.block div.list-school div.row:where(:nth-child(2), :nth-child(3)) {
	border-top: none;
}
main section#pass-record div.block div.list-voice div.row {
	display: block;
	padding: 20px;
}
main section#pass-record div.block div.list-voice div.row p.badge {
	left: 22.5px;
}
main section#pass-record div.block div.list-voice div.row p.badge img {
	width: 100%;
}
main section#pass-record div.block div.list-voice div.row div.student {
	margin: -10px 0px 20px auto;
	padding-top: 0px;
}
main section#pass-record div.block div.list-voice div.row div.body {
	width: auto;
}
main section#pass-record div.block div.list-voice div.row div.body h3 {
	font-size: 1.375rem;
	line-height: 2.125rem;
}

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

main div.list-category {
	margin-bottom: 60px;
}
main div.list-news-event div.row a {
	padding: 25px 10px;
}
main article.news_event:not(:last-child) {
	margin-bottom: 60px;
}
main article.news_event header {
	border-bottom: 1px solid #d9d9d9;
}

/* access
-------------------------------------------------------------------------------- */

main section#access div.block-access {
	margin-bottom: 0px;
}
main section#access div.block-access div.information-transportation {
	display: block;
}
main section#access div.block-access div.information-transportation div.information {
	text-align: center;
	margin-bottom: 40px;
}
main section#access div.block-access div.information-transportation div.information p.logo {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
main section#access div.block-access div.information-transportation div.information p.logo img {
	width: calc(189px * 1.375);
}
main section#access div.block-access div.information-transportation div.information p.tel {
	display: block;
}
main section#access div.block-access div.information-transportation div.information p.tel span:not(:last-child) {
	margin-right: 0px;
}
main section#access div.block-access div.information-transportation div.transportation {
	width: auto;
}
main section#access div.block-access div.information-transportation div.transportation div.list div.row h3 i.icon {
	display: inline-block;
	font-size: 1.625rem;
	font-weight: 400;
	margin-right: 10px;
	transform: translateY(4px);
}
main section#access div.block-access div.map {
	margin: 0px calc(50% - 50vw);
}
main section#access div.block-access div.map iframe {
	height: 400px;
}
main section#access div.block-parking h2 {
	font-size: 1.375rem;
}
main section#access div.block-parking div.notice {
	padding: 20px;
}
main section#access div.block-parking div.notice h3 {
	font-size: 1.375rem;
}

/* flow
-------------------------------------------------------------------------------- */

main section#flow div.block-summary {
	padding-right: 80px;
}
main section#flow div.block-summary p.illust {
	width: calc(80px * 0.875);
}
main section#flow div.block-flow div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}
main section#flow div.block-flow div.list div.row h3 {
	font-size: 1.5rem;
	line-height: 2rem;
	margin-bottom: 20px;
	padding: 10px;
}
main section#flow div.block-flow div.list div.row div.icon-text {
	display: block;
}
main section#flow div.block-flow div.list div.row div.icon-text p.icon {
	aspect-ratio: 1;
	margin: 0px auto 20px auto;
}
main section#flow div.block-flow div.list div.row div.icon-text div.text {
	width: auto;
}
main section#flow div.block-flow div.list div.row div.icon-text div.text ul {
	display: block;
	margin: 0px;
}
main section#flow div.block-flow div.list div.row div.icon-text div.text ul li {
	width: auto;
	margin: 0px;
}
main section#flow div.block-flow div.list div.row div.icon-text div.text ul li:not(:last-child) {
	margin-bottom: 10px;
}
main section#flow div.block-flow div.list div.row div.icon-text div.text div.contact {
	display: block;
	text-align: center;
}
main section#flow div.block-flow div.list div.row div.icon-text div.text div.contact p.label {
	margin-right: 0px;
}
main section#flow div.block-flow div.list div.row div.button-wrapper {
	display: block;
}
main section#flow div.block-flow div.list div.row div.button-wrapper p.button-default:not(:last-child) {
	margin: 0px 0px 20px 0px;
}

/* students
-------------------------------------------------------------------------------- */

main div.list-document div.row a {
	padding: 25px 75px 25px 10px;
}
main div.list-document div.row p.created {
	font-family: "Montserrat", sans-serif;
	margin-bottom: 5px;
}
main div.list-document div.row i.icon {
	width: 60px;
}
main section#students div.block div.header h2 {
	font-size: 1.5rem;
	line-height: 2.5rem;
}
main section#students div.block div.header p.note {
	text-align: justify;
}
main section#students div.block-calendar div.calendar {
	margin: 0px;
}
main section#students div.block-calendar div.calendar iframe {
	min-height: 480px;
}
main section#students div.block-document div.inner-block {
	padding: 80px 0px;
}

/* form
-------------------------------------------------------------------------------- */

main section.form header h2 {
	font-size: 1.5rem;
	line-height: 2.5rem;
}
main section.form div.header {
	margin-bottom: 60px;
}
main section.form div.form div.component-wrapper {
	margin-bottom: 60px;
}
main section.form div.form div.component {
	display: block;
	padding: 30px 0px;
}
main section.form div.form div.component p.label {
	width: auto;
	height: auto;
	margin-bottom: 10px;
}
main section.form div.form div.component p.label span.require {
	position: static;
	right: auto;
	top: auto;
	margin-left: 10px;
}
main section.form div.form div.component div.body {
	width: auto;
}
main section.form div.form div.component-school div.body p.note {
	text-align: left;
}
main section.form div.form div.component-postal-code div.body div.row {
	width: 80px;
}
main section.form div.form div.component-postal-code div.body p#button-auto {
	width: 100px;
	height: 50px;
}
main section.form div.form div.component-tel div.body div.row {
	width: 80px;
}
main section.form div.form div.component-school div.body div.row:nth-child(1) {
	width: calc(100% - 140px);
	margin-bottom: 20px;
}
main section.form div.mw_wp_form_preview div.form div.component-school div.body div.row:nth-child(1) {
	margin-bottom: 0px;
}
main section.form div.form div.component-school div.body div.row:nth-child(2) {
	margin-right: 0px;
}
main section.form div.mw_wp_form_preview div.form div.component-school div.body div.row:nth-child(2) {
		margin-right: 20px;
}
main section.form div.form div.action {
	display: block;
}
main section.form div.form div.action :where(input:where([type=button], [type=submit]), button) {
	margin: 0px auto;
}
main section.form div.form div.action :where(input:where([type=button], [type=submit]), button):not(:last-child) {
	margin: 0px auto 20px auto;
}

/* free-trial
-------------------------------------------------------------------------------- */

main section#free-trial h2 {
	font-size: 2rem;
	line-height: 2.5rem;
	margin: 0px calc(50% - 50vw) 40px calc(50% - 50vw);
}
main section#free-trial h2 span.line {
	height: 70px;
}
main section#free-trial h2 span.text {
	margin: 0px 20px;
}
main section#free-trial div.list div.row {
	display: block;
	height: auto;
	padding: 40px 5px 5px 5px;
}
main section#free-trial div.list div.row p.headline {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	width: 100%;
	left: 0px;
}
main section#free-trial div.list div.row h3 {
	font-size: 1.25rem;
	margin-bottom: 20px;
}
main section#free-trial div.list div.row h3 span {
	justify-content: center;
}
main section#free-trial div.list div.row h3 span i {
	height: 50px;
	padding: 0px 25px;
	border-radius: 25px;
}
main section#free-trial div.list div.row p.image {
	position: static;
	right: auto;
	top: auto;
	width: auto;
	height: auto;
	border-radius: 0px 0px 5px 5px;
}

/* recruit
-------------------------------------------------------------------------------- */

main section#recruit div.inner-section {
	padding-top: 40px;
}
main section#recruit header {
	height: 420px;
	min-height: 0px;
	margin-bottom: 80px;
}
body.admin-bar main section#recruit header {
	height: 420px;
}
main section#recruit header h2 {
	font-size: 2.25rem;
	line-height: 3.5rem;
}
main section#recruit header p.image-main {
	height: calc(100% + 160px);
	left: 0px;
	bottom: 0px;
}
main section#recruit div:where(.block-summary, .block-message) h3 {
	font-size: 1.5rem;
	line-height: 2.5rem;
}
main section#recruit div.block-summary p.description {
	line-height: 2.25rem;
}
main section#recruit div:where(.block-schedule, .block-guideline) div.inner-block {
	padding: 80px 0px;
}
main section#recruit div:where(.block-schedule, .block-company, .block-guideline) h3 {
	font-size: 1.5rem;
	line-height: 2.5rem;
}
main section#recruit div.block-schedule div.segment-wrapper {
	display: block;
}
main section#recruit div.block-schedule div.segment {
	width: auto;
}
main section#recruit div.block-schedule div.segment:not(:last-child) {
	margin-bottom: 80px;
}
main section#recruit div.block-schedule div.segment-01 div.list div.row-03:not(:last-child) {
	margin-bottom: 20px;
}
main section#recruit div.block-schedule div.segment-02 div.list div.row-01:not(:last-child) {
	margin-bottom: 20px;
}
main section#recruit div.block-message {
	margin-left: 0px;
	margin-right: 0px;
	padding: 20px;
}
main section#recruit div.block-message div.image-text {
	display: block;
}
main section#recruit div.block-message div.text {
	width: auto;
	margin-bottom: 20px;
}
main section#recruit div.block-message p.image {
	width: auto;
}
main section#recruit div:where(.block-company, .block-guideline) div.list div.row {
	display: block;
	padding: 25px 10px;
}
main section#recruit div:where(.block-company, .block-guideline) div.list div.row p.label {
	width: auto;
	margin-bottom: 10px;
}
main section#recruit div:where(.block-company, .block-guideline) div.list div.row p.body {
	width: auto;
}



/* --------------------------------------------------------------------------------
modal
-------------------------------------------------------------------------------- */

div#modal div.inner-modal p.button-close {
	width: 60px;
	height: 60px;
}
body.admin-bar div#modal div.inner-modal p.button-close {
	top: 0px;
}
div#modal div.inner-modal p.button-close::before,
div#modal div.inner-modal p.button-close::after {
	width: 24px;
	left: calc(50% - 12px);
}



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

footer#footer div.contact div.tel p.icon img {
	width: 73px;
}
footer#footer div.contact div.tel div.text {
	text-align: center;
}
footer#footer div.contact div.tel div.text p.number {
	font-size: 2rem;
	line-height: 2.5rem;
}
footer#footer div.contact div.tel div.text p.number i.icon {
	transform: translateY(2px);
}
footer#footer div.contact div.list {
	display: block;
	background: linear-gradient(135deg, #f5870a 0%, #f69629 50%, #f69629 100%);
}
footer#footer div.contact div.list::before {
	display: none;
}
footer#footer div.contact div.list div.row {
	position: relative;
	width: auto;
}
footer#footer div.contact div.list div.row:not(:last-child) {
	margin-right: 0px;
}
footer#footer div.contact div.list div.row:not(:last-child)::before {
	position: absolute;
	width: calc(100% - 40px);
	left: 20px;
	bottom: 0px;
	border-bottom: 1px solid #ffffff;
	content: "";
}
footer#footer div.contact div.list div.row a {
	justify-content: center;
}
footer#footer div.contact div.list div.row p.icon {
	margin-right: 20px;
}
footer#footer div.contact div.list div.row div.text {
	width: auto;
}
footer#footer nav#navi-footer {
	width: auto;
	padding: 40px 20px;
}
footer#footer nav#navi-footer div.list {
	margin: 0px 0px 20px 0px;
}
footer#footer nav#navi-footer div.list div.row {
	width: 100%;
	margin: 0px;
}
footer#footer nav#navi-footer div.list div.row:not(.row-misc):not(:last-child) {
	margin-bottom: 20px;
}
footer#footer nav#navi-footer div.list div.row-misc {
	width: 50%;
}
footer#footer nav#navi-footer div.list div.row div.segment:not(:last-child) {
	margin-bottom: 20px;
}
footer#footer nav#navi-footer div.list div.row-about div.segment ul {
	display: flex;
	flex-wrap: wrap;
}
footer#footer nav#navi-footer div.list div.row-about div.segment ul li {
	width: 50%;
}
footer#footer nav#navi-footer div.list div.row-about div.segment ul li.message {
	order: 0;
}
footer#footer nav#navi-footer div.list div.row-about div.segment ul li.reason {
	order: 2;
}
footer#footer nav#navi-footer div.list div.row-about div.segment ul li.qa {
	order: 4;
}
footer#footer nav#navi-footer div.list div.row-about div.segment ul li.gallery {
	order: 1;
}
footer#footer nav#navi-footer div.list div.row-about div.segment ul li.cm {
	order: 3;
}
footer#footer nav#navi-footer div.sns-privacy-policy {
	margin-top: 0px;
}
footer#footer div.information {
	padding: 40px 0px 100px 0px;
}
footer#footer div.information h3 img {
	width: calc(189px * 1.25);
}
footer#footer div.information p.sub {
	font-size: 0.625rem;
	line-height: 1rem;
}
footer#footer div.information div.links ul li a {
	width: 160px;
}
footer#footer div.information div.map {
	width: auto;
	border-radius: 0px;
}
footer#footer div.information div.map iframe {
	height: 280px;
}
