html {
	margin : 0;
	padding: 0;
}

body {
	background : url("../img/white_wall.png") repeat;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-size  : 13px;
}

img {
	width: 100%;
}

#header {
    height   : 110px;
    margin   : 0 auto;
    max-width: 900px;
	padding  : 0 20px;
    width    : 100%;
}

#header > h1 {
	color    : #00633B;
	font-size: 1em;
	margin   : 0;
	padding  : 10px 0 0;
}

#header a:hover {
	opacity: 0.6;
}

.header_logo {
	float : left;
	height: 70px;
}

.header_logo > a > img {
	max-height: 50px;
	margin-top: 15px;
	width     : auto;
}

.tel_logo_sp {
	float     : right;
	padding   : 18px 0 0;
	text-align: right;
}

.tel_logo_sp a > img {
	max-width: 44px;
}
.tel_logo {
	float     : right;
	padding   : 0;
	text-align: right;
}

.tel_logo {
	display: none;
}

.tel_logo > img {
	max-width: 200px;
}

.tel_logo a > img {
	max-width: 22px;
}

.header_address {
	color    : #006339;
	font-size: 0.8em;
}

#global_nav {
	background-color: #79ABAF;
	height          : 58px;
	overflow        : visible;
	position        : fixed;
	width           : 100%;
	z-index         : 9999;
}

.navbar {
    margin    : 0 auto;
    max-width : 900px;
    min-height: 58px;
    position  : static;
}

.navbar-default {
    background-color: inherit;
    border          : none;
}

.navbar-fixed-top {
	top: 90px;
}

.container-fluid {
    min-height: 58px;
    padding   : 0;
}

.container-fluid > .navbar-header {
	height      : 58px;
	margin-left : 0;
	margin-right: 0;
	overflow    : hidden;
	width       : 100%;
}

.navbar-default .navbar-toggle {
    border-color : #FFF;
    display      : block;
    margin-top   : 12px;
    margin-bottom: 12px;
}

.navbar-default .navbar-toggle .icon-bar {
    background-color: #FFF;
}

.navbar-default .navbar-toggle:focus,
.navbar-default .navbar-toggle:hover {
	background-color: inherit;
}

.navbar-default .navbar-toggle:hover {
	opacity: 0.6;
}

ul.navbar-nav-pc {
	display: none;
}

ul.navbar-nav {
	display: block;
    margin : 0;
	width  : 100%;
}

.navbar-nav > li {
	border-bottom: 1px solid #E7E7E7;
	float        : none;
}

.navbar-default .navbar-nav > li > a {
    color: #395A5E;
}

.navbar-default .navbar-nav > li > a:hover {
	background-color: #E0ECED;
}

.navbar-collapse {
    background-color: #B4CFD1;
}

.navbar-fixed-bottom .navbar-collapse,
.navbar-fixed-top .navbar-collapse {
	max-height: 100%;
}

.dropdown-menu-pc-feature,
.dropdown-menu-pc-faq {
	visibility: hidden;
}

#main {
	background: url("../img/gray_wall.png") repeat;
	margin-top: 70px;
}

#fade_main_img {
	padding-bottom: 30px;
	position      : relative;
}

#fade_main_img ul {
	list-style: outside none none;
	margin    : 0;
	padding   : 0;
	text-align: center;
}

#fade_main_img ul li {
	opacity: 0;
	padding: 0 0 30px;
}

#fade_main_img ul li:nth-child(4) { padding: 0; }

#fade_main_img ul li > img { height: auto; }
#fade_main_img ul li:nth-child(1) > img { max-width: 100px; }
#fade_main_img ul li:nth-child(2) > img { max-width: 134px; }
#fade_main_img ul li:nth-child(3) > img { max-width: 257px; }
#fade_main_img ul li:nth-child(4) > img { max-width: 235px; }

.character_01,
.character_02,
.character_03 {
	position: absolute;
}

.character_01 {
	bottom   : 20px;
	left     : 20px;
	max-width: 80px;
}

.character_02 {
	bottom   : 20px;
	right    : 20px;
	max-width: 80px;
}

.character_03 {
	bottom   : 70px;
	right    : 90px;
	max-width: 80px;
}

#main_doors {
	display: none;
}

.section {
	max-width: 700px;
	margin   : 10px auto 0;
}

.section_head {
	cursor: pointer;
}

.section_head:hover {
	opacity: 0.6;
}

