@charset "utf-8";
/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
@font-face {
    font-family: "Adobe Blank";
    src: url("../font/AdobeBlank.otf");
}

@font-face {
    font-family: "秀英角ゴシック金 L";
	font-family: "I-OTFゴシックオールドPro M";
}

html,
button,
input,
select,
textarea {
    color: #222;
}

html {
		height: 100%;
		font-size: 12px;
		line-height: 1.4;
		font-family:"I-OTFゴシックオールドPro M", "Adobe Blank";
}

body {
	height: 100%;
}
body.index,
body.w_size{
	overflow:hidden;
}


/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */

audio,
canvas,
img,
video {
    vertical-align: top;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browse Happy prompt
   ========================================================================== */

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

















/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */
   
header {
	position: relative;
	width: 1150px;
	margin: 0 auto;
	padding: 0 75px;
}

header h1 {
	padding: 39px 0 28px 0;
	line-height: 0;
}

header h1 img {
	width: 198px;
	height: 23px;
}

header #logoOver img {
	width: 100%;
	height: auto;
}

#globalNavi div {
	display: none;
}

#globalNavi ul {
	letter-spacing: -.40em;
	margin-bottom: 110px;
	height: 15px;
}

#recruit #globalNavi ul {
	margin-bottom: 105px;
}

#globalNavi ul li {
	display: inline-block;
	/display: inline;
	/zoom: 1;
	letter-spacing: normal;
	margin: 0 10px 0 0;
	vertical-align: top;
}

#globalNavi div img{
    cursor:pointer;
}

#globalNavi ul li a {
	display: block;
	height: 15px;
}

#globalNavi ul li.naviHome {
	display: none;
}

#globalNavi ul li.naviWork img {
	width: 50px;
	height: 11px;
}

#globalNavi ul li.naviAbout img {
	width: 55px;
	height: 11px;
}

#globalNavi ul li.naviRecruit img {
	width: 68px;
	height: 11px;
}

#globalNavi ul li.naviContact img {
	width: 76px;
	height: 11px;
}

#globalNavi ul li a {
	height: 11px;
	display: block;
	opacity: 0.62;
	filter: alpha(opacity=62);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=62)";
	zoom: 1;
}

#globalNavi ul li a:hover,
#work #globalNavi ul li.naviWork a,
#company #globalNavi ul li.naviAbout a,
#map #globalNavi ul li.naviAbout a,
#recruit #globalNavi ul li.naviRecruit a,
#contact #globalNavi ul li.naviContact a {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	zoom: 1;
	background: #FFF;
}

#globalNavi ul li.naviHome {
	display: none;
}

#globalNavi ul li.naviHome {
	display: none;
}

#globalNavi ul li.naviContact {
	margin: 0;
}

footer {
	width: 1150px;
	margin: 90px auto 0 auto;
	padding: 0 75px;
	height: 50px;
	font-size: 12px;
	font-family: "中ゴシックBBB", "Adobe Blank";
}

footer p {
	float: left;
	width: 228px;
	height: 10px;
}

footer p img {
	width: 100%;
	height: auto;
}

footer ul {
	float: right;
}

footer ul li {
	float: left;
}

footer ul li a {
	display: block;
	color: #221814;
	text-decoration: none;
}

footer ul li a:hover {
	opacity: 0.65;
	filter: alpha(opacity=65);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=65)";
	zoom: 1;
	background: #FFF;
}

footer ul li.map {
	margin: 0 22px;
}

/* TOP page Setting */   
#top {
	height: 100%;
	width: 100%;
	color: #4B4848;
	position: absolute;
	top: 0 ;
	left: 0;
	height: auto;
} 

.logo_over{
	width:595px; 
	margin:0 auto;
	text-align: center;
	overflow: hidden;
	margin-top:-70px;
}

#overlay {
	position: absolute;
  z-index: 10000;
  top:0;
	width: 100%;
	height:100%;
}

#overlay div{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

#top header {
	width: 1024px;
	margin: 0 auto;
	padding: 0;
}

#top h1 {
	text-align: center;
	padding: 210px 0 105px 0;
}

#top h1 img {
	width: 1024px;
	height: 119px;
}

#top h1 .sp {
	display: none;
}

#top nav.pc ul {
	letter-spacing: -.40em;
	width: 1024px;
	margin: 0 auto;
}

#top nav.sp ul {
	display: none;
}

#top nav ul {
	position: relative;
}
#top nav ul li {
	position: absolute;
	float: left;
	display: block;
	width: 187px;
	height: 250px;
	padding: 0 0 50px 0;
	letter-spacing: normal;
	vertical-align: top;
}

#top nav ul li.naviEnd {
	top: 0;
	left: 50%;
	width: 150px;
	margin: 0 0 0 -75px;
}
#top nav ul li.naviPress {
	top: 0;
	right: 0;
	width: 142px;
}

#top nav ul li a {
	display: block;
	margin: 0 0 18px 0;
}

#top nav ul li a img,
#top nav ul li span img{
	display: block;
	margin-bottom: 20px;
}

#top nav ul li span {
	color: #34302E;
}

#top nav ul li .ttl {
	margin: 0 0 20px 0;
}

#top nav ul li span a {
	display: block;
	margin: 39px 0 0 0;
}

#top nav ul li.naviParade span a {
	width: 69px;
}

#top nav ul li.naviEnd span a {
	width: 210px;
}

#top nav ul li.naviPress span a {
	width: 160px;
}

#top nav ul li span a img {
	width: 100%;
}

/* WORK page Setting */
#work {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

#work .workList {
	width: 1150px;
	margin: 0 auto;
	/*padding: 0 75px;*/
}

