@charset "UTF-8";

:root {
  font-size: 16px;
}

/* reset */

html {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  width: 100%;
  background-color: #fff;
  color: #000;
  font-family: EB Garamond, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

* {
  text-rendering: optimizeLegibility;
}

body {
  display: flex;
  top: 0;
  flex-flow: column;
  width: 100%;
  min-height: 100vh;
  text-align: justify;
}

body * {
  line-height: 1.5;
}

html,
body,
header,
footer,
section,
article,
h1,
h2,
h3,
h4,
h5,
h6,
div,
form,
textarea,
input,
ul,
ol,
li,
dl,
dt,
dd,
p,
video,
figure {
  margin: 0;
  padding: 0;
}

html,
body,
header,
footer,
section,
article,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
div,
form,
textarea,
input,
label,
ul,
ol,
li,
dl,
dt,
dd,
dt,
p,
span,
a,
img,
i,
svg,
video,
:before,
:after {
  box-sizing: border-box;
  font-weight: inherit;
  word-break: break-all;
}

h1,
h2,
h3,
h4,
h5,
h6,
table,
th,
td,
input,
textarea {
  font-size: inherit;
}

ul,
li {
  list-style-type: none;
}

a,
input,
textarea {
  outline: none;
}

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

i {
  display: inline-block;
  font-style: normal;
  font-size: inherit;
  line-height: inherit;
}

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

input,
textarea {
  resize: none;
}

textarea {
  vertical-align: top;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
  color: inherit;
}

button {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background-color: transparent;
  color: inherit;
  font-family: unset;
  letter-spacing: .8px;
  cursor: pointer;
}

/* common */

h2 {
  font-weight: bold;
  font-size: 2.25rem;
  line-height: 1.66667;
  letter-spacing: 0.08em;
}

h3 {
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.66667;
  letter-spacing: 0.08em;
}

h5 {
  font-size: 0.8125rem;
  line-height: 2.15385;
  letter-spacing: 0.08em;
}

h6 {
  font-size: 0.75rem;
  line-height: 2.33333;
  letter-spacing: 0.08em;
}

p {
  font-size: 0.9375rem;
  line-height: 1.86667;
  letter-spacing: 0.08em;
}

.sp {
  display: none;
}

.tw-sp {
  display: none;
}

.lg-sp {
  display: none;
}

.site-wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding-top: 114px;
  overflow-x: hidden;
}

.inner {
  width: calc(100% - 100px);
  margin: 0 auto;
}

.inner-narrow {
  width: calc(100% - 160px);
  margin: 0 auto;
}

/***
Decoration
***/

.member-lock {
  flex-shrink: 0;
  width: 18px;
  margin-right: 10px;
}

.new-icon {
  display: flex;
  z-index: 1;
  position: absolute;
  top: 10px;
  right: 10px;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background-color: #fb772f;
  color: #fff;
  font-size: 0.8125rem;
  line-height: 2.15385;
  letter-spacing: 0.08em;
}

/* Slider */

.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */

@font-face {
  font-style: normal;
  font-weight: normal;
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-family: "slick";
}

/* Arrows */

.slick-prev,
.slick-next {
  -webkit-transform: translate(0, -50%);
  display: block;
  position: absolute;
  top: 50%;
  width: 20px;
  height: 20px;
  padding: 0;
  transform: translate(0, -50%);
  border: none;
  outline: none;
  background: transparent;
  color: transparent;
  font-size: 0px;
  line-height: 0px;
  cursor: pointer;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: white;
  font-size: 20px;
  line-height: 1;
  font-family: "slick";
  opacity: 0.75;
}

.slick-prev {
  left: -25px;
}

[dir="rtl"] .slick-prev {
  right: -25px;
  left: auto;
}

.slick-prev:before {
  content: "←";
}

[dir="rtl"] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}

[dir="rtl"] .slick-next {
  right: auto;
  left: -25px;
}

.slick-next:before {
  content: "→";
}

[dir="rtl"] .slick-next:before {
  content: "←";
}

/* Dots */

.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  display: block;
  position: absolute;
  bottom: -25px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}

.slick-dots li button {
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  border: 0;
  outline: none;
  background: transparent;
  color: transparent;
  font-size: 0px;
  line-height: 0px;
  cursor: pointer;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: "•";
  color: black;
  font-size: 6px;
  line-height: 20px;
  font-family: "slick";
  text-align: center;
  opacity: 0.25;
}

.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

/* Slider */

.slick-slider {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-tap-highlight-color: transparent;
  box-sizing: border-box;
  display: block;
  position: relative;
  touch-action: pan-y;
  user-select: none;
}

.slick-list {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  display: block;
  position: relative;
  top: 0;
  left: 0;
  margin-right: auto;
  margin-left: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  height: 100%;
  min-height: 1px;
  float: left;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* footer */

footer {
  margin-top: 100px;
  padding: 100px 0 60px;
  background-color: #000;
  color: #fff;
}

.footer-nav ul {
  -webkit-column-gap: 50px;
  -moz-column-gap: 50px;
  display: flex;
  column-gap: 50px;
  align-items: flex-start;
}

.footer-nav .item {
  font-weight: bold;
  font-size: 0.9375rem;
  letter-spacing: 0.08em;
}

.footer-nav .item a:not(.-twitter) {
  display: inline-block;
  position: relative;
  text-decoration: none;
}

.footer-nav .item a:not(.-twitter)::after {
  -webkit-transform: scale(0, 1);
  -webkit-transform-origin: right top;
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  transform: scale(0, 1);
  transform-origin: right top;
  background: #fff;
  content: '';
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
}

.footer-nav .item a:not(.-twitter):hover::after {
  -webkit-transform-origin: left top;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  transform-origin: left top;
}

.footer-nav .item .parent-element {
  width: 100%;
  min-width: 90px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #fff;
}

.footer-nav .item .parent-element .accordion-arrow img {
  vertical-align: middle;
}

.footer-nav .item .accordion-content {
  display: flex;
  row-gap: 8px;
  flex-direction: column;
}

.footer-nav .item .-twitter figure {
  width: 40px;
}

.footer-nav .item .accordion-content.is-open {
  -webkit-transform: translateX(0) translateY(0);
  visibility: visible;
  position: static;
  height: auto;
  margin: 20px auto 0;
  padding: 0;
  transform: translateX(0) translateY(0);
  opacity: 1;
  transition: all .4s;
}

.footer-nav .item .accordion-content.is-open li {
  margin-bottom: 8px;
}

.footer-nav .item .accordion-content.is-open li:last-child {
  margin-bottom: 0;
}

.twitter {
  width: 80px;
  height: 80px;
  margin-top: 60px;
  margin-left: auto;
}

.footer-copy {
  margin-top: 60px;
  text-align: right;
}

header {
  display: flex;
  z-index: 999;
  position: fixed;
  top: 0;
  justify-content: center;
  width: 100%;
  height: 114px;
  background-color: #fff;
}

header .header-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
}

header .h-logo {
  flex-shrink: 0;
  width: 198px;
}

