@charset "UTF-8";





@media screen and (min-width: 1080px) {
	#gheader {
		background: transparent;
		transition: background 300ms ease-out;
	}
	
	body.fixed-header {
	}
	body.fixed-header #gheader {
		background: #fff;
	}
}





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

	
	
	
	#wrapper {
		width: 100%;
		overflow-x: hidden;
	}
	#wrapper > main {
		padding: 68px 0 0;
	}
	
	
	
	#bg {
		position: absolute;
		width: 234px;
		left: 50%;
		top: 385px;
		z-index: 10;
		margin-left: -117px;
		overflow: hidden;
		
		-ms-transition:     height 300ms ease-out;
		-webkit-transition: height 300ms ease-out;
		-moz-transition:    height 300ms ease-out;
		transition:         height 300ms ease-out;
	}
	#bg span:nth-child(1) {
		display: block;
		height: 255px;
		background: url(../img/common/pen_top.png) 0 0 no-repeat;
	}
	#bg span:nth-child(2) {
		display: block;
		background: url(../img/common/pen_loop.png) 0 0 repeat-y;
		
		-ms-transition:     height 300ms ease-out;
		-webkit-transition: height 300ms ease-out;
		-moz-transition:    height 300ms ease-out;
		transition:         height 300ms ease-out;
	}
	
	
	
	
	
	
	
	
	
	
	#caption {
		width: 563px;
		height: 124px;
		margin: 0 auto;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/caption.png) 0 0 no-repeat;
	}
	
	#wrapper > main h1 {
		width: 730px;
		height: 162px;
		margin: 85px auto 0;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		z-index: 50;
		background: url(../img/common/logo_main.png?20190221) 0 0 no-repeat;
	}
	
	
	
	#concept {
		position: relative;
		margin: 80px 0 100px;
		padding: 0 0 60px;
		background: rgba(255,255,255,0.8);
	}
	#concept .deco {
		position: absolute;
		display: block;
		width: 1340px;
		height: 492px;
		left: 50%;
		top: -115px;
		margin-left: -670px;
		background: url(../img/common/bg_dots.png) 0 0 no-repeat;
	}
	#concept header {
		position: relative;
		height: 170px;
		z-index: 10;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/title_concept.png) 50% 50% no-repeat;
	}
	#concept article {
		position: relative;
		width: 700px;
		z-index: 10;
		margin: 0 auto;
		text-align: center;
		font-size: 16px;
		line-height: 2;
	}
	#concept article p + p {
		margin-top: 30px;
	}
	#concept article .detail {
		height: 0;
		overflow: hidden;
		
		-ms-transition:     height 300ms ease-out;
		-webkit-transition: height 300ms ease-out;
		-moz-transition:    height 300ms ease-out;
		transition:         height 300ms ease-out;
	}
	#concept .icon {
		display: block;
		height: 80px;
		background: url(../img/dot.png) 50% 40px no-repeat;
		
		-ms-transition:     height 300ms ease-out;
		-webkit-transition: height 300ms ease-out;
		-moz-transition:    height 300ms ease-out;
		transition:         height 300ms ease-out;
	}
	#concept.opened .icon {
		height: 30px;
	}
	
	#concept nav {
		position: relative;
		z-index: 10;
		margin-top: 36px;
	}
	
	#concept nav span.active {
		display: none;
	}
	#concept.opened nav span.active {
		display: inline-block;
	}
	#concept.opened nav span.default {
		display: none;
	}
	
	
	
	
	
	.entrance {
		width: 866px;
		margin: 0 auto;
	}
	.entrance:after {
		clear: both;
		content: "";
		display: block;
		visibility: hidden;
	}
	.entrance dt {
		margin: 0 0 24px;
	}
	.entrance dd p {
		font-size: 16px;
		line-height: 1.8;
	}
	.entrance dd nav {
		margin: 25px 0 0;
	}
	
	
	
	#about h3 {
		float: left;
		width: 360px;
		height: 360px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/circle_about.png?20190221) 50% 50% no-repeat;
		background-size: 360px 360px;
	}
	#about article {
		float: right;
		width: 410px;
		height: 360px;
		margin-right: 25px;
		font-size: 0;
	}
	#about article:before {
		content: "";
		display: inline-block;
		width: 0;
		height: 360px;
		background: #f00;
		vertical-align: middle;
	}
	#about article dl {
		width: 410px;
		display: inline-block;
		vertical-align: middle;
	}
	#about article dt {
		width: 409px;
		height: 63px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/subtitle_about.png) 0 0 no-repeat;
	}
	
	
	
	
	#card {
		margin-top: 80px;
	}
	#card h3 {
		float: right;
		width: 360px;
		height: 349px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/circle_card.png) 50% 50% no-repeat;
		background-size: 360px 349px;
	}
	#card article {
		float: left;
		width: 410px;
		height: 349px;
		margin-left: 25px;
		font-size: 0;
	}
	#card article:before {
		content: "";
		display: inline-block;
		width: 0;
		height: 349px;
		background: #f00;
		vertical-align: middle;
	}
	#card article dl {
		width: 410px;
		display: inline-block;
		vertical-align: middle;
	}
	#card article dt {
		width: 409px;
		height: 103px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/subtitle_card.png) 0 0 no-repeat;
	}
	
	#card article .notice {
		box-sizing: border-box;
		display: inline-block;
		width: 400px;
		margin: 0 0 10px;
		padding: 8px 0;
		text-align: center;
		font-size: 18px;
		font-weight: bold;
		color: #d51323;
		border: 3px solid #d51323;
	}
	
	
	
	#history {
		margin-top: 60px;
	}
	#history h3 {
		float: left;
		width: 360px;
		height: 360px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/circle_history.png) 50% 50% no-repeat;
		background-size: 360px 360px;
	}
	#history article {
		float: right;
		width: 410px;
		height: 360px;
		margin-right: 25px;
		font-size: 0;
	}
	#history article:before {
		content: "";
		display: inline-block;
		width: 0;
		height: 360px;
		background: #f00;
		vertical-align: middle;
	}
	#history article dl {
		width: 410px;
		display: inline-block;
		vertical-align: middle;
	}
	#history article dt {
		width: 409px;
		height: 103px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/subtitle_history.png) 0 0 no-repeat;
	}
	
	
	
	
	#workshop {
		position: relative;
		max-width: 1480px;
		height: 446px;
		margin: 120px auto 0;
		background: url(../img/bg_workshop.jpg) 50% 0 no-repeat;
		box-shadow: 0 20px 8px rgba(0,0,0,0.15);
	}
	#workshop h3 {
		position: absolute;
		width: 698px;
		height: 113px;
		left: 50%;
		top: -42px;
		margin-left: -349px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/title_workshop.png) 0 0 no-repeat;
	}
	#workshop dl {
		padding-top: 80px;
	}
	#workshop dt {
		width: 706px;
		height: 139px;
		margin: 0 auto;
		font-size: 0;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/content_workshop.png) 0 0 no-repeat;
	}
	#workshop dd p {
		width: 660px;
		margin: 20px auto 35px;
		font-size: 16px;
		line-height: 1.8;
	}
}







