@charset "utf-8";
/*
Theme Name: PolyPhony theme
Theme URI: http://www.polyphony.co.jp/
Description: ポリフォニー・デジタル専用のベーステーマ
Author: Polyphony Digital
Url: http://www.polyphony.co.jp
Version: 1.0
*/


/* Reset
-------------------------------------------------------------------------------*/
html, 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, font, 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 {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight: normal;
	vertical-align: baseline;
	border: 0;
	outline: 0;
	background: transparent;
}

ol, ul {
	list-style: none;
	margin-bottom: 0;
}

li {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

table tr {
	height: 35px;
}

table th,
table td {
	font-size: 16px;
	text-align: center;
	vertical-align: middle;
}
.sp table th,
.sp table td {
	font-size: 11px;
}

table tr th,
table tr td {
	padding: 23px 0 4px 0;
	text-align: left;
/* 	letter-spacing: 0.4px; */
	line-height: 150%;
	border-bottom: 1px solid #aaaaaa;
}

img {
	vertical-align: top;
}





/* Base
-------------------------------------------------------------------------------*/
html {

}

body {
	height: 100%;
	color: #000000;
	font-size: 14px;
	font-weight: normal;
	font-style: normal;
	font-family: "FOT-セザンヌ Pro M", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	line-height: 1;
	background-color: #ffffff;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a {
	color: #333333;
	text-decoration: none;
	overflow: hidden;
	outline: none;
}
a:hover {
	color: #9d9d9d;
}
a:focus, *:focus {
	outline: none;
}

::-moz-selection{ background: #9d9d9d; color: #fff; text-shadow: none; }
::selection { background: #9d9d9d; color: #fff; text-shadow: none; }
a:link { -webkit-tap-highlight-color: rgba(204, 204, 204, 0.4); }

p {
	margin-bottom: 25px;
	line-height: 200%;
}

.clearfix {zoom:1;}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.centered {
	position: relative;
	overflow: hidden;
}

.centered ul {
	position: relative;
	left: 50%;
	float: left;
}

.centered ul li {
	position: relative;
	left: -50%;
	float: left;
}

.pc .tb_center {
	position: relative;
	display: inline-block;
	top: 50%;
	margin-top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

#scrolltop {
	position: absolute;
	bottom: 105px;
	right: 55px;
	cursor: pointer;
}
#scrolltop:hover {
	opacity: 0.6;
	-moz-opacity: 0.6;
	filter:alpha(opacity=60);
}
.sp #scrolltop {
	display: none;
}





/* Common
-------------------------------------------------------------------------------*/
#wrapper {
	overflow-x: hidden;
	min-width: 1000px;
}
.sp #wrapper {
	min-width: 0;
}

.content {
	margin-bottom: 120px;
	padding-top: 85px;
}
#home_page.content,
#company_page.content {
	margin-bottom: 0;
	padding-top: 0;
}
#recruit_page.content,
#jobs_page.content,
#jobs_single.content,
#locations_page.content,
#locations_single.content,
#income_page.content {
	padding-top: 0;
}
.sp .content {
	padding-top: 38px !important;
}
.sp #home_page.content {
	padding-top: 0 !important;
}
.sp #message_page.content,
.sp #people_page.content,
.sp #people_single.content,
.sp #site-policy_page.content,
.sp #privacy-policy_page.content,
.sp #contact_page.content {
	padding-top: 80px !important;
}

.container {
	width: 960px;
	margin: 0 auto;
}
.sp .container {
	width: 100%;
	margin: 0;
	padding: 0 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.pc .current_nav .underline {
	position: relative;
	left: -3px;
	display: block;
	width: 0%;
	margin-top: 5px;
	border-bottom: 1px solid #000000;
}

.sp .current_nav .underline {
	position: relative;
	left: -3px;
	display: block;
	width: 0%;
	margin-top: -2px;
	border-bottom: 2px solid #000000;
}

#menu-jnav .current_page_item a {
	display: block;
	color: #000000 !important;
}
.sp #menu-jnav .current_page_item a {
	padding-top: 2px
}

#menu-jnav .current_page_item .underline {
	position: relative;
	top: 3px;
	left: -5px;
	display: block;
	width: 0%;
	border-bottom: 1px solid #000000;
}

.wp-pagenavi {
	font-size:14px;
	text-align:center;
	margin-bottom: 15px;
}

.wp-pagenavi .pages {
	display: block;
	margin-bottom: 15px;
	font-size: 12px;
	font-weight: bold;
}

.wp-pagenavi a {
	padding:0 5px;
}

.wp-pagenavi .current {
	color:#999;
	padding:0 5px;
}

.pc .menu_close {
	display: none;
}

.snav li {
	float: left;
	margin-left: 13px;
}
.snav li:first-child {
	margin-left: 0;
}
.sp .snav li {
	float: none;
	margin-left: 0;
	margin-bottom: 12px;
}
.sp #menu_container .snav li {
	margin-bottom: 15px;
}

.snav li a {
	padding-left: 18px;
	font-size: 10px;
	font-family: Usual-Regular, sans-serif;
	color: #666666;
	letter-spacing: 0.6px;
	background-image: url(images/arrow1.png);
	background-size: 10px 10px;
	background-repeat: no-repeat;
	background-position: 0 0;
}
.snav li a:hover {
	color: #999999;
}
.win.firefox .snav li a {
	background-position: 0 1px;
}
.mac .snav li a {
	background-position: 0 -1px;
}
.sp #home_page .snav li a {
	padding-left: 0;
	font-size: 10px;
	background-image: none !important;
}
.sp #menu_container .snav li a {
	padding-left: 0;
	font-size: 16px;
	color: #000000;
	background-image: none;
}

#cover {
	margin-bottom: 105px;
}
.sp #cover {
	margin-bottom: 32px;
}

#owl .item img{
    display: block;
    width: 100%;
    height: auto;
}

#heading {
	position: relative;
}

.title_type {
	margin-bottom: 15px;
	font-size: 14px;
	letter-spacing: 2px;
}
.sp .title_type {
	margin-bottom: 8px;
	font-size: 12px;
}

.title_en {
	margin-bottom: 45px;
	font-size: 52px;
	font-family: Usual-Medium, sans-serif;
	letter-spacing: 1px;
}
.sp .title_en {
	margin-bottom: 25px;
	font-size: 30px;
}
.sp .title_en span {
	display: block;
	margin-top: 10px;
}

.title_ja {
	margin-left: 10px;
	font-size: 14px;
	letter-spacing: 1.2px;
}
.sp .title_ja {
	margin-left: 0;
}

.section_title {
	margin-bottom: 45px;
	font-size: 18px;
	letter-spacing: 1px;
}
.sp .section_title {
	margin-bottom: 22px;
}

small {
	font-size: 12px;
}

.two_column {
	width: 960px;
	margin: 0 auto;
}
.sp .two_column {
	width: 100%;
	margin: 0;
	padding: 0 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.two_column .left {
	float: left;
	width: 170px;
}
.sp .two_column .left {
	float: none;
	width: 100%;
}

.two_column .right {
	width: 760px;
	margin-left: 170px;
}
.sp .two_column .right {
	width: 100%;
	margin-left: 0;
}

.three_column .left {
	float: left;
	width: 160px;
	padding: 0 15px 0 10px;
}
.sp .three_column .left {
	position: relative;
	width: 100%;
	float: none;
	margin-bottom: 15px;
	padding: 0;
}

.three_column .center {
	float: left;
	width: 160px;
	margin-left: 0px;
}
.sp .three_column .center {
	width: 80px;
}
.sp .three_column .center img {
	width: 100%;
	height: auto;
}

.three_column .right {
	width: 515px;
	margin-left: 380px;
}
.sp .three_column .right {
	width: 100%;
	margin-left: 0px;
	padding-left: 95px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.attachment-jobs_thumb {
	width: 160px;
	height: auto;
}

#lang {
	padding-top: 7px;
}
.sp #lang {
	margin-top: 0px;
	margin-bottom: 15px;
	text-align: right;
}
.sp #message_page #lang {
	margin-top: 30px;
	margin-bottom: 15px;
}

#lang span {
	font-family: Usual-Medium, sans-serif;
	cursor: pointer;
}
#lang #en:hover,
#lang #ja:hover {
	color: #9d9d9d;
}

#lang span.active {
	text-decoration: line-through;
}

.bold_ja {
	font-family: "FOT-セザンヌ Pro DB", sans-serif;
	font-weight: 700;
}

.back1 {
	position: fixed;
	top: 200px;
	left: 23px;
	font-size: 14px;
	font-family: Usual-Medium, sans-serif;
	padding-left: 20px;
	background-image: url(images/arrow2.png);
	background-size: 12px 10px;
	background-repeat: no-repeat;
	background-position: 0 2px;
	letter-spacing: 1px;
	z-index: 100;
	opacity: 0;
	display: none;
}
.mac .back1 {
	background-position: 0 1px;
}
.sp .back1 {
	display: none;
}

.back2 {
	font-size: 14px;
	font-family: Usual-Medium, sans-serif;
	padding-left: 20px;
	background-image: url(images/arrow2.png);
	background-size: 12px 10px;
	background-repeat: no-repeat;
	background-position: 0 2px;
}
.mac .back2 {
	background-position: 0 1px;
}

.data_list > li {
	position: relative;
}
.sp .data_list > li {
	padding-top: 10px;
	border-bottom: 1px solid #cccccc;
}
.sp .data_list > li:last-child {
	border-bottom: none;
}

.data_list > li > .title {
	float: left;
	margin-bottom: 10px;
	padding: 10px 15px 5px 0;
	letter-spacing: 0.8px;
	line-height: 140%;
	background-color: #ffffff;
}
.sp .data_list > li > .title {
	float: none;
	margin-bottom: 5px;
}

.sp .data_list > li > .title br {
	display: none;
}


.data_list > li > .line {
	position: absolute;
	display: block;
	width: 150px;
	margin-top: 18px;
	border-top: 1px solid #CCCCCC;
	z-index: -100;
}
.sp .data_list > li > .line {
	display: none !important;
}

.data_list > li > .description {
	margin: 0 0 10px 150px;
	padding: 5px 0px 5px 15px;
	color: #888888;
}

.sp .data_list > li > .description {
	margin: 0 0 10px 0;
	padding: 0;
}

.data_list > li > .description span {
	margin-right: 15px;
}
.sp .data_list > li > .description span {
	display: block;
}

.data_list > li > a {
	display: inline-block;
	margin-bottom: 5px;
	color:#888888;
	text-decoration: underline;
}

.data_list > li > a:hover {
	color:#000000;
}