#work .workList ul {
	letter-spacing: -.40em;
	margin: 0 0 0 -35px;
}

#work .workList ul li {
	display: inline-block;
	width: 200px;
	margin: 0 0 25px 35px;
	letter-spacing: normal;
	vertical-align: top;
}

#work .workList ul li a {
	display: block\9;
	text-decoration: none;
	color: #222;
	vertical-align: top;
	/display: inline;
}

#work .workList ul li a:hover {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
	zoom: 1;
	background: #FFF;
}

#work .workList ul li h3 {
	margin: 10px 0 0;
	font-family: "I-OTFゴシックオールドPro M", "Adobe Blank";
	font-size: 12px;
	line-height:1.63;
}

#work .workList ul li p {
	font-family: "I-OTFゴシックオールドPro M", "Adobe Blank";
	font-size: 10px;
}

#work .workDetail {
	position: relative;
	width: 670px;
	margin: 0 auto;
	padding-top: 40px;
}

#work .workDetail .all {
	float: right;
	width: 25px;
	height: 25px;
}

#work .workDetail div a {
	margin: 0 18px 0 0;
	display: inline-block;
	letter-spacing: normal;
}

#work .workDetail div a:hover {
	opacity: 0.4;
	filter: alpha(opacity=40);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
	zoom: 1;
	background: #FFF;
}

#work .workDetail  h1 {
	margin-bottom: 30px;
	padding-right: 50px;
	font-size:  20px;
	word-wrap: break-word;
	font-family: "I-OTFゴシックオールドPro M", "Adobe Blank";
}

#work .workDetail p {
	clear: right;
}

#work .workDetail p img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 55px;
}

#work .workDetail p img:last-child {
	margin-bottom: 40px;
}

#work .workDetail p.sp {
	display: none;
}

#work .workDetail h2 {
	margin: 0;
	font-family: "中ゴシックBBB", "Adobe Blank";
	font-size: 12px;
	font-weight: normal;
	line-height: 1.5em;
}

#work .workDetail ul {
	margin-bottom: 25px;
	font-family: "中ゴシックBBB", "Adobe Blank";
	font-size: 12px;
}

#work .workDetail ul li {
	font-size: 12px;
	line-height: 1.5em;
}

/* COMPANY common Setting */
#company {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

#content {
	width: 1150px;
	margin: 0 auto;
	padding: 0 75px;
	position: relative;
	min-height: 100%;
}

#content aside {
	float: left;
	/*position: absolute;*/
}

#content aside li {
	margin: 0 0 12px 0;
	line-height: 0;
}

#content aside .naviAbout img {
	width: 74px;
	height: 11px;
}

#content aside .naviOutline img {
	width: 60px;
	height: 11px;
}

#content aside .naviMap img {
	width: 30px;
	height: 11px;
}

#content section {
	float: right;
	width: 840px;
	padding-right: 100px;
}

#content table th,
#content table td {
	border-bottom: 1px solid #DDD;
	text-align: left;
	font-weight: normal;
	line-height:1.83;
	vertical-align: top;
	padding: 15px 0;
	letter-spacing:0.04em;
}

#content table tr:first-child th,
#content table tr:first-child td {
	padding-top: 0;
}

#content table th {
	width: 180px;
}

#content #navi ul li a {
	display: block\9;
	opacity: 0.62;
	filter: alpha(opacity=62);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=62)";
	zoom: 1;
	background: #fff;
	vertical-align: top;
	line-height: 1;
	font-size: 0;
}

#content #navi ul li.on a,
#content #navi ul li a:hover {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	zoom: 1;
	background: #fff;
}

/* ABOUT page Setting */
#content.about aside {
	float: left;
	position: absolute;
}

#content.about section {
	width: 540px;
	margin: 0;
	padding: 0 270px 0 0;
}

#content.about section.sp {
	display: none;
}

#content.about section h1 {
	margin: 0 0 15px 0;
	font-size:30px;
}

#content.about section h1.sp {
	display: none;
}

#content.about section p {
	margin-bottom: 65px;
	font-size:18px;
	line-height: 1.7em;
}

#content.about section h3 {
	margin-bottom: 30px;
	line-height: 1;
}

#content.about section h3.ttl_osaka img {
	width: 215px;
	height: 15px;
}

#content.about section h3.ttl_ebisu img {
	width: 246px;
	height: 15px;
}

#content.about section h3.ttl_jingumae img {
	width: 167px;
	height: 15px;
}

#aboutMenu div {
	margin: 0 0 85px 0;
}

#aboutMenu div img.sp {
	display: none;
}

#aboutMenu .office1 {
	width: 538px;
	height: auto;
}

#aboutMenu .office2 {
	width: 407px;
	height: auto;
}

#aboutMenu .office3 {
	width: 394px;
	height: auto;
}

#aboutMenu span {
	display: block;
	padding: 28px 0 0 0;
}

#aboutMenu span a {
	padding: 0 18px 0 0;
}

#aboutMenu span a:hover {
	opacity: 0.4;
	filter: alpha(opacity=40);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
	zoom: 1;
	background: #FFF;
}

#aboutDetail {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	height: 100%;
	min-height: 100%;
	height: auto !important;
	height: 100%;
	padding: 0;
	background: #000;
	overflow: scroll;
}

#aboutDetail .detailHead {
	width: 590px;
	padding: 115px 0 0 65px;
	margin-right: 240px;
}

#aboutDetail p {
	margin-left: 65px;
}

#aboutDetail div.box {
	height: 100%;
	z-index: 100;
}

