@charset "utf-8";
/* CSS Document */

body{
	font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-size:100%;
	background-image:url(../img/bg_profile.gif);
	background-repeat:repeat;
}

::selection {
	background: #E5DE20;
	color: #333333;
}

::-moz-selection {
	background: #E5DE20;
	color: #333333;
}

a:link{
	color:#209DAD;
	text-decoration-line: underline;
}

a:visited{
	color:#162145;	
}

a:hover{
	color:#96DBFC;
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
}

a:active{
	color:#8AD1F9;
}

p{
	margin:10px 0 20px;
	line-height:1.7em;
	font-weight: 500;
	font-size:110%;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

aside{
	font-size:80%;
	border:#000000 1px dotted;
	padding:10px;
	line-height:1.5em;
}

.notice{
	color: red;
}

em{
	font-style:normal;
	font-weight:bold;
	background: linear-gradient(transparent 50%, #E9E22A 50%);
}




/*----------ヘッダー----------*/
header{
	width:100%;
	height:180px;
	margin:0 auto;
	background-image:url(../img/line_header.gif);
	background-repeat:repeat-x;
	background-position:bottom center;
	background-color:#FFFFFF;
	z-index:1000;
}


#header_inner{
	width:80%;
	margin:0 auto;
	position:relative;
}

h1{
	width:180px;
	height:106px;
	margin:20px auto 0;
	text-indent:-9999px;
	background-image:url(../img/logo.svg);
	background-size:180px;
}

h1 a{
	display:block;
	width:180px;
	height:106px;
}

#sns{
	width:180px;
	height:30px;
	position:absolute;
	top:0;
	right:0;
}

#sns li{
	display:inline-block;
	width:30px;
	height:30px;
	margin:0 10px 0 0;
}

#sns li:last-child{
	margin:0;
}

#sns li img{
	height:20px;
}

nav#pc ul#gnav{
	text-align:center;
	margin:20px 0;
}

nav#pc ul#gnav li{
	font-family: 'Pacifico',cursive;
	font-size:100%;
	display: inline-block;
	margin:0 15px;
	vertical-align:top;
	height:15px;
}

nav#pc ul#gnav li a{
	color:#333333;
	text-decoration:none;
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
	padding:0 30px 0 0;
	display:inline-block;
	position:relative;
}

nav#pc ul#gnav li:last-child a{
	padding:0 20px 0 0;
}

nav#pc ul#gnav li::after{
	content:"/";
}

nav#pc ul#gnav li:last-child::after{
	content:"";
}

nav#pc ul#gnav li .border{
	display:block;
	border-bottom:#8AD1F9 3px solid;
	width:0;
	position:absolute;
}

nav#pc ul#gnav li a:hover{
	color:#96DBFC;
}

nav#mb{
	display:none;
}

/*----------スティッキーヘッダー----------*/
header.clone{
	width:100%;
	height:70px;
	margin:0 auto;
	background-image:url(../img/line_header.gif);
	background-repeat:repeat-x;
	background-position:bottom center;
	background-color:#FFFFFF;
	position:fixed;
	top:-150px;
	z-index:1000;
	transition:top 0.25s;
	-webkit-transition:top 0.25s;
}

header.clone #header_inner{
	width:80%;
}

header.clone h1{
	width:60px;
	height:40px;
	margin:10px 0 0 0;
	text-indent:-9999px;
	background-image:url(../img/logo_clone.svg);
	background-size:60px;
	position:relative;
	top:0;
	left:0;
}

header.clone h1 a{
	display:block;
	width:60px;
	height:40px;
}

header.clone nav#pc ul#gnav{
	position:absolute;
	top:10px;
	right:0;
	margin:0;
}

header.clone nav#pc ul#gnav li{
	font-family: 'Pacifico',cursive;
	font-size:100%;
	float:left;
	margin:0 15px;
}

header.clone #update{
	display:none;
}

header.clone #sns{
	display:none;
}

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

ul.normal{
	list-style:none;
	margin:15px 0;
	padding:0 0 0 40px;
	position:relative;
}

ul.normal li{
	border-bottom:#333333 1px dotted;
	font-size:100%;
	margin:0 0 20px 0;
	padding:0 0 10px 20px;
	position:relative;
}

