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

h1,h2,h3,p.txt,ul{
	text-align: left;
}

/*ローディング*/
#top #loader {
    width: 24px;
    height: 24px;
    display: block;
    position: fixed;
    _position: absolute; /* IE6対策 */
    top: 50%;
    left: 50%;
    margin-top: -12px; /* heightの半分のマイナス値 */
    margin-left: -12px; /* widthの半分のマイナス値 */
    z-index: 100;
    background: url(../images/loading.gif) no-repeat;
	-webkit-background-size: 24px;
	-moz-background-size: 24px;
	background-size: 24px;
}
#top #fade {
    width: 100%;
    height: 100%;
    display: block;
    background-color: #fff;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 9999;
}

/*wrapper ローディング用*/
#top #wrapper{
	overflow: hidden;
	opacity: 0;
}


#top #wrap .inner {
    max-width: 100%;
    width: 100%;
    overflow: visible;
    margin: 0 auto;
}
#top #contents{
    max-width: 100%;
}
#top .topBox{
	margin: 0 auto;
	margin-bottom: 80px;
	max-width: 1020px;
	width: 94%;
}
#top #wrap footer .inner {
    max-width: 1020px;
    width: 94%;
    overflow: hidden;
    margin: 0 auto;
}
	@media screen and (max-width: 640px) {
		#top .topBox{
			margin-bottom: 40px;
		}
	}
	@media screen and (max-width: 640px) {
		#wrap .inner{
			width: 94%;
		}
		#contents{
			max-width: 100%;
			width: 100%;
			margin: 0 auto;
			float: none;
			position: relative;
			overflow: hidden;
		}
	}

#top h2{
	margin-bottom: 25px;
	font-family: 'Josefin Sans', "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-weight: normal;
	color: #4f4e4f;
	font-size: 20px;
	border-bottom: 1px solid #dcdcdc;
}
#top h2 span{
	padding-left: 20px;
	color: #909090;
	font-size: 10px;
}
.ttl{
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.ttl .more a{
	display: inline-block;
	background: url(../images/arrow_brown.png) right 50% no-repeat;
	-webkit-background-size: 8px;
	-moz-background-size: 8px;
	background-size: 8px;
	padding: 2px 20px;
	position: absolute;
	top: 0;
	right: 0;
	font-size: 86%;
	text-decoration: none;
}
.ttl .more a:hover{
	color: #A88453;
}
#top h3{
	color: #A88453;
	font-size: 143%;
	font-weight: normal;
	margin-bottom: 1.5em;
}
	@media screen and (max-width: 820px) {
		#top h2{
			font-size: 1.2rem;
		}
		#top h2 span{
			padding-left: 7px;
		}
	}

	@media screen and (max-width: 640px) {
		.ttl .more a{
			-moz-border-radius: 3px;
			-webkit-border-radius: 3px;
			border-radius: 3px;
			/*display: inline-block;*/
			background: #d1b38b url(../images/arrow_white.png) 94% 50% no-repeat;
			-webkit-background-size: 8px;
			-moz-background-size: 8px;
			background-size: 8px;
			padding: 2px 6% 2px 3%;
			/*position: absolute;*/
			/*top: 0;*/
			/*right: 0;*/
			font-size: 0.7rem;
			/*text-decoration: none;*/
			color: #fff;
		}
		.ttl .more a:hover{
			color: #fff;
		}
		#top h3{
			font-size: 1.1rem;
			margin-bottom: 1em;
		}
		#contents h2{
			margin-bottom: 20px;
			padding-bottom: 5px;
		}
	}

/* #concept
----------------------------------------- */
#concept .yakusoku .rightTxt{
	padding-bottom: 80px;
}
#concept .his .rightImg{
	max-width: 350px;
	width: 25%;
}
#concept .his .leftTxt{
	max-width: 720px;
	width: 72%;
}
#concept .his .rightImg ul{
	margin-left: -40px;
	/*padding-left: 40px;*/
}
#concept .his .rightImg ul li span{
	display: block;
	padding-left: 40px;
}

#concept .his .rightImg ul li.first{
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #dcdcdc;
}

#concept .link_bn_list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
#concept .link_bn_list li {
    width: 48%;
    margin-bottom: 20px;
}
#concept .link_bn_list li img {
    width: auto;
    max-width: 100%;
    height: auto;
}

