@charset "UTF-8";
/*
Creation Date:	2020.04.28
Last Updated:	2023.05.29
*/


/* import
------------------------------------------------------------ */
@import url(sidr.light.min.css) screen and (max-width:740px);
@import "https://www.p-partners.co.jp/wp-new/form/contact_01/mfp.statics/mailformpro.css";
@import "https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&display=swap";
@import "swiper.min.css";


/* set
------------------------------------------------------------ */
* {
	margin: 0;
	padding: 0;
	font-style: normal;
	box-sizing: border-box;
}
html {
	overflow-y: scroll;
}
body {
	-webkit-text-size-adjust: 100%;
	font-family: '游ゴシック', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
	color: #333;
	font-size: 16px;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
_:-ms-input-placeholder, :root {
	font-family: 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
}
ul,ol {
	list-style: none;
}
hr {
	height: 0;
	margin: 0;
	border: none;
	border-bottom: solid 1px #E3E3E3;
}
img {
	vertical-align: middle;
	max-width: 100%;
	height: auto;
	border: 0;
}
a {
	color: #CC0066;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}
a:hover img {
	opacity: .8;
}
:hover:not(.swiper-wrapper) {
	transition: .3s;
}
.smp {
	display: none;
}
.pc {
	display: block;
}


/* header
------------------------------------------------------------ */
header .slide-menu {
	display: none;
}
header nav {
	background: #FFF;
	text-align: center;
	width: 1050px;
	width: 920px;
	max-width: 100%;
	height: 60px;
	display: flex;
	box-shadow: 3px 3px 6px 0 rgba(0,0,0,.3);
	border-radius: 8px;
	position: fixed;
	top: 30px;
	right: 30px;
	z-index: 3;
}
header nav a {
	background: #FFF;
	font-size: 15px;
	color: #333;
	font-weight: bold;
	line-height: 60px;
	text-decoration: none;
	display: block;
}
header nav > ul > li > a:hover,
header nav .active > a {
	font-family: 'Lato', sans-serif;
	color: #CC0066;
	font-weight: 400;
	transition: none;
}
header nav h1 a {
	width: 148px;
	width: 90px;
	line-height: normal;
	border-radius: 8px;
}
header nav h1 img {
	height: 60px;
	height: 50px;
	height: 40px;
	margin-top: 5px;
	margin-top: 10px;
}
header nav > ul {
	width: calc(100% - 148px);
	width: calc(100% - 90px);
	display: flex;
}
header nav > ul > li {
	width: 16.66%;
}
header nav ul ul {
	display: none;
	border: solid 1px #FFF;
	border-top: none;
	box-shadow: 3px 3px 6px 0 rgba(0,0,0,.16);
}
header nav ul ul li a {
	background: rgba(204,0,102,.56);
	color: #FFF;
	font-size: 14px;
	line-height: 30px;
}
header nav ul ul li:first-child a {
	padding-top: 10px;
}
header nav ul ul li:last-child a {
	padding-bottom: 10px;
}
header nav ul ul li a:hover {
	background: rgba(204,0,102,1);
	color: #FFF;
}
_header nav ul li.nav_05 a,
_header nav ul li.nav_06 a {
	background: #666;
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	color: #FFF;
	position: relative;
}
header nav ul li.nav_06 a {
	border-radius: 0 8px 8px 0;
}
_header nav ul li.nav_05 a:hover,
_header nav ul li.nav_06 a:hover,
_header nav ul li.nav_05.active a,
_header nav ul li.nav_06.active a {
	font-family: '游ゴシック', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
	font-weight: bold;
}
_header nav ul li.nav_05.active a,
_header nav ul li.nav_06.active a,
_header nav ul li.nav_05 a:hover,
_header nav ul li.nav_06 a:hover {
	background: #CC0066;
}
_header nav ul li.nav_05 a:before,
_header nav ul li.nav_06 a:before {
	content: "";
	background: url(../img/icon_01.png) no-repeat;
	background-size: contain !important;
	width: 16px;
	height: 16px;
	margin-right: 8px;
	display: inline-block;
}
header nav ul li.nav_06 a:before {
	background: url(../img/icon_03.png) no-repeat;
	height: 11px;
	margin-right: 10px;
}
header nav ul li.nav_05 a:after {
	content: "";
	background: url(../img/icon_02.png) no-repeat;
	background-size: contain !important;
	width: 13px;
	height: 13px;
	margin-left: 8px;
	display: inline-block;
}
header nav ul li.nav_04 > a:after {
	content: "";
	width: 7px;
	height: 7px;
	margin: 0 0 3px 8px;
	display: inline-block;
	border-right: solid 2px #C06;
	border-bottom: solid 2px #C06;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

@media screen and (max-width: 980px) {
header nav {
	width: 100%;
	border-radius: 0;
	top: 0;
	left: 0;
}
header nav h1 a {
	border-radius: 0;
}
_header nav ul li.nav_05 a,
_header nav ul li.nav_06 a {
	line-height: 40px;
	padding-top: 20px;
}
header nav ul li.nav_06 a {
	border-radius: 0;
}
_header nav ul li.nav_05 a:before,
_header nav ul li.nav_06 a:before {
	position: absolute;
	top: 15px;
	top: 12px;
	left: 50%;
	transform: translateX(-50%);
}
_header nav ul li.nav_06 a:before {
	top: 17px;
	top: 15px;
}
main {
	margin-top: 60px;
}
#home {
	margin-top: 0;
}
}
/* Reload problem */
nav.pc {
	display: flex;
}
/* Menu folding */
header #logo {
display: none;
}

/* footer
------------------------------------------------------------ */
footer {
	background: #F8F8F8;
}
footer section {
	width: 1280px;
}
footer ul {
	font-weight: bold;
	display: flex;
}
footer a {
	font-size: 14px;
	font-weight: bold;
	color: #333;
	text-decoration: none;
}
footer a:hover {
	color: #888;
}
footer #sns {
	margin-bottom: 30px;
	padding: 30px 0 15px;
	align-items: center;
	border-bottom: solid 1px #CCC;
}
footer #sns li {
	margin-right: 20px;
}
footer #internal li {
	min-width: 8em;
	margin-bottom: 15px;
}
footer #internal > li:not(:first-child) {
	margin-left: 30px;
}
footer #internal > li:last-child {
	text-align: right;
	min-width: 135px;
}
footer #internal > li:last-child div {
	margin-top: 15px;
}
footer #internal ul {
	margin-top: 12px;
	flex-wrap: wrap;
}
footer #internal ul li {
	width: 33%;
}
footer #internal ul a {
	color: #666;
	font-size: 12px;
	font-weight: normal;
}
footer #internal ul a:hover {
	color: #999;
}
footer #internal ul a:before {
	content: "";
	width: 5px;
	height: 5px;
	margin-right: 5px;
	display: inline-block;
	border-top: solid 2px #CCC;
	border-right: solid 2px #CCC;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

footer section.ex_wrp {
    display: flex;
}

footer section.ex_wrp section {
    width: unset;
    margin: 0 0 0 22%;
}

footer section.ex_wrp section p {
    font-weight: bold;
    font-size: 14px;
}

footer #external {
	margin: 15px 0 60px;
}

footer #external li {
	background: url(../img/icon_02.png) no-repeat;
	background-size: 16px !important;
	padding: 0 50px 0 25px;
}

footer #external li span {
    display: block;
    font-weight: normal;
    font-size: 80%;
    margin-bottom: 2px;
}

footer article {
	background: #888;
	color: #FFF;
	font-size: 14px;
}
footer article ul {
	padding: 20px 0 30px;
}
footer article ul li:not(:first-child):before {
	content: "｜";
	margin: 0 15px;
}
footer article ul li a {
	color: #FFF;
	font-weight: normal;
}
footer article ul li a:hover {
	color: #DDD;
}
footer article ul + p {
	font-size: 12px;
	text-align: right;
	padding-bottom: 20px;
}
footer article + article {
	background: #FFF;
	color: #666;
	padding: 13px;
	display: flex;
	justify-content: center;
	align-items: center;
}
footer h1 {
	margin-right: 10px;
}


/* common
------------------------------------------------------------ */
/* layout */
main {
	width: 100%;
	display: block;
	position: relative;
}
article {
	width: 100%;
	position: relative;
}
section {
	width: 960px;
	max-width: 94%;
	margin: 0 auto;
	position: relative;
}
main article {
	background: #F8F8F8;
}
main section {
	padding: 100px 0;
}

/* .hd */
.hd img {
	width: 100vw;
}

/* #breadcrumb */
#breadcrumb {
	color: #888;
	font-size: 12px;
	line-height: 1.5;
	padding: 15px 0;
}
#breadcrumb a {
	color: #888;
	text-decoration: none;
}
#breadcrumb a:hover {
	color: #333;
	text-decoration: underline;
}
#breadcrumb img {
	width: 12px;
}

