@charset "UTF-8";
/* CSS Document */
@keyframes displayBottomBorder {
  from {
    width: 0;
    opacity: 0.5;
  }
  to {
    width: 100%;
    opacity: 1;
  }
}
@keyframes menuBottomBorder {
  from {
    width: 0;
  }
  to {
    width: 75%;
  }
}
.forPcOnly, .forTabOnly, .forSpOnly {
  display: none !important;
}

@media screen and (min-width: 1200px) {
  .forPcOnly {
    display: block !important;
  }
}
@media screen and ((min-width: 600px) and (max-width: 1329px)) {
  .forTabOnly {
    display: block !important;
  }
}
@media screen and (max-width: 599px) {
  .forSpOnly {
    display: block !important;
  }
}
@media screen and (max-width: 599px) {
  .noSp {
    display: none;
  }
}
.margin0 {
  margin: 0px !important;
}

.margin15 {
  margin: 15px !important;
}

.margin30 {
  margin: 30px !important;
}

.margin45 {
  margin: 45px !important;
}

.margin60 {
  margin: 60px !important;
}

.margin75 {
  margin: 75px !important;
}

.margin90 {
  margin: 90px !important;
}

.margin105 {
  margin: 105px !important;
}

.margin120 {
  margin: 3120x !important;
}

.marginTop-30 {
  margin-top: -30px !important;
}

.marginTop-15 {
  margin-top: -15px !important;
}

.marginTop0 {
  margin-top: 0px !important;
}

.marginTop15 {
  margin-top: 15px !important;
}

.marginTop30 {
  margin-top: 30px !important;
}

.marginTop45 {
  margin-top: 45px !important;
}

.marginTop60 {
  margin-top: 60px !important;
}

.marginTop75 {
  margin-top: 75px !important;
}

.marginTop90 {
  margin-top: 90px !important;
}

.marginTop105 {
  margin-top: 105px !important;
}

.marginTop120 {
  margin-top: 3120x !important;
}

.marginBottom0 {
  margin-bottom: 0px !important;
}

.marginLeft-30 {
  margin-left: -30px !important;
}

.marginLeft-15 {
  margin-left: -15px !important;
}

.marginLeft0 {
  margin-left: 0px !important;
}

.marginLeft15 {
  margin-left: 15px !important;
}

.marginLeft30 {
  margin-left: 30px !important;
}

.marginLeft45 {
  margin-left: 45px !important;
}

.marginLeft60 {
  margin-left: 60px !important;
}

.marginLeft75 {
  margin-left: 75px !important;
}

.marginLeft90 {
  margin-left: 90px !important;
}

.marginLeft105 {
  margin-left: 105px !important;
}

.marginLeft120 {
  margin-left: 3120x !important;
}

.maxWidth500 {
  max-width: 500px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.maxWidth600 {
  max-width: 600px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.minWidth5em {
  min-width: 5em !important;
}

.minWidth15em {
  min-width: 15em !important;
}

.widthAuto {
  width: auto !important;
}

.alignRight {
  text-align: right !important;
  -moz-text-align-last: right !important;
  text-align-last: right !important;
}

.alignCenter {
  text-align: center !important;
  -moz-text-align-last: center !important;
  text-align-last: center !important;
}

.alignLeft {
  text-align: left !important;
  -moz-text-align-last: left !important;
  text-align-last: left !important;
}

.boxAlignCenter {
  margin-right: auto;
  margin-left: auto;
}

.displayBlock {
  display: block !important;
}

.textColor {
  color: #260C0C !important;
}

.orangeColor {
  color: #EF8100 !important;
}

.redColor {
  color: #a50000 !important;
}

.small {
  font-size: 90% !important;
}

.large {
  font-size: 110% !important;
}

.bold {
  margin: 0 0.1em;
  font-weight: bold !important;
}

.bgGray {
  background: #F4F4F4 !important;
}

@media screen and (min-width: 1200px) {
  .pcFitContent {
    width: -moz-fit-content !important;
    width: fit-content !important;
    min-width: 60%;
  }
}
/* CSS Document */
html {
  font-feature-settings: "palt";
  line-height: 1.5;
  font-size: 10px;
}

@media all and (max-width: 1000px) {
  html {
    font-size: 9.5px;
  }
}
@media all and (max-width: 900px) {
  html {
    font-size: 9px;
  }
}
@media all and (max-width: 450px) {
  html {
    font-size: 2vw;
  }
}
body {
  min-width: 320px;
  box-sizing: border-box !important;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, sans-serif !important;
  font-size: 10px;
  color: #1d2225;
}

body h1, body h2, body h3, body h4, body h5, body h6, body ul, body ol, body li, body dl, body dt, body dd, body p, body a, body div, body section, body article, body aside, body nav {
  box-sizing: border-box;
}

@media screen and (max-width: 1199px) {
  body {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
  }
  body > * {
    order: 1;
  }
  body > #footer {
    order: 3;
  }
  body > #footerNav {
    order: 2;
  }
}
a:hover {
  transition: color 0.25s linear;
  color: #5a93af;
}

a.detailLink2 {
  background-position: 0 0.5em !important;
}

p, span {
  text-align: justify;
  -moz-text-align-last: left;
  text-align-last: left;
}

#main section {
  margin: 1.5em auto 3em;
  overflow: hidden;
}

#main section:after {
  display: none;
}

#main section.columFull {
  width: 97.5%;
  margin: 3em auto;
  padding: 0 0 1.5em;
}

#main section.columFull + .columFull {
  margin: 1.5em auto 3em;
}

@media screen and (max-width: 1199px) {
  #main section.columFull + .columFull {
    margin-top: 0;
    padding-top: 0;
  }
}
#main section.columFull > a:only-child img {
  display: block;
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  #main table {
    width: 100% !important;
  }
  #main table tr > * {
    word-break: break-all;
    font-size: 0.85em;
  }
}
#main table:not(.simple) {
  margin: 1.5em auto 3em;
  width: 97.5%;
  border-collapse: collapse;
  border: 1px solid #2c3337;
}

#main table:not(.simple) tr > * {
  padding: 0.75em 1em;
  border: 1px solid #2c3337;
}

@media screen and (max-width: 599px) {
  #main table:not(.simple) tr > * {
    padding: 0.5em 0.25em;
  }
}
#main table:not(.simple) tr:first-of-type > * {
  padding-top: 0.9em;
}

#main table:not(.simple) tr:last-of-type > * {
  padding-bottom: 0.9em;
}

#main table:not(.simple) tr > th:first-of-type:not(:only-child) {
  width: 20%;
}

@media screen and (max-width: 599px) {
  #main table:not(.simple) tr > th:first-of-type:not(:only-child) {
    width: 15%;
  }
}
#main table:not(.simple) tr[bgcolor="#ccccff"] > * {
  background: #5d6e77;
}

#main table:not(.simple) th {
  background: #758892;
}

#main table:not(.simple) + p.chuki {
  margin-top: -3em;
}

#main table.simple {
  width: 95%;
  margin: 1.5em auto;
}

#main table.simple th {
  padding: 0.75em 0 0.75em 1em;
  background-position: 0 0.9em;
  width: -moz-fit-content !important;
  width: fit-content !important;
  min-width: 6em;
  white-space: normal !important;
}

#main table.simple th:after {
  display: block;
  width: 9999px;
  height: 1px;
  background: none;
  border-bottom: 1px dashed #004D99;
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
}

#main table.simple td {
  padding: 0.75em 0 0.75em 0.5em;
  text-align: justify;
  -moz-text-align-last: left;
  text-align-last: left;
  position: relative;
}

#main table.simple td p {
  margin-left: 0;
}

#main table.simple td img.objCenter {
  margin: inherit !important;
  padding: inherit;
  background: none;
  box-shadow: none;
}

@media screen and (max-width: 599px) {
  #main table.simple td img.objCenter {
    margin-top: 0 !important;
    margin-left: 0 !important;
    min-width: 75px;
  }
}
@media screen and (max-width: 599px) {
  #main table.simple.noTriangle {
    width: 95% !important;
  }
}
#main table.simple.noTriangle table {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0.5em auto 0.5em 0;
  border: none;
}

#main table.simple.noTriangle table tr > * {
  border: none;
  padding-right: 1em;
  padding-left: 0;
  font-size: 1em;
}

#main table.simple.noTriangle table th {
  background: none;
}

#main table.simple.noTriangle table th:after {
  display: none;
}

@media screen and (max-width: 599px) {
  #main table.download:not([width]) {
    margin-bottom: 1.5em;
  }
}
#main table.download:not([width]) tr > th:first-of-type:not(:only-child) {
  width: 50%;
}

#main table.download:not([width]) tr > td:last-of-type:not(:only-child) {
  width: 25%;
}

#main table.download:not([width]) tr > td:last-of-type:not(:only-child) a {
  margin: 0 auto;
}

@media screen and (max-width: 599px) {
  #main table.download:not([width]) tr > td:last-of-type:not(:only-child) a {
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.1em 0.5em 0.2em;
    font-size: 1.4rem;
    lilne-height: 1;
    white-space: nowrap;
  }
}
#main ul.listBlue {
  width: 95%;
  margin: 1.5em auto;
  color: #49545a;
}

#main ul.listBlue > li {
  background: none;
  position: relative;
}

#main ul.listBlue > li:before {
  width: 12px;
  height: 12px;
  background: #2377af;
  border-radius: 9999px;
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
}

#main ul.listBlue > li strong {
  margin-bottom: 0.25em;
}

#main ul.MenuTag {
  margin: 0.5em auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#main ul.MenuTag li {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 10em;
  margin: 0.5em 5%;
}

#main ul.MenuTag li a {
  width: 100%;
}

#main ul.alignCenter a img {
  display: block;
  max-width: 95%;
  margin: 1.5em auto;
}

@media screen and (max-width: 599px) {
  #main ul.oshiraseArchiveList {
    width: 98%;
    margin: 1.5em auto;
  }
}
#main ul.oshiraseArchiveList > li > span {
  width: 6.8em;
  margin: 0;
  padding: 0.2em 0.5em 0.25em;
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
}

@media screen and (max-width: 599px) {
  #main ul.oshiraseArchiveList > li > span {
    width: 5.5em;
    padding: 0.2em 0.25em 0.25em;
  }
}
#main ul.oshiraseArchiveList > li > p {
  padding-left: 8em;
}

@media screen and (max-width: 599px) {
  #main ul.oshiraseArchiveList > li > p {
    margin-left: 0;
    padding-left: 6em;
  }
}
#main ul.oshiraseArchiveList > li > p time {
  display: block;
  width: 7em;
  text-align: center;
}

@media screen and (max-width: 599px) {
  #main ul.oshiraseArchiveList > li > p time {
    width: 4.5em;
    text-align: left;
  }
}
#main ul.oshiraseArchiveList > li > div {
  margin-left: 8.5em;
}

@media screen and (max-width: 599px) {
  #main ul.oshiraseArchiveList > li > div {
    margin-left: 6em;
  }
}
#main ul.oshiraseArchiveList ul.listBlue {
  margin: 1.5em auto;
}

#main ul.oshiraseArchiveList ul.listBlue > li {
  padding: 1em 0.5em 0.5em;
  border-top: 1px dashed #2377af;
}

