@charset "utf-8";

.strategy-wrap strong{
  background-color: #E8F6FF;
}

.strategy-wrap{
  background-color: #C4E8FF;
  position: relative;
}
.strategy-wrap:before{
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 100vh;
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 0;
}
@media print, screen and (min-width:781px) {
  .strategy-wrap:before{
    background-image: url("../img/bg_main.png");
  }
}
@media screen and (max-width: 780px) {
  .strategy-wrap:before{
    background-image: url("../img/bg_main_sp.png");
  }
}



.strategy-heading{
  position: relative;
}
.strategy-heading > h1{
  color: #FFF;
  font-weight: 700;
  letter-spacing: .4em;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: center;
  margin: 0 auto;
}
.strategy-heading:before,
.strategy-heading:after{
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
}
@media print, screen and (min-width:781px) {
  .strategy-heading{
    padding: 90px 0;
  }
  .strategy-heading:before{
    background-image: url("../img/bg_heading1.jpg");
    height: 100%;
    width: 66.325%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    mix-blend-mode: multiply;
  }
  .strategy-heading > h1{
    font-size: 5.0rem;
    position: relative;
    z-index: 1;
  }
  .strategy-heading:after{
    background-image: url("../img/bg_heading2.jpg");
    width: 41.87%;
    position: absolute;
    right: 0;
    top: 104px;
    bottom: -70px;
    z-index: 1;
    mix-blend-mode: multiply;
  }
}
@media screen and (max-width: 780px) {
  .strategy-heading{
    padding: 60px 0 100px;
  }
  .strategy-heading:before{
    background-image: url("../img/bg_heading1_sp.jpg");
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    mix-blend-mode: multiply;
  }
  .strategy-heading > h1{
    font-size: 2.5rem;
    position: relative;
    z-index: 1;
  }
  .strategy-heading:after{
    background-image: url("../img/bg_heading2_sp.jpg");
    width: 41.87%;
    position: absolute;
    right: 0;
    top: 115px;
    bottom: -40px;
    z-index: 1;
    mix-blend-mode: multiply;
  }
}


#strategy-sec{
  position: relative;
  z-index: 2;
}
.strategy-desc{
  background-color: #FFF;
}
.strategy-desc > .en{
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .03em;
  text-align: center;
}
.strategy-desc .strategy-text h2{
  font-weight: 700;
  text-align: center;
}
.strategy-desc .strategy-text h2 strong{
  background-color: #E8F6FF;
}
.strategy-desc .strategy-text p{
  line-height: 2.1;
}
@media print, screen and (min-width:781px) {
  #strategy-sec{
    margin-left: auto;
    margin-right: auto;
    max-width: 1088px;
    width: 90%;
  }
  .strategy-desc{
    padding: 17% 17%;
  }
  .strategy-desc > .en{
    font-size: 10.0rem;
  }
  .strategy-desc .strategy-text{
    margin-top: 95px;
  }
  .strategy-desc .strategy-text h2{
    font-size: 3.4rem;
  }
  .strategy-desc .strategy-text p{
    margin-top: 20px;
  }
}
@media screen and (max-width: 780px) {
  #strategy-sec{
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  .strategy-desc{
    padding: 10% 10% 15%;
  }
  .strategy-desc > .en{
    font-size: min(12.8vw,10.0rem);
    margin-top: 50px;
  }
  .strategy-desc .strategy-text{
    margin-top: 35px;
  }
  .strategy-desc .strategy-text h2{
    font-size: min(5.6vw,2.2rem);
  }
  .strategy-desc .strategy-text p{
    font-size: 1.3rem;
    margin-top: 20px;
  }
}



