@charset "UTF-8";

/* illustmap
---------------------------------------------------------------------------*/
body#illustmap header {
	margin: 0 0 60px;
}

#illustmapContents .innerContents {
	padding: 0;
}

/* .title-map
------------------------------------*/
.title-map {
	position: relative;
	box-sizing: border-box;
	background: url(../img/share/bg-beige.jpg);
	width: 100%;
	min-width: 1100px;
	max-width: 1400px;
	margin: 0 auto 150px;
	padding: 35px;
	text-align: center;
}

@media all and (-webkit-min-device-pixel-ratio: 1.5) {
	.title-map {
		background: url(../img/share/bg-beige@2x.jpg);
		background-size: 100px 100px;
	}
}

.map-main {
	display: block;
	border: 2px solid #C9C9C9;
	width: 100%;
	height: auto;
}

.illust-saru-gesture {
	position: absolute;
	bottom: -100px;
	left: 50%;
	width: 114px;
	margin: 0 0 0 -57px;
}

/* .sec-lead
------------------------------------*/
.sec-lead {
	position: relative;
	width: 1100px;
	margin: 0 auto 90px;
	text-align: center;
}

#mainContents .sec-lead h1 {
	position: relative;
	margin: 0 0 50px;
	padding: 84px 0 0;
	font-size: 0;
}

.sec-lead h1 img:nth-child(1) {
	display: block;
	position: absolute;
	top: -100px;
	left: 50%;
	width: 484px;
	height: 64px;
	margin: 0 0 0 -242px;
	opacity: 0;
}

.sec-lead h2 {
	margin: 0 0 30px;
}

.sec-lead p {
	margin: 0 0 20px;
	color: #494949;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.1em;
}

.illust-sei {
	position: absolute;
	top: 60px;
	left: 135px;
	width: 174px;
	opacity: 0;
}

.illust-ikebe {
	position: absolute;
	top: 50px;
	right: 125px;
	width: 156px;
	opacity: 0;
}

/* .sec-english
------------------------------------*/
.sec-english {
	position: relative;
	width: 734px;
	min-height: 734px;
	margin: 0 auto;
	padding: 183px 0 0 0;
	text-align: center;
}

.sec-english:after {
	display: block;
	content: '';
	position: absolute;
	top: 90px;
	left: 50%;
	border-radius: 50%;
	background: url(../img/share/bg-beige.jpg);
	width: 734px;
	height: 734px;
	margin: 0 0 0 -367px;
	z-index: -1;
}

@media all and (-webkit-min-device-pixel-ratio: 1.5) {
	.sec-english:after {
		background: url(../img/share/bg-beige@2x.jpg);
		background-size: 100px 100px;
	}
}

.illust-saru-tag {
	position: absolute;
	top: 200px;
	left: 50%;
	width: 149px;
	margin: 0 0 0 -75px;
	opacity: 0;
}

.sec-english h2 {
	margin: 0 0 47px;
}

.img-set {
	overflow: hidden;
	position: relative;
	width: 648px;
	margin: 0 auto 32px;
}

.img-set img:nth-child(1) { float: left; }
.img-set img:nth-child(2) { float: right; }

.sec-english p {
	margin: 0 0 15px;
	color: #494949;
	font-size: 13px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.1em;
}

.illust-saru-good {
	position: absolute;
	bottom: 240px;
	left: 15px;
	z-index: -2;
	opacity: 0;
}

.illust-saru-good figcaption {
	position: absolute;
	top: -57px;
	left: -24px;
	opacity: 0;
}

.illust-saru-good img {
	width: 70px;
}

.illust-saru-good figcaption img {
	width: 49px;
}

/* .sec-scene
------------------------------------*/
.sec-scene {
	overflow: hidden;
	position: relative;
	width: 930px;
	margin: -40px auto 60px;
}

.illust-saru-read {
	position: relative;
	width: 300px;
	height: 220px;
	margin: 0 0 38px 330px;
}

.saru-read1 {
	position: absolute;
	bottom: 0;
	left: 48px;
}

.saru-read2 {
	position: absolute;
	top: 80px;
	left: 20px;
	opacity: 0;
}

.saru-read3 {
	position: absolute;
	top: 40px;
	right: 20px;
	opacity: 0;
}

