@charset "UTF-8";

/*==============
    index
================*/
footer {
	margin-top: 0;
}

@media screen and (min-width: 769px) {
	body {
		background: #fff;
	}

}

@media screen and (max-width: 768px) {}


/* ------------------------------
    mv
------------------------------ */
.mv {
	position: relative;
	z-index: 1;
}

.mv .txt {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 68px;
	transform: translateY(-50%);
	width: 332px;
}

.mv .txt span.txt_w {
	display: block;
	line-height: 1;
	font-size: 2.2rem;
	color: #74D4FC;
	background: #fff;
	font-weight: bold;
	letter-spacing: 0.65em;
	width: 0;
	padding: 0;
	height: 22px;
	animation: mv_txtw 0.5s;
	animation-fill-mode: forwards;
	overflow: hidden;
}

.mv .txt span.txt_w span {
	position: relative;
	padding-left: 0.2em;
	display: inline-block;
	padding-top: 0.05em;
}

.mv .txt span.txt_w span:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: #fff;
	right: 0;
	top: 0;
	animation: mv_txtspan 1.5s;
	animation-fill-mode: forwards;
	overflow: hidden;
}

.mv .txt span.txt_w+span.txt_w {
	margin-top: 26px;
}

@keyframes mv_txtw {
	from {
		width: 0;
	}

	to {
		width: 100%;
	}
}

@keyframes mv_txtspan {
	from {
		opacity: 1;
		width: 100%;
	}

	to {
		opacity: 0;
		width: 0%;
	}
}

.mv .txt span.txt_w1 {
	animation-delay: 1s;
}

.mv .txt span.txt_w1 span:before {
	animation-delay: 2s;
}

.mv .txt span.txt_w2 {
	animation-delay: 1.2s;
}

.mv .txt span.txt_w2 span:before {
	animation-delay: 2.5s;

}

.mv .txt span.txt_w3 {
	animation-delay: 1.4s;
}

.mv .txt span.txt_w3 span:before {
	animation-delay: 3s;
}

.mv_slick {
	position: relative;
}

.mv_slick .slick-slide {
	overflow: hidden;
	border-radius: 40px;
	border: 7px solid #74D4FC;
}

.mv_slick .slick-dots {
	display: flex;
	position: absolute;
	bottom: 34px;
	right: 63px;
}

.mv_slick .slick-dots li {
	text-indent: -9999px;
	overflow: hidden;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #393939;
	cursor: pointer;
	opacity: 0.5;
}

.mv_slick .slick-dots li+li {
	margin-left: 13px;
}

.mv_slick .slick-dots li.slick-active {
	opacity: 1;
}

.mv .pause {
	position: absolute;
	bottom: 28px;
	right: 40px;
	width: 20px;
	height: 20px;
}

.pause_on,
.pause_off {
	position: absolute;
	width: 100%;
	height: 100%;
	background: #393939;
	cursor: pointer;
	top: 0;
	left: 0;
}

.pause_on:before,
.pause_on:after {
	content: "";
	display: block;
	position: absolute;
	width: 2px;
	height: 7px;
	background: #fff;
	top: 50%;
	left: 50%;
	transform: translateY(-50%);
}

.pause_on {
	z-index: 3;
}

.pause_on:before {
	margin-left: -3px;
}

.pause_on:after {
	margin-left: 2px;
}

.pause_off:before {
	content: "";
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3.5px 0 3.5px 6.1px;
	border-color: transparent transparent transparent #fff;
	background: none;
	top: 50%;
	left: 50%;
	transform: translateY(-50%);
	margin-left: -3px;
}

@media screen and (min-width: 769px) {
	.mv {
		padding: 0 10px;
		max-width: 1323px;
	}
}

