@charset "utf-8";



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

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



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

div#page {
	padding-top: 70px;
}
div#language {
	right: 10px;
}
body.menu-header:not(.menu-header-products).admin-bar div#language {
	top: 0px;
}
p.image img.large {
	display: none;
}
p.image img.small {
	display: block;
}
div.table-wrapper {
	max-width: 100%;
	overflow: auto;
	padding-bottom: 1px;
	-webkit-overflow-scrolling: touch;
}
div.table-wrapper::-webkit-scrollbar {
	height: 15px;
}
div.table-wrapper::-webkit-scrollbar-track {
	background: linear-gradient(180deg, transparent 79.99%, #696969 80%, #696969 86.66%, transparent 86.67%, transparent 100%);
}
div.table-wrapper::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, transparent 66.66%, #696969 66.67%, #696969 100%);
}

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

body.home div#page {
	padding-top: 0px;
}

/* en
-------------------------------------------------------------------------------- */

body.en div#page {
	padding-top: 0px;
}



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

header#header *#logo {
	left: 20px;
	top: 20px;
}
body.admin-bar header#header *#logo {
	top: 20px;
}
header#header *#logo a {
	height: 36px;
}
header#header p#button-menu {
	width: 40px;
	height: 40px;
	right: 20px;
	top: 18px;
}
body.admin-bar header#header p#button-menu {
	top: 18px;
}
header#header p#button-menu::before {
	bottom: 0px;
	font-size: 0.625rem;
}
header#header p#button-menu i {
  width: 40px;
  left: calc(50% - 20px);
	top: calc(50% - 8px);
}
header#header p#button-menu i:nth-child(1) {
	transform: translateY(-5px);
}
header#header p#button-menu i:nth-child(2) {
	transform: translateY(5px);
}
header#header div#menu {
	transform: translateX(100%);
	transition: 0.25s transform ease;
}
body.admin-bar header#header div#menu {
	height: 100%;
	top: 0px;
}
body.menu-header header#header div#menu {
	transform: translateX(0%);
}
body.menu-header-products header#header div#menu {
	background-color: #404040;
}
header#header nav#navi {
	overflow: auto;
}
header#header nav#navi div.products,
header#header nav#navi div.misc-sns,
header#header nav#navi div.background {
	display: block;
	position: static;
	height: auto;
	top: auto;
}
header#header nav#navi div.products {
	display: none;
	width: auto;
	left: auto;
	padding: 80px 40px 40px 40px;
}
@media (max-width:360px) {
header#header nav#navi div.products {
	padding-left: 20px;
	padding-right: 20px;
}
}
body.menu-header-products header#header nav#navi div.products {
	display: block;
}
header#header nav#navi div.products::before {
	display: none;
}
header#header nav#navi div.products p.button-close {
	position: fixed;
	width: 40px;
	height: 40px;
	right: calc(calc(calc(calc(50% - 45px) - 40px) * 0.5) + 40px);
	top: auto;
	bottom: 5px;
}
body.menu-header-products header#header nav#navi div.products p.button-close {
	display: block;
}
header#header.open-products nav#navi div.products p.button-close {
	transform: none;
}
header#header nav#navi div.products p.button-close::before,
header#header nav#navi div.products p.button-close::after {
	width: 40px;
  left: calc(50% - 20px);
	top: calc(50% - 8px);
}
header#header nav#navi div.products p.button-close span {
	bottom: 0px;
	font-size: 0.625rem;
}
header#header nav#navi div.products div.inner-products {
	max-width: none;
}
header#header nav#navi div.products h2 span.main {
	font-size: 2rem;
	line-height: 2.5rem;
}
header#header nav#navi div.products h2 span.sub {
	font-size: 0.75rem;
}
header#header nav#navi div.products h2 span.sub-alternate {
	right: 45px;
	top: 12.5px;
}
header#header nav#navi div.products h2 span.arrow {
	width: 35px;
	height: 35px;
	top: 5px;
	font-size: 0.5rem;
}
header#header nav#navi div.products div.list div.row p.headline {
	position: relative;
	font-size: 1rem;
	padding: 10px 0px 10px 10px;
}
header#header nav#navi div.products div.list div.row p.headline span.button {
	position: absolute;
	width: 10px;
	height: 10px;
	right: 18.5px;
	top: calc(50% - 5px);
}
header#header nav#navi div.products div.list div.row p.headline span.button::before,
header#header nav#navi div.products div.list div.row p.headline span.button::after {
	position: absolute;
	width: 8px;
	height: 2px;
	left: 0px;
	top: calc(50% - 1px);
	background-color: #999999;
	content: "";
	transition: 0.25s background-color ease, 0.25s opacity ease, 0.25s transform ease;
}
header#header nav#navi div.products div.list div.row p.headline:hover span.button::before,
header#header nav#navi div.products div.list div.row p.headline:hover span.button::after {
	background-color: #fcfaf5;
}
header#header nav#navi div.products div.list div.row p.headline span.button::after {
	transform: rotate(90deg);
}
header#header nav#navi div.products div.list div.row.open p.headline span.button::before {
	opacity: 0;
	transform: rotate(90deg);
}
header#header nav#navi div.products div.list div.row.open p.headline span.button::after {
	transform: rotate(180deg);
}
header#header nav#navi div.products div.list div.row div.nest {
	position: static;
	width: auto;
	height: 0px;
	left: auto;
	top: auto;
	overflow: hidden;
	padding: 0px 0px 0px 50px;
	opacity: 1;
	transition: none;
}
header#header nav#navi div.products div.list div.row div.nest-child {
	padding-top: 0px;
}
header#header nav#navi div.products div.list div.row div.nest:not(.nest-child) {
	padding-top: 0px;
}
header#header nav#navi div.products div.list div.row div.nest:not(.nest-child)::before {
	display: none;
}
header#header nav#navi div.products div.list div.row div.nest div.list-nest {
	display: block;
	height: auto;
}
header#header nav#navi div.products div.list div.row div.nest p {
	font-size: 1rem;
}
header#header nav#navi div.products div.list div.row div.nest ul {
	padding-bottom: 20px;
}
header#header nav#navi div.misc-sns {
	width: auto;
	right: auto;
	padding: 0px;
}
header#header nav#navi div.misc-sns div.inner-misc-sns {
	max-width: none;
	padding-bottom: 0px;
}
header#header nav#navi div.misc-sns div.misc {
	display: block;
	padding: 90px 40px 40px 40px;
}
@media (max-width:360px) {
header#header nav#navi div.misc-sns div.misc {
	padding-left: 20px;
	padding-right: 20px;
}
}
header#header nav#navi div.misc-sns div.misc > ul {
	width: auto;
}
header#header nav#navi div.misc-sns div.misc > ul > li {
	display: block;
	border-bottom: 1px solid rgba(255, 255, 255, 0.125);
}
header#header nav#navi div.misc-sns div.misc > ul > li:not(.column):not(.shop) {
	margin-bottom: 0px;
}
header#header nav#navi div.misc-sns div.misc > ul > li.home,
header#header nav#navi div.misc-sns div.misc > ul > li.products,
header#header nav#navi div.misc-sns div.misc > ul > li.privacy-policy {
	display: block;
}
header#header nav#navi div.misc-sns div.misc > ul > li > a {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	position: relative;
	margin-right: -40px;
	padding: 10px;
}
header#header nav#navi div.misc-sns div.misc > ul > li > a span.button {
	position: absolute;
	width: 25px;
	height: 25px;
	right: 50px;
	top: calc(50% - 12.5px);
	overflow: hidden;
	background-color: #fcfaf5;
	border-radius: 50%;
}
header#header nav#navi div.misc-sns div.misc > ul > li > a span.button::before,
header#header nav#navi div.misc-sns div.misc > ul > li > a span.button i {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}
header#header nav#navi div.misc-sns div.misc > ul > li > a span.button::before {
	content: "";
	opacity: 0;
	background-color: #404040;
	border-radius: 50%;
	transform: scale(0);
	transition: 0.25s opacity ease, 0.25s transform ease;
}
header#header nav#navi div.misc-sns div.misc > ul > li > a span.button:hover::before {
	opacity: 1;
	transform: scale(1.025);
}
header#header nav#navi div.misc-sns div.misc > ul > li > a span.button i {
	z-index: 1;
}
header#header nav#navi div.misc-sns div.misc > ul > li > a span.button i::before,
header#header nav#navi div.misc-sns div.misc > ul > li > a span.button i::after {
	position: absolute;
	width: 8px;
	height: 2px;
	left: calc(50% - 4px);
	top: calc(50% - 1px);
	background-color: #999999;
	content: "";
	transition: 0.25s background-color ease, 0.25s opacity ease, 0.25s transform ease;
}
header#header nav#navi div.misc-sns div.misc > ul > li > a span.button:hover i::before,
header#header nav#navi div.misc-sns div.misc > ul > li > a span.button:hover i::after {
	background-color: #fcfaf5;
}
header#header nav#navi div.misc-sns div.misc > ul > li > a span.button i::after {
	transform: rotate(90deg);
}
header#header nav#navi div.misc-sns div.misc > ul > li.open > a span.button i::before {
	opacity: 0;
	transform: rotate(90deg);
}
header#header nav#navi div.misc-sns div.misc > ul > li.open > a span.button i::after {
	transform: rotate(180deg);
}
header#header nav#navi div.misc-sns div.misc > ul > li > a > span.main {
	font-size: 1.25rem;
	line-height: 2rem;
	margin: 0px 10px 0px 0px;
}
header#header nav#navi div.misc-sns div.misc > ul > li > a > span.sub {
	font-size: 0.75rem;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest,
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row div.nest-nest {
	height: 0px;
	overflow: hidden;
	pointer-events: none;
}
header#header nav#navi div.misc-sns div.misc > ul > li.open div.nest,
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row.open div.nest-nest {
	pointer-events: auto;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest {
	color: #999999;
	margin: 0px -40px;
	background-color: #fcfaf5;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list {
	padding: 30px 40px;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row:not(:last-child) {
	border-bottom: 1px solid #e2e2e2;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row p.headline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	font-size: 1rem;
	font-weight: 500;
	line-height: 2rem;
	cursor: pointer;
	padding: 10px 0px 10px 10px;
	transition: 0.25s color ease;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row p.headline:hover,
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row.open p.headline {
	color: #404040;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row p.headline span.arrow {
	width: 25px;
	height: 25px;
	font-size: 0.5rem;
	color: #fcfaf5;
	margin-right: 15px;
	background-color: #999999;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row p.headline span.arrow::before {
	background-color: #404040;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row.open p.headline span.arrow::before {
	opacity: 1;
	transform: scale(1);
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row p.headline span.button {
	position: absolute;
	width: 10px;
	height: 10px;
	right: 18.5px;
	top: calc(50% - 5px);
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row p.headline span.button::before,
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row p.headline span.button::after {
	position: absolute;
	width: 8px;
	height: 2px;
	left: 0px;
	top: calc(50% - 1px);
	background-color: #999999;
	content: "";
	transition: 0.25s background-color ease, 0.25s opacity ease, 0.25s transform ease;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row p.headline:hover span.button::before,
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row p.headline:hover span.button::after {
	background-color: #404040;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row p.headline span.button::after {
	transform: rotate(90deg);
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row.open p.headline span.button::before {
	opacity: 0;
	transform: rotate(90deg);
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row.open p.headline span.button::after {
	transform: rotate(180deg);
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row div.nest-nest {
	color: #404040;
	padding: 0px 0px 0px 50px;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row div.nest-nest p {
	font-size: 1rem;
	font-weight: 500;
	margin-bottom: 10px;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row div.nest-nest ul {
	padding-bottom: 20px;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row div.nest-nest ul li:not(:last-child) {
	margin-bottom: 5px;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row div.nest-nest ul li a {
	display: block;
	position: relative;
	padding-left: 10px;
	transition: 0.25s color ease;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row div.nest-nest ul li a:hover {
	color: #999999;
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row div.nest-nest ul li a::before {
	position: absolute;
	width: 5px;
	height: 0px;
	left: 0px;
	top: 15px;
	border-bottom: 1px solid #404040;
	content: "";
}
header#header nav#navi div.misc-sns div.misc > ul > li div.nest div.list div.row div.nest-nest ul li a:hover::before {
	border-color: #999999;
}
header#header nav#navi div.misc-sns div.sns {
	position: static;
	left: auto;
	bottom: auto;
	padding: 40px 0px;
	background-color: #fcfaf5;
}
header#header nav#navi div.misc-sns div.sns ul {
	justify-content: center;
}
header#header nav#navi div.background {
	display: none;
}

/* en
-------------------------------------------------------------------------------- */

body.en header#header nav#navi > ul {
	width: auto;
	padding: 100px 40px 40px 40px;
}
body.en header#header nav#navi > ul > li:not(:last-child) {
	margin-bottom: 20px;
}
body.en header#header nav#navi > ul > li > a {
	font-size: 1.5rem;
	line-height: 2.25rem;
}
body.en header#header nav#navi > ul > li div.nest ul {
	padding-top: 10px;
}
body.en header#header nav#navi > ul > li div.nest ul li:not(:last-child) {
	margin-bottom: 10px;
}



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

div#breadcrumb {
	display: block;
	height: auto;
	min-height: 2.5rem;
	padding: 0px 20px;
}



/* --------------------------------------------------------------------------------
cover, title
-------------------------------------------------------------------------------- */

body.admin-bar div#cover {
	height: 100vh;
}
div#cover p.image img {
	clip-path: circle(150% at 50% 37.5%);
}
body.cover div#cover p.image img {
	clip-path: circle(32.5% at 50% 37.5%);
}
@media (max-height:980px) {
body.cover div#cover p.image img {
	clip-path: circle(32.5% at 50% 37.5%);
}
}
@media (max-height:800px) {
body.cover div#cover p.image img {
	clip-path: circle(32.5% at 50% 37.5%);
}
}
div#cover div.text h2 {
	left: 40px;
	top: calc(50% + 80px);
	line-height: 4rem;
}
@media (orientation:landscape) {
div#cover div.text h2 {
	top: calc(50% + 20px);
}
}
body.cover div#cover div.text h2 {
	font-size: 3.5rem;
	transform: translate(0px, 0px);
}
body.cover div#cover div.text h2 span:nth-child(2)::after {
	display: block;
	width: 100%;
	content: "";
}
div#cover p#button-scroll {
	right: 10px;
}
div#title div.text,
div#title-products div.text {
	display: block;
	width: auto;
	height: auto;
}
div#title div.text {
	padding: 40px 0px 0px 40px;
}
div#title div.text:not(:last-child) {
	margin-bottom: 40px;
}
div#title div.text h1 {
	font-size: 3rem;
	line-height: 4rem;
	margin-right: 0px;
}
div#title div.text p.sub {
	font-size: 0.875rem;
	transform: translateY(0px);
}
div#title div.image {
	height: 700px;
}
body.products div#title div.image {
	background-image: url(../images/title-image-products-small.jpg);
}
body.works div#title div.image {
	background-image: url(../images/title-image-works-small.jpg);
}
body.business div#title div.image {
	background-image: url(../images/title-image-business-small.jpg);
}
body.about-us div#title div.image {
	background-image: url(../images/title-image-about-us-small.jpg);
}
body.sustainability div#title div.image {
	background-image: url(../images/title-image-sustainability-small.png);
}
body.faq div#title div.image {
	background-image: url(../images/title-image-faq-small.jpg);
}
div#title div.image div.text-image {
	width: calc(100% - 80px);
	left: 40px;
	bottom: 60px;
}
div#title-products div.text {
	padding: 40px 20px 0px 40px;
}
div#title-products div.text div.title {
	display: block;
}
div#title-products div.text div.title h1 {
	font-size: 2.25rem;
	line-height: 2.75rem;
}
div#title-products div.text div.title h1:not(:last-child) {
	margin-right: 0px;
}
div#title-products div.text div.title p.sub {
	font-size: 0.875rem;
}

