@charset "UTF-8";

/* -----------------------------
		BASIC
-------------------------------*/

/* lower title     -------------*/
.pageTit {
	padding: 5.517vw 0;
	background: url("/common/img/pagetit_bk.jpg") no-repeat;
	-moz-background-size: cover;
	background-size: cover;
	margin-bottom: 80px;
	background-position: center;
}
.pageTit h2 {
	font-size: 3.333333vw;
	letter-spacing: 0.2em;
	font-weight: 600;
}
.pageTit h2 .enTit {
	display: block;
	text-transform: uppercase;
	font-size: 1.25vw;
	color: #999999;
	letter-spacing: 0.12em;
	margin-top: 1.05vw;
}
/* table     -------------*/
.tableStyle dl {
	text-align: left;
	display: flex;
	flex-wrap: wrap;
}
.tableStyle dl dt,
.tableStyle dl dd {
	padding: 24px 20px;
	line-height: 1;
}
.tableStyle dl dt {
	width: 160px;
	font-weight: 600;
	border-bottom: 2px solid #393939;
}
.tableStyle dl dd {
	width: calc(100% - 240px);
	border-bottom: 2px solid #ccc;
}
.tableStyle dl dd .innerWrap + .innerWrap {
	margin-top: 36px;
}
.tableStyle dl dd ul li {
	margin-top: 8px;
  line-height: 1.4;
}
.tableStyle dl dd ul li:first-child {
	margin-top: 0;
}
.tableStyle dl dd .gMap {
	margin-top: 16px;
}
.tableStyle dl dd .gMap iframe {
	width: 100%;
	height: 334px;
}

dl.groupList dt,
dl.groupList dd {
	border: none;
}
dl.groupList dt {
	width: 100px;
}
dl.groupList dd {
	width: calc(100% - 100px);
	margin-top: -6px;
}
dl.groupList dd > div {
	margin-bottom: 16px;
}
dl.groupList dt:first-child,
dl.groupList dt:first-child + dd {
	padding-top: 0;
}
dl.groupList a,
dl.groupList dd span {
	line-height: 1.4;
	display: inline-block;
}
.wrapperWidth {
	width: calc(100% - 48px);
	max-width: 900px;
	margin: 0 auto;
}
/* -----------------------------
		COMPANY
-------------------------------*/
.company dl.commentWrap dt {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 40px;
	letter-spacing: 0.12em;
	margin-bottom: 32px;
	font-weight: 500;
}
.company dl.commentWrap dd {
	line-height: 1.45;
	font-weight: 600;
	font-size: 20px;
}
.company dl.commentWrap dd .ceoMessage {
	font-weight: normal;
	font-size: 16px;
	display: flex;
	text-align: left;
	margin-top: 70px;
	margin-bottom: 120px;
}
.company dl.commentWrap dd .ceoMessage div {
	line-height: 1.8125;
	margin-left: 40px;
	margin-top: -8px;
}
.company dl.commentWrap dd .ceoMessage div table th {
	font-weight: normal;
}
.company dl.commentWrap dd .ceoMessage div table td {
	padding-left: 12px;
}
.company .lcBlock {
	margin-bottom: 100px;
}
.company dl.commentWrap dd .headline.sa {
	transition-delay: 250ms;
}
.company dl.commentWrap dd .ceoMessage.sa {
	transition-delay: 500ms;
}
.company .lcBlock span:nth-child(2).sa {transition-delay: 100ms;}
.company .lcBlock span:nth-child(3).sa {transition-delay: 200ms;}
.company .lcBlock span:nth-child(4).sa {transition-delay: 300ms;}
.company .lcBlock span:nth-child(5).sa {transition-delay: 400ms;}
.company .lcBlock span:nth-child(6).sa {transition-delay: 500ms;}
.company .lcBlock span:nth-child(7).sa {transition-delay: 600ms;}

/* -----------------------------
		SERVICE
-------------------------------*/

/* -----------------------------
		PEOPLE
-------------------------------*/