/*
@media screen and (min-width: 769px) and (max-width: 1299px) {
	.mv{
		max-width: 1323px;
	}
}
@media screen and (min-width: 1300px) {
	.mv{
		max-width: calc(100% - 55px);
	}
}*/
@media screen and (max-width: 768px) {
	.mv {}

	.mv .txt {
		left: 6.4vw;
		width: 40vw;
	}

	.mv .txt span.txt_w {
		font-size: 2.6vw;
		height: 2.6vw;
	}

	.mv .txt span.txt_w span {}

	.mv .txt span.txt_w+span.txt_w {
		margin-top: 2.6vw;
	}

	.mv_slick {}

	.mv_slick .slick-slide {
		border-radius: 4vw;
		border-width: 3px;
	}

	.mv_slick .slick-dots {
		bottom: 4.8vw;
		right: 10vw;
	}

	.mv_slick .slick-dots li {
		width: 1vw;
		height: 1vw;
	}

	.mv_slick .slick-dots li+li {
		margin-left: 1.6vw;
	}

	.mv .pause {
		bottom: 4vw;
		right: 4.8vw;
		width: 2.6vw;
		height: 2.6vw;
	}

	.pause_on:before,
	.pause_on:after {
		width: 1px;
		height: 0.8vw;
	}

	.pause_on:before {
		margin-left: -2px;
	}

	.pause_on:after {
		margin-left: 1px;
	}

	.pause_off:before {
		border-width: 0.5vw 0 0.5vw 1vw;
		margin-left: -0.4vw;
	}

}



/* ------------------------------
    top_info
------------------------------ */
.top_info {
	margin-top: 58px;
}

.top_info .cat3_ttl {
	font-size: 4.8vw;
	color: #D90000;
	margin-bottom: 0.3em;
	padding: 0 4vw;
	line-height: 1.2;
}

.top_info .cat4_ttl {
	font-size: 4.8vw;
	color: #FF7A4A;
	margin-bottom: 0.3em;
	padding: 0 4vw;
	line-height: 1.2;
}

.top_info .inner {
	background: #FF7A4A;
	color: #fff;
	justify-content: flex-start;
	padding: 0.5em 30px 0.3em;
	font-size: 1.4rem;
	line-height: 1.2;
}

.top_info .inner_cat3 {
	background: #D90000;
}

.top_info p {
	font-weight: bold;
}

.top_info .date {
	display: inline-block;
	margin-right: 0.7em;
}

@media screen and (min-width: 769px) {
	.top_info+.top_info {
		margin-top: 24px;
	}

	.top_info .cat3_ttl {
		font-size: 2rem;
		padding: 0 16px;
	}

	.top_info .cat4_ttl {
		font-size: 2rem;
		padding: 0 16px;
	}

	.top_info .ttl {
		margin-right: 32px;
		padding-right: 44px;
		border-right: 1px solid #FFB741;
	}

	.top_info .ttl_cat3 {
		padding-right: 65px;
		padding-left: 21px;
	}
}

@media screen and (max-width: 768px) {
	.top_info {
		margin-top: 5.3vw;
	}

	.top_info+.top_info {
		margin-top: 5.3vw;
	}

	.top_info .inner {
		padding: 3.2vw 4vw 2.6vw;
		font-size: 3.2vw;
		line-height: 1.2;
	}

	.top_info p {
		font-weight: bold;
		line-height: 1.5;
		letter-spacing: 0.07em;
	}

	.top_info .ttl {
		display: none;
	}

	.top_info .date {
		display: inline-block;
		margin-right: 1vw;
	}
}




/* ------------------------------
    sec1
------------------------------ */

.sec1 {
	margin-top: 70px;
}

.sec1 a.sec1_link {
	background: #fff;
	border: 7px solid #74D4FC;
	border-radius: 40px;
	width: 100%;
	box-shadow: 10px 10px 0px 0px #ededed;
	position: relative;
}

.sec1 a.sec1_link p {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.2em;
}

.sec1 a p .dot {
	display: inline-block;
	position: relative;
	line-height: 1;
}

.sec1 a p .dot:before {
	content: "";
	display: block;
	position: absolute;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	top: -0.6em;
	left: 50%;
	transform: translateX(-80%);
	background: #74D4FC;
}

.sec1_0 {
	margin-bottom: 27px;
}

.sec1_0 a.sec1_link {
	border-color: #74D4FC;
	height: 227px;
	padding-top: 27px;
}

.sec1_0 a.sec1_link .flex p {
	font-size: 3.5rem;
	letter-spacing: 0em;
	line-height: 1.2;
	padding-top: 30px;
}

.sec1_0 a .flex p .dot:before {
	background: #FFB741;
	top: -0.4em;
	width: 7px;
	height: 7px;
}

.sec1_0 a .flex p .sec1_0_small {
	letter-spacing: 0.2em;
}

.sec1_0 a .flex p .sec1_0_small2 {
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}

.sec1_0 a>.flex {
	justify-content: center;
	align-items: center;
}

.sec1_0 a img {
	width: 154px;
	margin: 0 !important;
	margin-right: 42px !important;
}



.sec1_2 a p .dot:before {
	transform: translateX(-50%);
}

