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

body {
	font-size: 0.875rem;
	line-height: 1.75rem;
}
p.note {
	font-size: 0.75rem;
	line-height: 1.375rem;
}



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

input[type=text],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
select {
	height: 40px;
	line-height: calc(40px - 2px);
}
input[type=button],
input[type=submit],
button {
	width: 100%;
	height: 50px;
	border-radius: 25px;
}
input[type=radio],
input[type=checkbox],
input[type=radio]::before,
input[type=checkbox]::before,
label.alternate input[type=radio] + span,
label.alternate input[type=checkbox] + span {
	width: 21px;
	height: 21px;
}
input[type=radio]::after,
label.alternate input[type=radio] + span::before {
	width: 11px;
	height: 11px;
	left: calc(50% - calc(11px * 0.5));
	top: calc(50% - calc(11px * 0.5));
}
input[type=checkbox]::after,
label.alternate input[type=checkbox] + span::before {
	width: 9px;
	height: 14px;
	left: calc(50% - calc(9px * 0.5));
	top: calc(50% - calc(14px * 0.5));
}



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

br.large {
	display: none;
}
br.small {
	display: inline;
}
img.large {
	display: none;
}
img.small {
	display: block;
}
span.no-small {
	display: none;
}



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

div#page {
	padding-top: 60px;
}
*.headline-border {
	font-size: 1.125rem;
	line-height: 1.625rem;
	margin-bottom: 20px;
}
p.button-default > * {
	width: 180px;
}
p.button-default > *::before,
p.button-default > *::after {
	right: 15px;
}
p.button-default > *::before {
	width: 20px;
}
p.button-default > *::after {
	width: 6px;
}
p.button-default i.icon {
	font-size: 1.625rem;
}



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

header#header {
	position: relative;
	width: auto;
	height: auto;
	left: auto;
	top: auto;
	background-color: transparent;
}
body.admin-bar header#header {
	top: auto;
}
header#header *#logo,
header#header p#logo-alternate {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	height: 60px;
	padding-left: 10px;
}
header#header *#logo {
	position: fixed;
	width: 100%;
	left: 0px;
	top: 0px;
	z-index: 10;
	background-color: #ffffff;
	transition: 0.25s transform ease;
}
div.scroll header#header *#logo {
	transform: translateY(-60px);
}
header#header *#logo img,
header#header p#logo-alternate img {
	height: calc(40px * 0.875);
}
header#header p#button-menu {
	position: fixed;
	width: 60px;
	height: 60px;
	right: 0px;
	top: 0px;
	z-index: 30;
	cursor: pointer;
}
header#header p#button-menu::before {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	background-color: #ec6c00;
	content: "";
	transition: 0.25s all ease;
}
div.scroll header#header p#button-menu::before,
div.menu-header header#header p#button-menu::before {
	width: calc(100% - 15px);
	height: calc(100% - 15px);
	left: 7.5px;
	top: 7.5px;
	border-radius: 50%;
}
header#header p#button-menu i {
	position: absolute;
  border-bottom: 1px solid #ffffff;
  width: 20px;
  height: 0px;
  left: calc(50% - 10px);
  top: calc(50% - 0.5px);
  transition: 0.25s all ease;
  transform-origin: 50% 50%;
}
header#header p#button-menu i:nth-child(1) {
	transform: translateY(-7px);
}
header#header p#button-menu i:nth-child(2) {
	transform: translateY(7px);
}
div.menu-header header#header p#button-menu i:nth-child(1),
div.menu-header header#header i:nth-child(2),
div.menu-header header#header i:nth-child(3) {
  width: 0px;
  left: 50%;
  opacity: 0;
	transform: translateY(0px);
}
div.menu-header header#header p#button-menu i:nth-child(4) {
	transform: rotate(45deg);
}
div.menu-header header#header p#button-menu i:nth-child(5) {
	transform: rotate(-45deg);
}
header#header div#menu {
	position: fixed;
	width: 100%;
	height: 100%;
	right: 0px;
	top: 0px;
	overflow: auto;
	z-index: 20;
	background-color: #ffffff;
	transform: translateX(100%);
	transition: 0.25s transform ease;
	-webkit-overflow-scrolling: touch;
}
div.menu-header header#header div#menu {
	transform: translateX(0%);
}
header#header p#logo-alternate img {
	width: auto;
}
header#header nav#navi {
	position: static;
	width: auto;
	height: auto;
	left: auto;
	top: auto;
	padding: 25px;
}
header#header nav#navi > ul {
	display: block;
}
header#header nav#navi > ul > li {
	border-bottom: 1px solid #e5e5e5;
}
header#header nav#navi > ul > li:first-child {
	border-top: 1px solid #e5e5e5;
}
header#header nav#navi > ul > li.access,
header#header nav#navi > ul > li.contact {
	display: block;
}
header#header nav#navi > ul > li > a {
	justify-content: flex-start;
	height: 50px;
	font-weight: 300;
	padding: 0px;
}
header#header nav#navi > ul > li.collapse > a::before {
	left: auto;
	right: 10px;
	top: calc(50% - 4px);
	bottom: auto;
	transition: 0.25s transform ease;
	transform: translateY(-2px) rotate(45deg);
}
header#header nav#navi > ul > li.collapse.open > a::before {
	transform: translateY(2px) rotate(-135deg);
}
header#header nav#navi > ul > li div.nest {
	position: static;
	left: auto;
	top: auto;
	transition: unset;
}
header#header nav#navi > ul > li.about div.nest {
	width: auto;
}
header#header nav#navi > ul > li.life div.nest {
	width: auto;
}
header#header nav#navi > ul > li.entry div.nest,
header#header nav#navi > ul > li.support div.nest {
	width: auto;
}
header#header nav#navi > ul > li:hover div.nest,
header#header nav#navi > ul > li.support:hover div.nest {
	height: 0px;
}
header#header nav#navi > ul > li div.nest ul {
	height: auto;
}
header#header nav#navi > ul > li.support div.nest ul {
	height: auto;
}
header#header nav#navi > ul > li div.nest ul {
	flex-direction:row;
	margin-top: -10px;
	padding: 0px 0px 15px 0px;
	background-color: transparent;
	border-radius: 0px;
}
header#header nav#navi > ul > li div.nest ul li {
	width: 50%;
	font-size: 0.75rem;
	line-height: 1.5rem;
	padding: 10px 0px 0px 15px;
}
header#header nav#navi > ul > li div.nest ul li::before {
	position: absolute;
	width: 6px;
	left: 3px;
	top: 17px;
	border-bottom: 1px solid #999999;
	background-color: transparent;
	border-radius: 0px;
}
header#header p.button-access,
header#header p.button-contact {
	display: none;
}

/* photos
-------------------------------------------------------------------------------- */

body.photos header#header {
	height: 60px;
}
body.photos header#header *#logo {
	padding-right: 25px;
}
body.photos header#header p#button-menu {
	display: none;
}



/* --------------------------------------------------------------------------------
breadcrumb
-------------------------------------------------------------------------------- */

div#breadcrumb {
	padding: 10px 15px;
}
div#breadcrumb p {
	font-size: 0.75rem;
	line-height: 1.375rem;
}
div#breadcrumb p span:not(:last-child)::after {
	transform: translateY(-1px) rotate(-45deg);
}



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

