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

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



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

body:not(.home) div#page {
	padding-top: 90px;
}
*.scroll.fade-slide-left,
*.scroll.fade-each-slide-left > * {
	transform: translate(0px, 0px);
}
*.scroll.fade-slide-right,
*.scroll.fade-each-slide-right > * {
	transform: translate(0px, 0px);
}



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

header#header::before {
	display: none;
}
div.scroll header#header::before,
div.scroll header#header :where(*#logo, nav#navi, p#button-recruit, div.links) {
	transform: none;
}
div.scroll-up header#header::before,
div.scroll-up header#header :where(*#logo, nav#navi, p#button-recruit, div.links) {
	transform: none;
}
header#header *#logo {
	left: 20px;
	top: 30px;
}
body.admin-bar header#header *#logo {
	top: 30px;
}
header#header *#logo img {
	width: calc(206px * 0.75);
}
header#header :where(p#button-menu, div#menu) {
	position: fixed;
}
header#header p#button-menu {
	width: 50px;
	height: 50px;
	right: 20px;
	top: 20px;
	z-index: 30;
	cursor: pointer;
	background-color: #ffffff;
	border-radius: 50%;
}
header#header p#button-menu i {
	display: block;
	position: absolute;
	width: 20px;
	height: 0px;
	left: calc(50% - 10px);
	top: calc(50% - 0.5px);
	border-bottom: 1px solid #004da1;
	transition: 0.25s all ease;
}
header#header p#button-menu i:nth-child(1) {
	transform: translateY(-6px);
}
header#header p#button-menu i:nth-child(2) {
	transform: translateY(6px);
}
div.menu-header header#header p#button-menu i:nth-child(-n+3) {
	width: 0px;
	left: 50%;
	opacity: 0;
	transform: translateY(0px);
}
div.menu-header header#header p#button-menu i:nth-child(4) {
	transform: rotate(45deg);
}
div.menu-header header#header p#button-menu i:nth-child(5) {
	transform: rotate(-45deg);
}
header#header div#menu {
	width: 100%;
	height: 100%;
	right: 0px;
	top: 0px;
	overflow: auto;
	z-index: 10;
	background-color: #efeeec;
	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: 110px 30px 40px 30px;
}
header#header nav#navi {
	position: static;
	width: auto;
	top: auto;
	left: auto;
	margin-bottom: 40px;
}
body.admin-bar header#header nav#navi {
	top: auto;
}
header#header :where(nav#navi, div.links) ul {
	display: block;
}
header#header nav#navi ul {
	padding-right: 0px;
}
header#header nav#navi ul li:not(.startup-support-consultation) {
	margin-bottom: 40px;
}
header#header nav#navi ul li:not(:last-child) {
	margin-right: 0px;
}
header#header nav#navi ul li.home {
	display: block;
}
header#header nav#navi ul li.news {
	display: none;
}
header#header nav#navi ul li > a {
	display: block;
	height: auto;
	font-size: 1.375rem;
}
body:has(div#title div.image-text-alternate) div#page:not(.scroll-alternate) header#header:not(:has(nav#navi:hover)) nav#navi ul li > a.color,
body:has(div#title div.image-text-alternate) div#page:not(.scroll-alternate) header#header:not(:has(nav#navi:hover)) div.links ul li a.color {
	color: #000000;
}
header#header nav#navi ul li > a::before {
	display: none;
}
header#header nav#navi ul li > a span.sub {
	display: block;
	position: relative;
	font-family: "Inter", sans-serif;
	font-size: 0.75rem;
	font-weight: 300;
	line-height: 1.125rem;
	margin-bottom: 5px;
	padding-left: 15px;
}
header#header nav#navi ul li > a span.sub::before {
	position: absolute;
	width: 10px;
	height: 10px;
	left: 0px;
	top: 4px;
	background-color: #ef8200;
	content: "";
	border-radius: 50%;
}
header#header nav#navi ul li > a span.arrow,
header#header nav#navi ul li div.nest div.list div.row p.headline span.arrow,
header#header div.links ul li span.arrow {
	position: absolute;
	width: 30px;
	height: 15px;
	right: 0px;
	font-size: 0.46875rem;
}
header#header nav#navi ul li > a span.arrow {
	display: flex;
}
header#header nav#navi ul li > a span.arrow {
	bottom: 5px;
}
header#header nav#navi ul li div.nest {
	display: block;
	position: static;
	width: auto;
	height: auto;
	left: auto;
	padding-top: 10px;
	opacity: 1;
	transition: none;
}
header#header nav#navi ul li:hover div.nest {
	height: auto;
}
header#header nav#navi ul li div.nest::before {
	display: none;
}
header#header nav#navi ul li div.nest div.list {
	display: block;
	padding-top: 0px;
}
header#header nav#navi ul li div.nest div.list div.row {
	border-bottom: 1px solid #cccbc9;
}
header#header nav#navi ul li div.nest div.list div.row:not(:last-child) {
	margin-right: 0px;
}
header#header nav#navi ul li div.nest div.list div.row p.image {
	display: none;
}
header#header nav#navi ul li div.nest div.list div.row p.headline {
	font-size: 0.875rem;
	line-height: 1.5rem;
	padding: 10px 0px;
}
header#header nav#navi ul li div.nest div.list div.row p.headline span.arrow,
header#header div.links ul li span.arrow {
	top: calc(50% - 7.5px);
}
header#header nav#navi ul li div.nest div.list div.row p.headline span.arrow {
	color: #ffffff;
	background-color: #004da1;
	transition: none;
}
header#header nav#navi ul li div.nest div.list div.row a:hover p.headline span.arrow {
	transform: translateX(0px);
}
header#header nav#navi ul li div.nest div.list div.row p.headline span.arrow::before {
	display: block;
}
header#header :where(p#button-recruit, div.links) {
	right: auto;
}
header#header p#button-recruit {
	display: none;
}
header#header div.links {
	position: static;
	top: auto;
	margin-bottom: 40px;
}
body.admin-bar header#header div.links {
	top: auto;
}
header#header div.links ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0px -20px;
}
header#header div.links ul li {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
header#header div.links ul li:not(:last-child) {
	margin-right: 0px;
}
header#header div.links ul li:not(:last-child):not(.wao) {
	margin-right: 30px;
}
header#header div.links ul li.news {
	display: block;
}
header#header div.links ul li.contact {
	display: none;
}
header#header div.links ul li:not(:last-child)::before {
	display: none;
}
header#header div.links ul li a {
	display: block;
	padding-right: 35px;
}
header#header div.links ul li span.arrow {
	display: flex;
}
header#header div.button-wrapper {
	display: block;
}



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

