@charset "utf-8";
/*
Theme Name: maruwa_child
Template: maruwa
Author: innovesta
Author URI: http://www.innovesta.net
*/

/*========================*/

main {
	overflow: hidden;
}

/*fade
***************/
/* 画面外にいる状態 */
.fadein {
    opacity : 0;
    transform : translate(0, 150px);
    transition : all 1500ms;
}
 
/* 画面内に入った状態 */
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}


/******************************
HEADER
******************************/
header { margin-bottom: 20px; }
header .header_logo {
width: 90px;
}

header .header_item { width: 890px; }
header .header_cap {
	color: #aaa;
	font-weight: normal;
	font-size: 14px;
}
header .head01 { width: 314px; }
header .head02,
header .head03 { width: 270px; }


/*
nav
******************/
nav.main_nav { background: #fff; }
nav.main_nav ul {
	width: 100%;
	display: table;
	border-collapse: separate;
}
nav.main_nav ul li {
	color: #000;
	font-size: 14px;
	width: 16.6%;
	display: table-cell;
	vertical-align: middle;
	font-weight: bold;
	text-align: center;
}

nav.main_nav ul li a { padding-top: 50px; }
nav.main_nav ul li:nth-child(1) { background: url(img/header/nav01.jpg) top center no-repeat; }
nav.main_nav ul li:nth-child(2) { background: url(img/header/nav02.jpg) top center no-repeat; }
nav.main_nav ul li:nth-child(3) { background: url(img/header/nav03.jpg) top center no-repeat; }
nav.main_nav ul li:nth-child(4) { background: url(img/header/nav04.jpg) top center no-repeat; }
nav.main_nav ul li:nth-child(5) { background: url(img/header/nav05.jpg) top center no-repeat; }
nav.main_nav ul li:nth-child(6) { background: url(img/header/nav06.jpg) top center no-repeat; }

nav.main_nav ul li a {
	padding-bottom: 20px;
	border-bottom: 3px solid #c9c9c9;
}

nav.main_nav ul li a.active { border-bottom: 3px solid #033575; }

nav.main_nav ul li a:hover { border-bottom: 3px solid #033575; }


/*========================
index
========================*/
/*
slider
*************/
#index .slide_box {
    position: relative;
    left: 50%;
    width: 300%;
    margin-left: -150%;
}
#index .slide_box li {
	border-top: 5px solid #033575;
	border-left: 5px solid #033575;
	border-bottom: 5px solid #033575;
	box-sizing: border-box;
}
@media screen and (max-width:1280px) {
#index .slide_box li { border: 5px solid #033575; }
}
#index .bx-wrapper {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}
#index .bx-pager {
    text-align: center;
    bottom: 15px !important;
    right: 30px;
    position: absolute;
    width: 78%;
    z-index: 100;
}
#index .bx-wrapper .bx-pager.bx-default-pager a {
    background: #c4c4c4;
    text-indent: -9999px;
    display: block;
    width: 17px;
    height: 17px;
    margin: 0 5px;
    outline: 0;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    border-radius: 10px;
}
#index .bx-wrapper .bx-pager.bx-default-pager a:hover,
#index .bx-wrapper .bx-pager.bx-default-pager a.active,
#index .bx-wrapper .bx-pager.bx-default-pager a:focus { background: #dd3535; }


/*
box01
*************/
#index .box01 { background: url(img/index/box01_bg.gif) top left repeat; }
#index .box01 .item {
	background: url(img/index/box01_item_bg.png) top center no-repeat;
	width: 342px;
	max-height: 503px;
	padding-top: 286px;
	padding-bottom: 51px;
	position: relative;
}
#index .box01 .item h1 {
	font-size: 23px;
	margin-bottom: 15px;
}
#index .box01 .item:nth-child(1):before {
	content: "";
	background: url(img/index/box01_item01.png) top center no-repeat;
	width: 329px;
	height: 213px;
	margin: auto;
	top: 50px;
	left: 10px;
	right: 0;
	position: absolute; 
}
#index .box01 .item:nth-child(2) { margin-top: -40px; }
#index .box01 .item:nth-child(2):before {
	content: "";
	background: url(img/index/box01_item02.png) top center no-repeat;
	width: 350px;
	height: 213px;
	margin: auto;
	top: 50px;
	left: -37px;
	right: 0;
	position: absolute; 
}
#index .box01 .item:nth-child(3):before {
	content: "";
	background: url(img/index/box01_item03.png) top center no-repeat;
	width: 339px;
	height: 213px;
	margin: auto;
	top: 50px;
	left: -30px;
	right: 0;
	position: absolute; 
}

