@charset "utf-8";
/*---------------------------------------------
■■BASE
　■01.RESET
　■02.BASIC
　■03.HEADER
　■04.MAIN NAV
　■05.FOOTER
　■06.PAGE TOP
■■CONTENT
　■01.SECTION
　■02.TABLE
　■03.PAGE TITLE
　■04.BOX
■■INIT
　■01.FONT
　■02.Between LINES
　■03.INPUT
　■04.BUTTON
■■STYLE
　■01.TOPIMAGE
　■02.PORTFOLIO
　■03.CONTACT
　■04.DETAIL
　■05.ENTRY
　■06.ABOUT
　■07.PROJECT
---------------------------------------------*/

/*---------------------------------------------
　■■BASE
---------------------------------------------*/
/*---------------------------------------------
　■01.RESET
---------------------------------------------*/
/* ===== Universal Reset ===== */

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
/* ===== Basic Style ===== */

	h1, h2, h3, h4, h5, h6, p, address, a {
	font-size:100%;
	font-style: normal;
	font-weight: normal;
	text-decoration: none;
}
img, a img {
	border: 0;
	vertical-align: bottom;
}
ul, dl, ol {
	list-style-type: none;
	list-style-position: outside;
}
body {
	-webkit-text-size-adjust: none;/*スマホ用文字サイズリセット*/
}
table {
	table-layout:fixed;
	border-collapse:collapse;
	border-spacing:0;
}
a {
	color: black;
	text-decoration: none;
}
a:hover, a:active, a:hover, a:active {
	color: black;
}
img {
	vertical-align:bottom;
	max-width:100%;
	height:auto;
}
/*---------------------------------------------
　■02.BASIC
---------------------------------------------*/

html, body {
	width: 100%;
	font:18px/1.6em "Lucida Grande", "ヒラギノ角ゴ ProN W3", "HiraKakuPro-W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
	color:#333;
	color: rgba(0, 0, 0, .8);
}
@media only screen and (max-width: 640px) {
html, body {
 font:16px/1.6em "Lucida Grande", "ヒラギノ角ゴ ProN W3", "HiraKakuPro-W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
}
}
.cf {
/zoom: 1;
}
.cf:after {
	content: '';
	display: block;
	clear: both;
}
.clr {
	clear: both;
}
.disnon {
	display:none;
}
iflame {
	border:0;
	scrolling:no;
}
/*---------------------------------------------
　■03.HEADER
---------------------------------------------*/
#header {
	position:fixed;
	top: 0;
	z-index:1001;
	padding:0 25px;
	display:block;
	width:100%;
	min-width:320px;
	background-color: transparent;
	-webkit-transition: -background-color 0.5s ease-out;
	transition: background-color 0.5s ease-out;
}
#header:after {
	content: none;
}
#header > #logo {
	text-align: left;
	float: left;
	height: 100px;
}
#header #logo h1 {
	height: 100px;
	width: 130px;
	display: block;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	font-size: 1px;
	line-height: 1px;
	text-align: left;
	background-image: url(../../common/img/logo.png);
	background-repeat: no-repeat;
	background-position:center;
	background-size: contain;
	float:left;
}
#header #logo p {
	line-height:102px;
	padding-left:3em;
	float:left;
	position:relative;
	font-size:14px;
	color:#FFF;
}
#header #logo p:before {
	position: absolute;
	content:"|";
	line-height:102px;
	top:0;
	left:1.2em;
}
#header.skroll-after {
	background: #FFF;
	   background-color: rgba(255, 255, 255, 0.97);
	border_bottom:1px solid #CCC;
	   height: 100px;
}
#header.skroll-after #logo p {
	color:#000;
}
#header.skroll-after:after {
	content: "";
	display:block;
	height:1px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: #CCC;
}

@media all and (max-width:767px) {
#header {
	padding:0 15px;
}
#header > #logo {
	text-align: left;
	float: left;
	height: 100px;
}
#header #logo h1 {
	height: 100px;
	width: 130px;
	background-size: 130px;
}
}
@media all and (max-width:640px) {
#header {
	box-sizing:border-box;
	background-color: white !important;
	background-color: rgba(255, 255, 255, 0.97);
	height: 70px;
	padding: 0;
	top: 0;
	-webkit-transform: translate3D(0, 0, 0) !important;
		-ms-transform: translate3D(0, 0, 0) !important;
			 transform: translate3D(0, 0, 0) !important;
	width: 100%;
	min-width: inherit;
	z-index: 1001;
	border_bottom:1px solid #CCC;
}
#header:after {
	content: "";
	display:block;
	height:1px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: #CCC;
}
#header > #logo {
	background: none;
	width: auto;
	height: auto;
	padding-left: 0;
}
#header #logo h1 {
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	margin-top: 0;
	
	background-size: 91px;
	
	position: absolute;
	top: 0;
	left: 16px;
	width: 91px;
	height: 70px;
}
#header #logo p {
	line-height:70px;
	margin-left:107px;
	color:#000;
}
#header.skroll-after {
	   height: 70px;
}
#header.skroll-after #logo p {
	color:#000;
}
#header #logo p:before {
	position: absolute;
	content:"|";
	line-height:70px;
	top:0;
	left:1.2em;
}
}
/*--------------------------------------------
	■ メインナビ
---------------------------------------------*/

#gnav {
	float:right;
	margin-top:32px;
	width:calc(100% - 280px);
	text-align:right;
	font-size:14px;
}
#gnav ul {
	/zoom: 1;
}
#gnav ul:after {
	content: '';
	display: block;
	clear: both;
}
#gnav > ul > li {
	display:inline-block;
	padding:5px 0;
}
#gnav ul li a {
	padding: 0 8px 9px;
	position: relative;
	text-decoration: none;
	color:#FFF;
}
#header.skroll-after #gnav ul li a {
	color:#000;
}

/*▽Aタグの下線*/
#gnav ul li a:after {
	content: '';
	display: block;
	background-color: #FFF;
	position: absolute;
	height: 1px;
	width: 100%;
	left: 0;
	bottom: 0;
	/*透明度0*/	
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	/*下線の横幅*/			
	-webkit-transform: scaleX(0.3);
	-ms-transform: scaleX(0.3);
	transform: scaleX(0.3);
	/*変化の速度*/			
	-webkit-transition: -webkit-transform 0.15s ease-out, opacity 0.15s ease-out;
	transition: transform 0.15s ease-out, opacity 0.15s ease-out;
}
#header.skroll-after #gnav ul li a:after {
	background-color: #000;
}

#gnav ul li a:hover:after {
	/*透明度*/	
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";/*透明度*/
	/*下線の横幅*/
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
}
/*▽コンタクトボタン*/
#gnav ul li.btn_contact {
	padding: 0;
}
#gnav ul li.btn_contact a {
	display: inline-block;
	height: 30px;
	line-height: 28px;
	margin-left: 5px;
	margin-bottom:1px;
	margin-top:1px;
	padding: 0 20px 0 20px;
	position: relative;
	top: 0;
	background-color:#000;
	border:1px solid #000;
	color:#FFF;
	/*変化の速度*/			
	-webkit-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
#header.skroll-after #gnav ul li.btn_contact a {
	color:#FFF;
}


#gnav ul li.btn_contact a:after {
	display: none;
}
#header.skroll-after #gnav ul li.btn_contact a:hover,
#gnav ul li.btn_contact a:hover {
	background-color:#FFF;
	color:#000;
}

