
/*---------------------------------------------*/
/* common */
body{
	min-width:320px;
}

/* header */
header{
	width:100%;
	height:90px;
}
header .wrap{
	width:100%;
}
header h1{
	background-size:101px 40px;
	width:101px;
	height:40px;
	float:none;
	margin:10px 0 0 10px;
	text-indent:-9999px;
}
header h1 a{
	width:101px;
	height:40px;
}
header nav{
	float:none;
	position:relative;
	right:0;
	top:0;
	left:0;
	margin:15px 0 0 0;
}
header nav > ul{
	position:relative;
}
header nav > ul > li{
	float:left;
	position:static;
	width:25%;
	height:28px;
	padding:0 0 0 0;
	background:none;
	background-position:right center;
	background-size:11px;
	font-family:"FB Miller Display Roman", serif;
}
header nav > ul > li:last-child{
	background:none;
}
header nav > ul > li:last-child:after{
	position:absolute;
	top:0;
	right:0;
	display:block;
	width:21px;
	height:28px;
	content:"";
	background:none;
}
header nav > ul > li > a{
	font-size:13px;
	letter-spacing:0.15em;
	padding:0;
	position:relative;
}
/*
header nav > ul > li > a.hover:after{
	margin-left:-13px;
	position:relative;
}
*/


header nav.top > ul > li > a.nav_about:after,
header nav.access > ul > li > a.nav_about:after,
header nav.works_gallery > ul > li > a.nav_works:after,
header nav.activity > ul > li > a.nav_activitys:after,
header nav.contact > ul > li > a.nav_contact:after{
	margin-left:-13px;
	position:relative;
}

header nav > ul > li > ul{
	width: calc(100% - 20px);
	left:0;
	background-color:#f9f9f9;
	padding: 2px 5px 0 15px;
}
header nav > ul > li > ul > li > a,
header nav > ul > li > ul > li > span{
	height:36px;
	line-height:36px;
}


/*header fixed*/
body.menu_fixed{
	padding:90px 0 0 0;
}
body.menu_fixed header h1{
	background-size:95px;
	width:95px;
	height:12px;
	margin:10px 0 0 10px;
}
body.menu_fixed header h1 a{
	width:95px;
	height:12px;
}
body.menu_fixed header nav{
	margin:5px 0 0 0;
}

/* footer */
footer{
}
footer .wrap{
	width:100%;
}
footer nav ul.facebook{
	float:none;
	margin:0 0 20px 20px;
}
footer nav ul.facebook li{
	float:none;
	padding:0 15px 0 20px;
	margin:0 0 10px 0;
	border:none;
}
footer nav ul.facebook li a{
	font-size:13px;
}
footer nav ul.policy{
	float:none;
	margin:0 20px 0 20px;
}
footer nav ul.policy li{
	float:none;
	margin:0 0 10px 0px;
}
footer nav ul.policy li a{
	font-size:13px;
}

/* breadcrumb */
.breadcrumb{
	width:auto;
	margin:10px auto 10px 10px;
	font-size:12px;
}
.breadcrumb li{
	margin:0 8px 5px 0;
}
.breadcrumb li:first-child{
	margin:0 8px 5px 0;
}

/* page_top */
.page_top{
	bottom:5px;
	right:5px;
	z-index:9999;
}
.page_top.bottom{
	position:absolute;
	bottom:190px;
	right:5px;
}
.page_top a{
	width:40px;
	height:40px;
	background-size:40px;
}


/*---------------------------------------------*/
/* top */
#top .sec_photo{
	min-width:0;
	height:200px;
}

/* photo1 */
#top .sec_photo.photo1{
	height:150px;
	min-height: auto;
}

/* photo2 */
#top .sec_photo.photo2{
	height:100px;
	min-height: auto;
}

/* photo3 */
#top .sec_photo.photo3{
	height:100px;
	min-height: auto;
}

/* photo4 */
#top .sec_photo.photo4{
	height:100px;
	min-height: auto;
}


/* ---- */
#top .sec_news{
	margin: 5px 0 0 0;
  position: relative;
  height: 15px;
  left: 0;
}
#top .sec_news p.news{
  background-size: 46px 10px;
  padding: 0 0 0 0;
  top: 0;
  left: 0;
  margin-left: 10px;
}
#top .sec_news span{
  letter-spacing: 0.1em;
  margin-bottom: 3px;
  font-size: 12px;
  display: block;
}
#top .sec_news span::after{
  width: 16px;
}
#top .sec_news a{
	font-size: 11px;
}

/* ---- */
#top .sec_content{
	width:auto;
	margin:0 10px;
	padding:20px 0 40px 0;
}

#top .sec_content h2{
	float:none;
}

