@charset "UTF-8";

/* ==========================================================================
   Sections
========================================================================== */
.section_L {
  margin-top: 8rem;
  margin-bottom: 8rem;
}
.section {
  margin-top: 5rem;
  margin-bottom: 5rem;
}
.section-padding {
  padding-top: 2.5em;
  padding-bottom: 2.5em;
}
.content {
  margin-top: 2.5em;
  margin-bottom: 2.5em;
}

.container {
  max-width: 100%;
  padding-right: 7.5vw;
  padding-left: 7.5vw;
}
.row {
  margin-right: -.75rem;
  margin-left: -.75rem;
}
.row > .col,
.row > [class*="col-"] {
  padding-right: .75rem;
  padding-left: .75rem;
}

@media (min-width: 992px) {
  .section_L {
    margin-top: 11.5rem;
    margin-bottom: 11.5rem;
  }
  .section {
    margin-top: 7rem;
    margin-bottom: 7rem;
  }
  .section-padding {
    padding-top: 3.5em;
    padding-bottom: 3.5em;
  }
  .content {
    margin-top: 3.5em;
    margin-bottom: 3.5em;
  }
}
@media (min-width: 992px) {
  .container {
    padding-right: 5.5vw;
    padding-left: 5.5vw;
  }
  .container.container_S {
    max-width: calc(1000px + 11vw);
  }
  .row.gapL {
    margin-right: -5.5vw;
    margin-left: -5.5vw;
  }
  .row.gapL > .col,
  .row.gapL > [class*="col-"] {
    padding-right: 5.5vw;
    padding-left: 5.5vw;
  }
}

.full {
  margin-right: -7.5vw;
  margin-left: -7.5vw;
}
.over-right {
  margin-right: -7.5vw;
}
@media (max-width: 575px) {
  .full_sp {
    margin-right: -7.5vw;
    margin-left: -7.5vw;
  }
}
@media (min-width: 992px) {
  .full {
    margin-right: -5.5vw;
    margin-left: -5.5vw;
  }
  .over-right {
    margin-right: -5.5vw;
  }
}


hr {
  border-top-color: var(--border1);
}


/* ==========================================================================
   Main Content
========================================================================== */
#main {
  padding-bottom: 9.5rem;
}
#main:has(#main-content) {
  padding-bottom: 0;
}
@media(min-width: 768px){
  #main {
    padding-bottom: 15rem;
  }
}

#main-content {
  padding-bottom: 9.5rem;
  position: relative;
  z-index: 3;
}

.main-bg {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: -1;
  overflow: hidden;
}
.main-bg::before {
  content: '';
  display: block;
  width: 100%;
  background: var(--black);
  clip-path: polygon(100% 0, 100% 100%, 0 100%, 0% 40vw);
  position: absolute;
  top: 0;
  left: 0;
  bottom: -1%;
  z-index: -1;
}

#mv + .main-bg {
  top: calc(max(200vw, 100svh) - 35vw);
}

#main-content section {
  position: relative;
}
@media(min-width: 768px){
  #main-content {
    padding-bottom: 15rem;
  }
}
@media (orientation: landscape) {
  #mv + .main-bg {
    top: calc(max(50vw, 100svh) - 17.5vw);
  }
}


/* ==========================================================================
   Links
========================================================================== */
a {
  color: inherit;
  text-decoration: none;
  transition: .2s;
  transition-property: color, background, border, transform, opacity;
}

/* ==========================================================================
   Image
========================================================================== */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
svg.icon {
  fill: currentColor;
}
picture,
figure,
picture img,
figure img {
  display: block;
}

/*
picture.iv,
.imgBox.iv {
  opacity: 1;
  overflow: hidden;
  clip-path: inset(3rem);
  transition: clip-path 1s ease-in-out;
}
picture.iv img,
.imgBox.iv .slider-wrapper {
  display: block;
  transform: scale(1.2);
  transition: transform 1s;
}
picture.iv.show,
.imgBox.iv.show {
  clip-path: inset(0);
}
picture.iv.show img,
.imgBox.iv.show .slider-wrapper {
  transform: scale(1);
}
*/

/* ==========================================================================
   Typography
========================================================================== */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  font-weight: 700; }
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {
  text-decoration: none; }

h1, .h1 { font-size: 2.75em; }
.h1 { line-height: 1.143; }
h2, .h2 { font-size: 3.429em; }
.h2 { line-height: 1.25; }
h3, .h3 { font-size: 1.429em; }
h4, .h4 { font-size: 1.286em; }
h5, .h5 { font-size: 1.143em; }
h6, .h6 { font-size: 1.143em; }
.h7 { font-size: 1em; }

@media (min-width: 992px) {
  h1, .h1 { font-size: min(5em, 5.2vw); }
  h2, .h2 { font-size: 4.286em; }
  h3, .h3 { font-size: 1.714em; }
  h4, .h4 { font-size: 1.571em; }
  h5, .h5 { font-size: 1.286em; }
  h6, .h6 { font-size: 1.143em; }
}


.fw-400,
.text-normal { font-weight: 400 !important; }
.fw-500,
.text-medium { font-weight: 500 !important; }
.fw-600,
.text-semibold { font-weight: 600 !important; }
.fw-700,
.text-bold { font-weight: 700 !important; }
.fw-800 { font-weight: 800 !important; }
.fw-900 { font-weight: 900 !important; letter-spacing: .2em; }
.text-italic { font-style: italic; }
.text-justify { text-align: justify; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-center { text-align: center !important; }

@media (min-width: 576px) {
  .text-sm-left { text-align: left !important; }
  .text-sm-right { text-align: right !important; }
  .text-sm-center { text-align: center !important; }
}
@media (min-width: 768px) {
  .text-md-left { text-align: left !important; }
  .text-md-right { text-align: right !important; }
  .text-md-center { text-align: center !important; }
}
@media (min-width: 992px) {
  .text-lg-left { text-align: left !important; }
  .text-lg-right { text-align: right !important; }
  .text-lg-center { text-align: center !important; }
}
@media (min-width: 1200px) {
  .text-xl-left { text-align: left !important; }
  .text-xl-right { text-align: right !important; }
  .text-xl-center { text-align: center !important; }
}

.font1, .en_ttl {
  font-family: var(--font1);
}

.ttl {
  font-weight: 800;
}

.copy {
  font-weight: 900;
  margin-bottom: 2.5rem;
  font-feature-settings: "palt";
}
.read {
  line-height: 2.18;
  letter-spacing: .06em;
}
.desc {
  letter-spacing: .08em;
  line-height: 2.57;
}

p {
  margin-bottom: 2em;
}
p:last-child {
  margin-bottom: 0;
}

em.font1 {
  display: inline-block;
  font-size: 115%;
  font-weight: 800;
  line-height: 1.8rem;
  font-style: normal;
  transform: translateY(.05em);
}

/* ==========================================================================
   Animation parts
========================================================================== */
.ani_dot {
  padding-right: 2rem;
  position: relative;
  z-index: 2;
}
.ani_dot::before,
.ani_dot::after {
  content: '';
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) scale(.4);
  transition: transform .2s, opacity .1s;
}

