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

#contentWrap {
	background-color: #edeae8;
	background-image: url("../../images/bg.jpg");
	background-size: cover;
	color: #000;
}

#sec01 {
		background-color: #fff;
	box-shadow: 3px 3px 10px rgba(0,0,0,0.5);
	padding: 30px;
	padding-bottom: 0;
}
h3.h3-01 {
	color: #000;
	padding-bottom: 0em;
	border-bottom: #777 solid 1px;
	}
h3.h3-01 .engTxt {
	color: #9899bf;
	font-size: 180%;
	letter-spacing: 0em;
	margin-right: 2em;
}
#sec01 .flex {
	padding: 30px 0 0;
}
#sec01 .flex .leftBox {
	width: 38%;
	align-items: center;
}
#sec01 .flex .leftBox .imgBox {
	width: 40%;
}
#sec01 .flex .leftBox dl {
	width: 55%;
}
#sec01 .flex dt {
	font-size: 16px;
	line-height: 1.3;
	padding-bottom: 0.5em;
}
#sec01 .flex dd {
	font-size: 13px;
	line-height: 1.5;
}
#sec01 .flex .caption {
	display: block;
	font-size: 10px;
}
#sec01 .flex .rightBox {
	width: 58%;
	align-items: center;
}
#sec01 .flex .rightBox .imgBox {
	width: 40%;
}
#sec01 .flex .rightBox dl {
	width: 57%;
}


#sec01 .hapi {
	padding: 3% 0;
	margin-top: 30px;
	position: relative;
}
#sec01 .hapi h3 {
	width: 80%;
}


#sec01 .hapi .hapiBox {
	position: absolute;
	width: 18%;
	right: 0;
	top: 0;
	transform: translateY(-12%);
}
#sec01 .hapi .flex {
}
#sec01 .hapi .flex dl {
	width: 27%;
}
#sec01 .hapi .flex dt {
	font-size: 15px;
}
#sec01 .hapi .flex dd {
	font-size: 13px;
	text-align: justify;
}
#sec01 .hapi .flex .figBox {
	width: 70%;
}

#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 {
	background-color: #fff;
	box-shadow: 3px 3px 10px rgba(0,0,0,0.5);
	padding: 30px;
	margin-top: 50px
}

#sec02 .flex{
	max-width: 960px;
	margin: 0 auto;
	gap:20px 5.55%;
	justify-content: flex-start;
	margin-top: 30px;
}

#sec02 .flex .itemBox{
	width: 20%;
	width: calc((100% / 4) - 3.75%);
	max-width: 200px;
}

#sec02 dt{
	border-bottom: #000 solid 1px;
}




@media screen and (max-width: 959px){
	h3.h3-01 {
		text-align: center;
		padding-bottom: 15px;
	}
    h3.h3-01 span {
			display: block;
    }
	#sec01 .flex {
		max-width: 400px;
		margin: 0 auto;
	}
	#sec01 .flex .leftBox, #sec01 .flex .rightBox  {
		width: 100%;
		display: block;
		padding: 30px;
		background-color: #fff;
		box-shadow: 0px 2px 10px rgba(0,0,0,0.3);
		margin-bottom: 30px;
	}
	
	#sec01 .flex .leftBox .imgBox {
		width: 100%;
		max-width: 200px;
		margin: 0 auto;
	}
	#sec01 .flex .rightBox .imgBox {
		width: 80%;
		margin: 0 auto;
	}
	#sec01 .flex .leftBox dl, #sec01 .flex .rightBox dl  {
		width: 100%;
		padding-top: 20px;
	}
	#sec01 .flex .leftBox dt, #sec01 .flex .rightBox dt  {
		text-align: center;
	}
	#sec01 .hapi {
    padding: 0 0 3% 0;
    margin-top: 0px;
}
	#sec01 .hapi h3 {
    width: 80%;
		margin: 0 auto;
}
	#sec01 .hapi .hapiBox {
    position: static;
    width: 30%;
		margin-left: 57%;
    transform: translateY(0%);
}
	#sec01 .hapi .flex dl {
		width: 100%;
	}
	#sec01 .hapi .flex .figBox {
		width: 100%;
		margin: 30px auto;
	}
	#sec02 .flex {
		max-width: 400px;
		margin: 0 auto;
		padding: 30px 0;
	}
	#sec02 .flex .itemBox {
    width: calc((100% / 2) - 3.75%);
    max-width: 200px;
}

	
}

@media screen and (max-width: 599px){
#contentWrap {
		padding: 10px 0;
  }
	#sec01 {
    padding: 20px;
}
	#sec01 .flex .leftBox, #sec01 .flex .rightBox {
        padding: 20px;
    }
	#sec01 .hapi h3 {
    width: 100%;
		margin: 0 auto;
}
	#sec01 .hapi .hapiBox {
    position: static;
    width: 60%;
		margin-left: 20%;
    transform: translateY(0%);
}
	#sec01 .hapi .flex dt {
   font-size: clamp(14px, 4vw, 16px);
}
		#sec02 .flex {
		max-width: 350px;
	}
	#sec02 .flex .itemBox {
    width: 100%;
   max-width: 350px;
	}
}

