@charset "UTF-8";
/**
 * このスタイルシートは[FLOCSS](https://github.com/hiloki/flocss)をベースにしています。
 * 定義されているレイヤー以外にもThemeやTestなどのレイヤーを追加することもできます。
 * 詳しくは[CSSコーディングルール](https://github.com/manabuyasuda/styleguide/blob/master/css-coding-rule.md#flocss)を参照してください。
 */
/* ----------------------------------------------------------
   #Foundation
---------------------------------------------------------- */
html {
  overflow: auto;
  -webkit-text-size-adjust: 100%;
}

*, *::after, *::before {
  box-sizing: border-box;
}

*, *::after, *::before, blockquote, body, dd, div, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, input, p, pre, td, th {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

figure {
  margin: 0;
}

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

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

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: 400;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
}

q::before, q::after {
  content: "";
}

input[type=checkbox], input[type=radio] {
  margin: 0 2px 0 0;
  padding: 0;
  vertical-align: -2px;
}

button, input[type=button], input[type=submit], input[type=text] {
  box-sizing: border-box;
  -webkit-appearance: none;
  border: 0;
  cursor: pointer;
  border-radius: 0;
  background: transparent;
}

/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* ----------------------------------------------------------
   #GLOBAL
---------------------------------------------------------- */
.main-color {
  color: #055C9F;
}

.accent-color {
  color: #FFB641;
}

html {
  padding: 0;
  margin: 0;
  font-size: 10px;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  font-family: "Noto Sans JP", "Zen Kaku Gothic New", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  color: #666;
  line-height: 1.7;
  letter-spacing: 1px;
  max-width: 1700px;
  margin: 0 auto;
}

h1,
h2,
h3,
h4,
h5 {
  font-weight: 500;
}

a {
  text-decoration: none;
  color: #055C9F;
  transition: 0.3s;
}

a:hover {
  color: #FFB641;
}

img {
  max-width: 100%;
  height: auto;
  transition: 0.3s;
  vertical-align: top;
}

#wrap {
  width: 100%;
}

strong {
  font-weight: 600;
}

/* ----------------------------------------------------------
   #Layout
---------------------------------------------------------- */
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* ヘッダー 
----- layout/_header ---------- */
.l-header_inner {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  padding: 40px 40px 0 40px;
  z-index: 999;
  max-width: 1700px;
}

.l-header_grid {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  height: auto;
}

.l-header_menu_inner {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 0 30px;
  border-radius: 100px;
}

.l-header_logo img {
  height: 40px;
}
@media screen and (max-width: 1120px) {
  .l-header_logo img {
    height: 35px;
  }
}
@media screen and (max-width: 434px) {
  .l-header_logo img {
    height: 30px;
  }
}
@media screen and (max-width: 1120px) {
  .l-header_logo_sp img {
    height: 35px;
  }
}
@media screen and (max-width: 434px) {
  .l-header_logo_sp img {
    height: 30px;
  }
}

.l-header_info {
  display: flex;
  gap: 20px;
  align-items: center;
}
@media screen and (max-width: 1120px) {
  .l-header_info {
    backdrop-filter: none;
    background: none;
    padding: 0;
  }
}

.l-header_nav {
  display: grid;
  grid-auto-flow: column;
  gap: 10px 35px;
  font-weight: 400;
  letter-spacing: 0.5;
}
.l-header_nav li a {
  display: block;
  color: #055C9F;
  text-decoration: none;
  position: relative;
  font-size: 1.4rem;
  padding: 15px 0;
}
.l-header_nav li a:hover {
  color: #FFB641;
}

.l-header_item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.l-header_contact-sp {
  background-color: #FFB641;
  border-radius: 100px;
  position: relative;
  width: 45px;
  height: 45px;
  transition: 0.3s;
}
.l-header_contact-sp:hover {
  opacity: 0.5;
}
.l-header_contact-sp img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.l-header__contact-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #055C9F;
  border-radius: 100px;
  padding: 10px 15px;
  border: #055C9F solid 1px;
}
.l-header__contact-btn p {
  transition: 0.3s;
  color: #fff;
  letter-spacing: 0.5;
}
.l-header__contact-btn:hover {
  background: #fff;
}
.l-header__contact-btn:hover p {
  color: #055C9F;
}
.l-header__contact-btn:hover .l-header__contact_img {
  background: #055C9F;
}
.l-header__contact-btn:hover .l-header__contact_img path {
  fill: #fff;
  transition: 0.3s;
}

/*----- プルダウン -----*/
.has-child {
  position: relative;
  /*hoverしたら表示*/
}
.has-child ul {
  position: absolute;
  left: 0;
  top: 50px;
  z-index: 4;
  background: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  width: 200px;
  opacity: 0;
  transition: all 0.3s;
  /*はじめは非表示*/
  visibility: hidden;
  border-radius: 5px;
}
.has-child ul.l-header_sub_nav {
  padding: 0 10px;
}
.has-child ul.l-header_sub_nav li a {
  color: #055C9F;
  position: relative;
  padding: 10px;
}
.has-child ul.l-header_sub_nav li a:hover {
  color: #FFB641;
  transform: translateX(5px);
}
@media screen and (max-width: 1120px) {
  .has-child ul.l-header_sub_nav {
    padding: 0 20px 10px;
  }
}
.has-child:hover > ul,
.has-child ul li:hover > ul, .has-child:active > ul,
.has-child ul li:active > ul {
  visibility: visible;
  opacity: 1;
}

/*----- 色変更 -----*/
.l-header h1 {
  position: relative;
}
.l-header h1::before {
  content: "";
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition: 0.3s;
  opacity: 0;
}
.l-header__contact_img {
  position: relative;
  height: 33px;
  width: 33px;
  background: #fff;
  border-radius: 100px;
}
.l-header__contact_img img {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.l-header__contact_img svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
}
.l-header__contact_img svg path {
  fill: #055C9F;
  opacity: 1;
}
.l-header__contact_img::before {
  content: "";
  background: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  transform: translateY(-50%);
  transition: 0.3s;
  opacity: 0;
}
.l-header.is-change .l-header_inner {
  backdrop-filter: none;
}
.l-header.is-change h1::before,
.l-header.is-change .l-header__contact_img::before {
  opacity: 1;
}
.l-header.is-change .l-header_contact {
  color: #fff;
}
.l-header.is-change .l-header_burger span,
.l-header.is-change .l-header_burger span::before,
.l-header.is-change .l-header_burger span::after {
  background: #055C9F;
}
@media screen and (min-width: 801px) {
  .l-header.is-change .l-header_nav {
    opacity: 0;
    pointer-events: none;
    transition: 0.3s;
  }
}

@media screen and (max-width: 1120px) {
  .l-header_inner {
    padding: 20px 15px 0;
    height: 45px;
  }
  .l-header_menu {
    position: fixed;
    z-index: 998;
    top: 0;
    right: 0;
    transform: translateX(100%);
    transition: all 0.6s;
  }
  .l-header_menu.is-active {
    transform: translateX(0%);
    width: 100%;
  }
  .l-header_menu .l-header_menu_inner {
    background: #fff;
    margin: 0 auto;
    width: 100%;
    height: 100vh;
    display: block;
    padding: 15px 20px 100px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 0;
  }
  .l-header_menu .l-header_nav {
    letter-spacing: 3px;
    display: block;
  }
  /* ハンバーガーボタン */
  /*----- プルダウン -----*/
}
@media screen and (max-width: 1120px) and (max-width: 1120px) {
  .l-header_menu .l-header_nav {
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1120px) {
  .l-header_menu .l-header_nav li a {
    padding: 20px 0 10px;
    color: #055C9F;
    border-bottom: 1px #055C9F solid;
    transition: color 0.3s;
    margin-top: 30px;
  }
  .l-header_menu .l-header_nav li a:hover {
    color: #FFB641;
  }
  .l-header_menu .l-header_nav .sub-nav li a {
    border: none;
    color: #055C9F;
    border-bottom: unset;
  }
  .l-header_menu .l-header_nav li.has-child > a {
    position: relative;
  }
  .l-header_menu .l-header_nav li.has-child .l-header_sub_nav li a {
    color: #055C9F;
    border-bottom: unset;
    transform: unset;
    margin-top: unset;
  }
  .l-header_menu .l-header_nav li.has-child .l-header_sub_nav li a:hover {
    color: #FFB641;
  }
  .l-header_burger {
    display: block;
    position: relative;
    width: 45px;
    height: 45px;
    cursor: pointer;
    text-align: center;
    z-index: 999;
    background: #055C9F;
    border-radius: 100px;
    /* ナビ開いてる時のボタン */
  }
  .l-header_burger span {
    display: block;
    position: absolute;
    width: 25px;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    transition: 0.3s;
  }
  .l-header_burger span::before {
    content: "";
    display: block;
    width: 18px;
    height: 2px;
    background: #fff;
    position: absolute;
    top: 2px;
    right: 0;
    transition: 0.3s;
  }
  .l-header_burger span::after {
    content: "";
    display: block;
    width: 25px;
    height: 2px;
    background: #fff;
    position: absolute;
    bottom: 2px;
    right: 0;
    transition: 0.3s;
  }
  .l-header_burger.is-active span {
    background: transparent;
  }
  .l-header_burger.is-active span::before {
    top: 50%;
    width: 25px;
    rotate: -45deg;
    background: #fff;
  }
  .l-header_burger.is-active span::after {
    top: 50%;
    rotate: 45deg;
    background: #fff;
  }
  .has-child {
    position: relative;
  }
  .has-child .l-header_nav_btn {
    position: absolute;
    top: 10px;
    right: 0;
    width: 40px;
    height: 40px;
    display: block;
    transition: all ease 0.3s;
    border: #055C9F solid 0.5px;
    z-index: 11;
    cursor: pointer;
    pointer-events: auto;
  }
  .has-child .l-header_nav_btn::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border: 1px solid #055C9F;
    border-color: transparent transparent #055C9F #055C9F;
    position: absolute;
    top: 42%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .has-child.is-active .l-header_nav_btn {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  .has-child ul {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    visibility: visible;
    /*JSで制御するため一旦表示*/
    opacity: 1;
    /*JSで制御するため一旦表示*/
    display: none;
    /*JSのslidetoggleで表示させるため非表示に*/
    transition: none;
    /*JSで制御するためCSSのアニメーションを切る*/
    box-shadow: none;
  }
  .has-child ul li.has-child::before {
    left: 20px;
  }
  .has-child ul ul li.has-child::before {
    transform: rotate(135deg);
    left: 20px;
  }
  .has-child li.has-child.is-active::before {
    transform: rotate(-45deg);
  }
}
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* フッター 
----- layout/_footer ---------- */
.l-footer {
  margin: 150px auto 0;
  position: relative;
  margin-top: 330px;
}
@media screen and (max-width: 768px) {
  .l-footer {
    margin-top: 250px;
  }
}

.l-footer_contact_contents {
  background: linear-gradient(to bottom, #ACEEFF, #EEE8CE);
  position: relative;
  padding: 60px 0;
}
.l-footer_contact_contents::before {
  content: "";
  position: absolute;
  top: -180px;
  left: 0;
  max-width: 1700px;
  width: 100%;
  height: 180px;
  background: url("../img/other/footer-deco-wave.svg") center/cover no-repeat;
  background-position: top;
}
@media screen and (max-width: 768px) {
  .l-footer_contact_contents::before {
    height: 100px;
    top: -100px;
  }
}

.l-footer_recruit {
  color: #fff;
  background: linear-gradient(120deg, #8AF7E5, #0561AA, #8AF7E5);
  background-size: 200% 200%;
  background-position: 0% 0%;
  transition: background-position 0.3s ease-out, color 0.3s;
  border-radius: 30px;
  position: relative;
  display: block;
  padding: 30px 20px 140px;
}
.l-footer_recruit p {
  font-size: 5rem;
  font-weight: 600;
}
.l-footer_recruit p span {
  display: block;
  font-size: 1.8rem;
  font-weight: 300;
}
.l-footer_recruit::after {
  content: "";
  position: absolute;
  bottom: 30px;
  right: 30px;
  display: inline-block;
  width: 17px;
  height: 17px;
  border-top: 2px solid #FFB641;
  border-right: 2px solid #FFB641;
  transform: translateX(0) rotate(45deg);
  transition: 0.3s;
}
.l-footer_recruit:hover {
  background-position: 100% 100%;
}
.l-footer_recruit:hover::after {
  transform: translateX(10px) rotate(45deg);
}

.l-footer_contact {
  color: #fff;
  background: url("../img/other/footer_contact-bg.jpg") center/cover no-repeat;
  border-radius: 30px;
  position: relative;
  z-index: 1;
  display: block;
  padding: 30px 20px 140px;
}
.l-footer_contact p {
  font-size: 5rem;
  font-weight: 600;
}
.l-footer_contact p span {
  display: block;
  font-size: 1.8rem;
  font-weight: 300;
}
.l-footer_contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #055C9F;
  opacity: 0.8;
  border-radius: 30px;
  z-index: -1;
  transition: 0.3s;
}
.l-footer_contact::after {
  content: "";
  position: absolute;
  bottom: 30px;
  right: 30px;
  display: inline-block;
  width: 17px;
  height: 17px;
  border-top: 2px solid #FFB641;
  border-right: 2px solid #FFB641;
  transform: translateX(0) rotate(45deg);
  transition: 0.3s;
}
.l-footer_contact:hover::after {
  transform: translateX(10px) rotate(45deg);
}
.l-footer_contact:hover::before {
  opacity: 0.4;
}

.l-footer_contents {
  background: #EEE8CE;
  padding-bottom: 40px;
}
.l-footer_contents::before {
  content: "";
  position: absolute;
  bottom: 130px;
  left: 50px;
  width: 120px;
  height: 100px;
  background: url("../img/other/footer-deco-left.svg") center/contain no-repeat;
}
@media screen and (max-width: 1120px) {
  .l-footer_contents::before {
    bottom: 80px;
    left: 10px;
  }
}
.l-footer_contents::after {
  content: "";
  position: absolute;
  bottom: 120px;
  right: 50px;
  width: 95px;
  height: 65px;
  background: url("../img/other/footer-deco-right.svg") center/contain no-repeat;
}
@media screen and (max-width: 1120px) {
  .l-footer_contents::after {
    right: 10px;
  }
}

.l-footer_inner {
  padding: 45px 0 100px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 50px 0;
}
@media screen and (max-width: 768px) {
  .l-footer_inner {
    display: block;
  }
}

.l-footer_info {
  position: relative;
}
.l-footer_info p {
  color: #055C9F;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  .l-footer_info {
    padding-top: 80px;
  }
}

.l-footer_contact_list li {
  position: relative;
  padding-left: 25px;
  margin-bottom: 10px;
  font-weight: 300;
}
.l-footer_contact_list li.l-footer_mail::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: url("../img/index/mail_ico_green.svg") center/contain no-repeat;
}
.l-footer_contact_list li.l-footer_mail:hover::before {
  background: url("../img/index/mail_ico_red.svg") center/contain no-repeat;
  transition: 0.3s;
}
.l-footer_contact_list li.l-footer_tel::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: url("../img/index/tel_ico_green.svg") center/contain no-repeat;
}
.l-footer_contact_list li.l-footer_tel:hover::before {
  background: url("../img/index/tel_ico_red.svg") center/contain no-repeat;
  transition: 0.3s;
}
.l-footer_contact_list li.l-footer_fax {
  color: #055C9F;
}
.l-footer_contact_list li.l-footer_fax::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: url("../img/index/fax_ico_green.svg") center/contain no-repeat;
}

