@charset "utf-8";

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
header
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

.fsS {
	font-size: 0.85em;
}

header {
	width: 100%;
	min-height: 700px;
	background-image: url('../img/header_bg.jpg');
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	box-sizing: border-box;
	padding: 0 10px;
}

nav {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 25px 0 0;
}

	nav ul.nav_left {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: center;
		width: 360px;
		font-size: 0.9em;
	}
	
		nav ul.nav_left > li {
			width: 33.3333%;
			box-sizing: border-box;
			text-align: center;
		}
		
		nav ul.nav_left > li:nth-child(2) {
			border-left: 1px #fff solid;
			border-right: 1px #fff solid;
		}
	
	
	nav ul.nav_right {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		align-items: center;
		width: 440px;
		font-size: 0.8em;
	}
	
		nav ul.nav_right > li {
			width: calc(50% - 95px);
			box-sizing: border-box;
			text-align: center;
		}
		
		nav ul.nav_right > li.shop {
			width: 170px;
			border: 1px #fff solid;
			margin-left: 20px;
		}
		
			nav ul.nav_right > li.shop a {
				display: inline-block;
				width: 100%;
				padding: 5px;
				box-sizing: border-box;
			}
		
			nav ul.nav_right > li.shop a:hover {
				color: #505050;
				text-decoration: none;
				background-color: #fff;
			}


	header > div {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: center;
		width: calc(100% - 40px);
		max-width: 1040px;
		margin: 0 auto;
		padding: 40px 20px 0;
	}
	
		header > div > img {
			width: 100%;
		}
		
		header > div > img.nasori {
			max-width: 84px;
		}
		
		header > div > img.title {
			max-width: 102px;
		}
		
		header > div > img.reborn {
			max-width: 140px;
		}
		
		header > div > img.nasori_sp {
			max-width: 84px;
			display: none;
		}
		
		header > div > img.reborn_sp {
			max-width: 112px;
			display: none;
		}

@media screen and (max-width: 820px) {
	nav {
		justify-content: flex-start;
	}
	
		nav ul.nav_right {
			margin: 10px 0 0;
		}
}

@media screen and (max-width: 700px) {
	header {
		min-height: 0;
		background-image: url('../img/header_bg_sp.jpg');
	}
	
		header > div {
			padding: 40px 20px;
			min-height: 100vh;
			box-sizing: border-box;
		}
}
@media screen and (max-width: 650px) {
		header > div > img.nasori {
			max-width: 42px;
		}
		
		header > div > img.title {
			max-width: 51px;
		}
		
		header > div > img.reborn {
			max-width: 70px;
		}
}
@media screen and (max-width: 500px) {
	header {
		min-height: 0;
		background-image: url('../img/header_bg_sp_2.jpg');
	}
	
		header > div {
			width: 100%;
			padding: 0;
			display: block;
			position: relative;
		}
		
			header > div > img.nasori,
			header > div > img.reborn {
				display: none;
			}
			
			header > div > img.nasori_sp,
			header > div > img.reborn_sp,
			header > div > img.title {
				position: absolute;
				display: block;
			}
			
			header > div > img.nasori_sp {
				left: 55px;
				top: 15%;
			}
			
			header > div > img.reborn_sp {
				right: 55px;
				bottom: 15%;
			}
			
			header > div > img.title {
				max-width: 70px;
				left: calc(50% - 35px);
				top: calc(50% - 83px);
			}
}


main > section {
	width: 100%;
	margin: 0 auto;
	padding: 0 10px;
	box-sizing: border-box;
}


/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
ハンバーガーメニューアイコン
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
#menu_button {
	position: fixed;
	right: 12px;
	top: 12px;
	display: none;
	width: 28px;
	padding: 0;
	text-align: center;
	text-decoration: none;
	color: #fff;
	font-size: 0.7em;
	text-indent.0.1em;
	z-index: 8;
	background-color: rgba(255,255,255,0.75);
	padding: 8px;
}

	#menu_button p {
		margin: 15px 0 0 0;
	}
	
	#menu_button p.active::after {
		content: 'CLOSE';
		display: inline;
	}
	#menu_button p.close::before {
		content: 'MENU';
		display: inline;
	}
	

