@charset "utf-8";
/*
Theme Name: Cardio Intelligence
Author: Media Impact
Version: 2021.8
Text Domain: cardio-intelligence
*/

/*////////////////////////////
 Reset
////////////////////////////*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	/* font-weight: bold; */
}
body {
	line-height: 1;
}
a {
	text-decoration-skip-ink: auto;
}
a[href^="tel"] {
	color: inherit;
	text-decoration: none;
}
button {
	outline: 0;
}
ol,
ul {
	list-style: none;
}
blockquote,
q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}
q {
	display: inline;
	font-style: italic;
}
q:before {
	content: '"';
	font-style: normal;
}
q:after {
	content: '"';
	font-style: normal;
}
textarea,
input[type="text"],
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="search"],
input[type="password"] {
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
}
input[type="search"] {
	-webkit-appearance: textfield;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
th,
td {
	padding: 2px;
}
big {
	font-size: 120%;
}
small,
sup,
sub {
	font-size: 87.5%;
}
sup {
	vertical-align: super;
}
sub {
	vertical-align: sub;
}
dd {
	margin-left: 20px;
}
kbd,
tt {
	font-family: courier;
	font-size: 12px;
}
ins {
	text-decoration: underline;
}
del,
strike,
s {
	text-decoration: line-through;
}
dt {
	font-weight: bold;
}
address,
cite,
var {
	font-style: italic;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}
* {
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}
.sticky {
}
.bypostauthor {
}
.wp-caption {
}
.wp-caption-text {
}
.gallery-caption {
}
.alignright {
	margin-left: auto;
	margin-right: 0;
}
.alignleft {
	margin-left: 0;
	margin-right: auto;
}
.aligncenter {
	margin-left: auto;
	margin-right: auto;
}
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
}
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
	word-break: normal;
}
.screen-reader-text:focus {
	background-color: #f7f7f7;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	-webkit-clip-path: none;
	clip-path: none;
	color: #007acc;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	right: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
.skip-link {
	left: -9999rem;
	top: 2.5rem;
	z-index: 999999999;
	text-decoration: underline;
}
.skip-link:focus {
	display: block;
	left: 6px;
	top: 7px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	line-height: normal;
	padding: 15px 23px 14px;
	z-index: 100000;
	right: auto;
}
.visually-hidden:not(:focus):not(:active),
.form-allowed-tags:not(:focus):not(:active) {
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

img.alignleft,
img.aligncenter,
img.alignright {
	display: block;
}

/*////////////////////////////
 共通指定
////////////////////////////*/

html {
	font-size: 100%;
}
body {
	font-family: "Noto Sans JP", sans-serif;
	color: #1e1e1e;
	width: 100%;
	margin: 0 auto;
	font-size: 1rem;
	-webkit-text-size-adjust: 100%;
}
body.page-en {
	font-family: Arial, Helvetica, sans-serif;
}
#wrapper {
	position: relative;
	overflow: hidden;
}
a {
	color: #1e1e1e;
	transition: opacity 0.3s;
}
a:hover {
	opacity: 0.5;
	transition: opacity 0.3s;
}

/*////////////////////////////
 共用クラス
////////////////////////////*/

.container {
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 10px;
}

.ib {
	display: inline-block !important;
}
.pcbl {
	display: block !important;
}
.spbl {
	display: none !important;
}

.pcib {
	display: inline-block !important;
}
.spib {
	display: none !important;
}
.pcil {
	display: inline !important;
}
.spil {
	display: none !important;
}

@media screen and (max-width: 768px) {
	html {
	}
	.pcbl {
		display: none !important;
	}
	.spbl {
		display: block !important;
	}
	.pcib {
		display: none !important;
	}
	.spib {
		display: inline-block !important;
	}
	.pcil {
		display: none !important;
	}
	.spil {
		display: inline !important;
	}
}

.tar {
	text-align: right;
}
.tac {
	text-align: center;
}
.tal {
	text-align: left;
}

/*////////////////////////////
 header
////////////////////////////*/

#header {
	position: relative;
	z-index: 100;
	display: flex;
	justify-content: space-between;
	padding-top: 12px;
}

#branding a {
	display: block;
	margin-top: 12px;
	margin-left: 27px;
}
#branding a img {
	display: block;
	height: auto;
	width: 228px;
}
.header-menu {
	display: flex;
	justify-content: flex-end;
}
.header-menu > li > a {
	padding: 0 1.02em;
	text-decoration: none;
	color: #1e1e1e;
	text-transform: uppercase;
	font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 1.12rem;
	display: block;
	line-height: 37px;
	letter-spacing: 0.06em;
	margin-top: 20px;
	font-weight: 600;
}
.header-menu > li:nth-last-of-type(1) {
	margin-left: 1.6%;
}
.header-menu > li:nth-last-of-type(1) > a {
	position: relative;
	background: #c73f47;
	border-radius: 100px;
	color: #fff;
	font-size: 1rem;
	padding: 0 39px 0 51px;
	margin-right: 39px;
	border: 1px solid #c73f47;
	transition: all 0.3s;
}
.header-menu > li:nth-last-of-type(1) > a:hover {
	background: #fff;
	color: #c73f47;
	border-color: #c73f47;
	transition: all 0.3s;
	opacity: 1;
}
.header-menu > li:nth-last-of-type(1) > a::before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 1.2em;
	transform: translate(0, -50%);
	width: 0.8em;
	height: 0.8em;
	background: url(./img/icons/contact.svg) no-repeat center / contain;
	opacity: 1;
	transition: opacity 0.3s;
}
.header-menu > li:nth-last-of-type(1) > a::after {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 1.2em;
	transform: translate(0, -50%);
	width: 0.8em;
	height: 0.8em;
	background: url(./img/icons/contact-wh.svg) no-repeat center / contain;
	opacity: 0;
	transition: opacity 0.3s;
}
.header-menu > li:nth-last-of-type(1) > a:hover::before {
	opacity: 0;
	transition: opacity 0.3s;
}

.header-menu > li:nth-last-of-type(1) > a:hover::after {
	opacity: 1;
	transition: opacity 0.3s;
}
#menu-toggle {
	display: none;
}

@media screen and (max-width: 1080px) {
	#branding {
		flex: 0 0 22%;
		max-width: 22%;
	}
	#branding a {
		margin-left: 1vw;
		margin-top: 1vw;
	}
	#branding a img {
		width: 100%;
		height: auto;
	}
	.header-menu > li > a {
		font-size: 1.5vw;
		margin-top: 1.9vw;
		padding: 0;
		margin-left: 2vw;
	}
	.header-menu > li:nth-last-of-type(1) > a {
		margin-left: 1vw;
		margin-right: 2vw;
		font-size: 1.5vw;
	}
}

@media screen and (max-width: 768px) {
	#header {
		position: fixed;
		width: 100%;
		height: 50px;
		background: rgba(255, 255, 255, 0.7);
		padding-top: 0;
	}
	.header-nav {
		position: absolute;
		top: 0;
		left: 110%;
		width: 100%;
		height: 100vh;
		background: #f2f5f8;
		transition: left 0.4s;
	}
	.header-nav.active {
		left: 0;
		transition: 0.4s;
	}
	.header-menu {
		flex-direction: column;
		justify-content: center;
		height: 100%;
		opacity: 0;
		transition: opacity 0.4s;
		margin-top: -5vh;
	}
	.header-nav.active .header-menu {
		opacity: 1;
		transition: opacity 1.5s;
	}
	@media (orientation: portrait) {
		.header-menu > li {
			padding: 1.9vh 0;
		}
	}
	.header-menu > li > a {
		text-align: center;
		/*font-size: 14px;*/
		font-size: 16px;
		margin: 0;
	}
	.header-menu > li:nth-last-of-type(1) {
		text-align: center;
		margin: 10px 0 0;
	}
	.header-menu > li:nth-last-of-type(1) > a {
		display: inline-block;
		font-size: 12px;
	}
	#branding {
		flex: 1 0 auto;
		max-width: initial;
	}
	#branding > * {
		height: 100%;
	}
	#branding a {
		height: 100%;
		margin: 0;
		padding: 8px 0 8px 15px;
		position: relative;
		z-index: 10;
	}
	#branding a > img {
		height: 100%;
		width: auto;
	}
	#menu-toggle {
		display: block;
		position: relative;
		width: 50px;
		height: 50px;
	}
	#menu-toggle > span {
		display: block;
		position: absolute;
		left: 14px;
		width: 22px;
		height: 0;
		border-bottom: 1px solid #c73f47;
	}
	#menu-toggle > span:nth-of-type(1) {
		top: 16px;
		transform-origin: left top;
		transition: all 0.4s;
	}
	#menu-toggle > span:nth-of-type(2) {
		top: 50%;
		transition: all 0.4s;
	}
	#menu-toggle > span:nth-of-type(3) {
		top: 34px;
		transform-origin: left top;
		transition: all 0.4s;
	}
	/* active */
	#menu-toggle.active > span:nth-of-type(1) {
		transform: rotate(45deg) translate(-50%, -50%);
		transition: all 0.4s;
		left: 50%;
		top: 50%;
	}
	#menu-toggle.active > span:nth-of-type(2) {
		left: 110%;
		opacity: 0;
		transition: all 0.4s;
	}
	#menu-toggle.active > span:nth-of-type(3) {
		transform: rotate(-45deg) translate(-50%, -50%);
		transition: all 0.4s;
		left: 50%;
		top: 50%;
	}
}

.cols {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}
.cols.align-item-unset {
	align-items:unset;
}
.cols .col3 {
	width: calc(100% / 3 - 30px);
	margin: 0 15px 20px;
}
@media screen and (max-width: 768px) {
	.cols {
		flex-direction: column;
	}
	.cols .col3 {
		width: 100%;
		margin: 0 auto 20px;
	}
	.cols .col3:last-child {
		margin-bottom: 0;
	}
}
/*////////////////////////////
 Footer
////////////////////////////*/

/* Recruit */
.recruit {
	z-index: 1;
	padding-bottom: 110px;
	background: #f2f5f8 url(./img/top/recruit/back.jpg) no-repeat top center /
		cover;
}
body:not(.home) .recruit {
	padding: 100px 0;
}
.recruit__inner {
	position: relative;
	width: 875px;
	max-width: 100%;
	margin: 0 auto;
	background: #fff;
	border-radius: 52px;
	padding: 5% 6%;
	text-align: center;
	box-shadow: 0px 0px 60px rgb(28 11 109 / 15%);
}
.recruit__inner p:nth-of-type(1) {
	font-size: 1.3rem;
	font-weight: 900;
	letter-spacing: 0.07em;
	margin-bottom: 1.7em;
	line-height: 1.5;
}
.recruit__inner p:nth-of-type(2) {
	font-size: 0.95rem;
	line-height: 2.2;
}
.recruit .more {
	margin-top: 6%;
}
.fp-recruit {
	position: relative;
	/* margin-top: -123px; */
	padding-top: 96px;
}

@media screen and (max-width: 768px) {
	.recruit {
		margin: 0;
		padding: 0;
	}
	.recruit .container {
		padding: 50px 5% 60px;
	}
	body:not(.home) .recruit {
		padding: 0;
	}
	.recruit__inner {
		border-radius: 0;
		padding: 0;
		background: none;
		box-shadow: none;
	}
	.recruit .more {
		margin-top: 10%;
	}
}
@media screen and (max-width: 400px) {
	.recruit__inner p:nth-of-type(1) {
		font-size: 5.3vw;
		margin-bottom: 1em;
	}
	.recruit__inner p:nth-of-type(2) {
		font-size: 3.7vw;
	}
}

/* investors */
.investors {
	padding: 65px 0 50px;
}
.investors__h3 {
	position: relative;
	font-family: "Barlow Semi Condensed", sans-serif;
	text-align: center;
	font-size: 1.25rem;
	margin-bottom: 30px;
}
.investors__h3 > span {
	position: relative;
	display: inline-block;
	padding: 0 0.5em;
}
.investors__h3 > span::before {
	content: "";
	position: absolute;
	display: block;
	width: 1.5em;
	height: 0;
	border-bottom: 1px solid #a5a5a5;
	top: 60%;
	right: 100%;
	transform: translate(0, -50%);
}
.investors__h3 > span::after {
	content: "";
	position: absolute;
	display: block;
	width: 1.5em;
	height: 0;
	border-bottom: 1px solid #a5a5a5;
	top: 60%;
	left: 100%;
	transform: translate(0, -50%);
}
.investors__col5 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.investors__a {
	flex: 0 0 18%;
	max-width: 18%;
	margin: 0 2.5% 20px 0;
}
.investors__a:nth-child(5n) {
	margin-right: 0;
}
.investors__a > img {
	max-width: 100%;
}

