@charset "utf-8";



/*******************************************************/
/********** Responsive Contents Setting (320) **********/
/*******************************************************/

@media screen and ( max-width: 320px ) {



/********************************/
/********** Main Image **********/
/********************************/

.mainimage-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  border-top: 10px solid #3D5592;
}
.mainimage-section .content {
  position: relative;
}
.mainimage-section h2 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  z-index: 200;
  margin: auto;
  padding: 10px;
  color: #FFFFFF;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.02rem;
  text-shadow: 0px 0px 5px rgba(0,0,0,0.7);
  width: 100%;
}
.mainimage-section .slideshow {
  position: relative;
  top: 0;
  left: 0;
  z-index: 100;
}
.mainimage-section .slide {
  position: relative;
  top: 0;
  left: 0;
  z-index: 10;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3.236 / 1;
}
.mainimage-section .slide img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: auto;
}



/**********************************/
/********** Full Banners **********/
/**********************************/

.full-banners {
  clear: both;
  margin: 20px auto auto auto;
  padding: 0 20px;
  text-align: center;
  position: relative;
  z-index: 2222;
}
.full-banners img {
  outline: 1px solid #273F80;
  outline-offset: 4px;
}



/******************************/
/********** About Us **********/
/******************************/

.aboutus-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  background-color: #FFFFFF;
}
.aboutus-section video {
  max-width: 100%;
}
.aboutus-section .paragraph {
  margin-top: 60px;
}
.aboutus-section h3 {
  font-size: 1.8rem;
  font-weight: 700;
}
.aboutus-section p {
  font-size: 1.8rem;
  font-weight: 700;
}



/********************************/
/********** What's New **********/
/********************************/

.whatsnew-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  background-color: #DADFE8;
}
.whatsnew-section h3 {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 140%;
  color: #273F80;
}



/*****************************/
/********** Listing **********/
/*****************************/

.listing {
  clear: both;
  position: relative;
  margin: auto;
  padding: 0;
  width: 100%;
}
.listing dl {
  margin: 10px 0;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background-color: #FFFFFF;
}
.listing dl dt {
  margin: 0;
  padding: 0;
  font-family: "Roboto", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  line-height: 160%;
  color: #000000;
  display: flex;
  align-items: center;
}
.listing dl dd {
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 160%;
  text-align: left;
}
.listing dl dt span.category {
  margin: 0 0 0 24px;
  padding: 0 2px;
  font-size: 1.2rem;
  font-weight: 400;
  color: #FFFFFF;
  width: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #999999;
  border-radius: 4px;
}
.listing dl dt span.category[data-category="news"] {
  background-color: #0087D7;
}
.listing dl dt span.category[data-category="press"] {
  background-color: #0A920A;
}
.listing dl dt span.category[data-category="award"] {
  background-color: #F10179;
}
.listing dl dt span.category[data-category="paper"] {
  background-color: #EF921F;
}
.listing .button {
  justify-content: center;
}
.listing .button a {
  background-color: #DADFE8;
}
.listing .button a:hover {
  color: #FFFFFF;
  background-color: #273F80;
}



}



/************************************************************/
/********** Responsive Contents Setting (320-480) ***********/
/************************************************************/

@media screen and ( min-width: 321px ) and ( max-width: 480px ) {



/********************************/
/********** Main Image **********/
/********************************/

.mainimage-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  border-top: 10px solid #3D5592;
}
.mainimage-section .content {
  position: relative;
}
.mainimage-section h2 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  z-index: 200;
  margin: auto;
  padding: 10px;
  color: #FFFFFF;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.02rem;
  text-shadow: 0px 0px 5px rgba(0,0,0,0.7);
  width: 100%;
}
.mainimage-section .slideshow {
  position: relative;
  top: 0;
  left: 0;
  z-index: 100;
}
.mainimage-section .slide {
  position: relative;
  top: 0;
  left: 0;
  z-index: 10;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3.236 / 1;
}
.mainimage-section .slide img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: auto;
}



/**********************************/
/********** Full Banners **********/
/**********************************/

