@charset "UTF-8";
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v19/zYXgKVElMYYaJe8bpLHnCwDKhdHeFQ.woff2) format("woff2");
  unicode-range: U+0030-0039, U+0041-005A, U+0061-007A;
  /* 数字と英字のUnicode範囲 */
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v19/zYX9KVElMYYaJe8bpLHnCwDKjSL9AIFsdA.woff2) format("woff2");
  unicode-range: U+0030-0039, U+0041-005A, U+0061-007A;
  /* 数字と英字のUnicode範囲 */
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/ibmplexsans/v19/zYX9KVElMYYaJe8bpLHnCwDKjWr7AIFsdA.woff2) format("woff2");
  unicode-range: U+0030-0039, U+0041-005A, U+0061-007A;
  /* 数字と英字のUnicode範囲 */
}
/* --------------------------------------------------------------------------------------
   template parts
-------------------------------------------------------------------------------------- */
@media screen and (min-width: 960.1px) and (max-width: 1520px) {
  .contentsInner {
    padding: 0 25px;
  }
}
@media screen and (max-width: 960px) {
  .contentsInner {
    padding: 0 15px;
  }
}
.breadcrumbs {
  border-top: 1px solid #e4002c;
}
.breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  height: 70px;
  padding: 0 15px;
}
@media screen and (max-width: 960px) {
  .breadcrumbs ul {
    flex-wrap: nowrap;
    width: auto;
    height: 60px;
    overflow-x: scroll;
  }
}
.breadcrumbs li {
  position: relative;
  display: inline-block;
}
.breadcrumbs li:not(:first-child) {
  padding-left: 26px;
}
.breadcrumbs li:not(:first-child) ::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  border-style: solid;
  border-width: 6px 0px 6px 6px;
  border-color: transparent transparent transparent #000;
  margin: 0 10px;
  vertical-align: middle;
}
.breadcrumbs li a {
  display: inline-block;
  background: #e4002c;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  padding: 5px 15px;
  text-decoration: none;
  border-radius: 25px;
  white-space: nowrap;
}

.subMainVisual {
  margin-bottom: 50px;
}
.subMainVisual figure {
  position: relative;
  width: 100%;
  height: 270px;
  overflow: hidden;
}
@media screen and (max-width: 960px) {
  .subMainVisual figure {
    height: 135px;
  }
}
.subMainVisual figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.subMainVisual figure::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}
.subMainVisual figure figcaption {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  color: #fff;
  font-weight: 700;
  letter-spacing: 1px;
  text-shadow: 3px 0 7px rgba(0, 0, 0, 0.6);
  z-index: 2;
}
@media screen and (max-width: 960px) {
  .subMainVisual figure figcaption {
    font-size: 24px;
  }
}

.pageLink {
  margin: -20px 15px 0;
  display: none;
}
@media screen and (max-width: 1200px) {
  .pageLink {
    display: block;
  }
}
.pageLink ul {
  margin-bottom: 25px;
}
.pageLink ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 15px;
  margin-bottom: 25px;
}
.pageLink ol li a, .pageLink ol li span {
  display: block;
  background: #005bab;
  color: #fff;
  font-size: 13px;
  padding: 2px 10px;
  border-radius: 20px;
  text-decoration: none;
  box-shadow: 0px 1px 0px #e4002c;
}

.entryHeader {
  margin-bottom: 50px;
}
.entryHeader .entryTitle {
  display: flex;
  border: 1px solid #e4002c;
  overflow: hidden;
  margin-bottom: 50px;
}
@media screen and (max-width: 960px) {
  .entryHeader .entryTitle {
    flex-wrap: wrap;
  }
}
.entryHeader .entryTitle h2 {
  flex: 1 1 66.66%;
  font-size: 24px;
  line-height: 1.5;
  padding: 17px 30px;
}
@media screen and (max-width: 960px) {
  .entryHeader .entryTitle h2 {
    flex-basis: 100%;
    font-size: 21px;
    padding: 15px 20px;
  }
}
.entryHeader .entryTitle .entryTitleSpan {
  position: relative;
  flex-basis: 33.33%;
  background: #e4002c;
  color: #fff;
  display: flex;
  align-items: center;
  padding: 0 25px 0 15px;
}
@media screen and (max-width: 960px) {
  .entryHeader .entryTitle .entryTitleSpan {
    flex-basis: 100%;
  }
}
.entryHeader .entryTitle .entryTitleSpan::before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  border-style: solid;
  border-width: 210px 60px 0 0;
  border-color: transparent #e4002c transparent transparent;
}
@media screen and (max-width: 960px) {
  .entryHeader .entryTitle .entryTitleSpan::before {
    display: none;
  }
}

.entryContainer {
  position: relative;
  display: flex;
  flex-wrap: wrap;
}

