@charset "utf-8";

/*
Theme Name: Oonoyamokko
Author: THREE
Version: ver 1.00
*/

/* -------------------------------------------------
    ---     COMMON     ---
   -------------------------------------------------  */

* {
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	font-size:16px;
	font-family:"Roboto Slab" , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	color:#2f0103;
	margin: 0 auto;
	position: relative;
	z-index: 0;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	background-color: #FFF;
}




/* -------------------------------------------------
    ---     COMMON     ---
   -------------------------------------------------  */

::selection {
	background: #2f0103;
	color: #fff;
}

img {
	width:100%;
	margin: 0;
	padding: 0;
	border: 0;
}


a:hover img { opacity: 0.7; filter: alpha(opacity=70); -moz-opacity: 0.7; }

.clearfix {
  *zoom: 1;
}
.clearfix:after {
  content: '';
  display: table;
  clear: both;
}

ul { list-style: none; }

a {
	color: #2f0103;
	text-decoration: none;
	-webkit-transition:all .3s ease-in;
  	-moz-transition:all.3s ease-in;
   	-o-transition:all .3s ease-in;
   	transition:all .3s ease-in;

	-webkit-transition:all .3s ease-out;
  	-moz-transition:all.3s ease-out;
   	-o-transition:all .3s ease-out;
   	transition:all .3s ease-out;
}

a:hover {
	color: #d6bebd;
	text-decoration: none;
	-webkit-transition:all .3s ease-in;
  	-moz-transition:all.3s ease-in;
   	-o-transition:all .3s ease-in;
   	transition:all .3s ease-in;

	-webkit-transition:all .3s ease-out;
  	-moz-transition:all.3s ease-out;
   	-o-transition:all .3s ease-out;
   	transition:all .3s ease-out;
}

.gray { background-color: #E6E6E6; }

.wrapper { max-width: 1000px; margin: 0 auto; padding: 50px 20px; }
.wrapper_full { width: 100%; padding: 50px 0; }

.en { letter-spacing: 1px; }

a.btn {
	background-color: #FFF;
	border: 1px solid #595757;
	padding: 10px 12px;
	display: block;
	font-size: 0.75em;
	text-align: center;
}

a.btn:hover { background-color: #E6E6E6; }

/* .pc-only { display: block!important; } */
.sp-only { display: none!important; }


/* --- GO TOP --- */

#go-top{
  display: block;
  position: fixed;
  z-index: 5000;
  bottom: 0;
  right: 20px;
  padding: 0;
  background: rgba(197,54,116,0.9);
  color: #fff;
  text-align: center;
  text-decoration: none;
	width: 40px;
	height: 40px;
	background-color: rgba(47,1,3,0.9);
    -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topleft: 5px;
    -moz-border-radius-topright: 5px;
    font-size: 1.5em;
    line-height: 40px;
}
#go-top:hover{ background: rgba(47,1,3,0.5) }



/* -------------------------------------------------
    ---     LAYOUT     ---
   -------------------------------------------------  */

h1 {
	color: #FFF;
	font-size: 3em;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
	margin-top: 80px;
	text-align: center;
	z-index: 2;
	text-shadow: 2px 2px 2px #000;
	width: 90%;
}

h1.top { font-size: 2em; }
h1 span.en { display: block; font-size: 0.6em; }

h2 { font-size: 2.2em; line-height: 1.2; margin: 0.4em 0; }
h3 { font-size: 1.3em; margin: 0.5em 0; }
h3 span { font-size: 0.8em; }
h4 { font-size: 1.1em; margin: 0.2em 0; }

header {
	width: 100%;
	height: 180px;
	position: absolute;
	background: rgba(47,1,3,0.8);
	border-bottom: 1px solid #FFF;
	z-index: 100;
	top: 0;
	left: 0;
}

header .wrapper, footer .wrapper { padding: 0; }

footer {
	width: 100% ;
	color: #FFF;
	background-color: #2f0103;
	padding: 30px 0;
	line-height: 1.5;
}

#copyright { text-align: right; }

#page-title { position: relative; }
#page-title img { width: 100%; }





/* -------------------------------------------------
    ---     MENU     ---
   -------------------------------------------------  */

header nav ul { position: relative; }
header nav ul:after { clear: both; content: ""; display: block; }
header nav ul li {
	float: left;
	text-align: center;
	border-right: 1px solid #FFF;
	border-bottom: 1px solid #FFF;
	width: 25%;
	height: 60px;
	position: relative;
}

header nav ul li.logo { height: 180px; border-left: 1px solid #FFF; }
.logo img { max-width: 140px; }
header nav ul li.logo a { padding: 0; }
header nav ul li.menuL { height: 180px; }
header nav ul li.menuL div { height: 90px; position: relative; }
header nav ul li.menuL div.up { border-bottom: 1px solid #FFF; }
header nav ul li a {
	color: #FFF;
	width: 100%;
	display: block;
	padding: 10px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	font-size: 0.6em;
	line-height: 1.7;
}
header nav ul li a:hover { color:#2f0103; }
header nav ul li:hover { background: rgba(255,255,255,0.5); }
header nav ul li.menuL:hover { background: none; }
header nav ul li.menuL div:hover { background: rgba(255,255,255,0.5); }
header nav ul li a span { display: block; font-size: 2em; letter-spacing: 1px; line-height: 1; }



/* --- Bar_menu --- */


#sp_Header {
	display: none;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9900;
	background: rgba(47,1,3,0.9);
	height: 70px;
	padding: 7px;
}

#sp_Logo { float: left; width: 180px; padding: 10px; }
#sp_Logo img { width: 100%; }

img.sp_header_logo { width: 120px; }

#bar { position: absolute; top: 23px; right: 23px; }
#bar img { width: 30px; height: auto; }

#bar_menu {
	display: none;
	width: 100%;
	text-align: left;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9998;
	background: rgba(47,1,3,0.95);
	padding: 20px;
	font-size: 105%;
}


#close{
	background-color: #774343;
	color: #FFF;
	text-align: center;
	cursor: pointer;
	height: 65px;
	width: 65px;
	position:absolute;
	top:0;
	right:0;
	z-index:9999;
	font-size: 45px;
	padding: 10px;
	line-height: 45px;
}

header #bar_menu ul { flex-direction:column; -webkit-flex-direction: column; }
header #bar_menu ul li { display: block; padding: 10px 20px; border-top:1px solid #774343; }
header #bar_menu ul li:first-child { border-top:none; }
header #bar_menu ul li a { color: #FFF; display: block; }
header #bar_menu ul li a:hover { color: #FFE0ED; }
header #bar_menu ul li a span { font-size: 0.6em; display: inline-block; margin-left: 10px; }

header #bar_menu ul li a.sub {
	margin-left: 20px;
	padding: 10px 0 0;
}

