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

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



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

div.grecaptcha-badge {
	bottom: 60px !important;
}



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

header#header *#logo {
	left: 10px;
	top: 10px;
	z-index: 20;
}
body.admin-bar header#header *#logo {
	top: 10px;
}
header#header *#logo svg {
	width: calc(105px * 0.5);
}
header#header :where(p#button-menu, div#menu) {
	position: fixed;
}
header#header p#button-menu {
	aspect-ratio: 1;
	width: 60px;
	right: 0px;
	top: 0px;
	z-index: 30;
	cursor: pointer;
}
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 #383838;
	transition: 0.25s all ease;
}
header#header p#button-menu i:nth-child(1) {
	transform: translateY(-8px);
}
header#header p#button-menu i:nth-child(2) {
	transform: translateY(8px);
}
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(45deg);
}
div.menu-header header#header p#button-menu i:nth-child(5) {
	transform: rotate(-45deg);
}
header#header div#menu {
	width: 100%;
	height: 100%;
	right: 0px;
	top: 0px;
	overflow: auto;
	z-index: 10;
	background-color: #f5f5f5;
	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: 100px 40px 40px 40px;
}
header#header :where(nav#navi, p.instagram) {
	position: static;
}
header#header div#menu nav#navi {
	right: auto;
	top: auto;
	margin-bottom: 20px;
}
body.admin-bar header#header div#menu nav#navi {
	top: auto;
}
header#header div#menu nav#navi div.list,
header#header div#menu nav#navi div.list div.row > ul {
	display: block;
}
header#header div#menu nav#navi div.list div.row > ul > li {
	border-bottom: 1px solid #d9d9d9;
}
header#header div#menu nav#navi div.list div.row:first-child > ul > li:first-child {
	border-top: 1px solid #d9d9d9;
}
header#header div#menu nav#navi div.list div.row > ul > li > a {
	padding: 15px 0px;
}
body.company header#header div#menu nav#navi div.list div.row > ul > li.company > a.color,
body:where(.business-01, .business-02, .business-03, .business-04) header#header div#menu nav#navi div.list div.row > ul > li.business > a.color,
body:where(.group-01, .group-02, .group-03, .group-04, .group-05, .group-06) header#header div#menu nav#navi div.list div.row > ul > li.group > a.color,
body.news header#header div#menu nav#navi div.list div.row > ul > li.news > a.color,
body.work header#header div#menu nav#navi div.list div.row > ul > li.work > a.color,
body.archive header#header div#menu nav#navi div.list div.row > ul > li.archive > a.color,
body.sustainability header#header div#menu nav#navi div.list div.row > ul > li.sustainability > a.color,
body.contact header#header div#menu nav#navi div.list div.row > ul > li.contact > a.color {
	color: #383838;
}
header#header div#menu nav#navi div.list div.row > ul > li > a::before {
	display: none;
}
header#header div#menu nav#navi div.list div.row > ul > li.collapse > a > span {
	position: absolute;
	right: 0px;
	top: calc(50% - 10px);
	aspect-ratio: 1;
	width: 20px;
	background-color: #dc0012;
	border-radius: 50%;
}
header#header div#menu nav#navi div.list div.row > ul > li.collapse > a > span::before,
header#header div#menu nav#navi div.list div.row > ul > li.collapse > a > span::after {
	position: absolute;
	width: 10px;
	height: 0px;
	left: calc(50% - 5px);
	top: calc(50% - 0.5px);
	border-bottom: 1px solid #ffffff;
	content: "";
	transition: 0.375s opacity ease, 0.375s transform ease;
}
header#header div#menu nav#navi div.list div.row > ul > li.collapse > a > span::after {
	transform: rotate(90deg);
}
header#header div#menu nav#navi div.list div.row > ul > li.collapse.open > a > span::before {
	opacity: 0;
	transform: rotate(90deg);
}
header#header div#menu nav#navi div.list div.row > ul > li.collapse.open > a > span::after {
	transform: rotate(180deg);
}
header#header div#menu nav#navi div.list div.row > ul > li div.nest {
	position: static;
	width: auto;
	left: auto;
	top: auto;
	background-color: transparent;
	border-radius: 0px;
	transition: none;
}
body:where(.single, .business-01, .business-02, .business-03, .business-04, .sustainability) header#header div#menu nav#navi div.list div.row > ul > li div.nest {
	background-color: transparent;
}
header#header div#menu nav#navi div.list div.row > ul > li:hover div.nest:has(li:nth-child(4)) {
	height: 0px;
}
header#header div#menu nav#navi div.list div.row > ul > li:hover div.nest:has(li:nth-child(5)) {
	height: 0px;
}
header#header div#menu nav#navi div.list div.row > ul > li:hover div.nest:has(li:nth-child(6)) {
	height: 0px;
}
header#header div#menu nav#navi div.list div.row > ul > li.group div.nest {
	width: auto;
}
header#header div#menu nav#navi div.list div.row > ul > li div.nest ul {
	padding: 0px 0px 15px 0px;
}
header#header div#menu nav#navi div.list div.row > ul > li div.nest ul li a {
	position: relative;
	padding-left: 20px;
}
header#header div#menu nav#navi div.list div.row > ul > li div.nest ul li a::before {
	position: absolute;
	width: 10px;
	height: 0px;
	left: 0px;
	top: 10px;
	border-bottom: 1px solid #383838;
	content: "";
	transition: 0.375s border-color ease;
}
header#header div#menu nav#navi div.list div.row > ul > li div.nest ul li a:hover::before {
	border-color: #dc0012;
}
header#header div#menu nav#navi div.list div.row > ul > li:where(.company, .business) div.nest ul {
	display: flex;
	flex-wrap: wrap;
}
header#header div#menu nav#navi div.list div.row > ul > li:where(.company, .business) div.nest ul li {
	width: 50%;
}
header#header div#menu p.instagram {
	right: auto;
	top: auto;
}
body.admin-bar header#header div#menu p.instagram {
	top: auto;
}

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