#concept .txt_wrap {
}


	@media screen and (max-width: 640px) {
		#concept .yakusoku .rightTxt{
			padding-bottom: 20px;
		}
		#concept .his .rightImg{
			max-width: 100%;
			width: 100%;
		}
		#concept .his .leftTxt{
			max-width: 100%;
			width: 100%;
		}
		#concept .his .rightImg ul{
			margin: 0 auto;
			display: table;
		}
		#concept .his .rightImg ul li{
			padding: 10px;
			display: table-cell;
			width: 50%;
		}
		#concept .his .rightImg ul li span{
			/*display: block;*/
			padding-left: 0;
		}

		#concept .his .rightImg ul li.first{
			margin-bottom: 0;
			padding-bottom: 0;
			border-bottom: none;
		}
        
        #concept .link_bn_list li {
    width: 100%;
}
        #concept .link_bn_list li:first-child {
    margin-bottom: 20px;
}
	}


/* #works_carousel
----------------------------------------- */
#works_carouselWrap {
    position: relative;
    margin-bottom: -45px;
}
#works_carousel {
    margin-bottom: 130px;
    margin-top: -80px;
    width: 100%;
    height: 440px;
    overflow: hidden;
}
#works_carousel {
    /*float: left;*/
    /*width: 100%;*/
}
.works_a {
    float: left;
    width: 510px;
    display: block;
    height: 440px;
}
.works01 {
    float: left;
    width: 510px;
}
.works01 div {
    float: left;
    height: 372px;
    width: 100%;
    margin-bottom: 1.5em;
    overflow: hidden;
}
.works01 div img {
    height: 100%;
    margin: 0 auto;
}
.works01 .txt {
    text-align: center;
}
#works_prev {
    height: 47px;
    width: 24px;
    position: absolute;
    z-index: 2;
    left: 30px;
    top: 50%;
    margin-top: -60px;
    cursor: pointer;
    background-image: url(../images/arrow_prev_02.png);
    background-repeat: no-repeat;
    background-position: left top;
    text-indent: -9999px;
    background-size:24px 47px;
}
#works_next {
    height: 47px;
    width: 24px;
    position: absolute;
    z-index: 2;
    right: 30px;
    top: 50%;
    margin-top: -60px;
    cursor: pointer;
    background-image: url(../images/arrow_next_02.png);
    background-repeat: no-repeat;
    background-position: left top;
    text-indent: -9999px;
    background-size:24px 47px;
}

	@media screen and (max-width: 640px) {
		#works_carouselWrap {
		    /*position: relative;*/
		    margin-bottom: 0;
		}
		#works_carousel {
		    margin-bottom: 70px;
		    margin-top: -35px;
		    /*width: 100%;*/
			height: 240px;
		    /*overflow: hidden;*/
		}
		#works_carousel {
			/*float: left;*/
			/*width: 100%;*/
		}
		.works_a {
			/*float: left;*/
			width: 320px;
			height: 240px;
			/*display: block;*/
		}
		.works01 {
			/*float: left;*/
			width: 320px;
		}
		.works01 div {
			/*float: left;*/
			/*width: 100%;*/
			margin-bottom: 1em;
			height: 200px;
		}
		.works01 div img {
		    height: auto;
		    width: 100%;
		}
		#works_prev {
			/*height: 47px;*/
			width: 12px;
			/*position: absolute;*/
			/*z-index: 2;*/
			left: 10px;
			/*top: 130px;*/
			/*cursor: pointer;*/
/*			background-image: url(../images/arrow_prev.png);
			background-repeat: no-repeat;
			background-position: left center;
			text-indent: -9999px;*/
			background-size:12px auto;
			margin-top: -35px;
		}
		#works_next {
			/*height: 47px;*/
			width: 12px;
/*			position: absolute;
			z-index: 2;*/
			right: 10px;
			/*top: 130px;*/
/*			cursor: pointer;
			background-image: url(../images/arrow_next.png);
			background-repeat: no-repeat;
			background-position: left center;
			text-indent: -9999px;*/
			background-size:12px auto;
			margin-top: -35px;
		}
	}
/* #info
----------------------------------------- */
#info .news dl{
	text-align: left;
	border-bottom: 1px dotted #989898;
	padding: 0 10px 20px;
	margin-bottom: 20px;
	overflow: hidden;
	font-size: 86%;
}
#info .left.news dt{
	width: 18%;
	float: left;
	padding-right: 2%;
}
#info .left.news dd{
	float: left;
	width: 82%;
}
#info .right li{
	margin-bottom: 20px;
}

	@media screen and (max-width: 640px) {
		#info .news dl{
			padding: 0 5px 10px;
			margin-bottom: 10px;
			font-size: 0.7rem;
		}
	}
	@media screen and (max-width: 320px) {
		#info .news{
			padding-left: 0;
			padding-right: 0;
		}
		#info .news dl{
			padding: 0 0 10px;
		}
		#info .left.news dt{
			width: 23%;
            white-space: nowrap;
		}
		#info .left.news dd{
			width: 75%;
		}
	}
