@charset "utf-8";

main {
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif;
    color:#3e3a39;
    letter-spacing: 0.3px;
}

main .notoSans {
    font-family: "Noto Sans JP", serif;
}

main .shippori {
    font-family: "Shippori Mincho", serif;
}

main .handwriting {
    font-family: "adobe-handwriting-ernie", sans-serif;
	font-weight: 400;
}

main img {
	width: auto;
	max-width: 100%;
}

main .inner {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
}

main h2 {
	background: #494544;
	border-radius: 20px 0 20px 0;
	margin: 0 auto 60px;
	padding: 15px 50px 0px 30px;
	width: 100%;
}

main h3 {
	margin-bottom: 40px;
	font-weight: 500;
}

main h4 {
    line-height: 1.4;
}

.textColor01 {
	color:#68a9cf;
}

.textColor02 {
	color:#863a4b;
}

.bgWhite {
	background: #fff;
}

.text {
	font-size: clamp(16px, 2.2vw, 22px);
}

.size13 {
	font-size: clamp(12px, 1.3vw, 13px);
}

.size24 {
	font-size: clamp(16px, 2.4vw, 24px);
}

.size26 {
	font-size: clamp(16px, 2.6vw, 26px);
}

.size28 {
	font-size: clamp(16px, 2.8vw, 28px);
}

.size32 {
	font-size: clamp(18px, 3.2vw, 32px);
}

.size34 {
	font-size: clamp(18px, 3.4vw, 34px);
}

.size36 {
	font-size: clamp(18px, 3.6vw, 36px);
}

.size38 {
	font-size: clamp(18px, 3.8vw, 38px);
}

.size46 {
	font-size: clamp(24px, 4.6vw, 46px);
}

.size57 {
	font-size: clamp(28px, 5.2vw, 57px);
}

.mb20 {
	margin-bottom: 20px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb80 {
	margin-bottom: 80px;
}

.mb100 {
	margin-bottom: 100px;
}

/*＝＝＝＝＝＝
MV
＝＝＝＝＝＝＝*/

#mv {
	width: 100%;
	position: relative;
}

#mv .mvText {
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

/*＝＝＝＝＝＝
#sec01
＝＝＝＝＝＝＝*/

#sec01 {
	background: url("../-image/future/bg.jpg") repeat-y 0 0;
	background-size: 100%;
	padding-top: 100px;
	padding-bottom: 145px;
}


#sec01 h2 {
	max-width: 720px;
}

#sec01 .map {
	margin-bottom: 85px;
}

#sec01 .map img {
	border:1px solid #3e3a39;
}

#sec01 .photoBox {
	justify-content: center;
	gap:30px;
	margin-bottom: 100px;
}

#sec01 .photoBox div {
	width: 48%;
}

#sec01 .graph {
	max-width: 1116px;
	margin: 0 auto 120px;;
}

#sec01 .graph img {
	margin-bottom: 25px;
}

#sec01 .graph p {
	text-align: left;
}

#sec01 hr {
	margin-bottom: 100px;
}

#sec01 h3.accessTitle {
	line-height: 2.2;
}

#sec01 h3 .posi {
	position: relative;
}

#sec01 h3 .posi.text01:after {
    content: "（16分）";
    position: absolute;
    bottom: -25px;
    right: -47px;
    font-size: 24px;
    color: #3e3a39;
}

#sec01 h3 .posi.text02:after {
    content: "（28分）";
    position: absolute;
    bottom: -25px;
    right: -47px;
    font-size: 24px;
    color: #3e3a39;
}

#sec01 .flexBox .access {
	width: 64%;
}

#sec01 .flexBox .accessText {
	width: 34%;
}


#sec01 .ranking {
	padding: 30px 40px 60px;
}

#sec01 h5 {
	position: relative;
	display: inline-block;
	font-weight: 400;
	margin-bottom: 20px;
}

#sec01 h5 span {
    vertical-align: baseline;
}

#sec01 h5:after {
	content:"";
	background: url("../-image/future/sec01_icon.svg") no-repeat 0 0;
	background-size: 100%;
	position: absolute;
	width: 48px;
	height: 37px;
	top:50%;
	left:-50px;
	transform: translateY(-50%);
}

#sec01 h5 .posi {
	position: relative;
}

#sec01 h5 .posi:after {
    content: "（全体25位）";
    position: absolute;
    bottom: -25px;
    right: 0;
    font-size: 15px;
    color: #494544;
}

#sec01 .ranking .flexBox {
	justify-content: center;
	gap :2%;
}

#sec01 .ranking .flexBox ul {
	width: 31%;
}

#sec01 .ranking .flexBox ul li {
	font-size: clamp(18px, 2.6vw, 27px);
	border-bottom: 1px solid #494544;
	color:#494544;
	margin-bottom: 21px;
}

