@charset "UTF-8";

html,body,body,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
}

html,body,body {
	line-height: 1;
}

ol,ul {
	list-style: none;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

caption,th,td {
	font-weight: normal;
	text-align: left;
	vertical-align: middle;
}

q,blockquote {
	quotes: none;
}

q:before,q:after,blockquote:before,blockquote:after {
	content: none;
}

a img {
	border: none;
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary {
	display: block;
}


/* ------------------------
// Common Tag
// ---------------------- */

html,body {
	color: #333;
	font: normal 4.4vw "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;

	-webkit-text-size-adjust: 100%;
}

body {
	background-color: white;
	background-repeat: no-repeat;
	text-align: justify;
	line-height: 1.6;
	-ms-text-justify: distribute;
	text-justify: distribute;

	-webkit-font-feature-settings: "palt" 1;
	font-feature-settings: "palt" 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

main {
	display: block;
}

a {
	text-decoration: none;
}

a:link,a:visited,a.fade-link:visited,a.btn.btn--standard:visited,a.btn.btn--login:visited,.bg-dark a:visited,.gnav__list > li > a:visited,a.pager__link:visited,a.fade-link:hover,a.fade-link:active,a.btn.btn--standard:active,a.btn.btn--login:active,.bg-dark a:active,.gnav__list > li > a:active,a.pager__link:active,a.btn.btn--standard:hover,a.btn.btn--login:hover,.bg-dark a:hover,.gnav__list > li > a:hover,a.pager__link:hover {
	color: #875384;
}

a:hover,a:active,a.fade-link:active,a.btn.btn--standard:active,a.btn.btn--login:active,.bg-dark a:active,.gnav__list > li > a:active,a.pager__link:active {
	color: #A76CA3;
	text-decoration: none;
}


/* ------------------------
// Layout Adjust Class
// ---------------------- */

.pos--relative {
	position: relative;
}

.font-size--s {
	font-size: 90%;
}

.font-size--l {
	font-size: 110%;
}

.font-weight--bold {
	font-weight: bold;
}

.align--center {
	text-align: center;
}

.info.is--warning {
	color: #C02;
}

.alert {
	font-size: 300%;
	font-weight: bold;
	text-transform: uppercase;
}

.link--cmn {
	text-decoration: underline;
}

.btn {
	text-align: center;
}

.btn-list.is--middle,.is--middle.nav-list {
	align-items: stretch !important;
	-webkit-box-align: stretch !important;
	-ms-flex-align: stretch !important;
}

.btn-list > li,.nav-list > li {
	width: 100%;
	margin: 0 0 4vw;

	box-flex: 1;
}

.btn-apply {
	margin: 6vw 0;
}

.btn.btn-arr--rt > *:after {
	display: block;
	position: absolute;
	top: 0;
	right: 4vw;
	bottom: 0;
	width: 2vw;
	height: 2vw;
	margin: auto;
	border: 1px solid transparent;
	border-top-color: white;
	border-right-color: white;
	content: "";
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.btn.btn--common {
	display: inline-block;
	padding: 4vw;
	border: 1px solid #875384;
	background-color: transparent;
	color: #3C276E;
	font-size: 90%;
	line-height: 1;
	-webkit-transition: background-color .3s ease-in 0s;
	-o-transition: background-color .3s ease-in 0s;
	transition: background-color .3s ease-in 0s;
}

.btn.btn--common:hover,a.btn.btn--common:active,.btn.btn--common.fade-link:active,.btn.btn--common.btn--standard:active,.btn.btn--common.btn--login:active,.btn.btn--common.pager__link:active {
	background-color: #EDE9F7;
}

.btn.btn--round,.btn.btn--standard {
	border-radius: 2vw;
}

.btn.btn--standard {
	display: inline-block;
	padding: 2vw 4vw;
	color: white !important;
	/*background-color: #875384;*/
	background-image: -webkit-linear-gradient(270deg,rgba(104,0,43,1.00) 0%,rgba(67,0,43,1.00) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(104,0,43,1.00) 0%,rgba(67,0,43,1.00) 100%);
    background-image: -o-linear-gradient(270deg,rgba(104,0,43,1.00) 0%,rgba(67,0,43,1.00) 100%);
    background-image: linear-gradient(180deg,rgba(104,0,43,1.00) 0%,rgba(67,0,43,1.00) 100%);
}

.btn.btn--standard.is--lg {
	display: block;
	padding: 16px;
	font-size: 110%;
	font-weight: bold;
}

.btn.btn--box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	min-height: 12vw;
	height: 100%;
	border-radius: 2vw;
	background-color: #8C8C8C;
	color: white;
	font-size: 100%;
	font-weight: bold;

	align-items: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.btn.btn--box.clr-deepblue {
	background-color: #3E6CB9;
}

.btn.btn--box.clr-orange {
	background-color: #DC7817;
}

.btn.btn--box.clr-pink {
	background-color: #BB5296;
}

.btn.btn--box.clr-green {
	background-color: #45AF6B;
}

.btn.btn--box.clr-purple {
	background-color: #A448AF;
}

.btn.btn--box.clr-blown {
	background-color: #AA4F31;
}

/*220128 新規立ち上げ ボタン色変更用 追加*/
.btn.btn--box.clr-winered {
	background-color: #68002B;
}

.btn.btn--box > span {
	display: block;
	position: relative;
	width: 100%;
	padding: 4vw 8vw;
	text-align: center;
	vertical-align: middle;
}

.btn.btn--login {
    width: 100%;
    padding: 4vw;
    border: none;
    /*background-color: #875384;*/
    background-image: -webkit-linear-gradient(270deg,rgba(104,0,43,1.00) 0%,rgba(67,0,43,1.00) 100%);
    background-image: -moz-linear-gradient(270deg,rgba(104,0,43,1.00) 0%,rgba(67,0,43,1.00) 100%);
    background-image: -o-linear-gradient(270deg,rgba(104,0,43,1.00) 0%,rgba(67,0,43,1.00) 100%);
    background-image: linear-gradient(180deg,rgba(104,0,43,1.00) 0%,rgba(67,0,43,1.00) 100%);
	border-radius:7px;
    color: white !important;
    font-size: 120%;
    font-weight: bold;
}

.icon:after,.icon.is--front:before {
	display: inline-block;
	width: 4.4vw;
	height: 4.4vw;
	background: no-repeat center transparent;
	background-size: contain;
	vertical-align: middle;
	line-height: 1;
	content: "";
}

.icon {
	vertical-align: baseline;
}

.icon:after {
	margin-left: 1vw;
}

.icon.is--front:before {
	margin-right: 1vw;
}

.icon.is--front:after {
	display: none;
}

.icon.is--window:after {
	background-image: url("../img/ico_window.png");
}

.icon.is--window.is--front:before {
	background-image: url("../img/ico_window.png");
}

.icon.is--logout:after {
	background-image: url("../img/ico_logout.png");
}

.icon.is--logout.is--front:before {
	background-image: url("../img/ico_logout.png");
}

.icon.is--profile:after {
	background-image: url("../img/ico_profile.png");
}

.icon.is--profile.is--front:before {
	background-image: url("../img/ico_profile.png");
}

.icon.is--burger:after {
	background-image: url("../img/ico_burger.png");
}

.icon.is--burger.is--front:before {
	background-image: url("../img/ico_burger.png");
}

.ds-all-flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	align-items: stretch;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.ds-all-flex.is--nowrap {
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
}

.ds-all-flex.is--between {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.ds-all-flex.is--center {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.ds-all-flex.is--middle {
	align-items: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
}

.text-contrasts {
	font-size: 90%;
	font-weight: bold;
	vertical-align: middle;
}

.text-contrasts > strong {
	display: inline-block;
	font-size: 110%;
	font-weight: bold;
	vertical-align: middle;
}

.text-contrasts > i {
	font-size: 80%;
	font-style: normal;
	vertical-align: middle;
}

.text-layout.is--center {
	text-align: center;
}

.fade-link:link,.bg-dark a:visited,.gnav__list > li > a:visited,.btn.btn--standard:link,.btn.btn--login:link,.fade-link:visited,.btn.btn--standard:visited,.btn.btn--login:visited,.pager__link:visited,.fade-link:hover,.bg-dark a:active,.gnav__list > li > a:active,.btn.btn--standard:hover,.btn.btn--login:hover,.fade-link:active,.btn.btn--standard:active,.btn.btn--login:active,.pager__link:active,.bg-dark a:hover,.gnav__list > li > a:hover,.pager__link:hover,.bg-dark a:link,.gnav__list > li > a:link,.pager__link:link {
	color: inherit;
	-webkit-transition: opacity .3s ease-in .1s;
	-o-transition: opacity .3s ease-in .1s;
	transition: opacity .3s ease-in .1s;
}

.fade-link:hover,.bg-dark a:active,.gnav__list > li > a:active,.btn.btn--standard:hover,.btn.btn--login:hover,.fade-link:active,.btn.btn--standard:active,.btn.btn--login:active,.pager__link:active,.bg-dark a:hover,.gnav__list > li > a:hover,.pager__link:hover {
	opacity: .6;
}

.block-inline-full,.mypage-contents__head {
	line-height: 0;
}

.block-inline-full > *,.mypage-contents__head > * {
	display: inline-block;
	vertical-align: middle;
	line-height: 1.6;
}

.block-inline-full:after,.mypage-contents__head:after {
	display: inline-block;
	overflow: hidden;
	width: 100%;
	height: 0;
	font-size: 1px;
	vertical-align: top;
	content: "";
}

.article-foot {
	margin-top: 4vw;
	padding: 4vw 0;
	border-top: 1px dashed #CCC;
	text-align: center;
}


/* ------------------------
// Common Class
// ---------------------- */

.clearfix:after {
	display: block;
	overflow: hidden;
	clear: both;
	width: 100%;
	height: 0;
	content: "";
}

.bg-dark {
	background-color: #68002B;
	color: white !important;
}

/* headline */

.hdln {
	color: #68002B;
	font-size: 130%;
	font-weight: bold;
}

.hdln.hdln--min {
	margin-bottom: .6rem;
	font-size: 110%;
}

.hdln.hdln--cp {
	text-transform: capitalize;
}

.hdln__sub {
	margin-left: 4vw;
	color: #333;
	font-size: 80%;
	font-weight: normal;
}

.note.note--info {
	margin: 16px 0;
	padding: 16px 24px;
	background-color: #EDE2EC;
	font-size: 90%;
}

.note.note--info:last-child {
	margin-bottom: 0;
}

.note.note--info > li {
	margin-top: 2vw;
	padding-left: 4vw;
}

.note.note--info > li:before {
	display: inline-block;
	color: #3C276E;
	text-indent: -4vw;
	content: "●";
}

.note.note--info > li:first-child {
	margin-top: 0;
}

.note-list > li {
	margin-top: 2vw;
	padding-left: 4vw;
}

.note-list > li:first-child {
	margin-top: 0;
}

.note-list > li:before {
	display: inline-block;
	text-indent: -4vw;
	content: "・";
}

/* table */

.data-table__cell {
	padding: 1vw 0;
	vertical-align: top;
}


/* ------------------------
// Header
// ---------------------- */

#boj-head {
	background-color: white;
}

.head-top {
	padding: 4vw;
}

.head-btm {
	font-size: 90%;
}

.head-btm > .in-content {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
}

.boj-id {
	width: 40vw;
}

.boj-id > img {
	width: 100%;
}

.login-name > strong {
	display: inline-block;
	margin: 0 .5rem;
	font-size: 110%;
	font-weight: bold;
}


/* ------------------------
// Footer
// ---------------------- */

#boj-footer {
	position: relative;
	z-index: 99;
}

.foot-sec {
	padding: 4vw 0;
	font-size: 80%;
	text-align: center;
}


/* ------------------------
// Contents
// ---------------------- */

/*□□　Global Nav　□□*/
.gnav__list > li {
}
.gnav__list > li > a {
	color: white !important;
	display: block;
	font-weight: bold;
	text-align: center;
	/*220128 新規立ち上げ ボタン色変更*/
	background-color:#223a70;
}


/*□□　共通レイアウト　□□*/
#boj-main {
    position: relative;
    background-repeat: no-repeat;
}

/*新卒*/
.fresh #boj-main {
    background-image: url(../img/bg_top_fresh.jpg);
}
/*中途*/
.career #boj-main {
    background-image: url(../img/bg_top_career.jpg);
}

#boj-main::after{
	/*z-index:2;*/
	content:"";
	width:100%;
	position:absolute;
	left:0;
	display:block;
}

