@charset "UTF-8";

/* ====== 共通 ====== */

a:hover {
  text-decoration: none;
  opacity: 0.8;
}

header .navbar-brand {
  width: 20%;
}

header .navbar-brand .logo {
  width: 100%;
}

header .tel {
  font-size: 2rem;
  color: #fff;
}

header .tel a {
  color: #fff;
}

header li#active a.nav-link {
  color:#FFF;
  font-weight:bold;
}

main.bg-dinner {
  background-color: rgba(50,50,50,0.9);
}
/* 
    ナビゲーションメニュー 
*/
/* ドロップダウンリスト */
.dropdown-item:hover {
  background-color: var(--bs-omn-brand) !important;
  color:#fff;
}
ul,
ol,
dl {
  margin-bottom: 0;
}

/* ====== TOTOP ====== */
/* ページトップ */
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 80%;
  z-index: 1100;
}

#page-top a {
  background: #666;
  text-decoration: none;
  color: #fff;
  width: 100px;
  padding: 25px 0;
  text-align: center;
  display: block;
  border-radius: 10px;
}

#page-top a:hover {
  text-decoration: none;
  background: #999;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:not(:disabled):not(.disabled).active {
  color: #6c757d !important;
  color: #eee !important;
}

/* ====== TOP IMAGE ====== */
header {
  padding-top: 5.7rem;
}

header.top-page {
  height: 100vh;
  overflow: hidden;
  padding-right: 0;
  padding-left: 0;
  padding-top: 5.7rem;
}

.jumbotron {
  /*background-image: url(../img/main-image.jpg); */
  background-image: url("../img/outside.jpg");
  background-position: left;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
	padding: 5rem 2rem;
}

.jumbotron .bg-rgba {
  background-color: rgba(255, 255, 255, 0.9);
}

.jumbotron h1 {
  word-wrap: break-word;
}

.jumbotron h2 {
  line-height: 1.8rem;
}

.lead {
  font-size: 1.1rem;
}

/* ジャンボトロン内の文字の色 */
.text-red { color: #ce2b37 }
.text-green { color:#009246; }

/* ====== TOPPAGE SECTION ====== */

#sec1 .card:nth-of-type(2) {
  border-left: none;
  border-right: none;
}

.ttl-bdr-dinner,
.ttl-bdr {
  position: relative;
  margin-bottom: 50px;
}
.ttl-bdr-dinner::before,
.ttl-bdr::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 5px solid #000;
  width: 12%;
  margin: 0 auto -15px;
}
.ttl-bdr-dinner::before {
  border-bottom: 5px solid #fff;
}
.ttl-bdr h2,
.ttl-bdr-dinner h2 {
  font-size: 3rem;
  line-height: 1;
}

#recruit-section {
  background-image: url("../img/bg-staff.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

#sec4 table {
  width: 100%;
  background-color: #CCC;
  font: 12px;
  color: #666;
  table-layout: fixed;
  border-collapse: collapse;
}

#sec4 table th,
#sec4 table td {
  padding: 10px;
  text-align: center;
  border: 1px solid #ccc;
}

#sec4 table th {
  background-color: #002795;
  color: #fff;
}

#sec4 table td {
  width: 14.2%;
}

#sec4 table td:nth-child(7n) {
  background-color: #5197E0;
  color: #fff;
}

#sec4 table td:nth-child(7n+1) {
  background-color: #FF8A8C;
  color: #fff;
}

/* ====== テーブル：T1 ====== */
.t1.bordered tr {
  border-bottom: 1px solid #e4e4e4;
}

/* ====== SNS ====== */
.social img {
  width: 36px;
  height: 36px;
}

/* ====== SNS ====== */

iframe {
  width: 100%;
  height: 450px;
}

/* ====== FOOTER ====== */
.footer-logo {
  width: 50%;
}

/* ====== 共通 ====== */
.no-wrap {
  white-space: nowrap;
}

/* 文字色 */
.text-brand {
  color:var(--bs-omn-brand) !important;
}
.text-brand-light {
  color:var(--bs-omn-brand-light) !important;
}
.text-omn-secondary {
  color:var(--bs-omn-secondary) !important;
}
.text-secondary-light {
  color:var(--bs-omn-secondary-light) !important;
}
/* 背景色 */
.bg-omn-brand {
  background-color: var(--bs-omn-brand) !important;
}
.bg-omn-brand-light {
  background-color: rgba(var(--bs-omn-brand-light-rgb),0.3) !important;
}
.bg-omn-secondary-light {
  background-color: rgba(var(--bs-omn-secondary-light-rgb),0.3) !important;
}