.sec-scene h2 {
	margin: 0 0 55px;
	text-align: center;
}

.scene-list {
	overflow: hidden;
}

.scene-list li {
	float: left;
	width: 280px;
	margin: 0 45px 55px 0;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', '游ゴシック', YuGothic, 'メイリオ', Meiryo, sans-serif;
}

.scene-list li:nth-child(3n) {
	margin: 0 0 65px;
}

.scene-list li figure {
	margin: 0 0 25px;
}

.scene-list li h3 {
	margin: 0 0 15px;
	color: #503A20;
	font-size: 17px;
/* 	font-weight: bold; */
	text-align: center;
	letter-spacing: 0.1em;
}

.scene-list li p {
	color: #5C5C5C;
	font-size: 12px;
	font-weight: bold;
	line-height: 2;
	letter-spacing: 0.05em;
}

.illust-saru-run {
	float: right;
	width: 119px;
	margin: -40px 5px 0 0;
}

/* .innerContents2
---------------------------------------------------------------------------*/
.img-town {
	position: relative;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	z-index: 1;
}

.img-town img {
	width: 100%;
	height: auto;
}

.innerContents2 {
	position: relative;
	background: #FDFEEC;
	width: 100%;
	margin: -10px auto 0;
	padding: 120px 0;
	z-index: 0;
}

.innerContents2 .inner {
	width: 980px;
	margin: 0 auto;
}

.innerContents2 h2 {
	display: inline-block;
	background: #FFFFFF;
	border: 1px solid #000000;
	margin: 0 0 20px;
	padding: 10px 20px 9px;
	color: #000000;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.1em;
}

/* .sec-step
------------------------------------*/
.sec-step {
	width: 100%;
	margin: 0 auto 150px;
}

.bg-line {
	position: relative;
	box-sizing: border-box;
	border-left: 5px solid #E2E1C4;
	padding: 0 0 0 45px;
}

.bg-line:before {
	display: block;
	content: '';
	position: absolute;
	top: -16px;
	left: -9px;
	background: #E2E1C4;
	width: 40px;
	height: 5px;
	transform: rotate(-45deg);
}

/* .title-set
------------------------------------*/
.sec-step .title-set h3 {
	overflow: hidden;
	margin: 0 0 25px;
	padding: 7px 0 5px;
}

.sec-step .title-set h3 strong {
	float: left;
	width: 65px;
}