body:has(div#title div.image-text-alternate) div#breadcrumb {
	color: #000000;
	margin-bottom: 40px;
}
body:not(:has(div#title div.image-text-alternate)) div#breadcrumb {
	margin-bottom: 40px;
}
body:has(div#title div.image-text-alternate) div#breadcrumb a:hover {
	color: #000000;
}
div#breadcrumb p {
	padding: 0px 30px;
}



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

div#cover {
	height: 100svh;
}
body.admin-bar div#cover {
	height: 100svh;
}
div#cover::before {
	height: 320px;
}
@keyframes cover-image {
	0% { transform: scale(1); }
	100% { transform: scale(1.075); }
}
div#cover div.text {
	left: 20px;
	bottom: 80px;
}
div#cover div.text h1 {
	font-size: 2.125rem;
	line-height: 3.25rem;
	margin-bottom: 0px;
}
div#cover div.text p.sub {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
div#cover p#button-scroll {
	right: 20px;
	bottom: 20px;
}



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

div#title {
	width: auto;
	padding: 0px 30px;
}
div#title div.text p.sub {
	margin-bottom: 0px;
}
div#title div.text h1 {
	font-size: 1.875rem;
	line-height: 3rem;
}
div#title div.text :where(h1, h2):not(:last-child) {
	margin-bottom: 40px;
}
div#title div.text h2 {
	font-size: 1.5rem;
	line-height: 2.375rem;
}
div#title div.text p.description {
	font-size: 1rem;
	line-height: 1.875rem;
}
div#title div.image-text {
	display: block;
}
body:not(.office-list) div#title div.image-text {
	margin-right: 0px;
}
div#title div.image-text div.text {
	width: auto;
	padding-top: 0px;
}
div#title div.image-text div.text p.image {
	display: block;
	width: auto;
	height: auto;
	margin-bottom: 0px;
	border-radius: 0px;
}
div#title div.image-text div.text p.image:not(:last-child) {
	margin-bottom: 40px;
}
body.office-list div#title div.image-text div.text p.image {
	margin-left: -15px;
	margin-right: -15px;
}
body:not(.office-list) div#title div.image-text div.text p.image {
	margin-left: -30px;
	margin-right: -30px;
}
div#title div.image-text p.image {
	display: none;
}
div#title div.image-text-alternate {
	height: auto;
	margin: 0px -30px;
}
body.admin-bar div#title div.image-text-alternate {
	height: image-text-alternate;
}
div#title div.image-text-alternate :where(div.text, p.image) {
	position: relative;
}
div#title div.image-text-alternate div.text {
	left: auto;
	bottom: auto;
	color: #000000;
	margin-bottom: 40px;
	padding: 0px 30px;
}
div#title div.image-text-alternate p.image {
	aspect-ratio: 390 / 250;
}



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

