@charset "UTF-8";
/*partials
───────────────────────*/
/*─────valiables─────*/
/*---------------alert-----*/
/*---------------gray-----*/
/*-------general-color-----*/
/*─────typography─────*/
/* Fluid Typography
-------------------------------------------------- */
html {
  font-size: clamp(14px, 0.875vw + 0.5rem, 16px);
}

body {
  font-size: 1rem;
  line-height: 1.8;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.material-icons {
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

/*breakpoints
───────────────────────*/
/*─────BASE─────*/
html {
  scroll-padding-top: 0;
  overflow-y: overlay;
}

::-webkit-scrollbar {
  width: 8px;
  background: transparent !important;
}

::-webkit-scrollbar-track {
  background: transparent !important;
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
}
::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.5);
}

html {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
}

.scroll-a::-webkit-scrollbar {
  width: 12px;
  /* 横幅 */
}

.scroll-a::-webkit-scrollbar-thumb {
  background: #276976;
  /* ハンドルの色 */
}

.scroll-a::-webkit-scrollbar-track {
  background: #DAEFEF;
  /* 背景色 */
}

i {
  vertical-align: middle;
  line-height: 1;
  margin: 0;
  padding: 0;
}

/*────────────────────────────────────────────────────────────────────────────────
Lantern Cursor
────────────────────────────────────────────────────────────────────────────────*/
.lantern-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 180px;
  height: 180px;
  pointer-events: none;
  z-index: 99999;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s;
}
.lantern-cursor .lantern-glow {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 220, 120, 0.5) 0%, rgba(255, 200, 80, 0.3) 20%, rgba(255, 180, 60, 0.15) 40%, transparent 70%);
  filter: blur(25px);
  mix-blend-mode: screen;
  opacity: 0.8;
}

.lantern-trail {
  position: fixed;
  width: 80px;
  height: 80px;
  pointer-events: none;
  z-index: 99998;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 200, 80, 0.4) 0%, rgba(255, 180, 60, 0.2) 40%, transparent 70%);
  filter: blur(10px);
  mix-blend-mode: screen;
  opacity: 0.5;
}

body:not(:hover) .lantern-cursor {
  opacity: 0;
}

a {
  display: block;
}

a,
a img,
img,
li {
  text-decoration: none;
  transition: 0.2s ease-in-out !important;
  outline: none !important;
}

a,
a img {
  cursor: pointer !important;
}

a:focus,
*:focus {
  outline: none !important;
}

a:hover {
  cursor: pointer;
}

li {
  font-size: 14px;
  letter-spacing: 0.1rem;
}

span {
  font-size: 14px;
  letter-spacing: 0.1rem;
  transition: 0.15s ease-in-out;
}

p {
  line-break: strict;
  overflow-wrap: break-word;
  font-size: 14px;
  -ms-word-wrap: break-word;
  word-break: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  hyphens: auto;
  -webkit-hyphenate-before: 2;
  -webkit-hyphenate-after: 3;
  hyphenate-lines: 3;
  line-height: 1.7;
  letter-spacing: 0.1rem;
  font-weight: 400;
  color: #111211;
  margin: 0;
  transition: 0.15s ease-in-out;
}
p a {
  display: inline-block;
  border-bottom: 1px solid #111211;
}

@media screen and (max-width: 768px) {
  p {
    font-size: 0.8rem !important;
  }
}
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

figure,
img,
video {
  margin: 0;
  padding: 0;
  line-height: 0;
  vertical-align: bottom;
  transition: 0.15s ease-in-out;
}

.align_left {
  text-align: left;
}

.align_right {
  text-align: right;
}

.align_center {
  text-align: center;
}

.margin_top {
  margin-top: 150px;
}

.margin_bottom {
  margin-bottom: 150px;
}

.padding {
  padding: 120px 0 30px;
}

::-moz-selection {
  color: #ffffff;
  background: #111211;
}

::selection {
  color: #ffffff;
  background: #111211;
}

::-moz-selection {
  color: #ffffff;
  background: #111211;
}

