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

h1 {
	font-size: 1.5rem;
	line-height: 2.375rem;
}



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

input:where([type=button], [type=submit]),
button {
	width: 320px;
	height: 60px;
}



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

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



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

body.recruit div#page {
	padding-top: 80px;
}
body.recruit nav#navi-side {
	width: calc(100% - 10px);
	height: auto;
	left: 5px;
	right: auto;
	top: auto;
	bottom: -10px;
	z-index: 100;
	transition: 0.5s transform 0.125s ease;
	transform: translateY(130px);
}
body.recruit.admin-bar nav#navi-side {
	height: auto;
	top: auto;
}
body.recruit div.scroll nav#navi-side {
	transform: translateY(0px);
}
body.recruit div.footer-alternate nav#navi-side {
	transform: translateY(130px);
}
body.recruit nav#navi-side ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
body.recruit nav#navi-side ul li {
	width: calc(33.33% - 2.5px);
	height: 60px;
	font-size: 0.875rem;
}
body.recruit nav#navi-side ul li:not(:last-child) {
	margin-bottom: 0px;
}
body.recruit nav#navi-side ul li a {
	padding: 0px 0px 10px 0px;
	border-radius: 10px 10px 0px 0px;
	transition: 0.25s transform ease;
}
body.recruit nav#navi-side ul li a:hover {
	transform: translateY(-10px);
}
body.recruit nav#navi-side ul li span {
	writing-mode: horizontal-tb;
}
p.button-default > * {
	width: 320px;
}
p.button-wide a {
	width: 320px;
}



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

