body {
  color: #212121;
  background-color: #fcfcfc;
}

/* DEV ENVIRONMENT ONLY */

#environment_check {
  padding: 0.5rem 0;
  text-align: center;
}

/* HEADER */

header {
  border-bottom: solid 1px #d9d9d9;
  box-shadow: 0 0.1rem 0.25rem rgba(34, 34, 34, 0.2);
  backdrop-filter: blur(0.8rem);
  -webkit-backdrop-filter: blur(0.8rem);
}

/* HEADER NAVIGATION */

header a.nav-link {
  font-size: 0.9rem;
}

header a.nav-link:hover {
  text-decoration: underline;
}

header span.nav_icon_btn img {
  max-width: 16px;
  margin-right: 0.2rem;
}

header #btn_mypage,
#btn_logout,
#btn_create_account,
#btn_login {
  font-size: 0.9rem;
  padding: 0.25rem 1rem;
  color: #212121;
  border-radius: 1rem;
}

header #btn_logout,
#btn_login {
  color: #212121;
  border: 1px solid #1f91b1;
  background-color: #fff;
}

header #btn_mypage:hover,
#btn_create_account:hover {
  text-decoration: none;
}

header #btn_logout:hover,
#btn_login:hover {
  text-decoration: none;
  background-color: #d9d9d9;
}

button.search_icon {
  border-radius: 50%;
}

/* (Smartphone) MENU TOGGLER */

.navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}

/* HEADER CI */

a.navbar-brand img {
  max-height: 50px;
}

/* BODY */

main {
  margin: 0;
}

main h1#content_title {
  font-size: 1.4rem;
  font-weight: 400;
  margin-bottom: 1rem;
  color: #212121;
}

main h1#content_title::before {
  display: inline-block;
  width: 30px;
  height: 24px;
  padding-right: 0.4rem;
  content: "";
  vertical-align: bottom;
  background: url("/image/h1_image.png") no-repeat;
  background-size: contain;
}

main h2 {
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 1rem;
  padding-left: 0.25rem;
  border-left: solid 8px #f33;
}

main h3 {
  font-size: 1rem;
  font-weight: bold;
  padding-left: 0.25rem;
  border-left: solid 4px #d9d9d9;
}

main h4 {
  font-size: 1rem;
  font-weight: bold;
}

main span.btn_icon {
  padding-right: 0.4rem;
}

main span.btn_icon img {
  max-width: 22px;
  max-height: 22px;
}

div.attention_area {
  max-width: 94%;
  margin-bottom: 1rem;
  padding: 0.5rem 15px;
  border: 1px solid #d9d9d9;
  border-radius: 0.25rem;
  background-color: #fff;
}

div.attention_area ul {
  margin: 0;
  list-style-type: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

div.attention_area ul li {
  padding-left: 1.2rem;
  background-image: url(/image/icon_attention.png);
  background-repeat: no-repeat;
  background-position: 0 0.2rem;
  background-size: 1rem;
}

/* BODY CONTENT-LIST */

div.form-row {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #d9d9d9;
}

div.pictures {
  overflow: scroll;
}

img.huge {
  max-width: 100%;
  max-height: 384px;
  padding: 0.5rem;
  border: 1px solid #d9d9d9;
}

img.thumbnail {
  max-width: 256px;
  max-height: 256px;
  padding: 0.5rem;
  border: 1px solid #d9d9d9;
}

img.thumbnail_small {
  max-width: 128px;
  max-height: 128px;
  padding: 0.5rem;
  border: 1px solid #d9d9d9;
}

img.user_icon {
  max-width: 80px;
  max-height: 80px;
  margin-right: 0.5rem;
  -webkit-clip-path: circle(40%);
          clip-path: circle(40%);
}

span.datetime {
  font-size: 0.8rem;
}

div.content_detail {
  margin-bottom: 1rem;
  padding: 0.5rem;
  border: 1px solid #d9d9d9;
  border-radius: 0.25rem;
  background-color: #fff;
  box-shadow: 0 0.1rem 0.25rem rgba(34, 34, 34, 0.2);
}

/* BODY ROOM LIST */

ul.room_list {
  list-style-type: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

ul.room_list li {
  margin-bottom: 1rem;
  border: 1px solid #d9d9d9;
  border-radius: 0.25rem;
}

ul.room_list img {
  float: left;
  max-width: 128px;
  padding: 0.5rem;
}

ul.room_list a {
  display: block;
}

ul.room_list a:hover {
  text-decoration: none;
  background-color: #f9f9f9;
}

ul.room_list img.thumbnail_small {
  float: left;
}

ul.room_list h4 {
  float: left;
  overflow-x: scroll;
  width: calc(100% - 130px);
  padding-top: 0.5rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

ul.room_list h4::-webkit-scrollbar {
  display: none;
}

ul.room_list span.badge {
  margin-right: 0.4rem;
}

ul.room_list div.room_profile {
  float: left;
  width: calc(100% - 130px);
}

/* BODY EVENT LIST */

ul.event_list {
  list-style-type: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

ul.event_list img {
  float: left;
  max-width: 128px;
  padding: 0.5rem;
}

ul.event_list a {
  display: table;
  width: 100%;
}

ul.event_list a:hover {
  text-decoration: none;
  background-color: #f9f9f9;
}

ul.event_list img.thumbnail_small {
  float: left;
}

ul.event_list h4 {
  float: left;
  overflow-x: scroll;
  padding-top: 0.5rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

ul.event_list h4::-webkit-scrollbar {
  display: none;
}

ul.event_list span.badge {
  margin-right: 0.4rem;
}

ul.event_list .detail {
  margin-bottom: 1rem;
  border: 1px solid #d9d9d9;
  border-radius: 0.25rem;
}

ul.event_list .middle {
  display: table-cell;
  vertical-align: middle;
}

/* BODY MENU */

div#user_profile {
  margin-bottom: 1rem;
  padding: 0.5rem;
  border: 1px solid #d9d9d9;
  border-radius: 0.25rem;
  background-color: #fff;
  box-shadow: 0 0.1rem 0.25rem rgba(34, 34, 34, 0.2);
}

/* BODY NEWS_LIST */

ul.news_list {
  list-style-type: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

ul.news_list li {
  line-height: 2;
  margin-left: 1rem;
  border-bottom: 1px solid #d9d9d9;
}

ul.news_list li:first-child {
  border-top: 1px solid #d9d9d9;
}

ul.news_list span.date {
  font-size: 0.9rem;
  min-width: 120px;
  margin-right: 0.4rem;
  white-space: nowrap;
}

ul.news_list span.badge {
  min-width: 100px;
  margin-right: 0.4rem;
}

ul.news_list a {
  display: block;
  padding: 0.5rem 1rem;
}

ul.news_list a:hover {
  text-decoration: none;
  background-color: #f9f9f9;
}

/* NEWS_DETAIL */

.news_detail {
  line-height: 2;
}

.news_detail span.date {
  min-width: 120px;
  margin-right: 0.4rem;
  white-space: nowrap;
}

.news_detail span.badge {
  min-width: 100px;
  margin-right: 0.4rem;
}

.news_detail span.title {
  font-weight: 600;
}

/* BODY HELP_LIST */

ul.help_list {
  list-style-type: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

ul.help_list li {
  margin-left: 1rem;
  border-bottom: 1px solid #d9d9d9;
}

ul.help_list a {
  display: block;
  padding: 0.5rem 1rem;
}

ul.help_list a:hover {
  text-decoration: none;
  background-color: #e9e9e9;
}

/* HELP_DETAIL */

.help_detail {
  line-height: 2;
}

/* BODY OKtA APP LIST */

ul.okta_app_list {
  list-style-type: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  height: 250px;
  overflow-y: auto;
}

ul.okta_app_list a {
  display: table;
  width: 100%;
}

ul.okta_app_list a:hover {
  text-decoration: none;
  background-color: #f9f9f9;
}

ul.okta_app_list .detail {
  margin-bottom: 1rem;
  border: 1px solid #7d7d7d;
  border-radius: 0.25rem;
}

ul.okta_app_list .middle {
  display: table-cell;
  vertical-align: middle;
}

/* APP DOWNLOAD */

a.banner_appstore {
  margin-right: 20px;
}

.banner_appstore img {
  max-width: 140px;
}

.banner_googleplay img {
  max-width: 140px;
}

/* FORM */

/* MYPAGE SIDEMENU */

@media only screen and (max-width: 767px) {
  nav#mypage_menu {
    padding: 0 30px !important;
  }
}

main nav#mypage_menu ul {
  width: 100%;
}

main nav#mypage_menu ul li {
  font-size: 14px;
  width: 100%;
}

main nav#mypage_menu ul li.current {
  color: #31b6dc;
}

main nav#mypage_menu ul li.current > a.nav-link {
  color: #31b6dc;
}

main nav#mypage_menu ul li a.nav-link {
  text-align: left;
}

main nav#mypage_menu ul li a.btn {
  border-radius: 0;
}

main nav#mypage_menu ul li a.nav-link:hover {
  color: #31b6dc;
}

main nav#mypage_menu ul li a.disabled {
  color: #212121 !important;
  background-color: #6c757d;
}

main nav#mypage_menu ul li ul {
  list-style-type: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

main nav#mypage_menu ul li.item-second {
  padding-left: 1.8rem;
}

main nav#mypage_menu ul li.item-second a {
  font-size: 0.9rem;
}

/* LICENSE */

pre {
  background-color: #f8f9fa;
}

/* PAGENATION */

.page-link {
  color: #212121;
}

.page-item.active .page-link {
  border-color: #d9d9d9;
  background-color: #6c757d;
}

.box-setting {
  position: relative;
  /* display: inline-block; */
  box-sizing: border-box;
  margin: 1em 0;
  padding: 1.5em;
  border: 1px solid #f1f1f1;
  background-color: #f5f5f7;
}

.text-required {
  color: #dc3545 !important;
}

.ui-sortable-highlight {
  height: 2.2em;
  border: dotted 2px #31b6dc;
}

.fs-10 {
  font-size: 10px;
}

