/* サイト共通
------------------------------------------------------------*/

/* サイト共通スタイル
----------------------------------------*/

body {
  font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
}

h1,h2,h3,h4,h5,h6,
ul#main-menu li a,
.yugothic {
  font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
}

ul#main-menu li a {
  font-weight: bold;
}

header {
  height: 78.97px;
}

/* 最大幅
------------*/

@media (min-width: 830px) {
  .container-fluid {
    max-width: 830px;
    padding: 0;
  }
}

@media (min-width: 950px) {
  body.top .container-fluid {
    max-width: 950px;
    padding: 0;
  }
}

@media (min-width: 768px) {
  body.top .container-fluid {
    min-width: 850px;
    padding: 0;
  }
}

@media (min-width: 768px) {
  header nav.navbar .container-fluid {
    max-width: 1200px;
    min-width: 950px;
    padding: 0;
  }
}

/* スマホ版の左右マージンを 15px にする */

@media (max-width: 767px) {
  .container-fluid {
    /*--bs-gutter-x: 1.5rem;*/
    --bs-gutter-x: 1.875rem;
  }
}


/* テンポラリー措置：サイトを PC 専用にする */
/*  .container-fluid {
    width: 830px;
    padding: 0;
  }*/

/* リンク 
------------*/

a {
    color: #212529; /* 黒 */
    text-decoration: none;
    background-color: transparent;
}
a:hover {
    color: #f8931f; /* オレンジ */
    text-decoration: underline;
}

/* visited 区別なし */

.link-u {
  color: #f8931f!important; /* オレンジ */
  text-decoration: none;
}
.link-u:visited {
  color: #f8931f; /* オレンジ */
}
.link-u:hover {
  color: #f8931f; /* オレンジ */
  text-decoration: underline!important;
}

body.top .news-bg a,        /* トップ「お知らせ」に .link-u 相当を適用 */
body:not(.top) .news a {    /* 「お知らせ」に .link-u 相当を適用 */
  color: #f8931f!important; /* オレンジ */
  text-decoration: none;
}
body.top .news-bg a:visited,
body:not(.top) .news a:visited {
  color: #f8931f; /* オレンジ */
}
body.top .news-bg a:hover,
body:not(.top) .news a:hover {
  color: #f8931f; /* オレンジ */
  text-decoration: underline!important;
}

.link-u-2 {
  color: brown; /* ブラウン */
  text-decoration: underline;
}
.link-u-2:visited {
  color: brown; /* ブラウン */
}
.link-u-2:hover {
  color: #f8931f; /* オレンジ */
  text-decoration: underline;
}

.link-u-3 {
  color: #f8931f; /* オレンジ */
  text-decoration: underline;
}
.link-u-3:visited {
  color: #f8931f; /* オレンジ */
}
.link-u-3:hover {
  color: brown; /* ブラウン */
}

.link-no-u {
  color: #212529; /* 黒 */
  text-decoration: none;
}
.link-no-u:visited {
  color: #212529; /* 黒 */
}
.link-no-u:hover {
  /*color: #092ED4;*/
  color: #f8931f; /* オレンジ */
  text-decoration: none;
}

/* visited 区別あり */

.link-v {
  color: #212529; /* 黒 */
  text-decoration: none;
}
.link-v:visited {
  color: brown; /* ブラウン */
}
.link-v:hover {
  color: #f8931f; /* オレンジ */
  text-decoration: underline;
}

.link-4 {
  color: #0063D0; /* 青 */
  text-decoration: none;
}
.link-4:visited {
  color: #0063D0; /* 青 */
}
.link-4:hover {
  color: #0063D0; /* 青 */
  text-decoration: underline;
}


/* 印刷時に下線が付かないようにする */

@media print {
 a {
   text-decoration: none!important;
 }
}

/* マージン
------------*/

.mb--05em {
  margin-bottom: -0.5em;
}

@media (min-width:768px){
  .ml-md-21rem {
    margin-left: 2.1rem!important;
  }
}

.ml-25rem {
  margin-left: 2.5rem;
}

.ml-15rem {
  margin-left: 1.5rem;
}

.ms--05em {
  margin-left: -0.5em;
}

.ms-05em {
  margin-left: 0.5em;
}

.mt--1rem {
  margin-top: -1rem;
}

/* インデント
------------*/

.ind--03em {
  text-indent: -0.3em;
}
.ind--04em {
  text-indent: -0.4em;
}
.ind--05em {
  text-indent: -0.5em;
}

.pad-ind-1em {
  padding-left: 1em;
  text-indent: -1em;
}

.pad-ind-13em {
  padding-left: 1.3em;
  text-indent: -1.3em;
}

.pad-ind-18em {
  padding-left: 1.8em;
  text-indent: -1.8em;
}

.pad-ind-19em {
  padding-left: 1.9em;
  text-indent: -1.9em;
}

.ind-clear {
  text-indent: 0;
}

.pad-ind-2em {
  padding-left: 2em;
  text-indent: -2em;
}

.pad-ind-3em {
  padding-left: 3em;
  text-indent: -3em;
}

.pad-ind-42em {
  padding-left: 4.2em;
  text-indent: -4.2em;
}

.pad-ind-5em {
  padding-left: 5em;
  text-indent: -5em;
}

/* テキスト
------------*/

.text-red {
  color: red;
}

.text-orange {
  color: darkorange;
}

/* 丸マーカー
------------*/

/* オレンジ */ /* 「お知らせ」年度リストで利用 */
span.blt-circle-orange {
  display: inline-block;
  width: 7px;
  height: 7px;
  background-color: orange;
  border-radius: 50%;
  position: relative;
  top: -2px;
  margin-right: 7px;
}

/* 三角マーカー 
------------*/

/* オレンジ */ /* トップページで利用 */
span.blt-tri-orange {
  display: inline-block;
  border-left: 10px solid orange;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  margin-right:5px;
  position: relative;
  top: -1px;
}

/* 小なりマーカー 
------------*/

span.blt-gt-orange {
    position: relative;
    display: inline-block;
    padding-left: 14px;
}
span.blt-gt-orange::before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 2px orange;
    border-right: solid 2px orange;
    transform: rotate(45deg);
    position: absolute;
    top: 1px;
    left: 0;
    margin-top: -10px;
}

/* 長いURLは途中改行可とする */

.breakall {
  word-break: break-all;
}

/* 電話番号リンク：PC ではリンクと見えないように */

@media (max-width: 767px) {
  a[href^="tel"] {
    text-decoration: underline;
  }
}

.note-sm {
  font-size: 0.9rem;
}

/* iphone でリンククリック後に表示される青枠が表示されないようにする */
a {outline:none;}
a {
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}

/* ページトップへ戻るボタン */

.page_top {
  box-sizing: content-box;
  position: fixed;
  bottom: 15px;
  right: 10px;
  padding: 9px 15px;
  color: #fff!important;
  font-size: 14px;
  text-decoration: none!important;
  background-color: #f8931f!important;
  text-align: center;
  line-height: 1.0;
  border-radius: 50%;
  opacity: 0.8;
  height: 48px;
  text-shadow: 0 0 5px #999;
}
.page_top_nojq { /* 非jQuery対応用アイコンのための補完スタイル */
  opacity: 0;
  transition-duration: 0.5s;
}

/* サイト共通ヘッダー
----------------------------------------*/

header p {
  font-size: 0.9rem;
  font-weight: bold;
  color: white;
  background-color: #f8931f;
  width: 100%;
  height: 40px;
  line-height: 40px;
  margin-bottom: 15px;
}
@media (max-width:767px) {
  header p {
    height: 50px;
    line-height: 50px;
    margin-bottom: 0;
  }
}

@media (max-width:767px) {
  header img.header-title {
    max-width: 80%;
    height: auto;
    position: relative;
    left: -1rem;
  }
}

/* サイト共通メインコンテンツ
----------------------------------------*/

main {
  margin-bottom: 1.5rem;
}

/* サイト共通ナビ
------------*/

nav#nav-pc {
  font-size: 0.9rem;
  font-weight: bold;
  margin-bottom: 30px;
}

nav#nav-pc a,
nav#nav-pc a:link,
nav#nav-pc a:visited {
  color: #212529;
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 2px solid white;
  transition: color 0.7s, border-bottom 0.7s;
}