/* アラート：オミニール */
.bg-omn-alert {
  background-color: #f2f2f2;
}
/* バッジ：正社員 */
.badge-regular {
  font-size:90%;
  color:#fff;
  background-color: #444;
}
/* バッジ：パート */
.badge-part {
  font-size:90%;
  color:#333;
  background-color: #ddd;
  border: 1px solid #999;
}

/* フォントサイズ */
.fs-3 { font-size: 2rem; }
.fs-4 { font-size: 1.25rem; }
.fs-5 { font-size: 1.1rem; }
.fs-6 { font-size: 1rem; }
.fs-7 { font-size: 0.9rem !important; }
.fs-8 { font-size: 0.8rem !important; }

/* 文字幅 */
.w-4em { width: 4em; }
.w-5em { width: 5em; }


/*-------------------------
  Call To Action (CTA)
*/
/* ラップ */
.cta {
  background-color: #fafafa;
  border: 2px solid #ddd;
  border-radius: 6px;
  padding: 2em 1em;
}
.cta p {
  margin-bottom: 0;
}
/* 左ブロック　電話番号 */
.cta .phone-number,
.cta .phone-number i,
.cta .phone-number a {
  /* color:var(--bs-brand); */
}
.cta .phone-number {
  font-size:2rem;
  vertical-align: middle;
}
.cta .phone-number a {
  font-size:2.5rem;
  text-decoration: none;
}
/* 右ブロック　ボタン */
.cta .cta-btn {
  display: block;
  width: 100%;
  height: auto;
  padding: 1rem 2rem;
  background-color: #666;
  color:#FFF;
  font-size:1.5rem;
  text-decoration: none;
  border-radius: 10px;
}
.cta .cta-btn:hover {
  background-color: #999;
}
@media screen and (max-width: 576px) {
  .cta {
    padding: 1em 0em;
  }
  .cta .phone-number {
    font-size:1.5rem !important;
  }
  .cta .phone-number a {
    font-size:2rem !important;
  }
  .cta .cta-btn {
    padding: 1rem;
  }
}

/* =============================================
  フッター
============================================= */
/* 営業時間 */
dl.foot-timetable {
  overflow: hidden;
  margin-top: 0.5em;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
dl.foot-timetable dt {
  background-color: var(--secondary);
  color:#FFF;
  border-radius: 6px;
  width: 5em;
  text-align: center;
  float: left;
  font-weight: normal;
}
dl.foot-timetable dd {
  padding-left: 6em;
}
dl.foot-timetable dd span.weekday {
  width:5em;
  display: inline-block;
  text-align: center;
  margin-right: 1em;
}
@media screen and (max-width: 576px) {
  dl.foot-timetable dt {
    float: none;
    margin-bottom: 0.3em;
  }
  dl.foot-timetable dd {
    padding-left: 0;
  }
}

/* =============================================
  トップページ　メッセージ
============================================= */
#toppage-message {
  background-image: url("../img/outside.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
}

.my-biz-calendar-table {
  width: 100%;
  table-layout: fixed; /* 幅を固定にして均等割り付け */
  border-collapse: collapse;
}

.my-biz-calendar-table th,
.my-biz-calendar-table td {
  /* border: 1px solid #ccc;
  padding: 8px; */
  vertical-align: middle; /* 縦方向中央揃え */
  text-align: center;      /* 横方向も中央揃えにする場合 */
}

.my-biz-calendar-table th:first-child,
.my-biz-calendar-table td:first-child {
  width: 20%; /* 1列目を20% */
}

.my-biz-calendar-table th:not(:first-child),
.my-biz-calendar-table td:not(:first-child) {
  width: calc(80% / 7); /* 残り7列を等分 */
}

/* =============================================
  コンセプト
============================================= */
.bg_concept_head {
  background-image: url("../img/outside.jpg");
  background-position: left;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100%;
	padding: 5rem 0 5rem;  
}
.h3_concept {
  font-size: 250%;
  line-height: 170%;
  color: var(--bs-omn-brand);
  text-align: center;
  background-color: rgba(255,255,255,0.4);
  padding: 2rem 0;
  text-shadow: 3px 3px 1px #fff;
}
@media screen and (max-width: 576px) {
  .bg_concept_head {
    background-image: none;
	  padding: 0 2rem;
  }
}

/* =============================================
  トップページ　クリスマスディナー
============================================= */
#christmas-dinner {
  background-image: url("../img/bg-christmas.jpg");
  background-size: cover;
  background-position: bottom;
  background-color:rgba(255,255,255,0.8);
  background-blend-mode:lighten;
}


