@charset "UTF-8";
/******************************************************************

Site Name: LFC
Author: Logical Force Corporation.

Stylesheet: Main Stylesheet

******************************************************************/

/* CSS内でFontAwesomeを使う設定 */
@font-face {
	font-family: 'FontAwesome';
	src: url("../fonts/fontawesome-webfont.eot?v=4.3.0");
	src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.3.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.3.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.3.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular") format("svg");
	font-weight: normal;
	font-style: normal;
}


/*++++++++++++++++++++++++++++++++++++++++++++++++
 STYLE CSS
++++++++++++++++++++++++++++++++++++++++++++++++*/

/*------------------------------------------------
 Base style
------------------------------------------------*/
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
}

html, body {
	width: 100%;
}

html {
	/*overflow-y: scroll;*/
	height: 100%;
}

body {
	margin: 0;
	min-width: 1080px;
	background-color: #fff;
	color: #555555;
	font-size: 14px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ","游明朝", "Meiryo", verdana, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
/*	font-family :"Times New Roman", "游明朝", YuMincho,"ヒラギノ明朝 Pr6 W6","Hiragino Mincho Pro", "HGS明朝E","メイリオ", "ＭＳ Ｐ明朝","MS PMincho",Meiryo, serif;*/
	line-height: 1.5;
}

/*	MAIN CONTAINER Set the width to whatever you want the width of your site to be. */
.container {
	/* サイトの設定にあわせて追加 */
	max-width: 1080px;
	width: 1080px;
	margin: 0 auto;
}

img {
	max-width: 100%;
	height: auto;
	width: auto;
	/* 画像の下に隙間ができるのを防ぐ */
	vertical-align: bottom;
}

ul {
	margin: 0;
	padding: 0;
}
ul li {list-style: none;}
p {margin: 0;}
small {font-size: 85.7%;}

/* PCとスマホで表示切り替え PC=表示、SP=非表示 */
.pc {display: block !important;}
.sp {display: none !important;}

@media (max-width: 768px) {
	body {
	/* 画面サイズを小さくした時に背景が切れるのを防ぐ */
		min-width: 100%;
	}
	.container {
		/* サイトの設定にあわせて追加 */
		max-width: 100%;
		width: 100%;
		margin: 0 auto;
	}
	/* PCとスマホで表示切り替え PC=非表示、SP=表示 */
	.pc {display: none !important;}
	.sp {display: block !important;}
}


/*------------------------------------------------
 Clearfix
------------------------------------------------*/
/* clearfix */
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}
.clearfix:after {
	clear: both;
}
.clearfix {
	*zoom: 1;
}

/* micro clearfix */
.cf:before,
.cf:after {
	content: " ";
	display: table;
}
.cf:after {
	clear: both;
}
.cf {
	*zoom: 1;
}


/*------------------------------------------------
Common Style
------------------------------------------------*/

/* link style
-----------------------------------*/
a {
	color: #555;
	text-decoration: underline;
	-moz-transition: all 1s ease;
	-o-transition: all 1s ease;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
	/* タップ時のハイライトを透明にする*/
	-webkit-tap-highlight-color: transparent;
	tap-highlight-color: transparent;
}
a:hover {
	color: #e3acba;
	text-decoration: none;
}
a:focus, *:focus {
	outline: none;
}
#footer a {
	color: #fff;
	text-decoration: none;
}
#footer a:hover {
	color: #e3acba;
}

/* Reset style
-----------------------------------*/
.nomargin {margin: 0 !important;}
.noborder {border: none !important;}
.nopadding {padding: 0 !important;}
.nobg {background: none !important;}
p.non {padding: 0 !important;}


/*------------------------------------------------
Basic Layout
------------------------------------------------*/
#wrapper {}
#main {}
.sub #main {
	padding-top: 100px;
	padding-bottom: 120px;
}

.section {
	text-align: center;
}

@media (max-width: 768px) {}

/*------------------------------------------------
Header
------------------------------------------------*/
#band {
	background-color: #efefef;
}
h1 {
	padding: 12px 3%;
	font-size: 100%;
	font-weight: normal;
	text-align: center;
	line-height: 1.2;
}

