@charset "UTF-8";
/* ===================================================================
CSS information

file name	: common.css
author		 : Abilive
style info : 基本・共通設定
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
.topicpath, #footer .footer_inner, #header .header_inner {
  width: 90%;
  max-width: 1280px;
  margin: auto;
}
@media only screen and (max-width: 1199px) {
  .topicpath, #footer .footer_inner, #header .header_inner {
    width: 91.6666666667%;
  }
}

html {
  font-size: small;
  line-height: 1.5;
  scroll-behavior: smooth;
}

body {
  color: #333333;
  background: #fffef9;
  -webkit-text-size-adjust: none;
  font-size: 124%;
}
body.fixed {
  width: 100%;
  height: 100%;
  position: fixed;
}
.ie body {
  font-size: 120%;
}
@media only screen and (max-width: 767px) {
  body {
    font-size: 93%;
  }
}
body a {
  color: #333333;
  text-decoration: none;
}
body a:hover {
  cursor: pointer;
}
body img {
  max-width: 100%;
  -webkit-touch-callout: none;
  line-height: 1;
}

body,
pre,
input,
textarea,
select {
  font-family: "游ゴシック体", "Yu Gothic", "MS Ｐゴシック", "MS PGothic", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif;
  font-weight: 500;
}

input,
select,
textarea {
  font-size: 100%;
}

html.ie8 .view_tab,
html.ie8 .view_tab_sp,
html.ie8 .view_sp {
  display: none !important;
}
html.ie8 #abi_page {
  min-width: 1280px !important;
  margin: auto;
  font-size: 100% !important;
}

@media only screen and (min-width: 1200px) {
  body .view_tab-sp,
  body .view_tab {
    display: none !important;
  }
}
@media print {
  body .view_tab-sp,
  body .view_tab {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  body .view_sp {
    display: none !important;
  }
}
@media only screen and (max-width: 1199px) {
  body .view_pc,
  body .page-top_nav_sp {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  body .view_pc-tab,
  body .view_tab {
    display: none !important;
  }
}

#abi_page {
  overflow: hidden;
}
@media only screen and (min-width: 1200px) {
  #abi_page {
    width: 100%;
    margin: auto;
  }
}
@media print {
  #abi_page {
    width: 100%;
    margin: auto;
  }
}
@media only screen and (min-width: 768px) {
  #abi_page {
    font-size: 100% !important;
  }
}

#header {
  /*　ハンバーガーボタン　*/
  /* デフォルト（PC）では非表示 */
  /* SP時だけ表示（例：max-width: 767px） */
  /*　スマホとPCでレイアウトを変える　*/
  /* ナビ開いてる時のボタン */
  /* このクラスを、jQueryで付与・削除する */
}
#header.fixed {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 999;
  background: #fff;
}
#header .header_inner {
  padding: 30px 0;
}
@media only screen and (max-width: 767px) {
  #header .header_inner {
    padding: 15px 0;
  }
}
#header .header_inner_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_logo {
    max-width: 35%;
  }
}
#header .header_inner_flex_logo .img_logo {
  text-align: center;
  width: 230px;
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_logo .img_logo {
    width: 100%;
    min-width: 100px;
  }
}
#header .header_inner_flex_logo .sub_title {
  font-size: 12px;
  letter-spacing: -0.06em;
}
#header .header_inner_flex_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
#header .header_inner_flex_link_contact, #header .header_inner_flex_link_search {
  text-align: center;
  margin: 0 5px;
  display: inline-block;
}
#header .header_inner_flex_link_contact img, #header .header_inner_flex_link_search img {
  max-width: 40px;
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link_contact img, #header .header_inner_flex_link_search img {
    max-width: 30px;
  }
}
#header .header_inner_flex_link_contact span, #header .header_inner_flex_link_search span {
  display: block;
  font-size: 82%;
  margin-top: 5px;
}
#header .header_inner_flex_link .box_link_pc .top {
  font-size: 82%;
  color: #797979;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 1em;
}
#header .header_inner_flex_link .box_link_pc .top li {
  padding: 0 1.5em;
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_pc .top li {
    padding: 0 0.7em;
  }
}
#header .header_inner_flex_link .box_link_pc .top li a {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
#header .header_inner_flex_link .box_link_pc .top li:hover a {
  color: #d44c89;
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_pc .top {
    font-size: 70%;
    display: block;
    margin-bottom: 0.4em;
  }
}
#header .header_inner_flex_link .box_link_pc .bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media only screen and (max-width: 1199px) {
  #header .header_inner_flex_link .box_link_pc .bottom {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_pc .bottom {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 0.4rem;
  }
}
#header .header_inner_flex_link .box_link_pc .bottom > li {
  padding: 0 1.5em;
  padding: 0 1.5em;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #header .header_inner_flex_link .box_link_pc .bottom > li {
    padding: 0 0.5em;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_pc .bottom > li {
    padding: 0 0.5em;
  }
}
#header .header_inner_flex_link .box_link_pc .bottom > li a {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #header .header_inner_flex_link .box_link_pc .bottom > li a {
    font-size: 90%;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_pc .bottom > li a {
    font-size: 70%;
  }
}
#header .header_inner_flex_link .box_link_pc .bottom > li a:before {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  position: absolute;
  content: "";
  background: #d44c89;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  top: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0;
}
#header .header_inner_flex_link .box_link_pc .bottom > li.active > a, #header .header_inner_flex_link .box_link_pc .bottom > li:hover > a {
  color: #d44c89;
  position: relative;
}
#header .header_inner_flex_link .box_link_pc .bottom > li.active > a:before, #header .header_inner_flex_link .box_link_pc .bottom > li:hover > a:before {
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_pc .bottom > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#header .header_inner_flex_link .box_link_pc .bottom .parent {
  position: relative;
}
#header .header_inner_flex_link .box_link_pc .bottom .parent a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#header .header_inner_flex_link .box_link_pc .bottom .parent a span {
  margin-left: 0.5em;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #header .header_inner_flex_link .box_link_pc .bottom .parent a span {
    margin-left: 0.2em;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_pc .bottom .parent a span {
    margin-left: 0.2em;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_pc .bottom .parent a span {
    font-size: 100%;
  }
}
#header .header_inner_flex_link .box_link_pc .bottom .parent .child {
  position: absolute;
  top: 1.5em;
  display: none;
  /* background: #fffef9; */
  padding: 0.5em;
  width: 9em;
  z-index: 1;
  background: #fffef9;
  padding: 0.5em;
}
#header .header_inner_flex_link .box_link_pc .bottom .parent .child li {
  font-size: 82%;
  color: #797979;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  margin-left: 1em;
}
#header .header_inner_flex_link .box_link_pc .bottom .parent .child li a {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
#header .header_inner_flex_link .box_link_pc .bottom .parent .child li:first-child {
  padding-top: 1em;
}
#header .header_inner_flex_link .box_link_pc .bottom .parent .child li:last-child {
  margin-bottom: 0;
  border-bottom: none;
}
#header .header_inner_flex_link .box_link_pc .bottom .parent .child li:hover a {
  color: #d44c89;
}
#header .header_inner_flex_link .box_link_pc .bottom .parent:hover > ul, #header .header_inner_flex_link .box_link_pc .bottom .parent.active > ul {
  display: block;
}
#header .header_inner_flex_link .box_link_sp .top {
  font-size: 82%;
  color: #797979;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 1em;
}
#header .header_inner_flex_link .box_link_sp .top li {
  padding: 0 1.5em;
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_sp .top li {
    padding: 0 0.7em;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_sp .top {
    font-size: 70%;
    display: block;
    margin-bottom: 0.4em;
  }
}
#header .header_inner_flex_link .box_link_sp .bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media only screen and (max-width: 1199px) {
  #header .header_inner_flex_link .box_link_sp .bottom {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_sp .bottom {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 0.4rem;
    padding-left: 3em;
  }
}
#header .header_inner_flex_link .box_link_sp .bottom > li {
  padding: 0 1.5em;
  padding: 0 1.5em;
  gap: 5px;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #header .header_inner_flex_link .box_link_sp .bottom > li {
    padding: 0 0.5em;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_sp .bottom > li {
    padding: 0 0.5em;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #header .header_inner_flex_link .box_link_sp .bottom > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#header .header_inner_flex_link .box_link_sp .bottom > li .header_icon {
  font-size: 16px;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #header .header_inner_flex_link .box_link_sp .bottom > li a {
    font-size: 90%;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_sp .bottom > li a {
    font-size: 70%;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_link_sp .bottom > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#header .header_inner_flex_link .box_menu .globalMenuSp {
  background: url(../images/home/bg_fv.png);
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp {
    padding-bottom: 10%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
#header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner {
  width: 60%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner {
    width: 80%;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner {
    width: 80%;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner {
    display: block;
    top: 0%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    height: 100%;
    overflow-y: scroll;
    padding: 10% 0 28%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner {
    display: block;
    height: 100vh;
    overflow-y: scroll;
    padding-block: 2em;
  }
}
#header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner_flex {
    display: block;
  }
}
@media only screen and (min-width: 1200px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul {
    width: 250px;
    padding-bottom: 2.3em;
  }
}
@media print {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul {
    width: 250px;
    padding-bottom: 2.3em;
  }
}
@media only screen and (min-width: 768px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul {
    width: 250px;
    padding-bottom: 2.3em;
  }
}
#header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul li {
  text-align: left;
  margin-top: 2em;
}
#header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul li a {
  font-size: 125%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul li a {
    font-size: 125%;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul li a {
    font-size: 100%;
  }
}
@media only screen and (min-width: 768px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul li:first-child {
    margin-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul li:last-child {
    margin-bottom: 2em;
  }
}
#header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul li.child {
  margin-top: 0.5em;
}
#header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul li.child.mt-0 {
  margin-top: 0;
}
#header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul li.child a {
  font-size: 100%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul li.child a {
    font-size: 100%;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner ul li.child a {
    font-size: 82%;
  }
}
#header .header_inner_flex_link .box_menu .globalMenuSp .gnav_inner::-webkit-scrollbar {
  display: none;
}
#header .header_inner_flex_link .box_menu .gnav_logo {
  display: block;
  margin-top: 100px;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #header .header_inner_flex_link .box_menu .gnav_logo {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_menu .gnav_logo {
    margin-top: 3em;
  }
}
@media only screen and (max-width: 767px) {
  #header .header_inner_flex_link .box_menu .gnav_logo .sub_title {
    font-size: 63%;
  }
}
#header .hamburger {
  display: block;
  position: relative;
  width: 72px;
  height: 72px;
  z-index: 3;
  cursor: pointer;
  background: #e2d9d6;
  border-radius: 50%;
}
#header .hamburger:before {
  position: absolute;
  content: "MENU";
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 75%;
  font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  letter-spacing: 0.1em;
}
#header .hamburger.active:before {
  content: "閉じる";
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  #header .hamburger {
    width: 55px;
    height: 55px;
    font-size: 80%;
  }
}
#header .btn_menu {
  display: none;
}
@media screen and (max-width: 767px) {
  #header .btn_menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: absolute;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 1001;
    padding: 10px 0px 10px 15px;
    border-radius: 30px;
    font-size: 14px;
    cursor: pointer;
  }
  #header .btn_menu .ic_menu {
    display: inline-block;
    margin-right: 5px;
    position: relative;
    width: 20px;
    height: 16px;
  }
  #header .btn_menu .ic_menu .line {
    position: absolute;
    height: 2px;
    width: 100%;
    background: #E45B97;
    border-radius: 2px;
    left: 0;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  #header .btn_menu .ic_menu .line:nth-child(1) {
    top: 0;
  }
  #header .btn_menu .ic_menu .line2 {
    top: 7px;
  }
  #header .btn_menu .ic_menu .line:nth-child(3) {
    bottom: 0;
  }
  #header .btn_menu.active .line:nth-child(1) {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 7px;
  }
  #header .btn_menu.active .line2 {
    opacity: 0;
  }
  #header .btn_menu.active .line:nth-child(3) {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    bottom: 7px;
  }
}
#header .hamburger {
  display: block;
}
@media screen and (max-width: 767px) {
  #header .hamburger {
    display: none;
  }
}
#header .btn_menu {
  display: none;
}
@media screen and (max-width: 767px) {
  #header .btn_menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
#header nav.globalMenuSp {
  display: none;
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  width: 100%;
  height: 100vh;
  opacity: 0;
  -webkit-transition: opacity 0.6s ease, visibility 0.6s ease;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
#header nav.globalMenuSp.active {
  display: block;
}
#header nav.globalMenuSp.active {
  opacity: 100;
}