.l-footer_logo {
  width: 300px;
  display: block;
}

.l-footer_menu nav {
  display: flex;
  gap: 110px;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .l-footer_menu nav {
    display: block;
  }
}

.l-footer_nav > li {
  position: relative;
  margin-bottom: 20px;
  position: relative;
  padding-left: 20px;
  font-weight: 600;
}
.l-footer_nav > li::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 0;
  width: 15px;
  height: 2px;
  background: #FFB641;
}
.l-footer_nav > li a {
  display: block;
}

.js-footer_toggle {
  display: none;
  cursor: pointer;
}

.l-footer_sub_nav li {
  position: relative;
  margin-top: 5px;
  font-weight: 300;
}
.l-footer_sub_nav li a {
  padding-left: 20px;
}

.l-footer_policy {
  text-align: right;
  display: block;
  font-weight: 300;
  font-size: 1.3rem;
}
.l-footer_policy:hover {
  color: #FFB641;
  transition: 0.3s;
}

.l-footer_copyright {
  font-weight: 300;
  text-align: right;
  display: block;
  color: #055C9F;
}

@media screen and (max-width: 768px) {
  .l-footer_nav > li {
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
  }
  .l-footer_sub_nav {
    display: none;
  }
  .js-footer_toggle {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 40px;
    height: 30px;
  }
  .js-footer_toggle::after {
    content: "";
    position: absolute;
    top: 40%;
    left: 50%;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #055C9F;
    border-right: 2px solid #055C9F;
    transform: translate(-50%, -50%) rotate(45deg);
    transition: transform 0.3s;
  }
  .js-footer_toggle.is-active::after {
    transform: translate(-50%, -50%) rotate(225deg);
  }
}
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
.l-main_grid {
  display: flex;
}
.l-main_grid .l-main_left {
  width: 100%;
}
.l-main_grid:has(.l-sidebar) .l-main_left {
  width: calc(100% - 275px);
}
@media screen and (max-width: 768px) {
  .l-main_grid {
    display: block;
  }
  .l-main_grid:has(.l-sidebar) .l-main_left {
    width: 100%;
  }
}

/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* ----------------------------------------------------------
   #Object
---------------------------------------------------------- */
/* Comment
---------------------------------------------------------- */
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* タイトル 
----- object/component/_c-ttl ----- */
.c-ttl-1_deco {
  display: block;
  color: #055C9F;
  font-weight: 400;
  font-size: 2.6rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-ttl-1_deco {
    font-size: 2.2rem;
  }
}
.c-ttl-1_deco span {
  display: inline-block;
  font-size: 1.4rem;
  letter-spacing: 0.15em;
  position: relative;
  font-weight: 300;
}
.c-ttl-1_deco span::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  background: url("../img/other/ttl-deco-v.svg") center/contain no-repeat;
}
.c-ttl-1_deco__white {
  color: #fff;
}

.c-ttl-2_deco {
  display: block;
  color: #055C9F;
  font-weight: 400;
  font-size: 2.6rem;
  text-align: left;
  line-height: 30px;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .c-ttl-2_deco {
    font-size: 2.2rem;
  }
}
.c-ttl-2_deco span {
  display: inline-block;
  font-size: 1.4rem;
  letter-spacing: 0.15em;
  position: relative;
  padding-left: 20px;
}
.c-ttl-2_deco span::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: url("../img/other/ttl-deco-v.svg") center/contain no-repeat;
}

.c-ttl-1 {
  font-size: 3rem;
  text-align: center;
  margin: 0 auto;
  position: relative;
  display: inline-block;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 400;
  color: #055C9F;
  line-height: 30px;
}
.c-ttl-1 span {
  display: inline-block;
  font-size: 1.5rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 768px) {
  .c-ttl-1 {
    font-size: 2.5rem;
  }
}

.c-ttl-1_wave img {
  width: 100vw;
}

.c-ttl-2 {
  position: relative;
  font-size: 2.2rem;
  color: #055C9F;
  margin-bottom: 20px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .c-ttl-2 {
    font-size: 2rem;
  }
}
.c-ttl-2::before {
  content: "";
  position: absolute;
  background: #FFB641;
  width: 50px;
  height: 1px;
  bottom: -8px;
  left: 0;
}

.c-ttl-3 {
  position: relative;
  font-size: 2rem;
  color: #055C9F;
  margin-bottom: 10px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .c-ttl-3 {
    font-size: 1.8rem;
  }
}

.c-ttl-4 {
  font-size: 1.8rem;
  color: #055C9F;
  margin-bottom: 10px;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .c-ttl-4 {
    font-size: 1.6rem;
  }
}

.c-ttl-5 {
  font-size: 1.6rem;
  color: #055C9F;
  margin-bottom: 10px;
  font-weight: 600;
}

.c-ttl-under {
  width: fit-content;
  margin: 0 auto;
  font-size: 2.5rem;
  color: #055C9F;
}
@media screen and (max-width: 768px) {
  .c-ttl-under {
    font-size: 1.8rem;
  }
}

.c-ttl-under__mark {
  display: inline;
  background: linear-gradient(0deg, rgba(255, 182, 65, 0.3019607843) 0.65em, transparent 0.65em);
  background-size: 100% 0.65em;
  background-repeat: no-repeat;
  background-position: 0 100%;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding-bottom: 0.05em;
}

/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* ボタン 
----- object/component/_c-btn ----- */
.c-btn {
  display: grid;
  align-items: center;
  font-weight: 500;
  color: #055C9F;
  border: 1px solid #055C9F;
  width: auto;
  height: auto;
  padding: 20px 60px 20px 25px;
  position: relative;
  display: inline-block;
  border-radius: 100px;
  letter-spacing: 0.1em;
}
.c-btn::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border: 1px solid #FFB641;
  border-left: 0;
  border-bottom: 0;
  position: absolute;
  top: 50%;
  right: 30px;
  translate: 0 -50%;
  rotate: 45deg;
  transition: 0.3s;
}
.c-btn:hover {
  color: #fff;
  background: #055C9F;
  transition: 0.3s;
}
.c-btn:hover::after {
  right: 25px;
  transition: 0.3s;
}
.c-btn__white {
  background: #fff;
  border: 1px solid #fff;
}
.c-btn__white:hover {
  border: 1px solid #055C9F;
}

.c-btn-2 {
  display: grid;
  align-items: center;
  font-weight: 500;
  color: #fff;
  background: #055C9F;
  border: 1px solid #055C9F;
  width: auto;
  height: auto;
  padding: 20px 60px 20px 25px;
  position: relative;
  display: inline-block;
  border-radius: 100px;
  letter-spacing: 0.1em;
}
.c-btn-2::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border: 1px solid #FFB641;
  border-left: 0;
  border-bottom: 0;
  position: absolute;
  top: 50%;
  right: 30px;
  translate: 0 -50%;
  rotate: 45deg;
  transition: 0.3s;
}
.c-btn-2:hover {
  color: #055C9F;
  background: #fff;
  transition: 0.3s;
}
.c-btn-2:hover::after {
  right: 25px;
  border-color: #055C9F;
  transition: 0.3s;
}

.c-btn-3 {
  display: grid;
  align-items: center;
  font-weight: 500;
  color: #055C9F;
  background: #fff;
  border: 1px solid #fff;
  width: auto;
  height: auto;
  padding: 20px 60px 20px 25px;
  position: relative;
  display: inline-block;
  border-radius: 100px;
  letter-spacing: 0.1em;
}
.c-btn-3::after {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border: 1px solid #FFB641;
  border-left: 0;
  border-bottom: 0;
  position: absolute;
  top: 50%;
  right: 30px;
  translate: 0 -50%;
  rotate: 45deg;
  transition: 0.3s;
}
.c-btn-3:hover {
  color: #055C9F;
  background: #fff;
  transition: 0.3s;
}
.c-btn-3:hover::after {
  right: 25px;
  border-color: #055C9F;
  transition: 0.3s;
}

.c-btn_center {
  left: 50%;
  transform: translateX(-50%);
}

.c-btn_right {
  right: 0;
}

.c-btn_text {
  display: inline;
  font-weight: 500;
  padding-right: 30px;
  position: relative;
}
.c-btn_text::before {
  content: "";
  background: url("../img/arrow_btn.svg") center/cover no-repeat;
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 5px;
  translate: 0 -50%;
  transition: 0.3s;
}
.c-btn_text:hover::before {
  right: 0;
}

a:hover .c-btn_text::before {
  right: 0;
}