nav#nav-pc a:hover {
  color: #f8931f;
  text-decoration: none;
  border-bottom: 2px solid #f8931f;
}

nav#nav-pc div.now a {
  color: #f8931f;
  text-decoration: none;
  border-bottom: 2px solid #f8931f;
  cursor: default;
}

nav#nav-pc div.home .fas.fa-home {
  color: #212529;
  transition: color 0.7s;
}

nav#nav-pc div.home:hover .fas.fa-home {
  color: #f8931f;
}

nav#nav-pc div.now .fas.fa-home {
  color: #f8931f;
}

/* サイト共通ナビゲーションバー
------------*/

@media (min-width:768px) {

  /* ロゴのサイズ・位置調整 */
  header .navbar-brand {
    width: 180px;
    margin-left: 10px;
    padding: 0;
  }

  /* メニュー部を右寄せに */
  header .navbar-collapse {
    flex-grow: 0;
    margin-right: 15px;
  }

  /* メニュー項目の文字の調整 */
  header nav li,
  header nav li.dropdown li a {
    font-size: 0.8rem;
    font-weight: bold;
    text-align: center;
  }
  header nav li.dropdown li a { /* 2024-04-12 追記：ドロップダウン項目は左寄せ */
    text-align: left;
  }
  
  /* メニュー項目の文字色の調整 */
  header nav .nav-link {
    color: rgba(0,0,0,1.00);
  }

  /* メニュー項目の領域の表示調整 */
  header nav .navbar-collapse > ul > li {
    border-right: 1px solid #000;
    align-self: center;
    line-height: 1.1;
  }
  header nav .navbar-collapse > ul > li:first-child {
    border-left: 1px solid #000;
  }
  
  /* メニュー項目に上下の padding を付けることにより両脇の縦線を長くする */
  header nav .navbar-collapse > ul > li > a.nav-link,
  header nav .navbar-collapse > ul > li span.nav-link {
    padding-top: 12px;
    padding-bottom: 12px;
  }
  
  /* メニュー項目の1番目が2行となっているため上下の padding 値を小さくして
     両脇の縦棒を他の項目と同じ長さにする */
  header nav .navbar-collapse > ul > li:first-child span.nav-link {
    padding-top: 5px;
    padding-bottom: 5px;
  }
  
  /* メニュー項目のホバーでオレンジの下ボーダーを表示すると項目の縦位置が
     ずれるため、あらかじめ透明の下ボーダーを設定 */
  header nav .navbar-collapse > ul > li > span.nav-link {
    border-bottom: 2px solid transparent;
    transition: color 0.7s, border-bottom 0.3s;
  }
  header nav .navbar-collapse > ul > li > a.nav-link {
    border-bottom: 2px solid transparent;
    transition: color 0.7s, border-bottom 0.3s;
  }
  
  /* メニュー項目のホバーでオレンジの下ボーダーを表示＆文字色をオレンジに */
  header nav .navbar-collapse > ul > li > span.nav-link:hover,
  header nav .navbar-collapse > ul > li > span.nav-link.dropdown-toggle.show {
    border-bottom: 2px solid orange;
    color: darkorange;
  }
  header nav .navbar-collapse > ul > li > a.nav-link:hover {
    text-decoration: none;
    border-bottom: 2px solid orange;
    color: darkorange;
  }
  
  /* 現在いるページの項目名の文字色をオレンジに */
  header nav .navbar-collapse > ul > li > span.nav-link.current {
    color: darkorange;
  }
  header nav .navbar-collapse > ul > li > a.nav-link.current {
    text-decoration: none;
    color: darkorange;
  }
  
  /* ドロップダウン項目の右端に表示される下向き三角を非表示に */
  header nav .dropdown-toggle::after {
    display: none;
  }
  
  /* ドロップダウン項目のスタイル調整 */
  header nav .navbar-collapse > ul > li > ul.dropdown-menu {
    --bs-dropdown-min-width: 0;
    --bs-dropdown-padding-x: 0;
    --bs-dropdown-spacer: 0;
    --bs-dropdown-border-radius: 0;
    --bs-dropdown-padding-y: 0;
    border-color: #999;
    border-top: none;
    display: block;
    height: 0;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.5s, height 0.1s;
    /* 2024-04-12 追記：ドロップダウン項目の上枠線を薄くする */
    border-top: 0.666667px solid rgb(221, 221, 221);
  }
  header nav .navbar-collapse > ul > li > ul.dropdown-menu.show {
    height: auto;
    opacity: 0.95;
  }
  header nav .navbar-collapse > ul > li > span.nav-link#outline + ul.dropdown-menu {
    /*--bs-dropdown-item-padding-x: 0.49rem; 2024-04-12 削除 */
    left: -0.5px;
  }
  header nav .navbar-collapse > ul > li > span.nav-link#merit + ul.dropdown-menu {
    /*--bs-dropdown-item-padding-x: 0.91rem; 2024-04-12 削除 */
    width: 120px;/* 2024-04-12 追記：ドロップダウン項目の幅を親項目の幅と合わせる */
    left: -1px;
  }
  header nav .navbar-collapse > ul > li > span.nav-link#register + ul.dropdown-menu {
    --bs-dropdown-item-padding-x: 0.9rem;
    left: -0.5px;
  }
  header nav .navbar-collapse > ul > li > span.nav-link#event + ul.dropdown-menu {
    /*--bs-dropdown-item-padding-x: 0.89rem; 2024-04-12 削除 */
    left: -0.5px;
  }
  /* 2024-04-12 追記：ドロップダウン項目の幅を親項目の幅と合わせる */
  header nav .navbar-collapse > ul > li > span.nav-link#faq + ul.dropdown-menu {
    width: 107.5px;
    left: -0.5px;
  }
  header nav .navbar-collapse > ul > li > ul.dropdown-menu a.dropdown-item {
    padding-top: 10px;
    padding-bottom: 9px;
    border-bottom: 1px solid #ddd;
  }
  header nav .navbar-collapse > ul > li > ul.dropdown-menu li:last-child a.dropdown-item {
    border-bottom: none;
  }
  header nav .navbar-collapse > ul > li > ul.dropdown-menu a.dropdown-item:hover,
  header nav .navbar-collapse > ul > li > ul.dropdown-menu a.dropdown-item:active {
    background: white;
    text-decoration: none;
    color: darkorange;
  }
}

@media (max-width:767px) {

  /* メニュー幅をデバイス幅いっぱいにする */
  header .container-fluid {
    padding-left: 0;
    padding-right: 0;
  }
  
  /* ハンバーガーアイコンの枠線をなくする */
  header .navbar-toggler {
    border: none;
  }
  header .navbar-toggler:focus {
    box-shadow: none;
  }
  /* 枠線をなくした後、左側に位置調整 */
  header .navbar-toggler .navbar-toggler-icon {
    margin-right: 10px;
  }
  
  /* メニューが全コンテンツの上に表示されるようにする */
  header .navbar {
    z-index: 1;
  }
  
  /* メニューの下にシャドーを付けて分離感を出す */
  header .navbar-collapse.collapse.show {
    box-shadow: 0 15px 15px 0px rgba(0,0,0,0.4);
  }
  
  /* ロゴのサイズ・位置調整 */
  header .navbar-brand {
    width: 150px;
    padding: 0;
  }
  
  /* 展開したメニューの上マージン */
  header nav .navbar-nav {
    margin-top: 15px;
  }
  
  /* メニュー項目の表示調整 */
  header nav .navbar-nav .nav-link {
    background-color: white;
    /*padding: 17px 20px;*/
    padding: 17px 25px;
    color: chocolate;
    font-size: 1.1rem;
    font-weight: bold;
    border-bottom: 1px solid rgba(210, 105, 30, 0.3);
  }
  header nav li.nav-item:first-child .nav-link {
    border-top: 1px solid rgba(210, 105, 30, 0.8);
  }
  header nav .navbar-nav .nav-link:active {
    color: chocolate;
  }
  header nav .navbar-nav .nav-link.show {
    color: chocolate;
  }
  header nav li.nav-item:last-child .nav-link {
    border-bottom: 3px solid rgba(210, 105, 30, 0.8);
  }
  
  /* ドロップダウンメニューの表示調整 */
  header nav ul.dropdown-menu {
    border-radius: 0;
    margin: 0;
    padding: 0;
    --bs-dropdown-border-color: none;
  }
  header nav ul.dropdown-menu[data-bs-popper] {
    margin-top: 0;
  }
  
  /* ドロップダウンメニュー項目の表示調整 */
  header nav ul.dropdown-menu li {
    border-bottom: 1px solid rgba(210, 105, 30, 0.3);
  }
  header nav ul.dropdown-menu li .dropdown-item {
    /*padding: 17px 35px;*/
    padding: 17px 40px;
    font-size: 1.1rem;
    font-weight: bold;
    color: #000;
    background-color: #fef9f5;
    text-decoration: none;
  }
  
  
}