/* メインメニュー
-----------------------------------*/
#mainNav {
	width: 100%;
	min-height: 100px;
	background-color: #fff;
	z-index: 1;
}
#headerLogo {
	float: left;
	width: 180px;
	padding-top: 16px;
}
#nav {
	float: left;
	width: 765px;
	margin-top: 40px;
	/*margin-left: 20px;*/
	margin-left: 25px;
}
#sns {
	float: right;
	width: 110px;
	margin-top: 42px;
}
#sns a {
	display: inline-block;
	min-width: 24px;
	text-align: center;
}
#nav ul,
#sns ul {
	position: relative;
	width: 100%;
	padding: 0;
}
#sns ul {
	/*padding-left: 35px;*/
	text-align: right;
}
#nav ul li,
#sns ul li {
	float: left;
	position: relative;
	display: block;
	/*width: 11.1%;*/
	vertical-align: middle;
}
#nav ul li {
	/*padding-left: 18px;*/
	padding-left: 45px;
}
#sns ul li {
	width: 24px;
}
#sns ul li + li {
	margin-left: 15px;
}
#mainNav ul li a {
	display: block;
	height: 100%;
	padding-top: 5px;
	color: #fff;
	text-align: center;
	vertical-align: middle;
}
#sns ul li a {
	padding-top: 0;
}
#mainNav ul li a img {
	vertical-align: top;
}


/*メニューバーの文字ボタンを等間隔に調整*/
@media screen and (min-width: 768px){
#nav li:nth-child(1) {
    padding-left: 0px;
}
#nav li:nth-child(11) {
    padding-left: 0px;
}
/*#nav li:nth-child(1) {
    padding-left: 3px;
}
#nav li:nth-child(3) {
    padding-left: 13px;
}
#nav li:nth-child(4) {
    padding-right: 9px;
}
#nav li:nth-child(5) {
    padding-right: 1px;
}
#nav li:nth-child(6) {
    padding-left: 19px;
}
#nav li:nth-child(7) {
    padding-left: 14px;
}
#nav li:nth-child(9) {
    padding-right: 9px;
}*/
} 


@media (max-width: 768px) {
	#mainNav {
		position: relative;
		bottom: auto;
		height: auto;
		min-height: 60px;
		box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
	}
	#headerLogo {
		display: none;
	}
	#nav {
		float: none;
		width: 100%;
		margin-top: 0;
		margin-left: 0;
		z-index: 100;
	}
	#sns {
		display: none;
	}
	#mainNav ul {
		display: none;
		width: 100%;
		height: auto;
	}
	#mainNav ul li {
		display: block;
		width: 100%;
		border-top: 1px solid #ddd;
		padding-left: 0;
	}
	#mainNav ul li a {
		padding: 12px 0 8px;
	}
}

/* スマホ用のメニューバー */
#menuBar {
	position: relative;
	height: 60px;
}

/* メニューのタイトル文字 */
#menuTitle {
	width: 100%;
	height: 60px;
	padding: 5px 55px 5px 3%;
	color: #333;
	font-size: 114.3%;
	font-weight: 700;
	line-height: 50px;
}
#menuTitle img {
	height: 100%;
}

/* 画面右のメニューアイコン */
a#menu {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 45px;
	height: 45px;
	border: 1px solid #333;
	color: #333;
	font-size: 228.6%;
	font-size: 200%;
	text-align: center;
	cursor: pointer;
	line-height: 1.5;
}
a#menu i {
	vertical-align: middle;
}
a#menu.menuOpen i:before {
	content: "\f00d";
	font: normal normal normal 100%/1 FontAwesome;
}
a#menu:hover {
	color: #d3d2d2;
	background-color: rgba(255, 255, 255, 0.2);
	border: 1px solid #d3d2d2;
}
a#menu span {
	color: #fff;
	/* 10px */
	font-size: 71.4%;
}

/* メニュー固定用class */
#header .fixed {
	position: fixed !important;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
	background-color: rgba(255,255,255,0.95);
}


/*------------------------------------------------
Footer
------------------------------------------------*/
#footer {
	position: relative;
	padding: 40px 0;
	background-color: #888;
	color: #fff;
	/* 16px */
	font-size: 114.3%;
}

/* フッターメニュー */
#footer .sitemap ul {
	text-align: center;
}
#footer .sitemap ul li {
	display: inline-block;
	padding: 0 25px 20px;
	line-height: 1;
}

/* コピーライト */
#footer #copyright {
	margin: 20px auto 0;
	text-align: center;
	line-height: 1.1;
}

