@charset "UTF-8";

/*
Theme Name: cura
Theme URI: 
Author: note-works
Author URI: 
Description: cura
*/



/* ---------------------
  リセット
--------------------- */

*,
:before,
:after {
  box-sizing:border-box
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust:100%;
}

body {
  margin:0
}

main {
  display:block
}

h1 {
  font-size: 2em;
  margin:.67em 0
}

hr {
  height: 0;
  box-sizing: content-box;
  overflow:visible
}

pre {
  font-size: 1em;
  font-family:monospace, monospace
}

a {
  background-color:transparent
}

abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  border-bottom:none
}

b,
strong {
  font-weight:bolder
}

code, kbd, samp {
  font-size: 1em;
  font-family:monospace, monospace 
}

small {
  font-size:80%
}

sub, sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align:baseline
}

sub {
  bottom:-.25em
}

sup {
  top:-.5em
}

img {
  border-style:none
}

fieldset {
  padding:.35em .75em .625em
}

legend {
  max-width: 100%;
  padding: 0;
  color: inherit;
  box-sizing: border-box;
  white-space: normal;
  display: table;
}

progress {
  vertical-align:baseline
}

textarea {
  overflow:auto
}

[type=checkbox],
[type=radio] {
  padding: 0;
  box-sizing:border-box
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height:auto
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset:-2px
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance:none
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance:button  
}

details {
  display:block
}

summary {
  display:list-item
}

template {
  display:none
}

[hidden] {
  display:none
}

h1, h2, h3, h4, h5, h6, p, hr, blockquote, ol, ul, dl, dd, figure, pre {
  margin:0
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight:inherit
}

hr {
  border:0
}

ol, ul {
  padding: 0;
  list-style-type:none
}

a {
  text-decoration: none;
  color:inherit
}

u, ins {
  text-decoration:none
}

strong, b {
  font-weight:inherit
}

i, cite, em, var, address, dfn {
  font-style:inherit
}

code, kbd, samp {
  font-size:inherit
}

mark {
  background-color: transparent;
  color:inherit   
}

small {
  font-size:inherit
}

s, del {
  text-decoration:none
}

table {
  border-spacing: 0;
  border-collapse: collapse;
  border-color:currentColor
}

td, th {
  padding:0
}

th {
  font-weight: inherit;
  text-align:inherit
}

input, select, button, textarea {
  padding: 0;
  font: inherit;
  letter-spacing: inherit;
  border: 0;
  background-color: transparent;
  color:inherit
}

button {
  text-align:inherit
}

[type=search i] {
  -webkit-appearance:textfield
}

select {
  border-radius: 0;
  -webkit-appearance: none;
  appearance:none  
}

fieldset {
  margin: 0;
  padding: 0;
  border:0
}

.js-focus-visible :focus:not(.focus-visible) {
  outline:none
}

[hidden][hidden] {
  display:none !important
}

html {
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  font-weight: 400;
  text-align: start;
  text-underline-offset: .125em;
  line-height: 1.5;
  line-break: normal;
  color: #1F1D1D;
  overflow-wrap:break-word
}

html:lang(en) {
  font-family:"helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif
}

html:is(:lang(zh), :lang(ja), :lang(ko)) {
  font-kerning:none
}

img, svg, video, canvas, audio, iframe, embed, object {
  max-width: 100%;
  vertical-align:middle
}

img, svg, video, canvas {
  height:auto
}

svg:not([fill]) {
  fill:currentColor
}

button:not(:disabled, [aria-disabled=true i]) {
  cursor:pointer
}

textarea {
  resize:vertical
}

.clearfix:after {
  clear: both;
  content: "";
  display: block;
}

*, :after, :before {
  box-sizing: border-box;
  border:0 solid #E5E7EB
}

:after, :before {
  --tw-content: ""
}

a {
  color: inherit;
  display: inline-block;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  text-decoration: inherit;
}



/* ------------------------------------------
  Swiper
------------------------------------------ */

@font-face {
  font-family: swiper-icons;
  src: url('/wp-content/themes/cura/assets/fonts/swiper-icons.woff2') format('woff2'),
       url('/wp-content/themes/cura/assets/fonts/swiper-icons.woff') format('woff');
  font-style:normal
}

:root {
  --swiper-theme-color: #007AFF
}

.swiper {
  position: relative;
  z-index: 1;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  list-style: none;
  overflow:hidden
}

.swiper-vertical > .swiper-wrapper {
  flex-direction:column
}

.swiper-wrapper {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: flex;
  transition-property: transform;
  box-sizing:content-box
}

.swiper-android .swiper-slide, .swiper-wrapper {
  transform:translateZ(0)
}

.swiper-pointer-events {
  touch-action:pan-y
}

.swiper-pointer-events.swiper-vertical {
  touch-action:pan-x
}

.swiper-slide {
  position: relative;
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  transition-property:transform
}

.swiper-slide-invisible-blank {
  visibility:hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height:auto
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property:transform, height
}

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective:1200px
}

.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style:preserve-3d
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  pointer-events:none
}

.swiper-3d .swiper-slide-shadow {
  background:rgba(0,0,0,.15)
}

.swiper-3d .swiper-slide-shadow-left {
  background-image:linear-gradient(to left, rgba(0,0,0,.5), rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-right {
  background-image:linear-gradient(to right, rgba(0,0,0,.5), rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-top {
  background-image:linear-gradient(to top, rgba(0,0,0,.5), rgba(0,0,0,0))
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image:linear-gradient(to bottom, rgba(0,0,0,.5), rgba(0,0,0,0))
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style:none
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display:none
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align:start start
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type:x mandatory
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type:y mandatory
}

.swiper-centered > .swiper-wrapper:before {
  content: "";
  flex-shrink: 0;
  order:9999
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start:var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal > .swiper-wrapper:before {
  width: var(--swiper-centered-offset-after);
  height: 100%;
  min-height:1px  
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start:var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical > .swiper-wrapper:before {
  width: 100%;
  min-width: 1px;
  height:var(--swiper-centered-offset-after)
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align:center center
}

.swiper-virtual.swiper-css-mode .swiper-wrapper:after {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  pointer-events:none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper:after {
  width: var(--swiper-virtual-size);
  height:1px
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper:after {
  width: 1px;
  height:var(--swiper-virtual-size)
}

:root {
  --swiper-navigation-size: 44px
}

.swiper-button-prev, .swiper-button-next {
  position: absolute;
  top: 50%;
  z-index: 10;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events:none
}

.swiper-button-prev:after,
.swiper-button-next:after {
  font-size: var(--swiper-navigation-size);
  font-family: swiper-icons;
  font-variant: initial;
  text-transform: none !important;
  text-transform: none;
  letter-spacing: 0;
  line-height:1
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: 10px;
  right:auto
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 10px;
  left:auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next"
}

.swiper-button-lock {
  display:none
}

.swiper-pagination {
  position: absolute;
  z-index: 10;
  text-align: center;
  transition: .3s opacity;
  transform:translateZ(0)
}

.swiper-pagination.swiper-pagination-hidden {
  opacity:0
}

.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  width: 100%;
  bottom: 10px;
  left:0  
}

.swiper-pagination-bullets-dynamic {
  font-size: 0;
  overflow:hidden  
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  position: relative;
  transform:scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform:scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform:scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform:scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform:scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform:scale(.33)
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
  display: inline-block;
}

button.swiper-pagination-bullet {
  margin: 0;
  padding: 0;
  border: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance:none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor:pointer
}

.swiper-pagination-bullet:only-child {
  display:none !important
}

.swiper-pagination-bullet-active {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  opacity:var(--swiper-pagination-bullet-opacity, 1)
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform:translate3d(0,-50%,0)
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display:block
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  width: 8px;
  transform:translateY(-50%)
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition:.2s transform, .2s top
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translate(-50%);
  white-space:nowrap
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition:.2s transform, .2s left
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition:.2s transform, .2s right
}

.swiper-pagination-progressbar {
  position: absolute;
  background:rgba(0,0,0,.25); 
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  transform: scale(0);
  transform-origin:left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin:right top
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  top: 0;
  left: 0;
  width: 100%;
  height:4px  
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  top: 0;
  left: 0;
  width: 4px;
  height:100%
}

.swiper-pagination-lock {
  display:none
}

.swiper-scrollbar {
  position: relative;
  border-radius: 10px;
  background: rgba(0,0,0,.1);
  -ms-touch-action:none  
}

.swiper-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  width: 98%;
  height:5px
}

.swiper-vertical > .swiper-scrollbar {
  position: absolute;
  top: 1%;
  right: 3px;
  z-index: 50;
  width: 5px;
  height:98%
}

.swiper-scrollbar-drag {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background: rgba(0,0,0,.5);    
}

.swiper-scrollbar-cursor-drag {
  cursor:move
}

.swiper-scrollbar-lock {
  display:none
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items:center
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  object-fit:contain
}

.swiper-slide-zoomed {
  cursor:move
}

.swiper-lazy-preloader {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 10;
  width: 42px;
  height: 42px;
  margin-left: -21px;
  margin-top: -21px;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
  transform-origin: 50%;
  animation: swiper-preloader-spin 1s infinite linear;
  box-sizing:border-box
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #FFF
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
  to {
    transform:rotate(360deg)
  }
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1000;
  pointer-events: none;
  opacity:0
}

.swiper-free-mode > .swiper-wrapper {
  margin: 0 auto;
  transition-timing-function:ease-out  
}

.swiper-grid > .swiper-wrapper {
  flex-wrap:wrap
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction:column
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function:ease-out
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property:opacity
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events:none
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events:auto
}

.swiper-cube {
  overflow:visible
}

.swiper-cube .swiper-slide {
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  visibility: hidden;
  transform-origin:0 0
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events:none
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin:100% 0
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events:auto
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev,
.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility:visible
}

.swiper-cube .swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility:hidden
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  z-index: 0;
  width: 100%;
  height: 100%;
  opacity: .6
}

.swiper-cube .swiper-cube-shadow:before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  background: #000;
  content: "";
  filter:blur(50px)
}

.swiper-flip {
  overflow:visible
}

.swiper-flip .swiper-slide {
  z-index: 1;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events:none
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events:auto
}

.swiper-flip .swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility:hidden
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property:transform, opacity, height
}

.swiper-cards {
  overflow:visible
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow:hidden
}

.swiper-scrollbar {
  background: #E2E2E2;
  border-radius:0
}

.swiper-horizontal > .swiper-scrollbar {
  left: 0;
  bottom: 1.0625rem;
  width: calc(100% - 102px);
  height: 1px;
  margin-left:102px
}

.swiper-scrollbar-drag {
  background: #F07800;
  border-radius:0
}

@media (min-width: 64em) {
  .swiper-horizontal > .swiper-scrollbar {
    width: calc(100% - 145px);
    margin-left:145px
  }
}

















































/* ---------------------
  フォント指定
--------------------- */

:root {
  --font-main: 'Roboto', 'Noto Sans JP', sans-serif;
}

/* 1. 大見出し（title）: ページ全体の主題 */
.title {
  font-family: var(--font-main);
  font-weight: 700;      /* Bold（太字） */
}

/* 2. 中見出し（subTitle）: セクションの区切り */
.subTitle {
  font-family: var(--font-main);
  font-weight: 700;      /* Bold（太字） */
}

/* 3. 小見出し（comment）: 補足や小さな項目 */
.comment {
  font-family: var(--font-main);
  font-weight: 700;      /* または 500（Medium）でも綺麗です */
}


/* ------------------------------------------
  reCAPTCHA
------------------------------------------ */

.grecaptcha-badge {
  visibility: hidden;
}



/* ------------------------------------------
  共通
------------------------------------------ */

body.is-openMenu, .page-scroll-container {
  overflow:hidden
}

/* フェードアウトの初期状態 */
.page-wrapper {
    opacity: 1;
    transition: opacity 0.6s ease; /* 0.6秒でじわっと消える */
}

/* クラスがついた時の状態 */
.page-wrapper.is-fadeout {
    opacity: 0;
    pointer-events: none; /* 連打防止 */
}

.marker {
  position: relative;
  display: inline-block;
}

.marker::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0.2em;

  width: 0%;
  height: 0.6em;

  background: #FFF59D; /* 蛍光色 */
  z-index: -1;

  transition: width 0.8s ease;
}

/* 画面に入ったら伸びる */
.marker.is-inview::after {
  width: 100%;
}

/* --- 共通設定 --- */
.is-marker, .marker-wrap {
    position: relative;
    display: inline-block;
}

.is-marker::after, .marker-wrap::after {
    content: '';
    position: absolute;
    bottom: 0.1em;
    left: 0;
    width: 0;
    height: 0.45em;
    background-color:#FFF59D; /* マーカーの色 */
    z-index: -1;
    transition: width 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

/* --- スマホ：各行にラインを引く --- */
@media (max-width: 63.9em) {
    .marker-wrap::after {
        display: none; /* 親のラインは隠す */
    }
    body.loaded .is-marker::after {
        width: 100%;
        transition-delay: 1.5s; /* 幕が降りた後に発火 */
    }
}

/* --- PC：2つの単語を貫く1本のラインにする --- */
@media (min-width: 64em) {
    .is-marker::after {
        display: none; /* 個別のラインは隠す */
    }
    .marker-wrap {
        display: inline; /* 改行を無視して1行として扱う */
    }
    body.loaded .marker-wrap::after {
        width: 100%;
        transition-delay: 1.5s;
    }
}

/* アニメーション発火時 */
body.loaded .is-marker::after {
    width: 100%;
    transition-delay: 1.5s; /* 幕が降りきった後に発火するよう遅延させる */
}

@media (min-width: 64em) {
  br.pc {
    display:none
  }
}



/* ------------------------------------------
  ページ遷移
------------------------------------------ */

.c-page-transition {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  transform: translateZ(0);
  pointer-events:none
}

.c-page-transition.is-hide {
  display:none
}

.c-page-transition-main {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #F1F1F1;
  transform: translateZ(0);
  transition: opacity .5s cubic-bezier(.22,.11,.22,1), transform .8s cubic-bezier(.47,.16,.24,1);
  overflow:hidden
}

body.loaded .c-page-transition-main {
    transform: translate3d(0,101%,0);
    transition:opacity 0s cubic-bezier(.22,.11,.22,1), transform 1.2s cubic-bezier(.47,.16,.24,1)
}

body.loaded.leave-before .c-page-transition-main {
    transition: none;
    transform: translateZ(0);
    opacity: 0;
    transition:opacity 0s cubic-bezier(.22,.11,.22,1), transform 0s cubic-bezier(.47,.16,.24,1)
}

body.loaded.leave-before.leave .c-page-transition-main {
    transform: translateZ(0);
    opacity: 1;
    transition:opacity .5s cubic-bezier(.22,.11,.22,1), transform 0s cubic-bezier(.47,.16,.24,1)
}

.c-page-transition-line {
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  left: 50vw;
  background-color: rgba(226,226,226,0.8);
}

.c-page-transition-line.-line1 {
  left:8vw
}

.c-page-transition-line.-line2 {
  display:none
}

.c-page-transition-line.-line3 {
  left:50vw
}

.c-page-transition-line.-line4 {
  display:none
}

.c-page-transition-line.-line5 {
  left:92vw
}

@media (min-width: 64em) {
  .c-page-transition-line.-line1 {
    left:10vw
  }

  .c-page-transition-line.-line2 {
    left: 30vw;
    display: block
  }

  .c-page-transition-line.-line4 {
    left: 70vw;
    display:block
  }

  .c-page-transition-line.-line5 {
    left:90vw
  }
}



/* ------------------------------------------
  ページ背景
------------------------------------------ */

.c-page-bg {
  position: fixed;
  z-index: -1;
  width: 100vw;
  height: 100%;
  background-color: #FFF;
  transition: background-color .6s cubic-bezier(.52,.08,.18,1);
}

.c-page-bg.color-black {
  background-color:#1F1D1D
}

.c-page-bg.color-black .c-page-bg-line {
  background-color:rgba(226,226,226,0.05)
}

.c-page-bg-line {
  position: absolute;
  top: 0;
  left: 50vw;
  width: 1px;
  height: 100%;
  background-color: rgba(226,226,226,0.4);
  transition:background-color .6s cubic-bezier(.52,.08,.18,1)
}

.c-page-bg-line.-line1 {
  left:8vw
}

.c-page-bg-line.-line2 {
  display:none
}

.c-page-bg-line.-line3 {
  left:50vw
}

.c-page-bg-line.-line4 {
  display:none
}

.c-page-bg-line.-line5 {
  left:92vw
}

@media (min-width: 64em) {
  .c-page-bg-line.-line1 {
    left:10vw
  }

  .c-page-bg-line.-line2 {
    left: 30vw;
    display:block
  }

  .c-page-bg-line.-line4 {
    left: 70vw;
    display:block  
  }

  .c-page-bg-line.-line5 {
    left:90vw
  }
}



/* ------------------------------------------
  ヘッダー
------------------------------------------ */

.c-page-head {
  position: fixed;
  width: 100vw;
  z-index: 10;
  display: block;
  /* 常に操作を有効にする */
  pointer-events: auto; 
  transition: opacity .8s cubic-bezier(.22,.11,.22,1), transform .8s cubic-bezier(.22,.11,.22,1);
}

/* 隠す時のクラスを定義 */
.c-page-head.is-hidden {
  opacity: 0;
  transform: translate3d(0, -1.25rem, 0);
  pointer-events: none; /* 隠れている時だけ無効化 */
}

.c-page-head_inner {
  display: flex;
  align-items: center;
  justify-content:space-between
}

.c-page-head_inner.is-skeleton {
  background-color: transparent;
  color:#F1F1F1
}

.c-page-head_logo {
  position: absolute;
  top: 2.3125rem;
  left: 8vw;
  width: auto;
  height: 2.4rem;
  display: block;
  pointer-events:auto
}

.c-page-head_logo svg {
  width: auto;
  height: 1.4rem;
  display:block
}

.c-page-head_logo svg path {
  transition:fill .4s cubic-bezier(.22,.11,.22,1)
}


/*
.is-skeleton .c-page-head_logo svg .color1 {
  fill:#F1F1F1
}

.is-skeleton .c-page-head_logo svg .color2 {
  fill:#F1F1F1
}
*/

.c-page-head_content {
  display: none;
  align-items:center
}

.c-page-head_menu {
  display: flex;
  pointer-events:auto
}

.c-page-head_menu-link {
  position: relative;
  padding: 0 1.25rem;
  display: block;
  transition:color .35s cubic-bezier(.22,.11,.22,1)
}

.c-page-head_menu-link[aria-current=location] .c-page-head_menu-text:after {
  opacity:1
}

.c-page-head_menu-text {
  position: relative;
  padding: 2.3125rem 0;
  font-size: .75rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  line-height: 1em;
  display: block  
}

.c-page-head_menu-text:after {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: .1875rem;
  background-color: #F07800;
  content: "";
  display: block;
  opacity:0
}

.c-page-head_contact {
  margin-left: 2.4375rem;
  pointer-events:auto
}

.c-page-head_contact a {
  padding: .9375rem 2rem .8125rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  font-size: .75rem;
  line-height: 1em;
  background-color: #086DAF;
  border-radius: 999em;
  color: #FFF;
  display: block;
  transition:background-color .6s cubic-bezier(.37,.16,.12,1), color .6s cubic-bezier(.37,.16,.12,1)
}

.is-skeleton .c-page-head_contact a {
  background-color: #FFF;
  color:#1F1D1D
}

@media (min-width: 64em) {
  .c-page-head_inner {
    padding: 0 2.5rem;
    border-bottom: 1px rgba(226,226,226,.4) solid;
    background-color: #FFF;
    transition:background-color .4s cubic-bezier(.22,.11,.22,1)
  }

  .c-page-head_logo {
    position: relative;
    width: 14rem;
    height: 1.4rem;
    top: auto;
    left:auto
  }

  .c-page-head_content {
    display:flex
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-page-head_inner.is-skeleton:hover {
    background-color: #FFF;
    color:#1F1D1D
  }

  .c-page-head_inner.is-skeleton:hover .c-page-head_logo svg .color1 {
    fill:#000
  }

  .c-page-head_inner.is-skeleton:hover .c-page-head_logo svg .color2 {
    fill:#949495
  }

  .c-page-head_inner.is-skeleton:hover .c-page-head_contact a {
    background-color: #1F1D1D;
    color:#FFF
  }
  /*
  .c-page-head_inner.is-skeleton:hover .c-page-head_lang span {
    color:#1F1D1D
  }

  .c-page-head_inner.is-skeleton:hover .c-page-head_lang a span {
      color:#ababab
  }
  */
  .c-page-head_contact a:hover {
    background-color: #F07800;
    transition:background-color .35s cubic-bezier(.22,.11,.22,1), color .35s cubic-bezier(.22,.11,.22,1)
  }
  .c-page-head_menu-link:hover {
    color:#F07800
  }
}

@media (hover: hover) and (pointer: fine) and (hover: hover) and (pointer: fine) {
  .c-page-head_inner.is-skeleton:hover .c-page-head_contact a:hover {
    background-color: #F07800;
    transition: background-color .35s cubic-bezier(.22,.11,.22,1), color .35s cubic-bezier(.22,.11,.22,1)
  }
}

/* ------------------------------------------
  01.メインコピー
------------------------------------------ */

.c-home-masthead {
  position: relative;
  width: 100vw;
  padding-left: 8vw;
  padding-top:5.5rem
}

.c-home-masthead_inner {
  padding-top: 3.125rem;
  padding-bottom:3.125rem
}

.c-home-masthead_title {
  overflow:hidden
}

.c-home-masthead_title-inner {
  display: block;
  opacity: 0;
  transform:translate3d(0,1.2em,0)
}

.c-home-masthead_title-inner:lang(ja) {
  font-size: 11vw;
  font-family: "Gothic Medium BBB", sans-serif;
  font-weight: 700;
  font-feature-settings: "palt" 1;
  letter-spacing:.07em  
}

.c-home-masthead_title-inner:lang(en) {
  font-size: 10.4vw;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
  text-transform:uppercase
}

.c-home-masthead_title-inner .br-pc {
  display:none
}

.c-home-masthead_title-inner .ja-pgh-2 {
  padding-left:0
}

.c-home-masthead_title-inner .en-pgh-2 {
  padding-left:2.2em
}

.c-home-masthead_title-inner .en-pgh-4 {
  padding-left:1em
}

.c-home-masthead_title-inner span {
  white-space:nowrap
}

body.loaded .c-home-masthead_title-inner {
  opacity: 1;
  transform: translateZ(0);
  transition:opacity 1.25s cubic-bezier(.22,.94,.44,1) 1s, transform 1.25s cubic-bezier(.22,.94,.44,1) 1s
}

@media (min-width: 64em) {
  .c-home-masthead {
    padding-left: 10vw;
    padding-right:10vw
  }

  .c-home-masthead_inner {
    padding-top: 5.3125rem;
    padding-bottom: 5.3125rem;
    display: flex;
    justify-content: space-between;
    align-items:center
  }

  .c-home-masthead_title-inner:lang(ja) {
    font-size:min(1.0387323944rem + 3.5680751174vw, 4.25rem)
  }

  .c-home-masthead_title-inner:lang(en) {
    font-size:min(-.8204225352rem + 5.6338028169vw, 4.25rem)
  }

  .c-home-masthead_title-inner .br-sp {
    display:none
  }

  .c-home-masthead_title-inner .br-pc {
    display:inline
  }

  .c-home-masthead_title-inner .en-pgh-2 {
    padding-left:0
  }

  .c-home-masthead_title-inner .en-pgh-3 {
    padding-left:2.2em
  }

  .c-home-masthead_title-inner .en-pgh-4 {
    padding-left:0
  }

  .c-home-masthead_title-inner .ja-pgh-2 {
    padding-left:1.4em
  }
}



/* ------------------------------------------
  02.メインビジュアル
------------------------------------------ */

.c-home-kv {
  position: relative;
  width: 100vw;
  height: 100vh;
  display: block  
}

.kv_sublogo {
  position: absolute;
  top: 3rem;
  left: 50%;
  z-index: 10;
  width: 60vw;
  height:auto;
  transform:translateX(-50%)
}


.c-home-kv_canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height:100%
}

.c-home-kv-news {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-right: 8vw;
  padding-left: 8vw;
  color: red;
  display:block  
}

.c-home-kv-news_content {
  padding-bottom: 1rem;
  transform:translateY(-100%)
}

.c-home-kv-news_list {
  position: relative;
  width: 100%;
  transform:translateY(-2.125rem)
}

.c-home-kv-news_item {
  position: absolute;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition:visibility .6s cubic-bezier(.52,.08,.18,1), opacity .6s cubic-bezier(.52,.08,.18,1)
}

.c-home-kv-news_item.current {
  opacity: 1;
  visibility:visible
}

#kv_news {
  width: 100%;
  padding: 15px;
  border-radius: 10px;
  background-color:rgba(255,255,255,0.9)
}

#kv_news .news-item {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start
}

#kv_news .news-item:not(:first-child) {
  margin-top:10px
}