.menu-trigger,
.menu-trigger span {
	display: block;
	transition: all .4s;
	box-sizing: border-box;
	margin: 0 auto;
	text-align: center;
}
.menu-trigger {
	position: relative;
	width: 28px;
	height: 24px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #333333;
}

.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 11px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.menu-trigger span:nth-of-type(2)::after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background-color: #333333;
	transition: all .4s;
}

.menu-trigger.active span:nth-of-type(1) {
	transform: translateY(20px) scale(0);
}
.menu-trigger.active span:nth-of-type(2) {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2)::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.menu-trigger.active span:nth-of-type(3) {
	transform: translateY(-20px) scale(0);
}

@media screen and (max-width: 700px) {
	#menu_button {
		display: block;
	}
}


/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
サイドメニュー
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
@media screen and (max-width: 700px) {
	nav {
		position: fixed;
		top: 0;
		right: -400px;
		display: block;
		width: 100%;
		max-width: 400px;
		height: 100vh;
		box-sizing: border-box;
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		z-index: 7;
		background-color: rgba(20,20,20,0.8);
		padding: 50px 0 0;
	}
	
		nav ul.nav_left,
		nav ul.nav_right {
			display: block;
			width: 100%;
			font-size: 1.0em;
		}
		
			nav > ul.nav_left > li,
			nav > ul.nav_right > li {
				width: 100%;
			}
			
			nav ul.nav_left > li:nth-child(2) {
				border: none;
			}
			
			nav > ul.nav_right > li.shop {
				width: calc(100% - 20px);
				box-sizing: border-box;
				margin: 0 auto;
			}
			
				nav > ul.nav_left > li > a,
				nav > ul.nav_right > li > a {
					display: block;
					width: 100%;
					text-align: center;
					padding: 15px 0;
					color: #fff;
					margin: 8px 0;
				}
	
	nav.active {
		animation: nav_animation_1_1 1.2s ;
		animation-timing-function: ease;
		animation-iteration-count: 1;
		right: 0;
	}
	
	nav.close {
		animation: nav_animation_3_1 1.2s ;
		animation-timing-function: ease;
		animation-iteration-count: 1;
		right: -400px;
	}
}
@keyframes nav_animation_1_1 {
	0% {
		right: -400px;
	}
	60% {
		right: 0;
	}
}

@keyframes nav_animation_3_1 {
	0% {
		right: 0;
	}
	60% {
		right: -400px;
	}
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
isehikari
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
section#isehikari {
	max-width: 1920px;
	margin: 0 auto;
	background-image: url('../img/story_bg.png');
	background-position: right 721px center;
	background-size: auto 400px;
	background-repeat: no-repeat;
	padding: 120px 0;
}


	section#isehikari > div {
		width: 100%;
		max-width: 1080px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		flex-wrap: wrap;
	}
	
		section#isehikari > div > h2 {
			width: 100%;
			max-width: 116px;
			margin: 0 10px 0 0;
		}
		
			section#isehikari > div > h2 > img {
				width: 100%;
			}
	
		section#isehikari > div > img {
			width: calc(100% - 276px);
			max-width: 640px;
			margin: 0 0 0 120px;
		}
		
		section#isehikari > div > div.sp {
			display: none;
		}

@media screen and (max-width: 1500px) {
	section#isehikari {
		background-size: 62.4479% auto;
		background-position: left center;
	}
}

