@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");

@import url("https://fonts.googleapis.com/css?family=Montserrat");

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

*,
*::before,
*::after {
	box-sizing: border-box;
	word-break: break-all;
}

html,
body {
	margin: 0;
	padding: 0;
}

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	background: #f0f0f0;
	color: #000;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
}

img {
	border: 0;
	height: auto;
	max-width: 100%;
	vertical-align: top;
}

p {
	margin: 0;
	padding: 0;
}

code,
kbd,
pre,
samp {
	font-family: monospace;
	font-size: 1em;
}

pre code {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 1em;
}

ul,
ol {
	margin: 0;
	padding: 0 0 0 20px;
}

li a {
	color: #509f3d;
}

li a:hover {
	opacity: 0.6;
}

table {
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0;
	table-layout: fixed;
	width: 100%;
}

th,
td {
	border: 1px solid rgba(0, 0, 0, 0.2);
	padding: 0.4em 0.6em;
	text-align: left;
	vertical-align: top;
}

blockquote {
	margin: 0 1em;
}

form {
	margin: 0;
	padding: 0;
}

input,
textarea {
	-webkit-appearance: none;
	background-color: #f0f0f0;
	background-image: none;
	border: none;
	border-radius: 0;
	font-family: inherit;
	font-size: 1em;
	padding: 0.6em 0.8em;
	width: 100%;
}

textarea:focus {
	outline: none;
}

input:focus {
	outline: none;
}

input[type="submit"] {
	background: #fff;
	border: 1px solid #000;
	width: auto;
}

input[type="submit"]:hover,
input[type="submit"]:focus {
	cursor: pointer;
	outline: none;
}

input[type="submit"] ::-moz-focus-inner {
	border: none;
	padding: 0;
}

input[type="radio"] {
	display: none;
}

input[type="radio"] + span {
	cursor: pointer;
	display: inline-block;
	margin: 0 16px 0 0;
	padding: 0 0 0 26px;
	position: relative;
}

input[type="radio"] + span::before {
	-webkit-transform: translateY(-50%);
	background: #fff;
	border: 1px solid #eee;
	border-radius: 50%;
	content: "";
	display: block;
	height: 20px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}

input[type="radio"] + span::after {
	opacity: 0;
	transition: opacity 0.3s ease 0s;
}

input[type="radio"]:checked + span::after {
	-webkit-transform: translateY(-50%);
	background: #509f3d;
	border-radius: 50%;
	content: "";
	display: block;
	height: 10px;
	left: 5px;
	opacity: 1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
}

input[type="checkbox"] {
	display: none;
}

input[type="checkbox"] + span {
	cursor: pointer;
	display: inline-block;
	margin: 0 16px 0 0;
	padding: 0 0 0 26px;
	position: relative;
	transition: all 1s ease 0s;
}

input[type="checkbox"] + span::before {
	-webkit-transform: translateY(-50%);
	background: #fff;
	border: 1px solid #eee;
	border-radius: 2px;
	content: "";
	display: block;
	height: 20px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}

input[type="checkbox"] + span::after {
	opacity: 0;
	transition: opacity 0.3s ease 0s;
}

input[type="checkbox"]:checked + span::after {
	-webkit-transform: translateY(-50%) rotate(-45deg);
	border-bottom: 4px solid #509f3d;
	border-left: 4px solid #509f3d;
	content: "";
	display: block;
	height: 12px;
	left: 0;
	margin-top: -0.2em;
	opacity: 1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
	width: 20px;
}

select {
	-moz-appearance: none;
	-webkit-appearance: none;
	background-image: none;
	border: 1px solid #000;
	border-radius: 0;
	color: inherit;
	cursor: pointer;
	font-family: inherit;
	font-size: 1em;
	padding: 0.4em 2.4em 0.4em 0.8em;
	width: 100%;
}

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

select:focus {
	border: 1px solid rgba(0, 0, 0, 0.3);
	box-shadow: none;
	outline: none;
}

.inner {
	margin: 0 auto;
	max-width: 100%;
	padding: 48px 0;
}

#header,
#content,
#footer {
	width: 100%;
}

#secondary {
	padding: 0 12px;
}

.row {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	height: 100%;
	width: 100%;
}

.row-b {
	display: flex;
	flex-direction: row;
	height: 100%;
	justify-content: space-between;
	width: 100%;
}

.row-c {
	align-items: center;
	display: flex;
	flex-direction: row;
	height: 100%;
	width: 100%;
}

.row-bc {
	align-items: center;
	display: flex;
	flex-direction: row;
	height: 100%;
	justify-content: space-between;
	width: 100%;
}

.sp-only {
	display: none;
}

.sp-hidden {
	display: block;
}

.pc-only {
	display: none;
}

.pc-hidden {
	display: block;
}

/* btn component */

.btn {
	-webkit-appearance: none;
	background-color: #4caf50;
	background-image: none;
	border: none;
	border-radius: 0;
	box-shadow: 0.0625em 0.0625em 0.1875em 0 rgba(0, 0, 0, 0.2);
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	margin: 0 0 1em;
	padding: 0.6em 2em;
	text-decoration: none;
}

.btn::-moz-foucus-inner {
	border: none;
	padding: 0;
}

.btn:hover,
.btn:focus {
	outline: none;
}

.c-card {
	background: #fff;
	box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.1);
	display: inline-block;
	height: auto;
	margin: 0 0 1.6em;
	max-width: 100%;
	position: relative;
	text-align: left;
	text-decoration: none;
}

.c-card .c-card-img {
	height: 0;
	margin: 0;
	overflow: hidden;
	padding: 0 0 56.25% 0;
	text-align: center;
	width: 100%;
}