/* サイト共通フッター
----------------------------------------*/

footer {
  width: 100%;
  border-top: 2px solid #f2f2f2;
  padding-top: 0.5rem;
  padding-bottom: 1.5rem;
}

footer small {
  font-size: 80%;
}


/* トップページ
------------------------------------------------------------*/

/* メイン
----------------------------------------*/

body.top p.catch {
  margin: 50px 0 50px;
}
@media (max-width:767px) {
  body.top p.catch {
    margin: 30px 0 40px;
  }
}

body.top p.catch span {
  display: inline-block;
  font-weight: bold;
  padding: 4px 8px;
  border: 2px solid #212529;
}

body.top h1 {
  font-weight: bold;
  line-height: 0.8;
  margin-bottom: 40px;
}

body.top h1 span.h1-main {
  font-size: 3rem;
  margin-bottom: 1.3rem;
}

body.top h1 span.h1-sub {
  font-size: 1.2rem;
  display: block;
}

/* 宣言ロゴマーク */

body.top #logo {
  width:250px;
  margin:-20px auto 5px;
  display: block;
}

body.top #logo-desc {
  text-align:center;
  font-size:80%;
  margin:0 0 20px;
  font-weight:bold;
}

/* トップイメージ
------------*/

body.top .top-image {
  background-image: url("../images/top-image.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: 100%;
  height: 400px;
  margin-top: 15px;
  margin-bottom: 30px;
}
@media (max-width:767px) {
  body.top .top-image {
    background-image: url("../images/top-image-sp.png");
    background-size: contain;
    height: 0;
    padding-top: 75.35%;
  }
}

/* シンポジウムのバナー */

body.top .banner-sympo {
  display:block;
  margin:-10px auto 40px;
}

@media (max-width:767px) {
  body.top .banner-sympo {
    margin-bottom: 25px;
  }
}

/* class="d-inline-block ms-3 ms-md-auto me-3 me-md-auto"*/
 
/* ボタン
------------*/

body.top .buttons {
  text-align: center;
  margin-bottom: 40px;
}

body.top .buttons a {
  width: 20%;
  display: inline-block;
  border-color: #f8931f;
  border-width: 3px;
  border-style: solid;
  border-radius: 10px;
  /*padding: 12px 0px 10px;*/
  padding: 10px 0px 25px;
  text-decoration: none;
  font-weight: bold;
  /*font-size: 1rem;*/
  font-size: 0.9rem;
  position: relative;
}

body.top .buttons a:first-child {
  font-size: 1.1rem;
  padding-top: 23px;
}

body.top .buttons a:nth-child(2),
body.top .buttons a:nth-child(3),
body.top .buttons a:nth-child(4) {
  font-size: 1.35rem;
  padding-top: 33px;
}

body.top .buttons a.box-white {
  /*color: #f8931f;*/
  color: #000;
  /*background-color: white;*/
  background-color: #fef9f5;
  transition: color 0.7s, background-color 0.7s;
}
body.top .buttons a.box-white i {
  color: #f8931f;
  transition: color 0.7s;
}

body.top .buttons a.box-white:hover {
  color: white;
  background-color: #f8931f;
}
body.top .buttons a.box-white:hover i {
  color: white;
}

body.top .buttons a.box-orange {
  color: white;
  background-color: #f8931f;
  transition: border-color 0.7s, color 0.7s, background-color 0.7s;
}
body.top .buttons a.box-orange i {
  color: white;
  transition: color 0.7s;
}

body.top .buttons a.box-orange:hover {
  /*color: #f8931f;*/
  color: #000;
  /*background-color: white;*/
  background-color: #fef9f5;
}
body.top .buttons a.box-orange:hover i {
  color: #f8931f;
}

body.top .buttons i {
  display: block;
  font-size:1.5rem;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 3px;
}

/* 登録数 */

body.top #declaration-total-number-pc,
body.top #declaration-total-number-sp {
  font-size: 2rem;
}

/* スマホ用 */

body.top .buttons.buttons-sp {
  margin-bottom: 20px
}

body.top .buttons.buttons-sp a {
  width: 50%;
  height: 98px;
  border-width: 2px;
}

body.top .buttons.buttons-sp a[href="outline.html"] {
  font-size: 1.1rem;
  padding-top: 14px;
}

body.top .buttons.buttons-sp a[href="outline.html#jireishu"] {
  font-size: 1.35rem;
  padding-top: 24px;
}

body.top .buttons.buttons-sp a[href="register.html"] {
  font-size: 1.35rem;
  padding-top: 24px;
}

body.top .buttons.buttons-sp a[href="form.html"] {
  font-size: 1.35rem;
  padding-top: 24px;
}

body.top .buttons.buttons-sp a[href="list.html"] {
  width: 100%;
  font-size: 1.1rem;
  padding-top: 14px;
  height: 135px;
}

/* お知らせ
------------*/

body.top .news-bg {
  /*background-color: #f2f2f2;*/
  padding: 1rem 0 1rem;
  margin-bottom: 20px;
}

body.top .news-hdg {
  background-color: #f2f2f2;
  align-self: stretch;
  margin-right: 1.5rem;
  margin-left: 10px;
}
@media (max-width:767px) {
  body.top .news-hdg {
    margin: 0;
    padding: 9px 0 6px 10px;
    margin-bottom: 1.5rem;
  }
}

body.top h2 {
  font-size: 1.1rem;
  font-weight: bold;
  color: #000;
  margin: 0.5rem 1rem 0 1rem;
  white-space: nowrap;
}
@media (max-width:767px) {
  body.top h2 {
    font-size: 1.3rem;
    margin: 0;
  }
}

body.top .news-bg ul {
  margin-bottom: 1rem;
}

body.top .news-bg ul li {
  margin-bottom: 0.7rem;
}

body.top .news-bg ul .news-date {
  width: 7rem;
  margin-right: 1rem;
}

body.top .news-bg ul .news-title {
  max-width: 41rem;
}

body.top .news-bg ul .news-title p {
  margin-bottom: 0;
}

/*body.top .news-bg ul li.new .news-title::after {
  content: 'NEW';
  border-radius: 4px;
  padding: 1px 4px;
  font-weight: bold;
  font-size: 0.8rem;
  color: white;
  background-color: #f8931f;
  position: relative;
  top: -2px;
  margin-left: 0px;
  font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  opacity: 0.8;
}*/

/*body.top .news-bg ul li.new .news-title::before {
  content: 'NEW';
  border-radius: 4px;
  padding: 1px 4px;
  font-weight: bold;
  font-size: 0.8rem;
  color: white;
  background-color: #f8931f;
  position: relative;
  top: -2px;
  margin-left: 0px;
  font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  opacity: 0.8;
}*/

body.top .news-bg ul li.new .news-title > p:first-child::before {
  content: 'NEW';
  border-radius: 4px;
  padding: 1px 4px;
  font-weight: bold;
  font-size: 0.8rem;
  color: white;
  background-color: #f8931f;
  position: relative;
  top: -2px;
  margin-left: 0px;
  font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  opacity: 0.8;
  margin-right: 5px;
}

/* span NEW */

body.top .news-bg ul li span.text-new {
  border-radius: 4px;
  padding: 1px 4px;
  font-weight: bold;
  font-size: 0.8rem;
  color: white;
  background-color: #f8931f;
  position: relative;
  top: -2px;
  margin-left: 0px;
  font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  opacity: 0.8;
}

@media (max-width:767px) {
  body.top .news-bg ul li {
    padding: 0 0 0.5rem;
    border-bottom: 1px dotted #aaa;
  }
  body.top .news-bg ul .news-date {
    font-weight: bold;
    margin-bottom: 2px;
  }
}

