@charset "utf-8";
/* -------------------------------------------------- reset */
/* ------------------------------ default */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-weight: normal;
}
img {
	width: 100%;
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
}

body {
	overflow-x: hidden;
	overflow-y: scroll;
	background: #000;
	color: #fff;
	font-family: "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 1px;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	background: #000;
}
.mincho {font-family: "Times New Roman","ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",serif;}
.kakugo {font-family: Verdana,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;}
.tpl {font-family: sans-serif;} /* ThreePointLeader */
.spr {letter-spacing: -0.5em;} /* SPaceRemove */
.font_red{ color:#FF0000; }
/* link */
a {color: #fff;text-decoration: none;}
a:hover {color: #a8600c;}
a:focus {outline: none;}
a.no {color: inherit;text-decoration: none;}

/* ul, ol */
ul,ol {list-style-type: none;}

/* table */ 
table {
	border-collapse: collapse; 
	border-spacing: 0;
}

/* ------------------------------ clearfix */
.clearfix:after {/*for modern browser*/
   content: "";
   display: block;
   clear: both;
}

* html .clearfix {zoom: 1;} /*for IE6*/
*:first-child+html .clearfix {zoom: 1;} /*for IE7*/

/* ------------------------------ fade */
.fade, .fade_img {  
	-webkit-transition: .2s linear;
	transition: .2s linear;
}  
.fade_img:hover {  
	opacity: 0.6;  
	filter: alpha(opacity=60);
}

/* ------------------------------ none */
.none {display: none !important;}

/* -------------------------------------------------- common */
.inner_res {
	width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
	overflow: hidden;
}

.pc-none {display: none;}

.br-pc {display: inline-block;}
.br-sp {display: none;}

.mrb-10 {margin-bottom: 10px;}
.mrb-20 {margin-bottom: 20px;}
.mrb-30 {margin-bottom: 30px;}
.mrb-40 {margin-bottom: 40px;}
.mrb-60 {margin-bottom: 80px;}
.mrb-80 {margin-bottom: 80px;}

.sml {font-size: 80%;}
.big {font-size: 130%;}

.text-or { color: #a8600c;}
.btn {
	display: inline-block;
	padding: 5px 35px;
	background: #fff;
	letter-spacing: 2px;
	border-radius: 3px;
	color: #000;
	-webkit-transition: .2s linear;
	transition: .2s linear;
}
.btn:hover {
	background: #a8600c;
	color: #fff;
}

/* ----------------------------------- header */
#header {
	position: fixed;
	left: 0;top: 0;
	z-index: 1010;
	width: 100%;
	background: #000;
}
#header .inner_res {
	width: 100%;
	max-width: 1600px;
	position: relative;
	overflow: hidden;
	background: #000;
	-webkit-transition: .2s linear;
	transition: .2s linear;
}

/* logo */
#header .logo {
	float: left;
	width: auto;
	max-width: 230px;
	padding: 0 20px 0 0;
	margin:16px 20px;
	border-right: 1px solid #777; 
	-webkit-transition: .2s linear;
	transition: .2s linear;
}
#header .logo img {min-height: 28px;}

/* ------------------ gnav */
#gnav {
	float: right;
	height: 90px;
	line-height: 90px;
	margin-right: 30px;
}
#gnav li {
	display: inline-block;
	margin-right: 10px;
}
#gnav li.tel img {
	max-width: 240px;
}
#gnav li a {
	position: relative;
	display: inline-block;
	font-size: 15px;
	line-height: 15px;
	color: #fff;
}

#gnav li a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;
    display: block;
    width: 0;
    height: 1px;
    background: #fff;
    -webkit-transition: width .2s linear;
    transition: width .2s linear;}

#gnav li.now a:after,
#gnav li a:hover:after {width: 100%;}


