@charset "utf-8";

html {
  font-family: "Noto Sans JP", serif;
  font-weight: 500;
  line-height: 1.5;
  color: #231815;
}
h1, h2, h3, h4, h5 {
  line-height: 1.2;
}

@media screen and (min-width: 769px) {
  /* PC用 */
  html {
    font-size: 10px;
  }
}
.inner {
  position: relative;
  max-width: calc(100vw - 10rem);
  width: 100%;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  /* SP用 */
  html {
    font-size: calc(10vw / 750 * 100); /* 最大値768px、文字サイズ10pxの場合 */
  }
  .inner {
    max-width: calc(100vw - 8rem);
  }
}

main {
  position: relative;
}

@media screen and (max-width: 768px) {/* SP用 */
  main {
    margin-top: 10rem !important;
  }
}

section[class^="area"] {
  position: relative;
}

body {
  width: 100%;
}

.wrapper {
  width: 100%;
  min-height: 100svh;
  overflow: hidden;
  overflow: clip;
  position: relative;
}

.footer {
  width: 100%;
  left: 0;
  position: absolute;
  bottom: 0;
}

/* ID登録用 */
i[id] {
  font-size: 0;
  display: block;
}

hr {
  margin: .5em 0;
  border: none;
  border-bottom: 1px dashed #00469B;
}

.mt180 {
  margin-top: 18rem !important;
}

.ico-box {
  display: inline-block;
  margin-left: 0.25em;
  margin-right: 0.25em;
  font-family: 'Material Symbols Outlined';
  font-size: 150%;
  line-height: 0;
  vertical-align: middle;
  color: #00469B;
  font-weight: 500 !important;
}

.ico-box img {
  width: 1.33em;
  height: auto;
  vertical-align: text-bottom;
}

.midashi01 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.25em;
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 1.2em;
}
.midashi01 .ico img {
  width: 1.2em;
  height: 1.2em;
  object-fit: contain;
  display: block;
}
@media screen and (max-width: 768px) {/* SP用 */
  .midashi01 {
    font-size: 3.4rem;
    padding-left: 0;
  }
}

.midashi02 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1em;
  margin-top: 1em;
  flex-wrap: wrap;
}
.midashi02::after {
  content: "";
  width: 100%;
  height: 0.1rem;
  display: block;
  border-bottom: 1px dotted #DF081F;
}
.box a:last-child .midashi02::after {
  border-bottom: none;
}

@media screen and (max-width: 768px) {/* SP用 */
  .midashi02 .day {
    margin: 0.5em 0 0.5em auto;
    width: 100%;
    text-align: right;
  }
}

.midashi03 {
  border-left: 5px solid #00469B;
  background: #E7F0F6;
  padding: 0.5em;
}

.midashi04 {
  font-size: 2.1rem;
  font-weight: bold;
  margin: 2em 0 1em;
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 768px) {/* SP用 */
  .midashi04 {
    font-size: 2.5rem;
  }
}

.midashi05 {
  padding-left: 0.5em;
  position: relative;
  margin-bottom: 0.5em;
}
.midashi05:before {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 100%;
  top: 0;
  left: 0;
  background: #00469B;
  pointer-events: none;
  border-radius: 50vmin;
}

.midashi06 {
  color: #00469B;
  font-weight: 600;
  border-bottom: 2px solid;
  padding-bottom: 0.2em;
  margin-bottom: 1em;
}

.midashi07,
.midashi08,
.midashi09 {
  color: #fff;
  background: #00469B;
  font-size: 2rem;
  line-height: 1.5;
  padding: 0.25em 1em;
  font-weight: 500;
  display: table;
  margin: 0 auto 0 0;
  border-radius: 3px;
}
.midashi08 { background: #006ABB; }
.midashi09 { background: #00A1ED; }
@media screen and (max-width: 768px) {/* SP用 */
  .midashi07,
  .midashi08,
  .midashi09 {
    font-size: 2.6rem;
  }
}

.midashi10 {
  font-size: 2rem;
  color: #00469B;
  border-bottom: 2px dotted #00469B;
  width: 100%;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {/* SP用 */
  .midashi10 {
    font-size: 2.6rem;
  }
}

.midashi11 {
  border-left: 2px solid #00469B;
  margin-bottom: 1em;
  padding-left: 0.25em;
}

.midashi12 {
  color: #00469B;
  font-size: 2.2rem;
  font-weight: bold;
  position: relative;
  display: flex;
  justify-content: flex-start;
  gap: 0.5em;
  border-bottom: 2px solid #00469B;
}
.midashi12 i img {
  width: 1.6em;
  height: 1.6em;
  object-fit: contain;
  display: block;
}
.midashi12 .close {
  margin-left: auto;
  font-size: 150%;
  line-height: 1;
}
@media screen and (max-width: 768px) {/* SP用 */
  .midashi12 {
    font-size: 2.8rem;
  }
}

.midashi13 {
  font-size: 1.8rem;
  font-weight: bold;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 0.5em;
  margin-bottom: 1em;
}
.midashi13 > i > img {
  width: 1.3em;
  height: 1.3em;
  object-fit: contain;
  display: block;
}
.midashi13 > a.link {
  color: #00469B;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 768px) {/* SP用 */
  .midashi13 {
    font-size: 2.4rem;
  }
}

.midashi14 {
  text-align: center;
  position: relative;
}
.midashi14 > .number {
  margin-right: 1em;
}

.lh250p {
  line-height: 2.5 !important;
}

.jdm01 p + p {
  margin-top: 0.5em;
}

.sec01_box01 {
  background: #fff;
  border: 4px solid #DF081F;
  border-radius: 2rem;
  padding: 1rem 5rem;
}
.sec01_box01 > .box {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1em;
  padding: 1.5em 0;
}
@media screen and (min-width: 769px) {/* PC用 */
  .sec01_box01 > .box h4 {
    flex: 1;
  }
}
.sec01_box01 > .box a:hover {
  opacity: 1;
  filter: alpha(opacity=100);
  color: #00469B;
}
.sec01_box01 > .box + .box {
  border-top: 2px dotted;
}
section.jdm01 .sec01_box01 > .box {
  display: block;
} 
@media screen and (max-width: 768px) {/* SP用 */
  .sec01_box01 {
    padding: 4rem;
  }
  .sec01_box01 > .box {
    flex-wrap: wrap;
    gap: 0.5em;
  }
  .sec01_box01 > .box .day {
    width: 100%;
    text-align: right;
  }
}

.sec01_box02 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

label.radio_item {
  position: relative;
  text-align: center;
  padding: .5em;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.25em;
  width: 100%;
  height: 100%;
  z-index: 0;
  color: #00469B;
  border-radius: .5em;
}
label.radio_item > .txt {
  flex: 1;
  text-align: left;
}
label.radio_item.checked {
  color: #fff;
}
label.radio_item::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: .5s all;
  border: 1px solid;
  background: #fff;
  pointer-events: none;
  border-radius: .5rem;
}
label.radio_item.checked::after {
  background: #00469B;
}
label.radio_item .ico {
  width: .8em;
  height: .8em;
  display: block;
  background: url(../img/ico06.svg) center center / contain no-repeat;
}
@media screen and (max-width: 768px) {/* SP用 */
  label.radio_item .ico {
    width: 1.6em;
    height: 1.6em;
  }
}
label.radio_item.checked .ico {
  background: url(../img/ico05.svg) center center / contain no-repeat;
}

.copyright {
  background: #00469B;
  color: #fff;
  padding: 3rem 0;
}

.border-box01 {
  border: 2px solid #DF081F;
  border-radius: 2rem;
  padding: 4rem;
}

.border-box02 {
  border: 3px solid #00469B;
  border-radius: 1rem;
  padding: 2rem;
  margin: 0 auto;
  padding: 1.5em 3em;
}
@media screen and (max-width: 768px) {/* SP用 */
  .border-box02 {
    padding: 3.5rem;
  }
}

table.default {
  border-right: 1px solid #00469B;
  table-layout: fixed;
  width: 100%;
  line-height: 2.5;
}
table.default tr th {
  text-align: center;
  vertical-align: middle;
  color: #fff;
  background: #00469B;
  line-height: 1.5;
  padding: 1em 1.5em;
  border-left: 1px solid #00469B;
  height: 4em;
}
table.default tr th.dep {
  padding: .5em;
  width: 13%;
}
table.default tr th.num {
  padding: .5em;
  width: 7%;
}
table.default tr th.date {
  padding: .5em;
  width: 13%;
}
table.default tr th.title {
  padding: .5em;
  width: 47%;
}
table.default tr th.member {
  padding: .5em;
  width: 20%;
}
table.default tr th:not(:first-child) {
  border-left: 1px solid;
}
table.default tr td {
  background: #fff;
  text-align: left;
  vertical-align: middle;
  padding: 1em;
  border-bottom: 1px solid #00469B;
  border-left: 1px solid #00469B;
}
table.default tr a:hover {
  color: #00469B;
  opacity: 1;
  filter: alpha(opacity=100);
  font-weight: bold;
}
@media screen and (max-width: 768px) {/* SP用 */
  .js-scrollable table {
    width: 200vw;
    max-width: none;
    table-layout: auto;
  }
}


table.default02 {
  table-layout: fixed;
  width: 100%;
  line-height: 2.5;
  border-top: 1px solid #00469B;
  border-bottom: 1px solid #00469B;
  border-right: 1px solid #00469B;
}
table.default02 tr th {
  text-align: center;
  vertical-align: middle;
  color: #fff;
  background: #00469B;
  line-height: 1.5;
  padding: 1em 1.5em;
  height: 4em;
}
table.default02 tr th.w70 {
  padding: 0;
}
table.default02 tr:not(:first-child) th {
  border-top: 1px solid;
}
table.default02 tr:not(:first-child) td {
  border-top: 1px solid #00469B;
}
table.default02 tr td {
  text-align: left;
  vertical-align: middle;
  padding: 0.5em 1.5em;
}
table.default02 tr a:hover {
  color: #00469B;
  opacity: 1;
  filter: alpha(opacity=100);
  font-weight: bold;
}
table.default03 {
  table-layout: fixed;
  width: 100%;
  line-height: 2.5;
  border-top: 1px solid #00469B;
  border-bottom: 1px solid #00469B;
  border-right: 1px solid #00469B;
}
table.default03 tr th {
  text-align: left;
  vertical-align: middle;
  color: #fff;
  background: #00469B;
  line-height: 1.5;
  padding: 1em 1.5em;
}
table.default03 tr th[rowspan] {
  border-right: 1px solid #fff;
  position: relative;
  width: 4em;
  padding: 0;
}
table.default03 .flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}
table.default03 .flex input {
  flex: 1;
}
table.default03 tr a:hover {
  color: #00469B;
  opacity: 1;
  filter: alpha(opacity=100);
  font-weight: bold;
}
@media screen and (max-width: 768px) {/* SP用 */
  table.default03 {
    border-left: 1px solid #00469B;
  }
  table.default03 tr th,
  table.default03 tr td {
    width: 100%;
    display: block;
  }
  table.default03 .flex {
    flex-wrap: wrap;
  }
  table.default03 .flex input {
    flex: inherit;
    width: 100%;
  }
}

.tate {
  writing-mode: vertical-rl;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

table.default03 tr:not(:first-child) th {
  border-top: 1px solid;
}
table.default03 tr:not(:first-child) td {
  border-top: 1px solid #00469B;
}
table.default03 tr td {
  text-align: left;
  vertical-align: middle;
  padding: 1em 1.5em;
}

.link {
  text-decoration: underline;
}

.bg-box {
  background: #E7F0F6;
  border-radius: 2rem;
  padding: 3rem;
}
.bg-box02 {
  background: #E7F0F6;
  padding: 4rem;
}

body#mutter .sv .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5rem;
}

.sv .inner h2 {
  flex: 1;
}

.sv .inner .select-box {
  position: relative;
}

.sv .inner .select-box:before {
  content: "▼";
  display: block;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  pointer-events: none;
  line-height: 1;
  font-size: 66.66%;
}

.sv .inner .select-box select {
  background: #fff;
  border-radius: 0.33em;
  padding: 0.25em 2em 0.25em 1em;
  width: 9em;
  border: 1px solid #00469B;
}

.sv .day-box {
  color: #00469B;
  border-bottom: 2px solid;
  padding: 1em 0 0.25em;
}

.dl-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #00469B;
  font-weight: bold;
  gap: 0.25em;
  margin-top: 6rem;
}

