@charset "utf-8";
/* CSS Document */
/*このファイルは「rafia」フォルダー内でのみ使用するスタイルを記述したものです。
必ず「style-works.css」の後に読みこんでください。*/
/*作品テーマカラー
#6e6e6e , #9e8312*/
/*------------------------------
    background styles
	（一部ページに適用）
 ------------------------------*/
body.back-m:before, body.back-n:before {
  content: '';
  display: block;
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: center center / cover no-repeat;
}
body.back-m:before {
  background-image: url('../img/rafia/rafia_back_m_sp.jpg');
}
body.back-n:before {
  background-image: url('../img/rafia/rafia_back_n_sp.jpg');
}
/*------------------------------
    h styles
 ------------------------------*/
/*Lサイズ見出し（h1）*/
.head-rafia-01 {
  margin: 0; /* デフォルトCSS打ち消し */
  margin-bottom: 35px; /* 周りの余白指定 */
  position: relative; /* 位置調整 */
  color: #232323;
  font-weight: normal; /* 文字の太さ調整 */
  font-size: 40px; /* 文字サイズ指定-rem非対応ブラウザ対策 */
  font-size: 4rem; /* 文字サイズ指定 */
  text-align: center; /* 文字位置指定 */
}
.head-rafia-01-point {
  display: block; /* ブロック要素にする */
  font-size: 14px; /* 文字サイズ指定-rem非対応ブラウザ対策 */
  font-size: 1.4rem; /* 文字サイズ指定 */
  margin-top: 10px; /* 周りの余白指定 */
  position: relative; /* 位置調整 */
  width: 140px; /* 幅指定 */
  margin: 10px auto 0; /* 周りの余白指定 */
  background-color: #fff; /* 背景色指定、これがないと線が文字に被ってしまいます */
}
.head-rafia-01-point-noline { /*白背景以外のときのスタイル。横線なし*/
  display: block;
  font-size: 14px; /* 文字サイズ指定-rem非対応ブラウザ対策 */
  font-size: 1.4rem;
  margin-top: 10px; /* 周りの余白指定 */
  position: relative; /* 位置調整 */
  width: 140px; /* 幅指定 */
  margin: 10px auto 0; /* 周りの余白指定 */
  background-color: none;
}
.head-rafia-01-point:after {
  content: ''; /* 空の要素を作る */
  height: 1px; /* 高さ指定 */
  background-color: #232323; /* 背景色指定 */
  position: absolute; /* 位置調整 */
  top: 0; /* 位置調整 */
  bottom: 0; /* 位置調整 */
  margin: auto; /* 位置調整 */
  z-index: -1; /* 重なり調整 */
  width: 200px; /* 幅指定 */
  left: -30px; /* 位置調整 */
}
/*section下のh1*/
h1.normal {
  padding-bottom: 0;
  padding-left: 10px;
  padding-left: 1rem;
  position: relative;
}
h1.normal:before {
  content: ''; /* 空白の要素を作る */
  width: 50px; /* 幅指定 */
  height: 4px; /* 高さ指定 */
  background-color: silver; /* 背景色指定 */
  display: block; /* ブロック要素にする */
  position: absolute; /* 位置調整 */
  left: .5rem; /* 位置調整 */
  bottom: -6px; /* 位置調整 */
}
h1.normal + dl {
  margin-top: 40px;
  margin-top: 4rem;
}
/*Mサイズ見出し（h2、h3など）*/
.head-rafia-02 {
  max-width: 100%;
  padding-left: 1em;
  box-sizing: border-box;
  background-color: #6e6e6e;
  color: #fff;
  font-weight: bold;
}
.head-rafia-02.g {
  background-color: #9e8312;
}
/*Sサイズ見出し（h3以下）*/
.head-rafia-03 {
  margin-top: 15px;
  margin-top: 1.5rem;
  padding-left: 23px;
  padding-left: 2.3rem;
  color: #272727;
  border-bottom: 2px solid silver;
  background: url("../img/rafia/wing-s.svg") no-repeat left center;
}
.head-rafia-03.g {
  padding-left: 60px;
  padding-left: 6rem;
  border-bottom: 2px solid #9e8312;
  background: url("../img/rafia/wing-g.svg") no-repeat left center; /*なんとかしてもう少し小さくする*/
}
/*見出し間の余白設定（再適用）*/
.head-rafia-02 + .head-rafia-03 {
  margin-top: 28px;
  margin-top: 2.8rem;
}
p + .head-rafia-03 {
  margin-top: 30px;
  margin-top: 3rem;
}
/*見出し以下の段落の設定*/
.head-rafia-02 + p, .head-rafia-03 + p {
  padding: 0 auto;
}
/*------------------------------
    header styles
 ------------------------------*/