/* btn */
#gnav_btn {
	display: none;
	position: relative;
	float: right;
	width: 40px;height: 40px;
	margin: 9px;
	cursor: pointer;
}
#gnav_btn .fa {
	position: absolute;
	left: 0;top: 0;
	display: block;
	width: 40px;
	font-size: 30px;
	line-height: 30px;
	text-align: center;
	color: #fff;
}
#gnav_btn .fa_title {
	display: block;
	width: 40px;
	margin-top: 1px;
	font-family: Arial, sans-serif;
	font-size: 10px;
	line-height: 10px;
	letter-spacing: 0;
}
#gnav_btn .open {opacity: 1;filter: alpha(opacity=100);}
#gnav_btn .close {opacity: 0;filter: alpha(opacity=0);}
#gnav_btn.on .open {opacity: 0;filter: alpha(opacity=0);}
#gnav_btn.on .close {opacity: 1;filter: alpha(opacity=100);}

/* title */
#gnav .gnav_title {
	display: none;
	padding: 6px 0;
	font-family: "Raleway", sans-serif;
	font-size: 20px;
	text-align: center;
	color: #fff;
}
#gnav .gnav_title.mini { /* del */
	font-family: Verdana,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
	font-size: 12px;
}

/* ------------------ header on */
#header.on {
	background: rgba(0,0,0,.7);
	box-shadow: 1px 1px 3px rgba(255,255,255,.4);
}
#header.on .inner_res {background: none;}
#header.on .logo{
	margin: 7px 20px;
	width: 180px;
}

#header.on #gnav {
	height: 60px;
	line-height: 60px;
}
#header.on #gnav li.tel img {max-width: 200px;}

/* ------------------ header_bg */
#header_bg {
	position: relative;
	margin-top: 90px;
	z-index: 1;
	overflow: hidden;
	width: 100%;
	background: #000;
	border-bottom: #000 1px solid;
}
#header_bg .header_bg_in {
	overflow: hidden;
	position: relative;
	top: 0;left: -5%;
	width: 110%;height: 400px;
}
#header_bg .header_bg_in.under {height: auto;}
#header_bg .header_bg_logo {
	position: absolute;
	left: 0;top: 0;
	z-index: 1001;
}
#header_bg .catch{
	position: absolute;
	z-index: 9999;
	left:0;
	right: 0;
	top:0;
	bottom: 0;
	margin: 2% auto;
	text-align: center;
}
#header_bg .catch img{ 	
	width: auto;
	/*height: 90%;
	margin-top: 5%;*/
}



/* ----------------------------------- footer */
#footer {
	position: relative;
	z-index: 1;
	width: 100%;
	padding: 6% 0 2%;
	background: #000 url(../../img/footer-bg.jpg) center bottom no-repeat;
	background-attachment: fixed;
	text-align: center;
	color: #fff;
	text-shadow :1px 1px 3px #000;
}
#footer .sitemap {
	float: left;
	width: 68%;
	text-align: left;
	margin-bottom: 5%;
}
#footer .sitemap p {font-weight: bold;}
#footer .sitemap ul {
	margin: 2% 0;
	max-width: 600px;
}
#footer .sitemap li {
	float: left;
	padding-left: 2%;
	padding-right: 2%;
	border-bottom: 1px solid #fff;
	margin: 2%;
}

#footer .outline {
	float: right;
	width: 30%;
	border-left: 1px solid #fff;
	box-sizing: border-box;
	padding-left: 2%;
	text-align: left;
}
#footer .outline .name {font-size: 150%; font-weight: bold;letter-spacing: 3px;}
#footer .outline .service {font-size:90%; line-height: 1.8;}
#footer .outline .address {font-size:85%; }
#footer .outline .tel a {font-size:180%; font-weight: bold;}

#footer .copyright {
	clear: both;
	font-size: 80%; 
	text-align: right;
	padding-top: 3%;
}

/* ---------------- pagetop */
#pagetop {
	display: none; /* js */
	position: fixed;
	bottom: 20px;right: 20px;
	z-index: 1008;
	opacity: 0;
	filter: alpha(opacity=0);
}
#pagetop.on {
	opacity: 1;
	filter: alpha(opacity=100);
}
#pagetop a {
	display: block;
	font-size: 40px;
	color: #aaa;
	opacity: .7;
	filter: alpha(opacity=70);
}
#pagetop a:hover {
	opacity: 1;
	filter: alpha(opacity=100);
}