#top .sec_content .overview{
	margin:0 0 0 20px;
}
#top .sec_content .overview.no_title{
	margin:0 0 0 20px;
}

#top .sec_content .overview h3{
	font-size:17px;
	margin:0 0 15px 0;
	width:auto;
}
#top .sec_content .overview p{
	margin:0;
	line-height:2.4em;
	font-size:12px;
}
#top .sec_content ol{
	width:auto;
	margin: 0 0 0 20px;
}
#top .sec_content ol li{
	padding:0 0 30px 0;
}
#top .sec_content ol li .left {
	width: 50px;
	margin: 0 7px 0 0;
}
#top .sec_content ol li .left img{
	width:50px;
	height:auto;
	margin-bottom: 4px
}
#top .sec_content ol li .left img:last-child {
	margin-bottom: 0;
}
#top .sec_content ol li dl dt{
	font-size:22px;
	margin: 0 0 7px;
}
#top .sec_content ol li dl dt span{
	font-size:13px;
	margin:0 0 0 0;
	display: block;
}
#top .sec_content ol li dl dd{
	font-size:13px;
}

#top .sec_content ol li .right{
	width: 260px;
	float: left;
	margin:10px 0 0 0;
}
#top .sec_content ol li .right img{
}

.more_btn {
	background-size: 25px;
	font-size: 13px;
	background-size: 25px 25px;
}
.more_btn:hover {
	opacity: 1;
}
.more_btn.open {
	padding: 10px 30px 10px 0;
}

.more_detail {
	top: 160px;
	font-size: 12px;
	padding: 5px 25px 5px 0;
	background-size: 20px;
}

#top #philosophy h2{
	background-size:cover;
	width:76px;
	height:106px;
}

#top #what h2{
	background-size:cover;
	width:80px;
	height:106px;
}
#top #what figure{
	padding:0 0 0 0;
	margin:0 auto;
	width:262px;
	height:280px;
}
#top #what figure p{
	background-size:cover;
}
#top #what figure p.parts1{
	top: 126px;
	left: 11px;
	width:234px;
	height:36px;

	opacity:0;
}
#top #what figure p.parts2{
	top: 25px;
	left: 10px;
	width:110px;
	height:123px;

	opacity:0;
	margin-top:-15px;
}
#top #what figure p.parts3{
	top: 25px;
	left: 136px;
	width:110px;
	height:123px;

	opacity:0;
	margin-top:-15px;
}
#top #what figure p.parts4{
	top: 189px;
	left: 73px;
	width:110px;
	height:110px;

	opacity:0;
	margin-top:-15px;
}
#top #what figure p.parts5{
	top: 148px;
	left: 73px;
	width:110px;
	height:41px;

	height:0;
	top: 189px;
}
#top #what figure p.parts6a{
	background-size:254px 254px;
	top: 22px;
	left: 1px;
	width:129px;
	height:254px;

	height:0;
	margin-top:254px;
}
#top #what figure p.parts6b{
	background-size:254px 254px;
	top: 22px;
	left: 131px;
	width:129px;
	height:254px;

	height:0;
}

#top #what figure.anime_start p.parts5{
	height:41px;
	top: 148px;
}
#top #what figure.anime_start p.parts6a{
	height:254px;
}
#top #what figure.anime_start p.parts6b{
	height:254px;
}

#top #our h2 {
	background-size: cover;
	width: 80px;
	height: 106px;
	position: relative;
	top: 0;
}
#top #our hr {
	margin: 15px 0 15px 0;
}
#top #our p {
	line-height: 1.7;
	letter-spacing: 0;
	margin-bottom: 1em;
	font-size: 13px;
}
#top #our ul {
	font-size: 13px;
	flex-wrap: nowrap;
	height: auto;
}
#top #our ul li:last-child {
	margin-bottom: 0;
}

#top #what h2{
	background-size:cover;
	width:80px;
	height:106px;
}

#top #profile h2{
	background-size:cover;
	width:116px;
	height:106px;
}
#top #profile dl{
	font-size:13px;
	width:auto;
	margin:0 0 0 0;
	padding:0 0 30px 20px;
}
#top #profile dl.mgn_btm_50{
	margin:0 0 20px 0;
}
#top #profile h3{
	display:none;
}
#top #profile .open_toggle{
	width:auto;
}
#top #profile .open_toggle:after{
	left:auto;
	right:0;
}

/*---------------------------------------------*/
/* access */

#access .map_image{
	width:auto;
	margin:30px auto 20px auto;
}
#access .map_image img{
	width:100%;
	height:auto;
}

#access .map_info{
	width:auto;
	margin:0 10px 25px 10px;
}
#access .map_info dl{
	width:auto;
	float:none !important;
	margin:0 0 30px 0;
}
#access .map_info dl dt{
	font-size:13px;
	margin:0 0 15px 0;
}
#access .map_info dl dd{
	font-size:13px;
}