.sec1 a img {
	display: block;
	margin: 0 auto;
}


.sec1_1 a {
	padding-top: 35px;
	height: 227px;
}

.sec1_1 a p .sec1_0_small2 {
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}

.sec1_1 a.sec1_link p {
	font-size: 2.5rem;
	line-height: 1.85;
	margin-bottom: 24px;
}

.sec1_1 a.sec1_link .sec1_l_b_abs {
	position: absolute;
	top: 0;
	left: 116px;
	font-size: 16px;
	color: #74d4fc;
	letter-spacing: 0.15em;
	line-height: 3.375;
}

.sec1_1 a p .dot:before {
	background: #FFB741;
	width: 5px;
	height: 5px;
	top: -0.4em;
}

.sec1 .sec1_1 img {
	width: 130px;
	margin: 0;
}

.sec1 .sec1_l_b img {
	width: 134px;
	margin: 0;
}

.sec1_2 {
	margin-bottom: 27px;
}

.sec1_2 a.sec1_link {
	border-color: #FFB741;
	height: 227px;
	padding-top: 33px;
}

.sec1_2 a.sec1_link p {
	font-size: 2.1rem;
	letter-spacing: 0.1em;
}

.sec1_2 a p .dot:before {
	background: #83C443;
	top: -0.5em;
}

.sec1_2 a>.flex {
	justify-content: center;
	align-items: center;
}

.sec1_2 a p.telbox {
	margin-top: 27px;
	line-height: 1;
	color: #83C443;
}

.sec1_2 a .tel_txt {
	font-size: 1.6rem;
	margin-bottom: 0.8em;
}

.sec1_2 a .tel_num {
	font-size: 4.5rem;
}

.sec1_2 a img {
	width: 110px;
	margin: 0;
	margin-right: 42px;
}

.sec1_2 a p.sub {
	margin-top: 1em;
	font-size: 1.25rem;
	line-height: 1.5;
	font-weight: bold;
}

.sec1_3,
.sec1_4 {
	width: 47.4%;
}

.sec1_3 a.sec1_link,
.sec1_4 a.sec1_link {
	height: 203px;
	border-color: #83C443;
	padding-top: 40px;
}

.sec1_3 a {}

.sec1_3 a p {
	margin-bottom: 33px;
}

.sec1_3 img {
	width: 38px;

}

.sec1_4 a {}

.sec1_4 a p {
	margin-bottom: 28px;
}

.sec1_4 img {
	width: 172px;

}

@media screen and (min-width: 769px) {
	.sec1 {
		width: 1054px;
	}

	.sec1 a {
		display: block;
	}

	.sec1 a:hover {
		opacity: 0.7;
	}

	.sec1_l {
		width: 457px;
	}

	.sec1 .sec1_l_u {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 27px;
	}

	.sec1_l_b {
		padding-top: 2vw !important;
	}

	.sec1 .sec1_l_b {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 203px;
	}

	.sec1_l_b .column p {
		margin-bottom: 5px !important;
	}

	.sec1_r {
		width: 569px;
	}

	.sec1_2 a p.telbox span {
		display: block;
		text-align: center;
	}

	.sec1_2 a .tel_num {}

	.sec1_l_b {
		padding-top: 15px !important;
	}

	.sec1_l_b .column p {
		line-height: 1.3 !important;
		margin-bottom: 15px !important
	}

}