.pswp {
  z-index: 1000000000000000000000000000000 !important;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.googlemap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  /*16:9の比率にしたい場合、9/16=56.25%*/
}
.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*────────────────────────────────────────────────────────────────────────────────
Main layput style
────────────────────────────────────────────────────────────────────────────────*/
body {
  display: none;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  background: #111211;
  position: relative;
  animation: fadein 2s forwards;
  font-weight: 400;
  letter-spacing: 0.1rem;
  color: #111211;
  font-size: 14px;
}
body .site {
  position: relative !important;
}
body main {
  margin: 0 !important;
  background: #111211;
}
body main .subpages_wrapper {
  display: block;
  padding-bottom: 50px;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.wrap {
  max-width: 1300px;
  width: 91%;
  margin: 0 auto;
}

.large_wrap {
  max-width: 2000px;
  width: 92%;
  margin: 0 auto;
}

.medium_wrap {
  max-width: 1000px;
  width: 92%;
  margin: 0 auto;
}

.tiny_wrap {
  max-width: 850px;
  width: 92%;
  margin: 0 auto;
}

@media screen and (max-width: 1024px) {
  body main {
    width: 100%;
    margin: 0 auto;
    padding: 0 !important;
    min-height: auto;
  }
  body main .main_wrap {
    margin: 0 !important;
    padding-bottom: 120px;
  }
  p {
    font-size: 0.9rem !important;
  }
}
@media screen and (max-width: 768px) {
  body main {
    padding: 0;
  }
  body main .main_wrap {
    margin: 40 auto 0 !important;
    padding-bottom: 40px;
  }
  body main p,
  body main li {
    font-size: 0.8rem !important;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
h1-h5 style
────────────────────────────────────────────────────────────────────────────────*/
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  text-rendering: optimizelegibility;
  margin: 0;
  letter-spacing: 0.1rem;
  font-weight: 600;
  font-family: "Outfit", sans-serif;
}
h1 a,
.h1 a,
h2 a,
.h2 a,
h3 a,
.h3 a,
h4 a,
.h4 a,
h5 a,
.h5 a {
  text-decoration: none;
}

h1,
.h1 {
  font-size: 1.5em;
  line-height: 1.333em;
}

h2,
.h2 {
  font-size: 1.3em;
  line-height: 1.4em;
  margin-bottom: 0.375em;
}

h3,
.h3 {
  font-size: 1em;
  font-weight: 600;
}

h4,
.h4 {
  font-size: 1em;
  font-weight: 700;
}

h5,
.h5 {
  font-size: 1em;
  line-height: 2.09em;
  letter-spacing: 2px;
}

/*--------------------
LARGER MOBILE DEVICES
--------------------*/
@media only screen and (min-width: 481px) {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: 481px and Up Stylesheet

  This stylesheet is loaded for larger devices. It's set to
  481px because at 480px it would load on a landscaped iPhone.
  This isn't ideal because then you would be loading all those
  extra styles on that same mobile connection.

  A word of warning. This size COULD be a larger mobile device,
  so you still want to keep it pretty light and simply expand
  upon your base.scss styles.

  ******************************************************************/
  /*
  IMPORTANT NOTE ABOUT SASS 3.3 & UP
  You can't use @extend within media queries
  anymore, so just be aware that if you drop
  them in here, they won't work.
  */
  /*********************
  NAVIGATION STYLES
  *********************/
  /* .menu is clearfixed inside mixins.scss */
  .menu {
    /* end .menu ul */
  }
  .menu ul {
    /* end .menu ul li */
    /* highlight current page */
    /* end current highlighters */
  }
  .menu ul li {
    /*
    plan your menus and drop-downs wisely.
    */
  }
  .menu ul li a {
    /*
    you can use hover styles here even though this size
    has the possibility of being a mobile device.
    */
  }
  /* end .menu */
  /*********************
  POSTS & CONTENT STYLES
  *********************/
  /* entry content */
  .entry-content {
    /* at this larger size, we can start to align images */
  }
  .entry-content .alignleft, .entry-content img.alignleft {
    margin-right: 1.5em;
    display: inline;
    float: left;
  }
  .entry-content .alignright, .entry-content img.alignright {
    margin-left: 1.5em;
    display: inline;
    float: right;
  }
  .entry-content .aligncenter, .entry-content img.aligncenter {
    margin-right: auto;
    margin-left: auto;
    display: block;
    clear: both;
  }
  /* end .entry-content */
  /*********************
  FOOTER STYLES
  *********************/
  /*
  check your menus here. do they look good?
  do they need tweaking?
  */
  /* end .footer-links */
}
/*--------------------
TABLET & SMALLER LAPTOPS
--------------------*/
@media only screen and (min-width: 768px) {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: Tablet & Small Desktop Stylesheet

  Here's where you can start getting into the good stuff.
  This size will work on iPads, other tablets, and desktops.
  So you can start working with more styles, background images,
  and other resources. You'll also notice the grid starts to
  come into play. Have fun!

  ******************************************************************/
  /*********************
  GENERAL STYLES
  *********************/
  /*********************
  LAYOUT & GRID STYLES
  *********************/
  /*********************
  HEADER STYLES
  *********************/
  /*********************
  NAVIGATION STYLES
  *********************/
  .nav {
    border: 0;
    /* end .menu ul li */
    /* highlight current page */
    /* end current highlighters */
  }
  .nav ul {
    background: #111211;
    margin-top: 0;
  }
  .nav li {
    float: left;
    position: relative;
    /*
    plan your menus and drop-downs wisely.
    */
    /* showing sub-menus */
  }
  .nav li a {
    border-bottom: 0;
    /*
    you can use hover styles here even though this size
    has the possibility of being a mobile device.
    */
  }
  .nav li a:hover, .nav li a:focus {
    color: #ffffff;
    text-decoration: underline;
  }
  .nav li ul.sub-menu,
  .nav li ul.children {
    margin-top: 0;
    border: 1px solid #ccc;
    border-top: 0;
    position: absolute;
    visibility: hidden;
    z-index: 8999;
    /* highlight sub-menu current page */
  }
  .nav li ul.sub-menu li,
  .nav li ul.children li {
    /*
    if you need to go deeper, go nuts
    just remember deeper menus suck
    for usability. k, bai.
    */
  }
  .nav li ul.sub-menu li a,
  .nav li ul.children li a {
    padding-left: 10px;
    border-right: 0;
    display: block;
    width: 180px;
    border-bottom: 1px solid #ccc;
  }
  .nav li ul.sub-menu li:last-child a,
  .nav li ul.children li:last-child a {
    border-bottom: 0;
  }
  .nav li ul.sub-menu li ul,
  .nav li ul.children li ul {
    top: 0;
    left: 100%;
  }
  .nav li:hover > ul {
    top: auto;
    visibility: visible;
  }
  /* end .nav */
  /*********************
  SIDEBARS & ASIDES
  *********************/
  .sidebar {
    margin-top: 2.2em;
  }
  .widgettitle {
    border-bottom: 2px solid #444;
    margin-bottom: 0.75em;
  }
  .widget {
    padding: 0 10px;
    margin: 2.2em 0;
  }
  .widget ul li {
    margin-bottom: 0.75em;
    /* deep nesting */
  }
  .widget ul li ul {
    margin-top: 0.75em;
    padding-left: 1em;
  }
  /* links widget */
  /* meta widget */
  /* pages widget */
  /* recent-posts widget */
  /* archives widget */
  /* tag-cloud widget */
  /* calendar widget */
  /* category widget */
  /* recent-comments widget */
  /* search widget */
  /* text widget */
  /*********************
  FOOTER STYLES
  *********************/
  /*
  you'll probably need to do quite a bit
  of overriding here if you styled them for
  mobile. Make sure to double check these!
  */
  .footer-links ul li {
    /*
    be careful with the depth of your menus.
    it's very rare to have multi-depth menus in
    the footer.
    */
  }
  /* end .footer-links */
}
/*--------------------
DESKTOP
--------------------*/
@media only screen and (min-width: 1030px) {
  /******************************************************************
  Site Name:
  Author:

  Stylesheet: Desktop Stylsheet

  This is the desktop size. It's larger than an iPad so it will only
  be seen on the Desktop.

  ******************************************************************/
}
/*--------------------
LARGE VIEWING SIZE
--------------------*/
@media only screen and (min-width: 1240px) {
  /******************************************************************
  Site Name: 
  Author: 

  Stylesheet: Super Large Monitor Stylesheet

  You can add some advanced styles here if you like. This kicks in
  on larger screens.

  ******************************************************************/
}
/*--------------------
RETINA (2x RESOLUTION DEVICES)
--------------------*/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  /******************************************************************
  Site Name: 
  Author: 

  Stylesheet: Retina Screens & Devices Stylesheet

  When handling retina screens you need to make adjustments, especially
  if you're not using font icons. Here you can add them in one neat
  place.

  ******************************************************************/
  /* 

  EXAMPLE 
  Let's say you have an image and you need to make sure it looks ok
  on retina screens. Let's say we have an icon which dimension are
  24px x 24px. In your regular stylesheets, it would look something
  like this:

  .icon {
  	width: 24px;
  	height: 24px;
  	background: url(img/test.png) no-repeat;
  }

  For retina screens, we have to make some adjustments, so that image
  doesn't look blurry. So, taking into account the image above and the
  dimensions, this is what we would put in our retina stylesheet:

  .icon {
  	background: url(img/test@2x.png) no-repeat;
  	background-size: 24px 24px;
  }

  So, you would create the same icon, but at double the resolution, meaning 
  it would be 48px x 48px. You'd name it the same, but with a @2x at the end
  (this is pretty standard practice). Set the background image so it matches
  the original dimensions and you are good to go. 

  */
}
/*modules
───────────────────────*/
/*────────────────────────────────────────────────────────────────────────────────
header
────────────────────────────────────────────────────────────────────────────────*/
header.header {
  z-index: 98;
  width: 100%;
  margin: 0;
  height: 90px;
  transition: 1s ease-in-out;
  background: transparent;
  position: fixed;
  left: 0;
  top: 0;
  left: 0;
}
header.header.stretch .header_wrapper a.logo h1 img,
header.header.stretch .header_wrapper a.logo span img {
  transition: 2.5s ease-in-out;
  max-width: 250px;
  height: auto;
  opacity: 0.85 !important;
}
header.header .header_wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
  height: 100%;
  width: 100%;
  z-index: 10000;
}
@media screen and (max-width: 1024px) {
  header.header .header_wrapper {
    height: 100%;
  }
}
header.header .header_wrapper a.logo {
  margin: 0;
  padding: 0 0 0 20px;
  flex-basis: 20%;
}
@media screen and (max-width: 1024px) {
  header.header .header_wrapper a.logo {
    margin: 0;
    padding: 0;
    flex-basis: 100%;
    width: 100%;
  }
}
header.header .header_wrapper a.logo h1,
header.header .header_wrapper a.logo span {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  header.header .header_wrapper a.logo h1,
  header.header .header_wrapper a.logo span {
    padding: 7px 14px 0;
    width: 63%;
    display: flex;
    justify-content: flex-start;
  }
}
header.header .header_wrapper a.logo h1 img,
header.header .header_wrapper a.logo span img {
  transition: 2.5s ease-in-out;
  max-width: 280px;
  height: auto;
  filter: blur(20px) contrast(0.5) brightness(80);
  opacity: 0.4;
}
@media screen and (max-width: 1024px) {
  header.header .header_wrapper a.logo h1 img,
  header.header .header_wrapper a.logo span img {
    width: 100%;
    height: auto;
    margin: 0;
  }
}
header.header .header_wrapper .header_menu_wrapper {
  flex-basis: 80%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner nav.header_menu_content {
  display: flex;
  align-items: center;
  height: 100%;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner nav.header_menu_content .language_box ul::after {
  color: #ffffff;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner nav.header_menu_content .language_box ul li span {
  color: #ffffff;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner nav.header_menu_content .language_box ul li span a {
  color: #ffffff;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner nav.header_menu_content .language_box ul li.current span a::after {
  background: #ffffff;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner nav.header_menu_content .mb_fixed_button_menu {
  display: none;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .menu-trigger {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 100%;
  z-index: 999999;
  transition: all 0.4s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .menu-trigger .menu-trigger-lines {
  cursor: pointer;
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .menu-trigger .menu-trigger-lines span.menuline {
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 50%;
  height: 1px;
  background-color: #ffffff;
  transition: all 0.4s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .menu-trigger .menu-trigger-lines span.menuline:nth-of-type(1) {
  top: 45%;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .menu-trigger .menu-trigger-lines span.menuline:nth-of-type(2) {
  bottom: 45%;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .menu-trigger .menu-trigger-lines span.menu-trigger-title {
  display: none;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .menu-trigger:hover .menu-trigger-lines span.menuline:nth-of-type(1) {
  top: 50%;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .menu-trigger:hover .menu-trigger-lines span.menuline:nth-of-type(2) {
  bottom: 50%;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .menu-trigger.active .menu-trigger-lines span.menuline {
  background-color: #ffffff;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .menu-trigger.active .menu-trigger-lines span.menuline:nth-of-type(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-25deg);
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .menu-trigger.active .menu-trigger-lines span.menuline:nth-of-type(2) {
  bottom: 50%;
  transform: translate(-50%, 50%) rotate(25deg);
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer {
  background: #111211;
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  border: 0;
  z-index: 99999 !important;
  overflow-y: auto;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .mb_drawer_inner {
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  position: relative;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .mb_drawer_logo {
  position: absolute;
  top: 0;
  left: 0;
  padding: 20px 0 0 20px;
  z-index: 20;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .mb_drawer_logo a.drawer_logo {
  display: block;
  margin: 0;
  padding: 0;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .mb_drawer_logo a.drawer_logo img.drawer_logo_w {
  max-width: 250px;
  height: auto;
  mix-blend-mode: difference;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_image_area {
  width: 40%;
  height: 100%;
  position: relative;
  overflow: hidden;
  background: #111211;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_image_area .drawer_image_container {
  width: 100%;
  height: 100%;
  position: relative;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_image_area .drawer_image_container img.drawer_image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_image_area .drawer_image_container img.drawer_image.active {
  opacity: 1;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_image_area .drawer_image_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 2;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area {
  width: 60%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #111211;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area .mb_drawer_header {
  position: absolute;
  top: 0;
  left: 0;
  height: 90px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 30px 0;
  z-index: 10;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area .mb_drawer_header .language_box {
  padding: 0;
  margin: 0px 150px 0 0 !important;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area .mb_drawer_header .language_box ul::after {
  color: #ffffff;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area .mb_drawer_header .language_box ul li span {
  color: #ffffff;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area .mb_drawer_header .language_box ul li span a {
  color: #ffffff;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area .mb_drawer_header .language_box ul li.current span a::after {
  background: #ffffff;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content {
  padding: 0 42px;
  display: flex;
  margin: 0 auto;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  position: relative;
  z-index: 5;
}
@keyframes blurIn {
  from {
    opacity: 0;
    filter: blur(10px);
    transform: scale(1.1);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu {
  margin-bottom: 40px;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item {
  padding: 0.5rem 0;
  opacity: 0;
  animation: blurIn 0.8s ease forwards;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item:nth-child(1) {
  animation-delay: 0.1s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item:nth-child(2) {
  animation-delay: 0.2s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item:nth-child(3) {
  animation-delay: 0.3s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item:nth-child(4) {
  animation-delay: 0.4s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item:nth-child(5) {
  animation-delay: 0.5s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item:nth-child(6) {
  animation-delay: 0.6s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item:nth-child(7) {
  animation-delay: 0.7s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item:nth-child(8) {
  animation-delay: 0.8s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item:nth-child(9) {
  animation-delay: 0.9s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item:nth-child(10) {
  animation-delay: 1s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item > a span {
  color: #ffffff;
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  transition: opacity 0.3s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_menu > li.menu-item > a:hover span {
  opacity: 0.7;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content span.title {
  display: inline-block;
  font-size: 0.7rem;
  line-height: 1;
  font-weight: 600;
  margin: 0 auto 10px;
  opacity: 0;
  color: rgba(255, 255, 255, 0.4);
  animation: blurIn 0.8s ease forwards 0.6s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content .mb_drawer_shop {
  margin: 0 0 40px;
  opacity: 0;
  animation: blurIn 0.8s ease forwards 0.6s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content .mb_drawer_shop li {
  margin: 0 0 5px;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content .mb_drawer_shop li a {
  width: 100%;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content .mb_drawer_shop li a span {
  color: #ffffff;
  font-weight: 500;
  font-size: 0.9rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content .mb_drawer_shop li a span::after {
  content: "\e89e";
  font-family: "material Icons";
  opacity: 0.3;
  margin: 0 0 0 3px;
  font-size: 0.8rem;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_cta {
  margin: 0 0 30px;
  opacity: 0;
  animation: blurIn 0.8s ease forwards 0.6s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_cta li {
  margin: 0 0 5px;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_cta li a {
  width: 100%;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_cta li a span {
  color: #ffffff;
  font-weight: 500;
  font-size: 0.9rem;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_sublist {
  margin: 0;
  opacity: 0;
  animation: blurIn 0.8s ease forwards 0.7s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_sublist li {
  padding: 0.3rem 0;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_sublist li a span {
  color: #ffffff;
  font-size: 0.7rem;
  opacity: 0.5;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_sns {
  margin: 40px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  animation: blurIn 0.8s ease forwards 0.8s;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_sns li {
  width: 20px;
  margin: 0 15px;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_sns li a {
  width: 100%;
}
header.header .header_wrapper .header_menu_wrapper .header_menu_inner .mb_drawer .drawer_content_area nav.mb_drawer_content ul.mb_drawer_sns li a img {
  width: 100%;
  height: auto;
  filter: invert(1);
}

/*────────────────────────────────────────────────────────────────────────────────
Language Selector
────────────────────────────────────────────────────────────────────────────────*/
.language_box {
  margin: 0 auto;
}
.language_box ul {
  display: flex;
  align-items: center;
  position: relative;
}
.language_box ul::after {
  content: "/";
  position: absolute;
  color: #ffffff;
  left: 50%;
  top: 50%;
  transform: translate(0, -50%);
  font-size: 0.8rem;
  opacity: 0.5;
}
.language_box ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 10px;
}
.language_box ul li span {
  width: 100%;
  height: 100%;
  font-size: 0.8rem;
}
.language_box ul li span a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  color: #ffffff;
  font-weight: 400;
  font-size: 0.8rem;
}
.language_box ul li span a::after {
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
  height: 1px;
  width: 100%;
  background: transparent;
  content: "";
}
.language_box ul li.current span a::after {
  background: #ffffff;
}
.language_box ul li:not(.current) {
  opacity: 0.5;
}
.language_box ul li:not(.current):hover {
  opacity: 1;
}

/*────────────────────────────────────────────────────────────────────────────────
nav
────────────────────────────────────────────────────────────────────────────────*/
footer.footer {
  margin: 0;
  padding: 0 2rem 80px;
}
@media screen and (max-width: 768px) {
  footer.footer {
    padding: 21px 1rem 0;
  }
}
footer.footer .footer_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper {
    flex-direction: column;
  }
}
footer.footer .footer_wrapper .footer_information {
  flex-basis: 30%;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_information {
    flex-basis: 100%;
  }
}
footer.footer .footer_wrapper .footer_information .footer_logo {
  display: block;
  margin: 0 0 30px;
}
footer.footer .footer_wrapper .footer_information .footer_logo a {
  display: inline-block;
}
footer.footer .footer_wrapper .footer_information .footer_logo a img {
  width: 300px;
  height: auto;
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_information .footer_logo a img {
    width: 238px;
  }
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_information .footer_sns {
    margin: 0 0 42px;
  }
}
footer.footer .footer_wrapper .footer_information .footer_sns ul {
  display: flex;
  flex-direction: column;
}
footer.footer .footer_wrapper .footer_information .footer_sns ul li {
  margin: 0 0 15px 0;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_information .footer_sns ul li {
    margin: 0 21px 0 0;
  }
}
footer.footer .footer_wrapper .footer_information .footer_sns ul li:last-child {
  margin: 0;
}
footer.footer .footer_wrapper .footer_information .footer_sns ul li a {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  opacity: 0.7;
  display: flex;
  align-items: center;
}
footer.footer .footer_wrapper .footer_information .footer_sns ul li a span {
  color: #ffffff;
  font-size: 0.7rem;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_information .footer_sns ul li a {
    font-weight: 500;
  }
}
footer.footer .footer_wrapper .footer_information .footer_sns ul li a img {
  width: 15px;
  height: auto;
  margin: 0 8px 0 0;
}
footer.footer .footer_wrapper .footer_information .footer_sns ul li a:hover {
  opacity: 0.7;
}
footer.footer .footer_wrapper .footer_contents {
  flex-basis: 65%;
  display: flex;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_contents {
    flex-basis: 100%;
  }
}
footer.footer .footer_wrapper .footer_contents .footer_language {
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_contents .footer_language {
    top: inherit;
    bottom: 0;
  }
}
footer.footer .footer_wrapper .footer_contents .footer_language .language_box {
  margin: 0;
}
footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper {
  padding-top: 50px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper {
    width: 100%;
  }
}
footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_main_sitemap {
  padding: 0 0 10px;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_main_sitemap {
    border-bottom: 1px dashed #282828;
    padding: 0 0 21px;
  }
}
footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_main_sitemap ul.footer_sitemap_list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_main_sitemap ul.footer_sitemap_list {
    flex-direction: column;
    align-items: flex-start;
  }
}
footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_main_sitemap ul.footer_sitemap_list li.footer_sitemap_item {
  margin: 0 0 0 20px;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_main_sitemap ul.footer_sitemap_list li.footer_sitemap_item {
    margin: 0 0 14px 0;
  }
}
footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_main_sitemap ul.footer_sitemap_list li.footer_sitemap_item > a {
  color: #ffffff;
  letter-spacing: 0.1rem;
  font-weight: 500;
  font-size: 1.1rem;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_main_sitemap ul.footer_sitemap_list li.footer_sitemap_item > a {
    color: #111211;
    font-size: 0.8rem;
  }
}
footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_sub_sitemap {
  padding: 10px 0 0;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_sub_sitemap {
    padding: 21px 0 0;
  }
}
footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_sub_sitemap ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_sub_sitemap ul {
    flex-direction: column;
    align-items: flex-start;
  }
}
footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_sub_sitemap ul li {
  margin: 0 0 0 20px;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_sub_sitemap ul li {
    margin: 0 0 14px 0;
  }
  footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_sub_sitemap ul li:last-child {
    margin: 0;
  }
}
footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_sub_sitemap ul li > a {
  color: #ffffff;
  letter-spacing: 0.1rem;
  font-weight: 500;
  font-size: 1.1rem;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_sub_sitemap ul li > a {
    color: #757575;
    font-size: 0.8rem;
  }
}
footer.footer .footer_wrapper .footer_contents .footer_sitemap_wrapper .footer_sub_sitemap ul li > a:hover {
  opacity: 0.7;
}
footer.footer .footer_wrapper .copyright {
  flex-basis: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 50px 0 0;
  text-align: left;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .copyright {
    padding: 35px 0 91px;
    text-align: left;
  }
}
footer.footer .footer_wrapper .copyright > a {
  margin-right: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.7);
  display: inline-block;
}
footer.footer .footer_wrapper .copyright > a span {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
}
footer.footer .footer_wrapper .copyright small {
  font-size: 0.7rem;
  color: #ffffff;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 768px) {
  footer.footer .footer_wrapper .copyright small {
    font-size: 0.6rem;
    color: #757575;
  }
}

/*─────Loader─────*/
#loading-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #111211;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 9999999999;
  opacity: 1;
  transition: opacity 0.5s ease-out;
  pointer-events: all;
}
#loading-wrapper.completed {
  opacity: 0;
  pointer-events: none;
}
#loading-wrapper .loader_logo {
  width: 180px;
  max-width: 60%;
  opacity: 0;
}
#loading-wrapper .loader_logo img {
  width: 100%;
  height: auto;
}

/*───────────────────────────────────
//Parts
───────────────────────────────────*/
.modaal-image .modaal-content img {
  -o-object-fit: contain !important;
     object-fit: contain !important;
  margin: 0 auto !important;
}

.modaal-container {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  background: transparent !important;
}

/*──────────────────────────────────────────
セクションアイテム
──────────────────────────────────────────*/
.section_item {
  margin: 140px auto;
}

@media screen and (max-width: 768px) {
  .section_item {
    margin: 70px auto;
  }
}
/*──────────────────────────────────────────
見出し
──────────────────────────────────────────*/
.section_title {
  margin: 0 0 30px;
  text-align: left;
  color: #ffffff;
}
.section_title span.en {
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 0.1rem;
  color: #ffffff;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 1.2;
}
.section_title h2 {
  margin: 0;
  padding: 0;
  font-size: 1rem !important;
  font-weight: 500;
  letter-spacing: 0.1rem;
  color: #ffffff;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.section_subtitle {
  margin: 0 0 35px;
  position: relative;
  overflow: hidden;
}
.section_subtitle:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 1px;
  width: 100%;
  content: "";
  background: #282828;
}
.section_subtitle h3,
.section_subtitle h4 {
  display: inline-block;
  background: transparent;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  padding: 0 20px 0 0;
  color: #111211;
}

@media screen and (max-width: 768px) {
  .section_title {
    margin: 0 auto 20px !important;
  }
  .section_title h2 {
    font-size: 1.1rem !important;
  }
  .section_title span.ja {
    font-size: 0.7rem !important;
  }
  .section_subtitle {
    margin: 0 0 20px;
  }
  .section_subtitle h3,
  .section_subtitle h4 {
    font-size: 0.9rem;
    padding: 0 14px 0 0;
  }
}
/*────────────────────────────
table
────────────────────────────*/
table {
  box-sizing: border-box;
  border-collapse: collapse;
  border-spacing: 0;
}

table.tbl {
  margin: 20px 0;
  text-align: left;
  width: 100%;
  letter-spacing: 0.1rem;
  font-size: 0.9rem;
  color: #ffffff;
}
table.tbl thead tr th {
  padding: 0 0 1rem;
  font-size: 1rem;
}
table.tbl tbody tr {
  width: 100%;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #282828;
  padding: 1.5rem 0;
}
table.tbl tbody tr:first-child {
  border-top: 1px solid #282828;
}
table.tbl tbody th {
  flex-basis: 30%;
  font-weight: 500;
}
table.tbl tbody td {
  flex-basis: 70%;
  font-weight: 400;
  line-height: 2;
}
table.tbl tbody td a {
  display: inline-block;
  color: #111211;
  border-bottom: 1px solid #111211;
}
table.tbl tbody td ul li {
  margin-bottom: 10px;
}
table.tbl tbody td ul li:last-child {
  margin-bottom: 0;
}
table.tbl tbody td span.title {
  font-weight: 600;
  display: block;
  margin: 30px 0 10px;
}
table.tbl tbody td span.annotation {
  margin: 10px 0 0;
  display: block;
  font-size: 0.8rem;
}

table.tbl2 tbody {
  border: 1px solid #282828;
}
table.tbl2 tbody tr {
  width: 100%;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #282828;
}
table.tbl2 tbody tr:last-child {
  border: none;
}
table.tbl2 tbody tr th {
  padding: 1.5rem 1rem;
  flex-basis: 30%;
  font-weight: 500;
  border-right: 1px solid #282828;
  text-align: left;
  background: #f9f9f9;
}
table.tbl2 tbody tr td {
  padding: 1.5rem 1rem;
  flex-basis: 70%;
  display: flex;
  align-items: center;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  table.tbl {
    font-size: 0.8rem;
  }
  table.tbl tbody th {
    flex-basis: 18%;
  }
  table.tbl tbody td {
    padding: 1rem 2rem;
    flex-basis: 82%;
  }
}
@media screen and (max-width: 768px) {
  table.tbl {
    margin: 0;
  }
  table.tbl thead tr th {
    padding: 0 0 0.5rem;
    font-size: 0.8rem;
  }
  table.tbl tbody tr {
    flex-direction: column;
    padding: 0.8rem 0;
  }
  table.tbl tbody tr th {
    font-size: 0.8rem;
    margin: 0 0 5px;
  }
  table.tbl tbody tr td {
    font-size: 0.8rem;
  }
  table.tbl2 tbody tr {
    flex-direction: column;
  }
  table.tbl2 tbody tr th {
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    border-right: none;
    border-bottom: 1px solid #282828;
  }
  table.tbl2 tbody tr th br {
    display: none;
  }
  table.tbl2 tbody tr td {
    padding: 1rem 1rem 1.5rem;
    font-size: 0.8rem;
  }
}
/*────────────────────────────
Pagination
────────────────────────────*/
.pagination {
  margin: 0 auto;
}
.pagination .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.pagination .nav-links > a,
.pagination .nav-links > span {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 40px;
  height: 40px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  transition: all 0.3s ease;
}
.pagination .nav-links span.current {
  color: #ffffff;
  border-bottom: 2px solid #C49D3E;
  padding-bottom: 2px;
}
.pagination .nav-links a.page-numbers {
  color: rgba(255, 255, 255, 0.5);
  border-bottom: 2px solid transparent;
  padding-bottom: 2px;
}
.pagination .nav-links a.page-numbers:hover {
  color: #ffffff;
  border-bottom-color: rgba(255, 255, 255, 0.5);
}
.pagination .nav-links a.prev,
.pagination .nav-links a.next {
  color: rgba(255, 255, 255, 0.6);
  margin: 0 10px;
}
.pagination .nav-links a.prev span,
.pagination .nav-links a.next span {
  font-size: 1.2rem;
}
.pagination .nav-links a.prev:hover,
.pagination .nav-links a.next:hover {
  color: #C49D3E;
  transform: translateX(0);
}
.pagination .nav-links a.prev:hover {
  transform: translateX(-3px);
}
.pagination .nav-links a.next:hover {
  transform: translateX(3px);
}
.pagination .nav-links span.dots {
  color: rgba(255, 255, 255, 0.3);
}

@media screen and (max-width: 768px) {
  .pagination {
    margin: 50px auto 60px;
  }
  .pagination .nav-links {
    gap: 5px;
  }
  .pagination .nav-links > a,
  .pagination .nav-links > span {
    min-width: 35px;
    height: 35px;
    font-size: 0.9rem;
  }
  .pagination .nav-links a.prev,
  .pagination .nav-links a.next {
    margin: 0 5px;
  }
  .pagination .nav-links a.prev span,
  .pagination .nav-links a.next span {
    font-size: 1rem;
  }
}
/*────────────────────────────
prev next
────────────────────────────*/
.footer_navigator {
  margin: 50px auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.footer_navigator:after {
  content: "";
  flex-basis: 33.3333333333%;
  display: block;
  height: 0;
}
.footer_navigator > div {
  width: 100%;
  flex-basis: 33.3333333333%;
  display: flex;
}
.footer_navigator > div.footer_navigator_left {
  justify-content: flex-start;
}
.footer_navigator > div.footer_navigator_center {
  justify-content: center;
}
.footer_navigator > div.footer_navigator_center a {
  border-bottom: 1px solid #000;
}
.footer_navigator > div.footer_navigator_right {
  justify-content: flex-end;
}
.footer_navigator > div a {
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer_navigator > div a span.material-icons {
  color: #111211;
  margin: 0 0 -2px 0;
}
.footer_navigator > div a span.txt {
  font-size: 0.8rem;
  color: #111211;
  font-weight: 600;
}

/*─────forms─────*/
.wpcf7 form {
  border: none;
}

::-moz-placeholder {
  color: rgba(255, 255, 255, 0.4);
  opacity: 1;
}

::placeholder {
  color: rgba(255, 255, 255, 0.4);
  opacity: 1;
}

.darkmode ::-moz-placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.darkmode ::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.wpcf7-form-control-wrap {
  margin-bottom: 20px;
}
.wpcf7-form-control-wrap:last-child {
  margin-bottom: 0;
}

.contactform {
  margin: 0 auto 150px;
  width: 100%;
  /*──────必須──────*/
  /*──────mainTable──────*/
}
.contactform .havetoinfo {
  font-size: 0.8rem;
  display: inline-block;
}
.contactform .havetoinfo > div {
  display: flex;
  align-items: center;
}
.contactform .havetoinfo > div span {
  color: #DC3A65;
  font-size: 1rem;
  margin: 0 3px 0 0;
}
.contactform .haveto {
  color: #DC3A65;
  margin: 0 0 0 3px;
  font-size: 0.85rem;
}
.contactform table.inquiry {
  width: 100%;
}
.contactform table.inquiry tr {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 15px 0;
}
.contactform table.inquiry tr.hasborder {
  border-bottom: 1px dotted rgba(255, 255, 255, 0.15);
}
.contactform table.inquiry tr th {
  width: 100%;
  text-align: left;
  padding: 12px 0px;
  display: flex;
  align-items: center;
}
.contactform table.inquiry tr th > div span.thtitle {
  color: #ffffff;
  font-weight: 500;
  font-size: 0.95rem;
  letter-spacing: 0.05rem;
}
.contactform table.inquiry tr td {
  width: 100%;
  font-size: 0.9em;
}
.contactform table.inquiry tr td > span {
  font-size: 0.8rem;
  text-align: left;
  display: block;
  color: rgba(255, 255, 255, 0.7);
}
.contactform table.inquiry tr td > span a {
  display: inline-block;
  border-bottom: 1px solid #3D8799;
  color: #3D8799;
  transition: all 0.3s ease;
}
.contactform table.inquiry tr td > span a:hover {
  color: #50a5b9;
  border-bottom-color: #50a5b9;
}
.contactform table.inquiry tr td span.annotation {
  margin: 20px 0 0;
  display: inline-block;
  font-size: 0.8rem;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.7);
  padding: 10px 15px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}
.contactform table.inquiry tr td div.d_column {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.contactform table.inquiry tr td div.d_column .d_column_item {
  flex-basis: 48%;
}
.contactform table.inquiry tr.c_pp td {
  padding: 40px 0 30px;
}
.contactform table.inquiry tr.c_pp td span.info {
  text-align: center;
  display: block;
  margin-bottom: 40px;
  font-size: 0.9rem !important;
  letter-spacing: 0rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.8);
}
.contactform table.inquiry tr.c_pp td span.info a {
  display: inline;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  transition: all 0.3s ease;
}
.contactform table.inquiry tr.c_pp td span.info a:hover {
  border-bottom-color: #ffffff;
}
.contactform table.inquiry tr.c_pp td .acceptance_wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}
.contactform #formbtn {
  cursor: pointer;
  display: block;
  padding: 20px;
  width: 320px !important;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  margin: 20px auto 0;
  transition: all 0.3s ease !important;
  border-radius: 0;
}
.contactform #formbtn:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);
}
.contactform #prevbtn {
  cursor: pointer;
  display: block;
  padding: 20px;
  width: 320px !important;
  color: rgba(255, 255, 255, 0.7);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  margin: 50px auto 0;
  transition: all 0.3s ease !important;
  border-radius: 0;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: transparent;
}
.contactform #prevbtn:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.3);
}
.contactform table.confirm {
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.contactform table.confirm tr {
  display: flex;
  justify-content: space-between;
  padding: 25px 0;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.15);
}
.contactform table.confirm tr:last-of-type {
  border: none;
}
.contactform table.confirm tr th {
  flex-basis: 30%;
  text-align: left;
}
.contactform table.confirm tr th span.thtitle {
  font-weight: bold;
  font-size: 0.9rem;
  color: #ffffff;
}
.contactform table.confirm tr td {
  flex-basis: 70%;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.85);
}
.contactform table.confirm tr td span {
  font-weight: 600;
  display: block;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.7);
  padding: 5px;
  font-size: 0.9rem;
  margin: 0 0 5px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.contactform table.confirm tr td .d_column {
  display: flex;
  align-items: center;
}
.contactform table.confirm tr td .d_column .d_column_item {
  margin: 0 1rem 0 0;
}

@media (max-width: 768px) {
  .contactform {
    display: block;
    margin: 0 auto;
    /*──────必須──────*/
    /*──────mainTable──────*/
  }
  .contactform table.inquiry tr th {
    padding: 0px;
    margin: 0 0 7px 0;
  }
  .contactform table.inquiry tr td {
    font-size: 1rem !important;
  }
  .contactform table.inquiry tr td span.annotation {
    font-size: 0.7rem;
  }
  .contactform table.inquiry tr.c_pp td {
    margin: 7px 0 0;
    padding: 21px;
  }
  .contactform table.inquiry tr.c_pp td span.info {
    margin-bottom: 35px;
    font-size: 0.7rem !important;
    text-align: left;
  }
  .contactform #formbtn {
    width: 80% !important;
    font-size: 0.9rem;
    margin: 10px auto 0;
  }
  .contactform #prevbtn {
    width: 80% !important;
    font-size: 0.9rem;
    margin: 50px auto 0;
  }
  .contactform table.confirm {
    margin: 0 auto;
  }
  .contactform table.confirm tr {
    display: flex;
    flex-direction: column;
    padding: 15px 0;
  }
  .contactform table.confirm tr th {
    text-align: left;
  }
  .contactform table.confirm tr th span.thtitle {
    font-weight: bold;
  }
}
/*────────────────────────────
INPUTS
────────────────────────────*/
input[type=text],
input[type=password],
input[type=datetime],
input[type=datetime-local],
input[type=date],
input[type=month],
input[type=time],
input[type=week],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
input[type=tel],
input[type=color],
select,
textarea,
.field {
  display: block;
  height: auto;
  padding: 20px !important;
  color: #ffffff;
  vertical-align: middle;
  box-shadow: none;
  border: 0;
  width: 100%;
  max-width: 100%;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px !important;
  outline: none;
  transition: all 0.3s ease !important;
  font-size: 1rem;
}
input[type=text]:focus, input[type=text]:active,
input[type=password]:focus,
input[type=password]:active,
input[type=datetime]:focus,
input[type=datetime]:active,
input[type=datetime-local]:focus,
input[type=datetime-local]:active,
input[type=date]:focus,
input[type=date]:active,
input[type=month]:focus,
input[type=month]:active,
input[type=time]:focus,
input[type=time]:active,
input[type=week]:focus,
input[type=week]:active,
input[type=number]:focus,
input[type=number]:active,
input[type=email]:focus,
input[type=email]:active,
input[type=url]:focus,
input[type=url]:active,
input[type=search]:focus,
input[type=search]:active,
input[type=tel]:focus,
input[type=tel]:active,
input[type=color]:focus,
input[type=color]:active,
select:focus,
select:active,
textarea:focus,
textarea:active,
.field:focus,
.field:active {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.4);
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.05);
}
input[type=text].error, input[type=text].is-invalid,
input[type=password].error,
input[type=password].is-invalid,
input[type=datetime].error,
input[type=datetime].is-invalid,
input[type=datetime-local].error,
input[type=datetime-local].is-invalid,
input[type=date].error,
input[type=date].is-invalid,
input[type=month].error,
input[type=month].is-invalid,
input[type=time].error,
input[type=time].is-invalid,
input[type=week].error,
input[type=week].is-invalid,
input[type=number].error,
input[type=number].is-invalid,
input[type=email].error,
input[type=email].is-invalid,
input[type=url].error,
input[type=url].is-invalid,
input[type=search].error,
input[type=search].is-invalid,
input[type=tel].error,
input[type=tel].is-invalid,
input[type=color].error,
input[type=color].is-invalid,
select.error,
select.is-invalid,
textarea.error,
textarea.is-invalid,
.field.error,
.field.is-invalid {
  color: #ffffff;
  border-color: rgba(220, 58, 101, 0.6);
  background-color: rgba(220, 58, 101, 0.1);
  background-position: 99% center;
  background-repeat: no-repeat;
  outline-color: #DC3A65;
}
input[type=text].success, input[type=text].is-valid,
input[type=password].success,
input[type=password].is-valid,
input[type=datetime].success,
input[type=datetime].is-valid,
input[type=datetime-local].success,
input[type=datetime-local].is-valid,
input[type=date].success,
input[type=date].is-valid,
input[type=month].success,
input[type=month].is-valid,
input[type=time].success,
input[type=time].is-valid,
input[type=week].success,
input[type=week].is-valid,
input[type=number].success,
input[type=number].is-valid,
input[type=email].success,
input[type=email].is-valid,
input[type=url].success,
input[type=url].is-valid,
input[type=search].success,
input[type=search].is-valid,
input[type=tel].success,
input[type=tel].is-valid,
input[type=color].success,
input[type=color].is-valid,
select.success,
select.is-valid,
textarea.success,
textarea.is-valid,
.field.success,
.field.is-valid {
  color: #ffffff;
  border-color: rgba(61, 135, 153, 0.6);
  background-color: rgba(61, 135, 153, 0.05);
  background-position: 99% center;
  background-repeat: no-repeat;
}
input[type=text][disabled], input[type=text].is-disabled,
input[type=password][disabled],
input[type=password].is-disabled,
input[type=datetime][disabled],
input[type=datetime].is-disabled,
input[type=datetime-local][disabled],
input[type=datetime-local].is-disabled,
input[type=date][disabled],
input[type=date].is-disabled,
input[type=month][disabled],
input[type=month].is-disabled,
input[type=time][disabled],
input[type=time].is-disabled,
input[type=week][disabled],
input[type=week].is-disabled,
input[type=number][disabled],
input[type=number].is-disabled,
input[type=email][disabled],
input[type=email].is-disabled,
input[type=url][disabled],
input[type=url].is-disabled,
input[type=search][disabled],
input[type=search].is-disabled,
input[type=tel][disabled],
input[type=tel].is-disabled,
input[type=color][disabled],
input[type=color].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled,
.field[disabled],
.field.is-disabled {
  cursor: not-allowed;
  border-color: rgba(255, 255, 255, 0.1);
  opacity: 0.4;
}
input[type=text][disabled]:focus, input[type=text][disabled]:active, input[type=text].is-disabled:focus, input[type=text].is-disabled:active,
input[type=password][disabled]:focus,
input[type=password][disabled]:active,
input[type=password].is-disabled:focus,
input[type=password].is-disabled:active,
input[type=datetime][disabled]:focus,
input[type=datetime][disabled]:active,
input[type=datetime].is-disabled:focus,
input[type=datetime].is-disabled:active,
input[type=datetime-local][disabled]:focus,
input[type=datetime-local][disabled]:active,
input[type=datetime-local].is-disabled:focus,
input[type=datetime-local].is-disabled:active,
input[type=date][disabled]:focus,
input[type=date][disabled]:active,
input[type=date].is-disabled:focus,
input[type=date].is-disabled:active,
input[type=month][disabled]:focus,
input[type=month][disabled]:active,
input[type=month].is-disabled:focus,
input[type=month].is-disabled:active,
input[type=time][disabled]:focus,
input[type=time][disabled]:active,
input[type=time].is-disabled:focus,
input[type=time].is-disabled:active,
input[type=week][disabled]:focus,
input[type=week][disabled]:active,
input[type=week].is-disabled:focus,
input[type=week].is-disabled:active,
input[type=number][disabled]:focus,
input[type=number][disabled]:active,
input[type=number].is-disabled:focus,
input[type=number].is-disabled:active,
input[type=email][disabled]:focus,
input[type=email][disabled]:active,
input[type=email].is-disabled:focus,
input[type=email].is-disabled:active,
input[type=url][disabled]:focus,
input[type=url][disabled]:active,
input[type=url].is-disabled:focus,
input[type=url].is-disabled:active,
input[type=search][disabled]:focus,
input[type=search][disabled]:active,
input[type=search].is-disabled:focus,
input[type=search].is-disabled:active,
input[type=tel][disabled]:focus,
input[type=tel][disabled]:active,
input[type=tel].is-disabled:focus,
input[type=tel].is-disabled:active,
input[type=color][disabled]:focus,
input[type=color][disabled]:active,
input[type=color].is-disabled:focus,
input[type=color].is-disabled:active,
select[disabled]:focus,
select[disabled]:active,
select.is-disabled:focus,
select.is-disabled:active,
textarea[disabled]:focus,
textarea[disabled]:active,
textarea.is-disabled:focus,
textarea.is-disabled:active,
.field[disabled]:focus,
.field[disabled]:active,
.field.is-disabled:focus,
.field.is-disabled:active {
  background-color: rgba(255, 255, 255, 0.05);
}

input[type=password] {
  letter-spacing: 0.3em;
  margin: 20px 0 !important;
}

input[type=number] {
  max-width: 150px !important;
}

.zipsection input[type=text] {
  width: 280px !important;
  max-width: 280px !important;
  min-width: 280px !important;
}

textarea {
  max-width: 100%;
  min-height: 150px !important;
  line-height: 1.5rem;
  padding: 1rem !important;
  resize: vertical;
}

select {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
  appearance: none;
  background-repeat: no-repeat;
  background-position: 97.5% center;
  max-width: 480px;
}

@media (max-width: 768px) {
  input[type=text],
  input[type=password],
  input[type=datetime],
  input[type=datetime-local],
  input[type=date],
  input[type=month],
  input[type=time],
  input[type=week],
  input[type=number],
  input[type=email],
  input[type=url],
  input[type=search],
  input[type=tel],
  input[type=color],
  select,
  textarea,
  .field {
    padding: 15px !important;
  }
  input[type=number] {
    max-width: 100% !important;
  }
  textarea {
    min-height: 50px;
    max-height: 150px;
  }
}
/*─────チェックボックス─────*/
.wpcf7-checkbox {
  display: block;
  margin: 10px 0 0;
}
input[type=checkbox] {
  display: none;
}
input[type=checkbox] + span {
  cursor: pointer;
  position: relative;
  padding: 0 0 0 15px;
  box-sizing: border-box;
  transition: opacity 0.25s ease;
  color: #ffffff;
  font-weight: 500;
  font-size: 0.9rem;
  margin: 0 30px 20px 0 !important;
  line-height: 1.3;
  display: inline-block;
  letter-spacing: 0.05rem;
}
input[type=checkbox] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-45%);
  left: -1rem;
  width: 23px;
  height: 23px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background-color: rgba(255, 255, 255, 0.05);
  box-sizing: border-box;
  border-radius: 4px;
  transition: all 0.3s ease;
}
input[type=checkbox] + span::after {
  content: "";
  opacity: 0;
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(40deg);
  left: -0.5rem;
  width: 0.4em;
  height: 0.8em;
  border-bottom: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
  box-sizing: border-box;
  transition: opacity 0.2s ease;
}
input[type=checkbox]:checked + span {
  color: #ffffff;
  transition: all 0.25s ease;
}
input[type=checkbox]:checked + span::before {
  opacity: 1;
  border: 1px solid #3D8799;
  background-color: #3D8799;
  transition: opacity 0.2s ease;
}
input[type=checkbox]:checked + span::after {
  opacity: 1;
  border-bottom: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
  transition: opacity 0.2s ease;
}

/*─────ラジオ─────*/
.wpcf7-radio {
  display: block;
  margin: 10px 0 0;
}
.wpcf7-radio .wpcf7-list-item {
  margin: 0 0 10px 15px;
}

input[type=radio] {
  display: none;
}
input[type=radio] + span {
  cursor: pointer;
  position: relative;
  padding: 0 2rem 0 0.5rem;
  font-size: inherit;
  box-sizing: border-box;
  transition: opacity 0.25s ease;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 500;
}
input[type=radio] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -1rem;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.05);
  box-sizing: border-box;
  transition: all 0.25s ease;
}
input[type=radio] + span::after {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  box-sizing: border-box;
  transition: opacity 0.25s ease;
}
input[type=radio]:checked + span {
  color: #ffffff;
}
input[type=radio]:checked + span::before {
  border-color: #3D8799;
  background-color: rgba(61, 135, 153, 0.2);
}
input[type=radio]:checked + span::after {
  opacity: 1;
  top: 50%;
  transform: translateY(-50%);
  left: -11px;
  width: 10px;
  height: 10px;
  background-color: #3D8799;
  border-radius: 50%;
  box-sizing: border-box;
  transition: opacity 0.25s ease;
}

/*─────buttons─────*/
.blue-btn {
  display: inline-block;
  position: relative;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  text-decoration: none;
  color: #ffffff;
  font-size: 0.9em;
  font-size: 34px;
  line-height: 34px;
  font-weight: normal;
  padding: 0 24px;
  border-radius: 4px;
  border: 0;
  cursor: pointer;
}
.blue-btn:hover, .blue-btn:focus {
  color: #ffffff;
  text-decoration: none;
  outline: none;
}
.blue-btn:active {
  top: 1px;
}

/*
An example button.
You can use this example if you want. Just replace all the variables
and it will create a button dependant on those variables.
*/
.blue-btn {
  background-color: #3D8799;
}
.blue-btn:hover, .blue-btn:focus {
  background-color: #377a8a;
}
.blue-btn:active {
  background-color: #367787;
}

/*────────────────────────────────────────────────────────────────────────────────
btn_standard
────────────────────────────────────────────────────────────────────────────────*/
a.btn_standard {
  display: inline-block;
  letter-spacing: 0.1rem;
  padding: 0.9rem 2rem;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #282828;
  padding: 17px 15px;
  display: flex;
  align-items: center;
  position: relative;
  border-radius: 1px;
}
a.btn_standard > img {
  width: 20px;
  height: auto;
  filter: brightness(0) saturate(100%) invert(48%) sepia(2%) saturate(19%) hue-rotate(348deg) brightness(93%) contrast(84%);
  margin: 0 5px 0 0;
}
a.btn_standard span {
  color: #757575;
  font-weight: 700;
  font-size: 0.8rem;
  position: relative;
  line-height: 1.8;
}
a.btn_standard span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #ffffff;
  transform: scale(1, 1);
  transform-origin: left top;
  transition: transform 0.2s;
}
a.btn_standard span::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #111211;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.2s;
}
a.btn_standard::after {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Material Icons";
  content: "\e5cc";
  font-size: 1rem;
  color: #757575;
}
a.btn_standard:hover {
  border-color: #111211;
}
a.btn_standard:hover > img {
  filter: brightness(0) saturate(100%) invert(16%) sepia(55%) saturate(6270%) hue-rotate(172deg) brightness(93%) contrast(87%);
}
a.btn_standard:hover span {
  color: #111211;
}
a.btn_standard:hover span::after {
  transform-origin: right top;
  transform: scale(0, 1);
}
a.btn_standard:hover span::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
a.btn_standard:hover::after {
  color: #111211;
}

@media only screen and (max-width: 699px) {
  .btn_standard {
    padding: 0.7rem 1.2rem;
  }
  .btn_standard span {
    font-size: 0.75rem;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
btn_black
────────────────────────────────────────────────────────────────────────────────*/
.btn_blk {
  display: inline-block;
  letter-spacing: 0.1rem;
  padding: 0.8rem 2rem 0.8rem 3rem;
  text-align: center;
  text-decoration: none;
  border: 1px solid #111211;
  background: #111211;
  margin: 0 auto;
}
.btn_blk span {
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
  display: flex;
  align-items: center;
  font-family: "Outfit", sans-serif;
}
.btn_blk span::after {
  font-family: "Material Icons";
  content: "\e5cc";
  font-size: 1rem;
  font-weight: 100;
  padding: 0;
  margin: 0 0 0 5px;
  line-height: 1;
  vertical-align: baseline;
}
.btn_blk span.en {
  font-family: "Outfit", sans-serif;
}
.btn_blk:hover {
  background: #ffffff;
}
.btn_blk:hover span {
  color: #111211;
}

@media screen and (max-width: 699px) {
  .btn_blk {
    padding: 0.5rem 1.5rem;
    text-align: center;
    border-radius: 1px;
  }
  .btn_blk span {
    font-size: 0.8rem !important;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
btn_text
────────────────────────────────────────────────────────────────────────────────*/
a.btn_text {
  display: inline-block;
  color: #111211;
  text-decoration: none;
  cursor: pointer;
}
a.btn_text div {
  display: flex;
  align-items: center;
  cursor: pointer;
}
a.btn_text div:after {
  font-family: "material icons";
  content: "\e409";
  color: #111211;
  font-size: 1.1rem;
  font-weight: 600;
  width: 23px;
  height: 23px;
  border-radius: 50px;
  background: #ffffff;
  border: 1px solid #111211;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.15s ease-in-out;
}
a.btn_text div span {
  font-size: 1rem;
  margin-right: 0.4rem;
  color: #111211;
  font-weight: 600;
  position: relative;
  padding: 3px 0;
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
}
a.btn_text div span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: transparent;
  transform: scale(1, 1);
  transform-origin: left top;
  transition: transform 0.2s;
}
a.btn_text div span::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #111211;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.2s;
}
a.btn_text:hover {
  cursor: pointer;
  text-decoration: none;
}
a.btn_text:hover div:after {
  color: #ffffff;
  background: #111211;
}
a.btn_text:hover div span {
  color: #111211;
}
a.btn_text:hover div span::after {
  transform-origin: right top;
  transform: scale(0, 1);
}
a.btn_text:hover div span::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

@media screen and (max-width: 768px) {
  .btn_text div:after {
    margin: -4px 0 0 0;
    font-size: 1.1rem;
  }
  .btn_text div span {
    font-size: 0.75rem;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
btn_shooting
────────────────────────────────────────────────────────────────────────────────*/
.btn_shooting {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.btn_shooting span {
  line-height: 1.8;
  transition: 0.3s ease-in-out;
  color: #ffffff;
  font-size: 1.1rem;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.btn_shooting::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.7);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn_shooting:hover span {
  color: rgba(255, 255, 255, 0.7);
}
.btn_shooting:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
.btn_shooting:not(:hover)::before {
  transform-origin: right;
}

@media screen and (max-width: 768px) {
  .btn_shooting span {
    font-size: 0.8rem;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
btn_blk_shooting
────────────────────────────────────────────────────────────────────────────────*/
a.btn_blk_shooting {
  padding: 30px 10px;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1px;
  border: 1px solid #282828;
  cursor: pointer;
  background: #ffffff;
}
a.btn_blk_shooting img {
  width: 30px;
  height: auto;
  margin: 0 10px 0 0;
  filter: brightness(0) saturate(100%) invert(16%) sepia(55%) saturate(6270%) hue-rotate(172deg) brightness(93%) contrast(87%);
  transition: 0.05s ease-in-out;
}
a.btn_blk_shooting span {
  color: #757575;
  font-weight: 600;
  position: relative;
  line-height: 1.8;
}
a.btn_blk_shooting span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #ffffff;
  transform: scale(1, 1);
  transform-origin: left top;
  transition: transform 0.2s;
}
a.btn_blk_shooting span::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #111211;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.2s;
}
a.btn_blk_shooting:hover {
  border-color: #111211;
}
a.btn_blk_shooting:hover span {
  color: #111211;
}
a.btn_blk_shooting:hover span::after {
  transform-origin: right top;
  transform: scale(0, 1);
}
a.btn_blk_shooting:hover span::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

/*────────────────────────────────────────────────────────────────────────────────
btn_arrow
────────────────────────────────────────────────────────────────────────────────*/
.btn_arrow {
  display: inline-block;
}
.btn_arrow span {
  display: flex;
  align-items: center;
  color: #757575;
  letter-spacing: 0.1rem;
}
.btn_arrow span::before {
  font-family: "Material icons";
  content: "\e5c8";
  font-size: 0.8rem;
  color: #757575;
  width: 18px;
  height: 18px;
  border: 1px solid #757575;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 6px;
  margin-bottom: -1px;
  font-weight: 600;
}

@media only screen and (max-width: 699px) {
  .btn_arrow {
    display: flex;
    align-items: center;
  }
  .btn_arrow::before {
    font-family: "Material icons";
    content: "\e5c8";
    font-size: 0.8rem;
    color: #757575;
    width: 18px;
    height: 18px;
    border: 1px solid #757575;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
    margin-bottom: -1px;
    font-weight: 600;
  }
}
.btn_arrow_large {
  display: flex;
  align-items: center;
}
.btn_arrow_large::after {
  font-family: "Material icons";
  content: "\e5df";
  font-size: 1.3rem;
  color: #111211;
  width: 50px;
  height: 50px;
  border: 1px solid #111211;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 20px;
  font-weight: 600;
  transition: 0.8s;
  -webkit-transition: 0.3s;
}
.btn_arrow_large:hover::after {
  background: #111211;
  color: #fff;
}
.btn_arrow_large:hover span::after {
  transform-origin: right top;
  transform: scale(0, 1);
}
.btn_arrow_large:hover span::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.btn_arrow_large span {
  position: relative;
  display: inline-block;
  text-decoration: none;
  transition: 0.8s;
  transition: 0.3s;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.1rem;
  padding: 0;
}
.btn_arrow_large span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #ffffff;
  transform: scale(1, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}
.btn_arrow_large span::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #111211;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}
.btn_arrow_large span_white::after {
  background: #111211;
}
.btn_arrow_large span_white::before {
  background: #ffffff;
}
@media only screen and (max-width: 699px) {
  .btn_arrow_large::before {
    font-size: 0.9rem;
    width: 18px;
    height: 18px;
    margin-right: 6px;
  }
  .btn_arrow_large span {
    font-size: 0.9rem;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
btn_shooting_new (Standard Trip用)
────────────────────────────────────────────────────────────────────────────────*/
.btn_shooting_new {
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding: 0 60px 0 0;
}
.btn_shooting_new span {
  display: block;
  color: transparent;
  font-size: 1.1rem;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  letter-spacing: 0.1em;
  position: relative;
  overflow: hidden;
  height: 1.65rem;
  line-height: 1.5;
}
.btn_shooting_new span::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: #ffffff;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn_shooting_new span::before {
  content: attr(data-text);
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  color: #ffffff;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn_shooting_new::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 50px;
  height: 1px;
  background: #ffffff;
  opacity: 1;
  transform: translateY(-50%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn_shooting_new::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 1px solid #ffffff;
  opacity: 1;
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn_shooting_new:hover span::after {
  transform: translateY(-100%);
}
.btn_shooting_new:hover span::before {
  transform: translateY(-100%);
}
.btn_shooting_new:hover::after {
  transform: translateY(-50%) translateX(5px);
  opacity: 0.5;
}
.btn_shooting_new:hover::before {
  transform: translateY(-50%) translateX(5px) rotate(45deg);
  opacity: 0.5;
}

/*────────────────────────────────────────────────────────────────────────────────
発光エフェクト（汎用クラス）
────────────────────────────────────────────────────────────────────────────────*/
.glow-effect {
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.15)) drop-shadow(0 0 8px rgba(255, 255, 255, 0.08));
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.12), 0 0 12px rgba(255, 255, 255, 0.06);
  transition: filter 0.3s ease, box-shadow 0.3s ease;
}
.glow-effect-circle::after {
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.12), 0 0 12px rgba(255, 255, 255, 0.06), inset 0 0 4px rgba(255, 255, 255, 0.03);
  transition: box-shadow 0.3s ease;
}

.glow-effect-hover:hover {
  filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.5)) drop-shadow(0 0 24px rgba(255, 255, 255, 0.35)) drop-shadow(0 0 36px rgba(255, 255, 255, 0.2));
  box-shadow: 0 0 18px rgba(255, 255, 255, 0.35), 0 0 32px rgba(255, 255, 255, 0.25), 0 0 48px rgba(255, 255, 255, 0.15);
}
.glow-effect-hover:hover.glow-effect-circle::after {
  box-shadow: 0 0 18px rgba(255, 255, 255, 0.35), 0 0 32px rgba(255, 255, 255, 0.25), 0 0 48px rgba(255, 255, 255, 0.15), inset 0 0 12px rgba(255, 255, 255, 0.1);
}

/*─────SNS─────*/
.share {
  margin: 10px auto;
  display: flex;
  align-items: center;
}
.share div.share_title {
  margin-right: 0.2rem;
  display: block;
  display: flex;
  align-items: center;
}
.share div.share_title span {
  font-size: 0.8rem;
  line-height: 1;
  font-weight: 600;
}
.share div.share_title span:last-of-type {
  padding: 0 1rem;
}
.share ul {
  display: flex;
}
.share ul li {
  margin-right: 1.1rem;
  width: 17px;
}
.share ul li a {
  display: flex;
  align-items: center;
}
.share ul li a svg {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .share {
    margin: 30px 0 40px 0;
  }
  .share div.share_title span {
    font-weight: 500;
    font-size: 0.7rem;
  }
  .share ul li {
    margin-right: 1.3rem;
  }
  .share ul li a i {
    font-size: 1.1rem;
    margin: 0 3px 0 0;
  }
}
/*──────────────────────────────────────────
subpages-header
──────────────────────────────────────────*/
#subpages-header {
  width: 100%;
  height: 60vh;
  min-height: 600px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
#subpages-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}
#subpages-header .subpages-header_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  z-index: 0;
  will-change: transform;
  pointer-events: none;
}
#subpages-header .subpages-header_bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  filter: blur(15px);
  transform: scale(1.3);
  animation: blurScaleOut 2.5s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  will-change: filter, transform;
}
#subpages-header .subpages-header_inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
#subpages-header .bc_wrapper {
  position: absolute;
  bottom: 20px;
  right: 40px;
  margin: 0;
  z-index: 3;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.8rem;
  text-align: right;
}
#subpages-header .bc_wrapper a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  transition: color 0.3s;
}
#subpages-header .bc_wrapper a:hover {
  color: #ffffff;
}
#subpages-header .page_title_area {
  color: #ffffff;
  text-align: center;
}
#subpages-header .page_title_area h1 {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.8rem;
  font-weight: 500;
  letter-spacing: 0.15rem;
  margin: 0;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  position: relative;
  will-change: transform, opacity;
}
#subpages-header .page_title_area span.category_name,
#subpages-header .page_title_area .subpages_subtitle {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.15rem;
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
  text-transform: uppercase;
}

@keyframes blurScaleOut {
  0% {
    filter: blur(15px);
    transform: scale(1.3);
  }
  100% {
    filter: blur(0);
    transform: scale(1);
  }
}
#subpages-minimal-header {
  padding: 200px 0 20px;
  text-align: center;
  color: #ffffff;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
#subpages-minimal-header h1 {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.4rem;
}
#subpages-minimal-header #breadcrumb {
  text-align: center;
  margin: 0 auto;
  padding: 0;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  #subpages-header {
    height: 50vh;
    min-height: 400px;
  }
  #subpages-header .page_title_area h1 {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  #subpages-header {
    height: 45vh;
    min-height: 350px;
  }
  #subpages-header .page_title_area h1 {
    font-size: 1.8rem;
  }
  #subpages-header .bc_wrapper {
    bottom: 10px;
    right: 15px;
    font-size: 0.7rem;
  }
  #subpages-minimal-header {
    padding: 100px 0 0;
    text-align: left;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
Bread crumb
────────────────────────────────────────────────────────────────────────────────*/
.bc_wrapper {
  display: flex;
  align-items: center;
  padding: 10px 0;
  background: none;
}
.bc_wrapper ul {
  margin-left: 0 !important;
}

#breadcrumb ul {
  max-width: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  white-space: nowrap !important;
}
#breadcrumb ul li {
  display: flex;
  align-items: center;
  justify-content: center;
}
#breadcrumb ul li > a {
  display: flex;
  align-items: center;
  justify-content: center;
}
#breadcrumb ul li > a span {
  font-size: 0.7rem;
  color: #ffffff;
  font-weight: 400;
  opacity: 0.7;
}
#breadcrumb ul li > span {
  font-size: 0.7rem;
  color: #ffffff;
  font-weight: 400;
  opacity: 1;
}
#breadcrumb ul li:not(:last-child)::after {
  content: "\e5cc";
  font-family: "Material Icons";
  color: #ffffff;
  font-weight: 100;
  margin: 0 0.3rem;
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
  .bc_wrapper {
    display: flex;
    align-items: center;
    padding: 5px 0;
    background: none;
  }
  .bc_wrapper ul {
    margin-left: 0 !important;
  }
  #breadcrumb {
    max-width: 100%;
    width: 100%;
    padding: 0;
  }
  #breadcrumb li > a span {
    font-size: 0.6rem;
  }
  #breadcrumb li > span {
    font-size: 0.6rem;
  }
}
/*───────────────────────────────────
//Animation
───────────────────────────────────*/
.fade {
  opacity: 0;
  transform: translateY(20px);
  -webkit-transform: translateY(20px); /* Safari用プレフィックス */
  transition: opacity 1.5s, transform 1s;
  -webkit-transition: all 1.5s; /* Safari用プレフィックス */
}
.fade img {
  transition: all 1s !important;
  -webkit-transition: all 1s !important;
  filter: blur(50px);
}

.fade.active {
  opacity: 1;
  transform: translateY(0px);
  -webkit-transform: translateY(0px); /* Safari用プレフィックス */
}
.fade.active img {
  filter: blur(0);
}

@keyframes blur-anim {
  0% {
    filter: blur(70px);
  }
  100% {
    filter: blur(0);
  }
}
/*───────────────────────────────────
// GSAP Animations
───────────────────────────────────*/
.hero-bg {
  transform-origin: center center;
  will-change: transform;
}

.fog_text {
  will-change: transform, opacity, filter;
  backface-visibility: hidden;
}

/*───────────────────────────────────
// Scroll Down Animation
───────────────────────────────────*/
@keyframes scrollDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
  }
}
/*pages
───────────────────────*/
.section-base, .home_journal, .home_featured, .home_partnership, .home_news, .home_location, .home_semiorder {
  padding: 100px 0;
  background-color: #111211;
  color: #ffffff;
}

.section-title, .home_semiorder .section_title, .home_standard .section_title {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1rem;
  text-align: left;
  margin-bottom: 60px;
  color: #ffffff;
}

.section_title_small {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.8rem;
  margin-bottom: 30px;
  color: rgba(255, 255, 255, 0.6);
  display: block;
  text-align: center;
}

.grid-3col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .grid-3col {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.img-hover-scale {
  overflow: hidden;
}
.img-hover-scale img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease;
}
.img-hover-scale:hover img {
  transform: scale(1.05);
}

@keyframes fogDrift {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
  25% {
    transform: translate(3%, -2%) scale(1.03);
    opacity: 0.85;
  }
  50% {
    transform: translate(5%, -3%) scale(1.05);
    opacity: 0.7;
  }
  75% {
    transform: translate(3%, -1%) scale(1.02);
    opacity: 0.85;
  }
  100% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
共通セクションヘッダー（複数セクションで使用）
────────────────────────────────────────────────────────────────────────────────*/
.section_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2rem;
  margin-bottom: 60px;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .section_header {
    flex-direction: column;
    gap: 30px;
  }
}

.section_header_left {
  flex: 0 0 auto;
}
.section_header_left .section_title_main {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.5rem;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
  line-height: 1;
  position: relative;
  display: inline-block;
}
.section_header_left .section_title_main .post_count {
  position: absolute;
  top: 0;
  right: -20px;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 1.1rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: 0.1em;
}
.section_header_left .section_title_main .external_link_icon {
  position: absolute;
  top: 5px;
  right: -25px;
  color: rgba(255, 255, 255, 0.5);
  transition: color 0.3s ease, transform 0.3s ease;
  line-height: 1;
}
.section_header_left .section_title_main .external_link_icon svg {
  width: 18px;
  height: 18px;
}
.section_header_left .section_title_main .external_link_icon:hover {
  color: white;
  transform: translateY(-2px);
}
.section_header_left .section_title_ja {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.1em;
}

.section_header_right {
  flex: 0 0 40%;
  max-width: 40%;
}
@media screen and (max-width: 768px) {
  .section_header_right {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.section_header_right .section_description {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.8);
  text-align: justify;
}

/*────────────────────────────────────────────────────────────────────────────────
Page Sections
────────────────────────────────────────────────────────────────────────────────*/
/*────────────────────────────────────────────────────────────────────────────────
ヒーローセクション
────────────────────────────────────────────────────────────────────────────────*/
.hero {
  position: relative;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: #111211;
}
.hero::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(to bottom, rgba(17, 18, 17, 0) 0%, rgba(17, 18, 17, 0.02) 8%, rgba(17, 18, 17, 0.05) 16%, rgba(17, 18, 17, 0.1) 24%, rgba(17, 18, 17, 0.18) 32%, rgba(17, 18, 17, 0.28) 40%, rgba(17, 18, 17, 0.4) 48%, rgba(17, 18, 17, 0.54) 56%, rgba(17, 18, 17, 0.68) 64%, rgba(17, 18, 17, 0.8) 72%, rgba(17, 18, 17, 0.9) 80%, rgba(17, 18, 17, 0.96) 88%, #111211 100%);
  z-index: 1;
  pointer-events: none;
}
.hero video.hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
.hero .hero-video-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}
.hero .hero-video-wrapper iframe.hero-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.2);
  /* Scale up to ensure no edges/bars */
  width: 100vw;
  height: 56.25vw;
  /* 16:9 aspect ratio */
  min-height: 100vh;
  min-width: 177.77vh;
  /* 16:9 aspect ratio */
  z-index: 1;
  pointer-events: none;
}
.hero .hero-video-wrapper .hero-video-blocker {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  /* Sit on top of iframe */
  background: transparent;
  /* Invisible */
}
.hero .hero_content {
  position: absolute;
  bottom: 50px;
  left: 50px;
  z-index: 3;
  text-align: left;
}
.hero .hero-title span.hero-title-line {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.5vw;
  line-height: 1.3;
  letter-spacing: 0.15em;
  color: #ffffff;
  text-shadow: 0 0 20px rgba(17, 18, 17, 0.5);
}
@media screen and (max-width: 768px) {
  .hero .hero-title span.hero-title-line {
    font-size: 1.5rem;
    left: 20px;
    bottom: 30px;
  }
}
.hero .scroll-down {
  position: absolute;
  bottom: 0;
  right: 50px;
  left: auto;
  transform: none;
  z-index: 3;
}
.hero .scroll-down span {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  color: #ffffff;
  writing-mode: vertical-rl;
  text-shadow: 0 0 5px rgba(17, 18, 17, 0.5);
  margin-bottom: 10px;
}
.hero .scroll-down::after {
  content: "";
  display: block;
  width: 1px;
  height: 60px;
  background: rgba(255, 255, 255, 0.5);
  margin: 0 auto;
}
.hero_logo_mark {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 20 !important;
  opacity: 0;
  width: 60px !important;
  height: auto;
  pointer-events: none;
}
.hero_logo_mark::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 220, 120, 0.7) 0%, rgba(255, 200, 80, 0.5) 20%, rgba(255, 180, 60, 0.3) 40%, transparent 70%);
  filter: blur(30px);
  mix-blend-mode: screen;
  opacity: 1;
  z-index: -1;
  animation: logo-glow-pulse 15s ease-in-out infinite;
}
.hero_logo_mark img {
  width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
  position: relative;
  z-index: 1;
}