.c-card .c-card-img img {
	height: auto;
	margin: 0;
	max-width: 100%;
	vertical-align: top;
}

.c-card .c-card-body {
	padding: 0.8em;
}

.c-card .c-card-body time {
	color: #4d4d4d;
	font-size: 0.875em;
}

.c-card .c-card-body .c-card-title {
	color: #333;
	font-size: 1.2em;
	margin: 0.4em 0;
}

.c-card .c-card-body p {
	color: #4d4d4d;
	font-size: 0.95em;
	margin: 0;
}

.c-card .c-card-cate {
	background: #509f3d;
	color: #fff;
	font-size: 0.875em;
	line-height: 1;
	padding: 0.4em 0.8em;
	position: absolute;
	right: 0;
	top: 0;
}

#drawer {
	display: none;
	left: 0;
	position: fixed;
	top: 0;
	z-index: 40;
}

#drawer.drawer-right {
	left: auto;
	right: 0;
}

.drawer-hidden {
	display: none;
}

#drawer-open {
	-webkit-transform: translateX(0);
	background: #509f3d;
	cursor: pointer;
	display: inline-block;
	height: 60px;
	position: relative;
	transform: translateX(0);
	transition: 0.5s ease-in-out;
	vertical-align: middle;
	width: 60px;
}

#drawer-open span {
	background: #fff;
	border-radius: 3px;
	display: block;
	height: 4px;
	left: 50%;
	margin: -2px 0 0 -14px;
	position: absolute;
	top: 50%;
	transition: 0.5s ease-in-out;
	width: 28px;
}

#drawer-open span::before,
#drawer-open span::after {
	-webkit-transform: rotate(0);
	background: #fff;
	border-radius: 3px;
	content: "";
	cursor: pointer;
	display: block;
	height: 100%;
	left: 50%;
	margin: -2px 0 0 -50%;
	position: absolute;
	top: 50%;
	transform: rotate(0);
	transition: 0.5s ease-in-out;
	width: 100%;
}

#drawer-open span::before {
	-webkit-transform: rotate(0);
	margin-top: -10px;
	transform: rotate(0);
}

#drawer-open span::after {
	-webkit-transform: rotate(0);
	margin-top: 6px;
	transform: rotate(0);
}

#drawer-close {
	background: #000;
	display: none;
	height: 100%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition: 0.3s ease-in-out;
	width: 100%;
	z-index: 39;
}

#drawer-content {
	-webkit-transform: translateX(-105%);
	background: #fff;
	height: 100%;
	left: 0;
	max-width: 90%;
	overflow: auto;
	position: fixed;
	top: 0;
	transform: translateX(-105%);
	transition: 0.5s ease-in-out;
	width: 250px;
	z-index: 40;
}

#drawer-content .drawer-title {
	font-size: 1em;
	font-weight: 700;
	padding: 0 34px;
	text-align: center;
}

#drawer.drawer-right #drawer-content {
	-webkit-transform: translateX(105%);
	left: auto;
	right: 0;
	text-align: left;
	transform: translateX(105%);
}

#drawer-check:checked ~ #drawer-open.drawer-open-fixed {
	-webkit-transform: translateX(250px);
	position: relative;
	transform: translateX(250px);
	z-index: 41;
}

#drawer-check:checked ~ #drawer-open.drawer-open-fixed span {
	background: rgba(255, 255, 255, 0);
}

#drawer-check:checked ~ #drawer-open.drawer-open-fixed span::before,
#drawer-check:checked ~ #drawer-open.drawer-open-fixed span::after {
	background: #fff;
	border-radius: 3px;
	content: "";
	display: block;
	height: 4px;
	left: 50%;
	margin: -2px 0 0 -14px;
	position: absolute;
	top: 50%;
	width: 28px;
}

#drawer-check:checked ~ #drawer-open.drawer-open-fixed span::before {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#drawer-check:checked ~ #drawer-open.drawer-open-fixed span::after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#drawer.drawer-right #drawer-check:checked ~ #drawer-open.drawer-open-fixed {
	-webkit-transform: translateX(-250px);
	transform: translateX(-250px);
}

.drawer-close-icon {
	cursor: pointer;
	display: inline-block;
	height: 60px;
	position: relative;
	vertical-align: middle;
	width: 60px;
}

.drawer-close-icon span::before,
.drawer-close-icon span::after {
	background: #fff;
	border-radius: 3px;
	content: "";
	display: block;
	height: 4px;
	left: 50%;
	margin: -2px 0 0 -14px;
	position: absolute;
	top: 50%;
	width: 28px;
}

.drawer-close-icon span::before {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.drawer-close-icon span::after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#drawer-check:checked ~ #drawer-close {
	display: block;
	opacity: 0.4;
}

#drawer-check:checked ~ #drawer-content {
	-webkit-transform: translateX(0);
	box-shadow: 6px 0 25px rgba(0, 0, 0, 0.16);
	transform: translateX(0);
}

.drawer-head {
	color: #509f3d;
	font-size: 1.2em;
	font-weight: 700;
	line-height: 60px;
	text-align: center;
}

.drawer-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.drawer-item a {
	color: #000;
	display: block;
	padding: 1em;
	text-decoration: none;
}

.icon-head {
	display: inline-block;
	margin-right: 20px;
	padding-right: 30px;
	position: relative;
	vertical-align: middle;
}

.icon-head::after {
	-webkit-transform: translateY(-50%);
	background: #000;
	content: "";
	height: 45px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
}

.icon-in {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
}

