@charset "UTF-8";
/* function, value */
/* reset */
* {
	box-sizing: border-box;
}

/* webkit specific styles */
input[type="color"]::-webkit-color-swatch {
	border: none;
}

input[type="color"]::-webkit-color-swatch-wrapper {
	padding: 0;
}

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	font-weight: inherit;
}

body {
	line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

nav ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input,
select {
	vertical-align: middle;
}

input:focus {
	outline: none;
}

ul,
ol {
	list-style-type: none;
}

/* Reset
   ========================================================================== */
img {
	vertical-align: top;
	height: auto;
}

a,
a:active,
a:focus,
a:visited {
	color: inherit;
	text-decoration: none;
}

button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

img {
	width: 100%;
	vertical-align: top;
}

svg {
	width: 100%;
	vertical-align: top;
}
svg.button__icon-image {
	height: 100%;
}

img[src$=".svg"] {
	width: 100%;
}

/* common */
/* utility
   ========================================================================== */
.active-tb-pc {
	display: initial;
}
@media screen and (max-width: 767px) {
	.active-tb-pc {
		display: none;
	}
}

.active-sp {
	display: none;
}
@media screen and (max-width: 767px) {
	.active-sp {
		display: initial;
	}
}

.deactive-tb-sp {
	display: initial;
}
@media screen and (max-width: 767px) {
	.deactive-tb-sp {
		display: none;
	}
}

.no-wrap {
	display: inline-block;
}

/* wrap
   ========================================================================== */
:root {
	font-size: calc(10px + 1 * (100vw - 1680px) / 880) !important;
	--font-jost: "Jost", sans-serif;
}
@media screen and (max-width: 767px) {
	:root {
		font-size: 3.125vw !important;
	}
}
:root.safari {
	min-height: 0vw;
}

body {
	width: 100%;
	font-family: sans-serif;
	line-height: 1.8;
	font-size: 1.5em;
	font-weight: 300;
}
@media screen and (max-width: 767px) {
	body {
		font-size: 1.3em;
	}
}
html.wf-active body {
	font-family: "YakuHanJPs_Noto", "Noto Sans JP", sans-serif;
}

@-webkit-keyframes fade_in_content {
	0% {
		visibility: hidden;
		opacity: 0;
	}
	100% {
		visibility: visible;
		opacity: 1;
	}
}

@keyframes fade_in_content {
	0% {
		visibility: hidden;
		opacity: 0;
	}
	100% {
		visibility: visible;
		opacity: 1;
	}
}
#content {
	opacity: 0;
	visibility: hidden;
}
#content.visible {
	-webkit-animation: fade_in_content 1s cubic-bezier(0.11, 0, 0.5, 0) 0s 1
		forwards;
	animation: fade_in_content 1s cubic-bezier(0.11, 0, 0.5, 0) 0s 1 forwards;
}

.wrapper {
	overflow: hidden;
}

.main {
	display: block;
}
body:not(.index):not(.philosophy) .main {
	margin-top: 10rem;
}
@media screen and (max-width: 767px) {
	body:not(.index):not(.philosophy) .main {
		margin-top: 18vw;
	}
}

/* Header
   ========================================================================== */
.header {
	display: flex;
	align-items: center;
	position: fixed;
	justify-content: space-between;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	height: 10rem;
	transition: background-color 0.5s ease-out;
	background-color: rgba(255, 255, 255, 0.9);
	z-index: 9999;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
	.header {
		height: 18vw;
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}
	.header.open {
		background-color: transparent;
	}
}
.philosophy .header,
.index .header {
	background-color: transparent;
}
.philosophy .header.bg-active.open,
.index .header.bg-active.open {
	background-color: transparent;
}
.index .header.bg-active,
.philosophy .header.bg-active {
	background-color: rgba(255, 255, 255, 0.9);
}

.header__inner {
	width: 93.6vw;
	margin-left: auto;
	height: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
@media screen and (max-width: 1679px) {
	.header__inner {
		padding-left: 4.8rem;
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.header__inner {
		justify-content: space-between;
		padding-right: 7.2vw;
		padding-left: 4.8vw;
	}
}

.logo {
	margin-right: auto;
}
@media screen and (max-width: 767px) {
	.logo {
		margin-top: 2vw;
	}
}

.logo__link {
	transition: opacity 0.25s;
}
.logo__link:hover {
	opacity: 0.85;
}

.logo__svg {
	width: 12.6rem;
	height: 2.49rem;
	fill: black;
}
@media screen and (max-width: 767px) {
	.logo__svg {
		width: 33vw;
		height: 7vw;
	}
	.header.open .logo__svg {
		fill: white;
	}
}
.philosophy .logo__svg,
.index .logo__svg {
	fill: white;
}
.index .header.bg-active .logo__svg,
.philosophy .header.bg-active .logo__svg {
	fill: black;
}
.index .header.bg-active.open .logo__svg,
.philosophy .header.bg-active.open .logo__svg {
	fill: white;
}

.menu-button {
	display: none;
}
@media screen and (max-width: 767px) {
	.menu-button {
		display: block;
		width: 30px;
		height: 18px;
		padding: 1em;
		margin-right: -1em;
		box-sizing: content-box;
	}
}
.menu-button .menu-button__inner {
	width: 100%;
	height: 100%;
	position: relative;
}
.menu-button .menu-button__inner span {
	display: block;
	height: 2px;
	background-color: black;
	transition: top 0.125s 0.125s, margin-top 0.125s 0.125s,
		-webkit-transform 0.125s 0s;
	transition: top 0.125s 0.125s, margin-top 0.125s 0.125s, transform 0.125s 0s;
	transition: top 0.125s 0.125s, margin-top 0.125s 0.125s, transform 0.125s 0s,
		-webkit-transform 0.125s 0s;
}
.menu-button .menu-button__inner span:nth-child(1) {
	position: absolute;
	top: 3px;
	width: 100%;
}
.open .menu-button .menu-button__inner span:nth-child(1) {
	top: 50%;
	margin-top: -2px;
	-webkit-transform: rotate(-25deg);
	transform: rotate(-25deg);
	transition: top 0.125s 0s, margin-top 0.125s 0s,
		-webkit-transform 0.125s 0.125s;
	transition: top 0.125s 0s, margin-top 0.125s 0s, transform 0.125s 0.125s;
	transition: top 0.125s 0s, margin-top 0.125s 0s, transform 0.125s 0.125s,
		-webkit-transform 0.125s 0.125s;
}
@media screen and (max-width: 767px) {
	.open .menu-button .menu-button__inner span:nth-child(1) {
		background-color: white;
	}
}
.menu-button .menu-button__inner span:nth-child(2) {
	position: absolute;
	right: 0;
	bottom: 3px;
	width: 100%;
	transition: bottom 0.125s 0.125s, margin-top 0.125s 0.125s,
		-webkit-transform 0.125s 0s;
	transition: bottom 0.125s 0.125s, margin-top 0.125s 0.125s,
		transform 0.125s 0s;
	transition: bottom 0.125s 0.125s, margin-top 0.125s 0.125s,
		transform 0.125s 0s, -webkit-transform 0.125s 0s;
}
.open .menu-button .menu-button__inner span:nth-child(2) {
	bottom: 50%;
	margin-top: 2px;
	-webkit-transform: rotate(25deg);
	transform: rotate(25deg);
	transition: bottom 0.125s 0s, margin-top 0.125s 0s,
		-webkit-transform 0.125s 0.125s;
	transition: bottom 0.125s 0s, margin-top 0.125s 0s, transform 0.125s 0.125s;
	transition: bottom 0.125s 0s, margin-top 0.125s 0s, transform 0.125s 0.125s,
		-webkit-transform 0.125s 0.125s;
}
@media screen and (max-width: 767px) {
	.open .menu-button .menu-button__inner span:nth-child(2) {
		background-color: white;
	}
}
@media screen and (max-width: 767px) {
	.index .menu-button .menu-button__inner span,
	.philosophy .menu-button .menu-button__inner span {
		background-color: white;
	}
	.index .header.bg-active .menu-button .menu-button__inner span,
	.philosophy .header.bg-active .menu-button .menu-button__inner span {
		background-color: black;
	}
	.index .header.bg-active.open .menu-button .menu-button__inner span,
	.philosophy .header.bg-active.open .menu-button .menu-button__inner span {
		background-color: white;
	}
}

.hedaer__tosyologo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.2rem;
	/* width: 20rem; */
	height: 100%;
	background-color: #f0f0f0;
	padding-left: 2.4rem;
	padding-right: 2.4rem;
}
@media screen and (max-width: 1279px) {
	.hedaer__tosyologo {
		display: none;
		width: 0;
	}
}
.index .hedaer__tosyologo,
.philosophy .hedaer__tosyologo {
	background-color: transparent;
	color: white;
}
.index .header.bg-active.open .hedaer__tosyologo,
.philosophy .header.bg-active.open .hedaer__tosyologo {
	background-color: transparent;
}
.philosophy .header.bg-active .hedaer__tosyologo,
.index .header.bg-active .hedaer__tosyologo {
	background-color: #f0f0f0;
	color: black;
}

.hedaer__tosyologo-image {
	flex-shrink: 0;
	width: 5.8rem;
}

.hedaer__tosyologo-text {
	flex-shrink: 0;
	font-size: 1rem;
}

html[lang="en"] .hedaer__tosyologo-text {
	line-height: 1.5;
	max-width: 20ch;
}

.header__language-list {
	--gap: 2em;
	display: flex;
	align-items: center;
	gap: var(--gap);
}

@media only screen and (min-width: 768px) {
	.header__language-list {
		margin-left: 0.8rem;
		margin-right: 2.4rem;
	}
}

@media only screen and (max-width: 768px) {
	.header__language-list {
		--gap: 1.75em;
		margin-right: 1.2rem;
	}
}

.header__language-list li + li {
	position: relative;
}

.header__language-list li + li:before {
	content: "";
	display: block;
	width: 1px;
	height: 2rem;
	position: absolute;
	left: calc(var(--gap) / -2);
	top: 50%;
	transform: translateX(-50%) translateY(-50%) rotate(30deg);
	background-color: #999;
	transition: background-color 0.25s ease-out;
}

.header__language-list button {
	position: relative;
	transition: color 0.25s ease-out, opacity 0.25s ease-out;
}

body.index .header__language-list button,
body.philosophy .header__language-list button,
.header.open .header__language-list button,
body.index .header.bg-active.open .header__language-list button,
body.philosophy .header.bg-active.open .header__language-list button {
	color: white;
}

body.index .header.bg-active .header__language-list button,
body.philosophy .header.bg-active .header__language-list button {
	color: currentColor;
}

body.index .header__language-list li + li:before,
body.philosophy .header__language-list li + li:before,
.header.open .header__language-list li + li:before,
body.index .header.bg-active.open .header__language-list li + li:before,
body.philosophy .header.bg-active.open .header__language-list li + li:before {
	background-color: white;
}

body.index .header.bg-active .header__language-list li + li:before,
body.philosophy .header.bg-active .header__language-list li + li:before {
	background-color: currentColor;
}

.header__language-list button:after {
	content: "";
	position: absolute;
	inset: -0.25em;
	/* background-color: red; */
}

.header__language-list button:hover {
	opacity: 0.7;
}

html[lang="en"] .header__language-en button {
	text-decoration: underline;
	text-underline-offset: 0.5em;
	/* text-decoration-thickness: 1px; */
	font-weight: 700;
	pointer-events: none;
}

html[lang="ja"] .header__language-jp button {
	text-decoration: underline;
	text-underline-offset: 0.5em;
	/* text-decoration-thickness: 1px; */
	font-weight: 700;
	pointer-events: none;
}

/* .Footer
   ========================================================================== */
.footer {
	background-color: #f5f5f5;
}

.footer__top {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10.8rem 3em 9.4rem;
}
@media screen and (max-width: 1023px) {
	.footer__top {
		padding: 10.8vw 3em;
	}
}
@media screen and (max-width: 767px) {
	.footer__top {
		padding: 13vw 0 0 0;
	}
}

.footer__top-inner {
	display: flex;
}

@media screen and (min-width: 768px) {
	.footer__top-inner {
		--pc-x-gap: 6.8rem;
		min-width: 100rem;
		/* justify-content: flex-end; */
	}
}
@media screen and (max-width: 1023px) {
	.footer__top-inner {
		--pc-x-gap: 4.8rem;
		width: 100%;
		min-width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.footer__top-inner {
		flex-direction: column;
	}
}

.footer-logo {
	flex-shrink: 0;
	width: 14.1rem;
	/* margin-left: 1.8rem; */
	position: relative;
}
@media screen and (min-width: 768px) {
	.footer-logo {
		margin-right: auto;
	}
}
@media screen and (max-width: 1023px) {
	.footer-logo {
		margin-left: 0;
	}
}
@media screen and (max-width: 767px) {
	.footer-logo {
		-webkit-transform: translateX(5%);
		transform: translateX(5%);
		order: 2;
		width: 66vw;
		margin-right: auto;
		margin-left: auto;
	}
}

@media screen and (min-width: 768px) {
	.footer__tosyologo {
		order: 3;
		margin-left: var(--pc-x-gap);
	}
}
/* @media screen and (min-width: 768px) and (max-width: 1023px) {
	.footer__tosyologo {
		display: none;
	}
} */
@media screen and (max-width: 767px) {
	.footer__tosyologo {
		order: 3;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		margin-top: 4vw;
		margin-right: auto;
		margin-left: auto;
	}
}

.footer__tosyologo-image {
	width: 8.4rem;
}
@media screen and (max-width: 767px) {
	.footer__tosyologo-image {
		width: 13.2vw;
	}
}

.footer__tosyologo-text {
	margin-top: 0.75em;
	font-size: 1rem;
	line-height: 1.6;
	max-width: 20ch;
	/* white-space: nowrap; */
}

@media screen and (max-width: 767px) {
	.footer__tosyologo-text {
		margin-top: 0;
		margin-left: 0.75em;
		font-size: 1.4rem;
		line-height: inherit;
	}
}

@media screen and (max-width: 767px) {
	html[lang="en"] .footer__tosyologo-text {
		font-size: 1.25rem;
		line-height: 1.5;
	}
}

@media screen and (min-width: 767px) {
	.footer-menu {
		margin-left: var(--pc-x-gap);
	}
}

/* @media screen and (max-width: 1023px) {
	.footer-menu {
		margin-left: auto;
		margin-right: auto;
	}
} */
@media screen and (max-width: 767px) {
	.footer-menu {
		order: 1;
		margin-right: 0;
		margin-bottom: 7vw;
		margin-left: 0;
		padding-right: 10vw;
		padding-bottom: 11vw;
		padding-left: 10vw;
		border-bottom: 1px solid #ccc;
	}
}

.footer-menu__list {
	display: -ms-grid;
	display: grid;
	/* -ms-grid-columns: fit-content(8ch) 6.4rem fit-content(8ch) 6.4rem
		fit-content(8ch) 6.4rem fit-content(8ch); */
	grid-template-columns: repeat(4, max-content);
	/* -ms-grid-rows: auto 6.8rem auto 6.8rem auto 6.8rem auto; */
	grid-template-areas: "menu1 menu4 menu6 menu7" "menu2 menu4 menu6 menu8" "menu3 menu4 menu6 none" "menu3 menu5 menu6 none";
	gap: 6.8rem var(--pc-x-gap);
	position: relative;
}
@media screen and (max-width: 767px) {
	.footer-menu__list {
		/* justify-content: space-between; */
		/* -ms-grid-columns: fit-content(8ch) 0 fit-content(8ch); */
		grid-template-columns: repeat(2, fit-content(15ch));
		/* -ms-grid-rows: auto 15vw auto 15vw auto 15vw auto 15vw auto 15vw auto 15vw
			auto 15vw auto 15vw auto; */
		grid-template-areas: "menu1 menu2" "menu4 menu5" "menu6 menu7" "menu6 menu8" "menu6 menu8" "menu6 menu8" "menu6 menu8" "menu6 menu8" "menu6 menu8";
		gap: 15vw 0;
	}
}

@media screen and (min-width: 768px) {
	.footer-menu__list-item {
		max-width: 24ch;
	}
}

@media screen and (max-width: 767px) {
	.footer-menu__list-item + .footer-menu__list-item {
		margin-top: 0;
	}
}
.footer-menu__list-item.-menu1 {
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: menu1;
}
.footer-menu__list-item.-menu2 {
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	grid-area: menu2;
}
.footer-menu__list-item.-menu3 {
	-ms-grid-row: 5;
	-ms-grid-row-span: 3;
	-ms-grid-column: 1;
	grid-area: menu3;
}
.footer-menu__list-item.-menu4 {
	-ms-grid-row: 1;
	-ms-grid-row-span: 5;
	-ms-grid-column: 3;
	grid-area: menu4;
}
.footer-menu__list-item.-menu5 {
	-ms-grid-row: 7;
	-ms-grid-column: 3;
	grid-area: menu5;
}
.footer-menu__list-item.-menu6 {
	-ms-grid-row: 1;
	-ms-grid-row-span: 7;
	-ms-grid-column: 5;
	grid-area: menu6;
}
.footer-menu__list-item.-menu7 {
	-ms-grid-row: 1;
	-ms-grid-column: 7;
	grid-area: menu7;
}
.footer-menu__list-item.-menu8 {
	-ms-grid-row: 3;
	-ms-grid-column: 7;
	grid-area: menu8;
}
@media screen and (max-width: 767px) {
	.footer-menu__list-item.-menu1 {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}
	.footer-menu__list-item.-menu2 {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}
	.footer-menu__list-item.-menu4 {
		-ms-grid-row: 3;
		-ms-grid-row-span: 1;
		-ms-grid-column: 1;
	}
	.footer-menu__list-item.-menu5 {
		-ms-grid-row: 3;
		-ms-grid-column: 3;
	}
	.footer-menu__list-item.-menu6 {
		-ms-grid-row: 5;
		-ms-grid-row-span: 13;
		-ms-grid-column: 1;
	}
	.footer-menu__list-item.-menu7 {
		-ms-grid-row: 5;
		-ms-grid-column: 3;
	}
	.footer-menu__list-item.-menu8 {
		-ms-grid-row: 7;
		-ms-grid-row-span: 11;
		-ms-grid-column: 3;
	}
}
@media screen and (max-width: 767px) {
	.footer-menu__list-item.-menu8 {
		margin-left: 0;
	}
}

.footer-menu__link {
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	position: relative;
	transition: opacity 0.25s;
}
.footer-menu__link:hover {
	opacity: 0.75;
}
.footer-menu__link + .footer-menu__link {
	margin-top: 1.75em;
}
@media screen and (max-width: 767px) {
	.footer-menu__link + .footer-menu__link {
		margin-top: 0;
	}
}
@media screen and (max-width: 1023px) {
	.footer-menu__link {
		min-width: 4.8rem;
	}
}
@media screen and (max-width: 767px) {
	.footer-menu__link {
		min-width: auto;
	}
	.footer-menu__list-item:last-of-type .footer-menu__link {
		flex: 1;
	}
}

.footer-menu__text {
	display: block;
}

.footer-menu__text--top {
	width: 4.15rem;
	height: 1.75rem;
}
@media screen and (max-width: 767px) {
	.footer-menu__text--top {
		width: 11vw;
		height: 4vw;
	}
}

.footer-menu__text--about {
	width: 6rem;
	height: 1.8rem;
}
@media screen and (max-width: 767px) {
	.footer-menu__text--about {
		width: 15.7vw;
		height: 5.4vw;
	}
}

.footer-menu__text--service {
	width: 7.25rem;
	height: 1.6rem;
}
@media screen and (max-width: 767px) {
	.footer-menu__text--service {
		width: 18.6vw;
		height: 4.3vw;
	}
}

.footer-menu__text--ir {
	width: 1.7rem;
	height: 1.5rem;
}
@media screen and (max-width: 767px) {
	.footer-menu__text--ir {
		width: 4.5vw;
		height: 4vw;
	}
}

.footer-menu__text--products {
	width: 8.3rem;
	height: 1.75rem;
}
@media screen and (max-width: 767px) {
	.footer-menu__text--products {
		width: 21.6vw;
		height: 5.4vw;
	}
}

.footer-menu__icon--blank {
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-90%);
	transform: translateY(-90%);
	width: 13px;
	height: 13px;
}
@media screen and (max-width: 767px) {
	.footer-menu__icon--blank {
		position: static;
		margin-top: 3vw;
		margin-left: 1.75em;
		width: 11px;
		height: 11px;
	}
}

.footer-menu__text--recruit {
	width: 6.7rem;
	height: 1.65rem;
}
@media screen and (max-width: 767px) {
	.footer-menu__text--recruit {
		width: 17.5vw;
		height: 4vw;
	}
}

.footer-menu__text--contact {
	width: 7.6rem;
	height: 1.6rem;
}
@media screen and (max-width: 767px) {
	.footer-menu__text--contact {
		width: 19.7vw;
		height: 4.3vw;
	}
}

.footer-menu__text--news {
	width: 5.3rem;
	height: 1.7rem;
}
@media screen and (max-width: 767px) {
	.footer-menu__text--news {
		width: 13.9vw;
		height: 4.6vw;
	}
}

.footer-menu__sublist-wrap {
	height: 100%;
}

.footer-menu__sublist {
	margin-top: 1.75em;
}
@media screen and (max-width: 767px) {
	.footer-menu__sublist {
		margin-top: 1.45em;
	}
}
.footer-menu__list-item.footer-menu__list-item--jp .footer-menu__sublist {
	margin-top: 2em;
}
@media screen and (max-width: 767px) {
	.footer-menu__list-item.footer-menu__list-item--jp .footer-menu__sublist {
		margin-top: 1.85em;
	}
}

.footer-menu__sublist-item {
	font-size: 1.4rem;
	color: #666;
	/* white-space: nowrap; */
}
.footer-menu__list-item.footer-menu__list-item--jp .footer-menu__sublist-item {
	font-size: 1.35rem;
}
@media screen and (max-width: 767px) {
	.footer-menu__sublist-item {
		font-size: 1.3rem;
	}
}
.footer-menu__sublist-item + .footer-menu__sublist-item {
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	.footer-menu__sublist-item + .footer-menu__sublist-item {
		margin-top: 0.75em;
	}
}
.footer-menu__list-item.footer-menu__list-item--jp
	.footer-menu__sublist-item
	+ .footer-menu__sublist-item {
	margin-top: 1.3em;
}
@media screen and (max-width: 767px) {
	.footer-menu__list-item.footer-menu__list-item--jp
		.footer-menu__sublist-item
		+ .footer-menu__sublist-item {
		margin-top: 0.9em;
	}
}

.footer-menu__sublist-link {
	transition: opacity 0.25s;
}
.footer-menu__sublist-link:hover {
	opacity: 0.8;
}
@media screen and (max-width: 767px) {
	.footer-menu__sublist-link {
		/* white-space: nowrap; */
	}
}

.footer-menu__sublist-inner-list {
	margin-top: 1em;
	margin-left: 0.35em;
}
@media screen and (max-width: 767px) {
	.footer-menu__sublist-inner-list {
		margin-top: 0.75em;
	}
}

.footer-menu__sublist-inner-list-item {
	font-size: 1.4rem;
	color: #666;
	white-space: nowrap;
}
.footer-menu__list-item.footer-menu__list-item--jp
	.footer-menu__sublist-inner-list-item {
	font-size: 1.35rem;
}
@media screen and (max-width: 767px) {
	.footer-menu__sublist-inner-list-item {
		font-size: 1.3rem;
	}
}
.footer-menu__sublist-inner-list-item + .footer-menu__sublist-inner-list-item {
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	.footer-menu__sublist-inner-list-item
		+ .footer-menu__sublist-inner-list-item {
		margin-top: 0.75em;
	}
}
.footer-menu__list-item.footer-menu__list-item--jp
	.footer-menu__sublist-inner-list-item
	+ .footer-menu__sublist-inner-list-item {
	margin-top: 1.3em;
}
@media screen and (max-width: 767px) {
	.footer-menu__list-item.footer-menu__list-item--jp
		.footer-menu__sublist-inner-list-item
		+ .footer-menu__sublist-inner-list-item {
		margin-top: 0.9em;
	}
}

.footer-menu__sublist-inner-list-item a {
	position: relative;
	transition: opacity 0.25s;
}

.footer-menu__sublist-inner-list-item a::before {
	content: "";
	display: inline-block;
	width: 0.75em;
	height: 1em;
	border-left: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateY(-25%);
	margin-right: 0.45em;
}

.footer-menu__sublist-inner-list-item a:hover {
	opacity: 0.8;
}
@media screen and (max-width: 767px) {
	.footer-menu__sublist-inner-list-item a {
		white-space: nowrap;
	}
}

.footer__bottom {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 9.1rem;
	border-top: 1px solid #ccc;
	padding-right: 3em;
	padding-left: 3em;
	font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
	.footer__bottom {
		height: auto;
		padding: 7vw 10.8vw 12vw;
		border-top: none;
	}
}

.footer__bottom-inner {
	display: flex;
	justify-content: space-between;
	width: 100rem;
}
@media screen and (max-width: 1279px) {
	.footer__bottom-inner {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.footer__bottom-inner {
		display: block;
	}
}

.footer-link__list {
	display: flex;
}
@media screen and (max-width: 767px) {
	.footer-link__list {
		flex-wrap: wrap;
		width: 66vw;
		margin-right: auto;
		margin-left: auto;
	}
}

.footer-link__list-item {
	color: #666;
}
.footer-link__list-item + .footer-link__list-item {
	margin-left: 2.5em;
}
@media screen and (max-width: 767px) {
	.footer-link__list-item + .footer-link__list-item {
		margin-left: 0;
	}
}
@media screen and (max-width: 767px) {
	.footer-link__list-item:nth-of-type(even) {
		margin-left: 2.5em;
	}
	.footer-link__list-item:nth-of-type(n + 3) {
		margin-top: 0.75em;
	}
}

.footer-link__link {
	transition: opacity 0.25s;
}
.footer-link__link:hover {
	opacity: 8;
}
@media screen and (max-width: 767px) {
	.footer-link__link {
		white-space: nowrap;
		position: relative;
	}
	.footer-link__link:before {
		content: "—";
		margin-right: 0.5em;
	}
}

.footer-copyright {
	color: #666;
}
.footer-copyright small {
	font-size: 0.85em;
}
@media screen and (max-width: 767px) {
	.footer-copyright {
		margin-top: 2em;
		font-size: 1.1rem;
		text-align: center;
	}
}

@media screen and (max-width: 767px) {
	.footer-menu__list {
		flex-wrap: nowrap !important;
		justify-content: space-between !important;
	}
	.footer-menu__list-item {
		flex-basis: auto !important;
	}
	.footer-menu__list-item + .footer-menu__list-item {
		margin-top: 0 !important;
	}
	.footer-menu__list-item:nth-of-type(1) {
		flex-basis: auto !important;
	}
	.footer-menu__list-item:last-of-type .footer-menu__link {
		margin-bottom: 0 !important;
	}
}
.button {
	display: inline-block;
	width: 30rem;
	height: 5.1rem;
	text-align: center;
	transition: all;
}
.button:hover {
	cursor: pointer;
}
@media screen and (max-width: 767px) {
	.button {
		width: 62vw;
		height: 13.6vw;
	}
}

.button.button--border {
	border: solid 2px black;
	background-color: transparent;
}

.button.button--border-white {
	border: solid 1px white;
	background-color: transparent;
}

.button__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	position: relative;
	padding-right: 1.85em;
	padding-left: 1em;
}
.button__inner.button__inner--reverse {
	padding-right: 1em;
	padding-left: 1.85em;
}

.button.button--slide-cover .button__inner {
	overflow: hidden;
	position: relative;
}
.button.button--slide-cover .button__inner::after,
.button.button--slide-cover .button__inner::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -1%;
	width: calc(100% + 2px);
	height: 103%;
	background-color: black;
	z-index: 0;
	-webkit-transform: translate(-50%, -103%);
	transform: translate(-50%, -103%);
	will-change: transform;
}
.button.button--slide-cover .button__inner::before {
	transition: -webkit-transform 0s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0s cubic-bezier(0.645, 0.045, 0.355, 1),
		-webkit-transform 0s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.button.button--slide-cover .button__inner::after {
	-webkit-transform: translate(-50%, 103%);
	transform: translate(-50%, 103%);
	transition: -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1),
		-webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.button--border.button--slide-cover .button__inner::after,
.button--border.button--slide-cover .button__inner::before {
	background-color: black;
}

.button--border-white.button--slide-cover .button__inner::after,
.button--border-white.button--slide-cover .button__inner::before {
	background-color: white;
}

.button.button--slide-cover:hover .button__inner::before,
a:hover .button.button--slide-cover .button__inner::before {
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	transition: -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1),
		-webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.button.button--slide-cover:hover .button__inner::after,
a:hover .button.button--slide-cover .button__inner::after {
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	transition: -webkit-transform 0.4s step-end;
	transition: transform 0.4s step-end;
	transition: transform 0.4s step-end, -webkit-transform 0.4s step-end;
}

.button__text {
	font-size: 1.4rem;
	letter-spacing: 0.06em;
	position: relative;
	z-index: 1;
	transition: -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1),
		-webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
}
@media screen and (max-width: 767px) {
	.button__text {
		font-size: 1.2rem;
	}
}
@media screen and (max-width: 767px) {
	.button__text {
		content: none;
	}
}

