@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap');

/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

全体

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/

/*−−−−−−−−−− 共通レイアウト −−−−−−−−−−*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Shippori Mincho", serif;
    font-weight: normal;
    font-style: normal;
}

body {
    background: #191921;
    line-height: 1.7;
    letter-spacing: 0.2em;
    font-size: 18px;
    color: #ffffff;
}

main {
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 10%;
    overflow: hidden;
}

.content_wrap {
    text-align: center;
    margin-bottom: 10%;
    opacity: 0;
    transform : translate(0, 50px);
    transition : all 1500ms;
}

.content_wrap.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) {
main {
    max-width: 730px;
    padding: 10% 0;
}
}

/* スマホ */
@media screen and (max-width: 520px) {

body {
    font-size: 13px;
}
main {
    max-width: 360px;
    margin: 0 auto;
    padding: 15% 3%;
}
}

/* その他 */
@media screen and (max-width: 349px) {
main {
    max-width: 340px;
    padding: 10% 3.5%;
}
}

/*−−−−−−−−−− リンク −−−−−−−−−−*/
a {
    text-decoration: none;
    color: #b09a75;

}

/*−−−−−−−−−− 文字 −−−−−−−−−−*/
p {
    letter-spacing: 1px;
    text-align: justify;
    font-size: 18px;
}

li {
    list-style: none;
}

h2 {
    font-size: 25px;
    font-weight: lighter;
    text-align: center;
    margin-bottom: 20px;
}

.links {
    font-size: 18px;
}

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) {

p {
    font-size: 14px;
    line-height: 2;
}

h2 {
    font-size: 20px;
    margin-bottom: 20px;
}

.links {
    font-size: 15px;
}
}

/* スマホ */
@media screen and (max-width: 520px) {
p {
    font-size: 14px;
    line-height: 2;
}

h2 {
    font-size: 20px;
}
}

/* その他 */
@media screen and (max-width: 349px) {
p {
    font-size: 12px;
}

h2 {
    font-size: 18px;
}
}

/*−−−−−−−−−− 見出し縦線 −−−−−−−−−−*/

.content_wrap::before {
    display: block;
    margin: 0 auto;
    content: "";
    transform: translateX(-50%);
    width: 0.5px;
    height: 50px;
    border-left: 1px solid #ffffff;
}

/* スマホ */
@media screen and (max-width: 520px) {
.content_wrap::before {
    height: 35px;
}
}


/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

ハンバーガーメニュー

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/

/*−−−−−−−−−− 三本線 −−−−−−−−−−*/
.menu {
    height: 20px;
    position: absolute;
    right: 30px;
    top: 40px;
    width: 30px;
    z-index: 99;
}
.menu__line {
    background: #b09a75;
    display: block;
    height: 2px;
    position: absolute;
    transition:transform .3s;
    width: 100%;
}
.menu__line--center {
    top: 9px;
}
.menu__line--bottom {
    bottom: 0;
}
.menu__line--top.active {
    top: 8px;
    transform: rotate(45deg);
}
.menu__line--center.active {
    transform:scaleX(0);
}
.menu__line--bottom.active {
    bottom: 10px;
    transform: rotate(135deg);
}

/*−−−−−−−−−− 開メニュー −−−−−−−−−−*/
.gnav {
    background: #191921;
    display: none;
    height: 100%;
    width: 100%;
    z-index: 98;
}
.gnav__wrap {
    align-items:center;
    display: flex;
    height: 100vh;
    justify-content: center;
    width: 100%;
}

.gnav__wrap {
    display: flex;
}

.gnav__img {
    width: 10%;
    padding: 0 10px;
}

.gnav__img img{
    width: 100%;
}

.gnav__menu__item {
    color: #fff;
    margin: 20px 0;
}
.gnav__menu__item a {
    color: #fff;
    font-size: 35px;
    font-weight: 500;
    padding: 40px;
    text-decoration: none;
    transition: .5s;
}

.gnav__menu__item a:hover {
    color: #b09a75;
}

.gnav__menu__item a:visited {
    color: #fff;
}

 /* 追従 */
.header {
    position: sticky;
    top: 0;
    z-index: 99;
}