.strategy-sub-sec h3{
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  position: relative;
}
.strategy-sub-sec h3:before{
  background-image: url("../img/bg_sub_ttl.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  z-index: -1;
}

.strategy-grandchild-sec{
  background-color: #FFF;
}
.strategy-grandchild-ttl{
  display: flex;
  flex-direction: column;
  align-items: center;
}
.strategy-grandchild-ttl > p{
  border-bottom: 1px solid #707070;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  line-height: 1;
  padding: 0 10px 10px;
}
.strategy-grandchild-ttl > h3,
.strategy-grandchild-ttl > h4{
  font-weight: 700;
  line-height: 1.22;
  text-align: center;
}
.strategy-grandchild-ttl + .txthead{
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
.strategy-grandchild-ttl + .txthead2{
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
@media print, screen and (min-width:781px) {
  .strategy-sub-sec h3{
    font-size: 2.4rem;
    margin-top: 180px;
    margin-bottom: 180px;
  }
  .strategy-sub-sec h3:before{
    height: 154px;
    width: 372px;
  }
  
  .strategy-grandchild-sec{
    padding: 7%;
  }
  .strategy-grandchild-ttl{
    margin-top: 80px;
  }
  .strategy-grandchild-ttl > p{
    font-size: 1.6rem;
  }
  .strategy-grandchild-ttl > h3,
  .strategy-grandchild-ttl > h4{
    font-size: 4.4rem;
    margin-top: 20px;
  }
  .strategy-grandchild-ttl + .txthead{
    font-size: 2.2rem;
    margin-top: 30px;
  }
  .strategy-grandchild-ttl + .txthead2{
    font-size: 1.6rem;
    margin-top: 30px;
  }
  .strategy-grandchild-ttl + p{
    margin-left: auto;
    margin-right: auto;
    margin-top: 35px;
    width: 76.923%;
  }
  
  .strategy-grandchild-sec + .strategy-grandchild-sec .strategy-grandchild-ttl{
    margin-top: 0;
  }
}
@media screen and (max-width: 780px) {
  .strategy-sub-sec h3{
    font-size: min(3.8vw,1.5rem);
    margin-top: 80px;
    margin-bottom: 80px;
  }
  .strategy-sub-sec h3:before{
    height: 112px;
    width: 269px;
  }
  
  
  .strategy-grandchild-sec{
    padding: 5% 5%;
  }
  .strategy-grandchild-ttl{
    margin-top: 40px;
  }
  .strategy-grandchild-ttl > p{
    font-size: min(2.8vw,1.1rem);
  }
  .strategy-grandchild-ttl > h3,
  .strategy-grandchild-ttl > h4{
    font-size: min(6.4vw,2.5rem);
    margin-top: 20px;
  }
  .strategy-grandchild-ttl + .txthead{
    font-size: min(3.8vw,1.5rem);
    margin-top: 10px;
  }
  .strategy-grandchild-ttl + .txthead2{
    font-size: min(3.8vw,1.5rem);
    margin-top: 10px;
  }
  .strategy-grandchild-ttl + p{
    font-size: min(3.3vw,1.3rem);
    margin-left: 5%;
    margin-right: 5%;
    margin-top: 45px;
  }
  
  .strategy-grandchild-sec + .strategy-grandchild-sec .strategy-grandchild-ttl{
    margin-top: 0;
  }
}



.vision-item .detail .ttl{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.vision-item .detail .ttl > p{
  background-color: #FFF;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  line-height: 1;
}
.vision-item .detail .ttl > h5{
  font-weight: 700;
}
.vision-item .detail > p{
  font-weight: 500;
}
.vision-item .image:before{
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  padding-bottom: 107.2261%;
}
.vision-item:nth-child(1) .image:before{
  background-image: url("../img/img_vision1.png");
}
.vision-item:nth-child(2) .image:before{
  background-image: url("../img/img_vision2.png");
}
.vision-item:nth-child(3) .image:before{
  background-image: url("../img/img_vision3.png");
}
@media print, screen and (min-width:781px) {
  .vision-list{
    margin-top: 150px;
    margin-left: -8.2%;
    margin-right: -8.2%;
  }
  .vision-item{
    position: relative;
  }
  .vision-item:before{
    background: #D5DDEB;
    background: linear-gradient(180deg, rgba(213, 221, 235, 1) 0%, rgba(255, 255, 255, 1) 100%);
    content: "";
    display: block;
    padding-bottom: 36.7647%;
    width: 83.08823%;
    position: absolute;
    top: 0;
    z-index: 0;
  }
  .vision-item:nth-child(odd):before{
    left: 0;
  }
  .vision-item:nth-child(even):before{
    right: 0;
  }
  .vision-item .detail{
    padding-top: 50px;
    padding-bottom: 150px;
    position: relative;
    z-index: 1;
  }
  .vision-item:nth-child(odd) .detail{
    margin-right: auto;
    padding-left: 7%;
    padding-right: 45.49632%;
  }
  .vision-item:nth-child(even) .detail{
    margin-left: auto;
    padding-left: 45.49632%;
    padding-right: 7%;
  }
  .vision-item .detail .ttl{
    margin-bottom: 35px;
  }
  .vision-item .detail .ttl > p{
    padding: 10px 30px;
  }
  .vision-item .detail .ttl > h5{
    font-size: 3.2rem;
    margin-top: 35px;
  }
  .vision-item .detail > p{
    font-size: 1.8rem;
  }
  .vision-item .detail > p + p{
    border-top: 1px solid #707070;
    margin-top: 20px;
    padding-top: 20px;
  }
  .vision-item .image{
    width: 39.3382%;
    position: absolute;
    top: -10%;
    z-index: 1;
  }
  .vision-item:nth-child(odd) .image{
    right: 0;
  }
  .vision-item:nth-child(even) .image{
    left: 0;
  }
}
@media screen and (max-width: 780px) {
  .vision-list{
    margin-top: 60px;
    margin-left: -5.4%;
    margin-right: -5.4%;
  }
  .vision-item{
    padding-bottom: 75px;
    position: relative;
  }
  .vision-item:before{
    background: #D5DDEB;
    background: linear-gradient(180deg, rgba(213, 221, 235, 1) 0%, rgba(255, 255, 255, 1) 100%);
    content: "";
    display: block;
    padding-bottom: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 13%;
    z-index: 0;
  }
  .vision-item .detail{
    margin-top: 50px;
    padding: 0 10%;
    position: relative;
    z-index: 1;
  }
  .vision-item .detail .ttl{
    margin-bottom: 25px;
  }
  .vision-item .detail .ttl > p{
    font-size: min(2.8vw,1.1rem);
    padding: 10px 30px;
  }
  .vision-item .detail .ttl > h5{
    font-size: min(5.1vw,2.0rem);
    margin-top: 25px;
  }
  .vision-item .detail > p{
    font-size: min(3.3vw,1.3rem);
  }
  .vision-item .detail > p + p{
    border-top: 1px solid #707070;
    margin-top: 15px;
    padding-top: 15px;
  }
  .vision-item .image{
    width: 88.319%;
    position: relative;
    z-index: 1;
  }
  .vision-item:nth-child(odd) .image{
    margin-left: auto;
  }
  .vision-item:nth-child(even) .image{
    margin-right: auto;
  }
}


@media print, screen and (min-width:781px) {
  #long-term-sec .image{
    margin-top: 55px;
  }
}
@media screen and (max-width: 780px) {
  #long-term-sec .image{
    margin-top: 55px;
  }
  #long-term-sec .image img{
    min-width: 664px;
  }
}


.strengths-list{
  counter-reset: number 0;
}
.strengths-item{
  background-color: #E3F6FF;
}
.strengths-item .ttl{
  background-color: #FFF;
  border: 1px solid #B5BBFA;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.strengths-item .ttl:before{
  background-color: #016FBC;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50%;
  content: "";
  display: block;
  position: absolute;
}
.strengths-item:nth-child(1) .ttl:before{
  background-image: url("../img/ic_strengths1.svg");
}
.strengths-item:nth-child(2) .ttl:before{
  background-image: url("../img/ic_strengths2.svg");
}
.strengths-item:nth-child(3) .ttl:before{
  background-image: url("../img/ic_strengths3.svg");
}
.strengths-item:nth-child(4) .ttl:before{
  background-image: url("../img/ic_strengths4.svg");
}
.strengths-item .ttl > p{
  border-bottom: 1px solid #707070;
  line-height: 1;
}
.strengths-item .ttl > p:before{
  counter-increment: number 1;
  content: counter(number);
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
}
.strengths-item .ttl > h5{
  font-weight: 700;
  line-height: 1.44;
  letter-spacing: .03em;
  text-align: center;
}
.strengths-item ul > li{
  display: flex;
  letter-spacing: .03em;
}
.strengths-item ul > li:not(.icno):before{
  color: #FFF;
  font-size: 1.0rem;
  content: "●";
  display: block;
}
.strengths-item ul > li:nth-child(n + 2){
  border-top: 1px solid #FFF;
}
.strengths-item ul > li.icno{
  padding-left: 20px;
}
@media print, screen and (min-width:781px) {
  .strengths-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 80px;
  }
  .strengths-item{
    margin-top: 1.77%;
    padding: 4.5%;
    width: 49.115%;
  }
  .strengths-item .ttl{
    padding: 0 5px 35px;
  }
  .strengths-item .ttl:before{
    height: 60px;
    width: 60px;
    right: -13px;
    top: -27px;
  }
  .strengths-item .ttl > p{
    font-size: 5.0rem;
    padding: 0 25px 10px;
    margin-top: -20px;
  }
  .strengths-item .ttl > h5{
    font-size: 1.8rem;
    margin-top: 25px;
  }
  .strengths-item ul{
    margin-top: 35px;
  }
  .strengths-item ul > li:before{
    margin-top: 5px;
    margin-right: 10px;
  }
  .strengths-item ul > li:nth-child(n + 2){
    padding-top: 20px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 780px) {
  .strengths-list{
    margin-top: 60px;
  }
  .strengths-item{
    margin-top: 20px;
    padding: 10% 5% 5%;
  }
  .strengths-item .ttl{
    padding: 0 5px 35px;
  }
  .strengths-item .ttl:before{
    background-size: 30% auto;
    height: 45px;
    width: 45px;
    right: -6px;
    top: -13px;
  }
  .strengths-item .ttl > p{
    font-size: min(12.4vw,4.8rem);
    padding: 0 25px 10px;
    margin-top: -20px;
  }
  .strengths-item .ttl > h5{
    font-size: min(4.6vw,1.8rem);
    margin-top: 25px;
  }
  .strengths-item ul{
    font-size: min(3.3vw,1.3rem);
    margin-top: 35px;
  }
  .strengths-item ul > li:before{
    margin-top: 5px;
    margin-right: 10px;
  }
  .strengths-item ul > li:nth-child(n + 2){
    padding-top: 20px;
    margin-top: 20px;
  }
}



.key-item{
  background-color: #B6F9FF;
}
.key-item h5{
  border: 1px solid #B5BBFA;
  font-weight: 700;
  line-height: 1.44;
  letter-spacing: .03em;
  text-align: center;
}
.key-item:nth-child(1) h5{
  background-color: #E3F6FF;
}
.key-item:nth-child(2) h5{
  background-color: #BDF0FF;
}
.key-item:nth-child(3) h5{
  background-color: #D4F0FE;
}
.key-item:nth-child(4) h5{
  background-color: #79EFED;
}
.key-item ul > li{
  display: flex;
  letter-spacing: .03em;
}
.key-item ul > li:not(.icno):before{
  color: #FFF;
  font-size: 1.0rem;
  content: "●";
  display: block;
}
.key-item ul > li:nth-child(n + 2){
  border-top: 1px solid #FFF;
}
.key-item ul > li.icno{
  padding-left: 20px;
}
@media print, screen and (min-width:781px) {
  .image.key{
    margin-left: auto;
    margin-right: auto;
    margin-top: 80px;
    width: 83.18584%;
  }
  .key-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 80px;
  }
  .key-item{
    margin-top: 1.77%;
    padding: 2% 4.5% 4.5%;
    width: 49.115%;
  }
  .key-item h5{
    font-size: 1.8rem;
    padding: 15px;
    margin-top: 25px;
  }
  .key-item ul{
    margin-top: 35px;
  }
  .key-item ul > li:before{
    margin-top: 5px;
    margin-right: 10px;
  }
  .key-item ul > li:nth-child(n + 2){
    padding-top: 20px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 780px) {
  .image.key{
    margin-top: 60px;
  }
  .key-list{
    margin-top: 35px;
  }
  .key-item{
    margin-top: 20px;
    padding: 5% 5% 10%;
  }
  .key-item h5{
    font-size: min(4.6vw,1.8rem);
    padding: 25px 15px;
  }
  .key-item ul{
    font-size: min(3.3vw,1.3rem);
    margin-top: 30px;
  }
  .key-item ul > li:before{
    margin-top: 5px;
    margin-right: 10px;
  }
  .key-item ul > li:nth-child(n + 2){
    padding-top: 20px;
    margin-top: 20px;
  }
}



.key_strategy-wrap{
  position: relative;
}
.key_strategy-wrap:before{
  background: #D5DDEB;
  background: linear-gradient(180deg, rgba(213, 221, 235, 1) 0%, rgba(255, 255, 255, 1) 100%);
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.key_strategy-wrap > *{
  position: relative;
  z-index: 1;
}
.strengths-list2{
  counter-reset: number 0;
}
.strengths-list2 .strengths-item{
  background-color: #E3F6FF;
}
.strengths-list2 .strengths-item h5{
  background-color: #FFF;
  border: 1px solid #B5BBFA;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  font-weight: 700;
  line-height: 1.44;
  letter-spacing: .03em;
  text-align: center;
}
.strengths-list2 .strengths-item ul > li{
  display: flex;
  letter-spacing: .03em;
}
.strengths-list2 .strengths-item ul > li:not(.icno):before{
  color: #FFF;
  font-size: 1.0rem;
  content: "●";
  display: block;
}
.strengths-list2 .strengths-item ul > li:nth-child(n + 2){
  border-top: 1px solid #FFF;
}
.strengths-list2 .strengths-item ul > li.icno{
  padding-left: 20px;
}
@media print, screen and (min-width:781px) {
  .key_strategy-wrap{
    margin-left: -8.1%;
    margin-right: -8.1%;
    margin-top: 35px;
  }
  .key_strategy-wrap:before{
    padding-bottom: 36.7647%;
    top: 225px;
  }
  .strengths-list2{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 7% 0;
  }
  .strengths-list2 .strengths-item{
    margin-top: 1.77%;
    padding: 2% 4.5% 4.5%;
    width: 49.115%;
  }
  .strengths-list2 .strengths-item h5{
    font-size: 1.8rem;
    padding: 15px;
    margin-top: 25px;
  }
}
@media screen and (max-width: 780px) {
  .key_strategy-wrap{
    margin-left: -5.4%;
    margin-right: -5.4%;
    margin-top: 35px;
  }
  .key_strategy-wrap:before{
    padding-bottom: 100%;
    top: 2%;
  }
  .key_strategy-wrap .image{
    margin: 75px auto 0;
    width: 92.1652%;
  }
  .key_strategy-wrap .image.sp_ver{
    margin: 30px auto 0;
    width: 100%;
  }
  .strengths-list2{
    margin: 0 5% 0;
  }
  .strengths-list2 .strengths-item{
    margin-top: 20px;
    padding: 5% 5% 10%;
  }
  .strengths-list2 .strengths-item h5{
    font-size: min(4.6vw,1.8rem);
    padding: 25px 15px;
  }
  .strengths-list2 ul{
    margin-top: 15px;
  }
}



.dx-list{
  background-color: #B6F9FF;
}
.dx-item{
  background-color: #FFF;
  border: 1px solid #B5BBFA;
}
.dx-item .detail h5{
  font-weight: 700;
  letter-spacing: .03em;
}
.dx-item .detail dl > div{
  border-top: 3px solid #B6F9FF;
}
.dx-item .detail dl > div > dt{
  font-weight: 700;
}
.dx-item .detail ul > li{
  display: flex;
  align-items: center;
}
.dx-item .detail ul > li:before{
  color: #B6F9FF;
  content: "●";
  display: block;
}
@media print, screen and (min-width:781px) {
  .dx-list{
    margin-top: 95px;
    padding: 5%;
  }
  .dx-item{
    display: flex;
    justify-content: space-between;
    padding: 3%;
  }
  .dx-item:nth-child(n + 2){
    margin-top: 20px;
  }
  .dx-item .image{
    width: 16.05263%;
  }
  .dx-item .detail{
    width: 80.2631%;
  }
  .dx-item .detail h5{
    font-size: 2.2rem;
    margin-bottom: 25px;
  }
  .dx-item .detail dl > div{
    padding: 25px 0;
    display: flex;
  }
  .dx-item .detail dl > div > dt{
    display: flex;
    align-items: center;
    width: 90px;
  }
  .dx-item .detail ul > li:before{
    font-size: 1.0rem;
    margin-right: 10px;
  }
}
@media screen and (max-width: 780px) {
  .dx-list{
    margin-top: 65px;
    padding: 5%;
  }
  .dx-item{
    padding: 10% 5%;
  }
  .dx-item:nth-child(n + 2){
    margin-top: 20px;
  }
  .dx-item .image{
    margin: 0 auto 0;
    width: 42.735%;
  }
  .dx-item .detail{
    margin-top: 20px;
  }
  .dx-item .detail h5{
    font-size: min(4.6vw,1.8rem);
    margin-bottom: 20px;
    text-align: center;
  }
  .dx-item .detail dl > div{
    padding: 25px 0;
  }
  .dx-item .detail dl > div > dt{
    font-size: min(3.8vw,1.5rem);
  }
  .dx-item .detail ul > li{
    font-size: min(3.3vw,1.3rem);
    align-items: flex-start;
  }
  .dx-item .detail ul > li:before{
    font-size: 1.0rem;
    margin-right: 10px;
    margin-top: 5px;
  }
}


.group-box{
  background-color: #B6F9FF;
}
.group-box .group-inner{
  background-color: #FFF;
}
.group-box .group-inner > p{
  font-weight: 700;
  text-align: center;
}
.group-box .group-inner > div{
  background-color: #FFDEF0;
  color: #333333;
  display: flex;
  font-weight: 700;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.group-box .group-inner > div:before{
  background-image: url("../img/ic_arrow.svg");
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
}
@media print, screen and (min-width:781px) {
  .group-box{
    padding: 5%;
    margin-top: 95px;
  }
  .group-inner{
    padding: 5%;
  }
  .group-box .group-inner > p{
    font-size: 1.4rem;
    margin-top: 40px;
  }
  .group-box .group-inner > div{
    border-radius: 26px;
    font-size: 1.8rem;
    margin: 10px auto 0;
    padding: 10px;
    width: 87.5989%;
  }
  .group-box .group-inner > div:before{
    margin-right: 10px;
    height: 13px;
    width: 12px;
  }
}
@media screen and (max-width: 780px) {
  #group-sec .strategy-grandchild-ttl{
    margin-top: 60px;
  }
  .group-box{
    padding: 5%;
    margin-top: 50px;
  }
  .group-inner{
    padding: 5%;
  }
  .group-box .group-inner{
    width: 780px;
  }
  .group-box .group-inner > p{
    font-size: 1.4rem;
    margin-top: 40px;
  }
  .group-box .group-inner > div{
    border-radius: 26px;
    font-size: 1.8rem;
    margin: 10px auto 0;
    padding: 10px;
    width: 87.5989%;
  }
  .group-box .group-inner > div:before{
    margin-right: 10px;
    height: 13px;
    width: 12px;
  }
}



#review-sec{
  background-color: #FFF;
  width: 100%;
  position: relative;
}
#review-sec:before{
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  display: block;
  height: 100vh;
  width: 100%;
  position: sticky;
  left: 0;
  top: 0;
  z-index: 0;
}
.review-head{
  display: flex;
  flex-direction: column;
  align-items: center;
}
.review-head h2{
  background-color: #FFF;
  font-weight: 700;
  text-align: center;
}