#main ul.oshiraseArchiveList ul.listBlue > li:before {
  display: none;
}

#main ul.oshiraseArchiveList ul.listBlue > li:first-of-type {
  border-top: one;
}

#main ul.oshiraseArchiveList ul.listBlue > li:last-of-type {
  padding-bottom: 1.2em;
  border-bottom: 1px dashed #2377af;
}

#main ul.oshiraseArchiveList ul.listBlue > p {
  margin: -1em 1.5em 1em !important;
}

#main img.pageMainImg {
  display: block;
  max-width: 95%;
  margin: 3em auto;
}

#main img.objCenter {
  display: block;
  max-width: 95%;
  margin: 3em auto !important;
  /*図の丸枠線影消去20230929*/
  /*padding: 1.5%;
  background: #F4F4F4;
  border-radius: 3px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);*/
}

#main img.objCenter + img.objCenter {
  margin-top: -1.5em !important;
}

#main img.objLeft {
  margin: 1.5em auto 1.5em 2.5%;
  /*図の丸枠線影消去20230929*/
  /*padding: 1.5%;
  background: #F4F4F4;
  border-radius: 3px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);*/
}

@media screen and (max-width: 599px) {
  #main img.objLeft {
    max-width: 95%;
    margin-left: 1.5%;
  }
}
#main div > section {
  margin-top: 3em;
}

#main div.buttonBox {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin: 3em auto;
}

#main div.buttonBox a {
  text-decoration: none;
}

#main div.buttonBox img.thumbnail {
  margin: 0.5em !important;
  padding: 0 !important;
}

@media screen and (max-width: 599px) {
  #main div.buttonBox img.thumbnail {
    width: auto !important;
    max-width: inherit !important;
    min-width: 0 !important;
  }
}
#main div.appeal ul {
  border: none;
  width: 97.5%;
  margin: 0.5em auto;
}

#main div.appeal ul li {
  font-size: 1.2em;
  font-weight: normal;
}

#main div.cautions ul {
  margin-bottom: 1.5em;
  padding: 1em 1.5em 1em 2.5em;
}

#main div.cautions ul li {
  font-size: 1.2em;
}

#main div.videoBox {
  margin: 1.5em auto;
  position: relative;
  width: 95%;
  padding-bottom: 53.4375%; /* 16:9アスペクト比 */
  border-radius: 6px;
  overflow: hidden;
}

#main div.videoBox video {
  margin: 0 !important;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

#main div.tabBox > div.tabTrue span.tabName {
  padding: 10px;
  font-weight: normal;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media screen and (max-width: 599px) {
  #main div.tabBox > div.tabTrue span.tabName + section.columFull {
    margin-top: 0 !important;
  }
}
#main div.tabBox > div.tabTrue.visible {
  padding: 0 2.5%;
}

@media screen and (max-width: 1199px) {
  #main div.tabBox > div.tabTrue {
    font-size: 1.1em;
  }
}
#main div.tabBox section {
  margin: 1.5em auto !important;
}

#main div.tabBox section.columFull .columFull {
  margin: 0 !important;
  padding: 0 !important;
}

#main div.tabBox section > img {
  display: block;
  max-width: 95%;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0.5em !important;
}

#main div.tabBox section.columFull > img:not(.thumbnail) {
  display: block;
  max-width: 95%;
  margin: 3em auto !important;
  padding: 1.5%;
  /* background: #F4F4F4;
   border-radius: 3px;
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);*/
}

#main div.tabBox section.columFull > img:not(.thumbnail) + table.simple tr td {
  width: 50%;
  font-size: 1.4rem;
  padding: 0 1.5em;
}

#main div.tabBox section.columFull > div > img:only-of-type {
  display: block;
  max-width: 95%;
  margin: 3em auto !important;
  /*図の丸枠線影消去20230929*/
  /*padding: 1.5%;
  background: #F4F4F4;
  border-radius: 3px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);*/
}

@media screen and (max-width: 1199px) {
  #main div.tabBox {
    width: 96%;
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 599px) {
  #main div.tabBox {
    width: 96%;
    margin: 1.5em auto;
    padding: 0 1px 1px;
  }
  #main div.tabBox > div.tabTrue {
    padding: 0 !important;
  }
  #main div.tabBox > div.tabTrue span.tabName {
    display: block;
    width: auto;
    max-width: none;
    min-width: 0;
    height: auto;
    padding: 0.65em 0 0.8em 1.6em;
    margin: 1px auto 0;
    background: #6F292B !important;
    border: none;
    font-size: 1.6em;
    line-height: 1;
    text-shadow: none;
    position: relative;
    top: auto !important;
    left: auto !important;
  }
  #main div.tabBox > div.tabTrue span.tabName:before {
    display: block;
    border-top: 0.36em solid transparent;
    border-left: 0.6em solid #FFF;
    border-bottom: 0.36em solid transparent;
    content: "";
    position: absolute;
    top: 0.85em;
    left: 0.8em;
    transition: transform 0.25s linear;
  }
  #main div.tabBox > div.tabTrue span.tabName:after {
    display: none !important;
  }
  #main div.tabBox > div.tabTrue span.tabName br {
    display: none;
  }
  #main div.tabBox > div.tabTrue section {
    display: block !important;
    margin: 0;
    padding: 0;
    opacity: 0;
    transition: opacity 0.25s linear;
    position: absolute;
    top: -9999px;
  }
  #main div.tabBox > div.tabTrue section.colum_3R {
    display: flex !important;
  }
  #main div.tabBox > div.tabTrue.open span.tabName:before {
    top: 0.9em;
    left: 0.7em;
    transform: rotate(90deg);
  }
  #main div.tabBox > div.tabTrue.open section {
    margin: 5px auto;
    padding: 1.5em 2.5%;
    opacity: 1;
    position: relative;
    top: 0;
  }
}
#main nav.productsNav {
  width: 95%;
  max-width: 701px;
  margin: 1.5em auto;
  display: flex;
  flex-wrap: wrap;
  border: none;
  border-top: 1px solid #49545a;
  border-left: 1px solid #49545a;
  background: #49545a;
}

#main nav.productsNav ul li {
  width: calc(25% - 1px);
  margin: 0 1px 1px 0;
}

@media screen and (max-width: 599px) {
  #main nav.productsNav ul li {
    width: calc(33.3% - 1px);
  }
}
#main nav.productsNav ul li a {
  width: 100%;
  height: 100%;
}

#main nav.productsNav ul li a img {
  width: 100%;
  height: auto;
  max-height: 40px;
}

#main p:has(.detailLink2) {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

#main p:has(.detailLink2) a {
  background-position: 0 7px;
}

/* CSS Document */
/* main -> menu */
#header {
  font-family: inherit;
}

#header #header-corporation {
  min-width: 0;
}

#header .menu-mobile {
  display: none;
}

#header .logo {
  width: 90% !important;
  max-width: 434px;
  padding: 0 !important;
  align-items: center !important;
}

#header .logo img {
  width: 100%;
  height: auto;
}

#header #spMenuDrawer {
  display: none !important;
}

@media screen and (max-width: 1199px) {
  #header #spMenuDrawer {
    display: block !important;
    width: 32px;
    height: 32px;
    position: absolute;
    top: 30%;
    right: 1.5%;
  }
  #header #spMenuDrawer div.span-container, #header #spMenuDrawer input.checkbox {
    width: 32px;
    height: 32px;
    position: absolute;
    left: 0px;
    top: 16px;
    transform: translateY(-50%) scale(0.8);
    cursor: pointer;
  }
  #header #spMenuDrawer input.checkbox {
    opacity: 0;
    z-index: 100;
  }
  #header #spMenuDrawer div.span-container {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    z-index: 90;
  }
  #header #spMenuDrawer div.span-container span {
    width: 100%;
    height: 3px;
    background: #a50000;
    transition: all 250ms ease-out;
    transform-origin: 0 0;
  }
  #header #spMenuDrawer input.checkbox:checked ~ div.span-container span:nth-last-child(1) {
    transform: rotate(-45deg) translate(-1px, 0px);
  }
  #header #spMenuDrawer input.checkbox:checked ~ div.span-container span:nth-last-child(2) {
    transform: rotate(0deg) scale(0.2, 0.2);
    opacity: 0;
  }
  #header #spMenuDrawer input.checkbox:checked ~ div.span-container span:nth-last-child(3) {
    transform: rotate(45deg) translate(0px, -1px);
  }
  #header #spMenuDrawer .nav-container {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: center;
    z-index: 50;
    background: #444;
    transform: translateX(-100%);
  }
  #header #spMenuDrawer input.checkbox:checked ~ .nav-container {
    transition: all 250ms ease-out;
    transform: translateX(0%);
  }
}
@media screen and (max-width: 1199px) and (min-width: 1200px) {
  #header #spMenuDrawer .nav-container {
    position: relative;
    left: none;
    top: none;
    width: auto;
    height: 100%;
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    z-index: 50;
    background: transparent;
    transition: none;
    transform: none;
  }
  #header #spMenuDrawer .nav-container a {
    margin-right: 1.5rem;
  }
}
#header #spMenuDrawer .nav-container {
  top: 66px;
  overflow-y: scroll;
  background: rgba(0, 0, 0, 0.75);
  display: block;
}

#header #spMenuDrawer .nav-container ul, #header #spMenuDrawer .nav-container li, #header #spMenuDrawer .nav-container a, #header #spMenuDrawer .nav-container nav {
  margin: 0;
  padding: 0;
}

#header #spMenuDrawer .nav-container nav.functions {
  display: block !important;
  background-color: #FFF;
}

#header #spMenuDrawer .nav-container nav.functions ul.search {
  border-bottom: 1px solid #d9e1e5;
}

#header #spMenuDrawer .nav-container nav.functions ul.search li {
  padding: 0.3em 0.75em 0.4em;
}

#header #spMenuDrawer .nav-container nav.functions ul.search li input[type=text] {
  width: calc(100% - 68px);
  margin: 0;
  padding: 0.35em 0.75em;
}

#header #spMenuDrawer .nav-container nav.functions ul.search li input[type=image] {
  margin-left: 0.5em;
  vertical-align: middle;
}

#header #spMenuDrawer .nav-container nav.functions ul.language-selector li a {
  padding: 0.8em 1em 0.9em 1.8em;
  text-align: left;
  position: relative;
}

#header #spMenuDrawer .nav-container nav.functions ul.language-selector li a:before {
  display: block;
  border-top: 6px solid transparent;
  border-left: 10px solid #a50000;
  border-bottom: 6px solid transparent;
  content: "";
  position: absolute;
  top: 1.2em;
  left: 0.8em;
}

#header #spMenuDrawer .nav-container .menu {
  display: block;
  margin-bottom: 65px;
}

#header #spMenuDrawer .nav-container .menu ul {
  width: 100%;
  display: block;
  box-shadow: none;
}

#header #spMenuDrawer .nav-container .menu li {
  display: none;
  width: 100%;
  overflow: hidden;
  text-align: left;
}

#header #spMenuDrawer .nav-container .menu > ul {
  padding: 0;
  background: #a50000;
}

