@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

@font-face {
	font-family: 'Helvetica';
	src: url('../fonts/Helvetica-Bold.eot');
	src: url('../fonts/Helvetica-Bold.eot?#iefix') format('embedded-opentype'),
		url('../fonts/Helvetica-Bold.woff2') format('woff2'),
		url('../fonts/Helvetica-Bold.woff') format('woff'),
		url('../fonts/Helvetica-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'DIN Condensed';
	src: url('../fonts/DINCondensed-Bold.eot');
	src: url('../fonts/DINCondensed-Bold.eot?#iefix') format('embedded-opentype'),
		url('../fonts/DINCondensed-Bold.woff2') format('woff2'),
		url('../fonts/DINCondensed-Bold.woff') format('woff'),
		url('../fonts/DINCondensed-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Std-W4';
	src: url('../fonts/Std-W4.woff');
}

@font-face {
    font-family: 'Futura Md BT';
    src: url('../fonts/FuturaBT-Medium.woff') format('woff'),
        url('../fonts/FuturaBT-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}


/* !HTML5 elements
---------------------------------------------------------- */
header,
footer,
nav,
section,
aside,
article {
	display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

fieldset {
	border: none;
}

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

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

table {
	border-collapse: collapse;
}

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

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

input[type=radio]::-ms-check,
input[type=checkbox]::-ms-check {
	display: none;
}

select,
input[type=radio],
input[type=checkbox],
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=number],
input[type=reset],
input[type=button],
input[type=submit],
textarea {
	appearance: none;
	border-radius: 0;
	font-family: verdana, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, Sans-Serif;
}

input[type=text]::-ms-clear,
input[type=tel]::-ms-clear,
input[type=number]::-ms-clear {
	display: none;
}

input[type=reset],
input[type=button],
input[type=submit] {
	font-family: verdana, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, Sans-Serif;
	cursor: pointer;
}

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

/* !Clearfix
---------------------------------------------------------- */
.clearfix {
	display: block;
	min-height: 1%;
}

.clearfix:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
}

* html .clearfix {
	height: 1%;
}

/* !Layout
---------------------------------------------------------- */
html {
	overflow-y: scroll;
	font-size: 62.5%;
}

/*** タブレット 768x ~ 1280px***/
@media screen and (min-width: 768px) and (max-width: 1280px) {
	html {
		font-size: 0.78vw;
	}
}


body {
	font-family: verdana, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, Sans-Serif;
	font-size: 1.6rem;
	-webkit-text-size-adjust: none;
	line-height: 1.5;
	font-weight: normal;
	color: #000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.eng-font {
	font-family: 'Helvetica';
}

.din-font {
	font-family: 'DIN Condensed';
}

@media screen and (max-width: 767px) {
	html {
		font-size: 62.5%;
	}
}


@media screen and (max-width: 400px) {
    html {
        font-size: calc(100vw / 40);
    }
}

/* !Base Fonts -------------------------------------------------------------- */
a {
	color: #000;
	text-decoration: none;
	transition: all 0.5s;
}

a:hover {
	text-decoration: none;
	transition: all 0.5s;
}

.op img, .op input, .op button, .op a {
	transition: opacity 0.5s ease-out;
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

@media screen and (min-width: 960px) {
	.op:hover img, .op:hover input, .op:hover button, .op:hover a {
		opacity: .7;
		transition: opacity 0.5s ease-out;
	}
}

.is-hide {
	display: none;
}

.is-pc {
	display: block !important;
}

.is-sp {
	display: none !important;
}

@media screen and (max-width: 767px) {
	.is-pc {
		display: none !important;
	}

	.is-sp {
		display: block !important;
	}
}

/* !wrapper
---------------------------------------------------------- */


/* !header
---------------------------------------------------------- */
#header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	width: 100%;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .16);
}

.header-inner {
	width: 100%;
	height: 8.6rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.header-logo {
	margin-left: 1.1rem;
}

.header-logo a {
	display: flex;
	align-items: center;
	width: 32rem;
}

.header-logo a .image {
	width: 11.3rem;
}

.header-logo a img {
	width: 100%;
}

.header-logo a .txt {
	width: calc(100% - 11.3rem);
	padding-left: .5rem;
}

.header-logo a .txt span {
	display: block;
	font-weight: 700;
	white-space: nowrap;
}

.header-logo a .txt .jap {
	font-size: 1.9rem;
	line-height: 1;
}

.header-logo a .txt .eng {
	font-size: .8rem;
	line-height: 1;
	margin-top: .5rem;
}

.header-links,
#g-navi,
#g-navi ul,
#g-navi ul li {
	height: 100%;
	display: flex;
	align-items: center;
}

.g-navi__links {
	height: 100%;
	display: flex;
	align-items: center;
}

.g-navi__links ul {
	display: flex;
	margin-right: 2.6rem;
}

.g-navi__links ul a {
	margin-left: 2.6rem;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	line-height: 1.5;
}


.g-navi__links .header-btn {
	display: none !important;
}

.header-btn {
	height: 100%;
	display: flex !important;
}

.header-btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 12rem;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
}

.header-btn a.entry {
	background: linear-gradient(to bottom, #FD8003, #F29804, #F8B215);
}

.header-btn a.contact {
	background: linear-gradient(to bottom, #2F71BD, #054795, #2F71BD);
}

.btn-menu {
	display: none;
}

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

	/* !header
	---------------------------------------------------------- */
	#header {
		position: fixed;
		left: 0;
		top: 0;
		z-index: 100;
		width: 100%;
		background: #fff;
		box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .16);
	}

	.header-inner {
		height: 5.6rem;
	}

	.header-logo {
		margin-left: .5rem;
		position: fixed;
		z-index: 200;
	}

	.header-logo a {
		width: 18rem;
	}
	
	.header-logo a .image {
		width: 7rem;
	}
	
	.header-logo a img {
		width: 100%;
	}
	
	.header-logo a .txt {
		width: calc(100% - 7rem);
		padding-left: .1rem;
		transition: 0s ease 0s;
	}
	
	.header-logo a .txt .jap {
		font-size: 1.1rem;
	}
	
	.header-logo a .txt .eng {
		font-size: .5rem;
		line-height: 1;
		margin-top: .2rem;
	}
	
	#header.is-open .header-logo .txt {
		color: #fff;
		transition: 0s ease .3s;
	}

	.header-links,
	#g-navi,
	#g-navi ul,
	#g-navi ul li {
		height: auto;
		display: block;
	}

	#g-navi {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		width: 100%;
		height: 100vh;
		background: linear-gradient(-45deg,rgb(21, 102, 195, .9), rgb(55, 128, 214, .9), rgb(1, 52, 134, .9), rgb(14, 91, 180, .9));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		padding: 9rem 4.5rem;
		transform: translateX(100%);
		transition: transform .5s ease-in-out;
	}

	#g-navi.is-active {
		transform: translateX(0);
		transition: transform .5s ease-in-out;
	}

	#g-navi::before {
		content: "";
		position: absolute;
		right: 0;
		top: 0;
		z-index: 1;
		width: 100%;
		height: 100%;
		background: url("../img/common/navi_bg.png") top center no-repeat;
		background-size: cover;
		opacity: .3;
		pointer-events: none;
	}

	.g-navi__links {
		height: auto;
		display: block;
	}

	.g-navi__links ul {
		display: block;
		max-width: 40rem;
		width: 100%;
		margin: 0 auto;
	}

	.g-navi__links ul a {
		margin-left: 0;
		font-size: 1.7rem;
		letter-spacing: 0.05em;
		line-height: 1.5;
		color: #fff;
		display: block;
		padding: 1rem 0;
	}

	.g-navi__links ul a small {
		font-size: 1.3rem;
		font-weight: 500;
	}

	.navi-info {
		color: #fff;
		max-width: 23rem;
		width: 100%;
		margin: 6.2rem auto 0;
	}

	.navi-info .txt {
		font-size: 0;
		font-weight: 700;
		letter-spacing: .15em;
		line-height: 1.4;
		width: 21rem;
		height: 6.8rem;
		margin: 0 auto;
		background: url("../img/common/navi_info.png") center center no-repeat;
		background-size: cover;
	}

	.navi-info .logo {
		margin-top: 2.3rem;
		font-size: 1.6rem;
		font-weight: 500;
		max-width: 20rem;
		width: 100%;
		text-align: center;
	}

	.navi-info .logo span {
		display: block;
		font-size: .7rem;
		letter-spacing: .03em;
		margin-top: .5rem;
	}

	.header-btn {
		height: auto;
		position: absolute;
		right: 4.6rem;
		top: 0;
		z-index: 3;
	}

	.header-btn a {
		max-width: 35rem;
		width: 6rem;
		height: 5.6rem;
		margin: 0 auto;
		font-size: 1rem;
		border: none;
		border-radius: 0;
	}

	.header-btn a.contact {
		margin-top: 0;
		width: 6.4rem;
	}

	.btn-menu {
		display: flex;
		justify-content: center;
		width: 4.6rem;
		height: 5.6rem;
		position: fixed;
		padding-top: 1.4rem;
		right: 0;
		top: 0;
		z-index: 200;
	}

	.btn-menu>div {
		width: 2.8rem;
		height: 1.6rem;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column;
		position: relative;
	}

	.btn-menu>div::before {
		content: "MENU";
		position: absolute;
		left: 0;
		bottom: -1.4rem;
		width: 100%;
		font-size: .8rem;
		line-height: 1;
		text-align: center;
	}

	.btn-menu.is-active>div::before {
		content: "CLOSE";
		font-family: 'Helvetica';
		color: #fff;
	}

	.btn-menu>div>span {
		display: inline-block;
		background: #000000;
		width: 100%;
		height: 0.1rem;
		transition: .3s ease-out;
	}

	.btn-menu.is-active span:first-child {
		transform: translateY(.8rem) rotate(40deg);
		transition: .3s ease-out;
		background: #fff;
	}

	.btn-menu.is-active span:nth-child(2) {
		opacity: 0;
	}

	.btn-menu.is-active span:last-child {
		transform: translateY(-.7rem) rotate(-40deg);
		transition: .3s ease-out;
		background: #fff;
	}

}

/* !main Visual
---------------------------------------------------------- */

#main-visual {
	position: relative;
	height: 100vh;
	overflow: hidden;
}

.main-visual__inner {
	
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

#main-visual.is-op .main-visual__inner {
	opacity: 0;
}

.main-visual__info {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
	text-align: center;
}

.main-visual__info p {
	font-size: 7.1rem;
	letter-spacing: 0.05em;
	line-height: 1.4;
	font-weight: 700;
	color: #fff;
	overflow: hidden;
}

.main-visual__info p.din-font {
	font-size: 4.7rem;
	line-height: 1.31;
	margin-top: 1.9rem;
}

.main-visual__info p span {
	display: inline-block;
	transform: translateY(115%);
}

.main-visual__info p.animated span {
	transition: 1.4s ease-out;
	transform: matrix(1, 0, 0, 1, 0, 0);
}

.main-visual__info p.txt02.animated span {
	transition: 1.4s ease-out .3s;
}

.main-visual__info p.txt03.animated span {
	transition: 1.4s ease-out .6s;
}

.main-visual__btn {
	position: absolute;
	right: 2.3rem;
	bottom: 8rem;
	z-index: 3;
	width: 23rem;
}

.main-mv {
	display: flex;
	overflow: hidden;
}

.main-mv__wrap {
	width: 50%;
	height: 100vh;
	overflow: hidden;
}

.main-mv__wrap .swiper,
.main-mv__wrap .swiper-image {
	height: 100%;
}

.main-mv__wrap .swiper-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.main-mv__wrap .swiper-image img {
	transition: 10s linear .5s;
	/* transition: transform 10s linear .5s, opacity 3s ease .2s; */
	transform: scale(1.3);
	/* opacity: .9; */
}

.main-mv__wrap .swiper-slide.swiper-slide-active .swiper-image img {
	transition-delay: 0;
	transform: scale(1);
	/* opacity: 1; */
}

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

	/* !main Visual
	---------------------------------------------------------- */
	#main-visual {
		height: 58rem;
	}
	
	.main-visual__inner {
		height: 58rem;
		top: 5.6rem;
	}
	
	.main-mv {
		display: block;
		overflow: hidden;
		height: 100%;
	}
	
	.main-mv__wrap {
		width: 100%;
		height: 50%;
	}

	.main-mv__wrap .swiper,
	.main-mv__wrap .swiper-image {
		height: 100%;
	}

	.main-mv__wrap .swiper-image img {
		transition: 10s linear .5s;
		transform: scale(1.3);
		object-position: left top;
	}
	
/* 	.main-visual__info {
		margin-left: 3rem;
		
	} */

	.main-visual__info p {
		font-size: 4rem;
		white-space: nowrap;
	}
	
	.main-visual__info p.txt01 {
		padding-left: 6rem;
	}
	
	.main-visual__info p.txt02 {
		padding-left: 4rem;
	}

	.main-visual__info p.din-font {
		font-size: 2.6rem;
		margin-top: 1rem;
	}

	.main-visual__info p.animated span {
		transition: 1.2s ease-out;
		transform: matrix(1, 0, 0, 1, 0, 0);
	}

	.main-visual__info p.txt02.animated span {
		transition: 1.2s ease-out .3s;
	}

	.main-visual__info p.txt03.animated span {
		transition: 1.2s ease-out .6s;
	}

	.main-visual__btn {
		bottom: 2rem;
		padding-right: 2rem;
	}

}

/* !article
---------------------------------------------------------- */
.article-wrap {
	background: #F2F2F2;
	min-height: calc(100vh - 6.4rem);
}


/* !teaser
---------------------------------------------------------- */
.teaser {
	position: relative;
	margin-bottom: 7.4rem;
}

.teaser-bg img {
	width: 100%;
}

.teaser-inner {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 0 15rem;
}

.teaser-inner .teaser-head {
	color: #fff;
}

.teaser-head p {
	overflow: hidden;
}

.teaser-head span {
	transform: translateY(110%);
	transition: transform 1s ease;
}

.teaser-head.animated span {
	transform: translateY(0);
	transition: transform 1s ease;
}

.teaser-inner .teaser-head .jap {
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.32;
	display: block;
}

.teaser-inner .teaser-head .eng-font {
	display: block;
	font-family: 'DIN Condensed';
	font-size: 7.3rem;
	line-height: 1;
	margin-top: 2.4rem;
}

.teaser-inner .teaser-head.black {
	color: #414151;
}

.teaser02 {
	background: #fff;
	padding: 9.6rem 0 4.2rem;
	margin-bottom: 8.7rem;
}

.teaser02 .teaser-box {
	padding: 0 5rem;
	max-width: 82rem;
	width: 100%;
	margin: 0 auto;
}

.teaser02 .teaser-box h2 {
	text-align: center;
	margin-bottom: 3.7rem;
}

.teaser02 .teaser-box h2 .eng-font {
	font-size: 4.7rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1;
	display: block;
	color: #000;
}

.teaser02 .teaser-box h2 .jap {
	font-size: 2.6rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1;
	display: block;
	margin-top: 1.5rem;
	color: #000;
}

.teaser02 .teaser-box__text {
	font-size: 1.8rem;
	line-height: 1.8;
}

@media screen and (max-width: 767px) {
	.teaser {
		margin-bottom: 3.4rem;
	}
	
	.teaser-inner {
		padding: 5.6rem 1.6rem 6rem;
	}
	
	.teaser-inner .teaser-head .jap {
		font-size: 1.4rem;
	}
	
	.teaser-inner .teaser-head .eng-font {
		font-size: 3.9rem;
		margin-top: 1.4rem;
	}

	.teaser02 {
		margin-bottom: 4rem;
		padding: 10rem 0 4.2rem;
	}

	.teaser02 .teaser-box {
		padding: 0 3.4rem;
	}

	.teaser02 .teaser-box h2 {
		margin-bottom: 1rem;
	}

	.teaser02 .teaser-box h2 .eng-font {
		font-size: 3rem;
	}

	.teaser02 .teaser-box h2 .jap {
		font-size: 1.4rem;
		margin-top: .8rem;
	}

	.teaser02 .teaser-box__text {
		font-size: 1.4rem;
		letter-spacing: 0.04em;
	}

	.teaser02 .teaser-box__text.center {
		text-align: center;
	}
}


/* !contents
---------------------------------------------------------- */
.inner {
	max-width: 128rem;
	padding: 0 13rem;
	width: 100%;
	margin: 0 auto;
}

.inner.inner02 {
	max-width: 130rem;
}

.section-body {
	background: #fff;
}

@media screen and (max-width: 767px) {
	.inner {
		padding: 0 2rem;
	}
}

/* !hover
---------------------------------------------------------- */
/* hover-text */
.hover-text {
	transition: all 300ms 0s ease;
	position: relative;
	display: inline-block;
	overflow: hidden;
}

.hover-text span::after {
	content: '';
	width: 100%;
	height: 1px;
	background: #000;
	position: absolute;
	left: -100%;
	bottom: 0;
	transition: all 0.3s 0.3s ease;
}