@media screen and (max-width: 520px) {
.menu {
    height: 20px;
    right: 20px;
    top: 30px;
    width: 23px;
}

.gnav__img {
    width: 30%;
    padding: 0 10px 0 0;
}

.gnav__img img {
    width: 100%;
}

.gnav__menu__item a {
    font-size: 18px;
    padding: 0 0 0 20px;
}
}

/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

画像

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/

img {
/* PCの右クリック禁止 */
    pointer-events: none;
 
/* SPの長押し禁止 */
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-touch-callout:none;
    -moz-user-select:none;
    user-select:none;
}

/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

ボタン

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/

/*−−−−−−−−−− 矢印ボタン −−−−−−−−−−*/
.lineArrow {
  position: relative;
  left: 55%;
  width: 30px;
  height: 12px;
  cursor:pointer;
  text-decoration: none;
  /*下線矢印をテキストに合わせる*/
  margin: -10px 0 0 -15px;
}

.lineArrow::after {
  content: "";
  display: block;
  position: absolute;
  right: 50%;
  top: calc(50% - 5px);
  width: 420%;
  height: 12px;
  border: none;
  border-right: 1px solid #b09a75;
  border-bottom: 1px solid #b09a75;
   /*傾きを調節*/
  transform: skew(45deg);
  transition: .3s;
}
.lineArrow:hover::after {
  right: 50%;
  width: 130%;
}

.links {
  font-size: 18px;
  margin: 5% 0;
}

/* PC */
@media screen and (min-width: 1025px), print {
  .url_button {
      margin-top: unset;
}
}

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .lineArrow {
    left: 58%;
    width: 33px;
  /*下線矢印をテキストに合わせる*/
    margin: -10px 0 0 -10px;
  }
  
  .lineArrow::after {
     width: 390%;
  }

  .links {
     font-size: 18px;
     margin: 8% 0 10% 0;
}
}

/* スマホ */
@media screen and (max-width: 520px) {
  .lineArrow {
    left: 65%;
    width: 30px;
  /*下線矢印をテキストに合わせる*/
    margin: -10px 0 0 -10px;
  }
  
  .lineArrow::after {
     width: 380%;
  }

  .links {
     font-size: 15px;
     margin: 10% 0 30% 0;
}
}


/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

各セクション

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/

/*−−−−−−−−−− TOP −−−−−−−−−−*/
.sitetop {
    display: flex;
    align-items: center;
    height: 100%;
}

.keyvisual {
    width: 50%;
}

.keyvisual_img img {
    width: 100%
}

.title {
 width: 50%;
 padding: 0 5%;
 animation: loading 1s;
}

@keyframes loading {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

.title img {
    width: 100%;
}

.catchcopy {
    position: absolute;
    top: 10%;
    left: 2%;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    font-size: 2.5em;
    text-shadow: 2px 2px 10px #68caf8,
    -2px 2px 10px #68caf8,
    2px -2px 10px #68caf8;
}

.catchcopy span:nth-of-type(1) {
    animation: FadeIn 2s;
}

.catchcopy span:nth-of-type(2) {
    animation: FadeIn 3s;
}

.catchcopy span:nth-of-type(3) {
    animation: FadeIn 4s;
}

@keyframes FadeIn {
    0% {
        opacity: 0;
        text-shadow: 0 0 3px #ffffff;
        color: transparent;
    }

    100% {
        opacity: 1;
        color: #ffffff;
    }
}

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) {
.title {
 padding: 0 3%;
}

.catchcopy {
    top: 3%;
    font-size: 27px;
}

}

/* スマホ */
@media screen and (max-width: 520px) {
.sitetop {
    display: block;
}

.keyvisual {
    width: 100%;
}

.title {
 width: 100%;
 position: relative;
}

.title_logo img {
 width: 80%;
 position: absolute;
 top: -70%;
 right: 0;
 left: 0;
 margin: 0 auto;
}

.catchcopy {
    position: absolute;
    top: 4%;
    font-size: 26px;
}
}

/* その他 */
@media screen and (max-width: 380px) {
.title_logo img {
 top: -65%;
}

}

