@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
}

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

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

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

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

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

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

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

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

#bpWrapper p {
	margin: 0
}

#bpHero {
	position: relative;
	background-color: #e9e7e0
}

#bpHero .bpHero-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
}

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

#bpRead {
	padding: 30px 0
}

@media screen and (min-width: 768px) {
	#bpRead {
		padding: 50px 0
	}
}

#bpRead .bpRead-title {
	text-align: center;
	margin-bottom: 20px;
	padding: 0 40px
}

#bpRead .bpRead-txt {
	font-family: 'Noto Serif JP', 游明朝, "Yu Mincho Medium", YuMincho Medium, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	line-height: 2
}

#bpPoint {
	padding: 30px 0
}

@media screen and (min-width: 768px) {
	#bpPoint {
		padding: 50px 0
	}
}

#bpPoint .bpPointCard {
	margin-bottom: 30px;
	background-color: #fff;
	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
}

@media screen and (min-width: 768px) {
	#bpPoint .bpPointCard {
		padding: 30px
	}
}

#bpPoint .bpPointCard .bpPointCard-imgArea {
	width: 100%;
	text-align: center;
	margin-bottom: 15px;
	position: relative;
	overflow: hidden;
	height: 50vw
}

@media screen and (min-width: 768px) {
	#bpPoint .bpPointCard .bpPointCard-imgArea {
		width: 40%;
		height: auto;
		margin-bottom: 0
	}
}

#bpPoint .bpPointCard .bpPointCard-imgArea img {
	width: 100%;
	display: inline-block;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -40%);
	transform: translate(-50%, -40%)
}

@media screen and (min-width: 768px) {
	#bpPoint .bpPointCard .bpPointCard-imgArea img {
		position: relative
	}
}

#bpPoint .bpPointCard .bpPointCard-txtArea {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 20px 20px
}

@media screen and (min-width: 768px) {
	#bpPoint .bpPointCard .bpPointCard-txtArea {
		width: 60%;
		padding: 15px 0px 15px 30px
	}
}

#bpPoint .bpPointCard .bpPointCard-txtArea .bpPointCard-title {
	text-align: center;
	display: block;
	margin-bottom: 20px
}

#bpPoint .bpPointCard .bpPointCard-txtArea .bpRead-txt {
	font-family: 'Noto Serif JP', 游明朝, "Yu Mincho Medium", YuMincho Medium, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	line-height: 2
}

#bpAbout {
	padding: 30px 0;
	background-color: #b9b39d
}

@media screen and (min-width: 768px) {
	#bpAbout {
		padding: 50px 0
	}
}

#bpAbout .bpAbout-title {
	text-align: center;
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	padding: 0 20px;
	font-family: 'Noto Serif JP', 游明朝, "Yu Mincho Medium", YuMincho Medium, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	margin-bottom: 20px
}

@media screen and (min-width: 768px) {
	#bpAbout .bpAbout-title {
		font-size: 3rem
	}
}

#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
}

@media screen and (min-width: 480px) {
	#bpAbout .bpAbout-btnArea div {
		width: 50%;
		margin-bottom: 0px;
		padding-left: 15px;
		padding-right: 15px
	}
}

#bpAbout .bpAbout-btnArea .bpAbout-btn {
	text-align: center;
	background: #fff;
	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)
}

#bpOnayami {
	padding: 30px 0
}

@media screen and (min-width: 768px) {
	#bpOnayami {
		padding: 50px 0
	}
}

#bpOnayami .bpOnayami-title {
	text-align: center;
	display: block;
	margin-bottom: 20px;
	padding: 0 20px
}

#bpOnayami .bpOnayami-onayamiArea {
	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
}

#bpOnayami .bpOnayami-onayamiArea .onayamiFig {
	width: 50%;
	padding-left: 10px;
	padding-right: 10px;
	margin-bottom: 15px;
	text-align: center
}

@media screen and (min-width: 768px) {
	#bpOnayami .bpOnayami-onayamiArea .onayamiFig {
		width: 25%;
		margin-bottom: 0
	}
}

#bpOnayami .bpOnayami-onayamiArea .onayamiFig img {
	display: block
}

#bpDetails .bpDetails-title {
	text-align: center;
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	padding: 0 20px;
	font-family: 'Noto Serif JP', 游明朝, "Yu Mincho Medium", YuMincho Medium, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	margin-bottom: 20px
}

@media screen and (min-width: 768px) {
	#bpDetails .bpDetails-title {
		font-size: 3rem
	}
}

#bpDetails .bpDetails-txt {
	font-family: 'Noto Serif JP', 游明朝, "Yu Mincho Medium", YuMincho Medium, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	line-height: 2;
	margin-bottom: 1em
}

#bpDetails .bpDetails-selection {
	border-top: 1px solid #929292;
	border-bottom: 1px solid #929292;
	margin-bottom: 20px
}

#bpDetails .bpDetails-selection dl {
	font-family: 'Noto Serif JP', 游明朝, "Yu Mincho Medium", YuMincho Medium, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	line-height: 2;
	display: table;
	padding: 20px 0;
	width: 100%
}

#bpDetails .bpDetails-selection dl+dl {
	border-top: 1px solid #929292
}

#bpDetails .bpDetails-selection dt, #bpDetails .bpDetails-selection dd {
	display: table-cell
}

#bpDetails .bpDetails-selection dt {
	width: 50px;
	line-height: 0.5;
	vertical-align: middle;
	font-size: 3.0rem;
	text-align: center;
}

#bpDetails .bpDetails-selection dd {
	vertical-align: top
}

#bpDetails .bpContact-btnWrap {
	text-align: center;
	padding: 20px 0
}

#bpDetails .bpContact-btnWrap .bpContact-btn {
	background-color: #8e8cbc;
	padding: 20px;
	border-radius: 10px;
	display: inline-block;
	transition: all .4s;
	cursor: pointer
}

#bpDetails .bpContact-btnWrap .bpContact-btn:hover {
	background-color: red;
	box-shadow: 0 5px 6px -6px rgba(0, 0, 0, 0.8);
	transform: translateY(-4px)
}

#bpTokkijiko {
	padding: 30px 0
}

@media screen and (min-width: 768px) {
	#bpTokkijiko {
		padding: 50px 0
	}
}

#bpTokkijiko .bpTokkijiko-title {
	text-align: center;
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	padding: 0 20px;
	font-family: 'Noto Serif JP', 游明朝, "Yu Mincho Medium", YuMincho Medium, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	margin-bottom: 20px;
	border-bottom: 1px dotted #6e6e6e;
	padding-bottom: 10px
}

@media screen and (min-width: 768px) {
	#bpTokkijiko .bpTokkijiko-title {
		font-size: 3rem
	}
}

#bpTokkijiko .bpTokkijiko-txt {
	font-family: 'Noto Serif JP', 游明朝, "Yu Mincho Medium", YuMincho Medium, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
	line-height: 2
}