.ani_dot::before {
  background: currentcolor;
  border-radius: 100%;
}
.ani_dot::after {
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%229%22%20viewBox%3D%220%200%2012%209%22%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22M11.125%204.5C11.125%204.44328%2011.1148%204.38691%2011.0947%204.33398C11.0747%204.28102%2011.0449%204.23203%2011.0068%204.19043L8.10059%201.00879C8.02366%200.924756%207.91674%200.875%207.80273%200.875C7.68871%200.875087%207.58176%200.924648%207.50488%201.00879C7.42832%201.09261%207.38676%201.20426%207.38672%201.31836C7.38672%201.43246%207.42837%201.54408%207.50488%201.62793L9.72363%204.05664L1.29102%204.05664C1.17711%204.05664%201.07002%204.10646%200.993164%204.19043C0.916628%204.27422%200.875%204.38594%200.875%204.5C0.875%204.61406%200.916629%204.72578%200.993164%204.80957C1.07002%204.89353%201.17711%204.94336%201.29102%204.94336L9.72363%204.94336L7.50488%207.37207C7.42837%207.45592%207.38672%207.56754%207.38672%207.68164C7.38676%207.79574%207.42832%207.90739%207.50488%207.99121C7.58176%208.07535%207.68871%208.12491%207.80273%208.125C7.91674%208.125%208.02366%208.07524%208.10059%207.99121L11.0068%204.80957L11.0576%204.74219C11.0723%204.71818%2011.0847%204.69249%2011.0947%204.66602C11.1148%204.61309%2011.125%204.55672%2011.125%204.5Z%22%20fill%3D%22%23FFFFF1%22%20stroke%3D%22%23FFFFF1%22%20stroke-width%3D%220.25%22%2F%3E%0A%3C%2Fsvg%3E');
  background-position: center center;
  background-size: .714rem;
  mix-blend-mode: difference;
  opacity: 0;
}
.ani_dot::after {
  z-index: 2;
}
a:hover .ani_dot::before,
.ani_dot:hover::before {
  transform: translateY(-50%) scale(1.0);
}
a:hover .ani_dot::after,
.ani_dot:hover::after {
  transform: translateY(-50%) scale(1.0);
  opacity: 1;
}

/* ==========================================================================
   Button
========================================================================== */
.btn {
  display: inline-flex;
  align-items: center;
  text-align: left;
  vertical-align: bottom;
  font-family: var(--font1);
  font-size: 1.143rem;
  letter-spacing: .05em;
  line-height: 1.5;
  font-weight: 700;
  padding: 1.375rem 0;
  width: 100%;
  background-color: transparent;
  border: 0;
  text-decoration: none;
  outline: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.btn:has(svg) {
  font-size: 1.143rem;
}
.btn svg {
  display: block;
  transition: transform .2s;
}
.btn:has(svg):hover svg {
  transform: translateY(-10%);
}

.btn > span {
  width: 100%;
  overflow: hidden;
}
.btn > span::before {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: var(--border1);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
}
.btn:hover > span::before {
  animation: line 1s;
  animation-fill-mode: forwards;
}


.btn-box {
  display: block;
  padding-bottom: 1.429em;
  position: relative;
  overflow: hidden;
}
.btn-box .btn {
  border-bottom: 0;
  padding: 0;
}
.btn-box .btn > span::before {
  display: none;
}
.btn-box::before {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: var(--border1);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
}
@media (max-width: 767px) {
  .btn-box:hover::before {
    animation: line 1s;
    animation-fill-mode: forwards;
  }
}

@media (min-width: 768px) {
  .btn {
    width: auto;
    min-width: 14.286rem;
  }
  .btn-box {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 4rem 0;
  }
}
@media (min-width: 992px) {
  .btn-box .txtBox {
    width: 70%;
    display: flex;
    align-items: center;
    gap: 10%;
  }
}


.icon-link {
  font-family: var(--font1);
  font-size: 1.143rem;
  font-weight: 700;
  letter-spacing: .05em;
  white-space: nowrap;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
  padding: .15em 0;
  transition: opacity .2s;
}
.icon-link + .icon-link {
  margin-top: 1rem;
}
.icon-link span {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
}
.icon-link .name {
  font-weight: 400;
  white-space: normal;
}
.icon-link:hover {
  opacity: .5;
}
.text-right .icon-link {
  display: inline-flex;
}

/* ==========================================================================
   Page header
========================================================================== */
.section__header {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  font-family: var(--font1);
}
.section__header .num {
  font-size: 1.857rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .03em;
  clip-path: polygon(100% 0, 100% calc(100% - .4em), calc(100% - .375em) 100%, 0 100%, 0 0)
}
.section__header._large .num {
  font-size: 4rem;
}
.section__header .ttl {
  font-size: 1.857rem;
  font-weight: 800;
  line-height: 1;
}
.section__header._large .ttl {
  font-size: 2.143rem;
}
.section__header .ttl[data-subttl] {
  display: flex;
  flex-direction: column;
}
.section__header .ttl[data-subttl]::after {
  content: attr(data-subttl);
  font-size: .786rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  display: block;
  margin-top: .5em;
}
@media (min-width: 992px) {
  .sidebar-sticky .section__header {
    flex-direction: column;
    gap: 1rem;
  }
  .sidebar-sticky .section__header .num {
    padding-left: .05em;
  }
  .sidebar-sticky .section__header .ttl {
    font-size: 3rem;
    writing-mode: vertical-rl;
  }
  .sidebar-sticky .section__header._large .ttl {
    font-size: 3.571rem;
  }
  .sidebar-sticky .section__header .ttl[data-subttl]::after {
    display: none;
  }
  .sidebar-sticky .section__header .ttl[data-subttl]::before {
    content: attr(data-subttl);
    font-size: .786rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
    display: block;
    margin-left: .75em;
  }
}



.page__header {
  width: 100%;
  padding-top: 100px;
  position: relative;
}
.page__header .en_ttl {
  font-family: var(--font1);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .02em;
}
#main:has(#mv) .page__header {
  position: absolute;
  z-index: 10;
}