#header #spMenuDrawer .nav-container .menu > ul:after {
  display: block;
  height: 10px;
  background: #6F292B;
  content: "";
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon {
  display: block;
  background: none;
  position: relative;
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon > ul {
  display: block;
  height: 0;
  opacity: 0;
  overflow: hidden;
  position: relative;
  top: -5px;
  transition: top 0.1s ease-out, opacity 0.25s linear;
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon:after {
  display: block;
  font-size: 120%;
  content: "＋";
  position: absolute;
  top: 0.5em;
  right: 0.6em;
  transition: transform 0.25s linear;
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon span {
  display: none;
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon a {
  padding: 0.8em 1em 0.9em;
  font-weight: normal;
  font-size: 14px !important;
  color: #FFF;
  border-top: 1px solid rgba(255, 255, 255, 0.75);
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon.open:after {
  transform: rotate(135deg);
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon.open > ul {
  height: auto;
  opacity: 1;
  overflow: visible;
  top: 0px;
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon.open > ul li {
  display: block;
  background: #6F292B;
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon.open > ul li > a {
  padding-left: 2em;
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon.open > ul li > p {
  padding: 0.6em 1.5em 0.5em 3em;
  font-weight: normal;
  font-size: 0.8em !important;
  position: relative;
  border-top: 1px solid rgba(255, 255, 255, 0.75);
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon.open > ul li > p:before {
  display: block;
  border-top: 5.4px solid transparent;
  border-left: 9px solid #FFF;
  border-bottom: 5.4px solid transparent;
  content: "";
  position: absolute;
  top: 1.2em;
  left: 1.85em;
  transform: rotate(90deg);
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon.open > ul li > ul:after {
  margin-bottom: 0;
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon.open > ul li > ul > li {
  background: none;
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon.open > ul li > ul > li > a {
  padding-left: 2em;
  color: #1d2225;
  background: #FFF;
  border-top: 1px solid #6F292B;
  border-left: 13px solid #6F292B;
  position: relative;
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon.open > ul li > ul > li > a:before {
  display: block;
  border-top: 6px solid transparent;
  border-left: 10px solid #6F292B;
  border-bottom: 6px solid transparent;
  content: "";
  position: absolute;
  top: 1.15em;
  left: 1.1em;
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon:first-of-type a {
  border-top: none;
}

#header #spMenuDrawer .nav-container .menu li.menu-dropdown-icon.no_after:after {
  display: none;
}

.menu {
  background: #FFF;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
  position: relative;
  z-index: 100;
}

@media screen and (min-width: 1200px) {
  .menu > ul {
    width: -moz-fit-content;
    width: fit-content;
    max-width: 1280px;
    margin: 0 auto;
  }
  .menu > ul > li {
    box-sizing: border-box;
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin: 0 !important;
    float: none;
    font-weight: normal !important;
    border: none !important;
  }
  .menu > ul > li > a {
    display: block;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0.75em 3.5em 0.55em !important;
    font-size: 150% !important;
    font-weight: normal !important;
  }
  .menu > ul > li > a div {
    padding: 2px 0 5px !important;
  }
  .menu > ul > li > a span {
    color: #BCBCBB;
    text-align: center;
    -moz-text-align-last: center;
    text-align-last: center;
  }
  .menu > ul > li:hover {
    background: none;
    transition: all 0.25s 0s ease-in;
  }
  .menu > ul > li:hover:hover:after {
    display: block;
    width: 75%;
    height: 3px;
    margin: 0 auto -3px;
    background: #a50000;
    content: "";
    position: relative;
    bottom: 3px;
    animation: menuBottomBorder 0.25s ease-in-out 0s;
  }
  .menu > ul > li:hover > a {
    color: #333;
  }
  .menu > ul > li:hover > a span {
    color: #BCBCBB;
  }
  .menu > ul > li:hover > ul {
    display: block !important;
    top: 66px;
    opacity: 1;
  }
  .menu > ul > li > ul {
    width: 1200px;
    display: block !important;
    opacity: 0;
    width: 100%;
    margin: 0;
    background: rgba(87, 100, 107, 0.9803921569);
    z-index: 99;
    transition: opacity 0.1s linear 0.1s;
    top: -9999px;
  }
  .menu > ul > li > ul:before, .menu > ul > li > ul:after {
    display: block;
    width: 9999px;
    height: 100%;
    background: rgba(87, 100, 107, 0.9803921569);
    content: "";
    position: absolute;
    top: 0;
    left: -9999px;
  }
  .menu > ul > li > ul:after {
    right: -9999px;
    left: auto;
  }
  .menu > ul > li > ul li {
    margin-bottom: 1em;
    padding: 0 0 0 10px !important;
  }
  .menu > ul > li > ul > li {
    width: calc(100% - 20px);
  }
  .menu > ul > li > ul > li p {
    border-bottom: 1px dashed rgba(255, 255, 255, 0.5);
  }
  .menu > ul > li > ul > li a {
    padding: 8px 0 6px !important;
    font-weight: normal;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.5);
    transition: all 0.25s linear;
  }
  .menu > ul > li > ul > li a:hover {
    text-decoration: none !important;
    color: #abbaba !important;
  }
  .menu > ul > li > ul > li > ul {
    margin-bottom: 1em;
  }
  .menu > ul > li > ul > li > ul li {
    background-position: left 1.6em;
  }
  .menu > ul > li:nth-of-type(2) > ul > li, .menu > ul > li:nth-of-type(3) > ul > li {
    display: block;
    width: 16em;
    margin-bottom: 0;
    float: none;
  }
  .menu > ul > li:nth-of-type(2) > ul > li > a, .menu > ul > li:nth-of-type(3) > ul > li > a {
    display: flex;
    width: 16em;
    padding: 0.75em 0 0.75em 0.28em !important;
    position: relative;
  }
  .menu > ul > li:nth-of-type(2) > ul > li > a:after, .menu > ul > li:nth-of-type(3) > ul > li > a:after {
    display: block;
    border-top: 0.36em solid transparent;
    border-left: 0.6em solid #758892;
    border-bottom: 0.36em solid transparent;
    content: "";
    position: absolute;
    top: 1.2em;
    right: 0.35em;
    transition: all 0.25s linear;
  }
  .menu > ul > li:nth-of-type(2) > ul > li:last-of-type > a, .menu > ul > li:nth-of-type(3) > ul > li:last-of-type > a {
    border-bottom: none;
  }
  .menu > ul > li:nth-of-type(2) > ul > li > ul, .menu > ul > li:nth-of-type(3) > ul > li > ul {
    width: calc(100% - 28.3em);
    padding: 0.65em 1em;
    background: rgba(255, 255, 255, 0.9803921569);
    position: absolute;
    box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.25);
    top: -9999px;
    left: 28.35em;
    opacity: 0;
    transition: opacity 0.25s linear;
  }
  .menu > ul > li:nth-of-type(2) > ul > li > ul a, .menu > ul > li:nth-of-type(3) > ul > li > ul a {
    color: #260C0C;
  }
  .menu > ul > li:nth-of-type(2) > ul > li > ul a:before, .menu > ul > li:nth-of-type(3) > ul > li > ul a:before {
    width: 0.6em;
    height: 0.6em;
    background: #758892;
    content: "";
    border-radius: 9999px;
    position: absolute;
    top: 1em;
    left: -0.25em;
  }
  .menu > ul > li:nth-of-type(2) > ul > li:hover > a, .menu > ul > li:nth-of-type(3) > ul > li:hover > a {
    padding-left: 0.5em !important;
    color: #260C0C !important;
    background: rgba(255, 255, 255, 0.9803921569);
    box-shadow: -2px 2px 2px rgba(0, 0, 0, 0.25);
  }
  .menu > ul > li:nth-of-type(2) > ul > li:hover > a:after, .menu > ul > li:nth-of-type(3) > ul > li:hover > a:after {
    display: block;
    border-top: 0.36em solid transparent;
    border-left: 0.6em solid #d9e1e5;
    border-bottom: 0.36em solid transparent;
    content: "";
    right: 0;
  }
  .menu > ul > li:nth-of-type(2) > ul > li > a:hover + ul, .menu > ul > li:nth-of-type(2) > ul > li ul:hover, .menu > ul > li:nth-of-type(3) > ul > li > a:hover + ul, .menu > ul > li:nth-of-type(3) > ul > li ul:hover {
    top: 10px;
    opacity: 1;
  }
  .menu > ul > li:nth-of-type(2):nth-of-type(2) > ul, .menu > ul > li:nth-of-type(3):nth-of-type(2) > ul {
    padding-bottom: 3em;
  }
  .menu > ul > li:nth-of-type(2):nth-of-type(2) > ul li:nth-of-type(2) > a:hover + ul, .menu > ul > li:nth-of-type(2):nth-of-type(2) > ul li:nth-of-type(2) ul:hover, .menu > ul > li:nth-of-type(3):nth-of-type(2) > ul li:nth-of-type(2) > a:hover + ul, .menu > ul > li:nth-of-type(3):nth-of-type(2) > ul li:nth-of-type(2) ul:hover {
    top: 30px;
  }
  .menu > ul > li:nth-of-type(2):nth-of-type(2) > ul li:nth-of-type(3) > a:hover + ul, .menu > ul > li:nth-of-type(2):nth-of-type(2) > ul li:nth-of-type(3) ul:hover, .menu > ul > li:nth-of-type(3):nth-of-type(2) > ul li:nth-of-type(3) > a:hover + ul, .menu > ul > li:nth-of-type(3):nth-of-type(2) > ul li:nth-of-type(3) ul:hover {
    top: 45px;
  }
  .menu > ul > li:nth-of-type(2):nth-of-type(2) > ul li:nth-of-type(4) > a:hover + ul, .menu > ul > li:nth-of-type(2):nth-of-type(2) > ul li:nth-of-type(4) ul:hover, .menu > ul > li:nth-of-type(3):nth-of-type(2) > ul li:nth-of-type(4) > a:hover + ul, .menu > ul > li:nth-of-type(3):nth-of-type(2) > ul li:nth-of-type(4) ul:hover {
    top: 135px;
  }
  .menu > ul > li:nth-of-type(2):nth-of-type(2) > ul li:nth-of-type(5) > a:hover + ul, .menu > ul > li:nth-of-type(2):nth-of-type(2) > ul li:nth-of-type(5) ul:hover, .menu > ul > li:nth-of-type(3):nth-of-type(2) > ul li:nth-of-type(5) > a:hover + ul, .menu > ul > li:nth-of-type(3):nth-of-type(2) > ul li:nth-of-type(5) ul:hover {
    top: 215px;
  }
  .menu > ul > li:nth-of-type(2):nth-of-type(2) > ul li:nth-of-type(6) > a:hover + ul, .menu > ul > li:nth-of-type(2):nth-of-type(2) > ul li:nth-of-type(6) ul:hover, .menu > ul > li:nth-of-type(3):nth-of-type(2) > ul li:nth-of-type(6) > a:hover + ul, .menu > ul > li:nth-of-type(3):nth-of-type(2) > ul li:nth-of-type(6) ul:hover {
    top: 279px;
  }
  .menu > ul > li:nth-of-type(2):nth-of-type(3) > ul, .menu > ul > li:nth-of-type(3):nth-of-type(3) > ul {
    padding-bottom: 12em;
  }
  .menu > ul > li:nth-of-type(2):nth-of-type(3) > ul li:nth-of-type(2) > a:hover + ul, .menu > ul > li:nth-of-type(2):nth-of-type(3) > ul li:nth-of-type(2) ul:hover, .menu > ul > li:nth-of-type(3):nth-of-type(3) > ul li:nth-of-type(2) > a:hover + ul, .menu > ul > li:nth-of-type(3):nth-of-type(3) > ul li:nth-of-type(2) ul:hover {
    top: 30px;
  }
  .menu > ul > li:nth-of-type(2):nth-of-type(3) > ul li:nth-of-type(3) > a:hover + ul, .menu > ul > li:nth-of-type(2):nth-of-type(3) > ul li:nth-of-type(3) ul:hover, .menu > ul > li:nth-of-type(3):nth-of-type(3) > ul li:nth-of-type(3) > a:hover + ul, .menu > ul > li:nth-of-type(3):nth-of-type(3) > ul li:nth-of-type(3) ul:hover {
    top: 30px;
  }
}
body.spMenuOpen {
  position: fixed;
  top: 0;
}

@keyframes circleAnim {
  to {
    stroke-dashoffset: 0;
  }
}
/* Flex-slider */
#top .flexslider {
  box-shadow: 0px 15px 15px -15px rgba(0, 0, 0, 0.6);
  z-index: 2;
  min-height: 44.27vw;
}

@media (max-width: 1024px) {
  #top .flexslider {
    min-height: 75vw;
  }
}
#top .flexslider .flex-viewport {
  max-height: 100% !important;
}

#top .flexslider .flex-control-nav {
  display: flex;
  height: 39%;
  flex-direction: column;
  justify-content: space-around;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  top: 19.5%;
  right: 2.5%;
  z-index: 2;
}

#top .flexslider .flex-control-nav li {
  margin: 0;
  position: relative;
}

#top .flexslider .flex-control-nav li .svg {
  transform: rotate(-90deg);
  position: absolute;
  top: -0.4em;
  left: -0.4em;
}

#top .flexslider .flex-control-nav li .svg .circle {
  stroke: rgba(255, 255, 255, 0.95);
  stroke-width: 0.1em;
  animation: circleAnim 9.5s linear forwards;
  fill: transparent;
  stroke-dasharray: 5em;
  stroke-dashoffset: 5em;
}

#top .flexslider .flex-control-nav li a {
  box-sizing: border-box;
  width: 1.2em;
  height: 1.2em;
  background: none;
  outline: none;
  border: 1px solid rgba(255, 255, 255, 0.75);
  position: relative;
  box-shadow: none;
}

#top .flexslider .flex-control-nav li a.flex-active {
  border: none;
  background: rgba(255, 255, 255, 0.95);
}

#top #main {
  position: relative;
  padding-bottom: 0;
  /* お知らせ */
  /* 汎用コンテナ */
}

#top #main:after {
  content: "";
  position: absolute;
  top: -2px;
  right: -2px;
  bottom: -2px;
  left: -2px;
  background: url(../img/bg.jpg) repeat center;
  background-blend-mode: Luminosity;
  filter: blur(2px);
  z-index: -1;
}

#top #main > .dcOshirase {
  width: 100%;
  height: auto;
  background: url(../img/dcOshiraseBg.png) repeat;
  margin-top: 0;
  margin-bottom: 0;
  padding: 3rem 0 2rem;
  position: relative;
  z-index: 20;
}