@media screen and (max-width: 920px) {
		section#isehikari > div > h2 {
			max-width: 80px;
		}
}
@media screen and (max-width: 800px) {
	section#isehikari {
		background-size: auto calc(100% - 320px);
		background-position: -400px calc(50% + 40px);
	}
	
		section#isehikari > div {
			display: block;
		}
		
			section#isehikari > div > h2,
			section#isehikari > div > img {
				display: none;
			}
			
			section#isehikari > div > div.sp {
				display: block;
				color: #333;
				width: 100%;
				max-width: 600px;
				margin: 0 auto;
			}
			
				section#isehikari > div > div.sp > h3 {
					display: inline-block;
					font-size: 2.0em;
					border-bottom: 1px #333 solid;
					padding: 0 5px 10px;
				}
				
				section#isehikari > div > div.sp > p {
					font-size: 0.9em;
					padding: 0 0 0 10px;
				}
				
				section#isehikari > div > div.sp > div {
					margin: 30px auto 0;
					padding: 0 10px;
				}
				
					section#isehikari > div > div.sp > div > p {
						margin: 15px auto;
					}
}

@media screen and (max-width: 520px) {
	section#isehikari {
			background-position: -900px calc(50% + 40px);
	}
	
						section#isehikari > div > div.sp > div > p > br {
							display: none;
						}
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
movie
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

section#movie {
	position:relative;
}

section#movie::before {
	content: '';
	display: block;
	width: 100%;
	height: 50%;
	background-color: #233a62;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}

	section#movie > a {
		display: block;
		width: 100%;
		max-width: 900px;
		margin: 0 auto;
	}
	
	section#movie > a:hover {
		background-color: #fff;
	}
	
		section#movie > a > img {
			width: 100%;
		}
		
		section#movie > a > img:hover {
			opacity: 0.5;
		}
		
@media screen and (max-width: 700px) {
		section#movie > a > img {
			display: none;
		}
		
	section#movie > a {
		background-image: url('../img/movie_link_sp.svg');
		background-position: center;
		background-size: contain;
		background-repeat: no-repeat;
	}
	
	section#movie > a::before {
		content: '';
		display: block;
		width: 100%;
		padding-top: 26.6666%;
	}
	
}


/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
nasori
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

section#nasori {
	background-color: #233a62;
}

section#reborn {
	background-color: #253318;
}

section.detail {
	padding: 90px 0 100px;
}

	section.detail > div {
		width: 100%;
		max-width: 1920px;
		margin: 0 auto;
	}
	
		section.detail > div > h2 {
			width: 100%;
			height: 230px;
			text-indent: 100%;
			white-space: nowrap;
			font-size: 0;
			background-position: center;
			background-size: cover;
			background-repeat: no-repeat;
			margin: 0 auto 90px;
			overflow: hidden;
		}
		
		section#nasori > div > h2 {
			background-image: url('../img/h2_nasori.svg');
		}
		
		section#reborn > div > h2 {
			background-image: url('../img/h2_reborn.svg');
		}
		
		section.detail > div > div {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			align-items: flex-start;
			
		}
		
			section.detail > div > div > img {
				width: 50%;
			}
			
			section.detail > div > div > div {
				width: calc(50% - 85px);
			}
			
				section.detail > div > div > div > h3 {
					font-size: 1.8em;
					border-bottom: 1px #fff solid;
					padding: 0 0 30px;
					margin: 0 0 45px;
				}
				
				section.detail > div > div > div > p {
					width: calc(100% - 10px);
					max-width: 450px;
				}
				
				section.detail > div > div > div > a.link {
					display: block;
					width: 100%;
					max-width: 250px;
					box-sizing: border-box;
					border: 1px #fff solid;
					margin: 34px 0 0;
					padding: 10px 0 10px 30px;
					font-size: 0.8em;
					letter-spacing: 0.1em;
					position: relative;
				}
				
				section.detail > div > div > div > a.link:hover {
					background-color: #fff;
					color: #505050;
					text-decoration: none;
				}
				
				section.detail > div > div > div > a.link::after {
					content: '';
					display: block;
					width: 42px;
					height: 6px;
					position: absolute;
					right: 25px;
					top: calc(50% - 3px);
					background-image: url('../img/arrow_white.svg');
					background-position: center;
					background-size: contain;
					background-repeat: no-repeat;
				}
				
				section#nasori > div > div > div > a.link:hover::after {
					background-image: url('../img/arrow_blue.svg');
				}
				
				section#reborn > div > div > div > a.link:hover::after {
					background-image: url('../img/arrow_green.svg');
				}
				
		
			nav ul.nav_right > li.shop a:hover {
				color: #505050;
				text-decoration: none;
				background-color: #fff;
			}