main:has(nav#navi-sub) {
	padding-bottom: 80px;
}
main section div.inner-section {
	width: auto;
	padding: 80px 30px;
}
main section div.inner-section:has(p.label-header) {
	padding-top: 20px;
}
main nav#navi-sub div.button-wrapper {
	display: block;
	margin-right: 0px;
	padding: 0px 20px;
}
main nav#navi-sub p.button-default {
	width: auto;
	margin-right: 0px;
}
main nav#navi-sub p.button-default:not(:last-child) {
	margin-bottom: 20px;
}
main p.label-header {
	font-size: 1.5rem;
}
main div.list-menu {
	display: block;
	margin: 0px;
}
main div.list-menu div.row {
	width: auto;
	margin: 0px;
}
main div.list-menu div.row:not(:last-child) {
	margin-bottom: 40px;
}
main div.list-menu div.row a {
	display: block;
	position: relative;
}
main div.list-menu div.row p.image {
	margin-bottom: 10px;
	border-radius: 5px;
}
main div.list-menu div.row div.text {
	position: static;
	left: auto;
	bottom: auto;
	color: #000000;
}
main div.list-menu div.row div.text p.sub {
	margin-bottom: 0px;
}
main div.list-menu div.row div.text p.sub::before {
	position: absolute;
	width: 12px;
	height: 12px;
	left: 0px;
	top: 6px;
	background-color: #ef8200;
	content: "";
	border-radius: 50%;
}
main div.list-menu div.row div.text h2 {
	font-size: 1.875rem;
	line-height: 3rem;
}
main div.list-menu div.row span.arrow {
	right: 0px;
	bottom: 10px;
}
main div.list-menu div.row span.arrow {
	color: #ffffff;
	background-color: #004da1;
}
main div.list-menu div.row a:hover span.arrow {
	background-color: #535350;
}
main div.list-category {
	margin-bottom: 40px;
}
main div.list-category p.label {
	margin-right: 40px;
}
main article.common div.inner-article {
	width: auto;
	padding: 60px 0px;
}
main div#pager {
	margin-top: 60px;
}

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