.button.button--border .button__text {
	color: black;
}

.button.button--border.button--slide-cover .button__text {
	transition: color 0.2s step-end;
}

.button.button--border.button--slide-cover:hover .button__text,
a:hover .button.button--border.button--slide-cover .button__text {
	color: white;
}

.button.button--border .button__text-image {
	fill: black;
}

.button.button--border.button--slide-cover .button__text-image {
	transition: fill 0.2s step-end;
}

.button.button--border.button--slide-cover:hover .button__text-image,
a:hover .button.button--border.button--slide-cover .button__text-image {
	fill: white;
}

.button.button--border-white .button__text {
	color: white;
}

.button.button--border-white.button--slide-cover .button__text {
	transition: color 0.2s step-end;
}

.button.button--border-white.button--slide-cover:hover .button__text,
a:hover .button.button--border-white.button--slide-cover .button__text {
	color: black;
}

.button.button--border-white .button__text-image {
	fill: white;
}

.button.button--border-white.button--slide-cover .button__text-image {
	transition: fill 0.2s step-end;
}

.button.button--border-white.button--slide-cover:hover .button__text-image,
a:hover .button.button--border-white.button--slide-cover .button__text-image {
	fill: black;
}

.button__icon {
	position: absolute;
	top: 50%;
	right: 1.5em;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 1;
}

.button__icon.button__icon--plus {
	width: 10px;
	height: 10px;
}
.button__icon.button__icon--plus .button__icon-image {
	height: 100%;
}

.button__icon.button__icon--blank {
	width: 10px;
	height: 10px;
}
@media screen and (max-width: 767px) {
	.button__icon.button__icon--blank {
		width: 11px;
		height: 11px;
	}
}

.button__icon.button__icon--arrow {
	width: 30px;
	height: 8px;
}

.button__icon.button__icon--arrow-reverse {
	right: auto;
	left: 1.5em;
	width: 30px;
	height: 8px;
	-webkit-transform: translateY(-75%);
	transform: translateY(-75%);
}

.button.button--border .button__icon-image {
	fill: black;
	transition: fill 0.2s;
}

.button.button--border.button--slide-cover .button__icon-image {
	transition: fill 0.2s step-end;
}

.button.button--border.button--slide-cover:hover .button__icon-image,
a:hover .button.button--border.button--slide-cover .button__icon-image {
	fill: white;
}

.button.button--border-white .button__icon-image {
	fill: white;
	transition: fill 0.2s;
}

.button.button--border-white.button--slide-cover .button__icon-image {
	transition: fill 0.2s step-end;
}

.button.button--border-white.button--slide-cover:hover .button__icon-image,
a:hover .button.button--border-white.button--slide-cover .button__icon-image {
	fill: black;
}

.button__text-image--more {
	width: 4.8rem;
	height: 2.2rem;
}
@media screen and (max-width: 767px) {
	.button__text-image--more {
		width: 12vw;
		height: 7vw;
	}
}

.button__text-image--mailform {
	width: 7.3rem;
	height: 2.2rem;
}
@media screen and (max-width: 767px) {
	.button__text-image--mailform {
		width: 22.4vw;
		height: 6vw;
	}
}

.button__text-image--googlemap {
	width: 10rem;
	height: 2.7rem;
}
@media screen and (max-width: 767px) {
	.button__text-image--googlemap {
		width: 24vw;
		height: 8vw;
	}
}

.button__text-image--brandsite {
	width: 7.5rem;
	height: 2.2rem;
}
@media screen and (max-width: 767px) {
	.button__text-image--brandsite {
		width: 20vw;
		height: 5.8vw;
	}
}

.button__text-image--brand-pidx {
	width: 10.3rem;
	height: 2.2rem;
}
@media screen and (max-width: 767px) {
	.button__text-image--brand-pidx {
		width: 27.6vw;
		height: 5.8vw;
	}
}

.button__text-image--news-index {
	width: 8.1rem;
	height: 2.4rem;
}
@media screen and (max-width: 767px) {
	.button__text-image--news-index {
		width: 24vw;
		height: 5.8vw;
	}
}

.button__text-image--irnews-index {
	width: 10.1rem;
	height: 2.4rem;
}
@media screen and (max-width: 767px) {
	.button__text-image--irnews-index {
		width: 29.5vw;
		height: 5.8vw;
	}
}

/* Fullscreen
   ========================================================================== */
.full-screen {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	z-index: 99;
	background-color: rgba(0, 0, 0, 0.93);
}

.full-screen__inner {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	position: relative;
}
@media screen and (max-width: 767px) {
	.full-screen__inner {
		display: block;
	}
}

@media screen and (max-width: 767px) {
	.fullscreen-content {
		display: none;
	}
	.full-screen .fullscreen-content {
		display: block;
		width: 100%;
		height: 100%;
		overflow-y: scroll;
	}
}

/* menu
   ========================================================================== */
@media screen and (max-width: 767px) {
	.nav {
		height: atuo;
	}
}

.nav__list {
	display: flex;
	align-items: center;
	height: 100%;
}
@media screen and (max-width: 1023px) {
	.nav__list {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 767px) {
	.nav__list {
		overflow: hidden;
		height: auto;
		display: block;
		padding-top: 30vw;
		padding-right: 0;
		padding-left: 10.76vw;
		padding-bottom: 10vw;
		font-size: 1.5rem;
	}
}

.nav__list-item {
	line-height: 1;
	position: relative;
}
.nav__list-item:not([style*="display: none"]) + .nav__list-item:before {
	content: "";
	display: block;
	width: 1px;
	height: 2.5rem;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(30deg);
	transform: translateY(-50%) rotate(30deg);
	background-color: #999;
}
@media screen and (max-width: 767px) {
	.nav__list-item:not([style*="display: none"]) + .nav__list-item:before {
		content: none;
	}
}
.index .nav__list-item + .nav__list-item:before,
.philosophy .nav__list-item + .nav__list-item:before {
	background-color: white;
}
.index .header.bg-active .nav__list-item + .nav__list-item:before,
.philosophy .header.bg-active .nav__list-item + .nav__list-item:before {
	background-color: black;
}
@media screen and (max-width: 767px) {
	.nav__list-item + .nav__list-item {
		margin-top: 1.25em;
	}
	.nav__list-item + .nav__list-item.has-submenu,
	.nav__list-item.has-submenu + .nav__list-item {
		margin-top: 2.5em;
	}
	.nav__list-item:not(.has-submenu) {
		padding-bottom: 1.25em;
		border-bottom: 1px solid white;
	}
}

.nav__link-inner {
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 8em;
	height: 3em;
	padding-right: 2em;
	padding-left: 2em;
	position: relative;
	overflow: hidden;
}
@media screen and (max-width: 1023px) {
	.nav__link-inner {
		min-width: auto !important;
		padding-right: 1.25em;
		padding-left: 1.25em;
	}
}
@media screen and (max-width: 767px) {
	.nav__link-inner {
		min-width: 13.66vw !important;
		height: auto;
		padding-right: 0;
		padding-left: 0;
		align-items: flex-start;
		overflow: visible;
	}
	.nav__list-item:not(.has-submenu) .nav__link-inner {
		display: flex;
		justify-content: space-between;
		width: 100%;
		padding-right: 1.5em;
	}
}

.nav__link-inner--ir {
	padding-right: 2.75em;
	padding-left: 2.75em;
}
@media screen and (max-width: 767px) {
	.nav__link-inner--ir {
		padding-right: 0;
		padding-left: 0;
	}
}

.nav__link {
	display: block;
	position: relative;
}
.nav__link:hover {
	cursor: pointer;
}
@media screen and (max-width: 767px) {
	.nav__link {
		display: flex;
		padding-left: 0.75em;
	}
}

.nav__link-text {
	position: absolute;
	top: 0;
	left: 50%;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	justify-content: center;
	-webkit-transform: translate(-50%, 103%);
	transform: translate(-50%, 103%);
	transition: -webkit-transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1),
		-webkit-transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
	will-change: transform;
	font-size: 1.6rem;
	font-weight: 400;
	white-space: nowrap;
}
@media screen and (max-width: 767px) {
	.nav__link-text {
		display: none;
	}
}
.index .nav__link-text,
.philosophy .nav__link-text {
	color: white;
}
.index .header.bg-active .nav__link-text,
.philosophy .header.bg-active .nav__link-text {
	color: black;
}

.nav__link-text-inner {
	display: inline-block;
	position: relative;
	padding-bottom: 0.55em;
}
.nav__link-text-inner:after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	height: 1px;
	background-color: black;
	z-index: 2;
	width: 0;
	opacity: 0;
}
html[lang="ja"] .nav__link:hover .nav__link-text-inner:after {
	transition: width 0.35s 0.2s, opacity 0.35s 0.2s;
	width: 106%;
	opacity: 1;
}

.index .nav__link-text-inner:after,
.philosophy .nav__link-text-inner:after {
	background-color: white;
}
.index .header.bg-active .nav__link-text-inner:after,
.philosophy .header.bg-active .nav__link-text-inner:after {
	background-color: black;
}

.nav__link-icon {
	display: flex;
	align-items: center;
	height: 100%;
	transition: -webkit-transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1),
		-webkit-transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
	will-change: transform;
}
@media screen and (max-width: 767px) {
	.nav__link-icon {
		width: 100%;
		justify-content: space-between;
	}
	.nav__list-item.has-submenu .nav__link-icon {
		align-items: flex-start;
	}
}

html[lang="ja"] .nav__link:hover .nav__link-icon {
	-webkit-transform: translateY(-103%);
	transform: translateY(-103%);
}
@media screen and (max-width: 767px) {
	html[lang="ja"] .nav__link:hover .nav__link-icon {
		-webkit-transform: none;
		transform: none;
	}
}

html[lang="en"] .nav__link:hover .nav__link-icon {
	position: relative;
}

html[lang="en"] .nav__link-icon:after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	height: 1px;
	background-color: black;
	z-index: 2;
	width: 0;
	opacity: 0;
}

html[lang="en"] .index .nav__link-icon:after,
html[lang="en"] .philosophy .nav__link-icon:after {
	background-color: white;
}

html[lang="en"] .index .header.bg-active .nav__link-icon:after,
html[lang="en"] .philosophy .header.bg-active .nav__link-icon:after {
	background-color: black;
}

html[lang="en"] .nav__link:hover .nav__link-icon:after {
	transition: width 0.35s 0.1s, opacity 0.35s 0.1s;
	width: 115%;
	opacity: 1;
}

html[lang="ja"] .nav__link:hover .nav__link-text {
	margin-top: 0.25em;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}

.nav__text {
	fill: black;
	pointer-events: none;
}
.index .nav__text,
.philosophy .nav__text {
	fill: white;
}
.nav__sublist-area .nav__text {
	fill: black;
}
.index .header.bg-active .nav__text,
.philosophy .header.bg-active .nav__text {
	fill: black;
}
@media screen and (max-width: 767px) {
	.full-screen .nav__text {
		fill: white;
	}
}

.nav__text--about {
	width: 5.5rem;
	height: 2.1rem;
}
@media screen and (max-width: 767px) {
	.nav__text--about {
		margin-top: 0.75vw;
		width: 10.86vw;
		height: 2.9vw;
	}
}

.nav__text--products {
	width: 7.8rem;
	height: 2.21rem;
}
@media screen and (max-width: 767px) {
	.nav__text--products {
		width: 19.86vw;
		height: 5.7vw;
	}
}

.nav__text--about-topmessage {
	width: 8.8rem;
	height: 1.8rem;
}
@media screen and (max-width: 767px) {
	.nav__text--about-topmessage {
		width: 32vw;
		height: 5.6vw;
	}
}

@media screen and (max-width: 767px) {
	.nav__text--founding-spirit {
		width: 35.6vw;
	}
}

.nav__text--about-foundingspirit {
	width: 8.8rem;
	height: 1.8rem;
}
@media screen and (max-width: 767px) {
	.nav__text--about-foundingspirit {
		width: 32vw;
		height: 5.6vw;
	}
}

.nav__text--about-brandmember {
	width: 9.6rem;
	height: 1.5rem;
}
@media screen and (max-width: 767px) {
	.nav__text--about-brandmember {
		width: 34.53vw;
		height: 4.48vw;
	}
}

.nav__text--about-coporateprofile {
	width: 10.6rem;
	height: 1.2em;
}
@media screen and (max-width: 767px) {
	.nav__text--about-coporateprofile {
		width: 39vw;
		height: 5.8vw;
	}
}

.nav__text--about-philosophy {
	width: 6.8rem;
	height: 1em;
}
@media screen and (max-width: 767px) {
	.nav__text--about-philosophy {
		width: 24.8vw;
		height: 5.7vw;
	}
}

.nav__text--service {
	width: 6.5rem;
	height: 2.1rem;
}
@media screen and (max-width: 767px) {
	.nav__text--service {
		margin-top: 1.5vw;
		width: 10.86vw;
		height: 2.8vw;
	}
}

.nav__text--service-branddevelopment {
	width: 13.8rem;
	height: 2rem;
}
@media screen and (max-width: 767px) {
	.nav__text--service-branddevelopment {
		width: 45vw;
		height: 5.7vw;
	}
}

.nav__text--service-dtocengine {
	width: 8.8rem;
	height: 1.3rem;
}
@media screen and (max-width: 767px) {
	.nav__text--service-dtocengine {
		width: 28.67vw;
		height: 4.16vw;
		-webkit-transform: translateX(-0.5%);
		transform: translateX(-0.5%);
	}
}

.nav__text--service-medical-support {
	width: 11.75rem;
}
@media screen and (max-width: 767px) {
	.nav__text--service-medical-support {
		width: 38.7vw;
	}
}

.nav__text--service-d2c {
	width: 2.6rem;
}
@media screen and (max-width: 767px) {
	.nav__text--service-d2c {
		width: 9.6vw;
	}
}

.nav__text--ir {
	width: 1.5rem;
	height: 1.5rem;
}
@media screen and (max-width: 767px) {
	.nav__text--ir {
		width: 2.5vw;
		height: 2.5vw;
	}
}

.nav__icon--blank {
	width: 10px;
	height: 10px;
	margin-top: 0.125em;
	margin-left: 0.5em;
	fill: black;
}
.index .nav__icon--blank,
.philosophy .nav__icon--blank {
	fill: white;
}
.index .header.bg-active .nav__icon--blank,
.philosophy .header.bg-active .nav__icon--blank {
	fill: black;
}
@media screen and (max-width: 767px) {
	.nav__icon--blank {
		fill: white;
	}
}

.nav__text--recruit {
	width: 6.2rem;
	height: 1.53rem;
}
@media screen and (max-width: 767px) {
	.nav__text--recruit {
		width: 16vw;
		height: 5.56vw;
	}
}

.nav__text--contact {
	width: 7rem;
	height: 2.1rem;
}
@media screen and (max-width: 767px) {
	.nav__text--contact {
		width: 17.65vw;
		height: 3.98vw;
	}
}

.nav__text--news {
	width: 4.9rem;
	height: 2.1rem;
}
@media screen and (max-width: 767px) {
	.nav__text--news {
		width: 13.04vw;
		height: 5.56vw;
	}
}

.nav__sublist-area {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	padding-top: 7.2rem;
	z-index: 99;
}
@media screen and (max-width: 767px) {
	.nav__sublist-area {
		display: block;
		position: static;
		padding-top: 0;
		padding-left: 1.25em;
	}
}

.nav__sublist-area-container {
	position: fixed;
	right: 0;
	overflow: hidden;
	pointer-events: none;
}
.nav__sublist-area-container:hover {
	cursor: auto;
}
.nav__list-item:hover .nav__sublist-area-container {
	pointer-events: auto;
}
@media screen and (max-width: 767px) {
	.nav__sublist-area-container {
		position: static;
		width: auto;
		pointer-events: auto;
		overflow: visible;
	}
}

.nav__sublist-area-hidden {
	width: 100%;
	-webkit-transform: translate3d(0, -103%, 0);
	transform: translate3d(0, -103%, 0);
	background-color: #dedede;
	transition: -webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1),
		-webkit-transform 0.4s cubic-bezier(0.645, 0.045, 0.355, 1);
	will-change: auto;
	padding-left: 8rem;
}
.nav__list-item:hover .nav__sublist-area-hidden {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
@media screen and (max-width: 767px) {
	.nav__sublist-area-hidden {
		background-color: transparent;
		-webkit-transform: none;
		transform: none;
		padding-left: 0;
	}
}

.nav__sublist-area-inner {
	margin-left: auto;
	padding: 1.5em 0 1.5em;
}
@media screen and (max-width: 767px) {
	.nav__sublist-area-inner {
		padding: 0;
	}
}

.nav__sublist {
	display: flex;
	flex-wrap: wrap;
}
@media screen and (max-width: 1279px) {
	.nav__sublist {
		width: 43rem;
		justify-content: space-between;
	}
}
@media screen and (max-width: 767px) {
	.nav__sublist {
		display: block;
		width: auto;
	}
	.nav__sublist.nav__sublist--jp {
		margin-top: -0.2em;
	}
}

.nav__sublist-item {
	margin: 0.65em 8rem 0.65em 0;
	width: 18rem;
}

@media screen and (min-width: 768px) {
	.nav__sublist-item.nav__sublist-item--sp-nested {
		display: none;
	}
}

@media screen and (max-width: 1279px) {
	.nav__sublist-item {
		margin: 0.65em 0;
	}
}
@media screen and (max-width: 767px) {
	.nav__sublist-item {
		width: 100%;
		margin: 0;
		padding-bottom: 1.25em;
		border-bottom: 1px solid white;
	}
	.nav__sublist-item + .nav__sublist-item {
		margin-top: 1.25em;
	}
}

.nav__sublist-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	position: relative;
	padding-right: 0.5em;
	padding-bottom: 0.25em;
}
.nav__sublist-link:hover {
	cursor: pointer;
}
.nav__sublist-link:before {
	content: "";
	position: absolute;
	top: -10px;
	left: -10px;
	right: -10px;
	bottom: -10px;
}
.nav__sublist-link:after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	height: 1px;
	background-color: black;
	z-index: 2;
	width: 0;
	opacity: 0;
}
.nav__sublist-link:hover::after {
	transition: width 0.45s, opacity 0.45s;
	width: 100%;
	opacity: 1;
}
@media screen and (max-width: 767px) {
	.nav__sublist-link {
		padding-right: 1.5em;
		padding-left: 0.75em;
		padding-bottom: 0;
		border-bottom: none;
	}
}

.nav__sublist-inner {
	display: flex;
	width: 100%;
	height: 3em;
	align-items: center;
	position: relative;
	overflow: hidden;
}

html[lang="en"] .nav__sublist-inner {
	min-height: 3em;
	height: auto;
	line-height: 1.25;
	overflow: visible;
}

@media screen and (max-width: 767px) {
	.nav__sublist-inner {
		height: auto;
		color: white;
		overflow: visible;
	}
}

.nav__sublist-icon {
	display: flex;
	align-items: center;
	height: 100%;
	transition: -webkit-transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1),
		-webkit-transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
	will-change: auto;
}

html:not([lang="en"]) .nav__sublist-link:hover .nav__sublist-icon {
	-webkit-transform: translateY(-103%);
	transform: translateY(-103%);
}
@media screen and (max-width: 767px) {
	html:not([lang="en"]) .nav__sublist-link:hover .nav__sublist-icon {
		-webkit-transform: none;
		transform: none;
	}
}

@media screen and (max-width: 767px) {
	.nav__sublist-item.nav__sublist-item--sp-nested .nav__sublist-icon {
		margin-left: 0.2em;
	}
	.nav__sublist-item.nav__sublist-item--sp-nested .nav__sublist-icon::before {
		content: "";
		display: inline-block;
		width: 0.75em;
		height: 1em;
		margin-right: 0.5em;
		border-left: 1px solid currentColor;
		border-bottom: 1px solid currentColor;
		transform: translateY(-0.5em);
	}
}

.nav__sublist-text {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	-webkit-transform: translateY(103%);
	transform: translateY(103%);
	transition: -webkit-transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1),
		-webkit-transform 0.45s cubic-bezier(0.645, 0.045, 0.355, 1);
	will-change: auto;
	font-weight: 400;
}
@media screen and (max-width: 767px) {
	.nav__sublist-text {
		display: none;
	}
}

html[lang="en"] .nav__sublist-text {
	display: none;
}

.nav__sublist-text-inner {
	line-height: 1.5;
}

html:not([lang="en"]) .nav__sublist-link:hover .nav__sublist-text {
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
}

.nav__plus-icon {
	width: 1.25rem;
	height: 1.25rem;
	pointer-events: none;
}
.nav__link-icon > .nav__plus-icon {
	display: none;
}
@media screen and (max-width: 767px) {
	.nav__link-icon > .nav__plus-icon {
		display: block;
	}
}
@media screen and (max-width: 767px) {
	.nav__plus-icon {
		width: 13px;
		height: 13px;
		fill: white;
	}
}

.nav__sp-toyologo {
	display: none;
}
@media screen and (max-width: 767px) {
	.nav__sp-toyologo {
		background-color: #f0f0f0;
		display: flex;
		justify-content: center;
		align-items: center;
		padding-top: 1.5em;
		padding-bottom: 1.5em;
	}
}

@media screen and (max-width: 767px) {
	.nav__sp-toyologo-image {
		width: 13.2vw;
		margin-right: 1.25em;
	}
	.nav__sp-toyologo-text {
		font-weight: 500;
		line-height: 1.5;
	}
	html[lang="en"] .nav__sp-toyologo-text {
		font-size: 1.1rem;
	}
}
.page-cta {
	width: 100%;
	height: 30rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background-color: black;
	color: white;
}
@media screen and (max-width: 767px) {
	.page-cta {
		height: 66.6vw;
	}
}

.page-cta__title {
	width: 2.64rem;
}
.page-cta__title:after {
	content: "";
	display: block;
	width: 1.25em;
	height: 2px;
	margin-top: 1.5em;
	margin-right: auto;
	margin-bottom: 1em;
	margin-left: auto;
	background-color: white;
}
@media screen and (max-width: 767px) {
	.page-cta__title:after {
		margin-top: 1.25em;
		margin-bottom: 0.75em;
	}
}

.page-cta__lead {
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}

html[lang="en"] .page-cta__lead {
	display: none;
}

@media screen and (max-width: 767px) {
	.page-cta__lead {
		font-size: 1.3rem;
	}
}