header #bar_menu ul li a.sub:before {
	content: "-　";
}


/* -------------------------------------------------
    ---     TOP     ---
   -------------------------------------------------  */

#container.top .wrapper:after { clear: both; content: ""; display: block; }
#container.top .wrapper .top_intro { float: left; width: 45%; margin-right: 5%; margin-top: 50px; }
#container.top .wrapper p.en { font-size: 1.2em; }
#container.top .wrapper .img { float: left; width: 50%; }
a.more {
	font-family: 'Oswald', sans-serif;
	display: block;
	padding: 5px;
	border: 1px solid #2f0103;
	width: 180px;
	text-align: center;
	font-weight: bold;
	margin-top: 1em;
}

a.more:hover { color: #FFF; background: rgba(47,1,3,0.8); }

#container.top section.gray .wrapper .top_intro { margin-left:5%; margin-right: 0; }

/*
#container.top .wrapper  { position: relative; }
#container.top .wrapper .top_intro {
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
*/

#access { text-align: center; }
#map_canvas { width: 100%; height: 500px; }


/* -------------------------------------------------
    ---     OTHER     ---
   -------------------------------------------------  */

.item {
	display: table;
	width: 100%;
	height: 100%;
	margin-bottom: 40px;
}

.item:after { clear: both; content: ""; display: block; }

.item div {
	display: table-cell;
	text-align: left;
	vertical-align: middle;
}

.item div.txt { width: 60%; padding-right: 5%; }
.item div.txt2 { padding-left: 70px;}
.item div.img { width: 40% ; }
.item div.txt.left { padding-right: 0; padding-left: 5%;  }

.item_inner {
	display: table;
	width: 100%;
	height: 100%;
	margin: 15px 0;
}

.item_inner:after { clear: both; content: ""; display: block; }

.item_inner div {
	display: table-cell;
	text-align: left;
	vertical-align: top;
}

.item_inner div.txt { width: 60%; padding-right: 5%; }
.item_inner div.img { width: 40% ; }
.item_inner div.txt.left { padding-right: 0; padding-left: 5%;  }

/* -- PRODUCTS -- */
#products .item div { vertical-align: top; }
#products h3 { font-size: 1.5em; margin-top: 50px; }
#products h3 a { font-size: 0.7em; font-weight: normal; margin-left: 50px; }

p.link { margin-top: 10px; }

/* -- RECRUIT -- */
#recruit .intro { text-align: center; margin-bottom: 30px; }
#recruit .item { display: block; margin-bottom: 10px; }
.item .img_recruit,
.item .img_recruit_left { width: 49%; float: left; }
.item .img_recruit_left { margin-right: 2%; }
ul.item_wrapper {
	display: -webkit-box; /* before Android4.3 iOS6:Safari */
	display: -ms-flexbox; /* IE10 */
	display: -webkit-flex; /* Pc-safari */
	-js-display: flex;
	display: flex;
	-ms-flex-flow: row wrap; /* IE10 */
	-webkit-flex-flow: row wrap; /* Pc-safari */
	flex-flow: row wrap;
  margin-top: 30px;
}
ul.item_wrapper li {
	-webkit-box-flex: 0; /* before Android4.3 iOS6:Safari */
	-ms-flex: 0 0 48%; /* IE10 */
	-webkit-flex: 0 0 48%; /* Pc-safari */
	flex: 0 0 48%;
	width: 48%; /* before Android4.3 iOS6:Safari */
	max-width: 48%; /* IE11*/
	margin-right: 4%;
}
ul.item_wrapper li:nth-child(2n) { margin-right: 0; }
ul.item_wrapper li .item { padding: 5%; border-bottom: 3px solid #2f0103; }

#recruit h2 {
	font-size: 2.5em;
	text-align: center;
	margin-top: 40px;
	padding-bottom: 30px;
	border-bottom: 1px solid #2f0103;
}
#recruit h3 { font-size: 1.6em; }
div.callme {
	padding: 30px;
	border: 1px solid #2f0103;
	margin: 20px auto;
}
p.tel_num { font-size: 2em; font-weight: bold; }

/* -- PROCESS -- */
#process .item { display: block; }
#process .item div { float: left; }
#process .item div.number {
	font-family: 'Gentium Basic', serif;
	width: 8%;
	padding-right: 2%;
	font-size: 5em;
	font-weight: bold;
	font-style: italic;
	line-height: 0.8;
}
#process .item div.txt { width: 56%; padding-right: 3%; }
#process .item div.img { width: 35%; }
#process .item div.txt p {
	width: 120px;
	background: #2f0103;
	color: #FFF;
	font-size: 1em;
	font-weight: bold;
	margin-bottom: 10px;
	padding-top: 3px;
	text-align: center;
}