/* ----------------------------------- main */
#main {
	overflow: hidden;
	width: 100%;
}
/* -----------------------------------contents */
#contents {
	float: right;
	overflow: hidden;
	width: 70%;
	max-width: 70%;
	margin-left: 5%;
	text-align: left;

}
/* -----------------------------------sidemenu */
#sidemenu {
	float: left;
	width: 23%;;
	overflow: hidden;
}
#sidemenu ul.side-menu{
	border-top: 1px dotted #ccc;
	margin-top: 7%;
    margin-bottom:30%;
}
#sidemenu ul.side-menu li {
	text-align: center;
	border-bottom: 1px dotted #ccc;
}
#sidemenu ul.side-menu li a {
	width: 100%;
	display: block;
	line-height: 3;
}
#sidemenu ul.side-menu li.now,
#sidemenu ul.side-menu li a:hover {
	background: #a8600c;
	color: #fff;
}
#sidemenu p {
	text-align: left;
}
#sidemenu .side-title {
	margin-top: 5%;
	margin-bottom: 5%;
	line-height: 2.5;
	border-top: 1px dotted #ccc;
	border-bottom: 1px dotted #ccc;
	text-align: center;
}
#sidemenu .detail {
	font-size: 90%;
}
#sidemenu .attention {
	text-align: left;
	font-size: 90%;
}
#sidemenu .attention li{
    padding-left: 1em;
    text-indent: -1em;
}



/* -----------------------------------gmap */
#gmap_wrap {
	position: relative;
	clear: both;
}
#gmap {
	width: 100%;
	height: 500px;
}
#gmap_wrap .cover {
	position: absolute;
	left: 0;top: 0;
	display: block;
	width: 100%;height: 100%;
	background: rgba(0,0,0,.1);
}
#gmap-wrap .cover, #mymap .cover {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,.3);
}


/* ---------------- row */
.row {
	position: relative;
	z-index: 1;
	padding: 60px 0 80px;
	text-align: center;
	background: #000;
}
.row-short {padding: 10px 0 80px;}
.row.pt0 {padding-top: 0;}

/* ---------------- col3 */
.col3 {overflow: hidden;}
.col3 .col3_in {
	float: left;
	width: 32%;
	margin-right: 2%;
}
.col3 .col3_in.r_side {margin-right: 0;}

/* ---------------- action */
.action {position: relative;}
.action.on {
	-webkit-transition-property: top, opacity;
	transition-property: top, opacity;
	-webkit-transition-duration: .8s;
	transition-duration: .8s;
	-webkit-transition-timing-function: ease-in-out;
	transition-timing-function: ease-in-out;
}
.action.unvisi {
	top: 40px;
	opacity: 0;
	filter: alpha(opacity=0);
}
.action.visi {
	top: 0;
	opacity: 1;
	filter: alpha(opacity=100);
}
.action.visi p.att{ font-size:120% 
}


/* -------------------------------------------------- layout */
/* ----------------------------------- index */

/* row-news */
.row-news {
	background: #000;
	color: #fff;
}
.row-news .title img{width: auto;}
.row-news dl.news {
	max-width: 700px;
	display: inline-block;
	margin: 5% auto;
	border-top: 1px solid #777;
}
.row-news dl.news a {
	color: #fff;
}
.row-news dl.news dt{
	float: left;
	clear: both;
	padding: 2% 0 2% 2%;
}
.row-news dl.news dd {	
	border-bottom: 1px solid #777;
	text-align: left;
	padding: 2% 2% 2% 150px;
}


/* row02 */
.row02 {
	background: url(../../img/index/background02n.png) no-repeat center;
	background-size: cover;
	color: #fff;
}
.row02 h2 {
	font-size: 150%;
	font-weight: normal;
	color: #fff;
	text-shadow : 1px 1px 2px rgba(0,0,0,.95);
	text-shadow : 1px 1px 3px rgba(0,0,0,.95);
	letter-spacing: 2px;
}
.row02 table {
	margin-right: auto;
	margin-left: auto;
	font-size: 120%;
}
.row02 th,
.row02 td {
	padding: 7px 30px;
}
.row02 th {
	background: #e6c4c3;
	color: #000;	
	border-right: 1px solid #fff;
	border-top: 1px solid #000;
	border-bottom: 1px solid #777;
}