/* =============================================
  メニュー
============================================= */
/* メニューのボタンを画面上部に固定 */
@media screen and (min-width: 992px) {
  #menu-tab.fixed {
    position: fixed;
    z-index: 999;
    inset:0;
    width:90%;
    margin:110px auto 0;
    transition: .3s;
  }
}
#menu .nav-item a.active,
#menu .nav-item a:hover {
  background-color: var(--bs-omn-brand) !important;
  color:#fff !important;
}
#menu h3.menu-title {
  color:var(--bs-omn-brand);
  font-weight: bold;
  font-size: 1.4rem;
  border-bottom: 1px dashed #ddd;
  padding-bottom: 0.5rem;
  position: relative;
  text-align: center;
}
#menu h3.menu-title.alcohol::after,
#menu h3.menu-title.nonalcohol::after {
  position: absolute;
  top: 3px;
  right: 0;
  display: inline-block;
  padding: 5px 7px;
  border-radius: 6px;
  font-size:0.7rem;
}
#menu h3.menu-title.alcohol::after {
  content:'アルコール';
  background-color: rgba(var(--bs-omn-brand-light-rgb),0.3) !important;
}
#menu h3.menu-title.nonalcohol::after {
  content:'ノンアルコール';
  background-color: rgba(var(--bs-omn-secondary-light-rgb),0.3) !important;
  color:var(--bs-omn-secondary);
}
#menu h4.price {
  color:#777;
  text-align: right;
}
#menu h4.menu_h4 {
  font-weight: bold;
  font-size: 1.2rem;
  border-bottom: 1px dashed #ddd;
  padding-bottom: 0.5rem;
  margin-bottom: 1.5rem;
  color: var(--bs-omn-brand);
}
#menu h5.menu_h5 {
  font-weight: bold;
  font-size: 1.1rem;
  border-left: 5px solid var(--bs-omn-brand);
  padding-left: 0.5rem;
  margin-bottom: 1rem;
  color: var(--secondary);
}

/* ヘッダーイメージ */
#menu .card-head-image {
  position: relative;
}
#menu .card-head-image p {
  position: absolute;
  bottom: 6%;
  right:5%;
  left:5%;
  font-size:0.8rem;
  text-align: center;
  background-color: rgba(255,255,255,0.8);
  padding: 5px;
  margin: 0 auto;
  border-radius: 5px;
}
#menu .card-text {
  font-size: 1rem;
}
/*
#menu .card-text a {
  color:var(--bs-omn-brand);
}
#menu .card-text a:hover {
  color:var(--bs-omn-brand-light);
}
*/
#menu .card-footer {
  border:none;
  background-color: transparent;
}
#menu .card-footer .price {
  font-size: 1.2rem;
  text-align: right;
  margin-bottom: 0;
}
/* セレクトメニュー部 */
#menu ul.submenu_main,
#menu ul.submenu_pasta,
#menu ul.submenu_drink {
  list-style: none;
  padding-left: 0.5rem;
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin: 0;
}
#menu ul.submenu_main li,
#menu ul.submenu_pasta li,
#menu ul.submenu_drink li {
  position: relative;
  padding-left: 1.7rem;
  line-height: 1.8rem;
  margin-bottom: 0.5rem;
}
#menu ul.submenu_main li::before,
#menu ul.submenu_pasta li::before,
#menu ul.submenu_drink li::before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background: #999;
  border: 1px solid #777;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 22px;
  width: 22px;
  color: #fff;
  font-size: 85%;
  line-height: 1;
  position: absolute;
  top: 3px;
  left: 0;
}
#menu ul.submenu_main li a,
#menu ul.submenu_pasta li a,
#menu ul.submenu_drink li a {
  font-size: 100% !important;
}
#menu .price-list td {
  line-height: 1.4rem;
  vertical-align: middle;
}
#menu .price-list td.price {
  padding: auto 3rem auto 1rem !important;
  text-align: right;
  width: auto;
  white-space: nowrap;
  vertical-align: middle;
}
/* パーティーメニュー：お料理の基本メニュー例 */
#menu .party-menu {
}
#menu .party-menu  dt {
  color: var(--bs-omn-brand);
}
#menu .party-menu  dd {
  margin-left: 1rem;
}
#menu .party-menu  dd ul {
  padding-left: 0;
}
#menu .party-menu  ul.list-style-1 li {
  list-style-type: none; /*点を非表示*/
  position: relative; /*基準位置*/
  padding-left: 1em;
}
#menu .party-menu  ul.list-style-1 li::before {
  border-radius: 50%; /*丸くする*/
  width: 4px; /*点の幅*/
  height: 4px; /*点の高さ*/
  display: block;
  position: absolute; /*絶対配置*/
  left: 0; /*点の位置*/
  top: 0.6em; /*点の位置*/
  content: "";
  background: var(--bs-omn-brand); /*点の色*/
}
#menu .party-remark {
}
#menu .party-remark  dt {
  color: #666;
}
#menu .party-remark  dd {
  margin-left: 1rem;
}

