/** @format */

@charset "UTF-8";

/*-----------------------------------------------------------------
		汎用スタイル
-----------------------------------------------------------------*/
* {
  margin: 0;
  padding: 0;
}

/* ↑これが無いとモーダルウィンドウ表示の際に余白が出る */
@font-face {
  font-family: "Roustel";
  src: url("/assets/font/Roustel.woff2") format("woff2"),
    url("/assets/font/Roustel.woff") format("woff");
}

.Roustel {
  font-family: "Roustel";
}

.Rollerscript {
  font-family: rollerscript-smooth, sans-serif;
  font-weight: 400;
  font-style: normal;
}

body {
  height: 100%;
}

.content {
  min-height: 100vh;
  margin-bottom: -40px;
}

.wrapper {
  background-color: #fafafa;
}

h1 {
  font-size: 3.6em;
  /* font-weight: 600; */
  color: #0d0d0d;
  margin: 30px 0 15px;
  position: relative;
  font-family: "Roustel";
  line-height: 1.5em;
  text-shadow: 0px 0px 10px #fff, 0px 0px 3px #fff;
  z-index: 1;
}

h1 .number {
  font-family: rollerscript-smooth, sans-serif;
  font-size: 1.2em;
  /* vertical-align: 6px; */
}

h1:after {
  position: absolute;
  bottom: -20px;
  left: 0;
  right: 0;
  z-index: -1;
  content: "";
  display: inline-block;
  height: 100%;
  background-image: url(../images/common/line.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50%;
}

@media screen and (max-width: 750px) {
  h1 {
    margin: 10px auto;
    line-height: 1.1em;
  }

  h1:after {
    background-size: 40%;
  }
}

h2 {
  color: #b99c67;
  font-size: 1.2em;
  font-family: "Noto Sans CJK JP", sans-serif;
  line-height: 1.5em;
  margin: 20px 0 0;
  text-align: center;
}

h3 {
  color: #64573b;
  font-family: "Noto Sans CJK JP", sans-serif;
  line-height: 1.5em;
}

@media screen and (max-width: 560px) {
  h3 {
    margin: 10px 0 0;
  }
}

h4 {
  font-family: "Roustel";
  font-size: 2.2em;
  color: #a38449;
  /* position:relative; */
  /* line-height:1.6em; */
  /* text-indent:2em; */
}

h4 .number {
  font-family: rollerscript-smooth, sans-serif;
  font-size: 1.6em;
  vertical-align: 6px;
}

h4 .sub_ttl {
  vertical-align: 8px;
}

/* h4::before,
h4::after{

} */
h4::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 36px;
  background: url(../images/common/subttl_left.svg) no-repeat;
  background-size: contain;
  /* margin-right: 5px; */
  /* position:absolute; */
  /* left: 0; */
  /* bottom: -5px; */
}

h4::after {
  content: "";
  display: inline-block;
  width: 21px;
  height: 36px;
  background: url(../images/common/subttl_right.svg) no-repeat;
  background-size: contain;
  margin-left: 5px;
  /* position:absolute;
  right: 0;
  bottom: -5px; */
}

p {
  font-size: 1.4em;
  font-family: "Noto Sans CJK JP", sans-serif;
  /* font-weight: 500; */
  color: #0d0d0d;
  line-height: 1.75em;
  margin-top: 10px;
}

.lead_txt {
  text-shadow: 0px 0px 5px #fff, 0px 0px 5px #fff, 0px 0px 3px #fff,
    0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 1px #fff;
}

a {
  text-decoration: none;
}

a:hover {
  cursor: pointer;
}

a:visited {
  color: inherit;
}

ul li {
  list-style: none;
}

.sp {
  display: none;
}

.pc {
  display: block;
}

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

  .sp {
    display: block;
  }
}

.sec-wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}

.sec-wrap + .sec-wrap {
  margin-top: 100px;
}

.content-inner {
  margin: 80px auto 0;
}

.content-inner p {
  margin: 0 auto 50px;
}

@media screen and (max-width: 1000px) {
  .content-inner {
    margin: 80px 40px 0;
  }
}

@media screen and (max-width: 560px) {
  .content-inner {
    margin: 40px 20px 0;
  }

  .content-inner p {
    margin: 0 auto 20px;
  }
}

/*-----------------------------------------------------------------
		背景指定
-----------------------------------------------------------------*/
.fv {
  background: url(../images/common/bg-mv-tL.png) left 70px top no-repeat,
    url(../images/common/bg-mv-bR.png) right 150px bottom no-repeat;
  height: 100vh;
}

.sec0 {
  background: url(../images/common/bg-sec0-tL.png) left top no-repeat,
    url(../images/common/bg-sec1-bR.png) right bottom -100px no-repeat;
  padding: 0 0 100px;
  /* padding-bottom: 40px; */
}

.sec1 {
  background: url(../images/common/bg-sec1-tL.png) left top no-repeat,
    url(../images/common/bg-sec1-bR.png) right bottom no-repeat;
  padding: 0 0 100px;
}

.sec2 {
  background: url(../images/common/bg-sec2-tL.png) left 0px bottom -50px/210px no-repeat;
  padding: 0 0 100px;
}

.sec3 {
  background: url(../images/common/bg-sec0-tL.png) left top no-repeat,
    url(../images/common/bg-sec1-bR.png) right 35% no-repeat,
    url(../images/common/bg-sec2-tL.png) left 0px bottom -50px/210px no-repeat;
  padding: 0 0 100px;
  z-index: -999;
}

.sec4 {
  background: url(../images/common/bg-sec0-tL.png) left top no-repeat,
    url(../images/common/bg-sec1-bR.png) right 35% no-repeat,
    url(../images/common/bg-sec1-tL.png) left 70% no-repeat,
    url(../images/common/bg-mv-bR.png) right -100px bottom -100px no-repeat;
  padding: 0 0 100px;
  z-index: -999;
}

@media screen and (max-width: 1000px) {
  .fv {
    background: url(../images/common/bg-mv-tL.png) left -60px top/360px no-repeat,
      url(../images/common/bg-mv-bR.png) right -100px bottom/340px no-repeat;
  }

  .sec0 {
    background: url(../images/common/bg-sec0-tL.png) left -60px top/360px no-repeat,
      url(../images/common/bg-sec1-bR.png) right -100px bottom -160px/340px
        no-repeat;
  }
}

