@charset "UTF-8";

body {
	-webkit-text-size-adjust: 100%;
}

.brclear,
.brssp,
.ipc {
	display: none;
}

.bgw {
	background: #FFF;
}

.fadein {
	opacity: 0;
	transform: translate(0, 30px);
	transition: all 1s;
}

.fadein.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}

.sfadein {
	opacity: 0;
	animation: sfade 1s linear forwards;
	z-index: 10;
}

img {
	width: 100%;
	height: auto;
}

@keyframes sfade {
	0% {
		opacity: 0;
		transform: translate(0, 10px);
	}

	100% {
		opacity: 1;
		transform: translate(0, 0);
	}
}

.wipe01 {
	position: relative;
	overflow: hidden;
}

.wipe01:before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	z-index: 10;
	background: #f3f3f3;
	/*background: linear-gradient(120deg, rgba(254,125,67,1) 0%, rgba(230,39,65,1) 100%);*/
}

.wipe01.eft.efton:before {
	animation: revealLTR 1.1s ease;
}

.wipe01.eft img,
.wipe01.eft p {
	opacity: 0;
}

.wipe01.eft.efton img,
.wipe01.eft.efton p {
	animation: textHidden 0.3s 0.6s forwards;
}

@keyframes textHidden {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes revealLTR {
	0% {
		width: 0;
		left: 0;
		opacity: 1;
	}

	60% {
		width: 100%;
		left: 0;
		opacity: 1;
	}

	90% {
		opacity: 0.8;
	}

	100% {
		width: 0;
		left: 100%;
		opacity: 0;
	}
}


.slide01.eft {
	opacity: 0;
}

.slide02.eft {
	opacity: 0;
}

.slide01.eft.efton {
	animation: slideLTR 1s 0.6s forwards;
}

.slide02.eft.efton {
	animation: slideRTL 1s 0.6s forwards;
}

@keyframes slideLTR {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes slideRTL {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #faf8f2;
	z-index: 100000;
}

#loader {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 100px;
	height: 100px;
	margin-top: -50px;
	margin-left: -50px;
	text-align: center;
	color: #fff;
	z-index: 100001;
}

nav.menu {
	width: 26px;
	height: 25px;
	float: right;
	margin: 12px 12px 0 0;
	position: relative;
	z-index: 2147483647;
	cursor: pointer;

}

nav.menu:after {
	position: absolute;
	right: -12px;
	top: -12px;
	content: "";
	width: 50px;
	height: 45px;
	background: rgba(255, 255, 255, 0.9);
	z-index: -1;
}

nav.menu div.strokes {
	width: 100%;
	height: 4px;
	margin: 0 0 4px 0;
	background: #535353;
	transition: transform 0.3s, opacity 0.1s;
}

.hide {
	opacity: 0;
	transform: translateX(-30px);
}

.animate0 {
	transform: rotate(45deg) translateY(6px) translateX(6px);

}

.animate2 {
	transform: rotate(-45deg) translateY(-5px)translateX(5px);
}

.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}

/* 基本パーツ */
#header {
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 10000;
}

#logo {
	width: 100px;
	height: 130px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10000;
	background: #c40338;
	transition: all 0.5s;
}

#header.mini #logo {
	width: 100px;
	height: 45px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99999;
	background: #c40338;
	transition: all 0.5s;
}

#logo a {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
}

#logo img {
	width: 100%;
	height: auto;
}

#logo .logo01 {
	width: 80px;
	margin: 15px auto 20px;
	transition: all 0.5s;
}

#header.mini #logo .logo01 {
	width: 50px;
	margin: 10px auto 0px;
}

#logo .logo02 {
	width: 80px;
	margin: 20px auto 0;
	transition: all 0.5s;
}

#header.mini #logo .logo02 {
	display: none;
	margin: 0 auto 0;
}

#logo .logo03 {
	width: 86px;
	margin: 0px auto 0;
}

#header.mini #logo .logo03 {
	width: 70px;
	margin: -8px auto 0;
}

footer {
	position: relative;
	width: 100%;
	height: 60px;
	border-top: 1px solid #000;
	background: #FFF;
}

.bline {
	border-top: 2px solid #0154a9;
}

.pagetop {
	z-index: 9999;
	position: fixed;
	right: 10px;
	bottom: 10px;
	height: 80px;
	width: auto;
	transition: all 0.3s;
}

.pagetop img {
	height: 100%;
	width: auto;
}

.cr {
	font-size: 12px;
	line-height: 60px;
	text-transform: uppercase;
	color: #414141;
	text-align: center;
}

/* グローバルメニュー */
.gmenuBox {
	background-color: rgba(1, 84, 169, 0);
	top: 45px;
	left: 0;
	width: 100%;
	height: 100vh;
	position: fixed;
	display: none;
	transition: background 0.5s ease-in-out, opacity 0.5s;
	text-align: center;
	z-index: 10003;
	box-sizing: border-box;
	overflow: scroll;
}

.gmenuBox.show {
	display: block;
	background-color: rgba(255, 255, 255, 1);
	transition: background 0.5s ease-in-out, visibility 0.5s;
	box-sizing: border-box;
}

#main-nav {
	padding: 40px 0 120px;
	width: 90%;
	margin: 0 auto;
}

#main-nav ul {
	width: 100%;
	text-align: left;
}

#main-nav ul>li {
	width: 100%;
	font-size: 16px;
	position: relative;
	text-decoration: none;
	border-bottom: 1px solid #000;
}

#main-nav ul>li a {
	font-weight: 500;
	color: #000;
	text-decoration: none;
	line-height: 40px;
	display: block;
}

#main-nav ul li ul {
	display: none;
}

.spmc {
	display: none;
}

.subm {
	width: 50px;
	height: 40px;
	position: absolute;
	display: block;
	right: 0;
	top: 0px;
	border-left: 1px solid #000;
}

.subm:before {
	position: absolute;
	content: "\e909";
	font-family: 'icomoon';
	font-size: 11px;
	color: #000;
	top: 7px;
	left: 20px;
	transform: rotate(90deg);
	transition: all 0.3s;
}

.subm.on:before {
	transform: rotate(-90deg);
}

#main-nav ul div ul {
	display: none;
}

#main-nav ul li div ul {
	display: block;
	text-align: left;
	padding: 0 0 0 0;
	background: #FFF;
	margin-bottom: 20px;
}

#main-nav ul li ul li {
	width: 100%;
	line-height: 30px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.9);
	position: relative;
}

#main-nav ul li ul li:first-child {
	border-top: 1px solid rgba(0, 0, 0, 0.9);
}

#main-nav ul li ul li:last-child {
	border-bottom: none;
}

#main-nav ul li ul li a {
	font-size: 13px;
	margin-left: 10px;
	display: block;
	color: rgba(0, 0, 0, 0.9);
}

#main-nav ul li ul li:after {
	content: "\e909";
	font-family: 'icomoon';
	font-size: 10px;
	position: absolute;
	right: 22px;
	color: rgba(0, 0, 0, 0.9);
	top: 5px;
}

.gmenuBox nav>ul>li:nth-child(5) {
	width: 100%;
	position: relative;
	height: 40px;
}

.gmenuBox nav>ul>li:nth-child(5)>a {
	padding: 0 0 0;
	width: 100%;
	height: 40px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
}

.gmenuBox nav>ul>li:nth-child(5):before {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	background: url("../img/Instagram_Glyph_Gradient.png") no-repeat center center;
	background-size: contain;
	top: 10px;
	left: 0;
	z-index: 2;
}

.gmenuBox nav>ul>li:nth-child(5) a p {
	padding-left: 30px;
	line-height: 40px;
	font-weight: 500;
}

/* エントリーボタン */
.entrybtn>ul {
	position: absolute;
	top: 0;
	right: 50px;
	z-index: 99999;
	display: flex;
	flex-wrap: wrap;
	width: calc(100% - 150px);
	height: 45px;
}

#header.mini .entrybtn>ul {
	height: 45px;
	transition: all 0.5s;
}

.entry,
.mypage {
	width: 50%;
	position: relative;
}

.entry {
	background: #e3e3e3;
}

.mypage {
	background: #f3f3f3;
}

/* ボタンスタイル */
.entry button,
.mypage button {
	position: relative;
	text-align: center;
	line-height: 45px;
	height: 45px;
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	padding-right: 20px;
	color: #000;
	display: block;
	background: none;
	border: none;
	transition: all 0.5s;
	width: 100%;
	cursor: pointer;
}

#header.mini .entry button,
#header.mini .mypage button {
	line-height: 45px;
}

.entry button:after,
.mypage button:after {
	content: "\e900";
	font-family: 'icomoon';
	font-size: 12px;
	position: absolute;
	top: 1px;
	margin-left: 10px;
	color: #c40338;
	transform: rotate(0deg);
	transition: all 0.3s;
}


.no-drop .entry a,
.no-drop .mypage a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	color: #000;
	text-decoration: none;
}
.no-drop .entry p,
.no-drop .mypage p {
	position: relative;
	text-align: center;
	line-height: 45px;
	height: 45px;
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	padding-right: 20px;
	color: #000;
	display: block;
	background: none;
	border: none;
	transition: all 0.5s;
	width: 100%;
	cursor: pointer;
}

#header.mini .no-drop .entry p,
#header.mini .no-drop .mypage p {
	line-height: 45px;
}

.no-drop .entry p:after,
.no-drop .mypage p:after {
	content: "\e900";
	font-family: 'icomoon';
	font-size: 12px;
	position: absolute;
	top: 1px;
	margin-left: 10px;
	color: #c40338;
	transform: rotate(0deg);
	transition: all 0.3s;
}

/* ドロップダウンメニュー */
.dropdown-menu {
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.3s ease;
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	border: 1px solid #ccc;
	width: 100%;
	list-style: none;
	padding: 0;
	z-index: 1000;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* 表示時にアニメーションさせる */
.dropdown.open .dropdown-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.dropdown-menu li a {
	display: block;
	padding: 7px 10px;
	font-size: 15px;
	font-weight: 500;
	text-align: center;
	color: #333;
	text-decoration: none;
	background: #fff;
	border-top: 1px solid #eee;
}

/* 表示切り替え */
.dropdown.open .dropdown-menu {
	display: block;
}





/* トップページ */
#topSlide {
	width: 100%;
	height: 100%;
	margin: 0 auto 20px;
}