.row02 td {
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	text-shadow : 1px 1px 2px rgba(0,0,0,.75);
}
.row02 th.last,
.row02 td.last {border-right: none;}

.row02 .home-tel a{
	font-size: 180%;
	font-weight: bold;
	color: #fff;
	text-shadow : 1px 1px 2px rgba(0,0,0,.75);
}


/* row03 */
.row03 {
	background: #000;
}
.row03 h2 {
	color: #fff;
	font-size: 140%;
	letter-spacing: 5px;
}
.row03 ul li {
	float: left;
	width: 15.8%;
	margin: 0 1% 0 0;
	border: 1px solid #fff;
	box-sizing: border-box;
}
.row03 ul li.last {
	margin: 0;
}
.row03 ul li img {
	margin: 3% auto;
	width: 94%;
}
.row03 ul li p{
	padding: 5px;
	background: #fff;
	color: #000;
	letter-spacing: 2px;
}
.row03 ul li:hover {background: #a8600c;}
.row03 ul li p:hover {color: #a8600c;}

/* row04 */
.row04 {padding: 0!important;}
.row04 h2 {
	position: absolute;
	color: #fff;
	font-size: 250%;
	letter-spacing: .5em;
	position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  -webkit-transform: translate(-50%, -50%); /* Safari用 */
  transform: translate(-50%, -50%);
  text-shadow:0 0 10px #000,0 0 15px #000,
  0 0 20px #000,0 0 25px #000,0 0 30px #000,
  0 0 35px #000,0 0 40px #000;
}
.row04 h2 a { color: #fff;}
.row04 h2 a:hover { color: #a8600c;}

/* row05 */
.row05 {
	background: #000;
}
.row05 h2 {
	color: #fff;
	font-size: 140%;
	letter-spacing: 5px;
}
.row05 ul li {
	float: left;
	width: 15.8%;
	margin: 0 1% 0 0;
	border: 1px solid #fff;
	box-sizing: border-box;
}
.row05 ul li.last {
	margin: 0;
}
.row05 ul li img {
	margin: 3% auto;
	width: 94%;
}
.row03 ul li:hover {background: #a8600c;}

/* ----------------------------------- contents */
h2.page-title {
	background: url(../../img/logo-mark.png) no-repeat top right;
	background-size: auto 70%;
	background-position: -10px 0 0 0;
	padding-bottom: 2%;
	padding-top: 20px;
	font-size: 180%;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 2px;
	border-bottom: 1px solid #555;
	text-align: left;
}
h2.page-title span {
	font-size: 16px;
	color:#777;
	letter-spacing: 1px;
}

h3.sub01 {
	font-size: 110%;
	font-weight: bold;
	color: #cd8448;
	clear: both;
}
h3.sub02 {
	padding-left: 15px; 
	font-size: 140%;
	line-height: 1.3;
	border-left: 3px solid #fff;
	clear: both;
}
h3.sub02B {
	padding-left: 2px; 
	font-size: 140%;
	line-height: 1.3;
	border-left: 0;
	clear: both;
}

h3.sub03 {
	padding: 3px 2%;
	font-size: 110%;
	background: #8a5626;
	clear: both;
}
h3.sub04 {
	font-size: 140%;
	font-weight: bold;
}
h3.sub05 {
	padding: 3px 0;
	font-size: 140%;
	color: #CC9439;
	clear: both;
}
h4.h401 {
	padding: 3px 0;
	font-size: 150%;
	color: #FFFFFF;
	clear: both;
}
h4.h402 {
	padding: 3px 0;
	font-size: 150%;
	color: #CC9439;
	clear: both;
	font-weight:bold;
}
.text {	text-align: left;}
.border {
	color: #cd8448;
	border: 1px solid #cd8448;
	padding: .5% 2%;
}
.photo td {padding: 1%;}
.photo td:nth-of-type(1){text-align: right;}
.photo td:nth-of-type(2){text-align: left;}
.photo td img {width: auto;}
.photo img.waku{
	border:1px solid #555;
	box-sizing: border-box;
}
.text-left { 
	float: left;
	width: 50%;
}
.photo-right { 
	float: right;
	width:50%;
}
.photo-right img.f-right {padding-left: 3%;}

/*-------------- idea */
.idea .concept {
	border-bottom: 1px dotted #777;
	padding-bottom: 30px;
}
.idea .concept span {
	font-size: 130%;
	color :#cd8448;
	margin-left: -0.5em;
}
.idea .profile-title {
	border-top: 1px solid #777; 
  margin:15px 0 5px 0; 
  padding:0; 
  height:15px;
  line-height: 1;
}
.idea .profile-title span { 
  position: relative; 
  top: -8px; 
  padding: 0 10px 0 0; 
  background:#000;
}
.idea .profile-text {
	margin-left: 1.5em;
}
.idea .profile-text dt {
	float: left;
}
.idea .profile-text dd {
	padding-left: 6.5em;
}
/* --------------labo */

.labo dl {margin-left: 20px;}
.labo dt {color: #cd8448;}
.labo dt:first-letter {
	font-size: 300%;
	line-height: 1.2;
	margin-left: -20px;
	padding-right: 10px;
	padding-top: 5px;
	display: inline-block;
}
.labo dd {
	margin-left: 20px;
	margin-bottom: 5px;
}
/* --------------what's new */
.whatsnew dl {
	display: block;
	margin: 5% auto;
}
.whatsnew dl dt{
	border-left :3px solid #fff;
	padding-left:10px; 	
}
.whatsnew dl dt span.ymd {color: #a8600c; font-size: 90%;}
.whatsnew dl dt span.title {font-size: 110%; font-weight: bold;}
.whatsnew dl dt title {color: #a8600c;}
.whatsnew dl dd { 
	margin: 0 2% 7% 3%;	
}
.whatsnew dl dd img {
	width: auto;
	margin: 2% 1%;
}
/*-------------- pp */
.pp ul.pp-li li {
	padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 5px;
}

/*-------------- recruit */
.recruit .rec-box {
	position: relative;
	border-left: 1px solid #a4782b;
	border-right: 1px solid #a4782b;
	border-bottom: 1px solid #a4782b;
	box-sizing: border-box;
}
.recruit .rec-box img {
	margin-top: -13px;
}
.recruit .rec-box .text {
	margin: 5% 8%;
}

.recruit .boshu {
	border-top: 1px solid #a4782b;
	padding: 30px 0;
}
.recruit .boshu dt {
	float: left;
	width: 8em;
	padding: 15px 0;
}
.recruit .boshu dd {
	margin-left: 9em;
	padding: 15px 0;
}
.recruit .boshu dd table td {
	vertical-align: top;
	padding: 0 5px;
}
.recruit .boshu dd table td p{
	padding-left: 1em;
  text-indent: -1em;
}

.recruit .rec-box2 {
	background: #a4782b;
	color: #fff;
	padding: 15px;
	text-align: center;
	font-size:110%;
}
.recruit .rec-box2 span {
	font-size: 160%;
	font-weight: bold;
}
/* --------------contact */
#contact_table {
	table-layout: fixed;
	width: 100%;
	max-width: 740px;
	margin: 30px auto 0;
}
#contact_table th {
	width: 15em;
	padding: 15px 30px 15px 0;
	border-right: #ddd 2px solid;
	text-align: right;
	vertical-align: top;
}
#contact_table td {
	padding: 15px 20px 15px 30px;
	text-align: left;
}
#contact_table .req {
	margin-left: 2px;
	font-size: 12px;
	color: #f00;
}
#contact_table p {
	background: #ccc;
	padding: 0 10px;
	margin-bottom: 3px;
}

#contact_table .age {
	width: 50px !important;
}


/* text */
#contact_table input[type="text"] {
	width: 260px;
	padding: 5px;
	border: #ccc 1px solid;
	box-sizing: border-box;
}
#contact_table input.s {width: 100px;}
#contact_table input.l {width: 90%;}

/* textarea */
#contact_table textarea {
	width: 100%;
	height: 200px;
	padding: 5px;
	border: #ccc 1px solid;
	box-sizing: border-box;
	line-height: 1.4;
}