@media screen and (max-width: 560px) {
  .fv {
    background: url(../images/common/bg-mv-tL.png) left -60px top/280px no-repeat,
      url(../images/common/bg-mv-bR.png) right -100px bottom/260px no-repeat;
    /* height: 50vh; */
  }

  .sec0 {
    background: url(../images/common/bg-sec0-tL.png) left -30px top -20px/160px
        no-repeat,
      url(../images/common/bg-sec1-bR.png) right 0px top 170px/100px no-repeat,
      url(../images/common/bg-sec2-tL.png) left -60px bottom -50px/190px
        no-repeat;
  }

  .sec1 {
    background: url(../images/common/bg-sec1-tL.png) left top 50px/80px
        no-repeat,
      url(../images/common/bg-sec1-bR.png) right 0px bottom 50px/120px no-repeat;
  }

  .sec2 {
    background: url(../images/common/bg-sec2-tL.png) left -40px bottom -70px/230px
      no-repeat;
  }

  .sec3 {
    background: url(../images/common/bg-sec0-tL.png) left -30px top -20px/160px
        no-repeat,
      url(../images/common/bg-sec1-bR.png) right 0px top 750px/100px no-repeat,
      url(../images/common/bg-sec1-tL.png) left bottom 50%/80px no-repeat,
      url(../images/common/bg-sec2-tL.png) left -60px bottom -50px/190px
        no-repeat;
  }

  .sec3 {
    background: url(../images/common/bg-sec0-tL.png) left -30px top -20px/160px
        no-repeat,
      url(../images/common/bg-sec1-bR.png) right 0px top 750px/100px no-repeat,
      url(../images/common/bg-sec1-tL.png) left bottom 50%/80px no-repeat,
      url(../images/common/bg-sec2-tL.png) left -60px bottom -50px/190px
        no-repeat;
  }

  .sec4 {
    background: url(../images/common/bg-sec0-tL.png) left -30px top -20px/160px
        no-repeat,
      url(../images/common/bg-sec1-bR.png) right top 35%/100px no-repeat,
      url(../images/common/bg-sec1-tL.png) left bottom 30%/80px no-repeat,
      url(../images/common/bg-mv-bR.png) right -80px bottom/200px no-repeat;
    padding: 0 0 100px;
    z-index: -999;
  }
}

/*-----------------------------------------------------------------
		ヘッダー
-----------------------------------------------------------------*/
header {
  padding: 42px 20px;
  margin: 0 auto;
}

.menu {
  max-width: 1280px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  font-family: "Roustel";
  font-size: 2.4em;
}

/* ロゴ */
.logo {
  margin-left: 20px;
  margin-right: auto;
  width: 80px;
  position: absolute;
  left: 20px;
}

/* ナビゲーション */
.nav ul {
  display: flex;
}

.nav ul li {
  display: flex;
  padding: 0 30px;
  /* font-weight: bold; */
  position: relative;
  z-index: 1;
}

.nav ul li a:visited {
  color: #0d0d0d;
}

.nav ul li a:link {
  color: #0d0d0d;
}

.nav ul li:after {
  content: "";
  position: absolute;
  top: 0.2em;
  left: 0;
  right: 0;
  display: inline-block;
  /* width: 100%; */
  height: 12px;
  z-index: -1;
  background-position: bottom center;
  transition: all 0.8s;
  opacity: 0;
}

.nav ul li:hover:after {
  background-image: url(../images/common/line-nav-pc.svg);
  background-size: 95px;
  background-repeat: no-repeat;
  opacity: 1;
}

.nav-sp .nav ul .under-line:after {
  opacity: 1;
  top: 0.5em;
  background-image: url(../images/common/line-nav-sp.svg);
  background-size: 140px;
  background-position: bottom center;
  background-repeat: no-repeat;
  height: 20px;
}

.nav-pc .nav a {
  text-shadow: 0px 0px 10px #fff, 0px 0px 3px #fff;
  /* height: 40px; */
  /* background-image:url(../images/common/line-nav-sp.svg);
  background-size: 78px;
  background-position: bottom center;
  background-repeat: no-repeat; */
  /* padding: 0 5px; */
}

.nav-pc .nav ul .under-line:after {
  opacity: 1;
  top: 0.2em;
  background-image: url(../images/common/line-nav-pc.svg);
  background-size: 95px;
  background-position: bottom center;
  background-repeat: no-repeat;
  height: 12px;
}

.gloval-nav {
  position: absolute;
}

.nav-pc {
  display: block;
}

.nav-sp {
  display: none;
}

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

  .nav-sp {
    display: block;
  }

  header {
    padding: 10px 20px;
    /* height: 40px; */
  }

  .logo {
    margin-left: 0;
  }

  .logo img {
    height: 30px;
  }

  #nav-toggle .sp {
    display: block;
  }

  /* トグルアイコン  */
  #nav-toggle,
  #nav-toggle span {
    display: inline-block;
    transition: transform 0.4s;
    box-sizing: border-box;
  }

  #nav-toggle {
    position: relative;
    width: 30px;
    height: 38px;
  }

  #nav-toggle span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #0d0d0d;
  }

  .secret #nav-toggle span {
    background-color: #fff;
  }

  #nav-toggle span:nth-of-type(1) {
    top: 5px;
  }

  #nav-toggle span:nth-of-type(2) {
    top: 15px;
  }

  #nav-toggle span:nth-of-type(3) {
    top: 25px;
  }

  .open #nav-toggle span:nth-of-type(1) {
    top: 5px;
  }

  .toggle-wrap {
    position: relative;
  }

  /* ハンバーガー下の文字 */
  .toggle-menu {
    display: inline-block;
    /* margin-top: 8px; */
    /* position: absolute; */
  }

  .toggle-close {
    display: none;
  }

  .open .toggle-menu {
    display: none;
  }

  .open .toggle-close {
    display: inline-block;
    /* position: absolute; */
    left: 50%;
    /* transform: translateX(-50%);
    margin-top: 10px; */
  }

  /* ハンバーガー下の文字 */
  /* ハンバーガーアニメーション */
  .open #nav-toggle.active {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }

  .open #nav-toggle.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
    background-color: #fff;
  }

  .open #nav-toggle.active span:nth-of-type(2) {
    -webkit-transform: translateY(0) rotate(45deg);
    transform: translateY(0) rotate(45deg);
    background-color: #fff;
  }

  .open #nav-toggle.active span:nth-of-type(3) {
    opacity: 0;
  }

  /* トグルアイコン  */
  /* メニュー開 */
  .nav ul {
    display: block;
  }

  .menu a {
    font-size: 1.7em;
  }

  #nav-toggle {
    z-index: 999;
  }

  #nav-toggle > div {
    width: 30px;
  }

  .open #nav-toggle > div {
    width: 25px;
  }

  #container {
    z-index: 900;
  }

  .gloval-nav.nav-sp {
    background: #a38449;
    color: #fff;
    /* position: fixed; */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 990;
    text-align: center;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    /* justify-content: center; */
    align-items: center;
    opacity: 0;
    transition: opacity 0.6s ease, visibility 0.6s ease;
    height: 100vh;
    overflow: auto;
    padding: 80px 0 0;
  }

  .nav a {
    display: block;
    padding: 0;
    height: 35px;
    transition: color 0.6s ease;
    margin-left: auto;
    margin-right: auto;
    background-size: 72px;
  }

  .gloval-nav.nav-sp a:link {
    color: #fff;
  }

  .gloval-nav.nav-sp a:visited {
    color: #fff;
  }

  .gloval-nav ul li {
    opacity: 0;
  }

  /* open */
  .open {
    overflow: hidden;
    position: fixed;
    width: 100%;
  }

  .open .gloval-nav {
    visibility: visible;
    opacity: 1;
  }

  .open .gloval-nav li {
    opacity: 1;
    transform: translateX(0);
    transition: transform 1s ease, opacity 0.9s ease;
    margin: 60px 0;
  }
}