div#cover {
	height: calc(100vh - 60px);
}
body.admin-bar div#cover {
	height: calc(100vh - 60px);
}
div#cover h1 {
	width: auto;
	left: 25px;
	top: 25px;
	font-size: 2.25rem;
	line-height: 3.5rem;
	letter-spacing: 0.05em;
}
div#cover h1 svg {
	display: none;
}
div#cover h1 span {
	display: block;
}
div#cover h1 i {
	display: block;
	opacity: 0;
	transition: 1.25s opacity ease-in-out;
}
html.active div#cover h1 i {
	opacity: 1;
}
div#cover div.entry {
	right: 15px;
	bottom: 15px;
}
div#cover div.entry a {
	width: 140px;
	height: 140px;
	padding-bottom: 15px;
}
div#cover div.entry div.text i.icon {
	font-size: 2rem;
	margin-bottom: 5px;
}
div#cover div.entry div.text h2 span {
	line-height: 1.375rem;
}
div#cover div.entry div.text h2 span:nth-child(1) {
	font-size: 0.875rem;
}
div#cover div.entry div.text h2 span:nth-child(2) {
	font-size: 1.125rem;
}
div#cover p.button-scroll {
	height: 40px;
	left: 27.5px;
	bottom: 30px;
}
div#cover p.button-scroll span {
	width: 15px;
	height: 15px;
}
div#cover p.button-scroll span::before,
div#cover p.button-scroll span::after {
	bottom: -25px;
}
div#cover p.button-scroll span::before {
	height: 25px;
}
div#cover p.button-scroll span::after {
	width: 12.5px;
	height: 12.5px;
	left: calc(50% - 6.25px);
}



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

div#title.features p.image {
	height: 250px;
}
div#title.features div.text {
	padding: 35px 25px;
}
div#title.features div.text::before {
	height: 30px;
	bottom: -30px;
}
div#title.features div.text h2 {
	font-size: 1.25rem;
	margin-bottom: 20px;
}
div#title.features div.text p.description {
	text-align: justify;
	font-size: 0.875rem;
	line-height: 1.75rem;
}
div#title.image {
	height: 160px;
}
div#title.image h1,
div#title.stripe h1 {
	font-size: 1.375rem;
	line-height: 1.75rem;
}
div#title.image h1 {
	width: 280px;
	height: 40px;
	border-radius: 10px;
}
div#title.stripe {
	height: 100px;
	background-size: auto 60px;
}



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

main section div.inner-section {
	width: auto;
	padding: 70px 25px;
}
main section:first-child div.inner-section {
	padding-top: 35px;
}
main section header.common {
	text-align: justify;
	margin-bottom: 70px;
}
main section header.common p.description {
	font-size: 0.875rem;
	line-height: 1.75rem;
}
main section header.common p.description span:not(:last-child) {
	margin-bottom: 15px;
}
main div.slide div.image {
	border-radius: 20px;
}
main div.slide div.pager {
	transform: translate(0px, 0px);
}
main div.slide div.pager p.button {
	width: 30px;
	bottom: 10px;
	border: 1px solid #ffffff;
	background-color: rgba(0, 0, 0, 0.5);
	border-radius: 50%;
}
main div.slide div.pager p.button-prev {
	left: 10px;
	right: auto;
}
main div.slide div.pager p.button-next {
	right: 10px;
}
main div.slide div.pager p.button::before {
	display: none;
}
main div.slide div.pager p.button::after {
	width: 8px;
	height: 8px;
	left: calc(50% - 4px);
	top: calc(50% - 4px);
	border-color: #ffffff;
}
main div.slide div.navi {
	transform: translateY(25px);
}
main div.slide div.caption {
	padding: 0px;
}
main div.slide-alternate {
	margin-left: -25px;
	margin-right: -25px;
}
main div.slide-alternate div.image,
main div.slide-alternate div.pager,
main div.slide-alternate div.navi {
	aspect-ratio: 375 / 280;
}
main div.slide-alternate div.image {
	border-radius: 0px;
}
main div.slide-alternate div.image:not(:last-child) {
	margin-bottom: 15px;
}
main div.slide-alternate div.navi {
	flex-flow: row;
	justify-content: center;
	transform: translate(0px, -20px);
}
main div.slide-alternate div.navi p.button {
	background-color: rgba(255, 255, 255, 0.5);
}
main div.slide-alternate div.navi p.button:not(:last-child) {
	margin: 0px 15px 0px 0px;
}
main div.slide-alternate div.caption p.row {
	text-align: center;
	padding: 0px 25px;
}
main article.common div.body blockquote {
	padding: 15px;
}
main article.common div.body ul li::before,
main ul.bullet li::before {
	top: 12px;
}
main div#pager,
main nav#navi-article {
	margin-top: 70px;
}
main div#pager span,
main div#pager a,
main nav#navi-article ul li a {
	width: 30px;
	height: 30px;
}
main div#pager a.prev,
main nav#navi-article ul li.prev {
	margin-right: 20px;
}
main div#pager a.next,
main nav#navi-article ul li.next {
	margin-left: 20px;
}
main nav#navi-article ul li.prev,
main nav#navi-article ul li.next {
	width: 30px;
}
main nav#navi-article ul li.list a {
	height: 35px;
	padding: 0px 25px;
	border-radius: 17.5px;
}

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