.data_list li dl{
	width: 610px;
	margin-left: 165px;
}
.data_list li dl dt,
.data_list li dl dd{
  color: #888888;
  line-height: 160%;
  margin-bottom: 12px;
}
.data_list li dl dt{
	width: 60px;
	float: left;
}
.data_list li dl dd{
	padding-left: 60px;
}
.publications .data_list li dl dd {
	padding-left: 0;
	margin: 0 0 6px
}
/*
.publications .data_list li dl dd.name {
	margin-bottom: 2px;
}
*/



.black {
	position: absolute;
	top: 0;
	left: 0;
	width: 105%;
	height: 100%;
	background-color: #000000;
}

.mask {
	overflow: hidden;
}

.number {
	display: block;
	margin-bottom: 12px;
	font-size: 10px;
}
.sp .number {
	margin-bottom: 0px;
}

.button {
	display: inline-block;
	padding: 19px 30px 18px 30px;
	color: #000000 !important;
	text-decoration: none !important;
	border: 1px solid #000000;
	border-radius: 3px;
}
.button:hover {
	color: #ffffff !important;
	background-color: #000000;
}

.button span {
	display: inline-block;
	margin: 0 !important;
	padding-right: 25px;
	background-image: url(images/arrow4.png);
	background-image: url(images/arrow3.png);
	background-size: 14px 12px;
	background-repeat: no-repeat;
	background-position: 100% center !important;
}
.button:hover span {
	background-image: url(images/arrow4.png);
}
.mac .button span {
    background-position: 100% 1px;
}
.sp .button span {
	line-height: 140%;
    background-position: 100% 2px;
}

#jobs_nav {
	margin-bottom: 65px;
	padding: 18px 0 14px 0;
	border-bottom: 1px solid #EFEFEF;
}
.sp #jobs_nav {
	margin-bottom: 35px;
}

#jnav_container {
	position: relative;
}

#jnav_container .back1 {
	position: absolute;
	top: 5px;
}
.sp #jnav_container .back1 {
	display: none;
}

.sp #menu-jnav {
	text-align: center;
}

#menu-jnav li {
	float: left;
	margin-left: 23px;
	padding: 5px 0 5px 0;
}
#menu-jnav li:first-child {
	margin-left: 0;
}
.sp #menu-jnav li {
	float: none;
	display: inline-block;
	margin: 0 5px;
}

#menu-jnav li a {
	color: #999999;
}
#menu-jnav li a:hover {
	color: #000000;
}
.sp #menu-jnav li a {
	font-size: 14px;
}

#menu-jnav #menu-item-190,
#menu-jnav #menu-item-943 {
	display: block;
	margin-left: 26px;
	padding: 5px 0 5px 24px;
	border-left: 1px solid #aaaaaa;
}
.sp #menu-jnav #menu-item-190,
.sp #menu-jnav #menu-item-943 {
	display: inline-block;
	margin-left: 7px;
	padding: 5px 0;
	border-left: none;
}

#jobs {
	margin-bottom: 120px;
}
.sp #jobs {
	margin-bottom: 60px;
}

#jobs > .title {
	margin-bottom: 50px;
	letter-spacing: 1px;
}
.sp #jobs > .title {
	margin-bottom: 25px;
}

.pc #jobs #jobs_container {
/*	height: 560px;
*/
	overflow-y: auto;
}

#jobs #jobs_list li {
	margin-bottom: 30px;
}
.sp #jobs #jobs_list li {
	margin-bottom: 45px;
}
.sp .english #jobs #jobs_list li {
	margin-bottom: 0;
}

#jobs #jobs_list li a:hover .three_column {
	opacity: 0.65;
	-moz-opacity: 0.65;
	filter:alpha(opacity=65);
}

#jobs #jobs_list .left .title {
	margin-bottom: 10px;
	line-height: 1;
	letter-spacing: 1px;
}
.sp #jobs #jobs_list .left .title {
	font-size: 11px;
}

#jobs #jobs_list .left .locations {
    font-size: 12px;
    color: #888888;
    line-height: 160%;
    letter-spacing: 1px;
}
.sp #jobs #jobs_list .left .locations {
	position: absolute;
	top: -3px;
	left: 50px;
	font-size: 11px;
}

.sp .english #jobs #jobs_list .left .locations {
	position: static;
}

#jobs #jobs_list .left .locations span:after {
	content: "/";
	display: inline-block;
	margin: 0 -2px 0 2px;
}
#jobs #jobs_list .left .locations span:last-child:after {
	content: "";
}

#jobs #jobs_list .right .jobs_en {
	margin-bottom: 10px;
	font-family: Usual-Medium, sans-serif;
}
.sp #jobs #jobs_list .right .jobs_en {
	font-size: 10px;
	line-height: 140%;
}

#jobs #jobs_list .right .jobs_ja {
	margin: 0 0 2px -1px;
	padding-top: 14px;
	font-size: 24px;
	line-height: 120%;
}
.sp #jobs #jobs_list .right .jobs_ja {
	margin-bottom: 5px;
	padding-top: 0;
	font-size: 16px;
}

#jobs #jobs_list .right .excerpt {
	color: #888888;
}
.sp #jobs #jobs_list .right .excerpt {
	min-height: 80px;
}

#jobs #jobs_list .right .excerpt p {
	margin-bottom: 0;
	line-height: 185%;
}
.sp #jobs #jobs_list .right .excerpt p {
	font-size: 12px;
	line-height: 160%;
}

#employment_list {
	margin-top: 15px;
}
.sp #employment_list {
	position: absolute;
	top: 120px;
	left: 0;
	width: 80px;
	margin: 0;
}

#employment_list li {
	float: left;
	margin: 0 0 5px 5px !important;
	padding: 5px 6px 7px 6px;
	font-size: 12px;
	color: #ffffff;
	background-color: #777777;
	border-radius: 3px;
}
#employment_list li:first-child {
	margin: 0 !important;
}
.sp #employment_list li {
	margin: 0 5px 5px 0 !important;
	padding: 4px 4px 4px 4px;
	font-size: 10px;
}
.sp #employment_list li:nth-child(2) {
	margin: 0 0 5px 0;
}

#locations_list li {
	position: relative;
	float: left;
	margin-left: 45px;
	text-align: center;
}
#locations_list li:first-child {
	margin-left: 0;
}
#locations_list li:after {
	content: "-";
	position: absolute;
	top: 0px;
	right: -18px;
	display: block;
	height: 60px;
	text-indent: -9999px;
	border-right: 1px solid #efefef;
	transform: rotateZ(20deg);
}
#locations_page #locations_list li:after {
	right: -22px;
	transform: rotateZ(0deg);
}
#locations_list li:last-child:after {
	content: "";
	border-right: none;
}
.sp #locations_list li {
	display: inline-block;
	float: none;
	width: 100%;
	margin-left: 0;
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #efefef;
}
.sp #locations_list li:first-child {
	padding-top: none;
	border-top: none;

}
.sp #locations_list li:after {
	content: none;
	border-right: none;
}

#locations_list li .title_en {
	margin-bottom: 15px;
	font-size: 24px;
	font-family: "FOT-セザンヌ Pro DB", sans-serif;
	line-height: 1;
}
#locations_page #locations_list li .title_en {
	font-size: 16px;
}

#locations_list li .title_ja {
	margin-bottom: 0;
	font-size: 14px;
	color: #888888;
	line-height: 1;
	letter-spacing: 0.8px;
}
#locations_page #locations_list li .title_ja {
	font-size: 12px;
}

#locations_list li a {
	display: block;
	width: 100%;
	height: 100%;
}
#locations_list li a:hover {
	opacity: 0.75;
	-moz-opacity: 0.75;
	filter:alpha(opacity=75);
}

#locations_list .current a {
	display: block;
	padding-bottom: 16px;
	border-bottom: 2px solid #888888;
	opacity: 0.35 !important;
	-moz-opacity: 0.35 !important;
	filter:alpha(opacity=35) !important;
}
.sp #locations_list .current a {
	padding-bottom: 0;
	border-bottom: none;
}

#map-canvas {
	width: 100%;
	height: 480px;
	margin: 0 0 25px 0;
	padding: 73px 0 86px 0;
	background-color: #FAFAFA;
	border-bottom: 1px solid #EFEFEF;
}
#company_page #map-canvas {
    border-top: 1px solid #EFEFEF;
}
.sp #map-canvas {
	height: 378px;
	margin: 0 15px 25px 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.sp #company_page #map-canvas,
.sp #locations_page #map-canvas {
	display: none;
}

#map-canvas-container {
	position: relative;
	width: 1000px;
	margin: 0 auto;
}

#map-canvas-container .pin:hover {
	opacity: 0.8;
	-moz-opacity: 0.8;
	filter:alpha(opacity=80);
}
.sp #map-canvas-container .pin:hover {
	opacity: 1;
}

#map-canvas-container #pin1 {
	position: absolute;
	top: 175px;
	left: 412px;
}

#map-canvas-container #pin2 {
	position: absolute;
	top: 183px;
	left: 252px;
}

#map-canvas-container #pin3 {
	position: absolute;
	top: 221px;
	left: 442px;
}

#map-canvas-container #pin4 {
	position: absolute;
	top: 118px;
	left: 52px;
}

#map-canvas-container #pin5 {
	position: absolute;
	top: 166px;
	left: 579px;
}

.category {
	margin-bottom: 80px;
}
.sp .category {
	margin-bottom: 45px;
}

.sp .category .category_list {
	display: none;
}

.category .category_list li {
	float: left;
	margin-left: 35px;
}
.category .category_list li:after {
	content: "-";
	position: absolute;
	top: 0px;
	right: -15px;
	display: block;
	height: 40px;
	text-indent: -9999px;
	border-right: 1px solid #cccccc;
	transform: rotateZ(20deg);
}
.category .category_list li:last-child:after {
	content: "";
	border-right: none;
}
.category .category_list li:first-child {
	margin-left: 0;
}
.sp .category .category_list li {
	float: none;
	margin-left: 0;
	margin-bottom: 15px;
}
.sp .category .category_list li:after {
	content: none;
	border-right: none;
}

.category .category_list li .name_en {
	margin-right: 12px;
	font-size: 24px;
	font-family: Usual-Medium, sans-serif;
}

.category .category_list .current a {
	display: block;
	padding-bottom: 2px;
	color: #000000;
	border-bottom: 2px solid #000000;
}

.category .category_form {
	display: none;
}
.sp .category .category_form {
	display: block;
	padding: 0 15px;
	text-align: center;
}

