@charset "UTF-8";

:root {
  --media_pc: 1680; /* VW計算用 calc(vw / var(--media_pc)) */
  --media_sp: 750;
}

p,span{color:#1e1e1e;}
picture{display:block;}
.img{position:relative;font-size:0;}
p {
  font-family: YakuHanMP,'Zen Old Mincho', serif;
}

.kv-wrap{
  width: 100%;
  margin-top:122px;
}
.kv-wrap{
  display:block;
  position:relative;
}
.kv-wrap .kv-ttl{
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
  font-family: "OptimaLTPro-Roman";
  font-size:100px;
  color:#fff;
  white-space: nowrap;
}
.kv-wrap .kv-cap{
  position:absolute;
  bottom:0;
  right:0;
  margin:5px;
  font-size:12px;
  color:#fff;
  text-shadow: 1px 1px 20px #333;
}

.img .cap {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 5px;
  font-size: 12px;
  color: #fff;
  text-shadow: 1px 1px 20px #333;
  /*font-family: 'Noto Sans JP', sans-serif;*/
}

@media screen and (max-width: 1366px) {
  .kv-wrap{
    margin-top:8.931vw;
  }
  .kv-wrap .kv-ttl{
    font-size:7.321vw;
  }
  .kv-wrap .kv-cap{
    margin:0.366vw;
    font-size:0.878vw;
  }
}

@media screen and (max-width: 768px) {
  .kv-wrap{
    margin-top:16.276vw;
  }
  .kv-wrap .kv-ttl{
    font-size:11.467vw;
  }
  .kv-wrap .kv-cap{
    margin:0.667vw 1.333vw;
    font-size:2.667vw;
  }
  .img .cap {
    font-size: 2.666vw; 
  }
}

.contents_wrap{
  width:100%;
}
.intro_wrap{
  text-align: center;
  padding:110px 60px 75px;
  box-sizing: border-box;
}
.i_ttl{
  font-size:36px;
  line-height: 1;
  letter-spacing: 0.15em;
  margin-bottom: 37px;
}
.i_txt{
  font-size:18px;
  line-height: 1;
  letter-spacing: 0.06em;
}

@media screen and (max-width: 768px) {
  .intro_wrap{
    padding: calc(80 / var(--media_sp) * 100vw) 0 0;
  }
  .i_ttl{
    font-size: calc(44 / var(--media_sp) * 100vw);
    line-height: 1.832;
    letter-spacing: 0.1em;
    margin-bottom: calc(30 / var(--media_sp) * 100vw);
  }
  .i_txt{
    font-size: calc(26 / var(--media_sp) * 100vw);
    line-height: 2.077;
  }
}

.tab_wrap{
  width:100%;
  text-align: center;
  padding:0 0 90px;
}
.tab_wrap .btn_wrap{
  display:flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
}
.tab_wrap .btn_wrap .btn_box{
  width:275px;
  margin:0 27px;
}
.tab_wrap .btn_wrap .btn_box a{
  display: block;
  position: relative;
}
.tab_wrap .btn_wrap .btn_box a::after{
  content:'';
  display: block;
  width:272px;
  height:32px;
  background: url("../img/merit/tab_shadow.png") no-repeat;
  background-size: contain;
  position: relative;
  top:-32px;
}
.tab_wrap .btn_wrap .btn_box a .img{
  font-size:0;
  overflow: hidden;
  position: relative;
}
.tab_wrap .btn_wrap .btn_box a .img .tab_txt{
  position: absolute;
  top:50px;
  left:0;
  width:100%;
  font-size:19px;
  line-height:1.768;
  letter-spacing: 0;
  color:#fff;
}
.tab_wrap .btn_wrap .btn_box a .img .tab_txt.ls04{
  letter-spacing: -0.04em;
}
.tab_wrap .btn_wrap .btn_box a .btn_txt{
  font-size:51px;
  font-family: "OptimaLTPro-Roman";
  line-height:1;
  letter-spacing: 0.055em;
  margin-bottom:9px;
  color:#006e83;
}
.tab_wrap .btn_wrap .btn_box.box02 a .btn_txt{
  color:#089ad0;
}
.tab_wrap .btn_wrap .btn_box.box03 a .btn_txt{
  color:#3d4492;
}
.tab_wrap .btn_wrap .btn_box.box04 a .btn_txt{
  color:#1fa092;
}
.tab_wrap .btn_wrap .btn_box a .btn_txt span{
  font-size:15px;
  font-weight: 400;
  font-family: "OptimaLTPro-Roman";
  display:block;
  line-height:1;
  letter-spacing: 0.055em;
  color:inherit;
  margin-bottom:7px;
}
.btn_arrow{
  display:inline-block;
  width:80px;
  height:80px;
  background: url("../img/merit/tab_arrow01.png") no-repeat;
  background-size: contain;
  position: relative;
  top:-40px;
}
.box02 .btn_arrow{
  background: url("../img/merit/tab_arrow02.png") no-repeat;
  background-size: contain;
}
.box03 .btn_arrow{
  background: url("../img/merit/tab_arrow03.png") no-repeat;
  background-size: contain;
}
.box04 .btn_arrow{
  background: url("../img/merit/tab_arrow04.png") no-repeat;
  background-size: contain;
}


@media screen and (max-width: 768px) {
  .tab_wrap{
    padding: calc(45 / var(--media_sp) * 100vw) 0 calc(40 / var(--media_sp) * 100vw);
  }
  .tab_wrap .btn_wrap{
    width:100%;
  }
  .tab_wrap .btn_wrap .btn_box{
    width: calc(308 / var(--media_sp) * 100vw);
    margin:0 calc(17 / var(--media_sp) * 100vw);
  }
  .tab_wrap .btn_wrap .btn_box a::after{
    display:none;
  }
  .tab_wrap .btn_wrap .btn_box a .img .tab_txt{
    top: calc(65 / var(--media_sp) * 100vw);
    font-size: calc(22 / var(--media_sp) * 100vw);
    line-height:1.68;
  }
  .tab_wrap .btn_wrap .btn_box a .btn_txt{
    position: absolute;
    top: calc(25 / var(--media_sp) * 100vw);
    left:50%;
    transform: translateX(-50%);
    font-size: calc(36 / var(--media_sp) * 100vw);
    margin-bottom:0;
    color:#ffffbb;
    z-index: 1;
  }
  .tab_wrap .btn_wrap .btn_box.box02 a .btn_txt{
    color:#ffffbb;
  }
  .tab_wrap .btn_wrap .btn_box.box03 a .btn_txt{
    color:#ffffbb;
  }
  .tab_wrap .btn_wrap .btn_box.box04 a .btn_txt{
    color:#ffffbb;
  }
  .tab_wrap .btn_wrap .btn_box a .btn_txt span{
    display:none;
  }
  .btn_arrow{
    width: calc(72 / var(--media_sp) * 100vw);
    height: calc(72 / var(--media_sp) * 100vw);
    top: calc(-40 / var(--media_sp) * 100vw);
  }
}

.merit_wrap{
  width:100%;
}
.inner_merit_wrap{
  width:100%;
  background-color:#ecf4f6;
  padding:150px 0 200px;
  box-sizing: border-box;
  position: relative;
}
.inner_merit_wrap.merit02{
  background-color:#eaf6fb;
}
.inner_merit_wrap.merit03{
  background-color:#f3f2f7;
}
.inner_merit_wrap.merit04{
  background-color:#f1f9f8;
}
.inner_merit_wrap::before{
  content:'';
  display:block;
  position: absolute;
  top:0;
  right:0;
  width:99.167%;
  height:0;
  padding-bottom:65.606%;
  background: url('../img/merit/bg_merit01_pc.png');
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 100%;
}
.inner_merit_wrap.merit02::before{
  width:98.155%;
  padding-bottom:66.646%;
  right:auto;
  left:0;
  background: url('../img/merit/bg_merit02_pc.png');
  background-repeat: no-repeat;
  background-position: top left;
  background-size: 100%;
}
.inner_merit_wrap.merit03::before{
  width:99.167%;
  padding-bottom:65.606%;
  background: url('../img/merit/bg_merit03_pc.png');
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 100%;
}
.inner_merit_wrap.merit04::before{
  width:98.155%;
  padding-bottom:66.646%;
  right:auto;
  left:0;
  background: url('../img/merit/bg_merit04_pc.png');
  background-repeat: no-repeat;
  background-position: top left;
  background-size: 100%;
}
.inner_merit_wrap::after{
  content:'';
  display:block;
  position: absolute;
  bottom:0;
  left:0;
  width:100%;
  height:0;
  padding-bottom:31.131%;
  background: url('../img/merit/bg_under_pc.png');
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 100%;
}
.merit_txt_wrap{
  width:1280px;
  margin:0 auto 60px;
  display:flex;
  justify-content: flex-end;
  position: relative;
  z-index: 1;
}
.merit_txt_wrap.rev{
  flex-direction: row-reverse;
}
.merit_txt_wrap .num_wrap{
  width:495px;
}
.merit_txt_wrap .num_wrap .num{
  font-size:189px;
  line-height:1;
  letter-spacing: 0.055em;
  font-family: "OptimaLTPro-Roman";
  text-align: center;
  color:#006e83;
  padding-top:15px;
}
.merit02 .merit_txt_wrap .num_wrap .num{
  color:#089ad0;
}
.merit03 .merit_txt_wrap .num_wrap .num{
  color:#3d4492;
}
.merit04 .merit_txt_wrap .num_wrap .num{
  color:#1fa092;
}
.merit_txt_wrap .num_wrap .num span{
  font-size:41px;
  line-height:1;
  letter-spacing: 0.18em;
  margin-bottom: 42px;
  font-family: "OptimaLTPro-Roman";
  color:inherit;
  display:block;
}
.merit_txt_wrap .inner_merit_txt_wrap{
  width:785px;
}
.merit_txt_wrap .inner_merit_txt_wrap .merit_ttl{
  font-size:40px;
  line-height:1.6;
  margin-bottom:13px;
  letter-spacing: 0.05em;
}
.merit_txt_wrap .inner_merit_txt_wrap .merit_ttl.ls02{
  letter-spacing: -0.02em;
}
.merit_txt_wrap .inner_merit_txt_wrap .merit_txt{
  font-size:16px;
  line-height:2.375;
  letter-spacing: 0.02em;
}
.merit_txt_wrap .inner_merit_txt_wrap .merit_txt.ls03{
  letter-spacing: -0.03em;
}
.merit_txt_wrap .inner_merit_txt_wrap .merit_txt.ls035{
  letter-spacing: -0.035em;
}
.merit_img_wrap{
  width:1280px;
  margin:0 auto;
  display:flex;
  flex-wrap: wrap;
  gap:0.156%;
  position: relative;
  z-index: 1;
}
.merit_img_wrap .img{
  width:49.922%;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
}
.merit_img_wrap .img:first-child{
  border-radius: 100px 0 0 0;
}
.merit_img_wrap .img:last-child{
  border-radius: 0 0 100px 0;
}
.merit_img_wrap .img:nth-child(n+3){
  margin-top: 0.156%;
}
.merit_img_wrap .img .cap{
  position: absolute;
  bottom:0;
  left:0;
  margin:5px;
  font-size:12px;
  color:#fff;
  text-shadow: 1px 1px 20px #333, 1px 1px 20px #333;
}
.merit03_img_wrap{
  width:1280px;
  padding:155px 196px 130px 115px;
  margin:0 auto;
  box-sizing: border-box;
  background-color:#fff;
  border-radius: 100px 0 100px 0;
  position: relative;
  z-index: 1;
}
.merit03_img_wrap .img{
  width:969px;
}
.merit04_inner_wrap{
  width:1280px;
  padding:100px 130px 180px;
  margin:0 auto;
  box-sizing: border-box;
  background-color:#fff;
  border-radius: 100px 0 100px 0;
  position: relative;
  z-index: 1;
}
.ttl_bubble{
  font-size:27px;
  color:#fff;
  letter-spacing: 0.1em;
  text-align: center;
  background-color:#1fa092;
  width:100%;
  height:70px;
  line-height:70px;
  margin-bottom: 50px;
  position: relative;
}
.ttl_bubble span{
  font-size:inherit;
  color:inherit;
}
.ttl_bubble::after{
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%,0);
  border: 13px solid transparent;
  border-top: 13px solid #1fa092;
}
.inner02 .ttl_bubble{
  margin-bottom: 30px;
}
.conjunction{
  text-align: center;
  font-size:32px;
  line-height:1;
  color:#1fa092;
  letter-spacing: 0.1em;
  margin:25px 0;
}
.inner02 .conjunction{
  margin:3px 0 35px;
}
.conjunction::before,
.conjunction::after{
  content:'';
  display:block;
  width:2px;
  height:21px;
  background: url("../img/merit/ico_3ten.png") no-repeat;
  background-size: 100%;
  margin:0 auto;
}
.conjunction::before{
  margin-bottom:13px;
}
.conjunction::after{
  margin-top:15px;
}
.zeh-m_wrap{
  width:1020px;
  height:0;
  padding-bottom: 16.029%;
  text-align: center;
  background: url("../img/merit/bg_zeh-m_pc.png") no-repeat;
  background-size: 100%;
}
.zeh-m_wrap .zeh-m-txt{
  font-size:22px;
  line-height:1;
  letter-spacing: 0.02em;
}
.zeh-m_wrap .zeh-m-txt strong{
  font-size:40px;
  line-height:1;
  font-weight: normal;
  color:#b39872;
  letter-spacing: 0.02em;
  margin:23px 0 30px;
  display:block;
}
.inner02 .cap{
  font-size:12px;
  line-height:1.667;
  letter-spacing: -0.02em;
  margin-top:13px;
}
.inner02 .color_txt{
  font-size:22px;
  line-height:1;
  letter-spacing: 0.05em;
  color:#1fa092;
  margin:55px 0 20px;
  text-align: center;
}
.s_btn{
  width: 607px;
  height: 105px;
  margin:-55px auto 0;
  position: relative;
  z-index: 1;
}
.s_btn a{
  line-height: 105px;
  text-align: center;
  font-size: 27px;
  color: #fff;
  background-color: #1fa092;
  border-radius: 40px 0 0 0;
  box-sizing: border-box;
  display: block;
  position: relative;
}
.s_btn a::after{
  content:'';
  display:block;
  width:56px;
  height:16px;
  background: url("../img/merit/arrow_w.svg") no-repeat;
  background-size: 100%;
  position: absolute;
  top:47%;
  right:45px;
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .inner_merit_wrap{
    padding: calc(80 / var(--media_sp) * 100vw) 0 calc(130 / var(--media_sp) * 100vw);
  }
  .inner_merit_wrap::before{
    width:99.333%;
    padding-bottom:65.369%;
    background: url('../img/merit/bg_merit01_sp.png');
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 100%;
  }
  .inner_merit_wrap.merit02::before{
    width:98.133%;
    padding-bottom:66.712%;
    background: url('../img/merit/bg_merit02_sp.png');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: 100%;
  }
  .inner_merit_wrap.merit03::before{
    width:99.333%;
    padding-bottom:65.369%;
    background: url('../img/merit/bg_merit03_sp.png');
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 100%;
  }
  .inner_merit_wrap.merit04::before{
    width:97.467%;
    padding-bottom:66.484%;
    background: url('../img/merit/bg_merit04_sp.png');
    background-repeat: no-repeat;
    background-position: top left;
    background-size: 100%;
  }
  .inner_merit_wrap::after{
    padding-bottom:31.067%;
    background: url('../img/merit/bg_under_sp.png');
    background-repeat: no-repeat;
    background-position: bottom left;
    background-size: 100%;
  }
  .merit_txt_wrap{
    width:100%;
    margin:0 auto calc(55 / var(--media_sp) * 100vw);
    display:block;
  }
  .merit_txt_wrap .num_wrap{
    width:100%;
    margin-bottom: calc(30 / var(--media_sp) * 100vw);
  }
  .merit_txt_wrap .num_wrap .num{
    font-size: calc(95 / var(--media_sp) * 100vw);
    padding-top:0;
  }
  .merit_txt_wrap .num_wrap .num span{
    font-size: calc(26 / var(--media_sp) * 100vw);
    margin-bottom: calc(12 / var(--media_sp) * 100vw);
  }
  .merit_txt_wrap .inner_merit_txt_wrap{
    width:100%;
  }
  .merit_txt_wrap .inner_merit_txt_wrap .merit_ttl{
    font-size: calc(32 / var(--media_sp) * 100vw);
    line-height:1.761;
    margin-bottom: calc(30 / var(--media_sp) * 100vw);
    letter-spacing: 0.08em;
    text-align: center;
  }
  .merit_txt_wrap .inner_merit_txt_wrap .merit_ttl.ls02{
    letter-spacing: -0.02em;
  }
  .merit_txt_wrap .inner_merit_txt_wrap .merit_txt{
    width:90%;
    margin:0 auto;
    font-size: calc(26 / var(--media_sp) * 100vw);
    line-height:2;
    text-align: justify;
  }
  .merit_txt_wrap .inner_merit_txt_wrap .merit_txt.ls03{
    letter-spacing: -0.02em;
  }
  .merit_txt_wrap .inner_merit_txt_wrap .merit_txt.ls035{
    letter-spacing: 0;
  }
  .merit_img_wrap{
    width:86.8%;
    gap:0.461%;
  }
  .merit_img_wrap .img{
    width:100%;
  }
  .merit_img_wrap .img:first-child{
    border-radius: calc(95 / var(--media_sp) * 100vw) 0 0 0;
    order:1;
  }
  .merit_img_wrap .img:nth-child(2){
    width:50.077%;
    order:2;
  }
  .merit_img_wrap .img:nth-child(3){
    order:4;
    border-radius: 0 0 calc(95 / var(--media_sp) * 100vw) 0;
  }
  .merit_img_wrap .img:last-child{
    width:49.462%;
    order:3;
    border-radius: 0;
  }
  .merit02 .merit_img_wrap .img:first-child{
    border-radius: 0 0 calc(95 / var(--media_sp) * 100vw) 0;
    order:4;
    margin-top: 0.461%;
  }
  .merit02 .merit_img_wrap .img:nth-child(2){
    border-radius: calc(95 / var(--media_sp) * 100vw) 0 0 0;
    width:100%;
    order:1;
    margin-top: 0;
  }
  .merit02 .merit_img_wrap .img:nth-child(3){
    width:50.077%;
    order:2;
    border-radius: 0;
  }
  .merit02 .merit_img_wrap .img:last-child{
    width:49.462%;
    order:3;
    border-radius: 0;
  }
  .merit_img_wrap .img:nth-child(n+3){
    margin-top: 0.461%;
  }
  .merit_img_wrap .img:nth-child(n+2){
    margin-top: 0.461%;
  }
  .merit_img_wrap .img .cap{
    margin: calc(5 / var(--media_sp) * 100vw);
    font-size: calc(18 / var(--media_sp) * 100vw);
    text-shadow: 1px 1px calc(20 / var(--media_sp) * 100vw) #333, 1px 1px calc(20 / var(--media_sp) * 100vw) #333;
    letter-spacing: -0.02em;
  }
  .merit_img_wrap .img .cap.ls08{
    letter-spacing: -0.08em;
  }
  .merit03_img_wrap{
    width:86.667%;
    padding: calc(85 / var(--media_sp) * 100vw) 5.867% calc(80 / var(--media_sp) * 100vw) 3.671%;
    border-radius: calc(95 / var(--media_sp) * 100vw) 0 calc(95 / var(--media_sp) * 100vw) 0;
  }
  .merit03_img_wrap .img{
    width:100%;
  }
  .merit04_inner_wrap{
    width:86.667%;
    padding:calc(70 / var(--media_sp) * 100vw) 9.231% calc(75 / var(--media_sp) * 100vw);
    border-radius: calc(95 / var(--media_sp) * 100vw) 0 calc(95 / var(--media_sp) * 100vw) 0;
  }
  .ttl_bubble{
    font-size: calc(25 / var(--media_sp) * 100vw);
    letter-spacing: -0.02em;
    height: calc(70 / var(--media_sp) * 100vw);
    line-height: calc(70 / var(--media_sp) * 100vw);
    margin:0 auto calc(50 / var(--media_sp) * 100vw);
  }
  .ttl_bubble::after{
    border: calc(16 / var(--media_sp) * 100vw) solid transparent;
    border-top: calc(16 / var(--media_sp) * 100vw) solid #1fa092;
  }
  .inner02 .ttl_bubble{
    margin-bottom: calc(45 / var(--media_sp) * 100vw);
    letter-spacing: -0.12em;
  }
  .inner02 .ttl_bubble.ls22{
    letter-spacing: -0.22em;
  }
  .ttl_bubble span{
    letter-spacing: -0.1em;
  }
  .conjunction{
    font-size: calc(32 / var(--media_sp) * 100vw);
    letter-spacing: 0.105em;
    margin: calc(20 / var(--media_sp) * 100vw) 0;
  }
  .inner02 .conjunction{
    margin:calc(45 / var(--media_sp) * 100vw) 0 calc(32 / var(--media_sp) * 100vw);
  }
  .conjunction::before,
  .conjunction::after{
    width:calc(3 / var(--media_sp) * 100vw);
    height:calc(22 / var(--media_sp) * 100vw);
  }
  .conjunction::before{
    margin-bottom: calc(13 / var(--media_sp) * 100vw);
  }
  .conjunction::after{
    margin-top: calc(15 / var(--media_sp) * 100vw);
  }
  .zeh-m_wrap{
    width:86.604%;
    margin:0 auto;
    padding-bottom: calc(320 / var(--media_sp) * 100vw);
    background: url("../img/merit/bg_zeh-m_sp.png") no-repeat;
    background-size: 100%;
    background-position: center calc(63 / var(--media_sp) * 100vw);
  }
  .zeh-m_wrap .zeh-m-txt{
    font-size: calc(22 / var(--media_sp) * 100vw);
    line-height: 1.867;
    letter-spacing: 0;
  }
  .zeh-m_wrap .zeh-m-txt strong{
    font-size: calc(40 / var(--media_sp) * 100vw);
    line-height:1.5;
    letter-spacing: 0;
    margin: calc(15 / var(--media_sp) * 100vw) 0 calc(20 / var(--media_sp) * 100vw);
  }
  .inner02 .cap{
    font-size: calc(18 / var(--media_sp) * 100vw);
    line-height:1.611;
    letter-spacing: -0.06em;
    margin-top: calc(12 / var(--media_sp) * 100vw);
  }
  .inner02 .color_txt{
    font-size: calc(22 / var(--media_sp) * 100vw);
    letter-spacing: 0.08em;
    margin: calc(55 / var(--media_sp) * 100vw) 0 calc(18 / var(--media_sp) * 100vw);
  }
  .s_btn{
    width: 65.333%;
    height: calc(105 / var(--media_sp) * 100vw);
    margin: calc(60 / var(--media_sp) * 100vw) auto 0;
  }
  .s_btn a{
    line-height: calc(105 / var(--media_sp) * 100vw);
    font-size: calc(27 / var(--media_sp) * 100vw);
    border-radius: calc(40 / var(--media_sp) * 100vw) 0 0 0;
    letter-spacing: -0.08em;
    padding-right: calc(65 / var(--media_sp) * 100vw);
  }
  .s_btn a::after{
    width: calc(56 / var(--media_sp) * 100vw);
    height: calc(16 / var(--media_sp) * 100vw);
    top:47%;
    right: calc(45 / var(--media_sp) * 100vw);
  }
}