.headline {
  font-weight: 900;
  margin-bottom: 2rem;
}

.headline .en_ttl {
  font-weight: 800;
}

/* ==========================================================================
   MV
========================================================================== */
.cover_bg {
  width: 100%;
  height: max(200vw,100svh);
  padding: calc(100px + 10.5rem) 3vw 0;
  display: flex;
  justify-content: center;
  align-items: center;
  position: sticky;
  top: 0;
  left: 0;
  z-index: -2;
  overflow: hidden;
}
@media (orientation: landscape) {
  .cover_bg {
    height: max(50vw,100svh);
  }
}
.cover_bg._fixed {
  position: fixed;
}
.blur-overlay,
.blur-overlay-wave,
.blur-overlay-wave-head {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.01);
  transform: translate3d(0, 0, 0);
  will-change: backdrop-filter;
}
.cover_bg picture {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.cover_bg picture img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.key {
  font-family: var(--font1);
  font-size: 2rem;
  font-weight: 800;
  text-align: center;
  position: relative;
}
.key span {
  display: block;
  line-height: 1.25;
}
.key span._large {
  font-size: 238.01%;
  line-height: .9;
}
@media (orientation: landscape) {
  .key {
    font-size: min(4rem, 3vw);
    text-align: left;
  }
  .key span._large + span {
    text-align: right;
    transform: translateX(.25em);
  }
}


#mv,
.hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: max(200vw,100svh);
  background: rgba(0,0,0,0.001);
  position: relative;
  z-index: 2;
}
#mv {
  pointer-events: none;
}
@media (orientation: landscape) {
  #mv,
  .hero {
    height: max(50vw,100svh);
  }
}

.page__header + #mv {
  padding-top: calc(100px + 10.5rem);
}
.page__header + #mv .bg {
  top: calc(50% + ((100px + 10.5rem)/2));
}

/* ==========================================================================
   Layout
========================================================================== */
.column-layout .side-col .sub_ttl {
  font-weight: 900;
  transform: translateY(-.1em);
}

@media (max-width: 991px) {
  .column-layout .side-col {
    display: flex;
    align-items: baseline;
    gap: 1.5rem;
  }
  #container > .sidebar-sticky {
    display: none;
  }
}
@media (min-width: 992px) {
  .column-layout {
    width: 100%;
    display: flex;
    gap: 5.5vw;
  }
  .column-layout .side-col {
    flex: 0 0 max(14%, 12.8572em);
    width: max(14%, 12.8572em);
    position: relative;
  }
  .column-layout:has(.column-layout) .side-col {
    flex: 0 0 max(17%, 12.8572em);
    width: max(17%, 12.8572em);
  }
  .column-layout .column-layout .side-col {
    flex: 0 0 max(11%, 5em);
    width: max(11%, 5em);
  }
  .column-layout .main-col {
    flex-basis: 100%;
    width: calc(100% - max(14%, 12.8572em));
  }
  .column-layout.container .main-col {
    width: calc(100% - max(14%, 12.8572em) - 5.5vw);
  }
  .column-layout:has(.column-layout) .main-col {
    width: calc(100% - max(17%, 12.8572em));
  }
  .column-layout .column-layout .main-col {
    width: calc(100% - max(11%, 5em));
  }
  .sidebar-sticky {
    position: sticky;
    top: 160px;
  }
  .column-layout .side-col .sub_ttl {
    line-height: 1.5;
    position: absolute;
    top: 0;
    left: 5rem;
  }

  #sidebar {
    width: max(17%, 12.8572em);
    position: absolute;
    left: 5.5vw;
    z-index: 998;
    mix-blend-mode: difference;
  }
  #sidebar-sticky-wrapper .container {
    padding-left: max(26.25%, 12.8572em);
  }
}