@media screen and (max-width: 768px) {
	.investors {
		padding: 0;
	}
	.investors .container {
		padding: 50px 5% 60px;
	}
	.investors__a {
		flex: 0 0 32%;
		max-width: 32%;
		margin: 0 2% 2% 0;
	}
	.investors__a:nth-child(5n) {
		margin-right: 2%;
	}
	.investors__a:nth-child(3n) {
		margin-right: 0;
	}
	.investors__h3 {
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 565px) {
	.investors__a {
		flex: 0 0 49%;
		max-width: 49%;
		margin: 0 2% 2% 0;
	}
	.investors__a:nth-child(3n) {
		margin-right: 2%;
	}
	.investors__a:nth-child(2n) {
		margin-right: 0;
	}
}

/* footer */

#footer {
	background: #c73f47;
}
#footer .container {
	display: flex;
}
.footer-logo {
	width: 224px;
	max-width: 100%;
}
.footer-l {
	padding: 4.7% 0 5% 0;
}
.footer__info {
	margin-top: 12%;
	font-size: 0.84rem;
	color: #fff;
	line-height: 2;
	letter-spacing: 0.06em;
}
.footer-menu li > a {
	color: #fff;
	text-decoration: none;
}
.footer-r {
	flex: 1 1 auto;
	padding: 8.3% 5.2% 0 0;
	text-align: right;
}
.footer-menu {
	display: flex;
	justify-content: flex-end;
	text-transform: uppercase;
	font-family: "Barlow Semi Condensed", sans-serif;
}
.footer-menu > li {
	margin: 0 0 2% 3.3%;
}
.footer-menu li > a {
	color: #fff;
	text-decoration: none;
	font-size: 0.98rem;
	letter-spacing: 0.07em;
}
.privacy-policy-link {
	color: #fff;
	text-decoration: none;
	font-size: 0.84rem;
	font-family: "Barlow Semi Condensed", sans-serif;
	letter-spacing: 0.06em;
	margin-right: 0;
	margin-top: 15px;
	display: block;
}
#copyright {
	font-size: 0.84rem;
	color: #fff;
	margin-top: 6%;
}
#copyright a {
	display: block;
	margin-top: 0.5em;
	font-size: 0.75rem;
}

@media screen and (max-width: 768px) {
	#footer .container {
		display: block;
		padding: 50px 5% 25px;
		text-align: center;
	}
	.footer-logo {
		max-width: 45%;
	}
	.footer__info {
		margin-top: 20px;
	}
	.footer-l {
		padding: 0;
	}
	.footer-r {
		padding: 0;
		text-align: center;
	}
	.footer-menu {
		flex-wrap: wrap;
		justify-content: center;
		margin: 30px auto;
		width: 420px;
		max-width: 100%;
	}
	.footer-menu > li {
		margin: 2.2vw 3vw;
	}
	.privacy-policy-link::after {
		content: " -";
	}
	#copyright {
		text-align: center;
		margin-top: 30px;
	}
	.privacy-policy-link {
		font-size: 3.2vw;
	}
}
@media screen and (max-width: 400px) {
	.footer-menu > li > a {
		font-size: 3.6vw;
	}
}

/* トップへ戻るボタン */
#totop {
	position: fixed;
	display: block;
	width: 50px;
	height: 50px;
	bottom: 20px;
	right: 20px;
	background: #bed2dc url(./img/icons/arrow-wh.svg) no-repeat center / 30%
		auto;
	border-radius: 100px;
	cursor: pointer;
	transition: background-color 0.3s;
	z-index: 100;
}
#totop:hover {
	background-color: #aabec8;
	transition: background-color 0.3s;
}

/*////////////////////////////
 フロントページ共通指定
////////////////////////////*/
.home main a {
	text-decoration: none;
}
.fp-sec__h2 {
	position: relative;
	font-size: 4.4rem;
	font-family: "Barlow Semi Condensed", sans-serif;
	line-height: 1.22;
	letter-spacing: 0.02em;
	margin-bottom: 17%;
}
.fp-sec__h2--ja {
	font-family: "Noto Sans JP", sans-serif;
	display: block;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	padding: 0.1em;
}
.fp-sec__h2::after {
	content: "";
	position: absolute;
	top: 120%;
	left: 0.04em;
	display: block;
	width: 84px;
	height: 8px;
	border-radius: 10px;
	background: rgb(243, 199, 243);
	background: -moz-linear-gradient(
		left,
		rgba(243, 199, 243, 1) 0%,
		rgba(199, 15, 71, 1) 100%
	);
	background: -webkit-linear-gradient(
		left,
		rgba(243, 199, 243, 1) 0%,
		rgba(199, 15, 71, 1) 100%
	);
	background: linear-gradient(
		to right,
		rgba(243, 199, 243, 1) 0%,
		rgba(199, 15, 71, 1) 100%
	);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3c7f3', endColorstr='#c70f47',GradientType=1 );
}
.fp-sec__h2.fp-sec__h2--center {
	text-align: center;
	margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
	.fp-sec__h2.fp-sec__h2--center {
		margin-bottom: 60px;
		margin-top: 0;
	}
}
.fp-sec__h2.fp-sec__h2--center::after {
	left: 50%;
	transform: translate(-50%, 0);
}
.fp-sec__p {
	font-size: 0.92rem;
	line-height: 2.2;
}
.fp-sec__desc {
	font-weight: 700;
	font-size: 1.02em;
	line-height: 1.8;
	margin-top: 17%;
	margin-bottom: 9.2%;
}
@media screen and (max-width: 768px) {
	.fp-sec__desc {
		margin-bottom: 15px;
	}
}
.more {
	position: relative;
	display: inline-block;
	margin-top: 40px;
	white-space: nowrap;
	text-decoration: none;
	background: #c73f47;
	border-radius: 60px;
	color: #fff;
	line-height: 4;
	font-size: 0.9rem;
	font-weight: 700;
	padding: 0 7em 0 2.3em;
	letter-spacing: 0.1em;
	transition: background 0.3s;
	box-shadow: 0 10px 20px rgb(28 11 109 / 15%);
}
.more:hover {
	background: #a52c34;
	transition: background 0.3s;
	opacity: 1;
}
.more::before {
	content: "";
	position: absolute;
	display: block;
	width: 2.2em;
	height: 2.2em;
	border: 1px solid #fff;
	border-radius: 100px;
	top: 50%;
	right: 1.2em;
	transform: translate(0, -50%);
	transition: opacity 0.3s;
}
.more:hover::before {
	opacity: 0.3;
	transition: opacity 0.3s;
}
.more > span::before {
	content: "";
	position: absolute;
	display: block;
	width: 3.2em;
	height: 0;
	border-bottom: 1px solid #fff;
	border-radius: 100px;
	top: 54%;
	right: 2.2em;
	transform: translate(0, -50%);
	transition: right 0.3s;
}
.more:hover > span::before {
	right: 1.6em;
	transition: right 0.3s;
}
.more > span::after {
	content: "";
	position: absolute;
	display: block;
	width: 0.8em;
	height: 0;
	border-bottom: 1px solid #fff;
	border-radius: 100px;
	top: 54%;
	right: 2.2em;
	transform-origin: right center;
	transform: translate(0, -50%) rotateZ(45deg);
	transition: right 0.3s;
}
.more:hover > span::after {
	right: 1.6em;
	transition: right 0.3s;
}

.more-wrap {
	text-align: center;
}
.more-wrap-right {
	text-align: right;
}
.back-field {
	position: relative;
	flex: 0 0 0;
	width: 0;
}

@media screen and (max-width: 768px) {
	.fp-sec__h2 {
		font-size: 2.5rem;
		margin-bottom: 40px;
		margin-top: 25px;
	}
}

a.h2_link {
	text-decoration: none;
}

/*////////////////////////////
 フロントページ　各セクション
////////////////////////////*/

/* Main Visual */
.mv {
	position: relative;
	height: 760px;
}
.mv .container {
	position: relative;
	height: 96%;
}
.mv__text {
	position: absolute;
	top: 25%;
	left: 5.9%;
	font-size: 5.2rem;
	z-index: 10;
	opacity: 0;
}
.mv__text.loaded {
	animation: slide-in 0.86s;
	animation-fill-mode: forwards;
}
.mv__border {
	content: "";
	position: static;
	margin-top: 3vh;
	margin-left: 5px;
	display: block;
	width: 130px;
	height: 10px;
	border-radius: 10px;
	background: rgb(243, 199, 243);
	background: -moz-linear-gradient(
		left,
		rgba(243, 199, 243, 1) 0%,
		rgba(199, 15, 71, 1) 100%
	);
	background: -webkit-linear-gradient(
		left,
		rgba(243, 199, 243, 1) 0%,
		rgba(199, 15, 71, 1) 100%
	);
	background: linear-gradient(
		to right,
		rgba(243, 199, 243, 1) 0%,
		rgba(199, 15, 71, 1) 100%
	);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3c7f3', endColorstr='#c70f47',GradientType=1 );
}
@media screen and (max-width: 768px) {
	.mv__border {
		width: 80px;
		height: 6px;
		margin-top: 10px;
		margin-left: 2px;
	}
}
.mv__text--l {
	font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 1.04em;
	line-height: 0.94;
	letter-spacing: 0.019em;
	white-space: nowrap;
}
.mv__text--l.en {
	font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 0.769em;
	line-height: 0.94;
	letter-spacing: 0.019em;
	white-space: nowrap;
}
.mv__text--m {
	margin-top: 4.8vh;
	font-size: 0.35em;
	font-weight: 900;
	line-height: 1.5;
	letter-spacing: 0.28em;
	white-space: nowrap;
	-webkit-font-smoothing: antialiased;
}
.mv__text--s {
	font-size: 0.229189em;
	font-weight: 700;
	margin-top: 2.8vh;
	letter-spacing: 0.22em;
	margin-left: 0.2em;
	white-space: nowrap;
	line-height: 1.9;
}
.mv__text--s.en {
	font-size: 0.216346em;
	font-weight: 500;
	margin-top: 4.8vh;
	margin-bottom: 4.8vh;
	letter-spacing: 0;
	margin-left: 0.2em;
	white-space: nowrap;
	line-height: 1.2;
}
.mv__text--ss {
	font-size: 0.2em;
	font-weight: 700;
	margin-top: 4.3vh;
	letter-spacing: 0.03em;
	margin-left: 0.2em;
	white-space: nowrap;
}
.mv__text--ss.en {
	font-size: 0.2em;
	font-weight: 500;
	margin-top: 4.3vh;
	letter-spacing: 0.03em;
	margin-left: 0.2em;
	white-space: nowrap;
}
@media screen and (max-width: 768px) {
	.mv__text--l {
		font-size: 0.97em;
	}
	.mv__text--m {
		margin-top: 13px;
		font-size: 0.38em;
	}
	.mv__text--s {
		margin-top: 14px;
		font-size: 0.24em;
	}
	.mv__text--ss {
		margin-top: 14px;
		font-size: 0.24em;
		font-weight: 700;
	}
}
#scroll-down {
	position: absolute;
	bottom: 40vh;
	left: 2.5vw;
	transform-origin: left bottom;
	transform: rotate(90deg);
	font-size: 0.8rem;
	font-family: "Barlow Semi Condensed", sans-serif;
	font-weight: 700;
	letter-spacing: 0.06em;
	cursor: pointer;
	transition: opacity 0.3s;
}
#scroll-down:hover {
	opacity: 0.5;
	transition: opacity 0.3s;
}
#scroll-down::after {
	position: absolute;
	display: block;
	width: 100px;
	height: 0;
	border-bottom: 1px solid #000;
	content: "";
	top: 52%;
	left: 120%;
	transform-origin: left center;
}
#scroll-down.loaded::after {
	animation: stretch 1.3s infinite ease-in-out;
}

@media screen and (max-width: 1300px) {
	#scroll-down {
		left: 2.5vw;
	}
}

/* スクロールダウン・アニメーション */
@keyframes stretch {
	0% {
		transform: scaleX(0);
	}
	70% {
		transform: scaleX(1);
	}
	100% {
		transform: scaleX(1);
	}
}
/* スクロールダウン・アニメーション */

@keyframes stretch-y {
	0% {
		transform: scaleY(0);
	}
	70% {
		transform: scaleY(1);
	}
	100% {
		transform: scaleY(1);
	}
}

/* テキストフェードインアニメーション */
@keyframes slide-in {
	0% {
		opacity: 0;
		transform: translate(20%, 0);
	}
	100% {
		opacity: 1;
		transform: translate(0, 0);
	}
}

/* メインのボール */
#mv__balls {
	display: block;
	width: 64%;
	position: absolute;
	left: 40%;
	top: 47%;
	transform: translate(0, -50%);
	z-index: 8;
}
#mv__balls.loaded {
	animation: move-y 1s infinite alternate ease-in-out;
}
#mv__ball-l-shadow {
	position: absolute;
	display: block;
	width: 56%;
	left: 45%;
	top: 55%;
	transform: translate(0, -50%);
}
#mv__ball-l-shadow.loaded {
	animation: move-y2 1s infinite alternate ease-in-out;
}
#mv__ball-s-shadow {
	position: absolute;
	display: block;
	width: 8%;
	left: 92.8%;
	top: 79%;
	transform: translate(0, -50%);
}
#mv__ball-s-shadow.loaded {
	animation: move-y2 1s infinite alternate ease-in-out;
}
/* ボール上下アニメーション */

@keyframes move-y {
	from {
		transform: translate(0, -50%);
	}
	to {
		transform: translate(0, -51%);
	}
}
@keyframes move-y2 {
	from {
		transform: translate(0, -50%) scale(1);
	}
	to {
		transform: translate(1%, -50%) scale(0.9);
	}
}