.full-banners {
  clear: both;
  margin: 20px auto auto auto;
  padding: 0 20px;
  text-align: center;
  position: relative;
  z-index: 2222;
}
.full-banners img {
  outline: 1px solid #273F80;
  outline-offset: 4px;
}



/******************************/
/********** About Us **********/
/******************************/

.aboutus-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  background-color: #FFFFFF;
}
.aboutus-section video {
  max-width: 100%;
}
.aboutus-section .paragraph {
  margin-top: 60px;
}
.aboutus-section h3 {
  font-size: 2.0rem;
  font-weight: 700;
}
.aboutus-section p {
  font-size: 1.8rem;
  font-weight: 700;
}



/********************************/
/********** What's New **********/
/********************************/

.whatsnew-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  background-color: #DADFE8;
}
.whatsnew-section h3 {
  text-align: center;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 140%;
  color: #273F80;
}



/*****************************/
/********** Listing **********/
/*****************************/

.listing {
  clear: both;
  position: relative;
  margin: auto;
  padding: 0;
  width: 100%;
}
.listing dl {
  margin: 10px 0;
  padding: 12px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background-color: #FFFFFF;
}
.listing dl dt {
  margin: 0;
  padding: 0;
  font-family: "Roboto", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  line-height: 160%;
  color: #000000;
  display: flex;
  align-items: center;
}
.listing dl dd {
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 160%;
  text-align: left;
}
.listing dl dt span.category {
  margin: 0 0 0 24px;
  padding: 0 2px;
  font-size: 1.2rem;
  font-weight: 400;
  color: #FFFFFF;
  width: 110px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #999999;
  border-radius: 4px;
}
.listing dl dt span.category[data-category="news"] {
  background-color: #0087D7;
}
.listing dl dt span.category[data-category="press"] {
  background-color: #0A920A;
}
.listing dl dt span.category[data-category="award"] {
  background-color: #F10179;
}
.listing dl dt span.category[data-category="paper"] {
  background-color: #EF921F;
}
.listing .button {
  justify-content: center;
}
.listing .button a {
  background-color: #DADFE8;
}
.listing .button a:hover {
  color: #FFFFFF;
  background-color: #273F80;
}



}



/***********************************************************/
/********** Responsive Contents Setting (480-768) **********/
/***********************************************************/

@media screen and ( min-width: 481px ) and ( max-width: 768px ) {



/********************************/
/********** Main Image **********/
/********************************/

.mainimage-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  border-top: 10px solid #3D5592;
}
.mainimage-section .content {
  position: relative;
}
.mainimage-section h2 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  z-index: 200;
  margin: auto;
  padding: 20px;
  color: #FFFFFF;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.02rem;
  text-shadow: 0px 0px 5px rgba(0,0,0,0.7);
  width: 100%;
}
.mainimage-section .slideshow {
  position: relative;
  top: 0;
  left: 0;
  z-index: 100;
}
.mainimage-section .slide {
  position: relative;
  top: 0;
  left: 0;
  z-index: 10;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3.236 / 1;
}
.mainimage-section .slide img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: auto;
}



/**********************************/
/********** Full Banners **********/
/**********************************/

.full-banners {
  clear: both;
  margin: 30px auto auto auto;
  padding: 0 20px;
  text-align: center;
  position: relative;
  z-index: 2222;
}
.full-banners img {
  outline: 1px solid #273F80;
  outline-offset: 4px;
}



/******************************/
/********** About Us **********/
/******************************/

.aboutus-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  background-color: #FFFFFF;
}
.aboutus-section video {
  max-width: 100%;
}
.aboutus-section .paragraph {
  margin-top: 60px;
}
.aboutus-section h3 {
  font-size: 2.0rem;
  font-weight: 700;
}
.aboutus-section p {
  font-size: 1.8rem;
  font-weight: 700;
}



/********************************/
/********** What's New **********/
/********************************/

.whatsnew-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  background-color: #DADFE8;
}
.whatsnew-section h3 {
  text-align: center;
  font-size: 3.0rem;
  font-weight: 700;
  line-height: 140%;
  color: #273F80;
}