#process h2 {
	font-size: 2.5em;
	text-align: center;
	margin-top: 50px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #2f0103;
}

#process h2 span.en { display: block; font-size: 0.6em; }
#process table { font-size: 1.4em; }
#process table tr td:first-child { width: 400px; }
#process div.data_wrap { width: 600px; margin: 0 auto; }
#process div.data_wrap p { text-align: center; font-size: 1.8em; font-weight: bold; margin: 20px; }

/* -- COMPANY -- */
#company h3 { margin-top: 40px; }
#company .item h3 { font-size: 1.5em; font-weight: bold; margin-top: 0; }
#company .item { display: block; }
#company .item div { float: left; }
#company .item div.txt { width: 65%; padding-right: 5%; line-height: 1.8; }
#company .item div.img { width: 35% ; }
#company .item div.txt p.name { text-align: right; font-size: 1.3em; }
#company .item div.txt p.name span { font-size: 0.8em; }
#company table { border-top: 1px solid #2f0103; border-collapse:collapse; width: 100%; }
#company table tr { border-bottom: 1px solid #2f0103; }
#company table tr td { padding: 8px; }
#company table tr td:first-child {
	width: 120px;
	font-weight: bold;
	text-align: center;
	background: #E6E6E6;
	padding: 8px 2px;
}
#company table tr td.map { border-top: 1px solid #2f0103; }
#company table.facility { margin-bottom: 40px; }
#company table.facility tr td:first-child { width: 250px; }

#outline table { float: left; width: 70%; border: none; }
#outline table tr:last-child { border: none; }
#outline #map_canvas { float: left; width: 30%; height: 290px; }
#outline { border-top: 1px solid #2f0103; border-bottom: 1px solid #2f0103; }
#outline:after { clear: both; content: ""; display: block; }



/* -------------------------------------------------
    ---     LOADING     ---
   -------------------------------------------------  */
#loader {
    width: 76px;
    height: 20px;
    display: none;
    position: fixed;
    _position: absolute; /* IE6対策 */
    top: 50%;
    left: 50%;
    margin-left: -40px; /* widthの半分のマイナス値 */
    z-index: 100;
}

#fade {
    width: 100%;
    height: 100%;
    display: none;
    background-color: #FFFFFF;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 50;
}


/* ---------- LOADER ---------- */

.loader {
	display: inline-block;
	font-size: 2em;
	margin: 0 .5em;
	position: relative;
	height: .5em;
	width: 1em;
}

.loader:before,
.loader:after {
	content: "";
	display: block;
	height: .5em;
	position: absolute;
	width: .5em;
}

