@charset "utf-8";
/* ===================================================
	Hot Spring CSS
====================================================== */

.cmn_tit { font-size: 32px; text-align: center; line-height: 1.4; letter-spacing: 0.1em;}

@media screen and (max-width: 600px) {
.cmn_tit { font-size: 24px;}
}

/* ---------------------------------------------------
	.box_lead
------------------------------------------------------ */
.box_lead{ padding: 100px 0; border-bottom: solid 1px #303030;}
.box_lead .txt_01{ text-align: center; padding: 30px 0 0; font-size: 16px; line-height: 2; letter-spacing: 0.1em;}

@media screen and (max-width: 600px) {
.box_lead{ padding: 50px 0;}
.box_lead .txt_01{ text-align: left; padding: 30px 5% 0; font-size: 15px; line-height: 1.7;}
}

/* ---------------------------------------------------
	#sec_info
------------------------------------------------------ */
#sec_info { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 90px 0 150px; line-height: 1.8;}
#sec_info .tit_col { width: 100%; }
#sec_info h2+p { margin-top: 15px; }
#sec_info>.flex { display: flex; width: 100%; margin-top: 50px; }
#sec_info>.flex .tit { font-size: 26px; }
#sec_info>.flex .txt p:not(.tit) { margin-top: 1.5em; line-height: 1.7; }
#sec_info>.flex.col { flex-direction: column; width: 47.5%; margin-top: 75px; }
#sec_info>.flex.col .photo,
#sec_info>.flex.col .txt { width: 100%; }
#sec_info>.flex.col .txt { padding-left: 0; }
#sec_info>.flex.col .tit span { font-size: 20px; }
#sec_info>.flex.col .cmn_table { margin-top: 2.5em; }

@media screen and (min-width: 601px) {
#sec_info>.flex .photo { width: calc(100% - 350px); }
#sec_info>.flex .txt { width: 350px; padding: 20px 0 0 3.7%; }
#sec_info>.flex.col .cmn_table dt,
#sec_info>.flex.col .cmn_table dd { padding: 15px; }
#sec_info>.flex.col .cmn_table dt { width: 130px; }
#sec_info>.flex.col .cmn_table dd { width: calc(100% - 130px); }
}
@media screen and (max-width: 600px) {
#sec_info { padding: 10vw 0 16vw; }
#sec_info>.flex { flex-direction: column; margin-top: 8vw; }
#sec_info>.flex .photo { margin-bottom: 20px; }
#sec_info>.flex .tit { font-size: 19px; }
#sec_info>.flex .txt p:not(.tit) { margin-top: 1em; }
#sec_info>.flex.col { width: 100%; margin-top: 8vw; }
#sec_info>.flex.col .photo { max-height: 344px; height: 58vw; }
#sec_info>.flex.col .tit span { font-size: 16px; }
}

/* ---------------------------------------------------
	#sec_data
------------------------------------------------------ */
#sec_data { padding: 50px 0 150px; line-height: 1.8;}
#sec_data .cmn_tit { text-align: center;}
#sec_data .tb_layout { display: flex; flex-wrap: wrap; margin-top: 35px;}
#sec_data .tb_layout dt,
#sec_data .tb_layout dd { padding: 10px 30px; box-sizing: border-box; border-bottom: 1px solid #404040;}
#sec_data .tb_layout dt { width: 250px; background: #262829;}
#sec_data .tb_layout dd { width: calc(100% - 250px);}
#sec_data .tb_layout dd a { text-decoration: underline;}

@media screen and (hover: hover) {
#sec_data .tb_layout dd a:hover { text-decoration: none;}
}

@media screen and (max-width: 600px) {
#sec_data { padding: 40px 0 60px;}
#sec_data .tb_layout { margin-top: 20px;}
#sec_data .tb_layout { flex-wrap: wrap;}
#sec_data .tb_layout dt { width: 100%; padding: 10px 15px; border-bottom: none;}
#sec_data .tb_layout dd { width: 100%; padding: 15px 15px;}
}