.hover-text.white-line {
	color: #fff;
}

.hover-text.blue-line {
	color: #5F90EB;
}

.hover-text.white-line span::after {
	background: #fff;
}

.hover-text.blue-line span::after {
	background: #5F90EB;
}

.hover-text span {
	display: inline-block;
	transition: all 300ms 0s ease;
	position: relative;
	overflow: hidden;
}

@keyframes overpcgnavi {
	0% {
		transform: translateY(0%);
	}

	40% {
		transform: translateY(-100%);
	}

	41% {
		transform: translateY(100%);
		opacity: 1;
	}

	100% {
		transform: translateY(0%);
		opacity: 0.7;
	}
}

/* btn-bg__blue */
.btn-bg__hover a {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0.1rem solid #FFFFFF;
	border-radius: .9rem;
	background-color: #588FDB;
	background: linear-gradient(to right, #2F71BD, #054795, #2F71BD);
	max-width: 23rem;
	width: 100%;
	height: 5.5rem;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.73;
	position: relative;
	transition: all .3s ease;
}

.btn-bg__hover a::before {
	content: "";
	position: absolute;
	right: 1.7rem;
	top: 0;
	z-index: 3;
	width: 1rem;
	height: 100%;
	background: url(../img/common/icon_arrow_link.svg) center center no-repeat;
	background-size: 100% auto;
}

.btn-bg__hover.border-white a {
	background: transparent;
	border: 0.1rem solid #fff;
}

.btn-bg__hover.border-blue a {
	background: transparent;
	border: 0.1rem solid #154EB9;
	color: #154EB9;
}

.btn-bg__hover.border-blue a::before {
	width: 1rem;
	height: 100%;
	background: url(../img/common/icon_arrow_blue.svg) center center no-repeat;
	background-size: 100% auto;
}
.confirmationForm {
    margin: 8rem auto;
    max-width: 700px;
}
.confirmationFormBack {
    display: flex
;
    justify-content: center;
    gap: 5rem;
    margin-top: 5rem;
}
.confirmationFormBack input[type="submit"] {
    font-size: 2rem;
}
.element_wrap {
    display: flex
;
}
.element_wrap {
    display: flex
;
    gap: 2rem;
    padding: 1rem;
    border-bottom: dashed 1px #333;
}
@media (min-width: 960px) {
	.btn-bg__hover a:hover {
		background: linear-gradient(to right, #588FDB, #588FDB, #588FDB);
		border: 0.1rem solid #588FDB;
		transition: all .3s ease-in-out;
	}
	
	.btn-bg__hover a:hover::before {
		width: 1rem;
		height: 100%;
		background: url(../img/common/icon_arrow_link.svg) center center no-repeat;
		background-size: 100% auto;
	}

	.btn-bg__hover.border-blue a:hover {
		background: #2F71BD;
		color: #fff;
		opacity: 1;
	}

	.btn-bg__hover.border-blue a:hover::before {
		width: 1rem;
		height: 100%;
		background: url(../img/common/icon_arrow_link.svg) center center no-repeat;
		background-size: 100% auto;
	}

	.hover-text:hover span {
		animation: 400ms ease-out 0s 1 normal forwards running overpcgnavi;
	}

	.hover-text:hover span:after {
		position: absolute;
		left: 0;
		bottom: 0;
	}
}

@media screen and (max-width: 767px) {
	.btn-bg__hover a {
		height: 5rem;
		font-size: 1.5rem;
	}
}

/* !footer
---------------------------------------------------------- */
footer {
	position: relative;
	z-index: 3;
	background: #fff;
	padding-top: 10rem;
}

.common-contact {
	display: flex;
}

.common-contact__item {
	width: 50%;
	padding: 11.7rem 0 4.7rem;
}

.common-contact__item.contact {
	background: url("../img/common/common_contact_bg01.jpg") bottom center no-repeat;
	background-size: cover;
}

.common-contact__item.entry {
	background: url("../img/common/common_contact_bg02.jpg") top center no-repeat;
	background-size: cover;
}

.common-contact__info {
	max-width: 49.6rem;
	padding: 0 2rem;
	margin: 0 auto;
}

.common-contact__btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 45.6rem;
	width: 100%;
	height: 7rem;
	margin: 0 auto 3.2rem;
	font-size: 2.3rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	color: #fff;
	border: 0.2rem solid #fff;
	border-radius: .9rem;
	position: relative;
	transition: .3s ease;
}

.common-contact__btn a::before {
	content: "";
	position: absolute;
	right: 3.1rem;
	top: 0;
	z-index: 3;
	width: 1.6rem;
	height: 100%;
	background: url("../img/common/icon_arrow_link.svg") center center no-repeat;
	background-size: 100% auto;
}

.common-contact__btn.blue a {
	background: linear-gradient(to right, #1566C3, #3780D6, #013486, #0E5BB4, #4588D6);
}

.common-contact__btn.orange a {
	background: linear-gradient(to right, #FD8003, #F29804, #F8B215);
}

.common-contact__item dl {
	margin-bottom: 1.7rem;
}

.common-contact__item dl dt a {
	display: block;
	color: #fff;
	text-align: center;
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.37;
}

.common-contact__item dl dd {
	color: #fff;
	text-align: center;
	font-size: 1.3rem;
	line-height: 1;
	letter-spacing: 0.07em;
}

.common-contact__text {
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.8;
	text-align: center;
}

.common-contact__text span {
	background-image: linear-gradient(#fff,#fff);
	background-repeat: repeat-x;
	background-position: bottom;
	background-size: 100% 0.1rem;
}

#footer {
	overflow: hidden;
	padding: 7.2rem 0 1rem;
	background: linear-gradient(to bottom, #013486 0%, #0E5BB4 65%, #4588D6 100%);
}

.footer-section {
	position: relative;
	display: flex;
	justify-content: space-between;
	padding-right: 17rem;
}

#page-top {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 3;
	transform: translateX(100%);
}

#page-top::after {
	content: "";
	position: absolute;
	left: 0;
	top: -2rem;
	z-index: 3;
	width: 100%;
	height: 1rem;
	background: url("../img/common/icon_arrow_up.svg") center center no-repeat;
	background-size: auto 100%;
}

#page-top a {
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	color: #fff;
	position: relative;
}

.footer-logo {
	color: #fff;
	margin-bottom: 4rem;
}

.footer-logo .jap {
	font-size: 3.5rem;
	font-weight: 500;
	line-height: 1;
	display: block;
}

.footer-logo .eng-font {
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	line-height: 1;
	display: block;
	margin-top: 1rem;
}

.footer-info {
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.57;
}

.footer-info a,
.footer-info a span {
	font-size: 1.4rem;
	line-height: 1.57;
	vertical-align: bottom;
	color: #fff;
}

.footer-info .map.is-pc {
	display: inline-block !important;
}

.footer-info .map {
	margin-left: 1rem;
}

.footer-info a {
	padding-left: 1.1rem;
	background-image: url("../img/common/icon_map.svg");
	background-size: .9rem 1.5rem;
	background-position: center left;
	background-repeat: no-repeat;
}

.footer-links li,
.footer-links a {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

/* .footer-links li+li {
	margin-top: .6rem;
} */

.footer-area {
	margin-top: 11rem;
	position: relative;
	padding-top: 1.1rem;
	display: flex;
}

.footer-area::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 1;
	transform: translateX(-50%);
	width: calc(100% + 20rem);
	height: 0.1rem;
	background: #fff;
	opacity: .35;
}

#copyright {
	color: rgba(255, 255, 255, .5);
    font-size: 1.2rem;
    line-height: 1;
    padding: .3rem 3.4rem .3rem 0;
    border-right: .1rem solid rgba(255, 255, 255, .35);
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-area .blank-link a {
	color: rgba(255, 255, 255, .5);
	font-size: 1.2rem;
	letter-spacing: .05em;
	line-height: 1;
	font-weight: 500;
	padding: .3rem 0 .3rem 3.4rem;
}

/* footer02 */
footer.footer02  {
	padding-top: 0;
}

footer.footer02 #footer {
	background: #F2F2F2;
	padding: 10rem 0 2rem;
	margin-top: 0;
}

footer.footer02 .copyright {
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.57;
}



@media (min-width: 960px) {
	.common-contact__btn.blue a:hover {
		transition: .3s ease;
		background: linear-gradient(to right,#64A2EA,#306FBA,#64A2EA);
	}

	.common-contact__btn.orange a:hover {
		transition: .3s ease;
		background: linear-gradient(to right,#FDB063,#FABE5B,#FDCE63);
	}
}

/* @media screen and (max-width: 1280px) {
	#page-top {
		transform: translateX(0);
	}
} */

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

	/* !footer
	---------------------------------------------------------- */
	footer {
		padding-top: 6.3rem;
	}
	.common-contact {
		display: block;
	}

	.common-contact__text {
		font-size: 1.4rem;
	}
	
	.common-contact__item {
		width: 100%;
		padding: 3.8rem 0 3.5rem;
	}

	.common-contact__item.entry {
		padding: 6.8rem 0 6rem;
	}

	.common-contact__btn a {
		max-width: 30rem;
		font-weight: 600;
		font-size: 1.5rem;
		height: 5rem;
		border: 0.1rem solid #fff;
	}

	#footer {
		padding: 4.2rem 0 1rem;
		background: linear-gradient(to bottom, #013486 0%, #0E5BB4 65%, #4588D6 100%);
	}

	.footer-section {
		position: relative;
		flex-direction: column-reverse;
		padding-right: 0;
	}

	#page-top {
		top: auto;
		bottom: 0;
		transform: translate(0,100%);
	}
	
	.footer-logo {
		padding-bottom: 4.2rem;
		border-bottom: 0.1rem solid rgba(255, 255, 255, .3);
		margin-bottom: 0;
	}

	.footer-logo .jap {
		font-size: 2.3rem;
		font-weight: 600;
	}
	.footer-logo .eng-font {
		font-size: .9rem;
	}

	.footer-links {
		margin-top: 3rem;
	}

	.footer-links li+li {
		margin-top: .2rem;
	}

	.footer-area {
		margin-top: 5rem;
		flex-direction: column;
		padding: 1.1rem 1.4rem 0;
	}

	.footer-area::before {
		width: 100%;
	}

	.footer-links li, .footer-links a {
		font-weight: 400;
		line-height: 1;
	}

	.footer-links a {
		padding: .8rem 0;
	}

	.footer-item {
		margin-top: 2rem;
	}

	.footer-info {
		letter-spacing: 0.1em;
	}

	.footer-info .map {
		margin-left: 0;
		text-decoration: underline;
	}

	.footer-info .map.is-pc {
		display: none !important;
	}

	#copyright {
		font-size: 1rem;
		padding: .3rem 0;
		border-right: none;
	}

	.footer-area .blank-link a {
		padding: .3rem 0;
		line-height: 1;
		font-size: 1rem;
	}

	footer.footer02 #footer {
		padding: 5rem 0 2rem;
	}
	
	footer.footer02 .copyright {
		font-size: 1rem;
	}
}

/* !common-head
---------------------------------------------------------- */
.common-head {
	margin-bottom: 2.6rem;
	white-space: nowrap;
}

.common-head .eng-font {
	display: block;
	color: #154EB9;
	margin-bottom: 1.8rem;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
}

.common-head .jap {
	font-size: 4rem;
	font-weight: 700;
	line-height: 1;
	display: block;
}

.common-head.white .eng-font,
.common-head.white .jap {
	color: #fff;
} 

@media screen and (max-width: 767px) {
	.common-head {
		margin-bottom: 2rem;
	}
	
	.common-head .eng-font {
		margin-bottom: .8rem;
		font-size: 1rem;
	}
	
	.common-head .jap {
		font-size: 2.7rem;
	}
}


/* !top
---------------------------------------------------------- */
.home #contents {
	position: relative;
	z-index: 2;
}

.top-blue__bg {
	/* background: linear-gradient(-45deg, #1566C3, #3780D6, #013486, #0E5BB4, #4588D6); */
	background: linear-gradient(rgba(245, 245, 245, 0) 0%, rgba(58, 135, 198, 0.7) 12%, #1172c3 26.31%, #0E5BB4 40.89%, #0E5BB4 67%, #4588D6 84.73%, rgba(255, 255, 255, 1) 100%);
	position: relative;
	z-index: 2;
	padding: 30rem 0 16rem;
}

.top-blue__bg::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background: url("../img/top/blue_bg.png") center center no-repeat;
	background-size: cover;
	mix-blend-mode: screen;
	pointer-events: none;
	opacity: .3;
}

.bg-section {
	position: relative;
}

.bg-section::after {
	content: "";
	position: absolute;
	left: 0;
	top: -16rem;
	z-index: -1;
	width: 100%;
	height: 60rem;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
	pointer-events: none;
}

.bg-section {
	background: #fff;
}

.top-text {
	font-size: 1.6rem;
	line-height: 1.875;
	letter-spacing: 0.1em;
	font-weight: 400;
}

/* ABOUT US */
.top-flexitem {
	display: flex;
}


.top-flexitem+.top-flexitem {
	margin-top: 18.6rem;
}

.top-head__box {
	position: relative;
	margin-bottom: 2rem;
}

.top-head__box .eng-font {
	font-size: 10rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #95B5F2;
	opacity: .25;
	position: absolute;
	left: 0;
	top: -5rem;
	z-index: -1;
	white-space: nowrap;
}

.top-about.top-flexitem .flexitem-info .top-head__box .eng-font {
	left: -1em;
}

.top-mission.top-flexitem .flexitem-info .top-head__box .eng-font {
	left: -.4em;
}

.top-head__box .jap {
	font-size: 5rem;
	letter-spacing: .12em;
	line-height: 1.2;
	font-weight: 700;
}

.top-flexitem .top-head__box .jap {
	letter-spacing:0;
}

.top-flexitem .top-head__box {
	padding: 0;
}

.top-flexitem .flexitem-info {
	width: calc(100% - 53rem);
	color: #fff;
	/* padding-top: 2rem; */
}

.top-flexitem:nth-child(odd) .flexitem-info {
	margin-right: 6rem;
}

.top-flexitem:nth-child(even) .flexitem-info {
	margin-left: 6rem;
}

.top-flexitem .flexitem-image {
	width: 47rem;
}

.top-about.top-flexitem .flexitem-image {
	margin-top: 4.6rem;
}

.top-mission.top-flexitem .flexitem-info {
	padding-top: 2.5rem;
}

.top-flexitem .flexitem-image img {
	max-width: unset;
	width: 60rem;
}

.top-flexitem:nth-child(even) {
	flex-direction: row-reverse;
}

.top-flexitem:nth-child(odd) .flexitem-image img {
	margin-right: -13rem;
}

.top-flexitem:nth-child(even) .flexitem-image {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
}

.top-flexitem:nth-child(even) .flexitem-image img {
	margin-left: -13rem;
}

.top-mission__btn {
	margin-top: 4rem;
	display: flex;
	justify-content: flex-end;
}

.top-mission__btn a:hover {
	background-color: #2F71BD;
}

.top-mission .top-head__box .jap {
	white-space: nowrap;
}

/* banner */
.top-banner {
	max-width: calc(100% - 6rem);
	width: 100%;
	padding: 0 3rem;
	margin: 0 auto;
	position: relative;
	z-index: 3;
}

.top-banner img {
	width: 100%;
}

/* business-works */
.top-section {
	margin-top: 9.7rem;
}

.business-works {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem 11.2rem;
}

.business-works .btn-wrap {
	margin-top: 4rem;
}

.business-works .btn-wrap a:hover {
	background-color: #2F71BD;
	color: #fff;
	opacity: 1;
}

/* RECRUITMENT */

.top-recruitment {
	margin-top: 11.3rem;
	padding-top: 16rem;
	position: relative;
	z-index: 2;
}

.top-recruitment::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	width: 100%;
	height: calc(100% - 2rem);
	background: linear-gradient(to bottom, #1566C3, #064C9D, #09419A, #07479C, #4588D6);
}

.top-recruitment .top-head__box .eng-font {
	line-height: 1;
	left: -1em;
	top: 0;
	transform: translateY(-100%);
}

.top-recruitment .top-head__box .jap {
	color: #fff;
	font-size: 4rem;
	letter-spacing: 0;
}

.top-recruitment__section,
.top-interview__section {
	display: flex;
}

.top-recruitment__info {
	width: 27rem;
	margin-right: 2.5rem;
}

.top-interview__info  {
	width: 31.5rem;
}

.top-interview__info .top-text{
	padding-right: 3.8rem;
}

.top-recruitment__info {
	color: #fff;
}

.top-recruitment__info .btn-wrap,
.top-interview__info .btn-wrap {
	margin-top: 4rem;
}

.top-recruitment__image{
	width: calc(100% - 29.5rem);
}

.top-interview__image  {
	width: calc(100% - 31.5rem);
}