body.home main p.button-default > * {
	height: 40px;
	border-radius: 20px;
}
main section#home-news-blog div.inner-section {
	width: auto;
	padding-top: 70px;
}
main section#home-news-blog div.block-wrapper {
	display: block;
}
main section#home-news-blog div.block-wrapper div.block {
	width: auto;
}
main section#home-news-blog div.block-wrapper div.block:not(:last-child) {
	margin-bottom: 70px;
}
main section#home-news-blog div.block-wrapper div.block div.header {
	margin-bottom: 15px;
}
main section#home-news-blog div.block-wrapper div.block div.header h2,
main section#home-menu div.block-life div.slide-text div.text h2,
main section#home-menu div.block-support h2 {
	text-align: center;
	text-indent: 0.1em;
	font-size: 1.25rem;
}
main section#home-news-blog div.block-wrapper div.block div.header h2 {
	padding-top: 0px;
}
main section#home-news-blog div.block-wrapper div.block div.list div.row a {
	min-height: 0px;
}
main section#home-news-blog div.block-wrapper div.block div.list-blog-alternate {
	margin-bottom: 25px;
}
main section#home-news-blog div.block-wrapper div.block div.list-blog-alternate div.row p.image {
	width: 80px;
}
main section#home-news-blog div.block-wrapper div.block div.list-blog-alternate div.row div.text {
	width: calc(100% - 100px);
}
main section#home-news-blog div.block-wrapper div.block div.list div.row div.text div.created-category {
	margin-bottom: 5px;
}
main section#home-news-blog div.block-wrapper div.block p.button-default {
	position: static;
	right: auto;
	top: auto;
}
main section#home-menu div.inner-section {
	padding-top: 30px;
}
main section#home-menu div.block div.inner-block {
	width: auto;
	padding: 70px 25px;
}
main section#home-menu div.block div.slide-text {
	display: block;
}
main section#home-menu div.block div.slide-text div.slide {
	width: auto;
	margin: 0px -25px 50px -25px;
}
main section#home-menu div.block div.slide-text div.slide div.image,
main section#home-menu div.block div.slide-text div.slide div.pager,
main section#home-menu div.block div.slide-text div.slide div.navi {
	aspect-ratio: 375 / 260;
}
main section#home-menu div.block div.slide-text div.slide div.image {
	border-radius: 0px;
}
main section#home-menu div.block div.slide-text div.text {
	width: auto;
}
main section#home-menu div.block div.slide-text div.text:not(.text-alternate) p.headline-border,
main section#home-menu div.block div.slide-text div.text:not(.text-alternate) h2 {
	display: none;
}
main section#home-menu div.block div.slide-text div.text h2 {
	margin-bottom: 0px;
}
main section#home-menu div.block div.slide-text div.text p.description {
	font-size: 0.875rem;
	line-height: 1.75rem;
	margin-bottom: 25px;
}
main section#home-menu div.block div.slide-text div.text p.button-default {
	justify-content: center;
}
main section#home-menu div.block div.slide-text div.text p.button-default:not(:last-child) {
	margin-bottom: 15px;
}
main section#home-menu div.block div.slide-text div.text-alternate {
	display: block;
	margin-bottom: 25px;
}
main section#home-menu div.block-about::before,
main section#home-menu div.block-about::after {
	height: 30px;
}
main section#home-menu div.block-about::before {
	top: -30px;
}
main section#home-menu div.block-about::after {
	bottom: -30px;
}
main section#home-menu div.block-about div.inner-block {
	padding: 35px 25px;
}
main section#home-menu div.block-about div.slide-text div.text p.headline-border {
	justify-content: center;
}
main section#home-menu div.block-about div.slide-text div.text h2 {
	text-align: center;
	text-indent: 0.1em;
	font-size: 1.25rem;
	line-height: 2.25rem;
	margin-right: 0px;
}
main section#home-menu div.block-life div.inner-block {
	padding: 100px 25px 70px 25px;
}
main section#home-menu div.block-life div.slide-text div.text p.button-default {
	font-size: 1rem;
}
main section#home-menu div.block-life div.slide-text div.text p.button-default a {
	width: 100%;
	height: 50px;
	border-radius: 25px;
}
main section#home-menu div.block-support h2 {
	margin-bottom: 35px;
}
main section#home-menu div.block-support div.list {
	display: block;
}
main section#home-menu div.block-support div.list div.row {
	width: auto;
	border-radius: 20px;
}
main section#home-menu div.block-support div.list div.row:not(:last-child) {
	margin-bottom: 25px;
}
main section#home-menu div.block-support div.list div.row div.text {
	padding: 25px;
}
main section#home-menu div.block-support div.list div.row div.text h3 {
	margin-bottom: 15px;
}
main section#home-menu div.block-support div.list div.row div.text h3 span:nth-child(1) {
	font-size: 1.125rem;
	margin-right: 15px;
}
main section#home-menu div.block-support div.list div.row div.text p.description {
	min-height: 0px;
	font-size: 0.875rem;
	margin-bottom: 15px;
}

/* features
-------------------------------------------------------------------------------- */

main section#features div.inner-section {
	width: auto;
}
main section#features div.block div.inner-block {
	padding: 70px 25px;
}
main section#features div.block:first-child div.inner-block {
	padding-top: 100px;
}
main section#features div.block div.slide-text {
	display: block;
}
main section#features div.block div.slide-text div.slide {
	width: auto;
	margin-bottom: 50px;
}
main section#features div.block div.slide-text div.slide:not(:has(.navi)) {
	margin-bottom: 25px;
}
main section#features div.block div.slide-text div.text {
	width: auto;
}
main section#features div.block div.slide-text div.text h2 {
	text-align: center;
	text-indent: 0.1em;
	font-size: 1.25rem;
	line-height: 2.25rem;
	margin-bottom: 0px;
}
main section#features div.block div.slide-text div.text:not(.text-alternate) h2 {
	display: none;
}
main section#features div.block div.slide-text div.text p.description {
	font-size: 0.875rem;
	line-height: 1.875rem;
	margin-bottom: 25px;
}
main section#features div.block div.slide-text div.text div.links ul li {
	font-size: 0.875rem;
	padding-left: 30px;
}
main section#features div.block div.slide-text div.text div.links ul li::before,
main section#features div.block div.slide-text div.text div.links ul li::after {
	top: 15px;
}
main section#features div.block div.slide-text div.text div.links ul li::before {
	width: 15px;
}
main section#features div.block div.slide-text div.text div.links ul li::after {
	width: 5px;
	left: 10px;
}
main section#features div.block div.slide-text div.text div.links ul li:not(:last-child) {
	margin-bottom: 5px;
}
main section#features div.block div.slide-text div.text-alternate {
	display: block;
	margin-bottom: 25px;
}

/* overview
-------------------------------------------------------------------------------- */

main section#overview div.block:not(:last-child) {
	margin-bottom: 70px;
}
main section#overview div.block p.image {
	margin-bottom: 35px;
	border-radius: 20px;
}
main section#overview div.block-outline div.list {
	padding: 0px;
}
main section#overview div.block-outline div.list div.row {
	display: block;
	padding: 15px 0px;
}
main section#overview div.block-outline div.list div.row p.label {
	width: auto;
	margin-bottom: 5px;
}
main section#overview div.block-outline div.list div.row p.body {
	width: auto;
}
main section#overview div.block-concept div.list div.row:not(:last-child) {
	margin-bottom: 50px;
}
main section#overview div.block-concept div.list div.row h2 {
	font-size: 1.25rem;
	line-height: 2.25rem;
	margin-bottom: 25px;
}
main section#overview div.block-concept div.list div.row h2 span i {
	width: 40px;
	left: calc(50% - 20px);
	top: -6.25px;
	font-size: 0.625rem;
}
main section#overview div.block-concept div.list div.row h2 em {
	display: none;
}

/* education
-------------------------------------------------------------------------------- */

main section#education div.inner-section {
	padding-bottom: 0px;
}
main section#education div.list {
	margin-bottom: 70px;
}
main section#education div.list div.row:not(:last-child) {
	margin-bottom: 70px;
}
main section#education div.list div.row p.image {
	margin-bottom: 25px;
	border-radius: 20px;
}
main section#education div.list div.row h2,
main section#education div.goal h2 {
	font-size: 1.25rem;
	margin-bottom: 20px;
}
main section#education div.list div.row p.description {
	font-size: 0.875rem;
	line-height: 1.875rem;
}
main section#education div.goal div.frame {
	display: block;
	margin: 0px -25px;
	padding: 30px 25px;
	border-radius: 0px;
}
main section#education div.goal div.frame ul {
	padding-left: 0px;
}
main section#education div.goal div.frame ul li {
	font-size: 1rem;
}
main section#education div.goal div.frame ul li::before {
	top: 11px;
}

/* staff
-------------------------------------------------------------------------------- */

main section#staff div.inner-section {
	width: auto;
}
main section#staff div.list {
	display: block;
}
main section#staff div.list div.row p.image {
	margin-bottom: 15px;
	border-radius: 10px;
}
main section#staff div.list div.row div.header {
	margin-bottom: 15px;
}
main section#staff div.list div.row div.header p.sub {
	font-size: 1rem;
}
main section#staff div.list-main,
main section#staff div.list-main div.row:not(:last-child),
main section#staff div.list-sub div.row:not(:last-child) {
	margin-bottom: 50px;
}
main section#staff div.list-main {
	margin-right: 0px;
}
main section#staff div.list-main div.row {
	width: auto;
	margin: 0px;
}
main section#staff div.list-sub {
	margin: 0px;
}
main section#staff div.list-sub div.row {
	width: auto;
	margin: 0px;
}