@keyframes logo-glow-pulse {
  0%, 100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    opacity: 0.92;
    transform: translate(-50%, -50%) scale(1.02);
  }
}
/*────────────────────────────────────────────────────────────────────────────────
イントロ画像（パララックス）
────────────────────────────────────────────────────────────────────────────────*/
.home_intro_images {
  position: relative;
  width: 100%;
  height: 150vh;
  background-color: #111211;
  overflow: hidden;
  z-index: 2;
}
.home_intro_images .intro_image_item {
  position: absolute;
  width: 25vw;
  height: 35vh;
  opacity: 0.6;
  z-index: 10;
}
.home_intro_images .intro_image_item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.home_intro_images .intro_image_item.item_1 {
  top: 3%;
  left: 7%;
  width: 30vw;
  height: 40vh;
  z-index: 100;
}
.home_intro_images .intro_image_item.item_2 {
  top: 12%;
  right: 5%;
  width: 20vw;
  height: 45vh;
  z-index: 2;
}
.home_intro_images .intro_image_item.item_3 {
  top: 40%;
  left: 35%;
  width: 20vw;
  height: 30vh;
  z-index: 3;
}
.home_intro_images .intro_image_item.item_4 {
  top: 60%;
  left: 5%;
  width: 35vw;
  height: 45vh;
  z-index: 1;
}
.home_intro_images .intro_image_item.item_5 {
  top: 82%;
  right: 20%;
  width: 20vw;
  height: 38vh;
  z-index: 2;
}
.home_intro_images .intro_image_item.item_6 {
  top: 60%;
  right: 8%;
  width: 25vw;
  height: 34vh;
  z-index: 1;
}