/* title */
main h1 {
	font-family: 'Lato', sans-serif;
	font-size: 28px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: .2em;
	margin-bottom: 40px;
}
main h1:after {
	content: "";
	background: #333;
	width: 100px;
	height: 1px;
	margin-left: 20px;
	display: inline-block;
	vertical-align: super;
}
main h1.tb-rl {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
main h1.tb-rl:after {
	width: 1px;
	height: 100px;
	margin: 20px 0 0;
	vertical-align: middle;
}
main h1.center {
	text-align: center;
}
main h1.center:before {
	content: "";
	background: #333;
	width: 100px;
	height: 1px;
	margin-right: 20px;
	display: inline-block;
	vertical-align: super;
}

/* link */
.more {
	width: 100px;
	margin: 40px 0 0 auto;
}
.more a {
	font-family: 'Lato', sans-serif;
	color: #333;
	font-weight: 900;
	letter-spacing: .05em;
	text-decoration: none;
	padding: 0 45px 8px 0;
	position: relative;
}
.more a:before,
.more a:after {
	content: "";
	background-color: currentColor;
	color: #333;
	width: 100px;
	height: 2px;
	position: absolute;
	right: 0;
	bottom: 0;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
	border-radius: 2px;
}
.more a:after {
	width: 40px;
	right: -6px;
	bottom: 14px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.more a:hover:before {
	width: 130px;
}
.more span {
	position: relative;
	right: 0;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}
.more a:hover span {
	right: 15px;
}
.to-list a {
	background: #FFF;
	font-family: 'Lato', sans-serif;
	color: #333;
	font-weight: 900;
	line-height: 60px;
	letter-spacing: .1em;
	text-decoration: none;
	text-align: center;
	display: block;
	width: 240px;
	max-width: 100%;
	margin: 55px auto 0;
	border: solid 1px #707070;
}
.to-list a:hover {
	background: #707070;
	color: #FFF;
}
.single .to-list a {
	margin: 0 auto;
}
.return a {
	background: #707070 url(../img/arw_l.png) no-repeat right 15px center;
	background-size: 26px auto !important;
	color: #FFF;
	font-weight: bold;
	line-height: 60px;
	text-decoration: none;
	text-align: center;
	width: 240px;
	max-width: 100%;
	height: 60px;
	padding: 0 3em 0 20px;
	display: inline-block;
	border: solid 1px #707070;
	cursor: pointer;
}
.return a:hover {
	background: #FFF url(../img/arw_l.png) no-repeat right 15px center;
	color: #333;
	transition: .3s;
}

/* list */
.list li a {
	display: flex;
	/*flex-wrap: wrap;*/
	align-items: flex-start;
	margin-bottom: 40px;
}
.list li a {
	color: #333;
	text-decoration: none;
}
.list li a:hover {
	color: #999;
}
.list li figure {
	margin-right: 20px;
	border: solid 1px #CCC;
	overflow: hidden;
}
.list li figure img {
	width: 98px;
	height: 98px;
	object-fit: cover;
	object-position: center center;
	font-family: 'object-fit: cover; object-position: center center;';
	transition: .5s;
}
.list li a:hover figure img {
	transform: scale(1.2);
	transition: .5s;
}
.list li figure + div {
	max-width: calc(100% - 120px);
}
.list li div div {
	font-family: 'Lato', sans-serif;
	color: #FFF;
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	width: 80px;
	margin-right: 10px;
	display: inline-block;
}
.list li div time {
	font-family: 'Lato', sans-serif;
	color: #888;
}
.list li div p {
	line-height: 1.5;
	margin-top: 20px;
}

.list_v2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.list_v2 > li {
	width: 22%;
}
.list_v2 a {
	color: #333;
	text-decoration: none;
}
.list_v2 a:hover {
	color: #999;
}
.list_v2 li figure {
	margin-bottom: 10px;
	border: solid 1px #CCC;
	overflow: hidden;
}
.list_v2 li figure img {
	width: 280px;
	height: 140px;
	object-fit: cover;
	object-position: center center;
	font-family: 'object-fit: cover; object-position: center center;';
	transition: .5s;
}
.list_v2 li a:hover figure img {
	transform: scale(1.2);
	transition: .5s;
}
.list_v2 li time {
	font-family: 'Lato', sans-serif;
	_font-weight: 900;
	_letter-spacing: .1em;
	display: block;
	margin-bottom: 10px;
	color: #888;
}
.list_v2 li p {
	line-height: 1.5;
	font-weight: bold;
	height: 90px;
}
.list_v2 li ul {
	display: flex;
	flex-wrap: wrap;
}
.list_v2 li ul li {
	margin: 0 8px 8px 0;
}
.list_v2 li ul li a {
	font-family: 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', '游ゴシック', '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, sans-serif;
	font-size: 14px;
	line-height: 24px;
	text-align: center;
	min-width: 88px;
	display: block;
	border-radius: 4px;
}
.list_v2 li ul li a:hover {
	color: #FFF;
}
.list_v2 li ul li:last-child {
	margin: 0 0 8px;
}

/* cat */
.news		{ background: #D39BB7; }
.release	{ background: #9FBC9F; }
.media		{ background: #AA98B1; }
.award		{ background: #BFAC92; }
.recruit	{ background: #869ABE; }
.tag_01 a { color: #6A397D; border: solid 1px #6A397D; }
.tag_02 a { color: #E3A44E; border: solid 1px #E3A44E; }
.tag_03 a { color: #5FA05E; border: solid 1px #5FA05E; }
.tag_04 a { color: #C83E36; border: solid 1px #C83E36; }
.tag_05 a { color: #518C84; border: solid 1px #518C84; }
.tag_06 a { color: #305089; border: solid 1px #305089; }
.tag_07 a { color: #CC0066; border: solid 1px #CC0066; }
.tag_08 a { color: #888888; border: solid 1px #888888; }
.tag_01 a:hover { background: #6A397D; }
.tag_02 a:hover { background: #E3A44E; }
.tag_03 a:hover { background: #5FA05E; }
.tag_04 a:hover { background: #C83E36; }
.tag_05 a:hover { background: #518C84; }
.tag_06 a:hover { background: #305089; }
.tag_07 a:hover { background: #CC0066; }
.tag_08 a:hover { background: #888888; }

/* menu */
.menu {
	display: flex;
	justify-content: space-between;
	padding: 40px 0;
	position: relative;
}
.menu li a {
	background: #E3E3E3;
	font-family: 'Lato', sans-serif;
	color: #FFF;
	font-weight: 900;
	line-height: 40px;
	text-decoration: none;
	text-align: center;
	min-width: 80px;
	display: block;
	border-radius: 4px;
	margin: 0 2px;
}
.menu.archives li a {
	min-width: 180px;
}
.menu li.active a,
.menu li a:hover {
	background: #666;
}
.menu h3 {
	background: #E3E3E3;
	font-size: 16px;
	font-weight: bold;
	line-height: 39px;
	width: 100%;
	padding: 0 20px;
	position: absolute;
	top: 0;
}
.menu h3 span {
	font-family: 'Lato', sans-serif;
	color: #FFF;
	font-weight: 900;
	line-height: 39px;
	letter-spacing: .05em;
	position: absolute;
	right: 20px;
}
#side .menu {
	display: block;
	width: 270px;
	max-width: 100%;
	margin: 0 auto 80px;
	padding-bottom: 0;
	border: solid 1px #CCC;
}
#side .menu li a {
	background: #FFF;
	color: #333;
	line-height: 50px;
	text-align: left;
	padding: 0 20px;
	border-radius: 0;
	position: relative;
}
#side .menu li a:after {
	content: "";
	width: 7px;
	height: 7px;
	display: inline-block;
	border-top: solid 3px #666;
	border-right: solid 3px #666;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 20px;
	right: 20px;
}
#side .menu li.active a,
#side .menu li a:hover {
	color: #CC0066;
}
#side .menu li.active a:after,
#side .menu li a:hover:after {
	border-top: solid 3px #CC0066;
	border-right: solid 3px #CC0066;
}
#side .menu.archives {
	border: none;
	border-bottom: solid 1px #888
}
#side .menu.archives h3 {
	background: none;
	border-bottom: solid 1px #888
}
#side .menu.archives h3 span {
	color: #CCC;
}
#side .menu.archives li a {
	font-weight: normal;
	line-height: 64px;
}
#side .menu.archives li a:after {
	border-top: solid 3px #CCC;
	border-right: solid 3px #CCC;
	top: 28px;
}
#side .menu.archives li.active a:after,
#side .menu.archives li a:hover:after {
	border-top: solid 3px #CC0066;
	border-right: solid 3px #CC0066;
}
#side .menu.archives li:not(:nth-child(2)) {
	border-top: dotted 1px #CCC;
}

/* #post */
#post {
	margin-bottom: 40px;
}
#post a {
	word-break: break-all;
}
/* #post div:first-child */
#post div.fadeInUp30:first-child {
	font-family: 'Lato', sans-serif;
	color: #FFF;
	line-height: 24px;
	text-align: center;
	width: 100px;
	margin-right: 20px;
	display: inline-block;
}
#post time {
	font-family: 'Lato', sans-serif;
	color: #888;
	font-size: 20px;
}
#post h2 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.7;
	margin: 0 0 40px;
	padding-bottom: 15px;
	border-bottom: solid 1px #333;
}
#post h3 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.7;
	margin: 0 0 20px;
}
#post div {
	margin-bottom: 40px;
}
#post p {
	line-height: 2;
	margin-bottom: 15px;
}
#post .box,
#post pre {
	background: #F8F8F8;
	margin: 60px auto 40px;
	padding: 30px 30px 15px;
}
#post .box h3 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 20px;
}
#post .box p {
	line-height: 1.5;
}
#post .box p span {
	font-size: 12px;
}
#post .box span {
	font-size: 12px;
	line-height: 1.3;
}
#post .small {
	font-size: 12px;
}
.wp_social_bookmarking_light,
.wp_social_bookmarking_light_clear {
	display: none;
}

/* #pagenavi */
#pagenavi {
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	letter-spacing: .5em;
	padding: 25px 0;
	display: flex;
	justify-content: space-between;
	border-top: solid 1px #666;
}
#pagenavi.cat {
	justify-content: center;
}
#pagenavi.cat li {
	margin: 0 2%;
}
#pagenavi.cat .previous {
	margin-right: auto;
}
#pagenavi.cat .next {
	margin-left: auto;
}
#pagenavi a {
	color: #E3E3E3;
	text-decoration: none;
	position: relative;
}
#pagenavi .current span,
#pagenavi a:hover,
.single #pagenavi a:hover {
	color: #CC0066;
}
#pagenavi .previous a {
	padding-left: 20px;
}
#pagenavi .next a {
	padding-right: 15px;
}
#pagenavi .previous a:after,
#pagenavi .next a:after {
	content: "";
	width: 7px;
	height: 7px;
	display: inline-block;
	border-top: solid 3px #E3E3E3;
	border-right: solid 3px #E3E3E3;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 5px;
	right: 0;
}
#pagenavi .previous a:after {
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	right: auto;
	left: 0;
}
#pagenavi .previous a:hover:after,
#pagenavi .next a:hover:after {
	border-top: solid 3px #CC0066 !important;
	border-right: solid 3px #CC0066 !important;
}
.single #pagenavi a {
	color: #333;
}
.single #pagenavi .previous a:after,
.single #pagenavi .next a:after {
	border-top: solid 3px #333;
	border-right: solid 3px #333;
}

/* #pagetop */
#pagetop {
	display: none;
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 1;
}
#pagetop a {
	background: #FFF;
	width: 80px;
	height: 80px;
	margin: 0 0 0 auto;
	display: block;
	box-shadow: 0 0 6px 0 rgba(0,0,0,.2);
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	position: relative;
}
#pagetop a:before {
	content: "";
	width: 22px;
	height: 22px;
	display: block;
	border-top: solid 2px #535453;
	border-right: solid 2px #535453;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 35px;
	right: 26px;
}

/* .pho */
.pho {
	overflow: hidden;
}
.pho img {
	transition: .5s;
}
.pho img:hover {
	transform: scale(1.2);
	transition: .5s;
}


/* contents
------------------------------------------------------------ */
.flex {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

/* #home */
#home {
	padding-bottom: 100px;
}
#home section {
	width: 1280px;
}

/* #main */
#home #main {
	___background: url("../img/poster_pc.jpg") no-repeat center;
	___background-size: cover;
	width: 100%;
	height: 100%;
	height: 100vh;
	position: relative;
	overflow: hidden;
}
#home #main video {
	___background: url("../img/poster_pc.jpg") no-repeat center;
	___background-size: cover;
	max-width: 100%;
	min-height: 100%;
 	min-height: 100vh;
 	min-width: 100%;
 	min-width: 100vw;
	object-fit: cover;
	object-position: center center;
	font-family: 'object-fit: cover; object-position: center center;';
}
#home #main p {
	font-family: 'Lato', sans-serif;
	color: #FFF;
	font-weight: 700;
	letter-spacing: .2em;
	padding-bottom: 50px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
#home #main p:after {
	content: "";
	background: #FFF;
	width: 1px;
	display: block;
	position: absolute;
	left: 48%;
	transform: translateX(-50%);
	animation: scrolldown 2s ease-in-out infinite;
}
@keyframes scrolldown {
	0%	{ height: 0;	top: 30px; }
	50%	{ height: 40px; top: 30px; }
	100%{ height: 0;	top: 80px; }
}
#home #main #play {
	padding-bottom: 40px;
	position: absolute;
	bottom: 0;
	right: 5%;
	cursor: pointer;
	display: none;
}
#home #main #play:after {
	content: "";
	display: block;
	width: 0;
	margin: 6px auto 0;
	border-bottom: 2px solid #dcdcdc;
	transition: width 0.3s ease-in-out;
}

#home #main #play:hover:after {
	width: 100%;
}

#home #main .corp_text {
	position: absolute;
	top: 38vh;
	display: block;
	width: 38vw;
	right: 0;
}
/* #company */
section.company {
	padding: 100px 0 40px;
}
section.company p {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.5;
}
section.company div.fadeInUp30 {
	max-width: 50%;
	position: absolute;
	top: 100px;
	right: 0;
	z-index: 1;
}
@media screen and (max-width: 1240px) {
section.company div.fadeInUp30 {
	max-width: 42%;
}	
}
article.company section {
	padding: 60px 0 80px;
}
article.company p {
	font-weight: bold;
	line-height: 2;
}
article.company .more {
	margin-top: 0;
}

.h2,
#company h2 {
	font-family: 'Lato', sans-serif;
	color: #666;
	font-size: 16px;
	font-weight: normal;
	letter-spacing: .1em;
	border-left: solid 6px #CCC;
}
.h2 span,
#company h2 span {
	color: #333;
	font-size: 28px;
	padding: 0 15px 0 25px;
}
#company ul:not(.swiper-wrapper),
#company ol {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#company table {
	background: #FFF;
	line-height: 2;
	width: 100%;
	margin-top: 40px;
	padding: 10px 50px 40px;
}
#company table th {
	font-weight: bold;
	letter-spacing: .05em;
	text-align: left;
	vertical-align: top;
}
#company table th,
#company table th + td,
#company table th + td +td {
	padding-top: 30px;
}

#company #message ul {
	margin: 80px 0;
}
#company #message ul li:first-child {
	width: 30%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#company #message ul li:last-child {
	width: 65%;
}
#company #message h2 + p {
	font-size: 24px;
	font-weight: bold;
	line-height: 2;
}
#company #message .ceo {
	font-size: 12px;
	line-height: 1.6;
}
#company #message .ceo em {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: .1em;
	padding-left: 15px;
}

