@charset "utf-8";

/*Default＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
html {/*font-size:1rem;*/}
body {
  font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3",Meiryo,メイリオ,sans-serif;
  font-size: 1rem;
  color: var(--higashi-black-color);
  background-color: #fff;
  line-height: 1.75;
}
.blue-color {
  color: var(--higashi-blue-color);
}
a {
  color: var(--higashi-blue-color);
}
a:hover {
  color: var(--higashi-black-color);
}
a:focus-visible {
  outline: 1px var(--higashi-blue-color) auto;
}
a[target="_blank"]::after {
  content: '';
  display: inline-block;
  width: 13px;
  height: 13px;
  margin: 0 0.3rem;
  background-position: center right;
  background-repeat: no-repeat;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAABHNCSVQICAgIfAhkiAAAAEBJREFUKFNjZIACJSWl/zA2IZoRWdO9e/fgfFwaQYbTURPIOpCzYDQh/4CdN4Q0EfIPTJ7oAEA2EKyJkA3okQ4AoZtEmQDvlFoAAAAASUVORK5CYII=);
  vertical-align: inherit;
}
a[href$=".pdf"]::after {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  margin: 0 0.3rem;
  background-position: center right;
  background-repeat: no-repeat;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%23ff0000" d="M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H8V4h12v12zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm12 6V9c0-.55-.45-1-1-1h-2v5h2c.55 0 1-.45 1-1zm-2-3h1v3h-1V9zm4 2h1v-1h-1V9h1V8h-2v5h1zm-8 0h1c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1H9v5h1v-2zm0-2h1v1h-1V9z" /></svg>');
  vertical-align: bottom;
}
/* Fade-in Animation */
.scr-target {
  opacity: 0;
  transform: translate(0, 30px);
}
.scr-target.is-active {
  opacity: 1;
  transform: translate(0, 0);
  transition: 1s;
}

/*Header＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  height: 70px;
  border-bottom:solid 5px;
  border-image-slice: 25%;
  border-image-source: radial-gradient(#ccc,#fff);
}
header #logo {
  width: calc(100% - 75px);
  max-width: 300px;
}
header #logo a {
  display: block;
}
header #logo img {
    width: 100%;
    height: 100%;
}

@media(min-width:992px) {
  header {
    height: 110px;
  }
  header #logo {
    width: 350px;
    max-width:none;
  }
}

/*Breadcrumb＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
nav[aria-label="breadcrumb"] {
  display :block;
  overflow-x: auto;
  white-space: nowrap;
}
.breadcrumb {
  display: block;
  margin: 1rem 0;
}
.breadcrumb li {
  display: inline;
  margin-right: 0.5rem;
}
.breadcrumb li:first-child {
  padding-left: 0;
}
.breadcrumb li:not(:first-child)::before {
  content:'>' !important;
  display: inline-block;
  padding-right: 0.5rem;
}
.breadcrumb li a {
  text-decoration: underline;
}
@media(min-width:992px){
  nav[aria-label="breadcrumb"] {
    overflow: inherit;
    white-space: inherit;
  }
}


/*Main Area＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
main .container {
  margin-bottom: 3rem;
}
main #h1-wrap .container {
  margin-bottom: unset;
}


/*Heading---------------------------------------*/
#h1-wrap {
  background-color: var(--higashi-blue-color);
  color: #fff;
  padding: 15px 0;
  margin-bottom: 75px;
}
#h1-wrap h1 {
  font-size: 3rem;
  font-weight: bold;
}
main h2,
main h3,
main h4,
main h5,
main h6 {
  font-weight: bold;
  margin-bottom: 0.75rem;
  line-height: inherit;
}
main h2 {
  font-size: 2.25rem;
}
main h3 {
  font-size: 1.75rem;
}
main h4 {
  font-size: 1.5rem;
}
main h5 {
  font-size: 1.25rem;
}
main h6 {
  font-size:1rem;
}

/*Inner Link---------------------------------------*/
main .linkInner {
  padding-left: 0;
  margin-bottom: 75px;
}
main .linkInner li {
  display: inline-block;
  border-left: #dadada solid 1px;
  padding: 0 1.5rem;
  margin: 0 0 1rem 0;
}
main .linkInner li a {
  display: block;
  text-decoration: underline;
}
main .linkInner a::before {
  font-family: 'Material Icons Outlined';
  content: '\e5db';
  display: inline-block;
  padding: 0 0.5rem 0 0;
  vertical-align: middle;
}

