@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap");

.flex {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: space-between;
	justify-content: space-between
}

#build-wrapper .c-build__head {
	background: #E3B57F;
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 12px 20px;
	margin: 0 -20px 30px;
}
@media screen and (min-width: 768px) {
	#build-wrapper .c-build__head {
		font-size: 2.4rem;
		padding: 14px 20px;
		margin: 0 0 50px;
	}
}

ul {
	list-style: none;
}

p {
	line-height: 1.7;
}

#build-wrapper {
	position: relative;
	background-color: #f8ecd8;
	width: 100vw;
	margin-left: calc(-50vw + 50%)
}

#build-wrapper::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 50%;
	width: 100vw;
	height: 100%;
	margin-left: -50vw;
	content: "";
	background-color: #f8ecd8;
	display: block
}

#build-wrapper * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: inherit;
	/* line-height: inherit; */
	margin: 0;
	padding: 0
}

#build-wrapper *:before, #build-wrapper *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box
}

#build-wrapper .container-full {
	max-width: 1030px;
	margin-left: auto;
	margin-right: auto
}

#build-wrapper .container {
	max-width: 1030px;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto
}

#build-wrapper .container-small {
	max-width: 730px;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: auto;
	margin-right: auto
}

#build-wrapper h1, #build-wrapper .mod-h1, #build-wrapper h2, #build-wrapper .mod-h2, #build-wrapper h3, #build-wrapper .mod-h3, #build-wrapper h4, #build-wrapper .mod-h4, #build-wrapper h5, #build-wrapper .mod-h5, #build-wrapper h6, #build-wrapper .mod-h6 {
	border: none;
	margin: 0;
	padding: 0
}

#build-wrapper p {
	margin: 0
}

#main-img {
	position: relative;
	background-color: #f8ecd8
}

#main-img .main-img__titleWrap {
	padding: 40px;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center
}

#main-img .main-img__img img {
	display: block;
	width: 100%;
	max-width: inherit
}

/*#rct
===========================*/
#rct {
	padding: 30px 0
}
#rct .build-rct__title {
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
	padding: 0 40px
}
/* #rct .rct-txt {
	font-family: 'Noto Serif JP', 游明朝, "Yu Mincho Medium", YuMincho Medium, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	line-height: 2
} */
#rct .build-rct-list {
	list-style: none;
	margin-top: 20px;
}
#rct .build-rct-list__item + .build-rct-list__item {
	margin-top: 20px;
}
#rct .build-rct-list__item .build-rct-list__head {
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 15px;
}
#rct .build-rct-list__item .build-rct-list__head span {
	font-size: 1.7rem;
}
#rct .build-rct-list__item .build-rct-list__img {
	text-align: center;
}
#rct .build-rct-list__item .build-rct-list-area__txt,
#rct .build-rct-list__item.is-reverse .build-rct-list-area__txt {
	padding: 20px 0;
}
@media screen and (min-width: 768px) {
	#rct {
		padding: 50px 0
	}
	#rct .build-rct__title {
		font-size: 2.4rem;
	}
	#rct .build-rct__inner {
		padding-left: 60px;
		padding-right: 60px;
	}
	#rct .build-rct-list {		
		padding: 0 0 60px;
		margin-top: 40px;
	}
	#rct .build-rct-list__item + .build-rct-list__item {
		margin-top: 50px;
	}
	#rct .build-rct-list__wrap {
		display: flex;
		justify-content: space-between;
	}
	#rct .build-rct-list__item .build-rct-list__head {
		font-size: 1.8rem;
		position: relative;
		margin-bottom: 20px;
	}
	#rct .build-rct-list__item .build-rct-list__txt {
		font-size: 1.6rem;
	}
	#rct .build-rct-list__item.is-reverse .build-rct-list__wrap {
		flex-flow: row-reverse;
	}
	#rct .build-rct-list__item .build-rct-list__img {
		max-width: 420px;
		text-align: left;
	}
	#rct .build-rct-list__item.is-graph .build-rct-list__img {
		max-width: 504px;
	}
	#rct .build-rct-list__item.is-graph .build-rct-list-area__txt {
		width: 370px;
	}
	#rct .build-rct-list__item .build-rct-list-area__txt {
		width: 490px;
		padding: 0 0 0 30px;
		box-sizing: border-box;
	}
	#rct .build-rct-list__item.is-reverse .build-rct-list__img {
		margin-left: 0;
	}
	#rct .build-rct-list__item.is-reverse .build-rct-list-area__txt {
		padding: 0 30px 0 0;
	}
}

