@charset "UTF-8";
:root {
  --font16sp: min(3.2vw, 1.3rem);
  --font16tb: min(1.823vw, 1.6rem);
  --font16pc: min(1.367vw, 1.6rem);
  --font18sp: min(3.611vw, 1.4rem);
  --font18tb: min(2.083vw, 1.7rem);
  --font18pc: min(1.465vw, 1.8rem);
  --font20sp: min(3.467vw, 1.5rem);
  --font20tb: min(2.214vw, 1.9rem);
  --font20pc: min(1.66vw, 2rem);
}

* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  font-family: "ゴシックMB101 R";
  margin: 0;
  padding: 0;
  font-size: min(3.611vw, 1.3rem);
  color: #231815;
  background-color: #fff;
  opacity: 1;
  transition: opacity 0.6s ease-in-out;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-left: -0.1em;
}
@media screen and (min-width: 768px) {
  body {
    font-size: min(2.083vw, 1.5rem);
  }
}
@media screen and (min-width: 1024px) {
  body {
    font-size: min(1.27vw, 1.3rem);
  }
}

p {
  margin: 0;
  padding: 0;
}
img {
  max-width: 100%;
  height: auto;
}

a {
  display: inline-block;
  text-decoration: none;
  color: #231815;
  transition: all 0.3s ease-in-out;
}
a:hover {
  transition: all 0.3s ease-in-out;
}

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

@media print, screen and (min-width: 1024px) {
  .sp-only {
    display: none;
  }
}

.pc-only {
  display: none;
}
@media print, screen and (min-width: 1024px) {
  .pc-only {
    display: block;
  }
}

h1,
h2,
h3,
h4 {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

@media screen and (min-width: 1024px) {
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
    color: inherit;
    text-decoration: none;
  }
}
.l-footer {
  width: 100%;
}

.l-header--home {
  position: relative;
}

.l-main {
  width: 100%;
  background: #fff;
  padding-top: 50px;
}
@media print, screen and (min-width: 1024px) {
  .l-main {
    padding-top: 110px;
  }
}

.l-mv {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
}
@media print, screen and (min-width: 1024px) {
  .l-mv {
    width: 100%;
    height: 100%;
  }
}

.l-top-contents {
  position: relative;
}

.l-top-studio {
  position: relative;
}

/* 文化メディアワークス追記ここから */
.p-news-single__body > * + * {
  margin-top: 2em;
}

.p-news-single__body,
.wp-block-heading {
  line-height: 1.8;
}

.p-news-single__body a {
  text-decoration: underline;
}

.p-news-single__body a:hover {
  opacity: 0.65;
}