.top-recruitment__image img,
.top-interview__image img {
	width: 100%;
}

/* .top-recruitment__image img,
.top-interview__image img {
	max-width: unset;
	width: 83.8rem;
} */

.top-recruitment__image {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin-top: -2rem;
}

.top-recruitment__image .img01 {
	padding-right: 3rem;
}

.top-recruitment__image .img02 {
	margin-top: 1.4rem;
	margin-right: -13rem;
	margin-left: 13rem;
}

.top-interview__image {
	position: relative;
	display: flex;
	margin-left: 7.4rem;
	margin-right: -7.4rem;
}

.top-interview__image p {
	position: relative;
}

.top-interview__image .img01 {
	left: 0;
	z-index: 1;
}

.top-interview__image .img02 {
	left: -7rem;
	top: -6.2rem;
	z-index: 2;
}

.top-interview__image .img03 {
	z-index: 3;
	left: -12rem;
}

.top-interview__image .img01 img {
	width: 31.5rem;
	max-width: unset;
}

.top-interview__image .img02 img {
	width: 24.5rem;
	z-index: 2;
	max-width: unset;
}

.top-interview__image .img03 img {
	width: 31.5rem;
	max-width: unset;
	z-index: 3;
}

.top-interview {
	padding-top: 16.5rem;
}

.top-interview__section .top-interview__info {
	padding-top: 5rem;
}

@media screen and (min-width: 960px) {
	.btn-bg__hover.border-white a:hover {
		background: #2F71BD;
		color: #fff;
		border: none;
		opacity: 1;
		transition: all .5s ease;
	}
}

@media screen and (max-width: 1280px) {
	.top-about.top-flexitem .flexitem-info .top-head__box .eng-font {
		left: -.3em;
	}

	.top-interview__image {
		width: calc(100% - 29.5rem);
	}

	.top-interview__image img {
		max-width: 100%;
		width: 100%;
	}

	.top-recruitment__image .img01 {
		padding-right: 0;
	}

	.top-recruitment .top-head__box .eng-font {
		/* font-size: 5.2rem; */
/* 		top: 4rem; */
		left: -.3em;
	}

}

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

	/* !top
	---------------------------------------------------------- */
	.home {
		overflow: hidden;
	}

	.top-blue__bg {
		padding: 29.2rem 0 8.4rem;
		background: linear-gradient(rgba(245, 245, 245, 0) 0%, rgba(58, 135, 198, 0.7) 12%, #1172c3 26.31%, #0E5BB4 40.89%, #0E5BB4 67%, #4588D6 84.73%, rgba(255, 255, 255, 1) 100%);
	}

	.top-blue__bg::before {
		height: 83.3rem;
		background: url("../img/top/blue_bg_sp.png") center center no-repeat;
		background-size: cover;
	}

	.bg-section {
		position: relative;
	}
	
	.bg-section::after {
		top: 0rem;
		height: 44rem;
	}
	

	.top-text {
		font-size: 1.4rem;
		line-height: 1.875;
		letter-spacing: 0.04em;
	}

	.top-section {
		margin-top: 5rem;
	}
	/* ABOUT US */
	.top-flexitem {
		flex-direction: column;
	}

	.top-flexitem+.top-flexitem {
		margin-top: 10rem;
	}

	.top-head__box .eng-font {
		font-size: 5.6rem;
		top: -3rem;
		z-index: -1;
		white-space: nowrap;
		left: -.3em;
	}

	.top-about.top-flexitem .flexitem-info .top-head__box .eng-font {
		left: -.3em;
	}

	.top-mission.top-flexitem .flexitem-info .top-head__box .eng-font {
		left: -.3em;
	}

	.top-head__box .jap {
		font-size: 2.7rem;
	}

	.top-flexitem .flexitem-info {
		width: 100%;
		padding-top: 0;
	}

	.top-flexitem:nth-child(odd) .flexitem-info {
		margin-right: 0;
	}

	.top-flexitem:nth-child(even) .flexitem-info {
		margin-left: 0;
	}

	.top-flexitem .flexitem-image {
		width: 100%;
		margin-bottom: 0;
		margin-top: 3rem;
	}

	.top-about.top-flexitem .flexitem-image {
		margin-top: 3rem;
	}
	
	.top-mission.top-flexitem .flexitem-info {
		padding-top: 0;
	}

	.top-flexitem .flexitem-image img {
		max-width: 100%;
		width: 100%;
	}

	.top-flexitem:nth-child(even) {
		flex-direction: column-reverse;
	}

	.top-flexitem:nth-child(odd) .flexitem-image img {
		margin-right: 0;
	}

	.top-flexitem:nth-child(even) .flexitem-image {
		display: block;
	}

	.top-flexitem:nth-child(even) .flexitem-image img {
		margin-left: 0;
	}

	/* mission */
	.top-mission.top-flexitem {
		flex-direction: column;
	}

	.top-mission__btn {
		margin-top: 3.8rem;
	}

	.top-mission__btn a {
		margin: auto;
	}

	/* banner */
	.top-banner {
		max-width: unset;
		padding: 0;
		margin: 0 auto 0;
	}

	/* business-works */
	.business-works {
		display: block;
	}

	.top-works {
		margin-top: 5.5rem;
	}

	/* RECRUITMENT */
	.top-recruitment {
		position: relative;
		margin-top: 10rem;
		padding: 10rem 0 5rem;
		background: transparent;
		overflow: hidden;
	}

	.top-recruitment::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
		width: 100%;
		height: 100%;
		opacity: .9;
		background: linear-gradient(#1566C3,#064C9D,#09419A,#07479C,#4588D6);
	}

	.top-recruitment__section,
	.top-interview__section {
		display: block;
	}

	.top-recruitment__info,
	.top-interview__info {
		max-width: 30rem;
		width: 100%;
		margin-right: 0;
		margin-bottom: 6rem;
	}

	.top-recruitment__info .btn-wrap,
	.top-interview__info .btn-wrap {
		margin-top: 4rem;
	}

	.top-recruitment__image,
	.top-interview__image {
		width: 100%;
	}

	.top-recruitment__image img,
	.top-interview__image img {
		max-width: 100%;
		width: 100%;
	}

	.top-recruitment__image .img01 {
		padding-right: 3.7rem;
	}
	
	.top-recruitment__image .img02 {
		margin-top: .6rem;
		margin-right: -3.4rem;
		margin-left: 3.4rem;
	}

	.top-recruitment .btn-bg__hover.border-white a {
		margin: 2.6rem auto 0;
	}

	.top-interview__section .top-interview__info {
		max-width: unset;
		margin: 0;
	}

	.top-interview__section .top-interview__info .top-text {
		padding-right: 0;
	}

	.top-interview__image {
		position: relative;
		display: flex;
		justify-content: center;
		margin-left: 0;
		margin-right: 0;
		margin-top: 2.5rem;
	}
	
	
	.top-interview__image .img01 {
		left: 2rem;
		z-index: 1;
	}
	
	.top-interview__image .img02 {
		left: 0;
		top: -1.5rem;
	}
	
	.top-interview__image .img03 {
		z-index: 3;
		left: -2rem;
	}
	
	.top-interview__image .img01 img {
		width: 15rem;
		max-width: unset;
	}
	
	.top-interview__image .img02 img {
		width: 11.7rem;
	}
	
	.top-interview__image .img03 img {
		width: 15rem;
	}

	.top-interview {
		padding-top: 5.6rem;
	}

	.top-interview__section .top-interview__info {
		padding-top: 0;
	}

	.top-interview a {
		margin: 1rem auto 0;
	}
	
}

/* !PRINACY POLICY
---------------------------------------------------------- */
.policy-list {
	max-width: 100rem;
    width: 100%;
    margin: 0 auto;
    padding: 5.9rem 6.8rem 4.6rem;
}

.policy-list li+li {
	margin-top: 3rem;
}

.policy-list .title {
	font-size: 1.9rem;
	line-height: 2;
	letter-spacing: 0.03em;
	font-weight: 700;
}

.policy-list .text {
	font-size: 1.8rem;
	letter-spacing: 0.09em;
	line-height: 1.94;
}

/* #policy .section-body {
    height: calc(100vh - 8.6rem);
    overflow-y: auto;
} */

@media screen and (max-width: 767px) {
	#policy .section-body {
		height: auto;
		overflow-y: unset;
	}

	.policy-list {
		padding: 4.7rem 1.8rem 4.6rem;
	}
	
	.policy-list li+li {
		margin-top: 2.9rem;
	}
	
	.policy-list .title {
		margin-bottom: 1.2rem;
		font-size: 1.7rem;
		line-height: 1.1;
	}
	
	.policy-list .text {
		font-size: 1.3rem;
		line-height: 1.53;
	}
	
}

/* !WORKS
---------------------------------------------------------- */
.top-head__box {
	font-size: 4.2rem;
	font-weight: 700;
	line-height: 1.333;
	margin-bottom: 4.9rem;
}

.top-head__box font {
	color: #154EB9;
}

.works-list {
	margin-top: 9.2rem;
}

.works-list__ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 9.7rem 3.2rem;
}

.works-list__item {
	background: #EDEDED;
	padding: 1.8rem 3rem;
}

.works-list__item .title {
	color: #154EB9;
	font-size: 2rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1.4rem;
}

.works-list__item .image {
	padding-top: 65.63%;
	position: relative;
	width: 100%;
	margin-bottom: 2rem;
}

.works-list__item .image img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.works-list__item li {
	font-size: 1.5rem;
	line-height: 1.42;
	padding-left: 1em;
	position: relative;
}

.works-list__item li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: -.1rem;
	z-index: 2;
	color: #154EB9;
	font-size: 1.5rem;
	font-weight: 700;
}

.works-list__item .info-ul {
	min-height: 26.5rem;
}

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

	/* !WORKS
	---------------------------------------------------------- */
	.top-head__box {
		font-size: 3rem;
		margin-bottom: 1rem;
		padding-bottom: 0;
	}

	.works-list {
		margin-top: 6rem;
	}

	.works-list__ul {
		padding: 0 1.6rem;
		display: block;
	}

	.works-list__item {
		padding: 1.6rem 3rem 4.3rem;
	}

	.works-list__item+.works-list__item {
		margin-top: 2.1rem;
	}

	.works-list__item .image {
		margin-bottom: 2rem;
	}

	.works-list__item .title {
		font-size: 2rem;
	}

	.works-list__item .info-ul {
		min-height: unset;
	}

	.works-list__item li {
		font-size: 1.4rem;
	}
}

/* 採用情報 */
#recruit .top-head__box {
	font-size: 6rem;
}
#recruit .copmpany-inner {
	/* max-width: 78vw; */
	/* padding-right: 7.6vw; */
	max-width: unset;
}

#recruit .sidebar__inner {
	/* margin: 27.5vw auto 0; */
	/* padding-top: 10rem; */
	/* margin-top: 40.8rem; */
	margin-top: 50rem;

}


.top-head__box h3+.top-text {
	margin-top: 5.8rem;
}

.sub-inner {
	max-width: 90rem;
	width: 100%;
	margin: 0 auto;
}

#recruit .sidebar {
	padding-left: 3.12vw;
	width: 16.458vw;
}

#recruit .company-main {
	width: calc(100% - 16.458vw);
	padding-right: 10.12vw;
	padding-left: 0;
}

.recruit-content {
	/* background: rgb(255, 255, 255); */
	padding-top: 10rem;
	padding-bottom: 14rem;
	position: relative;
	/* overflow: hidden; */
}

.recruit-blue {
	position: absolute;
	left: -16.458vw;
	top: 0;
	width: calc(100% + 26.578vw);
	height: 100%;
	z-index: -1;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(112, 161, 221, 1) 25%, rgba(66, 135, 214, 1) 40%, rgba(94, 156, 229, 1) 50%, rgba(47, 113, 189, 1) 100%);
}

.recruit-tit.lbue {
	color: #154EB9;
	text-align: center;
	margin-bottom: 1rem;
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0.05em;
}

.recruit-tit.lbue big {
	font-size: 5rem;
}

.recruit-list ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.recruit-list ul li {
	background-color: #154EB9;
	border-radius: 2rem;
}

.svg-background {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 12rem 3rem 1rem;
	font-size: 1.5rem;
	color: white;
	text-decoration: none;
	font-weight: bold;
	background-size: auto;
	background-repeat: no-repeat;
	text-align: center;
	width: 26rem;
	height: 20rem;
	line-height: 1.5;
	display: flex;
	background-position: center top;
	position: relative;
}

.svg-background:hover {
	opacity: 0.8;
}

.svg-background.noneStyle:hover {
	opacity: 1;
}
.svg-background::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 2rem;
	transform: translateX(-50%);
	z-index: 3;
}

.svg-background.icon-1::before {
	width: 10.2rem;
	height: 9.3rem;
	background: url(../img/recruit/recruit_icon_1.svg) center center no-repeat;
	background-size: 100% 100%;
}

.svg-background.icon-2::before {
	width: 9.7rem;
	height: 9.3rem;
	background: url(../img/recruit/recruit_icon_2.svg) center center no-repeat;
	background-size: 100% 100%;
	margin-left: -1.2rem;
}

.svg-background.icon-3::before {
	top: -.7rem;
	width: 11.9rem;
	height: 11.8rem;
	background: url(../img/recruit/recruit_icon_3.svg) center center no-repeat;
	background-size: 100% 100%;
}

.recruit-box {
	padding-top: 10rem;
}

.container {
	position: relative;
	padding-top: 10rem;
}

.container-tit h2 {
	font-size: 3rem;
	color: #fff;
}

.container-txt h4 {
	font-size: 2rem;
	color: #fff;
	padding: 1rem 0;
}

.container-txt p {
	color: #fff;
}

.over-img {
	position: relative;
}

.container .left {
	width: 40rem;
}

.container::after {
	position: absolute;
	content: "";
	width: 68.1rem;
	height: 68.8rem;
	background-image: url(../img/recruit/company_map.png);
	right: -16rem;
	bottom: -11rem;
	background-repeat: no-repeat;
	background-size: cover;
}

.flex.recruit-left .left-img {
	width: 58.4rem;
}

.recruit-box .right-txt p {
	font-size: 1.8rem;
	line-height: 1.94;
}

.container .left .image {
	position: relative;
	z-index: 5;
}

.container .left .image img {	
	border: 0.1rem solid #fff;
}

.flex.recruit-left .right-txt {
	padding-left: 2rem;
	width: calc(100% - 58.4rem);
}

.flex.recruit-left .right-txt h2 {
	color: #fff;
	font-size: 3rem;
}

.flex.recruit-left p {
	color: #fff;
}

.flex.recruit-left {
	padding-top: 20rem;
}

.flex {
	display: flex;
}

.flex.recruit-right {
	padding-top: 15rem;
	flex-direction: row-reverse;
	justify-content: left;
}

#recruit .common-head {
	margin-bottom: 4.3rem;
}

.recruit-box .common-head .jap {
	color: #fff;
}

.flex.recruit-right .right-txt {
	width: 47rem;
	margin-right: 2rem;
}

.flex.recruit-right h2 {
	color: #fff;
	padding-top: 0;
	font-size: 3rem;
}

.flex.recruit-right p {
	color: #fff;
	line-height: 1.94;
	letter-spacing: 0.04em;
}

.left-img.over-right {
	width: calc(100% - 47rem);
}

.left-img.over-right img {
	width: calc(100% + 13rem);
	margin-right: -13rem;
	max-width: unset;
}

.flex.recruit-right .other {
	margin-top: 1rem;
}

/* 左右いっぱいに伸びた横線 */
.heading {
	align-items: center;
	/* 横線を上下中央 */
	display: flex;
	/* 文字と横線を横並び */
}

.heading::before,
.heading::after {
	background-color: #fff;
	/* 横線の色 */
	border-radius: 5px;
	/* 横線の両端を丸く */
	content: "";
	flex-grow: 1;
	/* 横幅いっぱい */
	height: 1px;
	/* 横線の高さ */
}

.heading::before {
	margin-right: 15px;
	/* 文字との余白 */
}

.heading::after {
	margin-left: 15px;
	/* 文字との余白 */
}

/* レイアウトのためのcss */
h2 {
	color: #fff;
	font-size: 3rem;
	font-weight: 700;
	padding-bottom: 2rem;
	padding-top: 2rem;
}

.work-title {
	margin-inline: auto;
	margin-top: 5rem;
	width: 100%;
}

.work-list ul {
	display: flex;
	justify-content: space-between;
	gap: 5rem;
}

.work-list ul li {
	width: calc((100% / 3) - 1rem);
}

.work-list ul li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.work-list-box {
	background-color: #5E95CD;
	padding: 2rem;
	color: #fff;
}

.work-list-tit {
	text-align: center;
	font-size: 2.5rem;
	font-weight: 600;
	margin-bottom: 1rem;
}

.work-list-txt {
	font-size: 1.5rem;
	line-height: 1.73;
}

.work-list li .image {
	position: relative;
	padding-top: 56.45%;
	overflow: hidden;
	width: 100%;
}

