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

/* ---------------------------------------------------
	Lead
------------------------------------------------------ */
#lead_col .photo + p { font-size: 19px; line-height: 2.2; margin-top: 45px; text-align: left; }

@media screen and (max-width: 600px) {
	#lead_col .photo + p { font-size: 17px; line-height: 1.8; margin-top: 25px; }
}


/* ---------------------------------------------------
	index_col
------------------------------------------------------ */
.index_col { margin-bottom: 75px; border-bottom: 1px dotted #656565; }
.index_col > div { margin: 80px 0; background: var(--color03); padding: 60px; font-size: 15px; box-sizing: border-box; width: 480px; }
.index_col > div > p { font-size: 17px; margin-bottom: 25px; }
.index_col dl dt { padding: 10px 65px; border-radius: 50px; background: var(--color02); margin-bottom: 10px; width: fit-content; line-height: 1; }
.index_col ul li { margin-top: 20px; }
.index_col ul li a { color: #000; border-color: #000; }

@media screen and (hover: hover) {
	.index_col ul li a:hover { color: #000; border-color: transparent; }
}
@media screen and (max-width: 600px) {
	.index_col { margin-bottom: 30px; }
	.index_col > div { margin: 40px 0; padding: 30px 4%; font-size: 14px; width: 100%; }
	.index_col > div > p { font-size: 16px; margin-bottom: 20px; }
	.index_col ul li { margin-top: 10px; }
	.index_col ul li a { display: inline; }
}


/* ---------------------------------------------------
	共通
------------------------------------------------------ */
.detail_col { margin-bottom: 75px; padding-bottom: 75px; border-bottom: 1px dotted #656565; }
.detail_col:last-of-type { border-bottom: 0; margin-bottom: 0;}
.detail_col h2 { color: #926010; font-size: 22px; margin-bottom: 30px; }
.detail_col h3 { font-size: 17px; margin-bottom: 30px; }

.list_dots li { font-size: 15px; padding-left: 1em; text-indent: -1em; line-height: 1.8; letter-spacing: 0.11em; }
.list_dots li + li { margin-top: 5px; }
.list_dots li::before { content: '-'; margin-right: 0.5em; }

.clr_red { color: #de3721; }

@media screen and (max-width: 600px) {
	.detail_col { margin-bottom: 30px; padding-bottom: 25px; }
	.detail_col h2 { font-size: 18px; margin-bottom: 20px; }
	.detail_col h3 { font-size: 16px; margin-bottom: 20px; }

	.list_dots li { line-height: 1.5; }

}


/* ---------------------------------------------------
	sec01
------------------------------------------------------ */
#sec01 { border-bottom: 0; margin-bottom: 0; padding-bottom: 115px; }
#sec01 ul li + li { margin-top: 20px; }

@media screen and (max-width: 600px) {
	#sec01 { padding-bottom: 60px; }
	#sec01 ul li + li { margin-top: 10px; }
	#sec01 ul li a { display: inline; }
}


/* ---------------------------------------------------
	sec02
------------------------------------------------------ */
#sec02 > div { background: var(--color03); padding: 55px 50px; }
#sec02 > div > div:nth-child(1) { margin-bottom: 75px; padding-bottom: 60px; border-bottom: 1px dotted #656565; }
#sec02 > div > div:nth-child(1) h2 + p { margin-bottom: 40px; }
#sec02 > div > div:nth-child(2) h3 + p { margin-bottom: 55px; }
#sec02 .type { display: flex; justify-content: space-between; flex-wrap: wrap; padding: 50px; background: #fff; }
#sec02 .type + .type { margin-top: 55px; }
#sec02 .type .photo { width: 49%; }
#sec02 .type .name { width: 45%; letter-spacing: 0.11em; }
#sec02 .type .name .num { width: fit-content; border-radius: 50px; line-height: 1; padding: 6px 20px; box-sizing: border-box; background: #5c8eba; color: #fff; margin-bottom: 25px; }
#sec02 .type .name h4 { color: #5c8eba; font-size: 30px; margin-bottom: 40px; }
#sec02 .type .name h4 + p { font-size: 16px; line-height: 2; }
#sec02 .type .txt { width: 100%; margin-top: 20px; }
#sec02 .type .txt > a { display: block; width: min(230px, 100%); box-sizing: border-box; color: #fff; background: #51b24b; text-align: center; padding: 15px 2%; margin-top: 30px; font-size: 15px; }
#sec02 .type .txt > a span { border: none; }
#sec02 .type:nth-of-type(2) .txt ul li .link_01.prepare,
#sec03 > div > ul li .link_01.prepare { display: inline; color: #2262c1; }
#sec02 .type:nth-of-type(1) .txt > a { background: #51b24b; }
#sec02 .type:nth-of-type(2) .txt > a { background: #ac9547; display: inline-block; margin-right: 20px; }
#sec02 .type:nth-of-type(2) .txt > a + p,
#sec03 > div > ul li .clr_red { display: inline-block; font-size: 15px; color: #d40000; border-bottom: 1px solid #d40000; line-height: 1.3; }

@media screen and (max-width: 600px) {
	#sec02 > div { padding: 30px 4%; }
	#sec02 > div > div:nth-child(1) { margin-bottom: 35px; padding-bottom: 30px; }
	#sec02 > div > div:nth-child(1) h2 + p { margin-bottom: 20px; }
	#sec02 > div > div:nth-child(2) h3 + p { margin-bottom: 25px; }
	#sec02 .type { flex-direction: column; padding: 30px 4%; }
	#sec02 .type + .type { margin-top: 30px; }
	#sec02 .type .photo { width: 100%; }
	#sec02 .type .name { width: 100%; margin-top: 20px; }
	#sec02 .type .name .num { padding: 3px 15px; margin-bottom: 15px; }
	#sec02 .type .name h4 { font-size: 22px; margin-bottom: 15px; }
	#sec02 .type .name h4 + p { font-size: 15px; line-height: 1.8; }
	#sec02 .type .txt ul li a { display: inline; }
	#sec02 .type .txt > a { width: 100%; padding: 15px 2%; margin-top: 20px; }
	#sec02 .type:nth-of-type(2) .txt > a { margin: 20px 0 0; }
	#sec02 .type:nth-of-type(2) .txt > a + p,
	#sec03 > div > ul li .clr_red { margin: 5px 0 0; border: none; text-decoration: underline;}
}


/* ---------------------------------------------------
	sec03
------------------------------------------------------ */
#sec03 > div { background: var(--color03); padding: 55px 50px; }
#sec03 > div h3 + p { margin-bottom: 40px; letter-spacing: 0.11em; }
#sec03 > div > ul { margin-top: 35px; }
#sec03 > div > a { display: block; width: min(230px, 100%); box-sizing: border-box; color: #fff; background: #ac9547;  text-align: center; padding: 15px 2%; margin-top: 30px; font-size: 15px; display: inline-block; }
#sec03 > div > a span { border: none; }

@media screen and (max-width: 600px) {
	#sec03 > div { padding: 30px 4%; }
	#sec03 > div h3 + p { margin-bottom: 20px; }
	#sec03 > div > ul { margin-top: 20px; }
	#sec03 > div > a { width: 100%; padding: 15px 2%; margin-top: 20px; }
}


/* ---------------------------------------------------
	sec04
------------------------------------------------------ */
#sec04 > h3 + p { line-height: 2.4; margin-bottom: 40px; letter-spacing: 0.11em; }
#sec04 .photo_col { display: flex; justify-content: space-between; flex-wrap: wrap; }
#sec04 .photo_col .photo:nth-child(n + 3) { margin-top: 15px;}
#sec04 table { width: 100%; letter-spacing: 0.11em; margin-top: 40px; }
#sec04 table th,
#sec04 table td { padding: 20px; width: 50%; line-height: 1.8; border: 1px solid var(--color02); vertical-align: middle; }
#sec04 table th { font-size: 15px; background: #a89653; color: #fff; text-align: center; font-weight: normal; }
#sec04 table td:nth-child(1) { padding-left: 190px; }
#sec04 table td:nth-child(2) { padding-left: 75px; }

@media screen and (max-width: 600px) {
	#sec04 > h3 + p { line-height: 1.8; margin-bottom: 20px; }
	#sec04 .photo_col .photo { width: calc(50% - 5px);}
	#sec04 .photo_col .photo img { width: 100%; height: auto; object-fit: contain; }
	#sec04 .photo_col .photo:nth-child(n + 3) { margin-top: 10px;}
	#sec04 table { margin-top: 20px; }
	#sec04 table th,
	#sec04 table td { padding: 10px 15px; line-height: 1.5; }
	#sec04 table td:nth-child(1) { padding: 10px 15px; }
	#sec04 table td:nth-child(2) { padding: 10px 15px; }
	#sec04 table td a { display: inline; line-height: 1.5; }
}


/* ---------------------------------------------------
	sec05
------------------------------------------------------ */
#sec05 h2 + p { margin-bottom: 40px; letter-spacing: 0.11em; }
#sec05 h3 + p { margin-bottom: 30px; letter-spacing: 0.11em; }

@media screen and (max-width: 600px) {
	#sec05 h2 + p { margin-bottom: 20px; }
	#sec05 h3 + p { margin-bottom: 15px; }
}


/* ---------------------------------------------------
	sec06
------------------------------------------------------ */
#sec06 ul { margin: 45px 0 30px; letter-spacing: 0.11em; }
#sec06 > p { font-size: 15px; letter-spacing: 0.11em; }
#sec06 > p span { padding-right: 1em; }
#sec06 > p img { height: 12px; width: auto; font-size: 0; line-height: 0; vertical-align: baseline;}
#sec06 > p + p { margin-top: 10px; }
#sec06 > p a { border: none; }
#sec06 .mapwrap { margin-top: 50px; position: relative; padding-bottom: 56.25%; height: auto; overflow: hidden; }
#sec06 .mapwrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media screen and (max-width: 600px) {
	#sec06 ul { margin: 25px 0 20px; }
	#sec06 .mapwrap { margin-top: 30px; }
	#sec06 > p { font-size: 14px; }
	#sec06 > p a { word-break: break-all;}
	#sec06 > p span { display: block; padding: 0 0 5px; }
}


/* ---------------------------------------------------
	sec07
------------------------------------------------------ */
#sec07 ul li + li { margin-top: 20px; }

@media screen and (max-width: 600px) {
	#sec07 ul li + li { margin-top: 10px; }
}