body.home div:not(:where(.main-alternate, .menu-header)) header#header p#button-menu i {
	border-color: #ffffff;
}




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

body.admin-bar div#cover {
	height: 100svh;
}
div#cover p.button-scroll {
	right: 10px;
	bottom: 30px;
}



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

div#title div.text {
	width: auto;
	padding: 120px 0px 0px 20px;
}
div#title div.text h1 {
	font-size: 3.5rem;
	line-height: 3.5rem;
}
div#title div.text p.sub {
	font-size: 1.0625rem;
}
body:where(.group-01, .group-02, .group-03, .group-04) div#title p.image {
	height: 320px;
}
div#title.image-text p.image {
	height: 320px;
}
div#title.image-text p.image img {
	object-position: 57.5% center;
}
div#title.image-text div.text {
	left: 0px;
	bottom: 40px;
	z-index: 1;
	color: #ffffff;
}



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

@media (max-width:1479px) {
main aside#sidebar {
	width: calc(100% - 40px);
	margin-top: 80px;
}
}
body:where(.group-01, .group-02, .group-03, .group-04, .group-05, .group-06) main aside#sidebar {
	display: none;
}
main section div.inner-section {
	width: auto;
	padding: 80px 20px;
}
main section:last-child div.inner-section {
	padding-bottom: 120px;
}
main section header.common {
	margin-bottom: 80px;
}
main article.frame {
	margin-bottom: 40px;
	padding: 30px 20px;
}
main div#other {
	background-color: #ffffff;
}
main div#other div.inner-other {
	width: auto;
	padding: 80px 20px;
}
main div#other h2 {
	font-size: 1.375rem;
}
main div#pager {
	margin-top: 80px;
}

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