@media screen and (max-width: 768px) {
	.sec1_0 {
		margin-bottom: 3.2vw;

	}

	.sec1_1 a p .sec1_0_small2 {
		font-size: 3vw;
		letter-spacing: 0.1em;
	}

	.sec1_0 a.sec1_link {
		border-color: #74D4FC;
		/*display: flex;
		align-items: center;*/
		height: 32vw;
		padding-top: 4vw;
		display: block;
	}

	.sec1_0 a.sec1_link .flex p {
		font-size: 4.2vw;
		letter-spacing: normal;
		line-height: 1.5;
		padding-top: 0;
	}

	.sec1_0 a .flex p .dot:before {
		top: -0.6em;
		height: 1vw;
		width: 1vw;
	}

	.sec1_0 a .flex p .sec1_0_small {}

	.sec1_0 a .flex p .sec1_0_small2 {
		font-size: 3.0vw;
	}

	.sec1_0 a .flex {
		align-items: center;
		justify-content: flex-start;
	}

	.sec1_0 a .flex img {
		width: 20.2vw;
		margin-right: 8.4vw !important;
		margin-left: 5vw !important;
	}


	.sec1 {
		margin-top: 5.3vw;
	}

	.sec1 a.sec1_link {
		border-width: 3px;
		border-radius: 5.3vw;
		box-shadow: 1vw 1vw 0px 0px #ededed;
		align-items: center;
		margin-bottom: 3.2vw;
	}

	.sec1_l_b_abs {
		display: none;
	}

	.sec1 a.sec1_link p {
		font-size: 3.4vw;
	}

	.sec1 a p .dot:before {
		width: 0.8vw;
		height: 0.8vw;
		top: -0.6em;
	}

	.sec1_1 {
		margin-bottom: 3.2vw;
	}

	.sec1_1 a {
		padding-top: 0;
		height: 26.6vw;
	}

	.sec1_1 a.sec1_link p {
		font-size: 4.2vw;
		line-height: 1.9;
		margin-bottom: 0;
		flex: 1;
	}

	.sec1_1 a p .dot:before {
		width: 1vw;
		height: 1vw;
		top: -0.5em;
	}

	.sec1_1 a img {
		width: 13.3vw;
		margin-right: 3.2vw;
		margin-left: 8vw;
	}

	.sec1 .sec1_1 img {
		width: 13.3vw;
		margin-right: 3.2vw;
		margin-left: 8vw;
	}

	.sec1 .sec1_l_b img {
		width: 13.3vw;
		margin-right: 3.2vw;
		margin-left: 8vw;
	}

	.sec1_2 {
		margin-bottom: 3.2vw;

	}

	.sec1_2 a.sec1_link {
		border-color: #FFB741;
		/*display: flex;
		align-items: center;*/
		height: 32vw;
		padding-top: 2vw;
		display: block;
	}

	.sec1_2 a.sec1_link p {
		font-size: 3.46vw;
		letter-spacing: normal;
	}

	.sec1_2 a p .dot:before {
		top: -0.6em;
	}

	.sec1_2 a .flex {
		align-items: center;
		justify-content: flex-start;
	}

	.sec1_2 a .txt {
		width: 56vw;
		padding-top: 2vw;
	}

	.sec1_2 a p.telbox {
		margin-top: 1.6vw;
	}

	.sec1_2 a .tel_txt {
		font-size: 2.6vw;
		display: inline-block;
		margin-bottom: 1vw;
	}

	.sec1_2 a .tel_num {
		font-size: 8vw;
	}

	.sec1_2 a img {
		width: 15.2vw;
		margin-right: 6.4vw;
		margin-left: 8vw;
	}

	.sec1_2 a p.sub {
		margin-top: 0.8vw;
		font-size: 2.6vw;
		letter-spacing: -0.05em;
		line-height: 1.3;
	}

	.sec1_3,
	.sec1_4 {
		width: 48.5%;
	}

	.sec1_3 a.sec1_link,
	.sec1_4 a.sec1_link {
		height: 32.3vw;
		padding-top: 0;
		display: block;
	}

	.sec1_3 a.sec1_link {}

	.sec1_3 a p {
		margin-bottom: 0;
	}

	.sec1_3 a img {
		width: 8.8vw;
		margin-top: 4.2vw;
		margin-bottom: 4.2vw;
	}

	.sec1_4 a.sec1_link {}

	.sec1_4 a p {
		margin-bottom: 0;
	}

	.sec1_4 a img {
		width: 30vw;
		margin-top: 6.4vw;
		margin-bottom: 6vw;
	}

	.sec1_l_b .column {
		flex: 1;
	}

	.sec1_l_b .column p {
		line-height: 1.3 !important;
		margin-bottom: 1vw !important
	}


}




/* ------------------------------
    sec2
------------------------------ */
.sec2 {
	margin: 133px 0 0;
	position: relative;
	background: #EAEAEA;
	padding: 82px 0 70px;
	z-index: 1;
}

.sec2_btm {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -30px;
	width: 759px;
	z-index: 1;
}

.sec2 .drop1 {
	top: -94px;
	left: 50%;
	margin-left: -616px;
}

.sec2:before,
.sec2:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 20px;
	left: 0;
}

.sec2:before {
	top: -15px;
	background: url(../img/weve_gl_top.png) top repeat-x;
	background-size: 120px;
}

.sec2:after {
	bottom: -15px;
	background: url(../img/weve_gl_btm.png) bottom repeat-x;
	background-size: 120px;
}

.sec2box {
	background: #fff;
	border: 7px solid #74D4FC;
	border-radius: 40px;
	overflow: hidden;
	z-index: 2;
	position: relative;
}

