@charset "UTF-8";
/* CSS Document */
/*PC→SP*/

/*ALL*/
:root {
	--main-color: #4c5870; 
}
#Contents{
	font-size: 16px;
	line-height: 1.8;
}
#Contents img{
	width: 100%;
}
@media all and (min-width: 769px) {
	.sp {display: none !important;}
	.pc{display: block !important;}
}
@media all and (max-width: 768px) {
	.sp {display: block !important;}
	.pc{display: none !important;}
}
.flexbox{
	display: flex;
	justify-content: center;
/*	flex-wrap: nowrap;*/
}
.flexbox_reverse{
	display: flex;
	justify-content: center;
/*	flex-wrap: nowrap;*/
	flex-direction: row-reverse;
}

.text_box .textsmall{
	font-size: 80%!important;
}

/*NEWアイコンの位置調整*/
.newMark:before{
	left: 2em;
	top: 47%;
}
@media all and (max-width: 768px) {
.newMark:before{
	left: 4em;
	font-size: 14px;
}
}


/*tempPageTitle*/
.tempPageTitle {
    height: 600px;
}
.tempPageTitle .title {
    background: none;
	text-shadow: #000 0px 0 10px, #000 0px 0 5px;
}
.tempPageTitle .title .jp{
	font-size: 32px;
	/*-webkit-text-stroke: 1px #FFF;
	text-stroke: 1px #FFF;*/
}
.outlinePage .tempPageTitle.build {
	background-image: url(../images/outline/about/mv.jpg);
}
@media all and (max-width: 768px) {
.tempPageTitle {
    height: 400px;
}
.tempPageTitle .title .jp{
	font-size: 24px;
}

.outlinePage .tempPageTitle.build {
	background-image: url(../images/outline/about/mv_sp.jpg);
}
}
@media all and (max-width: 430px) {
.tempPageTitle {
    height: 220px;
}
}



/*main_text*/
.main_text {
	padding: 1% 5%;
	text-align: center;
}
.main_text h2{
	margin: 1% 1% 2% 1%;
	font-size: 30px;
	color: var(--main-color);
}
@media all and (max-width: 768px) {
.main_text h2{
	font-size: 20px;
}
.main_text p{
	font-size: 14px;
}
}




/*sec01 - sec04*/
.sec01,
.sec02,
.sec03,
.sec04{
	padding: 5% 10%;
	overflow: hidden;
}
.sec01 h3,
.sec02 h3,
.sec03 h3,
.sec04 h3{
	margin-bottom: 100px;
	font-size: 30px;
	position: relative;
}
.text_box .title{
	margin-top: 5%;
	font-size: 22px;
	font-weight: 500;
}
.text_box .read{
	margin-top: 5%;
	font-size: 18px;
}
.text_box .text{
	margin-top: 5%;
	font-size: 16px;
}

@media all and (max-width: 768px) {
.sec01,
.sec02,
.sec03,
.sec04{
	padding: 5%;
}

.sec01 h3,
.sec02 h3,
.sec03 h3,
.sec04 h3{
	font-size: 22px;
	margin-bottom: 5%;
	text-align: center;
}

}




/*button*/
.button{
	margin-top: 5%;
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	font-size: 15px;
}
.button a {
	width : calc(100% / 2 - 20px) ;
	padding: 10px 30px;
	display: block;
	background: var(--main-color);
	color: #fff;
	text-align: center;
	position: relative;
}
.button a:hover{
	opacity: .8;
}
.button a::after {
	content: url(/_assets/images/outline/about/btn_arrow.png);
	position: absolute;
	background-size: 60px; 
	right: 10px;
}
@media all and (max-width: 768px){
.button {
    flex-direction: column;
	gap:10px;
}
.button a{
    width: 100%;
	padding: 7px 0px;
}

}





