@charset "UTF-8";
/* ▼▼▼▼他のscssで呼び出す時の記述▼▼▼▼
@include set.pc() {}
@include set.sp(){}
▲▲▲▲他のscssで呼び出す時の記述▲▲▲▲ */
/* ▼▼▼▼他のscssで呼び出す時の記述▼▼▼▼
例）width:vw_pc(00);
例）width:vw_sp(00);
▲▲▲▲他のscssで呼び出す時の記述▲▲▲▲ */
/* ▼▼▼▼他のscssで呼び出す時の記述▼▼▼▼
例）font-size:font_rem(14); //14pxを指定したい時
▲▲▲▲他のscssで呼び出す時の記述▲▲▲▲ */
/* ▼▼▼▼他のscssで呼び出す時の記述▼▼▼▼
@include animation(anime-opening_face 4s ease 0.5s);
@include keyframes(anime-opening_face){
    0%  { transform: translate(-50%,100%); }
    30% { transform: translate(-50%,0); }
    70% { transform: translate(-50%,0); }
    100%{ transform: translate(-50%,100%); }
}
▲▲▲▲他のscssで呼び出す時の記述▲▲▲▲ */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho&display=swap");
/*================================

font

================================*/
.extend-font-mincho, .l-header {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

/*================================

use

================================*/
/*==============================

reset

==============================*/
* {
  box-sizing: border-box;
  min-height: 0vw; /* Safari clamp関数対策 */
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 14px;
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
}

body {
  font-size: calc(16 / 14 * 1rem);
  color: #ffffff;
  background: #ffffff;
  font-feature-settings: "palt";
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  line-height: 150%;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.1em;
}

img {
  width: 100%;
  max-width: 100%;
  vertical-align: bottom;
  height: auto;
}

iframe {
  vertical-align: bottom;
}

picture {
  display: inline-block;
  width: 100%;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
  display: inline;
  color: #ffffff;
  transition: all 0.25s;
  cursor: pointer;
}
a:hover {
  opacity: 0.5;
}

a:focus {
  outline: none;
}

sup,
sub {
  height: 0;
  line-height: 1;
  vertical-align: baseline;
  position: relative;
}

sup {
  bottom: 1ex;
}

sub {
  top: 0.5ex;
}

p {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  margin: 0;
  padding: 0;
}

dl,
dt,
dd {
  margin: 0;
}

/*==============================

module

==============================*/
@media (max-width: 767px) {
  .m-pc_only {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .m-sp_only {
    display: none !important;
  }
}

.m-ib {
  display: inline-block;
}

.m-title--xm {
  font-weight: normal;
  font-size: calc(24 / 14 * 1rem);
  line-height: 150%;
  margin-bottom: 1em;
}
@media (max-width: 767px) {
  .m-title--xm {
    font-size: calc(24 / 14 * 1rem);
  }
}
.m-title--m {
  font-size: calc(18 / 14 * 1rem);
  line-height: 150%;
  padding-top: 1em;
}

.m-text {
  padding: 1em 0;
}
.m-text--center {
  text-align: center;
}
.m-text--right {
  text-align: right;
}
.m-text--s {
  font-size: calc(12 / 14 * 1rem);
  line-height: 150%;
}

ul.m-list {
  padding: 1em 0;
}
ul.m-list > li {
  position: relative;
  padding-left: 1em;
}
ul.m-list > li::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 0.75em;
}
[data-bg=white] ul.m-list > li::before {
  background: #000000;
}

.m-btn {
  width: 100%;
  max-width: 14em;
  height: 4em;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 1px #000000;
  background-color: #ffffff;
  color: #000000;
  line-height: 140%;
  position: relative;
  z-index: 1;
  cursor: pointer;
}
@media (max-width: 767px) {
  .m-btn {
    height: 3em;
  }
}
.m-btn::after {
  content: "";
  width: 0;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
.m-btn--black {
  border: none;
  background: #000000;
  color: #ffffff;
}
.m-btn--black::after {
  background: rgba(255, 255, 255, 0.3);
}
.m-btn:hover {
  opacity: 1;
}
.m-btn:hover::after {
  width: 100%;
  left: 0;
}

/*==============================

m-archive

==============================*/
ul.m-archive {
  padding: 1em 0;
}
ul.m-archive > li {
  display: flex;
  padding: 2.5em 0;
  border-bottom: 1px solid #ffffff;
  gap: 2em;
  align-items: flex-start;
}
@media (max-width: 767px) {
  ul.m-archive > li {
    flex-direction: column;
    gap: 0.5em;
  }
}
ul.m-archive > li:first-of-type {
  border-top: 1px solid #ffffff;
}

/*================================

common pager

================================*/
.m-pagination {
  margin-top: var(--margin_xl);
}
.m-pagination .nav-links {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5em;
  flex-wrap: wrap;
  padding: 0 4em;
}
.m-pagination .nav-links .page-numbers {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.m-pagination .nav-links .page-numbers.prev, .m-pagination .nav-links .page-numbers.next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
}
.m-pagination .nav-links .page-numbers.prev::after, .m-pagination .nav-links .page-numbers.next::after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  width: 0.5em;
  height: 0.5em;
  background: #ffffff;
}
.m-pagination .nav-links .page-numbers.prev {
  left: 0;
  padding-left: 1em;
}
.m-pagination .nav-links .page-numbers.prev::after {
  left: 0;
  transform: translate(0, -50%);
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
.m-pagination .nav-links .page-numbers.next {
  left: auto;
  right: 0;
  padding-right: 1em;
}
.m-pagination .nav-links .page-numbers.next::after {
  right: 0;
  transform: translate(0, -50%);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.m-pagination .nav-links .page-numbers.current {
  position: relative;
}
.m-pagination .nav-links .page-numbers.current::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  display: block;
  width: 100%;
  height: 2px;
  background: #ffffff;
  transform: translateY(100%) translateX(-50%);
}

/*==============================

padding

==============================*/
body .m-pt0 {
  padding-top: 0;
}
body .m-pb0 {
  padding-bottom: 0;
}
body .m-pt_xm {
  padding-top: var(--margin_xm);
}
body .m-pb_xm {
  padding-bottom: var(--margin_xm);
}

/*==============================

m-table

==============================*/
.m-table__tr {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #d6d6d6;
  padding: 2em 0;
}
@media (max-width: 767px) {
  .m-table__tr {
    flex-direction: column;
    align-items: flex-start;
    gap: 1em;
  }
}
.m-table__th {
  flex: 0 0 19em;
  position: relative;
  display: flex;
  align-items: center;
  gap: 1em;
}
@media (max-width: 767px) {
  .m-table__th {
    flex: auto;
  }
}
.m-table__td {
  flex: 1;
  display: flex;
  gap: 1em;
}
@media (max-width: 767px) {
  .m-table__td {
    flex-direction: column;
    width: 100%;
  }
}

/*==============================

m-form

==============================*/
.m-form .m-title--xm {
  display: none;
}
.m-form__tr {
  display: flex;
  align-items: center;
  padding-bottom: 3em;
}
@media (max-width: 767px) {
  .m-form__tr {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px 0;
    padding-top: 0;
  }
}
.m-form__tr[data-check=need] .m-form__th::after {
  content: "(必須)";
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 0.5em;
  line-height: 1;
}
.m-form__th {
  padding-right: 1em;
  flex: 0 0 18em;
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media (max-width: 767px) {
  .m-form__th {
    flex: auto;
  }
}
.m-form__th--alignTop {
  margin-top: 1em;
  margin-bottom: auto;
}
@media (max-width: 767px) {
  .m-form__th--alignTop {
    margin-top: 0;
    margin-bottom: 0;
  }
}
.m-form__td {
  width: 100%;
}
.m-form__td__select {
  width: 100%;
  position: relative;
  display: block;
}
.m-form__td__select::after {
  content: "";
  width: 1em;
  height: 1em;
  border-right: solid 1px #000000;
  border-bottom: solid 1px #000000;
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  margin-right: 2em;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: right center;
}
.m-form__td__notes {
  margin-top: 0.5em;
  font-size: calc(11 / 14 * 1rem);
}
.m-form__td__notes--red {
  color: #dc0000;
}
.m-form__privacy {
  margin: 0 auto;
}
.m-form input,
.m-form textarea,
.m-form select,
.m-form label {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  border: solid 1px #000000;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.m-form input[type=text], .m-form input[type=email], .m-form input[type=tel] {
  width: 100%;
  padding: 1em;
}
.m-form input[type=text]::placeholder, .m-form input[type=email]::placeholder, .m-form input[type=tel]::placeholder {
  color: #aaaaaa;
}
.m-form textarea {
  width: 100%;
  min-height: 15em;
  padding: 1em;
}
.m-form textarea::placeholder {
  color: #aaaaaa;
}
.m-form__submit {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  margin-top: 4em;
}
@media (max-width: 767px) {
  .m-form__submit {
    flex-direction: column;
    margin-top: 2em;
  }
}
.m-form__submit input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: none;
  color: inherit;
  width: 100%;
  height: 100%;
  padding: 0;
}
.m-form__submit input[type=submit]:hover {
  cursor: pointer;
}
[data-form=input] .m-form__submit #js-form_back,
[data-form=input] .m-form__submit #js-form_submit {
  display: none;
}
.m-form__submit #js-form_confirm[data-confirm=inactive] {
  opacity: 0.2;
  pointer-events: none;
}
[data-form=confirm] .m-form__submit #js-form_confirm {
  display: none;
}
[data-form=confirm] .m-form {
  position: relative;
  padding: 6em 0;
  margin-top: 4em;
}
@media (max-width: 767px) {
  [data-form=confirm] .m-form {
    padding: var(--wrapper_padding_x) 0;
    margin-top: 0;
  }
}
[data-form=confirm] .m-form::after {
  content: "";
  width: calc(100% + 8em);
  height: 100%;
  border: 1px solid #d6d6d6;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
@media (max-width: 767px) {
  [data-form=confirm] .m-form::after {
    width: calc(100% + 30px);
  }
}
[data-form=confirm] .m-form .m-title--xm {
  position: absolute;
  top: 0;
  left: 50%;
  padding-top: 0;
  display: inline-block;
  transform: translate(-50%, -50%);
  background: #ffffff;
  padding: 0 2em;
  width: max-content;
}
@media (max-width: 767px) {
  [data-form=confirm] .m-form .m-title--xm {
    padding: 0 1em;
  }
}
[data-form=confirm] .m-form input:not([type=submit]),
[data-form=confirm] .m-form textarea:not([type=submit]),
[data-form=confirm] .m-form select:not([type=submit]),
[data-form=confirm] .m-form label:not([type=submit]) {
  pointer-events: none;
  border: none;
  background-color: rgba(0, 0, 0, 0.04);
}
[data-form=confirm] .m-form__tr {
  padding: 1em 0;
}
[data-form=confirm] .m-form__tr[data-check=need] .m-form__th::after {
  display: none;
}
[data-form=confirm] .m-form__tr [type=radio]:not(:checked) {
  border-color: #d6d6d6;
}
[data-form=confirm] .m-form__tr [type=radio]:not(:checked) + * {
  color: #d6d6d6;
}
[data-form=confirm] .m-form__tr [type=checkbox]:not(:checked) {
  border-color: #d6d6d6;
}
[data-form=confirm] .m-form__tr [type=checkbox]:not(:checked) + * {
  color: #d6d6d6;
}
[data-form=confirm] .m-form__tr .m-form__td__select::after {
  display: none;
}
[data-form=confirm] .m-form__tr .m-form__td__notes {
  display: none;
}
[data-form=confirm] .m-form ::placeholder {
  color: transparent !important;
}
.m-form select {
  display: inline-block;
  width: 100%;
  cursor: pointer;
  outline: 0;
  border-radius: 0;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #ffffff;
  color: #000000;
  margin: 0;
  vertical-align: middle;
  font-size: inherit;
  padding: 1em;
  padding-right: 2.5em;
}
.m-form select::-ms-expand {
  display: none;
}
.m-form .wpcf7-list-item {
  margin: 0;
}
.m-form .wpcf7-form-control-wrap {
  width: 100%;
  display: flex;
  align-items: center;
}
.m-form .wpcf7-form-control-wrap[data-name=post-code] {
  width: 50%;
}
@media (max-width: 767px) {
  .m-form .wpcf7-form-control-wrap[data-name=post-code] {
    width: 100%;
  }
}
.m-form .wpcf7-form-control-wrap + .m-btn {
  width: 50%;
  max-width: none;
  border-width: 1px;
}
.m-form .wpcf7-radio {
  width: 100%;
  display: flex;
  gap: 1em 2em;
}
.m-form .wpcf7-radio label {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5em;
  line-height: 1;
  cursor: pointer;
}
.m-form .wpcf7-radio label input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  vertical-align: -2px;
  position: relative;
  width: 1.8em;
  height: 1.8em;
  border: 1px solid #ffffff;
  background: #ffffff;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
.m-form .wpcf7-radio label input[type=radio]:checked::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 50%;
  margin-left: 50%;
  transform: translate(-50%, -50%);
  width: 1em;
  height: 1em;
  background: #ffffff;
  border-radius: 50%;
}
.m-form .wpcf7-checkbox {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
}
.m-form .wpcf7-checkbox label {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5em;
  line-height: 1;
  cursor: pointer;
}
.m-form .wpcf7-checkbox label input[type=checkbox] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  position: relative;
  width: 1.8em;
  height: 1.8em;
  border: 1px solid #ffffff;
  background: #ffffff;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