/* 関連団体のバナー */

@media (max-width:767px) {
  body.top .rel-org a {
    max-width: 28%;
  }
}

/* 非トップページ
------------------------------------------------------------*/

/* 非トップページ共通スタイル
----------------------------------------*/

/* フッター
------------*/

body:not(.top) footer {
  background: url("../images/town-shape4footer.png") repeat-x center center;
  width: 100%;
  height: 146px;
  border-top: none;
}
body:not(.top) footer small {
  position: relative;
  top: 96px;
}

/* ナビゲーションバー
------------*/

body:not(.top) header {
  margin-bottom: 30px;
}

/* パンくずリスト
------------*/

.bread {
  font-size: 0.9rem;
}
@media (max-width:767px) {
  .bread {
    margin-top: 1rem;
  }
}

.bread a {
  color: #f8931f;
  text-decoration: none;
}

/* 見出し
------------*/

body:not(.top) h1 {
  /*display: inline-block;*/
  font-size: 2rem;
  font-weight: bold;
  padding-bottom: 2px;
  border-bottom: 3px solid #f8931f;
  margin-bottom: 2rem;
}

/*body:not(.top) h2 {
  display: inline-block;
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
  background-color: #f8931f;
  color: white;
  padding: 4px 8px 3px;
}
@media (max-width:767px) {
  body:not(.top) h2 {
    padding: 6px 8px;
    line-height: 1.2;
  } 
}*/

body:not(.top) h2 {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
  background-color: #f8931f;
  color: white;
  padding: 8px 15px 7px;
  box-shadow: 5px 5px 0px 0px rgba(248,147,31,0.45);
}
@media (max-width:767px) {
  body:not(.top) h2 {
    line-height: 1.2;
  } 
}

body:not(.top) h3 {
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

body:not(.top) .subsidy h3,
body:not(.top) .wages h3,
body:not(.top) .news h3,
body:not(.top) .faqs h3 {
  display: inline-block;
  font-size: 1.1rem;
  font-weight: bold;
  background-color: #dcdddd;
  padding: 6px 13px 5px;
  border: 2px solid white;
  box-shadow: 2px 2px 0 0 #dcdddd, -2px -2px 0 0 #dcdddd;
  margin-top: 0.3rem;
  margin-bottom: 1.3rem;
}

body:not(.top) .local h3 {
  background-color: #ffffff;
  display: inline-block;
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 0.8rem;
  padding-right: 0.5em;
  position: relative;
  z-index: 1;
}
body:not(.top) .local .h3-hr {
  width: 100%;
  border-bottom: 1px solid #ccc;
  position: relative;
  top: -24px;
}

body:not(.top) h3.h3-outline {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 1rem;
  border: 1px solid #f8931f;
  border-radius: 4px;
  color: #f8931f;
  padding: 5px 20px 4px 8px;
  position: relative;
}

body:not(.top) h3.h3-outline i {
  position: absolute;
  right: 10px;
}

body:not(.top) h3.h3-outline-d {
  display: block;
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 1rem;
  border: 1px solid #f8931f;
  border-radius: 4px;
  color: darkorange;
  padding: 5px 20px 4px 8px;
  position: relative;
}

/*body:not(.top) h4 {
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 1rem;
}*/

body:not(.top) h4 {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0.3rem;
}

/* ボックス
------------*/

body:not(.top) .box-black {
  border: 1px solid black;
  padding: 1em;
}

/* 非トップページ：お知らせ（旧：バックナンバー）
----------------------------------------*/

ul.backnumber {
  margin-top: 0.75em;
}
@media (max-width:767px){
  ul.backnumber {
    margin-top: -0.2rem;
  }
}

ul.backnumber li {
  margin-bottom: 1rem;
}
@media (max-width:767px){
  ul.backnumber li {
    margin-bottom: 0.2rem;
    padding: 0.5rem 0;
    border-bottom: 1px dotted #aaa;
  }
}
  
ul.backnumber .news-date {
  width: 6rem;
  margin-right: 1rem;
}
@media (max-width:767px){
  ul.backnumber .news-date {
    font-weight: bold;
  }
}
  
ul.backnumber .news-title {
  max-width: 36rem;
  padding-left: 1rem;
  border-left: 1px solid #ccc;
}
@media (max-width:767px){
  ul.backnumber .news-title {
    padding-left: 0;
    border-left: none;
  }
}

ul.backnumber .news-title p {
  margin-bottom: 0;
}

/*ul.backnumber li.new .news-title::after {
  content: 'NEW';
  border-radius: 4px;
  padding: 1px 4px;
  font-weight: bold;
  font-size: 0.8rem;
  color: white;
  background-color: #f8931f;
  position: relative;
  top: -2px;
  margin-left: 0px;
  font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  opacity: 0.8;
}*/

/*ul.backnumber li.new .news-title::before {
  content: 'NEW';
  border-radius: 4px;
  padding: 1px 4px;
  font-weight: bold;
  font-size: 0.8rem;
  color: white;
  background-color: #f8931f;
  position: relative;
  top: -2px;
  margin-left: 0px;
  font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  opacity: 0.8;
}*/

ul.backnumber li.new .news-title > p:first-child::before {
  content: 'NEW';
  border-radius: 4px;
  padding: 1px 4px;
  font-weight: bold;
  font-size: 0.8rem;
  color: white;
  background-color: #f8931f;
  position: relative;
  top: -2px;
  margin-left: 0px;
  font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  opacity: 0.8;
  margin-right: 5px;
}

/* span NEW */

ul.backnumber li span.text-new {
  border-radius: 4px;
  padding: 1px 4px;
  font-weight: bold;
  font-size: 0.8rem;
  color: white;
  background-color: #f8931f;
  position: relative;
  top: -2px;
  margin-left: 0px;
  font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  opacity: 0.8;
}

/* 年度リスト */

ul.list-fy li {
  border-bottom: 1px dashed #bbb;
  padding: 7px 0 5px 5px;
  position: relative;
}
ul.list-fy li:first-child {
  border-top: 1px dashed #bbb;
}

/*ul.list-fy li::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  background-color: orange;
  border-radius: 50%;
  position: absolute;
  top: 14px;
  left: 5px;
}*/

@media (max-width:767px){
  ul.list-fy {
    margin-top: 15px;
    border: 1px solid #ccc;
    border-radius: 10px;
    text-align: center;
    overflow: hidden;
  }
  ul.list-fy li {
    /*background: linear-gradient(#ffffff 0%, #f5f5f5 100%);*/
    background: linear-gradient(#ffffff 0%, #f8f8f8 100%);
    border-bottom: 1px solid #bbb;
  }
  ul.list-fy li:first-child {
    border-top: none;
  }
  ul.list-fy li:last-child {
    border-bottom: none;
  }
  ul.list-fy li a {
    display: inline-block;
    transform: translateX(-15px);
    padding: 17px 0 15px;
  }
}

/* 非トップページ：パートナーシップ構築宣言とは（旧：概要・登録方法）
----------------------------------------*/

/* ボタン（グレー輪郭 = ダウンロードボタン）
------------*/

body:not(.top) .btn-dl-grp {
  margin-bottom: 25px;
}

body:not(.top) a.btn-dl {
  display: inline-block;
  width: 30%;
  border-radius: 8px;
  background-color: white;
  padding: 7px 5px 5px;
  color: #333;
  font-weight: bold;
  text-decoration: none;
  transition: background-color 0.7s;
}
@media (max-width:767px) {
  body:not(.top) a.btn-dl {
    display: block;
    width: 85%;
  }
}

body:not(.top) .btn-dl img {
  margin-right: 7px;
  position: relative;
  top: -15px;
  left: -5px;
}

body:not(.top) .btn-dl>span {
  display: inline-block;
  font-size: 0.85rem;
}

body:not(.top) .btn-dl>span>span {
  display: inline-block;
  font-size: 1.5rem;
}

body:not(.top) .btn-dl.btn-word {
  border: 3px solid #e1e1e1;
}
body:not(.top) a.btn-word:hover {
  background-color: #f6f6f6;
}

body:not(.top) .btn-dl.btn-pdf {
  border: 3px solid #e1e1e1;
}
body:not(.top) a.btn-pdf:hover {
  background-color: #f6f6f6;
}

/* ボタン（オレンジ輪郭 = 登録ボタン）
------------*/

body:not(.top) .box-white-wrap {
  text-align: center;
  margin-bottom: 30px;
}

body:not(.top) .box-white-wrap a.box-white {
  width: 30%;
  display: inline-block;
  border-color: #f8931f;
  border-width: 3px;
  border-style: solid;
  border-radius: 10px;
  padding: 32px 0px 10px;
  text-decoration: none;
  font-weight: bold;
  font-size: 1rem;
}

body:not(.top) .box-white-wrap a.box-white {
  color: #f8931f;
  background-color: white;
  transition: color 0.7s, background-color 0.7s;
}

body:not(.top) .box-white-wrap a.box-white:hover {
  color: white;
  background-color: #f8931f;
}

body:not(.top) .box-white-wrap a.box-white span:nth-of-type(2) {
  display: inline-block;
  margin-bottom: 10px;
}

body:not(.top) .box-entry-sp {
  width: 85%;
}

/* 宣言とは（オレンジボックス） */

body:not(.top) .box-outline-about {
  border: 2px solid orange;
  padding: 2em 3em;
  margin-bottom: 30px;
}
@media (max-width:767px) {
  body:not(.top) .box-outline-about {
    padding: 1em 1em;
  }
}

@media (min-width:768px) {
  body:not(.top) .box-outline-about .wrap-1 { /* 特定の箇所で改行するように */
    display: block;
    max-width: 42em;
  }
  body:not(.top) .box-outline-about .wrap-2 {
    display: block;
    max-width: 29em;
  }
  body:not(.top) .box-outline-about .wrap-3 {
    display: block;
    max-width: 40em;
  }
}

body:not(.top) .box-outline-about ol > li > ol {
  padding-left: 4em;
}

/* 宣言のイメージ */

body:not(.top) img[src="images/declare-image-left.png"] {
  max-width: 50%;
}
@media (max-width:767px) {
  body:not(.top) img[src="images/declare-image-left.png"] {
    max-width: 90%;
    margin: 0 auto;
  }
}

body:not(.top) img[src="images/declare-image-left-r1.png"] {
  max-width: 50%;
}
@media (max-width:767px) {
  body:not(.top) img[src="images/declare-image-left-r1.png"] {
    max-width: 90%;
    margin: 0 auto;
  }
}

/* 吹き出し */

@media (min-width:768px) {
  body:not(.top) .declare-image-fukidashi {
    max-width: 35%;
    position: relative;
    background: #fef9f5;
    padding: 15px;
    border: 2px solid #FF8C00;
    font-size: 14px;
    border-radius: 16px;
    margin-left: 55px;
    margin-top: 13px;
  }
  body:not(.top) .declare-image-fukidashi:after,
  body:not(.top) .declare-image-fukidashi:before {
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    right:100%;
    top:50%;
  }
  body:not(.top) .declare-image-fukidashi:after{
    border-color: rgba(247, 242, 247, 0);
    border-top-width:20px;
    border-bottom-width:20px;
    border-left-width:40px;
    border-right-width:40px;
    margin-top: -20px;
    border-right-color:#fef9f5;
  }
  body:not(.top) .declare-image-fukidashi:before{
    border-color: rgba(255, 140, 0, 0);
    border-top-width:22px;
    border-bottom-width:22px;
    border-left-width:44px;
    border-right-width:44px;
    margin-top: -22px;
    margin-right: 2px;
    border-right-color:#FF8C00;
  }
}

@media (max-width:767px) {
  body:not(.top) .declare-image-fukidashi {
    max-width: 90%;
    position: relative;
    background: #fef9f5;
    padding: 15px;
    border: 1px solid #FF8C00;
    font-size: 14px;
    border-radius: 16px;
    margin: 37px auto 0;
  }
  
  body:not(.top) .declare-image-fukidashi:after,
  body:not(.top) .declare-image-fukidashi:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    bottom:100%;
    left:20%;
  }
  body:not(.top) .declare-image-fukidashi:after{
    border-color: rgba(247, 221, 51, 0);
    border-top-width:32px;
    border-bottom-width:32px;
    border-left-width:16px;
    border-right-width:16px;
    margin-left: -16px;
    border-bottom-color:#fef9f5;
  }
  body:not(.top) .declare-image-fukidashi:before{
    border-color: rgba(30, 144, 255, 0);
    border-top-width:34px;
    border-bottom-width:34px;
    border-left-width:17px;
    border-right-width:17px;
    margin-left: -17px;
    margin-bottom: 1px;
    border-bottom-color:#FF8C00;
  }
}

/* 事例集 */

body:not(.top) img[src="images/thumb-jireishu-R6.png"],
body:not(.top) img[src="images/thumb-jireishu-R7.png"] {
  border: 1px solid #aaa;
}
  
@media (min-width:768px) {
  body:not(.top) .link-jireishu {
    display: inline-block;
    margin-left: .5rem;
  }
  body:not(.top) img[src="images/thumb-jireishu.png"],
  body:not(.top) img[src="images/thumb-jireishu-R6.png"],
  body:not(.top) img[src="images/thumb-jireishu-R7.png"] {
    max-width: 249px;
    max-height: 350px;
    opacity: 1.0;
    transition: opacity 0.5s;
  }
  body:not(.top) img[src="images/thumb-jireishu.png"]:hover,
  body:not(.top) img[src="images/thumb-jireishu-R6.png"]:hover,
  body:not(.top) img[src="images/thumb-jireishu-R6.png"]:hover {
    opacity: 0.7;
    transition: opacity 0.5s;
  }
  body:not(.top) img[src="images/thumb-jireishu-R6.png"],
  body:not(.top) img[src="images/thumb-jireishu-R7.png"] {
    border: 1px solid #ccc;
  }
}

/* 非トップページ：宣言するメリット
----------------------------------------*/

#subsidy-list {
  min-height: 200px;
}