#contents .ttl {
  color: #84660c;
  font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  letter-spacing: 0.16em;
}
#contents .ttl.center {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #contents .ttl.fst_title {
    width: 80%;
  }
}
#contents .ttl .jp {
  font-size: 150%;
  display: block;
}
#contents .ttl .en {
  font-size: 88%;
  display: block;
}
#contents .ttl--m {
  font-size: 138%;
  font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  letter-spacing: 0.01em;
}
#contents .ttl--m.gold {
  color: #84660c;
}
#contents .ttl--m.center {
  text-align: center;
}
#contents .ttl--s {
  font-size: 113%;
  font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  letter-spacing: 0.01em;
}
#contents .ttl--s.gold {
  color: #84660c;
}
#contents .ttl--s.center {
  text-align: center;
}
#contents .txt--xxl {
  font-size: 150%;
}
#contents .txt--xl {
  font-size: 125%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #contents .txt--xl {
    font-size: 119%;
  }
}
@media only screen and (max-width: 767px) {
  #contents .txt--xl {
    font-size: 113%;
  }
}
#contents .txt--l {
  font-size: 113%;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #contents .txt--l {
    font-size: 107%;
  }
}
@media only screen and (max-width: 767px) {
  #contents .txt--l {
    font-size: 100%;
  }
}
#contents .txt--m {
  font-size: 100%;
  line-height: 2;
}
#contents .txt--ms {
  font-size: 94%;
}
#contents .txt--s {
  font-size: 88%;
}
#contents .txt--xs {
  font-size: 82%;
}
#contents .txt--xxs {
  font-size: 75%;
}
#contents .center {
  text-align: center;
}
#contents .center-pc {
  text-align: center;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #contents .center-pc {
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  #contents .center-pc {
    text-align: left;
  }
}
#contents .center-pc-tab {
  text-align: center;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #contents .center-pc-tab {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  #contents .center-pc-tab {
    text-align: left;
  }
}
#contents .btn_normal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 1px solid #333333;
  border-radius: 25px;
  padding: 0.75em 1.5em;
  max-width: 360px;
  /* old:305px */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