body.home main div.background i.icon {
	font-size: 60rem;
	transform: translate(-0.375em, -60px);
}
body.home section header h2 {
	font-size: 3rem;
	line-height: 3rem;
}
body.home section header p.sub {
	font-size: 0.9375rem;
}
body.home section header p.sub:not(:last-child) {
	margin-bottom: 40px;
}
main section#home-introduction h2 {
	margin-bottom: 40px;
}
main section#home-introduction h2 img {
	width: calc(507px * 0.625);
}
main section#home-introduction div.description {
	margin-bottom: 80px;
}
main section#home-introduction p.illust {
	margin: 0px -10px;
}
main section#home-introduction p.illust img {
	width: 100%;
}
main section#home-news :where(header, p.more) {
	position: static;
	left: auto;
}
main section#home-news header {
	top: auto;
	margin-bottom: 10px;
}
main section#home-news div.inner-section {
	padding: 120px 20px 80px 20px;
}
main section#home-news div.list-news {
	margin-bottom: 40px;
}
main section#home-news div.list-news div.row a {
	padding-left: 0px;
	padding-right: 0px;
}
main section#home-news p.more {
	top: auto;
}
main section:where(#home-company, #home-business, #home-group) header {
	margin-bottom: 40px;
}
main section#home-company div.inner-section {
	width: auto;
}
main section#home-company div.list {
	height: auto;
	margin-right: 0px;
}
main section#home-company div.list div.row {
	position: static;
}
main section#home-company div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#home-company div.list div.row div.text h3 {
	font-size: 1.375rem;
}
main section#home-company div.list div.row-01 {
	height: 160px;
}
main section#home-company div.list div:where(.row-01, .row-02, .row-03) {
	width: auto;
	top: auto;
}
main section#home-company div.list div:where(.row-01, .row-04) {
	left: auto;
}
main section#home-company div.list div:where(.row-02, .row-03, .row-04) {
	height: 160px;
}
main section#home-company div.list div:where(.row-02, .row-04) {
	left: auto;
}
main section#home-company div.list div.row-03 {
	left: auto;
}
main section#home-company div.list div.row-04 {
	width: auto;
	bottom: auto;
}
main section#home-business div.inner-section {
	width: auto;
	padding: 80px 20px;
	border-radius: 0px;
}
main section#home-business p.illust {
	margin: 0px -10px 40px -10px;
}
main section#home-business p.illust img {
	width: 100%;
}
main section#home-business div.products div.header h3 {
	font-size: 1.375rem;
}
main section#home-business div.products div.header h3::before,
main section#home-business div.products div.header h3::after {
	width: calc(50% - 80px);
}
main section#home-business div.products div.list {
	display: block;
	margin-right: 0px;
}
main section#home-business div.products div.list div.row {
	width: auto;
	margin-right: 0px;
}
main section#home-business div.products div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#home-business div.products div.list div.row p.icon {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 20px;
}
main section#home-group div.slide-text {
	display: block;
	margin-right: 0px;
}
main section#home-group div.slide-text div.text {
	width: auto;
	margin-bottom: 40px;
}
main section#home-group div.slide-text div.slide {
	width: auto;
	margin: 0px -20px;
}
main section#home-group div.slide-text div.slide div.list {
	margin-right: 0px;
}
main section#home-group div.slide-text div.slide div.list div.row {
	width: 100vw;
}
main section#home-group div.slide-text div.slide div.list div.row h3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
main section#home-group div.slide-text div.slide div.list div.row h3 svg {
	height: calc(34px * 0.625);
}
main div#banner-work {
	width: calc(100% - 40px);
	margin-bottom: -120px;
}
main div#banner-work a {
	height: 280px;
}
main div#banner-work a:hover p.image-zoom img {
	transform: scale(1.0375);
}
main div#banner-work div.text h2 {
	font-size: 3rem;
	line-height: 3rem;
}
main div#banner-work div.text p.sub {
	font-size: 0.9375rem;
}
main section#home-archive header {
	width: 100%;
	left: 20px;
	bottom: -15px;
}
main section#home-archive header h2 {
	font-size: 5rem;
	line-height: 5rem;
}
main section#home-archive header p.sub {
	left: 190px;
	bottom: 53px;
}
main section#home-archive div.inner-section {
	padding-top: 200px;
}
@keyframes home-archive-01 {
	0% { transform: translateX(0px); }
	100% { transform: translateX(calc(-300px * 1)); }
}
@keyframes home-archive-02 {
	0% { transform: translateX(0px); }
	100% { transform: translateX(calc(-300px * 2)); }
}
@keyframes home-archive-03 {
	0% { transform: translateX(0px); }
	100% { transform: translateX(calc(-300px * 3)); }
}
@keyframes home-archive-04 {
	0% { transform: translateX(0px); }
	100% { transform: translateX(calc(-300px * 4)); }
}
@keyframes home-archive-05 {
	0% { transform: translateX(0px); }
	100% { transform: translateX(calc(-300px * 5)); }
}
main section#home-archive div.slide div.row {
	width: 300px;
}
main section#home-archive a.alternate {
	height: calc(100% - 200px);
}