.sec_text {
	display       : none;
	padding-bottom: 10px;
}

.sec_text h3 {
	color     : #79ABAF;
	margin-top: 0;
}

.sec_text p {
	line-height: 1.8em;
	margin     : 0;
	padding    : 20px 20px 10px;
}

.sec_text li {
	font-weight: bold;
	padding-bottom: 2em;
}

#section01 .sec_text {}
#section02 .sec_text {}
#section03 .sec_text {}
#section04 .sec_text {}
#section05 .sec_text {}

#section05 .sec_text .row {
	margin: 20px 0;
}

.close_btn {
	display      : none;
	margin-bottom: 30px;
	text-align   : right;
}

.close_btn > img,
#go_top > img {
	cursor   : pointer;
	height   : auto;
	max-width: 50px;
}

.close_btn > img:hover,
 #go_top > img:hover {
	opacity: 0.6;
}

#go_top {
	padding   : 0 20px 20px; 
	text-align: right;
}

#footer {
	background-color: #79ABAF;
}

#footer > div {
	margin    : 0 auto;
	max-width : 900px;
	padding   : 20px;
	text-align: right;
}

#footer > div > img {
	margin-bottom: 10px;
	max-width    : 500px;
}

#footer > div p {
	color        : #FFF;
	margin-bottom: 0;
}

/*==========  Underlayer Page  ==========*/

#main .main_wrap h2 {
	border-bottom : 4px dotted #FFF000;
	color         : #006339;
	margin        : 0 0 30px;
	padding-bottom: 5px;
}

#main .main_wrap h2 > img {
	float         : left;
	height        : auto;
	padding-right : 10px;
	max-width     : 60px;
	vertical-align: middle;
}

#main .main_wrap h2 span {
	display    : block;
	padding-top: 12px;
}

.main_wrap {
	background: url("../img/white_wall.png") repeat;
	margin    : 0 auto;
	max-width : 900px;
	padding   : 30px 20px;
}

.main_wrap p {
	line-height: 1.8em;
	margin     : 0;
	padding    : 20px 0 10px;
}

.main_wrap div.free_box,
.main_wrap div.pay_box {
	margin    : 0;
	padding   : 10px;
}

.main_wrap div.free_box {
	border: 1px dotted #3C763D;
}

.main_wrap div.free_box > p {
	border-top: 1px dotted #3C763D;
	display   : none;
	margin-top: 10px;
}

.main_wrap div.pay_box > p {
	border-top: 1px dotted #AA6708;
	display   : none;
	margin-top: 10px;
}

.main_wrap div.pay_box {
	border: 1px dotted #AA6708;
}

.main_wrap div.pay_box .lead {
	display: block;
    margin : 20px 0 0;
}

.main_wrap div.free_arrow,
.main_wrap div.pay_arrow {
	padding: 10px 0;
}

.free_subheading,
.pay_subheading {
	cursor   : pointer;
	font-size: 1.2em;
	display  : block;
}

.free_subheading:hover,
.pay_subheading:hover {
	color: #EC971F;
}

.free_subheading {
	color: #3C763D;
}

.free_arrow > img,
.pay_arrow > img {
	max-width: 50px;
}

.pay_subheading {
	color: #AA6708;
}

.thumbs_img {
	background   : url("../img/seamless_paper_texture.png") repeat;
	border-top   : 2px dotted #79ABAF;
	border-bottom: 2px dotted #79ABAF;
	margin       : 0 0 30px;
	padding      : 30px 0;
}

p.lead {
	color      : #79ABAF;
	margin-top : 0;
	padding-top: 0;
}

.main_foot,
.fade_main_img_foot {
	background-color: inherit;
	border-bottom   : 2px dotted #79ABAF;
	height          : 2px;
	margin-bottom   : 20px;
	width           : 100%;
}

.fade_main_img_foot {
	display: block;
}

.next-prev {
	border-top   : 1px dotted #79ABAF;
	border-bottom: 1px dotted #79ABAF;
    color        : #79ABAF;
    margin       : 20px 0 0;
}

.next-prev > div {
	cursor: pointer;
}

.next-prev > div span {
	display       : inline-block;
	font-size     : 15px;
	padding       : 0 10px;
    vertical-align: middle;
}

.next-prev > div:first-child {
	float: left;
}
.next-prev > div:last-child {
	float: right;
}

