@charset "utf-8";
/* CSS Document */
.form dl {
  display: flex;
  flex-direction: column;
}
.form dl dt {
  display: flex;
  align-items: center;
}
.form dl dt span.hissu {
  font-size: 70%;
  display: inline-block;
  padding-inline: 1em;
  margin-left: auto;
  background-color: #D65746;
  color: #FFF;
  border-radius: 3px;
  overflow: hidden;
}
.form dl dd {
  margin-bottom: 8px;
}
@media (min-width: 751px) {
  .form dl {
    width: 900px;
    margin-inline: auto;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .form dl dt {
    align-self: flex-start;
    flex-basis: 30%;
    padding: 8px;
  }
  .form dl dd {
    flex-basis: 70%;
    padding: 8px;
  }
}
.guidance .gaiyo table {
  width: 100%;
}
.guidance .gaiyo table th {
  background-color: #f1d7de;
  text-align: center;
}
.guidance .gaiyo table td {
  background-color: #FBF8F1;
}
.guidance .flow ol {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}
.guidance .flow ol li {
  text-align: center;
  display: flex;
  flex-direction: column;
}
.guidance .flow ol li h4 {
  border-radius: 15px 15px 0 0;
  background-color: #a3997f;
  padding-block: 0.67em;
  color: #FFF;
}
.guidance .flow ol li .txt {
  border-radius: 0 0 15px 15px;
  background-color: #FBF8F1;
  flex-grow: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 8px;
  font-weight: bold;
}
.guidance .flow ol li .txt .memo {
  text-align: left;
  font-size: 90%;
}
.guidance .kengaku .lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 30px;
}
.guidance .kengaku .howto {
  border-radius: 15px;
  border: 3px solid #1D1818;
  padding: 1.5em;
  position: relative;
}
.guidance .kengaku .howto h3 {
  color: #1D1818;
  line-height: 2;
  position: absolute;
  top: -1em;
  left: 1em;
}
.guidance .kengaku .howto h3 span {
  display: inline-block;
  padding-inline: 1em;
  background-color: #FFF;
}
.guidance .kengaku .howto .text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.guidance .kengaku .howto .text .tel {
  font-weight: bold;
  font-size: 120%;
}
.guidance .kengaku .howto .text .mail a {
  display: inline-block;
  padding-inline: 0.5em;
  background-color: #D2DFF1;
}
@media (max-width: 750px) {
  .guidance .gaiyo table, .guidance .gaiyo table tr, .guidance .gaiyo table th, .guidance .gaiyo table td, .guidance .gaiyo table tbody, .guidance .gaiyo table thead {
    display: block;
  }
  .guidance .gaiyo table {
    width: 100%;
    margin-bottom: 15px;
  }
  .guidance .gaiyo table th, .guidance .gaiyo table td {
   /* border-inline: 1px solid #9b042d;*/
    padding: 0.67em 1em;
    text-align: center;
  }
  .guidance .gaiyo table tr:first-child th {
    border-radius: 15px 15px 0 0;
  }
  .guidance .gaiyo table tr:last-child td {
    border-radius: 0 0 15px 15px;
    /*border-bottom: 1px solid #9b042d;*/
  }
  .guidance .flow ol {
    flex-direction: column;
    gap: 20px;
  }
  .guidance .flow ol li {
    position: relative;
    width: 100%;
  }
  .guidance .flow ol li + li::before {
    content: url("../guidance/img/arrow_bottom.png");
    position: absolute;
    bottom: calc(100% - 8px);
    left: calc(50% - 35.5px);
  }
	.guidance .flow ol li .txt br{
		display: none
	}
}
@media (min-width: 751px) {
  .guidance .innr {
    max-width: 1000px;
    margin-inline: auto;
  }
  .guidance .gaiyo table {
    border-radius: 15px;
    overflow: hidden;
    margin-bottom: 30px;
  }
  .guidance .gaiyo table th {
    padding: 1em;
    width: 40%;
    border-bottom: 1px solid #FFF;
  }
  .guidance .gaiyo table td {
    padding: 1em;
    border-bottom: 1px solid #d695a7;
  }
  .guidance .gaiyo table tr:first-child th {
    border-radius: 15px 0 0 0;
  }
  .guidance .gaiyo table tr:first-child td {
    border-radius: 0 15px 0 0;
  }
  .guidance .gaiyo table tr:last-child th {
    border-radius: 0 0 0 15px;
    border-bottom: none;
  }
  .guidance .gaiyo table tr:last-child td {
    border-radius: 0 0 15px 0;
    border-bottom: none;
  }
  .guidance .flow ol {
    flex-direction: row;
    justify-content: center;
    gap: 20px;
  }
  .guidance .flow ol li {
    flex-basis: calc(20% - 20px);
    position: relative;
    width: 100%;
  }
  .guidance .flow ol li + li::before {
    content: url("../guidance/img/arrow_left.png");
    position: absolute;
    right: 100%;
    top: 50%;
  }
  .guidance .flow ol li h4 {
		line-height: 1.2;
		display: flex;
		flex-direction: column;
		height: 4em;
		justify-content: center;
		align-items: center;
  }
}
.ikusou #main .container {
  max-width: 1200px;
  margin: 0 auto 0;
  width: calc(100% - 30px);
}
.ikusou .ikusou_innr {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-direction: column
}
.ikusou .ikusou_innr .contact {
  border: 1px solid #9b042c;
  padding: 1em;
  margin-top: 2em
}
.ikusou .ikusou_innr .contact ul {
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.ikusou .ikusou_innr .contact .btn {
  display: inline-block;
}
.ikusou .ikusou_innr .contact .btn a {
  display: inline-block;
  background: #9b042c;
  color: #FFF;
  font-size: 1.2em;
  padding: 1em 2em;
  font-weight: 900;
}
.ikusou #main section .lead {
  font-size: 1.3em;
  font-weight: 900;
  margin-bottom: 1.5em;
  text-align: center;
}
.ikusou .ikusou_innr .contact .tantou {
  text-align: center;
  border-top: 1px solid #bdbdbd;
  margin-top: 1em;
  padding-top: 1em;
}
@media (max-width: 750px) {
  .ikusou .ikusou_innr .contact ul {
    align-items: center;
    width: calc(80% - 50px);
    margin: auto;
    gap: 10px;
  }
.ikusou #main section .lead {
  font-size: 1.0em;
  text-align:left;
}
}
@media (min-width: 751px) {
  .ikusou .ikusou_innr {
    flex-direction: row;
  }
  .ikusou .ikusou_innr > div {
    flex: 2 20%;
  }
  .ikusou .ikusou_innr .contact ul li img {
    max-width: 300px;
  }
  .ikusou .ikusou_innr > div:first-child {
    flex: 3 20%;
  }
  .ikusou .ikusou_innr .contact ul {
    flex-direction: row;
    gap: 30px;
  }
}
.soudan .soudanWrap {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.soudan .soudanWrap h3 {
  1.5em
}
.soudan .soudanWrap > div {
  flex: 4
}
.soudan .soudanWrap .schedule {
  display: flex;
  flex-direction: column;
  gap: 30px;
  gap: 30px;
  align-items: center;
  background: #eae2d1;
  font-weight: 900;
  border-radius: 30px;
  padding: 2em;
  flex: 6;
}
.soudan .soudanWrap .schedule .next {
  background: #FFF;
  display: flex;
  justify-content: flex-start;
  width: 90%;
  align-items: center;
}
.soudan .soudanWrap .schedule .next p {
  background: #000;
  align-items: stretch;
  align-self: stretch;
  width: 20%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #FFF;
  padding: 1em;
}
.soudan .soudanWrap .schedule .next p.date {
  font-size: 1.3em;
  background: #FFF;
  color: #000;
  width: 80%;
  display: flex;
  flex-direction: column;
}
.soudan .soudanWrap .schedule .next p.date span {
  font-size: 0.5em;
}
.soudan .soudanWrap .schedule .btn {
  display: inline-block;
}
.soudan .soudanWrap .schedule .btn a {
  display: inline-block;
  background: #9b042c;
  color: #FFF;
  font-size: 1.2em;
  padding: 1em 2em;
  font-weight: 900;
}
.soudan .soudanWrap .schedule ul {
  border-top: dotted #fff 2px;
  padding-top: 1em;
}
.soudan .soudanWrap .schedule ul li {
  background: #FFF;
  padding: 0.5em 1em;
  display: inline-block;
  margin: 0.5em;
  font-weight: 900;
}
.soudan .counselor h3 {
  margin-bottom: 2em;
  position: relative;
  overflow: hidden;
}
.soudan .counselor h3::after {
  content: "";
  border: 1px solid #33333342;
  width: 100%;
  position: absolute;
  top: 50%
}
.soudan .counselor h3 span {
  position: relative;
  padding: 0 1em;
  background: #fff;
}
.soudan .counselor ul {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media (min-width: 751px) {
  .soudan .soudanWrap {
    flex-direction: row;
    gap: 80px;
  }
  .soudan .soudanWrap .schedule .next p.date {
    font-size: 1.87em;
  }
  .soudan .counselor ul {
    flex-direction: row;
    gap: 100px;
    width: calc(90% - 20px);
    margin: auto;
  }
}
.koguma .koguma_ttl {
  max-width: 500px;
  margin: auto;
  width: calc(80% - 50px);
}
.koguma .taisyou {
  min-width: 6em;
  border-bottom: 4px dotted #AF794E;
  font-size: 1.2em;
  max-width: 800px;
  margin: auto;
  width: calc(100% - 20px);
  text-align: center;
  font-weight: 900;
  margin-bottom: 2em;
  padding: 1em
}
.koguma .yotei {
  margin-top: 50px;
}
.koguma .yotei h3 {
  background: #9b042c;
  color: #FFF;
  padding: 1em 2em;
}
.koguma .yotei ul {}
.koguma .yotei ul li {
  padding: 1em;
  border-bottom: 1px dotted #333;
}
@media (min-width: 751px) {
  .koguma .taisyou {
    font-size: 1.5em;
  }
}
.ikusou table {
  border-collapse: collapse; /* セルの境界線を重ね合わせるため、ボーダーを重ねる */
  width: 100%; /* テーブルの幅を100%に設定 */
}
.ikusou .responsive-table th, .ikusou .responsive-table td {
  padding: 15px;
  border: solid 1px #fff;
  text-align: center;
  box-sizing: border-box;
}
.ikusou .responsive-table td {
  background: #f4f3ef
}
.ikusou .responsive-table th {
  width: 30%;
  background: #9b042c;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .ikusou .responsive-table {
    width: 100%;
  }
  .ikusou .responsive-table th, .ikusou .responsive-table td {
    display: block;
    width: 100%;
    border-bottom: none;
  }
  .ikusou .responsive-table tr:last-child {
    border-bottom: solid 1px#fff;
  }
}
.life #oneday {
  text-align: center;
}
.life ul.gyouji {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
  margin-bottom: 3em;
  flex-direction: column;
}
.life ul.gyouji li div {
  padding: 1em;
  border: 1px solid #000;
  width: 100%;
  height: 100%;
}
.life ul.gyouji li div h3 {
  color: #9b042c;
  font-size: 1.2em;
  font-weight: bold;
}
.life ul.gyouji li div p {
  margin-top: 0.5em;
}
.life ul.photo {
  flex-direction: row;
}
.life ul.photo li {
  flex: 1 calc(50% - 30px);
  text-align: center;
  display: flex;
  flex-direction: column;
}
.life ul.photo li p {
  text-align: center;
  padding: 0.5em;
}
.life .life_imgBtn {
  max-width: 500px;
  margin: 2em auto;
  width: calc(90% - 20px);
}
@media (min-width: 751px) {
  .life ul.gyouji {
    flex-direction: row;
  }
  .life ul.gyouji li {
    flex: 1 calc(33% - 30px);
    text-align: center;
    display: flex;
    flex-direction: column;
  }
}
.life .mokuhyou .moku_list {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  flex-direction: column;
  width: 95%;
  margin: auto;
}
.life .mokuhyou .moku_list li {
  background: #ffffe2;
}
.life .mokuhyou .moku_list li > ul.list {
  margin: 0 1.5em 1.5em;
}
.life .mokuhyou .moku_list li > ul.list li {
  padding: 0.5em 0.5em 0.5em 1.5em;
}
.life .mokuhyou .moku_list li > ul.list li::before {
  content: "●";
  color: #d65746;
}
.life .mokuhyou #jyunjyo dl {
  display: flex;
  flex-wrap: wrap;
  width: calc(95% - 20px);
  margin: auto;
}
.life .mokuhyou #jyunjyo dl dt {
  background: #eff2ea;
  padding: 0.87em;
  width: 100%;
}
.life .mokuhyou #jyunjyo dl dd {
  padding: 0.87em;
  width: 100%;
}
.life .mokuhyou #jyunjyo dl dd ol {
  list-style-type: lower-latin;
}
.life .mokuhyou #jyunjyo dl dd ol li {
  padding: 0.2em;
  margin-left: 1em;
}
.life .mokuhyou #jyunjyo h3 {
  text-align: center;
  max-width: 200px;
  margin: 0 auto 2em;
}
.life .mokuhyou .nensyou {
  border-top: 1px solid #9b042c;
  margin-bottom: 2em;
}
.life .mokuhyou .nentyu {
  border-top: 1px solid #100060;
  margin-bottom: 2em;
}
.life .mokuhyou .nentyou {
  border-top: 1px solid #9b042c;
  margin-bottom: 2em;
}
.life .mokuhyou #jyunjyo dl > div {
  width: 100%;
}
@media (min-width: 751px) {
  .life .mokuhyou .moku_list {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .life .mokuhyou .moku_list li {
    flex: 1 calc(33% - 30px);
  }
  .life .mokuhyou #jyunjyo dl > div {
    flex: 1 calc(50% - 30px);
    padding: 1em;
  }
}
.about #main section .lead {
  font-size: 1.2em;
  font-weight:500;
  margin-bottom: 1.5em;
  text-align: center;
}
.about .btn {
  margin: 2em auto;
  max-width: 250px;
  width: calc(90% - 20px);
}
.about #policy ul {
  display: flex;
  flex-wrap: nowrap;
  gap: 30px;
  max-width: 1100px;
  width: calc(100% - 20px);
  margin: 0 auto;
}
.about .index section#org {}
.about .index section#org h3 {
  color: #9b042c;
  font-size: 1.3em;
  text-align: center;
  margin-bottom: 1em;
}
.about .index section#org h3 span {
  color: #333;
  font-size: 0.8em;
}
.about .index section .flex2_1 {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  flex-direction: column;
  width: calc(100% - 20px);
  margin: 0 auto 3em
}
@media (max-width: 750px) {
  .about .index section .flex2_1 span.br::before {
    content: "\A";
    white-space: pre;
  }
  .about .index section table {
    font-size: 0.9em;
  }
	.about .index section#org h3 span{
		display: block;
	}
}
@media (min-width: 751px) {
  .about .index section .flex2_1 {
    flex-direction: row;
  }
  .about .index section .flex2_1 > div {
    flex: 1 calc(50% - 60px);
  }
}
.about .index section table {
  border-collapse: collapse; /* セルの境界線を重ね合わせるため、ボーダーを重ねる */
  width: 100%; /* テーブルの幅を100%に設定 */
  border-top: solid 1px #ccc;
  margin-bottom: 3em;
}
.about .responsive-table th, .about .responsive-table td {
  padding: 15px;
  border-bottom: solid 1px #ccc;
  box-sizing: border-box;
  text-align: justify
}
.about .responsive-table td {
  background: #fff;
}
.about .responsive-table th {
  width: 30%;
  background: #fff;
  color: #000
}
.about .responsive-table.class th {
  width: 70%;
}
.about .responsive-table.org {
  max-width: 900px;
  width: calc(100% - 20px);
  margin: 0 auto 3em
}
/*
@media screen and (max-width: 750px) {
  .about .responsive-table {
    width: 100%;
  }
  .about .responsive-table th, .about .responsive-table td {
    display: block;
    width: 100%;
    border-bottom: none;
  }
  .about .responsive-table tr:last-child {
    border-bottom: solid 1px #ccc;
  }
}*/
.about #bus {}
.about #bus .bus {
  display: flex;
  justify-content: center;
  flex-direction: column;
  position: relative;
  z-index: 0;
  margin: 0 auto 2em;
  width: calc(100% - 27px);
}
.about #bus .bus > div {
  margin: 1em 3em;
}
.about #bus .bus::before {
  content: "";
  display: block;
  width: 100%;
  background: #f4f3ef;
  height: 70%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  border-radius: 20px;
}
.about #bus .seihuku::before {
  left: 0;
  top: 0;
}
.about #bus .bus > div h3 {
  font-size: 1.6em;
  margin-bottom: 1em;
  color: #9b042c
}
.about #bus .bus > div p + img {
  display: none;
}
@media (min-width: 751px) {
  .about #bus .bus {
    display: flex;
    justify-content: center;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    position: relative;
    z-index: 0;
    margin-bottom: 2em;
  }
  .about #bus .bus.seihuku {
    flex-direction: row;
  }
  .about #bus .bus > div {
    flex: 1 calc(45% - 6em);
    margin: 3em;
  }
  .about #bus .bus > div:last-child {
    flex: 1 calc(55% - 6em);
    margin: 3em;
  }
  .about #bus .bus > div h3 {
    font-size: 1.6em;
    margin-bottom: 1em;
    color: #9b042c
  }
  .about #bus .bus > div p {
    margin-bottom: 2em;
  }
  .about #bus .bus > div p + img {
    width: 70%;
    float: right;
    display: block;
  }
  .about #bus .seihuku > div p + img {
    width: 100%;
    float: left;
    display: block;
  }
  .about #bus .bus::before {
    content: "";
    display: block;
    width: 70%;
    background: #f4f3ef;
    height: 80%;
    position: absolute;
    right: 0;
    left: inherit;
    top: 0;
    z-index: -1;
    border-radius: 20px;
  }
  .about #bus .seihuku::before {
    left: 0;
    top: 0;
  }
}
.about #setsubi {}
.about #setsubi .innr {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-direction: column;
  width: calc(100% - 30px);
  margin: 0 auto 3em;
}
.about #setsubi .innr h3 {
  margin-bottom: 1em;
  font-size: 1.4em;
  color: #9b042c
}
.about #setsubi .innr p {
  margin-bottom: 2em
}
@media (min-width: 751px) {
  .about #setsubi .innr {
    flex-direction: row;
  }
  .about #setsubi .innr div:first-child {
    flex-basis: 45%;
  }
  .about #setsubi .innr.photo2 > div {
    flex: 1 50%;
  }
}
.about .anzen {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  flex-direction: row;
  flex-wrap: wrap;
  width: 95%;
  margin: auto;
}
.about .anzen li {
  flex: 1 calc(50% - 30px);
}
@media (min-width: 751px) {
  .about .anzen li {
    flex: 1 calc(33% - 30px);
  }
}
.about .staff .staff_list ul {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  flex-wrap: wrap;
  width: calc(100% - 20px);
  margin: auto;
}
.about .staff .staff_list ul > li {
  flex: 1 50%;
  display: flex;
  align-content: flex-start;
  gap: 20px;
  flex-direction: column;
  border-top: 5px solid #9b042c;
  padding-top: 1em;
}
.about .staff .staff_list ul li .staff {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  gap: 20px;
  align-items: center;
}
.about .staff .staff_list ul li .staff > div.photo {
  width: 150px;
  margin-left: auto;
}
.about .staff .staff_list ul li .name {}
.about .staff .staff_list ul li .name h3 {
  font-size: 1.2em;
}
.about .staff .staff_list ul li .name h3 span {
  font-size: 0.8em;
  margin-right: 10px;
}
.about .staff .staff_list ul li .name p {}
.about .staff .staff_list ul li .comment {}
.about .staff .staff_list ul li .etc {
  font-size: 0.8em;
}
@media (min-width: 751px) {
  .about .staff .staff_list ul {
    display: flex;
    justify-content: space-between;
    gap: 60px;
    flex-wrap: wrap;
  }
  .about .staff .staff_list ul > li {
    flex-direction: row;
    flex-wrap: wrap;
    flex: 1 calc(30% - 60px);
  }
}
.about .policy {}
.about .policy section {}
.about .policy section .innr {
  display: flex;
  justify-content: center;
  flex-direction: column;
  position: relative;
  z-index: 0;
  padding: 2em 8vw;
  margin-bottom: 2em;
}
.about .policy section .policy01::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "01";
   color: #ffffff99;
   font-size: 300px;
   text-align: right;
  background: #d6eaa6;
  width: 50%;
  height: 60%;
  border-radius: 0 30px 30px 0;
  z-index: -1
}
.about .policy section .policy02::after {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  content: "02";
   color: #ffffff99;
   font-size: 300px;
   text-align: right;
  background: #a9e7e2;
  width: 50%;
  height: 60%;
  border-radius: 30px 0 0 30px;
  z-index: -1
}
.about .policy section .policy03::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "03";
   color: #ffffff99;
   font-size: 300px;
   text-align: right;
  background: #ffbdb5;
  width: 50%;
  height: 60%;
  border-radius: 0 30px 30px 0;
  z-index: -1
}
.about .policy section .innr .ttl h3 {
  font-family: var(--zenmaru);
  letter-spacing: 2.5px;
  font-size: 2.2em;
  line-height: 1.8;
}
.about .policy section .policy02 h3 {
  padding-left: 2em
}
.about .policy section .innr .ttl img {
  width: 80%;
  margin: 1em;
  max-width: 350px;
  float: right;
}
.about .policy section .innr p {
  font-size: 1.0em;
  letter-spacing: 1px;
  line-height: 1.8
}
@media (max-width: 750px) {
  .about .policy section .policy01::after {
    width: 90%;
    height: 200px;
	  font-size: 100px;
  }
  .about .policy section .policy02::after {
    width: 90%;
    height: 250px;
	   font-size: 100px;
  }
  .about .policy section .policy03::after {
    width: 90%;
    height: 250px;
	   font-size: 100px;
  }
  .about .policy section .innr .ttl h3 {
    font-size: 1.6em;
  }
  .about .policy section .innr .ttl img {
    width: 40%;
  }
}
@media (min-width: 751px) {
  .about .policy section .innr {
    display: flex;
    justify-content: center;
    flex-direction: row;
  }
  .about .policy section .innr:nth-child(2) {
    flex-direction: row-reverse;
  }
  .about .policy section .innr > div {
    flex: 1 calc(50% - 6em);
    margin: 3em;
  }
  .about .policy section .innr p {
    font-size: 1.2em;
    letter-spacing: 1px;
    line-height: 1.8
  }
}
.life #main.kanai .container {
  max-width: 1200px;
}
.life .kanai section.lead {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.life .kanai section.lead h2 {
  font-family: var(--zenkaku);
  color: #9B042C;
}
.life .kanai .imgBox {
  display: flex;
  flex-direction: column-reverse;
}
.life .kanai .imgBox .text {
  background-color: #EFF2EB
}
.life .kanai .imgBox .text .midashi {
  color: #9B042C;
}
.life .kanai .imgBox .text .midashi h3 {
  font-family: var(--zenkaku);
  font-weight: 700;
}
.life .kanai .imgBox .text .midashi p {
  font-weight: 700;
  margin-bottom: 0.5em;
}
.life .kanai .imgBox .text .flex {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 15px;
}
.life .kanai .imgBox .text .flex .txt {
  flex-grow: 2;
  margin-top: 1em;
}
.life .kanai .imgBox .text .flex .img {
  flex-shrink: 0;
}
@media (max-width: 750px) {
  .life .kanai .imgBox {
    margin-bottom: 50px;
  }
  .life .kanai .imgBox .image {
    width: 80%;
		z-index: 3;
  }
  .life .kanai .imgBox .text {
    width: 90%;
    margin-top: -50px;
    padding: 15px;
    padding-top: 75px;
		z-index: 2;
  }
  .life .kanai .imgBox.imgR .image {
    margin-right: auto;
  }
  .life .kanai .imgBox.imgL .image {
    margin-left: auto;
  }
  .life .kanai .imgBox.imgR .text {
    margin-left: auto;
  }
  .life .kanai .imgBox.imgL .text {
    margin-right: auto;
  }
  .life .kanai .imgBox .text .flex .txt {
    flex-basis: 65%;
    font-size: 80%;
  }
  .life .kanai .imgBox .text .flex .img {
    flex-basis: calc(35% - 15px);
  }
  .life .kanai .imgBox .text .midashi p {
    font-size: calc(100vw / 35);
  }
  .life .kanai .imgBox .text .midashi h3 {
    font-size: calc(100vw / 20);
  }
}
@media (min-width: 751px) {
  .life .kanai section.lead h2 {
    text-align: center;
  }
  .life .kanai .imgBox {
    margin-bottom: 80px;
  }
  .life .kanai .imgBox .image {
    flex-basis: 550px;
    margin-bottom: 80px;
  }
  .life .kanai .imgBox .text {
    flex-basis: 650px;
    min-height: 300px;
    margin-top: auto;
  }
  .life .kanai .imgBox.imgL {
    flex-direction: row;
  }
  .life .kanai .imgBox.imgR {
    flex-direction: row-reverse;
  }
  .life .kanai .imgBox.imgR .text {
    margin-left: -50px;
    margin-right: auto;
    padding: 50px 50px 50px 100px;
  }
  .life .kanai .imgBox.imgL .text {
    margin-right: -50px;
    margin-left: auto;
    padding: 50px 100px 50px 50px;
  }
  .life .kanai .imgBox .text .midashi h3 {
    font-size: 32px;
  }
}
/*** お知らせ共通 ***/
.news #main .container {
  max-width: 1200px;
}
.news ul.tab_cate {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 8px;
  margin-bottom: 15px;
}
.news ul.tab_cate li {
  flex-grow: 2;
  border: 1px solid #C8C8C8;
  text-align: center;
  background-color: #FFF;
}
.news ul.tab_cate li.active a, .news ul.tab_cate li.is-active a {
  background-color: #9B042C;
  color: #FFF;
}
.news ul.tab_cate li.ct_01.active a {
  background-color: #519dc0;
}
.news ul.tab_cate li.ct_02.active a {
  background-color: #ff8ba8;
}
.news ul.tab_cate li.ct_03.active a {
  background-color: #65cb7e;
}
.news ul.tab_cate li.ct_00.active a {
  background-color: #CCC;
}
.news ul.tab_cate li a {
  display: block;
  padding: 0.2em 1em;
  font-weight: 800;
  font-size: 14px;
}
@media screen and (max-width: 768px) {
  .news ul.tab_cate li:first-child {
    flex-basis: 100%;
  }
}
@media screen and (min-width: 769px) {
  .news ul.tab_cate {
    gap: 8px;
    margin-bottom: 50px;
  }
  .news ul.tab_cate li {
    font-size: 18px;
  }
  .news ul.tab_cate li a {
    font-size: 18px;
    padding: 0.5em 0;
  }
}
/*** 一覧 ***/
.news .index article {
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
}
.news .index article a {
  background-color: #F2F2F3;
  color: #000;
  border-radius: 15px;
  overflow: hidden;
  padding: 15px;
  display: flex;
  flex-direction: column;
}
.news .index article a:hover {
  opacity: 0.8;
  /* background-color: rgba(55,55,55,0.05);*/
}
.news .index article h3 {
  font-size: 22px;
  line-height: 1.5;
  margin-bottom: 0.5em;
}
.news .index article .date {
  color: #519dc0;
  margin-bottom: 30px;
}
.news .index article .date span.cate {
  display: inline-block;
  background-color: #519dc0;
  color: #FFF;
  border-radius: 999px;
  padding: 0 1.5em;
  margin-left: 1em;
}
.news .index article .date span.cate.ct01 {
  background-color: #519dc0;
}
.news .index article .date span.cate.ct02 {
  background-color: #ff8ba8;
}
.news .index article .date span.cate.ct03 {
  background-color: #65cb7e;
}
.news .index article .date span.cate.ct00 {
  background-color: #CCC;
}
.news .index article .flexbox {
  display: flex;
  flex-direction: column-reverse;
  gap: 15px;
}
.news .index article .flexbox .text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.news .index article .flexbox .text .more {
  align-self: flex-end;
  border: 1px solid #000;
  background-color: #FFF;
  padding: 4px 8px;
  margin-top: 1em;
  font-size: 0.9em;
}
@media screen and (max-width: 768px) {
  .news .index section {
    padding: 15px;
  }
  .news .index article .flexbox .img {
    width: 80%;
    align-self: center;
  }
}
@media screen and (min-width: 769px) {
  .news .index article a {
    padding: 30px 45px;
  }
  .news .index article a:hover {
    opacity: 0.8;
  }
  .news .index article h3 {
    font-size: 26px;
    line-height: 1.5;
  }
  .news .index article .flexbox {
    flex-direction: row;
    gap: 30px;
  }
  .news .index article .flexbox .img {
    flex-basis: calc(30% - 15px);
    flex-shrink: 0;
  }
  .news .index article .flexbox .text {
    flex-grow: 2;
    flex-basis: calc(70% - 15px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .news .index article .flexbox .text .more {
    padding: 8px 1em;
  }
}
/*** 詳細　***/
.news .detail article {
  background-color: #FFF;
  color: #000;
  border-radius: 15px;
  overflow: hidden;
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.news .detail article h3 {
  font-size: 22px;
  line-height: 1.5;
  margin-bottom: 0.5em;
}
.news .detail article .date {
  color: #519dc0;
}
.news .detail article .date span.cate {
  display: inline-block;
  background-color: #519dc0;
  color: #FFF;
  border-radius: 999px;
  padding: 0 1.5em;
  margin-left: 1em;
}
.news .detail article .date span.cate.ct01 {
  background-color: #54cacc;
}
.news .detail article .date span.cate.ct02 {
  background-color: #ff8ba8;
}
.news .detail article .date span.cate.ct03 {
  background-color: #ffb145;
}
.news .detail article .date span.cate.ct04 {
  background-color: #65cb7e;
}
.news .detail article .date span.cate.ct05 {
  background-color: #52d9ff;
}
.news .detail article .date span.cate.ct00 {
  background-color: #333333;
}
.news .detail article .text .com {
  margin-bottom: 30px;
}
.news .detail article .text .url a {
  padding: 8px 1em;
  background-color: #F2F2F3;
  border-radius: 4px;
  display: block;
  margin-bottom: 30px;
}
.news .detail article .text .pdf a {
  padding: 8px 1em;
  background-color: #3578B6;
  color: #FFF;
  border-radius: 4px;
  display: inline-block;
}
.news .detail article .flexbox {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.news .detail .gaiyo table {
  width: 100%;
}
.news .detail .gaiyo table th {
  background-color: #e0bac4;
  text-align: center;
}
.news .detail .gaiyo table td {
  background-color: #FBF8F1;
}
@media screen and (max-width: 768px) {
  .news .detail section {
    padding: 15px;
  }
  .news .detail .gaiyo table, .news .detail .gaiyo table tr, .news .detail .gaiyo table th, .news .detail .gaiyo table td, .news .detail .gaiyo table tbody, .news .detail .gaiyo table thead {
    display: block;
  }
  .news .detail .gaiyo table {
    width: 100%;
    margin-bottom: 15px;
  }
  .news .detail .gaiyo table th {
    border-inline: 1px solid var(--main-color);
    padding: 0.67em 1em;
    text-align: center;
  }
  .news .detail .gaiyo table td {
    border-inline: 1px solid var(--main-color);
    padding: 0.67em 1em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .news .detail .gaiyo table tr:first-child th {
    border-radius: 8px 8px 0 0;
  }
  .news .detail .gaiyo table tr:last-child td {
    border-radius: 0 0 8px 8px;
    border-bottom: 1px solid var(--main-color);
  }
}
@media screen and (min-width: 769px) {
  .news .detail article {
    padding: 30px 45px;
    gap: 30px;
  }
  .news .detail article h3 {
    font-size: 30px;
  }
  .news .detail article .flexbox {
    flex-direction: row;
    justify-content: center;
    gap: 30px;
  }
  .news .detail article .flexbox > div {
    flex-basis: calc(80% - 15px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
  }
  .news .detail .gaiyo table {
    border-radius: 15px;
    overflow: hidden;
    margin-bottom: 30px;
  }
  .news .detail .gaiyo table th {
    padding: 1em;
    width: 40%;
    border-bottom: 1px solid #FFF;
  }
  .news .detail .gaiyo table td {
    padding: 1em;
    border-bottom: 1px solid var(--main-color);
  }
  .news .detail .gaiyo table tr:first-child th {
    border-radius: 8px 0 0 0;
  }
  .news .detail .gaiyo table tr:first-child td {
    border-radius: 0 8px 0 0;
  }
  .news .detail .gaiyo table tr:last-child th {
    border-radius: 0 0 0 8px;
    border-bottom: none;
  }
  .news .detail .gaiyo table tr:last-child td {
    border-radius: 0 0 8px 0;
    border-bottom: none;
  }
}
.sitemap #main section{
	max-width: 900px;
    margin: auto;
    padding-top: 0;
    width: calc(98% - 20px);
}
.sitemap #main section .col3{
	margin: auto;
display: flex;
gap:30px;
flex-wrap: wrap;
flex-direction: column;
}
.sitemap #main section div a{
	display: inline-block;
padding: 0.5em;}
.sitemap #main section h4{
	padding: 0.5em 1em;
	display: block;
    position: relative;}
.sitemap #main section h4::before{
	content: ' ';
    display: inline-block;
    width: 10px;
    height: 10px;
    border: 0px;
	position: absolute;
    top: calc(50% - 5px);
    left: 0;
    border-top: solid 2px #9b042c;
    border-right: solid 2px #9b042c;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    margin-right: 10px;}
.sitemap #main section ul{
	border-top: solid #333 1px;
}
.sitemap #main section ul li{
	border-bottom: solid #333 1px;
}
.sitemap #main section ul li a{
	display: block;}