/*-----------------------------------------------------------------
		MV
-----------------------------------------------------------------*/
/* .mv {
  height: 100vh;
} */
.mv-pc {
  display: block;
}

.mv-sp {
  display: none;
}

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

  .mv-sp {
    display: block;
  }
}

/* MVアニメーション */
.stroke {
  stroke: #dcbf5e;
  stroke-width: 0.5px;
  stroke-dasharray: 0 250;
  stroke-opacity: 1;
  fill: none;
  animation: stroke_offset 8s infinite;
  animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@keyframes stroke_offset {
  5% {
    stroke-dasharray: 0 250;
    stroke-opacity: 1;
  }

  45% {
    stroke-dasharray: 250 0;
    stroke-opacity: 0.75;
  }

  55% {
    stroke-dasharray: 250 0;
    stroke-opacity: 0;
  }

  70% {
    stroke-dasharray: 250 0;
    stroke-opacity: 0;
  }

  75% {
    stroke-dasharray: 250 0;
    stroke-opacity: 0.75;
  }

  100% {
    stroke-dasharray: 250 0;
    stroke-opacity: 1;
  }
}

.fill {
  fill: #0d0d0d;
  fill-opacity: 0;
  animation: fill_offset 8s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@keyframes fill_offset {
  25% {
    fill-opacity: 0;
  }

  35% {
    fill-opacity: 0;
  }

  50% {
    fill-opacity: 1;
  }

  70% {
    fill-opacity: 1;
  }

  90% {
    fill-opacity: 1;
  }

  100% {
    fill-opacity: 1;
  }
}

#fade-text {
  font-family: "Roustel", Helvetica, Arial, sans-serif;
  font-size: 9em;
  text-shadow: 0px 0px 10px #fff, 0px 0px 3px #fff;
}

svg {
  position: absolute;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 750px) {
  #fade-text {
    font-size: 12em;
  }

  .stroke {
    stroke-width: 1.5px;
  }
}

/*-----------------------------------------------------------------
		ホバー
-----------------------------------------------------------------*/
/* アニメーション1 */
figure.snip1194 {
  font-family: "Raleway", Arial, sans-serif;
  color: #fff;
  position: relative;
  overflow: hidden;
  /* margin: 10px;
  min-width: 220px;
  max-width: 310px;
  max-height: 220px;
  width: 100%; */
  background: #a07920;
  text-align: center;
}

figure.snip1194 * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
}

figure.snip1194 img {
  opacity: 1;
  width: 100%;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s;
}

figure.snip1194 figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 1.4em;
  line-height: 1.5em;
}

figure.snip1194 h3,
figure.snip1194 p {
  margin: 0;
  position: absolute;
  width: 100%;
  left: 0;
  opacity: 0;
  font-size: 1em;
  color: #fff;
}

figure.snip1194 h3 {
  padding: 0 30px;
  display: inline-block;
  /* font-weight: 400; */
  text-transform: uppercase;
  bottom: 40%;
  -webkit-transform: translate3d(0%, -100%, 0);
  transform: translate3d(0%, -100%, 0);
}

figure.snip1194 h3 span {
  /* font-weight: 400; */
}

figure.snip1194 p {
  top: 60%;
  padding: 0 50px;
  font-size: 0.8em;
  font-weight: 500;
  -webkit-transform: translate3d(0%, 100%, 0);
  transform: translate3d(0%, 100%, 0);
}

figure.snip1194 a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
}

figure.snip1194:hover img,
figure.snip1194.hover img {
  opacity: 0.3;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

figure.snip1194:hover figcaption h3,
figure.snip1194.hover figcaption h3,
figure.snip1194:hover figcaption p,
figure.snip1194.hover figcaption p {
  -webkit-transform: translate3d(0%, 0%, 0);
  transform: translate3d(0%, 0%, 0);
}

figure.snip1194:hover figcaption h3,
figure.snip1194.hover figcaption h3 {
  opacity: 1;
}

figure.snip1194:hover figcaption p,
figure.snip1194.hover figcaption p {
  opacity: 0.8;
}

/* アニメーション2 */
figure.snip1353 {
  font-family: "Raleway", Arial, sans-serif;
  position: relative;
  overflow: hidden;
  /* margin: 10px;
  min-width: 230px;
  max-width: 315px;
  max-height: 220px;
  width: 100%; */
  color: #fff;
  text-align: center;
}

figure.snip1353 * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
}

figure.snip1353 img {
  opacity: 1;
  width: 100%;
}

figure.snip1353:after,
figure.snip1353:before {
  background: #a07920;
  width: 200%;
  height: 200%;
  position: absolute;
  content: "";
  opacity: 0.5;
  -webkit-transition: all 0.55s ease-in-out;
  transition: all 0.55s ease-in-out;
  z-index: 1;
}

figure.snip1353:after {
  top: 0;
  left: 0;
  -webkit-transform: skew(-45deg) translateX(-150%);
  transform: skew(-45deg) translateX(-150%);
}

figure.snip1353:before {
  right: 0;
  bottom: 0;
  -webkit-transform: skew(-45deg) translateX(150%);
  transform: skew(-45deg) translateX(150%);
}

figure.snip1353 figcaption {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 2;
}

figure.snip1353 h3,
figure.snip1353 p {
  margin: 0;
  width: 100%;
  opacity: 0;
  line-height: 1.5em;
  color: #fff;
}

figure.snip1353 h3 {
  padding: 0 30px;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 1.4em;
}

figure.snip1353 p {
  padding: 0 50px;
  font-size: 1em;
  font-weight: 500;
  color: #fff;
}

figure.snip1353 a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 2;
}

figure.snip1353:hover img,
figure.snip1353.hover img {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}

figure.snip1353:hover:after,
figure.snip1353.hover:after {
  -webkit-transform: skew(-45deg) translateX(-50%);
  transform: skew(-45deg) translateX(-50%);
}

figure.snip1353:hover:before,
figure.snip1353.hover:before {
  -webkit-transform: skew(-45deg) translateX(50%);
  transform: skew(-45deg) translateX(50%);
}

figure.snip1353:hover figcaption h3,
figure.snip1353.hover figcaption h3,
figure.snip1353:hover figcaption p,
figure.snip1353.hover figcaption p {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

figure.snip1353:hover figcaption h3,
figure.snip1353.hover figcaption h3 {
  opacity: 1;
}

figure.snip1353:hover figcaption p,
figure.snip1353.hover figcaption p {
  opacity: 0.7;
}

/*-----------------------------------------------------------------
		ボタンホバー
-----------------------------------------------------------------*/
.button {
  border: 1px solid #dcbf5e;
  margin: 20px auto 0;
  position: relative;
  max-width: 150px;
  height: 38px;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.05em;
  background: #fafafa;
  font-size: 12px;
  transition: initial;
  overflow: hidden;
  text-decoration: none;
}

.button-Text {
  color: #a38449;
  font-weight: bold;
  z-index: 800;
  transition: 0.6s ease all;
}

.button:hover .button-Text {
  color: #fafafa;
  transition: 0.6s ease all;
}

.button:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 50%;
  margin: auto;
  width: 70px;
  height: 70px;
  background: #dcbf5e;
  transform: scale(0);
  transition: 0.6s ease all;
}