.side_ttl {
  font-family: var(--font1);
  font-weight: 700;
  line-height: 1;
}
.side_box ul {
  list-style-type: none;
  display: flex;
  gap: 2em;
  margin: 1.5em 0 0;
}
.side_box ul li a {
  display: inline-block;
  font-size: 1.143rem;
  font-family: var(--font1);
  letter-spacing: .05em;
  line-height: 1;
  font-weight: 700;
  padding: .5rem 0;
  width: 100%;
  background-color: transparent;
  color: var(--gray);
  border: 0;
  text-decoration: none;
  outline: none;
  cursor: pointer;
  position: relative;
}
.side_box ul li a.current,
.side_box ul li a:hover {
  color: inherit;
}
ul.category-list li a::before {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-image: linear-gradient(var(--white), var(--white));
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: 0 1px;
  transition: background-size .2s;
  position: absolute;
  left: 0;
  bottom: -1px;
  z-index: 2;
}
ul.category-list li a.current::before,
ul.category-list li a:hover::before {
  background-position: bottom left;
  background-size: 100% 1px;
}
@media(min-width: 992px){
  .side_box ul {
    flex-direction: column;
    gap: .75em;
    margin: 2em 0 0;
  }
  .side_box ul li a {
    display: flex;
    align-items: center;
    gap: 1em;
    font-size: 1.286rem;
  }
  ul.category-list li a {
    padding-left: calc(10px + 1em);
  }
  ul.category-list li a::before {
    width: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
}

/* ==========================================================================
   List
========================================================================== */
ul.row,
ol.row,
.lists {
  list-style-type: none;
  position: relative;
}
.lists .list {
  position: relative;
}
.lists .list > a {
  display: block;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .08em;
  position: relative;
  padding-top: 2em;
  padding-bottom: 2em;
}
.lists::before,
.lists .list::after {
  content: '';
  display: block;
  width: calc(100% + 7.5vw);
  height: 1px;
  background: var(--border1);
  position: absolute;
  left: 0;
  bottom: 0;
}
.lists::before {
  top: 0;
}
.lists .list > a > .entry__meta {
  font-size: .857rem;
  margin-bottom: 1.5em;
}
.lists .list > a > .ttl {
  font-weight: 700;
  line-height: 1.75;
  font-size: 1rem;
}
@media (max-width: 991px) {
  .lists .list > a.ani_dot::before,
  .lists .list > a.ani_dot::after {
    display: none;
  }
}
@media (min-width: 992px) {
  .lists::before,
  .lists .list::after {
    width: calc(100% + 5.5vw);
  }
}
@media (min-width: 1200px) {
  .lists .list > a {
    display: flex;
    align-items: center;
    gap: 10%;
    min-height: 11em;
  }
  .lists .list > a > .entry__meta {
    font-size: 1rem;
    gap: 3em;
    margin-bottom: 0;
  }
  .lists .list > a > .ttl {
    flex-basis: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    position: relative;
    z-index: 2;
    padding-right: 3em;
  }
}

/* ==========================================================================
   List > dl
========================================================================== */
.list dl {
  padding: 2rem 0;
  position: relative;
}
.list dl dt {
  font-size: 1.429rem;
  margin: .5rem 0 1.5rem;
  font-weight: 900;
}
.list dl dt.font1 {
  font-weight: 800;
  text-transform: uppercase;
}
.list dl dt small {
  font-family: var(--font1);
  font-size: .857rem;
  font-weight: 400;
  letter-spacing: .05em;
  display: block;
  margin-top: 1rem;
}
.list dl dd {
  flex-basis: 100%;
  vertical-align: middle;
}
.list dl dd > div {
  margin: .5em 0;
}
@media (min-width: 1200px) {
  .list dl {
    padding: 3rem 0;
  }
  .list dl dt {
    margin: .5rem 0;
  }
}


.list .list-inner-row {
  position: relative;
}
.list .list-inner-row > .row + .row::before {
  content: '';
  display: block;
  width: calc(100% + 7.5vw);
  height: 1px;
  background: var(--border1);
  position: absolute;
  left: 0;
  top: 0;
}
.list .list-inner-row + .list-inner-row::before {
  content: '';
  display: block;
  width: calc(100% + 7.5vw);
  height: 1px;
  background: var(--border1);
  position: absolute;
  left: 0;
  top: 0;
}
.list .list-inner-row .row .ttl {
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .list .list-inner-row > .row + .row::before {
    width: 1px;
    height: 8.3rem;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .list .list-inner-row > .row:nth-of-type(odd) {
    padding-right: 3.5%;
  }
  .list .list-inner-row > .row:nth-of-type(even) {
    padding-left: 3.5%;
  }
}
@media (min-width: 992px) {
  .list .list-inner-row > .row {
    padding: 2.5rem 0;
  }
  .list .list-inner-row + .list-inner-row::before {
    width: calc(100% + 5.5vw);
  }
}
@media (min-width: 1200px) {
  .list .list-inner-row > .row {
    min-height: 12.25em;
  }
}



@media (min-width: 992px) {
  .lists.border-top-0::before {
    display: none;
  }
  .lists.border-top-0 {
    margin-top: -3.25rem;
  }
}
@media (min-width: 1200px) {
  .lists.border-top-0 {
    margin-top: -4.25rem;
  }
}


/* ==========================================================================
   Accordion
========================================================================== */
.list.acc .acc_head {
  padding: 2.5rem 0;
}
.list.acc .acc_head picture img {
  width: 100%;
  aspect-ratio: 33 / 16;
  object-fit: cover;
  filter: grayscale(1);
  transition: filter .4s;
}
.list.acc .acc_head .ttl {
  margin: 1.5rem 0 1.25rem;
}
.list.acc .acc_head .btnBox {
  margin-top: 1rem;
}
.list.acc.on .acc_head picture img,
.list.acc .acc_head:hover picture img {
  filter: grayscale(0);
}
.list.acc .acc_head:hover .icon-link {
  opacity: .5;
}
.list.acc .acc_body {
  padding: 0 0 2.5rem;
}
@media (min-width: 768px) {
  .list.acc .acc_head {
    display: flex;
    flex-wrap: wrap;
  }
  .list.acc .acc_head picture {
    flex: 0 0 200px;
  }
  .list.acc .acc_head picture img {
    aspect-ratio: 5 / 4;
  }
  .list.acc .acc_head .txtBox {
    flex: 0 0 calc(100% - 200px);
    padding-left: 5%;
  }
  .list.acc .acc_head .ttl {
    margin-top: 0;
  }
  .list.acc .acc_head .btnBox {
    flex: 0 0 100%;
  }
}
@media (min-width: 992px) {
  .list.acc .acc_head {
    padding: 3rem 0;
  }
  .list.acc .acc_body {
    padding: 0 0 3rem;
  }
}
@media (min-width: 1200px) {
  .list.acc .acc_head {
    padding: 3.5rem 0;
  }
  .list.acc .acc_head .txtBox {
    flex: 0 0 calc(100% - 400px);
  }
  .list.acc .acc_head .btnBox {
    flex: 0 0 200px;
    align-self: flex-end;
  }
  .list.acc .acc_body {
    padding: 0 0 3.5rem;
  } 
}


.outline dl {
  padding: 0;
  border-top: 1px solid var(--border1);
}
.outline dl dt {
  padding: 1.5rem 0 .25rem;
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}
.outline dl dd {
  border-bottom: 1px solid var(--border1);
  padding: 0 0 1.5rem;
}
.acc_body .outline {
  background-color: var(--white);
  padding: 1.5rem 7.5vw;
  margin-bottom: 2rem;
}
.acc_body .outline dl {
  border-top: 0;
}
.acc_body .outline dl dd:last-of-type {
  border-bottom: 0;
}
.acc_body .outline .btnArea {
  margin: 2rem auto;
}
.acc_body .outline .btnArea .btn {
  width: 100%;
  padding: 1.125rem;
  border: 1px solid currentColor;
}
.acc_body .outline .btnArea .btn.ani_dot::before,
.acc_body .outline .btnArea .btn.ani_dot::after {
  right: 1.125rem;
}
@media (min-width: 768px) {
  .outline dl {
    display: flex;
    flex-wrap: wrap;
  }
  .outline dl dt {
    flex: 0 0 11.5rem;
    border-bottom: 1px solid var(--border1);
    padding: 2.5rem 0;
  }
  .outline dl dd {
    flex: 0 0 calc(100% - 11.5rem);
    padding: 2.5rem 0;
  }

  .acc_body .outline {
    padding: 2.5rem min(80px,5.5vw);
  }
  .acc_body .outline dl {
    gap: 7%;
  }
  .acc_body .outline dl dd {
    flex: 0 0 calc(93% - 11.5rem);
  }
  .acc_body .outline dl dt:last-of-type {
    border-bottom: 0;
  }
  .acc_body .outline .btnArea {
    width: calc(86% - (11.5rem*2));
  }
}


/* ==========================================================================
   History
========================================================================== */
.history-list dl {
  border-top: 1px solid var(--border1);
  display: flex;
  flex-wrap: wrap;
  padding: 2rem 0 0;
}
.history-list dl dt {
  flex: 0 0 7.5rem;
  padding: 0 0 3rem;
  font-family: var(--font1);
  font-size: 1.143em;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 2rem;
  position: relative;
}
.history-list dl dt:not(:last-of-type)::after {
  content: '';
  display: block;
  width: 1px;
  height: 3rem;
  background: var(--border1);
  position: absolute;
  top: 2em;
  left: 1.52em;
}
.history-list dl dd {
  flex: 0 0 calc(100% - 7.5rem);
  padding: 0 0 1.5rem;
}
.history-list dl dt:last-of-type,
.history-list dl dd:last-of-type {
  padding-bottom: 0;
}

@media (min-width: 576px) {
  .history-list dl {
    padding: 3rem 0 0;
  }
  .history-list dl dt {
    padding: 0 0 2.25rem;
  }
  .history-list dl dt:not(:last-of-type)::after {
    height: 1.5rem;
    top: 2em;
  }
  .history-list dl dd {
    padding: 0 0 2.25rem;
  }
}

/* ==========================================================================
   Numbers (汎用)
========================================================================== */
.numbers {
  counter-reset: numbers;
}
.numbers ._count {
  padding-left: min(6em,15%);
  position: relative;
}
.numbers ._count::before {
  counter-increment: numbers;
  content: counter(numbers, decimal-leading-zero);
  font-family: var(--font1);
  font-size: 1.357rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 2.8;
  position: absolute;
  left: 0;
}
@media (min-width: 992px) {
  .numbers ._count::before {
    font-size: 1.714rem;
    line-height: 2.3;
  }
}


/* ==========================================================================
   Panel
========================================================================== */
.panels.row {
  row-gap: 1.5rem;
  overflow: hidden;
}
.panel {
  background: var(--white);
  height: 100%;
  padding: 1.5rem 1.75rem;
}
.panel .ttl {
  font-size: 1.125rem;
  margin-bottom: 1.75rem;
}
.panel p {
  margin-top: 1.75rem;
}
.panel figure {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
@media (min-width: 1200px) {
  .panel {
    padding: 2rem 2.25rem;
  }
}

/* ==========================================================================
   blur box
========================================================================== */
.blur-box-block {
  position: relative;
}

.blur-box {
  background: rgba(0, 0, 0, 0.20);
  backdrop-filter: blur(50px);
  -webkit-backdrop-filter: blur(50px);
  padding: 7.5vw;
  margin: -3rem 0 0 -7.5vw;
  position: relative;
  z-index: 0;
}
.blur-box hr {
  margin: 2rem 0 2.5rem;
}
.blur-box p {
  letter-spacing: .05em;
}
.bg-white .blur-box,
.bg-white-noise .blur-box {
  background: rgba(255, 255, 255, 0.20);
}
@media (min-width: 992px) {
  .blur-box-block {
    display: flex;
    align-items: center;
  }
  .blur-box-block .imgBox {
    flex: 0 0 70%;
    width: 70%;
    margin-left: auto;
  }
  .blur-box {
    width: 60%;
    padding: min(50px, 5.4vw) min(50px, 5.5vw);
    margin: 0 0 0 -5.5vw;
  }
  .blur-box-block .blur-box {
    position: absolute;
    left: 0;
  }
}

/* ==========================================================================
   Slider
========================================================================== */
.slider-wrapper {
  width: 100%;
}
.slider .swiper-slide picture {
  width: 100%;
  aspect-ratio: 8/5;
}
.slider .swiper-slide picture img {
  height: 100%;
  object-fit: cover;
}
.swiper-slide picture img {
  display: block;
  width: 100%;
}
.slider-caption {
  background: rgba(0, 0, 0, 0.20);
  backdrop-filter: blur(50px);
  -webkit-backdrop-filter: blur(50px);
  padding: 2.25rem 7.5vw;
  margin: -3rem 0 2rem;
  position: relative;
  z-index: 2;
}
@media (min-width: 576px) {
  .slider-caption {
    margin: -3rem 0 2rem -7.5vw;
  }
}
@media (min-width: 992px) {
  .slider-caption {
    width: 80%;
    padding: 78px min(80px, 5.5vw);
    margin: -78px 0 1rem max(-80px, -5.5vw);
  }
}

/*
ul.infiniteslide {
  list-style-type: none;
  width: 100%;
  display: flex;
  gap: min(5.5vw, 2.85rem);
  position: relative;
  z-index: 1;
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
}
ul.infiniteslide li {
  width: min(55vw, 28.5rem);
}
ul.infiniteslide li img {
  display: block;
  width: 100%;
}
*/

.logo-loop {
  overflow: hidden;
  width: 100%;
  position: relative;
  z-index: 1;
}
.logo-track {
  list-style-type: none;
  display: flex;
  width: 100%;
}
.logo-track li {
  flex-shrink: 0;
  display: flex;
  overflow: hidden;
  will-change: transform;
}
.logo-track li:nth-child(odd) {
  animation: logoScroll 12s -6s infinite linear;
}
.logo-track li:nth-child(even) {
  animation: logoScroll2 12s infinite linear;
}
.logo-track li img {
  display: block;
  width: min(56vw, 20rem);
  margin-right: min(8vw, 3rem);
}
@keyframes logoScroll {
  from { transform: translateX(100%); }
    to { transform: translateX(-100%); }
}
@keyframes logoScroll2 {
  from { transform: translateX(0); }
    to { transform: translateX(-200%); }
}
@media (orientation: landscape){
  .logo-track li img {
    width: 27vw;
    margin-right: 3vw;
  }
}

/* ==========================================================================
   Map
========================================================================== */
.ggmap {
  position: relative;
  width: 100%;
  aspect-ratio: 33/25;
  margin: 2rem 0 1rem;
}

.ggmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  filter: grayscale(1);
}

/* ==========================================================================
   Color
========================================================================== */
.gray { color: var(--gray); }
.bg-black { background-color: var(--black); }
.bg-white { 
  --border1: rgba(0, 0, 0, 0.20);
  background-color: var(--white);
  color: var(--white);
}
.bg-white-noise {
  --border1: rgba(0, 0, 0, 0.20);
  background: var(--white);
  color: var(--black);
  position: relative;
}
.bg-white-noise::before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/noise.png) repeat top left / 400px;
  position: absolute;
  top: 0;
  left: 0;
  opacity: .2;
}