header#header {
	display: block;
	position: relative;
	transition: none;
}
div.scroll header#header {
	transform: none;
}
div.scroll-up header#header {
	transform: none;
}
header#header :where(*#logo, p#button-menu, div#menu) {
	position: fixed;
}
header#header :where(*#logo, p#button-menu) {
	transition: 0.375s transform 0.125s ease;
}
div.scroll header#header :where(*#logo, p#button-menu) {
	transform: translateY(-80px);
}
div.scroll-up header#header :where(*#logo, p#button-menu),
div.scroll.menu-header header#header :where(*#logo, p#button-menu) {
	transform: translateY(0px);
}
header#header *#logo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	z-index: 20;
}
header#header *#logo svg {
	width: calc(256px * 0.75);
}
header#header *#logo svg :where(path, polygon, rect) {
	transition: 0.25s fill ease;
}
div.menu-header header#header *#logo svg :where(path, polygon, rect) {
	fill: #ffffff !important;
}
header#header p#button-menu {
	width: 40px;
	height: 40px;
	right: 20px;
	top: 20px;
	z-index: 30;
	cursor: pointer;
	border-radius: 5px;
}
header#header p#button-menu i {
	display: block;
	position: absolute;
	width: 20px;
	height: 0px;
	left: calc(50% - 10px);
	top: calc(50% - 1px);
	border-bottom: 2px solid #ffffff;
	transition: 0.25s all ease;
}
header#header p#button-menu i:nth-child(1) {
	transform: translateY(-7px);
}
header#header p#button-menu i:nth-child(2) {
	transform: translateY(7px);
}
div.menu-header header#header p#button-menu i:nth-child(-n+3) {
	width: 0px;
	left: 50%;
	opacity: 0;
	transform: translateY(0px);
}
div.menu-header header#header p#button-menu i:nth-child(4) {
	transform: rotate(30deg);
}
div.menu-header header#header p#button-menu i:nth-child(5) {
	transform: rotate(-30deg);
}
header#header div#menu {
	width: 100%;
	height: 100%;
	right: 0px;
	top: 0px;
	overflow: auto;
	z-index: 10;
	color: #ffffff;
	transform: translateX(100%);
	transition: 0.25s transform ease;
	-webkit-overflow-scrolling: touch;
}
div.menu-header header#header div#menu {
	transform: translateX(0%);
}
header#header div#menu::-webkit-scrollbar {
	display: none;
}
header#header div#menu div.inner-menu {
	padding: 100px 40px 40px 40px;
}
header#header nav#navi a.color:hover {
	color: #ffffff9f;
}
header#header nav#navi ul {
	display: block;
	margin-bottom: 40px;
}
header#header nav#navi ul li:not(:last-child) {
	margin-right: 0px;
}
header#header nav#navi ul li a {
	display: block;
	position: relative;
	border-bottom: 1px solid #ffffff40;
	padding-bottom: 20px;
}
header#header nav#navi ul li:not(:first-child) a {
	padding-top: 20px;
}
header#header nav#navi ul li span.sub {
	display: block;
	position: relative;
	font-family: "din-2014", sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.5rem;
	padding-left: 15px;
}
header#header nav#navi ul li span.sub::before {
	position: absolute;
	width: 6px;
	height: 6px;
	left: 4px;
	top: 9px;
	background-color: #ffffff;
	content: "";
	border-radius: 50%;
	transition: 0.25s background-color ease;
}
header#header nav#navi ul li a:hover span.sub::before {
	background-color: #ffffff9f;
}
header#header nav#navi ul li span.main {
	font-size: 1.25rem;
}
header#header nav#navi ul li span.arrow {
	display: flex;
	position: absolute;
	right: 0px;
	top: calc(50% - 15px);
}
header#header nav#navi p.privacy-policy {
	display: block;
}
body.corporate header#header {
	width: auto;
	height: auto;
	left: auto;
	top: auto;
	padding: 0px;
	background-color: transparent;
}
@media (max-width:1240px) {
body.corporate header#header {
	height: auto;
	padding-top: 0px;
}
body.corporate div.scroll header#header {
	transform: none;
}
body.corporate div.scroll-up header#header {
	transform: none;
}
}
body.corporate.admin-bar header#header {
	top: auto;
}
body.corporate header#header *#logo {
	width: calc(100% - 20px);
	height: 60px;
	left: 10px;
	top: 10px;
	padding-left: 20px;
	background-color: #ffffff;
	transition: 0.25s background-color ease, 0.375s transform 0.125s ease;
}
body.corporate div.menu-header header#header *#logo {
	background-color: transparent;
}
body.corporate header#header p#button-menu {
	overflow: hidden;
}
body.corporate header#header p#button-menu::before {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	background: linear-gradient(120deg, #0e50ad 0%, #041c3f 100%);
	content: "";
	transition: 0.25s opacity ease;
}
body.corporate div.menu-header header#header p#button-menu::before {
	opacity: 0;
}
body.corporate header#header div#menu {
	background: linear-gradient(120deg, #0e50ad 0%, #041c3f 100%);
}
body.corporate header#header nav#navi ul li.news {
	margin-bottom: 40px;
}
body.corporate header#header nav#navi ul li:not(.contact) {
	margin-right: 0px;
}
body.corporate header#header nav#navi ul li:where(.contact, .recruit) a {
	display: block;
	width: auto;
	height: 90px;
	border: none;
	padding: 15px 0px 0px 20px;
	border-radius: 5px;
	transition: 0.25s color ease, 0.25s border-color ease, 0.25s background-color ease;
}
body.corporate header#header nav#navi ul li:where(.contact, .recruit) span.arrow {
	right: 20px;
}
body.corporate header#header nav#navi ul li.contact {
	margin-bottom: 20px;
}
body.corporate header#header nav#navi ul li.contact a {
	display: block;
	width: auto;
	height: 90px;
	color: #08387d;
	border: 1px solid #ffffff;
	background: none;
	background-color: #ffffff;
}
body.corporate header#header nav#navi ul li.contact a:hover {
	color: #ffffff;
	background-color: transparent;
}
body.corporate header#header nav#navi ul li.contact a::before {
	display: none;
}
body.corporate header#header nav#navi ul li.contact span.sub::before {
	background-color: #08387d;
}
body.corporate header#header nav#navi ul li.contact a:hover span.sub::before {
	background-color: #ffffff;
}
body.corporate header#header nav#navi ul li.contact a:hover span.arrow {
	color: #0e50ad;
}
body.corporate header#header nav#navi ul li.contact a:hover span.arrow::before {
	background-color: #ffffff;
}
body.corporate header#header nav#navi ul li.recruit a {
	background-color: #0555c7;
}
body.corporate header#header nav#navi ul li.recruit a:hover {
	color: #0555c7;
	background-color: #ffffff;
}
body.corporate header#header nav#navi ul li.recruit a:hover span.sub::before {
	background-color: #0555c7;
}
body.corporate header#header nav#navi ul li.recruit a span.arrow {
	border: none;
}
body.corporate header#header nav#navi ul li.recruit a:hover span.arrow {
	color: #ffffff;
	background-color: #0555c7;
}
body.recruit header#header {
	width: auto;
	height: auto;
	left: auto;
	top: auto;
	padding: 0px;
	background: none;
	transition: none;
}
body.recruit.admin-bar header#header {
	top: auto;
}
body.recruit header#header *#logo {
	width: 100%;
	height: 80px;
	left: 0px;
	top: 0px;
	padding-left: 20px;
}
body.recruit header#header *#logo svg {
	margin-right: 10px;
}
body.recruit header#header *#logo span {
	font-size: 1rem;
	transition: 0.25s color ease;
}
body.recruit div.menu-header header#header *#logo span {
	color: #ffffff;
}
body.recruit header#header p#button-menu {
	background-color: #0555c7;
	transition: 0.25s background-color ease, 0.375s transform 0.125s ease;
}
body.recruit div.menu-header header#header p#button-menu {
	background-color: transparent;
}
body.recruit header#header div#menu {
	background-color: #0555c7;
}
body.recruit header#header nav#navi ul li:not(.entry) {
	margin-right: 0px;
}
body.recruit header#header nav#navi ul li.corporate {
	color: #ffffff;
	margin-bottom: 40px;
}
body.recruit header#header nav#navi ul li.corporate a:hover {
	color: #ffffff9f;
}
body.recruit header#header nav#navi ul li.entry a,
body.recruit header#header nav#navi ul li.entry a::before {
	background-color: #ffffff;
	transition: 0.25s color ease, 0.25s background-color ease;
}
body.recruit header#header nav#navi ul li.entry a:hover,
body.recruit header#header nav#navi ul li.entry a:hover::before {
	background-color: #08387d;
}
body.recruit header#header nav#navi ul li.entry a {
	display: block;
	width: auto;
	height: 90px;
	color: #0555c7;
	border: none;
	padding: 15px 0px 0px 20px;
}
body.recruit header#header nav#navi ul li.entry a:hover {
	color: #ffffff;
}
body.recruit header#header nav#navi ul li.entry span.sub::before {
	background-color: #0555c7;
}
body.recruit header#header nav#navi ul li.entry a:hover span.sub::before {
	background-color: #ffffff;
}
body.recruit header#header nav#navi ul li.entry span.arrow {
	right: 20px;
}
body.recruit header#header nav#navi ul li.entry a:hover span.arrow {
	color: #ffffff;
	background-color: #0555c7;
}

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

body.home header#header,
body.home div.cover-03.scroll header#header {
	transform: none;
}
@media (max-width:1240px) {
body.home header#header,
body.home div.cover-03.scroll header#header {
	transform: none;
}
body.home div.cover-03 header#header,
body.home div.scroll.scroll-up header#header {
	transform: none;
}
}
body.home header#header :where(*#logo, p#button-menu),
body.home div.cover-03.scroll header#header :where(*#logo, p#button-menu) {
	transform: translateY(-80px);
}
body.home div.cover-03 header#header :where(*#logo, p#button-menu),
body.home div.scroll.scroll-up header#header :where(*#logo, p#button-menu),
body.home div.scroll.menu-header header#header :where(*#logo, p#button-menu) {
	transform: translateY(0px);
}



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

