@charset "UTF-8";

.home .main {
    width: 100%;
    margin: 0 auto 0;
}

.home .header {
	z-index: 44444;
}

/* ! mainArea
---------------------------------------------------------- */

.mainArea{
	width: 100%;
	height: 100vh;
	margin-top: -68px;
	position: relative;
}

.mainArea #slider {
	position: fixed!important;
}
.mainArea #slider li {
	height: 100vh;
	-webkit-background-size: cover;
	background-size: cover;
	background-position: center center;
}

.bx-wrapper {
}

.mainArea .mainAreatext {
    position: fixed;
	top: 50%;
	left: 50%;
	margin-left: -279px;
	width: 558px;
    z-index: 3333;
}

.mainArea .mainAreatext img {
    animation: fadeIn 1s ease 0s 1;
    -webkit-animation: fadeIn 1s ease 0s 1;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@keyframes fadeOut {
    0% {opacity: 1}
    100% {opacity: 0}
}

@-webkit-keyframes fadeOut {
    0% {opacity: 1}
    100% {opacity: 0}
}

.mainArea .scroll{
	z-index: 2222;
	position: absolute;
	bottom: 60px;
    right: 0;
    left: 0;
    margin: auto;
    width :38px;
    text-align: center;
	-webkit-animation: scroll_down 2.5s ease-in-out infinite;
    -moz-animation:    scroll_down 2.5s ease-in-out infinite;
    animation:         scroll_down 2.5s ease-in-out infinite;
}

@-webkit-keyframes scroll_down {
  0%   { -webkit-transform:translate(0,-12px); opacity: 0;  }
  50%  { opacity: 1;  }
  100% { -webkit-transform:translate(0,8px); opacity: 0; }
}
@-moz-keyframes scroll_down {
  0%   { -moz-transform:translate(0,-12px); opacity: 0;  }
  50%  { opacity: 1;  }
  100% { -moz-transform:translate(0,8px); opacity: 0; }
}

@keyframes scroll_down {
  0%   { transform:translate(0,-12px); opacity: 0;  }
  50%  { opacity: 1;  }
  100% { transform:translate(0,8px); opacity: 0; }
}


.mainArea .scroll img{
	display: block;
	margin: 0 auto;
}

@media screen and (max-width: 480px) {
	.mainArea{
	}
	.mainArea #slider li{
		height: 100vh;
	}
	.mainArea .mainAreatext {
		width :80vw;
		margin-left: -40vw;
	}
	.mainArea .scroll{
		width: 14px;
		height: auto;
	}
}

/* sns_ico_box */
.sns_ico_box{
    position: fixed;
    bottom: 25px;
    left: 25px;
    z-index: 9998;
}

.sns_ico_box ul{
	display: flex;
}

.sns_ico_box ul li{
	width: 38px;
    margin: 0 5px;
}

@media screen and (max-width: 480px) {
	.sns_ico_box{
		left: 5px;
	}
	.sns_ico_box ul li{
		width: 34px;
	    margin: 0 5px;
	}
}


/* overlay */

.mainArea .mainOverlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 3332;
	background-color: rgb(0, 0, 0);
	opacity: 0.2;
}


.overlying {
    width: 100%;
    position: relative;
    z-index: 9996;
    background: #fff;
}


/* ! topicsArea
---------------------------------------------------------- */

.topicsArea{
    z-index: 9999;
    width: 100%;
    margin: 0 auto;
	background: #983300;
}

.topicsAreaInner {
	width: 1024px;
    margin: 0 auto;
    padding: 28px 0;
	font-size: 1.3rem;
	color: #ffffff;
}

.topicsArea h3{
	display: inline-block;
	float: left;
	margin-right: 30px;
	padding-top: 6px;
	font-weight: bold;
	font-family: Helvetica, "Helvetica Neue", Arial, sans-serif;
}

.topicsArea a {
	color: #ffffff;
	text-decoration: none;
}

.topicsArea dl{
	float: left;
}

.topicsArea dl dt,
.topicsArea dl dd{
	line-height: 1.3;
	padding: 8px 0;
}

.topicsArea dl dt{
	clear: both;
	float: left;
	width: 90px;
    font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif;
}

.topicsArea dl dd{
	padding-left: 90px;
	width: 800px;
}

.topicsArea p.link{
	float: right;
	color: #ffffff;
	padding-top: 6px;
}

.topicsArea p.link a:after{
	padding-left: 13px;
	font-size: 14px;
	content:'\f105';
	font-family: "FontAwesome";
}