/* en
-------------------------------------------------------------------------------- */

body.en div#cover div.text {
	position: static;
	height: auto;
	left: auto;
	top: auto;
	padding: 62.5vh 40px 0px 40px;
}
@media (orientation:landscape) {
body.en div#cover div.text {
	padding-top: 87.5vh;
}
}
body.en div#cover div.text h2,
body.en div#cover div.text p.description {
	position: static;
	left: auto;
	top: auto;
}
body.en div#cover div.text h2 {
	font-size: 1.5rem;
	line-height: 2.25rem;
	color: #404040;
	margin-bottom: 40px;
	transition: 1.25s opacity 2.75s ease-in-out;
}
body.en.cover div#cover div.text h2,
body.en.cover div#cover div.text p.description {
	transform: translate(0px, 0px);
}
body.en.cover div#cover div.text h2 {
	font-size: 1.5rem;
}
body.en div#cover div.text p.description {
	width: auto;
	color: #404040;
	transition: 1.25s opacity 2.875s ease-in-out;
}



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

main.sidebar {
	min-height: 0px;
}
main section div.inner-section {
	width: auto;
	padding: 80px 40px;
}
main.sidebar section div.inner-section {
	width: auto;
	padding-left: 40px;
}
main div#pager,
main nav#navi-article {
	margin-top: 80px;
}
main div#pager a.prev {
	margin-right: 20px;
}
main div#pager a.next {
	margin-left: 20px;
}
main nav#navi-article ul {
	width: auto;
}

/* sidebar
-------------------------------------------------------------------------------- */