#access .map_link{
	width:auto;
	margin:0 10px 30px 10px;
}
#access .map_link li{
	margin:0 25px 0 0;
}
#access .map_link li:first-child{
	margin:0 0 0 0;
}


/*---------------------------------------------*/
/* recruit */
#recruit{
	width:auto;
	margin:40px auto 100px auto;
}

#recruit h2{
	margin:0 0 30px 0;
}

#recruit article{
	margin:0 10px 30px 10px;
}

#recruit p.read{
	margin:0 10px 50px 10px;
	font-size:13px;
}

#recruit article h4{
	font-size:15px;
}
#recruit article h4 span{
	font-size:13px;
}

#recruit article a.anchor_btn{
	padding: 15px 40px 15px 15px;
	font-size: 14px;
	line-height: 1.6;
	background-position: center right 10px;
}

#recruit article table{
	margin:0 0 50px 0;
}
#recruit article table tr th{
	padding:15px 15px 15px 0;
	width:65px;
	font-size:13px;
}
#recruit article table tr td{
	padding:15px 0 15px 0;
	font-size:13px;
}


#recruit article .entry{
	margin:0 0 100px 0;
}
#recruit article .entry p{
	font-size:13px;
}
#recruit article .entry a.inner_btn{
	width:auto;
	line-height:1;
	text-indent:0;
	text-align:center;
	padding:22px 34px 22px 0;
	background-position:center right 10px;
	margin:0 auto 40px auto;
	font-size:14px;
}
#recruit article .entry a.inner_btn span{
	margin-left:12px;
	font-size:14px;
}

#recruit article .entry a.outer_btn{
	font-size:14px;
}

/*---------------------------------------------*/
/* faq */
#faq{
	width:auto;
	margin:40px auto 100px auto;
}

#faq h2{
	margin:0 0 30px 0;
}

#faq article{
	margin:0 10px 30px 10px;
}

#faq article section .question a{
	text-indent:0px;
	font-size:14px;
	background-position:center right 10px;
	padding:20px 35px 20px 10px;
}

#faq article section .answer{
	padding:10px 10px 25px 25px;
	font-size:13px;
}
#faq article section .answer .innerlink a{
	display:block;
	margin: 2px 0 0 10px;
}

#faq .tocontact{
	padding:50px 0 0 0;
	margin:0 10px;
}
#faq .tocontact p{
	font-size:13px;
}
#faq .tocontact a.inner_btn{
	width:auto;
	text-indent:0;
	text-align:center;
}



/*---------------------------------------------*/
/* works gallery */
#works_gallery .selectors{
	width:100%;
	margin:25px auto;
}
#works_gallery .selectors > div{
	width:auto;
	float:none;
	margin:0 0 15px 10px;
}
#works_gallery .selectors > div:after {
	content: "";
	clear: both;
	display: block;
}
#works_gallery .selectors > div ul{
	width:65%;
	right:6%;
}
#works_gallery .selectors > div h3{
	width:25%;
}
#works_gallery .selectors > div p{
	width:65%;
}

#works_gallery .gallery_list{
	width:100%;
	margin:0 auto 50px auto;
}
#works_gallery .gallery_list ul li{
	float:left;
	width:44%;
	height:180px;
	margin:0 3% 30px 3%;
}
#works_gallery .gallery_list ul li a.thumb{
	width:auto;
	height:auto;
}
#works_gallery .gallery_list ul li a.thumb img{
	width:100%;
	height:auto;
}
#works_gallery .gallery_list ul li h3{
	font-size:13px;
}


#works_gallery .works_detail{
	width:auto;
	margin:25px auto 0;
	padding:0 10px;
}
#works_gallery .works_detail > div{
	margin:0 auto 35px auto;
}
#works_gallery .works_detail .left{
	float:none;
	width:auto;
}
#works_gallery .works_detail .right{
	float:none;
	width:auto;
	padding:15px 0 0 0;
}
#works_gallery .works_detail p.date{
	font-size:12px;
	margin:0 0 10px 0;
}
#works_gallery .works_detail h2{
	font-size:18px;
}
#works_gallery .works_detail p.comment{
	font-size:12px;
	margin:0 0 15px 0;
}
#works_gallery .works_detail p.credit{
	font-size:12px;
	margin:0 0 0 0;
}

#works_gallery .works_detail img{
	width:100%;
	height:auto;
	margin:0 0 20px 0;
}

#works_gallery .prevnext{
	width:auto;
	margin:40px auto 40px auto;
	padding:0 10px;
	font-size:13px;
	position:relative;
}