.swiper-container {
	max-height: 650px;
}

.sfw01 {
	width: 100%;
	height: 100vh;
	max-height: 650px;
	background: url("../img/slide01.jpg") no-repeat 20% bottom;
	background-size: cover;
}

.sfw02 {
	width: 100%;
	height: 100vh;
	max-height: 650px;
	background: url("../img/slide02.jpg") no-repeat 20% center;
	background-size: cover;
}

.sfw03 {
	width: 100%;
	height: 100vh;
	max-height: 650px;
	background: url("../img/slide03.jpg") no-repeat 75% center;
	background-size: cover;
}

.sfw04 {
	width: 100%;
	height: 100vh;
	max-height: 650px;
	background: url("../img/slide04.jpg") no-repeat 35% center;
	background-size: cover;
}

.sfw05 {
	width: 100%;
	height: 100vh;
	max-height: 650px;
	background: url("../img/slide05.jpg") no-repeat 65% center;
	background-size: cover;
}

.s-fade-text {
	position: absolute;
	width: 80%;
	height: auto;
	margin-top: 0;
}

.s-fade-text img {
	width: 100%;
	height: auto;
}

.sft01 {
	top: auto;
	right: 5%;
	bottom: 10%;
}

.sft02 {
	left: 50%;
	bottom: 20%;
}

.sft03 {
	right: 5%;
	bottom: 10%;
}

.sft04 {
	left: 5%;
	bottom: 10%;
}

.sft05 {
	left: calc(50% - 40%);
	top: calc(50% - 50px);
}

.swiper-slide-active .sft02,
.swiper-slide-active .sft05 {
	animation: slideTextUp 2.5s ease 0s 1 normal;
}

.swiper-slide-active .sft01,
.swiper-slide-active .sft03 {
	animation: slideTextYoko1 2.5s ease 0s 1 normal;
}

.swiper-slide-active .sft04 {
	animation: slideTextYoko2 2.5s ease 0s 1 normal;
}

@keyframes slideTextUp {

	0%,
	25% {
		opacity: 0;
		margin-top: 20px;
	}

	100% {
		margin-top: 0px;
		opacity: 1;
	}
}

@keyframes slideTextYoko1 {

	0%,
	25% {
		opacity: 0;
		margin-right: 20px;
	}

	100% {
		opacity: 1;
		margin-right: 0px;
	}
}

@keyframes slideTextYoko2 {

	0%,
	25% {
		opacity: 0;
		margin-left: 20px;
	}

	100% {
		opacity: 1;
		margin-right: 0px;
	}
}





.contwrap {
	width: 100%;
	margin: 0 auto;
}

/* NEWS */
.newsWrap {
	position: relative;
	margin: 0 auto 60px;
	width: 100%;
}

.newsBox {
	position: relative;
	width: 100%;
	height: 60px;
	background: #FFF;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
}

.newsTitle {
	position: relative;
	text-align: center;
	width: 100px;
	line-height: 60px;
	font-size: 16px;
	letter-spacing: 0.08em;
	font-weight: 600;
	color: #000;
	background: #f3f3f3;
	box-sizing: border-box;
}

.nBox {
	width: calc(100% - 100px);
	padding: 20px 0 10px 20px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
}

.ndate {
	line-height: 20px;
	font-size: 14px;
	color: #7f8174;
	width: 20%;
	box-sizing: border-box;
	margin-bottom: 10px;
	font-weight: 600;
}

.ntext {
	line-height: 20px;
	font-size: 14px;
	color: #7f8174;
	width: 80%;
	box-sizing: border-box;
	padding-left: 20px;
	margin-bottom: 10px;
}

@media screen and (max-width: 500px) {
	.nBox {
		padding: 10px 0 10px 20px;
		display: block;
		flex-wrap: nowrap;
	}

	.ndate {
		line-height: 16px;
		font-size: 13px;
		width: 100%;
		margin-bottom: 5px;
		font-weight: 600;
	}

	.ntext {
		line-height: 16px;
		font-size: 13px;
		width: 100%;
		padding-left: 0px;
		margin-bottom: 0px;
	}
}

.topwrap .section-ttl {
	text-align: center;
	font-size: 20px;
	font-weight: 600;
}

.topwrap h3 {
	text-align: center;
	font-size: 26px;
	line-height: 1.8em;
	font-weight: 600;
	padding: 10px 0 30px;
}

.topMsg {
	width: 100%;
	margin: 0 auto 80px;
	background: url("../img/topbg01.jpg") no-repeat center center;
	background-size: cover;
	box-sizing: border-box;
	padding: 40px 0 0;
}

.topMsg .p01 {
	width: 90%;
	max-width: 500px;
	margin: 0 auto;
	font-size: 14px;
	line-height: 2em;
}

.btn {
	position: relative;
	margin: 40px auto 60px;
	background: linear-gradient(to left, #e72941 5%, #fe7c43 100%);
	background-color: #44c767;
	border-radius: 40px;
	color: #ffffff;
	text-align: center;
	padding: 5px 0;
}

.btn a {
	position: relative;
	text-decoration: none;
	color: #FFF;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.08em;
	display: block;
}

.btn:after {
	content: "\e900";
	font-family: 'icomoon';
	font-size: 12px;
	position: absolute;
	top: calc(50% - 12px);
	right: 20px;
	color: #FFF;
	transform: rotate(0deg);
	transition: all 0.3s;
}

/* TOP MESSAGE */
.topMsg .btn {
	width: 200px;
}

.topMsg ul {
	width: 98%;
	max-width: 1500px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 0;
}

.topMsg ul li {
	width: 49%;
	margin: 0 0.5% 1%;
	height: 180px;
	overflow: hidden;
	position: relative;
}

@media screen and (max-width: 500px) {
	.topMsg ul li {
		height: 110px;
		width: 99%;
	}
}

.topMsg ul li a {
	display: block;
	z-index: 3;
	position: absolute;
	width: 100%;
	height: 100%;
}

.topMsg ul li p {
	position: absolute;
	z-index: 2;
	font-size: 16px;
	font-weight: 600;
	color: #FFF;
	text-align: center;
	width: 100%;
	top: calc(50% - 2em);
}

.topMsg ul li .bgp {
	position: absolute;
	width: 100%;
	height: 100%;
	transform: scale(1);
	transition: all 0.3s;
}

.topMsg ul li:nth-child(1) .bgp {
	background: url("../img/topbnr01.jpg") no-repeat center center;
	background-size: cover;
}

.topMsg ul li:nth-child(2) .bgp {
	background: url("../img/topbnr02.jpg") no-repeat center center;
	background-size: cover;
}

.topMsg ul li:nth-child(3) .bgp {
	background: url("../img/topbnr03.jpg") no-repeat center center;
	background-size: cover;
}

.topMsg ul li:nth-child(4) .bgp {
	background: url("../img/topbnr04.jpg") no-repeat center center;
	background-size: cover;
}


/* TOP しまむら研究 */

.topRs {
	width: 100%;
	background: linear-gradient(180deg, #f3f3f3 0%, #f3f3f3 55%, #FFF 55%, #FFF 100%);
	padding: 40px 0 0;
}

.topRs ul {
	width: 100%;
	margin: 80px auto 0;
	display: flex;
	flex-wrap: wrap;
}

.topRs ul li {
	width: 33.33%;
	position: relative;
	padding: 150px 0 0;
}

.topRs ul li:before {
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - 40%);
	width: 80%;
	height: 160px;
	background: url("../img/halfcircle.png") no-repeat center top;
	background-size: contain;
}

.topRs ul li:after {
	font-size: 160px;
	position: absolute;
	top: 40px;
	left: calc(50% - 80px);
}

.topRs ul li:nth-child(1):after {
	content: "\e906";
	font-family: 'icomoon';
}

.topRs ul li:nth-child(2):after {
	content: "\e907";
	font-family: 'icomoon';
}

.topRs ul li:nth-child(3):after {
	content: "\e908";
	font-family: 'icomoon';
}

.topRs ul li .tbox span {
	display: inline-block;
	width: 140px;
	height: 40px;
	border: 2px solid #000;
	text-align: center;
	font-size: 20px;
	line-height: 40px;
	font-weight: 600;
	margin-right: 10px;
}

.topRs ul li .tbox {
	font-size: 18px;
	font-weight: 600;
	width: 300px;
	text-align: center;
	margin: 0 auto;
}

.topRs ul li p {
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	color: #5c5c5c;
	line-height: 1.6em;
	padding: 20px 0 0;
}

.topRs .btn,
.topSf .btn,
.topCr .btn {
	width: 160px;
	margin: 20px auto 0;
}

.topRs .btn a,
.topSf .btn a,
.topCr .btn a {
	font-size: 13px;
}

@media screen and (max-width: 800px) {
	.topRs {
		width: 100%;
		background: #f3f3f3;
		padding: 40px 0 0;
	}

	.topRs ul {
		width: 100%;
		margin: 80px auto 0;
		display: flex;
		flex-wrap: wrap;
	}

	.topRs ul li {
		width: 100%;
		position: relative;
		padding: 80px 0 120px;
	}

	.topRs ul li:before {
		display: none;
	}

	.topRs ul li:after {
		font-size: 120px;
		position: absolute;
		top: 0;
		left: calc(50% - 60px);
	}

	.topRs ul li:nth-child(1):after {
		content: "\e906";
		font-family: 'icomoon';
	}

	.topRs ul li:nth-child(2):after {
		content: "\e907";
		font-family: 'icomoon';
	}

	.topRs ul li:nth-child(3):after {
		content: "\e908";
		font-family: 'icomoon';
	}

	.topRs ul li .tbox span {
		display: inline-block;
		width: 140px;
		height: 30px;
		border: 2px solid #000;
		text-align: center;
		font-size: 18px;
		line-height: 30px;
		font-weight: 600;
		margin-right: 10px;
		margin-left: 20px;
	}

	.topRs ul li .tbox {
		font-size: 16px;
		font-weight: 600;
		width: 300px;
		text-align: center;
		margin: 0 auto;
	}

	.topRs ul li p {
		text-align: center;
		font-size: 16px;
		font-weight: 600;
		color: #5c5c5c;
		line-height: 1.6em;
		padding: 20px 0 0;
	}
}


/* TOP 社員紹介 */

.topSf {
	width: 100%;
	height: 0;
	padding-top: 36%;
	background: url("../img/top02.jpg") no-repeat center center;
	background-size: contain;
	margin: 70px auto 150px;
	position: relative;
}

.staffBox {
	position: relative;
	width: 90%;
	padding: 20px 0;
	background: rgba(44, 44, 44, 0.6);
	bottom: 50px;
	left: calc(50% - 45%);
}

.staffBox h2 {
	color: #FFF;
}

.staffBox p {
	text-align: center;
	font-size: 13px;
	color: #FFF;
}


/* TOP しまむらでの成長 */

.topCr {
	width: 100%;
	margin: 100px auto 60px;
	position: relative;
}

.CrBox01 {
	width: 100%;
	height: 180px;
	background: url("../img/top03.jpg") no-repeat center 10%;
	background-size: cover;
}

@media screen and (min-width: 501px) {
	.CrBox01 {
		width: 100%;
		height: 250px;
		background: url("../img/top03.jpg") no-repeat center 10%;
		background-size: cover;
	}
}

@media screen and (min-width: 700px) {
	.CrBox01 {
		width: 100%;
		height: 300px;
		background: url("../img/top03.jpg") no-repeat center 10%;
		background-size: cover;
	}
}

.Crbox02 {
	padding-top: 150px;
}

.Crbox02 h2.section-ttl {
	position: absolute;
	line-height: 1.6em;
	top: calc(50% - 2em);
	text-align: center;
	width: 100%;
}

.Crbox02 h2.section-ttl span {
	font-size: 20px;
}

.topCr .btn {
	position: absolute;
	top: 60%;
	left: calc(50% - 80px);
}



/* TOP 採用情報< */


.topRc {
	width: 100%;
	margin: 50px auto 0;
	background: #f3f3f3;
	padding: 70px 0;
}


.topRc ul {
	width: 80%;
	max-width: 300px;
	margin: 20px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.topRc ul li {
	width: 80px;
	padding-top: 80px;
	position: relative;
	margin-bottom: 20px;
}

.topRc ul li:before {
	content: "";
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: #FFF;
	border: 2px solid #8e8e8e;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	transition: all 0.5s;
}

.topRc ul li p {
	font-size: 11px;
	font-weight: 600;
	text-align: center;
}

.topRc ul li:after {
	position: absolute;
	width: 100%;
	transition: all 0.5s;
	top: 18px;
	left: 50%;
	width: 40px;
	height: 40px;
	transform: translateX(-50%);
	background-size: contain;
	background-position: center center;
}

.topRc ul li:nth-child(1):after {
	content: "";
	background-image: url(../img/recruit-icon01.svg);
}

.topRc ul li:nth-child(2):after {
	content: "";
	top: 20px;
	left: 52%;
	background-image: url(../img/recruit-icon02.svg);
}

.topRc ul li:nth-child(3):after {
	content: "";
	background-image: url(../img/recruit-icon03.svg);
}

.topRc ul li:nth-child(4):after {
	content: "";
	background-image: url(../img/recruit-icon04.svg);
}

.topRc ul li:nth-child(5):after {
	content: "";
	background-image: url(../img/recruit-icon05.svg);
}

.topRc ul li:nth-child(6):after {
	content: "";
	width: 30px;
	height: 30px;
	background: url("../img/Instagram_Glyph_Black.png") no-repeat center center;
	background-size: contain;
	display: block;
	top: 22px;
}
.topRc ul li a {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 3;
	top: 0;
}
.topRc ul li:nth-child(6) p {
	font-size: 11px;
	line-height: 1.4em;
	top: -.5em;
}

.topRc ul li:nth-child(6) p span {
	font-size: 10px;
}

/* メッセージ */

#contWrap01 {
	width: 100%;
	padding: 150px 0 0;
	position: relative;
}

#contWrap01 h1 {
	display: block;
	position: absolute;
	font-size: 16px;
	font-weight: 600;
	top: 83px;
	right: 20px;
	background: #FFF;
	padding-left: 20px;
}