.subsidy-post a,
.wages a,
.loan a,
.local-post a,
.effect a {
  word-break: break-all;
}

.subsidy-post {
  margin-bottom: 1rem;
}

.subsidy-post p {
  margin-bottom: 0;
}

.local-post {
  margin-bottom: 1rem;
}

.local-post p {
  margin-bottom: 0;
}

.logo-mark img {
  width: 350px;
  margin-bottom: 20px;
}

.logo-thought {
  font-size: 90%;
  font-weight:bold;
}

.logo-download {
  background-color: #efefef;
  padding: 1em 1.7em;
}

/* .subsidy-post の下に区切り線を引く */
body:not(.top) .subsidy .subsidy-post {
  padding-bottom: 1rem;
  border-bottom: 1px solid #bbb;
  width: 100%;
  margin-bottom: 1.2rem;
}


/* 非トップページ：登録方法
----------------------------------------*/

body:not(.top) .reg-flow ul {
    list-style-type: none;
}

body:not(.top) .reg-flow ul li::before {
  content: '✔'; /* チェックマークを挿入 */
  padding-right: 10px; /* テキストとの間隔 */
  /*color: green;*/
  /*color: darkorange;*/
  /*color: mediumseagreen;*/
  color: chocolate;
  font-size: 1.1rem;
  }

body:not(.top) .reg-flow ul li {
  text-indent: -1.5rem;
}

body:not(.top) .reg-flow .arrow-down-orange-wrap {
  margin-bottom:40px;
}

body:not(.top) .reg-flow .arrow-down-orange {
  width: 50px;
  height: 10px;
  background-color: orange;
  position: relative;
  transform:translateX(-10px);
}
body:not(.top) .reg-flow .arrow-down-orange::after {
  content: "";
  width: 100px;
  height: 15px;
  border-top: 15px solid orange;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  position: absolute;
  top: 10px;
  left: -25px;
}

/* 各ステップの枠線＋box-shadow */
body:not(.top) .reg-flow .step0 div:first-child > div,
body:not(.top) .reg-flow .step1 div:first-child > div,
body:not(.top) .reg-flow .step2 div:first-child > div,
body:not(.top) .reg-flow .step3 div:first-child > div {
  border: 1px solid #aaa;
  box-shadow: 3px 3px 3px 0 rgba(0,0,0,0.35);
}

/* ステップ0 */
body:not(.top) .reg-flow .step0 {
  margin-bottom: -20px;
}
@media (max-width:767px) {
  body:not(.top) .reg-flow .step0 {
    margin-bottom: 5px;
  }
}