.button:hover:before {
  transform: scale(4.8);
}

/*-----------------------------------------------------------------
		sec4
-----------------------------------------------------------------*/
.tmb-list {
  /* max-width: 1020px; */
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.tmb-list li {
  margin-bottom: 30px;
  margin-left: 0;
  margin-right: 0;
  width: calc(100% / 3 - 20px);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.tmb-list:after {
  content: "";
  display: block;
  width: calc(100% / 3 - 20px);
  height: 0;
}

.sec1 .tmb-list p {
  color: #dcbf5e;
  font-size: 1em;
}

@media screen and (max-width: 750px) {
  .tmb-list {
    margin: 40px auto 0;
  }

  .tmb-list li {
    width: calc(100% / 2 - 20px);
    max-width: 670px;
  }

  /* .tmb-list li:nth-of-type(even){
    margin-left: 15px;
  } */
}

@media screen and (max-width: 560px) {
  .tmb-list {
    /* width: 80%; */
    max-width: 670px;
    margin: 40px auto 0;
    justify-content: center;
  }

  .tmb-list li {
    width: 80%;
    /* margin: 15px auto; */
  }
}

/*-----------------------------------------------------------------
		footer
-----------------------------------------------------------------*/
footer {
  height: 40px;
  /* width: 100%; */
  background-color: #b99c67;
  position: relative;
}

footer p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  color: #fff;
  text-align: center;
  font-size: 1em;
  line-height: 1.5;
  margin-top: 0;
}

/*-----------------------------------------------------------------
		About
-----------------------------------------------------------------*/
.about ul {
  margin-bottom: 50px;
}

.about ul li {
  padding: 10px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.about li p {
  /* font-size: 1.6em; */
  color: #a38449;
  margin: 0;
  line-height: 2em;
}

.about .heading:after {
  content: "─";
  padding: 0 20px;
}

@media screen and (max-width: 560px) {
  .about ul {
    margin-bottom: 20px;
  }

  .about ul li {
    display: block;
    padding: 20px 0;
  }

  .about li p {
    line-height: 1.5em;
  }

  .about .heading:after {
    content: "│";
    display: block;
    padding: 0 20px;
  }
}

/*-----------------------------------------------------------------
		Member
-----------------------------------------------------------------*/
.prof {
  position: relative;
  width: 180px;
  height: 144px;
  margin: 0 auto;
  display: block;
  border-radius: 12px;
  overflow: hidden;
}

.prof_left .prof {
  width: 180px;
  height: 184px;
}

.prof img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  display: block;
  -webkit-transition: 0.4s ease-in-out;
  transition: 0.4s ease-in-out;
}

.prof:hover img:nth-of-type(2) {
  opacity: 0;
}

.content-inner .member p {
  margin: 20px 0 20px;
}

.member p {
  text-align: left;
}

.member h2 {
  margin: 0;
}

.sns {
  margin-top: 10px;
}

.sns a {
  margin: 0 5px 0;
  transition: 0.3s;
}

.sns a:hover {
  transform: translateY(-4px);
}

.member_wrap {
  padding: 20px 20px 40px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid #dcbf5e;
  position: relative;
  cursor: pointer;
}

.member_wrap a:link {
  color: #b99c67;
}

.member_bottom {
  position: absolute;
  bottom: 0;
  right: 0;
}

.member_link {
  /* position: absolute;
bottom: 0;
right: 0; */
  display: flex;
  margin: 20px;
}

.content-inner .member .member_detail {
  font-size: 1.2em;
  color: #a38449;
  font-family: "Noto Serif JP", sans-serif;
  margin: 0;
}

.member_detail::after {
  border-right: 1em solid transparent;
}

.member .member_wrap:hover {
  background: #fdfdfd;
  filter: drop-shadow(1px 1px 2px #dcbf5e);
}

.member_arrow {
  width: 53px;
  height: 7px;
  background-image: url(../images/common/member_arrow.svg);
  margin: 8px 0 0px 10px;
  /* filter: drop-shadow(0px 0px 2px #DCBF5E); */
}

.card,
.card-tags a {
  position: relative;
}

.card-title a:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.member .semi_regular {
  padding: 20px 20px 40px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid #dcbf5e;
}

/*-----------------------------------------------------------------
		Special
-----------------------------------------------------------------*/
.special_wrap {
  margin: 0 0 80px;
}

.special_wrap ul + ul {
  margin-top: 60px;
}

.special li {
  /* width: calc(100% / 5 - 20px); */
  /* outline: 2px solid #DCBF5E;
  outline-offset: -2px; */
  cursor: pointer;
  width: 110px;
  height: 110px;
  object-fit: cover;
  /* margin: 15px; */
}

.special_img img {
  width: 110px;
  height: 110px;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.6);
}

@media screen and (max-width: 560px) {
  /* .special li {
    width: 220px;
    height: 220px;
  } */
  /* .special_img img {
    width: 220px;
    height: 220px;
  } */
}

.special.tmb-list:after {
  display: none;
}

.special.tmb-list {
  justify-content: space-evenly;
  max-width: 800px;
  margin: 50px auto 0;
  gap: 15px;
}

/*-----------------------------------------------------------------
		Member  Detail
-----------------------------------------------------------------*/
.detail.tmb-list {
  max-width: 800px;
}

.profile {
  padding: 20px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid #dcbf5e;
  display: flex;
  margin-bottom: 50px;
}

@media screen and (max-width: 750px) {
  .profile {
    flex-direction: column;
  }

  .prof_right {
    margin: 20px;
  }

  .prof_name {
    text-align: center;
  }
}

.profile.prof_left {
  margin: auto;
}

.prof_left .sns {
  justify-content: center;
}

.prof_left .sns a {
  margin: 0 10px;
}

.prof_right {
  margin-left: 30px;
  text-align: left;
}

.prof_right img {
  margin-bottom: 20px;
}

.prof_name {
  color: #b99c67;
  margin: 10px auto;
}

.prof_details {
  display: flex;
  margin-bottom: 20px;
}

.prof_details h2 {
  border-right: solid 1px #b99c67;
  color: #b99c67;
  margin: 0;
  min-width: 100px;
  text-align: left;
  font-size: 1.4em;
}

.prof_details p {
  margin: 0 0 0 20px;
}

@media screen and (max-width: 560px) {
  .prof_details {
    flex-direction: column;
  }

  .prof_details h2 {
    border-right: none;
    border-bottom: solid 1px #b99c67;
    padding-bottom: 5px;
    min-width: 150px;
  }

  .prof_details p {
    margin: 5px 0 0;
  }
}

/*-----------------------------------------------------------------
		Contact
-----------------------------------------------------------------*/
.form-wrap {
  min-width: 500px;
  margin: 40px auto;
}

.form-wrap td {
  position: relative;
}

.cp_iptxt input[type="text"],
.cp_iptxt textarea {
  font: 15px/24px serif;
  box-sizing: border-box;
  width: 100%;
  letter-spacing: 1px;
  padding-left: 7em;
  margin: 15px 0 0;
}

.cp_iptxt input[type="text"]:focus,
.cp_iptxt textarea:focus {
  outline: none;
}

.ef {
  padding: 4px 0;
  border: 0;
  border-bottom: 1px solid #dcbf5e;
  background-color: transparent;
}

.ef ~ .focus_line {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  transition: 0.4s;
  background-color: #a38449;
}

.ef ~ .focus_line {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  transition: 0.4s;
  background-color: #a38449;
}

.ef:focus ~ .focus_line,
.cp_iptxt.ef ~ .focus_line {
  left: 0;
  width: 100%;
  transition: 0.4s;
}

.ef ~ label {
  position: absolute;
  z-index: -1;
  top: 30px;
  left: 0;
  width: 100%;
  transition: 0.3s;
  letter-spacing: 0.5px;
  color: #a38449;
  text-align: left;
}

.ef:focus ~ label,
.cp_iptxt.ef ~ label {
  font-size: 12px;
  top: 15px;
  transition: 0.3s;
  color: #a38449;
}

textarea {
  resize: none;
  height: 35px;
}

.ef ~ .message {
  position: absolute;
  z-index: -1;
  top: 30px;
  left: 0;
  width: 100%;
  transition: 0.3s;
  letter-spacing: 0.5px;
  color: #a38449;
  text-align: left;
}

button {
  font: 300 12px "Noto Serif JP", serif;
}

.ef:focus ~ .error,
.cp_iptxt.ef ~ .errorz {
  color: #ba0d0d;
  top: 62px;
}

.ef ~ .error {
  color: #ba0d0d;
  top: 62px;
}

@media screen and (max-width: 560px) {
  .form-wrap {
    min-width: 280px;
    margin: 40px auto;
  }

  .cp_iptxt input[type="text"],
  .cp_iptxt textarea {
    padding-left: 0em;
    margin: 35px 0 0;
  }

  .ef:focus ~ .error,
  .cp_iptxt.ef ~ .errorz {
    color: #ba0d0d;
    top: 82px;
  }

  .ef ~ .error {
    color: #ba0d0d;
    top: 82px;
  }
}

/*-----------------------------------------------------------------
		モーダル
-----------------------------------------------------------------*/
/* modal */
.modal-wrapper {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
  opacity: 0;
  transition: 0.25s ease-out;
  z-index: 1000;
}

.modal-wrapper.show {
  opacity: 1;
  pointer-events: all;
}

.modal-image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* object-fit: cover; */
  opacity: 0;
  transition: 0.5s ease-out;
  min-width: 45vh;
  max-width: 90%;
  min-height: 65vh;
  max-height: 80%;
  object-fit: contain;
}