.work-list li .image img {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.recruit-brn {
	position: relative;
	height: 30.64vw;
}

.recruit-brn .image {
	width: calc(100% + 26.578vw);
	height: 100%;
	position: absolute;
	left: -16.458vw;
	top: 0;
	z-index: -1;
	background: #2F71BD;
}

.recruit-brn p img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .8;
}

.recruit-brn .sub-inner {
	position: relative;
	height: 100%;
}

.recruit-brn-box {
	position: absolute;
	top: 50%;
	left: 0;
	-ms-transform: translate(0, -50%);
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
	font-size: 1.8rem;
	width: 90rem;
	display: flex;
	justify-content: space-between;
	align-items: end;
}

.recruit-brn-box .interview-btn {
	width: 23rem;
	height: 5.5rem;
	border: solid .1rem #fff;
	border-radius: 1rem;
	padding: 1rem;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgb(28, 80, 141);
	background: linear-gradient(180deg, rgba(28, 80, 141, 1) 0%, rgba(5, 71, 149, 1) 50%, rgba(47, 113, 189, 1) 100%);
}

.recruit-brn-box p {
	font-size: 1.8rem;
	letter-spacing: 0.09em;
}

.step-box ul {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 1rem;
}

.step-box ul li {
	width: calc((100% / 4) - 1rem);
	background: rgb(28, 80, 141);
	background: linear-gradient(180deg, rgba(28, 80, 141, 1) 0%, rgba(5, 71, 149, 1) 50%, rgba(47, 113, 189, 1) 100%);
	padding: 1rem;
}

.recruit-list .namber {
	font-size: 6rem;
	color: #fff;
	line-height: 1;
	font-family: 'Helvetica';
}

.recruit-list .recruit-list-enrty {
	padding: 2rem 0 0;
	color: #fff;
	font-size: 2.5rem;
	text-align: center;
}

.recruit-list .recruit-list-txt {
	font-size: 1.5rem;
	padding: 1rem 2rem;
	color: #fff;
}

.step-box ul li.mask {
	background: rgb(106, 166, 235);
	background: linear-gradient(180deg, rgba(106, 166, 235, 1) 0%, rgba(73, 122, 180, 1) 50%, rgba(106, 166, 235, 1) 100%);
}

.recruit-faq  {
	/* margin-top: 10rem; */
	padding-top: 10rem;
}

.recruit-step {
	margin-top: 10rem;
}

.accordion {
	margin-inline: auto;
	position: relative;
	width: 100%;
}

.accordion-title {
	color: #000;
	cursor: pointer;
	font-size: 1.8rem;
	padding: 2rem 1rem 2rem 6rem;
	transition: opacity .5s ease;
}

.accordion-title:hover {
	opacity: .5;
	transition: opacity .5s ease;
}

.accordion-content {
	display: none;
	position: relative;
	background-image: url(../img/recruit/A.svg);
	background-repeat: no-repeat;
	color: #000;
	cursor: pointer;
	padding: 0 1rem 1rem 6rem;
	background-position: 1.5rem 1.4rem;
}

.recruit-faq .accordion-content p {
	padding-top: 2rem;
}

.accordion-title.description {
	position: relative;
	background-image: url(../img/recruit/dot.svg);
	background-repeat: no-repeat;
	color: #000;
	cursor: pointer;
	padding: 2rem 1rem 1rem 6rem;
	background-position: 1.5rem 1.4rem;
}
.accordion-content::after {
	position: absolute;
	width: calc(100% - 4.4rem);
	height: 1px;
	background-color: #fff;
	content: "";
	top: 0;
	left: 2.2rem;
}

.accordion-content p {
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: -0.09em;
}
.description-grounp ul li:first-child .description-grounp-two p {
  font-size: 2.8rem;
}


/* 矢印 */
.accordion-item.description .accordion-title {
	position: relative;
	background-image: url(../img/recruit/dot.svg);
	background-repeat: no-repeat;
	background-position: 2rem 2.5rem;
}
.accordion-title {
	position: relative;
	background-image: url(../img/recruit/Q.svg);
	background-repeat: no-repeat;
	background-position: 1.5rem 1.5rem;
}
.accordion-content.description {
    background-image: none;
    padding: 0;
    width: 80rem;
    margin: 0 auto;
}
.accordion-item {
	background-color: #EDEDED;
	border-radius: 1.5rem;
}
.accordion-item.description {
    background-color: #fff;
	border-radius: 0;
}
.accordion-item+.accordion-item {
	margin-top: 1rem;
}
.accordion-item.description {
	border-top: solid 1px #777777;
}

.accordion-item.description:last-child {
	border-bottom: solid 1px #777777;
}
.description-grounp ul li {
    display: flex;
    align-items: center;
	padding: 2rem;
}
.description-grounp-one {
    background-color: #154EB9;
    color: #fff;
    padding: .5rem 1rem;
    font-size: 1.8rem;
    font-weight: 600;
    width: 13.8rem;
    text-align: center;
}
.description-grounp-two {
    padding: .5rem 0 .5rem 2rem;
    font-size: 1.8rem;
    font-weight: 400;
	margin-left: 3rem;
	width: calc(100% - 16.8rem);
}
.description-grounp-two.blue.font {
    font-size: 2.5rem;
}
.description-grounp ul li+li{
	border-top: solid 1px #707070;
	padding: 2rem;
}
.description-grounp {
    width: 92%;
    margin: 0 auto;
}
.allowance div div {
    width: calc(100% - 12rem);
}
.allowancetit {
    width: 12rem;
}
.allowance font.is-pc {
	display: inline-block !important;
}

.allowance div {
    display: flex
;
    align-items: baseline;
}
.allowance div p:nth-child(2) {
	margin-left: .5rem;
}
.entryBtn a {
    background-color: rgb(47,113,189);
    background: linear-gradient(180deg, rgba(47, 113, 189, 1) 0%, rgba(5, 71, 149, 1) 50%, rgba(47, 113, 189, 1) 100%);
    color: #fff;
    padding: 1.5rem 8rem;
    border-radius: .5rem;
    font-size: 2rem;
    display: inline-block;
    /* margin: 0 auto; */
    line-height: 1;
	transition: .3s ease;
}

.entryBtn {
    text-align: center;
    margin: 6rem 0 4rem;
}
/* 縦線 */
.accordion-title::before {
	background: #164DB9;
	/* 線の色 */
	content: "";
	height: 2px;
	/* 線の太さ */
	position: absolute;
	right: 25px;
	top: 50%;
	/* 線の位置を縦中央に */
	transform: rotate(90deg);
	/* 線を縦に */
	transition: transform .3s ease-in-out;
	width: 25px;
	/* 線の幅 */
}

/* 横線 */
.accordion-title::after {
	background: #164DB9;
	/* 線の色 */
	content: "";
	height: 2px;
	/* 線の太さ */
	position: absolute;
	right: 25px;
	top: 50%;
	/* 線の位置を縦中央に */
	transition: opacity .3s ease-in-out;
	width: 25px;
	/* 線の幅 */
}

/* 縦線(クリック後) */
.accordion-title.open::before {
	transform: rotate(180deg);
}

/* 横線(クリック後) */
.accordion-title.open::after {
	opacity: 0;
}

.accordion-title.js-accordion-title.open {
	position: relative;
}

.left-line {
	color: #154EB9;
	font-size: 2.5rem;
	font-weight: 600;
	position: relative;
	padding-left: 2rem;
}

.left-line::after {
	content: "";
	width: 1rem;
	height: 40%;
	background-color: #154EB9;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}
span.foot-jap {
    font-size: 1.4rem;
}
@media screen and (max-width: 1370px) {
	/* .left-img.over-right {
		margin-right: calc(50% - 45vw);
	} */
}

@media screen and (min-width: 768px) and (max-width: 1280px) {
	.container::after {
		width: 56.6rem;
        height: 56.1rem;
        right: -6rem;
        bottom: -5rem;
	}

	.left-img.over-right img {
		width: calc(100% + 13.7rem);
		margin-right: -13.7rem;
		max-width: unset;
	}
}

@media screen and (min-width: 960px) {
	
	.entryBtn a:hover {
		background-color: #64A2EA;
		background: linear-gradient(to right, #64A2EA,#306FBA,#64A2EA);
		transition: .3s ease;
	}
}

@media screen and (max-width: 767px) {
	#recruit .top-head__box {
		font-size: 2.7rem;
	}
	.recruit-brn-box {
		display: block;
		width: 38rem;
	}

	.recruit-brn-box p {
		font-size: 1.4rem;
		letter-spacing: 0.04em;
	}


	.flex {
		display: block;
	}

	.flex.recruit-left .left-img {
		width: 100%;
	}

	.container::after {
		display: none;
	}

	.recruit-list ul li {
		width: 30%;
	}

	.svg-background {
		padding: 10%;
		font-size: 1rem;
		width: 100%;
		height: 20rem;
		line-height: 1.5;
		display: inline-block;
	}

	.step-box ul li {
		width: 100%;
	}

	.step-box ul {
		flex-direction: column;
	}

	.recruit-list .recruit-list-enrty {
		padding: 1rem 0;
		color: #fff;
		font-size: 2.5rem;
		text-align: center;
	}

	.sub-inner {
		padding: 0 1.6rem;
	}

	.left-img.over-right {
		margin-right: auto;
	}

	.flex.recruit-right .right-txt {
		width: 100%;
	}

	.container .left {
		width: 100%;
	}
}

@media screen and (max-width: 767px)  {
	/* 採用情報 */
	#recruit .copmpany-inner {
		/* max-width: 78vw; */
		/* padding-right: 7.6vw; */
		max-width: unset;
	}

	#recruit .sidebar__inner {
		margin: 0;
	}

	.top-head__box h3+.top-text {
		margin-top: 3.8rem;
	}

	.sub-inner {
		max-width: 90rem;
		width: 100%;
		margin: 0 auto;
	}

	#recruit .sidebar {
		padding-left: 0;
		width: 100%;
	}

	#recruit .company-main {
		width: 100%;
		padding-right: 0;
		overflow: hidden;
	}

	.recruit-content {
		padding-top: 2.2rem;
		padding-bottom: 4.5rem;
		position: relative;
	}

	.recruit-blue {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
		background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(29, 95, 172, 1) 30%, rgba(94, 156, 229, 1) 50%, rgba(47, 113, 189, 1) 100%);
	}

	.recruit-tit.lbue {
		color: #154EB9;
		text-align: center;
		font-size: 1.8rem;
		margin-bottom: 1rem;
		line-height: 1;
	}

	.recruit-tit.lbue big {
		font-size: 3rem;
	}

	.recruit-list ul {
		display: block;
		justify-content: space-
	}

	.recruit-list ul li {
		max-width: calc(100% - 3.2rem);
		width: 100%;
		margin: 1.2rem auto;
		background-color: #154EB9;
		border-radius: 2rem;
	}

	.svg-background {
		padding: 3.2rem 4.8rem 3.2rem 12rem;
		font-size: 1.4rem;
		color: white;
		text-decoration: none;
		font-weight: 400;
		background-size: auto;
		background-repeat: no-repeat;
		text-align: center;
		width: 100%;
		min-height: 13rem;
		height: auto;
		line-height: 1.5;
		display: flex;
		background-position: center top;
	}

	.svg-background:hover {
		opacity: 1;
	}

	.svg-background::before {
		content: unset;
	}

	.svg-background.icon-1 {
		background: url(../img/recruit/recruit_icon_1.svg) top 2.7rem left 1.6rem no-repeat;
		background-size: 8.1rem 7.4rem;
	}

	.svg-background.icon-2 {
		background: url(../img/recruit/recruit_icon_2.svg) top 2.1rem left 1rem no-repeat;
		background-size: 8.6rem 8.3rem;
	}

	.svg-background.icon-3 {
		background: url(../img/recruit/recruit_icon_3.svg) top left no-repeat;
		background-size: 10rem 10rem;
	}

	.recruit-box {
		padding-top: 12.6rem;
	}

	.container {
		position: relative;
		padding-top: 11.2rem;
	}

	.container-tit h2 {
		font-size: 2.3rem;
	}

	.container-txt h4 {
		font-size: 1.5rem;
		color: #fff;
		padding: 1.6rem 0;
	}

	.container-txt p {
		color: #fff;
		font-size: 1.4rem;
		line-height: 1.78;
		letter-spacing: 0.04em;
	}

	.over-img {
		position: relative;
	}

	.container .left {
		width: 100%;
	}

	.container .left .image {
		position: relative;
		z-index: 3;
		max-width: unset;
		width: 100%;
		padding-right: 6.6rem;
		margin-top: 1.8rem;
	}

	.container .left img {
		width: 100%;
	}

	.container {
		max-width: unset;
		width: 100%;
		margin: 0 auto;
		position: relative;
		z-index: 1;
	}

	.container::before {
		content: "";
		position: absolute;
		width: 30.9rem;
		height: 33rem;
		background-image: url(../img/recruit/company_map_sp.png);
		right: -4rem;
		bottom: auto;
		top: -8rem;
		z-index: 1;
		background-repeat: no-repeat;
		background-size: cover;
	}

	.flex.recruit-left .left-img {
		width: 100%;
	}

	.flex.recruit-left .right-txt {
		padding-left: 0;
		padding-top: 2rem;
		font-size: 1.4rem;
		line-height: 1.78;
		letter-spacing: 0.04em;
		width: 100%;
	}

	.flex h2 {
		font-size: 2.3rem;
		padding-top: 0;
	}

	.flex.recruit-left {
		padding-top: 5rem;
	}

	.flex.recruit-right {
		padding-top: 5rem;
		flex-direction: row-reverse;
		justify-content: left;
	}

	.recruit-box .common-head .jap {
		color: #fff;
	}

	.flex.recruit-right .right-txt {
		width: 100%;
		margin-right: 0;
		padding-top: 2rem;
		font-size: 1.4rem;
		line-height: 1.78;
		letter-spacing: 0.04em;
	}

	.flex.recruit-right h2 {
		color: #fff;
		font-size: 2.3rem;
	}

	.recruit-box .right-txt p {
		font-size: 1.4rem;
	}

	.left-img.over-right {
		width: 100%;
	}

	.left-img.over-right img {
		width: 100%;
		margin: 0;
		max-width: 100%;
	}

	.flex.recruit-right .other {
		margin-top: 1rem;
	}

	/* 左右いっぱいに伸びた横線 */
	.heading {
		align-items: center;
		/* 横線を上下中央 */
		display: flex;
		/* 文字と横線を横並び */
	}

	.heading::before,
	.heading::after {
		background-color: #fff;
		/* 横線の色 */
		border-radius: 5px;
		/* 横線の両端を丸く */
		content: "";
		flex-grow: 1;
		/* 横幅いっぱい */
		height: 1px;
		/* 横線の高さ */
	}

	.heading::before {
		margin-right: 1.8rem;
		/* 文字との余白 */
	}

	.heading::after {
		margin-left: 1.8rem;
		/* 文字との余白 */
	}

	/* レイアウトのためのcss */
	h2 {
		font-size: 2.3rem;
		padding-bottom: 1.5rem;
		padding-top: 1.5rem;
	}

	.work-title {
		margin-inline: auto;
		margin-top: 1.5rem;
		width: 100%;
	}

	.work-list ul {
		display: block;
		justify-content: space-between;
		align-items: center;
		gap: 5rem;
	}

	.work-list ul li {
		width: calc(100% - 7.2rem);
		margin: 0 auto 4.2rem;
	}

	.work-list-box {
		padding: 1.6rem 2rem;
	}

	.work-list-tit {
		margin-bottom: 1.2rem;
		font-weight: 700;
		font-size: 2rem;
	}

	.work-list-txt {
		font-size: 1.4rem;
		line-height: 1.78;
		letter-spacing: 0.04em;
	}

	.recruit-brn {
		position: relative;
		height: auto;
	}

	.recruit-brn .image {
		width: 100%;
		height: 100%;
		position: absolute;
		left: auto;
		top: auto;
		z-index: -1;
	}

	.recruit-brn .image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.recruit-brn .sub-inner {
		position: relative;
		left: 0;
		top: 0;
		z-index: 3;
		width: auto;
		height: auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
		max-width: unset;
		padding: 3rem 2rem 2.5rem;
	}

	.recruit-brn-box {
		position: relative;
		top: auto;
		left: auto;
		-ms-transform: translate(0, 0);
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
		font-size: 1.4rem;
		line-height: 1.78;
		letter-spacing: 0.04em;
		max-width: 29rem;
		width: 100%;
		margin: auto;
		display: block;
	}

	.recruit-brn-box .interview-btn {
		max-width: 23rem;
		width: 100%;
		margin: 1.8rem auto 0;
		border: solid 1px #fff;
		border-radius: 1rem;
		padding: 1rem 2rem;
		color: #fff;
		font-size: 1.6rem;
		display: block;
		line-height: 2;
		background: rgb(28, 80, 141);
		background: linear-gradient(180deg, rgba(28, 80, 141, 1) 0%, rgba(5, 71, 149, 1) 50%, rgba(47, 113, 189, 1) 100%);
	}

	.step-box ul {
		display: block;
	}

	.step-box ul li {
		width: 100%;
		text-align: center;
		padding: 1.2rem 1rem 1.6rem;
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 7.3rem;
	}

	.step-box ul li+li {
		margin-top: .8rem;
	}

	.recruit-list .namber {
		font-size: 2.9rem;
		color: #fff;
		line-height: 1;
		position: absolute;
		left: 1rem;
		top: 50%;
		transform: translateY(-50%);
		z-index: 10;
	}

	.recruit-list .recruit-list-enrty {
		padding: 0;
		color: #fff;
		font-size: 2rem;
		text-align: center;
	}

	.recruit-list .recruit-list-txt {
		font-size: 1.1rem;
		letter-spacing: 0.1em;
		padding: 0;
		margin-top: 1rem;
	}

	.recruit-step {
		margin-top: 10rem;
	}

	.recruit-faq {
		/* margin-top: 3.8rem; */
		padding-top: 3.8rem;
	}

	.accordion {
		margin-inline: auto;
		position: relative;
		width: 100%;
	}

	.accordion-box+.accordion-box {
		margin-top: 3rem;
	}

	.accordion-title {
		letter-spacing: 0.1em;
		font-size: 1.5rem;
		padding: 1.8rem 3.6rem;
		background-image: url(../img/recruit/Q.svg);
		background-size: 1.5rem 1.6rem;
		background-position: left 1.1rem top 2rem;
	}

	.accordion-title:hover {
		opacity: 1;
	}

	.accordion-content {
		display: none;
		position: relative;
		background-image: url(../img/recruit/A.svg);

		background-repeat: no-repeat;
		padding: 0 3.6rem 1.8rem;
		background-size: 1.5rem 1.6rem;
		background-position: left 1.1rem top 2rem;
	}

	.accordion-content p {
		padding-top: 1.8rem;
	}
	

	.accordion-item.description .accordion-title {
		position: relative;
		background-image: url(../img/recruit/dot.svg);
		background-repeat: no-repeat;
		color: #000;
		cursor: pointer;
		padding: 1.8rem 3.6rem;
		background-size: 1.1rem 1.1rem;
		background-position: center left 1rem;
	}
	.accordion-content::after {
		position: absolute;
		left: 1rem;
		width: calc(100% - 2rem);
		height: 1px;
		top: 0;
	}

	.accordion-content p {
		font-size: 1.4rem;
		line-height: 1.5;
	}
	
	.accordion-content.description {
		padding: 0;
		width: 100%;
		margin: 0 auto;border-top: solid 1px #DEDEDE;
	}
	.accordion-item {
		border-radius: .8rem;
	}

	.accordion-item.description+.accordion-item.description {
		margin-top: 0;
	}

	.accordion-item.description {
		border-radius: 0;
		
	}
	
	.accordion-item.description {
		border-top: solid 1px #777777;
	}

	.accordion-item.description+.accordion-item.description {
		border-top: solid 1px #777777;
	}

	.accordion-item.description:last-child {
		border-bottom: 1px solid #777777;
	}

	.description-grounp ul li {
		display: block;
		align-items: center;
		padding: 0;
	}

	.allowancetit {
		width: 9.5rem;
	}
	
	.allowance div div {
		width: calc(100% - 7.5rem);
	}

	.accordion-content p.description-grounp-one {
		color: #fff;
        padding: .5rem 1rem;
        font-size: 1.5rem;
        font-weight: 600;
        min-width: 8.1rem;
        width: auto;
        text-align: center;
        margin-bottom: 1.3rem;
        display: inline-block;
	}
	.description-grounp-two {
		width: 100%;
		padding: .5rem 1rem;
		font-size: 1.8rem;
		font-weight: 400;
		margin-left: 0;
	}
	.description-grounp-two.blue.font {
		font-size: 2rem;
	}

	.description-grounp-two.li span {
		display: block;
		padding-left: 1em;
		text-indent: -1em;
	}

	.description-grounp ul li+li {
		border-top: solid 1px #DEDEDE;
		padding: 2rem 0;
	}

	.description-grounp ul li {
		padding: 2rem 0;
	}

	.description-grounp {
		width: 100%;
		margin: 0 auto;
	}
	.allowance {
		margin-left: 0;
		padding: 0 1rem;
	}

	.allowance font.is-pc {
		display: none !important;
	}

	.allowance font.is-sp {
		display: inline-block !important;
	}

	.allowance div {
		display: flex
	;
		align-items: baseline;
	}
	.allowance div p:nth-child(2) {
		margin-left: .5rem;
	}
	.entryBtn a {
		background-color: rgb(47,113,189);
		background: linear-gradient(to right, rgba(47, 113, 189, 1) 0%, rgba(5, 71, 149, 1) 50%, rgba(47, 113, 189, 1) 100%);
		max-width: 30rem;
		width: 100%;
		margin: 0 auto;
		height: 5rem;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: .5rem;
		font-size: 1.5rem;
		letter-spacing: 0.05em;
		font-weight: 600;
		/* margin: 0 auto; */
		line-height: 1;
	}
	.entryBtn {
		text-align: center;
		margin: 4rem 0;
	}
	/* 縦線 */
	.accordion-title::before {
		background: #164DB9;
		/* 線の色 */
		content: "";
		height: .1rem;
		/* 線の太さ */
		position: absolute;
		right: 2rem;
		top: 50%;
		/* 線の位置を縦中央に */
		transform: rotate(90deg);
		/* 線を縦に */
		transition: transform .3s ease-in-out;
		width: 2rem;
		/* 線の幅 */
	}

	/* 横線 */
	.accordion-title::after {
		background: #164DB9;
		/* 線の色 */
		content: "";
		height: .1rem;
		/* 線の太さ */
		position: absolute;
		right: 2rem;
		top: 50%;
		/* 線の位置を縦中央に */
		transition: opacity .3s ease-in-out;
		width: 2rem;
		/* 線の幅 */
	}

	/* 縦線(クリック後) */
	.accordion-title.open::before {
		transform: rotate(180deg);
	}

	/* 横線(クリック後) */
	.accordion-title.open::after {
		opacity: 0;
	}

	.accordion-title.js-accordion-title.open {
		position: relative;
	}

	.left-line {
		font-size: 2rem;
		padding-left: 1.5rem;
	}

	.left-line::after {
		width: .5rem;
	}
