.basic {
  margin-top: 80px;
  margin-bottom: 80px;
}
.basic.mt0 { margin-top: 0;}
.h202 {
  font-size: 50px;
  text-align: center;
  position: relative;
}
.h202 span { display: block;}
.h202 .above {
  padding-bottom: 70px;
  
}
.h202::before,.h202::after {
  content: "";
  width: 60px;
  height: 2px;
  background: #262253;
  display: block;
  position: absolute;
  left: calc(50% - 30px);
  top: 50%;
}
.h202::after { transform: rotate(90deg);}
p.desc { text-align: center;}

.full img { width: 100%; border-radius: 60px;}
@media only screen and (max-width: 782px) {
  .basic {
    margin-top: 80px;
  }
  .h202 {
    font-size: 30px;
    line-height: 1.2;
  }
  .h202 .above {
    padding-bottom: 60px;

  }
  .h202::before,.h202::after {
    content: "";
    width: 30px;
    height: 2px;
    top: 70px;
    left: calc(50% - 15px);
  }

  .full img { border-radius: 40px;}
}

#notice {
	background-image:url("../img/strength/bg_bluedot.gif");
	background-repeat: repeat;
	position: relative;
	margin:-120px auto 0;
	border-radius: 5px;
	z-index: 3;
	width:960px;
	box-sizing: border-box;
	padding:0px 0 75px;
}
@media only screen and (max-width: 960px) { #notice { width:100%; padding-left:5%; padding-right: 5%;}}
#notice h3 { text-align: center; margin-top:-50px;z-index: 2;position: relative;}
#notice h3 img {  margin-top:-25px;}
#notice h2 { text-align: center; margin-top:30px; color: #fff; letter-spacing: -0.1rem; line-height: 1.4;}
#notice h2 .large { font-size: 60px; display: inline-block;}
#notice h2 .small { font-size: 30px; display: inline-block;}
#notice h2 .large + .small,
#notice h2 .small + .large,
#notice h2 br + .large { margin-left: -20px;}
#notice::before {
	width:100px;
	height: 100px;
	margin-left:-50px;
	top:-50px;
	position: absolute;
	content: "";
	box-sizing: border-box;
	left:50%;
	border-radius: 50%;
	background-image:url("../img/strength/bg_bluedot.gif");
	background-repeat: repeat;
}
#notice .box { margin:0 80px; display: flex; align-items: flex-end;}
#notice .box > div {  width:50%; text-align: center;}
#notice .box p { margin-top: 25px; font-size:20px; font-weight: normal; color: #fff; line-height: 190%; letter-spacing: 2px;}
#notice + .btm {
	box-sizing: border-box;
	width:200px;
	height: 115px;
	margin:-80px auto 0;
	transform: skewX(-30deg) rotate(30deg);
	background:url("../img/strength/bg_bluedot.gif") repeat;
	position: relative;
	z-index: 1;
}

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

  body.Device-touchable #notice {
		margin:-60px auto 0;
		padding-bottom: 40px;
	}
	body.Device-touchable #notice h3 { text-align: center; margin-top:-50px;z-index: 2;position: relative;}
	body.Device-touchable #notice h3 img { margin-top:-25px; width:10px; height: auto;}
	body.Device-touchable #notice h2 { margin-top:20px;}
	body.Device-touchable #notice h2 .large { font-size: 30px;}
  body.Device-touchable #notice h2 .small { font-size: 15px; line-height: 1.8;}
  body.Device-touchable #notice h2 .large + .small,
  body.Device-touchable #notice h2 .small + .large,
  body.Device-touchable #notice h2 br + .large { margin-left: -10px;}
	body.Device-touchable #notice .box { margin:0 0px;}
	body.Device-touchable #notice .box p { margin-top: 10px; font-size:2vw; line-height: 180%; letter-spacing: -0.05rem; }
	body.Device-touchable #notice .box p img { width: auto; height: 150px; margin-top:15px;}
	body.Device-touchable #notice + .btm {
		margin:-120px auto 0;
	}
}