ul.normal li:after{
	content:'';
	display:block; 
	position:absolute; 
	background:#333333;
	width:5px;
	height:5px; 
	top:5px; 
	left:5px; 
	border-radius: 5px;
}

ul.normal li span{
	color:#7A5301;
}

img.frame{
	border:#8F8F8F 1px dotted;
	padding:5px;
}

.inner_box{
	display:inline-block;
	width:45%;
	vertical-align:top;
	margin:20px 20px 0 0;
	padding:0 2% 0 0;
	position:relative;
}

.btn_general_b{
    font-family: 'Raleway', sans-serif;
	text-align:center;
	color: #000000;
	border:#000000 4px solid;
	margin:0 auto;
	padding:10px 0;
	width:200px;
	font-size:120%;
	letter-spacing:0.2em;
	background-image: url(../img/btn_arrow_b.png);
	background-position:-15px;
	background-repeat:no-repeat;
	opacity:0.8;
	box-sizing:border-box;
}

.btn_general_b a{
	color:#000000 !important;
	text-decoration:none !important;
}

.btn_general_w{
    font-family: 'Raleway', sans-serif;
	text-align:center;
	color: #FFFFFF;
	border:#FFFFFF 4px solid;
	margin:0 auto;
	padding:10px 0;
	width:200px;
	font-size:120%;
	letter-spacing:0.2em;
	background-image: url(../img/btn_arrow.png);
	background-position:-15px;
	background-repeat:no-repeat;
	opacity:0.5;
	box-sizing:border-box;
}


.btn_general_w a{
	color:#FFFFFF !important;
	text-decoration:none !important;
}

#breadcrumb{
	width:90%;
	margin:0 auto 50px;
}

#breadcrumb ul{
	list-style:none;
	font-size:80%;
	margin:20px 0;
	padding:10px 0;
	border-bottom:#333333 1px dotted;
}

#breadcrumb ul li{
	display:inline;
	margin:0 10px 0 0;
}

.content{
	width:100%;
	max-width:900px;
	margin:50px auto 150px;
}

h2{
	text-align:center;
	margin:20px 0;
}

h2 img{
	width:40%;
}

h3{
	font-family: 'Pacifico', cursive;
	font-size:260%;
	text-align:center;
	margin:30px 0 20px;
	padding:0;
	color: #7A5301;
}

h3 span{
	font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	display:block;
	color:#333333;
	font-size:40%;
	font-weight:bold;
	margin:20px 0 0 0;
	position:relative;
}


h4{
	font-family: 'Damion', cursive;
	color:#000000;
	font-size:180%;
	margin:0 0 15px 0;
}


.column h4{
	color:#000000;
	font-size:130%;
    font-family: 'Damion', cursive;
	background-image:url(../img/icn_list_check.png);
	background-repeat: no-repeat;
	background-position:left center;
	text-align:left;
	margin:15px 0 0 0;
	padding:0 0 0 25px;
}

h4 span{
	color:#000000;
	font-size:80%;
	font-family:"Cinema Letter";
	font-weight:bold;
	line-height:1.3em;
}

h5.works{
	font-size:100%;
	font-weight:bold;
	font-family:"Cinema Letter";
	border-left: #000000 4px solid;
	margin: 0;
	padding:0 0 0 15px;
}

table.works_table{
	border-collapse:collapse;
	margin:0 0 20px 0;
	border:none;	
}

table.works_table tr{
	border-bottom:#000000 1px dotted;
}

table.works_table th,
table.works_table td{
	padding:10px 15px 10px 0;
}

table.works_table th{
	font-weight: normal;
	color: #5D5D5D;
	white-space: nowrap;
}

.outer_box + hr{
	background-color: #DBC6AA;
	border-top: 2px dashed #000000;
	margin:20px 0;
}

.content .column{
	width:30%;
	display:inline-block;
	text-align:center;
	vertical-align:top;
	margin:0 0 20px 25px;
	transition: .4s;
}

.act01off{
	transform: scale(0, 0);
	-webkit-transform: scale(0, 0);
}

.act01on{
	transform: scale(1, 1);
	-webkit-transform: scale(1, 1);
}

.content .column figure{
	margin:0;
}