@media (max-width: 768px) {
	#footer {
		padding-top: 30px;
		padding-bottom: 20px;
	}
	#footer > .container {
		padding: 0 3%;
	}
	#footer .sitemap ul li {
		padding-bottom: 30px;
	}
	#footer > .container > div {
		width: 100%;
		min-height: auto;
	}
	#footer #copyright {
		margin-top: 0;
		font-size: 78.6%;
	}
}

@media (max-width: 480px) {
	#footer > .container > div {
		text-align: center;
	}
	#footer .sitemap ul li {
	padding: 0 3px 20px;
}
}


/*------------------------------------------------
PageTop
------------------------------------------------*/
#pageTop {
	display: none;
	position: fixed;
	right: 0;
	bottom: 193px;
	overflow: hidden;
	width: 50px;
	height: 50px;
	margin: 0;
	padding: 0;
	text-align: center;
	z-index: 1;
}

@media (max-width: 768px) {
	#pageTop {
		bottom: 8px;
	}
}


/*------------------------------------------------
Contents
------------------------------------------------*/

/* Heading style
-----------------------------------*/
/* H2 */
h2 {
	margin: 0 auto;
	line-height: 1;
}


/* Table style
-----------------------------------*/
table {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 1.2;
	table-layout: fixed;
}

table th {
	width: 50%;
	padding: 40px 0;
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
	background-color: #fff;
	font-weight: normal;
	text-align: center;
	vertical-align: top;
}
table td {
	width: 50%;
	padding: 40px 0;
	border-top: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
	background-color: #fff;
	text-align: left;
	vertical-align: middle;
}

.gaiyouzu{
	width: 100%;
    display: block;
    border-bottom: none;
    border-top: none;
	padding-bottom: 10%;
}
.gaiyouzu2{
	width: 200%;
    display: block;
    border-bottom: none;
    border-top: none;
	padding-top: 0%;
}


/*------------------------------------------------
共通部分
------------------------------------------------*/

/* 画像背景
-----------------------------------*/
.section .imgwrap {
	position: relative;
	overflow: hidden;
	height: 320px;
}
.section .imgwrap > img {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100%;
	min-width: 1400px;
	margin: 0 0 0 -50%;
	z-index: -1;
}
.section .imgwrap h2 {
	padding-top: 70px;
}

@media (max-width: 768px) {
	.section .imgwrap > img {
		margin: 0 0 0 -700px;
		width: auto;
		height: 100%;
	}
	.section .innerbox {
		padding-left: 3% !important;
		padding-right: 3% !important;
	}
}

@media (max-width: 480px) {
		.section .imgwrap h2 {
		padding-top: 100px;
	}
}


/*------------------------------------------------
TOP
------------------------------------------------*/

/* 動画部分
-----------------------------------*/
#moviearea video {
	display: block;
	min-height: 100%;
	min-width: 100%;
	min-width: 100%;
	width: 100%;
	height: auto;
	z-index: -100;
}
#moviearea {
	padding: 80px 0;
	background-color: #000;
}


@media (max-width: 768px) {
	#moviearea {
		display: none;
	}
}

/* メインイメージ
-----------------------------------*/
#mainImg {
	position: relative;
	background-color: #000;
	text-align: center;
}
.top #mainImg {
	display: none;
}

@media (max-width: 768px) {
	.top #mainImg {
		display: block;
	}
}
/* News
-----------------------------------*/
#news.top_news {}
#news.top_news .site_wrapper {}
#news .site_wrapper {
    width: 1080px;
    margin: 0 auto;
    text-align: left;
    box-sizing: border-box;
}

#news dl, #news .fix {
    display: block;
	min-height: 1%;
}
#news.top_news .top_news_tit {
    float: left;
    width: 95px;
    height: 50px;
    margin-right: 25px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-image: url(../images/top/news.png);
	background-size: cover;
    background-repeat: no-repeat;
}
#news .top_news_list:nth-of-type(1) {
    padding-left: 0;
}
#news .top_news_list {
    font-size: 85.7%;
    padding-right: 130px;
    padding-left: 130px;
    overflow: hidden;
}
#news.top_news dt {
    float: left;
    width: 60px;
    margin-right: 15px;
    padding-top: 5px;
	padding-bottom: 1px;
}
#news dt {
    display: block;
}