/* btn */
#contact_btns {
	margin-top: 40px;
	text-align: center;
}
#contact_btns .btn {
	display: inline-block;
	width: 190px;
	margin: 0 20px;
	padding: 5px 0;
	background: #A0A0A0;
	border: none;
	border-radius: 2px;
	box-sizing: border-box;
	font-family: Verdana,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
	font-size: 13px;
	line-height: 24px;
	letter-spacing: 1px;
	text-align: center;
	vertical-align: top;
	text-decoration: none;
	color: #fff;
	cursor: pointer;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
#contact_btns .btn:hover {
	opacity: .7;
	filter: alpha(opacity=70);
}

/* errm */
#mailer .errm {
	display: inline-block;
	margin-top: 30px;
}
#mailer .errm li {
	text-align: left;
	color: #f00;
}
#mailer .errm li:before {content: '・';}

/* validetta */
.validetta-bubble {
	display: none;
	position: absolute; 
	z-index: 1;
	max-width: 325px; 
	padding: 3px 15px 3px 10px; 
	background: #fff;
	border: #f00 1px solid;
	border-radius: 2px;
	font-size: 11px;
	line-height: 12px;
	color: #f00;
}
.validetta-bubble:before,
.validetta-bubble:after {
	content: '';
	position: absolute; 
	display: block; 
	width: 0;height: 0;
	border: transparent 7px solid;
}
.validetta-bubble:before {
	top: -14px;left: 5px; 
	border-bottom-color: #f00;
}
.validetta-bubble:after {
	top: -13px;left: 5px; 
	border-bottom-color: #fff;
}
.validetta-bubbleClose {
	position: absolute; 
	top: -1px;right: 3px; 
	display: block; 
	font-weight: bold; 
	font-size: 10px;
	cursor: pointer; 
}