aside {
  position: relative;
  flex-basis: 29.279%;
}
@media screen and (max-width: 1200px) {
  aside {
    flex-basis: 100%;
  }
}
aside .contentsInner {
  position: sticky;
  top: 30px;
  padding-left: 40px;
}
@media screen and (max-width: 960px) {
  aside .contentsInner {
    position: static;
    padding: 0 15px;
  }
}
aside ul li {
  margin-bottom: 30px;
}
aside ul li .categoryArchiveInner {
  background: #005bab;
  width: calc(100% - 10px);
  box-shadow: 5px 5px 0 #005bab;
  color: #fff;
  padding: 1em 2em 1.4em;
}
@media screen and (max-width: 960px) {
  aside ul li .categoryArchiveInner {
    width: calc(100% - 30px);
    max-width: 360px;
    padding: 0.5em 1em 0.7em;
    margin: 0 auto;
  }
}
aside ul li .categoryArchiveInner .categoryArchiveList {
  margin-top: 10px;
}
aside ul li .categoryArchiveInner .categoryArchiveList li {
  margin-bottom: 15px;
}
aside ul li .categoryArchiveInner .categoryArchiveList li:last-child {
  margin-bottom: 0;
}
aside ul li .categoryArchiveInner .categoryArchiveList a {
  display: block;
  padding: 0.5em 1em;
  background: #fff;
  color: #04c;
  box-shadow: 5px 5px 0 #00172c;
}
aside ul li .categoryArchiveInner .categoryArchiveList a:focus {
  box-shadow: 0 0;
}
aside ul li .backNumberInner {
  background: #8d001b;
  width: calc(100% - 10px);
  box-shadow: 5px 5px 0 #8d001b;
  color: #fff;
  padding: 1em 2em 1.4em;
}
@media screen and (max-width: 960px) {
  aside ul li .backNumberInner {
    width: calc(100% - 30px);
    max-width: 360px;
    padding: 0.5em 1em 0.7em;
    margin: 0 auto;
  }
}
aside ul li .backNumberInner form select, aside ul li .backNumberInner form option {
  width: 100%;
  font-size: 14px;
}
aside ul li .backNumberInner form optgroup {
  background: #abd8ff;
}
aside ul li a.buttonParts {
  width: calc(100% - 10px);
  padding: 1em;
}
aside ul li a.buttonParts[target="_blank"] {
  background: #fff;
  color: #e4002c;
  border: 1px solid #e4002c;
  padding: 1em 2em;
}
aside ul li a.buttonParts[target="_blank"].fastForward::before {
  position: absolute;
  top: 50%;
  left: auto;
  right: 0;
  transform: translate(0, -50%);
  border-color: transparent transparent transparent #e4002c;
  filter: drop-shadow(10px 0 0 #e4002c);
}
aside ul li a.buttonParts[target="_blank"]:hover::before {
  animation: ffAnimationOut 0.5s forwards infinite linear;
}
aside ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
}
aside ol li {
  flex: 0 1 115px;
}
aside ol li:last-child {
  flex-basis: 245px;
}
aside ol li span.kanaList {
  display: block;
  background: #e4002c;
  color: #fff;
  line-height: 36px;
  text-align: center;
  text-decoration: none;
  border-radius: 20px;
  cursor: pointer;
}
aside .archiveTitle {
  width: calc(100% - 10px);
  padding: 0 1em;
  background: #e4002c;
  color: #fff;
  margin-bottom: 15px;
}
aside .archiveList {
  width: calc(100% - 10px);
}
aside .archiveList li {
  margin: 15px;
}
aside .archiveList li a {
  display: block;
  border: 1px solid #e4002c;
  padding: 5px 10px;
  text-decoration: none;
}

/* --------------------------------------------------------------------------------------
   entryContainer > entry
-------------------------------------------------------------------------------------- */
.entryBody {
  position: relative;
  font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  flex-basis: 70.721%;
  font-size: 16px;
}
@media screen and (max-width: 1200px) {
  .entryBody {
    flex-basis: 100%;
  }
}
.entryBody .contentsArea {
  padding-left: 30px;
  margin-bottom: 75px;
}
@media screen and (max-width: 960px) {
  .entryBody .contentsArea {
    padding-left: 0;
  }
}
.entryBody .contentsArea h3:first-child {
  margin-top: 0;
}
.entryBody .entryMeta {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1.75em;
  margin-top: -30px;
}
.entryBody .entryMeta .category a {
  display: inline-block;
  background: #005bab;
  color: #fff;
  font-size: 12px;
  padding: 1px 10px;
  text-decoration: none;
  border-radius: 20px;
  vertical-align: top;
  margin-right: 5px;
}
.entryBody .entrySection {
  margin-bottom: 50px;
}
.entryBody h2 {
  position: relative;
  background: #005bab;
  margin: 50px 0 30px -30px;
  font-size: 25px;
  color: #fff;
  padding-left: 1em;
}
@media screen and (max-width: 960px) {
  .entryBody h2 {
    scroll-margin-top: 80px;
    margin-left: 0;
  }
}
.entryBody h3 {
  position: relative;
  background: url("../images/common/entryBodyH3BG.png") no-repeat right center;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 21px;
  font-weight: 500;
  line-height: 29px;
  padding: 10px 50px;
  border-top: 1px solid #e4002c;
  border-bottom: 1px solid #e4002c;
  margin: 50px 0 30px -30px;
}
@media screen and (max-width: 960px) {
  .entryBody h3 {
    background: #fff;
    padding: 10px 0px 10px 30px;
    margin-left: 0;
  }
}
.entryBody h3::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 16px;
  height: calc(100% - 8px);
  background: #e4002c;
}
.entryBody h4 {
  position: relative;
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 21px;
  font-weight: 500;
  border-bottom: 3px solid #005bab;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
}
.entryBody h4:first-child {
  margin-top: 0;
}
.entryBody h4::after {
  content: "";
  width: 100px;
  height: 3px;
  background: #e4002c;
  position: absolute;
  bottom: -3px;
  left: 0;
}
.entryBody h5 {
  font-size: 19px;
  font-weight: 700;
  color: #e4002c;
  border-bottom: 1px solid #e4002c;
  margin-bottom: 1em;
}
.entryBody h6 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 1em;
  background: linear-gradient(rgba(161, 196, 253, 0.5) 0%, rgba(194, 233, 251, 0.8) 100%);
  color: #036;
  padding: 3px 10px;
}
.entryBody p.h7 {
  display: inline-block;
  background: #fff;
  color: #930;
  font-weight: 500;
  padding: 0 0.7em;
  margin-bottom: 0.3em;
  border: 1px solid #930;
}
.entryBody figure {
  display: block;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}