/*sec01*/
.sec01 {
	max-width: 1540px;
	margin: auto;
	position: relative;
}
.sec01 h3 .h3_sub{
	font-size: 70%;
}
.sec01 h3::after{
	width: 80px;
	height: 2px;
	content: "";
	background: var(--main-color);
	position: absolute;
	bottom: -15px;
	left: 0%;
}
.sec01 .text_photo_box{
	margin-top: 10%;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
.sec01 .text_photo_box::before {
    width: calc(100% - -20%);
    height: calc(100% - -34%);
    content: "";
    display: inline-block;
    background: #F6F6F6;
    position: absolute;
    top: -12%;
    left: -50%;
    z-index: -1;
}
.sec01 .photo_box{
	max-width: 45%;
	margin: 4% 0 0 0;
	padding: 5%;
	background: #fff;
}
.sec01 .text_box{
	max-width: 44%;
	margin: 0;
}
.sec01 .absolute {
	font-size: 7vw;
	color: #f6f6f6;
	position: absolute;
	top: 0;
	right: 5%;
	z-index: -1;
}
@media all and (max-width: 768px){
	.sec01{
		margin-top: 10%;
	}
	.sec01 h3{
		margin-top: 5%;
	}
	.sec01 h3::after{
		width: 80px;
		height: 2px;
		content: "";
		background: var(--main-color);
		position: absolute;
		bottom: -15px;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.sec01 .text_photo_box{
		flex-direction: column;
	}
	.sec01 .text_photo_box::before{
		display: none;
	}
	.sec01 .photo_box{
		max-width: 100%;
		margin: 0;
		padding: 0;
	}
	.sec01 .text_box {
		max-width: 100%;
	}
	.text_box .read {
		font-size: 16px;
	}
	.text_box .title {
		font-size: 18px;
	}
	.text_box .text {
		font-size: 14px;
	}
	.sec01 .absolute {
		top: -10px;
	}
}
@media (min-width: 1600px) {
	.sec01 .absolute{
		font-size: 130px!important;
	}
}





/*sec02*/
.sec02 {
	max-width: 1540px;
	margin: 5% auto auto;
	position: relative;
}
.sec02 h3{
	text-align: right;
}
.sec02 h3::after{
	width: 80px;
	height: 2px;
	content: "";
	background: var(--main-color);
	position: absolute;
	bottom: -15px;
	right: 0;
}
.sec02 .text_photo_box{
	margin-top: 10%;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
.sec02 .text_photo_box::before {
    width: calc(100% - -20%);
    height: calc(100% - -34%);
    content: "";
    display: inline-block;
    background: #F6F6F6;
    position: absolute;
    top: -12%;
    right: -50%;
    z-index: -1;
}

.sec02 .photo_box {
	max-width: 48%;
	margin: 4% 0 0 0;
	padding: 5% 4%;
	background: #fff;
}
.sec02 .text_box{
	max-width: 46%;
	margin: 0;
}
.sec02 .absolute {
	font-size: 7.6vw;
	color: #f6f6f6;
	position: absolute;
	top: 0;
	left: 5%;
}
.sec02 .button a{
	width: auto;
}
@media all and (max-width: 768px){
	.sec02 h3{
		margin-top: 10%;
		text-align: center;
	}
	.sec02 h3::after{
		width: 80px;
		height: 2px;
		content: "";
		background: var(--main-color);
		position: absolute;
		bottom: -15px;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.sec02 .text_photo_box::before{
		display: none;
	}
	.sec02 .text_photo_box{
		flex-direction: column;
	}
	.sec02 .photo_box{
		max-width: 100%;
		margin: 0 0 0 0;
		padding: 0 ;
	}
	.sec02 .text_box {
		max-width: 100%;
	}
}
@media (min-width: 1600px) {
	.sec02 .absolute{
		left: 0!important;
		font-size: 130px!important;
	}
}



/*sec03*/
.sec03 {
	max-width: 1540px;
	margin: 5% auto auto;
	position: relative;
}
.sec03 h3 .h3_sub{
	font-size: 70%;
}
.sec03 h3::after{
	width: 80px;
	height: 2px;
	content: "";
	background: var(--main-color);
	position: absolute;
	bottom: -15px;
	left: 0;
}
.sec03 .text_photo_box{
	margin-top: 5%;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
.sec03 .text_photo_box::before {
	width: calc(100% - 31%);
	height: calc(100% - -50%);
	content: "";
	display: inline-block;
	background: #F6F6F6;
	position: absolute;
	top: -20%;
	left: -8%;
	z-index: -1;
}
.sec03 .photo_box {
    max-width: 65%;
    margin: -20% -10% 0 0;
    padding: 5% 0%;
    background: #fff;
}
.sec03 .text_box{
	max-width: 38%;
	margin: 0;
}
.sec03 .title{
	margin-top: 15%;
	font-size: 24px;
	text-align: center;
}
.sec03 .absolute {
	font-size: 7vw;
	color: #f6f6f6;
	position: absolute;
	top: 53%;
	right: 5%;
}

/*sec03  button*/
.sec03 .button{
	max-width: 70%;
	margin: auto;
	margin-top: 5%;
	display: flex;
	flex-wrap: wrap;
	gap: 30px;

}
.sec03 .button a {
	width : calc(100% / 3 - 20px) ;
	padding: 10px 50px;
	display: block;
	background: var(--main-color);
	color: #fff;
	text-align: center;
	position: relative;
	white-space: nowrap;
}
.sec03 .button a:hover{
	opacity: .8;
}
.sec03 .button a::after {
	content: url(/_assets/images/outline/about/btn_arrow.png);
	position: absolute;
	height: 60px;
	right: 15px;
}
@media all and (max-width: 768px){
	.sec03 h3{
		margin-top: 7%;
	}
	.sec03 h3::after{
		width: 80px;
		height: 2px;
		content: "";
		background: var(--main-color);
		position: absolute;
		bottom: -15px;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.sec03 .text_photo_box::before{
		display: none;
	}
	.sec03 .text_photo_box{
		flex-direction: column;
	}
	.sec03 .photo_box{
		max-width: 100%;
		margin: 10% 0 0 0;
		padding: 0;
	}
	.sec03 .text_box {
		max-width: 100%;
	}
	.sec03 .title{
		margin-top: 5%;
		font-size: 18px;
	}
	.sec03 .button{
		max-width: 100%;
		gap: 10px;
	}
	.sec03 .button a{
		width: 100%;
	}
	.sec03 .absolute {
		top: -10px;
		right: 5%;
}
@media (max-width: 1100px) {
	.sec03 .photo_box{
		margin-top: 20%!important;
	}
}
}



/*sec04*/
.sec04 {
	max-width: 1540px;
	margin: 0% auto 5%;
	position: relative;
}
.sec04 h3{
	text-align: right;
}
.sec04 h3::after{
	width: 80px;
	height: 2px;
	content: "";
	background: var(--main-color);
	position: absolute;
	bottom: -15px;
	right: 0;
}
.sec04 .text_photo_box{
	margin-top: 12%;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
.sec04 .text_photo_box::before {
	width: calc(100% - 18%);
	height: calc(100% - -34%);
	content: "";
	display: inline-block;
	background: #F6F6F6;
	position: absolute;
	top: -12%;
	right: -10%;
	z-index: -1;
}

.sec04 .photo_box {
    max-width: 60%;
    margin: -12% 0 0 -18%;
}
.sec04 .text_box{
	max-width: 60%;
	margin: 0 ;
	text-align: right;
}
.sec04 .absolute {
	font-size: 7.6vw;
	color: #f6f6f6;
	position: absolute;
	top: 0;
	left: 0%;
}
.sec04 .button a{
	margin-left: auto;
}
@media all and (max-width: 768px){
	.sec04 h3 {
		margin-top: 10%;
		text-align: center;
	}
	.sec04 h3::after{
		width: 80px;
		height: 2px;
		content: "";
		background: var(--main-color);
		position: absolute;
		bottom: -15px;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.sec04 .text_photo_box::before{
		display: none;
	}
	.sec04 .text_photo_box{
		margin-top: 0;
		flex-direction: column;
	}
	.sec04 .photo_box {
		max-width: 100%;
		margin: 5% 0 0 0;
	}
	.sec04 .text_box {
		max-width: 100%;
		text-align: left;
	}
	.sec04 .button a {
		margin-left: 0;
	}
	.sec04 .absolute {
		left: 5%;
	}

}




/*sec05*/
.sec05 {
	margin: 5% auto auto;
	padding: 1%;
	position: relative;
	background: #f6f6f6;
}
.sec05 .text_photo_box{
	max-width: 1160px;
	width: 100%;
	margin: 5% auto;
	align-items: center;
	justify-content: space-between;
}
.sec05 .photo_box{
	max-width: 50%;
	margin: 0;
}
.sec05 .photo_box .imagebig{
	width: 1100px;
}
.sec05 .text_box{
	max-width: 40%;
	margin: 0 2%;
	z-index: 1;
}
.sec05 .absolute {
    font-size: 7.6vw;
    color: #fff;
    position: absolute;
    top: -60px;
    left: 5%;
}
.sec05 .button a{
	width : 70% ;
}
@media all and (max-width: 768px){
	.sec05 .text_photo_box{
		padding-bottom: 10%;
		flex-direction: column;
	}
	.sec05 .photo_box {
		max-width: 90%;
		padding-top: 10%;
	}
	.sec05 .text_box {
		max-width: 90%;
	}
	.sec05 .button a{
		width: 100%;
	}
	.sec05 .absolute {
		top: 0;
	}
}









/*modelhouse*/
.modelhouse {
	max-width: 1160px;
	width: 100%;
	margin: 5% auto ;
}
.modelhouse h2 {
	font-size: 30px;
	text-align: center;
}
.modelhouse ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.modelhouse ul li {
	width: calc(100% / 3);
	margin: 3% 0 0;
	padding: 2%;
}
.modelhouse ul li h3 {
	margin-top: 5%;
	padding: 3%;
	font-size: 16px;
	line-height: 1.4;
	border-top: 1px solid #4c5870;
	border-bottom: 1px solid #4c5870;
	display: flex;
	justify-content: center;
}
.modelhouse ul li .address {
	margin-top: 5%;
	font-size: 14px;
	line-height: 1.6;
}
.modelhouse ul li .btn{
	width: 100%;
	margin-top: 5%;
	background: #fff;
	font-size: 16px;
	text-align: center;
	color: #4C5870;
	border: 1px solid #4c5870;
	display: inline-flex;
	justify-content: center;
}
.modelhouse ul li .btn a{
	width: 100%;
	padding: 3%;
	color: #4C5870;
	display: block;
}
.modelhouse ul li .btn a:hover{
	background: #4C5870;
	color: #fff;
	display: block;
}
.modelhouse ul li .btn a img{
	width: 6%!important;
	margin-top: 3px;
}

@media all and (max-width: 768px) {
	.modelhouse {
		margin-top: 10%;
		margin-bottom: 20%;
	}
	.modelhouse h2 {
		font-size: 18px;
	}
	.modelhouse ul li {
		width: 100%;
		margin: 5% 5% 5%;
		padding: 2%;
	}

	.modelhouse ul li h3 {
		margin-top: 5%;
		padding: 3%;
		font-size: 16px;
		line-height: 1.4;
		border-top: 1px solid #4c5870;
		border-bottom: 1px solid #4c5870;
		display: flex;
		justify-content: center;
	}
	.modelhouse ul li .address {
		margin-top: 5%;
		font-size: 14px;
		line-height: 1.6;
	}
	.modelhouse ul li .btn {
		width: 100%;
		margin-top: 5%;
		background: #fff;
		font-size: 16px;
		text-align: center;
		color: #4C5870;
		border: 1px solid #4c5870;
		display: inline-flex;
		justify-content: center;
	}
	.modelhouse ul li .btn a {
		width: 100%;
		padding: 3%;
		color: #4C5870;
		display: block;
	}
	.modelhouse ul li .btn a img {
		width: 3%;
	}
}

/*CTA*/
.opa a:hover {
	opacity: 0.7;
}


.CTACv {
	margin: 80px 0 100px;
	padding: 80px 20px;
	background: #f6f6f6;
	text-align: center;
}
.CTACv p {
    font-size: 16px;
    line-height: 1.6;
}

.CTACv a {
    font-size: 16px;
    max-width: 400px;
    width: 90%;
    margin: 30px auto 0;
    padding: 15px;
    display: block;
    color: #fff;
    text-align: center;
    background: #4c5870;
    line-height: 1.6;
}
.CTACv a::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-top: -2px;
    margin-left: 3%;
    background-image: url("../images/common/icon-link-white.svg");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}


.tempBanner2 .attention {
    margin-top: 5px;
    font-size: 10px;
}