﻿@charset "UTF-8";

.merit {
  font-size:16px;
}

.merit figure {
  position: relative;
}
.merit figcaption {
  font-size:10px;
  position: absolute;
  bottom:1em;
  left:1em;
}
.merit figcaption.tx_c_wht {
  color: #fff;
  text-shadow: 1px 1px 2px rgba(0 0 0 / .7), 0 0 2px rgba(0 0 0 / .7), -1px -1px 2px rgba(0 0 0 / .7);
}


.ttl-style-01:before {
  background: linear-gradient(to right, #8E2916, #8E2916 20px, transparent 20px, transparent 40px, #8E2916 40px, #8E2916 60px, transparent 60px, transparent 80px, #8E2916 80px, #8E2916 100px, transparent 100px);
}
@media screen and (max-width: 619px) {
  .ttl-style-01:before {
    background: linear-gradient(to right, #8E2916, #8E2916 10px, transparent 10px, transparent 20px, #8E2916 20px, #8E2916 30px, transparent 30px, transparent 40px, #8E2916 40px, #8E2916 50px);
  }
}
#mainvisual {
  background: url("../img/merit/merit_bg_img00.png")no-repeat center / cover;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: -1;
  overflow: hidden;
}
#mainvisual .kvWrap {
  width: 100vw;
  height: 56.25vw;
  overflow: hidden;
  position: relative;
  z-index: 1000;
}
#mainvisual .kvWrap:after {
  display: block;
  content: '';
  width: 100%;
  height: 56.25vw;
  background: #c3cdd3;
  mix-blend-mode: multiply;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1001;
  opacity: 0;
}
/*body.movieEnd #mainvisual .kvWrap #player,
body.movieEnd #mainvisual .kvWrap h2,*/
body.movieEnd #mainvisual .kvWrap .img-caps .pc {
  /*transition: 1s;*/
  opacity: 0;
}
#mainvisual h2 {
  color: #fff;
  font-size: 66px;
  font-weight: normal;
  text-align: center;
  letter-spacing: 0.1em;
  text-shadow: 0 0 20px rgba(0,0,0,0.4),0 0 20px rgba(0,0,0,0.4);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4em;
  z-index: 1002;
  opacity: 1;
  transition: 0.4s;
}
/*body.movieStart #mainvisual h2 {*/
body.movieEnd #mainvisual h2 {
  bottom: 4em;
  transition: 1s;
  opacity: 1;
}
body #mainvisual h2:after {
  display: block;
  content: 'Merit';
  color: #dddbda;
  font-size: 180px;
  font-family: 'EB Garamond', serif;
  text-shadow: none;
  line-height: 1;
  letter-spacing: 0;
  position: absolute;
  right: auto;
  left: 0.25em;
  bottom: 4em;
  z-index: 0;
  opacity: 1;
}
#mainvisual h2 .sp01 {
  font-size: 150%;
}
#mainvisual .img-caps {
  color: #fff;
  font-size: 10px;
  line-height: 1;
  letter-spacing: .1em;
  text-shadow: 0 0 4px black;
  padding: 5px 5px 6px 6px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
body.movieEnd #mainvisual .kvWrap:after {
  transition: 1s;
  opacity: 0;
}

#mainvisual h2.nonActive {opacity: 0;}

#freeArea {
  padding: 56.25vw 0 0;
}
#freeArea .box01 {
  padding: 70px 20px;
  background: rgba(255,255,255,0.7);
  position: relative;
  z-index: 3;
}
#freeArea .box01 .txt01 {
  font-size: 20px;
  text-align: center;
  letter-spacing: 0.1em;
}
#freeArea .box01 .txt01:before {
  background: url("../img/merit/merit_img01_pc.svg")no-repeat center / contain;
}
#freeArea .box01 .txt01 small {
  display: block;
  font-size: 11px;
}
#freeArea .box02 {
  padding: 100px 20px 130px;
  overflow: hidden;
  position: relative;
}
#freeArea .box02:after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background: url(../img/merit/merit_bg_img01.png) no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  opacity: 0.75;
}
#freeArea .box02 h3 {
  font-size: 36px;
  text-align: center;
  line-height: 1;
  max-width: 1400px;
  margin: 0 auto;
  position: relative;
}
#freeArea .box02 h3::before,
#freeArea .box02 h3::after {
  display: inline-block;
  content: '';
  width: calc(50% - 5em);
  height: 1em;
  mix-blend-mode: darken;
  position: absolute;
  bottom: 0;
}
#freeArea .box02 h3::before {
  left: 0;
  background: url("../img/merit/merit_img02_pc.svg")no-repeat left/contain;
}
#freeArea .box02 h3::after {
  right: 0;
  background: url("../img/merit/merit_img03_pc.svg")no-repeat right/contain;
}
#freeArea .box02 .inner {
  max-width: 1400px;
  margin: 4em auto 0;
  padding: 50px 75px;
  box-sizing: border-box;
  background: #fff;
}
#freeArea .box02 .inner .txtWrap01 {
  text-align: center;
  padding-bottom: 6em;
  position: relative;
}
#freeArea .box02 .inner .txtWrap01 .txt01 {
  font-size: 30px;
  line-height: 1.5;
}
#freeArea .box02 .inner .txtWrap01 .txt02 {
  line-height: 2.5;
  letter-spacing: 0.1em;
}
#freeArea .box02 .inner .txtWrap01 .txt02:before {
  background: url("../img/merit/merit_img01_pc.svg")no-repeat center / contain;
}
#freeArea .box02 .inner ul {}
#freeArea .box02 .inner ul li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: flex-start;
}

