@charset "utf-8";

/*! destyle.css v3.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,::before,::after{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}[type="checkbox"]{-webkit-appearance:checkbox;appearance:checkbox}[type="radio"]{-webkit-appearance:radio;appearance:radio}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}button:disabled,[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}

/*
font-family: 'IBM Plex Sans JP', sans-serif;
font-family: 'Playfair Display', serif;
font-family: 'Sawarabi Mincho', serif;

*/
:root {
  --ggs: 0.8;
}
@media only screen and (max-width: 896px) {
  :root {
    --ggs: 0.5;
  }
}
.index-section{
  padding: 0;
}

.grecaptcha-badge {
  display: none;
}
html, body {
  font-family:'IBM Plex Sans JP', "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: 20px;
  line-height: 2;
  font-weight :500;
  letter-spacing: 0.05em;
  font-style: normal;
  color: #000;
  background: #b7d93d;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  min-height: 100%;
}
body.lang-jp .lang_jp{
  display: block;
}
body.lang-jp .lang_en{
  display: none;
}
body.lang-en .lang_jp{
  display: none;
}
body.lang-en .lang_en{
  display: block;
}
.pc_only {
  display: block;
}

.sp_only {
  display: none;
}

@media only screen and (max-width: 896px) {
  html, body {
    cursor: auto;
  }
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
  body.page {
    padding-top: 0vw;
  }
}

img {
  width: 100%;
  height: auto;
}

/* ::selection {
  background: #333333;
  color: #fff;
}

::-moz-selection {
  background: #ccc;
  color: #fff;
} */

@keyframes gradation_bg{
  0%{
    background-position: 250% 250%;
  }
  100%{
      background-position: 0% 0%;
  }
}
/*----------------------------------------------------
 swiper
--------------------------------------------------- */

.swiper-wrapper{transition-timing-function:ease; }
/*----------------------------------------------------
 link
--------------------------------------------------- */
a:link, a:visited, a:active {
  color: #b7d93d;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

a:hover {
  text-decoration: none;
}

/*----------------------------------------------------
 slick
--------------------------------------------------- */
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;top:0;left:0;display:block}.slick-track:before,.slick-track:after{display:table;content:''}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir='rtl'] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}.slick-prev{display:block;position:absolute;top:50%;z-index:10;border:none;text-indent:-9999px;cursor:pointer;-webkit-transition:all 0.5s 0s ease;transition:all 0.5s 0s ease;width:40px;height:40px;left:50%;margin-left:-540px}.slick-next{display:block;position:absolute;top:50%;z-index:10;border:none;text-indent:-9999px;cursor:pointer;-webkit-transition:all 0.5s 0s ease;transition:all 0.5s 0s ease;width:40px;height:40px;left:50%;margin-left:430px}.slide .slick-disabled{opacity:.2}@media only screen and (max-width:896px){.slide .slick-prev:hover{opacity:1}.slide .slick-next:hover{opacity:1}.slick-prev{top:50%;left:15px;margin-top:-15px;background-size:30px auto;width:30px;height:30px;z-index:10}.slick-next{top:50%;right:15px;margin-top:-15px;background-size:30px auto;width:30px;height:30px;z-index:10}.slick-prev:hover,.slick-next:hover{-webkit-transform:scale3d(1,1,1) translate(0,0) rotate(0deg);-moz-transform:scale3d(1,1,1) translate(0,0) rotate(0deg);-ms-transform:scale3d(1,1,1) translate(0,0) rotate(0deg);-o-transform:scale3d(1,1,1) translate(0,0) rotate(0deg);transform:scale3d(1,1,1) translate(0,0) rotate(0deg)}}

/*----------------------------------------------------
  .scrollview
--------------------------------------------------- */

.scrollview {
  opacity: 0;
  transform: scale(1, 1) translate(-0%, 20px);
  transition: all 0.6s 0s ease;
}

.scrollview.view {
  opacity: 1;
  transition: all 0.6s 0.1s ease;
  transform: scale(1, 1) translate(-0%, 0%);
}

/*----------------------------------------------------
  .lazyload
--------------------------------------------------- */
.lazyload_set span{
  opacity: 0;
}

.lazyload_set span.lazyloaded{
  opacity: 1;
  transition: all 0.5s 0s ease;
}

/*----------------------------------------------------
 loading
--------------------------------------------------- */

#loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  background:#FFF;
}
#loading img{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 326px;
  transform: translate(-50%, -50%);
}
#loading.out {
  opacity: 0;
  transition: all 0.8s 0s linear;
}
@media only screen and (max-width: 896px) {
  #loading img{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 230px;
    margin-left: 10px;
    transform: translate(-50%, -50%);
  }
}


/*----------------------------------------------------
  .wrapper
--------------------------------------------------- */