body.corporate div#cover div.image p.row span {
	width: calc(100% + 20px);
	left: -10px;
}
@keyframes cover-slide {
	0% { transform: translateX(-10px); }
	100% { transform: translateX(10px); }
}
body.corporate div#cover div.text {
	left: 20px;
	bottom: 40px;
}
body.corporate div#cover div.text h1 {
	font-size: 2.875rem;
	line-height: 3.75rem;
	margin-bottom: 10px;
}
body.corporate div#cover div.text p.sub {
	font-size: 1rem;
}
body.corporate div#cover p#button-scroll {
	right: 10px;
}
body.recruit div#cover {
	width: calc(100% - 40px);
	height: calc(100svh - 100px);
	margin-bottom: 20px;
}
body.recruit.admin-bar div#cover {
	height: calc(100svh - 100px);
}
body.recruit div#cover div.text {
	left: 20px;
}
body.recruit div#cover div.text h1 {
	font-size: 2.875rem;
	line-height: 3.75rem;
}
body.recruit div#cover div.text h1 i {
	height: 3.75rem;
	padding-top: 3.75rem;
}



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

body.corporate div#title {
}
body.corporate div#title:not(:has(p:where(.image, .map))) {
	margin-bottom: 40px;
}
body.corporate div#title::before {
	height: 300px;
	clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 80px), 0% 100%);
}
body.corporate div#title:has(p.image)::before {
	height: 440px;
}
body.corporate div#title:has(nav#navi-sub):has(p.image)::before {
	height: 520px;
}
body.corporate div#title div.inner-title {
	width: auto;
	padding: 120px 20px 0px 20px;
}
body.corporate.result div#title {
	height: 520px;
}
body.corporate.result.admin-bar div#title {
	height: 520px;
}
body.corporate.result div#title p.map img {
	object-position: 70% center;
}
body.corporate div#title:has(p.image) div.text {
	margin-bottom: 40px;
}
body.corporate div#title div.text p.sub {
	font-size: 1.125rem;
}
body.corporate div#title div.text h1 {
	font-size: 2.5rem;
	line-height: 3.25rem;
}
body.corporate div#title:has(nav#navi-sub) div.text h1 {
	margin-bottom: 40px;
}
body.corporate div#title nav#navi-sub {
	position: static;
	width: auto;
	right: auto;
	bottom: auto;
	padding-right: 40px;
}
body.corporate div#title nav#navi-sub ul {
	justify-content: flex-start;
	margin: 0px -20px -10px 0px;
}
body.corporate div#title nav#navi-sub ul li {
	margin: 0px 20px 10px 0px;
}
body.corporate div#title p.image {
	aspect-ratio: 1.5;
}
body.corporate div#title p.image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
body.recruit div#title {
	height: 200px;
}
body.recruit div#title div.text h1 {
	font-size: 2.5rem;
	line-height: 3.25rem;
}



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

main section div.inner-section {
	width: auto;
	padding: 80px 20px;
}
main section header.common {
	margin-bottom: 40px;
}
main section header.common p.sub {
	font-size: 1.125rem;
	margin-bottom: 0px;
}
main section header.common h2 {
	font-size: 2.5rem;
	line-height: 3.25rem;
}
main section header.common p.description {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 2.375rem;
}
main section header.common-alternate {
	margin-bottom: 80px;
}
main div.list-wrapper {
	display: block;
	margin-bottom: 80px;
}
main div.list-wrapper:has(div.list-year) div.list-category {
	width: auto;
	margin-bottom: 10px;
}
main div.list-category {
	display: block;
}
main div.list-category p.label {
	width: auto;
	margin-bottom: 10px;
}
main div.list-category ul {
	width: auto;
}
main div.list-year {
	width: auto;
}
main div.list-our-job {
	display: block;
	margin-bottom: 80px;
}
main div.list-our-job div.row {
	width: auto;
}
main div.list-our-job div.row:not(:last-child) {
	margin-bottom: 40px;
}
main div.list-our-job + p.diagram {
	width: auto;
	max-width: 370px;
}
main div.list-our-job + p.diagram::before,
main div.list-our-job + p.diagram::after {
	display: none;
}
main nav#navi-bottom {
	width: auto;
	margin-bottom: 80px;
	padding: 0px 20px;
}
body.our-job main nav#navi-bottom::before {
	height: calc(100% + 80px);
}
main nav#navi-bottom div.list {
	display: block;
	margin: 0px;
}
main nav#navi-bottom div.list div.row {
	width: auto;
	margin: 0px;
}
main nav#navi-bottom div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main nav#navi-bottom div.list div.row p.image {
	height: 160px;
}
main nav#navi-bottom div.list div.row div.text {
	padding: 40px 20px 0px 20px;
}
main nav#navi-bottom div.list div.row div.text:has(br.small) {
	padding-top: calc(40px - calc(2.75rem * 0.5));
}
main nav#navi-bottom div.list div.row div.text h3 {
	font-size: 2.5rem;
	line-height: 2.75rem;
}
main nav#navi-bottom div.list div.row div.text p.sub {
	font-size: 1rem;
}
main nav#navi-bottom div.list div.row div.text span.arrow {
	right: 20px;
}
main :where(div#pager, nav#navi-article) {
	margin-top: 80px;
}
main div.how-to {
	padding: 0px;
}
main div.how-to div.navi {
	display: none;
}
main div.how-to div.list::before {
	display: none;
}
main div.how-to div.list div.row:not(:last-child) {
	padding-bottom: 60px;
}
main div.how-to div.list div.row h3:not(:last-child) {
	margin-bottom: 15px;
}
main div.how-to div.list div.row h3 span.number {
	width: 45px;
	height: 45px;
	font-size: 1.5rem;
}
main div.how-to div.list div.row h3 span.main {
	width: calc(100% - 65px);
	font-size: 1.5rem;
}
main div.how-to div.list div.row div.body {
	padding-left: 0px;
}

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