.entryBody figure figcaption {
  display: block;
  border: 1px solid #000;
  padding: 5px;
  margin-top: 10px;
}
@media screen and (max-width: 960px) {
  .entryBody figure figcaption {
    font-size: 14px;
  }
}
.entryBody p {
  min-height: 1.75em;
}
.entryBody p._small {
  font-size: 77.778%;
}
.entryBody ul li {
  list-style: disc;
  margin-left: 1.25em;
  padding-left: 5px;
}
.entryBody ul li ul li {
  list-style: circle;
}
.entryBody ol li {
  list-style: decimal;
  margin-left: 1.25em;
  padding-left: 5px;
}
.entryBody ol li ul li {
  list-style: disc;
}
.entryBody table {
  table-layout: fixed;
}
.entryBody table th {
  border: 1px solid #aaa;
  padding: 2px 1em;
}
.entryBody table td {
  border: 1px solid #aaa;
  padding: 2px 1em;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .entryBody table._block {
    display: block;
    border-top: 1px solid #aaa;
  }
  .entryBody table._block thead, .entryBody table._block tbody, .entryBody table._block tfoot, .entryBody table._block tr, .entryBody table._block th, .entryBody table._block td {
    display: block;
    border-top: 0;
    text-align: left;
  }
}
.entryBody blockquote {
  border: 3px dotted #aaa;
  padding: 5px 10px;
}
.entryBody span.minchotai {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.entryBody span.sub {
  font-size: 77.778%;
  font-weight: 400;
}

.entryBody .pageLink ol > li {
  margin-left: 0;
  list-style: none;
}

.flexBox {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.flexBox .flexBoxItem {
  flex: 0 1 calc(50% - 15.1px);
}
.flexBox .flexBoxItem._big {
  flex: 0 1 calc(70.721% - 15px);
}
.flexBox .flexBoxItem._small {
  flex: 0 1 calc(29.279% - 15px);
}
.flexBox .flexBoxItem._one-third {
  flex: 0 1 calc(33.33% - 20px);
}
.flexBox .flexBoxItem._two-third {
  flex: 0 1 calc(66.66% - 10px);
}
.flexBox .flexBoxItem._one-fourth {
  flex: 0 1 calc(25% - 23px);
}
.flexBox .flexBoxItem._three-fourth {
  flex: 0 1 calc(75% - 7px);
}
.flexBox .flexBoxItem._one-fifth {
  flex: 0 1 calc(20% - 24px);
}
.flexBox .flexBoxItem._four-fifth {
  flex: 0 1 calc(80% - 6px);
}
.flexBox .flexBoxItem._one-sixth {
  flex: 0 1 calc(16.66% - 25px);
}
.flexBox .flexBoxItem._five-sixth {
  flex: 0 1 calc(83.34% - 5px);
}
.flexBox .flexBoxItem._grow {
  flex-grow: 1;
}
@media screen and (max-width: 960px) {
  .flexBox .flexBoxItem {
    flex-basis: 100%;
  }
  .flexBox .flexBoxItem._big, .flexBox .flexBoxItem._small {
    flex-basis: 100%;
  }
  .flexBox .flexBoxItem._one-third, .flexBox .flexBoxItem._two-third, .flexBox .flexBoxItem._one-fourth {
    flex-basis: calc(50% - 15px);
  }
  .flexBox .flexBoxItem._three-fourth, .flexBox .flexBoxItem._four-fifth, .flexBox .flexBoxItem._five-sixth {
    flex-basis: calc(100%);
  }
  .flexBox .flexBoxItem._one-fifth, .flexBox .flexBoxItem._one-sixth {
    flex-basis: calc(33.33% - 20px);
  }
  .flexBox .flexBoxItem._grow {
    flex-grow: 0;
  }
}

.designBox {
  border: 1px solid #aaa;
  background: #f8f8f8;
  padding: 14px 20px;
  margin: 1.75em 0;
}

.tableLayout01 {
  min-width: 75%;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .tableLayout01 {
    min-width: none;
    width: 100%;
  }
}
.tableLayout01 th {
  background: rgba(228, 0, 44, 0.15);
  padding: 2px 1em;
}
.tableLayout01 td {
  padding: 2px 1em;
}

.tableLayout02 {
  min-width: 75%;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .tableLayout02 {
    min-width: none;
    width: 100%;
  }
}
.tableLayout02 th {
  background: rgba(0, 91, 171, 0.15);
  padding: 2px 1em;
}
.tableLayout02 td {
  padding: 2px 1em;
}

.tableLayout03 {
  display: block;
}
.tableLayout03 thead, .tableLayout03 tbody, .tableLayout03 tfoot, .tableLayout03 tr, .tableLayout03 th, .tableLayout03 td {
  display: block;
  border: 0;
}
.tableLayout03 tbody {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #aaa;
  border-left: 1px solid #aaa;
}
.tableLayout03 tbody tr {
  flex-basis: 20%;
  background: rgba(0, 189, 161, 0.05);
}
@media screen and (max-width: 960px) {
  .tableLayout03 tbody tr {
    flex-basis: 50%;
    text-align: center;
  }
}
.tableLayout03 tbody td {
  border-top: 0;
  border-left: 0;
}

.entryPageNav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px 0 30px 30px;
  gap: 10px 10px;
}
@media screen and (max-width: 768px) {
  .entryPageNav {
    margin: 0 0 50px;
  }
}
.entryPageNav a {
  flex-basis: auto;
  line-height: 1.5;
  padding: 5px 10px;
  border: 1px solid #aaa;
  text-align: center;
  text-decoration: none;
}

/* --------------------------------------------------------------------------------------
   titleList
-------------------------------------------------------------------------------------- */
.titleListItem {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #ccc;
  padding: 10px 15px 15px;
  align-content: flex-start;
}
.titleListItem .nlogDate {
  flex-basis: 50%;
  font-size: 14px;
  color: #e4002c;
}
.titleListItem .nlogCategory {
  flex-basis: 50%;
  align-self: flex-end;
  text-align: right;
}
.titleListItem .nlogCategory a {
  background: #005bab;
  color: #fff;
  font-size: 13px;
  padding: 2px 10px;
  text-decoration: none;
  border-radius: 20px;
}
.titleListItem .nlogTitle {
  flex-basis: 100%;
  font-size: 21px;
  line-height: 1.25;
  margin: 10px 0 12px;
}
.titleListItem .nlogImg {
  flex: 0 0 100px;
  padding-top: 5px;
}
.titleListItem .nlogImg img {
  width: 100px;
  height: 100px;
  object-fit: cover;
}
.titleListItem .nlogMore {
  flex-basis: calc(100% - 100px);
  padding-left: 15px;
}
.titleListItem .nlogText {
  line-height: 1.5;
}
.titleListItem .nlogLink {
  margin: 1em 5px 5px 0;
  text-align: right;
}
.titleListItem .nlogLink a.buttonParts {
  padding: 0.25em 1em;
}

.titleListPageNav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 30px;
  gap: 10px 10px;
}
.titleListPageNav span {
  flex-basis: 30px;
  line-height: 30px;
  background: #e4002c;
  color: #fff;
  border: 1px solid #aaa;
  text-align: center;
}
.titleListPageNav a {
  flex-basis: 30px;
  line-height: 30px;
  border: 1px solid #aaa;
  text-align: center;
  text-decoration: none;
}