header {
  height: 20%;
}
.ttl.rafia {
  margin-left: 25px;
  margin-left: 2.5rem;
  margin-top: 15px;
  margin-top: 1.5rem;
  max-width: 35vw;
}
/*メニュー個々の設定*/
.mainMenu.rafia {
  width: 90%;
  font-size: 18px;
  font-size: 1.8rem;
  border-bottom: 1px solid #aaa;
}
.mainMenu.rafia a {
  font-weight: bold;
  letter-spacing: .2rem;
  display: block;
}
/*メニューボタンのスタイルおよびエフェクト*/
.nav-button {
  margin: 10px;
  margin: 1rem;
  width: 6rem;
  height: 6rem;
  border: 1px solid darkgoldenrod;
  border-radius: 50%;
  background: #fff;
}
.fa-solid.fa-bars, .fa-solid.fa-xmark {
  color: darkgoldenrod;
  font-size: 25px;
  font-size: 2.5rem;
  font-family: "Font Awesome 6 Free";
}
.fa-solid.fa-xmark {
  display: none;
}
.nav-button span {
  font-size: 10px;
  font-size: 1rem;
  color: darkgoldenrod;
}
/*------------------------------
    #contents style
 ------------------------------*/
#contents.top_rfp {
  width: 100%;
}
.subcontents {
  margin: 0 auto;
  width: 90%;
  height: auto;
}
.top-rafia {
  width: 100%;
  height: auto;
}
.visual-pc, .visual-sp {
  object-fit: cover;
}
img.visual-pc, img.visual-sp {
  width: 100%;
  height: auto;
}
.visual-pc {
  display: none;
}
.visual-sp {
  display: block;
}
/*ボタン*/
.btn-gold {
  margin: 10px 0;
  margin: 1rem 0;
  padding: 10px 7px;
  padding: 1rem .7rem;
  max-width: 80%;
  min-width: 40%;
  border-radius: 2%;
  background-color: #9e8312;
  text-align: center;
  list-style-type: none;
  transition: .5s;
  display: block;
}
.btn-gold, .btn-gold a:link, .btn-gold a:visited, .btn-gold a:hover, .btn-gold a:active {
  color: #fff;
  text-decoration: none;
}
.btn-gold, a.btn-gold:link, a.btn-gold:visited, a.btn-gold:hover, a.btn-gold:active {
  color: #fff;
  text-decoration: none;
}
.btn-gold + .btn-gold {
  margin-left: 5vw;
}
/*最新情報*/
.news .news-item {
  border-bottom: 1px solid #9e8312;
}
.news .news-item .news-date {
  color: #9e8312;
}
/* INTRO */
.intro {
  width: 90%;
  margin: 0 auto;
  font-size: 18px;
  font-size: 1.8rem;
}
.intro > p {
  line-height: 2;
}
.intro > p + p {
  padding-top: 2vh;
}
.intro > p + div.btn-wrap {
  margin-top: 70px;
  margin-top: 7rem;
}
/*------------------------------
    ギャラリー関連
 ------------------------------*/