.wrapper {
  overflow: hidden;
  position: relative;
  transition: all 0.8s 0s ease;
  z-index: 3;
}
body.page .wrapper{
  padding-top: 80px;
} 
@media only screen and (max-width: 896px) {
  
  .wrapper {
    padding-left: 0px;
    padding-top: 0px;
  }
  body.page .wrapper{
    padding-top: 40px;
  } 
}

/*----------------------------------------------------
 block_header
--------------------------------------------------- */
.block_header{
  z-index: 10;
  position: fixed;
  top: 0;
  left: 50px;
  width:160px;
  height: 100%;
  background: #b7d93d;
  transition: all 0.5s 0s ease;
  
  box-shadow: 0px 10px 30px 0px rgb(51 51 51 / 10%);
}
.block_header .inner{
  line-height: 1;
  text-align: center;
}
.block_header .inner .logo{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color: #FFF;
  display: block;
  padding: 60px 0 0 65px;
  letter-spacing: 0.3em;
  font-size: 36px;
  font-weight: 700;
}
.block_header .inner .logo a{
}
.block_header .inner .en{
  position: absolute;
  top: 20px;
  left: 20px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 14px;
  letter-spacing: 0.05em;
  font-family: 'Playfair Display', serif;
  color: #667202;
}
@media only screen and (max-width: 896px) {
  .block_header{
    left: 10px;
    width:70px;
  }
  .block_header .inner{
  }
  .block_header .inner .logo{
    padding: 20px 0 0 32px;
    font-size: 18px;
  }
  .block_header .inner .logo a{
  }
  .block_header .inner .en{
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: 10px;
  }
}


/*----------------------------------------------------
 block_scroll
--------------------------------------------------- */
.block_scroll{
  text-align: center;
  position: fixed;
  bottom: 40px;
  right: 20px;
  font-size: 10px;

  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  transition: all 0.5s 0s ease;
  perspective: 500px;
  color: #b7d93d;
  z-index: 10;
}
.block_scroll a{
  display: block;
  background: #b7d93d;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  display: flex;
  flex-direction: row; /* row row-reverse column */
  justify-content: center; /* flex-start  center  space-between */
  align-items: center; /* flex-start  center  */
  color: #b7d93d;
  transform-style: preserve-3d;
  animation: rotate-anime-3d 3s cubic-bezier(0.875, 0.005, 0.090, 0.990) infinite;
}
.block_scroll span{
  transition: all 0.8s 0s cubic-bezier(0.875, 0.005, 0.090, 0.990);
}
body.page_scroll .block_scroll span{
  transform: scale3d(1, 1, 1) translate(0px, 0px) rotate(-180deg);
}
@keyframes rotate-anime-3d {
  0%  {transform: rotateY(0);}
  100%  {transform: rotateY(360deg);}
}
.block_scroll a svg{
  fill: #FFF;
}
@media only screen and (max-width: 896px) {
  .block_scroll{
    bottom: 10px;
    right: 10px;
    z-index: 10;
    font-size: 10px;
  }
  .block_scroll a{
    width: 50px;
    height: 50px;
  }
}

