@charset "utf-8";
/* CSS Document */

#maincontents {
	padding-bottom: 60px;
}
#maincontents p {
    line-height: 2em;
    font-size: 0.95em;
    letter-spacing: 0.1em;
    text-align: justify;
    word-break: break-all;
}
#maincontents #heroimage {
    padding: 0 1.3vw;
}
#maincontents #heroimage img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 225px;
}
#maincontents #intro {
    padding: 0 10vw 40px 10vw;
}
#maincontents #intro strong {
    display: block;
    padding: 2.5em 0 2em 0;
    font-size: 1.1em;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.15em;
    line-height: 1.5;
}
#maincontents #intro p br {
	display: none;
}
#maincontents #flow {
	padding: 50px 10vw 30px 10vw;
	background: #e7ecef;
	text-align: center;
}
#maincontents #flow h3 {
	margin-bottom: 20px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.1em;
}
#maincontents #flow .img {
	width: 100%;
	height: 300px;
	overflow-y: hidden;
	overflow-x: scroll;
}
#maincontents #flow .img .inner {
	width: 622px;
	height: 300px;
}
#maincontents .cont {
	margin-top: 50px;
	padding: 0 10vw;
	display: flex;
	flex-direction: column;
	align-items: center;
}
#maincontents .cont .no {
	padding: 0.5em 0.7em;
	background: #d5d5d5;
	font-size: 0.9em;
	font-weight: 600;
}
#maincontents .cont h3 {
	margin: 20px 0 15px 0;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.1em;
}
#maincontents .cont p {
	text-align: justify;
	word-break: break-all;
}
#maincontents .cont p br {
	display: none;
}
#maincontents .cont video {
	margin-top: 30px;
	width: 100%;
  height: 100%;
  aspect-ratio: 340 / 191;
}
#maincontents .cont .meas {
	width: 100%;
	margin: 30px auto 0 auto;
	padding: 30px 0;
	border-top: solid 1px #3c3c37;
	border-bottom: solid 1px #3c3c37;
}
#maincontents .cont .meas h4 {
	margin-bottom: 10px;
	font-weight: bold;
  text-align: center;
  letter-spacing: 0.15em;
  line-height: 1.5;
}
#maincontents .cont .meas p {
	text-align: left;
	line-height: 1.8em;
}
#maincontents .cont .meas a img {
	display: block;
	max-width: 180px;
	margin: 20px auto 0 auto;
}
#maincontents .cont figure {
	width: 100%;
	display: flex;
	gap: 5px 5px;
	margin-top: 30px;
}
#maincontents .cont figure img {
	width: calc(50% - 2.5px);
}
#maincontents .cont .point h4 {
	margin: 30px 0 5px 0;
	padding: 0.6em;
	background: #3c3c37;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
}
#maincontents .cont .point ul {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 3px 0;
}
#maincontents .cont ul.facility {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	gap: 10px 0;
}
#maincontents .cont ul.facility li {
	width: calc(100% / 3);
	text-align: center;
}