.m-form .wpcf7-checkbox label input[type=checkbox]:checked::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin-top: 50%;
  margin-left: 50%;
  transform: translate(-50%, -50%);
  width: 1em;
  height: 1em;
  background: #ffffff;
}
.m-form .wpcf7-acceptance .wpcf7-list-item label {
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.m-form .wpcf7-acceptance .wpcf7-list-item label input[type=checkbox] {
  width: 1em;
  height: 1em;
  margin: 0 0.5em 0 0;
  position: relative;
  cursor: pointer;
}
.m-form .wpcf7-acceptance .wpcf7-list-item label input[type=checkbox]:checked::after {
  content: "";
  width: 0.3em;
  height: 0.5em;
  border-right: 2px solid #000000;
  border-bottom: 2px solid #000000;
  position: absolute;
  top: calc(50% - 1px);
  left: 50%;
  transform: translate(-50%, -50%) rotate(50deg);
}
.m-form .wpcf7-acceptance .wpcf7-list-item a {
  color: inherit;
  position: relative;
}
.m-form .wpcf7-acceptance .wpcf7-list-item a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #000000;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scale(1, 1);
  transform-origin: top left;
  transition: transform 0.3s;
}
.m-form .wpcf7-acceptance .wpcf7-list-item a:hover::after {
  transform-origin: top right;
  transform: scale(0, 1);
}
[data-form=confirm] .m-form .wpcf7-acceptance .wpcf7-list-item label {
  background: none;
}
[data-form=confirm] .m-form .wpcf7-acceptance .wpcf7-list-item label input[type=checkbox] {
  border: solid 1px #000000;
  background: none;
}
[data-form=confirm] .m-form .wpcf7-acceptance .wpcf7-list-item a::after {
  display: none;
}
.m-form .wpcf7-not-valid-tip {
  display: none !important;
}
.m-form .wpcf7-spinner {
  display: none !important;
}

