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

br.small {
	display: inline;
}
br.large {
	display: none;
}
img.small {
	display: block;
}
img.large {
	display: none;
}
:where(span, i).no-small {
	display: none;
}
:where(span, i).no-large {
	display: inline;
}



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

body:not(.home) div#page {
	padding-top: 100px;
}



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

header#header::before {
	transition-duration: 0.25s;
}
header#header *#logo {
	left: 20px;
	top: 30px;
}
body.admin-bar header#header *#logo {
	top: 20px;
}
header#header :where(p#button-menu, nav#navi-alternate) {
	top: 20px;
}
body.admin-bar header#header :where(p#button-menu, nav#navi-alternate) {
	top: 20px;
}
header#header p#button-menu {
	right: 20px;
}
header#header div#menu {
	display: block;
	background-color: transparent;
	border-bottom-left-radius: 0px;
	transform: translateX(100%);
	transition-duration: 0.25s;
}
div.menu-header header#header div#menu {
	transform: translateX(0%);
}
header#header div#menu div.inner-menu {
	width: auto;
	padding: 90px 30px 40px 30px;
	background-color: #ffffff;
	border-bottom-left-radius: 112.5px;
}
header#header nav#navi,
header#header div.misc {
	margin-bottom: 40px;
}
header#header nav#navi div.list {
	display: block;
}
header#header nav#navi div.list div.row:not(:nth-last-child(2)) {
	margin: 0px 0px 40px 0px;
}
header#header nav#navi div.list div.row-small {
	display: block;
}
header#header nav#navi div.list div.row div.segment:not(:where(:last-child, .segment-news-alternate)),
header#header nav#navi div.list div.row-small div.segment-news {
	min-height: 0px;
	margin-bottom: 40px;
}
header#header nav#navi div.list div.row div.segment-news-alternate {
	display: none;
}
header#header nav#navi div.list div.row:not(.row-small) div.segment-faq {
	display: none;
}
header#header nav#navi div.list div.row div.segment p.headline:not(:last-child) {
	margin-bottom: 20px;
}
header#header nav#navi div.list div.row div.segment ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
header#header nav#navi div.list div.row div.segment ul li {
	width: calc(50% - 10px);
	line-height: 1.25rem;
	margin-bottom: 10px;
}
header#header div.misc div.button-wrapper {
	display: block;
	margin-right: 0px;
}
header#header div.misc p.button-default {
	width: auto;
	margin-right: 0px;
}
header#header div.misc p.button-default:not(:last-child) {
	margin-bottom: 20px;
}
header#header div.misc p.button-default a {
	height: 80px;
	padding: 0px 60px 0px 40px;
	border-radius: 40px;
}
header#header div.misc p.button-default span.text i.main {
	font-size: 1.875rem;
	line-height: 1.875rem;
}
header#header div.misc p.button-default span.text i.sub {
	font-size: 0.75rem;
	line-height: 1.25rem;
}
header#header div.misc p.button-default span.arrow {
	width: 40px;
	height: 40px;
	right: 20px;
	top: calc(50% - 20px);
	font-size: 0.75rem;
}
header#header div.sns-corporate {
	justify-content: space-between;
}
header#header div.sns-corporate div.sns {
	margin-right: 0px;
}
header#header nav#navi-alternate {
	display: none;
}



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

div#breadcrumb {
	width: calc(100svh - 100px);
}
div#breadcrumb p {
	left: 0px;
	transform: translateX(25px) rotate(90deg);
}



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

body.admin-bar div#cover {
	height: 100svh;
}
div#cover div.image-01 {
	width: 500px;
	left: calc(50% - 320px);
	top: -40px;
}
div#cover div.image-02 {
	width: 280px;
	left: calc(50% - 20px);
	top: 380px;
}
div#cover div.text {
	left: 30px;
	bottom: 40px;
}
div#cover div.text h1 {
	font-size: 3rem;
	line-height: 4rem;
	margin-bottom: 20px;
}
div#cover div.text p.sub {
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.5rem;
}
div#cover p.symbol-01 {
	width: 120px;
	left: calc(50% + 60px);
	top: -20px;
}
div#cover p.symbol-02 {
	width: 80px;
	left: calc(50% + 100px);
	top: auto;
	bottom: -20px;
}



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

div#title {
	width: auto;
	margin-bottom: 0px;
	padding: 0px 30px;
}
div#title div.text {
	position: static;
	width: auto;
	left: auto;
	top: auto;
	margin-bottom: 20px;
}
div#title div.text :where(h1, p.sub) {
	writing-mode: horizontal-tb;
	margin-left: 0px;
	margin-right: 0px;
}
div#title div.text h1 {
	font-size: 2.75rem;
	line-height: 3rem;
	margin-bottom: 0px;
}
div#title div.text p.sub {
	padding: 0px 0px 0px 20px;
}
div#title div.text p.sub::before {
	left: 0px;
	top: 11px;
}
div#title p.image {
	height: 220px;
	margin-right: -30px;
	border-radius: 12.5px 0px 0px 12.5px;
}
div#title:has(p.description) p.image {
	margin-bottom: 20px;
}
div#title p.description {
	position: static;
	left: auto;
	top: auto;
	font-size: 1rem;
	line-height: 1.875rem;
}
div#title p.symbol {
	position: absolute;
}
div#title p.symbol-01 {
	width: 75px;
	left: auto;
	right: -10px;
	top: 230px;
	bottom: auto;
}
div#title p.symbol-02 {
	width: 45px;
	left: auto;
	right: 60px;
	top: 300px;
	bottom: auto;
}



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