#company #philosophy h2 {
	margin-bottom: 40px;
}
#company #philosophy dl {
	margin-top: 30px;
	display: flex;
}
#company #philosophy dl dt {
	margin-right: 20px;
}
#company #philosophy dl dd {
	letter-spacing: .05em;
}
#company #philosophy h3 {
	font-family: 'Lato', sans-serif;
	color: #888;
	font-size: 32px;
	font-weight: normal;
	margin: 30px 0 20px;
}
#company #philosophy h3 strong {
	color: #CC0066;
	font-weight: normal;
}
#company #philosophy p {
	font-weight: bold;
	line-height: 2;
}
#company #philosophy dl:nth-child(3) {
	margin-left: 80px;
}
#company #philosophy dl:nth-child(4) {
	margin-left: 160px;
}
/*
#company #officer h2 {
	margin-bottom: 80px;
}
#company #officer ul {
	margin-bottom: 100px;
	align-items: flex-end;
}
#company #officer ul li:first-child {
	width: 23%;
}
#company #officer ul li:last-child {
	width: 73%;
}
#company #officer h3 {
	letter-spacing: .1em;
}
#company #officer h3 em {
	font-size: 16px;
	font-weight: normal;
	line-height: 1.3;
	display: block;
	margin-bottom: 10px;
}
#company #officer h3 strong {
	font-size: 24px;
}
#company #officer h3 span {
	font-family: 'Lato', sans-serif;
	color: #CCC;
	font-size: 24px;
	font-weight: 300;
	letter-spacing: .12em;
	display: block;
	text-align: right;
	margin: -10px 0 10px;
	border-bottom: solid 1px #CCC;
}
#company #officer p {
	line-height: 2;
}
#company #officer ul.ceo li:first-child {
	width: 50%;
}
#company #officer ul.ceo li:last-child {
	width: 46%;
}
#company #officer ul.ceo h3 strong {
	font-size: 32px;
}
#company #officer ol > li {
	width: 46%;
	position: relative;
}
#company #officer ol ul {
	margin-bottom: 220px;
}
#company #officer ol ul li:first-child {
	width: 40%;
}
#company #officer ol ul li:last-child {
	width: 54%;
}
#company #officer ol h3 span {
	font-size: 20px;
	text-align: left;
	margin: 10px 0;
	padding-top: 10px;
	border-top: solid 1px #CCC;
	border-bottom: none;
}
#company #officer ol p {
	height: 100px;
	position: absolute;
	bottom: 100px;
	left: 0;
}
*/
#company #profile table th {
	width: 8em;
}
#company #profile .access {
	line-height: 1.8;
	margin-bottom: 50px;
	clear: both;
}
#company #profile .access:last-child {
	margin-bottom: 0;
}
#company #profile .access .pho {
	max-width: 20%;
	margin: 0 5% 50px 0;
	float: left;
	clear: both;
}
#company #profile .access a.zoom {
	color: #333;
	text-decoration: none;
	display: block
}
#company #profile .access a.zoom:hover {
	color: #999;
}
#company #profile .access .zoom:hover .pho img {
	transform: scale(1.2);
	transition: .5s;
}
#company #profile .access em {
	font-weight: bold;
	line-height: 1;
	letter-spacing: .05em;
	padding-bottom: 10px;
	display: block;
}
_#company #profile .access .zoom + a {
	display: block;
	text-align: right;
	margin: 10px 18% 0 auto;
}
#company #profile .access .zoom + p {
	margin: 10px 18% 0 auto;
	display: inline-block;
	float: right;
}
#company #profile .access .zoom + p:before {
	content: "▶︎";
	color: #CC0066;
	margin-right: 8px;
}

#company #history table th {
	font-family: 'Lato', sans-serif;
	font-weight: 900;
}
#company #history table th + td,
#company #history table td:first-child {
	text-align: right;
	padding-right: 1em;
}

#company #summary ul {
	margin-bottom: 160px;
}
#company #summary ul:nth-child(even) li:first-child {
	order: 1;
}
#company #summary ul h2 {
	margin: 20px 0;
}
#company #summary ul li:first-child {
	width: 54%;
	position: relative;
}
#company #summary ul li:last-child {
	width: 42%;
}
#company #summary p {
	line-height: 1.8;
}
#company #summary .more {
	position: absolute;
	right: 0;
	bottom: 0;
}

/* #information */
#home #information {
	padding: 100px auto;
}
#home #information h1 {
	position: absolute;
	top: 100px;
	left: 0;
}
#home #information .list {
	width: 93%;
	margin-left: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#home #information .list li {
	width: 47%;
}

/* #service */
#home #service figure {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#home #service figcaption {
	width: 40%;
	font-weight: bold;
	line-height: 2;
}
#home #service figcaption + div {
	width: 55%;
}

#service h2.h2_ja-wrp {
	position: relative;
	margin-top: 40px;
	margin-bottom: 80px;
}

#service span.h2_ja {
	color: #000;
   background: #fff;
   font-size: 24px;
	padding-right: 20px;
}

#service .h2_ja-wrp::after {
	content: "";
	width: 100%;
	height: 1px;
	background: #000;
	left: 0px;
	display: block;
	position: absolute;
	top: 50%;
	z-index: -1;
}

#service #sec_01 {
	padding-bottom: 0;
}
#service #sec_02 {
	padding: 80px 0;
}
#service #sec_02 p {
	font-size: 16px;
	font-weight: bold;
	line-height: 2;
	margin-bottom: 40px;
}
#service #sec_02 div {
	text-align: center;
}
#service #sec_03 {
	padding: 20px 0 180px;
}
#service #sec_03 ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 120px;
	position: relative;
}
#service #sec_03 ul:nth-child(odd) li:first-child {
	order: 1;
}
#service #sec_03 ul#service_10 li:first-child {
	order: 1;
}
#service #sec_03 ul li:first-child {
	color: #888;
	font-size: 12px;
	line-height: 1.6;
	width: 50%;
}
#service #sec_03 ul li:last-child {
	line-height: 2;
	width: 46%;
}
#service #sec_03 ul h3 {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: .05em;
	text-align: center;
	margin-bottom: 30px;
}
#service #sec_03 ul div + p {
	margin-top: 15px;
}
#service #sec_03 ul .url {
	text-align: center;
}
#service #sec_03 ul .url {
	font-family: 'Lato', sans-serif;
	color: #888;
	font-size: 16px;
	text-decoration: none;
	letter-spacing: .05em;
}
#service #sec_03 ul .url:hover {
	color: #CC0066;
}
#service #sec_03 hr {
	margin: 100px auto 20px;
}
#service #sec_03 .zoom {
	color: #333;
	text-decoration: none;
}
#service #sec_03 .zoom:hover .pho img {
	transform: scale(1.2);
	transition: .5s;
}

/* #message */
#message #introduction {
	background: url(../img/message_top.png) no-repeat right top 100px;
	background-size: 47% auto;
}
#message #introduction section {
	padding: 120px 20% 0 0;
}
#message #introduction h1 + p {
	font-size: 40px;
	font-weight: bold;
	line-height: 1.6;
	padding: 80px 0;
}
@media screen and (max-width: 1800px) {
#message #introduction h1 + p { padding: 50px 0; }
}
@media screen and (max-width: 1500px) {
#message #introduction h1 + p { font-size: 35px; padding: 30px 0; }
}
@media screen and (max-width: 1300px) {
#message #introduction h1 + p { padding: 0 0 20px; }
}

#message #introduction .ceo {
	font-size: 20px;
	line-height: 1.4;
}
#message #introduction .ceo em {
	font-size: 32px;
	font-weight: bold;
	letter-spacing: .1em;
	padding-left: 15px;
}
#message #introduction .ceo span {
	font-family: 'Lato', sans-serif;
	color: #E3E3E3;
	font-size: 50px;
	letter-spacing: .12em;
	margin-top: 10px;
	display: block;
}

#message #contents p {
	line-height: 2;
	margin-bottom: 2em;
}

/* #company_index */
#company_index ul {
	margin-top: 80px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#company_index ul li {
	width: 200px;
	height: 60px;
	margin-bottom: 40px;
}
@media screen and (max-width: 850px) {
#company_index ul li {
	width: 160px;
	margin-bottom: 30px;
}
}
#company_index ul li a {
	color: #666;
	font-size: 14px;
	text-decoration: none;
	text-align: center;
	width: 200px;
	max-width: 100%;
	height: 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border: solid 1px #333;
}
#company_index ul li a span {
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	font-weight: 900;
	color: #333;
	margin-bottom: 3px;
	display: block;
}
#company_index ul li a:hover,
#company_index ul li.active a {
	background: #666;
	color: #FFF;
}
#company_index ul li a:hover span,
#company_index ul li.active span {
	color: #FFF;
}

/* #contact */
article#contact {
	background: rgba(255,255,255,.75);
	background: rgba(255,255,255,0);
	text-align: center;
	min-height: 240px;
	position: relative;
}
article#contact:after {
	content: "";
	background: url(../img/contact_top.jpg) no-repeat center center;
	background-size: cover;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
article#contact section {
	padding: 50px 0;
}
.slide_in {
	text-align: center;
	width: 500px;
	height: 80px;
	border: solid 2px #FFF;
	box-shadow: 3px 3px 6px 0 rgba(0,0,0,.16);
	position: relative;
	top: 50%;
	left: 50%;
	overflow: hidden;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.slide_in div {
	width: 100%;
	height: 80px;
	position: absolute;
}
.slide_in div a {
	color: #FFF;
	font-size: 24px;
	font-weight: bold;
	line-height: 80px;
	text-decoration: none;
	width: 100%;
	display: block;
}
.slide_in div a:before {
	content: "";
	background: url(../img/icon_03.png) no-repeat;
	background-size: contain;
	width: 24px;
	height: 17px;
	margin-right: 10px;
	display: inline-block;
}
.slide_in div:nth-child(1) {
	background: rgba(204,0,102,.6);
}
.slide_in div:nth-child(2) {
	background: rgba(204,0,102,1);
	width: 560px;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-transform: translate(-600px, 0px) skewX(-30deg);
	-moz-transform: translate(-600px, 0px) skewX(-30deg);
	transform: translate(-600px, 0px) skewX(-30deg);
}
.slide_in div:nth-child(3) {
	left: -500px;
	-webkit-transition: left 0.2s ease;
	-moz-transition: left 0.2s ease;
	transition: left 0.2s ease;
}
.slide_in:hover div:nth-child(2) {
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	transition: all 0.5s ease;
	-webkit-transform: translate(-30px, 0px) skewX(-30deg);
	-moz-transform: translate(-30px, 0px) skewX(-30deg);
	transform: translate(-30px, 0px) skewX(-30deg);
}
.slide_in:hover div:nth-child(3) {
	left: 0;
	-webkit-transition: left 0.30000000000000004s ease;
	-moz-transition: left 0.30000000000000004s ease;
	transition: left 0.30000000000000004s ease;
}

/* #recruit */
#recruit {
	width: 950px !important;
	padding-bottom: 50px;
}
#recruit ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center !important;
}
#recruit ul li {
	width: 31%;
	margin: 0 1%;
}
#recruit ul li p {
	background: #888;
	color: #FFF;
	font-size: 18px;
	line-height: 32px;
	text-align: center;
	margin-bottom: 20px;
	border-radius: 16px;
}
#recruit ul li div {
	box-shadow: 3px 3px 3px 0 rgba(0,0,0,.1);
}

/* #links */
#links {
	width: 1390px !important;
}
#links ul li img {
	box-shadow: 3px 3px 3px 0 rgba(0,0,0,.1);
}
#links .swiper-container {
	width: 1280px;
	max-width: calc(100% - 110px);
	z-index: 0;
}
#links .swiper-button {
	position: relative;
}
#links .swiper-button-prev,
#links .swiper-button-next {
	background: url(../img/prev.png) no-repeat center;
	background-size: contain !important;
	width: 40px;
	height: 40px;
	z-index: 0;
}
#links .swiper-button-next {
	background: url(../img/next.png) no-repeat center;
}
#links .swiper-button-prev {
	left: 0;
}
#links .swiper-button-next {
	right: 0;
}
#links .swiper-button-prev:after,
#links .swiper-button-next:after {
	content: "";
}