/*---------------------------------------------*/
/* activity */
#activity .selectors{
	width:100%;
	margin:25px auto;
	padding:0;
}
#activity .selectors > div{
	width:auto;
	float:none;
	margin:0 0 15px 10px;
}
#activity .selectors > div:after {
	content: "";
	clear: both;
	display: block;
}
#activity .selectors > div h3{
	width:25%;
}
#activity .selectors > div p{
	width:65%;
}
#activity .selectors > div ul{
	right:6%;
	width:65%;
}

#activity .selectors > div.search{
	width:92%;
}
#activity .selectors > div.search input[type="text"]{
	width:calc(100% - 43px);
}

#activity .activity_list{
	width:100%;
	margin:0 auto 50px auto;
}
#activity .activity_list ul{
	width:100%;
	min-height:400px;
}
#activity .activity_list ul li{
	float:left;
	width:44%;
	margin:0 3% 10px 3%;
	padding:40px 0 10px 0;
}

#activity .activity_list ul li p.thumb{
	width:auto;
	display:block;
	margin:0 0 8px 0;
}
#activity .activity_list ul li p.thumb img{
	width:100%;
	height:auto;
}

#activity .activity_detail{
	width:auto;
	margin:25px auto 0;
	padding:0 10px;
}
#activity .activity_detail p.category{
	font-size:12px;
	margin:0 0 10px 0;
}
#activity .activity_detail h2{
	font-size:18px;
	margin:0 0 15px 0;
}
#activity .activity_detail p.date{
	font-size:12px;
	margin:0 0 20px 0;
}
#activity .activity_detail p.cover{
	margin:0 auto 15px auto;
}
#activity .activity_detail p.cover img{
	width:100%;
	height:auto;
}
#activity .activity_detail div.body{
	line-height:2;
	font-size: 13px;
}
#activity .activity_detail div.body img{
	width:100%;
	height:auto;
}

#activity .prevnext{
	width:auto;
	margin:40px auto 40px auto;
	padding:0 10px;
	font-size:13px;
	position:relative;
}

#activity_recommend{
	margin:0 auto 0 auto;
	padding:20px 10px 50px 10px;
	width:auto;
}
#activity_recommend ul li{
	margin:0 0 20px 0;
}
#activity_recommend ul li a{
	white-space:normal;
	line-height:1.2;
}
#activity_recommend ul li a span.category{
	margin:0 0 0 0;
}
#activity_recommend ul li a span.category:after{
	display:block;
	content:"";
}


/*---------------------------------------------*/
/* contact */
#contact section{
	padding:20px 0 0 0;
	margin:0 10px 50px 10px;
	width:auto;
}
#contact section h2{
	margin:0 0 30px 0;
	font-size:18px;
}
#contact .description_box{
	padding:15px 20px;
	font-size:13px;
	margin:0 0 15px 0;
}
#contact .error_box{
	margin:0 0 15px 0;
}
#contact .error_box p{
    background-size: 16px;
    padding: 0 0 0 20px;
    font-size: 13px;
    line-height: 20px;
    height: 20px;
}

#contact form h3{
	font-size:14px;
	margin:0 0 25px 0;
}
#contact form h3 small{
	font-size:12px;
	display:block;
}

#contact .form_wrap fieldset{
	width:auto;
}
#contact .form_wrap fieldset legend{
	font-size:14px;
	height:auto;
	background-position: left top;
}
#contact .form_wrap fieldset legend span{
	font-size:12px;
	margin:0 0 0 12px;
}
#contact .form_wrap fieldset.require legend:after{
	font-size:10px;
	vertical-align:top;
}
#contact .form_wrap fieldset input{
    font-size: 14px;
    padding: 10px 10px;
}

#contact .form_btns{
	width:auto;
}
#contact .form_btns li{
	font-size:14px;
	margin:0 10px;
}
#contact .form_btns li a{
	display:block;
	padding:15px 30px;
	border:1px solid #cccccc;
	text-decoration:none;
	background-color:#fff;
	cursor:pointer;
}

#contact .pulldown_selected{
	font-size: 15px;
	padding: 10px 30px 10px 8px;
	line-height: 1.5;
	width: auto;
	height: auto;
	background-position: right 10px center;
}
#contact .pulldown_items{
	top:auto;
	width:auto;
}
#contact .pulldown_items li{
    padding: 8px 10px 8px 30px;
    font-size: 15px;
    text-indent: 0px;
    line-height: 1.5;
	background-position:12px center;
}


/*confirm*/
#contact .form_wrap dl{
	padding:14px 5px 10px 5px;
}



/*---------------------------------------------*/
/* policy */
#policy_isms .sec_policy{
	padding:20px 0 0 0;
	margin:0 10px 50px 10px;
	width:auto;
}

#policy_copyright .sec_policy{
	padding:20px 0 0 0;
	margin:0 10px 50px 10px;
	width:auto;
}
