@charset "UTF-8";

/*-----------------------------------------------------------
	
	トップローディング
	
-----------------------------------------------------------*/

#loader {
	margin: 0 auto 0 auto;
	width: 100%;
	height: 100%;
	text-align: center;
	color: #efefef;
	background-color: #f5f5f0;
	z-index: 99999;
	position: fixed;
	top: 0;
	left: 0;
}

#load-text {
	font-size: 72%;
	width: 100%;
	text-align: center;
	display: block;
	position: absolute;
	top: 50%;
	margin-top: -120px;
	color: #444;
	background: url(../images/common/load.gif) no-repeat center top #999;
	background-size: 234px 186px;
	padding-top: 186px;
}

#bar {
	width: 100%;
	font-size: 1px;
	position: absolute;
	top: 50%;
	margin-top: 0;
}

#bar span {
	display: block;
	width: 0px;
	height: 1px;
	background: #999;
	margin-top: 0;
}



/*----------------コンテンツエリア------------------*/

.header_area {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 70px;
	z-index: 999999;
	padding: 0 10px;
	background-color: #f5f5f0;
}

.main_area {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background-color: #f5f5f0;
}

.title_area {
	position: relative;
	width: 100%;
	padding: 80px 10px 0;
	text-align: center;
	background-color: #f5f5f0;
	background-size: cover;
}

.content_area {
	position: relative;
	width: 100%;
	min-height: 100%;
	padding: 0 10px;
	background-color: #f5f5f0;
}

.footer_area {
	position: relative;
	width: 100%;
	padding: 0 10px;
	background-color: #f5f5f0;
}

@media screen and (min-width: 768px) {
}

@media screen and (min-width: 1040px) {

	.header_area {
		position: fixed;
		min-height: 80px;
	}

	.title_area {
		min-height: 100%;
		overflow: hidden;
		padding: 0 10px;
	}

	.title_area:empty {
		min-height: 0;
	}

}

/*----------------コンテンツ------------------*/

.content {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 40px 0;
}

.content .floatL,
.content .floatR {
	width: 100%;
}

.next {
	position: absolute;
	width: 100px;
	right: 50%;
	bottom: 50px;
	-webkit-transform: translateX(50%);
	-ms-transform: translateX(50%);
	-o-transform: translateX(50%);
	transform: translateX(50%);
}

.title_area .next {
	display: none;
}

.title_img {
	position: relative;
	width: 100%;
}

.title_img img {
	width: 100%;
}

.text_area {
	position: relative;
}

.text_area p {
	margin: 1em 0;
}

.text_area br {
	display: none;
}

.text_area address br {
	display: inline;
}

.title {
	font-family: 'Open Sans', "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", sans-serif;
	font-weight: 300;
	font-size: 5rem;
	line-height: 1.4rem;
}

.heading {
	font-family: 'Open Sans', "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", sans-serif;
	font-weight: 300;
	position: relative;
}

.body_text {
	font-size: 1.4rem;
}

.photo {
	position: relative;
}

.photo img {
	padding: 1px;
	width: 100%;
}

a.link_img {
}

a.link_img img:hover {
	-webkit-filter: blur(3px);
	filter: blur(3px);
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}

.link_more {
	float: right;
	color: #9d926d;
	border-bottom: 1px solid #9d926d;
	padding-bottom: 3px;
	margin: 1em 0;
}

.link_more:hover {
	border-bottom: 1px solid #d2ad30;
}

.pageTop {
	width: 60px;
	position: fixed;
	right: 20px;
	bottom: 20px;
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	opacity: 0;
	z-index: 999999;
}

@media screen and (min-width: 764px) {

	.text_area br {
		display: inline;
	}

}

@media screen and (min-width: 1040px) {

	.content {
		width: 1040px;
		padding: 100px 0;
	}

	.title {
		font-size: 9rem;
	}

	.title_area .title_img {
		position: absolute;
		bottom: 50%;
		right: 50%;
		min-width: 100%;
		min-height: 100%;
		width: auto;
		height: auto;
		-webkit-transform: translateX(50%) translateY(50%);
		-ms-transform: translateX(50%) translateY(50%);
		-o-transform: translateX(50%) translateY(50%);
		transform: translateX(50%) translateY(50%);
		padding: 80px 0 0;
	}

	.title_area .content {
		position: static;
		min-height: 100%;
	}

	.title_area .next {
		display: block;
	}

	.title_area .text_area {
		position: absolute;
		bottom: 50%;
		-webkit-transform: translateY(50%);
		-ms-transform: translateY(50%);
		-o-transform: translateY(50%);
		transform: translateY(50%);
		color: #fff;
		text-align: left;
	}
}



