@charset "UTF-8";

/* ボタンリセット */
.ui-checkboxradio-label{ display:none; }
.vdiffjs-container > .toolbar-container > .compare-methods-selecter-container > .compare-methods-additional-setting-container{ padding:0; }

/* 共通 */
.section01{
  width:72.857em;
  margin:0 auto;
}

.archive02 h2,
.archive03 h2,
.archive04 h2{
  margin:0 0 30px;
  text-align:center;
  font-size:2.6rem;
  font-weight:700;
  color:#ac5f54;
}

/* キービジュアル */
.f_hero.-digital{
  background:url("../img/digital/bg01.jpg") no-repeat center center / cover #000;
  text-shadow:0 0 10px rgba(0,0,0,0.8);
}

/* archive01 */
.archive01{
  max-width:61.143em;
  margin:0 auto;
  text-align:center;
  padding:70px 0 0;
  position:relative;
}
.archive01::before{
  width:14.929em;
  aspect-ratio:418 / 644;
  content:"";
  background:url(../img/common/petal01.png) no-repeat 0 0 / 100% auto;
  position:absolute;
  top:50px;
  left:-26%;
}
.archive01 h2{
  max-width: 57.143em;
  display:inline-block;
  margin:0 0 50px;
  font-size:2.8rem;
  font-weight:700;
  color:#5c4b61;
  position:relative;
}
.archive01 h2::before,
.archive01 h2::after{
  width:1em;
  height:1em;
  content:"";
  display:block;
  background:url("../img/digital/ico01.svg") no-repeat 0 0 / 100% auto;
  position:absolute;
  top:-20px;
  left:-40px;
}
.archive01 h2::after{
  transform:rotate(180deg);
  top:auto;
  left:auto;
  right:-40px;
  bottom:-20px;
}
.archive01 p{
  text-align:justify;
  font-size:1.7rem;
  line-height:1.6;
}

/* archive02 */
.archive02{
  margin:90px 0 0;
  position:relative;
}
.archive02::before{
  width:14.929em;
  aspect-ratio:352 / 483;
  content:"";
  background:url(../img/common/petal02.png) no-repeat 0 0 / 100% auto;
  position:absolute;
  top:0;
  right:-209px;
}
.archive02 ul{
  display:flex;
  flex-wrap:wrap;
  gap:0 20px;
  padding:50px 40px;
  background:#fff;
}
.archive02 ul li{
  flex:1;
  gap:0 20px;
  border:#D5D6D6 1px solid;
  position:relative;
}
.archive02 ul li::before,
.archive02 ul li::after{
  width:1.857em;
  height:1.857em;
  content:"";
  display:block;
  background:url("../img/digital/ico01.svg") no-repeat 0 0 / 100% auto;
  position:absolute;
  top:-10px;
  left:-10px;
}
.archive02 ul li::after{
  transform:rotate(180deg);
  top:auto;
  left:auto;
  right:-10px;
  bottom:-10px;
}
.archive02 ul li a{
  display:table;
  padding:20px;
}
.archive02 ul li a figure{
  width:40%;
  display:table-cell;
}
.archive02 ul li a .txtarea{
  width:60%;
  display:table-cell;
  padding:0 0 0 22px;
  box-sizing:border-box;
  vertical-align:middle;
}
.archive02 ul li a .txtarea h3{
  margin:0 0 10px;
  font-size:2rem;
  font-weight:600;
}
.archive02 ul li a .txtarea p{
  font-size:1.7rem;
}

/* archive03 */
.archive03{
  margin:90px 0 0;
  position:relative;
}
.archive03::before{
  width:14.929em;
  aspect-ratio:428 / 517;
  content:"";
  background:url(../img/common/petal03.png) no-repeat 0 0 / 100% auto;
  position:absolute;
  top:0;
  left:-209px;
}
.archive03 ul{
  display:flex;
  flex-wrap:wrap;
  margin:50px 0 0;
}
.archive03 ul li{
  width:25%;
}
.archive03 ul li a{
  width:100%;
  height:100%;
  display:block;
  font-size:1.8rem;
  font-weight:600;
  color:#fff;
  position:relative;
}
.archive03 ul li a::after{
  width:100%;
  height:100%;
  content:"";
  background:rgba(0,0,0,0.1);
  position:absolute;
  top:0;
  left:0;
}
.archive03 ul li a img{
  width:100%;
  aspect-ratio:255 / 370;
  object-fit:cover;
}
.archive03 ul li a p{
  width:100%;
  min-height:5em;
  padding:15px;
  text-shadow:0 0 5px rgba(0,0,0,0.7);
  position:absolute;
  left:0;
  bottom:0;
  z-index:5;
   background-color: rgba(0,0,0,0.7);
   min-height: 100px;
}

@media screen and (max-width: 767px) {
.archive03 ul li a p{
   min-height: 12vw;
}
}

/* archive04 */
.archive04{
  margin:90px 0 90px;
  position:relative;
}
.archive04::before{
  width:14.929em;
  aspect-ratio:270 / 369;
  content:"";
  background:url(../img/common/petal04.png) no-repeat 0 0 / 100% auto;
  position:absolute;
  top:0;
  right:-209px;
}
.archive04 ul{
  display:flex;
  flex-wrap:wrap;
  gap:30px 30px;
  padding:50px 40px;
  background:#fff;
}
.archive04 ul li{
  width:32em;
}
.archive04 ul li h3{
  margin:20px 0 5px;
  font-size:1.6rem;
  font-weight:600;
}

@media screen and (min-width:768px) {
  .archive02 ul li,
  .archive03 ul li{
    transition:opacity 0.2s;
  }
  .archive02 ul li:hover,
  .archive03 ul li:hover{
    opacity:0.8;
  }
}

/* SPのみ */
@media screen and (max-width:767px) {
  
  /* 共通 */
  .section01{
    width:auto;
  }

  .archive02 h2,
  .archive03 h2,
  .archive04 h2{
    margin:0 0 20px;
    font-size:2rem;
  }
  
  .archive01::before,
  .archive02::before,
  .archive03::before,
  .archive04::before{
    display:none;
  }
  
  /* キービジュアル */
  .f_hero.-digital{
    background-size:150% auto;
  }
  
  /* archive01 */
  .archive01{
    padding:50px 0 0;
  }
  .archive01 h2{
    max-width:90%;
    margin:0 0 30px;
    font-size:2.1rem;
  }
  .archive01 h2::before{
    top:-17px;
    left:-27px;
  }
  .archive01 h2::after{
    bottom:-17px;
    right:-27px;
  }
  
  /* archive02 */
  .archive02{
    margin:50px -15px 0;
  }
  .archive02 ul{
    padding:20px 15px;
    gap:15px 0;
  }
  .archive02 ul li{
    width:100%;
    flex:none;
  }
  .archive02 ul li a{
    padding:10px;
  }
  .archive02 ul li a .txtarea{
    padding:0 0 0 10px;
  }
  .archive02 ul li a .txtarea h3{
    font-size:1.8rem;
  }
  .archive02 ul li a .txtarea p{
    font-size:1.5rem;
  }
  
  /* archive03 */
  .archive03{
    margin:50px 0 0;
  }
  .archive03 ul{
    margin:0;
  }
  .archive03 ul li{
    width:100%;
  }
  .archive03 ul li a img{
    aspect-ratio: 4 / 2.5;
  }
  .archive03 ul li a p{
    padding:10px;
  }
  
  /* archive04 */
  .archive04{
    margin:50px -15px;
  }
  .archive04 ul{
    padding:20px 15px;
  }

}