/*  PEOPLE詳細画面
-------------------*/
.interviewWrap .pickUp {
	font-size: 20px;
	font-weight: 600;
	margin: 35.5px 0 75.5px 0;
	line-height: 1.45;
}
.peopleHead {
	display: flex;
	margin-bottom: 80px;
}
.peopleHead img {
	width: 100%;
	max-width: 360px;
	height: auto;
	margin-right: 40px;
}
.peopleHead .peopleInfo {
	text-align: left;
	font-size: 14px;
}
.peopleHead .peopleInfo .hireDate {
	line-height: 1;
	margin-bottom: 32px;
}
.peopleHead .peopleInfo .message strong {
	display: block;
	line-height: 1;
	margin-bottom: 16px;
}
.peopleHead .peopleInfo .message {
	line-height: 1.7857;
}

.interviewTxt {
	text-align: left;
}
.interviewTxt section {
	margin-bottom: 80px;
}
.interviewTxt h4 {
	font-size: 32px;
	font-weight: 600;
	margin-bottom: 32px;
}
.interviewTxt p {
	line-height: 1.8125;
}
.interviewTxt .imgCol {
	display: flex;
	justify-content: space-between;
}
.interviewTxt .imgCol p {
	width: calc(100% - 400px);
}
.interviewTxt .imgCol img {
	width: 360px;
	height: 240px;
	margin-left: 40px;
	object-fit: cover;
}
/* -----------------------------
		RECRUIT
-------------------------------*/
.infoBnr {
	margin-bottom: 80px;
}
.infoBnr img {
	width: 100%;
	height: auto;
}
.joblistWrap h3,
.jobDetail h3 {
	margin-bottom: 64px;
}
.jobList {
	text-align: left;
	font-size: 18px;
	margin-bottom: 120px;
}
.jobList li {
	position: relative;
	margin-bottom: 28px;
	padding-left: 32px;
}
.jobList li::before {
	position: absolute;
	content: '';
	width: 16px;
	height: 16px;
	background-color: #999999;
	top: 7px;
	left: 0;
}
.jobList li a {
	line-height: 1.6;
}

.jobDetail h4 {
	text-align: left;
	font-size: 32px;
	font-weight: 600;
	margin-bottom: 40px;
}
.jobDetail dl dt {
	width: 190px;
}
.jobDetail dl dd p {
	line-height: 29px;
	margin: -6.5px 0;
}
#ow {
	margin-top: 120px;
}
.anchorWrap .btnWrap a {
	margin-top: 40px;
}
/* -----------------------------
		NEWS
-------------------------------*/
.newsList {
	width: 100%;
}

.newsList li:nth-child(2) { transition-delay: 0.1s;}
.newsList li:nth-child(3) { transition-delay: 0.2s;}
.newsList li:nth-child(4) { transition-delay: 0.3s;}
.newsList li:nth-child(5) { transition-delay: 0.4s;}

/* ニュース本文画面 */
.newsHead .newsCatIcon {
	margin-bottom: 0;
	margin-right: 16px;
}
.newsTxtWrap {
	text-align: left;
	word-wrap: break-word;
}
.newsHead > div {
	display: flex;
	align-items: center;
	margin-bottom: 18.5px;
}
.newsContets {
	line-height: 1.8;
}

/* -----------------------------
		CONTACT 
-------------------------------*/
.formMessage {
	font-weight: 600;
	font-size: 20px;
	line-height: 1.45;
	margin-bottom: 40px;
}
.thanks .formMessage {
	margin-bottom: 120px;
}
.form input[type=text],
.form input[type=email],
.form input[type=tel],
.form textarea,
.form select {
	border: 1px solid #ccc;
	border-radius: 4px;
	width: 100%;
	padding: 11px;
}
.form select {
	padding: 15px 11px;
}
.form .selectWrap {
	position: relative;
}
.form .selectWrap:after {
	position: absolute;
	content: '';
	width: 8px;
	height: 8px;
	right: 16px;
	top: 46%;
	transform: translateY(-50%) rotate(45deg);
	border-bottom: 2px solid #393939;
	border-right: 2px solid #393939;
	z-index: -1;
}
.form span {
	color: #E71F19;
	padding-left: 4px;
}
.form dl dt {
	display: flex;
	align-items: center;
	width: 190px;
	line-height: 1.8125;
}
.form dl dd {
	width: calc(100% - 190px);
}
.form dl dd .radioWrap {
	display: flex;
	flex-wrap: wrap;
	gap: .3em 2em;
	border: none;
}
.form dl dd .radioWrap label {
	display: flex;
	align-items: center;
	/* gap: 0 .5em; */
	position: relative;
	cursor: pointer;
	margin-top: 8px;
}

