@charset "UTF-8";
/* CSS Document */

#contentWrap {
	background-color: #edeae8;
	color: #000;
}
dd .caption {
	font-size: 10px;
	line-height: 1.3;
	display: block;
	padding-top: 0.3em;
}
h3.h3-01 {
	background-color: #000;
	color: #fff;
	padding-bottom: 0em;
	padding-left: 10%;
	padding-right: 1em;
	box-shadow: 3px 3px 10px rgba(0,0,0,0.5);
	width: auto;
	max-width: 1200px;
	align-items: center;
	}
h3.h3-01.col2 {
	background-color: #706b42;
}
h3.h3-01 span.engTxt {
	letter-spacing: 0;
	color: #c6bf8a;
	
}
h3.h3-01 span.jpTxt {
	font-size: 100%;
	text-align: right;
	flex: 1;
}
#sec01,
#sec02,#sec03,
#sec04,#sec05 {
	background-color: #fff;
	box-shadow: 3px 3px 10px rgba(0,0,0,0.5);
	padding: 50px;
	max-width: 1200px;
	margin-top: -20px;
	margin-bottom: 5%;
}
#sec05 {
	margin-bottom: 0;
}
#sec01 .titBox {
	max-width: 900px;
	margin: 0 auto;
	align-items: flex-end;
}
#sec01 .titBox h3 {
	width: 40%;
}
#sec01 .titBox p {
	width: 55%;
	text-align: center;
}
#sec01 .hapiBox {
	max-width: 760px;
	margin: 0 auto;
	padding: 30px 0;
}
#sec01 .flex {
	gap:20px 0;
}
#sec01 .flex .item {
	width: 32%;
}
#sec01 .caption {
	font-size: 10px;
	padding-top: 0.5em;
	
}
#sec01 .btnBox,
#sec02 .btnBox{
	width: 400px;
	margin: 0 auto;
	padding: 30px 0 10px;
}
#sec01 .btnBox a,
#sec02 .btnBox a{
	display: block;
	background-color: #d4115f;
	box-shadow: 2px 2px 6px rgba(0,0,0,0.5);
	border-radius: 6px;
	padding: 3% 15%;
}

#sec02 {}
#sec02 .flex {}
#sec02 .flex .leftBox {
	width: 48%;
}
#sec02 .flex .rightBox {
	width: 48%;
}
#sec02 .flex .leftBox h4 {
	max-width: 200px;
	margin: 20px auto 30px;
}
#sec02 .flex .leftBox p {
	text-align: center;
}
#sec02 p.caption {
	text-align: justify;
	font-size: 10px;
	line-height: 1.3;
}

#sec02 .btnBox a {
	background-color: #409fbd;
	padding: 3% 26%;
}

#sec03 {}
#sec03 .flex,
#sec04 .flex,
#sec05 .flex{
	max-width: 1000px;
	margin: 0 auto;
	gap:20px 5%;
	justify-content: flex-start;
}
#sec03 .flex .itemBox,
#sec04 .flex .itemBox,
#sec05 .flex .itemBox{
	width: 20%;
	width: calc((100% / 4) - 3.75%);
}
#sec03 dt,
#sec04 dt,
#sec05 dt{
	border-bottom: #000 solid 1px;
}
#sec04 p{
	padding-bottom: 2em;
	text-align: center;
}
#sec04 dd{
	text-align: center;
}
#sec04 h4 {
	text-align: center;
	font-size: 18px;
	padding-top: 2em;
	padding-bottom: 1em;
}
#sec04 .flex03 {
	max-width: 900px;
	margin: 0 auto;
}
#sec04 .flex03 .rank {
	width: 27%;
}
#sec04 .flex03 .kanri {
	width: 40%;
}
#sec04 .flex03 .kanri .fig {
	width: 80%;
	margin: 0 auto;
}
#sec04 .flex03 .kanri .btnBox {
	width: 100%;
	padding-top: 10px;
}
#sec04 .flex03 .kanri .btnBox a {
	background-color: #f29600;
	display: block;
	border-radius: 10px;
	padding: 2% 10%;
}


@media screen and (max-width: 959px){
	h3.h3-01 {
		font-size: 1.8vw;
		letter-spacing: 0;
		display: block;
		padding: 0;
		padding-bottom: 0.3em;
	}
	h3.h3-01 span {
		width: 100%;
		text-align: center;
	}
	h3.h3-01 span.engTxt {
		display: block;
		width: 100%;
		padding: 0;
		margin: 0;
		text-align: center;
	}
	h3.h3-01 span.jpTxt {
		display: block;
		text-align: center;
	}
	#sec01 .titBox h3 {
		width: 60%;
		margin: 0 auto 20px;
	}
	#sec01 .titBox p,
	#sec02 .flex .leftBox p,
	#sec04 p {
		width: 100%;
		font-size: clamp(13px, 1.9vw, 15px);
	}
	#sec01 .flex .item {
    width: 48%;
	}
	#sec02 .flex .leftBox {
		width: 100%;
	}
	#sec02 .flex .rightBox {
		width: 100%;
		padding-top: 30px;
	}
	#sec03 .flex, #sec04 .flex, #sec05 .flex {
    max-width: 500px;
		    gap: 20px 10%;
	}
	#sec03 .flex .itemBox, #sec04 .flex .itemBox, #sec05 .flex .itemBox {
    width: 45%;
	}
	#sec04 h4 {
    font-size: clamp(14px, 2vw, 16px);
	}
	
}

@media screen and (max-width: 599px){
	h3.h3-01 {
		font-size: clamp(14px, 4vw, 16px);
		padding: 0.3em 0 0.5em;
	}
	#sec01, #sec02, #sec03, #sec04, #sec05 {
		padding: 50px 5%;
	}
	#sec01 .titBox h3 {
    width: 80%;
    margin: 0 auto 20px;
  }
	#sec01 .titBox p, #sec02 .flex .leftBox p, #sec04 p {
    width: 100%;
    font-size: clamp(12px, 3.5vw, 14px);
		text-align: justify;
  }
	#sec01 .titBox p br, #sec02 .flex .leftBox p br, #sec04 p br {
		display: none;
	}
	    #sec01 .flex .item {
        width: 100%;
    }
	#sec01 .btnBox, #sec02 .btnBox {
    width: 90%;
    margin: 0 auto;
    padding: 30px 0 10px;
	}
	#sec03 .flex, #sec04 .flex, #sec05 .flex {
        width: 90%;
		max-width: 300px;
    }
	    #sec03 .flex .itemBox, #sec04 .flex .itemBox, #sec05 .flex .itemBox {
        width: 100%;
    }
	#sec03 .flex .itemBox .imgBox, #sec04 .flex .itemBox .imgBox, #sec05 .flex .itemBox .imgBox {
        width: 80%;
		margin: 0 auto;
    
	}
	 #sec04 h4 {
     font-size: clamp(14px, 4vw, 16px);
		 line-height: 1.3;
   }
	#sec04 .flex03 .rank {
		width: 48%;
	}
	#sec04 .flex03 .kanri {
		width: 100%;
		padding-top: 20px;
	}
	#sec04 .flex03 .kanri .fig {
    width: 70%;
	}

}

