@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------------------------------------   

   Font Setting

   ---------------------------------------------------------------------------------------------------------------------------------- */

@font-face{font-family:themify;src:url(../font/themify/themify.eot?-fvbane);src:url(../font/themify/themify.eot?#iefix-fvbane) format('embedded-opentype'),url(../font/themify/themify.woff?-fvbane) format('woff'),url(../font/themify/themify.ttf?-fvbane) format('truetype'),url(../font/themify/themify.svg?-fvbane#themify) format('svg');font-weight:400;font-style:normal}[class*=" ti-"],[class^=ti-]{font-family:themify;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ti-arrow-right:before {content: "\e628"}.ti-arrow-left:before{content: "\e629";}.ti-star:before{content:"\e60a"}.ti-search:before{content:"\e610"}.ti-zoom-in:before{content:"\e611"}.ti-zoom-out:before{content:"\e612"}.ti-mobile:before{content:"\e621"}.ti-minus:before{content:"\e622"}.ti-link:before{content:"\e62d"}.ti-layers:before{content:"\e62f"}.ti-layers-alt:before{content:"\e630"}.ti-heart:before{content:"\e634"}.ti-flag:before{content:"\e63a"}.ti-flag-alt:before{content:"\e63b"}.ti-flag-alt-2:before{content:"\e63c"}.ti-close:before{content:"\e646"}.ti-clip:before{content:"\e647"}.ti-angle-up:before{content:"\e648"}.ti-angle-right:before{content:"\e649"}.ti-angle-left:before{content:"\e64a"}.ti-angle-down:before{content:"\e64b"}.ti-check:before{content:"\e64c"}.ti-check-box:before{content:"\e64d"}.ti-bolt:before{content:"\e652"}.ti-bolt-alt:before{content:"\e653"}.ti-arrows-vertical:before{content:"\e657"}.ti-arrows-horizontal:before{content:"\e658"}.ti-fullscreen:before{content:"\e659"}.ti-arrow-top-right:before{content:"\e65a"}.ti-arrow-top-left:before{content:"\e65b"}.ti-arrow-circle-up:before{content:"\e65c"}.ti-arrow-circle-right:before{content:"\e65d"}.ti-arrow-circle-left:before{content:"\e65e"}.ti-arrow-circle-down:before{content:"\e65f"}.ti-angle-double-up:before{content:"\e660"}.ti-angle-double-right:before{content:"\e661"}.ti-angle-double-left:before{content:"\e662"}.ti-angle-double-down:before{content:"\e663"}.ti-thumb-up:before{content:"\e670"}.ti-quote-right:before{content:"\e67e"}.ti-quote-left:before{content:"\e67f"}.ti-control-play:before{content:"\e6ad"}.ti-control-forward:before{content:"\e6af"}.ti-book:before{content:"\e6b7"}.ti-back-right:before{content:"\e6bc"}.ti-back-left:before{content:"\e6bd"}.ti-arrows-corner:before{content:"\e6be"}.ti-archive:before{content:"\e6bf"}.ti-anchor:before{content:"\e6c0"}.ti-align-right:before{content:"\e6c1"}.ti-align-left:before{content:"\e6c2"}.ti-align-justify:before{content:"\e6c3"}.ti-align-center:before{content:"\e6c4"}.ti-alert:before{content:"\e6c5"}.ti-alarm-clock:before{content:"\e6c6"}.ti-agenda:before{content:"\e6c7"}.ti-write:before{content:"\e6c8"}.ti-window:before{content:"\e6c9"}.ti-wallet:before{content:"\e6cd"}.ti-video-clapper:before{content:"\e6ce"}.ti-video-camera:before{content:"\e6cf"}.ti-shift-right-alt:before{content:"\e6d9"}.ti-shift-left-alt:before{content:"\e6da"}.ti-ruler-alt-2:before{content:"\e6db"}.ti-receipt:before{content:"\e6dc"}.ti-pin2:before{content:"\e6dd"}.ti-pin-alt:before{content:"\e6de"}.ti-palette:before{content:"\e6e0"}.ti-more:before{content:"\e6e1"}.ti-more-alt:before{content:"\e6e2"}.ti-hand-point-up:before{content:"\e71a"}.ti-hand-point-right:before{content:"\e71b"}.ti-hand-point-left:before{content:"\e71c"}.ti-hand-point-down:before{content:"\e71d"}.ti-gallery:before{content:"\e71e"}.ti-face-smile:before{content:"\e71f"}.ti-youtube:before{content:"\e728"}.ti-twitter:before{content:"\e72a"}.ti-time:before{content:"\e72b"}.ti-share:before{content:"\e72e"}.ti-share-alt:before{content:"\e72f"}.ti-pinterest:before{content:"\e731"}.ti-new-window:before{content:"\e732"}.ti-instagram:before{content:"\e73d"}.ti-facebook:before{content:"\e741"}.ti-twitter-alt:before{content:"\e74b"}.ti-sharethis:before{content:"\e750"}.ti-sharethis-alt:before{content:"\e751"}.ti-email:before{content:"\e75a"}.ti-location-pin:before{content:"\e693"}.ti-arrow-down:before {content: "\e62a";}.ti-file:before{content: "\e6a4";}


/* ----------------------------------------------------------------------------------------------------------------------------------   

   normalize.css

   ---------------------------------------------------------------------------------------------------------------------------------- */
   
img,legend{border:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body,figure{margin:0}a:focus{outline:dotted thin}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C""\201D""\2018""\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}


/* ----------------------------------------------------------------------------------------------------------------------------------   

   Base Setting

   ---------------------------------------------------------------------------------------------------------------------------------- */

* { -moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box; /* remember: box-sizing is not supported by IE7 :( */ outline:none; vertical-align: top; }
html { width:100%; }
html,
body { font:normal 1em/2em "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 'Noto Sans Japanese', "メイリオ", "Lucida Grande", Meiryo, sans-serif; font-weight:400; margin:0; padding:0; width:100%; background: #2c2e2d; color: #f0f0f0;  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; vertical-align: top;}
html { font-size: 62.5%; text-size-adjust: 100%;-webkit-text-size-adjust: 100%; }
blockquote,body,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul { margin:0; padding:0; }
p { margin:0; padding:0; font-weight:normal; }
a { color:inherit; outline:none; text-decoration:none; -webkit-transition:all 0.3s ease;transition:all 0.3s ease; }
a:focus { outline:none; }
button { text-decoration:none; border:none; }

/* ----- *::selection ----- */ 
*::-moz-selection { background:#9deaff; color:#fefefe; }
*::selection { background:#9deaff; color:#fefefe; }

/* ----- h1,h2,h3,h4,h5 ----- */ 
h1,h2,h3,h4,h5{ -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale; margin:0; padding:0; }

/* ----- .cf ----- */ 
.cf:before,
.cf:after { display: block; content:""; overflow: hidden; }
.cf:after { clear: both; }
/* For IE 6/7 (trigger hasLayout) */
.cf { zoom:1; }

/* ----- .transition03 ----- */ 
.transition03 { -webkit-transition:all 0.3s ease;transition:all 0.3s ease; }
.transition05 { -webkit-transition:all 0.5s ease;transition:all 0.5s ease; }

/* ----- img ----- */ 
img { width:100%; height:auto; }

/* ----- .load ----- */ 
.load { position: fixed; z-index:1001; top:0; right:0; bottom:0; left:0; content:"";  pointer-events: none; }
.anim_load { transition:all 1s .5s ease-in; background: #f0f0f0; }
.anim_load.started { transform: none; transform: translate(0px, 0px); opacity:0; background: #fafafa; }
.anim_load.delighter.started { opacity:0; }

/* ----- .loader ----- */ 
.loader {position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; z-index: 1;width: 40px; height: 40px;aspect-ratio: 1;border-radius: 50%;border:5px solid #dadcdb;border-right-color: #78bd30;animation: l2 1s infinite linear;}
@keyframes l2 {to{transform: rotate(1turn)}}

/* ----- .central ----- */
.central { max-width: 1500px; margin: 0 auto; position: relative; z-index:0; }

/* ----- a ----- */
a { color:inherit; outline:none; text-decoration:none; -webkit-transition:all 0.3s ease;transition:all 0.3s ease; -webkit-tap-highlight-color:rgba(0,0,0,0); }
a:focus,
*:focus { outline:none; text-decoration:none; }
a:hover { outline:none; text-decoration:none; }

/* ----- p ----- */ 
p {font-size: 17px; font-weight: 400; line-height: 2.2; letter-spacing: .035em;}

@media only screen and (max-width:767px){
p {font-size: 1.6rem; line-height: 1.9;}
}

/* TEL用*/
@media(min-width: 768px){
  a[href^="tel:"]{pointer-events: none;}
}


/* --------------------------------------------------------------------------------------   

   #page

   -------------------------------------------------------------------------------------- */

#page { position: relative; z-index:0; }
#page:before { position: absolute; top:0; right:0; bottom:0; left:0; content:""; background:url(../images/pre/noise.png) repeat; z-index: 1; pointer-events: none; }



/* --------------------------------------------------------------------------------------   

   .header

   -------------------------------------------------------------------------------------- */

.header,
.header:after {-webkit-transition: all 0.5s ease;  transition: all 0.5s ease;}
.header { position: fixed; top: 0; left: 0; right: 0; padding: 0 6% 0 5%; height: 80px; z-index: 3; -moz-box-sizing: border-box; box-sizing: border-box;display: flex; flex-direction: row; justify-content: space-between;align-items:center; }
.header.fixed {height: 60px;}
.header:after { position: absolute; top:0; right: 0; bottom:100%; left: 0; content: ""; background:transparent; z-index: -2;}
.header.fixed:after { bottom: 0; background: rgba(250,250,250,.1);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem);box-shadow: 0px 0px 30px rgba(0, 0, 0, .1);-webkit-box-shadow: 0px 0px 30px rgba(0, 0, 0, .1);}

@media only screen and (max-width:767px){
.header { padding: 0 3.5% 0 3.5%; height: 60px; }
}


/* _________ .logo_area _________ */
.header .logo_area{width: 20%; }
.header h1.logo a{ width:150px; height:60px; position:relative;z-index:1; display: flex; flex-direction: row;align-items:center;}
.header h1.logo a img {width: 150px; height: 30px;}

/* _________ .nav_area _________ */
.header .nav_area{ width: 60%;}

/* menu */
.menu { list-style: none;position: relative; z-index: 0; display: flex; flex-direction: row; justify-content:flex-end}
.menu > li { margin-left: 6.5rem; list-style: none; position: relative; z-index: 0;}
.menu > li:first-child {margin-left: 0;}
.menu > li a {display: block; font-size: 14px;font-family: "Noto Sans JP", sans-serif;font-weight:500;line-height: 50px;letter-spacing: 0;position: relative; z-index: 0;}
.menu > li a:after { position: absolute; bottom: 12px; right: 1px; left: 1px; height: 1px; content: "";background: #f0f0f0; z-index: 1;transition: transform .3s cubic-bezier(.215, .61, .355, 1);transform-origin: right center;transform:scaleX(0);}

@media only screen and (min-width: 961px) {
.header .nav_area ul li:hover a:after { transform-origin: left center;transform:scaleX(1)}
}
@media only screen and (max-width:960px){
.header .nav_area {display: none;}
}



/* -----------------------------------------------------------
   .btnMenu
   ----------------------------------------------------------- */
.header a.btnMenu { position: fixed; top: 10px; right:4%; font-size: 0; width:55px; height:55px; z-index:0; display: none;-webkit-transition: all 0.3s ease; transition: all 0.3s ease;  }
/* .hamburger */
.header a.btnMenu .hamburger { position: absolute; top: 50%; left: 50%; height: 15px; width: 35px; z-index: 0;-webkit-transform: translate( -50%, -50%); transform: translate( -50%, -50%);}
.header a.btnMenu .hamburger:before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ""; border-top: #fafafa 1px solid; border-bottom: #fafafa 1px solid; z-index: 0;}
.header a.btnMenu .hamburger:after { position: absolute; top: 50%; right: 0;left: 0; bottom: 0; height: 1px; content: ""; background: #fafafa;  z-index: 0;-webkit-transform: translate(0, -50%); transform: translate(0, -50%); }
.header.fixed a.btnMenu {top: 2px;}

@media only screen and (max-width:960px){
.header a.btnMenu {display: block;}
}
@media only screen and (max-width:767px){
.header a.btnMenu {top: 2px; right: 3.5%;}
}


/* ------------------------------------------------
   .btnClose
   ------------------------------------------------ */   
#menu .btnClose { display: block; position: absolute; top: 20px; right:3.5%; width:90px; height:40px;z-index:101; font-size: 0;text-align: center; border: #3d423f 1px solid; -webkit-border-radius:5px;border-radius:5px;}
#menu .btnClose .txt { position: absolute;top: 50%; left: 50%; padding-left: 18px; font-size: 15px;font-family: 'Inter'; font-weight: 400; line-height: 40px;text-align: center;letter-spacing:.01em; z-index: 0;-webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
#menu .btnClose .txt:before { position: absolute; top: 0; bottom: 0; left: 0; font-family:'themify'; content:"\e646"; font-size:1em; font-weight: normal; }

@media only screen and (max-width: 767px) {
#menu .btnClose { right:3.5%;top: 12px;width:90px;}
#menu .btnClose .txt {  font-size: 14px;}
#menu .btnClose .txt:before { font-size:.95em;}
}


/* -----------------------------------------------------------
   mmenu CSS
   ----------------------------------------------------------- */
#menu:not( .mm-menu ) { display: none; }
/* jQuery.mmenu oncanvas CSS */
.mm-hidden { display: none !important; }
.mm-wrapper { overflow-x: hidden; position: relative; }
.mm-menu,
.mm-panels,
.mm-panels > .mm-panel { margin: 0; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -1; }
.mm-menu { box-sizing: border-box; background: inherit; display: block; overflow: hidden; padding: 0; }
.mm-panel { -webkit-transition: -webkit-transform 0.4s ease 0.015s;transition: transform 0.4s ease 0.015s; -webkit-transform: scale(0, 0);transform: scale(0, 0); }
.mm-panel.mm-opened { -webkit-transform: scale(1,1 );transform: scale(1,1); }
.mm-panel.mm-highest { z-index: 1; }
.mm-panels,
.mm-panels > .mm-panel { border-color: inherit; background: #2c2e2d; }
.mm-panels > .mm-panel { -webkit-overflow-scrolling: touch; overflow: scroll; overflow-x: hidden; overflow-y: auto; box-sizing: border-box; padding: 0 7.5%; }
.mm-panels > .mm-panel.mm-hasnavbar { padding-top: 40px; }
.mm-panels > .mm-panel:before,
.mm-panels > .mm-panel:after { content: ''; display: block; height: 100px; }
.mm-vertical .mm-panel { -webkit-transform: none !important; transform: none !important; }
.mm-vertical .mm-listview .mm-panel .mm-listview > li:last-child:after,
 .mm-listview .mm-vertical .mm-panel .mm-listview > li:last-child:after { border-color: transparent; }
.mm-vertical li.mm-opened > .mm-panel,
li.mm-vertical.mm-opened > .mm-panel { display: block; }

/* jQuery.mmenu offcanvas addon CSS */
.mm-page { box-sizing: border-box; position: relative; }
.mm-slideout { -webkit-transition: -webkit-transform 0.4s ease;transition: transform 0.4s ease; }
html.mm-opened { overflow-x: hidden; position: relative; }
html.mm-blocking { overflow: hidden; }
html.mm-blocking body { overflow: hidden; }
html.mm-background .mm-page { background: inherit; }
#mm-blocker { background: rgba(3, 2, 1, 0); display: none; width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 999999; }
html.mm-blocking #mm-blocker { display: block; }
.mm-menu.mm-offcanvas { display: none; position: fixed; }
.mm-menu.mm-current { display: block; }
.mm-menu { width: 80%; min-width: 140px; max-width: 550px; }
html.mm-opening .mm-slideout { -webkit-transform: translate(80%, 0); transform: translate(80%, 0); }

@media screen and (max-width: 767px) {
.mm-menu { /*width: 100%; max-width: 100%;*/ }
.mm-panels > .mm-panel { padding: 0 6.5%; }
}
/*
	jQuery.mmenu dragOpen addon CSS
*/
html.mm-opened.mm-dragging .mm-menu,
html.mm-opened.mm-dragging .mm-slideout { -webkit-transition-duration: 0s; -moz-transition-duration: 0s; -ms-transition-duration: 0s; -o-transition-duration: 0s; transition-duration: 0s; }
/*
	jQuery.mmenu pagedim extension CSS
*/
html.mm-pagedim #mm-blocker,
html.mm-pagedim-white #mm-blocker,
html.mm-pagedim-black #mm-blocker { opacity: 0; }
html.mm-pagedim.mm-opening #mm-blocker,
html.mm-pagedim-white.mm-opening #mm-blocker,
html.mm-pagedim-black.mm-opening #mm-blocker { opacity: 0.7; -webkit-transition: opacity 0.4s ease 0.1s; transition: opacity 0.4s ease 0.1s;}
html.mm-pagedim #mm-blocker { background: inherit; }
html.mm-pagedim-white #mm-blocker { background: #fff; }
html.mm-pagedim-black #mm-blocker { background: #000; }
/*
	jQuery.mmenu position extension CSS
*/
.mm-menu.mm-top,
.mm-menu.mm-bottom { width: 100%; min-width: 100%; max-width: 100%; }
.mm-menu.mm-right { left: auto; right: 0; }
.mm-menu.mm-bottom { top: auto; bottom: 0; }
/*html.mm-right.mm-opening .mm-slideout { -webkit-transform: scale(0,0);  transform: scale(0,0); }*/
/*
	jQuery.mmenu z-position extension CSS
*/
html.mm-front .mm-slideout { -webkit-transform: none !important; transform: none !important; z-index: 0 !important;}
.mm-menu.mm-front { z-index: 1; }
.mm-menu.mm-front { -webkit-transition: -webkit-transform 0.3s ease; transition: transform 0.3 ease; -webkit-transform: translate3d(-100%, 0, 0); transform: translate3d(-100%, 0, 0); }
.mm-menu.mm-front.mm-right{ -webkit-transform: translate3d(100%, 0, 0); transform: translate3d(100%, 0, 0); }
html.mm-opening .mm-menu.mm-front { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

/* ----- ul.nav_list_sp ----- */
ul.nav_list_sp { list-style: none;}
ul.nav_list_sp li { display: block; }
ul.nav_list_sp li+li {margin: 35px 0 0; }
ul.nav_list_sp li a { display: block; font-size: 22px; font-family: "Noto Sans JP";font-weight:400;letter-spacing: 0.035em; line-height: 1; position: relative; z-index: 0;}

@media screen and (max-width: 767px) {
ul.nav_list_sp li+li {margin: 30px 0 0; }
ul.nav_list_sp li a { font-size: 18px;}  
}



/* --------------------------------------------------------------------------------------   

   .footer

   -------------------------------------------------------------------------------------- */

.footer { margin: 0; padding:120px 5% 40px;  position: relative; z-index: 0;}
.footer .t_copyright { display: inline-block; position: relative; z-index:0;font-family: 'Inter'; font-size: 13px; font-weight:400; line-height: 1; letter-spacing: .025em;  }
.footer .t_copyright span { margin-right: 5px; font-size: .9em; vertical-align: 0; }

@media screen and (max-width: 960px) {
.footer { margin: 0; padding:100px 5% 35px; }
.footer .t_copyright { font-size: 12px;}
.footer .t_copyright span { margin-right: .4em; font-size: .9em;}  
}
@media screen and (max-width: 767px) {
.footer { padding:70px 5% 30px; }
.footer .t_copyright { font-size: 11px;}
}


/* --------------------------------------------------------------------------------------   

   .scrollUp

   -------------------------------------------------------------------------------------- */

.scrollUp { position: absolute; bottom: 40px; right: 5%; z-index: 1000; }
.scrollUp a { width: 55px; height: 55px; display: block; border: #3d423f 1px solid; text-align: center; -webkit-border-radius: 100%; border-radius: 100%; position:relative; z-index:1; }
.scrollUp a:before { position:absolute; top:0; left:0; right:0; bottom:0; font-family: 'themify'; content:"\e648"; font-size: 18px; line-height:53px;  }

@media only screen and (min-width: 961px) {
.scrollUp a:hover { background: #f0f0f0; color: #2c2e2d; border-color: #f0f0f0; -webkit-transform: translate(0px, -5px);transform: translate(0px, -5px); }  
}
@media screen and (max-width: 960px) {
.scrollUp { bottom: 35px; }
}
@media only screen and (max-width: 767px) {
.scrollUp { position: absolute; bottom: 30px; right: 5%}
.scrollUp a { width: 50px; height: 50px; }
.scrollUp a:before { font-size: 15px; line-height:47px;  }
}



/* --------------------------------------------------------------------------------------   

   .delighter

   -------------------------------------------------------------------------------------- */

.fadein_img.delighter { transition:all .5s ease; opacity: .1;}
.fadein_img.delighter.started {opacity: 1;}
.fadein_img.delighter.ended {opacity: 1;}




/* --------------------------------------------------------------------------------------   

   .block_home_mv

   -------------------------------------------------------------------------------------- */

.block_home_mv { height:100vh; min-height:100%; position: relative; z-index:0; overflow: hidden;}

/* .img_area */
.block_home_mv .img_area { position: absolute; top:0; right:0; bottom:0; left:0;overflow: hidden;clip-path: inset(0 0 0 0);z-index:0; }
.block_home_mv .img_area:before {position: absolute; top:0; right:0; bottom:0; left:0; content: ""; background: rgba(0,0,0,.2); z-index: 1;}
.block_home_mv .img { position: fixed; top:0; right:0; bottom:0; left:0; background:url("../images/pre/bg_mv.jpg") no-repeat center center; background-size: cover;
animation: fade 4s ease-in-out .35s 1 normal forwards;opacity: 1;}

/* .txt_area */
.block_home_mv .txt_area { position: absolute; top:0; right: 0; bottom: 0; left: 0; z-index: 3;color: #f0f0f0;}
.block_home_mv .txt_area .copy_area { position: absolute; top: 50%; left: 50%; -webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%); z-index: 1; text-align: center;}
.block_home_mv .txt_area .t_copy_jp {color: #fefefe;font-size: 4.35vw; font-family: "Noto Sans JP"; font-weight: 200;line-height: 1.75; letter-spacing: 0.125em; white-space: nowrap; }
.block_home_mv .txt_area .t_mark {font-weight: 200;}
.block_home_mv .txt_area .t_copy_small { margin: 25px 0 0; font-size: 16px;font-family: "Noto Sans JP"; font-weight: 600;line-height: 1.5; letter-spacing: 0.1em; white-space: nowrap; ;}
.block_home_mv .txt_area .t_copy_small br {display: none;}
.block_home_mv .txt_area .t_name { margin: 20px 0 0; font-size: 16px; font-family: "Noto Sans JP"; font-weight: 600;line-height: 1; letter-spacing: 0.035em; white-space: nowrap;}
.block_home_mv .txt_area .t_name_en { display: inline-block;font-size: 1.05em; font-family: "Inter"; vertical-align: 0;-webkit-transform: translate(0, 1px);transform: translate(0, 1px); }

@media only screen and (max-width: 960px) {
.block_home_mv .txt_area .t_copy_jp { font-size: 4.5rem;}
.block_home_mv .txt_area .t_copy_small { margin: 25px 0 0; font-size: 15px;}
.block_home_mv .txt_area .t_name { font-size: 15px;}
}
@media only screen and (max-width: 767px) {
.block_home_mv .img { background:url("../images/pre/bg_mv_sp.jpg") no-repeat center center; background-size: cover;}
.block_home_mv .txt_area .t_copy_jp { font-size: 4rem;font-weight: 300;}  
}
@media only screen and (max-width: 640px) {
.block_home_mv .txt_area .copy_area {margin-top: 1vw;}
.block_home_mv .txt_area .t_copy_jp { font-size: 6.65vw;}
.block_home_mv .txt_area .t_copy_small { margin: 25px 0 0; font-size: 14px; line-height: 1.8;letter-spacing: 0.125em; text-indent: .01em;}
.block_home_mv .txt_area .t_copy_small br {display: block;}
.block_home_mv .txt_area .t_name {margin: 20px 0 0; font-size: 14px;}
}

/* ----- .scrolldown_area ----- */
.scrolldown_area {position: absolute;left: 50%; bottom: 60px;-webkit-transform:translate( -50%,0);transform:translate(-50%,0); text-align: center; z-index: 2;}
.scrolldown_item {width: 70px; position: relative; z-index: 0;}
.scrolldown_item::before {position: absolute;bottom: -60px;left: 0;right: 0;margin: auto;width: 1px;height: 55px;content: ""; background-color: #E9EAE7;animation: scroll 1.75s infinite;z-index: 0;}
.scrolldown_item span { color: #E9EAE7; font-size: 13px;font-weight:500;font-family: 'Inter', sans-serif; letter-spacing: 0.025em; line-height: 1; }

@media only screen and (max-width: 767px) {
.scrolldown_area {bottom: 55px;}
.scrolldown_item {width: 70px;}
.scrolldown_item::before {bottom: -55px;height: 50px;}
}
@media only screen and (max-width: 560px) {
.scrolldown_area {bottom: 50px;}
.scrolldown_item {width: 70px;}
.scrolldown_item::before {bottom: -50px;height: 45px;}
}

@keyframes fade {
    0% { transform: scale(1.15,1.15); opacity: .8;}
    100% { transform: scale(1,1); opacity: 1; }
}

@keyframes scroll {
  0% {transform: scale(1, 0);transform-origin: 0 0;}
  50% { transform: scale(1, 1); transform-origin: 0 0; }
  51% {transform: scale(1, 1);transform-origin: 0 100%; }
  100% {transform: scale(1, 0);transform-origin: 0 100%;}
}

/* ----- .mainvisual ----- */
.mainvisual{height: calc(var(--vh, 1vh) * 100);}

@media only screen and (max-width: 738px) {
.mainvisual{height: calc(var(--vh, 1vh) * 100); min-height: 80vw; }
}
@media only screen and (max-width: 640px) {
.mainvisual{height: calc(var(--vh, 1vh) * 100);}
}


/* --------------------------------------------------------------------------------------   

   .headline

   -------------------------------------------------------------------------------------- */

.headline .t_ttl_cat_en { font-size: 30px; font-family: "Inter", sans-serif; font-weight: 450; line-height: 1; letter-spacing: .01em; position: relative; z-index: 0; }
.headline .t_ttl_cat_en:before { position: absolute; top: 50%; left: -30px; width: 20px; height: 20px; content: ""; background: #78bd30; z-index: -1; -webkit-transform:translate(0, -50%);transform:translate(0, -50%);border-radius:100%; }
.headline .t_ttl_cat_jp { margin: 7px 0 0; font-size: 14px;  font-family: "Noto Sans JP", sans-serif; font-weight: 400; letter-spacing: .05em; text-indent: .2rem}

@media only screen and (max-width: 960px) {
.headline {font-size: 0;}
.headline .t_ttl_cat_en { display: inline-block; padding: 0 0 0 30px; font-size: 30px; vertical-align: 0; }
.headline .t_ttl_cat_en:before { top: 50%; left: 0; }
.headline .t_ttl_cat_jp { display: inline-block; margin: 0 0 0 .75em; font-size: 14px; vertical-align: 0;}    
}
@media only screen and (max-width:767px) {
.headline {font-size: 0;}
.headline .t_ttl_cat_en { padding: 0 0 0 25px; font-size: 25px;}
.headline .t_ttl_cat_en:before { width: 18px; height: 18px; }
.headline .t_ttl_cat_jp { margin: 0 0 0 .5em;}    
}




/* --------------------------------------------------------------------------------------   

   .block_home_about

   -------------------------------------------------------------------------------------- */

.block_home_about { padding: 120px 10%; }

/* .about_area */
.block_home_about .about_area { margin: 50px 0 0; display: flex; flex-direction: row; justify-content: space-between; align-items: flex-start; }

/* .img_area */
.block_home_about .img_area { order: 2; width: 30%; position: relative; z-index: 0; }
.block_home_about .img_area:before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ""; background: rgba(10,10,10,.4); z-index: -1;-webkit-border-radius: 10px; border-radius: 10px; }

/* .txt_area */
.block_home_about .txt_area {order:1; width: 55%; }
.block_home_about .t_copy_jp {  font-size:clamp(1.55rem, calc(1.1rem + 1.8000000000000003vw), 2.8rem); font-family: "Noto Sans JP", sans-serif; font-weight: 300; line-height: 1.75; white-space: nowrap; letter-spacing: .1em;font-feature-settings: "palt";}
.block_home_about .t_en { font-size: 1.1em; font-family: "Inter", sans-serif; vertical-align:0; letter-spacing: .05em;}
.block_home_about .t_katakana {margin: 0 .1em 0 .15em; font-size: .7em; vertical-align: 0;}
.block_home_about .description_area { margin: 50px 0 0;}
.block_home_about .description_area p+p {margin: 1.5em 0 0;}


@media only screen and (max-width: 960px) {
.block_home_about { padding: 100px 6.5%; }
.block_home_about .about_area { margin: 50px 0 0; display: block;}
.block_home_about .img_area { width: 100%; margin: 0 auto;}
.block_home_about .txt_area { width: 100%; margin: 50px 0 0; }
.block_home_about .t_copy_jp {  text-align: center;}
.block_home_about .description_area { margin: 40px 0 0;}
.block_home_about .description_area p+p {margin: 1.5em 0 0;}
}
@media only screen and (max-width: 767px) {
.block_home_about { padding: 90px 5%; }
.block_home_about .about_area { margin: 50px 0 0; display: block;}
.block_home_about .img_area { width: 100%; margin: 0 auto;}
.block_home_about .txt_area { width: 100%; margin: 50px 0 0; }
.block_home_about .t_copy_jp { font-size: 24px; }
.block_home_about .description_area { margin: 40px 0 0;}
}
@media only screen and (max-width: 640px) {
.block_home_about .about_area { margin: 50px 0 0;}
.block_home_about .txt_area { margin: 50px 0 0; }
.block_home_about .t_copy_jp {font-size: 19px; line-height: 1.85;}
.block_home_about .description_area { margin: 30px 0 0;}
}
@media only screen and (max-width: 414px) {
.block_home_about .t_copy_jp {font-size: 18px; line-height: 1.8;}
}



/* --------------------------------------------------------------------------------------   

   .home_block_service

   -------------------------------------------------------------------------------------- */

.home_block_service { padding: 120px 10% 0; position: relative; z-index: 0;}
.home_block_service:before {position: absolute; top: 0; left: 0%; right: 0%; height: 0; content: ""; border-top:#3d423f 1px solid; z-index: -1;}

.home_block_service .service_area {display: flex; flex-direction: row; justify-content: space-between; }
.home_block_service .txt_area {width:72.5%; }

.list_service {list-style:none; }
.list_service li {display: block; padding: 0 0 0 2em; font-size: 18px; font-weight: 400; line-height: 1.8; letter-spacing: .035em;position: relative; z-index: 0;}
.list_service li+li{margin: 5px 0 0;}
.list_service li:before { position: absolute; top: 6px; left: 0; font-size: .6em; z-index: -1; vertical-align: top;}
.list_service li:first-child:before {content: "01";}
.list_service li:nth-child(2):before {content: "02";}
.list_service li:nth-child(3):before {content: "03";}
.list_service li:nth-child(4):before {content: "04";}
.list_service li:nth-child(5):before {content: "05";}

@media only screen and (max-width: 960px) {
.home_block_service { padding: 100px 6.5% 0; }
.home_block_service:before { left: 6.5%; right: 6.5%;}
.home_block_service .service_area {display: block; }
.home_block_service .txt_area {width:100%; margin: 50px 0 0; }
.list_service li {font-size: 17px;}
}
@media only screen and (max-width:767px) {
.home_block_service { padding: 90px 5% 0; }
.home_block_service:before { left: 5%; right: 5%;}
.home_block_service .txt_area {width:100%; margin: 50px 0 0; }
.list_service li {font-size: 16px;}
.list_service li+li{margin: 10px 0 0;}
}






/* --------------------------------------------------------------------------------------   

   .block_home_company

   -------------------------------------------------------------------------------------- */

.block_home_company { padding: 120px 10%;}

/* .company_area */
.block_home_company .company_area {display: flex; flex-direction: row; justify-content: space-between; }
.block_home_company .txt_area {width:72.5%; padding: 35px 70px; border: #3d423f 1px solid;border-radius: 10px;}

/* dl.list_company */
dl.list_company { margin: 0; font-size: 16px; line-height: 1.7; letter-spacing: .025em;}
dl.list_company div { padding:20px 0; border-top:#3d423f 1px solid; display: flex; flex-direction: row; justify-content: space-between;}
dl.list_company div:first-child {border-top:none;}
dl.list_company dt { display: inline-block; width:30%; font-family: "Noto Sans JP", sans-serif; font-weight:500; letter-spacing: .015em;}
dl.list_company dd { display: inline-block; width:70%; }
/* .btn_google */
dl.list_company dd a.btn_google { display: block; position: relative; z-index:0; width:150px; font-size: 15px; font-family:'Inter', serif; height: 40px; line-height:40px; letter-spacing: 0; text-align: center; color:#f1f0ec; background: #78BD30;margin:12px 0 5px; padding:0 0 0 10px;border-radius: 5px;  }
dl.list_company dd a.btn_google:before { position: absolute; top:-1px; left:12px; z-index:0; font-size:1.1em; font-family:themify; content:"\e693"; }

@media only screen and (min-width: 961px) {
dl.list_company dd a.btn_google:hover { background: #558e1a; }
}
@media only screen and (max-width: 960px) {
.block_home_company { padding: 100px 6.5%; }
.block_home_company .company_area {display: block;}
.block_home_company .txt_area {width:100%; margin: 50px 0 0;  padding: 20px 5%; border-radius: 10px;}
}
@media only screen and (max-width: 767px) {
.block_home_company { padding: 90px 5%; }
.block_home_company .txt_area { margin: 50px 0 0; padding: 5px 5%; border-radius: 5px;}
dl.list_company {font-size: 16px; line-height: 1.9; letter-spacing: .025em;}
dl.list_company div { display: block; padding:20px 0;}
dl.list_company div:first-child {border-top: none}
dl.list_company div:last-child { border-bottom:none;  }
dl.list_company dt { display: block; width:100%; }
dl.list_company dd { display: block; margin: 5px 0 0; width:100%; }
/* .btn_google */
dl.list_company dd a.btn_google { width:145px;font-size: 14px;height: 35px; line-height:35px;}
}



/* --------------------------------------------------------------------------------------   

   .block_home_company

   -------------------------------------------------------------------------------------- */

.block_home_contact { padding: 120px 10%; position: relative; z-index: 1;}

/* .bg_img */
.block_home_contact .bg_img { position: absolute; top: 0; right: 1.5%; bottom: 0; left: 1.5%; z-index: -1; border-radius: 10px; overflow: hidden}
.block_home_contact .bg_img:before {position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ""; background: rgba(34,36,35,.85);-webkit-backdrop-filter:blur(1.4rem);backdrop-filter:blur(1.4rem); z-index: -1;}
.block_home_contact .bg_img:after {position: absolute; top: 1px; right: 1px; bottom: 1px; left: 1px; content: ""; background: url("../images/pre/bg_contact.jpg") center center no-repeat; background-size:cover; z-index: -2;}

/* .contact_area */
.block_home_contact .contact_area {display: flex; flex-direction: row; justify-content: space-between; }
.block_home_contact .txt_area {width:72.5%; }

/* dl.list_contact */
dl.list_contact { margin: 50px 0 0; }
dl.list_contact div { display: flex; flex-direction: row; justify-content: space-between;align-items:center; }
dl.list_contact div+div { margin: 25px 0 0;}
dl.list_contact div:first-child {}
dl.list_contact div:last-child { }
dl.list_contact dt { width:20%; padding-left: 2.5%; font-size: 16px; font-family:'Inter', serif; font-weight:500; letter-spacing: .025em;line-height: 1.7;}
dl.list_contact dd { width:80%; }
/* .mail */
dl.list_contact dd.mail a { display: block; padding: 0 30px 0 40px; width: 350px; background: #72b52d; font-size: 17px; font-family: "Noto Sans JP", sans-serif; font-weight: 450; line-height: 65px;border-radius: 5px; text-align: center;position: relative; z-index: 0;}
dl.list_contact dd.mail a:before { position: absolute; top: 0; left: 21px; font-size: 1.2em; font-family:themify; content:"\e75a"; font-weight: normal;z-index: 0;}
/* .tel */
dl.list_contact dd.tel a { display: block; padding: 0 30px 0 40px;width: 350px; border: #3d423f 1px solid; font-size: 19px; font-family:'Inter', serif; font-weight: 400; letter-spacing: .035em; line-height: 65px;border-radius: 5px; position: relative; z-index: 0; text-align: center;}
dl.list_contact dd.tel a:before { position: absolute; top: 0; left: 20px; bottom: 0; width: 20px; height: 20px; margin: auto 0; content: ""; background: url("../images/pre/icon_tel.png") no-repeat center left; background-size: cover; z-index: 0;}

@media only screen and (min-width: 961px) {
dl.list_contact dd.mail a:hover { background: #558e1a; }
}
@media only screen and (max-width: 960px) {
.block_home_contact { padding: 100px 6.5%; }
.block_home_contact .contact_area {display: block; }
.block_home_contact .txt_area {width:100%; margin: 50px 0 0; }
dl.list_contact { margin: 50px 0 0; }
dl.list_contact div { display: flex; flex-direction: row; justify-content: space-between;align-items:center; }
dl.list_contact div+div { margin: 25px 0 0;}
dl.list_contact dt { width:25%; padding-left:5%; font-size: 16px;;}
dl.list_contact dd { width:75%; }
dl.list_contact dd.mail a { width: 320px; max-width: 100%;line-height: 60px;}
dl.list_contact dd.tel a { width: 320px;max-width: 100%; line-height: 60px; }
}
@media only screen and (max-width: 767px) {
.block_home_contact { padding: 90px 5%; }
.block_home_contact .bg_img { right: 0;left: 0; border-radius: 0;}
.block_home_contact .txt_area { margin: 50px 0 0; }
dl.list_contact { margin: 50px 0 0; }
}
@media only screen and (max-width: 560px) {
.block_home_contact { padding: 90px 5%; }
.block_home_contact .bg_img { right: 0;left: 0; border-radius: 0;}
.block_home_contact .txt_area { margin: 50px 0 0; }
dl.list_contact { margin: 50px 0 0; }
dl.list_contact div { display: block; }
dl.list_contact div+div { margin: 15px 0 0;}
dl.list_contact dt { width:100%; padding-left:0; font-size: 16px; display: none}
dl.list_contact dd { width:100%; }
dl.list_contact dd.mail a { width: 100%; max-width: 100%;line-height: 55px;font-size: 16px; }
dl.list_contact dd.tel a { width: 100%;max-width: 100%; line-height: 55px; font-size: 18px; }
}
