@charset "utf-8";
/* ===================================================
	About CSS
====================================================== */

.list_note {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1.5em;
}
.list_note li {
	padding-left: 1em;
	text-indent: -1em;
}
.list_note li::before {
	content: '※';
}


/* ---------------------------------------------------
	#sec_intro
------------------------------------------------------ */
#sec_intro {
	padding-bottom: 100px;
}
#sec_intro [class^="box_"] {
	display: flex;
	align-items: center;
}
#sec_intro [class^="box_"] .cmn_tit_02 {
	margin-bottom: 20px;
}
#sec_intro [class^="box_"] .txt_col>p:not(.link) {
	line-height: 2.2;
}
#sec_intro .link {
	margin-top: 20px;
}

@media screen and (min-width: 601px) {
	#sec_intro [class^="box_"] .txt_col {
		width: min(100%, 550px);
	}
	#sec_intro [class^="box_"] .pic_col {
		flex-shrink: 0;
		width: 53.5%;
	}
	#sec_intro [class^="box_"] .pic_col .ofi {
		min-height: 500px;
	}
	#sec_intro .box_1 .txt_col {
		margin-left: auto;
		padding-left: 4%;
	}
	#sec_intro .box_1 .pic_col .ofi {
		object-position: left;
	}
	#sec_intro .box_2 {
		flex-direction: row-reverse;
	}
	#sec_intro .box_2 .txt_col {
		margin-right: auto;
		padding-right: 4%;
	}
	#sec_intro .box_2 .pic_col {
		margin-top: -60px;
	}
	#sec_intro .box_2 .pic_col .ofi {
		object-position: right;
	}
}
@media screen and (max-width: 600px) {
	#sec_intro {
		padding: 50px 4% 30px;
	}
	#sec_intro [class^="box_"] {
		flex-direction: column;
	}
	#sec_intro .box_2 {
		padding-top: 20px;
	}
	#sec_intro .link {
		margin-top: 20px;
		text-align: center;
	}
	#sec_intro .link+.link {
		margin-top: 1em;
	}
}


/* ---------------------------------------------------
	#sec_yumeguri
------------------------------------------------------ */
#sec_yumeguri {
	display: flex;
	justify-content: space-between;
	padding: 40px 1% 40px 3%;
	border-radius: var(--border-radius);
	background-color: #f5f9ec;
}
#sec_yumeguri .txt_col .cmn_tit_02 {
	margin-bottom: 15px;
}
#sec_yumeguri .txt_col>p {
	line-height: 2.2;
}
#sec_yumeguri .txt_col p+p {
	margin-top: 0.75em;
}
#sec_yumeguri .green {
	color: var(--col-gr03);
}
#sec_yumeguri .txt_col .num {
	font-size: 20px;
}
#sec_yumeguri .list_note {
	margin-top: 0.75em;
}

@media screen and (min-width: 601px) {
	#sec_yumeguri .pic_col {
		flex-shrink: 0;
		width: 41%;
	}
	#sec_yumeguri .pic_col .ofi {
		width: 100%;
	}
	#sec_yumeguri .txt_col {
		width: 58%;
	}
}
@media screen and (max-width: 600px) {
	#sec_yumeguri {
		flex-direction: column;
		padding: 30px 4%;
	}
	#sec_yumeguri .txt_col .cmn_tit_02 {
		text-align: center;
	}
	#sec_yumeguri .pic_col {
		width: 71.5%;
		margin: 20px auto 0;
	}
}


/* ---------------------------------------------------
	#sec_spot
------------------------------------------------------ */
#sec_spot {
	position: relative;
	display: flex;
	align-items: center;
	margin: 100px auto 45px;
}
#sec_spot .txt_col>p {
	margin-top: 20px;
	line-height: 2.2;
}
#sec_spot .cmn_tit_02 .lg {
	font-size: 130%;
}

@media screen and (min-width: 601px) {
	#sec_spot .txt_col {
		width: 50%;
		margin-left: auto;
		padding: clamp(25px,2.5vw,50px) 5% clamp(35px,4.5vw,60px)  10.8%;
		border-radius: var(--border-radius);
		background-color: #fff;
	}
	#sec_spot .pic_col {
		position: absolute;
		z-index: 1;
		width: 60%;
		margin-left: -2%;
	}
}
@media screen and (max-width: 600px) {
	#sec_spot {
		flex-direction: column;
		margin: 50px auto 25px;
		padding: 30px 4% 0;
		border-radius: var(--border-radius);
		background-color: #fff;
	}
	#sec_spot .txt_col {
		width: 100%;
	}
	#sec_spot .txt_col .cmn_tit_02 {
		text-align: center;
	}
	#sec_spot .pic_col {
		width: 92vw;
		margin: 10px 0 -20px;
	}
}