main aside#sidebar {
	position: relative;
	width: auto;
	left: auto;
	top: auto;
	z-index: 5;
	padding: 80px 40px 0px 40px;
}
body.products main aside#sidebar,
body.business main aside#sidebar,
body.about-us main aside#sidebar,
body.sustainability main aside#sidebar {
	padding: 0px;
}
main aside#sidebar.fixed {
	position: relative;
}
body.admin-bar main aside#sidebar.fixed {
	padding-top: 0px;
}
main aside#sidebar.fixed.release {
	position: relative;
}
body.products main aside#sidebar div.block,
body.business main aside#sidebar div.block,
body.about-us main aside#sidebar div.block,
body.sustainability main aside#sidebar div.block {
	display: none;
}
main aside#sidebar div.block h3 {
	font-size: 0.875rem;
}
main aside#sidebar div.block ul {
	display: none;
}
main aside#sidebar div.block select {
	display: block;
	width: 100%;
}
main aside#sidebar p.button-catalog-alternate,
main aside#sidebar p.button-contact-alternate,
main aside#sidebar p.button-products {
	position: fixed;
	width: calc(33.33% - 18.33px);
	height: 50px;
	bottom: 0px;
	text-align: center;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.125rem;
}
main aside#sidebar p.button-catalog-alternate {
	left: 20px;
	top: auto;
}
main aside#sidebar p.button-contact-alternate {
	left: calc(50% - calc(calc(33.33% - 18.33px) * 0.5));
	top: auto;
}
main aside#sidebar p.button-products {
	left: auto;
	right: 20px;
	top: auto;
}
body.admin-bar main aside#sidebar.fixed p.button-catalog-alternate {
	top: auto;
}
body.admin-bar main aside#sidebar.fixed p.button-contact-alternate {
	top: auto;
}
body.admin-bar main aside#sidebar.fixed p.button-products {
	top: auto;
}
main aside#sidebar p.button-catalog-alternate a,
main aside#sidebar p.button-contact-alternate a,
main aside#sidebar p.button-products a {
	justify-content: center;
	padding-left: 0px;
	border-radius: 5px 5px 0px 0px;
}
main aside#sidebar p.button-catalog-alternate a span.arrow,
main aside#sidebar p.button-contact-alternate a span.arrow,
main aside#sidebar p.button-products a span.arrow {
	display: none !important;
}

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

main section#home-menu div.inner-section {
	padding-left: 0px;
	padding-right: 0px;
}
main section#home-menu div.list div.row:not(:last-child) {
	margin-bottom: 120px;
}
main section#home-menu div.list div.row:nth-child(2n+1) {
	transform: translateX(0px);
}
main section#home-menu div.list div.row h2 {
	display: block;
	width: auto;
	font-size: 3.5rem;
	line-height: 4rem;
	margin-bottom: 20px;
	transform: translateX(60px);
}
main section#home-menu div.list div.row:nth-child(3) h2 span.main {
	right: auto;
}
main section#home-menu div.list div.row p.image {
	width: auto;
	height: auto;
	border-radius: 0px;
}
main section#home-menu div.list div.row:nth-child(2n+1) p.image {
	transform: translateX(0px);
}
main section#home-menu div.list div.row:nth-child(2n) p.image {
	transform: translateX(0px);
}
main section#home-menu div.list div.row div.text {
	width: calc(100% - 60px);
	margin-top: -60px;
	padding: 40px;
}
main section#home-menu div.list div.row:nth-child(2n+1) div.text {
	margin-right: 0px;
	border-radius: 10px 0px 0px 10px;
}
main section#home-menu div.list div.row:nth-child(2n) div.text {
	margin-left: 0px;
	border-radius: 0px 10px 10px 0px;
}
main section#home-menu div.list div.row:nth-child(4) div.text {
	width: calc(100% - 60px);
}
main section#home-menu div.list div.row div.text h3 {
	font-size: 1.375rem;
	line-height: 2.25rem;
}
main section#home-menu div.list div.row div.text p.more span.arrow {
	width: 35px;
	height: 35px;
	font-size: 0.5rem;
}
main section#home-news div.inner-section {
	width: auto;
}
main section#home-news header,
main section#home-column header {
	margin-bottom: 40px;
}
main section#home-news header h2,
main section#home-column header h2 {
	font-size: 2.5rem;
	line-height: 3rem;
	margin-right: 20px;
}
main section#home-news header p.more,
main section#home-column header p.more {
	font-size: 0.875rem;
	transform: translateY(-2px);
}
main section#home-column div.inner-section,
main section#home-menu-alternate div.inner-section {
	width: auto;
}
main section#home-column header {
	padding-left: 0px;
}
main section#home-menu-alternate div.button-wrapper {
	display: block;
}
main section#home-menu-alternate div.button-wrapper p.button {
	width: auto;
}
main section#home-menu-alternate div.button-wrapper p.button:not(:last-child) {
	margin-bottom: 20px;
}
main section#home-menu-alternate div.button-wrapper p.button a {
	height: 120px;
}
main section#home-menu-alternate div.button-wrapper p.button i.main {
	font-size: 1.75rem;
	line-height: 2.25rem;
}
main section#home-menu-alternate div.button-wrapper p.button i.sub {
	font-size: 0.875rem;
}
main section#home-menu-alternate div.button-wrapper p.button span.arrow {
	width: 35px;
	height: 35px;
	right: 20px;
	top: auto;
	bottom: 20px;
	font-size: 0.5rem;
}

/* products
-------------------------------------------------------------------------------- */