#header .menu-button {
	display: none;
}
#header .close-button {
	display: none;
}
#gnav-sp {
	display:none;
}
@media all and (max-width:880px) {
#gnav {
	width:calc(100% - 400px);
	min-width:320px;
	margin-top:16px;
}
#gnav ul li a {
	padding: 0 2px 9px;
}
#gnav ul li.btn_contact a {
	padding: 0 10px 0 10px;
}
}
@media all and (max-width:640px) {
#header .menu-button {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url('../../common/img/menu.png');
	background-size: 20px;
	background-position: center;
	cursor: pointer;
	display: block;
	height: 40px;
	position: absolute;
	right: 5px;
	top: 15px;
	width: 40px;
}
.menu-open #header .menu-button {
	display: none;
}
#header .close-button {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url('../../common/img/menu_close.png');
	background-size: 16px;
	background-position: center;
	cursor: pointer;
	display: none;
	height: 40px;
	position: absolute;
	right: 5px;
	top: 15px;
	width: 40px;
}
.menu-open #header .close-button {
	display: block;
}
#gnav {
	display: none !important;
}
#gnav-sp {
	display:block;
	background-color: #f7f7f7;
	border-left: 1px solid black;
	box-sizing: border-box;
	height: 100%;
	padding-top: 72px;
	position: fixed;
	right: -100%;
	top: 0;
	-webkit-transition: right 0.3s ease-out;
	 		transition: right 0.3s ease-out;
	min-width: 270px;
	width: 80vw;
	z-index: 1000;
}
.menu-open #gnav-sp {
	right: 0;
}
#gnav-sp ul.is-scroll {
	height: 100%;
	overflow-y: scroll;
	padding-bottom: 15px;
	box-sizing: border-box;
}
#gnav-sp ul li .list-item {
	box-sizing: border-box;
	font-size: 12px;
	line-height: 50px;
	height: 50px;
	border-bottom: 1px solid black;
	padding: 1px 15px 0 15px;
	position: relative;
	display: block;
}
#gnav-sp ul li .list-item:after {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image:url('../../common/img/arrow_black_big.png');
	background-size: 9px;
	content: "";
	height: 15px;
	margin-top: -9px;
	position: absolute;
	right: 15px;
	top: 50%;
	width: 9px;
}
#gnav-sp ul li span.list-item:after {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url('../../common/img/arrow_black_big_bottom.png');
	background-size: 15px;
	width: 15px;
	height: 9px;
	margin-top: -5px;
}
#gnav-sp ul li.link-contact {
	margin-top: 15px;
	padding: 0 5px;
}
#gnav-sp ul li.link-contact .btn_Contact {
	font-size: 12px;
	height: 45px;
	line-height: 45px;
	width:100%;
}
#gnav-sp ul li.is-open span.list-item:after {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url('../../common/img/arrow_black_big_top.png');
	background-size: 15px;
}
#gnav-sp-backgound {
	position: fixed;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 100%;
	z-index: 999;
	background-color: black;

	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	-webkit-transition: opacity 0.3s ease-out;
			transition: opacity 0.3s ease-out;
}
.menu-open #gnav-sp-backgound {
		opacity: 0.7;
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
		left: 0;
}
	@-webkit-keyframes lnavi-open {
	0% {
	visibility: hidden;
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
	1% {
	visibility: visible;
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
	100% {
	visibility: visible;
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
}
	@keyframes lnavi-open {
	0% {
	visibility: hidden;
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
	1% {
	visibility: visible;
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
	100% {
	visibility: visible;
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
}
@-webkit-keyframes lnavi-close {
	0% {
	visibility: visible;
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
	100% {
	visibility: hidden;
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
}
@keyframes lnavi-close {
	0% {
	visibility: visible;
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
	100% {
	visibility: hidden;
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
}
}
/*--------------------------------------------
 ■05.FOOTER
---------------------------------------------*/

#footer {
	background-color:#FFF;
	color:#000;
	padding:15px 15px 40px;
	position:relative;
}
#footer a {
	color: black;
	text-decoration: none;
}
#footer a:hover {
	color: #999;
}
#copyright {
	float:right;
	text-align:center;
	color:#435B67;
	font-size:80%;
	font-weight:bold;
}
/* FOOTER NAV
---------------------------------------------*/

#fnav {
	float:left;
	font-size:14px;
}
#fnav li {
	float:left;
	margin-right:20px;
}
#fnav li a {
	position:relative;
	display: block;
	padding-left:15px;
	height:16px;
	line-height:16px;
}
#fnav li a:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 12px;
	height: 16px;
	content: "";
	background-image: url(../../common/img/arrow_Bl.png);
	background-position:left center;
	background-repeat: no-repeat;
	background-size: 10px;
	-webkit-transition: -webkit-transform 0.12s ease-out;
	transition: transform 0.12s ease-out;
}
#fnav li a:hover:before {
	-webkit-transform: translate3D(1.5px, 0, 0);
	-ms-transform: translate3D(1.5px, 0, 0);
	transform: translate3D(1.5px, 0, 0);
}
@media all and (max-width:480px) {
 #footer {
 padding:5px 10px 30px;
}
#copyright {
 clear:both;
 float:none;
 white-space: inherit;
}
/* FOOTER NAV
---------------------------------------------*/
#fnav {
 float:none;
 margin-bottom:0.5em;
}
#fnav li a:before {
 width: 8px;
 background-size: 7px;
}
}
/*--------------------------------------------
　■06.PAGE TOP
---------------------------------------------*/