.sp .category .category_select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	padding: 12px 14px 12px 14px;
	background-color: #ffffff;
	background-image: url(images/arrow7.png);
	background-repeat: no-repeat;
	background-position: 95% center;
	background-size: 12px 9px;
	border: 1px solid #000000;
	border-radius: 0;
}

.embed-container {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
	height: auto;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#dot {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(images/pattern1.png);
	background-repeat: repeat;
	background-position: 0 0;
	background-size: 2px 2px;
	z-index: 100;
}

#youtube {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -9999;
	opacity: 0;
	display: none;
}
.sp #youtube,
.tablet #youtube {
	display: none !important;
}

#youtube #player {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 960px;
	height: 540px;
	margin: -270px 0 0 -480px;
	background-color: #000000;
}

.youtube_list {
	width: 795px;
	margin: -4px 0 10px 150px;
	padding: 0 0px 0 15px;
}
.sp .youtube_list {
	width: 100%;
	margin: -4px 0 40px 0;
	padding: 0;
}

.youtube_list li {
	position: relative;
	float: left;
	width: 190px;
	margin-left: 12px;
}
.youtube_list li:first-child {
	margin-left: 0;
}
.youtube_list li:nth-child(2) {
	margin-left: 11px;
}
.sp .youtube_list li {
	width: 50%;
	margin-left: 0;
	margin-bottom: 6px;
	padding: 0px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.sp .youtube_list li:nth-child(n+1) {
	padding-left: 3px;
}
.sp .youtube_list li:nth-child(2n+1) {
	padding-right: 1.6%;
	padding-left: 0;
}
.sp .youtube_list li.no_element {
	display: none;
}

.youtube_list li img {
	width: 190px;
	height: auto;
}
.sp .youtube_list li img {
	width: 100%;
	height: auto;
}

.youtube_list li .play {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(images/play.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 66px 46px;
	background-color: rgba(255, 255, 255, 0.4);
	display: none;
}

.youtube_list li a:hover .play {
	display: block;
}

.lazy-hidden {
    opacity: 0;
}
.lazy-loaded {
    -webkit-transition: opacity 0.6s;
    -moz-transition: opacity 0.6s;
    -ms-transition: opacity 0.6s;
    -o-transition: opacity 0.6s;
    transition: opacity 0.6s;
    opacity: 1;
}

.color-red {
	color: #c00;
	margin-right: 0!important; 
}

.bold {
	font-weight: bold;
}

#jobs_single .description a,
#people_single .description a {
	text-decoration: underline;
}





/* Header
-------------------------------------------------------------------------------*/
header {
	position: relative;
	width: 100%;
	height: 175px;
	border-bottom: 1px solid #efefef;
	z-index: 5000;
	opacity: 0;
	display: none;
}
.sp header {
	position: fixed;
	top: 0;
    left: 0;
	height: 38px;
	background-color: #ffffff;
}

header #logo {
	position: absolute;
	top: 30px;
	left: 38px;
}
.sp header #logo {
	position: fixed;
	top: 10px;
	left: 50%;
	margin-left: -49px;
}

.sp header #logo a {
	padding: 14px 0;
}

header #logo a:hover {
	opacity: 0.75;
	-moz-opacity: 0.75;
	filter:alpha(opacity=75);
}
.sp header #logo a:hover {
	opacity: 1;
}

.pc header #logo #logo_sp {
	display: none;
}

.sp header #logo #logo_pc {
	display: none;
}

header #menu {
	display: none;
}
.sp header #menu {
	position: fixed;
	top: 1px;
	left: 5px;
	padding: 10px;
	z-index: 9999;
	cursor: pointer;
	display: block;
}

#menu .icon_bar {
	display: block;
	width: 24px;
	height: 2px;
	margin-bottom: 6px;
	background-color: #000000;
}

.sp header #menu_container {
	position: fixed;
	top: 0;
	left: 0;
	width: 75%;
	height: 100%;
	padding: 80px 0 0 20px;
	background-color: #ffffff;
	box-shadow:rgba(153, 153, 153, 0.4) 0px 0px 16px 3px;
	-webkit-box-shadow:rgba(153, 153, 153, 0.4) 0px 0px 16px 3px;
	-moz-box-shadow:rgba(153, 153, 153, 0.4) 0px 0px 16px 3px;
	z-index: 9998;
	display: none;
}

.sp header #white {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.7);
	z-index: -100;
	display: none;
	opacity: 0;
}

header #gnav_container {
	position: fixed;
	top: 0px;
	right: 0px;
	padding: 27px 30px 24px 32px;
	background-color: #ffffff;
	z-index: 100;
}
.sp header #gnav_container {
	position: static;
	top: auto;
	right: auto;
	padding: 0;
float:left;
margin-right: 60px;
}

header #menu-gnav li {
	float: left;
	margin-left: 16px;
	padding: 5px 0;
}
header #menu-gnav li:first-child {
	margin-left: 0;
}
.sp header #menu-gnav li {
	float: none;
	margin-left: 0;
	margin-bottom: 12px;
}

header #menu-gnav li a {
	font-size: 14px;
	font-family: Usual-Medium, sans-serif;
	letter-spacing: 1.1px;
}
.sp header #menu-gnav li a {
	display: inline-block;
	font-size: 30px;
	font-family: Usual-Regular, sans-serif;
}

header #menu-gnav li#menu-item-45 {
	height: 15px;
	margin-left: 25px;
	padding-left: 25px;
	border-left: 1px solid #000000;
}
.sp header #menu-gnav li#menu-item-45 {
	height: auto;
	margin-left: 0;
	padding-left: 0;
	border-left: none;
}

header .snav_container {
	position: absolute;
	top: 110px;
	right: 32px;
}
.sp header .snav_container {
	position: static;
	top: auto;
	right: auto;
	margin-top: 45px;
float:left;
}

header .copyright {
	margin: 5px -0.3em 0 0;
}
.sp header .copyright {
	display: none;
}




/* Top Page
-------------------------------------------------------------------------------*/
#home_page{
}
#home_page #photo {
	display: none;
	background: #000000;
}
.sp #home_page #photo,
.tablet #home_page #photo {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 2000;
}

.sp #home_page #photo #slides,
.tablet #home_page #photo #slides_tablet {
	display:none;
}

.sp #home_page #photo img,
.tablet #home_page #photo img {
	width: 100%;
	height: auto;
}

#home_page #home_menu {
	position: relative;
	margin-left: 5%;
}
.sp #home_page #home_menu {
	margin-left: 0;
	padding: 20px;
	z-index: 3000;
}

.tablet #home_page #home_menu {
	z-index:3000;
}

#home_page #home_menu #logo4 {
	margin-bottom: 65px;
}
.sp #home_page #home_menu #logo4 {
	position: absolute;
	top: 22px;
	right: 22px;
	width: 56px;
	height: auto;
}

#home_page #menu-gnav-1 {
	margin-bottom: 20px;
}
.sp #home_page #menu-gnav-1 {
	margin-bottom: 20px;
}

#home_page #menu-gnav-1 li.menu-item-42 {
	display: none;
}

#home_page #menu-gnav-1 li {
	float: left;
	margin-left: 18px;
	padding: 5px 0;
}
#home_page #menu-gnav-1 li:first-child {
	margin-left: 0;
}
.sp #home_page #menu-gnav-1 li {
	float: none;
	margin-left: 0;
	margin-bottom: 4px;
}

#home_page #menu-gnav-1 li a {
	font-size: 22px;
	font-family: Usual-Regular, sans-serif;
	letter-spacing: 0.9px;
	color: #ffffff;
}
#home_page #menu-gnav-1 li a:hover {
	color: #9d9d9d;
}
.sp #home_page #menu-gnav-1 li a {
	font-size: 22px;
	letter-spacing: 2px;
}


#home_page #menu-gnav-1 li.menu-item-45 {
	margin-left: 25px;
	padding-left: 25px;
	border-left: 1px solid #ffffff;
}
.sp #home_page #menu-gnav-1 li.menu-item-45 {
	margin-left: 0;
	padding-left: 0;
	border-left: none;
}

#home_page #menu-snav-1 li a {
	font-size: 12px;
	font-family: Usual-Regular, sans-serif;
	letter-spacing: 1px;
	color: #ffffff;
	background-image: url(images/arrow8.png);
	background-size: 10px 10px;
	background-repeat: no-repeat;
	background-position: 0px 1px;
}
.win.firefox #home_page #menu-snav-1 li a {
	background-position: 0px 2px;
}
.mac #home_page #menu-snav-1 li a {
	background-position: 0px 0px;
}

#home_page #menu-snav-1 li a:hover {
	color: #9d9d9d;
}

.sp #home_page #menu-snav-1 li{
  margin-bottom: 9px;
}
.sp #home_page #menu-snav-1 li a {
  font-size: 10px;
  letter-spacing: 1px;
}

#home_page #home_menu .copyright {
	position: absolute;
	bottom: 0;
	right: 100px;
	margin: 0;
	font-size: 11px;
	font-family: "Garamond Premier Pro", 'Garamond 3 LT Std', 'EB Garamond', serif;
	color: #ffffff;
}
.sp #home_page #home_menu .copyright {
	display: none;
}

#home_page #home_menu .title {
	position: relative;
	width: 540px;
	margin-top: 50px;
	margin-bottom: 20px;
	padding-bottom: 5px;
	font-size: 16px;
	color: #ffffff;
	border-bottom: 1px solid #ffffff;
}
.sp #home_page #home_menu .title {
	display: none;
}

#home_page #home_menu .viewall {
	position: absolute;
	top: 3px;
	right: 0;
	padding-right: 25px;
	font-size: 12px;
	color: #ffffff;
	background-image: url(images/arrow4.png);
	background-size: 14px 12px;
    background-repeat: no-repeat;
    background-position: 100% 9px;
}
#home_page #home_menu .viewall:hover {
	color: #9d9d9d;
}
.sp #home_page #home_menu .viewall {
	display: none;
}

#home_page #home_menu .data_list {
	width: 540px;
}
.sp #home_page #home_menu .data_list {
	width: 100%;
	margin-top: 25px;
}

.sp #home_page #home_menu .data_list > li {
	border-bottom: none;
}

#home_page #home_menu .data_list .date {
	margin-right: 22px;
	font-size: 14px;
	color: #ffffff;
	line-height: 150%;
	vertical-align: top;
}
.sp #home_page #home_menu .data_list .date {
	display: block;
	margin-bottom: 5px;
	font-size: 10px;
}

#home_page #home_menu .data_list li {
	margin-bottom: 2px;
}
.sp #home_page #home_menu .data_list li {
	display: none;
}
.sp #home_page #home_menu .data_list li:first-child {
	display: block;
}