/* ==========================================================================
   WP Post
========================================================================== */
.single article {
  padding-top: 100px;
}
.post-thumbnail {
  min-height: 100px;
}
.post-thumbnail img {
  width: 100%;
  aspect-ratio: 25/14;
  object-fit: cover;
}
@media (max-width: 991px) {
  .post-thumbnail {
    min-height: 3rem;
    width: 100vw;
    margin-left: -7.5vw;
  }
}


.article__header {
  background: rgba(0, 0, 0, 0.20);
  backdrop-filter: blur(50px);
  -webkit-backdrop-filter: blur(50px);
  padding: 2.25rem 7.5vw;
  margin: -3rem 0 2rem -7.5vw;
  position: relative;
  z-index: 0;
}
.entry__meta {
  display: flex;
  gap: 2em;
  font-family: var(--font1);
  font-size: .929rem;
  margin-bottom: .75em;
}
.entry__ttl {
  font-weight: 900;
  letter-spacing: .1em;
}
@media (max-width: 991px) {
  .entry__ttl br {
    display: none;
  }
}
@media (min-width: 992px) {
  .article__header {
    width: 100%;
    padding: 78px min(80px, 5.5vw);
    margin: -100px 0 1rem max(-80px, -5.5vw);
  }
}

.entry__content {
  line-height: 2.5;
  letter-spacing: .1em;
}
.entry__content ul,
.entry__content ol {
  padding-left: 1.125em;
}
.entry__content h1 { font-size: 1.492em; line-height: 1.5; }
.entry__content h2 { font-size: 1.286em; line-height: 1.7; }
.entry__content h3 { font-size: 1.214em; line-height: 1.9; }
.entry__content h4 { font-size: 1.143em; line-height: 2.1; }
.entry__content h5 { font-size: 1.071em; line-height: 2.2; }
.entry__content h6 { font-size: 1em; line-height: 2.4; }

