@charset "UTF-8";
@media print{
body .base {
	position: relative;
	background: #eee;
	width: 93%;
}

main {
    position: relative;
    width: 100%;
    font-size: calc(100vw / 37.5)
}
main .sec-01,
main .sec-03 {
	background-color: #FFF;
}
main .sec-01,
main .sec-02,
main .sec-03,
main .sec-05 {
  background-color: #EAF5F0;
  background-image:
    radial-gradient(#fff 10%, transparent 10%),
    radial-gradient(#fff 10%, transparent 10%);
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
}
.sec-02,
.sec-03,
.sec-04 {
	padding:0 auto;
}
.sec-04 h3,
.sec-03 h3,
.sec-02 h3 {
	width: 40vw;
	margin: 0 auto;
}

.sec-04 h2,
.sec-03 h2,
.sec-02 h2,
.sec-01 h2 {
	font-size: 1.833333vw;
	line-height: 1.333333333vw;
	font-weight: bold;
	text-align: center;
	color: #009C00;
	background-color: #D7EAF2;
	margin: 0 auto;
	padding: 1.3vw 0vw;
}
.sec-02 h2 span,
.sec-01 h2 span {
	font-size: 0.833333333vw;
	line-height: 0.833333333vw;
	font-weight: bold;
	text-align: center;
	color: #009C00;
	background-color: #D7EAF2;
	margin: 0 auto;
}

.sec-05 h3{
	text-align: center;
	font-size: 1.833333vw;
	line-height: 1.833333vw;
	font-weight: 500;
	padding:1vw;
	color: #FFF;
	background-color: #1A96D5;
	width: 70vw;
	margin: 0 auto;
}
.sec-05 h3 img{
	width:50%;
	line-height: 0.03333vw;
	margin: 0 auto;
}

.sec-03 p,
.sec-01 p{
	text-align: center;
	font-size: 1vw;
	line-height: 1.33333vw;
	padding:0 0 3vw 0;
}

.sec-03 p{ margin-top: 1vw; }


.sec-01 .cont-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-fle-wrap: wrap;
	flex-wrap: wrap;
	padding:2vw 15vw;
}

.sec-02 .cont-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-fle-wrap: wrap;
	flex-wrap: wrap;
	padding:2vw 15vw;
}

.sec-03 .cont-wrap,
.sec-04 .cont-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-fle-wrap: wrap;
	flex-wrap: wrap;
	padding:2vw 15vw;
}


.sec-05{ padding-top: 5vw; padding-bottom: 5vw; }

.sec-05 .cont-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-fle-wrap: wrap;
	flex-wrap: wrap;
	padding:0vw 15vw 2vw 15vw;
}
.sec-02 .cont-wrap .cont {
	margin: 0 1.5555333vw;
	width: 19.333vw;
	height: auto;
	overflow: hidden;
	position: relative;
}
.sec-02 .cont-wrap .start {
	margin:  0 1.5555333vw 0 0;
}
.sec-02 .cont-wrap .end {
	margin:  0 0 0 1.5555333vw
}
.sec-02 .cont-wrap .cont img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}
.sec-02 .cont-wrap .cont span {
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 1vw auto;
	display: block;
	width: 18vw;
	height:  auto;
	text-align: center;
	background-color: #3da0b4;
	color: #FFF;
	font-size: 14.82px;
	line-height: 40px;
	font-weight: bold;
	border-radius: calc(45px / 2);
}
section .tab_wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
}
section .tab_wrap .tab_box {
	-webkit-order: -1;
	order: -1;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	border: 1vw solid #009c00;
}

section.sec-04 .tab_wrap .tab_box {
	border-top: none;
	border-right: none;
	border-left: none;
	border-bottom: none;
}
section .tab_wrap .tab_box li {
	width: calc(100% / 5);
	border-top: none;
	border-bottom: none;
	padding-right: 1vw;
	background-color: #009c00;

}
section .tab_wrap .tab_box li:last-of-type {
	padding-right:0;
}