main section#home-introduction div.inner-section {
	min-height: auto;
	padding: 200px 20px 320px 20px;
}
main section#home-introduction p.map {
	position: absolute;
	width: calc(100% + 160px);
	left: -80px;
	top: auto;
	bottom: 40px;
}
main section#home-introduction p.image-01 {
	aspect-ratio: 280 / 270;
	width: calc(280px * 0.5);
	top: 40px;
}
main section#home-introduction p.image-01 img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
main section#home-introduction p.image-02 {
	width: calc(280px * 0.5);
	left: calc(50% + 20px);
	top: auto;
	bottom: 40px;
}
main section#home-introduction p.image-03 {
	width: calc(290px * 0.5);
	left: auto;
	right: calc(50% + 20px);
	top: auto;
	bottom: 0px;
}
main section#home-introduction :where(h2, div.description) {
	margin-bottom: 40px;
}
main section#home-our-job {
	background-color: #ffffff;
	clip-path: polygon(0% 80px, 100% 0%, 100% 100%, 0% 100%);
}
main section#home-our-job div.inner-section {
	padding-top: 160px;
}
main section#home-our-job div.diagram-text {
	display: block;
}
main section#home-our-job div.diagram-text div.text {
	width: auto;
	margin-bottom: 40px;
}
main section#home-our-job div.diagram-text p.diagram {
	width: auto;
	max-width: 815px;
	margin: 0px auto;
}
main section#home-our-job div.list-our-job {
	margin-bottom: 40px;
}
main section#home-our-job p.more {
	justify-content: flex-start;
	margin-bottom: 80px;
}
main section#home-our-job div.image div.inner-image {
	animation-duration: 60s;
}
@keyframes home-our-job {
	0% { transform: translateX(0px); }
	100% { transform: translateX(calc(-2585px * 0.5)); }
}
main section#home-our-job div.image p:where(.row-01, .row-04) {
	width: calc(600px * 0.5);
}
main section#home-our-job div.image p:where(.row-02, .row-05) {
	width: calc(470px * 0.5);
}
main section#home-our-job div.image p.row-03 {
	width: calc(445px * 0.5);
}
main section#home-machine-qual div.inner-section {
	padding-bottom: 0px;
}
main section#home-machine-qual div.image-text {
	display: block;
	margin-left: 0px;
}
main section#home-machine-qual div.image-text div.text {
	width: auto;
	margin-bottom: 40px;
	padding-top: 0px;
}
main section#home-machine-qual div.image-text p.image {
	width: auto;
	height: 240px;
	margin-left: calc(50% - 50vw);
}
main section#home-result div.slide {
	margin-bottom: 40px;
}
main section#home-result div.slide div.list-result {
	display: block;
	overflow: hidden;
	margin: 0px 0px 20px 0px;
}
main section#home-result div.slide div.list-result div.row {
	width: calc(100vw - 40px);
}
main section#home-result p.list {
	justify-content: flex-start;
	position: static;
	right: auto;
	top: auto;
}
main section#home-recruit::before,
main section#home-recruit::after {
	height: 25px;
}
main section#home-recruit div.inner-section {
	padding: 160px 0px 200px 0px;
}
main section#home-recruit div.image-01 {
	width: calc(345px * 0.375);
	left: calc(50% - 210px);
	top: 20px;
}
main section#home-recruit div.image-02 {
	width: calc(340px * 0.375);
	left: calc(50% + 100px);
	top: auto;
	bottom: 50px;
}
main section#home-recruit div.image-03 {
	width: calc(300px * 0.375);
	left: calc(50% - 60px);
	top: 10px;
}
main section#home-recruit div.image-04 {
	width: calc(230px * 0.375);
	left: calc(50% - 30px);
	top: auto;
	bottom: 0px;
}
main section#home-recruit div.image-05 {
	width: calc(345px * 0.375);
	left: calc(50% + 80px);
	top: 30px;
	bottom: auto;
}
main section#home-recruit div.image-06 {
	width: calc(370px * 0.375);
	left: calc(50% - 210px);
	bottom: 50px;
}
main section#home-recruit header {
	margin-bottom: 60px;
}
main section#home-recruit h3 {
	font-size: 1.875rem;
	line-height: 3.25rem;
}
main section#home-recruit p.description {
	margin-bottom: 40px;
}
main section#home-news div.inner-section {
	padding-left: 20px;
}
main section#home-news :where(header, p.list) {
	position: static;
	left: auto;
}
main section#home-news header {
	top: auto;
}
main section#home-news div.list-news {
	margin-bottom: 40px;
}
main section#home-news p.list {
	justify-content: flex-start;
	top: auto;
}

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