/* gal＝ギャラリーサムネイル、icn＝キャラクター紹介のアイコン*/
.gal-wrap {
  width: 100%;
  display: -ms-grid;
  display: grid;
  grid-template-columns: auto auto;
  grid-gap: 1rem;
}
.gal-item {}
.icn-wrap {
  width: 100%; /* メディアクエリあり */
  height: auto;
  list-style-type: none;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
}
.icn-item {
  margin: .5rem;
  width: 5.5rem;
  height: 5.5rem;
  cursor: pointer;
}
/*キャラアイコン
↓カラーメモ
ステラ：#6e6e6e
レクシオ：#5ea019 #205b00
ジャック：#70d8ff
トニー：#9f5d00
ナタリー：#000394
ミオン：#7f6a49
オスカー：#000
シンシア：#22b282
カーター：#cbc300
ブライス：#912417
*/
/*全体*/
.ic-stella, .ic-rexio, .ic-jack, .ic-tony, .ic-natalie, .ic-mion, .ic-oscar, .ic-cynthia, .ic-carter, .ic-blythe {
  border-radius: 50%;
  background-color: #fff;
}
/*円のカラー*/
.ic-stella {
  border: 1.3px solid #6e6e6e;
}
.select .ic-stella {
  background-color: #6e6e6e;
  border: none;
}
.ic-rexio {
  border: 1.3px solid #5ea019;
}
.select .ic-rexio {
  background-color: #5ea019;
  border: none;
}
.ic-jack {
  border: 1.3px solid #70d8ff;
}
.select .ic-jack {
  background-color: #70d8ff;
  border: none;
}
.ic-tony {
  border: 1.3px solid #9f5d00;
}
.select .ic-tony {
  background-color: #9f5d00;
  border: none;
}
.ic-natalie {
  border: 1.3px solid #000394;
}
.select .ic-natalie {
  background-color: #000394;
  border: none;
}
.ic-mion {
  border: 1.3px solid #7f6a49;
}
.select .ic-mion {
  background-color: #7f6a49;
  border: none;
}
.ic-oscar {
  border: 1.3px solid #000;
}
.select .ic-oscar {
  background-color: #000;
  border: none;
}
.ic-cynthia {
  border: 1.3px solid #22b282;
}
.select .ic-cynthia {
  background-color: #22b282;
  border: none;
}
.ic-carter {
  border: 1.3px solid #cbc300;
}
.select .ic-carter {
  background-color: #cbc300;
  border: none;
}
.ic-blythe {
  border: 1.3px solid #912417;
}
.select .ic-blythe {
  background-color: #912417;
  border: none;
}
/*Swiper共通設定*/
[class*=swiper]:focus {
  outline: none;
}
.swiper {
  width: 100%;
  margin: auto;
  overflow: visible;
}
.swiper-slide {
  height: auto;
  display: flex;
  justify-content: center; /* 左右の中央揃え */
  overflow: hidden;
}
.swiper-slide img {
  max-height: 100%;
  width: auto;
  align-self: center; /* 上下の中央揃え */
}
.swiper-fade .swiper-slide {
  -webkit-transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, transform !important;
  transition-property: opacity, transform, -webkit-transform !important;
  pointer-events: none;
}
.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}
.swiper-controller {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 62.5%;
}
.swiper-button-prev, .swiper-button-next {
  width: 6.4rem;
  height: 6.4rem;
  display: grid;
  place-content: center;
  top: var(--swiper-navigation-top-offset, 90%);
}
.swiper-button-prev::after, .swiper-button-next::after {
  font-weight: bold;
}
.swiper-button-prev::after {
  color: #6e6e6e;
}
.swiper-button-next::after {
  color: #9e8312;
}
/*CHARACTER*/
.chara-wrap {
  margin-top: 1.5rem;
  padding: 1.5rem;
  width: 100%;
  height: 100%;
  min-height: 1290px;
  display: -ms-grid;
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: repeat(4, auto);
  gap: 1rem;
  place-items: center;
}
.chara-item-l {
  display: flex;
  align-items: center;
  justify-content: center;
}
.chara-main {
  width: 70%;
}
.chara-item-l.img-b .chara-main {
  width: 80%;
}
.chara-name {
  font-size: 2.6rem;
  font-family: "リュウミン B-KL", Ryumin Bold KL, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  text-align: center;
}
.chara-data {
  width: 100%;
  font-size: 18px;
  font-size: 1.8rem;
  display: flex;
  flex-wrap: wrap;
}
.chara-data dt {
  width: 15%;
  font-weight: bold;
}
.chara-data dd {
  width: 80%;
}
.chara-data-h {
  color: #6e6e6e;
}
.chara-caption {
  margin-top: 30px;
  margin-top: 3rem;
}
/*衣装差分関連*/
.charaVisual.on {
  display: block;
}
.charaVisual.off {
  display: none;
}
button.visual-change {
  margin: 5px;
  margin: .5rem;
  width: 7rem;
  height: 7rem;
  position: absolute;
  top: 38%;
  left: 10%;
  border: 1px solid darkgoldenrod;
  border-radius: 50%;
  color: darkgoldenrod;
  background: #fff;
  cursor: pointer;
}
/*chara-nameに充てる各キャラのイメージカラー*/
.cl-stella {
  color: #6e6e6e;
}
.cl-rexio {
  color: #205b00;
}
.cl-jack {
  color: #006ba7;
}
.cl-tony {
  color: #9f5d00;
}
.cl-natalie {
  color: #000394;
}
.cl-mion {
  color: #31240b;
}
.cl-oscar {
  color: #000;
}
.cl-cynthia {
  color: #22b282;
}
.cl-carter {
  color: #979100;
}
.cl-blythe {
  color: #912417;
}
/*------------------------------
    text styles
 ------------------------------*/