/* MV背景のボール */
#mv__ball-1 {
	position: absolute;
	top: 41%;
	left: 3.5%;
	width: 1vw;
	z-index: -1;
}
#mv__ball-2 {
	position: absolute;
	top: 50%;
	left: 6%;
	width: 4.2vw;
	z-index: -1;
}
#mv__ball-3 {
	position: absolute;
	top: 11%;
	left: 14.5%;
	width: 2.2vw;
	z-index: -1;
}
#mv__ball-4 {
	position: absolute;
	top: 16%;
	left: 29%;
	width: 0.5vw;
	z-index: -1;
}
#mv__ball-5 {
	position: absolute;
	top: 0%;
	left: 34.6%;
	width: 1vw;
	z-index: -1;
}
#mv__ball-6 {
	position: absolute;
	top: 78%;
	left: 36.4%;
	width: 4.3vw;
	z-index: -1;
}
#mv__ball-7 {
	position: absolute;
	top: 78%;
	left: 36.4%;
	width: 4.3vw;
	z-index: -1;
}
#mv__ball-8 {
	position: absolute;
	top: 2%;
	left: 78.3%;
	width: 1vw;
	z-index: -1;
}
#mv__ball-9 {
	position: absolute;
	top: 91.6%;
	left: 79.7%;
	width: 1vw;
	z-index: -1;
}
#mv__ball-10 {
	position: absolute;
	top: 14%;
	left: 92.2%;
	width: 2.5vw;
	z-index: -1;
}

@media screen and (max-width: 680px) {
	.mv {
		height: 100vh;
		min-height: 565px;
	}
	.mv__text {
		font-size: 11.8vw;
		top: 13%;
		left: 6.3%;
	}
	#mv__balls {
		width: 72%;
		left: 15%;
		top: 74%;
	}
	#mv__ball-l-shadow {
		top: 76%;
		left: 21%;
		width: 63%;
	}
	#mv__ball-s-shadow {
		top: 82%;
	}
	#scroll-down {
		left: 50%;
		top: calc(100% - 30px);
		transform: translate(-50%, 0);
		z-index: 10;
		padding-bottom: 40px;
	}
	#scroll-down::after {
		width: 0;
		height: 20px;
		top: 1.7em;
		left: 50%;
		border-bottom: none;
		border-right: 1px solid #000;
		transform-origin: center top;
	}
	#scroll-down.loaded::after {
		animation: stretch-y 1.3s infinite ease-in-out;
	}
}

/* Philosophy */
.fp-philosophy {
	position: relative;
	padding: 0 0 70px;
	display: flex;
}
.fp-philosophy .container {
	display: flex;
	flex-direction: row-reverse;
	position: relative;
	padding-bottom: 120px;
}
.fp-philosophy__r {
	flex: 0 0 42.5%;
	max-width: 42.5%;
	padding: 0% 1.3% 1.3% 6.7%;
}
.fp-philosophy__l {
	flex: 0 0 57.5%;
	max-width: 57.5%;
}
.fp-philosophy__l .movie {
	width: 100%;
	margin: 18% 0 0 auto;
}
.fp-philosophy__l .movie__wrap {
	box-shadow: 10px 10px 60px rgb(28 11 109 / 20%);
	border-radius: 40px;
	overflow: hidden;
}
.fp-philosophy__l .movie__thumb {
	display: block;
	max-width: 100%;
	border-radius: 30px;
	/* transition: all .25s; */
	opacity: 1;
}
.fp-philosophy__l .movie__thumb:hover {
	opacity: 0.8;
}
.movie__text {
	margin: 35px 0 0 0.2em;
	font-size: 0.84rem;
	letter-spacing: 0.03em;
}
.fp-philosophy__back {
	position: absolute;
	display: block;
	width: 88%;
	height: 86.7%;
	left: 15.2%;
	top: 5.8%;
	background: #e8f0f2;
	border-radius: 30px;
	z-index: -1;
}
.fp-philosophy .more-wrap {
	text-align: left;
}


/* Philosophy背景のボール */
#fp-philosophy__ball-1 {
	position: absolute;
	top: 83.5%;
	left: -96.8vw;
	width: 3vw;
	z-index: -1;
}
#fp-philosophy__ball-2 {
	position: absolute;
	top: 33.5%;
	left: -93vw;
	width: 0.7vw;
	z-index: -1;
}
#fp-philosophy__ball-3 {
	position: absolute;
	top: 45%;
	left: -89vw;
	width: 2.5vw;
	z-index: -1;
}
#fp-philosophy__ball-4 {
	position: absolute;
	top: 114%;
	left: -87.4vw;
	width: 0.5vw;
	z-index: -1;
}
#fp-philosophy__ball-5 {
	position: absolute;
	top: 125%;
	left: -14vw;
	width: 0.8vw;
	z-index: -1;
}
#fp-philosophy__ball-6 {
	position: absolute;
	top: 70%;
	left: -7vw;
	width: 2vw;
	z-index: -1;
}
#fp-philosophy__ballset-1 {
	position: absolute;
	top: 90%;
	right: 0%;
	width: 10em;
	z-index: -1;
}

@media screen and (max-width: 1200px) {
	.fp-philosophy .container {
		padding-left: 20px;
		padding-right: 20px;
	}
	.fp-philosophy__r {
		padding-left: 20px;
		padding-right: 10px;
	}
	.fp-philosophy__l .movie {
		margin: 20% auto 0 0;
	}
	.fp-philosophy__back {
		width: 100%;
		left: 0;
		border-radius: 0;
		height: 100%;
	}
}
@media screen and (max-width: 768px) {
	.fp-philosophy {
		padding: 0;
	}
	.fp-philosophy .container {
		display: block;
		padding: 50px 20px 0;
	}
	.fp-philosophy .fp-sec__h2 {
		margin-top: 60px;
	}

	.fp-philosophy__l {
		width: 100%;
		max-width: 100%;
	}
	.fp-philosophy__r {
		max-width: initial;
		padding: 0;
	}
	.fp-philosophy__l .movie {
		margin: 40px auto 0;
		width: 500px;
		max-width: 100%;
	}
	.movie__text {
		text-align: center;
		margin: 15px 0 0;
		line-height: 1.8;
	}
	.fp-philosophy .more-wrap {
		text-align: center;
	}
	.fp-philosophy__back {
	}
	#fp-philosophy__ballset-1 {
		width: 24vw;
	}
	.fp-philosophy .more {
		margin: 20px auto 50px;
	}
}


/* Technology */
.fp-technology {
	position: relative;
	display: flex;
}
.fp-technology .container {
	display: flex;
	padding-bottom: 150px;
	position: relative;
	z-index: 1;
}
.fp-technology__l {
	flex: 0 0 44.8%;
	max-width: 44.8%;
	padding: 5% 7% 0 0%;
}
.fp-technology__r {
	height: 0;
	overflow: hidden;
	padding-top: 46%;
	border-radius: 40px;
	flex: 0 0 calc(55.2% + 7vw);
	max-width: calc(55.2% + 7vw);
}
.fp-technology__r img {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	height: 100%;
	border-radius: 40px;
}
.fp-technology .more-wrap {
	text-align: left;
}

/* Technology背景のボール */
#fp-technology__ball-1 {
	position: absolute;
	top: 88%;
	left: -96.4vw;
	width: 1.8vw;
	z-index: -1;
}
#fp-technology__ball-2 {
	position: absolute;
	top: 68%;
	left: -62vw;
	width: 4vw;
	z-index: -1;
}
#fp-technology__ball-3 {
	position: absolute;
	top: 136%;
	left: -41vw;
	width: 0.8vw;
	z-index: -1;
}
#fp-technology__ballset-1 {
	position: absolute;
	top: 115%;
	right: 0;
	width: 14em;
	z-index: -1;
}
@media screen and (max-width: 768px) {
	#fp-technology__ballset-1 {
		display: none;
	}
}

@media screen and (max-width: 1400px) {
	.fp-technology__r {
		flex: 0 0 55.2%;
		max-width: 55.2%;
	}
}
@media screen and (max-width: 1200px) {
	.fp-technology .container {
		padding-left: 20px;
		padding-right: 20px;
	}
	.fp-technology__l {
		padding-left: 10px;
		padding-right: 20px;
	}
}
@media screen and (max-width: 768px) {
	.fp-technology {
		background: url(./img/top/technology/main.jpg) no-repeat 75% center /
			cover;
		padding: 0;
	}
	.fp-technology .container {
		display: block;
		padding: 50px 5% 60px;
		background: rgba(255, 255, 255, 0.6);
	}
	.fp-technology__l {
		max-width: initial;
		padding: 0;
	}
	.fp-technology__r {
		display: none;
	}
	.fp-technology .more-wrap {
		text-align: center;
	}
}

/* Case */
.fp-case {
	position: relative;
	background: #f2f5f8;
	display: flex;
	z-index: 1;
}
.fp-case .container {
	padding: 120px 0 120px;
	position: relative;
	z-index: 1;
}
.fp-case__col3 {
	display: flex;
	justify-content: flex-start;
	padding: 0;
	flex-wrap: wrap;
}
.fp-case__single {
	flex: 0 0 30%;
	max-width: 30%;
	margin: 0 5% 5% 0;
	text-decoration: none;
	color: #1e1e1e;
}
.fp-case__single:nth-of-type(3n) {
	margin-right: 0;
}
.fp-case__thumb {
	overflow: hidden;
	border-radius: 20px;
	box-shadow: 0 0 20px 0 rgb(0 0 0 / 5%);
}
.fp-case__thumb img {
	display: block;
	width: 100%;
	border-radius: 20px;
}
.fp-case__post-meta {
	display: flex;
	flex-direction: row-reverse;
	margin-top: 25px;
}
.fp-case__post-title {
	border-left: 1px solid #a5a5a5;
	padding-left: 1em;
	flex: 1 1 auto;
	margin-left: 0.5em;
}
.fp-case__time {
	flex: 0 0 5em;
	max-width: 5em;
}
.fp-case__cat {
	display: inline-block;
	font-size: 0.74rem;
	border: 1px solid #a5a5a5;
	padding: 0 0.6em;
	font-weight: 700;
	margin-bottom: 0.8em;
	line-height: 1.4;
	height: 1.4em;
	box-sizing: content-box;
	min-width: 7em;
	text-align: center;
}
.fp-case__h3 {
	line-height: 1.84;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
}
.fp-case__year {
	font-family: "Barlow Semi Condensed", sans-serif;
	display: block;
	font-size: 0.9rem;
	padding: 0.2em 0.5em 0;
}
.fp-case__date {
	font-family: "Barlow Semi Condensed", sans-serif;
	display: block;
	font-size: 1.9rem;
	padding: 0 0.2em;
}
.fp-case .more {
	margin-top: 30px;
}

/* Case背景のボール */
#fp-case__ballset-1 {
	position: absolute;
	top: 21%;
	left: 0;
	width: 10em;
	z-index: -1;
}

@media screen and (max-width: 1100px) {
	.fp-case__col3 {
		padding: 0 20px;
	}
	.fp-case__single {
		flex: 0 0 32%;
		max-width: 32%;
		margin: 0 2% 2% 0;
	}
}
@media screen and (max-width: 768px) {
	.fp-case {
		padding: 0;
	}
	.fp-case .container {
		padding: 50px 5% 60px;
	}
	.fp-case__col3 {
		display: block;
		padding: 0;
	}
	.fp-case__single {
		width: 500px;
		margin: 60px auto 0 !important;
		display: block;
		max-width: 100%;
	}
	#fp-case__ballset-1 {
		width: 28vw;
		left: -14vw;
		top: 120%;
	}
	.fp-case__post-meta {
		margin-top: 15px;
	}
	#fp-case__ballset-1 {
		display: none;
	}
}
/* product bnr */
.product-bnr {
	text-align: center;
}
.product-bnr img {
	max-width: 100%;
}
.product-bnr a {
	display: block;
}
@media screen and (min-width: 769px) {
	.product-bnr {
		background-color: #f2f5f8;
		padding-top: 64px;
	}
}
@media screen and (max-width: 768px) {
	.product-bnr {
		background-color: #fff;
		padding-top: 50px;
		padding-right: 5%;
		padding-left: 5%;
		box-shadow: 10px 10px 60px rgb(28 11 109 / 20%);
	}
}
/* News */
.fp-news {
	position: relative;
	padding-top: 100px;
	padding-top: 64px;
	padding-bottom: 100px;
	margin-bottom: 70px;
	background: #f2f5f8;
	display: flex;
}
.fp-news .container {
	background: #fff;
	border-radius: 52px;
	padding: 6.1% 5.7%;
	width: 1280px;
	max-width: calc(100% - 40px);
	box-shadow: 10px 10px 60px rgb(28 11 109 / 20%);
	position: relative;
	z-index: 2;
}
@media screen and (max-width: 768px) {
	.fp-news .container {
		box-shadow: none;
	}
}
.fp-news .fp-sec__h2 {
	margin-bottom: 24%;
}
.fp-news__col2 {
	display: flex;
	justify-content: space-between;
}
.fp-news__r {
	flex: 1 1 auto;
}
.fp-news__l {
	flex: 0 0 16.2rem;
	max-width: 16.2rem;
}
.fp-news__li {
	border-top: 1px solid #a5a5a5;
}
.fp-news__li:nth-last-of-type(1) {
	border-bottom: 1px solid #a5a5a5;
}
.fp-news__li > a {
	text-decoration: none;
	color: #1e1e1e;
	display: flex;
	align-items: center;
	padding: 4.5% 6px;
}
@media screen and (max-width: 768px) {
	.fp-news__li > a {
		align-items: flex-start;
	}
}
.fp-news__time {
	position: relative;
	flex: 0 0 7.8rem;
	margin-top: 1.15em;
	max-width: 7.8rem;
}
.fp-news__year {
	font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	display: block;
	line-height: 1.1;
	position: absolute;
	top: -1.2em;
}
.fp-news__date {
	font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 2rem;
	display: block;
	line-height: 1;
}
.fp-news__cat {
	font-size: 0.74rem;
	border: 1px solid #a5a5a5;
	font-weight: 700;
	line-height: 1.55em;
	min-width: 8em;
	text-align: center;
	padding: 0 0.4em;
	display: inline-block;
	box-sizing: content-box;
	height: 1.6em;
	margin-bottom: 0.5em;
}
.fp-news__title {
	line-height: 1.4rem;
	font-size: 0.95rem;
	display: block;
}