body > #aboutDetail {
	height: auto;
}

#aboutDetail div.close {
	float: right;
}

#aboutDetail div.close img {
	cursor: pointer;
	width: 61px;
	height: 61px;
}

#aboutDetail h2 {
	text-align: left;
	float: left;
	margin: 46px 0 25px 0;
	font-size: 0;
}

#aboutDetail p {
	content: "";
	background: inherit;
	display: block;
}

#aboutDetail p img {
	display: block;
	padding: 0 0 70px 0;
}

.ps-scrollbar-x-rail {
	display: none;
}

/* OUTLINE page Setting */
#company #content #outline  {
	margin-bottom: 220px;
}

/* MAP page Setting */
#map {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

#map #content aside {
	float: left;
}

#map #content section {
	float: right;
	width: 840px;
	margin-right: 100px;
	padding-right: 0;
}

#mapWrap h2 {
	margin: 0 0 20px;
	line-height: 1em;
}

#map1,#map2,#map3 {
	height: 100%;
	width: 100%;
}

#map1,#map2 {
	margin-bottom: 70px;
}

#map3 {
	margin-bottom: 85px;
}

#map .mapInfoBox{
	background: white;
	background-color: rgba(250, 250, 250, 0.9);
	padding: 20px 30px 20px 20px;
	font-style: normal;
	margin-top:10px;
	margin-left:10px;
}

#map .mapInfoBox strong{
	font-size: 12px;
	white-space: nowrap;
}

/* RECRUIT page Setting */
#recruit section {
	width: 670px;
	margin: 0 auto ;
}

#recruit section h1 {
	margin-bottom: 60px;
	font-size: 0;
}

#recruit section h1 img {
	width: 87px;
	height: 16px;
}

#recruit section h2.sp {
	display: none;
}

#recruit section h2 {
	margin: 0 0 35px;
	padding: 10px 25px;
	background: #9F9FA0;
	color: #fff;
	font-size:24px;
}

#recruit section p {
	margin-bottom: 35px;
	line-height: 1.91;
}

#recruit section dl  {
	padding-bottom: 160px;
	letter-spacing: -.40em;
	line-height: 1.83;
}

#recruit section dl dt,
#recruit section dl dd {
	display: inline-block;
	border-top: 1px solid #A8A6A6;
	text-align: left;
	font-weight: normal;
	letter-spacing: 0.04em;
	vertical-align: top;
	padding: 15px 0;
}

#recruit section dl .kind {
	border-top: 0;
}

#recruit section dl dt {
	width: 135px;
}

#recruit section dl dd {
	width: 535px;
	margin: 0;
}

#recruit section dl dt:first-child th,
#recruit section dl dd:first-child td {
	border-top: 0;
}


/* CONTACT page Setting */
#contact {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

#contact section {
	width: 670px;
	margin: 0 auto;
}

#contact section h1 {
	margin: 0 0 45px 0;
	line-height: 1;
	height: 15px;
}

#contact section h1 img {
	width: 94px;
	height: 15px;
}

#contact p {
	margin: 0 0 65px 0;
}

#contact footer p {
	margin: 0;
}

#contact p.sp {
	display: none;
}

#contact table {
	width: 100%;
}

#contact th {
	display: block !important;
	border-bottom: 1px solid #000;
	text-align: left;
	padding: 0 0 8px 0;
	/border-right: 30px solid #FFF; 
}

#contact th img {
	/border-top: 60px solid #FFF;
}

#contact th,
#contact td {
	display: block;
	float: left;
	vertical-align: bottom;
	letter-spacing: normal;
	line-height: 1;
	position: relative;
}

#contact td {
	width: 100%;
}

#contact .top .particular td {
	width: 320px;
	border-bottom: 1px solid #181512;
	padding: 0 0 7px 0;
}

#contact  td.nm {
	margin-right: 25px;
 }
 
 #contact .nm img,
 #contact .em img {
	 height: 11px;
	 padding-right: 10px;
	 vertical-align: middle;
 }

#contact .nm img {
	width: 46px;
}

#contact .em img {
	width: 54px;
}

#contact .nm input {
	width: 264px;
}

#contact .em input {
	width: 256px;
}

#contact .nb {
	border: none !important;
	/border:1px solid #FFF;
}

#contact .qs {
	margin: 35px 0 40px 0;
	position: relative;
	/border-top: 80px solid #FFF;
	/border-bottom: 70px solid #FFF;
	/padding: 1px 0 1px 0;
}

#contact .qs textarea {
	height: 39.55%;
	border: 1px solid #181512;
	position: relative;
	border-radius: 0;
}

#contact .sb {
	text-align: center;
	margin: 0 0 170px 0;
	/border-bottom: 92px solid #FFF;
}

#contact .sb input,
#contact .sb a img {
	width: 156px;
	height: 45px;
	border-radius: 0;
	margin:0 12px;
}

#contact .sb input:hover,
#contact .sb a:hover img {
	opacity: 0.4;
	filter: alpha(opacity=40);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
	zoom: 1;
	background: #FFF;
}

#contact input,
#contact textarea {
	width: 100%;
}

#contact .pp {
	display: none;
}

/* CONTACT-confirm PageSetting */
#contact #cfm {
	font-size: 1rem;
}

#contact #cfm th,
#contact #cfm td,
#contact #cfm .particular td {
	display: table-cell;
	padding: 15px 0;
	border-top: 1px solid #181512;
	border-bottom: 0;
	vertical-align: top;
}

#contact #cfm th {
	width: 195px;
	text-align: left;
	font-weight: normal;
}

#contact #cfm td {
	width: 475px;
}