#news.top_news dd {
    padding: 5px 0 1px 75px;
}
#news dl:after, #news .fix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    overflow: hidden;
}

#news dd {
    display: block;
}
* {
    margin: 0;
    padding: 0;
}
@media (max-width: 768px){
#news.top_news {
    background-color: #222;
}
#news .site_wrapper {
    width: 100%;
}

#news.top_news .top_news_tit {
    float: none;
    width: 40px;
    height: 11px;
    margin-left: 12px;
    margin-right: 0;
    padding: 14px 0;
    background-image: url(../images/top/news_sp.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 40px 11px;
}
#news .top_news_list {
    float: none;
    padding: 0 10px;
    
    background-color: #efefef;
}
#news.top_news dt {
    float: none;
    width: auto;
    margin-right: 0;
    padding: 8px 0px 0px 12px;
}
#news.top_news dd {
    padding: 4px 0px 10px 12px;
}
#news.top_news dd a {
    display: inline;
}
}

/* imagine
-----------------------------------*/
#imagine .innerbox {
	padding: 80px 0;
}

/* startingover
-----------------------------------*/
#startingover {}
#startingover .innerbox {
	padding: 80px 0;
}

/* responsibility
-----------------------------------*/
#responsibility {}
#responsibility .innerbox {
	padding: 80px 0;
}

/* Concept
-----------------------------------*/
#concept {
	padding-bottom: 130px;
}
#concept .innerbox {
	padding: 80px 0;
}
#making {
	position: relative;
	width: 100%;
	background-color: #333;
}
#making video {
	display: block;
	min-height: 100%;
	min-width: 100%;
	min-width: 100%;
	width: 100%;
	height: auto;
	z-index: -100;
}
#making img {
	width: 100%;
}

@media (max-width: 768px) {
	#making video {
		display: none;
	}
}

/* Style
-----------------------------------*/
#style {}
#style .innerbox {
	padding: 80px 0;
}

/* Consulting
-----------------------------------*/
#consulting {}
#consulting .imgwrap {
	height: 935px;
}
#consulting .imgwrap h2 {
	padding-top: 100px;
	text-align: left;
}
#consulting .imgwrap h2 img.con {
	margin-right: 100px;
}
#consulting .imgwrap h2 img.bra {
	margin-right: 100px;
}
#consulting .imgwrap h2 img.ann {
	margin-top: 80px
}
#consulting .innerbox {
	padding: 80px 0 130px;
}
#consulting ul li {
	float: left;
	width: 31.5%;
	margin-left: 2.75%;
}
#consulting ul li:first-child {
	margin-left: 0;
}

@media (max-width: 768px) {
	#consulting .imgwrap h2 {
		padding-left: 3%;
		padding-right: 3%;
		text-align: center;
	}
	#consulting .imgwrap h2 img {
		display: block;
		width: 100%;
		/*max-width: 307px;*/
	}
	#consulting .imgwrap h2 img.con {
		margin: 0 auto;
		max-width: 307px;
	}
	#consulting .imgwrap h2 img.bra {
		margin: 70px auto 0;
		max-width: 307px;
	}
	#consulting .imgwrap h2 img.ann {
		margin: 70px auto 0;
		max-width: 400px;
	}
}

@media (max-width: 480px) {
	#consulting .imgwrap {
		height: auto;
		padding-bottom: 70px;
	}
	#consulting .imgwrap > img {
		margin: 0 0 0 -700px;
		/*width: auto;*/
		width: 100%;
		height: auto;
	}
	#consulting ul li {
		float: none;
		width: 100%;
		margin-left: 0;
		margin-top: 30px;
	}
	#consulting ul li:first-child {
		margin-top: 0;
	}
}

/* Performance
-----------------------------------*/
#performance {}
#performance .innerbox {
	padding: 80px 0 130px;
}

/* Contact
-----------------------------------*/
#contact {}
#index #contact .innerbox {
	padding: 80px 0;
}

/* About
-----------------------------------*/
#about {}
#about .innerbox {
	padding: 80px 0;
}
#about .txtBox {
	float: left;
	width: 665px;
}
#about .imgBox {
	float: left;
	width: 415px;
	padding-top: 180px;
	text-align: left;
}