/*****************************/
/********** Listing **********/
/*****************************/

.listing {
  clear: both;
  position: relative;
  margin: auto;
  padding: 0;
  width: 100%;
}
.listing dl {
  margin: 10px 0;
  padding: 12px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background-color: #FFFFFF;
}
.listing dl dt {
  margin: 0;
  padding: 0;
  font-family: "Roboto", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  line-height: 160%;
  color: #000000;
  display: flex;
  align-items: center;
}
.listing dl dd {
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 160%;
  text-align: left;
}
.listing dl dt span.category {
  margin: 0 0 0 24px;
  padding: 0 2px;
  font-size: 1.2rem;
  font-weight: 400;
  color: #FFFFFF;
  width: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #999999;
  border-radius: 4px;
}
.listing dl dt span.category[data-category="news"] {
  background-color: #0087D7;
}
.listing dl dt span.category[data-category="press"] {
  background-color: #0A920A;
}
.listing dl dt span.category[data-category="award"] {
  background-color: #F10179;
}
.listing dl dt span.category[data-category="paper"] {
  background-color: #EF921F;
}
.listing .button {
  justify-content: center;
}
.listing .button a {
  background-color: #DADFE8;
}
.listing .button a:hover {
  color: #FFFFFF;
  background-color: #273F80;
}



}



/************************************************************/
/********** Responsive Contents Setting (768-1024) **********/
/************************************************************/

@media print, screen and ( min-width: 769px ) and ( max-width: 1024px ) {



/********************************/
/********** Main Image **********/
/********************************/

.mainimage-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  border-top: 10px solid #3D5592;
}
.mainimage-section .content {
  position: relative;
}
.mainimage-section h2 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  z-index: 200;
  margin: auto;
  padding: 20px;
  color: #FFFFFF;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.02rem;
  text-shadow: 0px 0px 5px rgba(0,0,0,0.7);
  width: 100%;
}
.mainimage-section .slideshow {
  position: relative;
  top: 0;
  left: 0;
  z-index: 100;
}
.mainimage-section .slide {
  position: relative;
  top: 0;
  left: 0;
  z-index: 10;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3.236 / 1;
}
.mainimage-section .slide img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: auto;
}



/**********************************/
/********** Full Banners **********/
/**********************************/

.full-banners {
  clear: both;
  margin: 40px auto auto auto;
  padding: 0 20px;
  text-align: center;
  position: relative;
  z-index: 2222;
}
.full-banners img {
  outline: 1px solid #273F80;
  outline-offset: 4px;
}



/******************************/
/********** About Us **********/
/******************************/

.aboutus-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  background-color: #FFFFFF;
}
.aboutus-section video {
  max-width: 100%;
}
.aboutus-section .paragraph {
  margin-top: 60px;
}
.aboutus-section h3 {
  font-size: 2.2rem;
  font-weight: 700;
}
.aboutus-section p {
  font-size: 1.8rem;
  font-weight: 700;
}



/********************************/
/********** What's New **********/
/********************************/

.whatsnew-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  background-color: #DADFE8;
}
.whatsnew-section h3 {
  text-align: center;
  font-size: 3.0rem;
  font-weight: 700;
  line-height: 140%;
  color: #273F80;
}



/*****************************/
/********** Listing **********/
/*****************************/

.listing {
  clear: both;
  position: relative;
  margin: auto;
  padding: 0;
  width: 100%;
}
.listing dl {
  margin: 10px 0;
  padding: 8px 24px;
  display: flex;
  gap: 20px;
  background-color: #FFFFFF;
}
.listing dl dt {
  margin: 0;
  padding: 0;
  font-family: "Roboto", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  line-height: 160%;
  color: #000000;
  display: flex;
  align-items: center;
}
.listing dl dd {
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 160%;
  text-align: left;
}
.listing dl dt span.category {
  margin: 0 0 0 24px;
  padding: 0 2px;
  font-size: 1.2rem;
  font-weight: 400;
  color: #FFFFFF;
  width: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #999999;
  border-radius: 4px;
}
.listing dl dt span.category[data-category="news"] {
  background-color: #0087D7;
}
.listing dl dt span.category[data-category="press"] {
  background-color: #0A920A;
}
.listing dl dt span.category[data-category="award"] {
  background-color: #F10179;
}
.listing dl dt span.category[data-category="paper"] {
  background-color: #EF921F;
}
.listing .button {
  justify-content: center;
}
.listing .button a {
  background-color: #DADFE8;
}
.listing .button a:hover {
  color: #FFFFFF;
  background-color: #273F80;
}



}