.modal-image.show {
  opacity: 1;
}

.modal p {
  color: #dcbf5e;
}

.br-sp {
  display: none;
}

.br-pc {
  display: block;
}

@media screen and (max-width: 750px) {
  .br-sp {
    display: block;
  }
}

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

/*-----------------------------------------------------------------
		シークレットページ
-----------------------------------------------------------------*/

.secret_link img {
  width: 120px;
  margin: 100px 30px 0;
}

.secret_transition {
  gap: 20px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 20px;
}
.secret_transition .button {
  padding: 0 40px;
  margin: 0;
}

.wrapper.secret {
  background-color: #1f3547;
}

.secret .nav ul li a:link {
  color: #fff;
}

.secret .nav ul li a:visited {
  color: #fff;
}

.secret .nav-pc .nav a {
  text-shadow: none;
}

.secret h1 {
  color: #fff;
  text-shadow: none;
}

.secret h2 {
  color: #dcbf5e;
}

.secret h4 {
  color: #dcbf5e;
}

.secret p {
  color: #bcc2c8;
}

.secret .lead_txt {
  text-shadow: 0px 0px 5px #1f3547, 0px 0px 5px #1f3547, 0px 0px 3px #1f3547,
    0px 0px 3px #1f3547, 0px 0px 3px #1f3547, 0px 0px 1px #1f3547;
}

.secret footer p {
  color: #fff;
}

.special li.comic {
  position: relative;
}

.special .comic img {
  width: 110px;
  height: 110px;
  object-fit: cover;
  box-shadow: 3px 3px #dcbf5e;
}

.comic span {
  /* outline: 1px solid #DCBF5E;
      outline-offset: -1px;
      background-color: #FFF;
      color: #dcbf5e; */
  background-color: #dcbf5e;
  color: #fff;
  /* font-weight: 700; */
  font-family: "Noto Sans CJK JP", sans-serif;
  font-size: 1em;
  line-height: 10px;
  padding: 4px 6px;
  position: absolute;
  bottom: -2px;
  right: -2px;
}

.comic .thumb_link::after {
  content: "";
  background-image: url(../images/common/window.svg);
  background-repeat: no-repeat;
  background-size: 10px;
  display: inline-block;
  height: 12px;
  width: 12px;
  vertical-align: middle;
  margin-left: 5px;
}

.special li img {
  /* border: 2px solid #DCBF5E; */
  outline: 2px solid #dcbf5e;
  outline-offset: -2px;
}

.special li .comic_tmb {
  box-shadow: 3px 3px #dcbf5e;
}
/* .series_tag{
  position: relative;

}
.series_tag::before {
  position: absolute;
  content: 'シリーズ';
  top:  -35px;
  left: 0;
  color: #B99C67;
  background: #fff;

  margin: 10px 0 0;
  font-size: 1em;
  border: solid 1px #DCBF5E;

  line-height: 1em;
  padding: 2px 0;
  font-family: 'Noto Sans CJK JP', sans-serif;
width: 110px;
} */

@media screen and (max-width: 560px) {
  .special li.comic {
    /* width: 214px;
    height: 214px; */
    outline: none;
  }

  /* .special li {
    margin-top: 40px;
  } */

  .special li.comic img {
    width: 110px;
    /* height: 214px; */
    object-fit: cover;
  }

  /* .comic span {
    font-size: 1.5em;
    line-height: 15px;
    padding: 4px 8px;
  } */

  /* .special li .js-modal-open {
    box-shadow: 7px 7px #dcbf5e
  } */
  .special li .js-modal-open img {
    outline: 2px solid #dcbf5e;
    outline-offset: -2px;
  }

  /* .special li .comic_tmb {
      box-shadow: 7px 7px #dcbf5e
    } */
  .special li .comic_tmb img {
    outline: 2px solid #dcbf5e;
    outline-offset: -2px;
  }
}

/* モーダル全体(背景＋本体) */
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  z-index: 1000;
}

/* モーダル背景 */
.modal-bg {
  position: absolute;
  height: 100vh;
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
}

/* モーダル本体 */
.modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden scroll;
  /* はみ出た部分はスクロールさせる */
  height: 80%;
  /* これが無いと「overflow:scroll」が利かない */
  width: 60%;
  /* これが無いと「overflow:scroll」が利かない */
  background: #1f3547;
  padding: 40px;
}

.modal-inner img {
  width: 90%;
  margin-bottom: 50px;
}

.modal-inner video {
  margin-bottom: 50px;
}