main section#about-us div.inner-section {
	padding-left: 20px;
}
main section#about-us h2 {
	position: static;
	left: auto;
	top: auto;
	font-size: 2.125rem;
	line-height: 3.25rem;
	margin-bottom: 40px;
}
main section#strength div.inner-section {
	padding-bottom: 180px;
}
main section#strength div.list div.row {
	display: block;
}
main section#strength div.list div.row:nth-child(2n+1) {
	margin-left: 0px;
}
main section#strength div.list div.row:nth-child(2n) {
	margin-right: 0px;
}
main section#strength div.list div.row p.image {
	width: auto;
	height: auto;
	margin: 0px calc(50% - 50vw) 30px calc(50% - 50vw);
	transform: translateX(0px);
}
main section#strength div.list div.row div.text {
	width: auto;
}
main section#strength div.list div.row div.text h3 {
	font-size: 1.875rem;
}
main section#strength div.list div.row:not(:last-child) {
	margin-bottom: 80px;
}
main section#message p.image-main {
	height: 200px;
	transform: translateY(-100px);
	margin: 0px 0px -20px 0px;
}
main section#message p.image-main img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
main section#message div.image-text {
	display: block;
}
main section#message div.image-text p.image {
	width: calc(100% - 80px);
	max-width: 440px;
	margin: 0px auto 40px auto;
}
main section#message div.image-text div.text {
	width: auto;
}
main section:where(#mission, #philosophy)::before {
	width: calc(100% - 40px);
	left: 20px;
}
main section#mission div.image-text {
	display: block;
}
main section#mission div.image-text div.text {
	width: auto;
	margin-bottom: 40px;
	padding-top: 0px;
}
main section#mission div.image-text div.text dl :where(dt, dd) {
	text-align: center;
}
main section#mission div.image-text div.text dl dt {
	font-size: 1.5rem;
}
main section#mission div.image-text div.text dl dd {
	padding-left: 0px;
}
main section#mission div.image-text div.text dl dd:not(:last-child) {
	margin-bottom: 40px;
}
main section#mission div.image-text div.image {
	width: auto;
	max-width: 460px;
	margin: 0px auto;
}
main section#mission div.image-text div.image p.row-01 {
	width: calc(50% + 80px);
	margin-left: auto;
}
main section#mission div.image-text div.image p.row-02 {
	width: calc(50% - 20px);
	margin: -120px 0px 0px -0px;
}
main section#philosophy p.description {
	font-size: 1.5rem;
	line-height: 3.5rem;
	margin-bottom: 80px;
}
main section#philosophy div.image div.inner-image {
	animation-duration: 60s;
}
@keyframes philosophy {
	0% { transform: translateX(0px); }
	100% { transform: translateX(calc(-2585px * 0.5)); }
}
main section#philosophy div.image p:where(.row-01, .row-04) {
	width: calc(600px * 0.5);
}
main section#philosophy div.image p:where(.row-02, .row-05) {
	width: calc(470px * 0.5);
}
main section#philosophy div.image p.row-03 {
	width: calc(445px * 0.5);
}
main section#outline div.column {
	display: block;
}
main section#outline div.column div:where(.left, .right) {
	width: auto;
}
main section#outline div.column div.right div.list div.row:first-child {
	padding-top: 20px;
}
main section#history div.history {
	padding-left: 0px;
}
main section#history div.history div.list {
	margin-bottom: 60px;
}
main section#history div.history div.list div.row:not(:last-child)::before {
	left: 69.5px;
}
main section#history div.history div.list div.row::after {
	left: 65px;
}
main section#history div.history div.list div.row p.era-year {
	display: block;
	position: relative;
	width: 50px;
}
main section#history div.history div.list div.row p.era-year span {
	text-align: right;
}
main section#history div.history div.list div.row p.era-year span.era {
	position: absolute;
	width: 100%;
	left: 0px;
	top: -1.875rem;
}
main section#history div.history div.list div.row div.body {
	width: calc(100% - 90px);
}
main section#history div.history div.slide {
	position: static;
	width: auto;
	left: auto;
	top: auto;
}
main section#history div.history.top div.slide {
	position: static;
	left: auto;
	top: auto;
}
main section#history div.history.bottom div.slide {
	position: static;
	bottom: auto;
}
main section#history div.history div.slide div.caption-pager {
	display: block;
}
main section#history div.history div.slide div.caption {
	width: auto;
	margin-bottom: 20px;
}
main section#history div.history div.slide div.pager {
	justify-content: center;
}

/* our-job
-------------------------------------------------------------------------------- */

main section:where(#our-job, #how-to) header + p.description {
	margin-bottom: 80px;
}
main section#our-job div.inner-section {
	padding-bottom: 105px;
}
main section#how-to::before {
	height: 25px;
	top: -24.5px;
}
main section#how-to div.inner-section {
	max-width: 1200px;
}

/* factory
-------------------------------------------------------------------------------- */

main section#factory header {
	display: block;
	height: auto;
	padding: 80px 0px;
}
main section#factory header p.map {
	width: calc(473px * 0.625);
	right: -20px;
}
main section#factory div.list div.row {
	display: block;
	padding: 20px;
}
main section#factory div.list div.row p.image {
	width: auto;
	margin-bottom: 30px;
}
main section#factory div.list div.row div.text {
	width: auto;
}
main section#factory div.list div.row div.text h2 {
	font-size: 1.5rem;
}

/* machine-qual
-------------------------------------------------------------------------------- */

main div.list-machine {
	display: block;
	margin: 0px;
}
main div.list-machine div.row {
	width: auto;
	margin: 0px;
}
main div.list-machine div.row:not(:last-child) {
	margin-bottom: 40px;
}
main div.list-machine div.row :where(h4, div.data) {
	padding-left: 20px;
}
main div.list-machine-alternate-wrapper {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
main div.list-machine-alternate-wrapper:not(:last-child) {
	margin-bottom: 40px;
}
main div.list-machine-alternate-wrapper::-webkit-scrollbar {
	height: 15px;
}
main div.list-machine-alternate-wrapper::-webkit-scrollbar-track {
	background: linear-gradient(180deg, transparent 80%, #acacac 80%, #acacac 86.66%, transparent 86.66%, transparent 100%);
}
main div.list-machine-alternate-wrapper::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, transparent 66.66%, #acacac 66.66%, #acacac 100%);
}
main div.list-machine-alternate {
	width: 800px;
}
main section#machine div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#machine div.block p.button-default a {
	width: 260px;
}
main section#qual div.list {
	display: block;
}
main section#qual div.list::before {
	display: none;
}
main section#qual div.list div.row {
	width: auto;
}
main section#qual div.list div.row:first-child {
	display: none;
}
main section#qual div.list div.row:nth-child(2n+1) {
	border-right: none;
}

/* result
-------------------------------------------------------------------------------- */