#contWrap01 .h101:before {
	content: "";
	width: calc(100% - 220px);
	height: 1px;
	background: #333;
	position: absolute;
	top: 100px;
	left: 120px;
}

.msgMain {
	width: calc(100% - 20px);
	margin: 0 auto;
	height: 330px;
	background: url("../img/megMain.jpg") no-repeat 5% center;
	background-size: cover;
	box-sizing: border-box;
	padding-top: 60px;
}

.msgMain h2 {
	font-size: 22px;
	font-weight: 600;
	text-align: center;
	line-height: 2em;
	padding-bottom: 20px;
	letter-spacing: 0.09em;
}

.msgMain p {
	font-size: 14px;
	line-height: 2em;
	text-align: center;
	padding: 0 5%;
}

@media screen and (max-width: 600px) {
	.brssp {
		display: block;
	}

	.nbrsmp {
		display: none;
	}

	.msgMain {
		background: url("../img/megMainsp.jpg") no-repeat center bottom;
		background-size: cover;
		padding: 60px 10px 0;
		position: relative;
		margin-bottom: 300px;
	}

	.msgMain:after {
		content: "";
		width: 100%;
		height: 300px;
		background: url("../img/megMainsp2.jpg") no-repeat left bottom;
		background-size: cover;
		position: absolute;
		bottom: -300px;
	}

	@media screen and (max-width: 440px) {
		.msgMain {
			background: url("../img/megMainsp.jpg") no-repeat center bottom;
			background-size: cover;
			padding: 60px 10px 0;
			position: relative;
			margin-bottom: 250px;
		}

		.msgMain:after {
			content: "";
			width: 100%;
			height: 250px;
			background: url("../img/megMainsp2.jpg") no-repeat left bottom;
			background-size: cover;
			position: absolute;
			bottom: -250px;
		}
	}

	.msgMain h2 {
		font-size: 17px;
		line-height: 2em;
		padding-bottom: 20px;
		letter-spacing: 0em;
	}

	.msgMain p {
		font-size: 13px;
		line-height: 1.6em;
		text-align: left;
		padding: 0 5%;
	}
}

.msgWrap01 {
	width: 100%;
	padding: 50px 0 20px;
}

.msgWrap02 {
	width: 100%;
	padding: 50px 0 20px;
	background: #f3f3f3;
	position: relative;
	z-index: -2;
}

@media screen and (max-width: 800px) {
	.msgWrap01 {
		padding: 30px 0 20px;
	}

	.msgWrap02 {
		padding: 30px 0 20px;
	}
}

.msgBox {
	width: 100%;
	margin: 0 auto 0;
}

.msgText {
	width: 90%;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 20px 0 20px;
}

.msgImg {
	width: 90%;
	box-sizing: border-box;
	padding: 20px 0 20px;
	margin: 0 auto;
}

.mic01 {
	overflow: hidden;
}

.num {
	position: relative;
	text-align: center;
	font-size: 20px;
	line-height: 30px;
	font-weight: 600;
	color: #FFF;
}

.num:before {
	content: "";
	width: 30px;
	height: 30px;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: calc(50% - 15px);
	background: #bdb9b9;
	z-index: -1;
}

.msgText .p01 {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.6em;
	text-align: center;
	padding: 10px 0 20px;
}

.msgText .p02 {
	font-size: 16px;
	font-weight: 600;
	color: #5c5c5c;
	line-height: 1.8em;
	padding-bottom: 30px;
	text-align: center;
}

.msgText .p03 {
	font-size: 14px;
	line-height: 1.8em;
}

.msgBtm {
	width: 100%;
	margin: 0 auto;
}

@media screen and (max-width: 800px) {
	.msgText .p01 {
		font-size: 18px;
	}

	.msgText .p02 {
		font-size: 14px;
		text-align: left;
	}
}





/* しまむらの働き方 */

.styleMain {
	width: calc(100% - 20px);
	margin: 0 auto;
	height: 0;
	background: url("../img/style/styleMain.jpg") no-repeat center center;
	background-size: cover;
	box-sizing: border-box;
	padding: 20% 0 0;
	position: relative;
}

.styleTitle {
	position: absolute;
	bottom: -70px;
	left: 50%;
	transform: translateX(-50%);
	width: 90%;
	max-width: 700px;
	height: 90px;
	background: rgba(0, 0, 0, 0.6);
	box-sizing: border-box;
	padding: 10px 0 0;
}

.styleTitle h2 {
	font-size: 18px;
	letter-spacing: 0.09em;
	font-weight: 500;
	text-align: center;
	color: #FFF;
}

.styleTitle p {
	font-size: 13px;
	text-align: center;
	color: #FFF;
}

.sortWrap {
	width: 100%;
	max-width: 1400px;
	margin: 100px auto 50px;
}

#sort {
	width: 98%;
	margin: 0 auto;
}

#sort .list_block {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

#sort .list_block p {
	width: 35px;
	font-size: 13px;
	line-height: 2.4em;
}

#sort .list01 {
	width: calc(100% - 35px);
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0 0 10px;
}

#sort .list01 li {
	width: 32.33%;
	background: #f3f3f3;
	box-sizing: border-box;
	padding: 5px 0;
	text-align: center;
	border: #c1c1c1 solid 1px;
	border-radius: 10px;
	margin: 0 0.5% 0 0;
	font-size: 12px;
	line-height: 1.4em;
	transition: all 0.3s;
}

#sort .list01 li.active {
	cursor: pointer;
	background: #d2d2d2;
	border: #c1c1c1 solid 1px;
}

#sort .list02 {
	width: calc(100%);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 10px 0 10px;
}

#sort .list02 li {
	width: 35%;
	background: linear-gradient(90deg, rgba(254, 125, 67, 1) 0%, rgba(230, 39, 65, 1) 100%);
	box-sizing: border-box;
	padding: 5px 0;
	text-align: center;
	border-radius: 10px;
	margin: 0 10px 0 0;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.1em;
	opacity: 1;
	color: #FFF;
}