.topicsArea a {
	text-decoration: none;
}


@media screen and (max-width: 480px) {
	.topicsArea{
		width: 100%;
		padding: 0 5%;
		margin: -30px auto 0;
	}
	.topicsAreaInner {
		width: 100%;
	}
	.topicsArea h3{
		margin-bottom: 8px;		
	}
	.topicsArea dl{
		width: 100%;
	    padding-left: 0;
	    line-height: 1.3;
	}
	.topicsArea dl dt{
		width: 100%;
		padding: 0 0 5px 0;
	}
	.topicsArea dl dd{
		width: 100%;
		padding: 0 0 16px 0; 
	}
	.topicsArea p.link a {
		display: block;
		padding: 3px 5px;
		border: #ffffff 1px solid;
	}
}



/* ! box01　設計理念
---------------------------------------------------------- */

.box01{
	width: 100%;
	margin: 0 auto;
	padding: 120px 0 160px;
	background: #fbf9f6;
	text-align: center;
}

.box01 .boxInner {
}

.box01 .boxInner h3 {
	margin-bottom: 40px;
	font-size: 2.0rem;
	line-height: 1.3;
}

.box01 .boxInner .textArea{
	margin-bottom: 60px;
 	line-height: 2.3;
}

.box01 .linkBtn a,
.box02 .linkBtn a,
.box03 .linkBtn a,
.box06 .linkBtn a{
	display: inline-block;
	position: relative;
	width : 240px;
	margin: 0 15px 10px 15px;
	padding: 16px 0;
	border: #333333 1px solid;
	text-align: center;
	font-weight: bold;
}

.box04 .linkBtn a{
	display: inline-block;
	position: relative;
	width : 300px;
	margin: 0 15px;
	padding: 16px 0;
	border: #333333 1px solid;
	text-align: center;
	font-weight: bold;
}


.box01 .linkBtn a:after,
.box02 .linkBtn a:after,
.box03 .linkBtn a:after,
.box04 .linkBtn a:after,
.box06 .linkBtn a:after{
	position: absolute;
	top: 50%;
	right: 15px;
	display: block;
	margin-top: -11px;
	width: 10px;
	font-size: 14px;
	font-weight: normal;
	content:'\f105';
	font-family: "FontAwesome";
}


@media screen and (max-width: 480px) {
	.box01 {
		padding: 60px 0 120px;
	}
	.box01 .boxInner{
	  width: 100%;
	  padding: 0 5%;
	}
	.box01 .boxInner .textArea{
	 	text-align: left;
	}
	br.del {
		display: none;
	}
	br.del {
    content: "";
	}
	br.del:after {
	    margin-right: -.333em;
	    content:"";
 	}

	.box04 .linkBtn {
		text-align: center;
	}

	.box04 .linkBtn a{
		margin: 0 auto;
	}

}


/* ! box02 作品紹介
---------------------------------------------------------- */

.box02{
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

.box02 .boxInner {
	position: relative;
	width :935px;
	margin: 0 auto;
	padding: 100px 0 100px;
}

.box02 .boxInner h3 {
	position: absolute;
	top: -61px;
	width: 107px;
	margin: 0 auto 35px 21px;
}

.box02 .boxInner ul.worksList {
	margin-bottom: 60px;
}

.box02 .boxInner ul.worksList li {
	float: left;
	margin: 0 5px 5px 0;
	width: 182px;
}
	.box02 .boxInner ul.worksList li:first-child {
		margin-left: 0;
	}
/*	.box02 .boxInner ul.worksList li:nth-child(5n+1) {
		clear:both;
	}*/
.box02 .boxInner ul.worksList li img {
	display: block;
}
.box02 .boxInner ul.worksList li a:hover img {
	opacity: 0.7;
}
.box02 .linkBtn a {
	display: block;
	margin: 0 auto;
}

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

	.box02 .boxInner {
		width: 100%;
		padding: 100px 0 90px;
	}
	.box02 .boxInner ul.worksList li {
		width: 50%;
		margin: 0;
	}
	.box02 .boxInner ul.worksList li a{
		display: block;
		padding: 5px;
	}

}


/* box06 メディア掲載
--------------------------------------------------------- */