/*−−−−−−−−−− 最新情報 −−−−−−−−−−*/
.news {
    display: flex;
    padding-top: 15%;
    gap: 5%;
}

.news h2 {
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 1.7rem;
    border: 0.5px solid #fff;
    padding: 10px;
    margin: unset;
}

.news_topics {
    flex-grow: 1;
}

.news_item {
    flex-grow: 1;
    border-bottom: 1px solid #f4f4f0;
    padding: 4%;
}

.news_date {
    font-size: 1rem;
}

.news_p {
    font-size: 1.3rem;
}

.news_a {
    color: #f4f4f0;
}

.bg_suisen {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -5;
}

.bg_suisen::after {
    position: absolute;
    right: 0;
    bottom: -430px;
    width: 600px;
    height: 400px;
    background-image: url("../img/bg_suisen.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
    content: "";
}

/* PC */
@media screen and (min-width: 1025px), print {
.bg_suisen::after {
    right: 0;
    bottom: -430px;
    width: 600px;
    height: 400px;
}
}

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) {

.news h2 {
    font-size: 20px;
}

.news_item {
    padding: 4%;
}

.news_date {
    font-size: 12px;
}

.news_p {
    font-size: 15px;
}

.bg_suisen::after {
    right: 0;
    bottom: 45%;
    width: 400px;
    height: 270px;
}
}

/* スマホ */
@media screen and (max-width: 520px) {
.contents_news {
    position: relative;
}

.news_banner img {
    position: absolute;
    top: -18%;
}

.news {
    padding-top: 35%;
    gap: 20px;
}

.news h2 {
    font-size: 18px;
}

.news_item {
    padding: 4%;
}

.news_date {
    font-size: 10px;
}

.news_p {
    font-size: 13px;
}

.bg_suisen::after {
    right: 0;
    bottom: 0;
    width: 300px;
    height: 200px;
}
}

/* その他 */
@media screen and (max-width: 349px) {
.news h2 {
    font-size: 16px;
}

.news_topics p {
    font-size: 12px;
    margin: 13px 0;
}
}

/*−−−−−−−−−− あらすじ −−−−−−−−−−*/
.summary {
    margin-top: 3%;
    text-align: center;
}

@media screen and (max-width: 520px) {
.summary {
    margin-top: 5%;
    padding: 0 2%;
}
}

/*−−−−−−−−−− 人物一覧 −−−−−−−−−−*/

.detail {
    color: #fff;
}
.character {
    margin-top: 3%;
}

.character_detail {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 3% 0 30% 0;
}
.bg img {
    width: 90%;
    border: 1px solid #b09a75;
}

.figure img {
    position: absolute;
    top: -8%;
}

.name img {
    position: absolute;
    top: 12%;
    left: 3%;
    width: 60%;
    /* 陰影 */
    filter: drop-shadow(5px 5px 5px #4e4f4e);
}

.lines_01 p {
    position: absolute;
    left: 17%;
    bottom: 20%;
    font-size: 40px;
    letter-spacing: 4px;
}

.lines_01 p {
    text-shadow: 2px 2px 10px #76a653,
    -2px 2px 10px #76a653,
    2px -2px 10px #76a653;
}

.lines_02 p {
    text-shadow: 2px 2px 10px #7353a6,
    -2px 2px 10px #7353a6,
    2px -2px 10px #7353a6;
}

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) {
.figure img {
   top: -16%;
   right: 0;
   width: 50%; 
}

.name img {
    top: 10%;
    width: 60%;
}

.lines_01 p {
    left: 15%;
    bottom: 15%;
    font-size: 25px;
}
}

/* スマホ */
@media screen and (max-width: 520px) {
.character {
    margin-top: 10%;
}

.character_detail {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 3% 0 60% 0;
}
.bg img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    object-position: left;
}

.figure img {
   top: -16%;
   right: 0;
   left: 0;
   margin: 0 auto;
   width: 120%; 
}

.name img {
    top: 30%;
    left: -10%;
    width: 90%;
}

.lines_01 p {
    left: 10%;
    font-size: 20px;
}
}