/* facilities
-------------------------------------------------------------------------------- */

main section#facilities div.list div.row:not(:last-child) {
	margin-bottom: 70px;
}
main section#facilities div.list div.row h2 {
	font-size: 1.125rem;
	margin-bottom: 20px;
}

/* safety
-------------------------------------------------------------------------------- */

main section#safety div.list div.row:not(:last-child) {
	margin-bottom: 70px;
}
main section#safety div.list div.row h2 {
	font-size: 1.25rem;
	margin-bottom: 20px;
}
main section#safety div.list div.row p.description {
	margin-bottom: 25px;
}
main section#safety div.list div.row div.image {
	display: block;
}
main section#safety div.list div.row div.image p.row {
	width: auto;
}
main section#safety div.list div.row div.image p.row:not(:last-child) {
	margin-bottom: 15px;
}

/* day
-------------------------------------------------------------------------------- */

main section#day div.list div.row {
	padding-left: 30px;
}
main section#day div.list div.row:not(:last-child) {
	padding-bottom: 50px;
}
main section#day div.list div.row:not(:last-child)::before {
	left: 9px;
}
main section#day div.list div.row p.label {
	display: block;
	width: auto;
	height: auto;
	font-size: 1rem;
	line-height: 1.25rem;
	padding-left: 30px;
	background-color: transparent;
	border-radius: 0px;
}
main section#day div.list div.row p.label::before {
	position: absolute;
	width: 20px;
	height: 20px;
	left: 0px;
	top: 0px;
	border: 2px solid #ec6c00;
	background-color: #fce9d9;
	content: "";
	border-radius: 50%;
}
main section#day div.list div.row div.body {
	padding-top: 0px;
}
main section#day div.list div.row div.body div.header {
	margin-bottom: -5px;
	padding-left: 60px;
	transform: translateY(-5px);
}
main section#day div.list div.row div.body div.header:not(:last-child) {
	margin-bottom: 15px;
}
main section#day div.list div.row div.body div.header h2 {
	font-size: 1.125rem;
}
main section#day div.list div.row div.body div.header h2:not(:last-child) {
	margin-bottom: 5px;
}
main section#day div.list div.row div.body div.header h2 span {
	font-size: 0.875rem;
}
main section#day div.list div.row div.body div.slide {
	margin: 0px 0px 20px 0px;
}
main section#day div.list div.row div.body div.slide div.image {
	border-radius: 20px;
}
main section#day div.list div.row div.body div.text {
	padding: 0px;
}
main section#day div.list div.row div.body div.text table {
	width: 100%;
}

/* schedule
-------------------------------------------------------------------------------- */

main section#schedule header p.description {
	margin-bottom: 20px;
}
main section#schedule header p.guardian {
	justify-content: flex-end;
	font-size: 0.75rem;
}
main section#schedule div.list {
	margin-bottom: 35px;
	padding-bottom: 35px;
}
main section#schedule div.list div.row {
	padding-left: 30px;
}
main section#schedule div.list div.row:not(:last-child) {
	padding-bottom: 35px;
}
main section#schedule div.list div.row::before {
	left: 9px;
}
main section#schedule div.list div.row:last-child::before {
	height: calc(100% - 43px);
}
main section#schedule div.list div.row:last-child::after {
	left: 5px;
	bottom: 43px;
}
main section#schedule div.list div.row p.label {
	display: block;
	width: auto;
	height: auto;
	font-size: 1.125rem;
	line-height: 1.25rem;
	padding-left: 30px;
	background-color: transparent;
	border-radius: 0px;
}
main section#schedule div.list div.row p.label::before {
	position: absolute;
	width: 20px;
	height: 20px;
	left: 0px;
	top: 0px;
	border: 2px solid #ec6c00;
	background-color: #fce9d9;
	content: "";
	border-radius: 50%;
}
main section#schedule div.list div.row div.body {
	padding-top: 30px;
}
main section#schedule div.list div.row div.body div.text:not(:last-child) {
	margin-bottom: 25px;
}
main section#schedule div.list div.row div.body div.text ul {
	margin: 0px -20px -5px 0px;
}
main section#schedule div.list div.row div.body div.text ul li {
	margin: 0px 20px 5px 0px;
}
main section#schedule div.list div.row div.body div.slide {
	margin: 0px;
}
main section#schedule div.list div.row div.body div.slide div.image {
	border-radius: 20px;
}
main section#schedule div.other ul li {
	font-size: 1rem;
}

/* bus
-------------------------------------------------------------------------------- */

main section#bus div.block div.inner-block {
	padding: 70px 0px;
}
main section#bus div.block-area div.inner-block {
	padding-top: 0px;
}
main section#bus div.block-area div.slide:not(:last-child) {
	margin-bottom: 70px;
}
main section#bus div.block-area h2,
main section#bus div.block-route h2,
main section#bus div.block-price h2 {
	font-size: 1.25rem;
}
main section#bus div.block-area h2,
main section#bus div.block-price h2 {
	margin-bottom: 25px;
}
main section#bus div.block-area p.list {
	padding: 15px 0px;
}
main section#bus div.block-area p.indent {
	text-align: justify;
}
main section#bus div.block-route {
	margin-left: -25px;
	margin-right: -25px;
}
main section#bus div.block-route h2 {
	margin-bottom: 35px;
}
main section#bus div.block-route::before {
	height: 50%;
}
main section#bus div.block-route div.inner-block {
	padding-bottom: 0px;
}
main section#bus div.block-route div.map-list {
	padding: 0px;
	border-radius: 0px;
}
main section#bus div.block-route div.map-list p.map {
	margin-bottom: 0px;
}
main section#bus div.block-route div.map-list p.map a.blue {
	width: 69%;
	height: 36%;
	left: 28%;
	top: 20%;
}
/* main section#bus div.block-route div.map-list p.map a.yellow-01 {
	width: 26%;
	height: 54%;
	left: 1%;
	top: 2%;
}
main section#bus div.block-route div.map-list p.map a.yellow-02 {
	width: 21%;
	height: 11%;
	left: 38%;
	top: 62%;
	z-index: 1;
} */
main section#bus div.block-route div.map-list p.map a.red {
	width: 42%;
	height: 28%;
	left: 6%;
	top: 62%;
}
main section#bus div.block-route div.map-list div.list div.row {
	padding: 25px 25px 40px 25px;
}
main section#bus div.block-route div.map-list div.list div.row:not(:last-child) {
	margin-bottom: 0px;
}
main section#bus div.block-route div.map-list div.list div.row-blue {
	background-color: #d9e8f3;
}
main section#bus div.block-route div.map-list div.list div.row-yellow {
	background-color: #fcf1e0;
}
main section#bus div.block-route div.map-list div.list div.row-red {
	background-color: #fae9e8;
}
main section#bus div.block-route div.map-list div.list div.row h3 {
	text-align: center;
	font-size: 1.25rem;
	border-bottom: none;
	margin-bottom: 30px;
	padding-bottom: 0px;
}
main section#bus div.block-route div.map-list div.list div.row h3 span {
	display: block;
	font-size: 1rem;
	border-top-width: 3px;
	border-top-style: solid;
	margin: 5px 0px 0px 0px;
	padding-top: 5px;
}
main section#bus div.block-route div.map-list div.list div.row-blue h3 span {
	border-top-color: #0067b1;
}
main section#bus div.block-route div.map-list div.list div.row-yellow h3 span {
	border-top-color: #eaa032;
}
main section#bus div.block-route div.map-list div.list div.row-red h3 span {
	border-top-color: #df6a66;
}
main section#bus div.block-route div.map-list div.list div.row div.button-wrapper {
	display: block;
	margin-right: 0px;
}
main section#bus div.block-route div.map-list div.list div.row div.button-wrapper p.button-default {
	margin-right: 0px;
}
main section#bus div.block-route div.map-list div.list div.row div.button-wrapper p.button-default:not(:last-child) {
	margin-bottom: 15px;
}
main section#bus div.block-route div.map-list div.list div.row div.button-wrapper p.button-default a {
	padding-right: 0px;
}
main section#bus div.block-route div.map-list div.list div.row div.button-wrapper p.button-map a {
	width: 100%;
}
main section#bus div.block-route div.map-list div.list div.row div.button-wrapper p.button-time a {
	width: 100%;
}
main section#bus div.block-route p.indent {
	padding-left: calc(25px + 1em);
}
main section#bus div.block-price p.price {
	font-size: 1.125rem;
}
main section#bus div.block-price p.price span:first-child {
	padding-right: 25px;
}
main section#bus div.block-price p.price span:first-child::before {
	width: 15px;
	top: 15px;
}
main section#bus div.block-safety div.inner-block {
	padding: 50px 0px;
}
main section#bus div.block-safety h2 {
	font-size: 1.125rem;
	margin-bottom: 15px;
}