.entryBody.blog a[href*=".xls"],
.entryBody.blog a[href*=".xlsx"],
.entryBody.blog a[href*=".doc"],
.entryBody.blog a[href*=".docx"],
.entryBody.blog a[href*=".ppt"],
.entryBody.blog a[href*=".pptx"],
.entryBody.blog a[href*=".pdf"],
.entryBody.blog a[href*=".zip"], .entryBody.welfareActivity a[href*=".xls"],
.entryBody.welfareActivity a[href*=".xlsx"],
.entryBody.welfareActivity a[href*=".doc"],
.entryBody.welfareActivity a[href*=".docx"],
.entryBody.welfareActivity a[href*=".ppt"],
.entryBody.welfareActivity a[href*=".pptx"],
.entryBody.welfareActivity a[href*=".pdf"],
.entryBody.welfareActivity a[href*=".zip"] {
  display: inline-block;
}
.entryBody.blog a:has(> img)::before, .entryBody.welfareActivity a:has(> img)::before {
  display: none !important;
}
.entryBody.blog a[href*=".xls"]::before,
.entryBody.blog a[href*=".xlsx"]::before, .entryBody.welfareActivity a[href*=".xls"]::before,
.entryBody.welfareActivity a[href*=".xlsx"]::before {
  content: "EXCEL";
  display: inline-block;
  background: #1f7246;
  color: #fff;
  width: 60px;
  font-size: 12px;
  line-height: 17px;
  font-family: "Century Gothic", Verdana, Geneva, "sans-serif";
  font-weight: bold;
  text-align: center;
  border-radius: 5px;
  margin-right: 5px;
}
.entryBody.blog a[href*=".doc"]::before,
.entryBody.blog a[href*=".docx"]::before, .entryBody.welfareActivity a[href*=".doc"]::before,
.entryBody.welfareActivity a[href*=".docx"]::before {
  content: "WORD";
  display: inline-block;
  background: #2a5699;
  color: #fff;
  width: 60px;
  font-size: 12px;
  line-height: 17px;
  font-family: "Century Gothic", Verdana, Geneva, "sans-serif";
  font-weight: bold;
  text-align: center;
  border-radius: 5px;
  margin-right: 5px;
}
.entryBody.blog a[href*=".ppt"]::before,
.entryBody.blog a[href*=".pptx"]::before, .entryBody.welfareActivity a[href*=".ppt"]::before,
.entryBody.welfareActivity a[href*=".pptx"]::before {
  content: "PPT";
  display: inline-block;
  background: #d04626;
  color: #fff;
  width: 60px;
  font-size: 12px;
  line-height: 17px;
  font-family: "Century Gothic", Verdana, Geneva, "sans-serif";
  font-weight: bold;
  text-align: center;
  border-radius: 5px;
  margin-right: 5px;
}
.entryBody.blog a[href*=".pdf"]::before, .entryBody.welfareActivity a[href*=".pdf"]::before {
  content: "PDF";
  display: inline-block;
  background: #dc170a;
  color: #fff;
  width: 60px;
  font-size: 12px;
  line-height: 17px;
  font-family: "Century Gothic", Verdana, Geneva, "sans-serif";
  font-weight: bold;
  text-align: center;
  border-radius: 5px;
  margin-right: 5px;
  letter-spacing: 1px;
}
.entryBody.blog a[href*=".zip"]::before, .entryBody.welfareActivity a[href*=".zip"]::before {
  content: "ZIP";
  display: inline-block;
  background: #c8ae4f;
  color: #fff;
  width: 60px;
  font-size: 12px;
  line-height: 17px;
  font-family: "Century Gothic", Verdana, Geneva, "sans-serif";
  font-weight: bold;
  text-align: center;
  border-radius: 5px;
  margin-right: 5px;
  letter-spacing: 3px;
}