#home_page #home_menu .data_list li a {
	width: 430px;
	font-size: 14px;
	color: #ffffff;
	line-height: 150%;
	text-decoration: none;
}
#home_page #home_menu .data_list li a:hover {
	color: #9d9d9d;
}
.sp #home_page #home_menu .data_list li a {
	width: 100%;
	font-size: 10px;
	text-decoration: underline;
}




/* Company Page
-------------------------------------------------------------------------------*/
#company_page #heading #company_logo {
	position: absolute;
	top: 0;
	right: 0;
}
.sp #company_page #heading #company_logo {
	display: none;
}

#company_page #slides {
	overflow: visible !important;
}

#company_page .slides-area {
	width: 100%;
	height: 721px;
}
.sp #company_page .slides-area {
	height: 361px;
}

#company_page #heading .title_type {
	padding-top: 65px;
}
.sp #company_page #heading .title_type {
	padding-top: 0;
}

#company_page #heading .title_en {
	margin-bottom: 105px;
}
.sp #company_page #heading .title_en {
	margin-bottom: 40px;
}

#company_page #summary {
	margin-bottom: 75px;
}

#company_page #summary p {
	color: #888888;
}
.sp #company_page #summary .ja p {
	text-align: justify;
	line-height: 1.9;
}

.sp #company_page #summary p br {
	display: none;
}

#company_page #history {
	margin-bottom: 115px;
}

#company_page #history a {
	color: #888888;
	text-decoration: underline;
}
#company_page #history a:hover {
	color: #000000;
	text-decoration: none;
}

#company_page #history .address {
	display: inline-block;
	margin-bottom: 15px;
}

#company_page .en {
	display: none;
}







/* Jobs Page
-------------------------------------------------------------------------------*/
#jobs_page #annotation {
	margin-bottom: 75px;
	padding-top: 75px;
	border-top: 1px solid #cccccc;
}

#jobs_page #annotation .left .title {
	letter-spacing: 1px;
}
.sp #jobs_page #annotation .left .title {
	margin-bottom: 15px;
}

#jobs_page #annotation .right .description {
	letter-spacing: 0.7px;
}
.sp #jobs_page #annotation .right .description br {
	display: none;
}





/* Jobs Single Page
-------------------------------------------------------------------------------*/
#jobs_single #disabilities_button {
	margin-top: 30px !important;
	padding: 15px 30px 13px 30px !important;
	cursor: pointer;
}

#jobs_single #disabilities_button span {
	margin-right: 0 !important;
	background-image: url(images/arrow5.png);
	background-size: 12px 14px;
	background-repeat: no-repeat;
	background-position: 100% center;
}
#jobs_single #disabilities_button:hover span {
	background-image: url(images/arrow6.png);
}

#jobs_single #disabilities_container {
	height: 0;
	overflow: hidden;
	margin-bottom: 40px;
}





/* People Page
-------------------------------------------------------------------------------*/
#people {
	width: 1020px;
	margin: 0 auto 150px auto;
}
.sp #people {
	width: 100%;
}

#people .title {
	width: 960px;
	margin: 0 auto 50px auto;
	letter-spacing: 1px;
}
.sp #people .title {
	width: 100%;
	margin: 0 0 50px 15px;
}

.sp #people .thumb_list {
	padding: 0 5px;
}

#people .thumb_list li {
	position: relative;
	float: left;
	margin: 0 0 20px 20px;
}
#people .thumb_list li:nth-child(4n+1) {
	margin: 0 0 20px 0;
}
.sp #people .thumb_list li {
	width: 50%;
	margin: 0;
}
.sp #people .thumb_list li.no_element {
	display: none;
}
.sp #people .thumb_list li:nth-last-child(3) {
	display: block;
}

#people .thumb_list li .type {
	position: absolute;
	top: -1px;
	left: -1px;
	display: block;
	margin-bottom: 0;
	padding: 10px;
	font-family: Usual-Medium, sans-serif;
	color: #000000;
	letter-spacing: 0.8px;
	background-color: #ffffff;
	z-index: 100;
}
.sp #people .thumb_list li .type {
	padding: 10px 5px 7px 10px;
	font-size: 10px;
	left: inherit;
	right: 1px;
}

.sp #people .thumb_list li img {
	width: 100%;
	height: auto;
	padding: 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#people .thumb_list .meta {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 15px;
	text-align: left;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.sp #people .thumb_list .meta {
	padding: 10px 10px;
	border-right: 5px solid #ffffff;
	border-bottom: 5px solid #ffffff;
	border-left: 5px solid #ffffff;
}

#people .thumb_list .meta .number {
	margin: 0 0 10px -1px;
	font-size: 24px;
	color: #ffffff;
	line-height: 1;
}

.sp #people .thumb_list .meta .number {
  font-size: 16px;
}

#people .thumb_list .meta .job_en {
	position: relative;
	display: inline;
	margin: 0 0 0px 1px;
	padding: 0;
	position: relative;
	top: -5px;

	font-size: 10px;
	font-family: Usual-Medium, sans-serif;
	color: #ffffff;
	line-height: 110%;
	letter-spacing: 0.8px;
}

.sp #people .thumb_list .meta .job_en {
	margin-bottom: 10px;
	font-size: 10px;
	line-height: 100%;
}

#people .thumb_list .meta .job_ja {
	position: relative;
	display: inline;
	padding: 0;
	color: #ffffff;
	line-height: 130%;
	letter-spacing: -0.3px;
}

.sp #people .thumb_list .meta .job_ja {
	font-size: 10px;
}

#people .thumb_list a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#people .thumb_list a .black2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(48, 48, 48, 0.1);
}
.sp #people .thumb_list a .black2 {
	border: 5px solid white;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#people .thumb_list a .shadow {
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 5px;
	background-image: url(images/shadow.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 100% 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.sp #people .thumb_list a .shadow {
	border: 5px solid white;
}



/* Interviews Single Page
-------------------------------------------------------------------------------*/
#people_single {

}

#people_single #heading {
	margin-bottom: 65px;
}
.sp #people_single #heading {
	margin-bottom: 35px;
}

#people_single #heading img {
	width: 960px;
	height: auto;
}
.sp #people_single #heading img {
	width: 100%;
}

#people_single #summary {
	margin-bottom: 35px;
}

.sp #people_single #summary .two_column {
	padding: 0;
}

#people_single #summary .left {
	width: 280px;
}
.sp #people_single #summary .left {
	width: 100%;
	margin-bottom: 15px;
}

#people_single #summary .number {
	margin: 0 0 23px -2px;
	font-size: 42px;
	font-weight: bold;
	letter-spacing: -2px;
	line-height: 1;
}

.sp #people_single #summary .number {
	font-size: 30px;
	margin: 0 0 10px 0px;
}

#people_single #summary .job_ja {
	margin: -3px 0 3px 0;
	font-size: 20px;
	line-height: 140%;
}
.sp #people_single #summary .job_ja {
	line-height: 140%;
}

#people_single #summary .job_en {
	margin-bottom: 15px;
	font-size: 16px;
}

#people_single #summary .name_image {
	height: 37px;
	width: auto;
}



#people_single #summary .right {
	width: 620px;
	margin-left: 340px;
}
.sp #people_single #summary .right {
	width: 100%;
	margin-left: 0;
}

#people_single #summary .right .title {
	margin-bottom: 17px;
	color: #888888;
	letter-spacing: 1px;
	line-height: 1.4;
}

.sp #people_single #summary .right .title {
  font-size: 12px;
}

#people_single #summary .right .description {
	margin-bottom: 0;
	font-size: 18px;
	line-height: 1.7;
}

.sp #people_single #summary .right .description {
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0;
}


#people_single #interview {
	width: 700px;
	margin-bottom: 95px;
	padding: 0 90px 0 170px;
}

.sp #people_single #interview {
	width: 100%;
	padding: 0 15px;
}

#people_single #people_list {
	margin-top: 65px;
}

#people_single #interview li {
	margin-bottom: 60px;
}

#people_single #interview p {
	margin-bottom: 15px;
	color: #888888;
	line-height: 1.9;
}

.sp #people_single #interview p {
  font-size: 12px;
  line-height: 190%;
}

#people_single #interview .midashi {
	margin-bottom: 20px;
	font-size: 18px;
	letter-spacing: 0.8px;
	color: #000000;
	line-height: 1.8;
}

.sp #people_single #interview .midashi {
  font-size: 16px;
  line-height: 150%;
}

#people_single #interview .description {
	margin-bottom: 0;
	line-height: 180%;
}

#people_single #interview .description img {
	display: block;
	margin: 0 auto 15px auto;
}
.sp #people_single #interview .description img {
	width: 100%;
	height: auto;
}

#people_single #interview .wp-caption {
	position: relative;
}
.sp #people_single #interview .wp-caption {
	width: 100% !important;
}

#people_single #interview .wp-caption-text {
	position: absolute;
	bottom: 0px;
	left: -160px;
	width: 145px;
	margin-bottom: 15px;
	font-size: 10px;
}

#people_single #wanted {
	margin-bottom: 140px;
	position: relative;
}

#people_single #wanted #wanted_list {
	margin-top: -35px;
	padding-left: 170px;
}
.sp #people_single #wanted #wanted_list {
	padding-left: 0;
	text-align: center;
}

#people_single #wanted #wanted_list li {
	margin-bottom: 10px;
	letter-spacing: 1px;
}

.sp #people_single #wanted #wanted_list li .button {
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#people_single #wanted .back2{
	position: absolute;
	left: 0;
	bottom: 20px;
	letter-spacing: 1px;
}
.sp #people_single #wanted .back2{
	display: none;
}




/* Message Page
-------------------------------------------------------------------------------*/
#message_page #heading {
	position: relative;
	margin-bottom: 230px;
}
.sp #message_page #heading {
	margin-bottom: 30px;
}

#message_page #heading #message_president {
	position: absolute;
	top: 25px;
	right: 0;
}
.sp #message_page #heading #message_president {
	position: static;
	top: auto;
	right: auto;
}

.sp #message_page #heading #message_president img {
	width: 100%;
	height: auto;
}


#message_page #message .sign {
	font-size: 20px;
	color: #000000;
	text-align: right !important;
	letter-spacing: 1px;
}


#message_page #message .sign span {
	display: block;
  margin-top: -15px;
	font-size: 12px;
	color: #000000;
	letter-spacing: 1px;
}

.sp #message_page #message .sign span {
  margin-top: -3px;
}

#message_page #message p {
	color: #888888;
}
.sp #message_page #message .ja p {
	text-align: justify;
	line-height: 1.9;
	margin-bottom: 20px;
}