.dl-btn img {
  width: 5.5rem;
  margin-left: 0.25em;
}

@media screen and (max-width: 768px) {/* SP用 */
  .js-scrollable table {
    max-width: none;
    table-layout: auto;
  }

  .js-scrollable table tr th,
  .js-scrollable table tr td {
    width: auto;
    max-width: none;
    /* white-space: nowrap; */
  }
}

.light-blue-box {
  background: #E4EFF6;
  border-radius: 1rem;
  padding: 2em;
}

ul.blue-border-box > li {
  background: rgba(228, 239, 246, 0.3);
  border: 2px solid #00469B;
  padding: 1.5em;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2.5rem;
}
ul.blue-border-box > li > .txt {
  flex: 1;
}
ul.blue-border-box > li > .txt .flex-content {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1em;
}
ul.blue-border-box > li > .txt .flex-content .group {
  background: #00469B;
  color: #fff;
  display: table;
  padding: 0 0.5em;
}
ul.blue-border-box > li > .ico img {
  width: 4.7rem;
}

ul.blue-border-box > li + li {
  margin-top: 3rem;
}

.topic-box {
  width: auto;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.topic-box .topic-box-in {
  background: #FBE8D8;
  border: 3px solid #BE504D;
  box-shadow: 3px 3px 0 rgba(219, 78, 84, 0.75);
  border-radius: 4px;
  color: #BE504D;
  padding: 0.5em 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
}

.topic-box .topic-box-in > .txt {
  flex: 1;
}

.gaphem {
  gap: .5em;
}

/* 音声認識ボタン配置・アニメーション */
#voiceBtn {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  width: 40px;
  height: 40px;
  z-index: 2;
  cursor: pointer;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.voice-anim-circle {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(207, 229, 242, 0.2);
  box-shadow: 0 0 0 0 #cc9999;
  transition: box-shadow 0.3s, background 0.3s;
  z-index: 0;
  pointer-events: none;
}
#voiceBtn .voice-anim-icon {
  width: 28px;
  height: 28px;
  pointer-events: none;
  position: relative;
  z-index: 1;
}
#voiceBtn.listening .voice-anim-circle {
  animation: voiceCirclePulse 1.2s infinite cubic-bezier(0.4,0,0.2,1);
  background: rgba(207, 229, 242, 0.5);
  box-shadow: 0 0 0 10px #cc999933, 0 0 0 20px #ffeaea33;
}
@keyframes voiceCirclePulse {
  0% {
    box-shadow: 0 0 0 0 #cc9999, 0 0 0 0 #ffeaea;
    opacity: 1;
  }
  70% {
    box-shadow: 0 0 0 10px #cc999933, 0 0 0 20px #ffeaea33;
    opacity: 0.7;
  }
  100% {
    box-shadow: 0 0 0 0 #cc9999, 0 0 0 0 #ffeaea;
    opacity: 1;
  }
}
/* 音声認識ボタン用アニメーション */
.voice-anim-circle {
  border-radius: 50%;
  background: rgba(207, 229, 242, 0.2);
  box-shadow: 0 0 0 0 #cc9999;
  transition: box-shadow 0.3s, background 0.3s;
  z-index: 0;
}
#voiceBtn.listening .voice-anim-circle {
  animation: voiceCirclePulse 1.2s infinite cubic-bezier(0.4,0,0.2,1);
  background: rgba(207, 229, 242, 0.5);
  box-shadow: 0 0 0 10px #cc999933, 0 0 0 20px #ffeaea33;
}
@keyframes voiceCirclePulse {
  0% {
    box-shadow: 0 0 0 0 #cc9999, 0 0 0 0 #ffeaea;
    opacity: 1;
  }
  70% {
    box-shadow: 0 0 0 10px #cc999933, 0 0 0 20px #ffeaea33;
    opacity: 0.7;
  }
  100% {
    box-shadow: 0 0 0 0 #cc9999, 0 0 0 0 #ffeaea;
    opacity: 1;
  }
}

@media screen and (min-width: 769px) {/* PC用 */
  :root {
    --mozi-size: 1rem; /* black */
  }
}
@media screen and (max-width: 1000px) {/* SP用 */
  :root {
    --mozi-size: 0.99vw; /* black */
  }
}
.img-table {
  position: relative;
  width: 100%;
  aspect-ratio: 900 / 950;
  font-size: calc(var(--mozi-size) * 1.8);
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: calc(var(--mozi-size) * 6);
}
/* .img-table:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/conference-information01.webp) top center / contain no-repeat;
  opacity: 0.4;
  position: absolute;
  top: 0;
  left: 0;
} */

.img-table .item01 {
  position: relative;
  width: calc(var(--mozi-size) * 8);
}

.img-table .item02 {
  position: relative;
  width: calc(var(--mozi-size) * 21);
}

.img-table .item03 {
  position: relative;
  width: calc(var(--mozi-size) * 21);
}

.img-table .item04 {
  position: relative;
  width: calc(var(--mozi-size) * 21);
}

.img-table div[class^="img-table-btn"] {
  width: 100%;
  height: calc(var(--mozi-size) * 5);
  position: relative;
  background: #fff;
}

.img-table div[class^="img-table-btn"] > .box {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #fff;
  color: #00469B;
  border: calc(var(--mozi-size) * 0.2) solid;
  overflow: hidden;
}

.img-table div[class^="img-table-btn"] > .box span {
  position: relative;
  z-index: 1;
}

.img-table div[class^="img-table-btn"] > .box:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}

.img-table div[class^="img-table-btn"] > a.box:before {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 220, 255, 0.5);
  pointer-events: none;
  transition: .5s all;
  z-index: 0;
}

.img-table div[class^="img-table-btn"] > a.box:hover:before {
  width: 100%;
  background: rgba(0, 220, 255, 0.5);
}

.img-table div[class^="img-table-btn"] > .box.bg_blue {
  border: calc(var(--mozi-size) * 0.2) solid #00469B;
}

.img-table div[class^="img-table-btn"] > .box.bg_blue02 {
  border: calc(var(--mozi-size) * 0.2) solid #006ABB;
}

.img-table div[class^="img-table-btn"] > .box.bg_blue03 {
  border: calc(var(--mozi-size) * 0.2) solid #00A1ED;
}

.img-table .img-table-cap {
  position: absolute;
  left: 0;
  bottom: calc(var(--mozi-size) * 3);
  font-size: calc(var(--mozi-size) * 1.6);
  width: calc(var(--mozi-size) * 55);
}

.img-table-btn01 {
}
.img-table-btn02 {
  margin-top: calc(var(--mozi-size) * 13);
}
.img-table-btn03 {
  margin-top: calc(var(--mozi-size) * 0);
}
.img-table-btn04 {
  margin-top: calc(var(--mozi-size) * 13);
}
.img-table-btn05 {
  margin-top: calc(var(--mozi-size) * 49);
}
.img-table-btn06 {
  margin-top: calc(var(--mozi-size) * 6);
}
.img-table-btn07 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn08 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn09 {
  margin-top: calc(var(--mozi-size) * 49);
}
.img-table-btn10 {
  margin-top: calc(var(--mozi-size) * 0);
}
.img-table-btn11 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn12 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn13 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn14 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn15 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn16 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn17 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn18 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn19 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn20 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn21 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn22 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn23 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn24 {
  margin-top: calc(var(--mozi-size) * 1);
}
.img-table-btn25 {
  margin-top: calc(var(--mozi-size) * 1);
}
.line01 {
  content: "";
  position: absolute;
  top: calc(100% - var(--mozi-size));
  left: calc(50% - (var(--mozi-size) * 0.1));
  width: calc(var(--mozi-size) * 0.2);
  height: calc(var(--mozi-size) * 15);
  background: #00469B;
  z-index: -1;
  pointer-events: none;
}
.line02 {
  content: "";
  position: absolute;
  left: calc(100% - var(--mozi-size));
  top: calc(50% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 8);
  background: #00469B;
  z-index: -1;
  pointer-events: none;
}
.line03 {
  content: "";
  position: absolute;
  left: calc(100% - var(--mozi-size));
  top: calc(50% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 7);
  background: #00469B;
  z-index: -1;
  pointer-events: none;
}
.line04 {
  content: "";
  position: absolute;
  left: calc(100% - var(--mozi-size));
  top: calc(50% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 35.1);
  background: #00469B;
  z-index: -1;
  pointer-events: none;
  
}
.line05 {
  content: "";
  position: absolute;
  right: calc(100% - var(--mozi-size));
  top: calc(50% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 3.5);
  background: #00469B;
  z-index: -1;
  pointer-events: none;
}
.line06 {
  content: "";
  position: absolute;
  right: calc(100% - var(--mozi-size));
  top: calc(50% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 3.5);
  background: #00469B;
  z-index: -1;
  pointer-events: none;
}
.line07 {
  content: "";
  position: absolute;
  top: calc(50% - (var(--mozi-size) * 0.1));
  right: calc(100% + (var(--mozi-size) * 2.5));
  width: calc(var(--mozi-size) * 0.2);
  height: calc(var(--mozi-size) * 72.2);
  background: #00469B;
  z-index: -1;
  pointer-events: none;
}
.line08 {
  content: "";
  position: absolute;
  top: calc(50% - (var(--mozi-size) * 0.1));
  left: calc(0% - (var(--mozi-size) * 3.1));
  width: calc(var(--mozi-size) * 0.2);
  height: calc(var(--mozi-size) * 66.2);
  background: #00469B;
  z-index: -1;
  pointer-events: none;
}
.line09 {
  content: "";
  position: absolute;
  right: calc(100% - var(--mozi-size));
  top: calc(50% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 4.1);
  background: #00469B;
  z-index: -1;
  pointer-events: none;
}
.line10 {
  content: "";
  position: absolute;
  right: calc(100% - var(--mozi-size));
  top: calc(75% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 2.25);
  background: #DE0078;
  z-index: -1;
  pointer-events: none;
}
.line11 {
  content: "";
  position: absolute;
  top: calc(75% - (var(--mozi-size) * 0.1));
  right: calc(100% + (var(--mozi-size) * 1.25));
  width: calc(var(--mozi-size) * 0.2);
  height: calc(var(--mozi-size) * 36.2);
  background: #DE0078;
  z-index: -1;
  pointer-events: none;
}
.line12 {
  content: "";
  position: absolute;
  right: calc(100% - var(--mozi-size));
  top: calc(25% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 2.25);
  background: #00A1ED;
  z-index: -1;
  pointer-events: none;
}
.line13 {
  content: "";
  position: absolute;
  top: calc(25% - (var(--mozi-size) * 0.1));
  right: calc(100% + (var(--mozi-size) * 1.25));
  width: calc(var(--mozi-size) * 0.2);
  height: calc(var(--mozi-size) * 4.2);
  background: #00A1ED;
  z-index: -1;
  pointer-events: none;
}
.line14 {
  content: "";
  position: absolute;
  left: calc(100% - var(--mozi-size));
  top: calc(75% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 5.7);
  background: #00A1ED;
  z-index: -1;
  pointer-events: none;
}
.line15 {
  content: "";
  position: absolute;
  top: calc(75% - (var(--mozi-size) * 0.1));
  left: calc(100% + (var(--mozi-size) * 4.6));
  width: calc(var(--mozi-size) * 0.2);
  height: calc(var(--mozi-size) * 33.7);
  background: #00A1ED;
  z-index: -1;
  pointer-events: none;
}
.line16 {
  content: "";
  position: absolute;
  left: calc(100% + (var(--mozi-size) * 1.15));
  top: calc(50% + (var(--mozi-size) * 8.9));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 2.5);
  background: #00A1ED;
  z-index: -1;
  pointer-events: none;
}
.line17 {
  content: "";
  position: absolute;
  right: calc(100% - var(--mozi-size));
  top: calc(75% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 2.25);
  background: #DE0078;
  z-index: -1;
  pointer-events: none;
}
.line18 {
  content: "";
  position: absolute;
  left: calc(100% - var(--mozi-size));
  top: calc(25% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 5.75);
  background: #DE0078;
  z-index: -1;
  pointer-events: none;
}
.line19 {
  content: "";
  position: absolute;
  top: calc(75% - (var(--mozi-size) * 0.1));
  right: calc(100% + (var(--mozi-size) * 1.25));
  width: calc(var(--mozi-size) * 0.2);
  height: calc(var(--mozi-size) * 57.7);
  background: #DE0078;
  z-index: -1;
  pointer-events: none;
}
.line20 {
  content: "";
  position: absolute;
  left: calc(100% - var(--mozi-size));
  top: calc(25% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 3.9);
  background: #00A1ED;
  z-index: -1;
  pointer-events: none;
}
.line21 {
  content: "";
  position: absolute;
  top: calc(50% - (var(--mozi-size) * 0.1));
  left: calc(100% + (var(--mozi-size) * 2.9));
  width: calc(var(--mozi-size) * 0.2);
  height: calc(var(--mozi-size) * 11);
  background: #00469B;
  z-index: -1;
  pointer-events: none;
}
.line22 {
  content: "";
  position: absolute;
  right: calc(100% - var(--mozi-size));
  top: calc(25% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 4.1);
  background: #00469B;
  z-index: -1;
  pointer-events: none;
}
.line23 {
  content: "";
  position: absolute;
  top: calc(50% - (var(--mozi-size) * 0.1));
  left: calc(0% - (var(--mozi-size) * 3.1));
  width: calc(var(--mozi-size) * 0.2);
  height: calc(var(--mozi-size) * 5);
  background: #00A1ED;
  z-index: -1;
  pointer-events: none;
}
.line24 {
  content: "";
  position: absolute;
  left: calc(100% - var(--mozi-size));
  top: calc(50% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 8);
  background: #DE0078;
  z-index: -1;
  pointer-events: none;
}
.line25 {
  content: "";
  position: absolute;
  right: calc(100% - var(--mozi-size));
  top: calc(50% - (var(--mozi-size) * 0.1));
  height: calc(var(--mozi-size) * 0.2);
  width: calc(var(--mozi-size) * 4.1);
  background: #00A1ED;
  z-index: -1;
  pointer-events: none;
}
.cho {
  display: inline-block; /* transformを効かせるため */
  transform: scaleX(0.9); /* 80%に圧縮（数値を小さくすると細長くなる） */
  transform-origin: center center; /* 基準位置を調整 */
}