@media (max-width: 460px) {
  .lum-lightbox-inner img {
    max-height: 100%;
    max-width: 100%;
  }
}
/* 文化メディアワークス追記ここまで */
.p-company {
  padding-top: 30px;
  padding-bottom: 100px;
}
@media print, screen and (min-width: 768px) {
  .p-company {
    padding-bottom: 180px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-company {
    padding-top: 120px;
    padding-bottom: 200px;
  }
}
@media print, screen and (min-width: 1920px) {
  .p-company {
    padding-top: 140px;
  }
}

.p-company__greeting {
  margin-top: 60px;
  display: flex;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 768px) {
  .p-company__greeting {
    margin-top: 120px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-company__greeting {
    margin: 171px auto 0;
    justify-content: space-between;
    row-gap: 40px;
    max-width: 900px;
  }
}

h2.p-company__title {
  text-align: center;
  font-size: min(5.867vw, 2.6rem);
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  h2.p-company__title {
    font-size: 3rem;
  }
}
@media print, screen and (min-width: 1024px) {
  h2.p-company__title {
    font-size: min(3.418vw, 3.4rem);
    letter-spacing: 0.2em;
  }
}

h3.p-company__greeting-title--sub {
  font-size: min(4.533vw, 1.8rem);
  margin-top: 30px;
  margin-bottom: 20px;
}
@media print, screen and (min-width: 768px) {
  h3.p-company__greeting-title--sub {
    font-size: 2.2rem;
    margin-top: 50px;
    margin-bottom: 43px;
  }
}
@media print, screen and (min-width: 1024px) {
  h3.p-company__greeting-title--sub {
    font-size: min(1.855vw, 2.2rem);
    margin-top: 0;
  }
}

.p-company__greeting-text {
  width: 100%;
}
.p-company__greeting-text p {
  line-height: 2.4;
  letter-spacing: 0.15em;
  text-align: justify;
}
.p-company__greeting-text p::before, .p-company__greeting-text p::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-company__greeting-text p::before {
  margin-top: calc((1 - 2.4) * 0.5em);
}
.p-company__greeting-text p::after {
  margin-bottom: calc((1 - 2.4) * 0.5em);
}
@media print, screen and (min-width: 1024px) {
  .p-company__greeting-text p {
    font-size: 1.4rem;
  }
}
.p-company__greeting-text p + p {
  margin-top: 2.4em;
}
@media print, screen and (min-width: 1024px) {
  .p-company__greeting-text.p-company__greeting-text--01 {
    order: 1;
    width: 59%;
    margin-top: 30px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-company__greeting-text.p-company__greeting-text--02 {
    order: 3;
  }
}

.p-company__greeting-img {
  max-width: 481px;
  display: block;
  margin: 30px auto 0;
}
@media print, screen and (min-width: 768px) {
  .p-company__greeting-img {
    margin-top: 50px;
    max-width: 358px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-company__greeting-img {
    margin: 30px 0 0;
    width: 30%;
    order: 2;
  }
}

p.p-company__greeting-name {
  font-size: min(4vw, 1.7rem);
  margin-top: 25px;
}
@media print, screen and (min-width: 768px) {
  p.p-company__greeting-name {
    font-size: 2.4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  p.p-company__greeting-name {
    font-size: min(1.758vw, 2rem);
  }
}
p.p-company__greeting-name span {
  margin-top: 15px;
  display: inline-block;
  margin: 0 1em 0 0;
}
@media print, screen and (min-width: 768px) {
  p.p-company__greeting-name span {
    font-size: 1.3rem;
    margin-top: 25px;
  }
}
.p-company__overview {
  margin-top: 120px;
}
@media print, screen and (min-width: 768px) {
  .p-company__overview {
    margin-top: 200px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-company__overview {
    margin: 268px auto 0;
    max-width: 760px;
  }
}

table.p-company__overview-table {
  border-top: 1px solid #231815;
  border-spacing: 0;
  margin-top: 40px;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  table.p-company__overview-table {
    margin-top: 50px;
  }
}
@media print, screen and (min-width: 1024px) {
  table.p-company__overview-table {
    margin-top: 69px;
  }
}
table.p-company__overview-table th,
table.p-company__overview-table td {
  letter-spacing: 0.12em;
  line-height: 1.95;
  border-bottom: 1px solid #231815;
}
table.p-company__overview-table th::before, table.p-company__overview-table th::after,
table.p-company__overview-table td::before,
table.p-company__overview-table td::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
table.p-company__overview-table th::before,
table.p-company__overview-table td::before {
  margin-top: calc((1 - 1.95) * 0.5em);
}
table.p-company__overview-table th::after,
table.p-company__overview-table td::after {
  margin-bottom: calc((1 - 1.95) * 0.5em);
}
table.p-company__overview-table th {
  text-align: left;
  padding: 1.8em 1em;
  width: 30%;
  font-weight: 400;
}
@media print, screen and (min-width: 768px) {
  table.p-company__overview-table th {
    width: 24%;
    padding: 2.5em;
  }
}
@media print, screen and (min-width: 1024px) {
  table.p-company__overview-table th {
    padding: 2.5em 1.4em;
  }
}
table.p-company__overview-table td {
  padding: 1.8em;
}
@media print, screen and (min-width: 768px) {
  table.p-company__overview-table td {
    padding: 2.5em;
  }
}
@media print, screen and (min-width: 1024px) {
  table.p-company__overview-table td {
    padding: 2.5em 2em;
  }
}

.p-company__map {
  margin-top: 60px;
}
@media print, screen and (min-width: 1024px) {
  .p-company__map {
    margin-top: 100px;
  }
}
.p-company__map iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 3/2;
}

.p-concept {
  margin: 30px 0 60px;
}
@media print, screen and (min-width: 768px) {
  .p-concept {
    margin: 50px 0 100px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-concept {
    margin: 120px 0 200px;
  }
}
@media print, screen and (min-width: 1920px) {
  .p-concept {
    margin: 200px 0 200px;
  }
}

.p-concept__titles {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 24px;
}
@media print, screen and (min-width: 1024px) {
  .p-concept__titles {
    row-gap: 30px;
  }
  .p-concept__titles.is-large {
    height: auto;
    top: 173px;
  }
  .p-concept__titles.is-medium {
    height: 80px;
    top: 120px;
    padding: 0 100px;
    transition: all 0.5s ease;
  }
  .p-concept__titles.is-medium a.p-concept__title {
    width: 15%;
    padding-top: 10px;
  }
  .p-concept__titles.is-medium a.p-concept__title img {
    mix-blend-mode: difference;
  }
  .p-concept__titles.is-medium a.p-concept__title p {
    font-size: 0.8em;
  }
  .p-concept__titles.is-small {
    height: 80px;
    top: 100px;
  }
}

a.p-concept__title {
  display: flex;
  align-items: center;
  width: 100%;
  column-gap: 14px;
}
@media print, screen and (min-width: 768px) {
  a.p-concept__title {
    display: block;
    width: 19.22%;
  }
}
a.p-concept__title img {
  display: inline-block;
  width: 50%;
}
@media print, screen and (min-width: 768px) {
  a.p-concept__title img {
    width: auto;
  }
}
a.p-concept__title p {
  letter-spacing: 0.05em;
  line-height: 1.2;
}
a.p-concept__title p::before, a.p-concept__title p::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
a.p-concept__title p::before {
  margin-top: calc((1 - 1.2) * 0.5em);
}
a.p-concept__title p::after {
  margin-bottom: calc((1 - 1.2) * 0.5em);
}
@media print, screen and (min-width: 768px) {
  a.p-concept__title p {
    text-align: center;
    margin-top: 0.8em;
    font-size: 1.3rem;
  }
}
@media print, screen and (min-width: 1024px) {
  a.p-concept__title p {
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin-top: 1.3em;
  }
}
@media print, screen and (min-width: 768px) {
  a.p-concept__title:last-of-type p {
    margin-top: 0.6em;
  }
}

.p-concept__sec {
  margin-top: 120px;
  overflow: hidden;
}
@media print, screen and (min-width: 1024px) {
  .p-concept__sec:nth-of-type(1) {
    margin-top: 210px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-concept__sec {
    margin-top: 100px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-concept__sec {
    margin-top: 198px;
  }
}

h3.p-concept__sec-title {
  font-size: min(4.8vw, 1.7rem);
  text-align: center;
  margin-top: 50px;
}
@media print, screen and (min-width: 1024px) {
  h3.p-concept__sec-title {
    font-size: min(1.758vw, 2rem);
    margin-top: 100px;
  }
}
@media print, screen and (min-width: 1024px) {
  h3.p-concept__sec-title.p-concept__03-title {
    margin-top: 50px;
  }
}

.p-concept__item {
  margin-top: 60px;
}
.p-concept__item:nth-of-type(1) {
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .p-concept__item:nth-of-type(1) {
    margin-top: 80px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-concept__item:nth-of-type(1) {
    margin-top: 80px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-concept__item {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 80px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-concept__item {
    margin-top: 100px;
  }
}

@media print, screen and (min-width: 768px) {
  .p-concept__item--right .p-concept__img {
    order: 2;
  }
}
@media print, screen and (min-width: 768px) {
  .p-concept__item--right .p-concept__body {
    order: 1;
  }
}

@media print, screen and (min-width: 768px) {
  .p-concept__img {
    width: 37.29%;
  }
}

.p-concept__body {
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .p-concept__body {
    width: 55%;
    margin-top: 0;
  }
}

.p-concept__text {
  letter-spacing: 0.108em;
  margin-top: 26px;
  line-height: 1.95;
}
.p-concept__text::before, .p-concept__text::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-concept__text::before {
  margin-top: calc((1 - 1.95) * 0.5em);
}
.p-concept__text::after {
  margin-bottom: calc((1 - 1.95) * 0.5em);
}
@media print, screen and (min-width: 768px) {
  .p-concept__text {
    margin-top: 36px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-concept__text {
    margin-top: 61px;
  }
}

@media print, screen and (min-width: 768px) {
  .p-concept__body--sub {
    margin-top: 0;
  }
}
.p-concept__body--sub + .p-concept__body--sub {
  margin-top: 50px;
}
@media print, screen and (min-width: 1024px) {
  .p-concept__body--sub + .p-concept__body--sub {
    margin-top: 150px;
  }
}

.p-concept__list {
  display: flex;
  justify-content: space-between;
  margin-top: 1.5em;
}
@media print, screen and (min-width: 1024px) {
  .p-concept__list {
    margin-top: 48px;
    justify-content: flex-start;
  }
}

.p-concept__list-item {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.2em;
  width: auto;
  align-content: flex-start;
}
.p-concept__list-item li {
  width: 100%;
  text-indent: -1.2em;
  line-height: 1.5;
  margin-left: 1.2em;
}
.p-concept__list-item.item03:nth-of-type(1) {
  width: 14em;
}
@media print, screen and (min-width: 1024px) {
  .p-concept__list-item.item03:nth-of-type(1) {
    width: 9em;
  }
}

.p-concept__item-text {
  line-height: 1.95;
  margin-top: 30px;
  letter-spacing: 0.14em;
}
.p-concept__item-text::before, .p-concept__item-text::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-concept__item-text::before {
  margin-top: calc((1 - 1.95) * 0.5em);
}
.p-concept__item-text::after {
  margin-bottom: calc((1 - 1.95) * 0.5em);
}
@media print, screen and (min-width: 1024px) {
  .p-concept__item-text {
    margin-top: 38px;
    max-width: 815px;
  }
}

.p-concept__04-img {
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .p-concept__04-img {
    margin-top: 60px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-concept__04-img {
    max-width: 900px;
    margin: 153px auto 0;
  }
}

.p-concept__04-img-02 {
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .p-concept__04-img-02 {
    margin: 60px auto 0;
    max-width: 600px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-concept__04-img-02 {
    margin-top: 158px;
  }
}

.p-concept__04-text {
  letter-spacing: 0.045em;
  text-align: justify;
  margin-top: 30px;
  line-height: 2.2;
  letter-spacing: 0.109em;
}
.p-concept__04-text::before, .p-concept__04-text::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-concept__04-text::before {
  margin-top: calc((1 - 2.2) * 0.5em);
}
.p-concept__04-text::after {
  margin-bottom: calc((1 - 2.2) * 0.5em);
}
@media print, screen and (min-width: 768px) {
  .p-concept__04-text {
    margin: 40px auto 0;
    max-width: 900px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-concept__04-text {
    margin-top: 50px;
  }
}

.p-contact {
  padding-top: 30px;
  padding-bottom: 100px;
}
@media print, screen and (min-width: 768px) {
  .p-contact {
    padding-bottom: 180px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-contact {
    padding-top: 120px;
    padding-bottom: 200px;
  }
}
@media print, screen and (min-width: 1920px) {
  .p-contact {
    padding-top: 140px;
  }
}

.p-contact__lead {
  margin-top: 30px;
  text-align: center;
  line-height: 1.9;
}
.p-contact__lead::before, .p-contact__lead::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-contact__lead::before {
  margin-top: calc((1 - 1.9) * 0.5em);
}
.p-contact__lead::after {
  margin-bottom: calc((1 - 1.9) * 0.5em);
}
@media print, screen and (min-width: 768px) {
  .p-contact__lead {
    margin-top: 40px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-contact__lead {
    margin-top: 50px;
  }
}

.p-contact__thanks {
  margin: 100px 0 50px;
  text-align: center;
  line-height: 1.9;
}
.p-contact__thanks::before, .p-contact__thanks::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-contact__thanks::before {
  margin-top: calc((1 - 1.9) * 0.5em);
}
.p-contact__thanks::after {
  margin-bottom: calc((1 - 1.9) * 0.5em);
}

.p-contact__body {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-contact__body {
    margin-top: 50px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-contact__body {
    margin-top: 70px;
  }
}

.p-contact__list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 32px;
}
@media print, screen and (min-width: 768px) {
  .p-contact__list {
    row-gap: 40px;
  }
}
.p-contact__item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
}
@media print, screen and (min-width: 1024px) {
  .p-contact__item:last-of-type {
    align-items: flex-start;
  }
}
.p-contact__item:last-of-type .p-contact__item-title {
  widows: 100%;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 1024px) {
  .p-contact__item:last-of-type .p-contact__item-title {
    margin-top: 1.5em;
  }
}

.p-contact__item-title {
  widows: 100%;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 1024px) {
  .p-contact__item-title {
    width: 26.3%;
    margin-bottom: 0;
  }
}
.p-contact__item-title span {
  display: inline-block;
}
.p-contact__item-title .required {
  margin-right: 0.5em;
  width: 4em;
}
.p-contact__item-title .required.required {
  background: #221714;
  text-align: center;
  padding: 3px 0;
  font-size: 0.9em;
  border-radius: 3px;
  color: #fff;
}
@media print, screen and (min-width: 1024px) {
  .p-contact__item-title .any {
    margin-right: 0.5em;
    width: 4em;
  }
}

.p-contact__element {
  width: 100%;
}
@media print, screen and (min-width: 1024px) {
  .p-contact__element {
    width: 73.7%;
  }
}
.p-contact__element input {
  background: #e6e6e6;
  padding: 1.5em;
  font-family: "ゴシックMB101 R";
  border: none;
  width: 100%;
}
@media print, screen and (min-width: 1024px) {
  .p-contact__element input {
    padding: 2em;
  }
}

@media print, screen and (min-width: 1024px) {
  .p-contact__item-detail,
  .p-contact__item-text {
    padding: 2em;
  }
}

.p-contact__item-text {
  min-height: 12em;
  line-height: 2;
  background: #e6e6e6;
  padding: 1.5em;
  font-family: "ゴシックMB101 R";
  border: none;
  width: 100%;
}
.p-contact__item-text::before, .p-contact__item-text::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-contact__item-text::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.p-contact__item-text::after {
  margin-bottom: calc((1 - 2) * 0.5em);
}
@media print, screen and (min-width: 1024px) {
  .p-contact__item-text {
    min-height: 380px;
  }
}

.p-contact__submit {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 10px;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .p-contact__submit {
    margin-top: 50px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-contact__submit {
    margin-top: 70px;
  }
}
.p-contact__submit .wpcf7-spinner {
  opacity: 0.65;
  position: absolute;
  top: 38%;
}

.p-contact__submit-button {
  border: 1px solid #898989;
  background: #fff;
  display: block;
  font-family: "ゴシックMB101 R";
  text-align: center;
  padding: 2em;
  color: #898989;
  transition: all 0.3s ease;
  width: 140px;
}
@media print, screen and (min-width: 768px) {
  .p-contact__submit-button {
    width: 200px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-contact__submit-button {
    width: 300px;
    padding: 3em;
  }
}
.p-contact__submit-button:hover {
  background: #898989;
  color: #fff;
  transition: all 0.3s ease;
  cursor: pointer;
}

.p-contact__privacy {
  text-align: center;
  margin-top: 30px;
  color: #898989;
  line-height: 1.8;
  font-size: 1.2rem;
}
.p-contact__privacy::before, .p-contact__privacy::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-contact__privacy::before {
  margin-top: calc((1 - 1.8) * 0.5em);
}
.p-contact__privacy::after {
  margin-bottom: calc((1 - 1.8) * 0.5em);
}
@media print, screen and (min-width: 768px) {
  .p-contact__privacy {
    margin-top: 30px;
    font-size: 1.3rem;
  }
}

.p-news-single {
  padding-bottom: 100px;
  padding-top: 50px;
}
@media print, screen and (min-width: 768px) {
  .p-news-single {
    padding-bottom: 150px;
    padding-top: 100px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-news-single {
    padding-bottom: 200px;
    padding-top: 140px;
  }
}

.p-news-single__date {
  max-width: 960px;
  margin: 0 auto;
}
.p-news-single__date time,
.p-news-single__date span {
  font-size: 0.9em;
  margin-top: 1em;
  display: inline-block;
}

.p-news-single__name {
  margin-left: 1em;
}

.p-news-single__title {
  font-size: min(4.533vw, 2rem);
  line-height: 1.23;
  margin-top: 1em;
  word-break: keep-all;
  margin-top: 50px;
}
@media print, screen and (min-width: 768px) {
  .p-news-single__title {
    font-size: 2.3rem;
    margin-top: 80px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-news-single__title {
    font-size: min(1.953vw, 2.4rem);
    margin-top: 130px;
  }
}

.p-news-single__cat {
  font-size: min(8vw, 3rem);
  color: #9fa0a0;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 100;
}
@media print, screen and (min-width: 768px) {
  .p-news-single__cat {
    font-size: 5rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-news-single__cat {
    font-size: min(6.836vw, 7rem);
  }
}
.p-news-single__cat::after {
  content: attr(data-ja);
  display: block;
  color: #221714;
  font-size: 1.1rem;
  margin-top: 3px;
  font-weight: 400;
}
@media print, screen and (min-width: 768px) {
  .p-news-single__cat::after {
    font-size: 1.2rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-news-single__cat::after {
    font-size: 1.3rem;
    margin-top: 7px;
  }
}

.p-news-single__title p {
  font-size: 2rem;
  position: relative;
  display: inline-block;
  padding: 0 1em;
}
@media print, screen and (min-width: 768px) {
  .p-news-single__title p {
    font-size: 2.3rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-news-single__title p {
    font-size: min(2.734vw, 3rem);
    margin-top: 7px;
  }
}
.p-news-single__title p::before, .p-news-single__title p::after {
  position: absolute;
}
.p-news-single__title p::before {
  content: "「";
  left: -0.5em;
  top: 0;
}
.p-news-single__title p::after {
  content: "」";
  bottom: 0;
  right: -0.5em;
}

.p-news-single__body {
  margin-top: 50px;
}
@media print, screen and (min-width: 768px) {
  .p-news-single__body {
    margin-top: 70px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-news-single__body {
    margin: 104px auto 0;
    max-width: 960px;
  }
}
.p-news-single__body p {
  line-height: 2.11;
}
.p-news-single__body p + p {
  margin-top: 2em;
}
.p-news-single__body p + figure {
  display: block;
  margin-top: 2em;
}
.p-news-single__body figure {
  display: block;
  margin-bottom: 0;
}
.p-news-single__body figure + p,
.p-news-single__body figure + figure {
  margin-top: 2em;
}

.p-news-single__page-nav {
  margin: 50px auto 0;
  max-width: 985px;
  display: flex;
  justify-content: space-between;
}
@media print, screen and (min-width: 768px) {
  .p-news-single__page-nav {
    margin-top: 70px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-news-single__page-nav {
    margin-top: 107px;
  }
}

.p-news-single__button {
  display: inline-block;
  position: relative;
  background: #9fa0a0;
  color: #fff;
  padding: 1em 2em;
  font-family: "Roboto", sans-serif;
}
.p-news-single__button:hover {
  background: #585858;
}
@media print, screen and (min-width: 1024px) {
  .p-news-single__button {
    font-size: 1.3rem;
  }
}
.p-news-single__button.no-link {
  background: #ddd;
}
.p-news-single__button.no-link:hover {
  cursor: text;
}

.p-news-single__button--back::before {
  content: attr(data-arrow);
  display: inline-block;
  margin-right: 10px;
}

.p-news-single__button--next::after {
  content: attr(data-arrow);
  display: inline-block;
  margin-left: 10px;
}

.entry-content ul {
  list-style: disc; /* 黒い丸 */
  padding-left: 20px; /* 左側に余白を追加 */
}

.entry-content ol {
  list-style: decimal; /* 数字 */
  padding-left: 20px;
}

.p-news {
  padding-top: 30px;
  padding-bottom: 100px;
}
@media print, screen and (min-width: 768px) {
  .p-news {
    padding-bottom: 140px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-news {
    padding-top: 120px;
    padding-bottom: 200px;
  }
}
@media print, screen and (min-width: 1920px) {
  .p-news {
    padding-top: 140px;
  }
}
.p-news .c-news {
  padding: 0;
  margin-top: 0;
  max-width: 1322px;
}

.p-quality {
  padding-top: 30px;
  padding-bottom: 100px;
}
@media print, screen and (min-width: 768px) {
  .p-quality {
    padding-bottom: 180px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-quality {
    padding-top: 120px;
    padding-bottom: 200px;
  }
}
@media print, screen and (min-width: 1920px) {
  .p-quality {
    padding-top: 140px;
  }
}

.p-quality__main-img {
  max-width: 1076px;
  margin: 40px auto 0;
}
@media print, screen and (min-width: 768px) {
  .p-quality__main-img {
    margin-top: 80px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-quality__main-img {
    margin-top: 142px;
  }
}

.p-quality__item {
  margin-top: 60px;
}
@media print, screen and (min-width: 768px) {
  .p-quality__item {
    margin-top: 100px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-quality__item {
    margin-top: 124px;
  }
}

.p-quality__body-text {
  line-height: 1.95;
  margin-top: 30px;
  letter-spacing: 0.07em;
  text-align: justify;
}
.p-quality__body-text::before, .p-quality__body-text::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-quality__body-text::before {
  margin-top: calc((1 - 1.95) * 0.5em);
}
.p-quality__body-text::after {
  margin-bottom: calc((1 - 1.95) * 0.5em);
}
@media print, screen and (min-width: 768px) {
  .p-quality__body-text {
    margin-top: 40px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-quality__body-text {
    margin-top: 59px;
    max-width: 727px;
  }
}

.p-quality__img {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-quality__img {
    margin-top: 50px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-quality__img {
    margin-top: 130px;
  }
}
.p-quality__img img {
  display: block;
  margin: 0 auto;
}

@media print, screen and (min-width: 1024px) {
  .p-quality__item.p-quality__item--grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-quality__item.p-quality__item--grid h3.c-title--sub {
    grid-area: 1/1/2/4;
    align-items: flex-start;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-quality__item.p-quality__item--grid h3.c-title--sub p {
    margin-top: 6px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-quality__item.p-quality__item--grid .p-quality__body-text {
    grid-area: 2/1/4/4;
    max-width: 767px;
    padding-right: 40px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-quality__item.p-quality__item--grid .p-quality__img {
    grid-area: 1/4/4/6;
    margin-top: 0;
  }
}

.p-studio {
  padding-top: 30px;
  padding-bottom: 100px;
}
@media print, screen and (min-width: 768px) {
  .p-studio {
    padding-bottom: 180px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-studio {
    padding-top: 120px;
    padding-bottom: 200px;
  }
}
@media print, screen and (min-width: 1920px) {
  .p-studio {
    padding-top: 140px;
  }
}

.p-studio__lead {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-studio__lead {
    margin-top: 80px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-studio__lead {
    margin-top: 110px;
  }
}

h2.p-studio__lead-title {
  font-size: min(4.533vw, 2rem);
}
@media print, screen and (min-width: 768px) {
  h2.p-studio__lead-title {
    font-size: 2.4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  h2.p-studio__lead-title {
    font-size: min(2.246vw, 2.6rem);
  }
}

.p-studio__lead-text {
  letter-spacing: 0.109em;
  line-height: 1.95;
  margin-top: 20px;
}
.p-studio__lead-text::before, .p-studio__lead-text::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-studio__lead-text::before {
  margin-top: calc((1 - 1.95) * 0.5em);
}
.p-studio__lead-text::after {
  margin-bottom: calc((1 - 1.95) * 0.5em);
}
@media print, screen and (min-width: 1024px) {
  .p-studio__lead-text {
    margin-top: 26px;
  }
}

.p-studio__lead-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 20px;
  max-width: 1104px;
  margin: 40px auto 0;
}
@media print, screen and (min-width: 768px) {
  .p-studio__lead-list {
    margin-top: 80px;
    row-gap: 36px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-studio__lead-list {
    margin-top: 140px;
  }
}

.p-studio__lead-img {
  display: block;
  width: 47.86%;
}

.p-studio__flow {
  display: flex;
  flex-wrap: wrap;
  row-gap: 70px;
  margin-top: 100px;
}
@media print, screen and (min-width: 768px) {
  .p-studio__flow {
    row-gap: 90px;
    margin-top: 140px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-studio__flow {
    row-gap: 139px;
    margin: 220px auto 0;
    max-width: 967px;
  }
}

.p-studio__item {
  display: flex;
  flex-wrap: wrap;
  row-gap: 30px;
}
@media print, screen and (min-width: 768px) {
  .p-studio__item {
    align-items: flex-start;
  }
}

.p-studio__item-num {
  width: 110px;
  margin: 0 auto;
  display: block;
}
@media print, screen and (min-width: 768px) {
  .p-studio__item-num {
    width: 18.38%;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-studio__item-num {
    width: 15%;
    margin: 0;
  }
}

.p-studio__item-body {
  display: flex;
  flex-wrap: wrap;
  row-gap: 30px;
  justify-content: space-between;
}
@media print, screen and (min-width: 768px) {
  .p-studio__item-body {
    width: 81.62%;
    padding-left: 26px;
    align-items: flex-start;
    row-gap: 40px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-studio__item-body {
    row-gap: 50px;
    width: 85%;
  }
}

.p-studio__item-title {
  width: 100%;
  line-height: 1.41;
  font-size: min(5.333vw, 2.4rem);
  text-wrap: auto;
}
.p-studio__item-title::before, .p-studio__item-title::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-studio__item-title::before {
  margin-top: calc((1 - 1.41) * 0.5em);
}
.p-studio__item-title::after {
  margin-bottom: calc((1 - 1.41) * 0.5em);
}
@media print, screen and (min-width: 768px) {
  .p-studio__item-title {
    font-size: 2.4rem;
    margin-top: 12px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-studio__item-title {
    font-size: min(2.051vw, 2.4rem);
    min-height: 2em;
    margin-top: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-studio__item-title.single {
    padding-top: 1em;
  }
}

.p-studio__item-text {
  letter-spacing: 0.05em;
  line-height: 1.95;
}
.p-studio__item-text::before, .p-studio__item-text::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-studio__item-text::before {
  margin-top: calc((1 - 1.95) * 0.5em);
}
.p-studio__item-text::after {
  margin-bottom: calc((1 - 1.95) * 0.5em);
}
@media print, screen and (min-width: 1024px) {
  .p-studio__item-text {
    font-size: min(1.172vw, 1.4rem);
  }
}

.p-studio__item-img {
  display: block;
  margin: 0 auto 0;
}
@media print, screen and (min-width: 768px) {
  .p-studio__item-img {
    width: 32.3%;
    margin: 0;
  }
}

.p-studio__info {
  margin-top: 100px;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .p-studio__info {
    margin-top: 150px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-studio__info {
    margin-top: 205px;
  }
}

h3.p-studio__name {
  font-size: min(4.533vw, 2rem);
}
@media print, screen and (min-width: 768px) {
  h3.p-studio__name {
    font-size: 2.4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  h3.p-studio__name {
    font-size: min(2.441vw, 2.7rem);
  }
}

.p-studio__address,
.p-studio__time {
  font-size: var(--font16sp);
  margin-top: 1.1em;
}
@media print, screen and (min-width: 768px) {
  .p-studio__address,
  .p-studio__time {
    font-size: var(--font16tb);
  }
}
@media print, screen and (min-width: 1024px) {
  .p-studio__address,
  .p-studio__time {
    font-size: min(1.172vw, 1.4rem);
  }
}

.p-studio__tel {
  width: 252px;
  margin: 12px auto 0;
}

.p-studio__contact {
  margin-top: 20px;
}
@media print, screen and (min-width: 768px) {
  .p-studio__contact {
    margin-top: 37px;
  }
}
.p-studio__contact a.c-button03 {
  letter-spacing: 0.12em;
  min-width: 150px;
  margin: 0 auto;
}

.p-studio__map {
  margin: 30px auto 0;
  width: 100%;
  max-width: 1204px;
}
@media print, screen and (min-width: 768px) {
  .p-studio__map {
    margin-top: 48px;
  }
}
.p-studio__map iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 1204/641;
}

.p-works-single {
  padding-bottom: 100px;
  padding-top: 50px;
}
@media print, screen and (min-width: 768px) {
  .p-works-single {
    padding-bottom: 150px;
    padding-top: 100px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-works-single {
    padding-bottom: 200px;
    padding-top: 140px;
  }
}

.p-works-single__body {
  display: flex;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 768px) {
  .p-works-single__body {
    align-items: flex-end;
    justify-content: space-between;
    align-items: center;
  }
}

h1.p-works-single__title {
  width: 100%;
  font-size: min(4vw, 1.8rem);
  line-height: 1.23;
}
h1.p-works-single__title::before, h1.p-works-single__title::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
h1.p-works-single__title::before {
  margin-top: calc((1 - 1.23) * 0.5em);
}
h1.p-works-single__title::after {
  margin-bottom: calc((1 - 1.23) * 0.5em);
}
@media print, screen and (min-width: 768px) {
  h1.p-works-single__title {
    font-size: 2.4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  h1.p-works-single__title {
    font-size: min(1.855vw, 2.4rem);
    width: auto;
  }
}

.p-works-single__text {
  margin-top: 26px;
  line-height: 1.95;
}
.p-works-single__text::before, .p-works-single__text::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-works-single__text::before {
  margin-top: calc((1 - 1.95) * 0.5em);
}
.p-works-single__text::after {
  margin-bottom: calc((1 - 1.95) * 0.5em);
}
@media print, screen and (min-width: 768px) {
  .p-works-single__text {
    margin-top: 21px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-works-single__text {
    margin-top: 38px;
  }
}

.p-works-single__button {
  margin: 30px 0 0 auto;
}
@media print, screen and (min-width: 768px) {
  .p-works-single__button {
    margin: 0;
  }
}
.p-works-single__button .c-button04 {
  font-family: "Roboto", sans-serif;
  color: #fff;
  letter-spacing: 0.02em;
}
.p-works-single__button.last {
  margin-top: 40px;
  text-align: right;
}
@media print, screen and (min-width: 768px) {
  .p-works-single__button.last {
    margin-top: 60px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-works-single__button.last {
    margin-top: 83px;
  }
}

.p-works-single__img-list {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 20px;
}
@media print, screen and (min-width: 768px) {
  .p-works-single__img-list {
    margin-top: 60px;
    row-gap: 40px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-works-single__img-list {
    margin-top: 83px;
    justify-content: flex-start;
    column-gap: 12.5%;
    row-gap: 70px;
  }
}

.p-works-single__img-item {
  width: 47%;
  height: auto;
  aspect-ratio: 125/84;
  background: #f8f8f8;
  overflow: hidden;
}
@media print, screen and (min-width: 1024px) {
  .p-works-single__img-item {
    width: 25%;
  }
}
.p-works-single__img-item img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: all 0.2s ease-in-out;
}
.p-works-single__img-item:hover {
  opacity: 0.8;
}
.p-works-single__img-item:hover img {
  transform: scale(1.05);
  transition: all 0.2s ease-in-out;
}

.lum-lightbox {
  z-index: 101;
}

.lum-lightbox-image-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-works {
  padding-bottom: 100px;
  padding-top: 50px;
}
@media print, screen and (min-width: 768px) {
  .p-works {
    padding-bottom: 150px;
    padding-top: 100px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-works {
    padding-bottom: 200px;
    padding-top: 140px;
  }
}

.p-works__lead {
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .p-works__lead {
    margin-top: 50px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-works__lead {
    margin-top: 70px;
  }
}
.p-works__lead h2 {
  text-align: center;
  font-size: min(4vw, 1.8rem);
  line-height: 1.23;
}
.p-works__lead h2::before, .p-works__lead h2::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-works__lead h2::before {
  margin-top: calc((1 - 1.23) * 0.5em);
}
.p-works__lead h2::after {
  margin-bottom: calc((1 - 1.23) * 0.5em);
}
@media print, screen and (min-width: 768px) {
  .p-works__lead h2 {
    font-size: 2.4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-works__lead h2 {
    font-size: min(1.855vw, 2.4rem);
  }
}
.p-works__lead p {
  text-align: center;
  margin-top: 20px;
  line-height: 1.95;
}
.p-works__lead p::before, .p-works__lead p::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-works__lead p::before {
  margin-top: calc((1 - 1.95) * 0.5em);
}
.p-works__lead p::after {
  margin-bottom: calc((1 - 1.95) * 0.5em);
}
@media print, screen and (min-width: 768px) {
  .p-works__lead p {
    margin-top: 30px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-works__lead p {
    margin-top: 50px;
  }
}

.p-works__list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 60px;
  justify-content: center;
  margin-top: 60px;
}
@media print, screen and (min-width: 768px) {
  .p-works__list {
    row-gap: 70px;
    justify-content: space-between;
    margin-top: 100px;
  }
}
@media print, screen and (min-width: 1024px) {
  .p-works__list {
    row-gap: 84px;
    margin-top: 140px;
    max-width: 1322px;
  }
}

.p-works__item {
  display: block;
  width: 100%;
  max-width: 600px;
}
@media print, screen and (min-width: 768px) {
  .p-works__item {
    width: 42.27%;
    max-width: 100%;
  }
}
.p-works__item:hover {
  opacity: 0.8;
}
.p-works__item:hover .p-works__img img {
  transform: scale(1.05);
  transition: all 0.2s ease-in-out;
}

.p-works__img {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 125/84;
  background: #f8f8f8;
}
.p-works__img img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: contain;
  object-position: center;
  transition: all 0.2s ease-in-out;
}

.p-works__item-title {
  margin-top: 16px;
  line-height: 1.85;
  font-size: var(--font18sp);
}
.p-works__item-title::before, .p-works__item-title::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-works__item-title::before {
  margin-top: calc((1 - 1.85) * 0.5em);
}
.p-works__item-title::after {
  margin-bottom: calc((1 - 1.85) * 0.5em);
}
@media print, screen and (min-width: 768px) {
  .p-works__item-title {
    margin-top: 21px;
    font-size: var(--font18tb);
  }
}
@media print, screen and (min-width: 1024px) {
  .p-works__item-title {
    margin-top: 26px;
    font-size: var(--font18pc);
  }
}

.c-about {
  margin-top: 60px;
}
@media print, screen and (min-width: 768px) {
  .c-about {
    margin-top: 100px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-about {
    margin: 150px auto 0;
    max-width: 960px;
  }
}
.c-about p {
  line-height: 2.11;
}
.c-about p:last-of-type {
  margin-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .c-about p:last-of-type {
    margin-top: 65px;
  }
}

h2.c-about__title {
  position: relative;
  height: 1em;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
  h2.c-about__title {
    margin-bottom: 26px;
  }
}
h2.c-about__title::after {
  content: "";
  background: #221714;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 0;
}
h2.c-about__title p {
  margin-top: 0 !important;
  font-size: min(3.611vw, 1.4rem);
  background: #fff;
  position: absolute;
  line-height: 1;
  z-index: 1;
  top: 0;
  left: calc(50% - 4em);
  padding: 0.2em 0.5em;
}
@media print, screen and (min-width: 768px) {
  h2.c-about__title p {
    font-size: min(2.083vw, 1.7rem);
  }
}
@media print, screen and (min-width: 1024px) {
  h2.c-about__title p {
    font-size: min(1.27vw, 1.6rem);
  }
}

.c-about__list {
  margin-top: 10px;
  list-style-type: decimal;
  margin-left: 1.5em;
}

.c-about__item {
  line-height: 2.11;
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeLeft {
  0% {
    opacity: 0;
    transform: translateX(-10%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeRight {
  0% {
    opacity: 0;
    transform: translateX(10%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.js-target--left {
  opacity: 0;
}
.js-target--left.is-active {
  animation: fadeLeft 0.8s linear 0.1s forwards;
}

.js-target--right {
  opacity: 0;
}
.js-target--right.is-active {
  animation: fadeRight 0.8s linear 0.1s forwards;
}

.js-target--up {
  opacity: 0;
}
.js-target--up.is-active {
  animation: fadeUp 0.8s linear 0.1s forwards;
}

.c-button,
.c-button01,
.c-button02,
.c-button03,
.c-button04 {
  display: inline-block;
  padding: 20px 10px;
  position: relative;
  background: #9fa0a0;
  width: 200px;
  text-align: center;
}
@media print, screen and (min-width: 1024px) {
  .c-button,
  .c-button01,
  .c-button02,
  .c-button03,
  .c-button04 {
    width: 180px;
  }
}
.c-button:hover,
.c-button01:hover,
.c-button02:hover,
.c-button03:hover,
.c-button04:hover {
  background: #585858;
}
.c-button img,
.c-button01 img,
.c-button02 img,
.c-button03 img,
.c-button04 img {
  display: inline-block;
  width: auto;
  height: 15px;
}
@media print, screen and (min-width: 1024px) {
  .c-button img,
  .c-button01 img,
  .c-button02 img,
  .c-button03 img,
  .c-button04 img {
    height: 13px;
  }
}

a.c-button01 {
  padding: 20px;
}
@media print, screen and (min-width: 1024px) {
  a.c-button01 {
    padding: 22px 27px;
  }
}
a.c-button01 img {
  height: 12px;
}
@media print, screen and (min-width: 1024px) {
  a.c-button01 img {
    height: 11px;
  }
}
a.c-button01 img.non {
  height: 15px;
}
@media print, screen and (min-width: 1024px) {
  a.c-button01 img.non {
    height: 12px;
  }
}

.c-button02 {
  padding: 9px 14px;
  width: auto;
}
.c-button02 img {
  height: 10px;
}
@media print, screen and (min-width: 1024px) {
  .c-button02 img {
    height: 11px;
  }
}

.c-button03 {
  color: #fff;
  width: auto;
  min-width: 130px;
}
@media print, screen and (min-width: 768px) {
  .c-button03 {
    font-size: 0.9em;
    min-width: 150px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-button03 {
    font-size: min(1.27vw, 1.3rem);
    padding: 20px 10px;
    width: 160px;
    display: block;
  }
}

.c-button04 {
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 200;
}

.c-contents-item {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .c-contents-item {
    justify-content: space-between;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-contents-item:nth-of-type(1) .c-contents-item__body {
    padding: 0 3px 0 10%;
  }
}

.c-contents-item__img--left,
.c-contents-item__img--right {
  order: 2;
}
@media print, screen and (min-width: 768px) {
  .c-contents-item__img--left,
  .c-contents-item__img--right {
    width: 42.6%;
    height: 100%;
    aspect-ratio: 283/430;
    position: relative;
  }
}
.c-contents-item__img--left img,
.c-contents-item__img--right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media print, screen and (min-width: 768px) {
  .c-contents-item__img--left {
    order: 1;
  }
}

.c-contents-item__body {
  order: 1;
  padding: 0 20px 40px;
}
@media print, screen and (min-width: 768px) {
  .c-contents-item__body {
    padding: 0;
    width: 50%;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-contents-item__body {
    width: 57.4%;
  }
}

.c-contents-item--left .c-contents-item__body {
  padding-right: 30px;
}
@media print, screen and (min-width: 1024px) {
  .c-contents-item--left .c-contents-item__body {
    padding: 0 0 0 10%;
  }
}

.c-contents-item--right .c-contents-item__body {
  padding-left: 30px;
}
@media print, screen and (min-width: 1024px) {
  .c-contents-item--right .c-contents-item__body {
    padding: 0 10% 0 0;
  }
}

@media print, screen and (min-width: 768px) {
  .c-contents-item__title {
    margin-top: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .c-contents-item__title {
    margin-top: 19.42%;
  }
}
.c-contents-item__title img {
  width: auto;
  height: 30px;
}
@media print, screen and (min-width: 768px) {
  .c-contents-item__title img {
    height: 40px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-contents-item__title img {
    height: 2.8vw;
    max-height: 50px;
  }
}

.c-contents-item__lead {
  font-family: "ゴシックMB101 L";
  margin-top: 1em;
  display: block;
}
@media print, screen and (min-width: 1024px) {
  .c-contents-item__lead {
    margin-top: 2.7%;
  }
}

.c-contents-item__text {
  letter-spacing: 0.15em;
  font-family: "ゴシックMB101 L";
  line-height: 1.8;
  margin-top: 4em;
}
.c-contents-item__text::before, .c-contents-item__text::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.c-contents-item__text::before {
  margin-top: calc((1 - 1.8) * 0.5em);
}
.c-contents-item__text::after {
  margin-bottom: calc((1 - 1.8) * 0.5em);
}
@media print, screen and (min-width: 1024px) {
  .c-contents-item__text {
    line-height: 2.2;
    margin-top: 4.3em;
  }
  .c-contents-item__text::before, .c-contents-item__text::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
  }
  .c-contents-item__text::before {
    margin-top: calc((1 - 2.2) * 0.5em);
  }
  .c-contents-item__text::after {
    margin-bottom: calc((1 - 2.2) * 0.5em);
  }
}

.c-contents-item__button {
  margin-top: 35px;
}
@media print, screen and (min-width: 1024px) {
  .c-contents-item__button {
    margin-top: 4.375vw;
  }
}
.c-contents-item__button a {
  display: inline-block;
}

.c-contents-list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 100px;
  margin-top: 100px;
}
@media print, screen and (min-width: 1024px) {
  .c-contents-list {
    row-gap: 202px;
    max-width: 1100px;
    margin: 198px auto 0;
  }
}

.c-footer-nav {
  display: none;
}
@media print, screen and (min-width: 1024px) {
  .c-footer-nav {
    display: block;
    max-width: 1000px;
    margin: 0 auto;
  }
}

.c-footer-nav__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media print, screen and (min-width: 1024px) {
  .c-footer-nav__list {
    justify-content: center;
  }
}

.c-footer-nav__item {
  padding: 0 4%;
  position: relative;
}
@media print, screen and (min-width: 1024px) {
  .c-footer-nav__item {
    padding: 0 2.5em;
  }
}
.c-footer-nav__item::after {
  content: "";
  background: #727171;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
.c-footer-nav__item:last-of-type::after {
  display: none;
}
.c-footer-nav__item a {
  display: inline-block;
  overflow: hidden;
  padding-bottom: 3px;
  position: relative;
}
.c-footer-nav__item a::after {
  content: "";
  transition: all 0.3s ease-in-out;
  background: #727171;
  width: 100%;
  height: 1px;
  position: absolute;
  left: -100%;
  bottom: 0;
}
.c-footer-nav__item a:hover {
  opacity: 0.7;
}
.c-footer-nav__item a:hover::after {
  transition: all 0.3s ease-in-out;
  content: "";
  left: 0;
  bottom: 0;
}
@media print, screen and (min-width: 1024px) {
  .c-footer-nav__item a img {
    height: 11px;
    width: auto;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-footer-nav__item a img.none {
    height: 13px;
  }
}

.c-footer {
  background: #dcdddd;
  color: #727171;
  padding: 45px 30px 30px;
}
@media print, screen and (min-width: 768px) {
  .c-footer {
    padding: 50px 30px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-footer {
    padding: 70px 50px;
  }
}

.c-footer__name {
  text-align: center;
  letter-spacing: 0.12em;
  font-size: var(--font16sp);
}
@media print, screen and (min-width: 1024px) {
  .c-footer__name {
    font-size: var(--font16tb);
  }
}
@media print, screen and (min-width: 1024px) {
  .c-footer__name {
    margin-top: 74px;
    font-size: 1.4rem;
  }
}

.c-footer__info {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}
@media print, screen and (min-width: 1024px) {
  .c-footer__info {
    justify-content: center;
    max-width: 998px;
    margin: 35px auto 0;
    align-items: flex-end;
  }
}

p.c-footer__body {
  line-height: 1.9375;
  letter-spacing: normal;
  text-align: center;
  width: 100%;
  font-size: min(2.667vw, 1.1rem);
}
p.c-footer__body::before, p.c-footer__body::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
p.c-footer__body::before {
  margin-top: calc((1 - 1.9375) * 0.5em);
}
p.c-footer__body::after {
  margin-bottom: calc((1 - 1.9375) * 0.5em);
}
@media print, screen and (min-width: 1024px) {
  p.c-footer__body {
    width: calc(100% - 60px);
  }
}

.c-footer__sns {
  text-align: center;
  margin-top: 26px;
  width: 100%;
}
@media print, screen and (min-width: 1024px) {
  .c-footer__sns {
    margin-top: 0;
    width: 30px;
  }
}
.c-footer__sns a {
  display: block;
  width: 36px;
  margin: 0 auto;
}
@media print, screen and (min-width: 1024px) {
  .c-footer__sns a {
    margin: 0;
    width: 100%;
  }
}

button.c-hamburger {
  background: #222;
  border: none;
  border-radius: 0;
  position: fixed;
  z-index: 100;
  display: block;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
}
@media print, screen and (min-width: 1024px) {
  button.c-hamburger {
    display: none;
  }
}

span.c-hamburger__bar {
  transition: all 0.3s ease-in-out;
  position: absolute;
  background: #fff;
  width: 30px;
  height: 2px;
  left: 10px;
}
span.c-hamburger__bar:nth-of-type(1) {
  top: 16px;
}
span.c-hamburger__bar:nth-of-type(2) {
  top: 24px;
}
span.c-hamburger__bar:nth-of-type(3) {
  top: 32px;
}

button.c-hamburger.is-active span.c-hamburger__bar {
  transition: all 0.3s ease-in-out;
  top: 24px;
}
button.c-hamburger.is-active span.c-hamburger__bar:nth-of-type(1) {
  transform: rotate(45deg);
}
button.c-hamburger.is-active span.c-hamburger__bar:nth-of-type(2) {
  opacity: 0;
}
button.c-hamburger.is-active span.c-hamburger__bar:nth-of-type(3) {
  transform: rotate(-45deg);
}

.c-header--home {
  background: #dcdddd;
}
@media print, screen and (min-width: 1024px) {
  .c-header--home {
    width: 100%;
    height: 100svh;
    position: relative;
    min-height: 768px;
  }
}

@media print, screen and (min-width: 1024px) {
  .c-header--page {
    height: 110px;
    width: 100%;
    transition: all 0.3s ease-in-out;
    background: #dcdddd;
    position: fixed;
    z-index: 100;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-header--page.is-small {
    height: 90px;
  }
}

.c-inner {
  padding: 0 20px;
}
@media print, screen and (min-width: 768px) {
  .c-inner {
    padding: 0 30px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-inner {
    padding: 0 50px;
    max-width: 1100px;
    margin: 0 auto;
  }
}

.c-loader {
  position: fixed;
  inset: 0;
  background: #f4f4f4;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.8s ease;
}
.c-loader.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.c-loader.is-hide {
  opacity: 0;
  pointer-events: none;
}

.c-mv {
  position: relative;
  z-index: 1;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  aspect-ratio: 6/5;
  overflow: hidden;
}
@media print, screen and (min-width: 1024px) {
  .c-mv {
    aspect-ratio: auto;
    width: 49%;
    height: 100%;
    left: 25.5%;
    top: 0;
    transform: none;
    transition: transform 1s ease;
  }
  .c-mv.is-slided {
    transform: translateX(14.94vw);
  }
}
.c-mv img {
  display: block;
}

.c-mv__catch {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 80%;
  max-width: 754px;
}
@media print, screen and (min-width: 1024px) {
  .c-mv__catch {
    top: 45.85%;
  }
}

#copy {
  opacity: 0;
  transform: translate(-50%, -50%) scale(1);
  transition: opacity 1s ease 0s, transform 0.5s ease 0.5s;
}

#copy.is-visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.c-mv__img {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

@media print, screen and (min-width: 1024px) {
  #copy.is-visible {
    opacity: 1;
    /* 表示だけ。スライドしない */
  }
}

.c-nav--home {
  width: 100%;
  height: 100svh;
  position: fixed;
  z-index: 99;
  top: -100vh;
  left: 0;
  background: #dcdddd;
  padding: 100px 8% 60px 10.66%;
  transition: all 0.3s ease-in-out;
  visibility: hidden;
}
@media print, screen and (min-width: 1024px) {
  .c-nav--home {
    width: 29.94%;
    height: auto;
    position: absolute;
    top: 8%;
    left: 10.36vw;
    padding: 0;
    visibility: visible;
    background: none;
  }
}
.c-nav--home.is-active {
  transition: all 0.3s ease-in-out;
  top: 0;
  visibility: visible;
}
@media print, screen and (min-width: 1024px) {
  .c-nav--home.js-navi {
    opacity: 0;
    transition: opacity 1s ease;
    pointer-events: none;
  }
}
.c-nav--home.js-navi.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.c-nav__list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 32px;
  margin-top: 50px;
}
@media print, screen and (min-width: 1024px) {
  .c-nav__list {
    margin-top: 9.25vh;
    row-gap: calc(4vh - 3px);
  }
}

.c-nav__item {
  width: 100%;
}
.c-nav__item a {
  display: inline-block;
  position: relative;
  overflow: hidden;
  padding-bottom: 3px;
}
.c-nav__item a::after {
  transition: all 0.3s ease-in-out;
  content: "";
  background: #727171;
  width: 100%;
  height: 1px;
  position: absolute;
  left: -100%;
  bottom: 0;
}
.c-nav__item a:hover {
  opacity: 0.7;
}
.c-nav__item a:hover::after {
  transition: all 0.3s ease-in-out;
  content: "";
  left: 0;
  bottom: 0;
}
.c-nav__item img {
  width: auto;
  height: 16px;
}
@media print, screen and (min-width: 1024px) {
  .c-nav__item img {
    height: 13px;
  }
}
.c-nav__item img.non {
  height: 18px;
}
@media print, screen and (min-width: 1024px) {
  .c-nav__item img.non {
    height: 15px;
  }
}

.c-nav__cta {
  margin-top: 40px;
}
@media print, screen and (min-width: 1024px) {
  .c-nav__cta {
    margin-top: 10.92vh;
  }
}

.c-nav--page {
  width: 100%;
  height: 100svh;
  position: fixed;
  z-index: 99;
  top: -100vh;
  left: 0;
  padding: 100px 8% 60px 10.66%;
  transition: all 0.3s ease-in-out;
  visibility: hidden;
  background: #dcdddd;
}
@media print, screen and (min-width: 1024px) {
  .c-nav--page {
    position: static;
    height: 100%;
    padding: 0;
    visibility: visible;
    display: flex;
    justify-content: space-between;
    column-gap: 1.48%;
    align-items: center;
    max-width: 1818px;
    padding: 0 50px;
    margin: 0 auto;
  }
}
.c-nav--page.is-active {
  transition: all 0.3s ease-in-out;
  top: 0;
  visibility: visible;
}
.c-nav--page.js-navi.is-visible {
  opacity: 1;
  pointer-events: auto;
}
@media print, screen and (min-width: 1024px) {
  .c-nav--page .c-nav__logo {
    width: 8.08%;
    max-width: 147px;
  }
}
.c-nav--page .c-nav__logo a:hover {
  opacity: 0.7;
}
@media print, screen and (min-width: 1024px) {
  .c-nav--page .c-nav__list {
    margin: 0;
    row-gap: 0;
    display: flex;
    width: 74.4%;
    justify-content: center;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-nav--page .c-nav__item {
    width: auto;
    padding: 0 2.5%;
    position: relative;
  }
}
@media print, screen and (min-width: 1280px) {
  .c-nav--page .c-nav__item {
    padding: 0 1.6vw;
  }
}
@media print, screen and (min-width: 1920px) {
  .c-nav--page .c-nav__item {
    padding: 0 48px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-nav--page .c-nav__item::after {
    content: "";
    background: #727171;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-nav--page .c-nav__item:nth-of-type(1) {
    position: relative;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-nav--page .c-nav__item:nth-of-type(1)::before {
    content: "";
    background: #727171;
    width: 1px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.c-nav--page .c-nav__item a {
  color: #727171;
}
@media print, screen and (min-width: 1024px) {
  .c-nav--page .c-nav__item a {
    letter-spacing: 0.05em;
  }
}

@media print, screen and (min-width: 1024px) {
  .c-nav__cta--page {
    margin-top: 0;
    width: 12.54%;
    max-width: 140px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-nav__cta--page .c-button {
    padding: 14px 24px;
    width: 100%;
  }
}
@media print, screen and (min-width: 1024px) and (min-width: 1280px) {
  .c-nav__cta--page .c-button {
    padding: 12px 24px;
  }
}
.c-nav__cta--page .c-button img {
  /* @include min-screen($breakpoint-pc-w) {
    height: 1.09vw;
  } */
}
@media print, screen and (min-width: 1024px) {
  .c-nav__cta--page .c-button img {
    height: 11px;
  }
}

.c-news {
  margin-top: 80px;
  padding: 0 30px;
}
@media print, screen and (min-width: 1024px) {
  .c-news {
    margin: 190px auto 0;
    padding: 0;
    max-width: 1100px;
  }
}

.c-news__title {
  text-align: left;
  height: 30px;
}
@media print, screen and (min-width: 1024px) {
  .c-news__title {
    height: 2.8vw;
    max-height: 50px;
  }
}
.c-news__title img {
  height: 100%;
  width: auto;
}
@media print, screen and (min-width: 1024px) {
  .c-news__title p {
    margin-top: 25px;
  }
}

.c-news__lead {
  margin-top: 1em;
  display: block;
}

.c-news__button {
  margin-top: 20px;
  text-align: right;
}
@media print, screen and (min-width: 1024px) {
  .c-news__button {
    margin-top: 0;
    position: absolute;
    top: 2.08vw;
    right: 50px;
  }
}

.c-news__list {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  column-gap: 6%;
  row-gap: 40px;
}
@media print, screen and (min-width: 768px) {
  .c-news__list {
    column-gap: 5%;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-news__list {
    margin-top: 100px;
    column-gap: 18.5%;
    row-gap: 131px;
  }
}
.c-news__list.c-news__list--page {
  max-width: 960px;
}
@media print, screen and (min-width: 1024px) {
  .c-news__list.c-news__list--page {
    column-gap: 18.5%;
  }
}

.c-news__item {
  display: block;
  width: 47%;
}
@media print, screen and (min-width: 768px) {
  .c-news__item {
    width: 30%;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-news__item {
    width: 21%;
  }
}
.c-news__item:hover img {
  opacity: 0.8;
  transform: scale(1.05);
  transition: all 0.2s ease-in-out;
}
.c-news__item:hover time,
.c-news__item:hover p {
  color: #9fa0a0;
  transition: all 0.2s ease-in-out;
}

.c-news__img {
  aspect-ratio: 1/1;
  position: relative;
  overflow: hidden;
}
.c-news__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: all 0.3s ease-in-out;
}

.c-news__cat-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 16px;
  column-gap: 6px;
  row-gap: 5px;
}
@media print, screen and (min-width: 768px) {
  .c-news__cat-wrap {
    column-gap: 10px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-news__cat-wrap {
    column-gap: 7.6%;
  }
}

.c-news__cat {
  display: inline-block;
  background: #9fa0a0;
  padding: 0.36em 0.83em;
  color: #fff;
  font-family: "Roboto", "ゴシックMB101 L", sans-serif;
  letter-spacing: 0.12em;
}
@media print, screen and (min-width: 1024px) {
  .c-news__cat {
    font-size: min(1.074vw, 1.2rem);
  }
}

.c-news__date {
  display: block;
  margin-top: 16px;
  font-size: 1.055em;
  font-family: "ゴシックMB101 L";
  transition: all 0.2s ease-in-out;
}
@media print, screen and (min-width: 1024px) {
  .c-news__date {
    font-size: min(1.172vw, 1.4rem);
  }
}

.c-news__item-title {
  font-family: "ゴシックMB101 L";
  transition: all 0.2s ease-in-out;
  margin-top: 16px;
  position: relative;
  display: inline-block;
  padding: 0 1em;
}
.c-news__item-title::before, .c-news__item-title::after {
  position: absolute;
}
.c-news__item-title::before {
  content: "「";
  left: -0.5em;
  top: 0;
}
.c-news__item-title::after {
  content: "」";
  bottom: 0;
  right: -0.5em;
}

.c-pagination {
  margin-top: 50px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}
@media print, screen and (min-width: 768px) {
  .c-pagination {
    margin-top: 70px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-pagination {
    margin-top: 140px;
    gap: 10px;
  }
}
.c-pagination .page-numbers {
  border: 1px solid #dcdddd;
  background: #dcdddd;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2em;
  height: 2em;
  letter-spacing: normal;
}
@media print, screen and (min-width: 1024px) {
  .c-pagination .page-numbers {
    width: 40px;
    height: 40px;
  }
}
.c-pagination .page-numbers:hover {
  background: #585858;
  color: #fff;
}
.c-pagination .page-numbers.current {
  background: #fff;
}
.c-pagination .page-numbers.current:hover {
  color: #231815;
}
.c-pagination .page-numbers.next, .c-pagination .page-numbers.prev {
  background: none;
  border: none;
  width: auto;
  margin-left: 5px;
}
.c-pagination .page-numbers.next:hover, .c-pagination .page-numbers.prev:hover {
  color: #585858;
}
.c-pagination .page-numbers.prev {
  margin-left: 0;
  margin-right: 5px;
}

h1.c-title--section img {
  width: auto;
  height: 40px;
}
@media print, screen and (min-width: 1024px) {
  h1.c-title--section img {
    width: auto;
    height: 50px;
  }
}
h1.c-title--section p {
  font-size: min(3.611vw, 1.3rem);
}
@media print, screen and (min-width: 768px) {
  h1.c-title--section p {
    font-size: min(2.083vw, 1.5rem);
  }
}
@media print, screen and (min-width: 1024px) {
  h1.c-title--section p {
    font-size: min(1.27vw, 1.3rem);
    margin-top: 15px;
  }
}
h1.c-title--section.c-title--side {
  display: flex;
  align-items: center;
  column-gap: 16px;
}
@media print, screen and (min-width: 768px) {
  h1.c-title--section.c-title--side {
    column-gap: 25px;
  }
}
@media print, screen and (min-width: 1024px) {
  h1.c-title--section.c-title--side {
    column-gap: 35px;
  }
}
h1.c-title--section.c-title--side img {
  display: inline-block;
}
h1.c-title--section.c-title--side p {
  display: inline-block;
  margin: 0;
}
h1.c-title--section.contact {
  text-align: center;
}
h1.c-title--section.contact img {
  display: inline-block;
}

.c-title__img {
  width: auto;
  height: 30px;
}
@media print, screen and (min-width: 768px) {
  .c-title__img {
    height: 40px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-title__img {
    height: 46px;
  }
}

.c-title__text {
  margin-top: 5px;
  font-size: min(3.2vw, 1.3rem);
}
@media print, screen and (min-width: 768px) {
  .c-title__text {
    font-size: 1.4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-title__text {
    margin-top: 0.8em;
    font-size: min(1.27vw, 1.5rem);
  }
}

.c-title--sub {
  display: flex;
  align-items: center;
  column-gap: 20px;
}
@media print, screen and (min-width: 768px) {
  .c-title--sub {
    column-gap: 30px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-title--sub {
    column-gap: 30px;
    width: 100%;
    margin-top: 24px;
  }
}
.c-title--sub img {
  width: auto;
  height: 38px;
  /* @include min-screen($breakpoint-tablet) {
    height: 60px;
  } */
}
@media print, screen and (min-width: 1024px) {
  .c-title--sub img {
    height: 28px;
  }
}
.c-title--sub p {
  font-size: min(4.8vw, 1.7rem);
  /* @include min-screen($breakpoint-tablet) {
    font-size: 1.7em;
    line-height: 1.2;
  } */
}
.c-title--sub p::before, .c-title--sub p::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.c-title--sub p::before {
  margin-top: calc((1 - 1.41) * 0.5em);
}
.c-title--sub p::after {
  margin-bottom: calc((1 - 1.41) * 0.5em);
}
@media print, screen and (min-width: 1024px) {
  .c-title--sub p {
    font-size: min(1.66vw, 1.8rem);
    line-height: 1.4;
  }
}
.c-title--sub p span {
  font-size: 0.8em;
  display: block;
}
@media print, screen and (min-width: 768px) {
  .c-title--sub p span {
    font-size: 0.564em;
  }
}

.c-top-studio__wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 100px;
}
@media print, screen and (min-width: 768px) {
  .c-top-studio__wrap {
    margin-top: 140px;
    margin-bottom: 100px;
    justify-content: space-between;
    padding: 0 0 0 30px;
    max-width: 1140px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-top-studio__wrap {
    margin: 205px auto 198px;
    padding: 0 50px;
  }
}

.c-top-studio__body {
  margin: 50px 0;
  padding: 0 30px;
  order: 2;
}
@media print, screen and (min-width: 768px) {
  .c-top-studio__body {
    width: 50%;
    order: 1;
    padding: 0;
    margin: 0;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-top-studio__body {
    width: 59.14%;
    order: 1;
    padding: 0;
    margin: 0;
  }
}

.c-top-studio__title {
  display: flex;
  align-items: center;
  column-gap: 15px;
}
@media print, screen and (min-width: 1024px) {
  .c-top-studio__title {
    column-gap: 30px;
  }
}
.c-top-studio__title img {
  height: 35px;
  display: inline-block;
  width: auto;
}
@media print, screen and (min-width: 768px) {
  .c-top-studio__title img {
    height: 2.8vw;
    max-height: 50px;
  }
}
.c-top-studio__title span {
  font-family: "ゴシックMB101 L";
  font-size: min(3.611vw, 1.3rem);
}
@media print, screen and (min-width: 768px) {
  .c-top-studio__title span {
    font-size: min(2.083vw, 1.5rem);
  }
}
@media print, screen and (min-width: 1024px) {
  .c-top-studio__title span {
    font-size: min(1.465vw, 1.3rem);
  }
}

.c-top-studio__info {
  margin-top: 20px;
}
@media print, screen and (min-width: 768px) {
  .c-top-studio__info {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    column-gap: 30px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-top-studio__info {
    padding-bottom: 38px;
    column-gap: 0;
    margin-top: 40px;
  }
}

@media print, screen and (min-width: 768px) {
  .c-top-studio__text {
    padding-bottom: 20px;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-top-studio__text {
    padding-bottom: 0;
    width: 43.63%;
  }
}

.c-top-studio__title--ja {
  font-family: "ゴシックMB101 L";
  font-size: min(3.467vw, 1.6rem);
}
@media print, screen and (min-width: 768px) {
  .c-top-studio__title--ja {
    font-size: 2.5rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-top-studio__title--ja {
    font-size: min(1.563vw, 1.8rem);
  }
}

.c-top-studio__address {
  margin-top: 1em;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 768px) {
  .c-top-studio__address {
    font-size: 1.2rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-top-studio__address {
    font-size: 1.1rem;
  }
}

.c-top-studio__tel {
  display: inline-block;
  width: 60%;
  max-width: 245px;
  margin-top: 1em;
}
@media print, screen and (min-width: 768px) {
  .c-top-studio__tel {
    width: 50%;
  }
}

.c-top-studio__time {
  margin-top: 1em;
  font-size: 1.1rem;
}
@media print, screen and (min-width: 768px) {
  .c-top-studio__time {
    font-size: 1.2rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-top-studio__time {
    font-size: 1.1rem;
    letter-spacing: 0.05em;
  }
}

.c-top-studio__button {
  margin-top: 30px;
  display: flex;
  gap: 10px;
}
@media print, screen and (min-width: 768px) {
  .c-top-studio__button {
    margin-top: 0;
    width: 56.37%;
    column-gap: 4.3%;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-top-studio__button {
    flex-wrap: wrap;
    width: 170px;
  }
}

.c-top-studio__img {
  order: 1;
}
@media print, screen and (min-width: 768px) {
  .c-top-studio__img {
    width: calc(50% - 50px);
    max-width: 425px;
    order: 2;
    text-align: center;
  }
}
@media print, screen and (min-width: 1024px) {
  .c-top-studio__img {
    width: 40.86%;
    order: 2;
  }
}
.c-top-studio__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}