main div.list-result {
	display: block;
	margin: 0px;
}
main div.list-result div.row {
	width: auto;
	margin: 0px;
}
main div.list-result div.row:not(:last-child) {
	margin-bottom: 40px;
}
main:has(div.list-result-no-image) div.list-result {
	margin-bottom: 60px;
}
main div.list-result-no-image div.row {
	margin-bottom: 0px;
}
main div.list-result-no-image div.row:not(:last-child) {
	margin-bottom: 20px;
}
main article.result {
	margin: -80px 0px 40px 0px;
	padding-top: 160px;
}
main article.result::before {
	height: calc(100% + 80px);
	clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 80px), 0% 100%);
}
main article.result header {
	margin-bottom: 40px;
}
main article.result header h1 {
	font-size: 1.625rem;
	line-height: 2.5rem;
	padding-left: 20px;
}
main article.result header h1::before {
	width: 6px;
	height: 6px;
	left: 4px;
	top: 20px;
}
main article.result div.slide-data {
	display: block;
}
main article.result div.slide-data div.slide {
	width: auto;
}
main article.result div.slide-data div.data {
	width: auto;
}
main section#result p.button-more {
	margin-top: 80px;
}
main section#result div.other {
	margin-bottom: 40px;
}
main section#result div.other div.list-result {
	margin: 0px;
}
main section#result div.other > div.list-result {
	display: none;
}
main section#result div.other div.list-result div.row {
	width: auto;
	margin: 0px;
}
main section#result div.other div.list-result div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#result div.other div.list-result div.row h3 {
	font-size: 1.25rem;
}
main section#result div.other div.list-result div.row div.misc {
	padding-right: 0px;
}
main section#result div.other div.list-result div.row div.misc p,
main section#result div.other div.list-result div.row p.period {
	font-size: 1rem;
	line-height: 1.875rem;
}
main section#result div.other div.list-result div.row div.misc p.category span {
	height: 30px;
	font-size: 1rem;
	padding: 0px 15px;
	border-radius: 15px;
}
main section#result div.other div.list-result div.row p.period {
	position: static;
	right: auto;
	bottom: auto;
}
main section#result div.other div.list-result div.row span.arrow {
	display: none;
}
main section#result div.other div.slide {
	display: block;
	position: relative;
}
main section#result div.other div.slide div.list-result {
	overflow: hidden;
}
main section#result div.other div.slide div.list-result div.inner-list-result {
	display: flex;
	flex-wrap: wrap;
	width: 9999px;
}
main section#result div.other div.slide div.list-result div.row {
	width: calc(100vw - 40px);
	margin: 0px 40px 0px 0px;
}
main section#result div.other div.slide div.pager {
	display: none;
	position: absolute;
	aspect-ratio: 460 / 320;
	width: 100%;
	left: 0px;
	top: 0px;
	z-index: 5;
	pointer-events: none;
}
main section#result div.other div.slide:has(div.row:nth-child(2)) div.pager {
	display: block;
}
main section#result div.other div.slide div.pager p.button {
	position: absolute;
	top: calc(50% - 15px);
	pointer-events: auto;
}
main section#result div.other div.slide div.pager p.button-prev {
	left: -10px;
}
main section#result div.other div.slide div.pager p.button-next {
	right: -10px;
}

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

main article.news {
	margin: -80px 0px 40px 0px;
	padding-top: 160px;
}
main article.news::before {
	height: 400px;
	clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 80px), 0% 100%);
}
main article.news div.inner-article {
	padding: 40px 20px;
}
main article.news header {
	margin-bottom: 40px;
	padding-bottom: 40px;
}
main article.news header div.created-category {
	margin-bottom: 20px;
}
main article.news header h1 {
	text-align: left;
	font-size: 1.625rem;
	line-height: 2.5rem;
}

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

main section.form div:where(.header, .form) {
	margin-bottom: 80px;
}
main section.form div.form div.component-wrapper {
	margin-bottom: 80px;
}
main section.form div.form div.component {
	display: block;
}
main section.form div.form div.component p.label {
	width: auto;
	height: auto;
	margin-bottom: 15px;
}
main section.form div.form div.component p.label:has(br) span.require {
	padding-bottom: 0px;
}
main section.form div.form div.component div.body {
	width: auto;
}
main section.form div.form div.component-radio-checkbox div.body {
	margin-right: -20px;
}
main section.form div.form div.agreement {
	margin-bottom: 40px;
}
main section.form div.tel {
	width: auto;
	padding: 40px 20px;
}
main section.form div.tel h3 {
	margin-bottom: 10px;
}
main section.form div.tel p.number {
	font-size: 2.5rem;
	line-height: 3.25rem;
}
main section.form div.mw_wp_form_complete p.description {
	margin-bottom: 80px;
}
body.recruit main section.form div.header {
	text-align: justify;
}

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

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

/* recruit
-------------------------------------------------------------------------------- */