main section div.inner-section {
	width: auto;
	padding: 80px 30px;
}
main section header.common {
	margin-bottom: 80px;
}
main section header.common p.symbol {
	margin-bottom: 20px;
}
main section header.common h1 {
	font-size: 2.75rem;
	line-height: 3rem;
}
main section header.common p.sub:not(:last-child) {
	margin-bottom: 60px;
}
main section header.common p.description {
	font-size: 1rem;
	line-height: 1.875rem;
}
main div.list-menu div.row:not(:last-child) {
	margin-bottom: 50px;
}
main div.list-menu div.row::before,
main div.list-menu div.row a {
	border-radius: 12.5px;
}
main div.list-menu div.row::before {
	left: 10px;
	top: 10px;
}
main div.list-menu div.row a {
	display: block;
	padding: 20px 20px 70px 20px;
}
main div.list-menu div.row p.image {
	aspect-ratio: 490 / 380;
	width: 100%;
	margin-bottom: 20px;
	border-radius: 12.5px;
}
main div.list-menu div.row div.text {
	width: auto;
}
main div.list-menu div.row div.text p.number {
	right: -30px;
	top: -30px;
	font-size: 7.5rem;
	line-height: 7.5rem;
}
main div.list-menu div.row div.header {
	margin-bottom: 20px;
	padding: 20px 0px;
}
main div.list-menu div.row div.header h2 {
	font-size: 2.75rem;
	line-height: 3rem;
}
main div.list-menu div.row span.arrow {
	width: 40px;
	height: 40px;
	right: 20px;
	bottom: 20px;
	font-size: 0.75rem;
}
main nav#navi-main {
	margin-bottom: 60px;
}
main nav#navi-main div.button-wrapper {
	display: block;
	margin: 0px;
}
main nav#navi-main p.button-default {
	margin: 0px auto;
}
main nav#navi-main p.button-default:not(:last-child) {
	margin-bottom: 20px;
}
main nav#navi-sub div.inner-navi-sub {
	width: auto;
	padding: 0px 30px 80px 30px;
}
body:where(.medical-industry, .message) main nav#navi-sub div.inner-navi-sub {
	padding-top: 80px;
}
main nav#navi-sub div.list {
	display: block;
	margin: 0px 0px 60px 0px;
}
main nav#navi-sub div.list div.row {
	width: auto;
	margin-right: 0px;
	border-radius: 12.5px;
}
main nav#navi-sub div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main nav#navi-sub div.list:has(div.row:nth-child(4)) div.row {
	width: auto;
	margin-right: 0px;
}
main nav#navi-sub div.list div.row p.image {
	height: 100px;
}
main nav#navi-sub div.list div.row p.image-top img {
	object-position: center 12.5%;
}
main nav#navi-sub div.list div.row div.text h3 {
	font-size: 1.625rem;
	line-height: 2rem;
	margin-bottom: 0px;
}
main div.description p.row {
	font-size: 1rem;
	line-height: 2.375rem;
}
main div#pager {
	margin-top: 60px;
}

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

main div#home-news {
	height: 60px;
}
main div#home-news h2 {
	width: 80px;
	font-size: 1rem;
}
main div#home-news div.list {
	width: calc(100% - 80px);
}
main div#home-news div.list div.row a {
	padding: 0px 20px;
}
main div#home-news div.list div.row p.created {
	font-size: 0.875rem;
	margin-right: 15px;
}
main div#home-news div.list div.row h3 {
	font-size: 1rem;
}
main section#home-introduction div.video {
	height: 600px;
}
main section#home-introduction div.video::before {
	height: 300px;
}
main section#home-introduction div.inner-section {
	padding: 160px 0px 450px 0px;
}
main section#home-introduction h2 {
	font-size: 1.5rem;
	margin-bottom: 40px;
}
main section#home-introduction div.description p.row {
	font-size: 1rem;
	line-height: 3.25rem;
}
main section:where(#home-work, #home-company, #home-culture) header {
	position: static;
	width: auto;
	left: auto;
	top: auto;
}
main section:where(#home-work, #home-company, #home-culture) header :where(h2, p.sub) {
	writing-mode: horizontal-tb;
	margin-left: 0px;
	margin-right: 0px;
}
main section:where(#home-work, #home-company, #home-culture) header h2 {
	font-family: "avenir", sans-serif;
	font-size: 2.75rem;
	line-height: 3rem;
	margin-bottom: 0px;
}
main section:where(#home-work, #home-company, #home-culture) header p.sub {
	padding: 0px 0px 0px 20px;
}
main section:where(#home-work, #home-company, #home-culture) header p.sub::before {
	left: 0px;
	top: 11px;
}
main section#home-work div.inner-section {
	padding: 80px 30px;
}
main section#home-work.fixed header {
	position: static;
	top: auto;
}
body.admin-bar main section#home-work.fixed header {
	top: auto;
}
body.admin-bar main section#home-work div.list div.row div.inner-row {
	padding-top: 0px;
}
main section#home-work div.list div.row a {
	width: calc(100vw - 60px);
	margin: 0px auto;
	padding: 20px 20px 70px 20px;
	border-radius: 12.5px;
}
main section#home-work div.list div.row p.image {
	aspect-ratio: 490 / 380;
	width: 100%;
	margin-bottom: 20px;
	border-radius: 12.5px;
}
main section#home-work div.list div.row div.text {
	width: auto;
}
main section#home-work div.list div.row div.text p.number {
	right: -30px;
	top: -30px;
	font-size: 7.5rem;
	line-height: 7.5rem;
}
main section#home-work div.list div.row div.header {
	margin-bottom: 20px;
	padding: 20px 0px;
}
main section#home-work div.list div.row div.header h2 {
	font-size: 2.75rem;
	line-height: 3rem;
}
main section#home-work div.list div.row span.arrow {
	width: 40px;
	height: 40px;
	right: 20px;
	bottom: 20px;
	font-size: 0.75rem;
}
main section#home-company::before {
	width: calc(100% + 60px);
	border-radius: 0px 225px 225px 0px;
}
main section#home-company p.headline {
	right: -60px;
	top: auto;
	bottom: 0px;
}
main section#home-company p.headline img {
	width: 475px;
}
main section:where(#home-company, #home-culture) header {
	margin-bottom: 40px;
}
main section#home-company div.list {
	display: block;
	margin: 0px;
}
main section#home-company div.list div.row {
	width: auto;
	margin: 0px;
}
main section#home-company div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#home-company div.list div.row:nth-child(3n+2) {
	margin-top: 0px;
}
main section#home-company div.list div.row a {
	border-radius: 12.5px;
}
main section#home-company div.list div.row p.image {
	border-radius: 12.5px;
}
main section#home-culture {
	border-radius: 0px 0px 40px 40px;
}
main section#home-culture div.slide div.list-cross-talk {
	margin-bottom: 30px;
}
main section#home-culture div.slide div.list-cross-talk div.inner-list-cross-talk div.row {
	width: calc(100vw - 60px);
	margin-right: 50px;
}
main div.fix {
	height: 400px;
	margin: -40px 0px;
}
main div.fix div.inner-fix {
	height: calc(100% + 80px);
}
main section#home-menu {
	border-radius: 40px 40px 0px 0px;
}
main section#home-menu::before {
	height: 200px;
}
main section#home-menu p.symbol-01 {
	width: 45px;
	left: auto;
	right: 60px;
	bottom: 0px;
}
main section#home-menu p.symbol-02 {
	width: 75px;
	left: auto;
	right: -10px;
	bottom: 35px;
}
main section#home-menu p.headline {
	top: -125px;
	font-size: 5rem;
	line-height: 4rem;
}
main section#home-menu div.list {
	display: block;
	margin: 0px;
}
main section#home-menu div.list div.row {
	width: auto;
	margin: 0px;
}
main section#home-menu div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#home-menu div.list div.row-wide {
	width: auto;
}
main section#home-menu div.list div.row :where(p.image, div.text) {
	border-radius: 12.5px;
}
main section#home-menu div.list div.row p.image {
	height: 160px;
}
main section#home-menu div.list div.row p.image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
main section#home-menu div.list div.row div.text {
	padding: 10px;
	border-radius: 12.5px;
}
main section#home-menu div.list div.row div.text h3 {
	font-size: 1.375rem;
}
main section#home-menu div.list div.row div.text p.sub {
	font-size: 0.75rem;
	line-height: 1.25rem;
}
main section#home-menu div.list div.row span.arrow {
	width: 40px;
	height: 40px;
	right: 10px;
	bottom: 10px;
	font-size: 0.75rem;
}