#contents .btn_normal .arrow {
  font-size: 12px;
}
#contents .btn_normal .link {
  font-size: 20px;
}
@media only screen and (min-width: 1200px) {
  #contents .btn_normal:hover {
    background: #af9456;
    border: 1px solid #af9456;
    color: #fff;
  }
}
@media print {
  #contents .btn_normal:hover {
    background: #af9456;
    border: 1px solid #af9456;
    color: #fff;
  }
}
#contents .btn_pdf {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 1px solid #333333;
  border-radius: 25px;
  padding: 0.75em 1.5em;
  max-width: 305px;
  max-width: 320px;
  /* old:305px */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media only screen and (min-width: 1200px) {
  #contents .btn_pdf:hover {
    background: #af9456;
    border: 1px solid #af9456;
    color: #fff;
  }
}
@media print {
  #contents .btn_pdf:hover {
    background: #af9456;
    border: 1px solid #af9456;
    color: #fff;
  }
}
#contents .btn_offer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #af9456;
  border: 1px solid #fff;
  border-radius: 25px;
  padding: 0.75em 1.5em;
  max-width: 305px;
  max-width: 320px;
  /* old:305px */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  color: #fff;
}
@media only screen and (min-width: 1200px) {
  #contents .btn_offer:hover {
    background: #fff;
    border: 1px solid #af9456;
    color: #333333;
  }
}
@media print {
  #contents .btn_offer:hover {
    background: #fff;
    border: 1px solid #af9456;
    color: #333333;
  }
}
#contents .original-gradient {
  height: 200px;
  width: 90%;
  background-image: linear-gradient(89deg, rgb(194, 203, 241), rgb(221, 204, 233) 30%, rgb(150, 230, 233) 74%, rgb(238, 224, 222)), linear-gradient(79deg, rgb(194, 203, 241), rgb(221, 204, 233) 30%, rgb(150, 230, 233) 74%, rgb(238, 224, 222)), linear-gradient(79deg, rgb(194, 203, 241), rgb(221, 204, 233) 30%, rgb(150, 230, 233) 74%, rgb(238, 224, 222));
}

