@narset "UTF-8";

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}
html {
    scroll-behavior: smooth;
}
body{;
  /*  position: relative;*/
  background-color: #fff;
}
header{
  background-color: #ce7cce;
  text-align: center;
  border-bottom: solid 3px #f2f1e8;
}
header h1{
  font-size: 22px;
  color: #fffafa;
  text-align: center;
  line-height: 40px;
  font-family: "Poiret One", sans-serif;
  font-weight: 400;
  font-style: normal;
  padding: 5px 0;
}
header h1 span{
  font-size: 35px;
  color: #fffafa;
  letter-spacing: 5px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

hr.Horizon{
  background-color: #ce7cce;
  height: 5px;
  margin-block-start:0;
  margin-block-end: 0;
  border-width:0;
}
.box_wrap{
    width: 30%;
    display: inline-block;
    float: left;
    margin-right: 3%;
}
.box_wrap:nth-of-type(3n){
  margin-right: 0;
}
.into img{
  width: 50%;
  margin-right: 30px;
}
.into{
  max-width: 1000px;
  margin: auto;
  padding-bottom: 80px;
  display: flex;
}
.document{
  width: 50%;
  margin: auto;
}

main h2{
  font-size: 25px;
  color: #9b8821;
  margin-bottom: 38px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
}
main h4.title{
  font-size: 25px;
  margin-bottom: 50px;
}
.document p{
  text-align: left;
}

main .title{
  text-align: center;
  font-size: 60px;
  color: #9b8821;
  font-family: "Poiret One", sans-serif;
  font-weight: 400;
  font-style: normal;
/*  margin-bottom: 60px;*/
}

main .subtitle{
  text-align: center;
  font-size: 18px;
  margin-bottom: 30px;
  color: #9b8821;
  font-family: "Poiret One", sans-serif;
  font-weight: 400;
  font-style: normal;
}
main .heading_hr{
  align-items: center; /* 横線を上下中央 */
  display: flex; /* 文字と横線を横並び */
  justify-content: center;
}
main .heading_hr::before,main .heading_hr::after{
   background-color: #bfad4d; /* 横線の色 */
  content: "";
  height: 5px; /* 横線の高さ */
  width: 60px; /* 横線の長さ */
}
main .heading_hr::before{
  margin-right: 15px;
}
main .heading_hr::after{
  margin-left: 15px;
}
h4{
  text-align: center;
}
main{
  padding: 80px 0 0 ;
  background: #f2f1e8;
}

main #work{
  width: 100%;
    display: flex;
    margin: 0 auto;
    flex-wrap: wrap;
    padding: 0 30px;
}

main .box{
 width: 100%;
    /* height: 210px; */
    background: url(img/bg_flame.png) no-repeat;
    background-size:contain;
    /* padding: 30px; */
    /* margin-right: 20px; */
    margin-bottom: 155px;
    /* float: left; */
    position: relative;
    aspect-ratio: 2 / 1;
}
  main .box:nth-of-type(3n){
  margin-right: 0;
}
.zoom_box{
  /*width: 420px;
    margin: 0 auto;*/
    /* overflow: hidden; */
    height: 210px;
    aspect-ratio: 2;
/*    vertical-align: text-bottom;*/
    vertical-align: -webkit-baseline-middle;
    width: 85%;
    height: auto;
    position: relative;
    margin-bottom: 20px;
}
.scroll-space{
  box-sizing: border-box;
/*  height: 1600px;*/
  overflow: hidden;
}
.fadein {
  opacity: 0;
  transform: translate(0,0);
  transition: all 1.5s;
}
.fadein.fadein-bottom{
  transform: translate(0,30px);
}
.fadein.fadein-left{
      transform: translate(-30px,0);
  }
 .fadein.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }

.zoom_box img{
  transition:1s all;
  width: 100%;
    height: auto;
    position: absolute;
    top: 26.5px;
    left: 30px;
}
.zoom_box img:hover{
  transform:scale(1.2,1.2);
  transition:1s all;
}
.caption{
  padding: 30px;
}
.caption p{
  font-size: 0.75rem;
}
main .raberu{
  left: 120px;
  width: 200px;
  padding: 15px;
  box-shadow: 2px 2px 15px -5px #737373;
  background: #fff;
  margin: auto;
  background-image: url("img/label_bg.jpg");
  background-size: contain;
}

main .raberu h3{
  line-height: 1.5;
}
main h3{
  text-align: center;
  padding-bottom: 15px;
  border-bottom: solid 2px #9b8821;
}
main p{
  text-align: center;
  padding-top: 10px;
  margin: 15px 0;
}

main p.subtitle{
  padding-top: 0;
  margin-bottom: 60px;
}
main .banner{
  max-width: 100%;
  display: block;
  padding: 50px 0;
  margin-top: 80px;
  background-color: #cdcbb9;
}
main .sub_banner{
  width: 700px;
  margin: 0 auto;
  display: flex;
}
.sub_banner a{
  width: 45%;
}
.sub_banner a:nth-child(2){
margin-left: 10%;
}
.list{
   text-align: center;
   margin: 10px 0 20px 0;
}
.list ul{
   text-align: left;
  list-style: none;
  display: table;
  margin: 0 auto;
}
li{
  
}
main #review a{
    text-decoration: none;
    color: #000;
   padding: 5px;
}
main #review{
  align-items: center;
  margin: 0 auto;
 width: 366px;
 padding-bottom: 10px;
}
main .button{
  background: burlywood;
  padding: 15px;
  margin-bottom: 15px;
}
main .button:last-of-type{
  margin-bottom: 0;
}
main .button h3.heading{
  text-align: center;
  font-size: 20px;
}
main .button p{
  font-size: 12px;
}
/*#box::after{
width: 500px;
height: 500px;
content:"";
background-image: url("img/bg_frame.jpg") ;
background-color: #ccc;
position: absolute;
z-index: -1;
}*/
footer {
  background-color: #000;
  width: 100%;
  height: 100px;
  color: #fff;
  display: table;

/* position: absolute;

bottom: 0;
left: 0;*/

}
footer p{
  text-align: center;
  margin-top: 20px;
  display: table-cell;
  vertical-align: middle;
}
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 2px #000;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #000;
    border-right: 3px solid #000;
    transform: translateY(20%) rotate(-45deg);
}
/*========= モーダル表示のためのCSS ===============*/

/*動画表示のモーダルの余白を変更したい場合*/
.modaal-video .modaal-inner-wrapper{
  padding:0;
}

/*モーダルのボタンの色を変更したい場合*/
.modaal-close:after, 
.modaal-close:before{
  background:#f00;  
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
  background:#666;
}
@media screen and (max-width: 480px) {
  .into {
    flex-wrap: wrap;
    padding: 0 20px 0 20px;
  }
  .into img{
    width: 100%;
  } 
  .document {
    width: 100%;
  }
  .list{
    padding: 0 20px 0 20px;
  }
  main #work{

  }
  .box_wrap {
    width: 100%;
  }
  .zoom_box img {
    top: 18.5px;
    left: 23px;
  }
  main #review{
    max-width: 300px;
    padding: 0 10px 10px 10px;
  }
}