.icon-head-lead {
	color: #509f3d;
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	line-height: 1;
	margin-bottom: 4px;
}

.icon-head-no {
	color: #509f3d;
	font-family: "Montserrat", sans-serif;
	font-size: 29px;
	line-height: 1;
}

.company .inner {
	padding-bottom: 70px;
	padding-top: 70px;
}

.company .card {
	padding-left: 30px;
	padding-right: 30px;
}

.toc {
	display: flex;
	margin-bottom: 44px;
}

.toc-head {
	color: #509f3d;
	font-family: "Montserrat", sans-serif;
	font-size: 32px;
	line-height: 1.2;
	padding-left: 28px;
	width: 20%;
}

.toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
	padding-top: 12px;
	width: 80%;
}

.toc-list li {
	margin-bottom: 18px;
}

.toc-list li:last-child {
	margin-bottom: 0;
}

.toc-list li a {
	color: #808080;
	font-size: 18px;
	line-height: 0.47619;
	text-decoration: none;
}

.toc-list li a:hover {
	opacity: 0.6;
}

.company-card {
	margin-bottom: 30px;
	padding: 24px 30px;
}

.company-card.m_leadership,
.company-card.company-card-roadmap,
.company-card.company-card-history {
	background: #f5f5f5;
	padding-top: 48px;
}

.company-card.company-card-roadmap {
	padding-bottom: 130px;
}

.company-card.company-card-roadmap {
	padding-bottom: 46px;
}

.company-card-head {
	font-size: 27px;
	font-weight: 500;
	margin: 0 0 36px;
	position: relative;
}

.company-card-head span {
	vertical-align: middle;
}

.company-card-head .company-card-head-img {
	display: inline-block;
	margin-right: 20px;
	padding-right: 30px;
	position: relative;
	vertical-align: middle;
}

.company-card-head .company-card-head-img::after {
	-webkit-transform: translateY(-50%);
	background: #000;
	content: "";
	height: 42px;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
}

.company-card-head img {
	height: 44px;
	vertical-align: middle;
	width: auto;
}

.company-card-body dl {
	border-bottom: 1px solid #f0f0f0;
	font-size: 0;
	margin: 0;
	padding: 22px 0 6px;
}

.company-card-body dl:first-child {
	padding-top: 0;
}

.company-card-body dt {
	display: inline-block;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.75;
	margin: 0 0 16px;
	padding: 0;
	vertical-align: middle;
	width: 22%;
}

.company-card-body dd {
	display: inline-block;
	font-size: 18px;
	line-height: 1.75;
	margin: 0 0 16px;
	padding: 0;
	vertical-align: middle;
	width: calc(100% - 22%);
}

.company-card-body.company-card-body-en dt {
	padding-right: 62px;
	vertical-align: top;
	width: 30%;
}

.company-card-body.company-card-body-en dd {
	vertical-align: top;
	width: calc(100% - 30%);
}

.company-card-body p {
	font-size: 18px;
	letter-spacing: 0.05em;
	line-height: 2.1;
	margin-bottom: 30px;
}

.company-card-body p:last-child {
	margin-bottom: 0;
}

.company-card-profile {
	align-items: center;
	display: flex;
	flex-direction: row-reverse;
	margin: 0 auto 26px;
	max-width: 100%;
	width: 510px;
}

.company-card-profile-img {
	text-align: center;
	width: 36%;
}

.company-card-profile-img img {
	width: 185px;
}

.company-card-profile-info {
	margin-top: 28px;
	width: 64%;
}

.company-card-profile-info ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.company-card-profile-info ul li {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 8px;
}

.company-card-profile-info ul li span {
	font-weight: 400;
}

.company-card-performance {
	align-items: center;
	display: flex;
	margin-top: 50px;
}

.company-card-performance-head {
	color: #4b4b4b;
	font-size: 22px;
	font-weight: 700;
	margin-right: auto;
	margin-top: -24px;
	width: 20%;
}

.company-card-performance-list {
	border-left: 1px solid #509f3d;
	padding-left: 60px;
	position: relative;
	width: 73%;
}

.company-card-performance-list span {
	-webkit-transform: translateY(-50%);
	background: #509f3d;
	height: 1px;
	position: absolute;
	right: 100%;
	top: 50%;
	transform: translateY(-50%);
	width: 53px;
}

.company-card-performance-list::before,
.company-card-performance-list::after {
	background: #509f3d;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 0;
	width: 12px;
}

.company-card-performance-list::after {
	bottom: 0;
	top: auto;
}

.company-card-performance-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.company-card-performance-list ul li {
	color: #4b4b4b;
	font-size: 18px;
	margin-bottom: 8px;
	position: relative;
}

.company-card-performance-list ul li::before {
	content: "-";
	position: absolute;
	right: calc(100% + 4px);
	top: 0;
}

.company-table-attention {
	color: #509f3d;
	display: none;
	font-size: 16px;
	font-weight: 700;
}

.company-card-table {
	margin-top: 32px;
	overflow-x: auto;
}

.company-card-table table {
	border: none;
}

.company-card-table table tr th {
	height: 122px;
}

.company-card-table table tr:first-child th {
	border-top: none;
	height: 136px;
}

.company-card-table table tr:last-child th,
.company-card-table table tr:last-child td {
	border-bottom: none;
}

.company-card-table table th,
.company-card-table table td {
	border: 2px solid #fff;
	text-align: center;
}

.company-card-table table th {
	background: #dcdcdc;
	color: #231815;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.22222;
	vertical-align: middle;
	width: 136px;
}

.company-card-table table th span {
	color: #509f3d;
	font-size: 22px;
}