#sec01 .ranking .flexBox ul:first-child {
	position: relative;
}

#sec01 .ranking .flexBox ul:first-child:after {
    position: absolute;
    content: "・・・・・";
    writing-mode: tb;
    letter-spacing: -15px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 10px;
    font-size: 22px;
}

#sec01 .ranking .flexBox ul:first-child li {
	margin-bottom: 5px;
}

#sec01 .ranking .flexBox ul li.textColor02 {
	color: #863a4b;
	font-weight: 700;
}

/*＝＝＝＝＝＝
#sec02
＝＝＝＝＝＝＝*/

#sec02 {
	background: #e2e6e3;
	padding-top: 150px;
	padding-bottom: 120px;
}

#sec02 h2 {
	max-width: 840px;
	margin: 0 auto 60px;
}

#sec02 .bgWhite {
	padding: 45px 50px;
}

#sec02 .bgWhite .title {
	margin-bottom: 40px;
	font-weight: 700;
}

#sec02 .bgWhite .flexBox div {
	margin-bottom: 60px;
	width: 49%;
}

#sec02 .bgWhite h3 {
	background: #6d6b6b;
	color: #fff;
	padding: 10px;
	margin-bottom: 10px;
}

#sec02 .bgWhite h3 span {
	line-height: 1;
}

#sec02 .bgWhite .text {
	margin-bottom: 15px;
}

#sec02 .bgWhite li {
	font-family: "Noto Sans JP", serif;
	position: relative;
	padding-left: 20px;
	font-weight: 500;
	font-size: clamp(16px, 2.2vw, 22px);
	margin-bottom: 4px;
}

#sec02 .bgWhite li:before {
    position: absolute;
    content: "";
    margin: auto;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    box-sizing: border-box;
    width: 10px;
    height: 10px;
    border: 9px solid transparent;
    border-left: 16px solid #863a4b;
}

#sec02 .bgWhite ul.flexBox li {
	width: 50%;
}

/*＝＝＝＝＝＝
#sec03
＝＝＝＝＝＝＝*/

#sec03 {
	background: url("../-image/future/bg.jpg") repeat-y 0 0;
	background-size: 100%;
	padding-top: 160px;
	padding-bottom: 80px;
	margin-bottom: 25px;
}

#sec03 h2 {
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
}

#sec03 .flexBox div {
	width: 49%;
}

#sec03 .flexBox .bgWhite {
	padding: 60px 40px;
}

#sec03 .flexBox .bgWhite h4 {
	margin-bottom: 15px;
}

#sec03 .flexBox .bgWhite p {
    padding-left: 0.6em;
    text-indent: -1em;
}








@media screen and (max-width: 768px)  {	
	
	main h2 {
		margin: 0 auto 30px;
		padding: 10px 35px 0px 30px;
		height: 44px;
	}	
	
	.mb50 {
		margin-bottom: 30px;
	}	
	
	.mb80 {
		margin-bottom: 40px;
	}	
	
	.mb100 {
		margin-bottom: 50px;
	}
	
	.text.center {
		text-align: left;
	}
	
	
	#sec01 {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	
	#sec01 .map {
		margin-bottom: 50px;
	}
	
	#sec01 h4 {
		margin-bottom: 20px;
	}
	
	#sec01 .photoBox {
		gap: 20px;
		margin-bottom: 50px;
	}
	
	#sec01 .photoBox div {
		width: 70%;
	}
	
	#sec01 .graph {
		margin: 0 auto 50px;
	}
	
	#sec01 .graph p {
		padding-left: 1em;
		text-indent: -1em;
	}
	
	#sec01 hr {
		margin-bottom: 50px;
	}

	#sec01 h3.accessTitle {
		line-height: 1.6;
	}

	#sec01 h3 .posi.text01:after {
		bottom: -18px;
		right: -33px;
		font-size: 16px;
	}

	#sec01 h3 .posi.text02:after {
		bottom: -18px;
		right: -30px;
		font-size: 16px;
	}

	#sec01 h3.accessTitle .textColor01 {
		line-height: 4;
	}

	#sec01 .access {
		margin-bottom: 40px;
	}

	#sec01 .accessText {
		width: 80%;
		margin: 0 auto;
	}
	
	#sec01 h5 {
		line-height: 2.6;
	}
	
	#sec01 h5:after {
		width: 35px;
		height: 30px;
		top: 20%;
		left: -32px;
	}
	
	#sec01 h5 .posi:after {
		bottom: -20px;
		right: -10px;
	}

	#sec01 .ranking .flexBox ul {
		width: 100%;
	}

	#sec01 .ranking .flexBox ul:first-child {
		margin-bottom: 60px;
	}
	
	#sec01 .ranking .flexBox ul:first-child li {
		margin-bottom: 5px;
		padding-bottom: 5px;
	}
	
	#sec01 .ranking .flexBox ul:first-child:after {
		bottom: -10px;
	}
	
	#sec01 .ranking .flexBox ul li {
		margin-bottom: 5px;
		padding-bottom: 5px;
	}

	#sec02 {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	
	#sec02 h2 {
		margin: 0 auto 30px;
	}
	
	#sec02 h6 {
		margin-bottom: 10px;
	}
	
	#sec02 .bgWhite {
		padding: 30px;
	}  
	
	#sec02 .bgWhite .title {
		margin-bottom: 25px;
	}	
	
	#sec02 .bgWhite .title .size46 {
		line-height: 1.4;
	}
	
	#sec02 .bgWhite h3 {
		padding: 7px 10px;
	}
	
	#sec02 .bgWhite li {
		margin-bottom: 8px;
		line-height: 1.4;
	}

	#sec02 .bgWhite .flexBox div {
		margin-bottom: 30px;
		width: 100%;
	}
	
	#sec02 .bgWhite li:before {
		width: 5px;
		height: 5px;
		border: 7px solid transparent;
		border-left: 12px solid #863a4b;
	}
	
	#sec02 .bgWhite ul.flexBox li {
		width: 100%;
	}
	
	#sec03 {
		padding-top: 50px;
		padding-bottom: 50px;
	}

	#sec03 h2 {
		height: 55px;
	}
	
	#sec03 .flexBox div {
		width: 100%;
		margin-bottom: 30px;
	}

	#sec03 .flexBox .bgWhite {
		padding: 30px;
	}
	
    #sec03 .flexBox div {
        margin-bottom: 0;
    }
	
	
}

