@charset "utf-8";

/* 全体 */

* {
  margin: 0;
  padding: 0;
}
:root {
  --key-color: #d59c3d;
  --font-color: #000000;
}
body {
  font-family: a-otf-ud-shin-go-pr6n, sans-serif;
  font-weight: bold;
  font-style: normal;
  color: var(--font-color);
  font-size: clamp(16px, 1.5vw, 18px);
}
img {
  max-width: 100%;
  height: auto;
}
h1,
h2,
h3,
h4 {
  margin: 0;
  padding: 0;
  font-size: 1rem;
  font-weight: bold;
}

/* ヘッダー */

#header {
  background-color: var(--key-color);
}
.header-top {
  display: flex;
  gap: 5%;
  width: 87%;
  margin: 0 auto;
}
.header-top img {
  width: 10%;
}
.header_site-title {
  background-color: var(--key-color);
  height: 250px;
  font-size: clamp(20px, 2.75vw, 54px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 3%;
  line-height: 150%;
  white-space: nowrap;
  font-weight: bold;
}

/*アクシビリティ*/
.fontsize,
.btn {
  display: flex;
  list-style: none;
  gap: 6px;
  margin-right: 8px;
  width: calc(50% - 48px);
  line-height: 2;
}

/* 共通 */
.width {
  max-width: 1920px;
  margin: 0 auto;
}

/* ナビゲーション */

.g-navi ul {
  width: 81%;
  margin: auto;
  /* font-size: 16px; */
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
  text-align: center;
  padding-inline-start: 0px;
  border-bottom: 6px solid var(--key-color);
  background-color: #fff;
}
.g-navi li {
  position: relative;
  height: 105px;
  width: calc(100% / 5);
  display: flex;
  align-items: center;
  padding-left: max(3vw, 45px);
  text-align: left;
  line-height: 150%;
  z-index: 1000;
  font-weight: bold;
}
.g-navi li + li {
  position: relative;
}
.g-navi li + li::before {
  content: '';
  display: block;
  height: 105px;
  border-left: 6px solid var(--key-color);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.right-line:last-child {
  position: relative;
}
.right-line:last-child::after {
  content: '';
  display: block;
  height: 105px;
  border-left: 6px solid var(--key-color);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 19.5%;
  margin: auto;
}
.click-mark::before {
  content: '';
  background-color: var(--key-color);
  display: block;
  position: absolute;
  left: 10px;
  height: 30px;
  width: 30px;
  border-radius: 50%;
  /* top: 41%; */
  z-index: -1;
}
.click-mark::after {
  content: '';
  display: block;
  position: absolute;
  left: 20px;
  height: 0px;
  width: 25px;
  border-bottom: 8px solid transparent;
  border-left: 14px solid #fff;
  border-top: 8px solid transparent;
  /* top: 56px; */
}
.click-mark {
  color: var(--font-color);
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.click-mark:hover {
  color: var(--key-color);
  text-decoration: underline;
}
.g-navi img {
  width: 20px;
  height: 20px;
}

.options.mob {
  display: none;
}
.options {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  font-size: clamp(20px, 2.75vw, 54px);
}
.nav-menu-title {
  padding-right: 12px;
  white-space: nowrap;
  font-size: clamp(20px, 2.75vw, 54px);
  font-weight: 900;
}
.swit a,
.fontsize a {
  flex-flow: nowrap;
  text-decoration: none;
  border: #333 solid 1px;
  border-radius: 3px;
  padding: 2px 4px;
  font-size: clamp(16px, 2.5vw, 48px);
  white-space: nowrap;
}

.fontsize li,
.btn li {
  margin: auto 0;
}

.fontsize a {
  color: #333;
  background-color: #f2f2f2;
}

.fontsize.Small a[title='Small'] {
  border-width: 2px;
}
.fontsize.Medium a[title='Medium'] {
  border-width: 2px;
}
.fontsize.Large a[title='Large'] {
  border-width: 2px;
}

.swit-bk a {
  color: #f2f2f2;
  background-color: #333;
}

.swit-wh a {
  color: #333;
  background-color: #f2f2f2;
}

.swit-yw a {
  color: #333;
  background-color: #ffff00;
}

/* main */

/* メインビジュアル */

.mv-cont {
  background-color: #f2f2f2;
  text-align: center;
  padding: 77px 0;
  margin-bottom: 11%;
}
.width {
  width: 81%;
  margin: 0 auto;
}
.mv-img {
  width: 30%;
  height: auto;
  margin-bottom: 5.5%;
}
.mv-h1 {
  font-size: clamp(25px, 3vw, 32px);
  margin-bottom: 5.5%;
  font-weight: bold;
}
.mv-text {
  line-height: 180%;
}
.mv-cont p span {
  border-bottom: solid 0.2vw var(--font-color);
}
.mv-text-taikaishi {
  list-style-position: inside;
  text-indent: -1em;
}

.mv-cont__mvh1--text{
  margin-bottom: 5.5%;
  text-align: center;
  border: 1px solid #1f1f1f;
  width: fit-content;
  margin-inline: auto;
  padding: 26px;
  border-radius: 10px;
  line-height: 1.85;
}

  .sp-br{
    display: none;
  }

@media screen and (max-width: 768px) {
  .mv-cont__mvh1--text{
    margin-bottom: 5.5%;
    text-align: left;
    border: 1px solid #1f1f1f;
    width: fit-content;
    margin-inline: 10px;
    padding: 13px;
    border-radius: 10px;
    line-height: 1.85;
  }

  .sp-br{
    display: block;
  }
}

/* 行事予定 */
.pc-hidden {
  display: none;
}
.flex_column {
  display: flex;
  flex-direction: row;
}
.left_padding01 {
  padding-left: 6em;
}
.left_padding02 {
  padding-left: 2em;
}

/* 共通部分 */

/* オレンジ背景見出し */
.h2-bg {
  background-color: var(--key-color);
  width: auto;
  height: clamp(40px, 6vw, 60px);
  display: flex;
  align-items: center;
  text-indent: 1em;
  font-size: clamp(18px, 2vw, 24px);
  color: #fff;
  letter-spacing: 0.2vw;
  margin-bottom: 2%;
}
.flap_mv {
  display: none;
}
.pdf-link {
  position: relative;
  padding-left: 1em;
  font-weight: bold;
  display: inline-block;
}
.pdf-link::before {
  content: '・';
  position: absolute;
  left: 0;
}
.pdf-link:hover {
  text-decoration: none;
}
/* 共通ここまで */

.schedule-list {
  margin-bottom: 7.5%;
}
.schedule-list li {
  margin-bottom: 2%;
}

/* 協会案内 */

/* 共通部分 */

/* 左あしらい線 */
.line-left {
  border-left: 0.4vw solid var(--key-color);
  list-style-type: none;
  /* text-indent: 0.5em; */
  padding-left: 1%;
  font-weight: bold;
  margin-bottom: 1.5%;
  line-height: 100%;
  font-size: clamp(18px, 2vw, 24px);
}
.dot-line-trns {
  position: relative;
  list-style-type: none;
  padding-left: 1.4%;
  font-weight: bold;
  line-height: 1.7;
  font-size: clamp(18px, 2vw, 24px);
}
.dot-line-trns::before {
  content: '';
  position: absolute;
  border-left: 0.4vw solid var(--key-color);
  height: 24px;
  top: 10px;
  left: 0;
}
.experience-list-cont-p.dot-line-trns {
  margin-bottom: 1.5%;
}
.experience-list-cont-p.dot-line-trns + .bold {
  padding-left: 1.4%;
}

/* 下余白 */
.bottom-space {
  margin-bottom: 7.5%;
}
/* 左余白 */
.left-alignment {
  padding-left: 2%;
  list-style: var(--key-color);
}
/* リスト点 */
.dot {
  color: var(--key-color);
  margin-left: 1.3%;
  list-style-type: disc;
}
/* リスト文字色 */
.text-black {
  color: var(--font-color);
  padding-left: 0;
}
/* 行間 */
.line-height {
  line-height: 180%;
}
/* カッコ数字 */
.brackets {
  list-style-type: none;
  counter-increment: cnt;
}
.brackets::before {
  content: '(' counter(cnt) ') ';
}

/* 共通ここまで */

/* 基本方針 */
.basic-policy {
  margin-bottom: 9%;
}
.basic-policy-text {
  text-indent: 1em;
}

/* 重点項目 */
.priority-list {
  padding-left: 2em;
}

/* 県補助事業 */
.auxiliary-list-text-p {
  padding-left: 4%;
}

/* 組織 */
.organization-cont::before,
.related-cont::before {
  padding-left: 1%;
}
.organization-img {
  width: 50%;
  margin: 0 auto;
  padding-top: 3%;
}
.organization-list-text,
.related-list-text {
  list-style: inside;
  margin-left: 4.5%;
}
.organization-list-text span,
.related-list-text span {
  padding-left: 0;
}
.organization-list-text-p,
.related-list-text-p {
  padding-left: 4%;
}

/* お問い合わせ先 */

.ask {
  margin: 10% auto;
}
.ask h3 {
  margin-bottom: 5%;
  padding-left: 1%;
  border-left: 0.4vw solid var(--key-color);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: bold;
  line-height: 100%;
}
.ask_box {
  border: solid 3px var(--key-color);
  border-radius: 1rem;
  padding: 0 5% 3% 5%;
  line-height: 150%;
}
.ask_title {
  padding: 0 3%;
  text-align: center;
}
.title-flame {
  max-width: 20em;
  position: relative;
  /*padding: 0 2em;*/
  margin-left: 5em;
  margin-right: 5em;
  background: #fff;
  top: -15px;
  margin: 0 auto;
}
.ask h4 {
  color: var(--key-color);
  font-size: clamp(18px, 2vw, 24px);
}
.bold_num {
  font-size: clamp(18px, 2vw, 24px);
  line-height: 150%;
}
.flap_ask650,
.flap_ask800,
.flap_ask400 {
  display: none;
}

/* フッター */

#footer {
  background-color: var(--key-color);
  height: 290%;
  text-align: left;
  padding: 3% 0;
  line-height: 180%;
}
.flap_footer900,
.flap_footer500,
.flap_footer650 {
  display: none;
}

@media screen and (max-width: 1400px) {
  .ask {
    margin: 10% auto;
  }
  .nav_flap {
    display: block;
  }
  .options.mob {
    display: none;
  }
  .title-flame {
    margin-left: 7em;
    margin-right: 7em;
  }
}
@media screen and (max-width: 1024px) {
  .header_site-title {
    height: 150px;
  }

  .options.mob {
    display: flex;
    align-items: center;
  }
  .options.mob .fontsize,
  .options.mob .btn {
    border-bottom: var(--key-color) 2px solid;
    display: flex;
    width: 100%;
    flex-flow: nowrap;
    list-style: none;
    gap: 5px;
    flex-wrap: none;
    white-space: nowrap;
    line-height: 2;
  }
  .options.mob .fontsize li,
  .options.mob .btn li {
    padding: 0;
    align-items: center;
    border: none;
  }
  .fontsize-change {
    flex-basis: clamp(96px, 10vw, 192px);
  }
  .swit {
    flex-basis: clamp(96px, 10vw, 192px);
  }
  .dot-line-trns::before {
    border-left: 0.4vw solid var(--key-color);
    height: clamp(18px, 2vw, 20px);
    top: 8px;
    left: 0;
  }
  .title-flame {
    margin-left: 6em;
    margin-right: 6em;
  }
}

@media screen and (max-width: 900px) {
  .header_site-title {
    height: 150px;
  }
  .flap_footer900 {
    display: block;
  }
}
@media screen and (max-width: 800px) {
  .flap_mv {
    display: block;
  }
  .flap_ask800 {
    display: block;
  }
  .title-flame {
    margin-left: 2em;
    margin-right: 2em;
  }
}
@media screen and (max-width: 750px) {
  .flex_column {
    display: flex;
    flex-direction: column;
  }
  .pc-hidden {
    display: block;
  }
  .sp-hidden {
    display: none;
  }
  .left_padding {
    padding-left: 2em;
  }
  .left_padding01 {
    padding-left: 2em;
  }
  .left_space {
    padding-left: 28px;
  }
}

@media screen and (max-width: 650px) {
  .header-top img {
    display: none;
  }
  .flap_ask650 {
    display: block;
  }
  .title-flame {
    width: fit-content;
    padding: 0;
    top: -35px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
  }
  .flap_footer650 {
    display: block;
  }
}
@media screen and (max-width: 500px) {
  .mv-cont {
    padding: 5.5% 0;
  }
  /* 左あしらい線 */
  .line-left {
    border-left: 1vw solid var(--key-color);
  }
  /* 左余白 */
  .left-alignment {
    padding-left: 4%;
    /* line-height: 100%; */
  }
  .auxiliary-list-text-p {
    padding-left: 5.5%;
  }
  .organization-list-text-p,
  .related-list-text-p {
    padding-left: 7%;
  }
  .organization-img {
    width: 90%;
  }
  .ask h3 {
    margin-bottom: 13%;
    border-left: 1vw solid var(--key-color);
  }
  .ask_box {
    padding: 0 3% 10% 3%;
  }
  .ask_title_size {
    padding: 0 1rem;
  }
  .flap_footer500 {
    display: block;
  }
  .pc-hidden {
    display: block;
  }
  .sp-hidden {
    display: none;
  }
  .dot-line-trns {
    padding-left: 2%;
  }
  .dot-line-trns::before {
    border-left: 1vw solid var(--key-color);
    height: clamp(18px, 2vw, 20px);
    top: 7px;
  }
}
@media screen and (max-width: 400px) {
  .flap_ask400 {
    display: block;
  }
  .bold_num {
    letter-spacing: -0.1em;
  }
}

/* 他ページ共通 */
/* タイトル中央ぞろえ */
.h2-bg-center {
  background-color: var(--key-color);
  width: auto;
  /* height: clamp(40px,6vw,60px); */
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(18px, 2vw, 24px);
  color: #fff;
  letter-spacing: 0.2vw;
  margin-bottom: 4%;
}
/* 上下余白 */
.tb-space {
  margin: 5% auto;
}
/* ・無し */
.dot-none {
  list-style: none;
}
/* ・との余白 */
/* .dot-space{
    padding-left: 1%;
} */
/* 左にスペース */
.left-space {
  padding-left: 1.5%;
}
.operatiing-list-title,
.experience-list-title,
.workshop-list-title,
.training-list-title,
.straining-programe-list-title,
.dispatch-list-title,
.supporte-list-title,
.location {
  display: block;
}
.straining-programe-list-cont-p.dot-line-trns {
  margin-bottom: 1.5%;
}
.straining-programe-list-cont > .bold {
  padding-left: 1.4%;
}

/* 障がい者110番運営事業 */

.operatiing-list {
  display: flex;
  justify-content: center;
  list-style: none;
  gap: 3%;
  font-size: clamp(23px, 3vw, 32px);
  padding-bottom: 3%;
}

.operatiing-list li {
  border: solid 0.2vw var(--font-color);
  border-radius: 1rem;
  width: 20%;
  height: 13vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
.tell {
  font-size: clamp(28px, 3vw, 40px);
  text-align: center;
  word-break: break-all;
}
.tell span {
  border-bottom: 0.2vw solid var(--font-color);
  padding-bottom: 0.5%;
}
.mail-logo,
.phone {
  font-size: clamp(20px, 3vw, 28px);
}
.tel-text {
  text-align: center;
}
.consultation {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
}
.consultation li {
  background-color: var(--key-color);
  border-radius: 1rem;
  width: calc(96% / 3);
  padding: 1% 0;
  text-align: center;
  margin-bottom: 2%;
  color: #ffffff;
}
.consultation li:last-child {
  width: calc(100% / 2);
}
.folding-consultation {
  display: none;
}
.flap_operatiing {
  display: none;
}

table {
  border-collapse: collapse;
  width: 100%;
}
table tr td {
  border: solid 2px #4d4d4d;
  padding: 1% 0;
}
tr {
  text-align: center;
}
.table-top {
  background-color: #f2f2f2;
}
.writing-mode {
  writing-mode: vertical-rl;
}
.folding-table {
  display: block;
}
.tel-column {
  padding-top: 1%;
  padding-right: 1%;
}
.tel-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.22%;
}
.tel-column-fax {
  font-size: /*0.8rem*/ clamp(0.6rem, 3vw, 0.8rem);
  font-weight: 900;
  text-align: center;
  line-height: 1.6;
}

/* 音声機能障がい者発声訓練・指導者養成事業 */
.flap_training {
  display: flex;
}

/* 盲ろう者通訳・介助員派遣事業 */

.dispatch-list {
  border-bottom: 2px solid #4d4d4d;
  padding-bottom: 6%;
}
.target-audience {
  padding-left: 1.5%;
}
.target-audience-p {
  padding-left: 0;
  padding-bottom: 3%;
}

/* 障がい者ITサポート事業 */
.dispatcher,
.supporte-list-text,
.supporte-list-text + p {
  padding-left: 5%;
}
.supporte-list-list {
  padding-left: 5%;
  list-style: inside;
}
.list-space {
  padding-bottom: 2%;
}
.supporte-list-text + p {
  margin-top: 2%;
}

/* 交通アクセス */
.key-color {
  color: var(--key-color);
}
.bold {
  font-size: clamp(18px, 2vw, 24px);
}
.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  padding-top: 3%;
}
.distance {
  list-style: inside;
  padding-left: 2%;
}

@media screen and (max-width: 800px) {
  .folding-consultation {
    display: block;
  }
}

@media screen and (max-width: 600px) {
  .operatiing-list li {
    height: 10vh;
    width: 30vw;
  }
  .flap_operatiing {
    display: block;
  }
  .consultation li {
    border-radius: 0.5rem;
    width: calc(98% / 2);
  }
  .consultation li:last-child {
    width: calc(100% / 1);
  }
  .folding-consultation {
    display: none;
  }
  /* 音声機能障がい者発声訓練・指導者養成事業 */
  .h2-bg-center {
    display: block;
  }
  .flap_training {
    display: block;
  }
  .training_title {
    line-height: 110%;
    text-align: center;
    padding: 5px;
  }
  .tel-flex {
    margin-bottom: 3%;
  }
  .tell {
    font-size: clamp(18px, 3vw, 40px);
  }
}

@media screen and (max-width: 400px) {
  .operatiing-list li {
    height: 8vh;
    border-radius: 0.4rem;
  }
}

/* ハンバーガーメニュー */
@media screen and (max-width: 1024px) {
  .options {
    display: none;
  }
  .g-navi {
    width: 100%;
    background: #fff;
    padding: 25px;
    position: fixed;
    top: 0;
    left: -100vw;
    bottom: 0;
    opacity: 0;
    overflow-y: auto;
    transition: 0.5s;
    z-index: 20;
  }
  .open .g-navi {
    left: 0;
    opacity: 1;
  }
  .g-navi ul.nav-menu {
    margin-bottom: 30px;
  }
  /* .g-navi ul li {
        padding: 10px 0;
    } */
  .hamburger {
    width: 30px;
    height: 30px;
    cursor: pointer;
    position: fixed;
    top: 22px;
    right: 18px;
    transition: 0.5s;
    z-index: 20;
  }
  .hamburger span {
    width: 30px;
    height: 3px;
    background-color: var(--font-color);
    border-radius: 4px;
    display: block;
    position: absolute;
    left: 0;
    transition: 0.5s;
  }
  .hamburger span:nth-child(1) {
    top: 4px;
  }
  .hamburger span:nth-child(2) {
    top: 14px;
  }
  .hamburger span:nth-child(3) {
    bottom: 4px;
  }
  .open .hamburger span {
    background-color: var(--font-color);
  }
  .open .hamburger span:nth-child(1) {
    transform: translateY(10px) rotate(-315deg);
  }
  .open .hamburger span:nth-child(2) {
    opacity: 0;
  }
  .open .hamburger span:nth-child(3) {
    transform: translateY(-10px) rotate(315deg);
  }
  .g-navi ul {
    border-bottom: 0;
  }
  .g-navi li {
    width: 100%;
    height: 60px;
    margin: 0 auto;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-left: 10%;
    border-bottom: solid 2px var(--key-color);
  }
  .g-navi li + li::before {
    display: none;
  }
  .right-line:last-child::after {
    display: none;
  }
  .folding {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  .g-navi li {
    padding-left: 20%;
  }
}
@media screen and (max-width: 500px) {
  .g-navi {
    padding: 25px 0;
  }
  .folding-hm {
    display: block;
  }
}
