:root {
  /* フォント */
  --font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Helvetica Neue', Arial, Meiryo, sans-serif;
  --font-Shippori-Mincho: 'Shippori Mincho', serif;
  --font-Allura: 'Allura', cursive;
  /* z-indexは全て変数とする */
  --z-scrolldown: 100;
  --z-hero_img-off: 100;
  --z-latest_title: 100;
  --z-latest_list: 100;
  --z-news_title: 100;
  --z-works_title: 100;
  --z-modal-overlay: 200;
  --z-modal: 300;
  --z-modal-isShow: 400;
  --z-modal-contents: 1000;
  /* --z-loading: 900; */
  --z-contents-article: 100;
  --z-wrapper-header: 100;
  --z-wrapper-footer: 100;
  --z-wrapper-nav: 100;
  --z-latest_figure: 100;
  --z-latest_volume_span: 100;
  /* デザインカンプのサイズ（比率計算で使用） */
  --comp-sp: 390;
  --comp-tablet: 768;
  --comp-pc: 1366;
}
@font-face {
  font-family: 'Shippori Mincho';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/share/sp/king/font/ShipporiMincho-Bold.woff2') format('woff2');
}
/* End Webフォント */

/* 共通項目の中でこのページでは非表示にするもの */
#search-box {
  display: none !important;
}
.special-sns {
  display: none !important;
}
/* End 共通項目の中でこのページでは非表示にするもの */

/* 既存スタイルのリセット&ベーススタイル */
body {
  width: auto;
}
body::before {
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  content: '';
  width: 100%;
  height: 100svh;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url('/share/sp/king/img/bg_texture_with_sign_sp.webp');
}
@media (min-width: 768px) {
  body::before {
    background-image: url('/share/sp/king/img/bg_texture_with_sign_pc.webp');
  }
}
#wrapper > header {
  position: relative;
  z-index: var(--z-wrapper-header);
  background-color: #f7f7f7;
}
#wrapper > #footer {
  position: relative;
  z-index: var(--z-wrapper-footer);
}
#wrapper > #nav {
  position: relative;
  z-index: var(--z-wrapper-nav);
}
#contents *,
#contents *::before,
#contents *::after,
.modal-contents,
.modal-contents * {
  box-sizing: border-box;
}
#contents {
  position: relative;
  /* background-color: #fff; */
  color: #000;
  overflow-x: hidden;
  font-family: var(--font-family);
  font-size: 16px;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  padding: 0;
  background-position: center;
  background-size: contain;
  background-repeat: repeat-y;
}
:where(#contents, .modal-contents) img {
  image-rendering: -webkit-optimize-contrast; /* chromeの画像ぼやけ対策 */
  max-width: 100%;
  height: auto;
}
:where(#contents, .modal-contents) button {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  appearance: none;
  background: none;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  margin: 0;
  padding: 0;
}
#contents article {
  position: relative;
  z-index: var(--z-contents-article);
}
#main-contents {
  font-size: inherit !important;
  padding: 0 !important;
}
#main-contents .wapper-special {
  font-size: inherit;
  border: none;
  max-width: none;
  margin: 0;
  padding: 0;
}
/* End 既存スタイルのリセット&ベーススタイル */