/* #evnt
----------------------------------------- */
#event .lineBox{
	margin-right: 0;
}
	@media screen and (max-width: 640px) {

	}


/* #contact.topBox
----------------------------------------- */
#contact.topBox{
    max-width: 100%;
    width: 100%;
}
#top #wrap #contact.topBox .inner {
    max-width: 1020px;
    width: 94%;
}

/* #link_bn_wrap
----------------------------------------- */
#top #wrap #link_bn_wrap .inner {
    max-width: 1020px;
    width: 94%;
}



/* #event
----------------------------------------- */
#event {
	padding-top: 0px;
}

#event .inner {
    position: relative;
	max-width: 1080px;
    padding: 0 50px;
    background: #FFFFFF;
    margin-top: -50px;
    z-index: 2;
    overflow: hidden;
}

#event .event_cat_list {
	justify-content: flex-start;
    padding: 25px 0;
}

#event .event_cat_list > li {
    margin-right: 35px;
    margin-bottom: 15px;
    -webkit-transition: all .8s;
    transition: all .8s;
}

#event .event_cat_list > li:last-child {
	margin-right: 0px;
}

#event .event_cat_list > li a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
}

#event .event_cat_list > li a::before{
        position: relative;
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background: url("../images/cat_square_bk.png") no-repeat center center;
    background-size: contain;
    margin-right: 10px;
}

#event .event_cat_list > li.current a::before{
    background: url("../images/cat_square_bk_check.png") no-repeat center center;
    background-size: contain;
}

#event .event_cat_list > li a:hover,
#event .event_cat_list > li.current a::after,
#event .event_cat_list > li a:hover::after {
	opacity: 1;
}


#event .blog_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#event .blog_list > li {
	width: -webkit-calc(300 / 980 * 100%);
    width: calc(300 / 980 * 100%);
	margin: 0;
	margin-bottom: 60px;
}

#event .data_list {
    justify-content: flex-start;
    flex-wrap: wrap;
	font-size: 12px;
	line-height: 1.4;
    margin-bottom: 13px;
}

#event .data_list .day {
}

#event .data_list .category {
    margin-left: 8px;
    padding-left: 8px;
    border-left: 1px solid #000000;
}
/*#event .data_list .category a {
	color: #808080;
}*/

#event h3 {
    font-size: 16px;
	line-height: 1.43;
}

#event .blog_list a {
    display: block;
    -webkit-transition: all .6s;
    transition: all .6s;
}
#event .blog_list a:hover {
    opacity: .6;
}

#event .img_wrap {
    margin-bottom: 15px;
}

#event .img_wrap img {
    width: 100%;
    height: auto;
}

#event .txt_wrap {
    font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0;
    margin-top: 10px;
    
    display: none;
}

#event .link_wrap {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
}
#event .link_wrap .view_link {
    max-width: 100px;
    padding-top: 0px;
    margin-top: 0px;
    border-top: none;
    padding-bottom: 0px;
    margin-bottom: 0px;
    border-bottom: none;
}



@media screen and (max-width: 768px) {
#event {
	padding-top: 0px;
}
#event .inner {
    position: relative;
	max-width: 1080px;
    padding: 0 20px;
    background: #FFFFFF;
    margin-top: -30px;
    z-index: 2;
    overflow: hidden;
}
#event .blog_list {
	margin-top: 0px;
}
    #event .fix_btn {
    position: absolute;
    top: 30px;
    right: 0;
}
    #event .data_list {
    margin-bottom: 5px;
}
    #event .data_list .data {
    font-size: 10px;
    margin-right: 0px;
    width: 100%;
}
    
    #event .data_list .category {
    font-size: 10px;
}

    #event h3 {
    font-size: 14px;
}
        
#event .img_wrap {
    margin-bottom: 10px;
}
    #event .txt_wrap {
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: 0;
    margin-top: 10px;
}
    
    #event .link_wrap .view_link {
    max-width: 90px;
}
    
    #event .link_wrap {
    margin-top: 10px;
}
    
    #event .blog_list > li {
    width: 46%;
	margin: 0;
	margin-bottom: 30px;
}

#event .blog_list > li:nth-child(4n+1) {
	margin: 0;
	margin-bottom: 20px;
}
#event .blog_list > li:nth-child(4n) {
	margin: 0;
	margin-bottom: 20px;
}
#event .event_cat_list > li {
    margin-right: 20px;
    margin-bottom: 10px;
}
#event .event_cat_list {
    justify-content: flex-start;
    padding: 15px 0;
}
}