html,
body {
  overflow-x: hidden;
}

#wrap {
  position: relative;
  overflow: hidden;
	margin-top: 0;
}
@media screen and (max-width: 910px) {
}
@media screen and (max-width: 680px) {
}
/* --------------------------------------------------- */
#mainvisual {
	max-width: 1500px;
	width: 100%;
	position: relative;
	margin: 0 auto 150px;
	z-index: 0;
}
#mainvisual .mv-img1,
#mainvisual .mv-img2,
#mainvisual .mv-img3,
#mainvisual .mv-img4,
#mainvisual .mv-img5 {
	position: absolute;
}
#mainvisual .mv-img1 {
	max-width: 130px;
	width: 15%;
	z-index: 1;
	left: 67%;
	top: 220px;
}
#mainvisual .mv-img2 {
	max-width: 280px;
	width: 25%;
	z-index: 2;
	right: 67%;
	top: 100px;
}
#mainvisual .mv-img3 {
	max-width: 280px;
	width: 25%;
	z-index: 3;
	left: 22%;
	top: 700px;
}
#mainvisual .mv-img4 {
	max-width: 450px;
	width: 40%;
	z-index: 4;
	left: 40%;
	top: 650px;
}
#mainvisual .mv-img5 {
	max-width: 750px;
	width: 60%;
	z-index: 5;
	top: -70px;
	right: -160px;
}
#mainvisual .mv-img6 {
	position: relative;
	max-width: 880px;
	width: 65%;
	z-index: 6;
	margin-top: -150px;
	margin-left: -60px;
}
#mainvisual .mv-ttl {
	position: relative;
	margin: 190px auto 0;
	z-index: 7;
}
#mainvisual .mv-ttl img {
	max-width: 410px;
	width: 60%;
	display: block;
	margin: 0 auto 30px;
}
#mainvisual .mv-ttl h2 {
	text-align: center;
	font-weight: 700;
	font-size: 1.2em;
	letter-spacing: 1px;
	line-height: 1.6;
	
	-webkit-text-stroke: 3px #fff;
    text-stroke: 3px #fff;
    paint-order: stroke;
}
#mainvisual .mv-ttl h2 span {
	display: block;
	text-align: center;
	font-size: 1.4em;
	font-weight: 900;
}
#mainvisual .mv-ttl h2 span > span {
	display: inline-block;
	font-size: 1em;
}
#mainvisual .block {
	position: relative;
	z-index: 8;
	width: 90%;
	margin: -300px auto 0;
}
#mainvisual .block h3 strong {
	display: block;
	text-align: right;
}
#mainvisual .block h3 {
	text-align: right;
	font-size: 1.4em;
	font-weight: 700;
	margin-bottom: 30px;
}
#mainvisual .block h3 span {
	display: inline-block;
	font-size: 3em;
}
#mainvisual .block h3 img {
	display: inline-block;
	width: 120px;
}
#mainvisual .block p {
	max-width: 750px;
	margin: 0 0 0 auto;
	font-size: 1.1em;
	font-weight: 500;
	line-height: 2.2;
	letter-spacing: 1px;
}

#mainvisual [data-aos] {
  opacity: 0;
  filter: blur(18px);
  transition-property: opacity, transform, filter;
  transition-duration: 1.2s;
  transition-timing-function: ease;
}
#mainvisual [data-aos].aos-animate {
  opacity: 1;
  filter: blur(0);
}

/* AOS fade用 */
#mainvisual .mv-ttl[data-aos="fade-up"] {
  opacity: 0;
  transform: none !important;
  filter: blur(12px);
  transition-property: opacity, filter;
}
#mainvisual .mv-ttl[data-aos="fade-up"].aos-animate {
  opacity: 1;
  transform: none !important;
  filter: blur(0);
}

/* AOS zoom-out用 */
#mainvisual [data-aos="zoom-out"]:not(.aos-animate) {
  transform: scale(1.6);
}
#mainvisual [data-aos="zoom-out-left"]:not(.aos-animate) {
  transform: scale(1.8);
}
#mainvisual [data-aos="zoom-out-right"]:not(.aos-animate) {
  transform: scale(1.8);
}

/* 発火タイミング */
#mainvisual .mv-img1 { transition-delay: 0.1s; }
#mainvisual .mv-img2 { transition-delay: 0.25s; }
#mainvisual .mv-img3 { transition-delay: 0.4s; }
#mainvisual .mv-img4 { transition-delay: 0.55s; }
#mainvisual .mv-img5 { transition-delay: 0.7s; }
#mainvisual .mv-img6 { transition-delay: 0.85s; }
#mainvisual .mv-ttl { transition-delay: 1.1s;}