@media only screen and (max-width: 782px) {
	#notice {
		margin:-60px auto 0;
		padding-bottom: 40px;
	}
	#notice h3 { text-align: center; margin-top:-50px;z-index: 2;position: relative;}
	#notice h3 img { margin-top:-25px; width:10px; height: auto;}
	#notice h2 { margin-top:20px;}
	#notice h2 .large { font-size: 30px;}
  #notice h2 .small { font-size: 15px; line-height: 1.8;}
  #notice h2 .large + .small,
  #notice h2 .small + .large,
  #notice h2 br + .large { margin-left: -10px;}
	#notice .box { margin:0 0px;}
	#notice .box p { margin-top: 10px; font-size:2vw; line-height: 180%; letter-spacing: -0.05rem; }
	#notice .box p img { width: auto; height: 150px; margin-top:15px;}
	#notice + .btm {
		margin:-120px auto 0;
	}
}

.h302 {
  margin-top: 80px;
  text-align: center;
}
.h302 .en {
  font-size: 80px;
  line-height: 1.4;
  display: block;
}
.h302 .mincho { font-size: 22px; display: block;}
.btn + .h302 { margin-top: 120px;}

@media only screen and (max-width: 782px) {
  .h302 {
    margin-top: 40px;
  }
  .h302 .en {
    font-size: 40px;
  }
  .h302 .mincho { font-size: 12px;}
  .btn + .h302 { margin-top: 60px;}
}



#steps {
	color: #fff;
	text-align: center;
	max-width:1210px;
	margin: 50px auto 0;
	font-weight: 100;
}
#steps span { display: block;}
#steps span.large { font-size: 36px;}
#steps span.mid { font-size: 24px;}
#steps span.small { font-size: 13px;}
#step0 {
	background:url(../img/strength/step0.png) no-repeat center top;
	background-size:cover;
	height:180px;
	/*margin-bottom: 110px;*/
	position: relative;
}
#movies {
	height:1680px;
	height:1400px;
	height:1550px;
	position: relative;
}
.step {
	height:16.666%;
	height:20%;
	height:19.8%;
	width:100%;
	position: relative;
	z-index: 2;
	cursor: pointer;
	overflow:hidden;
}
.step::before {
  content: "";
	background-repeat: no-repeat;
	background-position: center 50%;
	background-size:100% auto;
	height:100%;
	width:100%;
	position: absolute;
	z-index: 1;
	left: 0;
  top: 0;
  filter: brightness(0.6);
}
#movies .normal {
	height: 100%;
	width:100%;
	box-sizing: border-box;
	position: relative;
	z-index: 4;
	background:url(../img/strength/dot.png) repeat;
}
#step1::before {background-image:url(../img/strength/bg_step1.jpg);}
#step2::before {background-image:url(../img/strength/bg_step2.jpg);}
#step3::before {background-image:url(../img/strength/bg_step3.jpg);}
#step4::before {background-image:url(../img/strength/bg_step4.jpg);}
#step5::before {background-image:url(../img/strength/bg_step5.jpg);}
.step video {
	position: absolute;
	right:0;
	bottom: 0;
	left:0;
	top:0;
	min-width: 100%;
	width: auto;
	height: auto;
	margin:auto;
	z-index: 3;
  transition: opacity 0.5s linear;
}
.step:not(.on) video {
  opacity: 0;
}
.step.off {
	z-index:-1;
}
#step7 {
	background:url(../img/strength/step7.jpg) no-repeat center top;
	background-size:cover;
	height:180px;
	position: relative;
	/*margin-top: 110px;*/
}
.step_arrow {
	display: block;
	 height: 110px;
	 background:url(../img/strength/step_arrow.png) no-repeat center 50%;
}
/*
#step0::after,
#step7::after {
	content: "";
	display: block;
	 height: 110px;
	 position: absolute;
	 left:0px;

	 width:100%;
	 background:url(../img/strength/pc/step_arrow.png) no-repeat center 50%;
}
#step0::after { top:180px;}
#step7::after { top:-110px;}*/
#step0 span:nth-child(1){ padding-top:40px;}