@media (min-width: 992px) {
  .entry__content h1 { font-size: 1.571em; }
  .entry__content h2 { font-size: 1.492em; }
  .entry__content h3 { font-size: 1.286em; }
  .entry__content h4 { font-size: 1.214em; }
  .entry__content h5 { font-size: 1.143em; }
  .entry__content h6 { font-size: 1.071em; }
}

.entry__content p {
  margin-bottom: 3em;
}
.entry__content a:not(.btn):not(.wp-block-button__link) {
  text-decoration: underline;
}

.count-ttl {
  font-weight: 900;
  letter-spacing: .2em;
  border-bottom: 1px solid var(--border1);
  padding-bottom: 1.75rem;
  margin-bottom: 1.75rem;
}

/* not found */
#post-not-found {
  text-align: center;
  margin: 0 auto;
  padding: 1em 0;
}

/* Gutenberg Block styles*/
.has-red-color                              {color: #e8383d !important;}
.has-red-background-color        {background-color: #e8383d !important;}
.has-pink-color                             {color: #d83473 !important;}
.has-pink-background-color       {background-color: #d83473 !important;}
.has-purple-color                           {color: #915da3 !important;}
.has-purple-background-color     {background-color: #915da3 !important;}
.has-blue-color                             {color: #006eb0 !important;}
.has-blue-background-color       {background-color: #006eb0 !important;}
.has-light-blue-color                       {color: #409ecc !important;}
.has-light-blue-background-color {background-color: #409ecc !important;}
.has-green-color                            {color: #009854 !important;}
.has-green-background-color      {background-color: #009854 !important;}
.has-yellow-color                           {color: #ffdc00 !important;}
.has-yellow-background-color     {background-color: #ffdc00 !important;}
.has-dark-gray-color                        {color: #444444 !important;}
.has-dark-gray-background-color  {background-color: #444444 !important;}
.has-gray-color                             {color: #777777 !important;}
.has-gray-background-color       {background-color: #777777 !important;}
.has-light-gray-color                       {color: #cccccc !important;}
.has-light-gray-background-color {background-color: #cccccc !important;}
.has-white-color                            {color: #ffffff !important;}
.has-white-background-color      {background-color: #ffffff !important;}

.has-x-small-font-size {font-size: 10px;}
.has-small-font-size   {font-size: 12px;}
.has-regular-font-size {font-size: 14px;}
.has-large-font-size   {font-size: 18px;}
.has-x-large-font-size {font-size: 20px;}
.has-huge-font-size    {font-size: 28px;}

.wp-block-heading {
  margin: 0 0 1.5em;
}
.wp-block-image {
  margin: 0 0 3em;
}
.wp-block-image figcaption {
  color: inherit;
  text-align: left;
  margin-bottom: 1.5em;
  margin-top: 1.5em;
}



/* ==========================================================================
   Pagination - Archive
========================================================================== */
.pagination ul {
  width: 100%;
  padding: 0 6em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  text-align: center;
  white-space: nowrap;
  position: relative;
}
.pagination li {
  padding: 0;
  margin: 0;
  overflow: hidden;
}
.pagination li .page-numbers {
  margin: 0;
  text-decoration: none;
  padding: 0;
  font-family: var(--font1);
  line-height: 1em;
  font-size: 1em;
  font-weight: 700;
  padding: .75em .25em;
  min-width: 1.5em;
  display: block;
  border-bottom: 1px solid transparent;
  position: relative;
  transition: .3s;
}
.pagination li .page-numbers:not(.current):not(.next):not(.prev):not(.back) {
  color: var(--gray);
}
.pagination li .page-numbers.current,
.pagination li .page-numbers:not(.current):not(.next):not(.prev):not(.back):hover,
.pagination li .page-numbers:not(.current):not(.next):not(.prev):not(.back):focus {
  color: var(--white);
}
.pagination li .page-numbers.current {
  cursor: default;
  border-color: currentcolor;
}
.pagination li .page-numbers.next,
.pagination li .page-numbers.prev {
  border-bottom: none;
  background-repeat: no-repeat;
  background-size: .714em;
  padding: .75em 0;
  transition-property: padding, color;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.pagination li span.page-numbers.next,
.pagination li span.page-numbers.prev {
  cursor: none;
  opacity: 0;
}
.pagination li .page-numbers.next {
  padding-right: 1.5em;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%229%22%20viewBox%3D%220%200%2012%209%22%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22M11.2373%204.5C11.2373%204.4298%2011.2242%204.35979%2011.1992%204.29395C11.1743%204.22815%2011.1378%204.16664%2011.0898%204.11426L8.18359%200.933594C8.08656%200.827363%207.95009%200.762695%207.80273%200.762695C7.65549%200.762783%207.51885%200.827426%207.42188%200.933594C7.3257%201.03903%207.27544%201.17775%207.27539%201.31836C7.27539%201.45916%207.32549%201.59858%207.42188%201.7041L9.46973%203.94434L1.29102%203.94434C1.14376%203.94434%201.00712%204.00907%200.910156%204.11523C0.813841%204.22068%200.762695%204.35931%200.762695%204.5C0.762696%204.64069%200.813841%204.77932%200.910156%204.88477C1.00712%204.99093%201.14376%205.05566%201.29102%205.05566L9.46973%205.05566L7.42188%207.2959C7.32549%207.40142%207.27539%207.54084%207.27539%207.68164C7.27544%207.82225%207.3257%207.96097%207.42187%208.06641C7.51885%208.17257%207.65549%208.23722%207.80273%208.2373C7.95009%208.2373%208.08656%208.17264%208.18359%208.06641L11.0889%204.88574H11.0898C11.1378%204.83336%2011.1743%204.77185%2011.1992%204.70605C11.2242%204.64021%2011.2373%204.5702%2011.2373%204.5Z%22%20fill%3D%22white%22%20stroke%3D%22white%22%20stroke-width%3D%220.474342%22%2F%3E%0A%3C%2Fsvg%3E');
  background-position: right center;
  right: 0;
}
.pagination li .page-numbers.prev {
  padding-left: 1.5em;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%229%22%20viewBox%3D%220%200%2012%209%22%20fill%3D%22none%22%3E%0A%3Cpath%20d%3D%22M0.762695%204.5C0.762695%204.4298%200.775825%204.35979%200.800781%204.29395C0.825742%204.22815%200.862193%204.16664%200.910156%204.11426L3.81641%200.933594C3.91344%200.827363%204.04991%200.762695%204.19727%200.762695C4.34451%200.762783%204.48115%200.827426%204.57812%200.933594C4.6743%201.03903%204.72456%201.17775%204.72461%201.31836C4.72461%201.45916%204.67451%201.59858%204.57812%201.7041L2.53027%203.94434L10.709%203.94434C10.8562%203.94434%2010.9929%204.00907%2011.0898%204.11523C11.1862%204.22068%2011.2373%204.35931%2011.2373%204.5C11.2373%204.64069%2011.1862%204.77932%2011.0898%204.88477C10.9929%204.99093%2010.8562%205.05566%2010.709%205.05566L2.53027%205.05566L4.57812%207.2959C4.67451%207.40142%204.72461%207.54084%204.72461%207.68164C4.72456%207.82225%204.6743%207.96097%204.57813%208.06641C4.48115%208.17257%204.34451%208.23722%204.19727%208.2373C4.04991%208.2373%203.91344%208.17264%203.81641%208.06641L0.911133%204.88574H0.910156C0.862193%204.83336%200.825742%204.77185%200.800781%204.70605C0.775825%204.64021%200.762695%204.5702%200.762695%204.5Z%22%20fill%3D%22white%22%20stroke%3D%22white%22%20stroke-width%3D%220.474342%22%2F%3E%0A%3C%2Fsvg%3E');
  background-position: left center;
  left: 0;
}
.pagination li .page-numbers.next:hover {
  padding-right: 1.25em;
}
.pagination li .page-numbers.prev:hover {
  padding-left: 1.25em;
}
.pagination li .page-numbers svg {
  display: block;
  margin: 0 auto 1em;
}
.pagination li .page-numbers.back:hover {
  color: var(--gray);
}

/* ==========================================================================
   Form
========================================================================== */
.form-box {
  text-align: left;
  overflow: hidden;
}
.form-box .form-group {
  margin-bottom: 2em;
}
.form-box .form-group:last-of-type {
  border-bottom: 0;
}
.form-box .row {
  margin-bottom: 15px;
}
.form-box .form-label {
  display: block;
  font-weight: 700;
  letter-spacing: .1em;
  margin-bottom: .5em;
  position: relative;
}
.form-box .form-label .req {
  display: inline-block;
  vertical-align: top;
  margin-left: .5em;
}
.req {
  font-weight: 700;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  background: var(--dd-gray);
  color: var(--white);
  border: 1px solid transparent;
  border-radius: 0;
  outline: 0;
  box-sizing: border-box;
  font-size: 1em;
  letter-spacing: .1em;
  max-width: 100%;
  transition: border 0.2s ease-out;
}
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: var(--border1);
}
label {
  cursor: pointer;
}
input[type="text"], input[type="email"], input[type="tel"], input[type="number"] {
  width: 100%;
  height: 48px;
  padding: 0 1em;
}
input[type="radio"],
input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  background-color: transparent;
  border: 1px solid var(--border1);
  border-radius: 0;
  outline: 0;
  box-sizing: border-box;
  color: inherit;
  width: 25px;
  height: 25px;
  margin: 0 1em 0 0 !important;
  position: relative;
}
input[type="checkbox"]:before {
  position: absolute;
  top: 4px;
  left: 8px;
  transform: rotate(45deg);
  width: 7px;
  height: 11px;
  border-right: 2px solid var(--black);
  border-bottom: 2px solid var(--black);
  content: '';
  transition: border 0.2s ease-out;
}
input[type="checkbox"]:checked:before {
  border-color: var(--white);
}
input[type="radio"] {
  border-radius: 100%;
}
input[type="radio"]:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  background: var(--black);
  content: '';
  transform: scale(0.5);
  transition: 0.15s;
}
input[type="radio"]:checked:before {
  background: var(--white);
  transform: scale(1.0);
}
textarea {
  padding: 14px;
  width: 100%;
  height: auto;
}
select {
  width: auto;
  height: 48px;
  min-width: 18em;
  padding: 0 40px 0 1em;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%229%22%20viewBox%3D%220%200%2010%209%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M5.36328%200.386917H9.7502L5.36328%208.72792L0.976365%200.386917H5.36328Z%22%20fill%3D%22%23D9D9D9%22%2F%3E%3C%2Fsvg%3E');  background-repeat: no-repeat;
  background-position: center right 10px;
  background-size: 9px;
}
select::-ms-expand {
  display: none;
}
@media (max-width: 575px) {
  select:not(.horizontal-item) {
    width: 100%;
  }
}
.form-box .form-field label {
  display: flex;
  align-items: center;
}
.form-box .buttons {
  margin-top: 2em;
  row-gap: 2em;
  text-align: center;
}
.form-box .buttons .btn {
  font-size: 1rem;
}
.form-box .buttons .btn-back {
  width: auto;
  min-width: initial;
  color: var(--gray);
}
::placeholder {
  color: var(--gray);
}
::-ms-input-placeholder {
  color: var(--gray);
}
:-ms-input-placeholder {
  color: var(--gray);
}

@media (min-width: 576px) {
  .form-box .form-field .d-sm-flex + .d-sm-flex {
    margin-top: 1em;
  }
}
@media (min-width: 768px) {
  .form-box .form-group {
    display: flex;
  }
  .form-box .form-group .form-label {
    flex: 0 0 27%;
    width: 27%;
    margin-bottom: 0;
    line-height: 48px;
  }
  .form-box .form-group .form-field {
    flex-basis: 100%;
    padding-left: 2em;
  }
  .form-box .buttons .btn:not(.btn-back) {
    width: 27em;
  }
}
@media (min-width: 992px) {
  .form-box .form-group {
    margin-bottom: 3em;
  }
}


.privacy-check a {
  color: inherit;
  text-decoration: underline;
}

.mw_wp_form_send_error {
  text-align: center;
}
.mw_wp_form .error {
  color: var(--red);
  font-size: .857em;
  line-height: 1.25;
  margin: 5px 0;
}
.input-only, .confirm-only {
  display: none;
}
.mw_wp_form_input .input-only {
  display: block;
}
.mw_wp_form_confirm .confirm-only {
  display: block;
}
.mw_wp_form_confirm .form-box .form-group .form-label {
  line-height: inherit;
}
.mw_wp_form_confirm .form-box .form-group .form-field {
  color: #AAA;
}
.mw_wp_form_confirm .buttons {
  margin-top: 4em;
}
.mwform-radio-field:first-of-type {
  margin-top: 6px;
}
.mwform-radio-field:last-of-type {
  margin-bottom: 6px;
}
.horizontal-item {
  width: auto !important;
  display: inline-flex;
}
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
}
.mwform-radio-field,
.mwform-checkbox-field {
  padding: calc((40px - 16px)/2) 0;
}
.mwform-radio-field-text,
.mwform-checkbox-field-text {
  font-size: 1em;
  padding-right: .5em;
  margin-right: 1.5em;
  line-height: 25px;
  font-weight: 700;
}
@media (min-width: 992px) {
  .mw_wp_form_confirm .form-box .form-group .form-label {
    flex: 0 0 21.5%;
    width: 21.5%;
  }
}
@media (min-width: 992px) {
  .mwform-radio-field,
  .mwform-checkbox-field {
    padding: calc((32px - 16px)/2) 0;
  }
  .mw_wp_form_confirm .form-box .form-group {
    margin-bottom: 2em;
  }
}



/****************************************************************************
   PRINT STYLE
****************************************************************************/
@media print {
  * {
    background: transparent !important;
    color: black !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important; }
  a, a:visited {
    color: #444 !important;
    text-decoration: underline; }
    a:after, a:visited:after {
      content: " (" attr(href) ")"; }
    a abbr[title]:after, a:visited abbr[title]:after {
      content: " (" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr, img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p, h2, h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .sidebar,
  .page-navigation,
  .wp-prev-next,
  .respond-form,
  nav {
    display: none; }
}
/*
 * プライバシーポリシー ページ
 * スタイル調整
 */

/* SP版 (991px以下) の調整 */

/* 1. 番号(::before)とテキストの垂直位置を揃える (SP) */
#page-privacypolicy .numbers ._count::before {
  line-height: 1.8; /* 1.3 と 2.8 の間の値で再調整 */
}

/* 2. 番号付き見出しの左側インデントを詰める (SP) */
#page-privacypolicy .numbers ._count {
  padding-left: 3em; 
}


/* PCサイズ（992px以上）での調整 */
@media (min-width: 992px) {
  /* 1. 番号(::before)とテキストの垂直位置を揃える (PC) */
  #page-privacypolicy .numbers ._count::before {
    line-height: 1.5; /* 1.5 と 2.3 の間の値で再調整 */
  }

  /* 2. 番号付き見出しの左側インデントを詰める (PC) */
  #page-privacypolicy .numbers ._count {
    padding-left: 3em; 
  }
}