#index .box01_cap { width: 919px; }

/*
nano_zone
*************/
#index .nano_area {box-sizing: border-box; background: url("img/index/nanoarea_bg.jpg")top center no-repeat; padding: 50px;}
#index .nano_area ul {position: relative; z-index: 10;}
#index .nano_area li:nth-child(2) {margin: 0 20px;}
#index .nano_area .img {width: 1200px; margin: -55px auto 0;}
#index .nano_area .btn {box-sizing: border-box; border: 5px solid #c16400; background: url("img/index/nano_btn_bg.png")center right 25px no-repeat; background-color: #ff9a00; font-size: 24px; position: relative; width: 900px; height: 64px; margin: 50px auto 0; line-height: 1; font-weight: bold;}
#index .nano_area .btn::before {position: absolute; content: ''; background: url("img/index/nano_man.png")no-repeat; width: 360px; height: 384px; bottom: -75px; left: -175px;}



/*
box02
*************/
#index .box02 { background: url(img/index/box02_bg.jpg) top center repeat; }

#index .box02 .item {
	width: 100%;
	padding: 50px;
	border: 10px solid #033575;
	box-sizing: border-box; 
	position: relative;
}
#index .box02 .item:before {
	content: "";
	background: url(img/index/box02_icon_l.png) left top no-repeat;
	width: 321px;
	height: 286px;
	top: 220px;
	left: -140px;
	position: absolute;
}
#index .box02 .item:after {
	content: "";
	background: url(img/index/box02_icon_r.png) left top no-repeat;
	width: 359px;
	height: 282px;
	top: 170px;
	right: -160px;
	position: absolute;
}
#index .box02 .item .cap01 {
	width: 595px;
	position: absolute;
	top: -15px;
	left: 10px;
}
#index .box02 .item .cap02 {
	width: 390px;
	left: 100%;
	transform: translate(-100%);
	position: relative;
}
#index .box02 .item .cap05 {
	width: 392px;
	margin-top: -15px;
	margin-bottom: 10px;
}
#index .box02 .item h1 { width: 765px; }
#index .box02 .btn { width: 902px; }


/*
box03
*************/
#index .box03 { background: url(img/index/box03_bg.gif) top center repeat; }

#index .box03 .item {
	width: 100%;
	position: relative;
}
#index .box03 .item:before {
	content: "";
	background: url(img/index/box03_icon_l.png) left top no-repeat;
	width: 325px;
	height: 251px;
	top: 0;
	left: -140px;
	position: absolute;
}
#index .box03 .item:after {
	content: "";
	background: url(img/index/box03_icon_r.png) left top no-repeat;
	width: 342px;
	height: 294px;
	top: 0;
	right: -117px;
	position: absolute;
}
#index .box03 .item h1 { width: 796px; }
#index .box03 .service_item {
	width: 241px;
	background: #fff;
	font-size: 12px;
	line-height: 2em;
	text-align: justify;
	text-justify: inter-ideograph; 
	padding: 30px 15px;
	margin-bottom: 24px;
	border: 3px solid #b7b5a3;
	box-sizing: border-box; 
}
#index .box03 .service_item:hover { border-color: #cfc993; }
#index .box03 .service_item h2 {
	font-size: 16px;
	text-align: center;
	font-weight: bold;
}
#index .box03 .layout01 {
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}
#index .box03 .layout01 .left{　width:29%;　}
#index .box03 .layout01 .right{ width:71%; }


/*
box04
*************/
#index .box04 {
	background: url(img/index/box04_bg.jpg) center center no-repeat;
	background-size: cover;
}

#index .box04 .item {
	width: 100%;
	background: rgba(0,0,0,0.5);
	border: 10px solid rgba(255,255,255,0.5);
	padding: 40px;
	margin-top: 75px;
	box-sizing: border-box;
	position: relative;
}
#index .box04 .item h1 {
	width: 734px;
	margin-top: -125px;
	margin-bottom: 35px;
}
#index .box04 .item .cap01 {
	width: 834px;
	margin-bottom: 30px;
}
#index .box04 .item .cap02 {
	width: 791px;
	margin-bottom: 30px;
}