main section#home-purpose div.inner-section {
	padding: 80px 30px;
}
main section:where(#home-purpose, #home-news) header {
	position: static;
	left: auto;
}
main section#home-purpose header {
	top: auto;
}
main section#home-purpose header h2 {
	margin-bottom: 20px;
}
main section#home-purpose h3 {
	font-size: 1.875rem;
	line-height: 3rem;
	margin-bottom: 40px;
}
main section#home-purpose div.description p.row {
	font-size: 1.125rem;
	line-height: 2.5rem;
	margin-right: -30px;
}
main section#home-news div.inner-section {
	padding-left: 30px;
}
main section#home-news header {
	top: auto;
	margin-bottom: 20px;
}
main section#home-news header h2 {
	font-size: 1.375rem;
	line-height: 1.875rem;
}
main section#home-news div.list-news {
	min-height: 0px;
	margin-bottom: 20px;
}
main section#home-news p.button-more {
	position: static;
	left: auto;
	bottom: auto;
	margin: 0px auto;
}
main section#home-services div.image-text {
	display: block;
	margin-right: 0px;
}
main section#home-services div.image-text div.image {
	display: none;
}
main section#home-services div.image-text div.text {
	width: auto;
	padding-top: 0px;
}
main section#home-services div.image-text div.text header p.sub,
main section#home-startup-support-consultation header p.sub {
	margin-bottom: 0px;
}
main section#home-services div.image-text div.text header h2,
main section#home-startup-support-consultation header h2,
main section#home-services div.image-text div.text header p.description,
main section#home-startup-support-consultation header p.description {
	margin-bottom: 40px;
}
main section#home-services div.image-text div.text header h2,
main section#home-startup-support-consultation header h2 {
	font-size: 1.875rem;
	line-height: 3rem;
}
main section#home-services div.image-text div.text header p.description,
main section#home-startup-support-consultation header p.description {
	font-size: 1rem;
	line-height: 1.875rem;
}
main section#home-services div.image-text div.text p.button-default a {
	display: block;
	height: auto;
	padding: 20px;
}
main section#home-services div.image-text div.text p.button-default span.image {
	display: block;
	overflow: hidden;
	margin-bottom: 20px;
	border-radius: 5px;
}
main section#home-services div.image-text div.text p.button-default span.main {
	margin: 0px 0px 5px 0px;
}
main section#home-services div.image-text div.text p.button-default span.arrow {
	top: auto;
	bottom: 20px;
}
main section#home-startup-support-consultation div.slide div.list div.row {
	width: calc(100vw - 60px);
}
main section#home-startup-support-consultation div.slide div.list div.row div.text {
	width: calc(100vw - 100px);
}
main section#home-startup-support-consultation div.slide div.list div.row div.text h3 {
	font-size: 1.5rem;
	line-height: 2.375rem;
}
main section#home-menu div.inner-section {
	padding-top: 40px;
}
main section#home-menu div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#home-menu div.list div.row p.image {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
main section#home-menu div.list div.row-sustainability p.image {
	height: 200px;
}
main section#home-menu div.list div.row-recruit p.image {
	height: 275px;
}
main section#home-menu div.list div.row a:hover p.image-zoom img {
	transform: scale(1.0375);
}
main section#home-menu div.list div.row div.text {
	left: 20px;
	bottom: 20px;
}
main section#home-menu div.list div.row div.text p.sub {
	margin-bottom: 0px;
}
main section#home-menu div.list div.row div.text h2 {
	font-size: 1.5rem;
	line-height: 2.375rem;
}
main section#home-menu div.list div.row div.text h2:not(:last-child) {
	margin-bottom: 10px;
}
main section#home-menu div.list div.row div.text p.description {
	font-size: 1rem;
	line-height: 1.5rem;
}
main section#home-menu div.list div.row span.arrow {
	right: 20px;
	bottom: 20px;
}

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

main section#leader-message div.text {
	margin-bottom: 60px;
	padding-left: 0px;
}
main section#leader-message div.text h2 {
	position: static;
	left: auto;
	top: auto;
	margin-bottom: 40px;
}
main section#leader-message div.text h3 {
	font-size: 1.875rem;
	line-height: 3rem;
}
main section#leader-message div.text div.description p.row {
	font-size: 1rem;
	line-height: 1.875rem;
}
main section#leader-message div.image-name {
	margin: 0px -30px;
}
main section#leader-message div.image-name p.image {
	height: 345px;
	margin-bottom: 20px;
}
main section#leader-message div.image-name p.name {
	justify-content: flex-end;
	position: static;
	right: auto;
	bottom: auto;
	padding: 0px 30px;
}
main section#leader-message div.image-name p.name i.sub {
	font-size: 0.875rem;
	line-height: 1.5rem;
}
main section#leader-message div.image-name p.name i.main {
	font-size: 1.125rem;
}

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