.next-prev > div:hover {
	color: #EC971F;
}

.fa {
	vertical-align: middle;
}

/*==========  feature  ==========*/
#feature01,
#feature02,
#feature03,
#feature04 {
	margin-bottom: 50px;
}

#feature01 h3,
#feature02 h3,
#feature03 h3,
#feature04 h3,
#feature05 h3 {
	margin-bottom: 0;
}

#feature01 h5 {
	font-weight: bold;
	line-height: 1.5em;
	padding    : 15px 10px;
}

#feature01 .row .col-sm-4 {
	padding-top   : 10px;
	padding-bottom: 10px;
}

#feature01 .row .col-sm-4 img {
	max-width: 250px;
}

#feature01 .row {
	padding-bottom: 20px;
}

.subheading {
	border-top   : 1px dotted #eea236;
	border-bottom: 1px dotted #eea236;
	color        : #eea236;
	font-size    : 1.2em;
	display      : block;
	margin-top   : 20px;
	padding      : 5px 0;
}

.feature_image_pc {
	display: none;
}

.feature_image_info img {
	max-width: 500px;
}

.feature_goodpoint {
	background-color: #fcf8e3;
	border          : 2px solid #d58512;
	padding         : 15px;
}

.feature_goodpoint > p:nth-child(1) {
	padding-top: 0;
}

.feature_goodpoint ul {
	margin      : 0;
	padding-left: 20px;
}

.feature_goodpoint ul li {
	margin-bottom: 10px;
}

h6.feature_goodpoint_title {
	margin-top: 30px;
	max-width : 400px;
}

#feature02 .col-sm-6 img {
	margin: 15px 0;
	max-width: 415px;
}

#feature03 .col-xs-4 img,
#feature04 .col-xs-4 img,
#feature05 .col-xs-4 img {
	max-width: 150px;
}

/*==========  WORK  ==========*/
#main .work h2 {
	margin-bottom: 10px;
}

.work h3 {
	margin-top   : 0;
	margin-bottom: 10px;
}

.work .subheading {
	margin-top   : 0;
	margin-bottom: 20px;
}

.work dl {
	margin-bottom: 0;
}

.work dl dt {
	background-color: #E8E8E8;
	font-weight     : bold;
	padding         : 8px;
	white-space     : nowrap;
}

.work dl dd {
	padding: 8px 8px 12px;
}

.work dl dd p {
	padding: 20px 0 0;
}

.work dl dd p:first-child {
	padding: 0;
}

.work button.works_list {
	background-color: inherit;
	border          : 1px solid #79ABAF;
	color           : #79ABAF;
	font-size       : 18px;
	height          : 48px;
	margin-bottom   : 20px;
	width           : 100%;
}

.work button.works_list:hover {
	background-color: #79ABAF;
	color           : #FFF;
}

.work button.works_list:active {
	background-color: #79ABAF;
	border: none;
}

.work .works_list_row {
	display: none;
	padding:  0 0 20px;
}

.work .works_list_row img {
	margin-bottom: 10px;
	max-width    : 137px;
}

.work .concept-bord {
	border: 1px solid #E8E8E8;
	margin: 0 0 20px;
}

.work .works_list_w a:hover,
.work .works_list_f a:hover,
.work .works_list_m a:hover,
.work .works_list_y a:hover {
	opacity: 0.6;
}

.work .works_list_w a:active,
.work .works_list_f a:active,
.work .works_list_m a:active,
.work .works_list_y a:active {
	border: none;
}

/*==========  price  ==========*/
.price table {
	margin-bottom: 5px;
}

.calc {
	border : 2px dotted #DDD;
	margin : 20px 0;
	padding: 20px 5px 5px;
}

.calc .form-group {
	float: left;
}

.calc strong {
	display: none;
}

/*==========  about  ==========*/
.about dl dt {
	background-color: #E8E8E8;
	font-weight     : bold;
	padding         : 8px;
	white-space     : nowrap;
}

.about dl dd {
	padding: 8px 8px 12px;
}

.about ul {
	padding-left: 15px;
}

.about ul li {
	line-height: 2em;
}

.about div.qa {
	margin-top: 30px;
}

.about .qa .circle {
	background-color: #FFF100;
	border-radius   : 50%;
	color           : #79ACB0;
	font-size       : 12px;
	height          : 40px;
	line-height     : 27px;
	text-align      : center;
	width           : 40px;
}