/*
box05
*************/
#index .box05 { background: url(img/index/box05_bg.gif) top left repeat; }

#index .box05 .item {
	width: 100%;
	box-sizing: border-box;
	position: relative;
	line-height: 2em;
}
#index .box05 .item h1 {
	width: 734px;
	position: relative;
}

#index .box05 .item02 { width: 287px; }
#index .box05 .item02 h1 {
	width: 100%;
	color: #033575;
	font-size: 23px;
	letter-spacing: 2px;
	background: linear-gradient(transparent 95%, #033575 0%);
	display: inline;
	/*横に余白をつけたり、下にずらしたりするときは以下のpaddingを調整してください*/
	padding-bottom: 1px;
}


/*
box06
*************/
#index .box06 { background: url(img/index/box06_bg.gif) top left repeat; }

#index .box06 .item {
	width: 100%;
	box-sizing: border-box;
	position: relative;
	line-height: 2em;
}
#index .box06 .item h1 {
	width: 980px;
	position: relative;
}
#index .box06 .layout01 {
	margin-bottom: 40px;
	display: flex;
	align-items: flex-end;
}
#index .box06 .layout01 .left{
	width:615px;
	margin: 0 50px 0 40px;
}
#index .box06 .layout01 .right{ width:248px; }

#index .box06 .item .work_item {
	width: 488px;
	background: #fff; 
	border: 5px solid #dadada;
	padding: 20px;
	box-sizing: border-box;
}
#index .box06 .item .work_item .before,
#index .box06 .item .work_item .after { width: 204px; }
#index .box06 .item .work_item .before img.before_img,
#index .box06 .item .work_item .after img.after_img {
	height: 135px;
	object-fit: cover;
}
#index .box06 .item .work_item .work_arrow { width: 12px; }
#index .box06 .item .work_item .work_no {
	min-width: 73px;
	height: 73px;
	background-size: cover;
	margin-right: 20px;
}
#index .box06 .item .work_item:nth-child(1) .work_no { background: url(img/work/no01.gif) center center no-repeat; }
#index .box06 .item .work_item:nth-child(2) .work_no { background: url(img/work/no02.gif) center center no-repeat; }
#index .box06 .item .work_item:nth-child(3) .work_no { background: url(img/work/no03.gif) center center no-repeat; }
#index .box06 .item .work_item:nth-child(4) .work_no { background: url(img/work/no04.gif) center center no-repeat; }


/*
box07
*************/
#index .box07 { background: #fff; }

#index .box07 .item {
	width: 100%;
	box-sizing: border-box;
	position: relative;
	line-height: 2em;
}
#index .box07 .item h1 {
	width: 305px;
	position: relative;
}

#index .box07 .item #blog_list { border-top: 1px dotted #5b5b5b; }
#index .box07 .item .blog_item {
	font-size: 16px;
	border-bottom: 1px dotted #5b5b5b;
}
#index .box07 .item .blog_item:hover { opacity: 0.7; }


/*
box08
*************/
#index .box08 {
	background: url(img/index/box08_bg.jpg) bottom center no-repeat;
	background-size: cover;
	position: relative;
}

#index .box08 .contact {
	width: 100%;
	max-width: 1346px;
	background: #fff;
	border: 5px solid #033575;
	margin-top: -140px;
	margin-bottom: 40px;
	box-sizing: border-box;
}
#index .box08 .contact h1 { width: 642px; }
#index .box08 .contact .header_item { width: 890px; }
#index .box08 .contact .logo { width: 90px; }
#index .box08 .contact .head01 { width: 314px; }
#index .box08 .contact .head02,
#index .box08 .contact .head03 { width: 270px; }
#index .box08 .contact .header_cap {
	color: #aaa;
	font-size: 12px;
}

#index .box08 .item {
	width: 100%;
	box-sizing: border-box;
	position: relative;
	line-height: 2em;
}
#index .box08 .item h1 {
	width: 923px;
	position: relative;
}
#index .box08 .item02 {
	width: 1101px;
	background: rgba(255,255,255,0.8);
	padding: 40px;
	margin: auto;
	box-sizing: border-box;
}
#index .box08 .item02 h2 { width: 194px; }


/*========================
FOOTER
========================*/
footer {
	background: url(img/footer/footer_bg.gif) top left repeat;
}