main section#company-data div.block {
	padding-left: 0px;
}
main section#company-data div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#company-data div.block h2 {
	position: static;
	left: auto;
	top: auto;
	margin-bottom: 40px;
}
main section#company-data div.block-outline div.list:not(:last-child) {
	margin-bottom: 60px;
}
main section#company-data div.block-outline:not(.block-related) div.list-01 div.row p.label {
	width: 100px;
}
main section#company-data div.block-outline:not(.block-related) div.list-01 div.row p.body {
	width: calc(100% - 100px);
}
main section#company-data div.block-outline:not(.block-related) div.list-02 div.row p.label {
	width: 140px;
}
main section#company-data div.block-outline:not(.block-related) div.list-02 div.row p.body {
	width: calc(100% - 140px);
}
main section#company-data div.block-outline:not(.block-related) div.list-03 div.row,
main section#company-data div.block-license:not(.block-related) div.list div.row {
	display: block;
}
main section#company-data div.block-outline:not(.block-related) div.list-03 div.row p.label,
main section#company-data div.block-license:not(.block-related) div.list div.row p.label {
	width: auto;
	margin-bottom: 10px;
}
main section#company-data div.block-outline:not(.block-related) div.list-03 div.row p.body,
main section#company-data div.block-license:not(.block-related) div.list div.row p.body {
	width: auto;
	margin-right: -30px;
}
main section#company-data div.block-related div.list {
	display: block;
	margin: 0px;
}
main section#company-data div.block-related div.list div.row {
	width: auto;
	margin: 0px;
}
main section#company-data div.block-related div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#company-data div.block-related div.list div.row:first-child {
	margin-right: 0px;
}

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

main section#history header {
	margin-bottom: 60px;
}
main section#history div.list {
	margin-bottom: 80px;
}
main section#history div.list div.row {
	display: block;
}
main section#history div.list div.row p.label {
	width: auto;
	margin-bottom: 10px;
}
main section#history div.list div.row p.body {
	width: auto;
}
main section#history div.scooter {
	padding: 30px 20px 20px 20px;
}
main section#history div.scooter p.image {
	width: auto;
}
main section#history div.scooter div.text {
	width: auto;
	margin-bottom: 20px;
}
main section#history div.scooter div.text h3 {
	font-size: 1.5rem;
	line-height: 2.375rem;
	margin-bottom: 20px;
}

/* office-list
-------------------------------------------------------------------------------- */

main section#office-list div.list div.row {
	display: block;
	padding: 20px;
}
main section#office-list div.list div.row p.image {
	width: auto;
	margin-bottom: 20px;
}
main section#office-list div.list div.row h3 {
	width: auto;
	margin-bottom: 10px;
}
main section#office-list div.list div.row div.body {
	width: auto;
}
main section#office-list div.list div.row div.body p.tel-fax {
	display: block;
	margin-bottom: 20px;
}
main section#office-list div.list div.row div.body p.tel-fax span:not(:last-child) {
	margin-right: 0px;
}
main section#office-list div.list div.row div.body div.map iframe {
	height: 240px;
}
main section#office-list div.list div.row div.body ul {
	display: block;
}
main section#office-list div.list div.row div.body ul li:not(:last-child) {
	margin: 0px 0px 10px 0px;
}

/* video-collection
-------------------------------------------------------------------------------- */