/*==============================

m-photo

==============================*/
.m-photo {
  position: relative;
}
.m-photo__name {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0 1em 1em 0;
  color: #ffffff;
  font-size: calc(8 / 14 * 1rem);
}

/*==============================

header

==============================*/
.l-header {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 var(--wrapper_margin_right);
  width: 100%;
  height: 200px;
  border-bottom: 1px solid #d6d6d6;
  gap: 1em;
}
[data-page=news_detail] .l-header {
  height: auto;
  padding: var(--wrapper_padding_x);
}
@media (max-width: 1100px) {
  .l-header {
    padding: 0 var(--wrapper_padding_x);
  }
}
.l-header__sub {
  font-size: calc(20 / 14 * 1rem);
  color: #aaaaaa;
}
@media (max-width: 767px) {
  .l-header__sub {
    font-size: calc(14 / 14 * 1rem);
    line-height: 120%;
  }
}
.l-header__main {
  font-size: calc(40 / 14 * 1rem);
  line-height: 120%;
}
@media (max-width: 767px) {
  .l-header__main {
    font-size: calc(24 / 14 * 1rem);
    line-height: 120%;
  }
}

/*================================

hnav

================================*/
.l-hnav {
  position: relative;
}
.l-hnav__container {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  display: flex;
  justify-content: space-between;
  width: 100%;
  height: 96px;
  padding: 36px 40px;
}
@media (max-width: 767px) {
  .l-hnav__container {
    padding: 36px 24px;
  }
}
[data-menu=close] .l-hnav__container {
  background-color: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(12px);
}
[data-bg=white] [data-menu=close] .l-hnav__container {
  background-color: rgba(255, 255, 255, 0.3);
}
[data-page=home] .l-hnav__container {
  background-color: transparent;
  backdrop-filter: blur(0);
}
.l-hnav__logo {
  position: relative;
  z-index: 999;
  margin-left: 0;
  margin-right: auto;
}
.l-hnav__logo [aria-labelledby=iconTitle-logo-black] {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}
[data-bg=white] .l-hnav__logo [aria-labelledby=iconTitle-logo-black] {
  opacity: 1;
}
[data-menu=open] .l-hnav__logo [aria-labelledby=iconTitle-logo-black] {
  opacity: 0;
}
.l-hnav__logo a:hover {
  opacity: 1;
  fill-opacity: 0.5;
}
.l-hnav__insta {
  position: relative;
  z-index: 999;
  margin-left: auto;
  margin-right: 30px;
}
@media (max-width: 767px) {
  .l-hnav__insta {
    margin-right: 16px;
  }
}
.l-hnav__insta [aria-labelledby=iconTitle-insta-black] {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}
[data-bg=white] .l-hnav__insta [aria-labelledby=iconTitle-insta-black] {
  opacity: 1;
}
[data-menu=open] .l-hnav__insta [aria-labelledby=iconTitle-insta-black] {
  opacity: 0;
}
.l-hnav__nav {
  position: fixed;
  z-index: 10;
  top: 1em;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  width: calc(100% - 2em);
  height: calc(100vh - 2em);
  height: calc(100dvh - 2em);
  overflow: auto;
  transition: all 0.5s;
}
[data-menu=close] .l-hnav__nav {
  opacity: 0;
  pointer-events: none;
}
[data-menu=open] .l-hnav__nav {
  opacity: 1;
}
.l-hnav__nav--main {
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #ffffff;
  gap: 40px;
  padding: 40px;
  font-size: calc(24 / 14 * 1rem);
  line-height: 150%;
}
@media (max-width: 767px) {
  .l-hnav__nav--main {
    font-size: calc(14 / 14 * 1rem);
  }
}
.l-hnav__nav--main a {
  position: relative;
  color: #ffffff;
}
.l-hnav__nav--main a::after {
  display: block;
  content: "";
  width: 0;
  height: 2px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #ffffff;
  transition: width 0.5s;
}
.l-hnav__nav--main a:hover::after {
  width: calc(100% - 10px);
}

