body{font-family: "Noto Sans JP", sans-serif; color:#383635;}
body.backscreen:after{content:""; display:block; width:100%; height:100%; background:rgba(0,0,0,0.8); position:fixed; top:0; left:0; z-index:10;}

#container{max-width:1920px; margin:0 auto;}
header .inner,#banner,#s5,#s8{position:relative;}
.cta img{width:100%;}
.cta:hover img,.link:hover img{filter: saturate(200%);}
.w100p{max-width:100%;}
img.w100p{margin:0 auto;}
.s12 .inner{width:100%; max-width:1200px; margin:0 auto 0 auto; padding-bottom:50px;}
.s12 .inner .item{display:flex; justify-content:flex-start; padding:40px; border:1px solid #A7A3A3; border-radius:20px; margin-bottom:50px; width:100%; box-sizing:border-box;}
.s12 .inner .item img{margin-right:20px;}
.s12 .inner .item .item_inner h3{font-size:30px; font-weight:bold; line-height:40px; margin-bottom:20px;}
.s12 .inner .item .item_inner a{display:block; text-decoration:none; text-align:center; font-size:26px; background:#009EE1; color:#fff; border-radius:20px; padding:20px 0; font-weight:bold;}

.s17 .inner{width:100%; max-width:1200px; margin:0 auto 0 auto; padding-bottom:50px;}

header{position:fixed; top:0; z-index:9;}
header .inner{width:1200px; height:100px; position:absolute; top:0; left:50%; margin-left:-600px;}
header .cta{display:block; width:fit-content; position:absolute; bottom:12px; right:0px;}
#banner{padding-top:100px;}
#banner .cta{display:block; width:fit-content; position:absolute; bottom:67px; left:357px;}


.graph .inner{width:100%; max-width:1200px; margin:0 auto; position:relative;}
.graph .inner img{width:100%;}
.graph .inner .data{position:absolute; top:30%; left:7%; color:#e50019; text-align:center;}
.graph .inner .data{font-size:62px; font-weight:900;}
.graph .inner .data .number{font-size:140px; font-weight:900;}
.graph .inner .data .label{font-size:30px;}
@media screen and (max-width:960px) {
	.graph .inner{width:96%;} 
	.graph .inner .data .number{font-size:11vw;}
	.graph .inner .data{font-size:6vw; left:4%;}
}

#s2{position:relative;}
#s2 .f1{width:276px; height:248px; position: absolute; top: 36%; left: 50%; margin-left: -24%;}
#s2 .f2{width:339px; height:292px; position: absolute; top: 20%; left: 50%; margin-left: -16%;}
#s2 .f3{width:339px; height:292px; position: absolute; top: 21%; left: 50%; margin-left: 0%;}
#s2 .f4{width:299px; height:248px; position: absolute; top: 38%; left: 50%; margin-left:10%;}
#s2 .f1 img,#s2 .f2 img,#s2 .f3 img,#s2 .f4 img{width:100%;}
@media screen and (max-width:1920px) {
	#s2 .f1{ width: 15vw; height:auto;}
	#s2 .f2{ width: 17.5vw; height:auto;}
	#s2 .f3{ width: 17.5vw; height:auto;}
	#s2 .f4{ width: 15vw; height:auto;}
}
@media screen and (max-width:960px) {
	#s2 .f1{ width: 32vw; height:auto; top:46vw; left:3vw; margin:0;}
	#s2 .f2{ width: 40vw; height:auto; top:19vw; left:12vw; margin:0;}
	#s2 .f3{ width: 40vw; height:auto;top:19vw; right:12vw; left:auto; margin:0;}
	#s2 .f4{ width: 32vw; height:auto; top:46vw; right:3vw; left:auto; margin:0;}
}


#s3{background:url(img/s3.png) no-repeat; background-size:cover; text-align:center;}

#s4{ overflow:hidden;}
#s4 h3{text-align:center; font-size:26px; font-weight:bold; padding:40px 0 40px 0;}
@media screen and (max-width:960px) {
	#s4 h3{font-size:20px;}
}
	
#s5{background:url(img/s5bg.png) no-repeat; background-size:cover;}
#s5 .inner{max-width:1078px; width:100%;  margin:0 auto;}
#s5 .cta_container{display:flex; justify-content:space-between; padding-bottom:100px;}
#s5 .cta_container .cta_left,#s5 .cta_container .cta_right{position:relative;  max-width:590px; width:48%;}
#s5 .cta_container .cta_left img,#s5 .cta_container .cta_right img{width:100%;}
#s5 .cta.v1{display:block; width:82%; position:absolute; bottom:37px; left:50%; margin-left:-41%;}
#s5 .cta.v2{display:block; width:82%; position:absolute; bottom:37px; left:50%; margin-left:-41%;}
@media screen and (max-width:1200px) {
	#s5 .cta_container .cta_left,#s5 .cta_container .cta_right{margin:0 10px;}
	#s5 .cta.v1{width:90%; margin-left:-45%; left:50%; bottom:3vw;}
	#s5 .cta.v2{width:90%; margin-left:-45%; left:50%; bottom:3vw;}
}
@media screen and (max-width:960px) {
	#s5 .cta_container{padding-bottom:50px;}
	#s5 .cta_container{flex-wrap:wrap; justify-content:center;}
	#s5 .cta_container .cta_left,#s5 .cta_container .cta_right{margin:0; width:90%; max-width:100%;}
	#s5 .cta_container .cta_left{margin-bottom:40px;}
	#s5 .cta.v1{bottom:4vw;}
	#s5 .cta.v2{bottom:4vw;}
}

#s6 .inner{max-width:1078px; width:100%; margin:0 auto;}
#s6 .inner .s6_flex{display:flex; justify-content:space-between; flex-wrap:wrap;}
#s6 .inner .s6_flex .item{width:48%; margin-bottom:80px; position:relative;}
#s6 .inner .s6_flex .item .s6_01_icon{width:62px; height:58px; position:absolute; top:40px; left:100px;}
#s6 .inner .s6_flex .item img{width:100%;}
@media screen and (max-width:960px) {
	#s6 .inner .s6_flex{flex-wrap:wrap; justify-content:center;}
	#s6 .inner .s6_flex .item{width:90%; margin-bottom:40px;}
	#s6 .inner .s6_flex .item .s6_01_icon{width: 11vw; height: 10vw; position: absolute; top: 7vw; left: 17vw;}
}

#s8 .cta{display:block; width:fit-content; position:absolute; bottom:90px; left:499px;}


#s11{background:url(img/s5bg.png) no-repeat; background-size:cover; padding-bottom:100px;}
#s11 .inner{max-width:1078px; width:100%; margin:0 auto;}
.swiper-slide{text-align:center;}

.swiper {width: 1078px; height: auto; margin-bottom:80px; padding:60px 0;}
.swiper-button-next, .swiper-button-prev{color:#fff;}
.swiper-container {width: 100%;  margin: 40px 0;  padding: 45px 0;}
.swiper-slide {opacity: 0.4; overflow: hidden; transition: .7s;}
.swiper-slide img {width: 100%;}
.swiper-slide-active {opacity: 1;    z-index: 1; transform: scale(1.012) !important;}
@media screen and (max-width:960px) {
	.swiper {width: 100%; margin-bottom:40px; padding:30px 0;}
}


.s12_item01_detail{max-width:1200px; height:70vh; width:100%; position:fixed; top:50%; left:50%; margin-top:-35vw; margin-left:-600px; border:1px solid #A7A3A3; padding:40px; box-sizing:border-box; background:#fff; border-radius:20px;}



.link img{width:100%;}
#s11{position:relative;}
#s11 .link {display: block; width: 380px; margin:0 auto;}

.s12_item01_detail{z-index:11;display:none;max-width:1200px; height:70vh; width:100%; position:fixed; top:50%; left:50%; margin-top:-35vh; margin-left:-600px; border:1px solid #A7A3A3; padding:40px; box-sizing:border-box; background:#fff; border-radius:20px; overflow:auto;}
.s12_item01_detail h3{font-size: 26px; font-weight: bold; padding: 0 0 25px 0; margin: 0 0 40px 0; border-bottom: 1px solid #ddd;}
.s12_item01_detail .company_data{display:flex;border-bottom: 1px solid #ddd;padding: 0 0 20px 0; margin: 0 0 20px 0; }
.s12_item01_detail .company_data .company_image{width:300px; display:flex; align-items:center; margin-right:40px;}
.s12_item01_detail .company_data .inner{flex:1; margin-bottom:10px;  border-left: 5px solid #0098df; padding-left: 20px;}
.s12_item01_detail .company_data .inner .inner{padding:0; border:none;}
.s12_item01_detail .company_data .inner h4{font-size:18px; font-weight:bold; margin-bottom:10px;}
.s12_item01_detail .company_data .inner table th{padding:5px 10px 5px 0;}
.s12_item01_detail h5{font-size:22px; font-weight:bold; margin-bottom:20px; border-left:5px solid #0098df; padding-left:15px;}
.s12_item01_detail .company_data2{margin-bottom:40px;}
.s12_item01_detail a.closed{display:flex; text-align:center;border-radius:100px; position:fixed; top:82px; right:50%; margin-right:-679px; color:#fff; text-decoration:none; justify-content:center; font-size:64px; align-items:center;}

dl.faq{max-width:1200px; width:100%; margin:0 auto 50px auto; padding-bottom:50px; border-bottom:1px solid #B5B2B2;}
dl.faq dt{display:flex; align-items:center; margin-bottom:30px;}
dl.faq dt p{flex:1;font-size:24px; font-weight:bold;}
dl.faq dt:before{content:""; width:50px; height:50px; display:block; background:url(img/q.png) no-repeat; background-size:100%; margin-right:30px;}
dl.faq dd{display:flex; align-items:center;}
dl.faq dd:before{content:""; width:50px; height:50px; display:block; background:url(img/a.png) no-repeat; background-size:100%; margin-right:30px;}
dl.faq dd p{flex:1; font-size:20px; line-height:180%;}


.puyon {animation: puyon 1.0s linear 0s infinite;}
@keyframes puyon {
  0%   { transform: scale(1.0, 1.0) translate(0%, 0%);}
  40%  { transform: scale(0.95, 1.2) translate(0%, -10%); }
  50%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
  60%  { transform: scale(0.95, 1.05) translate(0%, -3%); }
  70%  { transform: scale(1.05, 0.95) translate(0%, 3%); }
  80%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}


/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up2 {
  transition: 0.8s 0.5s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up3 {
  transition: 0.8s 0.5s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up4 {
  transition: 0.8s 0.7s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on,.scroll_up2.on,.scroll_up3.on,.scroll_up4.on {
  transform: translateY(0);
  opacity: 1.0;
}

/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_left.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}

/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_right.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}


.c-button._shiny {
    display: block;
    border-radius: 41px;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
  transition: 300ms;
}
.c-button._shiny::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #b5e7ff;
    transition: 300ms;
    animation: shinyshiny 2.5s ease-in-out infinite;
}

.c-button._shiny:hover {
    text-decoration: none;
    color: #fff;
    box-shadow: none;
    -webkit-transform: translateY(3px);
}

@-webkit-keyframes shinyshiny {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.banner_flex{display:flex; justify-content:space-between; align-items:center; position:absolute; bottom:132px; left:349px; width:718px;}
.banner_flex a{display:block; position:relative; width:49%;}
.mb100px{margin-bottom:100px !important;}
@media screen and (max-width:960px) {
	.mb100px{margin-bottom:50px !important;}
}

@media screen and (max-width:1920px) {
	header .inner{width:62vw; height:5.2vw; position:absolute; top:0; left:50%; margin-left:-31vw;}
	header .cta{display:block; width:fit-content; position:absolute; bottom:0.6vw; right:0px; width:18vw;}
	#banner{padding-top:5.1vw;}
	#banner .banner_flex{display:flex; position:absolute; bottom:6.5vw; left:18.2vw; width:36vw;}

	#s8 .cta{display:block; position:absolute; bottom:4.5vw; left:26vw; width:48vw;}

	
	.s12 .inner{width:63vw;}
	.s12 .inner .item{padding:2vw;}
	.s12 .inner .item .item_inner h3{font-size:1.5vw; line-height:180%;}
	.s12 .inner .item .item_inner a{font-size:1.4vw; padding:1.1vw 0;}
	.s12 .inner .item img{width:14vw;}
	.s12 .inner{width:63vw;}
	.s17 .inner{width: 63vw;}
}
@media screen and (max-width:1405px) {
	.s12_item01_detail{width:94%; max-width:94%; margin-left:-47%;}
	.s12_item01_detail a.closed{top:59px; margin-right:-47vw;}
}
@media screen and (max-width:960px) {
	header{background:#fff;}
	header .inner{width:100%; height:100%; top:0; left:0; margin-left:0;}
	header .cta{width:30vw; bottom:0.6vw; right:1vw;}
	#banner{padding-top:8vw;}
	#banner .cta{width:44vw; bottom:8vw; left:1vw;}
	#banner .banner_flex{display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; position:absolute; bottom: 3.5vw; left: 1vw; width: 44vw;}
	.banner_flex a{display:block; position:relative; width:100%; margin-bottom:10px;}
	.swiper-container{margin:3vw auto;}

	#s8 .cta{bottom:7.5vw; left:50%; width:80vw; margin-left:-40vw;}
	#s11 .link{display: block;  position: absolute; bottom: 9.5vw; left: 50%; width: 60vw; margin-left: -30vw;}
	
	.s12 .inner{width:100%; padding:0 2%; box-sizing:border-box; margin-bottom:60px;}
	.s12 .inner .item{margin-bottom:20px; padding:3vw; border-radius:3vw;}
	.s12 .inner .item img{width:20%; height:100%;}
	.s12 .inner .item .item_inner h3{font-size:3vw;}
	.s12 .inner .item .item_inner a{font-size:3vw;}
	.s17 .inner{width: 100%;  padding: 0 2%;        box-sizing: border-box;margin-bottom: 60px;}
	.s12_item01_detail .company_data{flex-wrap:wrap;}
	.s12_item01_detail .company_data .company_image{width:100%; margin-bottom:40px;margin-right:0;}
	.s12_item01_detail .company_data .inner{border:none; padding:0; width:100%; box-sizing:border-box;}
	.s12_item01_detail .company_data .inner table th{white-space:nowrap;}
	.s12_item01_detail .company_data .inner table td{white-space:normal;}
	.s12_item01_detail h3{font-size:24px; line-height:150%;}
	
	dl.faq dd p{font-size:16px;}
	dl.faq dt:before{margin-right:20px; width:35px; height:35px;}
	dl.faq dd:before{margin-right:20px; width:35px; height:35px;}
	dl.faq dt p{font-size:22px;}
}


.container {
  width: 100%;
  max-width: 800px;
  margin: 0 auto 80px auto;
  padding: 40px 0;
}
@media screen and (max-width:960px) {
	.container {width:98%;   margin: 0 auto 0px auto; padding:20px 0 40px 0;}
}

.bubble-wrapper{background:#ffead2; border:2px solid #f08200; border-radius:20px; padding:20px; display:flex; align-items:center; margin:0 auto 20px auto; width:fit-content;}
.bubble-wrapper.item01{background:#ffead2; border:2px solid #f08200;}
.bubble-wrapper.item02{background:#d1f5d6; border:2px solid #4eae5b;}
.bubble-wrapper.item03{background: #ccefff; border: 2px solid #208fbf;}
.bubble-wrapper.item04{background: #ffdde3; border: 2px solid #d82345;}

.bubble-wrapper.item02 .lineicon{background: #4eae5b;border: 2px solid #4eae5b;}
.bubble-wrapper.item03 .lineicon{background: #208fbf;border: 2px solid #208fbf;}
.bubble-wrapper.item04 .lineicon{background: #d82345;border: 2px solid #d82345;}

.bubble-wrapper.item02 .lineicon:before{border-right: 15px solid #4eae5b;}
.bubble-wrapper.item03 .lineicon:before{border-right: 15px solid #208fbf;}
.bubble-wrapper.item04 .lineicon:before{border-right: 15px solid #d82345;}

.bubble-wrapper .lineicon{position:relative;width:90px; height:90px; margin-left:30px; border-radius:100%; background: #f08200;  border: 2px solid #f08200; }
.bubble-wrapper .lineicon.left{position:relative;width:90px; height:90px; margin-right:30px; margin-left:0; border-radius:100%;}
.bubble-wrapper .lineicon i{border-radius:100%; display:block; width:100%; height:100%; overflow:hidden;}
.bubble-wrapper .lineicon:before {content: ""; position: absolute;top: 50%; left: -25px; margin-top: -15px; border: 15px solid transparent; border-right: 15px solid #f08200;  z-index: 0;}
.bubble-wrapper .lineicon.left:before {content: ""; position: absolute;top: 50%; right:-25px; left:auto; margin-top: -15px; border: 15px solid transparent; border-left: 15px solid #f08200;  z-index: 0;}
.bubble-wrapper.item02 .lineicon.left:before {content: ""; position: absolute;top: 50%;right:-25px; left:auto; margin-top: -15px; border: 15px solid transparent; border-left: 15px solid #4eae5b;  z-index: 0;}
.bubble-wrapper.item04 .lineicon.left:before {content: ""; position: absolute;top: 50%; right:-25px; left:auto; margin-top: -15px; border: 15px solid transparent; border-left: 15px solid #d82345;  z-index: 0;}

@media screen and (max-width:960px) {
	.bubble-wrapper{padding:10px 15px; width:100%; box-sizing:border-box;}
	.bubble-wrapper .lineicon{position:relative;width:45px; height:45px; margin-right:10px; }
	.bubble-wrapper .lineicon.left{position:relative;width:45px; height:45px; margin-right:10px; }
}

.bubble-wrapper .lineicon i img{width:100%;}
.bubble-wrapper p{font-size:18px; padding:20px 0; font-weight:500; flex:1; min-width:470px;}
.bubble-wrapper p span{display:block; border-bottom:1px solid #edcca5; font-weight:900; font-size:20px; padding:0 0 10px 0; margin:0 0 10px 0;}
.bubble-wrapper.item02 p span{display:block; border-bottom:1px solid #9cbda0;}
.bubble-wrapper.item03 p span{display:block; border-bottom:1px solid #8cb0c1;}
.bubble-wrapper.item04 p span{display:block; border-bottom:1px solid #cfa4ab;}


@media screen and (max-width:960px) {
	.bubble-wrapper p{font-size:12px; padding:10px 0; font-weight:500;min-width:auto;}
	.bubble-wrapper p span{font-size:14px;}
}

.slidein{
  transition: 1.5s cubic-bezier(0.75, 0, 0.25, 1);
}
.slide_left{
  transform: translateX(calc(-50vw - 50%));
}
.slide_right{
  transform: translateX(calc(50vw + 50%));
}
.show{
  transform: translateX(0);
}

footer{text-align:center; padding:20px 0 150px 0;}
footer p{text-align:center;}