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

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



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

div.banner-origin a {
	height: 120px;
}
div.banner-origin div.text {
	left: 20px;
}
div.banner-origin span.button {
	right: 20px;
}



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

header#header *#logo {
	left: 20px;
	top: 20px;
	z-index: 40;
}
body.admin-bar header#header *#logo {
	top: 25px;
}
header#header *#logo img {
	width: calc(200px * 0.625);
}
header#header > div.banner-origin {
	width: 130px;
	right: 70px;
	top: 15px;
}
body.admin-bar header#header > div.banner-origin {
	top: 20px;
}
header#header > div.banner-origin a {
	height: 40px;
}
header#header > div.banner-origin p.image {
	width: 55px;
}
header#header > div.banner-origin div.text {
	left: 65px;
}
header#header > div.banner-origin span.button {
	display: none;
}
header#header p#button-menu {
	right: 5px;
	top: 5px;
}
body.admin-bar header#header p#button-menu {
	top: 0px;
}
header#header div#menu {
	width: 100%;
}
header#header div#menu div.inner-menu {
	padding: 120px 20px 40px 20px;
	padding-top: 100px;
}
header#header div#menu nav#navi div.main div.list div.row a {
	padding-left: 20px;
}
header#header div#menu nav#navi div.sub {
	width: 320px;
}
header#header div#menu nav#navi div.sub ul {
	justify-content: flex-start;
	margin-bottom: -10px;
	padding: 0px 60px 0px 20px;
}
header#header div#menu nav#navi div.sub ul li {
	width: 50%;
	margin-bottom: 10px;
}
header#header div#menu nav#navi div.sub ul li:not(:last-child) {
	margin-right: 0px;
}
header#header div#menu nav#navi p.instagram {
	right: 20px;
	bottom: calc(17.5px + 2.125rem);
}
header#header div#menu div.misc {
	display: block;
	padding: 0px 20px;
}
header#header div#menu div.misc p:not(:last-child) {
	margin-bottom: 10px;
}
div.menu-header header#header div#background-menu {
	display: none;
}

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

body.home header#header *#logo {
	pointer-events: auto;
	opacity: 1;
}



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

div#cover {
	position: static;
	width: 100%;
	min-height: 560px;
}
body.admin-bar div#cover {
	height: 100lvh;
	top: 0px;
}
div#cover h2 {
	left: calc(50% - calc(2.125rem * 0.5));
	top: 120px;
}



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

div#breadcrumb {
	left: 40px;
}



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

div#title {
	width: auto;
	padding: 0px 40px;
}
div#title h1 {
	font-family: "Ysabeau", sans-serif;
	font-size: 1.75rem;
	font-weight: 400;
	color: #988c82;
}



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

main section div.inner-section {
	width: auto;
	padding: 80px 40px;
}
main :where(div#pager, nav#navi-article) {
	margin-top: 60px;
}
main nav#navi-article ul {
	padding-top: 80px;
}
main nav#navi-article ul li.prev a {
	padding: 0px 0px 30px 0px;
}
main nav#navi-article ul li:where(.prev, .next) span.button {
	top: auto;
	bottom: 0px;
}
main nav#navi-article ul li.next a {
	padding: 0px 0px 30px 0px;
}

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

main section#home-menu {
	width: auto;
}
main section#home-menu div.inner-section {
	padding: 80px 20px 40px 20px;
}
main section#home-menu header {
	display: none;
}
main section#home-menu p.logo {
	display: none;
}
main section#home-menu nav#navi-home div.main div.list div.row a {
	padding-left: 20px;
}
main section#home-menu nav#navi-home div.main div.list div.row span.button {
	right: 20px;
}
main section#home-menu nav#navi-home div.sub {
	width: 320px;
}
main section#home-menu nav#navi-home div.sub ul {
	justify-content: flex-start;
	margin-bottom: -10px;
	padding: 0px 60px 0px 20px;
}
main section#home-menu nav#navi-home div.sub ul li {
	width: 50%;
	margin-bottom: 10px;
}
main section#home-menu nav#navi-home div.sub ul li:not(:last-child) {
	margin-right: 0px;
}
main section#home-menu nav#navi-home p.instagram {
	right: 20px;
	bottom: calc(17.5px + 2.125rem);
}
main section#home-menu div.misc {
	display: block;
	padding: 0px 20px;
}
main section#home-menu div.misc p:not(:last-child) {
	margin-bottom: 10px;
}

/* origin
-------------------------------------------------------------------------------- */

