@charset "UTF-8";

/* ***********************************************************
*
*    INDEX
*
*    1. Global Layout
*    2. Header Layout
*    3. Contents Layout
*    4. Common Style
*    5. Print
*    6. recruit
*
* ***********************************************************
*/


/* =====================================================================
*
*    1. Global Layout
*
* =================================================================== */
#telework {
	background-color: #e8e8e8;
	font-size: 16px;
	padding: 50px 20px;
	line-height: 1.6;
}

html {
	overflow-y: scroll;
}

html,
body {
	width: 100%;
	min-width: 350px;
	height: 100%;
	-webkit-text-size-adjust: 100%;
}

div#wrapper {
	margin: 0 auto;
	/*padding: 0 15px;
	max-width: 1014px;
	min-width: 760px;*/
	padding: 0;
	max-width: 100%;
	min-width: 100%;
	height: 100%;
	min-height: 100%;
	font-feature-settings: "palt";
	letter-spacing: 1px;
	position: relative;
	z-index: 1000;
}

@media screen and (min-width : 1040px) {

	div#wrapper.detailWork,
	#topPage div#wrapper {
		padding: 0;
		max-width: 100%;
		min-width: 100%;
	}
}

body>#wrapper {
	height: auto;
}

div#container {
	text-align: left;
}

#header {
	padding: 35px 0 25px;
	height: 24px;
	height: 30px;
	position: relative;
	top: -80px;
}

div.empty {
	width: 0;
	height: 0;
	font-size: 0;
}

h2 {
	font-size: 13px;
}

h3 {
	line-height: 1.8;
}

img,
x:-moz-any-link,
x:default {
	box-shadow: #000 0 0 0;
}

@font-face {
	font-family: 'SourceHanSansJP', '源ノ角ゴシック';
	src: url('../fonts/') format('opentype');
}

/* =====================================================================
*
*    2. Header Layout
*
* =================================================================== */
#header h1 {
	margin: 0 auto 0 auto;
	width: 133px;
	height: 33px;
	position: relative;
}

#header h1 a {
	width: 133px;
	height: 33px;
	display: block;
}

#header h1 img {
	max-width: 100%;
	height: auto;
}

#menu {
	display: block;
	position: absolute;
	top: 40px;
	right: 60px;
	opacity: 1;
}

#sp_menu {
	display: none;
}

#mainNavi {
	margin: 7px 0 0;
	width: 100%;
	font-family: "Quicksand", sans-serif;
	display: flex;
	justify-content: right;
}

#mainNavi li {
	margin: 0 0 0 13px;
	color: #bbbbbb;
	font-size: 13px;
}

#mainNavi li.toHome {
	display: none;
}

#mainNavi li.toHomeSp {
	display: none;
}

@media screen and (max-width : 1060px) {
	#mainNavi li.toHomeSp {
		display: block;
	}
}

#mainNavi li.snsFP {
	display: block;
	margin: 0 0 0 15px;
}

#mainNavi li.snsTP {
	display: block;
	margin: 0 0 0 7px;
}

#mainNavi li.snsFP img,
#mainNavi li.snsTP img {
	width: 20px;
	height: auto;
}

#mainNavi li#menuUS {
	border-left: 1px solid #c8c8c8;
	border-right: 1px solid #c8c8c8;
	padding: 1px 8px 0 8px;
	margin: 3px 0 0 13px;
	font-size: 11px;
	line-height: 1;
	height: 13px;
}

#mainNavi li a {
	height: 20px;
	color: #000000;
	position: relative;
	display: block;
}

#mainNavi li#menuUS a {
	padding: 0;
	line-height: 1;
}

#mainNavi li.current a {
	color: #bbbbbb;
}

#snsNavi {
	margin: 8px 0 0;
	width: 68px;
	font-family: "Quicksand", sans-serif;
	border-right: 1px solid #c8c8c8;
	float: right;
	display: none;
}

#snsNavi li {
	border-left: 1px solid #c8c8c8;
	float: left;
	position: relative
}

#snsNavi li a {
	width: 33px;
	height: 13px;
	color: #000000;
	text-align: center;
	position: relative;
	display: block;
}