.page-banner_inner {
  width: 90%;
  max-width: 1000px;
  margin: auto;
}
@media only screen and (max-width: 1199px) {
  .page-banner_inner {
    width: 91.6666666667%;
  }
}
.page-banner_inner .slide_banner img {
  width: 100%;
}
.page-banner_inner .slick-prev,
.page-banner_inner .slick-next {
  color: #333333 !important;
  border: 1px solid #333333;
  border-radius: 50%;
  padding: 10px;
  background: #fffef9;
}
.page-banner_inner .slick-prev .material-symbols-outlined,
.page-banner_inner .slick-next .material-symbols-outlined {
  font-size: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.page-banner_inner .slick-prev {
  left: -100px;
  z-index: 1;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .page-banner_inner .slick-prev {
    left: -25px;
  }
}
@media only screen and (max-width: 767px) {
  .page-banner_inner .slick-prev {
    left: -10px;
  }
}
.page-banner_inner .slick-next {
  right: -100px;
  z-index: 1;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .page-banner_inner .slick-next {
    right: -25px;
  }
}
@media only screen and (max-width: 767px) {
  .page-banner_inner .slick-next {
    right: -10px;
  }
}
.page-banner_inner .slick-slide {
  margin: 0 5px;
}
.page-banner_inner .slick-dots li.slick-active button:before {
  color: #d44c89;
  opacity: 1;
}
.page-banner_inner .slick-dots li {
  width: 10px;
  height: 10px;
}
.page-banner_inner .slick-dots li button:before {
  color: #e2d9d6;
  opacity: 1 !important;
}

.btn_event {
  position: fixed;
  right: 1%;
  bottom: 5%;
  z-index: 1;
  text-align: center;
  max-width: 200px;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .btn_event {
    max-width: 150px;
  }
}
@media only screen and (max-width: 767px) {
  .btn_event {
    max-width: 100px;
  }
}

#footer {
  margin-top: 50px;
}
#footer .footer {
  background: rgba(240, 193, 211, 0.2);
  padding: 80px 0;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #footer .footer {
    padding: 60px 0;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer {
    padding: 2em 0;
  }
}
#footer .footer_inner_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #footer .footer_inner_flex {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer_inner_flex {
    display: block;
  }
}
#footer .footer_inner_flex_logo {
  width: 50%;
  text-align: center;
  display: block;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #footer .footer_inner_flex_logo {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer_inner_flex_logo {
    width: 100%;
  }
}
#footer .footer_inner_flex_logo .sub_title {
  font-size: 12px;
  letter-spacing: -0.06em;
}
#footer .footer_inner_flex .img_logo {
  width: 250px;
}
@media only screen and (max-width: 767px) {
  #footer .footer_inner_flex .img_logo img {
    display: block;
    margin: 0 auto;
  }
}
#footer .footer_inner_flex_link {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  #footer .footer_inner_flex_link {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  #footer .footer_inner_flex_link {
    width: 100%;
  }
}
#footer .footer_inner_flex_link ul {
  padding-bottom: 1.3em;
}
#footer .footer_inner_flex_link ul li {
  margin-top: 2em;
}
#footer .footer_inner_flex_link ul li:first-child {
  margin-top: 0;
}
#footer .footer_inner_flex_link ul li.child {
  margin-top: 0.5em;
}
#footer .footer_inner_flex_link ul li.child.mt-0 {
  margin-top: 0;
}
#footer .footer_inner_flex_link ul li.child a {
  font-size: 82%;
  color: #797979;
}
#footer #copyright {
  text-align: center;
  padding: 1em;
}

