@charset "utf-8";
p, span {
  color: #333333;
  font-family: "Noto Serif JP", YakuHanMP, "Hiragino Mincho ProN", "Yu Mincho", YuMincho, serif;
}
.img{
  font-size:0;
}
.main_visual{
  padding-top:100px;
}
.mv_wrap {
  position: relative;
}
.mv_wrap .caption {
  font-size: 12px;
  letter-spacing: -0.1em;
  line-height: 1;
  font-weight: 400;
  position: absolute;
  bottom:0;
  right:0;
  margin:5px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}
.mv_wrap .caption.wh {
  color: #fff;
  display:none;
}

@media screen and (max-width: 768px) {
  .mv_wrap .caption {
    font-size: 2.604vw;
    margin:0.625vw;
    bottom:64.818%;
  }
  .mv_wrap .caption.wh {
    display:block;
    bottom:0;
  }
}

.intro_wrap{
  display:flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  padding:11.905% 0;
  position: relative;
  width:100%;
  padding-right:calc((100% - 1280px) / 2);
  box-sizing: border-box;
}
.intro_img_wrap{
  flex: 1 1 auto;
  display:flex;
  gap:0.429%;
  width:78.716%;
}
.intro_img_box{
  width:49.7855%;
}
.intro_img_box:nth-child(n+2){
  margin-top:16.652%;
}
.intro_img_box .img:nth-child(n+2){
  margin-top:0.862%;
}
.intro_txt{
  width:21.284%;
  flex-shrink: 0;
}
.intro_txt source,
.intro_txt img{
  display:block;
  width:54.603%;
  margin-left:auto;
}
.tab_wrap{
  max-width:1320px;
  padding:0 20px 4.643%;
  box-sizing: border-box;
  margin:0 auto;
}
.tab_wrap .ttl_img{
  width:74.531%;
  margin:0 auto 3.359%;
}
.tabblk{
  width:100%;
  display:flex;
  flex-wrap: wrap;
  gap:1.5625%;
}
.tabblk a{
  display:block;
  width:49.21875%;
}
.tabblk a:nth-child(n+3){
  margin-top:1.5625%;
}

@media screen and (max-width: 768px) {
  .intro_wrap{
    display:block;
    padding:18.229% 0;
  }
  .intro_img_wrap{
    display:flex;
    gap:0.565%;
    width:92.188%;
    margin:0 auto;
  }
  .intro_img_box{
    width:49.7175%;
  }
  .intro_img_box:nth-child(n+2){
    margin-top:16.525%;
  }
  .intro_img_box .img:nth-child(n+2){
    margin-top:1.133%;
  }
  .intro_txt{
    width:100%;
    margin-bottom:10.807%;
  }
  .intro_txt source,
  .intro_txt img{
    width:79.948%;
    margin:0 auto;
  }
  .tab_wrap{
    width:100%;
    max-width:inherit;
    padding:0 0 10.417%;
    margin:0 auto;
  }
  .tab_wrap .ttl_img{
    width:78.125%;
    margin:0 auto 6.901%;
  }
  .tabblk{
    width:92.188%;
    display:block;
    gap:0;
    margin:0 auto;
  }
  .tabblk a{
    width:100%;
  }
  .tabblk a:nth-child(2),
  .tabblk a:nth-child(n+3){
    margin-top:2.825%;
  }
}