span.foot-jap {
    font-size: .9rem;

}
}

/* インタビュー */
.interview {
	background-image:
		linear-gradient(180deg, rgba(70, 120, 231, 0) 0%, rgba(80, 137, 214, 0.6825) 50%, rgba(97, 136, 226, 0) 100%);
	/* background-position: center -7rem;
	background-size: 100% 100%; */
	position: relative;
	/* background: url(../img/interview/interview_4.svg) top left / contain repeat-x; */
}

.bg-image-loop {
	width: 100%;
	height: 160px;
	/* 画像の高さを指定 */
	position: absolute;
	background: url("../img/interview/interview_4.svg") repeat-x 0 0;
	background-size: auto 100%;
	animation: bg-slider 23s linear infinite;
	/* 23sの部分背景画像の約数だとスムーズ */
	padding: 0;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit-transform: translateY(-50%) translateX(-50%);
}

@keyframes bg-slider {
	from {
		background-position: 0 0;
	}

	to {
		background-position: 1518px 0;
	}

	/* 1518pxとは使用した背景画像の長さ */
}

.interview-box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.interview-inner {
	max-width: 102rem;
	width: 100%;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.interview-main .interview-inner {
	max-width: 112rem;
}

.interview-conten {
	background-color: rgba(255, 255, 255, 0.45);
	/* width: 28rem; */
	padding: 2.6rem 3rem;
	position: relative;
}

.interview-conten.photo_2 {
	padding-right: 5.4rem;
}

.interview-conten.photo_2 .introduction {
	padding-right: 1rem;
}

.interview-conten.photo_3 {
	position: relative;
	right: -5rem;
	padding-left: 4rem;
}

.interview-left {
	height: 95rem;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}

.interview-btn a {
	background: rgb(28, 80, 141);
	background: linear-gradient(180deg, rgba(28, 80, 141, 1) 0%, rgba(5, 71, 149, 1) 50%, rgba(47, 113, 189, 1) 100%);
	color: #fff;
	padding: 1rem 2rem;
	border-radius: 2rem;
	display: inline-block;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: .2rem;
}
.dli-chevron-down {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	width: 1em;
	height: 1em;
	border: 0.1em solid currentColor;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(-25%) rotate(135deg);
  }
.interview-btn a:hover{
	opacity: .5;
}
/* .interview-btn {
	text-align: center;
} */

.introduction {
	padding: 1rem 0 2rem;
	color: #154EB9;
	font-size: 1.2rem;
}

.intervier-txt {
	color: #154EB9;
	font-weight: 600;
	line-height: 1.25;
	font-size: 2rem;
}

.interview-tit {
	margin-bottom: 1.1rem;
	line-height: 1;
	font-size: 0;
}

.name {
	font-size: 1.8rem;
	font-weight: 500;
}


.photo_1::after {
	background-image: url(../img/interview/photo_1.jpg);
	content: "";
	width: 25rem;
	height: 33.7rem;
	left: 27rem;
	position: absolute;
	bottom: -6rem;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.photo_2::after {
    background-image: url(../img/interview/photo_3.jpg);
    content: "";
    width: 30.1rem;
    height: 29rem;
    right: -1rem;
    transform: translateX(100%);
    margin-right: 9rem;
    position: absolute;
    bottom: 11rem;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.photo_3::after {
	background-image: url(../img/interview/photo_2.jpg);
	content: "";
	width: 24.4rem;
	height: 33.8rem;
	left: 0;
	transform: translateX(-100%);
	margin-left: 3rem;
	position: absolute;
	bottom: -6rem;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.interview-one-box {
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
	margin-top: -2.5rem;
}

.interview-one {
	background: rgb(255, 255, 255);
	background: linear-gradient(130deg, rgba(255, 255, 255, 1) 0%, rgba(29, 95, 172, 1) 25%, rgba(94, 156, 229, 1) 50%, rgba(47, 113, 189, 1) 100%);
	padding: 5rem 0 0;
}

.interview-one-right {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	margin-top: 6rem;
	width: 49rem;
	padding-left: 3rem;
}

.interview-one-left {
	width: calc(100% - 49rem);
	position: relative;
}

.interview-one-left img {
	position: relative;
	z-index: 2;
}

.interview-over {
	position: absolute;
	right: -28rem;
	bottom: 2rem;
	background-image: url(../img/interview/intervier-back.png);
	width: 48rem;
	height: 22rem;
	content: "";
	display: flex;
	justify-content: center;
	align-items: center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 1;
	color: #fff;
}

.interview-over p {
	font-size: 1.5rem;
}

.interview-over p:first-child {
	font-size: 4rem;
}

h2.interview-h2 {
	text-align: right;
	position: relative;
	z-index: 4;
	margin-right: calc(50% - 47vw);
}

.interview-h2 .eng-font {
	font-size: 10rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #95B5F2;
	opacity: .25;
	z-index: -1;
	text-align: right;
}

h2.interview-h2 .eng-img {
	max-width: 86.9rem;
	display: inline-block;
}

h2.interview-h2 .eng-img img {
	width: 100%;
}

.interview-one-tit {
	color: #fff;
	font-family: 'Helvetica';
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 1.4rem;
}

.interview-one-txt {
	font-size: 4rem;
	color: #fff;
	font-weight: 600;
	letter-spacing: .01rem;
}

.interview-one-left-box {
	position: relative;
}

.interview-one-left-box::before {
	position: absolute;
	background-color: #9DB6D5;
	content: "";
	left: -23rem;
	top: -6rem;
	width: 48rem;
	height: 18rem;
	background-repeat: no-repeat;
	transform: skewX(-13deg);
	z-index: -1;
}

.interview-two-box h2 {
	background: rgb(97, 136, 199);
	background: linear-gradient(90deg, rgba(97, 136, 199, 1) 0%, rgba(5, 71, 149, 1) 50%, rgba(47, 113, 189, 0) 100%);
	padding: .2rem 6rem;
	margin-top: 6rem;
	font-size: 2rem;
	font-weight: 500;
}

.interview-two-txt-box {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-left: 6rem;
	gap: 6rem;
	margin-top: 6rem;
}

.interview-two-txt-box .left {
	max-width: 55.4rem;
	width: 100%;
}

.interview-two-txt-box .right {
	max-width: 43.49rem;
	width: 100%;
}

.interview-two-txt-box-tit {
	font-size: 3.5rem;
	line-height: 1.5;
	margin: 0rem 0 6rem;
	font-weight: 600;
}

.blue {
	color: #154EB9;
}

.interview-two-txt-box-tit .line {
	display: inline-flex;
	width: 2em;
	height: 2.8rem;
	position: relative;
	margin: 0 0.2rem;
}

.interview-two-txt-box-tit .line::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 0.1rem;
	background: #000;
	transform: translateY(-50%);
}

.interview-two-txt-box-txt {
	/* text-indent: 1em; */
	font-size: 1.8rem;
	line-height: 1.94;
	letter-spacing: 0.09em;
}

.interview-two-txt-box-2 {
	padding-left: 6rem;
	margin-top: 3rem;
}

.interview-two-txt-box-2 .right {
	margin-top: 5rem;
}

.schedule-box {
	position: relative;
	padding: 2rem 0;
}

.schedule-day ul::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 84%;
	height: 0.1rem;
	background: #154EB9;
	transform: translateY(-50%);
}

.schedule-day .schedule-list-one::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 80%;
	height: 0.1rem;
	background: #154EB9;
	transform: translateY(-50%);
}

.schedule-day {
	display: block;

}

.schedule-day ul {
	list-style: none;
	padding-top: 1rem;
	display: flex;
	justify-content: space-between;
	width: 100%;
	position: relative;
	margin-left: 3rem;
}

.schedule-day ul li {
	position: relative;
	text-align: left;
	flex: 1;
	margin-left: -2rem;
}

.schedule-day ul li div p {
	font-size: 1.1rem;
}

.schedule-day ul li::before {
	content: "";
	position: absolute;
	top: -1rem;
	left: 2rem;
	width: 1.2rem;
	height: 1.2rem;
	background: #154FB9;
	border-radius: 50%;
	transform: translate(-50%,-50%);
}

.holiday {
	margin-top: 40px;
	/* padding: 20px; */
}

.holiday img {
	width: 100%;
}

.holiday p {
	font-size: 1.8rem;
	letter-spacing: .09em;
}

.interview-schedule {
	background-color: #EDEDED;
	padding: 6rem 5rem;
	margin-top: 6rem;
}

.schedule h4 {
	font-size: 1.5rem;
}

.schedule-day h4 {
	font-size: 1.8rem;
	margin-bottom: 2rem;
	color: #154EB9;
}

.schedule h3 {
	font-size: 3.5rem;
}

.schedule-box {
	position: relative;
	padding: 20px 0;
	background: #fff;
	border-radius: 2rem;
	padding: 4rem 5rem;
	margin-top: 4rem;
}

.schedule-day+.schedule-day {
	margin-top: 3rem;
}

.holiday {
	margin-top: 40px;
	/* padding: 20px; */
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.holiday h3 {
	font-size: 3.5rem;
	margin-bottom: 3rem;
}

.holiday .left {
	max-width: 49rem;
	width: 100%;
}

.holiday .left p {
	font-size: 1.8rem;
}

.holiday .right {
	max-width: 32rem;
	width: 100%;
}

.big-number {
	font-size: 14rem;
}

.mgt_50 {
	margin-top: 5rem;
}

.iconBig {
	font-size: 2.6rem;
	line-height: 1;    
	vertical-align: bottom;
	margin-right: .6rem;
}

.gallery {
	background: rgb(97, 136, 199);
	background: linear-gradient(180deg, rgba(97, 136, 199, 0) 0%, rgba(5, 71, 149, 0.63) 50%, rgba(35, 50, 116, 0) 100%);
	padding: 5rem 0;
	margin-top: 10rem;
}

.gallery {
	overflow: hidden;
}

.gallery ul {
	display: flex;
}

.gallery ul li {
	margin: 0 .25rem;
	overflow: hidden;
}

.gallery li:nth-child(odd) {
	/* margin-top: 3.5rem; */
}

.gallery ul:nth-child(odd) {
	animation-name: image-loop-left1;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

.gallery ul:nth-child(even) {
	animation-name: image-loop-left2;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@keyframes image-loop-left1 {
	0% {
		transform: translateX(100%);
	}

	100% {
		transform: translateX(-100%);
	}

}
@keyframes image-loop-left2 {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-200%);
	}

}

.interview-entry-btn {
	text-align: center;
}

.interview-entry-btn a {
	background: rgb(97, 136, 199);
	background: linear-gradient(0deg, rgba(97, 136, 199, 1) 0%, rgba(5, 71, 149, 1) 50%, rgba(47, 113, 189, 1) 100%);
	display: inline-block;
	color: #fff;
	font-weight: 600;
	line-height: 1;
	font-size: 3.3rem;
	padding: 3rem 5rem;
	max-width: 64rem;
	width: 100%;
	margin-top: 5rem;
	border-radius: .5rem;
}

.gallery-loop {
	display: flex;
	justify-content: flex-start;
}

.gallery ul {
	display: flex;
	justify-content: space-between;
	/* gap: 1rem; */
}

.gallery ul li {
	min-width: 23rem;
	margin: 0 1rem;
}

.gallery ul li:nth-child(1),
.gallery ul li:nth-child(3),
.gallery ul li:nth-child(5),
.gallery ul li:nth-child(7) {
	/* align-self: flex-start; */
	/* 上揃え */
}

.gallery ul li:nth-child(2),
.gallery ul li:nth-child(6) {
	/* align-self: flex-end; */
	/* 下揃え */
}


.gallery ul:nth-child(odd) li:nth-child(odd) {
	align-self: flex-start;
	margin-top: -2rem;
	/* 上揃え */
}

.gallery ul:nth-child(odd) li:nth-child(even) {
	align-self: flex-end;
	/* 上揃え */
}

.gallery ul:nth-child(even) li:nth-child(odd) {
	align-self: flex-end;
	margin-top: 2rem;
	/* 上揃え */
}

.gallery ul:nth-child(even) li:nth-child(even) {
	align-self: flex-start;
	/* 上揃え */
}


.gallery ul li:nth-child(4) {
	align-self: center;
	/* 上下中央揃え */
}

/* buisness */
.buisness-list__ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5rem 0rem;
}

.buisness-list__ul .buisness_item {
	/* background: rgb(240, 246, 255);
	background: linear-gradient(90deg, rgba(240, 246, 255, 1) 0%, rgba(196, 213, 239, 1) 100%); */
	max-width: 26rem;
	width: 100%;
	padding: 3rem 3rem;
	position: relative;
}

.buisness-list__ul .buisness_item::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	top: 0;
	left: 0;
	z-index: -1;
	/* border-left: 4rem solid #C4D5EF;
	border-top: 9.2rem solid transparent;
	border-bottom: 9.2rem solid transparent; */
	width: calc(100% + 4.3rem);
	height: 100%;
	background: rgb(240, 246, 255);
	background: linear-gradient(90deg, rgba(240, 246, 255, 1) 0%, rgba(196, 213, 239, 1) 100%);
	clip-path: polygon(0% 0%, 0% 100%, calc(100% - 4.3rem) 100%, 100% 50%, calc(100% - 4.3rem) 0%);

}