body:not(.top) .reg-flow .step0 div:first-child > div {
  width: 100%;
  height: 0;
  padding-top: 19%;
  position: relative;
}

body:not(.top) .reg-flow .step0 div:first-child > div span {
  font-size: 1.3rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  color: rgba(0,0,0,0.7);
}

/* ステップ1 */
body:not(.top) .reg-flow .step1 {
  margin-bottom: -20px;
}
@media (max-width:767px) {
  body:not(.top) .reg-flow .step1 {
    margin-bottom: 5px;
  }
}

/* ステップ2 */
body:not(.top) .reg-flow .step2 {
  margin-bottom: 30px;
}
@media (max-width:767px) {
  body:not(.top) .reg-flow .step2 {
    margin-bottom: 5px;
  }
}

/* ステップ3 */
body:not(.top) .reg-flow .step3 {
  margin-bottom: 60px;
}
@media (max-width:767px) {
  body:not(.top) .reg-flow .step3 {
    margin-bottom: -20px;
  }
}


body:not(.top) .box-red-register {
  border: 1px solid red;
  padding: 1em 1.2em;
  background: #fef9f5;
}

/* 非トップページ：情報コーナー
----------------------------------------*/

body:not(.top) #info-index {
  border:1px solid #f8931f;
  background-color:#FFFBF4;
  padding:1.1em 1em;
  margin-bottom:50px;
}

body:not(.top) .info-list {
  list-style: none;
}
@media (max-width:767px) {
  body:not(.top) .info-list {
    /*list-style: disc;*/
    margin-left: 1em;
  }
}

/* パートナーシップ構築シンポジウム
----------------------------------------*/

ul#sympo2022-videos {
  padding: 0 1em;
}

ul#sympo2022-videos li {
  padding: 10px 0;
  padding: 0px 0 17px;
  /*border-top: 1px solid #ccc;*/
  border-top: 1px solid #f8931f;
}

ul#sympo2022-videos li img {
  padding-right: 20px;
}

ul#sympo2022-videos li p {
  margin-bottom: 0.5em;
}

ul#sympo2022-videos li .video-title {
  font-weight: bold;
  /*color: #f8931f;*/
  /*color: #000;*/
  margin-top: 1em;
  margin-bottom: 0;
}

ul#sympo2022-videos li div:first-child a img {
  opacity: 1.0;
  transition: all 0.3s;
}
ul#sympo2022-videos li div:first-child a:hover img {
  opacity: 0.8;
  transition: all 0.3s;
}

ul#sympo2022-videos li div:last-child a {
  display: inline-block;
  color: #000;
  text-decoration: none;
  transition: all 0.3s;
}
ul#sympo2022-videos li div:last-child a:hover {
  color: #f8931f;
  transition: all 0.3s;
}

@media (max-width:767px) {
  ul#sympo2022-videos li,
  ul#sympo2022-videos li:last-child {
    padding: 5px 0;
    border: none;
  }
  ul#sympo2022-videos li .video-title {
    margin-top: 0.5em;
  }
}

/* 非トップページ：FAQ・お問合せ
----------------------------------------*/

body:not(.top) .faqs #toc {
  /*border: 3px solid #efefef;*/
  /*border: 3px solid #dcdddd;*/
  border: 3px solid #E8E8E8;
  padding: 1em;
  margin-bottom: 2em;
  overflow: hidden;
}

body:not(.top) .faqs #toc ul li {
  float: left;
  width: 33%;
  line-height: 28px;
  font-weight: bold;
}
@media (max-width:767px) {
  body:not(.top) .faqs #toc ul li {
    width: 100%;
  }
}

body:not(.top) .faqs #toc ul li a {
  text-decoration: none;
}

body:not(.top) .faqs #toc ul li a i {
  color: #f8931f;
}

body:not(.top) .faqs h3 {
  margin-top: 1em;
  margin-bottom: 2em;
}

body:not(.top) .faqs .faq-wrap {
  border-bottom: 2px solid #E8E8E8;
  margin-bottom: 1.5em;
}

body:not(.top) .faqs .faq-q {
  font-weight: bold;
  margin-bottom: 1em;
}

body:not(.top) .faqs .faq-q .start {
  width: calc(100% - 30px);
}

body:not(.top) .faqs .faq-q .q-num {
  border: 1px solid #f8931f;
  /*margin-right: 0.7em;*/
  position: relative;
  top: -2px;
  height: 27px;
}

body:not(.top) .faqs .faq-q .q-num div:first-child {
  display: inline-block;
  background-color: #f8931f;
  color: white;
  width: 40px;
  height: 100%;
  text-align: center;
  padding: 1px 0 0;
}

body:not(.top) .faqs .faq-q .q-num div:last-child {
  display: inline-block;
  color: #f8931f;
  width: 34px;
  text-align: center;
  padding: 1px 0 0;
}

body:not(.top) .faqs .faq-q p {
  max-width: calc(100% - 76px);
  padding-left: 0.7em;
  padding-right: 1.5em;
  margin-bottom: 0;
}
@media (max-width:767px) {
  body:not(.top) .faqs .faq-q p {
    padding-right: 0.5em;
  }
}

body:not(.top) .faqs a .faq-q .end {
  width: 25px;
  height: 25px;
  border: 1px solid #f8931f;
  border-radius: 50%;
  text-align: center;
  line-height: 23px;
  padding-top: 2px;
  color: #ffffff;
  background-color: #f8931f;
  margin-right: 5px;
  transform: rotate(180deg);
  position: relative;
  top: -2px;
  transition: color .35s, background-color .35s, transform .35s;
}
body:not(.top) .faqs a.collapsed .faq-q .end {
  color: #f8931f;
  background-color: #ffffff;
  transform: rotate(0deg);
  transition: color .35s, background-color .35s, transform .35s;
}
@media (max-width:767px) {
  body:not(.top) .faqs a .faq-q .end {
    padding-top: 0px;
  }
}

body:not(.top) .faqs .faq-a {
  padding: 1rem 1.5rem;
  margin-left: 1.5rem;
  background-color: #f2f2f2;
  margin-bottom: 16px;
}

body:not(.top) .faqs .faq-a a {
  word-break: break-all;
}

body:not(.top) .faqs .faq-a blockquote {
  /*background-color: #efefef;*/
  /*background-color: #FCFCFC;*/
  background-color: #FBFBFB;
  border: 1px solid #e5e5e5;
  margin: 0.5em 1em 1em;
  font-size: 14px;
  padding: 0.5em 0.8em;
}

@media print {
  body:not(.top) .faqs .faq-wrap .collapse:not(.show) {
    display: block;
  }
}

/* 非トップページ：登録企業リスト
----------------------------------------*/

body:not(.top) .indus-list,
body:not(.top) .pref-list {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #f8931f;
  margin-bottom: 2rem;
}

body:not(.top) .pref-list ul li {
  display: inline-block;
  width: 4rem;
  margin-right: 1rem;
}

body:not(.top) .list-lead {
  padding: 1.8rem 0 0 2rem;
}
@media (max-width:767px) {
  body:not(.top) .list-lead {
    padding: 0.7rem;
  }
}

body:not(.top) .list-summary {
  background-color: #f2f2f2;
  margin: 0 0 40px;
  font-weight: bold;
  vertical-align: middle;
}

body:not(.top) .list-summary .list-total {
  background-color: #f8931f;
  color: white;
  border-radius: 5px;
  padding: 10px 0 5px;
  line-height: 1.3;
}
@media (max-width:767px) {
  body:not(.top) .list-summary .list-total {
  padding: 20px 0 5px;
  }
}

body:not(.top) .list-summary #declaration-total-number {
  font-size:3.5rem;
}
@media (max-width:767px) {
  body:not(.top) .list-summary #declaration-total-number {
    font-size:2rem;
  }
}

body:not(.top) a[data-bs-toggle=collapse] {
  text-decoration: none;
}


body:not(.top) .corp-list h3 {
  margin-bottom: 0.5rem;
}

body:not(.top) .corp-list ul {
  overflow: hidden;
  margin-left: 1rem;
}

body:not(.top) .corp-list ul li {
  display: inline;
  width: 24.5rem;
  float: left;
  margin-right: 0.5rem;
}
@media (max-width:767px) {
  body:not(.top) .corp-list ul li {
    width: 100%;
  }
}