#footer-follow {
	position: fixed;
	left: 50%;
	right: auto;
	margin-left: -40px;
	height: 40px;
	width: 80px;
	bottom:0;
	color: black !important;
	cursor: pointer;
	-webkit-transition: bottom 0.3s ease-out;
	transition: bottom 0.3s ease-out;
	z-index: 900;
}
.gotop {
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	white-space: nowrap;
	background-image: url(../../common/img/gotop.png);
	background-size:cover;
	background-repeat: no-repeat;
	position: absolute;
	height: 40px;
	width:80px;
	left: 0;
	top: 0;
	background-size: 100% auto;
}
#footer .tx_c {
	clear:both;
}
#footer .gotop {
	position:static;
	margin: 0 auto -40px;
}
@media all and (max-width:480px) {
#footer-follow {
 bottom: 0;
 margin-left: -32px;
 height: 32px;
 width: 64px;
 opacity: 1;
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
 background-color:transparent;
}
.gotop {
 height: 32px;
 width: 64px;
}
#footer .gotop {
 position:static;
 margin: 0 auto -30px;
}
}
/*---------------------------------------------
　■■CONTENTS
---------------------------------------------*/
/*--------------------------------------------
　■01.SECTION
---------------------------------------------*/
.section {
	background-color: transparent;
	color: #000;
	padding: 50px 15px;
	position: relative;
	width: 100%;
}
.section .inner {
	width: 100%;
	max-width: 1600px;
}
/*▼アンカーリンク*/
.section .anker {
	position:absolute;
	top:-100px;
	left:0;
	content:""
}
/*▼1カラム*/
.section.single {
}
.section.single .inner {
	margin: 0 auto;
	max-width:980px;
	min-width:290px;
}
/*▼２カラム*/
.section.multi {
}
.section.multi .inner .block_l {
	width: 49%;
	float: left;
}
.section.multi .inner .block_r {
	width: 49%;
	float: right;
	border:1px solid #CCC;
}
/*▼タイトル*/
.section .title {
	position: relative;
	font-size:32px;
	line-height: 1.5;
	padding: 0 0 19px;
	margin: 0 0 40px;
	text-align: center;
}
.section .title:after {
	background-color: #8fc555;
	bottom: 0;
	content: '';
	display: block;
	height: 5px;
	left: 50%;
	margin-left: -25px;
	position: absolute;
	width: 50px;
}
/*▼白黒反転*/
.section.nega {
	color: white;
}
.section.nega .title:after {
	background-color: white;
}
/*▼トップ*/
.section.top {
	margin-top:100px !important;
	padding-top:50px !important;
}
nav.top {
	margin-top:100px !important;
}
@media only screen and (max-width: 640px) {
/*▼タイトル*/
.section .title {
 font-size:28px;
}
/*▼アンカーリンク*/
.section .anker {
 top:-70px;
}
/*▼トップ*/
.section.top {
 margin-top:70px !important;
 padding-top:30px !important;
}
nav.top {
 margin-top:70px !important;
}
}
@media only screen and (max-width: 480px) {
.section {
 padding: 30px 15px;
}
.section .title {
 font-size:20px;
 padding: 0 0 8px;
 margin: 0 0 25px;
}
.section .title:after {
 font-size:1px;
 height: 2.5px;
 margin-left: -12.5px;
 width: 25px;
}
.section.multi .inner .block_l, .section.multi .inner .block_r {
 width: 100% !important;
 float: none !important;
}
.section.multi .inner .block_l {
 margin-bottom:15px;
}
}
/*--------------------------------------------
　■02.TABLE
-------------------------------------------*/
div.tbl_basic {
	margin:0 -15px;
}
.tbl_basic table {
	border-collapse: separate;
	border-spacing: 15px;
	table-layout: auto;
	margin-bottom:1px;
	width:100%;
}
.tbl_basic th {
	vertical-align:top;
	width:240px;
	text-align:left;
}
.tbl_basic th > span {
	display:block;
	padding: 10px 15px;
	background-color:#000;
	color:#FFF;
	box-sizing:border-box;
}
.tbl_basic td {
	border-bottom:1px solid #999;
	padding: 10px 15px;
	width: auto;
	box-sizing:border-box;
}
div.tbl {
}
.tbl table {
	border-collapse:collapse;
	table-layout: fixed;
	margin-bottom:1px;
	width:100%;
}
.tbl th {
	vertical-align:top;
	width:240px;
	padding: 10px 15px;
	text-align:left;
	background-color:#F3F4F5;
	border:1px solid #CCC;
}
.tbl td {
	border:1px solid #CCC;
	padding: 10px 15px;
	width: auto;
}
.w20 {
	width:20%
}
.w25 {
	width:25%
}
.w45 {
	width:45%
}
.w50 {
	width:50%
}
@media only screen and (max-width: 640px) {
.tbl_basic th, .tbl_basic td {
 width:auto;
 display: list-item;
 border: none;
 padding:0;
 text-align:left;
 list-style:none;
 margin:0;
}
.tbl_basic table th {
 width:100%;
}
.tbl_basic th > span {
 padding: 5px 10px;
 margin-bottom:3px;
}
.tbl_basic table tbody th p {
 font-weight:bold;
}
.tbl_basic table tbody td {
 width:100%;
 padding:0.4em 0 0.4em 1em;
 border-bottom: 1px solid #999;
}
}
*/ /*-----------------------------------------------
　■03.PAGE TITLE
-----------------------------------------------*/
#ptitle {
 position: relative;
 padding:0;
 height:300px;
 padding-left:25px;
 padding-right:25px;
}
#ptitle::after {
 content: '';
 display: #F5CE00;
 background: #CCC;
 width: 100%;
 height: 1px;
 position: absolute;
 bottom: 0;
 left: 0;
}
#ptitle .inner {
}
#ptitle .text {
	display:table;
	height:150px;
}
#ptitle .text div {
	display:table-cell;
	vertical-align:middle;
	text-align:left;
}
#ptitle .title {
}
#ptitle .text div p.title {
	text-align:left;
}
#ptitle .text div p.title:after {
	left:0;
	margin:0;
}
#ptitle .text div h1.ptitle {
	line-height:1;
}
#ptitle .img_box {
	top:100px;
	left:0;
	width:100vw;
	height:200px;
	position:absolute;
	z-index:-1;
	background-repeat:no-repeat;
	background-position:center center;
}
/*背景イメージなし*/

.index#ptitle .img_box {
	background-image: url(../../common/img/bg_ptitle.jpg);
}
@media only screen and (max-width: 640px) {
 #ptitle {
 height:270px;
 padding-top:70px;
}
#ptitle .inner, #ptitle .text {
 height:160px;
}
#ptitle .img_box {
 top:70px;
}
}
@media only screen and (max-width: 480px) {
#ptitle {
 height:auto;
}
#ptitle .inner {
 position:static;
 height:auto;
}
#ptitle .text {
 display:table;
 height:100%;
}
#ptitle .text div {
 display:table-cell;
 vertical-align:middle;
 text-align:left;
}
#ptitle .text div h1.ptitle {
 font-size:14px;
}
#ptitle .text div p.title:after {
 left:0;
 margin:0;
 height:2px;
}
#ptitle .img_box {
 background-image:none !important;
 height:auto;
 position:static;
}
}
/*-----------------------------------------------
　■04.BOX
-----------------------------------------------*/
.bArea {
	position: relative;
	width: 100%;
	display:block;
	border : 1px solid #CCC;
	padding: 20px 25px;
}
a.bArea:hover{ background-color:#F3F4F5;}
.box {
	position: relative;
	width: 100%;
	display:block;
}
.box_outer .box {
	border : 1px solid #CCC;
	margin-top:40px;
	padding:39px;
}
.box_outer .box:first-child {
	margin-top:0;
}
.under_outer .box {
	border-bottom : 1px solid #CCC;
	padding:40px 0;
}
.under_outer .box:first-child {
	border-top : 1px solid #CCC;
}
.box_title {
	font-size:32px;
	margin-bottom:10px;
	line-height: 1.1;
	width: 100%;
}
.box_img {
	float:left;
	width:240px;
	height:180px;
	background-size: contain;
	background-position: center center;
	background-repeat:no-repeat;
	border:1px solid #CCC;
	position:relative;
}
.box_img span {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-image: url(../../canvas/img/start.png);
	background-position:center;
	background-repeat:no-repeat;
	background-size: 90%;
    -webkit-animation:blink 1.5s ease-in-out infinite alternate;
	    -moz-animation:blink 1.5s ease-in-out infinite alternate;
	    animation:blink 1.5s ease-in-out infinite alternate;
}
	@-webkit-keyframes blink{
	    0% {opacity:0;}
	    100% {opacity:1;}
	}
	@-moz-keyframes blink{
	    0% {opacity:0;}
	    100% {opacity:1;}
	}
	@keyframes blink{
	    0% {opacity:0;}
	    100% {opacity:1;}
	}
#service .box_img {
	background-size: cover;
}
#service .bArea .box_img {
	height:150px;
}
.box_text {
	margin-left:280px;
}
.textL .box_img {
	height:240px;
	margin-right:30px;
}
.textR .box_img {
	float:right;
	height:240px;
	margin-left:30px;
}
.box_text p, .textL p, .textR p {
	margin-top:1em;
}
.box_text p:first-child {
	margin-top:0;
}
.box_outer.wide .box_img, .under_outer.wide .box_img {
	width:240px;
	height:240px;
}
@media only screen and (max-width: 640px) {
.box_outer .box {
 padding:24px;
 border-width:4px;
}
.box_title {
 font-size:26px;
}
.box_img {
 width:160px;
 height:120px;
}
#service .bArea .box_img {
	height:120px;
}
.textL .box_img {
 height:160px;
 margin-right:20px;
}
.textR .box_img {
 height:160px;
 margin-left:20px;
}
.box_text {
 margin-left:184px;
}
.box_outer.wide .box_img, .under_outer.wide .box_img {
 width:160px;
 height:160px;
}
}
@media only screen and (max-width: 480px) {
.box_outer .box {
 margin-top:15px;
 border:1px solid #CCC;
 padding:14px;
}
.under_outer .box {
 padding:25px 0;
}
.box_title {
 font-size:20px;
}
.box_img {
 width:100px;
 height:75px;
 background-size: cover;
 background-position:center;
 background-repeat:no-repeat;
}
#service .bArea .box_img {
	height:75px;
}

