@charset "utf-8";
/* ************************************************************************************************
   font
　************************************************************************************************ */
@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-arrow-up:before{content:"\e627"}.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-rss:before{content:"\e75e"}.ti-rss-alt:before{content:"\e75f"}.ti-location-pin:before{content:"\e693"}.ti-plus:before {content:"\e61a";}.ti-file:before{content:"\e6a4"}
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
 @font-face{font-family:'FontAwesome';src:url('../font/FontAwesome4/fontawesome-webfont.eot?v=4.7.0');src:url('../font/FontAwesome4/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../font/FontAwesome4/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../font/FontAwesome4/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../font/FontAwesome4/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../font/FontAwesome4/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}
.fa-instagram:before{content:"\f16d"}.fa-facebook-official:before{content:"\f230"}.fa-facebook-square:before{content:"\f082"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.icon-heart:before {content:"\f004"}

/*
 * Web Fonts from colophon-foundry.org
 *
 * The fonts included in this stylesheet are subject to the End User License you purchased
 * from Colophon Foundry. The fonts are protected under domestic and international trademark and
 * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or
 * distributing this font software.
 *
 * (c) 2019 Colophon Foundry
 *
 * Licenced to Wataru Otsuka 
 */

@font-face {
    font-family: 'apercu-light-pro';
    src: url('../font/apercu/apercu-light-pro.eot');
    src: url('../font/apercu/apercu-light-pro.eot?#iefix') format('embedded-opentype'),
         url('../font/apercu/apercu-light-pro.woff2') format('woff2'),
         url('../font/apercu/apercu-light-pro.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'apercu-regular-pro';
    src: url('../font/apercu/apercu-regular-pro.eot');
    src: url('../font/apercu/apercu-regular-pro.eot?#iefix') format('embedded-opentype'),
         url('../font/apercu/apercu-regular-pro.woff2') format('woff2'),
         url('../font/apercu/apercu-regular-pro.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

.fade_in.delighter {
  transition: all .5s ease-out;
  opacity: 0;
}
.fade_in.delighter.started {
  transform: none;
  opacity: 1;
}
.fade_in.delighter.started.ended {
  opacity: 1;
}

/* ************************************************************************************************
   Base
   ************************************************************************************************ */

* { -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%;-moz-text-size-adjust:100%; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; }
html,
body { font: normal 1em/2em "Inter Tight","Noto Sans JP",'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ,"游ゴシック体", YuGothic, "Yu Gothic M", "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", HelveticaNeue, Helvetica, Arial, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";margin: 0; padding: 0; width: 100%; color: #111; background: #fafafa; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-weight:normal; vertical-align: top; }
blockquote,body,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul,figcaption,figure{margin:0;padding:0;/*font-weight:500*/}
p { margin: 0; padding: 0; font-weight: normal; }
a { color: inherit; outline: none; text-decoration: none; -webkit-transition: all 0.3s ease; -moz-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease;  }
a:focus { outline: none; }
button { text-decoration:none; border:none;}
/* ----- *::selection ----- */ 
*::-moz-selection {background: #111;color:#fefefe;}
*::selection { background: #111; 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 { content: ""; display: block; overflow: hidden; }
.cf:after { clear: both; }
/* For IE 6/7 (trigger hasLayout) */
.cf { zoom: 1; }

/* ----- img----- */ 
img { width: 100%; height:auto;}
/* ----- a ----- */ 
a { color: inherit; outline: none; text-decoration: none; -webkit-transition: all 0.2s ease;transition: all 0.2s ease; -webkit-tap-highlight-color: rgba(0,0,0,0); }
a:focus,
*:focus { outline: none; text-decoration: none; }
a:hover { text-decoration: none; outline: none; }
/* ----- p ----- */ 
p { margin: 0; padding: 0; font-size: 15px; font-weight: 360; line-height: 2.2; letter-spacing: 0.075em;}
@media only screen and (max-width: 738px) {
p { font-size: 16px; line-height: 2; letter-spacing: 0.05em; }
}




/* ************************************************************************************************
   #page
   ************************************************************************************************ */

#page { height:100%; position:relative; z-index:0; }  

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

#content_wrapper { padding-top: 130px;}

@media screen and (max-width: 900px) {
#content_wrapper { padding-top: 120px;}
}
@media screen and (max-width: 738px) {
#content_wrapper { padding-top: 90px;}
}


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

   .delighter

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

.fadein_img.delighter {transition: opacity .5s ease-out;opacity: 0.2;}
.fadein_img.delighter.started {opacity: 1;}
.fadein_img.delighter.ended {opacity: 1;}


/* -----------------------------------------------------------
   .object-fit_cover（画像トリミング）
   ----------------------------------------------------------- */

.object-fit_cover { object-fit: cover; font-family: 'object-fit: cover;' }


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

  .body_content

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

.body_content {margin-top: 140px; padding: 0 6.5%; position: relative; z-index: 1;}

@media screen and (max-width: 900px) {
.body_content { margin-top: 120px; padding: 0 6.5%; }
}
@media screen and (max-width: 738px) {
.body_content { margin-top: 100px; padding: 0 5%; }
}

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

  .body_content_border

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

.body_content_border { margin-top: 140px; padding: 140px 6.5% 0;border-top: #111 1px solid; position: relative; z-index: 0; }
.body_content_border:before { position: absolute; top: -1px; left: 12.5%; right:12.5%; height: 0; content: ""; border-top: #ddd 1px solid; z-index: 2;}
.body_content_border:after { position: absolute; top: -1px; left: 6.5%; right: 6.5%; height: 0; content: ""; border-top: #fafafa 1px solid; z-index: 1;}

@media screen and (max-width: 900px) {
.body_content_border { margin-top: 120px; padding: 120px 7.5% 0; }
}
@media screen and (max-width: 738px) {
.body_content_border { margin-top: 100px; padding: 100px 5% 0; }
}


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

  #header

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

#header { position: fixed; top: 0; left: 0; width: 100%; height: 80px; z-index: 100; background:transparent; display: flex; align-items: center; justify-content: flex-end; box-sizing: border-box;}
#header:after { position: absolute; top: 0; right: 0; bottom: 0; left:0; content: ""; background: #fafafa; z-index: -1; -webkit-transition: all 0.5s ease; transition: all 0.5s ease;}
#header.autofix_sb.fixed:after {-webkit-box-shadow: 0px 0px 20px rgba(10, 10, 10, 0.1);box-shadow: 0px 0px 20px rgba(10, 10, 10, 0.1);}

@media only screen and (max-width: 960px) {
#header { height: 70px;}
}
@media only screen and (max-width: 738px) {
#header { height: 60px;}
}


/* ------------------------
   .logo_area
   ------------------------ */   

#header .logo_area { position: absolute; top: 10px; width: 170px; height: 60px; left: 6.5%; z-index: 5; }
#header .logo_area .inner { position: absolute; top: 50%; left: 0; right: 0; -webkit-transform: translate(0, -50%);transform: translate(0, -50%); z-index:0; }

#header h1.jp { font-size: 16px;font-family: 'Noto Sans JP', sans-serif; font-weight: 700; letter-spacing: 0.25em; line-height: 1;}
#header h1.jp .and { padding: 0 3px; font-size: 0.9em; vertical-align: 0;}
#header h1.name { margin-top: 7px; text-indent: 3px; font-size: 13px;font-family: 'apercu-regular-pro'; font-weight: normal; letter-spacing: 0.2em; line-height: 1;}
#header h1.name span { margin-right: 8px; font-family: 'Dawning of a New Day', cursive; font-weight:normal; font-size:17px; vertical-align:0;  letter-spacing: 0.1em; text-transform:lowercase; }

@media only screen and (max-width: 960px) {
#header .logo_area { top: 5px; width: 170px; left: 5%;}
#header h1.jp { font-size: 15px;letter-spacing: 0.25em; }
#header h1.jp .and { padding: 0 2px;}
#header h1.name { margin-top: 5px; text-indent: 3px; font-size: 12px;letter-spacing: 0.2em; }
#header h1.name span { margin-right: 8px; font-size:16px; letter-spacing: 0.1em; }
}

@media only screen and (max-width: 738px) {
#header .logo_area { top: 0; width: 160px; left: 5%;}
#header h1.jp { font-size: 14px;letter-spacing: 0.2em; }
#header h1.jp .and { padding: 0 2px;}
#header h1.name { font-size: 11px; }
#header h1.name span { margin-right: 6px; font-size:15px;}
}
@media only screen and (max-width: 414px) {
#header .logo_area { width: 140px;  }
#header h1.jp { font-size: 13px;}
#header h1.jp .and { padding: 0 2px;}
#header h1.name { font-size: 10px; }
#header h1.name span { margin-right: 6px; font-size:14px; }
}


/* ------------------------
   .nav_area
   ------------------------ */

#header .nav_area { margin-right: 6.5%;  position: relative; z-index: 1;}
#header .nav_area ul.nav { list-style: none; font-size: 0; display: flex; justify-content: flex-end; justify-content: center; gap:0 35px;}
#header .nav_area ul.nav li a{display: block; position: relative; z-index: 1; padding: 0; font-size: 16px; font-family: 'apercu-regular-pro';font-weight: normal; letter-spacing: 0.075em; line-height: 25px; }
#header .nav_area ul.nav li.current a:before { position: absolute; top:-15px; right: 0; left: 0; font-size: 10px; font-family:'themify';content:"\e634"; font-weight: normal; text-align: center; line-height: 1; z-index: 0;}

#header .nav_area ul.nav li a:after { position: absolute; bottom: 0; right: 0; left: 0; height: 1px; content: "";background: #111; z-index: 1;transition: transform .5s cubic-bezier(.215, .61, .355, 1);transform-origin: right center;transform:scaleX(0);}

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



/* ------------------------
   .nav_area_sp 
   ------------------------ */  
.nav_area_sp { position: fixed; top: 0; right: 3.5%; z-index: 103; display: none; }

@media only screen and (max-width:960px) {
.nav_area_sp  {display: block;}
}


/* _________ .menu_btn _________ */
.nav_area_sp .menu_btn { z-index: 1003; width: 80px; cursor: pointer;color: var(--color-white); position: relative;z-index: 0; height: 70px;  /*transform: translateY(-100%); */ transition: all 0.4s ease; display: flex; justify-content: flex-end; align-items: center; }

@media screen and (max-width: 738px) {
    .nav_area_sp .menu_btn {  height: 60px; }
}
    

.nav_area_sp.fixed .menu_btn { transform: translateY(0%); }

.nav_area_sp .menu_btn:after { position: absolute; top: 50%; right: 0; left: 0; z-index: -1; height: 50px; content: ""; -webkit-transform: translate(0, -50%); transform: translate(0, -50%);}
.nav_area_sp .menu_btn .txt { /*position: absolute; top: 50%; left: 50%; z-index: 0; margin-left: 14px;*/ font-size: 15px;font-family: 'apercu-regular-pro';  font-weight: 500; letter-spacing: .01em; line-height: 1; /*text-align: center; -webkit-transform: translate( -50%, -50%); transform: translate( -50%, -50%);*/}

.menu_btn .txt {position: relative; display: block;height: 1em; overflow: hidden;min-width: 3em;text-align: center;}
.menu_btn .txt .label {display: block; line-height: 1; transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1); font-size: inherit;}

/* デフォルト：MENUを表示 */
.menu_btn .txt .label-menu { transform: translateY(0%);}
.menu_btn .txt .label-close { position: absolute; top: 0; left: 0; transform: translateY(100%);}

/* メニューが開いているとき：CLOSEを表示 */
.menu_btn.open .txt .label-menu {transform: translateY(-100%);}
.menu_btn.open .txt .label-close { transform: translateY(0%);}

.menu_btn .txt {transition: all 0s ease;}

/* .hamburger */
.menu_btn .hamburger { position: absolute; top: 50%; left: 5px; z-index: 0; width: 22px; height: 1px;  background: var(--color-black); background: #111; -webkit-transform: translate( 0, -50%); transform: translate( 0, -50%); transition: all 0.3s; margin-top: -1px;}
.menu_btn .hamburger:before,
.menu_btn .hamburger:after { position: absolute; width: 22px; height: 1px; background: var(--color-black); background: #111;  z-index: 0; content: "";transition: all 0.3s; }
.menu_btn .hamburger:before { top: -5px; }
.menu_btn .hamburger:after { bottom: -5px;}

.menu_btn .hamburger.close {background: transparent;}
.menu_btn .hamburger.close:before { top: 0px;transform: rotate(30deg); width: 22px;}
.menu_btn .hamburger.close:after { bottom: 0px;transform: rotate(-30deg);width: 22px;}




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

   mobile-nav（ナビ展開）

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

/* =========================   
   .mobile-nav-bg
   ========================= */
.mobile-nav-bg { position: fixed; z-index: 1001;z-index: 101; top: 0; left: 0; top: 85px; top: 0; width: 100%; height: 0; background: var(--color-rich_black); background: rgba(0,0,0,0.7);  opacity: 0; transition: opacity 0.5s ease, height 0s 0.4s linear;pointer-events: none;  background: rgba(0, 0, 0, 0.1); /* 半透明白 */backdrop-filter: blur(1px); -webkit-backdrop-filter: blur(1px);}
.mobile-nav-bg.open { height: 100%; height: 100vh; opacity: 1;/* transition: 0.3s opacity linear,0s height linear; */transition: opacity 0.5s ease, height 0s linear;pointer-events:inherit;}
.header.fixed .mobile-nav-bg { top: 55px; top: 0;}
.header.fixed .mobile-nav-bg.open {height: calc(100vh - 55px);height: 100vh;}

@media screen and (max-width: 738px) {
.mobile-nav-bg { top: 65px; top: 0;height: calc(100dvh - 65px);height: 100dvh;}
}

/* =========================   
   .mobile-nav
   ========================= */
.mobile-nav { position: fixed; z-index: 102; top: 0; right: 0; width: 450px; width: 50%; height: 100%; height: calc(100vh - 55px);height: 100vh; background: var(--color-light_gray); background: #fafafa;transform: translateX(100%);overflow: hidden;opacity: 1;pointer-events: none; /* 非表示時クリック無効 */transition: opacity 0.5s ease, transform 0.5s ease;}
.mobile-nav.open {opacity: 1;transform: translateY(0);pointer-events: auto;}
.header.fixed .mobile-nav { top: 0;height: calc(100vh - 55px);height: 100vh; }

@media screen and (max-width: 960px) {
.mobile-nav { width: 60%; max-width: 400px;padding: 70px 0 0; }
}
@media screen and (max-width: 738px) {
.mobile-nav { width: 80%;padding: 60px 0 0; }
}

/* scrolled change!! */
._mobileNav.scrolled,
._mobileNavBg.scrolled{ top: 0; height: 100vh; }

@media screen and (max-width: 738px) {
._mobileNav.scrolled,
._mobileNavBg.scrolled{  top: 0; height: 100vh; }
}

/* .top */
.mobile-nav .top { position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 60px; background: var(--main-color-white);border-bottom: var(--border-color-gray) 1px solid; display: none}
/* _________ .nav_inner _________ */
.mobile-nav .nav_inner { width: 100%; height: 100%; padding: 25px 0 50px; overflow-y: scroll; -webkit-overflow-scrolling: touch; }

/* ul.list_nav_sp */
.list_nav_sp { list-style: none; padding: 0 3.5%; }
.list_nav_sp li { display: block;}
.list_nav_sp li+li {margin-top: 5px;}
.list_nav_sp li a { display: block; position: relative; z-index: 0; padding: 15px 5% 15px 30px; font-size: 20px; font-family: 'apercu-regular-pro';font-weight: normal; line-height: 1; letter-spacing: 0.075em;}
.list_nav_sp li a:after { position: absolute; top: 50%; right: 2.5%; z-index: 0; width: 25px; height: 25px; font-weight: 400; font-family: themify; content: "\e649"; font-size: 12px; line-height: 11px; text-align: center; line-height: 25px; -webkit-transform: translate(0, -50%); transform: translate(0, -50%);}
.list_nav_sp li.current a:after { right: auto; left: 0; font-size: 10px; content:"\e634";}

.list_nav_sp li a.no_link { color: #9a9a9a; pointer-events:none;}
.list_nav_sp li a.no_link:after { display: none;}




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

   footer

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

footer { position:relative; z-index:0; overflow: hidden;}

/* ----- .footerArea ----- */ 
footer .footer_area {  padding:120px 6.5% 0;  position: relative; z-index: 1;}

@media screen and (max-width: 900px) {
footer .footer_area {  padding:110px 7.5% 0; }
}
@media screen and (max-width: 738px) {
footer .footer_area {  padding:100px 2.5% 20px }
}


/* ----- .head ----- */ 
footer .head { margin-bottom: 40px; text-align: left;}
footer .head h2.en{ position: relative; margin: 0; font-size: 14px; font-family: 'apercu-regular-pro';font-weight: normal; font-family: 'apercu-light-pro';font-weight: 400; line-height:1;letter-spacing: 0.1em; }

@media screen and (max-width: 900px) {
footer .head { margin-bottom: 35px; text-align: center;}
}
@media screen and (max-width: 738px) {
footer .head { margin-bottom: 25px; text-align: center;}
footer .head h2.en{  font-size: 13px;letter-spacing: 0.15em; }
}

/* ----- .navArea ----- */ 
footer .nav_area { float: right; width:60%; margin-top: 5px;}

@media screen and (max-width: 900px) {
footer .nav_area { float: none; width:100%; margin-top: 0; text-align: center}
}


/* .sitemap_area */
footer .sitemap_area { float: left; width: 33.333%;}
ul.list_sitemap { font-size: 0; margin: -13px 0 0;line-height: 0; list-style: none;}
ul.list_sitemap li { display: block; margin: 13px 0 0;}
ul.list_sitemap li a { display: inline-block; font-size: 15px; font-family: 'apercu-regular-pro'; font-weight: normal;letter-spacing: 0.075em; line-height: 20px; position: relative;z-index: 1;}
ul.list_sitemap li a:after { position: absolute; bottom: 0; right: 0; left: 0; height: 1px; content: "";background: #111; z-index: 1;transition: transform .5s cubic-bezier(.215, .61, .355, 1);transform-origin: right center;transform:scaleX(0);}

@media (hover: hover) {
ul.list_sitemap li a:hover:after { transform-origin: left center;transform:scaleX(1)}
}
@media screen and (max-width: 738px) {
footer .sitemap_area { float: none; width: 100%; text-align: center;}
ul.list_sitemap { margin: -15px 0 0;}
ul.list_sitemap li { display: inline-block; margin: 15px 0 0; width: 33.333%;} 
ul.list_sitemap li a { display: block; font-size: 14px; text-align: center; line-height: 25px;}
}

@media screen and (max-width: 738px) {
footer .from_area { margin-top: 60px;text-align:center}
ul.list_sitemap { margin: -20px 0 0;}
}


/* .snsArea */
footer .snsArea { float: left; width: 33.333%;}
footer .snsArea ul.list_sns { font-size: 0; line-height: 0; margin: -13px 0 0; list-style: none;}
footer .snsArea ul.list_sns li { display: block; margin: 13px 0 0; }
footer .snsArea ul.list_sns li a { display: inline-block; padding-left: 1.5em; font-size: 15px;font-family: 'apercu-regular-pro';font-weight: normal;letter-spacing: 0.05em; line-height: 20px; position: relative; z-index: 1;}
footer .snsArea ul.list_sns li a:before { position: absolute; top: 0; bottom: 0; left: 0; font-family:'FontAwesome'; z-index: 0;}
footer .snsArea ul.list_sns li a.sns_instagram:before {content:"\f16d";}
footer .snsArea ul.list_sns li a.sns_twitter:before {content:"\f099"}
footer .snsArea ul.list_sns li a.sns_facebook:before{content:"\f09a";left: 2px;}
footer .snsArea ul.list_sns li a.sns_x:before {content:""; width: 13px;height: 20px; background: url("../images/common/icon_x.png") center left no-repeat; background-size: contain;}
footer .snsArea ul.list_sns li a:after { position: absolute; bottom: 0; right: 0; left: 1.5em; height: 1px; content: "";background: #111; z-index: 1;transition: transform .5s cubic-bezier(.215, .61, .355, 1);transform-origin: right center;transform:scaleX(0);}
footer .snsArea ul.list_sns .t_small {font-size: 0.875em; vertical-align: 0;}

@media (hover: hover) {
footer .snsArea ul.list_sns li a:hover:after { transform-origin: left center;transform:scaleX(1)}
}
@media screen and (max-width: 738px) {
footer .snsArea { float: none; width: 100%; margin-top: 60px;}
footer .snsArea ul.list_sns { margin: -15px 0 0;}
footer .snsArea ul.list_sns li { display: inline-block; margin: 15px 0 0; width: 45%;} 
footer .snsArea ul.list_sns li a { display: block;padding-left: 0; font-size: 14px; text-align: center; line-height: 25px;}
footer .snsArea ul.list_sns li a:before { position: static; margin-right: 10px; }
footer .snsArea ul.list_sns li a.sns_x:before { display: inline-block;width: 12px; height: 12px;}
}
@media screen and (max-width: 414px) {
footer .snsArea ul.list_sns li { width: 45%;} 
}
.from_area ul.list_sitemap li a {letter-spacing: 0.05em;}

/* .logo-area */
footer .logo-area { float: left;position: relative; z-index: 0;  }
footer .logo-area h1.jp { font-size: 20px;font-family: 'Noto Sans JP', sans-serif; font-weight: 700; letter-spacing: 0.25em; line-height: 1;}
footer .logo-area h1.jp .and { padding: 0 3px; font-size: 0.9em; vertical-align: 0;}
footer .logo-area h1.name { margin-top: 12px; text-indent: 3px; font-size: 16px;font-family: 'apercu-regular-pro'; font-weight: normal; letter-spacing: 0.2em; line-height: 1;}
footer .logo-area h1.name span { margin-right: 10px;font-family: 'Dawning of a New Day', cursive; font-weight:normal; font-size:20px; vertical-align:0;  letter-spacing: 0.1em; text-transform:lowercase; }

@media screen and (max-width: 960px) {
footer .logo-area { float:none; margin-top: 80px; text-align: center;}
footer .logo-area h1.name { text-indent: 0;}
}
@media screen and (max-width: 738px) {
footer .logo-area h1.name { font-size: 15px;}
footer .logo-area h1.name span { margin-right: 8px;}
}

/* .copyrightArea */
footer .copyright_area { padding: 150px 6.5% 50px; text-align: left; z-index: 1; }
footer .copyright_area p.copy { font-size:12px; font-family: 'apercu-regular-pro'; font-weight: normal; line-height:1; letter-spacing:0.05em;}

@media screen and (max-width: 960px) {
footer .copyright_area { padding: 70px 6.5% 40px; text-align: center; }
}
@media screen and (max-width: 738px) {
footer .copyright_area { padding: 50px 5% 40px; text-align: center; }
footer .copyright_area p.copy {  font-size:11px; }
}


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

   #scrollUp

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

#scrollUp { position: absolute; bottom: 45px; right: 2.5%; z-index: 1000; }
#scrollUp a {width: 50px; height: 45px; display: block; font-size:0; position:relative; z-index:1; border:none;} 
#scrollUp a:after { position:absolute; top:0; right:0; bottom: 0; left: 0; content:""; background: url("../images/common/arrow_up.png") center center no-repeat; background-size: contain; -webkit-transition: transform 0.3s ease;  transition: transform 0.3s ease; }

@media only screen and (min-width: 961px) {
#scrollUp a:hover { transform: translateY(-5px)}
}
@media only screen and (max-width: 960px) {
#scrollUp {bottom: 45px; right: 3.5%; }
}
@media only screen and (max-width: 738px) {
#scrollUp {bottom: 35px; right: 5%; }
#scrollUp a {width: 45px; height: 40px; }
}
@media only screen and (max-width: 640px) {
#scrollUp {bottom: 30px; right: 5%; }
#scrollUp a {width: 45px; height: 35px; }
}





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

   .central

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

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





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

   .archive_journal

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

.archive_journal { display: flex; flex-wrap: wrap;  gap:90px 8%;}
.archive_journal .archive_item { width: calc((100% - 2 * 8%) / 3); position: relative; z-index: 0;}

@media screen and (max-width: 960px) {
.archive_journal { gap:80px 8%;}
.archive_journal .archive_item { width: calc((100% - 1 * 8%) / 2); }
}
@media screen and (max-width: 738px) {
.archive_journal { gap:70px 5%;}
.archive_journal .archive_item { width: calc((100% - 1 * 5%) / 2); }   
}
@media screen and (max-width: 640px) {
.archive_journal { gap:60px 5%;}    
}

/* .thumb_area */
.archive_journal .archive_item .thumb_item {aspect-ratio: 3 / 2; overflow: hidden; position: relative; z-index: 0;}
.archive_journal .archive_item .thumb_item img { height: 100%; object-fit: cover; object-position: center; display: block;}

/* .txt_area */
.archive_journal .archive_item .txt_area { margin: 20px 0 0;}

/* ul.category */
.archive_journal ul.list_cat { list-style: none; display: flex; flex-wrap: wrap; gap:0 12px;}
.archive_journal ul.list_cat li { position: relative; z-index: 0; }
.archive_journal ul.list_cat li a { display: block; font-size: 13px;font-family: 'apercu-light-pro'; font-weight: normal; line-height: 1.5; letter-spacing: 0.05em; position: relative; z-index: 0;}
.archive_journal ul.list_cat li a:after { position: absolute; bottom: 0; left: 0; right: 0; height: 0; content: ""; border-bottom: #faa59e 1px solid; z-index: 0;}

/* .t_ttl_post */
.archive_journal .archive_item .t_ttl_post { margin-top: 12px; font-size: 15px; font-weight: 400;letter-spacing: 0.075em; line-height: 1.75; }
.archive_journal .archive_item .t_ttl_post a { border-bottom: transparent 1px solid;}

/* .t_summary */
.archive_journal .t_summary { display: none;margin-top: 12px; font-size: 13px; letter-spacing: 0.075em; line-height: 1.8;}

/* .t_date */
.archive_journal .t_date { margin-top: 10px; font-size: 13px; font-family: 'apercu-regular-pro';font-weight: normal;line-height: 25px; letter-spacing: 0.075em; }
.archive_journal .t_date span.new { margin-left: 5px; color: #f08a99; }

@media (hover: hover) {
.archive_journal .archive_item .thumb_item img{-webkit-transition: all 0.5s ease;transition: all 0.5s ease;}
.archive_journal .archive_item .thumb_item:hover img {-webkit-transform: scale(0.975,0.975);transform: scale(0.975,0.975)}
.archive_journal .archive_item .t_ttl_post a:hover { border-color: #111;}
.archive_journal ul.list_cat li a:hover {color: #faa59e;}
}
@media screen and (max-width: 960px) {
.archive_journal .archive_item .txt_area{margin: 20px 0 0;}
.archive_journal ul.list_cat { gap:0 10px;}
.archive_journal ul.list_cat li { position: relative; z-index: 0; }
.archive_journal ul.list_cat li a { font-size: 12px;}
.archive_journal .archive_item .t_ttl_post{margin-top:15px; font-size: 17px;letter-spacing: 0.05em; line-height: 1.75; }
.archive_journal .t_summary { display: block; margin-top: 12px; font-size: 13px; letter-spacing: 0.075em; line-height: 1.9;}
}
@media screen and (max-width: 738px) {
.archive_journal .archive_item .txt_area{margin: 15px 0 0;}
.archive_journal ul.list_cat {  gap:0 7px;}
.archive_journal ul.list_cat li { position: relative; z-index: 0; }
.archive_journal ul.list_cat li a { font-size: 11px;}
.archive_journal .archive_item .t_ttl_post { margin-top: 12px; font-size: 14px; font-weight: 400;letter-spacing: 0.05em; line-height: 1.65; }
.archive_journal .t_summary { display: none; margin-top: 10px; font-size: 13px; letter-spacing: 0.075em; line-height: 1.8;}
.archive_journal .t_date { margin-top: 12px; font-size: 11px; line-height: 1; letter-spacing: 0.075em; }
}




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

   .archive_works

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

.archive_works { display: flex; flex-wrap: wrap; align-items: center; gap:90px 8%;}
.archive_works .archive_item { width: calc((100% - 2 * 8%) / 3); position: relative; z-index: 0; ;}

@media screen and (max-width: 960px) {
.archive_works { gap:80px 8%;}
.archive_works .archive_item { width: calc((100% - 1 * 8%) / 2); }
}
@media screen and (max-width: 738px) {
.archive_works { gap:70px 6.5%;align-items: flex-start;}
.archive_works .archive_item { width: calc((100% - 1 * 6.5%) / 2); }  
}
@media screen and (max-width: 640px) {
.archive_works { gap:60px 6.5%;}    
}

/* .thumb_area */
.archive_works .thumb_area {width: 100%; }
.archive_works .thumb_area img { width: 100%;height: auto !important;aspect-ratio: auto;display: block;-webkit-transition: all 0.5s ease;transition: all 0.5s ease;}

/* .txt_area */
.archive_works .txt_area {margin-top: 25px; }

/* ul.category */
.archive_works ul.list_cat { list-style: none; display: flex; flex-wrap: wrap; gap:0 12px;}
.archive_works ul.list_cat li { position: relative; z-index: 0; }
.archive_works ul.list_cat li a { display: block; font-size: 13px;font-family: 'apercu-light-pro'; font-weight: normal; line-height: 1.5; letter-spacing: 0.05em; position: relative; z-index: 0;}
.archive_works ul.list_cat li a:after { position: absolute; bottom: 0; left: 0; right: 0; height: 0; content: ""; border-bottom: #779fa6 1px solid; z-index: 0;}

/* h1 */
.archive_works .archive_item .t_ttl_works { margin-top: 15px; font-size: 16px;/*font-family: 'apercu-regular-pro','Noto Sans JP', sans-serif; */font-weight: 400;letter-spacing: 0.075em; line-height: 1.5; }
.archive_works .archive_item .t_ttl_works a { border-bottom: transparent 1px solid;}
.archive_works .archive_item .t_ttl_works a:hover { border-color: #111;}

/* .t_type */
.archive_works .t_type { margin-top: 10px; font-size: 12px; font-weight: 400; letter-spacing: 0.075em; line-height: 1.7;}

/* .date */
.archive_works .t_year { margin-top: 10px; font-size: 13px; font-family: 'apercu-regular-pro';font-weight: normal;line-height: 25px; letter-spacing: 0.075em; }
.archive_works .t_year span.new { margin-left: 5px; color: #f08a99; }

@media (hover: hover) {
.archive_works .thumb_item {-webkit-transition: all 0.5s ease;transition: all 0.5s ease;}
.archive_works .archive_item a:hover img {-webkit-transform: scale(0.975,0.975);transform: scale(0.975,0.975)}
.archive_works .archive_item .t_ttl_works a:hover { border-color: #111;}
.archive_works ul.list_cat li a:hover {color: #779fa6;}
}
@media screen and (max-width: 960px) {
.archive_works .txt_area {margin-top: 20px; }
.archive_works ul.list_cat { gap:0 10px;}
.archive_works ul.list_cat li { position: relative; z-index: 0; }
.archive_works ul.list_cat li a { font-size: 12px;}
.archive_works .archive_item .t_ttl_works { margin-top: 12px; font-size: 16px;font-weight: 400;letter-spacing: 0.05em; line-height: 1.6; }
.archive_works .t_type { margin-top: 7px; font-size: 12px;letter-spacing: 0.075em; line-height: 1.8;}
.archive_works .t_year { margin-top: 8px; font-size: 13px; line-height: 1.9; letter-spacing: 0.075em; }    
}
@media screen and (max-width: 738px) {
.archive_works .txt_area {margin-top: 15px; }
.archive_works ul.list_cat {  gap:0 7px;}
.archive_works ul.list_cat li { position: relative; z-index: 0; }
.archive_works ul.list_cat li a { font-size: 11px;}
.archive_works .archive_item .t_ttl_works { margin-top: 10px; font-size: 15px; font-weight: 400;letter-spacing: 0.05em; line-height: 1.55; }
.archive_works .t_type { margin-top: 7px; font-size: 12px; line-height: 1.7;}
.archive_works .t_year { margin-top: 12px; font-size: 11px;line-height: 1; letter-spacing: 0.075em;}
}






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

   .block_bottom_about

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

.block_bottom_about { padding: 0 6.5%; position: relative; z-index: 1; }

@media screen and (max-width: 960px) {
.block_bottom_about { padding: 0;}
}

/* .about_area */
.block_bottom_about .about_area { padding: 90px 6.5%;background: #e0eaee; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}

/* .img_area */
.block_bottom_about .img_area { width: 40%;}

/* .txt_area */
.block_bottom_about .txt_area { width: 45%; margin-right: 2.5%;}
.block_bottom_about .name_area .t_cat_job {font-size: 15px; font-family: 'apercu-regular-pro';font-weight: normal;letter-spacing: 0.05em; line-height: 1;}
.block_bottom_about .name_area .t_name_jp { margin-top: 15px;font-size: 18px;font-family: 'Noto Sans JP', sans-serif; font-weight: 500; letter-spacing: 0.2em; line-height: 1; }
.block_bottom_about .description_area { margin-top: 25px;}
.block_bottom_about .description_area p { font-size: 15px; line-height: 2.1;}
.block_bottom_about  .link_area { margin-top: 30px;justify-content: flex-start;}
.block_bottom_about .link_area a.btn{margin: 0;}

@media screen and (max-width: 960px) {
.block_bottom_about .about_area { padding: 120px 6.5%; align-items: flex-start;}
.block_bottom_about .img_area { width: 35%;}
.block_bottom_about .txt_area { width: 55%; margin: 0;}
.block_bottom_about .name_area .t_cat_job {font-size: 15px; }
.block_bottom_about .name_area .t_name_jp { margin-top: 12px;font-size: 18px}
.block_bottom_about .description_area { margin-top: 20px;}
.block_bottom_about .description_area p { font-size: 15px; line-height: 2;}
.block_bottom_about .link_area { margin-top: 25px; }
}
@media only screen and (max-width: 738px) {
.block_bottom_about .about_area { padding: 90px 5%;display: block;}
.block_bottom_about .img_area { width: 100%; max-width: 320px; margin: 0 auto;}
.block_bottom_about .txt_area { width: 90%; max-width: 560px; margin: 35px auto 0;}
.block_bottom_about .name_area { text-align: center;}
.block_bottom_about .name_area .t_cat_job {font-size: 14px;}
.block_bottom_about .name_area .t_name_jp { margin-top: 12px;font-size: 16px; letter-spacing: 0.15em;}
.block_bottom_about .description_area { margin-top: 25px;}
.block_bottom_about .description_area p { font-size: 15px; line-height: 2;}
.block_bottom_about .link_area { margin-top: 30px;justify-content: center;}
.block_bottom_about .link_area a.btn{margin: 0 auto;}
}





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

   .block_bottom_offer

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

.block_bottom_offer { padding: 0 6.5%; position: relative; z-index: 1; }

@media screen and (max-width: 960px) {
.block_bottom_offer { padding: 0;}
}

/* .about_area */
.block_bottom_offer .offer_area { padding: 90px 6.5%;background: #f1ede8; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}

/* .img_area */
.block_bottom_offer .img_area { width: 40%;}

/* .txt_area */
.block_bottom_offer .txt_area { width: 45%; margin-right: 2.5%;}
.block_bottom_offer .t_ttl_section_en_small {}
.block_bottom_offer .description_area { margin-top: 25px;}
.block_bottom_offer .description_area p { font-size: 15px; line-height: 2.1;}
.block_bottom_offer .link_area { margin-top: 30px;justify-content: flex-start;}
.block_bottom_offer .link_area a.btn{margin: 0;}

@media screen and (max-width: 960px) {
.block_bottom_offer .offer_area { padding: 120px 6.5%; align-items: flex-start;}
.block_bottom_offer .img_area { width: 40%;}
.block_bottom_offer .txt_area { width: 52.5%; margin: 0;}
.block_bottom_offer .description_area { margin-top: 20px;}
.block_bottom_offer .description_area p { font-size: 15px; line-height: 2;}
.block_bottom_offer .link_area { margin-top: 25px; }
}
@media only screen and (max-width: 738px) {
.block_bottom_offer .offer_area { padding: 90px 5%;display: block;}
.block_bottom_offer .img_area { width: 100%; max-width: 320px; margin: 0 auto;}
.block_bottom_offer .txt_area { width: 90%; max-width: 650px; margin: 35px auto 0;}
.block_bottom_offer .t_ttl_section_en_small { text-align: center;}
.block_bottom_offer .description_area { margin-top: 20px;}
.block_bottom_offer .description_area p { font-size: 15px; line-height: 2;}
.block_bottom_offer .link_area { margin-top: 30px;justify-content: center;}
.block_bottom_offer .link_area a.btn{margin: 0 auto;}
}





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

   #breadcrumb

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

#breadcrumb { position: relative; z-index:0; padding: 0 6.5% 0;}

#breadcrumb ol { list-style: none; font-size:0; line-height:1; margin:0;white-space: nowrap;}
#breadcrumb li { display: inline-block; height:25px; font-size:15px; font-family: 'apercu-regular-pro','Noto Sans JP';font-weight: normal; letter-spacing:0.075em; line-height:25px; margin:0; padding:0; font-feature-settings:"palt" 1; word-break: break-all; white-space: nowrap }
#breadcrumb li:after { height:25px; font-size:10px; font-family:'themify'; content:"\e649"; font-weight:normal; line-height:25px; margin:0 15px; }
#breadcrumb li:last-child:after { display: none; }
#breadcrumb li a { display: inline-block;position: relative; z-index:1; height:25px; font-family: 'apercu-light-pro';line-height:25px; }
#breadcrumb li a:after { position: absolute; bottom: 0; right: 0; left: 0; height: 1px; content: "";background: #111; z-index: 1;transition: transform .5s cubic-bezier(.215, .61, .355, 1);transform-origin: right center;transform:scaleX(0);}
#breadcrumb li h1 {font-size:15px;font-weight:normal;}

@media (hover: hover) {
#breadcrumb li a:hover:after { transform-origin: left center;transform:scaleX(1)}
}
@media only screen and (max-width:738px) {
#breadcrumb { padding: 0 5% 0;}
#breadcrumb li { height:25px; font-size:14px; line-height:25px; }
#breadcrumb li:after { height:25px; font-size:8px; line-height:25px; margin:0 10px; }
#breadcrumb li a { height:25px; line-height:25px; }
}
@media only screen and (max-width:414px) {
#breadcrumb li { font-size:13px;white-space:nowrap;}
#breadcrumb li:last-child {overflow: hidden;text-overflow: ellipsis; width:15em;}
#breadcrumb li:after { font-size:8px; margin:0 8px; }
}
@media only screen and (max-width:400px) {
#breadcrumb li:last-child {max-width:14em;}
}
@media only screen and (max-width:380px) {
#breadcrumb li:last-child {max-width:13em;}
}
@media only screen and (max-width:320px) {
#breadcrumb li:last-child {max-width:12em;}
}





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

   .headline

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

.headline { margin-bottom:100px;}
.headline_mini { margin-bottom: 50px;}
.headline h2.en{ margin: 0; font-size: 35px; font-family: 'apercu-regular-pro';font-weight: normal; letter-spacing: 0.1em; line-height:1;position: relative;z-index:1;}
.headline h2.en_small{ margin: 0; font-size: 25px; font-family: 'apercu-regular-pro';font-weight: normal; letter-spacing: 0.1em;  line-height:1;position: relative;z-index:1;}
.headline h2.jp{ position: relative; margin: 15px 0 0; font-size: 14px; font-weight: 700; letter-spacing: 2px; font-feature-settings:"palt" 1;line-height:1; z-index:1; }

.t_ttl_section_en{ font-size: 32px; font-family: 'apercu-regular-pro';font-weight: normal; letter-spacing: 0.1em; line-height:1; }
.t_ttl_section_en_small{ font-size: 25px; font-family: 'apercu-regular-pro';font-weight: normal; letter-spacing: 0.1em; }

@media only screen and (max-width: 960px) {
.headline { margin-bottom:80px;}
 .t_ttl_section_en{ font-size: 30px; }   
.t_ttl_section_en_small{ font-size: 22px; }
.headline_mini { margin-bottom: 45px;}
.headline h2.en{ font-size: 30px;  }
.headline h2.en_small{ font-size: 20px; }
}
@media only screen and (max-width: 738px) {
.headline { margin-bottom:70px;}
 .t_ttl_section_en{ font-size: 25px; }   
.t_ttl_section_en_small{ font-size: 20px; }
.headline_mini { margin-bottom: 30px;}
.headline h2.en{ font-size: 25px;  }
.headline h2.en_small{ font-size: 18px; }
}




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

   .link_area

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

.link_area { margin-top: 90px; text-align: center; display: flex; justify-content: center;}

/* a.btn */
.link_area a.btn { display: inline-block; margin: 0 auto; width: 100%;max-width: 270px; border:#ddd 1px solid;font-size: 15px; font-family: 'apercu-regular-pro'; font-weight: normal;line-height: 60px; letter-spacing: 0.05em; text-align: center;position: relative; z-index: 1;-webkit-border-radius: 3px; border-radius: 3px;}
.link_area a.btn:before { font-family: 'themify'; content: "\e649"; font-style: normal; font-weight: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; position: absolute; top: 0; right: 12px; z-index: 1; }
.link_area a.btn_white { background: #fafafa; border-color:#fafafa; }
.link_area a.btn_mini { max-width: 220px;line-height: 50px;}

.link_area a.btn:hover { color: #fafafa; background: #111; border-color: #111; }
.link_area a.btn_instagram:before { right: auto; left: 12px;font-family:'FontAwesome'; content:"\f16d"; font-size: 18px;}

/* .btn_swap */
.btn_swap { padding: 0 15px; height: 60px; display: block;display: flex; width: 270px; max-width: 270px;align-items: center; justify-content: center;overflow: hidden; border: #ddd 1px solid;font-size: 16px; font-family: 'apercu-regular-pro'; font-weight: normal; letter-spacing: 0.05em; position: relative; z-index: 0;border-radius: 2px; }
.btn_swap::after { position:absolute; top:0; right:12px; bottom:0; line-height: 60px; font-size:1em; font-family:themify;content:"\e649";font-weight:normal; z-index:0; }
.btn_swap__text {display: block;position: relative;height: 1em;line-height: 1;overflow: hidden; z-index: 0;}
.btn_swap__text_inner {display: block;transform: translateY(0%); transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1),opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1);}
.btn_swap__text::before {content: attr(data-text);position: absolute; left: 0; top: 100%;width: 100%;text-align: left; transform: translateY(0%);transition: transform 0.4s cubic-bezier(0.19, 1, 0.22, 1),opacity 0.4s cubic-bezier(0.19, 1, 0.22, 1); opacity: 0;}

.btn_swap_white { background: #fafafa; border-color:#fafafa; }
.btn_swap_mini { max-width: 220px;width: 220px;height: 50px;}
.btn_swap_mini::after { line-height: 50px; }
.btn_swap_instagram { padding: 0 10px; letter-spacing: 0.025em;}
.btn_swap_instagram:after { right: auto; left: 15px; font-family:'FontAwesome'; content:"\f16d"; font-size: 1.1em;}
.btn_swap_mail { max-width: 280px;width: 280px; padding: 0 10px 0 20px;}
.btn_swap_mail:after { right: auto; left: 15px; font-size: 1em; content:"\e75a"; font-weight: 400;}

@media (hover: hover) {
.btn_swap:hover { color: #fafafa; background: #111; border-color: #111; }
.btn_swap:hover .btn_swap__text_inner { transform: translateY(-100%);opacity: 0;}
.btn_swap:hover .btn_swap__text::before {transform: translateY(-100%);opacity: 1;}
}
@media only screen and (max-width: 960px) {
.link_area { margin-top: 80px;}
.btn_swap { padding: 0 15px; height: 60px; width: 240px; max-width: 240px;font-size: 16px;}
.btn_swap_mini { max-width: 200px;width: 200px;height: 50px;}    
.btn_swap_mail { max-width: 270px;width: 100%; padding: 0 10px 0 20px;}
}
@media only screen and (max-width: 738px) {
.link_area { margin-top: 70px;}
.btn_swap { padding: 0 15px; height: 50px; width: 240px; max-width: 240px;font-size: 15px;}
.btn_swap::after { line-height: 50px; }
.btn_swap_mini { max-width: 200px;width: 200px;height: 45px;}     
.btn_swap_mini::after { line-height: 45px; }
.btn_swap_mail { max-width: 260px;width: 100%; padding: 0 10px 0 20px;}
    
.link_area a.btn {font-size: 15px;line-height: 50px;}
.link_area a.btn:before { font-size: 13px;}
.link_area a.btn_mini { max-width: 250px;line-height: 45px;}
.link_area a.btn_instagram:before { font-size: 15px;}
}




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

   #preloader

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

#preloader { position: fixed; top: 0; left: 0; right: 0; bottom: 0; display:block; background: rgba(255,255,255,0.975); /*background: #fafafa;*/ z-index: 99998;}

.spinner { opacity: 0.3; position: absolute;top: 0; right: 0; bottom: 0; left: 0;width: 45px;height: 45px;margin: auto;border-radius: 100%;background-color: transparent;border: 1px solid transparent;border-top: 1px solid #ddd;border-left: 1px solid #ddd; -webkit-animation: 2s spin linear infinite;animation: 2s spin linear infinite;}                                      
.spinner:nth-child(2) {border: 1px solid transparent;border-right: 1px solid #111;border-bottom: 1px solid #111;-webkit-animation: 1s spin linear infinite;animation: 1s spin linear infinite;}

@-webkit-keyframes spin {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}
          
@keyframes spin {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@media only screen and (max-width: 738px) {
.spinner {width: 45px;height: 45px;}
}


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

   .slick-slider

   -------------------------------------------------------------------------------------- */
.slick-slider{position:relative;display:block;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none;-webkit-tap-highlight-color:transparent}
.slick-list{position:relative;overflow:hidden;display:block;margin:0;padding:0}
.slick-list:focus{outline:0}
.slick-loading .slick-list{background:white}
.slick-list.dragging{cursor:pointer;cursor:hand}
.slick-slider .slick-list,.slick-track,.slick-slide,.slick-slide img{-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;left:0;top:0;display:block;zoom:1}
.slick-track:before,.slick-track:after{content:"";display:table}
.slick-track:after{clear:both}
.slick-loading .slick-track{visibility:hidden}
.slick-slide{float:left;height:100%;min-height:1px;display:none}
.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}

/* --- Dots --- */
.slick-dots{position:absolute;list-style:none;text-align:center;height:10px;z-index:100}
.slick-dots li{position:relative;display:inline-block;margin:0 8px;padding:0;cursor:pointer;-webkit-transition:all 1s ease-out;-moz-transition:all 1s ease-out;-o-transition:all 1s ease-out;transition:all 1s ease-out}
.slick-dots li button{border:1px solid #111; background:transparent;  display:block;height:8px;width:8px;overflow:hidden;line-height:8px;font-size:0;color:transparent;cursor:pointer; padding:2px; -webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}
.slick-dots li.slick-active button{outline:0;background:#111;border-color:#111; }

@media screen and (max-width: 900px) {
.slick-dots{margin-top: 30px;}
.slick-dots li{margin:0 8px;}
}




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

  #404

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

#page_404 {margin-top: 90px; padding: 0 6.5% 150px;}

@media screen and (max-width: 960px) {
#page_404 { margin-top: 80px; padding: 0 6.5% 120px; }
}
@media screen and (max-width: 738px) {
#page_404 { margin-top: 70px; padding: 0 5% 100px; }
}
@media screen and (max-width: 640px) {
#page_404 { margin-top: 60px; }
}


/* .catch_area */
#page_404 .catch_area h2.catch {font-size: 70px; font-family: 'apercu-regular-pro';font-weight: normal;letter-spacing: 0; line-height: 1.15;}

@media screen and (max-width: 1200px) {
#page_404 .catch_area h2.catch {font-size: 6vw; }
}
@media screen and (max-width: 960px) {
#page_404 .catch_area h2.catch {font-size: 7vw; line-height: 1.15; }
}
@media screen and (max-width: 738px) {
#page_404 .catch_area h2.catch {font-size: 8vw; line-height: 1.15; letter-spacing: 0.02em;}
}
@media screen and (max-width: 500px) {
#page_404 .catch_area h2.catch {font-size: 9.5vw; line-height: 1.1; }
}

/* ----- .profile_area ----- */
#page_404 .not_area { margin-top: 90px; display: flex; flex-wrap: wrap; justify-content: space-between; position: relative; z-index: 0;}

@media screen and (max-width: 960px) {
#page_404 .not_area { margin-top: 80px; }
}
@media screen and (max-width: 738px) {
#page_404 .not_area {margin-top: 70px; display: block; }
}


/* .img_area */
#page_404 .not_area .img_area { width: 25%; }

@media screen and (max-width: 960px) {
#page_404 .not_area .img_area { width: 30%;  }
}
@media only screen and (max-width: 738px) {
#page_404 .not_area .img_area { width: 100%;}
    #page_404 .not_area .img_area img {display: block; margin: 0 auto; width: 100%;}
}

/* .txt_area */
#page_404 .not_area .txt_area {  width: 50%;margin-right: 15%;  }
#page_404 .not_area .txt_area h3 { margin-bottom: 35px; font-size:17px; font-weight:500; line-height:1.9; letter-spacing:0.1em;}
#page_404 .not_area .link_area { margin-top: 45px; justify-content: flex-start;}
#page_404 .not_area .link_area .btn_swap {margin: 0;}

@media screen and (max-width: 1100px) {
#page_404 .not_area .txt_area {  width: 60%;margin-right: 5%;  }
}
@media screen and (max-width: 960px) {
#page_404 .not_area .txt_area { width: 62.5%; margin: 0;}
#page_404 .not_area .txt_area h3 { margin-bottom: 30px;}
#page_404 .not_area .link_area { margin-top: 40px; text-align: left;}
}
@media only screen and (max-width: 738px) {
#page_404 .not_area .txt_area {  width: 100%;  margin: 50px auto 0; padding: 0;  }
#page_404 .not_area .link_area { margin-top: 40px; text-align: center;}
}
@media only screen and (max-width: 640px) {
#page_404 .not_area .txt_area {margin: 50px auto 0; }
#page_404 .not_area .txt_area h3 {text-align: center;}
#page_404 .not_area .link_area { justify-content: center}
}