/* -------------------------------------------------- cad */

video {
	width: 100%;
	max-width: 80%;
	margin: 0 auto;
	display: block;}

@media screen and (max-width: 460px) {
video {
	width: 100%;
	max-width: 90%;
	margin: 0 auto;
	display: block;}

}

.cad-youtube-link {
	display: block;
}

.cad-youtube-link:hover {
	opacity: 0.75;
	color: #fff;
}

.cad-youtube {
	max-width: 600px;
	width: 80%;
	margin: 20px auto;
	border: solid 1px #fff;
	padding: 10px;
}

.cad-youtube img {
	margin: 10px auto;
	display: block;
}


.cad-youtube p {
	text-align: center;
}


.cad-list {
	margin: 10px 0;
}
.cad-list li{
	background-color: #fffcd3;
	margin: 10px 0;
	color: #000;
	text-align: center;
	padding: 5px 0;
}

.cad-blue {
	color: #00a0e9;
	text-align: center;
}

.cad-sp {
	display: none;
}

@media screen and (max-width: 450px) {
.cad-sp {
	display: inherit;
}

}




/* -------------------------------------------------- responsive */


@media screen and (min-width: 1300px) {
	/* --------------- common */
	.inner_res {width: 1200px;}

	/* --------------- header_bg */
	#header_bg .header_bg_in {width: 100%;left: 0;}

	/* --------------- index */
}

@media screen and (max-width: 1400px) {
	/* --------------- header */
	#header .logo { 
		width: 170px;
		margin: 10px 10px;
		padding: 0 10px 0 0;
	}
	#header_bg {margin-top: 60px;	}
	#header_bg .sub-header {width: 130%; margin-left: -20%;}
	/* --------------- gnav */
	#gnav {
	height: 60px;
	line-height: 60px;
	margin-right: 10px;	
	}
	#gnav li {margin-right: 5px;}
	#gnav li a {font-size: 14px;}
	#gnav li.tel{width: 180px;}

	/* --------------- header.on */
	#header.on .logo { 
		width: 170px;
		margin: 10px 10px;
		padding: 0 10px 0 0;
	}

}

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

	#gnav li {margin-right: 5px;}
	#gnav li a {font-size: 12px;}
	#gnav li.tel{width: 150px;}
}