section.sec-04 .tab_wrap .tab_box li {
	border: 1vw solid #ffec5a;
	width: calc(100% / 4);
	background: #FFF;
}
section.sec-03 .tab_wrap .tab_box li:last-of-type {
	border: none;
}
section .tab_wrap .tab_box li a {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	height: 201px;
	position: relative;
	background-color: #FFF;
}
section .tab_wrap .tab_box li a.active::before {
	content: "";
	width: 2vw;
	height: 2vw;
	border: 1vw solid transparent;
	border-top: 1vw solid #FFF;
	position: absolute;
	top: 100%;
	margin: 0 calc(50% - 10px);
}
section.sec-04 .tab_wrap .tab_box li a.active::before {
	content: "";
	width: 2vw;
	height: 2vw;
	border: 1vw solid transparent;
	border-top: 1vw solid #FFF;
	position: absolute;
	top: 100%;
	margin: 0 calc(50% - 17px);
}
section .tab_wrap .tab_box li a img {
	width: auto;
	height: 70px;
	margin: 0 0 19px;
}
section .tab_wrap .tab_box li a p {
	font-size: 24px;
	color: #000;
}
section .tab_wrap .tab_box li a:hover p {
	color: #3da0b4;
}
section .tab_wrap .tab-main {
	border: 1vw solid #009c00;
	border-top: none;
	background-color: #FFF;
	padding:1vw;
}
section.sec-04 .tab_wrap .tab-main {
	border: 1vw solid #ffec5a;
	border-top: none;
	border-bottom: 1vw solid #ffec5a;
}
section .tab_wrap .tab-main .img-box {
	width: 100%;
	height: auto;
	overflow: hidden;
	display: none;
}
section .tab_wrap .tab-main .img-box.active {
	display: block;
}
section .tab_wrap .tab-main .img-box img {
	width: 100%;
	object-fit: cover;
	object-position: center center;
}


a.checklist{
	color: #FFF;
}

.about_titles{
	font-size: 1vw;
	line-height: 2.833vw;
	text-align: center;
	background-color: #009C00;
	color: #FFF;
	border-top-left-radius: 120px;
	border-top-right-radius: 120px;
	border-bottom-right-radius: 120px;
	border-bottom-left-radius: 120px;
	margin: 2vw auto 1vw auto;
	width: 100%;
	font-weight: bold;
}

.sec-01 .flex-container---01 {
	display: flex;
	flex-direction: row;
	margin-top: 1vw;
	align-items: center;
	width:100%;
}

.sec-01 .flex-item---01 img{
	width:8rem;
}


.sec-01 .flex-item---01 {
	padding: 5px 10px;
	box-sizing: border-box;
	font-size: 1vw;
	white-space: nowrap;
}


.sec-01 .flex-container---02 {
	display: flex;
	flex-direction: row;
	align-items: center;
	width:100%;
}


.sec-01 .flex-item---02 {
	padding: 5px 10px;
	box-sizing: border-box;
	font-size: 1vw;
	white-space: nowrap;
	background-color: #FFF;
	width: 49%;
	margin-right: 2%;
}

.sec-01 .flex-item---02:last-child {
	margin-right: 0%;
}

.sec-01 .flex-item---02 h3 {
	font-size:1rem;
	font-weight: bold;
}


.sec-01 .flex-box {
	display: flex;
	flex-direction: row wrap;
	flex-basis: 100%;
}

.sec-01 .flex-item---03 {
	box-sizing: border-box;
	font-size: 0.6rem;
	white-space: nowrap;
	flex-basis: 15%;
}


.sec-01 .flex-item---04 {
	box-sizing: border-box;
	font-size:0.6rem;
	white-space: nowrap;
	flex-basis: 85%;
}

.sec-01 .flex-item---05 {
	box-sizing: border-box;
	font-size:0.6rem;
	white-space: nowrap;
	flex-basis: 35%;
}

.sec-01 .flex-item---06 {
	box-sizing: border-box;
	font-size:0.6rem;
	white-space: nowrap;
	flex-basis: 65%;
}

.sec-02 .flex-container---01 {
	display: flex;
	flex-direction: row;
	margin-top: 1vw;
	align-items: center;
	width:100%;
	margin-bottom: 2vw;
}

.sec-02 .flex-item---01 img{
	width:448px;
}


.sec-02 .flex-item---01 {
	padding: 5px 10px;
	box-sizing: border-box;
	font-size: 1vw;
}

.sec-02 .about_caption{
	font-size: 0.6rem;
	line-height: 2rem;
	text-align: center;
	background-color: #D7EAF2;
	color: #000;
	border-top-left-radius: 120px;
	border-top-right-radius: 120px;
	border-bottom-right-radius: 120px;
	border-bottom-left-radius: 120px;
	margin-top: 1vw;
}

section:last-child{padding-bottom:5vw;}


}