/*────────────────────────────────────────────────────────────────────────────────
コンセプト
────────────────────────────────────────────────────────────────────────────────*/
.home_concept {
  padding: 80px 0 200px;
  text-align: center;
  position: relative;
  overflow: hidden;
  background-image: url("../images/general/Deeplocallantern-image-21.jpg");
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
.home_concept::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #111211 0%, rgba(17, 18, 17, 0.98) 3%, rgba(17, 18, 17, 0.96) 6%, rgba(17, 18, 17, 0.93) 9%, rgba(17, 18, 17, 0.9) 12%, rgba(17, 18, 17, 0.85) 15%, rgba(17, 18, 17, 0.8) 18%, rgba(17, 18, 17, 0.74) 21%, rgba(17, 18, 17, 0.68) 24%, rgba(17, 18, 17, 0.62) 27%, rgba(17, 18, 17, 0.56) 30%, rgba(17, 18, 17, 0.52) 35%, rgba(17, 18, 17, 0.5) 40%, rgba(17, 18, 17, 0.5) 60%, rgba(17, 18, 17, 0.52) 65%, rgba(17, 18, 17, 0.56) 70%, rgba(17, 18, 17, 0.62) 73%, rgba(17, 18, 17, 0.68) 76%, rgba(17, 18, 17, 0.74) 79%, rgba(17, 18, 17, 0.8) 82%, rgba(17, 18, 17, 0.85) 85%, rgba(17, 18, 17, 0.9) 88%, rgba(17, 18, 17, 0.93) 91%, rgba(17, 18, 17, 0.96) 94%, rgba(17, 18, 17, 0.98) 97%, #111211 100%);
  z-index: 1;
  pointer-events: none;
}
.home_concept .home_concept_title {
  color: #ffffff;
  font-size: 2.5rem;
  font-weight: 400;
  margin-bottom: 3rem;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 2;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.home_concept .home_concept_subtext {
  color: #ffffff;
  margin: 0 auto;
  font-size: 1rem;
  line-height: 1.5;
  position: relative;
  z-index: 2;
}
.home_concept a.concept_btn {
  color: #ffffff;
  display: inline-block;
  border-bottom: 1px solid #ffffff;
  margin: 80px auto 40px;
  position: relative;
  z-index: 2;
}
.home_concept .concept_slider {
  width: 100%;
  height: auto;
  overflow: hidden;
  position: inherit;
  z-index: 1;
  margin: 100px auto 0;
}
.home_concept .concept_slider .concept_slider_track {
  display: flex;
  align-items: center;
  width: -moz-max-content;
  width: max-content;
}
.home_concept .concept_slider .concept_slider_track .concept_slider_item {
  flex-shrink: 0;
  margin-right: 15px;
}
.home_concept .concept_slider .concept_slider_track .concept_slider_item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  opacity: 0.3;
  transform: scale(1.05);
  filter: blur(8px);
}
.home_concept .concept_slider .concept_slider_track .concept_slider_item:nth-child(4n+1) {
  width: 500px;
  height: 357px;
  align-self: center;
}
.home_concept .concept_slider .concept_slider_track .concept_slider_item:nth-child(4n+2) {
  width: 380px;
  height: 532px;
  align-self: stretch;
}
.home_concept .concept_slider .concept_slider_track .concept_slider_item:nth-child(4n+3) {
  width: 500px;
  height: 357px;
  align-self: flex-end;
}
.home_concept .concept_slider .concept_slider_track .concept_slider_item:nth-child(4n+4) {
  width: 500px;
  height: 357px;
  align-self: flex-start;
}