main section#origin div.list div.row p {
	font-size: 1.0625rem;
	line-height: 2.75rem;
}
main section#origin div.list div.row p:not(:last-child) {
	margin-bottom: 60px;
}
main section#origin div.list div.row:nth-child(2n+1) p:nth-child(1),
main section#origin div.list div.row:nth-child(2n) p:nth-child(2) {
	transform: translateX(-15px);
}
main section#origin div.list div.row:nth-child(2n+1) p:nth-child(2),
main section#origin div.list div.row:nth-child(2n) p:nth-child(1) {
	transform: translateX(15px);
}
main section#origin div.list div.row:where(:nth-child(1), :nth-child(5)) div.inner-row {
	transform: translate(15px, -15px);
}
main section#origin div.list div.row:where(:nth-child(2), :nth-child(6)) div.inner-row {
	transform: translate(-15px, 15px);
}
main section#origin div.list div.row:nth-child(3) div.inner-row {
	transform: translate(15px, 15px);
}
main section#origin div.list div.row:nth-child(4) div.inner-row {
	transform: translate(-15px, -15px);
}
main section#origin :where(div.navi, p.number) {
	position: fixed;
}
main section#origin :where(div.navi, p.number) {
	position: fixed;
}
main section#origin div.navi p.button {
	bottom: 0px;
	padding-bottom: 30px;
}
main section#origin div.navi p.button-prev a {
	padding-left: 0px;
}
main section#origin div.navi p.button-next a {
	padding-right: 0px;
}
main section#origin p.number {
	right: 20px;
}

/* about
-------------------------------------------------------------------------------- */

main section#about div.background {
	height: 100lvh;
	top: 80px;
}
main section#about.top div.background {
	position: fixed;
	top: 0px;
}
main section#about.bottom div.background {
	position: absolute;
	top: auto;
	bottom: 0px;
}
main section#about div.inner-section {
	padding: 160px 40px;
}
main section#about header,
main section#about div.description {
	margin-bottom: 60px;
}
main section#about header h2 {
	font-size: 1.875rem;
	line-height: 3rem;
}
main section#about p.name {
	margin-bottom: 80px;
}
main section#about p.name span {
	display: block;
}
main section#about div.banner div.row a {
	display: block;
	flex-wrap: wrap;
	padding: 10px 10px 20px 10px;
}
main section#about div.banner div.row p.image {
	width: auto;
	height: 110px;
	margin-bottom: 20px;
}
main section#about div.banner div.row div.text {
	position: relative;
	width: auto;
	padding: 0px 10px;
}
main section#about div.banner div.row div.text h3 {
	margin-bottom: 0px;
}
main section#about div.banner div.row div.text span.button {
	position: absolute;
	right: 10px;
	bottom: 0px;
}
main section#group-profile header {
	margin-bottom: 40px;
}
main section#group-profile div.list div.row {
	display: block;
}
main section#group-profile div.list div.row p.label {
	width: auto;
	margin-bottom: 10px;
}
main section#group-profile div.list div.row div.body {
	width: auto;
}

/* history
-------------------------------------------------------------------------------- */

main section#history header {
	margin-bottom: 60px;
}
main section#history header h2 {
	font-size: 1.875rem;
	line-height: 3rem;
}
main section#history div:where(.description, .list):not(:last-child) {
	margin-bottom: 60px;
}
main section#history div.list {
	display: block;
	width: calc(calc(920px * 0.3333) - 60px);
	margin: 0px auto;
	padding-top: 0px;
}
main section#history div.list::before {
	width: 30px;
	height: 800px;
	left: -30px;
	top: 180px;
	border-bottom: 1px solid #aaa29b;
	border-right: none;
	border-radius: 10px 0px 0px 10px;
}
main section#history div.list::after {
	width: 30px;
	height: 0px;
	left: -30px;
	top: calc(50% - 0.5px);
	border-right: none;
	border-bottom: 1px solid #aaa29b;
}
main section#history div.list div.row {
	width: auto;
	margin: 0px 0px 40px 0px;
}
main section#history div.list div.row::before {
	left: -3px;
	top: calc(50% - 3px);
}

/* business
-------------------------------------------------------------------------------- */