/* News背景のボール */
#fp-news__ballset-1 {
	position: absolute;
	top: 200%;
	right: -9em;
	width: 10em;
	z-index: -1;
}

@media screen and (max-width: 768px) {
	.fp-news {
		padding: 0;
	}
	.fp-news .container {
		padding: 50px 5% 60px;
		background: #fff;
		border-radius: 0;
		max-width: 100%;
	}
	.fp-news__col2 {
		display: block;
	}
	.fp-news__l {
		max-width: initial;
	}
	.fp-news__r {
		max-width: initial;
	}
	.fp-news .fp-sec__h2 {
		text-align: center;
		margin-bottom: 60px;
	}
	.fp-news .fp-sec__h2::after {
		transform: translate(-50%, 0);
		left: 50%;
	}
	.fp-news__time {
		flex: 0 0 4.6rem;
		max-width: 4.6rem;
		margin-top: 1em;
		margin-right: 10px;
	}
	#fp-news__ballset-1 {
		display: none;
	}
}

/* EN 共通 */
.en-contents {
	padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
	.en-contents {
		padding-top: 2.5rem;
	}
}

/* common en */
.link-jp {
	position: absolute;
	top: 12px;
	right:2rem;
}
.link-jp a {
	display: inline-block;
	text-decoration: none;
	font-size: 1.5rem;
	padding: 1rem;
}

.en-contents p {
	font-size: 1.125rem;
	line-height: 1.4;
}
.en-contents .content-img {
	text-align: center;
}
.en-contents .product-logo img {
	width: min(90%, 503px);
	margin-top: 2.5rem;
	box-sizing: border-box;
	padding: 8px 16px;
}
.en-contents .portfolio-chart img {
	width: min(100%,1205px);
	padding-top: 2.5rem;
}
.en-contents dt {
	padding-bottom: 0.5rem;
}
.en-contents dd {
	margin-left: 0;
	border-top: solid 1px #ccc;
	padding: 1rem;
	line-height: 1.5;
	margin-bottom: 1.5rem;
}
.en-contents .remove-border dt {
	padding-bottom: 0;
}
.en-contents .remove-border dd {
	border-top: none;
	padding: 1rem 0;
}

@media screen and (max-width: 768px) {
	.link-jp {
		position: absolute;
		top: 0;
		right:0;
		z-index: 10;
	}
	.link-jp a {
		font-size: 1.125rem;
		padding: 1rem 1rem;
	}
	.en-contents p {
		font-size: 1rem;
	}
}


/* EN Philosophy */
.en-philosophy {
	position: relative;
}
.en-philosophy .container {
	background: #e8f0f2;
	border-radius: 30px;
	padding-top: 4rem;
	padding-bottom: 4rem;
}
/* .fp-philosophy__back.en {
	position: absolute;
	display: block;
	width: 1200px;
	height: 100%;
	left: calc((100% - 1200px) / 2);
	top: 16%;
	background: #e8f0f2;
	border-radius: 30px;
	z-index: -1;
} */
.en-philosophy .en-philosophy__description {
	font-size: 1.125rem;
	text-align: center;
	line-height: 1.4;
	margin-bottom: 3em;
}

.en-philosophy .col3 {
	background-color: #fff;
	border-radius: 20px;
	padding: 3rem 1rem;
}

.en-philosophy .col3 h3 {
	color:#bc3c5c;
	text-align: center;
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 3rem;
}

.en-philosophy .col3 p {
	text-align: center;
	font-size: 0.875rem;
	font-size: 1rem;
	line-height: 1.4;
}

.en-balls {
	z-index: 10;
}

@media screen and (min-width: 769px) {
	.en-philosophy {
		/* margin-top: -5rem; */
		margin-bottom: 5rem;
	}
}
@media screen and (max-width: 768px) {
	.en-philosophy {
		margin-top: 3rem;
	}
	.en-balls {
		display: none;
	}

	/* .fp-philosophy__back.en {
		position: absolute;
		display: block;
		width: 100%;
		height: 100%;
		left: 0;
		top: 48px;
		background: #e8f0f2;
		border-radius: 0px;
		z-index: -1;
	} */
	.en-philosophy .container {
		border-radius: 0;
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}
	#fp-philosophy__ballset-1.en,
	#fp-philosophy__ball-1.en {
		display: none;
	}
}

/* Philosophy背景のボール */
#fp-philosophy__ball-1.en {
	position: absolute;
	top: 130%;
	left: 6vw;
	width: 3vw;
	z-index: 10;
}
#fp-philosophy__ball-2.en {
	position: absolute;
	top: 20%;
	left: 16vw;
	width: 0.7vw;
	z-index: 10;
}
#fp-philosophy__ball-3.en {
	position: absolute;
	top: 45%;
	left: 89vw;
	width: 2.5vw;
	z-index: 10;
}
#fp-philosophy__ball-4.en {
	position: absolute;
	top: 114%;
	left:10vw;
	width: 0.5vw;
	z-index: 10;
}
#fp-philosophy__ball-5.en {
	position: absolute;
	top: 145%;
	left: 9vw;
	width: 0.8vw;
	z-index: 10;
}
#fp-philosophy__ball-6.en {
	position: absolute;
	top: 64%;
	left: 7vw;
	width: 2vw;
	z-index: 10;
}
#fp-philosophy__ballset-1.en {
	position: absolute;
	top: 103%;
	right: 2%;
	width: 10em;
	z-index: 10;
}


/* CEO Message */
.en-message {
	position: relative;
	padding-bottom: 6.25rem;
}
.en-message .photo {
	width: 210px;
	margin-right: auto;
	margin-left: auto;
}
.en-message .photo img {
	width: 210px;
	height: auto;
}
.en-message .photo figcaption {
	font-size: 1.125rem;
	font-weight: 600;
	margin-top: 1em;
}
.en-message .photo figcaption span {
	font-size: 0.875rem;
	font-weight: 500;
	margin-bottom: 0.5rem;
	display: block;
}
.en-message .message {
	width: calc(100% - 210px);
	padding-left: 3rem;
	box-sizing: border-box;
}
.en-message .message h3 {
	font-size: 1.25rem;
	font-weight: 600;
	margin-bottom: 1.5em;
}
.en-message .message p {
	font-size: 1rem;
	line-height: 1.4;
}
.en-message .message p:not(:last-child) {
	margin-bottom: 1em;
}
#en-ceo-message__ballset {
	position: absolute;
	top: 115%;
	right: 0;
	width: 14em;
	z-index: -1;
}
@media screen and (max-width: 768px) {
	.en-message {
		padding-bottom: 2.5rem;
	}
	.en-contents#ceo-message {
		padding-top: 5em;
	}
}

/* CEO背景のボール */
#en-ceo-message__ball-1 {
	position: absolute;
	top: 152%;
	left: 17.4vw;
	width: 1.8vw;
	z-index: -1;
}
#en-ceo-message__ball-2 {
	position: absolute;
	top: 68%;
	left: 140vw;
	width: 7vw;
	z-index: -1;
}
#en-ceo-message__ball-3 {
	position: absolute;
	top: 132%;
	left: 13vw;
	width: 0.8vw;
	z-index: -1;
}

@media screen and (max-width: 768px) {
	.en-message .message {
		width: 100%;
		padding-left: 0;
		margin-top: 2.5rem;
	}
	#en-ceo-message__ballset {
		display: none;
	}
}

/* Product en */
#products.en-contents {
	padding-bottom: 6.25rem;
}
#products.en-contents .container {
	position: relative;
}
.en-products p {
	font-size: 1.125rem;
	line-height: 1.4;
}
.en-products p.add-mb {
	margin-bottom: 1em;
}
.en-products .product-logo {
	text-align: center;
}
.en-products .product-logo img {
	max-width: 503px;
	border: solid 1px #ccc;
}
.en-products .product-logo a {
	display: block;
}
#en-products__ballset {
	position: absolute;
	bottom: -105%;
	left: 0;
	width: 10em;
	z-index: 1;
}
@media screen and (max-width: 768px) {
	#products.en-contents {
		padding-bottom: 2.5rem;
	}
	#en-products__ballset {
		display: none;
	}
}

/* Portfolio */
#portfolio.en-contents {
	background-color: #f2f5f8;
	padding-bottom: 6.25rem;
}
.en-portfolio__inner {
	text-align: center;
}
.en-portfolio__inner p {
	display: inline-block;
}
.en-portfolio__inner .portfolio-chart {
	max-width: 705px;
	margin-right: auto;
	margin-left: auto;
}

@media screen and (max-width: 768px) {
	#portfolio.en-contents {
		padding-bottom: 2.5rem;
	}
}

/* EN Company History */
#en-company-history {
	background-color: #f2f5f8;
	padding-bottom: 6.25rem;
}
@media screen and (max-width: 768px) {
	#en-company-history {
		padding-bottom: 2.5rem;
	}
}

/* EN Investors */
.en-investors {
	padding-bottom: 6.25rem;
}
.en-investors .investors-logo {
	display: flex;
	flex-wrap: wrap;
}
.en-investors .en-investors__a {
	width: 25%;
	display: block;
	position: relative;
}
.en-investors .en-investors__a::after {
	content: '';
	display: block;
	border: solid 0.7rem #fff;
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	transform: scale(1.025, 1.05);
}
.en-investors .en-investors__a img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
@media screen and (max-width: 768px) {
	.en-investors {
		padding-bottom: 2.5rem;
	}
	.en-investors .en-investors__a {
		width: 49%;
		margin: 8px 0.5%;
	}
	.en-investors .en-investors__a::after {
		border: solid 0.5rem #fff;
	}
}

/* En Company Information  */
#en-company-information {
	background-image: linear-gradient(to bottom,#f2f5f8 0%, #fff 100%);
}
#en-company-information li {
	padding-left: 2em;
	text-indent: -2em;
}

/* En Company Contact  */
.en-contents#en-contact p {
	font-size: 1rem;
	margin: 1.6em auto;
	line-height: 1.9;
}
#en-contact th {
	font-weight: 600;
}
#en-contact {
	padding-bottom: 6.25rem;
}
@media screen and (max-width: 768px) {
	#en-contact {
		padding-bottom: 2.5rem;
	}
}


/*////////////////////////////
 下層ページ共通指定
////////////////////////////*/
section {
	position: relative;
}

.page-content.container {
	padding: 100px 10px;
}
.page-content > section:nth-of-type(2n-1) {
	background: #f2f5f8;
}
.p__header {
	position: relative;
	background: url(./img/page-header.png) no-repeat center / cover;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	height: 380px;
	margin-top: -83px;
	padding-top: 83px;
}
.p__h1 {
	position: relative;
	font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 4.6rem;
	letter-spacing: 0.1rem;
	margin-bottom: 1.6%;
}
.p__h1.title-en {
	font-size: 3.5rem;
}
.p__h1::before {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: -120px;
	height: 80px;
	width: 1px;
	background: #707070;
}
@media screen and (max-width: 768px) {
	.p__h1.title-en {
		font-size: 2rem;
	}
	.p__h1::before {
		bottom: -80px;
		height: 60px;
	}
}
.p__h1::after {
	position: absolute;
	top: calc(100% + 28px);
	left: 50%;
	transform: translate(-50%, 0);
	display: block;
	width: 0;
	height: 74px;
	border-right: 3px solid #d0cfd4;
	content: none;
}
.p__ja-title {
	display: block;
	font-size: 1rem;
	margin-top: 6%;
	font-family: "Noto Sans JP", sans-serif;
	letter-spacing: 0.1em;
	font-size: 1.06rem;
	font-weight: bold;
}
.p__h2 {
	position: relative;
	font-size: 2.2rem;
	width: 1090px;
	max-width: 100%;
	line-height: 1.4;
	font-weight: bold;
	letter-spacing: 0.01em;
}
.p__h2--row {
	margin: 0 auto 90px;
}
.p__h2--col {
	margin: 0 auto 80px;
	text-align: center;
}
.p__h2--row::after {
	content: "";
	position: absolute;
	top: calc(100% + 0.7em);
	left: 0.04em;
	display: block;
	width: 84px;
	height: 8px;
	border-radius: 10px;
	background: rgb(243, 199, 243);
	background: -moz-linear-gradient(
		left,
		rgba(243, 199, 243, 1) 0%,
		rgba(199, 15, 71, 1) 100%
	);
	background: -webkit-linear-gradient(
		left,
		rgba(243, 199, 243, 1) 0%,
		rgba(199, 15, 71, 1) 100%
	);
	background: linear-gradient(
		to right,
		rgba(243, 199, 243, 1) 0%,
		rgba(199, 15, 71, 1) 100%
	);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3c7f3', endColorstr='#c70f47',GradientType=1 );
}
.p__h2--col::after {
	content: "";
	position: absolute;
	top: calc(100% + 0.7em);
	left: 50%;
	transform: translate(-50%, 0);
	display: block;
	width: 84px;
	height: 8px;
	border-radius: 10px;
	background: rgb(243, 199, 243);
	background: -moz-linear-gradient(
		left,
		rgba(243, 199, 243, 1) 0%,
		rgba(199, 15, 71, 1) 100%
	);
	background: -webkit-linear-gradient(
		left,
		rgba(243, 199, 243, 1) 0%,
		rgba(199, 15, 71, 1) 100%
	);
	background: linear-gradient(
		to right,
		rgba(243, 199, 243, 1) 0%,
		rgba(199, 15, 71, 1) 100%
	);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3c7f3', endColorstr='#c70f47',GradientType=1 );
}
@media screen and (max-width: 768px) {
	.p__h2--row::after,
	.p__h2--col::after {
		height: 6px;
	}
}
.p__h2--small {
	font-size: 44%;
	font-family: "Barlow Semi Condensed", sans-serif;
	margin: 0 0 0 1em;
	font-weight: 500;
}
.p__h2--col > .p__h2--small {
	display: block;
	margin: 1em 0 0 0;
}
@media screen and (max-width: 768px) {
	.p__h2--col > .p__h2--small {
		margin-top: 0.5em;
	}
}
.p-sec {
	padding: 80px 0;
}
.p-sec-child {
}
.p-sec__h3 {
	font-size: 1.1875rem;
	line-height: 1.6;
	margin: 1em auto;
	font-weight: 500;
}
.p-sec__h3--strong {
	font-weight: bold;
	font-size: 1.6rem;
	margin-top: 0;
}
.p-sec__h3--bar {
	position: relative;
	padding-left: 40px;
	margin-left: -40px;
}
.p-sec__h3--bar::before {
	content: "";
	position: absolute;
	display: block;
	top: 0.8em;
	left: 5px;
	width: 30px;
	height: 0;
	border-bottom: 1px solid #707070;
}
.p-sec__desc {
	text-align: center;
	line-height: 2.4;
	font-size: 1.1rem;
	font-weight: 500;
}
.p-sec__p {
	line-height: 2;
	margin: 1em 0;
}
@media screen and (max-width: 768px) {
	.p-sec__p {
		font-size: 0.9rem;
	}
}
.p-sec__p--center {
	text-align: center;
}
.p-sec__p--right {
	text-align: right;
}