main header.common-recruit p.description {
	margin-bottom: 120px;
}
main section#recruit-introduction div.inner-section {
	padding-bottom: 280px;
}
main section#recruit-introduction p.image-01 {
	width: calc(340px * 0.475);
	right: calc(50% + 5px);
	top: auto;
	bottom: 0px;
}
main section#recruit-introduction p.image-02 {
	width: calc(335px * 0.475);
	left: calc(50% + 15px);
	right: auto;
	top: auto;
	bottom: 120px;
}
main section:where(#recruit-company, #recruit-our-job) div.trigger {
	position: absolute;
	top: 0px;
}
main section:where(#recruit-company, #recruit-our-job) p.headline {
	right: -12.5px;
	top: 80px;
	font-size: 5.75rem;
	line-height: 5.75rem;
}
main section:where(#recruit-company, #recruit-our-job).top p.headline {
	top: 80px;
}
main section#recruit-company header.common {
	margin-bottom: 40px;
}
main section#recruit-company div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#recruit-company div.block-message div.inner-block {
	padding: 40px 20px 40px 0px;
}
main section#recruit-company div.block-message div.image-text {
	display: block;
}
main section#recruit-company div.block-message div.image-text p.image {
	width: calc(100% - 40px);
	max-width: 400px;
	margin: 0px auto 40px auto;
}
main section#recruit-company div.block-message div.image-text div.text {
	width: auto;
}
main section#recruit-company div.block-feature:not(:last-child) {
	margin-bottom: 120px;
}
main section#recruit-company div.block-feature header.common-recruit {
	margin-bottom: 40px;
}
main section#recruit-company div.block-feature div.list {
	display: block;
	margin-right: 0px;
}
main section#recruit-company div.block-feature div.list div.row {
	width: auto;
	margin-right: 0px;
	padding: 40px 20px;
}
main section#recruit-company div.block-feature div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#recruit-company div.block-feature div.list div.row div.icon-headline {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
main section#recruit-company div.block-feature div.list div.row div.icon-headline p.icon {
	width: calc(90px * 0.875);
	margin: 0px;
}
main section#recruit-company div.block-feature div.list div.row div.icon-headline h4 {
	width: calc(100% - calc(90px * 0.875) - 20px);
	text-align: left;
	font-size: 1.625rem;
	line-height: 2.375rem;
	margin: 0px;
}
main section#recruit-company div.block-voice header.common-recruit {
	margin-bottom: 40px;
}
main section#recruit-company div.block-voice div.balloon-01 {
	width: 120px;
	height: 70px;
	left: calc(50% - 60px);
	top: -60px;
}
main section#recruit-company div.block-voice div.balloon-02 {
	width: 130px;
	height: 130px;
	left: calc(50% + 100px);
	right: auto;
	top: -30px;
}
main section#recruit-company div.block-voice div.balloon-03 {
	width: 180px;
	height: 140px;
	left: calc(50% - 230px);
	top: 400px;
}
main section#recruit-company div.block-voice div.balloon-04 {
	width: 180px;
	height: 80px;
	left: calc(50% + 30px);
	right: auto;
	top: 750px;
}
main section#recruit-company div.block-voice div.balloon-05 {
	width: 200px;
	height: 160px;
	left: auto;
	right: calc(50% + 100px);
	top: auto;
	bottom: -30px;
}
main section#recruit-company div.block-voice div.list {
	display: block;
	margin: 0px;
}
main section#recruit-company div.block-voice div.list div.row {
	width: auto;
	max-width: 400px;
	height: 240px;
	margin: 0px auto;
	padding-left: calc(210px * 0.75);
}
main section#recruit-company div.block-voice div.list div.row:not(:last-child) {
	margin-bottom: 80px;
}
main section#recruit-company div.block-voice div.list div.row:nth-child(2n+1) {
	margin-top: 0px;
}
main section#recruit-company div.block-voice div.list div.row::after {
	width: calc(100% - 40px);
	left: 20px;
	bottom: 60px;
}
main section#recruit-company div.block-voice div.list div.row p.image {
	width: calc(210px * 0.75);
	height: calc(375px * 0.75);
}
main section#recruit-company div.block-voice div.list div.row h4 {
	right: 10px;
	top: 30px;
	width: calc(100% - 130px);
}
main section#recruit-company div.block-voice div.list div.row :where(div.profile, p.worth) {
	right: 20px;
}
main section#recruit-company div.block-voice div.list div.row div.profile {
	bottom: 70px;
}
main section#recruit-company div.block-voice div.list div.row p.worth {
	bottom: 20px;
}
main section#recruit-company p.button-default a {
	width: 260px;
}
main section#recruit-company + div.image div.inner-image {
	animation-duration: 30s;
}
@keyframes recruit-company-image {
	0% { transform: translateX(0px); }
	100% { transform: translateX(calc(-1640px * 0.5)); }
}
main section#recruit-company + div.image p.row {
	width: calc(370px * 0.5);
	margin-right: 20px;
}
main section#recruit-company + div.image p.row:nth-child(2n) {
	margin-top: 30px;
}
main section#recruit-our-job div.list-our-job {
	margin-bottom: 120px;
}
main section#recruit-our-job p.diagram span {
	width: calc(225px * 0.875);
	height: calc(224px * 0.875);
	left: calc(50% - 210px);
	top: -90px;
	text-align: center;
	font-size: 1rem;
}
main section#recruit-result:before {
	height: calc(100% - 80px);
	left: 20px;
}
main section#recruit-result p.map {
	width: calc(100% + 80px);
	left: 20px;
	top: 80px;
}
main section#recruit-result p.map img {
	transform: translateX(-40px);
}
main section#recruit-result div.inner-section {
	padding: 40px 20px 120px 40px;
}
main section#recruit-result header.common-recruit {
	margin-bottom: 40px;
}
main section#recruit-result div.slide {
	width: calc(100% - 20px);
}
main section#recruit-result div.slide div.list-result {
	margin-bottom: 30px;
	padding: 0px;
}
main section#recruit-result div.slide div.list-result div:where(.width, .row) {
	width: calc(100vw - 80px);
}
main section#recruit-result div.slide div.list-result div.row.current a {
	margin: 0px;
}
main section#recruit-result div.slide div.list-result div.row p.image {
	height: auto;
}
main section#recruit-result div.slide div.list-result div.row.current p.image {
	height: auto;
}
main section#recruit-result div.slide div.list-result div.row h3::before {
	background-color: #0555c7;
}
main section#recruit-result div.slide div.list-result div.row p.period {
	position: static;
	right: auto;
	bottom: auto;
}
main section#recruit-result div.slide div.pager {
	aspect-ratio: 460 / 320;
	height: auto;
	top: 0px;
}
main section#recruit-result div.slide div.pager p.button-prev {
	left: -10px;
}
main section#recruit-result div.slide div.pager p.button-next {
	right: -10px;
}
main section#recruit-result div.slide div.navi {
	position: static;
	width: auto;
	left: auto;
	bottom: auto;
}
main section#recruit-how-to p.image-main {
	height: 240px;
	margin-bottom: 80px;
}
main section#recruit-how-to p.image-main::before {
	height: 25px;
}
main section#recruit-how-to header.common-recruit {
	margin-bottom: 80px;
	padding-left: 0px;
}
main section#recruit-how-to header.common-recruit :where(p.sub, h3) {
	position: static;
	left: auto;
}
main section#recruit-how-to header.common-recruit p.sub {
	top: auto;
}
main section#recruit-how-to header.common-recruit h3 {
	top: auto;
}
main section#recruit-guideline::before {
	height: 25px;
}
main section#recruit-qa div.list {
	margin-bottom: 80px;
}
main section#recruit-qa div.list div.row {
	padding: 0px 20px;
}
main section#recruit-qa div.list div.row h3,
main section#recruit-qa div.list div.row div.body div.inner-body {
	position: relative;
	padding: 20px 0px 20px 40px;
}
main section#recruit-qa div.list div.row h3 {
	padding-right: 40px;
}
main section#recruit-qa div.list div.row h3::before,
main section#recruit-qa div.list div.row div.body div.inner-body::before {
	top: 20px;
}
main section#recruit-qa div.list div.row div.body div.inner-body::before {
	font-size: 1.5rem;
}
main div.catch {
	margin-bottom: 80px;
}
main div.catch div.inner-catch {
	animation-duration: 80s;
}
@keyframes catch {
	0% { transform: translateX(0px); }
	100% { transform: translateX(calc(-3600px * 0.5)); }
}
main div.catch div.row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: calc(1800px * 0.5);
}
main div.catch div.row p.image {
	width: calc(215px * 0.5);
	margin-right: 20px;
}
main div.catch div.row h3 {
	font-size: 4.5rem;
	line-height: 4.5rem;
	transform: translateY(-1px);
}