@media screen and (max-width: 1199px) {
  #top #main > .dcOshirase {
    padding: 1rem 0;
  }
}
#top #main > .dcOshirase > * {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto 1.5rem;
}

#top #main > .dcOshirase .topOmimai {
  background: rgba(0, 0, 0, 0.5);
  border: none;
  margin: 1.5rem auto 3rem;
  padding: 0.5rem 3rem 2rem 3.5rem;
  text-align: center;
}

@media screen and (max-width: 1199px) {
  #top #main > .dcOshirase .topOmimai {
    padding: 0.5rem 2% 2rem 2.5%;
  }
}
#top #main > .dcOshirase .topOmimai a {
  display: inline-block;
  font-weight: normal;
  font-size: 1.6rem;
  color: #FFF !important;
  text-decoration: none;
  text-align: left;
  line-height: 1.5;
}

#top #main > .dcOshirase .topOmimai a h4 {
  margin: 1rem auto 0.5rem;
  font-size: 2rem;
  text-align: center;
}

#top #main > .dcOshirase > h2.title {
  margin: 0.1em auto !important;
  font-size: 3.9rem;
  color: #FFF;
  position: relative;
  background: none !important;
  text-shadow: none;
  top: 0;
}

#top #main > .dcOshirase > h2.title span {
  margin-left: 1em;
  font-size: 2rem;
  font-weight: normal !important;
}

#top #main > .dcOshirase > h2.title a {
  float: right;
  font-size: 1.4rem;
  font-weight: normal;
  color: #FFF;
  text-decoration: none;
  vertical-align: text-bottom;
  line-height: 1;
  position: absolute;
  bottom: 0.6em;
  right: 0;
}

#top #main > .dcOshirase > h2.title a:before {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background: #a50000;
  border-radius: 9999px;
  opacity: 0.85;
  content: "";
  position: absolute;
  top: 0;
  left: -2rem;
}

#top #main > .dcOshirase > h2.title a:after {
  display: block;
  border-top: 0.48rem solid transparent;
  border-left: 0.8rem solid #FFF;
  border-bottom: 0.48rem solid transparent;
  content: "";
  opacity: 0.8;
  position: absolute;
  top: 0.4rem;
  left: -1.5rem;
}

#top #main > .dcOshirase > h2.title a:hover {
  text-decoration: underline;
}

#top #main > .dcOshirase .topEmergency {
  margin: 1.5rem auto;
  padding: 0 0 1.5rem;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #a50000;
}

#top #main > .dcOshirase .topEmergency h3 {
  margin: 1rem;
  padding: 0.5rem 1.5rem;
  width: -moz-fit-content;
  width: fit-content;
  color: #FFF;
  background: #a50000;
  font-size: 1.6rem;
  font-weight: normal;
}

#top #main > .dcOshirase .topEmergency p {
  margin: 1.5rem 3rem 1.5rem 2rem;
  padding-left: 1.5rem;
  overflow: hidden;
  font-size: 1.5rem;
}

#top #main > .dcOshirase .topEmergency p:not(:last-of-type) {
  border-bottom: 1px dotted #a50000;
}

#top #main > .dcOshirase .topEmergency p time {
  margin: 0 1em 0.5rem -1.5rem;
  display: block;
  color: #a50000;
  float: left;
  width: -moz-fit-content;
  width: fit-content;
}

#top #main > .dcOshirase .topEmergency p time:before {
  display: block;
  border-top: 0.78rem solid transparent;
  border-left: 1.3rem solid #a50000;
  border-bottom: 0.78rem solid transparent;
  content: "";
  margin-right: 0.5rem;
  float: left;
  position: relative;
  top: 0.6rem;
}

#top #main > .dcOshirase .topEmergency p a {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  color: inherit;
  position: relative;
  top: -0.2rem;
}

#top #main > .dcOshirase .topEmergency p a:hover {
  text-decoration: underline;
}

#top #main > .dcOshirase .topEmergency p span {
  display: block;
  font-size: 1.6rem;
  color: inherit;
  background: none;
  word-break: break-all;
}

#top #main > .dcOshirase .oshiraseBox {
  display: flex;
  flex-wrap: wrap;
}

#top #main > .dcOshirase .oshiraseBox .topOshirase {
  width: 47.5%;
  margin: 0.5em auto 0.5em 0;
  position: relative;
  background: none;
}

#top #main > .dcOshirase .oshiraseBox .topOshirase:nth-of-type(2n) {
  margin: 0.5em 0 0.5em auto;
  position: relative;
}

#top #main > .dcOshirase .oshiraseBox .topOshirase:nth-of-type(2n):before {
  display: block;
  width: 1px;
  height: calc(100% - 2em);
  background: rgba(255, 255, 255, 0.75);
  content: "";
  position: absolute;
  top: 0.75em;
  left: -4%;
}

@media screen and (max-width: 1199px) {
  #top #main > .dcOshirase .oshiraseBox .topOshirase {
    width: 100%;
    margin: 0 auto !important;
  }
  #top #main > .dcOshirase .oshiraseBox .topOshirase:before {
    display: none;
  }
  #top #main > .dcOshirase .oshiraseBox .topOshirase:nth-of-type(2n):before {
    display: block;
    width: calc(100% - 1em);
    height: 1px;
    background: none;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.5);
    content: "";
    position: absolute;
    top: -1rem;
    left: 0.5em;
  }
}
#top #main > .dcOshirase .oshiraseBox .topOshirase:first-ot-type:after {
  content: "";
}

#top #main > .dcOshirase .oshiraseBox .topOshirase p {
  padding: 0.5em 0 1em 0.5em;
  color: #FFF;
  position: relative;
  overflow: hidden;
}

#top #main > .dcOshirase .oshiraseBox .topOshirase p:not(:last-of-type) {
  border-bottom: 1px dashed rgba(255, 255, 255, 0.5);
}

#top #main > .dcOshirase .oshiraseBox .topOshirase p span {
  display: block;
  width: 8em;
  min-width: 0;
  margin-bottom: 1em;
  height: auto;
  padding: 0.35em 0 0.45em;
  box-sizing: border-box;
  font-size: 1.6rem;
  line-height: 1;
  float: left;
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
}

#top #main > .dcOshirase .oshiraseBox .topOshirase p span.recruit {
  background: #02639D;
}

#top #main > .dcOshirase .oshiraseBox .topOshirase p span.seminar {
  background: #FC9E03;
}

#top #main > .dcOshirase .oshiraseBox .topOshirase p span.news {
  background: #0D9382;
}

#top #main > .dcOshirase .oshiraseBox .topOshirase p span.koushin {
  color: #FD575B;
  background: none;
  padding: 0.25em 0 0.35em;
  border: 1px solid #FD575B;
}

#top #main > .dcOshirase .oshiraseBox .topOshirase p a {
  display: block;
  width: calc(100% - 9.5em);
  margin: 0 0 0 0.5em;
  font-size: 1.6rem;
  color: #FFF;
  float: left;
}

#top #main > .dcOshirase .oshiraseBox .topOshirase p a:hover {
  text-decoration: underline;
}

#top #main > .dcOshirase .oshiraseBox .topOshirase p time {
  display: block;
  width: 10em;
  font-size: 1.4rem;
  font-weight: 400;
  color: #FFF;
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
  position: absolute;
  top: 3em;
}

@media screen and (max-width: 1199px) {
  #top #main > .dcOshirase .oshiraseBox .topOshirase p {
    padding: 0.5em 0.5em 1em;
  }
}
@media screen and (max-width: 599px) {
  #top #main > .dcOshirase .oshiraseBox .topOshirase p span {
    width: 7em;
  }
  #top #main > .dcOshirase .oshiraseBox .topOshirase p a {
    width: calc(100% - 8.5em);
  }
  #top #main > .dcOshirase .oshiraseBox .topOshirase p time {
    width: 8em;
    top: 3.5em;
  }
}
#top #main > .dcOshirase .topEmergency:last-child {
  margin-bottom: 6rem;
}

#top #main .flexslider + .dcOshirase {
  margin-top: -10%;
}