.view-more {
	background: #c73f47;
	text-decoration: none;
	color: #fff;
	border-radius: 100px;
	padding: 0 6.8em;
	font-size: 0.94rem;
	line-height: 3.9;
	display: inline-block;
	position: relative;
	transition: background-color 0.3s;
	cursor: pointer;
	font-weight: 500;
	letter-spacing: 0.05em;
	box-shadow: 10px 10px 20px rgb(28 8 109 / 15%);
}
.view-more:hover {
	background: #a52c34;
	transition: background-color 0.3s;
	opacity: 1;
}
.view-more::before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	right: 1em;
	transform: translate(0, -50%);
	width: 20px;
	height: 20px;
	background: #fff url(./img/icons/arrow-re.svg) no-repeat center / 40% auto;
	border-radius: 100px;
	transition: top 0.3s;
}
.view-more:hover::before {
	top: 53%;
	transition: top 0.3s;
}

/* toggle*/
.toggle-content {
	display: none;
}
.toggle-button {
	transition: opacity 0.3s;
}
.toggle-button.active {
	display: none;
	opacity: 0.5;
	transition: opacity 0.3s;
	pointer-events: none;
}

/* bread crumb */
.breadcrumbs.container {
	position: absolute;
	left: 50%;
	bottom: 20px;
	text-align: left;
	transform: translate(-50%, 0);
	line-height: 1.6;
	font-size: 0.7rem;
	padding: 0.2em 0;
	letter-spacing: 0.08em;
	width: 1090px;
	max-width: 100%;
}
.breadcrumbs a {
	text-decoration: none;
}
.breadcrumbs a:hover {
	text-decoration: underline;
}

/* ページ内リンク */
.page-anchor-link {
	padding: 88px 0 20px;
	background: #f2f5f8;
}

.page-company .page-anchor-link {
	padding-bottom: 88px;
}

.page-anchor-link .container {
	display: flex;
	justify-content: center;
	text-align: center;

	width: 1110px;
	max-width: 100%;
}
.page-anchor-link a {
	position: relative;
	text-decoration: none;
	flex: 0 0 19%;
	max-width: 19%;
	line-height: 20px;
	padding-bottom: 40px;
	margin-right: 1.25%;
	margin-bottom: 20px;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.page-anchor-link a:nth-last-of-type(1) {
	margin-right: 0;
}
.page-anchor-link a::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 22px;
	background: rgb(255, 255, 255);
	background: -moz-linear-gradient(
		top,
		rgba(255, 255, 255, 1) 0%,
		rgba(255, 255, 255, 1) 44%,
		rgba(187, 187, 187, 1) 100%
	);
	background: -webkit-linear-gradient(
		top,
		rgba(255, 255, 255, 1) 0%,
		rgba(255, 255, 255, 1) 44%,
		rgba(187, 187, 187, 1) 100%
	);
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 1) 0%,
		rgba(255, 255, 255, 1) 44%,
		rgba(187, 187, 187, 1) 100%
	);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#bbbbbb',GradientType=0 );
	bottom: 0;
	left: 0;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
	border-radius: 3px;
}
.page-anchor-link a::after {
	content: "";
	position: absolute;
	display: block;
	bottom: 7px;
	left: 50%;
	transform: translate(-50%, 0);
	width: 10px;
	height: 10px;
	background: url(./img/icons/arrow-gr.svg) no-repeat center / 0.5em auto;
	transition: bottom 0.3s;
}
.page-anchor-link a:hover {
	opacity: 1;
}
.page-anchor-link a:hover::after {
	bottom: 0;
	transition: bottom 0.3s;
}

/* Pager */
.pager {
	display: ;
	text-align: center;
	margin-top: 80px;
}
.pager .page-numbers {
	display: inline-block;
	text-decoration: none;
	border: 1px solid #aaa;
	line-height: 2.6;
	padding: 0 0.8em;
}
.pager .page-numbers.current {
	background: #555;
	color: #fff;
	border-color: #555;
}

@media screen and (max-width: 1200px) {
	.p-sec {
		padding: 40px 20px !important;
	}
	.p-sec .container {
		padding: 0 !important;
	}
	.page-content.container {
		padding: 60px 5% !important;
	}
}
@media screen and (max-width: 959px) {
	.page-anchor-link {
		/*display:none;*/
	}
}

@media screen and (max-width: 768px) {
	.p__header {
		margin-top: 50px;
		padding: 0;
		height: 30vw;
		min-height: 170px;
	}
	.p__h1 {
		font-size: 3rem;
		margin-bottom: 7%;
	}
	.p__h1::after {
		content: none;
	}
	.p__ja-title {
		font-size: 30%;
	}
	.p__h2 {
		font-size: 1.5rem;
		margin-bottom: 50px;
	}
	.p-sec__h3 {
		font-size: 1.1rem;
	}
	.p__h2--small {
		font-size: 62%;
	}
	.breadcrumbs.container {
		padding: 0.2em 5%;
		bottom: 10px;
		display: none;
	}
	.p-sec__desc {
		line-height: 2;
		font-size: 1rem;
		padding-left: 20px;
	}
}

.view_more {
	display: inline-flex;
	border: solid 1px #a5a5a5;
	padding: 10px 25px;
	border-radius: 25px;
	text-decoration: none;
	font-size: 12px;
	margin-top: 20px;
	letter-spacing: 0.05em;
	justify-content: space-between;
}
.view_more::after {
	content: "→";
	display: inline-block;
	margin-left: 0.75em;
	margin-right: -1em;
	transition: all 0.25s;
}
.view_more:hover::after {
	margin-left: 1em;
	margin-right: -1.25em;
}

.lead_section {
	position: relative;
	background: #f2f5f8;
	overflow: hidden;
	padding-bottom: 100px;
}
.lead_section::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 200px;
	background: #fff;
	bottom: 0;
	left: 0;
}
.lead_section .container {
	z-index: 1;
	position: relative;
}

.lead_inner {
	background: #fff;
	border-radius: 30px;
	padding: 100px 50vw 90px 80px;
	margin-right: -50vw;
	box-shadow: 0px 0px 60px rgb(28 8 109 / 15%);
	width: calc(100% + 50vw);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	position: relative;
}
.lead_inner h2 {
	width: 280px;
	margin: 30px 0 auto;
}
.lead_inner .p-sec__desc {
	text-align: left;
	width: calc(100% - 240px);
	margin-right: -40px;
}
.lead_inner .ballset.ball_bottom_right {
	left: 1000px;
}

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

	.lead_inner {
		padding: 40px 50vw 30px 0;
		flex-direction: column;
	}
	.lead_inner h2 {
		margin: 0 auto 50px 20px;
	}
	.lead_inner .p-sec__desc {
		width: 100%;
		margin-right: 0;
		font-weight: normal;
		font-size: 15px;
	}
}

/*////////////////////////////
 Company Page
////////////////////////////*/

.page-company .page-anchor-link {
	background: #f2f5f8;
}
.page-company .p-sec__h3 {
	width: 1090px;
	max-width: 100%;
}
.page-company .p-sec__h3.p-sec__h3--bar {
	margin-left: auto;
}
/* 会社情報 */
.company-info {
	position: relative;
	background: #f2f5f8;
	overflow: hidden;
	padding-bottom: 100px;
	padding-top: 10px;
}
.company-info::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 240px;
	background: #fff;
	bottom: 0;
	left: 0;
}
.company-info .container {
	z-index: 1;
	position: relative;
}
.company-info .p__h2 {
	margin-bottom: 70px;
}
.company-info__inner {
	background: #fff;
	border-radius: 30px;
	padding: 100px 50vw 90px 0;
	margin-right: -50vw;
	box-shadow: 0px 0px 60px rgb(28 8 109 / 15%);
	width: calc(100% + 50vw);
}
@media screen and (max-width: 768px) {
	.company-info__inner {
		padding: 40px 50vw 30px 0;
	}
}
.p-sec__table-wrap {
	width: 1000px;
	max-width: calc(100% - 20px);
	margin: 0 auto;
}
.p-sec__table {
	table-layout: fixed;
	line-height: 1.7;
}
.p-sec__table th,
.p-sec__table td {
	padding: 30px 0;
}
.p-sec__table th {
	width: 25%;
	border-top: 1px solid #c73f47;
	text-align: left;
	font-weight: bold;
}
.p-sec__table td {
	width: 75%;
	border-top: 1px solid #ccc;
	text-align: left;
	position: relative;
}
.p-sec__table ul li {
	margin-bottom: 0.8em;
}

@media screen and (max-width: 768px) {
	.p-sec__table-wrap {
		margin: 0 0 0 auto;
	}
	.p-sec__table th,
	.p-sec__table td {
		font-size: 0.85rem;
		display: block;
		width: 100%;
		padding: 13px 0;
	}
	.p-sec__table th {
		border-top: solid 1px #ccc;
	}
	.p-sec__table td {
		border-top: none;
		padding-top: 0;
	}
}

.company-info__inner .view_more {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	line-height: 1;
	margin: 0;
}
@media screen and (max-width: 768px) {
	.company-info__inner .view_more {
		position: static;
		transform: none;
		margin: 10px 0 10px auto;
		display: block;
		width: 140px;
	}
}
/* セキュリティに関する取り組み */
.page-company #security .flex_block {
	display: flex;
	flex-wrap: wrap;
	background: #fff;
	border-radius: 40px;
	padding: 8.8% 7.7% 8.8%;
	box-shadow: 0 0 60px rgb(28 11 109 / 15%);
	justify-content: center;
}
.page-company #security .container {
	width: 1100px;
}
.page-company #security .pc_width30 {
	width: 30%;
	margin-right: 5%;
}
.page-company #security .pc_width30:nth-last-child(3n+3) {
	margin-right: 0;
}

.page-company #security .security_mark img {
	width: 100%;
	height: auto;
}
.page-company #security .security_description {
	text-align: center;
	line-height: 1.8;
	font-size: 15px;
}
@media screen and (max-width: 768px) {
	.page-company #security .flex_block {
		flex-direction: column;
		box-shadow: none;
		border-radius: 30px;
    padding: 30px 5%;
	}
	.page-company #security .pc_width30 {
		width: 100%;
		margin-right: initial;
		margin-bottom: 32px;
	}
	.page-company #security .security_mark {
		text-align: center;
	}
	.page-company #security .security_mark img {
		width: 200px;
		max-width: 100%;
		height: auto;
	}
}

/* 受賞歴 */
.company-award {
	background: #fff;
	padding: 0 0 100px;
	position: relative;
}
.company-award .container {
	position: relative;
}
.company-award__col2 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.company-award__single {
	flex: 0 0 26%;
	max-width: 26%;
	margin-right: 5%;
}
.company-award__col2 > .company-award__single:nth-of-type(3n) {
	margin-right: 0;
}
.company-award__single img {
	width: 100%;
}
@media screen and (max-width: 768px) {
	.company-award__single img {
		width: 270px;
		margin: 0 auto;
		display: block;
	}
}
.company-award__name {
	text-align: center;
	font-size: 0.85rem;
	line-height: 1.5;
	margin-top: 1.5em;
}
.company-award__name:first-of-type {
	font-weight: 500;
	line-height: 2;
}
#company-award__ballset-1 {
	position: absolute;
	width: 10rem;
	top: -100px;
	right: 0;
	transform: translate(0, -42%);
	z-index: 1;
}

