@charset "utf-8";

#breadcrumb{display: none;}
body{
font-size: 1.25rem;
line-height: 2em;
}
figure{margin: 0}
a{transition: 0.2s;}
a:hover{opacity: 0.5;}
.mf-frame{
max-width: 1640px;
width: calc(100% - 100px);
}
.sp{display: none;}

.clist{
display: flex;
flex-wrap: wrap;
}


.mf h2{
font-size: 2.2em;
font-weight: bold;
margin: 0 0 70px 0;
}
.mf h2 img{
margin: 0 0 30px 0;
}
.mf h2 span{
display: table;
font-size: 0.6em;
background: #22203c;
color: #fff;
padding: 5px;
margin: 0 0 10px 0;
line-height: 1em;
}

.btn a{
display: block;
text-align: center;
padding: 30px;
font-weight: bold;
color: #fff;
background: #1db687;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
border-radius: 5px;
position: relative;
}
.btn a:before{
content: "→";
color: #fff;
font-size: 0.8em;
position: absolute;
right: 30px;
top: 50%;
transform: translate(0,-50%);
}
.btn a:hover{
  opacity: 0.7;
}

#mainvis img{
margin: 0 0 0 auto;
}

#mf1{
margin: 0 0 100px 0;
position: relative;
}
#mf1:before{
content: "";
max-width: calc(1740px + (50% - 870px));
width: 98vw;
background: #43DFB1;
background: linear-gradient(90deg, rgba(67, 223, 177, 1) 0%, rgba(255, 167, 15, 1) 100%);
opacity: 0.25;
position: absolute;
top: -500px;
bottom: 200px;
right: 0;
z-index: -1;
}
#mf1 figure{
margin: 50px 0;
}
#mf1 figure img{
margin: 0 auto;
}
#mf1 .clist{
  justify-content: end;
  flex-direction: row-reverse;
}
#mf1 dl{
width: 80%;
max-width: 760px;
}
#mf1 dl dt{
font-size: 2.5em;
line-height: 1.6em;
font-weight: bold;
margin: 0 0 50px 0;
}
#mf1 dl dd{
  line-height: 1.8em;
}
#mf1 dl + figure{
  max-width: 880px;
  width: 47%;
  margin: 0;
  position: relative;
  left: 100px;
  top: 60px;
}
#mf1 dl + figure img{
margin: 0;
}


#mf2{
position: relative;
overflow: hidden;
}
#mf2:before{
content: "";
max-width: calc(1740px + (50% - 870px));
width: 98vw;
background: #43DFB1;
background: linear-gradient(90deg, rgba(67, 223, 177, 1) 0%, rgba(255, 167, 15, 1) 100%);
opacity: 0.25;
position: absolute;
top:360px;
bottom: 0;
right: 0;
z-index: -1;
}
#mf2 h2{
margin: 0 0 200px 0;
}
#mf2 .ctext{
width: 700px;
margin: 0 0 200px 0;
}
#mf2 .ctext h3{
font-size: 2.2em;
font-weight: bold;
margin: 0 0 20px 0;
}
#mf2 .ctext h3 strong{
display: table;
font-size: 0.55em;
line-height: 1em;
padding: 0.3em;
margin: 0 0 0.5em 0;
background: #22203c;
color: #fff;
}
#mf2 .ctext h3 span{
background: url("../images/top/l1.png") center bottom no-repeat;
}
#mf2 .ctext + figure{
  max-width: 1636px;
  width: 85%;
position: absolute;
right: 0;
top: 250px;
}
#mf2 ul{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
#mf2 ul div{
display: inline;
background: #fff;
font-size: 1.5em;
font-weight: bold;
line-height: 1.6em;
padding: 0 5px;
position: relative;
left: 2em;
top: -30px;
}
#mf2 ul div span{
font-size: 0.6em;
line-height: 1em;
}

#mf2 .btn{
width: 800px;
font-size: 1.5em;
margin: 50px auto;
}

#youtube .mf-inner{
padding: 50px;
display: flex;
align-items: center;
justify-content: center;
}
#youtube figure{
width: 30%;
}
#youtube figure .btn{
margin: 1em 0 0 0;
}
#youtube .movie{
max-width: 800px;
width: 70%;
margin: 0 0 0 30px;
aspect-ratio: 16/9;
position: relative;
}
#youtube .movie iframe{
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}


#mf3{
  background: url(../images/top/bg1.png) center top /cover no-repeat;
}
#mf3 .mf-inner{
  padding: 100px 0;
}
#mf3 ul{
display: flex;
justify-content: space-between;
}
#mf3 ul li strong{
display: table;
font-size: 1.25em;
}
#mf3 ul li strong span{
  background: url(../images/top/l2.png) left bottom / 100% auto no-repeat;
  padding: 0 0 5px 0;
}
#mf3 .btn{
width: 800px;
font-size: 1.5em;
margin: 100px auto;
}