/* メニュートップ */
.menu-top-link {
  padding: 0 !important;
  margin: 0 !important;
}
.menu-top-link a {
  display: block;
  padding: 1rem 0 !important;
  margin-bottom: 0 !important;
  text-align: center;
  background-color:  var(--bs-omn-brand) !important;
  background-image: linear-gradient(11deg, rgba(147, 35, 37, 1) 31%, rgba(211, 69, 72, 1) 82%);
  color: #fff !important;
}
.menu-top-link a:hover {
  background-color: #fff !important;
  background-image: none;
  color: var(--bs-omn-brand) !important;
}

/* メニューの写真に重ねて表示するラベル（おすすめ、要予約など） */
div.catchlabel {
  position: absolute;
  top: -10px;
  right: 20px;
  display: inline-block;
  width: 105px;
  height: 50px;
  text-align: center;
  line-height: 50px;
  color: #fff;
  font-size: 0.85rem !important;
  font-weight: bold;
  box-shadow: 2px 2px 3px #555;
}

div.catchlabel:before,
div.catchlabel:after {
  position: absolute;
  content: '';
}

div.catchlabel:before {
  right: -10px;
  width: 0;
  height: 0;
  border-right: 10px solid transparent;
}
/* 要予約 */
div.catchlabel.red {
  background: var(--bs-omn-brand);
}
div.catchlabel.red:before {
  border-bottom: 10px solid var(--bs-omn-brand-light);
}
/* 人気No.1 */
div.catchlabel.green {
  background: var(--bs-omn-secondary);
}
div.catchlabel.green:before {
  border-bottom: 10px solid var(--bs-omn-secondary-light);
}

/* ドリンクメニュー */
.drink-card .card-title {
  font-weight: bold !important;
  color:var(--secondary) !important;
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed #ddd;
  margin-bottom: 1rem;
}



/*
div.catchlabel:after {
  bottom: -15px;
  left: 0;
  display: block;
  width: 92px;
  height: 50%;
  border: 1em solid var(--bs-omn-brand);
  border-bottom-width: 15px;
  border-bottom-color: transparent;
}
*/

/* ---------------------------------------------
    メニューページのページ下部サブナビゲーション
*/
#subNav a {
  display: block;
  border-radius: 6px;
  background-color: #FFF;
  padding: 10px 0;
  color: #6c757d;  /* text-secondary */
  text-align: center;
  border:1px solid #6c757d;  /* text-secondary */
}
#subNav a.active,
#subNav a:hover {
  background-color: var(--bs-omn-brand);
  color: #FFF;
}


/* ---------------------------------------------
    カルーセル
*/
#menu .carousel-caption h5 {
  background-color: rgba(var(--bs-omn-brand-rgb), 0.8);
  border-radius: 10px;
  padding: 7px 5px;
  font-size:0.9rem;
}
#menu .carousel-indicators {
  bottom: 12px;
}
#menu .carousel-indicators li {
  background-color: rgba(var(--bs-omn-brand-rgb), 0.6);  
  height:5px;
}
#menu .carousel-indicators li.active {
  background-color: rgba(var(--bs-omn-brand-rgb), 1);  
}

