@charset "utf-8";
body {
		background: #F3F4F5;
}
/* =============== */
.jisseki_hd h3, .access_left h3 {
		font-size: 42px;
		font-weight: 700;
		padding-left: 45px;
		position: relative;
}
.jisseki_hd h3::before, .access_left h3::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 12px;
		height: 100%;
		background: linear-gradient(0deg, #ff6e00 0%, #ffdd00 100%);
}
@media(max-width: 960px) {
		.jisseki_hd h3, .access_left h3 {
				font-size: 38px;
				padding-left: 37px;
		}
		.jisseki_hd h3::before, .access_left h3::before {
				width: 8px;
		}
}
@media(max-width: 767px) {
		.jisseki_hd h3, .access_left h3 {
				font-size: 28px;
				padding-left: 25px;
		}
		.jisseki_hd h3::before, .access_left h3::before {
				width: 6px;
		}
}
/* =============== */
.loop_wrap {
		overflow: hidden;
}
.loop_slider, .reverse_slider {
		display: flex;
		width: 100%;
		overflow: hidden;
}
.loop_slider {
		position: relative;
		top: -130px;
		pointer-events: none;
		z-index: -1;
		margin-bottom: -130px;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.loop_slider {
				top: -90px;
				margin-bottom: -90px;
		}
}
.loop_inner, .reverse_inner {
		display: flex;
}
.loop_inner:first-child {
		animation: loop 150s linear infinite;
}
.loop_inner:nth-child(2) {
		animation: loop2 150s -100s linear infinite;
}
.loop_inner:last-child {
		animation: loop3 150s -50s linear infinite;
}
.reverse_slider .reverse_inner:first-child {
		animation: loop4 150s linear infinite;
}
.reverse_slider .reverse_inner:nth-child(2) {
		animation: loop5 150s -100s linear infinite;
}
.reverse_slider .reverse_inner:last-child {
		animation: loop6 150s -50s linear infinite;
}
.loop_item {
		width: 2100px;
}
.loop_item img {
		width: 100%;
		height: auto;
		mix-blend-mode: multiply;
}
@media(max-width: 960px) {
		.loop_item {
				width: 1680px;
		}
}
@media(max-width: 767px) {
		.loop_item {
				width: 1200px;
		}
}
@keyframes loop {
		0% {
				transform: translateX(200%);
		}
		to {
				transform: translateX(-100%);
		}
}
@keyframes loop2 {
		0% {
				transform: translateX(100%);
		}
		to {
				transform: translateX(-200%);
		}
}
@keyframes loop3 {
		0% {
				transform: translateX(0%);
		}
		to {
				transform: translateX(-300%);
		}
}
@keyframes loop4 {
		0% {
				transform: translateX(-100%);
		}
		to {
				transform: translateX(200%);
		}
}
@keyframes loop5 {
		0% {
				transform: translateX(-200%);
		}
		to {
				transform: translateX(100%);
		}
}
@keyframes loop6 {
		0% {
				transform: translateX(-300%);
		}
		to {
				transform: translateX(0%);
		}
}
/* ================== */
.job_section {
		background: #F3F3F3;
		padding: 120px 30px;
}
@media(max-width: 1700px) {
		.job_section {
				padding-right: 100px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.job_section {
				padding: 60px 20px;
		}
}
.job_wrap {
		max-width: 1270px;
		margin: 0 auto 120px;
		position: relative;
}
@media(max-width: 767px) {
		.job_wrap {
				margin-bottom: 60px;
		}
		.job_wrap.intern {
				margin-bottom: 0;
		}
}
.job_wrap .job_left {
		width: 340px;
		position: sticky;
		left: 0;
		top: 185px;
		z-index: 5;
		float: left;
}
.job_left hgroup {
		display: flex;
		flex-direction: column-reverse;
		width: 100%;
}
.job_left hgroup .jp {
		line-height: 1.3;
		font-size: 42px;
		font-weight: 700;
}
.job_left hgroup .en {
		font-size: 20px;
		font-weight: 600;
		font-family: "Montserrat";
		line-height: 1;
		letter-spacing: 0;
		text-align: left;
		margin: 0 0 15px;
}
.new .job_left hgroup .en {
		color: #FF4600;
}
.career .job_left hgroup .en {
		color: #faab00;
}
.intern .job_left hgroup .en {
		color: #fe3d3d;
}
.job_left ul {
		margin-top: 45px;
		list-style: none;
		width: 140px;
}
.job_left ul li {
		font-weight: 500;
		margin-bottom: 14px;
}
.job_left ul li a {
		display: flex;
		justify-content: center;
		align-items: center;
		text-decoration: none;
		height: 32px;
		border-radius: 60px;
		border: 1px solid #FE3D3D;
		color: #FE3D3D;
		transition: background 0.2s;
}
.job_left ul li a span {
		transform: translateY(1px)
}
@media (hover: hover) {
		.job_left ul li a:hover {
				background: #FE3D3D;
				color: #fff;
		}
}
.job_wrap .job_right {
		margin-left: 340px;
}
.job_item {
		background-color: #fff;
		border-radius: 4px;
		padding: 45px 70px;
		margin-bottom: 40px;
}
.new .job_item {
		border-top: 5px solid #FF4600;
}
.career .job_item {
		border-top: 5px solid #faab00;
}
.intern .job_item {
		border-top: 5px solid #fe3d3d;
}
.wp-block-table {
		overflow: visible !important
}
.job_item h2, .job_item h3, .job_item h4, .job_item h5, .job_item h6 {
		font-weight: 700;
		line-height: 1.8;
		margin-bottom: 25px;
		font-size: 115%;
}
.job_item .wp-block-table th, .job_item .wp-block-table td, .job_item .wp-block-table tr td:first-child {
		border: none;
		padding: 0;
		text-align: left;
		vertical-align: middle;
		border-bottom: 1px dotted #BFBFBF;
		padding: 25px 0;
		line-height: 1.8;
}
.job_item .wp-block-table tr:last-child th, .job_item .wp-block-table tr:last-child td, .job_item .wp-block-table tr:last-child td:first-child {
		border-bottom: none;
}
.job_item .wp-block-table th, .job_item .wp-block-table tr td:first-child {
		width: 20%;
		font-weight: 600;
}
@media(max-width: 1400px) {
		.job_wrap .job_left {
				width: 240px;
		}
		.job_left hgroup .jp {
				font-size: 34px;
		}
		.job_left hgroup .en {
				font-size: 16px;
		}
		.job_left ul {
				margin-top: 30px;
				width: 130px;
		}
		.job_wrap .job_right {
				margin-left: 240px;
		}
		.job_item {
				padding: 50px;
		}
}
@media(max-width: 960px) {
		.job_wrap .job_left {
				width: 160px;
		}
		.job_left hgroup .jp {
				font-size: 28px;
		}
		.job_left hgroup .en {
				font-size: 14px;
				margin-bottom: 10px;
		}
		.job_wrap .job_right {
				margin-left: 160px;
		}
		.job_item {
				padding: 30px;
		}
		.job_left ul li {
				margin-bottom: 13px;
				margin-bottom: 10px;
		}
		.job_left ul li a {
				height: 28px;
		}
		.job_item h2, .job_item h3, .job_item h4, .job_item h5, .job_item h6 {
				font-size: 18px;
		}
		.job_item .wp-block-table th, .job_item .wp-block-table td, .job_item .wp-block-table tr td:first-child {
				display: block;
				padding: 0;
				width: auto;
		}
		.job_item .wp-block-table th, .job_item .wp-block-table tr td:first-child {
				padding: 20px 0 5px;
				font-weight: 700;
				border-bottom: none;
		}
		.job_item .wp-block-table td {
				padding: 0 0 20px;
				font-size: 15px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.job_item .wp-block-table th br, .job_item .wp-block-table tr td:first-child br {
				display: none;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.job_wrap .job_left {
				width: auto;
				position: static;
				float: none;
				margin: 0 0 30px;
		}
		.job_left hgroup .jp {
				font-size: 28px;
		}
		.job_left hgroup .jp br {
				display: none
		}
		.job_left ul {
				margin-top: 30px;
				width: auto;
				display: flex;
				flex-wrap: wrap;
		}
		.job_left ul li {
				min-width: 120px;
				margin: 0 20px 20px 0;
		}
		.job_left ul li a {
				height: 28px;
				padding: 0 10px;
		}
		.job_wrap .job_right {
				margin-left: 0;
		}
		.job_item {
				padding: 30px 15px;
		}
		.job_item h2, .job_item h3, .job_item h4, .job_item h5, .job_item h6 {
				font-size: 16px;
		}
		.job_item .wp-block-table th br, .job_item .wp-block-table tr td:first-child br {
				display: none;
		}
}
/* ================== */
.process_section {
		background: #fff;
		padding: 120px 30px;
}
@media(max-width: 1700px) {
		.process_section {
				padding-right: 100px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.process_section {
				padding: 60px 20px;
		}
}
.process_inner {
		max-width: 1270px;
		margin: 0 auto;
}
.process_flex {
		display: flex;
		justify-content: space-between;
}
.process_item {
		width: calc(50% - 13px);
		border-radius: 6px;
}
.process_item.new {
		border: 1px solid #FF5900;
}
.process_item.career {
		border: 1px solid #FBAB00;
}
.process_item h4 {
		font-size: 22px;
		font-weight: 500;
		text-align: center;
		color: #fff;
		padding: 15px 0;
		line-height: 1;
}
.process_item.new h4 {
		background: #FF5900;
}
.process_item.career h4 {
		background: #FBAB00;
}
.process_item ul {
		padding: 40px 50px;
		list-style: none;
		font-size: 17px;
		font-weight: 500;
		margin-left: 54px;
		position: relative;
}
.process_item ul::before {
		content: '';
		display: block;
		position: absolute;
		top: 50px;
		left: 14px;
		width: 1px;
		height: calc(100% - 100px);
		background-repeat: repeat-y;
		background-position: 0 0;
		background-size: 1px;
}
.process_item.new ul::before {
		background-image: url("../images/org_dot_line.png")
}
.process_item.career ul::before {
		background-image: url("../images/gold_dot_line.png")
}
.process_item li {
		margin-bottom: 45px;
		position: relative;
		line-height: 1.6;
}
@media(min-width: 961px) {
		.process_item li br {
				display: none
		}
}
.process_item ul li:last-child {
		margin-bottom: 0;
}
.process_item li::before, .process_item li::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 18px);
		left: -54px;
		width: 36px;
		height: 36px;
		border-radius: 50%;
}
.process_item.new li::before {
		background: #FF5900;
}
.process_item.career li::before {
		background: #FBAB00;
}
.process_item li::after {
		content: '1';
		font-family: "Montserrat";
		font-weight: 600;
		font-size: 15px;
		letter-spacing: 0;
		color: #fff;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
}
.process_item ul li:nth-child(2)::after {
		content: '2';
}
.process_item ul li:nth-child(3)::after {
		content: '3';
}
.process_item ul li:nth-child(4)::after {
		content: '4';
}
.process_item ul li:nth-child(5)::after {
		content: '5';
}
.process_item ul li:nth-child(6)::after {
		content: '6';
}
.process_item ul li:nth-child(7)::after {
		content: '7';
}
.process_item ul li:nth-child(8)::after {
		content: '8';
}
.process_item ul li:nth-child(9)::after {
		content: '9';
}
@media(max-width: 1300px) {
		.process_item ul {
				font-size: 16px;
				padding: 40px 30px;
		}
		.process_item ul::before {
				left: -6px;
		}
}
@media(max-width: 1100px) {
		.process_item ul {
				font-size: 15px;
				padding: 40px 20px;
		}
		.process_item ul::before {
				left: -16px;
		}
}
@media(max-width: 960px) {
		.process_item h4 {
				font-size: 20px;
				padding: 12px 0;
		}
		.process_item ul {
				font-size: 15px;
				padding: 30px 15px;
				margin-left: 40px;
		}
		.process_item ul::before {
				left: -14px;
		}
		.process_item li {
				margin-bottom: 30px;
		}
		.process_item li::before, .process_item li::after {
				top: -3px;
				left: -45px;
				width: 32px;
				height: 32px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.process_flex {
				display: block;
		}
		.process_item {
				width: 100%;
		}
		.process_item.new {
				margin: 0 0 20px;
		}
		.process_item h4 {
				font-size: 18px;
				padding: 10px 0;
		}
		.process_item ul {
				margin-left: 50px;
		}
}
/* ================= */
.jisseki_section {
		background: #F3F3F3;
		padding: 120px 30px;
}
@media(max-width: 1500px) {
		.jisseki_section {
				padding-right: 100px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.jisseki_section {
				padding: 60px 20px;
		}
}
:where(figure) {
		margin: 0 !important;
}
.jisseki_inner {
		max-width: 1270px;
		margin: 0 auto;
		border-radius: 6px;
		overflow: hidden
}
.jisseki_hd {
		max-width: 1270px;
		margin: 0 auto 40px;
}
.jisseki_inner table {
		width: 100%;
		border-collapse: collapse;
		border: none !important;
}
.jisseki_inner table th, .jisseki_inner table td {
		text-align: left;
		padding: 30px;
		line-height: 1.8;
		border-bottom: 1px solid #BFBFBF;
		border-top: none !important;
		border-left: none !important;
		border-right: none !important;
}
.jisseki_inner table tr:last-child th, .jisseki_inner table tr:last-child td {
		border-bottom: none !important;
}
.jisseki_inner table th, .jisseki_inner table tr td:first-child {
		width: 22%;
		background: #444241;
		color: #fff;
}
.jisseki_inner table td {
		background: #fff;
}
@media(max-width: 960px) {
		.jisseki_inner table th, .jisseki_inner table td {
				padding: 20px;
				font-size: 15px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.jisseki_inner table th {
				padding: 20px 5px;
				font-size: 14px;
				width: 23.5%;
		}
}
@media(max-width: 767px) {
		.jisseki_inner table th, .jisseki_inner table tr td:first-child, .jisseki_inner table td {
				padding: 15px;
		}
		.jisseki_inner table th, .jisseki_inner table tr td:first-child {
				padding-top: 5px;
				padding-bottom: 5px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.jisseki_inner table th, .jisseki_inner table tr td:first-child {
				white-space: nowrap;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.jisseki_inner table th, .jisseki_inner table tr td:first-child, .jisseki_inner table td {
				display: block;
				width: auto;
		}
		.jisseki_inner table th, .jisseki_inner table tr td:first-child, .jisseki_inner table td {
				padding: 15px;
		}
		.jisseki_inner table th, .jisseki_inner table tr td:first-child {
				border-bottom: none !important;
		}
}
/* ================= */
.access_section {
		background: #fff;
		padding: 120px 30px;
}
@media(max-width: 1700px) {
		.access_section {
				padding-right: 100px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.access_section {
				padding: 60px 20px;
		}
}
.access_wrap {
		max-width: 1270px;
		margin: 0 auto;
		display: flex;
}
.access_left {
		width: 330px;
}
.access_right {
		flex: 1
}
@media(max-width: 1300px) {
		.access_left {
				width: 280px;
		}
}
@media(max-width: 1200px) {
		.access_wrap {
				display: block
		}
		.access_left {
				width: auto;
				margin: 0 0 40px;
		}
}
@media(max-width: 960px) {
		.access_section .spbr {
				display: block
		}
}
.access_hd_flex {
		display: flex;
		margin-bottom: 30px;
}
.access_hd_left {
		width: 170px;
}
.access_hd_left h4 {
		font-size: 22px;
		font-weight: 700;
		margin: 0 0 10px;
}
@media(max-width: 767px) {
		.access_hd_flex {
				display: block;
				margin-bottom: 30px;
		}
		.access_hd_left {
				width: auto;
				margin: 0 0 20px;
				display: flex;
				align-items: center;
		}
		.access_hd_left h4 {
				font-size: 18px;
				font-weight: 700;
				margin: 0 15px 0 0;
		}
}
.access_hd_left p {
		color: #FF7801;
		font-family: "Montserrat";
		font-weight: 600;
		font-size: 14px;
		letter-spacing: 0
}
.access_hd_right {
		flex: 1
}
.access_hd {
		margin: 0 0 20px;
}
.access_hd p {
		font-weight: 600;
		line-height: 1.8;
}
.access_hd + p {
		font-size: 90%;
		line-height: 1.8;
		margin: 0;
		font-weight: 500;
}
.access_figure {
		display: flex;
		justify-content: space-between;
}
.access_figure:last-child {
		margin-bottom: 0;
}
.access_figure_left {
		width: 470px;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
}
.access_figure img {
		width: 100%;
		height: auto;
}
.access_photo {
		width: 455px;
}
@media(min-width: 768px) {
		.access_hd p br {
				display: none
		}
}
.googlemap iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 10 / 5.28;
}
.googlemap.short iframe {
		width: 100%;
		height: auto;
		aspect-ratio: 10 / 4.45;
}
@media(max-width: 1440px) {
		.access_figure_left {
				width: 50%;
		}
		.access_photo {
				width: 48.4%;
		}
}
@media(max-width: 960px) {
		.access_figure {
				display: block;
		}
		.access_figure_left {
				width: 100%;
		}
		.access_map {
				width: 100%;
				margin: 0 0 20px;
		}
		.googlemap {
				width: 100%;
				margin: 0 0 20px
		}
		.access_photo {
				width: 100%;
		}
}
@media(max-width: 767px) {
		.access_map {
				margin: 0 0 15px;
		}
		.googlemap {
				margin: 0 0 15px
		}
		.googlemap iframe, .googlemap.short iframe {
				width: 100%;
				height: auto;
				aspect-ratio: 6 / 4;
		}
}
.access_hr {
		background: #BFBFBF;
		height: 1px;
		margin: 70px 0;
}