#message_page #summary .note {
	display: inline-block;
	margin: 15px 0 20px 0;
	font-size: 12px;
	line-height: 190%;
}


.sp #message_page #summary .note br {
	display: none;
}

#message_page #wanted {
  letter-spacing: 1px;
  margin-top: -35px;
}
.sp #message_page #wanted {
	margin-top: 20px;
}

#message_page .en {
	display: none;
}

.sp #message_page #summary > .data_list .type1{
  padding-bottom: 15px;
}
.sp #message_page #summary > .data_list li .title{
  margin: 10px 0 20px;
}


#message_page .data_list > li > .description dl {
    margin-left: 0;
}


#message_page .data_list li dl {
	width: 595px;
	padding-top: 2px;
}
.sp #message_page .data_list li dl {
	width: 100%;
}

#message_page .type1 dd {
	padding-left: 0;
}

#message_page .type3 dt,
#message_page .type4 dt {
	width: 100px;
}

#message_page .type3 dd,
#message_page .type4 dd {
	padding-left: 100px;
}

#message_page dd a,
#message_page dd a{
	text-decoration: underline;
}

#message_page .movie {
	margin: 0 0 40px;
}

.sp #message_page .movie iframe {
	width: 100%;
	height: auto;
	aspect-ratio: auto 760 / 427;
}

#message_page .movie dl {
	margin: 20px 0 0;
}

#message_page .movie dl dt {
	font-weight: 700;
}

#message_page .movie dl dd {
	margin: 10px 0 0;
	font-size: 0.76rem;
}

#message_page .movie dl dd a {
	color: #aaa;
}


#message_page h3 {
    font-weight: 700;
    font-size: 1rem;
    margin: 10px 0 0;
}



/* Products Page
-------------------------------------------------------------------------------*/
#products_page {
	padding-top: 0px;
}

#products_page #heading {
	width: 100%;
	padding-top: 75px;
	background-color: #000000;
}

#products_page #heading .title_type,
#products_page #heading .title_en,
#products_page #heading .title_ja {
	width: 960px;
    margin-left:auto;
    margin-right:auto;
	color: #ffffff;
}
#products_page #heading .title_en {
	margin-bottom: 30px;
}
.sp #products_page #heading .title_type,
.sp #products_page #heading .title_en,
.sp #products_page #heading .title_ja {
	width: 100%;
}

#products_page #heading .description {
	width: 960px;
    margin: 0 auto;
color: #888888;
}
.sp #products_page #heading .description {
	width: 100%;
}

#products_page #heading .description p {
	margin-bottom: 0;
	letter-spacing: 1px;
}
.sp #products_page #heading .description p {
	text-align: justify;
	letter-spacing: 0px;
}

#products_page #heading .description .note {
	font-size: 12px;
}

#products_page #products {
	padding-top: 70px;
	background-color: #000000;
}

#products_page #products .thumb_list {
	width: 960px;
	margin: 0 auto;

	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.sp #products_page #products .thumb_list {
	width: 100%;
	padding: 0 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#products_page #products .thumb_list li {
	position: relative;
	float: left;
	width: 230px;
	margin: 0 0 70px 13px;
}
#products_page #products .thumb_list li:nth-child(4n+1) {
	margin: 0 0 70px 0;
}
.sp #products_page #products .thumb_list li {
	width: 50%;
	height: 470px;
	margin: 0 0 15px 0;
	padding: 0 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#products_page #products .thumb_list a {
	display: block;
	width: 100%;
	height: 100%;
}
#products_page #products .thumb_list a:hover {
	opacity: 0.75;
	-moz-opacity: 0.75;
	filter:alpha(opacity=75);
}
.sp #products_page #products .thumb_list a:hover {
	opacity: 1;
}

#products_page #products .thumb_list img {
	margin-bottom: 30px;
	width: 230px;
	height: 267px;
}
.sp #products_page #products .thumb_list img {
	width: 100%;
	height: auto;
}

#products_page #products .thumb_list .release {
	margin-bottom: -4px;
	font-size: 12px;
	color: #888888;
	letter-spacing: 1px;
}
.sp #products_page #products .thumb_list .release {
	font-size: 10px;
}

#products_page #products .thumb_list .category {
	margin-bottom: 8px;
	font-size: 12px;
	color: #888888;
	letter-spacing: 1px;
}
.sp #products_page #products .thumb_list .category {
	font-size: 12px;
}

#products_page #products .thumb_list .title {
	margin-bottom: 8px;
	font-size: 22px;
	color: #ffffff;
	line-height: 120%;
}
.sp #products_page #products .thumb_list .title {
	font-size: 18px;
	margin-bottom: 4px;
}

#products_page #products .thumb_list .title_ja {
	margin-left: 0;
	margin-bottom: 25px;
	font-size: 14px;
	color: #ffffff;
	line-height: 140%;
	letter-spacing: 0.5px;
}
.sp #products_page #products .thumb_list .title_ja {
	font-size: 12px;
}

#products_page #products .thumb_list .official {
	display: inline-block;
	margin-bottom: 0;
	padding-right: 25px;
	color: #888888;
	text-decoration: underline;
	letter-spacing: 1px;
	background-image: url(images/arrow3.png);
	background-size: 14px 12px;
	background-repeat: no-repeat;
	background-position: 100% 8px;
}
.sp #products_page #products .thumb_list .official {
	font-size: 12px;
}

#products_page #titlelist {
	position: relative;
	width: 960px;
	margin: 125px auto 0 auto;
}
.sp #products_page #titlelist {
	width: 100%;
	margin: 60px auto 0 auto;
	padding: 0 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#products_page #titlelist .title_en {
	margin-bottom: 45px;
}

#products_page #titlelist .title_ja {
	color: #888888;
}

#products_page #titlelist .update {
	position: absolute;
	top: 3px;
	right: 0px;
	font-size: 14px;
	letter-spacing: 1px;
	line-height: 160%;
	text-align: right;
}
.sp #products_page #titlelist .update {
	right: 15px;
	font-size: 12px;
}

#products_page #titlelist .area {
	margin-bottom: 75px;
}

#products_page #titlelist .area .left {
	float: left;
	width: 335px;
}
.sp #products_page #titlelist .area .left {
	float: none;
}

#products_page #titlelist .area .title {
	margin-top: 71px;
	margin-left: 10px;
	margin-bottom: 10px;
	font-size: 28px;
	font-family: Usual-Medium, sans-serif;
}

.sp #products_page #titlelist .area .title {
	margin-left: 0;
	font-size: 22px;
}

#products_page #titlelist .area.world .title {
	margin-top: 73px;
}

#products_page #titlelist .area .title span {
	display: block;
	margin-top: 8px;
	margin-left: 0;
	font-size: 12px;
	color: #000000;
}

#products_page #titlelist .area .right {
	width: 630px;
	margin-left: 335px;
}
.sp #products_page #titlelist .area .right {
	width: 100%;
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#products_page #titlelist .area table {
	width: 100%;
}

#products_page #titlelist .area table tr:last-child td {
	border: none;
}
#products_page #titlelist .area table tr:last-child td:first-child {
	padding-right: 55px;
	font-size: 14px;
	text-align: right;
}
.sp #products_page #titlelist .area table tr:last-child td:first-child {
	padding-right: 25px;
	font-size: 10px;
}

#products_page #titlelist .area table tr th {
	border: none;
}

#products_page #titlelist .area table tr th:nth-child(2){
  position: relative;
  right: 0;
}

#products_page #titlelist .area table tr th:nth-child(2),
#products_page #titlelist .area table tr th:nth-child(3) {
	font-size: 14px;
	text-align: right;
}
#products_page #titlelist .area table tr th:nth-child(3) {
	padding-right: 10px;
}
.sp #products_page #titlelist .area table tr th:nth-child(2),
.sp #products_page #titlelist .area table tr th:nth-child(3) {
	font-size: 10px;
}

#products_page #titlelist .area table tr td:nth-child(2),
#products_page #titlelist .area table tr td:nth-child(3) {
	color: #888888;
	text-align: right;
}

#products_page #titlelist .area table tr td:nth-child(3) {
	width: 150px;
	padding-right: 10px;
}
.sp #products_page #titlelist .area table tr td:nth-child(2),
.sp #products_page #titlelist .area table tr td:nth-child(3) {
  padding-left: 10px;
}
.sp #products_page #titlelist .area table tr td:nth-child(3) {
	width: 75px;
}





/* Jobs Single Page
-------------------------------------------------------------------------------*/

#jobs_single .heading_title {
  float: left;
  width: 500px;
}

.sp #jobs_single .heading_title {
  width: inherit;
}

#jobs_single #heading .jobs_en:before {
}
#jobs_single #heading .jobs_en {
	margin-bottom: 8px;
	font-size: 40px;
	font-family: Usual-Medium, sans-serif;
	line-height: 120%;
	width: 720px;
	line-height: 1.3;
}
.sp #jobs_single #heading .jobs_en {
	font-size: 24px;
	width: 100%;
	margin-bottom: 8px;
	line-height: 116%;
}

#jobs_single #heading {
  padding-top: 20px;
}
.sp #jobs_single #heading {
	margin-bottom: 40px;
}

#jobs_single #heading .jobs_ja {
	margin-bottom: 30px;
	font-size: 16px;
	line-height: 1;
}

.sp #jobs_single #heading .jobs_ja {
  margin-bottom: 10px;
  font-size: 14px;
}

#jobs_single #heading #lnav_container {
  width: 300px;
  float: right;
}
.sp #jobs_single #heading #lnav_container {
	position: static;
	top: auto;
	right: auto;
	margin: 30px 0 0 0;
}

#jobs_single #heading #lnav_list {
	margin-top: 8px;
}

#jobs_single #heading #lnav_list li {
	margin-bottom: 14px;
	text-align: right;
}

#jobs_single #heading #lnav_list li a {
	font-size: 12px;
	letter-spacing: 1px;
}

#jobs_single #heading #lnav_list li a span {
	margin-right: 10px;
	text-decoration: underline;
}

#jobs_single #locations {
	font-size: 14px;
}

#jobs_single #locations .data_list li .title {
	display: inline-block;
}

#jobs_single #locations .data_list li .line {
	width: 25px;
}

#jobs_single #locations .data_list li .description {
	margin: 0 0 10px 80px;
}

.sp #jobs_single #locations .data_list li .description {
	display: inline-block;
	margin: 0 0 6px 0;
	font-size: 12px;
}

#jobs_single #locations .data_list li .description a {
	text-decoration: underline;
}