.textL .box_img {
 height:100px;
 margin-right:15px;
}
.textR .box_img {
 height:100px;
 margin-left:15px;
}
.box_text {
 margin-left:115px;
}
.box_text p {
 margin-top:1em;
}
.box_text p:first-child {
 margin-top:0;
}
 .box_outer.wide .box_img, .under_outer.wide .box_img {
 float:none;
 width:100%;
 height:0;
 margin-bottom:15px;
 padding-top:75%;
 background-size: cover;
 background-position: center top;
 background-repeat:no-repeat;
}
.box_outer.wide .box_text, .under_outer.wide .box_text {
 margin-left:0;
}
}
/*-----------------------------------------
■■INIT
-----------------------------------------*/
/*-----------------------------------------
　■01.FONT
-----------------------------------------*/
/*font fixed size base (japanese)*/
.tx_10f {
	font-size:10px;
}
.tx_11f {
	font-size:11px;
}
.tx_12f {
	font-size:12px;
}
.tx_13f {
	font-size:13px;
}
.tx_14f {
	font-size:14px;
}
.tx_15f {
	font-size:15px;
}
.tx_16f {
	font-size:16px;
}
.tx_18f {
	font-size:18px;
}
.tx_20f {
	font-size:20px;
}
.tx_24f {
	font-size:24px;
}
.tx_28f {
	font-size:28px;
}
.subtitle {
	font-size:21px;
	font-weight:bold;
	padding:10px;
	border-radius: 5px;
	background-color:#F3F4F5;
	margin-bottom:0.8em;
	text-align:center;
}
.bg_gray > .subtitle {
	background-color: #FFF
}
.tx_c {
	text-align: center !important;
}
.tx_l {
	text-align: left !important;
}
.tx_r {
	text-align: right !important;
}
.vt {
	vertical-align: top !important;
}
.vb {
	vertical-align: bottom !important;
}
.vm {
	vertical-align: middle !important;
}
.block_l {
	float: left;
}
.block_r {
	float: right;
}
strong, .st {
	font-weight: bold;
}
.normal {
	font-weight: normal;
}
object {
	outline: none;
}
.tx_black {
	color:#333;
}
.tx_gray {
	color:#666;
}
.tx_blue {
	color:#0066aa;
}
.tx_red {
	color:#e63125;
}
.tx_orange {
	color:#ef5701;
}
.tx_green {
	color:#64a816;
}
.tx_purple {
	color:#8749bb;
}
.tx_pink {
	color:#ff1dab;
}
.tx_white {
	color:#fff;
}
.bg_gray {
	background-color:#f2f4f3 !important;
}
.bg_yellow {
	background-color:#fFFFF2 !important;
}
.bg_white {
	background-color:#FFF !important;
}
.wball {
	word-break:break-all
}
.ls-1 {
	letter-spacing:-1px;
}
ol > li {
	padding-left:2em;
	counter-increment: ol;
	position:relative;
	margin-bottom:0.5em;
}
ol > li:before {
	position:absolute;
	display:block;
	top:0;
	left:0;
	content: counter(ol) "）";
	width:1.8em;
	text-align:right;
}
.tx_topic li, p.tx_topic {
	position:relative;
	padding-left:1.4em;
}
.tx_topic li:before, p.tx_topic:before {
	position:absolute;
	top:6px;
	left:0;
	content:"";
	background-color:#FFF;
	background-image:url(../../common/img/listTopic.png);
	background-size:cover;
	width:16px;
	height:16px;
	border-radius:2px;
	box-sizing:border-box;
	border:1px solid #CCC;
}
.tx_sub li, p.tx_sub {
	display:block;
	padding-left:1em;
	position:relative;
}
.tx_sub li:before, p.tx_sub:before {
	position:absolute;
	top:0;
	left:0;
	content:"●";
}
.tx_topic li, .tx_sub li {
	margin-top:0.5em;
}
.ulHalf li, .ulHalf2 li {
	display:block;
	float:left;
	white-space:nowrap;
	width:49%;
	text-align:center;
	margin-left:2%
}
.ulHalf li:first-child, .ulHalf2 li:first-child, .ulHalf li:nth-child(2n-1), .ulHalf2 li:nth-child(2n-1) {
 margin-left:0
}
.ulHalf li a {
	width:100%;
	margin:0 auto;
}
.ulInline li {
	display:inline-block;
	white-space:nowrap;
}
.uDot {
	padding-bottom:2em;
	margin-bottom:2em;
	border-bottom:1px dotted #666
}
/*-----------------------------------------
　■02.Between LINES
-----------------------------------------*/
.mt05 {
	margin-top:0.5em !important;
}
.mt0 {
	margin-top:0 !important;
}
.mt1 {
	margin-top:1em !important;
}
.mt2 {
	margin-top:2em !important;
}
.mt3 {
	margin-top:3em !important;
}
.mb05 {
	margin-bottom:0.5em !important;
}
.mb0 {
	margin-bottom:0 !important;
}
.mb1 {
	margin-bottom:1em !important;
}
.mb2 {
	margin-bottom:2em !important;
}
.mb3 {
	margin-bottom:3em !important;
}
.mb4 {
	margin-bottom:4em !important;
}
.mb5 {
	margin-bottom:5em !important;
}
.ml-05 {
	margin-left:-0.5em !important;
}
.ml05 {
	margin-left:0.5em !important;
}
.ml0 {
	margin-left:0 !important;
}
.ml1 {
	margin-left:1em !important;
}
.ml2 {
	margin-left:2em !important;
}
.ml3 {
	margin-left:3em !important;
}
.mr05 {
	margin-right:0.5em !important;
}
.mr0 {
	margin-right:0 !important;
}
.mr1 {
	margin-right:1em !important;
}
.mr2 {
	margin-right:2em !important;
}
.mr3 {
	margin-right:3em !important;
}
.noBorder {
	border:none !important;
}
.nowrap {
	white-space:nowrap;
}
.mk1 {
	padding-left:1em;
	position:relative;
}
.mk1:before {
	position: absolute;
	left:0;
	top:0;
}
.mk1.kome:before {
	content:"※";
	color:#E03;
}
@media only screen and (max-width: 480px) {
.tx_10f {
font-size:9px;
}
.tx_11f {
font-size:10px;
}
.tx_12f {
font-size:11px;
}
.tx_13f {
font-size:11px;
}
.tx_14f {
font-size:12px;
}
.tx_15f {
font-size:13px;
}
.tx_16f {
font-size:14px;
}
.tx_18f {
font-size:15px;
}
.tx_20f {
font-size:18px;
}
.tx_24f {
font-size:21px;
}
.tx_28f {
font-size:25px;
}
.subtitle {
font-size:18px;
}
.tx_topic li:before, p.tx_topic:before {
 top:3px;
 width:10px;
 height:10px;
}
}
/*---------------------------------------
　■03.INPUT
---------------------------------------*/