#merit01,
#merit02,
#merit03,
#merit04{
  padding-top:100px;
  margin-top:-60px;
}
#merit01{
  margin-top:-100px;
}
.merit_wrap{
  width:100%;
  background-color:#e5f4fb;
  padding:5.952% 20px;
  box-sizing: border-box;
}
.inner_merit_wrap{
  max-width:1280px;
  margin:0 auto;
}
.merit_box{
  width:100%;
  background-color:#fff;
  box-sizing: border-box;
  padding:4.6875%;
}
.inner_merit_box{
  width:100%;
  display:flex;
  align-items: center;
  gap:5.172%;
}
.inner_merit_box.rev{
  flex-direction: row-reverse;
}
.inner_merit_box .img{
  width:49.138%;
  position: relative;
}
.inner_merit_box .img_wrap .img:nth-child(n+2){
  margin-top:1.6194%;
}
.inner_merit_box .img .cap{
  position: absolute;
  bottom:0;
  right:0;
  font-size:12px;
  line-height: 1;
  margin:5px;
  color:#fff;
}
.inner_merit_box .img .cap.bk{
  color:#000;
}
.inner_merit_box .txt_wrap{
  width:45.69%;
  flex-shrink: 0;
}
.inner_merit_box .txt_wrap .ttl_img{
  width:100%;
  border-bottom:1px solid #378eb6;
  margin-bottom:3.396%;
}
.inner_merit_box .txt_wrap .ttl_img::after{
  content:'';
  display: block;
  width:100%;
  height:1px;
  background-color:#378eb6;
  margin:4.906% 0 0.566%;
}
.box03 .inner_merit_box .img_wrap{
  width:57.5%;
  display:flex;
  gap:0.5997%;
}
.box03 .inner_merit_box .img_wrap .img{
  width:62.369%;
}
.box03 .inner_merit_box .img_wrap .inner_img_box{
  width:37.0313%;
}
.box03 .inner_merit_box .img_wrap .inner_img_box .img{
  width:100%;
}
.box03 .inner_merit_box .txt_wrap{
  width:37.328%;
}
.box01 .inner_merit_box .txt_wrap .ttl_img img{
  max-width:485px;
  width:91.509%;
}
.box02 .inner_merit_box .txt_wrap .ttl_img img{
  max-width:470px;
  width:88.679%;
}
.box03 .inner_merit_box .txt_wrap .ttl_img img{
  max-width:381px;
  width:87.991%;
}
.box04 .inner_merit_box .txt_wrap .ttl_img img{
  max-width:475px;
  width:89.623%;
}
.inner_merit_box .txt_wrap .txt{
  font-size:16px;
  line-height: 2.188;
  letter-spacing: -0.08em;
  color:#222;
}
.inner_merit_box .txt_wrap .btn{
  width:99.057%;
  height:80px;
  margin:3.774% auto 0;
  overflow: hidden;
}
.inner_merit_box .txt_wrap .btn a{
  display:block;
  width:100%;
  height:100%;
  background-color:#378eb6;
  border-radius: 40px;
  box-sizing: border-box;
  text-align: center;
  font-size:20px;
  line-height: 80px;
  color:#fff;
  position: relative;
}
.inner_merit_box .txt_wrap .btn a::after{
  content:'';
  display:inline-block;
  width:29px;
  height:10px;
  background: url("../img/merit/arrow_pc.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top:50%;
  right:4.762%;
  transform: translate(0,-50%);
}
.inner_merit_box + .img{
  margin-top:2.586%;
}
.outro_wrap{
  text-align: center;
  width:100%;
  height:auto;
  background: url("../img/merit/bg_outro_pc.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  padding:100px 0;
}
.outro_wrap .txt{
  font-size:34px;
  color:#fff;
  line-height: 1;
}
.outro_wrap .txt span{
  font-size:27px;
  display:block;
  color:inherit;
  line-height: 1;
  margin-bottom:17px;
}
.outro_wrap .txt strong{
  font-size:56px;
  font-weight: normal;
  display:block;
  color:inherit;
  line-height: 1;
  margin-top:18px;
}
.outro_wrap .btn{
  width:400px;
  height:80px;
  margin:60px auto 0;
  overflow: hidden;
}
.outro_wrap .btn a{
  display:block;
  width:100%;
  height:100%;
  background-color:#378eb6;
  border-radius: 40px;
  box-sizing: border-box;
  text-align: center;
  font-size:20px;
  line-height: 80px;
  color:#fff;
  position: relative;
}
.outro_wrap .btn a::after{
  content:'';
  display:inline-block;
  width:29px;
  height:10px;
  background: url("../img/merit/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top:50%;
  right:6.5%;
  transform: translate(0,-50%);
}

@media screen and (max-width: 1000px) {
  .inner_merit_box .txt_wrap .btn a{
    font-size:2vw;
  }
  .inner_merit_box .txt_wrap .btn a::after{
    width:2.9vw;
    height:1vw;
  }
}

@media screen and (max-width: 768px) {
  #merit01,
  #merit02,
  #merit03,
  #merit04{
    padding-top:16.276vw;
    margin-top:-12.37vw;
  }
  #merit01{
    margin-top:-16.276vw;
  }
  .merit_wrap{
    width:100%;
    padding:10.417vw 0;
  }
  .inner_merit_wrap{
    width:92.188%;
    max-width:inherit;
    margin:0 auto;
  }
  .merit_box{
    padding:6.51vw 7.062%;
  }
  .inner_merit_box{
    display:block;
    gap:0;
  }
  .inner_merit_box.rev{
    flex-direction: row;
  }
  .inner_merit_box .img{
    width:100%;
  }
  .inner_merit_box > .img{
    margin-top:3.906vw;
  }
  .box01 .inner_merit_box > .img{
    margin-top:6.51vw;
  }
  .inner_merit_box .img_wrap .img:nth-child(n+2){
    margin-top:0;
  }
  .inner_merit_box .img .cap{
    font-size:2.604vw;
    margin:0.651vw;
  }
  .inner_merit_box .txt_wrap{
    width:100%;
  }
  .inner_merit_box .txt_wrap .ttl_img{
    margin-bottom:3.516vw;
  }
  .inner_merit_box .txt_wrap .ttl_img::after{
    margin:4.948vw 0 0.391vw;
  }
  .box03 .inner_merit_box .img_wrap{
    width:100%;
    display:flex;
    flex-wrap: wrap;
    gap:0;
    margin-top:3.906vw;
  }
  .box03 .inner_merit_box .img_wrap .img{
    width:100%;
  }
  .box03 .inner_merit_box .img_wrap .inner_img_box{
    width:100%;
    display:flex;
    align-items: center;
    justify-content: space-between;
    margin-top:0.658%;
  }
  .box03 .inner_merit_box .img_wrap .inner_img_box .img{
    width:49.671%;
  }
  .box03 .inner_merit_box .txt_wrap{
    width:100%;
  }
  .box01 .inner_merit_box .txt_wrap .ttl_img img{
    max-width:inherit;
    width:84.868%;
  }
  .box02 .inner_merit_box .txt_wrap .ttl_img img{
    max-width:inherit;
    width:82.072%;
  }
  .box03 .inner_merit_box .txt_wrap .ttl_img img{
    max-width:inherit;
    width:66.612%;
  }
  .box04 .inner_merit_box .txt_wrap .ttl_img img{
    max-width:inherit;
    width:83.224%;
  }
  .inner_merit_box .txt_wrap .txt{
    font-size:3.385vw;
    line-height: 2;
    letter-spacing: -0.06em;
  }
  .inner_merit_box .txt_wrap .btn{
    width:100%;
    height:11.719vw;
    margin:2.604vw auto 0;
  }
  .inner_merit_box .txt_wrap .btn a{
    border-radius: 5.859vw;
    font-size:3.385vw;
    line-height: 11.719vw;
  }
  .inner_merit_box .txt_wrap .btn a::after{
    width:3.125vw;
    height:1.042vw;
    right:4.112%;
    background: url("../img/merit/arrow_sp.svg");
    background-size: contain;
    background-repeat: no-repeat;
  }
  .inner_merit_box + .img{
    margin-top:5.208vw;
  }
  .outro_wrap{
    background: url("../img/merit/bg_outro_sp.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    padding:10.667% 0 11.719%;
  }
  .outro_wrap .txt{
    font-size:5.729vw;
  }
  .outro_wrap .txt span{
    font-size:4.167vw;
    margin-bottom:3.255vw;
  }
  .outro_wrap .txt strong{
    font-size:9.896vw;
    line-height:1.105;
    margin-top:1.693vw;
  }
  .outro_wrap .btn{
    width:65.104%;
    height:11.719vw;
    margin:7.161vw auto 0;
  }
  .outro_wrap .btn a{
    border-radius: 5.859vw;
    font-size:3.385vw;
    line-height: 11.719vw;
  }
  .outro_wrap .btn a::after{
    width:3.125vw;
    height:1.042vw;
    background: url("../img/merit/arrow_sp.svg");
    background-size: contain;
    background-repeat: no-repeat;
    right:4.8%;
  }
}

.captionArea .caption{
  font-family: JP_Noto, 'Zen Kaku Gothic New', sans-serif;
}