#top #main > .dcContentsBox {
  width: 100%;
  margin: 0;
  padding: 6rem 0;
  background: rgba(255, 255, 255, 0.95);
}

@media screen and (max-width: 1199px) {
  #top #main > .dcContentsBox {
    padding: 3rem 0;
  }
}
#top #main > .dcContentsBox > * {
  width: 95%;
  max-width: 1200px;
  margin: 0 auto 1.5rem;
}

#top #main > .dcContentsBox a:hover {
  opacity: 0.8;
  transition: opacity 0.25s linear;
}

#top #main > .dcContentsBox .titleBox {
  margin: 0 auto 4.5rem;
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 1199px) {
  #top #main > .dcContentsBox .titleBox {
    margin: 0 auto 2.5rem;
  }
}
#top #main > .dcContentsBox .titleBox h2 {
  width: 32%;
  padding: 0 0.5%;
  color: #a50000;
  text-shadow: 0 0 1px #a50000;
  font-size: 6.4rem;
  background: none;
  line-height: 1;
  position: relative;
  top: 0;
}

#top #main > .dcContentsBox .titleBox h2 span {
  display: block;
  margin-top: 0.5em;
  color: #2c3337;
  font-size: 1.6rem;
  font-weight: normal;
  text-shadow: none;
  letter-spacing: 0;
}

#top #main > .dcContentsBox .titleBox h3 {
  width: 100%;
  font-size: 2.8rem;
  font-weight: normal;
  text-align: center;
}

#top #main > .dcContentsBox .titleBox p {
  margin: 0 0 0 1.5rem;
  color: #2c3337;
  font-size: 1.8rem;
  line-height: 1.5;
}

@media screen and (max-width: 1199px) {
  #top #main > .dcContentsBox .titleBox h2 {
    width: 100%;
  }
  #top #main > .dcContentsBox .titleBox p {
    margin: 1.5rem 0 0.5rem;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 599px) {
  #top #main > .dcContentsBox .titleBox {
    width: 90%;
  }
}
#top #main > .dcContentsBox.service:nth-of-type(2n+1) {
  background: rgba(255, 255, 255, 0.75);
}

#top #main > .dcContentsBox.service:nth-of-type(2n+1) .titleBox h2 {
  color: #49545a;
  text-shadow: 0 0 1px #49545a;
}

#top #main > .dcContentsBox.service:first-of-type {
  background: rgba(255, 255, 255, 0.95);
}

#top #main > .dcContentsBox.service:first-of-type .titleBox h2 {
  color: #a50000;
  text-shadow: 0 0 1px #a50000;
}

#top #main > .dcContentsBox .flexBox3 {
  display: flex;
  flex-wrap: wrap;
}

@media all and (max-width: 950px) {
  #top #main > .dcContentsBox .flexBox3 {
    justify-content: space-between;
  }
}
@media all and (max-width: 550px) {
  #top #main > .dcContentsBox .flexBox3 {
    justify-content: center;
  }
}
#top #main > .dcContentsBox .flexBox3 > div {
  width: 31.5%;
  margin: 0 0.75% 3.5%;
  padding-bottom: 1.5rem;
  background: #FFF;
}

@media all and (max-width: 950px) {
  #top #main > .dcContentsBox .flexBox3 > div {
    width: 48%;
    margin-bottom: 3%;
  }
}
@media all and (max-width: 550px) {
  #top #main > .dcContentsBox .flexBox3 > div {
    width: 95%;
    margin-bottom: 5%;
  }
}
#top #main > .dcContentsBox .flexBox3 > div img {
  width: 100%;
}

#top #main > .dcContentsBox .flexBox3 > div a {
  text-decoration: none;
}

#top #main > .dcContentsBox .flexBox3 > div a > p {
  color: #FFF;
  margin-top: -1em;
  background: #a50000 url(../img/icon-arrow-middle_w.png);
  background-repeat: no-repeat;
  background-position: right 0.6em center;
  font-size: 2rem;
  padding: 0.5em 1.5em 0.6em 0.75em;
  line-height: 1;
  opacity: 0.9;
  position: relative;
  z-index: 2;
}

#top #main > .dcContentsBox .flexBox3 > div > p {
  margin: 1.5rem 3rem;
  font-size: 1.6rem;
  line-height: 1.5;
}

#top #main > .dcContentsBox .flexBox4 {
  display: flex;
  flex-wrap: wrap;
}

@media all and (max-width: 950px) {
  #top #main > .dcContentsBox .flexBox4 {
    justify-content: space-between;
  }
}
@media all and (max-width: 550px) {
  #top #main > .dcContentsBox .flexBox4 {
    justify-content: center;
  }
}
#top #main > .dcContentsBox .flexBox4 > div {
  width: 23.5%;
  margin: 0 0.75% 3.5%;
  background: #F4F4F4;
  padding-bottom: 1.5rem;
}

@media all and (max-width: 950px) {
  #top #main > .dcContentsBox .flexBox4 > div {
    width: 48%;
    margin-bottom: 3%;
  }
}
@media all and (max-width: 550px) {
  #top #main > .dcContentsBox .flexBox4 > div {
    width: 95%;
    margin-bottom: 5%;
  }
}
#top #main > .dcContentsBox .flexBox4 > div a {
  color: #1d2225;
  text-decoration: none;
}

#top #main > .dcContentsBox .flexBox4 > div img {
  width: 100%;
}

#top #main > .dcContentsBox .flexBox4 > div h4 {
  font-size: 1.7rem;
  font-weight: normal;
  margin: 1.5rem 1.5rem 0.5rem;
}

#top #main > .dcContentsBox .flexBox4 > div h4:after {
  margin: 0 0.5rem;
  content: url(../img/icon-new-win-r.png);
  position: relative;
  top: -0.2rem;
}

#top #main > .dcContentsBox .flexBox4 > div p {
  margin: 0 1.5rem 0.5rem;
  font-size: 1.5rem;
}

/* header */
#header #header-corporation, #footer .footer-info {
  width: 100%;
  max-width: 1280px;
}

@media screen and (max-width: 599px) {
  #header #header-corporation, #footer .footer-info {
    padding: 0;
  }
}
#header #header-corporation .inner .functions .search li form.aghsearchform input.aghsearchinput {
  width: 100%;
}

@media screen and (max-width: 599px) {
  #header #header-corporation .inner {
    padding-left: 2.5%;
  }
}
#header {
  border-bottom-color: #DEDEDE;
}

/* footer */
#footerNav #footerlogo {
  padding: 0.5em 0;
  background: #49545a;
}

#footerNav #footerlogo h2 {
  width: 95%;
  max-width: 1280px;
}

@media screen and (max-width: 1199px) {
  #footerNav #footerlogo {
    position: relative;
    z-index: 1;
  }
  #footerNav #footerlogo h2 {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
#footerNav #footerBox {
  background: #57646b;
}

#footerNav #footerBox nav {
  width: 95%;
  max-width: 1280px;
  height: auto;
  padding: 3em 0 7em;
  border-top: none;
  overflow: hidden;
}

#footerNav #footerBox nav a {
  color: #FFF;
  background: none;
  transition: color 0.25s linear;
  position: relative;
}

#footerNav #footerBox nav a:hover {
  color: #abbaba;
}

#footerNav #footerBox nav > ul {
  position: relative;
}

#footerNav #footerBox nav > ul > li {
  width: 22%;
  margin: 0 1.5% 1em;
  padding: 0;
  background-position: left 26px;
}

#footerNav #footerBox nav > ul > li:nth-last-of-type(1) {
  position: absolute;
  right: 25%;
  left: auto;
  top: 15em;
}

#footerNav #footerBox nav > ul > li:nth-last-of-type(2) {
  position: absolute;
  right: 0;
  left: auto;
  top: 15em;
}

#footerNav #footerBox nav > ul > li ul {
  margin: 2.5em 0 0;
}

#footerNav #footerBox nav > ul > li ul li {
  margin: 1em 0;
  padding-left: 1.5em;
  line-height: 1.25;
  position: relative;
}

#footerNav #footerBox nav > ul > li ul li:before {
  display: block;
  border-top: 5px solid transparent;
  border-left: 8.66025px solid #abbaba;
  border-bottom: 5px solid transparent;
  content: "";
  position: absolute;
  top: 0.25em;
  left: 0.5em;
}

#footerNav #footerBox nav > ul > li ul li a {
  padding-left: 0;
}

#footer .footer-info {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, sans-serif !important;
}

@media screen and (max-width: 1199px) {
  #footer .footer-info {
    width: -moz-fit-content;
    width: fit-content;
    flex-direction: column;
    min-width: 0;
    padding-top: 1em;
    padding-bottom: 1.75em;
  }
  #footer .footer-info > * {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  #footer .footer-info > *:first-of-type > ul {
    margin-right: 0 !important;
    display: flex !important;
  }
  #footer .footer-info > *:first-of-type > ul li {
    margin: 0.25em 0.35em !important;
    white-space: nowrap;
  }
}
/* flexSlider */
.flexslider {
  width: 100%;
  margin: 0;
  border: none;
}

/* main */
#main_contents_area {
  display: block;
}

#main {
  width: 100%;
  margin: 0 auto;
}

#main #breadcrumb {
  width: 98%;
  height: auto;
  max-width: 1200px;
}

@media screen and (max-width: 1199px) {
  #main #breadcrumb {
    max-width: 840px;
  }
}
#main #breadcrumb a {
  color: #49545a;
  background: none;
  border: 1px solid #49545a;
  border-radius: 0.2em;
  margin: 0.2em 1.6em 0.2em 0;
  padding: 0.25em 0.75em 0.35em;
  position: relative;
}

#main #breadcrumb a:hover {
  color: #FFF;
  background: #49545a;
}

#main #breadcrumb a:after {
  color: #a50000;
  font-size: 0.9em;
  content: "▶";
  pointer-events: none;
  position: absolute;
  top: 0.4em;
  right: -1.5em;
}

#main > .layoutBox.full {
  width: 100%;
  max-width: 1200px;
  display: flex;
  flex-wrap: wrap;
}

#main > .layoutBox.full > .layoutBox.left {
  order: 1;
  width: 100%;
  max-width: 280px;
  margin-bottom: 3em;
}

@media screen and (max-width: 1199px) {
  #main > .layoutBox.full > .layoutBox.left {
    order: 2;
    width: 100%;
    max-width: 840px;
    margin: 3em auto;
  }
}
#main > .layoutBox.full > .layoutBox.left #subNav {
  width: 100%;
}

#main > .layoutBox.full > .layoutBox.left #subNav h1 {
  width: 100%;
  height: auto;
  background: #a50000;
  font-weight: normal;
  padding: 0.6em 0 0.65em;
  border: none;
}