input[type="text"], input[type="tel"], input[type="url"], input[type="email"], input[type="password"], input[type="number"], input[type="month"], input[type="date"], input[type="datetime"], textarea, button {
	padding: 7px 13px;
	border: 1px solid #333;
	box-sizing:border-box;
	width:100%;
	font:18px/1.6em Verdana, Roboto, "Droid Sans", Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
}
input[type="text"].b4 {
	width:calc(100% - 6em) !important;
}
input[readonly] {
	background-color:#F3F4F5;
}
.select {
	display:inline-block;
	position:relative;
}
.select select {
	padding: 10px 60px 10px 15px;
	border: 1px solid #333;
	box-sizing:border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.select:after {
	content: '▼';
	display: inline-block;
	width: 0;
	height: 0;
	position: absolute;
	right: 30px;
	top: 12px;
	pointer-events: none;
}
input[type="checkbox"], input[type="radio"] {
	display: none;
}
input[type="checkbox"] + label, input[type="radio"] + label {
	display:block;
	position: relative;
	cursor: pointer;
	padding: 10px 10px 10px 30px;
	border-radius: 5px;
	color: #3e4956;
	line-height: 1.2;
	border:1px solid #FFF;
	box-sizing:border-box;
}
input[type="checkbox"] + label:before, input[type="radio"] + label:before {
	position: absolute;
	content: "";
	top: 50%;
	left: 5px;
	width: 12px;
	height: 12px;
	margin-top: -10px;
	background: #FFF;
	border:4px solid #CCC;
}
input[type="radio"] + label:before {
	border-radius:50%;
}
input[type="checkbox"]:checked + label, input[type="radio"]:checked + label {
	background: #FFC;
	border:1px solid #AAA;
}
input[type="checkbox"]:checked + label:after, input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 11px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	background: #000;
}
input[type="radio"] + label:before, input[type="radio"]:checked + label:after {
	border-radius:50%;
}
 @media only screen and (max-width:680px) {
input[type="text"], input[type="tel"], input[type="url"], input[type="email"], input[type="password"], input[type="number"], input[type="month"], input[type="date"], input[type="datetime"], textarea, button {
 font:16px/1.6em Verdana, Roboto, "Droid Sans", Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
}
input[type="checkbox"]:checked + label, input[type="radio"]:checked + label {
 display:block;
}
}
/*---------------------------------------
　■04.BUTTON
---------------------------------------*/
button {
	background: transparent;
	margin: 0;
	padding: 0;
	border: none;
	cursor: pointer;
}
.btn_L {
	height: 60px;
	line-height: 58px;
	width: 300px;
	padding-left:24px;
	box-sizing:border-box;
}
.btn_L.mini {
	width: 165px;
}
.btn_S {
	font-size:14px;
	height: 30px;
	line-height: 28px;
	width: 180px;
}
.btn_L, .btn_S, .btn_Contact {
	background-color: #000;
	border: 1px solid #000;
	color: white;
	display: inline-block;
	text-align: center;
	-webkit-transition: background-color, 0.15s, ease-out, border-color, 0.15s, ease-out;
	transition: background-color, 0.15s, ease-out, border-color, 0.15s, ease-out;
	text-decoration: none;
	position: relative;
}
.btn_L:after, .btn_S:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	content: "";
	position: absolute;
	-webkit-transition: -webkit-transform 0.15s ease-out;
	transition: transform 0.15s ease-out;
}
.btn_L:after {
	background-image: url('../../common/img/arrow_white_medium.png');
	background-size: 9px;
	height: 16px;
	left: 30px;
	top: 21px;
	width: 9px;
}
.btn_S:after {
	background-image: url('../../common/img/arrow_white_small.png');
	background-size: 5px;
	height: 10px;
	left: 15px;
	top: 9px;
	width: 5px;
}
.btn_L:hover, .btn_S:hover, .btn_Contact:hover {
	background-color: rgba(0, 0, 0, 0.05);
	background-color: transparent;
	border: 1px solid #000;
	color: #000;
}
.btn_L:hover:after, .btn_S:hover:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
}
.btn_L:hover:after {
	background-image: url('../../common/img/arrow_black_medium.png');
	background-size: 9px;
	-webkit-transform: translate3D(3px, 0, 0);
	-ms-transform: translate3D(3px, 0, 0);
	transform: translate3D(3px, 0, 0);
}
.btn_S:hover:after {
	background-image: url('../../common/img/arrow_black_small.png');
	background-size: 5px;
	-webkit-transform: translate3D(1.5px, 0, 0);
	-ms-transform: translate3D(1.5px, 0, 0);
	transform: translate3D(1.5px, 0, 0);
}
.btn_L.back {
	background-color:#999;
	border: 1px solid #999;
	color:#FFF;
}
.btn_L.back:after {
	background-image: url('../../common/img/back_white_medium.png');
}
.btn_L.back:hover:after {
	background-image: url('../../common/img/back_white_medium.png');
	background-size: 9px;
	-webkit-transform: translate3D(-3px, 0, 0);
	-ms-transform: translate3D(-3px, 0, 0);
	transform: translate3D(-3px, 0, 0);
}
/*背景透過ボタン*/
.trans.btn_L, .trans.btn_S {
	background-color: transparent;
	border: 1px solid #000;
	color: #000;
}
.trans.btn_L:after, .trans.btn_S:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
}
.trans.btn_L:after {
	background-image: url('../../common/img/arrow_black_medium.png');
	background-size: 9px;
}
.trans.btn_S:after {
	background-image: url('../../common/img/arrow_black_small.png');
	background-size: 5px;
}
.trans.btn_L:hover, .trans.btn_S:hover {
	background-color: rgba(0, 0, 0, 0.05);
}
.trans.btn_L:hover:after, .trans.btn_S:hover:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
}
.trans.btn_L:hover:after {
	background-image: url('../../common/img/arrow_black_medium.png');
	background-size: 9px;
}
.trans.btn_S:hover:after {
	background-image: url('../../common/img/arrow_black_small.png');
	background-size: 5px;
}
/*白ボタン*/
.white.btn_L, .white.btn_S {
	background-color: transparent;
	border: 1px solid #FFF;
	color: white;
}
.white.btn_L:hover, .white.btn_S:hover {
	background-color: rgba(255, 255, 255, 0.05);
}
.white.btn_L:hover:after, .white.btn_S:hover:after {
	background-repeat: no-repeat;
	display: block;
	font-size:1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
}
.white.btn_L:hover:after {
	background-image: url('../../common/img/arrow_white_medium.png');
	background-size: 9px;
}
a.white.btn_S:hover:after {
	background-image: url('../../common/img/arrow_white_small.png');
	background-size: 5px;
}
/*電話ボタン*/
.tel.btn_L {
	background-color:#F4F5F6;
	border: 1px solid #000;
	color: #000;
	font-weight:700;
	padding-left:24px;
	width:100%;
	max-width:500px;
}
.bg_gray .tel.btn_L {
	background-color:#FFF;
}
.tel.btn_L:after {
	width:48px;
	height:48px;
	top: 5px;
	left:20px;
	background-image: url('../../common/img/top_tel.png');
	background-size:cover;
}
.tel.btn_L:hover {
	background-color: rgba(255, 255, 255, 0.05);
}
 @media only screen and (max-width: 480px) {
.btn_L {
 height: 45px;
 line-height: 45px;
 width: 260px;
 padding-left:10px;
}
.btn_S {
 height: 24px;
 line-height: 24px;
 width: 150px;
}
.btn_L:after, .btn_S:after, .btn_L.back:after {
 background-repeat: no-repeat;
 display: block;
 font-size:1px;
 line-height: 1px;
 overflow: hidden;

 text-align: left;
 text-indent: 100%;
 white-space: nowrap;
 background-image: url('../../common/img/arrow_white_small.png');
 background-position:center;
 background-size: 5px;
 height: 10px;
 left: 20px;
 top: 16px;
 width: 5px;
}
.btn_L:hover:after, .btn_S:hover:after, .btn_L.back:hover:after {
 background-repeat: no-repeat;
 display: block;
 font-size:1px;
 line-height: 1px;
 overflow: hidden;
 text-align: left;
 text-indent: 100%;
 white-space: nowrap;
 background-image: url(../../common/img/arrow_black_small.png);
 background-size: 5px;
}
.btn_L.back:after {
 background-image: url('../../common/img/back_white_small.png');
}
.btn_L.back:hover:after {
 background-image: url('../../common/img/back_white_small.png');
}
 .btn_S:after {
 background-repeat: no-repeat;
 display: block;
 font-size:1px;
 line-height: 1px;
 overflow: hidden;
 text-align: left;
 text-indent: 100%;
 white-space: nowrap;
 background-image: url('../../common/img/arrow_white_small.png');
 background-size: 3px;
 height: 6px;
 left: 8px;
 top: 6px;
 width: 3px;
}
a.trans.btn_L:after, a.trans.btn_S:after {
 background-repeat: no-repeat;
 display: block;
 font-size:1px;
 line-height: 1px;
 overflow: hidden;
 text-align: left;
 text-indent: 100%;
 white-space: nowrap;
 background-image: url('../../common/img/arrow_black_small.png');
 background-size: 5px;
}
a.trans.btn_L:hover:after, a.trans.btn_S:hover:after {
 background-repeat: no-repeat;
 display: block;
 font-size:1px;
 line-height: 1px;
 overflow: hidden;
 text-align: left;
 text-indent: 100%;
 white-space: nowrap;
 background-image: url('../../common/img/arrow_black_small.png');
 background-size: 5px;
}
.white.btn_L:hover:after, .white.btn_S:hover:after {
 background-repeat: no-repeat;
 display: block;
 font-size:1px;
 line-height: 1px;
 overflow: hidden;
 text-align: left;
 text-indent: 100%;
 white-space: nowrap;
 background-image: url('../../common/img/arrow_white_small.png');
 background-size: 5px;
}
.white.btn_S:hover:after {
 background-repeat: no-repeat;
 display: block;
 font-size:1px;
 line-height: 1px;
 overflow: hidden;
 text-align: left;
 text-indent: 100%;
 white-space: nowrap;
 background-image: url('../../common/img/arrow_white_small.png');
 background-size: 5px;
}
.tel.btn_L {
}
.tel.btn_L:after {
 width:32px;
 height:32px;
 top: 5px;
 left:12px;
 background-image: url('../../common/img/top_tel.png') ;
 background-size:cover;
}
}
/*-------------------------------
 HTML5 調整
-------------------------------*/
header, footer, section, article, aside, nav {
	display:block;
}
/*-------------------------------------------------
　■□□PCの設定　768-960px
-------------------------------------------------*/
.pc {
}
.sp {
	display:none;
}
.ulInline li.sp {
	display:none;
}