body:not(.top) .corp-list h3.sub-hdg {
  margin-left: 1.5rem;
}
body:not(.top) .corp-list ul.sub-hdg-ul {
  margin-left: 2.5rem;
}
body:not(.top) .corp-list ul.sub-hdg-ul li {
  width: 23.75rem;
}

/* リンク（.link-v と同じ配色） */

body:not(.top) .corp-list ul li a {
  color: #212529; /* 黒 */
  text-decoration: none;
}
body:not(.top) .corp-list ul li a:visited {
  color: brown; /* ブラウン */
}
body:not(.top) .corp-list ul li a:hover {
  color: #f8931f; /* オレンジ */
  text-decoration: underline;
}

/* NEW アイコン */

body:not(.top) .corp-list ul li.new::after {
  content: 'NEW';
  border-radius: 4px;
  padding: 1px 4px;
  font-weight: bold;
  font-size: 0.8rem;
  color: white;
  background-color: #f8931f;
  position: relative;
  top: -2px;
  margin-left: 0px;
  font-family: -apple-system, "Yu Gothic", YuGothic, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  opacity: 0.8;
}

/* 件数バッジ */

.badge-orange {
  color: #fff;
  background-color: salmon;
  position: relative;
  top: -1px;
}

@media print {
  .badge-orange {
    border: 1px solid salmon;
  }
}

body:not(.top) .corp-list .badge-pill {
  padding: 0.25em 0.6em;
  border-radius: 10rem;
}

/* タブ・ペイン */

.nav-tabs .nav-link { /* Bootstrap 4 _nav.scss 修正 */
    border: 1px solid transparent;
    /*border-top-left-radius: .25rem;
    border-top-right-radius: .25rem;*/
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
}

/*@media (max-width:767px) {
  .nav-item {
    white-space: pre-line;
  }
}*/

.nav-item button.bg-orange {
  background-color: #f8931f;
  border: none;
  border-right: 1px solid #eee8aa;
  opacity: 0.5;
  transition: opacity 0.3s;
}
.nav-item button.bg-orange:hover,
.nav-item button.bg-orange:active {
  background-color: #f8931f;
  opacity: 0.9;
}

.nav-item button.bg-orange.active,
.nav-item button.bg-orange.active:hover,
.nav-item button.bg-orange.active:active {
  background-color: #f8931f;
  border: none;
  border-right: 1px solid #eee8aa;
  opacity: 1.0;
}

.nav-tabs { /* Bootstrap 4 _nav.scss 修正 */
  /*border-bottom: 1px solid #dee2e6;*/
  border-bottom: 1px solid #f8931f;
}

/* 企業名検索 */

#corp-search-pane.tab-pane .btn-search {
  padding: .175rem 0.75rem;
}

body:not(.top) #corp-search-pane.tab-pane .corp-list ul li {
  display: block;
  width: 100%;
  float: none;
  margin-right: 0;
  padding-right: 0.5rem;
}

@media (max-width: 768px) {
  #corp-search-pane.tab-pane input#corp-search-text {
    font-size: 16px;
  }
}

/* 登録フォーム
------------------------------------------------------------*/

/* フォームページ
----------------------------------------*/

#lead-form-entry {
  margin-top: -10px;
}

#form-entry .form-entry-1 {
  background-color: beige;
}

#form-entry .form-entry-1 .item {
  background-color: #FADAA5;
}

#form-entry .form-entry-1 .sub-item {
  background-color: #FCEEBB;
}
@media (max-width:767px) {
  #form-entry .form-entry-1 .sub-item {
    /*background-color: #FADAA5;*/
    background-color: #FFEAB5;
  }
}

#form-entry .form-entry-1 .form-group {
  margin-bottom: 0;
  border-bottom: 2px solid white;
}

#form-entry .form-entry-1 .bb2px-white {
  border-bottom: 2px solid white;
}

#form-entry .form-entry-1 legend span.text-red,
#form-entry .form-entry-1 label span.text-red {
  text-shadow: 0.2px 0.2px 0.2px darkorange;
}

#form-entry span {
  font-size: 0.9rem;
  line-height: 1.4;
  display: inline-block;
}

#form-entry .form-control-short {
  max-width: 5rem;
}

#form-entry .form-control-mid {
  max-width: 10rem;
}

#form-entry select optgroup[label] {
  font-weight: normal!important;
}

#form-entry .form-entry-1 .row .col-md-6,
#form-entry .form-entry-1 .row .col-md-4 {
  position: relative;
}

#form-entry .form-entry-1 .badge-must {
  position: absolute;
  top: 6px;
  right: 10px;
  border-radius: 3px;
  font-size: 0.8rem;
}

#form-entry .form-entry-2 .badge-must {
  border-radius: 3px;
  margin-left: 5px;
  font-size: 0.8rem;
}

#form-entry .form-entry-2 .custom-file {
  width: 16rem;
}

#form-entry .form-entry-1 .badge-must,
#form-entry .form-entry-2 .badge-must {
  padding: 0.25em 0.4em;
}

#form-entry .form-entry-2 input[type=file] {
  max-width: 100%;
}

#form-entry .form-entry-2 .custom-control-label::before {
  /*border: #adb5bd solid 1px;*/
  border: #8d959d solid 1px;
}

#form-entry .form-entry-2 legend {
  padding-left: 30px;
  text-indent: -17px;
}

#form-entry .form-entry-2 legend span.badge-must {
  text-indent:0px;
}

#form-entry .form-entry-2 #declare-1 legend strong {
  font-size: 90%;
}

#form-entry input.btn-submit {
  display: inline-block;
  border-width: 2px;
  border-style: solid;
  border-color: darkorange;
  border-radius: 10px;
  background-color: white;
  padding: 8px 17px 9px 17px;
  color: darkorange;
  text-decoration: none;
  font-weight: bold;
  font-size: 1rem;
  transition: border-color 0.5s, color 0.5s, background-color 0.5s;
  outline: none;
}
#form-entry input.btn-submit:hover {
  border-color: darkorange;
  color: white;
  background-color: darkorange;
}

#form-entry .note-data-rule {
  width: 72%;
  margin: 1.5rem auto 0;
}
@media (max-width:767px) {
  #form-entry .note-data-rule {
    width: 100%;
  }
}

#form-entry #para-mold {
  position: relative;
}

#form-entry #term-mold {
  cursor: pointer;
  font-size: 1rem;
}

#form-entry #term-mold:hover {
  color: orange;
}

#form-entry #desc-mold {
  position: absolute;
  top: 35px;
  left: 270px;
  border: 2px solid orange;
  border-radius: 6px;
  box-shadow: 3px 3px 3px #bbb;
  padding: 1em 2em 1em 1.5em;
  width: 510px;
  color: black;
  background-color:#FFFCF3;
  z-index: 1;
  font-size: 0.9rem;
  transition: opacity 0.5s;
}
@media (max-width:767px) {
  #form-entry #desc-mold {
    max-width: 510px;
    width: 85%;
    top: 80px;
    left: 30px;
  }
}
#form-entry #desc-mold.opa-1 {
  opacity: 1;
}
#form-entry #desc-mold.opa-0 {
  opacity: 0;
}

#form-entry #close-desc-mold {
  position: absolute;
  top: 3px;
  right: 6px;
  font-weight: bold;
  font-size: 1.1rem;
  cursor: pointer;
}

#form-entry .wrap-in-charge .badge-must {
  opacity: 1;
  transition: opacity 0.5s;
}
#form-entry .wrap-in-charge .badge-must.badge-opa {
  opacity: 0.3;
}

#form-entry optgroup {
  color: #999;
}
#form-entry optgroup > option {
  color: #000;
}

/* 担当者２、３ */

#form-entry .wrap-btn-in-charge_2_and_3 {
 background-color: beige;
 padding: 2px 5px;
 border-bottom: 2px solid white;
}

#form-entry .btn-in-charge_2_and_3 {
 font-size: 0.8rem;
 padding: 0.35em 0.4em 0.25em;
 white-space: normal;
 line-height: 1.2;
}

#form-entry .bg-success {
  color: #fff;
  background-color: #28a745!important;
  transition: all 0.3s;
}
#form-entry .bg-success:hover {
  color: #fff;
  background-color: rgb(24, 135,84)!important;
  text-decoration: none;
}