@media screen and (max-width: 1199px) {
  #main > .layoutBox.full > .layoutBox.left #subNav h1 {
    border-radius: 0;
  }
}
#main > .layoutBox.full > .layoutBox.left #subNav > ul {
  width: 100%;
  border: none;
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li {
  width: 100%;
  transition: background 0.25s linear;
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li:hover {
  background: #49545a;
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li > a {
  width: 100%;
  border-top: none;
  border-bottom: 1px dashed #CCC;
  font-size: 1.6em;
  text-shadow: none;
  background: none;
  position: relative;
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li > a:before {
  font-size: 80%;
  color: #333;
  content: "▶";
  position: absolute;
  top: 1.1em;
  left: 1em;
  transition: color 0.25s linear;
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li > a:hover:before {
  color: #F4F4F4;
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li:last-of-type > a {
  border-bottom: none;
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li.now {
  background: #49545a;
  border-bottom: 1px solid #F4F4F4;
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li.now > a:before {
  color: #F4F4F4;
  transform: rotate(90deg);
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li.now ul {
  border: none;
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li.now ul li {
  padding: 0;
  background: #F4F4F4;
  border-bottom: 1px solid #FFF;
  transition: background 0.25s linear;
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li.now ul li > a {
  font-size: 1.4em;
  width: 100%;
  margin: 0;
  padding: 0.8em 1.5em 0.8em 2em;
  background: none;
  word-break: break-all;
  text-align: justify;
  -moz-text-align-last: left;
  text-align-last: left;
  position: relative;
  text-shadow: none;
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li.now ul li > a:before {
  content: "－";
  position: absolute;
  left: 0.8em;
  transform: scaleX(0.75);
}

#main > .layoutBox.full > .layoutBox.left #subNav > ul > li.now ul li.now, #main > .layoutBox.full > .layoutBox.left #subNav > ul > li.now ul li:hover {
  background: #758892;
}

#main > .layoutBox.full > .layoutBox.left ul.sideBanner li {
  text-align: center;
}

#main > .layoutBox.full > .layoutBox.left #leftOtoiawase {
  margin-right: auto;
  margin-left: auto;
}

#main > .layoutBox.full > .layoutBox.right {
  order: 2;
  width: 100%;
  max-width: 860px;
  margin-left: 60px;
  margin-bottom: 6em;
  font-size: 1.1em;
  z-index: 0;
}

@media screen and (max-width: 1199px) {
  #main > .layoutBox.full > .layoutBox.right {
    font-size: 1em;
    order: 1;
    margin-right: auto;
    margin-left: auto;
  }
}
#main > .layoutBox.full > .layoutBox.right h1 {
  padding: 0.2em 0.75em 0.3em;
  font-size: 2.8em;
  font-weight: normal;
  text-align: center;
  line-height: 1.2;
  overflow: hidden;
}

#main > .layoutBox.full > .layoutBox.right h1:has(span) {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#main > .layoutBox.full > .layoutBox.right h1:has(span) span {
  font-weight: normal;
}

@media screen and (max-width: 599px) {
  #main > .layoutBox.full > .layoutBox.right h1:has(span) {
    align-items: center;
    flex-direction: column;
  }
}
@media screen and (max-width: 599px) {
  #main > .layoutBox.full > .layoutBox.right h1 {
    font-size: 2.4em;
    text-align: center;
  }
}
#main > .layoutBox.full > .layoutBox.right h2 {
  margin: 0 auto 1em;
  padding-left: 0.6em;
  position: relative;
  line-height: inherit;
  top: 0;
  background: none;
  overflow: visible;
}

#main > .layoutBox.full > .layoutBox.right h2:before {
  display: block;
  width: 0.2em;
  height: 1em;
  background: #a50000;
  content: "";
  position: absolute;
  top: 0.3em;
  left: 0.15em;
}

#main > .layoutBox.full > .layoutBox.right .slideBox {
  width: -moz-fit-content;
  width: fit-content;
  margin: 3em auto;
  overflow: hidden;
}

#main > .layoutBox.full > .layoutBox.right .slideBox a {
  width: 100% !important;
}

#main > .layoutBox.full > .layoutBox.right .slideBox img {
  width: 100%;
  max-width: none;
}

#main > .layoutBox.full > .layoutBox.right .columBox {
  width: 100%;
  margin: 1.5em auto;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum_products,
#main > .layoutBox.full > .layoutBox.right .columBox .colum_productsS {
  background: #CCC;
  width: 47%;
  height: auto !important;
  margin: 1.5em 1.5% 0;
  top: auto;
  left: auto;
}

@media screen and (max-width: 599px) {
  #main > .layoutBox.full > .layoutBox.right .columBox .colum_products,
  #main > .layoutBox.full > .layoutBox.right .columBox .colum_productsS {
    width: 95%;
    max-width: 450px;
    margin: 1.5em auto 0;
  }
}
#main > .layoutBox.full > .layoutBox.right .columBox .colum_products > div,
#main > .layoutBox.full > .layoutBox.right .columBox .colum_productsS > div {
  height: 100%;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum_products > div a,
#main > .layoutBox.full > .layoutBox.right .columBox .colum_productsS > div a {
  width: 100%;
  height: 100%;
  border: 1px solid #d9e1e5;
  border-bottom: 2px solid #758892;
  transition: background 0.25s linear;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum_products > div a:hover,
#main > .layoutBox.full > .layoutBox.right .columBox .colum_productsS > div a:hover {
  color: inherit;
  background: #d9e1e5;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum_products > div a h2,
#main > .layoutBox.full > .layoutBox.right .columBox .colum_productsS > div a h2 {
  margin: 0.75em 0.75em 0.25em;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum_products > div a img,
#main > .layoutBox.full > .layoutBox.right .columBox .colum_productsS > div a img {
  width: 27%;
  height: auto;
  max-width: 120px;
  margin: 3.5% 2.5% 0 3.5%;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum_products > div a p,
#main > .layoutBox.full > .layoutBox.right .columBox .colum_productsS > div a p {
  float: right;
  width: 61%;
  margin: 2.5% 5% 2.5% 0;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum_products > div a p span,
#main > .layoutBox.full > .layoutBox.right .columBox .colum_productsS > div a p span {
  margin: 0.25em 0;
  float: none;
  display: block;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum_products > div a p span.subTitleDetail,
#main > .layoutBox.full > .layoutBox.right .columBox .colum_productsS > div a p span.subTitleDetail {
  font-size: 1em;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum_products > div a p > br,
#main > .layoutBox.full > .layoutBox.right .columBox .colum_productsS > div a p > br {
  display: none;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum3 {
  width: 47%;
  margin: 1.5%;
  height: auto !important;
  border: 1px solid #d9e1e5;
  border-radius: 0.2em;
}

@media all and (max-width: 750px) {
  #main > .layoutBox.full > .layoutBox.right .columBox .colum3 {
    width: 97%;
    max-width: 360px;
    margin: 1.5% auto;
  }
}
#main > .layoutBox.full > .layoutBox.right .columBox .colum3 a {
  width: 100%;
  height: 100% !important;
  padding: 0 0 2.5%;
  border: none;
  transition: background 0.25s linear;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum3 a:hover {
  background: #d9e1e5;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum3 a:hover p {
  color: #260C0C !important;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum3 a h2 {
  margin: 0.5em 0.75em 0.25em;
  padding-left: 0.6em;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum3 a img {
  width: 35%;
  height: auto;
  max-width: 160px;
  margin: 2.5% 2.5% 5% 5%;
}

#main > .layoutBox.full > .layoutBox.right .columBox .colum3 a p {
  width: 92.5%;
  margin: 2.5% 2.5% 5%;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R {
  display: flex;
  flex-wrap: wrap;
  width: 95%;
  margin: 2em auto 3em;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > h2, #main > .layoutBox.full > .layoutBox.right .colum_3R > h3, #main > .layoutBox.full > .layoutBox.right .colum_3R > a, #main > .layoutBox.full > .layoutBox.right .colum_3R > p {
  width: 100%;
  word-break: break-all;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > a > h2 {
  margin-bottom: 0.5em;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > p {
  margin: 0.5em 1em 1em;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div {
  width: 31.5%;
  margin: 0.9%;
  height: auto !important;
  border: 1px solid #d9e1e5;
  border-bottom: 2px solid #758892;
  border-radius: 0.2em;
}

@media all and (max-width: 600px) {
  #main > .layoutBox.full > .layoutBox.right .colum_3R > div {
    width: 47%;
    margin: 1.5%;
  }
}
@media all and (max-width: 450px) {
  #main > .layoutBox.full > .layoutBox.right .colum_3R > div {
    width: 97%;
    max-width: 270px;
    margin: 1.5% auto;
  }
}
#main > .layoutBox.full > .layoutBox.right .colum_3R > div:has(a.contentsLink_L) {
  width: 100%;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div:has(a.contentsLink_L) img.thumbnail {
  margin: 1em;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div:has(a.contentsLink_L) p {
  width: calc(100% - 200px);
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div:has(a.contentsLink_L) p br {
  display: none;
}

@media screen and (min-width: 1200px) {
  #main > .layoutBox.full > .layoutBox.right .colum_3R > div:has(a.contentsLink_L) p.title {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 1199px) {
  #main > .layoutBox.full > .layoutBox.right .colum_3R > div:has(a.contentsLink_L) p.title {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 599px) {
  #main > .layoutBox.full > .layoutBox.right .colum_3R > div:has(a.contentsLink_L) img.thumbnail {
    float: none;
    margin: 1em auto;
    text-align: center;
  }
  #main > .layoutBox.full > .layoutBox.right .colum_3R > div:has(a.contentsLink_L) p.title {
    justify-content: center;
  }
  #main > .layoutBox.full > .layoutBox.right .colum_3R > div:has(a.contentsLink_L) p {
    width: 90%;
    float: none;
  }
}
#main > .layoutBox.full > .layoutBox.right .colum_3R > div > a {
  margin: 0;
  padding: 0.5em;
  width: 100%;
  height: 100% !important;
  border: none;
  transition: background 0.25s linear;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div > a:hover {
  background: #d9e1e5;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div > a:hover p {
  color: #260C0C !important;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div > a img {
  display: block;
  margin: 0.5em auto 1em;
  padding: 0;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div > a p {
  text-align: justify;
  width: 90%;
  margin: 0.5em auto;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div > a p:first-of-type {
  color: #49545a !important;
  font-size: 1.1em;
  line-height: 1.2;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div > a p.title {
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div > a p.comment {
  font-size: 1em;
  margin: 1em auto 0.5em;
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div > a p b {
  word-break: break-all;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div > a p.title {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.4em;
}

@media screen and (max-width: 1199px) {
  #main > .layoutBox.full > .layoutBox.right .colum_3R > div > a p.title {
    height: 2.7em;
  }
}
@media screen and (max-width: 599px) {
  #main > .layoutBox.full > .layoutBox.right .colum_3R > div > a p.title {
    height: 2.4em;
  }
}
#main > .layoutBox.full > .layoutBox.right .colum_3R > div > a p.title + .comment {
  margin-top: 0;
}

#main > .layoutBox.full > .layoutBox.right .colum_3R > div > a p.title + span {
  display: block;
  margin-bottom: 0.5em;
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
}

#main > .layoutBox.full > .layoutBox.right .fileBox {
  width: auto;
  margin: 1.5em auto;
  display: flex;
  flex-wrap: wrap;
}

#main > .layoutBox.full > .layoutBox.right .fileBox[data-colums="3"] a {
  width: 31.5%;
  margin: 0.9%;
  height: auto !important;
  background: #FFF;
  border: 1px solid #d9e1e5;
  border-bottom: 2px solid #758892;
  border-radius: 0.2em;
  color: inherit;
}

#main > .layoutBox.full > .layoutBox.right .fileBox[data-colums="3"] a span {
  word-break: break-all;
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
}