table.tbl_basic {
  width: 100%;
}
table.tbl_basic tr th,
table.tbl_basic tr td {
  padding: 1em;
  font-weight: normal;
  font-size: 100%;
}
table.tbl_basic tr th {
  border-bottom: 2px solid #84660c;
}
table.tbl_basic tr td {
  border-bottom: 1px solid #84660c;
}

.mv_main {
  position: relative;
  width: 100%;
}
.mv_main .mv_main_ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.topicpath {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: rgba(255, 255, 255, 0.75);
  position: relative;
}
@media only screen and (min-width: 1200px) {
  .topicpath {
    margin-bottom: 64px;
    margin-top: 32px;
  }
}
@media print {
  .topicpath {
    margin-bottom: 64px;
    margin-top: 32px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .topicpath {
    margin-bottom: 40px;
    margin-top: 25px;
  }
}
@media only screen and (max-width: 767px) {
  .topicpath {
    margin-bottom: 24px;
    margin-top: 20px;
  }
}
.topicpath li {
  margin-left: 2em;
  position: relative;
  font-size: 100%;
}
.topicpath li:before {
  position: absolute;
  content: "-";
  color: #333333;
  left: -1.25em;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.topicpath li:first-child {
  margin-left: 0;
}
.topicpath li:first-child:before {
  display: none;
}

.to_contact {
  width: 100%;
  padding-bottom: 4em;
}
.to_contact > a {
  margin: auto;
  background: #E45B97;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  color: #fff;
}
.to_contact .btn_not_normal {
  margin: auto;
  background: #fff;
  border: 1px solid #333333;
  color: #000;
}