@media screen and (max-width: 576px) {
  #menu .carousel-caption {
    bottom:3px;
    right:3%;
    left:3%;
  }
  #menu .carousel-caption h5 {
    padding: 5px 2px;
    font-size:0.85rem;
  }
  #menu .carousel-indicators {
    bottom: 3px;
  }
}
/* =============================================
  採用情報
============================================= */
.h-chef,
.h-server {
  color: white;
  line-height: 90px;
  height: 90px;
  padding-left: 2rem;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 10px;
}
.h-chef {
  background-image:url("../img/bg_chef.png");
}
.h-server {
  background-image:url("../img/bg_server.png");
}

/*
---------------------------------------------
  採用エントリーフォーム 
---------------------------------------------
*/

/* iOS用リセット */
input,textarea {
  -webkit-appearance: none;
}

/* はじめにお読みください */
.cautionary_note {
  padding: 1rem 1.5rem 1rem;
  border:1px solid var(--bs-brand-light);
  border-radius: 10px;
  margin: 2rem 0 3rem;
}
.cautionary_note ul li {
  font-size:90% !important;
}

/* テキストボックス */
select,
input[type=email],
input[type=number],
input[type=text] {
	padding: 5px 10px;
	font-size: 1em;
	border: 1px solid #ddd;
	border-radius: 3px;
}
select:focus,
textarea[name=contact]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=text]:focus {
	background: rgba(var(--bs-omn-brand-light-rgb), 0.1);
  outline-color: var(--bs-omn-brand);
}
::placeholder {
	color: #bbb;
  font-size:0.9em;
}

input[type=radio],
input[type=checkbox] {
	margin-right: 0.5em;
}
input[name=btn_confirm],
input[name=btn_submit],
input[name=btn_back],
input[name=btn_reset] {
	margin-top: 20px;
	font-size: 100%;
	cursor: pointer;
	border: none;
/*
	padding: 5px 20px;
	color: #fff;
  border-radius: 3px;
	box-shadow: 0 3px 0 #2887d1;
	background: #4eaaf1; 
*/
}

input[name=btn_reset], 
input[name=btn_back] {
	margin-right: 20px;
	/* box-shadow: 0 3px 0 #777; */
	/* background: rgba(var(--bs-gray-rgb), 0.6); */
}

/* ラジオボタン、チェックボックス再定義 ---------------------------- */
/* リセット */
input[type="radio"],
input[type="checkbox"] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* ラジオボタンデザイン */
input[type="radio"] {
  width: 20px;/*radioボタンの横幅*/
  height: 20px;/*radioボタンの縦幅*/
  border-radius: 100px;
  position: relative;
  vertical-align: sub;
  margin-right: 10px;
}
input[type="radio"]::before, input[type="radio"]::after{
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
input[type="radio"]::before {
  background-color: #fff;
  border: 1px solid #c2c1c1;
  height: 20px;/*radioボタンの横幅*/
  width: 20px;/*radioボタンの縦幅*/
  left: 0px;
}
input[type="radio"]::after {
  background-color: var(--bs-omn-brand);
  opacity: 0;/*チェックされてないradioボタンは非表示*/
  height: 14px;/*radioボタンチェック時の中点の高さ*/
  width: 14px;/*radioボタンチェック時の中点の横幅*/
  left: 3px;/*radioボタンチェック時の中点の位置*/
}

/* チェックボックスデザイン */
input[type="checkbox"] {
    cursor: pointer;
    padding-left: 30px;/*label手前にチェックボックス用の余白を開ける*/
    vertical-align: middle;
    position: relative;
  }
 
  input[type="checkbox"]::before,
  input[type="checkbox"]::after {
    content: "";
    display: block; 
    position: absolute;
  }
 
  input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 0%;
    border: 1px solid #bbb;
    width: 20px;/*チェックボックスの横幅*/
    height: 20px;/*チェックボックスの縦幅*/
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-top: 50%;
    top: 50%;
    left: 0px;
  }
 
  input[type="checkbox"]::after {
    border-bottom: 4px solid #FFF;/*チェックの太さ*/
    border-left: 3px solid #FFF;/*チェックの太さ*/
    opacity: 0;/*チェック前は非表示*/
    height: 10px;/*チェックの高さ*/
    width: 15px;/*チェックの横幅*/
    transform: rotate(-45deg);
    top: -8px;/*チェック時の位置調整*/
    left: 3px;/*チェック時の位置調整*/
  }
 
  input[type="checkbox"]:checked::before {
    background-color: var(--bs-omn-brand);
  }
	input[type="radio"]:checked::after,
  input[type="checkbox"]:checked::after {
    opacity: 1;/*チェック後表示*/
  }

  /* Safari用 */
  ::-webkit-full-page-media, :future, :root input[type="checkbox"]::after{
    top:0px;
  }


