@charset "utf-8";

/* 1. Reset style -------------------*/

/* 1.1. Layout */

html, body {
	width: 100%;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0;
}

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

fieldset,
img {
	border: 0;
}

li {
	list-style: none;
}

caption,
th {
	text-align: left;
}

th {
	vertical-align: baseline;
}

/* 1.2. Font */

body {
	font-family: Arial, Helvetica, clean, sans-serif;
	font-size: 13px;
	line-height: 1.231;
 *font-size: small;
 *font: x-small;
}

select,
input,
button,
textarea {
	font: 99%;
}

table {
	font-size: inherit;
	font: 100%;
}

address,
caption,
em,
strong,
th {
	font-style:normal;
	font-weight:normal;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}

input,
textarea,
select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}

input,
textarea,
select {
*font-size: 100%;
}

/* 2. Default style -----------------*/

/* 2.1. Font */

body {
	color: #000;
	font-size: 14px;
	font-family: '游ゴシック体', 'Yu Gothic', 'YuGothic', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
}

/* 2.2. Anchor */

a {
	color: #000;
	text-decoration: none;
	outline: none;
	-webkit-transition: all 0.3s ease;
}

a:visited {
	outline: none;
}

a:hover {
	color: #999;
	outline: none;
}

a:focus,
a:active {
	color: #999;
	outline: none;
}

input:focus,
input:active {
	outline: none;
}

/* 2.3. Offleft */

.offleft {
	text-indent: -9999px;
	overflow: hidden;
}

.offleftHeadline { 
	width: 0;
	height: 0;
	text-indent: -9999px;
	overflow: hidden;
}

/* 2.4. Clearfix */

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
	zoom: 1;
}

/* 3. Common style -----------------*/


#wrapper {
	width: 100%;
	min-width: 980px;
	overflow: hidden;
}

#mainvisual {
	position: relative;
}

#mainvisual .catch {
	position: absolute;
	bottom: 10%;
	right: 20%;
}

#mainvisual .img img {
	width: 100%;
	height: auto;
}

#topLogo {
	width: 511px;
	margin: -1px auto 0;
	position: relative;
	top: -40px;
	z-index: 5;
}

header {
	position: relative;
}

#header {
	width: 980px;
	margin: 0 auto;
	padding-top: 70px;
	position: relative;
	z-index: 2;
}

.hm #header {
	margin-top: 0;
	padding-top: 130px;
}

h1.id {
	width: 88px;
	float: left;
}

#globalNav {
	height: 215px;
	margin: 105px 0 0 145px;
	padding: 3px 0 0 50px;
	background: url(../img/nav_line.png) no-repeat left top;
	float: left;
}

.hm #globalNav {
	margin-top: 15px;
}

#globalNav li {
	margin-bottom: 12px;
}

#globalNav li:last-child {
	margin-bottom: 0;
}

#globalNav li.home, #globalNav li.blog {
	width: 44px;
}

#globalNav li.about {
	width: 153px;
}

#globalNav li.flow {
	width: 75px;
}

#globalNav li.contact {
	width: 92px;
}

#globalNav li.fb {
	width: 86px;
}

#globalNav li img {
	width: 100%;
	height: auto;
}

#intro .inner {
	width: 980px;
	margin: 0 auto;
	padding-left: 235px;
	font-family: '游明朝', 'YuMincho', "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	position: relative;
	top: -10px;
	z-index: 1;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

#intro .com {
	margin-top: 20px;
	font-weight: bold;
	line-height: 2.4;
}

#intro .bg_blue {
	height: 370px;
	margin-bottom: -270px;
	background: #d3edf5;
	position: relative;
	top: -270px;
	z-index: 0;
}

header .bg_img {
	width: 1280px;
	margin-left: -640px;
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
}

.pg_ttl {
	width: 68px;
	margin: 100px 100px 0 0;
	line-height: 0;
	float: right;
}

.pg_ttl img {
	width: 100%;
	height: auto;
}

#aboutGururi {
	position: relative;
}

#aboutKeyvisual, #flowKeyvisual {
	position: relative;
}

#aboutKeyvisual .img img, #flowKeyvisual .img img {
	width: 100%;
	height: auto;
}

#aboutKeyvisual .copy, #flowKeyvisual .copy {
	margin: -15px 0 0 -255px;
	position: absolute;
	top: 50%;
	left: 50%;
}

#aboutGururi .position {
	width: 835px;
	margin: 0 auto -160px;
	padding: 0 0 75px 145px;
	background: url(../img/line.png) no-repeat right bottom;
	position: relative;
	top: -160px;
}

#aboutGururi .relation {
	height: 715px;
	padding: 50px 0 0 250px;
	background: url(../img/gururi.png) no-repeat 55px 50px;
}

#aboutGururi .relation .top {
	margin-top: 10px;
}

#aboutGururi .relation dt {
	font-size: 123.1%;
	font-weight: bold;
}