#itemList {
	width: 98%;
	max-width: 1200px;
	margin: 30px auto 100px;
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
}

#itemList li {
	width: 23%;
	margin: 2% 1% 0 !important;
	box-sizing: border-box;
	position: relative;
}

#itemList li .sortImg {
	position: relative;
	width: 100%;
	height: 170px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.sekiguchi .sortImg {
	background-image: url("../img/style/styleBtn01.jpg")
}

.fukuhara .sortImg {
	background-image: url("../img/style/styleBtn02.jpg")
}

.sato .sortImg {
	background-image: url("../img/style/styleBtn03.jpg")
}

.matuda .sortImg {
	background-image: url("../img/style/styleBtn04.jpg")
}

.seki .sortImg {
	background-image: url("../img/style/styleBtn05.jpg")
}

.kamohara .sortImg {
	background-image: url("../img/style/styleBtn06.jpg")
}

.hatashita .sortImg {
	background-image: url("../img/style/styleBtn07.jpg")
}

.uezono .sortImg {
	background-image: url("../img/style/styleBtn08.jpg")
}

.harada .sortImg {
	background-image: url("../img/style/styleBtn09.jpg")
}

.asanuma .sortImg {
	background-image: url("../img/style/styleBtn10.jpg")
}

.morita .sortImg {
	background-image: url("../img/style/styleBtn11.jpg")
}

.shimasaki .sortImg {
	background-image: url("../img/style/styleBtn12.jpg")
}

.okuma .sortImg {
	background-image: url("../img/style/styleBtn13.jpg")
}

.konno .sortImg {
	background-image: url("../img/style/styleBtn14.jpg")
}

#itemList .sortImg p {
	position: absolute;
	width: 90%;
	height: 35px;
	line-height: 35px;
	background: rgba(255, 255, 255, 0.9);
	padding-left: 8px;
	font-weight: 500;
	font-size: 13px;
}

.sortProf {
	box-sizing: border-box;
	height: 100px;
	border-bottom: 1px solid #000;
	padding: 5px 0 0 10px;
	background: #FFF;
	transition: all 0.3s;
}

.sortProf .p01 {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.6em;
	transition: all 0.1s;
}

.sortProf .p02 {
	font-size: 11px;
	font-weight: 500;
	color: #aeadad;
	letter-spacing: 0.05em;
	transition: all 0.1s;
}

.sortProf .p03 {
	padding: 10px 0 0;
	font-size: 12px;
	transition: all 0.1s;
}

#itemList li a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 10;
}

@media screen and (max-width: 600px) {
	#itemList li {
		width: 48%;
		margin: 2% 1% 0 !important;
		box-sizing: border-box;
		position: relative;
	}
}

/* 社員紹介 */

.intMain {
	width: calc(100% - 20px);
	margin: 0 auto 20px;
	position: relative;
}

.intImg {
	position: relative;
}

.intImg img {
	width: 100%;
	min-height: 300px;
	object-fit: cover;
}

.intProfBox {
	position: relative;
	top: 0;
	z-index: 11;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.8);
}

.ltr {
	left: 0;
}

.rtl {
	right: 0;
}

.intProfBox .p01 {
	width: 35%;
	height: 20px;
	font-size: 13px;
	font-weight: 500;
	box-sizing: border-box;
	padding: 0 0 0 10px;
	line-height: 20px;
	display: block;
	position: relative;
	bottom: 70px;
	left: 0;
	background: #FFF;
	z-index: 2;
}

.intProfBox h2 {
	width: 100%;
	height: 50px;
	font-size: 17px;
	color: #FFF;
	font-weight: 500;
	box-sizing: border-box;
	padding: 10px 0 0 10px;
	display: block;
	position: relative;
	bottom: 70px;
	left: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: 1;
}

.intProfBox .p02 {
	font-size: 19px;
	font-weight: 600;
	line-height: 1.8em;
	position: relative;
	left: 10px;
	top: -60px;
	margin-bottom: -30px;
	letter-spacing: 0.03em;
}

.intProfBox .p03 {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4em;
	position: relative;
	left: 10px;
}

.intProfBox .p03 .ename {
	font-size: 12px;
}

.intProfBox .p03 .section {
	font-size: 11px;
	font-weight: 400;
	line-height: 1.1em;
}

.careerWrap {
	width: 100%;
	padding: 30px 0 20px;
	background: #f3f3f3;
}

.grad {
	background: linear-gradient(to right, rgba(254, 126, 67, 1) 25%, rgba(230, 40, 65, 1) 75%);
	-webkit-background-clip: text;
	color: transparent;
	letter-spacing: 0.08em;
}

@media all and (-ms-high-contrast: none) {
	.grad {
		background: #fff;
		color: #f66042;
	}
}

.careerWrap h3 {
	font-size: 20px;
	font-weight: 600;
	text-align: center;
}

.mycareer {
	width: 80%;
	max-width: 500px;
	margin: 20px auto 0;
}