/* medical-industry
-------------------------------------------------------------------------------- */

main section#medical-industry::before {
	height: calc(100% + 100px);
	top: -100px;
}
main section#medical-industry h2 {
	text-align: center;
	font-size: 1.875rem;
	line-height: 3rem;
	margin-bottom: 60px;
}
main section#medical-industry div.description {
	margin-bottom: 80px;
}
main section#medical-industry p.diagram img {
	width: 324px;
}
main section#medical-industry p.note {
	width: auto;
}

/* our-mission
-------------------------------------------------------------------------------- */

main section#our-mission h2 {
	font-size: 1.875rem;
	line-height: 3rem;
	margin-bottom: 60px;
}
main section#our-mission div.description {
	margin-bottom: 80px;
}
main section#our-mission div.video {
	margin-bottom: 170px;
}
main section#our-mission div.block {
	padding: 40px 20px;
	border-radius: 37.5px;
}
main section#our-mission div.block p.headline {
	top: -100px;
	font-size: 4rem;
	line-height: 3.25rem;
}
main section#our-mission div.block-service h2 {
	font-size: 1.5rem;
	margin-bottom: 40px;
}
main section#our-mission div.block-service div.list {
	display: block;
	margin: 0px;
}
main section#our-mission div.block-service div.list div.row {
	width: auto;
	margin: 0px;
}
main section#our-mission div.block-service div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}
main section#our-mission div.block-service div.list div.row p.image {
	border-radius: 12.5px;
}
main section#our-mission div.block-service div.list div.row p.image span {
	border-bottom-right-radius: 12.5px;
}

/* explore-our-jobs
-------------------------------------------------------------------------------- */