@media all and (max-width: 600px) {
  #main > .layoutBox.full > .layoutBox.right .fileBox[data-colums="3"] a {
    width: 47%;
    margin: 1.5%;
  }
}
@media all and (max-width: 450px) {
  #main > .layoutBox.full > .layoutBox.right .fileBox[data-colums="3"] a {
    width: 97%;
    max-width: 270px;
    margin: 1.5% auto;
  }
}
#main > .layoutBox.full > .layoutBox.right .compoLinkBox div[data-colums] {
  display: flex;
  flex-wrap: wrap;
  width: 95%;
  margin: 1.5em auto;
}

#main > .layoutBox.full > .layoutBox.right .compoLinkBox div[data-colums] > a {
  width: 47%;
  margin: 1.5%;
  height: auto !important;
  color: inherit;
  border: 1px solid #d9e1e5;
  border-bottom: 2px solid #758892;
  border-radius: 0.2em;
  text-decoration: none;
}

@media all and (max-width: 700px) {
  #main > .layoutBox.full > .layoutBox.right .compoLinkBox div[data-colums] > a {
    width: 97%;
    max-width: 360px;
    margin: 1.5% auto;
  }
}
#main > .layoutBox.full > .layoutBox.right .compoLinkBox div[data-colums] > a > img {
  width: 20%;
  max-width: 100px;
  display: block;
  margin: 0.5em;
}

#main > .layoutBox.full > .layoutBox.right .compoLinkBox div[data-colums] > a > p {
  width: calc(100% - 100px - 0.5em);
  margin: 0.8em 0 1em 1em;
  background-position: 0 0.4em;
}

@media all and (max-width: 700px) {
  #main > .layoutBox.full > .layoutBox.right .compoLinkBox div[data-colums] > a > p {
    width: calc(75% - 1.5em);
  }
}
#main > .layoutBox.full > .layoutBox.right .compoLinkBox div[data-colums] > a span {
  color: #2c3337;
  font-weight: bold;
}

#main > .layoutBox.full > .layoutBox.right .compoLinkBox table.simple tr > td:first-child img {
  width: 100%;
  max-width: 100%;
  min-width: 100px;
}

#main > .layoutBox.full > .layoutBox.right .compoLinkBox table.simple td p {
  margin-right: 0;
}

#main > .layoutBox.full > .layoutBox.right .columFull h2[style^=top] {
  top: 0 !important;
}

@media screen and (max-width: 599px) {
  #main > .layoutBox.full > .layoutBox.right .columFull img.thumbnail {
    width: 35%;
    max-width: 100%;
    min-width: 100px;
    margin-left: 0;
    margin-right: 5%;
  }
}
#main > .layoutBox.full > .layoutBox.right .columFull img.thumbnail + p,
#main > .layoutBox.full > .layoutBox.right .columFull img.thumbnail + p + p {
  width: 95%;
  float: none;
  margin: 0.5em auto;
}

#main > .layoutBox.full > .layoutBox.right .columFull img.thumbnail + p + ul {
  width: 95%;
  float: none;
  margin: 1.5em auto;
}

#main > .layoutBox.full > .layoutBox.right .columFull[style^=margin-top] {
  margin-top: inherit !important;
}

#main > .layoutBox.full > .layoutBox.right .columFull a.contentsLink {
  text-decoration: none;
}

#main > .layoutBox.full > .layoutBox.right .columFull a.contentsLink:hover {
  color: inherit;
  background: #d9e1e5;
}

#main > .layoutBox.full > .layoutBox.right .columFull p[style="font-size: 1.6em; font-weight: bold; background-color: #a00; color: #FFF;padding: 5px; text-align: center;"] {
  line-height: 1.2;
  padding: 0.3em 0.5em 0.4em 1.5em !important;
  font-weight: normal !important;
}

#main > .layoutBox.full > .layoutBox.right .columFull p[style="font-size: 1.6em; font-weight: bold; background-color: #a00; color: #FFF;padding: 5px; text-align: center;"]::first-letter {
  margin-left: -1.2em;
}

@media screen and (max-width: 599px) {
  #main > .layoutBox.full > .layoutBox.right .columFull p[style="font-size: 1.6em; font-weight: bold; background-color: #a00; color: #FFF;padding: 5px; text-align: center;"] {
    font-size: 1.2em !important;
    margin: 0.5em auto 1em;
  }
}
#main > .layoutBox.full > .layoutBox.right .columFull p[style="font-size: 1.6em; font-weight: bold; background-color: #a00; color: #FFF;padding: 5px; text-align: center;"] + ul.listBlue + img {
  margin: 0 auto;
  padding: 0;
  box-shadow: none;
}

#main > .layoutBox.full > .layoutBox.right .columFull p[style="font-size: 1.6em; font-weight: bold; background-color: #a00; color: #FFF;padding: 5px; text-align: center;"] + p + table.simple td {
  width: 50% !important;
  padding: 0 1.5rem;
  vertical-align: middle;
}

#main > .layoutBox.full > .layoutBox.right .columFull p[style="font-size: 1.6em; font-weight: bold; background-color: #a00; color: #FFF;padding: 5px; text-align: center;"] + p + table.simple td p {
  margin: 0 auto;
  font-size: 1.4rem;
  -moz-text-align-last: center;
  text-align-last: center;
}

#main > .layoutBox.full > .layoutBox.right .columFull p[style="font-size: 1.6em; font-weight: bold; background-color: #a00; color: #FFF;padding: 5px; text-align: center;"] + p + table.simple td img {
  width: 100%;
  max-width: none !important;
}

#main > .layoutBox.full > .layoutBox.right .columFull > p.chuki + section {
  margin-top: 6em !important;
}

#main > .layoutBox.full > .layoutBox.right .columFull table.simple td:has(ul.listBlue) ul.listBlue {
  margin: 0;
}

#main > .layoutBox.full > .layoutBox.right .columFull table.simple td:has(ul.listBlue) + td {
  width: 25%;
}

@media screen and (max-width: 599px) {
  #main > .layoutBox.full > .layoutBox.right .columFull table.simple td:has(ul.listBlue) + td {
    width: 35%;
  }
}
#main > .layoutBox.full > .layoutBox.right .columFull table.simple td:has(ul.listBlue) + td img {
  width: 100%;
}

@media screen and (max-width: 599px) {
  #main > .layoutBox.full > .layoutBox.right .columFull table.simple tr > td[width="257"] {
    width: 35% !important;
  }
  #main > .layoutBox.full > .layoutBox.right .columFull table.simple tr > td:first-child:has(img):not([width]) {
    width: 35%;
  }
  #main > .layoutBox.full > .layoutBox.right .columFull table.simple tr > td:first-child:has(img):not([width]) img {
    width: 100%;
    max-width: 100px;
  }
  #main > .layoutBox.full > .layoutBox.right .columFull table.simple tr > td[width]:not([width="290"]) {
    width: auto;
  }
}
#main > .layoutBox.full > .layoutBox.right .columFull.solutions a.contentsLink {
  display: flex;
  width: 100%;
  align-items: center;
  transition: background 0.25s linear;
}

#main > .layoutBox.full > .layoutBox.right .columFull.solutions a.contentsLink p {
  padding-right: 2.5%;
  color: inherit;
  font-weight: normal;
  line-height: 1.2;
}

#main > .layoutBox.full > .layoutBox.right .columFull.solution.titleInBox > div > * {
  margin-left: 210px;
}

#main > .layoutBox.full > .layoutBox.right .columFull.solution.titleInBox > div h2 {
  margin: 0.5em 0.5em 0.5em 200px;
  padding: 0.3em 0.5em 0.4em 0.8em;
  background: #a50000;
  text-shadow: none;
  line-height: 1;
}

#main > .layoutBox.full > .layoutBox.right .columFull.solution.titleInBox > div ul > li {
  background: none !important;
  position: relative;
}

#main > .layoutBox.full > .layoutBox.right .columFull.solution.titleInBox > div ul > li:before {
  display: block;
  border-top: 0.36em solid transparent;
  border-left: 0.6em solid #121212;
  border-bottom: 0.36em solid transparent;
  content: "";
  position: absolute;
  top: 0.3em;
  left: 0;
}

@media screen and (max-width: 599px) {
  #main > .layoutBox.full > .layoutBox.right .columFull.solution.titleInBox > div {
    min-height: 6.5em;
    background-size: 20%;
  }
  #main > .layoutBox.full > .layoutBox.right .columFull.solution.titleInBox > div > * {
    margin-left: 30%;
  }
  #main > .layoutBox.full > .layoutBox.right .columFull.solution.titleInBox > div h2 {
    margin-left: 27.5%;
  }
}
#main > .layoutBox.full > .layoutBox.right .columFull.notice {
  background: none;
}

#main > .layoutBox.full > .layoutBox.right .columFull.notice p {
  margin: 0;
  padding: 1.5em 2em;
  background: #FFECD5;
}

#main > .layoutBox.full > .layoutBox.right .columFull a.largeBtn.shakeButton {
  width: -moz-fit-content;
  width: fit-content;
  min-width: 11em;
  height: auto;
  margin: 0.5em auto;
  padding: 0.75em 1.5em 0.85em;
  background: linear-gradient(180deg, rgb(98, 180, 212), rgb(43, 104, 151));
  border: 3px solid #FFF;
  border-radius: 0.54em;
  box-shadow: 0 1px 3px rgba(43, 104, 151, 0.5);
  line-height: 1;
}

#main > .layoutBox.full > .layoutBox.right .columFull.accessMap > div {
  width: 100% !important;
}

@media screen and (max-width: 599px) {
  #main > .layoutBox.full > .layoutBox.right .columFull.access dl {
    margin: 0;
  }
}
#main > .layoutBox.full > .layoutBox.right .columFull div.philosophy img {
  background: none;
  box-shadow: none;
}

#main > .layoutBox.full > .layoutBox.right .columFull.login div {
  display: flex;
  flex-wrap: wrap;
  width: 95%;
  margin: 1.5em auto;
}

#main > .layoutBox.full > .layoutBox.right .columFull.login div h2 {
  width: 100%;
}

#main > .layoutBox.full > .layoutBox.right .columFull.login div > a {
  width: 31.5%;
  margin: 0.9%;
  padding-bottom: 1em;
  height: auto !important;
  color: #49545a;
  border-radius: 0.6em;
  text-align: center;
  line-height: 1.25;
}

@media all and (max-width: 800px) {
  #main > .layoutBox.full > .layoutBox.right .columFull.login div > a {
    width: 47%;
    margin: 1.5%;
  }
}
@media all and (max-width: 550px) {
  #main > .layoutBox.full > .layoutBox.right .columFull.login div > a {
    width: 97%;
    max-width: 270px;
    margin: 1.5% auto;
  }
}
#main > .layoutBox.full > .layoutBox.right .columFull.login div > a span {
  display: block;
  margin: 0 auto 0.5em;
  font-size: 1.1em;
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
}

@media screen and (max-width: 1199px) {
  #main.solutions .layoutBox.right h1.withImg {
    padding: 0.2em 0 0.3em;
  }
  #main.solutions .layoutBox.right h1.withImg img {
    width: 98%;
    margin: 0 auto;
  }
}
#main.solutions .columBox .colum3 > div {
  height: 100%;
}