main section#products div.block {
	padding: 80px 0px;
}
main section#products div.header {
	margin-bottom: 60px;
	padding-bottom: 40px;
}
main section#products div.header h2 {
	font-size: 1.75rem;
	line-height: 2.25rem;
	margin: 0px -40px 10px -40px;
}
main section#products div.header p.description {
	text-align: justify;
}
main section#products div.header p.description br {
	display: none;
}
main section#products div.segment:not(:last-child) {
	margin-bottom: 80px;
	padding-bottom: 80px;
}
main section#products div.segment h3.headline {
	font-size: 1.5rem;
	line-height: 2.25rem;
	margin-bottom: 60px;
}
main section#products div.list-products {
	margin-left: -40px;
	margin-right: -40px;
}
main section#products div.list-products div.row {
	display: block;
}
main section#products div.list-products div.row:not(:last-child) {
	margin-bottom: 60px;
}
main section#products div.list-products div.row p.image {
	width: calc(100% - 40px);
}
main section#products div.list-products div.row:nth-child(2n+1) p.image {
	margin: 0px 0px 20px auto;
	border-radius: 10px 0px 0px 10px;
}
main section#products div.list-products div.row:nth-child(2n) p.image {
	margin: 0px auto 20px 0px;
	border-radius: 0px 10px 10px 0px;
}
main section#products div.list-products div.row div.text {
	width: auto;
	padding: 0px 40px;
}
main section#products div.list-products div.row div.text div.headline-description {
	margin-bottom: 20px;
}
main section#products div.list-products div.row div.text h3 {
	font-size: 1.375rem;
}
main section#products div.list-products div.row div.text h3:not(:last-child) {
	margin-bottom: 10px;
}
main section#products div.list-products div.row div.text p.button {
	justify-content: flex-end;
}
body.single-products section header {
	margin-bottom: 60px;
	padding-left: 0px;
}
body.single-products section header h2 {
	font-size: 2.25rem;
	line-height: 3.25rem;
}
body.single-products main section:not(#summary):not(#feature):not(#misc) div.content {
	padding-left: 0px;
}
body.single-products main section div.block:not(:last-child) {
	margin-bottom: 80px;
}
body.single-products main section div.block-border:not(:last-child) {
	margin-bottom: 60px;
	padding-bottom: 60px;
}
body.single-products main section div.block-over-left {
	margin-left: 0px;
}
body.single-products main section div.header {
	margin-bottom: 40px;
}
body.single-products main section div.header h3 {
	font-size: 1.25rem;
	line-height: 2.25rem;
}
body.single-products main section div.list-common div.row {
	padding: 0px;
}
body.single-products main section div.list-common div.row:not(:last-child) {
	margin-bottom: 40px;
	padding-bottom: 40px;
}
body.single-products main section div.list-common div.row h4 {
	font-size: 1.125rem;
	margin-bottom: 10px;
}
body.single-products main section div.list-common div.row h4 span {
	font-size: 0.875rem;
	line-height: 1.25rem;
}
body.single-products main section div.list-point {
	margin-left: -40px;
	margin-right: -40px;
}
body.single-products main section div.list-point div.row {
	width: 300px;
	height: 300px;
	margin: auto;
}
body.single-products main section div.list-point div.row-large {
	width: 380px;
	height: 380px;
}
body.single-products main p.button-catalog {
	display: block;
	text-align: center;
	font-size: 1rem;
	line-height: 1.5rem;
	margin-bottom: 80px;
}
body.single-products main p.button-catalog a {
	display: flex;
	width: auto;
	height: 80px;
	padding-right: 40px;
}
body.single-products main p.button-catalog a span.arrow {
	width: 35px;
	height: 35px;
	right: 20px;
	top: calc(50% - 17.5px);
	font-size: 0.5rem;
}
body.single-products main nav#navi-article ul li.prev a::before,
body.single-products main nav#navi-article ul li.next a::before {
	display: none;
}
main section#summary p.sub,
main section#summary h2 {
	margin-right: -40px;
}
main section#summary p.sub {
	font-size: 1rem;
}
main section#summary h2 {
	font-size: 1.5rem;
	line-height: 2.25rem;
}
main section#feature div.development,
main section#feature div.pass {
	position: static;
	top: 0px;
	margin: 0px auto 40px auto;
}
main section#feature div.development {
	right: auto;
}
main section#feature div.pass {
	right: auto;
}
main section#feature div.list {
	margin: 0px;
}
main section#feature div.list div.row {
	width: 100%;
	min-height: 0px;
	margin: 0px;
	padding: 40px 20px;
}
main section#feature div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#feature div.list div.row:nth-child(2) {
	margin-top: 0px;
}
main section#feature div.list div.row h3 {
	font-size: 1.125rem;
	margin-bottom: 10px;
}
main section#feature div.list div.row h3 span {
	font-size: 0.875rem;
	line-height: 1.25rem;
}
main section#feature div.image {
	display: block;
}
main section#feature div.image:not(:last-child) {
	margin-bottom: 20px;
}
main section#feature div.image-two-left {
	padding-right: 0px;
}
main section#feature div.image-two-right {
	padding-left: 0px;
}
main section#feature div.image p.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#feature div.image-one p.row {
	width: auto;
}
main section#feature div.image-two p.row {
	width: auto;
}
main section#feature div.image-two-separate p.row:nth-child(1) {
	width: auto;
}
main section#feature div.image-two-separate p.row:nth-child(2) {
	width: auto;
}
main section#feature div.image-three p.row {
	width: auto;
}
main section#feature div.detail {
	padding: 40px 0px;
}
main section#feature div.detail::before {
	left: -40px;
	border-radius: 0px;
}
main section#feature div.detail div.header,
main section#feature div.detail div.list-detail:not(:last-child),
main section#feature div.detail div.list-point-03:not(:last-child),
main section#feature div.detail p.image-03:not(:last-child) {
	margin-bottom: 40px;
}
main section#feature div.detail div.header p.sub {
	font-size: 1rem;
	line-height: 1.875rem;
}
main section#feature div.detail div.header h3 {
	font-size: 1.375rem;
	line-height: 2.25rem;
}
main section#feature div.detail div.list-detail div.row {
	width: auto;
}
main section#feature div.detail div.list-point div.row:not(:last-child) {
	margin-bottom: 10px;
}
main section#feature div.detail div.list-point-01 {
	height: auto;
}
main section#feature div.detail div.list-point-03 {
	display: block;
}
main section#feature div.detail div.list-point-01 div.row,
main section#feature div.detail div.list-point-02 div.row {
	position: static;
}
main section#feature div.detail div.list-point-01 div.row:nth-child(2n+1),
main section#feature div.detail div.list-point-03 div.row:nth-child(2n+1) {
	transform: translateX(30px);
}
main section#feature div.detail div.list-point-01 div.row:nth-child(2n),
main section#feature div.detail div.list-point-03 div.row:nth-child(2n) {
	transform: translateX(-30px);
}
main section#feature div.detail div.list-point-01 div.row:nth-child(1) {
	left: auto;
	top: auto;
}
main section#feature div.detail div.list-point-01 div.row:nth-child(2) {
	left: auto;
	top: auto;
}
main section#feature div.detail div.list-point-01 div.row:nth-child(3) {
	left: auto;
	top: auto;
}
main section#feature div.detail div.list-point-01 div.row:nth-child(4) {
	left: auto;
	top: auto;
}
main section#feature div.detail div.list-point-02 div.row {
	left: auto;
	top: auto;
}
main section#feature div.detail div.list-point-03 div.row:nth-child(1) {
	margin-right: auto;
}
main section#feature div.detail div.list-point-03 div.row:nth-child(2) {
	margin-top: 0px;
}
main section#feature div.detail p.image-01 {
	position: relative;
	width: auto;
	right: auto;
	top: auto;
	margin-bottom: 60px;
}
main section#feature div.detail p.image-02 {
	width: auto;
}
main section#feature div.detail p.image-03 {
	width: auto;
}
main section#feature div.detail div.image-caption {
	position: relative;
	width: auto;
	right: auto;
	top: auto;
	margin-bottom: 60px;
}
main section#feature div.detail div.image-caption p.caption {
	text-align: center;
}
main section#feature div.detail div.reason,
main section#feature div.detail div.comparison {
	padding: 40px 20px;
}
main section#feature div.detail div.reason h4,
main section#feature div.detail div.comparison h4 {
	font-size: 1rem;
	line-height: 1.75rem;
}
main section#feature div.detail div.reason h4::before,
main section#feature div.detail div.comparison h4::before {
	top: 15px;
}
main section#feature div.detail div.reason div.list-diagram {
	display: block;
	padding: 0px;
}
main section#feature div.detail div.reason div.list-diagram ul {
	width: auto;
	margin-bottom: 20px;
	padding-top: 0px;
}
main section#feature div.detail div.reason div.list-diagram p.diagram {
	width: auto;
}
main section#feature div.detail div.comparison div.list-comparison {
	display: block;
	margin-right: 0px;
}
main section#feature div.detail div.comparison div.list-comparison div.row-comparison {
	display: block;
	width: auto;
	margin-right: 0px;
}
main section#feature div.detail div.comparison div.list-comparison div.row-comparison:not(:last-child) {
	margin-bottom: 40px;
}
main section#feature div.detail div.comparison div.list-comparison div.row-comparison p.image {
	width: auto;
	margin: 0px -20px 20px -20px;
}
main section#feature div.detail div.comparison div.list-comparison div.row-comparison div.text {
	width: auto;
}
main section#feature div.detail div.comparison div.list-comparison div.row-comparison div.text h5 {
	margin-bottom: 5px;
}
main section#feature div.block-shape-kind {
	padding-left: 0px;
}
main section#feature div.block-shape-kind div.segment h4 {
	font-size: 1.125rem;
	line-height: 1.75rem;
	margin-bottom: 20px;
}
main section#feature div.block-shape-kind div.segment div.diagram-image {
	display: block;
}
main section#feature div.block-shape-kind div.segment div.diagram-image p.diagram {
	width: auto;
	margin-bottom: 20px;
}
main section#feature div.block-shape-kind div.segment div.diagram-image p.image {
	width: auto;
}
main section#feature div.block-shape-kind div.segment div.kind {
	padding: 40px 20px;
}
main section#feature div.block-shape-kind div.segment div.kind h5 {
	font-size: 1rem;
	line-height: 1.75rem;
	margin-bottom: 20px;
}
main section#feature div.block-shape-kind div.segment div.kind h5::before {
	top: 15px;
}
main section#feature div.block-shape-kind div.segment div.kind div.list-kind {
	display: block;
	margin: 0px;
}
main section#feature div.block-shape-kind div.segment div.kind div.list-kind div.row {
	width: auto;
	margin: 0px;
}
main section#feature div.block-shape-kind div.segment div.kind div.list-kind div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#spec div.list-diagram {
	display: block;
	margin: 0px;
}
main section#spec div.list-diagram div.row {
	width: auto;
	margin: 0px;
}
main section#spec div.list-diagram div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#spec div.list-diagram div.row h4,
main section#spec div.list-size div.row div.list-nest div.row-nest h4 {
	font-size: 1.125rem;
	margin-bottom: 10px;
}
main section#spec div.list-diagram div.row h4 span,
main section#spec div.list-size div.row div.list-nest div.row-nest h4 span {
	font-size: 0.875rem;
	line-height: 1.25rem;
}
main section#spec div.list-size div.row {
	padding: 0px;
}
main section#spec div.list-size div.row:not(:last-child) {
	margin-bottom: 40px;
	padding-bottom: 40px;
}
main section#spec div.list-size div.row h3 {
	font-size: 1.25rem;
	line-height: 2.25rem;
	padding-left: 0px;
}
main section#spec div.list-size div.row h3 span {
	font-size: 1.75rem;
}
main section#spec div.list-size div.row div.list-nest {
	display: block;
	margin-right: 0px;
}
main section#spec div.list-size div.row div.list-nest div.row-nest {
	width: auto;
	margin-right: 0px;
}
main section#spec div.list-size div.row div.list-nest div.row-nest:not(:last-child) {
	margin-bottom: 20px;
}
main section#spec div.list-point-01 {
	height: auto;
}
main section#spec div.list-point-01 div.row {
	position: static;
}
main section#spec div.list-point-01 div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#spec div.list-point-01 div.row:nth-child(1) {
	left: 0px;
	top: 0px;
}
main section#spec div.list-point-01 div.row:nth-child(2) {
	left: 0px;
	top: 0px;
}
main section#spec div.list-point-01 div.row:nth-child(3) {
	left: 0px;
	top: 0px;
}
main section#spec div.column {
	display: block;
}
main section#spec div.column div.left {
	margin-bottom: 40px;
}
main section#spec div.column-02 {
	padding-right: 0px;
}
main section#spec div.column-01 div.left {
	width: auto;
}
main section#spec div.column-01 div.right,
main section#spec div.column-02 div.right {
	width: auto;
}
main section#spec div.column-01 div.right div.image {
	display: block;
}
main section#spec div.image {
	display: block;
}
main section#spec div.image-two p.row {
	width: auto;
}
main section#spec p.diagram-extra-wide {
	width: auto;
}
main section#spec p.image-wide,
main section#spec p.diagram-wide {
	width: auto;
}
main section#spec p.image-wide-alternate,
main section#spec p.diagram-wide-alternate {
	width: auto;
}
main section#spec p.image-medium,
main section#spec p.diagram-medium,
main section#example p.diagram-medium {
	width: auto;
}
main section#spec p.image-narrow,
main section#spec p.diagram-narrow,
main section#special p.diagram-narrow,
main section#combined p.diagram-narrow,
main section#example p.diagram-narrow {
	width: auto;
}
main section#spec p.image-narrow-alternate,
main section#spec p.diagram-narrow-alternate {
	width: auto;
}
main section#spec p.image-extra-narrow,
main section#spec p.diagram-extra-narrow,
main section#combined p.diagram-extra-narrow {
	width: auto;
}
main section#spec p.image-extra-narrow-alternate,
main section#spec p.diagram-extra-narrow-alternate {
	width: auto;
}
main section#combined div.list-common div.row div.margin-side {
	padding: 0px;
}
main section#combined div.list-common div.row div.image,
main section#combined div.list-common div.row div.diagram,
main section#combined div.list-common div.row div.diagram-image {
	display: block;
	margin-right: 0px;
}
main section#combined div.list-common div.row div.image p.row,
main section#combined div.list-common div.row div.diagram p.row,
main section#combined div.list-common div.row div.diagram-image p.diagram,
main section#combined div.list-common div.row div.diagram-image p.image {
	margin-right: 0px;
}
main section#combined div.list-common div.row div.image p.row:not(:last-child),
main section#combined div.list-common div.row div.diagram p.row:not(:last-child),
main section#combined div.list-common div.row div.diagram-image p.diagram:not(:last-child),
main section#combined div.list-common div.row div.diagram-image p.image:not(:last-child) {
	margin-bottom: 20px;
}
main section#combined div.list-common div.row div.image p.row,
main section#combined div.list-common div.row div.diagram-image p.diagram,
main section#combined div.list-common div.row div.diagram-image p.image {
	width: auto;
}
main section#combined div.list-common div.row div.diagram p.row {
	width: auto;
}
main section#products-alternate div.list div.row:not(:last-child) {
	margin-bottom: 120px;
}
main section#products-alternate div.list div.row h3 {
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 2.25rem;
	margin-bottom: 20px;
}
main section#products-alternate div.list div.row h3 span {
	display: inline-block;
	font-size: 1.125rem;
	line-height: 1.5rem;
	margin-right: 10px;
	transform: translateY(1px);
}
main section#products-alternate div.list div.row div.diagram-table-wrapper {
	display: block;
}
main section#products-alternate div.list div.row div.diagram-table-wrapper:not(:last-child) {
	margin-bottom: 40px;
}
main section#products-alternate div.list div.row div.diagram-table-wrapper p.diagram {
	width: 300px;
	margin: 0px 0px 20px 0px;
}
main section#products-alternate div.list div.row div.diagram-table-wrapper div.table-wrapper {
	padding-top: 0px;
}
main section#movie div.content {
	padding: 0px;
}
main section#movie div.video-wrapper {
	margin-bottom: 40px;
}
main section#movie h3 {
	font-size: 1.125rem;
	margin-bottom: 10px;
}
main section#movie p.more span.text {
	margin-right: 10px;
}
main section#movie p.more span.arrow {
	width: 35px;
	height: 35px;
	font-size: 0.5rem;
}
body.single-products main section#works div#pager ul li.prev {
	margin-right: 20px;
}
body.single-products main section#works div#pager ul li.next {
	margin-left: 20px;
}