/* ユーティリティクラス */
@media (max-width: 767px) {
  .u-pc {
    display: none;
  }
}
@media (min-width: 768px) {
  .u-sp {
    display: none !important;
  }
}
.u-uppercase {
  text-transform: uppercase;
}
.u-screenReader {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* End ユーティリティクラス */

/* ローディング */
/* head内に記載 */
/* .loading {
  position: absolute;
  z-index: var(--z-loading);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: contain;
  background-repeat: repeat-y;
  background-image: url('/share/sp/king/img/bg_texture_sp.webp');
  transition: opacity 1s, visibility 1s;
}
@media (min-width: 768px) {
  .loading {
    background-image: url('/share/sp/king/img/bg_texture_pc.webp');
  }
}
.loading.-isLoaded {
  opacity: 0;
  visibility: hidden;
}
.loading::before {
  position: fixed;
  top: 50%;
  left: 50%;
  content: '';
  width: 80%;
  max-width: 400px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url('/share/sp/king/img/loading.gif');
  aspect-ratio: 400 / 212;
  transform: translate(-50%, -50%);
}
*/
/* End ローディング */

/* レイアウト */
.inner {
  --z-inner-padding: 20px;
  padding: 0 var(--z-inner-padding);
}
@media (min-width: 768px) {
  .inner {
    --z-inner-padding: 24px;
  }
}
@media (min-width: 950px) {
  .inner {
    max-width: calc(1246px + var(--z-inner-padding) * 2);
    margin: 0 auto;
  }
}
/* End レイアウト */

/* セクションタイトル */
.section-title {
}
.section-title_inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-family: var(--font-Shippori-Mincho);
  font-size: 22px;
}
@media (min-width: 768px) {
  .section-title_inner {
    font-size: 24px;
  }
}
@media (min-width: 950px) {
  .section-title_inner {
    font-size: 34px;
  }
}
.section-title.-profile .section-title_inner {
  align-items: flex-end;
  padding-right: 64px;
}
@media (min-width: 768px) {
  .section-title.-profile .section-title_inner {
    padding-right: 128px;
  }
}
@media (min-width: 950px) {
  .section-title.-profile .section-title_inner {
    padding-right: 161px;
  }
}
.section-title.-works .section-title_inner {
  align-items: center;
}
.section-title_inner::before {
  content: attr(data-en-text);
  font-family: var(--font-Allura);
  font-weight: normal;
  font-size: 60px;
  line-height: 1;
}
@media (min-width: 768px) {
  .section-title_inner::before {
    font-size: 80px;
  }
}
@media (min-width: 950px) {
  .section-title_inner::before {
    font-size: 120px;
  }
}
.section-title.-latest .section-title_inner::before {
  margin: 0 0 -9px 0;
}
@media (min-width: 768px) {
  .section-title.-latest .section-title_inner::before {
    margin: 0 0 -12px 0;
  }
}
@media (min-width: 950px) {
  .section-title.-latest .section-title_inner::before {
    margin: 0 0 -14px 0;
  }
}
.section-title.-news .section-title_inner::before {
  margin: 0px 0px -15px 11px;
}
@media (min-width: 768px) {
  .section-title.-news .section-title_inner::before {
    margin: 0px 0px -11px 15px;
  }
}
@media (min-width: 950px) {
  .section-title.-news .section-title_inner::before {
    margin: 0px 0px -25px 25px;
  }
}
.section-title.-about .section-title_inner::before {
  margin: 0px 0px -15px 0px;
}
@media (min-width: 768px) {
  .section-title.-about .section-title_inner::before {
    margin: 0px 0px -12px 0px;
  }
}
@media (min-width: 950px) {
  .section-title.-about .section-title_inner::before {
    margin: 0px 0px -26px 0px;
  }
}
.section-title.-profile .section-title_inner::before {
  margin: 0px -75px -25px 0px;
}
@media (min-width: 768px) {
  .section-title.-profile .section-title_inner::before {
    margin: 0px -121px -25px 0px;
  }
}
@media (min-width: 950px) {
  .section-title.-profile .section-title_inner::before {
    margin: 0px -152px -35px 0px;
  }
}
.section-title.-works .section-title_inner::before {
  margin: 0px 0px -17px 0px;
}
@media (min-width: 768px) {
  .section-title.-works .section-title_inner::before {
    margin: 0px 0px -19px 0px;
  }
}
@media (min-width: 950px) {
  .section-title.-works .section-title_inner::before {
    margin: 0px 0px -28px 0px;
  }
}
/* End タイトル */

/* メニュー */
.menu {
  padding: 21px 0 14px;
}
@media (min-width: 768px) {
  .menu {
    padding: 12px 0;
  }
}
.menu_inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  padding: 0 20px;
}
@media (min-width: 768px) {
  .menu_inner {
    display: flex;
    justify-content: center;
    padding: 0 24px;
  }
}
.menu_logo {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  align-self: center;
  justify-self: start;
  width: 52px;
}
@media (min-width: 768px) {
  .menu_logo {
    width: 53px;
  }
}
.menu_logo-img {
  width: 100%;
}
.menu_nav {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
  margin-top: 10px;
}
@media (min-width: 768px) {
  .menu_nav {
    display: flex;
    margin-top: 0;
  }
}
.menu_nav-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media (min-width: 768px) {
  .menu_nav-list {
    align-items: center;
    margin-left: 15px;
  }
}
.menu_nav-item {
}
.menu_nav-link {
  display: inline-block;
  font-family: var(--font-Shippori-Mincho);
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  margin: 0 0.65em;
  padding: 0.3em;
}
@media (min-width: 768px) {
  .menu_nav-link {
    font-size: clamp(16px, calc(18 / var(--comp-pc) * 100vw), 18px);
    margin: 0 0.53em;
    /* transition: color 0.3s; */
  }
}
@media (any-hover: hover) {
  .menu_nav-link {
    transition: color 0.3s;
  }
  .menu_nav-link:is(:hover, :focus-within) {
    color: #960539;
    text-decoration: none;
  }
}
.menu_sns {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-self: end;
  justify-self: end;
  gap: 8px;
  margin-left: 20px;
  padding-right: 5px;
}
@media (min-width: 768px) {
  .menu_sns {
    gap: 16px;
    align-self: center;
    margin-left: auto;
    padding-right: 0;
  }
}
.menu_sns-link {
  display: block;
  width: 32px;
  height: 32px;
}
@media (min-width: 768px) {
  .menu_sns-link {
    width: 40px;
    height: 40px;
    /* transition: opacity 0.3s; */
  }
}
@media (any-hover: hover) {
  .menu_sns-link {
    transition: opacity 0.3s;
  }
  .menu_sns-link:is(:hover, :focus-within) {
    opacity: 0.6;
  }
}
.menu_sns-img {
  width: 100%;
}

/* End メニュー */