/*────────────────────────────────────────────────────────────────────────────────
Standard Trip
────────────────────────────────────────────────────────────────────────────────*/
.home_standard {
  padding: 100px 0;
  text-align: left;
  position: relative;
  overflow: hidden;
  background-image: url("../images/general/Deeplocallantern-image-8.jpg");
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
.home_standard::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #111211 0%, rgba(17, 18, 17, 0.98) 3%, rgba(17, 18, 17, 0.96) 6%, rgba(17, 18, 17, 0.93) 9%, rgba(17, 18, 17, 0.9) 12%, rgba(17, 18, 17, 0.85) 15%, rgba(17, 18, 17, 0.8) 18%, rgba(17, 18, 17, 0.74) 21%, rgba(17, 18, 17, 0.68) 24%, rgba(17, 18, 17, 0.62) 27%, rgba(17, 18, 17, 0.56) 30%, rgba(17, 18, 17, 0.52) 35%, rgba(17, 18, 17, 0.5) 40%, rgba(17, 18, 17, 0.5) 60%, rgba(17, 18, 17, 0.52) 65%, rgba(17, 18, 17, 0.56) 70%, rgba(17, 18, 17, 0.62) 73%, rgba(17, 18, 17, 0.68) 76%, rgba(17, 18, 17, 0.74) 79%, rgba(17, 18, 17, 0.8) 82%, rgba(17, 18, 17, 0.85) 85%, rgba(17, 18, 17, 0.9) 88%, rgba(17, 18, 17, 0.93) 91%, rgba(17, 18, 17, 0.96) 94%, rgba(17, 18, 17, 0.98) 97%, #111211 100%);
  z-index: 1;
  pointer-events: none;
}
.home_standard .inner {
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  position: inherit;
  z-index: 10;
}
.home_standard .section_title {
  padding: 0 2rem;
}
.home_standard .standard_slider_wrapper {
  position: relative;
  padding: 0;
  margin-bottom: 30px;
}
.home_standard .standard_btn_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2rem;
}
@media screen and (max-width: 768px) {
  .home_standard .standard_btn_area {
    flex-direction: column-reverse;
    gap: 30px;
    padding: 0;
  }
}
.home_standard .slider_nav_container {
  display: flex;
  gap: 25px;
}
.home_standard .slider_nav {
  position: relative;
  bottom: auto;
  left: auto;
  right: auto;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 10;
  width: 60px;
  height: 60px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  transition: opacity 0.3s, transform 0.3s;
  opacity: 0.7;
}
.home_standard .slider_nav::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  transition: all 0.3s;
}
.home_standard .slider_nav:hover {
  opacity: 1;
}
.home_standard .slider_nav:hover::after {
  border-color: rgba(255, 255, 255, 0.8);
  transform: translate(-50%, -50%) scale(1.1);
}
.home_standard .slider_nav.slider_nav_prev::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-left: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  transform: translate(-40%, -50%) rotate(45deg);
  z-index: 1;
}
.home_standard .slider_nav.slider_nav_next::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-right: 1px solid #ffffff;
  border-top: 1px solid #ffffff;
  transform: translate(-60%, -50%) rotate(45deg);
  z-index: 1;
}
.home_standard .slider_nav svg {
  display: none;
}
.home_standard .slider_nav_container {
  display: flex;
  gap: 25px;
}
.home_standard .slider_nav {
  position: relative;
  bottom: auto;
  left: auto;
  right: auto;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 10;
  width: 50px;
  height: 50px;
  transition: opacity 0.3s, transform 0.3s, filter 0.3s;
  opacity: 0.7;
  filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.45)) drop-shadow(0 0 24px rgba(255, 255, 255, 0.3)) drop-shadow(0 0 36px rgba(255, 255, 255, 0.15));
}
.home_standard .slider_nav::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  transition: all 0.3s;
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.3), 0 0 30px rgba(255, 255, 255, 0.2), inset 0 0 12px rgba(255, 255, 255, 0.08);
}
.home_standard .slider_nav:hover {
  opacity: 1;
  filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.5)) drop-shadow(0 0 24px rgba(255, 255, 255, 0.35)) drop-shadow(0 0 36px rgba(255, 255, 255, 0.2));
}
.home_standard .slider_nav:hover::after {
  border-color: rgb(255, 255, 255);
  transform: translate(-50%, -50%) scale(1.1);
  box-shadow: 0 0 18px rgba(255, 255, 255, 0.35), 0 0 32px rgba(255, 255, 255, 0.25), 0 0 48px rgba(255, 255, 255, 0.15), inset 0 0 12px rgba(255, 255, 255, 0.1);
}
.home_standard .slider_nav.slider_nav_prev::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-left: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  transform: translate(-40%, -50%) rotate(45deg);
  z-index: 1;
}
.home_standard .slider_nav.slider_nav_next::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-right: 1px solid #ffffff;
  border-top: 1px solid #ffffff;
  transform: translate(-60%, -50%) rotate(45deg);
  z-index: 1;
}
.home_standard .slider_nav svg {
  display: none;
}
.home_standard .standard_slider {
  display: flex;
  overflow-x: auto;
  gap: 30px;
  padding: 0 30px !important;
  margin: 0 auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  scroll-behavior: auto !important;
  scroll-snap-type: none;
}
@media (min-width: 769px) {
  .home_standard .standard_slider {
    justify-content: flex-start;
  }
}
.home_standard .standard_slider::-webkit-scrollbar {
  display: none;
}
.home_standard .standard_item {
  flex: 0 0 calc(25% - 22.5px);
  max-width: calc(25% - 22.5px);
  scroll-snap-align: start;
  scroll-snap-stop: always;
  border-radius: 4px;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.home_standard .standard_item .standard_link {
  display: block;
  text-decoration: none;
  color: #ffffff;
}
.home_standard .standard_item .standard_link .standard_image {
  width: 100%;
  aspect-ratio: 3/4;
  overflow: hidden;
}
.home_standard .standard_item .standard_link .standard_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease-out !important;
}
.home_standard .standard_item .standard_link span.standard_location {
  display: block;
  margin: 10px 0 0;
  font-size: 0.8rem;
}
.home_standard .standard_item .standard_link h3.standard_title {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.95rem;
  line-height: 1.5;
  font-weight: 400;
  transition: transform 0.3s ease;
}
.home_standard .standard_item .standard_link:hover .standard_image img {
  transform: scale(1.1) !important;
}
.home_standard .standard_item .standard_link:hover .standard_title {
  transform: translateY(-4px);
}

/*────────────────────────────────────────────────────────────────────────────────
Premium Trip
────────────────────────────────────────────────────────────────────────────────*/
.home_premium {
  padding: 100px 0 0;
  text-align: center;
  position: relative;
  overflow: hidden;
  background-color: #111211;
  width: 100%;
}
.home_premium::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #111211 0%, rgba(17, 18, 17, 0.98) 3%, rgba(17, 18, 17, 0.96) 6%, rgba(17, 18, 17, 0.93) 9%, rgba(17, 18, 17, 0.9) 12%, rgba(17, 18, 17, 0.85) 15%, rgba(17, 18, 17, 0.8) 18%, rgba(17, 18, 17, 0.74) 21%, rgba(17, 18, 17, 0.68) 24%, rgba(17, 18, 17, 0.62) 27%, rgba(17, 18, 17, 0.56) 30%, rgba(17, 18, 17, 0.52) 35%, rgba(17, 18, 17, 0.5) 40%, rgba(17, 18, 17, 0.5) 60%, rgba(17, 18, 17, 0.52) 65%, rgba(17, 18, 17, 0.56) 70%, rgba(17, 18, 17, 0.62) 73%, rgba(17, 18, 17, 0.68) 76%, rgba(17, 18, 17, 0.74) 79%, rgba(17, 18, 17, 0.8) 82%, rgba(17, 18, 17, 0.85) 85%, rgba(17, 18, 17, 0.9) 88%, rgba(17, 18, 17, 0.93) 91%, rgba(17, 18, 17, 0.96) 94%, rgba(17, 18, 17, 0.98) 97%, #111211 100%);
  z-index: 1;
  pointer-events: none;
}
.home_premium .inner {
  margin: 0 auto;
  padding: 0;
  position: relative;
  z-index: 10;
}
.home_premium .premium_list {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
  width: 100%;
}
.home_premium .premium_list .premium_item {
  width: 100%;
  opacity: 1;
  height: 400px;
  max-height: 400px;
  overflow: hidden;
  transition: opacity 0.5s ease, max-height 0.5s ease, height 0.5s ease, margin 0.5s ease;
}
.home_premium .premium_list .premium_item.premium_item_hidden {
  opacity: 0;
  max-height: 0;
  height: 0;
  margin: 0;
  pointer-events: none;
}
.home_premium .premium_list .premium_item.premium_item_hidden.premium_item_visible {
  opacity: 1;
  max-height: 400px;
  height: 400px;
}
.home_premium .premium_list .premium_item a.premium_item_link {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  text-decoration: none;
  color: #ffffff;
  height: 100%;
  width: 100%;
}
.home_premium .premium_list .premium_item a.premium_item_link:hover .premium_item_image img {
  transform: scale(1.1) !important;
}
.home_premium .premium_list .premium_item a.premium_item_link .premium_item_image {
  flex-basis: 65%;
  height: 100%;
  overflow: hidden;
}
.home_premium .premium_list .premium_item a.premium_item_link .premium_item_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease-out !important;
}
.home_premium .premium_list .premium_item a.premium_item_link .premium_item_content {
  flex-basis: 35%;
  padding: 0 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
}
.home_premium .premium_list .premium_item a.premium_item_link .premium_item_content .premium_item_location {
  font-size: 0.8rem;
  margin: 0 0 10px;
}
.home_premium .premium_list .premium_item a.premium_item_link .premium_item_content .premium_item_title_en {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 0.85rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
  text-transform: uppercase;
}
.home_premium .premium_list .premium_item a.premium_item_link .premium_item_content .premium_item_title {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.2rem;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
  line-height: 1.4;
}
.home_premium .premium_list .premium_item a.premium_item_link .premium_item_content .premium_item_excerpt {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 0.9rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.8;
}
.home_premium .premium_btn_area {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2rem;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .home_premium .premium_btn_area {
    flex-direction: column-reverse;
    gap: 30px;
    padding: 0;
  }
}
.home_premium .premium_more_btn {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
  padding: 15px 40px;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: all 0.3s ease, filter 0.3s;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 50px;
  filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.45)) drop-shadow(0 0 24px rgba(255, 255, 255, 0.3)) drop-shadow(0 0 36px rgba(255, 255, 255, 0.15));
}
.home_premium .premium_more_btn .more_icon {
  font-size: 1.2rem;
  transition: transform 0.3s ease;
}
.home_premium .premium_more_btn:hover {
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.05);
  filter: drop-shadow(0 0 12px rgba(255, 255, 255, 0.5)) drop-shadow(0 0 24px rgba(255, 255, 255, 0.35)) drop-shadow(0 0 36px rgba(255, 255, 255, 0.2));
}
.home_premium .premium_more_btn.expanded .more_text::after {
  content: " Less";
}
.home_premium .premium_more_btn.expanded .more_icon {
  transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
  .home_premium .premium_item_link {
    flex-direction: column;
  }
  .home_premium .premium_item_image,
  .home_premium .premium_item_content {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .home_premium .premium_item_content {
    padding: 1.5rem;
  }
}

/*────────────────────────────────────────────────────────────────────────────────
Semi-Order
────────────────────────────────────────────────────────────────────────────────*/
.home_semiorder {
  padding: 200px 0 150px;
  position: relative;
  overflow: hidden;
  background-image: url("../images/general/Deeplocallantern-image-52.jpg");
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
.home_semiorder::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #111211 0%, rgba(17, 18, 17, 0.98) 3%, rgba(17, 18, 17, 0.96) 6%, rgba(17, 18, 17, 0.93) 9%, rgba(17, 18, 17, 0.9) 12%, rgba(17, 18, 17, 0.85) 15%, rgba(17, 18, 17, 0.8) 18%, rgba(17, 18, 17, 0.74) 21%, rgba(17, 18, 17, 0.68) 24%, rgba(17, 18, 17, 0.62) 27%, rgba(17, 18, 17, 0.56) 30%, rgba(17, 18, 17, 0.52) 35%, rgba(17, 18, 17, 0.5) 40%, rgba(17, 18, 17, 0.5) 60%, rgba(17, 18, 17, 0.52) 65%, rgba(17, 18, 17, 0.56) 70%, rgba(17, 18, 17, 0.62) 73%, rgba(17, 18, 17, 0.68) 76%, rgba(17, 18, 17, 0.74) 79%, rgba(17, 18, 17, 0.8) 82%, rgba(17, 18, 17, 0.85) 85%, rgba(17, 18, 17, 0.9) 88%, rgba(17, 18, 17, 0.93) 91%, rgba(17, 18, 17, 0.96) 94%, rgba(17, 18, 17, 0.98) 97%, #111211 100%);
  z-index: 1;
  pointer-events: none;
}
.home_semiorder .section_title {
  margin-bottom: 40px;
}
.home_semiorder .inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .home_semiorder .inner {
    flex-direction: column;
    padding: 0 20px;
  }
}
.home_semiorder .semiorder_content {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .home_semiorder .semiorder_content {
    flex-direction: column-reverse;
    gap: 40px;
  }
}
.home_semiorder .semiorder_text {
  width: 40%;
  color: #ffffff;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .home_semiorder .semiorder_text {
    width: 100%;
    text-align: center;
  }
}
.home_semiorder .semiorder_text .semiorder_lead {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 80px 0 30px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.home_semiorder .semiorder_text .semiorder_desc {
  font-size: 0.9rem;
  line-height: 2;
  margin-bottom: 40px;
  color: rgba(255, 255, 255, 0.8);
}
.home_semiorder .semiorder_text .semiorder_btn {
  text-align: left;
}
@media screen and (max-width: 768px) {
  .home_semiorder .semiorder_text .semiorder_btn {
    display: flex;
    justify-content: center;
  }
}
.home_semiorder .semiorder_images {
  width: 60%;
  position: relative;
  height: 800px;
}
@media screen and (max-width: 768px) {
  .home_semiorder .semiorder_images {
    width: 100%;
    height: 400px;
  }
}
.home_semiorder .semiorder_images .semiorder_img_wrapper {
  position: absolute;
  width: 43%;
  height: 80%;
  overflow: hidden;
}
.home_semiorder .semiorder_images .semiorder_img_wrapper.img_left {
  top: 0;
  left: 5%;
  z-index: 2;
}
.home_semiorder .semiorder_images .semiorder_img_wrapper.img_right {
  bottom: 0;
  right: 5%;
  z-index: 1;
}
.home_semiorder .semiorder_images .semiorder_img_wrapper .semiorder_slider {
  width: 100%;
  height: 100%;
  position: relative;
  transform-origin: center center;
  will-change: transform;
}
.home_semiorder .semiorder_images .semiorder_img_wrapper .semiorder_slider img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transform: scale(1.15);
  filter: blur(15px);
  transition: opacity 4s ease-in-out, transform 10s ease-out, filter 4s ease-out;
}
.home_semiorder .semiorder_images .semiorder_img_wrapper .semiorder_slider img.active {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

/*────────────────────────────────────────────────────────────────────────────────
Location Select
────────────────────────────────────────────────────────────────────────────────*/
.home_location {
  padding: 0 0 100px;
}
.home_location .inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 2rem;
}
.home_location .inner h2 {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .home_location .inner {
    flex-direction: column;
    padding: 0 20px;
  }
}
.home_location .location_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  max-width: 1400px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .home_location .location_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  .home_location .location_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
}
.home_location .location_item {
  display: block;
  text-decoration: none;
  color: #ffffff;
  position: relative;
  transition: opacity 0.3s;
}
.home_location .location_item:hover {
  opacity: 1;
}
.home_location .location_item:hover .location_img img {
  transform: scale(1.1) !important;
}
.home_location .location_item:hover .location_img::after {
  background: rgba(17, 18, 17, 0.3);
}
.home_location .location_item .location_img {
  width: 100%;
  aspect-ratio: 1/1.414;
  overflow: hidden;
  position: relative;
}
.home_location .location_item .location_img::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(17, 18, 17, 0.4);
  transition: background 0.3s ease;
  z-index: 1;
}
.home_location .location_item .location_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease-out !important;
}
.home_location .location_item .location_name {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1rem;
  font-weight: 500;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
  width: 100%;
  padding: 0 1rem;
  letter-spacing: 0.05em;
}

/*────────────────────────────────────────────────────────────────────────────────
News
────────────────────────────────────────────────────────────────────────────────*/
.home_news {
  padding: 200px 0 150px;
  text-align: center;
  position: relative;
  overflow: hidden;
  background-image: url("../images/general/Deeplocallantern-image-24.jpg");
  background-size: cover;
  background-position: center center;
  background-attachment: fixed;
  background-repeat: no-repeat;
}
.home_news::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #111211 0%, rgba(17, 18, 17, 0.98) 3%, rgba(17, 18, 17, 0.96) 6%, rgba(17, 18, 17, 0.93) 9%, rgba(17, 18, 17, 0.9) 12%, rgba(17, 18, 17, 0.85) 15%, rgba(17, 18, 17, 0.8) 18%, rgba(17, 18, 17, 0.74) 21%, rgba(17, 18, 17, 0.68) 24%, rgba(17, 18, 17, 0.62) 27%, rgba(17, 18, 17, 0.56) 30%, rgba(17, 18, 17, 0.52) 35%, rgba(17, 18, 17, 0.5) 40%, rgba(17, 18, 17, 0.5) 60%, rgba(17, 18, 17, 0.52) 65%, rgba(17, 18, 17, 0.56) 70%, rgba(17, 18, 17, 0.62) 73%, rgba(17, 18, 17, 0.68) 76%, rgba(17, 18, 17, 0.74) 79%, rgba(17, 18, 17, 0.8) 82%, rgba(17, 18, 17, 0.85) 85%, rgba(17, 18, 17, 0.9) 88%, rgba(17, 18, 17, 0.93) 91%, rgba(17, 18, 17, 0.96) 94%, rgba(17, 18, 17, 0.98) 97%, #111211 100%);
  z-index: 1;
  pointer-events: none;
}
.home_news .inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 2rem;
  position: inherit;
  z-index: 10;
}
.home_news .news_list {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.home_news .news_item {
  display: flex;
  align-items: center;
  padding: 30px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  text-decoration: none;
  color: #ffffff;
  transition: opacity 0.3s;
}
.home_news .news_item:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .home_news .news_item {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}
.home_news .news_item .news_meta {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 250px;
  flex-shrink: 0;
}
.home_news .news_item .news_meta .news_date {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1rem;
  letter-spacing: 0.05em;
}
.home_news .news_item .news_meta .news_cat {
  font-size: 0.8rem;
  border: 1px solid #ffffff;
  padding: 2px 10px;
  border-radius: 20px;
}
.home_news .news_item .news_title {
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 1.6;
}
.home_news .news_btn_area {
  margin-top: 60px;
  text-align: right;
}

/*────────────────────────────────────────────────────────────────────────────────
Partnership
────────────────────────────────────────────────────────────────────────────────*/
.home_partnership {
  padding: 150px 0;
}
.home_partnership .inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 50px;
}
@media screen and (max-width: 768px) {
  .home_partnership .inner {
    padding: 0 20px;
  }
}
.home_partnership .partnership_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
  margin-top: 80px;
}
@media screen and (max-width: 1024px) {
  .home_partnership .partnership_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
@media screen and (max-width: 768px) {
  .home_partnership .partnership_list {
    grid-template-columns: 1fr;
    gap: 60px;
  }
}
.home_partnership .partner_item {
  display: flex;
  flex-direction: column;
}
.home_partnership .partner_item:hover .partner_img img {
  transform: scale(1.05);
  filter: grayscale(0%);
}
.home_partnership .partner_img {
  width: 100%;
  aspect-ratio: 3/4;
  overflow: hidden;
  margin-bottom: 25px;
  background: #181918;
}
.home_partnership .partner_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.5s ease;
  filter: grayscale(30%);
}
.home_partnership .partner_info .partner_role {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.home_partnership .partner_info .partner_name {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: #ffffff;
  margin-bottom: 15px;
  display: flex;
  align-items: baseline;
  gap: 15px;
}
.home_partnership .partner_info .partner_name .ja {
  font-size: 0.9rem;
  opacity: 0.6;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 300;
}
.home_partnership .partner_info .partner_desc {
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 0.85rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.8);
  text-align: justify;
}