main section#business div.block div.anchor {
	top: -80px;
}
main section#business header,
main section#business div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#business div.block div.header div.headline,
main section#business div.block div.image-text div.text {
	width: auto;
}
main section#business div.block div.header div.headline p.icon {
	width: 75px;
	font-size: 3.75rem;
}
main section#business div.block div.header div.headline h2 {
	width: calc(100% - 75px);
}
main section#business div.block div.header div.headline h2 span.main {
	font-size: 1.5625rem;
}
main section#business div.block div.header div.headline h2 span.main i {
	font-size: 1.875rem;
	line-height: 1.875rem;
	transform: translateY(-6px);
}
main section#business div.block div.header div.headline h2 span.sub {
	font-size: 1.0625rem;
}
main section#business div.block div.image-text {
	display: block;
}
main section#business div.block div.image-text:not(:last-child) {
	margin-bottom: 40px;
}
main section#business div.block div.image-text p.image {
	width: auto;
	margin: 0px 0px 40px 0px;
}
main section#business div.block div.list div.row {
	margin-right: 0px;
}
main section#business div.block div.list div.row:has(p.label) {
	display: block;
}
main section#business div.block div.list div.row p.label {
	width: auto;
}
main section#business div.block div.list div.row:has(p.label) p.body {
	width: auto;
}
main section#business div.block div.links {
	margin-top: 0px;
}

/* column, news
-------------------------------------------------------------------------------- */

main div.list-column {
	display: block;
	margin: 0px;
}
main div.list-column div.row {
	width: auto;
	margin: 0px;
}
main div.list-column div.row:not(:last-child) {
	margin-bottom: 60px;
}
main div.list-news div.row a {
	display: block;
	padding: 20px 0px 30px 0px;
}
main div.list-news div.row p.created {
	width: auto;
}
main div.list-news div.row h3 {
	width: auto;
}
main article.common header {
	margin-bottom: 40px;
}
main article.common header h1 {
	font-size: 1.25rem;
	line-height: 2.125rem;
}

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

main section.form header {
	margin-bottom: 60px;
}
main section.form div.component-wrapper {
	margin-bottom: 60px;
}
main section.form div.component {
	display: block;
}
main section.form div.component:not(:last-child) {
	margin-bottom: 30px;
}
div.confirm main section.form div.component {
	padding: 30px 0px;
}
main section.form div.component p.label {
	width: auto;
	height: auto;
	margin-bottom: 10px;
}
main section.form div.component div.body {
	width: auto;
}
main section.form div.agreement {
	justify-content: flex-start;
	margin-bottom: 60px;
}
main section.form div.action {
	display: block;
}
main section.form div.action :where(input[type=text], input[type=email], button) {
	margin: 0px auto;
}
main section.form div.action :where(input[type=text], input[type=email], button):not(:last-child) {
	margin-bottom: 20px;
}

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

main section#privacy-policy header,
main section#privacy-policy div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}



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

footer#footer {
	padding: 80px 0px 0px 0px;
}
footer nav#navi-sub {
	width: auto;
	margin-bottom: 80px;
	padding: 0px 40px;
}
footer nav#navi-sub div.list {
	display: block;
	margin-right: 0px;
}
footer nav#navi-sub div.list div.row {
	width: auto;
	margin-right: 0px;
}
footer nav#navi-sub div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
footer#footer div.information-navi-footer-misc {
	padding: 40px;
}
footer#footer div.information-navi-footer {
	display: block;
}
footer#footer div.information {
	width: auto;
	margin-bottom: 20px;
}
footer#footer div.information p.logo {
	margin-bottom: 30px;
}
footer#footer div.information p.logo img {
	width: calc(200px * 0.75);
}
footer#footer div.information div.list {
		margin-bottom: 20px;
}
footer#footer div.information div.list div.row {
	display: block;
}
footer#footer div.information div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
footer#footer div.information div.list div.row p.label {
	width: auto;
}
footer#footer div.information div.list div.row p.body {
	width: auto;
}
footer#footer nav#navi-footer {
	width: auto;
	margin-bottom: 40px;
}
footer#footer nav#navi-footer ul {
	justify-content: flex-start;
	width: 280px;
	margin-bottom: -10px;
	transform: translateX(0px);
}
footer#footer nav#navi-footer ul li {
	width: 50%;
	margin-bottom: 10px;
}
footer#footer nav#navi-footer ul li:not(:nth-child(3n)) {
	margin-right: 0px;
}
footer#footer nav#navi-footer p.instagram {
	bottom: 7.5px;
}
footer#footer div.misc {
	display: block;
	margin-top: 0px;
}
footer#footer div.misc p:not(:last-child) {
	margin-bottom: 10px;
}
footer#footer div.misc p.copyright {
	margin-right: 0px;
}