main section#explore-our-jobs div.inner-section {
	width: auto;
}
main section#explore-our-jobs div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#explore-our-jobs div.block::before {
	width: calc(100% + 60px);
	height: calc(100% - 60px);
	top: 60px;
}
main section#explore-our-jobs div.block:nth-child(2n+1):before {
	left: -30px;
	right: auto;
	border-bottom-right-radius: 37.5px;
}
main section#explore-our-jobs div.block:nth-child(2n):before {
	left: -30px;
	border-bottom-left-radius: 37.5px;
}
main section#explore-our-jobs div.block div.inner-block {
	padding: 0px 0px 80px 0px;
}
main section#explore-our-jobs div.block div.header {
	margin: 0px 0px 60px 0px;
}
main section#explore-our-jobs div.block div.header p.image {
	height: 260px;
}
main section#explore-our-jobs div.block:nth-child(2n+1) div.header p.image {
	margin-right: -30px;
	border-radius: 12.5px 0px 0px 12.5px;
}
main section#explore-our-jobs div.block:nth-child(2n) div.header p.image {
	margin-left: -30px;
	border-radius: 0px 12.5px 12.5px 0px;
}
main section#explore-our-jobs div.block div.header div.text {
	left: 20px;
	bottom: 20px;
}
main section#explore-our-jobs div.block div.header div.text p.number {
	font-size: 1.375rem;
	margin-bottom: 10px;
}
main section#explore-our-jobs div.block div.header div.text h2 {
	font-size: 1.875rem;
	line-height: 2.25rem;
}
main section#explore-our-jobs div.block div.header div.text p.sub {
	font-size: 0.875rem;
	line-height: 1.25rem;
}
main section#explore-our-jobs div.block div.summary {
	display: block;
	margin-bottom: 60px;
	padding-bottom: 60px;
}
main section#explore-our-jobs div.block div.summary div.text {
	width: auto;
	margin-bottom: 40px;
}
main section#explore-our-jobs div.block div.summary div.text h3 {
	font-size: 1.25rem;
	line-height: 2.125rem;
}
main section#explore-our-jobs div.block div.summary p.image {
	aspect-ratio: 307 / 200;
	width: auto;
	border-radius: 12.5px;
}
main section#explore-our-jobs div.block div.summary p.image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
main section#explore-our-jobs div.block div.detail {
	margin-bottom: 170px;
}
main section#explore-our-jobs div.block div.detail div.list {
	display: block;
	margin-right: 0px;
}
main section#explore-our-jobs div.block div.detail div.list div.row {
	width: auto;
	margin-right: 0px;
}
main section#explore-our-jobs div.block div.detail div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#explore-our-jobs div.block div.detail div.list div.row p.image {
	border-radius: 12.5px;
}
main section#explore-our-jobs div.block div.detail div.list div.row h4 {
	display: block;
	height: auto;
	font-size: 1.25rem;
}
main section#explore-our-jobs div.block div.flow {
	padding: 0px 20px 40px 40px;
	border-radius: 12.5px;
}
main section#explore-our-jobs div.block div.flow p:where(.symbol-01-01, .symbol-02-02) {
	width: 50px;
}
main section#explore-our-jobs div.block div.flow p:where(.symbol-01-02, .symbol-02-01) {
	width: 30px;
}
main section#explore-our-jobs div.block div.flow p.symbol-01-01 {
	right: -30px;
	top: 180px;
}
main section#explore-our-jobs div.block div.flow p.symbol-02-01 {
	right: 20px;
	top: 230px;
}
main section#explore-our-jobs div.block div.flow p.symbol-01-02 {
	left: 120px;
	bottom: -50px;
}
main section#explore-our-jobs div.block div.flow p.symbol-02-02 {
	left: 70px;
	bottom: -20px;
}
main section#explore-our-jobs div.block div.flow p.headline {
	top: -100px;
	font-size: 4rem;
	line-height: 3.25rem;
}
main section#explore-our-jobs div#explore-our-jobs-01 div.flow p.headline {
	transform: translateX(60px);
}
main section#explore-our-jobs div.block div.flow h3 {
	margin-bottom: 40px;
}
main section#explore-our-jobs div.block div.flow h3 span {
	border-radius: 0px 0px 10px 10px;
}
main section#explore-our-jobs div.block div.flow div.list div.row {
	display: block;
	padding: 30px 20px;
}
main section#explore-our-jobs div.block div.flow div.list div.row h4 {
	width: auto;
	margin-bottom: 10px;
}
main section#explore-our-jobs div.block div.flow div.list div.row p.description {
	width: auto;
}
main section#explore-our-jobs div#explore-our-jobs-01 div.flow p.illust-01 {
	width: calc(201px * 0.6875);
	left: -40px;
	top: -120px;
}
main section#explore-our-jobs div#explore-our-jobs-01 div.flow p.illust-02 {
	width: calc(215px * 0.6875);
	right: 40px;
	top: -20px;
}
main section#explore-our-jobs div#explore-our-jobs-01 div.flow p.illust-03 {
	width: calc(155px * 0.6875);
	right: 40px;
	top: -10px;
}
main section#explore-our-jobs div#explore-our-jobs-01 div.flow p.illust-04 {
	width: calc(153px * 0.6875);
	right: 60px;
	top: 10px;
}
main section#explore-our-jobs div#explore-our-jobs-01 div.flow div.list div.row:has(p.illust-05) {
	padding-right: 100px;
}
main section#explore-our-jobs div#explore-our-jobs-01 div.flow p.illust-05 {
	width: calc(252px * 0.6875);
	right: -90px;
	top: -20px;
}
main section#explore-our-jobs div#explore-our-jobs-01 div.flow p.illust-06 {
	width: calc(151px * 0.6875);
	right: -10px;
	top: -10px;
	transform: rotate(-22.5deg);
}
main section#explore-our-jobs div#explore-our-jobs-02 div.flow p.illust-01 {
	width: calc(118px * 0.6875);
	left: -20px;
	top: -90px;
}
main section#explore-our-jobs div#explore-our-jobs-02 div.flow p.illust-02 {
	width: calc(132px * 0.6875);
	right: 110px;
	top: 10px;
}
main section#explore-our-jobs div#explore-our-jobs-02 div.flow p.illust-03 {
	width: calc(68px * 0.6875);
	right: 160px;
	right: -40px;
	top: -40px;
}
main section#explore-our-jobs div#explore-our-jobs-02 div.flow p.illust-04 {
	width: calc(173px * 0.6875);
	right: 60px;
	top: -20px;
}
main section#explore-our-jobs div#explore-our-jobs-02 div.flow p.illust-05 {
	width: calc(168px * 0.6875);
	right: 30px;
	top: -20px;
}
main section#explore-our-jobs div#explore-our-jobs-02 div.flow div.list div.row:has(p.illust-06) {
	padding-right: 100px;
}
main section#explore-our-jobs div#explore-our-jobs-02 div.flow p.illust-06 {
	width: calc(244px * 0.6875);
	right: -70px;
	top: -20px;
}

/* scene
-------------------------------------------------------------------------------- */

main section#scene header.common p.description ~ p.symbol-01 {
	width: 75px;
	left: auto;
	right: -40px;
	bottom: -30px;
}
main section#scene header.common p.description ~ p.symbol-02 {
	width: 45px;
	left: auto;
	right: 30px;
	bottom: -70px;
}
main section#scene div.image-video-wrapper {
	margin: 0px -120px -60px -120px;
}
main section#scene div:where(.image, .video) {
	margin: 0px 20px 60px 20px;
	border-radius: 12.5px;
}
main section#scene div.image-01 {
	order: 1;
	width: calc(395px * 0.5);
	height: calc(285px * 0.5);
	margin-left: 20px;
	margin-right: 20px;
	margin-top: 0px;
}
main section#scene div.image-02 {
	order: 0;
	width: calc(700px * 0.5);
	height: calc(340px * 0.5);
}
main section#scene div.image-03 {
	order: 2;
	width: calc(325px * 0.5);
	height: calc(290px * 0.5);
	margin-left: 20px;
	margin-top: -20px;
}
main section#scene div.image-04 {
	order: 3;
	width: calc(320px * 0.5);
	height: calc(430px * 0.5);
	margin-left: 40px;
	margin-top: -20px;
}
main section#scene div.video-01 {
	order: 4;
	width: calc(475px * 0.5);
	margin-top: 0px;
}
main section#scene div.image-05 {
	order: 6;
	width: calc(260px * 0.5);
	height: calc(355px * 0.5);
	margin-left: 20px;
	margin-top: -40px;
}
main section#scene div.video-02 {
	order: 5;
	width: calc(400px * 0.5);
	margin-top: 0px;
}
main section#scene div.image-06 {
	order: 7;
	width: calc(425px * 0.5);
	height: calc(300px * 0.5);
	margin-left: 0px;
	margin-top: -20px;
}
main section#scene div.image-07 {
	order: 8;
	width: calc(325px * 0.5);
	height: calc(290px * 0.5);
	margin-left: 20px;
	margin-top: 20px;
}
main section#scene div.image-08 {
	order: 9;
	width: calc(385px * 0.5);
	height: calc(310px * 0.5);
	margin-left: 40px;
	margin-top: -40px;
}
main section#scene div.image-09 {
	order: 10;
	width: calc(310px * 0.5);
	height: calc(220px * 0.5);
	margin-top: 20px;
}
main section#scene div.image-10 {
	order: 11;
	width: calc(420px * 0.625);
	height: calc(220px * 0.625);
	margin-left: 0px;
	margin-right: 20px;
}
main section#scene div.video-03 {
	order: 12;
	width: calc(654px * 0.5);
	margin-left: 40px;
	margin-top: 0px;
}