header .header-right {
  display: flex;
  align-items: center;
}

header .g-nav {
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 1.125rem;
  letter-spacing: 0.08em;
}

header .g-nav > .item {
  margin-left: 36px;
  padding: 40px 0;
  transition: all .3s;
}

header .g-nav > .item > .parent-element {
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  cursor: default;
}

header .g-nav > .item > .parent-element .accordion-arrow img {
  vertical-align: middle;
}

header .g-nav > .item > .accordion-content {
  -webkit-transform: translateX(-50%) translateY(-10px);
  visibility: hidden;
  position: absolute;
  left: 50%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  height: 0;
  margin: 20px auto 0;
  padding: 30px 40px;
  transform: translateX(-50%) translateY(-10px);
  background-color: #222;
  color: #fff;
  text-align: left;
  opacity: 0;
  transition: all .4s;
}

/* common layout */

.two-columns {
  -webkit-column-gap: 100px;
  -moz-column-gap: 100px;
  display: flex;
  column-gap: 100px;
}

#about .content-title {
  margin-bottom: 80px;
  padding-bottom: 20px;
  border-bottom: 12px solid #f2f2f2;
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 0.08em;
  text-align: center;
}

#about .content-title > span {
  margin-left: 20px;
  font-size: 1rem;
  letter-spacing: 0.08em;
}

#about .kv {
  display: flex;
}

#about .kv .kv-text {
  flex: 1 0 35%;
  padding: 70px;
  background-color: #ffd144;
}

#about .kv .kv-text .title {
  margin-bottom: 24px;
  font-size: 2.375rem;
  line-height: 1.15789;
  letter-spacing: 0.08em;
}

#about .kv .kv-text .text {
  font-size: 0.9375rem;
  line-height: 1.73333;
  letter-spacing: 0.08em;
}

#about .introduction {
  text-align: center;
}

#about .introduction .title {
  margin-bottom: 36px;
  padding: 20px 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  font-weight: bold;
  font-size: 1.375rem;
  letter-spacing: 0.08em;
}

#about .introduction .text {
  padding-bottom: 36px;
  border-bottom: 1px solid #000;
  font-size: 0.9375rem;
  line-height: 1.73333;
  letter-spacing: 0.08em;
}

#about .service .service-list .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 auto 80px;
  text-align: center;
}

#about .service .service-list .item:last-child {
  margin-bottom: 0;
}

#about .service .service-list .item .title {
  display: inline-block;
  position: relative;
  margin-bottom: 32px;
  padding: 0 100px;
  overflow: hidden;
  font-size: 2rem;
  letter-spacing: 0.08em;
  text-align: center;
}

#about .service .service-list .item .title::before,
#about .service .service-list .item .title::after {
  -webkit-transform: rotate(20deg);
  position: absolute;
  top: -10px;
  width: 8px;
  height: 100px;
  transform: rotate(20deg);
  background-color: #ffd144;
  content: "";
}

#about .service .service-list .item .title::before {
  left: 30px;
}

#about .service .service-list .item .title::after {
  right: 30px;
}

#about .service .service-list .item .title > span {
  margin-left: 24px;
  font-size: 1rem;
  letter-spacing: 0.08em;
}

#about .service .service-list .item .text {
  text-align: left;
}

#about .service .service-list .item .image {
  width: 480px;
  max-width: 100%;
  margin-top: 60px;
}

#about .experience {
  text-align: center;
}

#about .experience .experience-list {
  display: inline-block;
}

#about .experience .experience-list .item {
  display: flex;
  align-items: center;
  margin-bottom: 36px;
  font-size: 1.125rem;
  letter-spacing: 0.08em;
}

#about .experience .experience-list .item:last-child {
  margin-bottom: 0;
}

#about .experience .experience-list .item:last-child::before {
  background: none;
}

#about .experience .experience-list .item::before {
  display: inline-block;
  width: 32px;
  height: 32px;
  margin-right: 20px;
  background: url("../img/about-check.png") center center/contain no-repeat;
  content: "";
}

#about .membership {
  text-align: center;
}

#about .membership .lead {
  margin-bottom: 40px;
  font-size: 1.125rem;
  letter-spacing: 0.08em;
}

#about .membership .table {
  margin-bottom: 40px;
}

#about .membership .table .row {
  display: flex;
  align-items: stretch;
  border-top: 1px solid #000;
}

#about .membership .table .row.head {
  background-color: #000;
  color: #fff;
}

#about .membership .table .row.price {
  background-color: #ffd144;
}

#about .membership .table .row .item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33.33%;
  padding: 16px 0;
}

#about .membership .table .row .item:first-child {
  border-right: 1px solid #000;
}

#about .membership .table .row .item:last-child {
  border-left: 1px solid #000;
}

#about .membership .membership-link {
  margin-bottom: 60px;
  font-size: 1.125rem;
  letter-spacing: 0.08em;
}

#about .membership .membership-link .item {
  margin-bottom: 12px;
  text-decoration: underline;
}

#about .membership .btn-wrap {
  justify-content: center;
}

/* animation */

.js-animation {
  opacity: 0;
}

.js-animation.-on {
  -webkit-animation: fadeup 0.8s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
  animation: fadeup 0.8s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}

@-webkit-keyframes fadeup {
  0% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    opacity: 0;
  }

  80% {
    opacity: 1;
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeup {
  0% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px);
    opacity: 0;
  }

  80% {
    opacity: 1;
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

@-webkit-keyframes arrowRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }

  45% {
    -webkit-transform: translateX(25%);
    transform: translateX(25%);
    opacity: 0;
  }

  55% {
    -webkit-transform: translateX(-25%);
    transform: translateX(-25%);
    opacity: 0;
  }

  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes arrowRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }

  45% {
    -webkit-transform: translateX(25%);
    transform: translateX(25%);
    opacity: 0;
  }

  55% {
    -webkit-transform: translateX(-25%);
    transform: translateX(-25%);
    opacity: 0;
  }

  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}

@-webkit-keyframes arrowLeft {
  0% {
    -webkit-transform: translateX(0) scale(-1, 1);
    transform: translateX(0) scale(-1, 1);
    opacity: 1;
  }

  45% {
    -webkit-transform: translateX(-25%) scale(-1, 1);
    transform: translateX(-25%) scale(-1, 1);
    opacity: 0;
  }

  55% {
    -webkit-transform: translateX(25%) scale(-1, 1);
    transform: translateX(25%) scale(-1, 1);
    opacity: 0;
  }

  to {
    -webkit-transform: translateX(0) scale(-1, 1);
    transform: translateX(0) scale(-1, 1);
    opacity: 1;
  }
}

@keyframes arrowLeft {
  0% {
    -webkit-transform: translateX(0) scale(-1, 1);
    transform: translateX(0) scale(-1, 1);
    opacity: 1;
  }

  45% {
    -webkit-transform: translateX(-25%) scale(-1, 1);
    transform: translateX(-25%) scale(-1, 1);
    opacity: 0;
  }

  55% {
    -webkit-transform: translateX(25%) scale(-1, 1);
    transform: translateX(25%) scale(-1, 1);
    opacity: 0;
  }

  to {
    -webkit-transform: translateX(0) scale(-1, 1);
    transform: translateX(0) scale(-1, 1);
    opacity: 1;
  }
}