/*-------------------------------------------------
　□□■スマホの設定　320-480px
-------------------------------------------------*/

@media all and (max-width:480px) {
.pc {
 display:none;
}
.sp {
 display:inherit;
}
.ulInline li.sp {
 display:inline-block !important;
}
.ulHalf {
 margin-top:0 !important;
}
.ulHalf li {
 float:none;
 width:100%;
 text-align:center;
 margin-top:1em;
 margin-left:0;
}
.ulHalf li a {
 width:100%;
 margin:0 auto;
}
}

/*-----------------------------------------------
　■■INDEX
-----------------------------------------------*/
/*-----------------------------------------------
　■01.TOPIMAGE
-----------------------------------------------*/
.section#topimg {
	overflow: hidden;
	padding:0;
	width:100%;
	position:relative;
	background-color:black;
	max-height:900px;
}
.section#topimg .inner {
	display: block;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
    /*background: rgba(0, 0, 0, 0.25) url(../img/pixel-screen.png) repeat scroll 0 0;*/
    /*background: rgba(0, 0, 0, 0.25) repeat scroll 0 0;*/
    z-index: 5;
	max-width:none;
}
.section#topimg #player_outer {
	padding-top: 56.25%;
	position: relative;
	max-width:1600px;
	width: 100%;
	height:0;
	margin:0 auto -54px;
}
.section#topimg #player_outer iframe {
  height: 100% !important;
  left: 0;
  position: absolute;
  top: 0;
  width: 100% !important;
}
#player_btn {
	display:none;
}

.pc-style .section#topimg #player_btn {
	/*display:block;*/
	position:absolute;
	right:25px;
	bottom:25px;
    z-index: 10;
}
.pc-style .section#topimg #player_btn button {
	display: inline-block;
	border-radius:50px;
	border:0;
	background: none;
	background-color:#c7243a;
	font-size:14px;
	padding:0 15px 0 25px;
	color:#FFF;
	outline:none;
	background-image:url(../img/icon_sound.png);
	background-position:10px center;
	background-repeat:no-repeat;
	background-size:8px;
}
.pc-style .section#topimg #player_btn button::-moz-focus-inner {
	border:0;
}