.c-btn-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .c-btn {
    min-height: 45px;
    margin-top: 40px;
  }
  .c-btn::before {
    right: 20px;
  }
  .c-btn__blank:hover::before {
    right: 18px;
  }
}
.c-contact_btn {
  display: inline-block;
  color: #fff;
  border: #055C9F solid 1px;
  border-radius: 100px;
  padding: 15px 20px;
  position: relative;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  transition: 0.3s;
  background: #055C9F;
  max-width: 305px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
.c-contact_btn:hover {
  color: #055C9F;
  background: #fff;
  transition: 0.3s;
}

.c-contact_btn_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.c-btn-grid {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .c-btn-grid {
    display: block;
  }
}

/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* リンク（ボタンの形ではないもの） 
----- object/component/_c-link ----- */
.c-link_text {
  text-decoration: underline;
}

.c-link_blank {
  color: #666;
  padding-right: 20px;
  position: relative;
}
.c-link_blank::before {
  content: "";
  mask: url("../img/ico-blank.svg") center/contain no-repeat;
  background: #055C9F;
  display: block;
  width: 12px;
  height: 10px;
  position: absolute;
  right: 3px;
  top: 50%;
  translate: 0 -50%;
  transition: 0.3s;
}
.c-link_blank:hover {
  color: #055C9F;
}
.c-link_blank:hover::before {
  mask-image: url("../img/ico-blank--hover.svg");
  width: 14px;
  height: 12px;
  right: 1px;
  top: calc(50% - 2px);
}
.c-link_blank.u-text-white::before {
  background: #fff;
}

a .c-link_blank {
  transition: 0.3s;
}
a:hover .c-link_blank {
  color: #055C9F;
}
a:hover .c-link_blank::before {
  mask-image: url("../img/ico-blank--hover.svg");
  width: 14px;
  height: 12px;
  right: 1px;
  top: calc(50% - 2px);
}

.c-link_invalid {
  pointer-events: none;
  color: #777 !important;
}

/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* アイコン 
----- object/component/_c-ico ----- */
.c-ico_pu {
  display: inline-block;
  padding: 7px 10px;
  background: #055C9F;
  height: 25px;
  border-radius: 5px;
}
.c-ico_pu img {
  height: 11px;
}
.c-ico_pu__text {
  display: inline-block;
  font-weight: 500;
  color: #fff;
  background: #055C9F;
  padding: 1px 10px;
  line-height: 1.5;
  border-radius: 5px;
  height: auto;
}

.c-ico_cate {
  display: inline-block;
  color: #666;
  background-color: #E6E6E6;
  min-width: 85px;
  padding: 1px 10px 0;
  border-radius: 15px;
  text-align: center;
  height: fit-content;
  font-size: 1.4rem;
  font-weight: 500;
}

.c-ico_number {
  display: grid;
  place-content: center;
  place-items: center;
  color: #fff;
  background: #055C9F;
  line-height: 1;
  width: 45px;
  height: 45px;
  flex-shrink: 0;
  border-radius: 5px 5px 25px 5px;
  position: absolute;
  top: 0;
  left: 0;
}
.c-ico_number small {
  display: block;
  font-size: 1.2rem;
}
.c-ico_number span {
  font-size: 2.2rem;
  font-weight: 500;
}

/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* ul ol dl リスト 
----- object/component/_c-list ----- */
.c-list {
  list-style-type: disc;
  padding-left: 1.5em;
  margin-bottom: 20px;
}
.c-list li {
  margin-bottom: 5px;
  padding-left: 5px;
  list-style-type: inherit;
}
.c-list li::marker {
  color: #055C9F;
}

ol.c-list {
  list-style-type: decimal;
}

/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* テーブル 
----- object/component/_c-table ----- */
.c-table {
  width: 1120px;
}
.c-table :is(th, td) {
  border: 1px solid #055C9F;
  padding: 10px;
  text-align: left;
}
.c-table th {
  color: #055C9F;
  font-weight: 600;
  letter-spacing: 0.15em;
  background: #E6F4FF;
}
@media screen and (max-width: 768px) {
  .c-table th {
    padding-bottom: 5px;
  }
}
@media screen and (max-width: 768px) {
  .c-table td {
    padding-top: 0;
    padding-bottom: 25px;
    border-bottom: 1px solid #055C9F;
  }
}
@media screen and (max-width: 768px) {
  .c-table tr:first-child th {
    border-top: 1px solid #055C9F;
  }
}

.c-table-02 {
  width: 100%;
}
.c-table-02 :is(th, td) {
  border-top: 1px solid #055C9F;
  border-bottom: 1px solid #055C9F;
  padding: 25px 0;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .c-table-02 :is(th, td) {
    display: block;
    width: 100%;
    border: none;
  }
}
.c-table-02 th {
  color: #055C9F;
  font-weight: 600;
  letter-spacing: 0.15em;
  width: 200px;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .c-table-02 th {
    padding-bottom: 5px;
    width: 100%;
  }
}
.c-table-02 td {
  width: calc(100% - 200px);
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .c-table-02 td {
    padding-top: 0;
    padding-bottom: 25px;
    border-bottom: 1px solid #055C9F;
    padding-right: 0;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .c-table-02 tr:first-child th {
    border-top: 1px solid #055C9F;
  }
}

.c-table_scroll {
  overflow-x: scroll;
}

.c-table_discount_wrap {
  display: grid;
  gap: 20px 10px;
  grid-template-columns: 15% 1fr;
}

.c-table_discount {
  width: 100%;
  border-radius: 5px;
  text-align: center;
  vertical-align: middle;
  overflow: hidden;
}
.c-table_discount.sp {
  display: none;
}
.c-table_discount th {
  color: #fff;
  padding: 0 15px;
  font-weight: 500;
  font-weight: 500;
  text-align: center;
  border-bottom: solid 1px #fff;
}
.c-table_discount thead th {
  background: #055C9F;
}
.c-table_discount tbody tr {
  border-left: solid 1px #ddd;
  border-right: solid 1px #ddd;
}
.c-table_discount tbody tr:last-child {
  border-radius: 0 0 5px 5px;
  border-bottom: solid 1px #ddd;
}
.c-table_discount tbody tr:last-child td:first-child {
  border-radius: 0 0 0 5px;
}
.c-table_discount tbody tr:last-child td:last-child {
  border-radius: 0 0 5px 0;
}
.c-table_discount tbody th {
  background: #E387B7;
  padding: 2px 15px;
}
.c-table_discount tbody td {
  background: #fff;
  height: 55px;
  text-align: center;
}
.c-table_discount tbody td:not(:last-child) {
  border-right: solid 1px #ccc;
}
.c-table_discount tbody td span {
  font-size: 2.2rem;
}

.c-table_discount_late thead th {
  background: #FFB641;
}
.c-table_discount_late tbody th {
  background: #4391B5;
}
.c-table_discount_late tbody th:nth-child(2n) {
  background: #48A6C9;
}

@media screen and (max-width: 768px) {
  .c-table_discount_wrap {
    grid-template-columns: none;
  }
  .c-table_discount.pc {
    display: none;
  }
  .c-table_discount.sp {
    display: table;
  }
  .c-table_discount tbody th {
    padding: 0 15px;
  }
}
/* -- 
Project
---------------------------------------------------------- */
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* コンタクトフォーム
----- object/project/_p-form ----- */
input[type=text],
input[type=tel],
input[type=email],
select,
textarea {
  background-color: #F4F4F4;
  border: none;
  padding: 15px;
  width: 100%;
  border-radius: 5px;
}

select {
  position: relative;
  width: 100%;
  padding-right: 30px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
}

.p-form .form__table {
  display: flex;
  flex-wrap: wrap;
  margin: 40px auto 0;
}
.p-form .form__table dt {
  width: 220px;
  padding: 32px 0;
}
@media screen and (max-width: 768px) {
  .p-form .form__table dt {
    width: 100%;
    padding: 20px 0 0;
  }
}
.p-form .form__table dt p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .p-form .form__table dt p {
    justify-content: unset;
    margin-right: 0;
  }
}
.p-form .form__table dt p.req::after {
  content: "必須";
  display: inline-block;
  color: #fff;
  background-color: #FFB641;
  font-size: 1.2rem;
  line-height: 1;
  padding: 3px 10px;
}
.p-form .form__table dd {
  width: calc(100% - 220px);
  padding: 20px 0;
  border-radius: 10;
}
@media screen and (max-width: 768px) {
  .p-form .form__table dd {
    width: 100%;
    padding: 0 0 20px;
    border-top: none;
    margin-top: 10px;
  }
}
.p-form .form__table .input__grid {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -5px 0;
}
@media screen and (max-width: 768px) {
  .p-form .form__table .input__grid {
    display: flex;
    flex-wrap: wrap;
    margin: -10px 0 0;
  }
}
.p-form .form__table .input__grid .input__item {
  width: 50%;
  padding: 0 5px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .p-form .form__table .input__grid .input__item {
    width: 100%;
    padding: 0;
  }
}
.p-form .form__table .input__grid .input__item:has(select) {
  position: relative;
}
.p-form .form__table .input__grid .input__item:has(select)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #333;
  border-right: 2px solid #333;
  pointer-events: none;
  transition: transform 0.3s;
  margin-top: -3px;
}
.p-form .form__table .input__number {
  position: relative;
  padding-left: 25px;
}
.p-form .form__table .input__number::before {
  content: "〒";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.p-form .agree {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px 0;
}
.p-form .agree a {
  color: #055C9F;
  text-decoration: underline;
  transition: 0.3s;
}
.p-form .agree a:hover {
  color: #FFB641;
}
.p-form .agree span.req {
  display: inline-block;
  color: #fff;
  background-color: #FFB641;
  font-size: 1.2rem;
  line-height: 1;
  padding: 3px 10px;
}
.p-form .input__btn {
  display: block;
  position: relative;
  width: 280px;
  height: 60px;
  line-height: 60px;
  background-color: #055C9F;
  color: #fff;
  margin: 40px auto 0;
  border-radius: calc(infinity * 1px);
  letter-spacing: 2px;
  transition: 0.3s;
}
.p-form .input__btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.p-form .input__btn:hover {
  background-color: #FFB641;
  transition: 0.3s;
}
.p-form .input__btn input[type=submit] {
  display: block;
  width: 280px;
  height: 60px;
  line-height: 60px;
  color: #fff;
  text-align: left;
  padding: 0 30px;
  font-size: 1.5rem;
  font-weight: bold;
}

/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* ページネーション（プラグイン WP-PageNavi） 
----- object/project/_p-wp_navi ----- */
.wp-pagenavi {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.wp-pagenavi a,
.wp-pagenavi span {
  display: grid;
  place-content: center;
  width: 30px;
  height: 30px;
  margin: 0 5px;
}
.wp-pagenavi .page,
.wp-pagenavi .last,
.wp-pagenavi .first {
  color: #055C9F;
  border: #055C9F solid 1px;
  border-radius: 2px;
}
.wp-pagenavi .page:hover,
.wp-pagenavi .last:hover,
.wp-pagenavi .first:hover {
  background: #E6F4FF;
}
.wp-pagenavi .current {
  border-radius: 2px;
  color: #fff;
  background: #055C9F;
}
.wp-pagenavi .extend {
  width: auto;
  padding: 0 5px;
  color: #055C9F;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  color: #055C9F;
  overflow: hidden;
  position: relative;
  order: 1;
  border: #055C9F solid 1px;
  border-radius: 2px;
}
.wp-pagenavi .nextpostslink::before,
.wp-pagenavi .previouspostslink::before {
  content: "";
  background: url("../img/arrow_btn.svg") center/cover no-repeat;
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  transition: 0.3s;
}
.wp-pagenavi .nextpostslink:hover::before,
.wp-pagenavi .previouspostslink:hover::before {
  left: calc(50% + 5px);
}
.wp-pagenavi .previouspostslink {
  order: -1;
}
.wp-pagenavi .previouspostslink::before {
  rotate: -180deg;
}
.wp-pagenavi .previouspostslink:hover::before {
  left: calc(50% - 5px);
}
.wp-pagenavi .pages {
  display: none;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
  border-color: #055C9F !important;
}

@media screen and (max-width: 768px) {
  .wp-pagenavi a,
  .wp-pagenavi span {
    width: 30px;
    height: 30px;
  }
  .wp-pagenavi .extend {
    padding: 0;
  }
  .wp-pagenavi .nextpostslink,
  .wp-pagenavi .previouspostslink {
    width: 30px;
  }
}
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* 記事一覧 
----- object/project/_p-post_list ----- */
.p-post_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 30px;
}

.p-post_info {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.p-post_item a {
  display: block;
  padding-bottom: 30px;
  position: relative;
  color: #666;
  height: 100%;
}
.p-post_item a::before {
  content: "";
  display: block;
  width: calc(100% - 30px);
  height: 2px;
  background: #ddd;
  border-radius: 1px;
  position: absolute;
  bottom: 5px;
  left: 0;
  transition: 0.3s;
}
.p-post_item a::after {
  content: "";
  background: url("../img/arrow_pink.svg") center/cover no-repeat;
  display: block;
  width: 5px;
  height: 10px;
  position: absolute;
  bottom: 0;
  right: 10px;
  transition: 0.3s;
}
.p-post_item a:hover::before {
  background-color: #055C9F;
}
.p-post_item a:hover::after {
  right: 5px;
}
.p-post_item a:hover h5 {
  color: #055C9F;
}
.p-post_item a figure {
  border: 1px solid #eee;
  position: relative;
}
.p-post_item a img {
  width: 100%;
}
.p-post_item a h5 {
  font-size: 1.6rem;
  transition: 0.3s;
}

.p-post_tag {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.p-post_tag a {
  display: inline-block;
  color: #055C9F;
  background-color: #E6F4FF;
  padding: 1px 10px 0;
  border-radius: 15px;
  text-align: center;
  height: fit-content;
  font-size: 1.3rem;
  font-weight: 500;
}
.p-post_tag a:hover {
  color: #fff;
  background-color: #FFB641;
}

@media screen and (max-width: 768px) {
  .p-post_list {
    grid-template-columns: 100%;
    gap: 30px;
  }
  .p-post_item > a {
    display: flex;
    flex-direction: column;
  }
}
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* 記事詳細 前後リンク 
----- object/project/_p-post_nav ----- */
.c-post_nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.c-post_nav li {
  min-width: 85px;
  font-weight: 500;
}

.c-post_nav_back a {
  display: grid;
  place-content: center;
  padding: 10px 25px;
  min-height: 50px;
  background: #E6F4FF;
  border-radius: 25px;
}
.c-post_nav_back a:hover {
  background: #FFB641;
  color: #fff;
}

.c-post_nav_arrow a {
  display: block;
  padding: 10px 0;
  color: #666;
  position: relative;
}
.c-post_nav_arrow a::before {
  content: "";
  background: url("../img/arrow_btn.svg") center/cover no-repeat;
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  transition: 0.3s;
}
.c-post_nav_arrow a:hover {
  color: #FFB641;
}

.c-post_nav_next a {
  padding-right: 30px;
}
.c-post_nav_next a::before {
  right: 0;
}
.c-post_nav_next a:hover::before {
  right: -5px;
}

.c-post_nav_prev a {
  padding-left: 30px;
}
.c-post_nav_prev a::before {
  left: 0;
  rotate: 180deg;
}
.c-post_nav_prev a:hover::before {
  left: -5px;
}

.c-post_nav.--luxury {
  justify-content: space-between;
}
.c-post_nav.--luxury .c-post_nav_back a {
  background: #055C9F;
  color: #fff;
}
.c-post_nav.--luxury .c-post_nav_back a:hover {
  background: #FFB641;
}
.c-post_nav.--luxury .c-post_nav_arrow {
  width: 100%;
  max-width: 300px;
}
.c-post_nav.--luxury .c-post_nav_arrow a {
  padding: 10px 20px;
  background: #E6F4FF;
}
.c-post_nav.--luxury .c-post_nav_arrow a:hover {
  background: #FFB641;
}
.c-post_nav.--luxury .c-post_nav_arrow a:hover p, .c-post_nav.--luxury .c-post_nav_arrow a:hover span {
  color: #fff;
}
.c-post_nav.--luxury .c-post_nav_prev a::before {
  left: -10px;
}
.c-post_nav.--luxury .c-post_nav_next a::before {
  right: -10px;
}

.c-post_nav_grid {
  display: grid;
  grid-template-columns: 85px 1fr;
  gap: 10px;
  align-items: center;
}

.c-post_nav_next .c-post_nav_grid {
  grid-template-columns: 1fr 85px;
}

.c-post_nav_grid_img {
  width: 85px;
}
.c-post_nav_grid_img figure {
  width: 100%;
  position: relative;
  padding-top: 60%;
}
.c-post_nav_grid_img img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  object-fit: cover;
}

.c-post_nav_grid_itext p {
  color: #777;
  font-size: 1.3rem;
}
.c-post_nav_grid_itext span {
  color: #666;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media screen and (max-width: 768px) {
  .c-post_nav.--luxury {
    justify-content: center;
  }
  .c-post_nav.--luxury .c-post_nav_back {
    order: 1;
    width: 100%;
    max-width: 250px;
  }
  .c-post_nav.--luxury .c-post_nav_back a {
    min-height: 45px;
    width: 100%;
  }
}
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* WYSIWYGエディタ
----- object/project/_p-editor ----- */
.p-editor {
  /* WYSIWYGエディタ内の u-grid */
}
.p-editor p {
  margin-bottom: 20px;
}
.p-editor h1, .p-editor h2, .p-editor h3, .p-editor h4, .p-editor h5, .p-editor h6 {
  font-weight: 500;
  line-height: 1.4;
  margin: 40px 0 10px;
}
.p-editor h1 {
  font-size: 3rem;
}
.p-editor h2 {
  font-size: 2.6rem;
}
.p-editor h3 {
  font-size: 2.3rem;
}
.p-editor h4 {
  font-size: 2rem;
}
.p-editor h5 {
  font-size: 1.8rem;
}
.p-editor h6 {
  font-size: 1.6rem;
}
.p-editor ul, .p-editor ol {
  list-style-type: disc;
  padding-left: 1.5em;
  margin-bottom: 20px;
}
.p-editor ol {
  list-style-type: decimal;
}
.p-editor li {
  margin-bottom: 5px;
  padding-left: 5px;
  list-style-type: inherit;
}
.p-editor strong {
  font-weight: bold;
}
.p-editor em {
  font-style: italic;
}
.p-editor a {
  text-decoration: underline;
}
.p-editor blockquote {
  position: relative;
  background: #E6F4FF;
  border-radius: 5px;
  padding: 30px 30px 5px;
  margin: 30px 0 20px;
}
.p-editor blockquote::before {
  content: "";
  background: url("../img/blockquote_deco.svg") center/cover no-repeat;
  width: 30px;
  height: 25px;
  position: absolute;
  left: 25px;
  top: -10px;
}
.p-editor blockquote cite {
  display: block;
  border-top: 1px solid #ccc;
  padding-top: 10px;
  font-size: 1.4rem;
  text-align: right;
  color: #777;
}
.p-editor img {
  height: auto;
  max-width: 100%;
  max-height: 640px;
  display: block;
  border-radius: 5px;
  object-fit: contain;
}
.p-editor .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.p-editor .alignleft {
  width: auto !important;
  float: left;
  margin-right: 10px;
  margin-bottom: 20px;
}
.p-editor .alignright {
  width: auto !important;
  float: right;
  margin-left: 10px;
  margin-bottom: 20px;
}
.p-editor .size-large {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
}
.p-editor .size-medium {
  max-height: 490px;
}
.p-editor .size-thumbnail {
  max-height: 300px;
}
.p-editor table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}
.p-editor table th, .p-editor table td {
  border: 1px solid #ddd;
  padding: 10px;
  text-align: left;
}
.p-editor table th {
  background-color: #E6F4FF;
}
.p-editor .table_scroll {
  overflow-x: scroll;
}
.p-editor .wp-caption {
  max-width: 100%;
  text-align: center;
  margin-bottom: 20px;
}
.p-editor .wp-caption img {
  margin-bottom: 5px;
}
.p-editor .wp-caption .wp-caption-text {
  font-size: 1.4rem;
  color: #777;
  margin-bottom: 0;
}
.p-editor iframe {
  max-width: 100%;
}
.p-editor::after {
  content: "";
  display: table;
  clear: both;
}
@media screen and (max-width: 768px) {
  .p-editor h1 {
    font-size: 2.7rem;
  }
  .p-editor h2 {
    font-size: 2.5rem;
  }
  .p-editor h3 {
    font-size: 2.2rem;
  }
  .p-editor blockquote {
    padding: 25px 20px 1px;
  }
  .p-editor blockquote::before {
    width: 25px;
    height: 21px;
    left: 15px;
  }
  .p-editor blockquote cite {
    display: block;
    border-top: 1px solid #ccc;
    padding-top: 10px;
    font-size: 1.4rem;
    text-align: right;
    color: #777;
  }
  .p-editor .alignleft:not(.size-thumbnail):not(:has(.size-thumbnail)), .p-editor .alignright:not(.size-thumbnail):not(:has(.size-thumbnail)) {
    float: none;
    margin: 0 auto 20px;
  }
  .p-editor .alignleft:not(.size-thumbnail):not(:has(.size-thumbnail)) img, .p-editor .alignright:not(.size-thumbnail):not(:has(.size-thumbnail)) img {
    margin-left: auto;
    margin-right: auto;
  }
  .p-editor img, .p-editor .size-medium {
    max-height: 320px;
  }
  .p-editor .size-thumbnail {
    max-height: 200px;
  }
}
.p-editor .u-grid {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}
.p-editor .u-grid .col {
  margin: 0 0 10px;
}

/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
body:has([popover]:popover-open) .p-help_overlay {
  position: fixed;
  inset: 0;
  background: #000;
  opacity: 0.2;
  width: 100%;
  height: 100%;
  display: block;
}

.p-help_btn {
  display: inline-block;
  display: block;
  width: 30px;
  height: 30px;
  padding: 6px;
}
.p-help_btn span {
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
  background-color: #FFB641;
  color: #fff;
  border-radius: 50%;
  font-size: 1.3rem;
  line-height: 1;
}

.p-help_overlay {
  display: block;
  position: fixed;
  inset: 0;
  background: #000;
  z-index: 999;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.3s;
}
.p-help_overlay.is-active {
  opacity: 0.2;
  visibility: visible;
  pointer-events: auto;
}

.p-help_contents {
  background-color: #fff;
  border: 1px solid #055C9F;
  border-radius: 5px;
  padding: 30px;
  position: fixed;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.3s;
  width: calc(100% - 30px);
  max-width: 750px;
  max-height: calc(100% - 100px);
}
.p-help_contents:popover-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.p-help_close {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 5px;
  color: transparent;
}
.p-help_close span:first-child {
  display: block;
  border-radius: 50%;
  background-color: #055C9F;
  position: relative;
  width: 30px;
  height: 30px;
}
.p-help_close span:first-child::before, .p-help_close span:first-child::after {
  content: "";
  width: 15px;
  height: 1px;
  border-radius: 1px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: 45deg;
}
.p-help_close span:first-child::after {
  rotate: -45deg;
}

.p-help_grid {
  display: grid;
  grid-template: "img ttl" auto "img text" auto/40% 1fr;
  gap: 10px 20px;
}

.p-help_img {
  grid-area: img;
}

.p-help_ttl {
  grid-area: ttl;
  color: #055C9F;
  font-size: 1.7rem;
}

.p-help_text {
  grid-area: text;
}

.p-help_price {
  display: grid;
  grid-template-columns: auto 1fr;
}
.p-help_price dt, .p-help_price dd {
  border-top: solid 1px #ddd;
  padding: 5px 0;
}
.p-help_price dd {
  min-width: 140px;
  padding-left: 1.5rem;
  position: relative;
}
.p-help_price dd::before {
  content: "：";
  position: absolute;
  top: 5px;
  left: 0;
}

@media screen and (max-width: 768px) {
  .p-help_contents {
    padding: 20px;
  }
  .p-help_grid {
    grid-template: "ttl" "img" "text"/1fr;
  }
  .p-help_img {
    width: 90%;
    margin: 5px auto 10px;
  }
}
/* Utility
---------------------------------------------------------- */
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* ------------------------
    カラム分け
------------------------ */
.u-grid {
  display: flex;
  flex-wrap: wrap;
  margin: 10px -15px 0;
  position: relative;
}
.u-grid.ai-center {
  align-items: center;
}
.u-grid.jc-center {
  justify-content: center;
}
.u-grid.gap-0 {
  margin: 10px 0 0;
}
.u-grid.gap-0 .col {
  padding: 0;
}
.u-grid.gap-0 {
  margin: 10px -0 0;
}
.u-grid.gap-0 .col {
  padding: 0 0;
}
.u-grid.gap-10 {
  margin: 10px -5px 0;
}
.u-grid.gap-10 .col {
  padding: 0 5px;
}
.u-grid.gap-20 {
  margin: 10px -10px 0;
}
.u-grid.gap-20 .col {
  padding: 0 10px;
}
.u-grid.gap-40 {
  margin: 10px -20px 0;
}
.u-grid.gap-40 .col {
  padding: 0 20px;
}
.u-grid.gap-50 {
  margin: 10px -25px 0;
}
.u-grid.gap-50 .col {
  padding: 0 25px;
}
.u-grid.gap-60 {
  margin: 10px -30px 0;
}
.u-grid.gap-60 .col {
  padding: 0 30px;
}
.u-grid .col {
  box-sizing: border-box;
  position: relative;
  padding: 0 15px;
  margin-top: 30px;
}
.u-grid .col.col-2 {
  width: 16.6666%;
}
.u-grid .col.col-20p {
  width: 20%;
}
.u-grid .col.col-3 {
  width: 25%;
}
.u-grid .col.col-4 {
  width: 33.33333%;
}
.u-grid .col.col-5 {
  width: 41.66666%;
}
.u-grid .col.col-0 {
  width: 45.83333%;
}
.u-grid .col.col-6 {
  width: 50%;
}
.u-grid .col.col-1 {
  width: 54.16666%;
}
.u-grid .col.col-7 {
  width: 58.33333%;
}
.u-grid .col.col-8 {
  width: 66.66666%;
}
.u-grid .col.col-9 {
  width: 75%;
}
.u-grid .col.col-10 {
  width: 83.33333%;
}
.u-grid .col.col-12 {
  width: 100%;
}

.u-order-1 {
  order: 1;
}

.u-order-2 {
  order: 2;
}

.u-order-3 {
  order: 3;
}

.u-order-4 {
  order: 4;
}

.u-order-5 {
  order: 5;
}

.u-order-6 {
  order: 6;
}

@media screen and (max-width: 1120px) {
  .u-grid .col.col-xl-2 {
    width: 16.6666%;
  }
  .u-grid .col.col-xl-20p {
    width: 20%;
  }
  .u-grid .col.col-xl-3 {
    width: 25%;
  }
  .u-grid .col.col-xl-4 {
    width: 33.33333%;
  }
  .u-grid .col.col-xl-5 {
    width: 41.66666%;
  }
  .u-grid .col.col-xl-6 {
    width: 50%;
  }
  .u-grid .col.col-xl-7 {
    width: 58.33333%;
  }
  .u-grid .col.col-xl-8 {
    width: 66.66666%;
  }
  .u-grid .col.col-xl-9 {
    width: 75%;
  }
  .u-grid .col.col-xl-10 {
    width: 83.33333%;
  }
  .u-grid .col.col-xl-12 {
    width: 100%;
  }
  .u-order-xl-1 {
    order: 1;
  }
  .u-order-xl-2 {
    order: 2;
  }
  .u-order-xl-3 {
    order: 3;
  }
  .u-order-xl-4 {
    order: 4;
  }
  .u-order-xl-5 {
    order: 5;
  }
  .u-order-xl-6 {
    order: 6;
  }
}
@media screen and (max-width: 840px) {
  .u-grid .col.col-lg-2 {
    width: 16.6666%;
  }
  .u-grid .col.col-lg-20p {
    width: 20%;
  }
  .u-grid .col.col-lg-3 {
    width: 25%;
  }
  .u-grid .col.col-lg-4 {
    width: 33.33333%;
  }
  .u-grid .col.col-lg-5 {
    width: 41.66666%;
  }
  .u-grid .col.col-lg-6 {
    width: 50%;
  }
  .u-grid .col.col-lg-7 {
    width: 58.33333%;
  }
  .u-grid .col.col-lg-8 {
    width: 66.66666%;
  }
  .u-grid .col.col-lg-9 {
    width: 75%;
  }
  .u-grid .col.col-lg-10 {
    width: 83.33333%;
  }
  .u-grid .col.col-lg-12 {
    width: 100%;
  }
  .u-order-lg-1 {
    order: 1;
  }
  .u-order-lg-2 {
    order: 2;
  }
  .u-order-lg-3 {
    order: 3;
  }
  .u-order-lg-4 {
    order: 4;
  }
  .u-order-lg-5 {
    order: 5;
  }
  .u-order-lg-6 {
    order: 6;
  }
}
@media screen and (max-width: 768px) {
  .u-grid {
    margin: 5px -5px 0;
  }
  .u-grid.gap-md-10 {
    margin: 10px -5px 0;
  }
  .u-grid.gap-md-10 .col {
    padding: 0 5px;
  }
  .u-grid.gap-md-20 {
    margin: 10px -10px 0;
  }
  .u-grid.gap-md-20 .col {
    padding: 0 10px;
  }
  .u-grid.gap-md-40 {
    margin: 10px -20px 0;
  }
  .u-grid.gap-md-40 .col {
    padding: 0 20px;
  }
  .u-grid.gap-md-50 {
    margin: 10px -25px 0;
  }
  .u-grid.gap-md-50 .col {
    padding: 0 25px;
  }
  .u-grid.gap-md-60 {
    margin: 10px -30px 0;
  }
  .u-grid.gap-md-60 .col {
    padding: 0 30px;
  }
  .u-grid .col {
    padding: 0 5px;
  }
  .u-grid .col.col-md-2 {
    width: 16.6666%;
  }
  .u-grid .col.col-md-20p {
    width: 20%;
  }
  .u-grid .col.col-md-3 {
    width: 25%;
  }
  .u-grid .col.col-md-4 {
    width: 33.33333%;
  }
  .u-grid .col.col-md-5 {
    width: 41.66666%;
  }
  .u-grid .col.col-md-6 {
    width: 50%;
  }
  .u-grid .col.col-md-7 {
    width: 58.33333%;
  }
  .u-grid .col.col-md-8 {
    width: 66.66666%;
  }
  .u-grid .col.col-md-9 {
    width: 75%;
  }
  .u-grid .col.col-md-10 {
    width: 83.33333%;
  }
  .u-grid .col.col-md-12 {
    width: 100%;
  }
  .order-md-1 {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 1;
    order: 1;
  }
  .order-md-2 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 2;
    order: 2;
  }
  .order-md-3 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 3;
    order: 3;
  }
  .order-md-4 {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 4;
    order: 4;
  }
  .order-md-5 {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 5;
    order: 5;
  }
  .order-md-6 {
    -webkit-box-ordinal-group: 6;
    -webkit-order: 6;
    order: 6;
  }
}
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* ----------------------------------------------------------
   #Display