#contact #cfm .qs {
	margin: 0;
}

#contact #cfm .sb {
	width: 100%;
	padding: 55px 0 0 0;
}

#confirm th {
	width: 166px;
	color: #787878;
	font-weight: bold;
}

#confirm th.ct {
	margin-bottom: 20px;
}

#confirm .particular td {
	width: auto;
}

#contact #confirm .qs {
    margin: 0 0 70px;
    position: relative;
	line-height: 1.8em;
}

#confirm .sb input,
#confirm .sb a img{
	margin: 0 12px;
}

/* CONTACT-thanks PageSetting */
#contact.thanks section p {
	padding: 0 0 54.76981% 0;
	text-align: center;
}
#contact.thanks section .message {
	margin-bottom: 65px;
	padding: 0;
	color: #9A9B9B;
	font-size: 40px;
}

/* PRIVACY page Setting */
#privacy {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

#privacy section {
	width: 670px;
	margin: 0 auto;
	font-size: 12px;
	line-height: 1.8;
}

#privacy section h1 {
	margin-bottom: 35px;
	font-size:18px;
	font-weight: normal;
	line-height: 1;
}

#privacy section h3 {
	margin: 30px 0 0 0;
	font-size: 1em;
	font-weight: normal;
}

#privacy section dl,
#privacy section dd {
	margin: 0;
}

@media only screen and (max-width: 1299px) {
	/* Common Setting*/
	header {
		width: 88.3%;
		padding: 0 5.85%;
	}
	
	#content {
		padding: 0 5.85%;
	}
	
	footer {
		width: 88.3%;
		padding: 0 5.85%;
		font-family: "中ゴシックBBB", Gothic Medium BBB, "Adobe Blank";
	}	
	
	/* TOP page Setting */
	#top {
		background-size: 100% auto;
	}
	
	#top header {
		width: 79.1%;
	}
	
	#top h1 {
		text-align: center;
		padding: 24.31% 0 8.1% 0;
	}
	
	#top h1 img {
		width: 100%;
		height: auto;
	}
	
	#top nav.pc ul {
		position: relative;
		width: 79.1%;
		margin: 0 auto;
	}
	
	#top nav ul li {
		position: absolute;
	}
	
	#top nav ul li.naviParade {
			top: 0;
			left: 0;
	}
	
	#top nav ul li.naviEnd {
			top: 0;
			left: 50%;
		margin: 0 0 0 -75px;
	}
	
	#top nav ul li.naviPress {
			top: 0;
			right: 0;
	}

	/* WORK page Setting */
	#work .workList {
		width: 905px;
	}
	
	/* COMPANY common Setting */
	#content {
		width: 88.3%;
		margin: 0 auto;
	}
	
	#content section {
		width: 84.82142%;
		float: right;
	}
	
	/* ABOUT page Setting */
	#content.about aside {
		float: left;
		position: absolute;
		width: 80px;
	}
	
	#content.about section {
		margin: 0;
		padding: 0;
		width: 70.43%;
	}
	
	#content.about section .innerWrap {
		width: 540px;
		width: 80%;
		max-width: 540px;
	}
	
	#aboutMenu div {
		margin: 0 0 110px;
	}
	
	#aboutDetail .detailHead {
		margin-right: 100px;
	}
	
	/* MAP page Setting */
	#map #content {
		width: 88.3%;
		height: 100%;
		margin: 0 auto;
	}
	
	#map #content aside {
		float: left;
	}
	
	#map #content section {
		width: 82.55813%;
		height: auto;
		float: right;
		margin: 0;
	}
	
	#map1,#map2,#map3 {
		height: auto;
		width: 100%;
	}
	
	/* OUTLINE page Setting */
	#company #content #outline  {
		width: 76.99%;
		padding: 0;
		margin-bottom: 110px;
	}
	
	#company #content #outline table {
		width: 80.74%;
		padding: 0;
	}
	
}