.section#topimg .inner #cover {
	box-sizing: border-box;
	display: table;
	height:100%;
	max-width:960px;
	width: 100%;
	margin-left:auto;
	margin-right:auto;
	padding:50px 25px 0;
	-webkit-animation: cover_text 1s ease-out 1s both;
	animation: cover_text 1s ease-out 1s both;
}
@-webkit-keyframes cover_text {
0% {
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
	100% {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
}
@keyframes cover_text {
0% {
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
100% {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
}

.pc-style .section#topimg .inner #cover {
	text-align:left;
	color:#FFF;
}
.sp-style .section#topimg .inner #cover {
	text-align:right;
	color:#000;
	display:none;
}


.section#topimg .cover_text {
	display: table-cell;
	vertical-align: middle;
}

.section#topimg .cover_text {
	display: table-cell;
	vertical-align: middle;
	-webkit-animation: cover_text 1s ease-out 1s both;
	animation: cover_text 1s ease-out 1s both;
}
.section#topimg .cover_text .stitle {
	font-size:54px;
	line-height: 1.2;
	margin-bottom: 20px;
}
.pc-style .section#topimg .cover_text .stitle {
/*	text-shadow: 1px 1px 3px #000;*/
}
.sp-style .section#topimg .cover_text .stitle {
/*	text-shadow: 1px 1px 3px #fff;*/
}
.section#topimg .cover_text .sstitle {
	line-height: 1.875;
}
@media all and (min-width:1601px) {
.section#topimg #player_outer {
	padding-top: 900px;
}
}
@media all and (max-width:1600px) {
.pc-style .section#topimg{
	background-image:none !important;
	background-size:cover;
	background-position:center;
}
.sp-style .section#topimg{
	background-image: url(../img/main_01.jpg);
	background-size:cover;
	background-position:center;
}
}
@media all and (max-width:780px) {
.sp-style .section#topimg,
.pc-style .section#topimg{
	background-image: url(../img/main_01_sp.jpg) !important;
}
.section#topimg #player_outer iframe,
.pc-style .section#topimg #player_btn {
	display:none;
}
.section#topimg .inner #cover {
	text-align:right !important;
	color:#000 !important;
}
.section#topimg .inner .stitle {
 font-size:26px;
}
.pc-style .section#topimg .cover_text .stitle {
	text-shadow: 1px 1px 3px #FFF;
}
.section#topimg .inner .sstitle {
}
.section#topimg .inner #cover .btn_L {
	width:240px;
}
}
@media all and (max-width:640px) {
section#topimg {
 background-image: url(../img/main_01_sp.jpg) !important;
 padding:30px 0;
 margin-top:70px;
}
.section#topimg #player_outer{
	padding-top: 80%;
}
.section#topimg .inner {
 padding: 0 15px;
}
.section#topimg .inner #cover {
	padding:0 0 0;
	text-align:right !important;
}
.pc-style .section#topimg .cover_text .stitle,
.section#topimg .inner .stitle {
 font-size:20px;
	color:#000 !important;
	text-shadow: 1px 1px 3px #fff;
}
.section#topimg .inner .sstitle {
}
.section#topimg .inner #cover .btn_L {
	width:200px;
}
}
@media only screen and (max-width: 480px) {
.section#topimg {
 background-image: url(../img/main_01_sp.jpg);
 background-position:center;
}
.section#topimg .inner .stitle {
	font-size:18px;
}
.section#topimg .inner #cover .btn_L {
	width:180px;
}
}
/*-----------------------------------------------
　■アイコンズ
-----------------------------------------------*/
.section#icons h1 {
	display:none;
}
.section#icons ul {
	margin: 0 auto;
	display: table;
	box-sizing: border-box;
}
.section#icons ul li {
	display: table-cell;
	text-align: center;
	width: 245px;
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}
.section#icons ul li .img_box {
	height: 95px;
	margin: 0 auto 20px;
	background-position: center;
	background-repeat: no-repeat;
	background-size:contain;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
}
.section#icons ul li.about .img_box {
	background-image: url('../img/icon_about.png')
}
.section#icons ul li.business .img_box {
	background-image: url('../img/icon_business.png')
}
.section#icons ul li.activity .img_box {
	background-image: url('../img/icon_activity.png');
}
.section#icons ul li.gallery .img_box {
	background-image: url('../img/icon_gallery.png');
}
.section#icons ul li.system .img_box {
	background-image: url('../img/icon_system.png');
}
.section#icons ul li .text {
}
.section#icons ul li .text .sTitle {
	font-size: 28px;
	line-height: 1;
	margin-bottom: 13px;
}
.section#icons ul li .text .sDescription {
	font-family: 'Arial', sans-serif;
	font-size: 14px;
	line-height: 1;
}
.section#icons ul li .text .service-arrow {
	background-color: black;
	border-radius: 10px;
	display: block;
	height: 20px;
	margin: 14px auto 0;
	width: 20px;
	position: relative;
}
.section#icons ul li .text .service-arrow:after {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url(../../common/img/arrow_W.png);
	background-size: 7px;
	content: "";
	position: absolute;
	width: 8px;
	height: 10px;
	top: 5px;
	left: 7px;
}
.section#icons ul li:hover .text {
	color:#555;
}
.section#icons ul li:hover .text .service-arrow {
	background-color: #555;
}
@media only screen and (max-width: 767px) {
.section#icons ul li .text .sTitle {
	font-size: 19px;
}
}
@media only screen and (max-width: 560px) {
.section#icons {
	padding: 30px 15px;
	height: auto;
	min-height: 0;
}
	.section#icons ul {
	overflow: hidden;
	zoom: 1;
	display: block;
	margin: 25px auto -25px;
	padding: 0 10px;
	width: 100%;
	height: auto;
}
	.section#icons ul li {
	display: block;
	float: left;
	margin-bottom: 25px;
}
	.section#icons ul li:nth-child(-n+3) {
	width: 33.33%;
}
	.section#icons ul li:nth-child(n+4) {
	width: 50%;
}
	.section#icons ul li .img_box {
	background-size: auto 50px;
	margin: 0 auto 10px;
	height: 50px;
}
	.section#icons ul li .text .sTitle {
	font-size: 18px;
	font-size: 1.125rem;
	margin-bottom: 2px;
}
	.section#icons ul li .text .sDescription {
	font-size: 8px;
}
	.section#icons ul li .text .service-arrow {
	margin: 8px auto 0;
	height: 10px;
	width: 10px;
	border-radius: 5px;
}
	.section#icons ul li .text .service-arrow:after {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url('../../common/img/arrow_white_small.png');
	background-size: 3px;
	height: 6px;
	left: 4px;
	top: 2px;
	width: 3px;
}
}