@-webkit-keyframes fadeSlide {
  0% {
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
    opacity: 0;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}

@keyframes fadeSlide {
  0% {
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0);
    opacity: 0;
  }

  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}

#archive .archive-menu .category-area {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 60px;
}

#archive .archive-menu .category-area .category-list {
  display: flex;
}

#archive .archive-menu .category-area .category-list .category-item > a {
  display: inline-block;
  margin-right: 20px;
  padding: 8px 30px;
  border-radius: 100vh;
  background-color: #000;
  color: #fff;
  font-size: 1.125rem;
  letter-spacing: 0.08em;
  transition: all .4s;
}

#archive .archive-menu .category-area .category-list .category-item > a:hover {
  background-color: #fb772f;
  color: #fff;
  transition: all .4s;
}

#archive .archive-menu .category-area .category-list .category-item > a:hover {
  background-color: #fb772f;
  color: #fff;
  transition: all .4s;
}

#archive .archive-menu .category-area .category-list .category-item.active > a {
  background-color: #fb772f;
}

#archive .archive-menu .category-area .category-list .category-item:last-child > a {
  margin-right: 0;
}

#archive .archive-menu .tag-list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding: 45px 50px 20px;
  background-color: #f2f2f2;
}

#archive .archive-menu .tag-list .title {
  display: block;
  width: 100%;
  margin-bottom: 24px;
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.08em;
}

#archive .archive-menu .tag-list .tag-item > a {
  display: inline-block;
  position: relative;
  margin: 0 20px 25px 0;
  padding-left: 32px;
  font-size: 0.9375rem;
  letter-spacing: 0.08em;
}

#archive .archive-menu .tag-list .tag-item > a::before {
  display: flex;
  position: absolute;
  left: 0;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 100vh;
  background-color: #ffd144;
  content: "#";
  color: #fff;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  transition: all .4s;
}

#archive .archive-menu .tag-list .tag-item.active > a::before {
  background-color: #fb772f;
}

#archive .archive-menu .tag-list .tag-item:hover > a::before {
  background-color: #fb772f;
  transition: all .4s;
}

#archive .archive-magazine {
  width: 100%;
  max-width: 1600px;
}

#archive .archive-magazine ul {
  -webkit-column-gap: 60px;
  -moz-column-gap: 60px;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 60px;
  row-gap: 60px;
}

#archive .archive-magazine ul .item:hover .thumbnail figure {
  -webkit-filter: brightness(1.2);
  -webkit-transform: scale(1.04);
  transform: scale(1.04);
  filter: brightness(1.2);
  transition: all .4s;
}

#archive .archive-magazine ul .item .item-inner {
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  display: flex;
  column-gap: 40px;
}

#archive .archive-magazine ul .item .thumbnail {
  position: relative;
  flex-shrink: 0;
  flex-basis: 40%;
  overflow: hidden;
}

#archive .archive-magazine ul .item .thumbnail figure {
  transition: all .4s;
}

#archive .archive-magazine ul .item .information {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

#archive .archive-magazine ul .item .information .time {
  margin-left: 0;
  font-size: 0.9375rem;
  line-height: 1.86667;
  letter-spacing: 0.08em;
}

#archive .archive-magazine ul .item .information .new-icon {
  position: static;
  margin-left: auto;
}

#archive .archive-magazine ul .item .title {
  margin-bottom: 30px;
}

/* articles */

/* Topics */

.topics-article {
  width: 100%;
  max-width: 1020px;
}

.topics-article.-three {
  max-width: 100%;
}

.topics-article.-three ul {
  grid-template-columns: repeat(3, 1fr);
}

.topics-article ul {
  -webkit-column-gap: 60px;
  -moz-column-gap: 60px;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 60px;
  row-gap: 80px;
}

.topics-article ul .item {
  display: flex;
  flex-direction: column;
}

.topics-article ul .item:hover .thumbnail figure {
  -webkit-filter: brightness(1.2);
  -webkit-transform: scale(1.04);
  transform: scale(1.04);
  filter: brightness(1.2);
  transition: all .4s;
}

.topics-article ul .item .thumbnail {
  position: relative;
  margin-bottom: 30px;
  overflow: hidden;
}

.topics-article ul .item .thumbnail figure {
  transition: all .4s;
}