/* ヒーロー */
.hero {
  position: relative;
}
.hero_inner {
  position: relative;
}
.hero_img {
  width: 100%;
}
.hero_link {
  display: block;
}
@media (any-hover: hover) {
  .hero_link[href] {
    transition: opacity 0.3s;
  }
  .hero_link[href]:is(:hover, :focus-within) {
    opacity: 0.8;
  }
}
.hero_thumbnail-slider {
  position: absolute;
  bottom: calc(43 / var(--comp-sp) * -100vw);
  right: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .hero_thumbnail-slider {
    bottom: calc(38 / var(--comp-tablet) * -100vw);
  }
}
@media (min-width: 950px) {
  .hero_thumbnail-slider {
    bottom: calc(60 / var(--comp-pc) * -100vw);
    width: 65.7%;
    /* width: 43.5%; */
  }
}
.hero_thumbnail-slider .splide__slide {
  position: relative;
  aspect-ratio: 106 / 66;
  border-color: #000;
  border-style: solid;
  border-width: 2px;
}
@media (min-width: 768px) {
  .hero_thumbnail-slider .splide__slide {
    aspect-ratio: 215 / 72;
  }
}
@media (any-hover: hover) {
  .hero_thumbnail-slider .splide__slide {
    transition: border-color 0.3s;
  }
  .hero_thumbnail-slider .splide__slide:not(.is-active):is(:hover, :focus-within) {
    border-color: #ffffb7;
  }
}
.hero_thumbnail-slider .splide__slide.is-active {
  border-color: #ffffb7;
}
.hero_thumbnail-slider .splide__slide .hero_img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
}
@media (any-hover: hover) {
  .hero_thumbnail-slider .splide__slide .hero_img {
    cursor: pointer;
    transition-duration: 0.3s;
    transition-property: opacity, visibility;
    transition-timing-function: linear;
  }
}
.hero_thumbnail-slider .splide__slide .hero_img.-off {
  z-index: var(--z-hero_img-off);
  opacity: 1;
  visibility: visible;
}
.hero_thumbnail-slider .splide__slide.is-active .hero_img.-off {
  opacity: 0;
  visibility: hidden;
}
@media (any-hover: hover) {
  .hero_thumbnail-slider .splide__slide:not(.is-active):is(:hover, :focus-within) .hero_img.-off {
    opacity: 0;
    visibility: hidden;
  }
}
/* End ヒーロー */

/* スクロールダウン */
.scrolldown {
  --scroll-down-bar-height: min(calc(174 / var(--comp-pc) * 100vw), 174px);
  position: absolute;
  bottom: -61px;
  z-index: var(--z-scrolldown);
  display: none;
  left: 63px;
  line-height: 1 !important;
  padding-bottom: calc(var(--scroll-down-bar-height) + 12px);
}
@media (min-width: 950px) {
  .scrolldown {
    display: block;
  }
}
.scrolldown::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 1px;
  height: var(--scroll-down-bar-height);
  background-color: #d07046;
}
.scrolldown_inner {
  display: block;
  color: #fff;
  font-family: var(--font-Shippori-Mincho);
  font-size: 14px;
  writing-mode: vertical-rl;
  transform: scale(-1, -1);
}
/* End スクロールダウン */

/* 編集部からのお知らせ */
.message {
  padding: calc(82 / var(--comp-sp) * 100vw) 0 0;
}
@media (min-width: 768px) {
  .message {
    padding: calc(99 / var(--comp-pc) * 100vw) 0 0;
  }
}
.message_inner {
  background-color: #fff;
  padding: 20px 19px 24px;
}
@media (min-width: 768px) {
  .message_inner {
    padding: 31px min(calc(143 / var(--comp-pc) * 100vw), 143px) 33px;
  }
}
.message_title {
  font-size: 20px !important;
  font-weight: bold;
}
.message_text {
  font-size: 16px;
  line-height: 1.5 !important;
  margin-top: 12px !important;
}
@media (min-width: 768px) {
  .message_text {
    margin-top: 14px !important;
  }
}
/* End 編集部からのお知らせ */