@media screen and (min-width: 900px) {
	
	#concept.motion-layer {
		transition: all 1000ms ease-out;
	}
	#concept.motion-layer header {
		transition: all 1000ms ease-out 300ms;
	}
	#concept.motion-layer article {
		transition: all 1000ms ease-out 500ms;
	}
	#concept.motion-layer nav {
		transition: all 1000ms ease-out 700ms;
	}
	
	
	
	#concept.ready {
		transform: translateY(100px);
		opacity: 0;
	}
	#concept.ready header {
		transform: translateY(50px);
		opacity: 0;
	}
	#concept.ready article {
		transform: translateY(50px);
		opacity: 0;
	}
	#concept.ready nav {
		transform: translateY(50px);
		opacity: 0;
	}
	
	
	
	
	#about.motion-layer header {
		transition: all 1000ms ease-out 0;
	}
	#about.motion-layer article {
		transition: all 1000ms ease-out 250ms;
	}
	
	#about.ready header {
		transform: translateX(50px);
		opacity: 0;
	}
	#about.ready article {
		transform: translateX(100px);
		opacity: 0;
	}
	
	
	
	
	#card.motion-layer header {
		transition: all 1000ms ease-out 0;
	}
	#card.motion-layer article {
		transition: all 1000ms ease-out 250ms;
	}
	
	#card.ready header {
		transform: translateX(-50px);
		opacity: 0;
	}
	#card.ready article {
		transform: translateX(-100px);
		opacity: 0;
	}
	
	
	
	
	#workshop.motion-layer {
		transition: all 1000ms ease-out 0;
	}
	#workshop.motion-layer article {
		transition: all 1000ms ease-out 250ms;
	}
	
	#workshop.ready {
		transform: translateY(50px);
		opacity: 0;
	}
	#workshop.ready article {
		transform: translateY(50px);
		opacity: 0;
	}
	
	
	
	#history.motion-layer header {
		transition: all 1000ms ease-out 0;
	}
	#history.motion-layer article {
		transition: all 1000ms ease-out 250ms;
	}
	
	#history.ready header {
		transform: translateX(50px);
		opacity: 0;
	}
	#history.ready article {
		transform: translateX(100px);
		opacity: 0;
	}
}