.topics-article ul .item .information {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.topics-article ul .item .information .tag {
  padding: 0 10px;
  background-color: #000;
  color: #fff;
}

.topics-article ul .item .information .time {
  margin-left: auto;
  font-size: 0.9375rem;
  line-height: 1.86667;
  letter-spacing: 0.08em;
}

.topics-article ul .item .title {
  margin-bottom: 30px;
}

/* Magazine */

.magazine-article .item {
  background-color: #fff;
}

.magazine-article .item a {
  display: flex;
  align-items: center;
  column-gap: clamp(30 * 0.7px, calc((30 / 1440) * 100vw), 30px);
  row-gap: 20px;
  padding: 20px;
}

.magazine-article .item .thumbnail {
  flex-shrink: 0;
  max-width: 280px;
}

.magazine-article .item .thumbnail img {
  -o-object-fit: cover;
  object-fit: cover;
}

.magazine-article .item .information-area {
  display: flex;
  position: relative;
  flex-direction: column;
}

.magazine-article .item .information-area .information {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.magazine-article .item .information-area .title {
  margin-bottom: 30px;
}

.magazine-article .item .information-area .text {
  flex-grow: 1;
}
.swiper-slide {
  height: auto !important;
}

/* Event */

.event-article ul {
  -webkit-column-gap: clamp(30px, 4vw, 80px);
  -moz-column-gap: clamp(30px, 4vw, 80px);
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: repeat(3, 1fr);
  column-gap: clamp(30px, 4vw, 80px);
  row-gap: 60px;
}

.event-article ul .item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.event-article ul .item a {
  display: flex;
  flex-direction: column;
}

.event-article ul .item:hover .thumbnail figure {
  -webkit-filter: brightness(1.2);
  -webkit-transform: scale(1.04);
  transform: scale(1.04);
  filter: brightness(1.2);
  transition: all .4s;
}

.event-article ul .item:hover .link > img {
  -webkit-animation: arrowRight 0.7s cubic-bezier(0.45, 0, 0.55, 1) 1 forwards;
  animation: arrowRight 0.7s cubic-bezier(0.45, 0, 0.55, 1) 1 forwards;
}

.event-article ul .item .thumbnail {
  position: relative;
  flex-shrink: 0;
  margin-bottom: 30px;
  overflow: hidden;
}

.event-article ul .item .thumbnail figure {
  width: 100%;
  transition: all .4s;
}

.event-article ul .item .thumbnail img {
  -o-object-fit: cover;
  width: 100%;
  object-fit: cover;
}

.event-article ul .item .information {
  width: 100%;
}

.event-article ul .item .information .tag {
  display: flex;
  padding-bottom: 4px;
  border-bottom: 1px solid #000;
}

.event-article ul .item .information .time {
  font-size: 0.9375rem;
  line-height: 1.86667;
  letter-spacing: 0.08em;
}

.event-article ul .item .information .time span {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
}

.event-article ul .item .information .title {
  margin-top: 20px;
}

.event-article ul .item .link {
  display: flex;
  flex-direction: initial;
  align-items: center;
  justify-content: flex-end;
  margin-top: 18px;
  color: #fb772f;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-align: right;
}

.event-article ul .item .link > img {
  width: 32px;
  margin: -4px 0 0 8px;
}

/* button style */

.view-all {
  margin-top: 100px;
}

.view-all a {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.06em;
}

.view-all .arrow {
  width: 82px;
  margin-left: 20px;
}

.view-all:hover .arrow {
  -webkit-animation: arrowRight 0.7s cubic-bezier(0.45, 0, 0.55, 1) 1 forwards;
  animation: arrowRight 0.7s cubic-bezier(0.45, 0, 0.55, 1) 1 forwards;
}

.login-btn {
  margin-left: 40px;
  padding: 0;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  transition: all .4s;
}

.login-btn .open {
  display: block;
  padding: 10px 20px;
}

.login-btn.-outside {
  margin-right: 5.33333vw;
  margin-left: auto;
}

.login-btn .btn-orange {
  border: 1px solid #fb772f;
  border-radius: 30px;
  color: #fb772f;
}

.login-btn .btn-orange:hover {
  background-color: #fb772f;
  color: #fff;
  transition: all .4s;
}

.login-btn .btn-gray {
  border: 1px solid #666666;
  border-radius: 30px;
  color: #666666;
}

.login-btn .btn-gray:hover {
  background-color: #666666;
  color: #fff;
  transition: all .4s;
}

.btn-wrap {
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  display: flex;
  column-gap: 20px;
  width: 100%;
}

.btn-wrap .button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 300px;
  padding: 20px;
  border-radius: 50px;
  font-weight: bold;
  font-size: 0.9375rem;
  letter-spacing: 0.06em;
  text-align: center;
  transition: all .4s;
}

.btn-wrap .button.free-btn {
  border: 1px solid #fb772f;
  color: #fb772f;
}

.btn-wrap .button.free-btn:hover {
  background-color: #fb772f;
  color: #fff;
  transition: all .4s;
}

.btn-wrap .button.paid-btn {
  border: 1px solid #fb772f;
  background-color: #fb772f;
  color: #fff;
}

.btn-wrap .button.paid-btn:hover {
  border: 1px solid #fb772f;
  background-color: #fff;
  color: #fb772f;
  transition: all .4s;
}

.btn-wrap .button.ail-btn {
  padding: 20px;
  font-size: 0.9375rem;
  letter-spacing: 0.06em;
  text-align: center;
}

.archive-link {
  margin-top: 10px;
  text-align: center;
}

.archive-link .button {
  display: inline-block;
  padding: 16px 50px;
  border: 1px solid #fb772f;
  border-radius: 100vh;
  color: #fb772f;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.08em;
  transition: all .4s;
}

.archive-link .button:hover {
  background-color: #fb772f;
  color: #fff;
  transition: all .4s;
}

.reserve-area {
  margin-bottom: 60px;
  text-align: center;
}

.reserve-area .reserve-button {
  display: inline-block;
  padding: 16px 50px;
  border: 1px solid #fb772f;
  border-radius: 40px;
  background-color: #fb772f;
  color: #fff;
  font-size: 1rem;
  letter-spacing: 0.08em;
  transition: all .4s;
}

.reserve-area .reserve-button:hover {
  border: 1px solid #fb772f;
  background-color: #fff;
  color: #fb772f;
  transition: all .4s;
}

.reserve-area + .archive-link {
  margin-top: 30px;
}

/* carousel */

.mv-wrap {
  position: relative;
  width: 100%;
  height: 600px;
  margin-bottom: 0;
}

.mv-wrap .slider-arrow {
  z-index: 10;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 70px;
  height: 70px;
  margin: auto;
  cursor: pointer;
}

.mv-wrap .slider-arrow.-prev {
  left: 50px;
}

.mv-wrap .slider-arrow.-next {
  right: 50px;
}

.mv-wrap .slider-arrow.-next img {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.mv {
  display: flex !important;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 600px;
}

.mv .mv-img {
  position: absolute;
  width: 100%;
  height: 100%;
}

.mv .mv-img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.mv .mv-text {
  display: flex;
  position: absolute;
  align-items: center;
  color: #fff;
  text-align: center;
}

.mv .mv-text h2 {
  font-size: clamp(1.6rem, 3.2vw, 2.25rem);
}

.js-carousel-2 .slick-track {
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  display: flex;
  column-gap: 40px;
  float: none;
}

.form-wrap {
  width: 100%;
  max-width: 720px;
  margin: 0 auto 100px;
}

.form-wrap .input-area {
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 30px;
  margin-bottom: 40px;
}

.form-wrap .input-area .label span {
  margin-left: 10px;
  color: #fb772f;
  font-weight: bold;
  font-size: 80%;
}

.form-wrap .input-area .input input {
  width: 300px;
}

.form-wrap .btn-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  padding: 20px 50px;
  border: 1px solid #fb772f;
  border-radius: 40px;
  background-color: #fb772f;
  color: #fff;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.77778;
  letter-spacing: 0.08em;
  transition: all .4s;
}

.form-wrap .btn-submit:hover {
  border: 1px solid #fb772f;
  background-color: #fff;
  color: #fb772f;
  transition: all .4s;
}

.form-wrap .textarea {
  text-align: center;
}

.form-wrap .textarea textarea {
  width: 100%;
  max-width: 720px;
  height: 200px;
  margin-bottom: 30px;
  padding: 20px;
  text-align: left;
}

.form-wrap .textarea .terms {
  display: block;
  margin-bottom: 30px;
  text-decoration: underline;
}

.form-wrap .textarea .agreement {
  margin-bottom: 30px;
}

.form-wrap .btn-submit[disabled] {
  border: none;
  background-color: #ccc;
  cursor: not-allowed;
  /* クリック不可のカーソルを表示 */
}

.form-wrap .btn-submit[disabled]:hover {
  color: #fff;
}

.modal-overlay {
  -webkit-animation: modal-open .4s ease;
  display: none;
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  animation: modal-open .4s ease;
  opacity: 0;
  transition: all .4s;
}

.modal-overlay.open {
  display: block;
  opacity: 1;
  transition: all .4s;
}

.modal {
  -webkit-transform: translateY(-50%);
  box-sizing: border-box;
  display: none;
  z-index: 9999;
  position: fixed;
  top: 50%;
  width: calc(100% - 40px);
  max-width: 400px;
  padding: 0;
  overflow: hidden;
  transform: translateY(-50%);
  border: none;
  background: #fff;
  text-align: center;
  opacity: 0;
  transition: all .4s;
}

.modal.open {
  display: block;
  opacity: 1;
  transition: all .4s;
}

.modal .modal-inner {
  padding: 40px;
}

.modal .sml-user-links-title {
  padding-bottom: 20px;
  font-weight: bold;
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  text-align: center;
}

.modal .close {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
}

.modal .close::before,
.modal .close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 1px;
  background: #666666;
  content: "";
}