.page-cta__title--top-contact {
	width: 12.2rem;
	text-align: center;
}
.page-cta__title--top-contact svg {
	width: 12.2rem;
	height: 2.75rem;
	fill: white;
}
@media screen and (max-width: 767px) {
	.page-cta__title--top-contact svg {
		width: 32.5vw;
		height: 7.32vw;
	}
}

.page-cta__link {
	margin-top: 2em;
}
@media screen and (max-width: 767px) {
	.page-cta__link {
		margin-top: 1.5em;
	}
	.page-cta__link .button {
		width: 61.6vw;
	}
}

.trans--to-up.lg {
	opacity: 0;
	-webkit-transform: translateY(100px);
	transform: translateY(100px);
	transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
		-webkit-transform 0.75s cubic-bezier(0.33, 1, 0.68, 1);
	transition: transform 0.75s cubic-bezier(0.33, 1, 0.68, 1),
		opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1);
	transition: transform 0.75s cubic-bezier(0.33, 1, 0.68, 1),
		opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
		-webkit-transform 0.75s cubic-bezier(0.33, 1, 0.68, 1);
	will-change: opacity, transform;
}
.ie11 .trans--to-up.lg,
.edge .trans--to-up.lg {
	-webkit-transform: translate3d(0, 100px, 0);
	transform: translate3d(0, 100px, 0);
}

.trans--to-up.md {
	opacity: 0;
	-webkit-transform: translateY(40px);
	transform: translateY(40px);
	transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
		-webkit-transform 0.75s cubic-bezier(0.33, 1, 0.68, 1);
	transition: transform 0.75s cubic-bezier(0.33, 1, 0.68, 1),
		opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1);
	transition: transform 0.75s cubic-bezier(0.33, 1, 0.68, 1),
		opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
		-webkit-transform 0.75s cubic-bezier(0.33, 1, 0.68, 1);
	will-change: opacity, transform;
}
.ie11 .trans--to-up.md,
.edge .trans--to-up.md {
	-webkit-transform: translate3d(0, 40px, 0);
	transform: translate3d(0, 40px, 0);
}

.trans--to-up.sm {
	opacity: 0;
	-webkit-transform: translateY(15px);
	transform: translateY(15px);
	transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
		-webkit-transform 0.75s cubic-bezier(0.33, 1, 0.68, 1);
	transition: transform 0.75s cubic-bezier(0.33, 1, 0.68, 1),
		opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1);
	transition: transform 0.75s cubic-bezier(0.33, 1, 0.68, 1),
		opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
		-webkit-transform 0.75s cubic-bezier(0.33, 1, 0.68, 1);
	will-change: opacity, transform;
}
.ie11 .trans--to-up.sm,
.edge .trans--to-up.sm {
	-webkit-transform: translate3d(0, 15px, 0);
	transform: translate3d(0, 15px, 0);
}

.waypoint.fvpc-anim-group .trans--to-up,
.waypoint.fvsp-anim-group .trans--to-up,
.waypoint.trans--to-up,
.waypoint.anim-group .trans--to-up,
.waypoint.anim-group01 .trans--to-up,
.waypoint.anim-group02 .trans--to-up,
.waypoint.anim-group03 .trans--to-up,
.waypoint.anim-group04 .trans--to-up,
.waypoint.anim-group05 .trans--to-up,
.waypoint.anim-group06 .trans--to-up,
.waypoint.anim-group07 .trans--to-up,
.waypoint.anim-group08 .trans--to-up,
.waypoint.anim-group09 .trans--to-up,
.waypoint.anim-group10 .trans--to-up {
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
.ie11 .waypoint.fvpc-anim-group .trans--to-up,
.edge .waypoint.fvpc-anim-group .trans--to-up,
.ie11 .waypoint.fvsp-anim-group .trans--to-up,
.edge .waypoint.fvsp-anim-group .trans--to-up,
.ie11 .waypoint.trans--to-up,
.edge .waypoint.trans--to-up,
.ie11 .waypoint.anim-group .trans--to-up,
.edge .waypoint.anim-group .trans--to-up,
.ie11 .waypoint.anim-group01 .trans--to-up,
.edge .waypoint.anim-group01 .trans--to-up,
.ie11 .waypoint.anim-group02 .trans--to-up,
.edge .waypoint.anim-group02 .trans--to-up,
.ie11 .waypoint.anim-group03 .trans--to-up,
.edge .waypoint.anim-group03 .trans--to-up,
.ie11 .waypoint.anim-group04 .trans--to-up,
.edge .waypoint.anim-group04 .trans--to-up,
.ie11 .waypoint.anim-group05 .trans--to-up,
.edge .waypoint.anim-group05 .trans--to-up,
.ie11 .waypoint.anim-group06 .trans--to-up,
.edge .waypoint.anim-group06 .trans--to-up,
.ie11 .waypoint.anim-group07 .trans--to-up,
.edge .waypoint.anim-group07 .trans--to-up,
.ie11 .waypoint.anim-group08 .trans--to-up,
.edge .waypoint.anim-group08 .trans--to-up,
.ie11 .waypoint.anim-group09 .trans--to-up,
.edge .waypoint.anim-group09 .trans--to-up,
.ie11 .waypoint.anim-group10 .trans--to-up,
.edge .waypoint.anim-group10 .trans--to-up {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.anim-group .trans--to-up:nth-child(1),
.fvpc-anim-group .trans--to-up:nth-child(1),
.fvsp-anim-group .trans--to-up:nth-child(1) {
	transition-delay: 0.25s;
}
.anim-group .trans--to-up:nth-child(2),
.fvpc-anim-group .trans--to-up:nth-child(2),
.fvsp-anim-group .trans--to-up:nth-child(2) {
	transition-delay: 0.5s;
}
.anim-group .trans--to-up:nth-child(3),
.fvpc-anim-group .trans--to-up:nth-child(3),
.fvsp-anim-group .trans--to-up:nth-child(3) {
	transition-delay: 0.75s;
}
.anim-group .trans--to-up:nth-child(4),
.fvpc-anim-group .trans--to-up:nth-child(4),
.fvsp-anim-group .trans--to-up:nth-child(4) {
	transition-delay: 1s;
}
.anim-group .trans--to-up:nth-child(5),
.fvpc-anim-group .trans--to-up:nth-child(5),
.fvsp-anim-group .trans--to-up:nth-child(5) {
	transition-delay: 1.25s;
}
.anim-group .trans--to-up:nth-child(6),
.fvpc-anim-group .trans--to-up:nth-child(6),
.fvsp-anim-group .trans--to-up:nth-child(6) {
	transition-delay: 1.5s;
}
.anim-group .trans--to-up:nth-child(7),
.fvpc-anim-group .trans--to-up:nth-child(7),
.fvsp-anim-group .trans--to-up:nth-child(7) {
	transition-delay: 1.75s;
}
.anim-group .trans--to-up:nth-child(8),
.fvpc-anim-group .trans--to-up:nth-child(8),
.fvsp-anim-group .trans--to-up:nth-child(8) {
	transition-delay: 2s;
}
.anim-group .trans--to-up:nth-child(9),
.fvpc-anim-group .trans--to-up:nth-child(9),
.fvsp-anim-group .trans--to-up:nth-child(9) {
	transition-delay: 2.25s;
}
.anim-group .trans--to-up:nth-child(10),
.fvpc-anim-group .trans--to-up:nth-child(10),
.fvsp-anim-group .trans--to-up:nth-child(10) {
	transition-delay: 2.5s;
}
.anim-group .trans--to-up:nth-child(11),
.fvpc-anim-group .trans--to-up:nth-child(11),
.fvsp-anim-group .trans--to-up:nth-child(11) {
	transition-delay: 2.75s;
}
.anim-group .trans--to-up:nth-child(12),
.fvpc-anim-group .trans--to-up:nth-child(12),
.fvsp-anim-group .trans--to-up:nth-child(12) {
	transition-delay: 3s;
}
.anim-group .trans--to-up:nth-child(13),
.fvpc-anim-group .trans--to-up:nth-child(13),
.fvsp-anim-group .trans--to-up:nth-child(13) {
	transition-delay: 3.25s;
}
.anim-group .trans--to-up:nth-child(14),
.fvpc-anim-group .trans--to-up:nth-child(14),
.fvsp-anim-group .trans--to-up:nth-child(14) {
	transition-delay: 3.5s;
}
.anim-group .trans--to-up:nth-child(15),
.fvpc-anim-group .trans--to-up:nth-child(15),
.fvsp-anim-group .trans--to-up:nth-child(15) {
	transition-delay: 3.75s;
}
.anim-group .trans--to-up:nth-child(16),
.fvpc-anim-group .trans--to-up:nth-child(16),
.fvsp-anim-group .trans--to-up:nth-child(16) {
	transition-delay: 4s;
}

.slide-cover-wrap {
	overflow: hidden;
}

.slide-cover {
	display: block;
	width: 100%;
	height: 100%;
	-webkit-transform: translate3d(0, -103%, 0);
	transform: translate3d(0, -103%, 0);
	overflow: hidden;
	position: relative;
	transition: -webkit-transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1),
		-webkit-transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
	will-change: transform;
}

.waypoint .slide-cover {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slide-cover::before {
	content: "";
	display: block;
	z-index: 99;
	position: absolute;
	left: 0;
	top: -1%;
	width: 100%;
	height: 103%;
	background-color: black;
	-webkit-transform-origin: center bottom;
	transform-origin: center bottom;
	-webkit-transform: translate3d(0, 0, 0) scaleY(1);
	transform: translate3d(0, 0, 0) scaleY(1);
	transition: -webkit-transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
	transition: transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1),
		-webkit-transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
	will-change: transform;
}

.message__title .slide-cover {
	padding: 3rem;
	background-color: rgba(255, 255, 255, 0.8);
}

@media screen and (max-width: 767px) {
	.message__title .slide-cover {
		padding: 0;
		background-color: unset;
	}
}

/* each page
========================================================================== */
.waypoint .slide-cover::before {
	-webkit-transform: translate3d(0, 0, 0) scaleY(0);
	transform: translate3d(0, 0, 0) scaleY(0);
}

.message .scene-1 .slide-cover {
	transition-delay: 0s;
}
.message .scene-1 .slide-cover:before {
	transition-delay: 0.6s;
}
.message .scene-2 .slide-cover {
	transition-delay: 0.725s;
}
.message .scene-2 .slide-cover:before {
	transition-delay: 1.25s;
}

.foundingspirit .scene-1 .slide-cover {
	transition-delay: 0s;
}
.foundingspirit .scene-1 .slide-cover:before {
	transition-delay: 0.6s;
}
.foundingspirit .scene-2 .slide-cover {
	transition-delay: 0.725s;
}
.foundingspirit .scene-2 .slide-cover:before {
	transition-delay: 1.25s;
}

.brand .scene-1 .slide-cover {
	transition-delay: 0s;
}
.brand .scene-1 .slide-cover:before {
	transition-delay: 0.6s;
}
.brand .scene-2 .slide-cover {
	transition-delay: 0s;
}
.brand .scene-2 .slide-cover:before {
	transition-delay: 0.6s;
}

.dtoc .scene-1 .slide-cover {
	transition-delay: 0s;
}
.dtoc .scene-1 .slide-cover:before {
	transition-delay: 0.6s;
}
.dtoc .scene-1 .slide-cover {
	transition-delay: 0s;
}
.dtoc .scene-1 .slide-cover:before {
	transition-delay: 0.6s;
}

.medical_support .scene-1 .slide-cover {
	transition-delay: 0s;
}
.medical_support .scene-1 .slide-cover:before {
	transition-delay: 0.6s;
}
.medical_support .scene-1 .slide-cover {
	transition-delay: 0s;
}
.medical_support .scene-1 .slide-cover:before {
	transition-delay: 0.6s;
}

/* each sub page common */
/* subpage-hero
   ========================================================================== */
.subpage-hero {
	position: relative;
	height: 80rem;
	display: flex;
	align-items: center;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
	.subpage-hero {
		height: 100vh;
	}
}

.subpage-hero__bg {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
}

.subpage-hero__bg-image {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.page-header {
	padding-top: 8.8rem;
}
@media screen and (max-width: 767px) {
	.page-header {
		padding-top: 13vw;
	}
}
.page-header.page-header--full-bg {
	padding-top: 0;
	width: 100rem;
	margin-right: auto;
	margin-left: auto;
	color: white;
}
.page-header.page-header--full-bg svg {
	fill: white;
}

.page-header__category {
	display: flex;
	align-items: center;
	font-size: 2rem;
}
.page-header__category:after {
	content: "";
	display: inline-block;
	width: 15rem;
	height: 1px;
	margin-left: 0.75em;
	background-color: #999;
}
.page-header.page-header--full-bg .page-header__category:after {
	background-color: white;
}
@media screen and (max-width: 767px) {
	.page-header__category:after {
		width: 20vw;
	}
}
@media screen and (max-width: 767px) {
	.page-header__category {
		padding-left: 4.7vw;
	}
}

.page-header__category--about {
	width: 5.6rem;
	height: 1.9rem;
}
@media screen and (max-width: 767px) {
	.page-header__category--about {
		width: 11vw;
		height: 3.6vw;
	}
}

.page-header__category--service {
	width: 6.5rem;
	height: 1.9rem;
}
@media screen and (max-width: 767px) {
	.page-header__category--service {
		width: 12.9vw;
		height: 3.14vw;
	}
}

.page-header__category--news {
	width: 5.2rem !important;
	height: 1.9rem;
}
@media screen and (max-width: 767px) {
	.page-header__category--news {
		width: 10.23vw !important;
		height: 3.14vw;
	}
}

.page-header__category--irnews {
	width: 7.3rem !important;
	height: 1.9rem;
}
@media screen and (max-width: 767px) {
	.page-header__category--irnews {
		width: 15vw !important;
		height: 3.14vw;
	}
}

.page-header__title-heading {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 3rem;
	margin-top: 8rem;
	padding-right: 1em;
	padding-left: 1em;
	background-color: black;
}
@media screen and (max-width: 767px) {
	.page-header__title-heading {
		margin-top: 13.6vw;
		height: 5.4vw;
		margin-left: 4.7vw;
		padding-right: 0.35em;
		padding-left: 0.35em;
	}
}
.page-header__title-heading svg {
	fill: white;
}

.page-header__title-heading--new-service {
	width: 9.7rem;
	height: 1.4rem;
}
@media screen and (max-width: 767px) {
	.page-header__title-heading--new-service {
		width: 19.1vw;
		height: 2.7vw;
	}
}

.page-header__title {
	display: flex;
	align-items: center;
	min-height: 6rem;
	margin-top: 8rem;
}

html[lang="en"] .page-header__title {
	line-height: 1.4;
}

@media screen and (max-width: 767px) {
	.page-header__title {
		min-height: 11.2vw;
		margin-top: 13.6vw;
		padding-left: 4.7vw;
	}
}
.page-header__title-heading + .page-header__title {
	margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
	.page-header__title-heading + .page-header__title {
		margin-top: 5.8vw;
	}
}

.page-header__title--products {
	width: 15rem;
	height: 3.6rem;
}
@media screen and (max-width: 767px) {
	.page-header__title--products {
		width: 35.2vw;
		height: 8.3vw;
	}
}

.page-header__title--topmessage {
	width: 24.2rem;
	height: 4.6rem;
}
@media screen and (max-width: 767px) {
	.page-header__title--topmessage {
		width: 56.26vw;
		height: 9.84vw;
	}
}

.page-header__title--foundingspirit {
	width: 29.2rem;
	height: 5.6rem;
}
@media screen and (max-width: 767px) {
	.page-header__title--foundingspirit {
		width: 56.26vw;
		height: 9.84vw;
	}
}

.page-header__title--profile {
	width: 31.8rem;
	height: 5.4rem;
}
@media screen and (max-width: 767px) {
	.page-header__title--profile {
		width: 73.6vw;
		height: 11.4vw;
	}
}

.page-header__title--boardmember {
	width: 27rem;
	height: 3.7rem;
}
@media screen and (max-width: 767px) {
	.page-header__title--boardmember {
		width: 63.6vw;
		height: 8.24vw;
	}
}

.page-header__title--philosophy {
	width: 19.6rem;
	height: 4.5rem;
}
@media screen and (max-width: 767px) {
	.page-header__title--philosophy {
		width: 45.86vw;
		height: 12vw;
	}
}

.page-header__title--branddevelopment {
	width: 35.4rem;
	height: 4.5rem;
	display: block;
}
@media screen and (max-width: 767px) {
	.page-header__title--branddevelopment {
		display: none;
	}
}

.page-header__title--branddevelopment-sp {
	display: none;
}
@media screen and (max-width: 767px) {
	.page-header__title--branddevelopment-sp {
		display: block;
		width: 54vw;
		height: 22.6vw;
	}
}

.page-header__title--dtoc {
	width: 8rem;
	display: block;
}
@media screen and (max-width: 767px) {
	.page-header__title--dtoc {
		width: 17vw;
		-webkit-transform: translateX(-1%);
		transform: translateX(-1%);
	}
}

.page-header__title--medical-support {
	width: 30.5rem;
	display: block;
}
@media screen and (max-width: 767px) {
	.page-header__title--medical-support {
		width: 71vw;
	}
}

.page-header__title--sitemap {
	width: 16.4rem;
	height: 4.2rem;
	display: block;
}
@media screen and (max-width: 767px) {
	.page-header__title--sitemap {
		width: 37.86vw;
		height: 9.8vw;
	}
}

.page-header__title--privacy {
	width: 25.3rem;
	height: 4.35rem;
	display: block;
}
@media screen and (max-width: 767px) {
	.page-header__title--privacy {
		width: 53vw;
		height: 9.6vw;
	}
}

.page-header__title--security-policy {
	width: 27rem !important;
	height: 4.4rem;
	display: block;
}
@media screen and (max-width: 767px) {
	.page-header__title--security-policy {
		width: 57vw !important;
		height: 9.6vw;
	}
}

.page-header__title--contact {
	width: 13.9rem;
	height: 3.2rem;
	display: block;
}
@media screen and (max-width: 767px) {
	.page-header__title--contact {
		width: 32.5vw;
		height: 7.3vw;
	}
}

.page-header__title--news-index {
	width: 23.3rem !important;
	display: block;
}
@media screen and (max-width: 767px) {
	.page-header__title--news-index {
		width: 55.5vw !important;
	}
}

.page-header__title--irnews-index {
	width: 28.1rem !important;
	display: block;
}
@media screen and (max-width: 767px) {
	.page-header__title--irnews-index {
		width: 66.6vw !important;
	}
}

.page-header__title-jp {
	margin-top: 0.75em;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}

html[lang="en"] .page-header__title-jp {
	display: none;
}

@media screen and (max-width: 767px) {
	.page-header__title-jp {
		padding-left: 4.7vw !important;
		font-size: 1.4rem;
		font-weight: 500;
	}
}

.section {
	position: relative;
}

.section__inner {
	padding-top: 13.5rem;
	padding-right: 3rem;
	padding-bottom: 13.5rem;
	padding-left: 3rem;
	position: relative;
}
@media screen and (max-width: 767px) {
	.section__inner {
		padding-top: 26.8vw;
		padding-right: 10vw;
		padding-bottom: 22.4vw;
		padding-left: 10vw;
	}
}
.section--top-service + .section--top-recruit .section__inner {
	padding-top: 0;
}
.section__inner.section__inner--top-news {
	padding-top: 0;
}

.section__inner-bg {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}

.section + .section {
	padding-top: 0;
}

.section__header {
	text-align: center;
}

.section-headding {
	text-align: center;
}

.section__header + .section__body {
	margin-top: 2.4em;
}

.section__body {
	text-align: center;
}

.section__title {
	margin-right: auto;
	margin-left: auto;
}

.section-headding__title {
	margin-right: auto;
	margin-left: auto;
}

.section__inner-bg-container {
	position: absolute;
	width: 100%;
}

.section-headding__title--philosophy {
	width: 20.7rem;
}
@media screen and (max-width: 767px) {
	.section-headding__title--philosophy {
		width: 34.5vw;
	}
}

.section-headding__title--mission {
	width: 14.4rem;
}
@media screen and (max-width: 767px) {
	.section-headding__title--mission {
		width: 24vw;
	}
}

.section-headding__title--vision {
	width: 11.7rem;
}
@media screen and (max-width: 767px) {
	.section-headding__title--vision {
		width: 19.6vw;
	}
}

.section-headding__title--principle {
	width: 15.8rem;
}
@media screen and (max-width: 767px) {
	.section-headding__title--principle {
		width: 27.6vw;
	}
}

.section-headding__title--corpolateidentity {
	width: 34rem;
}
@media screen and (max-width: 767px) {
	.section-headding__title--corpolateidentity {
		width: 59.6vw;
	}
}

.section__title--after-border:after {
	content: "";
	display: block;
	width: 1.25em;
	height: 2px;
	margin-top: 1.5em;
	margin-right: auto;
	margin-left: auto;
	background-color: black;
}

.section__lead {
	margin-top: 0.75em;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	font-weight: 400;
}

html[lang="en"] body.index .section__lead {
	display: none;
}

.section__title--after-border .section__lead {
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	.section__lead {
		font-size: inherit;
	}
}

.section-headding__lead {
	margin-top: 0.5em;
	font-size: 1.6rem;
	font-weight: 400;
}

html[lang="en"] .section-headding__lead {
	display: none;
}

.section__title--after-border .section-headding__lead {
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	.section-headding__lead {
		font-size: 1.1rem;
	}
}

.section__text {
	line-height: 2.33;
}

html[lang="ja"] .section__text {
	text-align: justify;
	text-justify: inter-ideograph;
}

@media screen and (max-width: 767px) {
	.section__text {
		font-size: inherit;
	}
}

.section__text-ruby rt {
	/* display: inline-block; */
	--letter-spacing: 1em;
	transform: translateX(calc(var(--letter-spacing) / 2));
	vertical-align: 0.5em;
	text-align: center;
	font-size: 0.5em;
	white-space: nowrap;
}

html[lang="ja"] .section__text-ruby rt {
	letter-spacing: var(--letter-spacing);
}

html[lang="en"] .section__text-ruby rt {
	vertical-align: 1em;
}

html.firefox .section__text-ruby rt {
	ruby-align: center;
}

.section__text--center {
	text-align: center !important;
}

.section__text--xl {
	font-size: 2.3rem;
	font-weight: 400;
	line-height: 2.39;
	letter-spacing: 0.1em;
}

html[lang="en"] .section__text--xl {
	letter-spacing: 0.05em;
	font-size: 2.2rem;
}

@media screen and (max-width: 767px) {
	.section__text--xl {
		font-size: inherit;
	}
	html[lang="en"] .section__text--xl {
		font-size: 1.2rem;
	}
}

.section__text--xxl {
	font-size: 2.8rem;
	font-weight: 400;
	line-height: 1.79;
	letter-spacing: 0.1em;
}

html[lang="en"] .section__text--xxl {
	letter-spacing: 0.05em;
	font-size: 2.6rem;
}

@media screen and (max-width: 767px) {
	.section__text--xxl {
		font-size: 1.5rem;
		line-height: 2;
	}
	html[lang="en"] .section__text--xxl {
		font-size: 1.5rem;
	}
}

.pd5-wrapper {
	padding-right: 5rem;
	padding-left: 5rem;
}
@media screen and (max-width: 767px) {
	.pd5-wrapper {
		padding-right: 6.6vw;
		padding-left: 6.6vw;
	}
}

.w100-wrapper {
	width: 100rem;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 1023px) {
	.w100-wrapper {
		width: 100%;
	}
}

.over-parrent-wrapper {
	width: 100vw;
	margin-right: calc((100vw - 100%) / 2 * -1);
	margin-left: calc((100vw - 100%) / 2 * -1);
}

@media screen and (max-width: 767px) {
	.over-parrent-wrapper--sp {
		margin-right: calc((100vw - 100%) / 2 * -1);
		margin-left: calc((100vw - 100%) / 2 * -1);
	}
}

.dtoc-section-media__item {
	display: flex;
}

.dtoc-section-media__photo {
	width: 50%;
}

.dtoc-section-media__body {
	width: 83rem;
}

.pankuzu {
	height: 7rem;
	background-color: white;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
	.pankuzu {
		height: 13.33vw;
	}
}
.brand-main .pankuzu {
	margin-top: 4rem;
}
.dtoc-main .pankuzu {
	margin-top: 12rem;
}
.philosophy .pankuzu {
	margin-top: 20rem;
}
@media screen and (max-width: 767px) {
	.dtoc-main .pankuzu {
		margin-top: 8rem;
	}
}
.products-main .pankuzu {
	margin-top: 8rem;
}
@media screen and (max-width: 767px) {
	.products-main .pankuzu {
		margin-top: 6rem;
	}
}

.pankuzu__list {
	width: 100rem;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	align-items: center;
	height: 100%;
}
@media screen and (max-width: 767px) {
	.pankuzu__list {
		width: 100%;
		padding-left: 6.4vw;
	}
}

.pankuzu__list-item {
	font-size: 1.6rem;
	color: #333;
}
.pankuzu__list-item + .pankuzu__list-item {
	margin-left: 1em;
}
.pankuzu__list-item + .pankuzu__list-item:before {
	content: "＞";
	margin-right: 1em;
}
@media screen and (max-width: 767px) {
	.pankuzu__list-item {
		font-size: 1.1rem;
	}
}
.pankuzu__list-item a {
	transition: opacity 0.25s;
}
.pankuzu__list-item a:hover {
	opacity: 0.8;
}

@media only screen and (min-width: 768px) {
	.pankuzu__list {
		position: relative;
	}
}
/* top*/
/* hero
   ========================================================================== */
.hero {
	position: relative;
	height: 100vh;
	height: 100svh;
	overflow: hidden;
}

.hero__title {
	position: absolute;
	bottom: calc(56 / 1400 * 100vw);
	left: 6.4vw;
	z-index: 2;
	filter: drop-shadow(0 0 5px black);
}

html:not([lang="ja"]) .hero__title {
	bottom: calc(60 / 1400 * 100vw);
}

@media screen and (max-width: 767px) {
	.hero__title {
		bottom: calc(56 / 750 * 100vw);
		left: 7.2vw;
	}
	html:not([lang="ja"]) .hero__title {
		bottom: calc(132 / 1400 * 100vw);
	}
}

.hero__title-jp {
	display: block;
	width: calc(456 / 1400 * 100vw);
}

html:not([lang="ja"]) .hero__title-jp {
	display: none;
}

@media screen and (max-width: 767px) {
	.hero__title-jp {
		width: calc(491 / 750 * 100vw);
	}
}

.hero__title-en {
	display: block;
	margin-top: calc(30 / 1400 * 100vw);
	width: calc(299 / 1400 * 100vw);
}

html:not([lang="ja"]) .hero__title-en {
	margin-top: 0;
	width: calc(400 / 1400 * 100vw);
}

@media screen and (max-width: 767px) {
	.hero__title-en {
		margin-top: calc(48 / 750 * 100vw);
		width: calc(439 / 750 * 100vw);
	}
	html:not([lang="ja"]) .hero__title-en {
		margin-top: 0;
		width: calc(516 / 750 * 100vw);
	}
}

.hero__scroll {
	overflow: hidden;
	position: absolute;
	right: 4.2rem;
	bottom: 2.6rem;
	z-index: 2;
}
@media screen and (max-width: 767px) {
	.hero__scroll {
		right: 7.2vw;
	}
}

.hero__scroll-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 100%;
}

.hero__scroll-image {
	width: 1.3rem;
	height: 4.2rem;
	fill: white;
}
@media screen and (max-width: 767px) {
	.hero__scroll-image {
		width: 2.8vw;
		height: 8.75vw;
	}
}

.hero__scroll-arrow-image {
	margin-top: 0.75em;
	width: 1.2rem;
	height: 6.2rem;
	fill: white;
}
@media screen and (max-width: 767px) {
	.hero__scroll-arrow-image {
		width: 2.4vw;
		height: 9.97vw;
	}
}

.hero__bg {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}
.hero__bg video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.hero__bg::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		0deg,
		rgb(215, 210, 217) 0%,
		rgba(215, 210, 217, 0) 27%
	);
	mix-blend-mode: multiply;
}
.hero__bg::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		180deg,
		rgb(215, 210, 217) 0%,
		rgba(215, 210, 217, 0) 27%
	);
	mix-blend-mode: multiply;
}