/* #access */
#home #access {
	/*background: #FFF url(../img/access_top.png) no-repeat top left;*/
	background-size: 50% auto;
	min-height: 280px;
}
#home #access:before {
	content: "";
	background: url(../img/access_top.png) no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 0;
	margin: 0 auto;
	padding-top: 25%;
	display: block;
}
#home #access section {
    background: #FFF;
    width: 100%;
    padding: 40px 10px 40px 40px;
    max-width: unset;
}
#home #access h1 {
	margin-bottom: 20px;
}
#home #access ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#home #access ul li a {
	color: #333;
	text-decoration: none;
	line-height: 28px;
	text-align: center;
	width: 120px;
	margin: 0 6px 0 0;
	display: block;
	border: solid 1px #707070;
	border-radius: 4px;
}

#home #access ul li a:hover {
	background: #888;
	color: #FFF;
	border: solid 1px #888;
}
#home #access ul li.headquarters a {
	background: #888;
	color: #FFF;
	font-weight: bold;
	line-height: 30px;
	letter-spacing: .1em;
	border: solid 1px #888;
}
#home #access ul li.headquarters a:hover {
	background: #FFF;
	color: #333;
	border: solid 1px #888;
}
#home #access address {
	font-size: 14px;
	line-height: 30px;
}
#home #access ul + ul {
	margin-top: 20px;
}
#home #access .more {
	margin-top: 0;
}

#access #detail ul {
	margin: 60px 0;
	display: flex;
	flex-wrap: wrap;
}
#access #detail ul li:first-child {
	width: 32%;
	position: relative;
}
#access #detail ul li:first-child p {
	font-family: 'Lato', sans-serif;
	color: rgba(255,255,255,.8);
	font-size: 50px;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	position: absolute;
	top: 10px;
	right: 0;
	
	z-index:-1;
}
#access #detail ul li.left p {
	right: auto;
	left: 0;
}
#access #detail ul li:last-child {
	line-height: 2;
	letter-spacing: .1em;
	width: 68%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
#access #detail ul li:last-child h2 {
	font-size: 16px;
	line-height: 32px;
	text-align: center;
	width: 120px;
	margin-left: 40px;
	display: inline-block;
	border: solid 1px #CCC;
	border-radius: 4px;
}
#access #detail ul li:last-child h2.headquarters {
	background: #888;
	color: #FFF;
	border: solid 1px #888;
}
#access #detail ul li:last-child address {
	padding-left: 60px;
}
#access #detail ul li:last-child p {
	font-weight: bold;
	padding-left: 60px;
}
#access #detail ul li:last-child p a {
	color: #333;
	text-decoration: none;
}
#access #detail ul li:last-child div {
	background: #F8F8F8;
	line-height: 1.5;
	padding: 20px 20px 20px 40px;
}
#access #detail .gmap {
	width: 100%;
	height: 240px;
	margin-bottom: 10px;
}
#access #detail .gmap + p:before {
	content: "▶︎";
	color: #CC0066;
	margin-right: 8px;
}
#access #detail hr {
	margin: 90px 0 80px;
	border-bottom: solid 1px #333;
}

/* #awards-csr */
#awards ul {
	padding: 40px 0 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#awards ul.top {
	border-top: solid 1px #E3E3E3;
}
#awards ul.btm {
	border-bottom: solid 1px #E3E3E3;
}
#awards ul.bot {
	border-bottom: dotted 1px #CCC;
}
#awards ul li:first-child {
	width: 28%;
	text-align: center;
	padding: 0 20px;
}
#awards ul li:last-child {
	width: 72%;
}
#awards ul div {
	max-width: 200px;
	display: inline-block;
}
#awards ul div.smp {
    display: none;
}
#awards ul h2 {
	font-size: 14px;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: .05em;
	margin-bottom: 20px;
}
#awards ul p {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 20px;
}
#awards ul p span {
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	font-weight: normal;
	letter-spacing: .1em;
	padding-right: 1em;
}

#csr {
	text-align: center;
}
#csr h1 {
	text-align: left;
}
#csr h2 {
	font-size: 32px;
	font-weight: bold;
	text-align: left;
	margin-bottom: 40px;
}
#csr p {
	font-weight: bold;
	line-height: 2;
	letter-spacing: .1em;
	text-align: left;
	margin-bottom: 80px;
}
#csr figure {
	display: inline-block;
	position: relative;
}
#csr figcaption {
	font-family: 'Lato', sans-serif;
	color: rgba(255,255,255,.7);
	font-size: 40px;
	line-height: 1.1;
	letter-spacing: .2em;
	text-align: right;
	position: absolute;
	right: 0;
	bottom: 0;
}

#partner {
	width: 880px;
}
#partner ul {
	line-height: 2;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#partner ul li:first-child {
	width: 23%;
}
#partner ul li:last-child {
	width: 73%;
}
#partner ul div {
	width: 200px;
	max-width: 100%;
	border: solid 1px #E3E3E3;
}
#partner ul h2 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: solid 1px #707070;
}

/* #information */
#cat {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 70px;
}
#cat #main {
	width: 63%;
}
#cat #main article {
	background: none;
}
#cat #side {
	width: 28%;
}
#cat.single {
	margin-top: 0;
}

/* #privacy */
#privacy #contents h2 {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: .1em;
	margin: 80px 0 30px;
	padding-left: 10px;
	border-left: solid 8px #888;
}
#privacy #contents h3 {
	color: #CC0066;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.5;
	margin-bottom: 10px;
}
#privacy #contents table + h3 {
	margin-top: 30px;
}
#privacy #contents h4 {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 8px;
}
#privacy #contents p {
	line-height: 2;
	margin-bottom: 30px;
}
#privacy #contents table {
	line-height: 1.5;
	width: 100%;
	margin-bottom: 15px;
	border: solid 1px #666;
	border-spacing: 0;
}
#privacy #contents table thead th {
	background: #E3E3E3;
	text-align: center;
	width: auto;
	padding: 10px 20px;
	border-left: solid 1px #FFF;
}
#privacy #contents table th {
	background: #F8F8F8;
	font-weight: normal;
	text-align: left;
	width: 25%;
	padding: 15px 20px;
	border-bottom: solid 1px #E3E3E3;
}
#privacy #contents table td {
	padding: 15px 20px;
	border-bottom: solid 1px #E3E3E3;
}
#privacy #contents table tr:last-child th,
#privacy #contents table tr:last-child td {
	border-bottom: none;
}
#privacy #contents table.v2 th {
	text-align: center;
}
#privacy #contents table.v3 {
	padding: 10px 30px;
	border: solid 1px #CCC;
}
#privacy #contents table.v3 th {
	background: none;
	vertical-align: top;
	width: 18%;
	border-bottom: dotted 1px #666;
}
#privacy #contents table.v3 td {
	border-bottom: dotted 1px #666;
}
#privacy #contents table + table {
	margin-top: 30px;
}
p.right {
	text-align: right;
}

/* #sitemap */
#sitemap #contents h2 {
	font-family: 'Lato', sans-serif;
	font-size: 20px;
	font-weight: 900;
	letter-spacing: .1em;
	margin-top: 80px;
}
#sitemap #contents ul {
	display: flex;
	flex-wrap: wrap;
	margin-top: 40px;
}
#sitemap #contents ul li {
	width: 33%;
}
#sitemap #contents ul li a {
	color: #333;
	text-decoration: none;
	padding: 8px 20px 8px 0;
	display: block;
}
#sitemap #contents ul li a:before {
	content: "";
	background: #888;
	width: 8px;
	height: 8px;
	display: inline-block;
	margin: 0 12px 2px 0;
	border-radius: 100%;
}
#sitemap #contents ul li a:hover {
	color: #CC0066;
}
#sitemap #contents ul li a:hover:before {
	background: #CC0066;
}
#sitemap #contents ul + ul li a:before {
	display: none;
}

/* form set */
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="submit"],
textarea {
	background: none;
	font-size: 100%;
	vertical-align: middle;
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
	box-shadow: none !important;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}
::-webkit-input-placeholder {color: #999;}
::-moz-placeholder {color: #999;}
:-ms-input-placeholder {color: #999;}
:focus::-webkit-input-placeholder {color: transparent;}
:focus:-moz-placeholder {color: transparent;}
:focus::-moz-placeholder {color: transparent;}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
	background: #FFF;
	width: 75%;
	height: 50px;
	padding: 15px 20px;
	border: solid 1px #CCC;
	border-radius: 6px !important;
}
input[type="text"].zip {
	width: 40%;
	margin-bottom: 10px;
}
.flex input[type="text"]{
	width: 60%;
	min-width: 255px;
	max-width: 100%;
	margin-left: 15px;
}
#tgl_office input[type="text"]{
	width: 100% !important;
}
textarea {
	width: 100% !important;
	height: 120px !important;
	margin-bottom: 30px !important;
	padding: 15px 20px !important;
}
input[type="submit"] {
	background: #707070 url(../img/arw_l.png) no-repeat right 15px center;
	background-size: 26px auto !important;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	width: 240px;
	max-width: 100%;
	height: 60px;
	padding: 0 20px;
	border: solid 1px #707070;
	cursor: pointer;
}
input[type="submit"]:hover {
	background: #FFF url(../img/arw_l.png) no-repeat right 15px center;
	color: #333;
	transition: .3s;
}
.submit .back input[type="submit"] {
	background: #FFF url(../img/arw_r.png) no-repeat left 15px center;
	color: #333;
	border: solid 1px #707070;
}
.submit .back input[type="submit"]:hover {
	background: #707070 url(../img/arw_r.png) no-repeat left 15px center;
	color: #FFF;
}
input[type="radio"],
input[type="checkbox"] {
	display: none;
}
span.radio,
span.checkbox {
	font-weight: bold;
	line-height: 30px;
	padding-left: 40px;
	display: inline-block;
	position: relative;
	cursor: pointer;
}
label + label {
	margin-left: 30px;
}
span.radio:before,
label.mfp_checked span.radio:after,
span.checkbox:before {
	content: "";
	background: #FFF;
	width: 30px;
	height: 30px;
	display: block;
	border: solid 1px #CCC;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
}
label.mfp_checked span.radio:after,
label.mfp_checked span.checkbox:before {
	background: #888;
	width: 16px;
	height: 16px;
	border: none;
	top: 8px;
	left: 8px;
}
span.checkbox:before {
	-webkit-transition: all .12s, border-color .08s;
	transition: all .12s, border-color .08s;
}
label.mfp_checked span.checkbox:before {
	background: url(../img/check.png) no-repeat;
	background-size: contain;
}

/* #contact */
#contact #step {
    padding: 100px 0 50px;
}
#contact #step h2 {
	font-size: 20px;
	font-weight: bold;
	letter-spacing: .1em;
	margin: 80px 0 30px;
	padding-left: 10px;
	border-left: solid 8px #888;
}
#contact ul.step {
	background-size: cover !important;
	width: 792px;
	max-width: 100%;
	height: 50px;
	margin: 80px auto 40px;
	display: flex;
	justify-content: space-around;
}
#contact ul.step li {
	color: #FFF;
	line-height: 50px;
}
#contact ul.step span {
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	margin-right: 10px;
}
#contact ul.step.step_01 {
	background: url(../img/step_01.png) no-repeat center;
}
#contact ul.step.step_02 {
	background: url(../img/step_02.png) no-repeat center;
}
#contact ul.step.step_03 {
	background: url(../img/step_03.png) no-repeat center;
}
#contact ul.step li.active {
	font-weight: bold;
}
#contact #step p {
	line-height: 2;
	text-align: center;
}
#contact #info {
	background: #F8F8F8;
	text-align: center;
	margin: 40px auto;
	padding: 4% 6% 8%;
	border-radius: 8px;
}
#contact .thanks #info {
	margin: 40px auto 20%;
}
#contact #info p {
	background: #FFF;
	margin-bottom: 30px;
	padding: 4% 2%;
	border-radius: 8px;
}
#contact #type.outset {
	margin-bottom: 10%;
}
#contact #type section {
	padding: 80px 0 40px;
}
#contact #type h2 {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
#contact #type h2:before,
#contact #type h2:after {
	content: "";
	background: #333;
	width: 100px;
	height: 1px;
	margin: 0 30px 0 0;
	display: inline-block;
	vertical-align: middle;
}
#contact #type h2:after {
	margin: 0 0 0 30px;
}
#contact #type .type {
	width: 760px;
	max-width: 100%;
	margin: 10px auto 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
}
#contact #type .type li {
	width: 350px;
	max-width: 47%;
	margin-top: 30px;
}
#contact #type .type li a {
	background: #FFF;
	color: #333;
	font-weight: bold;
	line-height: 1.1;
	text-decoration: none;
	text-align: center;
	width: 350px;
	max-width: 100%;
	height: 50px;
	border: solid 2px #333;
	border-radius: 8px;
	box-shadow: 3px 3px 6px 0 rgba(0,0,0,.16);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