/* 小網町のつぶやき */
.koami_container figure{
  text-align: center;
}
.koami_container p{
  margin: 2rem 0;
}
.koami_container a{
  text-decoration: underline;
  color: #00469B;
}
/* 小網町のつぶやき */

.video {
    position: relative;
}
.video:before {
    top: 0;
    left: 0;
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    content: "";
    display: block;
}
.video > * {
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}
ul.indent1-disc-list {
  padding-left: 2em;
  text-indent: -1em;
}
ul.indent1-disc-list > li {
  list-style-type: disc;
  text-indent: 0;
  margin-top: .5em;
}

/* 
=================================================================================

▼▼▼　ログイン　▼▼▼

=================================================================================
*/


.login-bg {
  width: 100vw;
  height: 100vh;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  /* グラデーションは:afterで表現 */
}

.login-bg:before {
  content: "";
  display: block;
  position: absolute;
  width: 63.33vw;
  aspect-ratio: 20 / 19;
  top: -7.5vw;
  left: -2vw;
  background: url(../img/login-bg01.webp) center center / contain no-repeat;
  pointer-events: none;
  opacity: 0;
  animation: loginBgFadeMove 2.5s cubic-bezier(.77,0,.18,1) forwards;
}

@keyframes loginBgFadeMove {
  0% {
    opacity: 0;
    transform: scale(1.05) translateY(30px);
  }
  60% {
    opacity: 1;
    transform: scale(1) translateY(-5px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.login-bg:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background: linear-gradient(270deg,rgba(1, 14, 38, 1) 0%, rgba(0, 89, 168, 1) 50%, rgba(49, 99, 152, 1) 100%);
  background-size: 200% 100%;
  animation: loginBgGradMove 8s ease-in-out infinite;
  opacity: 1;
}

@keyframes loginBgGradMove {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* .login-bg-circle-01のスタイル */
.login-bg-circle-01 {
  position: absolute;
  top: 0;
  left: 0;
  aspect-ratio: 1 / 1;
  width: min(100vw, 100svh);
  height: min(100vw, 100svh);
  max-width: 100vw;
  max-height: 100svh;
  background: radial-gradient(circle closest-side, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.25) 50%, rgba(255,255,255,0.05) 80%, rgba(255,255,255,0) 100%);
  transform: translate(-50%, -50%);
  z-index: -1;
  pointer-events: none;
  animation: scaleRotate 8s infinite ease-in-out;
}

/* .login-bg-circle-02のスタイル */
.login-bg-circle-02 {
  position: absolute;
  top: 100%;
  left: 100%;
  aspect-ratio: 1 / 1;
  width: min(100vw, 100svh);
  height: min(100vw, 100svh);
  max-width: 100vw;
  max-height: 100svh;
  background: radial-gradient(circle closest-side, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.25) 50%, rgba(255,255,255,0.05) 80%, rgba(255,255,255,0) 100%);
  transform: translate(-50%, -50%);
  z-index: -1;
  pointer-events: none;
  animation: scaleRotate 8s infinite ease-in-out reverse;
}

/* アニメーションの設定 */
@keyframes scaleRotate {
  0% {
    transform: translate(-50%, -50%) rotate(0deg) scale(1);
  }
  25% {
    transform: translate(-50%, -50%) rotate(90deg) scale(1.2);
  }
  50% {
    transform: translate(-50%, -50%) rotate(180deg) scale(0.8);
  }
  75% {
    transform: translate(-50%, -50%) rotate(270deg) scale(1.1);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg) scale(1);
  }
}


.login-box {
  position: relative;
}

.login-box form input {
  border: 1px none;
  line-height: 2;
  background: #fff;
  width: 100%;
  padding: 1em;
  border-radius: .5em;
}

.login-box form input + input {
  margin-top: 1.5rem;
}

.login-box form .login-acount,
.login-box form .login-pass {
  position: relative;
}

.login-box form .login-acount input,
.login-box form .login-pass input {
  padding-left: 3em;
}

.login-box form .login-acount:before {
  content: "";
  display: block;
  position: absolute;
  width: 2em;
  height: 100%;
  top: 0;
  left: 1em;
  background: url(../img/login-icon01.webp) center center / contain no-repeat;
  pointer-events: none;
}

.login-box form .login-pass:before {
  content: "";
  display: block;
  position: absolute;
  width: 2em;
  height: 100%;
  top: 0;
  left: 1em;
  background: url(../img/login-icon02.webp) center center / contain no-repeat;
  pointer-events: none;
}

.login-box h1 {
  text-align: center;
  margin-bottom: 5.5rem;
}

.login-box-ttl {
  color: #fff;
  text-align: center;
}

.login-box-ttx {
  color: #00469B;
  text-align: center;
  font-size: 4.3rem;
  line-height: 1;
  margin-bottom: 0.5em;
}

.bg_light_blue02-box {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 2rem;
  flex-wrap: wrap;
  padding: 2rem;
  background: #E7F0F6;
}

.login-btn {
  display: block;
  margin: 0 auto;
}

.login-btn > a {
  color: #00469B;
  background: #FFEA00;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: .25em;
  text-align: center;
  padding: .25em;
}

.movie {
    position: relative;
    background: #111;
}
.movie:before {
    top: 0;
    left: 0;
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    content: "";
    display: block;
}
.movie > * {
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}

/* 
=================================================================================

▼▼▼　list　▼▼▼

=================================================================================
*/

/* ul.list03 */
ul.list03 {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}
ul.list03 > li {
  width: 22rem;
}
@media screen and (max-width: 768px) {/* SP用 */
  ul.list03 > li {
    width: calc((99.99% - 2rem) / 2);
  }
}
/* ▲ ul.list03 ▲ */

/* ul.list04 */
ul.list04 {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) {/* PC用 */
  ul.list04 > li {
    width: 11rem;
  }
}
ul.list04 > li > a {
  display: block;
  background: #fff;
  border: 1px solid;
  border-radius: 0.4em;
  padding: 0.5em;
  transition: .5s all;
}
@media screen and (max-width: 768px) {/* SP用 */
  ul.list04 {
    justify-content: flex-start;
  }
}
/* ▲ ul.list04 ▲ */

/* ul.category_list */
ul.category_list {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0.5rem;
  flex-wrap: wrap;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 768px) {/* SP用 */
  ul.category_list {
    font-size: 1.8rem;
    justify-content: flex-start;
  }
}
/* ▲ ul.category_list ▲ */

/* ul.list05 */
ul.list05 > li {
  padding: 2.5rem 2.5rem 1rem 2.5rem;
  border-bottom: 1px solid #231815;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2.5rem;
}
ul.list05 > li > .txt {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5em 1em;
  flex-wrap: wrap;
}
ul.list05 > li > .ico img {
  width: 4.7rem;
}

ul.list05 > li {
  border-bottom: 1px solid #00469B;
}

ul.list05 > li > .txt .day {
  color: #00469B;
}

/* NEWアイコンのスタイル */
.new-icon {
  display: inline-block;
  background-color: #DF081F;
  color: white;
  font-size: 80%; 
  font-weight: bold;
  padding: .5em 1em;
  margin-left: .5em; 
  border-radius: 3px;
  vertical-align: middle;
  line-height: 1;
}

@media screen and (max-width: 768px) {/* SP用 */
  ul.list05 > li {
    padding: 3rem 0;
  }
  ul.list05 > li:nth-of-type(1) {
    padding-top: 0;
  }
}

ul.list05 > li > .txt .ttl {
  width: 100%;
}

ul.list05 > li > .txt .ttl a:hover {
  color: #00469B;
  opacity: 1;
  filter: alpha(opacity=100);
  font-weight: bold;
}

@media screen and (max-width: 768px) {/* SP用 */
  ul.blog_list > li {
    flex-wrap: wrap;
    gap: 0.5em 1em;
    padding: 1em 0;
  }
  ul.blog_list > li .day {
    flex: 1;
  }
  ul.blog_list > li .ttl {
    width: 100%;
    flex: inherit;
  }
}
/* ▲ ul.list05 ▲ */

