/* ======================================================
	TOP-PC
====================================================== */
@media print, screen and (min-width: 769px) {
  @keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  body.top .contents {
    padding: 30px 0 80px;
  }
  body.top .mainvisual.visible {
    animation-name: fadeIn;
    animation-duration: 0;
    animation-delay: 0;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
  }
  body.top .mainvisual {
    opacity: 0;
    padding: 0 20px;
  }
  body.top .mainvisual .inner {
    max-width: 1200px;
    margin: 0 auto;
  }
  body.top .mainvisual ul.bxslider li a {
    box-sizing: border-box;
    display: block;
    border: 1px solid rgba(1, 77, 173, 0);
  }
  body.top .mainvisual ul.bxslider li a:focus {
    border: 1px solid #014dad;
  }
  body.top .mainvisual ul.bxslider li a img {
    width: 100%;
  }
  body.top .mainvisual .bx-controls {
    position: relative;
    margin-top: 15px;
    padding: 0 150px;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto {
    display: flex;
    position: absolute;
    top: calc(50% - 16px);
    right: 0;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item {
    width: 32px;
    height: 32px;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    border: 1px solid #014dad;
    border-radius: 100%;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a span {
    opacity: 0;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-start::before {
    content: "";
    display: block;
    position: absolute;
    top: 10px;
    left: 13px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 8px;
    border-color: transparent transparent transparent #014dad;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-start.active {
    background: #014dad;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-start.active::before {
    border-color: transparent transparent transparent #fff;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop::before, body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop::after {
    content: "";
    display: block;
    position: absolute;
    top: 10px;
    width: 3px;
    height: 10px;
    background: #014dad;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop::before {
    left: 11px;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop::after {
    left: 16px;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop.active {
    background: #014dad;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop.active::before, body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop.active::after {
    background: #fff;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item + .bx-controls-auto-item {
    margin-left: 10px;
  }
  body.top .mainvisual .bx-controls .bx-pager {
    display: flex;
  }
  body.top .mainvisual .bx-controls .bx-pager .bx-pager-item {
    width: calc((100% - 24px) / 4);
  }
  body.top .mainvisual .bx-controls .bx-pager .bx-pager-item a.bx-pager-link {
    display: block;
    border: 2px solid #fff;
  }
  body.top .mainvisual .bx-controls .bx-pager .bx-pager-item a.bx-pager-link.active {
    border: 2px solid #014dad;
  }
  body.top .mainvisual .bx-controls .bx-pager .bx-pager-item + .bx-pager-item {
    margin-left: 8px;
  }
  body.top .section__about {
    margin-top: 30px;
    padding: 40px 20px;
    background: #edeff2;
  }
  body.top .section__about .inner {
    max-width: 1200px;
    margin: 0 auto;
  }
  body.top .section__about .about__column {
    display: flex;
  }
  body.top .section__about .about__column .cell {
    width: 23.7505%;
    background: #fff;
  }
  body.top .section__about .about__column .cell:not(:first-child) {
    margin-left: 1.666%;
  }
  body.top .section__about .about__column .cell a {
    display: flex;
    align-items: center;
    text-decoration: none;
    width: 100%;
    height: 100%;
  }
  body.top .section__about .about__column .cell figure.thumbnail {
    overflow: hidden;
    width: 42.11%;
  }
  body.top .section__about .about__column .cell .group {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 57.89%;
    height: 100%;
    padding: 10px 15px;
  }
  body.top .section__about .about__column .cell h3.about__title {
    position: relative;
    width: 100%;
    padding-right: 15px;
    font-size: 1.6em;
    font-weight: 700;
    color: #014dad;
  }
  body.top .section__about .about__column .cell h3.about__title::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 6px);
    right: 0;
    width: 13px;
    height: 13px;
    background: url("/files/000253146.svg") center center no-repeat;
  }
  body.top .section__about .about__column .cell + .cell {
    margin-left: 1.666%;
  }
  /* =================================================== */
}
@media print and (min-width: 769px) and (max-width: 1199px), screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1199px) {
  body.top .section__about .about__column {
    flex-wrap: wrap;
  }
  body.top .section__about .about__column .cell {
    width: 49.167%;
  }
  body.top .section__about .about__column .cell:not(:first-child) {
    margin-left: 0;
  }
  body.top .section__about .about__column .cell:nth-child(even) {
    margin-left: 1.666%;
  }
  body.top .section__about .about__column .cell:nth-child(n+3) {
    margin-top: 1.666%;
  }
  body.top .section__about .about__column .cell h3.about__title br {
    display: none;
  }
}
@media print, screen and (min-width: 769px) {
  body.top .section__news {
    margin-top: 40px;
    padding: 0 20px;
  }
  body.top .section__news .inner {
    max-width: 1200px;
    margin: 0 auto;
  }
  body.top .section__news .news__category .tab__menu {
    display: flex;
    justify-content: space-between;
    border-bottom: 3px solid #014dad;
  }
  body.top .section__news .news__category .tab__menu .tab {
    box-sizing: border-box;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - 24px) / 7);
    height: 51px;
    font-size: 1.5rem;
    font-weight: 400;
    color: #014dad;
    line-height: 1.2;
    background-color: #fff;
    border: 1px solid #014dad;
    border-bottom: none;
    border-radius: 6px 6px 0 0;
    transition: background-color 0.15s ease;
    cursor: pointer;
  }
  body.top .section__news .news__category .tab__menu .tab::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 3px;
    left: calc(50% - 4px);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 4px 0 4px;
    border-color: #ffffff transparent transparent transparent;
  }
  body.top .section__news .news__category .tab__menu .tab:hover {
    font-weight: 700;
    color: #fff;
    background-color: #014dad;
  }
  body.top .section__news .news__category .tab__menu .tab.active {
    font-weight: 700;
    color: #fff;
    background-color: #014dad;
  }
  body.top .section__news .news__category .select {
    display: none;
  }
  body.top .section__news .news__category .tab__contents {
    display: none;
  }
  body.top .section__news .news__category .tab__contents.active {
    display: block;
  }
  body.top .section__news .news__category ul.list__news {
    border-top: none;
  }
  body.top .section__business {
    margin-top: 50px;
    padding: 50px 20px;
    background: #edeff2;
  }
  body.top .section__business .inner {
    max-width: 1200px;
    margin: 0 auto;
  }
  body.top .section__business .business__column {
    display: flex;
    flex-wrap: wrap;
  }
  body.top .section__business .business__column .cell {
    width: 31.6666666667%;
    margin-right: 2.5%;
  }
  body.top .section__business .business__column .cell:nth-child(3n) {
    margin-right: 0;
  }
  body.top .section__business .business__column .cell:nth-child(n+4) {
    margin-top: 2.5%;
  }
  body.top .section__business .business__column .business__block {
    height: 100%;
    min-height: 180px;
  }
  body.top .section__business .business__column .business__block .nolink,
  body.top .section__business .business__column .business__block a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    text-decoration: none;
    width: 100%;
    height: 100%;
    padding: 5.263%;
  }
  body.top .section__business .business__column .business__block .nolink {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  body.top .section__business .business__column .business__block .nolink h3.business__title {
    font-size: 2.6em;
    font-weight: 700;
    color: #014dad;
  }
  body.top .section__business .business__column .business__block a {
    background: #fff;
  }
  body.top .section__business .business__column .business__block a h3.business__title {
    position: relative;
    padding-right: 23px;
    font-size: 1.8em;
    font-weight: 700;
    color: #014dad;
  }
  body.top .section__business .business__column .business__block a h3.business__title::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 6px);
    right: 0;
    width: 13px;
    height: 13px;
    background: url("/files/000253146.svg") center center no-repeat;
  }
  body.top .section__business .business__column .business__block .thumbnail {
    width: 35.294%;
  }
  body.top .section__business .business__column .business__block .thumbnail img {
    width: 100%;
  }
  body.top .section__business .business__column .business__block .group {
    box-sizing: border-box;
    width: 64.706%;
    padding-left: 6%;
  }
  body.top .section__business .business__column .business__block .group.full {
    width: 100%;
    padding-left: 2%;
  }
  body.top .section__business .business__column .business__block p {
    margin-top: 0.5em;
    font-size: 1.4em;
    color: #000;
    line-height: 1.7;
  }
  body.top .area__banner01 {
    margin-top: 50px;
    padding: 0 20px;
  }
  body.top .area__banner01 ul.list__banner {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
  }
  body.top .area__banner01 ul.list__banner li {
    width: 24.18775%;
    margin-right: 1.083%;
  }
  body.top .area__banner01 ul.list__banner li:nth-child(4n) {
    margin-right: 0;
  }
  body.top .area__banner01 ul.list__banner li:nth-child(n+5) {
    margin-top: 1.083%;
  }
  body.top .area__banner02 {
    margin-top: 30px;
    padding: 0 20px;
  }
  body.top .area__banner02 ul.list__banner {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 44px;
    background: #edeff2;
  }
  body.top .area__banner02 ul.list__banner li {
    width: 32.734%;
    margin-right: 0.899%;
  }
  body.top .area__banner02 ul.list__banner li:nth-child(3n) {
    margin-right: 0;
  }
  body.top .area__banner02 ul.list__banner li:nth-child(n+4) {
    margin-top: 0.899%;
  }
  body.top .section__news .news__category .tab__menu .tab {
    font-size: 1.5em;
    height: auto;
    min-height: 51px;
    padding: 10px;
  }
}
/* ======================================================
	TOP-SP
====================================================== */
@media screen and (max-width: 768px) {
  @keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  body.top .contents {
    padding: 0 0 13.33vw;
  }
  body.top .mainvisual.visible {
    animation-name: fadeIn;
    animation-duration: 0;
    animation-delay: 0;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
  }
  body.top .mainvisual {
    opacity: 0;
  }
  body.top .mainvisual .bx-controls {
    margin-top: 2.66vw;
  }
  body.top .mainvisual .bx-controls .bx-pager {
    display: flex;
    padding: 0 6.4vw;
  }
  body.top .mainvisual .bx-controls .bx-pager .bx-pager-item {
    width: calc((100% - 3.6vw) / 4);
  }
  body.top .mainvisual .bx-controls .bx-pager .bx-pager-item a.bx-pager-link {
    display: block;
    border: 2px solid #fff;
  }
  body.top .mainvisual .bx-controls .bx-pager .bx-pager-item a.bx-pager-link.active {
    border: 1px solid #014dad;
  }
  body.top .mainvisual .bx-controls .bx-pager .bx-pager-item + .bx-pager-item {
    margin-left: 1.2vw;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto {
    display: flex;
    justify-content: center;
    margin-top: 4vw;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item {
    width: 8.53vw;
    height: 8.53vw;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    border: 1px solid #014dad;
    border-radius: 100%;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a span {
    opacity: 0;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-start::before {
    content: "";
    display: block;
    position: absolute;
    top: 2.8vw;
    left: 3.4vw;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 1.33vw 0 1.33vw 2.4vw;
    border-color: transparent transparent transparent #014dad;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-start.active {
    background: #014dad;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-start.active::before {
    border-color: transparent transparent transparent #fff;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop::before, body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop::after {
    content: "";
    display: block;
    position: absolute;
    top: 2.6vw;
    width: 0.8vw;
    height: 2.66vw;
    background: #014dad;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop::before {
    left: 2.8vw;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop::after {
    left: 4.2vw;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop.active {
    background: #014dad;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop.active::before, body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item a.bx-stop.active::after {
    background: #fff;
  }
  body.top .mainvisual .bx-controls .bx-controls-auto .bx-controls-auto-item + .bx-controls-auto-item {
    margin-left: 2.66vw;
  }
  body.top .section__about {
    margin-top: 5.33vw;
    padding: 10.66vw 4.26vw;
    background: #edeff2;
  }
  body.top .section__about .about__column {
    display: flex;
    flex-wrap: wrap;
    margin-top: 4vw;
  }
  body.top .section__about .about__column .cell {
    width: calc((100% - 4vw) / 2);
    background: #fff;
  }
  body.top .section__about .about__column .cell:nth-child(even) {
    margin-left: 3.99vw;
  }
  body.top .section__about .about__column .cell:nth-child(n+3) {
    margin-top: 4vw;
  }
  body.top .section__about .about__column .cell a {
    display: block;
    text-decoration: none;
    width: 100%;
    height: 100%;
  }
  body.top .section__about .about__column .cell .group {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    height: 18.4vw;
    padding: 4vw;
  }
  body.top .section__about .about__column .cell h3.about__title {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    padding-right: 4vw;
    font-size: 4.2vw;
    font-weight: 700;
    color: #014dad;
  }
  body.top .section__about .about__column .cell h3.about__title::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1.8vw);
    right: 0;
    width: 3.6vw;
    height: 3.6vw;
    background: url("/files/000253146.svg") center center no-repeat;
  }
  body.top .section__news {
    margin-top: 10.66vw;
    padding: 0 4.26vw;
  }
  body.top .section__news .news__category .tab__menu {
    display: none;
  }
  body.top .section__news .news__category .select {
    position: relative;
    width: 66.66vw;
    height: 12vw;
    margin: 0 auto;
  }
  body.top .section__news .news__category .select::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1vw);
    right: 2.8vw;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2vw 1.86vw 0 1.86vw;
    border-color: #014ead transparent transparent transparent;
  }
  body.top .section__news .news__category .select label {
    display: none;
  }
  body.top .section__news .news__category .select select {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 100%;
    padding: 2.8vw;
    font-size: 4.26vw;
    color: #000;
    border: 1px solid #014dad;
    border-radius: 1.06vw;
    outline: none;
  }
  body.top .section__news .news__category .tab__contents {
    display: none;
  }
  body.top .section__news .news__category .tab__contents.active {
    display: block;
  }
  body.top .section__news .news__category ul.list__news {
    border-top: none;
  }
  body.top .section__business {
    margin-top: 10.66vw;
    padding: 10.66vw 4.26vw;
    background: #edeff2;
  }
  body.top .section__business .business__column .cell + .cell {
    margin-top: 4vw;
  }
  body.top .section__business .business__column .business__block .nolink,
  body.top .section__business .business__column .business__block a {
    box-sizing: border-box;
    display: flex;
    text-decoration: none;
    width: 100%;
    height: 100%;
    padding: 4vw;
  }
  body.top .section__business .business__column .business__block .nolink {
    align-items: center;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
  body.top .section__business .business__column .business__block .nolink h3.business__title {
    font-size: 5.86vw;
    font-weight: 700;
    color: #014dad;
  }
  body.top .section__business .business__column .business__block a {
    background: #fff;
  }
  body.top .section__business .business__column .business__block a h3.business__title {
    box-sizing: border-box;
    position: relative;
    padding-right: 4vw;
    font-size: 4.2vw;
    font-weight: 700;
    color: #014dad;
  }
  body.top .section__business .business__column .business__block a h3.business__title::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1.8vw);
    right: 0;
    width: 3.6vw;
    height: 3.6vw;
    background: url("/files/000253146.svg") center center no-repeat;
  }
  body.top .section__business .business__column .business__block .thumbnail {
    width: 24vw;
  }
  body.top .section__business .business__column .business__block .group {
    box-sizing: border-box;
    width: calc(100% - 24vw);
    padding-left: 4vw;
  }
  body.top .section__business .business__column .business__block .group.full {
    width: 100%;
    padding-left: 2vw;
  }
  body.top .section__business .business__column .business__block p {
    margin-top: 0.5em;
    font-size: 3.73vw;
    color: #000;
    line-height: 1.7;
  }
  body.top .area__banner01 {
    margin-top: 10.66vw;
    padding: 0 4.26vw;
  }
  body.top .area__banner01 ul.list__banner {
    display: flex;
    flex-wrap: wrap;
  }
  body.top .area__banner01 ul.list__banner li {
    /*width: calc((100% - 4vw) / 2);*/
    width: 70%;
    margin: 0 auto;
  }
  /*body.top .area__banner01 ul.list__banner li:nth-child(even) {
    margin-left: 3.99vw;
  }*/
  /*body.top .area__banner01 ul.list__banner li:nth-child(n+3) {*/
  body.top .area__banner01 ul.list__banner li {
    margin-top: 4vw;
  }
  body.top .area__banner02 {
    margin-top: 5.33vw;
    padding: 0 4.26vw;
  }
  body.top .area__banner02 ul.list__banner {
    padding: 5.33vw 12.4vw;
    background: #edeff2;
  }
  body.top .area__banner02 ul.list__banner li + li {
    margin-top: 4vw;
  }
  /* =================================================== */
}
/* ======================================================
	PC（追加）
====================================================== */
@media print, screen and (min-width: 769px) {
  #emergencyArea {
    margin-bottom:20px;
  }

  #emergencyArea #emergencyAreaInner {
    width:1200px;
    margin:0px auto;
    position:relative;
  }

  #emergency_info {
    font-size: 1.6em;
    border: 2px solid #f00;
    padding: 10px 20px;
    background: #fff;
    text-align: left;
    z-index: 99999;
  }
  body.top .section__about .about__column .cell .group {
    flex-direction: column;
    justify-content: center;
  }
  .about__text {
    font-size: 1.6em;
    margin-top: 10px;
    position: relative;
    padding-right: 15px;
    width: 100%;
  }
  body.top .mainvisual ul.bxslider li span {
    box-sizing: border-box;
    display: block;
    border: 1px solid rgba(1, 77, 173, 0);
  }
  body.top .mainvisual ul.bxslider li span img {
    width: 100%;
  }
}
/* ======================================================
	SP（追加）
====================================================== */
@media screen and (max-width: 768px) {
  #emergencyArea {
    margin:20px 0;
  }

  #emergencyArea #emergencyAreaInner {
    width: 100%;
    margin: 0px auto;
    position:relative;
  }

  #emergency_info {
    font-size: 1.6em;
    border: 2px solid #f00;
    padding: 10px 20px;
    background: #fff;
    text-align: left;
    z-index: 99999;
  }
  body.top .section__about .about__column .cell .group {
    height: auto;
    flex-direction: column;
    justify-content: center;
  }
  .about__text {
    font-size: 1.6em;
    margin-top: 10px;
    position: relative;
    padding-right: 15px;
    width: 100%;
  }
}