/* outline
-------------------------------------------------------------------------------- */

main section#outline header.common {
	margin-bottom: 180px;
}
main section#outline header.common p.image {
	border-radius: 12.5px;
}
main section#outline header.common p.image-01 {
	width: calc(360px * 0.425);
	left: calc(50% + 50px);
	top: -90px;
}
main section#outline header.common p.image-02 {
	width: calc(380px * 0.425);
	right: calc(50% + 60px);
	top: 290px;
}
main section#outline header.common p.image-03 {
	width: calc(245px * 0.425);
	left: calc(50% + 40px);
	top: 340px;
}
main section#outline div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#outline div.block h2 {
	font-size: 1.5rem;
	line-height: 2.125rem;
	margin-bottom: 40px;
}
main section#outline div.block-outline {
	padding: 40px 20px;
	border-radius: 37.5px;
}
main section#outline div.block-outline div.list div.row {
	display: block;
}
main section#outline div.block-outline div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#outline div.block-outline div.list div.row p:where(.label, .body) {
	font-size: 1rem;
	padding: 0px 0px 20px 0px;
}
main section#outline div.block-outline div.list div.row p.label {
	width: auto;
	border-bottom: none;
	margin-bottom: 10px;
	padding-bottom: 0px;
}
main section#outline div.block-outline div.list div.row p.body {
	width: auto;
}
main section#outline div.block-office {
	padding: 40px 0px 0px 0px;
}
main section#outline div.block-office div.list div.row {
	display: block;
}
main section#outline div.block-office div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}
main section#outline div.block-office div.list div.row div.text {
	width: auto;
	margin-bottom: 20px;
}
main section#outline div.block-office div.list div.row div.text h3 {
	font-size: 1.25rem;
}
main section#outline div.block-office div.list div.row p.image {
	width: auto;
	border-radius: 12.5px;
}

/* message
-------------------------------------------------------------------------------- */

main section#message::before {
	height: calc(100% + 100px);
	top: -100px;
}
main section#message p.image {
	aspect-ratio: 1.5;
	margin-bottom: 60px;
	border-radius: 12.5px;
}
main section#message p.image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
main section#message div.text {
	width: auto;
	padding: 0px;
}
@media (min-width:480px) {
main section#message div.text {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
}
main section#message div.text h2 {
	position: static;
	left: auto;
	top: auto;
	writing-mode: horizontal-tb;
	font-size: 1.875rem;
	margin-bottom: 40px;
}
main section#message div.text div.description {
	margin-bottom: 40px;
}
main section#message div.text p.name {
	display: block;
	text-align: right;
}
main section#message div.text p.name span.sub {
	font-size: 1rem;
	margin-right: 0px;
	transform: translateY(0px);
}
main section#message div.text p.name span.main {
	font-size: 1.25rem;
}

/* data
-------------------------------------------------------------------------------- */

main section#data header.common {
	margin-bottom: 120px;
}
main section#data div.block {
	padding: 40px 20px;
	border-radius: 37.5px;
}
main section#data div.block:not(:last-child) {
	margin-bottom: 120px;
}
main section#data div.block p.headline {
	top: -50px;
	font-size: 4rem;
	line-height: 3.25rem;
}
main section#data div.block div.list {
	display: block;
}
main section#data div.block div.list div.row h3 {
	font-size: 1.25rem;
}
main section#data div.block-features div.list div.row p.mix span.number {
	font-size: 4.5rem;
	line-height: 4.5rem;
}
main section#data div.block-features div.list div.row p.mix span.suffix {
	font-size: 1.875rem;
	line-height: 1.875rem;
	transform: translateY(-12.5px);
}
main section#data div.block-features div.list div.row-01 p.diagram img {
	width: calc(720px * 0.375);
}
main section#data div.block-features div.list div.row-01 {
	width: auto;
}
main section#data div.block-features div.list div:where(.row-02, .row-04, .row-06, .row-08)::before {
	display: none;
}
main section#data div.block-features div.list div:where(.row-02, .row-05, .row-09) {
	width: auto;
}
main section#data div.block-features div.list div:where(.row-03, .row-04, .row-08) {
	width: auto;
}
main section#data div.block-features div.list div:where(.row-03, .row-08) p.diagram img {
	width: calc(500px * 0.5);
}
main section#data div.block-features div.list div.row-04 p.diagram img {
	width: calc(560px * 0.5);
}
main section#data div.block-features div.list div:where(.row-06, .row-07) {
	width: auto;
}
main section#data div.block-features div.list div:where(.row-06, .row-07) p.diagram img {
	width: calc(300px * 0.5);
}
main section#data div.block-features div.list div.row-08 {
	border-bottom: 2px dotted #d9d9d9;
	margin-bottom: 40px;
	padding-bottom: 40px;
}
main section#data div.block-benefits div.list div.row div.body {
	display: block;
	height: auto;
}
main section#data div.block-benefits div.list div.row div.body p.large {
	font-size: 1.5rem;
	line-height: 2.125rem;
}
main section#data div.block-benefits div.list div.row div.body p.medium {
	font-size: 1.25rem;
	line-height: 1.875rem;
}
main section#data div.block-benefits div.list div.row div.body p.small {
	font-size: 1rem;
}
main section#data div.block-benefits div.list div.row p.mix {
	margin: 0px -20px;
}
main section#data div.block-benefits div.list div.row p.mix span.number {
	font-size: 3.5rem;
	line-height: 3.5rem;
}
main section#data div.block-benefits div.list div.row p.mix span:where(.prefix, .suffix) {
	font-size: 1.5rem;
	line-height: 1.5rem;
	transform: translateY(-12.5px);
}
main section#data div.block-benefits div.list div.row p.mix span.suffix-alternate {
	width: 100%;
	font-size: 1rem;
	transform: translateY(0px);
}
main section#data div.block-benefits div.list div:where(.row-01, .row-04, .row-09, .row-12) {
	width: auto;
}
main section#data div.block-benefits div.list div.row-01 p.large,
main section#data div.block-benefits div.list div.row-04 p.medium {
	text-align: justify;
}
main section#data div.block-benefits div.list div:not(:where(.row-01, .row-04, .row-09, .row-12)) {
	width: auto;
}
main section#data div.block-benefits div.list div:where(.row-02, .row-05, .row-07, .row-10)::before {
	display: none;
}
main section#data div.block-benefits div.list div.row-09 p.mix span.prefix {
	width: 100%;
	font-size: 1.25rem;
	padding-top: 20px;
	transform: translateY(0px);
}