#main.solutions .columFull:first-of-type {
  margin: 1.5em auto;
}

#main.solutions .columFull p + img {
  display: block;
  max-width: 95%;
  margin: 3em auto !important;
  /*図の丸枠線影消去20230929*/
  /*padding: 1.5%;
  background: #F4F4F4;
  border-radius: 3px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);*/
}

#main.solutions .columFull > div ul.listBlue + img {
  display: block;
  max-width: 95%;
  margin: 3em auto !important;
  padding: 1.5%;
  background: #F4F4F4;
  border-radius: 3px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}

#main.solutions .columFull > div ul.listBlue + img + table.simple td {
  width: 50%;
  margin: 0 auto 1.5em;
  padding: 0 1em;
}

#main.solutions .columFull table.smaller90 {
  margin-bottom: 1.5em;
}

#main.solutions .columFull table.smaller90 tr > th:first-of-type:not(:only-child) {
  width: auto;
}

#main.solutions .columFull p.chuki {
  margin: 0.5em auto;
}

@media screen and (max-width: 1199px) {
  #main.solutions .columFull + .columFull {
    margin-bottom: 1.5em;
  }
}
@media screen and (max-width: 599px) {
  #main.solutions .columFull .marginL_W {
    margin-left: 5% !important;
  }
}
#main.company .columFull h3[style="margin-left: 60px;"] {
  width: 95%;
  max-width: 550px;
  margin: 1.5em auto 0 !important;
}

#main.company p.topTitle {
  margin-bottom: 1em;
  font-size: 1.3em;
}

@media screen and (max-width: 599px) {
  #main.company p.topTitle {
    width: 90%;
    margin: 0 5% 0.5em;
  }
}
#main.company p.topText {
  font-size: 1.1em;
  margin: 0 1.5em 1.5em 0.9em;
  line-height: 1.75;
}

@media screen and (max-width: 599px) {
  #main.company p.topText {
    width: 90%;
    margin: 0 5% 1.5em;
  }
}
#main.company figure.topMessage {
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 0.5em;
}

@media screen and (max-width: 599px) {
  #main.company figure.topMessage {
    max-width: 50%;
  }
  #main.company figure.topMessage img {
    width: 80%;
    margin: 0 10% !important;
    height: auto;
  }
}
#main.recruit .columFull table.download {
  width: 95% !important;
  margin: 1.5em auto;
}

#main.recruit .columFull table.download td img {
  width: 95%;
}

#main.recruit .columFull table.download td p {
  margin: 0.5em;
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
}

#main.recruit .columFull table.simple {
  width: 95% !important;
}

#main.recruit .columFull map[name=recruit] area {
  cursor: pointer;
}

#main.sitemap .columFull.sitemap > ul > li > a {
  background-position: 0 0.35em;
}

#main.sitemap .columFull.sitemap ul ul li {
  background-position: 0 0.35em;
}

#main.sitemap .columFull.sitemap ul ul a {
  text-decoration: none;
}

#main.sitemap .columFull.sitemap ul.colums3 {
  display: flex;
  flex-wrap: wrap;
}

#main.sitemap .columFull.sitemap ul.colums3 li {
  width: 31.5%;
  margin: 0.9%;
  height: auto !important;
}

@media all and (max-width: 600px) {
  #main.sitemap .columFull.sitemap ul.colums3 li {
    width: 47%;
    margin: 1.5%;
  }
}
@media all and (max-width: 400px) {
  #main.sitemap .columFull.sitemap ul.colums3 li {
    width: 97%;
    margin: 1.5% auto;
  }
}
#main.contact .info, #main.contact .header_emesg {
  width: 90%;
  margin: 1.5em auto 3em !important;
}

#main.contact .smp_tmpl {
  width: 95% !important;
  max-width: 720px;
  margin: 0 auto !important;
}

#main.contact dl.cf {
  width: 100% !important;
}

#main.contact dl.cf dt {
  width: calc(25% - 15px);
}

#main.contact dl.cf dd {
  width: calc(75% - 1.5em);
  margin-left: 0;
  padding-left: 1.5em;
}

#main.contact dl.cf dd > * {
  max-width: 92.5%;
}

@media screen and (max-width: 599px) {
  #main.contact dl.cf > * {
    width: 100% !important;
    display: block;
    float: none;
  }
}
#main.contact table.spiralSeal {
  width: 97.5% !important;
}

@media screen and (max-width: 1199px) {
  #header nav.functions {
    display: none !important;
  }
  #footerBox {
    display: none;
  }
  .menu {
    display: none;
  }
}
a.dc_otherLink {
  display: flex;
  padding: 1em 1.5em 0.9em 2.5em;
  flex-direction: column;
  margin: 1.5em auto;
  width: 80%;
  max-width: 360px;
  color: inherit;
  background-image: url("../../img/icon-new-win_2.png");
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: calc(100% - 1em) center;
  border: 2px solid #EEE;
  border-radius: 2px;
  text-decoration: none;
  transition: all 0.3s ease;
  position: relative;
}
a.dc_otherLink:hover {
  background-color: #d9e1e5;
}
a.dc_otherLink span {
  display: block;
  margin-bottom: 0.25em;
  font-size: 2.5rem;
  font-weight: bold;
  position: relative;
}
a.dc_otherLink span:before {
  display: block;
  width: 0.8em;
  height: 0.8em;
  background: url("../../img/oshiraseShosai.png") no-repeat;
  background-size: cover;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -0.25em;
  left: -0.85em;
}
a.dc_otherLink small {
  color: #666;
  font-size: 1.25rem;
}

.menu > ul li:nth-of-type(3) > ul li:nth-of-type(4) > a:hover + ul, .menu > ul li:nth-of-type(3) > ul li:nth-of-type(4) ul:hover {
  top: 135px;
  opacity: 1;
}

#main.company figure.topMessage {
  width: 95%;
  max-width: 210px;
  margin: 0.5em 1.5em 1.5em;
}
@media screen and (max-width: 768px) {
  #main.company figure.topMessage {
    margin: 1.5em auto;
    float: none;
  }
}
#main.company figure.topMessage img {
  width: 100%;
  margin: 0 !important;
}

#main > .layoutBox.full > .layoutBox.right h1.factsAndFiguresHeader {
  width: 100%;
  padding: 0;
}
#main > .layoutBox.full > .layoutBox.right h1.factsAndFiguresHeader img {
  width: 100%;
  height: auto;
  max-width: none;
}
#main > .layoutBox.full > .layoutBox.right h1.factsAndFiguresHeader img.sp {
  display: none;
}
@media (max-width: 840px) {
  #main > .layoutBox.full > .layoutBox.right h1.factsAndFiguresHeader img {
    display: none;
  }
  #main > .layoutBox.full > .layoutBox.right h1.factsAndFiguresHeader img.sp {
    display: block;
  }
}

#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures {
  margin-top: 0;
}
@media (max-width: 840px) {
  #main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures > article {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
@media (max-width: 620px) {
  #main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures > article {
    width: 100%;
  }
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures h2 {
  color: #333;
  font-weight: 700;
  font-size: 2.6rem;
  margin: 3rem 0 1.25rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures h2::before {
  content: "";
  width: 0;
  height: 0;
  background: none;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.65em solid #CC8080;
  position: inherit;
  top: auto;
  left: auto;
  transform: translateY(1px);
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .cards {
  list-style: none;
  margin: 0 auto;
  padding: 3rem;
  background: #f4f4f4;
  border-radius: 1rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3rem;
}
@media (max-width: 900px) {
  #main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .cards {
    width: 95%;
  }
}
@media (max-width: 840px) {
  #main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .cards {
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
  }
}
@media (max-width: 620px) {
  #main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .cards {
    grid-template-columns: 1fr;
  }
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card {
  max-width: 270px;
  position: relative;
  background: #fff;
  border-radius: 0.75rem;
  padding: 1rem;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05), 0 0 0 1px #e9e9e9 inset;
  cursor: pointer;
  overflow: hidden;
  -webkit-user-select: none; /* Chrome / Safari */
  -moz-user-select: none; /* Firefox */ /* IE10+ */
  user-select: none; /* 標準 */
  transition: transform 0.08s ease, box-shadow 0.2s ease;
}
@media (max-width: 450px) {
  #main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card {
    width: 100%;
    max-width: 290px;
  }
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__cap {
  height: 1.25rem;
  background: #A50000;
  margin: -1rem -1rem 0;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__icon {
  display: grid;
  place-items: center;
  margin: 1.75rem 0.5rem 0;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__icon img {
  width: 100%;
  height: auto;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__value {
  margin: 1.25rem 0 1.5rem 0.5rem;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.25rem;
  color: #222;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__value .num {
  font-size: clamp(70px, 10vw, 78px);
  font-weight: 500;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, sans-serif !important;
  letter-spacing: -0.02em;
  line-height: 1;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__value .unit {
  margin-left: 0.1em;
  font-size: clamp(24px, 2vw, 27px);
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__label {
  margin: 0 0.5rem 0.15rem;
  color: #A50000;
  padding: 0.25em 0.5em 0.35em;
  border: 1px solid #A50000;
  border-radius: 0.25rem;
  font-size: 1em;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  line-height: 1;
  letter-spacing: 0.04em;
  background: #fff;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__click {
  margin: 0.5rem 1.5rem 0;
  padding-right: 0.25em;
  text-align: right;
  -moz-text-align-last: right;
       text-align-last: right;
  font-size: 1em;
  color: #222;
  position: relative;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__click::after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  background: none;
  border-top: 0.45em solid transparent;
  border-bottom: 0.45em solid transparent;
  border-left: 0.7em solid #CC8080;
  position: absolute;
  top: 0.3em;
  right: -0.8em;
  left: auto;
  transform: translateY(1px);
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__detail {
  display: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  padding: 1.25rem 1.5rem;
  background: #e7e6e6;
  text-align: center;
  pointer-events: none;
  line-height: 1.75;
}
@media (max-width: 450px) {
  #main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__detail {
    line-height: 1.5;
  }
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__detail h5 {
  margin: 0 0 0.5em;
  padding-bottom: 0.25em;
  color: #A50000;
  font-size: clamp(16px, 1.8vw, 16.5px);
  letter-spacing: 0.01em;
  line-height: 1.25;
  border-bottom: 1px solid #A50000;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__detail p {
  margin: 0 0.25em;
  color: inherit;
  font-size: clamp(15.5px, 1.8vw, 16px);
  text-align: justify;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__detail aside {
  margin: 1em 0.25em 0;
  font-size: clamp(13.5px, 1.8vw, 14px);
  line-height: 1.5;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__detail aside span {
  display: block;
  margin: 0 0 0.5em 1.25em;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__detail aside span::before {
  content: "※";
  margin-right: 0.25em;
  margin-left: -1.25em;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__detail aside span.indent {
  margin: 0 0 0.5em 2em;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__detail aside span.indent::before {
  margin-right: 0;
  margin-left: -1.75em;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card__detail small {
  margin: 0 0.15em;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card.open .card__cap {
  display: none;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card.open .card__detail {
  display: block;
  animation: dropdown 0.25s ease forwards;
}
#main > .layoutBox.full > .layoutBox.right section.columnFull.factsAndFigures .aboutCards .card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.05) inset;
}
@keyframes dropdown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}