#mf4{
  position: relative;
}
#mf4:before{
content: "";
max-width: calc(1740px + (50% - 870px));
width: 98vw;
background: #43DFB1;
background: linear-gradient(90deg, rgba(67, 223, 177, 1) 0%, rgba(255, 167, 15, 1) 100%);
opacity: 0.25;
position: absolute;
top:0;
bottom: 0;
right: 0;
z-index: -1;
}
#mf4 .mf-inner{
  padding:100px 0;
}
#mf4 .clist{
  justify-content: space-between;
}
#mf4 .cbox{
  width:100%;
  max-width: 770px;
}
#mf4 .cbox dl{
  margin: 20px 0;
  font-weight: bold;
}
#mf4 .cbox dl dt{
  display: inline;
  background: #22203c;
  color: #fff;
  padding:5px;
  line-height: 1.8em;
}
#mf4 .cbox dl dt strong{
  display: inline-block;
  font-size: 1.5em;
  background: #22203c;
  line-height: 1em;
}
#mf4 .cbox ul{
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20px 0;
}
#mf4 .cbox ul li{
  background: #fff;
  padding: 0 5px;
  margin: 0 0.5em 0.5em 0;
}
#mf4 .btn{
  font-size: 1.1em;
}

#mf5 .mf-inner{
  padding:100px 0;
}
#mf5 .clist{
  justify-content: space-between;
}
#mf5 .ctext .btn{
  width: 360px;
}
#mf5 ul{
  width: 100%;
  max-width: 1100px;
  display: flex;
  justify-content: space-between;
}
#mf5 li{
  width: 350px;
}
#mf5 li strong{
  display: table;
}
#mf5 li a{
  display: block;
  background: url(../images/top/mf5btn.png) right bottom no-repeat;
}
#mf5 .btn{
  font-size: 1.1em;
}

#mf6{
  position: relative;
}
#mf6:before{
content: "";
max-width: calc(1740px + (50% - 870px));
width: 98vw;
background: #43DFB1;
background: linear-gradient(90deg, rgba(67, 223, 177, 1) 0%, rgba(255, 167, 15, 1) 100%);
opacity: 0.25;
position: absolute;
top:100px;
bottom: 0;
right: 0;
z-index: -1;
}
#mf6 .mf-inner{
  padding:0 0 100px 0;
}
#mf6 ul{
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mf6 ul li{
  position: relative;
  margin: 0 0 2px 0;
  font-weight: bold;
}
#mf6 ul li p{
  color: #fff;
  font-size: 1.5em;
  line-height: 1em;
  position: absolute;
  left: 1em;
  bottom: 0.5em;
}
#mf6 ul li p span{
  display: table;
  font-size: 0.6em;
  opacity: 0.5;
}

#mf7{
  background: url(../images/top/bg1.png) center top /cover no-repeat;
}
#mf7 .mf-frame{
  max-width: 1170px;
}
#mf7 .mf-inner{
  padding:100px 0;
}
#mf7 .clist{
  justify-items: center;
  justify-content: space-between;
}
#mf7 h2{
  display: flex;
  align-items: baseline;
}
#mf7 .btn{
  width: 350px;
}

#mf7 .slick-slide li{
  width: 100%;
  max-width: 370px;
}
#mf7 .slick-slide li figure{
  width: 100%;
  border-radius: 0 20px;
  overflow: hidden;
}
#mf7 .slick-slide li img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 3 / 2;
}
#mf7 .slick-slide .title{
  font-weight: bold;
}
#mf7 .slick-slide .data{
  font-size: 0.8em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#mf7 .slick-slide .data span{
  display: table;
  background: #000;
  color: #fff;
  line-height: 1em;
  padding: 3px 5px;
}


@media screen and (max-width: 1640px) {

.mf-frame{
max-width: 1024px;
width: 100%;
}

#mf1 .clist{
  justify-content: space-between;
}
#mf1 dl{
width: 58%;
max-width: none;
}
#mf1 dl dt{
font-size: 2em;
}
#mf1 dl + figure{
  width: 38%;
  position: static;
}

#mf2:before{
top:280px;
}
#mf2 h2{
margin: 0 0 10vw 0;
}
#mf2 .ctext{
mxw-width: 700px;
width: 60%;
margin: 0 0 15vw 0;
}
#mf2 .ctext + figure{
  max-width: 750px;
  width: 40%;
}
#mf2 ul{
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}

#mf3 ul li{
  width: 30%;
font-size: 0.9em;
}

#mf4 .clist{
  justify-content: center;
}
#mf4 .cbox{
  margin: 50px 0;
}