/*#merit
===========================*/
#merit {
	padding: 20px 0 30px;
}
#merit .build-merit__head {
	font-size: 2.1rem;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.1em;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 25px;
}
#merit .build-merit__head::before,
#merit .build-merit__head::after {
	background-color: #333;
	border-radius: 5px;
	content: "";
	height: 2px;
	width: 60px;
}
#merit .build-merit__head::before {
	transform: rotate(60deg);
}
#merit .build-merit__head::after {
	transform: rotate(-60deg);
}
#merit .build-merit-list__item + .build-merit-list__item {
	margin-top: 20px;
}
#merit .build-merit-list__wrap {
	display: flex;
	justify-items: center;
}
#merit .build-merit-list__img {
	width: 30%;
}
#merit .build-merit-list-area__txt {
	width: 70%;
    margin-left: 5%;
}
#merit .build-merit-list__head {
	font-size: 1.7rem;
	font-weight: bold;
	margin-bottom: 6px;
}
@media screen and (min-width: 768px) {
	#merit {
		padding: 50px 0 80px;
	}
	#merit .build-merit__inner {
		padding-left: 120px;
		padding-right: 120px;
	}
	#merit .build-merit__head {
		font-size: 3.4rem;
		margin-bottom: 40px;
	}
	#merit .build-merit__head::before,
	#merit .build-merit__head::after {
		background-color: #000;
		height: 2px;
		width: 50px;
	}
	#merit .build-merit-list__head {
		font-size: 2rem;
		margin-bottom: 10px;
	}
	#merit .build-merit-list__item + .build-merit-list__item {
		margin-top: 40px;
	}
	#merit .build-merit-list__wrap {
		align-items: center;
	}
	#merit .build-merit-list__img {
		width: 180px;
	}
	#merit .build-merit-list__txt {
		font-size: 1.6rem;
	}
}

/*#bpAbout
===========================*/
#bpAbout {
	padding: 30px 0;
	background-color: #f2c000;
	margin-bottom: 60px;
}
#bpAbout .bpAbout-title {
	text-align: center;
	display: block;
	font-size: 2rem;
	font-weight: bold;
	padding: 0 20px;
	margin-bottom: 20px
}
#bpAbout .bpAbout-btnArea {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: stretch;
	align-items: stretch;
	-webkit-justify-content: center;
	justify-content: center
}
#bpAbout .bpAbout-btnArea div {
	padding-left: 5px;
	padding-right: 5px;
	margin-bottom: 15px;
	width: 100%;
	max-width: 400px;
	margin-bottom: 10px
}
#bpAbout .bpAbout-btnArea .bpAbout-btn {
	text-align: center;
	background: #fbeaae;
	display: block;
	border-radius: 10px;
	padding: 20px;
	transition: all .4s;
	cursor: pointer
}
#bpAbout .bpAbout-btnArea .bpAbout-btn:hover {
	background-color: #ffca0d;
	box-shadow: 0 5px 6px -6px rgba(0, 0, 0, 0.8);
	transform: translateY(-4px)
}
@media screen and (min-width: 480px) {
	#bpAbout .bpAbout-btnArea div {
		width: 50%;
		margin-bottom: 0px;
		padding-left: 15px;
		padding-right: 15px
	}
}
@media screen and (min-width: 768px) {
	#bpAbout {
		padding: 50px 0;
		margin-bottom: 170px;
	}
	#bpAbout .bpAbout-title {
		font-size: 2.2rem
	}
	#bpAbout .bpAbout-btnArea .bpAbout-btn {
		border-radius: 20px;
		padding: 30px 20px;
	}
}

/*#type
===========================*/
#type .build-type__inner {
	padding-bottom: 30px;
}
#type .buld-type__lead {
	text-align: center;
	margin-bottom: 20px;
	font-size: 1.6rem;
}
#type .buld-type__table {
	font-size: 1.6rem;
}
#type .buld-type__table th {	
	padding: 10px 30px;
}
#type .buld-type__table td {
	padding: 16px 15px;
	background: #fff;
}
#type .buld-type__table th {
	border: 1px solid #686868;
	border-left: none;
	border-right: none;
}
#type .buld-type__table th {
	background-color: #F2C000;
}
#type .buld-type__table tr:last-child td {
	border-bottom: 1px solid #686868;
}
@media screen and (min-width: 768px) {
	#type .build-type__inner {
		padding: 0 0 135px;
	}
	#type .buld-type__lead {
		margin-bottom: 38px;
	}
	#type .buld-type__table {
		padding: 0 75px;
	}
	#type .buld-type__table th {
		width: 20%;
	}
	#type .buld-type__table td {
		border: 1px solid #686868;
		border-left: none;
		border-right: none;
	}
}