/* ul.list06 */
ul.list06 {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
  line-height: 1.2;
}
ul.list06 > li {
  position: relative;
}
ul.list06 > li > a {
  background: #00469B;
  color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.5em;
  border-radius: .5rem;
  border: 1px solid #00469B;
  width: 100%;
}
ul.list06 > li > a:hover {
  opacity: 1;
  filter: alpha(opacity=100);
  background: #FFEA00;
  color: #00469B;
}
ul.list06 > li > a.bg_blue03 {
  border: 1px solid #00A1ED;
}
ul.list06 > li > a.bg_blue03:hover {
  border: 1px solid #00469B;
  background: #FFEA00 !important;
}
ul.list06 > li .new-icon {
  position: absolute;
  top: 0.5em;
  left: 1.5em;
  transform: translate(-50%,-50%);
  display: table;
  margin: 0;
}
ul.list03 + ul.list06 {
  margin-top: 4rem;
}
@media screen and (min-width: 769px) {/* PC用 */
  ul.list06 > li {
    width: 21.7rem;
  }
}
@media screen and (max-width: 768px) {/* SP用 */
  ul.list06 > li {
    width: calc((99.99% - 2rem) / 2);
    border-radius: 1rem;
  }
}
/* ▲ ul.list06 ▲ */

/* ul.list07 */
ul.list07 {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 1.3rem;
  flex-wrap: wrap;
}
ul.list07 > li > a {
  width: 13em;
  border-radius: 50vmin;
  border: 1px solid;
  background: #fff;
  display: block;
  padding: 0.4em;
}
ul.list07 > li > a:hover {
  color: #fff;
  border-color: #00469B;
  background: #00469B;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ ul.list07 ▲ */

ul.list08 {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}
ul.list08 > li {
  width: calc((99.99% - 4rem) / 5);
}
@media screen and (max-width: 768px) {/* SP用 */
  ul.list08 {
    gap: 0.6rem;
  }
  ul.list08 > li {
    width: calc((99.99% - 1.8rem) / 4);
  }
}
/* ul.list09 */
ul.list09 {
  line-height: 2.5;
}
/* ul.list09 > li > a {
  text-decoration: underline;
} */
/* ▲ ul.list09 ▲ */

/* ul.list10 */
ul.list10 > li {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  line-height: 2.5;
}
ul.list10 > li > .txt {
  flex: 1;
}
/* ▲ ul.list10 ▲ */

/* ul.list11 */
ul.list11 {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 2rem;
  flex-wrap: wrap;
}
ul.list11 > li > a {
  text-decoration: underline;
}
/* ▲ ul.list11 ▲ */

/* ul.list12 */
ul.list12 {
  text-indent: ;
  margin-top: 1.5em;
}
ul.list12 > li p {
  padding-left: 1.5em;
}
ul.list12 > li + li {
  margin-top: 1.5em;
}
/* ▲ ul.list12 ▲ */

/* ul.list13 */
ul.list13 {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 0.5em 1em;
  flex-wrap: wrap;
  padding-left: 1em;
}
ul.list13 > li > a {
  color: #00469B;
}
@media screen and (min-width: 769px) {/* PC用 */
  ul.list13 > li {
    min-width: 19em;
    max-width: 100%;
  }
}
/* ▲ ul.list13 ▲ */

/* ul.list14 */
ul.list14 {
  padding-left: 1.5em;
}
ul.list14 > li + li {
  margin-top: 1.5em;
}
ul.list14 > li .box {
  padding-left: 1.5em;
}
/* ▲ ul.list14 ▲ */

/* ul.list15 */
ul.list15 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
}
ul.list15 > li {
  flex: 1;
  text-align: center;
}
ul.list15 > li > a {
  
}
.arrow-btn02 {
  position: relative;
}
.arrow-btn02:before {
  content: "▼";
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 1em;
  height: 1em;
  top: -1.5em;
  left: 50%;
  color: #00469B;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(2, 1);
}
.arrow-btn03 {
  position: relative;
}
.arrow-btn03:before {
  content: "\e5c8";
  font-family: 'Material Symbols Outlined';
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  width: 1em;
  height: 1em;
  top: 50%;
  right: 0.25em;
  color: #fff;
  pointer-events: none;
  transform: translate(0, -50%);
}
/* ▲ ul.list15 ▲ */

.kenkyu-list > li .ttl {
  padding: 0.5em 0;
}

/* ul.list21 */
@media screen and (min-width: 769px) {/* PC用 */
  ul.list21 > li {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    gap: 1em;
    flex-wrap: wrap;
  }
  ul.list21 > li + li {
    margin-top: 1em;
  }
  ul.list21 > li > .ttl {
    width: 13em;
  }
  ul.list21 > li > .cap {
    flex: 1;
  }
}
@media screen and (max-width: 768px) {/* SP用 */
  ul.list21 > li {
    border-bottom: 1px dashed #00469B;
    padding-bottom: 1em;
  }
  ul.list21 > li + li {
    margin-top: 1em;
  }
  ul.list21 > li > .ttl {
    margin-bottom: 0.5em;
  }
}
/* ▲ ul.list21 ▲ */

/* .list22 */
.list22 a {
  transition: .3s all;
}
.list22 a:hover {
  color: #00469B;
  opacity: 1;
  filter: alpha(opacity=100);
  font-weight: bold;
}
/* ▲ .list22 ▲ */



/* ul.viewer-list-box */
ul.viewer-list-box > li + li {
  margin-top: 2em;
}
ul.viewer-list-box > li .btn-box {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 1em;
}
ul.viewer-list-box > li .btn-box .custom-btn > a,
ul.viewer-list-box > li .btn-box .delete-btn > a {
  padding: 0.5em 2em;
  text-align: center;
  display: block;
  color: #fff;
  border-radius: .5rem;
  line-height: 1.5;
}
ul.viewer-list-box > li .btn-box .custom-btn > a {
  background: #00469B;
}
ul.viewer-list-box > li .btn-box .delete-btn > a {
  background: #DF081F;
}
/* ▲ ul.viewer-list-box ▲ */

/* 
=================================================================================

▼▼▼　error_box　▼▼▼

=================================================================================
*/