#contact #type .type li a:hover, 
#contact #type .type li.active a {
	color: #CC0066;
}
#contact #type .type p {
	font-size: 14px;
	letter-spacing: .05em;
	width: 350px;
	max-width: 47%;
}
#contact .form section {
	padding: 0 0 50px;
}
#contact table {
	background: #FFF;
	width: 100%;
	padding: 4% 6% 6%;
	border-radius: 8px;
}
#contact table thead {
	display: none;
}
#contact table th {
	font-size: 14px;
	font-weight: bold;
	text-align: left;
	vertical-align: top;
	width: 30%;
	padding: 25px 0 10px;
}
#contact table th:before {
	content: "必須";
	background: #BC0101;
	color: #FFF;
	font-size: 12px;
	line-height: 20px;
	text-align: center;
	width: 50px;
	margin: 4px 10px 0 0;
	display: inline-block;
	border-radius: 3px;
}
#contact table th.free:before {
	content: "任意";
	background: #CCC;
	color: #333;
}
#contact table td {
	width: 70%;
	padding: 10px;
}
#contact table .auto {
	background: rgba(112,112,121,1);
	color: #FFF;
	font-size: 12px;
	line-height: 40px;
	text-align: center;
	width: 100px;
	height: 40px;
	margin: 5px 0 0 5px;
	display: inline-block;
	vertical-align: top;
	border-radius: 6px;
	cursor: pointer;
}
#contact table .auto:hover {
	background: rgba(112,112,121,.7);
}
#contact table .line {
	border-top: solid 1px #CCC;
}
#contact table .privacy {
	padding: 0 0 20px;
}
#contact table .privacy div {
	background: #FFF;
	color: #333;
	font-size: 12px;
	line-height: 1.6;
	height: 130px;
	padding: 15px 20px;
	border: solid 1px #CCC;
	border-radius: 6px;
	overflow: auto;
}
#contact table .consent {
	text-align: center;
}
#contact table .consent a {
	font-weight: bold;
	text-decoration: underline;
}
#contact table .consent a:hover {
	text-decoration: none;
}
#contact table .consent div {
	text-align: center;
}
#contact table .flex {
	align-items: flex-start;
}
#contact table .flex label {
	margin-top: 10px;
}
#contact table .flex .mfp_err {
	padding-left: 15px;
}
#contact .submit {
	background: #FFF;
	margin: 0 auto 10%;
	padding-top: 40px;
	display: flex;
	justify-content: center;
}
#contact .submit li {
	margin: 0 20px;
}

form#mailformpro {
	background: #F8F8F8;
}
#mfp_phase_confirm ul.step {
	margin: 40px auto;
}
#mfp_phase_confirm #info {
    margin: 80px auto 40px;
    padding: 4%;
}
#mfp_phase_confirm table {
	font-size: 14px;
	text-align: left;
}
#mfp_phase_confirm table td {
	line-height: 1.6;
	padding: 25px 0 10px;
}

#contact table #th_mfp_element_0:before,
#contact table #th_mfp_element_0:after {
	content: "【";
	background: none;
	color: #333;
	font-size: 14px;
	width: auto;
	margin: 0;
}
#contact table #th_mfp_element_0:after {
	content: "】";
}

.form_01 #th_mfp_element_4:before,
.form_01 #th_mfp_element_8:before,
.form_02 #th_mfp_element_4:before,
.form_02 #th_mfp_element_8:before,
.form_03 #th_mfp_element_5:before,
.form_04 #th_mfp_element_5:before,
.form_05 #th_mfp_element_11:before,
.form_05 #th_mfp_element_12:before {
	content: "任意";
	background: #CCC;
	color: #333;
}
.form_01 #td_mfp_element_9,
.form_02 #td_mfp_element_9,
.form_03 #td_mfp_element_6,
.form_04 #td_mfp_element_6,
.form_05 #td_mfp_element_13 {
	background: url(../img/check.png) no-repeat left 32px;
	background-size: 16px auto;
	padding-left: 26px !important;
}

/*@media (orientation: landscape) {

	#home #main video.pc {
		display: block !important;
		opacity: 1;
		position: absolute;
	}
	#home #main video.smp {
		display: block !important;
		opacity: 0;
	}
}*/

@media screen and (max-width: 1024px) {
	
/* footer
------------------------------------------------------------ */
footer #internal ul li {
	width: 49%;
}

/* contents
------------------------------------------------------------ */
/* #message */
#message #introduction {
	background-size: 60% auto;
}
#message #introduction h1 + p {
	font-size: 30px;
	padding: 20px 0 30px;
}
#message #introduction .ceo span {
	font-size: 38px;
	letter-spacing: .05em;
}

/* form set */
label,
#contact table td .flex {
	display: block;
}
label + label {
	margin: 20px 20px 0 0;
	display: inline-block;
	vertical-align: top;
}
}

@media screen and (min-width: 693px) and (max-width: 834px) {
	#home #main {
		___background: url("../img/poster_sp.jpg") no-repeat center;
		___background-size: contain;
		__margin-top: -60px;
		height: unset;
	}

	#home #main video {
		margin-top: -65px;
	}

	#home #main video.pc,
	#home #main video.smp {
		display: block !important;
		opacity: 0;
		position: absolute;
		min-height: 0;
	}

	#home #main video.tb {
		display: block;
		opacity: 1;
		width: 100vw;
		max-width: unset;
		min-width: unset;
		min-height: unset;
	}

	#home #main .corp_text {
		display: none;
		top: 44vh;
		width: 50vw;
	}
}

@media screen and (max-width: 692px) {

	/* contents
------------------------------------------------------------ */
	/* #main */
	#home #main {
		___background: url("../img/poster_sp.jpg") no-repeat center;
		___background-size: contain;
		__margin-top: -60px;
		height: unset;
		position: relative;
	}

	#home #main video.pc,
	#home #main video.tb {
		display: block !important;
		opacity: 0;
		position: absolute;
		min-height: 0;
	}

	#home #main video.smp {
		display: block;
		opacity: 1;
		width: 100vw;
		height: 177vw;
		margin-left: 0;
		max-width: unset;
		min-width: unset;
		min-height: unset;
	}

	#home #main video.smp {
		background: url("../img/poster_sp.png") no-repeat center;
		background-size: contain;
	}

	#home #main .corp_text {
		width: 82vw;
		bottom: 15vh;
		top: unset;
	}
}

@media screen and (max-width: 1023px) {

/* header
------------------------------------------------------------ */
_header nav ul li.nav_05 a:hover,
_header nav ul li.nav_06 a:hover,
_header nav ul li.nav_05.active a,
_header nav ul li.nav_06.active a {
	font-size: 14px;
}

/* footer
------------------------------------------------------------ */
footer #internal li {
	min-width: 4em;
}
footer #internal ul li {
	width: 38%;
}
footer #internal ul li:nth-child(odd) {
	width: 60%;
}

/* common
------------------------------------------------------------ */
/* layout */
main {
	padding-bottom: 50px;
}
main section {
	padding: 50px 0;
}

/* link */
.more {
	margin: 40px auto 0;
}

/* list */
.list_v2 {
	justify-content: center;
}
.list_v2 > li {
	width: 280px;
	max-width: 46%;
	margin: 0 2% 30px;
}

/* menu */
.menu {
	max-width: 80%;
}
#side .menu {
	max-width: 100%;
}

/* #pagenavi */
#pagenavi {
	padding: 25px 10%;
}

/* contents
------------------------------------------------------------ */
/* #main 
#home #main {
	background: url("../img/poster_sp.jpg") no-repeat center;
	background-size: contain;
    margin-top: -60px;
}
#home #main video.pc {
	display: none;
}
#home #main video.smp {
	display: block;
}
#home #main video.smp {
	background: url("../img/poster_sp.jpg") no-repeat center;
	background-size: contain;
}
*/
	
/* #company */
section.company div {
	display: none;
}
article.company p:after {
	content: "";
	background: url(../img/comp_top.jpg) no-repeat;
	background-size: 100% auto !important;
	width: 100%;
	height: 0;
	margin: 30px auto;
	padding-top: 68%;
	display: block;
}
article.company p br {
	display: none;
}

#company #message ul {
	display: block;
}
#company #message ul li:first-child {
	width: 100%;
	display: block;
}
#company #message ul li:last-child {
	display: none;
}
#company #message h2 + p {
	line-height: 1.5;
	padding: 30px 0 20px;
}
#company #message h2 + p:after {
	content: "";
	background: url(../img/message_top.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 0;
	margin-top: 20px;
	padding-top: 61%;
	display: block;
}
#company #message .ceo {
	font-size: 16px;
}
#company #message .ceo em {
	font-size: 24px;
}
#company #message .more {
	margin: 20px 0 0 auto;
}
#company #philosophy dl {
	margin-left: 0 !important;
}
/*
#company #officer ul li:first-child {
	width: 38%;
}
#company #officer ul li:last-child {
	width: 58%;
}
#company #officer h3 {
	letter-spacing: normal;
}
#company #officer h3 em {
	font-size: 14px;
}
#company #officer h3 span {
	font-size: 16px !important;
}
#company #officer ol ul {
    margin-bottom: 270px;
}
#company #officer ol p {
    bottom: 150px;
}
#company #officer ol ul li:first-child {
	width: 38%;
}
#company #officer ol ul li:last-child {
	width: 56%;
}
*/
#company #profile .access .zoom + p {
	margin: 10px 0 0 auto;
}

/* #service */
#home #service figure {
	display: block;
}
#home #service figcaption {
	width: 100%;
}
#home #service p:after {
	content: "";
	background: url(../img/servi_pic_pc0707.png) no-repeat;
	background-size: 100% auto !important;
	width: 100%;
	height: 0;
	margin: 30px auto;
	padding-top: 52%;
	display: block;
}
#home #service p br {
	display: none;
}
#home #service figcaption + div {
	display: none;
}
#service #sec_02 {
	padding: 40px 0;
}
#service #sec_03 ul {
	padding-bottom: 80px;
}
#service #sec_03 ul li:last-child br {
	display: none;
}
#service #sec_03 ul h3 {
	margin-bottom: 15px;
}
	
	#service h2.h2_ja-wrp {
		margin-bottom: 40px;
	}

	#service span.h2_ja {
		font-size: 20px;
		padding-right: 10px;
	}
	

/* #message */
#message #introduction {
	background: none;
}
#message #introduction section {
	padding: 100px 0 0;
}
#message #introduction .ceo:before {
	content: "";
	background: url(../img/message_top.png) no-repeat;
	background-size: contain;
	width: 100%;
	height: 0;
	margin: 20px 0;
	padding-top: 61%;
	display: block;
}

/* #recruit */
#recruit ul li p {
	font-size: 15px;
}

/* #access */
#home #access {
	background: #FFF;
}
#home #access:before {
	content: "";
	background: url(../img/access_top.png) no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 0;
	margin: 0 auto;
	padding-top: 25%;
	display: block;
}
#home #access section {
	width: 100%;
	max-width: 100%;
	border: none;
	position: static;
}
#home #access .more {
	margin: 40px 0 0 auto;
}
#access #detail ul li:first-child p {
	font-size: 40px;
	font-size: 36px;
}
#access #detail ul li:last-child {
	line-height: 1.8;
	letter-spacing: normal;
}

/* #information */
#cat {
	display: block;
}
#cat #main {
	width: 100%;
}
#cat #side {
	width: 100%;
	margin-top: 80px;
	display: flex;
	align-items: flex-start;
}

/* form set */
.flex input[type="text"] {
	width: 75%;
	margin: 10px 0 0;
}