.modal-inner div {
  margin-bottom: 50px;
}
.modal-inner div ~ img {
  width: 100%;
  margin-bottom: 50px;
}

.motif a {
  color: #b99c67;
  margin-top: 15px;
  text-decoration: underline;
}

@media screen and (max-width: 560px) {
  .modal-content {
    height: 80%;
    width: 90%;
    padding: 10px 10px 40px 10px;
  }

  .modal-inner {
    margin-top: 20px;
  }

  .modal-inner img {
    width: 100%;
    height: 80%;
    margin-bottom: 30px;
  }

  .modal-inner video {
    margin-bottom: 30px;
  }
}

/* モーダルウィンドウ表示中に記事本体を固定 */
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
}

/*-----------------------------------------------------------------
		TOPへ戻る
-----------------------------------------------------------------*/
.page_top {
  position: fixed;
  bottom: 50px;
  right: 10px;
  padding: 30px;
  text-decoration: none;
  background-image: url(../images/common/page-top.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 60px 60px;
  /* z-index: 999; */
}

.page_top:hover {
  opacity: 0.7;
  cursor: pointer;
}

@media screen and (max-width: 560px) {
  .page_top {
    bottom: 10px;
  }
}

/*-----------------------------------------------------------------
		Specialページ
-----------------------------------------------------------------*/
.door_page {
  display: flex;
  margin: 0 auto 40px;
  gap: 20px;
  justify-content: center;
}

.door_content {
  padding: 20px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid #dcbf5e;
  margin: 10px;
  width: calc(100% / 3);
  /* cursor: pointer; */
  color: #b99c67;
  position: relative;
}

.door_content a::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: transparent;
}

.door_content img {
  max-width: 70%;
}

.door_ttl {
  font-size: 3em;
  color: #0d0d0d;
  margin: 0 -30px 10px;
  position: relative;
  font-family: "Roustel";
  line-height: 1em;
  padding: 0 10px;
}

.door_ttl::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 30px;
  background: url(../images/common/subttl_left.svg) no-repeat;
  background-size: contain;
  margin-right: -5px;
  position: relative;
  top: 0.2em;
}

.door_ttl::after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 30px;
  background: url(../images/common/subttl_right.svg) no-repeat;
  background-size: contain;
  margin-left: -5px;
  position: relative;
  top: 0.2em;
}

.door_ttl .number {
  font-family: rollerscript-smooth, sans-serif;
  font-size: 1.6em;
  vertical-align: bottom;
}

.door_content:hover {
  background: #a38449;
  border: 1px solid #a38449;
  opacity: 0.9;
}

.door_content:hover .door_ttl {
  color: #fff;
}

.door_content:hover h2 {
  color: #fff;
}

.door_content.door_ex {
  display: flex;
  justify-content: center;
  align-items: center;
}

.door_content.door_ex:hover {
  background: rgba(220, 191, 94, 0.3);
}

.door_content.door_ex:hover h2 {
  color: #b99c67;
}

.door_content.door_ex .door_ttl {
  color: #a07920;
}

.door_content.door_ex:hover .door_ttl {
  color: #a07920;
}

@media screen and (max-width: 750px) {
  .door_page {
    display: block;
  }

  .door_content {
    width: auto;
  }

  .door_content img {
    max-width: 40%;
    min-width: 180px;
  }
}

.RoseGeAR_BS {
  padding: 20px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid #dcbf5e;
  margin: 20px 10px;
  width: 44%;
  position: relative;
  display: inline-block;

  /* &:hover {
    &:before {
      position: absolute;
      content: "";
      display: block;
      z-index: 100;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: rgba(220, 191, 94, 0.5);
    }
  } */
}

.RoseGeAR_BS .door_ttl {
  color: #b99c67;
}

.RoseGeAR_BS img {
  max-width: 50%;
}
@media screen and (max-width: 560px) {
  .RoseGeAR_BS {
    width: auto;
    margin: 10px;
  }
  .RoseGeAR_BS img {
    max-width: 80%;
  }
}

.chara_info {
  display: flex;
  gap: 20px;
  font-family: "Noto Sans CJK JP", sans-serif;
  padding: 20px;
  background: rgba(255, 255, 255, 1);
  /* border: 1px solid #dcbf5e; */
  margin-bottom: 30px;
  position: relative;

  h6 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 10px;
    background-color: #dcbf5e;
    color: #ffffff;
    margin-bottom: 15px;
  }

  h2 {
    margin-left: 10px;
    text-align: left;
    margin: 0 0 0 8px;

    span {
      display: block;
      margin-bottom: 5px;
      font-weight: bold;
    }
  }

  ul {
    display: flex;
    justify-content: center;
    li {
      width: auto;
      height: auto;
      display: flex;
    }

    .sub_chara img {
      width: 50px;
      height: 50px;
    }

    .main_chara img {
      width: 70px;
      height: 70px;
    }
  }
}

.chara_info:before,
.chara_info:after {
  position: absolute;
  top: 0;
  content: "";
  width: 8px;
  height: 100%;
  display: inline-block;
}
.chara_info:before {
  border-left: solid 1px #dcbf5e;
  border-top: solid 1px #dcbf5e;
  border-bottom: solid 1px #dcbf5e;
  left: 0;
}
.chara_info:after {
  content: "";
  border-top: solid 1px #dcbf5e;
  border-right: solid 1px #dcbf5e;
  border-bottom: solid 1px #dcbf5e;
  right: 0;
}

.appear_chara {
  display: flex;
  width: -webkit-fill-available;
  li {
    margin-right: 20px;
  }
  li.sub_chara {
    margin-right: 10px;
    display: block;
    width: 50px;
    h2 {
      font-size: 9px;
      line-height: 1.2;
      margin: 4px 0 0;
      text-align: center;
    }
  }
  li.sub_chara:last-child {
    margin-right: 0;
  }
}

.chara_info h6::before,
.chara_info h6::after {
  display: flex;
  width: 1px;
  height: 2.6em;
  margin: 0 5px;
  background-color: #ffffff;
  content: "";
}

.chara_info a img {
  width: auto;
  height: 70px;
}

@media screen and (max-width: 560px) {
  .chara_info {
    display: block;

    .appear_chara {
      margin-top: 20px;
    }

    ui {
      .special.detail {
        flex-direction: row;
        justify-content: space-between;
      }
      li {
        width: 100%;
      }
    }
  }

  .chara_info {
    display: block;
    .appear_chara {
      margin-top: 20px;
      /* flex-wrap: wrap; */
      gap: 10px;
    }
    ul {
      /* flex: 1 1 auto; */
      flex-wrap: wrap;
      gap: 10px;
      .main_chara {
        width: 100%;
      }
    }
    li {
      margin-right: 0;
    }
  }

  .appear_chara {
    li.sub_chara {
      width: auto;
      margin-right: 0;
    }
  }
  .chara_info a img {
    width: 160px;
    height: auto;
    margin-bottom: 20px;
  }
}

/*-----------------------------------------------------------------
		SSページ
-----------------------------------------------------------------*/
.ss_ttl {
  display: flex;
  color: #b99c67;
  font-size: 14px;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 700;
  width: 200px;
  text-align: left;
  align-items: center;
  line-height: 1.3;
}