/* works
-------------------------------------------------------------------------------- */

main section div.list-works {
	display: block;
	margin: 0px;
}
main section div.list-works div.row {
	width: auto;
	margin: 0px;
}
main section div.list-works div.row:not(:last-child) {
	margin-bottom: 40px;
}

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

main section.service div.summary {
	display: block;
	margin-bottom: 60px;
}
main section.service div.summary p.image {
	transition: none;
}
main section.service div.summary p.image span {
	width: 400px;
	height: 400px;
}
main section.service.open div.summary p.image {
	transform: scale(1);
}
main section.service div.summary div.text {
	width: auto;
}
main section.service div.summary div.text h2 {
	font-size: 1.5rem;
	line-height: 2.5rem;
}
main section.service div.detail {
	margin-left: -40px;
	margin-right: -40px;
}
main section.service div.detail div.inner-detail {
	width: auto;
	padding: 60px 40px;
}
main section.service div.detail div.list div.row {
	padding: 0px;
	background-color: transparent;
	border-radius: 0px;
	box-shadow: none;
}
main section.service div.detail div.list div.row:not(:last-child) {
	border-bottom: 1px solid #e2e2e2;
	padding-bottom: 40px;
}
main section.service div.detail div.list div.row:nth-child(2n+1) {
	transform: translateX(0px);
}
main section.service div.detail div.list div.row div.image-text p.image {
	order: 1;
	width: auto;
	margin: 0px -40px 0px -40px;
}
main section.service div.detail div.list div.row div.image-text div.text {
	width: auto;
	padding-top: 0px;
	margin-bottom: 40px;
}
main section.service div.detail div.list div.row div.image-text div.text h3 {
	margin-bottom: 20px;
}
main section.service div.detail div.list div.row p.button {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	position: static;
	right: auto;
	bottom: auto;
	padding-top: 40px;
}
main section#service-01 header {
	text-align: justify;
	margin-bottom: 40px;
}
main section#service-01 header p.description {
	font-size: 1.125rem;
	line-height: 2rem;
}
main section#service-01 div.summary,
main section#service-03 div.summary,
main section#service-05 div.summary {
	margin-right: 0px;
}
main section#service-02 div.summary,
main section#service-04 div.summary {
	margin-left: 0px;
}
main section#service-04 div.detail div.header {
	text-align: justify;
	margin-bottom: 60px;
}
main section#service-04 div.detail div.header h3 {
	text-indent: 0em;
	font-size: 1.125rem;
	line-height: 2.25rem;
	margin-bottom: 20px;
}
main section#service-04 div.detail div.segment {
	width: auto;
}
main section#service-04 div.detail div.segment-01,
main section#service-04 div.detail div.segment-03 {
	padding-top: 0px;
}
main section#service-04 div.detail div.segment-01 {
	padding-left: 0px;
}
main section#service-04 div.detail div.segment-02,
main section#service-04 div.detail div.segment-04 {
	padding-top: 0px;
}
main section#service-04 div.detail div.segment-03 {
	padding-left: 0px;
}
main section#service-04 div.detail div.segment-04 {
	padding-right: 0px;
}
main section#service-04 div.detail div.segment div.headline {
	position: static;
	width: 180px;
	height: 180px;
	top: auto;
	margin: 0px auto 40px auto;
	padding-top: 35px;
}
main section#service-04 div.detail div.segment-01 div.headline {
	left: auto;
}
main section#service-04 div.detail div.segment-02 div.headline,
main section#service-04 div.detail div.segment-04 div.headline {
	right: auto;
}
main section#service-04 div.detail div.segment-03 div.headline {
	left: auto;
}
main section#service-04 div.detail div.segment div.headline p.number,
main section#service-04 div.detail div.segment div.headline h4 {
	font-size: 1.125rem;
	line-height: 1.875rem;
}
main section#service-04 div.detail div.segment-02 p.description,
main section#service-04 div.detail div.segment-04 p.description {
	padding-left: 0px;
}
main section#service-04 div.detail div.segment div.diagram-note {
	display: block;
}
main section#service-04 div.detail div.segment div.diagram-note p.diagram {
	width: 222px;
	margin: 0px auto 20px auto;
}
main section#service-04 div.detail div.segment div.diagram-note p.note {
	width: auto;
}
main section#service-04 div.detail div.segment-04 div.table-wrapper {
	margin-bottom: 40px;
}
main section#service-04 div.detail div.segment-04 div.list-flow {
	width: auto;
	padding-left: 0px;
}
main section#service-04 div.detail div.segment div.list-flow div.row-flow {
	padding: 20px 10px;
}
main section#service-05 div.detail p.description {
	text-align: justify;
}
main section#flow div.inner-section,
main section#contact-alternate div.inner-section {
	width: auto;
	padding-left: 40px;
}
main section#flow header {
	margin-bottom: 60px;
}
main section#flow header h2 {
	font-size: 1.5rem;
	line-height: 2.25rem;
	margin-bottom: 10px;
}
main section#flow header p.sub {
	font-size: 1.25rem;
}
main section#flow div.list {
	display: block;
	margin: 0px;
}
main section#flow div.list div.row {
	display: block;
	width: auto;
	height: auto;
	font-weight: 700;
	margin: 0px;
	padding: 20px 20px 20px 0px;
}
main section#flow div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#flow div.list div.row div.text {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
main section#flow div.list div.row p.label {
	width: 100px;
	height: 40px;
	font-size: 1rem;
	line-height: 1.25rem;
	border-right: 1px solid #404040;
	margin-bottom: 0px;
}
main section#flow div.list div.row p.label::before {
	display: none;
}
main section#flow div.list div.row p.headline {
	width: calc(100% - 100px);
	text-align: left;
	text-indent: 0em;
	font-size: 1.125rem;
	padding-left: 20px;
}
main section#flow div.list div.row:nth-child(1) p.arrow,
main section#flow div.list div.row:nth-child(2) p.arrow,
main section#flow div.list div.row:nth-child(4) p.arrow,
main section#flow div.list div.row:nth-child(5) p.arrow {
	left: calc(50% - 10px);
	right: auto;
	bottom: -10px;
	top: auto;
	transform: scaleX(0.625);
}
main section#flow div.list div.row:nth-child(3) p.arrow {
	left: calc(50% - 10px);
	bottom: -10px;
	transform: scaleX(0.625);
}
main section#flow div.list div.row:nth-child(3) p.line {
	display: none;
}
main section#contact-alternate header {
	margin-bottom: 60px;
}
main section#contact-alternate header h2 {
	font-size: 1.5rem;
	line-height: 2.25rem;
}
main section#contact-alternate p.description {
	text-align: justify;
	margin-bottom: 60px;
}
main section#contact-alternate div.button-wrapper {
	display: block;
}
main section#contact-alternate div.button-wrapper p.button {
	width: auto;
	line-height: 1.5rem;
}
main section#contact-alternate div.button-wrapper p.button:not(:last-child) {
	margin-bottom: 20px;
}
main section#contact-alternate div.button-wrapper p.button a {
	height: 80px;
}
main section#contact-alternate div.button-wrapper p.button-tel i.tel {
	font-size: 1.375rem;
}
main section#contact-alternate div.button-wrapper p.button-tel i.tel em {
	font-size: 0.875rem;
	transform: translateY(-2px);
}
main section#contact-alternate div.button-wrapper p.button-tel i.time {
	font-size: 0.875rem;
}
main section#contact-alternate div.button-wrapper p.button-mail {
	font-size: 1rem;
	line-height: 1.5rem;
}
main section#contact-alternate div.button-wrapper p.button-mail a {
	padding-right: 40px;
}
main section#contact-alternate div.button-wrapper p.button span.arrow {
	width: 35px;
	height: 35px;
	right: 20px;
	top: calc(50% - 17.5px);
	font-size: 0.5rem;
}

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

