@charset 'UTF-8';
/* ======================================================================= */
/*!
 * CUSTOM STYLESHEET
 * 01. HTML Basic Settings
 * 02. Header Area
 * 03. Main Area
 * 04. Sidebar Area
 * 05. Footer Area
 * 06. Original Module Settings
 * 
 * Color Settings
 * - Primary #0768ac
 * - Text #460e44
 */
/* ======================================================================= */

/*!
 * 01. HTML Basic Settings
 * ----------------------------------------------------------------------- */

/* Font setting */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@200;400;500;600&display=swap');

html {
  font-family: 'IBM Plex Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Arial', 'Yu Gothic', 'Meiryo', sans-serif;
  font-size: 62.5%; /* -> 10px */ 
  font-weight: 400;
  line-height: 1.5;
  color: #460e44;
  background-color: #FFF;
  -webkit-tap-highlight-color: rgba(0,0,0,0.8);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body {
  font-family: 'IBM Plex Sans JP', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Arial', 'Yu Gothic', 'Meiryo', sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  color: #460e44;
  background-color: #FFF;
  -webkit-tap-highlight-color: rgba(0,0,0,0.8);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/*!
 * 02. Header Area
 * ----------------------------------------------------------------------- */

.header .navbar-brand {
  line-height: 3.2rem;
}
.header .navbar-brand .logo {
  max-width: 3.2rem;
}
.header .navbar-brand .site-title {
  font-size: 2.4rem;
  font-weight: 500;
}

.header .site-description {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.1rem;
}

.header .header-nav-top .nav-item {
  margin-left: .6rem;
  margin-right: .6rem;
  margin-top: 1.6rem;
  margin-bottom: 1.6rem;
}
.header .header-nav-top .nav-item .nav-link {
  padding-top: .8rem;
  padding-bottom: .8rem;
  font-family: 'IBM Plex Sans JP', sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  color: #460e44;
  line-height: normal;
}
.header .header-nav-top .nav-item .nav-link.active {
  font-weight: 500;
}


/*!
 * 03. Main Area
 * ----------------------------------------------------------------------- */


/*!
 * 04. Sidebar Area
 * ----------------------------------------------------------------------- */


/*!
 * 05. Footer Area
 * ----------------------------------------------------------------------- */


/*!
 * 02. Original Module Settings
 * ----------------------------------------------------------------------- */
.site {
  overflow-x: hidden;
}
@media (max-width: 991.98px) {
  .site {
  }
}
@media (min-width: 992px) {
  .site {
  }
}

/* Badges */
/* ----------------------------------------------------------------------- */

/* Borders */
/* ----------------------------------------------------------------------- */

/* Buttons */
/* ----------------------------------------------------------------------- */
.btn {
  padding-left: 1.6rem !important;
  padding-right: 1.6rem !important;
}
.btn:hover {
  opacity: 1;
}
.btn-primary {
  color: #FFF !important;
  background-color: #460e44;
  border-color: #460e44;
}
.btn-outline-primary {
  background-color: #FFF !important;
  border-color: #460e44 !important;
}

/* Cards
 * ----------------------------------------------------------------------- */

/* Color
 * ----------------------------------------------------------------------- */

/* Forms
 * ----------------------------------------------------------------------- */

/* Icons
 * ----------------------------------------------------------------------- */

.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}
/* Rules for sizing the icon. */
.material-symbols-outlined.md-18 { font-size: 18px; }
.material-symbols-outlined.md-24 { font-size: 24px; }
.material-symbols-outlined.md-36 { font-size: 36px; }
.material-symbols-outlined.md-48 { font-size: 48px; }

/* Nav
 * ----------------------------------------------------------------------- */
.nav-link span {
  line-height: normal;
  vertical-align: middle;
}

/* Sizing
 * ----------------------------------------------------------------------- */

/* Tags
 * ----------------------------------------------------------------------- */

/* Text
 * ----------------------------------------------------------------------- */

/* Scroll Top
 * ----------------------------------------------------------------------- */
.back-to-top {
  position: fixed;
  bottom: 8rem;
  right: 10px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  display: none;
  color: rgba(0,0,0,0.4);
  background-color: rgba(255,255,255,0.9);
  border-radius: 0;
  z-index: 100;
}
.back-to-top:hover {
  color: rgba(0,0,0,0.6);
}
@media (max-width: 991.98px) {
  .back-to-top {
    width: 30px;
    height: 30px;
    line-height: 30px;
  }
}