.sec-step .title-set h3 em {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 2px 0 7px;
	padding: 0 0 0 85px;
	color: #583B2F;
	font-size: 19px;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.sec-step .title-set h3 i {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 0 2px;
	padding: 0 0 0 85px;
	color: #583B2F;
	font-size: 14px;
	letter-spacing: 0.15em;
}

.sec-step .title-set p {
	margin: 0 0 8px;
	color: #6F512D;
	font-weight: bold;
	line-height: 2;
	letter-spacing: 0.05em;
}

/* .step-list
------------------------------------*/
.step-list li {
	position: relative;
	box-sizing: border-box;
	border-radius: 20px;
	background: #FFFFFF;
	border: 2px solid #000000;
}

.step-list li .num {
	position: absolute;
	text-align: center;
	box-sizing: border-box;
	border-radius: 50%;
	background: #FFFFFF;
	border: 2px solid #000000;
	width: 33px;
	height: 33px;
	padding: 6px 0 0;
	z-index: 2;
}

.step-list li .num.num1 {
	padding: 7px 2px 0 0;
}

.step-list li h4 {
	display: inline-block;
	background: #FFF101;
	padding: 3px 2px 1px;
	color: #503A20;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.1em;
}

.step-list li p {
	color: #5C5C5C;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.8;
	letter-spacing: 0.05em;
}

/* .step1
------------------------------------*/
.step1 {
	margin: 0 0 80px;
}

.step1 .title-set {
	overflow: hidden;
	float: left;
	width: 420px;
}

.illust-step1 {
	float: right;
	position: relative;
	width: 250px;
	height: 215px;
	margin: 0 10px 40px 0;
}

.illust-step1-main1 {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
}

.illust-step1-main2 {
	position: absolute;
	top: 10px;
	right: 0;
	z-index: 1;
}

.step1 .title-set .bg-line {
	clear: both;
}

.sec-step .step1 .title-set h3 {
	margin: 0 0 20px;
}

.step1 .step-list {
	float: right;
	width: 485px;
	margin: 55px 0 0;
}

.step1 .step-list li {
	margin: 0 0 33px;
	padding: 38px 40px 30px;
}

.step1 .step-list li .num {
	top: -16px;
	left: 22px;
}

.step1 .step-list li figure {
	position: absolute;
}

.step1 .step-list li:nth-child(1) figure {
	top: 20px;
	right: 40px;
	width: 123px;
}

.step1 .step-list li:nth-child(2) figure {
	top: 10px;
	right: 3px;
	width: 212px;
}

.step1 .step-list li h4 {
	margin: 0 0 22px;
}

.step1 .step-list li:nth-child(1):after {
	display: block;
	content: '';
	position: absolute;
	bottom: -34px;
	left: 235px;
	background: url(../img/illustmap/illust-arrow@2x.png) no-repeat;
	background-size: 78px 32px;
	width: 78px;
	height: 32px;
	transform: rotate(90deg);
	z-index: 1;
}

/* .step2
------------------------------------*/
.step2 {
	margin: 0 0 120px;
}

.step2 .title-set {
	margin: 0 0 50px;
}

.illust-step2 {
	float: right;
	position: relative;
	width: 390px;
	height: 136px;
	margin: 20px 10px 0 0;
}

.illust-step2 img {
	position: absolute;
	top: 0;
}

.illust-step2 .img1 { left: 0; }
.illust-step2 .img2 { left: 129px; }
.illust-step2 .img3 { right: 0; }

.step2 .step-list {
	width: 930px;
	margin: 0 0 0 -5px;
}

.step2 .step-list li {
	float: left;
	width: 280px;
	margin: 0 45px 0 0;
	text-align: center;
}

.step2 .step-list li figure {
	position: absolute;
}

.step2 .step-list li:nth-child(2) { margin: 60px 45px 50px 0; }
.step2 .step-list li:nth-child(3) { margin: 30px 0 0; }
.step2 .step-list li:nth-child(4) { margin: -60px 45px 0 0; }
.step2 .step-list li:nth-child(6) { margin: -30px 0 0 0; }


.step2 .step-list li:nth-child(1) { padding: 155px 10px 25px; }
.step2 .step-list li:nth-child(2) { padding: 150px 10px 25px; }
.step2 .step-list li:nth-child(3) { padding: 155px 10px 25px; }
.step2 .step-list li:nth-child(4) { padding: 160px 10px 20px; }
.step2 .step-list li:nth-child(5) { padding: 160px 10px 20px; }
.step2 .step-list li:nth-child(6) { padding: 165px 10px 20px; }


.step2 .step-list li:nth-child(1) figure { top: -10px; left: 78px; width: 121px; }
.step2 .step-list li:nth-child(2) figure { top: -10px; left: 55px; width: 177px; }
.step2 .step-list li:nth-child(3) figure { top: -10px; left: 50px; width: 172px; }
.step2 .step-list li:nth-child(4) figure { top: -10px; left: 80px; width: 137px; }
.step2 .step-list li:nth-child(5) figure { top: -15px; left: 80px; width: 116px; }
.step2 .step-list li:nth-child(6) figure { top: -22px; left: 34px; width: 216px; }

.step2 .step-list li .num {
	top: -16px;
	right: 30px;
}

.step2 .step-list li:nth-child(4) .num,
.step2 .step-list li:nth-child(5) .num,
.step2 .step-list li:nth-child(6) .num {
	padding: 7px 0 0;
}

.step2 .step-list li h4 {
	margin: 0 0 15px;
}

.step2 .step-list li:nth-child(1):after,
.step2 .step-list li:nth-child(2):after,
.step2 .step-list li:nth-child(4):after,
.step2 .step-list li:nth-child(5):after {
	display: block;
	content: '';
	position: absolute;
	background: url(../img/illustmap/illust-arrow@2x.png) no-repeat;
	background-size: 78px 32px;
	width: 78px;
	height: 32px;
	z-index: 1;
}

.step2 .step-list li:nth-child(1):after {
	top: 42px;
	right: -62px;
}

.step2 .step-list li:nth-child(4):after {
	top: 42px;
	right: -55px;
}

.step2 .step-list li:nth-child(2):after,
.step2 .step-list li:nth-child(5):after {
	top: 2px;
	right: -67px;
}

/* .step3
------------------------------------*/
.step3 .title-set {
	margin: 0 0 45px;
}

.illust-step3 {
	float: right;
	position: relative;
	width: 237px;
	height: 158px;
	margin: -20px 35px 0 0;
}

.illust-step3 img {
	position: absolute;
}

.illust-step3-main1 {
	top: 0;
	left: 0;
}

.illust-step3-main2 {
	top: 27px;
	right: 0;
}

.step3 .step-list {
	width: 930px;
	margin: 0 0 0 -5px;
}

.step3 .step-list li {
	float: left;
	width: 280px;
	margin: 0 45px 0 0;
	text-align: center;
}

.step3 .step-list li:last-child {
	margin: 0;
}

.step3 .step-list li:nth-child(1) { padding: 30px 10px 22px; }
.step3 .step-list li:nth-child(2) { padding: 40px 10px 22px; }
.step3 .step-list li:nth-child(3) { padding: 27px 10px 22px; }

.step3 .step-list li:nth-child(1):after,
.step3 .step-list li:nth-child(2):after {
	display: block;
	content: '';
	position: absolute;
	top: 2px;
	right: -67px;
	background: url(../img/illustmap/illust-arrow@2x.png) no-repeat;
	background-size: 78px 32px;
	width: 78px;
	height: 32px;
	z-index: 1;
}

.step3 .step-list li:nth-child(1) figure { margin: 0 -22px 10px 0; }
.step3 .step-list li:nth-child(2) figure { margin: 0 -1px 32px 0; }
.step3 .step-list li:nth-child(3) figure { margin: 0 0 22px; }

.step3 .step-list li:nth-child(1) figure img { width: 233px; }
.step3 .step-list li:nth-child(2) figure img { width: 213px; }
.step3 .step-list li:nth-child(3) figure img { width: 199px; }

.step3 .step-list li h4 {
	margin: 0 0 15px;
}

/* .sec-qa
------------------------------------*/
.sec-qa {
	position: relative;
	width: 100%;
	min-height: 720px;
}

.sec-qa figure {
	position: absolute;
	bottom: 0;
	left: 30px;
	width: 305px;
	height: 620px;
}

.illust-saru-run-s {
	position: absolute;
	top: 303px;
	left: 15px;
	opacity: 0;
}

.illust-txt-qa {
	position: absolute;
	top: 52px;
	left: 131px;
	opacity: 0;
}

.illust-qa {
	position: absolute;
	bottom: 1px;
	left: 28px;
	z-index: 2;
	opacity: 0;
}

.illust-qa-shadow {
	position: absolute;
	bottom: 0;
	left: 0;
}

.illust-miura {
	position: absolute;
	bottom: 42px;
	right: -100px;
	opacity: 0;
}

.sec-qa dl {
	float: right;
	width: 560px;
}

.sec-qa dt {
	position: relative;
	margin: 0 0 25px;
	padding: 30px 0 0 30px;
}

.sec-qa dt i {
	position: absolute;
	top: 0;
	left: 0;
	color: #000000;
	letter-spacing: 0.1em;
}

.sec-qa dt i:after {
	display: block;
	content: '';
	position: absolute;
	top: 18px;
	left: 10px;
	background: #979797;
	width: 26px;
	height: 1px;
	transform: rotate(-45deg);
}

.sec-qa dt em {
	color: #5B3D35;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.sec-qa dd {
	border-left: 4px solid #D8D8D8;
	margin: 0 0 40px 35px;
	padding: 0 0 0 22px;
}

.sec-qa dd p {
	margin: 0 0 10px;
	color: #70502D;
	font-size: 12px;
	font-weight: bold;
	line-height: 2.1;
	letter-spacing: 0.05em;
}

/* .illust-list
------------------------------------*/
.illust-list {
	width: 100%;
	max-width: 1100px;
	margin: 140px auto 0;
}

.illust-list .works-list li {
	float: left;
	width: 23.5%;
	margin: 0 2% 2% 0;
}

.illust-list .works-list li:nth-of-type(4n) {
	margin-right: 0;
}