/* =====================================================================
*
*    3. Contents Layout
*
* =================================================================== */
div#liquidContainer {
	width: 100%;
}

div#contents {
	position: relative;
	max-width: 1014px;
	min-width: 760px;
	margin: 0 auto;
}
div#detailContainer {
	min-height: 100vh;
}

@media screen and (min-width : 1040px) {

	div#wrapper.detailWork div#contents,
	#topPage div#wrapper div#contents,
	div#contents.staffDetail,
	div#contents.staffIndex {
		position: relative;
		max-width: 100%;
		min-width: 100%;
		margin: 0;
	}
}

#others div#contents {
	margin-top: 15px;
	opacity: 0;
	min-height: 100vh;
	/*display: none;*/
}

div#sns {
	width: 200px;
	height: 22px;
	overflow: hidden;
	position: absolute;
	left: 0;
	bottom: 44px;
}

div#sns ul li {
	margin: 0 10px 0 0;
	float: left;
}

/*#fb_btn {
	width: 70px;
	height: 21px;
	overflow: hidden;
}*/

#privacy_box{
	background-color: rgba(240,240,240,0.9);
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 15px 0;
}
#privacy_box p{
	text-align: center;
}
#privacy_box a{
	color: #333;
}
#privacy_box a:hover{
	text-decoration: underline;
}
#privacy_box #privacy_close{
	position: absolute;
	right: 30px;
	bottom: 25%;
	font-size: 20px;
}
#privacy_box #privacy_close:hover{
	cursor: pointer;
	opacity: 0.7;
}

#footer{
	text-align: center;
	color: #000000;
	font-family: "Quicksand", sans-serif;
	font-size: 11px;
	letter-spacing: 0;
	padding: 70px 0;
	background-color: #ffffff;
}
#footer p#copyright{
	margin-top: 20px;
}

div#pageControll {
	margin: 0;
	width: 35px;
	position: absolute;
	top: 6px;
	right: -50px;
	z-index: 100;
}

@media screen and (min-width : 1040px) {
	div#pageControll {
		right: 50px;
	}
}

div#detailButton {
	width: 100%;
}

.fixed {
	position: fixed;
	top: 25px;
}

div#detailButton a {
	width: 35px;
	height: 35px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
}

div#detailButton a:hover {
	opacity: 0.5;
}

p#detailNext,
p#detailPrev,
p#toTop {
	position: absolute;
	left: 0;
}

p#detailNext {
	top: 45px;
}

p#detailPrev {
	top: 85px;
}

p#toTop {
	top: 0;
}

p#detailPrev a {
	background: url(../images/works/prev.svg) center center no-repeat;
}

p#detailNext a {
	background: url(../images/works/next.svg) center center no-repeat;
}

p#toTop a {
	background: url(../images/works/home.svg) center center no-repeat;
}

.br-pc {
	display: inline;
}

.br-sp {
	display: none;
}

.pc {
	display: block;
}

.sp {
	display: none;
}

/*#detailMovie iframe{
	margin-bottom:10px;
}*/

/* =====================================================================
*
*    4. Common Style
*
* =================================================================== */

.pl5 {
	padding-left: 5px !important;
}