.content .column p{
	text-align:left;
	font-size:90%;
}

.inner_box figure{
	border:#000000 1px dotted;
	padding:5px;
	width:400px;
	position:relative;
}

.inner_box .private_icn{
	position:absolute;
	top:0;
	left:0;
	z-index:100;
}

.inner_box figure a.works img{
	-webkit-filter: sepia(0) brightness(1.0);
     -moz-filter: sepia(0) brightness(1.0);
     -o-filter: sepia(0) brightness(1.0);
     -ms-filter: sepia(0) brightness(1.0);
     filter: sepia(0) brightness(1.0);
	 transition:1s;
	 position:relative;
	 z-index:1;
}

.inner_box figure a.works img:hover{
	-webkit-filter: sepia(100%) brightness(0.7);
     -moz-filter: sepia(100%) brightness(0.7);
     -o-filter: sepia(100%) brightness(0.7);
     -ms-filter: sepia(100%) brightness(0.7);
     filter: sepia(100%) brightness(0.7);	 
}

.inner_box figure span{
	background-image:url(../img/web/mouseover.png);
	background-repeat:no-repeat;
	width:100%;
	height:100%;
	position: absolute;
	top:5px;
	left:5px;
	opacity:0;
	z-index:10;
	-webkit-transition: opacity .3s linear;
	-moz-transition: opacity .3s linear;
	-o-transition: opacity .3s linear;
	transition: opacity .3s linear;
	filter: alpha(opacity=0);
}

.inner_box figure span:hover{
	opacity: 0.5;
	filter: alpha(opacity=50);
}

.alpha {
    display:inline-block\9;
    zoom: 1;
    line-height: 1;
	background-image:url(../img/illustration/icn_filter_off.gif);
	background-repeat:no-repeat;
	background-position:left;
	padding:0 0 0 20px;
}

.alpha:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
}
.active {
	background-image:url(../img/illustration/icn_filter_on.gif);
	background-repeat:no-repeat;
	background-position:left;
}

#btn {
	overflow: hidden;
	margin-bottom: 20px;
	list-style:none;
	position:relative;
	top:0;
	left:0;
	z-index:100;
	
}

#btn li {
	float: left;
	margin: 10px;
	padding:0 0 0 20px;
	cursor: pointer;
	height:20px;
	
}

#btn li#filter{
	width:34px;
	height:34px;
	margin:5px 0 0 0;
	padding:0;
	cursor: default;
}

#animationList {
	overflow: hidden;
	margin:0 0 10px 40px;
}

.gallerybox{
	width:200px;
	height:200px;
	float:left;
	margin:10px 10px 10px 0;
	padding:0;
	border:#999999 1px solid;
}

.gallerybox span{
	background-image:url(../img/illustration/mouseover.png);
	background-repeat:no-repeat;
	width:100%;
	height:100%;
	position: absolute;
	top:0;
	left:0;
	opacity:0;
	z-index:10;
	-webkit-transition: opacity .3s linear;
	-moz-transition: opacity .3s linear;
	-o-transition: opacity .3s linear;
	transition: opacity .3s linear;
	filter: alpha(opacity=0);
}

.gallerybox span:hover{
	opacity: 0.7;
	filter: alpha(opacity=70);
}


#contact_list li{
	padding:15px 0;
	border-bottom:#5D5D5D 1px dotted;
}

#contact_list li dl{
	width: 100%;
}

#contact_list li dl dt{
	float: left;
	width: 20%;
	padding: 20px 0 0 0;
}

input,
textarea{
	border:#5D5D5D 1px dotted;
	width: 70%;
	padding: 10px;
}

input#submit {
	border: #5D5D5D 6px solid;
	background: none;
	cursor: pointer;
	color: #5D5D5D;
}

input#submit:disabled {
	border: #9E9E9E 6px solid;
	background: none;
	color: #9E9E9E;
}

select{
	border:#5D5D5D 1px dotted;
	width: 72%;
	padding: 10px;
	background-image: url(../img/contact/arrow_select.png);
	background-repeat: no-repeat;
	background-position: right center;
	cursor: pointer;
}


.errored{
	background-color: #F3CACB;
}