/*新卒*/
.fresh #boj-main #content-head::before {
	content: '';
	background-image:url("../img/emblem.png");
	background-repeat:no-repeat;
	background-size:contain;
	position:absolute;
	display:block;
	opacity:0.5;
	z-index:1;
}

#boj-main > div{
	/*z-index:3;*/
	position:relative;
}

.mypage-title.is--large img {
	width:100%;
	display:block;
}
.mypage-contents {
	position: relative;
}
.mypage-contents::before {
    display: block;
    position: absolute;
    top: 0;
    content: '';
    height: 100%;
    z-index: 0;
}
.mypage-contents > * {
	position: relative;
	z-inedx:2 !important;
}


/*□□　ログイン前ページ　□□*/
.contents--topBottom{
	position: relative;
}

.mypage-login {
	margin-bottom: 8vw;
	text-align: center;
}
.mypage-login-form {
	display: block;
	width: 100%;
}
.mypage-login-form > p {
	margin-top: 1rem;
}

.top-input-list{
	text-align:left;
	display:inline-block;
	font-size:135%;
}
.top-input-list > .input-form > label{
	display:inline-block;
}
.top-input-list > .input-form > input {
	/*display: block;*/
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #B2B2B2;
	font-size: 110%;
}

.top-apply-link {
	margin: 4vw 0;
}