#kv_news .news-item .c-home-kv-news_datewrap {
  width:calc(100% - 90px)
}

#kv_news .news-item .c-news-list_media {
  width:80px;
}

#kv_news .news-item .c-home-kv-news_title {
  white-space: wrap;
  color:#1F1D1D;
}

.c-news-list_media {
  position: relative;
  overflow:hidden
}

.c-news-list_media:after {
  position: absolute;
  width: 100%;
  height: .375rem;
  bottom: 0;
  background-color: #F07800;
  content: "";
  display: block;
  transform: scaleX(0);
  transform-origin: right top;
  transition:transform .8s cubic-bezier(.37,.16,.12,1)
}

.c-news-list_media-inner {
  position: relative;
  padding-top: 62.5%;
  transform: translateZ(0) scale(1);
  transition:transform 1s cubic-bezier(.37,.16,.12,1)
}

.c-news-list_media-inner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit:cover
}

.c-home-kv-news_date {
  font-size: .6875rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  color:#ABABAB
}

.c-home-kv-news_title {
  width: 100%;
  font-size: .6875rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #F1F1F1;
  overflow: hidden  
}

.c-home-kv-news_title:lang(en) {
  font-size:.6875rem
}

#kv_news .news-item:nth-child(1) {
  display:none
}

#kv_news .news-item:nth-child(3) {
  display:none
}

@media (min-width: 64em) {
  #kv_news .news-item:nth-child(1) {
  display:block
}

#kv_news .news-item:nth-child(3) {
  display:block
}

  .c-home-kv {
    padding-top:62.5%
  }

  .c-home-kv-news {
    padding-right: 10vw;
    padding-left:10vw
  }

  .c-home-kv-news_content {
    padding-bottom:1.375rem
  }

  .c-home-kv-news_list {
    transform:translateY(-1.5rem)
  }

  .c-news-list_media {
    width:20vw
  }

  .c-home-kv-news_date {
    font-size:.875rem
  }

  .c-home-kv-news_title {
    margin-left: 1.25rem;
    font-size:.8125rem
  }

  .c-home-kv-news_title:lang(en) {
    font-size:.875rem
  }
}

@media all and (min-width: 64em) {
  #kv_news {
    width: 100%;
    padding: 15px 50px;
    background-color: rgb(255,255,255);
    border-radius: 999px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between
  }
  #kv_news .news-item {
    position: relative;
    width: 30%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start
  }
  #kv_news .news-item::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: -8.3%;
    width: 1px;
    height: 100%;
    background-color: #CCC;
    content: "";
    display: inline-block
  }

  #kv_news .news-item:last-child::after {
    content: none;
    display:none
  }

  #kv_news .news-item:not(:first-child) {
    margin-top:0px
  }

  #kv_news .news-item .c-home-kv-news_datewrap {
    width:calc(100% - 130px)
  }

  #kv_news .news-item .c-news-list_media {
    width:120px
  }

  #kv_news .news-item .c-home-kv-news_title {
    margin-left:0
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-news-list_link:hover .c-news-list_media:after,
  .c-news-list__link:hover .c-news-list__media:after {
    transform: scaleX(1);
    transform-origin: left top;
    transition:transform .5s cubic-bezier(.37,.16,.12,1)
  }

  .c-news-list_link:hover .c-news-list_media-inner,
  .c-news-list__link:hover .c-news-list__media-inner {
    transform:translateZ(0) scale(1.04)
  }
}



/* ------------------------------------------
  03.WHO WE ARE
------------------------------------------ */

.c-home-company {
  width: 100vw;
  margin-top: 10rem;
  display:block
}

.c-home-company_body {
  margin-right: 8vw;
  margin-left: 8vw;
  margin-bottom:9.375rem
}

.c-home-company_description {
  margin-top: 2rem;
  margin-bottom: 4.0625rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  font-weight: 700;
  font-size: min(.8309859155rem + .1877934272vw, 1rem);
  line-height:1.9
}

.c-home-company_description:lang(en) {
  font-family: "helvetica-neue-lt-pro", sans-serif;
}

.c-home-company__slider {
  margin-right: 8vw;
  margin-left:8vw
}

.c-base-number-heading_content {
  position:relative
}

.c-base-number-heading_content.is-show .c-base-number-heading_number span {
  transform: translateY(0);
  transition:transform 1.25s cubic-bezier(.37,.16,.12,1)
}

.c-base-number-heading_content.is-show .c-base-number-heading_heading:after {
  transform: translate3d(101%,0,0);
  transition:transform 1.4s cubic-bezier(.52,.08,.18,1)
}

.c-base-number-heading_content.is-show .c-base-number-heading_heading span {
  transform: translateY(0);
  transition:transform 1.25s cubic-bezier(.37,.16,.12,1)
}

.c-base-number-heading_number {
  font-size: .875rem;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  overflow:hidden
}

.c-base-number-heading_number span {
  display: block;
  transform: translateY(100%);
  transition:transform .6s cubic-bezier(.55,.055,.675,.19)
}

.c-base-number-heading_heading {
  position: relative;
  max-width: 84vw;
  font-size: min(3rem + 2vw, 5.625rem);
  font-family: "helvetica-neue-lt-pro", sans-serif;
  line-height: .85;
  display: inline-block;
  text-transform: uppercase;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  overflow:hidden
}

.c-base-number-heading_heading:after {
  width: 100%;
  height: .1875rem;
  background-color: #F07800;
  content: "";
  display: block;
  transform: translate3d(-101%,0,0);
  transition:transform .6s cubic-bezier(.52,.08,.18,1)
}

.c-base-number-heading_heading span {
  padding-top: .9375rem;
  display: block;
  word-wrap: break-word;
  transform: translateY(100%);
  transition: transform .6s cubic-bezier(.55,.055,.675,.19);  
}

.c-base-underline-link {
  position: relative;
  min-width: 10vw;
  padding-right: 2.5rem;
  padding-bottom: .8125rem;
  font-size: 1rem;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  text-transform: uppercase;
  display: inline-block;
  transition:color .6s cubic-bezier(.645,.045,.355,1)
}

.c-base-underline-link:before {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: .1875rem;
  background-color: #F07800;
  content: "";
  display: block;
  transform: scaleX(1);
  transform-origin: left top;
  transition:transform .6s cubic-bezier(.37,.16,.12,1)
}

.c-base-underline-link:after {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: .1875rem;
  background-color: #ABABAB;
  content: "";
  display: block;
  transform: scaleX(0);
  transform-origin: right top;
  transition:transform .3s cubic-bezier(.37,.16,.12,1)
}

.c-base-underline-link.color-blue:before {
  background-color:#0069B9
}

.c-base-slider {
  display:block
}

.c-base-slider__content {
  padding-bottom: 3.125rem;
  overflow:visible
}

.c-base-slider__item {
  padding-right:.0625rem
}

.c-base-slider__item img {
  width:100%
}

.c-base-slider__prev,
.c-base-slider__next {
  position: absolute;
  bottom: 0;
  width: 1.9375rem;
  height: 2.1875rem;
  color: #F07800;
  display: block;
  transition:color .35s cubic-bezier(.22,.11,.22,1)
}

.c-base-slider__prev.swiper-button-disabled,
.c-base-slider__next.swiper-button-disabled {
  color:#E2E2E2
}

.c-base-slider__prev {
  left:0
}

.c-base-slider__next {
  left:3.1875rem
}

.c-base-slider__scrollbar {
  position:absolute
}

.c-home-company_title {
  margin-top:3rem;
  font-size: 1.5rem;
  color:#086DAF
}

@media (min-width: 64em) {

  .c-home-company {
    margin-top:12.5rem
  }

  .c-home-company_body {
    margin-right: 10vw;
    margin-left:10vw;
    display: flex;
  }

  .c-home-company_column {
    width:50%
  }

  .c-home-company_description {
    margin-top:0
  }

  .c-home-company__slider {
    margin-right: 10vw;
    margin-left:10vw
  }

  .c-base-number-heading_content {
    padding-left:2.875rem
  }

  .c-base-number-heading_number {
    position: absolute;
    top: 0;
    left: 0;
    margin-top: .4375rem;
    font-size:1.25rem
  }

  .c-base-number-heading_heading {
    max-width: none;
    margin-top: 0;
    font-size:min(.5545774648rem + 5.6338028169vw, 5.625rem)
  }

  .c-base-number-heading_heading span {
    padding-top:1.25rem
  }

  .c-base-slider__content {
    padding-bottom:5rem
  }

  .c-base-slider__item {
    padding-right:3.3vw
  }

  .c-base-slider__next {
    left:3.8125rem
  }

}

@media (hover: hover) and (pointer: fine) {
  .c-base-underline-link.color-blue:hover {
    color:#0069B9
  }

  .c-base-underline-link:hover {
    color: #F07800;
    transition:color .35s cubic-bezier(.22,.11,.22,1)
  }

  .c-base-underline-link:hover:before {
    transform: scaleX(0);
    transform-origin: right top;
    transition:transform .3s cubic-bezier(.37,.16,.12,1)
  }

  .c-base-underline-link:hover:after {
    transform: scaleX(1);
    transform-origin: left top;
    transition:transform .6s cubic-bezier(.37,.16,.12,1)
  }
}

/* ------------------------------------------
  04.OUR SERVICES
------------------------------------------ */

.c-home-services {
  width: 100vw;
  margin-top: 8.75rem;
  display:block
}

.c-home-services_body {
  margin-left: 8vw;
  margin-right: 8vw;
  margin-bottom:9.375rem
}

.c-home-services_description {
  margin-top: 3.75rem;
  margin-bottom: 4.0625rem;
  font-size: min(.8309859155rem + .1877934272vw, 1rem);
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  font-weight: 700;
  line-height:1.9
}

.c-home-services_description:lang(en) {
  font-family: "helvetica-neue-lt-pro", sans-serif;
}

@media (min-width: 64em) {
  .c-home-services {
    margin-top:13.75rem
  }

  .c-home-services_body {
    margin-left: 10vw;
    margin-right: 10vw;
    display:flex
  }

  .c-home-services_column {
    width:50%
  }

  .c-home-services_description {
    margin-top:0
  }
}



/* ------------------------------------------
  05.WORKS
------------------------------------------ */