/* uniform
-------------------------------------------------------------------------------- */

main section#uniform div.list div.row:not(:last-child) {
	margin-bottom: 70px;
}
main section#uniform div.list div.row h2 {
	font-size: 1.125rem;
	margin-bottom: 15px;
}
main section#uniform div.list div.row p.image {
	margin: 0px -25px 10px -25px;
	border-radius: 0px;
}
main section#uniform div.list div.row p.description {
	padding: 0px;
}

/* lunch
-------------------------------------------------------------------------------- */

main section#lunch div.block div.inner-block {
	padding: 70px 0px;
}
main section#lunch div.block h2 {
	font-size: 1.25rem;
	margin-bottom: 20px;
}
main section#lunch div.block-lunch-01 div.inner-block {
	padding-top: 0px;
}
main section#lunch div.block-lunch-01 div.slide {
	margin-bottom: 70px;
}
main section#lunch div.block-lunch-01 div.text {
	margin-bottom: 35px;
}
main section#lunch div.block-lunch-01 div.text p.description,
main section#lunch div.block-lunch-01 div.allergy p.description,
main section#lunch div.block-lunch-02 p.description {
	text-align: justify;
}
main section#lunch div.block-lunch-01 div.text p.description {
	margin-bottom: 25px;
}
main section#lunch div.block-lunch-01 div.text p.button-default a {
	width: 100%;
}
main section#lunch div.block-lunch-01 div.allergy {
	width: auto;
	padding-top: 25px;
}
main section#lunch div.block-lunch-01 div.allergy h3 {
	font-size: 1rem;
	margin-bottom: 15px;
}

/* guide
-------------------------------------------------------------------------------- */

main section#guide div.block div.inner-block {
	padding: 70px 0px;
}
main section#guide div.block-number div.inner-block,
main section#guide div.block-price div.inner-block,
main section#guide div.block-free div.inner-block {
	width: auto;
}
main section#guide div.block-number div.inner-block {
	padding-top: 0px;
}
main section#guide div.block-number p.headline {
	font-size: 1.125rem;
	margin-bottom: 35px;
}
main section#guide div.block-number h2,
main section#guide div.block-flow h2,
main section#guide div.block-price h2 {
	font-size: 1.25rem;
}
main section#guide div.block-number h2,
main section#guide div.block-price h2 {
	margin-bottom: 25px;
}
main section#guide div.block-number div.list div.row,
main section#guide div.block-price div.list div.row {
	padding: 15px 0px;
}
main section#guide div.block-number div.list div.row h3,
main section#guide div.block-price div.list div.row h3 {
	margin-bottom: 5px;
}
main section#guide div.block-number div.list div.row h3 span:first-child,
main section#guide div.block-price p.price span:first-child {
	padding-right: 25px;
}
main section#guide div.block-number div.list div.row h3 span:first-child::before,
main section#guide div.block-price p.price span:first-child::before {
	width: 15px;
	top: 14px;
}
main section#guide div.block-flow h2 {
	margin-bottom: 35px;
}
main section#guide div.block-flow div.list {
	margin-bottom: 15px;
}
main section#guide div.block-flow div.list div.row,
main section#guide div.block-flow div.note {
	padding-left: 30px;
}
main section#guide div.block-flow div.list div.row:not(:last-child) {
	padding-bottom: 40px;
}
main section#guide div.block-flow div.list div.row::before {
	left: 9px;
}
main section#guide div.block-flow div.list div.row:last-child::after {
	left: 5px;
}
main section#guide div.block-flow div.list div.row p.bullet {
	width: 20px;
	height: 20px;
}
main section#guide div.block-flow div.list div.row h3 {
	font-size: 1.125rem;
	margin-bottom: 10px;
	transform: translateY(-5px);
}
main section#guide div.block-flow div.list div.row p.date,
main section#guide div.block-flow div.list div.row p.description:not(:last-child) {
	margin-bottom: 15px;
}
main section#guide div.block-flow div.list div.row table th,
main section#guide div.block-flow div.list div.row table td {
	display: block;
}
main section#guide div.block-flow div.list div.row table tr th {
	border-bottom: 2px solid #d9f1e2;
}
main section#guide div.block-flow div.list div.row table th {
	width: 100%;
	text-align: left;
	border-right: none;
	padding: 7.5px 15px;
}
main section#guide div.block-flow div.list div.row table th span {
	justify-content: flex-start;
}
main section#guide div.block-flow div.list div.row table th span.two i:not(:last-child) {
	margin-right: 0.05em;
}
main section#guide div.block-flow div.list div.row table th span.three i:not(:last-child) {
	margin-right: 0.05em;
}
main section#guide div.block-flow div.list div.row table td {
	width: 100%;
}
main section#guide div.block-price h2 + p.description {
	margin-bottom: 25px;
}
main section#guide div.block-price div.list div.row p.button-default {
	position: static;
	right: auto;
	bottom: auto;
	padding: 15px 0px 5px 0px;
}
main section#guide div.block-price div.list div.row p.button-default a {
	width: 100%;
}
main section#guide div.block-free div.inner-block {
	padding: 50px 0px;
}
main section#guide div.block-free h2 {
	font-size: 1.125rem;
	margin-bottom: 15px;
}

/* data
-------------------------------------------------------------------------------- */