@media screen and (max-width: 768px) {
	#company-award__ballset-1 {
		display: none;
	}
	.company-award__single {
		flex: 0 0 46%;
		max-width: 46%;
	}
}
@media screen and (max-width: 574px) {
	.company-award__single {
		flex: 0 0 480%;
		max-width: 100%;
		margin-right: 0 !important;
	}
	.company-award__single {
		flex: 0 0 360px;
		max-width: 100%;
		margin-right: 0 !important;
		margin-bottom: 50px;
	}
	.company-award__single:nth-last-of-type(1) {
		margin-bottom: 0;
	}
}
/* スタッフ紹介 */
.company-staffs {
	background: #f2f5f8;
	padding: 116px 0 123px;
}
.company-staffs__col2 {
	display: flex;
	width: 1170px;
	max-width: 100%;
	margin: 0 auto 80px;
	align-items: flex-start;
}
.company-staffs__l {
	/*flex: 0 0 29%;
	max-width: 29%;*/
	flex: 0 0 24%;
	max-width: 24%;
	border-radius: 30px;
	overflow: hidden;
}
.company-staffs__l img {
	display: block;
	width: 100%;
	max-width: 100%;
	border-radius: 30px;
}
.company-staffs__l--movie {
	border-radius: 0;
	overflow: visible;
}
.company-staffs__l--movie .company-staffs__movie-wrap {
	position: relative;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
	width: 100%;
	height: 0;
	padding-top: 56%;
	overflow: hidden;
}
.company-staffs__movie-wrap iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
}
.company-staffs__r {
	/*padding: 0 0 0 50px;*/
	padding: 0 0 0 60px;
}
.company-staffs__h3 {
	margin-bottom: 45px;
}
.company-staffs__pos {
	color: #c73f47;
	display: block;
	font-weight: 700;
	letter-spacing: 0.08em;
	font-size: 0.87rem;
	margin: 6px 0 15px;
	line-height: 1.4;
}
.company-staffs__name {
	display: inline-block;
	font-size: 1.8rem;
	line-height: 1.8rem;
	margin-right: 1em;
	vertical-align: middle;
	letter-spacing: 0.08em;
	font-weight: 500;
}
.company-staffs__en-name {
	display: inline-block;
	line-height: 1.8rem;
	font-size: 1.25rem;
	font-weight: 200;
	font-family: "Barlow Condensed", sans-serif;
	vertical-align: middle;
	color: #1e1e1e;
}
.company-staffs__title {
	line-height: 2;
	font-size: 1rem;
	letter-spacing: 0.04em;
}
.company-staffs__message {
	margin-top: 2em;
	font-size: 1rem;
	line-height: 2;
	letter-spacing: 0.04em;
}

@media screen and (max-width: 768px) {
	.company-staffs__col2 {
		display: block;
		margin-bottom: 40px;
	}
	.company-staffs__l {
		float: left;
		margin-right: 2.5%;
		max-width: 40%;
		width: initial;
		margin-bottom: 2.5%;
	}
	.company-staffs__l img {
		border-radius: 10px;
		margin-bottom: 15px;
	}
	.company-staffs__r {
		padding: 0;
		background: #fff;
		border-radius: 15px;
		padding: 20px 20px 30px;
	}
	.company-staffs__h3 {
		/*width: calc(57.5% - 10px);*/
		width: 100%;
		/*float: left;*/
		margin-bottom: 1em;
	}
	.company-staffs__pos {
		margin-bottom: 5px;
		margin-top: 2px;
	}
	.company-staffs__name {
		font-size: 1.4rem;
		margin: 0;
	}
	.company-staffs__en-name {
		font-size: 1rem;
		display: block;
	}
	.company-staffs__title {
		float: right;
		width: 57.5%;
		font-size: 0.85rem;
		margin-bottom: 2.5%;
	}
	.company-staffs__message::before {
		content: "";
		display: table;
		height: 0;
		clear: both;
	}
}
@media screen and (max-width: 575px) {
	.company-staffs__title {
		float: none;
	}
	.company-staffs__title::before {
		content: "";
		display: table;
		height: 0;
		clear: both;
	}
	.company-staffs__l {
		width: auto;
		margin: 0 auto;
		border-radius: 15px;
		float: none;
		max-width: 60%;
	}
	.company-staffs__title {
		width: 100%;
		margin: 0 auto;
	}
	.company-staffs__message {
		margin-left: auto;
		margin-right: auto;
		margin-top: 26px;
		font-size: 0.9rem;
	}
	.company-staffs__col2 .more {
		min-width: 280px;
	}
	.p-sec-interview .p-sec-child:nth-child(n + 1) {
		margin-top: 60px;
	}
}

/* アドバイザー紹介 */
.company-advisor {
	/* margin-top: 110px; */
	padding: 110px 0 0;
	/* background-image: linear-gradient(to bottom, #ffffff 0%, #f2f5f8 100%); */
}
@media screen and (max-width: 1200px) {
	.company-advisor {
		/* margin-top: 60px; */
		padding: 60px 0 0;
	}
}

/* 出資者の皆様 */
.company-investors {
	padding: 170px 0 145px;
}
.company-investors .p__h2--row {
	margin-bottom: 120px;
}
@media screen and (max-width: 768px) {
	.company-investors .p__h2--row {
		margin-bottom: 60px;
	}
	.company-investors .p-sec__p {
		font-size: 0.85rem;
	}
}
.company-investors .container {
	position: relative;
}
.company-investors .p-sec__desc,
.company-investors .p-sec__p {
	width: 1090px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.company-investors__col2 {
	display: flex;
	width: 1100px;
	max-width: 100%;
	margin: 100px auto;
}
.company-investors .company-investors__col2:nth-last-of-type(1) {
	margin-bottom: 0;
}
.company-investors__l {
	flex: 0 0 23%;
	max-width: 23%;
}
.company-investors__r {
	flex: 0 0 77%;
	max-width: 77%;
	padding-left: 60px;
}
.company-investors__head {
	display: flex;
	justify-content: space-between;
	padding-bottom: 1.4em;
	border-bottom: 1px solid #ccc;
	position: relative;
}
.company-investors__head::after {
	content: "";
	position: absolute;
	display: block;
	top: 100%;
	left: 0;
	width: 28%;
	height: 0;
	border-bottom: 1px solid #c73f47;
}
.company-investors__h3 {
	color: #c73f47;
	font-weight: bold;
	font-size: 1.25rem;
}
.company-investors__web {
	color: #a29f9f;
	text-decoration: none;
	font-size: 0.813rem;
	display: none;
}
.company-investors__l img {
	max-width: 100%;
}
.company-investors__name {
	margin: 40px 0 25px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.company-investors__message {
	font-size: 1rem;
	line-height: 2;
	letter-spacing: 0.04em;
}
#company-investors__ballset-1 {
	position: absolute;
	top: -170px;
	left: 0;
	transform: translate(0, -56%);
	width: 10rem;
}

@media screen and (max-width: 1200px) {
	.page-company .p-sec__h3.p-sec__h3--bar {
		margin-left: -40px;
		width: calc(100% + 40px);
		max-width: calc(100% + 40px);
	}
}
@media screen and (max-width: 768px) {
	.company-investors__col2 {
		display: block;
		margin: 40px 0 60px;
	}
	.company-investors__l {
		/*display:none;*/
		max-width: 45%;
		margin: 0 auto 10px;
	}
	.company-investors__r {
		max-width: initial;
		padding: 0;
	}
	.company-investors__head {
		display: block;
		padding-bottom: 10px;
	}
	.company-investors__head > p {
		text-align: right;
		margin-top: 10px;
	}
	.company-investors__name {
		margin-top: 30px;
		margin-bottom: 15px;
	}
	.company-investors__web {
		display: none;
	}
	.company-investors__h3 {
		line-height: 1.4;
	}
	#company-investors__ballset-1 {
		display: none;
	}
	.company-investors__message {
		font-size: 0.9rem;
	}
}

/* パートナーの皆様 */
.company-partners {
	background: #f2f5f8;
	padding-bottom: 120px;
}
.company-partners .container {
	position: relative;
	padding-top: 130px;
	width: 1100px;
}
.company-partners .p__h2 {
	margin-bottom: 80px;
}
.company-partners__col3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
	background: #fff;
	border-radius: 40px;
	padding: 8.8% 7.7% 8.8%;
	box-shadow: 0 0 60px rgb(28 11 109 / 15%);
}
.company-partners__single {
	text-align: center;
	flex: 0 0 30%;
	max-width: 30%;
	margin-right: 5%;
}
.company-partners__h3 {
	border-bottom: 1px solid #a5a5a5;
	padding-bottom: 26px;
}
.company-partners__single:nth-of-type(3n) {
	margin-right: 0;
}
.company-partners__single a {
	display: block;
	text-decoration: none;
	width: 90%;
	margin: 0 auto;
	line-height: 1.6;
	font-weight: 500;
}
.company-partners__single a > img {
	display: block;
	max-width: 100%;
}
#company-partners__ballset-1 {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(0, -37%);
	width: 10rem;
}

.company-partners__col3 .p-sec__p--center {
	line-height: 1.8;
}

@media screen and (max-width: 1200px) {
	.company-partners__col3 {
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media screen and (max-width: 768px) {
	.company-partners .container {
		padding-left: 5%;
		padding-right: 5%;
	}
	.company-partners .p__h2 {
		margin-bottom: 60px;
	}
	.company-partners__col3 {
		display: block;
		padding-left: 5%;
		padding-right: 5%;
		padding: 0;
		background: none;
		border-radius: 25px;
		box-shadow: none;
	}
	.company-partners__single {
		max-width: initial;
		margin-bottom: 20px;
		background: #fff;
		border-radius: 30px;
		padding: 30px 5%;
	}
	.company-partners__single a {
		width: 180px;
		max-width: 100%;
	}
	.company-partners {
		padding-bottom: 60px;
	}
	.company-partners__single {
		margin-right: 0;
	}
	.company-partners__single:nth-of-type(3n) {
		margin-bottom: 0;
	}
}

/*////////////////////////////
 News系カテゴリ一覧
////////////////////////////*/

.page-news .page-content.container {
	width: 880px;
}
.page-news .p__h2.p__h2--col {
	margin-bottom: 12%;
}
.page-news .fp-news__ul {
	margin: 70px 0;
}
@media screen and (max-width: 768px) {
	.page-news .fp-news__ul {
		margin: 40px 0;
	}
}
/* 絞り込みフォーム */
.f-search-wrap {
	display: flex;
	line-height: 2.5;
	width: 730px;
	max-width: 100%;
	margin: 0 auto;
}
.f-search-title {
	flex: 0 0 7em;
	max-width: 7em;
}
#f-search {
	flex: 1 1 auto;
}
#f-search label {
	display: inline-block;
	margin-right: 2em;
	cursor: pointer;
}
input[type="checkbox"] {
	width: 1.2em;
	height: 1.2em;
	margin-right: 0.5em;
}
input[type="reset"] {
	border: none;
	outline: none;
	background: #eee;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 5px;
	padding: 0 1.4em;
	line-height: 2;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	color: #333;
}
#f-search label:last-child {
	display: block;
	text-align: right;
}

@media screen and (max-width: 768px) {
	#f-search label:last-child {
		margin-top: 15px;
	}
	.f-search-wrap {
		display: block;
	}
	.f-search-title {
		display: none;
	}
	#f-search label {
		font-size: 12px;
		margin-right: 1em;
	}
	input[type="checkbox"] {
		vertical-align: -0.1em;
	}
}

.p-sec-goal .lead_inner h2 {
	width: 330px;
}
.p-sec-goal .lead_inner .p-sec__desc {
	width: calc(100% - 330px;);
}
.parent-pageid-19 .editor-content.container {
	padding: 160px 10px 60px;
	width: 1200px;
}

/*////////////////////////////
 シングルページ
////////////////////////////*/

