@charset "UTF-8";
/*reset*/
*:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg *,symbol *)){all:unset;display:revert}*,*::before,*::after{box-sizing:border-box}a,button{cursor:revert}ol,ul,menu{list-style:none}img{display: block;}table{border-collapse:collapse}input,textarea{-webkit-user-select:auto}textarea{white-space:revert}meter{-webkit-appearance:revert;appearance:revert}:where(pre){all:revert}::placeholder{color:unset}::marker{content:initial}:where([hidden]){display:none}:where([contenteditable]:not([contenteditable="false"])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}:where([draggable="true"]){-webkit-user-drag:element}:where(dialog:modal){all:revert}body {margin: 0;}
/*reset end*/
:root {
  --color-green1: #a6d238;
  --color-brown1: #5d4b3d;
}
body,html {color: var(--color-brown1);font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;overflow-x: hidden;}
body {font-size: 100%;line-height: 1.5;overflow-x: hidden;position: relative;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;font-feature-settings: "palt";}
img {width: 100%;height: auto;display: block;}
body,a {color: var(--color-01);}
a {display: block;color: var(--color-brown1);text-decoration: none; }
ul {list-style: none; }
h1,h2,h3,h4,h5,div,p,ul,li,a,p,th {font-weight: normal;}
h1,h2,h3,h4,div,p,ul,li,a,span,p,th,td {box-sizing: border-box;}
input:focus {outline: none;}
iframe {border: none;}
select {outline: none;}
figure {position: relative;}
.btn {transition: 0.4s;}
.pc {display: block;}
.sp {display: none;}
.gothic {font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;}
.mincho {font-family: "Hiragino Mincho ProN", "Yu Mincho", "游明朝", "MS PMincho", serif;}
.mincho2 {font-family: 'Shippori Mincho', serif;}
.oswald {font-family: 'Oswald', sans-serif;}
.object-fit {object-fit: cover;font-family: 'object-fit: cover;'}
.appear.observe {opacity: 0;-webkit-backface-visibility: hidden;backface-visibility: hidden;will-change: transform;}
.appear.on {opacity: 1;transition: opacity ease-out 0.3s 0s;}
.movetop {opacity: 0;transform: translateY(5em);transition: ease-out 0.5s 0s;}
.movebottom {opacity: 0;transform: translateY(-5em);transition: ease-out 0.5s 0s;}
.moveleft {opacity: 0;transform: translateX(5em);transition: ease-out 0.5s 0s;}
.moveright {opacity: 0;transform: translateX(-5em);transition: ease-out 0.5s 0s;}
.movetop.on,
.movebottom.on,
.moveleft.on,
.moveright.on {opacity: 1;transform: translate(0);}
.expansion01 {transform: scale(0);}
.expansion01.on {animation: expansion01 .7s ease forwards;}
@keyframes expansion01 {
 0% {transform: scale(0)}
 50% {transform: scale(1.04)}
 to {transform: scale(1)}
}
.roll01 {opacity: 0;transition: ease-out 0.5s 0s;}
.roll01-Left {transform: translateX(5em) rotate(25deg);}
.roll01-Right {transform: translateX(-5em) rotate(-25deg);}
.roll01.on {opacity: 1;transform: rotate(0) translateX(0);}
.spin {animation: spin 24s linear infinite;transform-origin: 50% 50%;}
@keyframes spin {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.line {width: 0;height: 1em;background: #ffff00;position: absolute;opacity: 0.7;}
.invert {filter: brightness(0) invert(1);}
.mw1700 {width: 90%; max-width: 1700px; margin: auto;}
.mw1600 {width: 90%; max-width: 1600px; margin: auto;}
.mw1500 {width: 90%; max-width: 1500px; margin: auto;}
.mw1400 {width: 90%; max-width: 1400px; margin: auto;}
.mw1300 {width: 90%; max-width: 1300px; margin: auto;}
.mw1200 {width: 90%; max-width: 1200px; margin: auto;}
.mw1100 {width: 90%; max-width: 1100px; margin: auto;}
.mw1000 {width: 90%; max-width: 1000px; margin: auto;}
.mw900 {width: 90%; max-width:  900px; margin: auto;}
.mw800 {width: 90%; max-width:  800px; margin: auto;}
.mw700 {width: 90%; max-width:  700px; margin: auto;}
.mw600 {width: 90%; max-width:  600px; margin: auto;}
.mw500 {width: 90%; max-width:  500px; margin: auto;}
.loading-shape{position:absolute;top:0;left:0;pointer-events:none}.loading{position:fixed;display:flex;align-items:center;justify-content:center;top:0;right:0;left:0;bottom:0;z-index:10000;width:100%;height:100%;background-color:#fff;transition:opacity 1.2s cubic-bezier(.55,.085,.68,.53),visibility 1.2s}.loading.is-loaded{opacity:0;visibility:hidden;pointer-events:none}.loading__logo,.loading__main{-webkit-backface-visibility:hidden;backface-visibility:hidden}.loading__main{position:relative;overflow:hidden;width:8rem;height:6.0769230769rem;-webkit-clip-path:url(#logo-shape-sm);clip-path:url(#logo-shape-sm);transition:transform .8s cubic-bezier(.55,.055,.675,.19),opacity .8s cubic-bezier(.55,.055,.675,.19)}.loading__logo{width:100%;height:100%}.loading__logo-color--1{height:2.1538461538rem;background-color:#a8dc00}.loading__logo-color--2{margin:.2307692308rem 0 0;height:2.1538461538rem;background-color:#6ec300}.loading__logo-color--3{height:.7692307692rem;margin:.7692307692rem 0 0;background-color:#69ba00}.loading__screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background-color:#f5f1e9;transform-origin:50% 0;transition: 1.2s;}.loading__screen.is-hide{transform: translateY(-100%);}
#contentsWrap {transition: 1.4s;opacity: 0;}
body.loaded #contentsWrap {opacity: 1;}
@media only screen and (min-width: 768px) {
  a[href*="tel:"] {pointer-events: none;cursor: default;text-decoration: none;}
  .btn:hover {opacity: 0.85 !important;transition: 0.4s;}
}
@media only screen and (max-width: 767px) {
  .pc { display: none;}
  .sp { display: block;}
  br.sp { line-height: 0; }
  .scroller {overflow-x: scroll;position: relative;}
  .scroller:before {content: "";display: block;transition: opacity cubic-bezier(0.445, 0.05, 0.55, 0.95) 500ms;position: absolute;top: 0;left: 0;right: 0;bottom: 0;background: url("../img/common_swipe.webp")no-repeat 50% 50%;background-size: 35% auto;z-index: 2;}
  .scroller:after {content: "";display: block;transition: opacity cubic-bezier(0.445, 0.05, 0.55, 0.95) 500ms;position: absolute;top: 0;left: 0;bottom: 0;background-color: rgba(0, 0, 0, 0.5);width: 250%;padding: 3%;z-index: 1;}
  .scroller.on:before,
  .scroller.on:after {opacity: 0;}
  .scroller img {width: 260%;opacity: 0.5;transition: opacity cubic-bezier(0.445, 0.05, 0.55, 0.95) 100ms;}
  .scroller.on img {opacity: 1;}
}
@media only screen and (max-width: 450px) {
  body {font-size: 3.2vw;}
}