/* #contact */
#contact #info {
	margin: 20px auto 0;
	padding: 5%;
}
#contact table {
	padding: 4% 5%;
}
#contact #mfp_confirm_table th {
	width: 35%;
	padding: 10px 0;
}
#contact #mfp_confirm_table td {
	width: 65%;
	padding: 10px 0;
}
.form_01 #td_mfp_element_9,
.form_02 #td_mfp_element_9,
.form_03 #td_mfp_element_6,
.form_04 #td_mfp_element_6,
.form_05 #td_mfp_element_13 {
	background: url(../img/check.png) no-repeat left 18px;
	background-size: 16px auto;
}
}


@media screen and (max-width: 740px) {

/* set
------------------------------------------------------------ */
body {
	font-size: 14px;
}
body.open:after {
	content: "";
	background: rgba(0,0,0,.5);
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.smp {
	display: block;
}
.pc {
	display: none !important;
}

/* header
------------------------------------------------------------ */
header {
	background: #FFF;
	width: 100%;
	height: 50px;
	box-shadow: 3px 3px 6px 0 rgba(0,0,0,.16);
	position: fixed;
	top: 0;
	z-index: 3;
	
	display: none;
}
header .slide-menu {
	display: block !important;
}
header nav {
	text-align: left;
	height: auto;
	display: block;
	position: static;
}
header nav a {
	font-size: 14px !important;
	line-height: 50px;
	padding-left: 10px !important;
}
header nav .active > a,
header nav a:hover {
	color: #333;
	font-weight: bold !important;
}
header nav h1 {
	position: absolute;
	top: 7px;
	top: 2px;
}
header nav h1 a {
	line-height: 1;
	width: auto;
}
header nav h1 img {
	width: auto;
	height: 36px;
	margin-top: 7px;
}
.sidr {
	font-family: '游ゴシック', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
	height: auto;
	font-size: 14px;
	box-shadow: 3px 3px 6px 0 rgba(0,0,0,.3);
}
header nav > ul > li {
	width: 100%;
	border-bottom: solid 1px #E3E3E3;
}
header nav ul li.nav_04,
header nav ul li.slide-menu {
	border-bottom: none;
}
header nav ul li {
	position: relative;
}
header nav ul li a:before {
	font-family: 'Lato', sans-serif;
	color: #CCC;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: .05em;
	line-height: 50px;
	position: absolute;
	right: 30px;
}
header nav ul li.nav_01 a:before {
	content: "HOME";
}
header nav ul li.nav_02 a:before {
	content: "INFORMATION";
}
header nav ul li.nav_03 a:before {
	content: "SERVICE";
}
header nav ul li.nav_04 > a:before {
	content: "COMPANY";
}
header nav ul li:not(.slide-menu):after {
	content: "";
	width: 7px;
	height: 7px;
	display: inline-block;
	border-top: solid 3px #CCC;
	border-right: solid 3px #CCC;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 20px;
	right: 10px;
}
header nav ul ul li:after {
	border-top: solid 3px #FFF !important;
	border-right: solid 3px #FFF !important;
}
header nav ul ul {
	margin-bottom: 0 !important;
	display: flex !important;
	flex-wrap: wrap;
	border: none;
	box-shadow: none;
}
header nav ul ul li {
	width: 50%;
}
header nav ul ul li:nth-child(even),
header nav ul ul li.smp,
header nav ul ul li:last-child {
	border-left: solid 1px #FFF;
}
header nav ul ul li.smp + .smp {
	border-left: none;
}
header nav ul ul li a {
	background: #EFEFEF;
	color: #666 !important;
	font-size: 15px;
	font-weight: normal;
	line-height: 50px;
	padding: 0 0 0 20px !important;
}
header nav ul ul li a:hover {
	background: #EFEFEF;
	color: #666;
	font-weight: normal !important;
}
header nav ul li.nav_05,
header nav ul li.nav_06 {
	background: rgba(204,0,102,.6);
	text-align: center;
	padding: 20px;
	border-bottom: none;
}
header nav ul li.nav_06 {
	padding-top: 0;
}
header nav ul li.nav_05:after,
header nav ul li.nav_06:after {
	display: none;
}
header nav ul li.nav_05 a,
header nav ul li.nav_06 a {
	background: #FFF;
	_font-family: '游ゴシック', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
	font-weight: bold;
	color: #CC0066;
	line-height: 50px;
	padding-top: 0;
}
header nav ul li.nav_05.active a,
header nav ul li.nav_06.active a,
header nav ul li.nav_05 a:hover,
header nav ul li.nav_06 a:hover {
	background: #FFF;
}
header nav ul li.nav_05 a:before,
header nav ul li.nav_06 a:before {
	content: "";
	background: url(../img/icon_04.png) no-repeat;
	background-size: contain !important;
	width: 16px;
	height: 16px;
	margin-right: 8px;
	display: inline-block;
	position: static;
}
header nav ul li.nav_06 a:before {
	background: url(../img/icon_05.png) no-repeat;
	width: 24px;
}
header nav ul li.nav_05 a:after {
	display: none;
}
header nav ul li.nav_04 > a:after {
	display: none;
}
header nav ul li.slide-menu a {
	text-indent: 100%;
	display: block;
	white-space: nowrap;
	overflow: hidden;
}
header nav ul li.slide-menu a {
	background: #333;
}
header nav ul li.slide-menu:before,
header nav ul li.slide-menu:after {
	content: "";
	background: #FFF;
	width: 30px;
	height: 2px;
	display: block;
	position: absolute;
	top: 24px;
	left: 45%;
	-webkit-transform:	rotate(-45deg);
			transform:	rotate(-45deg);
	transition: .3s;
}
header nav ul li.slide-menu:after {
	-webkit-transform:	rotate(45deg);
			transform:	rotate(45deg);
}

/* Responsive Menu */
div.slide-menu {
	width: 50px;
	height: 50px;
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
}
div.slide-menu a {
	text-indent: 100%;
	display: block;
	white-space: nowrap;
	overflow: hidden;
}
div.slide-menu:before,
div.slide-menu:after,
div.slide-menu a:before {
	content: "";
	background: #CC0066;
	width: 30px;
	height: 2px;
	position: absolute;
	top: 15px;
	left: 10px;
	transition: .3s;
}
div.slide-menu:after {
	top: 24px;
}
div.slide-menu a:before {
	top: 33px;
}
div.open.slide-menu {
	background: rgba(204,0,102,.6);
}
div.open a:before {
	display: none;
}
div.open:before,
div.open:after {
	background: #FFF;
	top: 24px;
	-webkit-transform:	rotate(-45deg);
			transform:	rotate(-45deg);
	transition: .3s;
}
div.open:after {
	-webkit-transform:	rotate(45deg);
			transform:	rotate(45deg);
}

.sidr {
	width: calc(100% - 50px);
	height: 100%;
	_padding-bottom: 60px;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}
.sidr.right {
	right: calc(-100% + 50px);
}

/* footer
------------------------------------------------------------ */
footer {
	background: #FFF;
}
footer > section {
	max-width: 100%;
	padding-bottom: 130px;
}
footer #sns {
	background: #EFEFEF;
	margin-bottom: 0;
	padding: 35px 5% 30px;
	justify-content: center;
	border-bottom: none;
}
footer #sns li:first-child {
	position: absolute;
	top: 20px;
	left: 5%;
}
footer #sns li:last-child {
	margin-right: 0;
}
footer #internal {
	width: 100%;
	position: absolute;
	bottom: 0;
	display: block;
}
footer #internal > li:not(:last-child) {
	display: none;
}
footer #internal > li:last-child {
	min-width: 100%;
	margin-left: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
footer #internal > li:last-child div {
	margin: 0 0 0 30px;
	width: 100%;
	margin: 0 30px;
}
footer #internal > li:last-child div + div {
	order: -1;
}
footer section.ex_wrp {
   display: block;
    max-width: 100%;
}
footer section.ex_wrp section {
    margin: 20px 0 0;    
	max-width: 100%;
}
	footer section.ex_wrp section p {
    margin: 0 10px;
}
footer #external {
	margin: 0;
	display: block;
}
footer #external li {
	background: url(../img/icon_02.png) no-repeat left 5% center;
	border-bottom: solid 1px #CCC;
}
footer #external li a {
	padding: 18px 5%;
	display: block;
}
footer article ul {
	padding: 18px 0 8px;
	flex-wrap: wrap;
}
footer article ul li:first-child:before {
	content: "";
	margin: 0 15px;
}
footer article ul li {
	margin-bottom: 10px;
}
footer article ul + p {
	font-size: 13px;
	text-align: center;
	padding-bottom: 10px;
}
footer article + article {
	padding: 13px 13px 30px;
	display: block;
	text-align: center;
}
footer h1 {
	margin: 0 auto;
}

/* common
------------------------------------------------------------ */
/* layout */
main {
	margin-top: 50px;
	padding-bottom: 50px;
}
section {
	max-width: 90%;
}
main section {
	padding: 50px 0 40px;
}

/* #breadcrumb */
#breadcrumb {
	padding: 10px 0;
}

/* title */
main h1 {
	font-size: 24px;
	letter-spacing: .05em;
	margin-bottom: 30px;
}
main h1:after {
    width: 80px;
}
main h1.tb-rl {
	-webkit-writing-mode: horizontal-tb;
	-ms-writing-mode: lr-tb;
	writing-mode: horizontal-tb;
}
main h1.tb-rl:after {
	width: 80px;
	height: 1px;
	margin: 0 0 0 20px;
	display: inline-block;
	vertical-align: super;
}
main h1.center {
	text-align: left;
}
main h1.center:before {
	display: none;
}

/* link */
.more {
	margin: 20px auto 0;
}
.to-list a {
	margin: 0 auto;
}

/* list */
.list li a {
	margin-bottom: 30px;
}
.list li figure {
	margin-right: 10px;
}
.list li figure img {
	width: 88px;
	height: 88px;
}
.list li figure + div {
	max-width: calc(100% - 100px);
}
.list li div p {
	margin-top: 10px;
}

.list_v2 {
	display: block;
}
.list_v2 > li {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 40px;
}
.list_v2 li figure img {
	width: 100%;
	height: 170px;
}
.list_v2 li p {
	height: auto;
	margin-bottom: 10px;
}

/* menu */
.menu {
	max-width: 100%;
	flex-wrap: wrap;
}
.menu li {
	width: 30%;
	margin-bottom: 5%;
}
.menu.archives li a {
	line-height: 1.2;
	min-width: auto;
	height: 50px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.menu li a {
	line-height: 50px;
}
#side .menu li {
	width: 100%;
	margin-bottom: 0;
}
#side .menu.archives li a:after {
	top: 20px;
}

/* #post */
#post {
	margin-bottom: 60px;
}
#post h2 {
	font-size: 20px;
	line-height: 1.5;
	margin: 0 0 20px;
}
#post div {
	margin-bottom: 20px;
}
#post p {
	line-height: 1.7;
}
#post .box,
#post pre {
	margin: 30px auto;
}

/* #pagenavi */
#pagenavi {
	letter-spacing: normal;
	text-align: center;
	padding: 25px 0 70px;
	display: block;
	border-top: none;
	position: relative;
}
#pagenavi li {
	display: inline-block;
	margin: 0 5px 10px;
}
#pagenavi.cat {
	justify-content: space-between;
}
#pagenavi.cat li {
	margin: 0 5px 10px;
}
#pagenavi .current span,
#pagenavi a {
	background: #FFF;
	text-align: center;
	width: 44px;
	line-height: 44px;
	display: block;
	border: solid 1px #FFF;
}
#pagenavi .current span,
#pagenavi a:hover {
	color: #CC0066;
	border: solid 1px #CC0066;
}
#pagenavi .previous a,
#pagenavi .next a {
	background: none;
	color: #888;
	letter-spacing: .5em;
	line-height: 1;
	width: auto;
	border: none;
	position: absolute;
	bottom: 30px;
}
#pagenavi .previous a:hover,
#pagenavi .next a:hover {
	border: none;
}
#pagenavi .previous a {
	padding-left: 20px;
	left: 10px;
}
#pagenavi .next a {
	padding-right: 15px;
	right: 10px;
}
#pagenavi .previous a:after,
#pagenavi .next a:after {
	border-top: solid 3px #888;
	border-right: solid 3px #888;
	top: 3px;
}
.single #pagenavi {
	padding: 30px 0;
}
.single #pagenavi a {
	color: #333;
}

/* #pagetop */
#pagetop a {
	width: 50px;
	height: 50px;
}
#pagetop a:before {
	top: 20px;
	right: 12px;
}
body.open #pagetop a {
	display: none;
}