.c-home-blog {
  width: 100vw;
  color:#F1F1F1
}

.c-home-blog_section {
  position:relative
}

.c-home-blog_kv-large {
  width: 100vw;
  overflow:hidden
}

.c-home-blog_kv-large img {
  width:100%
}

.c-home-blog_kv-small {
  position: absolute;
  width: 66vw;
  margin-top: -70vw;
  margin-left: 34vw;
  overflow:hidden
}

.c-home-blog_kv-small img {
  width:100%
}

.c-home-blog_content {
  padding-top: 10rem;
  padding-bottom: 10rem;
  padding-left:8vw
}

.c-home-kv-news,
.c-page-head,
.c-notice-sticky-wrapper {
    will-change: transform;
}


.c-home-blog_heading {
  margin-bottom:5rem
}

.c-home-blog-card {
  position: relative;
  margin-bottom: 5rem;
  display:block
}

.c-home-blog-card_media {
  position: relative;
  overflow:hidden
}

.c-home-blog-card_body {
  width: 76vw;
  margin-top: 2.8125rem  
}

.c-home-blog-card_date {
  position: absolute;
  top: 0;
  right: 100%;
  margin-right: 1.125rem;
  font-size: .6875rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  color: #ABABAB;
  opacity:.7 ;
  transform-origin: right top;
  transform:rotate(-90deg)
}

.c-home-blog-card_title {
  font-size: 1.125rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  font-weight: 400;
  text-decoration: underline;
  line-height: 1.6;
  transition:color .35s cubic-bezier(.22,.11,.22,1)
}

.c-home-blog-card_title:lang(en) {
  font-family:"helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif
}

.c-home-blog-card_content {
  margin-top: 1.25rem;
  font-size: .75rem;
  font-family: FP-KoburinaGoStdN-W3, sans-serif;
  font-weight: 400;
  line-height: 1.7;
  color:#ABABAB
}

.c-home-blog-card_content:lang(en) {
  font-family:"helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif
}

.c-home-blog-card_media:after {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: .375rem;
  background-color: #F07800;
  content: "";
  display: block;
  transform: scaleX(0);
  transform-origin: right top;
  transition:transform .8s cubic-bezier(.37,.16,.12,1)
}

.c-home-blog-card_media img {
  width: 100%;
  transform: translateZ(0) scale(1);
  transition:transform 1s cubic-bezier(.37,.16,.12,1)
}

.c-home-blog_more {
  margin-top:4.375rem
}

.c-home-blog_media {
  width: 100vw;
  overflow:hidden
}

.c-home-blog_media img {
  width:100%
}

@media (min-width: 64em) {
  .c-home-blog_kv-small {
    width: 40vw;
    margin-top: -40vw;
    margin-left:0
  }
  .c-home-blog_content {
    padding-top: 25rem;
    padding-bottom: 18.75rem;
    padding-right: 10vw;
    padding-left:10vw
  }
  .c-home-blog_heading {
    position: absolute;
    top: 50vh;
    left: 50%;
    z-index: -1;
    opacity: 0;
    pointer-events: none;
    transition:opacity .6s cubic-bezier(.52,.08,.18,1)
  }
  .c-home-blog_heading br {
    display:none
  }

  .c-home-blog_heading.is-show {
    opacity: .05;
    pointer-events:auto
  }

  .c-home-blog-card {
    width: 40vw;
    margin-bottom:4.0625rem
  }

  .c-home-blog-card_body {
    width:30vw
  }

  .c-home-blog-card_date {
    right: auto;
    left: 100%;
    margin-right: auto;
    margin-left: 2rem;
    font-size: .875rem;
    transform-origin: left top;
    transform: rotate(90deg);
    opacity:1
  }

  .c-home-blog-card_title {
    font-size: 1.25rem;
    text-decoration:none
  }

  .c-home-blog-card_content {
    font-size:1rem
  }

  .c-home-blog-card:nth-child(2n + 1) {
    margin-left:40vw
  }
}

@media (min-width: 64em) and (min-width: 64em) {
  .c-home-blog_heading .c-base-number-heading_content {
    transform:translate(-50%,-50%)
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-home-blog-card:hover .c-home-blog-card_title {
    color:#F07800
  }
  .c-home-blog-card:hover .c-home-blog-card_media:after {
    transform: scaleX(1);
    transform-origin: left top;
    transition:transform .5s cubic-bezier(.37,.16,.12,1)
  }
  .c-home-blog-card:hover .c-home-blog-card_media img {
    transform:translateZ(0) scale(1.04)
  }
}



/* ------------------------------------------
  06. NEWS
------------------------------------------ */

.c-home-news {
  position: relative;
  width: 100vw;
  padding-top: 10rem;
  padding-bottom: 10rem;
  overflow:hidden
}

.c-home-news_head {
  margin-right: 8vw;
  margin-left:8vw
}

.c-news-list-tab-group {
  width: 100vw;
  display:block  
}

.c-news-list-tab-group_side {
  padding-top:3.75rem
}

.c-base-category-list {
  margin-bottom: 2.5rem;
  overflow-x:scroll  
}

.c-base-category-list_list {
  white-space:nowrap
}

.c-base-category-list_list:after {
  position: absolute;
  left: 0;
  right: 0;
  height: .0625rem;
  background-color: #E2E2E2;
  content: "";
  display: block
}

.c-base-category-list_item {
  display:inline-block
}

.c-base-category-list_item:first-child {
  padding-left:8vw
}

.c-base-category-list_item:last-child {
  padding-right:8vw
}

.c-base-category-list_item + .c-base-category-list_item {
  margin-left:.875rem
}

.c-base-category-list_link {
  position: relative;
  padding-bottom: .5rem;
  font-size: .875rem;
  color: #ABABAB;
  display: block;
  transition:color .35s cubic-bezier(.22,.11,.22,1)
}

.c-base-category-list_link:after {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: .1875rem;
  background-color: #F07800;
  content: "";
  display: block;
  visibility: hidden;
  opacity: 0;
  transition:visibility .5s cubic-bezier(.37,.16,.12,1), opacity .5s cubic-bezier(.37,.16,.12,1)
}

.c-base-category-list_link.is-active,
.c-base-category-list_link[aria-selected=true],
.c-base-category-list_link[aria-current=page] {
  font-family: "helvetica-neue-lt-pro","Midashi Go MB31", sans-serif;
  font-weight: 600;
  color:#1F1D1D
}

.c-base-category-list_link.is-active:after,
.c-base-category-list_link[aria-selected=true]:after,
.c-base-category-list_link[aria-current=page]:after {
  visibility: visible;
  opacity:1
}

.c-news-list-tab-group_main {
  padding-right: 8vw;
  padding-left:8vw
}

.c-news-list-tab-group_main > div {
  opacity: 1;
  visibility: visible;
  transition:opacity 1s cubic-bezier(.52,.08,.18,1)
}

.c-news-list-tab-group_main > div[inert] {
  position: absolute;
  opacity: 0;
  visibility: hidden;
  transition:opacity 0s cubic-bezier(.52,.08,.18,1)
}


.c-news-list {
  padding-top: 1.875rem;
  padding-bottom:1.875rem
}

.nonnews {
  width: 100%;
  height: 20rem;
  padding-bottom: 1.875rem;
  line-height: 20rem;
  text-align:center
}

.c-news-list__media {
  position: relative;
  width: 84vw;
  overflow:hidden
}

.c-news-list__media:after {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: .375rem;
  background-color: #F07800;
  content: "";
  display: block;
  transform: scaleX(0);
  transform-origin: right top;
  transition:transform .8s cubic-bezier(.37,.16,.12,1)
}

.c-news-list__media-inner {
  position: relative;
  padding-top: 62.5%;
  transform: translateZ(0) scale(1);
  transition:transform 1s cubic-bezier(.37,.16,.12,1)
}

.c-news-list__media-inner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit:cover
}

.c-news-list:first-child {
  padding-top:0
}

.c-news-list_meta {
  margin-top: 1.25rem;
  gap: 1.25rem;
  display: flex;
  justify-content: space-between;
  align-items:center  
}

.c-news-list_meta-inner {
  gap: 1.25rem;
  display: flex;
  align-items:center  
}

.c-news-list_category {
  padding-right: .8em;
  padding-left: .8em;
  font-size: .75rem;
  border: 1px currentColor solid;
  border-radius: 999em;
  transition:color .35s cubic-bezier(.22,.11,.22,1), border .35s cubic-bezier(.22,.11,.22,1)
}

.c-news-list_date {
  font-size: .75rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  color:#ABABAB
}

.c-news-list_arrow {
  width: 1.9375rem;
  height: .3125rem;
  transition:color .35s cubic-bezier(.22,.11,.22,1)
}

.c-news-list_arrow svg {
  display:block
}

.c-news-list_title {
  margin-top: .75rem;
  font-size: .875rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  font-weight: 400;
  line-height: 1.65;
  transition:color .35s cubic-bezier(.22, .11, .22, 1)
}

.c-news-list_title:lang(en) {
  font-family:"helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif
}

.c-news-list_title:lang(en) {
  font-size:.9375rem
}

.c-news-list-tab-group_foot {
  margin-top:1.875rem
}

@media (min-width: 64em) {
  .c-home-news {
    padding-top: 18.75rem;
    padding-bottom:18.75rem
  }

  .c-home-news_head {
    margin-right: 10vw;
    margin-bottom: 1.875rem;
    margin-left:10vw
  }

  .c-news-list-tab-group {
    padding-right: 10vw;
    padding-left:10vw
  }

  .o-with-sidebar {
    display:flex
  }

  .c-news-list-tab-group_side {
    padding-top:6.875rem
  }

  .o-with-sidebar_sidebar {
    width: 20vw;
    padding-right:2.5vw
  }

  .c-base-category-list {
    overflow-x:auto
  }

  .c-base-category-list_list {
    white-space:normal
  }

  .c-base-category-list_list:after {
    display:none
  }

  .c-base-category-list_item {
    padding-right: 0;
    display:block
  }

  .c-base-category-list_item:first-child {
    padding-left:0
  }

  .c-base-category-list_item:last-child {
    padding-right:0
  }

  .c-base-category-list_item + .c-base-category-list_item {
    margin-left: 0;
    margin-top:.875rem
  }

  .c-base-category-list_link {
    padding-left: 1.25rem;
    padding-bottom:0
  }

  .c-base-category-list_link:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: .375rem;
    height: .375rem;
    margin-top: -.1875rem;
    background-color: #E2E2E2;
    content: "";
    display: block;
    transition:background-color .35s cubic-bezier(.22,.11,.22,1)
  }

  .c-base-category-list_link:after {
    display:none
  }

  .c-base-category-list_link.is-active:before,
  .c-base-category-list_link[aria-selected=true]:before,
  .c-base-category-list_link[aria-current=page]:before {
      background-color:#F07800
  }

  .c-news-list-tab-group_main {
    padding-top: 6.875rem;
    padding-right: 0;
    padding-left:0
  }

  .o-with-sidebar_content {
    width:60vw
  }

  .c-news-list__link {
    display:flex
  }

  .c-news-list {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom:1px #E2E2E2 solid
  }

  .nonnews {
    padding-bottom: 2.5rem;
    line-height: 1em;
    text-align: left;
    border-bottom:1px #E2E2E2 solid
  }

  .c-news-list__media {
    width:20vw
  }

  .c-news-list_body {
    position: relative;
    width: 40vw;
    padding-left:3.5vw;
    display: flex;
    flex-direction: column;
    justify-content:space-between
  }

  .c-news-list_meta {
    margin-top: 0;
    justify-content:flex-start
  }

  .c-news-list_meta-inner {
    width: 100%;
    justify-content:space-between
  }

  .c-news-list_category,
  .c-news-list_date {
    font-size:.875rem
  }

  .c-news-list_arrow {
    position: absolute;
    right: 0;
    bottom:0
  }

  .c-news-list_title {
    margin-top: 1.25rem;
    padding-right:5vw
  }

  .c-news-list_title:lang(en) {
    font-size:1rem
  }

  .c-news-list-tab-group_foot {
    margin-top:5rem
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-archive-services-service-infra__nav-item button:hover,
  .c-archive-services-whatwedo-list__button:hover,
  .c-base-category-list__link:hover {
    color:#F07800
  }

  .c-news-list__link:hover .c-news-list_category,
  .c-news-list__link:hover .c-news-list_title,
  .c-news-list__link:hover .c-news-list_arrow {
    color:#F07800
  }
}



/* ------------------------------------------
  フッター
------------------------------------------ */

.c-page-foot {
  width: 100vw;
  background-color: #086DAF;
  color: #F1F1F1;
  overflow:hidden
}

.c-page-foot_primary {
  width:100vw
}

.c-page-foot_primary-link {
  padding-top: 14.9333333333%;
  padding-bottom: 14.9333333333%;
  padding-left: 8vw;
  padding-right: 8vw;
  display: block;
  transition:color .35s cubic-bezier(.22,.11,.22,1)
}

.c-page-foot_primary-link + .c-page-foot_primary-link {
  border-top:1px rgba(226,226,226,.1) solid
}

.c-page-foot_primary-head {
  display: flex;
  justify-content: space-between;
  align-items:center
}

.c-page-foot_primary-heading {
  font-size: min(1.3538732394rem + 1.6901408451vw, 2.875rem); 
  /*
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  */
  line-height: 1;
  text-transform: uppercase;
  display:block
}

.c-page-foot_primary-arrow {
  color: #F07800;
  display:block  
}

.c-page-foot_primary-description {
  position: relative;
  padding-top: .9375rem;
  font-size: .75rem;
  /*
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  font-weight: 700;
  */
  color: #ABABAB;
  display:block
}

.c-page-foot_primary-description:lang(en) {
  /*
  font-family:"helvetica-neue-lt-pro", sans-serif;
  */
}

.c-page-foot_block-menu {
  padding-top: 4.0625rem;
  padding-bottom: 3.75rem;
  padding-left: 8vw;
  padding-right: 8vw;
  border-top:1px rgba(226,226,226,.1) solid;
  display: flex;
  align-items: center;
}

.c-page-foot_block-menu-inner {
  width:100%
}

.c-page-foot_block-menu-logo {
  margin-bottom:3.25rem;
  text-align:center
}

.c-page-foot_block-menu-logo svg {
  width: auto;
  height:5.4rem
}

.c-page-foot_menu-wrap {
  width: 100%;
  display:flex  
}

.c-page-foot_menu {
  width:100%
}

.c-page-foot_menu-item {
  font-size: 1.25rem;
  font-size: min(.911971831rem + .3755868545vw, 1.25rem);
  /*
  font-family: "helvetica-neue-lt-pro", sans-serif;
  */
  text-transform:uppercase
}

.c-page-foot_menu-item a {
  transition:color .35s cubic-bezier(.22,.11,.22,1)
}

.c-page-foot_menu-item + .c-page-foot_menu-item {
  margin-top:1.25rem
}

.c-page-foot_menu-number {
  position: relative;
  top: .0625rem;
  margin-right: 1em;
  font-size: .625rem;
  vertical-align: top;
  color: #ABABAB;
  opacity: .5;
  transition:color .35s cubic-bezier(.22,.11,.22,1)
}

.c-page-foot_menu-blank {
  margin-top: -.1875rem;
  margin-left:.1875rem
}

.c-page-foot_block-other {
  border-top:1px rgba(226,226,226,.1) solid;
  display: flex;
  justify-content:space-between  
}

.c-page-foot_block-other-body {
  width: 72vw;
  padding-top: 1.875rem;
  padding-left: 8vw;
  padding-bottom: 1.875rem;
  padding-right: 8vw;
  display: flex;
  flex-direction: column;
  justify-content:center
}

.c-page-foot_block-other-item + .c-page-foot_block-other-item {
  margin-top:1.875rem
}

.c-page-foot_block-other-heading {
  font-size: .625rem;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  text-transform: uppercase;
  color: #ABABAB;
  opacity:.5
}

.c-page-foot_block-other-side {
  width: 28vw;
  border-left:1px rgba(226,226,226,.1) solid
}

.c-page-foot_tel {
  margin-top: .5rem;
  font-size: 1.5rem;
  font-family:"helvetica-neue-lt-pro", sans-serif
}

.c-page-foot_address {
  margin-top: .625rem;
  font-size: .625rem;
  line-height:1.9
}

.c-page-foot_pagetotop {
  display:block
}

.c-page-foot_pagetotop-button {
  width: 100%;
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  display: flex;
  justify-content: center;
  transition:color .35s cubic-bezier(.22,.11,.22,1)
}

.c-page-foot_pagetotop-button svg {
  pointer-events:none
}

.c-page-foot_block-credit {
  padding: 3.125rem 2.5rem;
  border-top:1px rgba(226,226,226,.1) solid
}

.c-page-foot_credit {
  margin-top:1.375rem
}

.c-page-foot_credit ul {
  width:100%;
  font-size:0;
  text-align: center;
}

.c-page-foot_credit ul li {
  font-size: .625rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  line-height: 1em;
  color: #FFF;
  display:inline-block
}

.c-page-foot_credit ul li.space {
  margin:0 2rem;
}

.c-page-foot_credit p {
  margin-top:1.375rem;
  font-size: .625rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  text-align: center;
  text-transform: uppercase;
  line-height: 2.3;
  color: #ababab;
  opacity:.5  
}