.modal .close::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal .close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
}

.modal .sml-login .error {
  color: red;
}

.modal .sml-login p:nth-child(1),
.modal .sml-login p:nth-child(2) {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 0;
  padding-bottom: 16px;
}

.modal .sml-login p:nth-child(1) > input,
.modal .sml-login p:nth-child(2) > input {
  width: 100%;
  margin-left: 0;
  padding: 12px;
  border: none;
  border-radius: 4px;
  background-color: #f2f2f2;
}

.modal .sml-login-submit,
.modal .sml-login input[name="wp-submit"] {
  display: inline-block;
  width: 100%;
  margin: 12px 0 20px;
  padding: 12px 50px;
  border: 1px solid #fb772f;
  border-radius: 30px;
  background: #fff;
  box-shadow: none;
  color: #fb772f;
  font-size: 1rem;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: all .4s;
}

.modal .sml-login-submit:last-child,
.modal .sml-login input[name="wp-submit"]:last-child {
  margin-bottom: 0;
}

.modal .sml-login-submit:hover,
.modal .sml-login input[name="wp-submit"]:hover {
  background-color: #fb772f;
  color: #fff;
  transition: all .4s;
}

.modal .sml-login p label {
  display: inline-block;
  width: 100%;
}

.modal .logout-message {
  display: inline-block;
  padding-bottom: 20px;
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: 0.08em;
}

.modal .sml-action-links {
  color: #fb772f;
  transition: all .4s;
}

.modal .sml-action-links:hover {
  opacity: .7;
  transition: all .4s;
}

.modal .sml-action-links > li {
  padding-bottom: 4px;
  font-size: 0.875rem;
  letter-spacing: 0.08em;
}

.modal .sml-action-links > li:last-child {
  border-bottom: 0;
}

/* mv */

.wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 90px;
}

.wp-pagenavi .page,
.wp-pagenavi .current {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0 10px;
  border-radius: 100vh;
  font-size: 16px;
}

.wp-pagenavi .page:first-child,
.wp-pagenavi .current:first-child {
  margin: 0 10px 0 0;
}

.wp-pagenavi .page:last-child,
.wp-pagenavi .current:last-child {
  margin: 0 0 0 10px;
}

.wp-pagenavi .page {
  border: 1px solid #000;
  transition: all .4s;
}

.wp-pagenavi .page:hover {
  border: 1px solid #fb772f;
  background-color: #fb772f;
  color: #fff;
  transition: all .4s;
}

.wp-pagenavi .current {
  border: 1px solid #fb772f;
  background-color: #fb772f;
  color: #fff;
}

.wp-pagenavi .previouspostslink {
  margin-right: 30px;
}

.wp-pagenavi .previouspostslink::before {
  -webkit-transform: scale(-1, 1);
  display: inline-block;
  width: 60px;
  height: 20px;
  margin-right: 20px;
  transform: scale(-1, 1);
  background: url("../img/arrow-line.svg") bottom right no-repeat;
  content: "";
}

.wp-pagenavi .previouspostslink:hover::before {
  -webkit-animation: arrowLeft 0.7s cubic-bezier(0.45, 0, 0.55, 1) 1 forwards;
  animation: arrowLeft 0.7s cubic-bezier(0.45, 0, 0.55, 1) 1 forwards;
}

.wp-pagenavi .nextpostslink {
  margin-left: 30px;
}

.wp-pagenavi .nextpostslink::after {
  display: inline-block;
  width: 60px;
  height: 20px;
  margin-left: 20px;
  background: url("../img/arrow-line.svg") bottom right no-repeat;
  content: "";
}

.wp-pagenavi .nextpostslink:hover::after {
  -webkit-animation: arrowRight 0.7s cubic-bezier(0.45, 0, 0.55, 1) 1 forwards;
  animation: arrowRight 0.7s cubic-bezier(0.45, 0, 0.55, 1) 1 forwards;
}

.banner-wrap a {
  display: flex;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.banner-wrap a .image {
  flex-basis: 50%;
}

.banner-wrap a .image img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.banner-wrap a .text-area {
  display: flex;
  flex-basis: 50%;
  flex-direction: column;
  align-items: center;
  padding: 70px 54px;
  background-color: #fff;
}

.banner-wrap a .text-area .logo {
  width: 110px;
  margin-bottom: 30px;
}

.banner-wrap a .text-area .title {
  margin-bottom: 30px;
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
}

/* section */

.section {
  margin-top: 100px;
}

.section.-magazine {
  padding: 80px 0 100px;
  background-color: #ffd144;
}

.section.-recruitment {
  padding: 100px 40px;
  background-color: #fdae2a;
}

.section.-upside {
  margin-top: 40px;
}

.top-banner {
  margin-top: 60px;
}

.top-banner ul {
  -webkit-column-gap: 40px;
  -moz-column-gap: 40px;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 40px;
  row-gap: 40px;
}

.section-title {
  margin-bottom: 40px;
  font-weight: bold;
  font-size: 1.875rem;
  letter-spacing: 0.06em;
}

#archive .section-title,
#single .section-title,
#about .section-title {
  position: relative;
  margin: 0 50px 0 0;
}

#archive .section-title::before,
#single .section-title::before,
#about .section-title::before {
  -webkit-transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: -630px;
  width: 600px;
  height: 1px;
  transform: translateY(-50%);
  background-color: #000;
  content: "";
}

.side-banner {
  width: 100%;
  max-width: 480px;
  padding: 60px;
  background-color: #f2f2f2;
}

.side-banner ul {
  display: flex;
  row-gap: 40px;
  flex-direction: column;
}

.side-banner .item img {
  width: 100%;
  transition: all .4s;
}

.side-banner .item:hover img {
  -webkit-filter: brightness(1.2);
  filter: brightness(1.2);
  transition: all .4s;
}

.article {
  margin-top: 60px;
}

.single-wrap {
  width: 100%;
}

.single-wrap .information {
  margin-bottom: 40px;
}

.single-wrap .information .tag {
  font-size: 1rem;
  letter-spacing: 0.08em;
}

.single-wrap .information .title {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
  font-weight: bold;
}

.single-wrap .information .title h2 {
  font-size: 1.5rem;
  line-height: 1.33333;
  letter-spacing: 0.08em;
}

.single-wrap .information .bottom {
  display: flex;
  justify-content: space-between;
}

.single-wrap .information .writer {
  display: flex;
  font-weight: bold;
  font-size: 0.9375rem;
  letter-spacing: 0.08em;
  text-align: right;
}