/* guideline
-------------------------------------------------------------------------------- */

main div.list-guideline ul li:not(:last-child) {
	margin-bottom: 20px;
}
main div.list-guideline ul li a {
	padding-left: 40px;
}
main div.list-guideline ul li a::before {
	left: 24px;
}
main article.guideline {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 80px 20px;
	border-radius: 0px;
}
main article.guideline:not(:last-child) {
	margin-bottom: 0px;
}
main article.guideline h2 {
	font-size: 1.5rem;
	line-height: 2.375rem;
	margin-bottom: 40px;
}
main article.guideline div.list {
	margin-bottom: 40px;
}
main article.guideline div.list div.row {
	display: block;
	border-color: #0555c7;
	padding-bottom: 20px;
}
main article.guideline div.list div.row:first-child {
	border-top: 1px solid #0555c7;
	padding-top: 20px;
}
main article.guideline div.list div.row::before {
	display: none;
}
main article.guideline div.list div.row:not(:first-child) {
	padding-top: 20px;
}
main article.guideline div.list div.row p.label {
	width: auto;
	margin-bottom: 10px;
}
main article.guideline div.list div.row p.body {
	width: auto;
}
main section#guideline div.list-guideline {
	margin-bottom: 80px;
	padding: 0px;
}



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

div#modal section div.inner-section {
	width: auto;
	padding: 60px 20px;
}
div#modal section.voice div.content div.inner-content {
	min-height: 0px;
	overflow: hidden;
	padding: 280px 20px 20px 20px;
}
div#modal section.voice div.content h3 {
	width: calc(440px * 0.5);
	left: calc(50% - 60px);
	top: 60px;
}
div#modal section.voice div.content p.image {
	width: calc(320px * 0.5);
	height: calc(500px * 0.5);
	left: calc(50% - 200px);
	top: 10px;
	bottom: auto;
}
div#modal section#voice-02 div.content p.image {
	left: calc(50% - 170px);
}
div#modal section.voice div.content div.profile {
	width: 200px;
	left: auto;
	right: 20px;
	top: 180px;
	bottom: auto;
	text-align: right;
}
div#modal section.voice div.content div.profile p.name {
	justify-content: flex-end;
}
div#modal section.voice div.content div.image p.row {
	height: auto;
	overflow: hidden;
	border-radius: 10px;
}



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

footer#footer::before {
	height: calc(100% - 100px);
}
footer#footer div.inner-footer {
	padding: 0px 20px 60px 20px;
}
@media (max-width:1240px) {
footer#footer div.inner-footer {
	padding-bottom: 40px;
}
}
footer#footer div#trigger-footer {
	top: 20px;
}
footer#footer div#trigger-footer-alternate {
	bottom: 160px;
}
footer#footer p#button-page-top {
	right: 10px;
	bottom: 10px;
}
footer#footer div.information-navi-footer {
	display: block;
	margin-bottom: 60px;
}
footer#footer div.information {
	margin-bottom: 40px;
}
footer#footer nav#navi-footer ul li {
	width: 50%;
	margin-bottom: 20px;
}
footer#footer p.catch {
	font-size: 2.5rem;
	line-height: 3.25rem;
	margin-bottom: 40px;
}
footer#footer div.misc {
	display: block;
	position: static;
	right: auto;
	bottom: auto;
}
footer#footer div.misc p.privacy-policy {
	margin: 0px 0px 20px 0px;
}
footer#footer div.misc p.copyright {
	text-indent: -1.375em;
	padding: 0px 70px 0px 1.375em;
}
body.corporate footer#footer div.contact,
body.recruit footer#footer div.entry {
	width: auto;
	margin: 0px calc(50% - 50vw) 80px calc(50% - 50vw);
}
body.corporate footer#footer div.contact a,
body.recruit footer#footer div.entry a {
	height: 220px;
}
body.corporate footer#footer div.contact div.text,
body.recruit footer#footer div.entry div.text {
	width: calc(100% - 40px);
	padding-top: 0px;
}
body.corporate footer#footer div.contact div.text::before,
body.recruit footer#footer div.entry div.text::before {
	display: none;
}
body.corporate footer#footer div.contact div.text p.sub,
body.recruit footer#footer div.entry div.text p.sub {
	margin-bottom: 10px;
}
body.corporate footer#footer div.contact div.text h3,
body.recruit footer#footer div.entry div.text h3 {
	font-size: 2.5rem;
	line-height: 2.5rem;
	margin-bottom: 20px;
}
body.corporate footer#footer div.contact div.text span.arrow,
body.recruit footer#footer div.entry div.text span.arrow {
	right: 0px;
	top: auto;
	bottom: 0px;
}
body.corporate footer#footer nav#navi-footer ul {
	flex-direction: column;
	height: calc(calc(1.875rem + 20px) * 4);
}
body.corporate footer#footer nav#navi-footer ul li:not(:where(.recruit, .contact)),
body.recruit footer#footer nav#navi-footer ul li:not(:where(.guideline, .entry)) {
	margin-right: 0px;
}
body.corporate footer#footer nav#navi-footer ul li.contact {
	order: 1;
}
body.recruit footer#footer p#button-page-top {
	bottom: 60px;
}
body.recruit div.footer-alternate footer#footer p#button-page-top {
	bottom: 10px;
}
body.recruit:has(div#cover) footer#footer p#button-page-top a {
	opacity: 0;
	transition: 0.25s opacity 0.5s ease;
}
body.recruit:has(div#cover) div.cover-03 footer#footer p#button-page-top a {
	opacity: 1;
}
body.recruit footer#footer div.entry a {
	border-radius: 0px;
}
body.recruit footer#footer nav#navi-footer ul {
	flex-direction: column;
	justify-content: flex-start;
	width: auto;
	height: calc(calc(1.875rem + 20px) * 3);
}
body.recruit footer#footer nav#navi-footer p.corporate {
	text-align: left;
}