.catch-large {
  font-size: 20px;
  font-size: 2rem;
  font-family: "A1明朝", A1 Mincho, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin: 40px 5px;
  margin: 4rem .5rem;
  padding: .3em;
}
.catch-large.sv {
  color: #393939;
}
.big {
  font-size: 20px;
  font-size: 2rem;
}
/*------------------------------
   min-width is 940px
 ------------------------------*/
@media screen and (min-width: 940px) {
  header {
    height: 15%;
  }
  .ttl.rafia {
    max-width: 18vw;
  }
  .navigation {
    flex-wrap: wrap;
  }
  .mainMenu.rafia {
    width: auto;
    border-bottom: none;
  }
  .mainMenu.rafia a {
    padding: 7px 8px;
    padding: .7rem .8rem;
  }
  .mainMenu.rafia a:hover {
    background-color: silver;
    -webkit-transition: .1s;
    transition: .4s;
    color: #fff;
  }
  .nav-button {
    display: none;
  }
  .subcontents {
    width: 80%;
    height: auto;
  }
  button.visual-change {
    top: 76%;
    left: 35%;
  }
}
/*------------------------------
   min-width is 768px
 ------------------------------*/
@media screen and (min-width:768px) {
  /*------------------------------
    body background styles
	（一部ページに適用）
 ------------------------------*/
  body.back-m:before {
    background-image: url('../img/rafia/rafia_back_m.jpg')
  }
  body.back-n:before {
    background-image: url('../img/rafia/rafia_back_n.jpg')
  }
  /*Sサイズ見出し（h3以下）*/
  .head-rafia-03 {
    margin-left: 20px;
    margin-left: 2rem;
  }
  /*見出し以下の段落の設定*/
  .head-rafia-02 + p {
    padding: 0; /*一度リセット*/
    padding-left: 24px;
    padding-left: 2.4rem;
  }
  .head-rafia-03 + p {
    padding: 0; /*一度リセット*/
    padding-left: 30px;
    padding-left: 3rem;
  }
  .visual-pc {
    display: block;
  }
  .visual-sp {
    display: none;
  }
  /*ボタン*/
  .btn-gold {
    max-width: 30%;
  }
  /* INTRO */
  .intro {
    width: 60%;
  }
  /*------------------------------
    ギャラリー関連
 ------------------------------*/
  .gal-wrap {
    width: 95%;
    margin: 0 auto;
    grid-template-columns: repeat(4, auto);
  }
  .icn-wrap {
    width: 75%;
  }
  .icn-item {
    width: 6.5rem;
    height: 6.5rem;
  }
  .chara-wrap {
    padding: 2rem;
    min-height: inherit;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr auto;
    gap: 1rem;
  }
  .chara-main, .chara-item-l.img-b .chara-main {
    width: 60%;
  }
  .chara-name {
    font-size: 3rem;
    text-align: left;
  }
  .chara-data {
    width: 90%;
  }
  .chara-data dt {
    width: 15%;
    font-weight: bold;
  }
  .chara-data dd {
    width: 75%;
  }
  .chara-caption {
    max-width: 70%;
  }
  /*------------------------------
    text styles
 ------------------------------*/
  .catch-large {
    font-size: 22px;
    font-size: 2.4rem;
  }
}