/*================================

js-hamburger

================================*/
.js-hamburger {
  position: relative;
  cursor: pointer;
  z-index: 999;
  width: var(--header_height_sp);
  height: var(--header_height_sp);
}
@media (max-width: 767px) {
  .js-hamburger {
    display: block;
  }
}
.js-hamburger__bar {
  position: relative;
  width: var(--header_height_sp);
  height: var(--header_height_sp);
}
.js-hamburger__bar li {
  display: block;
  width: calc(var(--header_height_sp));
  height: 2px;
  background: #ffffff;
  position: absolute;
  transition: all 0.5s;
  left: 50%;
  transform: translateX(-50%);
  transform-origin: center;
}
[data-bg=white] .js-hamburger__bar li {
  background: #000000;
}
.js-hamburger__bar li:nth-child(1) {
  top: 0px;
}
.js-hamburger__bar li:nth-child(2) {
  top: calc(50% - 1px);
}
.js-hamburger__bar li:nth-child(3) {
  top: calc(100% - 2px);
}
[data-menu=open] .js-hamburger__bar li:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) translateX(-50%) rotate(45deg);
  background: #ffffff;
}
[data-menu=open] .js-hamburger__bar li:nth-child(2) {
  top: 50%;
  transform: translateY(-50%) translateX(-50%) rotate(-45deg);
  background: #ffffff;
}
[data-menu=open] .js-hamburger__bar li:nth-child(3) {
  opacity: 0;
}
.js-hamburger__bg {
  position: fixed;
  z-index: 5;
  width: calc(100% - 2em);
  height: calc(100vh - 2em);
  height: calc(100dvh - 2em);
  transition: all 0.5s;
  top: 1em;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  background-color: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
[data-menu=close] .js-hamburger__bg {
  opacity: 0;
  pointer-events: none;
}
[data-menu=open] .js-hamburger__bg {
  opacity: 1;
}
.js-hamburger__cover {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background-color: rgba(0, 0, 0, 0.6);
}
[data-menu=open] .js-hamburger__cover {
  display: block;
}

/*==============================

footer

==============================*/
.l-footer {
  display: block;
  padding: var(--margin_xm) 0;
}

/*==============================

header

==============================*/
[data-inview][data-inview=anime-default] {
  opacity: 0;
  transition: opacity 0.5s;
}
[data-inview][data-inview=anime-default].anime-default {
  opacity: 1;
}
[data-inview][data-inview=anime-leftin] {
  opacity: 0;
  transform: translateX(100px);
  transition: opacity 0.5s, transform 0.5s;
}
[data-inview][data-inview=anime-leftin].anime-leftin {
  opacity: 1;
  transform: translateX(0);
}
[data-inview][data-inview=anime-upin] {
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 0.5s cubic-bezier(0.16, 0.84, 0.44, 1), transform 0.5s cubic-bezier(0.16, 0.84, 0.44, 1);
}
[data-inview][data-inview=anime-upin].anime-upin {
  opacity: 1;
  transform: translateY(0);
}
[data-inview][data-inview=anime-band] {
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  transition: all 1s;
}
[data-inview][data-inview=anime-band].anime-band {
  -webkit-clip-path: inset(0 0% 0 0);
  clip-path: inset(0 0% 0 0);
}
[data-inview][data-delay="1"] {
  transition-delay: 100ms;
}
[data-inview][data-delay="2"] {
  transition-delay: 200ms;
}
[data-inview][data-delay="3"] {
  transition-delay: 300ms;
}
[data-inview][data-delay="4"] {
  transition-delay: 400ms;
}
[data-inview][data-delay="5"] {
  transition-delay: 500ms;
}
[data-inview][data-delay="6"] {
  transition-delay: 600ms;
}
[data-inview][data-delay="7"] {
  transition-delay: 700ms;
}
[data-inview][data-delay="8"] {
  transition-delay: 800ms;
}
[data-inview][data-delay="9"] {
  transition-delay: 900ms;
}
[data-inview][data-delay="10"] {
  transition-delay: 1000ms;
}
[data-inview][data-delay="11"] {
  transition-delay: 1100ms;
}
[data-inview][data-delay="12"] {
  transition-delay: 1200ms;
}
[data-inview][data-delay="13"] {
  transition-delay: 1300ms;
}
[data-inview][data-delay="14"] {
  transition-delay: 1400ms;
}
[data-inview][data-delay="15"] {
  transition-delay: 1500ms;
}
[data-inview][data-delay="16"] {
  transition-delay: 1600ms;
}
[data-inview][data-delay="17"] {
  transition-delay: 1700ms;
}
[data-inview][data-delay="18"] {
  transition-delay: 1800ms;
}
[data-inview][data-delay="19"] {
  transition-delay: 1900ms;
}
[data-inview][data-delay="20"] {
  transition-delay: 2000ms;
}
[data-inview][data-delay="21"] {
  transition-delay: 2100ms;
}
[data-inview][data-delay="22"] {
  transition-delay: 2200ms;
}
[data-inview][data-delay="23"] {
  transition-delay: 2300ms;
}
[data-inview][data-delay="24"] {
  transition-delay: 2400ms;
}
[data-inview][data-delay="25"] {
  transition-delay: 2500ms;
}
[data-inview][data-delay="26"] {
  transition-delay: 2600ms;
}
[data-inview][data-delay="27"] {
  transition-delay: 2700ms;
}
[data-inview][data-delay="28"] {
  transition-delay: 2800ms;
}
[data-inview][data-delay="29"] {
  transition-delay: 2900ms;
}
[data-inview][data-delay="30"] {
  transition-delay: 3000ms;
}
[data-inview][data-delay="31"] {
  transition-delay: 3100ms;
}
[data-inview][data-delay="32"] {
  transition-delay: 3200ms;
}
[data-inview][data-delay="33"] {
  transition-delay: 3300ms;
}
[data-inview][data-delay="34"] {
  transition-delay: 3400ms;
}
[data-inview][data-delay="35"] {
  transition-delay: 3500ms;
}
[data-inview][data-delay="36"] {
  transition-delay: 3600ms;
}
[data-inview][data-delay="37"] {
  transition-delay: 3700ms;
}
[data-inview][data-delay="38"] {
  transition-delay: 3800ms;
}
[data-inview][data-delay="39"] {
  transition-delay: 3900ms;
}
[data-inview][data-delay="40"] {
  transition-delay: 4000ms;
}
[data-inview][data-delay="41"] {
  transition-delay: 4100ms;
}
[data-inview][data-delay="42"] {
  transition-delay: 4200ms;
}
[data-inview][data-delay="43"] {
  transition-delay: 4300ms;
}
[data-inview][data-delay="44"] {
  transition-delay: 4400ms;
}
[data-inview][data-delay="45"] {
  transition-delay: 4500ms;
}
[data-inview][data-delay="46"] {
  transition-delay: 4600ms;
}
[data-inview][data-delay="47"] {
  transition-delay: 4700ms;
}
[data-inview][data-delay="48"] {
  transition-delay: 4800ms;
}
[data-inview][data-delay="49"] {
  transition-delay: 4900ms;
}
[data-inview][data-delay="50"] {
  transition-delay: 5000ms;
}
[data-inview][data-delay="51"] {
  transition-delay: 5100ms;
}
[data-inview][data-delay="52"] {
  transition-delay: 5200ms;
}
[data-inview][data-delay="53"] {
  transition-delay: 5300ms;
}
[data-inview][data-delay="54"] {
  transition-delay: 5400ms;
}
[data-inview][data-delay="55"] {
  transition-delay: 5500ms;
}
[data-inview][data-delay="56"] {
  transition-delay: 5600ms;
}
[data-inview][data-delay="57"] {
  transition-delay: 5700ms;
}
[data-inview][data-delay="58"] {
  transition-delay: 5800ms;
}
[data-inview][data-delay="59"] {
  transition-delay: 5900ms;
}
[data-inview][data-delay="60"] {
  transition-delay: 6000ms;
}
[data-inview][data-delay="61"] {
  transition-delay: 6100ms;
}
[data-inview][data-delay="62"] {
  transition-delay: 6200ms;
}
[data-inview][data-delay="63"] {
  transition-delay: 6300ms;
}
[data-inview][data-delay="64"] {
  transition-delay: 6400ms;
}
[data-inview][data-delay="65"] {
  transition-delay: 6500ms;
}
[data-inview][data-delay="66"] {
  transition-delay: 6600ms;
}
[data-inview][data-delay="67"] {
  transition-delay: 6700ms;
}
[data-inview][data-delay="68"] {
  transition-delay: 6800ms;
}
[data-inview][data-delay="69"] {
  transition-delay: 6900ms;
}
[data-inview][data-delay="70"] {
  transition-delay: 7000ms;
}
[data-inview][data-delay="71"] {
  transition-delay: 7100ms;
}
[data-inview][data-delay="72"] {
  transition-delay: 7200ms;
}
[data-inview][data-delay="73"] {
  transition-delay: 7300ms;
}
[data-inview][data-delay="74"] {
  transition-delay: 7400ms;
}
[data-inview][data-delay="75"] {
  transition-delay: 7500ms;
}
[data-inview][data-delay="76"] {
  transition-delay: 7600ms;
}
[data-inview][data-delay="77"] {
  transition-delay: 7700ms;
}
[data-inview][data-delay="78"] {
  transition-delay: 7800ms;
}
[data-inview][data-delay="79"] {
  transition-delay: 7900ms;
}
[data-inview][data-delay="80"] {
  transition-delay: 8000ms;
}
[data-inview][data-delay="81"] {
  transition-delay: 8100ms;
}
[data-inview][data-delay="82"] {
  transition-delay: 8200ms;
}
[data-inview][data-delay="83"] {
  transition-delay: 8300ms;
}
[data-inview][data-delay="84"] {
  transition-delay: 8400ms;
}
[data-inview][data-delay="85"] {
  transition-delay: 8500ms;
}
[data-inview][data-delay="86"] {
  transition-delay: 8600ms;
}
[data-inview][data-delay="87"] {
  transition-delay: 8700ms;
}
[data-inview][data-delay="88"] {
  transition-delay: 8800ms;
}
[data-inview][data-delay="89"] {
  transition-delay: 8900ms;
}
[data-inview][data-delay="90"] {
  transition-delay: 9000ms;
}
[data-inview][data-delay="91"] {
  transition-delay: 9100ms;
}
[data-inview][data-delay="92"] {
  transition-delay: 9200ms;
}
[data-inview][data-delay="93"] {
  transition-delay: 9300ms;
}
[data-inview][data-delay="94"] {
  transition-delay: 9400ms;
}
[data-inview][data-delay="95"] {
  transition-delay: 9500ms;
}
[data-inview][data-delay="96"] {
  transition-delay: 9600ms;
}
[data-inview][data-delay="97"] {
  transition-delay: 9700ms;
}
[data-inview][data-delay="98"] {
  transition-delay: 9800ms;
}
[data-inview][data-delay="99"] {
  transition-delay: 9900ms;
}
[data-inview][data-speed="1"] {
  transition-duration: 100ms;
}
[data-inview][data-speed="2"] {
  transition-duration: 200ms;
}
[data-inview][data-speed="3"] {
  transition-duration: 300ms;
}
[data-inview][data-speed="4"] {
  transition-duration: 400ms;
}
[data-inview][data-speed="5"] {
  transition-duration: 500ms;
}
[data-inview][data-speed="6"] {
  transition-duration: 600ms;
}
[data-inview][data-speed="7"] {
  transition-duration: 700ms;
}
[data-inview][data-speed="8"] {
  transition-duration: 800ms;
}
[data-inview][data-speed="9"] {
  transition-duration: 900ms;
}
[data-inview][data-speed="10"] {
  transition-duration: 1000ms;
}
[data-inview][data-speed="11"] {
  transition-duration: 1100ms;
}
[data-inview][data-speed="12"] {
  transition-duration: 1200ms;
}
[data-inview][data-speed="13"] {
  transition-duration: 1300ms;
}
[data-inview][data-speed="14"] {
  transition-duration: 1400ms;
}
[data-inview][data-speed="15"] {
  transition-duration: 1500ms;
}
[data-inview][data-speed="16"] {
  transition-duration: 1600ms;
}
[data-inview][data-speed="17"] {
  transition-duration: 1700ms;
}
[data-inview][data-speed="18"] {
  transition-duration: 1800ms;
}
[data-inview][data-speed="19"] {
  transition-duration: 1900ms;
}
[data-inview][data-speed="20"] {
  transition-duration: 2000ms;
}
[data-inview][data-speed="21"] {
  transition-duration: 2100ms;
}
[data-inview][data-speed="22"] {
  transition-duration: 2200ms;
}
[data-inview][data-speed="23"] {
  transition-duration: 2300ms;
}
[data-inview][data-speed="24"] {
  transition-duration: 2400ms;
}
[data-inview][data-speed="25"] {
  transition-duration: 2500ms;
}
[data-inview][data-speed="26"] {
  transition-duration: 2600ms;
}
[data-inview][data-speed="27"] {
  transition-duration: 2700ms;
}
[data-inview][data-speed="28"] {
  transition-duration: 2800ms;
}
[data-inview][data-speed="29"] {
  transition-duration: 2900ms;
}
[data-inview][data-speed="30"] {
  transition-duration: 3000ms;
}
[data-inview][data-speed="31"] {
  transition-duration: 3100ms;
}
[data-inview][data-speed="32"] {
  transition-duration: 3200ms;
}
[data-inview][data-speed="33"] {
  transition-duration: 3300ms;
}
[data-inview][data-speed="34"] {
  transition-duration: 3400ms;
}
[data-inview][data-speed="35"] {
  transition-duration: 3500ms;
}
[data-inview][data-speed="36"] {
  transition-duration: 3600ms;
}
[data-inview][data-speed="37"] {
  transition-duration: 3700ms;
}
[data-inview][data-speed="38"] {
  transition-duration: 3800ms;
}
[data-inview][data-speed="39"] {
  transition-duration: 3900ms;
}
[data-inview][data-speed="40"] {
  transition-duration: 4000ms;
}
[data-inview][data-speed="41"] {
  transition-duration: 4100ms;
}
[data-inview][data-speed="42"] {
  transition-duration: 4200ms;
}
[data-inview][data-speed="43"] {
  transition-duration: 4300ms;
}
[data-inview][data-speed="44"] {
  transition-duration: 4400ms;
}
[data-inview][data-speed="45"] {
  transition-duration: 4500ms;
}
[data-inview][data-speed="46"] {
  transition-duration: 4600ms;
}
[data-inview][data-speed="47"] {
  transition-duration: 4700ms;
}
[data-inview][data-speed="48"] {
  transition-duration: 4800ms;
}
[data-inview][data-speed="49"] {
  transition-duration: 4900ms;
}
[data-inview][data-speed="50"] {
  transition-duration: 5000ms;
}
[data-inview][data-speed="51"] {
  transition-duration: 5100ms;
}
[data-inview][data-speed="52"] {
  transition-duration: 5200ms;
}
[data-inview][data-speed="53"] {
  transition-duration: 5300ms;
}
[data-inview][data-speed="54"] {
  transition-duration: 5400ms;
}
[data-inview][data-speed="55"] {
  transition-duration: 5500ms;
}
[data-inview][data-speed="56"] {
  transition-duration: 5600ms;
}
[data-inview][data-speed="57"] {
  transition-duration: 5700ms;
}
[data-inview][data-speed="58"] {
  transition-duration: 5800ms;
}
[data-inview][data-speed="59"] {
  transition-duration: 5900ms;
}
[data-inview][data-speed="60"] {
  transition-duration: 6000ms;
}
[data-inview][data-speed="61"] {
  transition-duration: 6100ms;
}
[data-inview][data-speed="62"] {
  transition-duration: 6200ms;
}
[data-inview][data-speed="63"] {
  transition-duration: 6300ms;
}
[data-inview][data-speed="64"] {
  transition-duration: 6400ms;
}
[data-inview][data-speed="65"] {
  transition-duration: 6500ms;
}
[data-inview][data-speed="66"] {
  transition-duration: 6600ms;
}
[data-inview][data-speed="67"] {
  transition-duration: 6700ms;
}
[data-inview][data-speed="68"] {
  transition-duration: 6800ms;
}
[data-inview][data-speed="69"] {
  transition-duration: 6900ms;
}
[data-inview][data-speed="70"] {
  transition-duration: 7000ms;
}
[data-inview][data-speed="71"] {
  transition-duration: 7100ms;
}
[data-inview][data-speed="72"] {
  transition-duration: 7200ms;
}
[data-inview][data-speed="73"] {
  transition-duration: 7300ms;
}
[data-inview][data-speed="74"] {
  transition-duration: 7400ms;
}
[data-inview][data-speed="75"] {
  transition-duration: 7500ms;
}
[data-inview][data-speed="76"] {
  transition-duration: 7600ms;
}
[data-inview][data-speed="77"] {
  transition-duration: 7700ms;
}
[data-inview][data-speed="78"] {
  transition-duration: 7800ms;
}
[data-inview][data-speed="79"] {
  transition-duration: 7900ms;
}
[data-inview][data-speed="80"] {
  transition-duration: 8000ms;
}
[data-inview][data-speed="81"] {
  transition-duration: 8100ms;
}
[data-inview][data-speed="82"] {
  transition-duration: 8200ms;
}
[data-inview][data-speed="83"] {
  transition-duration: 8300ms;
}
[data-inview][data-speed="84"] {
  transition-duration: 8400ms;
}
[data-inview][data-speed="85"] {
  transition-duration: 8500ms;
}
[data-inview][data-speed="86"] {
  transition-duration: 8600ms;
}
[data-inview][data-speed="87"] {
  transition-duration: 8700ms;
}
[data-inview][data-speed="88"] {
  transition-duration: 8800ms;
}
[data-inview][data-speed="89"] {
  transition-duration: 8900ms;
}
[data-inview][data-speed="90"] {
  transition-duration: 9000ms;
}
[data-inview][data-speed="91"] {
  transition-duration: 9100ms;
}
[data-inview][data-speed="92"] {
  transition-duration: 9200ms;
}
[data-inview][data-speed="93"] {
  transition-duration: 9300ms;
}
[data-inview][data-speed="94"] {
  transition-duration: 9400ms;
}
[data-inview][data-speed="95"] {
  transition-duration: 9500ms;
}
[data-inview][data-speed="96"] {
  transition-duration: 9600ms;
}
[data-inview][data-speed="97"] {
  transition-duration: 9700ms;
}
[data-inview][data-speed="98"] {
  transition-duration: 9800ms;
}
[data-inview][data-speed="99"] {
  transition-duration: 9900ms;
}

/*================================

lity

================================*/
.lity .lity-content img {
  padding: 20px;
}
.lity .lity-close {
  position: fixed; /* ボタンを固定 */
  top: 20px; /* 上端からの位置 */
  right: 20px; /* 右端からの位置 */
  width: 35px; /* ボタンの幅 */
  height: 35px; /* ボタンの高さ */
  cursor: pointer; /* カーソルをポインターに変更 */
  background: none; /* 背景なし */
  border: none; /* ボーダーなし */
  text-indent: -9999px; /* テキストを隠す */
  overflow: hidden;
}
.lity .lity-close:active {
  top: 20px;
}
.lity .lity-close::before,
.lity .lity-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 35px; /* 線の長さ */
  height: 2px; /* 線の太さ */
  background-color: #ffffff; /* 線の色 */
  transform-origin: center;
}
.lity .lity-close::before {
  transform: translate(-50%, -50%) rotate(45deg); /* 左上から右下への線 */
}
.lity .lity-close::after {
  transform: translate(-50%, -50%) rotate(-45deg); /* 左下から右上への線 */
}