.hero__bg-sp-slide {
	display: none;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 767px) {
	.hero__bg-sp-slide {
		display: block;
	}
}

.hero__bg-sp-slide-item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
	transition: -webkit-transform 6.5s linear;
	transition: transform 6.5s linear;
	transition: transform 6.5s linear, -webkit-transform 6.5s linear;
}
@media screen and (max-width: 767px) {
	.hero__bg-sp-slide-item {
		-webkit-transform: scale(1.4);
		transform: scale(1.4);
	}
}
.hero__bg-sp-slide-item.--scale-animation {
	-webkit-transform: scale(1);
	transform: scale(1);
}
.hero__bg-sp-slide-item img {
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.index .section {
	background-color: white;
}

.section--top-about .section__inner {
	padding-top: 7.2rem;
	padding-bottom: 7.2rem;
	padding-bottom: 4.8rem;
	background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
	.section--top-about .section__inner {
		padding-top: 4.8em;
		padding-bottom: 4.8em;
	}
}

@media screen and (max-width: 767px) {
	.section--top-about .section__inner-bg {
		display: none;
	}
}

.section--top-about .section__inner-bg-sp-top {
	display: none;
}
@media screen and (max-width: 767px) {
	.section--top-about .section__inner-bg-sp-top {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
	}
}

.section--top-about .section__inner-bg-sp-bottom {
	display: none;
}
@media screen and (max-width: 767px) {
	.section--top-about .section__inner-bg-sp-bottom {
		position: absolute;
		bottom: 0;
		left: 0;
		display: block;
	}
}

@media screen and (max-width: 767px) {
	.section--top-service .section__inner {
		padding-top: 38vw;
		padding-right: 10vw;
		padding-bottom: 40vw;
		padding-left: 10vw;
	}
}

.section--top-ir .section__inner {
	padding-top: 9.6rem;
	padding-bottom: 9.6rem;
}
@media screen and (max-width: 767px) {
	.section--top-ir .section__inner {
		padding-top: 8.2vw;
		padding-bottom: 8.2vw;
	}
}

.section--top-recruit .section__inner {
	padding-top: 4rem;
	padding-bottom: 0;
}
@media screen and (max-width: 767px) {
	.section--top-recruit .section__inner {
		padding-top: 5vw;
		padding-right: 10vw;
		padding-bottom: 26vw;
		padding-left: 10vw;
	}
}

.section__title-top-ourmission svg {
	width: 27.9rem;
	height: 3.9rem;
}
@media screen and (max-width: 767px) {
	.section__title-top-ourmission svg {
		width: 52.1vw;
		height: 7.19vw;
	}
}

.section__title-top-about svg {
	width: 13.8rem;
	height: 4.6rem;
}
@media screen and (max-width: 767px) {
	.section__title-top-about svg {
		width: 25.86vw;
		height: 8.275vw;
	}
}

.section__title-top-service svg {
	width: 16.2rem;
	height: 4rem;
}
@media screen and (max-width: 767px) {
	.section__title-top-service svg {
		width: 30.2vw;
	}
}

.section--top-ourmission .secton__text {
	font-size: 1.6rem;
	line-height: 2.33;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.section--top-ourmission .secton__text {
		font-size: inherit;
		letter-spacing: 0.085em;
	}
}

.section--top-ourmission .section__footer {
	padding-top: 3.8em;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.section--top-ourmission .section__footer {
		padding-top: 3em;
	}
}

.section--top-service .section__inner {
	padding-top: 8rem;
}
@media screen and (max-width: 767px) {
	.section--top-service .section__inner {
		padding-top: 10vw;
	}
}

.section__title-top-products svg {
	width: 18.8rem;
	height: 4.4rem;
}
@media screen and (max-width: 767px) {
	.section__title-top-products svg {
		width: 35.2vw;
		height: 8.25vw;
	}
}

.section--top-products .section__footer {
	padding-top: 3.8em;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.section--top-products .section__footer {
		padding-top: 3em;
	}
}

.to-top-wrap {
	width: 100%;
	position: relative;
	display: flex;
}
.index .to-top-wrap {
	background-color: white;
}

.to-top {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 2.5em;
	margin-right: 4.2rem;
	margin-bottom: 2.5em;
	margin-left: auto;
	position: relative;
}
@media screen and (max-width: 767px) {
	.to-top {
		width: 100%;
		height: 20vw;
		margin: 0;
		justify-content: center;
		background-color: #f5f5f5;
		position: relative;
	}
}
.to-top:after {
	content: "";
	position: absolute;
	top: -10px;
	right: -10px;
	bottom: -10px;
	left: -10px;
}
@media screen and (max-width: 767px) {
	.to-top:after {
		content: none;
	}
}
.to-top:hover {
	transition: opacity 0.25s;
	opacity: 0.8;
}

.to-top-image {
	width: 1.6rem;
	height: 6rem;
	fill: black;
}
@media screen and (max-width: 767px) {
	.to-top-image {
		display: none;
	}
}

.to-top-image-sp {
	display: none;
}
@media screen and (max-width: 767px) {
	.to-top-image-sp {
		display: block;
		width: 12.47vw;
		height: 3.4vw;
	}
}

.to-top-arrow-image {
	margin-bottom: 0.75em;
	width: 1.2rem;
	height: 6.2rem;
	fill: black;
}
@media screen and (max-width: 767px) {
	.to-top-arrow-image {
		display: none;
	}
}

.to-top-arrow-image-sp {
	display: none;
}
@media screen and (max-width: 767px) {
	.to-top-arrow-image-sp {
		display: block;
		position: absolute;
		right: 7.7vw;
		width: 2.48vw;
		height: 6.2vw;
		margin-bottom: 0;
		fill: black;
	}
}

/* service-slider
   ========================================================================== */
.service-slider {
	max-width: 141rem;
	margin-top: 4.6rem;
	margin-right: auto;
	margin-left: auto;
	box-sizing: content-box;
	padding-right: 5.5rem;
	padding-left: 5.5rem;
}
@media screen and (max-width: 1113px) {
	.service-slider {
		padding-right: 2.4rem;
		padding-left: 2.4rem;
	}
}
@media screen and (max-width: 1023px) {
	.service-slider {
		padding-right: 0;
		padding-left: 0;
	}
}
@media screen and (max-width: 767px) {
	.service-slider {
		width: 100vw;
		margin-top: 5rem;
		-webkit-transform: none;
		transform: none;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
	}
}
@media screen and (max-width: 767px) {
	.service-slider .swiper-slide {
		height: auto;
	}
}
.service-slider .swiper-pagination {
	position: absolute !important;
	left: auto !important;
	right: 98.7rem !important;
	bottom: 1.6rem !important;
	z-index: 8;
	width: -webkit-fit-content !important;
	width: -moz-fit-content !important;
	width: fit-content !important;
}
@media screen and (max-width: 1365px) {
	.service-slider .swiper-pagination {
		right: 82.2rem !important;
	}
}
@media screen and (max-width: 1023px) {
	.service-slider .swiper-pagination {
		right: 58rem !important;
	}
}
@media screen and (max-width: 767px) {
	.service-slider .swiper-pagination {
		bottom: 0 !important;
		right: auto !important;
		left: 50% !important;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
}
.service-slider .swiper-pagination-bullet {
	margin: 0 0.85rem !important;
	background-color: transparent !important;
	border: 1px solid currentColor !important;
	opacity: 1 !important;
}
.service-slider .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: currentColor !important;
}
.service-slider .swiper-button-prev,
.service-slider .swiper-button-next {
	top: 50% !important;
	width: auto !important;
	height: auto !important;
	opacity: 1;
	transition: opacity 0.25s ease-out;
}
.service-slider .swiper-button-prev:hover,
.service-slider .swiper-button-next:hover {
	opacity: 0.65;
}
@media screen and (max-width: 767px) {
	.service-slider .swiper-button-prev,
	.service-slider .swiper-button-next {
		top: auto !important;
		bottom: 45vw;
		display: block;
		width: 10.53% !important;
		height: auto !important;
		margin-top: 0 !important;
	}
}
.service-slider .swiper-button-prev:after,
.service-slider .swiper-button-next:after {
	content: "";
	display: block !important;
	width: 4rem;
	height: 4rem;
	border-right: 1px solid black;
	border-bottom: 1px solid black;
}
@media screen and (max-width: 767px) {
	.service-slider .swiper-button-prev:after,
	.service-slider .swiper-button-next:after {
		width: 1.4rem;
		height: 1.4rem;
		border-right: 2px solid black;
		border-bottom: 2px solid black;
	}
}
.service-slider .swiper-button-prev:before,
.service-slider .swiper-button-next:before {
	content: "";
	position: absolute;
	top: -1em;
	right: -1em;
	bottom: -1em;
	left: -1em;
}
.service-slider .swiper-button-prev {
	left: 1rem;
}
@media screen and (max-width: 767px) {
	.service-slider .swiper-button-prev {
		left: 1.8rem;
	}
}
.service-slider .swiper-button-prev:after {
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.service-slider .swiper-button-next {
	right: 1rem;
}
.service-slider .swiper-button-next:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
	.service-slider .swiper-button-next {
		right: 0.25rem;
	}
}

.swiper-button-image {
	display: none;
}
@media screen and (max-width: 767px) {
	.swiper-button-image {
		display: block;
	}
}

.service-slider__item {
	position: relative;
	display: block;
}
@media screen and (max-width: 767px) {
	.service-slider__item {
		height: 100%;
		padding-bottom: 18vw;
		pointer-events: none;
	}
	.service-slider__item a {
		pointer-events: auto;
	}
}

.service-slider__header {
	position: absolute;
	z-index: 1;
	top: 11.6rem;
	left: 14.6rem;
}
@media screen and (max-width: 1365px) {
	.service-slider__header {
		top: 45%;
		left: 10.6rem;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 1023px) {
	.service-slider__header {
		left: 7.2rem;
	}
}
@media screen and (max-width: 767px) {
	.service-slider__header {
		-webkit-transform: none;
		transform: none;
		position: static;
	}
}

@media screen and (max-width: 767px) {
	.service-slider__title {
		text-align: center;
	}
}
.service-slider__title > span {
	display: block;
}

@media screen and (max-width: 767px) {
	.service-slider__title-lg {
		margin-right: auto;
		margin-left: auto;
	}
}
.service-slider__title-lg.service-slider__title-lg--medical-support {
	width: 30.6rem;
}
@media screen and (max-width: 767px) {
	.service-slider__title-lg.service-slider__title-lg--medical-support {
		width: 61vw;
	}
}
.service-slider__title-lg.service-slider__title-lg--d2c {
	width: 7.6rem;
}
@media screen and (max-width: 767px) {
	.service-slider__title-lg.service-slider__title-lg--d2c {
		width: 15vw;
		margin-right: auto;
		margin-left: auto;
	}
}

.service-slider__title-sm {
	margin-top: 0.65em;
	line-height: 1.6;
	font-size: 1.6rem;
	font-weight: 500;
}
@media screen and (max-width: 1023px) {
	.service-slider__title-sm {
		margin-top: 0.75em;
		font-size: 1.1rem;
	}
}

.service-slider__lead {
	margin-top: 2em;
	line-height: 2.15;
	font-size: 2rem;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
	.service-slider__lead {
		margin-top: 1.5em;
		line-height: 1.8;
		font-size: 1.68rem;
	}
}
@media screen and (max-width: 767px) {
	.service-slider__lead {
		margin-top: 2em;
		margin-bottom: 2em;
		line-height: 2;
		font-size: inherit;
		text-align: center;
	}
	html[lang="en"] .service-slider__lead {
		font-size: inherit;
		letter-spacing: 0.025em;
		padding-right: 1.5em;
		padding-left: 1.5em;
	}
	html[lang="en"] .service-slider__lead br {
		display: none;
	}
}

.service-slider__image {
	position: relative;
	z-index: -1;
	width: 86.5rem;
	margin-left: auto;
	margin-right: 10.6rem;
	overflow: hidden;
	aspect-ratio: 865/501;
}
@media screen and (max-width: 1365px) {
	.service-slider__image {
		width: 70rem;
	}
}
@media screen and (max-width: 1023px) {
	.service-slider__image {
		width: 50rem;
		margin-right: 6.4rem;
	}
}
@media screen and (max-width: 767px) {
	.service-slider__image {
		width: 100%;
		aspect-ratio: 750/434;
	}
}
.service-slider__image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: -webkit-transform 0.5s ease-out;
	transition: transform 0.5s ease-out;
	transition: transform 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
a:hover .service-slider__image img {
	-webkit-transform: scale(1.085);
	transform: scale(1.085);
}

.service-slider__link {
	position: absolute;
	bottom: 3.2rem;
	right: 13.8rem;
}
@media screen and (max-width: 1023px) {
	.service-slider__link {
		right: 8.7rem;
	}
}
@media screen and (max-width: 767px) {
	.service-slider__link {
		width: 100%;
		bottom: 5vw;
		left: 0;
		right: auto;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		text-align: center;
	}
}
.service-slider__link .button {
	width: 22.1rem;
}
@media screen and (max-width: 767px) {
	.service-slider__link .button {
		width: 62vw;
	}
}
.service-slider__link .button.button.button--border {
	background-color: white;
}

.card-grid {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 93rem;
	margin-top: 1.2rem;
	margin-right: auto;
	margin-left: auto;
	margin-top: 0;
	-webkit-transform: scale(0.85);
	transform: scale(0.85);
}
@media screen and (max-width: 1023px) {
	.card-grid {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.card-grid {
		-webkit-transform: none;
		transform: none;
		display: block;
		width: 100%;
		margin-top: 2.4em;
	}
}

.card-grid__item {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 45rem;
	height: 21.2rem;
	background-color: white;
	margin: 1.5rem 0;
	-webkit-filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.1));
	filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.1));
}
@media screen and (max-width: 1023px) {
	.card-grid__item {
		width: 48.4%;
	}
}
@media screen and (max-width: 767px) {
	.card-grid__item {
		width: 100%;
		height: 53.33vw;
		margin: 2.4rem 0;
	}
}

.card-grid__title {
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	.card-grid__title:after {
		content: "";
		display: block;
		margin-right: auto;
		margin-left: auto;
		width: 1.5em;
		height: 1px;
		background-color: black;
		margin-top: 0.75em;
		margin-bottom: 0.75em;
	}
}
@media screen and (max-width: 767px) {
	.card-grid__title {
		margin: auto;
		margin-bottom: 1em;
	}
}

.card-grid__title--tomessage {
	text-align: center;
}

.card-grid__title--tomessage {
	text-align: center;
}
.card-grid__title--tomessage svg {
	width: 18rem;
	height: 3.3rem;
}
@media screen and (max-width: 767px) {
	.card-grid__title--tomessage svg {
		width: 40vw;
		height: 8vw;
	}
	.card-grid__title--tomessage svg use {
		height: 10vw;
	}
}

.card-grid__title--foundingspirit {
	text-align: center;
}

.card-grid__title--foundingspirit {
	text-align: center;
}
.card-grid__title--foundingspirit svg {
	width: 18rem;
	height: 3.3rem;
}
@media screen and (max-width: 767px) {
	.card-grid__title--foundingspirit svg {
		width: 40vw;
		height: 8vw;
	}
	.card-grid__title--foundingspirit svg use {
		height: 10vw;
	}
}

.card-grid__title--corporateprofile {
	text-align: center;
}
.card-grid__title--corporateprofile svg {
	width: 23.6rem;
	height: 3.56rem;
}
@media screen and (max-width: 767px) {
	.card-grid__title--corporateprofile svg {
		width: 52.53vw;
		height: 7.93vw;
	}
}

.card-grid__title--boadmember {
	text-align: center;
}
.card-grid__title--boadmember svg {
	width: 20.3rem;
	height: 3.4rem;
}
@media screen and (max-width: 767px) {
	.card-grid__title--boadmember svg {
		width: 46.8vw;
		height: 6.6vw;
	}
}

.card-grid__title--philosophy {
	text-align: center;
}
.card-grid__title--philosophy svg {
	width: 14.7rem;
	height: 3.41rem;
}
@media screen and (max-width: 767px) {
	.card-grid__title--philosophy svg {
		width: 32.7vw;
		height: 7.58vw;
	}
}

.card-grid__lead {
	margin-top: 0.75em;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1;
	font-weight: 400;
	letter-spacing: 0.09em;
}
@media screen and (max-width: 767px) {
	.card-grid__lead {
		margin-top: 0;
		font-size: 1.1rem;
	}
	html[lang="en"] .card-grid__lead {
		font-size: 1.05rem;
	}
}

.card-grid__link {
	margin-top: 1.5em;
	text-align: center;
}
.card-grid__link .button {
	width: 22rem;
}
@media screen and (max-width: 767px) {
	.card-grid__link .button {
		width: 61.6vw;
	}
}

.meida-black {
	display: flex;
	flex-wrap: wrap;
	width: 120rem;
	margin-top: 8.8rem;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 1279px) {
	.meida-black {
		width: 100vw;
		margin-right: calc((100vw - 100%) / 2 * -1);
		margin-left: calc((100vw - 100%) / 2 * -1);
	}
}
@media screen and (max-width: 1279px) {
	.meida-black {
		margin-top: 5.4em;
	}
}

.media-black__item {
	width: 100rem;
}
.media-black__item + .media-black__item {
	margin-top: 4.8rem;
}
.media-black__item:nth-of-type(2n) {
	margin-left: auto;
}
@media screen and (max-width: 1279px) {
	.media-black__item {
		width: 94%;
	}
}
@media screen and (max-width: 1279px) {
	.media-black__item {
		width: 100%;
	}
}
.media-black__item:nth-of-type(even) {
	margin-left: auto;
}
.media-black__item:nth-of-type(odd) {
	margin-right: auto;
}

.media-black__item-inner {
	display: flex;
}
.media-black__item:nth-of-type(2n) .media-black__item-inner {
	flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
	.media-black__item:nth-of-type(2n) .media-black__item-inner {
		flex-direction: column-reverse;
	}
}
@media screen and (max-width: 767px) {
	.media-black__item-inner {
		flex-direction: column-reverse;
	}
}

.media-black__text {
	flex: 55;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	background-color: black;
	color: white;
}
@media screen and (max-width: 767px) {
	.media-black__text {
		flex: auto;
		width: 80vw;
		height: 92vw;
		margin-top: -3em;
		margin-left: auto;
		margin-right: auto;
	}
}

.media-black__image-wrap {
	background-color: black;
	flex: 45;
}
@media screen and (max-width: 767px) {
	.media-black__image-wrap {
		width: 80vw;
	}
	.media-black__item:nth-of-type(2n) .media-black__image-wrap {
		margin-left: auto;
	}
}

.media-black__title {
	margin-top: 2em;
}
@media screen and (max-width: 767px) {
	.media-black__title {
		margin-top: 4em;
	}
}

.media-black__title--branddevelopment {
	text-align: center;
}
.media-black__title--branddevelopment svg {
	width: 27rem;
	height: 3.42rem;
	fill: white;
}
@media screen and (max-width: 767px) {
	.media-black__title--branddevelopment svg {
		width: 59vw;
		height: 7.46vw;
	}
}

.media-black__title--dtocengine {
	text-align: center;
}
.media-black__title--dtocengine svg {
	width: 18.4rem;
	height: 2.6rem;
	fill: white;
}
@media screen and (max-width: 767px) {
	.media-black__title--dtocengine svg {
		width: 41vw;
		height: 5.7vw;
	}
}

.media-black__lead {
	margin-top: 0.75em;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.09em;
}
.media-black__lead:after {
	content: "";
	display: block;
	width: 1.25em;
	height: 1px;
	margin-top: 1em;
	margin-right: auto;
	margin-bottom: 1em;
	margin-left: auto;
	background-color: white;
}
@media screen and (max-width: 767px) {
	.media-black__lead:after {
		margin-top: 1.25em;
		margin-bottom: 1.25em;
	}
}
@media screen and (max-width: 767px) {
	.media-black__lead {
		margin-top: 0.25em;
		font-size: 1.1rem;
	}
}

.media-black__body {
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.media-black__body {
		font-size: 1.2rem;
		letter-spacing: normal;
	}
}

.media-black__link {
	margin-top: 3em;
}
@media screen and (max-width: 767px) {
	.media-black__link {
		margin-top: 1.5em;
	}
	.media-black__link .button {
		width: 61.6vw;
	}
}