/* --------------------------------------------------------------------------------------
   site
-------------------------------------------------------------------------------------- */
.iinkai tbody tr > td {
  position: relative;
}
.iinkai tbody tr > td::before {
  border-width: 5px 10px 0 10px;
  border-style: solid;
  position: absolute;
  top: 13px;
  right: 3px;
}
.iinkai tbody tr > td::after {
  position: absolute;
  top: -3px;
  right: 3px;
  width: 20px;
  text-align: center;
  color: #fff;
  font-size: 10px;
  height: 16px;
  line-height: 1;
  padding-top: 3px;
}
.iinkai tbody tr:first-child > td::before {
  content: "";
  border-color: #ff3259 transparent transparent transparent;
}
.iinkai tbody tr:first-child > td::after {
  content: "長";
  background: linear-gradient(#e4002c 0%, #ff3259 100%);
}
.iinkai tbody tr:nth-child(2) > td::before {
  content: "";
  border-color: #0084f8 transparent transparent transparent;
}
.iinkai tbody tr:nth-child(2) > td::after {
  content: "副";
  background: linear-gradient(#005bab 0%, #0084f8 100%);
}
.iinkai tbody tr.group > td::before {
  content: "";
  border-color: #7b00f8 transparent transparent transparent;
}
.iinkai tbody tr.group > td::after {
  content: "グ";
  background: linear-gradient(#5500ab 0%, #7b00f8 100%);
}
.iinkai tbody tr.normal > td::before,
.iinkai tbody tr.normal > td::after {
  display: none;
}

.cho1, .cho2, .cho3 {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 16px;
  margin: 0 3px;
  transform: scale(0.9);
}
.cho1::before, .cho2::before, .cho3::before {
  border-width: 5px 10px 0 10px;
  border-style: solid;
  position: absolute;
  top: 15px;
  left: 0;
}
.cho1::after, .cho2::after, .cho3::after {
  display: inline-block;
  position: absolute;
  top: -1px;
  left: 0;
  width: 20px;
  text-align: center;
  color: #fff;
  font-size: 10px;
  height: 16px;
}

.cho1::before {
  content: "";
  border-color: #ff3259 transparent transparent transparent;
}

.cho1::after {
  content: "長";
  background: linear-gradient(#e4002c 0%, #ff3259 100%);
}

.cho2::before {
  content: "";
  border-color: #0084f8 transparent transparent transparent;
}

.cho2::after {
  content: "副";
  background: linear-gradient(#005bab 0%, #0084f8 100%);
}

.cho3::before {
  content: "";
  border-color: #7b00f8 transparent transparent transparent;
}

.cho3::after {
  content: "グ";
  background: linear-gradient(#5500ab 0%, #7b00f8 100%);
}

.former_chairman .namePlate {
  position: relative;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 0.75em;
  border-bottom: 1px solid #ccc;
}
.former_chairman .namePlate span {
  position: absolute;
  top: 50%;
  right: 10px;
  font-family: "Times New Roman", Times, "serif";
  color: #ccc;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -1px;
  font-size: 48px;
  transform: translateY(-50%) rotate(-3deg);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .former_chairman .namePlate span {
    top: -5px;
    font-size: 27px;
  }
}

.access .tableLayout02 {
  width: 100%;
  table-layout: auto;
}
.access .metroIcon {
  display: inline-block;
  width: 24px;
  height: 24px;
  border: 5px solid #fff;
  border-radius: 50%;
  text-align: center;
  vertical-align: middle;
  line-height: 14px;
  font-family: AvenirNext-Bold, sans-serif-black, "Arial Black";
  font-size: 12px;
  margin: -2px 3px 0;
}
.access .metroIcon._namboku {
  border-color: #00a690;
}
.access .metroIcon._hibiya {
  border-color: #cfc6b7;
}
.access .metroIcon._oedo {
  border-color: #d8006d;
}
.access .googleMap {
  margin: 0.5em 0;
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 50%;
}
.access .googleMap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.entryBody.board_member {
  flex-basis: 100%;
}
.entryBody.board_member .boardMemberContainer {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 30px;
}
@media screen and (max-width: 768px) {
  .entryBody.board_member .boardMemberContainer {
    gap: 15px 15px;
  }
}
.entryBody.board_member .boardMemberItem {
  flex-basis: calc(50% - 15px);
  display: flex;
  flex-wrap: wrap;
  gap: 0px 30px;
  border: 1px solid #aaa;
  padding: 15px 15px 10px;
}
@media screen and (max-width: 768px) {
  .entryBody.board_member .boardMemberItem {
    flex-basis: 100%;
    gap: 0 15px;
  }
}
.entryBody.board_member .boardMemberPhoto {
  flex: 2 1 20%;
}
.entryBody.board_member .boardMemberTXT {
  flex: 3 1 30%;
}
.entryBody.board_member .boardMemberTXT .movieTitle {
  background: #000;
  color: #fff;
  padding: 0 15px;
  margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
  .entryBody.board_member .boardMemberTXT .movieTitle {
    font-size: 13px;
  }
}
.entryBody.board_member .boardMemberTXT span {
  display: inline-block;
  border: 5px solid #ccc;
  width: 100%;
  padding-top: 56.25%;
  background: #333;
}
.entryBody.board_member .boardMemberTXT img {
  border: 5px solid #ccc;
}
.entryBody.board_member .boardMemberTXT a {
  position: relative;
  display: block;
}
.entryBody.board_member .boardMemberTXT a::after {
  content: url("../images/common/icon_movie.png");
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  line-height: 1;
  opacity: 0.8;
  transition: opacity 0.15s;
}
.entryBody.board_member .boardMemberTXT a[href*='youtube']::after {
  content: url("../images/common/icon_youtube.png");
}
.entryBody.board_member .boardMemberTXT a:hover::after {
  opacity: 0.5;
}
.entryBody.board_member .boardMemberName {
  flex-basis: 100%;
  padding: 0 2px;
}
.entryBody.board_member .boardMemberName p {
  font-size: 21px;
}

.entryBody.magazine .titleListItem .nlogImg {
  flex-basis: 120px;
}
.entryBody.magazine .titleListItem .nlogImg img {
  width: 120px;
  height: auto;
  box-shadow: 0px 1px 3px #ccc;
}
.entryBody.magazine .titleListItem .nlogMore {
  flex-basis: calc(100% - 120px);
}

.magazineAsset {
  box-shadow: 0 3px 10px #ccc;
}

.entryHeader .entryTitle.record h2 {
  position: relative;
  display: flex;
  flex-direction: column;
  background: linear-gradient(#fefcfa 0%, #eb9c26 100%);
  font-size: 16px;
  padding: 14px 30px 14px 240px;
}
@media screen and (max-width: 960px) {
  .entryHeader .entryTitle.record h2 {
    padding: 5px 15px;
  }
}
.entryHeader .entryTitle.record h2 strong {
  font-size: 32px;
}
@media screen and (max-width: 960px) {
  .entryHeader .entryTitle.record h2 strong {
    font-size: 24px;
  }
}
.entryHeader .entryTitle.record h2 img {
  position: absolute;
  top: 0px;
  left: 0px;
  width: auto;
  height: 100px;
}
@media screen and (max-width: 960px) {
  .entryHeader .entryTitle.record h2 img {
    display: none;
  }
}
.entryHeader .entryTitle.record .entryTitleSpan {
  flex-basis: 45%;
}
@media screen and (min-width: 960.1px) and (max-width: 1520px) {
  .entryHeader .entryTitle.record .entryTitleSpan {
    font-size: 14px;
  }
}
@media screen and (max-width: 960px) {
  .entryHeader .entryTitle.record .entryTitleSpan {
    flex-basis: 100%;
    line-height: 1.5;
    padding: 5px 15px;
  }
}

.entryBody.record ul li {
  position: relative;
  list-style: none;
  margin-bottom: 12px;
}
.entryBody.record ul li::before {
  content: "▶";
  color: #e4002c;
  position: absolute;
  top: 0;
  left: -18px;
}
.entryBody.record .recordAwardBox {
  position: relative;
}
.entryBody.record .recordAwardBox .recordAwardItem {
  border: 1px solid #aaa;
  padding: 15px 30px;
}
@media screen and (max-width: 768px) {
  .entryBody.record .recordAwardBox .recordAwardItem {
    padding: 3% 6%;
  }
}
.entryBody.record .recordAwardBox .recordAwardName {
  font-weight: 700;
  font-size: 24px;
}
@media screen and (max-width: 768px) {
  .entryBody.record .recordAwardBox .recordAwardName {
    font-style: 18px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 768px) {
  .entryBody.record .recordAwardBox .recordAwardMake {
    margin-top: 5px;
    font-size: 13px;
  }
}

.grandPrix {
  display: flex;
  flex-wrap: wrap;
  gap: 60px 30px;
}
.grandPrix .grandPrixItem {
  flex: 0 1 calc(50% - 30px);
  align-self: flex-start;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 960px) {
  .grandPrix .grandPrixItem {
    flex: 1 1 100%;
  }
}
.grandPrix .grandPrixItem h5, .grandPrix .grandPrixItem .h6wrap {
  position: relative;
  flex-basis: 100%;
  overflow: hidden;
}
.grandPrix .grandPrixItem h5 {
  font-weight: 400;
  font-size: 16px;
}
.grandPrix .grandPrixItem h5 a {
  font-weight: 700;
  font-size: 18px;
  text-decoration: none;
}
.grandPrix .grandPrixItem h6 {
  padding-left: 40px;
}
.grandPrix .grandPrixItem h6::after {
  content: "大賞";
  position: absolute;
  top: 0px;
  left: -15px;
  background: linear-gradient(#eab92d 0%, #c79810 100%);
  color: #fff;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  padding: 2px 30px 2px 18px;
  transform: rotate(-34deg);
}
.grandPrix .grandPrixItem .grandPrixImg {
  flex-basis: 180px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .grandPrix .grandPrixItem .grandPrixImg {
    flex-basis: 100%;
    margin-bottom: 1em;
  }
}
.grandPrix .grandPrixItem .grandPrixImg img {
  width: 180px;
  height: 180px;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .grandPrix .grandPrixItem .grandPrixImg img {
    width: auto;
  }
}
.grandPrix .grandPrixItem .grandPrixTxt {
  flex-basis: calc(100% - 180px);
  flex-grow: 1;
  padding-left: 15px;
}
@media screen and (max-width: 768px) {
  .grandPrix .grandPrixItem .grandPrixTxt {
    flex-basis: 100%;
    padding-right: 15px;
  }
}
.grandPrix .grandPrixItem .grandPrixTxt p {
  margin-bottom: 5px;
  line-height: 1.5;
  margin-left: 3em;
  text-indent: -3em;
}
.grandPrix .grandPrixItem .grandPrixTxt p.recordLabel {
  margin-left: 0;
  text-indent: 0;
}
.grandPrix .grandPrixItem .divide {
  display: block;
  font-size: 10px;
  background: #005bab;
  color: #fff;
  width: 100%;
  padding: 0 10px 0 40px;
}

.entryBody.songContest .songContestGrandPrixBox {
  background: #f0f0f0;
  padding: 25px 30px;
  margin: 30px 0;
}
@media screen and (max-width: 960px) {
  .entryBody.songContest .songContestGrandPrixBox {
    padding: 15px;
    margin-top: 0;
  }
}
.entryBody.songContest .songContestGrandPrixBox h6 {
  background: #fff;
}
.entryBody.songContest .songContestGrandPrixItem {
  padding: 0 15px;
}
@media screen and (max-width: 960px) {
  .entryBody.songContest .songContestGrandPrixItem {
    padding: 0;
  }
}
.entryBody.songContest .songContestGrandPrixItem p.grandPrixName {
  padding-bottom: 5px;
  margin-bottom: 5px;
  border-bottom: 1px solid #ccc;
}
.entryBody.songContest table.songContestGrandPrixList {
  font-size: 15px;
}
.entryBody.songContest table.songContestGrandPrixList tbody th {
  background: rgba(228, 0, 44, 0.05);
}
@media screen and (max-width: 768px) {
  .entryBody.songContest table.songContestGrandPrixList tbody th {
    background: rgba(228, 0, 44, 0.15);
  }
}
.entryBody.songContest table.songContestGrandPrixList tbody td[data-title="受賞者"] {
  background: rgba(234, 185, 45, 0.2);
}
@media screen and (max-width: 768px) {
  .entryBody.songContest table.songContestGrandPrixList {
    border-top: 0;
  }
  .entryBody.songContest table.songContestGrandPrixList thead {
    display: none;
  }
  .entryBody.songContest table.songContestGrandPrixList tbody tr {
    margin-bottom: 7px;
  }
  .entryBody.songContest table.songContestGrandPrixList tbody th {
    border: 1px solid #aaa;
    margin-bottom: 7px;
  }
  .entryBody.songContest table.songContestGrandPrixList tbody th br {
    display: none;
  }
  .entryBody.songContest table.songContestGrandPrixList tbody td {
    position: relative;
    padding-left: 5.5em;
    margin-left: 0.5em;
    border: 0;
  }
  .entryBody.songContest table.songContestGrandPrixList tbody td:last-child {
    margin-bottom: 7px;
  }
  .entryBody.songContest table.songContestGrandPrixList tbody td::before {
    content: attr(data-title);
    position: absolute;
    top: 0;
    left: 0;
    width: 5em;
    height: 100%;
    background: rgba(228, 0, 44, 0.05);
    padding: 2px 1em;
    text-align: left;
  }
  .entryBody.songContest table.songContestGrandPrixList tbody td[colspan] {
    padding-left: 1em;
    border: 0;
    margin-top: 7px;
  }
  .entryBody.songContest table.songContestGrandPrixList tbody td[colspan]::before {
    display: none;
  }
}

.entryBody .memberListContainerItem table, .entryBody .memberListContainerItem tbody, .entryBody .memberListContainerItem tr, .entryBody .memberListContainerItem th, .entryBody .memberListContainerItem td {
  display: block;
}
.entryBody .memberListContainerItem table {
  border-left: 1px solid #aaa;
  margin-bottom: 50px;
  margin-right: 30px;
}
@media screen and (max-width: 960px) {
  .entryBody .memberListContainerItem table {
    margin-right: 0;
  }
}
.entryBody .memberListContainerItem table tbody {
  display: flex;
  flex-wrap: wrap;
  gap: 1px 0;
}
.entryBody .memberListContainerItem table tr {
  flex-basis: 20%;
}
@media screen and (max-width: 960px) {
  .entryBody .memberListContainerItem table tr {
    flex-basis: 25%;
  }
}
@media screen and (max-width: 768px) {
  .entryBody .memberListContainerItem table tr {
    flex-basis: 50%;
  }
}
.entryBody .memberListContainerItem table tr.hidden {
  display: none;
}
.entryBody .memberListContainerItem table tr.appear {
  display: block;
}
.entryBody .memberListContainerItem table td {
  position: relative;
  height: 100%;
  border-left: 0;
  padding: 3px 10px;
  overflow: hidden;
}
.entryBody .memberListContainerItem table td.hasLink {
  background: linear-gradient(#fceabb 0%, #fccd4d 100%);
}
.entryBody .memberListContainerItem table td.hasLink::after {
  content: "PROFILE";
  position: absolute;
  top: 0px;
  right: -13px;
  background: linear-gradient(#eab92d 0%, #c79810 100%);
  color: #fff;
  font-size: 10px;
  line-height: 1;
  padding: 2px 10px 3px 30px;
  transform: rotate(34deg);
}
.entryBody .memberListContainerItem table td a {
  position: relative;
  display: block;
  z-index: 2;
}
.entryBody .memberContainerInner {
  position: relative;
  display: flex;
  flex-direction: row-reverse;
}
@media screen and (max-width: 960px) {
  .entryBody .memberContainerInner {
    flex-wrap: wrap;
  }
}
.entryBody .memberContainerInner .profilePhoto {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 960px) {
  .entryBody .memberContainerInner .profilePhoto {
    position: relative;
    flex-basis: 100%;
    margin: 0 35px;
  }
}
.entryBody .memberContainerInner .profilePhoto .profilePhotoInner {
  position: relative;
  width: 300px;
  height: 300px;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .entryBody .memberContainerInner .profilePhoto .profilePhotoInner {
    width: 260px;
    height: 260px;
  }
}
.entryBody .memberContainerInner .profilePhoto .profilePhotoInner::before {
  content: "";
  position: absolute;
  top: 20px;
  left: -10px;
  width: 100%;
  height: 100%;
  background: #000;
  z-index: -1;
}
.entryBody .memberContainerInner .profilePhoto .profilePhotoInner::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100%;
  height: 100%;
  background: #e4002c;
  z-index: -1;
}
.entryBody .memberContainerInner .profilePhoto .profilePhotoInner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  box-shadow: 0 0 3px #ddd;
}
.entryBody .memberContainerInner .profileTXT {
  position: relative;
  flex: 1 1 auto;
}
@media screen and (max-width: 960px) {
  .entryBody .memberContainerInner .profileTXT {
    flex-basis: 100%;
    padding-top: 50px;
  }
}
.entryBody .memberContainerInner .profileTXT table {
  background: #fff;
}
.entryBody .memberContainerInner .profileTXT table tr:not(:first-child) {
  border-top: 1px solid #ccc;
}
.entryBody .memberContainerInner .profileTXT table th {
  background: rgba(0, 91, 171, 0.6);
  color: #fff;
  width: 7em;
  padding: 10px 1.4em;
  border: 0;
  text-align-last: justify;
}
.entryBody .memberContainerInner .profileTXT table th.profile {
  padding: 10px 0.45em;
}
.entryBody .memberContainerInner .profileTXT table td {
  padding: 10px 0px 10px 15px;
  text-align: justify;
  border: 0;
}
.entryBody .memberContainerInner .profileTXT table td figcaption {
  display: none;
}
.entryBody .memberContainerInner .profileTXT table td figure:not(:last-child),
.entryBody .memberContainerInner .profileTXT table td ul:not(:last-child),
.entryBody .memberContainerInner .profileTXT table td ol:not(:last-child),
.entryBody .memberContainerInner .profileTXT table td p:not(:last-child) {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 960px) {
  .entryBody .memberContainerInner .profileTXT table, .entryBody .memberContainerInner .profileTXT thead, .entryBody .memberContainerInner .profileTXT tbody, .entryBody .memberContainerInner .profileTXT tr, .entryBody .memberContainerInner .profileTXT th, .entryBody .memberContainerInner .profileTXT td {
    display: block;
    border: 0;
  }
  .entryBody .memberContainerInner .profileTXT table th, .entryBody .memberContainerInner .profileTXT table th.profile {
    width: 100%;
    padding: 0 10px;
    text-align-last: left;
  }
  .entryBody .memberContainerInner .profileTXT table td {
    padding: 0.5em 10px 1em;
  }
}
.entryBody .memberContainerInner .profileLink {
  flex: 0 0 350px;
  padding-top: 350px;
  padding-right: 50px;
  z-index: 2;
}
@media screen and (max-width: 960px) {
  .entryBody .memberContainerInner .profileLink {
    flex-basis: 100%;
    padding-top: 25px;
    padding-right: 0;
  }
}
.entryBody .memberContainerInner .profileLink .profileLinkTitle {
  background: rgba(0, 91, 171, 0.6);
  color: #fff;
  padding: 0px 10px;
  margin-bottom: 10px;
}
.entryBody .memberContainerInner .profileLink ul li {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
  margin-bottom: 10px;
}
.entryBody .memberContainerInner .profileLink ul li a.buttonParts {
  width: 100%;
  background: transparent;
  color: #000;
  border: 4px solid #ccc;
  box-shadow: none;
}
.entryBody .memberContainerInner .profileLink ul li a.buttonParts:focus {
  top: 0;
  left: 0;
}
@media screen and (min-width: 768.1px) {
  .entryBody .memberContainerInner .profileLink ul li a.buttonParts:hover {
    color: #fff;
  }
}
.entryBody .memberContainerInner .profileLink ul li a.buttonParts[target="_blank"].fastForward::before {
  position: absolute;
  top: 50%;
  left: auto;
  right: 0;
  transform: translate(0, -50%);
}
.entryBody .memberContainerInner .profileLink ul li a.buttonParts[target="_blank"].fastForward::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  background: #000;
  transition: all 0.15s;
  z-index: -1;
}
@media screen and (min-width: 768.1px) {
  .entryBody .memberContainerInner .profileLink ul li a.buttonParts[target="_blank"]:hover::before {
    border-color: transparent transparent transparent #fff;
    filter: drop-shadow(7px 0 0 #fff);
    animation: ffAnimationOut 0.5s forwards infinite linear;
  }
  .entryBody .memberContainerInner .profileLink ul li a.buttonParts[target="_blank"]:hover::after {
    height: 100%;
  }
}
.entryBody .memberContainerInner .profileLink ul li a.buttonParts svg {
  font-size: 24px;
  vertical-align: middle;
  position: relative;
  top: -2px;
  margin-right: 5px;
}

.memberList.liveFilter {
  background: #005bab;
  color: #fff;
  padding: 1em 2em 1.4em;
}
.memberList.liveFilter input {
  width: 100%;
}

a.disclosureAnchor {
  padding: 0.75em 1.5em 0.75em 1em;
}
a.disclosureAnchor svg {
  position: relative;
  top: -2px;
  font-size: 24px;
  vertical-align: middle;
}

.matrix {
  width: 100%;
  table-layout: fixed;
  text-align: center;
}
.matrix thead {
  background: rgba(228, 0, 44, 0.25);
}
.matrix tbody th {
  background: #f2fcfa;
  vertical-align: middle;
  width: 40%;
}
.matrix tbody td {
  height: 60px;
  vertical-align: middle;
}
.matrix tbody td a {
  display: inline-block;
  width: 40px;
  height: 40px;
  background: #e4002c;
  color: #fff;
  padding: 8px 0;
}
.matrix tbody td a svg {
  font-size: 24px;
}

.entryBody.contact #mfp_hidden {
  display: none;
}
.entryBody.contact dl {
  max-width: 600px;
}
.entryBody.contact dt {
  background: linear-gradient(rgba(161, 196, 253, 0.5) 0%, rgba(194, 233, 251, 0.8) 100%);
  color: #036;
  padding: 3px 10px;
  margin-bottom: 10px;
}
.entryBody.contact dd {
  margin: 0 15px 1.75em;
}
.entryBody.contact input[type="text"], .entryBody.contact input[type="email"], .entryBody.contact input[type="tel"], .entryBody.contact textarea {
  width: 100%;
  max-width: 100%;
  border: 1px solid #aaa;
  padding: 5px;
}
.entryBody.contact input[type="text"].problem, .entryBody.contact input[type="email"].problem, .entryBody.contact input[type="tel"].problem, .entryBody.contact textarea.problem {
  border: 2px solid #e4002c;
}
.entryBody.contact span.must {
  display: inline-block;
  background: #e4002c;
  color: #fff;
  font-size: 12px;
  line-height: 1;
  padding: 3px 10px;
  margin-left: 1em;
}
.entryBody.contact label.finalCheck {
  display: inline-block;
  border: 1px solid #aaa;
  padding: 2px 10px;
  border-radius: 10px;
  box-shadow: 2px 2px 0 #aaa;
}
.entryBody.contact .mfp_buttons {
  margin: 50px 0;
}
.entryBody.contact button {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  position: relative;
  top: 0;
  left: 0;
  justify-content: center;
  width: 250px;
  height: 50px;
  background: #005bab;
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  border: 0;
  padding: 0 20px;
  box-shadow: 4px 4px 0 #e4002c;
  transition: all 0.15s;
}
@media screen and (max-width: 960px) {
  .entryBody.contact button {
    margin: 0 auto;
  }
}
.entryBody.contact button:focus {
  top: 4px;
  left: 4px;
  box-shadow: 0 0;
}
.entryBody.contact .mfp_err {
  color: #e4002c;
}

.entryBody.sitemap h5 {
  font-weight: 400;
}
.entryBody.sitemap h5 svg {
  color: #e4002c;
  margin-right: 10px;
}
.entryBody.sitemap .sitemapList {
  margin-left: 30px;
  margin-bottom: 30px;
}

/* --------------------------------------------------------------------------------------
   orison
-------------------------------------------------------------------------------------- */
p.leadblock {
  font-size: 20px;
  font-weight: 700;
  color: #fc1e41;
  background: -webkit-linear-gradient(-45deg, #ff396d, #fc1e41, #ff1f24, #ff5923, #ff5923);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.orison {
  margin-bottom: 1em;
}

.orison h6 {
  position: relative;
  background: linear-gradient(90deg, #ff396d, #ff1f24, #ff5923, #ff5923);
  color: #fff;
  margin-left: -8px;
  border-radius: 0 30px 0 0;
  padding-right: 50px;
}

.orison h6::after {
  content: "▲";
  position: absolute;
  transform: rotate(90deg);
  font-size: 10px;
  bottom: 9px;
  right: 20px;
  text-shadow: 0 10px 0 #fff,0 20px 0 #fff;
}

.orison p.orison_p {
  border: 2px solid #ff396d;
  border-top: 0;
  border-radius: 0 0 0 25px;
  margin-top: -1.25em;
  padding: 10px 20px;
}