/* company
-------------------------------------------------------------------------------- */

body.company main section:where(#philosophy, #message, #overview)::before {
	width: calc(100% - 40px);
	left: 20px;
}
body.company main section header {
	margin-bottom: 40px;
}
body.company main section header h2 {
	font-size: 1.5rem;
}
body.company main section header p.sub {
	font-size: 0.9375rem;
}
main section#philosophy div.list div.row {
	padding-left: 0px;
}
main section#philosophy div.list div.row:not(:last-child) {
	margin-bottom: 80px;
}
main section#philosophy div.list div.row h3 {
	position: static;
	left: auto;
	top: auto;
	margin-bottom: 40px;
}
main section#philosophy div.list div.row h3 i.icon {
	font-size: 2.5rem;
}
main section#philosophy div.list div.row h3 span {
	font-size: 1.375rem;
}
main section#philosophy div.list div.row-01 p.description {
	font-size: 1.5rem;
	line-height: 3.25rem;
	transform: translateY(0px);
}
main section#philosophy div.list div.row-01 p.description::before {
	display: none;
}
main section#philosophy div.list div.row-02 {
	padding-top: 0px;
}
main section#philosophy div.list div.row-02 h4 {
	margin-right: -20px
}
main section#philosophy div.list div.row-02 h4 img {
	width: calc(507px * 0.6875);
}
main section:where(#message, #overview) div.headline-body {
	display: block;
}
main section:where(#message, #overview) div.headline-body h3 {
	width: auto;
	font-size: 1.75rem;
	line-height: 3.25rem;
	margin-bottom: 20px;
	transform: translateY(0px);
}
main section:where(#message, #overview) div.headline-body div.body {
	width: auto;
}
main section#message div.headline-body div.body p:where(.description, .name) {
	margin-bottom: 40px;
}
main section#message div.headline-body div.body p.name span.main {
	font-size: 1.375rem;
}
main section#overview div.list-wrapper {
	display: block;
}
main section#overview div.headline-body {
	margin-bottom: 80px;
}
main section#overview div.list {
	width: auto;
}
main section#overview div.list div.row {
	display: block;
	padding: 20px 0px;
}
main section#overview div.list div.row p.label {
	width: auto;
}
main section#overview div.list div.row p.body {
	width: auto;
}
main section#location div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#location div.block div.list div.row {
	display: block;
	position: relative;
	padding: 20px 0px;
}
main section#location div.block div.list div.row h4 {
	width: auto;
}
main section#location div.block div.list div.row p.address {
	width: auto;
}
main section#location div.block div.list div.row p.tel {
	width: auto;
}
main section#location div.block div.list div.row p.google-maps {
	position: absolute;
	width: auto;
	right: 0px;
	top: 50px;
}
main section#history div.list div.row {
	display: block;
	padding: 30px 20px;
}
main section#history div.list div.row p.label {
	width: auto;
	margin-bottom: 5px;
}
main section#history div.list div.row p.body {
	width: auto;
}
main section#history div.list div.row p.body:not(:last-child)::before {
	width: 100%;
	left: 0px;
}

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