main section#data div.inner-section {
	width: auto;
}
main section#data div.block:not(:last-child) {
	margin-bottom: 70px;
}
main section#data div.block div.header {
	margin-bottom: 25px;
	padding-bottom: 15px;
}
main section#data div.block div.header h2 {
	font-size: 1.25rem;
	margin-bottom: 5px;
}
main section#data div.block div.header p.sub {
	font-size: 0.75rem;
	line-height: 1.375rem;
}
main section#data div.block-way p.diagram img {
	height: calc(364px * 0.75);
}
main section#data div.block-school ul {
	margin: 0px -7.5px;
}
main section#data div.block-school ul li {
	margin: 0px 7.5px;
}
main section#data div.block-voice div.segment {
	padding-bottom: 15px;
}
main section#data div.block-voice div.segment:not(:last-child) {
	margin-bottom: 70px;
}
main section#data div.block-voice div.segment h3 {
	font-size: 0.875rem;
	margin-bottom: 25px;
	padding-left: 30px;
}
main section#data div.block-voice div.segment h3::before {
	font-size: 1.375rem;
}
main section#data div.block-voice div.segment div.list-01 {
	margin-bottom: 4px;
}
main section#data div.block-voice div.segment div.list ul li {
	width: calc(100% - 20px);
	padding: 10px 15px;
}
main section#data div.block-voice div.segment div.list ul li:not(:last-child) {
	margin-bottom: 25px;
}
main section#data div.block-voice div.segment div.list-01 ul li:nth-child(2n+1),
main section#data div.block-voice div.segment div.list-02 ul li:nth-child(2n) {
	border-radius: 10px 10px 10px 0px;
}
main section#data div.block-voice div.segment div.list-01 ul li:nth-child(2n),
main section#data div.block-voice div.segment div.list-02 ul li:nth-child(2n+1) {
	border-radius: 10px 10px 0px 10px;
}

/* faq
-------------------------------------------------------------------------------- */

main section#faq header.common nav#navi-sub ul {
	margin: 0px -10px -10px 0px;
}
main section#faq header.common nav#navi-sub ul li {
	font-size: 0.75rem;
	margin: 0px 10px 10px 0px;
}
main section#faq header.common nav#navi-sub ul li:not(:last-child) {
	width: calc(50% - 10px);
}
main section#faq header.common nav#navi-sub ul li:last-child {
	width: calc(50% - 10px);
}
main section#faq header.common nav#navi-sub ul li a {
	height: 40px;
	padding: 0px 10px;
}
main section#faq header.common nav#navi-sub ul li a::before {
	right: 10px;
}
main section#faq div.block:not(:last-child) {
	margin-bottom: 70px;
}
main section#faq div.block h2 {
	text-align: left;
	text-indent: 0em;
	font-size: 1.125rem;
	margin-bottom: 25px;
}
main section#faq div.block div.list div.row h3,
main section#faq div.block div.list div.row div.body div.inner-body {
	padding-left: 30px;
}
main section#faq div.block div.list div.row h3::before,
main section#faq div.block div.list div.row div.body div.inner-body::before {
	font-size: 1.375rem;
}
main section#faq div.block div.list div.row h3::before {
	top: 23px;
}
main section#faq div.block div.list div.row h3 {
	font-size: 0.875rem;
	padding-top: 25px;
	padding-bottom: 25px;
	padding-right: 20px;
}
main section#faq div.block div.list div.row h3 span {
	right: 0px;
}
main section#faq div.block div.list div.row div.body div.inner-body {
	padding-bottom: 25px;
}

/* childcare
-------------------------------------------------------------------------------- */

main section#childcare div.block div.inner-block {
	padding: 70px 0px;
}
main section#childcare div.block-regular div.inner-block {
	padding-top: 0px;
}
main section#childcare div.block-regular div.slide:not(:last-child) {
	margin-bottom: 70px;
}
main section#childcare div.block-regular h2,
main section#childcare div.block-long h2,
main section#childcare div.block-price h2 {
	font-size: 1.25rem;
	margin-bottom: 25px;
}
main section#childcare div.block-regular div.list,
main section#childcare div.block-long div.list,
main section#childcare div.block-price div.segment {
	width: auto;
}
main section#childcare div.block-regular div.list div.row,
main section#childcare div.block-long div.list div.row {
	padding: 15px 0px;
}
main section#childcare div.block-regular div.list div.row p.label,
main section#childcare div.block-regular div.list div.row p.description,
main section#childcare div.block-long div.list div.row p.label,
main section#childcare div.block-long div.list div.row p.description {
	margin-bottom: 5px;
}
main section#childcare div.block-price div.segment:not(:last-child) {
	margin-bottom: 35px;
}
main section#childcare div.block-price div.segment table th {
	width: 35%;
}
main section#childcare div.block-price div.segment table td:not(:last-child) {
	width: 37.5%;
}
main section#childcare div.block-price div.segment table td:last-child {
	width: 27.5%;
}

/* chibikko-club
-------------------------------------------------------------------------------- */

main section#chibikko-club div.block div.inner-block {
	padding: 70px 0px;
}
main section#chibikko-club div.block-news div.inner-block {
	padding-top: 0px;
}
main section#chibikko-club div.block-news div.slide {
	margin-left: -25px;
	margin-right: -25px;
}
main section#chibikko-club div.block-news div.slide:not(:last-child) {
	margin-bottom: 70px;
}
main section#chibikko-club div.block-news div.news {
	width: auto;
}
main section#chibikko-club div.block-news div.news h2,
main section#chibikko-club div.block-application h2,
main section#chibikko-club div.block-schedule h2 {
	font-size: 1.25rem;
}
main section#chibikko-club div.block-news div.news h2 {
	margin-bottom: 25px;
}
main section#chibikko-club div.block-news div.news div.list div.row a {
	padding: 15px 0px;
}
main section#chibikko-club div.block-news div.news div.list div.row div.text div.created-category {
	margin-bottom: 5px;
}
main section#chibikko-club div.block-application h2,
main section#chibikko-club div.block-schedule h2 {
	margin-bottom: 35px;
}
main section#chibikko-club div.block-application div.list div.row {
	display: block;
}
main section#chibikko-club div.block-application div.list div.row:not(:last-child) {
	margin-bottom: 35px;
}
main section#chibikko-club div.block-application div.list div.row h3 {
	display: block;
	width: auto;
	text-align: center;
	text-indent: 0.1em;
	font-size: 1.125rem;
	margin-bottom: 15px;
}
main section#chibikko-club div.block-application div.list div.row h3 span {
	width: 30px;
	height: 30px;
	font-size: 1.25rem;
	margin: 0px auto 5px auto;
	transform: translateY(0px);
}
main section#chibikko-club div.block-application div.list div.row div.body {
	width: auto;
}
main section#chibikko-club div.block-application div.list div.row div.body p.description:not(:last-child) {
	margin-bottom: 25px;
}
main section#chibikko-club div.block-application div.list div.row div.body p.button-default a {
	width: 100%;
	height: 50px;
	border-radius: 25px;
}
main section#chibikko-club div.block-attention div.inner-block {
	padding: 50px 0px;
}
main section#chibikko-club div.block-attention h3 {
	font-size: 1.125rem;
	margin-bottom: 15px;
}
main section#chibikko-club div.block-schedule div.inner-block {
	padding-bottom: 0px;
}
main section#chibikko-club div.block-schedule div.segment {
	border: none;
	padding: 0px;
	border-radius: 0px;
}
main section#chibikko-club div.block-schedule div.segment:not(:last-child) {
	margin-bottom: 35px;
}
main section#chibikko-club div.block-schedule div.segment h3 {
	font-size: 1.125rem;
	border-bottom: 1px solid #00a03c;
	margin-bottom: 25px;
	padding-bottom: 5px;
}
main section#chibikko-club div.block-schedule div.segment-day div.list div.row:not(:last-child) {
	padding-bottom: 15px;
}
main section#chibikko-club div.block-schedule div.segment-day div.list div.row div.body {
	padding-top: 22.5px;
}
main section#chibikko-club div.block-schedule div.segment-day div.list div.row p.description span {
	font-size: 0.75rem;
}
main section#chibikko-club div.block-schedule div.segment-year div.list div.row {
	display: block;
}
main section#chibikko-club div.block-schedule div.segment-year div.list div.row:not(:last-child) {
	margin-bottom: 25px;
	padding-bottom: 25px;
}
main section#chibikko-club div.block-schedule div.segment-year div.list div.row p.label {
	justify-content: flex-start;
	width: auto;
	height: 35px;
	margin-bottom: 15px;
	padding-left: 15px;
	border-radius: 10px;
}
main section#chibikko-club div.block-schedule div.segment-year div.list div.row div.body {
	width: auto;
	padding-top: 0px;
}
main section#chibikko-club div.block-schedule div.segment-year div.list-year div.row-year {
	display: block;
}
main section#chibikko-club div.block-schedule div.segment-year div.list-year div.row-year:not(:last-child) {
	margin-bottom: 15px;
}
main section#chibikko-club div.block-schedule div.segment-year div.list-year div.row-year p.label-year {
	width: auto;
}
main section#chibikko-club div.block-schedule div.segment-year div.list-year div.row-year div.body-year {
	width: auto;
}