main div.list-video div.row:not(:last-child) {
	margin-bottom: 40px;
}
main div.list-video div.row div.video p.image span.button-play {
	width: 75px;
	height: 75px;
	left: calc(50% - 37.5px);
	top: calc(50% - 22.5px);
}
main div.list-video div.row div.video p.image span.button-play i.icon {
	font-size: 2.5rem;
	margin-bottom: 5px;
}
main div.list-video div.row div.video p.image span.button-play i.text {
	font-size: 0.625rem;
	line-height: 1rem;
}
main section#video-collection div.inner-section {
	width: auto;
	padding-top: 40px;
}

/* medical-care, welfare-elder-care, technical-design-supervision, spd
-------------------------------------------------------------------------------- */

main div.list-services div.row {
	display: block;
	margin-right: 0px;
}
main div.list-services div.row:not(:last-child) {
	margin-bottom: 80px;
}
main div.list-services div.row p.image {
	width: auto;
	margin-bottom: 40px;
	border-radius: 5px;
}
main div.list-services div.row div.text {
	width: auto;
}
main div.list-services div.row div.text p.sub-alternate {
	margin-bottom: 20px;
}
main div.list-services div.row div.text h3 {
	font-size: 1.5rem;
	line-height: 2.375rem;
}
main div.list-services div.row div.ansin-do {
	display: block;
	padding: 30px 20px 20px 20px;
}
main div.list-services div.row div.ansin-do div.text-ansin-do {
	width: auto;
	margin-bottom: 20px;
}
main div.list-services div.row div.ansin-do p.banner {
	width: auto;
}
main section:where(#medical-care, #welfare-elder-care, #technical-design-supervision, #spd) header {
	margin-bottom: 80px;
}
main section:where(#medical-care, #welfare-elder-care, #technical-design-supervision, #spd) header h2 {
	font-size: 1.875rem;
	line-height: 3rem;
}
main section:where(#medical-care, #welfare-elder-care, #technical-design-supervision, #spd) header p.description {
	font-size: 1rem;
	line-height: 1.875rem;
}
main section#spd div.block {
	padding-left: 0px;
}
main section#spd div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#spd div.block h2 {
	position: static;
	left: auto;
	top: auto;
	font-size: 1.375rem;
	margin-bottom: 20px;
}
main section#spd div.block div.header {
	margin-bottom: 40px;
}
main section#spd div.block-flow div.list {
	display: block;
	margin: 0px;
}
main section#spd div.block-flow div.list div.row {
	width: auto;
	margin: 0px;
}
main section#spd div.block-flow div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}

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

main section#sustainability div.inner-section {
	width: auto;
}
main section#sustainability div.medius {
	display: block;
	padding: 30px 20px 20px 20px;
}
main section#sustainability div.medius div.text {
	width: auto;
	margin-bottom: 20px;
}
main section#sustainability div.medius p.banner {
	width: auto;
}

/* startup-support-consultation-detail
-------------------------------------------------------------------------------- */

main section:where(#services-alternate, #feature, #faq, #doctors-voice) div.inner-section {
	padding-top: 0px;
}
main section:where(#services-alternate, #feature, #faq, #doctors-voice) div.anchor {
	position: absolute;
	top: -80px;
}
main section:where(#services-alternate, #feature, #faq, #doctors-voice) header {
	margin-bottom: 40px;
}
main section:where(#services-alternate, #feature, #faq, #doctors-voice) header div.text {
	position: static;
	left: auto;
	bottom: auto;
	color: #000000;
	margin-bottom: 20px;
}
main section:where(#services-alternate, #feature, #faq, #doctors-voice) header div.text p.sub {
	margin-bottom: 0px;
}
main section:where(#services-alternate, #feature, #faq, #doctors-voice) header div.text h2 {
	font-size: 1.875rem;
	line-height: 3rem;
}
main section:where(#services-alternate, #feature, #faq, #doctors-voice) header p.image {
	aspect-ratio: 390 / 250;
	height: auto;
	margin: 0px -30px;
}
main section:where(#services-alternate, #feature) header ~ p.description {
	margin-bottom: 40px;
}
main section#services-alternate div.list div.row {
	display: block;
	padding: 30px 20px 20px 20px;
}
main section#services-alternate div.list div.row div.text {
	position: relative;
	width: auto;
	margin-bottom: 20px;
	padding-top: 0px;
}
main section#services-alternate div.list div.row div.text p.number {
	position: absolute;
	left: 0px;
	top: 2px;
	margin-bottom: 0px;
}
main section#services-alternate div.list div.row div.text h3 {
	margin-bottom: 20px;
	padding-left: 40px;
}
main section#services-alternate div.list div.row p.image {
	width: auto;
}
main section#feature div.list {
	display: block;
	margin-right: 0px;
}
main section#feature div.list div.row {
	width: auto;
	margin-right: 0px;
}
main section#feature div.list div.row:not(:last-child) {
	margin-bottom: 40px;
}
main section#faq header p.image img {
	object-position: 75% center;
}
main section#faq div.list div.row {
	padding: 30px 20px;
}
main section#faq div.list div.row p.label {
	left: 20px;
	top: 32px;
	font-size: 1.75rem;
}
main section#faq div.list div.row h3 {
	padding-left: 50px;
}