.box {
	width: 100rem;
	height: 30rem;
	background-color: white;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 1279px) {
	.box {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.box {
		height: 64vw;
	}
}

.box__title {
	width: 2.64rem;
}
.box__title:after {
	content: "";
	display: block;
	width: 1.25em;
	height: 2px;
	margin-top: 1.5em;
	margin-right: auto;
	margin-bottom: 1em;
	margin-left: auto;
	background-color: black;
}
@media screen and (max-width: 767px) {
	.box__title:after {
		margin-top: 1.25em;
		margin-bottom: 0.75em;
	}
}

.box__lead {
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.box__lead {
		font-size: 1.3rem;
	}
}

.box__title--top-ir svg {
	width: 2.6rem;
	height: 2.6rem;
}
@media screen and (max-width: 767px) {
	.box__title--top-ir svg {
		width: 7vw;
		height: 7vw;
	}
}

.box__link {
	margin-top: 2em;
}
@media screen and (max-width: 767px) {
	.box__link {
		margin-top: 1.5em;
	}
	.box__link .button {
		width: 61.6vw;
	}
}

.bg-box {
	width: 100rem;
	height: 30rem;
	background-color: white;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	.bg-box {
		height: 66.66vw;
	}
}
@media screen and (max-width: 1279px) {
	.bg-box {
		width: 100%;
	}
}

.bg-box__title {
	width: 2.64rem;
}
.bg-box__title:after {
	content: "";
	display: block;
	width: 1.25em;
	height: 2px;
	margin-top: 1.5em;
	margin-right: auto;
	margin-bottom: 1em;
	margin-left: auto;
	background-color: white;
}
@media screen and (max-width: 767px) {
	.bg-box__title:after {
		margin-top: 1.25em;
		margin-bottom: 0.75em;
	}
}

.bg-box__title--recruit {
	width: 10.74rem;
	text-align: center;
}
.bg-box__title--recruit svg {
	width: 10.74rem;
	height: 2.685rem;
	fill: white;
}
@media screen and (max-width: 767px) {
	.bg-box__title--recruit svg {
		width: 28.5vw;
		height: 7.5vw;
	}
}

.bg-box__lead {
	font-size: 1.6rem;
	font-weight: 400;
	color: white;
	letter-spacing: 0.05em;
}

html[lang="en"] .bg-box__lead {
	display: none;
}

@media screen and (max-width: 767px) {
	.bg-box__lead {
		font-size: 1.3rem;
	}
}

.bg-box__link {
	margin-top: 2em;
}
@media screen and (max-width: 767px) {
	.bg-box__link {
		margin-top: 1.5em;
	}
	.bg-box__link .button {
		width: 61.6vw;
	}
}

.top-news {
	width: 100rem;
	margin-right: auto;
	margin-left: auto;
}
.top-news:first-of-type {
	padding-top: 13.5rem;
}
@media screen and (max-width: 767px) {
	.top-news:first-of-type {
		padding-top: 26.8vw;
	}
}
@media screen and (max-width: 767px) {
	.top-news {
		width: 100%;
	}
}
.top-news + .top-news {
	margin-top: 10rem;
}
@media screen and (max-width: 767px) {
	.top-news + .top-news {
		margin-top: 39vw;
	}
}

.top-news__header {
	padding-left: 5.6rem;
}
@media screen and (max-width: 767px) {
	.top-news__header {
		padding-left: 0;
		text-align: center;
	}
}

.top-news__title.top-news__title--news svg {
	width: 9.8rem;
	height: 4.4rem;
}
@media screen and (max-width: 767px) {
	.top-news__title.top-news__title--news svg {
		width: 22.6vw;
		height: 7.18vw;
	}
}
.top-news__title.top-news__title--irnews svg {
	width: 14.7rem;
	height: 4.4rem;
}
@media screen and (max-width: 767px) {
	.top-news__title.top-news__title--irnews svg {
		width: 34vw;
		height: 7.6vw;
	}
}
@media screen and (max-width: 767px) {
	.top-news__title:after {
		content: "";
		display: block;
		width: 1.25em;
		height: 2px;
		margin-top: 1.5em;
		margin-right: auto;
		margin-left: auto;
		background-color: black;
	}
}

.top-news__lead {
	margin-top: 0.35em;
	margin-left: -0.1em;
	font-size: 1.6rem;
}

html[lang="en"] .top-news__lead {
	display: none;
}

@media screen and (max-width: 767px) {
	.top-news__lead {
		margin-top: 0.75em;
		font-size: inherit;
		letter-spacing: 0.05em;
		font-weight: 400;
	}
}

.top-news__list {
	margin-top: 3.2rem;
	display: grid;
}

@media screen and (min-width: 768px) {
	.top-news__list {
		grid-template-columns: max-content max-content 1fr;
	}
}

.top-news__list-item {
	padding-top: 2rem;
	padding-right: 5.6rem;
	padding-bottom: 2rem;
	padding-left: 5.6rem;
	border-top: 1px solid #bebebe;
}
@media screen and (min-width: 768px) {
	.top-news__list-item {
		display: grid;
		grid-template-columns: subgrid;
		grid-column: 1 / span 3;
	}
}
@media screen and (max-width: 767px) {
	.top-news__list-item {
		padding-top: 9.6vw;
		padding-right: 0;
		padding-bottom: 8.4vw;
		padding-left: 0;
	}
}

@media screen and (min-width: 768px) {
	.top-news__list-item-pickup {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: max-content 1fr;
		gap: 2.1rem 4.6rem;
		margin-top: 5.4rem;
		margin-bottom: 5.4rem;
	}
}

@media screen and (max-width: 767px) {
	.top-news__list-item-pickup {
		margin-top: 1.6rem;
		margin-bottom: 1.6rem;
	}
}

.top-news__list-item-pickup-image {
	grid-row: 1 / span 2;
}

@media screen and (min-width: 768px) {
	.top-news__list-item-pickup-header {
		display: flex;
		align-items: center;
		gap: 1.5em;
	}
}

@media screen and (max-width: 767px) {
	.top-news__list-item-pickup-header {
		margin-top: 1.5em;
	}
}

.top-news__list-item-pickup-category {
	flex-shrink: 0;
	min-width: 12rem;
	padding-top: 0.35em;
	padding-right: 1em;
	padding-bottom: 0.35em;
	padding-left: 1em;
	text-align: center;
	background-color: #808080;
	font-size: 1.3rem;
	font-weight: bold;
	color: white;
	white-space: nowrap;
}

@media screen and (max-width: 767px) {
	.top-news__list-item-pickup-category {
		display: inline-block;
		min-width: 32vw;
		margin-right: 1em;
		font-size: 1.1rem;
	}
}

.top-news__list-item-pickup-date {
	flex-shrink: 0;
	font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
	.top-news__list-item-pickup-date {
		display: inline-block;
		font-size: 1.2rem;
	}
}

.top-news__list-item-pickup-title {
	flex-shrink: 0;
	font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
	.top-news__list-item-pickup-title {
		margin-top: 1em;
		display: inline-block;
		font-size: 1.2rem;
	}
}

.top-news__list-item-pickup-body {
	font-size: 1.4rem;
	text-align: justify;
}
@media screen and (max-width: 767px) {
	.top-news__list-item-pickup-body {
		display: block;
		margin-top: 1em;
		font-size: 1.2rem;
	}
}

.top-news__list-item-pickup-body small {
	font-size: 0.9em;
}
@media screen and (max-width: 767px) {
	.top-news__list-item-pickup-body {
		display: block;
		margin-top: 1em;
		font-size: 1.2rem;
	}
}

.top-news__list-item:last-of-type {
	border-bottom: 1px solid #bebebe;
}
.top-news__list-item a {
	transition: opacity 0.25s ease-out;
}
.top-news__list-item a:hover {
	opacity: 0.8;
}

@media screen and (min-width: 768px) {
	.top-news__list-item-inner {
		display: grid;
		grid-template-columns: subgrid;
		grid-column: 1 / span 3;
	}
}

.top-news__list-item-category {
	flex-shrink: 0;
	min-width: 12rem;
	margin-right: 4.8rem;
	padding-top: 0.35em;
	padding-right: 1em;
	padding-bottom: 0.35em;
	padding-left: 1em;
	text-align: center;
	background-color: #595959;
	font-size: 1.3rem;
	font-weight: bold;
	color: white;
	white-space: nowrap;
}
.top-news__list-item-category:visited,
.top-news__list-item-category:active,
.top-news__list-item-category:focus {
	color: white !important;
}
@media screen and (max-width: 767px) {
	.top-news__list-item-category {
		display: inline-block;
		min-width: 32vw;
		margin-right: 1em;
		font-size: 1.1rem;
	}
}
.top-news__list-item-category.--wp-corporate {
	background-color: #606060;
}
.top-news__list-item-category.--wp-brand {
	background-color: #808080;
}
.top-news__list-item-category.--wp-pressrelease {
	background-color: #a0a0a0;
}
.top-news__list-item-category.--wp-info {
	background-color: #c0c0c0;
}
.top-news__list.top-news__list--irnews .top-news__list-item-category.-tanshin {
	color: white;
	background-color: #606060;
}
.top-news__list.top-news__list--irnews
	.top-news__list-item-category.-tekijikaiji {
	color: white;
	background-color: #808080;
}
.top-news__list.top-news__list--irnews
	.top-news__list-item-category.-houteikaiji {
	color: white;
	background-color: #a0a0a0;
}
.top-news__list.top-news__list--irnews .top-news__list-item-category.-irdoc {
	color: white;
	background-color: #c0c0c0;
}
.top-news__list.top-news__list--irnews
	.top-news__list-item-category.-information {
	color: #666666;
	background-color: #e0e0e0;
}

.top-news__list-item-date {
	flex-shrink: 0;
	margin-right: 5.2rem;
	font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
	.top-news__list-item-date {
		display: inline-block;
		margin-right: 0;
		font-size: 1.2rem;
	}
}

.top-news__item-text {
	font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
	.top-news__item-text {
		display: block;
		margin-top: 1em;
		font-size: 1.2rem;
	}
}

.top-news__footer {
	margin-top: 4.4rem;
	text-align: center;
}

/*products*/
.products-main {
	margin-bottom: 19rem;
}
@media screen and (max-width: 767px) {
	.products-main {
		margin-bottom: 27vw;
		padding-left: 4.7vw;
	}
}

.products-main__section + .products-main__section {
	margin-top: 7rem;
}
@media screen and (max-width: 767px) {
	.products-main__section + .products-main__section {
		margin-top: 4vw;
	}
}

.products-main__section-header {
	padding-top: 14rem;
	padding-bottom: 6rem;
	border-bottom: 1px solid #bebebe;
}
@media screen and (max-width: 767px) {
	.products-main__section-header {
		padding-top: 32vw;
		padding-bottom: 10vw;
	}
}

.products-main__section {
	margin-right: calc(((100vw - 100rem) / 2 + 5rem) * -1);
}
@media screen and (max-width: 1023px) {
	.products-main__section {
		margin-right: -5rem;
	}
}
@media screen and (max-width: 767px) {
	.products-main__section {
		margin-right: -6.6vw;
	}
}

.products-main__section-title.products-main__section-title--hadanature {
	width: 41.6rem;
}
@media screen and (max-width: 767px) {
	.products-main__section-title.products-main__section-title--hadanature {
		width: 55.5vw;
	}
}
.products-main__section-title.products-main__section-title--page {
	width: 22.4rem;
}
@media screen and (max-width: 767px) {
	.products-main__section-title.products-main__section-title--page {
		width: 29.9vw;
	}
}

.products-main__section-lead {
	margin-top: 5.4rem;
	font-family: "YakuHanMPs_Noto", "Noto Serif JP", serif;
	font-size: 2.4rem;
	letter-spacing: 0.22em;
}
@media screen and (max-width: 767px) {
	.products-main__section-lead {
		margin-top: 5.5vw;
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 767px) {
	.products-media {
		padding-right: 11.3vw;
	}
}

.products-media__item {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
}
@media screen and (max-width: 767px) {
	.products-media__item {
		flex-direction: column;
		align-items: center;
	}
}
.products-media__item:first-of-type {
	margin-top: 10rem;
}
@media screen and (max-width: 767px) {
	.products-media__item:first-of-type {
		margin-top: 13.7vw;
	}
}
.products-media__item + .products-media__item {
	margin-top: 10.6rem;
}
@media screen and (max-width: 767px) {
	.products-media__item + .products-media__item {
		margin-top: 25.3vw;
	}
}

.products-media__item-text {
	flex-shrink: 0;
	padding-right: 8rem;
}
@media screen and (max-width: 767px) {
	.products-media__item-text {
		margin-top: 9vw;
		padding-right: 0;
		text-align: center;
	}
}

.products-media__item-header::after {
	content: "";
	display: inline-block;
	width: 2em;
	height: 1px;
	margin-top: 4rem;
	margin-bottom: 4rem;
	background-color: black;
}
@media screen and (max-width: 767px) {
	.products-media__item-header::after {
		margin-top: 1.25em;
		margin-bottom: 1em;
		width: 1.75em;
	}
}

@media screen and (max-width: 767px) {
	.products-media__item-title {
		display: inline-block;
	}
}
.products-media__item-title.products-media__item-title--haircare {
	width: 20rem;
}
@media screen and (max-width: 767px) {
	.products-media__item-title.products-media__item-title--haircare {
		width: 45.6vw;
	}
}
.products-media__item-title.products-media__item-title--skincare {
	width: 20.6rem;
}
@media screen and (max-width: 767px) {
	.products-media__item-title.products-media__item-title--skincare {
		width: 45.9vw;
	}
}
.products-media__item-title.products-media__item-title--page {
	width: 9.8rem;
}
@media screen and (max-width: 767px) {
	.products-media__item-title.products-media__item-title--page {
		width: 16.1vw;
	}
}

.products-media__item-lead {
	margin-top: 3.2rem;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.products-media__item-lead {
		margin-top: 0.75em;
		letter-spacing: 0.09em;
	}
}

.products-media__item-body {
	line-height: 2.3125;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.products-media__item-body {
		line-height: inherit;
		letter-spacing: initial;
	}
}

.products-media__item-image {
	width: 80rem;
}
@media screen and (max-width: 767px) {
	.products-media__item-image {
		width: 100%;
	}
}

.products-media__item-footer {
	margin-top: 5.4rem;
}
@media screen and (max-width: 767px) {
	.products-media__item-footer {
		margin-top: 1.6em;
	}
}

/*message*/
.message__inner {
	padding-top: 9.6rem;
	padding-bottom: 15.4rem;
}
@media screen and (max-width: 767px) {
	.message__inner {
		padding-top: 25.3vw;
		padding-bottom: 21vw;
	}
}

.message__header {
	position: relative;
}

.message__title {
	margin-bottom: 6.8rem;
	position: absolute;
	top: 28%;
	z-index: 3;
	font-size: 3.8rem;
	letter-spacing: 0.05em;
	white-space: nowrap;
	font-weight: 700;
}

html[lang="en"] .message__title {
	width: 60rem;
	white-space: normal;
	font-size: 3.6rem;
	line-height: 1.66;
}

html[lang="en"] .message__title br {
	display: none;
}

@media screen and (min-width: 767px) {
	.message__title {
		letter-spacing: 0.05em;
	}
}
@media screen and (max-width: 1023px) {
	.message__title {
		font-size: 3.2rem;
	}
	html[lang="en"] .message__title {
		width: 46rem;
		font-size: 2.8rem;
	}
}
@media screen and (max-width: 767px) {
	.message__title {
		font-size: 2.1rem;
		/* width: 72vw; */
		margin-top: 16vw;
		margin-bottom: 16vw;
		margin-left: 6.6vw;
		position: relative;
	}
	html[lang="en"] .message__title {
		width: auto;
		font-size: 1.9rem;
		padding-right: 6.6vw;
	}
}

.message__image-wrap {
	width: 100rem;
	-webkit-transform: translateX(17vw);
	transform: translateX(17vw);
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 1023px) {
	.message__image-wrap {
		width: 82rem;
	}
}
@media screen and (max-width: 767px) {
	.message__image-wrap {
		width: 86.67vw;
		-webkit-transform: translateX(6.6vw);
		transform: translateX(6.6vw);
	}
}

.message__body {
	margin-top: -19rem;
	padding-top: 28.8rem;
	padding-left: 14rem;
	padding-right: 14rem;
	padding-bottom: 16rem;
	position: relative;
}
.message__body:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #f4f4f4;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	.message__body {
		width: 100%;
		margin-top: -106vw;
		padding-top: 109vw;
		padding-left: 6.6vw;
		padding-right: 6.6vw;
		padding-bottom: 25.6vw;
	}
}

.message__text {
	font-size: 16px;
	font-weight: 400;
	line-height: 2.33;
	position: relative;
	z-index: 2;
}
html[lang="ja"] .message__text {
	text-align: justify;
}
@media screen and (min-width: 1920px) {
	.message__text {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 1113px) {
	.message__text {
		font-size: 1.6rem;
	}
}
.message__text span {
	display: block;
}
.message__text span + .message__text span {
	margin-top: 1em;
}
.message__text span + span {
	margin-top: 1.25em;
}
@media screen and (max-width: 767px) {
	.message__text span + span {
		margin-top: 1.8em;
	}
}
@media screen and (max-width: 767px) {
	.message__text {
		font-size: inherit;
		line-height: 2.13;
	}
}

.message__text img {
	margin-top: 1.25em;
}

.message__footer {
	margin-top: 11.2rem;
}
@media screen and (max-width: 767px) {
	.message__footer {
		margin-top: 25.6vw;
	}
}

.message__footer-company {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.message__footer-company {
		font-size: 1.1rem;
	}
}

.message__footer-name-wrap {
	margin-top: -0.5em;
}
@media screen and (max-width: 767px) {
	.message__footer-name-wrap {
		margin-top: -0.25em;
	}
}

.message__footer-ceo {
	font-size: 2rem;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.message__footer-ceo {
		font-size: 1.1rem;
	}
}

.message__footer-ceo + .message__footer-name {
	margin-left: 0.75em;
}

.message__footer-name {
	font-size: 3rem;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.message__footer-name {
		font-size: 2rem;
	}
}

.message__profile {
	margin-top: 0;
	margin-bottom: 10rem;
}

.message__profile-company {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.message__profile-company {
		font-size: 1.1rem;
	}
}

.message__profile-name-wrap {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	margin-top: 0.25em;
	margin-bottom: 1.25em;
	gap: 0 1em;
}

.message__profile-ceo {
	font-size: 2rem;
	letter-spacing: 0.1em;
}

html[lang="en"] .message__profile-ceo {
	font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
	.message__profile-ceo {
		font-size: 1.1rem;
	}
	html[lang="en"] .message__profile-ceo {
		font-size: 1.1rem;
	}
}

.message__profile-name {
	display: inline-block;
}

@media screen and (min-width: 767px) {
	.message__profile-name {
		line-height: 1.25;
	}
}

.message__profile-name {
	font-size: 3rem;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.message__profile-name {
		font-size: 2rem;
	}
}

.message__profile .message__text span + span {
	margin-top: 0.25em;
}
@media screen and (max-width: 767px) {
	.message__profile .message__text span + span {
		margin-top: 0.5em;
	}
}

.message__profile_year {
	float: left;
}

.message__profile_career {
	margin-left: 5em;
}

.message__heading {
	font-size: 3rem;
	letter-spacing: 0.075em;
	line-height: 1.7;
	margin-bottom: 1em;
	text-align: left;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.message__heading {
		font-size: 2rem;
	}
}

html[lang="ja"] .message__heading.message__heading--pc-nowrap {
	white-space: nowrap;
}

@media screen and (max-width: 767px) {
	html[lang="ja"] .message__heading.message__heading--pc-nowrap {
		white-space: wrap;
	}
}

html[lang="ja"] .message__heading.message__heading--nowrap {
	white-space: nowrap;
}

.message__heading.message__heading--mg-top {
	margin-top: 1.5em;
}

.section--message-foundingspirit img {
	position: absolute;
}

@media screen and (max-width: 767px) {
	.section--message-foundingspirit img {
		width: 200%;
	}
}

.section--message-foundingspirit .section__inner {
	padding-top: 0;
}

.section--message-foundingspirit .bg-box {
	overflow: hidden;
}

.bg-box__title--message {
	width: auto;
}

.bg-box__title--message svg {
	width: 21.74rem;
	height: 4.985rem;
	fill: white;
}

@media screen and (max-width: 767px) {
	.bg-box__title--message svg {
		width: 10.74rem;
		height: 1.985rem;
		fill: white;
	}
}

/*foundingspirit*/
.foundingspirit__inner {
	padding-top: 9.6rem;
	padding-bottom: 15.4rem;
}
@media screen and (max-width: 767px) {
	.foundingspirit__inner {
		padding-top: 25.3vw;
		padding-bottom: 21vw;
	}
}

.foundingspirit__header {
	position: relative;
}

.foundingspirit__title {
	margin-bottom: 6.8rem;
	position: absolute;
	top: 28%;
	z-index: 3;
	font-size: 3.9rem;
	letter-spacing: 0.1em;
	font-weight: 700;
}

html[lang="en"] .foundingspirit__title {
	width: 60rem;
	font-size: 3.1rem;
	letter-spacing: 0.025em;
}

html[lang="en"] .foundingspirit__title br {
	display: none;
}

@media screen and (max-width: 1023px) {
	.foundingspirit__title {
		width: 46rem;
	}
	html[lang="en"] .foundingspirit__title {
		width: 40rem;
		font-size: 2.8rem;
	}
}
@media screen and (max-width: 767px) {
	.foundingspirit__title {
		width: 54.8vw;
		margin-top: 16vw;
		margin-bottom: 16vw;
		margin-left: 6.6vw;
		position: relative;
	}
	html[lang="en"] .foundingspirit__title {
		width: auto;
		font-size: 2.2rem;
		padding-right: 6.8vw;
	}
}

.foundingspirit__image-wrap {
	width: 100rem;
	-webkit-transform: translateX(17vw);
	transform: translateX(17vw);
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 1023px) {
	.foundingspirit__image-wrap {
		width: 82rem;
	}
}
@media screen and (max-width: 767px) {
	.foundingspirit__image-wrap {
		width: 86.67vw;
		-webkit-transform: translateX(6.6vw);
		transform: translateX(6.6vw);
	}
}

.foundingspirit__body {
	margin-top: -19rem;
	padding-top: 28.8rem;
	padding-left: 14rem;
	padding-bottom: 16rem;
	position: relative;
}
.foundingspirit__body:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #f4f4f4;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	.foundingspirit__body {
		width: 100%;
		margin-top: -106vw;
		padding-top: 109vw;
		padding-left: 6.6vw;
		padding-bottom: 25.6vw;
	}
}

.foundingspirit__text {
	font-size: 16px;
	font-weight: 400;
	line-height: 2.33;
	position: relative;
	z-index: 2;
}

html[lang="en"] .foundingspirit__text {
	padding-right: 4em;
}

html[lang="en"] .foundingspirit__text br {
	display: none;
}