@media screen and (max-width: 1020px) {
	/* --------------- common */
	.inner_res {width: 740px;}

	/* --------------- header */
	#header .inner_res {width: 100%;}

	/* ------------------ header_bg */
	#header_bg {margin-top: 55px;}
	#header_bg .header_bg_in {width: 140%;left: -20%;}
	#header .logo,
	#header.on .logo {
		width: 160px;
		margin: 8px 10px;
		border-right: none;
	}
	/* ------------------ gnav */
	#gnav_btn,
	#gnav .gnav_title {display: block;}
	#gnav_wrap {
		display: none; /* js */
		position: fixed;
		top: 58px;right: -230px;
		z-index: 1009;
		width: 230px;height: 1000px;
		background: #000;
		background: rgba(0,0,0,.75);		
		-webkit-transition: right .3s cubic-bezier(0.55, 0, 0.1, 1);
		transition: right .3s cubic-bezier(0.55, 0, 0.1, 1);
	}
	#gnav_wrap.on {right: 0;}
	#gnav_wrap .inner {
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-overflow-scrolling: touch;
		height: 100%; /* js */
	}
	#gnav {
		position: relative;
		float: none;
		height: auto;
		margin-right: 0;
		line-height: 1.6;
	}
	#gnav li {
		display: block;
		margin-right: 0;
	}
	#gnav li.tel{
		position: relative;
		top:0; right: 0;
	}
	#gnav li.tel img {width: 80%;}
	#gnav li a {
		display:block;
		padding: 15px 0;
		text-align: center;
		letter-spacing: 2px;
		color: #fff;
	}
	#gnav li a:after {display: none;}
	#gnav li a:before {
		content: '';
		position: absolute;
		left: 8px;top: 16px;
		display: block;
		width: 0;height: 0;
		border: transparent 5px solid;
		border-left-color: #fff;
	}
	#gnav li.now a,
	#gnav li a:hover {
		background: #a8600c;
		background: rgba(168,96,12, 0.9);
	}
	#gnav li.tel {
		width: auto;
		max-width: 100%;
		text-align: right;
	}
	#gnav li.tel a::before {
	display: none;

	}
	/* on */
	#header.on #gnav {
		height: 100%;
		line-height: 1.6;
	}
	/* --------------- footer */
	#footer .sitemap {width: 53%;}
	#footer .outline {width: 45%;}
	#footer .outline .tel a {font-size: 130%;}
	/* --------------- layout */
	#contents {width:100%; max-width: 100%; float: none; margin-left: 0;}
	#sidemenu {display: none;}
	/* --------------- index */
	/* row02 */
	.row02 table { font-size: 100%;}
	
}

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

	body {
		font-size: 85% ;
	}
	/* --------------- common */
	.inner_res {
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
	}
	.pc-none {display: block;}
	.sp-none {display: none;}

	.mrb-10 {margin-bottom: 8px;}
	.mrb-20 {margin-bottom: 15px;}
	.mrb-30 {margin-bottom: 20px;}
	.mrb-40 {margin-bottom: 30px;}
	.mrb-60 {margin-bottom: 80px;}
	.mrb-80 {margin-bottom: 80px;}

	/* --------------- header */
	#header_bg .sub-header {width: 180%; margin-left: -50%;}

	/* --------------- footer */
	#footer .sitemap {
		float: none; 
		width: 100%;
		text-align: center;
	}
	#footer .sitemap ul {
		width: 100%;
		max-width: 100%;
	}
	#footer .outline {
		float: none; 
		width: 100%;
		margin-left: 0;
		border-left: none;
		text-align: center;
	} 

	/* --------------- index */
	/* row02 */
	.row02 th, .row02 td { padding: 6px 20px;}
	/* row04 */
	.row04 img.bg-image {
    width: 150%;
    max-width: 150%;
  }
	/* --------------- action */
  .sp-visi {
	top: 0 !important;
	opacity: 1 !important;
	filter: alpha(opacity=100);
	}
}