.loader:before {
	-webkit-animation: load-before 2s ease-in-out infinite, zoom-before .66s ease-in-out infinite;
	-moz-animation: load-before 2s ease-in-out infinite, zoom-before .66s ease-in-out infinite;
	-ms-animation: load-before 2s ease-in-out infinite, zoom-before .66s ease-in-out infinite;
	-o-animation: load-before 2s ease-in-out infinite, zoom-before .66s ease-in-out infinite;
	animation: load-before 2s ease-in-out infinite, zoom-before .66s ease-in-out infinite;
	background: #cb4e87;
}

.loader:after {
	-webkit-animation: load-after 2s ease-in-out infinite, zoom-after .66s ease-in-out infinite;
	-moz-animation: load-after 2s ease-in-out infinite, zoom-after .66s ease-in-out infinite;
	-ms-animation: load-after 2s ease-in-out infinite, zoom-after .66s ease-in-out infinite;
	-o-animation: load-after 2s ease-in-out infinite, zoom-after .66s ease-in-out infinite;
	animation: load-after 2s ease-in-out infinite, zoom-after .66s ease-in-out infinite;
	background: #eadf37;
}


.circle:before,
.circle:after {
	border-radius: 50%;
}

/* ------------------------------------------------------------------

 ****   SP対応   ****************************************************

   ------------------------------------------------------------------ */

/* Larger than Desktop HD */
@media (min-width: 1600px) {

}


@media (max-width: 1200px) {


}

@media (max-width: 960px) {
	header nav { display: none; }
	#sp_Header { display: block; }
	header #bar_menu ul li img { width: 50%; }
	header #bar_menu ul li:first-child { text-align: center; }

}

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


}


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

	header { height: 70px; border: none; background: none; }
	h1 { width: 90%; margin-top: 20px; font-size: 1em!important; }
	h1.top { font-size: 0.8em!important; }
	#go-top{ right: 10px; }
	#page-title img.wow { margin-top: 70px; }
	#container.top .wrapper .top_intro,
	#container.top .wrapper .img { float: none; width: 100%; }
	.wrapper { padding: 20px 10px; }
	#container.top .wrapper .top_intro { margin-top: 20px; }
	#container.top section.gray .wrapper .top_intro { margin-left: 0; }
	a.more { margin-bottom: 30px; }
	#products h3 { margin-top: 20px; }
	#products h3 a { display: block; margin-left: 0; }
	#products .wrapper .wow { border-bottom: 1px solid #E5DFDF; margin-bottom: 40px; }
	.item_inner div.txt, .item_inner div.img { width: 100%; }
	.item_inner div { display: block; }
	h2, #recruit h2 { font-size: 1.8em; }
	#recruit h2 { padding-bottom: 10px; }
	h3, #recruit h3 { font-size: 1.4em; }
	footer { text-align: center; }
	#copyright { text-align: center; margin-top: 10px; }
	.pc-only { display: none!important; }
	.sp-only { display: block!important; }
	.item div { display: block; }
	.item div.txt { margin-bottom: 10px; }
	.item div.txt, .item div.img { width: 100%; padding: 0; }
	.item div.txt.left { padding: 0; }
	#work .item { margin-bottom: 0; }
	#process .item div.number { width: 16%; }
	#process .item div.txt { width: 84%; padding-right: 0; }
	#process .item div.img { width: 100%; float: none; }
	#process h2 { font-size: 1.5em; }
	#process div.data_wrap { width: 100%; font-size: 0.8em; }
	#process table tr td:first-child { width: 70%; }
	#process div.data_wrap p { font-size: 1.3em; }
	#company .item div { float: none; }
	#company .item div.txt, #company .item div.img { width: 100%; padding: 0; }
	#company table tr td { display: block; }
	#company table tr td:first-child { width: 100%; }
	#company table.facility tr td:first-child { width: 100%; }
	#outline table, #outline #map_canvas { float: none; width: 100%; }
	.item .img_recruit, .item .img_recruit_left { width: 100%; }
	#recruit .intro { text-align: left; }
	ul.item_wrapper li {
		-webkit-box-flex: 0; /* before Android4.3 iOS6:Safari */
		-ms-flex: 0 0 100%; /* IE10 */
		-webkit-flex: 0 0 100%; /* Pc-safari */
		flex: 0 0 100%;
		width: 100%; /* before Android4.3 iOS6:Safari */
		max-width: 100%; /* IE11*/
		margin-right: 0;
	}



}


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


}


@media screen and (max-width:320px) {
	#process div.data_wrap { font-size: 0.7em; }
	h2, #recruit h2 { font-size: 1.5em; }
	h3, #recruit h3 { font-size: 1.3em; }
	div.callme { padding: 20px; }
}