/*−−−−−−−−−− 物語一覧 −−−−−−−−−−*/
.story {
    display: flex;
    justify-content: space-between;
}

 .story_item {
    background-color: #2c2f36;
    margin-top: 5%;
    width: 500px;
}

 .story_item img {
    width: 100%;
 }

 .story_title {
   display: flex;
   justify-content: space-around;
   align-items: center;
   padding: 5%;
   color: #fff;
}

 .story_title h4 {
   font-size: 25px;
}

 .story_title p {
   font-size: 18px;
}

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) {
.story {
    gap: 30px;
}

 .story_title h4 {
    font-size: 18px;
}

 .story_title p {
    font-size: 13px;
}
}

/* スマホ */
@media screen and (max-width: 520px) {
.story {
    display: block;
    margin-top: 8%;
}

 .story_item {
    margin-bottom: 15%;
    width: 100%;
}

 .story_title h4 {
   font-size: 18px;
}

 .story_title p {
   font-size: 13px;
}
}

/* その他 */
@media screen and (max-width: 349px) {
 .story_title h4 {
   font-size: 16px;
}

 .story_title p {
   font-size: 12px;
}
}



/*−−−−−−−−−− 制作 −−−−−−−−−−*/
.creater {
    margin-top: 3%;
    font-size: 18px;
}

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) {

.creater {
    font-size: 16px;
}

}

/* スマホ */
@media screen and (max-width: 520px) {
.creater {
    margin-top: 8%;
    font-size: 14px;
}
}

/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

誘導セクション

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/

/*−−−−−−−背景−−−−−−−*/
.induction_wrap {
   --color-A: #f8f8f4;
   --color-B: #f4f4f0;
    background-image:
     radial-gradient(circle at 100% 150%, var(--color-B) 24%, var(--color-A) 24%, var(--color-A) 28%, var(--color-B) 28%, var(--color-B) 36%, var(--color-A) 36%, var(--color-A) 40%, transparent 40%, transparent),
     radial-gradient(circle at 0    150%, var(--color-B) 24%, var(--color-A) 24%, var(--color-A) 28%, var(--color-B) 28%, var(--color-B) 36%, var(--color-A) 36%, var(--color-A) 40%, transparent 40%, transparent),
     radial-gradient(circle at 50%  100%, var(--color-A) 10%, var(--color-B) 10%, var(--color-B) 23%, var(--color-A) 23%, var(--color-A) 30%, var(--color-B) 30%, var(--color-B) 43%, var(--color-A) 43%, var(--color-A) 50%, var(--color-B) 50%, var(--color-B) 63%, var(--color-A) 63%, var(--color-A) 71%, transparent 71%, transparent),
     radial-gradient(circle at 100% 50%, var(--color-A) 5%, var(--color-B) 5%, var(--color-B) 15%, var(--color-A) 15%, var(--color-A) 20%, var(--color-B) 20%, var(--color-B) 29%, var(--color-A) 29%, var(--color-A) 34%, var(--color-B) 34%, var(--color-B) 44%, var(--color-A) 44%, var(--color-A) 49%, transparent 49%, transparent),
     radial-gradient(circle at 0    50%,var(--color-A) 5%, var(--color-B) 5%, var(--color-B) 15%, var(--color-A) 15%, var(--color-A) 20%, var(--color-B) 20%, var(--color-B) 29%, var(--color-A) 29%, var(--color-A) 34%, var(--color-B) 34%, var(--color-B) 44%, var(--color-A) 44%, var(--color-A) 49%, transparent 49%, transparent);
   background-size: 128px 64px;
   padding: 8% 5% 10%;
   overflow:hidden;
   position:relative;
}

.induction_wrap::before{
content:'';
font-family:'shape divider from ShapeDividers.com';
position: absolute;
bottom: -1px;
left: -1px;
right: -1px;
top: -1px;
z-index: 3;
pointer-events: none;
background-repeat: no-repeat; 
background-size: 181% 70px;
background-position: 50% 0%;    
background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.28 2.17" preserveAspectRatio="none"><path d="M0 .5c3.07.55 9.27-.42 16.14 0 6.88.4 13.75.57 19.14-.11V0H0z" fill="%23191921"/><path d="M0 1c3.17.8 7.29-.38 10.04-.55 2.75-.17 9.25 1.47 12.67 1.3 3.43-.17 4.65-.84 7.05-.87 2.4-.02 5.52.88 5.52.88V0H0z" opacity=".5" fill="%23191921"/><path d="M0 1.85c2.56-.83 7.68-.3 11.79-.42 4.1-.12 6.86-.61 9.58-.28 2.73.33 5.61 1.17 8.61 1 3-.19 4.73-.82 5.3-.84V.1H0z" opacity=".5" fill="%23191921"/></svg>'); 
}