@media screen and (max-width: 1040px) {
			section.detail > div > div > img {
				width: 40%;
			}
			
			section.detail > div > div > div {
				width: calc(60% - 85px);
			}
}

@media screen and (max-width: 850px) {
		section.detail > div > div {
			display: block;
		}
		
			section.detail > div > div > img {
				width: 100%;
				max-width: 600px;
				display: block;
				margin: 0 auto;
			}
			
			section.detail > div > div > div {
				width: 100%;
				max-width: 600px;
				margin: 40px auto 0;
			}
			
				section.detail > div > div > div > p {
					width: calc(100% - 20px);
					max-width: 100%;
					margin: 10px auto;
				}
				
				
				section.detail > div > div > div > a.link {
					margin: 40px auto 0;
				}
}

@media screen and (max-width: 450px) {
				section.detail > div > div > div > h3 {
					font-size: 1.4em;
					padding: 0 10px 20px 10px;
					margin: 0 0 40px;
				}
}

@media screen and (max-width: 350px) {
				section.detail > div > div > div > h3 {
					font-size: 1.3em;
				}
}


/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
nasori_making
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

section#nasori_making {
	background-image: url('../img/nasori_bg.jpg');
}

section#reborn_making {
	background-image: url('../img/reborn_bg.jpg?2');
}

section.making {
	padding: 120px 0;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

	section.making > h3 {
		font-size: 1.4em;
		text-align: center;
		margin: 0 0 40px;
	}
	
	section.making > p {
		width: calc(100% - 20px);
		max-width: 700px;
		margin: 0 auto;
		line-height: 2.1em;
	}
	
/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
comment
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
section#nasori_comment {
	background-color: #233a62;
}

section#reborn_comment {
	background-color: #253318;
}

section.comment {
	padding: 95px 0;
}

	section.comment > h3 {
		font-size: 1.6em;
		text-align: center;
		margin: 0 0 55px;
	}
	
	section.comment > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		max-width: 1080px;
		margin: 0 auto;
	}
	
		section.comment > div > dl {
			width: 33.3333%;
			box-sizing: border-box;
			padding: 45px;
			border-left: 1px #fff solid;
			border-right: 1px #fff solid;
		}
		
		section.comment > div > dl:nth-child(2) {
			width: calc(100% - 66.6666%);
			border: none;
		}
		
		
			section.comment > div > dl > dt {
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
				align-items: center;
				text-align: center;
				font-size: 1.15em;
				min-height: 60px;
				margin: 0 0 30px;
			}
			
			section.comment > div > dl > dd {
				font-size: 0.9em;
				letter-spacing: 0.15em;
			}
			
			
	
	section.comment > p {
		width: calc(100% - 20px);
		max-width: 1080px;
		margin: 45px auto 0;
		text-align: right;
	}
	
		section.comment > p > br {
			display: none;
		}
	

@media screen and (max-width: 950px) {
		section.comment > div > dl {
			padding: 45px 30px;
		}
}

@media screen and (max-width: 850px) {
		section.comment > div > dl {
			width: 100%;
			border-left: none;
			border-right: none;
			border-top: 1px #fff solid;
			border-bottom: 1px #fff solid;
		}
		section.comment > div > dl:nth-child(2) {
			width: 100%;
		}
			
			section.comment > div > dl > dt {
				min-height: 0;
				margin: 0 0 20px;
			}
}
@media screen and (max-width: 500px) {
		section.comment > div > dl {
			padding: 30px 20px;
		}
		
			
}