#form-entry #representative {
  min-width: 16px;
}

#form-entry .wrap-in-charge .form-check.d-inline-block {
  position: relative;
  left: 0.8rem;
}

#form-entry .wrap-in-charge .paren-s {
  position: relative;
  left: -2.1rem;
  top: -1px;
}
#form-entry .wrap-in-charge .paren-str {
  position: relative;
  left: -0.9rem;
}
#form-entry .wrap-in-charge .paren-e {
  position: relative;
  top: -1px;
  left: -0.7rem;
}

/* チェックボックス、ラジオボタン、プルダウンメニューの枠線の色 */

#form-entry .form-control { 
  border-color: #ced4da!important; 
}
#form-entry .form-check-input {
  border-color: #8d959d!important;
  /*border-color: #6d757d!important;*/
}
#form-entry .form-select {
  border-color: #ced4da!important; 
}


/* きっかけアンケート
----------------------------------------*/

#box-kikkake-enq {
  margin: 0 0.5em 1.5em;
  border: 2px solid orange;
  /*padding: 1em 1.5em 1.6em;*/
  padding: 1em 1.5em 1.2em;
  /*background-color: rgb(245, 245, 220);*/ /*beige*/
  background-color: rgba(245, 245, 220, 0.3);
}
@media (max-width: 767px) {
  #box-kikkake-enq {
    margin: 0 0 1.5em;
    padding: 1em 1em 1.2em;
    }
}

#box-kikkake-enq #q-B {
  margin-top:1.4rem;
}

#box-kikkake-enq ol.form-check {
  list-style-type: none;
  padding-left: 2rem;
  line-height: 26px;
}
#box-kikkake-enq ol li ol.form-check {
  padding-left: 1.4rem;
  margin-left: 1.4rem;
}
@media (max-width: 767px) {
  #box-kikkake-enq ol.form-check {
    padding-left: 1.5rem;
  }
  #box-kikkake-enq ol li ol.form-check {
    padding-left: 1rem;
  }
}

/* ol/li 第一階層の項目間を少し空ける */
#box-kikkake-enq p#q-A + ol.form-check > li { 
  margin-bottom: 16px;
}
#box-kikkake-enq p#q-A + ol.form-check > li:first-child,
#box-kikkake-enq p#q-A + ol.form-check > li:nth-child(5),
#box-kikkake-enq p#q-A + ol.form-check > li:nth-child(6) {
  margin-bottom: 8px;
}
#box-kikkake-enq p#q-A + ol.form-check > li:nth-child(7) {
  margin-bottom: 22px;
}
#box-kikkake-enq p#q-B + ol.form-check > li { 
  margin-bottom: 16px;
}
#box-kikkake-enq p#q-B + ol.form-check > li:first-child,
#box-kikkake-enq p#q-B + ol.form-check > li:nth-child(6) {
  margin-bottom: 8px;
}

#box-kikkake-enq ol span {
  font-family: monospace;
  font-size: 1rem;
  line-height: 26px;
}

#box-kikkake-enq .form-check-input {
  border-color: orange!important;
  border-width: 2px!important;
}

#box-kikkake-enq .form-check-input:checked {
  /*background-color: #0d6efd;*/ /* default blue */
  background-color: orange;
}

#box-kikkake-enq ol li textarea.form-control {
  border-color: orange!important;
  border-width: 2px!important;
  margin-bottom: 5px;
  max-width: 603px;
}
#box-kikkake-enq ol li ol li textarea.form-control {
  max-width: 560px;
}
@media (max-width: 767px) {
  #box-kikkake-enq ol li textarea.form-control {
    max-width: 281px;
  }
  #box-kikkake-enq ol li ol li textarea.form-control {
    max-width: 244px;
  }
}

#box-kikkake-enq .enq-res {
  margin-left: 1em;
}

/* 確認ページ、エラーページ
----------------------------------------*/

body #form-entry .form-entry-2 input.btn-submit,
body #form-entry .form-entry-2 input.btn-back {
  display: inline-block;
  border-width: 2px;
  border-style: solid;
  border-color: darkorange;
  border-radius: 10px;
  background-color: white;
  padding: 8px 0 9px 0;
  color: darkorange;
  text-decoration: none;
  font-weight: bold;
  font-size: 1rem;
  transition: border-color 0.5s, color 0.5s, background-color 0.5s;
  outline: none;
  width: 9.375rem;
}
body #form-entry .form-entry-2 input.btn-submit:hover,
body #form-entry .form-entry-2 input.btn-back:hover {
  border-color: darkorange;
  color: white;
  background-color: darkorange;
}

body #form-entry .form-entry-2 iframe {
  border-bottom-color: rgb(238, 238, 238);
  border-bottom-style: inset;
  border-bottom-width: 2px;
  border-image-outset: 0;
  border-image-repeat: stretch;
  border-image-slice: 100%;
  border-image-source: none;
  border-image-width: 1;
  border-left-color: rgb(238, 238, 238);
  border-left-style: inset;
  border-left-width: 2px;
  border-right-color: rgb(238, 238, 238);
  border-right-style: inset;
  border-right-width: 2px;
  border-top-color: rgb(238, 238, 238);
  border-top-style: inset;
  border-top-width: 2px;
}

/* ライトボックス */

body #form-entry .form-entry-2 .modal-header {
  border-bottom: none;
  padding-bottom: 0;
}

body #form-entry .form-entry-2 .modal-body {
  text-align: center;
  padding-bottom: 0;
}

body #form-entry .form-entry-2 .modal-footer {
  justify-content: center;
  border-top: none;
  padding-bottom: 25px;
}

body #form-entry .form-entry-2 .modal-footer button {
  width: 74px;
}

body #form-entry .form-entry-2 .modal-footer .btn-primary {
  --bs-btn-bg: darkorange!important;
  --bs-btn-border-color: darkorange!important;
  --bs-btn-hover-bg: orange!important;
  --bs-btn-hover-border-color: orange!important;
  --bs-btn-active-bg: orange!important;
  --bs-btn-active-border-color: orange!important;
}

/* 企業グループ登録フォーム
----------------------------------------*/

table.tab-group {
  border: 1px solid black;
  border-collapse: collapse;
  width: 100%;
}

table.tab-group td {
  border: 1px solid black;
  padding: 3px 5px;
}

@media (min-width:768px) {
  table.tab-group td:first-child {
    width: 30%;
  }
}

/* ハンバーガーメニュー by SmartMenus
------------------------------------------------------------*/

/* SmartMenus */

.main-menu-btn {
  /*position: relative;*/
  display: inline-block;
  width: 28px;
  height: 28px;
  text-indent: 28px;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  
  position: absolute;
  top: 10px;
  right: 10px;
}

/* hamburger icon */
.main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after {
  position: absolute;
  top: 50%;
  left: 2px;
  height: 2px;
  width: 24px;
  background: white;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}
.main-menu-btn-icon:before {
  content: '';
  top: -7px;
  left: 0;
}
.main-menu-btn-icon:after {
  content: '';
  top: 7px;
  left: 0;
}
/* x icon */
#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon {
  height: 0;
  background: transparent;
}
#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before {
  top: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after {
  top: 0;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
/* hide menu state checkbox (keep it visible to screen readers) */
#main-menu-state {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  overflow: hidden;
  clip: rect(1px,1px,1px,1px);
}
/* hide the menu in mobile view */
#main-menu-state:not(:checked) ~ #main-menu {
  display: none;
}
#main-menu-state:checked ~ #main-menu {
  display: block;
}
@media (min-width: 768px) {
  /* hide the button in desktop view */
  .main-menu-btn {
    position: absolute;
    top: -99999px;
  }
  /* always show the menu in desktop view */
  #main-menu-state:not(:checked) ~ #main-menu {
    display: block;
  }
}

.sm-mint {
    border-top: 2px solid #f8931f;
    border-bottom: 2px solid #f8931f;
    background: #fff;
}

.sm-mint li {
    border-top: 1px solid rgba(210, 105, 30, 0.3);
}

.sm-mint a, .sm-mint a:hover, .sm-mint a:focus, .sm-mint a:active {
    padding: 17px 20px;
    color: chocolate;
    font-size: 1.1rem;
}