.single-wrap .information .writer .position {
  margin-top: 4px;
  color: #666;
}

.single-wrap .information .writer .person {
  width: 50px;
  margin-left: 10px;
}

.single-wrap .information .writer .person > img {
  border-radius: 50%;
}

.single-wrap .text-area h3 {
  margin: 80px 0 50px;
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}

.single-wrap .text-area h3:first-child {
  margin: 30px 0 20px;
}

.single-wrap .text-area h4 {
  margin: 80px 0 40px;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.77778;
  letter-spacing: 0.08em;
}

.single-wrap .text-area h4:first-child {
  margin: 30px 0 20px;
}

.single-wrap .text-area p {
  margin-bottom: 25px;
  font-size: 1.0625rem;
  line-height: 2;
  letter-spacing: 0.08em;
}

.single-wrap .text-area img {
  width: auto;
  max-width: 100%;
  margin-bottom: 50px;
}

.single-wrap .text-area .video {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

.single-wrap .text-area .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.single-wrap .limited-article {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px;
  border: 1px solid #000;
}

.single-wrap .limited-article .lead {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}

.single-wrap .limited-article .lead .text {
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.single-wrap .limited-article .btn-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-bottom: 30px;
}

.single-wrap .limited-article .btn-area p {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.875;
  letter-spacing: 0.08em;
}

.single-wrap .limited-article .btn-area .btn-wrap {
  justify-content: center;
  width: 100%;
  margin-bottom: 20px;
}

.single-wrap .limited-article .btn-area .explanation-link {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  line-height: 2.14286;
  letter-spacing: 0.08em;
  transition: all .4s;
}

.single-wrap .limited-article .btn-area .explanation-link:hover {
  color: #fb772f;
  transition: all .4s;
}

.single-wrap .limited-article .btn-area .explanation-link .arrow-orange {
  width: 20px;
  margin-right: 10px;
}

.single-wrap .limited-article .login-text {
  font-weight: bold;
  font-size: 0.9375rem;
  line-height: 2;
  letter-spacing: 0.08em;
}

.single-wrap .limited-article .login-text button {
  color: #fb772f;
  cursor: pointer;
}

.single-wrap .limited-article .login-text button:hover {
  opacity: .7;
}

.single-wrap .limited-article img {
  margin-bottom: 0;
}

.single-wrap .prev-next {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 100px;
}

.single-wrap .prev-next .item {
  width: 43%;
}

.single-wrap .prev-next .item:hover.-prev a .arrow {
  -webkit-animation: arrowLeft 0.7s cubic-bezier(0.45, 0, 0.55, 1) 1 forwards;
  animation: arrowLeft 0.7s cubic-bezier(0.45, 0, 0.55, 1) 1 forwards;
}

.single-wrap .prev-next .item:hover.-next a .arrow {
  -webkit-animation: arrowRight 0.7s cubic-bezier(0.45, 0, 0.55, 1) 1 forwards;
  animation: arrowRight 0.7s cubic-bezier(0.45, 0, 0.55, 1) 1 forwards;
}

.single-wrap .prev-next .item.-prev a .arrow {
  -webkit-transform: scale(-1, 1);
  margin-right: 16px;
  transform: scale(-1, 1);
}

.single-wrap .prev-next .item.-next a {
  justify-content: flex-end;
}

.single-wrap .prev-next .item.-next a .arrow {
  margin-left: 16px;
}

.single-wrap .prev-next .item a {
  display: flex;
  align-items: center;
}

.single-wrap .prev-next .item a .arrow {
  flex: 0 0 20%;
  margin-top: 10px;
}

.single-wrap .prev-next .item a .text {
  font-weight: bold;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}

.event-instructor {
  margin: 100px 0;
}

.event-instructor .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
}

.event-instructor .title::after {
  display: inline-block;
  flex: 1 0 auto;
  height: 1px;
  margin-left: 20px;
  background-color: #000;
  content: "";
}

.event-instructor .instructor-list .item {
  display: flex;
  margin-bottom: 40px;
}

.event-instructor .instructor-list .item .image {
  width: 120px;
  height: 120px;
  margin-right: 20px;
  overflow: hidden;
  border-radius: 100vh;
}

.event-instructor .instructor-list .item .image img {
  -o-object-fit: cover;
  width: 120px;
  height: 120px;
  object-fit: cover;
}

.event-instructor .instructor-list .item .text {
  flex: 1 0 60%;
}

.event-instructor .instructor-list .item .text .name {
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.22222;
  letter-spacing: 0.08em;
}

.event-instructor .instructor-list .item .text .name span {
  margin-left: 12px;
  color: #666666;
  font-weight: normal;
  font-size: 0.875rem;
  line-height: 1.57143;
  letter-spacing: 0.08em;
}

.event-instructor .instructor-list .item .text .position {
  margin-bottom: 12px;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.375;
  letter-spacing: 0.08em;
}

.event-instructor .instructor-list .item .text .description {
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.85714;
  letter-spacing: 0.08em;
}

.recommend-area .title {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.3;
  letter-spacing: 0.08em;
}

.recommend-area .event-article ul {
  -webkit-column-gap: 30px;
  -moz-column-gap: 30px;
  column-gap: 30px;
}

.recommend-area .event-article ul .item .thumbnail {
  margin-bottom: 10px;
}

.recommend-area .event-article ul .item .information .title {
  margin: 4px 0 0;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.08em;
}

#magazine .text-area .lead {
  margin-bottom: 20px;
}

#magazine .text-area .thumbnail {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

.twitter-bottom {
  margin-bottom: 30px;
}