/* contents
------------------------------------------------------------ */
/* #main */
#home {
	padding-bottom: 50px;
}
#home #main #play {
	padding-bottom: 30px;
}
#home #main #play img {
	width: auto;
	height: 20px;
}
#home #main #play:after {
	display: none;
}

/* #company */
section.company {
	padding: 30px 0;
}
section.company p {
	font-size: 20px; 
}
article.company section {
	padding: 30px 0 40px;
}

.h2,
#company h2 {
	font-size: 14px;
	padding: 0 0 0 10px;
}
.h2 span,
#company h2 span {
	font-size: 22px;
	padding: 0 0 5px;
	display: block;
}
#company table {
	margin-top: 0;
	padding: 10px 0 20px;
}
#company table th,
#company table td {
	display: block;
}
#company table th + td,
#company table th + td +td {
	padding-top: 0;
}
#company #message ul {
	margin: 30px 0;
}
#company #philosophy h2 {
	margin-bottom: -40px;
}
#company #philosophy dl {
	text-align: center;
	margin-top: 60px;
	display: block;
}
#company #philosophy dl dt {
	margin-right: 0;
}
#company #philosophy dl dd {
	letter-spacing: normal;
}
#company #philosophy h3 {
	font-size: 24px;
	margin: 10px 0 15px;
}
#company #philosophy p {
	text-align: left;
	line-height: 1.7;
}
#company #philosophy p br {
	display: none;
}
/*
#company #officer h2 {
	margin-bottom: 30px;
}
#company #officer ul {
	margin-bottom: 80px;
	display: block;
}
#company #officer ul li {
	width: 100% !important; 
}
#company #officer div {
	width: 45%;
	margin-bottom: 20px;
	float: left;
}
#company #officer h3 {
	width: 50%;
	margin-top: 40px;
	float: right;
}
#company #officer h3 span {
	text-align: left;
	margin: 5px 0 0;
	border-bottom: none;
}
#company #officer p {
	font-size: 14px;
	clear: both;
}
#company #officer ul.ceo h3 strong {
	font-size: 24px;
}
#company #officer ul.ceo div {
	width: 70%;
	margin: 0 auto;
	float: none;
}
#company #officer ul.ceo h3 {
	text-align: center;
	width: 100%;
	margin: 10px auto 20px;
	float: none;
}
#company #officer ul.ceo h3 span {
	text-align: center;
	margin: 10px 0 0;
}
#company #officer ol {
	display: block;
}
#company #officer ol > li {
	width: 100% !important;
}
#company #officer ol ul {
	margin-bottom: 80px;
}
#company #officer ol ul li {
	width: 100% !important;
}
#company #officer ol div {
	width: 30%;
}
#company #officer ol h3 {
	width: 65%;
	margin-top: 0;
}
#company #officer ol h3 strong {
	font-size: 20px;
}
#company #officer ol h3 span {
	margin: 0;
	padding-top: 10px;
	border: none;
}
#company #officer ol p {
	height: auto;
	position: static;
}
*/
#company #profile .access {
	line-height: 1.6;
	margin-top: 15px;
}
#company #profile .access .pho {
	max-width: 30%;
}

#company #history table {
	margin-top: 25px;
	padding: 0 20px 20px;
}

/* #information */
#home #information h1 {
	position: static;
}
#home #information .list {
	width: 100%;
	display: block;
}
#home #information .list li {
	width: 100%;
}
#company #history table {
	line-height: 1.7;
}
#company #history table th {
	margin-top: 20px;
	border-top: solid 1px #E3E3E3;
}
#company #history table tr:first-child th {
	margin-top: 0;
	border-top: none;
}
#company #history table th + td,
#company #history table td:first-child {
	vertical-align: top;
	width: 18%;
	display: inline-block;
	white-space: nowrap;
}
#company #history table td {
	vertical-align: top;
	width: 80%;
	display: inline-block;
}
#company #summary ul {
	margin-bottom: 50px;
	display: block;
}
#company #summary ul li:first-child {
	width: 100%;
}
#company #summary ul li:last-child {
	display: none;
}
#company #summary ul p:before {
	content: "";
	background: url(../img/comp_aw_csr.png) no-repeat;
	background-size: 100% auto !important;
	width: 100%;
	height: 0;
	margin-bottom: 20px;
	padding-top: 50%;
	display: block;
}
#company #summary ul:last-child p:before {
	background: url(../img/comp_access.png) no-repeat;
}
#company #summary .more {
	margin: 20px 0 0 auto;
	position: static;
}

/* #service */
#home #service p:after {
	background: url(../img/servi_pic_sp0707.png) no-repeat;
	padding-top: 80%;
}
	
	
#service span.h2_ja::after {
	width: 60px;
	right: -70px;
}

	
#service #sec_02 {
	padding: 30px 0;
}
#service #sec_02 p {
	font-size: 14px;
}
#service #sec_03 {
	padding: 0 0 130px;
}
#service #sec_03 ul {
	display: block;
}
#service #sec_03 ul li {
	font-size: 14px;
	width: 100% !important;
}
#service #sec_03 ul li:first-child {
	margin-bottom: 30px;
}
#service #sec_03 ul h3 {
	font-size: 20px;
}
#service #sec_03 hr {
	margin: 80px auto -60px;
}

/* #message */
#message #introduction section {
	padding: 50px 0 0;
}
#message #introduction h1 {
	margin-bottom: 0;
}
#message #introduction h1 + p {
	font-size: 24px;
	padding: 30px 0 0;
}
#message #contents {
	padding-top: 20px;
}
#message #contents p {
	margin-bottom: 2em;
}
#message #introduction .ceo {
	font-size: 16px;
}
#message #introduction .ceo em {
	font-size: 24px;
}
#message #introduction .ceo span {
	font-size: 30px;
}

/* #company_index */
#company_index ul {
	margin-top: 40px;
}
#company_index ul li {
	width: 46%;
	margin-bottom: 5%;
}

/* #contact */
article#contact {
	min-height: auto;
}
article#contact section {
	margin-top: 50px;
	padding: 30px 0;
}
article#contact div a {
	background: rgba(204,0,102,.6);
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	line-height: 64px;
	text-decoration: none;
	text-align: center;
	width: 240px;
	max-width: 80%;
	display: block;
	display: inline-block;
	border: solid 2px #FFF;
	box-shadow: 3px 3px 6px 0 rgba(0,0,0,.16);
}
article#contact div a:before {
	content: "";
	background: url(../img/icon_03.png) no-repeat;
	background-size: contain;
	width: 24px;
	height: 17px;
	margin-right: 10px;
	display: inline-block;
}
article#contact div a:hover {
	background: rgba(204,0,102,1);
}
.slide_in {
	display: none;
}

/* #recruit */
#recruit {
	padding-bottom: 0;
}
#recruit ul {
	display: block;
}
#recruit ul li {
	width: 80%;
	margin: 0 auto 30px;
}
#recruit ul li p {
	font-size: 16px;
	margin-bottom: 10px;
}

/* #links */
#home #links {
	padding-bottom: 100px;
}
#links .swiper-container {
	max-width: calc(100% - 60px);
	max-width: calc(100% - 30px);
}
#links .swiper-button-prev,
#links .swiper-button-next {
	width: 25px;
	height: 25px;
	top: 65%;
	__z-index: 1;
}

/* #access */
#home #access section {
	max-width: 90%;
	padding: 30px 0;
}
#home #access ul {
	max-width: 300px;
}
#home #access ul li a {
	line-height: 1.5;
	padding: 8px 0;
	margin-bottom: 6px;
}
#home #access address {
	padding-top: 10px;
	line-height: 1.7;
}
#access #detail ul {
	margin: 40px 0;
	display: block;
}
#access #detail ul li{
	width: 100% !important;
}
#access #detail ul li:first-child div {
	width: 60%;
	margin: 0 auto 20px 10%;
}
#access #detail ul li:first-child p {
	color: rgba(204,204,204,.7);
	top: 0;
	right: 15%;
}
#access #detail ul li:first-child div {
	width: 60%;
	margin: 0 auto 20px 10%;
}
#access #detail ul li.left div {
	margin: 0 10% 20px auto;
}
#access #detail ul li.left p {
	right: auto;
	left: 15%;
}
#access #detail ul li:last-child h2 {
	width: 100px;
	margin: 0 0 10px;
}
#access #detail ul li:last-child address {
	padding-left: 0;
}
#access #detail ul li:last-child p {
	margin: 10px 0;
	padding-left: 0;
}
#access #detail ul li:last-child p span {
	font-size: 11px;
}
#access #detail ul li:last-child div {
	padding: 10px;
}
#access #detail hr {
	margin: 40px 0;
}

/* #awards-csr */
#awards h1 {
	margin-bottom: 0;
}
#awards ul {
	display: block;
	border-bottom: solid 1px #E3E3E3 !important;
}
#awards ul.top,
#awards ul.btm,
#awards ul.bot {
	border: none;
}
#awards ul li {
	width: 100% !important;
}
#awards ul li:first-child {
	padding: 0 0 20px;
}
#awards ul h2 {
	text-align: center;
	margin-bottom: 30px;
}
#awards ul p {
	font-size: 14px;
	line-height: 1.3;
	margin-bottom: 5px;
	padding: 10px;
}
#awards ul p span {
	padding: 0 0 5px;
	display: block;
}
#awards ul p + p {
	border-top: dotted 1px #CCC;
}
#csr h2 {
	font-size: 20px;
	margin-bottom: 20px;
}
#csr p {
	letter-spacing: normal;
	margin-bottom: 40px;
}
#csr p br {
	display: none;
}
#csr figcaption {
	color: #E3E3E3;
	font-size: 24px;
	letter-spacing: .12em;
	text-align: center;
	margin-top: 10px;
	position: static;
}
#partner ul {
	_line-height: 1.6;
	display: block;
}
#partner ul li {
	width: 100% !important;
}
#partner ul div {
	margin: 0 auto 40px;
}

/* （20.9.29） */
#awards {
max-width: 100%;
}
#awards h1,
#awards ul li {
max-width: 90%;
margin: 0 auto;
}
#awards h1 {
margin-bottom: 30px;
}
#awards ul.top {
border-top: solid 1px #E3E3E3;
}
#awards ul h2 {
text-align: left;
margin-bottom: 10px;
}
#awards ul li:first-child {
display: none;
}
#awards ul div.smp {
display: block;
margin: 0 auto;
}

/* #information */
#cat {
	margin-top: 40px;
}
#cat #main article {
	background: #EFEFEF;
	padding-bottom: 30px;
}
#cat #side {
	display: block;
}

/* #privacy */
#privacy #contents h2 {
	font-size: 18px;
	margin: 30px 0 20px;
}
#privacy #contents table thead {
	display: none;
}
#privacy #contents table th,
#privacy #contents table td {
	width: 100%;
	padding: 10px 20px;
	display: block;
	border-bottom: none;
}
#privacy #contents table th br {
	display: none;
}
#privacy #contents table.v2 th {
	text-align: left;
}
#privacy #contents table.v3 {
	padding: 10px 20px;
}
#privacy #contents table.v3 th {
	text-align: center;
	width: 100%;
	padding-bottom: 0;
	border-bottom: none;
}
#privacy #contents table.v3 td {
	padding: 10px 0;
}
#privacy #contents table + table {
	margin-top: 20px;
}

/* #sitemap */
#sitemap #contents h2 {
	margin-top: 30px;
}
#sitemap #contents ul {
	margin: 30px 0 10px;
}
#sitemap #contents ul li {
	width: 60%;
	margin-bottom: 20px;
}
#sitemap #contents ul li:nth-child(even) {
	width: 40%;
}
#sitemap #contents ul + ul {
	display: block;
}
#sitemap #contents ul + ul li {
	width: 100% !important;
}

/* form set */
input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
	width: 100%;
}
input[type="text"].zip {
	width: 50%;
}
.flex input[type="text"]{
	width: 100%;
}
textarea {
	margin-bottom: 0 !important;
}
label + label {
	margin: 10px 0 0;
}
span.checkbox {
	line-height: 1.5;
}
label.mfp_checked span.checkbox:before {
	top: 3px;
}