/*----------------ヘッダー・フッター------------------*/
.logo img {
	width: 100%;
}

.header_area .logo {
	position: absolute;
	top: 10px;
	left: 15px;
	width: 200px;
	padding: 0;
	z-index: 999999;
}

.footer_area .content {
	border-top: 1px solid #ccc;
	padding: 20px 0 50px;
}
.footer_area .logo {
	width: 200px;
	margin-bottom: 10px;
}

.footer_area p small {
	font-size: 80%;
	line-height: 1.8;
}

@media screen and (min-width: 1040px) {
	.header_area .logo,
	.footer_area .logo {
		width: 229px;
	}
}

/*----------------ナビゲーション----------------*/
@media screen and (max-width: 1040px) {

	#menu {
		display: none;
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 99999;
		overflow-y: scroll;
		background-color: #f5f5f0;
	}

	.toggle {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 999999;
		width: 50px;
		height: 50px;
		background: url(../images/common/icon_menu.png) no-repeat;
		background-size: 50px 50px;
		cursor: pointer;
	}

	.toggle.active {
		background: url(../images/common/icon_close.png) no-repeat;
		background-size: 50px 50px;
	}

	.navi {
		width: 100%;
		float: none;
		padding: 20px;
		margin: 50px 0 0 0;
		overflow: hidden;
		position: relative;
		left: 0;
	}

	.navi li {
		display: block;
		margin: 0 0 0 0;
		border-left: none;
		border-bottom: 1px solid #ccc;
		line-height: 1;
		vertical-align: middle;
		font-size: 1.4rem;
		box-sizing: border-box;
		width: 100%;
	}

	.navi li span {
		display: none;
	}

	.navi li a {
		display: block;
		padding: 0 0;
		margin: 0;
		padding: 20px 0;
		color: #555;
	}

	.navi li a img {
		width: 100%;
	}

	.navi li.language {
		border-bottom: none;
		background: none;
		width: 90px;
		text-align: center;
		line-height: 40px;
		vertical-align: middle;
		padding: 0 0 0 0;
		margin: 20px 0 0 0;
		display: inline-block;
	}

	.navi li.language a {
		display: inline-block;
		margin-left: 0;
		color: #666;
		border-radius: 20px;
		border: 1px solid #666;
		font-size: 1.4rem;
		width: 90px;
		height: 40px;
		padding: 0;
	}

	.navi li.sns {
		width: 40px;
		height: 40px;
		line-height: 40px;
		vertical-align: middle;
		margin: 20px 0 0 6px;
		display: inline-block;
		text-align: center;
		padding: 0;
		float: right;
	}

	.navi li.sns a {
		display: block;
		width: 40px;
		height: 40px;
		padding: 0;
	}

}

@media screen and (min-width: 1040px) {
	#menu {
		display: block;
		position: static;
		overflow: auto;
		padding: 35px 10px 15px 220px;
		background-color: inherit;
	}

	.toggle {
		display: none;
	}

	.navi {
		float: right;
		margin: 0;
	}

	.navi li {
		display: inline-block;
	}

	.navi li span {
		margin: 0 8px;
		color: #555;
	}

	.navi li a {
		color: #555;
	}

	.navi li a:hover {
		text-decoration: none;
		color: #cc9;
	}

	.navi li.language {
		text-align: center;
		line-height: 1;
		vertical-align: middle;
		-webkit-transition: 0.4s ease-in-out;
		-moz-transition: 0.4s ease-in-out;
		-o-transition: 0.4s ease-in-out;
		transition: 0.4s ease-in-out;
	}

	.navi li.language a {
		width: 74px;
		height: 26px;
		border-radius: 13px 13px;
		margin: 0 0 0 8px;
		padding: 6px 0 0 0;
		background-color: #555;
		display: block;
		color: #ccc;
		font-size: 93%;
	}

	.navi li.language a:hover {
		color: #fff;
		background: #cc9;
	}

	.navi li.sns {
		width: 26px;
		height: 26px;
		border-radius: 2px 2px;
		vertical-align: middle;
		margin: 0 0 0 6px;
	}

}