.pl10 {
	padding-left: 10px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.pl20 {
	padding-left: 20px !important;
}

.pl25 {
	padding-left: 25px !important;
}

.pl30 {
	padding-left: 30px !important;
}

.pl35 {
	padding-left: 35px !important;
}

.pl40 {
	padding-left: 40px !important;
}

.pl45 {
	padding-left: 45px !important;
}

.pl50 {
	padding-left: 50px !important;
}

.pr5 {
	padding-right: 5px !important;
}

.pr10 {
	padding-right: 10px !important;
}

.pr15 {
	padding-right: 15px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.pr25 {
	padding-right: 25px !important;
}

.pr30 {
	padding-right: 30px !important;
}

.pr35 {
	padding-right: 35px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.pr45 {
	padding-right: 45px !important;
}

.pr50 {
	padding-right: 50px !important;
}

.pt0 {
	padding-top: 0px !important;
}

.pt5 {
	padding-top: 5px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pt35 {
	padding-top: 35px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pt45 {
	padding-top: 45px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pb0 {
	padding-bottom: 0px !important;
}

.pb5 {
	padding-bottom: 5px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pb45 {
	padding-bottom: 45px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.ml5 {
	margin-left: 5px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.ml45 {
	margin-left: 45px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.mr5 {
	margin-right: 5px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.mr45 {
	margin-right: 45px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.mt0 {
	margin-top: 0px !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mb0 {
	margin-bottom: 0px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mg5 {
	margin: 5px !important;
}

.mg10 {
	margin: 10px !important;
}

.mg15 {
	margin: 15px !important;
}

.mg20 {
	margin: 20px !important;
}

.mg25 {
	margin: 25px !important;
}

.mg30 {
	margin: 30px !important;
}

.mg35 {
	margin: 35px !important;
}

.mg40 {
	margin: 40px !important;
}

.mg45 {
	margin: 45px !important;
}

.mg50 {
	margin: 50px !important;
}

.pd5 {
	padding: 5px !important;
}

.pd10 {
	padding: 10px !important;
}

.pd15 {
	padding: 15px !important;
}

.pd20 {
	padding: 20px !important;
}

.pd25 {
	padding: 25px !important;
}

.pd30 {
	padding: 30px !important;
}

.pd35 {
	padding: 35px !important;
}

.pd40 {
	padding: 40px !important;
}

.pd45 {
	padding: 45px !important;
}

.pd50 {
	padding: 50px !important;
}

.ma0 {
	margin: 0 !important;
}

.pd0 {
	padding: 0 !important;
}

.tcenter {
	text-align: center !important;
}

.fRight {
	float: right;
}

.fLeft {
	float: left;
}

.non-spacing {
	letter-spacing: 0;
}

@media screen and (max-width : 1120px) {
	div#pageControll {
		margin: 60px auto 0;
		width: 100%;
		position: relative;
		top: auto;
		right: auto;
	}

	div#detailButton a {
		padding: 15px 0;
		width: 100%;
		height: 100%;
		color: #000000;
		text-indent: 0;
		white-space: normal;
		background: none;
		overflow: visible;
		display: block;
	}

	p#detailNext,
	p#detailPrev,
	p#toTop {
		font-family: "Quicksand", sans-serif;
		font-size: 18px;
		text-align: center;
		background: #ffffff;
		border: 1px solid #c8c8c8;
		position: relative;
		top: auto;
		left: auto;
	}

	p#detailPrev {
		margin: 0 0 15px;
		width: 48%;
		float: left;
	}

	p#detailPrev a {
		background: url(../images/works/sp_prev.svg) 12% center no-repeat;
	}

	p#detailNext {
		margin: 0 0 15px;
		width: 48%;
		float: right;
	}

	p#detailNext a {
		background: url(../images/works/sp_next.svg) 88% center no-repeat;
	}

	p#toTop {
		margin: 15px 0 0;
		width: 100%;
		clear: both;
	}
}

@media screen and (max-width : 1130px) {
	div#wrapper {
		padding: 0 10px;
		width: 100%;
		max-width: 100%;
		min-width: 100%;
		box-sizing: border-box;
	}

	#topPage div#wrapper {
		padding: 0;
	}

	.pdChanges div#wrapper {
		padding: 0 18px !important;
	}

	div#wrapper.detailWork {
		padding: 0 !important;
	}

	div#container {
		margin: 0 auto;
		width: 100%;
	}

	#header {
		padding: 24px 0;
		text-align: center;
	}

	#header h1 {
		margin: 0 auto;
		width: 134px;
		float: none;
	}

	#header h1 img {
		width: 100%;
		height: auto;
	}

	div#contents {
		max-width: 100%;
		min-width: 100%;
		margin: 0;
	}

	#others div#contents {
		padding-top: 0;
	}

	#menu {
		display: none;
		width: 100%;
		height: 100%;
		background: #000000;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9998;
		transition: all .4s;
	}

	body>#menu {
		height: auto;
	}

	#header .open {
		background: none;
	}

	#sp_menu {
		padding: 26px;
		width: 27px;
		height: 23px;
		position: fixed;
		top: 0;
		right: 0;
		background: rgba(255, 255, 255, .95);
		display: block;
		z-index: 9999;
	}

	#sp_menu:hover {
		cursor: pointer;
	}

	#sp_menu_wrap {
		width: 27px;
		height: 23px;
		position: relative;
	}

	#sp_menu span {
		width: 27px;
		height: 2px;
		background: #000000;
		box-sizing: border-box;
		position: absolute;
		left: 0;
		display: inline-block;
		transition: all .2s;
	}

	#sp_menu span:nth-of-type(1) {
		top: 0;
	}

	#sp_menu span:nth-of-type(2) {
		top: 11px;
	}

	#sp_menu span:nth-of-type(3) {
		bottom: 0;
	}

	#sp_menu.open span:nth-of-type(1) {
		background: #ffffff;
		transform: translateY(12px) rotate(-45deg);
	}

	#sp_menu.open span:nth-of-type(2) {
		background: #ffffff;
		opacity: 0;
	}

	#sp_menu.open span:nth-of-type(3) {
		background: #ffffff;
		transform: translateY(-9px) rotate(45deg);
	}

	#mainNavi li a,
	#snsNavi li a {
		color: #ffffff;
	}

	#mainNavi {
		margin: 0;
		width: 100%;
		display: block;
		float: none;
	}

	#mainNavi li {
		margin: 0;
		color: #5a5a5a;
		border-bottom: 1px solid #5a5a5a;
		float: none;
	}

	#mainNavi li#menuUS {
		border-left: none;
		border-right: none;
		padding: 0;
		margin: 0;
		height: auto;
	}

	#mainNavi li.snsFP,
	#mainNavi li.snsTP {
		display: none;
	}

	#mainNavi li:first-child {}

	#mainNavi li:first-child a {
		margin: 0 auto;
		padding: 24px 0 16px;
		width: 133px;
	}

	#mainNavi li:first-child img {
		width: 100%;
		height: auto;
	}

	#mainNavi li.current {
		padding: 22px 0 16px !important;
	}

	#mainNavi li a {
		padding: 20px 0 20px;
		height: auto;
		color: #ffffff;
		font-size: 14px;
		float: none;
	}

	#mainNavi li#menuUS a {
		padding: 20px 0 20px;
		line-height: 1;
	}
	#mainNavi li#menuUS.current {
		padding: 0 !important;
	}


	#mainNavi li.current a {
		padding: 0;
	}

	#snsNavi {
		margin: 10px 0 0;
		width: 100%;
		border-right: none;
		display: flex;
		justify-content: center;
	}

	#snsNavi li {
		width: 55px;
		height: 55px;
		border-left: none;
		display: inline-block;
		float: none;
	}

	#snsNavi li a {
		width: 100%;
		height: 100%;
		color: #ffffff;
		display: block;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}

	#snsNavi li a#tw_button {
		background: url(../images/menu_t.png) center top no-repeat;
		background-size: contain;
	}

	#snsNavi li a#fb_button {
		background: url(../images/menu_f.png) center top no-repeat;
		background-size: contain;
	}

	div#sns {
		margin: 30px 0 0;
		width: 100%;
		height: 22px;
		text-align: center;
		overflow: hidden;
		position: relative;
		left: 0;
		bottom: 0;
	}

	div#sns ul li {
		margin: 0 10px 0 0;
		display: inline-block;
		float: none;
	}

	.br-pc {
		display: none;
	}

	.br-sp {
		display: inline;
	}

	/*#fb_btn {
		width: 70px;
		height: 21px;
		overflow: hidden;
	}*/

	#footer {
		padding: 20px 0;
	}
	#topPage #footer{
		padding: 20px 0 70px;
	}

	p#rct2020_copyright {
		padding: 20px 0;
		text-align: center;
	}
}

@media screen and (max-width : 640px) {
	div#container {
		width: 100%;
	}

	p#detailNext,
	p#detailPrev,
	p#toTop {
		font-size: 14px;
	}

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}
}

/* =====================================================================
*
*    5. Print
*
* =================================================================== */
@media print {}

/* =====================================================================
*
*    6.recrut
*
* =================================================================== */