@media (max-width: 768px) {
	#about .txtBox {
		float: none;
		width: 100%;
	}
	#about .imgBox {
		float: none;
		width: 75%;
		padding-top: 50px;
		text-align: center;
		margin: 0 auto;
	}
}

/* Access
-----------------------------------*/
#access {
	padding: 65px 0 0;
	background-color: #888;
}
#access .innerbox {
	position: relative;
	padding-bottom: 75px;
	padding-top: 0;
}
#access .innerbox:after {
	content: url(../images/top/access_arrow.png);
	display: block;
	position: absolute;
	bottom: -40px;
	left: 50%;
	margin-left: -46px;
	z-index: 1;
}
#access h2 {
	margin-bottom: 50px;
}
#access ul {
	padding-bottom: 30px;
}
#access ul li {
	display: inline-block;
	vertical-align: top;
	/*width: 23%;*/
}
#access ul li:nth-child(n+2){
	margin-left: 6%;
}
#access ul li.takasaki p{
	margin-left: -33px;
	margin-top: 10px;
}
#access ul li.tohoku p,
#access ul li.tokai p{
	margin-left: -38px;
	margin-top: 10px;
}

/* GoogleMap */
#googleMap {}
#mapCanvas1,
#mapCanvas2,
#mapCanvas3,
#mapCanvas4{
	position: relative;
	overflow: hidden;
	min-height: 200px;
	padding-bottom: 28.57%;
	height: 0;
	background-color: #efefef;
}
#googleMap iframe,
#googleMap object,
#googleMap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media (max-width: 768px) {
	
	#access ul li {
		display: block;
	}
	#access ul li:nth-child(n+2){
	margin-top: 60px;
	margin-left: 0;
	}	
}

/* Contact（画面下部）
-----------------------------------*/
#contact2 {
	padding: 120px 0;
	background: url(../images/top/contact02_bg.png) repeat 0 0;
}
#contact2 h2 {
	margin-bottom: 70px;
}
#contact2 .tel {
	display: inline-block;
	margin-bottom: 36px;
}
#contact2 .tel img{
		margin-bottom: 36px;
	}

/* リンクボタン
-----------------------------------*/
.link {}
.link.work {
	margin-top: 80px;
}
.link.ecu {
	margin-top: 80px;
}
.link.photoarchive {
	margin-top: 80px;}

.link.back{
	margin-top: 80px;
}
.link.first{
	margin-top: 80px;}
.link a {
	display: block;
	max-width: 340px;
	max-height: 69px;
	margin: 0 auto;
	background-color: #fff;
	border: 1px solid #333;
	transition-duration: 0.3s;
	transition-property: all;
	transition-timing-function: ease;
}
.link.work a:hover {
	background: #333 url(../images/top/btn_work_on.png) no-repeat 0 0;
	background-size: cover;
}
.link.contact a:hover {
	background: #333 url(../images/top/btn_contact_on.png) no-repeat 0 0;
	background-size: cover;
}
.link.photoarchive a:hover {
	background: #333 url(../images/gallery/btn_next_on.png) no-repeat 0 0;
	background-size: cover;
}
.link.back a:hover {
	background: #333 url(../images/photoarchive/btn_back_on.png) no-repeat 0 0;
	background-size: cover;
}

.link.first a:hover {
	background: #333 url(../images/photoarchive/btn_previous_on.png) no-repeat 0 0;
	background-size: cover;
}

.link a:hover img {
	visibility: hidden;
}

/*------------------------------------------------
Company
------------------------------------------------*/

/* 共通部分
-----------------------------------*/
#company h2 {
	margin: 0 0 60px;
}

/* Company
-----------------------------------*/
#companySec {
	margin-bottom: 140px;
}
#companySec table td img {
	display: block;
}
#companySec table td img + img {
	margin-top: 40px;
}

/* Privacy Policy
-----------------------------------*/
#pp {}

@media (max-width: 768px) {
	#companySec table th,
	#companySec table td {
		display: block;
		width: 100%;
	}
	#companySec table th {
		padding: 20px 0;
		border-bottom: none;
		text-align: left;
	}
	#companySec table td {
		border-top-style: dotted;
	}
	#companySec table tr + tr th {
		border-top: none;
	}
	.gaiyouzu2{
		border-top: 1px dotted #aaa!important;
		border-bottom: 1px solid #aaa!important;
	}
}

@media (max-width: 480px) {}