/*--------------------------------------------*/
/*----------------トップページ------------------*/

.main_area .content {
	position: static;
	min-height: 100%;
}

.main_area #top_movie {
	display: none;
}

.main_area .credit {
	display: none;
	position: absolute;
	bottom: 50px;
	right: 50px;
	color: #f5f5f0;
	text-align: right;
}

.main_area #top_img {
	position: fixed;
	bottom: 50%;
	right: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	-webkit-transform: translateX(50%) translateY(50%);
	-ms-transform: translateX(50%) translateY(50%);
	-o-transform: translateX(50%) translateY(50%);
	transform: translateX(50%) translateY(50%);
}

#top_concept .photo .photo01 {
	float: left;
	width: 50%;
}

#top_concept .photo .photo02 {
	float: right;
	width: 50%;
}

#top_concept .photo .photo03 {
	float: left;
	width: 50%;
}

#top_concept .photo .photo04 {
	float: right;
	width: 50%;
}

#top_portfolio {
	position: relative;
	background-image: url(../images/top/bg_washi.jpg);
	background-size: cover;
}

#top_portfolio .photo .photo01 {
	margin-top: -40px;
}

#top_info ul li span {
	display: block;
	width: 100%;
}

#top_special .content {
	border-top: 1px solid #ccc;
}


@media screen and (min-width: 768px) {

	.main_area #top_movie {
		display: block;
		position: fixed;
		bottom: 50%;
		right: 50%;
		min-width: 100%;
		min-height: 100%;
		width: auto;
		height: auto;
		-webkit-transform: translateX(50%) translateY(50%);
		-ms-transform: translateX(50%) translateY(50%);
		-o-transform: translateX(50%) translateY(50%);
		transform: translateX(50%) translateY(50%);
	}

	.main_area .cover {
		display: none;
		position: fixed;
		min-width: 100%;
		min-height: 100%;
		width: auto;
		height: auto;
		left: 0;
		top: 0;
		background: url(../images/top/dot.png) 0 0 repeat;
	}

	.main_area .credit {
		display: block;
	}

	.main_area #top_img {
		display: none;
	}
}

@media screen and (min-width: 1040px) {

	#top_concept .photo img {
		position: absolute;
	}

	#top_concept .photo .photo01 {
		top: 0;
		left: 0;
		width: 340px;
	}

	#top_concept .photo .photo02 {
		top: 0px;
		left: 360px;
		width: 160px;
	}

	#top_concept .photo .photo03 {
		top: 180px;
		left: 360px;
		width: 160px;
	}

	#top_concept .photo .photo04 {
		top: 80px;
		right: 0;
		width: 480px;
	}

	#top_concept .text_area {
		margin-top: 390px;
		width: 480px;
	}

	#top_portfolio .photo img {
		position: absolute;
	}

	#top_portfolio .photo .photo01 {
		top: 0;
		left: 0;
		width: 580px;
		margin-top: -100px;
	}

	#top_portfolio .photo .photo02 {
		position: relative;
		margin-top: 2em;
	}

	#top_portfolio .text_area {
		width: 480px;
	}

	#top_info .floatL,
	#top_info .floatR {
		width: 480px;
	}

	#top_info ul li span {
		display: inline-block;
		width: 80px;
	}
}


/*----------------プロフィール------------------*/

#beginning {
	background-image: url(../images/profile/bg_syo.png);
}

#beginning .body_text {
	text-align: left;
}

#beginning .sign {
	padding-top: 2rem;
}

#beginning .sign strong {
	font-family:"游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	font-size: 260%;
}

#beginning .sign span {
	display: block;
	font-weight: 100;
	letter-spacing: 0.4em;
}

#profile .photo .photo01,
#profile .photo .photo02,
#profile .photo .photo03,
#profile .photo .photo04 {
	float: left;
	width: 50%;
}

.timeline {
	width: 100%;
}

.timeline td {
	padding: 10px;
	text-align: left;
}

.timeline th {
	padding: 10px 30px 10px 10px;
	text-align: left;
	white-space: nowrap;
}

.timeline tr {
	border-top: 1px dotted #ccc;
}

.timeline .photo img {
	width: auto;
	height: 180px;
	padding: 5px;
}

@media screen and (min-width: 768px) {
}