.editor-content.container {
	padding: 60px 10px 60px;
	width: 850px;
}
.single-pager .nav-links {
	display: flex;
	/*justify-content:space-between;*/
	justify-content: center;
	margin-top: 40px;
}
.nav-previous,
.nav-next {
	flex: 0 0 48%;
	max-width: 48%;
}
.single-pager .nav-links a {
	position: relative;
	display: block;
	text-decoration: none;
	line-height: 1.5;
	font-size: 0.9rem;
	background: #ddd;
	padding: 3% 5%;
	height: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.single-pager .nav-previous > a {
	padding-left: 3em;
}
.single-pager .nav-next > a {
	padding-right: 3em;
}
@media screen and (max-width: 768px) {
	.single-pager .nav-links a {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		width: ;
	}
}
.single-pager .nav-previous > a::after {
	content: "〈";
	position: absolute;
	top: 50%;
	left: 0.7em;
	transform: translate(0, -50%);
	color: #fff;
	font-weight: 900;
}
.single-pager .nav-next > a::after {
	content: "〉";
	position: absolute;
	top: 50%;
	right: 0.7em;
	transform: translate(0, -50%);
	color: #fff;
	font-weight: 900;
}
.single .single-pager.container {
	width: 850px;
	margin-bottom: 100px;
}

.editor-content {
	letter-spacing: 0.04em;
}
.post-thumb {
	display: block;
	width: auto;
	max-width: 100%;
	margin: 40px auto 50px;
	border: solid 1px #ccc;
}
.post-time {
	display: block;
	font-size: 0.85rem;
	margin: 1em 0;
	text-align: end;
}
/* 見出し・テキスト調整 */
.editor-content h1 {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
	margin: 1em 0;
}
.editor-content h1:nth-of-type(1) {
	margin-top: 0;
}
.editor-content h2 {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
}
.editor-content h3 {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 2.6em 0 0.6em;
}
.editor-content h4 {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 1.6em 0;
}
.editor-content h5 {
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 1.6em 0;
}
.editor-content h6 {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 1.6em 0;
}
.editor-content p {
	font-size: 1rem;
	margin: 1.6em auto;
	line-height: 1.9;
}
.editor-content a {
	color: #42a0cd;
	word-break: break-word;
}
@media screen and (max-width: 768px) {
	.page-privacy-policy .editor-content h3 {
		margin-top: 2.4rem;
	}
}
/* その他アイテム */
.editor-content img {
	max-width: 100%;
	height: auto;
}
.editor-content .wp-caption {
	max-width: 100%;
}
.editor-content p.wp-caption-text {
	margin-top: 0;
	color: #777;
	font-weight: 500;
	font-size: 0.9rem;
}

p.interview_name {
	text-align: right;
	position: relative;
	max-width: 100%;
}

.interview_ec {
	margin-bottom: 140px;
	position: relative;
}
.interview_ec::before {
	content: "";
	display: block;
	width: 1000px;
	height: 825px;
	position: absolute;
	top: -160px;
	left: -780px;
	background: #f2f5f8;
}
.interview_ec::after {
	content: "";
	display: block;
	width: 190px;
	height: 193px;
	position: absolute;
	bottom: -100px;
	right: 10px;
	background: url(./img/recruit/iv_ball.png) center no-repeat;
	background-size: contain;
	z-index: 2;
}
.interview_ec img {
	position: relative;
	z-index: 1;
}
.interview_body {
	padding: 0 100px 40px 220px;
	background: top left no-repeat;
}
/*
.interview_body.interview_01 {
	background-image: url(./img/recruit/iv_01_name.png);
}
.interview_body.interview_02 {
	background-image: url(./img/recruit/iv_02_name.png);
}
*/
@media screen and (max-width: 768px) {
	.interview_ec {
		margin: 0 -40px 30px;
	}
	.interview_ec::before {
		display: none;
	}
	.interview_ec::after {
		display: none;
	}
	.interview_body {
		padding: 0;
		padding-left: 50px;
	}
	.interview_body {
		background-size: 30px auto;
		background-position: 0px 7px;
	}
}

@media screen and (max-width: 1200px) {
	.editor-content.container {
		padding: 60px 5%;
	}
}
@media screen and (max-width: 768px) {
	.editor-content h1 {
		font-size: 1.2rem;
	}
	.editor-content h1:nth-of-type(1) {
		margin-top: 0;
	}
	.editor-content h2 {
		font-size: 1.4rem;
	}
	.editor-content h3 {
		font-size: 1.35rem;
		margin-top: 1.8em;
	}
	.editor-content h4 {
		font-size: 1.3rem;
	}
	.editor-content h5 {
		font-size: 1.2rem;
	}
	.editor-content h6 {
		font-size: 1.1rem;
	}
	.editor-content p {
		font-size: 1rem;
		margin-top: 1em;
	}
	.single-pager .nav-links {
		display: none;
	}
	.nav-previous,
	.nav-next {
		max-width: initial;
	}
	.nav-previous {
		padding-right: 5em;
		margin-bottom: 15px;
	}
	.nav-next {
		padding-left: 5em;
	}
	.single .single-pager.container {
		padding-left: 5%;
		padding-right: 5%;
		margin-bottom: 0;
	}
	.nav-previous,
	.nav-next {
	}
}

/*////////////////////////////
 Case系カテゴリ一覧
////////////////////////////*/

.page-case .p__h2.p__h2--col {
	margin-bottom: 9%;
}

/*////////////////////////////
 Philosophy
////////////////////////////*/

.page-philosophy .page-anchor-link a {
	/* flex: 0 0 15%; */
	/* max-width: 15%; */
}

/* message */
.p-sec-message .container {
	width: 1100px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 120px;
}
.p-sec-message .message_l {
	margin-top: 10px;
}
.p-sec-message__ceo-img {
	width: auto;
	border-radius: 25px;
	margin-bottom: 25px;
	max-width: 315px;
}
.message_name {
	line-height: 1.6;
	font-size: 14px;
	font-weight: 500;
}
.message_name span.name {
	font-size: 30px;
	letter-spacing: 0.05em;
}
.message_name span.name_en {
	display: inline-block;
	line-height: 1.8rem;
	font-size: 1.25rem;
	font-weight: 200;
	font-family: "Barlow Condensed", sans-serif;
	vertical-align: middle;
	color: #1e1e1e;
}
@media screen and (max-width: 768px) {
	.message_name span.name {
		font-size: 24px;
	}
	.message_name span.name_en {
		font-size: 1.1rem;
	}
}

.p-sec-message .message_r {
	width: 700px;
}
.p-sec-message .p-sec__p {
	margin-bottom: 1em;
}
.p-sec-message .p-sec__p:nth-of-type(n + 3) {
	width: 100%;
}
.p-sec-message .p-sec__p.p-sec__p--right {
	font-weight: 500;
	margin-top: 4.2em;
	font-size: 1.04rem;
}
.p-sec-message_text-container {
	margin-top: 4%;
	overflow: hidden;
}
@media screen and (max-width: 768px) {
	.p-sec-message .container {
		flex-direction: column;
		align-items: center;
		margin-bottom: 0;
	}
	.message_l {
	}
	.p-sec-message .message_r {
		margin-top: 30px;
		width: 100%;
	}
	.message_name {
		text-align: center;
	}
}

.p-sec-guidelines {
}
.p-sec-guidelines .cols {
	margin-top: 80px;
	align-items: stretch;
	padding: 0 30px;
	margin: 80px auto 0;
}
.p-sec-guidelines .col3 {
	background: #fff;
	border-radius: 30px;
	text-align: center;
	padding: 80px 0;
}
@media screen and (max-width: 768px) {
	.p-sec-guidelines .cols {
		margin-top: 40px;
	}
	.p-sec-guidelines .col3 {
		padding: 40px 0;
	}
}
.p-sec-guidelines .col3:first-of-type {
	margin-left: 0;
}
.p-sec-guidelines .col3 p.guideline_head {
	font-weight: 700;
	color: #db2e41;
	font-size: 32px;
}
.p-sec-guidelines .col3 p.guideline_head::after {
	content: "";
	display: block;
	width: 40px;
	border-bottom: solid 1px #707070;
	margin: 20px auto 30px;
}
.p-sec-guidelines .col3 p.guideline_desc {
	line-height: 2.4;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.p-sec-guidelines .col3 p.guideline_head {
		font-size: 22px;
	}
	.p-sec-guidelines .cols {
		padding: 0;
	}
	.p-sec-guidelines .col3 p.guideline_head::after {
		margin-bottom: 15px;
	}
	.p-sec-guidelines .col3 p.guideline_desc {
		line-height: 2;
		font-size: 0.9rem;
	}
}

/* strength */
.p-sec-strength .container {
	width: 1100px;
}
.p-sec-strength .more {
	margin-top: 4%;
}

@media screen and (max-width: 768px) {
	.p-sec-message .p-sec__p.p-sec__p--right {
		font-size: 0.8rem;
	}
}
@media screen and (max-width: 600px) {
	.p-sec-message__ceo-img {
		float: none;
		display: block;
		margin-left: auto;
		margin-right: auto;
		width: 250px;
		height: auto;
		margin: 0 auto 15px;
	}
}

/*////////////////////////////
 Technology
////////////////////////////*/

.page-technology .page-anchor-link a {
	/* flex:0 1 auto; */
	/* max-width:initial; */
	/* padding-left:1%; */
	/* padding-right:1%; */
}

/* technology */
.p-sec-technology .container {
}

/* explain */
.p-sec-explain .container {
	width: 850px;
}

/* diagnose */
.p-sec-diagnose .container {
	width: 850px;
}

/* patent */
.p-sec-patent .container {
	width: 850px;
}
.patent-table {
	border: 1px solid #888;
	table-layout: fixed;
	width: 100%;
}
.patent-table th,
.patent-table td {
	border: 1px solid #888;
	padding: 1em 0.8em;
	line-height: 1.6;
}
.patent-table th {
	width: 30%;
	background: #efefef;
}
.patent-table td {
	width: 70%;
}
.patent-text {
	margin-top: 20px;
	line-height: 1.5;
	margin-bottom: 60px;
}
.cf-item {
	position: relative;
	line-height: 1.6;
	padding-left: 1.5em;
}
.cf-item::before {
	content: "●";
	margin-right: 0.5em;
	position: absolute;
	top: 0;
	left: 0;
}

@media screen and (max-width: 768px) {
	.patent-table th,
	.patent-table td {
		font-size: 0.85rem;
	}
	.patent-table {
		margin-top: 20px;
	}
	.patent-text {
		margin-top: 15px;
		font-size: 0.76rem;
	}
	.cf-item {
		margin-top: 20px;
		font-size: 0.85rem;
	}
}

/*////////////////////////////
 Product
////////////////////////////*/
.hospital_name {
	display: flex;
	font-size: 20px;
	line-height: 27px;
	margin: 40px 0px 0px;
	font-weight: bold;
}
.hospital_name::before {
	content: "";
	background: url("./img/product/client.png") center / contain no-repeat;
	display: inline-block;
	width: 75px;
	height: 27px;
	margin-right: 20px;
}
/* .hospital_name::after {
	content: "様";
	margin-left: 0.7em;
} */
.paper_list li {
	line-height: 1.8em;
}
/* .description {
	background: url("./img/product/msg-box.png") center / contain no-repeat;
	min-height: 183px;
	padding: 43px 180px 45px 30px;
	line-height: 2em;
	font-weight: normal;
} */
@media screen and (min-width: 769px) {
	.description {
		background: none;
		/* min-height: 183px; */
		width: 82%;
		/* padding: 20px; */
		padding: 20px 30px;
		margin-top: 25px;
		margin-bottom: 80px;
		line-height: 2em;
		background: #f0f4f8;
		border-radius: 10px;
		box-shadow: 2px 2px #dee1e1;
		position: relative;
	}
	.description::after {
		content: '';
		display: inline-block;
		width: min(13.012vw, 108px);
		height: min(15.7831vw, 131px);
		background-image: url("./img/product/icon_doctor.png");
		background-size: cover;
		position: absolute;
		top: 5%;
		right: -22%;
	}
	.description::before {
		content: '';
		display: inline-block;
		width: min(1.92771vw, 16px);
		height: min(2.89156vw, 24px);
		background-image: url("./img/product/arrow.png");
		background-size: cover;
		position: absolute;
		top: 30px;
		right: -2.35%;
	}
}
@media screen and (max-width: 768px) {
	.description {
		background: none;
		min-height: 183px;
		padding: 20px;
		margin-bottom: 150px;
		line-height: 2em;
		background: #f0f4f8;
		border-radius: 10px;
		box-shadow: 1px 1px 1px #ccc;
		position: relative;
	}
	.description::before {
		content: "";
		border-top: 20px solid #f0f5f9;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-bottom: 20px solid transparent;
		position: absolute;
		right: 60px;
		bottom: 0px;
		transform: translateY(40px);
	}
	.description::after {
		content: "";
		display: inline-block;
		width: 80px;
		height: 80px;
		background-image: url("./img/product/icon_doctor.png");
		background-size: cover;
		position: absolute;
		top: 100%;
		right: 0px;
		margin-top: 20px;
	}
	.hospital_name {
		margin-top: 80px;
		margin-bottom: 20px;
		position: relative;
	}
	.hospital_name::before {
		position: absolute;
		transform: translateY(-100%);
		padding-bottom: 20px;
	}
	.hospital_name::after {
		display: inline-block;
		align-items: bottom;
	}
}

/*////////////////////////////
 Recruit
////////////////////////////*/

.p-sec-goal .container {
}
.p-sec-profile .container {
	width: 830px;
}
.p-sec-office__col3 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
}
/* オフィス環境の画像がcol3の場合　
.p-sec-office__img {
	flex: 0 0 30%;
	max-width: 30%;
	margin: 0 5% 5% 0;
}
.p-sec-office__col3 .p-sec-office__img:nth-of-type(3n),
.p-sec-office__col3 .p-sec-office__img:nth-last-of-type(1) {
	margin-right: 0;
}

*/