._fs-10 {
  font-size: 10px !important;
  font-size: 1rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-10 {
    font-size: 10px !important;
    font-size: 1rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-10 {
    font-size: 10px !important;
    font-size: 1rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-10 {
    font-size: 10px !important;
    font-size: 1rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-10 {
    font-size: 10px !important;
    font-size: 1rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-10 {
    font-size: 10px !important;
    font-size: 1rem !important;
  }
}

.fs-11 {
  font-size: 11px;
}

._fs-11 {
  font-size: 11px !important;
  font-size: 1.1rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-11 {
    font-size: 11px !important;
    font-size: 1.1rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-11 {
    font-size: 11px !important;
    font-size: 1.1rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-11 {
    font-size: 11px !important;
    font-size: 1.1rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-11 {
    font-size: 11px !important;
    font-size: 1.1rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-11 {
    font-size: 11px !important;
    font-size: 1.1rem !important;
  }
}

.fs-12 {
  font-size: 12px;
}

._fs-12 {
  font-size: 12px !important;
  font-size: 1.2rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-12 {
    font-size: 12px !important;
    font-size: 1.2rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-12 {
    font-size: 12px !important;
    font-size: 1.2rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-12 {
    font-size: 12px !important;
    font-size: 1.2rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-12 {
    font-size: 12px !important;
    font-size: 1.2rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-12 {
    font-size: 12px !important;
    font-size: 1.2rem !important;
  }
}

.fs-13 {
  font-size: 13px;
}

._fs-13 {
  font-size: 13px !important;
  font-size: 1.3rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-13 {
    font-size: 13px !important;
    font-size: 1.3rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-13 {
    font-size: 13px !important;
    font-size: 1.3rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-13 {
    font-size: 13px !important;
    font-size: 1.3rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-13 {
    font-size: 13px !important;
    font-size: 1.3rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-13 {
    font-size: 13px !important;
    font-size: 1.3rem !important;
  }
}

.fs-14 {
  font-size: 14px;
}

._fs-14 {
  font-size: 14px !important;
  font-size: 1.4rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-14 {
    font-size: 14px !important;
    font-size: 1.4rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-14 {
    font-size: 14px !important;
    font-size: 1.4rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-14 {
    font-size: 14px !important;
    font-size: 1.4rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-14 {
    font-size: 14px !important;
    font-size: 1.4rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-14 {
    font-size: 14px !important;
    font-size: 1.4rem !important;
  }
}

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

._fs-15 {
  font-size: 15px !important;
  font-size: 1.5rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-15 {
    font-size: 15px !important;
    font-size: 1.5rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-15 {
    font-size: 15px !important;
    font-size: 1.5rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-15 {
    font-size: 15px !important;
    font-size: 1.5rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-15 {
    font-size: 15px !important;
    font-size: 1.5rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-15 {
    font-size: 15px !important;
    font-size: 1.5rem !important;
  }
}

.fs-16 {
  font-size: 16px;
}

._fs-16 {
  font-size: 16px !important;
  font-size: 1.6rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-16 {
    font-size: 16px !important;
    font-size: 1.6rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-16 {
    font-size: 16px !important;
    font-size: 1.6rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-16 {
    font-size: 16px !important;
    font-size: 1.6rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-16 {
    font-size: 16px !important;
    font-size: 1.6rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-16 {
    font-size: 16px !important;
    font-size: 1.6rem !important;
  }
}

.fs-17 {
  font-size: 17px;
}

._fs-17 {
  font-size: 17px !important;
  font-size: 1.7rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-17 {
    font-size: 17px !important;
    font-size: 1.7rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-17 {
    font-size: 17px !important;
    font-size: 1.7rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-17 {
    font-size: 17px !important;
    font-size: 1.7rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-17 {
    font-size: 17px !important;
    font-size: 1.7rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-17 {
    font-size: 17px !important;
    font-size: 1.7rem !important;
  }
}

.fs-18 {
  font-size: 18px;
}

._fs-18 {
  font-size: 18px !important;
  font-size: 1.8rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-18 {
    font-size: 18px !important;
    font-size: 1.8rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-18 {
    font-size: 18px !important;
    font-size: 1.8rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-18 {
    font-size: 18px !important;
    font-size: 1.8rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-18 {
    font-size: 18px !important;
    font-size: 1.8rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-18 {
    font-size: 18px !important;
    font-size: 1.8rem !important;
  }
}

.fs-19 {
  font-size: 19px;
}

._fs-19 {
  font-size: 19px !important;
  font-size: 1.9rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-19 {
    font-size: 19px !important;
    font-size: 1.9rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-19 {
    font-size: 19px !important;
    font-size: 1.9rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-19 {
    font-size: 19px !important;
    font-size: 1.9rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-19 {
    font-size: 19px !important;
    font-size: 1.9rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-19 {
    font-size: 19px !important;
    font-size: 1.9rem !important;
  }
}

.fs-20 {
  font-size: 20px;
}

._fs-20 {
  font-size: 20px !important;
  font-size: 2rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-20 {
    font-size: 20px !important;
    font-size: 2rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-20 {
    font-size: 20px !important;
    font-size: 2rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-20 {
    font-size: 20px !important;
    font-size: 2rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-20 {
    font-size: 20px !important;
    font-size: 2rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-20 {
    font-size: 20px !important;
    font-size: 2rem !important;
  }
}

.fs-21 {
  font-size: 21px;
}

._fs-21 {
  font-size: 21px !important;
  font-size: 2.1rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-21 {
    font-size: 21px !important;
    font-size: 2.1rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-21 {
    font-size: 21px !important;
    font-size: 2.1rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-21 {
    font-size: 21px !important;
    font-size: 2.1rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-21 {
    font-size: 21px !important;
    font-size: 2.1rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-21 {
    font-size: 21px !important;
    font-size: 2.1rem !important;
  }
}

.fs-22 {
  font-size: 22px;
}

._fs-22 {
  font-size: 22px !important;
  font-size: 2.2rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-22 {
    font-size: 22px !important;
    font-size: 2.2rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-22 {
    font-size: 22px !important;
    font-size: 2.2rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-22 {
    font-size: 22px !important;
    font-size: 2.2rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-22 {
    font-size: 22px !important;
    font-size: 2.2rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-22 {
    font-size: 22px !important;
    font-size: 2.2rem !important;
  }
}

.fs-23 {
  font-size: 23px;
}

._fs-23 {
  font-size: 23px !important;
  font-size: 2.3rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-23 {
    font-size: 23px !important;
    font-size: 2.3rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-23 {
    font-size: 23px !important;
    font-size: 2.3rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-23 {
    font-size: 23px !important;
    font-size: 2.3rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-23 {
    font-size: 23px !important;
    font-size: 2.3rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-23 {
    font-size: 23px !important;
    font-size: 2.3rem !important;
  }
}

.fs-24 {
  font-size: 24px;
}

._fs-24 {
  font-size: 24px !important;
  font-size: 2.4rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-24 {
    font-size: 24px !important;
    font-size: 2.4rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-24 {
    font-size: 24px !important;
    font-size: 2.4rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-24 {
    font-size: 24px !important;
    font-size: 2.4rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-24 {
    font-size: 24px !important;
    font-size: 2.4rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-24 {
    font-size: 24px !important;
    font-size: 2.4rem !important;
  }
}

.fs-25 {
  font-size: 25px;
}

._fs-25 {
  font-size: 25px !important;
  font-size: 2.5rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-25 {
    font-size: 25px !important;
    font-size: 2.5rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-25 {
    font-size: 25px !important;
    font-size: 2.5rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-25 {
    font-size: 25px !important;
    font-size: 2.5rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-25 {
    font-size: 25px !important;
    font-size: 2.5rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-25 {
    font-size: 25px !important;
    font-size: 2.5rem !important;
  }
}

.fs-26 {
  font-size: 26px;
}

._fs-26 {
  font-size: 26px !important;
  font-size: 2.6rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-26 {
    font-size: 26px !important;
    font-size: 2.6rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-26 {
    font-size: 26px !important;
    font-size: 2.6rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-26 {
    font-size: 26px !important;
    font-size: 2.6rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-26 {
    font-size: 26px !important;
    font-size: 2.6rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-26 {
    font-size: 26px !important;
    font-size: 2.6rem !important;
  }
}

.fs-27 {
  font-size: 27px;
}

._fs-27 {
  font-size: 27px !important;
  font-size: 2.7rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-27 {
    font-size: 27px !important;
    font-size: 2.7rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-27 {
    font-size: 27px !important;
    font-size: 2.7rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-27 {
    font-size: 27px !important;
    font-size: 2.7rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-27 {
    font-size: 27px !important;
    font-size: 2.7rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-27 {
    font-size: 27px !important;
    font-size: 2.7rem !important;
  }
}

.fs-28 {
  font-size: 28px;
}

._fs-28 {
  font-size: 28px !important;
  font-size: 2.8rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-28 {
    font-size: 28px !important;
    font-size: 2.8rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-28 {
    font-size: 28px !important;
    font-size: 2.8rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-28 {
    font-size: 28px !important;
    font-size: 2.8rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-28 {
    font-size: 28px !important;
    font-size: 2.8rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-28 {
    font-size: 28px !important;
    font-size: 2.8rem !important;
  }
}

.fs-29 {
  font-size: 29px;
}

._fs-29 {
  font-size: 29px !important;
  font-size: 2.9rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-29 {
    font-size: 29px !important;
    font-size: 2.9rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-29 {
    font-size: 29px !important;
    font-size: 2.9rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-29 {
    font-size: 29px !important;
    font-size: 2.9rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-29 {
    font-size: 29px !important;
    font-size: 2.9rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-29 {
    font-size: 29px !important;
    font-size: 2.9rem !important;
  }
}

.fs-30 {
  font-size: 30px;
}

._fs-30 {
  font-size: 30px !important;
  font-size: 3rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-30 {
    font-size: 30px !important;
    font-size: 3rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-30 {
    font-size: 30px !important;
    font-size: 3rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-30 {
    font-size: 30px !important;
    font-size: 3rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-30 {
    font-size: 30px !important;
    font-size: 3rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-30 {
    font-size: 30px !important;
    font-size: 3rem !important;
  }
}

.fs-31 {
  font-size: 31px;
}

._fs-31 {
  font-size: 31px !important;
  font-size: 3.1rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-31 {
    font-size: 31px !important;
    font-size: 3.1rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-31 {
    font-size: 31px !important;
    font-size: 3.1rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-31 {
    font-size: 31px !important;
    font-size: 3.1rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-31 {
    font-size: 31px !important;
    font-size: 3.1rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-31 {
    font-size: 31px !important;
    font-size: 3.1rem !important;
  }
}

.fs-32 {
  font-size: 32px;
}

._fs-32 {
  font-size: 32px !important;
  font-size: 3.2rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-32 {
    font-size: 32px !important;
    font-size: 3.2rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-32 {
    font-size: 32px !important;
    font-size: 3.2rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-32 {
    font-size: 32px !important;
    font-size: 3.2rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-32 {
    font-size: 32px !important;
    font-size: 3.2rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-32 {
    font-size: 32px !important;
    font-size: 3.2rem !important;
  }
}

.fs-33 {
  font-size: 33px;
}

._fs-33 {
  font-size: 33px !important;
  font-size: 3.3rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-33 {
    font-size: 33px !important;
    font-size: 3.3rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-33 {
    font-size: 33px !important;
    font-size: 3.3rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-33 {
    font-size: 33px !important;
    font-size: 3.3rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-33 {
    font-size: 33px !important;
    font-size: 3.3rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-33 {
    font-size: 33px !important;
    font-size: 3.3rem !important;
  }
}

.fs-34 {
  font-size: 34px;
}

._fs-34 {
  font-size: 34px !important;
  font-size: 3.4rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-34 {
    font-size: 34px !important;
    font-size: 3.4rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-34 {
    font-size: 34px !important;
    font-size: 3.4rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-34 {
    font-size: 34px !important;
    font-size: 3.4rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-34 {
    font-size: 34px !important;
    font-size: 3.4rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-34 {
    font-size: 34px !important;
    font-size: 3.4rem !important;
  }
}

.fs-35 {
  font-size: 35px;
}

._fs-35 {
  font-size: 35px !important;
  font-size: 3.5rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-35 {
    font-size: 35px !important;
    font-size: 3.5rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-35 {
    font-size: 35px !important;
    font-size: 3.5rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-35 {
    font-size: 35px !important;
    font-size: 3.5rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-35 {
    font-size: 35px !important;
    font-size: 3.5rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-35 {
    font-size: 35px !important;
    font-size: 3.5rem !important;
  }
}

.fs-36 {
  font-size: 36px;
}

._fs-36 {
  font-size: 36px !important;
  font-size: 3.6rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-36 {
    font-size: 36px !important;
    font-size: 3.6rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-36 {
    font-size: 36px !important;
    font-size: 3.6rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-36 {
    font-size: 36px !important;
    font-size: 3.6rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-36 {
    font-size: 36px !important;
    font-size: 3.6rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-36 {
    font-size: 36px !important;
    font-size: 3.6rem !important;
  }
}

.fs-37 {
  font-size: 37px;
}

._fs-37 {
  font-size: 37px !important;
  font-size: 3.7rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-37 {
    font-size: 37px !important;
    font-size: 3.7rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-37 {
    font-size: 37px !important;
    font-size: 3.7rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-37 {
    font-size: 37px !important;
    font-size: 3.7rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-37 {
    font-size: 37px !important;
    font-size: 3.7rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-37 {
    font-size: 37px !important;
    font-size: 3.7rem !important;
  }
}

.fs-38 {
  font-size: 38px;
}

._fs-38 {
  font-size: 38px !important;
  font-size: 3.8rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-38 {
    font-size: 38px !important;
    font-size: 3.8rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-38 {
    font-size: 38px !important;
    font-size: 3.8rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-38 {
    font-size: 38px !important;
    font-size: 3.8rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-38 {
    font-size: 38px !important;
    font-size: 3.8rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-38 {
    font-size: 38px !important;
    font-size: 3.8rem !important;
  }
}

.fs-39 {
  font-size: 39px;
}

._fs-39 {
  font-size: 39px !important;
  font-size: 3.9rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-39 {
    font-size: 39px !important;
    font-size: 3.9rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-39 {
    font-size: 39px !important;
    font-size: 3.9rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-39 {
    font-size: 39px !important;
    font-size: 3.9rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-39 {
    font-size: 39px !important;
    font-size: 3.9rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-39 {
    font-size: 39px !important;
    font-size: 3.9rem !important;
  }
}

.fs-40 {
  font-size: 40px;
}

._fs-40 {
  font-size: 40px !important;
  font-size: 4rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-40 {
    font-size: 40px !important;
    font-size: 4rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-40 {
    font-size: 40px !important;
    font-size: 4rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-40 {
    font-size: 40px !important;
    font-size: 4rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-40 {
    font-size: 40px !important;
    font-size: 4rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-40 {
    font-size: 40px !important;
    font-size: 4rem !important;
  }
}

.fs-41 {
  font-size: 41px;
}

._fs-41 {
  font-size: 41px !important;
  font-size: 4.1rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-41 {
    font-size: 41px !important;
    font-size: 4.1rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-41 {
    font-size: 41px !important;
    font-size: 4.1rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-41 {
    font-size: 41px !important;
    font-size: 4.1rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-41 {
    font-size: 41px !important;
    font-size: 4.1rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-41 {
    font-size: 41px !important;
    font-size: 4.1rem !important;
  }
}

.fs-42 {
  font-size: 42px;
}

._fs-42 {
  font-size: 42px !important;
  font-size: 4.2rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-42 {
    font-size: 42px !important;
    font-size: 4.2rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-42 {
    font-size: 42px !important;
    font-size: 4.2rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-42 {
    font-size: 42px !important;
    font-size: 4.2rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-42 {
    font-size: 42px !important;
    font-size: 4.2rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-42 {
    font-size: 42px !important;
    font-size: 4.2rem !important;
  }
}

.fs-43 {
  font-size: 43px;
}

._fs-43 {
  font-size: 43px !important;
  font-size: 4.3rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-43 {
    font-size: 43px !important;
    font-size: 4.3rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-43 {
    font-size: 43px !important;
    font-size: 4.3rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-43 {
    font-size: 43px !important;
    font-size: 4.3rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-43 {
    font-size: 43px !important;
    font-size: 4.3rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-43 {
    font-size: 43px !important;
    font-size: 4.3rem !important;
  }
}

.fs-44 {
  font-size: 44px;
}

._fs-44 {
  font-size: 44px !important;
  font-size: 4.4rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-44 {
    font-size: 44px !important;
    font-size: 4.4rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-44 {
    font-size: 44px !important;
    font-size: 4.4rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-44 {
    font-size: 44px !important;
    font-size: 4.4rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-44 {
    font-size: 44px !important;
    font-size: 4.4rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-44 {
    font-size: 44px !important;
    font-size: 4.4rem !important;
  }
}

.fs-45 {
  font-size: 45px;
}

._fs-45 {
  font-size: 45px !important;
  font-size: 4.5rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-45 {
    font-size: 45px !important;
    font-size: 4.5rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-45 {
    font-size: 45px !important;
    font-size: 4.5rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-45 {
    font-size: 45px !important;
    font-size: 4.5rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-45 {
    font-size: 45px !important;
    font-size: 4.5rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-45 {
    font-size: 45px !important;
    font-size: 4.5rem !important;
  }
}

.fs-46 {
  font-size: 46px;
}

._fs-46 {
  font-size: 46px !important;
  font-size: 4.6rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-46 {
    font-size: 46px !important;
    font-size: 4.6rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-46 {
    font-size: 46px !important;
    font-size: 4.6rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-46 {
    font-size: 46px !important;
    font-size: 4.6rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-46 {
    font-size: 46px !important;
    font-size: 4.6rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-46 {
    font-size: 46px !important;
    font-size: 4.6rem !important;
  }
}

.fs-47 {
  font-size: 47px;
}

._fs-47 {
  font-size: 47px !important;
  font-size: 4.7rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-47 {
    font-size: 47px !important;
    font-size: 4.7rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-47 {
    font-size: 47px !important;
    font-size: 4.7rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-47 {
    font-size: 47px !important;
    font-size: 4.7rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-47 {
    font-size: 47px !important;
    font-size: 4.7rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-47 {
    font-size: 47px !important;
    font-size: 4.7rem !important;
  }
}

.fs-48 {
  font-size: 48px;
}

._fs-48 {
  font-size: 48px !important;
  font-size: 4.8rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-48 {
    font-size: 48px !important;
    font-size: 4.8rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-48 {
    font-size: 48px !important;
    font-size: 4.8rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-48 {
    font-size: 48px !important;
    font-size: 4.8rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-48 {
    font-size: 48px !important;
    font-size: 4.8rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-48 {
    font-size: 48px !important;
    font-size: 4.8rem !important;
  }
}

.fs-49 {
  font-size: 49px;
}

._fs-49 {
  font-size: 49px !important;
  font-size: 4.9rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-49 {
    font-size: 49px !important;
    font-size: 4.9rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-49 {
    font-size: 49px !important;
    font-size: 4.9rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-49 {
    font-size: 49px !important;
    font-size: 4.9rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-49 {
    font-size: 49px !important;
    font-size: 4.9rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-49 {
    font-size: 49px !important;
    font-size: 4.9rem !important;
  }
}

.fs-50 {
  font-size: 50px;
}

._fs-50 {
  font-size: 50px !important;
  font-size: 5rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-50 {
    font-size: 50px !important;
    font-size: 5rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-50 {
    font-size: 50px !important;
    font-size: 5rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-50 {
    font-size: 50px !important;
    font-size: 5rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-50 {
    font-size: 50px !important;
    font-size: 5rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-50 {
    font-size: 50px !important;
    font-size: 5rem !important;
  }
}

.fs-51 {
  font-size: 51px;
}

._fs-51 {
  font-size: 51px !important;
  font-size: 5.1rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-51 {
    font-size: 51px !important;
    font-size: 5.1rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-51 {
    font-size: 51px !important;
    font-size: 5.1rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-51 {
    font-size: 51px !important;
    font-size: 5.1rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-51 {
    font-size: 51px !important;
    font-size: 5.1rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-51 {
    font-size: 51px !important;
    font-size: 5.1rem !important;
  }
}

.fs-52 {
  font-size: 52px;
}

._fs-52 {
  font-size: 52px !important;
  font-size: 5.2rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-52 {
    font-size: 52px !important;
    font-size: 5.2rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-52 {
    font-size: 52px !important;
    font-size: 5.2rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-52 {
    font-size: 52px !important;
    font-size: 5.2rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-52 {
    font-size: 52px !important;
    font-size: 5.2rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-52 {
    font-size: 52px !important;
    font-size: 5.2rem !important;
  }
}

.fs-53 {
  font-size: 53px;
}

._fs-53 {
  font-size: 53px !important;
  font-size: 5.3rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-53 {
    font-size: 53px !important;
    font-size: 5.3rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-53 {
    font-size: 53px !important;
    font-size: 5.3rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-53 {
    font-size: 53px !important;
    font-size: 5.3rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-53 {
    font-size: 53px !important;
    font-size: 5.3rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-53 {
    font-size: 53px !important;
    font-size: 5.3rem !important;
  }
}

.fs-54 {
  font-size: 54px;
}

._fs-54 {
  font-size: 54px !important;
  font-size: 5.4rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-54 {
    font-size: 54px !important;
    font-size: 5.4rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-54 {
    font-size: 54px !important;
    font-size: 5.4rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-54 {
    font-size: 54px !important;
    font-size: 5.4rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-54 {
    font-size: 54px !important;
    font-size: 5.4rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-54 {
    font-size: 54px !important;
    font-size: 5.4rem !important;
  }
}

.fs-55 {
  font-size: 55px;
}

._fs-55 {
  font-size: 55px !important;
  font-size: 5.5rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-55 {
    font-size: 55px !important;
    font-size: 5.5rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-55 {
    font-size: 55px !important;
    font-size: 5.5rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-55 {
    font-size: 55px !important;
    font-size: 5.5rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-55 {
    font-size: 55px !important;
    font-size: 5.5rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-55 {
    font-size: 55px !important;
    font-size: 5.5rem !important;
  }
}

.fs-56 {
  font-size: 56px;
}

._fs-56 {
  font-size: 56px !important;
  font-size: 5.6rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-56 {
    font-size: 56px !important;
    font-size: 5.6rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-56 {
    font-size: 56px !important;
    font-size: 5.6rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-56 {
    font-size: 56px !important;
    font-size: 5.6rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-56 {
    font-size: 56px !important;
    font-size: 5.6rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-56 {
    font-size: 56px !important;
    font-size: 5.6rem !important;
  }
}

.fs-57 {
  font-size: 57px;
}

._fs-57 {
  font-size: 57px !important;
  font-size: 5.7rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-57 {
    font-size: 57px !important;
    font-size: 5.7rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-57 {
    font-size: 57px !important;
    font-size: 5.7rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-57 {
    font-size: 57px !important;
    font-size: 5.7rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-57 {
    font-size: 57px !important;
    font-size: 5.7rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-57 {
    font-size: 57px !important;
    font-size: 5.7rem !important;
  }
}

.fs-58 {
  font-size: 58px;
}

._fs-58 {
  font-size: 58px !important;
  font-size: 5.8rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-58 {
    font-size: 58px !important;
    font-size: 5.8rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-58 {
    font-size: 58px !important;
    font-size: 5.8rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-58 {
    font-size: 58px !important;
    font-size: 5.8rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-58 {
    font-size: 58px !important;
    font-size: 5.8rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-58 {
    font-size: 58px !important;
    font-size: 5.8rem !important;
  }
}

.fs-59 {
  font-size: 59px;
}

._fs-59 {
  font-size: 59px !important;
  font-size: 5.9rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-59 {
    font-size: 59px !important;
    font-size: 5.9rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-59 {
    font-size: 59px !important;
    font-size: 5.9rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-59 {
    font-size: 59px !important;
    font-size: 5.9rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-59 {
    font-size: 59px !important;
    font-size: 5.9rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-59 {
    font-size: 59px !important;
    font-size: 5.9rem !important;
  }
}

.fs-60 {
  font-size: 60px;
}

._fs-60 {
  font-size: 60px !important;
  font-size: 6rem !important;
}

@media only screen and (max-width: 767px) {
  ._fs-60 {
    font-size: 60px !important;
    font-size: 6rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .fs-sp-60 {
    font-size: 60px !important;
    font-size: 6rem !important;
  }
}

@media only screen and (max-width: 767px) and (max-width: 767px) {
  .fs-sp-60 {
    font-size: 60px !important;
    font-size: 6rem !important;
  }
}

@media only screen and (min-width: 768px) {
  .fs-pc-60 {
    font-size: 60px !important;
    font-size: 6rem !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 767px) {
  .fs-pc-60 {
    font-size: 60px !important;
    font-size: 6rem !important;
  }
}

@media only screen and (max-width: 767px) {
  .only-pc {
    display: none !important;
  }

  .only-sp {
    display: block !important;
  }

  .label-sp::before {
    content: attr(data-label);
  }

  .label-sp img {
    display: none;
  }
}

@media only screen and (min-width: 768px) {
  .only-pc {
    display: block !important;
  }

  .only-sp {
    display: none !important;
  }

  .label-pc::before {
    content: attr(data-label);
  }

  .label-pc img {
    display: none;
  }
}

@media only screen and (min-width: 576px) and (max-width: 767px) {
  .label-sm::before {
    content: attr(data-label);
  }

  .label-sm img {
    display: none;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .label-md::before {
    content: attr(data-label);
  }

  .label-md img {
    display: none;
  }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .label-lg::before {
    content: attr(data-label);
  }

  .label-lg img {
    display: none;
  }
}

@media only screen and (min-width: 1200px) {
  .label-xl::before {
    content: attr(data-label);
  }

  .label-xl img {
    display: none;
  }
}

.text-main {
  color: #003948 !important;
}

.bg-main {
  background: #003948 !important;
}

@media only screen and (max-width: 767px) {
  .bg-sp-main {
    background: #003948 !important;
  }
}

@media only screen and (min-width: 768px) {
  .bg-pc-main {
    background: #003948 !important;
  }
}

.border-main {
  border-color: #003948 !important;
}

.text-dark-blue {
  color: #012a34 !important;
}

.bg-dark-blue {
  background: #012a34 !important;
}

@media only screen and (max-width: 767px) {
  .bg-sp-dark-blue {
    background: #012a34 !important;
  }
}

@media only screen and (min-width: 768px) {
  .bg-pc-dark-blue {
    background: #012a34 !important;
  }
}

.border-dark-blue {
  border-color: #012a34 !important;
}

.text-white {
  color: #fff !important;
}

.bg-white {
  background: #fff !important;
}

@media only screen and (max-width: 767px) {
  .bg-sp-white {
    background: #fff !important;
  }
}

@media only screen and (min-width: 768px) {
  .bg-pc-white {
    background: #fff !important;
  }
}

.border-white {
  border-color: #fff !important;
}

.text-black {
  color: #3b3b3b !important;
}

.bg-black {
  background: #3b3b3b !important;
}

@media only screen and (max-width: 767px) {
  .bg-sp-black {
    background: #3b3b3b !important;
  }
}

@media only screen and (min-width: 768px) {
  .bg-pc-black {
    background: #3b3b3b !important;
  }
}

.border-black {
  border-color: #3b3b3b !important;
}

.text-gray {
  color: #bbb !important;
}

.bg-gray {
  background: #bbb !important;
}

@media only screen and (max-width: 767px) {
  .bg-sp-gray {
    background: #bbb !important;
  }
}

@media only screen and (min-width: 768px) {
  .bg-pc-gray {
    background: #bbb !important;
  }
}

.border-gray {
  border-color: #bbb !important;
}

.text-primary {
  color: #54c1d6 !important;
}

.bg-primary {
  background: #54c1d6 !important;
}

@media only screen and (max-width: 767px) {
  .bg-sp-primary {
    background: #54c1d6 !important;
  }
}

@media only screen and (min-width: 768px) {
  .bg-pc-primary {
    background: #54c1d6 !important;
  }
}

.border-primary {
  border-color: #54c1d6 !important;
}

.text-accent {
  color: #e5973c !important;
}

.bg-accent {
  background: #e5973c !important;
}

@media only screen and (max-width: 767px) {
  .bg-sp-accent {
    background: #e5973c !important;
  }
}

@media only screen and (min-width: 768px) {
  .bg-pc-accent {
    background: #e5973c !important;
  }
}

.border-accent {
  border-color: #e5973c !important;
}

.clearfix {
  *zoom: 1;
}

.clearfix::before,
.clearfix::after {
  content: " ";
  display: block;
  line-height: 0;
}

.clearfix::after {
  content: " ";
  display: block;
  clear: both;
}

a:hover img.hover,
span:hover img.hover {
  opacity: 0.8;
}

img.b,
.b {
  display: block;
}

.radius {
  border-radius: 10px 10px 10px 10px;
}

img.auto {
  display: block;
  margin: 0 auto;
}

img.full {
  height: auto;
  width: 100%;
  max-width: none;
}

img.max {
  height: auto;
  max-width: 100%;
}

.bold {
  font-weight: bold;
}

.aR {
  text-align: right !important;
}

.aC {
  text-align: center !important;
}

.aL {
  text-align: left !important;
}

.kerning {
  font-feature-settings: "palt";
}

ul.notes li {
  margin-left: 1em;
  text-indent: -1em;
}

ul.disc,
ol.disc {
  padding-left: 30px;
}

ul.disc li,
ol.disc li {
  list-style-type: disc;
}

ul.circle,
ol.circle {
  padding-left: 30px;
}

ul.circle li,
ol.circle li {
  list-style-type: circle;
}

ul.decimal,
ol.decimal {
  padding-left: 30px;
}

ul.decimal li,
ol.decimal li {
  list-style-type: decimal;
}

.notes {
  margin-left: 1em;
  text-indent: -1em;
}

.hr {
  border-bottom: 1px solid #ccc;
}

.hr-white {
  border-bottom-color: #fff;
}

.pointer {
  cursor: pointer;
}

.full {
  height: auto;
  width: 100%;
  max-width: none;
}

.ofi {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}

.border {
  border: 1px solid #ddd;
}

.radius {
  border-radius: 10px 10px 10px 10px;
}

span.mail {
  display: inline-block;
}

span.mail::before {
  content: attr(data-account);
}

span.mail::after {
  content: attr(data-domain);
}

.h-100p {
  height: 100% !important;
}

.h-50p {
  height: 50% !important;
}

.h-0 {
  height: 0px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-0 {
    height: 0px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-0 {
    height: 0px !important;
  }
}

.h-5 {
  height: 5px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-5 {
    height: 5px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-5 {
    height: 5px !important;
  }
}

.h-10 {
  height: 10px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-10 {
    height: 10px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-10 {
    height: 10px !important;
  }
}

.h-15 {
  height: 15px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-15 {
    height: 15px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-15 {
    height: 15px !important;
  }
}

.h-20 {
  height: 20px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-20 {
    height: 20px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-20 {
    height: 20px !important;
  }
}

.h-25 {
  height: 25px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-25 {
    height: 25px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-25 {
    height: 25px !important;
  }
}

.h-30 {
  height: 30px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-30 {
    height: 30px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-30 {
    height: 30px !important;
  }
}

.h-35 {
  height: 35px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-35 {
    height: 35px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-35 {
    height: 35px !important;
  }
}

.h-40 {
  height: 40px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-40 {
    height: 40px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-40 {
    height: 40px !important;
  }
}

.h-50 {
  height: 50px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-50 {
    height: 50px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-50 {
    height: 50px !important;
  }
}

.h-60 {
  height: 60px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-60 {
    height: 60px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-60 {
    height: 60px !important;
  }
}

.h-70 {
  height: 70px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-70 {
    height: 70px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-70 {
    height: 70px !important;
  }
}

.h-75 {
  height: 75px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-75 {
    height: 75px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-75 {
    height: 75px !important;
  }
}

.h-80 {
  height: 80px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-80 {
    height: 80px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-80 {
    height: 80px !important;
  }
}

.h-90 {
  height: 90px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-90 {
    height: 90px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-90 {
    height: 90px !important;
  }
}

.h-100 {
  height: 100px !important;
}

@media only screen and (max-width: 767px) {
  .h-sp-100 {
    height: 100px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-100 {
    height: 100px !important;
  }
}

.mgt-0 {
  margin-top: 0px !important;
}

.mgb-0 {
  margin-bottom: 0px !important;
}

.mgr-0 {
  margin-right: 0px !important;
}

.mgl-0 {
  margin-left: 0px !important;
}

.pdt-0 {
  padding-top: 0px !important;
}

.pdb-0 {
  padding-bottom: 0px !important;
}

.pdr-0 {
  padding-right: 0px !important;
}

.pdl-0 {
  padding-left: 0px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-0 {
    margin-top: 0px !important;
  }

  .mgb-sp-0 {
    margin-bottom: 0px !important;
  }

  .mgr-sp-0 {
    margin-right: 0px !important;
  }

  .mgl-sp-0 {
    margin-left: 0px !important;
  }

  .pdt-sp-0 {
    padding-top: 0px !important;
  }

  .pdb-sp-0 {
    padding-bottom: 0px !important;
  }

  .pdr-sp-0 {
    padding-right: 0px !important;
  }

  .pdl-sp-0 {
    padding-left: 0px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-0 {
    margin-top: 0px !important;
  }

  .mgb-pc-0 {
    margin-bottom: 0px !important;
  }

  .mgr-pc-0 {
    margin-right: 0px !important;
  }

  .mgl-pc-0 {
    margin-left: 0px !important;
  }

  .pdt-pc-0 {
    padding-top: 0px !important;
  }

  .pdb-pc-0 {
    padding-bottom: 0px !important;
  }

  .pdr-pc-0 {
    padding-right: 0px !important;
  }

  .pdl-pc-0 {
    padding-left: 0px !important;
  }
}

.mgt-5 {
  margin-top: 5px !important;
}

.mgb-5 {
  margin-bottom: 5px !important;
}

.mgr-5 {
  margin-right: 5px !important;
}

.mgl-5 {
  margin-left: 5px !important;
}

.pdt-5 {
  padding-top: 5px !important;
}

.pdb-5 {
  padding-bottom: 5px !important;
}

.pdr-5 {
  padding-right: 5px !important;
}

.pdl-5 {
  padding-left: 5px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-5 {
    margin-top: 5px !important;
  }

  .mgb-sp-5 {
    margin-bottom: 5px !important;
  }

  .mgr-sp-5 {
    margin-right: 5px !important;
  }

  .mgl-sp-5 {
    margin-left: 5px !important;
  }

  .pdt-sp-5 {
    padding-top: 5px !important;
  }

  .pdb-sp-5 {
    padding-bottom: 5px !important;
  }

  .pdr-sp-5 {
    padding-right: 5px !important;
  }

  .pdl-sp-5 {
    padding-left: 5px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-5 {
    margin-top: 5px !important;
  }

  .mgb-pc-5 {
    margin-bottom: 5px !important;
  }

  .mgr-pc-5 {
    margin-right: 5px !important;
  }

  .mgl-pc-5 {
    margin-left: 5px !important;
  }

  .pdt-pc-5 {
    padding-top: 5px !important;
  }

  .pdb-pc-5 {
    padding-bottom: 5px !important;
  }

  .pdr-pc-5 {
    padding-right: 5px !important;
  }

  .pdl-pc-5 {
    padding-left: 5px !important;
  }
}

.mgt-10 {
  margin-top: 10px !important;
}

.mgb-10 {
  margin-bottom: 10px !important;
}

.mgr-10 {
  margin-right: 10px !important;
}

.mgl-10 {
  margin-left: 10px !important;
}

.pdt-10 {
  padding-top: 10px !important;
}

.pdb-10 {
  padding-bottom: 10px !important;
}

.pdr-10 {
  padding-right: 10px !important;
}

.pdl-10 {
  padding-left: 10px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-10 {
    margin-top: 10px !important;
  }

  .mgb-sp-10 {
    margin-bottom: 10px !important;
  }

  .mgr-sp-10 {
    margin-right: 10px !important;
  }

  .mgl-sp-10 {
    margin-left: 10px !important;
  }

  .pdt-sp-10 {
    padding-top: 10px !important;
  }

  .pdb-sp-10 {
    padding-bottom: 10px !important;
  }

  .pdr-sp-10 {
    padding-right: 10px !important;
  }

  .pdl-sp-10 {
    padding-left: 10px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-10 {
    margin-top: 10px !important;
  }

  .mgb-pc-10 {
    margin-bottom: 10px !important;
  }

  .mgr-pc-10 {
    margin-right: 10px !important;
  }

  .mgl-pc-10 {
    margin-left: 10px !important;
  }

  .pdt-pc-10 {
    padding-top: 10px !important;
  }

  .pdb-pc-10 {
    padding-bottom: 10px !important;
  }

  .pdr-pc-10 {
    padding-right: 10px !important;
  }

  .pdl-pc-10 {
    padding-left: 10px !important;
  }
}

.mgt-15 {
  margin-top: 15px !important;
}

.mgb-15 {
  margin-bottom: 15px !important;
}

.mgr-15 {
  margin-right: 15px !important;
}

.mgl-15 {
  margin-left: 15px !important;
}

.pdt-15 {
  padding-top: 15px !important;
}

.pdb-15 {
  padding-bottom: 15px !important;
}

.pdr-15 {
  padding-right: 15px !important;
}

.pdl-15 {
  padding-left: 15px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-15 {
    margin-top: 15px !important;
  }

  .mgb-sp-15 {
    margin-bottom: 15px !important;
  }

  .mgr-sp-15 {
    margin-right: 15px !important;
  }

  .mgl-sp-15 {
    margin-left: 15px !important;
  }

  .pdt-sp-15 {
    padding-top: 15px !important;
  }

  .pdb-sp-15 {
    padding-bottom: 15px !important;
  }

  .pdr-sp-15 {
    padding-right: 15px !important;
  }

  .pdl-sp-15 {
    padding-left: 15px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-15 {
    margin-top: 15px !important;
  }

  .mgb-pc-15 {
    margin-bottom: 15px !important;
  }

  .mgr-pc-15 {
    margin-right: 15px !important;
  }

  .mgl-pc-15 {
    margin-left: 15px !important;
  }

  .pdt-pc-15 {
    padding-top: 15px !important;
  }

  .pdb-pc-15 {
    padding-bottom: 15px !important;
  }

  .pdr-pc-15 {
    padding-right: 15px !important;
  }

  .pdl-pc-15 {
    padding-left: 15px !important;
  }
}

.mgt-20 {
  margin-top: 20px !important;
}

.mgb-20 {
  margin-bottom: 20px !important;
}

.mgr-20 {
  margin-right: 20px !important;
}

.mgl-20 {
  margin-left: 20px !important;
}

.pdt-20 {
  padding-top: 20px !important;
}

.pdb-20 {
  padding-bottom: 20px !important;
}

.pdr-20 {
  padding-right: 20px !important;
}

.pdl-20 {
  padding-left: 20px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-20 {
    margin-top: 20px !important;
  }

  .mgb-sp-20 {
    margin-bottom: 20px !important;
  }

  .mgr-sp-20 {
    margin-right: 20px !important;
  }

  .mgl-sp-20 {
    margin-left: 20px !important;
  }

  .pdt-sp-20 {
    padding-top: 20px !important;
  }

  .pdb-sp-20 {
    padding-bottom: 20px !important;
  }

  .pdr-sp-20 {
    padding-right: 20px !important;
  }

  .pdl-sp-20 {
    padding-left: 20px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-20 {
    margin-top: 20px !important;
  }

  .mgb-pc-20 {
    margin-bottom: 20px !important;
  }

  .mgr-pc-20 {
    margin-right: 20px !important;
  }

  .mgl-pc-20 {
    margin-left: 20px !important;
  }

  .pdt-pc-20 {
    padding-top: 20px !important;
  }

  .pdb-pc-20 {
    padding-bottom: 20px !important;
  }

  .pdr-pc-20 {
    padding-right: 20px !important;
  }

  .pdl-pc-20 {
    padding-left: 20px !important;
  }
}

.mgt-25 {
  margin-top: 25px !important;
}

.mgb-25 {
  margin-bottom: 25px !important;
}

.mgr-25 {
  margin-right: 25px !important;
}

.mgl-25 {
  margin-left: 25px !important;
}

.pdt-25 {
  padding-top: 25px !important;
}

.pdb-25 {
  padding-bottom: 25px !important;
}

.pdr-25 {
  padding-right: 25px !important;
}

.pdl-25 {
  padding-left: 25px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-25 {
    margin-top: 25px !important;
  }

  .mgb-sp-25 {
    margin-bottom: 25px !important;
  }

  .mgr-sp-25 {
    margin-right: 25px !important;
  }

  .mgl-sp-25 {
    margin-left: 25px !important;
  }

  .pdt-sp-25 {
    padding-top: 25px !important;
  }

  .pdb-sp-25 {
    padding-bottom: 25px !important;
  }

  .pdr-sp-25 {
    padding-right: 25px !important;
  }

  .pdl-sp-25 {
    padding-left: 25px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-25 {
    margin-top: 25px !important;
  }

  .mgb-pc-25 {
    margin-bottom: 25px !important;
  }

  .mgr-pc-25 {
    margin-right: 25px !important;
  }

  .mgl-pc-25 {
    margin-left: 25px !important;
  }

  .pdt-pc-25 {
    padding-top: 25px !important;
  }

  .pdb-pc-25 {
    padding-bottom: 25px !important;
  }

  .pdr-pc-25 {
    padding-right: 25px !important;
  }

  .pdl-pc-25 {
    padding-left: 25px !important;
  }
}

.mgt-30 {
  margin-top: 30px !important;
}

.mgb-30 {
  margin-bottom: 30px !important;
}

.mgr-30 {
  margin-right: 30px !important;
}

.mgl-30 {
  margin-left: 30px !important;
}

.pdt-30 {
  padding-top: 30px !important;
}

.pdb-30 {
  padding-bottom: 30px !important;
}

.pdr-30 {
  padding-right: 30px !important;
}

.pdl-30 {
  padding-left: 30px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-30 {
    margin-top: 30px !important;
  }

  .mgb-sp-30 {
    margin-bottom: 30px !important;
  }

  .mgr-sp-30 {
    margin-right: 30px !important;
  }

  .mgl-sp-30 {
    margin-left: 30px !important;
  }

  .pdt-sp-30 {
    padding-top: 30px !important;
  }

  .pdb-sp-30 {
    padding-bottom: 30px !important;
  }

  .pdr-sp-30 {
    padding-right: 30px !important;
  }

  .pdl-sp-30 {
    padding-left: 30px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-30 {
    margin-top: 30px !important;
  }

  .mgb-pc-30 {
    margin-bottom: 30px !important;
  }

  .mgr-pc-30 {
    margin-right: 30px !important;
  }

  .mgl-pc-30 {
    margin-left: 30px !important;
  }

  .pdt-pc-30 {
    padding-top: 30px !important;
  }

  .pdb-pc-30 {
    padding-bottom: 30px !important;
  }

  .pdr-pc-30 {
    padding-right: 30px !important;
  }

  .pdl-pc-30 {
    padding-left: 30px !important;
  }
}

.mgt-35 {
  margin-top: 35px !important;
}

.mgb-35 {
  margin-bottom: 35px !important;
}

.mgr-35 {
  margin-right: 35px !important;
}

.mgl-35 {
  margin-left: 35px !important;
}

.pdt-35 {
  padding-top: 35px !important;
}

.pdb-35 {
  padding-bottom: 35px !important;
}

.pdr-35 {
  padding-right: 35px !important;
}

.pdl-35 {
  padding-left: 35px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-35 {
    margin-top: 35px !important;
  }

  .mgb-sp-35 {
    margin-bottom: 35px !important;
  }

  .mgr-sp-35 {
    margin-right: 35px !important;
  }

  .mgl-sp-35 {
    margin-left: 35px !important;
  }

  .pdt-sp-35 {
    padding-top: 35px !important;
  }

  .pdb-sp-35 {
    padding-bottom: 35px !important;
  }

  .pdr-sp-35 {
    padding-right: 35px !important;
  }

  .pdl-sp-35 {
    padding-left: 35px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-35 {
    margin-top: 35px !important;
  }

  .mgb-pc-35 {
    margin-bottom: 35px !important;
  }

  .mgr-pc-35 {
    margin-right: 35px !important;
  }

  .mgl-pc-35 {
    margin-left: 35px !important;
  }

  .pdt-pc-35 {
    padding-top: 35px !important;
  }

  .pdb-pc-35 {
    padding-bottom: 35px !important;
  }

  .pdr-pc-35 {
    padding-right: 35px !important;
  }

  .pdl-pc-35 {
    padding-left: 35px !important;
  }
}

.mgt-40 {
  margin-top: 40px !important;
}

.mgb-40 {
  margin-bottom: 40px !important;
}

.mgr-40 {
  margin-right: 40px !important;
}

.mgl-40 {
  margin-left: 40px !important;
}

.pdt-40 {
  padding-top: 40px !important;
}

.pdb-40 {
  padding-bottom: 40px !important;
}

.pdr-40 {
  padding-right: 40px !important;
}

.pdl-40 {
  padding-left: 40px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-40 {
    margin-top: 40px !important;
  }

  .mgb-sp-40 {
    margin-bottom: 40px !important;
  }

  .mgr-sp-40 {
    margin-right: 40px !important;
  }

  .mgl-sp-40 {
    margin-left: 40px !important;
  }

  .pdt-sp-40 {
    padding-top: 40px !important;
  }

  .pdb-sp-40 {
    padding-bottom: 40px !important;
  }

  .pdr-sp-40 {
    padding-right: 40px !important;
  }

  .pdl-sp-40 {
    padding-left: 40px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-40 {
    margin-top: 40px !important;
  }

  .mgb-pc-40 {
    margin-bottom: 40px !important;
  }

  .mgr-pc-40 {
    margin-right: 40px !important;
  }

  .mgl-pc-40 {
    margin-left: 40px !important;
  }

  .pdt-pc-40 {
    padding-top: 40px !important;
  }

  .pdb-pc-40 {
    padding-bottom: 40px !important;
  }

  .pdr-pc-40 {
    padding-right: 40px !important;
  }

  .pdl-pc-40 {
    padding-left: 40px !important;
  }
}

.mgt-50 {
  margin-top: 50px !important;
}

.mgb-50 {
  margin-bottom: 50px !important;
}

.mgr-50 {
  margin-right: 50px !important;
}

.mgl-50 {
  margin-left: 50px !important;
}

.pdt-50 {
  padding-top: 50px !important;
}

.pdb-50 {
  padding-bottom: 50px !important;
}

.pdr-50 {
  padding-right: 50px !important;
}

.pdl-50 {
  padding-left: 50px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-50 {
    margin-top: 50px !important;
  }

  .mgb-sp-50 {
    margin-bottom: 50px !important;
  }

  .mgr-sp-50 {
    margin-right: 50px !important;
  }

  .mgl-sp-50 {
    margin-left: 50px !important;
  }

  .pdt-sp-50 {
    padding-top: 50px !important;
  }

  .pdb-sp-50 {
    padding-bottom: 50px !important;
  }

  .pdr-sp-50 {
    padding-right: 50px !important;
  }

  .pdl-sp-50 {
    padding-left: 50px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-50 {
    margin-top: 50px !important;
  }

  .mgb-pc-50 {
    margin-bottom: 50px !important;
  }

  .mgr-pc-50 {
    margin-right: 50px !important;
  }

  .mgl-pc-50 {
    margin-left: 50px !important;
  }

  .pdt-pc-50 {
    padding-top: 50px !important;
  }

  .pdb-pc-50 {
    padding-bottom: 50px !important;
  }

  .pdr-pc-50 {
    padding-right: 50px !important;
  }

  .pdl-pc-50 {
    padding-left: 50px !important;
  }
}

.mgt-60 {
  margin-top: 60px !important;
}

.mgb-60 {
  margin-bottom: 60px !important;
}

.mgr-60 {
  margin-right: 60px !important;
}

.mgl-60 {
  margin-left: 60px !important;
}

.pdt-60 {
  padding-top: 60px !important;
}

.pdb-60 {
  padding-bottom: 60px !important;
}

.pdr-60 {
  padding-right: 60px !important;
}

.pdl-60 {
  padding-left: 60px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-60 {
    margin-top: 60px !important;
  }

  .mgb-sp-60 {
    margin-bottom: 60px !important;
  }

  .mgr-sp-60 {
    margin-right: 60px !important;
  }

  .mgl-sp-60 {
    margin-left: 60px !important;
  }

  .pdt-sp-60 {
    padding-top: 60px !important;
  }

  .pdb-sp-60 {
    padding-bottom: 60px !important;
  }

  .pdr-sp-60 {
    padding-right: 60px !important;
  }

  .pdl-sp-60 {
    padding-left: 60px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-60 {
    margin-top: 60px !important;
  }

  .mgb-pc-60 {
    margin-bottom: 60px !important;
  }

  .mgr-pc-60 {
    margin-right: 60px !important;
  }

  .mgl-pc-60 {
    margin-left: 60px !important;
  }

  .pdt-pc-60 {
    padding-top: 60px !important;
  }

  .pdb-pc-60 {
    padding-bottom: 60px !important;
  }

  .pdr-pc-60 {
    padding-right: 60px !important;
  }

  .pdl-pc-60 {
    padding-left: 60px !important;
  }
}

.mgt-70 {
  margin-top: 70px !important;
}

.mgb-70 {
  margin-bottom: 70px !important;
}

.mgr-70 {
  margin-right: 70px !important;
}

.mgl-70 {
  margin-left: 70px !important;
}

.pdt-70 {
  padding-top: 70px !important;
}

.pdb-70 {
  padding-bottom: 70px !important;
}

.pdr-70 {
  padding-right: 70px !important;
}

.pdl-70 {
  padding-left: 70px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-70 {
    margin-top: 70px !important;
  }

  .mgb-sp-70 {
    margin-bottom: 70px !important;
  }

  .mgr-sp-70 {
    margin-right: 70px !important;
  }

  .mgl-sp-70 {
    margin-left: 70px !important;
  }

  .pdt-sp-70 {
    padding-top: 70px !important;
  }

  .pdb-sp-70 {
    padding-bottom: 70px !important;
  }

  .pdr-sp-70 {
    padding-right: 70px !important;
  }

  .pdl-sp-70 {
    padding-left: 70px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-70 {
    margin-top: 70px !important;
  }

  .mgb-pc-70 {
    margin-bottom: 70px !important;
  }

  .mgr-pc-70 {
    margin-right: 70px !important;
  }

  .mgl-pc-70 {
    margin-left: 70px !important;
  }

  .pdt-pc-70 {
    padding-top: 70px !important;
  }

  .pdb-pc-70 {
    padding-bottom: 70px !important;
  }

  .pdr-pc-70 {
    padding-right: 70px !important;
  }

  .pdl-pc-70 {
    padding-left: 70px !important;
  }
}

.mgt-75 {
  margin-top: 75px !important;
}

.mgb-75 {
  margin-bottom: 75px !important;
}

.mgr-75 {
  margin-right: 75px !important;
}

.mgl-75 {
  margin-left: 75px !important;
}

.pdt-75 {
  padding-top: 75px !important;
}

.pdb-75 {
  padding-bottom: 75px !important;
}

.pdr-75 {
  padding-right: 75px !important;
}

.pdl-75 {
  padding-left: 75px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-75 {
    margin-top: 75px !important;
  }

  .mgb-sp-75 {
    margin-bottom: 75px !important;
  }

  .mgr-sp-75 {
    margin-right: 75px !important;
  }

  .mgl-sp-75 {
    margin-left: 75px !important;
  }

  .pdt-sp-75 {
    padding-top: 75px !important;
  }

  .pdb-sp-75 {
    padding-bottom: 75px !important;
  }

  .pdr-sp-75 {
    padding-right: 75px !important;
  }

  .pdl-sp-75 {
    padding-left: 75px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-75 {
    margin-top: 75px !important;
  }

  .mgb-pc-75 {
    margin-bottom: 75px !important;
  }

  .mgr-pc-75 {
    margin-right: 75px !important;
  }

  .mgl-pc-75 {
    margin-left: 75px !important;
  }

  .pdt-pc-75 {
    padding-top: 75px !important;
  }

  .pdb-pc-75 {
    padding-bottom: 75px !important;
  }

  .pdr-pc-75 {
    padding-right: 75px !important;
  }

  .pdl-pc-75 {
    padding-left: 75px !important;
  }
}

.mgt-80 {
  margin-top: 80px !important;
}

.mgb-80 {
  margin-bottom: 80px !important;
}

.mgr-80 {
  margin-right: 80px !important;
}

.mgl-80 {
  margin-left: 80px !important;
}

.pdt-80 {
  padding-top: 80px !important;
}

.pdb-80 {
  padding-bottom: 80px !important;
}

.pdr-80 {
  padding-right: 80px !important;
}

.pdl-80 {
  padding-left: 80px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-80 {
    margin-top: 80px !important;
  }

  .mgb-sp-80 {
    margin-bottom: 80px !important;
  }

  .mgr-sp-80 {
    margin-right: 80px !important;
  }

  .mgl-sp-80 {
    margin-left: 80px !important;
  }

  .pdt-sp-80 {
    padding-top: 80px !important;
  }

  .pdb-sp-80 {
    padding-bottom: 80px !important;
  }

  .pdr-sp-80 {
    padding-right: 80px !important;
  }

  .pdl-sp-80 {
    padding-left: 80px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-80 {
    margin-top: 80px !important;
  }

  .mgb-pc-80 {
    margin-bottom: 80px !important;
  }

  .mgr-pc-80 {
    margin-right: 80px !important;
  }

  .mgl-pc-80 {
    margin-left: 80px !important;
  }

  .pdt-pc-80 {
    padding-top: 80px !important;
  }

  .pdb-pc-80 {
    padding-bottom: 80px !important;
  }

  .pdr-pc-80 {
    padding-right: 80px !important;
  }

  .pdl-pc-80 {
    padding-left: 80px !important;
  }
}

.mgt-90 {
  margin-top: 90px !important;
}

.mgb-90 {
  margin-bottom: 90px !important;
}

.mgr-90 {
  margin-right: 90px !important;
}

.mgl-90 {
  margin-left: 90px !important;
}

.pdt-90 {
  padding-top: 90px !important;
}

.pdb-90 {
  padding-bottom: 90px !important;
}

.pdr-90 {
  padding-right: 90px !important;
}

.pdl-90 {
  padding-left: 90px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-90 {
    margin-top: 90px !important;
  }

  .mgb-sp-90 {
    margin-bottom: 90px !important;
  }

  .mgr-sp-90 {
    margin-right: 90px !important;
  }

  .mgl-sp-90 {
    margin-left: 90px !important;
  }

  .pdt-sp-90 {
    padding-top: 90px !important;
  }

  .pdb-sp-90 {
    padding-bottom: 90px !important;
  }

  .pdr-sp-90 {
    padding-right: 90px !important;
  }

  .pdl-sp-90 {
    padding-left: 90px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-90 {
    margin-top: 90px !important;
  }

  .mgb-pc-90 {
    margin-bottom: 90px !important;
  }

  .mgr-pc-90 {
    margin-right: 90px !important;
  }

  .mgl-pc-90 {
    margin-left: 90px !important;
  }

  .pdt-pc-90 {
    padding-top: 90px !important;
  }

  .pdb-pc-90 {
    padding-bottom: 90px !important;
  }

  .pdr-pc-90 {
    padding-right: 90px !important;
  }

  .pdl-pc-90 {
    padding-left: 90px !important;
  }
}

.mgt-100 {
  margin-top: 100px !important;
}

.mgb-100 {
  margin-bottom: 100px !important;
}

.mgr-100 {
  margin-right: 100px !important;
}

.mgl-100 {
  margin-left: 100px !important;
}

.pdt-100 {
  padding-top: 100px !important;
}

.pdb-100 {
  padding-bottom: 100px !important;
}

.pdr-100 {
  padding-right: 100px !important;
}

.pdl-100 {
  padding-left: 100px !important;
}

@media only screen and (max-width: 767px) {
  .container-fluid__inner {
    padding: 0;
  }

  .mgt-sp-100 {
    margin-top: 100px !important;
  }

  .mgb-sp-100 {
    margin-bottom: 100px !important;
  }

  .mgr-sp-100 {
    margin-right: 100px !important;
  }

  .mgl-sp-100 {
    margin-left: 100px !important;
  }

  .pdt-sp-100 {
    padding-top: 100px !important;
  }

  .pdb-sp-100 {
    padding-bottom: 100px !important;
  }

  .pdr-sp-100 {
    padding-right: 100px !important;
  }

  .pdl-sp-100 {
    padding-left: 100px !important;
  }
}

@media only screen and (min-width: 768px) {
  .mgt-pc-100 {
    margin-top: 100px !important;
  }

  .mgb-pc-100 {
    margin-bottom: 100px !important;
  }

  .mgr-pc-100 {
    margin-right: 100px !important;
  }

  .mgl-pc-100 {
    margin-left: 100px !important;
  }

  .pdt-pc-100 {
    padding-top: 100px !important;
  }

  .pdb-pc-100 {
    padding-bottom: 100px !important;
  }

  .pdr-pc-100 {
    padding-right: 100px !important;
  }

  .pdl-pc-100 {
    padding-left: 100px !important;
  }
}

@media only screen and (max-width: 767px) {
  .hidden-sp {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .hidden-sp {
    display: block !important;
  }
}

@media only screen and (max-width: 767px) {
  .hidden-pc {
    display: block !important;
  }
}

@media only screen and (min-width: 768px) {
  .hidden-pc {
    display: none !important;
  }
}

@media only screen and (max-width: 767px) {
  .visible-sp {
    display: block !important;
  }
}

@media only screen and (min-width: 768px) {
  .visible-sp {
    display: none !important;
  }
}

@media only screen and (max-width: 767px) {
  .visible-pc {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .visible-pc {
    display: block !important;
  }
}

@media only screen and (max-width: 767px) {
  .hidden-sp-inline {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .hidden-sp-inline {
    display: inline-block !important;
  }
}

@media only screen and (max-width: 767px) {
  .hidden-pc-inline {
    display: inline-block !important;
  }
}

@media only screen and (min-width: 768px) {
  .hidden-pc-inline {
    display: none !important;
  }
}

@media only screen and (max-width: 767px) {
  .visible-sp-inline {
    display: inline-block !important;
  }
}

@media only screen and (min-width: 768px) {
  .visible-sp-inline {
    display: none !important;
  }
}

@media only screen and (max-width: 767px) {
  .visible-pc-inline {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .visible-pc-inline {
    display: inline-block !important;
  }
}

@media only screen and (max-width: 767px) {
  .hidden-sp-table {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .hidden-sp-table {
    display: table !important;
  }
}

@media only screen and (max-width: 767px) {
  .hidden-pc-table {
    display: table !important;
  }
}

@media only screen and (min-width: 768px) {
  .hidden-pc-table {
    display: none !important;
  }
}

@media only screen and (max-width: 767px) {
  .visible-sp-table {
    display: table !important;
  }
}

@media only screen and (min-width: 768px) {
  .visible-sp-table {
    display: none !important;
  }
}

@media only screen and (max-width: 767px) {
  .visible-pc-table {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .visible-pc-table {
    display: table !important;
  }
}

.h-0 {
  height: 0px;
}

@media only screen and (max-width: 767px) {
  .h-sp-0 {
    height: 0px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-0 {
    height: 0px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-0 {
    height: 0px !important;
  }
}

.h-5 {
  height: 5px;
}

@media only screen and (max-width: 767px) {
  .h-sp-5 {
    height: 5px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-5 {
    height: 5px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-5 {
    height: 5px !important;
  }
}

.h-10 {
  height: 10px;
}

@media only screen and (max-width: 767px) {
  .h-sp-10 {
    height: 10px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-10 {
    height: 10px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-10 {
    height: 10px !important;
  }
}

.h-15 {
  height: 15px;
}

@media only screen and (max-width: 767px) {
  .h-sp-15 {
    height: 15px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-15 {
    height: 15px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-15 {
    height: 15px !important;
  }
}

.h-20 {
  height: 20px;
}

@media only screen and (max-width: 767px) {
  .h-sp-20 {
    height: 20px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-20 {
    height: 20px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-20 {
    height: 20px !important;
  }
}

.h-25 {
  height: 25px;
}

@media only screen and (max-width: 767px) {
  .h-sp-25 {
    height: 25px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-25 {
    height: 25px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-25 {
    height: 25px !important;
  }
}

.h-30 {
  height: 30px;
}

@media only screen and (max-width: 767px) {
  .h-sp-30 {
    height: 30px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-30 {
    height: 30px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-30 {
    height: 30px !important;
  }
}

.h-35 {
  height: 35px;
}

@media only screen and (max-width: 767px) {
  .h-sp-35 {
    height: 35px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-35 {
    height: 35px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-35 {
    height: 35px !important;
  }
}

.h-40 {
  height: 40px;
}

@media only screen and (max-width: 767px) {
  .h-sp-40 {
    height: 40px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-40 {
    height: 40px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-40 {
    height: 40px !important;
  }
}

.h-50 {
  height: 50px;
}

@media only screen and (max-width: 767px) {
  .h-sp-50 {
    height: 50px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-50 {
    height: 50px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-50 {
    height: 50px !important;
  }
}

.h-60 {
  height: 60px;
}

@media only screen and (max-width: 767px) {
  .h-sp-60 {
    height: 60px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-60 {
    height: 60px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-60 {
    height: 60px !important;
  }
}

.h-75 {
  height: 75px;
}

@media only screen and (max-width: 767px) {
  .h-sp-75 {
    height: 75px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-75 {
    height: 75px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-75 {
    height: 75px !important;
  }
}

.h-80 {
  height: 80px;
}

@media only screen and (max-width: 767px) {
  .h-sp-80 {
    height: 80px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-80 {
    height: 80px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-80 {
    height: 80px !important;
  }
}

.h-100 {
  height: 100px;
}

@media only screen and (max-width: 767px) {
  .h-sp-100 {
    height: 100px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
  .h-tb-100 {
    height: 100px !important;
  }
}

@media only screen and (min-width: 768px) {
  .h-pc-100 {
    height: 100px !important;
  }
}

.fs-Roboto {
  font-family: "Roboto", sans-serif;
}

.fs-NotoSans {
  font-family: "Noto Sans JP", sans-serif;
}

.fs-NotoSerif {
  font-family: "Noto Serif JP", serif;
}

a {
  color: #3b3b3b;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #3b3b3b;
}

@media only screen and (-ms-high-contrast:none) and (max-width: 767px) {
  body {
    overflow-x: hidden;
  }
}

body {
  font-family: "Roboto", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #3b3b3b;
}

html.is-hidden,
body.is-hidden {
  overflow: hidden;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

@media only screen and (max-width: 767px) {
  .container-fluid {
    padding: 0;
  }
}

.header {
  background-color: #003948;
  color: #fff;
  display: flex;
  -js-display: flex;
  justify-content: space-between;
  padding: 10px 20px;
}

.header .header_logo {
  margin-right: 15px;
}

.header .header_logo img {
  height: auto;
  max-width: 100%;
  vertical-align: baseline;
}

.header .header_menu .header_menulist {
  display: flex;
  -js-display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.header .header_menu .header_menulist li {
  list-style: none;
}

.header .header_menu .header_menulist li a:hover {
  opacity: 0.8;
}

.header .header_contact {
  display: flex;
  -js-display: flex;
  align-items: center;
}

.header .header_contact .header_contact_search {
  margin-right: 30px;
}

.header .header_misc {
  display: flex;
  -js-display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.header .header_misc li {
  list-style: none;
  margin: 0 5px;
}

@media only screen and (max-width: 767px) {
  .header .header_contact {
    display: none;
  }
}

nav.navbar {
  background-color: #f0f4f5;
}

nav .navbar-collapse {
  margin-bottom: 100px;
}

nav .nav-item .nav-link {
  font-weight: bold;
}

nav .nav-item .nav-link i {
  margin-right: 5px;
  color: #8c9b9f;
}

nav .nav-item.item-second .nav-link {
  font-weight: normal;
}

.navbar .navbar-toggler-icon i {
  color: #fff;
}

@media only screen and (max-width: 767px) {
  nav .navbar-collapse {
    margin-bottom: 0;
  }

  .navbar {
    width: 100%;
  }
}

/* FOOTER */

.footer {
  font-size: 0.8rem;
  border-top: 1px solid #d9d9d9;
  color: #fff;
}

.footer h1 {
  font-size: 0.9rem;
  margin-top: 1rem;
  color: #5C757C;
}

.footer ul {
  line-height: 2;
  margin-left: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

.footer ul li {
  margin-bottom: 0.5rem;
  list-style: none;
}

.footer ul li a {
  color: #fff;
}

.footer .footer_sec {
  background: #003948;
  padding: 20px 0;
}

.footer #copyright {
  background: #012a34;
  padding: 1rem 0;
}

.contents {
  padding: 50px;
}

.contents-fluid {
  padding-top: 50px;
  padding-bottom: 50px;
}

@media only screen and (max-width: 767px) {
  .contents {
    padding: 15px;
  }

  .contents-fluid {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}

.main h1 {
  font-weight: bold !important;
  margin-bottom: 20px;
  font-size: 22px;
}

.main h1::before {
  display: none !important;
}

.main h2 {
  font-weight: bold;
  margin-bottom: 15px;
  padding-left: 0;
  color: #54c1d6;
  border-left: none;
  font-size: 20px;
}

.main h3 {
  font-weight: bold;
  padding-left: 10px;
  text-align: left;
  border-left: 5px solid #54c1d6;
  font-size: 18px;
  margin-bottom: 18px;
}

.main h4 {
  font-weight: bold;
  margin-bottom: 15px;
  color: #54c1d6;
  font-size: 16px;
}

.btn {
  white-space: nowrap !important;
}

.btn-lg {
  padding: 5px 30px;
  font-size: 16px;
}

.btn-link:hover {
  text-decoration: none;
  opacity: 0.8;
}

.btn-bg-main {
  background-color: #003948 !important;
}

.btn-bg-main:hover {
  background: rgba(0, 57, 72, 0.8);
}

.btn-main {
  border-color: #003948 !important;
  background-color: #003948 !important;
}

.btn-outline-main {
  color: #003948;
  border: 1px solid #003948;
}

.btn-outline-main:hover {
  color: #fff;
  background: #003948;
}

.btn-bg-dark-blue {
  background-color: #012a34 !important;
}

.btn-bg-dark-blue:hover {
  background: rgba(1, 42, 52, 0.8);
}

.btn-dark-blue {
  border-color: #012a34 !important;
  background-color: #012a34 !important;
}

.btn-outline-dark-blue {
  color: #012a34;
  border: 1px solid #012a34;
}

.btn-outline-dark-blue:hover {
  color: #fff;
  background: #012a34;
}

.btn-bg-white {
  background-color: #fff !important;
}

.btn-bg-white:hover {
  background: rgba(255, 255, 255, 0.8);
}

.btn-white {
  border-color: #fff !important;
  background-color: #fff !important;
}

.btn-outline-white {
  color: #fff;
  border: 1px solid #fff;
}

.btn-outline-white:hover {
  color: #fff;
  background: #fff;
}

.btn-bg-black {
  background-color: #3b3b3b !important;
}

.btn-bg-black:hover {
  background: rgba(59, 59, 59, 0.8);
}

.btn-black {
  border-color: #3b3b3b !important;
  background-color: #3b3b3b !important;
}

.btn-outline-black {
  color: #3b3b3b;
  border: 1px solid #3b3b3b;
}

.btn-outline-black:hover {
  color: #fff;
  background: #3b3b3b;
}

.btn-bg-gray {
  background-color: #bbb !important;
}

.btn-bg-gray:hover {
  background: rgba(187, 187, 187, 0.8);
}

.btn-gray {
  border-color: #bbb !important;
  background-color: #bbb !important;
}

.btn-outline-gray {
  color: #bbb;
  border: 1px solid #bbb;
}

.btn-outline-gray:hover {
  color: #fff;
  background: #bbb;
}

.btn-bg-primary {
  background-color: #54c1d6 !important;
}

.btn-bg-primary:hover {
  background: rgba(84, 193, 214, 0.8);
}

.btn-primary {
  border-color: #54c1d6 !important;
  background-color: #54c1d6 !important;
}

.btn-outline-primary {
  color: #54c1d6;
  border: 1px solid #54c1d6;
}

.btn-outline-primary:hover {
  color: #fff;
  background: #54c1d6;
}

.btn-bg-accent {
  background-color: #e5973c !important;
}

.btn-bg-accent:hover {
  background: rgba(229, 151, 60, 0.8);
}

.btn-accent {
  border-color: #e5973c !important;
  background-color: #e5973c !important;
}

.btn-outline-accent {
  color: #e5973c;
  border: 1px solid #e5973c;
}

.btn-outline-accent:hover {
  color: #fff;
  background: #e5973c;
}

.btn-accent {
  color: #fff !important;
}

.btn-member {
  margin-bottom:20px;
  border-color:#00bfff;
  background-color:white;
  color:#00bfff;
}

.btn-copy {
  margin-bottom:20px;
  border-color:#0000cd;
  background-color:#00bfff;
  color:white;
}

.form form input {
  padding: 25px 15px;
  border-radius: 10px 10px 10px 10px;
}

.form form label {
  font-weight: bold;
  font-size: 14px;
}

.form .form_pass {
  font-weight: bold;
  font-size: 14px;
}

.form .form_label {
  margin-top: 10px;
  font-size: 14px;
}

.form-group > label {
  font-weight: bold;
}

.form-group > label.label-flat {
  font-weight: normal;
  margin-bottom: 0;
}

.form-required {
  line-height: 1;
  margin-left: 0.4rem;
  padding: 0.1rem 0.5rem;
  color: #a454d6;
  border: 1px solid #a454d6;
  background-color: #fff;
  font-size: 10px;
}

.form-release {
  font-size: 0.8rem;
  line-height: 1;
  margin-left: 0.4rem;
  padding: 0.2rem 0.5rem;
  color: #54c1d6;
  border: 1px solid #54c1d6;
  background-color: #fff;
  font-size: 10px;
}

.form-group ul {
  line-height: 1.2;
  -webkit-padding-start: 1.5rem;
          padding-inline-start: 1.5rem;
}

.c-tooltip {
  display: inline-block;
  position: relative;
}

.c-tooltip::before,
.c-tooltip::after {
    -webkit-transition: all 0.2s;
    opacity: 0;
    position: absolute;
    transition: all 0.2s;
    visibility: hidden;
    z-index: 11;
}

.c-tooltip::before {
  -webkit-transform: translateY(-50%);
  border-color: transparent #5f6368 transparent transparent;
  border-style: solid;
  border-width: 3px 7px 3px 0;
  content: "";
  height: 0;
  left: calc(100% + 6px);
  top: 50%;
  transform: translateY(-50%);
  width: 0;
}

.c-tooltip::after {
  -webkit-transform: translateY(-50%);
  background: #5f6368;
  border-radius: 3px;
  color: #fff;
  content: attr(data-tooltip); /* ここでdata-tooltipの内容を呼び出しているよ */
  display: block;
  font-size: 11px;
  font-weight: 600;
  left: calc(100% + 13px);
  padding: 5px 10px;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
}

.c-tooltip:hover {
  cursor: pointer;
}

.c-tooltip:hover::before {
  opacity: 1;
  visibility: visible;
}

.c-tooltip:hover::after {
  opacity: 1;
  visibility: visible;
}

/*ベース*/
section.tab{
	display: flex;
	flex-wrap: wrap;
}
section.tab::after {
	content: '';
	width: 100%;
	height: 3px;
	display: block;
	order: -1;
	background: rgba(0,0,0,.1);
}
section.tab .tabLabel {	/* タブ */
	margin-right: 3px;
	padding: 3px 12px;
	flex: 1;
	order: -1;
	border-radius: 3px 3px 0 0;
	color: #000;
	background: #fff;
  border: solid thin #000;
	position: relative;
	transition: .5s ;
	cursor: pointer;
}
section.tab .tabLabel::after {
	content: '';
	width: 100% ;
	height: 3px;
	display: block;
	pointer-events: none;
	transform: translateX(100%);
	transition: cubic-bezier(0.4, 0, 0.2, 1) .2s 80ms;
	background: #EFBB24;
	position: absolute;
	left: 0;
	bottom: -3px;
	z-index: 10;
	opacity: 0;
}
section.tab .tabLabel:nth-last-of-type(1){ margin-right: 0; }

section.tab .content {	/* 本文 */
	width: 100%;
	height:0;
	overflow:hidden;
	box-shadow: 0 0 5px rgba(0,0,0,.2);
	opacity:0;
}
section.tab .content > div {
	pointer-events:none;
	transform: translateX(30%);
	transition: transform .3s 80ms, opacity .3s 80ms;
}
/*アクティブ設定*/
section.tab input:checked + .tabLabel {		/*タブ*/
	color: #000;
	background: #fff;
  border: solid thin #000;
}
section.tab input:checked ~ .tabLabel::after {
	transform: translateX(-100%);
}
section.tab input:checked + .tabLabel::after {
	opacity: 1;
	transform: translateX(0);
}
section.tab input:checked + .tabLabel + .content {	/*本文*/
	height: auto;
	padding: 15px;
	order: 1;
	opacity: 1;
}
section.tab input:checked ~ .content > div {
	transform: translateX(30%);
}
section.tab input:checked + .tabLabel + .content > div {
	pointer-events:auto;
	transform: translateX(0);
}

.maintenance-soon {
  color: #a34839;
  background-color: #ffdf7e;
  padding: 2px 10px 2px 10px;
}
.maintenance-info {
  color: #ff2300;
  background-color: #fffe00;
  padding: 2px 10px 2px 10px;
}

.sticky-menu {
  position: sticky;
  top: 80px;
  height: 100%;
  z-index: 1000;
}

.dropdown-submenu {
  position: relative;
}

.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -1px;
}

.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}