@media screen and (max-width: 1100px) {
  .lg-pc {
    display: none;
  }

  .lg-sp {
    display: block;
  }

  footer {
    margin-top: 60px;
    padding: 100px 0 40px;
  }

  .footer-nav ul {
    row-gap: 5.33333vw;
    flex-direction: column;
  }

  .footer-nav .item {
    width: 100%;
    font-size: 4vw;
  }

  .footer-nav .item:not(.-parent) {
    padding-bottom: 5.33333vw;
    border-bottom: 1px solid #fff;
  }

  .footer-nav .item .parent-element {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0;
    padding-bottom: 5.33333vw;
    font-size: 4vw;
  }

  .footer-nav .item .parent-element .accordion-arrow {
    width: 14px;
    height: 28px;
    margin-right: 5.33333vw;
  }

  .footer-nav .item .accordion-content {
    visibility: hidden;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    min-width: 100%;
    height: 0;
    font-size: 3.2vw;
    opacity: 0;
    transition: all .4s;
  }

  .footer-nav .item .parent-element.is-open .accordion-arrow img {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }

  .twitter {
    width: 10.66667vw;
    min-width: 50px;
    height: 10.66667vw;
  }

  header {
    padding: 30px 0;
  }

  header .g-nav > .item > .parent-element {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 2.66667vw;
    border-bottom: 1px solid #000;
    font-size: 5.33333vw;
  }

  header .g-nav > .item > .parent-element .accordion-arrow {
    width: 14px;
    height: 28px;
    margin-right: 5.33333vw;
  }

  header .g-nav > .item > .accordion-content {
    -webkit-transform: translateX(0) translateY(-10px);
    display: block;
    left: 0;
    margin: 0;
    padding: 0;
    transform: translateX(0) translateY(-10px);
    background-color: transparent;
    font-size: 4vw;
  }

  header .hamburger-button,
  header .hamburger-button > span {
    box-sizing: border-box;
    display: inline-block;
    transition: all .5s;
  }

  header .hamburger-button {
    z-index: 100;
    position: relative;
    width: 40px;
    height: 20px;
    margin-left: 16px;
    cursor: pointer;
  }

  header .hamburger-button span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background: #000;
  }

  header .hamburger-button span:nth-of-type(1) {
    top: 0;
  }

  header .hamburger-button span:nth-of-type(2) {
    bottom: 0;
  }

  header .hamburger-menu.is-active + .hamburger-button span:nth-of-type(1) {
    -webkit-transform: translateY(12px) rotate(30deg);
    transform: translateY(12px) rotate(30deg);
  }

  header .hamburger-menu.is-active + .hamburger-button span:nth-of-type(2) {
    -webkit-transform: translateY(-4px) rotate(-30deg);
    transform: translateY(-4px) rotate(-30deg);
  }

  header .hamburger-menu {
    display: none;
  }

  header .hamburger-menu.is-active {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow-y: scroll;
    background-color: #ffd144;
  }

  header .hamburger-menu.is-active .g-nav {
    flex-direction: column;
    align-items: stretch;
    margin-top: 100px;
    padding: 0 5.33333vw;
    font-size: 5.33333vw;
    transition: opacity, -webkit-transform;
    transition: opacity, transform;
    transition: opacity, transform, -webkit-transform;
    transition-delay: 0ms;
    transition-duration: 0ms;
    transition-timing-function: ease-out;
    will-change: opacity, transform;
  }

  header .hamburger-menu.is-active .g-nav .item {
    margin-left: 0;
    padding: 2.66667vw 0;
    opacity: 0;
    transition-delay: .3s;
    transition-duration: .3s, .6s;
  }

  header .hamburger-menu.is-active .g-nav .item:not(.-parent) {
    border-bottom: 1px solid #000;
  }

  header .hamburger-menu.is-active .g-nav .item:first-of-type {
    -webkit-animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.2s forwards;
    animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.2s forwards;
  }

  header .hamburger-menu.is-active .g-nav .item:nth-of-type(2) {
    -webkit-animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.3s forwards;
    animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.3s forwards;
  }

  header .hamburger-menu.is-active .g-nav .item:nth-of-type(3) {
    -webkit-animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.4s forwards;
    animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.4s forwards;
  }

  header .hamburger-menu.is-active .g-nav .item:nth-of-type(4) {
    -webkit-animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.5s forwards;
    animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.5s forwards;
  }

  header .hamburger-menu.is-active .g-nav .item:nth-of-type(5) {
    -webkit-animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.6s forwards;
    animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.6s forwards;
  }

  header .hamburger-menu.is-active .g-nav .item:nth-of-type(6) {
    -webkit-animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.7s forwards;
    animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.7s forwards;
  }

  header .hamburger-menu.is-active .g-nav .item:nth-of-type(7) {
    -webkit-animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.8s forwards;
    animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.8s forwards;
  }

  header .hamburger-menu.is-active .g-nav .item:nth-of-type(8) {
    -webkit-animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.9s forwards;
    animation: fadeSlide 0.7s cubic-bezier(0.45, 0, 0.55, 1) 0.9s forwards;
  }

  header .hamburger-menu.is-active .g-nav .accordion-content.is-open {
    -webkit-transform: translateX(0) translateY(0);
    visibility: visible;
    position: static;
    height: auto;
    margin: 20px auto 0;
    padding: 0;
    transform: translateX(0) translateY(0);
    background-color: transparent;
    color: #000;
    opacity: 1;
    transition: all .4s;
  }

  header .hamburger-menu.is-active .g-nav .accordion-content.is-open li {
    margin-bottom: 8px;
  }

  header .hamburger-menu.is-active .g-nav .accordion-content.is-open li:last-child {
    margin-bottom: 0;
  }

  #archive .archive-magazine ul {
    -webkit-column-gap: 5.33333vw;
    -moz-column-gap: 5.33333vw;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 5.33333vw;
    row-gap: 30px;
  }

  #archive .archive-magazine ul .item .item-inner {
    -webkit-column-gap: 2.66667vw;
    -moz-column-gap: 2.66667vw;
    column-gap: 2.66667vw;
  }

  .magazine-article .item a {
    flex-direction: column;
  }

  .magazine-article .item .thumbnail {
    max-width: 100%;
    max-height: 570px;
  }

  .btn-wrap .button {
    max-width: 100%;
    padding: 12px 50px;
    font-size: 1rem;
    line-height: 2;
    letter-spacing: 0.08em;
  }

  .btn-wrap .button.free-btn {
    margin-bottom: 16px;
  }

  .btn-wrap {
    flex-direction: column;
  }

  .form-wrap .btn-submit {
    padding: 12px 50px;
    font-size: 1rem;
    line-height: 2;
    letter-spacing: 0.08em;
  }

  .side-banner {
    padding: 40px;
  }

  .single-wrap .limited-article {
    padding: 20px;
  }

  .single-wrap .limited-article .lead {
    margin-bottom: 20px;
  }

  .single-wrap .limited-article .lead .text {
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }

  .single-wrap .limited-article .btn-area p {
    margin-bottom: 10px;
  }

  .single-wrap .prev-next {
    align-items: flex-end;
    margin-top: 70px;
  }

  .single-wrap .prev-next .item.-prev a {
    align-items: flex-start;
  }

  .single-wrap .prev-next .item.-next a {
    align-items: flex-end;
  }

  .single-wrap .prev-next .item a {
    flex-direction: column;
  }

  .single-wrap .prev-next .item a .arrow {
    order: 1;
  }

  .single-wrap .prev-next .item a .text {
    font-size: 0.75rem;
    line-height: 1.66667;
    letter-spacing: 0.08em;
  }
}

