/* CSS Document */
@font-face {
  src: url("../fonts/NotoSansJP-Black.woff2") format("woff2");
  font-family: "Noto Sans JP";
  font-weight: 700;
  font-display: swap;
}
@font-face {
  src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2");
  font-family: "Noto Sans JP";
  font-weight: 500;
  font-display: swap;
}
@font-face {
  src: url("../fonts/NotoSansJP-Regular.woff2") format("woff2");
  font-family: "Noto Sans JP";
  font-weight: 400;
  font-display: swap;
}
@font-face {
  src: url("../fonts/Anton-Regular.woff2") format("woff2");
  font-family: "Anton";
  font-weight: 400;
  font-display: swap;
}
@keyframes sup_loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes sup_loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
@keyframes skewanime {
  100% {
    left: -10%;
  }
}
@keyframes headeranimation {
  0% {
    margin-top: -4em;
  }
  100% {
    margin-top: 0;
  }
}
@media (min-width: 751px) {
  main.sitemap .sitemapwrap > .disc {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    display: -webkit-flex;
    /* no prefix*/
    display: flex;
  }
  main.sitemap .sitemapwrap > .disc > ul {
    width: 33.3333333333%;
  }
}
@media (max-width: 750px) {
  main.business .column_2_sp ul {
    display: block;
  }
}
main.business .column_2_sp li:not(:first-of-type) {
  margin-top: 1em;
}
main.business .mt5em {
  margin-top: 5em;
}
@media (max-width: 750px) {
  main.business .mt5em {
    margin-top: 2em;
  }
}
main.history .history-list .list-item {
  position: relative;
}
@media (min-width: 751px) {
  main.history .history-list .list-item {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    display: -webkit-flex;
    -webkit-justify-content: center;
    -webkit-align-items: center;
    /* no prefix*/
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 6.25em;
  }
}
@media (max-width: 750px) {
  main.history .history-list .list-item {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    display: -webkit-flex;
    /* no prefix*/
    display: flex;
    padding-bottom: 3.21em;
    padding-left: 2em;
    margin-left: 0.5em;
  }
}
main.history .history-list .list-item::before {
  content: "";
  position: absolute;
  background: #cecece;
  height: 100%;
  width: 2px;
}
@media (min-width: 751px) {
  main.history .history-list .list-item::before {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 750px) {
  main.history .history-list .list-item::before {
    width: 3px;
    top: 1em;
    left: 0;
  }
}
main.history .history-list .list-item::after {
  content: "";
  position: absolute;
  background: #cecece;
  width: 1em;
  height: 1em;
  border-radius: 50%;
}
@media (min-width: 751px) {
  main.history .history-list .list-item::after {
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 750px) {
  main.history .history-list .list-item::after {
    top: 0.4em;
    left: -0.5em;
    width: 1.25em;
    height: 1.25em;
  }
}
@media (max-width: 750px) {
  main.history .history-list .list-item.img {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    display: -webkit-flex;
    -webkit-flex-direction: column-reverse;
    /* no prefix*/
    display: flex;
    flex-direction: column-reverse;
  }
}
@media (max-width: 750px) {
  main.history .history-list .list-item.img .item-left {
    width: 76vw;
    margin-right: auto;
    margin-left: auto;
  }
}
@media (max-width: 750px) {
  main.history .history-list .list-item.img .item-right {
    padding-bottom: 3.21em;
    padding-left: 0;
  }
}
@media (max-width: 750px) {
  main.history .history-list .list-item.img .item-right .text {
    padding-left: 1.43em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .list-item:first-of-type {
    padding-top: 4.375em;
  }
}
main.history .history-list .list-item:last-of-type {
  padding-bottom: 14.375em;
}
@media (max-width: 750px) {
  main.history .history-list .list-item:last-of-type {
    padding-bottom: 0;
  }
}
main.history .history-list .list-item:last-of-type::after {
  background: transparent;
  border-radius: 0;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 1.4375em 0.8125em 0 0.8125em;
  border-color: #cecece transparent transparent transparent;
}
@media (min-width: 751px) {
  main.history .history-list .list-item:last-of-type::after {
    transform: translateX(-50%);
  }
}
@media (max-width: 750px) {
  main.history .history-list .list-item:last-of-type::after {
    left: -0.65em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .list-item.year1938 {
    padding-top: 5em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .list-item.year1940 {
    padding-top: 7.5em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .list-item.year1955 {
    padding-top: 10em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .list-item.year1956 {
    padding-top: 7.5em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .list-item.year1975 {
    padding-top: 5.625em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .list-item.year1998 {
    padding-top: 11.25em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .list-item.year2015 {
    padding-top: 10em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .list-item.year2016 {
    padding-top: 4.375em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .list-item.year2021 {
    padding-top: 3.75em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .item-left {
    flex: 1;
    padding-right: 3.4375em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .item-left .year {
    text-align: right;
  }
}
@media (max-width: 750px) {
  main.history .history-list .item-left.fadeInLeft {
    animation: fadeInRight;
    animation-duration: 1s;
  }
}
main.history .history-list .item-right {
  flex: 1;
  padding-left: 3.4375em;
}
@media (min-width: 751px) {
  main.history .history-list .item-right {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    display: -webkit-flex;
    -webkit-align-items: center;
    /* no prefix*/
    display: flex;
    align-items: center;
  }
}
@media (max-width: 750px) {
  main.history .history-list .item-right {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    display: -webkit-flex;
    /* no prefix*/
    display: flex;
    padding-left: 1.43em;
  }
}
@media (min-width: 751px) {
  main.history .history-list .item-right .year {
    padding-right: 4em;
  }
}
main.history .history-list .item-right .text {
  flex: 1;
}
main.history .history-list .year {
  font-weight: bold;
}
@media (min-width: 751px) {
  main.history .history-list .year {
    font-size: 1.25em;
  }
}
main.history .history-list .text {
  font-size: 0.875em;
}
@media (max-width: 750px) {
  main.history .history-list .text {
    font-size: 0.86em;
  }
}
main.history .linkbox {
  margin-top: 9.375em;
}
@media (min-width: 751px) {
  main.history .linkbox {
    width: 28.4375em;
  }
}
@media (max-width: 750px) {
  main.history .linkbox {
    margin-top: 3.57em;
  }
}
main.vision .h3default {
  font-size: 1.375em;
  padding-left: 0;
}
main.vision .h3default::before {
  content: none;
}
@media (max-width: 750px) {
  main.vision .h3default {
    font-size: 1.25em;
  }
}
main.vision .value-list {
  margin-top: 6.25em;
}
@media (min-width: 751px) {
  main.vision .value-list {
    padding: 0 6.25em;
  }
}
@media (max-width: 750px) {
  main.vision .value-list {
    margin-top: 3.92em;
  }
}
main.vision .value-list ol {
  counter-reset: number 0;
}
main.vision .value-list li {
  position: relative;
  font-size: 1.375em;
  font-weight: bold;
  padding-top: 2.7em;
  padding-left: 4em;
}
@media (max-width: 750px) {
  main.vision .value-list li {
    font-size: 1.25em;
    padding-top: 0.5em;
    padding-left: 5em;
    height: 5em;
  }
}
@media (min-width: 751px) {
  main.vision .value-list li:not(:first-of-type) {
    margin-top: 2em;
  }
}
main.vision .value-list li::before {
  font-size: 2.7em;
  color: #eaeaea;
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero);
  counter-increment: number 1;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1;
}
@media (max-width: 750px) {
  main.vision .value-list li::before {
    font-size: 2.3em;
  }
}
main.vision .value-list li::after {
  content: "";
  position: absolute;
  transform: rotate(-45deg);
  width: 4em;
  height: 1px;
  background: #eaeaea;
  top: 1.8em;
  left: 1.8em;
}
@media (max-width: 750px) {
  main.vision .value-list li::after {
    width: 4.5em;
    top: 2em;
    left: 0.5em;
  }
}
@media (min-width: 751px) {
  main.vision .column_3 > ul {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    /* no prefix*/
    display: flex;
    flex-wrap: wrap;
    margin-left: -3.125em;
  }
  main.vision .column_3 > ul > li {
    width: calc(33.333% - 3.125em);
    margin-left: 3.125em;
  }
  main.vision .column_3 > ul > li:nth-child(n+4) {
    margin-top: 3.125em;
  }
}
main.vision .column_3 .kakomi {
  padding: 1.5em;
}
@media (max-width: 750px) {
  main.vision .column_3 .kakomi {
    padding: 1.5em 1.5em 2.85em;
  }
}
main.vision .column_3 .kakomi p:first-of-type {
  height: 5em;
}
@media (max-width: 750px) {
  main.vision .column_3 .kakomi p:first-of-type {
    height: 3em;
  }
}
main.news .contentwrap {
  padding-bottom: 8.75em;
}
@media (max-width: 750px) {
  main.news .contentwrap {
    padding-bottom: 6em;
  }
}
main.news .mainvisual .h1default {
  font-size: 2.8125em;
}
@media (max-width: 750px) {
  main.news .mainvisual .h1default {
    font-size: 1.79em;
  }
}
main.contact .tel-box, main.contact .fax-box, main.contact .mail-box {
  display: -ms-flexbox;
  /* prefix -> -webkit-*/
  display: -webkit-flex;
  -webkit-justify-content: space-between;
  -webkit-align-items: center;
  /* no prefix*/
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #eaeaea;
  padding: 1.5em 1em 1.5em 3em;
}
@media (max-width: 750px) {
  main.contact .tel-box, main.contact .fax-box, main.contact .mail-box {
    padding: 1.96em 1.43em;
  }
}
@media (min-width: 751px) {
  main.contact .mail-box .info-box {
    margin-left: 3.4375em;
  }
}
@media (max-width: 750px) {
  main.contact .mail-box .info {
    display: inline-flex;
  }
}
main.contact .icon {
  flex: 0 7.5%;
}
@media (max-width: 750px) {
  main.contact .icon {
    flex: 0 11.33vw;
  }
}
main.contact .info-box {
  flex: 1;
}
@media (min-width: 751px) {
  main.contact .info-box {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    display: -webkit-flex;
    -webkit-justify-content: space-between;
    -webkit-align-items: center;
    /* no prefix*/
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-left: 4.375em;
  }
}
@media (max-width: 750px) {
  main.contact .info-box {
    margin-left: 1.5em;
  }
}
main.contact .info {
  font-size: 1.5em;
  font-weight: bold;
}
@media (max-width: 750px) {
  main.contact .info {
    font-size: 1.4em;
  }
}
main.contact .info a {
  color: black;
}
@media (max-width: 750px) {
  main.contact .info a {
    word-break: break-all;
  }
}
main.contact .info span {
  font-size: 1.33em;
}
@media (min-width: 751px) {
  main.contact .caption {
    flex: 0 38%;
  }
}
@media (max-width: 750px) {
  main.contact .caption {
    font-size: 0.89em;
    margin-top: 1em;
  }
}
main.contact .line-box {
  margin-top: 3.75em;
}
@media (min-width: 751px) {
  main.contact .line-box {
    display: -ms-flexbox;
    /* prefix -> -webkit-*/
    display: -webkit-flex;
    -webkit-align-items: center;
    /* no prefix*/
    display: flex;
    align-items: center;
    margin-top: 4.28em;
  }
}
@media (max-width: 750px) {
  main.contact .line-box {
    width: 66.66vw;
    margin-right: auto;
    margin-left: auto;
  }
}
main.contact .line-box-left {
  display: -ms-flexbox;
  /* prefix -> -webkit-*/
  display: -webkit-flex;
  -webkit-align-items: center;
  /* no prefix*/
  display: flex;
  align-items: center;
}
main.contact .line-box-left .imgbox {
  width: 7.5em;
}
@media (max-width: 750px) {
  main.contact .line-box-left .imgbox {
    width: 30.66vw;
  }
}
main.contact .line-box-left .imgbox:not(:first-of-type) {
  margin-left: 2em;
}
@media (max-width: 750px) {
  main.contact .line-box-left .imgbox:not(:first-of-type) {
    margin-left: 12vw;
  }
}
@media (min-width: 751px) {
  main.contact .line-box-right {
    margin-left: 2em;
  }
}
@media (max-width: 750px) {
  main.contact .line-box-right {
    margin-top: 2em;
  }
}
@media (min-width: 751px) {
  main.contact .line-box-right .linkbox {
    margin-left: 0;
    margin-right: none;
  }
}
main.profile .tablelist {
  max-width: 46.8em;
  margin: 0 auto;
}
@media (max-width: 750px) {
  main.profile .tablelist.block th, main.profile .tablelist.block td {
    height: 100%;
    width: 100%;
    text-align: left;
  }
}
main.profile .table {
  border-top: 1px solid #808080;
  border-right: 1px solid #808080;
}
main.profile th, main.profile td {
  padding: 2em;
  vertical-align: middle;
  line-height: 2;
  border-bottom: 1px solid #808080;
  border-left: 1px solid #808080;
}
@media (max-width: 750px) {
  main.profile th, main.profile td {
    padding: 1em;
  }
}
main.profile tbody th {
  width: 35%;
  color: white;
  background-color: black;
}
main.profile tbody td {
  width: 65%;
  font-weight: bold;
}
main.profile .wp-caption-text {
  font-size: 0.8em;
  color: black;
  text-align: left;
}
main.profile .square > ul > li {
  list-style-type: square;
}
main.profile iframe {
  width: 100%;
  aspect-ratio: 16/9;
}
@media (min-width: 751px) {
  main.profile .imgflex .textbox {
    padding-left: 5em;
  }
}
@media (min-width: 751px) {
  main.profile .linkbox, main.profile input[type=submit], main.profile input[type=button] {
    width: 25em;
  }
}