/*------------------------------------------------
Gallery
------------------------------------------------*/
#gallery {}
#gallery h2 {
	margin: 0 0 40px;
	padding-bottom: 60px;
	border-bottom: 1px solid #777;
}

/* Movie
-----------------------------------*/
#movie {
	margin-bottom: 140px;
}
#movie .item {
	float: left;
	width: 48.15%;
}
#movie .item:nth-child(n+3) {
	margin-top: 100px;
}
#movie .item:nth-child(odd) {
	margin-right: 3.7%;
}
#movie .item .youtube {
	position: relative;
	width: 100%;
	/*高さをpaddingで指定(16:9)*/
	padding-bottom: 56.25%;
	height: 0px;
}
#movie .item .youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#movie h3 {
	margin: 18px 0 0 0;
	line-height: 1;
}
#movie h3 img {
	vertical-align: top;
}
@media (max-width: 768px) {
	#movie .item:nth-child(n+3) {
		margin-top: 7%;
	}
	#movie h3 {
		margin: 10px 0 0 0;
	}
}

@media (max-width: 480px) {
	#movie .item {
		float: none;
		width: 100%;
		margin-bottom: 60px;
	}
	#movie .item:nth-child(odd) {
		margin-right: 0;
	}
}

/* Photo
-----------------------------------*/
#photo {}
#photo h4 {
	margin: 0 0 30px;
}
#photo .photoBox ul li {
	float: left;
	display: block;
	width: 31.48%;
	margin-left: 2.78%;
	margin-top: 60px;
}
#photo .photoBox ul li:nth-child(3n+1) {
	margin-left: 0;
}
#photo .photoBox ul li:nth-child(-n+3){
	margin-top: 0;
}
/* 画像をトリミング */
#photo .photoBox .thumbnail {
	padding-bottom: 100%;
	max-width: 340px;
	max-height: 340px;
	overflow:hidden;
	position:relative;
}
#photo .photoBox .thumbnail img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	/* 画像の最大サイズは枠の1.5倍まで */
	max-width: 150%;
	max-height: 150%;
}

@media (max-width: 768px) {
	#photo .photoBox ul li {
		width: 32.6%;
		/*margin-top: 2.78%;*/
		margin-top: 1.1%;
		margin-left: 1.1%;
	}
	#photo .photoBox ul li:nth-child(3n+1) {
		margin-left: 0;
	}
}

@media (max-width: 480px) {
	#photo .photoBox ul li {
		float: none;
		display: block;
		width: 100%;
		margin-left: 0;
	}
	#photo .photoBox ul li:nth-child(-n+3){
		margin-top: 1.1%;
	}
	#photo .photoBox .thumbnail {
		max-width: 100%;
	}
}
/*------------------------------------------------
Photoarchive
------------------------------------------------*/
#photoarchive {}
#photoarchive h2 {
	margin: 0 0 40px;
	padding-bottom: 60px;
	border-bottom: 1px solid #777;
}
/*------------------------------------------------
Contact
------------------------------------------------*/