/*#area
===========================*/
#area .build-area__inner {
	padding-top: 20px;
	padding-bottom: 20px;
}
#area .build-area__img {
	margin-bottom: 30px;
}
#area .build-area__txtArea {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -15px;
}
#area .buld-area__set {
	width: calc(50% - 30px);
	margin: 0 15px 20px;
}
#area .buld-area-prefectures__head {
	text-align: center;
	font-weight: bold;
	background: #fff;
	padding: 5px 2px;
}
#area .buld-area__set.is-kanto .buld-area-prefectures__head {
	background: #a5a5e8;
}
#area .buld-area__set.is-chubu  .buld-area-prefectures__head{
	background: #85cda4;
}
#area .buld-area__set.is-kansai .buld-area-prefectures__head {
	background: #e4b4dc;
}
#area .buld-area__set.is-chugoku .buld-area-prefectures__head {
	background: #ff9a54;
}
#area .buld-area__list {
	padding: 5px 25px;
}
#area .buld-area__item {
	margin-bottom: 3px;
}
@media screen and (min-width: 768px) {
	#area .build-area__inner {
		padding: 50px 0 110px;
	}
	#area .build-area__wrap {
		position: relative;
	}
	#area .build-area__img {
		text-align: right;
		margin-bottom: 0;
		padding-right: 80px;
	}
	#area .build-area__txtArea {
		position: absolute;
		left: 50px;
		top: 20px;
		width: 55%;
		margin: 0 -10px;
	}
	#area .buld-area__set {
		width: calc(25% - 20px);
		margin: 0 10px 20px;
	}
	#area .buld-area-prefectures__head {
		font-size: 1.6rem;
		padding: 8px 5px;
	}
	#area .buld-area__list {
		padding: 10px 20px;
	}
	#area .buld-area__item {
		font-size: 1.6rem;
		margin-bottom: 8px;
	}
}


/*#flow
===========================*/
#flow .build-flow__inner {
	padding-top: 20px;
	padding-bottom: 30px;
}
#flow .build-flow-list__item {
	margin-bottom: 30px;
}
#flow .build-flow-list__item + .build-flow-list__item {
	margin-top: 20px;
}
#flow .build-flow-list__wrap {
	display: flex;
	justify-items: center;
	align-items: center;
}
#flow .build-flow-list__circle {
	position: relative;
	font-weight: bold;
    width: 100px;
    height: 100px;
    background-color:#f2c000;
    line-height: 100px;
    text-align: center;
    border-radius: 50%;	
}
#flow .build-flow-list__circle::after {
	content: "";
	position: absolute;
	bottom: -22px;
	left: 50%;
	width: 0;
	height: 0;
	border: none;
	border-top: 10px solid #000;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	transform: translateX(-50%);
}
#flow .build-flow-list__item:last-child .build-flow-list__circle::after {
	display: none;
}
#flow .build-flow-list__txt {
	width: 60%;
    margin-left: 5%;
}
@media screen and (min-width: 768px) {
	#flow .build-flow__inner {
		padding: 50px 0 90px;
	}
	#flow .build-flow-list {
		padding: 0 90px 0 150px;
	}	
	#flow .build-flow-list__item + .build-flow-list__item {
		margin-top: 40px;
	}	
	#flow .build-flow-list__circle {
		font-size: 2.4rem;
		width: 140px;
		height: 140px;
		line-height: 140px;
	}
	#flow .build-flow-list__circle::after {
		bottom: -28px;
		border-top: 15px solid #000;
		border-right: 15px solid transparent;
		border-left: 15px solid transparent;
	}
	#flow .build-flow-list__txt {
		font-size: 1.6rem;
	}
}

/*#contact
===========================*/
#contact {
	padding: 30px 0;
	background-color: #f2c000;
}
#contact .build-contact__title {
	text-align: center;
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	padding: 0 20px;
	margin-bottom: 20px
}
#contact .build-contact__btnArea {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: row;
	flex-direction: row;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: stretch;
	align-items: stretch;
	-webkit-justify-content: center;
	justify-content: center
}
#contact .build-contact__btnArea div {
	padding-left: 5px;
	padding-right: 5px;
	margin-bottom: 15px;
	width: 100%;
	max-width: 400px;
	margin-bottom: 10px
}
#contact .build-contact__btnArea .build-contact__btn {
	text-align: center;
	background: #fbeaae;
	display: block;
	border-radius: 10px;
	padding: 20px 20px 24px;
	transition: all .4s;
	cursor: pointer
}
#contact .build-contact__btnArea .build-contact__btn:hover {
	background-color: #ffca0d;
	box-shadow: 0 5px 6px -6px rgba(0, 0, 0, 0.8);
	transform: translateY(-4px)
}
@media screen and (min-width: 768px) {
	#contact {
		padding: 85px 0;
	}
	#contact .build-contact__btnArea div {
		max-width: 540px;
		margin-bottom: 0px;
		padding-left: 0;
		padding-right: 0;
	}
	#contact .build-contact__btnArea .build-contact__btn {
		border-radius: 20px;
		padding: 28px 20px;
	}
	#contact .build-contact__title {
		font-size: 3rem;
	}
}