/* #contact */
#contact #step {
	max-width: 100%;
    padding: 50px 0 30px;
}
#contact #step h1,
#contact #step p {
	margin-right: 5%;
	margin-left: 5%;
}
#contact #step h2 {
	font-size: 18px;
	letter-spacing: .05em;
	margin: 30px 5%;
}
#contact ul.step {
	width: 100%;
	height: 50px;
	margin: 0 auto 40px;
	justify-content: space-between;
}
#contact ul.step li {
	line-height: 1;
	text-align: center;
	width: 30%;
}
#contact ul.step span {
	margin: 8px 0 4px;
	display: block;
}
#contact ul.step.step_01 {
	background: url(../img/step_01_sp.png) no-repeat center;
}
#contact ul.step.step_02 {
	background: url(../img/step_02_sp.png) no-repeat center;
}
#contact ul.step.step_03 {
	background: url(../img/step_03_sp.png) no-repeat center;
}
#contact #step p {
	text-align: left;
}
#contact #info {
	padding: 4% 4% 8%;
	border-radius: 0;
}
#contact #info p {
	padding: 20px;
}
#contact #info p br {
	display: none;
}
#contact #type section {
	padding: 40px 0 30px;
}
#contact #type h2 {
	font-size: 16px;
}
#contact #type h2:before,
#contact #type h2:after {
	display: none;
}
#contact #type .type {
	margin: 10px auto 20px;
	display: block;
}
#contact #type .type li {
	margin-top: 15px;
	display: inline-block;
	vertical-align: top;
}
#contact #type .type li:nth-child(even) {
	float: right;
}
#contact .#type .type li a {
	height: 60px;
}
#contact #type .type p {
	line-height: 1.3;
	letter-spacing: normal;
	max-width: 100%;
	margin-top: 30px;
}
#contact .form section {
	padding: 0 0 30px;
}
#contact table {
	padding: 0 5% 5%;
}
#contact table th {
	line-height: 1.5;
	width: 100% !important;
	padding: 25px 0 15px 60px !important;
	display: block;
	position: relative;
}
#contact table th#th_mfp_element_0 {
	padding: 25px 0 15px 15px !important;
}
#contact table th#th_mfp_element_0:before {
    top: auto;
}
#contact table th:before {
	position: absolute;
	top: 22px;
	left: 0;
}
#contact table td {
	width: 100% !important;
	padding: 0 !important;
	display: block;
}
#contact table .line {
	border-top: none;
}
#contact table .consent {
	text-align: left;
	margin-top: 25px;
}
#contact #mfp_phase_confirm .submit {
	justify-content: space-between;
}
#contact #mfp_phase_confirm .submit li {
	margin: 0 auto;
	width: 43%;
}
#contact #mfp_phase_confirm .submit input[type="submit"] {
	background: #707070 url(../img/arw_l.png) no-repeat right 5px center;
	padding-right: 3em;
}
#contact #mfp_phase_confirm .submit input[type="submit"]:hover {
	background: #FFF url(../img/arw_l.png) no-repeat right 5px center;
}
#contact #mfp_phase_confirm .submit .back input[type="submit"] {
	background: #FFF url(../img/arw_r.png) no-repeat left 5px center;
	padding-right: 20px;
	padding-left: 2.5em;
}
#contact #mfp_phase_confirm .submit .back input[type="submit"]:hover {
	background: #707070 url(../img/arw_r.png) no-repeat left 5px center;
	color: #FFF;
}
#mfp_phase_confirm #info {
    margin: 40px auto 0;
}
.form_01 #td_mfp_element_9,
.form_02 #td_mfp_element_9,
.form_03 #td_mfp_element_6,
.form_04 #td_mfp_element_6,
.form_05 #td_mfp_element_13 {
	background: url(../img/check.png) no-repeat left top;
	background-size: 16px auto;
}
div.mfp_err {
	font-size: 14px;
}
}


@media screen and (max-width: 370px) {

/* footer
------------------------------------------------------------ */
footer article ul li:not(:first-child):before {
	margin: 0;
}

/* common
------------------------------------------------------------ */
/* title */
main h1:after {
    width: 50px;
}

/* contents
------------------------------------------------------------ */
/* #access */
#home #access ul li a {
	width: 90px;
	margin: 0 5px 0 0;
}
#access #detail ul li:last-child p span {
	font-size: 9px;
}
#access #detail ul li:last-child div {
	font-size: 13px;
}

/* #company_index */
#company_index ul li a span {
    font-size: 15px;
}

/* #privacy */
#privacy #contents h1 {
	font-size: 20px;
}
}


@media screen and (max-width: 740px) {
/* iOS 8.4.1のエラー調整 */
.menu li a:hover {
	background: #E3E3E3;
}
#pagenavi a:hover,
.single #pagenavi a:hover {
	color: #E3E3E3;
}
}



/* #officer .v2（20.08.09）
------------------------------------------------------------ */
#company #introduction {
height: 780px;
height: 830px;
margin-top: 40px;
padding: 40px 0 20px 20px;
display: flex;
justify-content: space-between;
position: relative;
overflow: hidden;
}
#introduction .swiper-container {
margin: 0;
}
#introduction .thumb {
width: 28%;
overflow: visible;
}
#introduction .thumb:before,
#introduction .thumb:after {
content: "";
background: #FFF;
width: 100%;
height: 30px;
display: block;
position: absolute;
top: -40px;
z-index: 2;
}
#introduction .thumb:after {
height: 60px;
top: auto;
bottom: -20px;
}
#introduction .swiper-wrapper {
display: block;
}
#introduction .thumb .swiper-slide {
height: 80px;
margin: 15px 0 0;
display: flex;
cursor: pointer;
opacity: .5;
}
#introduction .thumb .swiper-slide.swiper-slide-prev {
opacity: 0;
}
#introduction .thumb .swiper-slide.swiper-slide-active {
height: 100px;
margin: 10px 0 0;
opacity: 1;
}
#introduction .thumb .swiper-slide.swiper-slide-active img {
transform: scale(1.25);
transition: .5s;
___box-shadow: 2px 2px 6px 0 rgba(0,0,0,.16);
border-radius: 50%;
}
#introduction .thumb .swiper-slide div {
text-align: center;
width: 100px;
margin-right: 10px;
align-self: center;
}
#introduction .thumb .swiper-slide figcaption {
font-size: 14px;
font-weight: bold;
align-self: center;
}
#introduction .thumb .swiper-slide figcaption span {
font-size: 10px;
line-height: 1.3;
font-weight: normal;
margin-bottom: 5px;
display: block;
}
#introduction .main {
width: 70%;
}
#introduction .main .swiper-slide {
background: #FFF;
opacity: 0;
}
#introduction .main .swiper-slide figure {
display: inline-block;
position: relative;
width: 660px;
}
#introduction .main .swiper-slide figure:after {
content: "";
background: #F8F8F8;
width: 110%;
height: 150px;
position: absolute;
bottom: -75px;
left: 0;
z-index: -1;
}
#introduction .main .swiper-slide figcaption {
font-family: 'Lato', sans-serif;
color: #FFF;
font-size: 36px;
font-weight: 300;
letter-spacing: .12em;
position: absolute;
__right: 20px;
__bottom: 20px;
top: 10px;
left: 20px;
}
#introduction .main .swiper-slide figcaption.v2 {
letter-spacing: .08em;
}
#introduction .main .swiper-slide div {
background: #FFF;
font-size: 29px;
font-weight: bold;
letter-spacing: .1em;
margin-top: -50px;
padding: 30px 30px 40px;
display: inline-block;
position: relative;
z-index: 1;
}
#introduction .main .swiper-slide div span {
font-size: 16px;
font-weight: normal;
letter-spacing: normal;
margin-bottom: 10px;
display: block;
}
#introduction .main .swiper-slide p {
font-size: 14px;
line-height: 2;
margin: 30px;
padding-left: 30px;
border-left: solid 4px #E3E3E3;
}
#introduction .swiper-button-prev,
#introduction .swiper-button-next {
display: none;
background: url(../img/arw_up.png) no-repeat center;
background-size: contain !important;
width: 32px;
height: 24px;
top: 20px;
left: 54px;
z-index: 1;
}
#introduction .swiper-button-next {
background: url(../img/arw_down.png) no-repeat center;
top: auto;
bottom: 0;
}
#introduction .swiper-button-prev:after,
#introduction .swiper-button-next:after {
content: "";
}
#introduction .swiper-pagination {
display: none;
z-index: 0;
}


@media screen and (max-width: 769px) {
#introduction .swiper-wrapper {
	display: flex;
}
#introduction .swiper-button-prev,
#introduction .swiper-button-next {
display: block;
}
#company #introduction {
height: auto;
padding: 0;
display: block;
}
#introduction .thumb {
width: 100%;
padding: 0 30px;
}
#introduction .thumb:before,
#introduction .thumb:after {
width: 30px;
height: 100%;
top: 0;
left: 0;
}
#introduction .thumb:after {
left: auto;
right: -10px;
bottom: auto;
}
#introduction .thumb .swiper-slide {
text-align: center;
width: 20%;
height: 100%;
margin: 0;
display: block;
}
#introduction .thumb .swiper-slide img {
width: 70px;
pointer-events: none;
}
#introduction .thumb .swiper-slide.swiper-slide-active {
height: auto;
margin: 0 1.5%;
}
#introduction .thumb .swiper-slide div {
width: auto;
height: 90px;
margin: 0 0 10px;
display: flex;
justify-content: center;
align-items: center;
pointer-events: none;
}
#introduction .main {
width: calc(100% - 60px);
margin: 50px 0 0 auto;
}
#introduction .swiper-button-prev,
#introduction .swiper-button-next {
display: block;
width: 24px;
height: 32px;
top: 50px;
bottom: auto;
left: 0;
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
}
#introduction .swiper-button-next {
right: 0;
left: auto;
}
#introduction .swiper-pagination {
display: block;
width: 100%;
padding-top: 15px;
}
#introduction .swiper-pagination-bullet {
width: 8px;
height: 8px;
margin: 0 5px;
}
#introduction .swiper-pagination-bullet-active {
background: #666;
}
}


@media screen and (max-width: 740px) {

#officer.v2 {
max-width: 100%;
padding-bottom: 0;
}
#officer.v2 h2 {
margin: 0 5%;
}
#company #introduction {
margin-top: 30px;
}
#introduction .thumb:after {
width: 35px;
right: 0;
}
#introduction .thumb .swiper-slide {
width: 30%;
margin: 0 1.5%;
}
#introduction .thumb .swiper-slide.swiper-slide-active img {
transform: none;
transition: none;
box-shadow: none;
}
#introduction .main {
width: 100%;
margin: 50px 0;
}
#introduction .main .swiper-slide figure {
width: 84%;
margin: 0 auto;
display: block;
}
#introduction .main .swiper-slide figure:after {
bottom: -30px;
}
#introduction .main .swiper-slide figcaption {
display: none;
}
#introduction .main .swiper-slide div {
font-size: 24px;
margin-top: -30px;
padding: 10px 30px;
}
#introduction .main .swiper-slide div span {
font-size: 12px;
}
#introduction .main .swiper-slide p {
line-height: 1.6;
padding-left: 15px;
}
#introduction .swiper-button-prev,
#introduction .swiper-button-next {
width: 15px;
height: 27px;
top: 55px;
left: 10px;
}
#introduction .swiper-button-next {
right: 10px;
left: auto;
}

/* （20.09.16）*/
/*#introduction .main .swiper-slide {
opacity: 0 !important;
}
#introduction .main .swiper-slide-active {
opacity: 1 !important;
}
}*/

/* （20.09.08）*/
footer #internal ul a{white-space: nowrap;}
footer #internal > li:last-child{min-width: 75px;}
.row-2{flex-basis:	50%;}
footer #internal .row-2 ul li{width: 29%;}
footer #internal .row-2 ul li:nth-child(3n+1){width: 38%;}
.row-3{flex-basis:	40%;}
@media screen and (max-width: 1230px){
footer #internal .row-2 ul li,
footer #internal .row-2 ul li:nth-child(3n+1){width: 48%;}
}
@media screen and (max-width: 900px){
.row-2{flex-basis:	60%;}
footer #internal .row-2 ul li,
footer #internal .row-2 ul li:nth-child(3n+1){width: 40%;}
footer #internal .row-2 ul li:nth-child(odd){width: 58%;}
}

body.open .swiper-container {
z-index: -1;
}