/*================================

common tag svg

================================*/
svg {
  display: block;
  width: 100%;
  height: 100%;
}

svg[aria-labelledby=iconTitle-logo],
svg[aria-labelledby=iconTitle-logo-black] {
  width: 200px;
  height: 24px;
}

#icon-logo path {
  fill: #ffffff;
}

#icon-logo-black path {
  fill: #000000;
}

svg[aria-labelledby=iconTitle-insta],
svg[aria-labelledby=iconTitle-insta-black] {
  width: 24px;
  height: 24px;
}

#icon-insta path,
#icon-insta circle {
  fill: #ffffff;
}

#icon-insta-black path,
#icon-insta-black circle {
  fill: #000000;
}

:root {
  --wrapper_padding_x: 40px;
  --margin_m: 30px;
  --margin_xm: 44px;
  --margin_xl: 100px;
  --header_height_pc: 96px;
  --header_height_sp: 24px;
}
@media (max-width: 767px) {
  :root {
    --wrapper_padding_x: 30px;
    --margin_xm: 2em;
    --margin_xl: 6em;
  }
}

/*================================

layout

================================*/
.l-wrapper {
  overflow: hidden;
}
.l-wrapper:not([data-page=home]) {
  background: #000000;
  padding-top: var(--header_height_pc);
}
.l-wrapper[data-bg=white] {
  background: #ffffff;
  color: #000000;
}

/*================================

main

================================*/
.l-main {
  flex: 1;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  position: relative;
  z-index: 0;
}

/*================================

common style

================================*/
.l-section {
  position: relative;
  padding: var(--margin_xm) 0;
}
.l-section__linkpoint {
  position: absolute;
  top: 0;
  left: 0;
}
.l-section__inner {
  position: relative;
  z-index: 1;
  padding-right: var(--wrapper_padding_x);
  padding-left: var(--wrapper_padding_x);
  max-width: calc(800px + var(--wrapper_padding_x) + var(--wrapper_padding_x));
  margin: 0 auto;
}

/*================================

wordpress style

================================*/
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .alignleft {
    float: left;
    margin: 0.5em 1em 0.5em 0;
  }
}

@media (min-width: 768px) {
  .alignright {
    float: right;
    margin: 0.5em 0 0.5em 1em;
  }
}/*# sourceMappingURL=common.css.map */