.step .normal span:nth-child(1){ padding-top:60px;}
.step.off .normal span:nth-child(1){ padding-top:20px;}
#step7 span:nth-child(1) { padding-top:55px;}
#step0 span:nth-child(2){ margin-top:0px;}
#step1 .normal span:nth-child(2),
#step2 .normal span.large,
#step3 .normal span:nth-child(2),
#step4 .normal span:nth-child(2),
#step5 .normal span:nth-child(2),
#step6 .normal span:nth-child(2){ margin-top:0px;}
#step1 .normal span:nth-child(3),
#step2 .normal span:nth-child(3),
#step3 .normal span:nth-child(3),
#step4 .normal span:nth-child(3),
#step5 .normal span:nth-child(3),
#step6 .normal span:nth-child(3){ margin-top:0px;}


.step .hover {
	padding-top:320px;
	height: 360px;
	position:absolute;
	z-index: 3;
	top:0px;
	left:0px;
	width:100%;
}
@media only screen and (max-width: 782px) {
	#h2flow { margin-top:55px;}
	#h2flow img {width:355px; max-width:95%;}

	#steps {
		max-width:auto;
		margin: 25px auto 0;
	}
	#steps span.large { font-size: 18px;}
	#steps span.mid { font-size: 12px;}
	#steps span.small { font-size: 9px; line-height: 160%;}
	#step0 {
		height:90px;

	}

	#movies {
		height:700px;
	}
	#step7 {
		height:90px;

	}
	/*
	#step0::after,
	#step7::after {
		 height: 55px;
		 background-size:22.5px auto;
	}
	#step0::after { top:90px;}
	#step7::after { top:-55px;}*/
	.step_arrow {height: 55px;background-size:22.5px auto;}
	#step0 span:nth-child(1){ padding-top:10px;}
	.step .normal span:nth-child(1){ padding-top:20px;}
	.step.off .normal span:nth-child(1){ padding-top:8px;}
	#step7 span:nth-child(1) { padding-top:20px;}
	#step0 span:nth-child(2){ margin-top:4px;}
	#step1 .normal span:nth-child(2),
	#step2 .normal span.large,
	#step3 .normal span:nth-child(2),
	#step4 .normal span:nth-child(2),
	#step5 .normal span:nth-child(2),
	#step6 .normal span:nth-child(2){ margin-top:5px;}
	#step1 .normal span:nth-child(3),
	#step2 .normal span:nth-child(3),
	#step3 .normal span:nth-child(3),
	#step4 .normal span:nth-child(3),
	#step5 .normal span:nth-child(3),
	#step6 .normal span:nth-child(3){ margin-top:5px;}
	.step .hover {
		padding-top:160px;
		height: 180px;
	}
}

.ami_white { position: relative;}
.ami_white img { position: relative; z-index: 1;}
.ami_white::after { 
  content: "";
  width: 100%;
  height: 100%;
  background: url("../img/strength/dot.png") repeat;
  left: 0;
  top: 0;
  filter: invert();
  opacity: 0.5;
  position: absolute; z-index: 2;
}
.basic.mt0 {
  position: relative;
  z-index: 2;
}
.basic.mt0 .h302:first-of-type {
  margin-top: -55px;
}
@media only screen and (max-width: 782px) {
  .basic.mt0 .h302:first-of-type {margin-top: -27px;}
}

.boxFlex {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 40px);
  margin-left: -20px;
}
.facilibox {
  width: calc(50% - 40px);
  margin: 50px 20px 0;
}
.facilibox h3 {
  background: #41bdce;
  color: #fff;
  width: min(360px, 85%);
  margin: 0 auto;
  position: relative;
  z-index: 2;
  height: 60px;
  font-size: 114%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  border-radius: 30px;
  text-align: center;
}
.facilibox p.img {
  margin-top: -30px;
  position: relative;
  z-index: 1;
}
.facilibox p.img img { width: 100%; height: auto;}
.facilibox p.caption { font-size: 86%;}
.facilibox p.caption.center { font-size: 114%; text-align: center;}