/*----------------------------------------------------
 block_mainvisual
--------------------------------------------------- */
.block_mainvisual {
  position: relative;
  height: 70vh;
  margin: 0 auto;
  margin-bottom: 80px;
}
.block_mainvisual figure{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.block_mainvisual figure span{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
}
.block_mainvisual figure span.lazyloaded{
  opacity: 1;
  transition: all 0.9s 0s ease;
}
@media only screen and (max-width: 896px) {
  .block_mainvisual {
    position: relative;
    height: 70vh;
    margin: 0 auto;
    margin-bottom: 40px;
  }
  .block_mainvisual figure{
  }
  .block_mainvisual figure span{
  }
}
/*----------------------------------------------------
 block_business
--------------------------------------------------- */
.block_business {
  position: relative;
  padding-bottom: 100px;
}
.block_business .inner{
  padding:0 140px 0 300px;
}
.block_business .inner .title{
  font-size: 50px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}
.block_business .inner .title small{
  font-size: 15px;
  letter-spacing: 0.05em;
  font-family: 'Playfair Display', serif;
  margin-left: 20px;
  color: #FFF;
}
.block_business .inner .exp{
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 40px;
}
.block_business .inner ul.b_list{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.block_business .inner ul.b_list li{
  padding: 20px;
  width: 49%;
  height: 8vw;
  margin-right: 2%;
  margin-bottom: 2%;
  background: #FFF;
  color: #85a63d;
  display: flex;
  flex-direction: row; /* row row-reverse column */
  justify-content: center; /* flex-start  center  space-between */
  align-items:center; /* flex-start  center  */
  font-size: 20px;
  font-size: 1.3vw;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
  
  box-shadow: 0px 10px 30px 0px rgb(51 51 51 / 10%);
}
.block_business .inner ul.b_list li:nth-child(2n){
  margin-right: 0;
}

.block_business .inner .column{
  display: flex;
  flex-direction: row; /* row row-reverse column */
  justify-content: space-between; /* flex-start  center  space-between */
  align-items: flex-start; /* flex-start  center  */
  border-bottom: 1px #85a63d solid;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.block_business .inner .column .c_title{
  width: 30%;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
}
.block_business .inner .column .c_title small{
  display: block;
  font-size: 14px;
  margin-bottom: -4px;
}
.block_business .inner .column ul.c_list{
  width: 70%;
  text-align: left;
  line-height: 1.6;
  padding-top: 5px;
}
.block_business .inner .column ul.c_list li{
  font-size: 16px;
  border-bottom: 1px #85a63d solid;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.block_business .inner .column ul.c_list li:last-child{
  border: none;
}
.block_business .inner .column ul.c_list li small{
  font-size: 14px;
}
.block_business .inner .contact{
  border: 1px #FFF solid;
  text-align: center;
  padding: 40px;
  font-size: 18px;
}

@media only screen and (max-width: 896px) {
  .block_business {
    padding-bottom: 50px;
  }
  .block_business .inner{
    padding:0 10px 0 100px;
  }
  .block_business .inner .title{
    font-size: 20px;
    margin-bottom: 20px;
  }
  .block_business .inner .title small{
    font-size: 12px;
    margin-left: 10px;
  }
  .block_business .inner .exp{
    font-size: 14px;
    margin-bottom: 20px;
  }
  .block_business .inner ul.b_list{
  }
  .block_business .inner ul.b_list li{
    padding: 20px 0;
    width: 100%;
    height: 50px;
    margin-right: 0%;
    margin-bottom: 2%;
    font-size: 12px;
    box-shadow: 0px 10px 30px 0px rgb(51 51 51 / 10%);
  }
  .block_business .inner ul.b_list li:nth-child(2n){
    margin-right: 0;
  }
  
  .block_business .inner .column{
    display: flex;
    flex-direction: column; /* row row-reverse column */
    justify-content: space-between; /* flex-start  center  space-between */
    align-items: flex-start; /* flex-start  center  */
    border-bottom: none;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .block_business .inner .column .c_title{
    width: 100%;
    font-size: 14px;
    line-height: 1.6;
    background: #92b742;
    padding: 4px 10px;
    margin-bottom: 10px;
    position: relative;
    border-top: 1px #000 solid;
    width : -webkit-calc(100% + 10px) ;
    width : calc(100% + 10px) ;
 
  }
  .block_business .inner .column .c_title small{
    display: block;
    font-size: 14px;
    margin-bottom: -4px;
  }
  .block_business .inner .column ul.c_list{
    width: 100%;
    text-align: left;
    line-height: 1.6;
    padding-top: 5px;
  }
  .block_business .inner .column ul.c_list li{
    font-size: 12px;
    border-bottom: 1px #85a63d solid;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .block_business .inner .column ul.c_list li:last-child{
    border: none;
  }
  .block_business .inner .column ul.c_list li small{
    font-size: 12px;
  }
  .block_business .inner .contact{
    border: 1px #FFF solid;
    text-align: center;
    padding: 10px;
    font-size: 10px;
  }
}
/*----------------------------------------------------
 block_footer
--------------------------------------------------- */
.block_footer {
  position: relative;
  padding-bottom: 100px;
}
.block_footer .inner{
  padding:0 140px 0 300px;
}
.block_footer .inner .copyright{
  font-size: 12px;
  letter-spacing: 0.05em;
  font-family: 'Playfair Display', serif;
  color: #667202;
}
@media only screen and (max-width: 896px) {
  .block_footer {
    position: relative;
    padding-bottom: 50px;
  }
  .block_footer .inner{
    padding: 0 10px 0 100px;
  }
  .block_footer .inner .copyright{
    font-size: 10px;
  }
}
/*----------------------------------------------------
 block_dame
--------------------------------------------------- */
.block_dame {
  position: relative;
  height: 100vh;
  background: url(../img/visual02.jpg) no-repeat center center;
  background-attachment: fixed;
}
.block_dame .inner{
  margin:0 140px 0 300px;
  height: 100vh;
  text-align: center;
  position: relative;
}
.block_dame .inner .dame{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #FFF;
  width: 100%;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 3vw;
  line-height: 1.5;

}
.block_dame .inner .dame small{
  display: block;
  font-size: 1.5vw;
  padding-top: 15px;
}
@media only screen and (max-width: 896px) {
  .block_dame {
    position: relative;
    height: 100vh;
    background: url(../img/visual02.jpg) no-repeat center center;
    background-attachment: scroll;
  }
  .block_dame .inner{
    margin: 0 10px 0 100px;
    height: 100vh;
    text-align: center;
    position: relative;
  }
  .block_dame .inner .dame{
    width: 100%;
    font-size: 18px;
    line-height: 2;
  
  }
  .block_dame .inner .dame small{
    display: block;
    font-size: 1.5vw;
    font-size: 12px;
    padding-top: 15px;
  }
}