body.about-us section header {
	margin-bottom: 60px;
}
body.about-us section header h2 {
	font-size: 2.25rem;
	line-height: 3.25rem;
	margin-right: -40px;
}
main section#statement header {
	padding-left: 0px;
}
main section#statement div.list {
	margin-bottom: 120px;
}
main section#statement div.list div.row:not(:last-child) {
	margin-bottom: 80px;
}
main section#statement div.list div.row:nth-child(1) {
	transform: translateX(0px);
}
main section#statement div.list div.row:nth-child(2) {
	transform: translateX(-40px);
}
main section#statement div.list div.row:nth-child(3) {
	transform: translateX(40px);
}
main section#statement div.list div.row h3,
main section#statement div.list div.row p.description {
	width: 500px;
}
main section#statement div.list div.row h3 {
	font-size: 5.25rem;
	line-height: 5.75rem;
	transform: translateX(-40px);
}
main section#statement div.list div.row p.description {
	font-size: 1rem;
	line-height: 2rem;
	margin-top: -20px;
	padding-left: 40px;
}
main section#statement div.guideline h3 {
	font-size: 1.125rem;
	line-height: 2rem;
	margin-bottom: 40px;
}
main section#statement div.guideline ul {
	height: 580px;
}
main section#statement div.guideline ul li {
	width: 210px;
	height: 210px;
	font-size: 1rem;
}
main section#statement div.guideline ul li:nth-child(1) {
	left: calc(50% - 170px);
	top: 0px;
}
main section#statement div.guideline ul li:nth-child(2) {
	left: calc(50% - 10px);
	top: 180px;
	bottom: auto;
}
main section#statement div.guideline ul li:nth-child(3) {
	left: calc(50% - 150px);
	right: auto;
	top: auto;
	bottom: 0px;
}
main section#top-message p.image-small {
	display: block;
	margin: 0px -40px 60px -40px;
}
main section#top-message p.image-small img {
	width: 100%;
	height: auto;
}
main section#top-message h3 {
	font-size: 1.125rem;
	line-height: 2rem;
	margin: 0px -40px 20px 0px;
}
main section#top-message div.image-text {
	display: block;
}
main section#top-message div.image-text p.image {
	display: none;
	width: auto;
	margin: 0px -40px 40px -40px;
}
main section#top-message div.image-text div.text {
	width: auto;
}
main section#top-message div.image-text div.text p.description {
	margin-bottom: 40px;
}
main section#top-message div.image-text div.text p.name span.sub {
	margin-right: 20px;
}
main section#top-message div.image-text div.text p.name span.main {
	font-size: 1.375rem;
}
main section#company-profile header,
main section#company-profile div.content {
	padding-left: 0px;
}
main section#company-profile table {
	margin-bottom: 60px;
}
main section#company-profile table th,
main section#company-profile table td,
main section#history table th,
main section#history table td {
	display: block;
	width: 100%;
}
main section#company-profile table th,
main section#history table th {
	font-weight: 500;
	border-bottom: none;
	padding-bottom: 5px;
}
main section#company-profile table tr:not(:first-child) td,
main section#history table tr:not(:first-child) td {
	padding-top: 0px;
}
main section#company-profile p.image {
	margin: 0px -40px;
	border-radius: 0px;
}
main section#history div.content {
	display: block;
}
main section#history table {
	width: 100%;
}
main section#history table:not(:last-child) {
	margin-bottom: 20px;
}
main section#history table th,
main section#history table td {
	height: auto;
}
main section#history table th {
	width: 100%;
}
main section#office-factory header {
	padding-left: 0px;
}
main section#office-factory div.list {
	margin: 0px -40px;
	background-color: #ffffff;
}
main section#office-factory div.list div.row {
	display: block;
	border-radius: 0px;
}
main section#office-factory div.list div.row div.text {
	width: auto;
	padding: 40px 40px 20px 40px;
}
main section#office-factory div.list div.row div.text h3 {
	font-size: 1.125rem;
}
main section#office-factory div.list div.row div.map {
	width: auto;
	height: 260px;
}

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

main section div.list-news-column div.row {
	display: block;
}
main section div.list-news-column div.row p.image {
	width: auto;
	margin-bottom: 20px;
}
main section div.list-news-column div.row div.text {
	width: auto;
}
main section div.list-news-column div.row div.text h3 span.arrow,
main section div.list-news-alternate div.row h3 span.arrow,
main section div.list-column-alternate div.row h3 span.arrow {
	top: auto;
}
main section div.list-news-column div.row div.text div.body {
	margin-bottom: 5px;
}
main section div.list-news-column div.row div.text h3 span.arrow {
	display: none !important;
}
main section div.list-news-column div.row div.text p.more-small {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
}
main section div.list-news-column div.row div.text p.more-small span.arrow {
	width: 35px;
	height: 35px;
	font-size: 0.5rem;
	color: #fcfaf5;
	background-color: #696969;
}
main section div.list-news-alternate div.row,
main section div.list-column-alternate {
	display: block;
}
main section div.list-news-alternate div.row {
	padding-bottom: 20px;
}
main section div.list-news-alternate div.row div.created-category {
	width: auto;
	margin-bottom: 10px;
}
main section div.list-news-alternate div.row h3 {
	width: auto;
	padding-bottom: 40px;
}
main section div.list-news-alternate div.row h3 a {
	padding-right: 0px;
}
main section div.list-news-alternate div.row h3 span.arrow {
	bottom: -40px;
}
main section div.list-column-alternate {
	margin: 0px;
}
main section div.list-column-alternate div.row {
	width: auto;
	margin: 0px;
}
main section div.list-column-alternate div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section div.list-column-alternate div.row div.created-category,
main section div.list-column-alternate div.row div.created-category {
	margin-bottom: 10px;
	padding: 0px;
}
main section div.list-column-alternate div.row h3 {
	padding: 0px 0px 40px 0px;
}
main section div.list-column-alternate div.row h3 a {
	min-height: 0px;
	padding-right: 0px;
}
main section div.list-column-alternate div.row h3 span.arrow {
	bottom: -40px;
}
main section article.news-column {
	width: auto;
}
main section article.news-column header h1 {
	font-size: 1.375rem;
	line-height: 2.25rem;
}

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