/* 最新作 */
.latest {
  padding: 3vw 0 123px;
}
@media (min-width: 768px) {
  .latest {
    padding: 20px 0 40px;
  }
}
@media (min-width: 950px) {
  .latest {
    padding: 16px 0 40px;
  }
}
.message + .latest {
  padding-top: 11vw;
}
@media (min-width: 768px) {
  .message + .latest {
    padding-top: 4vw;
  }
}
.latest_inner {
  position: relative;
}
.latest_inner::before {
  position: absolute;
  top: 32px;
  left: 0;
  content: '';
  width: 74.5%;
  height: 100.6%;
  background-position: right center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: linear-gradient(rgba(240, 238, 226, 0.7), rgba(240, 238, 226, 0.7)), url('/share/sp/king/img/bg_latest6.webp');
}
@media (min-width: 768px) {
  .latest_inner::before {
    top: 44px;
    width: 72.4%;
    height: 405px;
  }
}
@media (min-width: 950px) {
  .latest_inner::before {
    top: 55px;
    width: 65.9%;
    height: 417px;
  }
}
.latest_title {
  position: relative;
  z-index: var(--z-latest_title);
}
@media (min-width: 768px) {
  .latest_title {
  }
}
.latest_list {
  position: relative;
  z-index: var(--z-latest_list);
  display: grid;
  gap: 30px;
  margin-top: -10px;
}
@media (min-width: 768px) {
  .latest_list {
    gap: 20px;
    grid-template-columns: repeat(2, 1fr);
    margin-top: -11px;
  }
}
@media (min-width: 768px) {
  .latest_list.-single {
    display: block;
    max-width: 868px;
    margin: 0 auto;
  }
}
.latest_item {
  max-width: 350px;
}
@media (min-width: 768px) {
  .latest_item {
    display: flex;
    flex-direction: column;
    max-width: none;
  }
}
@media (min-width: 768px) {
  .latest_list.-single .latest_item {
    display: grid;
    grid-template-columns: 254px auto;
    grid-template-rows: auto auto;
  }
}
.latest_item:nth-child(even) {
  justify-self: end;
}
@media (min-width: 768px) {
  .latest_item:nth-child(even) {
    justify-self: auto;
  }
}
.latest_link {
  display: block;
}
@media (min-width: 768px) {
  /* .latest_link {
    transition: opacity 0.3s;
  } */
}
@media (any-hover: hover) {
  .latest_link {
    transition: opacity 0.3s;
  }
  .latest_link:is(:hover) {
    opacity: 0.8;
  }
}
.latest_figure {
  position: relative;
  z-index: var(--z-latest_figure);
  width: 160px;
}
@media (min-width: 768px) {
  .latest_figure {
    width: 201px;
  }
}
@media (min-width: 950px) {
  .latest_figure {
    width: 41.5%;
  }
}
@media (min-width: 768px) {
  .latest_list.-single .latest_figure {
    width: auto;
  }
}
.latest_item:nth-child(odd) .latest_figure {
  margin-left: auto;
}
@media (min-width: 768px) {
  .latest_item:nth-child(odd) .latest_figure {
  }
}
@media (min-width: 768px) {
  .latest_list.-single .latest_figure {
    grid-area: 1 / 1 / 3 / 2;
    margin-left: 0;
  }
}
.latest_img {
  width: 100%;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.8);
}
.latest_box {
  border: 1px solid #000;
  background: #fff;
  margin-top: -160px;
  padding: 10px 12px 33px;
}
@media (min-width: 768px) {
  .latest_box {
    margin-top: -28px;
    padding: 46px 14px 20px;
    align-self: start;
  }
}
@media (min-width: 950px) {
  .latest_box {
    margin-top: -184px;
    padding: 46px 14px 51px;
  }
}
.latest_item:nth-child(odd) .latest_box {
  margin-right: 33px;
}
@media (min-width: 768px) {
  .latest_item:nth-child(odd) .latest_box {
    margin-right: 6px;
  }
}
@media (min-width: 950px) {
  .latest_item:nth-child(odd) .latest_box {
    margin-right: 20px;
    padding: 19px min(calc(257 / var(--comp-pc) * 100vw), 257px) 23px 24px;
  }
}
@media (min-width: 768px) {
  .latest_list.-single .latest_box {
    grid-area: 1 / 1 / 2 / 3;
    margin: 46px 0 0 20px;
    padding: 25px 20px 61px 258px;
  }
}
.latest_item:nth-child(even) .latest_box {
  margin-left: 33px;
}
@media (min-width: 768px) {
  .latest_item:nth-child(even) .latest_box {
    margin-left: 6px;
  }
}
@media (min-width: 950px) {
  .latest_item:nth-child(even) .latest_box {
    margin-left: 20px;
    padding: 19px 24px 23px min(calc(257 / var(--comp-pc) * 100vw), 257px);
  }
}
.latest_box-title {
  font-family: var(--font-Shippori-Mincho);
  /* font-size: clamp(20px, calc(22 / var(--comp-sp) * 100vw), 22px); */
  font-size: 19px;
  font-weight: bold;
  line-height: 1.448;
}
@media (min-width: 768px) {
  .latest_box-title {
    font-size: 23px;
    letter-spacing: -0.05em;
  }
}
@media (min-width: 950px) {
  .latest_box-title {
    font-size: 26px;
  }
}
.latest_item:nth-child(odd) .latest_box-title {
  padding-right: min(calc(133 / var(--comp-sp) * 100vw), 133px);
}
@media (min-width: 768px) {
  .latest_item:nth-child(odd) .latest_box-title {
    padding-right: 0 !important;
  }
}
.latest_item:nth-child(even) .latest_box-title {
  padding-left: min(calc(133 / var(--comp-sp) * 100vw), 133px) !important;
}
@media (min-width: 768px) {
  .latest_item:nth-child(even) .latest_box-title {
    padding-left: 0 !important;
  }
}
@media (min-width: 768px) {
  .latest_list.-single .latest_box-title {
    font-size: 30px;
  }
}
.latest_box-title span:not([class]) {
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin-top: 8px;
}
@media (min-width: 768px) {
  .latest_box-title span:not([class]) {
    font-size: 16px;
    letter-spacing: -0.05em;
    margin-top: 0;
  }
}
@media (min-width: 950px) {
  .latest_box-title span:not([class]) {
    display: inline;
  }
}
.latest_volume {
  position: relative;
  display: inline-grid;
  place-items: center;
  font-size: 15px;
  width: 26px;
  aspect-ratio: 1;
  vertical-align: text-bottom;
  margin-left: 5px;
}
@media (min-width: 768px) {
  .latest_volume {
    font-size: 18px;
    width: 30px;
  }
}
@media (min-width: 950px) {
  .latest_volume {
    font-size: 22px;
    width: 45px;
    translate: 0 5px;
  }
}
.latest_volume span {
  position: relative;
  z-index: var(--z-latest_volume_span);
}
.latest_volume::before {
  content: '';
  position: absolute;
  inset: 0;
  width: 27px;
  aspect-ratio: 1;
  margin: auto;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (min-width: 768px) {
  .latest_volume::before {
    width: 30px;
  }
}
@media (min-width: 950px) {
  .latest_volume::before {
    width: 40px;
  }
}
.latest_item.-first .latest_volume::before {
  background-image: url('/share/sp/king/img/ico_vol_blue.webp');
}
.latest_item.-second .latest_volume::before {
  background-image: url('/share/sp/king/img/ico_vol_red.webp');
}
.latest_lead {
  font-family: var(--font-Shippori-Mincho);
  font-size: clamp(15px, calc(16 / var(--comp-sp) * 100vw), 16px);
  font-weight: bold;
  line-height: 1.375 !important;
  margin-top: 24px !important;
}
@media (min-width: 768px) {
  .latest_lead {
    font-size: 16px;
    line-height: 1.448 !important;
  }
}
@media (min-width: 950px) {
  .latest_lead {
    font-size: 17px;
    margin-top: 10px !important;
  }
}
.latest_item:nth-child(odd) .latest_lead {
  padding-right: 120px;
}
@media (min-width: 768px) {
  .latest_item:nth-child(odd) .latest_lead {
    padding-right: 0;
  }
}
.latest_item:nth-child(even) .latest_lead {
  padding-left: 133px !important;
}
@media (min-width: 768px) {
  .latest_item:nth-child(even) .latest_lead {
    padding-left: 0 !important;
  }
}
.latest_text {
  font-size: 14px;
  line-height: 1.45 !important;
  margin-top: 36px !important;
}
@media (min-width: 768px) {
  .latest_text {
    font-size: 14px;
    line-height: 1.5 !important;
    margin-top: 12px !important;
  }
}
@media (min-width: 950px) {
  .latest_text {
    font-size: 16px;
  }
}
.latest_band {
  margin-top: 8px;
}
@media (min-width: 768px) {
  .latest_band {
    --margin-inside: 37px;
    --margin-outside: 16px;
    flex: 1;
    margin-top: -36px;
  }
}
@media (min-width: 768px) {
  .latest_item.-first .latest_band {
    margin-right: var(--margin-inside);
    margin-left: var(--margin-outside);
  }
}
@media (min-width: 768px) {
  .latest_item.-second .latest_band {
    margin-right: var(--margin-outside);
    margin-left: var(--margin-inside);
  }
}
.latest_item.-first .latest_band {
  /* background-color: #00a5ca; */
}
.latest_item.-second .latest_band {
  /* background-color: #d19046; */
}
.latest_list.-single .latest_band {
  /* padding: 12px 29px; */
}
@media (min-width: 768px) {
  .latest_list.-single .latest_band {
    grid-area: 2 / 2 / 3 / 3;
    margin: -38px 26px 0;
    /* padding: 17px 44px; */
  }
}
.latest_band-figure {
}
@media (min-width: 768px) {
  .latest_band-figure {
  }
}
.latest_band-img {
  width: 100%;
}
@media (min-width: 768px) {
  .latest_band-img {
  }
}
.latest_band-text {
  font-family: var(--font-Shippori-Mincho);
  font-size: 14px;
  text-align: center !important;
  line-height: 1.448 !important;
  word-break: keep-all !important;
  overflow-wrap: anywhere;
  padding-top: 7px !important;
  padding-bottom: 10px !important;
}
@media (min-width: 950px) {
  .latest_band-text {
    font-size: 17px;
    padding-top: 11px !important;
    padding-bottom: 19px !important;
  }
}
.latest_item.-first .latest_band-text {
  padding-inline: 14px !important;
}
@media (min-width: 768px) {
  .latest_item.-first .latest_band-text {
    max-width: 420px;
    margin: 0 auto !important;
  }
}
.latest_item.-second .latest_band-text {
  padding-inline: 10px !important;
}
.latest_band-text::before,
.latest_band-text::after {
  display: inline-block;
  color: #fff;
  font-size: 30px;
  line-height: 1;
  vertical-align: text-top;
  margin-bottom: -10px;
}
.latest_band-text::before {
  content: '“';
}
.latest_band-text::after {
  content: '”';
  margin-left: -10px;
}
.latest_banner {
  --hover-opacity: 0.8;
  display: block;
  margin-top: 8px;
  transition: opacity 0.3s;
}
@media (min-width: 768px) {
  .latest_banner {
    width: 91.5%;
    margin: -60px auto 0;
    align-self: start;
  }
}
.latest_banner:focus-visible {
  opacity: var(--hover-opacity);
}
@media (any-hover: hover) {
  .latest_banner:hover {
    opacity: var(--hover-opacity);
  }
}
.latest_banner-img {
  width: 100%;
  border: 1px solid #000;
}
/* End 最新作 */

/* ニュース */
.news {
  padding: 9px 0 25px;
}
@media (min-width: 768px) {
  .news {
    padding: 20px 0 25px;
  }
}
@media (min-width: 950px) {
  .news {
    padding: 40px 0;
  }
}
.news_title {
  position: relative;
  z-index: var(--z-news_title);
  pointer-events: none;
}
.news_body-wrap {
  background-color: #fff;
  margin-top: -50px;
  padding-top: 55px;
}
@media (min-width: 768px) {
  .news_body-wrap {
    width: 80.5%;
    margin: -53px 0 0 auto;
    padding-top: 0px;
  }
}
@media (min-width: 950px) {
  .news_body-wrap {
    width: 85.5%;
    margin: -86px 0 0 auto;
  }
}
.news_body {
  max-height: 298px;
  overflow: auto;
  overscroll-behavior: contain;
}
@media (min-width: 768px) {
  .news_body {
    max-height: 294px;
  }
}
.news_list {
  padding: 0 18px 55px;
}
@media (min-width: 768px) {
  .news_list {
    padding: 6px 26px 25px;
  }
}
@media (min-width: 950px) {
  .news_list {
    padding: 25px 31px;
  }
}
.news_item {
  text-align: left;
  padding: 13px 0;
}
@media (min-width: 768px) {
  .news_item {
    display: flex;
    padding: 15px 0;
  }
}
.news_item + .news_item {
  border-top: 1px solid #ccc;
}
.news_time {
  display: inline-block;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .news_time {
    flex: 1;
    padding-right: 1em;
  }
}
.news_text {
  line-height: 1.45 !important;
  margin-top: 4px !important;
}
@media (min-width: 768px) {
  .news_text {
    flex: 3.9;
    margin-top: 0 !important;
  }
}
@media (min-width: 950px) {
  .news_text {
    flex: 7;
  }
}
/* End ニュース */

/* キングとは */
.about {
  padding: 25px 0;
}
@media (min-width: 768px) {
  .about {
    padding: 35px 0;
  }
}
@media (min-width: 950px) {
  .about {
    padding: 45px 0;
  }
}
.about_inner {
}
.about_title {
}
.about_wrap {
}
@media (min-width: 950px) {
  .about_wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
.about_figure {
  --border-width: 5px;
  margin: 10px calc(50% - 50vw - var(--border-width)) 0 auto;
  width: 101%;
}
@media (min-width: 768px) {
  .about_figure {
    --border-width: 10px;
    margin-top: -19px;
    width: 79%;
  }
}
@media (min-width: 950px) {
  .about_figure {
    width: calc(50% + (50vw - 50%));
    margin-top: -8%;
  }
}
.about_img {
  width: 100%;
  border-color: #c8c5bc;
  border-style: solid;
  border-width: var(--border-width);
}
.about_texts {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .about_texts {
    margin-top: 33px;
  }
}
@media (min-width: 950px) {
  .about_texts {
    width: calc(588 / 1246 * 100%);
  }
}
.about_text {
  font-size: 14px;
  line-height: 1.57 !important;
}
@media (min-width: 768px) {
  .about_text {
    font-size: 16px;
    line-height: 1.625 !important;
  }
}
/* End キングとは */

/* プロフィール */
.profile {
  padding: 22px 0;
}
@media (min-width: 768px) {
  .profile {
    padding: 25px 0;
  }
}
@media (min-width: 950px) {
  .profile {
    padding: 37px 0;
  }
}
.profile_title {
}
@media (min-width: 768px) {
  .profile_title {
  }
}
@media (min-width: 768px) {
  .profile_wrap {
    display: flex;
    justify-content: space-between;
  }
}
.profile_figure {
  --border-width: 5px;
  margin: 5px 0 0 calc(50% - 50vw - var(--border-width));
  width: 77%;
}
@media (min-width: 768px) {
  .profile_figure {
    --border-width: 10px;
    margin-top: -9px;
    width: 41%;
  }
}
@media (min-width: 950px) {
  .profile_figure {
    width: calc(33% + (50vw - 50%));
    margin-top: -6%;
  }
}
.profile_img {
  width: 100%;
  border-color: #c8c5bc;
  border-style: solid;
  border-width: var(--border-width);
}
.profile_texts {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .profile_texts {
    margin-top: 21px;
    width: 59%;
  }
}
@media (min-width: 950px) {
  .profile_texts {
    width: calc(785 / 1246 * 100%);
    margin: 34px 35px 0 3.5%;
  }
}
.profile_text {
  font-size: 14px;
  line-height: 1.57 !important;
}
@media (min-width: 768px) {
  .profile_text {
    font-size: 16px;
  }
}
.profile_text + .profile_text {
  margin-top: 20px !important;
}
/* End プロフィール */

/* 刊行一覧 */
.works {
  padding: 26px 0 0;
}
@media (min-width: 768px) {
  .works {
    padding: 50px 0 0;
  }
}
.works_inner {
}
@media (min-width: 768px) {
  .works_inner {
    --padding: 24px;
    max-width: calc(1318px + var(--padding) * 2);
    margin: 0 auto;
    padding: 0 24px;
  }
}
.works_title {
  position: relative;
  z-index: var(--z-works_title);
}
.works_body {
  margin: -48px 0 0;
}
@media (min-width: 768px) {
  .works_body {
    margin: -67px 0 0;
  }
}
@media (min-width: 950px) {
  .works_body {
    margin: -75px 0 0;
  }
}
.works_wrap {
  min-height: 1500px;
}
@media (min-width: 768px) {
  .works_wrap {
    min-height: 1400px;
  }
}
@media (min-width: 950px) {
  .works_wrap {
    min-height: 1500px;
  }
}
.works_list {
  display: grid;
  column-gap: 10px;
  row-gap: 13px;
  grid-template-columns: repeat(4, 1fr);
  background-color: #f0eee2;
  border-color: #c8c5bc;
  border-style: solid;
  border-width: 4px;
  padding: 62px 16px 32px;
}
@media (min-width: 768px) {
  .works_list {
    grid-template-columns: repeat(7, 1fr);
    column-gap: 14px;
    row-gap: 18px;
    padding: 90px 33px 26px;
  }
}
@media (min-width: 950px) {
  .works_list {
    grid-template-columns: repeat(8, 1fr);
    column-gap: min(26 / var(--comp-pc) * 100vw, 26px);
    row-gap: min(30 / var(--comp-pc) * 100vw, 30px);
    border-width: 10px;
    padding: 102px 37px 67px;
  }
}
.works_item {
}
.works_button {
  display: block;
}
@media (min-width: 768px) {
  /* .works_button {
    transition: opacity 0.3s;
  } */
}
@media (any-hover: hover) {
  .works_button {
    transition: opacity 0.3s;
  }
  .works_button:is(:hover, :focus-within) {
    opacity: 0.6;
  }
}
.works_img {
  position: relative; /* Safariでbutton外に及ぶimgのシャドウがカットされるのを防止 */
  width: 100%;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.8);
}
@media (min-width: 950px) {
  .works_img {
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.8);
  }
}
.works_list-title {
  display: block;
  font-size: 10px;
  text-align: center !important;
  line-height: 1.448 !important;
  margin-top: 5px !important;
}
@media (min-width: 950px) {
  .works_list-title {
    font-size: 14px;
    margin-top: 9px !important;
  }
}
/* End 刊行一覧 */