/********************************************************/
/********** Responsive Contents Setting (1024) **********/
/********************************************************/

@media screen and ( min-width: 1025px ) {



/********************************/
/********** Main Image **********/
/********************************/

.mainimage-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  border-top: 10px solid #3D5592;
}
.mainimage-section .content {
  position: relative;
}
.mainimage-section h2 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  z-index: 200;
  margin: auto;
  padding: 20px;
  color: #FFFFFF;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 140%;
  letter-spacing: 0.02rem;
  text-shadow: 0px 0px 5px rgba(0,0,0,0.7);
  width: 100%;
  max-width: 1120px;
}
.mainimage-section .slideshow {
  position: relative;
  top: 0;
  left: 0;
  z-index: 100;
}
.mainimage-section .slide {
  position: relative;
  top: 0;
  left: 0;
  z-index: 10;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 3.236 / 1;
  max-height: 580px;
}
.mainimage-section .slide img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: auto;
}



/**********************************/
/********** Full Banners **********/
/**********************************/

.full-banners {
  clear: both;
  margin: 60px auto auto auto;
  padding: 0;
  text-align: center;
  position: relative;
  z-index: 2222;
}
.full-banners img {
  outline: 1px solid #273F80;
  outline-offset: 4px;
}



/******************************/
/********** About Us **********/
/******************************/

.aboutus-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  background-color: #FFFFFF;
}
.aboutus-section .content {
  display: flex;
  gap: 40px;
}
.aboutus-section video {
}
.aboutus-section .paragraph {
}
.aboutus-section h3 {
  font-size: 2.2rem;
  font-weight: 700;
}
.aboutus-section p {
  font-size: 1.8rem;
  font-weight: 700;
}



/********************************/
/********** What's New **********/
/********************************/

.whatsnew-section {
  clear: both;
  margin: auto;
  padding: 0;
  width: 100%;
  position: relative;
  background-color: #DADFE8;
}
.whatsnew-section h3 {
  text-align: center;
  font-size: 3.0rem;
  font-weight: 700;
  line-height: 140%;
  color: #273F80;
}



/*****************************/
/********** Listing **********/
/*****************************/

.listing {
  clear: both;
  position: relative;
  margin: auto;
  padding: 0;
  width: 100%;
}
.listing dl {
  margin: 10px 0;
  padding: 8px 24px;
  display: flex;
  gap: 20px;
  background-color: #FFFFFF;
}
.listing dl dt {
  margin: 0;
  padding: 0;
  font-family: "Roboto", sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.1rem;
  line-height: 160%;
  color: #000000;
  display: flex;
  align-items: center;
}
.listing dl dd {
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 160%;
  text-align: left;
}
.listing dl dt span.category {
  margin: 0 0 0 24px;
  padding: 0 2px;
  font-size: 1.2rem;
  font-weight: 400;
  color: #FFFFFF;
  width: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #999999;
  border-radius: 4px;
}
.listing dl dt span.category[data-category="news"] {
  background-color: #0087D7;
}
.listing dl dt span.category[data-category="press"] {
  background-color: #0A920A;
}
.listing dl dt span.category[data-category="award"] {
  background-color: #F10179;
}
.listing dl dt span.category[data-category="paper"] {
  background-color: #EF921F;
}
.listing .button {
  justify-content: center;
}
.listing .button a {
  background-color: #DADFE8;
}
.listing .button a:hover {
  color: #FFFFFF;
  background-color: #273F80;
}



}