/*────────────────────────────────────────────────────────────────────────────────
Featured in
────────────────────────────────────────────────────────────────────────────────*/
.home_featured {
  padding: 100px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.home_featured .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 50px;
}
@media screen and (max-width: 768px) {
  .home_featured .inner {
    padding: 0 20px;
  }
}
.home_featured .section_title_small {
  text-align: center;
  margin-bottom: 80px;
  font-size: 1.2rem;
  letter-spacing: 0.2em;
  opacity: 0.6;
}
.home_featured .featured_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .home_featured .featured_grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
}
@media screen and (max-width: 768px) {
  .home_featured .featured_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
.home_featured .featured_item {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 120px;
  background: transparent;
  transition: opacity 0.3s ease;
  text-decoration: none;
}
.home_featured .featured_item:hover {
  opacity: 0.6;
}
.home_featured .featured_item:hover img {
  filter: brightness(1.2);
}
.home_featured .featured_item img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  filter: brightness(0.9);
  transition: filter 0.3s ease;
}

/*────────────────────────────────────────────────────────────────────────────────
Journal
────────────────────────────────────────────────────────────────────────────────*/
.home_journal {
  padding: 100px 0 200px;
}
.home_journal .inner {
  margin: 0 auto;
  padding: 0 2rem;
}
.home_journal .journal_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  margin-top: 60px;
}
@media screen and (max-width: 1024px) {
  .home_journal .journal_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .home_journal .journal_list {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
.home_journal .journal_item {
  display: block;
  text-decoration: none;
  color: #363636;
  background: #181918;
  padding: 20px;
  padding-bottom: 90px;
  box-shadow: 0 0.4px 1.2px rgba(0, 0, 0, 0.01), 0 1px 3.4px rgba(0, 0, 0, 0.015), 0 2.4px 8.1px rgba(0, 0, 0, 0.02), 0 8px 27px rgba(0, 0, 0, 0.03);
  position: relative;
  transition: box-shadow 0.3s ease;
}
.home_journal .journal_item:hover {
  box-shadow: 0px 2px 2.3px rgba(0, 0, 0, 0.031), 0px 5px 5.9px rgba(0, 0, 0, 0.044), 0px 10.3px 12.1px rgba(0, 0, 0, 0.056), 0px 21.2px 24.8px rgba(0, 0, 0, 0.069), 0px 58px 68px rgba(0, 0, 0, 0.1);
}
.home_journal .journal_item:hover .journal_img img {
  transform: scale(1.1) !important;
}
.home_journal .journal_item .journal_img_wrapper {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #111211;
}
.home_journal .journal_item .journal_img {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.home_journal .journal_item .journal_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 1.5s ease-out !important;
}
.home_journal .journal_item .journal_meta {
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  width: auto;
  text-align: left;
  padding: 0 5px;
}
.home_journal .journal_item .journal_meta .journal_date {
  display: block;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.8rem;
  margin-bottom: 5px;
  opacity: 0.7;
  color: #ffffff;
}
.home_journal .journal_item .journal_meta .journal_title {
  font-size: 0.9rem;
  line-height: 1.4;
  font-weight: 400;
  color: #ffffff;
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.home_journal .journal_btn_area {
  margin-top: 60px;
  text-align: right;
}

/*────────────────────────────────────────────────────────────────────────────────
Video Section (Image Slider)
────────────────────────────────────────────────────────────────────────────────*/
.home_video {
  width: 100%;
  margin-bottom: 100px;
  background: #111211;
  position: relative;
  overflow: hidden;
}
.home_video .video_slider_container {
  position: relative;
  width: 100%;
  aspect-ratio: 2.35/1;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .home_video .video_slider_container {
    aspect-ratio: 16/9;
  }
}
.home_video .video_slider_track {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  height: 100%;
}
.home_video .video_slider_item {
  height: 100%;
  aspect-ratio: 16/9;
  flex-shrink: 0;
  position: relative;
}
.home_video .video_slider_item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home_video .video_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding-bottom: 2%;
  z-index: 2;
  pointer-events: none;
}
.home_video .video_overlay .video_subtitle {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: 0.1em;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
  margin: 0 0 30px;
}
@media screen and (max-width: 768px) {
  .home_video .video_overlay .video_subtitle {
    font-size: 0.9rem;
    padding: 0 20px;
    text-align: center;
    padding-bottom: 20px;
  }
}

.subpages_wrapper {
  padding: 100px auto;
  margin: 0 auto;
  display: block;
  border-bottom: 1px solid transparent;
}

@media screen and (max-width: 768px) {
  .subpages_wrapper {
    width: 100%;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
privacy-policy
────────────────────────────────────────────────────────────────────────────────*/
.ppr {
  color: #ffffff;
  margin: 0 auto;
  padding-bottom: 147px;
}
.ppr .ppr_item {
  margin-bottom: 49px;
  padding-bottom: 49px;
  border-bottom: 1px solid rgba(40, 40, 40, 0.2);
}
.ppr h2 {
  font-size: 1rem;
  margin: 70px 0 1rem;
  letter-spacing: 0.1rem;
}
.ppr h3 {
  margin-bottom: 1rem;
}
.ppr p {
  display: block;
  line-height: 1.7;
  font-size: 0.9rem;
  color: #ffffff;
}
.ppr p span {
  display: block;
}
.ppr ul {
  margin: 0 0 0 1rem;
  list-style: square;
}
.ppr ul li {
  font-size: 0.9rem;
}
.ppr table {
  font-size: 0.8rem !important;
  margin-top: 40px;
}

@media screen and (max-width: 768px) {
  .ppr {
    margin: 0 auto;
    border-bottom: 1px solid transparent;
    padding-bottom: 0;
  }
  .ppr .ppr_item {
    margin-bottom: 21px;
    padding-bottom: 21px;
  }
  .ppr h2 {
    font-size: 0.9rem !important;
    margin: 49px 0 1rem;
  }
  .ppr p {
    font-size: 0.8rem !important;
  }
  .ppr p span {
    font-size: 0.8rem !important;
  }
  .ppr ul {
    list-style: circle;
  }
  .ppr ul li {
    font-size: 0.8rem;
  }
  .ppr table {
    font-size: 0.8rem !important;
    margin-top: 40px;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
404
────────────────────────────────────────────────────────────────────────────────*/
.error-page section > div {
  display: block;
  margin: 300px auto;
  text-align: center;
}
.error-page .error_title {
  font-family: "Outfit", sans-serif;
  text-align: center;
  margin-bottom: 50px;
}
.error-page .error_title h1 {
  font-size: 5.5rem !important;
  margin: 0;
  line-height: 1;
  font-weight: 500;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.error-page .error_title span.en {
  font-size: 1.3rem;
  font-weight: 600;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.error-page p {
  margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
  .error-page section > div {
    margin: 100px auto;
  }
  .error-page .error_title {
    margin-bottom: 30px;
  }
  .error-page .error_title h1 {
    font-size: 4.5rem !important;
  }
  .error-page p {
    margin-bottom: 30px;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
Contact Page
────────────────────────────────────────────────────────────────────────────────*/
.contact {
  background-color: #111211;
  color: #ffffff;
}
.contact .subpages_wrapper {
  background-color: #111211;
}
.contact .subpages_wrapper .contact_inner {
  max-width: 650px;
  margin: 0 auto;
}
.contact .contact_flow {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 100px auto 60px;
  position: relative;
  z-index: 1;
}
.contact .contact_flow::after {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: 68%;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
  z-index: -1;
}
.contact .contact_flow .contact_flow_item {
  text-align: center;
  flex-basis: 33.3333333333%;
}
.contact .contact_flow .contact_flow_item span.circle {
  width: 14px;
  height: 14px;
  background-color: #111211;
  border: 1px solid rgba(255, 255, 255, 0.25);
  display: inline-block;
  border-radius: 50px;
  transition: all 0.4s ease;
  box-shadow: none;
}
.contact .contact_flow .contact_flow_item span.status {
  display: block;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.9rem;
  margin-top: 12px;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
}
.contact .contact_flow .contact_flow_item.current span.circle {
  border: none;
  background: radial-gradient(circle, #fff 0%, #C49D3E 45%, rgba(196, 157, 62, 0.4) 75%, transparent 100%);
  box-shadow: 0 0 20px rgba(196, 157, 62, 0.9), 0 0 35px rgba(196, 157, 62, 0.6), 0 0 50px rgba(196, 157, 62, 0.3), inset 0 0 10px rgba(255, 255, 255, 0.8);
  animation: lanternGlow 2s ease-in-out infinite;
}
.contact .contact_flow .contact_flow_item.current span.status {
  font-weight: 600;
  color: #C49D3E;
}
.contact p.form_avobe {
  text-align: center;
  margin: 80px auto;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.8;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .contact .contact_flow {
    margin: 50px auto 40px;
  }
  .contact .contact_flow .contact_flow_item span.circle {
    width: 14px;
    height: 14px;
  }
  .contact .contact_flow .contact_flow_item span.status {
    font-size: 0.7rem;
    margin-top: 6px;
  }
  .contact p.form_avobe {
    text-align: left;
    margin: 20px auto 40px;
    font-size: 0.9rem;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
Thanks Page
────────────────────────────────────────────────────────────────────────────────*/
.thanks {
  background-color: #111211;
  color: #ffffff;
}
.thanks .subpages_wrapper {
  margin: 60px auto 100px;
  background-color: #111211;
}
.thanks .subpages_wrapper p.form_avobe {
  text-align: left;
  margin: 100px auto 50px;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.8);
}
.thanks .subpages_wrapper ul {
  background: rgba(255, 255, 255, 0.05);
  padding: 20px 50px;
  display: block;
  list-style: disc;
  margin: 50px auto 0;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.thanks .subpages_wrapper ul li {
  font-size: 0.8rem;
  margin: 10px 0;
  color: rgba(255, 255, 255, 0.8);
}
.thanks .subpages_wrapper ul li a {
  display: inline;
  color: #3D8799;
  border-bottom: 1px solid #3D8799;
  font-size: 0.8rem;
  transition: all 0.3s ease;
}
.thanks .subpages_wrapper ul li a:hover {
  color: #50a5b9;
  border-bottom-color: #50a5b9;
}
.thanks .subpages_wrapper .backtohome {
  margin: 70px 0 0;
  text-align: center;
}

@keyframes lanternGlow {
  0%, 100% {
    box-shadow: 0 0 20px rgba(196, 157, 62, 0.9), 0 0 35px rgba(196, 157, 62, 0.6), 0 0 50px rgba(196, 157, 62, 0.3), inset 0 0 10px rgba(255, 255, 255, 0.8);
  }
  50% {
    box-shadow: 0 0 25px #c49d3e, 0 0 45px rgba(196, 157, 62, 0.8), 0 0 65px rgba(196, 157, 62, 0.5), inset 0 0 12px white;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
FAQ Page
────────────────────────────────────────────────────────────────────────────────*/
.faq_page {
  background-color: #111211;
  color: #ffffff !important;
}
.faq_page .tiny_wrap {
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 2rem 100px;
}
.faq_page .faq_category_section {
  margin-bottom: 80px;
}
.faq_page .faq_category_section:last-child {
  margin-bottom: 0;
}
.faq_page .faq_category_title {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.3rem;
  font-weight: 400;
  color: #ffffff;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  letter-spacing: 0.05em;
  color: #ffffff;
}
@media screen and (max-width: 1024px) {
  .faq_page .faq_category_title {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 768px) {
  .faq_page .faq_category_title {
    font-size: 1.5rem;
  }
}
.faq_page .faq_category_description {
  font-size: 0.95rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 30px;
  color: #ffffff;
}
.faq_page .faq_list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.faq_page .faq_item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  overflow: hidden;
  transition: border-color 0.3s ease;
}
.faq_page .faq_item:hover {
  border-color: rgba(255, 255, 255, 0.3);
}
.faq_page .faq_item.active {
  border-color: rgba(255, 255, 255, 0.4);
}
.faq_page .faq_question {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  position: relative;
}
.faq_page .faq_question span.faq_q_label {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.5rem;
  font-weight: 400;
  color: #C49D3E;
}
.faq_page .faq_question h3.faq_q_text {
  flex: 1;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.6;
  color: #ffffff;
  margin: 0;
  color: #C49D3E;
}
@media screen and (max-width: 768px) {
  .faq_page .faq_question h3.faq_q_text {
    font-size: 1rem;
  }
}
.faq_page .faq_question .faq_toggle_icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.6);
}
.faq_page .faq_answer {
  display: flex;
  visibility: hidden;
  height: 0;
  opacity: 0;
  overflow: hidden;
}
.faq_page .faq_answer .faq_answer_inner {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: 0 15px 25px 15px;
  width: 100%;
}
.faq_page .faq_answer .faq_a_text {
  flex: 1;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.85) !important;
  padding-left: 2.8rem;
}
.faq_page .faq_answer .faq_a_text p {
  margin: 0 0 15px;
  color: rgba(255, 255, 255, 0.85) !important;
}
.faq_page .faq_answer .faq_a_text p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .faq_page .faq_answer .faq_a_text {
    font-size: 0.9rem;
  }
}
.faq_page .no_faq {
  text-align: center;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.6);
  padding: 60px 20px;
}
@media screen and (max-width: 1024px) {
  .faq_page .tiny_wrap {
    padding: 50px 2rem 80px;
  }
  .faq_page .faq_category_section {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 768px) {
  .faq_page .tiny_wrap {
    padding: 40px 1.5rem 60px;
  }
  .faq_page .faq_category_section {
    margin-bottom: 50px;
  }
  .faq_page .faq_question {
    padding: 15px;
    gap: 12px;
  }
  .faq_page .faq_question .faq_q_label {
    width: 28px;
    height: 28px;
    font-size: 0.85rem;
  }
  .faq_page .faq_answer {
    gap: 12px;
    padding: 0 15px;
  }
  .faq_page .faq_answer .faq_a_label {
    width: 28px;
    height: 28px;
    font-size: 0.85rem;
  }
}

.concept {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  background-color: #0A0A0A;
  color: #ffffff;
  /* セクション共通 */
  /*──────────────────────────────────────────
  イントロセクション
  ──────────────────────────────────────────*/
  /*──────────────────────────────────────────
  Mixed Section (Hero + Sticky Intro + Scroll Images)
  ──────────────────────────────────────────*/
  /* Hero Title Area */
  /* Split Content */
  /*──────────────────────────────────────────
  Video Section (Integrated)
  ──────────────────────────────────────────*/
  /*──────────────────────────────────────────
  シネマスコープスライダー
  ──────────────────────────────────────────*/
  /*──────────────────────────────────────────
  特徴セクション
  ──────────────────────────────────────────*/
  /*──────────────────────────────────────────
  商品リンクバナー
  ──────────────────────────────────────────*/
  /*──────────────────────────────────────────
  お問い合わせCTA
  ──────────────────────────────────────────*/
  /*──────────────────────────────────────────
  レスポンシブ
  ──────────────────────────────────────────*/
}
.concept section {
  padding: 120px 0;
  position: relative;
}
.concept .concept_section_title {
  text-align: center;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2rem;
  color: #ffffff;
  letter-spacing: 0.2em;
  margin-bottom: 60px;
  font-weight: 400;
  position: relative;
  z-index: 2;
}
.concept .concept_section_description {
  text-align: center;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.08em;
  margin: -40px auto 60px;
  max-width: 600px;
  line-height: 1.8;
  position: relative;
  z-index: 2;
}
.concept .fade {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1s ease, transform 1s ease;
}
.concept .fade.active, .concept .fade.is-inview {
  opacity: 1;
  transform: translateY(0);
}
.concept .concept_mixed_section {
  position: relative;
  /* create a stacking context and clipping area for the fixed background */
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  min-height: 100vh;
  width: 100%;
  color: #ffffff;
  padding: 0;
  /* Override default section padding */
  /* Gradient for smooth transition at the bottom */
}
.concept .concept_mixed_section::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 800px;
  background: linear-gradient(to bottom, rgba(17, 18, 17, 0) 0%, #0A0A0A 100%);
  z-index: 10;
  pointer-events: none;
}
.concept .fixed_bg_layer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.concept .fixed_bg_layer img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.concept .fixed_bg_layer .overlay_blur {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(17, 18, 17, 0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  opacity: 0;
  /* Changed from default visible */
  will-change: opacity;
}
.concept .scroll_content_layer {
  position: relative;
  z-index: 20;
  /* Higher than ::after (z-index: 10) to keep content clear */
  padding-bottom: 120px;
}
.concept .concept_title_area {
  height: 100vh;
  /* scroll initial view */
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0;
  padding-top: 0;
}
.concept .concept_title_area .concept_main_title {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2.5rem;
  letter-spacing: 0.2em;
  color: #ffffff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  margin: 0;
  /* Reset h1 margin just in case */
  text-align: center;
  width: 100%;
  will-change: transform, opacity;
}
.concept .concept_split_content .split_inner {
  display: flex;
  justify-content: space-between;
  /* align-items: stretch; default, needed for sticky container height */
}
.concept .concept_split_content .intro_side {
  width: 40%;
  padding-top: 40px;
}
.concept .concept_split_content .intro_sticky_wrapper {
  position: sticky;
  top: 20%;
  padding-left: 10%;
  /* Stick at 20% from top */
}
.concept .concept_split_content .image_side {
  width: 55%;
}
.concept .concept_split_content .intro_heading {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2rem;
  line-height: 1.6;
  margin-bottom: 40px;
  font-weight: 500;
}
.concept .concept_split_content .intro_text {
  font-size: 1rem;
  line-height: 2.4;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  color: rgba(255, 255, 255, 0.9);
}
.concept .concept_split_content .image_item {
  margin-bottom: 80px;
  position: relative;
  /* Random-like rhythmic layout */
  /* Variation 1: Vertical Portrait */
  /* Variation 2: Standard Portrait */
  /* Variation 3: Wide/Square-ish */
}
.concept .concept_split_content .image_item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  border-radius: 4px;
  /* subtle radius */
}
.concept .concept_split_content .image_item:nth-child(odd) {
  margin-left: auto;
  /* Align right */
  margin-right: 5%;
}
.concept .concept_split_content .image_item:nth-child(even) {
  margin-right: auto;
  /* Align left */
  margin-left: 5%;
}
.concept .concept_split_content .image_item:nth-child(3n+1) {
  width: 60%;
  aspect-ratio: 9/16;
  margin-top: 0;
}
.concept .concept_split_content .image_item:nth-child(3n+2) {
  width: 80%;
  aspect-ratio: 4/5;
  margin-top: -40px;
  /* Overlap effect */
}
.concept .concept_split_content .image_item:nth-child(3n+3) {
  width: 70%;
  aspect-ratio: 1/1;
  margin-top: 40px;
}
.concept .concept_split_content .image_item:last-child {
  margin-bottom: 0;
}
.concept .video_wrapper_integrated {
  padding-top: 200px;
  /* Space from image gallery */
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  z-index: 20;
  /* Ensure video is above the black gradient overlay */
}
.concept .video_wrapper_integrated .video_stage {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}
.concept .video_wrapper_integrated .video_cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
  /* On top initially */
}
.concept .video_wrapper_integrated .video_cover:hover .play_button {
  transform: translate(-50%, -50%) scale(1.1);
}
.concept .video_wrapper_integrated .video_cover img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease;
}
.concept .video_wrapper_integrated .video_cover:hover img {
  transform: scale(1.05);
}
.concept .video_wrapper_integrated .play_button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  background: rgba(255, 255, 255, 0.2);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  pointer-events: none;
  /* Let clicks pass to cover */
}
.concept .video_wrapper_integrated .play_button .play_icon_shape {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 12px 20px;
  border-color: transparent transparent transparent #ffffff;
  margin-left: 4px;
  /* optical center */
}
.concept .video_wrapper_integrated video.concept_movie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
}
.concept .concept_slider {
  padding: 0;
  background-color: #0A0A0A;
  padding: 100px 0 250px;
}
.concept .concept_slider .slider_wrapper {
  width: 100%;
  overflow: visible;
}
.concept .concept_slider .slider_container {
  position: relative;
  width: 100%;
  aspect-ratio: 2.39/1;
}
.concept .concept_slider .slider_item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.5s ease;
}
.concept .concept_slider .slider_item.active {
  opacity: 1;
}
.concept .concept_slider .slider_item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.concept .concept_slider .slider_item .slider_caption {
  position: absolute;
  bottom: -40px;
  right: 20px;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.9rem;
  color: #ffffff;
  letter-spacing: 0.15em;
  text-align: right;
}
.concept .concept_features {
  padding: 0;
  background-color: #0A0A0A;
  position: relative;
  background-image: url("../images/general/Deeplocallantern-image-39.jpg");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.concept .concept_features::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #0a0a0a 0%, rgba(10, 10, 10, 0.98) 3%, rgba(10, 10, 10, 0.96) 6%, rgba(10, 10, 10, 0.93) 9%, rgba(10, 10, 10, 0.9) 12%, rgba(10, 10, 10, 0.85) 15%, rgba(10, 10, 10, 0.8) 18%, rgba(10, 10, 10, 0.74) 21%, rgba(10, 10, 10, 0.68) 24%, rgba(10, 10, 10, 0.62) 27%, rgba(10, 10, 10, 0.56) 30%, rgba(10, 10, 10, 0.52) 35%, rgba(10, 10, 10, 0.5) 40%, rgba(10, 10, 10, 0.5) 60%, rgba(10, 10, 10, 0.52) 65%, rgba(10, 10, 10, 0.56) 70%, rgba(10, 10, 10, 0.62) 73%, rgba(10, 10, 10, 0.68) 76%, rgba(10, 10, 10, 0.74) 79%, rgba(10, 10, 10, 0.8) 82%, rgba(10, 10, 10, 0.85) 85%, rgba(10, 10, 10, 0.9) 88%, rgba(10, 10, 10, 0.93) 91%, rgba(10, 10, 10, 0.96) 94%, rgba(10, 10, 10, 0.98) 97%, #0a0a0a 100%);
  z-index: 1;
  pointer-events: none;
}
.concept .concept_features::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
  background: linear-gradient(to bottom, #0a0a0a 0%, rgba(10, 10, 10, 0.8) 20%, rgba(10, 10, 10, 0.5) 50%, rgba(10, 10, 10, 0) 100%);
  z-index: 1;
  pointer-events: none;
}
.concept .concept_features .features_grid {
  display: flex;
  flex-direction: column;
  gap: 100px;
  margin-top: 80px;
  position: relative;
  z-index: 2;
}
.concept .concept_features .feature_item {
  display: flex;
  align-items: stretch;
  height: 400px;
}
.concept .concept_features .feature_content {
  flex: 0 0 500px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 100px;
}
.concept .concept_features .feature_content .section_header_left span.number {
  font-family: "Outfit", sans-serif;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
  letter-spacing: 0;
  display: block;
}
.concept .concept_features .feature_content .section_header_left h3.section_title_main {
  font-size: 1.8rem;
  margin: 20px 0 40px;
  line-height: 1.2;
}
.concept .concept_features .feature_content .section_header_left p.section_title_ja {
  font-size: 1.3rem;
}
.concept .concept_features .feature_content p.feature_description {
  margin: 20px 0 0;
  font-size: 0.9rem;
  list-style: none;
  line-height: 1.5;
}
.concept .concept_features .feature_icon {
  flex: 1;
  overflow: hidden;
  position: relative;
}
.concept .concept_features .feature_icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 0.6s ease;
}
.concept .concept_features .feature_description {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.8);
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  letter-spacing: 0.05em;
}
.concept .concept_cta {
  padding: 200px 0 0;
}
.concept .concept_cta .cta_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}
.concept .concept_cta .cta_grid .cta_item a {
  display: flex;
  flex-direction: column;
  background-color: rgba(255, 255, 255, 0.03);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.concept .concept_cta .cta_grid .cta_item a:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
.concept .concept_cta .cta_grid .cta_item a:hover .cta_image img {
  transform: scale(1.1);
}
.concept .concept_cta .cta_grid .cta_item a:hover .btn_shooting_new {
  transform: translateX(5px);
}
.concept .concept_cta .cta_image {
  width: 100%;
  aspect-ratio: 3/4;
  overflow: hidden;
  position: relative;
}
.concept .concept_cta .cta_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease;
}
.concept .concept_cta .cta_content {
  width: 100%;
  padding: 20px 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.concept .concept_cta .cta_content .cta_label {
  font-family: "Outfit", sans-serif;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.concept .concept_cta .cta_content h3.cta_title {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.1rem;
  color: #ffffff;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin: 0 0 10px;
}
.concept .concept_cta .cta_content span {
  color: rgba(255, 255, 255, 0.5);
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.8rem;
}
.concept .concept_contact_cta {
  padding: 280px 0;
  margin: 0 auto 100px;
  background-color: #0A0A0A;
  text-align: center;
  background-image: url("../images/general/Deeplocallantern-image-21.jpg");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.concept .concept_contact_cta::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, #111211 0%, rgba(17, 18, 17, 0.98) 3%, rgba(17, 18, 17, 0.96) 6%, rgba(17, 18, 17, 0.93) 9%, rgba(17, 18, 17, 0.9) 12%, rgba(17, 18, 17, 0.85) 15%, rgba(17, 18, 17, 0.8) 18%, rgba(17, 18, 17, 0.74) 21%, rgba(17, 18, 17, 0.68) 24%, rgba(17, 18, 17, 0.62) 27%, rgba(17, 18, 17, 0.56) 30%, rgba(17, 18, 17, 0.52) 35%, rgba(17, 18, 17, 0.5) 40%, rgba(17, 18, 17, 0.5) 60%, rgba(17, 18, 17, 0.52) 65%, rgba(17, 18, 17, 0.56) 70%, rgba(17, 18, 17, 0.62) 73%, rgba(17, 18, 17, 0.68) 76%, rgba(17, 18, 17, 0.74) 79%, rgba(17, 18, 17, 0.8) 82%, rgba(17, 18, 17, 0.85) 85%, rgba(17, 18, 17, 0.9) 88%, rgba(17, 18, 17, 0.93) 91%, rgba(17, 18, 17, 0.96) 94%, rgba(17, 18, 17, 0.98) 97%, #111211 100%);
  z-index: 1;
  pointer-events: none;
}
.concept .concept_contact_cta::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
  background: linear-gradient(to bottom, #0a0a0a 0%, rgba(10, 10, 10, 0.8) 20%, rgba(10, 10, 10, 0.5) 50%, rgba(10, 10, 10, 0) 100%);
  z-index: 1;
  pointer-events: none;
}
.concept .concept_contact_cta .contact_cta_inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}
.concept .concept_contact_cta .contact_cta_inner a {
  display: block;
  text-decoration: none;
  transition: transform 0.3s ease;
}
.concept .concept_contact_cta .contact_cta_inner a:hover .contact_cta_text::after {
  transform: translateX(calc(-50% + 20px));
}
.concept .concept_contact_cta .contact_cta_inner a:hover .contact_cta_text::before {
  transform: translateX(calc(-50% + 20px)) rotate(45deg);
}
.concept .concept_contact_cta .contact_cta_inner a:hover .contact_cta_title {
  color: rgba(255, 255, 255, 0.7);
}
.concept .concept_contact_cta .contact_cta_inner a:hover .contact_cta_text {
  color: rgba(255, 255, 255, 0.7);
}
.concept .concept_contact_cta .contact_cta_title {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 4rem;
  color: #ffffff;
  margin-bottom: 10px;
  font-weight: 400;
  transition: 0.3s all;
}
.concept .concept_contact_cta .contact_cta_text {
  font-size: 0.9rem;
  color: white;
  letter-spacing: 0.05em;
  margin-bottom: 60px;
  position: relative;
  display: inline-block;
  transition: 0.3s all;
}
.concept .concept_contact_cta .contact_cta_text::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -36px;
  width: 70px;
  height: 1px;
  background: #ffffff;
  opacity: 1;
  transform: translateX(-50%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.concept .concept_contact_cta .contact_cta_text::before {
  content: "";
  position: absolute;
  left: calc(50% + 29px);
  bottom: -40px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #ffffff;
  opacity: 1;
  transform: translateX(-50%) rotate(45deg);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
@container (max-width: 768px) {
  .concept {
    /* .concept_mixed_section responsive adjusting if needed */
  }
  .concept .concept_title_area {
    height: 60vh;
  }
  .concept .concept_title_area .concept_main_title {
    font-size: 2rem;
  }
  .concept .concept_split_content .split_inner {
    flex-direction: column;
  }
  .concept .concept_split_content .intro_side {
    width: 100%;
    padding-top: 0;
    margin-bottom: 50px;
  }
  .concept .concept_split_content .intro_sticky_wrapper {
    position: static;
    /* No sticky on mobile */
  }
  .concept .concept_split_content .image_side {
    width: 100%;
  }
  .concept .concept_split_content .intro_heading {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
  .concept .concept_split_content .intro_text {
    font-size: 0.95rem;
    padding: 0;
  }
  .concept .concept_split_content .image_item {
    margin-bottom: 40px;
    /* Reset desktop staggering */
  }
  .concept .concept_split_content .image_item:nth-child(n) {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    aspect-ratio: 3/2;
    /* Mobile friendly ratio */
  }
  .concept .concept_video {
    padding: 60px 0;
  }
  .concept .concept_video .play_button {
    width: 60px;
    height: 60px;
  }
  .concept .concept_video .play_button .play_icon_shape {
    border-width: 8px 0 8px 14px;
  }
  .concept .concept_slider .slider_container {
    aspect-ratio: 16/9;
  }
  .concept .concept_slider .slider_item .slider_caption {
    bottom: 20px;
    right: 20px;
    font-size: 0.75rem;
    padding: 8px 16px;
  }
  .concept .concept_features .feature_item {
    flex-direction: column;
    min-height: auto;
  }
  .concept .concept_features .feature_content {
    flex: 1;
    padding: 60px 30px;
  }
  .concept .concept_features .feature_icon {
    flex: 1;
    min-height: 300px;
  }
  .concept .concept_features h3.feature_title {
    font-size: 1.4rem;
  }
  .concept .concept_features .feature_description {
    font-size: 0.9rem;
  }
  .concept .concept_cta {
    padding: 80px 0 120px;
  }
  .concept .concept_cta .cta_grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .concept .concept_cta a.cta_banner {
    aspect-ratio: 16/9;
  }
  .concept .concept_cta a.cta_banner .cta_content {
    padding: 30px 20px;
  }
  .concept .concept_cta a.cta_banner h3.cta_title {
    font-size: 1.4rem;
  }
}

/*────────────────────────────────────────────────────────────────────────────────
Custom Order Intro
────────────────────────────────────────────────────────────────────────────────*/
.custom-order_intro {
  padding: 100px 0 60px;
  text-align: center;
  background: #111211;
}
.custom-order_intro .inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
.custom-order_intro .intro_catch {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2rem;
  line-height: 1.5;
  color: #ffffff;
  margin-bottom: 40px;
  letter-spacing: 0.15rem;
}
@media screen and (max-width: 768px) {
  .custom-order_intro .intro_catch {
    font-size: 1.8rem;
    letter-spacing: 0.1rem;
  }
}
.custom-order_intro .intro_text {
  font-size: 1rem;
  line-height: 2;
  color: rgba(255, 255, 255, 0.8);
  text-align: justify;
  text-justify: inter-character;
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .custom-order_intro .intro_text {
    font-size: 0.9rem;
    text-align: left;
  }
}

/* Form Flow Override */
.custom-order-page .contact_flow {
  margin-top: 0 !important;
}

/*────────────────────────────────────────────────────────────────────────────────
Custom Order Journal (Shared with Home)
────────────────────────────────────────────────────────────────────────────────*/
.custom-order_journal {
  background: #111211;
  padding: 100px 0 150px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.custom-order_journal .inner {
  max-width: 1400px;
}
.custom-order_journal .journal_list.grid_8 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media screen and (max-width: 1024px) {
  .custom-order_journal .journal_list.grid_8 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .custom-order_journal .journal_list.grid_8 {
    grid-template-columns: 1fr;
  }
}

/*posts
───────────────────────*/
/*────────────────────────────────────────────────────────────────────────────────
Post Archive & List Styles
────────────────────────────────────────────────────────────────────────────────*/
.news_archive,
.wellsblog-archive {
  background-color: #111211;
  color: #ffffff;
}
.news_archive ul.post_list_text,
.wellsblog-archive ul.post_list_text {
  margin: 130px auto 50px;
}

ul.post_list_text {
  text-align: left;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
ul.post_list_text li.post_item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  padding: 30px 1.5rem;
  transition: all 0.3s ease;
  position: relative;
  padding-right: 40px;
}
ul.post_list_text li.post_item::after {
  content: "→";
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, 0.4);
  font-size: 1.2rem;
  transition: all 0.3s ease;
}
ul.post_list_text li.post_item:hover {
  background: rgba(255, 255, 255, 0.02);
}
ul.post_list_text li.post_item:hover::after {
  right: 1rem;
  color: #C49D3E;
}
ul.post_list_text li.post_item .post_item_inner_above {
  margin-bottom: 10px;
}
ul.post_list_text li.post_item .post_item_inner_above ul.post-categories {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 10px;
}
ul.post_list_text li.post_item .post_item_inner_above ul.post-categories li a {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
  display: inline-block;
}
ul.post_list_text li.post_item .post_item_inner_above ul.post-categories li a:before {
  content: "#";
  margin-right: 2px;
}
ul.post_list_text li.post_item .post_item_inner_above ul.post-categories li a:hover {
  color: #C49D3E;
}
ul.post_list_text li.post_item a {
  display: block;
  text-decoration: none;
}
ul.post_list_text li.post_item a .post_item_inner_bottom {
  display: flex;
  align-items: baseline;
  gap: 20px;
}
ul.post_list_text li.post_item a .post_item_inner_bottom .post_item_date {
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.85rem;
  font-family: "Noto Sans JP", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  letter-spacing: 0.05em;
  white-space: nowrap;
  min-width: 100px;
}
ul.post_list_text li.post_item a .post_item_inner_bottom .post_item_title {
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.6;
  flex: 1;
  transition: all 0.3s ease;
}
ul.post_list_text li.post_item a:hover .post_item_inner_bottom .post_item_title {
  color: #C49D3E;
}

@media screen and (max-width: 768px) {
  .news_archive ul.post_list_text,
  .wellsblog-archive ul.post_list_text {
    margin: 80px auto 100px;
  }
  ul.post_list_text li.post_item {
    padding: 20px 0;
  }
  ul.post_list_text li.post_item .post_item_inner_above {
    margin-bottom: 10px;
  }
  ul.post_list_text li.post_item .post_item_inner_above ul.post-categories li a {
    font-size: 0.7rem;
  }
  ul.post_list_text li.post_item a .post_item_inner_bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding-right: 30px;
  }
  ul.post_list_text li.post_item a .post_item_inner_bottom::after {
    font-size: 1rem;
  }
  ul.post_list_text li.post_item a .post_item_inner_bottom .post_item_date {
    font-size: 0.75rem;
    min-width: auto;
  }
  ul.post_list_text li.post_item a .post_item_inner_bottom .post_item_title {
    font-size: 0.95rem;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
Single Post Styles
────────────────────────────────────────────────────────────────────────────────*/
.news_single {
  background-color: #111211;
  color: #ffffff;
}
.news_single #subpages-single-header {
  padding: 100px 0 0;
}
.news_single #subpages-single-header #breadcrumb ul li > a span {
  color: rgba(255, 255, 255, 0.7);
}
.news_single #subpages-single-header #breadcrumb ul li > span {
  color: #ffffff;
}
.news_single #subpages-single-header #breadcrumb ul li:not(:last-child)::after {
  color: rgba(255, 255, 255, 0.5);
}
.news_single .subpages_wrapper article {
  margin: 80px auto 100px;
}
.news_single .subpages_wrapper article header.entry-header {
  margin-bottom: 50px;
  padding-bottom: 30px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.news_single .subpages_wrapper article header.entry-header .page_title span.date {
  display: block;
  font-size: 0.8rem;
  margin-bottom: 15px;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.05em;
}
.news_single .subpages_wrapper article header.entry-header .page_title h1 {
  font-size: 1.6rem;
  line-height: 1.6;
  color: #ffffff;
  margin-bottom: 20px;
}
.news_single .subpages_wrapper article header.entry-header .page_title ul.post-categories {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.news_single .subpages_wrapper article header.entry-header .page_title ul.post-categories li a {
  display: inline-block;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
}
.news_single .subpages_wrapper article header.entry-header .page_title ul.post-categories li a:before {
  content: "#";
  margin-right: 2px;
}
.news_single .subpages_wrapper article header.entry-header .page_title ul.post-categories li a:hover {
  color: #C49D3E;
}
.news_single .subpages_wrapper article section.entry-content {
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.8;
  margin-bottom: 60px;
}
.news_single .subpages_wrapper article section.entry-content img {
  max-width: 100%;
  height: auto;
  margin: 30px 0;
}
.news_single .subpages_wrapper article section.entry-content p {
  margin-bottom: 1.5em;
}
.news_single .subpages_wrapper article footer.entry-footer {
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .cat {
  display: flex;
  align-items: baseline;
  gap: 15px;
  margin-bottom: 30px;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .cat span.ttl {
  font-size: 0.85rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .cat ul.post-categories {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .cat ul.post-categories li a {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .cat ul.post-categories li a:before {
  content: "#";
  margin-right: 2px;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .cat ul.post-categories li a:hover {
  color: #C49D3E;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .share {
  display: flex;
  align-items: center;
  gap: 15px;
  margin: 30px 0;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .share span.ttl {
  font-size: 0.85rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  white-space: nowrap;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .share ul.share_list {
  display: flex;
  align-items: center;
  gap: 15px;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .share ul.share_list li.share_item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.6);
  transition: all 0.3s ease;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .share ul.share_list li.share_item a svg {
  width: 20px;
  height: 20px;
  fill: currentColor;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .share ul.share_list li.share_item a:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.3);
  color: #ffffff;
  transform: translateY(-2px);
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .share ul.share_list li.share_item.twitter a:hover {
  background: rgba(29, 161, 242, 0.2);
  border-color: #1DA1F2;
  color: #1DA1F2;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .share ul.share_list li.share_item.facebook a:hover {
  background: rgba(24, 119, 242, 0.2);
  border-color: #1877F2;
  color: #1877F2;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .share ul.share_list li.share_item.line a:hover {
  background: rgba(6, 199, 85, 0.2);
  border-color: #06C755;
  color: #06C755;
}
.news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .footer_navigator {
  margin-top: 50px;
}

@media screen and (max-width: 768px) {
  .news_single #subpages-single-header,
  .journal_single #subpages-single-header {
    padding: 60px 0 0;
  }
  .news_single .subpages_wrapper article,
  .journal_single .subpages_wrapper article {
    margin: 50px auto 60px;
  }
  .news_single .subpages_wrapper article header.entry-header,
  .journal_single .subpages_wrapper article header.entry-header {
    margin-bottom: 30px;
    padding-bottom: 20px;
  }
  .news_single .subpages_wrapper article header.entry-header .page_title span.date,
  .journal_single .subpages_wrapper article header.entry-header .page_title span.date {
    font-size: 0.75rem;
    margin-bottom: 10px;
  }
  .news_single .subpages_wrapper article header.entry-header .page_title h1,
  .journal_single .subpages_wrapper article header.entry-header .page_title h1 {
    font-size: 1.3rem;
  }
  .news_single .subpages_wrapper article header.entry-header .page_title ul.post-categories li a,
  .journal_single .subpages_wrapper article header.entry-header .page_title ul.post-categories li a {
    font-size: 0.7rem;
  }
  .news_single .subpages_wrapper article section.entry-content,
  .journal_single .subpages_wrapper article section.entry-content {
    margin-bottom: 40px;
  }
  .news_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .cat,
  .journal_single .subpages_wrapper article footer.entry-footer .entry_footer_inner .cat {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
Journal & Trip (Thumbnail List) Styles
────────────────────────────────────────────────────────────────────────────────*/
.journal-archive .subpages_wrapper {
  margin: 100px auto !important;
}

ul.post_list_thumb {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 80px;
  margin-bottom: 100px;
}
ul.post_list_thumb li.post_item {
  width: 100%;
  margin-bottom: 20px;
  background: #181918;
  position: relative;
  padding: 20px 20px 90px;
  box-shadow: 0 0.4px 1.2px rgba(0, 0, 0, 0.01), 0 1px 3.4px rgba(0, 0, 0, 0.015), 0 2.4px 8.1px rgba(0, 0, 0, 0.02), 0 8px 27px rgba(0, 0, 0, 0.03);
  transition: box-shadow 0.3s ease, background 0.3s ease;
  overflow: hidden;
}
ul.post_list_thumb li.post_item > a {
  display: block;
  text-decoration: none;
}
ul.post_list_thumb li.post_item .post_item_thumb {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #111211;
  margin-bottom: 0;
}
ul.post_list_thumb li.post_item .post_item_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 1.5s ease-out !important;
  will-change: transform;
}
ul.post_list_thumb li.post_item div.post_item_wrapper {
  position: absolute;
  bottom: 25px;
  left: 20px;
  right: 20px;
  padding: 0;
  text-align: left;
  pointer-events: none;
}
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above {
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 12px;
}
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above span.date {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: 0.05em;
}
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above div.cat {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above div.cat span,
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above div.cat a {
  display: inline-block;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.05em;
  text-decoration: none;
  transition: color 0.3s ease;
}
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above div.cat span:before,
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above div.cat a:before {
  content: "#";
  margin-right: 1px;
}
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above div.cat span:hover,
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above div.cat a:hover {
  color: #C49D3E;
  pointer-events: auto;
}
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above div.cat ul.post-categories {
  display: flex;
  gap: 8px;
}
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above div.cat ul.post-categories li {
  line-height: 1;
}
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above div.cat ul.post-categories li a {
  pointer-events: auto;
}
ul.post_list_thumb li.post_item div.post_item_wrapper .post_item_wrapper_above div.cat ul.post-categories li a:hover {
  color: #C49D3E;
}
ul.post_list_thumb li.post_item div.post_item_wrapper a {
  display: block;
  pointer-events: auto;
  text-decoration: none;
}
ul.post_list_thumb li.post_item div.post_item_wrapper a span.title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #ffffff;
  transition: color 0.3s ease;
}
ul.post_list_thumb li.post_item:hover {
  box-shadow: 0px 2px 2.3px rgba(0, 0, 0, 0.031), 0px 5px 5.9px rgba(0, 0, 0, 0.044), 0px 10.3px 12.1px rgba(0, 0, 0, 0.056), 0px 21.2px 24.8px rgba(0, 0, 0, 0.069), 0px 58px 68px rgba(0, 0, 0, 0.1);
  background: #1f211f;
}
ul.post_list_thumb li.post_item:hover .post_item_thumb img {
  transform: scale(1.1) !important;
}
ul.post_list_thumb li.post_item:hover div.post_item_wrapper span.title {
  color: #C49D3E;
}

/*────────────────────────────────────────────────────────────────────────────────
Responsive
────────────────────────────────────────────────────────────────────────────────*/
@media screen and (max-width: 1024px) {
  ul.post_list_thumb {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
  ul.post_list_thumb li.post_item {
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 768px) {
  ul.post_list_thumb {
    grid-template-columns: 1fr;
    margin-bottom: 50px;
    gap: 30px;
  }
  ul.post_list_thumb li.post_item {
    padding: 15px 15px 85px;
    margin-bottom: 0;
  }
  ul.post_list_thumb li.post_item .post_item_thumb {
    aspect-ratio: 16/10;
  }
  ul.post_list_thumb li.post_item div.post_item_wrapper {
    bottom: 20px;
    left: 15px;
    right: 15px;
  }
  ul.post_list_thumb li.post_item div.post_item_wrapper span.title {
    font-size: 0.95rem;
  }
}
/*────────────────────────────────────────────────────────────────────────────────
Trips 関連ページ用スタイル
対象ページ:
- Trips Hub ページ (page-trips.php)
- ツアーアーカイブページ (archive-trip.php)
- ロケーションタクソノミーページ (taxonomy-trip_location.php)
- ツアータイプタクソノミーページ (taxonomy-trip_type.php)
────────────────────────────────────────────────────────────────────────────────*/
main.trips_hub {
  padding-bottom: 120px;
  background-color: #111211;
  color: #ffffff;
}
main.trips_hub .trips_container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  main.trips_hub .trips_container {
    padding: 0 20px;
  }
}
main.trips_hub .trips_intro {
  text-align: center;
  margin: 80px 0 100px;
}
main.trips_hub .trips_intro .trips_intro_text {
  font-size: 1.1rem;
  line-height: 2;
  letter-spacing: 0.08em;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.9);
}
@media screen and (max-width: 768px) {
  main.trips_hub .trips_intro .trips_intro_text {
    font-size: 1rem;
    text-align: left;
  }
}
main.trips_hub .trips_section_title {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 2rem;
  margin-bottom: 60px;
  text-align: center;
  font-weight: 300;
  letter-spacing: 0.05em;
  position: relative;
  display: inline-block;
  width: 100%;
}
@media screen and (max-width: 768px) {
  main.trips_hub .trips_section_title {
    font-size: 2.5rem;
    margin-bottom: 40px;
  }
}
main.trips_hub .trips_types_section {
  margin-bottom: 150px;
}
main.trips_hub .trips_types_section .trips_types_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media screen and (max-width: 1024px) {
  main.trips_hub .trips_types_section .trips_types_grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
main.trips_hub .trips_types_section .trips_types_grid .type_card {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  aspect-ratio: 3/4;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
main.trips_hub .trips_types_section .trips_types_grid .type_card:hover {
  transform: translateY(-10px);
}
main.trips_hub .trips_types_section .trips_types_grid .type_card:hover .type_image img {
  transform: scale(1.1);
}
main.trips_hub .trips_types_section .trips_types_grid .type_card:hover .type_image .type_overlay {
  opacity: 0.3;
}
main.trips_hub .trips_types_section .trips_types_grid .type_card:hover .type_content .type_arrow {
  border-bottom-color: #ffffff;
}
main.trips_hub .trips_types_section .trips_types_grid .type_card .type_image {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
main.trips_hub .trips_types_section .trips_types_grid .type_card .type_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 1s ease;
}
main.trips_hub .trips_types_section .trips_types_grid .type_card .type_image .type_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.8) 100%);
  transition: opacity 0.6s ease;
}
main.trips_hub .trips_types_section .trips_types_grid .type_card .type_content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 40px 30px;
  z-index: 3;
  pointer-events: none;
}
main.trips_hub .trips_types_section .trips_types_grid .type_card .type_content .type_label {
  display: inline-block;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.8rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  margin-bottom: 15px;
  color: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 5px 15px;
  border-radius: 50px;
}
main.trips_hub .trips_types_section .trips_types_grid .type_card .type_content .type_title {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 1.3rem;
  font-weight: 400;
  margin-bottom: 15px;
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: #ffffff;
}
main.trips_hub .trips_types_section .trips_types_grid .type_card .type_content .type_desc {
  font-size: 0.9rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 25px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
main.trips_hub .trips_types_section .trips_types_grid .type_card .type_content .type_arrow {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding-bottom: 3px;
  transition: border-color 0.3s;
  color: #ffffff;
}
main.trips_hub .trips_locations_section .trips_locations_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}
@media screen and (max-width: 1024px) {
  main.trips_hub .trips_locations_section .trips_locations_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  main.trips_hub .trips_locations_section .trips_locations_grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
main.trips_hub .trips_locations_section .trips_locations_grid .location_card {
  display: block;
  position: relative;
  overflow: hidden;
  aspect-ratio: 1/1.414;
  border-radius: 4px;
}
main.trips_hub .trips_locations_section .trips_locations_grid .location_card:hover .location_image_wrapper img {
  transform: scale(1.1);
}
main.trips_hub .trips_locations_section .trips_locations_grid .location_card:hover .location_image_wrapper .location_overlay {
  background-color: rgba(0, 0, 0, 0.2);
}
main.trips_hub .trips_locations_section .trips_locations_grid .location_card:hover .location_content .location_name {
  transform: translateY(-5px);
}
main.trips_hub .trips_locations_section .trips_locations_grid .location_card .location_image_wrapper {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
main.trips_hub .trips_locations_section .trips_locations_grid .location_card .location_image_wrapper img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.8s ease;
}
main.trips_hub .trips_locations_section .trips_locations_grid .location_card .location_image_wrapper .location_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  transition: background-color 0.4s ease;
}
main.trips_hub .trips_locations_section .trips_locations_grid .location_card .location_content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  padding: 0 10px;
  z-index: 2;
}
main.trips_hub .trips_locations_section .trips_locations_grid .location_card .location_content .location_name {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 5px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease;
  color: #ffffff;
}
main.trips_hub .trips_locations_section .trips_locations_grid .location_card .location_content .location_count {
  display: block;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: 0.05em;
}

main.trip_archive,
main:has(div.trip_grid) {
  background-color: #111211;
  color: #ffffff;
  padding-bottom: 120px;
}
main.trip_archive div.subpages_wrapper,
main:has(div.trip_grid) div.subpages_wrapper {
  max-width: 1400px;
  margin: 0 auto;
  padding: 80px 40px;
}
@media screen and (max-width: 768px) {
  main.trip_archive div.subpages_wrapper,
  main:has(div.trip_grid) div.subpages_wrapper {
    padding: 40px 20px;
  }
}
main.trip_archive div.trip_grid,
main:has(div.trip_grid) div.trip_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px 30px;
  container-type: inline-size;
  container-name: trip_grid;
  margin: 0 0 80px;
}
@media screen and (max-width: 1024px) {
  main.trip_archive div.trip_grid,
  main:has(div.trip_grid) div.trip_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 640px) {
  main.trip_archive div.trip_grid,
  main:has(div.trip_grid) div.trip_grid {
    grid-template-columns: 1fr;
  }
}
main.trip_archive article.trip_item,
main:has(div.trip_grid) article.trip_item {
  position: relative;
}
main.trip_archive article.trip_item a.trip_link,
main:has(div.trip_grid) article.trip_item a.trip_link {
  display: block;
  text-decoration: none;
  color: inherit;
}
main.trip_archive article.trip_item a.trip_link:hover div.trip_image img,
main:has(div.trip_grid) article.trip_item a.trip_link:hover div.trip_image img {
  transform: scale(1.1) !important;
}
main.trip_archive article.trip_item a.trip_link:hover h3.trip_title,
main:has(div.trip_grid) article.trip_item a.trip_link:hover h3.trip_title {
  transform: translateY(-4px);
  color: white;
}
main.trip_archive article.trip_item div.trip_image,
main:has(div.trip_grid) article.trip_item div.trip_image {
  position: relative;
  width: 100%;
  aspect-ratio: 3/4;
  overflow: hidden;
  border-radius: 4px;
  margin-bottom: 0px;
}
main.trip_archive article.trip_item div.trip_image img,
main:has(div.trip_grid) article.trip_item div.trip_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.6s ease-out !important;
}
main.trip_archive article.trip_item div.trip_image div.trip_overlay,
main:has(div.trip_grid) article.trip_item div.trip_image div.trip_overlay {
  display: none;
}
main.trip_archive article.trip_item div.trip_content span.trip_location,
main:has(div.trip_grid) article.trip_item div.trip_content span.trip_location {
  display: block;
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.9);
  letter-spacing: 0.05em;
  margin: 10px 0 0;
}
main.trip_archive article.trip_item div.trip_content h3.trip_title,
main:has(div.trip_grid) article.trip_item div.trip_content h3.trip_title {
  font-family: "Noto Serif JP", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 0.95rem;
  line-height: 1.5;
  margin-top: 5px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.9);
  transition: transform 0.3s ease, color 0.3s ease;
}
main.trip_archive article.trip_item div.trip_content p.trip_excerpt,
main:has(div.trip_grid) article.trip_item div.trip_content p.trip_excerpt {
  font-size: 0.85rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.6);
  margin: 10px 0 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
main.trip_archive article.trip_item div.trip_content div.trip_meta,
main:has(div.trip_grid) article.trip_item div.trip_content div.trip_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 10px;
}
main.trip_archive article.trip_item div.trip_content div.trip_meta span.meta_item,
main:has(div.trip_grid) article.trip_item div.trip_content div.trip_meta span.meta_item {
  display: flex;
  align-items: center;
  gap: 4px;
}
main.trip_archive article.trip_item div.trip_content div.trip_meta span.meta_item.price,
main:has(div.trip_grid) article.trip_item div.trip_content div.trip_meta span.meta_item.price {
  color: rgba(255, 255, 255, 0.8);
}

/*responsive
───────────────────────*/
/*───────────────────────────────────
//responsive files
───────────────────────────────────*/
/*──────────────────────────────────*/
/*──────────────────────────────────*/
/*──────────────────────────────────*/
@media screen and (max-width: 768px) {
  .news_archive ul.post_list_text {
    margin: 49px auto;
  }
  .wellsblog-archive ul.post_list_thumb {
    margin: 49px auto;
  }
  ul.post_list_text li.post_item .post_item_inner_above {
    margin-top: 7px;
  }
  ul.post_list_text li.post_item .post_item_inner_bottom a {
    padding: 0 0 21px 0;
    background: url(../images/icons/arrow-right.svg) right 10px top 28px no-repeat;
    background-size: 21px;
    flex-direction: column;
    align-items: flex-start;
  }
  ul.post_list_text li.post_item .post_item_inner_bottom a .post_item_date {
    flex-basis: 15%;
    display: flex;
    align-items: center;
    flex-direction: row;
  }
  ul.post_list_text li.post_item .post_item_inner_bottom a .post_item_date span {
    font-family: inherit;
    font-weight: 200;
  }
  ul.post_list_text li.post_item .post_item_inner_bottom a .post_item_date span.day {
    font-size: 0.7rem;
  }
  ul.post_list_text li.post_item .post_item_inner_bottom a .post_item_date span.day:before {
    content: "-";
  }
  ul.post_list_text li.post_item .post_item_inner_bottom a .post_item_date span.year-month {
    order: -1;
    font-size: 0.7rem;
  }
  ul.post_list_text li.post_item .post_item_inner_bottom a .post_item_title {
    padding: 0 50px 0 0;
    flex-basis: 100%;
  }
  ul.post_list_text li.post_item .post_item_inner_bottom a:hover {
    background: url(../images/icons/arrow-right.svg) right 0 top 28px no-repeat;
    background-size: 21px;
  }
  .news_single #subpages-single-header {
    padding: 70px 0 0;
  }
  .news_single #subpages-single-header #breadcrumb ul li > a span {
    color: #111211;
  }
  .news_single #subpages-single-header #breadcrumb ul li > span {
    color: #111211;
  }
  .news_single #subpages-single-header #breadcrumb ul li:not(:last-child)::after {
    color: #111211;
  }
  .news_single .subpages_wrapper article {
    margin: 0px auto 50px;
    flex-direction: column;
    padding: 0 1rem;
  }
  .news_single .subpages_wrapper article header.entry-header {
    flex-basis: 100%;
  }
  .news_single .subpages_wrapper article header.entry-header .page_title h1 {
    font-size: 1rem;
  }
  .news_single .subpages_wrapper article header.entry-header .page_title span.date {
    margin: 7px 0 3px;
  }
  .news_single .subpages_wrapper article header.entry-header .page_title ul.post-categories {
    margin: 14px 0 0;
  }
  .news_single .subpages_wrapper article header.entry-header .page_title ul.post-categories li {
    display: inline-block;
    margin: 0 5px 0 0;
  }
  .news_single .subpages_wrapper article header.entry-header .page_title ul.post-categories li a {
    padding: 2px 7px;
    font-size: 0.6rem;
  }
  .news_single .subpages_wrapper article section.entry-content {
    flex-basis: 100%;
  }
  .news_single .subpages_wrapper article footer.entry-footer {
    flex-basis: 100%;
    margin: 0;
    padding-top: 35px;
    justify-content: center;
  }
  .news_single .subpages_wrapper article footer.entry-footer > div.entry_footer_inner {
    flex-basis: 100%;
  }
  .news_single .subpages_wrapper article footer.entry-footer > div.entry_footer_inner > div {
    margin: 7px 0;
  }
  .news_single .subpages_wrapper article footer.entry-footer > div.entry_footer_inner > div > span.ttl {
    flex-basis: 25%;
    font-size: 0.7rem;
  }
  .news_single .subpages_wrapper article footer.entry-footer > div.entry_footer_inner > div.cat ul.post-categories li a {
    font-size: 0.7rem;
  }
  .news_single .subpages_wrapper article footer.entry-footer > div.entry_footer_inner > div.cat ul.post-categories li > span {
    font-size: 0.7rem;
  }
  .news_single .subpages_wrapper article footer.entry-footer > div.entry_footer_inner > div.share {
    margin: 14px 0 0;
    padding: 14px 0 0;
  }
  .news_single .subpages_wrapper article footer.entry-footer > div.entry_footer_inner > div.footer_navigator {
    margin: 42px 0 0;
  }
}/*# sourceMappingURL=edit.css.map */