#jobs_single #locations .data_list span {
  margin-right: 0;
  display: inline;
}
#jobs_single #locations .data_list .description span:after {
	content: "・";
	display: inline-block;
	margin: 0 -1px 0 2px;
}
#jobs_single #locations .data_list span:last-child:after {
	content: "";
}

#jobs_single #locations .note {
	vertical-align: top;
}
.sp #jobs_single #locations .note {
	display: inline !important;
}

#jobs_single #summary {
  clear: both;
  padding-top: 60px;
	margin-bottom: 45px;
	padding-left: 170px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.sp #jobs_single #summary {
	padding: 40px 15px 0;
}

#jobs_single #summary img {
	margin-bottom: 20px;
	width: 100%;
	height: auto;
}

#jobs_single #summary .description {
	color: #888888;
}

.sp #jobs_single #summary .description p{
  line-height: 1.8;
}

#jobs_single #recruit {
	margin-bottom: 120px;
}

#jobs_single #recruit > .data_list > li {
	margin-bottom: 60px;
}
.sp #jobs_single #recruit > .data_list > li {
	margin-bottom: 10px;
}

.sp #jobs_single #recruit > .data_list > li > .title {
	font-size: 16px;
	margin-bottom: 10px;
}

#jobs_single #recruit .description p {
	margin-bottom: 0;
	line-height: 190%;
}

#jobs_single #recruit .description p+p {
	margin-top: 0.6em;
}


#jobs_single #recruit .data_list li .description .title {
	color: #000000;
}

#jobs_single #recruit .data_list li .description .data_list li .title {
	padding: 7px 15px 7px 0;
	line-height: 1.7;
}
.sp #jobs_single #recruit .data_list li .description .data_list li .title {
	padding: 7px 0 4px 0;
}

#jobs_single #recruit .data_list li .description .data_list li .description {
	margin: 0 0 0 150px;
	padding: 7px 0px 7px 15px;
	line-height: 1.7;
}
.sp #jobs_single #recruit .data_list li .description .data_list li .description {
	margin: 0;
	padding: 0 0 12px 0;
}

#jobs_single #recruit .data_list li .description .data_list li .description .button {
	margin-top: -12px;
	text-align: center;
}
.sp #jobs_single #recruit .data_list li .description .data_list li .description .button {
	width: 100%;
	margin-top: 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


#jobs_single #recruit > .data_list > li > .description.three-column {
	padding: 2px 0px 5px 15px;
}
.sp #jobs_single #recruit > .data_list > li > .description.three-column {
	padding: 2px 0px 5px 0;
}

#jobs_single #recruit .sending_details,
#jobs_single #recruit .disabilities_details {
	margin-top: 35px;
}

#jobs_single #recruit .disabilities_details a {
	text-decoration: underline;
}

#jobs_single #recruit p.note {
	margin: 5px 0;
	font-size: 12px;
	color: #888888;
	line-height: 150%;
}

#jobs_single #recruit .sending_details .description {
	margin-bottom: 40px !important;
}

#jobs_single #recruit .sending_button {
	margin: 30px 0 0;
	background: #6255a1;
	border-color: #6255a1;
}
#jobs_single #recruit .sending_button:hover {
	background: #7e72b8;
	border-color: #7e72b8;
}

#jobs_single #recruit .sending_button span{
	color: #fff;
  font-family: "FOT-セザンヌ Pro DB", sans-serif;
	background-image: url(images/arrow3_white.png);
}

.pc #jobs_single #recruit7 iframe {
	width: 795px;
	height: 447px;
}

#jobs_single #people_list .two_column .left {
	float: left;
	width: 372px;
}
.sp #jobs_single #people_list .two_column .left {
	float: none;
	width: 100%;
}

#jobs_single #people_list .two_column .left img {
    padding-top: 8px;
}
.sp #jobs_single #people_list .two_column .left img {
	width: 100%;
	height: auto;
}

#jobs_single #people_list .two_column .right {
	width: 438px;
	margin-left: 420px;
}
.sp #jobs_single #people_list .two_column .right {
	width: 100%;
	margin-left: 0;
}

#jobs_single #people_list .two_column .right .title {
	margin-bottom: 10px;
	padding-top: 93px;
	font-size: 16px;
	line-height: 1;
}

.sp #jobs_single #people_list .two_column .right .title {
	padding-top: 20px;
	font-size: 10px;
}

#jobs_single #people_list .two_column .right .job_name {
	margin-bottom: 40px;
	line-height: 1;
}
.sp #jobs_single #people_list .two_column .right .job_name {
	margin-bottom: 15px;
	line-height: 1.4;
}

.sp #jobs_single #people_list .two_column .right .button {
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
  padding: 6px 8px 4px;
  font-size: 10px;
}

.sp #jobs_single #people_list .two_column .right .button span {
  padding-right: 0;
  background: none;
}

#jobs_single #people_list li{
	display: block;
	margin-bottom: 25px;
	letter-spacing: 1px;
}

.sp #jobs_single #people_list li .two_column {
  padding: 0 5px;
}

.sp #jobs_single #people_list li{
  width: 50%;
  float: left;
}




/* Recruit Page
-------------------------------------------------------------------------------*/
#recruit_page #jobs_nav {
	margin-bottom: 0;
}

#recruit_page .slides-area {
	width: 100%;
	height: 640px;
}
.sp #recruit_page .slides-area {
	height: 280px;
}

#recruit_page .copy {
	position: absolute;
	top: 66px;
	right: 0;
	font-size: 16px;
	line-height: 140%;
}
.sp #recruit_page .copy {
	position: static;
	top: auto;
	right: auto;
	margin: 25px 0 40px 0;
}

#recruit_page #heading {
	width: 940px;
}
.sp #recruit_page #heading {
	width: 100%;
}

#recruit_page #heading .logo {
	position: absolute;
	top: -25px;
	right: -10px;
}

.sp #recruit_page #heading .logo {
	top: 47px;
	right: 10px;
	width: 32%;
	height: auto;
}

#recruit_page #updates {
	margin-bottom: 105px;
}

.sp #recruit_page #updates {
  margin-bottom: 40px;
}

#recruit_page #updates .two_column {
	width: 940px;
}
.sp #recruit_page #updates .two_column {
	width: 100%;
	padding: 0;
}

#recruit_page #updates .two_column  .left .title {
	line-height: 1;
}

#recruit_page #updates .data_list {
	width: 790px;
	margin-bottom: 75px;
}
.sp #recruit_page #updates .data_list {
	width: 100%;
	margin-bottom: 38px;
}

#recruit_page #updates .data_list li {
	padding: 18px 0 15px 0;
	border-bottom: 1px solid #aaaaaa;
}
#recruit_page #updates .data_list li:first-child {
	border-top: 1px solid #aaaaaa;
}

#recruit_page #updates .data_list li a {
	margin-bottom: 0;
	color: #000000;
	text-decoration: none;
	line-height: 1.6;
}
#recruit_page #updates .data_list li a:hover {
	color: #9d9d9d;
}
.sp #recruit_page #updates .data_list li a {
	margin-top: 6px;
	font-size: 12px;
	line-height: 1.6;
}

#recruit_page #updates .data_list li .date {
	margin: 0 15px 0 2px;
	font-size: 12px;
	vertical-align: top;
	position: relative;
	line-height: 1.6;
}
.sp #recruit_page #updates .data_list li .date {
	display: block;
	font-size: 10px;
	line-height: 1;
}

#recruit_page #updates .left {
	width: 150px;
}
.sp #recruit_page #updates .left {
	width: 150px;
	text-align: left;
}

.sp #recruit_page #updates .left .title {
	margin-bottom: 15px;
}

#recruit_page #updates .right {
	width: 790px;
	margin-left: 150px;
}
.sp #recruit_page #updates .right {
	width: 100%;
	margin-left: 0;
}

#recruit_page #updates .right .two_column {
	width: 790px;
	margin-bottom: 50px;
}
.sp #recruit_page #updates .right .two_column {
	width: 100%;
}

#recruit_page #updates .right .two_column .left {
	width: 380px;
	text-align: center;
}
.sp #recruit_page #updates .right .two_column .left {
	float: left;
	width: 50%;
}

#recruit_page #updates .right .two_column .right {
	width: 380px;
	margin-left: 410px;
	text-align: center;
}
.sp #recruit_page #updates .right .two_column .right {
	width: 50%;
	margin-left: 50%;
}

#recruit_page #updates .right .two_column a {
	display: block;
	width: 100%;
	height: 100%;
}

#recruit_page #updates .right .two_column a:hover img {
	opacity: 0.75;
	-moz-opacity: 0.75;
	filter:alpha(opacity=75);
}

#recruit_page #updates .right .two_column .left img,
#recruit_page #updates .right .two_column .right img {
	margin-bottom: 20px;
}
.sp #recruit_page #updates .right .two_column .left img,
.sp #recruit_page #updates .right .two_column .right img {
	width: 100%;
	height: auto;
	padding: 0 5px;
	margin-bottom: 15px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#recruit_page #updates .right .two_column .left .title ,
#recruit_page #updates .right .two_column .right .title  {
	margin-bottom: 0;
	font-size: 18px;
}
.sp #recruit_page #updates .right .two_column .left .title ,
.sp #recruit_page #updates .right .two_column .right .title  {
	font-size: 12px;
	letter-spacing: 1px;
}

#recruit_page #updates .right .link_list1 .title {
	line-height: 1;
}

#recruit_page #updates .right .link_list2 li {
	float: left;
	padding: 0 0 15px 15px;
	text-align: center;
	background-position: 60% center;
	letter-spacing: 1px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.sp #recruit_page #updates .right .link_list2 li {
	float: none;
}

#recruit_page #updates .right .link_list2 li:nth-child(1) {
	padding: 0 0 15px 0;
}

#recruit_page #updates .right .link_list2 li:nth-child(1),
#recruit_page #updates .right .link_list2 li:nth-child(2),
#recruit_page #updates .right .link_list2 li:nth-child(3),
#recruit_page #updates .right .link_list2 li:nth-child(4) {
	width: 25%;
}
.sp #recruit_page #updates .right .link_list2 li:nth-child(1),
.sp #recruit_page #updates .right .link_list2 li:nth-child(2),
.sp #recruit_page #updates .right .link_list2 li:nth-child(3),
.sp #recruit_page #updates .right .link_list2 li:nth-child(4) {
	width: 100%;
	padding: 0 0 15px 0;
}

#recruit_page #updates .right .link_list2 li:nth-child(5) {
	width: 100%;
	padding: 0 0 15px 0;
}
.sp #recruit_page #updates .right .link_list2 li:nth-child(5) {
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#recruit_page #updates .right .link_list2 li a {
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 19px 25px 18px 25px;
}