/* 刊行モーダル */
.modal-contents {
  position: relative;
  z-index: var(--z-modal-contents);
}
.modal {
  position: fixed;
  z-index: var(--z-modal);
  bottom: 0;
  right: 0;
  left: 0;
  display: none;
  width: 100%;
  max-width: 390px;
  max-height: 100%;
  margin: auto;
  will-change: transform;
}
.modal.-isShow {
  display: block;
  z-index: var(--z-modal-isShow);
}
.modal[aria-hidden='true'] {
  animation-name: modalOut;
  animation-duration: 0.4s;
  animation-fill-mode: forwards;
}
@keyframes modalOut {
  from {
    transform: translateY(0%);
  }
  to {
    transform: translateY(100%);
  }
}
.modal[aria-hidden='false'] {
  animation-name: modalIn;
  animation-duration: 0.4s;
}
@keyframes modalIn {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0%);
  }
}
@media (min-width: 768px) {
  .modal {
    width: 604px;
    max-width: none;
  }
}
.modal_inner {
  max-height: 100svh;
  overflow-y: auto;
  padding: 64px 20px 0;
}
@media (min-width: 768px) {
  .modal_inner {
    padding-top: 40px;
  }
}
.modal_box {
  position: relative;
  background-color: #fff;
  border-radius: 20px 20px 0px 0px;
  padding: 0 22px;
}
@media (min-width: 768px) {
  .modal_box {
    padding: 0 34px;
  }
}
.modal_figure {
  line-height: 0;
  width: 47.7%;
  max-width: 146px;
  margin: 0 auto;
  transform: translateY(-52px);
}
@media (min-width: 768px) {
  .modal_figure {
    width: 164px;
    max-width: none;
    transform: translateY(-27px);
  }
}
.modal_img {
  width: 100%;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.8);
}
@media (min-width: 768px) {
  .modal_img {
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.8);
  }
}
.modal_title {
  font-family: var(--font-Shippori-Mincho);
  font-weight: bold;
  font-size: 24px;
  text-align: center !important;
  margin-top: -41px !important;
}
@media (min-width: 768px) {
  .modal_title {
    margin-top: -14px !important;
  }
}
.modal_body {
  margin-top: 6px;
}
.modal_content {
  display: none;
}
.modal_content.-info {
  margin-bottom: 28px;
}
@media (min-width: 768px) {
  .modal_content.-info {
    margin-bottom: 52px;
  }
}
.modal_content.-order {
  margin-bottom: 17px;
}
.modal_content.-isShow {
  display: block;
}
.modal_text {
  font-family: var(--font-Shippori-Mincho);
  font-weight: bold;
  line-height: 1.448 !important;
  text-align: center !important;
}
.modal_text:empty {
  display: none;
}
.modal_lead {
  font-size: 14px;
  line-height: 1.286 !important;
  background-color: #f0eee2;
  margin-top: 8px !important;
  padding: 13px 14px !important;
}
@media (min-width: 768px) {
  .modal_lead {
    margin-top: 13px !important;
    padding: 18px 14px !important;
  }
}
.modal_lead:empty {
  display: none;
}
.modal_list {
  margin-top: 9px;
}
@media (min-width: 768px) {
  .modal_list {
    margin-top: 14px;
  }
}
.modal_item {
  display: flex;
}
.modal_item + .modal_item {
  margin-top: 6px;
}
.modal_term {
  flex-shrink: 0;
  flex-basis: 110px;
  font-size: 14px;
  font-weight: bold;
  text-align: left;
  padding-right: 10px;
}
.modal_desc {
  font-size: 14px;
  text-align: left;
}
.modal_order {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
}
@media (min-width: 768px) {
  .modal_order {
    gap: 10px;
    width: 89%;
    margin: 0 auto;
  }
}
.modal_order-item {
}
.modal_order-link {
  display: block;
  line-height: 0;
}
@media (min-width: 768px) {
  /* .modal_order-link {
    transition: opacity 0.3s;
  } */
}
@media (any-hover: hover) {
  .modal_order-link {
    transition: opacity 0.3s;
  }
  .modal_order-link:is(:hover, :focus-within) {
    opacity: 0.6;
  }
}
.modal_order-img {
  width: 100%;
}
.modal_buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
  margin-top: 17px;
}
@media (min-width: 768px) {
  .modal_buttons {
    gap: 18px;
  }
}
.modal_button {
  font-weight: bold;
  color: #fff;
  line-height: 1.5;
  text-align: center;
  border-radius: 6px 6px 0px 0px;
  padding: 11px 5px;
}
@media (min-width: 768px) {
  .modal_button {
    padding: 8px 20px;
    /* transition: opacity 0.3s; */
  }
}
@media (any-hover: hover) {
  .modal_button {
    transition: opacity 0.3s;
  }
  .modal_button:is(:hover) {
    opacity: 0.6;
    text-decoration: none;
  }
}
.modal_button.-info {
  background-color: #055f96;
}
.modal_button.-order {
  background-color: #960539;
}
.modal_button.-order.-isActive {
  background-color: #000;
}
.modal_close {
  position: absolute;
  top: 0;
  right: -16px;
  width: 54px;
  height: 54px;
  background-color: #000;
  transform: translateY(-50%);
}
@media (min-width: 768px) {
  .modal_close {
    right: 0;
    /* transition: opacity 0.3s; */
  }
}
@media (any-hover: hover) {
  .modal_close {
    transition: opacity 0.3s;
  }
  .modal_close:is(:hover, :focus-within) {
    opacity: 0.6;
  }
}
.modal_close::before,
.modal_close::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: '';
  display: block;
  width: calc(34 / 54 * 100%);
  height: 2px;
  background-color: #fff;
  border-radius: 9999px;
  margin: 0 auto;
}
.modal_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modal_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal-overlay {
  position: fixed;
  z-index: var(--z-modal-overlay);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(240, 238, 224, 0.85);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.2s,
    visibility 0.2s;
}
.modal-overlay.-isShow {
  opacity: 1;
  visibility: visible;
}
/* End 刊行モーダル */