/* お問い合わせ
-----------------------------------*/
#contact {}
#mailform h2 {
	margin: 0 auto 60px;
}
#mailformwrap {
	width: 100%;
	max-width: 600px;
	margin: 50px auto 0;
	font-size: 15px;
	text-align: left;
}
/* フォームの項目 */
#mailform .form-group {
	margin-top: 0;
	margin-bottom: 0;
}
#mailform .form-group + .form-group {
	margin-top: 40px;
}
/* ラベルのスタイル */
#mailform .form-group label {
	display: block;
	margin-bottom: 10px;
}
#mailform .form-group .checkbox-inline {
	position: relative;
	display: inline-block;
	width: 49%;
	margin-top: 20px;
	padding-left: 1.4em;
	border-radius: 3px;
	font-size: 14px;
	text-indent: -1.3em;
	vertical-align: top;
}
/*
#mailform .form-group .checkbox-inline:hover {
	background-color: #e3acba;
}
*/
#mailform .form-group .checkbox-inline label {
	margin-bottom: 3px;
	cursor: pointer;
}
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	margin-right: 6px;
	cursor: pointer;
}
/* input等のスタイル */
#mailform .form-control {
	display: block;
	width: 100%;
	padding: 8px 12px;
	font-size: 15px;
	line-height: 1.42857143;
	color: #555;
	background-color: #fff;
	background-image: none;
	border: 1px solid #ccc;
	border-radius: 2px;
	box-shadow: inset 0px 3px 2px 0px rgba(213, 213, 213, 0.3);
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}
#mailform select.form-control {
	display: inline-block;
	width: 100%;
	max-width: 124px;
	padding: 6px 12px;
}
#mailform .form-control.address {
	display: inline-block;
	width: 76.6%;
	max-width: 460px;
	margin-left: 10px;
}
#mailform .form-control:focus {
	border-color: inherit;
	outline: 0;
	-webkit-box-shadow: transparent;
	box-shadow: transparent;
}
/* セレクトボックス横の文字 */
select + span {
	margin: 0 10px;
}
/* ボタン関係 */
div.mfp_buttons {
	margin-top: 90px;
}
button.btn {
	display: block;
	width: 100%;
	max-width: 340px;
	margin: 0 auto;
	padding: 20px 40px;
	border: 1px solid #333;
	background-color: #fff;
	color: #333;
	font-size: 20px;
	font-family :"Times New Roman", "游明朝", YuMincho,"ヒラギノ明朝 Pr6 W6","Hiragino Mincho Pro", "HGS明朝E","メイリオ", "ＭＳ Ｐ明朝","MS PMincho",Meiryo, serif;
	font-weight: normal;
	text-transform: uppercase;
	transition-duration: 0.3s;
	transition-property: all;
	transition-timing-function: ease;
	cursor: pointer;
	line-height: 1.2;
}
button.btn:hover {
	background-color: #333333;
	color: #fff;
}
button.btn.disable {
	background-color: #ccc;
	color: #767676;
}
.btn:active, .btn.active {
	background-image: none;
	outline: 0;
	-webkit-box-shadow: none;
	box-shadow: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
	outline: thin dotted;
	outline: none;
	outline-offset: none;
}
/* 送信後メッセージ */
#ThanksComment {
	font-family :"Times New Roman", "游明朝", YuMincho,"ヒラギノ明朝 Pr6 W6","Hiragino Mincho Pro", "HGS明朝E","メイリオ", "ＭＳ Ｐ明朝","MS PMincho",Meiryo, serif;
	font-weight: normal;
	text-align: center;
}
#ThanksComment strong {
	font-weight: 700;
}

@media (max-width: 768px){
	#mailform select.form-control {
		width: 23%;
	}
	#mailform select.form-control.pref {
		width: 100%;
		max-width: 124px;
	}
	#mailform .form-control.address {
		display: block;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-top: 5px;
	}
}

@media (max-width: 480px) {
	#mailform select.form-control {
		width: 85%;
		max-width: 85%;
		margin-bottom: 5px;
	}
	#mailform select.form-control.pref {
		max-width: 100%;
		margin-bottom: 0;
	}
	#mailform .form-group .checkbox-inline {
		display: block;
		width: 100%;
	}
}


/* 2023/06/22 追記 */
.notsales,.notsales *{
	text-align: center !important;
vertical-align:middle;
}


/* 2023/06/22 追記ここまで */

/*------------------------------------------------
recruit
------------------------------------------------*/
#recruit h2 {
	margin: 0 0 60px;}

.recruittext {
    width: 200%;
    display: block;
    border-bottom: none;
    border-top: none;
	margin: 40px 0;
	padding-top: 0%;
}

.recruittext2 {
    width: 200%;
    display: block;
    border-bottom: none;
    border-top: none;
	margin: 60px 0 -60px 0;
	padding-top: 0%;
    font-size: 19px;
    font-family: "游明朝";
	font-weight: bold;
    }

#recruitSec {
	/*margin-bottom: 140px;*/}

#recruitSec table td img {
	display: block;}

#recruitSec table td img + img {
	margin-top: 40px;}

@media (max-width: 768px) {
	#recruit.sub #main {
	padding-top: 10px;
}
	#recruitSec table th,
	#recruitSec table td {
		display: block;
		width: 100%;}
	
	#recruitSec table th {
		padding: 20px 0;
		border-bottom: none;
		text-align: left;}
	
	#recruitSec table td {
		border-top-style: dotted;}
	
	#recruitSec table tr + tr th {
		border-top: none;}
	
	#recruitSec .recruittext {
		text-align: center;}	
}