/* training-system
-------------------------------------------------------------------------------- */

main section#training-system div.list {
	display: block;
	margin: 0px;
	padding: 0px;
}
main section#training-system div.list div.row {
	width: auto;
	margin: 0px;
	padding: 40px 20px;
	border-radius: 12.5px;
}
main section#training-system div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#training-system div.list div.row h2 {
	font-size: 1.25rem;
}

/* social-action
-------------------------------------------------------------------------------- */

main section#social-action div.list div.row {
	display: block;
}
main section#social-action div.list div.row:not(:last-child) {
	margin-bottom: 80px;
}
main section#social-action div.list div.row p.image {
	width: auto;
	margin-bottom: 20px;
	border-radius: 12.5px;
}
main section#social-action div.list div.row div.text {
	width: auto;
}
main section#social-action div.list div.row div.text p.number {
	font-size: 1.375rem;
}
main section#social-action div.list div.row div.text h2 {
	font-size: 1.625rem;
	line-height: 2rem;
}
main section#social-action div.list div.row div.text p.sub {
	font-size: 1rem;
	line-height: 1.375rem;
}

/* culture
-------------------------------------------------------------------------------- */

main div:where(.block-interview, .block-cross-talk):not(:last-child) {
	margin-bottom: 80px;
}
main div:where(.block-interview, .block-cross-talk) div.anchor {
	top: -80px;
}
main div:where(.block-interview, .block-cross-talk) div.header {
	padding-left: 35px;
}
main div:where(.block-interview, .block-cross-talk) div.header p.symbol {
	top: 10px;
}
main div:where(.block-interview, .block-cross-talk) div.header h3 {
	font-family: "avenir", sans-serif;
	font-size: 2.25rem;
	line-height: 2.5rem;
	margin-bottom: 0px;
}
main div.list-interview div.inner-list-interview {
	margin: 0px -40px -40px 0px;
}
main div.list-interview div.row {
	width: calc(50% - 40px);
	margin: 0px 40px 40px 0px;
}
main  div.list-interview div.row:nth-child(3n+2) {
	margin-top: 0px;
}
main  div.list-interview div.row:nth-child(2n) {
	margin-top: 40px;
}
main div.list-interview div.row p.image {
	margin-bottom: 30px;
}
main div.list-interview div.row p.image::before,
main div.list-interview div.row p.image span {
	border-radius: 12.5px;
}
main div.list-interview div.row p.image::before {
	left: 10px;
	top: 10px;
}
main div.list-interview div.row p.image i.number {
	right: 10px;
	top: 10px;
}
main div.list-interview div.row h4,
main div.list-interview div.row p.name span.main {
	font-size: 1.25rem;
}
main div.list-interview div.row h4,
main div.list-interview div.row p.misc {
	margin-right: -20px;
}
main div.list-interview div.row h4 {
	line-height: 1.85rem;
	margin-right: 0px;
}
main div.list-interview div.row p.section {
	margin-right: -40px;
}
main div.list-interview div.row p.name,
main section#interview div.profile div.text p.name {
	display: block;
}
main div.list-interview div.row p.name span.main,
main section#interview div.profile div.text p.name span.main,
main section#cross-talk div.profile div.list div.row div.text p.name span.main {
	font-size: 1.25rem;
}
main div.list-interview div.row p.name span.main,
main section#interview div.profile div.text p.name span.main {
	margin-right: 0px;
}
main div.list-interview div.row p.name span.sub,
main section#interview div.profile div.text p.name span.sub {
	transform: translateY(0px);
}
main div.list-cross-talk div.row:not(:last-child) {
	margin-bottom: 50px;
}
main div.list-cross-talk div.row::before,
main div.list-cross-talk div.row a {
	border-radius: 12.5px;
}
main div.list-cross-talk div.row::before {
	left: 10px;
	top: 10px;
}
main div.list-cross-talk div.row a {
	display: block;
	padding: 20px;
}
main div.list-cross-talk div.row p.label-number {
	position: relative;
	width: auto;
	left: auto;
	top: auto;
	margin-bottom: 10px;
}
main div.list-cross-talk div.row p.image {
	width: auto;
	margin-bottom: 20px;
	border-radius: 12.5px;
}
main div.list-cross-talk div.row div.text {
	width: auto;
	padding: 0px 0px 50px 0px;
}
main div.list-cross-talk div.row div.text h4 {
	font-size: 1.375rem;
	line-height: 2.375rem;
}
main div.list-cross-talk div.row p.more {
	left: auto;
	right: 20px;
	bottom: 20px;
}
main div.list-cross-talk div.row p.more span.text {
	margin-right: 10px;
}
main div.list-cross-talk div.row p.more span.arrow {
	width: 40px;
	height: 40px;
	font-size: 0.75rem;
}
main section:where(#interview, #cross-talk) header {
	margin-bottom: 80px;
}
main section:where(#interview, #cross-talk) header :where(div.symbol-label-number, p.sub) {
	margin-right: 0px;
}
main section:where(#interview, #cross-talk) header div.symbol-label-number p:where(.label, .number) {
	font-size: 1.375rem;
}
main section:where(#interview, #cross-talk) header p.image {
	height: 260px;
	margin: 0px -30px 20px 0px;
	border-radius: 12.5px 0px 0px 12.5px;
}
main section:where(#interview, #cross-talk) header h1 {
	left: 20px;
	top: 100px;
	font-size: 1.375rem;
	font-feature-settings: normal;
	line-height: 1.375rem;
}
main section:where(#interview, #cross-talk) header h1 span:not(:last-child) {
	margin-left: 10px;
}
main section:where(#interview, #cross-talk) header h1 span i {
	width: calc(1.375rem + 10px);
	padding: 5px;
}
main section#interview div.profile p.image,
main section#cross-talk div.profile div.list div.row p.image {
	width: 100px;
}
main section#interview div.profile div.text {
	width: calc(100% - 120px);
}
main section:where(#interview, #cross-talk) div.body,
main section:where(#interview, #cross-talk) div.body + p.note {
	margin-bottom: 80px;
}
main section:where(#interview, #cross-talk) div.body div.block {
	display: block;
}
main section:where(#interview, #cross-talk) div.body div.block :where(div.text, p.image) {
	width: auto;
}
main section:where(#interview, #cross-talk) div.body div.block:not(:last-child),
main section:where(#interview, #cross-talk) div.body div.block div.text div.segment:not(:last-child) {
	margin-bottom: 60px;
}
main section:where(#interview, #cross-talk) div.body div.block div.text {
	margin-bottom: 40px;
}
main section:where(#interview, #cross-talk) div.body div.block div.text h2 {
	font-size: 1.25rem;
	line-height: 3rem;
	background: url(../images/border-dot-small.svg) repeat left top;
}
main section:where(#interview, #cross-talk) div.body div.block > p.image {
	border-radius: 12.5px;
}
main section:where(#interview, #cross-talk) div.more::before {
	left: -30px;
}
main section:where(#interview, #cross-talk) div.more div.inner-more {
	padding: 80px 0px;
}
main section:where(#interview, #cross-talk) div.more h3 {
	font-size: 1.625rem;
	margin-bottom: 60px;
}
main section:where(#interview, #cross-talk) div.more h3 br.more {
	display: inline;
}
main section#interview div.profile {
	margin-bottom: 60px;
}
main section#interview div.more div.slide {
	margin: 0px -30px 60px -30px;
}
main section#interview div.more div.slide div.list-interview div.row {
	width: calc(320px * 0.75);
	margin: 0px 40px 0px 0px;
}
main section#interview div.more div.slide div.pager {
	height: calc(calc(320px * 0.75) * calc(350 / 300));
}
main section#interview div.more div.slide div.pager p.button {
	width: 40px;
	height: 40px;
	top: calc(50% - 20px);
	font-size: 0.75rem;
}
main section#interview div.more div.slide div.pager p.button-prev {
	left: 15px;
}
main section#interview div.more div.slide div.pager p.button-next {
	right: 15px;
}
main section#cross-talk header h1 {
	display: block;
	position: static;
	left: auto;
	top: auto;
	margin-top: -80px;
	padding-left: 20px;
}
main section#cross-talk header h1 span {
	display: flex;
	flex-wrap: wrap;
	transform: translateX(40px);
}
main section#cross-talk header h1.active span {
	transform: translateX(0px);
}
main section#cross-talk header h1 span:not(:last-child) {
	margin: 0px 0px 10px 0px;
}
main section#cross-talk header h1 span i {
	width: auto;
	writing-mode: horizontal-tb;
}
main section#cross-talk div.profile {
	margin-bottom: 80px;
}
main section#cross-talk div.profile div.list {
	display: block;
}
main section#cross-talk div.profile div.list div.row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: auto;
	text-align: justify;
}
main section#cross-talk div.profile div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#cross-talk div.profile div.list div.row p.image {
	margin: 0px;
}
main section#cross-talk div.profile div.list div.row div.text {
	width: calc(100% - 120px);
}
main section#cross-talk div.profile div.list div.row div.text p.section {
	justify-content: flex-start;
}
main section#cross-talk div.body div.image {
	margin: 0px -30px 80px -30px;
}
main section#cross-talk div.body div.image div.inner-image {
	animation-duration: 45s;
}
@keyframes cross-talk {
	0% { transform: translateX(0px); }
	100% { transform: translateX(calc(calc(calc(-1040px * 0.25) - 20px) * 3)); }
}
main section#cross-talk div.body div.image p.row {
	aspect-ratio: 2;
	width: calc(1040px * 0.25);
	margin-right: 20px;
	border-radius: 12.5px;
}
main section#cross-talk div.body div.image p.row img {
	object-fit: cover;
	height: 100%;
}
main section#cross-talk div.more div.list-cross-talk {
	margin-bottom: 60px;
}
main section#cross-talk div.more div.list-cross-talk div.inner-list-cross-talk {
	display: block;
	margin: 0px;
}
main section#cross-talk div.more div.list-cross-talk div.row {
	width: auto;
	margin: 0px;
}
main section#cross-talk div.more div.list-cross-talk div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#cross-talk div.more div.list-cross-talk div.row a {
	padding: 20px;
}
main section#cross-talk div.more div.list-cross-talk div.row div.text {
	padding-bottom: 0px;
}
body.cross-talk-01 main section#cross-talk div.body div.block-02 div.text {
	margin-top: 0px;
}
body.cross-talk-01 main section#cross-talk div.body div.block-03 div.text {
	margin-top: 0px;
}
body.cross-talk-01 main section#cross-talk div.body div.block-04 div.text {
	margin-top: 0px;
}
body.cross-talk-01 main section#cross-talk div.body div.block-05 div.text {
	margin-top: 0px;
}
body.cross-talk-01 main section#cross-talk div.body div.block-07 div.text {
	margin-top: 0px;
}
body.cross-talk-02 main section#cross-talk div.body div.block-03 div.text {
	margin-top: 0px;
}
body.cross-talk-02 main section#cross-talk div.body div:where(.block-04, .block-06) div.text {
	margin-top: 0px;
}
body.cross-talk-02 main section#cross-talk div.body div.block-08 div.text {
	margin-top: 0px;
}
body.cross-talk-03 main section#cross-talk div.body div.block-02 div.text {
	margin-top: 0px;
}
body.cross-talk-03 main section#cross-talk div.body div.block-03 div.text {
	margin-top: 0px;
}
body.cross-talk-03 main section#cross-talk div.body div.block-05 div.text {
	margin-top: 0px;
}
body.cross-talk-03 main section#cross-talk div.body div.block-06 div.text {
	margin-top: 0px;
}
body.cross-talk-03 main section#cross-talk div.body div.block-07 div.text {
	margin-top: 0px;
}

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