@media (min-width: 48em) {
  .c-page-foot_primary-link {
    padding-top: 11.4583333333%;
    padding-bottom: 11.4583333333%;
    text-align:center
  }

  .c-page-foot_primary-head {
    display:block
  }

  .c-page-foot_primary-arrow {
    display:none
  }

  .c-page-foot_primary-description {
    margin-top: .6875rem;
    padding-top:1.4375rem    
  }

  .c-page-foot_primary-description:before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.25rem;
    height: .1875rem;
    margin-left: -.625rem;
    background-color: #F07800;
    content: "";
    display: block;
    transition:transform .6s cubic-bezier(.22,.11,.22,1)
  }

  .c-page-foot_block-menu {
    padding-left: 0;
    padding-right: 0;
    justify-content:center;
  }

  .c-page-foot_block-menu-inner {
    width:auto
  }

  .c-page-foot_block-menu-logo {
    display: flex;
    justify-content:center
  }

  .c-page-foot_menu-wrap {
    gap:5rem
  }

  .c-page-foot_menu {
    width:auto
  }
}

@media (min-width: 64em) {
  .c-page-foot_primary {
    border-bottom:1px rgba(226,226,226,.1) solid;
    display:flex        
  }

  .c-page-foot_primary-link {
    width: 50vw;
    padding-left: 5vw;
    padding-right:5vw
  }

  .c-page-foot_primary-link + .c-page-foot_primary-link {
      border-left:1px rgba(226,226,226,.1) solid
  }

  .c-page-foot_secondary {
    display: grid;
    grid-template-columns: 40% auto;
    grid-column-gap: 0px;
    grid-row-gap:0px
  }

  .c-page-foot_block-menu {
    border-top: none;
    border-right: 1px rgba(226,226,226,.1) solid;
    grid-area:1/1/3/2
  }

  .c-page-foot_block-menu-logo {
    margin-bottom: 4.0625rem;
    display:block  
  }

  .c-page-foot_menu-item + .c-page-foot_menu-item {
    margin-top:1.875rem
  }

  .c-page-foot_menu-number {
    top:.125rem
  }

  .c-page-foot_block-other {
    border-top: none;
    grid-area: 1/2/2/3;
  }
  
  .c-page-foot_block-other-body {
    width: auto;
    padding-top: 2.5rem;
    padding-left: 5vw;
    padding-bottom: 2.5rem;
    padding-right:5vw
  }

  .c-page-foot_block-other-item + .c-page-foot_block-other-item {
    margin-top:2.5rem
  }

  .c-page-foot_block-other-side {
    width:20vw
  }

  .c-page-foot_tel {
    margin-top: .625rem;
    font-size:2rem
  }

  .c-page-foot_address {
    margin-top: 1.25rem;
    font-size:.75rem
  }

  .c-page-foot_pagetotop-button {
    padding-top: 10rem;
    padding-bottom:10rem
  }

  .c-page-foot_block-credit {
    padding: 3.75rem 2.5rem 3.75rem 5vw;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    grid-area:2/2/3/3
  }

  .c-page-foot_credit {
    margin-top:0
  }

  .c-page-foot_credit ul {
    padding-right: 1.875rem;
    text-align:right
  }

  .c-page-foot_credit p {
    padding-right: 0;
    text-align:right
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-page-breadcrumb a:hover,
  .c-page-foot_primary-link:hover,
  .c-page-foot_menu-item a:hover,
  .c-page-foot_menu-item a:hover
  .c-page-foot_menu-number,
  .c-page-foot__sns-list a:hover,
  .c-page-foot_pagetotop-button:hover {
    color:#F07800
  }
}
@media (hover: hover) and (pointer: fine) and (min-width: 48em) {
  .c-page-foot_primary-link:hover .c-page-foot_primary-description:before {
    transform:scaleX(1.8)
  }
}

/* ------------------------------------------
  ドラッグマウス
------------------------------------------ */

.c-page-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index:1;
  pointer-events: none;
  user-select: none;
  transition: opacity .4s cubic-bezier(.47,.16,.24,1);
  display: block;
}

.c-page-cursor[inert] {
  opacity:0
}

.c-page-cursor[inert] .c-page-cursor_content {
  transform:translateZ(0) scale(.9)
}

.c-page-cursor.color-white {
  display:none
}

.c-page-cursor.color-white .c-page-cursor_content {
  background-color:#F1F1F1
}

.c-page-cursor.color-white .c-page-cursor_content span {
  color:#1F1D1D
}

.c-page-cursor_content {
  padding: 1.625rem 2.6875rem;
  border-radius: 999em;
  background-color: #1F1D1D;
  transition:transform .4s cubic-bezier(.47,.16,.24,1)
}

.c-page-cursor_content span {
  font-size: .75rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  color:#F1F1F1
}

@media (min-width: 64em) {
  .c-page-cursor.color-white {
    display:block
  }
}



/* ------------------------------------------
  モーダル
------------------------------------------ */

.c-page-head-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index:10;
  width: 100vw;
  height: 100%;
  visibility: hidden;
  opacity: 0;
  display: block;
  overflow: auto;
  transition: visibility .6s cubic-bezier(.37,.16,.12,1), opacity .6s cubic-bezier(.37,.16,.12,1);
}

.c-page-head-modal_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color:#FFF
}

.c-page-head-modal_bg-line {
  position: absolute;
  top: 0;
  left: 50vw;
  width: 1px;
  height: 100%;
  background-color:rgba(226,226,226,0.5)
}

.c-page-head-modal_bg-line.-line1 {
  left:8vw
}

.c-page-head-modal_bg-line.-line2 {
  left:50vw
}

.c-page-head-modal_bg-line.-line3 {
  left:92vw
}

.c-page-head-modal_content {
  position: relative;
  z-index: 1;
  height: 100%;
  padding-top: 5.625rem;
  display: flex;
  flex-direction: column;
  justify-content:space-between
}

.c-page-head-modal_menu-wrap {
  height: 100%;
  display: flex;
  align-items:center
}

.c-page-head-modal_menu {
  margin-left:8vw
}

.c-page-head-modal_menu-item {
  font-size: 2.5rem;
  /*
  font-family: "helvetica-neue-lt-pro", sans-serif;
  */
  line-height: 1;
  text-transform:uppercase
}

.c-page-head-modal_menu-item + .c-page-head-modal_menu-item {
  margin-top:.875rem
}

.c-page-head-modal_menu-link {
  display: block;
  overflow:hidden
}

.c-page-head-modal_menu-link-inner {
  padding-top: .625rem;
  display: inline-block;
  transform: translate3d(0,100%,0);
  transition:transform .6s cubic-bezier(.55,.055,.675,.19)
}

.c-page-head-modal_menu-number {
  position: relative;
  margin-right: .8em;
  font-size: .75rem;
  vertical-align: top;
  color: #ABABAB;
  opacity:.5
}

.c-page-head-modal_menu-blank {
  margin-top:-.375rem
}