@media (min-width:768px){
.induction_wrap::before{
background-size: 100% 90px;
background-position: 50% 0%;   
}  
}
 
@media (min-width:1025px){
.induction_wrap::before{ 
bottom: -0.1vw;
left: -0.1vw;
right: -0.1vw;
top: -0.1vw; 
background-size: 100% 90px;
background-position: 50% 0%;  
}
}
@media (min-width:2100px){
.induction_wrap::before{
background-size: 100% calc(2vw + 90px);
}
}

/*−−−−−−−クリック領域−−−−−−−*/
.induction_item a {
    display: block;
}

/*−−−−−−−他パーツ−−−−−−−*/
.logo_induction {
    text-align: center;

}

.logo_induction img {
    width: 20%;
}

.induction {
    display: flex;
    justify-content: space-evenly;
}

 .induction_item {
    background-color: #2c2f36;
    margin-top: 5%;
    width: 500px;
}

 .induction_item img {
    width: 100%;
 }

 .induction_title {
   display: flex;
   justify-content: space-around;
   align-items: center;
   padding: 3% 5% 5%;
   color: #fff;
}

 .induction_title h4 {
   font-size: 25px;
}

 .induction_title p {
   font-size: 18px;
}

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) {
.induction {
    gap: 30px;
}

 .induction_title h4 {
    font-size: 18px;
}
}

/* スマホ */
@media screen and (max-width: 520px) {
.induction_wrap {
    padding: 25% 5% 20%;
}
.logo_induction img {
    width: 70%;
}
.induction {
    display: block;
    margin-top: 8%;
}

 .induction_item {
    margin-bottom: 15%;
    width: 100%;
}

 .induction_title h4 {
   font-size: 18px;
}
}

/* その他 */
@media screen and (max-width: 349px) {
 .induction_title h4 {
   font-size: 16px;
}
}


/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

フッター

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/
footer {
  align-items: center;
  padding: 3% 3% 0;
}

.attention {
    padding: 50px 0;
    border-bottom: 1px solid #ffffffb3;
}

.attention_line {
  padding: 0 25%;
}

.attention_line p {
    color: #ffffffb3;
    font-size: 15px;
}

.footer_list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1em;
  list-style-type: none;
  margin-top: 40px;
}

.privacy {
    text-align: center;
    font-size: 12px;
}

.copyright {
  margin: 10px 0;
  color: #ffffffb3;
  font-weight: 200;
  font-size: 10px;
  text-align: center;
}

.i.la, i.las, i.lar, i.lab {
  font-size: 20px;
  color: #b09a75;
  }

/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px) {
.attention {
    padding: 20px 15px;
  }

.attention_line {
    padding: 5%;
}

.attention_line p {
    font-size: 13px;
}

.footer_list {
  margin-top: 25px;
}
}

  /* スマホ */
@media screen and (max-width: 520px) {
.attention {
    padding: 20px 15px;
  }

.attention_line {
    padding: 0;
}

.attention_line p {
    font-size: 12px;
}

.footer_list {
  margin-top: 25px;
}
}

/*−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

背景

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−*/

#Bg {
	overflow: hidden;
	position: fixed;
	left: 0;
	top: 0;
	z-index: -100;
	width: 100%;
	height: 100%;
	line-height: 0;
}
#Bg > div {
	opacity: 0;
	position: absolute;
	width: 0;
	height: 0;
	border: 2px solid #494e5a;
	border-radius: 100%;
	animation: ripples 3s linear 1;
}

@keyframes ripples {
	0% {
		opacity: 1;
	}
	50% {
		opacity: 0;
		width: 250px;
		height: 250px;
		transform: translate(-125px, -125px);
	}
}