@media only screen and (max-width: 1023px) {
	
	/*header {
		width: 87.24%;
		padding: 0 6.38%;
	}*/
	
	/* WORK page Setting */
	#work .workList {
		width: 670px;
	}
	
	/*#work .workDetail {
		width: 83.9844%;
		width: 87.24%;
	}
	
	#work .workDetail p img {
		width: 100%;
		height: auto;
	}
	
	#work .workDetail p .work1_2 {
		margin: 17.34375% 0 10% 0;
	}
	
	#work .workDetail p .work1_3 {
		margin: 0 0 3.75% 0;
	}*/
	
	/* COMPANY common Setting 
	#company #content {
		width: 87.24%;
	}
	
	#content section {
		width: 79.84496%;
		float: right;
	}*/
	
	/* OUTLINE page Setting 
	#company #content #outline  {
		width: 79.85%;
		padding: 0;
	}
	
	#company #content #outline table {
		width: 88.78%;
		padding: 0;
	}*/
	
	/* ABOUT page Setting 
	#content.about aside {
		float: left;
		position: absolute;
		width: 80px;
	}
	
	#content.about #aboutMenu {
		margin: 0;
		padding: 0 8% 0 0;
		width: 72.59%;
	}
	
	#content.about #aboutMenu .innerWrap {
		width: auto;
	}
	
	#aboutMenu div {
		margin: 0 0 110px;
	}*/
	#aboutMenu .office1,
	#aboutMenu .office2,
	#aboutMenu .office3 {
		max-width: 100%;
	}
	
	
	/* MAP page Setting 
	#map #content {
		width: 87.24%;
		margin: 0;
		padding: 0 6.38%;
	}
	
	#map #content aside {
		float: left;
		width: 20.15503%;
	}
	
	#map #content section {
		width: 74.03%;
		float: right;
		margin: 0;
	}
	
	#map1,#map2,#map3 {
		top: 0;
		left: 0;
		height: auto;
		width: 100%;
	}*/
	
	/* CONTACT page Setting 
	#contact section {
		width: 71.28906%;
		margin: 0 auto;
	}
	
	#contact table {
		width: 100%;
		letter-spacing: -.40em;
	}
	
	#contact th,
	#contact td {
		display: inline-block;
		vertical-align: top;
		letter-spacing: normal;
		line-height: 1;
	}

	#contact .particular td.nm,
	#contact .particular td.em {
		border-bottom: 1px solid #000;
		padding: 0 0 9px 0;
		width: 47.76%;
		vertical-align: bottom;
	}
	
	#contact .particular td.nm {
		margin-right: 4.48%;
	}
	
	#contact .particular td.nm input {
		width: 78%;
		display: table-cell;
		vertical-align: middle;
	}
	
	#contact .particular td.em input {
		width: 75%;
		display: table-cell;
		vertical-align: middle;
	}
	
	#contact .nb {
		border: none !important;
	}
	
	#contact .qs textarea {
		height: 34.24657%;
		border: 1px solid #000;
	}
	
	#contact .sb {
		text-align: center;
		/border-bottom: none;
	}
	
	#contact .sb input,
  #contact .sb a img{
		width: 156px;
		height: 45px;
	}
	
	#contact input,
	#contact textarea {
		width: 100%;
	}*/
	
	/* CONTACT-confirm PageSetting 
	#contact #cfm {
		width: 85.24%;
	}
	
	#contact #cfm th {
		width: 29.85%;
	}
	
	#contact #cfm td {
		width: 70.15%;
	}
	
	#cfm th.ct {
		margin-bottom: 20px;
	}
	
	#cfm .particular td {
		width: auto;
	}
	
	#cfm .sb input,
	#cfm .sb a img{
		margin: 0 12px;
	}*/
	
	/* PRIVACY common Setting 
	#privacy section {
		width: 83.8541%;
	}*/
	
	/* RECRUIT page Setting 
	#recruit section {
		width: 87.23%;
		margin: 0 auto ;
		padding-bottom: 40px;
	}
	
	#recruit section dl {
		margin: 0;
		padding: 0;
	}
	
	#recruit section dl dt {
		width: 20.14%;
	}
	
	#recruit section dl dd {
		width: 79.86%;
	}*/
	
}

@media only screen and (max-width: 896px) {
	
}