.buisness-list__ul .buisness_item::before {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	top: 0;
	left: 0;
	/* border-left: 4rem solid #fff;
	border-top: 9.2rem solid transparent;
	border-bottom: 9.2rem solid transparent; */
	width: calc(100% + 4.5rem);
	height: 100%;
	background: #fff;
	clip-path: polygon(0% 0%, 0% 100%, calc(100% - 4.3rem) 100%, 100% 50%, calc(100% - 4.3rem) 0%);

	z-index: -2;
}

.buisness-list__ul li:nth-child(1) {
	z-index: 3;
}

.buisness-list__ul li:nth-child(2) {
	padding-left: 8rem;
	max-width: 35rem;
	z-index: 2;
}

.buisness-list__ul li:nth-child(3) {
	padding-left: 8rem;
	max-width: 35rem;
}

.buisness-list__ul li:nth-child(4) {
	padding-left: 6rem;
	max-width: 32rem;
	z-index: 3;
}

.buisness-list__ul li:nth-child(5) {
	padding-left: 6rem;
	max-width: 32rem;
}

.buisness-tit-small {
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 600;
}

.buisness-tit {
	font-size: 2.5rem;
	line-height: 2;
	font-weight: 600;
}

.buisness-txt {
	font-size: 1.2rem;
}

.buisness-Content h2 {
	background: rgb(97, 136, 199);
	background: linear-gradient(90deg, rgba(97, 136, 199, 1) 0%, rgba(5, 71, 149, 1) 50%, rgba(47, 113, 189, 0) 100%);
	padding: 0 2.3rem;
	margin-top: 6rem;
	font-size: 2rem;
}

.buiseness-list {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #87AAE8;
	border-right: 1px solid #87AAE8;
	margin: 3rem auto 0;
}

.buisness-inner {
	max-width: 79rem;
	width: 100%;
	margin: 0 auto;
}

.buiseness-list th,
.buiseness-list td {
	padding: 1.6rem;
	font-size: 1.5rem;
	border-left: 1px solid #87AAE8;
	border-bottom: 1px solid #87AAE8;
}

.buiseness-list th {
	background-color: #F0F6FF;
	text-align: left;
	color: #154EB9;
	width: 35%;
	vertical-align: middle;
	font-weight: 600;
}

.buiseness-list td {
	background-color: #fff;
	width: 65%;
}

.jigyou-list {
	list-style: none;
	padding: 0;
}

.jigyou-list li {
	margin: 5px 0;
}

.buisness-photo ul {
	display: flex;
	gap: 5rem;
}

.buisness-photo li p {
	font-size: 1.5rem;
	margin-top: .9rem;
}

.buisness-photo {
	margin-top: 3rem;
}

.buisness-header h2 {
	color: #000;
	font-size: 4rem;
	font-weight: 700;
	padding-bottom: 2rem;
	padding-top: 0rem;
}

.buisness-list_box {
	margin-top: 13rem;
}

.description-grounp ul li:nth-child(1) .description-grounp-two  {
  color: #154EB9;
    font-size: 3rem;
}

@media screen and (min-width: 768px) {
	.schedule-list {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	/* インタビュー */
	.interview {
		padding-bottom: 9rem;
		background-image:
			linear-gradient(180deg, rgba(70, 120, 231, 0) 0%, rgba(80, 137, 214, 0.6825) 50%, rgba(97, 136, 226, 0) 100%);
		/* background-position: center -7rem;
		background-size: 100% 100%; */
		position: relative;
		/* background: url(../img/interview/interview_4.svg) top left / contain repeat-x; */
	}

	.bg-image-loop {
		width: 100%;
		height: 135px;
		/* 画像の高さを指定 */
		position: absolute;
		background: url("../img/interview/interview_4.svg") repeat-x 0 0;
		background-size: auto 100%;
		animation: bg-slider 23s linear infinite;
		/* 23sの部分背景画像の約数だとスムーズ */
		padding: 0;
		top: 50%;
		left: 50%;
		transform: translateY(-50%) translateX(-50%);
		-webkit-transform: translateY(-50%) translateX(-50%);
	}

	.interview-main {
		overflow: hidden;
	}

	.interview-box {
		max-width: 90.972vw;
		width: 100%;
		margin: 21.28vw auto 0;
		display: block;
		justify-content: center;
		align-items: center;
	}

	.interview-inner {
		padding: 0 1.6rem;
	}

	.interview-conten {
		/* max-width: 23.6rem;
		width: 100%;
		margin: 0 auto; */
		padding: 6.916vw 3.192vw 5.32vw 8.512vw;
		position: relative;
	}

	.interview-conten.photo_3 {
		right: 0;
		padding-left: 8.512vw;
	}

	.interview-conten.photo_2 {
		padding-right: 3.192vw;
	}

	.interview-conten+.interview-conten {
		margin-top: 15.96vw;
	}

	.interview-left {
		height: auto;
		display: flex;
		padding-left: 28.728vw;
	}

	.interview-tit {
		width: 22.876vw;
		margin-bottom: 3.192vw;
	}

	.interview-btn a {
		background: rgb(28, 80, 141,.75);
		background: linear-gradient(rgba(21, 102, 195, .75) 0%, rgba(55, 128, 214, .75) 20%,rgba(1, 52, 134, .75) 50%, rgba(69, 136, 214, .75) 100%);
		padding: 2.66vw 5.32vw;
		border-radius: 5.32vw;
		display: inline-block;
		font-size: 3.192vw;
		letter-spacing: .2em;
	}
	.dli-chevron-down {
		display: inline-block;
		vertical-align: middle;
		color: #fff;
		line-height: 1;
		width: .5em;
		height: .5em;
		border: 0.1em solid currentColor;
		border-left: 0;
		border-bottom: 0;
		box-sizing: border-box;
		transform: translateY(-25%) rotate(135deg);
	}
	.interview-btn a:hover{
		opacity: 1;
	}

	.introduction {
		padding: 2.66vw 0 5.32vw;
		font-size: 3.192vw;
	}

	.intervier-txt {
		line-height: 1.4;
		font-size: 4vw;
	}

	.name {
		font-size: 4.522vw;
	}

	.photo_1::after {
		width: 35.112vw;
		height: 47.348vw;
		left: -28.72vw;
		bottom: auto;
		top: -5.32vw;
	}

	.photo_2::after {
		width: 35.112vw;
		height: 47.348vw;
		left: -28.72vw;
		bottom: auto;
		top: -5.32vw;
		transform: none;
		margin: 0;
	}

	.photo_3::after {
		width: 35.112vw;
		height: 47.348vw;
		left: -28.72vw;
		bottom: auto;
		top: -5.32vw;
		transform: none;
		margin: 0;
	}

	.interview-one-box {
		flex-direction: column-reverse;
		justify-content: space-around;
		align-items: flex-start;
		margin-top: -6.8rem;
	}

	.interview-one {
		padding: 10.64vw 0 39.9vw;
	}

	.interview-one-right {
		display: block;
		margin-top: 0;
		padding-left: 0;
	}

	.interview-one-left {
		/* display: none; */
		width: 100%;
	}

	.interview-one-left img {
		position: relative;
		z-index: 2;
	}

	.interview-over {
		right: -19vw;
		bottom: -30.856vw;
		width: 89.642vw;
		height: 50.008vw;
		background-size: cover;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 19.125vw 20vw 0 17vw;
	}

	.interview-over p {
		font-size: 3.99vw;
	}

	.interview-over p span {
		font-size: 3.458vw;
	}

	.interview-over p:first-child {
		font-weight: 400;
		font-size: 10.64vw;
	}

	h2.interview-h2 {
		margin-left: 0;
		text-align: left;
		padding: 0;
	}

	.interview-h2 .eng-font {
		text-align: left;
		font-size: 16rem;
		letter-spacing: 0.05em;
	}

	h2.interview-h2 .eng-img {
		max-width: unset;
		margin-left: -1.6rem;
		width: 86.9rem;
	}

	.interview-one-tit {
		font-size: 2rem;
		font-weight: 700;
		margin-bottom: .7rem;
	}

	.interview-one-txt {
		font-size: 3rem;
		line-height: 1.3;
	}

	.interview-one-left-box {
		position: relative;
		width: 74.21vw;
		margin-top: 2.3rem;
	}

	.interview-one-left-box::before {
		opacity: .54;
		left: -14.896vw;
		top: 0;
		width: 96.02vw;
		height: 38.836vw;
	}

	.interview-two-box h2 {
		padding: .7rem 1.7rem;
		margin-top: 3.7rem;
		font-size: 1.4rem;
	}

	.interview-two-txt-box {
		display: block;
		padding-left: 0;
		margin-top: 3rem;
	}

	.interview-two-txt-box .left {
		max-width: unset;
		width: 100%;
	}

	.interview-two-txt-box .right {
		max-width: unset;
		width: 100%;
		margin: 2rem auto 0;
	}

	.interview-two-txt-box .right img {
		width: 100%;
	}

	.interview-two-txt-box-tit {
		font-size: 2.3rem;
		font-weight: 700;
		margin: 0rem 0 2rem;
	}
	
	.interview-two-txt-box-tit .line {
		display: inline-flex;
		width: 2em;
		height: 1.8rem;
		position: relative;
		margin: 0 0.1rem;
	}

	.interview-two-txt-box-txt {
		/* text-indent: .5em; */
		font-size: 1.4rem;
		line-height: 1.78;
		letter-spacing: 0.04em;
	}

	.interview-two-txt-box-2 {
		padding-left: 0;
		margin-top: 3rem;
	}

	.interview-two-txt-box,
	.interview-two-txt-box-2 {
		padding: 0 1.2rem;
	}

	.interview-two-txt-box-2 .right {
		margin-top: 2.2rem;
	}


	.interview-two-txt-box-2 .right.cover {
		margin-left: -2.8rem;
		width: calc(100% + 5.6rem);
	}

	.interview-two-txt-box-2 .right img {
		width: 100%;
		object-fit: cover;
	}

	.holiday .right {
		max-width: 17.3rem;
		width: 100%;

	}

	.schedule-box {
		position: relative;
		padding: 20px 0;
	}

	.schedule-day ul::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 84%;
		height: 2px;
		background: #007bff;
		transform: translateY(-50%);
	}

	.schedule-day .schedule-list-one::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 80%;
		height: 2px;
		background: #007bff;
		transform: translateY(-50%);
	}

	.schedule-day {
		display: block;

	}

	.schedule-day ul {
		list-style: none;
		padding-top: 1rem;
		display: flex;
		justify-content: space-between;
		width: 100%;
		position: relative;
		margin-left: 3rem;
	}

	.schedule-day ul li {
		position: relative;
		text-align: left;
		flex: 1;
		margin-left: -2rem;
	}

	.schedule-day ul li div p {
		font-size: .9rem;
	}

	.schedule-day ul li::before {
		content: "";
		position: absolute;
		top: -15px;
		left: 2rem;
		width: 10px;
		height: 10px;
		background: #007bff;
		border-radius: 50%;
		transform: translateX(-50%);
	}

	
	.schedule-day ul {
		display: none;
	}

	.schedule-box {
		overflow: hidden;
	}

	.schedule-list {
		position: relative;
		padding: 3rem 0 2.5rem;
		border-left: 0.1rem solid #5F90EB;
		border-right: 0.1rem solid #5F90EB;
	}

	.schedule-list .swiper-slide {
		width: auto;
		position: relative;
	}

	.schedule-list .swiper-slide:before {
		content: "";
		position: absolute;
		left: 1.3rem;
		top: -.7rem;
		z-index: 3;
		width: calc(100% + 3rem);
		height: .1rem;
		transform: translateY(-100%);
		background: #154EB9;
	}

	.schedule-list .swiper-slide:nth-last-of-type(1)::before {
		content: unset;
	}

	.schedule-list .swiper-slide .time {
		display: inline-block;
		position: relative;
	}

	.schedule-list .swiper-slide .time:before {
		content: "";
		position: absolute;
		left: 1.3rem;
		top: 0;
		z-index: 3;
		width: 1.4rem;
		height: 1.4rem;
		transform: translateY(-100%);
		background: #154EB9;
		border-radius: 100%;
	}

	.schedule-list .swiper {
		overflow: visible;
		position: relative;
		padding: 0 1.6rem;
	}

	/* .schedule-list .swiper::before,
	.schedule-list .swiper::before {
		content: "";
		position: absolute;
		left: 0;
		top: -1.1rem;
		height: calc(100% + 2.2rem);
		width: 100%;
		border-left: 0.1rem solid #5F90EB;
		border-right: 0.1rem solid #5F90EB;
		pointer-events: none;
	} */

	.schedule-list .swiper-button-prev,
	.schedule-list .swiper-button-next {
		width: 1.6rem;
		height: calc(100% + 5.8rem);
		position: absolute;
		left: -1.7rem;
		top: -3.3rem;
		z-index: 3;
		color: transparent;
		background: #fff;
	}

	.schedule-list .swiper-button-next {
		left: auto;
		right: -1.7rem;
	}

	.schedule-list .swiper-button-prev::before,
	.schedule-list .swiper-button-next::before {
		content: "";
		background: #5F90EB;
		width: 1rem;
		height: 1.6rem;
		clip-path: polygon(100% 0, 0 50%, 100% 100%);
		position: absolute;
		right: 0;
		top: 50%;
		z-index: 3;
		transform: translateY(-50%);
	} 

	.schedule-list .swiper-button-next::before {
		transform: translateY(-50%) scale(-1);
		left: 0;
		right: auto;
	}

	.swiper-button-prev.swiper-button-disabled,
	.swiper-button-next.swiper-button-disabled {
		opacity: 1;
	}

	.swiper-button-prev.swiper-button-disabled::before,
	.swiper-button-next.swiper-button-disabled::before {
		opacity: 0;
	}

	.schedule-list .swiper-slide .time {
		font-family: 'Helvetica';
		color: #154EB9;
		font-size: 1.7rem;
	}

	.schedule-list .swiper-slide .info {
		font-size: 1.2rem;
		line-height: 1.58;
	}

	.holiday {
		margin-top: 3.78rem;
		padding: 0 2rem;
	}

	.holiday img {
		width: 100%;
	}

	.interview-schedule {
		padding: 3rem 1.2rem;
		margin-top: 4rem;
	}

	.schedule h4 {
		font-size: 1rem;
	}

	.schedule-day h4 {
		font-size: 1.8rem;
		margin-bottom: 2.6rem;
	}

	.schedule h3 {
		font-size: 1.9rem;
	}

	.schedule-box {
		border-radius: 1rem;
		padding: 3.5rem 1.2rem;
		margin-top: 2rem;
	}

	.schedule-day+.schedule-day {
		margin-top: 3rem;
	}

	.holiday {
		margin-top: 3.78rem;
		padding: 0 2rem;
		display: block;
		justify-content: space-between;
		align-items: baseline;
	}

	.holiday h4 {
		font-size: 1rem;
	}

	.holiday h3 {
		font-size: 1.9rem;
		margin-bottom: 2rem;
	}

	.holiday .left {
		max-width: 50rem;
		width: 100%;
	}

	.holiday .left p {
		font-size: 1.4rem;
		line-height: 1.78;
	}

	.big-number {
		font-size: 18rem;
	}

	.mgt_50 {
		margin-top: 5rem;
	}

	.iconBig {
		font-size: 1.4rem;
		margin-right: .5em;
	}

	.gallery {
		padding: 2rem 0;
		margin-top: 7.5rem;
	}

	.gallery ul li {
		min-width: 11.2rem;
		margin: 0 .4rem;
	}

	.interview-entry-btn {
		text-align: center;
	}

	.interview-entry-btn a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 1.5rem;
		padding: 3rem 5rem;
		max-width: 30rem;
		width: 100%;
		height: 5rem;
	}

	/* buisness */
	.buisness-list__ul {
		display: block;
		margin-top: 3rem;
	}

	.buisness-list__ul .buisness_item {
		clip-path: polygon(50% 2.2rem, 100% 0, 100% calc(100% - 2.2rem), 50% 100%, 0 calc(100% - 2.2rem), 0% 0%);
		background: rgb(240, 246, 255);
		background: linear-gradient(90deg, rgba(240, 246, 255, 1) 0%, rgba(196, 213, 239, 1) 100%);
		max-width: calc(100% - 3.2rem);
		width: 100%;
		margin: auto;
		padding: 4.5rem 3rem;
		position: relative;
		min-height: 12.3rem;
		text-align: center;
	}

	.buisness-list__ul .buisness_item:first-child {
		clip-path: polygon(100% 0, 100% calc(100% - 2.2rem), 50% 100%, 0 calc(100% - 2.2rem), 0% 0%);
	}

	.buisness-list__ul .buisness_item+.buisness_item  {
		margin-top: -1.6rem;
	} 

	.buisness-list__ul .buisness_item::after {
		content: unset;
	}

	.buisness-list__ul .buisness_item::before {
		content: unset;
		position: absolute;
		width: 0;
		height: 0;
		top: 0;
		right: -4.5rem;
		border-left: 4rem solid #fff;
		border-top: 9.2rem solid transparent;
		border-bottom: 9.2rem solid transparent;
		z-index: 8;
	}

	.buisness-list__ul li:nth-child(2) {
		padding-left: 3rem;
		max-width: calc(100% - 3.2rem);
	}

	.buisness-list__ul li:nth-child(3) {
		padding-left: 3rem;
		max-width: calc(100% - 3.2rem);
	}

	.buisness-list__ul li:nth-child(4) {
		padding-left: 3rem;
		max-width: calc(100% - 3.2rem);
	}

	.buisness-list__ul li:nth-child(5) {
		padding-left: 3rem;
		max-width: calc(100% - 3.2rem);
	}

	.buisness-tit {
		font-size: 2rem;
	}

	.buisness-txt {
		font-size: 1.2rem;
	}

	.buisness-Content h2 {
		padding: .5rem;
		margin-top: 3.3rem;
		font-size: 1.4rem;
	}

	.buiseness-list {
		width: 100%;
		border-collapse: collapse;
		border-top: 1px solid #87AAE8;
		border-right: 1px solid #87AAE8;
		margin: 3.4rem auto 0;
	}

	.buisness-inner {
		max-width: 79rem;
		width: 100%;
		margin: 0 auto;
	}

	.buiseness-list th,
	.buiseness-list td {
		padding: 1rem 1.2rem;
		font-weight: normal;
	}

	.buiseness-list th {
		font-size: 1.2rem;
		font-weight: 700;
		vertical-align: middle;
	}

	.buiseness-list td {
		font-size: 1.2rem;
	}

	.jigyou-list {
		list-style: none;
		padding: 0;
	}

	.jigyou-list li {
		margin: 5px 0;
	}

	.buisness-photo ul {
		display: grid;
		grid-template-columns: repeat(3,1fr);
		gap: 5.3rem 1.5rem;
	}

	.buisness-photo ul li .image {
		width: 100%;
		padding-top: 100%;
		position: relative;
		margin-bottom: 1rem;
	}

	.buisness-photo ul li img {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 3;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.buisness-photo ul li p {
		font-size: 1.2rem;
	}

	.buisness-photo {
		margin-top: 3.5rem;
	}

	.buisness-header h3 {
		font-size: 1rem;
	}

	.buisness-header h2 {
		font-size: 2.7rem;
		padding-bottom: 1rem;
	}

	.buisness-list_box {
		margin-top: 8rem;
	}

}