/* オフィス環境の画像がcol2の場合　*/
.p-sec-office__img {
	flex: 0 0 48%;
	max-width: 48%;
	margin: 0 2% 2% 0;
}
/*
.p-sec-office__col3 .p-sec-office__img:nth-of-type(3n),
.p-sec-office__col3 .p-sec-office__img:nth-last-of-type(1) {
	margin-right: 0;
}
*/
.p-sec-description .more {
	margin-top: 50px;
}
@media screen and (max-width: 768px) {
	.p-sec-description .more {
		margin-top: 20px;
	}
}
.page-recruit .page-anchor-link .container {
	flex-wrap: wrap;
}
.page-recruit .page-anchor-link a {
  letter-spacing: 0.02em;
          font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	flex: 0 0 15%;
	/*white-space: nowrap;
	padding-left: 0.8em;
	padding-right: 0.8em;*/
	max-width: 15%;
  padding-bottom: 30px;
}
.p-sec-interview .company-staffs__col2::before,
.p-sec-interview .company-staffs__col2::after {
	content: "";
	display: table;
	height: 0;
	clear: both;
}
.p-sec-interview .company-staffs__r {
	width: 71%;
	float: right;
}
@media screen and (max-width: 768px) {
	.p-sec-interview .company-staffs__r {
		width: 100%;
		padding: 0;
		text-align: center;
	}
}
.p-sec-interview .company-staffs__title {
	float: none;
	width: 100%;
}
.p-sec-interview .company-staffs__h3 {
	float: none;
	width: 100%;
}
.p-sec-interview .company-staffs__r .more-wrap {
	text-align: left;
}
.p-sec-interview .view_more {
	min-width: 180px;
}
@media screen and (max-width: 768px) {
	.p-sec-office__img {
		flex: 0 0 47.5%;
		max-width: 47.5%;
	}
	.p-sec-office__col3 .p-sec-office__img:nth-of-type(3n) {
		margin-right: 5%;
	}
	.p-sec-office__col3 .p-sec-office__img:nth-last-of-type(1) {
		margin-right: 0;
	}
	.p-sec-office__col3 .p-sec-office__img:nth-of-type(2n) {
		margin-right: 0;
	}
}
@media screen and (max-width: 565px) {
}
@media screen and (max-width: 500px) {
	.p-sec-office__col3 {
		display: block;
	}
	.p-sec-office__img {
		max-width: 100%;
	}
	.p-sec-office__col3 .p-sec-office__img {
		margin-right: 0 !important;
	}
}

/*////////////////////////////
 コンタクトフォーム
////////////////////////////*/

.c-form table {
	width: 100%;
	table-layout: fixed;
}
.c-form table th {
	width: 15rem;
	vertical-align: middle;
	padding: 1.4em 0.2em 1.4em 0;
	line-height: 1.5;

	border-top: 1px solid #c73f47;
	font-weight: 500;
}
.c-form table td {
	width: calc(100% - 15rem);
	padding: 1.2em 0;
	border-top: 1px solid #ccc;
}
.c-form input[type="text"],
.c-form input[type="tel"],
.c-form input[type="email"],
.c-form input[type="password"],
.c-form textarea {
	width: 100%;
	border: none;
	background: #f1f1f1;
	padding: 0.8em;
	font-size: 1rem;
	line-height: 1.5;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-shadow: none;
	border-radius: 0;
	font-family: "Noto Sans JP", sans-serif;
}
.c-form input[type="text"]::placeholder,
.c-form input[type="tel"]::placeholder,
.c-form input[type="email"]::placeholder,
.c-form input[type="password"]::placeholder,
.c-form textarea::placeholder {
	color: #444;
}
.c-form .wpcf7-radio {
	display: block;
	padding: 0.8em;
	line-height: 1.5;
	cursor: pointer;
}
.c-form input[type="radio"] {
	vertical-align: 0.1em;
}
.c-form label {
	cursor: pointer;
}
.c-form .wpcf7-list-item.first {
	margin-left: 0;
}
.c-form .wpcf7-list-item:nth-child(4){
	margin-left: 0;
}
.c-form input[type="submit"] {
	display: none;
}
.c-form .more-wrap .ajax-loader {
	width: 0;
	height: 0;
}
.c-form .wpcf7-not-valid-tip {
	margin-top: 10px;
	font-size: 0.8rem;
}
@media screen and (max-width: 768px) {
	.c-form table {
		margin-top: 0;
	}
	.c-form table th {
		width: 100%;
		display: block;
		text-align: left;
		padding-top: 25px;
		padding-left: 0.8em;
		padding-bottom: 15px;
	}
	.c-form table td {
		width: 100%;
		display: block;
		margin-bottom: 25px;
		border-top: none;
		padding: 0;
	}
	.c-form .wpcf7-list-item {
		display: block;
		margin-left: 0;
	}
	.c-form .wpcf7-list-item + .wpcf7-list-item {
		margin-top: 10px;
	}
}

.req {
	color: #c73f47;
}

form.wpcf7-form.sent > p,
form.wpcf7-form.sent > table,
form.wpcf7-form.sent > .more-wrap {
	display: none;
}

/*////////////////////////////
 3つの強み
////////////////////////////*/
.features_list {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	counter: list_num;
	counter-increment: list_num;
	margin-bottom: 80px;
}
.features_list:first-of-type {
	margin-top: 160px;
}
.features_list h3 {
	width: 350px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	padding-right: 40px;
}
.features_list h3::before {
	content: counter(list_num, decimal-leading-zero);
	font-family: "Barlow Semi Condensed", sans-serif;
	color: #c73f47;
	font-size: 32px;
	font-weight: 500;
	border-bottom: solid 1px;
	padding-bottom: 5px;
	margin-right: 35px;
	line-height: 1.3;
}
.features_list .feature_desc {
	width: calc(100% - 350px);
}
.features_list .feature_desc p:first-of-type {
	margin-top: 0;
}
.features_list .feature_desc .view_more {
	margin-top: 0;
}
.features_list .feature_desc .more-wrap {
	text-align: right;
}

@media screen and (max-width: 768px) {
	.features_list {
		flex-direction: column;
		margin-bottom: 0;
		margin-top: 60px;
	}
	.features_list:first-of-type {
		margin-top: 60px;
	}
	.features_list h3 {
		margin-bottom: 20px;
	}
	.features_list h3::before {
		line-height: 1;
		padding-bottom: 7px;
		margin-right: 20px;
		margin-top: -6px;
	}
	.features_list .feature_desc {
		width: 100%;
	}
	.features_list .feature_desc .view_more {
		margin-top: 10px;
	}
}

/*////////////////////////////
 inview.js設定
////////////////////////////*/

.inview {
	opacity: 0 !important;
	transform: translate(0, 50px) !important;
}
.inview.is-show {
	opacity: 1 !important;
	transform: translate(0, 0) !important;
	transition: opacity 0.6s, transform 0.6s;
}

.ballset {
	position: absolute;
	width: 10rem;
	z-index: 1;
}

.ballset.ball_bottom_right {
	bottom: -90px;
	left: calc(50% + 500px);
}
.ballset.ball_bottom_left {
	bottom: -90px;
	left: calc(50% - 650px);
}

@media screen and (max-width: 768px) {
	.page-anchor-link {
		display: block !important;
	}
	.page-anchor-link .container {
		flex-wrap: wrap;
	}
	.page-anchor-link a {
		flex: 0 0 31%;
		max-width: 31%;
		padding-bottom: 25px;
		font-size: 14px;
		white-space: normal;
	}
	.page-recruit .page-anchor-link a {
		flex: 0 0 45%;
		max-width: 45%;
		padding: 0 0 25px;
		font-size: 14px;
		white-space: normal;
	}
	.page-anchor-link a::before {
		height: 16px;
	}
	.page-anchor-link a::after {
		bottom: 5px;
	}
	.page-company .page-anchor-link {
		padding-bottom: 40px;
	}
}

.single .editor-content a[target="_blank"]::after {
	content: "";
	display: inline-block;
	background: url("./img/icons/external-link-symbol.png") center / contain
		no-repeat;
	width: 1em;
	height: 1em;
	margin-left: 4px;
	position: relative;
	top: 3px;
}
.single .editor-content a.no_icon[target="_blank"]::after {
	display: none;
}

@media screen and (max-width: 768px) {
	iframe {
		max-width: 100%;
		height: auto;
		min-height: 190px;
	}
}

/* 20220602 add by MI */
@media screen and (min-width: 769px) {
	.visible-sp {
		display: none !important;
	}
}
@media screen and (max-width: 768px) {
	.visible-pc {
		display: none !important;
	}
}

.internship-wrap {
	line-height: 2.4;
	margin-top: 50px;
}
.internship {
	max-width: 800px;
	background-color: #fff;
	margin: auto;
	border: 2px solid #db2e41;
	border-radius: 30px;
	padding: 50px;
}
.internship .heading {
	font-size: 32px;
	font-weight: bold;
}
.internship .heading::after {
	content: "";
	display: block;
	width: 40px;
	margin: 20px auto 30px;
	border-bottom: 1px solid #707070;
}
.internship .recruiting {
	width: fit-content;
	text-align: left;
	margin: 0 auto 3em;
}
p.intern_desc {
	margin-bottom: 1em;
}

@media screen and (max-width: 768px) {
	.internship {
		padding: 20px;
	}
	.internship .heading {
		font-size: 22px;
		text-align: center;
	}
	.internship p {
		font-size: 0.9em;
		text-align: left;
	}
}

/* add 230719 */
.sns__box {
	margin-top: 15px;
	display: flex;
	align-items: center;
}
.sns__box .sns__icon {
	width: 30px;
	padding-right: 10px;
	height: auto;
	cursor: pointer;
	transition: 0.5s;
}
.sns__box .sns__icon a {
	display: block;
}
.sns__box > div:last-child {
	width: 22px;
	padding-right: 6px;
	height: auto;
}
.sns__box .sns__icon:hover {
	opacity: 0.7;
}
.page-anchor-link a {
    flex: 0 0 16%;
    max-width: 16%;
}
#history .p-sec__table th {
    width: 100%;
    display:block;
	 cursor:pointer;
}
#history .p-sec__table td {
    width: 100%;
    display:none;
}
#history .p-sec__table, #history .p-sec__table tbody,  #history .p-sec__table tr {
	width:100%;
	display:block;
}
#history .p-sec__table {
	max-width:1100px;
	margin: 0 auto;
}

#history .p-sec__table .th {
    width: 100%;
    display: block;
    cursor: pointer;
}
#history .p-sec__table .th {
    border-top: 1px solid #c73f47;
    text-align: left;
    font-weight: bold;
    position:relative;
}
#history .p-sec__table .td {
    width: 100%;
    display: none;
}
#history .p-sec__table .td {
    border-top: 1px solid #ccc;
    text-align: left;
    position: relative;
}
#history .p-sec__table .td > div + div{
    margin-top:15px;
}
#history .p-sec__table .td > div {
    padding-left:15px;
}
#history .p-sec__table .th, #history .p-sec__table .td {
    padding: 30px 0;
}
#history .p-sec__table .th::before {
	width:35px;
	height:35px;
	border-radius:50%;
	background-color:rgba(240, 240, 240, 1);
   content: "";
   position: absolute;
   content: "";
    top: 50%;
    right: 6px;
    transform: translatey(-50%);
}
#history .p-sec__table .th::after {
    content: "";
    position: absolute;
    display: block;
    top: calc(50% + 1px);
    right: 16px;
    transform: translatey(-50%);
    width: 15px;
    height: 15px;
    background-size:15px 15px;
	 background-repeat:no-repeat;
    background-image: url(./img/icons/arrow-gr.svg) ;
    transition: bottom 0.3s;
}
#history .p-sec__table .th.show::after {
    transform:rotate(180deg);
    top: calc(50% + -6px);
}
@media screen and (max-width: 768px) {
	.page-anchor-link a {
		flex: 0 0 31%;
		max-width: 31%;
	}
   #history .p-sec__table .th, #history .p-sec__table .td {
	   font-size: 3.7vw;
   }
#history .p-sec__table .th::before {
	width:28px;
	height:28px;
}
	#history .p-sec__table .th::after {
    width: 12px;
    height: 12px;
    background-size:12px 12px;
		right: 14px;
}
	#history .p-sec__table .th, #history .p-sec__table .td {
    padding: 25px 0;
}
}

/* EN 固定ページ用 */
.is-page-en p {
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.4;
}
.is-page-en li {
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.4;
	padding-left: 1.2em;
	text-indent: -1.2em;
}
.is-page-en li:not(:last-child) {
	margin-bottom: 0.8em;
}
.is-page-en ul {
	list-style:disc;
	list-style-position:inside;

}
.is-page-en ol {
	list-style: decimal;
	list-style-position:inside;
}
.is-page-en {
	margin-top: -2em;
}


/* モーダル */
.modal {
  display: none;
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(212, 222, 241, 0.4);
}

.modal-content {
  background-color: #ffffff;
  margin: 15% auto;
  padding: 20px;
  border: 1px solid #ccc;
  width: 70%;
  height: 60vh;
  text-align: center;
  display: grid;
  justify-items: center;
  align-content: center;
}
.modal-content p {
	line-height: 1.8;
}
.modal-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}

.modal-buttons button {
  margin: 20px 10px 0;
  cursor: pointer;
  color: #fff;
  font-weight: 500;
  position: relative;
  font-size: 16px;
  display: block;
  line-height: 40px;
  height: 42px;
  width: 185px;
  border-radius: 12px;
  background: #c73f47;
  text-decoration: none;
  text-align: center;
  transition: all 0.5s;
  padding-left: 5px;
	border: none;
}

.modal-buttons button#yes-btn {
  background: #c73f47;
}
.modal-buttons button#no-btn {
  background: #3b8db6;
}

.modal-buttons button#yes-btn:hover {
  background:#a52c34;
}

.modal-buttons button#no-btn:hover {
  background: #236c91;
}

p.worker {
  font-size: 24px;
  font-weight: 600;
  margin-top: 1em;
  margin-bottom: 1em;
}

@media screen and (max-width: 768px) {
  .modal-buttons {
    flex-direction: column;
  }
  .modal-content {
    width: 90%;
  }
	.modal-content p {
		font-size: 14px;
	}
  p.worker {
    font-size: 18px;
  }
}