.company-card-table table th span.th-small {
	color: #231815;
	display: block;
	font-size: 14px;
}

.company-card-table table th:nth-of-type(1) {
	background: #dcdcdc;
	border-left: none;
	width: 116px;
}

.company-card-table table th:nth-of-type(2) {
	background: #bebebe;
}

.company-card-table table th:nth-of-type(3) {
	background: #bebebe;
}

.company-card-table table th:nth-of-type(4) {
	background: #dcdcdc;
}

.company-card-table table th:nth-of-type(5) {
	background: #dcdcdc;
}

.company-card-table table th:nth-of-type(6) {
	background: #dcdcdc;
	border-right: none;
}

.company-card-table table td {
	font-size: 16px;
	line-height: 1.25;
	vertical-align: middle;
}

.company-card-table table td:nth-of-type(1) {
	background: rgba(80, 159, 61, 0.5);
}

.company-card-table table td:nth-of-type(2) {
	background: rgba(80, 159, 61, 0.4);
}

.company-card-table table td:nth-of-type(3) {
	background: rgba(80, 159, 61, 0.3);
}

.company-card-table table td:nth-of-type(4) {
	background: rgba(80, 159, 61, 0.2);
}

.company-card-table table td:nth-of-type(5) {
	background: rgba(80, 159, 61, 0.1);
	border-right: none;
}

.company-card-table.company-card-table-en table td {
	text-align: left;
}

.company-card-history ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.company-card-history ul li {
	font-size: 0;
	margin-bottom: 11px;
	padding-left: 130px;
	position: relative;
}

.company-card-history ul li time {
	display: inline-block;
	font-size: 18px;
	left: 0;
	position: absolute;
	top: 0;
	vertical-align: middle;
	width: 130px;
}

.company-card-history ul li span {
	color: #509f3d;
	display: inline-block;
	font-size: 18px;
	vertical-align: middle;
}

.company-group-card {
	display: flex;
	flex-direction: row-reverse;
	margin: 0 0 50px;
}

.company-group-card:last-child {
	margin-bottom: 0;
}

.company-group-card-img {
	text-align: center;
	width: 145px;
}

.company-group-card-img img {
	display: none;
	width: 145px;
}

.company-group-card-body {
	padding-right: 50px;
	width: calc(100% - 145px);
}

.company-group-card-body p {
	font-size: 18px;
	line-height: 1.88889;
}

.company-group-card-head {
	margin-bottom: 14px;
}

.company-group-card-name {
	display: inline-block;
	font-size: 24px;
	margin: 0 0 0;
}

.company-group-card-ruby {
	color: #969696;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	margin-left: 14px;
}

.company-group-card-pos {
	font-size: 20px;
}

.contact-table {
	border: none;
}

.contact-table th,
.contact-table td {
	border: none;
	padding: 8px 0 46px;
	vertical-align: top;
}

.contact-table th {
	font-size: 18px;
	font-weight: 500;
	padding-top: 22px;
	width: 302px;
}

.contact-table td {
	padding-left: 10px;
	padding-right: 10px;
}

.contact-table input[type="text"],
.contact-table input[type="mail"] {
	height: 50px;
	line-height: 50px;
	padding-bottom: 0;
	padding-top: 0;
}

.contact-table select {
	background: transparent url(../img/contact-arrow.jpg) no-repeat center right 18px/22px 30px;
	height: 50px;
	line-height: 50px;
	padding-bottom: 0;
	padding-top: 0;
	width: 500px;
}

.contact-table textarea {
	height: 320px;
}

.contact-attention {
	font-size: 14px;
	text-align: center;
}

.contact-submit {
	text-align: center;
}

.contact-submit input[type="submit"] {
	font-size: 18px;
	height: 40px;
	line-height: 40px;
	margin: 24px auto 0;
	padding: 0;
	text-align: center;
	transition: all 0.3s ease 0s;
	width: 265px;
}

.contact-submit input[type="submit"]:hover {
	background: #000;
	color: #fff;
}

.contact-submit input[type="submit"]:disabled {
	background: #fff;
	color: #000;
	opacity: 0.5;
}

.top-card {
	background: #fff;
	display: flex;
	flex-direction: column;
	padding: 30px 60px;
	width: 48%;
}

.top-card-title {
	font-family: "Montserrat", sans-serif;
	font-size: 26px;
	line-height: 1.3;
	margin-bottom: 8px;
}

.top-card-lead {
	font-size: 18px;
	line-height: 1.8;
	margin-bottom: 12px;
}

.top-card-link {
	margin-top: auto;
}

.top-card-link > a {
	color: #509f3d;
	font-family: "Montserrat", sans-serif;
	font-size: 22px;
	margin-right: 74px;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

.top-card-link > a:last-child {
	margin-right: 0;
}

.top-card-link > a:hover {
	opacity: 0.6;
}

.top-card-link > a span {
	color: #509f3d;
	font-size: 20px;
	margin-right: 8px;
}

.top-card-link > a img {
	margin-right: 8px;
	margin-top: -4px;
	vertical-align: middle;
	width: 10px;
}

.top-vst {
	display: flex;
	margin-bottom: 40px;
}

.top-vst .top-card:first-child {
	margin-right: auto;
}

.top-com {
	display: flex;
	margin-bottom: 40px;
}

.top-com .top-card {
	padding-top: 52px;
}

.top-com .top-card-link {
	margin-top: 0;
}

.top-img {
	background: #fff;
	max-width: 100%;
	width: 580px;
}

.top-ir .top-card {
	width: 100%;
}

.top-ir .top-card .top-card-link {
	margin-top: 6px;
}

.top-ir-items {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 24px;
}

.top-ir-item {
	margin-top: 0;
	width: 48%;
}

.top-ir-item:nth-child(2n) {
	padding-left: 60px;
	padding-right: 60px;
}

.top-ir-item time {
	font-size: 18px;
	line-height: 1;
}

.top-ir-title {
	font-size: 18px;
	line-height: 1.2;
	margin-bottom: 18px;
}

#cta {
	background: #fff;
}