@media screen and (max-width: 380px) {
		section.comment > p > br {
			display: inline;
		}
}


/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
status
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
section#nasori_status {
	background-color: #d8e1ef;
	color: #233a62;
}

section#reborn_status {
	background-color: #d2d6bf;
	color: #253318;
}

section.status {
	padding: 70px 0;
}

	section.status > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		max-width: 1080px;
		margin: 0 auto;
	}
	
	section.status > div:nth-child(2n) {
		flex-direction: row-reverse;
		margin: 70px auto 0;
	}
	
	
		section.status > div > img {
			width: 50%;
		}
		
		section.status > div > div {
			width: calc(50% - 65px);
			margin: 0 10px 0 0;
		}
		
		section.status > div:nth-child(2n) > div {
			width: calc(50% - 10px);
			margin: 0 0 0 10px;
		}
		
			section.status > div > div > h4 {
				font-size: 1.3em;
				margin: 0 0 25px;
				font-weight: bold;
				letter-spacing: 0.15em;
			}
			
				section.status > div > div > h4 > br {
					display: none;
				}
			
			
			section.status > div > div > dl {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				align-items: flex-start;
				letter-spacing: 0.1em;
			}
			
				section.status > div > div > dl > dt {
					width: 130px;
					font-weight: bold;
					margin: 15px 0;
				}
				
				section.status > div > div > dl > dd {
					width: calc(100% - 130px);
					font-weight: 500;
					margin: 15px 0;
				}
				
				
			section.status > div > div > a.link {
				display: block;
				width: 100%;
				max-width: 250px;
				box-sizing: border-box;
				border: 1px #fff solid;
				margin: 34px 0 0;
				padding: 10px 0 10px 30px;
				font-size: 0.8em;
				letter-spacing: 0.1em;
				position: relative;
			}
			
			section.status > div > div > a.link:hover {
				background-color: #fff;
				color: #505050;
				text-decoration: none;
			}
			
			section.status > div > div > a.link::after {
				content: '';
				display: block;
				width: 42px;
				height: 6px;
				position: absolute;
				right: 25px;
				top: calc(50% - 3px);
				background-image: url('../img/arrow_white.svg');
				background-position: center;
				background-size: contain;
				background-repeat: no-repeat;
			}
			
			section#nasori_status > div > div > a.link:hover::after,
			section#reborn_status > div > div > a.link:hover::after {
				background-image: url('../img/arrow_white.svg');
			}
			
			section#nasori_status > div > div > a.link {
				color: #233a62;
				border: 1px #233a62 solid;
			}
			
			section#nasori_status > div > div > a.link:hover {
				color: #fff;
				background-color: #233a62;
			}
			
			section#nasori_status > div > div > a.link::after {
				background-image: url('../img/arrow_blue.svg');
			}
			
			section#reborn_status > div > div > a.link {
				color: #253318;
				border: 1px #253318 solid;
			}
			
			section#reborn_status > div > div > a.link:hover {
				color: #fff;
				background-color: #253318;
			}
			
			section#reborn_status > div > div > a.link::after {
				background-image: url('../img/arrow_green.svg');
			}

@media screen and (max-width: 1080px) {
			section.status > div > img {
				width: 40%;
			}
			
			section.status > div > div {
				width: calc(60% - 40px);
			}
			
			section.status > div:nth-child(2n) > div {
				width: calc(60% - 10px);
			}
}

@media screen and (max-width: 900px) {
				section.status > div > div > h4 > br {
					display: inline;
				}
}