@media screen and (max-width: 1100px) and (max-width: 1100px) {
  header .hamburger-menu.is-active .g-nav .parent-element.is-open .accordion-arrow img {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
}

@media screen and (max-width: 920px) {
  .tw-pc {
    display: none;
  }

  .tw-sp {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 13px;
  }

  h3 {
    font-size: 3.2vw;
  }

  p {
    font-size: 2.93333vw;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .inner {
    width: calc(100% - 40px);
  }

  .inner-narrow {
    width: calc(100% - 40px);
  }

  .new-icon {
    width: 40px;
    height: 40px;
    font-size: 0.6875rem;
  }

  header .h-logo {
    width: 34.66667vw;
  }

  .two-columns {
    row-gap: 80px;
    flex-direction: column;
  }

  #about .content-title {
    margin-bottom: 30px;
    font-size: 1.625rem;
    letter-spacing: 0.08em;
    text-align: left;
  }

  #about .content-title > span {
    display: block;
    margin: 4px 0 0 0;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
  }

  #about .kv {
    flex-direction: column;
  }

  #about .kv .kv-text {
    padding: 20px;
  }

  #about .kv .kv-text .title {
    margin-bottom: 16px;
    font-size: 1.375rem;
    line-height: 1.27273;
    letter-spacing: 0.08em;
  }

  #about .introduction .text {
    text-align: left;
  }

  #about .service .service-list .item .title {
    width: 100%;
    padding: 0;
  }

  #about .service .service-list .item .title::before {
    left: 20px;
  }

  #about .service .service-list .item .title::after {
    right: 20px;
  }

  #about .service .service-list .item .title > span {
    display: block;
    width: 100%;
    margin-left: 0;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
  }

  #about .service .service-list .item .image {
    margin-top: 30px;
  }

  #about .experience .experience-list .item {
    margin-bottom: 20px;
    font-size: 1rem;
    letter-spacing: 0.08em;
    text-align: left;
  }

  #about .experience .experience-list .item::before {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-right: 12px;
  }

  #archive .archive-menu .category-area {
    display: block;
    margin-bottom: 10px;
  }

  #archive .archive-menu .category-area .category-list {
    flex-wrap: wrap;
  }

  #archive .archive-menu .category-area .category-list .category-item > a {
    margin: 0 12px 12px 0;
    padding: 4px 16px;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
  }

  #archive .archive-menu .tag-list {
    padding: 20px 24px 8px;
  }

  #archive .archive-menu .tag-list .tag-item > a {
    margin: 0 12px 12px 0;
    padding-left: 32px;
    padding-left: 28px;
    font-size: 0.875rem;
    letter-spacing: 0.08em;
  }

  #archive .archive-magazine ul .item .thumbnail {
    margin-bottom: 20px;
  }

  #archive .archive-magazine ul .item .information {
    margin-bottom: 10px;
  }

  #archive .archive-magazine ul .item .title {
    margin-bottom: 8px;
  }

  .topics-article.-three ul {
    grid-template-columns: repeat(1, 1fr);
  }

  .topics-article ul {
    -webkit-column-gap: 5.33333vw;
    -moz-column-gap: 5.33333vw;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 5.33333vw;
    row-gap: 30px;
  }

  .topics-article ul .item .thumbnail {
    margin-bottom: 20px;
  }

  .topics-article ul .item .information {
    margin-bottom: 10px;
  }

  .topics-article ul .item .title {
    margin-bottom: 8px;
  }

  .magazine-article .js-carousel-2 .slick-track {
    left: 0 !important;
  }

  .event-article ul {
    grid-template-rows: auto;
    grid-template-columns: repeat(1, 1fr);
    row-gap: 40px;
  }

  .event-article ul .item a {
    flex-direction: row;
  }

  .event-article ul .item .thumbnail {
    width: 37.33333vw;
    margin-right: 5.33333vw;
    margin-bottom: 0;
  }

  .login-btn {
    margin-left: 10px;
  }

  .mv-wrap .slider-arrow {
    top: calc(100% - 90px);
    width: 9.33333vw;
    min-width: 40px;
    height: 9.33333vw;
    margin: 0;
  }

  .mv-wrap .slider-arrow.-prev {
    left: 5.33333vw;
  }

  .mv-wrap .slider-arrow.-next {
    right: 5.33333vw;
  }

  .mv .mv-text h2 {
    padding: 16vw;
    font-size: 5.33333vw;
  }

  .form-wrap .input-area {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 10px;
  }

  .form-wrap .input-area .input p {
    font-size: 12px;
  }

  .modal {
    -webkit-transform: translate(-50%, -50%);
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .modal .sml-login-submit,
  .modal .sml-login input[name="wp-submit"] {
    max-width: 100%;
  }

  .wp-pagenavi {
    justify-content: center;
    margin-top: 50px;
  }

  .wp-pagenavi .page,
  .wp-pagenavi .current {
    width: 30px;
    height: 30px;
    margin: 0 6px;
  }

  .wp-pagenavi .previouspostslink {
    margin-right: 8px;
  }

  .wp-pagenavi .previouspostslink::before {
    width: 32px;
    height: 16px;
    margin-right: 4px;
  }

  .wp-pagenavi .nextpostslink {
    margin-left: 8px;
  }

  .wp-pagenavi .nextpostslink::after {
    width: 32px;
    height: 16px;
    margin-left: 4px;
  }

  .banner-wrap a {
    flex-direction: column;
  }

  .banner-wrap a .text-area {
    padding: 60px 10.66667vw;
  }

  .section {
    margin-top: 40px;
  }

  .section.-upside {
    margin-top: 20px;
  }

  .top-banner ul {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 30px;
  }

  .section-title {
    font-size: 1.375rem;
    letter-spacing: 0.06em;
  }

  #archive .section-title,
  #single .section-title,
  #about .section-title {
    margin: 0 0 8px 0;
  }

  .side-banner {
    max-width: 100%;
  }

  .event-instructor .title::after {
    margin-left: 10px;
  }

  .event-instructor .instructor-list .item {
    display: block;
    margin-bottom: 30px;
  }

  .event-instructor .instructor-list .item .image {
    margin: 0 0 20px;
  }
}

@media (hover: hover) and (pointer: fine) {
  header .g-nav > .item {
    display: inline-block;
    position: relative;
    text-decoration: none;
  }

  header .g-nav > .item::after {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: right top;
    position: absolute;
    bottom: 30px;
    left: 0;
    width: 100%;
    height: 2px;
    transform: scale(0, 1);
    transform-origin: right top;
    background: #000;
    content: '';
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
  }

  header .g-nav > .item:hover::after {
    -webkit-transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    transform-origin: left top;
  }

  header .g-nav > .item > .accordion-content a {
    display: inline-block;
    position: relative;
    text-decoration: none;
  }

  header .g-nav > .item > .accordion-content a::after {
    -webkit-transform: scale(0, 1);
    -webkit-transform-origin: right top;
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    transform: scale(0, 1);
    transform-origin: right top;
    background: #fff;
    content: '';
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
  }

  header .g-nav > .item > .accordion-content a:hover::after {
    -webkit-transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    transform-origin: left top;
  }

  header .g-nav > .item:hover .accordion-content {
    -webkit-transform: translateX(-50%) translateY(0);
    visibility: visible;
    height: auto;
    transform: translateX(-50%) translateY(0);
    opacity: 1;
  }

  header .g-nav > .item:hover .accordion-content li {
    margin-bottom: 8px;
  }

  header .g-nav > .item:hover .accordion-content li:last-child {
    margin-bottom: 0;
  }
}
/*
追加スタイル
*/
.txt-center {
  text-align: center;
}
.mt-90 {
  margin-top: 90px;
}