/* doctors-voice
-------------------------------------------------------------------------------- */

main div.list-doctors-voice {
	display: block;
	margin: 0px;
}
main div.list-doctors-voice div.row {
	width: auto;
	margin: 0px;
}
main div.list-doctors-voice div.row:not(:last-child) {
	margin-bottom: 40px;
}
main article.doctors_voice::before {
	height: 100%;
	left: -30px;
	top: 0px;
}
main article.doctors_voice div.inner-article {
	padding-top: 0px;
}
main article.doctors_voice header {
	margin-bottom: 60px;
}
main article.doctors_voice header p.image {
	margin: 0px -30px 40px -30px;
	border-radius: 0px;
}
main article.doctors_voice header h1 {
	font-size: 1.875rem;
	line-height: 3rem;
	margin-bottom: 20px;
}
main article.doctors_voice header p.name {
	margin-bottom: 40px;
}
main article.doctors_voice header div.data {
	display: block;
	padding: 30px 20px;
}
main article.doctors_voice header div.data h2 {
	width: auto;
	margin-bottom: 20px;
}
main article.doctors_voice header div.data div.list {
	width: auto;
}
main article.doctors_voice header div.data div.list div.row p.label {
	width: 100px;
}
main article.doctors_voice header div.data div.list div.row p.body {
	width: calc(100% - 100px);
}
main article.doctors_voice:has(div.slide) div.body-01,
main article.doctors_voice:has(div.body-02) div:where(.body-01, .slide) {
	margin-bottom: 60px;
}
main article.doctors_voice div.slide div.image {
	margin-bottom: 10px;
}
main article.doctors_voice div.slide div.navi {
	margin-right: -10px;
}
main article.doctors_voice div.slide div.navi p.row {
	width: calc(20% - 10px);
	margin-right: 10px;
}
main article.doctors_voice p.button-back {
	margin-top: 60px;
}

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

main div.list-news div.row h3 {
	width: 100%;
}
main article.news header h1 {
	font-size: 1.5rem;
	line-height: 2.375rem;
}
main article.news:not(:has(div.file)) div.body,
main article.news div.file {
	padding-bottom: 60px;
}
main article.news:has(div.file) div.body {
	margin-bottom: 60px;
}
main article.news div.file p.button-default a {
	width: 100%;
}
main article.news p.button-back {
	margin-top: 60px;
}

/* license
-------------------------------------------------------------------------------- */

main div.list-license div.row a {
	display: block;
	height: auto;
	padding: 18px 80px 18px 20px;
}
main section#license div.category {
	margin-bottom: 80px;
}
main section#license div.category p.button-default {
	width: calc(50% - 20px);
}
main section#license div.block {
	display: block;
}
main section#license div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#license div.block p.label {
	width: auto;
	margin-bottom: 10px;
	padding-top: 0px;
}
main section#license div.block div.list-license {
	width: auto;
}

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