.top-apply-link > li {
	margin: 4vw 0;
}

.spec-info {
	text-align:left;
}
.spec-info .hdln{
	background-color:#8C8C8C;
	color:#fff;
	text-align:center;
	line-height:1em;
	padding-top:0.35em;
}

/*220128 新規立ち上げ 注意枠タイトル用 追加*/
.hdln.hdln--min.hdln--cp{
	background-color:#C02;
	color:#fff;
	text-align:left;
	line-height:1em;
	padding-top:0.35em;
}

/*□□　ログイン後トップページ　□□*/
.contents--first, .contents--second, .contents--third {
	position: relative;
}
.contents--second{
	border-top:solid 4px #B2B2B2;
}
.information p{
	margin-left:1em;
	text-indent:-1em;
}
.information p:first-child{
	margin-bottom:1em;
}

/*.special-conts,.nav-list {
	max-width: 630px;
}

.special-conts {
	display: block;
	margin: auto;
}*/

#director a{
	display:flex;
	align-items: center;
	justify-content: space-between;
	
	width:100%;
	min-height: 24vw;
	margin:0 auto 25px auto;
	position:relative;
	line-height: 0px;
	box-sizing:border-box;
	background-color:#244C82;
	font-size: 16px;
	line-height: 1.25em;
}
#director a .pic{
	display:inline-block;
}
#director a .txt{
	color: #ffffff;
	vertical-align: middle;
	display: inline-block;
	font-weight: bold;
}
#director .icon.in{
	background-image: url(../img/inIcon.svg);
	background-size: contain;
	background-repeat: no-repeat;
	display:inline-block;
	width:1em;
	height:1em;
	margin-right:0.5em;
}