body.sustainability main section div.content {
	padding-left: 0px;
}
body.sustainability main section h2 {
	font-size: 1.25rem;
	margin-bottom: 20px;
}
main section#basic div.content,
main section#contribution div.content {
	padding-right: 0px;
}
main section#basic div.headline-symbol {
	display: block;
	margin: 0px 0px 60px 0px;
}
main section#basic div.headline-symbol p.headline {
	width: auto;
	text-align: center;
	text-indent: 0.05em;
	font-size: 1.75rem;
	line-height: 2.25rem;
	margin-bottom: 40px;
}
main section#basic div.headline-symbol p.symbol {
	width: 200px;
	margin: auto;
}
main section#contribution p.logo {
	width: 280px;
	margin: 0px auto 60px auto;
}
main section#activity div.list {
	margin: 0px -40px;
	padding-top: 20px;
}
main section#activity div.list div.row {
	border-radius: 0px;
}
main section#activity div.list div.row div.icon-text {
	display: block;
}
main section#activity div.list div.row div.icon-text p.icon {
	margin: 0px auto 40px auto;
}
main section#activity div.list div.row div.icon-text div.text {
	width: auto;
}
main section#activity div.list div.row div.icon-text div.text h3 {
	text-align: center;
	text-indent: 0.05em;
	font-size: 1.125rem;
	line-height: 2rem;
	margin: 0px -40px 30px -40px;
}
main section#activity div.list div.row div.video,
main section#activity div.list div.row div.doctor {
	padding: 40px 0px 0px 0px;
}
main section#activity div.list div.row div.video {
	margin-bottom: 40px;
}
main section#activity div.list div.row div.video h4,
main section#activity div.list div.row div.doctor h4 {
	font-size: 1.125rem;
}
main section#activity div.list div.row div.video p.description {
	padding: 0px;
}
main section#activity div.list div.row div.video p.image {
	margin-left: -40px;
	margin-right: -40px;
}
main section#activity div.list div.row div.doctor div.illust-text {
	display: block;
	padding-left: 0px;
}
main section#activity div.list div.row div.doctor div.illust-text p.illust {
	display: none;
}
main section#activity div.list div.row div.doctor div.illust-text div.text {
	width: auto;
}
main section#activity div.list div.row div.doctor div.illust-text div.text p.description {
	margin-bottom: 40px;
}
main section#activity div.list div.row div.doctor div.illust-text div.text p.illust-small {
	display: block;
	width: 200px;
	margin: 0px auto 40px auto;
}
main section#activity div.list div.row div.doctor div.illust-text div.text p.illust-small img {
	width: 100%;
	height: auto;
}

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

main section#faq div.inner-section {
	width: auto;
}
main section#faq div.segment h2 {
	font-size: 1.25rem;
	padding: 0px 35px 0px 10px;
}
main section#faq div.segment h2 span {
	width: 25px;
	height: 25px;
	right: 10px;
	top: calc(50% - 12.5px);
}
main section#faq div.segment h2 span i::before,
main section#faq div.segment h2 span i::after {
	width: 8px;
	left: calc(50% - 4px);
}
main section#faq div.segment div.list div.row {
	padding: 40px 0px;
}
main section#faq div.segment div.list div.row h3 {
	font-size: 1rem;
	margin-bottom: 20px;
	padding-left: 40px;
}
main section#faq div.segment div.list div.row h3::before,
main section#faq div.segment div.list div.row div.answer::before {
	top: -5px;
	font-size: 2rem;
	line-height: 2rem;
}
main section#faq div.segment div.list div.row div.answer {
	padding-left: 40px;
}
main section#faq div.segment div.list div.row div.answer::before {
	left: 0px;
}
main section#faq div.segment div.list div.row div.answer div.body {
	margin-bottom: 20px;
}
main section#faq div.segment div.list div.row div.answer div.category-products {
	display: block;
	margin-left: 0px;
}
main section#faq div.segment div.list div.row div.answer div.category-products p:not(:last-child) {
	margin-right: 0px;
}

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

main section.form div.inner-section {
	width: auto;
}
main section.form div.header {
	margin-bottom: 60px;
}
main section.form div.form div.component {
	display: block;
	margin-bottom: 30px;
}
main section.form div.form div.component-catalog {
	margin-right: 0px;
}
main section.form div.mw_wp_form_preview div.form div.component {
	padding: 20px 0px;
}
main section.form div.form div.component p.label {
	width: auto;
	height: auto;
	margin-bottom: 10px;
}
main section.form div.form div.component div.body {
	width: auto;
}
main section.form div.form div.component-catalog div.body {
	display: block;
}
main section.form div.form div.component div.body div.list div.row {
	display: block;
}
main section.form div.form div.component div.body div.list div.row:not(:last-child) {
	margin-bottom: 30px;
}
main section.form div.form div.component div.body div.list div.row p.label-row {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}
main section.form div.mw_wp_form_preview div.form div.component div.body div.list div.row p.label-row {
	width: 100%;
}
main section.form div.form div.component div.body div.list div.row div.body-row {
	width: 100%;
}
main section.form div.mw_wp_form_preview div.form div.component div.body div.list div.row div.body-row {
	width: 100%;
}
main section.form div.form div.component div.body div.list div.row div.body-row div.postal-code-01 {
	width: calc(calc(calc(100% - 120px) * 0.5) * 0.875);
}
main section.form div.mw_wp_form_preview div.form div.component div.body div.list div.row div.body-row div.postal-code-01 {
	width: auto;
}
main section.form div.form div.component div.body div.list div.row div.body-row div.postal-code-02 {
	width: calc(calc(calc(100% - 120px) * 0.5) * 1.125);
}
main section.form div.form div.component div.body div.list div.row div.body-row div.postal-code-alternate {
	width: calc(100% - 100px);
}
main section.form div.form div.component div.body div.list div.row div.body-row p#button-auto {
	margin-right: 0px;
}
main section.form div.form div.component div.body div.list div.row div.body-row p.note {
	display: block;
	width: 100%;
	height: auto;
	text-align: right;
	padding-top: 10px;
}
main section.form div.form div.component div.body span.mwform-radio-field,
main section.form div.form div.component div.body span.mwform-checkbox-field {
	margin-top: 5px;
}
main section.form div.form div.component-catalog div.body span.mwform-checkbox-field {
	display: block;
	width: auto;
}
main section.form div.form div.agreement {
	width: auto;
	margin: 0px 0px 60px 0px;
}
main section.form div.form div.agreement span.horizontal-item ~ p {
	margin-right: -40px;
}
main section.form div.form div.agreement span.error {
	top: 25px;
}
main section.form div.form div.agreement p.note {
	padding-top: 20px;
}
main section.form div.form div.action {
	display: block;
	padding-left: 0px;
}
main section.form div.mw_wp_form_preview div.form div.action input[type=submit] {
	width: 100%;
}
main section.form div.form div.action input[name=submitBack] {
	margin: 0px 0px 20px 0px;
}
main section#contact div.header div.list div.row-tel-fax p.tel-fax span {
	display: block;
}
main section#contact div.header div.list div.row-tel-fax p.tel-fax span:not(:last-child) {
	margin-bottom: 10px;
}
main section#contact div.header div.list div.row-tel-fax p.tel-fax span.tel::after {
	display: none;
}
main section#catalog div.catalog {
	margin: 0px -20px 40px -20px;
	padding: 60px 0px;
}
main section#catalog div.catalog p.description {
	text-align: justify;
	margin-bottom: 40px;
	padding: 0px 20px;
}
main section#catalog div.catalog div.list {
	margin: 0px -10px -10px 0px;
}
main section#catalog div.catalog div.list div.row {
	width: calc(50% - 10px);
	margin: 0px 10px 10px 0px;
	padding: 20px 20px 10px 20px;
}
main section#catalog-download div.list {
	margin: 0px -10px -10px 0px;
}
main section#catalog-download div.list div.row {
	width: calc(50% - 10px);
	margin: 0px 10px 10px 0px;
	padding: 20px 20px 10px 20px;
}

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

main section#privacy-policy div.inner-section {
	width: auto;
}

/* en
-------------------------------------------------------------------------------- */

body.en main section header {
	margin-bottom: 60px;
}
body.en main section header h2 {
	display: block;
	font-size: 2.25rem;
	line-height: 3.25rem;
	margin-right: -40px;
}
main section#product-information div.inner-section {
	width: auto;
}
main section#product-information header {
	margin-bottom: 60px;
}
main section#product-information header h2 {
	font-size: 2.25rem;
	line-height: 2.75rem;
}
main section#product-information div.segment {
	text-align: left;
}
main section#product-information div.segment:last-child,
main section#product-information div.group-segment:last-child {
	margin-bottom: 80px;
}
main section#product-information div.segment:not(:last-child),
main section#product-information div.group-segment:not(:last-child) {
	margin-bottom: 80px;
}
main section#product-information div.segment h3 {
	font-size: 1.125rem;
	margin-bottom: 40px;
}
main section#product-information div.segment div.list {
	display: block;
	margin: 0px;
}
main section#product-information div.segment div.list div.row {
	width: auto;
	margin: 0px;
	border-radius: 10px;
}
main section#product-information div.segment div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#product-information div.segment div.list div.row:nth-child(2n),
main section#product-information div.group-segment div.segment:nth-child(2n) {
	transform: translateY(0px);
}
main section#product-information div.segment div.list div.row div.text {
	padding: 20px;
}
main section#product-information div.segment div.list div.row div.text h4 {
	font-size: 1.25rem;
	margin-bottom: 10px;
}
main section#product-information div.segment div.list div.row div.text p.description {
	min-height: 0px;
}
main section#product-information div.group-segment {
	display: block;
	margin-right: 0px;
}
main section#product-information div.group-segment div.segment {
	width: auto;
	margin-right: 0px;
}
main section#product-information div.group-segment div.segment:not(:last-child) {
	margin-bottom: 80px;
}
main section#corporate-profile div.inner-section {
	width: auto;
}
main section#corporate-profile table th,
main section#corporate-profile table td {
	display: block;
	text-align: left;
}
main section#corporate-profile table th {
	width: 100%;
	border-bottom: none;
	padding-bottom: 0px;
}
main section#corporate-profile table td {
	width: 100%;
}
main section#corporate-profile table tr:not(:first-child) td {
	padding-top: 0px;
}
main section#download-catalog div.inner-section,
main section#contact-us div.inner-section {
	width: auto;
}
main section#download-catalog header p.description {
	text-align: left;
}
main section#download-catalog div.list div.row {
	display: block;
	padding: 40px 20px;
}
main section#download-catalog div.list div.row p.image {
	width: 165px;
	margin: 0px auto 40px auto;
}
main section#download-catalog div.list div.row div.text {
	width: auto;
}
main section#download-catalog div.list div.row div.text p.description {
	text-align: left;
}
main section#contact-us div.component-last {
	margin-bottom: 60px;
}