main section#business div.frame {
	padding: 30px 20px;
}
main section#business div.block:not(:last-child) {
	margin-bottom: 40px;
	padding-bottom: 40px;
}
main section#business div.block div.header {
	margin-bottom: 40px;
}
main section#business div.block div.header h2 {
	font-size: 1.5rem;
	line-height: 2rem;
}
main section#business div.block-summary div.column {
	display: block;
	margin-bottom: 40px;
	padding-bottom: 20px;
}
main section#business div.block-summary div.column::before {
	display: none;
}
main section#business div.block-summary div.column div.left {
	width: auto;
	margin-bottom: 20px;
}
main section#business div.block-summary div.column div.left h1 {
	font-size: 2.5rem;
	line-height: 2.5rem;
}
main section#business div.block-summary div.column div.right {
	width: auto;
}
main section#business div.block-summary div.column div.right h2 {
	text-align: center;
	font-size: 1.375rem;
	line-height: 2.5rem;
}
main section#business div.block-summary div.illust-text {
	display: block;
	margin: 0px 0px 80px 0px;
}
main section#business div.block-summary div.illust-text div.text {
	width: auto;
	margin-bottom: 20px;
}
main section#business div.block-summary div.illust-text p.illust {
	width: auto;
}
main section#business div.block-summary div.list {
	display: block;
	margin: 0px;
}
main section#business div.block-summary div.list div.row {
	width: auto;
	margin: 0px;
}
main section#business div.block-summary div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#business div.block-summary div.list div.row h3 {
	display: block;
	height: auto;
}
main section#business div.block-strengths div.list div.row {
	display: block;
}
main section#business div.block-strengths div.list div.row h3 {
	width: auto;
	margin-bottom: 10px;
}
main section#business div.block-strengths div.list div.row p.description {
	width: auto;
}
main section#business div.block-products div.list {
	display: block;
	margin: 0px 0px 40px 0px;
}
main section#business div.block-products div.list div.row {
	width: auto;
	margin: 0px;
}
main section#business div.block-products div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#business div.block-products div.list div.row-horizontal {
	display: block;
	width: auto;
	margin-right: 0px;
}
main section#business div.block-products div.list div.row-horizontal p.image {
	width: auto;
	margin: 0px 0px 20px 0px;
}
main section#business div.block-products div.list div.row-horizontal div.text {
	width: auto;
}
main section#business div.block-manufacturers ul {
	display: block;
}
main section#business div.block-manufacturers ul li {
	width: auto;
}
main section#business div.block-manufacturers ul li:where(:nth-child(4n+1), :nth-child(4n+2)) {
	background-color: transparent;
}
main section#business div.block-manufacturers ul li:nth-child(2n+1) {
	background-color: #f5f5f5;
}
main nav#navi-bottom-business {
	width: auto;
	padding: 0px 20px 120px 20px;
}
main nav#navi-bottom-business h2 {
	font-size: 1.375rem;
}
main nav#navi-bottom-business div.list {
	display: block;
}
main nav#navi-bottom-business div.list div.row {
	width: auto;
	text-align: left;
	margin-right: 0px;
}
main nav#navi-bottom-business div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main nav#navi-bottom-business div.list div.row a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	height: auto;
	padding: 20px 20px 20px 115px;
}
main nav#navi-bottom-business div.list div.row p.icon {
	position: absolute;
	left: 20px;
	top: calc(50% - 25px);
	margin-bottom: 0px;
}
main nav#navi-bottom-business div.list div.row p.icon img {
	width: calc(150px * 0.5);
}
main nav#navi-bottom-business div.list div.row :where(h3, p.sub) {
	width: 100%;
}

/* group
-------------------------------------------------------------------------------- */