.modal-content .ss_ttl,
.secret .ss_ttl {
  color: #dcbf5e;
}

.ss_ttl::before {
  content: "◆";
}

.ssl_dtl {
  color: #64573b;
  font-size: 14px;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: 300;
  text-align: left;
  line-height: 1.35;
  width: calc(100% - 200px);
}

.modal-content .ssl_dtl,
.secret .ssl_dtl {
  color: #b99c67;
}

.ss_ttl .tag {
  color: #b99c67;
  font-size: 6px;
  background-color: #fff;
  border: solid 1px #b99c67;
  padding: 1px 5px;
  margin: 0 10px 2px;
}

/*== 線の上を別の線が伸びる */
.ss_link {
  display: flex;
  width: 600px;
  margin: 0 auto;
  margin-top: 20px;
  /* border-bottom: solid 1px #B99C67; */
  padding: 0.5em 0;
  line-height: 14px;
  /*線の基点とするためrelativeを指定*/
  position: relative;
  /*リンクの形状*/
  color: #b99c67;
  padding: 10px 0;
  /* display:inline-block; */
  text-decoration: none;
  outline: none;
}

.modal-content .ss_link {
  width: auto;
  margin: 20px 0;
}

.ss_ttl_2line {
  display: block;
  position: relative;
}

.ss_ttl_2line .ss_ttl {
  width: 500px;
  margin-bottom: 10px;
}

.ss_ttl_2line .ssl_dtl {
  width: calc(100% - 200px);
  position: absolute;
  right: 0;
  bottom: 0;
}

.ss_ttl_2line .ss_link::before,
.ss_ttl_2line .ss_link::after {
  bottom: -10px;
}

/*線の設定*/
.ss_link::before,
.ss_link::after {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  z-index: 1;
  bottom: 0;
  background: #b99c67;
  width: 100%;
  height: 2px;
  /*アニメーションの指定*/
  transition: all 0.5s ease-in-out;
}

/*hover時に伸びる線の形状*/
.ss_link::after {
  width: 0;
  background: #64573b;
}

/*hover時に100%に伸びる*/
.ss_link:hover::after {
  width: 100%;
}

/*矢印の設定*/
.ss_link span::after {
  content: "";
  /*絶対配置で矢印の位置を決める*/
  position: absolute;
  top: 1.3em;
  right: 20px;
  /*矢印の形状*/
  width: 5px;
  height: 5px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
  /*アニメーションの指定*/
  transition: all 0.5s;
}

/*hover時に矢印が移動*/
.ss_link:hover span::after {
  right: 15px;
}

@media screen and (max-width: 660px) {
  .ss_link {
    display: grid;
    width: auto;
    margin: 20px 0;
  }
}

@media screen and (max-width: 560px) {
  .ss_ttl {
    margin-bottom: 10px;
    width: auto;
  }
  .ssl_dtl {
    width: 100%;
  }
}

/*-----------------------------------------------------------------
		Novel
-----------------------------------------------------------------*/
.novel_wrap {
  margin: 40px 40px 60px;
}

.novel {
  padding: 40px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid #dcbf5e;
  margin-bottom: 30px;
}

.secret .novel {
  background: rgba(0, 0, 0, 0.2);
}

.novel h2 {
  margin: 0;
}

.novel h2::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 36px;
  background: url(../images/common/subttl_left.svg) no-repeat;
  background-size: contain;
}

.novel h2::after {
  content: "";
  display: inline-block;
  width: 21px;
  height: 36px;
  background: url(../images/common/subttl_right.svg) no-repeat;
  background-size: contain;
  margin-left: 5px;
}

.novel h2 .sub_ttl {
  vertical-align: 10px;
  color: #64573b;
}

.secret .novel h2 .sub_ttl {
  color: #dcbf5e;
}

.novel_img {
  margin: 20px 0;
}

.author a {
  color: #b99c67;
  margin-top: 15px;
  text-decoration: underline;
}

.author {
  text-align: right;
  margin: 20px 0;
}

.novel p {
  margin: 0;
}

.novel .novel_txt {
  text-align: left;
  line-height: 2.2;
}

.novel .attention {
  text-align: left;
  color: #a38449;
  font-size: 1.2em;
  margin-bottom: 20px;
}

.dot-text {
  position: relative;
  /* padding-top: 0.2em; */
}
.dot-text::before {
  position: absolute;
  content: "・";
  top: -1em;
  left: 50%;
  transform: translate(-50%, 0);
  font-size: 1em;
}

/*
{
  padding-top: 0.5em;
      background-position: top center;
      background-repeat: no-repeat;
      background-size: 1em 1em;
      background-image: radial-gradient(0.1em 0.1em at center center,#0D0D0D,#0D0D0D 100%,transparent);
} */

@media screen and (max-width: 560px) {
  .novel_wrap {
    margin: 40px 10px 60px;
  }

  .novel {
    padding: 40px 10px;
  }

  .novel .novel_txt {
    line-height: 2;
    letter-spacing: -0.03em;
  }
}

.next_prev {
  display: flex;
  justify-content: space-between;
  font-family: "Noto Sans CJK JP", sans-serif;
  font-size: 1.6em;
  margin-bottom: 20px;
}

.next_prev .button {
  max-width: none;
  padding: 0 10px;
  color: #64573b;
  margin: 0;
}

.next_prev_ttl {
  color: #b99c67;
}

.next_prev .button-Text {
  font-weight: normal;
}

.next_prev .button-Text.continue_novel {
  border-bottom: solid 2px #dcbf5e;
  line-height: 1.25;
}

.next,
.prev {
  display: flex;
  align-items: center;
}

.prev_txt,
.next_txt {
  color: #64573b;
  font-size: 12px;
  position: relative;
  margin: 0;
  text-shadow: 0px 0px 10px #fff, 0px 0px 6px #fff, 0px 0px 3px #fff;
}

.secret .prev_txt,
.secret .next_txt {
  color: #dcbf5e;
  text-shadow: none;
}

.next_txt {
  margin-right: 10px;
}

.prev_txt {
  margin-left: 10px;
}

.prev_txt::before {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212.42%22%20height%3D%2216%22%20viewBox%3D%220%200%2012.42%2016%22%3E%20%3Cpath%20id%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D_72%22%20data-name%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D%2072%22%20d%3D%22M0%2C0H0L4.63%2C8%2C.021%2C15.963.014%2C16a42.965%2C42.965%2C0%2C0%2C1%2C5.577-4.258c1.23-.8%2C2.462-1.544%2C3.658-2.2A33.486%2C33.486%2C0%2C0%2C1%2C12.42%2C8.006%2C33.972%2C33.972%2C0%2C0%2C1%2C9.249%2C6.465c-1.2-.653-2.429-1.393-3.658-2.2A43.083%2C43.083%2C0%2C0%2C1%2C0%2C0Z%22%20transform%3D%22translate(12.42%2016)%20rotate(180)%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  display: inline-block;
  height: 1rem;
  width: 12px;
  vertical-align: middle;
  margin-right: 5px;
}