/* mv-ttlが出た後、周りの画像を少しだけ再ぼかし
#mainvisual .mv-img1.aos-animate img,
#mainvisual .mv-img2.aos-animate img,
#mainvisual .mv-img3.aos-animate img,
#mainvisual .mv-img4.aos-animate img,
#mainvisual .mv-img5.aos-animate img,
#mainvisual .mv-img6.aos-animate img {
  animation-duration: 1.2s;
  animation-timing-function: ease;
  animation-fill-mode: forwards;
  animation-delay: 2.4s;
}

#mainvisual .mv-img1.aos-animate img {
  animation-name: mvReBlur1;
}
#mainvisual .mv-img2.aos-animate img {
  animation-name: mvReBlur2;
}
#mainvisual .mv-img3.aos-animate img {
  animation-name: mvReBlur3;
}
#mainvisual .mv-img4.aos-animate img {
  animation-name: mvReBlur4;
}
#mainvisual .mv-img5.aos-animate img {
  animation-name: mvReBlur5;
}
#mainvisual .mv-img6.aos-animate img {
  animation-name: mvReBlur6;
}

@keyframes mvReBlur1 {
  from { filter: blur(0); }
  to   { filter: blur(7px); }
}
@keyframes mvReBlur2 {
  from { filter: blur(0); }
  to   { filter: blur(3px); }
}
@keyframes mvReBlur3 {
  from { filter: blur(0); }
  to   { filter: blur(5px); }
}
@keyframes mvReBlur4 {
  from { filter: blur(0); }
  to   { filter: blur(3px); }
}
@keyframes mvReBlur5 {
  from { filter: blur(0); }
  to   { filter: blur(0px); }
}
@keyframes mvReBlur6 {
  from { filter: blur(0); }
  to   { filter: blur(0px); }
}
 */