/*Paragraph---------------------------------------*/
main p {
  margin-bottom: 2rem;
}

/*Box---------------------------------------*/
main .box {
  padding: 30px;
  margin-bottom: 3rem;
  background-color: #f0f9ff;
  border-radius: 10px;
}

/*Figure---------------------------------------*/
main figure {
  margin:0 0 3rem 0;
}
main figure img {
  max-width: 100%;
  height: auto;
  margin-bottom: 0.75rem;
}
main figure figcaption {
  font-size: 0.9rem;
}

/*List---------------------------------------*/
main ul,
main ol,
main dl {
  margin-bottom: 2rem;
}
main ul li ul,
main ol li ul,
main ul li ol,
main ol li ol {
  margin: 0.75rem 0 0 0;
}
main ul li,
main ol li {
  margin-bottom: 0.75rem;
}
main dl dt,
main dl dd {
  margin-bottom: 1rem;
}

/*Link---------------------------------------*/
main ul:not(.linkInner) li a,
main ol li a {
  padding-left: 0;
  margin-left: -1.6rem;
  word-break: break-all;
}
main li.icon {
  list-style: none;
  text-indent: -6px;
}
main li.icon > a::before {
  content: '';
  display: inline-block;
  margin-right: 0.5rem;
  vertical-align: bottom;
  width: 24px;
  height: 24px;
  background-image: url(../icon/ico_arrow_blue.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

/*Button Link---------------------------------------*/
main .buttonLink {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 15px 30px;
  margin: 30px auto;
  background-color: var(--higashi-blue-color);
  color: #fff;
  text-decoration: none;
  border-radius: 9999px;
  transition: background-color .3s ease;
}
main .buttonLink::before {
  content: '';
  flex-basis: 24px;
  flex-shrink: 0;
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-right: 0.5rem;
  vertical-align: bottom;
  background-image: url(../icon/ico_arrow_white.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
main .buttonLink.white {
  background-color: #fff;
  color:var(--higashi-blue-color);
}
main .buttonLink.white::before {
  background-image: url(../icon/ico_arrow_blue.svg);
}
main .buttonLink:hover {
  background-color: var(--higashi-black-color);
  color: #fff;
}
main .buttonLink:hover::before {
  content: '';
  background-image: url(../icon/ico_arrow_gray.svg);
}

/*Table---------------------------------------*/
main table {
  display: block;
  table-layout: fixed;
  caption-side: top;
  overflow-x: scroll;
  white-space: normal;
  border:none !important;
  border-collapse: collapse;
  margin-bottom:3rem;
  width: 100%;
}
main table,
main table th,
main table td {
  border: var(--higashi-black-color) solid 1px;
  word-break: break-all;
}
main table th,
main table td {
  padding: 0.5rem;
  vertical-align: top;
  min-width: 250px;
}
main table th {
  color: var(--higashi-blue-color);
}
main table.no-vertical-line th,
main table.no-vertical-line td {
  border-left: none;
  border-right: none;
}
main table th img,
main table td img
{
  max-width: 100%;
  height: auto;
}
@media(min-width:576px) {
  main table {
    overflow-x: visible;
    display: table;
  }
  main table th,
  main table td {
    padding: 2rem 1.25rem;
    min-width: inherit;
  }
}

/*Card---------------------------------------*/
main .card {
  padding: 20px;
  margin-bottom: 3rem;
  box-shadow: 0px 5px 20px -10px #ccc;
}
main .card:hover img {
  opacity: 0.8;
}
main .card a {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-end;
  text-align: end;
}
main .card-title {
  font-size: 1.25rem;
  margin:0 0 2rem 0;
  color: var(--higashi-blue-color);
}
main .card-body {
  padding: 1rem 0 0 0;
}
main .card a::before {
  content: '';
  flex-basis: 24px;
  flex-shrink: 0;
  height: 24px;
  margin-left: 0.5rem;
  background-image: url(../icon/ico_arrow_blue.svg);
  background-repeat: no-repeat;
}
main .card.image-only a {
  display: block;
  text-indent: inherit;
}
main .card.image-only a::before {
  display: none;
}

/*YouTube iframe embed---------------------------------------*/
main .youtube {
  margin-bottom: 3rem;
}
main .youtube .code {
  aspect-ratio: 16 / 9;
}
main .youtube .code iframe {
  width: 100%;
  height: 100%;
}


/*PageTop＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#pageTop {
  display: none;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  width: 80px;
  height: 80px;
  background-color: var(--higashi-blue-color);
  border: #fff solid 10px;
  border-radius: 50%;
  text-align: center;
  z-index: 20;
  user-select: none;
  transition: background-color .3s ease;
}
#pageTop[data-name="pageTopActive"] {
  display: block;
  cursor: pointer;
}
#pageTop a {
  position: relative;
  top: 22px;
  margin: 0 auto;
  color: #fff;
  text-decoration: none;
}
#pageTop a::before {
  content: '';
  position: relative;
  display: block;
  width: 15px;
  height: 15px;
  margin: -5px auto;
  border-top: #fff solid 2px;
  border-right: #fff solid 2px;
  transform: rotate(315deg);
}
@media (hover: hover) {
#pageTop:hover {
  background-color: var(--higashi-black-color);
}
}
@media (hover: none) {
#pageTop:active {
  background-color: var(--higashi-black-color);
}
}
#pageTop:hover a {
  color: #fff;
}

/*Footer＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
footer {
  background-color: #f8f8f8;
  padding-top: 100px;
  margin-top: 100px;
}
.ft-corporate {
  margin-bottom: 30px;
}
.ft-corporate p {
  margin-bottom: 0;
}
.ft-link ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  list-style: none;
  margin-bottom: 30px;
}
.ft-link li {
  margin: 0.75rem;
}
.ft-link a {
  color: var(--higashi-black-color);
  text-decoration: none;
}
.ft-link a:hover {
  text-decoration: underline;
}
.ft-copyright {
  padding: 15px;
  background-color: var(--higashi-blue-color);
  color: #fff; 
  text-align: center; 
}
.ft-copyright p {
  margin: 0;
  max-width: calc(100% - 100px);
}
@media (min-width:992px) {
  .ft-copyright p {
    max-width: inherit;
  }
}

/*Cookie Banner＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
#cookie-bnr{
  display: none;
  position: fixed;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1em;
  border-top: #fff solid 1px;
  background-color: var(--higashi-blue-color);
  color: #fff;
  z-index: 99999;
}
#cookie-bnr .row {
  align-items: center;
}
#cookie-bnr a {
  color:#fff;
  text-decoration: underline;
}
#cookie-bnr p {
  margin: 0 0 1rem 0;
}
#cookie-bnr button {
  display: block;
  background-color: var(--higashi-blue-color);
  color: #fff;
  border: #fff solid 1px;
  border-radius: 9999px;
  padding: 1rem 2rem;
  margin: 0 auto;
  line-height: 1;
  white-space: nowrap;
  transition: background-color .3s ease;
}
#cookie-bnr button:hover {
  background-color: var(--higashi-black-color);
  color: #fff;
  text-decoration: none;
}
@media(min-width: 576px) {
  #cookie-bnr p {
    margin: 0 2rem 0 0;
  }
}


/*Print＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
@media print {
  .scr-target {
    opacity:1;
  }
}


/*Override Bootstrap CSS style＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
:root {
  --higashi-black-color: #2b2b2b;
  --bs-body-color: var(--higashi-black-color);
  --bs-secondary-color: var(--higashi-black-color);
  --bs-link-hover-color-rgb: var(--higashi-black-color);
  
  --higashi-blue-color: #006cb7;
  --bs-primary-rgb: var(--higashi-blue-color);
  --bs-link-color-rgb: var(--higashi-blue-color);
  
  scroll-behavior: auto !important; /* Smooth Scroll */
} 

/* background-color for web accessibility------------------------------*/
.bg-black {
  background-color: var(--higashi-black-color) !important;
  color:#fff;
}
/*border-color------------------------------*/
.border-black {
  border:var(--higashi-black-color) solid 1px !important;
}