/* news, blog
-------------------------------------------------------------------------------- */

main div.created-category p.created {
	font-size: 0.75rem;
	margin-right: 15px;
}
main div[class*="list-news"] div.row div.text h3,
main div[class*="list-blog"] div.row div.text h3 {
	font-size: 0.875rem;
}
main div.list-blog {
	display: block;
	margin: 0px;
}
main div.list-blog div.row {
	width: auto;
	margin: 0px;
}
main div.list-blog div.row:not(:last-child) {
	margin-bottom: 25px;
}
main div.list-blog div.row p.image {
	margin-bottom: 10px;
}
main div.list-blog div.row div.text div.created-category {
	margin-bottom: 5px;
}
main article.common header {
	margin-bottom: 35px;
}
main article.common header h1 {
	font-size: 1.125rem;
	line-height: 1.875rem;
	margin-bottom: 15px;
	padding-bottom: 15px;
}
body.page main section#blog div.inner-section {
	width: auto;
}
main section#blog h2.headline {
	font-size: 1.125rem;
	margin-bottom: 35px;
}
main section#blog div.category-archive {
	position: fixed;
	width: 100%;
	left: 0px;
	bottom: 0px;
	z-index: 10;
	margin: 0px;
	opacity: 1;
	transition: 0.25s transform ease;
	transform: translateY(191px);
}
main section#blog div.category-archive.open {
	transform: translateY(0px);
}
main section#blog div.category-archive h3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 140px;
	height: 40px;
	font-size: 0.875rem;
	margin: 0px 25px 0px auto;
	padding-left: 35px;
	background-color: #f2f2f2;
	border-radius: 10px 10px 0px 0px;
}
main section#blog div.category-archive h3::before {
	position: absolute;
	width: 8px;
	height: 8px;
	left: auto;
	left: 25px;
	top: calc(50% - 4px);
	bottom: auto;
	border-right: 1px solid #333333;
	border-bottom: 1px solid #333333;
	content: "";
	transition: 0.25s transform ease;
	transform: translateY(2px) rotate(-135deg);
}
main section#blog div.category-archive.open h3::before {
	transform: translateY(-2px) rotate(45deg);
}
main section#blog div.category-archive div.frame {
	padding: 15px 25px 25px 25px;
	border-radius: 0px;
}
main section#blog div.category-archive div.list {
	display: block;
}
main section#blog div.category-archive div.list::before {
	display: none;
}
main section#blog div.category-archive div.list div.row {
	width: auto;
}
main section#blog div.category-archive div.list div.row:not(:last-child) {
	margin-bottom: 15px;
}
main section#blog div.category-archive div.list div.row p.label {
	margin-bottom: 5px;
}
main section#blog div.category-archive div.list div.row-category ul {
	display: none;
}
main section#blog div.category-archive div.list div.row-category select {
	display: inline-block;
}

/* photos
-------------------------------------------------------------------------------- */

main div.list-photos {
	margin: 0px -15px -25px 0px;
}
main div.list-photos div.row {
	width: calc(50% - 15px);
	margin: 0px 15px 25px 0px;
}
main div.list-photos div.row p.image {
	margin-bottom: 10px;
}
main div.list-photos div.row div.text p.created {
	font-size: 0.75rem;
	margin-bottom: 0px;
}
main div.list-photos div.row div.text h3 {
	font-size: 0.875rem;
}
main article.photos header {
	margin-bottom: 70px;
}
main article.photos header p.created {
	font-size: 0.75rem;
	margin-bottom: 5px;
}
main article.photos header h1 {
	font-size: 1.125rem;
	line-height: 1.875rem;
}
main article.photos div.list {
	display: block;
	margin: 0px 0px -15px 0px;
}
main article.photos div.list p.row {
	width: 100%;
	margin: 0px 0px 15px 0px;
}
body.photos main section#photos div.inner-section {
	width: auto;
	padding-top: 70px;
}
body.single.photos main section#photos div.inner-section {
	width: auto;
}
body.photos main section#photos div.login {
	width: auto;
}
body.photos main section#photos div.login h1 {
	font-size: 1.375rem;
	line-height: 1.75rem;
	margin-bottom: 70px;
}
body.photos main section#photos div.login form {
	margin-bottom: 35px;
}
body.photos main section#photos div.login form p.label {
	margin-bottom: 5px;
}
body.photos main section#photos div.login form input[type=password] {
	margin-bottom: 15px;
}
body.photos main section#photos div.login form button:not([name="submitBack"])::before,
body.photos main section#photos div.login form button:not([name="submitBack"])::after {
	right: 15px;
}
body.photos main section#photos div.login form button:not([name="submitBack"])::before {
	width: 20px;
}
body.photos main section#photos div.login form button:not([name="submitBack"])::after {
	width: 6px;
}

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

main section#access div.block:not(:last-child) {
	margin-bottom: 70px;
}
main section#access div.block h2 {
	font-size: 1.25rem;
	margin-bottom: 25px;
}
main section#access div.block div.text {
	padding: 0px;
}
main section#access div.block-map div.map,
main section#access div.block-parking p.map {
	margin: 0px -25px 20px -25px;
	border-radius: 0px;
}
main section#access div.block-map div.map {
	height: 280px;
}

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