@media screen and (max-width: 320px)  {	

	.size32 {
		font-size: 17px;
	}	
	
	.size38 {
		font-size: 17px;
	}	
	
	.size46 {
		font-size: 22px;
	}	
	
	.size57 {
		font-size: 27px;
	}	
	
	#sec02 .bgWhite {
        padding: 25px;
    }	
	
}
	
@media screen and (min-width: 769px) and (max-width: 1080px) {	
	main br.sp {
		display: block!important;
	}
	
	.text.center {
		text-align: left;
	}
	
	#sec01 h4 {
		margin-bottom: 20px;
	}
	
	#sec01 .photoBox div {
		width: 47%;
	}	

	#sec02 .bgWhite .flexBox div {
		width: 100%;
	}

	#sec02 .bgWhite ul.flexBox li {
		width: 100%;
	}	

	
}

/*＝＝＝＝＝＝＝＝＝＝＝
柏マルイ跡地
＝＝＝＝＝＝＝＝＝＝＝＝*/

.maruiBox {
	position: relative;
	background: #68a9cf;
	margin: 40px auto 0;
	padding: 10px;
	box-shadow: 5px 5px 0 rgb(3 3 3 / 35%);
}

.maruiBox:after {
    position: absolute;
    content: '';
    left: 0px;
    top: 0px;
    border-width: 0 0 64px 64px;
    border-style: solid;
    border-color: #ffffff #ffffff #558dad;
}

.maruiBox .bgBox {
	margin: 0 auto;
	border: 2px solid #fff;
	border-radius: 15px;
}

.maruiBox .bgBox .news p {
    background: #fff;
    display: inline-block;
    font-size: 34px;
    color: #68a9cf;
    padding: 22px 50px 0px;
    font-weight: 100 !important;
    line-height: 0.8;
    border-radius: 0 0 15px 15px;
    margin-bottom: 20px;
}

.maruiBox .bgBox h3 {
    text-align: center;
    color:#fff;
    margin-bottom: 20px;
    font-weight: 600;
    letter-spacing: 2px;
    font-size: 32px;
	line-height: 1.4;
	background: none!important;
}

.maruiBox .bgBox .text {
	text-align: center;
	color:#fff;
	font-size: 16px;
	margin-bottom: 20px;
	line-height: 1.6;
	font-weight: 300;
}

@media screen and (max-width: 767px)  {	
	
	.maruiBox:after {
		border-width: 0 0 50px 50px;
	}	
	
	.maruiBox .bgBox .news p {
		font-size: 24px;
		padding: 12px 25px 0px;
		border-radius: 0 0 12px 12px;
	}	

	.maruiBox .bgBox h3 {
		margin-bottom: 15px;
		font-size: 22px;
	}	
	
	.maruiBox .bgBox .text {
		font-size: 14px;
		font-weight: 400;
		text-align: left;
		padding: 0 20px;
	}
	
	
	
	
	
}