#freeArea .box02 .inner ul li + li::before {
  display: inline-block;
  content: '';
  height: 1px;
  width: 100%;
  margin: 3em 0;
  background: url(../img/merit/merit_img04_pc.svg) repeat-x center / contain;
}
#freeArea .box02 .inner ul li figure {
  width: 49%;
  position: relative;
}


#freeArea .box02 .inner ul li figure figcaption {
}
#freeArea .box02 .inner ul li figure figcaption.fix01 {
  color: #251e1c;
  text-shadow: none;
}
#freeArea .box02 .inner ul li .txtWrap10 {
  width: 49%;
}
#freeArea .box02 .inner ul li .txtWrap10 .txt10 {
  font-size: 26px;
  padding: 10px 25px 5px;
  background: linear-gradient(to right,#ece093,transparent);
}
#freeArea .box02 .inner ul li .txtWrap10 .txt11 {
  padding: 30px 25px 0;
  line-height: 2.4;
}
#freeArea .box02 .inner ul li .txtWrap10 .txt11 small {
  font-size:.8em
}
#freeArea .box02 .inner01 + .inner01 {
  margin-top: 6em;
}
#caption {
  margin: 0 auto;
  padding: 60px 20px;
  max-width: 100%;
  background: #fff;
  position: relative;
  z-index: 4;
}
#caption .caption {
  margin: 0 auto;
  padding: 0;
  max-width: 1400px;
}
#caption .caption + .caption {
  margin-top: 2em;
}

/*====== ADD SETTING ======*/
#freeArea .box02 .inner ul li .summary {
  width: 49%;
}
#freeArea .box02 .inner ul li .summary .txt10 {
  font-size: 26px;
  padding: 10px 25px 5px;
  background: linear-gradient(to right,#ece093,transparent);
}
#freeArea .box02 .inner ul li .summary .txt11 {
  padding: 30px 25px 0;
  line-height: 2.4;
}
#freeArea .box02 .inner ul li .thumb_wrap {margin-top: 2em;}
#freeArea .box02 .inner ul li .thumb_wrap ul {
  display: flex;
  gap: 16px;
}
#freeArea .box02 .inner ul li .thumb_wrap li {
display: block;
}
#freeArea .box02 .inner ul li .thumb_wrap li + li::before {
  display: none;
}
#freeArea .box02 .inner ul li .thumb_wrap figure {
  width: 100%;
  position: relative;
}
#freeArea .box02 .inner ul li.full .txtWrap10 {
  width: 100%;
}
#freeArea .box02 .inner ul li.full .equipment_wrap {
  display: flex;
  flex-flow: column wrap;
  gap: 48px;
  margin-top: 2em;
}
#freeArea .box02 .inner ul li.full .equipment_item {
  width: 100%;
}
#freeArea .box02 .inner ul li.full .equipment_item .summary {
  width: 100%;
}
#freeArea .box02 .inner ul li.full .equipment_item figure {
  margin-bottom: 1em;
  width: 100%;
}
#freeArea .box02 .inner ul li.full .equipment_wrap .subttl {
  color: #978949;
  font-size: 1.8rem;
  border-bottom: 1px solid #978949;
  margin-bottom: .5em;
}
#freeArea .box02 .inner ul li.full .equipment_item .equiplead {
  line-height: 2.4;
}
#freeArea .box02 .inner ul li.full .equipment_item.flex {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}
#freeArea .box02 .inner ul li.full .equipment_item.flex .summary {width: 60%;}
#freeArea .box02 .inner ul li.full .equipment_item.flex figure {width: 36%;}

.merit figcaption.tx_out {
  position: relative;
  bottom: auto;
  left: auto;
  margin-top: .5em;
  font-size: 16px;
  text-align: center;
}
.merit figcaption.tx_out span {
  display: block;
  font-size: 12px;
}
.merit figcaption.tx_out.cap {
  margin-top: 0;
  font-size: 10px;
  text-align: left;
}

#freeArea .cta_wrap {
  background: #002662;
  padding: 64px 0;
  position: relative;
}
#freeArea .cta_wrap a {
  background: #978949;
  display: block;
  margin: auto;
  width: 320px;
  color: #fff;
  font-size: 20px;
  line-height: 3;
  text-align: center;
  transition: .3s all;
}
#freeArea .cta_wrap a:hover {
  background: #7a6c3a;
}


/* @media
 * ========================================================================== */
@media screen and (max-width: 1600px) {
  #mainvisual h2 {
    font-size: 48px;
  }

}

@media screen and (max-width: 1300px) {
}

