@charset "UTF-8";
@-moz-document url-prefix() {}html {
  font-size: 10px;
}

body {
  overflow-x: hidden;
}

html,body,div,span,applet,object,iframe,
h1,h2,h3,h4,h5,h6,
p,blockquote,pre,a,abbr,
acronym,address,big,cite,code,del,dfn,em,
img,ins,kbd,q,s,samp,small,strike,strong,
sub,sup,tt,var,b,i,dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,table,caption,
tbody,tfoot,thead,tr,th,td,
article,aside,canvas,details,embed,figure,figcaption,
footer,header,hgroup,menu,nav,output,ruby,
section,summary,time,mark,audio,video{
  margin: 0;
  padding: 0;
  border: 0;
  font-family: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

.feature {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "minerva-modern", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", sans-serif;
  font-feature-settings: "palt";
  font-style: normal;
  font-weight: 400;
  margin: 0 auto 10vw;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.feature a {
  color: #000;
  transition: 0.5s;
  display: block;
  transform: none;
}
.feature a:hover {
  opacity: 0.6;
  text-decoration: none;
}

.feature .default-img {
  display: block;
  height: auto;
  width: 100%;
}

.l-container {
  width: 100%;
  overflow: hidden;
}

.feature #sp-only{
  display: none !important;
}

.feature .js-fade{
  opacity: 0;
  transform: translateY(4rem);
  transition: opacity 1.5s ease, transform 1.5s ease;
}

.feature .js-fade.active{
  opacity: 1;
  transform: translateY(0);
}

.feature .target[data-fade="fadeIn"] {
  opacity: 0;
  transition: opacity 1.2s ease;;
}
.feature .target[data-fade="fadeIn"][data-is-active="true"] {
  opacity: 1;
}

/* hero */

.feature .hero{
  margin: auto;
  width: 100%;
}

.feature .hero .hero__mv{
  margin: 0 auto;
  width: 1000px;
}

.feature .hero .hero__btn{
  margin: 85px auto 0;
  width: 320px;
}

.feature .hero .hero__campaign{
  background: #ffe6a980;
  margin: 70px auto 0;
  padding: 60px 0 70px;
  width: 100%;
}
.feature .hero .hero__campaign-ttl{
  background: #1A2580;
  border-radius: 2px;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  margin: 0 auto;
  padding: 2px 0 0;
  text-align: center;
  height: 23px;
  width: 110px;
}
.feature .hero .hero__campaign-day{
  color: #1A2580;
  font-size: 32px;
  letter-spacing: 0.035em;
  line-height: 1;
  margin: 34px auto 0;
  text-align: center;
  -webkit-text-stroke-width: 0.25px;
  -webkit-text-stroke-color: #1A2580;
  width: fit-content;
}
.feature .hero .hero__campaign-day span{
  font-size: 17px;
  letter-spacing: 0.025em;
  margin: 0 -6px 0 1px;
}
.feature .hero .hero__campaign-day span:nth-of-type(2){
  display: inline-block;
  font-size: 26px;
  margin: 0 -1px 0 1px;
  top: -4px;
  position: relative;
}
.feature .hero .hero__campaign-text{
  color: #1A2580;
  font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", sans-serif;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 2;
  margin: 32px auto 0;
  text-align: center;
}

/* sec */

.feature .section{
  position: relative;
  width: 100%;
}

.feature .section .inner{
  margin: auto;
  position: relative;
  width: 100%;
}

.feature .section .sec__look{
  display: flex;
  justify-content: space-between;
  margin: 0.71vw auto 0;
  width: 98.14vw;
}

.feature .section .sec__item{
  overflow: hidden;
  position: relative;
  height: 30vw;
  width: 24vw;
}
.feature .section .sec__item:hover{
  cursor: pointer;
}
.feature .section .sec__item .sec__item-img img{
  transition: all 0.7s 0s cubic-bezier(0.29, 0.83, 0.35, 1.02);
}
.feature .section .sec__item:hover .sec__item-img img{
  transform: scale(1.08, 1.06);
}

.feature .section .sec__plus{
  display: block;
  bottom: 0.86vw;
  right: 0.86vw;
  position: absolute;
  height: 1.79vw;
  width: 1.79vw;
}
.feature .section .sec__plus span{
  background: url("../img/plus.svg") center top / contain no-repeat;
  display: block;
  position: relative;
  transition: all 0.3s;
  height: 100%;
  width: 100%;
}
.feature .section .sec__item:hover .sec__plus span{
  transform: rotate(90deg);
}
/* .feature .section .sec__plus span::before,
.feature .section .sec__plus span::after{
  background: #1A2580;
  content: "";
  display: block;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  transition: all 0.3s;
  height: 100%;
  width: 0.14vw;
}
.feature .section .sec__plus span::after{
  height: 0.14vw;
  width: 100%;
}

.feature .section .sec__item:hover .sec__plus span::before,
.feature .section .sec__item:hover .sec__plus span::after{
  transform: rotate(90deg);
} */

.feature .section .sec__ttl{
  border-bottom: 4px solid #1A2580;
  color: #1A2580;
  font-weight: 700;
  font-size: 50px;
  left: 1px;
  letter-spacing: 0.07em;
  line-height: 1;
  margin: 0 auto;
  padding: 0 0 4px;
  position: relative;
  width: fit-content;
}

/* sec01 */

.feature .sec01{
  margin: 60px auto 0;
}

.feature .sec01 .look01{
  margin: 60px auto 0;
}

.feature .sec01 .sec__btn{
  margin: 85px auto 0;
  width: 260px;
}

/* sec02 */

.feature .sec02{
  margin: 100px auto 0;
}

.feature .sec02 .sec__box{
  background: rgb(255, 230, 169, 0.6);
  border: 2px solid #1A2580;
  border-radius: 6px;
  margin: 0 auto;
  padding: 53px 0 40px;
  width: 640px;
}

.feature .sec02 .sec__logo{
  margin: 0 auto;
  width: 225.3px;
}

.feature .sec02 .sec__text{
  color: #1A2580;
  font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", sans-serif;
  font-size: 15px;
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: center;
  margin: 32px auto 0;
}

.feature .sec02 .sec__img{
  margin: 40px auto 0;
  width: 360px;
}

.feature .sec02 .sec__price{
  font-family: "pragmatica", sans-serif;
  font-weight: 300;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.857;
  margin: 15px auto 0;
  text-align: center;
}

/* sec03 */

.feature .sec03{
  margin: 88px auto 0;
}

.feature .sec03 .sec__ttl{
  border: transparent;
  margin: 0 auto;
  padding: 0;
  width: 345px;
}

.feature .sec03 .sec__flex{
  display: flex;
  justify-content: space-between;
  margin: 70px auto 0;
  width: 1000px;
}

.feature .sec03 .sec__search{
  width: 240px;
}

.feature .sec03 .sec__search-btn{
  display: block;
  margin: 25px auto 0;
  width: 140px;
}

.feature .sec03 .sec__search:nth-of-type(4){
  margin: -30px 0 0;
}
.feature .sec03 .sec__search:nth-of-type(4) .sec__search-btn{
  margin: -4px auto 0;
}

.feature .sec03 .sec__btn{
  margin: 80px auto 0;
  width: 305px;
}

.feature .sec03 .sec__staff{
  color: #1A2580;
  font-family: "pragmatica", sans-serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 2;
  margin: 122px auto 0;
  text-align: center;
}

.feature .sec03 .sec__design{
  margin: 80px auto 0;
  width: 251.8px;
}

.feature .sec03 .sec__ttl{
  font-size: 28px;
  margin: 124px auto 0;
  width: fit-content;
}

.feature .sec03 .instagram-media{
  margin: 20px auto 0 !important;
}

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

  .feature .hero .hero__mv{
    width: 71.429vw;
  }

  .feature .hero .hero__btn{
    margin: 6.07vw auto 0;
    width: 22.857vw;
  }

  .feature .hero .hero__campaign{
    margin: 5vw auto 0;
    padding: 4.286vw 0 5vw;
  }
  .feature .hero .hero__campaign-ttl{
    border-radius: 0.143vw;
    font-size: 1.143vw;
    padding: 0.143vw 0 0;
    height: 1.643vw;
    width: 7.857vw;
  }
  .feature .hero .hero__campaign-day{
    font-size: 2.286vw;;
    margin: 2.43vw auto 0;
    -webkit-text-stroke-width: 0.018vw;
  }
  .feature .hero .hero__campaign-day span{
    font-size: 1.214vw;
    margin: 0 -0.429vw 0 0.071vw;
  }
  .feature .hero .hero__campaign-day span:nth-of-type(2){
    font-size: 1.857vw;
    margin: 0 -0.071vw 0 0.071vw;
    top: -0.286vw;
  }
  .feature .hero .hero__campaign-text{
    font-size: 1.071vw;
    letter-spacing: 0.05em;
    margin: 2.29vw auto 0;
  }

  .feature .section .sec__ttl{
    border-bottom: 0.29vw solid #1A2580;
    font-size: 3.571vw;
    left: 0.071vw;
    padding: 0 0 0.286vw;
  }

  /* sec01 */

  .feature .sec01{
    margin: 4.29vw auto 0;
  }

  .feature .sec01 .look01{
    margin: 4.29vw auto 0;
  }

  .feature .sec01 .sec__btn{
    margin: 6.07vw auto 0;
    width: 18.571vw;
  }

  /* sec02 */

  .feature .sec02{
    margin: 7.14vw auto 0;
  }

  .feature .sec02 .sec__box{
    border: 0.14vw solid #1A2580;
    border-radius: 0.429vw;
    padding: 3.786vw 0 2.857vw;
    width: 45.714vw;
  }

  .feature .sec02 .sec__logo{
    width: 16.093vw;
  }

  .feature .sec02 .sec__text{
    font-size: 1.071vw;
    margin: 2.29vw auto 0;
  }

  .feature .sec02 .sec__img{
    margin: 2.86vw auto 0;
    width: 25.714vw;
  }

  .feature .sec02 .sec__price{
    font-size: 1vw;
    margin: 1.07vw auto 0;
  }

  /* sec03 */

  .feature .sec03{
    margin: 6.29vw auto 0;
  }

  .feature .sec03 .sec__ttl{
    border: transparent;
    left: 0;
    padding: 0;
    width: 24.64vw;
  }

  .feature .sec03 .sec__flex{
    margin: 5vw auto 0;
    width: 71.429vw;
  }

  .feature .sec03 .sec__search{
    width: 17.143vw;
  }

  .feature .sec03 .sec__search-btn{
    margin: 1.79vw auto 0;
    width: 10vw;
  }

  .feature .sec03 .sec__search:nth-of-type(4){
    margin: -2.143vw 0 0;
  }
  .feature .sec03 .sec__search:nth-of-type(4) .sec__search-btn{
    margin: -0.29vw auto 0;
  }

  .feature .sec03 .sec__btn{
    margin: 5.71vw auto 0;
    width: 21.786vw;
  }

  .feature .sec03 .sec__staff{
    font-size: 1vw;
    margin: 8.71vw auto 0;
  }

  .feature .sec03 .sec__design{
    margin: 5.71vw auto 0;
    width: 17.986vw;
  }
}

.l-footer{
  padding: 0;
}
.pc-footer{
  margin: 0;
}