/*-----------------------------------------------
　■制作実績
-----------------------------------------------*/
.section#portfolio h1{ margin-bottom:30px;}
.section#portfolio ul {
	overflow: hidden;
	*zoom: 1;
	width: 100%;
	margin-bottom:20px;
}
.section#portfolio ul li {
	box-sizing: border-box;
	float: left;
	width: 30.6%;
	height: 30.6%;
	margin-left: 4.1%;
	overflow: hidden;
	position: relative;
	margin-top:20px;
}
.section#portfolio ul li:nth-child(3n+1) {
	margin-left: 0;
}
/*.section#portfolio ul li:hover .topics_img {
	-webkit-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
	-webkit-transition: -webkit-transform 0.5s linear;
	transition: transform 0.5s linear;
}
.section#portfolio ul li:hover .topics_text {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	visibility: visible;
}
.section#portfolio ul li .topics_img {
	-webkit-transition: -webkit-transform 0.3s ease-out;
	transition: transform 0.3s ease-out;
	background-color: white;
	border:1px solid #CCC;
}*/
.section#portfolio ul li .topics_img img {
	vertical-align: top;
	width: 100%;
	height: auto;
	border:1px solid #CCC;
}
.section#portfolio ul li .topics_text {
	background-color: rgba(0, 0, 0, 0.8);
	box-sizing: border-box;
	color: white;
	height: 100%;
	left: 0;
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	padding: 42px 0 0;
	position: absolute;
	text-align: center;
	top: 0;
	-webkit-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	visibility: hidden;
	width: 100%;
}
.section#portfolio ul li .topics_text .topics_title {
	font-size: 16px;
	box-sizing: border-box;
	line-height: 1.875;
	padding: 0 18px;
	width: 100%;
}
.section#portfolio ul li .topics_text .topics_date {
	font-size: 14px;
	bottom: 50px;
	line-height: 1;
	position: absolute;
	width: 100%;
	padding:0 10px;
}
.tb{ display:none;}
@media only screen and (max-width: 640px) {
.section#portfolio ul li .topics_text .topics_title {
	font-size: 13px;
	padding: 0 10px;
}
.section#portfolio ul li .topics_text .topics_date {
	font-size: 10px;
}
.tb{ display: inline;}
}
@media only screen and (max-width: 480px) {
.section#portfolio {}
.section#portfolio ul {
	border-top: 1px solid black;
}
.section#portfolio ul li {
	float: none;
	margin-left: 0;
	padding: 15px;
	height: auto;
	border-bottom: 1px solid black;
	position: relative;
	display: table;
	width: 100%;
	margin-top:0;
}
.section#portfolio ul li a {
	display: table-row;
}
.section#portfolio ul li:after {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url('../../common/img/arrowBlack.png');
	background-size: 9px;
	content: "";
	height: 15px;
	margin-top: -8px;
	position: absolute;
	right: 15px;
	top: 50%;
	width: 9px;
}
.section#portfolio ul li .topics_img {
	width: 100px;
	height: 100px;
	display: table-cell;
	vertical-align: top;
}
.section#portfolio ul li .topics_text {
	background-color: transparent;
	color: black;
	display: table-cell;
	height: 100%;
	left: auto;
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	padding: 3px 0 3px 15px;
	position: relative;
	text-align: left;
	top: auto;
	vertical-align: top;
	visibility: visible;
	width: auto;
}
.section#portfolio ul li .topics_text .topics_title {
	font-size: 11px;
	line-height: 1.63636;
	padding: 0;
	width: auto;
}
.section#portfolio ul li .topics_text .topics_date {
	font-size: 10px;
	line-height: 1.8;
	position: static;
	width: auto;
	color: #999;
	position: absolute;
	bottom: -1px;
	padding:0 0;
}
.tb{ display: none;}
}

/*-----------------------------------------------
　■制作実績 buckup
-----------------------------------------------*/
.section#works h1{ margin-bottom:30px;}
.section#works ul {
	overflow: hidden;
	*zoom: 1;
	width: 100%;
	margin-bottom:20px;
}
.section#works ul li {
	box-sizing: border-box;
	float: left;
	width: 30.6%;
	height: 30.6%;
	margin-left: 4.1%;
	overflow: hidden;
	position: relative;
	margin-top:20px;
}
.section#works ul li:nth-child(3n+1) {
	margin-left: 0;
}
.section#works ul li:hover .topics_img {
	-webkit-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
	-webkit-transition: -webkit-transform 0.5s linear;
	transition: transform 0.5s linear;
}
.section#works ul li:hover .topics_text {
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	visibility: visible;
}
.section#works ul li .topics_img {
	-webkit-transition: -webkit-transform 0.3s ease-out;
	transition: transform 0.3s ease-out;
	background-color: white;
	border:1px solid #CCC;
}
.section#works ul li .topics_img img {
	vertical-align: top;
	width: 100%;
	height: auto;
}
.section#works ul li .topics_text {
	background-color: rgba(0, 0, 0, 0.8);
	box-sizing: border-box;
	color: white;
	height: 100%;
	left: 0;
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	padding: 42px 0 0;
	position: absolute;
	text-align: center;
	top: 0;
	-webkit-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	visibility: hidden;
	width: 100%;
}
.section#works ul li .topics_text .topics_title {
	font-size: 16px;
	box-sizing: border-box;
	line-height: 1.875;
	padding: 0 18px;
	width: 100%;
}
.section#works ul li .topics_text .topics_date {
	font-size: 14px;
	bottom: 50px;
	line-height: 1;
	position: absolute;
	width: 100%;
	padding:0 10px;
}
.tb{ display:none;}
@media only screen and (max-width: 640px) {
.section#works ul li .topics_text .topics_title {
	font-size: 13px;
	padding: 0 10px;
}
.section#works ul li .topics_text .topics_date {
	font-size: 10px;
}
.tb{ display: inline;}
}
@media only screen and (max-width: 480px) {
.section#works {}
.section#works ul {
	border-top: 1px solid black;
}
.section#works ul li {
	float: none;
	margin-left: 0;
	padding: 15px;
	height: auto;
	border-bottom: 1px solid black;
	position: relative;
	display: table;
	width: 100%;
}
.section#works ul li a {

	display: table-row;
}
.section#works ul li:after {
	background-repeat: no-repeat;
	display: block;
	font-size: 1px;
	line-height: 1px;
	overflow: hidden;
	text-align: left;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url('../../common/img/arrowBlack.png');
	background-size: 9px;
	content: "";
	height: 15px;
	margin-top: -8px;
	position: absolute;
	right: 15px;
	top: 50%;
	width: 9px;
}
.section#works ul li .topics_img {
	width: 100px;
	height: 100px;
	display: table-cell;
	vertical-align: top;
}
.section#works ul li .topics_text {
	background-color: transparent;
	color: black;
	display: table-cell;
	height: 100%;
	left: auto;
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	padding: 3px 0 3px 15px;
	position: relative;
	text-align: left;
	top: auto;
	vertical-align: top;
	visibility: visible;
	width: auto;
}
.section#works ul li .topics_text .topics_title {
	font-size: 11px;
	line-height: 1.63636;
	padding: 0;
	width: auto;
}
.section#works ul li .topics_text .topics_date {
	font-size: 10px;
	line-height: 1.8;
	position: static;
	width: auto;
	color: #999;
	position: absolute;
	bottom: -1px;
	padding:0 0;
}
.tb{ display: none;}
}

/*--------------------------------------------
　■03.CONTACT
-------------------------------------------*/
#contact {
	overflow: hidden;
	width: 100%;
	background-color:#375371;
	background-size: cover;
	background-repeat:no-repeat;
	background-position:center;
}
#contact .inner {
	box-sizing: border-box;
	padding: 50px;
	text-align: center;
	background-color: #fff;
	position: relative;
	z-index: 800;
}
#contact .inner .contact_message {
	font-size: 32px;
	line-height:1.6;
	margin: -12px 0 5px;
}
#contact .inner .contact_text {
	font-size: 16px;
	line-height:1.6;
	margin:0 0 35px;
}
#contact .inner .contact_message.sm {
	font-size: 22px;
}

#contact .inner ul li{ width:48%;}
#contact .inner ul li:nth-child(odd){ float:left;}
#contact .inner ul li:nth-child(even){ float:right;}
#contact .inner ul li .btn_L {
	width:100%;
	display: inline-block;
}
@media only screen and (max-width: 640px) {
#contact .inner ul li{ width:100%;}
#contact .inner ul li:nth-child(odd){ float:none; margin-bottom:1em}
#contact .inner ul li:nth-child(even){ float:none;}

}
@media only screen and (max-width: 480px) {
#contact {
	height: auto;
	padding: 40px 15px;
}
	#contact .inner {
	padding: 24px 15px 25px;
}
	#contact .inner .contact_message {
	font-size: 16px;
	line-height: 1.6;
	margin: -7px 0 3px;
}
#contact .inner .contact_message.sm {
	font-size: 14px;
}
#contact .inner .contact_text {
	font-size: 11px;
	line-height:1.6;
	margin:0 0 15px;
}
}