#banner {
	width: 940px;
}
.sp #banner {
	width: 100%;
}

#banner a:hover {
	opacity: 0.6;
	-moz-opacity: 0.6;
	filter:alpha(opacity=60);
}

.sp #banner a img {
	width: 100%;
	height: auto;
}





/* Income Page
-------------------------------------------------------------------------------*/
#income_page #heading {
	margin-bottom: 70px;
}

#income_page #heading .title_en {
	margin-bottom: 5px;
}

#income_page #heading .title_ja {
	margin: 0 0 30px 0;
}

#income_page #heading #jobs {
	margin-left: 170px;
	color: #888888;
}
.sp #income_page #heading #jobs {
	margin-left: 0;
}

#income_page #heading #jobs p{
}

.sp #income_page #heading #jobs p{
  margin-bottom: 20px;
  line-height: 1.9;
}

#income_page #question {
	margin-bottom: 70px;
}

#income_page #question .title {
	margin-bottom: 40px;
	font-size: 16px;
	letter-spacing: 1px;
	line-height: 160%;
}

#income_page #question .question_list {
	margin: 0 150px 0 170px;
}
.sp #income_page #question .question_list {
	margin: 0;
}

#income_page #question .question_list li {
	margin-bottom: 35px;
}

#income_page #question .question_list .title {
	margin-bottom: 15px;
	letter-spacing: 0.8px;
	line-height: 190%;
}

.sp #income_page #question .question_list .title {
	letter-spacing: 0;
	line-height: 160%;
}

#income_page #question .question_list .description {
	margin-bottom: 0;
	color: #888888;
}

#income_page #question .question_list .description p {
	line-height: 190%;
}

.sp #income_page #question .question_list .description p {
	line-height: 180%;
	margin-bottom: 20px;
}

#income_page #conditions .title {
	margin-bottom: 40px;
	font-size: 16px;
	letter-spacing: 1px;
	line-height: 160%;
}

.sp #income_page #conditions .title {
	margin-bottom: 25px;
}

#income_page #conditions .title br {
	display: none;
}

#income_page #necessary {
	margin: 0 150px 0 170px;
	color: #888888;
}
.sp #income_page #necessary {
	margin: 0;
}

#income_page #necessary p {
	line-height: 220%;
	letter-spacing: 1px;
}

.sp #income_page #necessary p {
	line-height: 200%;
}



/* Part Time Page
-------------------------------------------------------------------------------*/
#jobs_page.part-time #heading .title_en {
	margin-bottom: 5px;
}

#jobs_page.part-time #heading .title_ja {
	margin-left: 0;
}




/* Locations Page
-------------------------------------------------------------------------------*/
#locations_page {
	margin-bottom: 0;
	padding-bottom: 25px;
	border-bottom: 1px solid #EFEFEF;
}
.sp #locations_page {
	border-bottom: none;
}

#locations_page #jobs_nav {
	margin-bottom: 0;
}

.sp #locations_list {
	margin: 30px 0;
}

#locations_list li .title_en{
  margin-bottom: 10px;
}

#locations_list li .title_ja{
  margin-left: 0;
}




/* Locations Single Page
-------------------------------------------------------------------------------*/
#locations_single #jobs_nav {
	margin-bottom: 0;
}

#locations_single #cover {
	margin-bottom: 75px;
}

#locations_single .slides-area {
	width: 100%;
	height: 854px;
}
.sp #locations_single .slides-area {
	height: 280px;
}

#locations_single #slides {
	overflow: hidden;
	padding-bottom: 128px;
}

#locations_single #slides .title_en {
	position: absolute;
	bottom: 165px;
	left: 35px;
	margin-bottom: 0;
	font-size: 65px;
	font-family: Usual-Regular, sans-serif;
	color: #ffffff;
	line-height: 140%;
	z-index: 100;
	letter-spacing: 0.8px;
}
.sp #locations_single #slides .title_en {
	bottom: 155px;
	left: 10px;
	font-size: 26px;
}

#locations_single #slides .title_ja {
	position: absolute;
	bottom: 153px;
	left: 35px;
	margin: 0;
	color: #ffffff;
	letter-spacing: 0.8px;
	z-index: 200;
}
.sp #locations_single #slides .title_ja {
	bottom: 140px;
	left: 10px;
	font-size: 10px;
}

#locations_single .slides-pagination-custom {
	margin-top: 50px;
	text-align: center;
}
.sp #locations_single .slides-pagination-custom {
	margin-top: 25px;
}

#locations_single .slides-pagination-custom a {
	margin-left: 6px;
}
#locations_single .slides-pagination-custom a:first-child {
	margin-left: 1px;
}
#locations_single .slides-pagination-custom a:last-child {
	margin-right: 1px;
}

#locations_single .slides-pagination-custom a.current img {
	padding-bottom: 7px;
	border-bottom: 2px solid #000000;
}

.sp #locations_single .slides-pagination-custom a img {
	width:50px;
	height: auto;
}

#locations_single #heading {
	margin: 200px auto 75px auto;
}
.sp #locations_single #heading {
	margin: 90px auto 75px auto;
}

#locations_single #heading .address {
	margin-bottom: 25px;
	color: #888888;
	letter-spacing: 1px;
	line-height: 1.7;
}

.sp #locations_single #heading .address {
  font-size: 12px;
}

.sp #locations_single #heading .two_column {
	padding: 0;
}

#locations_single #heading .left {
	width: 300px;
}
.sp #locations_single #heading .left {
	width: 100%;
}

#locations_single #heading .left .title_en {
	margin-bottom: 5px;
	font-size: 34px;
	font-family: Usual-Regular, sans-serif;
	line-height: 1;
}

.sp #locations_single #heading .left .title_en {
  font-size: 28px;
  margin-bottom: 3px;
}

#locations_single #heading .left .title_ja {
	margin-left: 0;
}

.sp #locations_single #heading .left .title_ja{
  margin-bottom: 20px;
}

#locations_single #heading .right {
	width: 640px;
	margin: 0 0 0 310px;
}
.sp #locations_single #heading .right {
	width: 100%;
	margin: 0;
}

#locations_single #heading .right p {
	color: #888888;
	margin-bottom: 15px;
}
.sp #locations_single #heading .right p {
	text-align: justify;
	letter-spacing: 0;
	line-height: 1.9;
}

#locations_single #map {
	margin-bottom: 80px;
}

#locations_single .acf-map {
	width: 960px;
	height: 560px;
}
.sp #locations_single .acf-map {
	width: 100%;
	height: 280px;
}





/* Privacy Policy Page
-------------------------------------------------------------------------------*/
#privacy-policy_page #heading {
	position: relative;
}

#privacy-policy_page #heading #revision {
	position: absolute;
	top: 15px;
	right: 0;
	padding: 7px 0 7px 15px;
	border-left: 1px solid #cccccc;
}

.sp #privacy-policy_page #heading #revision {
	position: static;
	top: auto;
	right: auto;
	font-size: 12px;
}

#privacy-policy_page #heading #revision p {
	margin: 12px 0 0 0;
	font-size: 14px;
	letter-spacing: 1px;
	line-height: 1.2;
	color: #000000;
}

.sp #privacy-policy_page #heading #revision p {
	font-size: 12px;
}

#privacy-policy_page #heading #revision p:first-child {
	margin: 0;
}

#privacy-policy_page #heading #revision p span {
	color: #000000;
}
#privacy-policy_page #heading #revision p:not(:last-child) span {
	display: inline-block;
	width: 70px;
}

#privacy-policy_page #summary {
	margin-top: 60px;
	padding: 0 90px 0 170px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.sp #privacy-policy_page #summary {
	padding: 0 15px;
}

#privacy-policy_page .summary_list .title {
	margin-bottom: 30px;
	font-size: 16px;
}

.sp #privacy-policy_page .summary_list .title {
  margin-bottom: 20px;
}

#privacy-policy_page .summary_list .description {
	margin-bottom: 65px;
}

#privacy-policy_page .summary_list .description p {
	color: #888888;
}

.sp #privacy-policy_page .summary_list .description p {
  line-height: 1.8;
  margin-bottom: 20px;
}

#privacy-policy_page .summary_list .description .note {
	font-size: 12px;
}

#privacy-policy_page #policy {
	margin-bottom: 35px;
	padding-right: 90px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.sp #privacy-policy_page #policy {
	padding: 0 15px;
}

#privacy-policy_page #policy > .title {
	margin: 0 0 20px 170px;
	font-size: 16px;
}
.sp #privacy-policy_page .title {
	font-size: 14px;
	line-height: 150%;
}
.sp #privacy-policy_page #policy > .title {
	margin: 0 0 20px 0;
}

#privacy-policy_page .data_list li {
	margin-bottom: 15px;
}

#privacy-policy_page .data_list li .title {
	padding: 7px 15px 5px 0;
	line-height: 160%;
}

#privacy-policy_page .data_list li .description {
	margin: 0 0 0 150px;
}
.sp #privacy-policy_page .data_list li .description {
	margin: 0;
}

#privacy-policy_page .data_list li .number {
  letter-spacing: 2px;
}

#privacy-policy_page .data_list li .description p {
	margin-bottom: 15px;
	line-height: 200%;
}

#privacy-policy_page #sign .date {
	text-align: right;
	letter-spacing: 1px;
}

#privacy-policy_page #sign .date span {
	display: block;
}

#privacy-policy_page dl.privacy_list {
	width: auto;
	margin-left: 0;
	margin-bottom: 24px;
}

#privacy-policy_page dl.privacy_list dt {
	width: auto;
	float: none;
}

#privacy-policy_page dl.privacy_list dd {
	padding-left: 20px;
	line-height: 1;
}


#privacy-policy_page dl.site_list {
	width: auto;
	margin-left: 0;
	margin-bottom: 34px;
}

#privacy-policy_page dl.site_list dt {
	width: auto;
	float: none;
	font-weight: bold;
	margin-bottom: 3px;
	margin-top: 20px;
	font-size: 15px;
}

#privacy-policy_page dl.site_list dd {
	padding-left: 0;
	margin-bottom: 0;
}


/* Site Policy Page
-------------------------------------------------------------------------------*/
#site-policy_page #heading {
	position: relative;
}

#site-policy_page #policy {
	margin: 70px auto 35px auto;
	padding-right: 90px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.sp #site-policy_page #policy {
	padding: 0 15px;
}

#site-policy_page #policy > .title {
	margin: 0 0 40px 170px;
	font-size: 16px;
	line-height: 140%;
}
.sp #site-policy_page #policy > .title {
	margin: 0 0 0px 0;
	font-size: 14px;
	line-height: 150%;
}