#cta .inner {
	padding-bottom: 38px;
	padding-top: 40px;
	text-align: center;
}

#cta h2 {
	font-size: 26px;
	margin: 0 0 12px;
	text-align: center;
}

#cta p {
	font-size: 16px;
	line-height: 1.75;
	text-align: center;
}

.cta-btn {
	margin-top: 38px;
	text-align: center;
}

.cta-btn > a {
	border: 1px solid #000;
	color: #000;
	display: inline-block;
	font-size: 16px;
	height: 40px;
	line-height: 40px;
	padding: 0 8px;
	text-align: center;
	text-decoration: none;
	transition: all 0.3s ease 0s;
	width: 265px;
}

.cta-btn > a span {
	color: #509f3d;
	margin-right: 6px;
	transition: all 0.3s ease 0s;
}

.cta-btn > a img {
	margin-right: 6px;
	margin-top: -2px;
	transition: all 0.3s ease 0s;
	vertical-align: middle;
	width: 10px;
}

.cta-btn > a img.cta-btn-active {
	display: none;
	opacity: 0;
}

.cta-btn > a:hover {
	background: #509f3d;
	border-color: #509f3d;
	color: #fff;
}

.cta-btn > a:hover span {
	color: #fff;
}

.cta-btn > a:hover img.cta-btn-normal {
	display: none;
}

.cta-btn > a:hover img.cta-btn-active {
	display: inline-block;
	opacity: 1;
}

.ir-card:nth-of-type(1) {
	margin-bottom: 52px;
	padding-top: 36px;
}

.ir-card:nth-of-type(2) {
	margin-bottom: 52px;
	padding-top: 30px;
}

.ir-head {
	color: #509f3d;
	font-family: "Montserrat", sans-serif;
	font-size: 32px;
	line-height: 1.40625;
	margin: 0 0 16px;
}

.ir-head span {
	color: #000;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 20px;
	line-height: 1.85;
	margin-left: 34px;
}

.ir-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ir-item {
	align-items: center;
	display: flex;
	margin-bottom: 9px;
}

.ir-time {
	font-size: 18px;
	line-height: 1;
	width: 100px;
}

.ir-label {
	width: 105px;
}

.ir-label span {
	background: #f0f0f0;
	color: #509f3d;
	display: inline-block;
	font-size: 15px;
	line-height: 21px;
	text-align: center;
	width: 78px;
}

.ir-label.ir-label-en span {
	width: 92px;
}

.ir-title {
	font-size: 18px;
	font-weight: 500;
	margin: 0;
	width: calc(100% - 105px - 100px);
}

.card {
	background: #fff;
	padding: 38px 60px 44px;
	width: 100%;
}

.card-title {
	color: #509f3d;
	font-family: "Montserrat", sans-serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4375;
	margin: 0;
	text-align: center;
}

.card-lead {
	font-size: 20px;
	line-height: 1.9;
	margin-bottom: 74px;
	position: relative;
	text-align: center;
}

.card-lead::after {
	-webkit-transform: translateX(-50%);
	background: #969696;
	bottom: -36px;
	content: "";
	height: 1px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 65px;
}

.card-content p {
	font-size: 18px;
	line-height: 2.38889;
	margin-bottom: 30px;
}

.card-content p:last-child {
	margin-bottom: 0;
}

.card-content p span {
	border-bottom: none;
}

.recruit .card {
	padding-bottom: 38px;
}

.recruit p {
	font-size: 18px;
}

.science .card {
	padding-left: 30px;
	padding-right: 30px;
}

.science .card-lead {
	margin-bottom: 44px;
}

.science-card {
	margin: 0;
	padding: 50px 30px;
}

.science-card:nth-child(1) {
	background: #fff;
	margin-bottom: 0;
}

.science-card:nth-child(1) .science-card-img {
	margin-top: 30px;
}

.science-card:nth-child(1) .science-card-img img {
	vertical-align: middle;
	width: 200px;
}

.science-card:nth-child(1) .science-card-img img.science-img01-01 {
	width: 250px;
}

.science-card:nth-child(1) .science-card-img img.science-img01-02 {
	width: 180px;
}

.science-card:nth-child(1) .science-card-img img.science-arrow {
	margin: 0 48px;
	width: 72px;
}

.science-card:nth-child(2) {
	background: #f5f5f5;
	padding-top: 58px;
}

.science-card:nth-child(2) .science-card-img {
	margin-top: 30px;
}

.science-card:nth-child(2) .science-card-img img {
	vertical-align: middle;
	width: 220px;
}

.science-card:nth-child(2) .science-card-img img.science-arrow {
	margin: 0 30px;
	margin-top: -16px;
	width: 14px;
}

.science-card:nth-child(2) .science-card-img img.science-arrow2 {
	margin: 0 30px;
	margin-top: -16px;
	width: 14px;
}

.science-card:nth-child(3) {
	background: #fff;
}

.science-card:nth-child(3) .science-card-img {
	margin: 40px auto 0;
	max-width: 100%;
	width: 428px;
}

.science-card:nth-child(3) .science-card-img img {
	margin: 0 0 8px;
}