@media screen and (max-width: 980px) {
	#mainvisual {
		margin-bottom: 100px;
    }
	#mainvisual .mv-img1 {
        width: 15%;
        left: 67%;
        top: 120px;
    }
    #mainvisual .mv-img2 {
        width: 25%;
        right: 67%;
        top: 100px;
    }
    #mainvisual .mv-img3 {
        width: 25%;
        left: 22%;
        top: 600px;
    }
    #mainvisual .mv-img4 {
        width: 40%;
        left: 60%;
        top: 550px;
    }
    #mainvisual .mv-img5 {
        width: 65%;
        top: 40px;
        right: -130px;
    }
    #mainvisual .mv-img6 {
        width: 75%;
        margin-top: -100px;
        margin-left: -40px;
    }
	#mainvisual .mv-ttl h2 {
		font-size: 1.1em;
    }
	#mainvisual .block {
        margin: -30px auto 0;
    }
	#mainvisual .block h3 span {
        font-size: 2.7em;
    }
    #mainvisual .block h3 img {
        width: 70px;
		margin-left: 5px;
    }
}
@media screen and (max-width: 580px) {
	#mainvisual {
		margin-bottom: 50px;
    }
	#mainvisual .mv-img3 {
        top: 450px;
    }
    #mainvisual .mv-img4 {
        top: 400px;
    }
	#mainvisual .mv-img5 {
        width: 65%;
        top: 100px;
        right: -50px;
    }
	#mainvisual .mv-ttl h2 {
		font-size: .9em;
    }
	#mainvisual .mv-ttl h2 span > span {
        display: block;
        font-size: 1.4em;
    }
	#mainvisual .block {
        margin: 20px auto 0;
    }
	#mainvisual .block h3 {
        font-size: 1.2em;
        margin-bottom: 30px;
		line-height: 20px;
    }
	#mainvisual .block h3 strong {
		margin-bottom: 15px;
	}
    #mainvisual .block h3 span {
        font-size: 2em;
    }
    #mainvisual .block h3 img {
		display: inline-block;
        width: 25px;
		margin: 0px 5px 0;
    }
}
/* --------------------------------------------------- */
#sec01 {
	position: relative;
	z-index: 2;
	margin-bottom: 100px;
}
#sec01 .inner {
	max-width: 1000px;
	width: 90%;
	margin: 0 auto 30px;
}
#sec01 .inner dl {
	display: table;
	width: 100%;
	background-color: #F4F4F4;
	border-radius: 6px;
	padding: 20px;
	margin-bottom: 5px;
}
#sec01 .inner dd,
#sec01 .inner dt {
	display: table-cell;
}
#sec01 .inner dd {
	width: 260px;
}
#sec01 .inner dd span {
	display: inline-block;
	line-height: 1.2;
}
#sec01 .inner dd .day {
	font-size: 11px;
	font-family: "Afacad Flux", sans-serif;
	font-weight: 400;
	margin-right: 10px;
	line-height: 20px;
}
#sec01 .inner dd .category {
	text-align: center;
	width: 160px;
	font-size: 12px;
	color: #fff;
	border-radius: 5px;
	line-height: 20px;
}
#sec01 .inner dd .category1 {
	background-color: #CFDE90;
}
#sec01 .inner dd .category2 {
	background-color: #90B1DE;
}
#sec01 .inner dt {
	padding-left: 20px;
}
#sec01 .inner dt a:hover {
	text-decoration: underline;
}
@media screen and (max-width: 980px) {
	#sec01 .inner dl {
        padding: 15px;
    }
	#sec01 .inner dd {
        width: 210px;
    }
    #sec01 .inner dd span {
        padding: 7px;
    }
    #sec01 .inner dd .day {
        margin-right: 5px;
		letter-spacing: 1px;
    }
    #sec01 .inner dd .category {
        width: 120px;
		letter-spacing: 1px;
		padding: 6px 0 9px;
    }
	#sec01 .inner dt {
        padding-left: 10px;
    }
}
@media screen and (max-width: 680px) {
	#sec01 {
		margin-bottom: 70px;
	}
	#sec01 .inner {
		margin-bottom: 10px;
	}
	#sec01 .inner dl,
	#sec01 .inner dd,
	#sec01 .inner dt {
		display: block;
    }
	#sec01 .inner dl {
    }
	#sec01 .inner dd {
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin-bottom: 10px;
    }
	#sec01 .inner dd .day {
        line-height: 12px;
    }
    #sec01 .inner dd .category {
        line-height: 12px;
    }
	#sec01 .inner dt {
    }
}
/* --------------------------------------------------- */
#sec02 {
	position: relative;
	z-index: 2;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto 100px;
	position: relative;
}
#sec02 .ph {
	width: 73%;
	height: 600px;
	margin: 0 0 30px auto;
	background: url("../images/top/ph01.jpg") no-repeat center;
	background-size: cover;
}
#sec02 .left {
	position: absolute;
	top: 0;
	left: 5%;
}
#sec02 .left .img {
	width: 160px;
	margin-bottom: 40px;
}
#sec02 .left h3 {
	font-size: 1.9em;
	font-weight: 600;
	margin-bottom: 30px;
	letter-spacing: 3px;
}
#sec02 .left h3 span {
	display: inline-block;
    background: linear-gradient(transparent 0%, #fff 0%);
	padding: 5px 40px 5px 0;
}
#sec02 .left p {
	font-weight: 600;
	font-size: .9em;
	letter-spacing: 1px;
	line-height: 1.5;
	margin-bottom: 10px;
}
#sec02 .left p br {
	display: none;
}
#sec02 .left p span {
	display: block;
	font-size: 1.6em;
	letter-spacing: 3px;
}
#sec02 .left .button {
  font-size: 13px;
  letter-spacing: 0.1em;
  color: #333;
  font-weight: 500;
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  padding: 4px 20px 4px 0;
  margin-inline: auto;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}
#sec02 .left .button::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  background: #333;
  bottom: 0;
  transition: all 0.3s;
}
#sec02 .left .button::after {
  content: "";
  display: block;
  position: absolute;
  width: 16px;
  height: 1px;
  background: #333;
  rotate: 40deg;
  right: -3px;
  bottom: 5px;
  transition: all 0.3s;
}
#sec02 .left .button:hover::after,
#sec02 .left .button:hover::before {
  translate: 20px 0;
  transition: all 0.3s;
	background: #2F75B6;
}
#sec02 .left .button:hover {
	color: #2F75B6;
}
#sec02 .txt {
	max-width: 750px;
	width: 90%;
	margin: 0 5% 0 auto;
	font-size: 1.1em;
	font-weight: 500;
	line-height: 2.2;
	letter-spacing: 1px;
}