#aboutGururi .relation dd {
	margin: 5px 0 20px;
}

#aboutGururi .relation .mdl {
	margin-top: 80px;
}

#aboutGururi .relation .btm {
	margin-top: 170px;
}

#aboutGururi .left_img {
	position: absolute;
	top: 300px;
	left: 0;
}

#works {
	width: 835px;
	margin: 100px auto 0;
	padding-left: 145px;
}

#works h3 {
	font-weight: bold;
}

#works table {
	width: 835px;
	margin-top: 10px;
	border: 1px solid #D1D1D1;
}

#works th, #works td {
	padding: 15px 10px 12px;
	border-bottom: 1px dashed #D1D1D1;
	line-height: 1.4;
	text-align: center;
	vertical-align: middle;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

#works td {
	border-left: 1px dashed #D1D1D1;
}

#works td:last-of-type {
	padding: 15px 30px;
	text-align: left;
	text-align: justify;
	text-justify: inter-ideograph;
	-ms-text-justify: inter-ideograph;
}

.w15 {
	width: 15%;
}

.w13 {
	width: 13%;
}

.w8 {
	width: 8%;
}

.w64 {
	width: 64%;
}

#works ul {
	margin-top: 20px;
}

#works li {
	line-height: 1.6;
}

#profile {
	width: 90%;
	margin: 100px auto 0;
	position: relative;
}

#profile .logoOpa {
	position: absolute;
	top: -20px;
	right: 3%;
}

#profile h3 {
	width: 835px;
	margin: 0 auto;
	padding-left: 130px;
}

.profile_ph {
	width: 100%;
}

.profile_ph .prof_img {
	position: relative;
}

.profile_ph .prof_img .img {
	width: 70%;
}

.prof_img .img img, .dog_img img {
	width: 100%;
	height: auto;
}

.prof_img .line {
	margin-top: 15px;
}

.prof_img .name_en {
	position: absolute;
	top: 130px;
	right: 18%;
}

.profile_ph .name_ja {
	width: 70%;
	margin-top: 20px;
	text-align: right;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

.profile_ph .name_ja img {
	width: 65px;
	margin: 0 auto;
}

.dog_img {
	width: 23%;
	position: absolute;
	top: 50%;
	right: 0;
}

#access {
	width: 100%;
	margin-top: -120px;
}

#access .company {
	width: 720px;
	margin: 0 auto;
	padding: 0 0 50px 50px;
	border-left: 1px solid #000;
}

#googleMap {
	width: 100%;
	height: 450px;
	margin-top: 7px;
}

footer {
	margin: 85px 0 50px;
}

#copyright {
	width: 270px;
	margin: 0 auto;
}

#copyright img {
	width: 100%;
	height: auto;
}

#footerLogo {
	width: 980px;
	margin: 25px auto;
}

#footerAdd {
	font-size: 92.3%;
	text-align: center;
}

#pagetop {
	position: fixed;
	bottom: 50px;
	right: 20px;
}




#flowCorner {
	width: 470px;
	position: absolute;
	top: 0;
	right: 0;
}

#flow {
	width: 835px;
	margin: -100px auto 0;
}

#flowEx {
	padding: 40px 20px 40px 35px;
	background: url(../img/line.png) no-repeat center bottom;
}

#flowEx .ex {
	margin-bottom: 20px;
}

#flowEx .what {
	width: 180px;
	padding: 7px 0;
	background: #000;
	color: #FFF;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	border-radius: 15px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	float: left;
}

#flowEx .com {
	width: 560px;
	margin: 6px 0 0 30px;
	line-height: 1.5;
	float: left;
}

#flowOutline {
	width: 835px;
	height: 1275px;
	margin: 90px auto 0;
	padding: 103px 0 100px;
	background: url(../img/flow_bg.png) no-repeat center 103px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 2px;
	position: relative;
}

#flowOutline .left {
	position: absolute;
	top: 0;
	left: 0;
}

#flowOutline .left ul {
	margin-top: 80px;
}

#flowOutline .center {
	width: 180px;
	margin-left: -90px;
	font-size: 114.3%;
	text-indent: 5px;
	position: absolute;
	top: 233px;
	left: 50%;
}

#flowOutline .right {
	position: absolute;
	top: 0;
	right: 0;
}

#flowOutline .right ul {
	margin-top: 225px;
	float: right;
}

#flowOutline .left h4, #flowOutline .right h4 {
	width: 315px;
	padding: 20px 0;
	font-size: 114.3%;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	position: relative;
}

#flowOutline .left h4 span, #flowOutline .right h4 span {
	margin-left: -8px;
	position: absolute;
	bottom: -35px;
	left: 50%;
}

#flowOutline .left h4 {
	border: 3px solid #F4F4F0;
}

#flowOutline .right h4 {
	border: 3px solid #F0F3F4;
}

#flowOutline .left li, #flowOutline .right li {
	width: 200px;
	padding: 7px 0;
	line-height: 1;
}