---------------------------------------------------------- */
/*doc
---
title: display
name: display
categories: [utility]
---

表示非表示を切り替えます。

dn = display: none 
db = display: block

 pcのみ表示 → class="u-dn-md"
 spのみ表示 = class="u-dn u-db-md"

*/
.u-dn {
  display: none !important;
}

@media screen and (max-width: 434px) {
  .u-dn-sm {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .u-dn-md {
    display: none !important;
  }
}
@media screen and (max-width: 840px) {
  .u-dn-lg {
    display: none !important;
  }
}
@media screen and (max-width: 1120px) {
  .u-dn-xl {
    display: none !important;
  }
}
@media screen and (max-width: 800px) {
  .u-dn-hd {
    display: none !important;
  }
}
.u-db {
  display: block !important;
}

@media screen and (max-width: 434px) {
  .u-db-sm {
    display: block !important;
  }
}
@media screen and (max-width: 768px) {
  .u-db-md {
    display: block !important;
  }
}
@media screen and (max-width: 840px) {
  .u-db-lg {
    display: block !important;
  }
}
@media screen and (max-width: 1120px) {
  .u-db-xl {
    display: block !important;
  }
}
@media screen and (max-width: 800px) {
  .u-db-hd {
    display: block !important;
  }
}
.u-di {
  display: inline !important;
}

@media screen and (max-width: 434px) {
  .u-di-sm {
    display: inline !important;
  }
}
@media screen and (max-width: 768px) {
  .u-di-md {
    display: inline !important;
  }
}
@media screen and (max-width: 840px) {
  .u-di-lg {
    display: inline !important;
  }
}
@media screen and (max-width: 1120px) {
  .u-di-xl {
    display: inline !important;
  }
}
@media screen and (max-width: 800px) {
  .u-di-hd {
    display: inline !important;
  }
}
.u-dib {
  display: inline-block !important;
}

@media screen and (max-width: 434px) {
  .u-dib-sm {
    display: inline-block !important;
  }
}
@media screen and (max-width: 768px) {
  .u-dib-md {
    display: inline-block !important;
  }
}
@media screen and (max-width: 840px) {
  .u-dib-lg {
    display: inline-block !important;
  }
}
@media screen and (max-width: 1120px) {
  .u-dib-xl {
    display: inline-block !important;
  }
}
@media screen and (max-width: 800px) {
  .u-dib-hd {
    display: inline-block !important;
  }
}
.u-df {
  display: flex !important;
}

@media screen and (max-width: 434px) {
  .u-df-sm {
    display: flex !important;
  }
}
@media screen and (max-width: 768px) {
  .u-df-md {
    display: flex !important;
  }
}
@media screen and (max-width: 840px) {
  .u-df-lg {
    display: flex !important;
  }
}
@media screen and (max-width: 1120px) {
  .u-df-xl {
    display: flex !important;
  }
}
@media screen and (max-width: 800px) {
  .u-df-hd {
    display: flex !important;
  }
}
.u-dg {
  display: grid !important;
}

@media screen and (max-width: 434px) {
  .u-dg-sm {
    display: grid !important;
  }
}
@media screen and (max-width: 768px) {
  .u-dg-md {
    display: grid !important;
  }
}
@media screen and (max-width: 840px) {
  .u-dg-lg {
    display: grid !important;
  }
}
@media screen and (max-width: 1120px) {
  .u-dg-xl {
    display: grid !important;
  }
}
@media screen and (max-width: 800px) {
  .u-dg-hd {
    display: grid !important;
  }
}
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
.u-contents {
  position: relative;
  width: 100%;
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 15px;
}
.u-contents .u-contents_min {
  max-width: 840px;
  padding: 0;
}

.u-contents .u-contents_600, .u-contents_min .u-contents_600 {
  max-width: 600px;
  padding: 0;
}
.u-contents .u-contents_650, .u-contents_min .u-contents_650 {
  max-width: 650px;
  padding: 0;
}
.u-contents .u-contents_750, .u-contents_min .u-contents_750 {
  max-width: 750px;
  padding: 0;
}

.u-contents_min {
  width: 100%;
  max-width: 870px;
  margin: 0 auto;
  padding: 0 15px;
}

.u-contents_600 {
  width: 100%;
  max-width: 570px;
  margin: 0 auto;
  padding: 0 15px;
}

.u-contents_650 {
  width: 100%;
  max-width: 620px;
  margin: 0 auto;
  padding: 0 15px;
}

.u-contents_750 {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 0 15px;
}

@media screen and (max-width: 768px) {
  .u-contents {
    max-width: 100%;
  }
  .u-contents .u-contents_min {
    max-width: 100%;
  }
  .u-contents_min {
    max-width: 100%;
  }
}
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* ----------------------------------------------------------
   #Spacing
---------------------------------------------------------- */
/*doc
---
title: display
name: display
categories: [utility]
---

5px刻みで余白を調整します
*/
/* margin top */
.u-mt-0 {
  margin-top: 0px !important;
}

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

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

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

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

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

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

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

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

.u-mt-45 {
  margin-top: 45px !important;
}

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

.u-mt-55 {
  margin-top: 55px !important;
}

.u-mt-60 {
  margin-top: 60px !important;
}

.u-mt-65 {
  margin-top: 65px !important;
}

.u-mt-70 {
  margin-top: 70px !important;
}

.u-mt-75 {
  margin-top: 75px !important;
}

.u-mt-80 {
  margin-top: 80px !important;
}

.u-mt-85 {
  margin-top: 85px !important;
}

.u-mt-90 {
  margin-top: 90px !important;
}

.u-mt-95 {
  margin-top: 95px !important;
}

.u-mt-100 {
  margin-top: 100px !important;
}

.u-mt-105 {
  margin-top: 105px !important;
}

.u-mt-110 {
  margin-top: 110px !important;
}

.u-mt-115 {
  margin-top: 115px !important;
}

.u-mt-120 {
  margin-top: 120px !important;
}

.u-mt-125 {
  margin-top: 125px !important;
}

.u-mt-130 {
  margin-top: 130px !important;
}

.u-mt-135 {
  margin-top: 135px !important;
}

.u-mt-140 {
  margin-top: 140px !important;
}

.u-mt-145 {
  margin-top: 145px !important;
}

.u-mt-150 {
  margin-top: 150px !important;
}

.u-mt-155 {
  margin-top: 155px !important;
}

.u-mt-160 {
  margin-top: 160px !important;
}

.u-mt-165 {
  margin-top: 165px !important;
}

.u-mt-170 {
  margin-top: 170px !important;
}

.u-mt-175 {
  margin-top: 175px !important;
}

.u-mt-180 {
  margin-top: 180px !important;
}

.u-mt-185 {
  margin-top: 185px !important;
}

.u-mt-190 {
  margin-top: 190px !important;
}

.u-mt-195 {
  margin-top: 195px !important;
}

.u-mt-200 {
  margin-top: 200px !important;
}

.u-mt-205 {
  margin-top: 205px !important;
}

.u-mt-210 {
  margin-top: 210px !important;
}

.u-mt-215 {
  margin-top: 215px !important;
}

.u-mt-220 {
  margin-top: 220px !important;
}

.u-mt-225 {
  margin-top: 225px !important;
}

.u-mt-230 {
  margin-top: 230px !important;
}

.u-mt-235 {
  margin-top: 235px !important;
}

.u-mt-240 {
  margin-top: 240px !important;
}

.u-mt-245 {
  margin-top: 245px !important;
}

.u-mt-250 {
  margin-top: 250px !important;
}

.u-mt-255 {
  margin-top: 255px !important;
}

.u-mt-260 {
  margin-top: 260px !important;
}

.u-mt-265 {
  margin-top: 265px !important;
}

.u-mt-270 {
  margin-top: 270px !important;
}

.u-mt-275 {
  margin-top: 275px !important;
}

.u-mt-280 {
  margin-top: 280px !important;
}

.u-mt-285 {
  margin-top: 285px !important;
}

.u-mt-290 {
  margin-top: 290px !important;
}

.u-mt-295 {
  margin-top: 295px !important;
}

.u-mt-300 {
  margin-top: 300px !important;
}

.u-mt-305 {
  margin-top: 305px !important;
}

.u-mt-310 {
  margin-top: 310px !important;
}

.u-mt-315 {
  margin-top: 315px !important;
}

.u-mt-320 {
  margin-top: 320px !important;
}

.u-mt-325 {
  margin-top: 325px !important;
}

.u-mt-330 {
  margin-top: 330px !important;
}

.u-mt-335 {
  margin-top: 335px !important;
}

.u-mt-340 {
  margin-top: 340px !important;
}

.u-mt-345 {
  margin-top: 345px !important;
}

.u-mt-350 {
  margin-top: 350px !important;
}

.u-mt-355 {
  margin-top: 355px !important;
}

.u-mt-360 {
  margin-top: 360px !important;
}

.u-mt-365 {
  margin-top: 365px !important;
}

.u-mt-370 {
  margin-top: 370px !important;
}

.u-mt-375 {
  margin-top: 375px !important;
}

.u-mt-380 {
  margin-top: 380px !important;
}

.u-mt-385 {
  margin-top: 385px !important;
}

.u-mt-390 {
  margin-top: 390px !important;
}

.u-mt-395 {
  margin-top: 395px !important;
}

.u-mt-400 {
  margin-top: 400px !important;
}

.u-mt-405 {
  margin-top: 405px !important;
}

.u-mt-410 {
  margin-top: 410px !important;
}

.u-mt-415 {
  margin-top: 415px !important;
}

.u-mt-420 {
  margin-top: 420px !important;
}

.u-mt-425 {
  margin-top: 425px !important;
}

.u-mt-430 {
  margin-top: 430px !important;
}

.u-mt-435 {
  margin-top: 435px !important;
}

.u-mt-440 {
  margin-top: 440px !important;
}

.u-mt-445 {
  margin-top: 445px !important;
}

.u-mt-450 {
  margin-top: 450px !important;
}

.u-mt-455 {
  margin-top: 455px !important;
}

.u-mt-460 {
  margin-top: 460px !important;
}

.u-mt-465 {
  margin-top: 465px !important;
}

.u-mt-470 {
  margin-top: 470px !important;
}

.u-mt-475 {
  margin-top: 475px !important;
}

.u-mt-480 {
  margin-top: 480px !important;
}

.u-mt-485 {
  margin-top: 485px !important;
}

.u-mt-490 {
  margin-top: 490px !important;
}

.u-mt-495 {
  margin-top: 495px !important;
}

.u-mt-500 {
  margin-top: 500px !important;
}

@media screen and (max-width: 768px) {
  .u-mt-s-0 {
    margin-top: 0px !important;
  }
  .u-mt-s-5 {
    margin-top: 5px !important;
  }
  .u-mt-s-10 {
    margin-top: 10px !important;
  }
  .u-mt-s-15 {
    margin-top: 15px !important;
  }
  .u-mt-s-20 {
    margin-top: 20px !important;
  }
  .u-mt-s-25 {
    margin-top: 25px !important;
  }
  .u-mt-s-30 {
    margin-top: 30px !important;
  }
  .u-mt-s-35 {
    margin-top: 35px !important;
  }
  .u-mt-s-40 {
    margin-top: 40px !important;
  }
  .u-mt-s-45 {
    margin-top: 45px !important;
  }
  .u-mt-s-50 {
    margin-top: 50px !important;
  }
  .u-mt-s-55 {
    margin-top: 55px !important;
  }
  .u-mt-s-60 {
    margin-top: 60px !important;
  }
  .u-mt-s-65 {
    margin-top: 65px !important;
  }
  .u-mt-s-70 {
    margin-top: 70px !important;
  }
  .u-mt-s-75 {
    margin-top: 75px !important;
  }
  .u-mt-s-80 {
    margin-top: 80px !important;
  }
  .u-mt-s-85 {
    margin-top: 85px !important;
  }
  .u-mt-s-90 {
    margin-top: 90px !important;
  }
  .u-mt-s-95 {
    margin-top: 95px !important;
  }
  .u-mt-s-100 {
    margin-top: 100px !important;
  }
  .u-mt-s-105 {
    margin-top: 105px !important;
  }
  .u-mt-s-110 {
    margin-top: 110px !important;
  }
  .u-mt-s-115 {
    margin-top: 115px !important;
  }
  .u-mt-s-120 {
    margin-top: 120px !important;
  }
  .u-mt-s-125 {
    margin-top: 125px !important;
  }
  .u-mt-s-130 {
    margin-top: 130px !important;
  }
  .u-mt-s-135 {
    margin-top: 135px !important;
  }
  .u-mt-s-140 {
    margin-top: 140px !important;
  }
  .u-mt-s-145 {
    margin-top: 145px !important;
  }
  .u-mt-s-150 {
    margin-top: 150px !important;
  }
  .u-mt-s-155 {
    margin-top: 155px !important;
  }
  .u-mt-s-160 {
    margin-top: 160px !important;
  }
  .u-mt-s-165 {
    margin-top: 165px !important;
  }
  .u-mt-s-170 {
    margin-top: 170px !important;
  }
  .u-mt-s-175 {
    margin-top: 175px !important;
  }
  .u-mt-s-180 {
    margin-top: 180px !important;
  }
  .u-mt-s-185 {
    margin-top: 185px !important;
  }
  .u-mt-s-190 {
    margin-top: 190px !important;
  }
  .u-mt-s-195 {
    margin-top: 195px !important;
  }
  .u-mt-s-200 {
    margin-top: 200px !important;
  }
  .u-mt-s-205 {
    margin-top: 205px !important;
  }
  .u-mt-s-210 {
    margin-top: 210px !important;
  }
  .u-mt-s-215 {
    margin-top: 215px !important;
  }
  .u-mt-s-220 {
    margin-top: 220px !important;
  }
  .u-mt-s-225 {
    margin-top: 225px !important;
  }
  .u-mt-s-230 {
    margin-top: 230px !important;
  }
  .u-mt-s-235 {
    margin-top: 235px !important;
  }
  .u-mt-s-240 {
    margin-top: 240px !important;
  }
  .u-mt-s-245 {
    margin-top: 245px !important;
  }
  .u-mt-s-250 {
    margin-top: 250px !important;
  }
  .u-mt-s-255 {
    margin-top: 255px !important;
  }
  .u-mt-s-260 {
    margin-top: 260px !important;
  }
  .u-mt-s-265 {
    margin-top: 265px !important;
  }
  .u-mt-s-270 {
    margin-top: 270px !important;
  }
  .u-mt-s-275 {
    margin-top: 275px !important;
  }
  .u-mt-s-280 {
    margin-top: 280px !important;
  }
  .u-mt-s-285 {
    margin-top: 285px !important;
  }
  .u-mt-s-290 {
    margin-top: 290px !important;
  }
  .u-mt-s-295 {
    margin-top: 295px !important;
  }
  .u-mt-s-300 {
    margin-top: 300px !important;
  }
  .u-mt-s-305 {
    margin-top: 305px !important;
  }
  .u-mt-s-310 {
    margin-top: 310px !important;
  }
  .u-mt-s-315 {
    margin-top: 315px !important;
  }
  .u-mt-s-320 {
    margin-top: 320px !important;
  }
  .u-mt-s-325 {
    margin-top: 325px !important;
  }
  .u-mt-s-330 {
    margin-top: 330px !important;
  }
  .u-mt-s-335 {
    margin-top: 335px !important;
  }
  .u-mt-s-340 {
    margin-top: 340px !important;
  }
  .u-mt-s-345 {
    margin-top: 345px !important;
  }
  .u-mt-s-350 {
    margin-top: 350px !important;
  }
  .u-mt-s-355 {
    margin-top: 355px !important;
  }
  .u-mt-s-360 {
    margin-top: 360px !important;
  }
  .u-mt-s-365 {
    margin-top: 365px !important;
  }
  .u-mt-s-370 {
    margin-top: 370px !important;
  }
  .u-mt-s-375 {
    margin-top: 375px !important;
  }
  .u-mt-s-380 {
    margin-top: 380px !important;
  }
  .u-mt-s-385 {
    margin-top: 385px !important;
  }
  .u-mt-s-390 {
    margin-top: 390px !important;
  }
  .u-mt-s-395 {
    margin-top: 395px !important;
  }
  .u-mt-s-400 {
    margin-top: 400px !important;
  }
  .u-mt-s-405 {
    margin-top: 405px !important;
  }
  .u-mt-s-410 {
    margin-top: 410px !important;
  }
  .u-mt-s-415 {
    margin-top: 415px !important;
  }
  .u-mt-s-420 {
    margin-top: 420px !important;
  }
  .u-mt-s-425 {
    margin-top: 425px !important;
  }
  .u-mt-s-430 {
    margin-top: 430px !important;
  }
  .u-mt-s-435 {
    margin-top: 435px !important;
  }
  .u-mt-s-440 {
    margin-top: 440px !important;
  }
  .u-mt-s-445 {
    margin-top: 445px !important;
  }
  .u-mt-s-450 {
    margin-top: 450px !important;
  }
  .u-mt-s-455 {
    margin-top: 455px !important;
  }
  .u-mt-s-460 {
    margin-top: 460px !important;
  }
  .u-mt-s-465 {
    margin-top: 465px !important;
  }
  .u-mt-s-470 {
    margin-top: 470px !important;
  }
  .u-mt-s-475 {
    margin-top: 475px !important;
  }
  .u-mt-s-480 {
    margin-top: 480px !important;
  }
  .u-mt-s-485 {
    margin-top: 485px !important;
  }
  .u-mt-s-490 {
    margin-top: 490px !important;
  }
  .u-mt-s-495 {
    margin-top: 495px !important;
  }
  .u-mt-s-500 {
    margin-top: 500px !important;
  }
}
@media screen and (max-width: 1120px) {
  .u-mt-l-0 {
    margin-top: 0px !important;
  }
  .u-mt-l-5 {
    margin-top: 5px !important;
  }
  .u-mt-l-10 {
    margin-top: 10px !important;
  }
  .u-mt-l-15 {
    margin-top: 15px !important;
  }
  .u-mt-l-20 {
    margin-top: 20px !important;
  }
  .u-mt-l-25 {
    margin-top: 25px !important;
  }
  .u-mt-l-30 {
    margin-top: 30px !important;
  }
  .u-mt-l-35 {
    margin-top: 35px !important;
  }
  .u-mt-l-40 {
    margin-top: 40px !important;
  }
  .u-mt-l-45 {
    margin-top: 45px !important;
  }
  .u-mt-l-50 {
    margin-top: 50px !important;
  }
  .u-mt-l-55 {
    margin-top: 55px !important;
  }
  .u-mt-l-60 {
    margin-top: 60px !important;
  }
  .u-mt-l-65 {
    margin-top: 65px !important;
  }
  .u-mt-l-70 {
    margin-top: 70px !important;
  }
  .u-mt-l-75 {
    margin-top: 75px !important;
  }
  .u-mt-l-80 {
    margin-top: 80px !important;
  }
  .u-mt-l-85 {
    margin-top: 85px !important;
  }
  .u-mt-l-90 {
    margin-top: 90px !important;
  }
  .u-mt-l-95 {
    margin-top: 95px !important;
  }
  .u-mt-l-100 {
    margin-top: 100px !important;
  }
  .u-mt-l-105 {
    margin-top: 105px !important;
  }
  .u-mt-l-110 {
    margin-top: 110px !important;
  }
  .u-mt-l-115 {
    margin-top: 115px !important;
  }
  .u-mt-l-120 {
    margin-top: 120px !important;
  }
  .u-mt-l-125 {
    margin-top: 125px !important;
  }
  .u-mt-l-130 {
    margin-top: 130px !important;
  }
  .u-mt-l-135 {
    margin-top: 135px !important;
  }
  .u-mt-l-140 {
    margin-top: 140px !important;
  }
  .u-mt-l-145 {
    margin-top: 145px !important;
  }
  .u-mt-l-150 {
    margin-top: 150px !important;
  }
  .u-mt-l-155 {
    margin-top: 155px !important;
  }
  .u-mt-l-160 {
    margin-top: 160px !important;
  }
  .u-mt-l-165 {
    margin-top: 165px !important;
  }
  .u-mt-l-170 {
    margin-top: 170px !important;
  }
  .u-mt-l-175 {
    margin-top: 175px !important;
  }
  .u-mt-l-180 {
    margin-top: 180px !important;
  }
  .u-mt-l-185 {
    margin-top: 185px !important;
  }
  .u-mt-l-190 {
    margin-top: 190px !important;
  }
  .u-mt-l-195 {
    margin-top: 195px !important;
  }
  .u-mt-l-200 {
    margin-top: 200px !important;
  }
  .u-mt-l-205 {
    margin-top: 205px !important;
  }
  .u-mt-l-210 {
    margin-top: 210px !important;
  }
  .u-mt-l-215 {
    margin-top: 215px !important;
  }
  .u-mt-l-220 {
    margin-top: 220px !important;
  }
  .u-mt-l-225 {
    margin-top: 225px !important;
  }
  .u-mt-l-230 {
    margin-top: 230px !important;
  }
  .u-mt-l-235 {
    margin-top: 235px !important;
  }
  .u-mt-l-240 {
    margin-top: 240px !important;
  }
  .u-mt-l-245 {
    margin-top: 245px !important;
  }
  .u-mt-l-250 {
    margin-top: 250px !important;
  }
  .u-mt-l-255 {
    margin-top: 255px !important;
  }
  .u-mt-l-260 {
    margin-top: 260px !important;
  }
  .u-mt-l-265 {
    margin-top: 265px !important;
  }
  .u-mt-l-270 {
    margin-top: 270px !important;
  }
  .u-mt-l-275 {
    margin-top: 275px !important;
  }
  .u-mt-l-280 {
    margin-top: 280px !important;
  }
  .u-mt-l-285 {
    margin-top: 285px !important;
  }
  .u-mt-l-290 {
    margin-top: 290px !important;
  }
  .u-mt-l-295 {
    margin-top: 295px !important;
  }
  .u-mt-l-300 {
    margin-top: 300px !important;
  }
  .u-mt-l-305 {
    margin-top: 305px !important;
  }
  .u-mt-l-310 {
    margin-top: 310px !important;
  }
  .u-mt-l-315 {
    margin-top: 315px !important;
  }
  .u-mt-l-320 {
    margin-top: 320px !important;
  }
  .u-mt-l-325 {
    margin-top: 325px !important;
  }
  .u-mt-l-330 {
    margin-top: 330px !important;
  }
  .u-mt-l-335 {
    margin-top: 335px !important;
  }
  .u-mt-l-340 {
    margin-top: 340px !important;
  }
  .u-mt-l-345 {
    margin-top: 345px !important;
  }
  .u-mt-l-350 {
    margin-top: 350px !important;
  }
  .u-mt-l-355 {
    margin-top: 355px !important;
  }
  .u-mt-l-360 {
    margin-top: 360px !important;
  }
  .u-mt-l-365 {
    margin-top: 365px !important;
  }
  .u-mt-l-370 {
    margin-top: 370px !important;
  }
  .u-mt-l-375 {
    margin-top: 375px !important;
  }
  .u-mt-l-380 {
    margin-top: 380px !important;
  }
  .u-mt-l-385 {
    margin-top: 385px !important;
  }
  .u-mt-l-390 {
    margin-top: 390px !important;
  }
  .u-mt-l-395 {
    margin-top: 395px !important;
  }
  .u-mt-l-400 {
    margin-top: 400px !important;
  }
  .u-mt-l-405 {
    margin-top: 405px !important;
  }
  .u-mt-l-410 {
    margin-top: 410px !important;
  }
  .u-mt-l-415 {
    margin-top: 415px !important;
  }
  .u-mt-l-420 {
    margin-top: 420px !important;
  }
  .u-mt-l-425 {
    margin-top: 425px !important;
  }
  .u-mt-l-430 {
    margin-top: 430px !important;
  }
  .u-mt-l-435 {
    margin-top: 435px !important;
  }
  .u-mt-l-440 {
    margin-top: 440px !important;
  }
  .u-mt-l-445 {
    margin-top: 445px !important;
  }
  .u-mt-l-450 {
    margin-top: 450px !important;
  }
  .u-mt-l-455 {
    margin-top: 455px !important;
  }
  .u-mt-l-460 {
    margin-top: 460px !important;
  }
  .u-mt-l-465 {
    margin-top: 465px !important;
  }
  .u-mt-l-470 {
    margin-top: 470px !important;
  }
  .u-mt-l-475 {
    margin-top: 475px !important;
  }
  .u-mt-l-480 {
    margin-top: 480px !important;
  }
  .u-mt-l-485 {
    margin-top: 485px !important;
  }
  .u-mt-l-490 {
    margin-top: 490px !important;
  }
  .u-mt-l-495 {
    margin-top: 495px !important;
  }
  .u-mt-l-500 {
    margin-top: 500px !important;
  }
}
/* margin bottom */
.u-mb-0 {
  margin-bottom: 0px !important;
}

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

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

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

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

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

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

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

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

.u-mb-45 {
  margin-bottom: 45px !important;
}

.u-mb-50 {
  margin-bottom: 50px !important;
}

.u-mb-55 {
  margin-bottom: 55px !important;
}

.u-mb-60 {
  margin-bottom: 60px !important;
}

.u-mb-65 {
  margin-bottom: 65px !important;
}

.u-mb-70 {
  margin-bottom: 70px !important;
}

.u-mb-75 {
  margin-bottom: 75px !important;
}

.u-mb-80 {
  margin-bottom: 80px !important;
}

.u-mb-85 {
  margin-bottom: 85px !important;
}

.u-mb-90 {
  margin-bottom: 90px !important;
}

.u-mb-95 {
  margin-bottom: 95px !important;
}

.u-mb-100 {
  margin-bottom: 100px !important;
}

.u-mb-105 {
  margin-bottom: 105px !important;
}

.u-mb-110 {
  margin-bottom: 110px !important;
}

.u-mb-115 {
  margin-bottom: 115px !important;
}

.u-mb-120 {
  margin-bottom: 120px !important;
}

.u-mb-125 {
  margin-bottom: 125px !important;
}

.u-mb-130 {
  margin-bottom: 130px !important;
}

.u-mb-135 {
  margin-bottom: 135px !important;
}

.u-mb-140 {
  margin-bottom: 140px !important;
}

.u-mb-145 {
  margin-bottom: 145px !important;
}

.u-mb-150 {
  margin-bottom: 150px !important;
}

.u-mb-155 {
  margin-bottom: 155px !important;
}

.u-mb-160 {
  margin-bottom: 160px !important;
}

.u-mb-165 {
  margin-bottom: 165px !important;
}

.u-mb-170 {
  margin-bottom: 170px !important;
}

.u-mb-175 {
  margin-bottom: 175px !important;
}

.u-mb-180 {
  margin-bottom: 180px !important;
}

.u-mb-185 {
  margin-bottom: 185px !important;
}

.u-mb-190 {
  margin-bottom: 190px !important;
}

.u-mb-195 {
  margin-bottom: 195px !important;
}

.u-mb-200 {
  margin-bottom: 200px !important;
}

.u-mb-205 {
  margin-bottom: 205px !important;
}

.u-mb-210 {
  margin-bottom: 210px !important;
}

.u-mb-215 {
  margin-bottom: 215px !important;
}

.u-mb-220 {
  margin-bottom: 220px !important;
}

.u-mb-225 {
  margin-bottom: 225px !important;
}

.u-mb-230 {
  margin-bottom: 230px !important;
}

.u-mb-235 {
  margin-bottom: 235px !important;
}

.u-mb-240 {
  margin-bottom: 240px !important;
}

.u-mb-245 {
  margin-bottom: 245px !important;
}

.u-mb-250 {
  margin-bottom: 250px !important;
}

.u-mb-255 {
  margin-bottom: 255px !important;
}

.u-mb-260 {
  margin-bottom: 260px !important;
}

.u-mb-265 {
  margin-bottom: 265px !important;
}

.u-mb-270 {
  margin-bottom: 270px !important;
}

.u-mb-275 {
  margin-bottom: 275px !important;
}

.u-mb-280 {
  margin-bottom: 280px !important;
}

.u-mb-285 {
  margin-bottom: 285px !important;
}

.u-mb-290 {
  margin-bottom: 290px !important;
}

.u-mb-295 {
  margin-bottom: 295px !important;
}

.u-mb-300 {
  margin-bottom: 300px !important;
}

.u-mb-305 {
  margin-bottom: 305px !important;
}

.u-mb-310 {
  margin-bottom: 310px !important;
}

.u-mb-315 {
  margin-bottom: 315px !important;
}

.u-mb-320 {
  margin-bottom: 320px !important;
}

.u-mb-325 {
  margin-bottom: 325px !important;
}

.u-mb-330 {
  margin-bottom: 330px !important;
}

.u-mb-335 {
  margin-bottom: 335px !important;
}

.u-mb-340 {
  margin-bottom: 340px !important;
}

.u-mb-345 {
  margin-bottom: 345px !important;
}

.u-mb-350 {
  margin-bottom: 350px !important;
}

.u-mb-355 {
  margin-bottom: 355px !important;
}

.u-mb-360 {
  margin-bottom: 360px !important;
}

.u-mb-365 {
  margin-bottom: 365px !important;
}

.u-mb-370 {
  margin-bottom: 370px !important;
}

.u-mb-375 {
  margin-bottom: 375px !important;
}

.u-mb-380 {
  margin-bottom: 380px !important;
}

.u-mb-385 {
  margin-bottom: 385px !important;
}

.u-mb-390 {
  margin-bottom: 390px !important;
}

.u-mb-395 {
  margin-bottom: 395px !important;
}

.u-mb-400 {
  margin-bottom: 400px !important;
}

.u-mb-405 {
  margin-bottom: 405px !important;
}

.u-mb-410 {
  margin-bottom: 410px !important;
}

.u-mb-415 {
  margin-bottom: 415px !important;
}

.u-mb-420 {
  margin-bottom: 420px !important;
}

.u-mb-425 {
  margin-bottom: 425px !important;
}

.u-mb-430 {
  margin-bottom: 430px !important;
}

.u-mb-435 {
  margin-bottom: 435px !important;
}

.u-mb-440 {
  margin-bottom: 440px !important;
}

.u-mb-445 {
  margin-bottom: 445px !important;
}

.u-mb-450 {
  margin-bottom: 450px !important;
}

.u-mb-455 {
  margin-bottom: 455px !important;
}

.u-mb-460 {
  margin-bottom: 460px !important;
}

.u-mb-465 {
  margin-bottom: 465px !important;
}

.u-mb-470 {
  margin-bottom: 470px !important;
}

.u-mb-475 {
  margin-bottom: 475px !important;
}

.u-mb-480 {
  margin-bottom: 480px !important;
}

.u-mb-485 {
  margin-bottom: 485px !important;
}

.u-mb-490 {
  margin-bottom: 490px !important;
}

.u-mb-495 {
  margin-bottom: 495px !important;
}

.u-mb-500 {
  margin-bottom: 500px !important;
}

@media screen and (max-width: 768px) {
  .u-mb-s-0 {
    margin-bottom: 0px !important;
  }
  .u-mb-s-5 {
    margin-bottom: 5px !important;
  }
  .u-mb-s-10 {
    margin-bottom: 10px !important;
  }
  .u-mb-s-15 {
    margin-bottom: 15px !important;
  }
  .u-mb-s-20 {
    margin-bottom: 20px !important;
  }
  .u-mb-s-25 {
    margin-bottom: 25px !important;
  }
  .u-mb-s-30 {
    margin-bottom: 30px !important;
  }
  .u-mb-s-35 {
    margin-bottom: 35px !important;
  }
  .u-mb-s-40 {
    margin-bottom: 40px !important;
  }
  .u-mb-s-45 {
    margin-bottom: 45px !important;
  }
  .u-mb-s-50 {
    margin-bottom: 50px !important;
  }
  .u-mb-s-55 {
    margin-bottom: 55px !important;
  }
  .u-mb-s-60 {
    margin-bottom: 60px !important;
  }
  .u-mb-s-65 {
    margin-bottom: 65px !important;
  }
  .u-mb-s-70 {
    margin-bottom: 70px !important;
  }
  .u-mb-s-75 {
    margin-bottom: 75px !important;
  }
  .u-mb-s-80 {
    margin-bottom: 80px !important;
  }
  .u-mb-s-85 {
    margin-bottom: 85px !important;
  }
  .u-mb-s-90 {
    margin-bottom: 90px !important;
  }
  .u-mb-s-95 {
    margin-bottom: 95px !important;
  }
  .u-mb-s-100 {
    margin-bottom: 100px !important;
  }
  .u-mb-s-105 {
    margin-bottom: 105px !important;
  }
  .u-mb-s-110 {
    margin-bottom: 110px !important;
  }
  .u-mb-s-115 {
    margin-bottom: 115px !important;
  }
  .u-mb-s-120 {
    margin-bottom: 120px !important;
  }
  .u-mb-s-125 {
    margin-bottom: 125px !important;
  }
  .u-mb-s-130 {
    margin-bottom: 130px !important;
  }
  .u-mb-s-135 {
    margin-bottom: 135px !important;
  }
  .u-mb-s-140 {
    margin-bottom: 140px !important;
  }
  .u-mb-s-145 {
    margin-bottom: 145px !important;
  }
  .u-mb-s-150 {
    margin-bottom: 150px !important;
  }
  .u-mb-s-155 {
    margin-bottom: 155px !important;
  }
  .u-mb-s-160 {
    margin-bottom: 160px !important;
  }
  .u-mb-s-165 {
    margin-bottom: 165px !important;
  }
  .u-mb-s-170 {
    margin-bottom: 170px !important;
  }
  .u-mb-s-175 {
    margin-bottom: 175px !important;
  }
  .u-mb-s-180 {
    margin-bottom: 180px !important;
  }
  .u-mb-s-185 {
    margin-bottom: 185px !important;
  }
  .u-mb-s-190 {
    margin-bottom: 190px !important;
  }
  .u-mb-s-195 {
    margin-bottom: 195px !important;
  }
  .u-mb-s-200 {
    margin-bottom: 200px !important;
  }
  .u-mb-s-205 {
    margin-bottom: 205px !important;
  }
  .u-mb-s-210 {
    margin-bottom: 210px !important;
  }
  .u-mb-s-215 {
    margin-bottom: 215px !important;
  }
  .u-mb-s-220 {
    margin-bottom: 220px !important;
  }
  .u-mb-s-225 {
    margin-bottom: 225px !important;
  }
  .u-mb-s-230 {
    margin-bottom: 230px !important;
  }
  .u-mb-s-235 {
    margin-bottom: 235px !important;
  }
  .u-mb-s-240 {
    margin-bottom: 240px !important;
  }
  .u-mb-s-245 {
    margin-bottom: 245px !important;
  }
  .u-mb-s-250 {
    margin-bottom: 250px !important;
  }
  .u-mb-s-255 {
    margin-bottom: 255px !important;
  }
  .u-mb-s-260 {
    margin-bottom: 260px !important;
  }
  .u-mb-s-265 {
    margin-bottom: 265px !important;
  }
  .u-mb-s-270 {
    margin-bottom: 270px !important;
  }
  .u-mb-s-275 {
    margin-bottom: 275px !important;
  }
  .u-mb-s-280 {
    margin-bottom: 280px !important;
  }
  .u-mb-s-285 {
    margin-bottom: 285px !important;
  }
  .u-mb-s-290 {
    margin-bottom: 290px !important;
  }
  .u-mb-s-295 {
    margin-bottom: 295px !important;
  }
  .u-mb-s-300 {
    margin-bottom: 300px !important;
  }
  .u-mb-s-305 {
    margin-bottom: 305px !important;
  }
  .u-mb-s-310 {
    margin-bottom: 310px !important;
  }
  .u-mb-s-315 {
    margin-bottom: 315px !important;
  }
  .u-mb-s-320 {
    margin-bottom: 320px !important;
  }
  .u-mb-s-325 {
    margin-bottom: 325px !important;
  }
  .u-mb-s-330 {
    margin-bottom: 330px !important;
  }
  .u-mb-s-335 {
    margin-bottom: 335px !important;
  }
  .u-mb-s-340 {
    margin-bottom: 340px !important;
  }
  .u-mb-s-345 {
    margin-bottom: 345px !important;
  }
  .u-mb-s-350 {
    margin-bottom: 350px !important;
  }
  .u-mb-s-355 {
    margin-bottom: 355px !important;
  }
  .u-mb-s-360 {
    margin-bottom: 360px !important;
  }
  .u-mb-s-365 {
    margin-bottom: 365px !important;
  }
  .u-mb-s-370 {
    margin-bottom: 370px !important;
  }
  .u-mb-s-375 {
    margin-bottom: 375px !important;
  }
  .u-mb-s-380 {
    margin-bottom: 380px !important;
  }
  .u-mb-s-385 {
    margin-bottom: 385px !important;
  }
  .u-mb-s-390 {
    margin-bottom: 390px !important;
  }
  .u-mb-s-395 {
    margin-bottom: 395px !important;
  }
  .u-mb-s-400 {
    margin-bottom: 400px !important;
  }
  .u-mb-s-405 {
    margin-bottom: 405px !important;
  }
  .u-mb-s-410 {
    margin-bottom: 410px !important;
  }
  .u-mb-s-415 {
    margin-bottom: 415px !important;
  }
  .u-mb-s-420 {
    margin-bottom: 420px !important;
  }
  .u-mb-s-425 {
    margin-bottom: 425px !important;
  }
  .u-mb-s-430 {
    margin-bottom: 430px !important;
  }
  .u-mb-s-435 {
    margin-bottom: 435px !important;
  }
  .u-mb-s-440 {
    margin-bottom: 440px !important;
  }
  .u-mb-s-445 {
    margin-bottom: 445px !important;
  }
  .u-mb-s-450 {
    margin-bottom: 450px !important;
  }
  .u-mb-s-455 {
    margin-bottom: 455px !important;
  }
  .u-mb-s-460 {
    margin-bottom: 460px !important;
  }
  .u-mb-s-465 {
    margin-bottom: 465px !important;
  }
  .u-mb-s-470 {
    margin-bottom: 470px !important;
  }
  .u-mb-s-475 {
    margin-bottom: 475px !important;
  }
  .u-mb-s-480 {
    margin-bottom: 480px !important;
  }
  .u-mb-s-485 {
    margin-bottom: 485px !important;
  }
  .u-mb-s-490 {
    margin-bottom: 490px !important;
  }
  .u-mb-s-495 {
    margin-bottom: 495px !important;
  }
  .u-mb-s-500 {
    margin-bottom: 500px !important;
  }
}
/* padding */
.u-p-1 {
  padding: 1px !important;
}

.u-p-0 {
  padding: 0px !important;
}

.u-p-5 {
  padding: 5px !important;
}

.u-p-10 {
  padding: 10px !important;
}

.u-p-15 {
  padding: 15px !important;
}

.u-p-20 {
  padding: 20px !important;
}

.u-p-25 {
  padding: 25px !important;
}

.u-p-30 {
  padding: 30px !important;
}

.u-p-35 {
  padding: 35px !important;
}

.u-p-40 {
  padding: 40px !important;
}

.u-p-45 {
  padding: 45px !important;
}

.u-p-50 {
  padding: 50px !important;
}

@media screen and (max-width: 768px) {
  .u-p-s-0 {
    padding: 0px !important;
  }
  .u-p-s-5 {
    padding: 5px !important;
  }
  .u-p-s-10 {
    padding: 10px !important;
  }
  .u-p-s-15 {
    padding: 15px !important;
  }
  .u-p-s-20 {
    padding: 20px !important;
  }
  .u-p-s-25 {
    padding: 25px !important;
  }
  .u-p-s-30 {
    padding: 30px !important;
  }
  .u-p-s-35 {
    padding: 35px !important;
  }
  .u-p-s-40 {
    padding: 40px !important;
  }
}
.u-ps-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.u-ps-15 {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

@media screen and (max-width: 768px) {
  .u-ps-s0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .u-ps-s15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}
/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
.u-bg-black {
  background-color: #666 !important;
}

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

.u-bg1 {
  background-color: #E6F4FF !important;
}

.u-bg2 {
  background-color: #F1EA18 !important;
}

.u-bg-ac1 {
  background-color: #055C9F !important;
}

.u-bg-ac2 {
  background-color: #FFB641 !important;
}

/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* ---
テキストのスタイルを指定する汎用クラスです。
--- */
/* 文字の色を指定します */
.u-text-red {
  color: #FF4B00 !important;
}

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

.u-text-black {
  color: #666 !important;
}

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

.u-text-ac1 {
  color: #055C9F !important;
}

.u-text-ac2 {
  color: #FFB641 !important;
}

/* font-weightを指定します */
.u-text-thin {
  font-weight: 200 !important;
}

.u-text-light {
  font-weight: 300 !important;
}

.u-text-normal {
  font-weight: 400 !important;
}

.u-text-medium {
  font-weight: 500 !important;
}

.u-text-semibold {
  font-weight: 600 !important;
}

.u-text-bold {
  font-weight: 600 !important;
}

.u-text-w-black {
  font-weight: 700 !important;
}

/* text-alignを指定します */
.u-text-right {
  text-align: right !important;
}

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

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

.u-text-top {
  vertical-align: top !important;
}

.u-text-middle {
  vertical-align: middle !important;
}

.u-text-bottom {
  vertical-align: bottom !important;
}

@media screen and (max-width: 768px) {
  .u-text-s-right {
    text-align: right !important;
  }
  .u-text-s-center {
    text-align: center !important;
  }
  .u-text-s-left {
    text-align: left !important;
  }
}
/* フォントサイズを指定します */
.u-text-min {
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .u-text-min {
    font-size: 1rem;
  }
}

.u-text-xxs {
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  .u-text-xxs {
    font-size: 1.2rem;
  }
}

.u-text-xs {
  font-size: 1.3rem;
}
@media screen and (max-width: 768px) {
  .u-text-xs {
    font-size: 1.3rem;
  }
}

.u-text-sm {
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .u-text-sm {
    font-size: 1.4rem;
  }
}

.u-text-md {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .u-text-md {
    font-size: 1.5rem;
  }
}

.u-text-lg {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .u-text-lg {
    font-size: 1.6rem;
  }
}

.u-text-xl {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .u-text-xl {
    font-size: 1.8rem;
  }
}

.u-text-xxl {
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .u-text-xxl {
    font-size: 2rem;
  }
}

.u-text-xxxl {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .u-text-xxxl {
    font-size: 2.2rem;
  }
}

.u-text-xxxxl {
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .u-text-xxxxl {
    font-size: 2.6rem;
  }
}

.u-text-xxxxxl {
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .u-text-xxxxxl {
    font-size: 2.8rem;
  }
}

.u-text-xxxxxxl {
  font-size: 3.5rem;
}
@media screen and (max-width: 768px) {
  .u-text-xxxxxxl {
    font-size: 3rem;
  }
}

.u-text-max {
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .u-text-max {
    font-size: 3.5rem;
  }
}

/*@include fw.mq(min, ml){
  .u-text-s-min { @include fw.fz('min');}
  .u-text-s-xxs { @include fw.fz('xxs');}
  .u-text-s-xs { @include fw.fz('xs');}
  .u-text-s-sm { @include fw.fz('sm');}
  .u-text-s-md { @include fw.fz('md');}
  .u-text-s-lg { @include fw.fz('lg');}
  .u-text-s-xl { @include fw.fz('xl');}
  .u-text-s-xxl { @include fw.fz('xxl');}
  .u-text-s-xxxl { @include fw.fz('xxxl');}
  .u-text-s-xxxxl { @include fw.fz('xxxxl');}
  .u-text-s-xxxxxl { @include fw.fz('xxxxxl');}
  .u-text-s-xxxxxxl { @include fw.fz('xxxxxxl');}
  .u-text-s-max { @include fw.fz('max');}
} */
/* 文字下線 */
.u-text_under-yellow {
  background: linear-gradient(transparent 60%, #FFFAC6 40%);
}

/* #Align
  -------------------------------------------------------------------------- */
/*doc
---
title: align
name: align
categories: [utility]
---

画像などを左右や中央に配置します。

*/
.u-align-left {
  display: block;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.u-align-center {
  display: block;
  margin-right: auto !important;
  margin-left: auto !important;
}

.u-align-right {
  display: block;
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* #Base
   -------------------------------------------------------------------------- */
/**
 * Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します。
 * 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます。
 * 基本的にclass属性は使用しません。
 */
/**
 * `padding`と`border`を`width`に含めます。
 * https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
/* スクリーンリーダー用のテキスト（非表示）
----- object/utility/_u-sr ----- */
/* フォーカス不要（テキストなど） */
.u-sr-only {
  width: 1px;
  height: 1px;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  margin: -1px;
  padding: 0;
  border: 0;
}

/* フォーカス必須（ボタンなど） */
.u-sr-only_fc:not(:focus):not(:active) {
  height: 1px;
  width: 1px;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
}/*# sourceMappingURL=style.css.map */