main section#group div.block:not(:last-child) {
	margin-bottom: 120px;
}
main section#group div.block div.header {
	margin-bottom: 40px;
}
main section#group div.block div.header h2 {
	font-size: 1.5rem;
	line-height: 2rem;
}
main section#group div.block-summary h1 {
	margin-bottom: 40px;
}
main section#group div.block-summary h1 svg {
	height: calc(34px * 0.75);
}
main section#group div.block-summary p.description {
	width: auto;
}
main section#group div.block-overview div.list {
	display: block;
	margin: 0px;
}
main section#group div.block-overview div.list div.row {
	width: auto;
	margin: 0px;
}
main section#group div.block-overview div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#group div.block-overview div.list div.row h3 {
	display: block;
	height: auto;
}
main section#group div.block-overview div.list div.row-horizontal {
	display: block;
	width: auto;
	margin-right: 0px;
}
main section#group div.block-overview div.list div.row-horizontal p.image {
	width: auto;
	margin: 0px 0px 20px 0px;
}
main section#group div.block-overview div.list div.row-horizontal div.text {
	width: auto;
}
main section#group div.block-strengths div.list {
	display: block;
	margin-right: 0px;
}
main section#group div.block-strengths div.list div.row {
	width: auto;
	margin-right: 0px;
}
main section#group div.block-strengths div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#group div.block-strengths div.list div.row h3 {
	display: block;
	height: auto;
}
main section#group div.block-products div.list {
	display: block;
	margin: 0px;
}
main section#group div.block-products div.list div.row {
	width: auto;
	margin: 0px;
}
main section#group div.block-products div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#group div.block-products div.list div.row p.description {
	min-height: 0px;
}
main section#group div.block-manufacturers ul {
	display: block;
}
main section#group div.block-manufacturers ul li {
	width: auto;
}
main section#group div.block-manufacturers ul li:where(:nth-child(4n+1), :nth-child(4n+2)) {
	background-color: transparent;
}
main section#group div.block-manufacturers ul li:nth-child(2n+1) {
	background-color: #f5f5f5;
}
main section#group div.block-specialty div.list {
	display: block;
	margin: 0px;
}
main section#group div.block-specialty div.list div.row {
	width: auto;
	margin: 0px;
}
main section#group div.block-specialty div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#group div.block-location div.list {
	margin-bottom: 120px;
}
main section#group div.block-location div.list div.row:not(:last-child) {
	margin-bottom: 40px;
	padding-bottom: 40px;
}
main section#group div.block-location div.list div.row div.map-text {
	display: block;
}
main section#group div.block-location div.list div.row div.map-text div.text {
	width: auto;
	margin-bottom: 20px;
}
main section#group div.block-location div.list div.row div.map-text div.map {
	width: auto;
}
main section#group div.block-location div.list div.row div.map-text div.map iframe {
	height: 280px;
}
main section#group div.block-location div.image {
	display: block;
	margin: 0px;
}
main section#group div.block-location div.image p.row {
	width: auto;
	cursor: default;
	margin: 0px;
}
main section#group div.block-location div.image p.row:not(:last-child) {
	margin-bottom: 20px;
}
main nav#navi-bottom-group {
	width: auto;
	padding: 0px 20px 120px 20px;
}
main nav#navi-bottom-group h2 {
	font-size: 3.5rem;
	line-height: 3.5rem;
	margin-bottom: 40px;
	padding-bottom: 20px;
}
main nav#navi-bottom-group p.sub {
	font-size: 0.6875rem;
	line-height: 1.25rem;
	margin: 0px 0px -15px 40px;	
}
main nav#navi-bottom-group div.list {
	display: block;
	margin: 0px;
}
main nav#navi-bottom-group div.list div.row {
	width: auto;
	margin: 0px;
}
main nav#navi-bottom-group div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}

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

main div.list-news div.row a {
	display: block;
	padding: 30px 20px;
}
main div.list-news div.row div.created-category {
	width: auto;
	margin-bottom: 15px;
}
main div.list-news div.row h3 {
	width: auto;
}
main article.news header {
	margin-bottom: 40px;
	padding-bottom: 20px;
}

/* work
-------------------------------------------------------------------------------- */

main div.list-work {
	display: block;
	margin: 0px;
}
main div.list-work div.row {
	width: auto;
	margin: 0px;
}
main div.list-work div.row:not(:last-child) {
	margin-bottom: 40px;
}
main article.work p.image-vertical {
	aspect-ratio: auto;
}
main article.work p.image-vertical img {
	object-fit: fill;
	height: auto;
}
main article.work header:not(:last-child) {
	margin-bottom: 40px;
}