#flowOutline .left li {
	background: #F4F4F0;
}

#flowOutline .right li {
	background: #F0F3F4;
}

#flowOutline .left li.l02 {
	margin-top: 140px;
}

#flowOutline .left li.l03 {
	margin-top: 112px;
}

#flowOutline .left li.l04 {
	margin-top: 35px;
}

#flowOutline .left li.l05 {
	margin-top: 116px;
}

#flowOutline .left li.l06 {
	margin-top: 125px;
}

#flowOutline .left li.l07 {
	margin-top: 5px;
}

#flowOutline .right li.r02 {
	margin-top: 18px;
}

#flowOutline .right li.r03 {
	margin-top: 120px;
}

#flowOutline .right li.r04 {
	margin-top: 6px;
}

#flowOutline .right li.r05 {
	margin-top: 92px;
}

#flowOutline .right li.r06 {
	margin-top: 20px;
}

#flowOutline .right li.r07 {
	margin-top: 102px;
}

#flowOutline .right li.r08 {
	margin-top: 160px;
}

#flowOutline .right li.r09 {
	margin-top: 127px;
}

#flowOutline .right li.r10 {
	margin-top: 5px;
}

#flowOutline .center li.c02 {
	margin-top: 143px;
}

#flowOutline .center li.c03 {
	margin-top: 145px;
}

#flowOutline .center li.c04 {
	margin-top: 144px;
}

#flowOutline .center li.c05 {
	margin-top: 143px;
}

#flowOutline .center li.c06 {
	margin-top: 144px;
}

#flowOutline .line {
	position: absolute;
	bottom: 0;
	left: 0;
}

#flowOutline .wood {
	position: absolute;
	bottom: 3px;
	left: 30px;
}



#blog {
	width: 980px;
	margin: 0 auto;
}

#entryBody {
	width: 730px;
	float: left;
}

.entry {
	margin-bottom: 80px;
	padding: 70px 80px;
	border: 1px dashed #CCC;
}

.entry:last-child {
	margin-bottom: 0;
}

.entry h3 {
	padding-bottom: 5px;
	border-bottom: 1px solid #E5E5E5;
	font-size: 153.8%;
	font-family: '游明朝', 'YuMincho', "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	letter-spacing: 2px;
}

.entry .cat {
	margin-top: 10px;
	font-family: 'Strait', sans-serif;
	letter-spacing: 1px;
}

.entry .category {
	float: left;
}

.entry .days {
	float: right;
}

.entry img {
	width: 100%;
	height: auto;
}

.textBody {
	margin-top: 50px;
}

#rightNav {
	width: 170px;
	margin-top: 80px;
	float: right;
}

#rightNav .ttl {
	padding-bottom: 5px;
	border-bottom: 1px solid #E5E5E5;
	font-size: 123.1%;
	font-family: 'Strait', sans-serif;
	letter-spacing: 1.5px;
}

#rightNav ul {
	margin: 20px 0 50px;
}

#rightNav li {
	margin-bottom: 5px;
	list-style: disc inside;
}




#form, #thanks {
	width: 980px;
	margin: 50px auto 80px;
	background: url(../img/form_line.png) no-repeat center top;
	overflow: hidden;
}

#form dl {
	width: 840px;
	margin: 0 auto;
	padding-top: 80px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

#form dt, #form dd {
	height: 70px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

#form dt:first-of-type, #form dd:first-of-type {
	border-top: 0;
}

#form dt {
	width: 200px;
	padding: 25px 0 15px 30px;
	font-weight: bold;
	float: left;
	clear: both;
}

#form dt span {
	color: #E10000;
}

#form dd {
	width: 640px;
	margin-left: 200px;
	padding: 20px 0 20px 30px;
}

#form dd.text {
	height: auto;
}

#form dd input, #form textarea {
	width: 490px;
	padding: 5px;
	border: 1px solid #E5E5E5;
	background: #FFF;
	-webkit-transition: all 0.2s ease;
}

#form dd input {
	height: 20px;
}

#form dd input:hover, #form textarea:hover {
	border: 1px solid #333;
}

#form dd.short input {
	width: 50px;
}

#sendBtn {
	margin-top: 50px;
	text-align: center;
}

#sendBtn div {
	width: 840px;
	margin: 0 auto 20px;
}

#sendBtn button {
	display: block;
	width: 100%;
	padding: 12px 0 10px;
	background: #FFF;
	border: 1px dashed #000;
	-webkit-border-top-left-radius: 3px;
	-webkit-border-top-right-radius: 3px;
	-webkit-border-bottom-right-radius: 3px;
	-webkit-border-bottom-left-radius: 3px;
	font-size: 123.1%;
	font-weight: bold;
	text-align: center;
	letter-spacing: 2px;
	cursor: pointer;
	outline: none;
	-webkit-transition: all 0.3s ease;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

#sendBtn button:hover {
	border-style: solid;
}

#thanks p {
	margin-top: 80px;
}