/*!
Theme Name: Roj Group
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: roj_group
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Roj Group is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
/* Import font */

@font-face {
	font-family: "Hiragino-W1";
	src: url("assets/font/HiraKakuProN-W1.otf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Hiragino-W2";
	src: url("assets/font/HiraKakuProN-W2.otf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Hiragino-W3";
	src: url("assets/font/HiraKakuProN-W3.otf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Hiragino-W4";
	src: url("assets/font/HiraKakuProN-W4.otf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Hiragino-W5";
	src: url("assets/font/HiraKakuProN-W5.otf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Hiragino-W6";
	src: url("assets/font/HiraKakuProN-W6.otf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Hiragino-W7";
	src: url("assets/font/HiraKakuStdN-W7.otf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Hiragino-W8";
	src: url("assets/font/HiraKakuStdN-W8.otf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Hiragino-W9";
	src: url("assets/font/HiraKakuStdN-W9.otf") format("truetype");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}


@font-face {
	font-family: "akrobat-black";
	src: url("assets/font/Akrobat-Black.otf") format("opentype");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "akrobat-bold";
	src: url("assets/font/Akrobat-Bold.otf") format("opentype");
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "akrobat-bold";
	src: url("assets/font/Akrobat-Bold.otf") format("opentype");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "akrobat-extrabold";
	src: url("assets/font/Akrobat-ExtraBold.woff2") format("opentype");
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}


@font-face {
	font-family: "notocjk-demi";
	src: url("assets/font/NotoSansCJKjp-DemiLight.woff") format("opentype");
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "notocjk-medium";
	src: url("assets/font/NotoSansCJKjp-Medium.woff") format("opentype");
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "hira-mincho";
	src: url("assets/font/HiraMinProN-W6-AlphaNum.woff") format("opentype");
	font-style: normal;
	font-display: swap;
}

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;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

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

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

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

img {
	display: block;
}


body {
	font-family: "Hiragino-W5", sans-serif;
	color: #111111;
}

.container {
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 20px;
}

.pc_only {
	display: block;
}

.sp_only {
	display: none;
}

/* common */
#header {
	background: #0B1E45;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
}

.header-inner {
	display: flex;
	justify-content: space-between;
}

.site-branding a {
	display: block;
	width: 120px;
	background: #8C98B2;
}

.site-branding img {
	width: 100%;
	height: 98px;
	object-fit: contain;
	object-position: center center;
}

.primary-menu ul {
	display: flex;
	height: 98px;
	align-items: center;
	gap: 25px;
}

.primary-menu ul li {
	position: relative;
}

.primary-menu ul li .sub-menu {
	display: block;
	max-height: 0;
	overflow: hidden;
	padding: 36px 0 0 0 !important;
	position: absolute;
	top: 100%;
	left: 0;
	width: 300px;
	background: transparent;
	height: auto;
	transition: all .3s;
}

.primary-menu ul li:hover .sub-menu {
	max-height: 300px;
}

.primary-menu ul li .sub-menu li {
	background: #0B1E45;
	padding: 12px 32px !important;
}

.primary-menu ul li .sub-menu li:first-child {
	padding-top: 24px !important;
}

.primary-menu ul li .sub-menu li:last-child {
	padding-bottom: 24px !important;
}

.primary-menu ul li .sub-menu li a {
	color: #fff;
	border-bottom: none;
	font-family: "Hiragino-W6";
	font-size: 14px;
}

.primary-menu ul li a {
	position: relative;
	color: #fff;
	font-family: "akrobat-bold";
	letter-spacing: 0.13em;
	font-size: 20px;
	line-height: calc(24/20);
	text-decoration: none;
	font-weight: 800;
	transition: all .3s;
	padding-bottom: 3px;
	text-transform: uppercase;
}

.primary-menu ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #fff;

  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.primary-menu ul li a:hover::after {
  transform: scaleX(1);
}

.primary-menu ul li.contact_link a {
	position: relative;
	display: block;
	width: 70px;
	height: 70px;
	text-indent: -9999px;
	background: url(assets/images/contact_icon.svg) no-repeat center center;
	background-size: 37px auto;
	border-bottom: none !important;
}

.primary-menu ul li.contact_link a:before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 2px;
	height: 2px;
	background: #0B1E45;
	z-index: 1;
}
.primary-menu ul li.contact_link a:hover:before {
	width: 1px;
	height: 1px;
	background: #fff;
}

.primary-menu ul li.contact_link a:after {
	display: none;
}

.primary-menu ul li.contact_link a svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
	/* start at top-center */
}

.primary-menu ul li.contact_link a circle {
	fill: none;
	stroke: #fff;
	stroke-width: 2;

	stroke-dasharray: 301;
	/* chu vi */
	stroke-dashoffset: 301;

	transition: stroke-dashoffset 0.4s ease;
}

.primary-menu ul li.contact_link a:hover circle {
	stroke-dashoffset: 0;
}

.submenu-toggle {
	display: none;
}

#main {
	padding-top: 98px;
}

.sec-ttl {
	margin-bottom: 71px;
	display: flex;
	gap: 32px;
	align-items: flex-end;
	flex-wrap: wrap;
}

.sec-ttl.__column {
	flex-direction: column;
	gap: 5px;
	align-items: flex-start;
	left: 0 !important;
}

.sec-ttl.__txt-center {
	align-items: center;
}

.sec-ttl .txt-en {
	font-family: "akrobat-extrabold";
	font-weight: 800;
	font-size: 106px;
	line-height: calc(100/106);
	font-style: normal;
	text-align: left;
	color: #101010;
	letter-spacing: 3px;
	text-transform: uppercase;
}

.sec-ttl .txt-jp {
	position: relative;
	font-size: 20px;
	font-weight: normal;
	font-style: normal;
	text-align: left;
	color: #0b1e45;
	padding-left: 20px;
	font-family: "Hiragino-W6";
	letter-spacing: 0.1em;
}

.sec-ttl .txt-jp::before {
	content: "";
	width: 10px;
	height: 10px;
	background: #0b1e45;
	position: absolute;
	top: 10px;
	left: 0;
	border-radius: 50%;
}

.contact-link a,
.sample-link a {
	font-size: 15px;
	text-decoration: none;
	color: #111111;
	display: block;
	width: 269px;
	padding: 18px 100px 15px 62px;
	border: 1px solid #0f0f0f;
	border-radius: 50px;
	letter-spacing: 2px;
	background: #ffffff url(assets/images/arrow.png) no-repeat right 60px top calc(50% + 4px);
	background-size: 38px auto;
	transition: 0.3s ease-in-out;
	font-family: "Hiragino-W6";
	letter-spacing: 0.13em;
}

.contact-link a {
	margin: 80px auto 0;
}

.contact-link a:hover,
.sample-link a:hover {
	background-position: right 50px top calc(50% + 4px);
}

.show_sp {
	display: none;
}

/* footer */
#footer {
	height: 203px;
	background: #0b1e45;
	justify-content: center;
	display: flex;
	align-items: center;
}
#footer a {
    display: block;
    width: 165px;
    background: #fff;
}
#footer a img {
    max-width: 100%;
}
/* Top page */
/* main */
.home .banner {
	background: url(assets/images/banner_img.png) no-repeat center;
	background-size: cover;
	width: 100%;
	height: calc(100svh - 98px);
}

.home .banner .container {
	height: 100%;
}

.home .banner-inner {
	text-align: center;
	position: relative;
	height: 100%;
}

.home .banner-inner .group-typing {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-family: "Hiragino-W3";
}

.home .banner-inner .group-typing .typing {
    font-family: "hira-mincho";
	/*font-weight: 600;*/
	font-style: normal;
	color: #fff;
	text-align: center;
	letter-spacing: 18px;
	font-size: 86px;
	font-weight: bold;
	overflow: hidden;
	white-space: nowrap;
	margin: 0 auto;
	/*border-right: 2px solid #fff;*/
	line-height: 1.45;
	transition: all 0.25s ease-in-out;
	opacity: 0;
}

.home .banner-inner .group-typing .typing1.after-effect,
.home .banner-inner .group-typing .typing2.after-effect {
	animation: after-effect 3s forwards;
}

@keyframes after-effect {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/* about */
.sec-about {
	padding: 175px 0 239px;
}

.sec-about .sec-ttl {
	position: sticky;
	top: 100px;
	z-index: 2;
}

.about-content {
	padding: 0 10px;
}

.about-content li {
	display: flex;
	margin-bottom: 61px;
	min-height: 382px;
	align-items: center;
	padding: 42px;
	gap: 80px;
	border-radius: 106px;
	background-size: cover;
	background-repeat: no-repeat;
	position: sticky;
	top: 100px;
	transform: scale(1);
	opacity: 1;
	transition: transform 0.1s linear, opacity 0.1s linear;
	transform-origin: center top;
}

.about-content li.mission {
	background-image: url(assets/images/about_bg_01.png);
}

.about-content li.vision {
	background-image: url(assets/images/about_bg_02.png);
}

.about-content li.value {
	background-image: url(https://roj-group.jp/wp-content/uploads/2026/02/value_bg-scaled.jpg);
}

.about-content li .about-ttl h4 {
	font-family: "akrobat-black";
	font-size: 78px;
	text-align: left;
	color: #ffffff;
	letter-spacing: 10px;
	text-transform: uppercase;
	min-width: 320px;
}

.about-content li .about-des {
	font-size: 33px;
	line-height: 52px;
	color: #ffffff;
	font-family: "Hiragino-W6";
	letter-spacing: 0.07em;
}

/* member */
.sec-member {
	background: #e8e8e8a3;
	padding: 423px 0 240px;
	position: relative;
}

.sec-member .member-img {
	width: 220px;
}
.sec-member .member-img img {
	width: 100%;
}
.sec-member::after,
.sec-member::before {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 227px;
	background: url(assets/images/member.png) repeat-x;
	pointer-events: none;
	background-size: auto 100%;

}

.sec-member::before {
	top: 223px;
  	background-position: 0 0;
  	animation: bgMoveLft 15s linear infinite;
}
@keyframes bgMoveLft {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 100% 0;
  }
}
.sec-member::after {
	bottom: 82px;
	background-position: 100% 0;
  	animation: bgMoveRgt 15s linear infinite;
}
@keyframes bgMoveRgt {
  from {
    background-position: 100% 0;
  }
  to {
    background-position: 0 0;
  }
}

.member-content {
	display: flex;
	justify-content: space-between;
	padding: 0 25px;
}

.member-content .sec-ttl {
	padding-top: 26px;
}

.member-content .sample-link {
	display: flex;
	justify-content: center;
	width: 100%;
}

.member-content .sample-link a {
	margin-right: -80px;
}

.sec-service {
	padding: 160px 0 70px;
	background: #e8e8e8a3;
}

.sec-service .sec-ttl {
	position: relative;
	left: -10px;
}

.service-cnt ul {
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
	justify-content: center;
	padding: 0 10px;
}

.service-cnt ul li {
	width: calc((100% - 80px) / 3);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top left;
}

.service-cnt ul li a {
	display: block;
	text-decoration: none;
	color: #ffffff;
	padding: 61% 0 9px 15px;
	min-height: 334px;
	position: relative;
}

.service-cnt ul li a .service-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.service-cnt ul li a .service-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .3s;
}

.service-cnt ul li a:hover .service-img img {
	transform: scale(1.2);
	transform-origin: center center;
}

.service-cnt ul li a .service-ttl {
	font-size: 22px;
	letter-spacing: 1px;
	border-bottom: 1px solid #ffffff;
	margin-bottom: 7px;
	padding-bottom: 5px;
	padding-right: 45px;
	background: url(assets/images/arrow_wh.png) no-repeat right 28px top calc(50% - 1px);
	background-size: 14px auto;
	font-family: "Hiragino-W7";
	position: relative;
}

.service-cnt ul li a .service-detail {
	font-size: 14px;
	padding-right: 12px;
	position: relative;
}

/* .service-cnt ul li.service-item-1 {
	background-image: url(assets/images/service_img01.png);
}

.service-cnt ul li.service-item-2 {
	background-image: url(assets/images/service_img02.png);
}

.service-cnt ul li.service-item-3 {
	background-image: url(assets/images/service_img03.png);
}

.service-cnt ul li.service-item-4 {
	background-image: url(assets/images/service_img04.png);
}

.service-cnt ul li.service-item-5 {
	background-image: url(assets/images/service_img05.png);
} */

.sec-news {
	padding: 304px 0 260px;
}

.new-cnt-flex {
	display: flex;
	align-items: center;
	margin-bottom: 63px;
	gap: 9%;
}

.new-cnt-flex .sec-ttl {
	background: #e8e8e8a3;
	margin-bottom: 0;
	padding: 48px 0 0 0;
	height: 219px;
	width: 373px;
	position: relative;
}

.new-cnt-flex .sec-ttl::before {
	width: 1000%;
	height: 100%;
	position: absolute;
	right: 100%;
	content: "";
	background: #e8e8e8a3;
	top: 0;
}

.new-cnt-flex .sec-ttl::after {
	content: '';
	position: absolute;
	width: 91px;
	height: 135px;
	background: url(assets/images/news_line.svg) no-repeat top left;
	top: 55px;
	right: 40px;
}

.new-cnt-flex .news-list {
	flex: 1;
	width: calc(91% - 373px);
}

.new-cnt-flex .news-list ul {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.new-cnt-flex .news-list li {
	border-bottom: 1px solid #020202;
}

.new-cnt-flex .news-list a {
	display: block;
	text-decoration: none;
	color: #111111;
	letter-spacing: 1px;
	padding-right: 80px;
	background: url(assets/images/news_arrow.png) no-repeat right 14px top;
	background-size: 40px auto;
	transition: 0.3s ease-in-out;
	padding-bottom: 10px;
}

.new-cnt-flex .news-list a:hover {
	background-position: right 4px top;
}


.new-cnt-flex .news-list li:last-child {
	margin-bottom: 0;
}

.new-cnt-flex .news-list a .news-date {
	font-size: 13px;
	display: block;
	font-family: "Hiragino-W3";
}

.new-cnt-flex .news-list a .news-link {
	font-size: 15px;
	display: inline-block;
	/* hoặc block */
	max-width: 100%;
	/* hoặc set width cố định nếu cần */
	white-space: nowrap;
	/* không xuống dòng */
	overflow: hidden;
	/* ẩn phần dư */
	text-overflow: ellipsis;
	/* hiện ... */
}

.sec-news .sample-link {
	display: flex;
	justify-content: right;
}

.sec-company {
	padding: 68px 0 26px;
	background: #e8e8e8a3
}

.sec-company .sec-ttl {
	text-align: center;
}

.sec-company .sec-ttl h2 {
	text-align: center;
}

.sec-company .sec-ttl h3 {
	display: inline-block;
}

.company-infor {
	max-width: 872px;
	margin: 0 auto;
}

.infor-list li {
	margin-bottom: 13px;
}

.infor-list .name-label {
	font-size: 14px;
	margin-bottom: 3px;
	letter-spacing: 1px;
}

.infor-list .name-text {
	border-top: 1px solid #0b1e45;
	border-left: 1px solid #0b1e45;
	padding: 5px 10px 5px 9px;
	letter-spacing: 0;
	line-height: 1.8;
}

.infor-list .name-text a {
	color: #111;
}

.infor-list li .name-text.--bottom-padding {
	padding-bottom: 40px;
}

.infor-list li .name-text.--short-border {
	position: relative;
}

.infor-list li .name-text.--short-border:before {
	content: '';
	position: absolute;
	left: -1px;
	width: 1px;
	top: 65px;
	bottom: 0;
	background: #F0F0F0;
}

.infor-list .name-text span {
	display: block;
}
.infor-list .name-text span.space {
	height: 10px;
}
.map-infor {
	margin-top: 44px;
}

.map-infor ul {
	display: flex;
	justify-content: space-between;
	gap: 12%
}

.map-infor ul li {
	position: relative;
	width: calc((100% - 12%) / 2);
	padding-left: 26px;
}

.map-infor ul li::before {
	content: "";
	width: 14px;
	height: 14px;
	position: absolute;
	left: 0;
	top: 5px;
	background: #111111
}

.map-infor ul li .map-ttl {
	font-size: 18px;
}

.map-infor ul li .map-des {
	font-size: 14px;
	letter-spacing: 2px;
}

.map-infor ul li .map-img {
	margin-top: 12px;
}

.map-infor ul li .map-img iframe {
	width: 100%;
	height: 210px;
}

.company-details h4 {
	text-align: center;
	font-size: 32px;
	letter-spacing: 2px;
	margin-bottom: 68px;
	font-family: "Hiragino-W6";
}

.company-details {
	margin-top: 182px;
}

.company-details .col2 {
	padding: 0 5px;
	display: flex;
	gap: 55px;
}

.company-details .col2 ul {
	width: calc((100% - 55px) /2);
}

.sec-contact {
	padding: 216px 0 155px;
}

.sec-contact .sec-ttl,
.sec-contact .sec-ttl h3,
.sec-contact .sec-ttl h2 {
	text-align: center;
}

.sec-contact .sec-ttl h3 {
	display: inline-block;
}

.contact-list {
	max-width: 476px;
	margin: 0 auto;
}

.contact-list ul li .label {
	font-family: "notocjk-medium";
	font-size: 16px;
	font-weight: 500;
	color: #242424;
	padding-bottom: 5px;
}

.contact-list ul li .label span {
	background: #0b1e45;
	color: #ffffff;
	font-family: "notocjk-medium";
	font-size: 10px;
	font-weight: 500;
	display: inline-block;
	padding: 2px 15px 2px 16px;
	border-radius: 50px;
	vertical-align: text-bottom;
	margin-left: 5px;
}

.contact-list ul li .flex {
	display: flex;
	gap: 16px;
}

.contact-list ul li {
	margin-bottom: 25px;
}

.contact-list ul li .flex p {
	width: calc((100% - 16px) / 2);
}

.contact-list ul li input {
	width: 100%;
	border: none;
	height: 41px;
	background: #f2f2f2;
	padding: 9px 16px 5px;
	font-size: 16px;
	font-family: "notocjk-demi";
	font-weight: 400;
}
.contact-list ul li input::placeholder,
.contact-list ul li textarea::placeholder {
  color: #8B8B8B;
}
.contact-list ul li textarea {
	height: 155px;
	background: #f2f2f2;
	width: 100%;
	border: none;
	padding: 9px 16px 5px;
	font-family: "notocjk-demi";
	font-weight: 400;
}

.contact-list .sample-link {
	display: flex;
	justify-content: center;
}

/* End Top page */

/* Breadcrumbs */
.custom-page {
	background: #f6f6f6;
}

.custom-page .container {
	max-width: 1060px;
}

.sec-breadcrumbs {
	padding: 40px 0;
	font-size: 14px;
	margin-bottom: 65px;
}

.sec-breadcrumbs.__page_breadcrumb {
	margin-bottom: 0;
}

.sec-breadcrumbs a {
	color: #adadad;
	text-decoration: none;
	display: inline-block;
	padding-right: 30px;
	margin-right: 9px;
	background: url(assets/images/free/arrow.png) no-repeat right -2px top calc(50% - 1px)
}

.breadcrumbs_inner {
	padding-left: 40px;
}

.common-ttl-page h1 {
	font-family: "akrobat-black";
	font-weight: 900;
	font-size: 47px;
	letter-spacing: 6px;
	margin-bottom: 31px;
}

.content-page {
	padding-top: 55px;
	padding-bottom: 237px;
}

.service-content h2 {
	font-size: 29px;
	font-weight: normal;
	line-height: 52px;
	margin-bottom: 20px;
	color: #101010;
	font-family: "Hiragino-W7";
	letter-spacing: 0.07em;
}

.service-content h2 span {
    position: relative;
    left: -17px;
}

.service-content .description {
	font-size: 14px;
	line-height: 31px;
	color: #101010;
	margin-bottom: 44px;
	letter-spacing: 0.08em;
}

.service-content .img {
	text-align: center;
}

.service-content .img.__scroll img {
	max-width: 950px;
}

.service-content .img img {
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

/* Service page */
/* End Service page */




/* Z-INDEX */
.formError {
	z-index: 990;
}

.formError .formErrorContent {
	z-index: 991;
}

.formError .formErrorArrow {
	z-index: 996;
}

.ui-dialog .formError {
	z-index: 5000;
}

.ui-dialog .formError .formErrorContent {
	z-index: 5001;
}

.ui-dialog .formError .formErrorArrow {
	z-index: 5006;
}




.inputContainer {
	position: relative;
	float: left;
}

.formError {
	position: absolute;
	top: 300px;
	left: 300px;
	display: block;
	cursor: pointer;
	text-align: left;
}

.formError.inline {
	position: relative;
	top: 0;
	left: 0;
	display: inline-block;
}

.ajaxSubmit {
	padding: 20px;
	background: #55ea55;
	border: 1px solid #999;
	display: none;
}

.formError .formErrorContent {
	width: 100%;
	background: #ee0101;
	position: relative;
	color: #fff;
	min-width: 120px;
	font-size: 11px;
	border: 2px solid #ddd;
	box-shadow: 0 0 6px #000;
	-moz-box-shadow: 0 0 6px #000;
	-webkit-box-shadow: 0 0 6px #000;
	-o-box-shadow: 0 0 6px #000;
	padding: 4px 10px 4px 10px;
	border-radius: 6px;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	-o-border-radius: 6px;
}

.formError.inline .formErrorContent {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
	border: none;
	border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	-o-border-radius: 0;
}

.greenPopup .formErrorContent {
	background: #33be40;
}

.blackPopup .formErrorContent {
	background: #393939;
	color: #FFF;
}

.formError .formErrorArrow {
	width: 15px;
	margin: -2px 0 0 13px;
	position: relative;
}

body[dir='rtl'] .formError .formErrorArrow,
body.rtl .formError .formErrorArrow {
	margin: -2px 13px 0 0;
}

.formError .formErrorArrowBottom {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
	margin: 0px 0 0 12px;
	top: 2px;
}

.formError .formErrorArrow div {
	border-left: 2px solid #ddd;
	border-right: 2px solid #ddd;
	box-shadow: 0 2px 3px #444;
	-moz-box-shadow: 0 2px 3px #444;
	-webkit-box-shadow: 0 2px 3px #444;
	-o-box-shadow: 0 2px 3px #444;
	font-size: 0px;
	height: 1px;
	background: #ee0101;
	margin: 0 auto;
	line-height: 0;
	font-size: 0;
	display: block;
}

.formError .formErrorArrowBottom div {
	box-shadow: none;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	-o-box-shadow: none;
}

.greenPopup .formErrorArrow div {
	background: #33be40;
}

.blackPopup .formErrorArrow div {
	background: #393939;
	color: #FFF;
}

.formError .formErrorArrow .line10 {
	width: 13px;
	border: none;
}

.formError .formErrorArrow .line9 {
	width: 11px;
	border: none;
}

.formError .formErrorArrow .line8 {
	width: 11px;
}

.formError .formErrorArrow .line7 {
	width: 9px;
}

.formError .formErrorArrow .line6 {
	width: 7px;
}

.formError .formErrorArrow .line5 {
	width: 5px;
}

.formError .formErrorArrow .line4 {
	width: 3px;
}

.formError .formErrorArrow .line3 {
	width: 1px;
	border-left: 2px solid #ddd;
	border-right: 2px solid #ddd;
	border-bottom: 0 solid #ddd;
}

.formError .formErrorArrow .line2 {
	width: 3px;
	border: none;
	background: #ddd;
}

.formError .formErrorArrow .line1 {
	width: 1px;
	border: none;
	background: #ddd;
}

.fixed-page-ttl h1 {
	margin: 16px 0 63px;
	padding: 95px 0 383px 53px;
	font-size: 73px;
	font-family: "akrobat-black";
	line-height: calc(94/73);
	text-transform: uppercase;
	background: url(assets/images/free/member_map.png) no-repeat top right;
	background-size: auto 100%;
	letter-spacing: 0.13em;
}

.bg_navy {
	background: #0B1E45 !important;
	color: #fff !important;
}

.page-content-title {
	max-width: 496px;
	border: 1px solid #000;
	border-radius: 25px 25px 0 0;
	font-family: "akrobat-extrabold";
	font-weight: 800;
	font-size: 31px;
	line-height: calc(40/31);
	padding: 16px 29px 12px;
	border-bottom: none;
	letter-spacing: 0.13em;
	background: #fff;
}

.bg_navy {
	border-color: #fff !important;
}

.page-content-title span {
	display: block;
	font-family: "Hiragino-W6", sans-serif;
	letter-spacing: 0.13em;
	font-size: 12px;
	line-height: 1;
}

.page-content-block {
	position: relative;
	border: 1px solid #000;
	padding: 118px 72px 66px;
	background: #fff;
}

.fixed-page {
	padding-bottom: 200px;
}

.page-content-block:before {
	content: '';
	position: absolute;
	width: 100%;
	height: 1px;
	top: 29px;
	left: 0;
	background: #000;
}

.bg_navy.page-content-block:before {
	background: #fff;
}

.member-title {
	max-width: 419px;
	font-family: "akrobat-extrabold";
	font-weight: 800;
	font-size: 94px;
	border-bottom: 1px solid #000;
	margin-bottom: 63px;
}

.bg_navy .member-title {
	border-bottom-color: #fff !important;
}

.member-list {
	display: flex;
	gap: 180px 60px;
	flex-wrap: wrap;
}

.member-list .member-item {
	width: calc((100% - 120px) / 3);
}

.member-list .member-thumb {
	margin-bottom: 25px;
}

.member-list .member-thumb img {
	max-width: 100%;
}

.member-pos {
	font-size: 11px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.13em;
}

.member-name {
	display: flex;
	gap: 9px;
	font-family: "akrobat-bold";
	font-weight: 800;
	font-size: 30px;
	margin-bottom: 5px;
}

.member-info {
	display: flex;
	gap: 40px;
	font-size: 14px;
	margin-bottom: 16px;
	align-items: flex-end;
	font-family: "Hiragino-W6";
}

.member-info small {
	font-size: 12px;
	font-family: "Hiragino-W5";
}

.member-text {
	font-size: 12px;
	line-height: calc(18/12);
	font-family: "Hiragino-W3";
	letter-spacing: 2px;
}

.news-page-list {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.news-page-item {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 10px;
	color: #111111;
	text-decoration: none;
	font-size: 16px;
	font-weight: normal;
	padding: 0 120px 10px 40px;
	border-bottom: 1px solid #020202;
}

.news-page-item:after {
	content: '';
	position: absolute;
	width: 39px;
	height: 39px;
	right: 70px;
	top: 10px;
	background: url(assets/images/free/link_icon.svg) no-repeat;
	transition: all .3s;
}

.news-page-item:hover:after {
	transform: translateX(10px);
}

.news-page-date {
	font-family: "Hiragino-W3";
	font-size: 14px;
	margin-bottom: 5px;
}

.news-page-content-group p {
	line-height: calc(34/16);
}

.page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	padding-top: 40px;
}

.page-numbers a {
	display: inline-block;
	color: #111111;
	text-decoration: none;
	font-family: "akrobat-bold";
	font-size: 13px;
	padding: 2px 4px;
	border-bottom: 1px solid #fff;
}

.page-numbers span {
	display: inline-block;
	color: #111111;
	text-decoration: none;
	font-family: "akrobat-bold";
	font-size: 13px;
	padding: 2px 4px;
	border-bottom: 1px solid #111;
}

.page-numbers .prev,
.page-numbers .next {
	display: inline-block;
	text-indent: -9999px;
	color: #fff;
}

.page-numbers .prev {
	background: url(assets/images/free/prev_icon.svg) no-repeat center center;
}

.page-numbers .next {
	background: url(assets/images/free/next_icon.svg) no-repeat center center;
}

.__single-page h1 {
	font-family: "Hiragino-W6";
	font-size: 24px;
	margin-bottom: 40px;
}

.__single-page {
	padding-bottom: 150px;
	padding-left: 130px;
	padding-right: 130px;
}

.contact-page {
	padding: 70px 0 87px;
	min-height: calc(100svh - 301px);
}

.contact-txt {
	margin: 40px 0;
	text-align: center;
	font-size: 16px;
	color: #111111;
	letter-spacing: 0.08em;
	line-height: 1.7;
}

.contact-content {
	max-width: 404px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.contact-row {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 70px;
	font-size: 16px;
}

.contact-lbl {
	width: 130px;
	color: #242424;
	font-family: "Noto Sans CJK JP";
	font-weight: 500;
}

.contact-data {
	width: calc(100% - 200px);
	color: #8B8B8B;
	font-family: "Noto Sans CJK JP";
	font-weight: normal;
}

.wpcf7-form {
	opacity: 0;
	max-height: 0;
	overflow: hidden;
}

.contact-link.contact-flex {
	display: flex;
	gap: 10px;
}
.contact-link.contact-flex a:nth-child(1) {
	padding: 18px 20px 15px 30px;
	text-align: right;
	background: #ffffff url(assets/images/arrow_back.png) no-repeat left 60px top calc(50% + 4px);
    background-size: 38px auto;
}
.contact-link.contact-flex a:nth-child(1):hover {
	background: #ffffff url(assets/images/arrow_back.png) no-repeat left 50px top calc(50% + 4px);
    background-size: 38px auto;
}
.contact-link.contact-flex a:nth-child(2) {
	padding: 18px 30px 15px 20px;
}

.section-mv-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.section-mv-video {
	width: 100%;
	height: 100%;
}
.section-mv-video video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
} 