.sitemap #main section div.flex_row{
	flex-direction: column;
	display: flex
}
.sitemap #main section div.flex_row h4{
	padding: 1em;
	display: inline-block;
	}
.sitemap #main section h4.non_link{
	padding: 1em 1.5em;
	display: block
	}
@media screen and (min-width: 769px) {
	.sitemap #main section .col3{
	gap:30px;
flex-direction:row;}
	.sitemap #main section .col3 div{
	flex: 1 calc(50% - 30px);
	}.sitemap #main section div.flex_row{
		gap: 30px;
		row-gap: 0;
        flex-wrap: wrap;
        flex-direction: row;
	}
	.sitemap #main section div.flex_row h4{
		flex: 1 calc(50% - 30px);
	}
}
.privacy #main section {
	max-width: 1100px;
	margin: auto;
	width: calc(100% - 20px)
}
privacy #main section p{
	margin-bottom: 0.5em;
}
.privacy #main section p.lead{
	margin-bottom: 1.5em;
}.privacy #main section h3{
	margin: 0.8em 0;
}.privacy #main section div{
	margin-left: 2em;
	margin-bottom: 2em;
}.privacy #main section div h4{
	margin: 0.8em 0;
}.privacy #main section div ul{
	margin-left: 2em;
	list-style: circle;
}.privacy #main section p.sign{
	text-align: right;
}