@media screen and (max-width: 600px) {
	/* --------------- header */
	#header .inner_res,
	#header.on .inner_res,
	#header .logo {
		-webkit-transition: none;
		transition: none;
	}
	#header_bg .header_bg_in.under {width: 200%;left: -50%;}
	/* --------------- common */
	.br-pc {display: none;}
	.br-sp {display: inline-block;}
	/* --------------- index */
	.row {padding: 40px 0 60px;}
	/* row-news */
	.row-news dl.news {font-size: 90%;}
	.row-news dl.news dd{	padding-left: 100px;}
	/* row02 */
	.row02 th,.row02 td { padding: 6px 10px;}
	/* row03 */
	.row03 ul li {
		width: 32%;
		margin-right: 2%;
		margin-bottom: 2%;
	}
	.row03 ul li:nth-child(3) {margin-right: 0;}
	.row03 ul li p {
    padding: 3px 0;
    letter-spacing: 0;
    font-size: 80%;
	}
	/* row04 */
	.row04 h2 {
		font-size: 180%;
		letter-spacing: 10px!important;
	}
	.row04 img.bg-image {
    width: 200%;
    max-width: 200%;
  }
	/* row05 */
	.row05 ul li {
		width: 32%;
		margin-right: 2%;
		margin-bottom: 2%;
	}
	.row05 ul li:nth-child(3) {margin-right: 0;}

	/* ---------------- gmap */
	#gmap {height: 200px;}

	/* --------------- recruit */
	.recruit .boshu dt {
		float: none;
		width: 100%;
		padding: 15px 0 5px 0;
		border-bottom: 1px dotted #555;
	}
	.recruit .boshu dd {
		margin-left: 15px;
		padding: 5px 0 15px 0;
	}

	/* --------------- contact */
	/* table */
	#contact_table th,
	#contact_table td {
		display: block;
		width: 100%;
		text-align: left;
	}
	#contact_table th {
		padding: 0 0 2px;
		border-right: none;
		border-bottom: #ddd 2px solid;
	}
	#contact_table td {
		padding: 10px 10px 30px;
		box-sizing: border-box;
		font-size: 14px;
	}

	#contact_table .input_content {text-align: left;}
	#contact_table tr:last-child td {padding-bottom: 0;}
	
	/* text textarea */
	#contact_table input[type="text"],
	#contact_table textarea {width: 100%;}


	#contact_table .age {
    width: 50px !important;
	}
	/* btn */
	#contact_btns .btn {
		width: 45%;
		max-width: 190px;
		margin: 0 2%;
	}

}

@media screen and (max-width: 500px) {
	h2.page-title {	background-size: auto 40%;}

	/* --------------- index */
	.row h2 {	letter-spacing: 3px;}
	.row-news .title img {width: 80%;}
	/* --------------- contents */
	.text-left { 
		float: none;
		width: 100%;
	}
	.photo-right { 
		float: none;
		width:100%;
	}
	.photo-right img.f-right {padding-left: 0;}

	.labo dl {margin-left: 0;}
	.labo dt::first-letter {margin-left: 0;}
	.labo dd {margin-left: 0;}


}

@media screen and (max-width: 460px) {
	/* --------------- index */
	.row {padding: 30px 0 50px;}

}

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

	/* --------------- common */
	.mrb-10 {margin-bottom: 5px;}
	.mrb-20 {margin-bottom: 10px;}
	.mrb-30 {margin-bottom: 15px;}
	.mrb-40 {margin-bottom: 20px;}
	.mrb-60 {margin-bottom: 80px;}
	.mrb-80 {margin-bottom: 80px;}

	/* --------------- index */
	/* row02 */
	.row02 th.space {letter-spacing: -0.3em;}
	/* row03 */
	/* --------------- recruit */
	.recruit .boshu dd table tr {
		padding-bottom: 5px;
		display: block;
	}
	.recruit .boshu dd table td {
		display: block;
		width: 100%;
	}


}


@media screen and (max-width: 320px) {
	/* --------------- index */
	/* row03 */
	.row02 th.space {letter-spacing: -0.5em;}
	}
}