.sec2box a {
	display: block;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 7px solid #74D4FC;
	padding: 0 24px 0 40px;
}

.sec2box a .txt {}

.sec2box a .numbox {
	align-items: center;
}

.sec2box a .numbox .num {
	font-size: 8.5rem;
	line-height: 1;
	color: #74D4FC;
	border-bottom: 5px solid #74D4FC;
	margin-right: 16px;
}

.sec2box a .numtxt {
	flex: 1;
}



.sec2_2 a .numbox .num,
.sec2_4 a .numbox .num,
.sec2_7 a .numbox .num {
	color: #FFB741;
	border-color: #FFB741;
}

.sec2_3 a .numbox .num,
.sec2_6 a .numbox .num {
	color: #83C443;
	border-color: #83C443;
}

.sec2box a .ttl {
	flex: 1;
	font-size: 3rem;
	line-height: 1.4;
	font-weight: bold;
	letter-spacing: 0.05em;

}

.sec2box a p.txt1 {
	font-weight: bold;
	line-height: 1.5;
	font-size: 1.6rem;
	letter-spacing: 0.05em;

}

.sec2box a .btn {
	width: 118px;
	height: 24px;
	margin-top: 13px;
	background: #74D4FC;
	border-radius: 20px;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1;
	justify-content: flex-start;
	padding-left: 8px;
	position: relative
}

.sec2box a .btn:before {
	content: "";
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 10px;
	border-color: transparent transparent transparent #FFB741;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
}

.sec2_2 a .btn,
.sec2_4 a .btn,
.sec2_7 a .btn {
	background: #FFB741;
}

.sec2_2 a .btn:before,
.sec2_4 a .btn:before {
	border-color: transparent transparent transparent #83C443;
}

.sec2_3 a .btn {
	background: #83C443;
}

.sec2_3 a .btn:before {
	border-color: transparent transparent transparent #FFB741;
}

/* ここから */

.sec2box .sec2_inner {
	display: block;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 7px solid #74D4FC;
	padding: 0 24px 0 40px;
}

.sec2box .sec2_inner .txt {
	flex: 1;

}

.sec2box .sec2_inner .numbox {
	align-items: center;
}

.sec2box .sec2_inner .numbox .num {
	font-size: 8.5rem;
	line-height: 0.9;
	color: #74D4FC;
	border-bottom: 4px solid #74D4FC;
	margin-right: 16px;
}

.sec2box .sec2_inner .numtxt {
	flex: 1;
}


.sec2box .sec2_inner .ttl {
	flex: 1;
	font-size: 3rem;
	line-height: 1.3;
	font-weight: bold;
	letter-spacing: 0.05em;

}

.sec2box .sec2_inner p.txt1 {
	font-weight: bold;
	line-height: 1.5;
	font-size: 1.6rem;
	letter-spacing: -0.05em;

}

.sec2box .sec2_inner p.txt2 {
	font-weight: bold;
	line-height: 1.5;
	font-size: 1.6rem;
	letter-spacing: -0.05em;
	margin-top: 16px;
}

.sec2box .sec2_inner .btn {
	width: 118px;
	height: 24px;
	margin-top: 13px;
	background: #74D4FC;
	border-radius: 20px;
	border-bottom: none;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1;
	justify-content: flex-start;
	padding-left: 8px;
	position: relative
}

.sec2box .sec2_inner .btn:before {
	content: "";
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 10px;
	border-color: transparent transparent transparent #FFB741;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
}

/* ここまで */

.sec2_1 {
	height: 210px;
}

.sec2_1 a .numbox .num {
	font-size: 9rem;
	margin-right: 25px;
}

.sec2_1 img {
	width: 111px;
}

.sec2_1 .numbox {
	margin-bottom: 28px;
}

.sec2_1 .ttl {
	font-size: 3.25rem;
}

.sec2_1 .txt {
	width: 360px;
}


.sec2_2 {
	height: 220px;
}

.sec2_2 a {
	padding: 0 44px 0 0px;
}

.sec2_2 .img {
	top: -4px;
	position: relative;
}

.sec2_2 img {
	width: 212px;
}

.sec2_2 .ttl {
	font-size: 3.25rem;
	margin-bottom: 0.3em;
}

.sec2_2 .txt {
	padding-left: 30px;
	position: relative;
	width: 360px;
}

.sec2_2 .num {
	position: absolute;
	top: -10px;
	right: -10px;
}