.c-page-head-modal_contact {
  width: 100%;
  margin-top: 3.125rem;
  padding-top: 3.75rem;
  padding-right: 8vw;
  padding-bottom: 3.75rem;
  padding-left: 8vw;
  background-image: url(/wp-content/themes/cura/assets/img/manu-contact.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  color:#0073BC;
  display: block;
}

.c-page-head-modal_contact-head {
  display: flex;
  justify-content: space-between;
  align-items:center
}

.c-page-head-modal_contact-title {
  font-size: 1.25rem;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  text-transform: uppercase;
  line-height: 1;
  display:block
}

.c-page-head-modal_contact-description {
  margin-top: 1rem;
  font-size: .75rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  color: #1F1D1D;
  display:block
}

body.is-openMenu .c-page-head-modal {
  visibility: visible;
  opacity:1
}

body.is-openMenu .c-page-head-modal_menu-item:nth-of-type(1) .c-page-head-modal_menu-link-inner {
  transition:transform 1s cubic-bezier(.215,.61,.355,1) .5s
}

body.is-openMenu .c-page-head-modal_menu-item:nth-of-type(2) .c-page-head-modal_menu-link-inner {
    transition:transform 1s cubic-bezier(.215,.61,.355,1) .55s
}

body.is-openMenu .c-page-head-modal_menu-item:nth-of-type(3) .c-page-head-modal_menu-link-inner {
    transition:transform 1s cubic-bezier(.215,.61,.355,1) .6s
}

body.is-openMenu .c-page-head-modal_menu-item:nth-of-type(4) .c-page-head-modal_menu-link-inner {
    transition:transform 1s cubic-bezier(.215,.61,.355,1) .65s
}

body.is-openMenu .c-page-head-modal_menu-item:nth-of-type(5) .c-page-head-modal_menu-link-inner {
    transition:transform 1s cubic-bezier(.215,.61,.355,1) .7s
}

body.is-openMenu .c-page-head-modal_menu-item:nth-of-type(6) .c-page-head-modal_menu-link-inner {
    transition:transform 1s cubic-bezier(.215,.61,.355,1) .75s
}

body.is-openMenu .c-page-head-modal_menu-link-inner {
    transform:translateZ(0)
}

@media (min-width: 64em) {
  .c-page-head-modal {
    display:none
  }
}



/* ------------------------------------------
  モーダルアイコン
------------------------------------------ */

.c-page-menu-button {
  position: fixed;
  top: 0;
  z-index:10;
  width: 100vw;
  display: block;
}

.c-page-menu-button_toggle {
  position: absolute;
  top: 1.25rem;
  right: 5.3vw;
  width: 3.3125rem;
  height: 3.3125rem;
  border: 1px #E2E2E2 solid;
  border-radius: 50%;
  background-color:#FFF
}

.c-page-menu-button_dot {
  position: absolute;
  width: .1875rem;
  height: .1875rem;
  background-color: #1F1D1D;
  display: block;
  transition:transform .6s cubic-bezier(.37,.16,.12,1), opacity .6s cubic-bezier(.37,.16,.12,1)
}

.c-page-menu-button_dot.dot-1 {
  top: 1.125rem;
  left:1.125rem
}

.c-page-menu-button_dot.dot-2 {
  top: 1.125rem;
  left:1.5rem
}

.c-page-menu-button_dot.dot-3 {
  top: 1.125rem;
  left: 1.875rem;
  background-color:#F07800
}

.c-page-menu-button_dot.dot-4 {
  top: 1.5rem;
  left:1.125rem
}

.c-page-menu-button_dot.dot-5 {
  top: 1.5rem;
  left:1.5rem
}

.c-page-menu-button_dot.dot-6 {
  top: 1.5rem;
  left:1.875rem
}

.c-page-menu-button_dot.dot-7 {
  top: 1.875rem;
  left:1.125rem
}

.c-page-menu-button_dot.dot-8 {
  top: 1.875rem;
  left:1.5rem
}

.c-page-menu-button_dot.dot-9 {
  top: 1.875rem;
  left:1.875rem
}

body.is-openMenu .c-page-menu-button_dot.dot-1 {
  transform:translate(6px,6px)
}

body.is-openMenu .c-page-menu-button_dot.dot-2 {
  transform:translateY(6px)
}

body.is-openMenu .c-page-menu-button_dot.dot-3 {
  transform:translate(-6px,6px)
}

body.is-openMenu .c-page-menu-button_dot.dot-4 {
  transform:translate(6px)
}

body.is-openMenu .c-page-menu-button_dot.dot-5 {
  transform: scaleX(5);
  transition:transform .8s cubic-bezier(.52,.08,.18,1) .12s, opacity .6s cubic-bezier(.37,.16,.12,1)
}

body.is-openMenu .c-page-menu-button_dot.dot-6 {
  transform:translate(-6px)
}

body.is-openMenu .c-page-menu-button_dot.dot-7 {
  transform:translate(6px,-6px)
}

body.is-openMenu .c-page-menu-button_dot.dot-8 {
  transform:translateY(-6px)
}

body.is-openMenu .c-page-menu-button_dot.dot-9 {
  transform:translate(-6px,-6px)
}

@media (min-width: 64em) {
  .c-page-menu-button_toggle {
    display:none
  }
}







/* ------------------------------------------
  Locomotive Scroll
------------------------------------------ */

html.has-scroll-smooth {
  overflow:hidden
}

html.has-scroll-dragging {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select:none
}

.has-scroll-smooth body {
  overflow:hidden
}

.has-scroll-smooth [data-scroll-container] {
  min-height:100vh
}

[data-scroll-direction=horizontal] [data-scroll-container] {
  height: 100vh;
  display: inline-block;
  white-space:nowrap
}

[data-scroll-direction=horizontal] [data-scroll-section] {
  height: 100%;
  display: inline-block;
  vertical-align: top;
  white-space:nowrap
}
/*
.c-scrollbar {
    position: absolute;
    right: 0;
    top: 0;
    width: 11px;
    height: 100%;
    transform-origin: center right;
    transition: transform .3s, opacity .3s;
    opacity: 0;
    z-index:10
}

.c-scrollbar:hover {
    transform:scaleX(1.45)
}
*/
.c-scrollbar:hover,
.has-scroll-scrolling .c-scrollbar,
.has-scroll-dragging .c-scrollbar {
  opacity:1
}

[data-scroll-direction=horizontal] .c-scrollbar {
  top: auto;
  bottom: 0;
  width: 100%;
  height: 10px;
  transform:scaleY(1)
}

[data-scroll-direction=horizontal] .c-scrollbar:hover {
  transform:scaleY(1.3)
}
/*
.c-scrollbar_thumb {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #000;
  opacity: .5;
  width: 7px;
  border-radius: 10px;
  margin: 2px;
  cursor: -webkit-grab;
  cursor:grab
}
*/
.has-scroll-dragging .c-scrollbar_thumb {
  cursor: -webkit-grabbing;
  cursor:grabbing
}

[data-scroll-direction=horizontal] .c-scrollbar_thumb {
  right: auto;
  bottom:0
}
/*
.has-scroll-smooth {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left:0
}
*/


/* ------------------------------------------
  共通
------------------------------------------ */

.c-page-breadcrumb {
  display:block
}

.c-page-breadcrumb.color-white li + li:before {
  background-color:#F1F1F1
}

.c-page-breadcrumb.color-black li + li:before {
  background-color:#ABABAB
}

.c-page-breadcrumb.color-black a {
  color:#ABABAB
}

.c-page-breadcrumb li {
  position: relative;
  font-size: .75rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  display:inline-block  
}

.c-page-breadcrumb li:after {
  position: relative;
  top: -.35em;
  width: .5rem;
  height: 1px;
  margin-left: .5rem;
  margin-right: .375rem;
  background-color: #ABABAB;
  content: "";
  display:inline-block
}

.c-page-breadcrumb li:last-child:after {
  display:none
}

.c-page-breadcrumb a {
  transition:color .35s cubic-bezier(.22, .11, .22, 1)
}

.c-page-title {
  display:block
}

.c-page-title_main {
  overflow:hidden
}

.c-page-title_main-inner {
  padding-top: .2em;
  font-size: min(2.4295774648rem + 5.6338028169vw, 7.5rem);
  display: block;
  opacity: 0;
  transform:translateY(100px)
}

.c-page-title_main-inner span {
  font-size: min(2.4295774648rem + 5.6338028169vw, 7.5rem);
  font-family: "helvetica-neue-lt-pro", sans-serif;
  text-transform: uppercase;
  letter-spacing: -.02em;
  line-height:.85;
  display: block;
}

.c-page-title_sub {
  margin-top: .5rem;
  font-size: min(.823943662rem + .7511737089vw, 1.5rem);
  /*
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  */
  font-weight: 700;
  display: block;
  overflow:hidden
}

.c-page-title_sub:lang(en) {
  font-family: "helvetica-neue-lt-pro", sans-serif;
}

.c-page-title_sub span {
  display: inline-block;
  opacity: 0;
  transform:translate3d(0,100px,0)
}

.c-page-title_sub.--confirm,
.c-page-title_sub.--complete, 
body.is-fieldConfirm .c-page-title_sub.--input,
body.is-fieldComplete .c-page-title_sub.--input {
  display:none
}

body.is-fieldConfirm .c-page-title_sub.--confirm,
body.is-fieldComplete .c-page-title_sub.--complete {
  display:block
}

body.loaded .c-page-title_main-inner {
  opacity: 1;
  transform: none;
  transition:opacity 1.25s cubic-bezier(.22,.94,.44,1) .85s, transform 1.25s cubic-bezier(.22,.94,.44,1) .85s
}

body.loaded .c-page-title_sub span {
  opacity: 1;
  transform: translateZ(0);
  transition:opacity 1.25s cubic-bezier(.22,.94,.44,1) 1s, transform 1.25s cubic-bezier(.22,.94,.44,1) 1s
}

.c-base-lede {
  font-size: .75rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  font-weight: 700;
  line-height: 1.9;
  display: block;
}

.c-base-lede:lang(en) {
  font-family:"helvetica-neue-lt-pro",sans-serif
}

.c-base-lede:lang(en) {
  font-size:.875rem
}

body.is-fieldConfirm .c-contact-masthead_lede.c-base-lede,
body.is-fieldComplete .c-contact-masthead_lede.c-base-lede,
body.is-fieldError .c-contact-masthead_lede.c-base-lede {
  display:none
}


@media (min-width: 48em) {
  .c-page-title_main-inner br {
    display:none
  }
}


@media (min-width: 64em) {
  .c-base-lede {
    font-size:1rem
  }

  .c-base-lede:lang(en) {
    font-size:1.125rem
  }
}

/* ------------------------------------------
  FAQ
------------------------------------------ */

.c-archive-faq-masthead {
  position: relative;
  display:block 
}

.c-archive-faq-masthead_breadcrumb {
  margin-top: 8.75rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-archive-faq-masthead_title {
  margin-top: 4.6875rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-faq-masthead_lede {
  margin-top: 3.25rem;
  margin-right: 8vw;
  margin-bottom: 7.5rem;
  margin-left:8vw
}

.c-faq {
  width: 100vw;
  margin-top: 10rem;
  margin-bottom: 9.0625rem;
  display:block
}

.c-faq_content {
  margin-right: 8vw;
  margin-left: 8vw;
  margin-bottom: 5rem;
  border-top:1px #E2E2E2 solid
}

/* トグル */

.c-faq-item {
  border-bottom: 1px #E2E2E2 solid;
  display:block
}

.c-faq-item.is-activate .c-faq-item_icon .icon:before {
  transform:rotate(180deg)
}

.c-faq-item.is-activate .c-faq-item_icon .icon:after {
  transform: rotate(90deg);
  opacity:0
}

.c-faq-item_head {
  position:relative
}

.c-faq-item_button {
  width: 100%;
  padding-top: 1.75rem;
  padding-bottom: 1.875rem;
  padding-right: 10vw;
  font-size: .875rem;
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
  font-weight: 700;
  line-height: 1.9;
  display:block
}

.c-faq-item_button:lang(en) {
  font-family: "helvetica-neue-lt-pro", sans-serif;
}

.c-faq-item_q {
  margin-top: .625rem;
  margin-bottom: .625rem;
  font-size: min(1.573943662rem + .7511737089vw, 2.25rem);
  font-family: "helvetica-neue-lt-pro", sans-serif;
  line-height: 1.1;
  display:block
}

.c-faq-item_q-dot {
  color:#F07800
}

.c-faq-item_question {
  color: #1F1D1D;
  transition:color .35s cubic-bezier(.22,.11,.22,1)
}

.c-faq-item_icon {
  position: absolute;
  top: 1.75rem;
  right: 0;
  width: 2.5625rem;
  height: 2.5625rem;
  background-color: #F7F7F7;
  border: 1px #EEEEEE solid;
  border-radius: 50%;
  display:block
}

.c-faq-item_icon .icon {
  position: absolute;
  top: .75rem;
  left: .75rem;
  width: .9375rem;
  height: .9375rem;
  display: block;
  transition:transform .9s cubic-bezier(.22,.11,.22,1)
}

.c-faq-item_icon .icon:before,
.c-faq-item_icon .icon:after {
  position: absolute;
  background-color: #1F1D1D;
  content: "";
  display: block;
  transition:transform .9s cubic-bezier(.22,.11,.22,1), opacity .9s cubic-bezier(.22,.11,.22,1)
}

.c-faq-item_icon .icon:before {
  top: .4375rem;
  left: 0;
  width: .9375rem;
  height:.0625rem
}

.c-faq-item_icon .icon:after {
  top: 0;
  left: .4375rem;
  width: .0625rem;
  height:.9375rem
}

.c-faq-item_body {
  font-size: .875rem;
  line-height: 1.9;
  overflow: hidden;
  transition:height .5s  
}

.c-faq-item_body-inner {
  padding-bottom:1.875rem
}

.c-faq_slider {
  margin-right: 8vw;
  margin-left:8vw
}


@media (min-width: 64em) {
  .c-archive-faq-masthead_breadcrumb {
    margin-top: 10.9375rem;
    margin-right: 10vw;
    margin-left:10vw
  }

  .c-archive-faq-masthead_title {
    margin-top: 6.25rem;
    margin-right: 10vw;
    margin-left:10vw
  }

  .c-faq-masthead_lede {
    margin-right: 10vw;
    margin-bottom: 13.375rem;
    margin-left:50vw
  }

  .c-faq {
    margin-top: 15.625rem;
    margin-bottom:13.75rem
  }

  .c-faq_content {
    margin-bottom: 15.625rem;
    margin-right: 10vw;
    margin-left:30vw
  }

  .c-faq-item_button {
    padding-top: 2.1875rem;
    padding-bottom: 2.1875rem;
    padding-right: 8vw;
    padding-left: 5.4375rem;
    font-size:1rem
  }

  .c-faq-item_q {
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: 0;
    margin-bottom: .3125rem;
    transform:translateY(-40%)
  }

  .c-faq-item_icon {
    top: 50%;
    transform:translateY(-50%)
  }

  .c-faq-item_body {
    font-size:1rem
  }

  .c-faq-item_body-inner {
    padding-right: 8vw;
    padding-bottom: 2.5rem;
    padding-left:5.4375rem
  }

  .c-faq_slider {
    margin-right: 10vw;
    margin-left:10vw
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-faq-item_button:hover .c-faq-item_question {
    color:#F07800
  }

  .c-faq-item_button:hover .c-faq-item_icon .icon {
    transform:rotate(180deg)
  }
}

/* ------------------------------------------
  NEWS
------------------------------------------ */

.c-archive-news-masthead {
  position: relative;
  display:block   
}

.c-archive-news-masthead_breadcrumb {
  margin-top: 8.75rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-archive-news-masthead_title {
  margin-top: 4.6875rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-archive-news-content {
  width: 100vw;
  display:block
}

.c-archive-news-content_side {
  padding-top:6.875rem
}

.c-archive-news-content_main {
  padding-right: 8vw;
  padding-left:8vw
}

@media (min-width: 64em) {
  .c-archive-news-masthead_breadcrumb {
    margin-top: 10.9375rem;
    margin-right: 10vw;
    margin-left:10vw
  }

  .c-archive-news-masthead_title {
    margin-top: 6.25rem;
    margin-right: 10vw;
    margin-left:10vw
  }

  .c-archive-news-content_main {
    padding-top: 6.875rem;
    padding-right: 0;
    padding-left:0
  }

  .o-wrapper, .c-archive-news-content {
    padding-right: 10vw;
    padding-left:10vw
  }
}


/* ------------------------------------------
  WORKS
------------------------------------------ */

.c-archive-works-masthead {
  position: relative;
  display:block   
}

.c-archive-works-masthead_breadcrumb {
  margin-top: 8.75rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-archive-works-masthead_title {
  margin-top: 4.6875rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-archive-works-content_side {
  padding-top:6.875rem
}

.c-archive-works-content {
  width: 100vw;
  display:block
}

.c-archive-works-content_main {
  padding-right: 8vw;
  padding-left:8vw
}

@media (min-width: 64em) {
  .c-archive-works-masthead_breadcrumb {
    margin-top: 10.9375rem;
    margin-right: 10vw;
    margin-left:10vw
  }

  .c-archive-works-masthead_title {
    margin-top: 6.25rem;
    margin-right: 10vw;
    margin-left:10vw
  }

  .c-archive-works-content_main {
    padding-top: 6.875rem;
    padding-right: 0;
    padding-left:0
  }

  .o-wrapper, .c-archive-works-content {
    padding-right: 10vw;
    padding-left:10vw
  }
}

@media (min-width: 0em) {
  .u-mb-168 {
      margin-bottom:10.5rem !important
  }
  .u-mt-50 {
      margin-top:3.125rem !important
  }
}



/* ------------------------------------------
  SINGLE (NEWS)
------------------------------------------ */

.c-single-masthead {
  position: relative;
  width: 100vw;
  display:block
}

.c-single-masthead_breadcrumb {
  margin-top: 8.75rem;
  margin-bottom: 5rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-single-masthead_inner {
  margin-right: 8vw;
  margin-left:8vw
}

.c-single-masthead_title {
  font-size: min(1.485915493rem + 1.1267605634vw, 2.5rem);
  font-weight: 700;
  line-height:1.35
}

.c-single-masthead_side {
  margin-top:1.875rem
}

.c-single-masthead_meta {
  display: flex;
  align-items:center
}

.c-single-masthead_date {
  font-size: .75rem;
  color:#ABABAB
}

.c-single-content {
  width: 100vw;
  margin-top: 2.5rem;
  padding-right: 8vw;
  padding-left: 8vw;
  display:block
}

.c-single-content_media img {
  width:100%
}

.c-single-content_post {
  margin-top: 2.5rem;
  padding-bottom: 10rem;
  font-size: .875rem;
  line-height: 2;
  border-bottom:solid 1px #000
}

.c-single-content_share {
  margin-top: 3.75rem;
  display:flex
}

.c-single-content_share-item {
  width: 50%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  font-size: .875rem;
  text-align: center;
  color: #FFF;
  display: block;
  transition:background-color .5s cubic-bezier(.22,.11,.22,1)
}

.c-single-content_share-item.-twitter {
  background-color:#3C96EB
}

.c-single-content_share-item.-facebook {
  background-color:#36529A
}

.c-single-content_share-item span {
  position: relative;
  top: .125rem;
  margin-left: .25rem;
  display:none  
}

.c-single-foot {
  width: 100vw;
  margin-top: 7.5rem;
  margin-bottom:10rem;
  padding-right: 8vw;
  padding-left: 8vw;
  display:block
}

.c-single-foot-title {
  margin-bottom: 2rem;
  font-size:min(1.3169014085rem + 1.3145539906vw, 2.5rem)
}

.c-single-foot_back {
  margin-top:3.125rem
}

.c-single-foot_back-link {
  position: relative;
  font-size:min(1.3169014085rem + 1.3145539906vw, 2.5rem)
}

.c-single-foot_back-link:before {
  position: absolute;
  bottom: .1875rem;
  width: 100%;
  height: .125rem;
  background-color: currentColor;
  content: "";
  display: block;
  transform: scaleX(1);
  transform-origin: left top;
  transition:transform .6s cubic-bezier(.37,.16,.12,1)
}

.c-single-foot_back-link:after {
  position: absolute;
  bottom: .1875rem;
  width: 100%;
  height: .125rem;
  background-color: currentColor;
  content: "";
  display: block;
  transform: scaleX(0);
  transform-origin: right top;
  transition:transform .3s cubic-bezier(.37,.16,.12,1)
}

@media (min-width: 64em) {
  .c-single-masthead_breadcrumb {
    margin-top: 10.9375rem;
    margin-bottom: 6.25rem;
    margin-right: 10vw;
    margin-left:10vw
  }
  .c-single-masthead_inner {
    margin-right: 10vw;
    margin-left: 10vw;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .c-single-masthead_side {
    margin-top:0
  }
  .c-single-masthead_meta {
    margin-top: .5rem;
    display:block
  }
  .c-single-masthead_date {
    margin-top: .9375rem;
    font-size:.875rem
  }

  .c-single-content {
    margin-top: 3.125rem;
    padding-right: 10vw;
    padding-left:30vw   
  }
  .c-single-content_post {
    font-size: 1rem;
    line-height:1.875
  }
  .c-single-content_share {
    margin-top:4.375rem
  }
  .c-single-content_share-item {
    padding-top: 1.875rem;
    padding-bottom:1.875rem
  }
  .c-single-foot {
    margin-top: 8.75rem;
    margin-bottom: 12.5rem;
    padding-right: 10vw;
    padding-left:30vw
  }
  .c-single-foot-title {
    margin-bottom:1.5rem
  }
  .c-single-foot_back {
    margin-top:5rem
  }
}

@media (min-width: 48em) {
  .c-single-content_share-item {
    padding-top: 1.5625rem;
    padding-bottom:1.5625rem
  }
  .c-single-content_share-item span {
    display:inline-block
  }
  .c-single-foot_back-link:before {
    bottom:.3125rem
  }
  .c-single-foot_back-link:after {
    bottom:.3125rem
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-single-foot_back-link:hover:before {
    transform: scaleX(0);
    transform-origin: right top;
    transition:transform .3s cubic-bezier(.37,.16,.12,1)
  }
  .c-single-foot_back-link:hover:after {
    transform: scaleX(1);
    transform-origin: left top;
    transition:transform .6s cubic-bezier(.37,.16,.12,1)
  }
}

/* ------------------------------------------
  PAGENATION
------------------------------------------ */

.c-base-pagination {
  line-height: 1.15;
  display: flex;
  justify-content: space-between;  
}

.c-base-pagination_pages {
  font-size: 1.625rem;
  display: flex;
  gap:.6875rem  
}

.c-base-pagination_pages li a.page-number {
  position: relative;
  display:block    
}

.c-base-pagination_pages li a.page-number:before {
  position: absolute;
  bottom: .1875rem;
  width: 100%;
  height: .125rem;
  background-color: currentColor;
  content: "";
  display: block;
  transform: scaleX(1);
  transform-origin: left top;
  transition:transform .6s cubic-bezier(.37,.16,.12,1)
}

.c-base-pagination_pages li a.page-number:after {
  position: absolute;
  bottom: .1875rem;
  width: 100%;
  height: .125rem;
  background-color: currentColor;
  content: "";
  display: block;
  transform: scaleX(0);
  transform-origin: right top;
  transition:transform .3s cubic-bezier(.37,.16,.12,1)
}

.c-base-pagination_pages li span.page-number.current {
  color:#0D75B5
}

.c-base-pagination_pages li span.dots {
  font-size: 1rem;
  vertical-align:middle
}

.c-base-pagination_navi {
  font-size: 1.625rem;
  display: none;
  gap: .625rem;  
}

.c-base-pagination_button.is-disabled {
  color:#ABABAB
}

.c-base-pagination_button a {
  position:relative
}

.c-base-pagination_button a:before {
  position: absolute;
  bottom: .1875rem;
  width: 100%;
  height: .125rem;
  background-color: currentColor;
  content: "";
  display: block;
  transform: scaleX(1);
  transform-origin: left top;
  transition:transform .6s cubic-bezier(.37,.16,.12,1)
}

.c-base-pagination_button a:after {
  position: absolute;
  bottom: .1875rem;
  width: 100%;
  height: .125rem;
  background-color: currentColor;
  content: "";
  display: block;
  transform: scaleX(0);
  transform-origin: right top;
  transition:transform .3s cubic-bezier(.37,.16,.12,1)
}

@media (min-width: 48em) {
  .c-base-pagination_pages {
    font-size:2rem
  }

  .c-base-pagination_pages li a.page-number:before {
    bottom:.375rem
  }

  .c-base-pagination_pages li a.page-number:after {
    bottom:.375rem
  }

  .c-base-pagination_pages li span.dots {
    font-size:1.25rem
  }

  .c-base-pagination_navi {
    font-size: 2rem;
    gap:1.625rem
  }

  .c-base-pagination_button a:before {
    bottom:.375rem
  }

  .c-base-pagination_button a:after {
    bottom:.375rem
  }
}

@media (min-width: 64em) {
  .c-base-pagination_pages {
    gap:.9375rem
  }

  .c-base-pagination_navi {
    display: flex;
    gap:.9375rem
  }
}

@media (min-width: 90em) {
  .c-base-pagination_pages,
  .c-base-pagination_navi {
    font-size: 2.5rem;
    gap: 1.875rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-base-pagination_pages li a.page-number:hover:before {
    transform: scaleX(0);
    transform-origin: right top;
    transition:transform .3s cubic-bezier(.37,.16,.12,1)
  }

  .c-base-pagination_pages li a.page-number:hover:after {
    transform: scaleX(1);
    transform-origin: left top;
    transition:transform .6s cubic-bezier(.37,.16,.12,1)
  }

  .c-base-pagination_button a:hover:before {
    transform: scaleX(0);
    transform-origin: right top;
    transition:transform .3s cubic-bezier(.37,.16,.12,1)
  }

  .c-base-pagination_button a:hover:after {
    transform: scaleX(1);
    transform-origin: left top;
    transition:transform .6s cubic-bezier(.37,.16,.12,1)
  }
}

/* ------------------------------------------
  01. CONTACT
------------------------------------------ */

.c-contact-masthead {
  position: relative;
  width: 100vw;
  display:block
}

.c-contact-masthead_breadcrumb {
  margin-top: 8.75rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-contact-masthead_title {
  margin-top: 4.6875rem;
  margin-left:8vw
}

.c-contact-masthead_lede {
  margin-top: 3.75rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-form {
  margin-bottom: 10rem;
  display:block
}

.c-form_content {
  width: 100vw;
  padding-right: 8vw;
  padding-left:8vw
}

.c-form_side {
  padding-top: 6.875rem;
  padding-bottom:5rem
}

.c-contact-flow {
  display:block
}

.c-contact-flow_list {
  position: relative;
  justify-content: space-between;
  display:flex
}

.c-contact-flow_item {
  position: relative;
  padding-top: .9375rem;
  font-size: .75rem;
  color:#ABABAB;
  display:block
}

.c-contact-flow_item:nth-child(1):after,
.c-contact-flow_item:nth-child(3):after {
  position: absolute;
  top: 0;
  width: 42vw;
  height: .0625rem;
  background-color:#E2E2E2;
  content: "";
  display:block
}

.c-contact-flow_item:nth-child(1):after {
  left:50%
}

.c-contact-flow_item:nth-child(3):after {
  right:50%
}

.c-contact-flow_item:nth-child(2) {
  position: absolute;
  left: 50%;
  z-index: 1;
  transform:translate(-50%)
}

.c-contact-flow_item:before {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  width: .4375rem;
  height: .4375rem;
  background-color: #E2E2E2;
  content: "";
  display: block;
  transform: translate(-50%,-50%);
  transition: background-color .35s cubic-bezier(.22,.11,.22,1);  
}

.c-contact-flow_item.--input {
  color:#1F1D1D
}

.c-contact-flow_item.--input:before {
  background-color:#0D75B5
}

.c-form_stage {
  transition:opacity .4s
}

.c-form_stage.is-hidden {
  opacity:0
}



@media (min-width: 64em) {
  .c-contact-masthead_breadcrumb {
    margin-top: 10.9375rem;
    margin-right: 10vw;
    margin-left:10vw
  }
  .c-contact-masthead_title {
    margin-top: 6.25rem;
    margin-left:10vw
  }
  .c-contact-masthead_lede {
    margin-top: 0;
    margin-right: 10vw;
    margin-left: 50vw;
    display:none
  }
  .c-form {
    margin-bottom:12.5rem
  }
  .c-form_content {
    padding-right: 10vw;
    padding-left:10vw
  }
  .c-form_side {
    padding-bottom:0
  }
  .c-contact-flow_list {
    display:block
  }
  .c-contact-flow_item {
    padding-top: 0;
    padding-left: 1.25rem;
    font-size:.875rem 
  }
  .c-contact-flow_item:nth-child(1):after,
  .c-contact-flow_item:nth-child(3):after {
    display:none
  }
  .c-contact-flow_item:nth-child(2) {
    position: relative;
    left: auto;
    transform:translate(0)
  }
  .c-contact-flow_item:before {
    top: 50%;
    left: 0;
    width: .375rem;
    height: .375rem;
    margin-top: -.1875rem;
    transform:translate(0)
  }
  .c-contact-flow_item + .c-contact-flow_item {
    margin-top:.875rem
  }
  .c-form_main {
    width: 50vw;
    padding-top:3.375rem
  }
}

/* ------------------------------------------
  02. CONTACT FORM
------------------------------------------ */

.c-form_lede {
  margin-bottom: 7.5rem;
  display:none  
}

.c-form_input-errorMessage {
  margin-top: 3.75rem;
  margin-bottom: 3.75rem;
  color: red;
  display:none
}

.c-form-item_item + .c-form-item_item {
  margin-top:2.5rem
}

.c-form-item_require {
  color:red
}

.c-form-item_error {
  margin-top: .625rem;
  font-size: .8125rem;
  color: red;
  display:block
}

.c-form-item_privacy-textbox {
  height: 12.5rem;
  padding: 2.25rem 1.625rem;
  border: 1px #C7C7C7 solid;
  overflow-y: scroll
}

.c-form-item_privacy-textbox h2 {
  padding-top: .5em;
  font-size: 1.125em;
  font-weight:700  
}

.c-form-item_privacy-check {
  margin-top:1.875rem
}

.c-form_button-round {
  padding: 1.1875rem 2.9375rem 1.0625rem;
  font-size: .875rem;
  line-height: 1;
  background-color: #F07800;
  border-radius: 999em;
  color: #FFF;
  display: inline-block;
  transition:background-color .6s cubic-bezier(.37,.16,.12,1), color .6s cubic-bezier(.37,.16,.12,1)
}

.c-form_confirm {
  margin-top: 3.75rem;
  display: flex;
  justify-content:center  
}

@media (min-width: 64em) {
  .c-form_lede {
    margin-bottom: 6.5625rem;
    margin-right: -10vw;
    margin-left: 20vw;
    display:block
  }

  .c-form_input-errorMessage {
    margin-top: 2.5rem;
    margin-bottom:2.5rem
  }

  .c-form-item_item + .c-form-item_item {
    margin-top:1.875rem
  }

  .c-form-item_error {
    font-size:.875rem
  }

  .c-form-item_privacy-textbox {
    height:12.5rem;
  }

  .c-form-item_privacy-check {
    margin-top:3.125rem
  }

  .c-form_confirm {
    margin-top: 2.5rem;
    justify-content:flex-start
  }
}

@media (min-width: 0em) {
  .u-d-block {
    display:block !important
  }
}

@media (hover: hover) and (pointer: fine) {
  .c-form_button-round:hover {
    background-color: #1F1D1D;
    transition:background-color .35s cubic-bezier(.22,.11,.22,1), color .35s cubic-bezier(.22,.11,.22,1)
  }
}

/* ------------------------------------------
  03. FORM
------------------------------------------ */

.c-form label {
  margin-bottom: .5rem;
  font-size:.8125rem
}

.c-form select {
  width: 100%;
  padding: 1.125rem 1.25rem;
  font-family: sans-serif;
  background-color: #F4F4F4;
  background-image: url(/wp-content/themes/cura/assets/img/icon-down.svg);
  background-repeat: no-repeat;
  background-size: 8px 5px;
  background-position:right 18px center;
  border-radius: 0;
  appearance:none
}

.c-form input {
  font-family: "helvetica-neue-lt-pro","Gothic Medium BBB", sans-serif;
}

.c-form input[type=text],
.c-form input[type=email],
.c-form input[type=tel] {
  width: 100%;
  padding: 1.125rem 1.25rem;
  font-size: 1rem;
  background-color: #F4F4F4;
  border-radius: 0;
  appearance:none
}

.c-form input[type=checkbox] {
  display:none
}

.c-form input[type=checkbox] + span {
  position: relative;
  width: auto;
  margin-bottom: 0;
  padding-left: 2.125rem;
  cursor: pointer;
  display:inline-block
}

.c-form input[type=checkbox] + span:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: -.625rem;
  background-color: #E2E2E2;
  content: "";
  display: block;
  transition:background-color .35s cubic-bezier(.22,.11,.22,1)
}

.c-form input[type=checkbox]:checked + span:before {
  background-color:#F07800
}

.c-form textarea {
  width: 100%;
  min-height: 20rem;
  padding: 1.125rem 1.25rem;
  font-size: 1rem;
  font-family: sans-serif;
  border-radius: 0;
  background-color: #F4F4F4;
  border-color: #F4F4F4;
  appearance:none
}

.wpcf7-not-valid-tip {
  display: none !important;
}

.wpcf7-response-output {
  display: none !important;
}

@media (min-width: 64em) {
  .c-form label {
    margin-bottom: .9375rem;
    font-size:.875rem
  }

  .c-form select {
    width: 40vw;
    padding: 1.4375rem 1.8125rem;
    background-position:right 20px center
  }

  .c-form input[type=text],
  .c-form input[type=email],
  .c-form input[type=tel] {
    padding:1.4375rem 1.8125rem
  }

  .c-form input[type=tel] {
    width:40vw
  }

  .c-form textarea {
    padding:1.4375rem 1.8125rem
  }
}

/* ------------------------------------------
  04. FORM
------------------------------------------ */








/* ------------------------------------------
  404
------------------------------------------ */

.c-notfound {
  position: relative;
  width: 100vw;
  display: block;  
}

.c-notfound_breadcrumb {
  margin-top: 8.75rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-notfound_title {
  margin-top: 4.6875rem;
  margin-bottom: 3.25rem;
  margin-left:8vw
}

.c-notfound_title .c-page-title_sub {
  
}

.c-notfound_body {
  margin-right: 8vw;
  margin-bottom: 10rem;
  margin-left:8vw
}

.c-notfound_gototoppage {
  margin-top: 5rem;
  display: flex;
  justify-content: center;
}

.c-notfound_button-round {
  padding: 1.1875rem 2.9375rem 1.0625rem;
  font-size: .875rem;
  text-transform: uppercase;
  line-height: 1;
  background-color: #F07800;
  border-radius: 999em;
  color: #FFF;
  display: inline-block;
  transition:background-color .6s cubic-bezier(.37, .16, .12, 1), color .6s cubic-bezier(.37, .16, .12, 1)
}




@media (min-width: 64em) {
  .c-notfound_breadcrumb {
    margin-top: 10.9375rem;
    margin-right: 10vw;
    margin-left:10vw
  }

  .c-notfound_title {
    margin-top: 6.25rem;
    margin-left:10vw
  }

  .c-notfound_body {
    margin-right: 10vw;
    margin-bottom: 12.5rem;
    margin-left:50vw
  }

  .c-notfound_gototoppage {
    margin-top: 5.625rem;
    justify-content:flex-start
  }
}





/* ------------------------------------------
  SERVICE
------------------------------------------ */

.c-services-masthead {
  position: relative;
  width: 100vw;
  display:block    
}

.c-services-masthead_breadcrumb {
  margin-top: 8.75rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-services-masthead_title {
  margin-top: 4.6875rem;
  margin-bottom: 3.25rem;
  margin-left:8vw
}

.c-services-masthead_lede {
  margin-right: 8vw;
  margin-bottom: 7.5rem;
  margin-left:8vw
}

.c-services-section {
  width: 100vw;
  margin-bottom: 10rem;
  display:block
}

.c-services-section_kv {
  margin-right: 8vw;
  overflow:hidden
}

.c-services-section_kv img {
  width:100%
}

.c-services-section_media {
  width: 50vw;
  margin-top: -9.375rem;
  overflow:hidden
}

.c-services-section_media img {
  width:100%
}

.c-services-section_body {
  margin-top: 6.25rem;
  margin-bottom: 3.75rem;
  margin-right: 8vw;
  margin-left: 8vw
}

.c-service-process {
  width: 100vw;
  margin-top: 11.25rem;
  display:block
}

.c-service-process_heading {
  margin-right: 8vw;
  margin-left:8vw
}



.c-service-process_lede {
  margin-top: 3.75rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-service-process_list {
  margin-top: 3.75rem;
  margin-right: 8vw;
  margin-left: 8vw;
  border-top:1px #ABABAB solid
}

.c-service-process_item {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
  border-bottom:1px #ABABAB solid
}

.c-service-process_logo {
  width: 38vw;
  margin-right: auto;
  margin-left:auto
}

.c-service-process_logo img {
  width:100%
}

.c-service-process_body {
  margin-top:3.125rem
}

.c-service-process_name {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.65;
  text-align:center
}

.c-service-process_description {
  margin-top: 1rem;
  font-size: .75rem;
  line-height:1.5
}

.c-service-attention {
  margin-top: 1rem;
  font-size: .625rem;
  line-height: 1.5;
}

.c-service-philosophy {
  position: relative;
  display:block  
}

.c-service-philosophy_foot {
  margin-top:9.375rem
}

.c-service-philosophy_foot-text {
    position: relative;
    z-index: 1;
    width: 100vw;
    font-size: 15.7vw;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    transform:translateZ(1px)
}

.c-service-philosophy_foot-image {
  width: 100%;
  margin-top: -14vw;
  overflow: hidden;
  display:block
}

.c-service-philosophy_foot-image img {
  width:100%
}

.c-service-message {
  width: 100vw;
  margin-top: 10rem;
  margin-bottom: 10rem;
  display:block
}

.c-service-message_heading {
  margin-bottom: 3.75rem;
  margin-right: 8vw;
  margin-left:8vw  
}

.c-service-message_content,
.c-service-message_media {
  margin-left:8vw
}

.c-service-message_image {
  position:relative
}

.c-service-message_body {
  margin-top: 5rem;
  margin-right:8vw
}

.c-service-message_headline {
    font-size: 1.5rem;
    font-weight: 700;
    line-height:1.6
}

.c-service-message_headline br {
  display:none
}

.c-service-message_message {
  margin-top: 3.75rem;
  font-size: .9375rem;
  line-height:1.9
}

.c-service-area_headline {
  margin-top: 3.75rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height:1.6
}


.c-service-area_message {
  margin-top: 1.75rem;
  font-size: .9375rem;
  line-height:1.9
}

.c-service-lumber {
  width: 100vw;
  margin-top: 11.25rem;
  margin-bottom: 11.25rem;
  display:block
}

.c-service-lumber_heading {
  margin-right: 8vw;
  margin-left:8vw
}



.c-service-lumber_lede {
  margin-top: 3.75rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-service-lumber_list {
  margin-top: 3.75rem;
  margin-right: 8vw;
  margin-left: 8vw;
  border-top:1px #ABABAB solid
}

.c-service-lumber_item {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
  border-bottom:1px #ABABAB solid
}

.c-service-lumber_logo {
  width: 38vw;
  margin-right: auto;
  margin-left:auto
}

.c-service-lumber_logo img {
  width:100%
}

.c-service-lumber_body {
  margin-top:3.125rem
}

.c-service-lumber_name {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.65;
  text-align:center
}

.c-service-lumber_description {
  margin-top: 1rem;
  font-size: .75rem;
  line-height:1.5
}

.c-service-lumber_subdescription {
  margin: 1rem 0 3rem;
  font-size: .75rem;
  line-height:1.5
}

.c-service-pallet {
  width: 100vw;
  margin-top: 10rem;
  margin-bottom: 10rem;
  display:block
}

.c-service-pallet_heading {
  margin-bottom: 3.75rem;
  margin-right: 8vw;
  margin-left:8vw  
}

.c-service-pallet_content,
.c-service-pallet_media {
  margin-left:8vw
}

.c-service-pallet_image {
  position:relative
}

.c-service-pallet_body {
  margin-top: 5rem;
  margin-right:8vw
}

.c-service-pallet_headline {
    font-size: 1.5rem;
    font-weight: 700;
    line-height:1.6
}

.c-service-pallet_headline br {
  display:none
}

.c-service-pallet_message {
  margin: 3.75rem 0;
  font-size: .9375rem;
  line-height:1.9
}



@media (min-width: 64em) {
  .c-services-masthead_breadcrumb {
    margin-top: 10.9375rem;
    margin-right: 10vw;
    margin-left:10vw
  }
  .c-services-masthead_title {
    margin-top: 6.25rem;
    margin-left:10vw
  }
  .c-services-masthead_lede {
    margin-bottom: 13.375rem;
    margin-right: 10vw;
    margin-left:50vw
  }
  .c-services-section {
    margin-bottom:12.5rem
  }
  .c-services-section_kv {
    margin-right:10vw
  }
  .c-services-section_content {
    margin-right: 10vw;
    display: flex;
    justify-content:space-between
  }
  .c-services-section_media {
    width:30vw
  }
  .c-services-section_body {
    width: 40vw;
    margin-right: 0;
    margin-left:0
  }
  .c-services-section_body .c-service_slider {
    width: 50vw;
    padding-right: 10vw;
    overflow: hidden
  }
  .c-service-process {
    margin-top:18.5rem
  }
  .c-service-process_head {
    margin-right: 10vw;
    margin-left: 10vw;
    display:flex
  }
  .c-service-process_heading {
    width: 40vw;
    margin-right: 0;
    margin-left:0
  }
  .c-service-process_lede {
    width: 40vw;
    margin-top: 0;
    margin-right: 0;
    margin-left:0
  }
  .c-service-process_list {
    margin-top: 6.25rem;
    margin-right: 10vw;
    margin-left: 30vw;
    border-top:none
  }
  .c-service-process_item {
    padding-top: 5rem;
    padding-bottom: 5rem;
    display: flex;
    justify-content:space-between
  }
  .c-service-process_logo {
    width: 10vw;
    margin-right: 0;
    margin-left:0
  }
  .c-service-process_body {
    width: 40vw;
    margin-top:0
  }
  .c-service-process_name {
    font-size: 1.5rem;
    text-align:left
  }
  .c-service-process_description {
    margin-top: 1.5625rem;
    font-size: .9375rem;
    line-height:1.65
  }
  .c-service-attention {
    margin-top: 1.5625rem;
    line-height: 1.65;
    text-align:right
  }
  .c-service-philosophy_foot {
    margin-top:11.25rem
  }
  .c-service-philosophy_foot-text {
    font-size:8vw
  }
  .c-service-philosophy_foot-text br {
    display:none
  }
  .c-service-philosophy_foot-image {
    margin-top:-5.5vw
  }
  .c-service-message {
    margin-top: 13.125rem;
    margin-bottom:18.75rem
  }
  .c-service-message_heading {
    margin-bottom: 5rem;
    margin-right: 10vw;
    margin-left:10vw
  }
  .c-service-message_content {
    display: flex;
    flex-direction:row-reverse
  }
  .c-service-message_content {
    margin-left:10vw
  }
  .c-service-message_media {
    width: 40vw;
    margin-top: -10.625rem;
    margin-left:0
  }
  .c-service-message_body {
    width: 40vw;
    margin-top: 0;
    margin-right:10vw
  }
  .c-service-message_message {
    margin-top: 2.5rem;
    line-height:1.65
  }
  .c-service-area_message {
    margin-top: 0rem;
    line-height:1.65
  }
  .c-service-message-attention {
    margin-top: 3.75rem;
    font-size: .9375rem;
    line-height:1.9
  }
  .c-service-recycle {
    margin-top: 13.125rem;
    margin-bottom:18.75rem
  }
  .c-service-recycle_heading {
    margin-bottom: 5rem;
    margin-right: 10vw;
    margin-left:10vw
  }
  .c-service-recycle_content {
    display: flex;
    flex-direction:row-reverse
  }
  .c-service-recycle_content {
    margin-left:10vw
  }
  .c-service-recycle_media {
    width: 40vw;
    margin-top: -10.625rem;
    margin-left:0
  }
  .c-service-recycle_body {
    width: 40vw;
    margin-top: 0;
    margin-right:10vw
  }
  .c-service-recycle_message {
    margin-top: 2.5rem;
    line-height:1.65
  }
  .c-service-lumber {
    margin-top:18.5rem;
    margin-bottom:18.5rem;
  }
  .c-service-lumber_head {
    margin-right: 10vw;
    margin-left: 10vw;
    display:flex
  }
  .c-service-lumber_heading {
    width: 40vw;
    margin-right: 0;
    margin-left:0
  }
  .c-service-lumber_lede {
    width: 40vw;
    margin-top: 0;
    margin-right: 0;
    margin-left:0
  }
  .c-service-lumber_list {
    margin-top: 6.25rem;
    margin-right: 10vw;
    margin-left: 30vw;
    border-top:none
  }
  .c-service-lumber_item {
    padding-top: 5rem;
    padding-bottom: 5rem;
    display: flex;
    justify-content:space-between
  }
  .c-service-lumber_logo {
    width: 10vw;
    margin-right: 0;
    margin-left:0
  }
  .c-service-lumber_body {
    width: 40vw;
    margin-top:0
  }
  .c-service-lumber_name {
    font-size: 1.5rem;
    text-align:left
  }
  .c-service-lumber_description {
    margin-top: 1.5625rem;
    font-size: .9375rem;
    line-height:1.65
  }
  .c-service-lumber_subdescription {
    margin: 1.5625rem 0 3rem;
    font-size: .9375rem;
    line-height:1.65
  }
  .c-service-pallet {
    margin-top: 13.125rem;
    margin-bottom:18.75rem
  }
  .c-service-pallet_heading {
    margin-bottom: 5rem;
    margin-right: 10vw;
    margin-left:10vw
  }
  .c-service-pallet_content {
    display: flex;
    flex-direction:row-reverse
  }
  .c-service-pallet_content {
    margin-left:10vw
  }
  .c-service-pallet_media {
    width: 40vw;
    margin-top: -10.625rem;
    margin-left:0
  }
  .c-service-pallet_body {
    width: 40vw;
    margin-top: 0;
    margin-right:10vw
  }
  .c-service-pallet_message {
    margin: 2.5rem 0;
    line-height:1.65
  }
}





@media (min-width: 48em) {
  .c-service-message_headline br {
    display:inline
  }
}


@media (min-width: 90em) {
  .c-service-message_heading {
    margin-bottom:7.5rem
  }
}

@media (min-width: 48em) {
  .c-service-recycle_headline br {
    display:inline
  }
}


@media (min-width: 90em) {
  .c-service-recycle_heading {
    margin-bottom:7.5rem
  }
}



/* ------------------------------------------
  COMPANY
------------------------------------------ */

.c-company-masthead {
  position: relative;
  width: 100vw;
  background-image: url(/wp-content/themes/cura/assets/img/company/kv.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  color:#F1F1F1;
  display:block
}

.c-company-masthead_breadcrumb {
  padding-top: 8.75rem;
  padding-right: 8vw;
  padding-left:8vw
}

.c-company-masthead_title {
  padding-top: 4.6875rem;
  padding-bottom: 3.25rem;
  padding-left:8vw
}

.c-company-masthead_lede {
  padding-bottom: 7.5rem;
  padding-right: 8vw;
  padding-left:8vw
}

.c-company-philosophy {
  position: relative;
  display:block  
}

.c-company-philosophy_media {
  width: 66vw;
  margin-top: -3.75rem;
  margin-left: 34vw;
  overflow:hidden
}

.c-company-philosophy_media img {
  width:100%
}

.c-company-philosophy_heading {
  margin-top: 10rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-company-philosophy_body {
  margin-top: 3.75rem;
  margin-right: 8vw;
  margin-left: 8vw;
  font-size: 1rem;
  font-weight: 700;
  line-height:1.9
}

.c-company-philosophy_body p + p {
  margin-top:1.625rem
}

.c-company-philosophy_body span {
  display:inline-block
}

.c-company-philosophy_foot {
  margin-top:9.375rem
}

.c-company-philosophy_foot-text {
  position: relative;
  z-index: 1;
  font-size: 15.7vw;
  font-weight: 700;
  white-space: nowrap;
  transform:translateZ(1px)
}

.c-company-philosophy_foot-image {
  width: 100%;
  margin-top: -14vw;
  display: block;
  overflow:hidden
}

.c-company-philosophy_foot-image img {
  width:100%
}

.c-company-recycle {
  width: 100vw;
  margin-top: 11.25rem;
  display:block
}

.c-company-recycle_heading {
  margin-right: 8vw;
  margin-left:8vw
}

.c-company-recycle_lede {
  margin-top: 3.75rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-company-recycle_list {
  margin-top: 3.75rem;
  margin-right: 8vw;
  margin-left: 8vw;
  border-top:1px #ABABAB solid
}

.c-company-recycle_item {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
  border-bottom:1px #ABABAB solid
}

.c-company-recycle_logo {
  width: 38vw;
  margin-right: auto;
  margin-left:auto
}

.c-company-recycle_logo img {
  width:100%
}

.c-company-recycle_body {
  margin-top:3.125rem
}

.c-company-recycle_name {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.65;
  text-align:center
}

.c-company-recycle_description {
  margin-top: 1rem;
  font-size: .75rem;
  line-height:1.5
}

.c-company-recycle_slider {
  margin-top: 5rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-company-message {
  width: 100vw;
  margin-top: 10rem;
  margin-bottom: 10rem;
  display:block
}

.c-company-message_heading {
  margin-bottom: 3.75rem;
  margin-right: 8vw;
  margin-left:8vw  
}

.c-company-message_content,
.c-company-message_media {
  margin-left:8vw
}

.c-company-message_image {
  position:relative
}

.c-company-message_body {
  margin-top: 5rem;
  margin-right:8vw
}

.c-company-message_headline {
    font-size: 1.5rem;
    font-weight: 700;
    line-height:1.6
}

.c-company-message_headline br {
  display:none
}

.c-company-message_message {
  margin-top: 3.75rem;
  font-size: .9375rem;
  line-height:1.9
}

.c-company-message_name {
  margin-top: 3.75rem;
  font-size: .9375rem;
  line-height: 1.9;
  text-align:right
}

.c-company-profile {
  padding-bottom: 10rem;
  background-color: #1F1D1D;
  color: #F1F1F1;
  display:block
}

.c-company-profile_side {
  position:relative
}

.c-company-profile_side-inner {
  position: relative;
  z-index:2
}

.c-company-profile_list {
  display:flex
}

.c-company-profile_item {
  width:33.33%
}


.c-company-profile_main {
  margin-top: 10rem;
  margin-right: 8vw;
  margin-left:8vw
}

.c-company-profile_panel {
  opacity: 1;
  visibility: visible;
  transition:opacity 1s cubic-bezier(.52,.08,.18,1)
}

.c-company-profile_panel:focus {
  outline:none
}

.c-company-profile_panel[inert] {
  position: absolute;
  opacity: 0;
  visibility: hidden;
  transition:opacity 0s cubic-bezier(.52,.08,.18,1)
}

.c-company-profile-slider {
  display:block
}

.swiper.c-company-profile-slider_swiper {
  overflow:visible
}

.c-company-profile-slider_swiper-wrapper {
  display:block
}

.c-company-profile-slider_swiper-slide {
  transition:opacity .5s cubic-bezier(.22,.11,.22,1)
}

.c-company-profile-slider_swiper-slide.swiper-slide-prev {
  opacity:0
}

.c-company-profile-slider_swiper-slide + .c-company-profile-slider_swiper-slide {
  margin-top:8.125rem
}

.c-company-profile-slider_heading {
  margin-bottom:3.125rem
}






.c-company-profile-slider_table {
  width: 100%;
  font-size:.8125rem
}

.c-company-profile-slider_table tr {
  border-top:1px rgba(171,171,171,.1) solid
}

.c-company-profile-slider_table th {
  padding-top: 1.875rem;
  padding-bottom: .25rem;
  text-align: left;
  color: #ABABAB80;
  display:block   
}

.c-company-profile-slider_table td {
  padding-bottom: 1.875rem;
  display:block
}

.c-company-offices_kv {
  width: 100%;
}

.c-company-offices_kv img {
  width: 100%;
  height: auto;
  display: block;
}





@media (min-width: 64em) {
  
  .c-company-masthead_breadcrumb {
    padding-top: 10.9375rem;
    padding-right: 10vw;
    padding-left:10vw
  }
  .c-company-masthead_title {
    padding-top: 6.25rem;
    padding-left:10vw
  }
  .c-company-masthead_lede {
    padding-bottom: 13.375rem;
    padding-right: 10vw;
    padding-left:50vw
  }
  .c-company-philosophy_media {
    width: 40vw;
    margin-top: -6.25rem;
    margin-left:0
  }
  .c-company-philosophy_head {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items:flex-end
  }
  .c-company-philosophy_heading {
    margin-bottom: 10vw;
    margin-right: 0;
    margin-left:10vw    
  }
  .c-company-philosophy_body {
    margin-top: 1.625rem;
    margin-right: 10vw;
    margin-left: 10vw;
    font-size: 1.125rem;
    line-height:2.7
  }
  .c-company-philosophy_body p + p {
    margin-top:0
  }
  .c-company-philosophy_foot {
    margin-top:11.25rem
  }
  .c-company-philosophy_foot-text {
    font-size:8vw
  }
  .c-company-philosophy_foot-text br {
    display:none
  }
  .c-company-philosophy_foot-image {
    margin-top:-5.5vw
  }

  .c-company-recycle {
    margin-top:18.5rem
  }
  .c-company-recycle_head {
    margin-right: 10vw;
    margin-left: 10vw;
    display:flex
  }
  .c-company-recycle_heading {
    width: 40vw;
    margin-right: 0;
    margin-left:0
  }
  .c-company-recycle_lede {
    width: 40vw;
    margin-top: 0;
    margin-right: 0;
    margin-left:0
  }
  .c-company-recycle_list {
    margin-top: 6.25rem;
    margin-right: 10vw;
    margin-left: 30vw;
    border-top:none
  }
  .c-company-recycle_item {
    padding-top: 5rem;
    padding-bottom: 5rem;
    display: flex;
    justify-content:space-between
  }
  .c-company-recycle_logo {
    width: 10vw;
    margin-right: 0;
    margin-left:0
  }
  .c-company-recycle_body {
    width: 40vw;
    margin-top:0
  }
  .c-company-recycle_name {
    font-size: 1.5rem;
    text-align:left
  }
  .c-company-recycle_description {
    margin-top: 1.5625rem;
    font-size: .9375rem;
    line-height:1.65
  }

  .c-company-recycle_slider {
    margin-top: 9.375rem;
    margin-right: 10vw;
    margin-left:10vw
  }

  .c-company-message {
    margin-top: 13.125rem;
    margin-bottom:18.75rem
  }
  .c-company-message_heading {
    margin-bottom: 5rem;
    margin-right: 10vw;
    margin-left:10vw
  }
  .c-company-message_content {
    display: flex;
    flex-direction:row-reverse
  }
  .c-company-message_content {
    margin-left:10vw
  }
  .c-company-message_media {
    width: 40vw;
    margin-top: -10.625rem;
    margin-left:0
  }
  .c-company-message_body {
    width: 40vw;
    margin-top: 0;
    margin-right:10vw
  }
  .c-company-message_message {
    margin-top: 2.5rem;
    line-height:1.65
  }
  .c-company-message_name {
    margin-top: 2.5rem;
    line-height:1.65
  }
  .c-company-profile {
    padding-top: 18.75rem;
    padding-bottom:18.75rem;
    overflow:hidden
  }
  .c-company-profile_inner {
    margin-right: 10vw;
    margin-left: 10vw;
    display:flex
  }
  .c-company-profile_side {
    width: 20vw;
    margin-top: 11.875rem;
    padding-top: 6.875rem;
    padding-right:2.5vw
  }
  .c-company-profile_list {
    display:block
  }
  .c-company-profile_item {
    width:auto
  }
  .c-company-profile_main {
    width: 60vw;
    margin-top: 0;
    margin-right: 0;
    margin-left:0
  }
  .c-company-profile-slider_swiper-wrapper {
    display:flex
  }
  .c-company-profile-slider_swiper-slide.swiper-slide-prev .c-company-profile-slider_heading,
  .c-company-profile-slider_swiper-slide.swiper-slide-active .c-company-profile-slider_heading {
    transform:translate(-20vw)
  }
  .c-company-profile-slider_swiper-slide + .c-company-profile-slider_swiper-slide {
    margin-top:0
  }
  .c-company-profile-slider_heading {
    width: 60vw;
    height: 18.75rem;
    margin-bottom: 0;
    padding-right: 10vw;
    transition:transform .5s cubic-bezier(.22,.11,.22,1)
  }





  .c-company-profile-slider_table-wrap {
    width: 60vw;
    padding-right:10vw
  }
  .c-company-profile-slider_table {
    font-size:.9375rem
  }
  .c-company-profile-slider_table tr {
    border-top:1px rgba(171,171,171,.5) solid
  }
  .c-company-profile-slider_table th {
    width: 14vw;
    padding-top: 2.125rem;
    padding-bottom: 2.125rem;
    vertical-align: top;
    color: #F1F1F1;
    display:table-cell
  }
  .c-company-profile-slider_table td {
    padding-top: 2.125rem;
    padding-bottom: 2.125rem;
    vertical-align: top;
    display:table-cell
  }
  
  
  .c-company-profile_item + .c-company-profile_item {
    margin-top:.875rem
  }

  /*
  .c-company-offices_kv {
    margin-top:-5.5vw
  }

  .c-company-offices_kv img {
    width:100%
  }
  */

  .c-company-offices_kv{
    overflow: hidden;
    position: relative;
  }

  /* ←ここが重要 */
  .c-company-offices_kv > div{
    height:130%;
  }

  .c-company-offices_kv picture,
  .c-company-offices_kv img{
    width:100%;
    height:100%;
    object-fit:cover;
  }

  .c-company-offices_kv img{
    transform: scale(1.2);
  }


}

@media (min-width: 48em) {
  .c-company-message_headline br {
    display:inline
  }
}


@media (min-width: 90em) {
  .c-company-message_heading {
    margin-bottom:7.5rem
  }
}





/* ==========================================================================
   WooCommerce Single Product Custom Styles (WORKS Tone)
   ========================================================================== */

/* 1. カートボタン (Add to Cart Button) */
.single_add_to_cart_button {
    background-color: #000 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 1.25rem 2.5rem !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .5s cubic-bezier(.22,.11,.22,1) !important;
}

.single_add_to_cart_button:hover {
    background-color: #333 !important;
}

.single_add_to_cart_button.disabled,
.single_add_to_cart_button:disabled {
    background-color: #ccc !important;
    cursor: not-allowed;
}


/* ==========================================================================
   Quantity & Cart Button (cura Custom)
   ========================================================================== */

/* カート周りのフォームレイアウト（数量とボタンを横並びに） */
.c-product-cart-action form.cart {
    display: flex;
    align-items: center;
    gap: 15px; /* 数量とボタンの間の余白 */
    flex-wrap: wrap;
}

/* --- 数量入力エリアの親枠 --- */
.quantity {
    display: inline-flex;
    align-items: stretch;
    height: 50px; /* 全体の高さを統一 */
    border: 1px solid #000;
    background: #fff;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

/* --- ±ボタン共通設定 (qty-btn) --- */
.quantity .qty-btn {
    width: 45px;
    height: 100%;
    background: none;
    border: none;
    color: #000;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    font-family: sans-serif;
    font-size: 1.25rem;
    line-height: 1;
    transition: background-color .3s ease;
    -webkit-appearance: none;
}

.quantity .qty-btn:hover {
    background-color: #f5f5f5;
}

/* --- マイナス/プラス個別の調整 --- */
.quantity .qty-btn.minus {
    padding-bottom: 3px; /* 視覚的な中央揃え調整（-は少し浮くため） */
}

.quantity .qty-btn.plus {
    /* 必要に応じてプラス独自の調整（現状は共通設定でOK） */
}

/* --- 数値入力欄 (input.qty) --- */
.quantity input.qty {
    width: 50px !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    border-left: 1px solid #000 !important; /* 両サイドを線で区切る */
    border-right: 1px solid #000 !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #000 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -moz-appearance: textfield; /* Firefoxの矢印消し */
}

/* Chrome/Safariの矢印（スピンボタン）を完全に消去 */
.quantity input.qty::-webkit-inner-spin-button,
.quantity input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* --- カートに入れるボタン本体 --- */
.single_add_to_cart_button {
    height: 50px;
    padding: 0 40px;
    background-color: #000;
    color: #fff;
    border: none;
    border-radius: 0;
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: opacity .3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.single_add_to_cart_button:hover {
    opacity: 0.8;
}

/* 在庫切れ等の非活性状態 */
.single_add_to_cart_button:disabled {
    background-color: #ccc;
    cursor: not-allowed;
}

/* 1. ボタンの幅を45pxから50pxへ（正方形に近づけて押しやすく） */
.quantity .qty-btn {
    width: 50px;
}

/* 2. 入力欄との境界線をよりはっきりさせる（inputの左右の線を維持しつつ） */
.quantity input.qty {
    width: 50px !important;
    /* 既に border-left/right があるので、ここはそのままでOK */
}

/* 3. ホバー時の色を少しだけ濃くして「ボタン感」を出す */
.quantity .qty-btn:hover {
    background-color: #f0f0f0; /* f5f5f5より少しだけ濃く */
}

/* 4. スマホ・クリック時の反応を分かりやすく（重要！） */
.quantity .qty-btn:active {
    background-color: #e0e0e0;
    transition: none;
}


/* 3. 価格表示 (Price) */
.price {
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #000 !important;
    display: block;
}

.price del {
    font-size: 0.8em;
    color: #ABABAB;
    margin-right: 0.5em;
    font-weight: 400;
}

.price ins {
    text-decoration: none;
}

/* 4. バリエーション選択 (Variations Select) */
.variations select {
    border: 1px solid #e0e0e0 !important;
    border-radius: 0 !important;
    padding: 0.5rem 2rem 0.5rem 1rem !important;
    font-size: 0.875rem !important;
    background-color: #fff !important;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='black'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    cursor: pointer;
    min-width: 200px;
    outline: none;
}

.variations select:focus {
    border-color: #000 !important;
}

.variations label {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
    display: inline-block;
}

/* 5. 在庫・メタ情報 (Stock & Meta) */
.stock {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    margin-bottom: 1rem;
}

.stock.in-stock {
    color: #000 !important;
}

.stock.out-of-stock {
    color: #ff0000 !important;
}

.product_meta {
    border-top: 1px solid #eee;
    padding-top: 1.5rem;
    margin-top: 2rem;
}

.product_meta span {
    display: block;
    font-size: 0.75rem !important;
    color: #ABABAB;
    margin-bottom: 0.25rem;
}

.product_meta a {
    color: #000;
    text-decoration: none;
}

.product_meta a:hover {
    text-decoration: underline;
}


/* ==========================================================================
   Fixed Bottom Bar (cura UI)
   ========================================================================== */

/* --- 青線と装飾の完全リセット --- */
.woocommerce-message, 
.woocommerce-info, 
.woocommerce-error {
    /* 青線を消す（最重要） */
    border: none !important;
    border-top: none !important;
    outline: none !important;
    box-shadow: none !important;
    
    /* デザイン：AOブラック */
    background-color: #F07800 !important;
    color: #fff !important;
    margin: 0 !important;
    padding: 1.5rem 10vw !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    pointer-events: auto;
}

/* 擬似要素（アイコン）からの干渉も防ぐ */
.woocommerce-message::before, 
.woocommerce-info::before, 
.woocommerce-error::before {
    display: none !important;
    content: none !important;
}


/* ボタンデザイン（維持） */
.woocommerce-message .button {
    background: transparent !important;
    color: #fff !important;
    border: 1px solid #fff !important;
    border-radius: 0 !important;
    padding: 0.6rem 1.5rem !important;
    font-size: 0.75rem !important;
    text-transform: uppercase;
    transition:background-color .35s cubic-bezier(.22,.11,.22,1), color .35s cubic-bezier(.22,.11,.22,1)
}

.woocommerce-message .button:hover {
    background: #FFF !important;
    color: #F07800 !important;
    opacity: 1 !important; /* 透明度をリセットしてハッキリ見せる */
    transition:background-color .35s cubic-bezier(.22,.11,.22,1), color .35s cubic-bezier(.22,.11,.22,1)
}

.c-notice-sticky-wrapper {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 999999;
    transition: opacity 0.3s;
    pointer-events: none;
}

/* フッターと衝突した時に付与するクラス */
.c-notice-sticky-wrapper.is-stopped {
    position: absolute; /* fixedを解除して、親要素（またはbodyのその位置）に固定 */
    bottom: auto;
}


/* ==========================================================================
  Cart
   ========================================================================== */

/* カートリスト全体の装飾 */
.c-cart-list {
    border-top: 1px solid #000;
}

.c-cart-item {
    display: flex;
    align-items: center;
    padding: 2rem 0;
    border-bottom: 1px solid #eee;
    gap: 2rem;
}

.c-cart-item__thumbnail {
    width: 20vw;
}

.c-cart-item__thumbnail img {
    width: 100%;
    height: auto;
}

.c-cart-item__details {
    flex: 2;
}

.c-cart-item__name a {
    font-size: 1.2rem;
    font-weight: bold;
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
}

.c-cart-item__quantity {
    flex: 1;
}

.c-cart-item__subtotal {
    flex: 1;
    text-align: right;
    font-weight: bold;
    font-size: 1.1rem;
}

.c-cart-item__remove a {
    color: #ff0000; /* ここだけアクセントにするか、あえて黒にするか */
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-decoration: underline;
}

/* アクションエリア（クーポン・更新ボタン） */
.c-cart-actions {
    display: flex;
    justify-content: space-between;
    padding: 2rem 0;
}

.update-cart-btn {
    background: #000 !important;
    color: #fff !important;
    border-radius: 0 !important;
    padding: 1rem 2rem !important;
}

/* サイドバーステップの装飾 */
.c-cart-sidebar-step {
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    opacity: 0.3; /* 通常は薄く */
}

.c-cart-sidebar-step.is-current {
  color:#F07800;
    opacity: 1; /* 現在地だけハッキリ */
}

.c-cart-sidebar-step .step-num {
    font-size: 0.7rem;
    font-family: var(--font-english); /* もしあれば */
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
}

.c-cart-sidebar-step .step-text {
    font-size: 0.9rem;
    font-weight: bold;
    letter-spacing: 0.05em;
}

/* ショッピングを続けるボタンの微調整 */
.c-continue-shopping {
    display: flex !important;
    align-items: center;
    font-weight: bold !important;
    border-top: 1px solid #000;
    padding-top: 1.5rem !important;
}

.c-continue-shopping:hover svg {
    transform: translateX(5px);
    transition: transform 0.3s;
}

/* 余白調整用のユーティリティ */
.u-mt-40 { margin-top: 40px; }

/* 日本語サブテキストのスタイル */
.c-cart-sidebar-step .step-sub {
    font-size: 0.7rem;
    color: #888;
    margin-top: 0.2rem;
    font-weight: normal;
}

.c-cart-sidebar-step.is-current .step-sub {
    color: #000;
}

/* 「買い物を続ける」ボタンを日本語向けに調整 */
.c-continue-shopping {
    font-size: 0.9rem !important;
    letter-spacing: 0.1em;
}

/* アウトラインボタンのデザイン */
.c-btn-outline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1.2rem 1.5rem;
    border: 1px solid #000;
    color: #000;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    background: transparent;
    box-sizing: border-box;
}

/* ホバー時の挙動：背景が黒、文字が白に反転 */
.c-btn-outline:hover {
    background: #000;
    color: #fff;
}

/* 上のステップとの余白 */
.u-mt-60 {
    margin-top: 60px;
}

/* アクションエリア全体のコンテナ */
.c-cart-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3rem 0;
    border-bottom: 1px solid #000; /* リストの最後を締める */
    gap: 20px;
}

/* クーポン入力エリア */
.c-cart-coupon {
    width: 20vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #ccc; /* 入力欄を目立たせず、線だけで表現 */
    transition: border-color 0.3s;
}

.c-cart-coupon:focus-within {
    border-color: #000; /* 入力中だけ黒く */
}

.c-cart-coupon input[type="text"] {
    border: none !important;
    padding: 0.8rem !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.1em;
    width: 180px;
    background: transparent !important;
    outline: none !important;
}

.c-cart-coupon .button {
    background: #000 !important;
    color: #FFF !important;
    font-size: 0.85rem !important;
    font-weight: bold !important;
    padding:0.8rem !important;
    letter-spacing: 0.1em;
    border: none !important;
    text-decoration: none !important; /* あえて下線のみでリンク風に */
    cursor: pointer;
}

/* カートを更新ボタン (UPDATE CART) */
.update-cart-btn {
    background: transparent !important;
    color: #000 !important;
    border: 1px solid #000 !important; /* 買い物を続けるボタンと同じトーン */
    border-radius: 0 !important;
    padding: 1rem 2.5rem !important;
    font-size: 0.8rem !important;
    font-weight: bold !important;
    letter-spacing: 0.1em;
    transition: all 0.3s ease;
    cursor: pointer;
}

.update-cart-btn:hover {
    background: #000 !important;
    color: #fff !important;
}

/* スマホ対応：縦並びにする */
@media screen and (max-width: 768px) {
    .c-cart-actions {
        flex-direction: column;
        align-items: flex-start;
    }
    .c-cart-coupon {
        width: 100%;
        justify-content: space-between;
    }
    .update-cart-btn {
        width: 100%;
        text-align: center;
    }
}
/* ==========================================================================
   Cart Collaterals / Totals (AO Custom)
   ========================================================================== */

.c-cart-collaterals {
    margin-top: 4rem;
    display: flex;
    justify-content: flex-end; /* 右側に寄せてバランスを取る */
}

.cart-collaterals {
    width: 100%;
}

/* カート合計のボックス */
.cart_totals {
    width: 100%;
    max-width: 500px; /* 広がりすぎないように制限 */
    margin-left: auto; /* 右寄せ */
}

.cart_totals h2 {
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    border-bottom: 2px solid #000;
    padding-bottom: 1rem;
    margin-bottom: 2rem;
    display: inline-block;
}

/* テーブル構造の解体 */
.cart_totals table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 3rem;
}

.cart_totals th, 
.cart_totals td {
    padding: 1.5rem 0;
    border-bottom: 1px solid #eee;
    font-size: 0.9rem;
    color: #000;
}

.cart_totals th {
    font-weight: normal;
    text-align: left;
}

.cart_totals td {
    text-align: right;
    font-weight: bold;
}

/* 注文合計（ORDER TOTAL）を際立たせる */
.cart_totals .order-total th,
.cart_totals .order-total td {
    border-bottom: none;
    padding-top: 2rem;
    font-size: 1.5rem; /* 合計金額を大きく */
    font-family: var(--font-english); /* 数字を綺麗に見せる */
}

.cart_totals .order-total td {
    color: #000;
}

/* 購入手続きへ進むボタン (CHECKOUT) */
.wc-proceed-to-checkout {
    padding: 0;
}

.wc-proceed-to-checkout .checkout-button {
    background: #000 !important;
    color: #fff !important;
    border-radius: 0 !important;
    padding: 1.8rem !important;
    font-size: 1rem !important;
    font-weight: bold !important;
    text-align: center !important;
    letter-spacing: 0.3em !important;
    text-transform: uppercase;
    transition: all 0.4s ease;
    display: block;
    width: 100%;
    border: 1px solid #000 !important;
}

.wc-proceed-to-checkout .checkout-button:hover {
    background: transparent !important;
    color: #000 !important;
    transform: none; /* AO流は変に動かさず、色反転のみ */
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
    .cart_totals {
        max-width: 100%;
    }
}

.c-cart-sidebar-steps {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
}

/* ステップの共通設定 */
.c-cart-step {
    display: flex;
    gap: 20px;
    padding-bottom: 40px;
    position: relative;
}

/* 垂直の線 */
.c-cart-step::before {
    content: "";
    position: absolute;
    left: 4px; /* マーカーの中心に合わせる */
    top: 10px;
    bottom: 0;
    width: 1px;
    background: #eee;
}

.c-cart-step:last-child::before {
    display: none; /* 最後のステップに線はいらない */
}

/* マーカー（点） */
.c-cart-step__marker {
    width: 9px;
    height: 9px;
    border: 1px solid #000;
    border-radius: 50%;
    background: #fff;
    z-index: 1;
    margin-top: 5px;
    transition: all 0.4s ease;
}

/* アクティブ時の点（黒く塗りつぶす） */
.c-cart-step.is-current .c-cart-step__marker {
    background: #000;
    transform: scale(1.3);
}

/* テキストエリア */
.c-cart-step__content {
    display: flex;
    flex-direction: column;
    transition: opacity 0.4s ease;
    opacity: 0.3; /* 未完了は薄く */
}

.c-cart-step.is-current .c-cart-step__content {
    opacity: 1;
}

.c-cart-step .step-num {
    font-size: 0.65rem;
    font-family: var(--font-english);
    letter-spacing: 0.2em;
    line-height: 1;
    margin-bottom: 4px;
}

.c-cart-step .step-text {
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1.2;
}

.c-cart-step .step-sub {
    font-size: 0.7rem;
    margin-top: 4px;
    font-weight: 400;
}

/* カートが空の時のメッセージをセンターに飛ばす */
.cart-empty.woocommerce-info,
.woocommerce-cart .woocommerce-notices-wrapper:has(.woocommerce-message) {
    width: 100vw !important;
    margin-left: calc(50% - 50vw + (var(--sidebar-width) / 2)) !important; /* サイドバーの分を計算して中央へ */
    position: relative;
    left: 0;
}

/* もっと確実な方法：空のカート表示そのものをリセット */
.woocommerce-cart .cart-empty {
    text-align: center;
    padding: 100px 0;
    font-size: 1.2rem;
    letter-spacing: 0.1em;
    border-top: 1px solid #000;
}

.woocommerce-cart .return-to-shop {
    text-align: center;
    margin-top: 2rem;
}

.woocommerce-cart .return-to-shop .button {
    background: #000 !important;
    color: #fff !important;
    padding: 1.5rem 3rem !important;
    border-radius: 0 !important;
    text-transform: uppercase;
}

/* 空のカート表示のリセットと装飾 */
.c-cart-empty {
    padding:0 0 20rem;
    text-align: left; /* 左揃えがAO流 */
}

.c-cart-empty__text {
    font-size: 1.1rem;
    font-weight: bold;
    color: #000;
    margin-bottom: 0.5rem;
    letter-spacing: 0.05em;
}

.c-cart-empty__en {
    font-size: 0.75rem;
    color: #888;
    letter-spacing: 0.2em;
    font-family: var(--font-english); /* 数字や英字用のフォントがあれば */
}

/* ショップへ戻るボタン（サイドバーのボタンと共通のクラス） */
.c-cart-empty__action {
    max-width: 300px; /* ボタンが広がりすぎないように */
}

/* 通知バー全体の調整（再掲含む） */
.c-notice-sticky-wrapper .woocommerce-message {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 10vw !important; /* 左右の余白をNEWS等に合わせる */
    background: #000 !important;
    color: #fff !important;
}

/* 「取り消しますか？」リンクをボタン形式に */
.c-notice-sticky-wrapper .woocommerce-message a.restore-item {
    display: inline-block;
    background: #fff !important; /* 黒帯の中なので白背景にする */
    color: #000 !important;      /* 文字は黒 */
    padding: 0.6rem 1.5rem !important;
    margin-left: 2rem !important;
    text-decoration: none !important;
    font-size: 0.75rem !important;
    font-weight: bold !important;
    letter-spacing: 0.2em !important;
    text-transform: uppercase;
    transition: all 0.3s ease;
    border: 1px solid #fff !important;
}

/* ホバー時は枠線だけにする（逆転） */
.c-notice-sticky-wrapper .woocommerce-message a.restore-item:hover {
    background: transparent !important;
    color: #fff !important;
}

/* スマホ用の調整 */
@media screen and (max-width: 768px) {
    .c-notice-sticky-wrapper .woocommerce-message {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }
    .c-notice-sticky-wrapper .woocommerce-message a.restore-item {
        margin-left: 0 !important;
        width: 100%;
    }
}


/* ==========================================================================
   AO Industry - Thank You (Order Received) Custom
   ========================================================================== */

/* 1. 全体メッセージの装飾 */
.woocommerce-notice--success {
    font-size: 14px;
    letter-spacing: 0.1em;
    color: #000;
    margin-bottom: 64px;
    display: block;
}

/* 2. 注文情報の概要（横並びのリスト） */
.woocommerce-order-overview {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 32px 0;
    margin: 0 0 64px 0;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    gap: 40px;
}

.woocommerce-order-overview__item {
    flex: 1;
    min-width: 120px;
}

.woocommerce-order-overview__item span {
    display: block;
    font-size: 10px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: 8px;
}

.woocommerce-order-overview__item strong {
    font-size: 15px;
    font-weight: 500;
    color: #000;
}

/* 3. 銀行振込（BACS）の詳細表示 */
.woocommerce-bacs-bank-details {
    margin-top: 64px;
}

.wc-bacs-bank-details-heading {
    font-size: 18px;
    letter-spacing: 0.2em;
    margin-bottom: 24px;
    font-weight: 400;
}

.wc-bacs-bank-details {
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid #eee; /* 口座情報は少し控えめな枠線で囲む */
    padding: 24px;
}

.wc-bacs-bank-details li {
    font-size: 13px;
    margin-bottom: 12px;
    display: flex;
    justify-content: flex-start;
}

.wc-bacs-bank-details li:last-child {
    margin-bottom: 0;
}

.wc-bacs-bank-details li strong {
    margin-left: 12px;
}

/* 4. 注文詳細テーブル（商品リスト） */
.woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
    margin-top: 64px;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
    padding: 20px 0;
    border-bottom: 1px solid #eee;
    text-align: left;
    font-size: 13px;
}

.woocommerce-table--order-details th {
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.woocommerce-table--order-details .product-total {
    text-align: right;
}

.woocommerce-table--order-details tfoot th {
    text-align: left;
    border-bottom: none;
}

.woocommerce-table--order-details tfoot td {
    text-align: right;
    font-weight: bold;
    font-size: 16px;
}

/* 5. モバイル対応 */
@media (max-width: 768px) {
    .woocommerce-order-overview {
        flex-direction: column;
        gap: 24px;
        padding: 24px 0;
    }
}





.c-page {
  margin-bottom: 10rem;
  display:block
}

.c-page_content {
  width: 100vw;
  padding-right: 8vw;
  padding-left:8vw
}

.c-page_side {
  padding-top: 2rem;
  padding-bottom:2rem
}

.c-page_policy_body {
  width: 100%;
    font-size: .8125rem;
    letter-spacing: .015em;
    line-height: 1.923076923076923;
    font-weight:300
}

.c-page_policy_body > div .c-dl {
    font-size: .8125rem;
    letter-spacing: .02em;
    line-height:1.923076923076923
}

.c-page_policy_body > div .c-dl_r {
    border-bottom: solid 1px #000;
    padding:1.25rem 0
}

.c-page_policy_body > div .c-dl_t {
    font-size: .875rem;
    letter-spacing: .02em;
    line-height: 1.428571428571429;
    font-weight: 400;
    margin:0 0 1rem
}

.c-page_policy_body > div .c-dl_d {
    flex:1 1;
    line-height:1.5
}

.c-page_policy_body > div .c-dl_d p + p {
    margin-top:0rem
}




@media (min-width: 64em) {
  
  .c-page {
    margin-bottom:12.5rem
  }
  .c-page_content {
    padding-right: 10vw;
    padding-left:10vw
  }
  .c-page_side {
    padding-bottom:0
  }
  .c-page_main {
    width: 60vw;
    padding-top:3.375rem
  }
  .c-page_policy_body > div .c-dl_r {
        display: flex;
        padding:1.5625rem 0
    }

    .c-page_policy_body > div .c-dl_t {
        width: 20vw;
        margin: 0;
        padding: 0 2.484472049689441% 0 0;
        line-height:1.928571428571429
    }

    .c-page_policy_body > div .c-dl_t br {
        display:revert
    }

    .c-page_policy_body > div .c-dl_d p + p {
        margin-top:.875rem
    }
}









.c-page_policy_body > div h2 {
    font-size: .875rem;
    line-height: 1.428571428571429;
    margin:2.5rem 0 .75rem
}


@media (min-width: 64em) {
.c-page_policy_body > div h2 {
        font-size: .9375rem;
        line-height: 1.4;
        margin:4.375rem 0 1.375rem
    }
  }