main section.form div.inner-section {
	width: auto;
}
main section.form div.header {
	margin-bottom: 70px;
}
main section.form div.header div.input p.description {
	margin-bottom: 25px;
}
main section.form div.header div.input div.tel {
	padding: 15px 0px;
}
main section.form div.header div.input div.tel p.number span:nth-child(1) {
	font-size: 0.75rem;
}
main section.form div.header div.input div.tel p.number span:nth-child(2) {
	font-size: 1.125rem;
}
main section.form div.header div.input div.tel p.time {
	font-size: 0.75rem;
	line-height: 1.375rem;
}
main section.form div.header div.confirm h2,
main section.form div.mw_wp_form_complete h2 {
	font-size: 1.125rem;
	margin-bottom: 25px;
}
main section.form div.form div.component {
	display: block;
	margin-bottom: 25px;
}
main section.form div.mw_wp_form_preview div.form div.component {
	margin-bottom: 25px;
}
main section.form div.form div.component-last {
	margin-bottom: 35px;
}
main section.form div.mw_wp_form_preview div.form div.component-last {
	margin-bottom: 70px;
}
main section.form div.form div.component p.label {
	display: block;
	width: auto;
	height: auto;
	margin-bottom: 5px;
}
main section.form div.form div.component p.label span.require {
	display: inline-block;
	position: static;
	height: auto;
	right: auto;
	top: auto;
	margin-left: 10px;
	transform: translateY(-1px);
}
main section.form div.form div.component div.body {
	width: auto;
}
main section.form div.form p.privacy-policy {
	margin-bottom: 70px;
}
main section.form div.form div.action button:not([name="submitBack"]) {
	width: 100%;
	margin-bottom: 15px;
}
main section.form div.form div.action button:not([name="submitBack"])::before,
main section.form div.form div.action button:not([name="submitBack"])::after {
	right: 15px;
}
main section.form div.form div.action button:not([name="submitBack"])::before {
	width: 20px;
}
main section.form div.form div.action button:not([name="submitBack"])::after {
	width: 6px;
}
main section.form div.mw_wp_form_complete p.description {
	margin-bottom: 35px;
}

/* privacy-policy
-------------------------------------------------------------------------------- */

main section#privacy-policy div.inner-section {
	width: auto;
}
main section#privacy-policy div.list div.row:not(:last-child) {
	margin-bottom: 35px;
}
main section#privacy-policy div.list div.row h2 {
	font-size: 1.25rem;
	margin-bottom: 10px;
}
main section#privacy-policy div.list div.row h3 {
	font-size: 0.875rem;
}



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

div#modal {
	visibility: hidden;
	pointer-events: none;
}



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

footer#footer {
	padding-bottom: 25px;
}
footer#footer div.contact {
	display: block;
	border-bottom: none;
	padding: 50px 25px;
}
footer#footer div.contact h3,
footer#footer div.contact div.tel {
	margin: 0px 0px 25px 0px;
}
footer#footer div.contact h3 {
	text-align: center;
	text-indent: 0.1em;
	font-size: 1rem;
	line-height: 1.75rem;
}
footer#footer div.contact div.tel p.number {
	text-indent: 0.1em;
}
footer#footer div.contact div.tel p.number span:nth-child(1) {
	font-size: 0.75rem;
}
footer#footer div.contact div.tel p.number span:nth-child(2) {
	font-size: 1.125rem;
}
footer#footer div.contact div.tel p.time {
	font-size: 0.75rem;
	line-height: 1.375rem;
}
footer#footer div.contact p.button-default a {
	width: 100%;
	height: 50px;
	border-radius: 25px;
}
footer#footer div.information-misc {
	display: block;
	width: auto;
	padding: 0px 0px 25px 0px;
}
footer#footer div.information-misc div.information {
	width: auto;
	text-align: center;
	margin-bottom: 35px;
}
footer#footer div.information-misc div.information p.logo {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 25px;
	padding-left: 0px;
}
footer#footer div.information-misc div.information p.logo img {
	height: calc(155px * 0.875);
}
footer#footer div.information-misc div.information h3 {
	font-size: 0.875rem;
	line-height: 1.375rem;
}
footer#footer div.information-misc div.information p.address {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
footer#footer div.information-misc div.misc {
	width: auto;
}
footer#footer div.information-misc div.misc nav#navi-footer {
	margin-bottom: 35px;
}
footer#footer div.information-misc div.misc nav#navi-footer div.list {
	display: block;
}
footer#footer div.information-misc div.misc nav#navi-footer div.list div.row:nth-child(1) {
	width: auto;
}
footer#footer div.information-misc div.misc nav#navi-footer div.list div.row:not(:nth-child(1)) {
	width: auto;
}
footer#footer div.information-misc div.misc nav#navi-footer div.list div.row div.segment {
	border-bottom: 1px solid #e5e5e5;
	padding: 15px 25px;
}
footer#footer div.information-misc div.misc nav#navi-footer div.list div.row:first-child div.segment {
	border-top: 1px solid #e5e5e5;
}
footer#footer div.information-misc div.misc nav#navi-footer div.list div.row div.segment:not(:last-child) {
	margin-bottom: 0px;
}
footer#footer div.information-misc div.misc nav#navi-footer div.list div.row div.segment p.headline,
footer#footer div.information-misc div.misc nav#navi-footer div.list div.row div.segment ul li {
	padding-left: 0px;
}
footer#footer div.information-misc div.misc nav#navi-footer div.list div.row div.segment p.headline:not(:last-child) {
	margin-bottom: 10px;
}
footer#footer div.information-misc div.misc nav#navi-footer div.list div.row div.segment p.headline::before,
footer#footer div.information-misc div.misc nav#navi-footer div.list div.row div.segment ul li::before {
	display: none;
}
footer#footer div.information-misc div.misc nav#navi-footer div.list div.row div.segment ul {
	display: flex;
	flex-wrap: wrap;
	margin-right: -25px;
	padding-left: 15px;
}
footer#footer div.information-misc div.misc nav#navi-footer div.list div.row div.segment ul li {
	margin-right: 25px;
}
footer#footer div.information-misc div.misc div.banner {
	display: block;
	margin-right: 0px;
}
footer#footer div.information-misc div.misc div.banner p.row {
	width: 170px;
	margin: 0px auto;
}
footer#footer div.information-misc div.misc div.banner p.row:not(:last-child) {
	margin-bottom: 15px;
}

/* blog
-------------------------------------------------------------------------------- */

body.blog footer#footer {
	padding-bottom: 60px;
}

/* inclusive
-------------------------------------------------------------------------------- */
body.inclusive main .block{
  margin-top: 0;
	margin-bottom: 70px;
}
body.inclusive main h2,
body.inclusive main .block-care h2{
	font-size: 1.25rem;
	margin-bottom: 20px;
}
body.inclusive main h3{
	font-size: 1rem;
	font-weight: 500;
}
body.inclusive main .block-acceptance,
body.inclusive main .block-message,
body.inclusive main .block-care{
	margin-bottom: 0;
}
body.inclusive main #care div.inner-section{
	padding-top: 50px;
}
body.inclusive main .block-care .photos{
	display: block;
}
body.inclusive main .block-care .photos .photo{
	width: 100%;
	margin-bottom: 30px;
}
body.inclusive main .block-care .voice{
	border-radius: 20px;
	padding:24px;
}
body.inclusive main .block-message .list + h2{
	margin-top: 70px;
}
body.inclusive main .block-message .list p.name{
	font-size: 0.8rem;
}