.next_txt::after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212.42%22%20height%3D%2216%22%20viewBox%3D%220%200%2012.42%2016%22%3E%20%3Cpath%20id%3D%22aa%22%20data-name%3D%22%E5%89%8D%E9%9D%A2%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E5%9E%8B%E6%8A%9C%E3%81%8D%2070%22%20d%3D%22M-11152%2C5572h0l4.63-8-4.609-7.964-.007-.037a42.965%2C42.965%2C0%2C0%2C0%2C5.577%2C4.258c1.23.8%2C2.462%2C1.544%2C3.658%2C2.2a33.486%2C33.486%2C0%2C0%2C0%2C3.171%2C1.539%2C33.972%2C33.972%2C0%2C0%2C0-3.171%2C1.541c-1.2.653-2.429%2C1.393-3.658%2C2.2A43.083%2C43.083%2C0%2C0%2C0-11152%2C5572Z%22%20transform%3D%22translate(11151.998%20-5556.002)%22%20fill%3D%22%2364573b%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  display: inline-block;
  height: 1rem;
  width: 12px;
  vertical-align: middle;
  margin-left: 5px;
}

.next_prev .button-Text::before {
  content: "◆";
}

.button_Text_2line span {
  line-height: 1.5em;
}

.button.button_Text_2line {
  height: 76px;
}

.button_Text_2line .button-Text {
  padding-left: 1em;
  text-indent: -1em;
  text-align: left;
}

.secret .button {
  background: rgba(0, 0, 0, 0.3);
}

.secret .button-Text {
  color: #dcbf5e;
}

.continue_button {
  border: 1px solid #dcbf5e;
  max-width: 150px;
  background: #fafafa;
  font-size: 12px;
  overflow: hidden;
  text-decoration: none;
  padding: 10px;
}

/* .continue_button img{
  width: 100px;
    height: 100px;
    object-fit: cover;
    margin-right: 50px;
} */

.button img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  z-index: 888;
}

.next .button img {
  margin-left: 10px;
}
.prev .button img {
  margin-right: 10px;
}

.continue_button.button {
  height: 100px;
}

.continue_button .button-Text {
  padding: 5px 0 0 0;
  line-height: normal;
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
}

.secret .next_prev .continue_button {
  background: #1f3547;
}

@media screen and (max-width: 750px) {
  .next_prev {
    display: block;
  }

  .next {
    margin-top: 10px;
  }

  .next_prev .button {
    padding: 0 10px;
    width: calc(100% - 85px);
  }

  .next_prev .continue_button {
    width: calc(100% - 85px);
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }

  .next .button img {
    margin-left: 0;
    margin-right: 10px;
  }
}

/*-----------------------------------------------------------------
		Comic
-----------------------------------------------------------------*/
.comic_wrap {
  margin: 40px 40px 60px;
}

.comic_page {
  padding: 40px;
  background: #f8f7f4;
  border: 1px solid #dcbf5e;
  margin-bottom: 30px;
}

.secret .comic_page {
  background: rgba(0, 0, 0, 0.3);
}

.comic_page img {
  width: 600px;
}

.comic_page img + img {
  margin-top: 20px;
}

.comic_page h2 {
  margin: 0;
}

.comic_page h2::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 36px;
  background: url(../images/common/subttl_left.svg) no-repeat;
  background-size: contain;
}

.comic_page h2::after {
  content: "";
  display: inline-block;
  width: 21px;
  height: 36px;
  background: url(../images/common/subttl_right.svg) no-repeat;
  background-size: contain;
  margin-left: 5px;
}

.comic_page h2 .sub_ttl {
  vertical-align: 10px;
  color: #64573b;
}

.secret .comic_page h2 .sub_ttl {
  color: #dcbf5e;
}

.Illust .tag {
  margin: 10px 0 0;
  font-size: 1em;
  border: solid 1px #dcbf5e;
  color: #b99c67;
  position: relative;
  line-height: 1em;
  padding: 3px;
  font-family: "Noto Sans CJK JP", sans-serif;
}

.comic .tag {
  margin: 10px 0 0;
  font-size: 1em;
  border: solid 1px #dcbf5e;
  color: #b99c67;
  position: relative;
  line-height: 1em;
  padding: 3px;
  font-family: "Noto Sans CJK JP", sans-serif;
  width: calc(100% - 4px);
}
.series,
.special_img {
  position: relative;
}
.special_img span.series_tag,
.comic span.series_tag {
  font-size: 1em;
  border: solid 1px #dcbf5e;
  color: #b99c67;
  background: #fff;
  position: absolute;
  top: -26px;
  font-family: "Noto Sans CJK JP", sans-serif;
  width: 100%;
  height: 16px;
  padding: 0;
  display: inline-grid;
  align-items: center;
}

@media screen and (max-width: 560px) {
  .comic_wrap {
    margin: 40px 10px 60px;
  }

  .comic_page {
    padding: 30px 15px;
  }
  .comic .tag {
    width: 100%;
  }
}

/*-----------------------------------------------------------------
		エイプリルBackStage
-----------------------------------------------------------------*/

.April_BS {
  background-color: #fff;
  background-image: radial-gradient(
      at 99% 53%,
      hsla(311, 100%, 93%, 1) 0,
      transparent 72%
    ),
    radial-gradient(at 48% 13%, hsla(53, 100%, 92%, 1) 0, transparent 74%),
    radial-gradient(at 60% 77%, hsla(191, 100%, 86%, 1) 0, transparent 78%),
    radial-gradient(at 3% 5%, hsla(22, 100%, 94%, 1) 0, transparent 46%),
    radial-gradient(at 95% 95%, hsla(243, 100%, 90%, 1) 0, transparent 50%),
    radial-gradient(at 40% 49%, hsla(70, 100%, 90%, 1) 0, transparent 73%),
    radial-gradient(at 86% 5%, hsla(355, 85%, 93%, 1) 0, transparent 50%),
    radial-gradient(at 1% 100%, hsla(144, 100%, 92%, 1) 0, transparent 50%);
}
.April_BS .mv {
  margin: 0 40px;
}

.April_BS .sp {
  display: none;
}

.April_BS .pc {
  display: block;
  margin: 40px auto;
}

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

  .April_BS .sp {
    display: block;
    margin: 0 auto 40px;
    max-width: 200px;
  }
}

.April_BS .button-Text {
  font-family: "Noto Sans CJK JP", sans-serif;
  font-weight: normal;
}

.April_BS .button {
  max-width: 300px;
  background: rgba(255, 255, 255, 0.8);
}

.April_BS .profile {
  margin-top: 30px;
}

.April_BS .prof_left .prof {
  width: 130px;
  height: 132px;
}

.April_BS .prof_details {
  flex-direction: column;
  margin-bottom: 0;
}

.April_BS .prof_details h2 {
  border-right: none;
  border-bottom: solid 1px #b99c67;
}

.April_BS .prof_details p {
  margin: 15px 0 0 0;
}

.April_BS .special.tmb-list {
  max-width: 730px;
}

.April_BS .siteDesign {
  margin: 40px;
  max-width: 500px;
}

@media screen and (max-width: 750px) {
  .April_BS .siteDesign {
    margin: 10px 20px;
    max-width: 300px;
  }
}