/* copmpany */
.copmpany-inner {
	max-width: 128rem;
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
}

.company-main {
	width: calc(100% - 13.6rem);
	padding-left: 7.5rem;
}

.sidebar {
	width: 13.6rem;
	padding-left: 4rem;
}

.sidebar__inner {
	max-width: 15rem;
	
	margin: auto 0;
	width: 100%;
	position: sticky;
	top: 10rem;
	z-index: 10;
}

.sidebar ul li {
	padding: 0.5rem 0;
}

.sidebar ul li a {
	color: #333333;
	font-size: 1.7rem;
	line-height: 1.52;
	font-weight: 500;
	display: inline-block;
}

.sidebar ul li a.active::before {
	content: "";
	width: .8rem;
	height: .8rem;
	background-color: #154EB9;
	border-radius: 50%;
	position: absolute;
	left: -1.5rem;
	top: 50%;
	transform: translateY(-50%) translateX(-0%);
	-webkit-transform: translateY(-50%) translateX(-0%);
}

.sidebar ul li a.active {
	color: #154EB9;
	position: relative;
	background-image: linear-gradient(#154EB9,#154EB9);
	background-repeat: repeat-x;
	background-position: bottom;
	transition: background-size .5s ease-in-out;
	background-size: 0 0.1rem;
}

.sidebar ul li a.active {
	transition: background-size .5s ease-in-out;
	background-size: 100% 0.1rem;
}

.message-box {
	display: flex;
	width: 100%;
	padding: 0 3.5rem 15rem;
	position: relative;
	z-index: 1;
}

.message-box .left {
	width: 38rem;
}

.message h1 {
	display: block;
}

.message {
	background: rgb(255, 255, 255);
	background: linear-gradient(130deg, rgba(255, 255, 255, 1) 0%, rgba(29, 95, 172, 1) 25%, rgba(94, 156, 229, 1) 50%, rgba(47, 113, 189, 1) 100%);
}

.minus {
	margin-top: 0rem;
}

.message .eng-font {
	font-size: 16rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #95B5F2;
	opacity: .25;
	z-index: -1;
	display: flex;
	justify-content: end;
}

.message .right {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: calc(100% - 38rem);
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
}

.message-tit {
	font-size: 2.6rem;
	color: #fff;
	text-align: center;
	line-height: 2;
}

.message-tit.tit01 {
	margin-top: 2.4rem;
}

.message-small.name {
	
	font-weight: 700;
}

.message-small {
	font-size: 2rem;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-top: 4.4rem;
}

.message-small span {
	font-size: 1.8rem;
	margin-bottom: 1rem;
	line-height: 1;
}

.message-txt {
	font-size: 2rem;
	text-align: left;
	color: #fff;
	line-height: 2;
	margin-left: 6rem;
	letter-spacing: 0.04em;
	font-family: "Zen Old Mincho", serif;
}

.message-list {
	max-width: 93rem;
	width: 100%;
	border-collapse: collapse;
	border-top: .1rem solid #87AAE8;
	margin: 3rem 0 0;
}

.message-list tr {
	border-bottom: .1rem solid #87AAE8;
}

.message-list th {
	padding: 1.6rem 0;
	text-align: left;
	font-weight: 700;
	width: 20.4rem;
	line-height: 1.11;
	font-size: 1.8rem;
	display: block;
}

.message-list td {
	padding: 1.6rem;
	text-align: left;
	font-size: 1.8rem;
}

.message-list td.image {
	width: 21.1rem;
}

.message-list td img {
	width: 100%;
}

.message-list td li a.map {
	color: #154EB9
	;background-image: url(../img/common/map_blue.svg);
    background-size: .9rem 1.5rem;
    background-position: top .5rem left;
    background-repeat: no-repeat;
	padding-left: 1.6rem;
}

.overview-area .message-list li {
	padding-left: 1em;
	text-indent: -1em;
}

.overview-area .message-list td .officers-ul li {
	display: flex;
}

.overview-area .message-list td .officers-ul li span {
	display: block;
}

.overview-area .message-list td .officers-ul li span:first-child {
	width: 16rem;
}

.overview-area .message-list td .officers-ul li span:last-child {
	width: calc(100% - 16rem);
}

.overview-area,
.location-area,
.history-area {
	margin-top: 15.6rem;
}

.timeline {
	max-width: 93rem;
	width: 100%;
	background: rgb(233, 241, 252);
	background: linear-gradient(180deg, rgba(233, 241, 252, 1) 0%, rgba(233, 241, 252, 1) 80%, rgba(233, 241, 252, 0.15449929971988796) 100%);
}

.timeline-list {
	padding: 8rem 0;
}

.timeline-list-item {
	display: flex;
	line-height: 1.5;
	font-size: 16px;
}

.timeline-list-item .date {
	width: 23.5rem;
	padding: 0 0 0 4rem;
	color: rgba(21, 78, 185, 0.4);
	letter-spacing: -0.05em;
	margin-top: -1.5rem;
	font-size: 7rem;
	font-family: 'Futura Md BT';
	line-height: 1;
	font-weight: 500;
	text-align: center;
	font-style: italic;
}

.timeline-list-item .content {
	position: relative;
	width: calc(100% - 23.5rem);
	padding: 2rem 2rem 10rem 18rem;
	display: flex;
	font-size: 1.6rem;
}

.timeline-list-item .content::after {
	content: "";
	position: absolute;
	left: .25rem;
	top: 2rem;
	z-index: 1;
	width: 0.1rem;
	height: calc(100% + 5.7rem);
	background: #154EB9;
}

.timeline-list::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 1;
	width: 100%;
	height: 20rem;
	background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 50%, rgba(255, 255, 255, 1) 100%);
}

.timeline-list-item .content::before {
	content: "";
	position: absolute;
	top: 2rem;
	left: -.5rem;
	width: 1.6rem;
	height: 1.6rem;
	background-color: #154EB9;
	border-radius: 1rem;
}

.time-year {
	background-color: #154EB9;
	color: #fff;
	padding: .5rem 1rem;
	border-radius: 2rem;
	position: absolute;
	left: 8rem;
	top: 1.6rem;
	font-size: 1.6rem;
	width: 9.3rem;
	text-align: center;
	font-weight: 500;
}

.time-year::before {
	content: "";
	position: absolute;
	border: 0.1rem dashed rgba(21, 78, 185, 0.4);
	width: fit-content;
	width: 4.5rem;
	left: -5.4rem;
	top: 1.4rem;
}

.time-txt {
	font-size: 1.8rem;
	font-weight: 500;
}