.element_wrap {
	border-bottom: 1px solid #ddd;
	text-align: left;
}
.element_wrap.last {
	border-bottom: none;
}
/* 見出し */
.element_title {
	padding: 1em;
	background: #f8f9fa;
  display: flex;
  -webkit-justify-content:space-between;
  justify-content:space-between;
  -webkit-align-items: center;
  align-items: center;  
  /* color:var(--bs-brand); */
  font-weight: 700;
}

/* 項目 */
.element_data {
	padding:1em;
}
/* チェックボックス */
.element_data label {
	margin-right:1em;
  margin-top: 5px;
  margin-bottom: 5px;
}

/* 必須・任意　共通 */
span.required,
span.optional {
  display: inline-block;
  padding: 0.35em 0.5em 0.25em;
  font-size:0.75em;
  font-weight: 700;
  color:#fff;
  text-align: center;
  vertical-align: middle;
  border-radius: 0.3rem;
  background: var(--bs-omn-brand);
}
/* 必須 */
span.required {
  background: var(--bs-omn-brand);
}
/* 任意 */
span.optional {
  background: var(--bs-omn-secondary-light);
}

span.words,
select,
label {
	display: inline-block;
	/* margin-top: 5px; */
	/* margin-bottom: 5px; */
	/* font-weight: bold; */
	/* width: 150px; */
	vertical-align: top;
  color:#666;
}
span.words,
select {
	margin-right:0.58em;
}

.element_wrap p {
	display: block;
	margin:  0;
	text-align: left;
}

label[for=gender_male],
label[for=gender_female],
label[for=agreement] {
	margin-right: 10px;
	width: auto;
	font-weight: normal;
}

textarea {
	padding: 5px 10px;
	width: 60%;
	height: 100px;
	font-size: 100%;
	border: none;
	border-radius: 3px;
	border:1px solid #ddd;
}

.error_list::before {
  position: absolute;
  top:-2em;
  left:0;
  content: 'エラーメッセージ';
}
.error_list {
	padding: 10px 10px;
	color: #ff2e5a;
	font-size: 86%;
	text-align: left;
	border: 1px solid #ff2e5a;
	border-radius: 5px;
  position: relative;
}
.error_list li {
  list-style-type: none;
  counter-increment: cnt;
}
.error_list li::before {
  content: "（"counter(cnt)"）";
}

/* プログレスバー */
.bs-wizard {}
.bs-wizard {padding: 0 0 10px 0;}
.bs-wizard > .bs-wizard-step {padding: 0; position: relative;}
.bs-wizard > .bs-wizard-step + .bs-wizard-step {}
.bs-wizard > .bs-wizard-step .bs-wizard-stepnum {color: #777; font-size: 16px; line-height:20px; margin-bottom: 5px;}
.bs-wizard > .bs-wizard-step .bs-wizard-info {color: #999; font-size: 14px; line-height:20px; padding-top:10px;}
.bs-wizard > .bs-wizard-step > .bs-wizard-dot {position: absolute; width: 30px; height: 30px; display: block; background: var(--bs-omn-brand); top: 45px; left: 50%; margin-top: -15px; margin-left: -15px; border-radius: 50%;} 
.bs-wizard > .bs-wizard-step > .bs-wizard-dot:after {content: ' '; width: 14px; height: 14px; background: #fff; border-radius: 50px; position: absolute; top: 8px; left: 8px; } 
.bs-wizard > .bs-wizard-step > .progress {position: relative; border-radius: 0px; height: 8px; box-shadow: none; margin: 20px 0;}
.bs-wizard > .bs-wizard-step > .progress > .progress-bar {width:0px; box-shadow: none; background: var(--bs-omn-brand-light);}
.bs-wizard > .bs-wizard-step.complete > .progress > .progress-bar {width:100%;}
.bs-wizard > .bs-wizard-step.active > .progress > .progress-bar {width:50%;}
.bs-wizard > .bs-wizard-step.active .bs-wizard-stepnum,
.bs-wizard > .bs-wizard-step.active .bs-wizard-info {color: var(--bs-omn-brand); font-size: 20px;}
.bs-wizard > .bs-wizard-step:first-child.active > .progress > .progress-bar {width:0%;}
.bs-wizard > .bs-wizard-step:last-child.active > .progress > .progress-bar {width: 100%;}
.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot {background-color: #f5f5f5;}
.bs-wizard > .bs-wizard-step.disabled > .bs-wizard-dot:after {opacity: 0;}
.bs-wizard > .bs-wizard-step:first-child  > .progress {left: 50%; width: 50%;}
.bs-wizard > .bs-wizard-step:last-child  > .progress {width: 50%;}
.bs-wizard > .bs-wizard-step.disabled a.bs-wizard-dot{ pointer-events: none; }
/*END プログレスバー*/

@media (max-width: 767px) {

  .element_wrap {
    border-bottom: none;
    padding-bottom: 1.5em;
  }

}

/* =============================================
  サイトマップ
============================================= */
#sitemap {
}
#sitemap dt {
  padding-top: 1rem;
}
#sitemap dt a {
  font-size:1.2rem;
  color: var(--bs-omn-brand);
  line-height: 1.5rem;
}
#sitemap dd ul,
#sitemap dd ul li {
  padding-top: 0.5rem;
  list-style: none;
  padding-left: 0;
}
#sitemap dd ul li {
  position:relative;
  padding-left: 35px;
}
#sitemap dd ul li::before {
  content: '\f00c';
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 8px;
  left: 10px;
  color: var(--bs-omn-brand-light);
}
#sitemap dd ul li a {
  color: var(--bs-omn-brand);
}