@media only screen and (max-width: 767px) {
    /* Style adjustments for viewports that meet the condition */
	
	body.index {
		overflow:inherit;
	}

	header {
		width: 81.25%;
		margin:0 auto;
		padding: 8.75% 0 0;
	}
	
	header:before,
	header:after {
			content: " "; /* 1 */
			display: table; /* 2 */
	}
	
	header:after {
			clear: both;
	}

	header h1 {
		float: left;
		width: 63.84615%;
		padding: 0;
	}
	
	header h1 img {
		width: 100%;
		height: auto;
	}
	
	header #logoOver {
		display: none !important;
	}
	
	#globalNavi {
		width: 100%;
	}
	
	#globalNavi div {
		display: block;
		float: right;
		width: 7.6923%;
		height: auto;
	}
	
	#globalNavi div .close {
		display: none;
	}
	
	#globalNavi div img {
		width: 100%;
		padding: 4.0625% 5%;
	}
	
	#globalNavi ul {
		display: none;
		position: absolute;
		top: 140%;
		background-color:#fff;
		width: 81.26%;
		z-index: 100;
		padding: 0 9.37%;
	}
	
	#globalNavi ul.on {
		display: block;
		width: 100%;
		height:auto;
		padding: 0;
	}
	
	#globalNavi ul li {
		background-color:transparent!important;
		border-top: solid 1px #7B7B7B;
		width: 100%;
		margin: 0;
	}
	
	#globalNavi ul li:last-child {
		border-bottom: solid 1px #7B7B7B;
	}
	
	#globalNavi ul li a {
		height: auto;
		padding: 7.30769% 0;
		opacity: 1;
		line-height: 1;
		font-size: 0.01em;
	}
	
	#globalNavi ul li.naviWork img {
		width: 19.2307%;
		height:auto;
	}
	
	#globalNavi ul li.naviAbout img {
		width: 21.15384%;
		height:auto;
	}
	
	#globalNavi ul li.naviRecruit img {
		width: 26.15384%;
		height:auto;
	}
	
	#globalNavi ul li.naviContact img {
		width: 29.23076%;
		height:auto;
	}
	
	#globalNavi ul li#home {
		display: block;
	}
	
	footer {
		position: relative;
		width: 81.25%;
		height: 85px;
		padding: 0;
		margin: 0 auto;
	}
	
	footer p {
		position: absolute;
		bottom: 0;
		border-top:solid 1px #221814;
		float: none;
		margin: 0;
		padding: 15px 0;
		text-indent: 0;
		text-align: center;
		width: 100%;
		height: auto;
		font-size: 12px;
	}
	
	footer ul {
		position: absolute;
		float: none;
		top: 0;
		left: 50%;
		width: 200px;
		margin: 0 0 0 -100px;
	}
	
	footer p img {
		width: 100%;
		height: auto;
	}
	
	#overlay {
		height: 0;
		padding-top: 0;
		overflow: hidden;
	}
	
	/* TOP page Setting */
	#top {
		min-height: 0;
		height: auto;
	}
	
	#top h1 {
		/*padding: 71.25% 0 90% 0;*/
		padding: 80% 0 100% 0;
	}
	
	#top header {
		width: 81.87%;
	}
	
	#top h1 {
		width: 100%;
		height: auto;
	}
	
	#top nav.pc {
		display: none;
	}
	
	#top nav.sp {
		display: block;
	}
	
	#top nav.sp ul {
		width: 60.625%;
		display: block;
		margin: 0 0 0 21.5625%;
	}
	
	#top nav.sp  ul li {
		display: block;
		position: static;
		width: 100%;
		height: auto;
		margin-bottom:31.5789%;
		padding-bottom: 0;
		font-size: 1rem;
		text-indent: normal;
	}
	
	#top nav.sp  ul li img {
		margin-bottom: 6.25%;
	}
	
	#top nav.sp  ul li.naviParade {
		width: 96.39175%;
	}
	#top nav.sp  ul li.naviParade img {
		width: 100%;
		height: auto;
	}
	
	#top nav.sp  ul li.naviEnd {
		width: 97.93814%;
		margin: 0 0 20.61855%;
	}
	
	#top nav.sp  ul li.naviEnd img {
		width: 100%;
		height: auto;
	}
	
	#top nav.sp  ul li.naviPress {
		width:100%;
	}
	#top nav.sp  ul li.naviPress img {
		width:100%;
		height: auto;
	}
	
	#top nav.sp  ul li .ttl {
		margin: 0 0 10.30927% 0;
	}
	
	#top nav.sp  ul li span {
		display: block;
	}
	
	#top nav.sp  ul li span a {
		display: block;
		margin: 11.29707% 0 0 0;
	}
	
	#top nav.sp  ul li.naviParade span a {
		width: 25.31380%;
	}
	
	#top nav.sp  ul li.naviEnd span a {
		width: 77.19665%;
	}
	
	#top nav.sp  ul li.naviPress span a {
		width: 58.99581%;
	}
	
	/* WORK page Setting */
	#work .workList {
		width: 100%;
		padding: 18.75% 0 0 0;
	}
	
	#work .workList ul,
	#work .workList ul li {
		float: none;
		width: 100%;
		margin: 0 auto 10.5769%;
	}
	#work .workList ul {
		width: 62.5%;
	}
	
	#work .workList ul li img {
		width: 100%;
		height:auto;
	}
	
	#work .workList ul li h3 {
		margin: 10px 0 5px 0;
	}
	
	#work .workDetail {
		width: 81.25%;
		padding: 18.75% 9.375% 0;
	}
	
	#work .workDetail  h1 {
		margin-bottom: 5.76%;
		font-size: 100%;
	}
	
	#work .workDetail div a {
		display: inline-block;
		margin: 0 0 19.23%;
	}
	
	#work .workDetail .all a img {
		width: 100%;
		height: auto;
	}
	
	#work .workDetail p img {
		margin-bottom: 7.69%;
	}
	#work .workDetail p img:last-child {
		margin-bottom: 7.69%;
	}
	
	#work .workDetail ul {
		margin-bottom: 9.6153%;
	}
	
	#work .workDetail div a.all {
		width: 9.09090%;
	}
	
	#work .workDetail div a.prev {
		width: 4.54545%;
	}
	
	#work .workDetail div a.next {
		width: 4.54545%;
	}
	
	#work .workDetail div a.all img,
	#work .workDetail div a.prev img,
	#work .workDetail div a.next img {
		width: 100%;
		height: auto;
	}
	
	#work .workDetail ul li {
		font-size: 12px;
	}
	
	#work .workDetail p.sp {
		display: block;
	}
	
	#work .workDetail p.pc {
		display: none;
	}
	
	/* COMPANY common Setting */
	#company #content {
		width: 81.26%;
		padding: 17.18% 9.37% 0;
	}
	
	#navi ul {
		margin: 0 0 9.375% 0;
	}
	
	#navi ul li {
		float: left;
		margin: 0;
	}
	
	#navi ul li.naviAbout {
		width: 28.0769%;
		height: auto;
		margin: 0 7.6923% 0 0;
	}
	
	#navi ul li.naviOutline {
		width: 23.0769%;
		height: auto;
		margin: 0 7.6923% 0 0;
	}
	
	#navi ul li.naviMap {
		width: 11.1538%;
		height: auto;
	}
	
	#content aside .naviAbout img,
	#content aside .naviOutline img,
	#content aside .naviMap img  {
		width: 100%;
		height: auto;
	}
	
	#company aside {
		width: 100%;
		float: none;
		position: static;
	}
	
	#company section {
		float: none;
		width: 100%;
	}
	
	/* OUTLINE page Setting */
	#company #content #outline  {
		width: 100%;
		padding: 0;
	}
	
	#company #content  #outline table {
		width: 100%;
		display: block;
		margin-bottom: 18.75%;
	}
	
	#company #outline table tr {
		width: 100%;
		display: block;
	}
	
	#company #outline table th,
	#company #outline table td {
		width: 100%;
		height: auto;
		display: block;
		/display: block !important;
		border: none;
		padding: 0;
		line-height:1.666;
		float: left;
		clear: left;
	}
	
	#company #outline table th {
		padding: 4.80769% 0 0 0;
		width: 100%;
		display: block;
	}
	
	#company #outline table td {
		width: 100%;
		display: block;
	}
	
	#company #outline table td {
		border-bottom: 1px solid #DDD;
		padding: 0 0 4.80769% 0;
	}
	
	#company #outline table tr:last-child td {
		border: 0;
	}
	
	#company #outline table td span {
		display: block;
	}
	
	#content.about aside {
		float: none;
		position: static;
		width: 100%;
	}
	
	#content.about section.pc {
		display: none;
	}
	
	#content.about section.sp {
		display: block;
		width: 100%;
		padding: 0;
		margin: 0;
	}
	
	#content section.sp h1 {
		margin: 0 0 3.125%;
		width: 94.375%;
	}
	
	#content section.sp h1 img {
		max-width: 100%;
		height: auto;
		width: auto;
	}
	
	#content section.sp p {
		line-height: 1.5em;
		margin: 0 0 12.5% 0;
	}
	
	#content.about #aboutMenu {
		width: 100%;
		padding: 0;
	}
	
	#content.about #aboutMenu .innerWrap {
		width: 100%;
	}
	
	#aboutMenu div {
		margin: 0 auto 25% auto;
		width: 100%;
	}
	
	#content.about section h1.pc {
		display: none;
	}
	
	#content.about section h1.sp {
		display: block !important;
		margin-bottom: 4.68%;
		font-size: 28px;
		white-space:nowrap;
		letter-spacing:0.04em;
	}
	#content.about section h1.sp span {
		letter-spacing:-0.05em;
		padding:0;
		}
	
	#content.about section p {
		font-size: 14px;
		margin-bottom: 18.75%;
		line-height:1.714;
		letter-spacing:0.05em;
	}
	
	#content.about section h3 {
		margin: 0 0 8.75% 0;
	}
	
	#aboutMenu .pc,
	#aboutMenu div img.pc {
		display: none;
	}
	
	#content.about section h1.sp,
	#aboutMenu div img.sp {
		display: inline;
	}
	
	#aboutMenu #osaka .sp,
	#aboutMenu #ebisu .sp,
	#aboutMenu #jingumae .sp {
		width: 100%;
		height: auto;
	}
	
	#aboutMenu h3.ttl_osaka {
		width: 66.15%;
		height: auto;
	}
	
	#aboutMenu h3.ttl_ebisu {
		width: 75.76%;
		height: auto;
	}
	
	#aboutMenu h3.ttl_jingumae {
		width: 51.53%;
		height: auto;
	}
	
	#content.about section h3.ttl_osaka img,
	#content.about section h3.ttl_ebisu img,
	#content.about section h3.ttl_jingumae img {
		width: 100%;
		height: auto;
	}
	
	#aboutMenu span {
		padding: 9.37% 0 0 0;
	}
	
	#aboutMenu div a {
		width: 46.15384%;
		display: inline-block;
		/display: inline;
		/zoom: 1;
		padding: 0;
		margin: 0;
	}
	
	#aboutMenu div a.map {
		margin: 0 7.5% 0 0;
	}
	
	#aboutMenu div a img {
		width: 100%;
		height: auto;
	}
	
	#aboutDetail {
		background: #000;
		margin: 0 0 20.78125% 0;
		width: 100%;
		z-index: 10000;
	}
	
	#aboutDetail div.box {
		position: relative;
		background: #000;
	}
	
	#aboutDetail .box .detailHead {
		width: 81.25%;
		padding: 12.5% 0 0 0;
		margin: 0 auto;
	}
	
	#aboutDetail .box p {
		width: 81.25%;
		margin: 0 auto 9.37%;
	}
	
	#aboutDetail div.close {
		width: 13.46%
	}
	
	#aboutDetail div.close img {
		width: 100%;
		height: auto;
	}
	
	#aboutDetail h2 {
		margin: 9.61% 0 0 0;
		width: 68.46%;
		height: auto;
		line-height: 0;
	}
	
	#aboutDetail h2 img {
		width: 100%;
		height: auto;
	}
	
	#aboutDetail p {
		padding-top: 5%;
	}
	
	#aboutDetail p img {
		display: block;
		padding: 0 0 11.86813% 0;
		margin:0;
		width: 100%;
		height: auto;
	}
	
	/* MAP page Setting */
	#map #content {
		width: 81.26%;
		height: auto;
		padding: 17.18% 9.37% 0;
		margin: 0 auto;
	}
	
	#map #content aside {
		float: none;
		width: 100%;
		position: static;
	}
	
	#map #content aside ul {
		margin-bottom: 15%;
	}
	
	#map #content aside ul li {
		float: left;
	}
	
	#map #content section {
		width: 100%;
		float: none;
		margin-right: 0;
		padding: 0;
	}
	
	#mapWrap {
		position: static;
	}
	
	#mapWrap ul {
		display: none;
	}
	
	#mapWrap h2 {
		display: block;
		margin: 0 0 5.76923% 0;
		line-height: 0;
	}
	
	#mapWrap h2#osaka {
		width: 66.5384%;
		height: auto;
	}
	
	#mapWrap h2#ebisu {
		width: 76.1538%;
		height: auto;
	}
	
	#mapWrap h2#jingumae {
		width: 51.5384%;
		height: auto;
	}
	
	#mapWrap h2 img {
		width: 100%;
		height: auto;
	}
	
	#map1,#map2,#map3 {
		position: static;
		top: 0;
		left: 0;
		height: auto;
		max-width: 100%;
		margin: 0 0 17.18% 0;
	}
	
	#map3 {
		margin: 0 0 18.75% 0;
	}
	
	#map footer p img {
		width: 71.09375% !important;
	}
	
	/* CONTACT page Setting */
	#contact section {
		width: 81.26%;
		padding: 21.15% 9.37% 0;
	}
	
	#contact section h1 {
		width: 28.84%;
		margin-bottom: 11.53%;
	}
	
	#contact section h1 img {
		width: 100%;
		height: auto;
	}
	
	#contact p {
		margin: 0 0 0.54235% 0;
	}
	
	#contact p.sp {
		display: block;
	}
	
	#contact p.pc {
		display: none;
	}
	
	#contact table {
		width: 100%;
		letter-spacing: -.40em;
		font-size: 13px;
	}
	
	#contact .particular {
		border: 0;
	}
	
	#contact .particular th {
		margin: 0;
	}
	
	#contact th,
	#contact td {
		display: block;
		vertical-align: top;
		letter-spacing: normal;
		line-height: 1;
	}
	
	#contact tr{
	}
	
	#contact .nm img {
		width: 64.16666%;
		height: auto;
	}
	
	#contact .em img {
		width: 75.83333%;
		height: auto;
	}
	
	#contact td {
		width: 100%;
	}
	
	#contact .particular {
		border-bottom: 1px solid #000;
		display: block;
		width: 100%;
	}
	
	#contact .particular th {
		margin:  0 0 9.61% 0;
		/border-bottom: solid 1px #000;
	}
	
	#contact .particular td {
		border: none;
		padding: 0 0 4.33884% 0;
		width: 75.2662%;
		margin: 9.91735% 0 0 0;
		/background: url(../img/brd.png) repeat-x left bottom;
		vertical-align: top;
	}
	
	#contact .particular {
		border: 0;
	}
	
	#contact .particular td.nm,
	#contact .particular td.em {
		width: 100%;
		margin:  0 0 9.61% 0;
		padding: 0 0 3.84% 0;
	}
	
	#contact .particular th.em {
		margin-bottom: 15.38%;
	}
	
	#contact .nm img {
		width: 14.23%;
		padding-right: 3.84%;
	}
	
	#contact .em img{
		width: 16.92%;
		padding-right: 3.84%;
	}
	
	#contact .nb {
		border: none;
	}
	
	#contact .qs {
		margin: 0 0 15.38% 0;
	}
	
	#contact .qs textarea {
		height: 34.24657%;
		border: 1px solid #000;
	}
	
	#contact .sb {
		text-align: center;
		margin: 0 0 23.07% 0;
	}
	
	#contact .sb input,
  #contact .sb a img{
		width: 47.69%;
		height: auto;
	}
	
	#contact .pp {
		text-align: center;
		display: block;
		margin: 13.63636% 0 0 0;
	}
	
	#contact .pp a {
		text-decoration: underline;
		color: #000;
	}
	
	/* CONTACT-confirm Setting */
	#contact #cfm p {
		margin-bottom: 4.68%;
	}
	
	#contact #cfm th,
	#contact #cfm td {
		width: 100%;
		border: none;
		margin: 0;
	}
	
	#contact #cfm .particular {
		border: none;
	}
	
	#contact #cfm th,
	#contact #cfm .particular th {
		margin: 0;
		padding: 6.25% 0 3.12%;
		border-top: 1px solid #181512;
		border-bottom: 0;
		color: #777778;
	}
	
	#contact #cfm .particular td {
		padding: 0 0 6.25%;
		border: 0;
	}
	
	#contact #cfm .qs {
		padding: 0 0 6.25%;
		border-bottom: 1px solid #181512;
	}
	
	#contact #cfm .sb {
		padding-top: 10.93%;
	}
	
	#contact #cfm .sb input,
  #contact #cfm .sb a img{
		height: auto;
		width: 47.5206%;
		margin: 0;
		margin-bottom: 18.75%;
	}
	
	#contact #cfm .sb input:first-child,
  #contact #cfm .sb a:first-child img{
		margin: 0 4.16666% 0 0;
	}
	
	/* CONTACT-thanks Setting */
	#contact.thanks {
		height: 100%;
	}
	
	#contact.thanks section {
		padding: 21.15% 0 0 0;
		text-align: center;
	}
	
	#contact.thanks section .message {
		margin-bottom: 15.38%;
		font-size: 33px;
	}
	
	#contact.thanks section p {
		padding: 0;
		text-align: center;
	}
	
	#contact.thanks footer {
		position: absolute;
		bottom: 0;
	}
	
	/* PRIVACY common Setting */
	#privacy section {
		width: 81.26%;
		padding: 17.18% 9.37% 28.12%;
	}
	
	#privacy section h1 {
		font-size:14px;
		margin-bottom: 9.37%;
	}
	
	#privacy section h3 {
		margin: 9.37% 0 0 0;
	}
	
	/* RECRUIT page Setting */
	#recruit section {
		width: 81.26%;
		padding: 17.18% 9.37% 15.62%;
	}
	
	#recruit section h1 {
		width: 27.6923%;
		margin-bottom: 10%;
	}
	
	#recruit section h1 img {
		width: 100%;
		height: auto;
	}
	
	#recruit section h2.pc {
		display: none;
	}
	
	#recruit section h2.sp {
		display: block;
		font-size: 1.4em;
		text-align: center;
		padding: 3.75% 0;
		margin-bottom: 6.25%;
	}
	
	#recruit section p {
		margin-bottom: 10%;
		letter-spacing:0.04em;
	}
	
	#recruit section table {
		margin-bottom: 18.75%;
	}
	
	#recruit section dl dt,
	#recruit section dl dd {
		width: 100%;
		display: block;
	}
	
	#recruit section dl dt {
		padding: 4.68% 0 0 0;
		border: 0;
		border-top: 1px solid #a8a6a6;
	}
	
	#recruit section dl dd {
		padding: 0 0 4.68%;
		border: 0;
	}
	
	#recruit section table dl:last-child dd {
		margin: 0;
		padding: 0;
		border: 0;
	}
	
}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}