.time-txt a {
	background-image: linear-gradient(#000,#000);
	background-position: bottom;
	background-size: 100% 0.1rem;
	background-repeat: repeat-x;
	font-size: 1.8rem;
}


.timeline-list li:last-child .content {
	border-left: none;
}

/* CONTACT & ENTRY */
body.contact .teaser02 .teaser-box__text {
	max-width: 52rem;
	width: 100%;
	margin: 0 auto;
}

.tab-container {
	display: flex;
}

.tab-container {
	display: flex;
	justify-content: space-between;
}

.tab {
	padding: 1.5rem;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 .3rem .6rem rgba(0, 0, 0, .16);
	background-color: white;
	width: calc(50% - 1.5rem);
	font-size: 2.6rem;
	position: relative;
	color: #777777;
}

.tab:hover {
	opacity: .5;
}

.tab.arrow.active {
	background-color: #005bac;
	color: white;
	/* border-color: #005bac; */
	box-shadow: none;
}

.tab.tab-orange.active {
	background-color: #FF863B;
	border: none;
}

.form-container {
	border: .5rem solid #FF863B;
	padding: 4rem 1.4rem 5rem;
	background-color: white;
}

.form-container.active-form {
	border-color: #005bac;
}

.tabcontent {
	display: none;
}

.tabcontent.show {
	display: block;
}

.hidden {
	display: none;
}

.form-group {
	margin-bottom: 15px;
}

.form-group label {
	display: block;
	font-size: 1.8rem;
	line-height: 1;
	font-weight: 500;
	padding: 1.3rem 0;
}

.form-group input, 
.form-group textarea {
	font-size: 1.5rem;
	width: 56.1rem;
	padding: 1.3rem;
	margin-left: 1rem;
	background-color: #F2F2F2;
	border: none;
}

.form-group textarea {
	resize: vertical;
}

.form-group.file-upload input {
	width: 56.1rem;
	padding: 8px;
	border: none;
	border-radius: 4px;
	margin-left: 1rem;
	background-color: #fff;
}

.submit-btn {
	background-color: #005bac;
	color: white;
	padding: 1rem 1.5rem;
	border: none;
	cursor: pointer;
	border-radius: .4rem;
	width: 27rem;
	margin: 2rem auto 3rem;
	display: block;
	font-size: 2.3rem;
	font-weight: 600;
}

.submit-btn.org-btn {
	background-color: #FF8802;
}

form.contact-form {
	padding-top: 4rem;
}

.arrow span {
	position: relative;
}

.tab.arrow.active span::after {
	content: '';
	background-image: url(../img/contact/open.svg);
	width: 3rem;
	height: 3rem;
	position: absolute;
	right: -5rem;
	top: 0;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

.tab.arrow.tab-orange.active span::after {
	background-image: url(../img/contact/open-org.svg);
	border: none;
}

.tab.arrow span::after {
	content: '';
	background-image: url(../img/contact/close.svg);
	width: 3rem;
	height: 3rem;
	position: absolute;
	right: -5rem;
	top: 0;
	background-size: 100% 100%;
	background-repeat: no-repeat;
}

.form-group {
	margin-bottom: 3rem;
	display: flex;
	justify-content: space-between;
	/* align-items: center; */
}

.content-inner {
	max-width: 76.7rem;
	margin: 0 auto;
	width: 100%;
}

.form-group .required {
	position: relative;
	display: inline-block;
	display: flex;
}

.form-group.custom-radio-box .required {
	position: relative;
	display: inline-block;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.form-group.custom-radio-box {
	justify-content: space-between;
	align-items: flex-start;
}

.form-group.custom-radio-box .required label {
display: block;
    font-size: 1.8rem;
    line-height: 1;
    font-weight: 500;
    padding: 1.3rem 0;
}

.form-group .required::before {
	position: absolute;
	content: '必須';
	/* テストのために文字を追加 */
	background-color: #FF0000;
	padding: .5rem;
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1;
	left: -3.3rem;
	/* ラベルの左側に配置 */
	top: 1.3rem;
	width: 3.3rem;
	height: auto;
	text-align: center;
	border-radius: 0.5rem;
}

.form-group label.required::before {
	content: unset;
}

.content-tit {
	text-align: center;
	font-size: 1.8rem;
	line-height: 2;
	margin-top: 4rem;
	letter-spacing: 0.04em;
	padding: 0 2.2rem;
}


.custom-radio {
	display: flex;
	align-items: center;
	margin-bottom: 1rem;
}

.custom-radio input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	background-color: #fff;
	border: .2rem solid #ccc;
	border-radius: 50%;
	width: 3rem;
	height: 3rem;
	margin-right: 1rem;
	position: relative;
	cursor: pointer;
}

.custom-radio input[type="checkbox"]:checked {
	border-color: #007bff; 
}

.custom-radio input[type="checkbox"]:checked::before {
	content: '';
	position: absolute;
	z-index: 2;
	width: 2rem;
	height: 2rem;
	top: 50%; 
left: 50%; 
transform: translateY(-50%) translateX(-50%); 
-webkit-transform: translateY(-50%) translateX(-50%);
  	background: radial-gradient(#007bff 50%, transparent 55%); /* 内部圆点 */
}

.custom-radio label {
	cursor: pointer;
}

.custom-radio label a {
	display: inline-block;
	background-image: linear-gradient(#000,#000);
	background-size: 100% .1rem;
	background-position: bottom;
	background-repeat: repeat-x;
	padding-bottom: 0.5rem;
	font-size: 1.6rem;
}

.submit-btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.required.custom-radio-box {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

#tabentry .custom-radio {
	justify-content: flex-start;
}

.mgt_20 {
	margin-top: 2rem;
}

.occupation-radio-box input[type=radio] {
	appearance: auto;
	width: 2.7rem;
	margin-left: 0;
	margin-top: 0;
}

.radio-org {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-right: 4rem;
	white-space: nowrap;
}

.occupation-radio-box {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 56.1rem;
}

.occupation-radio-box.required::before {
	left: -4rem;
}

.file-btn {
	display: inline-block;
    border: solid 1px #707070;
    border-radius: .4rem;
    padding: .3rem 4rem;
    position: relative;
    font-size: 1.5rem;
    line-height: 1;
    background-image: url(../img/contact/file.svg);
    background-position: left 1.5rem center;
    background-repeat: no-repeat;
    background-size: 1.6rem 1.6rem;
}
.file-upload-box {
	width: 56.1rem;
}

.filestatus-box {
	display: flex;
	align-items: center;
}

.file-status,.fileStatus-1 {
	margin-left: 1rem;
	font-size: 1.5rem;
}

.file-note {
	font-size: .9rem;
	color: #FF0000;
	line-height: 2;
	font-weight: 50;
	margin-top: .7rem;
}

.content-tit.org {
	text-align: left;
    margin-bottom: 3rem;
    padding: 0;
}
form#myFormentry {
    width: 96%;
    margin-left: auto;
}
.finish-inner {
	background-color: #fff;
	width: 70rem;
	margin: 0 auto;
	padding: 4rem 12rem 8rem;
	border-radius: 2rem;
	text-align: center;
}

.finish-tit {
	font-size: 2.5rem;
	font-weight: 600;
	padding: 3rem 0;
	display: block;
	text-align: center;
	line-height: 1;
}

.finish-txt {
	font-size: 1.8rem;
	line-height: 3;
	font-weight: 400;
}

.finish-txt+.finish-txt {
	margin-top: 3rem;
}

.totop {
	display: block;
	text-align: center;
}

.totop a {
	display: inline-block;
	text-align: center;
	background-color: #154EB9;
	color: #fff;
	font-size: 2rem;
	font-weight: 400;
	padding: 1rem 3rem;
	border-radius: 1rem;
	margin-top: 5rem;
}

.totop :hover {
	opacity: .5;
}

.totop.org a {
	background-color: #FF8802;
}
.recruit-DESCRIPTION {
    /* margin-top: 10rem; */
	padding-top: 10rem;
}

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

	/* copmpany */
	#company .teaser {
		margin-bottom: 0;
	}
	.copmpany-inner {
		display: block;
		position: relative;
	}

	.company-main {
		padding-left: 0;
		width: 100%;
	}

	.sidebar {
		width: 100%;
		padding-left: 0;
		position: fixed;
		left: 0;
		top: 5.6rem;
		z-index: 10;
		background: #fff;
		opacity: 0;
		pointer-events: none;
		transition: .3s ease-in-out;
	}

	.sidebar.is-fixed {
		opacity: 1;
		pointer-events: all;
		transition: .3s ease-in-out;
	}

	.sidebar__inner {
		max-width: unset;
		
		margin:  auto 0;

		width: 100%;
	}

	.sidebar__inner .inner_content {
		max-width: calc(100% - 3.2rem);
		width: 100%;
		/* padding: 0 1.6rem; */
		margin: 0 auto;
	}

	.sidebar ul {
		display: flex;
		justify-content: space-between;
	}

	.sidebar ul li a {
		color: #154EB9;
		font-size: 1.4rem;
		position: relative;
		padding: 1.6rem 1.4rem 1.6rem 0;
		display: inline-block;
	}

	.sidebar ul li a.active::before,
	.sidebar ul li a::before {
		content: "";
		width: 1rem;
		height: 1rem;
		background-color: transparent;
		border-radius: 0;
		position: absolute;
		left: auto;
		right: 0;
		top: 1.8rem;
		width: .5em;
		height: .5em;
		border: 0.1em solid #154EB9;
		border-left: 0;
		border-bottom: 0;
		box-sizing: border-box;
		transform: translateY(25%) rotate(135deg);
		-webkit-transform: translateY(25%) rotate(135deg);
	}

	.sidebar ul li a.active {
		text-decoration: none;
		background-image: unset;
	}

	.message-box {
		display: block;
		width: 100%;
		padding: 5.6rem 2rem 6rem;
		position: relative;
		z-index: 1;
		max-width: calc(100% - 3.2rem);
		width: 100%;
		margin: 0 auto;
	}

	.message-box .left {
		width: 100%;
	}

	.message-box.minus {
		padding-top: 20rem;
	}

	.message-box+.message-box {
		margin-top: 0;
		border-top: 0.1rem solid #fff;
	}

	.message h1 {
		display: block;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: 13rem;
	}

	.message {
		background: rgb(255, 255, 255);
		background: linear-gradient( rgba(255, 255, 255, 1) 0%, #1D5FAC 25%, #5E9CE5 50%, rgba(47, 113, 189, 1) 100%);
	}

	.minus {
		margin-top: 0;
	}

	.message-box  img {
		width: 100%;
	}

	.message .eng-font {
		font-size: 7.3rem;
		line-height: 1;
		letter-spacing: 0.05em;
	}

	.message .right {
		width: 100%;
		margin-top: 4rem;
		font-weight: 700;
	}

	.message-box.minus p+p {
		margin-top: .5em;
	}

	.message-tit {
		font-size: 2rem;
		line-height: 1.5;
		font-weight: 700;
	}

	.message-tit.large {
		font-size: 2.4rem;
	}

	.message-tit span {
		display: block;
		font-size: 2.4rem;
		margin-top: .5em;
	}

	.message-small {
		margin-top: 0;
		font-size: 1.5rem;
		font-weight: 700;
	}

	.message-box.minus .message-small.name {
		margin-top: 2rem;
	}

	.message-small.name {
		margin-top: 3.3rem;
		font-size: 2rem;
	}

	.message-small span {
		font-size: 1.3rem;
	}

	.message-small.mgt_30 {
		margin-top: 3rem;
	}

	.message-txt {
		font-size: 1.5rem;
		text-align: center;
		letter-spacing: 0.01em;
		line-height: 2;
		margin-left: 0;
	}

	.overview-area,
	.location-area,
	.history-area  {
		width: 100%;
		padding: 0 1.6rem;
		margin: 7rem auto 0;
	}

	#overview {
		margin-top: 4rem;
	}

	.message-list {
		width: 100%;
		border-collapse: collapse;
		border-top: 1px solid #87AAE8;
		margin: 3rem auto 0;
	}

	.message-list th {
		padding: 1.6rem 0;
		font-weight: 700;
		font-size: 1.4rem;
		width: 11.2rem;
	}

	.message-list td {
		padding: 1.6rem 2rem 1.6rem 0;
		font-weight: 400;
		font-size: 1.4rem;
		letter-spacing: 0.04em;
	}

	#overview .message-list td span {
		font-size: 1rem !important;
	}

	.message-list td li a.map {
		padding-left: 1.6rem;
		display: block;
	}

	.message-list td li a.map span {
		overflow: visible;
	}

	.message-list td li a.map span::after {
		content: unset;
	}

	#overview .message-list td ul li {
		padding-left: 1em;
		text-indent: -1em;
	}
	.overview-area .message-list td .officers-ul li span:first-child {
		width: 13rem;
	}

	.overview-area .message-list td .officers-ul li span:last-child {
		width: calc(100% - 13rem);
	}

	.location-area .message-list ,
	.location-area .message-list tbody,
	.location-area .message-list tr,
	.location-area .message-list tr th,
	.location-area .message-list tr td {
		display: block;
		border-bottom: none;
		width: 100%;
		position: relative;
		padding: 0;
	}

	.location-area .message-list tr {
		border-bottom: 1px solid #87AAE8;
		padding: 1.6rem 0;
	}

	.location-area .message-list tr th,
	.location-area .message-list tr td {
		width: calc(100% - 13.4rem);
	}

	.location-area .message-list tr th {
		margin-bottom: 1.6rem;
		line-height: 1.42;
	}

	.location-area .message-list tr td.image {
		width: 13.4rem;
		position: absolute;
		right: 0;
		top: 1.6rem;
		padding: 0;
		height: calc(100% - 3.2rem);
	}

	.location-area .message-list tr td.image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.timeline {
		padding: 0 1.6rem;
		width: calc(100% + 3.2rem);
		margin-left: -1.6rem;
		background: rgb(233, 241, 252);
		background: linear-gradient(180deg, rgba(233, 241, 252, 1) 0%, rgba(233, 241, 252, 1) 80%, rgba(233, 241, 252, 0.15449929971988796) 100%);
	}

	.timeline-list {
		padding: 4.5rem 0 2.4rem;
		position: relative;
		margin-top: 2rem;
	}

	.timeline-list::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 1;
		width: 100%;
		height: 14rem;
		background: linear-gradient(rgba(255, 255, 255, 0) 0%,rgba(255, 255, 255, .3) 50%,rgba(255, 255, 255, 1) 100%);
	}

	.timeline-list-item {
		display: flex;
		line-height: 1.5;
		font-size: 1.4rem;
	}

	.timeline-list-item .date {
		color: rgba(21, 78, 185, 0.4);
		margin-top: -1.5rem;
		font-size: 4.8rem;
		text-align: right;
		padding: 0 2.5rem 0 0;
		font-style: normal;
		width: 12rem;
	}

	.timeline-list-item .content {
		width: calc(100% - 12rem);
		position: relative;
		padding: 0 1.6rem 6.6rem 5rem;
		border-left: none;
		font-size: 1.4rem;
		display: block;
	}

	.timeline-list-item .content::after {
		content: "";
		position: absolute;
		left: 0;
		top: .4rem;
		z-index: 1;
		width: 0.1rem;
		height:calc(100% + 7.7rem);
		background: #154EB9;;
	}

	.timeline-list-item .content::before {
		left: -.8rem;
		top: .3rem;
		width: 1.6rem;
		height: 1.6rem;
	}

	.time-year {
		position: relative;
		left: auto;
		top: auto;
		margin-bottom: 1.3rem;
		font-size: 1.2rem;
		padding: .7rem 1rem;
		line-height: 1;
	}

	.time-year::before {
		border: 0.1rem dashed #154EB9;
		left: -5rem;
		top: 1.2rem;
	}

	.time-txt,
	.time-txt a {
		font-size: 1.4rem;
	}

	.timeline-list li:last-child .content {
		border-left: none;
	}

	.tab {
		padding: 1rem;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 4.5rem;
		width: calc(50% - .15rem);
		font-size: 1.4rem;
	}

	.tab:hover {
		opacity: 1;
	}

	.form-container {
		border: .2rem solid #FF863B;
		padding: 2rem;
	}

	.form-container.active-form {
		border-color: #005bac;
	}

	.hidden {
		display: none;
	}

	.form-group {
		margin-bottom: 15px;
		font-size: 1.4rem;
	}

	.form-group label {
		font-size: 1.4rem;
		margin-bottom: 1rem;
	}

	.form-group label.required {
		display: inline-block;
		font-size: 1.4rem;
		position: relative;
	}

	.form-group label.required::before {
		content: '必須';
		padding: .2rem;
		color: #fff;
		font-size: 0.9rem;
		left: auto;
		right: 0;
		/* ラベルの左側に配置 */
		top: 50%;
		transform: translate(100%,-50%);
		width: 3.2rem;
		height: auto;
		text-align: center;
		border-radius: 0.4rem;
		margin-right: -1rem;
	}

	.form-group input, .form-group textarea {
		width: 100%;
		border: none;
		border-radius: 0;
		margin-left: 0;
		font-size: 1.3rem;
	}

	.form-group textarea {
		min-height: 22rem;
	}

	.form-group.file-upload input {
		width: 100%;
		padding: 8px;
		border: none;
		border-radius: 4px;
		margin-left: 0;
		height: 4.5rem;
		font-size: 1.4rem;
	}

	.submit-btn {
		padding: 1rem;
		border: none;
		cursor: pointer;
		border-radius: 1rem;
		max-width: 20rem;
		width: 100%;
		margin: 3rem auto;
		height: 4.3rem;
		display: block;
		font-size: 1.6rem;
		font-weight: 600;
	}


	form.contact-form {
		padding-top: 4.5rem;
	}

	.arrow span {
		position: relative;
	}

	.tab.arrow.active span::after {
		content: unset;
	}

	.tab.arrow span::after {
		content: unset;
	}

	.form-group {
		margin-bottom: 3rem;
		display: block;
		justify-content: space-between;
		align-items: center;
	}

	.content-inner {
		max-width: 767px;
		margin: 0 auto;
		width: 100%;
	}

	.form-group .required {
		position: relative;
		display: inline-block;
		display: flex;
	}

	.form-group label {
		padding: 0;
	}

	.form-group.custom-radio-box label.required {
		display: inline-block;
	}

	.form-group.custom-radio-box .required {
		position: relative;
		flex-direction: column;
		align-items: flex-start;
	}

	.form-group.custom-radio-box {
		justify-content: space-between;
		align-items: flex-start;
	}

	.form-group .required::before {
		content: unset;
	}

	.form-group.custom-radio-box .required::before {
		top: 50%;
	}

	.content-tit {
		text-align: left;
		font-size: 1.4rem;
		line-height: 1.42;
		margin-top: 3rem;
		letter-spacing: 0.04em;
	}


	.custom-radio {
		display: flex;
		align-items: center;
		margin-bottom: 10px;
	}

	.custom-radio label {
		margin-bottom: 0;
	}

	/* .custom-radio label a {
		text-decoration: underline;
	} */

	.custom-radio input[type="checkbox"] {
		width: 2.2rem;
		height: 2.2rem;
		margin-bottom: 0;
		margin-top: 0;
		border: 0.1rem solid #B4B4B4;
	}

	.custom-radio input[type="checkbox"]:checked::before {
		width: 2.2rem;
		height: 2.2rem;
	}

	.mgt_20 {
		margin-top: 2rem;
	}

	.occupation-radio-box input[type=radio] {
		appearance: auto;
		width: 1rem;
	}

	.radio-org {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}

	.form-group .occupation-radio-box {
		display: block;
		width: 100%;
	}

	.occupation-radio-box a {
		font-size: 1.4rem;
		margin-bottom: 2rem;
		line-height: 1;
	}

	.form-group .occupation-radio-box label {
		margin-bottom: 0;
	}

	.occupation-radio-box input[type=radio] {
		margin-top: 0;
		width: 2.7rem;
	}

	.file-btn {
		padding: 1.4rem 2rem 1.4rem 6.5rem;
		position: relative;
		font-size: 1.2rem;
		line-height: 1;
		background-image: url(../img/contact/file.svg);
		background-position: left 4rem center;
		background-repeat: no-repeat;
		background-size: 1.6rem 1.6rem;
	}

	.file-btn label {
		font-size: 1.2rem;
	}

	.file-btn label {
		margin-bottom: 0;
	}

	.file-upload-box {
		width: 100%;
	}

	.filestatus-box {
		display: flex;
		align-items: center;
	}

	.file-status {
		margin-left: 1rem;
	}

	.file-note {
		font-size: .9rem;
		color: #FF0000;
		line-height: 2;
		margin-top: .7rem;
		line-height: 1
	}

	.content-tit {
		line-height: 1.78;
		padding: 0 1rem;
	}

	.content-tit.org {
		text-align: left;
	}

	.finish-inner {
		background-color: #fff;
		max-width: 70rem;
		width: 100%;
		margin: 0 auto;
		padding: 4.4rem 1.8rem 5rem;
		border-radius: 1.6rem;
	}

	.finish-tit {
		font-size: 2rem;
		padding: 0 0 4.2rem;
		letter-spacing: 0.04em;
		line-height: 1.5;
	}

	.finish-txt {
		text-align: left;
		font-size: 1.4rem;
		line-height: 1.78;
		letter-spacing: 0.04em;
	}

	.finish-txt+.finish-txt {
		margin-top: 1em;
	}

	.totop {
		display: block;
		text-align: center;
	}

	.totop a {
		font-size: 1.6rem;
		font-weight: 600;
		padding: 1.3rem 3rem;
		max-width: 20rem;
		width: 100%;
		margin: 3.8rem auto 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.recruit-DESCRIPTION {
		/* margin-top: 6.5rem; */
		padding-top: 6.5rem;
	}
}

.js-scroll-anchor{
	position: relative;
}

.js-scroll-anchor .anchor-a {
	display: block;
	position: absolute;
	left: 0;
	top: -10rem;
	z-index: -1;
	pointer-events: none;
}

@media screen and (max-width: 767px) {
	.js-scroll-anchor .anchor-a {
		top: -15rem;
	}
	
	
	.description-grounp ul li:nth-child(1) .description-grounp-two {
		font-size: 2rem;
	}
}