@media only screen and (max-width: 782px) {
  .boxFlex {
    display: block;
    width: auto;
    margin-left: 0;
  }
  .facilibox {
    width: auto;
    margin: 25px 0px 0;
  }
  .facilibox h3 {
    height: 44px;
    font-weight: normal;
    font-size: 13px;
  }
  .facilibox p.img {margin-top: -22px;}
}
.h203 {
  margin: 4rem 0;
  font-size: 50px;
  text-align: center;
  position: relative;
  line-height: 1.4;
}
.h203 span { display: block;}
.h203 span.small { font-size: 60%;}

@media only screen and (max-width: 782px) {
  .h203 {
    font-size: 30px;
    line-height: 1.2;
  }
}

.h402{
	margin:30px auto 0;
	background:#45bdcf;
	font-size: 16px;
	height: 60px;
	box-sizing: border-box;
	color: #fff;
	font-weight: normal;
	border-radius: 30px;
	display:flex;
  align-items: center;
	width:31%;
	min-width: 350px;
  text-align: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.flex3box h5 {
	margin:30px auto 0;
	font-size: 18px;
	min-height: 60px;
	box-sizing: border-box;
	width: 85%;
	display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
	color: #45bdcf;
	border:#45bdcf 1px solid;
	border-radius: 30px;
	position: relative;
  text-align: center;
  z-index: 2;
}
.flex3box .h402{width: 85%;min-width: inherit;}

.flex3box {
	display: flex;
	justify-content: space-around;
}

.flex3box .box { width:31%;}
.flex3box  p.img { margin-top:-30px;  position: relative; z-index: 1;}
.flex3box  p.img img { width: 100%; height: auto;}

.flex3box p.caption { font-size:16px; margin-top:8px; text-align: center;}
@media only screen and (max-width: 1000px) {
	.flex3box .box3 h4 { font-size: 13px;}
}
@media only screen and (max-width: 767px) {
	.h402{
		margin:20px auto 0;
		font-size: 13px;
		height: 44px;
		padding-top:10px;
		border-radius: 22px;
		display:block;
		width:auto;
		min-width:inherit;
	}
	.flex3box h5 {
		margin:20px auto 0;
		font-size: 13px;
		min-height: 44px;
		min-width:inherit;
		display: block;
		padding:10px 0 0 0;
		border-radius: 22px;
		width:85%;
	}
	.flex3box {
		display: block;
	}
	.flex3box .box { width:auto;}
	.flex3box p.img { margin-top:-22px;}

	.flex3box p.caption { font-size:11px; margin-top:5px;}
}
#myBanner { margin-top: 120px;}
#myBanner .myBtn { text-align: center;}
#myBanner .myBtn a { 
  width: 340px;
  text-align: left;
  width: 590px;
  padding-left: 240px;
  background: #fff554;
  border-radius: 10px;
}
#myBanner .myBtn a:hover {
  background-color: #38a4b6;
}
#myBanner .myBtn a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 10px;
  background: url("../img/strength/banner-base@2x.jpg") no-repeat left center / cover;
  width: 250px;
  height: 100%;
  display: block;
  z-index: 2;
}
#myBanner .myBtn a::after {
  content: "";
  display: block;
  width: 220px;
  height: 143px;
  position: absolute;
  z-index: 3;
  left: 10px;
  bottom: -15px;
  background: url("../img/strength/banner@2x.png") no-repeat left center / 220px auto;
}
#myBanner .myBtn a i.bg { width: calc(100% - 240px); border-radius: 0 10px 10px 0px;}
#myBanner .myBtn a span.jp { padding-top: 25px;padding-left: 50px;}
#myBanner .myBtn a span.en { padding-bottom: 25px;padding-left: 50px;}

.myBtn.center { text-align: center; margin-bottom: 200px;}
.myBtn.center a { text-align: left;}
@media only screen and (max-width: 767px) {
  #myBannerSp { text-align: center; margin-top: 5rem;}
  #myBannerSp .myBtn a { width: 280px; text-align: left;}

  .myBtn.center { margin-bottom: 100px;}
}