@media screen and (min-width: 1040px) {

	#beginning .text_area {
		position: static;
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
	}

	#profile .content {
		padding: 0;
		height: 480px;
	}

	#profile .photo img {
		position: absolute;
	}

	#profile .photo .photo01 {
		top: 0;
		left: 0;
		width: 410px;
	}

	#profile .photo .photo02 {
		top: 0;
		left: 420px;
		width: 200px;
	}

	#profile .photo .photo03 {
		top: 210px;
		left: 420px;
		width: 200px;
	}

	#profile .photo .photo04 {
		top: 0;
		right: 0;
		width: 410px;
	}

	.timeline {
	width: 650px;
	}

	#history1 {
		background: url(../images/profile/bg_enishi.png) 100% 10px no-repeat;
		background-size: 600px;
	}
}


/*----------------ポートフォリオ------------------*/

.works li {
	position: relative;
	padding: 5px;
	background: url(../images/portfolio/thumb_none.png) no-repeat;
	background-size: 100%;
	background-clip: content-box;
	
}

.works li:empty {
	display: none;
}

.works li .photo img {
	padding: 0;
}

#aside_portfolio .content {
	border-top: 1px solid #ccc;
}

#aside_portfolio .works li {
	min-height: 230px;
	float: left;
	width: 50%;
}

#aside_portfolio .text_area {
	min-height: 70px;
}

#aside_portfolio .text_area .heading {
	font-size: 1.6rem;
}

.pf_author {
	border-top: 1px solid #ccc;
}

@media screen and (min-width: 768px) {
	
	.pf_detail .photo .photo02,
	.pf_detail .photo .photo03 {
		float: left;
		width: 50%;
	}

	#aside_portfolio .works li {
		min-height: 310px;
	}
}

@media screen and (min-width: 1040px) {
.works li:empty {
	display: block;
}

	#portfolio .works li {
		min-height: 320px;
		width: 48%;
	}

	#portfolio .works li:nth-child(odd) {
		float: left;
	}

	#portfolio .works li:nth-child(even) {
		float: right;
	}

	#aside_portfolio .works li {
		min-height: 260px;
		width: 25%;
	}

	.pf_detail .photo img {
		position: absolute;
	}

	.pf_detail .photo .photo01 {
		top: 0;
		right: 0;
		width: 640px;
	}

	.pf_detail .photo .photo02 {
		top: 0;
		left: 0;
		width: 370px;
	}

	.pf_detail .photo .photo03 {
		top: 300px;
		left: 0;
		width: 200px;
	}

	.pf_detail .text_area {
		margin-top: 510px;
		width: 370px;
	}
}

/*----------------ニュース------------------*/
#nc_div_frm {
	padding: 30px 0 0;
}
#nc_news_list_div > h2 {
	display: none;
}
#nc_news_conf_page {
	margin-top: 100px;
	text-align: center;
}

#nc_news_conf_page a {
		border-radius: 1em;
		padding: 5px 20px;
		background-color: #555;
		color: #ccc;
		font-size: 93%;
}

#nc_news_conf_page a:hover {
	color: #fff;
	background: #cc9;
}

#nc_news_list li {
	border-top: 1px solid #ccc;
	padding: 40px 0;
}

#nc_news_list li:after {/* clearfix */
	content: " ";
	display: block;
	clear: both;
}

.toppage_date,
.nc_news_list_date {
	float: left;
}

.toppage_new_img,
.nc_news_list_new_img {
	float: left;
	margin-left: 10px;
}

.toppage_new_img img,
.nc_news_list_new_img img {
	vertical-align: baseline;
}

.toppage_title,
.nc_news_list_title {
	clear: both;
	margin: 2rem 0;
}

.nc_news_list_title {
	font-size: 1.8rem;
}

#nc_news_list_tantai_div .nc_news_list_date {
	margin-top: 2rem;
}


@media screen and (max-width: 768px) {
	.nc_news_list_contents img {
	width: 100%;
	height: auto;
	}
}


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

#agency .content {
	border-top: 1px solid #ccc;
}

#agency .logo {
	margin: 1em 0;
	width: 230px;
}

/*----------------プライバシーポリシー------------------*/

#privacy h3.heading {
	margin-top: 40px;
	padding: 5px 0;
	border-bottom: 1px solid #ccc;
	font-size: 1.7rem;
}