.about .qa .question {
	color      : #79ACB0;
	font-size  : 15px;
	line-height: 30px;
}

.about .qa dl dt {
	float: left;
	width: 25%;
}

.about .qa dl dd {
	float: left;
	width: 75%;
}

.about .qa dl dd:nth-child(3) {
	width: 100%;
}

.about .sp {
	display: none;
}

/*==========  Q&A  ==========*/
#faq01,
#faq02,
#faq03,
#faq04,
#faq05,
#faq06,
#faq07,
#faq08 {
	margin-top: 50px;
}

.faq h3 {
	margin-top: 0px;
}

.faq dl {
	border-bottom: 2px dotted #DDD;
	margin-bottom: 0;
	padding      : 20px 0;
}

.faq dl:nth-child(2) {
	border-top: 2px dotted #DDD;
}

.faq dl dt:before {
	content  : "Ｑ．";
	color    : #79ACB0;
	font-size: 16px;
}

.faq dl dt {
	cursor: pointer;
}

.faq dl dt:hover {
	color: #EC971F;
}

.faq dl dd {
	display    : none;
	line-height: 1.8em;
	padding-top: 20px;
}

.faq dl dd:before {
	content    : "Ａ．";
	color      : #a94442;
	font-size  : 16px;
	font-weight: bold;
}

.faq dl dd a {
	background-color: inherit;
	border          : 1px solid #79ABAF;
	color           : #79ABAF;
	display         : block;
	font-size       : 16px;
	margin-top      : 10px;
	padding         : 10px 20px;
	text-align      : center;
}

.faq dl dd a:hover {
	background-color: #79ABAF;
	color           : #FFF;
	text-decoration : none;
}

/*==========  Media Queries (max-width) ==========*/

@media only screen and (max-width : 480px) {
	.copy:before,
	.footer_address:before {
		content: "\A";
		white-space: pre;
	}

	#header {
    	height: 130px;
	}

	.about h2 {
		font-size: 21px;
	}

	.about .pc {
		display: none;
	}

	.about .sp {
		display: block;
	}

	.about .sp p.lead {
		margin: 10px 0 0;
	}

	.about .sp p.profile_name {
		font-size  : 17px;
		font-weight: bold;
		padding-top: 0;
		text-align : right;
	}

	.about .sp p span.certificate {
		display    : block;
		font-size  : 12px;
		font-weight: normal;
		line-height: 16px;
	}

	.about .qa .question {
		line-height: 2em;
	}

	.subheading {
		font-size: 1.1em;
	}

	#fade_main_img ul li { padding: 0 0 20px; }
	#fade_main_img ul li:nth-child(1) > img { max-width: 80px; }
	#fade_main_img ul li:nth-child(2) > img { max-width: 107px; }
	#fade_main_img ul li:nth-child(3) > img { max-width: 206px; }
	#fade_main_img ul li:nth-child(4) > img { max-width: 188px; }

	.main_wrap {
		padding: 10px 20px;
	}

	.character_01,
	.character_02,
	.character_03 {
		display: none;
	}
}

/*==========  Media Queries (min-width) ==========*/

@media only screen and (min-width : 580px) {
	.feature_image_pc {
		display: block;
	}

	.feature_image_pc img {
		max-width: 800px;
	}

	#feature01 .row .col-sm-4 {
		display: none;
	}
}

@media only screen and (min-width : 650px) {
	#header .tel_logo_sp {
		display: none;
	}

	#header .tel_logo {
		display: block;
	}
}