.science-card-head {
	font-size: 27px;
	font-weight: 500;
	line-height: 1.14815;
	margin: 0 0 48px;
	position: relative;
}

.science-card-head img {
	-webkit-transform: translateY(-50%);
	border-right: 1px solid #000;
	left: 0;
	margin-right: 30px;
	padding-right: 20px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	vertical-align: middle;
	width: 74px;
}

.science-card-body p {
	font-size: 18px;
	letter-spacing: 0.1em;
	line-height: 2.15;
	margin-bottom: 30px;
}

.science-card-body p:last-child {
	margin-bottom: 0;
}

.science-card-body p span {
	border-bottom: none;
}

.science-card-img {
	text-align: center;
}

.science-card-img cite {
	color: #231815;
	display: block;
	font-size: 16px;
	font-style: normal;
	margin: 40px 0 0;
	text-align: right;
}

.science-card-img span {
	color: #231815;
	font-size: 16px;
}

.science-card-img-head {
	font-size: 20px;
	margin-bottom: 20px;
}

.team-card {
	display: flex;
	flex-direction: row-reverse;
	margin: 0 0 50px;
}

.team-card:last-child {
	margin-bottom: 0;
}

.team-card-img {
	text-align: center;
	width: 145px;
}

.team-card-img img {
	display: none;
	width: 145px;
}

.team-card-body {
	padding-right: 50px;
	width: calc(100% - 145px);
}

.team-card-body p {
	font-size: 18px;
	line-height: 1.88889;
}

.team-card-head {
	margin-bottom: 14px;
}

.team-card-name {
	display: inline-block;
	font-size: 24px;
	margin: 0 0 0;
}

.team-card-ruby {
	color: #969696;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	margin-left: 14px;
}

.team-card-pos {
	font-size: 20px;
}

.vision-card {
	display: flex;
	margin-bottom: 50px;
}

.vision-card.vision-card1 {
	align-items: flex-end;
}

.vision-card.vision-card2 {
	margin-bottom: 54px;
}

.vision-card-head {
	color: #509f3d;
	font-size: 27px;
	font-weight: 500;
	margin: 0 0 10px;
}

.vision-card-img {
	align-items: flex-end;
	display: flex;
	text-align: center;
	width: 32%;
}

.vision-card-body {
	padding-right: 48px;
	width: calc(100% - 32%);
}

.vision-card-body p {
	font-size: 18px;
	letter-spacing: 0.05em;
	line-height: 2.33333;
}

#footer {
	background: #fff;
}

#footer .inner {
	padding-bottom: 10px;
	padding-top: 10px;
	text-align: right;
}

.copy {
	color: #808080;
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	padding-right: 60px;
	text-decoration: none;
}

.copy > a {
	color: #808080;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

.copy > a:hover {
	color: #509f3d;
}

#header {
	background: #fff;
}

#header .inner {
	padding-bottom: 22px;
	padding-top: 0;
	position: relative;
}

.header-logo {
	margin: 0;
	padding-bottom: 28px;
	padding-top: 50px;
	text-align: center;
}

.header-logo img {
	transition: all 0.3s ease 0s;
	width: 138px;
}

.header-logo img:hover {
	opacity: 0.6;
}

.header-lang {
	position: absolute;
	right: 60px;
	top: 44px;
}

.header-lang ul {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

.header-lang li {
	display: inline-block;
	vertical-align: middle;
}

.header-lang li > a {
	color: #000;
	display: block;
	font-size: 16px;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

.header-lang li > a.m_active {
	color: #509f3d;
}

.header-lang li > a:hover {
	color: #509f3d;
}

#header-nav .menu {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

#header-nav .menu-item {
	display: inline-block;
	padding: 0 24px;
}

#header-nav .menu-item:first-child {
	padding-left: 0;
}

#header-nav .menu-item:last-child {
	padding-right: 0;
}

#header-nav .menu-item > a {
	color: #000;
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

#header-nav .menu-item > a:hover {
	color: #509f3d;
}

#header-nav .menu-item.current-menu-item > a {
	color: #509f3d;
}

.header-nav-head {
	background: #509f3d;
	color: #fff;
	display: none;
	font-size: 18px;
	padding: 10px;
}

.header-nav-head::before {
	content: "\f0c9";
	font-family: "Font Awesome 5 Free", sans-serif;
	font-weight: 900;
	margin-right: 8px;
}

.mv-big {
	background: #f1f5f4;
	height: 542px;
	position: relative;
}

.mv-content {
	background: #509f3d;
	padding: 36px 64px 30px;
	position: absolute;
	right: 0;
	top: 130px;
	width: 48%;
}

.mv-title {
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 30px;
	line-height: 1.13333;
	margin-bottom: 8px;
}

.mv-lead {
	color: #fff;
	font-size: 18px;
}

.mv-link {
	margin-top: 22px;
}

.mv-link a {
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 22px;
	text-decoration: none;
}

.mv-link a:hover {
	opacity: 0.6;
}

.mv-link a span {
	color: #fff;
	font-size: 20px;
	margin-right: 12px;
}

.mv-link a img {
	margin-right: 12px;
	margin-top: -4px;
	vertical-align: middle;
	width: 12px;
}

.mv {
	background: #f1f5f4;
	height: 290px;
	position: relative;
}

.mv .mv-content {
	height: 100%;
	padding-left: 90px;
	padding-top: 106px;
	top: 0;
}

.mv .mv-title {
	font-size: 40px;
}