.error_box {
  font-size: 1.8rem;
  line-height: 1.5;
  color: var(--red-color);
  border: 1px solid var(--red-color);
  border-radius: 5px;
  background: #FFEBEB;
  margin-bottom: 5rem;
  padding: 2rem 3rem;
  min-height: 5em;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {/* SP用 */
  .error_box {
    font-size: 2.7rem;
  }
}

.error_box .error_box_in {
  width: 100%;
}

ul.error_list > li {
  padding-left: 2em;
}

/* 
=================================================================================

▼▼▼　ページネーション　▼▼▼

=================================================================================
*/
ul.pagination {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: .5em;
  flex-wrap: wrap;
}
ul.pagination > li {
  background: #fff;
  color: #828282;
  border-radius: 50%;
  position: relative;
  width: 2em;
  height: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid;
}
ul.pagination > li.on {
  background: #00469B;
  border: 1px solid #00469B;
  color: #fff;
}
ul.pagination > li.arrow-btn {
  border: 1px solid #828282;
}
ul.pagination > li > a,
ul.pagination > li .box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
ul.pagination > li .box img {
  width: auto;
  height: 0.6em;
  display: block;
  object-fit: contain;
}


/* 
=================================================================================

▼▼▼　色　▼▼▼

=================================================================================
*/
/* ▼ basic ▼ */
.basic { color: #231815 !important;}
.bg_basic { background: #231815 !important; }
/* ▲ basic ▲ */

/* ▼ red ▼ */
.red { color: #DF081F !important; }
.bg_red { background: #DF081F !important; }
/* ▲ red ▲ */

/* ▼ green ▼ */
.green { color: #009577 !important; }
.bg_green { background: #009577 !important; }
/* ▲ green ▲ */

/* ▼ blue ▼ */
.blue { color: #00469B !important; }
.bg_blue { background: #00469B !important; }
/* ▲ blue ▲ */

/* ▼ blue02 ▼ */
.blue02 { color: #006ABB !important; }
.bg_blue02 { background: #006ABB !important; }
/* ▲ blue02 ▲ */

/* ▼ blue03 ▼ */
.blue03 { color: #00A1ED !important; }
.bg_blue03 { background: #00A1ED !important; }
/* ▲ blue03 ▲ */

/* ▼ light_blue ▼ */
.light_blue { color: #CFE5F2 !important; }
.bg_light_blue { background: #CFE5F2 !important; }
/* ▲ light_blue ▲ */

/* ▼ light_blue02 ▼ */
.light_blue02 { color: #E7F0F6 !important; }
.bg_light_blue02 { background: #E7F0F6 !important; }
/* ▲ light_blue02 ▲ */

/* ▼ yellow ▼ */
.yellow { color: #FFEA00 !important; }
.bg_yellow { background: #FFEA00 !important; }
/* ▲ yellow ▲ */

/* ▼ light_yellow ▼ */
.light_yellow { color: #FFFFF5 !important; }
.bg_light_yellow { background: #FFFFF5 !important; }
/* ▲ light_yellow ▲ */

/* ▼ gray ▼ */
.gray { color: #6A6969 !important; }
.bg_gray { background: #6A6969 !important; }
/* ▲ gray ▲ */

/* ▼ white ▼ */
.white { color: #fff !important; }
.bg_white { background: #fff !important; }
/* ▲ white ▲ */

/* ▼ お知らせ ▼ */
.bg_new { color: #000 !important; }
.bg_new > a { border-color: #000 !important; }
.bg_new:hover,
.bg_new.active {
  border-color: #000 !important;
  background: #000 !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ お知らせ ▲ */

/* ▼ 重要なお知らせ ▼ */
.bg_important-notice { color: #DF081F !important; }
.bg_important-notice > a { border-color: #DF081F !important; }
.bg_important-notice:hover,
.bg_important-notice.active {
  border-color: #DF081F !important;
  background: #DF081F !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ 重要なお知らせ ▲ */

/* ▼ 行政動向 ▼ */
.bg_trend { color: #CC0076 !important; }
.bg_trend > a { border-color: #CC0076 !important; }
.bg_trend:hover,
.bg_trend.active {
  border-color: #CC0076 !important;
  background: #CC0076 !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ 行政動向 ▲ */

/* ▼ 周知・協力依頼 ▼ */
.bg_known,
.bg_request-public-information,
.bg_request-cooperation { color: #6D0B7A !important; }

.bg_known > a,
.bg_request-public-information > a,
.bg_request-cooperation > a { border-color: #6D0B7A !important; }

.bg_known:hover,
.bg_known.active,
.bg_request-public-information:hover,
.bg_request-public-information.active,
.bg_request-cooperation:hover,
.bg_request-cooperation.active {
  border-color: #6D0B7A !important;
  background: #6D0B7A !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ 周知・協力依頼 ▲ */

/* ▼ 統計・調査・資料 ▼ */
.bg_statistics,
.bg_statistical-information,
.bg_surveys-and-reports,
.bg_various-materials { color: #007BC0 !important; }

.bg_statistics > a,
.bg_statistical-information > a,
.bg_surveys-and-reports > a,
.bg_various-materials > a { border-color: #007BC0 !important; }

.bg_statistics:hover,
.bg_statistics.active,
.bg_statistical-information:hover,
.bg_statistical-information.active,
.bg_surveys-and-reports:hover,
.bg_surveys-and-reports.active,
.bg_various-materials:hover,
.bg_various-materials.active {
  border-color: #007BC0 !important;
  background: #007BC0 !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ 統計・調査・資料 ▲ */

/* ▼ 法令・規則 ▼ */
.bg_laws-regulations,
.bg_laws,
.bg_personal-information-related-matters,
.bg_association-rules { color: #64a36b !important; }

.bg_laws-regulations > a,
.bg_laws > a,
.bg_personal-information-related-matters > a,
.bg_association-rules > a { border-color: #64a36b !important; }

.bg_laws-regulations:hover,
.bg_laws-regulations.active,
.bg_laws:hover,
.bg_laws.active,
.bg_personal-information-related-matters:hover,
.bg_personal-information-related-matters.active,
.bg_association-rules:hover, 
.bg_association-rules.active {
  border-color: #64a36b !important;
  background: #64a36b !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ 法令・規則 ▲ */

/* ▼ ガイドライン・指針・計画 ▼ */
.bg_guidelines-plans { color: #009577 !important; }
.bg_guidelines-plans > a { border-color: #009577 !important; }
.bg_guidelines-plans:hover,
.bg_guidelines-plans.active {
  border-color: #009577 !important;
  background: #009577 !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ ガイドライン・指針・計画 ▲ */

/* ▼ クレジットカード・セキュリティガイドライン等関係文書一覧 ▼ */
.bg_security-guidelines { color: #dbae18 !important; }
.bg_security-guidelines > a { border-color: #dbae18 !important; }
.bg_security-guidelines:hover,
.bg_security-guidelines.active {
  border-color: #dbae18 !important;
  background: #dbae18 !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ クレジットカード・セキュリティガイドライン等関係文書一覧 ▲ */

/* ▼ 自主規制規則等・依頼文書一覧 ▼ */
.bg_self-regulation,
.bg_self-regulation-main,
.bg_self-regulation-list { color: #00469B !important; }
.bg_self-regulation > a,
.bg_self-regulation-main > a,
.bg_self-regulation-list > a { border-color: #00469B !important; }
.bg_self-regulation:hover,
.bg_self-regulation.active,
.bg_self-regulation-main:hover,
.bg_self-regulation-main.active,
.bg_self-regulation-list:hover,
.bg_self-regulation-list.active {
  border-color: #00469B !important;
  background: #00469B !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ 自主規制規則等・依頼文書一覧 ▲ */

/* ▼ 割賦販売法・自主ルール研修関係 ▼ */
.bg_installment { color: #f82727 !important; }
.bg_installment > a { border-color: #f82727 !important; }
.bg_installment:hover,
.bg_installment.active {
  border-color: #f82727 !important;
  background: #f82727 !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ 割賦販売法・自主ルール研修関係 ▲ */

/* ▼ 資格検定制度・その他研修 ▼ */
.bg_qualification { color: #c93a92 !important; }
.bg_qualification > a { border-color: #c93a92 !important; }
.bg_qualification:hover,
.bg_qualification.active {
  border-color: #c93a92 !important;
  background: #c93a92 !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ 資格検定制度・その他研修 ▲ */

/* ▼ 協会の取り組み ▼ */
.bg_association-efforts { color: #00469B !important; }
.bg_association-efforts > a { border-color: #00469B !important; }
.bg_association-efforts:hover,
.bg_association-efforts.active {
  border-color: #00469B !important;
  background: #00469B !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ 協会の取り組み ▲ */

/* ▼ 参考情報 ▼ */
.bg_reference-information { color: #E46106 !important; }
.bg_reference-information > a { border-color: #E46106 !important; }
.bg_reference-information:hover,
.bg_reference-information.active {
  border-color: #E46106 !important;
  background: #E46106 !important;
  color: #fff !important;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* ▲ 参考情報 ▲ */

/* 
=================================================================================

▼▼▼　文字　▼▼▼

=================================================================================
*/
.go {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", "Meiryo", sans-serif;
}
.pop {
  font-family: "Poppins", serif;
}
.b {
  font-weight: 700;
}
.sb {
  font-weight: 600;
}
.m {
  font-weight: 500;
}

/* googleマテリアルアイコン */
body .material-symbols-outlined {
  font-size: inherit;
  vertical-align: baseline;
  line-height: inherit;
  font-weight: inherit;
}

/* 
=================================================================================

▼▼▼　サンプルボタン　▼▼▼

=================================================================================
*/

/* ▼ btn01 ▼ */
.btn01 > a {
  border-radius: 50vmin;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em 1.5em 1em 1.5em;
  gap: 0.5em;
  background: #DF081F;
  color: #fff;
}
/* ▲ btn01 ▲ */

/* ▼ btn02 ▼ */
.btn02 {
  margin: 5.5rem auto 1rem;
  text-align: center;
}

.btn02 > a {
  color: #fff;
  background: #00469B;
  font-size: 3rem;
  width: 100%;
  padding: 0.5rem;
  text-align: center;
  display: block;
  line-height: 2;
}
/* ▲ btn02 ▲ */

/* ▼ btn03 ▼ */
.btn03 {
  border-radius: 50vmin;
  filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.3));
}
.btn03 > a {
  background: #DF081F;
  color: #fff;
  text-align: center;
  padding: 1em 1.5em 1em 1.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden;
  overflow: clip;
  border-radius: 50vmin;
}
.btn03 > a::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #231815;
  border-radius: 50vmin;
  transform: translateX(-100%);
  transition: .5s all;
}
.btn03 a:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}
.btn03:hover > *::after {
  transform: translateX(0);  
}
/* ▲ btn03 ▲ */

/* ▼ btn04 ▼ */
.btn04 > * {
  text-align: center;
  padding: .5em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25em;
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 1rem;
  transition: .5s all;
}
.btn04 > *:hover {
  opacity: 1;
  filter: alpha(opacity=100);
  transform: scale(1.1);
}
.btn04_2{
  margin-left: auto;
  margin-top: 3rem;
}
/* ▲ btn04 ▲ */

/* ▼ btn05 ▼ */
.btn05 > a {
  text-align: center;
  padding: .25em .75em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25em;
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 1rem;
  transition: .5s all;
  border: 1px solid;
}
.btn05 > a:hover {
  opacity: 1;
  filter: alpha(opacity=100);
  transform: scale(1.1);
}
.btn05 > a .ico > img {
  width: 0.8em;
  height: 0.8em;
  object-fit: contain;
  display: block;
}
/* ▲ btn05 ▲ */

/* ▼ btn06 ▼ */
.btn06 > a {
  text-align: center;
  padding: .5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25em;
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: .5rem;
  transition: .5s all;
  border: 1px solid;
}
section.return-sec .btn06 > a:hover {
  opacity: 1;
  filter: alpha(opacity=100);
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {/* SP用 */
  section.return-sec .flex.middle {
    align-items: stretch !important;
    gap: 1em !important;
  }
  section.return-sec .btn06 {
    flex: 1;
  }
  section.return-sec .btn06 > a {
    padding: .5em;
  }
}
.btn06.v2 > a {
  padding: .5em;
  width: 33.5rem;
}
.new_icon{
  width: 2rem;
}
/* ▲ btn06 ▲ */

/* ▼ btn07 ▼ */
.btn07 > a {
  text-align: center;
  padding: .5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: .5rem;
  transition: .5s all;
  border: 1px solid #00469B;
}
@media screen and (max-width: 768px) {/* SP用 */
  .btn07 > a {
    padding: .5em 3em;
  }
}
/* ▲ btn07 ▲ */

/* ▼ btn08 ▼ */
.btn08 > a {
  border-radius: 50vmin;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em 1.5em;
  gap: 0.5em;
  border: 2px solid #00DCFF;
  border-radius: 50vmin;
  color: #00DCFF;
  text-decoration: none;
  text-shadow: 
    0 0 .5rem rgba(0, 220, 255, 0.4),
    0 0 1rem rgba(0, 220, 255, 0.4),
    0 0 2rem rgba(0, 220, 255, 0.5);
  box-shadow:
    0 0 .5rem rgba(0, 220, 255, 0.3),
    0 0 1.5rem rgba(0, 220, 255, 0.3),
    0 0 2rem rgba(0, 220, 255, 0.4),
    inset 0 0 .5rem rgba(0, 220, 255, 0.3),
    inset 0 0 1rem rgba(0, 220, 255, 0.4);
  animation: glow 2s ease-in-out infinite alternate;
}
/* ▲ btn08 ▲ */

/* ▼ btn09 ▼ */
.btn09 > a {
  border-radius: 50vmin;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em 1.5em;
  gap: 0.5em;
  color: #fff;
  background: linear-gradient(270deg,
    rgba(202, 110, 24, 0.94),
    rgb(196, 127, 62),
    rgb(226, 235, 103),
    rgba(202, 110, 24, 0.94)
  );
  background-size: 400% 400%;
  animation: gradientFlow 10s linear infinite;
  text-decoration: none;
  transition: transform 0.3s;
}

.btn09 > a:hover {
  transform: scale(1.05);
}

/* グラデーションアニメーション */
@keyframes gradientFlow {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}
/* ▲ btn09 ▲ */

/* ▼ btn10 ▼ */
.btn10 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  font-size: 2rem;
}
.btn10 > a {
  padding: 0.5em 2em;
  background: #00469B;
  color: #fff;
  text-align: center;
  border-radius: 3px;
  position: relative;
}
.btn10 > a .material-symbols-outlined {
  position: absolute;
  right: .5em;
  line-height: 1;
  top: 50%;
  transform: translateY(-50%);
  
}
@media screen and (max-width: 768px) {/* SP用 */
  .btn10 {
    font-size: 2.6rem;
  }
}
/* ▲ btn10 ▲ */

/* ▼ btn11 ▼ */
.btn11 {
  display: table;
  margin: 0 0 0 auto;
}
.btn11 > a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25em;
  padding: 0.25em 0.75em;
  background: #fff;
  text-align: center;
  border-radius: 5px;
  position: relative;
  border: 1px solid;
}
.btn11.blue > a:hover {
  opacity: 1;
  filter: alpha(opacity=100);
  background: #00469B;
  color: #fff;
}
/* ▲ btn11 ▲ */

/* 
=================================================================================

▼▼▼　header　▼▼▼

=================================================================================
*/
header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
  transition: 1s all;
  filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.3));
}
header > .box {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 2rem 5rem;
  transition: 1s all;
  background: #fff;
  border-top: 10px solid #00469B;
}
@media screen and (max-width: 768px) {/* SP用 */
  header {
    background: none;
  }
  header > .box {
    padding: 2rem;
    background: #fff;
  }
  h2 img {
    width: 40rem;
  }
  header > .box03 {
    justify-content: center;
  }
}
ul.header01 {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  flex-wrap: wrap;
}
ul.header01 > li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
ul.header01 > li.item01 {
  margin-left: 0;
  margin-right: auto;
}
ul.header01 > li.hamburger_set {
  margin-right: 0;
}
ul.header02 {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
ul.header02 > li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

header .open-box {
  cursor: pointer;
  position: relative;
}
header .open-box-in {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 1.5rem;
}
header .open-box-in .open-line {
  position: absolute;
  width: 100%;
  height: 2px;
  border-radius: 50vmin;
  background: #00469B;
}
header .open-box-in .open-line:nth-of-type(1) {
  top: 0;
}
header .open-box-in .open-line:nth-of-type(2) {
  top: 0.75rem;
}
header .open-box-in .open-line:nth-of-type(3) {
  top: 1.5rem;
}
header .pc-header-hum {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 11;
  transition: 1s all;
  background: #ECEFF4;
  filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.3));
  opacity: 0 !important;
  pointer-events: none !important;
  /* transform: translateX(0) !important; */
  transform: translateY(-101%);
}
header .pc-header-hum.view {
  opacity: 1 !important;
  pointer-events: all !important;
  /* transform: translateX(101%) !important; */
  transform: translateY(0) !important;
}
header .close-box {
  padding: 2rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
header .close-box .close-btn {
  position: relative;
  width: 10rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
header .close-box .close-btn .close-line {
  position: absolute;
  width: 10rem;
  height: 2px;
  border-radius: 50vmin;
  background: #00469B;
}
header .close-box .close-btn .close-line:nth-of-type(1) {
  transform: rotate(-20deg);
}
header .close-box .close-btn .close-line:nth-of-type(2) {
  transform: rotate(20deg);
}
header .contents-box {
  padding-bottom: 4rem;
}
header .group01 input.field_text {
  border: 1px solid;
  border-radius: .5em;
}
header .group03 {
  background: #fff;
  border-radius: 2px;
  padding: 1em 0.5em;
}
header .group03 .con01 {
  padding: 0 0 0.5em;
  border-bottom: 1px solid #00469B;
  margin-bottom: 0.5em;
}
header .group03 .con01 > a {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 0.25em;
}
/* ul.list16 */
header ul.list16 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5%;
  flex-wrap: wrap;
}
header ul.list16 > li {
}
/* ▲ ul.list16 ▲ */
/* ul.list17 */
header ul.list17 {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) {/* PC用 */
  header ul.list17 > li {
    width: calc((99.99% - 2rem) / 3);
  }
}
header ul.list17 > li > a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 0.5em;
  background: #fff;
  padding: 0.5em;
  border-radius: 2px;
  transition: .5s all;
}
header ul.list17 > li > a:hover {
  color: #FFEA00 !important;
  background: #00469B;
  transform: translateX(0);
  opacity: 1;
}
header ul.list17 > li > a:hover .icon-arrow,
header ul.list17 > li > a.active .icon-arrow,
header ul.list19 > li > a:hover .icon-arrow,
header ul.list19 > li > a.active .icon-arrow {
  position: relative;
  color: #00469B;
  background: #fff;
}
header ul.list17 > li > a:hover .icon-arrow > *,
header .group03 .con01 > a:hover .icon-arrow > *,
header ul.list19 > li > a:hover .icon-arrow > * {
  animation: back-number_move .5s 1;
}
header ul.list19 > li > a.bg_blue .icon-arrow {
  position: relative;
  color: #00469B;
  background: #fff;
}
/* ▲ ul.list17 ▲ */
/* ul.list18 */
header ul.list18 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0 4.5em;
  flex-wrap: wrap;
  padding: 0 1em;
}
header ul.list18 > li > a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.25em;
  transition: .3s all;
}
header ul.list18 > li > a:hover {
  color: #00469B;
  transform: translateX(0);
  opacity: 1;
}
/* ▲ ul.list18 ▲ */
/* ul.list19 */
header ul.list19 {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) {/* PC用 */
  header ul.list19 > li {
    width: calc((99.99% - 2rem) / 3);
  }
}
header ul.list19 > li > a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
  gap: 0.5em;
  background: #fff;
  padding: 0.5em;
  border-radius: 2px;
  transition: .5s all;
}
header ul.list19 > li > a:hover {
  color: #FFEA00 !important;
  background: #00469B;
  transform: translateX(0);
  opacity: 1;
}

/* ▲ ul.list19 ▲ */
/* ul.list20 */
header ul.list20 {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 2em;
  flex-wrap: wrap;
  transition: .3s all;
}
header ul.list20 > li > a:hover {
  color: #00469B;
  transform: translateX(0);
  opacity: 1;
}
/* ▲ ul.list20 ▲ */
/* ▲ header ▲ */

.mra {
  margin-right: auto !important;
}

.sub-header-view-sec {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  position: absolute;
  z-index: 1;
  width: 100%;
}
@media screen and (max-width: 768px) {/* SP用 */
  .sub-header-view-sec {
    justify-content: flex-start;
  }
}
.sub-header-view-btn {
  display: block;
  padding: 0.5em 2em;
  color: #fff;
  background: #00469B;
  border-bottom-left-radius: .5em;
  border-bottom-right-radius: .5em;
  position: relative;
  cursor: pointer;
}
.sub-header-view-btn:before {
  content: "";
  display: block;
  position: absolute;
  width: 2em;
  height: 1em;
  top: 100%;
  left: 50%;
  background:#DF081F;
  pointer-events: none;
  clip-path: polygon(0 0, 100% 0, 50% 100%);/* (x y)、左下、左上、右上、右下 */
  transform: translate(-50%, -20%);
  z-index: -1;
  transition: .5s all;
}
@media screen and (max-width: 768px) {/* SP用 */
  .sub-header-view-btn:before {
    display: none;
  }
}
.sub-header-view-btn.view:before {
  transform: translate(-50%, -120%);
}
.sub-header-view-btn .close-ver {
  display: inherit;
}
.sub-header-view-btn.view .close-ver {
  display: none;
}
.sub-header-view-btn .open-ver {
  display: none;
}
.sub-header-view-btn.view .open-ver {
  display: inherit;
}
table.common-logo-table {
  border-top: 1px solid #00469B;
  border-right: 1px solid #00469B;
  table-layout: fixed;
  width: 100%;
}
table.common-logo-table tr td {
  text-align: left;
  vertical-align: middle;
  padding: 1em;
  border-bottom: 1px solid #00469B;
  border-left: 1px solid #00469B;
}

table.common-logo-table .btn06 a:hover .icon-arrow > * {
  animation: back-number_move .5s 1;
}

table.common-logo-table .btn06 a.ver-black .icon-arrow {
  background: #271613;
}
table.common-logo-table .btn06 a.ver-black {
  color: #271613;
  background: #E4E4E4;
}

table.common-logo-table .btn06 a.ver-blue .icon-arrow {
  background: #0075C1;
}
table.common-logo-table .btn06 a.ver-blue {
  color: #0075C1;
  background: #D1E2F2;
}

table.common-logo-table .btn06 a.ver-green .icon-arrow {
  background: #1EAA39;
}
table.common-logo-table .btn06 a.ver-green {
  color: #1EAA39;
  background: #D8ECD9;
}

table.common-logo-table .btn06 a.ver-orange .icon-arrow {
  background: #EF8200;
}
table.common-logo-table .btn06 a.ver-orange {
  color: #EF8200;
  background: #F9E6CE;
}


/* 
=================================================================================

▼▼▼　mv　▼▼▼

=================================================================================
*/
@media screen and (min-width: 769px) {/* PC用 */
  .mv .box {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .mv .box .mv-ico {
    transform: translateY(-80%);
  }
  .mv .box h2 {
  margin-right: 1.5em;
  }
}
.mv .box .mv-ico img {
  width: 2.5em;
}
@media screen and (max-width: 768px) {/* SP用 */
  body .mv.view {
    height: auto;
  }
  .mv .inner {
    padding-top: 13rem;
    padding-bottom: 5rem;
  }
  h1 img {
    width: 28rem;
  }
  .mv .box {
    text-align: center;
  }
  .mv .box .mv-ico {
    display: inline-block;
    margin-right: 1rem;
  }
  .mv .box h2 {
    display: inline-block;
  }
  .mv .box .mv-ico {
    transform: translateY(-40%);
  }
}

/* 
=================================================================================

▼▼▼　search_group　▼▼▼

=================================================================================
*/
.search_group form {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 1rem;
  position: relative;
}
.search_group form .field_text {
  border: 2px solid #00469B;
  background: #fff;
  padding: 0.5em 1em;
  border-radius: 1rem;
  text-align: left;
}
.search_group .txt_box {
  position: relative;
}
.search_group .btn04 > * {
  border: 2px solid #00469B;
  display: flex;
  align-items: center;
  justify-content: center;

}
@media screen and (max-width: 768px) {/* SP用 */
  .search_group form {
    gap: 2rem;
  }
  .search_group form .field_text {
    width: 100%;
    padding: 2.5rem 7.5rem 2.5rem 3rem;
    border: 3px solid #00469B;
    border-radius: 2rem;
  }
  .search_group .txt_box_ico {
    content: "";
    display: block;
    position: absolute;
    width: 4.5rem;
    height: 4.5rem;
    top: 50%;
    right: 2.5rem;
    background: url(../img/voice_ico.svg) center center / contain no-repeat;
    transform: translateY(-50%);
  }
  .search_group .btn04 > * {
    padding: 2.5rem;
    border: 3px solid #00469B;
    border-radius: 2rem;
  }
}

/* 
=================================================================================

▼▼▼　メガメニュー　▼▼▼

=================================================================================
*/
.megamenu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 11;
  transform: translateX(-100vw);
  transition: 1s all;
  opacity: 0;
  padding-top: 5rem;
}
ol.header02 > li:hover .megamenu {
  transform: translateX(0);
  opacity: 1;
}
.megamenu > .box {
  padding: 4rem 8rem 8rem;
  background: #fff;
  border-radius: 2rem;
  color: #231815;
  filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.2));
  /* overflow-y: scroll; */
  /* max-height: 70vh; */
}
/* ul.mega_area */
ul.mega_area {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 4rem;
}
ul.mega_area > li.item01 {
  margin-right: auto;
}
ul.mega_area > li.item02 {
  flex: 1;
}
ol.mega_list {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 4rem;
  flex-wrap: wrap;
}
ul.mega_area > li > a,
ol.mega_list > li > a {
  border-bottom: 2px solid #F29600;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  padding-right: 6rem;
  background: url(../img/arrow02.webp) right 1.7rem center / 1.3rem auto no-repeat;
}
ul.mega_area > li > a {
  border-bottom: none;
}
/* ▲ ul.mega_area ▲ */

/* 
=================================================================================

▼▼▼　ハンバーガーメニュー　▼▼▼

=================================================================================
*/

/* ▼▼ トグルボタン ▼▼ */
:root {
  --hamburger-size: 13rem; /* ハンバーガーアイコンサイズ */
  --hamburger-line: 0.5; /* ハンバーガーアイコンの横線の長さ */
}
.hamburger_box {
  position: absolute;
  z-index: 12;
  right: 0;
}
.hamburger_area {
  position: relative;
  
}
.toggle_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 11;
  width: var(--hamburger-size);
  height: var(--hamburger-size);
  transition: all 0.5s;
  cursor: pointer;
  margin: 0 0 0 auto;
  background: #00469B;
  border-bottom-left-radius: 2rem;
  border-top-left-radius: 2rem;
}
.toggle_btn span {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  right: calc((99.99% - (var(--hamburger-size) * var(--hamburger-line))) / 2);
  width: calc(var(--hamburger-size) * var(--hamburger-line));
  height: 0;
  border-top: calc(var(--hamburger-size) * 0.025) solid #fff;
  border-bottom: calc(var(--hamburger-size) * 0.025) solid #fff;
  background-color: #fff;
  transition: all 0.5s;
  font-size: 130%;
  border-radius: 50vmin;
}
.toggle_btn span:nth-child(1) {
  transform: translateY(calc(var(--hamburger-size) * -0.2));
}
.toggle_btn span:nth-child(2) {
}
.toggle_btn span:nth-child(3) {
  transform: translateY(calc(var(--hamburger-size) * 0.2));
}
/* オープン時 */
body.open .toggle_btn {
  box-shadow: none;
  background: rgba(12,48,97,0);
  width: calc(var(--hamburger-size) * var(--hamburger-line));
}
body.open .toggle_btn span {
  background-color: #fff;
  border-top: calc(var(--hamburger-size) * 0.025) solid #fff;
  border-bottom: calc(var(--hamburger-size) * 0.025) solid #fff;
}
body.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(0) rotate(225deg);
  transform: translateY(0) rotate(225deg);
}
body.open .toggle_btn span:nth-child(2) {
  -webkit-transform: translateY(0) rotate(-225deg);
  transform: translateY(0) rotate(-225deg);
}
body.open .toggle_btn span:nth-child(3) {
  opacity: 0;
}
/* ▼ ３ライン目をMENU/CLOSEという文字に変更 ▼ */
/* body.open .toggle_btn span:nth-child(1) {
  transform: translateY(calc(var(--hamburger-size) * -0.1)) rotate(225deg);
}
body.open .toggle_btn span:nth-child(2) {
  transform: translateY(calc(var(--hamburger-size) * -0.1)) rotate(-225deg);
}
body:not(.open) .toggle_btn span:nth-child(3) {
  border: none;
  color: #fff;
}
body.open .toggle_btn span:nth-child(3) {
  opacity: inherit;
  border: none;
}
body:not(.open) .toggle_btn span:nth-child(3):before {
  content: "MENU";
}
body.open .toggle_btn span:nth-child(3):before {
  content: "CLOSE";
} */
/* ▲ ３ライン目をMENU/CLOSEという文字に変更 ▲ */
/* ▲▲ トグルボタン ▲▲ */

/* ▼ グローバルナビ ▼ */
.gloval-nav {
  background-color: #00469B;
  color: #fff;
  position: fixed;
  z-index: 11;
  top: 0;
  bottom: 0;
  right: 0;
  padding: 0 1em 10rem;
  /* display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; */
  transform: translateX(100%);
  transition: 1s all;
  width: 90vw;
  height: 100vh;
}
.gloval_box {
  overflow-y: auto;
  width: 100%;
  height: 100%;
}
.gloval-nav ul.gloval_ul > li {
opacity: 0;
transform: translateX(-200px);
transition:  transform .6s ease, opacity .2s ease;
border-top: 2px dotted;
}
.gloval-nav ul.gloval_ul > li:nth-child(2) { transition-delay: .1s; }
.gloval-nav ul.gloval_ul > li:nth-child(3) { transition-delay: .2s; }
.gloval-nav ul.gloval_ul > li:nth-child(4) { transition-delay: .3s; }
.gloval-nav ul.gloval_ul > li:nth-child(5) { transition-delay: .4s; }
.gloval-nav ul.gloval_ul > li:nth-child(6) { transition-delay: .5s; }
.gloval-nav ul.gloval_ul > li:nth-child(7) { transition-delay: .6s; }
.gloval-nav ul.gloval_ul > li:nth-child(8) { transition-delay: .7s; }
.gloval-nav ul.gloval_ul > li:nth-child(9) { transition-delay: .8s; }
.gloval-nav ul.gloval_ul > li:nth-child(n+10) { transition-delay: .9s; }

.gloval-nav ul.gloval_ul > li > a {
  display: block;
  transition: color .6s ease;
  padding: 2rem 1em 2rem 0;
}

/* open時 */
.open {
  overflow: hidden;
}
.open .hamburger_bg,
.open .gloval-nav {
visibility: visible;
transform: translateX(0) !important;
transition: transform .6s;
}
.open .gloval-nav ul.gloval_ul > li {
opacity: 1;
transform: translateX(0) !important;
transition: transform 1s ease, opacity .9s ease;
}
/* ▲ グローバルナビ ▲ */

/* ▼ アコーディオン ▼ */
.ac_btn {
  padding: .75em 1em .75em 0;
  display: block;
  cursor: pointer;
  position: relative;
}
.ac_btn::before {
  content: "＋";
  position: absolute;
  top: calc((100% - 1em) / 2);
  right: 0;
  pointer-events: none;
  line-height: 1;
  display: inline;
}
.ac_btn.active::before {
  content: "－";
}
ul.sub_gloval_ul {
  display: none;
}
ul.sub_gloval_ul > li {
  border-top: 1px solid #DCDDDD;
}
ul.sub_gloval_ul > li > a {
  display: block;
  padding: .75em 1em;
}
/* ▲ アコーディオン ▲ */

/* ▼ 背景網掛け ▼ */
.hamburger_bg {
  background-color: rgba(0,0,0,0.3);
  position: fixed;
  z-index: 9;
  top: 0;
  bottom: 0;
  right: 0;
  transform: translateX(100%);
  /* transition: 1s all; */
  width: 100vw;
  height: 100vh;
}
/* ▲ 背景網掛け ▲ */


/* 
=================================================================================

▼▼▼　会報バックナンバーアコーディオン　▼▼▼

=================================================================================
*/

/* ul.back-number-click-list */
ul.back-number-click-list {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}
ul.back-number-click-list > li {
  width: 15.2rem;
  border-radius: 6px;
  border: 1px solid #00469B;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .5em .5em .5em 1em;
  cursor: pointer;
  color: #00469B;
  background: #fff;
  transition: .5s all;
}
ul.back-number-click-list > li:hover,
ul.back-number-click-list > li.active {
  color: #FFEA00;
  background: #00469B;
  opacity: 1;
  filter: alpha(opacity=100);
}
.icon-arrow {
  position: relative;
  color: #fff;
  background: #00469B;
  font-size: 75%;
  width: 1.3em;
  min-width: 1.3em;
  height: 1.3em;
  border-radius: 0.3em;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .5s all;
  pointer-events: none;
  overflow: hidden;
}
ul.back-number-click-list > li:hover .icon-arrow,
ul.back-number-click-list > li.active .icon-arrow {
  position: relative;
  color: #00469B;
  background: #fff;
}
ul.back-number-click-list > li:hover .icon-arrow > * {
  animation: back-number_move .5s 1;
}
@keyframes back-number_move {
  0% { transform: translateX(0); }
  49% { transform: translateX(2em); }
  50% { transform: translateX(-2em); }
  51% { transform: translateX(-2em); }
  100% { transform: translateX(0); }
}
/* ▲ ul.back-number-click-list ▲ */

/* ul.back-number-target-list */
ul.back-number-target-list {
  position: relative;
}
ul.back-number-target-list > li {
  background: rgba(0, 155, 231, 0.1);
  padding: 3.5em;
  border-radius: 1em;
  position: relative;
  display: none;
}
ul.back-number-target-list > li.active {
  display: block;
}
ol.img-group {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 2rem;
  flex-wrap: wrap;
}
ol.img-group > li {
  width: 18.5rem;
}
ol.img-group > li > a {
  display: block;
}
/* ▲ ul.back-number-target-list ▲ */


/* 
=================================================================================

▼▼▼　よくある質問　▼▼▼

=================================================================================
*/

ul.faq-click-list {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}
ul.faq-click-list > li {
}
ul.faq-click-list > li > a {
  width: 21.7rem;
  height: 100%;
  border-radius: 6px;
  border: 1px solid #00469B;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .8em .5em .8em 1em;
  cursor: pointer;
  color: #00469B;
  background: #fff;
  transition: .5s all;
}
@media screen and (max-width: 768px) {/* SP用 */
  ul.faq-click-list > li {
    width: calc((99.99% - 1rem) / 2);
  }
  ul.faq-click-list > li > a {
    width: 100%;
  }
}
ul.faq-click-list > li > a:hover {
  color: #FFEA00;
  background: #00469B;
  opacity: 1;
  filter: alpha(opacity=100);
}
ul.faq-click-list > li > a:hover .icon-arrow {
  position: relative;
  color: #00469B;
  background: #fff;
}
ul.faq-click-list > li > a:hover .icon-arrow > * {
  animation: faq_move .5s 1;
}
@keyframes faq_move {
  0% { transform: translateX(0); }
  49% { transform: translateX(2em); }
  50% { transform: translateX(-2em); }
  51% { transform: translateX(-2em); }
  100% { transform: translateX(0); }
}
ul.faq-click-list > li .year {
  flex: 1;
  text-align: center;
}
.faq-sub-box {
  padding-left: .5em;
}
.faq-aco {
  padding-bottom: 0;
}
.faq-aco.active {
  padding-bottom: 2em;
}
.faq-aco .faq-aco-click {
  cursor: pointer;
  color: #00469B;
  position: relative;
  margin-bottom: 1em;
  padding-left: 1em;
  text-indent: -1em;
}
.faq-aco .faq-aco-click:hover,
.faq-aco.active .faq-aco-click {
  font-weight: bold;
}
.faq-aco .faq-aco-click:before {
  content: "・";
}
.faq-aco .faq-aco-click .icon {
  position: relative;
  color: #fff;
  background: #00469B;
  font-size: 75%;
  width: 1.3em;
  min-width: 1.3em;
  height: 1.3em;
  border-radius: 0.3em;
  line-height: 1.3em;
  display: inline-block;
  text-align: center;
  pointer-events: none;
  overflow: hidden;
  vertical-align: baseline;
  padding: 0;
  text-indent: 0;
}
.faq-aco .faq-aco-click .icon > span {
  transition: .5s all;
  
}
.faq-aco.active .faq-aco-click .icon > span {
  transform: rotate(180deg);
}
.faq-aco .faq-aco-target {
  padding: 1.5em;
  background: rgba(0, 155, 231, 0.1);
  border-radius: 1em;
  line-height: 2;
}

/* 
=================================================================================

▼▼▼　参考資料　▼▼▼

=================================================================================
*/

.reference-materials-sub-box {
  padding: 5rem;
  background: rgba(0, 155, 231, 0.1);
  border-radius: 1em;
}
.reference-materials-sub-box a {
  color: #00469B;
}
/* ul.reference-materials-list */
ul.reference-materials-list > li {
  padding: .5em 0;
  border-bottom: 1px dashed #00469B;
}
ul.reference-materials-list > li + li {
  margin-top: 0.5em;
}
ul.reference-materials-list > li .icon {
  position: relative;
  color: #fff;
  background: #00469B;
  font-size: 75%;
  width: 1.3em;
  min-width: 1.3em;
  height: 1.3em;
  border-radius: 0.3em;
  line-height: 1.3em;
  display: inline-block;
  text-align: center;
  pointer-events: none;
  overflow: hidden;
  vertical-align: baseline;
  padding: 0;
  text-indent: 0;
  margin-left: 0.25em;
  margin-right: 0.25em;
}
ul.reference-materials-list > li .icon > span {
  transition: .5s all;
  
}
/* ▲ ul.reference-materials-list ▲ */

/* 
=================================================================================

▼▼▼　パンくずリスト　▼▼▼

=================================================================================
*/
ul.pankuzu_list {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1em 1em;
  flex-wrap: wrap;
}
ul.pankuzu_list > li {
  position: relative;
  display: flex;
  align-items: center;
}
ul.pankuzu_list > li > a {
  display: inline-block;
  max-width: 15em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
ul.pankuzu_list > li:not(:first-child) {
  padding-left: 2em;
}
ul.pankuzu_list > li:not(:first-child):before {
  font-family: 'Material Symbols Outlined';
  content: "\e5e1";
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  left: 0;
  width: 1em;
  text-align: center;
}
@media screen and (max-width: 768px) {/* SP用 */
  ul.pankuzu_list {
    padding-right: 10rem;
  }
}

/* 
=================================================================================

▼▼▼　ちらつき対策（CSS）　▼▼▼

=================================================================================
*/

.loading {
  position: fixed;
  background: #fff;
  z-index: 9999;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 1s all;
  opacity: 1;
  pointer-events: all;
}

/* 
=================================================================================

▼▼▼　SP用フローティングメニュー　▼▼▼

=================================================================================
*/

.floatig_menu {
  position: sticky;
  bottom: 0;
  left: 0;
  padding: 3rem;
  width: 100%;
  background: #231815;
  color: #fff;
  z-index: 9;
  transition: 1s all;
}

/* 
=================================================================================

▼▼▼　先頭へ戻る　▼▼▼

=================================================================================
*/

.go_head {
  border-radius: 50%;
  position: fixed;
  z-index:5;
  right: 5rem;
  bottom: -5rem;
  overflow: hidden;
  transition: 1s all;
  opacity: 0;
  filter: alpha(opacity=0);
}
.nav_active .go_head {
  bottom: 5rem;
  opacity: 1;
  filter: alpha(opacity=100);
}
.go_head > a {
  width: 3em;
  height: 3em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #fff;
}
.go_head > a:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #00469B;
  pointer-events: none;
  border-radius: 50%;
  transition: 1s all;
  z-index: -1;
}
.go_head > a:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #DF081F;
  pointer-events: none;
  border-radius: 50%;
  transform: scale(0);
  transition: 1s all;
  animation: go_head_remove 0.5s 1 forwards;
}
@keyframes go_head_remove {
  0% { transform: scale(1); }
  40% { transform: scale(0.4); }
  50% { transform: scale(0.6); }
  100% { transform: scale(0); }
}
.go_head:hover > a:after {
  animation: go_head_move 0.5s 1 forwards;
}
@keyframes go_head_move {
  0% { transform: scale(0); }
  40% { transform: scale(0.6); }
  50% { transform: scale(0.4); }
  100% { transform: scale(1); }
}
.go_head > a:hover {
  opacity: 1;
  filter: alpha(opacity=100);
}
.go_head > a .content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {/* SP用 */
  .nav_active .go_head {
    bottom: 30vw;
  }
}

/* 
=================================================================================

▼▼▼　アコーディオンメニュー　▼▼▼

=================================================================================
*/

.ac > h3.question {
  cursor: pointer;
  transition: .3s;
  font-size: 3rem;
  color: #00469B;
  border-bottom: 3px solid;
  padding: 0.1em 0;
  position: relative;
  margin-top: 3.5rem;
}
@media screen and (max-width: 768px) {/* SP用 */
  .ac > h3.question {
    font-size: 4rem;
  }
}
.ac > h3.question .caret {
  width: .6em;
  height: .6em;
  border-left: 3px solid #00469B;
  border-top: 3px solid #00469B;
  transform: translateY(-25%) rotate(45deg);
  transition: .3s all;
  position: absolute;
  right: 1em;
  top: 50%;
}
.ac > h3.question.active .caret {
  transform: translateY(-75%) rotate(225deg);
}

.ac > ul.answer > li {
  margin-top: 2rem;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  flex-wrap: wrap;
}

.ac > ul.answer > li .month {
  min-width: 3em;
  text-align: right;
  margin-right: 2em;
}

.ac > ul.answer > li .txt {
  min-width: 19em;
}

.ac > ul.answer > li .icon img {
}

@media screen and (min-width: 769px) {/* PC用 */
  .ac > ul.answer {
    padding-left: 6rem;
  }
}

/* 
=================================================================================

▼▼▼　btns-list　▼▼▼

=================================================================================
*/
/* ul.btns-list */
ul.btns-list {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: 1em;
  flex-wrap: wrap;
  line-height: 1.2;
}
ul.btns-list > li {
  width: calc((99.99% - 2em) / 3);
}
ul.btns-list > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5em;
  border-radius: .5rem;
  width: 100%;
  height: 100%;
  text-align: center;
  background: #00469B;
  color: #fff;
  border: 1px solid #00469B;
}
ul.btns-list > li > a:hover {
  opacity: 1;
  filter: alpha(opacity=100);
  background: #fff;
  color: #00469B;
}
ul.btns-list > li.ver-red > a {
  background: #DF081F;
  color: #fff;
  border: 1px solid #DF081F;
}
ul.btns-list > li.ver-red > a:hover {
  background: #fff;
  color: #DF081F;
}
@media screen and (max-width: 768px) {/* SP用 */
  ul.btns-list > li {
    width: calc((99.99% - 1em) / 2);
  }
}
/* ▲ ul.btns-list ▲ */



/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　▼▼　以降SP用　▼▼
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
@media screen and (max-width: 768px) {/* SP用 */
  
  /* SP版文字サイズ */
  /*
  .fs12 { font-size: 1.8rem !important; }
  .fs14 { font-size: 2rem !important; }
  .fs16 { font-size: 2.3rem !important; }
  .fs17 { font-size: 2.3rem !important; }
  .fs18 { font-size: 2.4rem !important; }
  .fs20 { font-size: 2.6rem !important; }
  .fs22 { font-size: 2.8rem !important; }
  .fs24 { font-size: 3rem !important; }
  .fs30 { font-size: 4rem !important; }
  */

  .fs12 { font-size: 1.8rem !important; }
  .fs14 { font-size: 2.1rem !important; }
  .fs15 { font-size: 2.3rem !important; }
  .fs16 { font-size: 2.4rem !important; }
  .fs17 { font-size: 2.5rem !important; }
  .fs18 { font-size: 2.7rem !important; }
  .fs20 { font-size: 3rem !important; }
  .fs22 { font-size: 3.3rem !important; }
  .fs24 { font-size: 3.6rem !important; }
  .fs25 { font-size: 3.7rem !important; }
  .fs30 { font-size: 4.5rem !important; }

  /* SP版余白 */
  :root {
    --res-margin-size: 2; /* SP余白の一括調整倍率 */
  }

  .sp_fs0 { font-size: 0rem !important; }
  .sp_fs8 { font-size: 0.8rem !important; }
  .sp_fs9 { font-size: 0.9rem !important; }
  .sp_fs10 { font-size: 1rem !important; }
  .sp_fs11 { font-size: 1.1rem !important; }
  .sp_fs12 { font-size: 1.2rem !important; }
  .sp_fs13 { font-size: 1.3rem !important; }
  .sp_fs14 { font-size: 1.4rem !important; }
  .sp_fs15 { font-size: 1.5rem !important; }
  .sp_fs16 { font-size: 1.6rem !important; }
  .sp_fs17 { font-size: 1.7rem !important; }
  .sp_fs18 { font-size: 1.8rem !important; }
  .sp_fs19 { font-size: 1.9rem !important; }
  .sp_fs20 { font-size: 2rem !important; }
  .sp_fs21 { font-size: 2.1rem !important; }
  .sp_fs22 { font-size: 2.2rem !important; }
  .sp_fs23 { font-size: 2.3rem !important; }
  .sp_fs24 { font-size: 2.4rem !important; }
  .sp_fs25 { font-size: 2.5rem !important; }
  .sp_fs26 { font-size: 2.6rem !important; }
  .sp_fs27 { font-size: 2.7rem !important; }
  .sp_fs28 { font-size: 2.8rem !important; }
  .sp_fs29 { font-size: 2.9rem !important; }
  .sp_fs30 { font-size: 3rem !important; }
  .sp_fs31 { font-size: 3.1rem !important; }
  .sp_fs32 { font-size: 3.2rem !important; }
  .sp_fs33 { font-size: 3.3rem !important; }
  .sp_fs34 { font-size: 3.4rem !important; }
  .sp_fs35 { font-size: 3.5rem !important; }
  .sp_fs36 { font-size: 3.6rem !important; }
  .sp_fs37 { font-size: 3.7rem !important; }
  .sp_fs38 { font-size: 3.8rem !important; }
  .sp_fs39 { font-size: 3.9rem !important; }
  .sp_fs40 { font-size: 4rem !important; }
  .sp_fs41 { font-size: 4.1rem !important; }
  .sp_fs42 { font-size: 4.2rem !important; }
  .sp_fs43 { font-size: 4.3rem !important; }
  .sp_fs44 { font-size: 4.4rem !important; }
  .sp_fs45 { font-size: 4.5rem !important; }
  .sp_fs46 { font-size: 4.6rem !important; }
  .sp_fs47 { font-size: 4.7rem !important; }
  .sp_fs48 { font-size: 4.8rem !important; }
  .sp_fs49 { font-size: 4.9rem !important; }
  .sp_fs50 { font-size: 5rem !important; }
  .sp_fs51 { font-size: 5.1rem !important; }
  .sp_fs52 { font-size: 5.2rem !important; }
  .sp_fs53 { font-size: 5.3rem !important; }
  .sp_fs54 { font-size: 5.4rem !important; }
  .sp_fs55 { font-size: 5.5rem !important; }
  .sp_fs56 { font-size: 5.6rem !important; }
  .sp_fs57 { font-size: 5.7rem !important; }
  .sp_fs58 { font-size: 5.8rem !important; }
  .sp_fs59 { font-size: 5.9rem !important; }
  .sp_fs60 { font-size: 6rem !important; }
  .sp_fs61 { font-size: 6.1rem !important; }
  .sp_fs62 { font-size: 6.2rem !important; }
  .sp_fs63 { font-size: 6.3rem !important; }
  .sp_fs64 { font-size: 6.4rem !important; }
  .sp_fs65 { font-size: 6.5rem !important; }
  .sp_fs66 { font-size: 6.6rem !important; }
  .sp_fs67 { font-size: 6.7rem !important; }
  .sp_fs68 { font-size: 6.8rem !important; }
  .sp_fs69 { font-size: 6.9rem !important; }
  .sp_fs70 { font-size: 7rem !important; }
  .sp_fs71 { font-size: 7.1rem !important; }
  .sp_fs72 { font-size: 7.2rem !important; }
  .sp_fs73 { font-size: 7.3rem !important; }
  .sp_fs74 { font-size: 7.4rem !important; }
  .sp_fs75 { font-size: 7.5rem !important; }
  .sp_fs76 { font-size: 7.6rem !important; }
  .sp_fs77 { font-size: 7.7rem !important; }
  .sp_fs78 { font-size: 7.8rem !important; }
  .sp_fs79 { font-size: 7.9rem !important; }
  .sp_fs80 { font-size: 8rem !important; }
  .sp_fs81 { font-size: 8.1rem !important; }
  .sp_fs82 { font-size: 8.2rem !important; }
  .sp_fs83 { font-size: 8.3rem !important; }
  .sp_fs84 { font-size: 8.4rem !important; }
  .sp_fs85 { font-size: 8.5rem !important; }
  .sp_fs86 { font-size: 8.6rem !important; }
  .sp_fs87 { font-size: 8.7rem !important; }
  .sp_fs88 { font-size: 8.8rem !important; }
  .sp_fs89 { font-size: 8.9rem !important; }
  .sp_fs90 { font-size: 9rem !important; }
  .sp_fs91 { font-size: 9.1rem !important; }
  .sp_fs92 { font-size: 9.2rem !important; }
  .sp_fs93 { font-size: 9.3rem !important; }
  .sp_fs94 { font-size: 9.4rem !important; }
  .sp_fs95 { font-size: 9.5rem !important; }
  .sp_fs96 { font-size: 9.6rem !important; }
  .sp_fs97 { font-size: 9.7rem !important; }
  .sp_fs98 { font-size: 9.8rem !important; }
  .sp_fs99 { font-size: 9.9rem !important; }
  .sp_fs100 { font-size: 10rem !important; }

  .sp_h75 {
    height: 7.5rem !important;
  }
  .sp_h150 {
    height: 15rem !important;
  }
}