@charset "UTF-8";
/* 画像系 */
.w100 {
  width: 100%;
}
.w100vw {
  width: 100vw;
}
.mxw100 {
  max-width: 100%;
}
.h100 {
  height: 100%;
}
.h100vh {
  height: 100vh;
}
.mxh100 {
  max-height: 100%;
}


/* フォント系 */
.bold {
  font-weight: bold;
}

/* 配置 基本 */
.margin {
  margin: auto;
}
.margin0 {
  margin: 0 auto;
}
.margin_right {
  margin: 0 0 0 auto;
}
.margin_left {
  margin: 0 auto 0 0;
}
.textCenter {
  text-align: center;
}
.textRight {
  text-align: right;
}
.textStart {
  text-align: start;
}

.valign {
  vertical-align: middle;
}

/* display系 */
.flex {
  display: flex;
}
.flex-grow {
  flex-grow: 0;
}
.wrap {
  flex-wrap: wrap;
}
.block {
  display: block;
}
.inline {
  display: inline;
}
.inline-block {
  display: inline-block;
}
.none {
  display: none;
}
.table {
  display: table;
}
.table-cell {
  display: table-cell;
}
/* justify-content系 */
.space-around {
  justify-content: space-around;
}
.space-between {
  justify-content: space-between;
}
/* position系 */
.rela {
  position: relative;
}
.ab {
  position: absolute;
}
.abCenter {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

/* その他 */
.collapse {
  border-collapse: collapse;
}

/* 幅設定（使用時に調整） */
.w90vw {
  width: 90vw;
}
.w80vw {
  width: 80vw;
}
.w70vw {
  width: 70vw;
}
.w60vw {
  width: 60vw;
}
.w65vw {
  width: 65vw;
}
.w50vw {
  width: 50vw;
}

/* padding設定（使用時に調整） */
.pBot150 {
  padding-bottom: 150px;
}
.pBot100 {
  padding-bottom: 100px;
}
.pBot50 {
  padding-bottom: 50px;
}
.pBot30 {
  padding-bottom: 30px;
}
.pBot20 {
  padding-bottom: 20px;
}
.pBot10 {
  padding-bottom: 10px;
}

/* margin設定（使用時に調整） */
.mBot150 {
  margin-bottom: 150px;
}
.mBot100 {
  margin-bottom: 100px;
}
.mBot70 {
  margin-bottom: 70px;
}
.mBot50 {
  margin-bottom: 50px;
}
.mBot30 {
  margin-bottom: 30px;
}
.mBot20 {
  margin-bottom: 20px;
}
.mBot10 {
  margin-bottom: 10px;
}
.mBot5 {
  margin-bottom: 5px;
}

.mRight20 {
  margin-right: 20px;
}

/* ボタン系（使用時に調整） */
.btn a {
  display: inline-block;
  padding: 15px 30px;
}
.btn01 {
  color: #9E5E6F;
  border: 1px solid #9E5E6F;
  border-radius: 5px;
}
.btn02 {
  color: #fff;
  background: #9E5E6F;
  border-radius: 50px;
}
.btn03 {
  color: #fff;
  background: #A3C7D6;
  border-radius: 50px;
}
.hover {
  transition: 0.6s;
}
.btn01.hover:hover {
  color: #fff;
  background: #9E5E6F;
}
.btn02.hover:hover, .btn03.hover:hover {
  opacity: 0.6;
}



/*** ページ共通事項 ***/
body {
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.16em;
  line-height: 1.5;
}
a:hover {
  cursor: pointer;
}
/* googleフォント */
.cinzel-decorative-regular {
  font-family: "Cinzel Decorative", serif;
  font-weight: 400;
  font-style: normal;
}
.lustria-regular {
  font-family: "Lustria", serif;
  font-weight: 400;
  font-style: normal;
}
.licorice-regular {
  font-family: "Licorice", cursive;
  font-weight: 400;
  font-style: normal;
}  
.inika-regular {
  font-family: "Inika", serif;
  font-weight: 400;
  font-style: normal;
}

.forMb {
  display: none;
}
.br {
  display: none;
}
.float-button__wrap {
  display: none; /* 最初は隠す */
  position: fixed;
  bottom: 100px;
  right: -65px;
  transform: rotate(-90deg);
  z-index: 300;
  text-align: center;
  padding: 15px 30px;
  background-color: #9E5E6F;
  transition: .4s;
}
.float-button__wrap:hover {
  opacity: 0.6;
}
.float-button__wrap a {
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.2em!important;
}

footer {
  font-size: 12px;
}
footer p:first-of-type {
  color: #ffffff80;
}
/*** ページ共通事項 ***/


/* スマホ用 */
@media only screen and (max-width:480px) {
  .forMb {
    display: block;
  }
  .forPc {
    display: none;
  }
  .br {
    display: inline;
  }
  /* 追従ボタン */
  .float-button__wrap {
  bottom: 100px;
  right: -53px;
  padding: 9px 18px;
  }
  .float-button__wrap a {
    letter-spacing: 0.2em!important;
    font-size: 14px;
  }
}