@charset "UTF-8";

/* --------------------------------
	common
-------------------------------- */

#main p {
	font-size: min(22px, 4.5vw);
	padding-top: 20px;
}

#sec02 {
	padding-bottom: min(80px, 3rem);
}

.marker {
	background-color: #fdff6c;
	font-weight: 400;
}

@media (max-width: 768px) {
	#main p {
		padding-top: 1rem;
	}
}

#main h2 {
	font-size: min(36px, 6.5vw);
}


/* --------------------------------
	cover
-------------------------------- */


/* --------------------------------
	#sec01
-------------------------------- */
#sec01 {
	padding-top: min(60px, 4rem);
	background-color: #507b9e;
}

#sec01 p {
	color: white;
	text-align: center;
	padding-bottom: min(80px, 4rem);
	line-height: 1.8;
}

/* --------------------------------
	#sec02
-------------------------------- */

#sec02 {
	padding-bottom: min(80px, 4rem);
	background: url("../img/sec02_bg.jpg") center top no-repeat;
	background-size: 100% auto;
}

#sec02 p {
	padding-top: min(60px, 4rem);
}

/* --------------------------------
	#sec03
-------------------------------- */
#sec03 {
	padding-bottom: min(80px, 4rem);
}
#sec03 figure {
	padding-top: 40px;
	padding-bottom: 20px;
}

@media (max-width: 768px) {
	#sec03 figure {
		padding-top: 3rem;
		padding-bottom: 2rem;
	}
}

ol.criteria {
	list-style: none;
	margin: min(20px,4vw) 0 min(10px,2vw);
	padding: 0;
}
ol.criteria li {
	position: relative;
	font-size: min(22px, 4.5vw);
	line-height: 1.4;
	padding: min(6px,1.3vw) 0 min(6px,1.3vw) min(44px,9vw);
}
p.detail {
	position: relative;
	/*padding: min(20px,4vw) min(20px,4vw) min(20px,4vw) min(52px,10vw) !important;
	margin-top: min(24px,5vw);
	font-size: min(18px, 3.8vw) !important;*/
}
ol.criteria li .mark,
p.detail .mark {
	position: absolute;
	left: 0;
	top: min(20px,4.6vw);
	transform: translateY(-50%);
	width: min(30px, 6.2vw);
	height: min(30px, 6.2vw);
	line-height: min(30px, 6.2vw);
	text-align: center;
	border-radius: 50%;
	background: #ae9037;
	color: #fff;
	font-size: min(16px, 3.4vw);
}

p.detail .mark {
	left: 0;
	top: min(28px,4.0vw);
	transform: none;
}

/*p.detail{
	text-indent: min(24px,4vw);
}*/

span.dotline {
	border: none;
  background-image: radial-gradient(circle, #6d6d6d 40%, transparent 50%);
  background-repeat: repeat-x;
  background-position: bottom, bottom, left, right;
  background-size: 8px 4px; /* 「ドットの大きさ」と「間隔」を調整 */
	line-height: 2.2;
	padding-bottom: 1vh;
}

/* --------------------------------
	#sec04
-------------------------------- */
#sec04 {
	padding-bottom: min(40px, 2rem);
	background: url("../img/sec04_bg.jpg") center top no-repeat;
	background-size: 100% auto;
}

#sec04 p {
	padding-top: min(60px, 4rem);
}

#sec04 span.marker {
	background-color: #d0c295;
}
/* --------------------------------
	#sec05
-------------------------------- */
#sec05 {
	background-color: #ae9037;
	padding-bottom: min(80px, 4rem);
}
#sec05 h2 {
	color: white;
	text-align: center;
	line-height: 1.8;
	letter-spacing: 0.2rem;
}
/* --------------------------------
	#sec06
-------------------------------- */
#sec06 {
	padding-top: min(80px, 4rem);
	padding-bottom: min(80px, 4rem);
}
#sec06 div:nth-of-type(2) {
	padding-top: 10px;
}