@media screen and (max-width: 980px) {
	#sec02 .ph {
		background-position: right -100px center;
		width: 65%;
		height: 450px;
	}
	#sec02 .left .img {
        width: 120px;
        margin-bottom: 30px;
    }
	#sec02 .left h3 {
		font-size: 1.5em;
	}
	#sec02 .left h3 span {
	}
	#sec02 .left p {
		font-size: 12px;
	}
	#sec02 .left .button {
		font-size: 12px;
	}
}
@media screen and (max-width: 680px) {
	#sec02 {
		margin-bottom: 50px;
	}
	#sec02 .ph {
		background-position: right -130px center;
		width: 65%;
		height: 350px;
	}
	#sec02 .left .img {
        width: 70px;
    }
	#sec02 .left h3 {
		font-size: 1.3em;
	}
	#sec02 .left h3 span {
        padding: 5px 20px 5px 0;
    }
	#sec02 .left p {
		font-size: 10px;
	}
	#sec02 .left p br {
		display: block;
	}
	#sec02 .left p span {
        font-size: 1.5em;
    }
	#sec02 .left .button {
		font-size: 10px;
	}
}
/* --------------------------------------------------- */
#sec03 {
	position: relative;
	z-index: 2;
	width: 100%;
	background-color: #2F75B6;
	padding: 60px 0;
	margin-bottom: 50px;
}
#sec03 .inner {
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
#sec03 .box {
	display: block;
	width: 33.33%;
	height: 600px;
	position: relative;
	color: #fff;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 6%;
}
#sec03 .box:hover {
	opacity: 1;
}
#sec03 .box.ph1 {
	background-image: url("../images/top/ph02.jpg");
}
#sec03 .box.ph2 {
	background-image: url("../images/top/ph03.jpg");
}
#sec03 .box.ph3 {
	background-image: url("../images/top/ph04.jpg");
}
#sec03 .box::before {
	content: "";
	position: absolute;
	z-index: 0;
	background-color: rgba(0,0,0,.4);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	transition: .3s;
}
#sec03 .box:hover::before {
	background-color: rgba(0,0,0,.2);
}
#sec03 .box .ttl {
	position: relative;
	z-index: 1;
	text-align: center;
	font-size: 1.5em;
	font-weight: 600;
	margin: 0 0 20px;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
}
#sec03 .box .ttl img {
	display: block;
	width: 40px;
	margin: 0 auto;
}
#sec03 .box .txt {
	position: relative;
	z-index: 1;
	max-width: 350px;
	width: 85%;
	margin: 0 auto;
	font-weight: 500;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
	letter-spacing: 1px;
}
#sec03 .box .btn {
	position: absolute;
	left: 50%;
	bottom: 5%;
	transform: translate(-50%, 0%);
	z-index: 1;
	display: block;
	max-width: 300px;
	width: 90%;
	border: #fff 2px solid;
	color: #fff;
	padding: 15px 25px;
	font-weight: 500;
	border-radius: 6px;
	font-size: 1em;
	transition: .3s;
}
#sec03 .box .btn::before {
    content: "keyboard_arrow_right";
    font-family: "Material Symbols Outlined";
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    line-height: 1;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translate(0%, -50%);
	transition: .3s;
}
#sec03 .box:hover .btn {
	background-color: #fff;
	color: #2F75B6;
}
#sec03 .box:hover .btn::before {
	right: 10px;
	color: #2F75B6;
}
@media screen and (max-width: 980px) {
	#sec03 .box {
        height: 500px;
    }
	#sec03 .box .txt {
		font-size: .9em;
	}
}
@media screen and (max-width: 780px) {
	#sec03 {
        padding: 40px 0 30px;
    }
	
	#sec03 .inner {
        display: block;
    }
    #sec03 .box {
        width: 90%;
		aspect-ratio: 3 / 2;
		height: auto;
		margin: 0 auto 10px;
		padding-top: 10%;
    }
}
@media screen and (max-width: 580px) {
	#sec03 {
        padding: 30px 0 20px;
    }
	#sec03 .box {
		aspect-ratio: auto;
		padding: 8% 0;
    }
	#sec03 .box .ttl {
        position: relative;
        z-index: 1;
        text-align: center;
        font-size: 1.5em;
        font-weight: 600;
        margin: 0 0 20px;
        text-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
    }
    #sec03 .box .ttl img {
        width: 20px;
        margin: 0 auto;
    }
	#sec03 .box .txt {
		margin-bottom: 20px;
	}
	#sec03 .box .btn {
		position: static;
		transform: translate(0%, 0%);
		margin: 0 auto;
	}
}
/* --------------------------------------------------- */
#sec04 {
	position: relative;
	z-index: 3;
	max-width: 1600px;
	width: 100%;
	margin: 0 auto 100px;
}
#sec04::before {
	content: "";
	clip-path: polygon(16% 0, 0% 100%, 100% 100%);
	background-color: #fff;
	position: absolute;
	z-index: 0;
	width: 80%;
	height: 100px;
	left: -2%;
	bottom: 100%;
	margin-bottom: -2px;
}
#sec04 .block {
	position: relative;
	margin-bottom: 100px;
}
#sec04 .block .ttl-block {
	position: relative;
}
#sec04 .block .ttl-block > img {
	max-width: 800px;
	width: 60%;
	position: relative;
	top: -150px;
	left: -20%;
}
#sec04 .block .ttl-block .ttl {
	font-size: 4em;
	line-height: 2em;
	position: absolute;
	top: 0px;
	left: 25%;
}
#sec04 .block .ttl-block .ttl span {
	color: #2F75B6;
	font-family: "Afacad Flux", sans-serif;
	font-weight: 500;
	font-size: 4em;
}
#sec04 .block .ttl-block .ttl > img {
	display: block;
	width: 170px;
	margin-bottom: 30px;
}
#sec04 .block .box {
	background-color: #fff;
	padding: 0px 80px 80px;
	max-width: 900px;
	width: 60%;
	position: relative;
	z-index: 1;
}
#sec04 .block .box .ttl {
	font-weight: 700;
	font-size: 1.5em;
	margin-bottom: 30px;
	position: relative;
	padding-left: 140px;
}
#sec04 .block .box .ttl span {
	display: inline-block;
	color: #2F75B6;
	font-family: "Afacad Flux", sans-serif;
	font-weight: 500;
	font-size: 5em;
	line-height: 1;
	position: absolute;
	left: 0;
	top: -15px;
}
#sec04 .block .box p {
}
#sec04 .block.strengths1 {
}
#sec04 .block.strengths2,
#sec04 .block.strengths3 {
	padding-bottom: 200px;
}
#sec04 .block.strengths1 .box {
	padding: 0 80px;
	margin: -300px 0 0 auto;
	background-color: transparent;
}
#sec04 .block .ph {
	width: 70%;
	height: auto;
	position: absolute;
	z-index: 0;
	top: 30px;
	bottom: 0;
}
#sec04 .block.strengths2 .ph {
	background: url("../images/top/ph05.jpg") no-repeat center;
	background-size: cover;
	right: 0;
}
#sec04 .block.strengths3 .ph {
	background: url("../images/top/ph06.jpg") no-repeat center;
	background-size: cover;
	left: 0;
}
#sec04 .block.strengths3 .box {
	margin: 0 0 0 auto;
}
@media screen and (max-width: 980px) {
	#sec04 .block .ttl-block > img {
        top: -110px;
    }
	#sec04 .block .box {
        padding: 0px 60px 60px;
    }
	#sec04 .block.strengths1 .box {
        padding: 0 60px;
        margin: -180px 0 0 auto;
    }
}
@media screen and (max-width: 780px) {
	#sec04 .block,
	#sec04 .block.strengths2,
    #sec04 .block.strengths3 {
        padding-bottom: 0;
		margin-bottom: 20px;
    }
	#sec04 .block .box,
	#sec04 .block.strengths1 .box {
		width: 100%;
        padding: 50px;
        margin: 0px auto;
    }
	#sec04 .block .ph {
        width: 100%;
        height: 400px;
        position: static;
    }
	#sec04 .block .ttl-block {
		margin-bottom: -120px;
    }
}
@media screen and (max-width: 680px) {
	#sec04 {
		margin-top: 100px;
		margin-bottom: 50px;
	}
	#sec04 .block,
	#sec04 .block.strengths2,
    #sec04 .block.strengths3 {
        padding-bottom: 0;
		margin-bottom: 0px;
    }
	#sec04 .block .box,
	#sec04 .block.strengths1 .box {
        padding: 30px;
    }
	#sec04 .block .ttl-block {
		margin: -100px 0 0;
    }
	#sec04 .block .ttl-block > img {
		top: 0px;
    }
    #sec04 .block .ttl-block .ttl {
        font-size: 3em;
        line-height: 2em;
        position: relative;
		left: 5%;
		width: 90%;
    }
    #sec04 .block .ttl-block .ttl span {
        font-size: 3.5em;
    }
    #sec04 .block .ttl-block .ttl > img {
        display: inline-block;
        width: 120px;
        margin-bottom: 0;
		position: absolute;
		top: 0;
		right: 5%;
    }
	#sec04 .block.strengths2 .ph,
	#sec04 .block.strengths3 .ph {
		position: relative;
		z-index: 0;
	}
	#sec04 .block.strengths2 .box,
	#sec04 .block.strengths3 .box {
		background-color: transparent;
		padding: 10px 30px;
	}
	#sec04 .block .box .ttl {
        font-size: 1.3em;
        padding-left: 0;
		text-align: center;
    }
    #sec04 .block .box .ttl span {
        display: block;
		text-align: center;
        font-size: 5em;
        position: static;
		text-shadow: 2px 2px 0px rgba(255,255,255,1), 2px -2px 0px rgba(255,255,255,1), -2px -2px 0px rgba(255,255,255,1), -2px 2px 0px rgba(255,255,255,1);
    }
}
/* --------------------------------------------------- */
#sec05 {
	position: relative;
	z-index: 2;
	margin-bottom: 100px;
}
#sec05 .inner {
	max-width: 1400px;
	width: 90%;
	margin: 0 auto 20px;
	display: flex;
}
#sec05 .inner .box {
	width: 24%;
	margin-right: 1.33%;
	margin-bottom: 1.33%;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0px 0px 6px 0px rgba(0,0,0,.2);
}
#sec05 .inner .box:nth-child(4) {
	margin-right: 0;
}
#sec05 .inner .box:hover {
	background-color: #F7FAFC;
	color: #2F75B6;
	box-shadow: 0px 0px 6px 0px rgba(47,117,182,.5);
}
#sec05 .inner .box .ph {
	display: block;
	position: relative;
	padding-top: 80%;
}
#sec05 .inner .box .ph img {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}
#sec05 .inner .box dl {
	padding: 20px;
	line-height: 1.6;
}
#sec05 .inner .box dt {
	margin-bottom: 10px;
	font-weight: 500;
	letter-spacing: 1px;
	color: #2F75B6;
}
#sec05 .inner .box dd {
	display: block;
	font-size: 11px;
	letter-spacing: 1px;
	
	overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