.form dl dd .radioWrap label::before,
.form dl dd .radioWrap label:has(:checked)::after {
	position: absolute;
	border-radius: 50%;
	content: '';
}

.form dl dd .radioWrap label::before {
	width: 18px;
	height: 18px;
	background-color: #e6edf3;
}

.form dl dd .radioWrap label:has(:checked)::after {
	top: 50%;
	left: 9px;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	background-color: #e71f19;
	animation: anim-radio-001 .3s linear;
}

@keyframes anim-radio-001 {
	0% {
			box-shadow: 0 0 0 1px transparent;
	}
	50% {
			box-shadow: 0 0 0 10px #e71f1933;
	}
	100% {
			box-shadow: 0 0 0 10px transparent;
	}
}

.form dl dd .radioWrap input[type=radio] {
	appearance: auto;
	-webkit-appearance: auto;
	position: absolute;
	z-index: -1;
}
.form dl dd .radioWrap .other {
	width: 100%;
	margin-top: 16px;
	min-height: 48px;
}
.form dl dd .radioWrap .other span {
	white-space: nowrap;
	color: #393939;
}
.form dl dd .radioWrap input[type=text] {
	width: calc(100% - 86px);
}
.form dl dd .radioWrap label span {
	color: #393939;
	padding-left: 28px;
	padding-right: 8px;
}
/* -----------------------------
		TERMS, PRIVACY, 
-------------------------------*/
.policies .precautions {
	line-height: 1.8;
	margin-bottom: 12%;
}
dl.txtStyle01,
.txtStyle02 {
	max-width: 900px;
	width: calc(100% - 48px);
	margin: 40px auto;
	line-height: 1.8;
}
dl.txtStyle01 dt {
	letter-spacing: 0.2em;
	margin-bottom: 10px;
	font-family: "mplus-1m-regular", sans-serif;
	text-align: left;
}
dl.txtStyle01 dd,
.txtStyle02 li {
	margin-bottom: 40px;
	text-align: left;
}
.txtStyle02 ol {
	list-style-position: inside;
	/* margin-top: 40px; */
}
.txtStyle02 .contactWrap {
	text-align: left;
}
.txtStyle02 .ruleSetDate {
	text-align: left;
	margin-bottom: 30px;
	display: flex;
	justify-content: left;
}
.txtStyle02 .ceoName {
	text-align: left;
	margin-bottom: 90px;
	display: flex;
	justify-content: right;
}
.txtStyle02 .txtStyle02_inner ol,
.txtStyle02 .txtStyle02_inner01 ol,
.txtStyle02 .txtStyle02_inner_noIndent ol {
	list-style-type: none;
	margin-top: 0;
}
.txtStyle02 .txtStyle02_inner ol li,
.txtStyle02 .txtStyle02_inner02 ol li,
.txtStyle02 .txtStyle02_inner01 ol li,
.txtStyle02 .txtStyle02_inner_noIndent ol li ol li .contactWrap p {
	/* text-indent: 1em; */
	padding-left: 1em;
	list-style-type: none;
}
.txtStyle02 .txtStyle02_inner ol li ol,
.txtStyle02 .txtStyle02_inner02 ol li ol {
	list-style-type: none;
}
.txtStyle02 .txtStyle02_inner01 ol li ol li {
	list-style: none;
	margin-bottom: 5px;
	padding-left: 2em;
	position: relative;
	text-indent: -1em;
}
.txtStyle02 .txtStyle02_inner02 ol li ol li {
	list-style: none;
	margin-bottom: 5px;
	padding-left: 1.5em;
	position: relative;
}
.txtStyle02 .txtStyle02_inner ol li ol p {
	padding-left: 2em;
	text-indent: -1.5em;
}