.mv .mv-lead {
	font-size: 20px;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {

.top-card {
	display: block;
}

.vision-card-img {
	display: block;
}

}

@media screen and (min-width: 1100px) {

.inner {
	width: 1100px;
}

#primary {
	margin-right: 2em;
	width: 768px;
}

#secondary {
	padding: 0;
	width: 336px;
}

.pc-only {
	display: block;
}

.pc-hidden {
	display: none;
}

}

@media screen and (max-width: 1099px) {

.inner {
	padding-left: 24px;
	padding-right: 24px;
}

.row.row-t-col {
	flex-direction: column;
}

.row-b.row-t-col {
	flex-direction: column;
}

.row-c.row-t-col {
	flex-direction: column;
}

.row-bc.row-t-col {
	flex-direction: column;
}

.contact-table th {
	width: 220px;
}

.contact-table select {
	background-size: 24px 24px;
	height: 42px;
	line-height: 42px;
	width: 100%;
}

.contact-table textarea {
	height: 160px;
}

.top-card {
	padding-left: 30px;
	padding-right: 30px;
}

.top-card-link > a {
	margin-right: 32px;
}

.top-com .top-card {
	padding-top: 30px;
}

.top-ir-item:nth-child(2n) {
	padding-left: 30px;
	padding-right: 30px;
}

.science-card:nth-child(1) .science-card-img img.science-arrow {
	margin-left: 42px;
	margin-right: 42px;
	width: 66px;
}

.science-card:nth-child(2) .science-card-img img {
	width: 156px;
}

.science-card:nth-child(2) .science-card-img img.science-arrow {
	margin-left: 20px;
	margin-right: 20px;
}

.science-card:nth-child(2) .science-card-img img.science-arrow2 {
	margin-left: 20px;
	margin-right: 20px;
}

}

@media screen and (max-width: 767px) {

.inner {
	padding-left: 12px;
	padding-right: 12px;
}

.row.row-s-col {
	flex-direction: column;
}

.row-b.row-s-col {
	flex-direction: column;
}

.row-c.row-s-col {
	flex-direction: column;
}

.row-bc.row-s-col {
	flex-direction: column;
}

.sp-only {
	display: block;
}

.sp-hidden {
	display: none;
}

#drawer {
	display: block;
}

.icon-head {
	border: none;
	display: block;
	margin-bottom: 12px;
	margin-right: 0;
	padding-left: 0;
	text-align: left;
}

.icon-head::after {
	display: none;
}

.company .card {
	padding-left: 14px;
	padding-right: 14px;
}

.toc {
	display: block;
	margin-bottom: 30px;
	padding-left: 15px;
	padding-right: 15px;
}

.toc-head {
	margin-bottom: 12px;
	padding-left: 0;
	width: 100%;
}

.toc-list {
	width: 100%;
}

.toc-list li a {
	font-size: 18px;
}

.company-card {
	padding-left: 15px;
	padding-right: 15px;
}

.company-card.m_leadership,
.company-card.company-card-roadmap,
.company-card.company-card-history {
	padding-top: 24px;
}

.company-card-head {
	font-size: 25px;
	margin-bottom: 24px;
}

.company-card-head .company-card-head-img {
	border: none;
	display: block;
	margin-right: 0;
	padding-left: 0;
}

.company-card-head .company-card-head-img::after {
	display: none;
}

.company-card-body dt {
	display: block;
	font-size: 18px;
	margin-bottom: 4px;
	width: 100%;
}

.company-card-body dd {
	display: block;
	font-size: 16px;
	width: 100%;
}

.company-card-body.company-card-body-en dt {
	padding-right: 0;
	width: 100%;
}

.company-card-body.company-card-body-en dd {
	width: 100%;
}

.company-card-body p {
	font-size: 16px;
}

.company-card-profile {
	display: block;
}

.company-card-profile-img {
	margin-bottom: 8px;
	width: 100%;
}

.company-card-profile-info {
	width: 100%;
}

.company-card-profile-info ul li {
	font-size: 16px;
}

.company-card-performance {
	display: block;
	padding-top: 24px;
}

.company-card-performance-head {
	margin-bottom: 24px;
	text-align: center;
	width: 100%;
}

.company-card-performance-list {
	border-left: none;
	border-top: 1px solid #509f3d;
	padding-left: 16px;
	padding-top: 24px;
	width: 100%;
}

.company-card-performance-list span {
	display: none;
}

.company-card-performance-list::before,
.company-card-performance-list::after {
	display: none;
	height: 12px;
	width: 1px;
}

.company-card-performance-list::after {
	bottom: auto;
	left: auto;
	right: 0;
}

.company-card-performance-list ul li {
	font-size: 16px;
}

.company-table-attention {
	display: block;
	margin-top: 32px;
}

.company-card-table {
	margin-top: 8px;
}

.company-card-table table th {
	font-size: 16px;
}

.company-card-table table th span {
	font-size: 18px;
}

.company-card-table table th span.th-small {
	display: block;
	font-size: 12px;
}

.company-card-table table th:nth-of-type(1) {
	width: 100px;
}

.company-card-table table td {
	font-size: 14px;
}

.company-card-history ul li {
	padding-left: 0;
}

.company-card-history ul li time {
	display: block;
	font-size: 16px;
	position: static;
}

.company-card-history ul li span {
	display: block;
	font-size: 16px;
}

.company-group-card {
	display: block;
}

.company-group-card-img {
	margin-bottom: 24px;
	width: 100%;
}

.company-group-card-body {
	padding-right: 0;
	width: 100%;
}

.company-group-card-body p {
	font-size: 16px;
}

.company-group-card-name {
	font-size: 20px;
}

.company-group-card-ruby {
	font-size: 14px;
}