/*========================
PAGE_TOP
========================*/
#page_top {
	width: 63px;
	position: fixed;
	bottom: 50px;
	right: 100px;
	z-index: 200;
}
@media screen and (max-width:1280px) {
#page_top {
	bottom: 50px;
	right: 30px;
}
}

/*========================
POP BANNER background:
========================*/
#pop_banner {
	background: linear-gradient(90deg,#dd7200 0%,#dd7200 50%,#fff 50%,#fff 100%);
	width: 100%;
	border-top: 7px solid #dd7200;
	border-bottom: 7px solid #dd7200;
	margin: auto;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 100;
}
#pop_banner .item_box {
	width: 1037px;
	background: linear-gradient(118deg,#dd7200 0%,#dd7200 31%,#fff 31%,#fff 100%);
	padding: 10px 0;
}
#pop_banner h1 { width: 287px; }
#pop_banner .head02 { width: 355px; }
#pop_banner .item { width: 686px; }
#pop_banner .item02 { width: 70px; }

/*========================
POP_BANNER_CONTACT
========================*/
#pop_banner_contact {
	background: #fff; 
	position: fixed;
	top: 100px;
	right: 0;
	z-index: 20;
}


/*========================
		googleMAP
========================*/
.ggmap {
position: relative;
padding-bottom: 70%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


/*========================
ページ設定
========================*/
/*
サムネ
*************/
.page_top_img { width: 100%; }
.page_thumb {
	max-width: 1493px;
	margin: auto;
	border: 5px solid #033575;
	box-sizing: border-box; 
}
.page_thumb img {
	height: 210px;
	object-fit: cover;
}

/*
タイトル
*************/
.page_title {
	background: #58a7c6;
	text-align: left;
	padding-left: 1em;
}

.child_title {
	color: #fff;
	font-size: 25px;
	font-weight: bold;
	background: #58a7c6;
	padding: 10px;
	text-align: center;
}

.single_page {
	width: 72%;
	max-width: 720px;
}




/*
contact_banner
*************/
#contact_banner {
	border: 5px solid #033575;
	box-sizing: border-box;
}
#contact_banner .item {
	background: #fff;
	padding: 18px;
	box-sizing: border-box; 
}
#contact_banner .item .logo { width: 90px; }
#contact_banner .item .item02 { width: 272px; }
#contact_banner .item .item03 { width: 270px; }
#contact_banner .item .layout01 {
	display: flex;
	align-items: flex-end;
}
#contact_banner .item .layout01 .left{
	width: 58%;
	margin-right: 2%;
}
#contact_banner .item .layout01 .right{ width: 40%; }

/*
記事詳細ページ
***************/

.previous-entries,.next-entries {
	color: #000;
    width: 80px;
    background: #ddd;
    padding: 6px 0;
    border: 2px solid #bbb; 
    box-sizing: border-box;
}

.gallery_entry {
	display: inline-block;
	vertical-align: middle;
	width: 12px;
	height: 20px;
	margin: 0 10% 3px;
}

.nav_archive_btn {
	color: #fff;
	width: 150px;
	background: #58a7c6;
	padding: 6px 0;
	border-bottom: 3px solid #033575; 
	box-sizing: border-box;
}


/*ページネーション
*******************/
.paging {
	clear: both;
	padding: 20px 0;
	position: relative;
	font-size: 14px;
	line-height: 14px;
    text-align: center;
}
.paging-box {
	display: inline-block;
}
.paging span, .paging a {
	display: block;
	float: left;
	margin: 2px 2px 2px 0;
	padding: 10px 15px 10px 15px;
	text-decoration: none;
	width: auto;
	color: #000; /* 文字色 */
	background: #ddd; /* 背景色 */
	border: 1px solid #bbb;
}
.page-of {display: none !important;}
.paging a:hover{
	color: #fff; /* マウスホバー時の文字色 */
	background: #ccc; /* マウスホバー時の背景色 */
}
.paging .current{
	padding: 10px 15px 10px 15px;
	color: #fff; /* 文字色 */
	background: #ccc; /* 背景色 */
}
@media only screen and (max-width: 413px) {
.paging {
	font-size: 12px;
	line-height: 12px;
}
.paging span, .paging a {
	padding: 8px 10px 8px 10px;
}
.paging .current{
	padding: 8px 10px 8px 10px;
}
}