@media only screen and (min-width : 768px) {
	#header > h1 {
		padding: 10px 0;
	}

	ul.navbar-nav {
		display: none;
	}

	ul.navbar-nav-pc {
		display : block;
		margin  : 0 auto;
		width   : 750px;
	}

  	.navbar-toggle,
	.navbar-collapse.collapse {
		display: none !important;
	}

	.navbar-nav-pc > li {
		float   : left;
		height  : 109px;
		width   : 125px;
	}

	.navbar-nav-pc > li > a {
		padding: 0;
	}

	.navbar-nav-pc > li > a > img {
		margin-top: 0;
		max-width : 150px;
	}

	.navbar-nav-pc > li > a:focus,
	.navbar-nav-pc > li > a:hover {
	    background-color: inherit;
	}

	.dropdown-menu-pc-feature,
	.dropdown-menu-pc-faq {
		list-style: outside none none;
		margin    : 0;
		padding   : 0;
	}

	.dropdown-menu-pc-feature li,
	.dropdown-menu-pc-faq li {
		border-bottom: 1px solid #CCC;
	}

	.dropdown-menu-pc-feature li > a,
	.dropdown-menu-pc-faq li > a {
		color          : #395a5e;
		display        : block;
		padding        : 10px 20px;
		text-decoration: none;
	}

	.dropdown-menu-pc-feature li > a:hover,
	.dropdown-menu-pc-faq li > a:hover {
		color          : #EC971F;
		text-decoration: none;
	}

	.dropdown-menu-pc-feature,
	.dropdown-menu-pc-faq {
		background        : #DDD;
		opacity           : 0;
		position          : absolute;
	    top               : 58px;
	    width             : 250px;
	    -webkit-transition: all .2s ease;
	    transition        : all .2s ease;
	    visibility        : hidden;
	}

	.dropdown-menu-pc-feature {
		left: 0;
	}

	.dropdown-menu-pc-faq {
		left: 500px;
	}

	.about dl dt {
		float: left;
		width: 25%;
	}

	.about dl dd {
		float: left;
		width: 75%;
	}

	.about .qa .question {
		font-size  : 15px;
		line-height: 30px;
	}

	.work dl dt {
		float: left;
		width: 35%;
	}

	.work dl dd {
		float: left;
		width: 65%;
	}

	.work .second-row {
		margin-bottom: 20px;
	}

	.work .second-row > div {
		padding-right: 0;
	}

	.work .second-row > div:last-child {
		padding-left: 0;
	}

	.work .third-row dl dt,
	.work .third-row dl dd {
		width: 100%;
	}

	.calc strong {
		display: inline-block;
		float  : left;
		padding: 32px 0 0;
	}
}

@media only screen and (min-width : 920px) {
	#global_nav {
		height: 70px;
	}

	.navbar {
		min-height: 70px;
	}

	.container-fluid {
	    min-height: 70px;
	}

	.container-fluid > .navbar-header {
		height  : 70px;
		overflow: visible;
		position: relative;
	}

	ul.navbar-nav-pc {
		margin : 0 auto;
		width  : 900px;
	}
	
	.navbar-nav-pc > li {
		float   : left;
		height  : 70px;
		overflow: hidden;
		width   : 150px;
	}

	.navbar-nav-pc > li > a {
		padding: 0;
	}

	.navbar-nav-pc > li > a > img {
		margin-top: 0;
		max-width : 150px;
	}

	.dropdown-menu-pc-feature,
	.dropdown-menu-pc-faq {
		
	    top       : 70px;
	    visibility: hidden;
	    width     : 250px;
	}

	.dropdown-menu-pc-feature {
		left: 0;
	}

	.dropdown-menu-pc-faq {
		left: 600px;
	}

	#header {
		padding: 0;
	}

	#footer > div {
		padding: 20px 0;
	}

	/* ---------- ドア ---------- */
	.fade_main_img_foot {
		display: none;
	}

	#main_doors {
		background   : url("../img/seamless_paper_texture.png") repeat;
		border-top   : 2px dotted #79ABAF;
		border-bottom: 2px dotted #79ABAF;
		display      : block;
		margin       : 0 0 30px;
		padding      : 0; 
	}

	#main_doors::after {
		clear   : both;
		content : " ";
	}

	#main_doors ul {
		display     : table;
		height      : 133px;
		margin      : 0 47px 0 113px; 
		padding     : 10px 0;
		table-layout: fixed;
		width       : 700px;
	}

	#main_doors ul::after {
		clear: both;
	}

	#main_doors ul > li {
	    display       : table-cell;
	    position      : relative;
	    vertical-align: middle;
	}

	#door01,
	#door02,
	#door03,
	#door04,
	#door05 {
		cursor: pointer;
		height: 100px; 
		width : auto;
	}

	#door_open_01,
	#door_open_02,
	#door_open_03,
	#door_open_04,
	#door_open_05 {
		cursor  : pointer;
		display : none;
		height  : 113px; 
		width   : auto;
	}

	#fukidashi01,
	#fukidashi02,
	#fukidashi03,
	#fukidashi04,
	#fukidashi05 {
		display : none;
		height  : auto; 
		width   : 90px;
		position: absolute;
		top     : -40px;
		left    : 100px;
		z-index: 1000;
	}
}
