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

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



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

div#page {
	padding-right: 0px;
}
div#page::before {
	display: none;
}



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

header#header *#logo {
	left: 25px;
	top: 25px;
}
header#header *#logo a {
	display: block;
	aspect-ratio: auto;
	width: auto;
	background-color: transparent;
	border-radius: 0px;
}
header#header *#logo img {
	width: calc(139px * 0.675);
}
header#header :where(p#button-menu, div#menu) {
	position: fixed;
}
header#header p#button-menu {
	width: 60px;
	height: 60px;
	right: 10px;
	top: 10px;
	z-index: 30;
	cursor: pointer;
	background-color: #ffffff;
	border-radius: 50%;
}
header#header p#button-menu i {
	display: block;
	position: absolute;
	width: 30px;
	height: 0px;
	left: calc(50% - 15px);
	top: calc(50% - 0.5px);
	border-bottom: 1px solid #555555;
	transition: 0.25s all ease;
}
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(-n+3) {
	width: 0px;
	left: 50%;
	opacity: 0;
	transform: translateY(0px);
}
div.menu-header header#header p#button-menu i:nth-child(4) {
	transform: rotate(30deg);
}
div.menu-header header#header p#button-menu i:nth-child(5) {
	transform: rotate(-30deg);
}
header#header div#menu {
	width: 100%;
	height: 100%;
	right: 0px;
	top: 0px;
	overflow: auto;
	z-index: 10;
	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 div#menu::-webkit-scrollbar {
	display: none;
}
header#header div#menu div.inner-menu {
	padding: 80px 0px 40px 0px;
}
header#header nav#navi {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: static;
	left: auto;
	bottom: auto;
	margin-bottom: 40px;
	padding-left: 20px;
}
header#header nav#navi ul li {
	font-size: 1.375rem;
}
header#header nav#navi ul li.privacy-policy {
	font-size: 1.375rem;
}
header#header nav#navi ul li:not(:last-child) {
	margin-bottom: 40px;
}
header#header nav#navi ul li {
	padding-left: 17px;
}
header#header nav#navi ul li::before {
	width: 6px;
	height: 9px;
	top: 13px;
}
header#header p.symbol {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
header#header p.logo img {
	width: 139px;
}
header#header div.headline {
	display: none;
	position: absolute;
	width: 120px;
	height: 350px;
	right: 0px;
	top: calc(100svh - 350px);
	padding: 20px 10px 0px 0px;
	background-color: rgba(255, 255, 255, 0.75);
}
body.admin-bar header#header div.headline {
	top: auto;
}
header#header div.headline p.sub {
	font-size: 0.5rem;
	line-height: 0.875rem;
	margin-left: 15px;
}
header#header div.headline h1 {
	padding-top: 15px;
}
header#header div.headline h1 img {
	height: calc(384px * 0.75);
}

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

body.home header#header *#logo a {
	background-color: transparent;
}
body.home header#header div.headline {
	display: block;
	padding: 20px 0px 0px 20px;
}



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

div#cover {
	padding-top: 170px;
}
body.admin-bar div#cover {
	height: calc(100svh - 32px);
}
div#cover div.image p.row span {
	width: calc(100% + 10vw);
	left: -10vw;
}
div#cover div.image p.row.active span {
	transform: translateX(5vw);
}
div#cover p#button-scroll {
	left: 20px;
	bottom: 20px;
}
div#cover p#button-scroll span {
	display: block;
}
div#cover p#button-scroll span.text {
	writing-mode: vertical-rl;
	white-space: pre;
	font-size: 0.625rem;
	line-height: 0.625rem;
	color: #ffffff;
	margin-bottom: 5px;
	transform: translateX(1px);
}



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

body:not(.home) main {
	padding-top: 120px;
}
main section div.inner-section {
	width: auto;
	padding: 80px 40px;
}
main section header {
	margin-bottom: 60px;
}
main section header h2:has(img) {
	position: static;
	left: auto;
	top: auto;
}
main section header p.illust {
	right: 0px;
	top: -20px;
}

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