/* site-map
-------------------------------------------------------------------------------- */

main section#site-map ul {
	display: block;
	margin: 0px;
}
main section#site-map ul li {
	width: auto;
	margin: 0px;
}
main section#site-map ul li:not(:last-child) {
	margin-bottom: 20px;
}
main section#site-map ul li.products {
	width: auto;
}
main section#site-map div.nest {
	padding: 20px 0px 0px 0px;
}
main section#site-map div.nest ul li:not(:last-child) {
	margin-bottom: 20px;
}



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

div#modal:not(.fixed) div.inner-modal {
	width: auto;
	padding: 40px;
}
div#modal p.button-close {
	width: 40px;
	height: 40px;
	right: 20px;
	top: 18px;
}
body.admin-bar div#modal p.button-close {
	top: 18px;
}
div#modal p.button-close::before,
div#modal p.button-close::after {
	width: 40px;
  left: calc(50% - 20px);
	top: calc(50% - 8px);
}
div#modal p.button-close span {
	bottom: 0px;
	font-size: 0.625rem;
}
div#modal p.button-close-alternate {
	position: static;
	right: auto;
	bottom: auto;
	margin: 40px auto 0px auto;
}
div#modal div.slide {
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}
div#modal div.slide div.list div.row p.image {
	transform: translateY(-80px);
}
div#modal div.slide div.list div.row p.title {
	display: block;
	width: calc(100% - 40px);
	height: auto;
	left: 20px;
	top: calc(100% - 60px);
	bottom: auto;
	text-align: center;
}
div#modal div.slide div.list div.row p.button {
	left: calc(50% - 120px);
	right: auto;
	bottom: -60px;
}



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

footer#footer div.contact {
	padding: 60px 40px;
	background-color: #999999;
}
footer#footer div.contact div.inner-contact {
	width: auto;
	margin: auto;
}
footer#footer div.contact div.headline-list {
	display: block;
	margin: 0px 0px 40px 0px;
}
footer#footer div.contact p.headline {
	width: auto;
	margin-right: 0px;
}
footer#footer div.contact p.headline span {
	display: block;
}
footer#footer div.contact p.headline span.main {
	font-size: 2.625rem;
	line-height: 3rem;
}
footer#footer div.contact div.list {
	display: none;
}
footer#footer div.contact div.button-wrapper-small {
	display: block;
}
footer#footer div.contact div.button-wrapper-small p.button {
	text-align: center;
	text-indent: 0.05em;
	font-weight: 700;
	line-height: 1.5rem;
	letter-spacing: 0.05em;
}
footer#footer div.contact div.button-wrapper-small p.button:not(:last-child) {
	margin-bottom: 20px;
}
footer#footer div.contact div.button-wrapper-small p.button a {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 75px;
	color: #999999;
	background-color: #fcfaf5;
	border-radius: 10px;
	transition: 0.25s color ease;
}
footer#footer div.contact div.button-wrapper-small p.button a:hover {
	color: #404040;
}
footer#footer div.contact div.button-wrapper-small p.button-tel a {
	padding-top: 5px;
}
footer#footer div.contact div.button-wrapper-small p.button span,
footer#footer div.contact div.button-wrapper-small p.button i {
	display: block;
}
footer#footer div.contact div.button-wrapper-small p.button-tel i.tel {
	font-size: 1.375rem;
}
footer#footer div.contact div.button-wrapper-small p.button-tel i.tel em {
	display: inline-block;
	font-size: 0.875rem;
	margin-right: 10px;
	transform: translateY(-2px);
}
footer#footer div.contact div.button-wrapper-small p.button-tel i.time {
	font-size: 0.875rem;
}
footer#footer div.contact div.button-wrapper-small p.button-mail a {
	padding-right: 40px;
}
footer#footer div.contact div.button-wrapper-small p.button span.arrow {
	position: absolute;
	width: 35px;
	height: 35px;
	right: 20px;
	top: calc(50% - 17.5px);
	font-size: 0.5rem;
	color: #fcfaf5;
	background-color: #999999;
}
footer#footer div.contact div.button-wrapper-small p.button a:hover span.arrow {
	color: #fcfaf5;
}
footer#footer nav#navi-footer {
	padding: 60px 40px;
}
footer#footer nav#navi-footer p#button-page-top {
	display: none;
}
footer#footer nav#navi-footer div.main,
footer#footer nav#navi-footer div.sub {
	width: auto;
}
footer#footer nav#navi-footer div.main {
	border-bottom: none;
	margin-bottom: 10px;
	padding-right: 0px;
	padding-bottom: 0px;
}
footer#footer nav#navi-footer div.main ul,
footer#footer nav#navi-footer div.sub ul {
	display: block;
}
footer#footer nav#navi-footer div.main ul {
	margin-bottom: 40px;
}
footer#footer nav#navi-footer div.main ul li {
	width: 240px;
	margin-bottom: 20px;
}
footer#footer nav#navi-footer div.main ul li:not(:last-child) {
	margin-right: 0px;
}
footer#footer nav#navi-footer div.main ul li a {
	padding-right: 0px;
}
footer#footer nav#navi-footer div.main p#banner-roop,
footer#footer nav#navi-footer div.main p#banner-busters {
	position: static;
	width: auto;
	right: auto;
	top: auto;
}
footer#footer nav#navi-footer div.main p#banner-roop {
	margin-bottom: 10px;
}
footer#footer nav#navi-footer div.sub {
	padding-right: 0px;
}
footer#footer nav#navi-footer div.sub ul {
	display: none;
}
footer#footer nav#navi-footer div.sub p.button-mailmagazine {
	position: static;
	right: auto;
	bottom: auto;
}
footer#footer nav#navi-footer div.sub p.button-mailmagazine a {
	width: auto;
	height: 50px;
}
footer#footer div.misc {
	width: auto;
	padding-top: 40px;
}
body.single-products footer#footer div.misc {
	padding-bottom: 70px;
}
footer#footer div.misc div.information-sns {
	margin-bottom: 40px;
}
footer#footer div.misc div.information-sns div.information {
	display: block;
	text-align: center;
	text-indent: 0.05em;
}
footer#footer div.misc div.information-sns div.information p.logo {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0px 0px 30px 0px;
}
footer#footer div.misc div.information-sns div.information h3 {
	margin-right: 0px;
}
footer#footer div.misc div.information-sns div.information p.address {
	margin-bottom: 40px;
}
footer#footer div.misc div.information-sns div.sns {
	position: static;
	right: auto;
	top: auto;
}
footer#footer div.misc div.information-sns div.sns ul {
	justify-content: center;
}

/* en
-------------------------------------------------------------------------------- */

body.en footer#footer {
	padding: 40px 40px 20px 40px;
}
body.en footer#footer div.information {
	display: block;
	width: auto;
	margin-bottom: 40px;
}
body.en footer#footer div.information p.logo {
	margin-bottom: 30px;
}
body.en footer#footer div.information div.text {
	width: auto;
}
body.en footer#footer p.copyright {
	width: auto;
	text-align: center;
	padding-left: 0px;
}

/* add 2022.11.17
-------------------------------------------------------------------------------- */

main article.common div.body h2.headline {
	font-size: 1.375rem;
	line-height: 2.25rem;
}
main article.common div.body h3.headline {
	font-size: 1.375rem;
	line-height: 2.25rem;
	padding-left: 20px;
}
main article.common div.body h3.headline::before {
	width: 8px;
	height: 8px;
	left: 2px;
	top: 15px;
}
main article.common div.body div#index {
	padding: 20px 30px 30px 30px;
}
main article.common div.body div#index ul {
	padding-left: 5px;
}
main article.common div.body div#index ul li.h2 a {
	padding-left: 20px;
}
main article.common div.body div#index ul li.h3 a {
	padding-left: 40px;
}
main article.common div.body div#index ul li.h3 a::before {
	left: 25px;
}
main article.common div.body div.column-related div.list-column-related div.row {
	padding: 30px 20px 20px 20px;
}
main article.common div.body div.column-related div.list-column-related div.row p.image {
	width: auto;
}
main article.common div.body div.column-related div.list-column-related div.row div.text {
	width: auto;
}
body.single main section#contact-alternate div.inner-section {
	width: auto;
}