@media screen and (max-width: 899px) {
	
	#gheader {
	}
	
	body.fixed-header {
	}
	body.fixed-header #gheader {
	}
	
	
	
	a.more {
		text-align: center;
		line-height: 35px;
		padding: 0;
	}
	
	
	
	
	
	
	#wrapper {
		width: 100%;
		overflow-x: hidden;
	}
	#wrapper > main {
	}
	
	
	
	#bg {
		position: absolute;
		width: 117px;
		left: 50%;
		top: 144px;
		z-index: 10;
		margin-left: -58.5px;
		overflow: hidden;
		
		-webkit-transition: height 300ms ease-out;
		-moz-transition:    height 300ms ease-out;
		transition:         height 300ms ease-out;
	}
	#bg span:nth-child(1) {
		display: block;
		height: 127.5px;
		background: url(../img/common/pen_top.png) 0 0 no-repeat;
		background-size: 117px 127.5px;
	}
	#bg span:nth-child(2) {
		display: block;
		background: url(../img/common/pen_loop.png) 0 0 repeat-y;
		background-size: 117px 705px;
		
		-webkit-transition: height 300ms ease-out;
		-moz-transition:    height 300ms ease-out;
		transition:         height 300ms ease-out;
	}
	
	
	
	
	
	
	
	
	#caption {
		width: 300px;
		height: 63px;
		margin: 0 auto;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/caption_sp.png) 0 0 no-repeat;
		background-size: 300px 63px;
	}
	
	#wrapper > main h1 {
		width: 305px;
		height: 68px;
		margin: 36px auto 0;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		z-index: 50;
		background: url(../img/common/logo_main.png?20190221) 0 0 no-repeat;
		background-size: 265px 68px;
	}
	
	
	
	#concept {
		position: relative;
		margin: 95px 0 50px;
		padding: 0 0 40px;
		background: rgba(255,255,255,0.8);
	}
	#concept .deco {
		position: absolute;
		display: block;
		width: 100%;
		height: 492px;
		padding-top: 32%;
		top: -5.333vw;
		background: url(../img/common/bg_dots_sp.png) 0 0 no-repeat;
		background-size: 100% auto;
	}
	#concept header {
		position: relative;
		height: 100px;
		z-index: 10;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/title_concept.png) 50% 50% no-repeat;
		background-size: 200px 16px;
	}
	#concept article {
		position: relative;
		max-width: 480px;
		margin: 0 auto;
		padding: 0 40px;
		z-index: 10;
		font-size: 12px;
		line-height: 1.8;
	}
	#concept article p + p,
	#concept article .detail p {
		margin-top: 20px;
	}
	#concept article .detail {
		height: 0;
		overflow: hidden;
		
		-webkit-transition: height 300ms ease-out;
		-moz-transition:    height 300ms ease-out;
		transition:         height 300ms ease-out;
	}
	#concept .icon {
		display: block;
		height: 30px;
		background: url(../img/dot.png) 50% 5px no-repeat;
		background-size: 2px 13.5px;
		
		-webkit-transition: height 300ms ease-out;
		-moz-transition:    height 300ms ease-out;
		transition:         height 300ms ease-out;
	}
	#concept.opened .icon {
		height: 0;
	}
	
	#concept nav {
		position: relative;
		max-width: 480px;
		z-index: 10;
		margin: 20px auto 0;
		padding: 0 40px;
	}
	
	#concept nav span.active {
		display: none;
	}
	#concept.opened nav span.active {
		display: inline-block;
	}
	#concept.opened nav span.default {
		display: none;
	}
	
	
	
	
	
	
	
	
	.entrance {
		padding: 0 40px;
	}
	.entrance:after {
		clear: both;
		content: "";
		display: block;
		visibility: hidden;
	}
	.entrance dl {
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}
	.entrance dt {
		width: 100%;
		margin: -25px 0 20px;
	}
	.entrance dd p {
		font-size: 12px;
		line-height: 1.6;
	}
	.entrance dd nav {
		margin: 20px 0 0;
	}
	
	
	
	
	#about h3 {
		width: 216px;
		height: 216px;
		margin: 0 auto;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/circle_about.png?20190221) 50% 50% no-repeat;
		background-size: 216px 216px;
	}
	#about article {
	}
	#about article dl {
	}
	#about article dt {
		font-size: 0;
		text-indent: 100%;
		padding-top: 15.462%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/subtitle_about_sp.png) 0 0 no-repeat;
		background-size: 100% auto;
	}
	
	
	
	
	#card {
		margin-top: 50px;
	}
	#card h3 {
		width: 216px;
		height: 210px;
		margin: 0 auto;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/circle_card.png) 50% 50% no-repeat;
		background-size: 216px 210px;
	}
	#card article {
	}
	#card article dl {
	}
	#card article dt {
		font-size: 0;
		padding-top: 23.865%;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/subtitle_card_sp.png) 0 0 no-repeat;
		background-size: 100% auto;
	}
	
	
	#card article .notice {
		box-sizing: border-box;
		display: inline-block;
		width: 100%;
		margin: 0 0 10px;
		padding: 6px 0;
		text-align: center;
		font-size: 13px;
		font-weight: bold;
		color: #d51323;
		border: 2px solid #d51323;
	}
	
	
	
	#history {
		margin-top: 35px;
	}
	#history h3 {
		width: 216px;
		height: 216px;
		margin: 0 auto;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/circle_history.png) 50% 50% no-repeat;
		background-size: 216px 216px;
	}
	#history article {
	}
	#history article dl {
	}
	#history article dt {
		font-size: 0;
		padding-top: 23.865%;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/subtitle_history_sp.png) 0 0 no-repeat;
		background-size: 100% auto;
	}
	
	
	
	
	
	
	#workshop {
		position: relative;
		margin: 70px 0 0;
		padding: 0 0 30px;
		background: url(../img/bg_workshop_sp.jpg) 50% 100% no-repeat;
		box-shadow: 0 20px 8px rgba(0,0,0,0.15);
		background-size: cover;
	}
	#workshop h3 {
		position: absolute;
		width: 311.5px;
		height: 56.5px;
		left: 50%;
		top: -20px;
		margin-left: -155.75px;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/title_workshop_sp.png) 0 0 no-repeat;
		background-size: 311.5px 56.5px;
	}
	#workshop dl {
		max-width: 480px;
		margin: 0 auto;
		padding: 40px 40px 0;
	}
	#workshop dt {
		margin: 0 auto;
		padding-top: 48.484%;
		font-size: 0;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../img/content_workshop_sp.png) 0 0 no-repeat;
		background-size: 100% auto;
	}
	#workshop dd {
		margin: 15px 0 0;
	}
	#workshop dd p {
		font-size: 12px;
		line-height: 1.6;
	}
	#workshop dd nav {
		margin-top: 20px;
	}
	
	
	
}