.sec2_3 {
	height: 210px;
	position: relative;
}

.sec2_3 a {
	padding: 0 0 0 22px;
}

.sec2_3 .ttl {
	margin-bottom: 20px;
	white-space: nowrap;
}

.sec2_3 .img {
	width: 277px;
	position: absolute;
	right: 0;
	bottom: -8px;
}

.sec2_4 {
	height: 210px;
	position: relative;
}

.sec2_4 a {
	padding-left: 0;
	padding-bottom: 0;
	padding-right: 22px;
}

.sec2_4 .ttl {
	margin-bottom: 0;
}

.sec2_4 a .numbox .num {
	margin-right: 0;
	position: absolute;
	top: 90px;
	left: 31px;
}

.sec2_4 .txt {
	margin-left: 38px;
}

.sec2_4 .txt1 {
	white-space: nowrap;
	margin-left: 70px;
}

.sec2_4 .btn {
	margin-left: 70px;
}

.sec2_4 .img {
	margin-top: auto;
	margin-bottom: 0;
	width: 216px;
	position: absolute;
	right: 0;
	bottom: 4px;
}

.sec2_4 .numbox {
	margin-bottom: 20px;

}

.sec2_5 {
	height: 220px;
	position: relative;
}

.sec2_5 a {
	padding-left: 16px;
	padding-right: 16px;
}

.sec2_5 .ttl_sm {
	font-size: 2.2rem;
	line-height: 1.3;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-bottom: 8px;
}

.sec2_5 a .numbox {
	display: flex;
	align-items: start;
}

.sec2_5 .num {
	position: absolute;
	top: 16px;
	right: 22px;
}

.sec2_5 .ttl {
	margin-bottom: 25px;
}

.sec2_5 .img {
	width: 193px;
}

.sec2_5 a .btn {
	margin-left: auto;
	margin-right: 0;
	margin-top: 5px;
}

.sec2_5 .txt {
	width: 313px;
	margin-right: 22px;
}

.sec2_5 a p.txt1 {}

.sec2_6-7 {
	display: flex;
}

.sec2_6 {
	width: 50%;
	height: 215px;
}

.sec2_6 a {
	padding-left: 16px;
	padding-right: 16px;
}

.sec2_6 .ttl_sm {
	font-size: 2.2rem;
	line-height: 1.3;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-bottom: 8px;
}

.sec2_6 a .numbox {
	display: flex;
	align-items: start;
}

.sec2_6 .img {
	margin-left: 32px;
	width: 80px;
}

.sec2_6 a .btn {
	margin-left: auto;
	margin-right: 0;
	margin-top: -13px;
	background: #83C443;
}

.sec2_6 a p.txt1 {
	font-size: 1.4rem;
	margin-top: 8px;
}

.sec2_7 {
	width: 50%;
	height: 215px;
	border-left: 7px solid #74D4FC;
}

.sec2_7 a {
	padding-left: 16px;
	padding-right: 16px;
}

.sec2_7 a .numbox {
	display: flex;
	align-items: start;
}

.sec2_7 .ttl_sm {
	font-size: 2.2rem;
	line-height: 1.3;
	font-weight: bold;
	letter-spacing: 0.05em;
	margin-bottom: 16px;
}

.sec2_7 a p.txt1 {
	font-size: 1.4rem;
	margin-top: 8px;
}

.sec2_7 a .btn {
	margin-top: 60px;
}

.sec2_7 .img {
	width: 110px;
	margin-top: 8px;
}


@media screen and (min-width: 769px) {
	.sec2 .wrap2 {}

	.sec2_l,
	.sec2_r {
		width: 50%;
	}

	.sec2_r {
		border-left: 7px solid #74D4FC;
	}

	.sec2_3 a,
	.sec2_6 a,
	.sec2_7 a {
		border-bottom: none;
	}
}