@media screen and (min-width: 1920px) {
	.foundingspirit__text {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 1113px) {
	.foundingspirit__text {
		font-size: 1.6rem;
	}
}
.foundingspirit__text span {
	display: block;
}
.foundingspirit__text span + .foundingspirit__text span {
	margin-top: 1em;
}
.foundingspirit__text span + span {
	margin-top: 1.25em;
}
@media screen and (max-width: 767px) {
	.foundingspirit__text span + span {
		margin-top: 1.8em;
	}
}
@media screen and (max-width: 767px) {
	.foundingspirit__text {
		font-size: inherit;
		line-height: 2.13;
	}
	html[lang="en"] .foundingspirit__text {
		padding-right: 6.6vw;
	}
}

.foundingspirit__footer {
	margin-top: 11.2rem;
}
@media screen and (max-width: 767px) {
	.foundingspirit__footer {
		margin-top: 25.6vw;
	}
}

.foundingspirit__footer-company {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.foundingspirit__footer-company {
		font-size: 1.1rem;
	}
}

.foundingspirit__footer-name-wrap {
	margin-top: -0.5em;
}
@media screen and (max-width: 767px) {
	.foundingspirit__footer-name-wrap {
		margin-top: -0.25em;
	}
}

.foundingspirit__footer-ceo {
	font-size: 2rem;
	letter-spacing: 0.1em;
}

html[lang="en"] .foundingspirit__footer-ceo {
	font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
	.foundingspirit__footer-ceo {
		font-size: 1.1rem;
	}
	html[lang="en"] .foundingspirit__footer-ceo {
		font-size: 1.1rem;
	}
}

.foundingspirit__footer-ceo + .foundingspirit__footer-name {
	margin-left: 0.75em;
}

.foundingspirit__footer-name {
	font-size: 3rem;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.foundingspirit__footer-name {
		font-size: 2rem;
	}
}

/*profile*/
.profile__inner {
	padding-top: 18rem;
	padding-bottom: 15rem;
}
@media screen and (max-width: 767px) {
	.profile__inner {
		padding-top: 32.8vw;
		padding-bottom: 18vw;
	}
}

.pfofile__item {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.075em;
	font-weight: 400;
}
@media screen and (min-width: 1920px) {
	.pfofile__item {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 1113px) {
	.pfofile__item {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 767px) {
	.pfofile__item {
		line-height: inherit;
		font-size: inherit;
	}
}
.pfofile__item + .pfofile__item {
	margin-top: 8.2rem;
}
@media screen and (max-width: 767px) {
	.pfofile__item + .pfofile__item {
		margin-top: 4em;
	}
}

.pfofile__item-inner {
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.pfofile__item-inner {
		display: block;
	}
}

.pfofile__item-header {
	width: 15rem;
	padding-left: 0.5em;
	padding-bottom: 1.25em;
	border-bottom: 1px solid #808080;
}
@media screen and (max-width: 1023px) {
	.pfofile__item-header {
		width: 19%;
	}
}
@media screen and (max-width: 767px) {
	.pfofile__item-header {
		width: 5.25em;
		padding-bottom: 0.75em;
		border-bottom: 1px solid #bebebe;
	}
}

.pfofile__item-body {
	width: 70rem;
	padding-left: 0.5em;
	padding-bottom: 1.5em;
	border-bottom: 1px solid #808080;
}
@media screen and (max-width: 1023px) {
	.pfofile__item-body {
		width: 74%;
	}
}
@media screen and (max-width: 767px) {
	.pfofile__item-body {
		width: 100%;
		margin-top: 3em;
		padding-bottom: 1.25em;
		border-bottom: 1px solid #000;
	}
}

@media screen and (max-width: 767px) {
	.profile__inner-list + .profile__inner-list {
		display: block;
		margin-top: 2.4em;
	}
}

.profile__inner-list-item + .profile__inner-list-item {
	margin-top: 0.125em;
}

.pfofile__item--access .pfofile__item-header {
	border-bottom: none;
}
@media screen and (max-width: 767px) {
	.pfofile__item--access .pfofile__item-header {
		border-bottom: 1px solid #bebebe;
	}
}
.pfofile__item--access .pfofile__item-body {
	border-bottom: none;
}

.profile__inner-list-item--num {
	list-style: none;
	text-indent: -1.125em;
	padding-left: 1.125em;
}

.map-wrap {
	width: 100%;
	margin-top: 8.6rem;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.map-wrap {
		margin-top: 13.6vw;
	}
}
.map-wrap .button {
	margin-top: 6rem;
}
@media screen and (max-width: 767px) {
	.map-wrap .button {
		margin-top: 13.6vw;
	}
}
.map-wrap #map {
	width: 100%;
	height: 45rem;
}
@media screen and (max-width: 767px) {
	.map-wrap #map {
		width: 100vw;
		margin-left: calc((100vw - 100%) / 2 * -1);
		margin-right: calc((100vw - 100%) / 2 * -1);
		height: 72vw;
	}
}

/*philosophy*/
.philosophy {
	background-color: #f4f4f4;
}
@media screen and (max-width: 767px) {
	.philosophy {
		background-color: transparent;
	}
}

/* .philosophy-main {
	margin-bottom: 29rem;
} */
@media screen and (max-width: 767px) {
	.philosophy-main {
		background-color: #f4f4f4;
		/* margin-bottom: 0;
		padding-bottom: 37vw; */
		padding-right: 6.6vw;
		padding-left: 6.6vw;
	}
}

.philosophy-header__image {
	width: 87.5%;
	display: block;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	.philosophy-header__image {
		width: 100%;
	}
}

/* ------------ common ------------ */
.philosophy-section__headding + .philosophy-section__body {
	margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
	.philosophy-section__headding + .philosophy-section__body {
		margin-top: 11.2vw;
	}
}

.philosophy-section__body {
	background-color: white;
}

.philosophy-section__body-inner {
	padding-top: 9rem;
	padding-bottom: 9rem;
}
@media screen and (max-width: 767px) {
	.philosophy-section__body-inner {
		padding-top: 10.4vw;
		padding-bottom: 12.4vw;
	}
	.philosophy-section__inner--corpolateidentity
		.philosophy-section__body-inner {
		padding-bottom: 18.6vw;
	}
	html[lang="en"]
		.philosophy-section__body-inner
		.section__text.section__text--center {
		padding-right: 7.3vw;
		padding-left: 7.3vw;
	}
}

@media screen and (max-width: 767px) {
	.philosophy .section__text {
		letter-spacing: normal;
	}
}

/* ------------ philosophy ------------ */
.philosophy-section__inner--philosophy {
	padding-top: 9.6rem;
}
@media screen and (max-width: 767px) {
	.philosophy-section__inner--philosophy {
		padding-top: 18.66vw;
	}
}

/* ------------ mission ------------ */
.philosophy-section__inner--mission {
	padding-top: 13.6rem;
}
@media screen and (max-width: 767px) {
	.philosophy-section__inner--mission {
		padding-top: 54.9vw;
	}
}

.philosophy-section__body-image--mission {
	width: 120rem;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	.philosophy-section__body-image--mission {
		width: 80vw;
	}
}

.philosophy-section-mission__text {
	width: 65%;
	margin-left: auto;
	margin-right: auto;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.05em;
}
@media screen and (min-width: 1920px) {
	.philosophy-section-mission__text {
		font-size: 1.6rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 1113px) {
	.philosophy-section-mission__text {
		font-size: 1.6rem;
		line-height: 2.33;
	}
}
.philosophy-section-mission__text:before {
	content: "";
	display: block;
	width: 8rem;
	height: 1px;
	margin-bottom: 4.8rem;
	margin-right: auto;
	margin-left: auto;
	background-color: #bebebe;
}
@media screen and (max-width: 767px) {
	.philosophy-section-mission__text:before {
		content: none;
	}
}
@media screen and (max-width: 767px) {
	.philosophy-section-mission__text {
		width: 100%;
		padding: 0 7.3vw;
		font-size: inherit;
		line-height: 2.33;
	}
}

/* ------------ vision ------------ */
.philosophy-section__inner--vision {
	padding-top: 13.6rem;
}
@media screen and (max-width: 767px) {
	.philosophy-section__inner--vision {
		padding-top: 51.7vw;
	}
}

@media screen and (max-width: 767px) {
	.philosophy-section--vision .philosophy-section__body-inner {
		padding-top: 19.6vw;
		padding-bottom: 25vw;
	}
}

.philosophy-section-vision__text {
	width: 65%;
	margin-left: auto;
	margin-right: auto;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.025em;
}
@media screen and (min-width: 1920px) {
	.philosophy-section-vision__text {
		font-size: 1.6rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 1113px) {
	.philosophy-section-vision__text {
		font-size: 1.6rem;
		line-height: 2.33;
	}
}
.philosophy-section-vision__text:before {
	content: "";
	display: block;
	width: 8rem;
	height: 1px;
	margin-top: 9rem;
	margin-bottom: 4.8rem;
	margin-right: auto;
	margin-left: auto;
	background-color: #bebebe;
}
@media screen and (max-width: 767px) {
	.philosophy-section-vision__text:before {
		width: 100%;
		height: 1px;
		margin-top: 19.6vw;
		margin-bottom: 16vw;
		background-color: black;
	}
}
@media screen and (max-width: 767px) {
	.philosophy-section-vision__text {
		width: 100%;
		padding: 0 7.3vw;
		font-size: inherit;
		line-height: 2.33;
	}
}

.philosophy-worldview {
	width: 76.8rem;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	.philosophy-worldview {
		width: 100%;
		padding: 0 7.3vw;
	}
}

.philosophy-worldview img {
	transform: translateX(1.5rem);
}
@media screen and (max-width: 767px) {
	.philosophy-worldview img {
		transform: translateX(0);
	}
}

.philosophy-worldview:before {
	content: "";
	display: block;
	width: 8rem;
	height: 1px;
	margin-top: 5.6rem;
	margin-bottom: 7.4rem;
	margin-right: auto;
	margin-left: auto;
	background-color: #bebebe;
}
@media screen and (max-width: 767px) {
	.philosophy-worldview:before {
		width: calc(80 / 750 * 100vw);
		height: 1px;
		margin-top: calc(88 / 750 * 100vw);
		margin-right: auto;
		margin-bottom: calc(116 / 750 * 100vw);
		margin-left: auto;
		background-color: black;
	}
}

.philosophy-step {
	width: 70%;
	height: 47.2rem;
	margin-top: 1.6rem;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	.philosophy-step {
		width: 100%;
		margin-top: 0;
		padding: 0 7.3vw;
		height: auto;
	}
}

.philosophy-step__inner {
	display: flex;
	align-items: flex-end;
	width: 100%;
	height: 100%;
	position: relative;
}
@media screen and (max-width: 767px) {
	.philosophy-step__inner {
		display: block;
	}
}

.philosophy-step__title {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 23.2rem;
}
@media screen and (max-width: 767px) {
	.philosophy-step__title {
		position: static;
		width: 44vw;
		display: block;
		margin: auto;
		padding-top: 23.6vw;
		padding-bottom: 16vw;
	}
}

@media screen and (max-width: 767px) {
	.philosophy-step__item + .philosophy-step__item {
		margin-top: 14.8vw;
	}
}

.philosophy-step__item:nth-of-type(2) {
	position: relative;
	top: -10.8rem;
}
@media screen and (max-width: 767px) {
	.philosophy-step__item:nth-of-type(2) {
		position: static;
		top: auto;
	}
}

.philosophy-step__item:nth-of-type(3) {
	position: relative;
	top: -21.6rem;
}
@media screen and (max-width: 767px) {
	.philosophy-step__item:nth-of-type(3) {
		position: static;
		top: auto;
	}
}

.philosophy-step__item:nth-of-type(4) {
	position: relative;
	top: -32.4rem;
}
@media screen and (max-width: 767px) {
	.philosophy-step__item:nth-of-type(4) {
		position: static;
		top: auto;
	}
}

.philosophy-step__label {
	width: calc(100% + 1px);
}
.ie11 .philosophy-step__label {
	width: 101%;
}

.philosophy-step__text {
	height: 10.8rem;
	padding-top: 1.3em;
	padding-left: 1.65em;
	border-top: 1px solid #231815;
	border-left: 1px solid #231815;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.88;
	white-space: nowrap;
}
.ie11 .philosophy-step__text {
	margin-top: -1px;
}
@media screen and (max-width: 767px) {
	.philosophy-step__text {
		font-size: 1.5rem;
		line-height: inherit;
		padding-left: 0;
		border-top: none;
		border-left: none;
		letter-spacing: 0.125em;
	}
}

.philosophy-step__text-inner {
	position: absolute;
}

/* ------------ principle ------------ */
.philosophy-section__inner--principle {
	padding-top: 28rem;
}
@media screen and (max-width: 767px) {
	.philosophy-section__inner--principle {
		padding-top: 52vw;
	}
}

.philosophy-section-principle__text {
	width: 65%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 9rem;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.05em;
}
@media screen and (min-width: 1920px) {
	.philosophy-section-principle__text {
		font-size: 1.6rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 1113px) {
	.philosophy-section-principle__text {
		font-size: 1.6rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 767px) {
	.philosophy-section-principle__text {
		width: 100%;
		margin-top: 2em;
		padding: 0 7.3vw;
		padding-bottom: 6.4vw;
		font-size: inherit;
		line-height: 2.33;
	}
}

.philosophy-principle__inner {
	width: 112.5rem;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 1023px) {
	.philosophy-principle__inner {
		width: 100vw;
	}
}
@media screen and (max-width: 767px) {
	.philosophy-principle__inner {
		width: 73.33vw;
		display: block;
	}
}

.philosophy-principle__item {
	width: 32%;
	height: 43rem;
	text-align: center;
	background-color: #333;
	color: white;
}
.philosophy-principle__item:nth-of-type(2) {
	background-color: #545454;
}
@media screen and (max-width: 767px) {
	.philosophy-principle__item {
		width: 100%;
		height: 80vw;
	}
	.philosophy-principle__item + .philosophy-principle__item {
		margin-top: 1em;
	}
}

.philosophy-principle__title {
	display: inline-block;
	margin-top: 5.8rem;
}
@media screen and (max-width: 767px) {
	.philosophy-principle__title {
		margin-top: 9vw;
	}
}

.philosophy-principle__title-visiondriven {
	width: 18.8rem;
}
@media screen and (max-width: 767px) {
	.philosophy-principle__title-visiondriven {
		width: 45.9vw;
	}
}

.philosophy-principle__title-givefirst {
	width: 13.4rem;
}
@media screen and (max-width: 767px) {
	.philosophy-principle__title-givefirst {
		width: 32.8vw;
	}
}

.philosophy-principle__title-greadwethteqm {
	width: 21.9rem;
}
@media screen and (max-width: 767px) {
	.philosophy-principle__title-greadwethteqm {
		width: 56.3vw;
	}
}

.philosophy-principle__lead {
	margin-top: 1em;
	font-size: 1.3rem;
	letter-spacing: 0.06em;
}

.philosophy-principle__image-outer {
	height: 24.2rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (max-width: 767px) {
	.philosophy-principle__image-outer {
		height: 40vw;
	}
}

.philosophy-principle__image-wrap-01 {
	width: 67%;
	-webkit-transform: translateY(-10%);
	transform: translateY(-10%);
}
@media screen and (max-width: 767px) {
	.philosophy-principle__image-wrap-01 {
		width: 70.2%;
		-webkit-transform: translateY(-5%);
		transform: translateY(-5%);
	}
}

.philosophy-principle__image-wrap-02 {
	width: 70%;
	-webkit-transform: translateY(-10%);
	transform: translateY(-10%);
}
@media screen and (max-width: 767px) {
	.philosophy-principle__image-wrap-02 {
		width: 73.6%;
		-webkit-transform: translateY(-5%);
		transform: translateY(-5%);
	}
}

.philosophy-principle__image-wrap-03 {
	width: 68%;
	-webkit-transform: translateY(-10%);
	transform: translateY(-10%);
}
@media screen and (max-width: 767px) {
	.philosophy-principle__image-wrap-03 {
		width: 72%;
		-webkit-transform: translateY(-5%);
		transform: translateY(-5%);
	}
}

/* ------------ corpolateidentity ------------ */
.philosophy-section__inner--corpolateidentity {
	padding-top: 39rem;
}
@media screen and (max-width: 767px) {
	.philosophy-section__inner--corpolateidentity {
		padding-top: 40vw;
	}
}

.philosophy-section__headding + .philosophy-section__headding-image-wrap {
	margin-top: 9rem;
}
@media screen and (max-width: 767px) {
	.philosophy-section__headding + .philosophy-section__headding-image-wrap {
		margin-top: 12vw;
	}
}

.philosophy-section__headding-image {
	width: 87.5%;
	display: block;
}
@media screen and (max-width: 767px) {
	.philosophy-section__headding-image {
		width: 100%;
	}
}

.philosophy-section__headding-image-wrap + .philosophy-section__body {
	margin-top: -9rem;
	position: relative;
	z-index: 1;
}
@media screen and (max-width: 767px) {
	.philosophy-section__headding-image-wrap + .philosophy-section__body {
		margin-top: -13.33vw;
	}
}

.corpolateidentity__logo {
	width: 27rem;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	.corpolateidentity__logo {
		width: 36vw;
	}
}

.corpolateidentity__logo + .corpolateidentity__column {
	margin-top: 9.6rem;
}
@media screen and (max-width: 767px) {
	.corpolateidentity__logo + .corpolateidentity__column {
		margin-top: 16vw;
	}
}

.corpolateidentity__column {
	display: flex;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	justify-content: space-between;
}
@media screen and (max-width: 767px) {
	.corpolateidentity__column {
		display: block;
		width: 100%;
		padding-right: 7.3vw;
		padding-left: 7.3vw;
	}
}

.corpolateidentity__text {
	width: 44%;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.05em;
}
@media screen and (min-width: 1920px) {
	.corpolateidentity__text {
		font-size: 1.6rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 1113px) {
	.corpolateidentity__text {
		font-size: 1.6rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 767px) {
	.corpolateidentity__text {
		width: 100%;
		font-size: inherit;
	}
}

.corpolateidentity__image-wrap {
	width: 48%;
	margin-top: 0.5em;
}
@media screen and (max-width: 767px) {
	.corpolateidentity__image-wrap {
		display: block;
		width: 96%;
		margin-right: auto;
		margin-left: auto;
	}
	.corpolateidentity__image-wrap:before {
		content: "";
		display: block;
		width: 2.4em;
		height: 1px;
		margin-top: 2em;
		margin-bottom: 16vw;
		margin-right: auto;
		margin-left: auto;
		background-color: #bebebe;
	}
}

/*boardmember*/
.boardmember-section__inner {
	padding-top: 13.6rem;
	padding-bottom: 16.5rem;
}
@media screen and (max-width: 767px) {
	.boardmember-section__inner {
		padding-top: 25.3vw;
		padding-bottom: 38vw;
		padding-right: 6.6vw;
		padding-left: 6.6vw;
	}
}

/* ------------ boardmember-list ------------ */
.boardmember-list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
	.boardmember-list {
		display: block;
		padding-right: 4vw;
		padding-left: 4vw;
	}
}

.boardmember-list_item {
	width: 47%;
}
.boardmember-list_item:nth-of-type(n + 3) {
	margin-top: 10rem;
}
@media screen and (max-width: 767px) {
	.boardmember-list_item:nth-of-type(n + 3) {
		margin-top: 0;
	}
}
@media screen and (max-width: 767px) {
	.boardmember-list_item {
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.boardmember-list_item + .boardmember-list_item {
		margin-top: 36vw;
	}
}

.boardmember-list_body {
	margin-top: 6.2rem;
}
@media screen and (max-width: 1023px) {
	.boardmember-list_body {
		margin-top: 1.5em;
	}
}

.boardmember-list_postion {
	font-size: 1.6rem;
	letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
	.boardmember-list_postion {
		font-size: inherit;
	}
}

.boardmember-list_name {
	display: flex;
	align-items: baseline;
	gap: 0 1.25em;
	flex-wrap: wrap;
	margin-top: 0.75em;
	font-weight: 400;
	letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
	.boardmember-list_name {
		margin-top: 0.25em;
	}
}

.boardmember-list_name-jp {
	font-size: 3rem;
	letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
	.boardmember-list_name-jp {
		font-size: 2.2rem;
	}
}

.boardmember-list_name-en {
	font-size: 2rem;
}

html[lang="en"] .boardmember-list_name-en {
	display: none;
}

@media screen and (max-width: 767px) {
	.boardmember-list_name-en {
		font-size: inherit;
	}
}

.boardmember-list_text {
	margin-top: 1.5em;
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.05em;
}
html[lang="ja"] {
	text-align: justify;
	text-justify: inter-ideograph;
}
@media screen and (min-width: 1920px) {
	.boardmember-list_text {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 1113px) {
	.boardmember-list_text {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 767px) {
	.boardmember-list_text {
		margin-top: 1.5em;
		font-size: 1.2rem;
		line-height: 1.96;
	}
}

/*brand*/
.brand-main {
	padding-bottom: 20rem;
}
@media screen and (max-width: 767px) {
	.brand-main {
		padding-bottom: 40vw;
	}
}

.brand-header {
	margin-top: 9rem;
}
@media screen and (max-width: 767px) {
	.brand-header {
		margin-top: 22vw;
	}
}

.brand-header__image {
	width: 77%;
	display: block;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	.brand-header__image {
		width: 100%;
	}
}

/* ------------ common ------------ */
/* ------------ brand ------------ */
.brand-section-brand__inner {
	padding-top: 9.6rem;
}
@media screen and (max-width: 767px) {
	.brand-section-brand__inner {
		padding-top: 19vw;
		padding-right: 4vw;
		padding-left: 4vw;
	}
}

.brand-section-brand__body {
	margin-top: 7.8rem;
	padding-right: 7.8rem;
	padding-left: 7.8rem;
}
@media screen and (max-width: 767px) {
	.brand-section-brand__body {
		margin-top: 22.4vw;
		padding-right: 0;
		padding-left: 0;
	}
}

.brand-section-brand__body-text {
	text-align: justify;
	text-justify: inter-ideograph;
	font-size: 17px;
	line-height: 2.33;
	letter-spacing: 0.075em;
}
@media screen and (min-width: 1920px) {
	.brand-section-brand__body-text {
		font-size: 1.7rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 1113px) {
	.brand-section-brand__body-text {
		font-size: 1.7rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 767px) {
	.brand-section-brand__body-text {
		font-size: inherit;
		letter-spacing: -0.0125em;
	}
}

.brand-section-brand__tittle {
	width: 49.2rem;
}
@media screen and (max-width: 767px) {
	.brand-section-brand__tittle {
		width: 66vw;
	}
}

/* ------------ hadanature ------------ */
.brand-section-hadanature {
	margin-top: 32rem;
}
@media screen and (max-width: 1023px) {
	.brand-section-hadanature {
		margin-top: 24rem;
	}
}
@media screen and (max-width: 1023px) {
	.brand-section-hadanature {
		margin-top: 44vw;
	}
}

.brand-section-hadanature__title-wrap {
	position: relative;
	z-index: 9;
}

.brand-section-hadanature__title {
	margin-top: 9.6rem;
	width: 36.68rem;
}
@media screen and (max-width: 1023px) {
	.brand-section-hadanature__title {
		width: 30rem;
	}
}
@media screen and (max-width: 767px) {
	.brand-section-hadanature__title {
		margin-top: 0rem;
		margin-right: auto;
		margin-left: auto;
		width: 67vw;
	}
}

.brand-section-hadanature__image {
	margin-left: auto;
	width: 50vw;
	position: relative;
	z-index: 9;
}
@media screen and (max-width: 767px) {
	.brand-section-hadanature__image {
		width: 73.33vw;
		margin-top: 21.8vw;
	}
}

.brand-section-hadanature__headding {
	display: flex;
	width: 100%;
	position: relative;
}
@media screen and (max-width: 767px) {
	.brand-section-hadanature__headding {
		display: block;
	}
}

.brand-section-hadanature__body-title {
	font-family: "YakuHanMPs_Noto", "Noto Serif JP", serif;
	font-size: 3.1rem;
	letter-spacing: 0.075em;
	white-space: nowrap;
}
@media screen and (max-width: 767px) {
	.brand-section-hadanature__body-title {
		margin-left: 7vw;
		font-size: 6.35vw;
	}
}

.brand-section-hadanature__body {
	margin-top: -25rem;
	padding-top: 7rem;
	padding-bottom: 8rem;
	width: 100%;
	background-color: #f4f4f4;
	position: relative;
}
@media screen and (max-width: 1365px) {
	.brand-section-hadanature__body {
		margin-top: -17rem;
	}
}
@media screen and (max-width: 1279px) {
	.brand-section-hadanature__body {
		margin-top: -13rem;
	}
}
@media screen and (max-width: 1023px) {
	.brand-section-hadanature__body {
		margin-top: -9rem;
	}
}
@media screen and (max-width: 767px) {
	.brand-section-hadanature__body {
		margin-top: -19.86vw;
	}
}
.brand-section-hadanature__body:before {
	content: "";
	display: block;
	height: 100%;
	width: 5rem;
	position: absolute;
	top: 0;
	right: -5rem;
	background-color: #f4f4f4;
	z-index: -1;
}
.brand-section-hadanature__body:after {
	content: "";
	display: block;
	height: 100%;
	width: 75vw;
	position: absolute;
	top: 0;
	left: -75vw;
	background-color: #f4f4f4;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	.brand-section-hadanature__body {
		padding-top: 37vw;
		padding-bottom: 19vw;
	}
}

.brand-section-hadanature__body-column {
	width: 94%;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 7rem;
}
@media screen and (max-width: 767px) {
	.brand-section-hadanature__body-column {
		display: block;
		width: 100%;
		margin-top: 12vw;
	}
}

.brand-section-hadanature__body-text {
	margin-left: 5rem;
	font-family: "YakuHanMPs_Noto", "Noto Serif JP", serif;
	letter-spacing: 0.1075em;
	line-height: 2.4;
	white-space: nowrap;
}
@media screen and (max-width: 1023px) {
	.brand-section-hadanature__body-text {
		width: 100%;
		margin-left: 0;
		padding-right: 7.3vw;
		padding-left: 7.3vw;
	}
}
@media screen and (max-width: 767px) {
	.brand-section-hadanature__body-text {
		letter-spacing: 0.0125em;
	}
}

.brand-section-hadanature__body-p + .brand-section-hadanature__body-p {
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	.brand-section-hadanature__body-p + .brand-section-hadanature__body-p {
		margin-top: 1.5em;
	}
}

.brand-section-hadanature__button-wrap {
	flex: 30;
	text-align: right;
}
@media screen and (max-width: 1023px) {
	.brand-section-hadanature__button-wrap {
		margin-top: 5em;
		margin-left: 5rem;
	}
}
@media screen and (max-width: 1023px) and (max-width: 767px) {
	.brand-section-hadanature__button-wrap {
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 767px) {
	.brand-section-hadanature__button-wrap {
		text-align: center;
	}
}
.brand-section-hadanature__button-wrap .button + .button {
	margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
	.brand-section-hadanature__button-wrap .button + .button {
		margin-top: 10vw;
	}
}

/*dtoc*/
.dtoc-main {
	padding-bottom: 20rem;
}
@media screen and (max-width: 767px) {
	.dtoc-main {
		padding-bottom: 40vw;
	}
}

.dtoc-header {
	margin-top: 9rem;
}
@media screen and (max-width: 767px) {
	.dtoc-header {
		margin-top: 22vw;
	}
}

.dtoc-header__image {
	width: calc(100% - (100% - 100rem) / 2 - 5rem);
	display: block;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	.dtoc-header__image {
		width: 100%;
	}
}

/* ------------ common ------------ */
/* ------------ dtoc ------------ */
.dtoc-section-dtoc__inner {
	padding-top: 9.6rem;
}
@media screen and (max-width: 767px) {
	.dtoc-section-dtoc__inner {
		padding-top: 19vw;
		padding-right: 4vw;
		padding-left: 4vw;
	}
}

.dtoc-section-dtoc__body {
	margin-top: 7.8rem;
	padding-right: 7.8rem;
	padding-left: 7.8rem;
}
@media screen and (max-width: 767px) {
	.dtoc-section-dtoc__body {
		margin-top: 19vw;
		padding-right: 0;
		padding-left: 0;
	}
}

.dtoc-section-dtoc__body-text {
	font-size: 17px;
	line-height: 2.33;
	letter-spacing: 0.075em;
}

html[lang="ja"] .dtoc-section-dtoc__body-text {
	text-align: justify;
	text-justify: inter-ideograph;
}

@media screen and (min-width: 1920px) {
	.dtoc-section-dtoc__body-text {
		font-size: 1.7rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 1113px) {
	.dtoc-section-dtoc__body-text {
		font-size: 1.7rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 767px) {
	.dtoc-section-dtoc__body-text {
		font-size: inherit;
		letter-spacing: -0.0125em;
	}
}

.dtoc-section-dtoc__tittle {
	font-size: 4rem;
	letter-spacing: 0.075em;
	line-height: 1.6;
}
@media screen and (max-width: 767px) {
	.dtoc-section-dtoc__tittle {
		font-size: 1.95rem;
		letter-spacing: 0.025em;
		white-space: nowrap;
		line-height: 1.9;
	}
	html[lang="en"] .dtoc-section-dtoc__tittle {
		white-space: normal;
	}
	html[lang="en"] .dtoc-section-dtoc__tittle br {
		display: none;
	}
}

/* ------------ hadanature ------------ */
.dtoc-section-hadanature {
	margin-top: 32rem;
}
@media screen and (max-width: 1023px) {
	.dtoc-section-hadanature {
		margin-top: 24rem;
	}
}
@media screen and (max-width: 1023px) {
	.dtoc-section-hadanature {
		margin-top: 44vw;
	}
}
@media screen and (max-width: 767px) {
	.dtoc-section-hadanature {
		margin-top: 42vw;
	}
}

.dtoc-section-hadanature__title-wrap {
	position: relative;
	z-index: 9;
}

.dtoc-section-hadanature__title {
	margin-top: 9.6rem;
	width: 36.68rem;
}
@media screen and (max-width: 1023px) {
	.dtoc-section-hadanature__title {
		width: 30rem;
	}
}
@media screen and (max-width: 767px) {
	.dtoc-section-hadanature__title {
		margin-top: 0rem;
		margin-right: auto;
		margin-left: auto;
		width: 67vw;
	}
}

.dtoc-section-hadanature__image {
	margin-left: auto;
	width: 50vw;
	position: relative;
	z-index: 9;
}
@media screen and (max-width: 767px) {
	.dtoc-section-hadanature__image {
		width: 73.33vw;
		margin-top: 21.8vw;
	}
}

.dtoc-section-hadanature__headding {
	display: flex;
	width: 100%;
	position: relative;
}
@media screen and (max-width: 767px) {
	.dtoc-section-hadanature__headding {
		display: block;
	}
}

.dtoc-section-hadanature__body-title {
	font-family: "YakuHanMPs_Noto", "Noto Serif JP", serif;
	font-size: 3.1rem;
	letter-spacing: 0.075em;
	white-space: nowrap;
}
@media screen and (max-width: 767px) {
	.dtoc-section-hadanature__body-title {
		margin-left: 7vw;
		font-size: 6.35vw;
	}
}

.dtoc-section-hadanature__body {
	margin-top: -25rem;
	padding-top: 7.2vw;
	padding-bottom: 8rem;
	width: 100%;
	background-color: #f4f4f4;
	position: relative;
}
@media screen and (max-width: 1365px) {
	.dtoc-section-hadanature__body {
		margin-top: -17rem;
	}
}
@media screen and (max-width: 1279px) {
	.dtoc-section-hadanature__body {
		margin-top: -13rem;
	}
}
@media screen and (max-width: 1023px) {
	.dtoc-section-hadanature__body {
		margin-top: -9rem;
	}
}
@media screen and (max-width: 767px) {
	.dtoc-section-hadanature__body {
		margin-top: -19.86vw;
	}
}
.dtoc-section-hadanature__body:before {
	content: "";
	display: block;
	height: 100%;
	width: 5rem;
	position: absolute;
	top: 0;
	right: -5rem;
	background-color: #f4f4f4;
	z-index: -1;
}
.dtoc-section-hadanature__body:after {
	content: "";
	display: block;
	height: 100%;
	width: 75vw;
	position: absolute;
	top: 0;
	left: -75vw;
	background-color: #f4f4f4;
	z-index: -1;
}
@media screen and (max-width: 767px) {
	.dtoc-section-hadanature__body {
		padding-top: 37vw;
		padding-bottom: 19vw;
	}
}

.dtoc-section-hadanature__body-column {
	width: 94%;
	display: grid;
	align-items: flex-end;
	margin-top: 7rem;
}
@media screen and (min-width: 1024px) {
	.dtoc-section-hadanature__body-column {
		grid-template-columns: 1fr max-content;
		gap: 5rem;
	}
}
@media screen and (max-width: 767px) {
	.dtoc-section-hadanature__body-column {
		display: block;
		width: 100%;
		margin-top: 12vw;
	}
}

.dtoc-section-hadanature__body-text {
	margin-left: 5rem;
	font-family: "YakuHanMPs_Noto", "Noto Serif JP", serif;
	letter-spacing: 0.1075em;
	line-height: 2.4;
	white-space: nowrap;
}

html[lang="en"] .dtoc-section-hadanature__body-text {
	/* width: 50ch; */
	white-space: normal;
}

html[lang="en"] .dtoc-section-hadanature__body-text br {
	display: none;
}

@media screen and (max-width: 1023px) {
	.dtoc-section-hadanature__body-text {
		width: 100%;
		margin-left: 0;
		padding-right: 7.3vw;
		padding-left: 7.3vw;
	}
}
@media screen and (max-width: 767px) {
	.dtoc-section-hadanature__body-text {
		letter-spacing: 0.0125em;
	}
}

.dtoc-section-hadanature__body-p + .dtoc-section-hadanature__body-p {
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	.dtoc-section-hadanature__body-p + .dtoc-section-hadanature__body-p {
		margin-top: 1.5em;
	}
}

.dtoc-section-hadanature__button-wrap {
	display: flex;
	gap: 3.2rem;
}
@media screen and (min-width: 1024px) {
	.dtoc-section-hadanature__button-wrap {
		flex-direction: column;
	}
}
@media screen and (min-width: 767px) and (max-width: 1023px) {
	.dtoc-section-hadanature__button-wrap {
		margin-top: 4.8rem;
		padding-left: 7.3rem;
	}
}
@media screen and (max-width: 767px) {
	.dtoc-section-hadanature__button-wrap {
		display: block;
		margin-top: 5em;
		text-align: center;
	}
}
@media screen and (max-width: 767px) {
	.dtoc-section-hadanature__button-wrap .button + .button {
		margin-top: 10vw;
	}
}

/*medical-support*/
.medical-support-main {
	padding-bottom: 22rem;
}
@media screen and (max-width: 767px) {
	.medical-support-main {
		padding-bottom: 40vw;
	}
}

.medical-support-header {
	margin-top: 9rem;
}
@media screen and (max-width: 767px) {
	.medical-support-header {
		margin-top: 20vw;
	}
}

.medical-support-header__image {
	width: calc(100% - (100% - 100rem) / 2 - 5rem);
	display: block;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
	.medical-support-header__image {
		width: 100%;
	}
}

.medical-support-section__inner {
	padding-top: 9.6rem;
}
@media screen and (max-width: 767px) {
	.medical-support-section__inner {
		padding-top: 19vw;
		padding-right: 4vw;
		padding-left: 4vw;
	}
	html[lang="en"] .medical-support-section__inner {
		padding-right: 0;
		padding-left: 2vw;
	}
}

.medical-support-section__body {
	margin-top: 7.8rem;
	padding-right: 7.8rem;
	padding-left: 7.8rem;
}
@media screen and (max-width: 767px) {
	.medical-support-section__body {
		margin-top: 22.4vw;
		padding-right: 0;
		padding-left: 0;
	}
}

.medical-support-section-media__inner {
	padding-top: 11.7rem;
}
@media screen and (max-width: 767px) {
	.medical-support-section-media__inner {
		padding-top: 20vw;
	}
}

.medical-support-section__column {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
@media screen and (max-width: 767px) {
	.medical-support-section__column {
		display: block;
	}
}

.medical-support-section__body-text {
	width: 62%;
	text-align: justify;
	text-justify: inter-ideograph;
	font-size: 17px;
	line-height: 2.33;
	letter-spacing: 0.065em;
}
@media screen and (min-width: 1920px) {
	.medical-support-section__body-text {
		font-size: 1.7rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 1113px) {
	.medical-support-section__body-text {
		font-size: 1.7rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 1279px) {
	.medical-support-section__body-text {
		width: 51%;
	}
}
@media screen and (max-width: 767px) {
	.medical-support-section__body-text {
		width: 100%;
		letter-spacing: normal;
		font-size: inherit;
	}
}

.medical-support-section__image {
	width: 70%;
	margin-right: -43%;
}
.medical-support-section__image img {
	-webkit-transform: translateY(-3%);
	transform: translateY(-3%);
}
@media screen and (max-width: 1365px) {
	.medical-support-section__image {
		width: 64%;
		margin-right: -34%;
	}
}
@media screen and (max-width: 1279px) {
	.medical-support-section__image {
		width: 56%;
		margin-right: -15%;
	}
}
@media screen and (max-width: 767px) {
	.medical-support-section__image {
		margin-top: 21vw;
		width: 100%;
		-webkit-transform: none;
		transform: none;
	}
}

.medical-support-section__tittle {
	font-size: 4rem;
	letter-spacing: 0.075em;
	line-height: 1.6;
}
html[lang="en"] .medical-support-section__tittle {
	font-size: 3.7rem;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
	.medical-support-section__tittle {
		font-size: 1.95rem;
		letter-spacing: 0.025em;
		white-space: nowrap;
		line-height: 1.9;
	}
	html[lang="en"] .medical-support-section__tittle {
		font-size: 1.95rem;
		letter-spacing: 0.02em;
		white-space: normal;
	}
	html[lang="en"] .medical-support-section__tittle br {
		display: none;
	}
}

.medical-support-section-media {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.medical-support-section-media__item {
	display: flex;
	align-items: flex-start;
	width: 131rem;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 1365px) {
	.medical-support-section-media__item {
		width: 117.9rem;
	}
}
@media screen and (max-width: 1279px) {
	.medical-support-section-media__item {
		width: 91.7rem;
	}
}
@media screen and (max-width: 767px) {
	.medical-support-section-media__item {
		display: block;
		width: 100%;
	}
}
.medical-support-section-media__item + .medical-support-section-media__item {
	margin-top: 10rem;
}
@media screen and (max-width: 767px) {
	.medical-support-section-media__item + .medical-support-section-media__item {
		margin-top: 19.5vw;
	}
}
.medical-support-section-media__item:nth-of-type(even) {
	flex-direction: row-reverse;
}

.medical-support-section-media__photo {
	flex-basis: 65.4rem;
	margin-top: 10rem;
	z-index: 1;
}
@media screen and (max-width: 767px) {
	.medical-support-section-media__photo {
		margin-top: 0;
		width: 73vw;
	}
	.medical-support-section-media__item:nth-of-type(even)
		.medical-support-section-media__photo {
		margin-left: auto;
	}
}

.medical-support-section-media__body {
	position: relative;
	z-index: 0;
	flex-basis: 78.4rem;
	padding-top: 9rem;
	padding-right: 9.6rem;
	padding-left: 20rem;
	padding-bottom: 7.8rem;
	background-color: #f4f4f4;
}
@media screen and (max-width: 767px) {
	.medical-support-section-media__body {
		width: calc(100% - 13.2vw);
		margin-right: auto;
		margin-left: auto;
		padding-top: 26vw;
		padding-right: 9vw;
		padding-bottom: 12vw;
		padding-left: 9vw;
	}
}
.medical-support-section-media__item:nth-of-type(odd)
	.medical-support-section-media__body {
	margin-left: -12.6rem;
}
@media screen and (max-width: 767px) {
	.medical-support-section-media__item:nth-of-type(odd)
		.medical-support-section-media__body {
		margin-left: auto;
	}
}
.medical-support-section-media__item:nth-of-type(even)
	.medical-support-section-media__body {
	margin-right: -12.6rem;
	padding-right: 20rem;
	padding-left: 9.6rem;
}
@media screen and (max-width: 767px) {
	.medical-support-section-media__item:nth-of-type(even)
		.medical-support-section-media__body {
		margin-right: auto;
		padding-top: 26vw;
		padding-right: 9vw;
		padding-bottom: 12vw;
		padding-left: 9vw;
	}
}
@media screen and (min-width: 1921px) {
	.medical-support-section-media__body {
		width: 40%;
	}
}
@media screen and (max-width: 767px) {
	.medical-support-section-media__body {
		padding-right: 6.6vw;
		padding-left: 6.6vw;
		margin-top: -13.6vw;
		height: auto;
		margin-right: auto;
		margin-left: auto;
	}
}

.medical-support-section-media__title-en {
	font-family: var(--font-jost);
	font-size: 2rem;
	font-weight: 500;
	left: 0.05em;
}
@media screen and (max-width: 767px) {
	.medical-support-section-media__title-en {
		font-size: 1.4rem;
	}
}

.medical-support-section-media__title-jp {
	margin-top: 3.2rem;
	font-size: 2.8rem;
	line-height: 1.66;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.medical-support-section-media__title-jp {
		line-height: 1.8;
		margin-top: 0.6em;
		font-size: 2.1rem;
	}
}

.medical-support-section-media__text {
	margin-top: 2.8em;
	text-align: justify;
	text-justify: inter-ideograph;
	font-size: 16px;
	line-height: 2.3;
	letter-spacing: 0.1em;
}
@media screen and (min-width: 1920px) {
	.medical-support-section-media__text {
		font-size: 1.6rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 1113px) {
	.medical-support-section-media__text {
		font-size: 1.6rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 1023px) {
	.medical-support-section-media__text {
		margin-top: 2.8em;
	}
}
@media screen and (max-width: 767px) {
	.medical-support-section-media__text {
		margin-top: 2.2em;
		font-size: 1.2rem;
		line-height: 1.96;
		letter-spacing: normal;
	}
}

.medical-support__service {
	margin-top: 21.9rem;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
	.medical-support__service {
		margin-top: 25vw;
	}
}

.medical-support__service-item {
	width: 79vw;
	max-width: 126.4rem;
	margin-right: auto;
	margin-left: auto;
	display: flex;
	gap: 9.3rem;
}
@media screen and (max-width: 1279px) {
	.medical-support__service-item {
		gap: 6.4rem;
	}
}
@media screen and (max-width: 767px) {
	.medical-support__service-item {
		width: 100%;
		flex-direction: column-reverse;
		gap: 10vw;
	}
}
.medical-support__service-item:nth-of-type(even) {
	flex-direction: row-reverse;
	gap: 3.6rem;
}
@media screen and (max-width: 767px) {
	.medical-support__service-item:nth-of-type(even) {
		width: 100%;
		flex-direction: column-reverse;
		gap: 10vw;
	}
}
.medical-support__service-item + .medical-support__service-item {
	margin-top: 13.6rem;
}
@media screen and (max-width: 767px) {
	.medical-support__service-item + .medical-support__service-item {
		margin-top: 32vw;
	}
}

.medical-support__service-subitem__wrap + .medical-support__service-item {
	margin-top: 13.6rem;
}
@media screen and (max-width: 767px) {
	.medical-support__service-subitem__wrap + .medical-support__service-item {
		margin-top: 32vw;
	}
}

.medical-support__service-item-image img {
	width: 77.9rem;
}
@media screen and (max-width: 1279px) {
	.medical-support__service-item-image img {
		width: 54.53rem;
	}
}
@media screen and (max-width: 767px) {
	.medical-support__service-item-image img {
		width: 100%;
	}
}
.medical-support__service-item-image
	img[src*="service-medical-support-service02-image"] {
	width: 53.9rem;
}
@media screen and (max-width: 1279px) {
	.medical-support__service-item-image
		img[src*="service-medical-support-service02-image"] {
		width: 37.73rem;
	}
}
@media screen and (max-width: 767px) {
	.medical-support__service-item-image
		img[src*="service-medical-support-service02-image"] {
		width: 80vw;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
}

.medical-support__service-item-text {
	padding-top: 4rem;
}
@media screen and (max-width: 767px) {
	.medical-support__service-item-text {
		padding-top: 0;
	}
}

@media screen and (max-width: 767px) {
	.medical-support__service-item-label {
		text-align: center;
	}
}
.medical-support__service-item-label img {
	line-height: 0;
}
.medical-support__service-item-label img[src*="futura-01"] {
	width: 11.1rem;
}
@media screen and (max-width: 767px) {
	.medical-support__service-item-label img[src*="futura-01"] {
		width: 15.2vw;
	}
}
.medical-support__service-item-label img[src*="futura-02"] {
	width: 13.2rem;
}
@media screen and (max-width: 767px) {
	.medical-support__service-item-label img[src*="futura-02"] {
		width: 18vw;
	}
}

.medical-support__service-item-title {
	font-size: 3.3rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-top: -1em;
}

html[lang="en"] .medical-support__service-item-title {
	line-height: 1.66;
}

@media screen and (max-width: 767px) {
	.medical-support__service-item-title {
		text-align: center;
		font-size: 2.1rem;
	}
	html[lang="en"] .medical-support__service-item-title {
		font-size: 1.9rem;
	}
}
.medical-support__service-item-title::after {
	content: "";
	display: block;
	width: 2.5em;
	height: 1px;
	background-color: currentColor;
	margin-top: 0.75em;
	margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
	.medical-support__service-item-title::after {
		width: 1.75em;
		margin-right: auto;
		margin-left: auto;
	}
}

.medical-support__service-item-body {
	line-height: 2.3;
	letter-spacing: 0.05em;
}

html[lang="ja"] .medical-support__service-item-body {
	text-align: justify;
}

@media screen and (max-width: 767px) {
	.medical-support__service-item-body {
		padding-right: 10.6vw;
		padding-left: 10.6vw;
	}
}

.medical-support__service-subitem__wrap {
	padding-top: 11.7rem;
}
@media screen and (max-width: 767px) {
	.medical-support__service-subitem__wrap {
		padding-top: 20vw;
	}
}

.medical-support__service-subitem {
	display: flex;
	align-items: flex-start;
	width: 131rem;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 1365px) {
	.medical-support__service-subitem {
		width: 117.9rem;
	}
}
@media screen and (max-width: 1279px) {
	.medical-support__service-subitem {
		width: 91.7rem;
	}
}
@media screen and (max-width: 767px) {
	.medical-support__service-subitem {
		display: block;
		width: 100%;
	}
}
.medical-support__service-subitem + .medical-support__service-subitem {
	margin-top: 10rem;
}
@media screen and (max-width: 767px) {
	.medical-support__service-subitem + .medical-support__service-subitem {
		margin-top: 19.5vw;
	}
}
.medical-support__service-subitem:nth-of-type(even) {
	flex-direction: row-reverse;
}

.medical-support__service-subitem__photo {
	flex-basis: 65.4rem;
	margin-top: 10rem;
	z-index: 1;
}
@media screen and (max-width: 767px) {
	.medical-support__service-subitem__photo {
		margin-top: 0;
		width: 73vw;
	}
	.medical-support__service-subitem:nth-of-type(even)
		.medical-support__service-subitem__photo {
		margin-left: auto;
	}
}

.medical-support__service-subitem__body {
	position: relative;
	z-index: 0;
	flex-basis: 78.4rem;
	padding-top: 9rem;
	padding-right: 9.6rem;
	padding-left: 20rem;
	padding-bottom: 7.8rem;
	background-color: #f4f4f4;
}
@media screen and (max-width: 767px) {
	.medical-support__service-subitem__body {
		width: calc(100% - 13.2vw);
		margin-right: auto;
		margin-left: auto;
		padding-top: 26vw;
		padding-right: 9vw;
		padding-bottom: 12vw;
		padding-left: 9vw;
	}
}
.medical-support__service-subitem:nth-of-type(odd)
	.medical-support__service-subitem__body {
	margin-left: -12.6rem;
}
@media screen and (max-width: 767px) {
	.medical-support__service-subitem:nth-of-type(odd)
		.medical-support__service-subitem__body {
		margin-left: auto;
	}
}
.medical-support__service-subitem:nth-of-type(even)
	.medical-support__service-subitem__body {
	margin-right: -12.6rem;
	padding-right: 20rem;
	padding-left: 9.6rem;
}
@media screen and (max-width: 767px) {
	.medical-support__service-subitem:nth-of-type(even)
		.medical-support__service-subitem__body {
		margin-right: auto;
		padding-top: 26vw;
		padding-right: 9vw;
		padding-bottom: 12vw;
		padding-left: 9vw;
	}
}
@media screen and (min-width: 1921px) {
	.medical-support__service-subitem__body {
		width: 40%;
	}
}
@media screen and (max-width: 767px) {
	.medical-support__service-subitem__body {
		padding-right: 6.6vw;
		padding-left: 6.6vw;
		margin-top: -13.6vw;
		height: auto;
		margin-right: auto;
		margin-left: auto;
	}
}

.medical-support__service-subitem__title-en {
	font-family: var(--font-jost);
	font-size: 2rem;
	font-weight: 500;
	left: 0.05em;
}
@media screen and (max-width: 767px) {
	.medical-support__service-subitem__title-en {
		font-size: 1.4rem;
	}
}

.medical-support__service-subitem_title-jp {
	margin-top: 3.2rem;
	font-size: 2.8rem;
	line-height: 1.66;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.medical-support__service-subitem__title-jp {
		line-height: 1.8;
		margin-top: 0.6em;
		font-size: 2.1rem;
	}
	html[lang="en"] .medical-support__service-subitem__title-jp {
		line-height: 1.7;
	}
}

.medical-support__service-subitem__text {
	margin-top: 2.8em;
	font-size: 16px;
	line-height: 2.3;
	letter-spacing: 0.1em;
}

html[lang="ja"] .medical-support__service-subitem__text {
	text-align: justify;
	text-justify: inter-ideograph;
}

@media screen and (min-width: 1920px) {
	.medical-support__service-subitem__text {
		font-size: 1.6rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 1113px) {
	.medical-support__service-subitem__text {
		font-size: 1.6rem;
		line-height: 2.33;
	}
}
@media screen and (max-width: 1023px) {
	.medical-support__service-subitem__text {
		margin-top: 2.8em;
	}
}
@media screen and (max-width: 767px) {
	.medical-support__service-subitem__text {
		margin-top: 2.2em;
		font-size: 1.2rem;
		line-height: 1.96;
		letter-spacing: normal;
	}
}

.medical-support__service-subitem__button-wrap {
	text-align: center;
	margin-top: 1rem;
}

.medical-support-about {
	margin-top: 13.9rem;
	margin-right: calc(50% - 50vw);
	margin-bottom: 16rem;
	margin-left: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
	.medical-support-about {
		margin-top: 20vw;
		margin-bottom: 17vw;
		padding-right: 6.6vw;
		padding-left: 6.6vw;
	}
}

.medical-support-about__content {
	width: 130rem;
	margin-right: auto;
	margin-left: auto;
	background-color: #f4f4f4;
	padding-top: 7.8rem;
	padding-right: 11rem;
	padding-bottom: 10rem;
	padding-left: 11rem;
}
@media screen and (max-width: 767px) {
	.medical-support-about__content {
		width: 100%;
		padding-top: 17vw;
		padding-right: 0;
		padding-bottom: 12vw;
		padding-left: 0;
	}
}

.medical-support-about__title {
	text-align: center;
}
.medical-support-about__title span {
	display: block;
}
.medical-support-about__title::after {
	content: "";
	display: block;
	width: 5em;
	height: 1px;
	margin-top: 3em;
	margin-right: auto;
	margin-bottom: 4em;
	margin-left: auto;
	background-color: currentColor;
}
@media screen and (max-width: 767px) {
	.medical-support-about__title::after {
		width: 10em;
		height: 1px;
		margin-top: 2.25em;
		margin-right: auto;
		margin-bottom: 2.5em;
		margin-left: auto;
	}
}

.medical-support-about__title-sm {
	font-size: 1.9rem;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.medical-support-about__title-sm {
		font-size: 1.2rem;
		white-space: nowrap;
	}
}

.medical-support-about__title-lg {
	margin-top: 0.75em;
	line-height: 2;
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.medical-support-about__title-lg {
		margin-top: 1.25em;
		font-size: 1.45rem;
		white-space: nowrap;
	}
}

.medical-support-about__body {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 487fr 4.2rem 564fr;
	grid-template-columns: 487fr 564fr;
	gap: 4.2rem;
}
@media screen and (max-width: 767px) {
	.medical-support-about__body {
		display: flex;
		flex-direction: column-reverse;
		gap: 7vw;
		padding-right: 9vw;
		padding-left: 9vw;
	}
}

.medical-support-about__text {
	line-height: 2.3;
	text-align: justify;
	letter-spacing: 0.02em;
}

/*simple-page*/
.simple-page-main {
	background-color: #f4f4f4;
}

.simple-page-section {
	padding-top: 12.4rem;
	padding-bottom: 29rem;
}
@media screen and (max-width: 767px) {
	.simple-page-section {
		padding-top: 28vw;
		padding-bottom: 40vw;
		padding-right: 6.6vw;
		padding-left: 6.6vw;
	}
}

.simple-page-section__inner {
	padding-top: 9.4rem;
	padding-right: 8.8rem;
	padding-bottom: 9.4rem;
	padding-left: 8.8rem;
	background-color: white;
}
@media screen and (max-width: 767px) {
	.simple-page-section__inner {
		padding-top: 18.6vw;
		padding-bottom: 18.6vw;
		padding-right: 7.3vw;
		padding-left: 7.3vw;
	}
}
.simple-page-section__inner.simple-page-section__inner--sitemap {
	padding-top: 9.4rem;
	padding-right: 8.8rem;
	padding-bottom: 9.4rem;
	padding-left: 8.8rem;
}
@media screen and (max-width: 767px) {
	.simple-page-section__inner.simple-page-section__inner--sitemap {
		padding-top: 13vw;
		padding-bottom: 13vw;
		padding-right: 5vw;
		padding-left: 5vw;
	}
}
.simple-page-section__inner.simple-page-section__inner--sitemap-no-ir {
	padding-top: 9.4rem;
	padding-right: 8.8rem;
	padding-bottom: 8.8rem;
	padding-left: 8.8rem;
}
@media screen and (max-width: 767px) {
	.simple-page-section__inner.simple-page-section__inner--sitemap-no-ir {
		padding-top: 13vw;
		padding-bottom: 13vw;
		padding-right: 5vw;
		padding-left: 5vw;
	}
}

/*privacy*/
.privacy {
	letter-spacing: 0.05em;
	line-height: 2;
}

html[lang="ja"] .privacy {
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
}

.privacy a:hover {
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
	.privacy {
		font-size: 1.1rem;
		line-height: 1.96;
		letter-spacing: normal;
	}
}

/*sitemap*/
@media screen and (max-width: 767px) {
	.sitemap {
		display: flex;
		justify-content: center;
	}
}

.sitemap__image-pc .cls-1 {
	fill: white;
}
.sitemap__image-pc .cls-2 {
	fill: gray;
}
@media screen and (max-width: 767px) {
	.sitemap__image-pc {
		display: none;
	}
}
.sitemap__image-pc a {
	transition: opacity 0.25s;
}
.sitemap__image-pc a:hover {
	opacity: 0.7;
}

.sitemap__image-sp {
	display: none;
}
@media screen and (max-width: 767px) {
	.sitemap__image-sp {
		display: block;
		width: 100%;
	}
	.sitemap__image-sp svg {
		height: 100%;
	}
	.sitemap__image-sp .cls-1 {
		fill: #fff;
	}
	.sitemap__image-sp .cls-2 {
		fill: gray;
	}
}

.sitemap__list {
	font-size: 2.5rem;
	line-height: 1.5;
}

.sitemap__list-item {
	display: flex;
}
@media screen and (max-width: 767px) {
	.sitemap__list-item {
		display: block;
	}
}

.sitemap__list-2nd-header {
	position: relative;
	flex-shrink: 0;
	margin-right: 1em;
}
@media screen and (max-width: 767px) {
	.sitemap__list-2nd-header {
		margin-right: 0;
	}
}
.sitemap__list-2nd-header::after {
	content: "";
	position: absolute;
	top: 0.8em;
	right: calc(-7.3rem - 1em);
	display: block;
	width: 7.3rem;
	height: 1px;
	background-color: #808080;
}
@media screen and (max-width: 767px) {
	.sitemap__list-2nd-header::after {
		content: none;
	}
}

.sitemap__list-2nd {
	position: relative;
	flex-shrink: 0;
	padding-left: 14.6rem;
}
@media screen and (max-width: 767px) {
	.sitemap__list-2nd {
		padding-top: 0.25em;
		padding-left: 4.28rem;
	}
}
.sitemap__list-2nd::before {
	content: "";
	position: absolute;
	top: 0.8em;
	left: 7.3rem;
	display: block;
	width: 1px;
	height: calc(100% - 1.425em);
	background-color: #808080;
}
@media screen and (max-width: 767px) {
	.sitemap__list-2nd::before {
		top: 0;
		left: 1.05rem;
		height: calc(100% - 0.55em);
	}
}

.sitemap__list-2nd-item {
	position: relative;
	display: flex;
}
@media screen and (max-width: 767px) {
	.sitemap__list-2nd-item {
		display: block;
	}
}
.sitemap__list-2nd-item::before {
	content: "";
	position: absolute;
	top: 0.8em;
	left: -7.3rem;
	display: block;
	width: 7.3rem;
	height: 1px;
	background-color: #808080;
}
@media screen and (max-width: 767px) {
	.sitemap__list-2nd-item::before {
		top: 0.9em;
		left: -3.23rem;
		display: block;
		width: 3.23rem;
	}
}
.sitemap__list-2nd-item + .sitemap__list-2nd-item {
	margin-top: 2.25em;
}
@media screen and (max-width: 767px) {
	.sitemap__list-2nd-item + .sitemap__list-2nd-item {
		margin-top: 0.1em;
	}
}
@media screen and (max-width: 767px) {
	.sitemap__list-2nd-item.sitemap__list-2nd-item--has-submenu {
		margin-top: 0.5em;
	}
}
@media screen and (max-width: 767px) {
	.sitemap__list-2nd-item.sitemap__list-2nd-item--has-submenu
		+ .sitemap__list-2nd-item:not(.sitemap__list-2nd-item--has-submenu) {
		margin-top: 0.85em;
	}
}

.sitemap__list-2nd-item-inner {
	margin-left: 1em;
	margin-right: 1em;
}
@media screen and (max-width: 767px) {
	.sitemap__list-2nd-item-inner {
		margin-left: 0.5em;
		margin-right: 0.5em;
	}
}

.sitemap__list-3rd-header {
	position: relative;
	flex-shrink: 0;
	width: 8.3rem;
	margin-left: 1em;
	margin-right: 1em;
}
@media screen and (max-width: 767px) {
	.sitemap__list-3rd-header {
		margin-left: 0.5em;
		margin-right: 0.5em;
	}
}
.sitemap__list-3rd-header::after {
	content: "";
	position: absolute;
	top: 0.8em;
	right: calc(-7.3rem - 1em);
	display: block;
	width: 7.3rem;
	height: 1px;
	background-color: #808080;
}
@media screen and (max-width: 767px) {
	.sitemap__list-3rd-header::after {
		content: none;
	}
}

.sitemap__list-3rd {
	position: relative;
	flex-shrink: 0;
	padding-left: 14.6rem;
}
@media screen and (max-width: 767px) {
	.sitemap__list-3rd {
		padding-left: calc(0.5em + 1.05rem + 3.23rem);
	}
}
.sitemap__list-3rd::before {
	content: "";
	position: absolute;
	top: 0.8em;
	left: 7.3rem;
	display: block;
	width: 1px;
	height: calc(100% - 1.425em);
	background-color: #808080;
}
@media screen and (max-width: 767px) {
	.sitemap__list-3rd::before {
		top: 0;
		left: calc(0.5em + 1.05rem);
		height: calc(100% - 0.55em);
	}
}

.sitemap__list-3rd-item {
	position: relative;
	padding-left: 1em;
}
@media screen and (max-width: 767px) {
	.sitemap__list-3rd-item {
		padding-left: 0.5em;
	}
}
.sitemap__list-3rd-item::before {
	content: "";
	position: absolute;
	top: 0.8em;
	left: -7.3rem;
	display: block;
	width: 7.3rem;
	height: 1px;
	background-color: #808080;
}
@media screen and (max-width: 767px) {
	.sitemap__list-3rd-item::before {
		top: 0.9em;
		left: -3.23rem;
		display: block;
		width: 3.23rem;
	}
}
.sitemap__list-3rd-item + .sitemap__list-3rd-item {
	margin-top: 1em;
}
@media screen and (max-width: 767px) {
	.sitemap__list-3rd-item + .sitemap__list-3rd-item {
		margin-top: 0.1em;
	}
}

.sitemap__list-3rd-item-nest {
	margin-left: 0.6em;
	margin-top: 0.75em;
}
@media screen and (max-width: 767px) {
	.sitemap__list-3rd-item-nest {
		margin-left: 0.75rem;
		margin-top: -0.2em;
	}
}

.sitemap__list-3rd-item-nest-item::before {
	content: "";
	display: inline-block;
	height: 1.3em;
	width: 1em;
	margin-right: 0.3em;
	border-left: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: translateY(-0.25em);
}
@media screen and (max-width: 767px) {
	.sitemap__list-3rd-item-nest-item::before {
		content: "";
		display: inline-block;
		height: 0.75em;
		width: 0.5em;
		margin-right: 0.085em;
		border-left: 1px solid currentColor;
		border-bottom: 1px solid currentColor;
		transform: translateY(-0.2em);
	}
}

.sitemap__link {
	display: inline-block;
}
.sitemap__link img {
	transition: opacity 0.25s ease-out;
}
.sitemap__link:hover img {
	opacity: 0.75;
}
.sitemap__list-3rd--jp .sitemap__link {
	font-size: 2.25rem;
	letter-spacing: 0.05em;
}

@media screen and (min-width: 767px) {
	html[lang="en"] .sitemap__list-3rd--jp .sitemap__link {
		/* font-size: 2.2rem; */
		max-width: 26ch;
	}
}

@media screen and (max-width: 767px) {
	.sitemap__list-3rd--jp .sitemap__link {
		font-size: 1rem;
		line-height: 1.4;
		-webkit-transform: translateY(-0.125em);
		transform: translateY(-0.125em);
		display: inline-block;
	}
}

.sitemap__image {
	vertical-align: middle;
}
@media screen and (max-width: 767px) {
	.sitemap__list-2nd .sitemap__image {
		-webkit-transform: translateY(15%);
		transform: translateY(15%);
	}
}
.sitemap__image.sitemap__image--top {
	width: 4.7rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--top {
		width: 2.1rem;
	}
}
.sitemap__image.sitemap__image--about {
	width: 6.9rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--about {
		width: 9.2vw;
	}
}
.sitemap__image.sitemap__image--top-message {
	width: 14.9rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--top-message {
		width: 6.3rem;
	}
}
.sitemap__image.sitemap__image--foundingspirit {
	width: 14.9rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--foundingspirit {
		width: 6.3rem;
	}
}

.sitemap__image.sitemap__image--corporate-profile {
	width: 20rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--corporate-profile {
		width: 8.5rem;
	}
}
.sitemap__image.sitemap__image--board-member {
	width: 17rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--board-member {
		width: 7.2rem;
	}
}
.sitemap__image.sitemap__image--philosophy {
	width: 12.1rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--philosophy {
		width: 5.14rem;
	}
}
.sitemap__image.sitemap__image--service {
	width: 8.1rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--service {
		width: 3.7rem;
	}
}
.sitemap__image.sitemap__image--brand-development {
	width: 22rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--brand-development {
		width: 9.35rem;
	}
}
.sitemap__image.sitemap__image--medical-support {
	width: 19rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--medical-support {
		width: 8rem;
	}
}
.sitemap__image.sitemap__image--d2c {
	width: 4.5rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--d2c {
		width: 1.8rem;
	}
}
.sitemap__image.sitemap__image--new-service {
	width: 14rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--new-service {
		width: 6rem;
	}
}
.sitemap__image.sitemap__image--ir {
	width: 1.88rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--ir {
		width: 2.65vw;
	}
}
.sitemap__image.sitemap__image--investors {
	width: 10.1rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--investors {
		width: 4.1rem;
	}
}
.sitemap__image.sitemap__image--ir-news {
	width: 9.2rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--ir-news {
		width: 3.9rem;
	}
}
.sitemap__image.sitemap__image--management {
	width: 15rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--management {
		width: 6.4rem;
	}
}
.sitemap__image.sitemap__image--financial-highlights {
	width: 22.8rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--financial-highlights {
		width: 9.7rem;
	}
}
.sitemap__image.sitemap__image--ir-library {
	width: 11rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--ir-library {
		width: 4.7rem;
	}
}
.sitemap__image.sitemap__image--stock-information {
	width: 20rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--stock-information {
		width: 8.5rem;
	}
}
.sitemap__image.sitemap__image--other-ir-information {
	width: 23.7rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--other-ir-information {
		width: 10.1rem;
	}
}
.sitemap__image.sitemap__image--public-notice {
	width: 15rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--public-notice {
		width: 6.4rem;
	}
}
.sitemap__image.sitemap__image--recruit {
	width: 7.7rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--recruit {
		width: 3.5rem;
	}
}
.sitemap__image.sitemap__image--contact {
	width: 8.7rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--contact {
		width: 4rem;
	}
}
.sitemap__image.sitemap__image--sitemap {
	width: 9.95rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--sitemap {
		width: 4.5rem;
	}
}
.sitemap__image.sitemap__image--privacy-policy {
	width: 15.85rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--privacy-policy {
		width: 7.3rem;
	}
}
.sitemap__image.sitemap__image--news {
	width: 6.1rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--news {
		width: 7.7vw;
	}
}
.sitemap__image.sitemap__image--products {
	width: 9.4rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--products {
		width: 12.53vw;
	}
}

.sitemap__image.sitemap__image--founding-spirit {
	width: 17.66rem;
}
@media screen and (max-width: 767px) {
	.sitemap__image.sitemap__image--founding-spirit {
		width: 23.6vw;
	}
}

/*contact*/
@media screen and (max-width: 767px) {
	.simple-page-section__inner--contact {
		padding-bottom: 0;
	}
}

.contact-header {
	margin-bottom: 7.8rem;
}
@media screen and (max-width: 767px) {
	.contact-header {
		margin-bottom: 18vw;
	}
}

.contact-header__text {
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.88;
	font-weight: 400;
	letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
	.contact-header__text {
		font-size: 1.4rem;
		line-height: 2;
		/* white-space: nowrap; */
		letter-spacing: normal;
	}
}

.contact-header__note {
	text-align: right;
	margin-top: 1.5em;
	font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
	.contact-header__note {
		font-size: 1.2rem;
	}
}

.form__list {
	margin-bottom: 7.2rem;
	font-weight: 400;
}
@media screen and (max-width: 767px) {
	.form__list {
		margin-bottom: 12.8vw;
	}
}

.form__header {
	font-size: 1.6rem;
	letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
	.form__header {
		font-size: 1.4rem;
		line-height: 2;
	}
}
.form__header small {
	margin-left: 0.75em;
	font-size: 0.85em;
	color: #808080;
}

.form__header + .form__body {
	margin-top: 0.75em;
}
@media screen and (max-width: 767px) {
	.form__header + .form__body {
		margin-top: 0.125em;
	}
}

.form__body {
	font-size: 1.6rem;
	letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
	.form__body {
		font-size: 1.4rem;
		line-height: 2;
	}
}

.form__body--selectbox {
	position: relative;
}
.form__body--selectbox:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 2em;
	display: block;
	width: 2rem;
	height: 1.6rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background-image: url("../images/drop-down-arrow.svg");
	background-size: contain;
	background-repeat: no-repeat;
	pointer-events: none;
}
@media screen and (max-width: 767px) {
	.form__body--selectbox:after {
		width: 4vw;
		height: 6.8vw;
		right: 0.75em;
		-webkit-transform: translateY(-27%);
		transform: translateY(-27%);
	}
}

.form__body + .form__header {
	margin-top: 3.2rem;
}
@media screen and (max-width: 767px) {
	.form__body + .form__header {
		margin-top: 1.25em;
	}
}

.form__list--kakunin {
	display: flex;
	flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
	.form__list--kakunin {
		display: block;
	}
}
.form__list--kakunin .form__header {
	width: 35%;
	margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
	.form__list--kakunin .form__header {
		width: 100%;
		margin-top: 1.5em;
	}
}
.form__list--kakunin .form__body {
	width: 65%;
	margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
	.form__list--kakunin .form__body {
		width: 100%;
		margin-top: 0.25em;
	}
}

input,
select,
textarea {
	width: 100%;
	padding: 1.25em 1.5em;
	font-size: 1.3rem;
	letter-spacing: 0.06em;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	border: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
	input,
	select,
	textarea {
		font-size: 1rem;
		padding: 1em 1.25em;
	}
	.ios input,
	.ios select,
	.ios textarea {
		font-size: 16px;
	}
}

select {
	outline: none;
	text-overflow: "";
	background: none transparent;
	vertical-align: middle;
	color: inherit;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
}

select::-ms-expand {
	display: none;
}

@media screen and (max-width: 767px) {
	.form__footr {
		padding-top: 16vw;
		background-color: #f4f4f4;
	}
}

.form__footr-text {
	margin-bottom: 5.4rem;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
	.form__footr-text {
		margin-bottom: 9vw;
		background-color: #f4f4f4;
		font-size: 1.5rem;
		letter-spacing: normal;
	}
}

.form__button-wrap {
	display: flex;
	justify-content: center;
}
@media screen and (max-width: 767px) {
	.form__button-wrap {
		display: block;
		text-align: center;
	}
}
.form__button-wrap .button {
	margin: 0 1.2rem;
}
@media screen and (max-width: 767px) {
	.form__button-wrap .button {
		margin: 0;
	}
}
@media screen and (max-width: 767px) {
	.form__button-wrap form + form {
		margin-top: 2em;
	}
}

/*
custom select box
Reference: https://codepen.io/wallaceerick/pen/ctsCz
========================================================================== */
.select-hidden {
	display: none;
	visibility: hidden;
}

.select {
	cursor: pointer;
	display: inline-block;
	position: relative;
	width: 100%;
	height: auto;
	height: 4.5em;
	font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
	.select {
		font-size: 1rem;
		letter-spacing: normal;
	}
}

.select-styled {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: white;
	padding: 1.25em 1.5em;
	border: 1px solid #ccc;
	transition: background-color 0.125s ease-in;
}
@media screen and (max-width: 767px) {
	.select-styled {
		font-size: 1.075rem;
		padding: 1em 1.25em;
	}
}
.select-styled:hover {
	background-color: #f5f5f5;
}
.select-styled:active,
.select-styled.active {
	background-color: #f5f5f5;
}

.select-options {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	width: 100%;
	z-index: 999;
	margin-top: -1px;
	padding: 0;
	list-style: none;
	background-color: white;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	background-color: white;
}
.select-options li {
	margin: 0;
	padding: 12px 0;
	text-indent: 15px;
	border-top: 1px solid #ccc;
	transition: background-color 0.125s ease-in;
}
.select-options li:hover {
	background: #f5f5f5;
}
.select-options li[rel="hide"] {
	display: none;
}

/*news*/
.news__inner {
	padding-top: 12rem;
	padding-bottom: 22.7rem;
}
@media screen and (max-width: 767px) {
	.news__inner {
		padding-top: 26vw;
		padding-right: 11.3vw;
		padding-bottom: 29.3vw;
		padding-left: 11.3vw;
	}
}

@media screen and (min-width: 767px) {
	.news__list {
		display: grid;
		grid-template-columns: max-content max-content 1fr;
	}
}

.news__list-item {
	padding-top: 4.4rem;
	padding-right: 5.6rem;
	padding-bottom: 4.4rem;
	padding-left: 5.6rem;
	border-top: 1px solid #bebebe;
}
@media screen and (min-width: 767px) {
	.news__list-item {
		display: grid;
		grid-template-columns: subgrid;
		grid-column: 1 / span 3;
	}
}
@media screen and (max-width: 767px) {
	.news__list-item {
		padding-top: 9.6vw;
		padding-right: 0;
		padding-bottom: 8.4vw;
		padding-left: 0;
	}
}
.news__list-item:last-of-type {
	border-bottom: 1px solid #bebebe;
}
.news__list-item a {
	transition: opacity 0.25s ease-out;
}
.news__list-item a:hover {
	opacity: 0.8;
}

@media screen and (min-width: 767px) {
	.news__list-item-inner {
		display: grid;
		grid-template-columns: subgrid;
		grid-column: 1 / span 3;
	}
}

.news__list-item-category {
	flex-shrink: 0;
	min-width: 12rem;
	margin-right: 4.8rem;
	padding-top: 0.35em;
	padding-right: 1em;
	padding-bottom: 0.35em;
	padding-left: 1em;
	text-align: center;
	background-color: #595959;
	font-size: 1.3rem;
	font-weight: bold;
	color: white;
	white-space: nowrap;
}
.news__list-item-category:visited,
.news__list-item-category:active,
.news__list-item-category:focus {
	color: white !important;
}
@media screen and (max-width: 767px) {
	.news__list-item-category {
		display: inline-block;
		min-width: 32vw;
		margin-right: 1em;
		font-size: 1.1rem;
	}
}
.news__list-item-category.--wp-corporate {
	background-color: #606060;
}
.news__list-item-category.--wp-brand {
	background-color: #808080;
}
.news__list-item-category.--wp-pressrelease {
	background-color: #a0a0a0;
}
.news__list-item-category.--wp-info {
	background-color: #c0c0c0;
}

.news__list-item-date {
	flex-shrink: 0;
	margin-right: 5.2rem;
	font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
	.news__list-item-date {
		display: inline-block;
		margin-right: 0;
		font-size: 1.2rem;
	}
}

.news__list-item-text {
	font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
	.news__list-item-text {
		display: block;
		margin-top: 1em;
		font-size: 1.2rem;
	}
}

.news__list-footer {
	margin-top: 9rem;
}
@media screen and (max-width: 767px) {
	.news__list-footer {
		margin-top: 17.3vw;
	}
}

.page-nation {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (min-width: 768px) {
	.page-nation {
		justify-content: center;
	}
}

@media screen and (min-width: 768px) {
	.page-nation__left {
		margin-right: 10.8rem;
	}
}
.page-nation__left a {
	transition: opacity 0.25s ease-out;
}
.page-nation__left a:hover {
	opacity: 0.7;
}

.page-nation__left-inner {
	position: relative;
	display: flex;
	align-items: center;
	width: 12.4vw;
	opacity: 0.4;
}
@media screen and (min-width: 768px) {
	.page-nation__left-inner {
		width: 8.5rem;
	}
}
.page-nation__left-inner.page-nation__left-inner--active {
	opacity: 1;
}
.page-nation__left-inner::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translate(50%, -50%) rotate(45deg);
	transform: translate(50%, -50%) rotate(45deg);
	width: 3.1vw;
	height: 3.1vw;
	border-bottom: 1px solid black;
	border-left: 1px solid black;
}
@media screen and (min-width: 768px) {
	.page-nation__left-inner::before {
		width: 2.4rem;
		height: 2.4rem;
	}
}

.page-nation__left-icon {
	flex-shrink: 0;
	width: 7.3vw !important;
}
@media screen and (min-width: 768px) {
	.page-nation__left-icon {
		width: 3.16rem !important;
	}
}

@media screen and (min-width: 768px) {
	.page-nation__right {
		margin-left: 10.8rem;
	}
}
.page-nation__right a {
	transition: opacity 0.25s ease-out;
}
.page-nation__right a:hover {
	opacity: 0.7;
}

.page-nation__right-inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 13.8vw;
	opacity: 0.4;
}
@media screen and (min-width: 768px) {
	.page-nation__right-inner {
		width: 8.2rem;
	}
}
.page-nation__right-inner.page-nation__right-inner--active {
	opacity: 1;
}
.page-nation__right-inner::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg);
	width: 3.1vw;
	height: 3.1vw;
	border-top: 1px solid black;
	border-right: 1px solid black;
}
@media screen and (min-width: 768px) {
	.page-nation__right-inner::before {
		width: 2.4rem;
		height: 2.4rem;
	}
}

.page-nation__right-icon {
	flex-shrink: 0;
	width: 8.2vw !important;
}
@media screen and (min-width: 768px) {
	.page-nation__right-icon {
		width: 3.5rem !important;
	}
}

.page-nation__list {
	display: flex;
	justify-content: center;
	list-style: none;
}

.page-nation__item {
	color: #b2b2b2;
	font-size: 1.65rem;
	font-family: "Hind", sans-serif;
}
@media screen and (min-width: 768px) {
	.page-nation__item {
		font-size: 2rem;
	}
}
.page-nation__item + .page-nation__item {
	margin-left: 10.4vw;
}
@media screen and (min-width: 768px) {
	.page-nation__item + .page-nation__item {
		margin-left: 4.8rem;
	}
}
.page-nation__item.active {
	position: relative;
	color: inherit;
}

.page-nation__link {
	position: relative;
	transition: color 0.25s;
}
.page-nation__link:hover {
	opacity: 1;
	color: #555;
}
.page-nation__link::after {
	content: "";
	position: absolute;
	top: -0.25em;
	right: -0.5em;
	bottom: -0.25em;
	left: -0.5em;
}

/* .news
========================================================================== */
.news-single {
	padding-top: 15rem;
	padding-bottom: 17.4rem;
}
@media screen and (max-width: 767px) {
	.news-single {
		padding-top: 16vw;
		padding-right: 11.3vw;
		padding-bottom: 20vw;
		padding-left: 11.3vw;
	}
}

.news-single__content {
	padding-right: 5rem;
	padding-left: 5rem;
}
@media screen and (max-width: 767px) {
	.news-single__content {
		padding-right: 0;
		padding-left: 0;
	}
}

.news-single__header {
	margin-bottom: 7.2rem;
}
@media screen and (max-width: 767px) {
	.news-single__header {
		margin-bottom: 12.8vw;
	}
}

.news-single__label-wrap {
	display: inline-block;
	vertical-align: middle;
}
.news-single__label-wrap a {
	transition: opacity 0.25s ease-out;
}
.news-single__label-wrap a:hover {
	opacity: 0.8;
}

.news-single__label {
	display: block;
	min-width: 12rem;
	padding-top: 0.35em;
	padding-right: 1em;
	padding-bottom: 0.35em;
	padding-left: 1em;
	text-align: center;
	background-color: #595959;
	font-size: 1.3rem;
	font-weight: bold;
	color: white;
	white-space: nowrap;
}
.news-single__label:visited,
.news-single__label:active,
.news-single__label:focus {
	color: white !important;
}
@media screen and (max-width: 767px) {
	.news-single__label {
		font-size: 1.1rem;
	}
}
.news-single__label.--wp-corporate {
	background-color: #606060;
}
.news-single__label.--wp-brand {
	background-color: #808080;
}
.news-single__label.--wp-pressrelease {
	background-color: #a0a0a0;
}
.news-single__label.--wp-info {
	background-color: #c0c0c0;
}

.news-single__update {
	display: inline-block;
	margin-left: 2.4rem;
	vertical-align: middle;
	font-size: 1.4rem;
	color: #444040;
}
@media screen and (max-width: 767px) {
	.news-single__update {
		margin-left: 1em;
		font-size: 1.3rem;
	}
}

.news-single__title {
	margin-bottom: 8.6rem;
	line-height: 1.5;
	font-size: 3rem;
	color: #444040;
}
@media screen and (max-width: 767px) {
	.news-single__title {
		margin-bottom: 13vw;
		font-size: 1.4rem;
	}
}

.news-single__body {
	line-height: 2.16;
	font-size: 1.6rem;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
	.news-single__body {
		font-size: 1.2rem;
	}
}

.news-single__body * + p,
.news-single__body * + img {
	margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
	.news-single__body * + p,
	.news-single__body * + img {
		margin-top: 1.75em;
	}
}

.news-single__body p + *,
.news-single__body img + * {
	margin-top: 1.5em;
}
@media screen and (max-width: 767px) {
	.news-single__body p + *,
	.news-single__body img + * {
		margin-top: 1.75em;
	}
}

.news-single__body a {
	text-decoration: underline;
	text-underline-offset: 0.4em;
}

.news-single__body img {
	max-width: 64rem;
}
@media screen and (max-width: 767px) {
	.news-single__body img {
		max-width: initial;
	}
}

.news-single__footer {
	margin-top: 9.2rem;
	padding-top: 12rem;
	border-top: 1px solid #dbdbdb;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.news-single__footer {
		margin-top: 13vw;
		padding-top: 16vw;
	}
}

/* 404 */
/* .n404-main
   ========================================================================== */
.n404-main {
	min-height: 50vh;
}
@media screen and (max-width: 767px) {
	.n404-main {
		min-height: 60vh;
	}
}

/*先方追加*/
@media only screen and (min-width: 768px) {
	.footer-tosyologo-sp {
		display: none;
	}
}
@media only screen and (max-width: 767px) {
	.footer-tosyologo-sp {
		width: 13vw;
		float: right;
		margin: 0;
		padding-top: 4vw;
	}
}

/* weglot
   ========================================================================== */

/* デフォルト・スイッチャー全体を非表示（JSのweglot初期化でも無効化しているが念の為 */
.weglot-container,
.weglot-container * {
	display: none !important;
}

/* 言語用のユーティリティクラス
   ========================================================================== */

/* 英語版で非表示 */
html[lang="en"] .lang-en-hidden {
	display: none;
}

/* 英語版で表示 */
html:not([lang="en"]) .lang-en-show {
	display: none;
}

/* 英語版のスマホで非表示 */
@media screen and (max-width: 767px) {
	html[lang="en"] .sp-lang-en-hidden {
		display: none;
	}
}

/* override xj_ir.css
		========================================================================== */

html[lang="en"] .ir_item_tag {
	line-height: 1.25 !important;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}

@media screen and (max-width: 768px) {
	html[lang="en"] .ir_item_tag {
		width: auto !important;
		padding-right: 0.6em;
		padding-left: 0.6em;
	}
}

html[lang="en"] #xj-select-category {
	display: grid !important;
}

@media screen and (min-width: 768px) {
	html[lang="en"] #xj-select-category {
		grid-auto-columns: 1fr !important;
		grid-auto-flow: column !important;
	}
}

@media screen and (max-width: 767px) {
	html[lang="en"] #xj-select-category {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

html[lang="en"] #xj-select-category a {
	height: 100% !important;
	float: none !important;
	width: auto !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

html[lang="en"] #xj-select-category::after {
	content: none;
}

html[lang="en"] .ir_cat_tag {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 100% !important;
	padding-top: 0.6em !important;
	padding-bottom: 0.6em !important;
}

@media screen and (min-width: 768px) {
	html[lang="en"] .ir_cat_tag {
		line-height: 1.2 !important;
	}
}

html[lang="en"] .ir-contents__ttl {
	line-height: 1.3 !important;
}

@media screen and (max-width: 768px) {
	html[lang="en"] .ir-contents__ttl {
		font-size: 1.8rem !important;
	}
}

html[lang="en"] .ir_table .tcell1 {
	line-height: 1.5 !important;
}