/* =============================================
  イメージ
============================================= */
.img-left-30,
.img-right-30,
.img-left-50,
.img-right-50 {
  margin-bottom: 1.5rem;
  margin-top: 0.5rem;
}
.img-left-30,
.img-left-50 {
  float: left;
  margin-right: 1.5rem;
}
.img-right-30,
.img-right-50 {
  float: right;
  margin-left: 1.5rem;
}
.img-left-30,
.img-right-30 { width: 30%; }
.img-left-50,
.img-right-50 { width: 50%; }

@media screen and (max-width: 575.98px) {

  .img-left-30,
  .img-right-30,
  .img-left-50,
  .img-right-50 {
    float: none;
    width:100%;
    margin-bottom: 1rem;
  }
  .img-left-30,
  .img-left-50 {
    margin-right: 0;
  }
  .img-right-30,
  .img-right-50 {
    margin-left: 0;
  }

}
/* =============================================
  汎用
============================================= */
.of-hidden {
  overflow: hidden;
}

/* =============================================
メディアクエリ
============================================= */

/* 大デバイス（デスクトップ, 1200px 未満）
==============================================*/
@media screen and (max-width: 1199.98px) {
  .herounit h1 {
    margin-top: 10rem;
  }
  header {
    padding-top: 5rem;
  }

  .h3_concept {
    font-size:210%;
  }

}

/* END */
/* 中デバイス（タブレット, 992px 未満）
==============================================*/
@media screen and (max-width: 991.98px) {
  .container {
    max-width: 740px;
  }
  header {
    padding-top: 5rem;
  }

  .h3_concept {
    font-size:180%;
  }
  
}

/* END */
/* 小デバイス（横向きモバイル, 768px 未満）
==============================================*/
@media screen and (max-width: 767.98px) {
  h1 {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.2;
  }

  #sec3 {
    background-image: none;
  }

  header .navbar-brand {
    width: 50%;
  }

  header .navbar-brand .logo {
    width: 100%;
  }

  header .navbar-nav {
    border-top: 1px solid #fff;
  }

  .footer-logo {
    width: 80%;
    margin: 0 auto;
  }

  .h3_concept {
    font-size:150%;
    line-height: 150%;
  }
  
}

/* END */
/* 極小デバイス（縦向きモバイル, 576px 未満）
==============================================*/
@media screen and (max-width: 575.98px) {
  .display-3 {
    line-height: 0.8em;
  }

  .display-4 {
    font-size: 2rem;
    line-height: 1.2;
  }
  
  /* テーブル：T1 */
  .t1 th,
  .t1 td {
    display: block;
  }
  .t1 th {
    background-color: #eee;
    border-radius: 9999px;
    padding-left: 1.2rem;
  }
  .t1 td {
    padding-bottom: 1.5rem;
  }
  .t1.bordered tr {
    border-bottom: none;
  }

  .h3_concept {
    text-align: left;
    font-size:180%;
    line-height: 150%;
  }

}

/* END */