#site-policy_page #policy .number {
	display: block;
	margin-bottom: 12px;
	font-size: 10px;
	font-family: Usual-Medium, sans-serif;
}

#site-policy_page .data_list li {
	margin-bottom: 40px;
}
.sp #site-policy_page .data_list li {
	margin-bottom: 20px;
	padding-bottom: 20px;
}

.sp #site-policy_page .data_list li .title{
  margin-bottom: 10px;
}

#site-policy_page .data_list li .description {
	margin: 0 0 0 150px;
}
.sp #site-policy_page .data_list li .description {
	margin: 0;
}


#site-policy_page .data_list li .description p {
	margin-bottom: 15px;
	line-height: 200%;
}

.sp #site-policy_page .data_list li .description p {
  line-height: 1.8;
  margin-bottom: 20px;
}

#site-policy_page #sign .date {
	text-align: right;
}

#site-policy_page #sign .date span {
	display: block;
}

#site-policy_page .data_list ol {
	 padding: 0 0 0 27px;
}

#site-policy_page .data_list ol li {
	list-style: decimal-leading-zero outside;
	margin:0;
	line-height:2;
	padding: 0px 0 0 9px;
}


/* Contact Page
-------------------------------------------------------------------------------*/
#contact_page .contact_list {
	margin: 0 0 40px 170px;
}
.sp #contact_page .contact_list {
	margin: 0 0 40px 0;
}


#contact_page .contact_list li {
	margin-bottom: 60px;
}

#contact_page .contact_list li .title {
	padding-top: 15px;
	margin-bottom: 35px;
	font-size: 16px;
}

.sp #contact_page .contact_list li .title {
  margin-bottom: 20px;
}

#contact_page .contact_list li .description p {
	line-height: 200%;
}

.sp #contact_page .contact_list li .description p {
  line-height: 1.9;
}
  
.sp #contact_page .contact_list li:first-child .description p:first-child br {
	display: none;
}

#contact_page .contact_list li .description img {
	margin-bottom: 10px;
}
.sp #contact_page .contact_list li #contact_mail {
	width:200px;
	height: auto;
}

#contact_page .contact_list li .note {
	font-size: 12px;
	color: #888888;
	line-height: 140%;
}

.sp #contact_page .contact_list li .note br {
	display: none;
}

.sp #contact_page .button {
	width: 100%;
	font-size: 10px;
	text-align: center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-bottom: 14px;
}

#contact_page .button span {
	line-height: 160%;
}
.sp #contact_page .button span {
	text-align: left;
	background-position: 100% center !important;
}




/* 404 Error Page
-------------------------------------------------------------------------------*/
#error_page #summary .title {
	margin-bottom: 40px;
	font-size: 16px;
	letter-spacing: 0.8px;
}

#error_page #summary .description {
	margin-bottom: 40px;
	color: #868686;
	letter-spacing: 0.1px;
}

#error_page #summary .description a {
	color: #000000;
	text-decoration: underline;
}

#error_page #summary .description a:hover {
	color: #cccccc;
	text-decoration: none;
}





/* Footer
-------------------------------------------------------------------------------*/
footer {
	position: relative;
	width: 100%;
	min-width: 1000px;
	height: 180px;
	padding: 45px 38px;
	background-color: #ffffff;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 1000;
	opacity: 0;
	display: none;
}
.sp footer {
	height: auto;
	padding: 22px 15px;
	min-width: inherit;
}

footer > .logos > a:hover {
	opacity: 0.6;
	-moz-opacity: 0.6;
	filter:alpha(opacity=60);
}
footer > .logos > a#psstudio {
	margin-left: 35px;
}
footer > .logos > a#pitstop {
	margin-left: 35px;
}
footer > .logos > a#granturismo {
	margin-left: 32px;
}
footer > .logos > a:first-child {
	margin-left: 0;
}
.sp footer > .logos > a#psstudio,
.sp footer > .logos > a#pitstop,
.sp footer > .logos > a#granturismo {
	margin-left: 0;
}

.sp footer > .logos > a img {
	display: block;
}

.sp footer #scei img {
	width: 89px;
	height: auto;
	margin-top: 15px;
}

footer #scei img {
	margin-top: 45px;
}
footer #psstudio img {
	display: inline-block;
	margin-top: 48px;
}
.sp footer #psstudio img {
	width: 49px;
	height: auto;
	margin-top: 8px;
}
footer #pitstop img {
	display: inline-block;
	margin-top: 65px;
}

.sp footer #pitstop img {
	width: 49px;
	height: auto;
	margin-top: 25px;
}

footer #granturismo img {
	display: inline-block;
	margin-top: 70px;
}
.sp footer #granturismo img {
	width: 96px;
	height: auto;
	margin-top: 28px;
	margin-left: 10px;
}


footer .snav_container {
	position: absolute;
	top: 100px;
	right: 55px;
}

.sp footer .snav_container {
	top: 53px;
	right: 15px;
	font-size: 10px;
}

.sp footer .logos {
	width: 224px;
}
.sp footer .logos a {
	margin:0 14px 0 0 !important;
	display: inline-block !important;
}


.copyright {
	margin: -15px 15px 0 0;
	font-size: 11px;
	font-family: "Garamond Premier Pro", 'Garamond 3 LT Std', 'EB Garamond', serif;
	color: #AAAAAA;
	letter-spacing: 0.8px;
	text-align: right;
	z-index: 100;
}
.sp .copyright {
	position: absolute;
	top: -10px;
	left: 15px;
	font-size: 10px;
}

#people_page #people_nav {
	position: relative;
	width: 1020px;
	margin: 0 auto;
}
#people_page #people_nav #pnav_container {
	position: absolute;
	top: -50px;
	right: 0;
}
body.sp #people_page #people_nav {
	width:100%;
}

body.sp #people_page #people_nav #pnav_container {
	right:10px;
}
#people_page #people_nav #pnav_container ul li {
	float: left;
	font-family: Usual-Medium, sans-serif;
	color: #9d9d9d;
	font-size: 100%;
}
#people_page #people_nav #pnav_container ul li#menu-item-969:before {
	content: "／";
	margin: 0 6px;
}
#publication_detail_page.content {
	padding-top: 0;
}
#publication_detail_page.content #cover {
	margin-bottom: 30px;
}
#publication_detail_page .data_list li.publications,
#site-policy_page .data_list li.publications {
/*	min-height: 160px;
*/	padding: 0;
	margin: 0;
}
#publication_detail_page .data_list h3.title.bold_ja,
#site-policy_page .data_list h3.title.bold_ja {
	margin: 0 0 0 150px;
	font-size: 40px;
	line-height: 1.2;
}
#publication_detail_page .data_list h3.title.bold_ja {
	margin-bottom: 30px;
}
.sp #publication_detail_page .data_list h3.title.bold_ja {
	margin: 0 0 30px;
	font-size: 27px;
}
#publication_detail_page .data_list li.publications p {
	margin-left: 150px;
	color: #999;
}
#publication_detail_page .data_list li.publications p {
	font-size: 15px;
}
.sp #publication_detail_page .data_list li.publications p {
	margin-left: 0;
}
#publication_detail_page .data_list li.publications p.title,
#site-policy_page .data_list li.publications p.title {
	font-size: 18px;
	padding-top: 0;
	margin-left: 0;
	color: #000;
	margin-top: 33px;
}
#site-policy_page .data_list li.publications:first-child p.title {
	margin-top: 0;
}
#publication_detail_page .data_list li .description.publications,
#site-policy_page .data_list li .description.publications {
	margin-left: 170px;
	padding: 0;
}
#publication_detail_page .slides-area {
    width: 100%;
    height: 640px;
}
.sp #publication_detail_page .slides-area {
    height: 280px;
}
.data_list li .publications dl {
	width: 100%;
	position: relative;
	margin: 0 0 30px;
}
.sp .data_list li .publications dl {
	margin: 0;
}
.publications dl dd {
	display: block;
	padding: 0;
}
.publications dl dd.thumbnail {
	width: 160px;
	height: 160px;
	position: absolute;
	top: 0;
	left: 0;
	padding: 0;
}
/*
.publications dl dd.title,
.publications dl dd.detail,
.publications dl dd.file {
	margin-left: 120px;
}
*/
.publications dl dd.title {
	font-weight: 700;
	font-size: 17px;
	color: #000;
}
#site-policy_page .data_list li .description.publications dl dd.detail p {
	line-height: 1.6;
}
.data_list > li > .description.publications dl dd.file a {
	text-decoration: underline;
	position: relative;
	z-index: 999;
}
.data_list > li > .description.publications dl dd.file span {
	padding: 0 10px;
	background-color: #808080;
	color: #fff;
	font-size: 11px;
	border-radius: 3px;
	margin-right: 10px;
	display: inline-block;
}
.sp #site-policy_page .data_list li.publications {
	margin: 0;
	border: none;
}
.sp #site-policy_page .data_list li .description.publications {
	margin-left: 0;
	padding: 10px 0;
}
.sp .publications dl dd.title {
	font-size: 15px;
	line-height: 1.5;
}
.menu-item-1297,
.menu-item-1318 {
	display: none;
}
#publication_detail_page p.title {
	float: left;
	font-size: 18px;
}
.sp #publication_detail_page p.title {
	float: none;
}
#publication_detail_page ul.data_list {
}
#publication_detail_page ul.data_list dl {
	line-height: 200%;
	color: #999;
	margin-bottom: 24px;
	margin-left: 150px;
	font-size: 15px;
}
.sp #publication_detail_page ul.data_list dl {
	margin-left: 0;
}
#publication_detail_page ul.data_list dl dd span {
	padding: 4px 10px;
	background-color: #808080;
	color: #fff;
	font-size: 11px;
	border-radius: 3px;
	margin-right: 10px;
	display: inline-block;
	line-height: 1;
}
#publication_detail_page ul.data_list dl dd a {
	margin: 0 8px 0 0;
	text-decoration: underline;
}
.publications h3 {
	display: inline-block;
	background-color: #000;
	color: #fff;
	padding: 6px 14px;
	margin: 30px 0 20px;
}
.publications li:first-child h3 {
	margin-top: 0;
}

.photo_copyright {
    position: absolute;
    bottom: 114px;
    color: #fff;
    z-index: 10;
    right: 20px;
}

.photo_copyright p span {
    margin-right: 10px;
}

.photo_copyright.company {
    bottom: -14px;
}

li[id]:before {
  display: block;
  height: 5rem;
  margin-top: -5rem;
  content: "";
}