@media screen and (max-width: 1200px) {
  #mainvisual {
    top: 0;
  }
  #mainvisual h2 {
    font-size: 38px;
  }
  body #mainvisual h2:after {
    font-size: 120px;
    bottom: 0.35em;
  }
}

@media screen and (max-width: 950px) {
  #mainvisual h2 {
    font-size: 30px;
  }
  #freeArea .box01 .txt01 {
    font-size: 16px;
  }
  #freeArea .box02 .inner {
    margin-top: 2em;
    padding: 50px 25px;
  }
  #freeArea .box02 .inner .txtWrap01 {
    padding-bottom: 3em;
  }
  #freeArea .box02 .inner ul li + li::before {
    margin: 2em 0;
  }
}

@media screen and (max-width: 800px) {
  #mainvisual h2 {
    line-height: 1.25;
    bottom: 0;
  }
  body.movieStart #mainvisual h2 {
    bottom: 0.5em;
  }
  #mainvisual h2 br {
    display: block;
  }
}

@media screen and (min-width: 620px) {
}
@media screen and (max-width: 619px) {
 #mainvisual .kvWrap h2,
 #mainvisual .kvWrap .img-caps .pc {
   opacity: 0;
 }
 body.movieEnd #mainvisual h2 {
   font-size: 24px;
   bottom: 0.5em;
   opacity: 1;
 }
 body.movieEnd #mainvisual h2:after {
   font-size: 60px;
   left: auto;
   right: 0.25em;
   bottom: 0.5em;
 }

  #freeArea .box01 {
    padding: 40px 20px 20px;
    background: #fff;
  }
  #freeArea .box01 .txt01 {
  } 
  #freeArea .box01 .txt01 small {
    line-height: 1.5;
    text-align: left;
    white-space: normal;
    margin-top: 2em;
  } 
  #freeArea .box02 {
    padding: 40px 20px 30px;
  }
  #freeArea .box02 h3 {
    font-size: 24px;
  }
  #freeArea .box02 h3::before,
  #freeArea .box02 h3::after {
    display: none;
  }
  #freeArea .box02 .inner {
    margin: 1.5em auto 0;
    padding: 20px;
  }
  #freeArea .box02 .inner .txtWrap01 {
    padding-bottom: 1em;
  }
  #freeArea .box02 .inner .txtWrap01 .txt01 {
    font-size: 20px;
  }
  #freeArea .box02 .inner .txtWrap01 .txt02 {
    letter-spacing: 0;
  }
  #freeArea .box02 .inner .txtWrap01 .txt02:before {
    margin: 1em auto;
  }
  #freeArea .box02 .inner ul li {
  }
  #freeArea .box02 .inner ul li + li::before {
    margin: 1em 0 2em;
  }
  #freeArea .box02 .inner ul li figure {
    width: 100%;
  }
  #freeArea .box02 .inner ul li .txtWrap10 {
    width: 100%;
  }
  #freeArea .box02 .inner ul li .txtWrap10 .txt10 {
    font-size: 18px;
    line-height: 1.5;
    padding: 10px 10px 7px;
    margin-top: 10px;
  }
  #freeArea .box02 .inner ul li .txtWrap10 .txt11 {
    font-size: 15px;
    line-height: 2.5;
    padding: 10px 0;
  }
  #freeArea .box02 .inner01 + .inner01 {
    margin-top: 2em;
  }

  /*====== ADD SETTING ======*/
#freeArea .box02 .inner ul li .summary {width: 100%;}
#freeArea .box02 .inner ul li .summary .txt10 {
    font-size: 18px;
    line-height: 1.5;
    padding: 10px 10px 7px;
    margin-top: 10px;
}
#freeArea .box02 .inner ul li .summary .txt11 {
    font-size: 15px;
    line-height: 2.5;
    padding: 10px 0;
}
#freeArea .box02 .inner ul li .thumb_wrap {margin-top: 1em;}
#freeArea .box02 .inner ul li .thumb_wrap ul {flex-wrap: wrap;}
#freeArea .box02 .inner ul li .thumb_wrap li {width: calc((100% - 16px)/2);}

#freeArea .box02 .inner ul li.full .equipment_wrap {margin-top: 1em;}
#freeArea .box02 .inner ul li.full .equipment_item.flex {flex-flow: column wrap;}
#freeArea .box02 .inner ul li.full .equipment_item.flex .summary {
  order: 2;
  width: 100%;
}
#freeArea .box02 .inner ul li.full .equipment_item.flex figure {
  order: 1;
  width: 100%;
}

#freeArea .box02 .inner ul li.full .equipment_item .equiplead {
  font-size: 15px;
  line-height: 2.5;
}

.merit figcaption.tx_out {font-size: 14px;}
.merit figcaption.tx_out span {font-size: 10px;}

#freeArea .cta_wrap {
  padding: 48px 0;
}
#freeArea .cta_wrap a {
  font-size: 18px;
  line-height: 3;
}
}

.lp_merit {
  margin-bottom: -80px;
}

.lp_merit .visible_sp {
  display: none;
}
.lp_merit .visible_pc {
  display: block;
}

@media screen and (max-width: 800px) {
.lp_merit .visible_sp {
  display: block;
}
.lp_merit .visible_pc {
  display: none;
}
}