@media screen and (max-width: 768px) {
	.sec2 {
		margin: 21.3vw 0 0;
		padding: 5.3vw 0 5vw;
	}

	.sec2_btm {
		bottom: -3.7vw;
		width: 71.8vw;
		z-index: 1;
	}

	.sec2 .drop1 {
		top: -10.1vw;
		left: 8.5vw;
		margin-left: 0;
	}

	.sec2:before,
	.sec2:after {
		height: 5vw;
		left: 0;
	}

	.sec2:before {
		top: -2.4vw;
		background-size: 17.6vw;
	}

	.sec2:after {
		bottom: -2.4vw;
		background-size: 17.6vw;
	}

	.sec2box {
		border-width: 3px;
		border-radius: 5.3vw;
	}

	.sec2box a {
		border-width: 3px;
		padding: 0 4.2vw 0 6.1vw;
	}

	.sec2box a .txt {
		flex: 1;
	}

	.sec2box a .numbox {}

	.sec2box a .numbox .num {
		border-width: 3px;
		font-size: 10.9vw;
		margin-right: 3.46vw;
		line-height: 0.9;
	}

	.sec2box a .ttl {
		font-size: 4vw;
	}

	.sec2box a .ttl_sm {
		font-size: 3.5vw;
	}

	.sec2box a p.txt1 {
		font-size: 2.6vw;
		/*letter-spacing: -0.02em;*/
	}

	.sec2box a .btn {
		width: 20vw !important;
		height: 3.8vw;
		margin-top: 2vw;
		border-radius: 3vw;
		font-size: 2.6vw;
		line-height: 1;
		padding-left: 1.3vw;
		position: relative;
		align-items: center;
		/*padding-top: 0.1em;*/
		letter-spacing: -0.05em;
		white-space: nowrap;
	}

	.sec2box a .btn:before {
		border-width: 0.7vw 0 0.7vw 1.3vw;
		right: 1vw;
	}

	.sec2box .sec2_inner {
		border-width: 3px;
		padding: 0 4.2vw 0 6.1vw;
	}

	.sec2box .sec2_inner .txt {
		flex: 1;
	}

	.sec2box .sec2_inner .numbox {}

	.sec2box .sec2_inner .numbox .num {
		border-width: 3px;
		font-size: 10.9vw;
		margin-right: 3.46vw;
		line-height: 0.9;
	}

	.sec2box .sec2_inner .ttl {
		font-size: 4vw;
	}

	.sec2box .sec2_inner p.txt1 {
		font-size: 2.6vw;
		/*letter-spacing: -0.02em;*/
	}

	.sec2box .sec2_inner p.txt2 {
		font-size: 2.6vw;
	}

	.sec2box .sec2_inner .btn {
		width: 20vw !important;
		height: 3.8vw;
		margin-top: 2vw;
		border-radius: 3vw;
		font-size: 2.6vw;
		line-height: 1;
		padding-left: 1.3vw;
		position: relative;
		align-items: center;
		/*padding-top: 0.1em;*/
		letter-spacing: -0.05em;
		white-space: nowrap;
	}

	.sec2box .sec2_inner .btn:before {
		border-width: 0.7vw 0 0.7vw 1.3vw;
		right: 1vw;
	}



	.sec2_1 {
		height: 32vw;
	}

	.sec2_1 a .numbox .num {
		font-size: 12.5vw;
		margin-right: 4.2vw;
	}

	.sec2_1 img {
		width: 18.6vw;
	}

	.sec2_1 .numbox {
		margin-bottom: 3.7vw;
	}

	.sec2_1 a .ttl {
		font-size: 4.8vw;
	}

	.sec2_2 {
		overflow: hidden;
		height: 32vw;
	}

	.sec2_2 a {
		padding-left: 0;
	}

	.sec2_2 img {
		width: 32vw;
	}

	.sec2_2 a .ttl {
		font-size: 4.8vw;
		margin-bottom: 0.5em;
	}

	.sec2_2 .txt {
		padding-left: 4vw;
		padding-top: 4vw;
	}

	.sec2_2 a .numbox .num {
		top: 0vw;
		right: 0;
		font-size: 12vw;
		margin-right: 0;
	}

	.sec2_3 {
		height: 32vw;
	}

	.sec2_3 a {
		padding-right: 0;
		border-bottom: none;
	}

	.sec2_3 .ttl {
		margin-bottom: 3vw;
		white-space: nowrap;
	}

	.sec2_3 .img {
		width: 47vw;
		bottom: 0;
	}

	.sec2_4 {
		height: 32vw;
	}

	.sec2_4 a {
		padding-left: 0;
		padding-right: 3.7vw;
		border-top: 3px solid #74D4FC;
	}

	.sec2_4 .ttl {
		margin-bottom: 0;
	}

	.sec2_4 a .numbox .num {
		margin-right: 0;
		left: auto;
		right: 4.2vw;
		top: 14vw;
	}

	.sec2_4 .txt {
		margin-left: 33vw;
	}

	.sec2_4 .txt1 {
		flex: 1;
		white-space: pre-wrap;
		margin-left: 0;
	}

	.sec2_4 .btn {
		margin-left: 0;
	}

	.sec2_4 .img {
		width: 29vw;
		right: auto;
		left: 0;
		bottom: 3px;
	}

	.sec2_4 .numbox {
		margin-bottom: 2vw;
	}

	.sec2_5 {
		padding: 0;
		height: 32vw;
	}

	.sec2_5 a {}

	.sec2_5 .num {
		position: absolute;
		left: 6.1vw;
		display: inline-block;
		right: auto;
		top: 14.2vw;
	}

	.sec2_5 .ttl {
		margin-bottom: 2vw;
	}

	.sec2_5 a p.txt1 {
		font-size: 2.4vw;
		margin-left: 11vw;
	}

	.sec2_5 .img {
		width: 30vw;
		position: absolute;
		right: 0;
	}

	.sec2_5 a .btn {
		margin-top: 2vw;
		margin-left: 11vw;
	}

	.sec2_6 {
		padding: 0;
		height: 36vw;
	}

	.sec2_6 a {
		border-bottom: none;
		padding: 0 2vw;
	}

	.sec2_6 .ttl {
		margin-bottom: 2vw;
	}

	.sec2_6 a p.txt1 {
		font-size: 2.4vw;
	}

	.sec2_6 .img {
		width: 12vw;
	}

	.sec2_6 a .btn {
		margin-top: -2vw;
	}

	.sec2_7 {
		border-width: 3px;
		padding: 0;
		height: 36vw;
	}

	.sec2_7 a {
		border-bottom: none;
		padding: 0 2vw;
	}

	.sec2_7 a p.txt1 {
		font-size: 2.4vw;
	}

	.sec2_7 a .btn {
		margin-top: auto;
		margin-bottom: 0;
	}

	.sec2_7 .img {
		width: 17vw;
	}
}