@media screen and (max-width: 800px) {
	section.status > div {
		display: block;
	}
	
		section.status > div > img {
			width: 100%;
			max-width: 400px;
			display: block;
			margin: 0 auto;
		}
		
		section.status > div > div,
		section.status > div:nth-child(2n) > div {
			width: calc(100% - 20px);
			max-width: 600px;
			margin: 40px auto 0;
		}
		
			section.status > div > div > h4 {
				text-align: center;
			}
				section.status > div > div > h4 > br {
					display: none;
				}
				
				
			section.status > div > div > dl {
				max-width: 500px;
				margin: 0 auto;
			}
			
			section.status > div > div > a.link {
				margin: 40px auto 0;
			}
}

@media screen and (max-width: 500px) {
			section.status > div > div > dl {
				max-width: 400px;
				font-size: 0.9em;
			}
			
			
				section.status > div > div > h4 > br {
					display: inline;
				}
				
				
				section.status > div > div > dl > dt {
					width: 100%;
					margin: 10px 0 0;
				}
				
				section.status > div > div > dl > dd {
					width: 100%;
					margin: 0;
					padding: 0 0 0 20px;
				}
}




/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
contact
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

section#contact {
	position:relative;
	margin: 100px auto 0;
}

section#contact::before {
	content: '';
	display: block;
	width: 100%;
	height: 50%;
	background-color: #333333;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}

	section#contact > div {
		width: 100%;
		max-width: 680px;
		margin: 0 auto;
		background-color: #ae4445;
		text-align: center;
		padding: 70px 10px;
		box-sizing: border-box;
	}
	
		section#contact > div > h3 {
			font-size: 1.4em;
		}
		
		section#contact > div > p {
			margin: 40px auto;
		}
		
		section#contact > div > a {
			display: block;
			width: 100%;
			max-width: 250px;
			background-color: #fff;
			color: #ae4445;
			border: 1px #fff solid;
			margin: 0 auto;
			padding: 13px 0;
		}
		
		section#contact > div > a:hover {
			background-color: #ae4445;
			color: #fff;
			text-decoration: none;
		}
	
@media screen and (max-width: 400px) {
	section#contact > div {
		padding: 40px 10px;
	}
	
		section#contact > div > h3 {
			font-size: 1.2em;
		}
		
		section#contact > div > p {
			font-size: 0.85em;
			margin: 20px auto;
			letter-spacing: 0.1em;
		}
}
/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
footer
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

footer {
	background-color: #333333;
	padding: 40px 10px;
}

	footer > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		max-width: 1080px;
		margin: 0 auto;
	}
	
		footer > div > dl {
			width: calc(100% - 20px);
			max-width: 680px;
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
		}
		
			footer > div > dl > dt,
			footer > div > dl > dd {
				box-sizing: border-box;
			}
			
			footer > div > dl > dt {
				width: 100%;
				max-width: 290px;
				border-right: 1px #fff solid;
				display: flex;
				flex-wrap: wrap;
				align-items: center;
			}
			
				footer > div > dl > dt > img {
					width: 100%;
					max-width: 237px;
				}
				
			
			footer > div > dl > dd {
				width: calc(100% - 290px);
				padding: 0 0 0 45px;
				font-size: 0.85em;
				line-height: 1.5em;
				letter-spacing: 0.18em;
			}
			
		
p#copyright {
	font-size: 0.7em;
	letter-spacing: 0.15em;
	font-weight: normal;
}
	
@media screen and (max-width: 820px) {
	footer {
		padding: 30px 0 10px;
	}
	
		footer > div {
			display: block;
		}
		
			footer > div > dl {
				margin: 20px auto 0;
			}
	
	
	p#copyright {
		margin: 40px auto 0;
		text-align: center;
	}
}

@media screen and (max-width: 680px) {
			footer > div > dl {
				display: block;
				max-width: 360px;
			}
			
				footer > div > dl > dt {
					border: none;
				}
				
				footer > div > dl > dd {
					width: 100%;
					padding: 0;
					margin: 5px 0 0;
				}
			
}