main div.list-news div.row a {
	display: block;
	padding: 20px 70px 20px 20px;
	border-radius: 12.5px;
}
main div.list-news div.row p.created {
	width: auto;
}
main div.list-news div.row h3 {
	width: auto;
}
main div.list-news div.row span.arrow {
	right: 20px;
}
main article.news {
	margin-bottom: 60px;
	padding: 40px 20px;
	border-radius: 12.5px;
}
main article.news header {
	margin-bottom: 60px;
}
main article.news header h1 {
	font-size: 1.5rem;
	line-height: 2.125rem;
}

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

main section#faq p.description {
	font-size: 1rem;
	line-height: 1.875rem;
	margin-bottom: 60px;
}
main section#faq div.list div.row {
	padding: 20px;
	border-radius: 12.5px;
}
main section#faq div.list div.row h2 {
	font-size: 1.25rem;
	margin-bottom: 20px;
	padding-bottom: 20px;
}
main section#faq div.list div.row p.body {
	font-size: 1rem;
}

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

main section#guideline article.guideline {
	padding: 40px 20px;
	border-radius: 37.5px;
}
main section#guideline article.guideline:not(:last-child) {
	margin-bottom: 60px;
}
main section#guideline article.guideline h2 {
	font-size: 1.5rem;
	line-height: 2.125rem;
	margin-bottom: 40px;
}
main section#guideline article.guideline div.list div.row {
	display: block;
}
main section#guideline article.guideline div.list div.row:not(:last-child) {
	margin-bottom: 20px;
}
main section#guideline article.guideline div.list div.row p:where(.label, .body) {
	font-size: 1rem;
	padding: 0px 0px 20px 0px;
}
main section#guideline article.guideline div.list div.row p.label {
	width: auto;
	border-bottom: none;
	margin-bottom: 10px;
	padding-bottom: 0px;
}
main section#guideline article.guideline div.list div.row p.body {
	width: auto;
}

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