main section.form div.header,
main section.form div.header p.description {
	margin-bottom: 80px;
}
main section.form div.header div.tel,
main section.form div.header div.tel h2 {
	display: block;
}
main section.form div.header div.tel h2 {
	width: auto;
	height: auto;
	margin-bottom: 20px;
}
main section.form div.header div.tel div.list {
	width: auto;
}
main section.form div.header div.tel div.list div.row {
	display: block;
	padding: 20px;
}
main section.form div.header div.tel div.list div.row p:where(.label, .number) {
	margin-bottom: 10px;
}
main section.form div.header div.tel div.list div.row p.label {
	width: auto;
}
main section.form div.header div.tel div.list div.row p.number {
	width: auto;
}
main section.form div.header div.tel div.list div.row p.number span.sub {
	transform: translateY(5px);
}
main section.form div.header div.tel div.list div.row p.number span.main {
	font-size: 1.875rem;
}
main section.form div.header div.tel div.list div.row p.time {
	width: auto;
	text-align: left;
}
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.component div.body input[name=address] {
	width: 100%;
}
main section.form div.form div.agreement {
	margin-right: -30px;
	padding-left: 0px;
}
main section.form div.form div.agreement span.error {
	left: 0px;
}
main section.form div.form div.action {
	display: block;
	padding-left: 0px;
}
main section.form div.form div.action :where(input:where([type=button], [type=submit]), button):not(:last-child) {
	margin: 0px 0px 20px 0px;
}

/* action-plan
-------------------------------------------------------------------------------- */

main section#action-plan header {
	margin-bottom: 60px;
}
main section#action-plan header h2 {
	font-size: 1.5rem;
	line-height: 2.375rem;
}
main section#action-plan div.body::before {
	left: -30px;
}
main section#action-plan div.body div.inner-body {
	padding: 60px 0px;
}
main section#action-plan div.headline-date {
	display: block;
	margin-bottom: 60px;
}
main section#action-plan div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}

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

main section#privacy-policy div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}
main section#privacy-policy div.list div.row-contact {
	display: block;
}
main section#privacy-policy div.list div.row-contact h3 {
	width: auto;
}
main section#privacy-policy div.list div.row-contact p.description {
	width: auto;
}

/* privacy-management
-------------------------------------------------------------------------------- */

main section#privacy-management div.block:not(:last-child) {
	margin-bottom: 80px;
}
main section#privacy-management div.block h2 {
	font-size: 1.5rem;
	line-height: 2.375rem;
}
main section#privacy-management div.list div.row:not(:last-child) {
	margin-bottom: 60px;
}



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

footer#footer {
	width: auto;
	padding: 0px 30px 20px 30px;
}
footer#footer p.image {
	height: 200px;
	margin: 0px -30px 40px -30px;
}
footer#footer p.logo {
	position: static;
	left: auto;
	top: auto;
	margin-bottom: 40px;
}
footer#footer:has(p.image) p.logo {
	top: auto;
}
footer#footer p.logo img {
	width: calc(206px * 0.75);
}
footer#footer nav#navi-footer {
	display: block;
	margin-bottom: 40px;
}
footer#footer nav#navi-footer div.list {
	width: auto;
	margin-right: -30px;
}
footer#footer nav#navi-footer div.list div.row {
	width: 50%;
	margin-bottom: 40px;
}
footer#footer nav#navi-footer div.button-wrapper-emphasis {
	width: auto;
}
footer#footer div.banner {
	justify-content: flex-start;
	width: auto;
	margin: 0px -10px 30px 0px;
}
footer#footer div.banner p.row {
	width: calc(50% - 10px);
}
footer#footer div.links {
	border-top: none;
	margin-bottom: 20px;
	padding-top: 0px;
}
footer#footer div.links ul {
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0px -30px -5px 0px;
}
footer#footer div.links ul li {
	font-size: 0.875rem;
	line-height: 1.5rem;
	margin-bottom: 5px;
}
footer#footer div.links ul li:not(:last-child) {
	margin-right: 30px;
}
footer#footer p.copyright {
	margin-top: 0px;
}