#mf5 .ctext{
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 0 0 50px 0;
}
#mf5 .ctext h2{
  margin: 0;
}
#mf5 li{
  width: 320px;
  font-size: 0.9em;
  line-height: 1.8em;
}

#mf6 ul li:not(:last-of-type){
  width: calc(50% - 1px);
}

}



@media screen and (max-width: 1024px) {
.mf-frame{
width: 90vw;
}
.pc{display: none;}
.sp{display: block;}
br.sp{display: inline-block;}

.mf h2{
font-size: 2em;
margin: 0 0 10vw 0;
line-height: 1.5em;
}

.btn a{
padding: 3vw;
}
.btn a:before{
right: 3vw;
}


#mf1{
margin: 0 0 10vw 0;
}
#mf1:before{
width: 100%;
top: -100vw;
bottom: 50vw;
}
#mf1 figure{
margin: 10vw 0;
}
#mf1 .clist{
  justify-content: center;
  flex-direction:inherit;
}
#mf1 dl{
width:100%;
max-width: 760px;
margin: 0 0 5vw 0;
}
#mf1 dl dt{
font-size: 1.8em;
margin: 0 0 5vw 0;
}
#mf1 dl + figure{
  width: 100%;
  margin: 0;
}
#mf1 dl + figure img{
margin: 0;
}


#mf2:before{
width: 100%;
top:25vw;
bottom: 0;
}
#mf2 h2{
margin: 0 0 10vw 0;
}
#mf2 .ctext{
width: auto;
margin: 0 0 10vw 0;
}
#mf2 .ctext h3{
font-size: 2.2em;
margin: 0 0 5vw 0;
}
#mf2 .ctext + figure{
  width: 100vw;
position: static;
}
#mf2 ul li{
  width: 48%;
}
#mf2 ul div{
font-size: 1.5em;
line-height: 1.6em;
padding: 0 5px;
left: 1em;
}
#mf2 .btn{
max-width: 750px;
width: 100%;
}

#youtube .mf-inner{
padding: 10vw 5vw;
flex-wrap: wrap;
}
#youtube figure{
width: 40vw;
max-width: 100%;
}
#youtube .movie{
max-width: 750px;
width: 100%;
margin: 5vw 0 0 0;
}



#mf3 .mf-inner{
  padding: 10vw 0;
}
#mf3 ul{
  flex-wrap: wrap;
justify-content: center;
}
#mf3 ul li{
  font-size: 1.2em;
  width: auto;
  max-width: 750px;
  margin: 0 0 5vw 0;
}
#mf3 .btn{
  font-size: 1.3em;
max-width: 750px;
width: 100%;
margin: 10vw auto;
}

#mf4:before{
width: 100%;
}
#mf4 .mf-inner{
  padding:15vw 0;
}
#mf4 .cbox{
    margin: 0 0 10vw 0;
}
#mf4 .cbox dl{
  margin: 5vw 0;
}
#mf4 .cbox ul{
  margin: 0 0 5vw 0;
}

#mf5 .mf-inner{
  padding:15vw 0;
}
#mf5 .clist{
  justify-content: center;
}
#mf5 .ctext .btn{
max-width: 750px;
width: 100%;
margin: 10vw auto;
}
#mf5 ul{
  width: 100%;
  max-width: 1100px;
  justify-content: center;
  flex-wrap: wrap;
}
  #mf5 li{
  width: 100%;
  max-width: 550px;
  margin: 0 0 5vw 0;
}


#mf6:before{
width: 100%;
top:0;
}
#mf6 .mf-inner{
  padding:10vw 0;
}
#mf6 ul{
  width: 100%;
  max-width: 750;
  justify-content: center;
}
#mf6 ul li{
  width: 100% !important;
}
#mf6 ul li p{
  width: calc(100% - 1em);
}
#mf6 ul li p:before{
content: "→";
color: #fff;
font-size: 0.8em;
position: absolute;
right: 1em;
top: 50%;
transform: translate(0,-50%);
}

#mf7 .mf-inner{
  padding:15vw 0;
}
#mf7 .btn{
max-width: 750px;
width: 100%;
margin: 10vw auto;
}

#mf7 .slick-slide li{
  padding: 0 3vw 0 0;
}
#mf7 .slick-dots{
  position: static;
  margin: 5vw 0 0 0;
}
#mf7 .slick-dots li button:before {
  font-size: 20px;
  opacity: 1;
  color: #c4c4c4;
}
#mf7 .slick-dots li.slick-active button:before {
  color: #1db687 !important;
}

}

@media screen and (max-width: 640px) {
body {
	font-size:4vw;
}

.mf h2{
font-size: 1.7em;
}
#mf1 dl dt{
font-size: 1.6em;
}
#mf2 ul div{
font-size: 1.2em;
}


}