.box06{
	width: 100%;
	margin: 0 auto;
	padding: 110px 0 140px;
	background: #fbf9f6;
}
.box06 .boxInner {
	width: 935px;
	margin: 0 auto;
}
.box06 .boxInner ul {
	display: flex;
	width: 100%;
	margin-bottom: 45px;
	justify-content: space-between;
}
.box06 .boxInner ul li {
	width: 125px;
	margin-bottom: 20px;
}
.box06 .linkBtn a {
	display: block;
	margin: 0 auto;
}

@media screen and (max-width: 480px) {
	.box06 {
		padding: 100px 5% 140px 5%;
	}

	.box06 .boxInner {
		width: 100%;
	}

	.box06 .boxInner ul {
		flex-wrap: wrap;
	}

	.box06 .boxInner ul li {
		width: 30%;
	}

}

/* ! box03　設計プロセス
---------------------------------------------------------- */

.box03{
	width: 100%;
	margin: 0 auto;
	padding-bottom: 180px;
	text-align: center;
}

.box03 .boxInner {
	margin-bottom: 35px;
	background: #983300;
}

.box03 .boxInner .flowInner {
	position: relative;
	width: 1024px;
	margin: 0 auto;
	padding: 120px 0 58px;
	color: #ffffff;
}

.box03 .boxInner .flowInner h3 {
	position: absolute;
	top: -61px;
	right: 60px;
	width: 120px;
}

.box03 .boxInner .flowInner .textArea {
	margin-bottom: 46px;
	line-height: 2;
}

.box03 .boxInner .flowInner ul.flowList {}

.box03 .boxInner .flowInner ul.flowList li{
	display: table;
	float: left;
	width: 136px;
	height: 173px;
	margin-right: 5px;
	text-align: center;
}

	.box03 .boxInner .flowInner ul.flowList li.flowList01{ background: url("../img/process_img_01.png") no-repeat; }
	.box03 .boxInner .flowInner ul.flowList li.flowList02{ background: url("../img/process_img_02.png") no-repeat; }
	.box03 .boxInner .flowInner ul.flowList li.flowList03{ background: url("../img/process_img_03.png") no-repeat; }
	.box03 .boxInner .flowInner ul.flowList li.flowList04{ background: url("../img/process_img_04.png") no-repeat; }
	.box03 .boxInner .flowInner ul.flowList li.flowList05{ background: url("../img/process_img_05.png") no-repeat; }
	.box03 .boxInner .flowInner ul.flowList li.flowList06{ 
		width: 70px;
		background: url("../img/process_img_06.png") no-repeat;
		background-position: 0 15px;
	}


@media screen and (min-width: 481px) {
	.box03 .boxInner .flowInner ul.flowList li span {
		display: none;
	}
	.box03 .boxInner .flowInner ul.flowList li.flowTategaki{
		width: 40px;
		/*縦書きの指示*/
		-webkit-writing-mode: vertical-rl;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}
}

.box03 .boxInner .flowInner ul.flowList li>.listInner {
	display: table-cell;
	padding-top: 15px;
	vertical-align: middle;
}

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

	.box03{
		padding-bottom: 80px;
	}

	.box03 .boxInner .flowInner {
		width: 100%;
		padding: 150px 0 58px;
		color: #ffffff;
	}

	.box03 .boxInner .flowInner h3 {
		position: absolute;
		right: 40px;
	}

	.box03 .boxInner .flowInner .textArea {
		margin-bottom: 15px;
		padding: 0 5px;
		text-align: left;
	}

	.box03 .boxInner .flowInner ul.flowList li{
		position: relative;
		float: none;
		width: 300px!important;
		height: 50px;
		margin: 0 auto 25px auto;
		background: none!important;
		border-top: #ffffff 1px solid;
		border-right: #ffffff 1px solid;
		border-left: #ffffff 1px solid;
	}

	.box03 .boxInner .flowInner ul.flowList li.flowList01:after,
	.box03 .boxInner .flowInner ul.flowList li.flowList02:after,
	.box03 .boxInner .flowInner ul.flowList li.flowList03:after,
	.box03 .boxInner .flowInner ul.flowList li.flowList04:after,
	.box03 .boxInner .flowInner ul.flowList li.flowList05:after{
		position: absolute;
		content: "";
		top: 48px;
		left: 0;
		width: 300px;
		height: 20px;
		background: url("../img/flow_arrow.png") top left no-repeat;
		background-size: 299px auto;
	}
	.box03 .boxInner .flowInner ul.flowList li.flowList06 {
		border-bottom: #ffffff 1px solid;
	}
	
	.box03 .boxInner .flowInner ul.flowList li.flowTategaki{
		margin-top: -10px;
		margin-bottom: 0px;
		border: none;
	}
	.box03 .boxInner .flowInner ul.flowList li:last-child {
		margin-top: -20px;
	}

	.box03 .boxInner .flowInner ul.flowList li>.listInner {
		padding-top: 0;
	}

	.box03 .boxInner .flowInner ul.flowList li span.num {
		padding-right: 15px;
		font-size: 2.6rem;
		font-family: "Century";
	}

}