.btn.rec--btn {
	color:#ffffff;
	height: 60px;
	font-size:16px;
	line-height:1.25em;
	
	display:flex;
	align-items: center;
	justify-content: space-between;
}

.btn.rec--btn.is--purple { background-color: #7373B1; }
.btn.rec--btn.is--deepblue { background-color: #3E6CB9; }
.btn.rec--btn.is--emerald { background-color: #49A4B9; }
.btn.rec--btn.is--green { background-color: #64BB84; }
.btn.rec--btn.is--brown { background-color: #BD8866; }
.btn.rec--btn.is--darkpink { background-color: #BF7495; }
/*.btn.rec--btn.is--pink { background-color: #FD6D96; }*/

.btn.rec--btn > span{
	text-algn:left;
	font-weight:normal;
	display:inline-block;
	margin-left: 0.75em;
}
.btn.rec--btn::after {
	background-image: url(../img/inIcon.svg);
	background-size: contain;
	background-repeat: no-repeat;
	display: inline-block;
	overflow: hidden;
	content: "";
	width:1em;
	height:1em;
	display:inline-block;
	
	margin-right: 0em;
}


/*□□　複数ページ共通　□□*/
.side-info {
	letter-spacing: -.4rem;
}

.side-info__inline {
	display: inline-block;
	margin-right: 4vw;
	vertical-align: middle;
	letter-spacing: 0;
}

.side-info__inline > .info {
	margin: 0 2vw;
	font-size: 120%;
	font-weight: bold;
}

.side-info__inline:last-child {
	margin-right: 0;
}

/* Mailbox */
.mailbox {
	width: 100%;
	border-top: 2px solid #68002B;
	vertical-align: top;
}

.mailbox__row > [class^="mailbox__"] {
	vertical-align: middle;
	text-transform: uppercase;
}

.mailbox__head > [class^="mailbox__"] {
	border-bottom: 1px solid #68002B;
	color: #68002B;
	font-weight: bold;
}

.mailbox__ico {
	text-align: center;
	line-height: 1;
}

.mailbox__ico > .read:before {
	display: block;
	width: 4vw;
	height: 4vw;
	border-radius: 50%;
	background-color: #DDD;
	content: "";
}

.mailbox__ico > .read.is--unread:before {
	background-color: #68002B;
}


/*□□　その他ページ　□□*/
.page-article {
	padding: 4vw 0;
	border-top: 1px double #BBB;
}
.page-info {
	margin-top: 6vw;
	padding-top: 6vw;
	border-top: 1px dashed #CCC;
}
.page-info:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

.pager {
	margin-top: 4vw;
	font-size: 70%;
}

.pager__link {
	position: relative;
	font-size: 90%;
}

.pager__link.is--prev:before,.pager__link.is--next:before {
	display: inline-block;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 2vw;
	height: 2vw;
	margin: auto;
	border: 1px solid transparent;
	content: "";
}

.pager__link.is--prev {
	padding-left: 8vw;
}

.pager__link.is--prev:before {
	left: 4vw;
	border-top-color: white;
	border-left-color: white;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.pager__link.is--next {
	padding-right: 8vw;
}

.pager__link.is--next:before {
	right: 4vw;
	border-top-color: white;
	border-right-color: white;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.mailtext__header {
	margin-bottom: 4vw;
}

.receive-title {
	color: #68002B;
	font-size: 130%;
	font-weight: bold;
}

/* Error */
.error {
	text-align: center;
}

.error__type {
	margin-bottom: 4vw;
	color: #875384;
	font-size: 110%;
	font-weight: bold;
}


@media screen and (min-width: 768px) {
	html,body {
		font-size: .95rem;
	}

	.inline-list {
		letter-spacing: -.4rem;
	}

	.inline-list > li {
		display: inline-block;
		letter-spacing: 0;
	}

	.btn.is--hover:hover,a.btn.is--hover:active,a.btn.btn--box:active,a.btn.rec--btn:active,a.btn.btn--box:hover,a.btn.rec--btn:hover,.btn.is--hover.fade-link:active,.btn.is--hover.btn--standard:active,.btn.is--hover.btn--login:active,.btn.is--hover.pager__link:active {
		opacity: .8;
	}

	.btn-list > li,.nav-list > li {
		width: 32%;
		margin: 0 1% 16px;

		box-flex: 1;
	}

	.btn-list > li:first-child,.nav-list > li:first-child,.btn-list > li:nth-child(3n+1),.nav-list > li:nth-child(3n+1) {
		margin-left: 0;
	}

	.btn-list > li:nth-child(3n),.nav-list > li:nth-child(3n) {
		margin-right: 0;
	}

	.nav-list {
		margin: 16px auto 0;
	}

	.btn-apply {
		margin: 40px 0;
	}

	.btn.btn-arr--rt > *:after {
		right: 8px;
		width: 8px;
		height: 8px;
	}

	.btn.btn--common {
		padding: 8px;
	}

	.btn.btn--round,.btn.btn--standard {
		border-radius: 4px;
	}

	.btn.btn--standard {
		padding: 4px 8px;
	}

	.btn.btn--standard.is--lg {
		padding: 16px;
	}

	.btn.btn--box {
		min-height: 68px;
		border-radius: 4px;
	}

	.btn.btn--box > span {
		padding: 8px 16px;
	}

	.btn.btn--login {
		padding: 8px;
	}

	.icon:after,.icon.is--front:before {
		width: 12px;
		height: 12px;
	}

	.icon:after {
		margin-left: .5rem;
	}

	.icon.is--front:before {
		margin-right: .5rem;
	}

	.ds-pc-flex {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;

		align-items: stretch;
		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.ds-pc-flex.is--nowrap {
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}

	.ds-pc-flex.is--between {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.ds-pc-flex.is--center {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	.ds-pc-flex.is--middle {
		align-items: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
	}

	.article-foot {
		margin-top: 24px;
		padding: 24px 0;
	}

	.view-sp {
		display: none;
	}

	.in-content {
		max-width: 700px;
		margin: auto;
	}

	.hdln {
		font-size: 180%;
	}

	.hdln__sub {
		margin-left: 1rem;
	}

	.note.note--info > li {
		margin-top: .6rem;
		padding-left: 1rem;
	}

	.note.note--info > li:before {
		text-indent: -1.2rem;
	}

	.note-list > li {
		margin-top: .5rem;
		padding-left: 1rem;
	}

	.note-list > li:before {
		text-indent: -1rem;
	}

	.data-table {
		display: table;
	}

	.data-table__row {
		display: table-row;
	}

	.data-table__cell {
		display: table-cell;
	}

	.data-table__cell.is--head {
		min-width: 6.5rem;
	}

	.data-table__cell {
		padding: 2px 0;
	}

	.head-top {
		padding: 8px 0;
	}

	.head-btm > .in-content {
		min-height: 24px;
		overflow:hidden;
		/*line-height:1em;*/
		text-align: left;
	}
	.head-btm.sp{
		display:none;
	}

	.boj-id {
		width: auto;
	}

	.boj-id > img {
		width: auto;
	}

	.profile-service-list > li {
		margin-left: 1rem;
	}

	.profile-service-list > li:first-child {
		margin-left: 0;
	}

	.foot-sec {
		padding: 8px 0;
	}

	
	/*□□　Global Nav　□□*/
	.gnav.sp {
		display:none;
	}
	/*新卒*/
	.fresh .gnav {
		background-color:#ffffff;
	}
	.gnav__list {
		padding-top:8px;
		
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		/*box-sizing:border-box;
		border:#f00 1px solid;*/
	}
	.gnav__list > li {
		display: block;
		text-align: center;
		vertical-align: middle;
		position:relative;
		margin-bottom:8px;
		box-sizing:border-box;
	}
	.gnav__list > li > a {
		height:22px;
	}
	/*新卒*/
	.fresh .gnav__list > li {
		-webkit-flex-basis:calc(97% / 4);
        flex-basis:calc(97% / 4);
		margin-right:1%;
	}
	.fresh .gnav__list > li:nth-child(4n) {
		margin-right:0;
	}
	.fresh .gnav__list > li > a {
		border-radius:5px;
	}
	/*中途*/
	.career .gnav__list > li {
		-webkit-flex-basis:25%;
        flex-basis:25%;
		border-left:#ffffff 1px solid;
	}
	.career .gnav__list > li:nth-child(4n) {
		border-right:#ffffff 1px solid;
	}
	.career .gnav__list > li > a{
		background-color:transparent;
	}
	
	/*□□　共通レイアウト　□□*/
	#boj-main {
    	background-size: 1346px auto;
		background-position: center top;
		min-height: 792px;
	}
	#boj-main::after{
		z-index:2;
		top:332px;
		height: 460px;
		background-image: -webkit-linear-gradient(270deg,rgba(255,255,255,0.00) 0px,rgba(255,255,255,1.00) 460px);
		background-image: -moz-linear-gradient(270deg,rgba(255,255,255,0.00) 0px,rgba(255,255,255,1.00) 460px);
		background-image: -o-linear-gradient(270deg,rgba(255,255,255,0.00) 0px,rgba(255,255,255,1.00) 460px);
		background-image: linear-gradient(180deg,rgba(255,255,255,0.00) 0px,rgba(255,255,255,1.00) 460px);
	}
	
	/*新卒*/
	.fresh #boj-main #content-head::before {
		top:10px;
		right:calc(50% - (1024px / 2) + 10px);
		width:278px;
		height:278px;
	}
	
	#boj-main > div{
		z-index:3;
	}
	
	
	/*□□　共通レイアウト　□□*/
	/*新卒*/
	.fresh .mypage-title {
		padding:4px 0 0 15px;
		width: 330px;
		line-height:0;
	}
	.fresh .mypage-title.is--large {
		padding:23px 0 60px 0;
		margin-left:-8px;
		width:438px;
	}
	/*中途*/
	.career .mypage-title {
		padding:31px 0 18px 0;
		width:480px;
		margin:0 auto;
	}
	.career .mypage-title.is--large {
		padding:42px 0 24px 0;
	}
	
	.mypage-title .sp, .mypage-title.is--large .sp{
		display:none;
	}
	
	.mypage-contents {
		padding: 32px 24px;
		margin-bottom:32px;
	}
	.mypage-contents::before {
		left: -82px;
		width: 864px;
		background-image: -webkit-linear-gradient(0deg,rgba(255,255,255,0.00) 0%,rgba(255,255,255,1.00) 25%,rgba(255,255,255,1.00) 75%,rgba(255,255,255,0.00) 100%);
		background-image: -moz-linear-gradient(0deg,rgba(255,255,255,0.00) 0%,rgba(255,255,255,1.00) 25%,rgba(255,255,255,1.00) 75%,rgba(255,255,255,0.00) 100%);
		background-image: -o-linear-gradient(0deg,rgba(255,255,255,0.00) 0%,rgba(255,255,255,1.00) 25%,rgba(255,255,255,1.00) 75%,rgba(255,255,255,0.00) 100%);
		background-image: linear-gradient(90deg,rgba(255,255,255,0.00) 0.00%,rgba(255,255,255,1.00) 25%,rgba(255,255,255,1.00) 75%,rgba(255,255,255,0.00) 100%);
	}

	.mypage-contents__head {
		margin-bottom: 1.3rem;
	}

	
	/*□□　ログイン前ページ　□□*/
	.contents--top {
		padding: 32px 0px;
		padding-bottom:1px;/*??????*/
		margin-bottom:0;
	}
	.contents--topBottom{
		padding: 32px 48px 32px 48px;
		margin-bottom:32px;
	}
	.mypage-login {
		margin-bottom: 32px;
	}
	.mypage-login-form {
		width: 568px;
		margin: 16px auto;
	}
	
	
	.top-input-list {
		margin-bottom: 20px;
	}

	.top-input-list > .input-form > label{
		width:7em;
	}
	.top-input-list > .input-form > input {
		width:12em;
	}
	
	.top-apply-link {
		margin: 24px 0;
	}

	.top-apply-link > li {
		margin: 0 1rem;
	}

	.contents--topBottom .mypage-login{
		margin-left:-4.5em;
		margin-right:-4.5em;
	}
	
	.spec-info {
		margin-bottom: 16px;
		padding: 16px;
	}
	.spec-info.is--warning > .hdln {
		padding: 8px 16px;
	}
	
	/*□□　ログイン後トップページ　□□*/
	.contents--first {
		padding-bottom: 32px;
	}
	.contents--second {
		padding-top: 16px;
		padding-bottom: 32px;
	}
	.contents--third {
		padding-top: 32px;
		padding-bottom: 0;
	}
	
	#director a{
		width:350px;
		height:123px;
		min-height:0;
		padding:0;
	}
	#director a .pic{
		width:123px;
		height:123px;
	}
	.btn.rec--btn.is--emerald > span{
		/*20220214 -0.75emから変更*/
		letter-spacing:0em;
	}
	.nav-list{
		justify-content: center;
	}

	
	/*□□　複数ページ共通　□□*/
	.side-info__inline {
		margin-right: 1rem;
	}

	.side-info__inline > .info {
		margin: 0 .5rem;
	}

	/* Mailbox */
	.mailbox {
		display: table;
		table-layout: fixed;
		border-spacing: 0;
		border-collapse: separate;
	}

	.mailbox__row {
		display: table-row;
	}

	.mailbox__row > [class^="mailbox__"] {
		display: table-cell;
		padding: 8px 4px;
		border-bottom: 1px dashed #CCC;
	}
	.mailbox__head > [class^="mailbox__"] {
		display: table-cell;
		padding: 4px 4px;
		border-bottom: 1px solid #68002B;
	}

	.mailbox__ico {
		width: 32px;
	}

	.mailbox__ico > .read:before {
		display: block;
		width: 8px;
		height: 8px;
		margin: auto;
	}

	.mailbox__ico > .read.is--unread:before {
		width: 12px;
		height: 12px;
	}

	.mailbox__date {
		width: 120px;
	}

	
	/*□□　その他のページ　□□*/
	.page-article {
		padding: 24px 0;
	}

	.page-info {
		margin-top: 24px;
		padding-top: 24px;
	}

	.pager {
		margin-top: 24px;
		font-size: 100%;
	}

	.pager__link.is--prev:before,.pager__link.is--next:before {
		width: 8px;
		height: 8px;
	}

	.pager__link.is--prev {
		padding-left: 24px;
	}

	.pager__link.is--prev:before {
		left: 12px;
	}

	.pager__link.is--next {
		padding-right: 24px;
	}

	.pager__link.is--next:before {
		right: 12px;
	}

	.mailtext__header {
		margin-bottom: 32px;
		padding-left: 16px;
	}

	.error__type {
		margin-bottom: 1rem;
		font-size: 150%;
	}

	/*220128　新規立ち上げ 注意事項枠線追加*/
	.waku {
		border: solid 3px #C02;
	}
}

@media screen and (max-width: 767px) {
	body.is--cover {
		overflow: hidden;
	}

	.ds-sp-flex {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;

		align-items: stretch;
		-webkit-box-align: stretch;
		-ms-flex-align: stretch;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.ds-sp-flex.is--nowrap {
		-ms-flex-wrap: nowrap;
		flex-wrap: nowrap;
	}

	.ds-sp-flex.is--between {
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.ds-sp-flex.is--center {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	.ds-sp-flex.is--middle {
		align-items: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
	}

	.head-btm > .in-content {
		min-height: 4vw;
		text-align: center;
	}
	.head-btm.pc{
		display:none;
	}
	
	/*□□　Global Nav　□□*/
	.gnav.pc {
		display:none;
	}
	.gnav > .close-btn {
		display: none;
	}

	.gnav-icon {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: 28vw;
		height: 100%;
		background-color: #AAAAAA;
	}

	.gnav-icon > a {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		height: 1em;
		margin: auto;
		color: white !important;
		text-align: center;
		vertical-align: middle;
		line-height: 1;
		text-transform: uppercase;
	}

	.gnav-icon > a:before {
		position: absolute;
		top: 0;
		right: 2vw;
		bottom: 0;
		width: 6vw;
		height: 6vw;
		margin: auto;
		border: 1px solid transparent;
		border-top-color: white;
		border-right-color: white;
		content: "";
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.gnav__list {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		margin: 4vw 0;
	}

	.gnav__list > li > a {
		padding: 4vw 4vw;
		font-size: 90%;

	}
	.gnav {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		position: fixed;
		z-index: 1000;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #AAAAAA;
		-webkit-transition: -webkit-transform .2s ease-in 0s;
		-o-transition: transform .2s ease-in 0s;
		transition: -webkit-transform .2s ease-in 0s;
		transition: transform .2s ease-in 0s;
		transition: transform .2s ease-in 0s, -webkit-transform .2s ease-in 0s;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}

	.gnav.is--open {
		overflow: scroll;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}

	.gnav > .close-btn {
		display: block;
		width: 8vw;
		height: 8vw;
		margin: 0 auto 4vw;
		border-right: 1px solid white;
		border-bottom: 1px solid white;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	
	/*□□　共通レイアウト　□□*/
	#boj-main {
    	background-size: 125% auto;
		background-position: 56% -13vw;
	}
	.career #boj-main::before{
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 25vw;
		background-image: -webkit-linear-gradient(270deg,rgba(123,40,12,0.75) 0%,rgba(123,40,12,0.00) 100%);
		background-image: -moz-linear-gradient(270deg,rgba(123,40,12,0.75) 0%,rgba(123,40,12,0.00) 100%);
		background-image: -o-linear-gradient(270deg,rgba(123,40,12,0.75) 0%,rgba(123,40,12,0.00) 100%);
		background-image: linear-gradient(180deg,rgba(123,40,12,0.75) 0%,rgba(123,40,12,0.00) 100%);
		mix-blend-mode: multiply;
	}
	.career.loginTop #boj-main::before{
		height: 50vw;
	}
	#boj-main::after{
		display:none;
	}
	.loginTop #boj-main::after{
		display:block;
		top:42vw;
		left:0vw;
		height: 15vw;
		background-image: -webkit-linear-gradient(270deg,rgba(255,255,255,0.00) 0vw,rgba(255,255,255,1.00) 15vw);
		background-image: -moz-linear-gradient(270deg,rgba(255,255,255,0.00) 0vw,rgba(255,255,255,1.00) 15vw);
		background-image: -o-linear-gradient(270deg,rgba(255,255,255,0.00) 0vw,rgba(255,255,255,1.00) 15vw);
		background-image: linear-gradient(180deg,rgba(255,255,255,0.00) 0vw,rgba(255,255,255,1.00) 15vw);
	}
	
	#content-head {
		overflow: hidden;
		position: relative;
		padding-top: 4vw;
	}
	
	/*新卒*/
	.fresh #boj-main #content-head::before {
		display:none;
	}
	.fresh.loginTop #boj-main #content-head::before {
		display:block;
		top:1vw;
		right:1vw;
		width:20vw;
		height:20vw;
	}
	
	.mypage-title {
		width: 55vw;
		margin: 0vw 0 0 10vw;
	}
	.mypage-title.is--large {
		width:75vw;
		margin:9vw 0 0 13.5vw;
		margin-bottom: 13vw;
	}
	/*中途*/
	.career .mypage-title.is--large {
		margin-left:auto;
		margin-right:auto;
	}
	
	.mypage-title .pc, .mypage-title.is--large .pc{
		display:none;
	}
	
	.mypage-contents {
		padding: 8vw 6vw;
		margin-bottom:8vw;
	}
	.mypage-contents::before {
		left: 0px;
		width: 100%;
		background-color: rgba(255,255,255,1.00);
	}
	
	.mypage-contents__head {
		margin-bottom: 4vw;
	}
	
	
	/*□□　ログイン前ページ　□□*/
	.contents--top {
		padding-bottom:1px;
		margin-bottom:0;
	}.contents--topBottom{
		padding: 08vw 6vw 8vw 6vw;
		margin-bottom:8vw;
	}
	
	.mypage-login-form {
		margin: 4vw auto;
	}
	.top-input-list {
		margin-bottom: 4vw;
	}

	.top-input-list > .input-form > label{
		width:7em;
	}
	.top-input-list > .input-form > input {
		width:100%;
	}
	.top-input-list > .input-form:first-child > input {
		margin-bottom: 4vw;
	}
	
	.contents--topBottom .mypage-login .pcBR{
		display:none;
	}
	
	.spec-info {
		margin-bottom: 4vw;
		padding: 4vw 0vw
	}
	.spec-info.is--warning {
		border-color: #C02;
	}
	.spec-info.is--warning > .hdln {
		padding: 4vw 8vw;
		background-color: #C02;
		color: white;
	}
	.spec-info.is--warning > .hdln:before {
		margin-right: .2rem;
		/*content: "！";*/
	}

	.data-table__row {
		padding: 4vw 0;
		border-top: 1px dotted #CCC;
	}
	.data-table__row:first-child {
		border:none;
	}

	.data-table__row:last-child {
		padding-bottom: 0;
	}

	.data-table__cell.is--head {
		padding: 0;
	}

	.top-apply-lisy > li > a {
		display: block;
		margin: 4vw;
	}
	
	
	/*□□　ログイン後トップページ　□□*/
	.contents--first {
		padding-bottom: 8vw;
	}
	.contents--second {
		padding-top: 8vw;
		padding-bottom: 8vw;
	}
	.contents--third {
		padding-top: 8vw;
		padding-bottom: 0;
	}
	/*.special-conts img {
		width: 100%;
	}*/

	#director a{
		font-size: 100%;
		line-height: 1.25em;
	}
	#director a .pic{
		width:25vw;
		height:25vw;
	}
	
	.nav-list {
		margin: 8vw auto 0;
	}
	.nav-list.is--middle {
		align-items: stretch !important;
		-webkit-box-align: stretch !important;
		-ms-flex-align: stretch !important;
	}
	
	
	/*□□　複数ページ共通　□□*/
	.login-name {
		padding: 2vw 0;
	}

	.profile-service-list > li {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		width: 50%;
		padding: 2vw 2vw;
		border-top: 1px solid #999;
		border-left: 1px solid #999;
	}

	.profile-service-list > li:first-child {
		border-left: none;
	}

	.view-pc {
		display: none;
	}

	.side-info__txt {
		display: none;
	}

	/* Mailbox */
	.mailbox__row {
		padding: 2vw;
		border-bottom: 1px dashed #CCC;
	}

	.mailbox__head {
		display: none;
	}

	.mailbox__ico {
		display: inline-block;
		margin-right: 2vw;
	}

	.mailbox__date {
		display: inline-block;
	}
	
	/*220128　新規立ち上げ 注意事項枠線追加*/
	.waku {
		border: solid 3px #C02;
		padding: 5px;
	}
}