.error_email{
	display: block;
	text-align:center;
	padding: 15px 0 0 0;
}

#contact_list .notice{
	color: red;
	font-size: 70%;
	border: red 1px solid;
	padding: 2px 5px;
	margin: 0 0 0 10px;
	box-sizing:border-box;
	display: inline-block;
}

.error_email{color: red;}

#submit_button{
	text-align: center;
	font-size: 120%;
	margin: 30px 0;
	padding-top: 30px;
	height: 150px;
}

#check_list li{
	padding:15px 0;
	border-bottom:#5D5D5D 1px dotted;
	min-height: 20px;
}

#check_list li dl{
	width: 100%;
}

#check_list li dl dt{
	float: left;
	width: 20%;
	padding: 0;
}

#check_list li dl dd{
	float: right;
	width: 70%;
	padding: 0;
}

#submit_button_last{
	width: 100%;
	text-align: center;
	font-size: 120%;
	margin: 30px 0;
}

input#submit_last {
	border: #5D5D5D 6px solid;
	background: none;
	cursor: pointer;
	color: #5D5D5D;
	width: 40%;
}

input#return {
	border: #5D5D5D 6px solid;
	background: none;
	cursor: pointer;
	color: #5D5D5D;
	width: 20%;
}


/*----------フッター----------*/
#gotop{
	position:fixed;
	bottom:10px;
	right:10px;
	z-index:1000;
	display:none;
	opacity:0.7;
}

.giza_footer{
	width:100%;
	height:30px;
	margin:-30px 0 0 0;
	background-image:url(../img/giza_footer.png);
	background-repeat:repeat-x;
	background-position:bottom;
	z-index:500;
	position:relative;
}


footer{
	width:100%;
	padding:20px 0 0 0;
	background-image:url(../img/bg_footer.gif);
	background-repeat:repeat;
}

.footer_inner{
	margin:0 auto;
	max-width:900px;
	width:100%;
}

footer ul{
	list-style:none;
	text-align:center;
	margin:20px 0 0 0;
	padding:0 0 20px 0;
	float:left;
}

footer ul li{
	float:left;
	font-size:90%;
	margin:0 10px;
	color:#FFFFFF;
}

footer ul li::after{
	content:"/";
}

footer ul li:last-child::after{
	content:"";
}

footer ul li a:link{
	color: #FFFFFF;
	padding:0 30px 0 0;
}

footer ul li a:hover{
	color:#FDFACF;
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
}

footer ul li a:visited{
	color: #FFFFFF;
	padding:0 30px 0 0;
}

footer #logo{
	text-align:center;
}

footer #logo img{
	width:160px;
}

footer p{
	text-align:center;
	color:#FFFFFF;
	font-size:80%;
	margin:0 ;
}

footer p#copyright{
	color:#FFFFFF;
	font-size:80%;
	float:right;
	margin:25px 0 0 0;
}

@media screen and (max-width: 780px){
/*----------コンテンツ----------*/

.content{
	width:90%;
	margin:50px auto 150px;
}

.outer_box .inner_box{
	display:block;
	width:95%;
	vertical-align:top;
	padding:0 2%;
	margin:0;
}

.inner_box{
	display:inline-block;
	width:45%;
	vertical-align:top;
	margin:20px 15px 0 0;
	padding:0 2% 0 0;
}

.content .column{
	width:29%;
	display:inline-block;
	text-align:center;
	vertical-align:top;
	margin:0 0 20px 20px;
}

.inner_box figure{
	border:#000000 1px dotted;
	margin:0 auto;
	padding:5px;
	width:400px;
	position:relative;
}

h5.works{
	font-size:100%;
	font-weight:bold;
	font-family:"Cinema Letter";
	border-left: #000000 4px solid;
	padding:0 0 0 15px;
	margin:15px 0 0 0;
}

.inner_box h4{
	margin:20px 0 10px 0;
}

}

@media screen and (max-width: 420px){
/*----------ヘッダー----------*/
header{
	width:100%;
	height:110px;
	margin:0 auto;
	background-image:url(../img/line_header.gif);
	background-repeat:repeat-x;
	background-position:bottom center;
	background-color:#FFFFFF;
}

header.clone{
	display:none;
}

#header_inner{
	width:80%;
	margin:0 auto;
	position:relative;
}