/* sustainability
-------------------------------------------------------------------------------- */

main section#sustainability div.list {
	display: block;
	margin: 0px;
}
main section#sustainability div.list div.row {
	margin: 0px;
	padding: 30px 20px;
}
main section#sustainability div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#sustainability div.list div:where(.row-01, .row-04, .row-05) {
	width: auto;
}
main section#sustainability div.list div:where(.row-02, .row-03) {
	width: auto;
}

/* archive
-------------------------------------------------------------------------------- */

main div.list-archive {
	display: block;
	margin: 0px;
}
main div.list-archive div.row {
	width: auto;
	margin: 0px;
}
main div.list-archive div.row:not(:last-child) {
	margin-bottom: 40px;
}
main article.archive p.image-vertical {
	aspect-ratio: auto;
}
main article.archive p.image-vertical img {
	object-fit: fill;
	height: auto;
}
main article.archive header:not(:last-child) {
	margin-bottom: 40px;
}

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

main section.form div.header {
	margin-bottom: 80px;
}
main section.form div.component-wrapper {
	margin-bottom: 40px;
}
main section.form div.component {
	display: block;
}
div.confirm main section.form div.component {
	padding: 20px 0px;
}
main section.form div.component p.label {
	display: block;
	width: auto;
	height: auto;
	margin-bottom: 10px;
}
div.confirm main section.form div.component p.label {
	margin-bottom: 5px;
}
main section.form div.component div.body {
	width: auto;
}
main section.form div.agreement {
	margin-bottom: 40px;
}
main section.form div.action {
	display: block;
}
main section.form div.action :where(input[type=button], input[type=submit], button) {
	margin: 0px auto;
}
main section.form div.action :where(input[type=button], input[type=submit], button):not(:last-child) {
	margin-bottom: 20px;
}

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

main section#privacy-policy div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#privacy-policy div.block h2 {
	font-size: 1.625rem;
}
main section#privacy-policy div.block div.list div.row {
	padding-left: 70px;
}
main section#privacy-policy div.block div.list div.row::before {
	left: 40px;
}
main section#privacy-policy div.block div.list div.row p.number {
	font-size: 1.625rem;
}



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

div#modal {
	display: none;
}



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

footer#footer p#button-page-top {
	right: 10px;
	bottom: 10px;
}
div.footer footer#footer p#button-page-top {
	top: -30px;
}
footer#footer div.inner-footer {
	width: auto;
	padding: 80px 20px 40px 20px;
}
footer#footer div.banner {
	margin-bottom: 40px;
}
footer#footer div.banner div.list {
	display: block;
}
footer#footer div.banner div.list div.row {
	width: auto;
}
footer#footer div.banner div.list div.row a {
	height: 85px;
	padding: 15px 20px;
}
footer#footer div.banner div.list div.row:not(:last-child) a {
	border-right: none;
	border-bottom: 1px solid #ffffff;
}
footer#footer div.banner div.list div.row h3 {
	font-size: 1.625rem;
}
footer#footer div.banner div.list div.row i.icon-symbol {
	font-size: 2rem;
}
footer#footer div.logo-navi-footer {
	display: block;
	border-bottom: none;
	margin-bottom: 20px;
	padding-bottom: 0px;
}
footer#footer div.logo-navi-footer h3 {
	width: auto;
}
footer#footer div.logo-navi-footer h3 svg {
	width: calc(157px * 0.75);
}
footer#footer div.logo-navi-footer nav#navi-footer {
	display: none;
}
footer#footer p.instagram {
	display: none;
}
footer#footer div.information {
	margin-bottom: 20px;
}
footer#footer div.information p.label {
	display: none;
}
footer#footer div.information p.address span.google-maps {
	display: block;
	margin-left: 0px;
}
footer#footer p:where(.privacy-policy, .copyright) {
	position: static;
	right: auto;
}
footer#footer p.privacy-policy {
	bottom: auto;
	margin-bottom: 40px;
}
footer#footer p.copyright {
	bottom: auto;
}