#review-sec .strategy-grandchild-sec{
  background-color: #FDFDF5;
}

.data-box1 h4,
.data-box2 h4{
  font-weight: 700;
  text-align: center;
}
.data-box1{
  background-color: #E8F6FF;
}
.data-box1 h4{
  background-color: #B5BBFA;
}
.data-box2{
  background-color: #FDEDF3;
}
.data-box2 h4{
  background-color: #F0A6C0;
}
.data-box2 p{
  border: 1px solid #F55E93;
  background-color: #FFF;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
@media print, screen and (min-width:781px) {
  #review-sec{
    margin-top: 150px;
  }
  #review-sec:before{
    background-image: url("../img/bg_main2.png");
  }
  .review-inner{
    padding: 150px 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
  .review-contents{
    margin-left: auto;
    margin-right: auto;
    max-width: 1088px;
    width: 90%;
  }
  .review-head{
    margin-bottom: 95px;
  }
  .review-head h2{
    font-size: 2.4rem;
    padding: 30px;
    width: 55.147%;
  }
  .review-head p{
    margin-top: 50px;
    width: 66.17647%;
  }
  #review-sec .strategy-grandchild-sec{
    border-radius: 40px;
  }
  
  
  .review-sec1 .image{
    margin-top: 100px;
  }
  .review-sec2 .image{
    margin-top: 40px;
  }
  .review-sec3 .image{
    margin-top: 100px;
  }
  
  .data-box1,
  .data-box2{
    padding: 0 5% 5%;
  }
  .data-box1 h4,
  .data-box2 h4{
    font-size: 1.6rem;
    margin-left: auto;
    margin-right: auto;
    width: 240px;
  }
  .data-box1{
    margin-top: 100px;
  }
  .data-box2{
    margin-top: 20px;
  }
  .data-box2 p{
    font-size: 2.0rem;
    margin-top: 25px;
    padding: 45px 20px;
  }
}
@media screen and (max-width: 780px) {
  #review-sec{
    margin-top: 75px;
  }
  #review-sec:before{
    background-image: url("../img/bg_main2_sp.png");
  }
  
  .review-inner{
    padding: 40px 0 60px;
    position: absolute;
    top: 0;
    width: 100%;
  }
  .review-contents{
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  .review-head{
    margin-bottom: 65px;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  .review-head h2{
    font-size: min(3.8vw,1.5rem);
    margin-left: auto;
    margin-right: auto;
    padding: 25px 15px;
    width: 76.923%;
  }
  .review-head p{
    font-size: min(3.3vw,1.3rem);
    margin-top: 40px;
  }
  #review-sec .strategy-grandchild-sec{
    border-radius: 20px;
  }
  
  
  .review-sec1 .image{
    margin-top: 35px;
  }
  .review-sec2 .image{
    margin-top: 15px;
  }
  .review-sec3 .image{
    margin-top: 50px;
  }
  .review-sec3 .image img{
    min-width: 665px;
  }
  
  .data-box1,
  .data-box2{
    padding: 0 5% 5%;
  }
  .data-box1 h4,
  .data-box2 h4{
    font-size: min(2.8vw,1.1rem);
    margin-left: auto;
    margin-right: auto;
    width: 58.6%;
  }
  .data-box1{
    margin-top: 35px;
  }
  .data-box2{
    margin-top: 20px;
  }
  .data-box2 p{
    font-size: min(3.0vw,1.2rem);
    margin-top: 15px;
    padding: 35px 15px;
  }
  .review-sec2 .strategy-grandchild-ttl{
    margin-top: 60px;
  }
  .review-sec3 .strategy-grandchild-ttl{
    margin-top: 60px;
  }
}