main section.form div.header {
	text-align: justify;
	margin-bottom: 80px;
}
main section.form div:where(.form, .footer) {
	padding: 40px 20px;
	border-radius: 37.5px;
}
main section.form div:not(.mw_wp_form_preview) div.form {
	margin-bottom: 60px;
}
main section.form div:where(.form, .footer) h2 {
	font-size: 1.25rem;
}
main section.form div.form h2 {
	margin-bottom: 40px;
}
main section.form div.form div.component {
	display: block;
}
main section.form div.form div.component p.label {
	display: block;
	width: auto;
	height: auto;
	margin-bottom: 10px;
}
main section.form div.form div.component div.body {
	width: auto;
}
main section.form div.form div.agreement {
	justify-content: flex-start;
	align-items: flex-start;
}
main section.form div.form div.agreement p {
	width: calc(100% - 35px);
}
main section.form div.form div.action {
	display: block;
}
main section.form div.form div.action :where(input:where([type=button], [type=submit]), button):not(:last-child) {
	margin: 0px 0px 20px 0px;
}
main section.form div.footer p.tel {
	margin: 0px -20px 20px -20px;
}
main section.form div.footer p.tel span.sub {
	font-size: 1.25rem;
	transform: translateY(5px);
}
main section.form div.footer p.tel span.main {
	font-size: 2rem;
	line-height: 2rem;
}

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

main section#privacy-policy header.common p.description {
	text-align: justify;
}
main section#privacy-policy div.list {
	padding: 0px;
}
main section#privacy-policy div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}
main section#privacy-policy div.list div.row p.tel-fax {
	display: block;
}
main section#privacy-policy div.list div.row p.tel-fax span:not(:last-child) {
	margin-right: 0px;
}



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

footer#footer div.intern-entry div.list {
	display: block;
	border-radius: 0px;
}
footer#footer div.intern-entry div.list div.row {
	width: auto;
}
footer#footer div.intern-entry div.list div.row:not(:last-child) {
	margin-bottom: 5px;
}
footer#footer div.intern-entry div.list div.row p.image {
	height: 140px;
}
footer#footer div.intern-entry div.list div.row div.text {
	width: calc(100% - 30px);
	height: 80px;
	left: 30px;
	top: calc(50% - 40px);
	padding-top: 10px;
}
footer#footer div.intern-entry div.list div.row div.text::before {
	width: calc(100% - 260px);
	right: 80px;
}
footer#footer div.intern-entry div.list div.row div.text p.headline span.main {
	font-size: 2.5rem;
	line-height: 2.5rem;
}
footer#footer div.intern-entry div.list div.row div.text p.headline span.sub {
	font-size: 0.875rem;
}
footer#footer div.intern-entry div.list div.row div.text span.arrow {
	width: 40px;
	height: 40px;
	right: 20px;
	top: calc(50% - 20px);
	font-size: 0.75rem;
}
footer#footer div.wrapper {
	padding: 60px 30px 40px 30px;
}
footer#footer :where(div.logo-navi-footer, div.misc) {
	display: block;
	width: auto;
}
footer#footer div.logo-navi-footer {
	margin-bottom: 40px;
}
footer#footer div.logo-navi-footer p.logo {
	width: auto;
	margin: 0px 0px 40px -10px;
}
footer#footer div.logo-navi-footer nav#navi-footer {
	width: auto;
}
footer#footer div.logo-navi-footer nav#navi-footer div.list {
	margin: 0px -20px -20px 0px;
}
footer#footer div.logo-navi-footer nav#navi-footer div.list div.row {
	width: calc(50% - 20px);
	margin: 0px 20px 20px 0px;
}
footer#footer div.logo-navi-footer nav#navi-footer div.list div.row:not(:nth-last-child(2)) {
	margin-right: 20px;
}
footer#footer div.logo-navi-footer nav#navi-footer div.list div.row-small {
	display: block;
}
footer#footer div.logo-navi-footer nav#navi-footer div.list div.row div.segment {
	margin-right: -10px;
}
footer#footer div.logo-navi-footer nav#navi-footer div.list div.row div.segment:not(:where(:last-child, .segment-action)) {
	margin-bottom: 20px;
}
footer#footer div.logo-navi-footer nav#navi-footer div.list div.row div.segment-culture {
	margin-bottom: 0px;
}
footer#footer div.logo-navi-footer nav#navi-footer div.list div.row div:where(.segment-news-alternate, .segment-faq-alternate) {
	display: none;
}
footer#footer div.logo-navi-footer nav#navi-footer div.list div.row div.segment br.small-alternate {
	display: none;
}
footer#footer div.logo-navi-footer nav#navi-footer div.list div.row-small div.segment-faq {
	display: block;
}
footer#footer div.misc {
	display: block;
}
footer#footer div.misc :where(div.sns, p.privacy-policy) {
	margin-right: 0px;
}
footer#footer div.misc div.sns {
	order: 2;
	position: absolute;
	right: 0px;
	top: -80px;
	margin-bottom: 10px;
}
footer#footer div.misc p.button-corporate {
	margin-bottom: 40px;
}
footer#footer p.copyright {
	left: auto;
	right: 0px;
	top: auto;
	bottom: 0px;
}