/* ! box04　地図とアクセス
---------------------------------------------------------- */

.box04{
	width: 100%;
	margin: 0 auto;
	text-align: center;
	background: #fbf9f6;
}

.box04 .accessArea {
	float: right;
	width: 50%;
	padding: 80px 0 0 128px;
	text-align: left;
}

.box04 .accessArea .accessInner {
	width: 507px;
}

.box04 .accessArea .accessInner .logoArea {
	margin-bottom: 30px;
}

.box04 .accessArea .accessInner .logoArea .logo {
	float: left;
	width: 100px;
}

.box04 .accessArea .accessInner .logoArea h4 {
	float: left;
	padding: 25px 0 0 18px;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 1.6;
}

.box04 .accessArea .accessInner .logoArea h4 span {
	font-size: 1.3rem;
}

.box04 .accessArea .accessInner .adress {
	margin-bottom: 35px;
}

.box04 .accessArea .accessInner .note {
	margin-bottom: 50px;
}

.box04 .accessArea .accessInner .note span {
	color: #777777;
}
.box04 .accessArea .accessInner .note span:before {
	content: "　"
}

.box04 .mapArea {
	float: right;
	width: 50%;
}

.box04 .mapArea .mapInner {
  position: relative;
  width: 100%;
  height: 450px;
}

.box04 .mapArea .mapInner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}


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

	.box04 .mapArea,
	.box04 .accessArea {
		float: none;
		width: 100%;
	}

	.box04 .mapArea .mapInner {
	  height: 250px;
	}

	.box04 .accessArea {
		padding: 80px 15px 0 15px;
	}

	.box04 .accessArea .accessInner {
		padding-bottom: 60px;
		width: 100%;
	}
	.box04 .accessArea .accessInner .note span {
		font-size: 1.3rem;
	}
	.box04 .accessArea .accessInner .note span:before {
		content: " "
	}

	.box04 .accessArea .accessInner .logoArea .logo {
		float: left;
		width: 50px;
	}
	.box04 .accessArea .accessInner .logoArea h4 {
		font-size: 1.4rem;
		padding: 5px 0 0 18px
	}
}


/* ! ニュース
---------------------------------------------------------- */
.topicsContent{
	width: 840px;
	margin: 0 auto;
	padding: 40px 0 80px;
}

.topicsContent h3{
	width: 67px;
	margin: 0 auto 38px;
	text-align: center;
}

.topicsContent dl dt{
	display: inline-block;
	width: 80px;
	margin-right: 40px;
	font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif;
}

.topicsContent dl dd{
	width: 715px;
	display: inline-block;
	padding-bottom: 18px;
}

.topicsContent .linkBtn{
	text-align: center;
	padding-top: 30px;
}

.topicsContent .linkBtn a{
    display: block;
    position: relative;
    width: 200px;
    margin: 0 auto;
    padding: 16px 0;
    border: #333333 1px solid;
    text-align: center;
    font-weight: bold;
}

.topicsContent .linkBtn a:after{
    position: absolute;
    top: 50%;
    right: 15px;
    display: block;
    margin-top: -11px;
    width: 10px;
    font-size: 14px;
    font-weight: normal;
    content: '\f105';
    font-family: "FontAwesome";
}

/* ! box05　お問い合わせ
---------------------------------------------------------- */

.box05{
	width: 100%;
	margin: 0 auto;
	padding: 100px 0 200px;
	text-align: center;
}

.box05 .textArea{
	margin-bottom: 50px;
 	line-height: 2.3;
}

.box05 .linkBtn {
}

.box05 .linkBtn a {
	display: inline-block;
	width: 370px;
	margin: 10px;
	padding: 35px 0;
	border: #983300 1px solid;
	font-size: 2.0rem;
	color: #983300;
}


@media screen and (max-width: 480px) {
	.box05 {
		padding: 80px 10px 120px 10px; 
	}
	.box05 .linkBtn a {
		width: 80%;
		padding: 25px 0;
		font-size: 1.6rem;
	}

}