.company-group-card-pos {
	font-size: 18px;
}

#content .card {
	padding-bottom: 48px;
}

.contact-table th,
.contact-table td {
	display: block;
	padding-bottom: 0;
	padding-top: 0;
}

.contact-table th {
	font-size: 16px;
	margin-bottom: 8px;
	width: 100%;
}

.contact-table td {
	margin-bottom: 32px;
	padding-left: 0;
	padding-right: 0;
}

.contact-table input[type="text"],
.contact-table input[type="mail"] {
	height: 42px;
	line-height: 42px;
}

.top-card {
	margin-bottom: 30px;
	padding-left: 30px;
	padding-right: 30px;
	width: 100%;
}

.top-card:last-child {
	margin-bottom: 0;
}

.top-card-title {
	font-size: 22px;
}

.top-card-lead {
	font-size: 16px;
}

.top-card-link > a {
	font-size: 20px;
	margin-right: 32px;
}

.top-vst {
	display: block;
	margin-bottom: 30px;
}

.top-com {
	display: block;
	margin-bottom: 30px;
}

.top-ir-items {
	flex-direction: column;
}

.top-ir-item time {
	font-size: 16px;
}

.top-ir-item {
	width: 100%;
}

.top-ir-item:nth-child(2n) {
	padding-left: 0;
	padding-right: 0;
}

.top-ir-title {
	font-size: 16px;
}

.ir-head span {
	display: block;
	margin-left: 0;
}

.ir-item {
	display: block;
	margin-bottom: 38px;
}

.ir-time {
	display: inline-block;
	font-size: 16px;
	margin-top: 2px;
	vertical-align: middle;
	width: 78px;
}

.ir-label {
	display: inline-block;
	vertical-align: middle;
	width: auto;
}

.ir-title {
	font-size: 16px;
	margin-top: 8px;
	width: 100%;
}

.card {
	padding-bottom: 16px;
	padding-left: 16px;
	padding-right: 16px;
	width: 100%;
}

.card:last-child {
	margin-bottom: 0;
}

.card-title {
	font-size: 22px;
}

.card-lead {
	font-size: 16px;
	margin-bottom: 62px;
}

.card-lead::after {
	bottom: -24px;
}

.card-content p {
	font-size: 16px;
}

.science .card {
	padding-left: 15px;
	padding-right: 15px;
}

.science-card:nth-child(1) .science-card-img img.science-img01-01 {
	width: 96px;
}

.science-card:nth-child(1) .science-card-img img.science-img01-02 {
	width: 70px;
}

.science-card:nth-child(1) .science-card-img img {
	width: 30%;
}

.science-card:nth-child(1) .science-card-img img.science-arrow {
	margin-left: 8px;
	margin-right: 8px;
	width: 36px;
}

.science-card:nth-child(2) {
	margin-top: 24px;
}

.science-card:nth-child(2) .science-card-img img.science-arrow {
	-webkit-transform: rotate(90deg);
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 12px;
	transform: rotate(90deg);
}

.science-card:nth-child(2) .science-card-img img.science-arrow2 {
	-webkit-transform: rotate(90deg);
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 12px;
	transform: rotate(90deg);
}

.science-card {
	margin-bottom: 30px;
	padding: 24px 15px;
}

.science-card-head {
	font-size: 25px;
	margin-bottom: 32px;
	padding-left: 0;
}

.science-card-head img {
	-webkit-transform: none;
	border: none;
	display: block;
	margin-bottom: 12px;
	margin-right: 0;
	padding-right: 0;
	position: static;
	transform: none;
	width: 56px;
}

.science-card-body p {
	font-size: 16px;
}

.science-card-img cite {
	font-size: 14px;
}

.science-card-img span {
	font-size: 14px;
}

.team-card {
	display: block;
}

.team-card-img {
	margin-bottom: 24px;
	width: 100%;
}

.team-card-body {
	padding-right: 0;
	width: 100%;
}

.team-card-body p {
	font-size: 16px;
}

.team-card-name {
	font-size: 20px;
}

.team-card-ruby {
	font-size: 14px;
}

.team-card-pos {
	font-size: 18px;
}

.vision-card {
	display: block;
}

.vision-card-head {
	font-size: 25px;
}

.vision-card-img {
	width: 100%;
}

.vision-card-body {
	margin-bottom: 32px;
	padding-right: 0;
	width: 100%;
}

.vision-card-body p {
	font-size: 16px;
}

.copy {
	padding-right: 0;
}

#header .inner {
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
}

.header-logo {
	padding-bottom: 20px;
	padding-top: 38px;
}

.header-lang {
	right: 18px;
	top: 6px;
}

#header-nav {
	display: none;
}

#header-nav .menu {
	text-align: left;
}

#header-nav .menu-item {
	display: block;
	padding-left: 0;
	padding-right: 0;
}

#header-nav .menu-item > a {
	padding: 8px 12px;
}

.header-nav-head {
	display: block;
}

.mv-big {
	height: 400px;
}

.mv-content {
	-webkit-transform: translateX(50%);
	padding-left: 38px;
	padding-right: 38px;
	right: 50%;
	top: 38px;
	transform: translateX(50%);
	width: calc(100% - 48px);
}

.mv-title {
	font-size: 26px;
}

.mv-lead {
	font-size: 16px;
}

.mv {
	height: 290px;
}

.mv .mv-content {
	height: auto;
	padding-left: 38px;
	padding-top: 38px;
	top: 38px;
}

.mv .mv-title {
	font-size: 26px;
}

.mv .mv-lead {
	font-size: 16px;
}

}