.careerBox {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.careerBox .c01outer {
	width: 100px;
	background: #c1c1c1;
	border-radius: 10px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.careerBox .c01outer:after {
	content: "";
	width: 12px;
	height: 12px;
	position: absolute;
	left: 45px;
	bottom: -16px;
	background: url("../img/tri01.png") no-repeat center center;
	background-size: contain;
}

.careerBox .c01 {
	width: 100px;
	background: #c1c1c1;
	color: #FFF;
	font-size: 12px;
	text-align: center;
	line-height: 26px;
	border-radius: 10px;
	position: relative;
}

.careerBox .c02outer {
	width: 100px;
	background: linear-gradient(90deg, rgba(254, 125, 67, 1) 0%, rgba(230, 39, 65, 1) 100%);
	border-radius: 10px;
}

.careerBox .c02 {
	color: #FFF;
	font-size: 12px;
	text-align: center;
	line-height: 30px;
}

.careerBox .p01outer {
	width: calc(100% - 100px);
	padding: 0 0 0 10px;
	box-sizing: border-box;
}

.careerBox .p01 {
	font-size: 13px;
	line-height: 1.4em;
}

.intWrap {
	width: 100%;
	margin: 0 auto;
	padding: 50px 0 10px;
}

.intBox {
	width: 100%;
	padding-bottom: 30px;
}

.intBox .intText {
	width: 100%;
	box-sizing: border-box;
	padding: 0 3% 30px;
}

.intBox .intPhoto {
	width: 80%;
	margin: 10px auto;
	display: block;
}

.intPhotoBar {
	width: 100%;
	margin: 30px 0;
}

.intPhotoBar img {
	width: 100%;
	min-height: 250px;
	object-fit: cover;
}

.obl img {
	object-position: 10% 50%
}

.obr img {
	object-position: 80% 50%
}

.obr2 img {
	object-position: 60% 50%
}

.satoobr img {
	object-position: 30% 50%
}

.satoobr2 img {
	object-position: 30% 50%
}

.sekiobr1 img {
	object-position: 30% 50%
}

.sekiobr2 img {
	object-position: 70% 50%
}

.yoshimuraobr img {
	object-position: 60% 50%
}

.intText .que {
	font-size: 16px;
	line-height: 1.6em;
	font-weight: 600;
	padding: 15px 0 0 45px;
	position: relative;
}

.intText .que:before {
	content: "";
	width: 35px;
	height: 35px;
	position: absolute;
	left: 0px;
	top: 0;
	background: url("../img/style/qicon.png") no-repeat center center;
	background-size: contain;
}

.intText .p01 {
	font-size: 14px;
	padding: 15px 0 0 0;
}

.scheduleWrap {
	width: 90%;
	margin: 0 auto;
	position: relative;
}

.scheduleWrap .s01 {
	font-size: 18px;
	font-weight: 600;
	display: inline-block;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.scheduleWrap .s01:before,
.scheduleWrap .s01:after {
	content: "";
	width: 20px;
	height: 2px;
	background: #c1c1c1;
	position: absolute;
}

.scheduleWrap .s01:before {
	top: 50%;
	left: -40px;
}

.scheduleWrap .s01:after {
	top: 50%;
	right: -40px;
}

.schBox {
	width: 100%;
	margin: 80px auto 50px;
	position: relative;
}

.schBox:before {
	content: "";
	width: 45px;
	height: 45px;
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translateX(-50%);
	background: url("../img/style/clockicon.png")no-repeat center center;
	background-size: contain;
}

.schBar {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	padding: 0px 0 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid #c1c1c1;
}

.schBar .p01 {
	width: 15%;
	font-size: 14px;
	font-weight: 600;
	color: #f29f7a;
	box-sizing: border-box;
}

.schBar .p02 {
	width: 85%;
	font-size: 14px;
	font-weight: 600;
	box-sizing: border-box;
}

.schBar .p03 {
	width: 100%;
	font-size: 13px;
	padding: 0 0 0 15%;
	line-height: 1.6em;
	box-sizing: border-box;
}

.intBtm {
	width: 96%;
	margin: 0 auto 60px;
}

.intBtm .p01 {
	font-size: 16px;
	font-weight: 600;
	display: inline-block;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.intBtm ul {
	width: 100%;
	margin: 20px auto 0;
	display: flex;
	flex-wrap: wrap;
}

.intBtm ul li {
	width: 49%;
	margin: 0 0.5% 1%;
	box-sizing: border-box;
	border-bottom: 1px solid #000;
}

.intBtm ul li a {
	display: block;
	color: #000;
	text-decoration: none;
	line-height: 40px;
	width: 100%;
	font-size: 12px;
	font-weight: 500;
	position: relative;
	transition: all 0.3s;
}

.intBtm ul li a:after {
	content: "\e900";
	font-family: 'icomoon';
	font-size: 11px;
	position: absolute;
	top: 1px;
	right: 5px;
	color: #f66042;
	transform: rotate(0deg);
	transition: all 0.3s;
}


/* しまむら研究 企業研究編 */
.rsMain {
	width: calc(100% - 20px);
	margin: 0 auto 20px;
	height: 150px;
	background: #f3f3f3;
	position: relative;
}

.rsMain h2 {
	font-size: 18px;
	display: inline-block;
	font-weight: 600;
	position: absolute;
	top: calc(50% - 10px);
	left: 5%;
	transform: translateY(-50%);
}

.rsMain .tbox span {
	font-size: 20px;
	border: 3px solid #000;
	background: #FFF;
	padding: 0 20px;
	margin-right: 10px;
	letter-spacing: 0.1em;
}

.rsMain p {
	font-size: 14px;
	display: inline-block;
	font-weight: 500;
	color: #5c5c5c;
	position: absolute;
	top: calc(50% + 30px);
	left: 5%;
	transform: translateY(-50%);
}

.rs01:before,
.rs02:before,
.rs03:before {
	content: "";
	position: absolute;
	right: 5px;
	bottom: 0;
	width: 150px;
	height: 150px;
	background: url("../img/halfcircle.png") no-repeat center bottom;
	background-size: contain;
}

.rsMain:after {
	font-size: 120px;
	position: absolute;
	bottom: 30px;
	right: 20px;
	opacity: 0.2;
}

.rs01:after {
	content: "\e906";
	font-family: 'icomoon';
}

.rs02:after {
	content: "\e907";
	font-family: 'icomoon';
}

.rs03:after {
	content: "\e908";
	font-family: 'icomoon';
}

.rsWrap {
	width: 100%;
	padding: 30px 0;
}

.rsw01 {
	background: url("../img/r01/r01mainbg.png") repeat-x center bottom;
	background-size: 1400px auto;
}

.rsWrap h3 {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	padding-bottom: 20px;
}

.rsWrap h3 span {
	display: block;
	line-height: 1em;
	font-size: 12px;
	font-weight: normal;
}

.rsWrap .mp01 {
	text-align: left;
	font-size: 16px;
	font-weight: 600;
	padding: 0 5% 10px;
	margin: 0 auto;
	max-width: 500px;
}

.rsh01 .rsw01 .fig01 {
	width: 96%;
	margin: 30px auto;
}

.rsh01 .p01c,
.rsh03 .p01c {
	font-size: 14px;
	width: 90%;
	margin: 0 auto;
	max-width: 500px;
}

.rsw02 {
	background: #f3f3f3;
}

.scaleBox {
	width: 90%;
	margin: 0 auto;
	max-width: 550px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.scaleBox li {
	width: 48%;
	margin: 0 1% 50px;
}

.scaleBox li:last-child {
	width: 100%;
	margin: 0 20% 50px;
}

.fnotec {
	text-align: center;
	font-size: 13px;
}

.rq {
	font-size: 15px;
	font-weight: 600;
	color: #7f7f7f;
	text-align: center;
	position: relative;
	padding: 80px 0 30px;
	letter-spacing: 0.02em;
}

.rq:before {
	content: "";
	position: absolute;
	top: 10px;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 60px;
	background: url("../img/r01/r01qicon.png") no-repeat center center;
	background-size: contain;
}

.rsWrap .mp02 {
	text-align: center;
	font-size: 22px;
	font-weight: 600;
	padding: 0 5% 20px;
	line-height: 1.6em;
}

.rsh01 .rsw03 .fig02 {
	width: 96%;
	margin: 30px auto;
	max-width: 500px;
}

.mp03b {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	padding: 0 5% 20px;
	position: relative;
	line-height: 1.6em;
}

.mp03 {
	text-align: center;
	font-size: 18px;
	letter-spacing: 0.02em;
	font-weight: 600;
	padding-bottom: 20px;
	margin-bottom: 20px;
	position: relative;
	display: inline-block;
	left: 50%;
	transform: translateX(-50%);
}

.mp03:after {
	content: "";
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
	height: 3px;
	width: 120%;
	background: linear-gradient(90deg, rgba(254, 125, 67, 1) 0%, rgba(230, 39, 65, 1) 100%);
}

.rsw04 {
	background: #5b5b5b;
}

.rsw04 .rq {
	color: #FFF;
}

.rsw04 .mp02 {
	color: #fdffc5;
}

.fig02Box {
	width: 80%;
	margin: 20px auto 0;
	display: flex;
	flex-wrap: wrap;
}

.fig02Box .fig02 {
	width: 100%;
}

.fig02Box p {
	width: 100%;
	box-sizing: border-box;
	padding: 20px 0;
	color: #FFF;
	font-size: 14px;
}

.ap {
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	position: relative;
	color: #7f7f7f;
	padding: 60px 0 0;
}

.ap:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 35px;
	height: 55px;
	background: url("../img/r01/qparrow.png") no-repeat center center;
	background-size: contain;
}

.opeBox {
	width: 96%;
	max-width: 500px;
	margin: 50px auto 0;
}

.opeTitle {
	width: calc(100% - 40px);
	margin-left: 40px;
	background: #f3f3f3;
	border-radius: 10px;
	position: relative;
	box-sizing: border-box;
	padding: 20px 15px 20px 60px;
}

.opeTitle:before {
	content: "";
	width: 90px;
	height: 90px;
	position: absolute;
	top: -15px;
	left: -40px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.opt01:before {
	background-image: url("../img/r01/rc01ope01.png");
}

.opt02:before {
	background-image: url("../img/r01/rc01ope02.png");
}

.opt03:before {
	background-image: url("../img/r01/rc01ope03.png");
}

.opt04:before {
	background-image: url("../img/r01/rc01ope04.png");
}

.opeTitle .p01 {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1em;
	padding-bottom: 6px;
}

.opeTitle .p02 {
	font-size: 14px;
	line-height: 1.5em;
}

.opeDetail {
	width: calc(100% - 60px);
	margin-left: 50px;
	position: relative;
	box-sizing: border-box;
	padding: 20px 5px 0 10px;
}

.opeDetail:before {
	position: absolute;
	left: -20px;
	top: 20px;
	content: "";
	width: 4px;
	height: calc(100% - 25px);
	background: linear-gradient(180deg, rgba(254, 125, 67, 1) 0%, rgba(230, 39, 65, 1) 100%);
}

.opeDetail:after {
	content: "";
	width: 18px;
	height: 19px;
	position: absolute;
	bottom: 0;
	left: -27px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	background-image: url("../img/r01/r01opeArrow.png")
}

.opeDetail .p01 {
	font-size: 14px;
	padding-bottom: 10px;
	line-height: 1.6em;
}

.opeDetail .p02 {
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.6em;
}

.opefig01 {
	width: 100%;
	padding-top: 20px;
}

.opeSub {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.osfig {
	width: 60px;
}

.osText {
	width: calc(100% - 65px);
	box-sizing: border-box;
	padding: 0 0 0 10px;
}

.rsw06 {
	background: url("../img/r01/rc01opeOrange.jpg") no-repeat center center;
	background-size: cover;
}

.rsw06 p {
	text-align: left;
	font-size: 16px;
	color: #FFF;
	font-weight: 600;
	margin: 0 auto;
	width: 90%;
	max-width: 500px;
}

.rsh01 h4,
.rsh02 h4,
.rsh03 h4 {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	padding-bottom: 10px;
}

.fnotec2 {
	text-align: center;
	font-size: 14px;
}

.linklogo01 {
	width: 150px;
	margin: 50px auto 20px;
	opacity: 1;
	transition: all 0.3s;
}

.linklogo02 {
	width: 80%;
	max-width: 400px;
	margin: 50px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.linklogo02 li {
	width: 44%;
	margin: 0 3% 10%;
	opacity: 1;
	transition: all 0.3s;
}

.rsw08 {
	background: #f3f3f3;
}

.rsw08 h4 {
	color: #c40338;
}

.datalist {
	width: 96%;
	max-width: 600px;
	margin: 40px auto 0;
	display: flex;
	flex-wrap: wrap;
}

.datalist li {
	width: 48%;
	margin: 0 1% 2%;
	background: #FFF;
	border-radius: 10px;
	box-sizing: border-box;
	padding: 10px;
}

.rsw09 {
	background: linear-gradient(90deg, rgba(254, 125, 67, 1) 0%, rgba(230, 39, 65, 1) 100%);
}

.rsw09 h4 {
	color: #FFF;
}

.newOffice {
	width: 90%;
	margin: 20px auto 0;
}

.newsPhoto {
	width: 100%;
}

.newsArticle {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 0;
}

.newsArticle .p01 {
	font-size: 16px;
	font-weight: 600;
	padding-bottom: 10px;
	color: #FFF;
	line-height: 1.6em;
}

.newsArticle .p02 {
	font-size: 14px;
	padding-bottom: 20px;
	color: #FFF;
	line-height: 1.6em;
}

.newsArticle .p03 {
	font-size: 12px;
	color: #FFF;
	line-height: 1.6em;
}

.rsBtm {
	width: 100%;
	padding: 40px 0;
}

.rsBtm ul {
	width: 90%;
	margin: 20px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.rsBtm ul li a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.rsBtm ul li {
	width: 33.33%;
	position: relative;
}

.rsBtm ul li .tbox {
	font-size: 12px;
	display: inline-block;
	font-weight: 600;
	position: relative;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.rsBtm ul li .tbox span {
	font-size: 13px;
	border: 2px solid #000;
	background: #FFF;
	padding: 0 2px;
	margin-right: 3px;
}

.rsBtm ul li p {
	display: none;
	text-align: center;
	font-size: 12px;
	font-weight: 500;
	color: #5c5c5c;
	line-height: 1.6em;
	position: relative;
	padding: 10px 3px 5px;
}

.rsBtm ul li .btn {
	width: 90%;
	max-width: 100px;
	margin: 10px auto 0;
	font-size: 13px;
	font-weight: 600;
	line-height: 20px;
}

.rsBtm ul li .btn:after {
	display: none;
}

/* しまむら研究 仕事研究編 */
.menuTitle {
	font-size: 18px;
	text-align: center;
	font-weight: 600;
	padding: 30px 0 0;
	letter-spacing: 0.09em;
	line-height: 1.6em;
}

.jobMenu {
	width: 98%;
	max-width: 800px;
	margin: 40px auto 50px;
	display: flex;
	flex-wrap: wrap;
}

.job01 {
	width: calc(23% - 8px);
	background: #f3f3f3;
	margin-right: 6px;
	margin-bottom: 6px;
	position: relative;
	box-sizing: border-box;
	padding: 10px 2px;
}

.job02,
.job03 {
	width: calc(36% - 8px);
	background: #f3f3f3;
	margin-right: 6px;
	margin-bottom: 6px;
	position: relative;
	box-sizing: border-box;
	padding: 10px 2px;
}

.job01:before,
.job02:before,
.job03:before {
	content: "";
	width: 20px;
	height: 20px;
	position: absolute;
	top: 50px;
	right: -10px;
	background-repeat: no-repeat;
	background-position: right center;
	background-size: cover;
	background-image: url("../img/r02/r02mnext.png");
	z-index: 3;
}

.job01:after,
.job02:after,
.job03:after {
	content: "";
	width: 20px;
	height: 20px;
	position: absolute;
	bottom: -15px;
	left: 50%;
	transform: translateX(-50%);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	background-image: url("../img/r02/r02mup.png");
}

.job04 {
	width: 3%;
	box-sizing: border-box;
	padding: 10px 5px;
}

.job05 {
	width: calc(95% - 12px);
	background: #f3f3f3;
	box-sizing: border-box;
	padding: 15px 5px 5px;
}

.jobMenu .p01 {
	text-align: center;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4em;
	position: relative;
	padding-bottom: 60px;
}

.job01 .p01:after,
.job02 .p01:after,
.job03 .p01:after,
.job05 .p01:after {
	content: "";
	width: 100px;
	height: 50px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.job04 .p01:after {
	content: "";
	width: 30px;
	height: 70px;
	position: absolute;
	top: 60px;
	left: calc(50% + 5px);
	transform: translateX(-50%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.job01 .p01:after {
	background-image: url("../img/r02/r02m01.png");
}

.job02 .p01:after {
	background-image: url("../img/r02/r02m02.png");
}

.job03 .p01:after {
	background-image: url("../img/r02/r02m03.png");
}

.job04 .p01:after {
	background-image: url("../img/r02/r02m04.png");
}

.job05 .p01:after {
	background-image: url("../img/r02/r02m05.png");
}

.job01 ul li,
.job02 ul li,
.job03 ul li {
	width: 100%;
	text-align: center;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.4em;
	border-bottom: 1px solid #9f9f9f;
	padding: 8px 0;
	position: relative;
}

.job05 ul {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 0px;
}

.job05 ul li {
	position: relative;
	width: 24%;
	margin: 0 0.5% 0;
	text-align: center;
	font-size: 11px;
	font-weight: 600;
	line-height: 45px;
	letter-spacing: 0.09em;
	border-bottom: 1px solid #9f9f9f;
}

@media screen and (min-width: 800px) {

	.job01 ul li,
	.job02 ul li,
	.job03 ul li,
	.job05 ul li {
		font-size: 13px;
	}
}

.abn:after {
	content: "";
	width: 6px;
	height: 6px;
	position: absolute;
	top: 50%;
	right: 2px;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	background-image: url("../img/r02/r02mbtn.png");
}

.jobMenu a {
	display: block;
	text-decoration: none;
	color: #000;
	flex: 1;
}

.more {
	text-align: center;
	font-size: 11px;
	font-weight: 600;
	padding-top: 10px;
	color: #9f9f9f;
}

.jobbtn {
	width: calc(100%);
	position: relative;
	margin: 10px 8% 0 0;
	background: linear-gradient(to left, #e72941 5%, #fe7c43 100%);
	background-color: #44c767;
	border-radius: 5px;
	color: #ffffff;
	text-align: center;
}

.jobbtn a {
	position: relative;
	text-decoration: none;
	color: #FFF;
	font-size: 13px;
	line-height: 50px;
	font-weight: 600;
	display: block;
}

.jobbtn:after {
	display: none;
}

.jbox {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding: 50px 0;
	position: relative;
	background-repeat: no-repeat;
	background-position: center 20px;
	background-size: 100px auto;
}

.jbgray {
	width: 100%;
	background-color: #f3f3f3;
}

.jtype01 {
	background-image: url("../img/r02/r02i01gray.png");
	background-repeat: no-repeat;
}

.jtype01g {
	background-image: url("../img/r02/r02i01white.png");
	background-repeat: no-repeat;
}

.jtype02 {
	background-image: url("../img/r02/r02i02gray.png");
	background-repeat: no-repeat;
}

.jtype02g {
	background-image: url("../img/r02/r02i02white.png");
	background-repeat: no-repeat;
}

.jtype03 {
	background-image: url("../img/r02/r02i03gray.png");
	background-repeat: no-repeat;
}

.jtype03g {
	background-image: url("../img/r02/r02i03white.png");
	background-repeat: no-repeat;
}

.jname {
	position: relative;
	width: 100%;
	left: 0;
}

.jname .p01 {
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	color: #9f9f9f;
	letter-spacing: 0.09em;
}

.jname .p02 {
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.09em;
	padding-bottom: 20px;
}

.jDetail .p01 {
	text-align: center;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.8em;
	padding-bottom: 20px;
}

.jDetail .p02 {
	font-size: 15px;
	padding-bottom: 30px;
}

.jname:after {
	content: "";
	width: 100%;
	height: 2px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(to left, #e72941 5%, #fe7c43 100%);
}

.jcont {
	width: 100%;
}

.jPhoto {
	width: 80%;
	margin: 20px auto 0;
}

.jDetail {
	width: 100%;
	box-sizing: border-box;
	padding: 20px 5% 0 7%;
}

.jbtmBtn {
	width: 90%;
	margin: 10px auto 50px;
	box-sizing: border-box;
	padding: 15px 0 0;
	background: #c8c8c8;
	height: 100px;
	position: relative;
}

.jbtmBtn .p01 {
	text-align: center;
	font-size: 13px;
	font-weight: 600;
	color: #FFF;
	letter-spacing: 0.09em;
}

.jbtmBtn ul {
	position: absolute;
	width: 96%;
	left: 50%;
	bottom: -50px;
	transform: translateX(-50%);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.jbtmBtn ul li {
	width: 24%;
	margin: 0 0.5%;
	text-align: center;
	position: relative;
}

.jbtmBtn ul li a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}

.btnimg {
	width: 70px;
	height: 70px;
	overflow: hidden;
	border-radius: 50%;
	border: 3px solid rgba(245, 94, 66, 0.0);
	transition: all 0.3s;
	position: relative;
	margin: 0 auto;
}

.btnimg img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 130%;
	height: auto;
}

.jbtmBtn .p02 {
	font-size: 12px;
	font-weight: 500;
}



/* しまむら研究 キャリア研究編 */
.rsh03 .mp01 {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	padding: 20px 0 20px;
}

.rsh03 .rs03Main {
	width: 90%;
	max-width: 980px;
	margin: 40px auto;
}

.btn02 {
	width: 250px;
	position: relative;
	margin: 10px auto 0;
	background: #FFF;
	border-radius: 5px;
	text-align: center;
	border: 2px solid #000;
}

.btn02 a {
	position: relative;
	text-decoration: none;
	color: #000;
	font-size: 14px;
	line-height: 30px;
	font-weight: 600;
	display: block;
}

.btn02:after {
	content: "\e900";
	font-family: 'icomoon';
	font-size: 12px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(0deg);
	right: 20px;
	color: #f8714e;
	transition: all 0.3s;
}

.scNavi01,
.scNavi02 {
	width: 100%;
	padding: 30px 0;
}

.scNavi01 {
	background: #f8f4e8;
}

.scNavi02 {
	background: #f7f0f0;
}

.scNavi01 .naviTitile,
.scNavi02 .naviTitile {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.09em;
}

.scNavi01 .naviTitile {
	color: #fe7e43;
}

.scNavi02 .naviTitile {
	color: #ef4942;
}

.scNavi01 ul,
.scNavi02 ul {
	width: 90%;
	max-width: 400px;
	margin: 20px auto;
}

.scNavi01 ul li,
.scNavi02 ul li {
	width: 100%;
	box-sizing: border-box;
	height: auto;
	text-align: center;
	position: relative;
	padding: 10px 0;
}

.scNavi01 ul li a,
.scNavi02 ul li a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 2;
}

.scNavi01 ul li .p01,
.scNavi02 ul li .p01 {
	font-size: 14px;
	font-weight: 600;
	color: #727276;
}

.naviText {
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 1px solid #000;
	position: relative;
	padding: 0 20px 10px;
}

.naviText:after {
	content: "";
	width: 10px;
	height: 10px;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	background-image: url("../img/r02/r02mbtn.png");
}

.naviText .p02 {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6em;
}

.caseWrap {
	width: 96%;
	margin: 0 auto;
	max-width: 550px;
	padding: 40px 0 40px;
}

.caseNum {
	position: relative;
	font-size: 14px;
	font-weight: 600;
	color: #FFF;
	text-align: center;
}

.caseNum:after {
	content: "";
	width: 135px;
	height: 50px;
	position: absolute;
	top: -2px;
	left: 50%;
	transform: translateX(-50%);
	background: url("../img/r03/r03pop.png") no-repeat center center;
	background-size: contain;
	z-index: -1;
}

.cp01 {
	text-align: center;
	font-size: 17px;
	font-weight: 600;
	padding: 40px 0 20px;
	line-height: 1.8em;
}

.caseBox {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.stepTitle {
	width: calc(100% - 40px);
	margin-left: 30px;
	background: #f3f3f3;
	border-radius: 10px;
	position: relative;
	box-sizing: border-box;
	padding: 10px 0 0 50px;
}

.stepTitle:before {
	content: "";
	width: 70px;
	height: 70px;
	position: absolute;
	top: -15px;
	left: -30px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.stepTitle:after {
	content: "";
	width: 20px;
	height: 20px;
	position: absolute;
	bottom: -30px;
	left: -5px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.stepTitle .p01 {
	color: #727272;
	font-size: 14px;
	line-height: 1.6em;
}

.stepTitle .p02 {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6em;
	padding-bottom: 10px;
}

.withArw:after {
	background-image: url("../img/r03/r03arrow02.png");
}

.ci01:before {
	background-image: url("../img/r03/r03type01.png");
}

.ci02:before {
	background-image: url("../img/r03/r03type02.png");
}

.ci03:before {
	background-image: url("../img/r03/r03type03.png");
}

.ci04:before {
	background-image: url("../img/r03/r03type04.png");
}

.stepDetail .p01 {
	font-size: 14px;
	line-height: 1.4em;
}

.stepDetail.last .p01 {
	color: #f66042;
}

.stepDetail {
	position: relative;
	display: flex;
	align-items: center;
	margin: 20px 0 0 15%;
	padding: 7px 10px;
	width: 80%;
	color: #555;
	font-size: 16px;
	background: #FFF;
	border: solid 2px #555;
	box-sizing: border-box;
}

.stepDetail.last {
	border: solid 2px #f66042;
}

.stepDetail:before {
	content: "";
	position: absolute;
	top: -23px;
	left: 50%;
	margin-left: -15px;
	border: 12px solid transparent;
	border-bottom: 12px solid #FFF;
	z-index: 2;
}

.stepDetail:after {
	content: "";
	position: absolute;
	top: -28px;
	left: 50%;
	margin-left: -17px;
	border: 14px solid transparent;
	border-bottom: 14px solid #555;
	z-index: 1;
}

.stepDetail.last:after {
	border-bottom: 14px solid #f66042;
}



/* しまむら研究 キャリア座談会 */
.talkMain {
	width: calc(100% - 20px);
	margin: 0 auto;
}

.talkMain img {
	width: 100%;
	min-height: 160px;
	object-fit: cover;
}

.talk h2 {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	padding: 30px 0 20px;
}

.talkProfWrap {
	width: 100%;
	padding: 30px 0 30px;
	background: #f3f3f3;
}

.prof {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	padding: 0 0 20px;
}

.talkProfWrap ul {
	width: 90%;
	max-width: 900px;
	margin: 30px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.talkProfWrap ul li {
	width: 100%;
	margin-bottom: 30px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
}

.tpp {
	width: 30%;
	box-sizing: border-box;
}

.tpn {
	width: 70%;
	box-sizing: border-box;
	padding: 0px 0 0 10px;
}

.tpname {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.6em;
	padding-bottom: 5px;
}

.tpprof {
	font-size: 12px;
	line-height: 1.4em;
}

.tpname span {
	font-size: 15px;
}

.talkProfWrap ul li .p01 {
	width: 100%;
	box-sizing: border-box;
	padding: 5px 0 0;
	font-size: 13px;
	line-height: 1.6em;
	height: 100%;
}

.talkIntroWrap {
	padding: 50px 0;
}

.talkIntro {
	width: 90%;
	max-width: 500px;
	margin: 0 auto;
}

.talkIntro p {
	font-size: 14px;
	font-weight: 500;
	position: relative;
	margin-bottom: 30px;
	min-height: 100px;
	line-height: 1.8em;
}

.talkIntro .p01,
.talkIntro .p02 {
	padding-left: 80px;
}

.talkIntro .p01:before,
.talkIntro .p02:before {
	content: "";
	position: absolute;
	top: 0px;
	left: 0;
	width: 70px;
	height: 70px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}


.talkMenu {
	width: 90%;
	margin: 30px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.talkMenu li {
	width: 100%;
	text-align: center;
	position: relative;
	padding: 10px 0;
	border-bottom: 1px solid #000;
}

.talkMenu li:after {
	content: "";
	width: 14px;
	height: 14px;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	background-image: url("../img/r02/r02mbtn.png");
}

.talkMenu li a,
.scNavi02 ul li a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 2;
}

.talkMenu li p {
	font-size: 15px;
	font-weight: 600;
}

.talkMenu li p span {
	color: #727272;
}

.talkBar01 {
	width: calc(100% - 20px);
	margin: 0 auto;
}

.talkCont {
	padding: 50px 0 0;
}

.talkNum {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	color: #727272;
	letter-spacing: 0.09em;
}

.talkCatch {
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 30px;
}

.talkBox01 {
	width: 96%;
	margin: 0 auto 30px;
}

.talkBox02,
.talkBox03 {
	width: 96%;
	margin: 0 auto 30px;
	max-width: 1500px;
}

.talkArticle {
	width: 100%;
	padding: 0 0;
	box-sizing: border-box;
}

.talkPhoto {
	width: 80%;
	margin: 0 auto;
	box-sizing: border-box;
}

.talkBox03 .talkArticle {
	order: 2;
}

.talkBox03 .talkPhoto {
	order: 1;
}

.talkBox01 p,
.talkBox02 p,
.talkBox03 p {
	padding-left: 70px;
	position: relative;
	margin-bottom: 25px;
	min-height: 60px;
	font-size: 14px;
	line-height: 1.9em;
}

.talkBox01 p:before,
.talkBox02 p:before,
.talkBox03 p:before {
	content: "";
	position: absolute;
	top: 0px;
	left: 0;
	width: 55px;
	height: 55px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}

.spk01:before {
	background-image: url("../img/talk/talkpop01.png");
}

.spk02:before {
	background-image: url("../img/talk/talkpop02.png");
}

.spk03:before {
	background-image: url("../img/talk/talkpop03.png");
}

.spk04:before {
	background-image: url("../img/talk/talkpop04.png");
}


/* 採用情報  */
.recruitMain {
	width: calc(100% - 20px);
	margin: 0 auto 20px;
	height: 150px;
	background: #f3f3f3;
	position: relative;
}

.recruitMain h2 {
	font-size: 18px;
	font-weight: 500;
	position: relative;
	text-align: center;
	padding: 105px 0 0;
	letter-spacing: 0.09em;
}

.recruitMain h2:before {
	content: "";
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: #FFF;
	position: absolute;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
}

.recruitMain h2:after {
	position: absolute;
	font-size: 45px;
	top: 42px;
	width: 44px;
	height: 44px;
	background-size: contain;
	color: #000;
	left: 50%;
	transform: translateX(-50%);
	font-weight: 100;
}


.rec-ideal h2:after {
	content: "";
	background-image: url(../img/recruit-icon01.svg);
}

.rec01 h2:after {
	content: "";
	background-image: url(../img/recruit-icon02.svg);
}

.rec02 h2:after {
	content: "";
	background-image: url(../img/recruit-icon03.svg);
}

.rec03 h2:after {
	content: "";
	background-image: url(../img/recruit-icon04.svg);
}

.rec-policy h2:after {
	content: "";
	background-image: url(../img/recruit-icon05.svg);
}

.recBox {
	width: 90%;
	max-width: 500px;
	margin: 30px auto 60px;
}

.recRow {
	width: 100%;
	padding: 20px 0;
	border-bottom: 1px solid #000;

}

.recRow .p01 {
	width: 100%;
	box-sizing: border-box;
	font-weight: 600;
	font-size: 14px;
}

.recRow .p02 {
	width: 100%;
	box-sizing: border-box;
	font-size: 14px;
	line-height: 1.6em;
}

.recRow .p02.idt {
	text-indent: 1em;
}

.recRow .p02 a {
	color: #c40338;
}

.recbtn {
	width: 80%;
	max-width: 300px;
	margin: 20px auto 30px;
	display: flex;
	flex-wrap: wrap;
}

.recbtn li {
	width: 100%;
	margin: 0 0 10px;
	position: relative;
	box-sizing: border-box;
}

.recbtn01 {
	position: relative;
	background: linear-gradient(to left, #e72941 5%, #fe7c43 100%);
	border-radius: 10px;
	color: #ffffff;
	text-align: center;
}

.recbtn01 a {
	position: relative;
	text-decoration: none;
	color: #FFF !important;
	font-size: 16px;
	line-height: 50px;
	font-weight: 500;
	letter-spacing: 0.08em;
	display: block;
}

.recbtn01:after {
	content: "\e900";
	font-family: 'icomoon';
	font-size: 12px;
	position: absolute;
	top: calc(50% - 12px);
	right: 20px;
	color: #FFF;
	transform: rotate(0deg);
	transition: all 0.3s;
}

.recbtn02 {
	border: 1px solid #aeaeae;
	border-radius: 10px;
	position: relative;
	height: 50px;
	text-align: center;
}

.recbtn02 img {
	width: 130px;
	margin: 10px 0 0;
}

.recbtn02 a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 2;
}

.recBtm {
	width: 100%;
	margin: 0 auto 0;
	background: #f3f3f3;
	padding: 20px 0;
}

.recBtm ul {
	width: 80%;
	max-width: 300px;
	margin: 20px auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.recBtm ul li {
	width: 80px;
	padding-top: 80px;
	position: relative;
	margin-bottom: 20px;
}

.recBtm ul li:before {
	content: "";
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: #FFF;
	border: 2px solid #8e8e8e;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	transition: all 0.5s;
}

.recBtm ul li p {
	font-size: 11px;
	font-weight: 600;
	text-align: center;
}

.recBtm ul li:after {
	position: absolute;
	width: 100%;
	transition: all 0.5s;
	top: 18px;
	left: 50%;
	width: 40px;
	height: 40px;
	transform: translateX(-50%);
	background-size: contain;
	background-position: center center;
}

.recBtm ul li:nth-child(1):after {
	content: "";
	background-image: url(../img/recruit-icon01.svg);
}

.recBtm ul li:nth-child(2):after {
	content: "";
	top: 20px;
	left: 52%;
	background-image: url(../img/recruit-icon02.svg);
}

.recBtm ul li:nth-child(3):after {
	content: "";
	background-image: url(../img/recruit-icon03.svg);
}

.recBtm ul li:nth-child(4):after {
	content: "";
	background-image: url(../img/recruit-icon04.svg);
}

.recBtm ul li:nth-child(5):after {
	content: "";
	background-image: url(../img/recruit-icon05.svg);
}

.recBtm ul li:nth-child(6):after {
	content: "";
	width: 30px;
	height: 30px;
	background: url("../img/Instagram_Glyph_Black.png") no-repeat center center;
	background-size: contain;
	display: block;
	top: 22px;
}

.recBtm ul li a {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 3;
	top: 0;
}

.recBtm ul li:nth-child(6) p {
	font-size: 11px;
	line-height: 1.4em;
	top: -.5em;
}

.recBtm ul li:nth-child(6) p span {
	font-size: 10px;
}




.faqRow {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	padding: 20px 0;
	font-size: 15px;
}

.qp01 {
	width: 40px;
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	color: #FFF;
	background: #393939;
	box-sizing: border-box;
	padding: 7px 0 0px;
	min-height: 50px;
}

.qp02 {
	width: calc(100% - 50px);
	box-sizing: border-box;
	font-size: 14px;
	padding: 10px 10px 10px 20px;
	background: #f3f3f3;
	font-weight: 500;
	line-height: 1.6em;
}

.ap01 {
	width: 40px;
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	color: #FFF;
	background: #919191;
	box-sizing: border-box;
	padding: 7px 0 0px;
	height: 50px;
}

.ap02 {
	width: calc(100% - 50px);
	box-sizing: border-box;
	font-size: 14px;
	padding: 10px 10px 10px 20px;
	font-weight: 500;
	line-height: 1.6em;
}

.faqRow .ap02 a {
	color: #c40338;
}






.stepBox {
	width: 100%;
	max-width: 500px;
	display: flex;
	flex-wrap: wrap;
	padding: 20px 0;
	font-size: 14px;
	margin: 0 auto;
}

.stepNum {
	width: 60px;
	background: #393939;
	box-sizing: border-box;
	padding: 20px 0 0px;
	min-height: 100px;
}

.stepNum p {
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	color: #FFF;
	line-height: 1.6em;
}

.stepNum p span {
	font-size: 18px;
}

.stemCont {
	width: calc(100% - 60px);
	box-sizing: border-box;
	padding: 10px 20px;
	background: #f3f3f3;
}

.stemCont .p01 {
	font-size: 15px;
	font-weight: 600;
}

.stemCont .p02 {
	font-size: 14px;
	line-height: 1.4em;
}

.stemCont .p02 a {
	color: #c40338;
}

.stemCont .p03 {
	font-size: 15px;
	font-weight: 600;
	padding: 20px 0 0;
}

.flowlast {
	text-align: center;
	font-size: 22px;
	font-weight: 600;
	padding: 20px 0 0;
}

.abovear {
	position: relative;
}

.abovear:after {
	content: "";
	width: 18px;
	height: 18px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -10px;
	background: url("../img/tri01.png") no-repeat center center;
	background-size: contain;
}

.p04 {
	font-size: 12px;
	font-weight: 400;
	text-align: right;
	margin: 0 20px 20px 0;
}

.p05 {
	position: relative;
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	margin-top: 50px;
}

.p05 a {
	color: #c40338;
}

.p06 {
	font-size: 12px;
	font-weight: 400;
	text-align: center;
	position: relative;
	padding: 0 0 30px;
}

.mv-text-container {
	position: absolute;
	z-index: 3;
	right: 5%;
	bottom: 5%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0;
}

.text-wrap {
	position: relative;
	overflow: hidden;
	margin-bottom: 20px;
	width: fit-content;
	padding-bottom: 2px;
}

.text-wrap::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #FFF;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.text-content {
	display: block;
	color: #FFF;
	font-size: min(6vw, 2rem);
	letter-spacing: 0.15em;
	line-height: 1;
	font-weight: 600;
	transform: translateY(110%);
	transition: transform 1.2s cubic-bezier(0.215, 0.610, 0.355, 1.000);
}

.sub-text-wrap {
	margin-top: 0;
	overflow: hidden;
}

.sub-text-content {
	display: block;
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: min(2.4vw, 12px);
	letter-spacing: 0.05em;
	color: #FFF;
	transform: translateY(20px);
	opacity: 0;
	transition: all 1s ease-out;
}

.text-wrap.is-active::after {
	transform: scaleX(1);
}

.text-wrap.is-active .text-content {
	transform: translateY(0);
}

.sub-text-wrap.is-active .sub-text-content {
	transform: translateY(0);
	opacity: 1;
}



.top-ideal {
	padding: 2cm 0;
}

.top-ideal .section-content {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 90%;
	max-width: 1000px;
	margin: 40px auto 0;
}

.top-ideal .section-content .figure {
	width: 100%;
	max-width: 400px;
	margin: 0 auto 20px;
}

.top-ideal .section-content>.text-block {
	width: 100%;
	padding: 0 2%;
}

.top-ideal .section-content>.text-block p {
	font-size: min(4vw, 15px);
	padding-bottom: 1em;
	text-align: center;
}

.top-ideal .section-content .btn {
	font-weight: 400;
	width: 330px;
}

.top-ideal .section-content .btn a {
	font-weight: 400;
	font-size: 14px;
}

.top-instagram {
	width: 100%;
	padding: 70px 0;
	background: linear-gradient(-60deg, #F3F3F3 50%, #FFCCBD 50%);
}

.top-instagram .section-content {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 98%;
	margin: 0 auto 0;
	position: relative;
}

.top-instagram .section-content>.text-block {
	width: 90%;
	max-width: 400px;
	margin: 0 auto;
	position: relative;
}

.top-instagram .section-content>.text-block h2 {
	text-align: left;
	line-height: 1.5em;
	font-size: 18px;
	font-weight: 500;
	padding-left: 80px;
	position: relative;
}

.top-instagram .section-content>.text-block h2::before {
	content: "";
	display: block;
	position: absolute;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	background-image: url('../img/instagram-icon-black.png');
	width: 70px;
	height: 70px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.top-instagram .section-content>.text-block .instagram-box {
	background: #FFF;
	border-radius: 16px;
	filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.16));
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 10px 20px;
	margin: 40px 0 10px;
}

.top-instagram .section-content>.text-block .instagram-box~p {
	text-align: center;
	font-size: 16px;
	font-weight: 500;
}

.top-instagram .section-content>.text-block .instagram-box .text-block {
	width: 62%;
}

.top-instagram .section-content>.text-block .instagram-box .text-block p {
	display: inline-block;
	font-size: 14px;
}

.top-instagram .section-content>.text-block .instagram-box .btn-block {
	width: 36%;
}

.top-instagram .section-content>.text-block .instagram-box .btn-block a {
	font-size: 14px;
	padding: 2px 0;
	font-weight: 500;
}

.top-instagram .section-content>.text-block .instagram-box .btn-block .btn {
	margin: 0;
	top: 50%;
	transform: translateY(-50%);
}

.top-instagram .section-content>.text-block .instagram-box .btn-block .btn:after {
	top: calc(50% - 11px);
	right: 10px;
}

.top-instagram .section-content>.intragram-image {
	width: 90%;
	margin: 20px auto 0;
}


.ideal-main {
	padding: 30px 0;
}

.ideal-main .main-figure {
	width: 90%;
	max-width: 480px;
	margin: 0 auto 30px;
}

.ideal-main .hero-text p {
	font-size: min(3.5vw, 15px);
	text-align: center;
	padding-bottom: 1em;
}

.ideal-bottom {
	padding: 30px 0 60px;
}

.ideal-image {
	padding-bottom: 40px;
}

.ideal-bottom .hero-text p {
	font-size: min(3.5vw, 15px);
	text-align: center;
	padding-bottom: 1em;
}

.ideal-lists {
	width: 90%;
	max-width: 900px;
	margin: 0 auto;
}

.ideal-lists dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 50px;
}

.ideal-lists dl dt {
	width: 160px;
	height: 160px;
	border-radius: 20px;
	margin: 0 auto 20px;
	background: #fff;
	filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.16));
}

.ideal-lists dl dt p {
	position: relative;
	padding: 110px 0 0;
	text-align: center;
	font-size: 22px;
	font-weight: 500;
}

.ideal-lists dl dt p::before {
	content: "";
	display: block;
	position: absolute;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	width: 100px;
	height: 90px;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
}

.ideal-lists dl:nth-of-type(1) dt p::before {
	background-image: url('../img/ideal-icon01.svg');
}

.ideal-lists dl:nth-of-type(2) dt p::before {
	background-image: url('../img/ideal-icon02.svg');
}

.ideal-lists dl:nth-of-type(3) dt p::before {
	background-image: url('../img/ideal-icon03.svg');
}

.ideal-lists dl:nth-of-type(4) dt p::before {
	background-image: url('../img/ideal-icon04.svg');
}

.ideal-lists dl dd {
	width: calc(100%);
}

.ideal-lists dl dd .point-text {
	margin: 10px 0;
	border-radius: 14px;
	color: #FFF;
	font-size: min(4vw, 15px);
	line-height: 1.6em;
	padding: 5px 15px;
	text-align: center;
	background: linear-gradient(90deg, #fe7e43 0%, #e62841 100%);
}


.ideal-lists dl dd p:not([class]) {
	font-size: min(3.6vw, 15px);
	padding: 0 4% 1em;
}


.policy-content {
	padding: 20px 0;
}

.policy-block {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 40px;
}

.policy-block p {
	font-size: 14px;
}

.policy-block .block-ttl {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 5px;
}

.policy-block .text-box {
	background: #F3F3F3;
	padding: 20px;
	margin: 20px 0;
}

.policy-block .text-box p {
	line-height: 1.6em;
}

.policy-block .text-box p .tel-num {
	font-weight: 600;
}

.policy-block .text-box a {
	text-decoration: none;
	color: #C40338;
	font-size: 12px;
	word-break: break-all;
}

.policy-block .text-box a:hover {
	text-decoration: underline;
}

.policy-list {
	padding: 10px 0 0;
}

.policy-list li {
	margin-bottom: 15px;
}

.policy-list li .list-ttl {
	padding-left: 30px;
	position: relative;
	font-weight: 600;
	line-height: 24px;
}

.policy-list li .list-ttl span {
	color: #FFF;
	width: 24px;
	height: 24px;
	line-height: 24px;
	position: absolute;
	left: 0;
	top: 0;
	text-align: center;
	background: linear-gradient(90deg, #fe7e43 0%, #e62841 100%);
}

.policy-list li p:not([class]) {
	padding-left: 30px;
}