h1{
	width:140px;
	height:82px;
	margin:20px auto 0;
	text-indent:-9999px;
	background-image:url(../img/logo.svg);
	background-size:140px;
}

h1 a{
	display:block;
	width:140px;
	height:82px;
}

nav#pc{
	display:none;
}

nav#mb{
	display: block;
}

.button-toggle{
	background-image:url(../img/menu_open.gif);
	background-size:30px;
	width:30px;
	height:30px;
	position:absolute;
	top:20px;
	right:20px;
}

.button-toggle.on{
	background-image:url(../img/menu_close.png);
	background-size:30px;
	width:30px;
	height:30px;
	z-index:2000;
}

.menu{
	width:100%;
	height:800px;
	background-color:#88D0F9;
	position:absolute;
	top:0;
	z-index:1000;
}

.menu ul{
	margin:80px 0 0 0;
}

.menu ul li{
	text-align:center;
	font-size:160%;
	font-family: 'Pacifico',cursive;
	/*font-family: 'Damion', cursive;*/
	margin:15px 0;
	padding:0 0 15px 0;
	border-bottom:#FFFFFF 2px dotted;
}

.menu ul li a{
	color:#FFFFFF;
	text-decoration:none;
}

#sns{
	display:none;
}

#update{
	display:none;
}

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

ul.normal{
	list-style:none;
	margin:15px 0;
	padding:0;
	position:relative;
}

.content{
	width:90%;
	margin:50px auto 150px;
}

.inner_box{
	display:block;
	width:95%;
	vertical-align:top;
	padding:0 2%;
	margin:0;
}

h2{
	text-align:center;
	margin:20px 0;
}

h2 img{
	width:60%;
}

.content .column{
	width:100%;
	display:inline-block;
	text-align:center;
	vertical-align:top;
	margin:0 0 20px 0;
}

.inner_box figure{
	border:#000000 1px dotted;
	margin:0 auto;
	padding:5px;
	width:90%;
}

h5.works{
	font-size:100%;
	font-weight:bold;
	font-family:"Cinema Letter";
	border-left: #000000 4px solid;
	padding:0 0 0 15px;
	margin:15px 0 0 0;
}

table.works_table{
	border-collapse:collapse;
	margin:0 0 20px 0;
	border:none;
	width:100%;	
}

table.works_table th,
table.works_table td{
	width:100%;
	display:block;
}

table.works_table th{
	padding:15px 0 0 0;
}

#animationList {
	overflow: hidden;
	margin:0 auto;
	width:210px;
}

.gallerybox{
	width:200px;
	height:200px;
	margin:0 auto 10px !important;
	padding:0;
	border:#999999 1px solid;
	float:none;

}

#contact_list li{
	padding:15px 0;
	border-bottom:#5D5D5D 1px dotted;
}

#contact_list li dl{
	width: 100%;
}

#contact_list li dl dt{
	float:none;
	width: 100%;
	padding: 20px 0 10px 0;
	text-align:left;
}

input,
textarea{
	border:#5D5D5D 1px dotted;
	width: 90%;
	padding: 10px;
}

#btn {
	display:none;
}

.inner_box .private_icn{
	position:absolute;
	top:0;
	left:0;
	z-index:100;
}
	
	
	
	

/*----------フッター----------*/

footer ul{
	list-style:none;
	text-align:center;
	margin:20px 0;
	float:none;
}

footer ul li{
	display:block;
	font-size:100%;
	margin:0;
	padding:10px 0;
	text-align:center;
	float:none;
	border-top:#FFFFFF 1px dotted;
}

footer ul li:last-child{
	display:block;
	font-size:100%;
	margin:0;
	padding:10px 0;
	text-align:center;
	float:none;
	border-top:#FFFFFF 1px dotted;
	border-bottom:#FFFFFF 1px dotted;
}

footer ul li a{
	color: #FFFFFF !important;
	padding:0;
	text-decoration:none;
}

footer ul li::after{
	content:"";
}



footer #logo img{
	width:120px;
}

footer p#copyright{
	color:#FFFFFF;
	font-size:80%;
	float:none;
	margin:25px 0 0 0;
}



}