main section#message header p.illust {
	width: calc(127px * 0.675);
}
main section#message h3 {
	font-size: 1.5rem;
	line-height: 2.5rem;
}
main section#message div.body div.image-text {
	display: block;
	padding-right: 0px;
}
main section#message div.body div.image-text p.image {
	margin: 0px auto 2rem auto;
}
main section#message div.body div.image-text div.text {
	width: auto;
}
main section#message div.list {
	max-width: 310px;
	margin: 0px auto;
	padding: 50px 0px 0px 0px;
}
main section#message div.list div.row {
	width: 50%;
	margin-bottom: 100px;
}
main section#message div.list div.row:nth-child(2n) {
	transform: translateY(70px);
}
main section#message div.list div.row::before {
	width: 180px;
	height: 200px;
	left: calc(50% - 90px);
	top: calc(50% - 100px);
}
main section#message div.list div.row p.number {
	margin-bottom: 20px;
}
main section#message div.chairman {
	display: block;
}
main section#message div.chairman p.image {
	width: calc(340px * 0.875);
	height: calc(250px * 0.875);
	margin-bottom: 20px;
	border-radius: calc(125px * 0.875);
}
main section#message div.chairman p.name {
	width: auto;
	text-align: center;
}
main section:where(#outline, #history) header p.illust {
	right: 0px;
	top: 40px;
}
main section:where(#outline, #history) div.list {
	width: auto;
}
main section:where(#outline, #history) div.list div.row {
	display: block;
}
main section:where(#outline, #history) div.list div.row:not(:first-child) {
	padding-top: 20px;
}
main section:where(#outline, #history) div.list div.row:not(:last-child) {
	padding-bottom: 20px;
}
main section#outline div.list div.row p.label,
main section#history div.list div.row p.year {
	width: auto;
	margin-bottom: 10px;
}
main section#outline div.list div.row div.body,
main section#history div.list div.row p.body {
	width: auto;
	margin-right: -20px;
}
main section#child-land header p.illust {
	right: -20px;
	top: 40px;
}
main section#child-land div.list {
	display: block;
	margin: 0px -30px;
}
main section#child-land div.list div.row {
	width: auto;
}
main section#child-land div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}
main section#child-land div.list div.row p.image {
	margin: 0px auto 20px auto;
}
main section#disclosure header p.illust {
	top: 0px;
}
main section#disclosure div.list {
	display: block;
}
main section#disclosure div.list div.row {
	width: auto;
}
main section#disclosure div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}

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

main section#privacy-policy div.inner-section {
	padding-left: 40px;
}
main section#privacy-policy header {
	margin-bottom: 60px;
}
main section#privacy-policy header h2 {
	font-size: 1.375rem;
}
main section#privacy-policy div.list div.row h2 {
	margin-right: -20px;
}




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

footer#footer {
	padding: 60px 0px 40px 0px;
}
footer#footer div.information-child-land,
footer#footer div.information-child-land div.information {
	display: block;
}
footer#footer div.information p.symbol {
	width: calc(139px * 1.25);
	margin: 0px auto 30px auto;
}
footer#footer div.information div.text {
	width: auto;
	text-align: center;
	margin-bottom: 40px;
}
footer#footer div.information div.text h3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
footer#footer div.child-land div.button-wrapper {
	display: block;
	margin-bottom: 40px;
	padding-top: 0px;
}
footer#footer div.child-land p.button-default:not(:last-child) {
	margin: 0px 0px 20px 0px;
}
footer#footer div.child-land p.button-default a {
	width: 240px;
	height: 65px;
}
footer#footer div.child-land p.button-keite img {
	width: calc(394px * 0.425);
}
footer#footer div.child-land p.button-chuo img {
	width: calc(362px * 0.425);
}
footer#footer p.copyright {
	position: static;
	width: auto;
	right: auto;
	bottom: auto;
}