#sec05 .btn-style01 {
	margin-bottom: clamp(40px, 5vw, 60px);
}
#sec05 .banner {
	display: block;
	max-width: 700px;
	width: 90%;
	margin: 0 auto;
}
@media screen and (max-width: 980px) {
	#sec05 .inner {
		flex-wrap: wrap;
		justify-content: space-between;
    }
    #sec05 .inner .box {
        width: 49%;
        margin-right: 0;
        margin-bottom: 2%;
    }
}
@media screen and (max-width: 680px) {
	#sec05 {
		margin-bottom: 50px;
	}
	#sec05 .inner {
		width: 100%;
		margin-bottom: 10px;
	}
	#sec05 .inner .box {
		width: 50%;
		margin-bottom: 0;
		border-radius: 0;
		box-shadow: 0px 0px 0px 0px rgba(0,0,0,0);
	}
	#sec05 .inner .box:hover {
        box-shadow: 0px 0px 0px 0px rgba(47,117,182,0);
    }
	#sec05 .inner .box dl {
        padding: 15px 15px 20px;
    }
	#sec05 .inner .box dt {
		font-size: 13px;
    }
    #sec05 .inner .box dd {
        font-size: 10px;
    }
	#sec05 .btn-style01 {
		width: 70%;
	}
}
/* --------------------------------------------------- */
#sec06 {
	position: relative;
	z-index: 2;
	margin-bottom: 150px;
}
#sec06 .inner {
	max-width: 1100px;
	width: 90%;
	margin: 0 auto 40px;
}
#sec06 .inner dl {
	display: table;
	width: 100%;
	margin-bottom: 20px;
}
#sec06 .inner dd,
#sec06 .inner dt {
	display: table-cell;
	vertical-align: top;
	font-size: 1.3em;
	padding: 10px 0;
	line-height: 1.6;
}
#sec06 .inner dd {
	color: #555;
	font-family: "Afacad Flux", sans-serif;
	font-weight: 500;
	width: 150px;
}
#sec06 .inner dt {
	border-left: #2F75B6 1px solid;
	padding-left: 20px;
}
#sec06 .inner dt a {
	display: inline-block;
	color: #2F75B6;
	margin-bottom: 10px;
	position: relative;
	padding-left: 15px;
}
#sec06 .inner dt a::before {
    content: "arrow_forward";
    font-family: "Material Symbols Outlined";
    font-weight: normal;
    font-style: normal;
    font-size: 12px;
    line-height: 1;
    position: absolute;
    top: 11px;
    left: 0;
}
#sec06 .inner dt a:hover {
	text-decoration: underline;
}
#sec06 .inner dt p {
	font-size: 13px;
	color: #999;
	
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
@media screen and (max-width: 980px) {
}
@media screen and (max-width: 680px) {
	#sec06 .inner {
        margin: 0 auto 20px;
    }
	#sec06 .inner dl,
	#sec06 .inner dd,
	#sec06 .inner dt {
		display: block;
	}
	#sec06 .inner dl {
		border-top: #2F75B6 1px dashed;
		padding: 15px;
		margin-bottom: 0;
	}
	#sec06 .inner dd {
		width: 100%;
		padding: 0;
	}
	#sec06 .inner dt {
		border-left: none;
		padding: 0;
	}
	#sec06 .inner dt a {
        margin-bottom: 10px;
        padding-left: 0px;
    }
    #sec06 .inner dt a::before {
        font-size: 12px;
        top: 10px;
        left: -15px;
    }
	#sec06 .btn-style01 {
		width: 70%;
	}
}
/* --------------------------------------------------- */
#sec07 {
	position: relative;
	z-index: 2;
	padding-bottom: 510px;
}
#sec07::before {
	content: "";
	width: auto;
	height: auto;
	background-color: #E6EFF7;
	position: absolute;
	z-index: -1;
	top: -50px;
	left: 10%;
	right: -10%;
	bottom: 460px;
}
#sec07 .inner {
	position: relative;
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
}
#sec07 .text {
	max-width: 420px;
	margin-bottom: 60px;
}
#sec07 .img1 {
	max-width: 870px;
	position: absolute;
	top: -60px;
	left: 60%;
	right: -15%;
}
#sec07 .img2 {
	width: 580px;
	left: 50%;
	position: absolute;
	bottom: 0;
	margin-bottom: -120px;
	margin-left: -290px;
}
#sec07 .ttl {
	font-size: 1.5em;
	font-weight: 600;
	margin-bottom: 10px;
	color: #2F75B6;
	text-align: center;
	letter-spacing: 3px;
}
#sec07 ul {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
#sec07 li {
	width: 19.7%;
}
#sec07 li a {
	display: block;
	height: 100%;
	background-color: #fff;
	text-align: center;
	padding: 25px 10px;
	border: #E6EFF7 1px solid;
}
#sec07 li a:hover {
	border: #2F75B6 1px solid;
	color: #2F75B6;
}
#sec07 li img {
	display: block;
	max-width: 70px;
	width: 80%;
	margin: 0 auto;
}
#sec07 .btn-style01 {
	margin-bottom: 50px;
}
@media screen and (max-width: 980px) {
	#sec07 {
		padding-bottom: 380px;
	}
	#sec07 .img2 {
		width: 460px;
        margin-bottom: -120px;
        margin-left: -230px;
	}
	#sec07 ul {
		flex-wrap: wrap;
		justify-content: center;
    }
    #sec07 li {
        width: 32%;
		margin: .66%;
    }
}
@media screen and (max-width: 680px) {
	#sec07 {
        padding-bottom: 220px;
    }
	#sec07::before {
        top: -50px;
        bottom: 160px;
    }
	#sec07 .img1 {
        top: -100px;
        left: 50%;
        right: -15%;
    }
    #sec07 .img2 {
        width: 280px;
        margin-bottom: -60px;
        margin-left: -140px;
    }
	#sec07 .text {
        max-width: none;
		width: 100%;
        margin-bottom: 40px;
    }
	#sec07 ul {
		justify-content: space-between;
		margin-bottom: 10px;
	}
	#sec07 li {
        width: 49.5%;
		margin: 0 0 1%;
    }
	#sec07 li img {
        max-width: 50px;
    }
	#sec07 .btn-style01 {
		width: 70%;
	}
}
/* --------------------------------------------------- */

/* --------------------------------------------------- */