/* ------------------------------
    sec3
------------------------------ */
.sec3 {
	padding-top: 120px;
	padding-bottom: 83px;
	position: relative;
}

.sec3 .drop2 {
	top: -40px;
	left: 50%;
	margin-left: 480px;
	z-index: 2;
}

.sec3 .ttl {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 34px;
}

.sec3 .ttl .sub {
	display: block;
	font-size: 1.6rem;
	margin-top: 1.4em;
	letter-spacing: 0.4em;
}

.sec3 .viewbtn {
	margin: 43px 0 0 0;
	text-align: right;
	color: #0089D8;
	line-height: 1;
	font-size: 2rem;
	font-weight: bold;
}

.sec3 .viewbtn a {
	display: inline-block;
	padding-bottom: 6px;
	border-bottom: 2px solid #0089D8;
	padding-right: 0.2em;
}

.sec3 .viewbtn .ico {
	display: inline-block;
	width: 14px;
	height: 14px;
	background: #0089D8;
	position: relative;
	margin-right: 20px;
}

.sec3 .viewbtn .ico:before,
.sec3 .viewbtn .ico:after {
	content: "";
	display: block;
	position: absolute;
	background: #fff;
}

.sec3 .viewbtn .ico:before {
	width: 100%;
	height: 3px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.sec3 .viewbtn .ico:after {
	width: 3px;
	height: 100%;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

@media screen and (min-width: 769px) and (max-width: 1320px) {
	.sec3 .drop2 {
		margin-left: 450px;
	}

}

@media screen and (max-width: 768px) {
	.sec3 {
		padding-top: 21.3vw;
		padding-bottom: 17.6vw;
		position: relative;
	}

	.sec3 .drop2 {
		top: 30vw;
		left: auto;
		right: 3.2vw;
		margin-left: 0;
	}

	.sec3 .ttl {
		font-size: 5.3vw;
		margin-bottom: 4vw;
	}

	.sec3 .ttl .sub {
		font-size: 2.6vw;
		margin-top: 1.4em;
	}

	.sec3 .viewbtn {
		margin: 8vw 0 0 0;
		font-size: 2.9vw;
	}

	.sec3 .viewbtn a {
		padding-bottom: 1.6vw;
		border-width: 1.5px;
		padding-right: 0.2em;
	}

	.sec3 .viewbtn .ico {
		width: 2.9vw;
		height: 2.9vw;
		margin-right: 4vw;
	}

	.sec3 .viewbtn .ico:before {
		height: 2px;
		transform: translateY(-1px);
	}

	.sec3 .viewbtn .ico:after {
		width: 2px;
		transform: translateX(-1px);
	}

}