/* バナー */
.banner.-top {
  padding: 40px 0;
}
@media (min-width: 768px) {
  .banner.-top {
    padding: 50px 0;
  }
}
@media (min-width: 950px) {
  .banner.-top {
    padding: 60px 0;
  }
}
.banner.-bottom {
  padding: 40px 0;
}
@media (min-width: 768px) {
  .banner.-bottom {
    padding: 50px 0;
  }
}
@media (min-width: 950px) {
  .banner.-bottom {
    padding: 70px 0;
  }
}
.banner_list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
@media (min-width: 768px) {
  .banner_list {
    flex-direction: row;
    max-width: 1200px;
    margin: 0 auto;
    gap: min(32 / var(--comp-pc) * 100vw, 32px);
  }
  .banner_list:has(:nth-child(3)) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.banner_item {
  flex: 1;
  width: 100%;
}
@media (min-width: 768px) {
  .banner_item {
    max-width: 584px;
  }
}
.banner_link {
  display: block;
}
@media (min-width: 768px) {
  /* .banner_link {
    transition: opacity 0.3s;
  } */
}
@media (any-hover: hover) {
  .banner_link {
    transition: opacity 0.3s;
  }
  .banner_link:is(:hover, :focus-within) {
    opacity: 0.6;
  }
}

.banner_img {
  width: 100%;
}
/* End バナー */
